ラズパイでYOLOモデルによる物体検出を行うためにLiteRTの環境を準備します。
LiteRTを利用することでラズパイ5のみ(AI HATなど追加装置なし)で60fpsぐらいの
高速物体検出ができるようになります。
OpenCVの時と同様にソースコードを自分でビルドする方法で対応します。
今回はbookwormで標準インストールされていたGCCでビルドします。
LiteRTの機能をフルに使用するには
Clangでビルドします。
※実験中につき内容を変更する可能性があります。まえおき
以前、ラズパイのC++向けにOpenCVの環境を準備して顔検出を行いました。
顔検出に使用するカスケード分類器のファイルを変更すれば顔以外にも色々なものを
検出できるようになりますが、対象物が傾いていると検出できません。
最近では物体検出にYOLOというアルゴリズム/ライブラリが使われる機会が多く、
You Only Look Onceの名の通り検出モデルをかなり簡単です。しかし、推論(検出)には
ある程度高スペックなPCが必要なのでラズパイで動かすのは少々厳しいです。
これに対してラズパイ等で実行可能なTensorFlowLiteというライブラリがあります。
これはラズパイ等でも高速に実行できる反面、検出モデルの作成方法がよく分かりません。
その界隈では有名なPINTO0309様が検出モデルやモデル間の変換等を公開しており、
これらを利用することでYOLOで自作したモデルをラズパイ上で高速推論できるように
なります。