toshibox が 2021年02月20日22時00分14秒 に編集
コメント無し
本文の変更
**1 はじめに** 私は画像処理に興味があり、またかわいいペットのような物を作ってみたいと思い、顔を認識して追従するローバー を製作しました。 **2 使用したもの** ハードウェア ・Raspberry Pi 3 Model B ・Raspberry Pi 用 カメラモジュールケース付き ・モバイルバッテリー ・ビュートローバー H8(ヴィストン株式会社)  ソフトウェア ・Raspbian ・OpenCV(画像処理ライブラリ ) **3 システム概要** **3-1 システムイメージ図と実際の写真**   **3-2 動作説明** ①顔写真から顔認識用のモデルを生成。
用意するモデルを増やすと、顔識別の計算に時間がかかり、 1サイクルの処理時間が伸びてしまいます。
②カメラから画像を取得 ③顔分類器(OpenCV公開のもの)で顔を検出
OpenCVの公開している分類器を使用していますが、顔を少し傾けるだけで、 顔を検出されなくなってしまいます。
④顔を検出したら、①のモデルを用いて顔認識
⑤顔認識結果で該当の顔と判定された場合、その顔の座標を元にモーターの制御値を決定。
⑤モデルの顔と判定された場合、その顔の座標を元にモーターの制御値を決定。 画面を縦3x横4に分割し、顔が検出された座標によって12通りの制御値を設定します。 また、検出した顔のサイズを距離と見立てて、速度をあげたり、下げたりします。 ex, 検出した顔のサイズが小さい → 顔が遠くにある → 速度アップ
⑥モーター制御値等のデータをH8マイコンにシリアル送信。 ⑦H8マイコンは受信したデータを元にモーター制御し、受信データをRaspberry Piへ返す。 ⑧最後に、認識結果を載せた画像を表示する。 ※プライバシー保護のため顔を塗りつぶしています。  **4 実際の動き** 動画があります、これを見てください!
https://twitter.com/tdk_tsk_mcz/status/1362033759738945543?s=19
https://youtu.be/9kKUzTUUt_c
**5 おまけ** 本稿では、H8マイコンを搭載したビュートローバー でモーターを制御している。 H8マイコンは、-127〜128までの値を設定しての左右それぞれモーター制御する。 そのため、Raspberry Pi からH8マイコンへは、左右のモーター値に加え、ノイズ対策のためのチェックサムとデータ送信の目印0xFFの計4Byteを送信している。 ビュートローバーの代わりに市販でよく出回っているArduinoなどのモーターキットを使用する場合、上記モーター値を使用するキットに適した値に変更して、シリアル接続したら代用できます。 ソース↓ https://github.com/toshibox/Face-Trace-Rover