見出し画像

動画を使って物体検知AIをつくる|第1回:まずAIを作成してみる

こんにちは!ヒューマノーム研究所インターンの塩谷です。

この連載では、アメフトの試合動画を例としてとりあげた、動画を使った物体検知AI(ものを見つけるAI)を作成する流れについてご紹介します。AI構築には、当社が開発するプログラミングなしで簡単に物体検知AIを作れるツール「Humanome Eyes(以下Eyes)」を使っていきます。

「動画を学習データに」というと難しく聞こえますが、Eyesでは画像と同じようにプログラミングなしで簡単に物体検知AIを作成することができます。今回の連載内容も全て無料で実施していただけますので、ご登録がお済みでない方は是非こちらからご登録ください。


どんな物体検知AIを作りたいか?

突然ですが、私は大学でアメリカンフットボール(アメフト)の派生スポーツであるタッチフットボールという競技に取り組んでいます。アメフト同様、タッチフットボールも分析と戦略に基づいたプレーが重要であり、そのため私の手元には大量の試合動画があります。

そこで、今回はこのタッチフットボールの試合動画を学習データとして、物体検知AIを作ることにします。

前回記事では「トランプを判別するAIを作りたい」という目的から学習画像を集めましたが、「手持ちのデータはどんなAIとして利用できるか?」という視点で考えてみるのもAI活用の方法のひとつです(図1)。

図1. AI活用に向けたアプローチのイメージ

さて、私が持っているタッチフットボールの試合動画からはどんな物体検知AIが作れるでしょうか。図2は試合動画の一部をキャプチャしたサンプル画像です。

図2. タッチフットボールの試合動画の一部

動画内には味方チームの選手、敵チームの選手、審判、ボール、ゴールライン、パイロン(ゴールラインを示すオレンジ色の標識)などが写っています。

その全ての物体を検知する物体検知AIを作成することもできますが、ひとつのものを検知するAIと比べると、より多くのデータと開発時間を必要とします。

手持ちのデータを元にAIを作成するにしても、まず最初にAI作成の目的を定めることが実用的なAIを作成する上で非常に重要です。

この学習データから考えられる物体検知AIの活用方法を、以下に羅列してみます。

  • 敵チームと味方チームの選手を判別+位置推定することで、コート内での選手の動きを分析する

  • ボールの位置を推定することで、プレーの分析をする

  • パイロンの位置を推定することでゲームシチュエーションを分析する

さまざまな活用方法が考えられますが、今回は試合の進行状況を知る上で重要な、ボールの位置推定をAI作成の目的として設定したいと思います。

もしお手持ちのデータを使ってAIを作ってみたいという方がいらっしゃいましたら、このようにAI作成の目的までぜひ考えてみてください!

Eyesを使ってAIを作る

※注意:動画は連続した大量の画像を集めたものです。アップロードに時間がかかるため、お手持ちの動画でお試しいただく場合は、まず数十秒程度の動画からお試しください。

学習データのアップロードとタスク作成

ここからはEyesの操作手順を説明します。Eyesにログイン後、タスク画面で以下のような操作を行います。これにより学習データがアップロードされ、アノテーションと学習ができるようになります(図3)。

図3. 動画ファイルのアップロード方法

アップロード完了の通知(右上のバナーによる通知、または入力内容がリセットされた状態)を確認したら、タスク詳細画面に移ります。

タスク詳細画面(図4)は、画像の枚数やラベルなどの基本情報の確認、アノテーションや学習の開始、作成されたモデルの一覧などを行うための基本画面となります。訂正箇所がある場合は以下の操作でタスクを削除し、タスクを作り直しましょう。訂正がなければアノテーション画面に移ります。

図4. タスク詳細画面の例

アノテーション

アノテーション画面では、アップロードした動画1コマずつにアノテーション(検知したい物体の位置と名前のしるし)をつけていきます。操作は図5を参照してください。

図5. アノテーションのつけ方

アノテーションのつけ方に関する詳しい説明については、以下のリンク先を参照して下さい。

すべての物体、すべてのコマにアノテーションが完了したら、図6の手順でアノテーションを保存しタスク詳細画面に戻ります。

図6. アノテーションの保存方法

学習

アノテーションを終えたら学習に移ります。図7の手順で学習を開始しましょう。

図7. AIの学習手順

学習回数に関する解説は、以下のリンク先を参考にして下さい。

精度評価

学習が完了したら、モデル詳細画面に移ります。この画面では作成したAIモデルの精度を確認したり、画像をアップロードしてAIを試してみることができます。

まずは、精度評価のため指標であるTotal Loss、Precision、Recallの値をグラフで確認してみましょう。これらの指標について詳しく知りたい方は以下の記事をご参照ください。

まず、Total Lossのグラフの収束を見ることで学習回数が十分であったかを確認します。下図の通り、グラフは一定の値に収束しているため、学習回数は十分であったと言えます(図8)。

図8. 今回作ったAIモデルのTotal Lossを示すグラフ

次に、学習終了時点のPrecisionとRecallの値を確認することで、このAIがどれだけ正しく物体を検知できるのかを確かめます。下図の通り、残念ながら正答率は10%にも及びませんでした(図9)。

図9. 今回作ったAIモデルのPrecisionとRecallを示すグラフ

次回のお知らせ

今回は、タッチフットボールの試合動画を学習データとした物体検知AIの作成手順についてお伝えしました。今回は残念ながら、精度の十分なAIは作れませんでした。

次回は、なぜ精度が上がらなかったのか考察し、動画データで十分な精度を得る方法を検討します。次回の記事もお読みいただけたら幸いです。ここまでお読みいただき、ありがとうございました!

※ 筆者紹介
塩谷 明日香(慶應義塾大学環境情報学部3年):VRを使ったスポーツトレーニングに興味があります。大学ではタッチフットボールに熱中しています。機械学習やプログラミングは一昨年から学び始めました。
---
私たちはワークショップのTA目線でのレポートや、機械学習ツールの使い方の紹介記事を執筆しています。今後も、AI構築の実際についてご紹介していきますので、お読みいただけると嬉しいです!

関連記事

表データを利用したAI学習テキスト(Humanome CatData

画像・動画を利用したAI学習テキスト(Humanome Eyes


AI・DX・データサイエンスについてのご質問・共同研究等についてはお気軽にお問い合わせ下さい!


この記事が気に入ったらサポートをしてみませんか?