動画を使って物体検知AIをつくる|第1回:まずAIを作成してみる
こんにちは!ヒューマノーム研究所インターンの塩谷です。
この連載では、アメフトの試合動画を例としてとりあげた、動画を使った物体検知AI(ものを見つけるAI)を作成する流れについてご紹介します。AI構築には、当社が開発するプログラミングなしで簡単に物体検知AIを作れるツール「Humanome Eyes(以下Eyes)」を使っていきます。
「動画を学習データに」というと難しく聞こえますが、Eyesでは画像と同じようにプログラミングなしで簡単に物体検知AIを作成することができます。今回の連載内容も全て無料で実施していただけますので、ご登録がお済みでない方は是非こちらからご登録ください。
どんな物体検知AIを作りたいか?
突然ですが、私は大学でアメリカンフットボール(アメフト)の派生スポーツであるタッチフットボールという競技に取り組んでいます。アメフト同様、タッチフットボールも分析と戦略に基づいたプレーが重要であり、そのため私の手元には大量の試合動画があります。
そこで、今回はこのタッチフットボールの試合動画を学習データとして、物体検知AIを作ることにします。
前回記事では「トランプを判別するAIを作りたい」という目的から学習画像を集めましたが、「手持ちのデータはどんなAIとして利用できるか?」という視点で考えてみるのもAI活用の方法のひとつです(図1)。
さて、私が持っているタッチフットボールの試合動画からはどんな物体検知AIが作れるでしょうか。図2は試合動画の一部をキャプチャしたサンプル画像です。
動画内には味方チームの選手、敵チームの選手、審判、ボール、ゴールライン、パイロン(ゴールラインを示すオレンジ色の標識)などが写っています。
その全ての物体を検知する物体検知AIを作成することもできますが、ひとつのものを検知するAIと比べると、より多くのデータと開発時間を必要とします。
手持ちのデータを元にAIを作成するにしても、まず最初にAI作成の目的を定めることが実用的なAIを作成する上で非常に重要です。
この学習データから考えられる物体検知AIの活用方法を、以下に羅列してみます。
敵チームと味方チームの選手を判別+位置推定することで、コート内での選手の動きを分析する
ボールの位置を推定することで、プレーの分析をする
パイロンの位置を推定することでゲームシチュエーションを分析する
さまざまな活用方法が考えられますが、今回は試合の進行状況を知る上で重要な、ボールの位置推定をAI作成の目的として設定したいと思います。
もしお手持ちのデータを使ってAIを作ってみたいという方がいらっしゃいましたら、このようにAI作成の目的までぜひ考えてみてください!
Eyesを使ってAIを作る
学習データのアップロードとタスク作成
ここからはEyesの操作手順を説明します。Eyesにログイン後、タスク画面で以下のような操作を行います。これにより学習データがアップロードされ、アノテーションと学習ができるようになります(図3)。
アップロード完了の通知(右上のバナーによる通知、または入力内容がリセットされた状態)を確認したら、タスク詳細画面に移ります。
タスク詳細画面(図4)は、画像の枚数やラベルなどの基本情報の確認、アノテーションや学習の開始、作成されたモデルの一覧などを行うための基本画面となります。訂正箇所がある場合は以下の操作でタスクを削除し、タスクを作り直しましょう。訂正がなければアノテーション画面に移ります。
アノテーション
アノテーション画面では、アップロードした動画1コマずつにアノテーション(検知したい物体の位置と名前のしるし)をつけていきます。操作は図5を参照してください。
アノテーションのつけ方に関する詳しい説明については、以下のリンク先を参照して下さい。
すべての物体、すべてのコマにアノテーションが完了したら、図6の手順でアノテーションを保存しタスク詳細画面に戻ります。
学習
アノテーションを終えたら学習に移ります。図7の手順で学習を開始しましょう。
学習回数に関する解説は、以下のリンク先を参考にして下さい。
精度評価
学習が完了したら、モデル詳細画面に移ります。この画面では作成したAIモデルの精度を確認したり、画像をアップロードしてAIを試してみることができます。
まずは、精度評価のため指標であるTotal Loss、Precision、Recallの値をグラフで確認してみましょう。これらの指標について詳しく知りたい方は以下の記事をご参照ください。
まず、Total Lossのグラフの収束を見ることで学習回数が十分であったかを確認します。下図の通り、グラフは一定の値に収束しているため、学習回数は十分であったと言えます(図8)。
次に、学習終了時点のPrecisionとRecallの値を確認することで、このAIがどれだけ正しく物体を検知できるのかを確かめます。下図の通り、残念ながら正答率は10%にも及びませんでした(図9)。
次回のお知らせ
今回は、タッチフットボールの試合動画を学習データとした物体検知AIの作成手順についてお伝えしました。今回は残念ながら、精度の十分なAIは作れませんでした。
次回は、なぜ精度が上がらなかったのか考察し、動画データで十分な精度を得る方法を検討します。次回の記事もお読みいただけたら幸いです。ここまでお読みいただき、ありがとうございました!
関連記事
表データを利用したAI学習テキスト(Humanome CatData)
画像・動画を利用したAI学習テキスト(Humanome Eyes)
AI・DX・データサイエンスについてのご質問・共同研究等についてはお気軽にお問い合わせ下さい!