この ラボ 4 では、 eIQ ソフトウェア用の推論エンジン を使用して、i.MX8 ボード上の TensorFlow Lite アプリケーション デモを開始する方法について説明します。
Code Auroraで入手可能なソースコードを取得します。
TensorFlow Lite MobileFaceNets MIPI/USBカメラ
OpenCVを使用した顔検出
このアプリケーションデモでは、Haar Feature based Cascade Classifiers を使用してリアルタイムの顔検出を行います。XML という名前の顔用の事前トレーニング済みの Haar Feature ベースのカスケード分類子は、OpenCV に既に含まれています。face の XML ファイルは opencv/data/haarcascades/ フォルダに保存されています。 また、コードauroraにも載せられています。詳細については、「Haar Cascades を使用した顔検出」をお読みください。
MobileFaceNets の TensorFlow Lite 実装
MobileFaceNets は、ホスト PC でより高いパフォーマンスを得るために、より小さなバッチ サイズと入力サイズで再トレーニングされます。このデモでは、トレーニング済みのモデルがソース ファイルとして読み込まれます。
ボードの設定
ステップ1 - eIQサンプルアプリからデモをダウンロードし、/ opt / tfliteフォルダに配置します。次に、srcフォルダを入力します。
root@imx8mmevk:~# cd /opt/tflite/examples-tflite/1-example/src/
root@imx8mmevk:/opt/tflite/examples-tflite/1-example/src#
このフォルダには、次のファイルが含まれている必要があります。
.
├── face_detect_helpers.cpp
├── face_detect_helpers.h
├── face_detect_helpers_impl.h
├── face_recognition.cpp
├── face_recognition.h
├── haarcascade_frontalface_alt.xml
├── メイクファイル
├── MFN.H
├── プロファイリング.h
└── スレッドプール.h
ステップ2 - ボード上のソースコードをコンパイルします。
root@imx8mmevk:/opt/tflite/examples-tflite/1-example/src# make
ステップ 3 - デモを実行します。
root@imx8mmevk:/opt/tflite/examples-tflite/1-example/src# ./FaceRecognition-c 0 -h 0.85
注:-cは、カメラインデックスを指定するために使用されます。「0」は、MIPI/USBカメラが/dev/video0にマウントされていることを意味します。-h は予測スコアのしきい値です。
ステップ 4 - 顔データ セットに新しい人物を追加します。
デモの実行中は、 最大 1 つの 顔がリアルタイムで検出されます。顔が検出されたら、GUIの右側にあるキーボードをクリックして、新しい人の名前を入力できます。次に、[新しい人物を追加] をクリックして、顔をデータ セットに追加します。
簡単に言うと、
1.顔を検出します。
2. 新しい人の名前を入力します。
3. 「新しいユーザーを追加」をクリックします。
注:新しいフェイスが追加されると、現在のディレクトリに「data」という名前のフォルダが作成されます。データセットから新しい顔を削除する場合は、「データ」で削除してください。