Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

CenterNetを使ってテニスの選手,ボール,コートの位置を検出してみた

More than 1 year has passed since last update.

やったこと

CenterNet (https://arxiv.org/abs/1904.07850) を使ってテニスの動画から選手,ボール,コートの四隅の位置を検出しました.

CenterNet

論文の著者の方がGitHubのソースコードを公開しています.
モデルの理解については,DeNAさんのページを参考にさせて頂きました.
ざっくりいうと,物体の中心点を表すヒートマップ,縦横の大きさ,オフセットを予測してバウンディングボックスを生成する手法です.ヒートマップ,大きさ,オフセットそれぞれの損失の重み付き線形和を全体の損失としています.
fig2.png

今回は「手前の選手,奥の選手,コートの四隅,ボール」の4クラスを設定し,学習させました.コートの四隅とボールは縦横15ピクセルのバウンディングボックスとして教師データとしています.
バックボーンモデルはDLA34を使用しました.出力は4クラスのバウンディングボックスですが,ツイートの動画ではコート,ボールのバウンディングボックスの中心点を表示しています.CenterNetのデフォルトでは入力画像のサイズは512×512ですが,今回は384×384にリサイズした画像を入力しています.
下のツイートはヒートマップの動画です.4クラスの物体の中央部分が反応しています.CenterNetのデフォルトでは出力されるヒートマップは入力画像の1/4のサイズになっているので,拡大して入力画像とアルファブレンドしています.

テスト結果

ハードコートの試合だけでなく,クレー,芝のコートでもテストをしました.
用意したテストデータでは選手,コートの位置推定はほぼ間違いなくできていますが,ボールに関しては未検出や誤検出が見られます.動画のフレームを切り取ると,モーションブラーにより人間でも位置がわからない場合もあります.ここから先は物体検出の精度を上げるよりも,いかに補正していくかが重要なようにも思えます.

sho101
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away