先日参加したセミナーのアンケートに回答したところ、「Intel RealSense ID F455」を頂戴しました。素直にWindowsを開発環境に使うのが正解なのでしょうか、仕事柄Linuxで使えないかと試行錯誤したため、その際の内容をしたためておきます。
*1ヶ月経ってからメモを元に記事化しており、追検証もできていないので、正確でないことをご了承ください。
RealSense IDについて
「Intel RealSense ID F455」は、深度センサーとニューラルネットワークを使った顔認証デバイスです。これ単体で、顔認証システムができてしまうというもの。ちなみにUSB Webカメラとしても使えます。
Intel、深度センサーとニューラルネットワークを使った顔認証ソリューション。なりすまし防止技術も搭載 - PC Watch
開発ドキュメントはこちら
Intel RealSense ID Solution F400
Linux(Ubuntu 20.04 LTS)で使うには
ドキュメントに、Windows/macOS/Linux、加えてラズパイやJetsonについても説明されていますが、内容が若干古いです。Ubuntu 20.04 LTSで試行錯誤した内容を、こちらにまとめておきます。
1. 依存パッケージのインストール
$ sudo apt install libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev pkg-config libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev python3-dev git cmake
2. Gitからソースコードをダウンロード
$ git clone https://github.com/IntelRealSense/RealSenseID
3. ビルド
$ cd RealSenseID $ mkdir build $ cd build $ cmake .. -DRSID_PY=1 -DRSID_PREVIEW=1 -DRSID_SAMPLES=1 $ make -j
ビルドに成功すると、binディレクトリーの下に各種コマンドができています。
$ ls bin/
authenticate-c-sample host-mode-cpp-sample preview-snapshot-cpp-sample
authenticate-cpp-sample multi-faces-cpp-sample rsid-cli
enroll-c-sample preview-c-sample rsid-fw-update
enroll-cpp-sample preview-cpp-sample
ファームの更新
「rsid-cli」コマンドを主に使用しますが、これを使用するには、F455のファームが最新である必要があります。こちらから最新ファーム、場合によっては、3系と4系の両方をダウンロードしておきます。
Releases · IntelRealSense/RealSenseID · GitHub
手元のF455は2段階でファームを上げる必要がありました。
$ sudo ./bin/rsid-fw-update --file ~/F450_3.1.0.29_SKU1_SIGNED.bin --port /dev/ttyACM0 --force-version $ sudo ./bin/rsid-fw-update --file ~/F450_4.3.0.8200_SKU1_SIGNED.bin --port /dev/ttyACM0
rsid-cliコマンドでRealSense IDを使う
これでようやく「rsid-cli」でいろいろできるようになります。
sudo ./rsid-cli /dev/ttyACM0 [2021-08-20 21:21:20.487] [debug] [LinuxSerial] Opening serial port /dev/ttyACM0 baudrate 115200 Connected to device [2021-08-20 21:21:20.601] [debug] [NonSecureSession] Start session [2021-08-20 21:21:20.601] [debug] [PacketSender] Sending packet 'o' [2021-08-20 21:21:20.603] [debug] [PacketSender] Waiting packet.. [2021-08-20 21:21:20.622] [debug] [PacketSender] Received packet 'o' after 18 millis [2021-08-20 21:21:20.622] [debug] [PacketSender] Sending packet 'q' [2021-08-20 21:21:20.624] [debug] [PacketSender] Waiting packet.. [2021-08-20 21:21:20.643] [debug] [PacketSender] Received packet 'q' after 19 millis Authentication settings:: * Rotation: 0 Degrees * Security: Medium * Algo flow Mode: All * Face policy : Single * Dump Mode: CroppedFace * Matcher Confidence Level : High [2021-08-20 21:21:20.643] [debug] [NonSecureSession] Close session Please select an option: 'e' to enroll. 'a' to authenticate. 'd' to delete all users. 'c' to capture images from device. 's' to set authentication settings. 'g' to query authentication settings. 'u' to query ids of users. 'n' to query number of users. 'b' to save device's database before standby. 'v' to view additional information. 'x' to ping the device. 'q' to quit. server mode options: 'E' to enroll with faceprints. 'A' to authenticate with faceprints. 'U' to list enrolled users 'D' to delete all users. >
おわりに
本当は、雑誌の記事ネタにしようと思っていましたが、2021年8月に「RealSense事業を閉鎖」というニュースが流れ、あえなくお蔵入りが決まったため、それならばとこちらに掲載した次第です。