人工知能を使って、自分の顔を見る「顔ロボット」を製作しました。ディープラーニングの物体検出(YOLOv3)に独自データを学習させました。独自データは、自分の顔です(独自データで1クラスを学習する場合)。その後、自分の顔と、ロボットプロジェクトのメンバー3名の顔の合計4クラスで学習しました(独自データで4クラスを学習する場合)。顔ロボットの左目にカメラを組み込んでいます。カメラ映像からリアルタイムで物体(自分の顔)を検出します。検出された物体(自分の顔)に向かってロボットの顔が追従します。追従する目標は、私以外に、学習済みの3名の顔でも可能です。Design(8GB)手順(独自データで1クラスを学習する場合)1.自分の写真を250枚ほど撮影しました。416に縮小しました。使って、顔の位置にバウンディングボックスとラベルをつけました。BBoX-Label-Toolでラベルづけ(BBoX-Label-ToolはPython3で動くように修正して使いました。)(注意)自分の写真250枚と、他人の写真を合わせて750枚くらいを使いました。(自分の写真だけだと、自分と他人が区別できないという結果になりましたので一度やり直しました。)2)フォーマットを変換します。0.454326923076923133.設定ファイルの修正は、darknet公式手順の通りに行いました。darknet53.conv.744800イテレーションで8時間かかりました。(darknet公式によると、1クラス当たり2000イテレーションで4000以上とのこと。loss学習中の平均損失のグラフ5.実行webカメラでリアルタイム物体検出を実行します。1独自データで4クラスを学習する場合その後、自分の顔と、ロボットプロジェクトのメンバー3名の顔の合計4クラスで学習しました。4クラスに変更するに当たり変更した箇所です。学習には、8300イテレーションで13時間かかりました。(darknet公式によると、1クラス当たり2000イテレーションで4000以上とのこと。