【小ネタ】NCS2とラズパイで顔識別&顔追尾

はじめに

NCS2とラズパイの組み合わせで顔識別というのも、今さら感が半端ないですが、ステッピングモーターを組み合わせて、識別した顔を追尾するというのは、あまり例がないので少しだけ書いてみます。

NCS2について

intel製のNeural Compute Stick 2というもので、AIをお手軽に体験できる素敵な奴です。

似たような製品は、他にもCoral USB Acceleratorとかがありますが、「ニューラルコンピューター ラズパイ」でググったときに比較的情報が多いかなという理由で、NCS2にしてみました。

ググればいろいろと出てきますので、詳細は書きませんが、ラズパイへのセットアップも容易で、箱から出して使えるようになるまでに1時間もかかりませんでした。

ラズパイについて(主観的感想)

ワンボードコンピューターは、学生の頃に授業で4ビットマイコンを作成したくらいでして、興味もなく過ごしてきました。

ラズパイ4になってラズパイというものを初めていじってみましたが、いろいろと楽しいです。

レトロゲームやらPC-98エミュやらと暇つぶしにはもってこいです。

顔識別&顔追尾(python3)

NCS2で画像識別処理を行う場合、openCVやopenVINOを使用して簡単にできてしまいます。これもググればいろいろと出てきますので、詳細は書きませんが・・・。

顔識別についても、先駆者様がいっぱいいらっしゃって、そういった方の記事を参考にすれば、それなりのものがすぐできてしまいます。

ただ、それだけでは独自性もないので、大した機能追加でもありませんが、カメラをステッピングモーターに載せて、識別した顔をカメラが追尾するようにしてみました。

諸々を合体した様

方法としては、カメラ動作部分とステッピングモーター部分をそれぞれスレッディングで動作させ、キューで顔識別位置を都度取得するという形にしています。

pythonに詳しい方だと、「そのやり方はどうよ?」と言われるかもしれませんが・・・。

こんな感じ

実際に追尾している動画はいずれアップしようと思います。