484
121

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

クソアプリ2Advent Calendar 2019

Day 9

ダーツが命中するかどうか、刺さる直前に教えてくれる装置を作った

Last updated at Posted at 2019-12-09

ダーツが狙ったところに刺さるかどうか、投げた直後、つまり刺さる直前にお知らせすることで、0.2秒待てば分かることを0.2秒前に知って一喜一憂するためのアプリを作りました。

何を作ったか

まず、的に向かってダーツを投げましょう。その様子をカメラで撮影し、その映像をもとにPCで姿勢推定を行います。推定された姿勢をもとに、ルールベースでダーツを投げたことをPCで検知します。

https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/135663/b599b37a-05cb-1424-5778-b8b8d864eb8b.png

投てきを検知したら、1秒分のデータをさかのぼって機械学習モデルに入力し、ダーツがブル(中心)に刺さるのかどうか予測します。その際、Edge TPUという高速で機械学習の予測を行うデバイスを利用します。

https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/135663/522ff676-c4fd-730d-f4a9-9493b9980215.png

機械学習の判定の結果、ブルに刺さると思ったら「ピンポーン」外れると予測されたら「ブブー」と音がなって知らせてくれます。この時点でまだダーツは刺さっていません。

https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/135663/803341d3-ef05-0ae3-df1c-e3598882cffe.png

もし、外れると予測されたら悲しいですよね。まだダーツは刺さっていませんが、気分も落ち込むことでしょう。

https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/135663/e6278a15-0d90-e927-02e0-f462303083f5.png

しかし、人間、AIには負けたくないものです。人間はAIよりも優れていると信じてやみません。「AIなんかに自分の未来を予測されてなるものか!」と運命に抗いはじめました。この時点でまだダーツは刺さっていません

https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/135663/8f34bc3c-9d55-865b-8523-2b520eeab238.png

直後、本当にダーツがハズれたところに刺さった場合、少し期待した自分を思うと余計落ち込みます。

https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/135663/a9a05c6e-65d9-9117-5222-f1729d1bde8d.png

というプロダクトです。ご覧の通り、

0.2秒待てばわかることを0.2秒前に知って一喜一憂するためのアプリとなっています

技術について

ハードウェア

WEBカメラ

logicoolの普通のWebカメラ

  • 1030p
  • 30 fps
  • USB 2.0

Coral's Edge TPU

Edge TPU は、Google が開発した TensorFlow Lite 形式の機械学習モデルを高速に演算(推論)するための ASIC のことです。

GCP と Edge TPU でつくるインテリジェント IoT 基盤

とにかく、めっちゃ早く機械学習の予測ができる

詳しくは上記記事をお読みになってください。

PC

Macbook Pro 2017

ソフトウェア

姿勢推定

image.png
https://ledge.ai/openpose/

PoseNetを利用

  • 画像や動画をインプットとして人間䛾姿勢
    をデータ化する
  • AIが画像を読み取り、関節䛾位置を推定
    する
  • オープンソース䛾ライブラリが公開されて
    おり、商用利用も可能

機械学習

image.png

  • 説明変数(インプットデータ)
    • 手首、肘、肩の各座標
      • 最大値、最小値、平均、標
        準偏差(テキトーです)
  • 目的変数(予測するもの)
    • ブルに刺さるかどうか
  • データ量**(めっちゃ少ない)**
    • ブル(命中):約40
    • ハズレ:約200
  • 手法
    • ランダムフォレスト

結果

①驚きの予測精度!

全然当たりません。正解率約50%(ランダムと同じ)

②驚きの予測速度!

刺さる前に間に合いません。刺さったあとに刺さるかどうかの予測を教えてくれます。知ってるわ!ってなります。
ごめんなさいタイトル詐欺です。本当はタイトルのものを作りたかったんです。ごめんなさい。

要するに

ダーツを投げたあとにランダムに音が鳴るおもちゃが爆誕しました!

反省

  • カメラの性能不足
    • カメラのFPS(1秒間に何フレーム撮影するか)が30では足りなかった
      • もっとスローモーション撮影などに対応したカメラが必要
    • カメラからPCにデータを送るケーブルがUSB2.0ではなく3.0を使うべき
      • その後の処理が早くても、データが届かないと何もできない
  • ブルに刺さったデータ不足
    • 筆者の実力不足

今後

変な機械を作っている暇があったらダーツの練習に当てていこうと思います

この内容は Sports Analytics Meetupというイベントで発表したものです。他の皆さんはこの発表と違って非常にためになる発表をされており、とても勉強になるMeetupです。

弊社アドベントカレンダーでも、25日に今年のM-1分析を発表するので、是非見てください!

484
121
14

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
484
121

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?