目次
はじめに
顔認識はいまや当たり前の技術になってますよねー。
そこでさくっと、ロボットに顔認識させて人に近づくことをさせてみました。
今回ロボットに使ったのはレゴのEV3ですが、各自お好きなものを選んでください。
ポイント!!
・ロボットはLEGO EV3を使用。
・顔認識はRaspberry Pi 3 Model Bで実施
・カメラはラズベリーパイ用のものを使用
・顔認識のアルゴリズムはOpenCV。 pythonで実装 。
・ステアリング(操舵)は簡単なP制御で実施
ソース
以下、ポイントのみ解説。
顔認識を高速化するには?
画像サイズを小さくする
認識させる画像のサイズが大きすぎるとその分時間がかかってしまいます。
なので適当なサイズに落としてから認識しています。逆にサイズを落とし過ぎると認識率が悪くなりますので注意。
画像色をグレー画像にする
ロボットで顔を追いかけるには?
カメラ画像の中心から顔(認識結果)がどれだけズレているかを計測して、ズレ量に適当なゲインをかけて中心に来るようにロボットの舵をきっています。(P制御)
RGB画像のままだと認識が重くなるので、グレー画像にしてから認識させます。
ハード
ロボットの作り方
PFN社が無料でマニュアルを公開してくれていますのでそちらを参照下さい。