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

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

▶ 株式会社ライゾマティクスの特許一覧

特許7281767認識処理装置、認識処理プログラム、認識処理方法、及びビジュアライズシステム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-18
(45)【発行日】2023-05-26
(54)【発明の名称】認識処理装置、認識処理プログラム、認識処理方法、及びビジュアライズシステム
(51)【国際特許分類】
   G06T 7/55 20170101AFI20230519BHJP
   A63B 69/02 20060101ALI20230519BHJP
   G01B 11/00 20060101ALI20230519BHJP
   A63B 71/06 20060101ALN20230519BHJP
【FI】
G06T7/55
A63B69/02 G
G01B11/00 H
A63B71/06 M
【請求項の数】 4
(21)【出願番号】P 2019198587
(22)【出願日】2019-10-31
(65)【公開番号】P2021071953
(43)【公開日】2021-05-06
【審査請求日】2022-06-09
(73)【特許権者】
【識別番号】519011485
【氏名又は名称】株式会社アブストラクトエンジン
(74)【代理人】
【識別番号】100180275
【弁理士】
【氏名又は名称】吉田 倫太郎
(74)【代理人】
【識別番号】100161861
【弁理士】
【氏名又は名称】若林 裕介
(74)【代理人】
【識別番号】100194836
【弁理士】
【氏名又は名称】長谷部 優一
(72)【発明者】
【氏名】真鍋 大度
(72)【発明者】
【氏名】花井 裕也
(72)【発明者】
【氏名】カイル マクドナルド
【審査官】小太刀 慶明
(56)【参考文献】
【文献】特表2014-512903(JP,A)
【文献】特開2012-170532(JP,A)
【文献】国際公開第2009/061283(WO,A2)
【文献】特開2019-101892(JP,A)
【文献】高橋 正樹 Masaki TAKAHASHI,スポーツ中継番組における画像処理技術 Image Processing Technologies in Live Sports Broadcasting,画像電子学会誌 Vol.48 No.1 2019 [CD-ROM] The Journal of the Institute of,日本,一般社団法人画像電子学会,2019年01月30日,Vol. 48, No. 1,180-181
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/55
G01B 11/00
A63B 69/02
A63B 71/06
(57)【特許請求の範囲】
【請求項1】
棒形状の器具を所持する1又は複数の所持者を複数の撮像装置で撮像された撮像画像のそれぞれについて、前記器具が写っている位置を認識する器具認識処理を行う器具認識手段と、
それぞれの前記撮像画像から、前記器具認識処理の結果を利用して、前記器具とその近傍のみを含む器具近傍領域の器具近傍領域画像を取得する第1の画像取得手段と、
それぞれの前記器具近傍領域画像から、前記器具の所定部分が写っている位置を認識する器具部分認識処理を行う器具部分認識手段と、
前記器具部分認識処理の結果に基づいて、前記撮像画像上で前記所定部分の位置に対応する2D座標を取得する2D座標認識手段と、
それぞれの前記撮像画像に基づいて前記2D座標認識手段が認識した前記所定部分の2D座標を、前記所持者が存在する3D空間上の3D座標に変換して取得し、取得した前記所定部分の3D座標に基づき、前記3D空間内における前記所定部分の位置に対応する3D座標を認識して取得する3D座標認識手段と
を有することを特徴とする認識処理装置。
【請求項2】
コンピュータを、
棒形状の器具を所持する1又は複数の所持者を複数の撮像装置で撮像された撮像画像のそれぞれについて、前記器具が写っている位置を認識する器具認識処理を行う器具認識手段と、
それぞれの前記撮像画像から、前記器具認識処理の結果を利用して、前記器具とその近傍のみを含む器具近傍領域の器具近傍領域画像を取得する第1の画像取得手段と、
それぞれの前記器具近傍領域画像から、前記器具の所定部分が写っている位置を認識する器具部分認識処理を行う器具部分認識手段と、
前記器具部分認識処理の結果に基づいて、前記撮像画像上で前記所定部分の位置に対応する2D座標を取得する2D座標認識手段と、
それぞれの前記撮像画像に基づいて前記2D座標認識手段が認識した前記所定部分の2D座標を、前記所持者が存在する3D空間上の3D座標に変換して取得し、取得した前記所定部分の3D座標に基づき、前記3D空間内における前記所定部分の位置に対応する3D座標を認識して取得する3D座標認識手段と
して機能させることを特徴とする認識処理プログラム。
【請求項3】
認識処理装置が行う認識処理方法において、
前記認識処理装置は、器具認識手段、第1の画像取得手段、器具部分認識手段、2D座標認識手段、及び3D座標認識手段を有し、
前記器具認識手段は、棒形状の器具を所持する1又は複数の所持者を複数の撮像装置で撮像された撮像画像のそれぞれについて、前記器具が写っている位置を認識する器具認識処理を行い
前記第1の画像取得手段は、それぞれの前記撮像画像から、前記器具認識処理の結果を利用して、前記器具とその近傍のみを含む器具近傍領域の器具近傍領域画像を取得し、
前記器具部分認識手段は、それぞれの前記器具近傍領域画像から、前記器具の所定部分が写っている位置を認識する器具部分認識処理を行い、
前記2D座標認識手段は、前記器具部分認識処理の結果に基づいて、前記撮像画像上で前記所定部分の位置に対応する2D座標を取得し、
前記3D座標認識手段は、それぞれの前記撮像画像に基づいて前記2D座標認識手段が認識した前記所定部分の2D座標を、前記所持者が存在する3D空間上の3D座標に変換して取得し、取得した前記所定部分の3D座標に基づき、前記3D空間内における前記所定部分の位置に対応する3D座標を認識して取得する
ことを特徴とする認識処理方法。
【請求項4】
棒形状の器具を所持する1又は複数の所持者を複数の撮像装置と、それぞれの前記撮像装置が撮像した撮像画像に基づいて前記所持者が所持する前記器具の位置を認識する認識処理装置と、前記認識処理装置が行った認識処理の結果に基づいて前記撮像画像又は前記撮像画像を加工した画像に前記器具の位置に応じた画像を合成した合成画像を生成するビジュアル処理装置とを有するビジュアライズシステムであって、前記認識処理装置として請求項1に記載の認識処理装置を適用したことを特徴とするビジュアライズシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、認識処理装置、認識処理プログラム、認識処理方法、及びビジュアライズシステムに関し、例えば、剣術系の競技(例えば、フェンシング、剣道等のスポーツや武道)において競技者(所持者)が所持する器具(例えば、剣、刀/竹刀等)を含む認識処理を伴うシステムに適用し得る。
【背景技術】
【0002】
従来、剣術系の競技において競技者の動作を認識する技術としては、特許文献1の記載技術が存在する。
【0003】
特許文献1の記載技術では、4色以下のカラーマーカが装着された競技者の体を撮像することにより、着衣の色又は照明環境によらず、競技者の動作解析を行う。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2019-141262号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来は、特許文献1の記載技術のように、剣術系の競技において競技者の動作を認識する際には、競技者に動作を認識するための目印となるマーカを取り付ける必要があった。競技者にマーカを取り付けることで、競技者の動作を認識しやすくすることができるが、マーカ自体が競技の妨げとなるため、正規の試合や大会で適用することができない等の問題が存在する。
【0006】
上記のような問題に鑑みて、剣術系の競技において、マーカを用いずに競技者が所持する器具を含む動作を認識することができる認識処理装置、認識処理プログラム、認識処理方法、及びビジュアライズシステムが望まれている。
【課題を解決するための手段】
【0007】
第1の本発明の認識処理装置は、(1)棒形状の器具を所持する1又は複数の所持者を複数の撮像装置で撮像された撮像画像のそれぞれについて、前記器具が写っている位置を認識する器具認識処理を行う器具認識手段と、(2)それぞれの前記撮像画像から、前記器具認識処理の結果を利用して、前記器具とその近傍のみを含む器具近傍領域の器具近傍領域画像を取得する第1の画像取得手段と、(3)それぞれの前記器具近傍領域画像から、前記器具の所定部分が写っている位置を認識する器具部分認識処理を行う器具部分認識手段と、(4)前記器具部分認識処理の結果に基づいて、前記撮像画像上で前記所定部分の位置に対応する2D座標を取得する2D座標認識手段と、(5)それぞれの前記撮像画像に基づいて前記2D座標認識手段が認識した前記所定部分の2D座標を、前記所持者が存在する3D空間上の3D座標に変換して取得し、取得した前記所定部分の3D座標に基づき、前記3D空間内における前記所定部分の位置に対応する3D座標を認識して取得する3D座標認識手段とを有することを特徴とする。
【0008】
第2の本発明の認識処理プログラムは、コンピュータを、(1)棒形状の器具を所持する1又は複数の所持者を複数の撮像装置で撮像された撮像画像のそれぞれについて、前記器具が写っている位置を認識する器具認識処理を行う器具認識手段と、(2)それぞれの前記撮像画像から、前記器具認識処理の結果を利用して、前記器具とその近傍のみを含む器具近傍領域の器具近傍領域画像を取得する第1の画像取得手段と、(3)それぞれの前記器具近傍領域画像から、前記器具の所定部分が写っている位置を認識する器具部分認識処理を行う器具部分認識手段と、(4)前記器具部分認識処理の結果に基づいて、前記撮像画像上で前記所定部分の位置に対応する2D座標を取得する2D座標認識手段と、(5))それぞれの前記撮像画像に基づいて前記2D座標認識手段が認識した前記所定部分の2D座標を、前記所持者が存在する3D空間上の3D座標に変換して取得し、取得した前記所定部分の3D座標に基づき、前記3D空間内における前記所定部分の位置に対応する3D座標を認識して取得する3D座標認識手段として機能させることを特徴とする。
【0009】
第3の本発明は、認識処理装置が行う認識処理方法において、(1)前記認識処理装置は、器具認識手段、第1の画像取得手段、器具部分認識手段、2D座標認識手段、及び3D座標認識手段を有し、(2)前記器具認識手段は、棒形状の器具を所持する1又は複数の所持者を複数の撮像装置で撮像された撮像画像のそれぞれについて、前記器具が写っている位置を認識する器具認識処理を行い、(3)前記第1の画像取得手段は、それぞれの前記撮像画像から、前記器具認識処理の結果を利用して、前記器具とその近傍のみを含む器具近傍領域の器具近傍領域画像を取得し、(4)前記器具部分認識手段は、それぞれの前記器具近傍領域画像から、前記器具の所定部分が写っている位置を認識する器具部分認識処理を行い、(5)前記2D座標認識手段は、前記器具部分認識処理の結果に基づいて、前記撮像画像上で前記所定部分の位置に対応する2D座標を取得し、(6)前記3D座標認識手段は、それぞれの前記撮像画像に基づいて前記2D座標認識手段が認識した前記所定部分の2D座標を、前記所持者が存在する3D空間上の3D座標に変換して取得し、取得した前記所定部分の3D座標に基づき、前記3D空間内における前記所定部分の位置に対応する3D座標を認識して取得することを特徴とする。
【0010】
第4の本発明は、棒形状の器具を所持する1又は複数の所持者を複数の撮像装置と、それぞれの前記撮像装置が撮像した撮像画像に基づいて前記所持者が所持する前記器具の位置を認識する認識処理装置と、前記認識処理装置が行った認識処理の結果に基づいて前記撮像画像又は前記撮像画像を加工した画像に前記器具の位置に応じた画像を合成した合成画像を生成するビジュアル処理装置とを有するビジュアライズシステムであって、前記認識処理装置として第1の本発明の認識処理装置を適用したことを特徴とする。
【発明の効果】
【0011】
本発明によれば、棒形状の器具(例えば、フェンシング等の剣術系の競技で用いられる剣)を所持する所持者(例えば、フェンシング等の競技者)について、マーカを用いずに所持者が所持する器具を含む動作を認識することができる。
【図面の簡単な説明】
【0012】
図1】実施形態に係るビジュアライズシステムの全体構成について示したブロック図である。
図2】実施形態に係るビジュアライズシステムで、処理される3D空間のモデル(構成例)について示した斜視図である。
図3】実施形態に係るビジュアライズシステムにおける各装置の配置位置の例(その1)について示した図(その1)である。
図4】実施形態に係るビジュアライズシステムにおける各装置の配置位置の例(その1)について示した図(その2)である。
図5】実施形態に係る各カメラで撮像の対象となる撮像空間について示した図(斜視図)である。
図6】実施形態に係るキャリブレーションオブジェクトの斜視図である。
図7】実施形態に係るキャリブレーションオブジェクトの吊下げ部を拡大して示す正面図である。
図8】実施形態に係るキャリブレーションオブジェクトを、競技領域内に設置した状態について示した図(斜視図)である。
図9】実施形態に係る認識処理装置のキャリブレーション処理部で行われるキャリブレーション処理の流れについて示したフローチャートである。
図10】実施形態に係る認識処理装置のキャリブレーションで用いられる基準位置の例について示した図である。
図11】実施形態に係る認識処理装置の動作の例について示したフローチャートである。
図12】実施形態に係るLiderセンサと撮像領域(競技領域)内で競技中の競技者との位置関係について示した図(上側から見た図)である。
図13】実施形態に係るLiderセンサによる検知結果の例について示した図である。
図14】実施形態に係る第1ステージ認識処理部で処理される画像の例について示した図(その1)である。
図15】実施形態に係る第1ステージ認識処理部で剣認識処理により検出されたバウンディングボックスと剣近傍領域の例について示した図(その1)である。
図16】実施形態に係る第2ステージ認識処理部で剣近傍領域画像から、各競技者が所持する剣の剣先及び剣元の2D座標を認識する処理の例について示した図(その1)である。
図17】実施形態に係る第2ステージ認識処理部が行う剣先/剣元認識処理の流れについて示したフローチャートである。
図18】実施形態に係る第1ステージ認識処理部で処理される画像の例について示した図(その2)である。
図19】実施形態に係る第1ステージ認識処理部で剣認識処理により検出されたバウンディングボックスと剣近傍領域の例について示した図(その2)である。
図20】実施形態に係る第2ステージ認識処理部で剣近傍領域画像から、各競技者が所持する剣の剣先及び剣元の2D座標を認識する処理の例について示した図(その2)である。
図21】実施形態に係る第2ステージ認識処理部が行う左右判断処理の流れについて示したフローチャートである。
図22】実施形態に係る第2ステージ認識処理部で処理される剣先角度の設定例について示した図である。
図23】実施形態に係る第2ステージ認識処理部(第3の識別器)による剣先角度の識別処理の例について示した図である。
図24】実施形態に係るビジュアル処理装置が出力する出力画像の例について示した図である。
図25】実施形態に係る教師データ処理装置の機能的構成について示した図である。
図26】実施形態に係る教師データ処理装置で用いられるカメラの設置環境の例について示した図である。
図27】実施形態に係る教師データ処理装置(サンプル位置入力受付部)がオペレータからサンプル画像に対するサンプル位置情報の入力を受け付ける際の操作画面の例について示した図である。
【発明を実施するための形態】
【0013】
(A)主たる実施形態
以下、本発明による認識処理装置、認識処理プログラム、認識処理方法、及びビジュアライズシステムの一実施形態を、図面を参照しながら詳述する。
【0014】
(A-1)実施形態の構成
図1は、この実施形態のビジュアライズシステム1の全体構成を示すブロック図である。
【0015】
ビジュアライズシステム1は、フェンシングの競技者について剣を含む動作を認識する処理(以下、「動作認識処理」と呼ぶ)を行い、動作認識処理の結果に基づいて競技者を撮像した画像を処理するシステムである。
【0016】
ビジュアライズシステム1は、動作認識処理を行う認識処理装置100、競技中に競技者が位置する領域(以下、「競技領域」と呼ぶ)における競技者の位置を検知(光学的に検知)する2台のLiDarセンサ20(20-1、20-2)、ビジュアル処理を行うビジュアル処理装置200と、競技領域を含む領域を撮像する24台のカメラ30(30-1~30-24)、及び競技者の有効な攻撃(競技のルール上有効な攻撃)を電気的に検出する審判器40を有している。なお、LiDarセンサ20及びカメラ30を設置する台数は上記の数に限定されないものである。
【0017】
各カメラ30としては、動画撮像が可能な種々のデジタルカメラを適用することができる。ここでは、カメラ30は、4K60Pの動画撮影が可能なデジタルカメラであるものとする。ビジュアライズシステム1において、各カメラ30には、固有のカメラIDが付与されているものとする。ここでは、カメラ30-1~30-24にはそれぞれ1~24のカメラIDが付与されているものとする。また、ビジュアライズシステム1では、各カメラ30で撮像される画像(フレーム)について時系列を特定するフレームIDが付与されているものとする。各カメラ30において同一時系列の画像には同一のフレームIDが付与されるように同期した管理がなされているものとする。すなわち、ビジュアライズシステム1では、カメラIDとフレームIDにより、いずれのカメラ30でいつの時点で撮像されたフレームであるかを特定することが可能となっているものとする。
【0018】
図2は、ビジュアライズシステム1で、処理される3D空間CSのモデル(構成例)について示した斜視図である。
【0019】
3D空間CSは、図2に示すように、互いに直交する3つの軸(X軸、Y軸、Z軸)の座標系により位置が定まる空間である。以下では、各カメラ30で撮像される画像等二次元的な画像を「2D画像」と呼び、2D画像上の各座標(2次元座標)の画素をそれぞれ2D画素と呼ぶものとする。
【0020】
図2に示すように、3D空間CSでは、床面FRに設定された原点P0を基準とする座標系が設定されている。3D空間CSでは、原点P0を基準として、図2の方向から見て右方向が+X方向、左方向が-X方向、手前側の方向が-Y方向、奥側の方向が+Y方向、上方向が+Z方向、下方向が-Z方向となっている。以下では、3D空間CS内の座標を示す場合(X,Y,Z)の形式で示すものとする。例えば、X軸の位置が1、Y軸の位置が1、Z軸の位置が1の座標は(1,1,1)と表されるものとする。したがって、原点P0の座標は(0,0,0)となる。3D空間CSの各3D座標に対応する実際の位置(原点P0からの物理的な距離(実寸))は、3D空間CSにおける3D画像の解像度(各3D画素の実寸)に応じた位置となる。例えば、各3D画素のX軸方向の実寸が5mmであった場合、座標(1,0,0)に対応する物理的な位置は、原点P0から右方向に5mmの位置ということになる。以上のように、3D空間CSの各座標は原点P0を基点とする実際の位置と対応付けられる。
【0021】
図2では、床面FR上に、フェンシングの競技中にルール上競技者が存在を許されるピストを含む領域(以下、「競技領域」と呼ぶ)としてFB1が図示されている。競技領域FB1は、原点P0を中心点とするフェンシングのルールに従った長方形(矩形)の形状である。図2では、競技領域の各頂点の座標をP101、P102、P103、P104と図示している。競技領域FB1は、フェンシングのルール(ピストの形状に関するルール)に従う場合、短手方向の寸法が1.5m~2.0m、長手方向の寸法が17m~18m(ピストの全長14mに、3m~4mのランバック(ピストの延長部分)を加えた寸法)となる。ここでは、競技領域FB1の長手方向の寸法は18mとし、短手方向の寸法を2.0mであるものとして説明する。
【0022】
以下では、図2に示すように、フェンシングの競技中に競技領域FB1に存在する第1の競技者を「FP1」と表し、第2の競技者を「FP2」と表すものとする。また、以下では、図2にしめすように、第1の競技者FP1が所持する剣(第1の競技者の剣)を「SW1」と表し、第2の競技者FP2が所持する剣(第2の競技者の剣)を「SW2」と表すものとする。以下では、図2の方から見て左側の競技者をFP1と表し、右側の競技者をFP2と表すものとする。
【0023】
ここでは、図2に示すように、競技領域FB1の長手方向の辺はX軸と並行(短手方向の辺はY軸と並行)であるものとする。また、図2では、競技領域FB1の中心点(原点P0)を通りY軸と並行(競技領域FB1の短手方向の辺と並行)な中心線L1と、競技領域FB1の中心点(原点P0)を通りX軸と並行(競技領域FB1の長手方向の辺と並行)となる中心線L2を図示している。
【0024】
また、図2では、床面FR上に、カメラ30により撮像が行われる際の目安となる領域(以下、「撮像領域」と呼ぶ)として競技領域FB1よりやや広い長方形(矩形)の領域FB2が図示されている。図2では、撮像領域FB2の各頂点の座標をP111、P112、P113、P114と図示している。ここでは、撮像領域FB2は、競技領域FB1と同じく原点P0を中心点とする長方形であるものとする。撮像領域FB2は、例えば、長手方向で競技領域FB1より2m長く、短手方向で0.5m長い領域としてもよい。
【0025】
図3図4は、それぞれビジュアライズシステム1におけるカメラ30及びLiDarセンサ20の配置位置の例について示した図(上側から見た図)である。
【0026】
図3図4に示すように、各カメラ30は、競技領域FB1の周囲を囲うように配置されている。図3図4に示すように24台のカメラ30-1~30-24のうち、競技領域FB1から近距離の位置(中心線L2から8m程度の位置)に半分の12台のカメラ30-1~30-12が配置されており、競技領域FB1から遠距離の位置(中心線L2から30m程度の位置)に、もう半分の12台のカメラ30-13~30-24が配置されている。なお、カメラ30及びLiDarセンサ20の数や配置位置は、競技中に各競技者が所持する剣について死角が発生しないような構成とすることが望ましい。
【0027】
まず、図3を用いて、近距離に配置されたカメラ30-1~30-12の配置例について説明する。
【0028】
図3では、中心線L1から-X方向に距離D21、D22、D23、D24、D25離れた位置の線(Y軸と並行となる線)をそれぞれ線LL1、LL2、LL3、LL4、LL5と図示している。なお、図3に示すように、線LL4は、競技領域FB1の短手方向の辺(-X方向の辺)と一致する線であり、線LL5は撮像領域FB2の短手方向の辺(-X方向の辺)と一致する線である。
【0029】
また、図3では、中心線L1から+X方向に距離D21、D22、D23、D24、D25離れた位置の線(Y軸と並行となる線)をそれぞれ線LR1、LR2、LR3、LR4、LR5と図示している。なお、図3に示すように、線LR4は、競技領域FB1の短手方向の辺(+X方向の辺)と一致する線であり、線LR5は撮像領域FB2の短手方向の辺(+X方向の辺)と一致する線である。
【0030】
さらに、図3では、中心線L2から-Y方向に距離D11離れた位置の線(X軸と並行となる線)をL3、中心線L2から+Y方向に距離D11離れた位置の線(X軸と並行となる線)をL4と図示している。
【0031】
図3に示すように、6台のカメラ30-1~30-6は、線L3に沿った位置P301~P306に配置されている。そして、図3に示すように線L3に沿った位置P301~P306は、それぞれX方向で線LL3、LL2、LL1、LR1、LL2、LL3の位置となっている。また、図3に示すように、6台のカメラ30-7~30-12は、線L4に沿った位置P307~P312配置されている。さらに、図3に示すように線L4に沿った位置P307~P312は、それぞれX方向で線LL3、LL2、LL1、LR1、LL2、LL3の位置となっている。
【0032】
次に、図4を用いて、遠距離に配置されたカメラ30-13~30-24の配置例について説明する。
【0033】
図4では、中心線L2から-Y方向に距離D31離れた位置の線(X軸と並行となる線)をL5、中心線L2から+Y方向に距離D32離れた位置の線(X軸と並行となる線)をL6と図示している。D31、D32は、30~40m程度であることが望ましい。
【0034】
図4に示すように、6台のカメラ30-13~30-18は、線L5に沿った位置P313~P318となっている。また、図4に示すように、6台のカメラ30-19~30-24は、線L6に沿った位置P319~P324となっている。遠距離に配置されたカメラ30-13~30-24の高さは、床面FRから高さ5m~8m程度であるものとする。遠距離に配置されたカメラ30-13~30-24は、斜め上から各競技者を見下ろす位置とすることでシステム全体としての死角を低減できる。なお、遠距離に配置されたカメラ30-13~30-24は、ピストからの距離から必然的に観客席に設置することになるため床面FRよりも高い位置となる。遠距離に配置されたカメラ30-13~30-24の具体的な配置位置は、観客席の都合により詳細な位置を変更するようにしてもよい。
【0035】
図4に示すように、カメラ30-13、30-14、30-19、30-20の位置P313、P314、P319、P320は、X軸方向で撮像領域FB2よりもやや-X方向に配置されている。なお、位置P313、P314は、実際には隣接した位置(ほぼ同じ位置)であることが望ましい。また、位置P319、P320は、実際には隣接した位置(ほぼ同じ位置)であることが望ましい。
【0036】
また、図4に示すように、カメラ30-15、30-16、30-21、30-22の位置P315、P316、P321、P322は、X軸方向で撮像領域FB2の範囲内(LL5~LR5の範囲内)に配置されている。なお、位置P315、P316は、実際には隣接した位置(ほぼ同じ位置)であることが望ましい。また、位置P321、P322は、実際には隣接した位置(ほぼ同じ位置)であることが望ましい。
【0037】
さらに、図4に示すように、カメラ30-17、30-18、30-23、30-24の位置P317、P318、P323、P324は、X軸方向で撮像領域FB2よりもやや+X方向に配置されている。なお、位置P317、P318は、実際には隣接した位置(ほぼ同じ位置)であることが望ましい。また、位置P323、P324は、実際には隣接した位置(ほぼ同じ位置)であることが望ましい。
【0038】
次に、LiDarセンサ20-1、20-2の配置位置について説明する。
【0039】
この実施形態において、LiDarセンサ20-1、20-2は、それぞれ位置P302とP303との間の位置201、位置P304とP305との間の位置202に配置されている。
【0040】
次に、各カメラ30の設定(光軸の方向、焦点位置(焦点距離)、及び視野角)の例について説明する。
【0041】
図5は、各カメラ30で主として撮像の対象となる空間(以下、「撮像空間」と呼ぶ)ISについて示した図(斜視図)である。
【0042】
図5に示すように、撮像空間ISは、撮像領域FBを底面とし、高さ(Z軸方向の寸法)をH11とする空間である。H11の高さは競技者の身長に応じた寸法とすることが望ましい。例えば、高さH11は、3m~4m程度とするようにしてもよい。
【0043】
すなわち、各カメラ30の光軸は撮像空間ISを通るように設定されることが望ましい。また、各カメラ30の焦点位置は、撮像空間ISの中に納まるように設定されることが望ましい。さらに、各カメラ30の視野には主として撮像空間ISが収まるような視野角が設定されることが望ましい。なお、以下では、各カメラ30の光軸に対応するベクトル(各カメラ30が撮像する視線際の視線のベクトル)を「視線ベクトル」とも呼ぶものとする。
【0044】
なお、各カメラ30の設定は以下のようになされることで、各カメラ30で撮像される画像を総合した場合の死角を少なくすることができる。
【0045】
以下では、撮像空間ISを、左から順に線LL3、LL2、LL1、LR1、LR2、LR3で区切った空間(以下、撮像空間ISが区切られた空間を「ブロック空間」と呼ぶものとする)。以下では、図3図4に示すように、撮像空間ISを「線LL1と線LR1」で区切られたブロック空間をBCと表すものとする。また、以下では、図3図4に示すように、「線LL1と線LL2」、「線LL2と線LL3」、「線LL3(線LL3と線LL5)」で区切られたブロック空間を、それぞれBL1、BL2、BL3と表すものとする。また、以下では、図3図4に示すように、撮像空間ISを「線LR1と線LR2」、「線LR2と線LR3」、「線LR3(線LR3と線LR5)」で区切られたブロック空間を、それぞれBR1、BR2、BR3と表すものとする。
【0046】
まず、図3を用いて、近距離に設置されたカメラ30-1~30-12の設定について説明する。
【0047】
各カメラ30(30-1~30-12)は、図示しないレンズ部分(光軸の根本部分)の高さ(Z軸方向の寸法)が概ね競技者の胴体部分の高さ(例えば、約1m程度の高さ)となるように設置されているものとする。そして、各カメラ30(30-1~30-12)の光軸は、水平(X軸-Y軸により形成される平面と並行)となるように設定されているものとする。図3では、各カメラ30(30-1~30-12)を示す円形のシンボルから伸びる矢印(一点鎖線の矢印)が、各カメラ30の光軸(視線ベクトル)の方向を示している。図3に示すように各カメラ30(30-1~30-12)の光軸は、線L2と直交する方向に設定されているものとする。以上のように、各カメラ30(30-1~30-12)の光軸は、高さが概ね1mの位置から水平に線L2の方向(線L2により切断される面と直交する方向)に伸びていることが望ましい。
【0048】
各カメラ30の焦点位置は、光軸と線L1(線L1により切断される面)との交点となるような焦点距離が設定されていることが望ましい。
【0049】
各カメラ30の視野角は、主として光軸の左右に隣接する2つのブロック空間を含むように設定することが望ましい。例えば、カメラ30-1には、視野に主として光軸の左右に隣接する2つのブロック空間BL3、BL2が納まるような視野角が設定されることが望ましい。また、例えば、カメラ30-2には、視野に主として光軸の左右に隣接する2つのブロック空間BL2、BL1が納まるような視野角が設定されることが望ましい。以下、カメラ30-3~30-12についても同様であるため詳しい説明を省略する。
【0050】
次に、図3図5を用いて、遠距離に設置されたカメラ30-13~30-24の設定について説明する。
【0051】
図3図4に示すように遠距離に設置されたカメラ30-13~30-24の焦点位置は、原点P0、床面FR上で中心線L2と線LL1との交点である位置PL2、床面FR上で中心線L2と線LR1との交点である位置PR2のいずれかに設定されているものとする。したがって、距離に設置されたカメラ30-13~30-24の光軸もそれぞれの焦点位置の方向に設定されることになる。すなわち、ここでは、遠距離に設置されたカメラ30-13~30-24の焦点位置は、撮像空間IS内で左側の代表位置PL2と中央の代表位置原点P0と右側の代表位置PR2に分散して設定されている。ここでは、カメラ30-13、30-15、30-19、30-21の焦点位置が中央の左側の位置PL2に設定されているものとする。また、ここでは、カメラ30-14、30-17、30-20、30-23の焦点位置が中央の原点P0に設定されているものとする。さらに、ここでは、カメラ30-16、30-18、30-22、30-24の焦点位置が右側の位置PR2に設定されているものとする。
【0052】
ここでは、焦点位置がPL2のカメラ30-13、30-15、30-19、30-21において、視野に主として左側のブロック空間BL3、BL2、BL1が含まれるような視野角が設定されているものとする。なお、カメラ30-13、30-15、30-19、30-21の視野には、左端のブロック空間BL3の全てが含まれている必要はなく、少なくとも競技領域FB1の左側の端部(線LL4)までの空間が含まれていればよい。
【0053】
また、ここでは、焦点位置が原点P0のカメラ30-14、30-17、30-20、30-23において、視野に主として中央のブロック空間BL1、BC、BR1が含まれるような視野角が設定されているものとする。
【0054】
さらに、ここでは、焦点位置がPR2のカメラ30-16、30-18、30-22、30-24において、視野に主として右側のブロック空間BL3、BL2、BL1が含まれるような視野角が設定されているものとする。なお、カメラ30-16、30-18、30-22、30-24の視野には、右端のブロック空間BR3の全てが含まれている必要はなく、少なくとも競技領域FB1の右側の端部(線LR4)までの空間が含まれていればよい。
【0055】
次に、ビジュアライズシステム1のキャリブレーション(例えば、動作認識処理やビジュアル処理に必要となるキャリブレーション)の際に、基準として用いられるオブジェクト(以下、「キャリブレーションオブジェクト」と呼ぶ)について説明する。
【0056】
図6は、ビジュアライズシステム1のキャリブレーションに用いることができるキャリブレーションオブジェクト50の斜視図である。
【0057】
キャリブレーションオブジェクト50は、三脚51と、三脚51から吊り下げられた吊下げ部52とを有している。
【0058】
三脚51は、種々のカメラ用の三脚を適用することができるため詳しい構成の説明を省略する。この実施形態の三脚51は、雲台部511と雲台部511を支持する3つの脚部512、513、514を有している。雲台部511と脚部512、513、514とを連結する構成については限定されないものであり種々のカメラ用の三脚と同様の構成(例えば、図示しない関節部材)を適用することができる。ここでは、脚部512、513、514は、それぞれ雲台部511と、図示しない関節部材により回動自在(間接部材の回転軸により回動自在)に取り付け(連結)されているものとする。すなわち、三脚51では、雲台部511に対する脚部512、513、514の角度の設定等により、雲台部511を任意の高さに設定することが可能である。
【0059】
そして、吊下げ部52は、支持部としての雲台部511の下面から吊り下げられている。
【0060】
なお、この実施形態では、吊下げ部52を所定の高さから吊り下げるための支持部材(吊下げ部52の上端を吊り下げるための支持部材)として三脚51を適用するものとして説明するが、三脚51以外の物を用いて吊下げ部52を所定の高さから吊り下げる支持手段を構成するようにしてもよい。例えば、脚立やクレーン等を用いて支持手段を構成するようにしてもよい。
【0061】
吊下げ部52には、3つのLEDランプ521(521-1~521-3)が取り付けされている。LEDランプ521-1~521-3は、それぞれリード線54により電源部53に電気的に接続されている。この実施形態では、電源部53は三脚51に固定されているが、三脚51の配置位置や三脚51を支持する構成については限定されないものである。ただし、キャリブレーションオブジェクト50を使用する際に、電源部53及びリード線54が吊下げ部52の吊下げ(雲台部511から正確に鉛直下方向へ吊下げ部52を吊り下げること)の妨げとならないように配置・構成されていることが望ましい。例えば、リード線54は十分な余長をもって吊下げ部52と電源部53との間が接続されていることが望ましい。
【0062】
なお、LEDランプ521-1~521-3の色は、緑色等撮像画像上検出しやすい色で発光するものであることが望ましい。
【0063】
また、吊下げ部52の下側の端には、吊下げ部52の吊下げ(雲台部511から正確に鉛直下方向へ吊下げ部52を吊り下げること)を促すと共に吊下げ部52を静止させるために、錘522(重り)が取り付けされている。錘522は、いわゆる下げ振り用の錘を適用することができる。
【0064】
すなわち、吊下げ部52は下げ振りの構成となっており、三脚51(雲台部511)から吊下げ部52を吊り下げることで、正確に錘522の位置の垂直上に、LEDランプ521-1~521-3を静止させることが可能な構成となっている。
【0065】
そして、この実施形態では、図6に示すように、吊下げ部52では、上からLEDランプ521-1、521-2、521-3の順に取り付けされている。
【0066】
図7は、吊下げ部52の詳細構成について示した図である。
【0067】
図7では、雲台部511と吊下げ部52のみを正面からみた図(正面図)となっている。
【0068】
図7に示すように、吊下げ部52では、細長い板形状(例えば、短手方向の幅が3cm程度)の吊下げ部材523に、LEDランプ521(521-1~521-3)が取り付けされている。LEDランプ521(521-1~521-3)は、それぞれ固定部材526(526-1~526-3)により吊下げ部材523の所定の位置に固定されている。固定部材526の構成については限定されないものであるが、例えば、粘着テープや結束部材(いわゆるタイラップ等)を適用することができる。また、LEDランプ521-1~521-3には、それぞれリード線54が接続されているため、この実施形態では、図7に示すようにLEDランプ521-1~521-3は、それぞれリード線54と共に固定部材526-1~526-3で吊下げ部材523に固定(巻き付け固定)されているものとする。なお、各LEDランプ521を吊下げ部材523に固定する方法は上記の方法に限定されないものであり、接着剤や固定用の治具等種々の方式を適用することができる。
【0069】
吊下げ部材523の材質については限定されないものであるが、例えば、アルミニウム板やステンレス板等の高剛性の金属板を適用することができる。
【0070】
吊下げ部材523の上端は、連結部材524を介して雲台部511の下面から連結(吊下げ)されている。吊下げ部材523の上端には、連結部材524を取り付けるための連結孔523aが形成されている。また、吊下げ部材523の下端には、連結部材525を介して錘522が吊下げられている。吊下げ部材523の下端には、連結部材525を取り付けるための連結孔523bが形成されている。
【0071】
連結部材524、525は、例えば、図7に示すような鎖形状の部材(例えば、複数の環が連結された部材)や紐形状の部材等、吊下げ部52(吊下げ部材523)の正確な吊下げを促す(妨げない)ものを適用することが望ましい。
【0072】
そして、図6では、錘522の下端からLEDランプ521-3までの寸法をD201、LEDランプ521-3からLEDランプ521-2までの寸法をD202、LEDランプ521-2からLEDランプ521-1までの寸法をD203と図示している。寸法D201、D202、D203は限定されないものであるが、ここでは、競技者の身長を考慮して、寸法D201+D202+D203=180cmとなるように設定されているものとする。具体的には、例えば、D201=0.3m、D202=1.0m、D203=0.5mに設定するようにしてもよい。
【0073】
これにより、キャリブレーションオブジェクト50において、錘522の下端が、「床面FRにわずかに接触する位置」又は「床面FRとわずかな隙間が発生する位置」で静止させることで、LEDランプ521-1、521-2、521-3の高さをそれぞれ床面FRから0.3m、1.3m、1.8mとすることができる。このように、D201、D202、D203をそれぞれ異なる比率に設定することで、カメラ30が逆さまになった状態で撮像されたとしても、その画像から各LEDランプ521の位置を正確に把握することが可能となる。
【0074】
例えば、図6に示すように、錘522の下端が原点P0で静止するようにキャリブレーションオブジェクト50を設置(三脚51を設置)することで、LEDランプ521-1、521-2、521-3の位置を、それぞれ原点P0の垂直上の所定の高さに位置させることができる。この場合、原点P0の位置は3D空間上で既知であるので、各LEDランプ521-1、521-2、521-3の位置も既知となる。
【0075】
図8は、キャリブレーションオブジェクト50を、競技領域FB1内に設置した状態について示した図(斜視図)である。
【0076】
ビジュアライズシステム1では、キャリブレーションオブジェクト50(吊下げ部52の錘522)を、3D座標が既知の位置(例えば、原点P0や原点P0との相対的な位置関係が明確な位置等)に設置して、各カメラ30で撮像させた2D画像を得ることにより、キャリブレーション(例えば、各カメラ30の2D画像上の2D座標と3D空間上の3D座標との変換係数を得る処理)を行うことができる。例えば、図8では、キャリブレーションオブジェクト50(吊下げ部52の錘522)を、原点P0に合わせて設置した状態について示している。ビジュアライズシステム1におけるキャリブレーション処理の詳細については後述する。
【0077】
次に、認識処理装置100の内部構成について説明する。
【0078】
図1では、認識処理装置100の機能的構成のブロック図も図示されている。
【0079】
図1に示すように認識処理装置100は、機能的には、スイッチコントロール部110、ディスパッチャ120、認識処理部130、3D構成処理部140、及びキャリブレーション処理部150を有している。
【0080】
認識処理装置100を構成する各要素は、それぞれコンピュータを用いてソフトウェア的に構成するようにしてもよいし、一部又は全部をハードウェア(例えば、専用の半導体チップ)を用いて構成するようにしてもよい。この実施形態では、認識処理装置100は1又は複数のコンピュータにプログラム(実施形態に係る認識処理プログラムを含む)をインストールすることにより構成されているものとする。すなわち、認識処理装置100を構成するハードウェア(コンピュータ)の数は限定されないものであり、複数のハードウェア群で構成される場合もあり得るものとする。
【0081】
スイッチコントロール部110は、各カメラ30から供給される撮像画像の信号(映像信号;動画像信号)を受信し、一部又は全部の信号を後段のディスパッチャ120に供給する機能を担っている。スイッチコントロール部110は、LiDarセンサ20(20-1、20-2)の検知結果に基づいて、各競技者の位置を推定し、その結果に基づいて動作認識処理に用いるカメラ30を選択し、選択したカメラ30からの信号を後段(ディスパッチャ120)に供給(スイッチング)する。この実施形態の例では、スイッチコントロール部110は、同時に最大8つのカメラ30を選択するものとして説明する。なお、認識処理装置100において、常に全てのカメラ30からの信号について処理する前提であれば、スイッチコントロール部110やLiDarセンサ20の構成は省略するようにしてもよい。認識処理装置100では、スイッチコントロール部110やLiDarセンサ20を備えることで、常に競技者が視野内に映っていると推定されるカメラ30からの信号のみを処理することが可能(効率的なリアルタイム処理が可能)となる。
【0082】
ディスパッチャ120は、スイッチコントロール部110から供給される各信号から、時系列ごとの撮像画像を取得し、取得した撮像画像又は撮像画像を加工した画像について後段(認識処理部130)に供給して動作認識処理を実行させる。
【0083】
認識処理部130は、ディスパッチャ120から供給された撮像画像(2D画像)について動作認識処理を行い、動作認識処理による検出結果を後段の3D構成処理部140に供給する。具体的には、認識処理部130は、動作認識処理として、供給された撮像画像上で、各競技者の剣SW(SW1、SW2)の位置に関する認識(検出)処理を行うものであり、第1ステージ認識処理部131、第2ステージ認識処理部132、及び認識結果出力処理部133を有している。また、認識処理部130には、動作認識処理の過程で機械学習された学習モデルにより識別する第1の識別器161、第2の識別器162、及び第3の識別器163を有している。
【0084】
3D構成処理部140は、認識処理部130から供給される動作認識処理の認識結果に基づいて、時系列ごとの各競技者の剣SW(SW1、SW2)の剣先及び剣元の3D座標(3D空間CS上の3D座標)を推定する処理(以下、「3D推定処理」とも呼ぶ)を行う。そして、3D構成処理部140は、時系列ごとの3D推定処理の結果をビジュアル処理装置200に供給する。
【0085】
キャリブレーション処理部150は、各カメラ30で撮像された画像に基づいて、各カメラ30のキャリブレーション(内部パラメータ及び外部パラメータを取得する処理を含む)の処理を行う。キャリブレーション処理部150は、3D座標が既知の位置(例えば、原点P0や原点P0との相対的な位置関係が明確な位置等)に設置されたキャリブレーションオブジェクト50(マーカとして機能する点灯した各LEDランプ521を含む)を各カメラ30に撮像させた2D画像(以下、「キャリブレーション用画像」と呼ぶ)を取得すると、当該キャリブレーション用画像に基づいて各カメラ30のキャリブレーション処理を行う。例えば、キャリブレーション処理部150は、キャリブレーション用画像上のマーカ(点灯した各LEDランプ521)の位置と、それぞれのマーカの3D座標等に基づいてキャリブレーション処理を行う。キャリブレーション処理部150におけるキャリブレーション処理の詳細については後述する。
【0086】
次に、ビジュアル処理装置200の内部構成について説明する。
【0087】
図1では、ビジュアル処理装置200の機能的構成のブロック図も図示されている。
【0088】
図1に示すようにビジュアル処理装置200は、機能的には、アダプタ210及びビジュアル処理部220を有している。
【0089】
ビジュアル処理装置200を構成する各要素は、それぞれコンピュータを用いてソフトウェア的に構成するようにしてもよいし、一部又は全部をハードウェア(例えば、専用の半導体チップ)を用いて構成するようにしてもよい。この実施形態では、ビジュアル処理装置200は1又は複数のコンピュータにプログラム(実施形態に係るビジュアル処理プログラムを含む)をインストールすることにより構成されているものとする。すなわち、ビジュアル処理装置200を構成するハードウェア(コンピュータ)の数は限定されないものであり、複数のハードウェア群で構成される場合もあり得るものとする。
【0090】
アダプタ210は、ビジュアル処理装置200に供給される各データ/信号を集約してビジュアル処理部220に供給する処理を担っている。アダプタ210は、認識処理装置100から供給されるデータ(時系列ごとの撮像画像、及び3D推定処理の結果を含むデータ)を取得してビジュアル処理部220に供給する。また、アダプタ210は、審判器40からの信号を取得してビジュアル処理部220に供給する。ここでは、審判器40は、一般的にフェンシングの試合で用いられる装置であり、審判器40からは所定のプロトコルに従った信号(例えば、競技者による攻撃の有効性を示す信号;以下「審判信号」と呼ぶ)が出力されるものとして説明する。
【0091】
ビジュアル処理部220は、取得した撮像画像又は撮像画像を加工した画像に、3D推定処理の結果及び又は審判信号に応じたエフェクト処理を行った画像(ビジュアル処理済画像)を出力する機能を担っている。
【0092】
(A-2)実施形態の動作
次に、以上のような構成を有するこの実施形態におけるビジュアライズシステム1の動作(実施形態に係る認識処理方法)について説明する。
【0093】
図9は、認識処理装置100のキャリブレーション処理部150で行われるキャリブレーション処理の流れについて示したフローチャートである。
【0094】
なお、ここでは、オペレータにより、撮像領域FB2内(競技領域FB1内)でキャリブレーションオブジェクト50の移動が行われるものとする。また、ここでは、キャリブレーション処理部150では、キャリブレーションオブジェクト50が設置された基準位置(錘522の位置)の3D座標(以下、単に「基準座標」とも呼ぶ)が保持されているものとして説明する。キャリブレーション処理部150が、キャリブレーションオブジェクト50が設置された基準座標を保持する方法については限定されないものである。例えば、キャリブレーション処理部150は、オペレータから現在の基準座標の入力を受けるようにしてもよい。基準座標の数(以下、「ポジション数」とも呼ぶ)は限定されないものであるが、例えば、図10に示すように、原点P0、中心線L2と線LL1との交点PL1、中心線L2と線LL2との交点PL2、中心線L2と線LL3との交点PL3、中心線L2と線LR1との交点PR1、中心線L2と線LR2との交点PR2、中心線L3と線LR1との交点PR3の7点を設定するようにしてもよい。ポジション数としては、6~18程度設定することが望ましい。
【0095】
まず、オペレータにより、キャリブレーションオブジェクト50が、最初の基準位置(3D座標が既知の位置)が設置されたものとする(S101)。なお、このとき、キャリブレーションオブジェクト50のLEDランプ521-1~521-3はオペレータの操作により点灯した状態であるものとする。また、このとき、キャリブレーション処理部150では、基準座標(キャリブレーションオブジェクト50の設置位置)が保持されているものとして説明する。
【0096】
次に、キャリブレーション処理部150が、キャリブレーション処理の対象となるカメラ30(視野内にキャリブレーションオブジェクト50が存在するカメラ30)が撮像した画像を取得したものとする(S102)。
【0097】
キャリブレーション処理部150が、ある時点でキャリブレーション対象となるカメラ30を特定し、キャリブレーション対象となるカメラ30が撮像した画像を取得する手順については限定されないものである。例えば、オペレータが、スイッチコントロール部110に対して、手動でキャリブレーション対象となるカメラ30の情報を入力し、スイッチコントロール部110にキャリブレーション対象となるカメラ30の信号のみをキャリブレーション処理部150に供給(スイッチ)させるようにしてもよいし、スイッチコントロール部110がLEDランプ521(LEDランプ521が点灯した際の特定の色(この実施形態では緑色))の写っているカメラ30の信号を選択してキャリブレーション処理部150に供給(スイッチ)させるようにしてもよい。
【0098】
キャリブレーション処理部150は、キャリブレーション対象のカメラ30が撮像した2D画像(以下、「サンプル画像」と呼ぶ)に基づいて、キャリブレーション対象のカメラ30の2D座標(2D画素)と、3D座標の対応付けのサンプル(以下、このサンプルについても「座標サンプル」と呼ぶ)を取得する(S103)。具体的には、キャリブレーション処理部150は、サンプル画像ごとに各LEDランプ521画写っている位置(例えば、各LEDランプ521が写っている領域の中心点)の2D座標を取得し、予め把握されている各LEDランプ521の3D座標と対応付け、座標サンプルとして取得する。
【0099】
次に、キャリブレーション処理部150は、今までに座標サンプルを取得したポジション数(キャリブレーションオブジェクト50を設置した基準座標(基準位置)の数)が閾値(例えば、6~18程度)に達したか否かを確認し(S104)、ポジション数が閾値に達した場合には後述するステップS105の処理に移行し、ポジション数が閾値未満の場合には後述するステップS106の処理に移行する。また、キャリブレーション処理部150では、閾値に基づく制御ではなく、オペレータからの手動の操作に応じて当該ループの処理をブレイクして後述するステップS105に移行するようにしてもよい。
【0100】
上述のステップS104で、ポジション数が閾値未満の場合、キャリブレーション処理部150は、オペレータによりキャリブレーションオブジェクト50のポジション変更(移動)がなされるまで待機し(S106)、上述のステップS102の処理に戻って次のポジションでのサンプル座標取得の処理に移行する。
【0101】
例えば、キャリブレーション処理部150は、オペレータからポジション変更が終了したことを示す所定の入力(例えば、図示しないキーボードやGUIを用いた所定の操作入力)が行われるまで待機するようにしてもよい。
【0102】
上述のステップS104で、ポジション数が閾値以上となったと判断された場合、キャリブレーション処理部150は、上述のステップS103で取得した座標サンプルに基づいて、各カメラ30について、キャリブレーション処理(カメラ30の内部パラメータ及び外部パラメータを算出する処理)を行い(S105)、一連のキャリブレーションの処理を終了する。
【0103】
次に、上述のステップS105で、キャリブレーション処理部150が行う処理の具体例について説明する。
【0104】
カメラ30のキャリブレーションについては種々の方式を適用することができる。カメラ30等のカメラモデルにおいて、座標サンプルに基づき内部パラメータ及び外部パラメータを取得際には、既存の理論やオープンソースの環境(ライブラリ)を用いたプログラムによる処理を適用することができる。カメラモデルにおいて座標サンプルに基づいたキャリブレーションを行うことが可能なオープンソースの環境としては、例えば、OpenCV(Open Source Computer Vision Library)等を適用することができる。以下では、カメラ30の内部パラメータ取得には、このOpenCVのカメラモデルを適用するものとして説明する。
【0105】
まず、キャリブレーション処理部150が、上述のステップS103で取得した座標サンプルのリストに基づき、カメラ30の内部パラメータを取得する処理について説明する。カメラ30において、キャリブレーション対象となる内部パラメータとしては、例えば、焦点距離、主点(光学的な中心位置〉、ゆがみ係数が挙げられる。OpenCVのカメラモデルには、キャリブレーション処理用の関数として、calibrateCamera関数等が用意されており、カメラ30の内部パラメータ取得にも適用することができる。
【0106】
一般的なカメラモデルでは、内部パラメータは、いわゆるカメラ行列を構成する焦点距離[fx,fy]、主点[cx,cy]、及び歪み係数[k,・・・,k,p,p,s,・・・,s]で表現される。例えば、このOpenCVの、calibrateCamera関数に、得られた座標サンプルのリスト、カメラ30の解像度、内部パラメータの初期値(例えば、カメラ30のスペックに基づく所定値)を入力して所定の処理を行うことで、求めるべき内部パラメータ(焦点距離、主点、及び歪み係数)を得ることができる。
【0107】
次に、キャリブレーション処理部150が、上述のステップS103で取得した座標サンプルのリストに基づき、カメラ30の外部パラメータを取得する処理について説明する。
【0108】
キャリブレーション処理部150は、外部パラメータとして、各カメラ30の位置及び姿勢を取得する。一般的なカメラモデルにおいて、位置はt、姿勢(回転)はRと表される。一般的なカメラモデルにおいて、座標サンプルに基づき外部パラメータ(位置t及び回転R)を取得する方法としては、例えば、Perspective-n-Point(以下、「PnP」と呼ぶ)問題の解法を利用する方法が挙げられる。PnP問題とは、3D空間中にある点群と,2D画像上にある点群の関係からカメラの位置姿勢を推定する問題であり種々の解法が存在する。すなわち、キャリブレーション処理部150は、得られた座標サンプルのリストを、このPnP問題の解法に当てはめることにより、カメラ30の外部パラメータ(位置t及び回転R)を得ることができる。PnP問題の解法について種々の方式を適用することができるため、ここでは詳しい説明を省略する。
【0109】
以上のように、キャリブレーション処理部150は、各カメラ30に対するキャリブレーション処理(内部パラメータ及び外部パラメータの取得)を行う。以下では、カメラ30のキャリブレーションで処理されるパラメータ(内部パラメータ及び外部パラメータを含むパラメータ)を総称して「カメラキャリブレーションパラメータ」と呼ぶ。キャリブレーション処理部150は、カメラ30ごとにカメラキャリブレーションパラメータを保持し、3D構成処理部140に供給する。その際、キャリブレーション処理部150は、カメラキャリブレーションパラメータにカメラIDを付加して保持する。
【0110】
次に、認識処理装置100において、撮像領域FB2(競技領域FB1)内に存在する競技者(FP1、FP2)の動作の認識処理の例について図11のフローチャートを用いて説明する。
【0111】
図11のフローチャートでは、任意の時点(以下、「注目時点」と呼ぶ)で、各カメラ30で撮像された2D画像に基づいて、当該次点における競技者FP1、FP2が所持する剣SW1、SW2の位置に関する認識処理を行う際の動作について示している。
【0112】
まず、認識処理装置100のスイッチコントロール部110が、注目時点におけるLiDarセンサ20-1、20-2の検知結果を取得して、撮像領域FB2内の検知結果を抽出して統合(LiDarセンサ20-1、20-2の検知結果を統合(マージ))する処理を行う(S201)。
【0113】
図12は、撮像領域FB2(競技領域FB1)と、撮像領域FB2(競技領域FB1)内で競技中の競技者FP1、FP2と、LiDarセンサ20-1、20-2との位置関係について示した図(上側から見た図)である。
【0114】
ここでは、LiDarセンサ20-1、20-2は、概ね競技者FP1、FP2の胴体部分の高さ(例えば、床面FRから1m)について、水平方向の物体を検知するように調整されているものとする。そうすると、スイッチコントロール部110では、LiDarセンサ20-1、20-2の検知結果から撮像領域FB2内の検知結果(サンプル点)のみを抽出することで、撮像領域FB2内における各競技者の位置を認識することができる。この実施形態では、2台のLiDarセンサ20を設置する例について示しているが、設置するLiDarセンサ20の数は限定されないものである。設置するLiDarセンサ20の数は1台としてもよいが、1台のみであると視野内で二人の競技者が重なった場合等に一方の競技者が死角に位置することになってしまうため、複数のLiDarセンサ20の検知結果をマージすることでより死角を少なくすることができる。
【0115】
図13は、撮像領域FB2内で競技者FP1、FP2が図12のように位置している場合における2つのLiDarセンサ20-1、20-2の検知結果(撮像領域FB2内で物体を検知した位置)を図示している。実際には、LiDarセンサ20が検知するデータは、レーザ光を反射する物体が存在する方向及び距離であるが、図13では各LiDarセンサ20が物体を検知した方向及び距離を位置として可視化した状態で図示している。
【0116】
図13では、競技者FP1、FP2の胴体部分の輪郭を一点鎖線で図示している。また、図12では、LiDarセンサ20-1が物体を検知した位置を三角形のマーカで図示し、LiDarセンサ20-2が物体を検知した位置を四角形のマーカで図示している。
【0117】
図13(a)は、LiDarセンサ20-1による検知結果を示しており、図13(b)はLiDarセンサ20-2による検知結果を示しており、図13(c)は2つのLiDarセンサ20-1、20-2の検知結果(13(a)、13(b)の検知結果)をマージした状態について図示している。
【0118】
図13(c)に示すように、2つのLiDarセンサ20-1、20-2の検知結果をマージすることで、各LiDarセンサ20間の死角を補う結果が得られる。
【0119】
以上のように、認識処理装置100のスイッチコントロール部110が、注目時点における各競技者の位置を検知することができる。
【0120】
次に、スイッチコントロール部110が、各LiDarセンサ20の検知結果を統合した内容(以下、「統合検知結果」と呼ぶ)に基づいて、競技者FP1、FP2が視野内に映っているカメラ(以下、「注目カメラ」と呼ぶ)を選択し、選択した注目カメラの信号がディスパッチャ120に供給されるように制御する(S202)。
【0121】
この実施形態の例では、スイッチコントロール部110は、統合検知結果に基づいて、第1の競技者FP1の位置と第2の競技者FP2の位置を含む空間を視野に収めているカメラ30を注目カメラとして選択するものとして説明する。例えば、統合検知結果が図13(c)のような内容であった場合を想定する。図13(c)の例では、第1の競技者FP1と第2の競技者FP2は、X軸方向でL_L_endとL_R_endとの間であるD_bandの範囲内に存在していることが認識可能である。この場合、スイッチコントロール部110は、図13(c)に示すように、中心線L2上(X軸方向)で、範囲D_bandの中間点であるL_midの位置(以下、「注目位置」と表す)PTを視野内に収めるカメラ30を選択するようにしてもよい。
【0122】
例えば、スイッチコントロール部110は、焦点位置(視線ベクトル)が注目位置PTと近いカメラ30を注目カメラとして選択するようにしてもよい。例えば、スイッチコントロール部110は、各カメラ30について、焦点位置(視線ベクトル)と注目位置PTとの最短距離を算出し、距離の短いカメラ30から順に8つを注目カメラとして選択するようにしてもよい。このとき、スイッチコントロール部110は、近距離のカメラ30(30-1~10-12)から焦点位置との注目位置PTが近い順に4台選択し、遠距離のカメラ30(30-13~10-24)から焦点位置との注目位置PTが近い順に4台選択するようにしてもよい。例えば、注目位置PTが図13(c)に示すような位置(原点P0からやや+X方向にずれた位置)である場合、スイッチコントロール部110は、近距離のカメラ30からカメラ30-3、30-4、30-9、30-10を選択し、遠距離のカメラ30からカメラ30-14、30-17、30-20、30-23を選択することになる。また、例えば、スイッチコントロール部110は、算出した注目位置PTの範囲ごと(X軸方向の位置の範囲ごと)に、予め適用する注目カメラのリストを設定しておくようにしてもよい。
【0123】
次に、ディスパッチャ120は、注目時点において注目カメラで撮像された2D画像(以下、「撮像2D画像」と呼ぶ)を、認識処理部130での処理に適したサイズにリサイズ(解像度を変更)して、認識処理部130(第1ステージ認識処理部131)に供給する(S203)。
【0124】
以下では、ディスパッチャ120がリサイズした2D画像を「リサイズ画像」と呼ぶものとする。ここでは、各カメラ30から出力される信号(ストリーム)は4K60Pの2D画像(例えば、解像度3840×2160の画像)で構成されているものとする。そして、ここでは、リサイズ画像の解像度は、576x320であるものとする。なお、リサイズ画像の解像度は限定されないものであるが、認識処理部130における認識処理に適当な解像度(例えば、処理速度や処理精度を鑑みて適当な解像度)であることが望ましい。また、認識処理部130の処理能力が十分であれば、撮像2D画像をリサイズ画像に変換する処理は省略するようにしてもよい。
【0125】
次に、認識処理部130の第1ステージ認識処理部131が、ディスパッチャ120から供給されたリサイズ画像を取得し、取得した各リサイズ画像から各競技者FP1、FP2の剣SW1、SW2全体の領域を認識する処理(以下、「剣認識処理」と呼ぶ)を行う(S204)。
【0126】
具体的には、第1ステージ認識処理部131は、取得したリサイズ画像から剣SW1、SW2のそれぞれの部分を含むバウンディングボックスを認識する処理を試みる。
【0127】
第1ステージ認識処理部131が、剣SW1、SW2のバウンディングボックスを認識する具体的な処理については限定されないものであるが、例えば、予め教師データを用いて学習させた学習モデルを用いた第1の識別器161(AIを用いた識別器)を用いて認識するようにしてもよい。剣検出処理には、種々のAIによる物体検出の識別器を適用することができるが、この実施形態では、YOLO(You Look Only Onse)v3による物体検出の識別器を用いるものとして説明する。YOLOv3を用いた識別器では、検出対象の物体を認識した領域のバウンディングボックスの位置情報(座標やサイズ)とその認識結果の確信度を含む情報を出力することができる。なお、リサイズ画像(撮像2D画像)では、カメラ30と各競技者と各剣との位置関係によっては、一方又は両方の剣について写っていない場合が有りえるため、1つの撮像2D画像から検出される剣全体のバウンディングボックスは理論的には0~2の範囲となる。第1ステージ認識処理部131は、確信度順に最大2つまでの剣と認識した領域のバウンディングボックスを剣認識処理の結果として取得する。なお、第1ステージ認識処理部131は、確信度が所定以下のバウンディングボックスについては剣認識処理の結果から除外するようにしてもよい。
【0128】
図14は、第1ステージ認識処理部131で処理されるリサイズ画像の例について示した図である。
【0129】
図15は、第1ステージ認識処理部131が、図14に示すリサイズ画像から認識される剣SW1、SW2のバウンディングボックスの例について示した図である。
【0130】
なお、本明細書において図示するリサイズ画像及び撮像画像は、図2の方向(-Yの方向)から見た画像であり、左側(-Xの側)に第1の競技者FP1が写り、右側(+Xの側)に第2の競技者FP2が写るものとして説明する。
【0131】
例えば、図14に示すように、各競技者FP1、FP2及び各剣SW1、SW2が写ったリサイズ画像が得られた場合、第1ステージ認識処理部131は、図15に示すように、各SW1、SW2のそれぞれについてバウンディングボックスBB_SW_1、BB_SW_2を認識する。
【0132】
次に、ディスパッチャ120は、注目時点において注目カメラで撮像された撮像2D画像から、剣認識処理により検出されたバウンディングボックスに基づき、剣及び剣の近傍を含む領域(以下、「剣近傍領域」と呼ぶ)をクロップした画像(以下、「剣近傍領域画像」と呼ぶ)を取得して第2ステージ認識処理部132に供給する(S205)。
【0133】
ディスパッチャ120は、撮像2D画像から、剣認識処理により認識されたバウンディングボックスと中心位置を同じくする所定サイズ(固定サイズ)の画像を剣近傍領域画像として取得(クロップ)する。バウンディングボックスのサイズは剣認識処理の結果により変動するが、剣近傍領域画像(クロップする画像のサイズ)は後段の処理に適した所定の固定サイズとすることが望ましい。
【0134】
図15では、剣認識処理により検出された剣SW1のバウンディングボックスBB_SW_1、BB_SW_2に対応する剣近傍領域A_SW_1、A_SW_2が図示されている。図15では、バウンディングボックスBB_SW_1、BB_SW_2の中心位置がPS_SW_1、PS_SW_2となっている。そして、剣近傍領域A_SW_1は、バウンディングボックスBB_SW_1と中心位置を同じくするV_SW(Y軸方向の長さ)×H_SW(X軸方向の長さ)の領域となっている。また、剣近傍領域A_SW_2は、バウンディングボックスBB_SW_2と中心位置を同じくするH_SW(X軸方向の長さ)V_SW(Y軸方向の長さ)の領域となっている。
【0135】
次に、認識処理部130の第2ステージ認識処理部132が、ディスパッチャ120から供給された剣近傍領域画像を取得し、取得した各剣近傍領域画像から剣先及び剣元の2D座標(撮像2D画像上の座標)を認識する処理(以下、「剣先/剣元2D認識処理」と呼ぶ)を行う(S206)。
【0136】
なお、以下では、撮像2D画像からクロップした画像内での2D座標を「ローカル2D座標」と呼び、撮像2D画像上の座標を「グローバル2D座標」又は単に「2D座標」と呼ぶものとする。ここでは、第2ステージ認識処理部132では、撮像2D画像内における剣検出領域画像の位置が把握されており、剣検出領域画像内のローカル2D座標をグローバル2D座標に変換する処理が可能であるものとして説明する。
【0137】
具体的には、第2ステージ認識処理部132は、取得した剣近傍領域画像について、写っている剣の剣先のバウンディングボックスと、剣元のバウンディングボックスを認識し、バウンディングボックスの認識結果に基づいて、剣近傍領域画像に映っている各剣先/剣元のグローバル2D座標を取得する。また、このとき、第2ステージ認識処理部132は、各剣先/剣元に対応するバウンディングボックス取得時の確信度を保持し、各剣先/剣元の情報に付加して認識結果出力処理部133に処理結果として供給する。
【0138】
第2ステージ認識処理部132が、剣近傍領域画像から剣先/剣元認識処理を行う具体的な処理については限定されないものであるが、例えば、予め教師データを用いて機械学習させた学習モデルを用いた第2の識別器162(AIを用いた識別器)を用いて認識するようにしてもよい。
【0139】
図16は、第2ステージ認識処理部132で剣近傍領域画像から、各競技者FP1、FP2が所持する剣SW1、SW2の剣先及び剣元の2D座標を認識する処理の例について示した図である。図16では、図15に示すような剣SW1、SW2のバウンディングボックスBB_SW_1、BB_SW_2に基づいて剣SW1、SW2の剣先及び剣元の2D座標を認識する処理について示している。図16(a)、図16(b)は、それぞれ競技者FP1、FP2が所持する剣SW1、SW2の剣近傍領域A_SW_1、A_SW_2の画像(剣近傍領域画像;クロップ画像)から、剣先及び剣元の2D座標を認識する処理について示している。
【0140】
図16(a)では競技者FP1が所持する剣SW1の剣先に対応するバウンディングボックスBB_T_1と、剣SW1の剣元に対応するバウンディングボックスBB_G_1が図示されている。図16(a)に示すような剣近傍領域画像が得られた場合、第2ステージ認識処理部132は、バウンディングボックスBB_T_1の中心位置P_T_1を剣SW1の剣先のグローバル2D座標として認識し、バウンディングボックスBB_G_1の中心位置P_G_1を剣SW1の剣元のグローバル2D座標として認識する。また、図16(b)では競技者FP2が所持する剣SW2の剣先に対応するバウンディングボックスBB_T_2と、剣SW1の剣元に対応するバウンディングボックスBB_G_2が図示されている。図16(b)に示すような剣近傍領域画像が得られた場合、第2ステージ認識処理部132は、バウンディングボックスBB_T_2の中心位置P_T_2を剣SW2の剣先のグローバル2D座標として認識し、バウンディングボックスBB_G_2の中心位置P_G_2を剣SW2の剣元のグローバル2D座標として認識する。
【0141】
以上のように、第2ステージ認識処理部132では、剣先/剣元2D認識処理が行われる。なお、剣先/剣元2D認識処理の詳細なプロセスについては後述する。
【0142】
次に、認識処理部130の認識結果出力処理部133は、剣先/剣元2D認識処理の結果に対応する撮像2D画像を特定するためのメタデータ(カメラID及びフレームIDを含むデータ)を付加して3D構成処理部140に供給する(S207)。
【0143】
次に、3D構成処理部140が、時系列(フレームID)ごとに剣先/剣元2D認識処理の結果を集計し、各競技者の剣先及び剣元の3D座標を推定し、推定した結果を取得してビジュアル処理装置200に供給する(S208)。
【0144】
次に、上述のステップS206における剣先/剣元認識処理の詳細について図17のフローチャートを用いて説明する。
【0145】
図17のフローチャートは、1つの注目カメラの撮像2D画像から得られる1つ又は2つの剣近傍領域画像から、剣ごと(競技者ごと)に区別して剣先/剣元のグローバル2D座標のペアを取得する処理について示している。図17のフローチャートの処理では、撮像2D画像ごとに、検出した各剣先/剣元についていずれの競技者の剣の剣先かを判別する処理も含まれる。
【0146】
まず、第2ステージ認識処理部132は、供給された各剣近傍領域画像から、それぞれ剣先及び剣元のバウンディングボックスを認識する(S301)。
【0147】
第2ステージ認識処理部132が、剣先及び剣元のバウンディングボックスを認識する具体的な処理については限定されないものであるが、例えば、予め教師データを用いて学習させた学習モデルを用いた識別器(AI)を用いて認識するようにしてもよい。剣先及び剣元のバウンディングボックスを認識する処理には、種々のAIによる物体検出の識別器を適用することができるが、この実施形態では、上述の通りYOLOv3の物体検出の識別器を用いるものとして説明する。1つの剣近傍領域画像では、剣先及び剣元がそれぞれ0個~2個の範囲で写り込むことになる。そのため、第2ステージ認識処理部132は、各剣近傍領域画像から、剣先及び剣元についてそれぞれ確信度順に最大2つまでバウンディングボックスを取得するものとする。なお、第2ステージ認識処理部132は、確信度が所定以下のバウンディングボックスについては剣先/剣元の認識結果から除外するようにしてもよい。
【0148】
例えば、図18に示す撮像2D画像から、図19に示すような2つの剣近傍領域A_SW_1、A_SW_2の画像がクロップされた場合、それぞれの剣近傍領域画像から図20に示すような剣先/剣元のバウンディングボックスが検出されることになる。
【0149】
図20の例では、剣近傍領域A_SW_1の画像からは2つの剣先のバウンディングボックスBB_T_1、BB_T_2と、1つの剣元のバウンディングボックスBB_G_1が検出された状態について示している。また、図20の例では、剣近傍領域A_SW_2の画像からは2つの剣先のバウンディングボックスBB_T_3、BB_T_4と、1つの剣元のバウンディングボックスBB_G_2が検出された状態について示している。図20に示すように、1つの剣近傍領域から複数の剣先及び又は剣元のバウンディングボックスが検出されることが有りえる。
【0150】
次に、第2ステージ認識処理部132は、それぞれの剣近傍領域画像で検出された剣先及び剣元のバウンディングボックスの中心位置のグローバル2D座標を取得する(S302)。
【0151】
次に、第2ステージ認識処理部132は、ステップS301の処理で、複数の剣先及び又は剣元のバウンディングボックスが検出された剣近傍領域画像があったか否かを判断し(S303)、複数の剣先及び又は剣元のバウンディングボックスが検出された剣近傍領域画像があった場合は後述するステップS304から動作し、そうでない場合は後述するステップS305から動作する。
【0152】
次に、第2ステージ認識処理部132は、それぞれの剣近傍領域画像で検出された剣先及び剣元のグローバル2D座標について距離が閾値未満となる組み合わせがあった場合マージ(いずれか一方を認識結果から捨象)する処理を行う(S304)。
【0153】
例えば、同じ剣先について2つの剣近傍領域画像でバウンディングボックスが検出された場合、その2つのバウンディングボックスの中心位置は計測誤差が無ければ一致することになるため、マージ(いずれか一方を捨象)することで正しく剣先と剣元のペアを検出することができる。この時設定する閾値は限定されないものであるが、実験等により予め、画像に基づく計測誤差を考慮した好適な値を設定することが望ましい。
【0154】
例えば、図20の例の場合、剣先のバウンディングボックスBB_T_1の中心位置P_T_1、同じく剣先のバウンディングボックスBB_T_4の中心位置P_T_4の位置がほぼ一致することになるためマージすることができる。このとき、第2ステージ認識処理部132は、2つのバウンディングボックスBB_T_1、BB_T_4のうち確信度が低い方の結果を捨象するようにしてもよい。
【0155】
次に、第2ステージ認識処理部132は、検出した剣先/剣元について、それぞれいずれの競技者の所持する剣に対応するかを判断する処理(以下、「左右判断処理」と呼ぶ)を行い(S305)、本フローチャートの処理を終了する。
【0156】
第2ステージ認識処理部132が行う左右判断処理の詳細については図21のフローチャートを用いて説明する。
【0157】
まず、第2ステージ認識処理部132は、各剣先(マージ処理後の各剣先)のグローバル2D座標をディスパッチャ120にして、ディスパッチャ120から各剣先とその近傍を含む領域(以下、「剣先近傍領域」と呼ぶ)をクロップした画像(以下、「剣先近傍領域画像」と呼ぶ)を取得する(S401)。
【0158】
ディスパッチャ120は、撮像2D画像から、各剣先のバウンディングボックスと中心位置を同じくする所定サイズ(固定サイズ)の画像を剣先近傍領域画像として取得する。バウンディングボックスのサイズは剣先の認識処理の結果により変動するが、剣先近傍領域画像は後段の処理に適した所定の固定サイズとすることが望ましい。以下では、剣先近傍領域画像の縦方向(垂直方向)の長さを「V_T」と表し、剣先近傍領域画像の横方向(水平方向)の長さを「H_T」と表すものとする。すなわち、剣先近傍領域画像は、V_T×H_Tのサイズの画像となる。剣先近傍領域画像のサイズ(V_T、H_T)については限定されないものであるが、例えば、剣先近傍領域画像内に剣の先端から概ね10cm程度の部分が写り込むように設定されていることが望ましい。
【0159】
例えば、図16(a)、図16(b)では、それぞれ剣SW1、SW2の剣先のバウンディングボックスBB_T_1、BB_T_2に対応する剣先近傍領域A_T_1、A_T_2が図示されている。図16(a)、図16(b)では、剣先近傍領域A_T_1、A_T_2は、中心位置をバウンディングボックスBB_T_1、BB_T_2と同じP_T_1、P_T_2とするV_T×H_Tのサイズの領域となる。
【0160】
次に、第2ステージ認識処理部132は、取得した各剣先近傍領域画像を第3の識別器163に入力して各剣先近傍領域画像に対応する剣先の向いている角度(以下、「剣先角度」と呼ぶ)を取得する(S402)。
【0161】
次に、図22を用いて、剣先角度の設定について説明する。
【0162】
この実施形態では、図22に示すように、剣先角度は-180°~+180°の間で変化する角度であるものとする。図22に示すように、剣先角度は上方向(+Zの方向)を0°として時計回りに正の方向に変化し、右方向(+Xの方向)が+90°、下方向(-Zの方向)が+180°となる。また、図22に示すように剣先角度は上方向を0°として反時計回りに負の方向に変化し、左方向(-Xの方向)が-90°、下方向が-180°となる。図22に示すように、左側に位置する第1の競技者FP1の剣SW1の剣先の剣先角度は通常正の角度となり、右側に位置する第2の競技者FP2の剣SW2の剣先の剣先角度は通常負の角度となる。すなわち、剣先角度が正の角度の剣先は第1の競技者FP1の剣SW1の剣先と判断でき、剣先角度が正の角度の剣先は第2の競技者FP2の剣SW2の剣先と判断できることになる。
【0163】
ここでは、第3の識別器163は、入力された剣先近傍領域画像について-180°~+180°の間の所定範囲について所定角度単位のグリッドで判定するものとする。以下では、第3の識別器163が剣先角度を判定する際にグリッドされた角度を「グリッド角度」と呼ぶものとする。例えば、ここでは、第3の識別器163は、入力された剣先近傍領域画像について-170°~-10°、+10°~+170°の範囲で、10°単位で変化するグリッド角度で判定するものとする。具体的には、第3の識別器163は、入力された剣先近傍領域画像について、-170°、-160°、…、-20°、-10°、+10°、+20°、…、+160°、+170°のいずれかのグリッド角度に分類する処理を行うものとする。なお、グリッド角度の数及び間隔については限定されないものである。すなわち、第3の識別器163には、それぞれのグリッド角度に対応する教師データ(剣先近傍領域画像のサンプルと剣先角度の正解データ)を用いて機械学習された学習モデルが適用されている。
【0164】
次に、第3の識別器163による剣先角度の識別処理の例について図23を用いて説明する。
【0165】
例えば、剣先近傍領域画像として図20(a)に示す剣先近傍領域A_T_1の画像が第3の識別器163に供給されると、図23(a)に示すように、第3の識別器163は剣先角度として50°を判断することになる。また、例えば、剣先近傍領域画像として図20(b)に示す剣先近傍領域A_T_2の画像が第3の識別器163に供給されると、図23(b)に示すように、第3の識別器163は剣先角度として-50°を判断することになる。
【0166】
以上のように、第2ステージ認識処理部132(第3の識別器163)は、各剣先近傍領域画像について剣先角度を識別する。
【0167】
次に、第2ステージ認識処理部132は、検出した剣先/剣元(上述のステップS304のマージ処理後に残った剣先/剣元)の数を確認し(S403)、1組の剣先/剣元のペアのみが検出された場合(マージ後に剣先と剣元の一方又は両方が1つのみ検出された場合)には後述するステップS404に移行し、2組の剣先/剣元のペアが検出された場合(マージ後に2つの剣先と2つの剣元が検出された場合)には後述するステップS405に移行する。
【0168】
上述のステップS403で、検出した剣先/剣元が1組の剣先/剣元のペアのみである場合、当該ペアの剣先を剣先角度のみに基づいて、いずれの剣SW1、SW1に対応するかを判定する処理(左右判定処理)を行い(S404)本フローチャートの処理を終了する。例えば、当該ペアの剣先の剣先角度が正の場合には当該ペアの剣先/剣元は左側の第1の競技者FP1のSW1のものであると判定するようにしてもよい。
【0169】
一方、上述のステップS403で、検出した剣先/剣元が2組の剣先/剣元のペアが検出された場合、各剣先の剣先角度と各剣先/剣元のグローバル2D座標に基づいて、各剣先/剣元の正しい組み合わせを判定し、各剣先の剣先角度を利用して剣SW1、SW2のいずれに対応するかを判定する(S405)。
【0170】
具体的には、第2ステージ認識処理部132は、剣元の位置のグローバル2D座標と剣先の位置のグローバル2D座標とを結ぶベクトル(以下、「ベクトル→a」と呼ぶ;以下の(1)式参照)と、剣先角度の方向のベクトル(以下、「ベクトル→b」と呼ぶ;以下の(2)式参照)との内積(→a・→b)がより大きくなる組み合わせを、正しい剣先/剣元の組み合わせと判定する。また、第2ステージ認識処理部132は、各剣元の位置に応じて左右判定処理を行うようにしてもよい。例えば、第2ステージ認識処理部132は、-X方向の側の剣元を第1の競技者FP1が所持する剣SW1の剣元と判定し、+X方向の側の剣元を第2の競技者FP2が所持する剣SW2の剣元と判定するようにしてもよい。これは、フェンシングの剣では、剣先の位置から剣先角度の延長線上に剣元が存在する蓋然性が高いという傾向に基づいた判定処理である。
→a=(剣先の位置)-(剣元の位置) …(1)
→b=角度を剣先角度θ_Tとする単位ベクトル …(2)
【0171】
ここで、図18図20図23に示す例を図21のフローチャートに当てはめた例について説明する。
【0172】
ここでは、第2ステージ認識処理部132(マージ処理後)において、剣先のグローバル2D座標としてP_T_1、P_T_3が検出され、剣元のグローバル2D座標としてP_G_1、P_G_2が検出されているものとする。そうすると、この例では剣元/剣先のペアが2組存在するためステップS405の処理に移行することになる。また、ここでは、上述の図23に示す通り、剣先のグローバル2D座標としてP_T_1、P_T_3に対応する剣先角度は、それぞれ+50°、-50°であったものとする。この場合、ステップS405において、第2ステージ認識処理部132では、剣先P_T_1、P_T_3と、剣元P_G_1、P_G_2の組み合わせを2パターンのいずれかに絞り込むことになる。ここで、仮に第2ステージ認識処理部132が剣先P_T_1に対応する剣元をP_G_1、P_G_2のいずれかに決定する場合を想定する。この場合、第2ステージ認識処理部132は、→bを50°の方向の単位ベクトルとし、→aをP_T_1とP_G_1を通るベクトルとした場合における→aと→bの内積(→a・→b)と、→aをP_T_1とP_G_2を通るベクトルとした場合における→aと→bの内積(→a・→b)とを比較する。この場合、→aをP_T_1とP_G_1を通るベクトルとした場合、→aは→b(50°の方向)とほぼ並行となることから、明らかに→aをP_T_1とP_G_2を通るベクトルとする場合よりも内積(→a・→b)は大きくなる。したがって、この場合、第2ステージ認識処理部132は、ステップS405において、剣先P_T_1と剣元P_G_1のペアと、剣先P_T_3と剣元P_G_2のペアが正しいと判断する。そして、剣元P_G_1は剣元P_G_2よりも-X方向(左側)にあるため、剣先P_T_1と剣元P_G_1のペアを競技者FP1の剣SW1と判断し、剣先P_T_3と剣元P_G_2のペアを競技者FP2の剣SW2と判断することになる。
【0173】
次に、3D構成処理部140の動作について説明する。
【0174】
3D構成処理部140は、キャリブレーション処理部150からカメラ30ごと(カメラIDごと)のカメラキャリブレーションパラメータを取得する。また、3D構成処理部140は、時系列ごと(フレームIDごと)の認識処理部130による動作認識処理の結果(各カメラ30(各注目カメラ)に対応する剣先/剣元のグローバル2D座標)を取得する。3D構成処理部140は、カメラ30ごとのカメラキャリブレーションパラメータと時系列ごとの動作認識処理の結果に基づいて、時系列毎の各競技者FP1、FP2の各剣SW1、SW2の剣先/剣元の3D座標を推定する処理を行う。
【0175】
具体的には、3D構成処理部140は、動作認識処理の結果から、各注目カメラが撮像した撮像2D画像上の剣先/剣元のグローバル2D座標を取得し、取得したグローバル2D座標をカメラキャリブレーションパラメータに基づいて3D座標(以下、「サンプル3D座標」と呼ぶ)に変換する。すなわち、3D構成処理部140では、各剣SW1、SW2の剣先/剣元(剣先×2点、剣元×2点)のそれぞれに対して、最大注目カメラ数分のサンプル3D座標が取得されることになる。
【0176】
そして、3D構成処理部140は、各剣SW1、SW2の剣先/剣元のそれぞれに対して得られた複数のサンプル3D座標から求めるべき3D座標を取得する処理を行う。サンプル3D座標群から実際の3D座標を取得する処理の具体的計算方法については限定されないものであり種々の方法を適用することができる。例えば、3D構成処理部140は、各注目カメラから、各3D座標サンプルへの3D空間CS(実空間)上の光線ベクトルを計算し、その複数の光線ベクトルの交わりそうな点を、求めるべき剣先/剣元の3D座標として取得するようにしてもよい。例えば、3D構成処理部140は、サンプル3D座標群からRANSAC(Random Sample Consensus)等のアルゴリズム(解法)を用いて外れ値と推定できるサンプルを除外して、より正確な3D座標を得るようにしてもよい。
【0177】
以上のように、3D構成処理部140では、時系列(フレームID)ごとの各競技者の剣SW1、SW2の剣先/剣元の3D座標(以下、「剣先/剣元3D座標」と呼ぶ)が取得される、そして、3D構成処理部140は、取得した時系列ごとの剣先/剣元3D座標をビジュアル処理装置200に供給する。
【0178】
次に、ビジュアル処理装置200の動作の例について説明する。
【0179】
アダプタ210は、認識処理装置100のスイッチコントロール部110から、各注目カメラで撮像された撮像2D画像を取得するとともに、認識処理装置100の3D構成処理部140から、時系列ごと(フレームIDごと)の剣先/剣元3D座標を取得する。また、アダプタ210は、審判器40からの信号も取得する。そして、アダプタ210は、取得した各データをビジュアル処理部220に供給する。
【0180】
ビジュアル処理部220は、撮像2D画像又は撮像2D画像を加工した画像に、時系列ごとの剣先/剣元3D座標や審判器40からの信号に基づく画像(以下、「エフェクト画像」と呼ぶ)をレンダリングした画像(以下、「出力画像」と呼ぶ)を生成して出力する。ビジュアル処理部220は、例えば、時系列ごとの撮像2D画像に基づいて各競技者FP1、FP2の周囲の任意の視点からの画像(以下、「自由視点画像」と呼ぶ)をレンダリングし、自由視点画像にさらにエフェクト画像をレンダリングした画像を出力画像(ビジュアル処理済画像)とするようにしてもよい。
【0181】
図24は、出力画像の例について示した図である。
【0182】
図24に示す出力画像(ビジュアル処理済画像)では、自由視点画像に、左側の競技者FP1が所持する剣SW1の剣先の軌跡を示すエフェクト画像G_E_001と、右側の競技者FP2が所持する剣SW2の剣先の軌跡を示すエフェクト画像G_E_002と、剣SW1、SW2が接触したことを示すエフェクト画像G_E_003がレンダリングされた状態について示している。
【0183】
(A-3)教師データの生成処理について
次に、第1の識別器161、第2の識別器162、及び第3の識別器163の機械学習に用いる教師データを生成する教師データ処理装置60(実施形態に係る教師データ処理プログラム及び教師データ処理方法を含む)について説明する。教師データ処理装置60については、ビジュアライズシステム1自体に含む構成としてもよいが、ここでは便宜上別構成として説明する。
【0184】
図25は、教師データ処理装置60の機能的構成について示した図である。
【0185】
教師データ処理装置60は、第1の識別器161、第2の識別器162、及び第3の識別器163の機械学習に用いる教師データを生成する処理を行う装置である。
【0186】
また、教師データ処理装置60には教師データに適用するサンプル画像を撮像するための8台のカメラ70(70-1~70-8)が配置されている。なお、カメラ70の数は限定されないものである。
【0187】
図26は、カメラ70を設置する環境の例について示した図である。
【0188】
図26では、2人の競技者FP1、FP2がそれぞれ実際のフェンシングの試合と同様の剣SW1、SW2を所持した状態について図示している。
【0189】
ここでは、各カメラ70は、図26に示すような競技者FP1、FP2が位置する領域の周囲を囲うように配置されているものとして説明する。各カメラ70の具体的な配置位置は限定されないものである。
【0190】
教師データ処理装置60では、各競技者FP1、FP2が剣SW1、SW2を所持した状態(図26の状態)で撮像したサンプル画像についてオペレータから手動で、各剣SW1、SW2の剣先/剣元の位置(グローバル2D座標)の位置情報(以下、「サンプル位置情報」とも呼ぶ)の入力を受け付ける。
【0191】
次に、教師データ処理装置60の内部構成について説明する。
【0192】
教師データ処理装置60は、サンプル画像処理部610、サンプル位置情報処理部620、教師データ生成部630、及びサンプル位置入力受付部640を有している。
【0193】
教師データ処理装置60を構成する各要素は、それぞれコンピュータを用いてソフトウェア的に構成するようにしてもよいし、一部又は全部をハードウェア(例えば、専用の半導体チップ)を用いて構成するようにしてもよい。この実施形態では、教師データ処理装置60は1又は複数のコンピュータにプログラム(実施形態に係る教師データ処理プログラムを含む)をインストールすることにより構成されているものとする。すなわち、教師データ処理装置60を構成するハードウェア(コンピュータ)の数は限定されないものであり、複数のハードウェア群で構成される場合もあり得るものとする。
【0194】
サンプル画像処理部610は、カメラ70で撮像した2D画像に基づいてサンプル画像を取得する処理を行う。サンプル画像処理部610は、各カメラ70で撮像した2D画像をそのままサンプル位置入力受付部640に供給して表示させる。
【0195】
サンプル位置入力受付部640は、オペレータに対してサンプル画像を提示し、提示したサンプル画像に対するサンプル位置情報(各剣先/剣元の位置)の入力を受け付ける処理を行う。サンプル位置入力受付部640がオペレータからサンプル位置情報の入力を受け付ける際のインタフェースは限定されないものである。例えば、サンプル位置入力受付部640は、図示しないタッチパネルディスプレイやマウス/ディスプレイ等のデバイスを用いて、オペレータにサンプル画像を提示すると共にサンプル位置情報の入力を受け付けるようにしてもよい。
【0196】
図27は、サンプル位置入力受付部640がオペレータからサンプル画像に対するサンプル位置情報の入力を受け付ける際の操作画面の例について示した図である。
【0197】
例えば、サンプル位置入力受付部640は、オペレータに対して図27(a)のようなサンプル画像を表示した操作画面を提示し、図示しない入力デバイス(例えば、マウスやタッチパネル)を用いて図27(b)に示すように各剣元/剣先の位置(サンプル位置情報)の入力を受け付けるようにしてもよい。図27(b)では、ラベリングを受け付けた部分にひし形のシンボルを図示している。サンプル位置入力受付部640は、受け付けた各剣先/剣元の位置を2D画像上の2D座標(グローバル2D座標)に変換してサンプル位置情報として取得し、サンプル位置情報処理部620に供給する。このとき、サンプル位置入力受付部640は、剣先の位置と剣元の位置を区別して入力を受け付ける必要がある。例えば、サンプル位置入力受付部640は、剣先/剣元の位置の入力を受ける際に、当該位置が剣先であるのか剣元であるのかの選択入力を受け付けるようにしてもよい。
【0198】
サンプル位置情報処理部620は、サンプル位置情報を取得して教師データ生成部630に供給する機能を担っている。サンプル位置情報処理部620は、サンプル位置入力受付部640から供給されるサンプル位置情報を教師データ生成部630に供給する。
【0199】
教師データ生成部630は、サンプル画像処理部610から取得したサンプル画像とサンプル位置情報処理部620から取得したサンプル位置情報とを対応づけて教師データとして蓄積する。
【0200】
第1の識別器161では機械学習する際は、教師データ生成部630で生成された教師データをそのまま適用するようにしてもよい。また、第2の識別器162では機械学習する際には、教師データのサンプル画像のうち剣の部分(剣先及び剣元を含む部分)とその近傍の領域を含む矩形の領域をクロップした画像を教師データのサンプル画像として置き換えて適用するようにしてもよい。さらに、第3の識別器163では、機械学習する際には、教師データのサンプル画像のうち剣先の部分とその近傍の領域を含む矩形の領域をクロップした画像を教師データのサンプル画像として置き換えて適用するようにしてもよい。
【0201】
なお、第1の識別器161、第2の識別器162、第3の識別器163では、機械学習して学習モデルを生成する機能を搭載するようにしてもよいし機械学習する機能を別の構成要素(別装置)として構築するようにしてもよい。また、教師データ処理装置60自体に、第1の識別器161、第2の識別器162、第3の識別器163のそれぞれに対する教師データの加工や機械学習による学習モデルの生成処理まで含めて実行する構成を備えるようにしてもよい。
【0202】
(A-4)実施形態の効果
この実施形態によれば、以下のような効果を奏することができる。
【0203】
この実施形態の認識処理装置100では、2D撮像画像から剣全体の位置を認識した結果に基づく剣近傍領域画像を取得し、さらに剣近傍領域画像から剣先/剣元を認識している。このように、認識処理装置100では、2段階に分けて剣先/剣元を認識することで、2D撮像画像から直接剣先/剣元を認識するよりも高精度かつ効率的に剣先/剣元の検知を行うことができる。
【0204】
また、この実施形態の認識処理装置100では、剣先角度を用いることで、剣先/剣元の左右判断処理を実現している。
【0205】
さらに、この実施形態の認識処理装置100では、1段階目に剣全体を認識する際に2D撮像画像の解像度を粗くしたリサイズ画像を用いているため、より効率的な剣先/剣元の検知を行うことができる。
【0206】
さらにまた、この実施形態では、認識処理装置100における各カメラ30のキャリブレーションに、キャリブレーションオブジェクト50を用いたキャリブレーションを行っている。キャリブレーションオブジェクト50は、三脚51から吊り下げられた吊下げ部52にLEDランプ521-1~521-3が取り付けされており、下端に錘522が取り付けされている。これにより、キャリブレーションオブジェクト50では、各LEDランプ521-1~521-3の位置を基準位置(錘522の下の位置)の垂直上に正確且つ容易に静止させることができる。すなわち、この実施形態では、キャリブレーションにキャリブレーションオブジェクト50を適用することで、短時間で良好なキャリブレーション結果を得ることができる。
【0207】
(B)他の実施形態
本発明は、上記の各実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
【0208】
(B-1)上記の実施形態では、認識処理装置100を、各装置のキャリブレーションの制御処理と、3D画像結像の処理の両方を行う装置として説明したが、キャリブレーションのみ行う装置として構成し、3D画像結像の処理については別の装置で行うようにしてもよい。すなわち、キャリブレーションの制御処理と、3D画像結像の制御処理については別装置(別プログラム)として構成するようにしてもよいことは当然である。
【0209】
(B-2)上記の実施形態では、本発明のビジュアライズシステム及び認識処理装置をフェンシングの剣を含む動作を認識する処理に適用したが、剣道等の他の棒形状の器具を用いた剣術系の競技や、演舞(例えば、剣を所持した状態で踊りや演技を行う場合)に適用するようにしてもよい。すなわち、上記の実施形態では、本発明のビジュアライズシステム及び認識処理装置をフェンシングの競技に適用するため、剣の所持者(競技者)が2人存在することを前提としたが、本発明のビジュアライズシステム及び認識処理装置を演舞等に適用する場合は、認識対象となる剣及び剣の所持者の数は2に限定されず、1や3以上であってもよいことになる。
【符号の説明】
【0210】
1…ビジュアライズシステム、100…認識処理装置、110…スイッチコントロール部、120…ディスパッチャ、130…認識処理部、131…第1ステージ認識処理部、132…第2ステージ認識処理部、133…認識結果出力処理部、140…3D構成処理部、140…認識処理部3D構成処理部、150…キャリブレーション処理部、161…第1の識別器、162…第2の識別器、163…第3の識別器、200…ビジュアル処理装置、210…アダプタ、220…ビジュアル処理部、20、20-1、20-2…LiDarセンサ、20-2…LiDarセンサ、30、30-1~30-24…カメラ、40…審判器、50…キャリブレーションオブジェクト、51…三脚、52…吊下げ部、53…電源部、54…リード線、512、513、514…脚部、511…雲台部、521、521-1~521-3…LEDランプ、522…錘、523…吊下げ部材、60…教師データ処理装置、610…サンプル画像処理部、620…サンプル位置情報処理部、630…教師データ生成部、640…サンプル位置入力受付部、70、70-1~70-4…カメラ、SW、SW1、SW2…剣。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27