1. クラウドソーシングTOP
  2. みんなのお仕事相談所
  3. テニスのホークアイのようなボール軌道分析システム(簡易版)開発
みんなのお仕事相談所

「みんなのお仕事相談所」では、ユーザーさまのご依頼の相場や製作期間、
契約書やお金に関する悩みを気軽に相談できるQ&Aコミュニティです。
違反案件についてはよくある質問の「【共通】違反のお仕事とは」をご覧ください。
また、違反報告についてはよくある質問の「【共通】違反報告とは」をご確認ください。

発注者からの相談
Windowsアプリケーション開発の見積もり・相場に関する相談

テニスのホークアイのようなボール軌道分析システム(簡易版)開発

解決済
回答数
12
閲覧回数
9318
時間があるときに  : 時間があるときに

Windowsアプリケーション開発の依頼を検討しており、下記のようなサービスを作りたいと思っているのですが、どれくらいの相場感・費用になるかがわかりません。

下記に要件を書きますので、簡単な見積もりをいただけませんでしょうか。

1.作りたいシステムのイメージ

  -テニスのボール判定するチャレンジシステム(ホークアイ)ほど正確でなく、
   どこらへんを飛んでいて、どこらあたりで打ったかを画像から位置情報を取得するシステム
  ※参考アプリ:テニスのホークアイ(チャレンジシステム)

2.必要な機能

  -カメラ1台で撮影(将来は精度をあげるために、複数台に増台)
  -画像からボールを認識(コートは定位置として手入力可。)
  -距離、スピード、折り返し位置(ヒット位置)など

3.ボリューム(ページ数など)

  -低コスト(ジュニア指導のボランティアクラブ)


4.その他備考(納期や言語など)

  -開発者都合
  -ラインのインアウトの判定機能は不要

よろしくお願い致します。

2015年01月19日 17:38

ベストアンサーに選ばれた回答

Max111さんからの回答

ほぼ3時間程度で作ったものですので、これで検出される確率は0.01%ほどです。
(一部のパラメータの調整をしたので。)
正確さを上げるにはさすがに経験から考えても3ヵ月間ほどかかります。
手っ取り早く、かつ品質を求めるのであれば、
NAISTや信州大、大阪府立大学などのOpenCVを研究している院生か教授にコンタクトを取るのが一番です。
(知り合いにいればですが。)
5h/w×3m×\3,000/h=\360,000
ぐらいですが、面白いので、別に九割引でいいので
\32,400ぐらいでいいでしょう。あくまで自分の場合ですが。

2015年01月21日 21:53
相談者からのお礼コメント

お礼が遅くなり、失礼しました。
相談室の使い方を理解しておらず、今頃、ベストアンサーというボタンに気づきました。汗

2021年10月09日 22:15

すべての回答

ax!!さんからの回答

先ず一台では実現出来ません。
というのも所詮カメラは2D映像でありますので、3Dにするには最低でも2台のカメラが必要です。
ですが、テニスコートという広さとカメラの画角、ネットの存在から4台が理想かなと思います。
撮影に使うカメラもハイスピードカメラ(10万円位で沢山あります)が必須です。

では実際にかかる費用としては
撮影された画像をリアルタイムに読み出すドライバ開発、
複数の画像からボールの座標を計測してコート上に弾道を描く機能の実装、
何より一番の懸念が相当な期間の実験が必要かと思います。

たぶんメーカーが研究所を構えて開発するレベルの製品です。
ですが個人的には好きな分野の仕事なので、引き受けるなら1000万円で半年(実験除く)の工期と見積もります。

2015年01月19日 20:46
ax!!さんからの回答

ついでに申し上げますとホークアイがどのように弾道測定を行っているのか分かりませんが
特許に引っかかる可能性もあります。。。

2015年01月19日 21:00
相談者コメント

さっそく、ありがとうございます!

1000万円ですか!繰り返しますが、
ボールの位置を認識できるだけでよいのですが、・・。
パソコンの画面に表示される白い点を
前の画像との差分で認識できないでしょうか?
(動くものだけの差を見つけ出し、そのなかで、
高速に1m以上動くもの(白か黄色の塊)だけを探し出すイメージです。)

カメラ数台というのも理解していますが、それをあえて1台で実現するには
どうしたらよいでしょうか?という課題です。
ホークアイのように3Dにする必要はなく、2Dのままです。
コートの4隅の座標は撮影前に指定すれば、その位置は固定されているので、
白い塊がどこを動いているかを画像の差分だけで位置情報を調べるイメージです。

XYZの座標をちゃんと算出しなくても良いです。(今の段階では)
高さを無視すれば、誤差が2mくらいでるかもしれませんが、
今の段階ではそれもやむを得ないと考えます。
(次の開発ステップでは数台でxyzを調べる予定)

AXESOR様は、お詳しそうなことに加え、「個人的には好きな分野の仕事」ということでしたら、
時間は多少かかっても良いのでお安くしていただければ
実現の可能性はないわけではありません。

将来、予算があふれるように得られたら、投資する可能性はありますが、
ちょっと今の段階では1000万円は厳しいですね。

他の方のご提案をお待ちしてみます。

ぜひ、引き続き、フォローと減額案を賜りますように、お願い申し上げます。<m(__)m>


2015年01月19日 21:08
ax!!さんからの回答

> パソコンの画面に表示される白い点を前の画像との差分で認識できないでしょうか?
基本的な動態の座標測定の理論はこれです。
動画もMPEGと呼ばれるフォーマットは差分の記憶を符号化した物です。
この理論を軸に、インアウト判定出来る程の精度は測定しないという前提の下、1000万円を付けました。

高さZ軸を無視する(2Dで良い)ならコート全体を見渡せる場所から一点のみでの撮影は可能です。
但し現実の座標が3Dである限り、Z軸の影響を出来るだけ受けないカメラの位置取りが重要です。

例えばコート中央から垂直に見下ろす(ファミコン時代のゲームのように)のであれば、
ボールの位置を2D座標に正確に再配置出来ますし、計算も簡単です。
ただ、そんな位置にカメラを仕掛けるのは無理だと思います。

現実的には、ある程度の高さの部分から斜め下に見下ろすような感じで(観客席など)
コートの四隅からの相対的な距離(遠近法による減衰比を計算する)で、カメラの位置をある程度計算出来ます。
(三角比sin=>撮影角度(≒撮影位置の高さ)とボール位置測定の精度は比例関係にあります。)

因みにボールの高さは無視との事なので、仮にボールの高さを常に1mと仮定して
カメラの視点からボールを結ぶ直線とコート平面の交点を求めれば、ボールの平面座標も大体近い位置が計算可能です。

以上から撮影位置と精度に制限があっても良ければ、2Dにする事で工数自体は大幅にカット出来るのですが
製品として動作保証をすべく検証工程が最も費用のかかる部分だと思っているので400万円というところでしょうか。


> 時間は多少かかっても良いのでお安くしていただければ
エンジニアは通常、開発にかかる工数(=拘束される時間)で見積りを出す事が慣例ですので
時間がかかればかかる程、高くなります。あまりに短い工期に特急料金がかかるケースが存在するだけです。

2015年01月20日 00:22
三咲デザインさんからの回答

はじめまして。
三咲デザインの田島と申します。
それほど専門ではないのですが、画像処理システムの開発なども手掛けています。

カメラ1台で出来ることは、AXESOR様がご回答のように、とても限られますので、何を画像から取得して、それをどのように指導に結び付けるのか、検討していくことが肝要と思います。
先日、NHKで錦織選手が球を打ち返す位置がマイケル・チャンの指導前後で変わったことをビデオ分析データで説明していましたが、たとえばですが、そのデータを取得するだけなら、そして、打点の位置を自動認識ではなく、手動で計測する方式とするなら、かなり低コストで実現が可能と思います。

どのようなシステムなら予算内で実現できるのか、ご相談させていただきますので、お気軽にお問い合わせください。
宜しくお願い致します。

2015年01月20日 21:37
Max111さんからの回答

値段についてはコメントしませんが、
具体的にはこれはどうやればよいのかという話ですと、
まあ簡単です。
要するに、画像認識技術を用いればよいのです。
顔認識や人の認識の応用です。
OpenCVを使うことで画像における特徴点や直線といった構造を認識したり、輪郭を切り取ることができます。
二枚以上の画像から3Dでデータを再現する技術はカメラ・キャリブレーションといいます。
これはカメラについて3次元正方行列分のデータがあれば可能です。
ただ、どうしても2台分のカメラが必要ですが、ボールの大きさがわかれば話は別かもしれません。

2015年01月20日 22:33
Max111さんからの回答

動いている物体を自動的に捕捉できるカメラであれば、Exif情報から焦点距離を出し、3次元座標を割り出せます。
打った位置は機動計算のために正確な重さや空気抵抗のデータが必要にはなるでしょうが、それらが問題でなければ
Bulletなどを用いて計算ができると思います。

2015年01月20日 22:42
相談者コメント

皆様、アドバイスをありがとうございます!特に、Akira_Nakagawaのようなアドバイスをお待ちしておりました。

Akira_Nakagawaさんのアドバイスの通り、OpenCVのライブラリーが今のところ、最適のようです。
OpenCVに詳しい方のさらなるアドバイスをぜひお願いいたします。
カメラは2台でも構いませんが、テニス、バドミントン(丸でないですが、・・・)、卓球の3つを想定していますので、対象物の大きさは設定可能です(テニスボールなら、直径6.54~6.86cm)。
カメラのアングルは、コート中央の天井も可能です。(相撲の土俵の円の中心みたいな位置)

なにとぞ、引き続きよろしくお願いいたします。<m(__)m>

2015年01月20日 22:45
相談者コメント

補足ですが、「二枚以上の画像から3Dでデータを再現する技術はカメラ・キャリブレーション」は、現状では必要ありません。(コストや技術が高くなるので。)
ご相談の内容をシンプルにしますと、たとえば卓球のプレーを卓球台の真上(数m)から撮影し、そのボールの位置をxとyの座標と時間の情報を算出したいのです。(体育館のような練習場を自分で建設するとした場合の相談です。)

OpenCVのライブラリーには顔認識があるようなので、そのあたりを応用して、ボールだけの位置情報を算出したいです。
以上、よろしくお願いいたします。

2015年01月20日 22:52
Max111さんからの回答

本当にボールの軌道を計算する場合、精密な空気抵抗などのデータが必要ですが、
それらを揃えるのも作業に入っているかどうかが重要です。

2015年01月21日 08:45
相談者コメント

Akira_Nakagawaさん、ご連絡とアドバイス、誠にありがとうございます!

当方のイメージとしては、ボールの軌道を予測して計算するのではなく、
事実として発生した画面上の白い球の位置座標を認識するのみです。

たとえば、テニスでは、ご指摘のように直線運動、あるいは
放物線運動、およびそれの複合運動をする場合は、空気抵抗などの
データがあれば計算できるかもしれません。
 しかし、実際の試合では、そのようなフラット打法だけでなく、
トップスピンやスライススピン、あるいはサイドスピンなどもあり、
それらのデータを計測したり、入手するのは無理があります。
 ということで、事実のみを計測するスキルで位置を解析することを
目指します。

2015年01月21日 09:09
dais.cnsさんからの回答

こんにちは。
テニスは、学生時代に草試合で新聞のローカル欄に載った程度の経験があります。

さて本件ですが、現状OpenCVでも性能の面から、特にテニスのような被写体にはかなり厳しい状態かと思われます。
かなり多くの制限事項を設けて、処理(計算)速度もかなり悪い状態になるかと思われます。

したがって、おっしゃられるように、じっくりと開発しないといけないことでしょう。
このCWへ登録されている技術者の大半の方々は、業務をこなして収入を得るために行なっていらっしゃる方が
ほとんどかと推測致しますが、本件のような場合には、
A. 技術者を囲ってしまう
B. 実現不能な状態であっても支払いが発生するような作業ベースでの発注
というようなことが求められるかと思われます。
もっと突っ込んで言うと、
★OpenCV を使うなどの構想設計などをある程度固める
★その設計に基づき作業を繰り返す
というような別次元のワークがあるので、それもここCWでは別けた方が良さそうな感触があります。

取り急ぎご参考まで。

2015年01月21日 15:10
相談者コメント

dais.cns様

海外から、高度なスキルに基づかれた感触とアドバイスを賜り、誠に
ありがとうございました!
テニスの経験者の方でシステムにお詳しい方からのご指摘なので、
慎重に受けとめて、今後の開発を検討いたします。

お忙しいところに、また、海外からすみませんでした。

2015年01月21日 16:34
dais.cnsさんからの回答

それ程他者と違ってスキル的に優れている訳ではありませんが、ありがとうございます。

(また、海外というのはもはや壁ではないですよ。
 日々とはいいませんが、お客様とビデオチャットするのが仕事の一部となっています)

本件としては、テニスについては、
★ボールが小さく
★手の中に隠れたり、
★関係のないボールが写っていたり、
★そうでなくても、100km/h以上の速度がラケットで打ったら真逆に方向を変え、
 その他多彩な動きがある中で、停止することすらあり得、画面外に出ることもあり、
と映像認識としては、とても辛い状況下の処理となることは必至です。

ただし、不可能ではないので、上手く制限事項などの条件を調整しつつ、じっくりとした
開発が、どちらかというと、研究の分野に近いような形で必要かと思います。
ご参考まで。

2015年01月21日 18:38
相談者コメント

dais.cns様

重ねてありがとうございます!
ご指摘の通り、「研究の分野に近いような形」から
始めようと考えています。
ローカル+ローテクではじめ、
最終的にはハイテクと呼ばれるように、
また、ローカルなみんなで開発できることを
目指します。
海外の壁のことは全くその通りだと思っています。
子供たちには、ノックと英単語をセットにした
ゲームを考えています(笑)。
目指すのは、dais.cns様のように、子供たちが世界に羽ばたくことです!!
今後とも、アドバイスよろしくお願いします。

2015年01月21日 18:46
Max111さんからの回答

自分は趣味でやっている身ですが、OpenCVを用いて検出させてみたところ、誤検出だらけで、あまりうまく行きませんでした。(それでも調節次第で検出できましたが。)
かなりガウスぼかしとHough変換のパラメータ調整が必要なので、検出できているとは言いがたいのですが、
検出用のテストに使用した画像は
https://500px.com/photo/70721097/daniela-hantuchova-by-claudio-caravano
※これはクリエイティブ・コモンズライセンスの下で利用しています。
検出した画像は
http://www.dotup.org/uploda/www.dotup.org118460.jpg
ご覧の通り、誤検出が多いですが、テニスなどの球技はボールと紛らわしい色のものは周りに置けないはずであることを含めて考えれば、十分正確に発見できています。

2015年01月21日 21:01
Max111さんからの回答

検出した画像を変えました。
https://db.tt/53E4ninI

2015年01月21日 21:20
相談者コメント

Akira_Nakagawa様、スゴすぎます!(驚)

いきなりテストしていただいて、誠に申し訳ありません。<m(__)m>

また、素晴らしい女性プレーヤーの写真で、、、いや、素晴らしい解析結果で、ただただ感激です。
確かに、ボールは認識していますが、それ以外もクレーコートの凹凸などで感知したのか、
結構、○がたくさんありますね。(泣)
 でも、動いているのは、ボールを含め、人体の数点なので、区別できれば、さらに少なくなりそうですね。

可能であれば、ボールを認識できたところで、その実費+微小な経費+若干の利益でお見積りをいただけると、
とてもうれしくて、今後、ジュニア育成、地域活性化+クールジャパン輸出化などに貢献できるかも!?と思います。
当方だけには、誠に都合の良い勝手なご相談ですが、夢が叶えば幸いです。
追伸:口にプラス(+)言葉をつけると「叶う」らしいので、ダメ元で+発言させてください!!
さらに、クレーコートではなく、ハードコート(色は青系)でこんな写真があると理想です。
プレーヤーは、やっぱり女性が良いですね!?(この行に限っては、おやじギャグです。(泣))


2015年01月21日 21:21
Max111さんからの回答

ほぼ3時間程度で作ったものですので、これで検出される確率は0.01%ほどです。
(一部のパラメータの調整をしたので。)
正確さを上げるにはさすがに経験から考えても3ヵ月間ほどかかります。
手っ取り早く、かつ品質を求めるのであれば、
NAISTや信州大、大阪府立大学などのOpenCVを研究している院生か教授にコンタクトを取るのが一番です。
(知り合いにいればですが。)
5h/w×3m×\3,000/h=\360,000
ぐらいですが、面白いので、別に九割引でいいので
\32,400ぐらいでいいでしょう。あくまで自分の場合ですが。

2015年01月21日 21:53
相談者コメント

Akira_Nakagawa様 

そちらの知的集団に知り合いの方は残念ながらおりません!
でも、私は今からAkira_Nakagawaさんと知り合いです!(笑)

ということで、お見積り金額の出血大サービスありがとうございます!

さすが!男はロマン!

それでは、直接、「この人に依頼する」ボタンを押させていただきます。

具体的な納期、仕様等は、原則としてお任せしますが、
詳細は、個別にご相談させてください。
すべてにおいて、決して無理は口では申し上げません!!
(無理をメールするかもしれませんが、・・(笑))

追伸
写真は、女性プレーヤーでカラーのハードコートで、・・・(半分は冗談です。)

2015年01月21日 22:03
不安や疑問に真摯に向き合い改善につとめます クラウドワークス安心安全宣言