IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社Knowhereの特許一覧

特許7526542プログラム、コンピュータ、情報処理システム及び情報処理方法
<>
  • 特許-プログラム、コンピュータ、情報処理システム及び情報処理方法 図1
  • 特許-プログラム、コンピュータ、情報処理システム及び情報処理方法 図2
  • 特許-プログラム、コンピュータ、情報処理システム及び情報処理方法 図3
  • 特許-プログラム、コンピュータ、情報処理システム及び情報処理方法 図4
  • 特許-プログラム、コンピュータ、情報処理システム及び情報処理方法 図5
  • 特許-プログラム、コンピュータ、情報処理システム及び情報処理方法 図6
  • 特許-プログラム、コンピュータ、情報処理システム及び情報処理方法 図7
  • 特許-プログラム、コンピュータ、情報処理システム及び情報処理方法 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-07-24
(45)【発行日】2024-08-01
(54)【発明の名称】プログラム、コンピュータ、情報処理システム及び情報処理方法
(51)【国際特許分類】
   G06V 10/82 20220101AFI20240725BHJP
【FI】
G06V10/82
【請求項の数】 25
(21)【出願番号】P 2024077156
(22)【出願日】2024-05-10
【審査請求日】2024-05-10
【早期審査対象出願】
(73)【特許権者】
【識別番号】523138563
【氏名又は名称】株式会社Knowhere
(74)【代理人】
【識別番号】100131842
【弁理士】
【氏名又は名称】加島 広基
(74)【代理人】
【識別番号】100215267
【弁理士】
【氏名又は名称】古屋 秀人
(74)【代理人】
【識別番号】100215555
【弁理士】
【氏名又は名称】今井 貴裕
(74)【代理人】
【識別番号】100135530
【弁理士】
【氏名又は名称】河野 智代
(72)【発明者】
【氏名】今井 達也
(72)【発明者】
【氏名】伊藤 久史
【審査官】高野 美帆子
(56)【参考文献】
【文献】特開2008-284166(JP,A)
【文献】特表2008-538085(JP,A)
【文献】特表2021-505324(JP,A)
【文献】特表2022-507399(JP,A)
【文献】韓国公開特許第10-2023-0156256(KR,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06V 10/82
(57)【特許請求の範囲】
【請求項1】
コンピュータを、学習データ生成部、モデル生成部、軌道情報取得部及び推定部として機能させるプログラムであって、
前記学習データ生成部は、学習用の球の状態であって、飛行中の状態である異なる複数の飛行状態それぞれに基づいて、前記学習用の球の飛行中における時間変化に応じた位置変化を示す複数の軌道情報を生成し、さらに、対応する前記飛行状態及び前記軌道情報を含む複数の学習データを生成し、
前記モデル生成部は、複数の前記学習データを用いた学習により、前記軌道情報から前記飛行状態を推定する推定モデルを生成し、
前記軌道情報取得部は、推定対象の球の軌道情報を取得し、
前記推定部は、前記推定モデルを用いて、前記軌道情報取得部により取得された前記軌道情報に基づいて、前記推定対象の球の前記飛行状態を推定する、プログラム。
【請求項2】
前記コンピュータを、画像取得部及び球検出部としてさらに機能させ、
前記画像取得部は、前記推定対象の球の飛行中の動画を取得し、
前記球検出部は、前記動画に含まれる前記推定対象の球を検出し、
前記軌道情報取得部は、検出された前記推定対象の球の前記軌道情報を取得する、請求項1に記載のプログラム。
【請求項3】
前記飛行状態は、前記球の速度、回転数及び回転軸の向きの少なくとも1つを含む、請求項1に記載のプログラム。
【請求項4】
前記学習データ生成部は、前記飛行状態に基づいて、前記軌道情報を生成する物理シミュレータを用いて、前記動画において検出され得る前記推定対象の球の検出位置の誤差分布に応じた軌道情報を生成する、請求項2に記載のプログラム。
【請求項5】
前記学習データ生成部は、前記飛行状態に基づいて、前記軌道情報を生成する物理シミュレータを用いて、前記球検出部により誤検出され得る疑球の軌跡に対応する軌道情報を含む複数の軌道情報を生成する、請求項2に記載のプログラム。
【請求項6】
コンピュータを、軌道情報取得部及び推定部として機能させるプログラムであって、
前記軌道情報取得部は、推定対象の球の、飛行中の時間変化に応じた位置変化を示す軌道情報を取得し、
前記推定部は、推定モデルを用いて、前記軌道情報に基づいて、前記推定対象の球の状態であって、飛行中の状態である飛行状態を推定し、
前記推定モデルは、
学習用の球の状態であって、飛行中の状態である異なる複数の飛行状態それぞれに基づいて、前記学習用の球の飛行中における時間変化に応じた位置変化を示す複数の軌道情報が生成され、
対応する当該飛行状態及び当該軌道情報を含む複数の学習データが生成され、
複数の前記学習データを用いた学習が行われる
ことで生成される、プログラム。
【請求項7】
コンピュータを、学習データ生成部及びモデル生成部として機能させるプログラムであって、
前記学習データ生成部は、学習用の球の状態であって、飛行中の状態である異なる複数の飛行状態それぞれに基づいて、前記学習用の球の飛行中における時間変化に応じた位置変化を示す複数の軌道情報を生成し、さらに、対応する前記飛行状態及び前記軌道情報を含む複数の学習データを生成し、
前記モデル生成部は、複数の前記学習データを用いた学習により、前記軌道情報から前記飛行状態を推定する推定モデルを生成するプログラム。
【請求項8】
学習用の球の状態であって、飛行中の状態である異なる複数の飛行状態それぞれに基づいて、前記学習用の球の飛行中における時間変化に応じた位置変化を示す複数の軌道情報を生成し、さらに、対応する前記飛行状態及び前記軌道情報を含む複数の学習データを生成する学習データ生成部と、
複数の前記学習データを用いた学習により、前記軌道情報から前記飛行状態を推定する推定モデルを生成するモデル生成部と、
推定対象の球の軌道情報を取得する軌道情報取得部と、
前記推定モデルを用いて、前記軌道情報取得部により取得された前記軌道情報に基づいて、前記推定対象の球の前記飛行状態を推定する推定部と、
を備えるコンピュータ。
【請求項9】
前記推定対象の球の飛行中の動画を取得する画像取得部と、
前記動画に含まれる前記推定対象の球を検出する球検出部と
をさらに備え、
前記軌道情報取得部は、検出された前記推定対象の球の前記軌道情報を取得する、請求項8に記載のコンピュータ。
【請求項10】
前記飛行状態は、前記球の速度、回転数及び回転軸の向きの少なくとも1つを含む、請求項8に記載のコンピュータ。
【請求項11】
前記学習データ生成部は、前記飛行状態に基づいて、前記軌道情報を生成する物理シミュレータを用いて、前記動画において検出され得る前記推定対象の球の検出位置の誤差分布に応じた軌道情報を生成する、請求項9に記載のコンピュータ。
【請求項12】
前記学習データ生成部は、前記飛行状態に基づいて、前記軌道情報を生成する物理シミュレータを用いて、前記球検出部により誤検出され得る疑球の軌跡に対応する軌道情報を含む複数の軌道情報を生成する、請求項9に記載のコンピュータ。
【請求項13】
推定対象の球の、飛行中の時間変化に応じた位置変化を示す軌道情報を取得する軌道情報取得部と、
推定モデルを用いて、前記軌道情報に基づいて、前記推定対象の球の状態であって、飛行中の状態である飛行状態を推定する推定部と、
を備え
前記推定モデルは、
学習用の球の状態であって、飛行中の状態である異なる複数の飛行状態それぞれに基づいて、前記学習用の球の飛行中における時間変化に応じた位置変化を示す複数の軌道情報が生成され、
対応する当該飛行状態及び当該軌道情報を含む複数の学習データが生成され、
複数の前記学習データを用いた学習が行われる
ことで生成される、コンピュータ。
【請求項14】
学習用の球の状態であって、飛行中の状態である異なる複数の飛行状態それぞれに基づいて、前記学習用の球の飛行中における時間変化に応じた位置変化を示す複数の軌道情報を生成し、さらに、対応する前記飛行状態及び前記軌道情報を含む複数の学習データを生成する学習データ生成部と、
複数の前記学習データを用いた学習により、前記軌道情報から前記飛行状態を推定する推定モデルを生成するモデル生成部と、
を備えるコンピュータ。
【請求項15】
携帯端末と、コンピュータと、を備えた情報処理システムであって、
前記コンピュータは、
学習用の球の状態であって、飛行中の状態である異なる複数の飛行状態それぞれに基づいて、前記学習用の球の飛行中における時間変化に応じた位置変化を示す複数の軌道情報を生成し、さらに、対応する前記飛行状態及び前記軌道情報を含む複数の学習データを生成する学習データ生成部と、
複数の前記学習データを用いた学習により、前記軌道情報から前記飛行状態を推定する推定モデルを生成するモデル生成部と、
を備え、
前記携帯端末は、
推定対象の球の飛行中の動画を撮影する撮影部と、
前記動画を前記コンピュータに送信する送信部と
を備え、
前記コンピュータは、
前記動画を取得する動画取得部と、
前記動画に含まれる前記推定対象の球を検出する球検出部と、
前記球検出部により検出された前記推定対象の球の軌道情報を取得する軌道情報取得部と、
前記推定モデルを用いることで、前記軌道情報取得部が取得した前記軌道情報に基づいて、前記推定対象の球の前記飛行状態を推定する推定部と、
を備える、情報処理システム。
【請求項16】
前記飛行状態は、前記球の速度、回転数及び回転軸の向きの少なくとも1つを含む、請求項15に記載の情報処理システム。
【請求項17】
前記学習データ生成部は、前記飛行状態に基づいて、前記軌道情報を生成する物理シミュレータを用いて、前記動画において検出され得る前記推定対象の球の検出位置の誤差分布に応じた軌道情報を生成する、請求項15に記載の情報処理システム。
【請求項18】
前記学習データ生成部は、前記飛行状態に基づいて、前記軌道情報を生成する物理シミュレータを用いて、前記球検出部により誤検出され得る疑球の軌跡に対応する軌道情報を含む複数の軌道情報を生成する、請求項15に記載の情報処理システム。
【請求項19】
制御部を有するコンピュータにより行われる情報処理方法であって、
前記制御部が、学習用の球の状態であって、飛行中の状態である異なる複数の飛行状態それぞれに基づいて、前記学習用の球の飛行中における時間変化に応じた位置変化を示す複数の軌道情報を生成し、さらに、対応する前記飛行状態及び前記軌道情報を含む複数の学習データを生成する工程と、
前記制御部が、複数の前記学習データを用いた学習により、前記軌道情報から前記飛行状態を推定する推定モデルを生成する工程と、
前記制御部が、推定対象の球の軌道情報を取得する工程と、
前記制御部が、前記推定モデルを用いて、前記推定対象の球の前記軌道情報に基づいて、前記推定対象の球の前記飛行状態を推定する工程と、
を含む情報処理方法。
【請求項20】
前記推定対象の球の飛行中の動画を取得する工程と、
前記動画に含まれる前記推定対象の球を検出する工程と
をさらに含み、
前記推定対象の球の軌道情報を取得する工程では、検出された前記推定対象の球の前記軌道情報を取得する、請求項19に記載の情報処理方法。
【請求項21】
前記飛行状態は、前記球の速度、回転数及び回転軸の向きの少なくとも1つを含む、請求項19に記載の情報処理方法。
【請求項22】
前記学習データを生成する工程では、前記飛行状態に基づいて、前記軌道情報を生成する物理シミュレータを用いて、前記動画において検出され得る前記推定対象の球の検出位置の誤差分布に応じた軌道情報を生成する、請求項20に記載の情報処理方法。
【請求項23】
前記学習データを生成する工程では、前記飛行状態に基づいて、前記軌道情報を生成する物理シミュレータを用いて、前記推定対象の球を検出する工程において誤検出され得る疑球の軌跡に対応する軌道情報を含む複数の軌道情報を生成する、請求項20に記載の情報処理方法。
【請求項24】
制御部を有するコンピュータにより行われる情報処理方法であって、
前記制御部が、推定対象の球の、飛行中の時間変化に応じた位置変化を示す軌道情報を取得する工程と、
前記制御部が、推定モデルを用いて、前記軌道情報に基づいて、前記推定対象の球の状態であって、飛行中の状態である飛行状態を推定する工程と、
を含み、
前記推定モデルは、
学習用の球の状態であって、飛行中の状態である異なる複数の飛行状態それぞれに基づいて、前記学習用の球の飛行中における時間変化に応じた位置変化を示す複数の軌道情報が生成され、
対応する当該飛行状態及び当該軌道情報を含む複数の学習データが生成され、
複数の前記学習データを用いた学習が行われる
ことで生成される、情報処理方法。
【請求項25】
制御部を有するコンピュータにより行われる情報処理方法であって、
前記制御部が、学習用の球の状態であって、飛行中の状態である異なる複数の飛行状態それぞれに基づいて、前記学習用の球の飛行中における時間変化に応じた位置変化を示す複数の軌道情報を生成し、さらに、対応する前記飛行状態及び前記軌道情報を含む複数の学習データを生成する工程と、
前記制御部が、複数の前記学習データを用いた学習により、前記軌道情報から前記飛行状態を推定する推定モデルを生成する工程と、
を含む情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、コンピュータ、情報処理システム及び情報処理方法に関する。
【背景技術】
【0002】
従来、野球等において投手が投げた球の速度を計測する技術が知られている。例えば、特許文献1には、人体による物体を飛ばす動作に伴い、人体に取り付けられ該人体の動きの加速度を検出する加速度検出手段により検出される加速度の積分値に基づいて、物体の速度を算出する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開平11-14652号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来技術から、球の初速度等を求めることが行われていたが、その精度の向上が望まれていた。
【0005】
本発明はこのような点を考慮してなされたものであり、飛行状態の推定精度を向上させる技術を提供することができるプログラム、コンピュータ、情報処理システム及び情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明のプログラムは、
コンピュータを、学習データ生成部、モデル生成部、軌道情報取得部及び推定部として機能させるプログラムであって、
前記学習データ生成部は、学習用の球の状態であって、飛行中の状態である異なる複数の飛行状態それぞれに基づいて、前記学習用の球の飛行中における時間変化に応じた位置変化を示す複数の軌道情報を生成し、前記飛行状態及び前記軌道情報を含む複数の学習データを生成し、
前記モデル生成部は、複数の前記学習データを用いた学習により、前記軌道情報から前記飛行状態を推定する推定モデルを生成し、
前記推定部は、前記推定モデルを用いて、前記軌道情報取得部により取得された前記軌道情報に基づいて、前記推定対象の球の前記飛行状態を推定することを特徴とする。
【0007】
本発明のプログラムにおいては、
前記コンピュータを、画像取得部及び球検出部としてさらに機能させ、
前記画像取得部は、前記推定対象の球の飛行中の動画を取得し、
前記球検出部は、前記動画に含まれる前記推定対象の球を検出し、
前記軌道情報取得部は、検出された前記推定対象の球の前記軌道情報を取得してもよい。
【0008】
本発明のプログラムにおいては、
前記飛行状態は、前記球の速度、回転数及び回転軸の向きの少なくとも1つを含んでもよい。
【0009】
本発明のプログラムにおいては、
前記軌道情報生成部は、前記飛行状態に基づいて、前記軌道情報を生成する物理シミュレータを用いて、前記動画において検出され得る前記推定対象の球の検出位置の誤差分布に応じた軌道情報を生成してもよい。
【0010】
本発明のプログラムにおいては、
前記軌道情報生成部は、前記飛行状態に基づいて、前記軌道情報を生成する物理シミュレータを用いて、前記球検出部により誤検出され得る疑球の軌跡に対応する軌道情報を含む複数の軌道情報を生成してもよい。
【0011】
本発明のプログラムは、
コンピュータを、軌道情報取得部及び推定部として機能させるプログラムであって、
前記軌道情報取得部は、推定対象の球の、飛行中の時間変化に応じた位置変化を示す軌道情報を取得し、
前記推定部は、推定モデルを用いて、前記軌道情報に基づいて、前記推定対象の球の状態であって、飛行中の状態である飛行状態を推定し、
前記推定モデルは、
学習用の球の状態であって、飛行中の状態である異なる複数の飛行状態それぞれに基づいて、前記学習用の球の飛行中における時間変化に応じた位置変化を示す複数の軌道情報が生成され、
対応する当該飛行状態及び当該軌道情報を含む複数の学習データが生成され、
複数の前記学習データを用いた学習が行われる
ことで生成される、ことを特徴とする。
【0013】
本発明のプログラムは、
コンピュータを、学習データ生成部及びモデル生成部として機能させるプログラムであって、
前記学習データ生成部は、学習用の球の状態であって、飛行中の状態である異なる複数の飛行状態それぞれに基づいて、前記学習用の球の飛行中における時間変化に応じた位置変化を示す複数の軌道情報を生成し、前記飛行状態及び前記軌道情報を含む複数の学習データを生成し、
前記モデル生成部は、複数の前記学習データを用いた学習により、前記軌道情報から前記飛行状態を推定する推定モデルを生成することを特徴とする。
【0014】
本発明のコンピュータは、
学習用の球の状態であって、飛行中の状態である異なる複数の飛行状態それぞれに基づいて、前記学習用の球の飛行中における時間変化に応じた位置変化を示す複数の軌道情報を生成し、前記飛行状態及び前記軌道情報を含む複数の学習データを生成する学習データ生成部と、
複数の前記学習データを用いた学習により、前記軌道情報から前記飛行状態を推定する推定モデルを生成するモデル生成部と、
推定対象の球の軌道情報を取得する軌道情報取得部と、
前記推定モデルを用いて、前記軌道情報取得部により取得された前記軌道情報に基づいて、前記推定対象の球の前記飛行状態を推定する推定部と、
を備えることを特徴とする。
【0015】
本発明のコンピュータは、
推定対象の球の、飛行中の時間変化に応じた位置変化を示す軌道情報を取得する軌道情報取得部と、
推定モデルを用いて、前記軌道情報に基づいて、前記推定対象の球の状態であって、飛行中の状態である飛行状態を推定する推定部と、
を備え
前記推定モデルは、
学習用の球の状態であって、飛行中の状態である異なる複数の飛行状態それぞれに基づいて、前記学習用の球の飛行中における時間変化に応じた位置変化を示す複数の軌道情報が生成され、
対応する当該飛行状態及び当該軌道情報を含む複数の学習データが生成され、
複数の前記学習データを用いた学習が行われる
ことで生成される、ことを特徴とする。
【0016】
本発明のコンピュータは、
学習用の球の状態であって、飛行中の状態である異なる複数の飛行状態それぞれに基づいて、前記学習用の球の飛行中における時間変化に応じた位置変化を示す複数の軌道情報を生成し、前記飛行状態及び前記軌道情報を含む複数の学習データを生成する学習データ生成部と、
複数の前記学習データを用いた学習により、前記軌道情報から前記飛行状態を推定する推定モデルを生成するモデル生成部と、を備えることを特徴とする。
【0017】
本発明の情報処理システムは、
携帯端末と、コンピュータと、を備えたシステムであって、
前記コンピュータは、
学習用の球の状態であって、飛行中の状態である異なる複数の飛行状態それぞれに基づいて、前記学習用の球の飛行中における時間変化に応じた位置変化を示す複数の軌道情報を生成し、前記飛行状態及び前記軌道情報を含む複数の学習データを生成する学習データ生成部と、
複数の前記学習データを用いた学習により、前記軌道情報から前記飛行状態を推定する推定モデルを生成するモデル生成部と、
を備え、
前記携帯端末は、
推定対象の球の飛行中の動画を撮影する撮影部と、
前記動画を前記コンピュータに送信する送信部と
を備え、
前記コンピュータは、
前記動画を取得する動画取得部と、
前記動画に含まれる前記推定対象の球を検出する球検出部と、
前記球検出部により検出された前記推定対象の球の軌道情報を取得する軌道情報取得部と、
前記推定モデルを用いることで、前記軌道情報取得部が取得した前記軌道情報に基づいて、前記推定対象の球の前記飛行状態を推定する推定部と、
を備えることを特徴とする。
【0018】
本発明の情報処理方法は、
制御部を有するコンピュータにより行われる情報処理方法であって、
前記制御部が、学習用の球の状態であって、飛行中の状態である異なる複数の飛行状態それぞれに基づいて、前記学習用の球の飛行中における時間変化に応じた位置変化を示す複数の軌道情報を生成し、前記飛行状態及び前記軌道情報を含む複数の学習データを生成する工程と、
前記制御部が、複数の前記学習データを用いた学習により、前記軌道情報から前記飛行状態を推定する推定モデルを生成する工程と、
前記制御部が、推定対象の球の軌道情報を取得する工程と、
前記制御部が、前記推定モデルを用いて、前記推定対象の球の前記軌道情報に基づいて、前記推定対象の球の前記飛行状態を推定する工程と、
を含むことを特徴とする。
【0019】
本発明の情報処理方法は、
制御部を有するコンピュータにより行われる情報処理方法であって、
前記制御部が、推定対象の球の、飛行中の時間変化に応じた位置変化を示す軌道情報を取得する工程と、
前記制御部が、推定モデルを用いて、前記軌道情報に基づいて、前記推定対象の球の状態であって、飛行中の状態である飛行状態を推定する工程と、
を含み、
前記推定モデルは、
学習用の球の状態であって、飛行中の状態である異なる複数の飛行状態それぞれに基づいて、前記学習用の球の飛行中における時間変化に応じた位置変化を示す複数の軌道情報が生成され、
対応する当該飛行状態及び当該軌道情報を含む複数の学習データが生成され、
複数の前記学習データを用いた学習が行われる
ことで生成される、ことを特徴とする。
【0020】
本発明の情報処理方法は、
制御部を有するコンピュータにより行われる情報処理方法であって、
前記制御部が、学習用の球の状態であって、飛行中の状態である異なる複数の飛行状態それぞれに基づいて、前記学習用の球の飛行中における時間変化に応じた位置変化を示す複数の軌道情報を生成し、前記飛行状態及び前記軌道情報を含む複数の学習データを生成する工程と、
前記制御部が、複数の前記学習データを用いた学習により、前記軌道情報から前記飛行状態を推定する推定モデルを生成する工程と、
を含むことを特徴とする。
【発明の効果】
【0021】
本発明のプログラム、コンピュータ、情報処理システム及び情報処理方法によれば、飛行状態の推定精度を向上させる技術を提供することができる。
【図面の簡単な説明】
【0022】
図1】情報処理システムの全体構成図である。
図2】学習ユニット及び推定ユニットにおけるデータの流れを説明するための図である。
図3】球検出の処理の説明図である。
図4】方向ベクトルを算出する処理の説明図である。
図5】学習処理を示すフローチャートである。
図6】軌道情報生成処理の説明図である。
図7】推定処理を示すフローチャートである。
図8】飛行状態推定処理の説明図である。
【発明を実施するための形態】
【0023】
以下、図面を参照して本発明の実施形態について説明する。図1乃至図8は、本実施形態に係るプログラム、情報処理システム、コンピュータ及び情報処理方法等を示す図である。
【0024】
図1は、本実施形態に係る情報処理システム1の全体構成図である。情報処理システム1は、カメラ210において撮影された、予め設定された大きさの球の飛行中の動画において、球の実空間における3次元座標を推定し、さらに、3次元座標から、飛行状態を推定するものである。
【0025】
ここで、飛行状態は、飛ばされた球の状態、すなわち飛行中の球の状態を示す情報である。本実施形態においては、飛行状態は、球が飛ばされた初期の速度、回転数、及び回転軸の向きを含むものとする。ここで、回転軸の向きは、実空間において、例えば、鉛直方向など所定の方向を基準とした場合の当該基準の方向からの傾きである。本実施形態の情報処理システム1においては、位置が固定された特別なカメラ等を準備することなく、球の飛行状態を推定することができる。
【0026】
本実施形態においては、推定対象の球は、野球の投手により投げられた野球の球であるものとする。なお、推定対象の球は、飛行する球であればよく、その球の種類は、実施形態に限定されるものではない。他の例としては、球は、テニスのラケットにより飛ばされたテニスボール、ゴルフクラブにより飛ばされたゴルフボール、ピッチングマシンのような装置から放出されるボール等であってもよい。
【0027】
情報処理システム1は、サーバ装置10と、携帯端末20と、を備えている。サーバ装置10は、コンピュータ等により構成され、制御部100と、通信部140と、記憶部150と、表示部160と、操作部170と、を備えている。
【0028】
制御部100は、CPU(中央演算装置)やGPU(画像処理装置)等を含み、サーバ装置10の動作を制御する。通信部140は、無線または通信により、外部装置との間で通信を行う通信インターフェースを含む。制御部100は、通信部140を介して携帯端末20との間でデータの送受信を行う。
【0029】
記憶部150は、例えばHDD(Hard Disk Drive)、RAM(Random Access Memory)、ROM(Read Only Memory)およびSSD(Solid State Drive)などを含む。また、記憶部150は、サーバ装置10に内蔵されるものに限定されることはなく、サーバ装置10に着脱自在に装着可能な記憶媒体(例えば、USBメモリ)等であってもよい。本実施形態では、記憶部150は、制御部100により実行されるプログラムや、推定モデルを記憶する。
【0030】
表示部160は、例えばモニタ等であり、制御部100から表示指令を受け取ることにより、様々な画面を表示するようになっている。操作部170は、例えばキーボード等であり、制御部100に対して様々な指令を与えることができる。
【0031】
携帯端末20は、通信部200と、カメラ210と、表示部220と、を備えている。通信部200は、無線または有線により外部装置との間で通信を行う通信インターフェースを含む。カメラ210は、動画を撮影する。本実施形態においては、カメラ210は、飛行中の球の動画(以下、飛行動画と称する)を撮影する。カメラ210により撮影された、飛行動画は、通信部200を介してサーバ装置10に送信される。表示部220は、例えばモニタ等であり、様々な画面を表示する。表示部220は、例えば、飛行動画を表示する。
【0032】
このような携帯端末20として、例えばスマートフォン、PCタブレット等を用いることができる。また、携帯端末20として、外部装置との通信が可能なビデオカメラ等が用いられてもよい。
【0033】
本実施の形態では、携帯端末20に撮影用アプリケーションをインストール可能となっている。携帯端末20においてインストールされた撮像用アプリケーションが起動されると、この撮影用アプリケーションによってカメラ210による飛行動画の撮影が可能となる。また、飛行動画のサーバ装置10への送信時には、飛行動画と共に、飛行動画の撮影時の画角または焦点距離の情報が送信される。
【0034】
また、携帯端末20の表示部220に表示されるブラウザにおいてカメラ210による撮影時の画角または焦点距離の情報が入力可能となっていてもよい。そして、飛行動画が撮影された場合には、ブラウザで入力されたカメラ210の画角または焦点距離の情報が携帯端末20からサーバ装置10に送信される。
【0035】
続いて、サーバ装置10の制御部100の構成について説明する。制御部100は、後述する記憶部150に記憶されているプログラムを実行することにより、学習ユニット110及び推定ユニット120及び通信処理部130として機能する。
【0036】
学習ユニット110は、飛行中の球の位置変化から飛行状態を特定するために利用される推定モデルを学習する機能部である。推定ユニット120は、携帯端末20から飛行動画を取得し、飛行動画において球の位置変化を推定し、球の位置変化から球の飛行状態を推定する機能部である。飛行状態の推定においては、学習ユニット110において生成された推定モデルが利用される。
【0037】
学習ユニット110は、学習データ生成部111と、モデル生成部112とを有している。推定ユニット120は、画像取得部121と、球検出部122と、軌道情報取得部123と、推定部124と、を有している。なお、以下において、学習データ生成部111、モデル生成部112、画像取得部121、球検出部122、軌道情報取得部123、推定部124及び通信処理部130が行うこととして記載する処理は、制御部100がプログラムを実行することにより行う処理である。
【0038】
図2は、学習ユニット110及び推定ユニット120におけるデータの流れを説明するための図である。学習ユニット110の学習データ生成部111は、推定モデルを生成するために利用される学習データを生成する。モデル生成部112は、学習データ生成部111により生成された学習データを用いて、機械学習により推定モデル151を生成する。このような機械学習としては、深層学習等の既知の様々なものを用いることができる。推定モデル151は、記憶部150に格納される。
【0039】
一方で、推定ユニット120においては、画像取得部121は、携帯端末20から送信された飛行動画を、通信部140を介して取得する。球検出部122は、飛行動画に含まれる各フレーム画像から、球の画像を検出し、さらに球の実空間における位置を推定する。
【0040】
以下、球検出部122による処理について、図3及び図4を参照しつつ説明する。図3(a)は、飛行状態の推定対象の球の球画像310を含むフレーム画像300を示す図である。球検出部122は、画像特徴量に基づいて、フレーム画像300から、図3(b)に示すような、球画像310を囲うバウンディングボックスとしての長方形320を生成する。このような長方形320の、フレーム画像300における上辺および底辺のy座標は、それぞれ、球画像310の色の全ピクセルのうち最もy座標が小さいピクセルのy座標(y1)および最もy座標が大きいピクセルのy座標(y2)となる。また、長方形320のフレーム画像300における左辺および右辺のx座標は、球画像310の色の全ピクセルのうち最もx座標が小さいピクセルのx座標(x1)および最もx座標が大きいピクセルのx座標(x2)となる。長方形320の四隅の座標は、(x1、y1)、(x1、y2)、(x2、y2)、(x2、y1)で表される。
【0041】
なお、他の例としては、球検出部122は、画像から球画像の長方形320の四隅の座標を推定する推定モデルを用いて、球画像310を囲う長方形320の四隅の座標を演算してもよい。このような推定モデルは、例えば、フレーム画像と、球画像と、球画像を囲う長方形の四隅の座標を含む教師データを用いることで、深層学習等の既知の様々な機械学習により生成される。
【0042】
球検出部122は、球画像310を囲う長方形320の四隅の座標と、カメラ210の画角(図4において参照符号430で示す)とから、カメラ210のレンズの焦点から球に向かう方向ベクトル(具体的には、推定対象の球の球画像310を囲った四隅の座標へ向かう方向ベクトル)を算出する。
【0043】
図4は、方向ベクトルを算出する処理の説明図である。図4は、図3に示すフレーム画像300を真上から見た図である。図4に示すフレーム画像300を上方から見たときの線分を図4では参照符号300’で示す。また、図4では、説明のため、球画像310に対応する実際の球の、実空間における3次元座標を、カメラ210のレンズの焦点を原点として、右方向をx座標の正、紙面の奥行き方向をy座標の正、上方向をz座標の正、とする。また、方向ベクトルをz=1mとなるようスケーリングする。すなわち、方向ベクトルの3次元座標上のz座標を1(単位:m)とする。図3に示す長方形320の左辺全てのx座標がx1、右辺全てのx座標がx2となるため、図3に示す長方形320は、図3において座標x1と座標x2の間に存在する。図3に示す長方形320を上方から見たときの線分を図4では参照符号320’で示す。
【0044】
方向ベクトルをz=1mとなるようスケーリングした場合、すなわち、方向ベクトルの3次元座標上のz座標を1(単位:m)とした場合、画像の横幅(ピクセル数)をwとすると、長方形320の右辺に向かう方向ベクトルの3次元座標上のx座標は、((x2/w-0.5)×2×tan(水平画角/2))(単位:m)となる。同様に、長方形320の左辺に向かう方向ベクトルの3次元座標上のx座標は、((x1/w-0.5)×2×tan(水平画角/2))(単位:m)となる。なぜならば、カメラ210のレンズの焦点から1mの距離においたフレーム画像300の左右端のx座標は(±tan(画角/2))(単位:m)となるからである。なお、水平画角とは、カメラ210の水平方向における画角のことをいう。
【0045】
また、同様にして、カメラ210の視野を真横から見ることにより、長方形320の上辺に向かう方向ベクトルの3次元座標上のy座標および長方形320の下辺に向かう方向ベクトルの3次元座標上のy座標も算出することができる。具体的には、方向ベクトルの3次元座標上のz座標を1(単位:m)とした場合、画像の高さ(ピクセル数)をhとすると、長方形320の上辺に向かう方向ベクトルの3次元座標上のy座標は、((y1/h-0.5)×2×tan(垂直画角/2))(単位:m)となる。同様に、長方形320の下辺に向かう方向ベクトルの3次元座標上のx座標は、((y2/h-0.5)×2×tan(垂直画角/2))(単位:m)となる。なお、垂直画角とは、カメラ210の垂直方向における画角のことをいう。
【0046】
長方形320の四隅への方向ベクトルは、x方向、y方向、z方向の3成分×4つ(四隅の座標)=12個であるが、z=1(単位:m)にスケールされており、左上・左下ベクトルのx成分、右上・右下ベクトルのx成分、左上・右上ベクトルのy成分および左下・右下ベクトルのy成分は共通している。このため、カメラ210のレンズの焦点から球に向かう方向ベクトルの要素としては、以下の4つのデータで十分となる。
(a) (x1/w-0.5)×2×tan(水平画角/2)
(b) (x2/w-0.5)×2×tan(水平画角/2)
(c) (y1/h-0.5)×2×tan(垂直画角/2)
(d) (y2/h-0.5)×2×tan(垂直画角/2)
【0047】
また、既知の方法により、カメラ210の画角ではなくカメラ210の焦点距離と、球画像310を囲う長方形320の四隅の座標とから、カメラ210のレンズの焦点から球に向かう方向ベクトルを演算してもよい。ここで、カメラ210の焦点距離とは、レンズの中心点からイメージセンサ(フイルム面)までの距離のことをいう。
【0048】
球検出部122は、さらに、方向ベクトルに基づいて、球画像に対応する球の実空間における3次元座標を推定する。例えば、球検出部122は、機械学習により得られた座標推定モデルを用いることで、方向ベクトルに基づいて、球の中心の3次元座標を推定する。より詳しくは、球検出部122は、球を撮影したカメラ210のレンズの焦点から球に向かう方向ベクトルと、球の実空間における3次元座標と、を含む教師データを用いた機械学習を行う。これにより、カメラ210のレンズの焦点から球に向かう方向ベクトルと、カメラ210の画角又は焦点距離とから球の実空間における3次元座標を推定する座標推定モデルを生成する。球検出部122は、このようにして得られた座標推定モデルを利用することにより、方向ベクトルに基づいて、球の3実空間における次元座標を推定する。
【0049】
図2に示すように、軌道情報取得部123は、動画に含まれる各フレーム画像において、球検出部122により得られた、球の3次元座標と、当該3次元座標が得られたフレーム画像の時刻とを対応付けた一連のデータを、球の軌道情報として取得する。ここで、軌道情報は、飛行中の球の、時間変化に応じた位置変化を示す情報である。具体的には、軌道情報は、各時間における球の実空間における3次元座標を示す情報である。
【0050】
推定部124は、学習ユニット110により生成され、記憶部150に格納されている、推定モデル151を用いて、飛行動画から得られた軌道情報から飛行状態を推定する。飛行状態は、通信部140を介して携帯端末20に送信される。
【0051】
次に、学習ユニット110による処理について詳述する。図5は、学習ユニット110による学習処理を示すフローチャートである。図6は、軌道情報生成処理の説明図である。学習処理においては、まず、学習データ生成部111は、飛行状態を生成する(ステップS100)。本実施形態においては、野球の投手により投げられた野球の球を処理対象としているため、図6に示すように、飛行状態としては、野球の投手が投げ得る球の初速度、回転数、回転軸が与えられるものとする。このように、学習データ生成部111により、学習用に与えられた球の状態である、飛行状態が生成される。さらに、推定モデルを作成するために、初速度、回転数、回転軸の少なくとも1つの条件が異なる複数の飛行状態が生成される。
【0052】
次に、学習データ生成部111は、ステップS100において生成された飛行状態を入力とし、物理シミュレータを用いた物理シミュレーションにより、飛行中における球の時間変化に応じた位置変化を示す軌道情報を生成する(ステップS102)。物理シミュレータは、飛ばされた球の初期値としての球の速度、回転数及び回転軸の傾きが入力されることにより、この条件で飛行する球の軌跡を予測するものである。これにより、図6に示すように、各時間における実空間における3次元座標が得られる。
【0053】
次に、学習データ生成部111は、このように、入力として与えた飛行状態と、当該飛行状態に対する出力として得られた軌道情報とを1つの学習データとして得る(ステップS104)。学習データ生成部111は、同様にして、複数の学習データを得る。次に、モデル生成部112は、ステップS104において得られた複数の学習データを用いることで、機械学習により、軌道情報から飛行状態を推定する推定モデルを生成する(ステップS106)。
【0054】
実際に飛行する球が撮影された飛行動画においては、飛行状態の特定が困難である。これに対し、本実施形態の飛行状態は、このように物理シミュレーションを用いることで、実際に飛行する球に即した学習データを複数生成することができる。
【0055】
次に、推定ユニット120による処理について詳述する。図7は、推定ユニット120による推定処理を示すフローチャートである。図8は、飛行状態推定処理の説明図である。推定処理においては、まず画像取得部121は、通信部140を介して携帯端末20からカメラ210により撮影された、推定対象の球の飛行動画を取得する(ステップS200)。次に、球検出部122は、飛行動画に含まれる各フレーム画像から、球画像310を囲う長方形320の座標を算出する(ステップS202)。次に、球検出部122は、球画像310を囲う長方形320の座標に基づいて、カメラ210のレンズの焦点から球に向かう方向ベクトルを算出し、方向ベクトルに基づいて、球の実空間における3次元座標を推定する(ステップS204)。
【0056】
次に、軌道情報取得部123は、飛行動画に含まれる、各フレーム画像の時間と、各フレーム画像から推定された球の3次元座標と、を含む軌道情報を生成する(ステップS206)。次に、推定部124は、図8に示すように、記憶部150に格納されている推定モデル151を用いることで、軌道情報から飛行状態を推定する(ステップS208)。次に、通信処理部130は、飛行状態を、通信部140を介して携帯端末20に送信する(ステップS210)。携帯端末20においては、飛行状態を受信すると、表示部220は、飛行状態を表示する。これにより、利用者は、飛行状態としての、球の初期の速度、回転数及び回転軸の傾きを把握することができる。
【0057】
以上のように、本実施形態の情報処理システム1によれば、飛行状態の推定精度を向上させることができる。さらに、本実施形態の情報処理システム1においては、実際に飛行する球に即した学習データを多数生成し、生成した学習データを用いることで飛行状態を推定するための推定モデルを生成することができる。また、学習データの生成には、物理シミュレーションが用いられる。したがって、効率的に学習データを収集することができる。
【0058】
以上の実施形態は、本発明のプログラム、コンピュータ、情報処理システム及び情報処理方法等は、上述したような態様に限定されることはなく、様々な変更を加えることができる。
【0059】
そうした第1の変形例としては、飛行状態は、球の初期の速度、初期の回転数及び初期の回転軸の傾きのうち少なくとも1つを含んでいればよい。また、飛行状態は、変化球の変化量を含んでもよい。ここで、変化球の変化量は、回転数がゼロの場合の飛行位置からの変化量である。
【0060】
また、第2の変形例としては、飛行状態は、球が飛ばされた初期における状態に限定されるものではない。飛行状態は、例えば、飛ばされたタイミングから一定期間後のタイミングにおける状態であってもよい。なお、この場合には、学習データ生成部111は、物理シミュレータを用いた物理シミュレーションにより、初期における速度、回転数及び回転軸の傾きだけでなく、その後の各時間における速度、回転数及び回転軸の傾きを求める。そして、これらを学習データとすることで、軌道情報から、初期に限らず、任意の時間における、球の速度、回転数及び回転軸の傾きを求める推定モデルを生成するものとする。
【0061】
また、第3の変形例としては、サーバ装置10は、飛行動画から得られた軌道情報に基づいて飛行状態を推定すればよく、そのための具体的な処理は実施形態に限定されるものではない。例えば、サーバ装置10は、軌道情報に示される時間変化と位置変化とを、係数とする関数を用いることにより、飛行状態としての、球の初期の速度、回転数、回転軸の向きを推定してもよい。
【0062】
第4の変形例について説明する。実際にカメラにより撮影された飛行動画のフレーム画像から球画像を囲う長方形を抽出する処理においては、検出位置の誤差が生じ得る。この検出位置の誤差は、所定の形状の分布を示すことが多い。このような場合には、学習データ生成部111は、このような検出位置の誤差分布に応じた軌道情報を生成することとしてもよい。具体的には、学習データ生成部111は、物理シミュレータにより生成された軌道情報に対して、誤差分布が再現されるように、その位置情報を修正することとする。これにより、球画像に対応した長方形の検出位置に誤差が生じるようなケースにおいても、精度よく、飛行状態の推定を行うことができる。
【0063】
第5の変形例について説明する。実際にカメラにより撮影された飛行動画において、推定対象の球以外に、他の球が含まれている場合がある。このような場合には、球検出部122が飛行動画中の一部のフレーム画像において、他の球を推定対象の球と誤認識する場合がある。そこで、学習データにおいても、このように他の球に対応した軌道情報を含ませてもよい。具体的には、学習データ生成部111は、軌道情報として、学習用の球以外に、偽球の飛行中の軌跡に対応する軌道情報を含ませるものとする。これにより、推定対象以外の他の球が、推定対象の球として誤認識されるケースにおいても、推定対象の球の飛行状態を精度良く推定することができる。
【0064】
第6の変形例としては、サーバ装置10が行うものとして説明した処理の少なくとも一部を携帯端末20または他の装置が備えることとしてもよい。例えば推定ユニット120は、携帯端末20が備えることとしてもよい。この場合には、サーバ装置10において推定モデルの生成を行い、生成された推定モデルは携帯端末20に送信される。そして、携帯端末20は、推定モデルを用いることで、飛行動画から、飛行状態を推定する。
【0065】
また、他の例としては、画像取得部121、球検出部122は、携帯端末20が備えることとし、携帯端末20が飛行動画から、軌道情報を生成し、携帯端末20は、飛行動画に変えて軌道情報をサーバ装置10に送信することとしてもよい。
【0066】
また、他の例としては、飛行動画から軌道情報を生成する処理は、サーバ装置10及び携帯端末20以外の他の装置が行うこととしてもよい。この場合には、携帯端末20から他の装置に飛行動画が送信され、他の装置において、飛行動画から軌道情報が生成され、他の装置からサーバ装置10に軌道情報が送信されればよい。
【0067】
また、他の例としては、学習ユニット110と、推定ユニット120は、別の装置において実現されてもよい。この場合、学習ユニット110を備える第1の装置から推定ユニット120を備える第2の装置に対して、学習ユニット110により生成された推定モデルが送信され、第2の装置においては、第1の装置で生成された推定モデルを用いて、飛行状態の推定が行われるものとする。
【0068】
第7の変形例としては、軌道情報取得部123が取得する軌道情報は、飛行動画から得られた軌道情報に限定されるものではない。例えば、軌道情報は、レーダーによる検知結果から得られた情報であってもよい。
【0069】
以上のような構成からなる本実施形態のプログラム、コンピュータ、情報処理システム及び情報処理方法によれば、プログラムは、コンピュータ(サーバ装置10)を、学習データ生成部111、モデル生成部112、軌道情報取得部123及び推定部124として機能させる。そして、学習データ生成部111は、学習用の球の状態であって、飛行中の状態である異なる複数の飛行状態それぞれに基づいて、学習用の球の飛行中における時間変化に応じた位置変化を示す複数の軌道情報を生成し、モデル生成部112は、複数の学習データを用いた学習により、軌道情報から飛行状態を推定する推定モデルを生成し、軌道情報取得部123は、推定対象の球の軌道情報を取得し、推定部124は、推定モデルを用いて、軌道情報取得部123により取得された軌道情報に基づいて、推定対象の球の飛行状態を推定する。これにより、推定対象の球の軌道情報から、推定対象の球の状態であって、飛行中の状態である飛行状態を推定することができる。
【0070】
また、本実施形態のプログラム、コンピュータ、情報処理システム及び情報処理方法においては、プログラムは、コンピュータ(サーバ装置10)を、画像取得部121及び球検出部122としてさらに機能させ、画像取得部121は、推定対象の球の飛行中の動画を取得し、球検出部122は、動画に含まれる推定対象の球を検出し、軌道情報取得部123は、検出された推定対象の球の軌道情報を取得してもよい。ここで、飛行状態は、球の速度、回転数及び回転軸の向きの少なくとも1つを含んでもよい。この場合には、推定対象の球の飛行中の動画に基づいて、推定対象の球の飛行状態を推定することができる。
【0071】
また、本実施形態のプログラム、コンピュータ、情報処理システム及び情報処理方法においては、学習データ生成部111は、飛行状態に基づいて、軌道情報を生成する物理シミュレータを用いて、動画において検出され得る推定対象の球の検出位置の誤差分布に応じた軌道情報を生成してもよい。また、学習データ生成部111は、飛行状態に基づいて、軌道情報を生成する物理シミュレータを用いて、球検出部122により誤検出され得る疑球の軌跡に対応する軌道情報を含む複数の軌道情報を生成してもよい。
【0072】
また、本実施形態のプログラム、コンピュータ、情報処理システム及び情報処理方法によれば、プログラムは、コンピュータ(サーバ装置10)を、軌道情報取得部123及び推定部124として機能させ、軌道情報取得部123は、推定対象の球の、飛行中の時間変化に応じた位置変化を示す軌道情報を取得し、推定部124は、軌道情報に基づいて、推定対象の球の状態であって、飛行中の状態である飛行状態を推定する。これにより、推定対象の球の軌道情報から、飛行状態を推定することができる。
【0073】
また、本実施形態のプログラム、コンピュータ、情報処理システム及び情報処理方法においては、推定部124は、軌道情報から飛行状態を推定する推定モデルを用いて、軌道情報取得部123により取得された軌道情報に基づいて、推定対象の球の飛行状態を推定し、推定モデルは、学習用の球の飛行状態と、当該飛行状態から得られた軌道情報と、を含む学習データを用いた学習により生成されてもよい。この場合には、高精度に飛行状態を推定することができる。
【0074】
また、本実施形態のプログラム、コンピュータ、情報処理システム及び情報処理方法によれば、プログラムは、コンピュータ(サーバ装置10)を、学習データ生成部111及びモデル生成部112として機能させ、学習データ生成部111は、学習用の球の状態であって、飛行中の状態である異なる複数の飛行状態それぞれに基づいて、学習用の球の飛行中における時間変化に応じた位置変化を示す複数の軌道情報を生成し、さらに、対応する飛行状態及び前記軌道情報を含む複数の学習データを生成し、モデル生成部112は、学習データを用いた学習により、軌道情報から飛行状態を推定する推定モデルを生成する。これにより、推定対象の球の軌道情報から、推定対象の球の状態であって、飛行中の状態である飛行状態を推定するために利用される推定モデルを提供することができる。
【符号の説明】
【0075】
1 情報処理システム
10 サーバ装置
20 携帯端末
100 制御部
110 学習ユニット
111 学習データ生成部
112 モデル生成部
120 推定ユニット
121 画像取得部
122 球検出部
123 軌道情報取得部
124 推定部
130 通信処理部
140 通信部
150 記憶部
160 表示部
170 操作部
200 通信部
210 カメラ
220 表示部
【要約】
【課題】簡単な構成により、推定対象の球の軌道情報から、推定対象の球の状態であって、飛行中の状態である飛行状態を推定するために利用される技術を提供することができるプログラム、コンピュータ、情報処理システム及び情報処理方法を提供する。
【解決手段】コンピュータを、学習データ生成部111及びモデル生成部112として機能させるプログラムであって、学習データ生成部111は、学習用の球の状態であって、飛行中の状態である異なる複数の飛行状態それぞれに基づいて、学習用の球の飛行中における時間変化に応じた位置変化を示す複数の軌道情報を生成し、さらに、対応する飛行状態及び軌道情報を含む複数の学習データを生成し、モデル生成部112は、複数の前記学習データを用いた学習により、軌道情報から飛行状態を推定する推定モデルを生成する。
【選択図】図1
図1
図2
図3
図4
図5
図6
図7
図8