つるながの綴り方

ITインフラ系のネタやTips、趣味としているカーライフなどを中心に日頃メモしておきたいことをしたためています。

RealSense ID F455をLinux(Ubuntu 20.04 LTS)で使う

先日参加したセミナーのアンケートに回答したところ、「Intel RealSense ID F455」を頂戴しました。素直にWindowsを開発環境に使うのが正解なのでしょうか、仕事柄Linuxで使えないかと試行錯誤したため、その際の内容をしたためておきます。
*1ヶ月経ってからメモを元に記事化しており、追検証もできていないので、正確でないことをご了承ください。

f:id:tsurunaga:20210925030700j:plain
RealSense ID F455

RealSense IDについて

Intel RealSense ID F455」は、深度センサーとニューラルネットワークを使った顔認証デバイスです。これ単体で、顔認証システムができてしまうというもの。ちなみにUSB Webカメラとしても使えます。
Intel、深度センサーとニューラルネットワークを使った顔認証ソリューション。なりすまし防止技術も搭載 - PC Watch

開発ドキュメントはこちら
Intel RealSense ID Solution F400

LinuxUbuntu 20.04 LTS)で使うには

ドキュメントに、WindowsmacOSLinux、加えてラズパイや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.

> 

f:id:tsurunaga:20210925030553j:plain
RealSense ID F455

おわりに

本当は、雑誌の記事ネタにしようと思っていましたが、2021年8月に「RealSense事業を閉鎖」というニュースが流れ、あえなくお蔵入りが決まったため、それならばとこちらに掲載した次第です。