(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-29
(45)【発行日】2023-06-06
(54)【発明の名称】関節位置取得装置及び方法
(51)【国際特許分類】
G06T 7/20 20170101AFI20230530BHJP
【FI】
G06T7/20 300Z
(21)【出願番号】P 2020170170
(22)【出願日】2020-10-07
【審査請求日】2022-02-15
(73)【特許権者】
【識別番号】000101558
【氏名又は名称】アニマ株式会社
(74)【代理人】
【識別番号】100103137
【氏名又は名称】稲葉 滋
(74)【代理人】
【識別番号】100145838
【氏名又は名称】畑添 隆人
(72)【発明者】
【氏名】牛久保 智宏
【審査官】伊知地 和之
(56)【参考文献】
【文献】特開2020-140719(JP,A)
【文献】特開2007-061121(JP,A)
【文献】SHU ZHANG et al.,“Combining Kinect and PnP for camera pose estimation”,2015 8th International Conference on Human System Interaction (HSI),IEEE,2015年06月,DOI: 10.1109/HSI.2015.7170693
【文献】玉澤治夫他,動的現象の三次元画像解析,画像ラボ,日本,日本工業出版株式会社,2007年10月01日,第18巻 第10号,pp.62-65
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00
G06T 3/00 - 3/60
G06T 5/00 - 5/50
G06T 7/00 - 7/90
G06V 10/00 - 20/90
G06V 30/418
G06V 40/16
G06V 40/20
CSDB(日本国特許庁)
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
距離画像センサと、
少なくとも1つのカメラと、
前記距離画像センサにより取得した対象の距離画像に基づいて、当該対象の3D関節位置を推定する3D関節位置推定手段と、
前記カメラにより取得した対象のRGB画像に基づいて、当該対象の2D関節位置を推定する2D関節位置推定手段と、
カメラパラメータ取得手段と、
関節位置補正手段と、
を備え、
前記距離画像と前記RGB画像は同期して取得されており、
前記関節位置補正手段は、前記2D関節位置推定手段により推定された2D関節位置と前記カメラパラメータを用いて得られたカメラの光軸を用いて、前記3D関節位置推定手段により推定された3D関節位置を補正する、
関節位置取得装置。
【請求項2】
ある関節について、前記3D関節位置推定手段により3D関節位置が推定されており、
同じ関節について、前記2D関節位置推定手段により2D関節位置が推定されており、
前記関節位置補正手段は、前記推定された2D関節位置と前記カメラパラメータを用いて得られたカメラの光軸と、前記推定された3D関節位置との距離が最小となるように、前記推定された3D関節位置を補正する、
請求項1に記載の関節位置取得装置。
【請求項3】
同一体節上の第1関節と第2関節間の関節間距離が得られており、
第1関節の3D関節位置が得られており、
第2関節について、前記3D関節位置推定手段により3D関節位置が推定されており、
第2関節について、前記2D関節位置推定手段により2D関節位置が推定されており、
前記関節位置取得手段は、前記推定された第2関節の2D関節位置と前記カメラパラメータを用いてカメラの光軸を取得し、前記光軸と前記第1関節の3D関節位置との距離と、前記関節間距離との差が最小となるように、前記第2関節の複数の3D関節位置候補を取得し、前記複数の3D関節位置候補において、前記推定された第2関節の3D関節位置に近い候補を、前記第2関節の3D関節位置として採用する、
請求項1に記載の関節位置取得装置。
【請求項4】
前記3D関節位置推定手段により取得された各3D関節位置に対応するカメラ画像上の2D関節位置が得られており、
前記カメラパラメータ取得手段は、前記3D関節位置推定手段により取得された複数の3D関節位置のセットと、前記3D関節位置のセットの各3D関節位置に対応するカメラ画像上の2D関節位置のセットと、を用いて、前記カメラのカメラパラメータを取得する、
請求項1~3いずれか1項に記載の関節位置取得装置。
【請求項5】
前記距離画像センサと前記カメラは、複合センサとして一体化されている、請求項1~4いずれか1項に記載の関節位置取得装置。
【請求項6】
距離画像センサにより取得した時刻tの距離画像に基づいて、ある関節の3D関節位置が推定されており、
カメラにより取得した時刻tのRGB画像に基づいて、同じ関節の2D関節位置が推定されており、
3D関節位置の座標系と2D関節位置の座標系間のカメラパラメータが得られており、
前記推定された2D関節位置と前記カメラパラメータを用いてカメラの光軸を取得し、
前記光軸と前記推定された3D関節位置との距離が最小となるように、前記推定された3D関節位置を補正する、
関節位置取得方法。
【請求項7】
同一体節上の第1関節と第2関節において、時刻tの第1関節の3D関節位置が得られており、
距離画像センサにより取得した時刻tの距離画像に基づいて、第2関節の3D関節位置が推定されており、
カメラにより取得した時刻tのRGB画像に基づいて、第2関節の2D関節位置が推定されており、
3D関節位置の座標系と2D関節位置の座標系間のカメラパラメータが得られており、
第1関節と第2関節間の関節間距離が得られており、
前記推定された第2関節の2D関節位置と前記カメラパラメータを用いてカメラの光軸を取得し、
前記光軸と前記第1関節の3D関節位置との距離と、前記関節間距離との差が最小となるように、第2関節の複数の3D関節位置候補を取得し、
第2関節の前記複数の3D関節位置候補において、前記推定された第2関節の3D関節位置に近い候補を、第2関節の3D関節位置として採用する、
関節位置取得方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モーションキャプチャに係り、詳しくは、関節位置取得装置及び方法に関するものである。
【背景技術】
【0002】
スポーツやリハビリテーションの分野では、被験者の運動を記録・分析するために、モーションキャプチャを用いた3次元動作解析が行われる。モーションキャプチャ技術としては、光学式モーションキャプチャや慣性センサを用いたモーションキャプチャが知られている。光学式モーションキャプチャは、再帰性反射材が塗布された複数の光学式マーカを対象の身体に取り付け、赤外線カメラなどの複数のカメラで対象の動作を撮影することで、光学式マーカの移動軌跡から対象の動作を取得する。光学式モーションキャプチャでは、対象の身体に複数のマーカを装着する必要があるため、動作計測の準備に時間や人手がかかる、対象の動きが制限されて、自然な動きを妨げるおそれがある、という欠点がある。慣性センサを用いたモーションキャプチャにおいても、慣性センサを身体に取り付ける必要があることから、光学式モーションキャプチャと同様の欠点がある。特に、リハビリテーションにおいて、患者や高齢者の身体機能のモニタリングにモーションキャプチャを広く活用するためには、設備の簡略化、準備やキャプチャー後の後処理に関わる人手と時間の短縮、を通じてモーションキャプチャを低コスト化することが課題である。
【0003】
上記欠点を解決するためには、マーカや慣性センサを用いることがない、いわゆるマーカレス・モーションキャプチャが有利である。マーカレス・モーションキャプチャとしては、例えば、赤外線やLiDAR(Light Detection and Ranging)を用いて、TOF(Time Of Flight)方式で1枚の距離画像(深度画像)を取得し、取得した1枚の深度画像から関節位置を推定する手法が知られている(非特許文献1)。また、距離画像に基づいた骨格情報推定については、例えば、特許文献1~3にも記載されている。近年、距離画像方式を採用した比較的安価なモーションキャプチャが市場に登場しており(非特許文献2)、臨床現場での活用が期待されている(非特許文献3)。
【0004】
しかしながら、一般に、距離画像方式を用いたマーカレス・モーションキャプチャは、赤外線反射方式の光学式マーカを用いた三次元動作分析装置に比べて、関節位置の推定精度が落ちる傾向があり、リハビリテーションにおける三次元動作分析装置として利用するにはより高い精度が望ましいという課題がある。
【先行技術文献】
【特許文献】
【0005】
【文献】特許第6617830号
【文献】特許第5211069号
【文献】特許第6433149号
【文献】特開平10-149445
【非特許文献】
【0006】
【文献】J. Shotton et al., “Real-Time Human Pose Recognition in Parts from a Single Depth Image,”Proc. IEEE Conf. Computer Vision and Pattern Recognition (CVPR), IEEE CS Press, 2011, pp. 1297-1304.
【文献】Z. Zhang. Microsoft kinect sensor and its effect. IEEE MultiMedia, 19(2):4-10, Feb 2012.
【文献】マーカーレスモーションキャプチャによる三次元動作解析の応用例 春名 弘一, 昆 恵介, 稲垣 潤, 佐藤 洋一郎 日本義肢装具学会誌2019年 35 巻1号p.17-23
【発明の開示】
【発明が解決しようとする課題】
【0007】
本発明は、距離画像方式を用いて推定された関節位置の精度を高めることを目的とするものである。
【課題を解決するための手段】
【0008】
本発明が採用した第1の技術手段は、
距離画像センサと、
少なくとも1つのカメラと、
前記距離画像センサにより取得した対象の距離画像に基づいて、当該対象の3D関節位置を推定する3D関節位置推定手段と、
前記カメラにより取得した対象のRGB画像に基づいて、当該対象の2D関節位置を推定する2D関節位置推定手段と、
カメラパラメータ取得手段と、
関節位置補正手段と、
を備え、
前記距離画像と前記RGB画像は同期して取得されており、
前記関節位置補正手段は、前記2D関節位置推定手段により推定された2D関節位置と前記カメラパラメータを用いて得られたカメラの光軸を用いて、前記3D関節位置推定手段により推定された3D関節位置を補正する、
関節位置取得装置、である。
1つの態様では、前記距離画像センサと前記カメラは、複合センサとして一体化されている。
【0009】
1つの態様では、ある関節について、前記3D関節位置推定手段により3D関節位置が推定されており、
同じ関節について、前記2D関節位置推定手段により2D関節位置が推定されており、
前記関節位置補正手段は、前記推定された2D関節位置と前記カメラパラメータを用いて得られたカメラの光軸と、前記推定された3D関節位置との距離が最小となるように、前記推定された3D関節位置を補正する。
【0010】
1つの態様では、同一体節上の第1関節と第2関節間の関節間距離が得られており、
第1関節の3D関節位置が得られており、
第2関節について、前記3D関節位置推定手段により3D関節位置が推定されており、
第2関節について、前記2D関節位置推定手段により2D関節位置が推定されており、
前記関節位置取得手段は、前記推定された第2関節の2D関節位置と前記カメラパラメータを用いてカメラの光軸を取得し、前記光軸と前記第1関節の3D関節位置との距離と、前記関節間距離との差が最小となるように、前記第2関節の複数の3D関節位置候補を取得し、前記複数の3D関節位置候補において、前記推定された第2関節の3D関節位置に近い候補を、前記第2関節の3D関節位置として採用する。
第1関節の3D関節位置を得る手法は限定されない。1つの態様では、第1関節の3D関節位置は、後述する第1実施形態に係る手法により取得され、他の態様では、第1関節の3D関節位置は、3D関節位置推定手段により得られている(推定されている)。
【0011】
1つの態様では、前記3D関節位置推定手段により取得された各3D関節位置に対応するカメラ画像上の2D関節位置が得られており、
前記カメラパラメータ取得手段は、前記3D関節位置推定手段により取得された複数の3D関節位置のセットと、前記3D関節位置のセットの各3D関節位置に対応するカメラ画像上の2D関節位置のセットと、を用いて、前記カメラのカメラパラメータを取得する。
1つの態様では、前記カメラパラメータは記憶部に記憶されており、前記カメラパラメータ取得手段は、前記記憶部から前記カメラパラメータを取得する。
【0012】
本発明が採用した第2の技術手段は、関節位置取得方法であって、距離画像センサにより取得した時刻tの距離画像に基づいて、ある関節の3D関節位置が推定されており、
カメラにより取得した時刻tのRGB画像に基づいて、同じ関節の2D関節位置が推定されており、
3D関節位置の座標系と2D関節位置の座標系間のカメラパラメータが得られており、
前記推定された2D関節位置と前記カメラパラメータを用いてカメラの光軸を取得し、
前記光軸と前記推定された3D関節位置との距離が最小となるように、前記推定された3D関節位置を補正する。
【0013】
本発明が採用した第3の技術手段は、関節位置取得方法であって、同一体節上の第1関節と第2関節において、時刻tの第1関節の3D関節位置が得られており、
距離画像センサにより取得した時刻tの距離画像に基づいて、第2関節の3D関節位置が推定されており、
カメラにより取得した時刻tのRGB画像に基づいて、第2関節の2D関節位置が推定されており、
3D関節位置の座標系と2D関節位置の座標系間のカメラパラメータが得られており、
第1関節と第2関節間の関節間距離が得られており、
前記推定された第2関節の2D関節位置と前記カメラパラメータを用いてカメラの光軸を取得し、
前記光軸と前記第1関節の3D関節位置との距離と、前記関節間距離との差が最小となるように、第2関節の複数の3D関節位置候補を取得し、
第2関節の前記複数の3D関節位置候補において、前記推定された第2関節の3D関節位置に近い候補を、第2関節の3D関節位置として採用する。
【0014】
本発明が採用した第4の技術手段は、カメラパラメータの取得方法であって、
距離画像センサと、
少なくとも1つのカメラと、
前記距離画像センサにより取得した対象の距離画像に基づいて、当該対象の複数の3D関節位置を取得する関節位置推定手段と、
を備えたシステムにおいて、
前記距離画像と前記RGB画像は同期して取得されており、
前記関節位置推定手段により取得された各3D関節位置に対応するカメラ画像上の2D関節位置が得られており、
前記関節位置推定手段により取得された複数の3D関節位置のセットと、前記3D関節位置のセットの各3D関節位置に対応するカメラ画像上の2D関節位置のセットと、を用いて、前記カメラのカメラパラメータを取得する。
本手法では、いわば人体を校正用の治具として用いることにより、従来の光学式モーションキャプチャで用いていた校正用の治具を必要としない。
1つの態様では、カメラパラメータは、DLT(Direct linear Transformation)法を用いて取得される。
【発明の効果】
【0015】
本発明では、距離画像に基づいて推定された3D関節位置の精度を、カラー画像に基づいて推定された2D関節位置を用いて補正することで、距離画像方式を用いて推定された関節位置の精度を高める。
【図面の簡単な説明】
【0016】
【
図1】本実施形態に係る関節位置取得装置の全体図である。
【
図2】本実施形態に係る関節位置取得装置のハードウェア構成を示す図である。
【
図3】本実施形態に係る複合センサの座標系の関係を示す図である。
【
図4】本実施形態に係るカメラパラメータの取得を説明する図である。
【
図5】本実施形態に係る関節3D位置の推定ステップを示す図である。
【
図6】本実施形態に係る関節2D位置の推定ステップを示す図である。
【
図7】他の実施形態に係る関節位置取得を説明する図である。
【発明を実施するための形態】
【0017】
[A]関節位置取得装置の全体構成
図1に示すように、本実施形態に係る関節位置取得装置は、対象の深度画像(距離画像)を取得する距離画像センサと、対象のカラー画像(RGB画像)を取得するビデオカメラ(RGBカメラ)と、距離画像センサにより取得した対象の深度画像に基づいて、対象の3D関節位置を取得する3D関節位置推定手段と、ビデオカメラにより取得した対象のカラー画像(RGB画像)に基づいて、対象の2D関節位置を取得するポーズ推定手段(2D関節位置推定手段)と、を備えている。本実施形態では、距離画像センサとビデオカメラは一体型で複合センサを構成しているが、距離画像センサとビデオカメラが別体として提供されてもよい。
【0018】
深度画像とRGB画像は同期して取得されており、したがって、3D関節位置推定手段により取得された3D関節位置と、ポーズ推定手段(2D関節位置推定手段)により取得された2D関節位置と、は同期している。本実施形態に係る関節位置取得手段は、3D関節位置推定手段、2D関節位置推定手段に加えて、さらに、2D関節位置推定手段により取得された2D関節位置を用いて、3D関節位置取得手段により取得された3D関節位置を補正する手段を備えており、3D関節位置補正手段によって、補正後の3D関節位置が取得されて出力される。
【0019】
図2に示すように、本実施形態に係る3D関節位置推定手段、2D関節位置推定手段、関節位置補正手段は、メモリとプロセッサを備えたコンピュータから構成することができる。コンピュータは、距離画像センサ及びビデオカメラと一体型であっても、あるいは、クラウドベースであってもよい。メモリには、深度カメラ(距離画像センサ)によって取得された深度画像(距離画像)、及び、RGBカメラによって取得されたRGB画像が記憶される。深度画像データ及びRGB画像データは時系列データであり、同期されて記憶されている。
【0020】
メモリには、深度画像に基づいて3D関節位置を推定する3D関節位置推定プログラムが格納されており、3D関節位置プログラムがプロセッサによって実行されることで、3D関節位置が推定される。推定された3D関節位置はメモリに記憶される。
【0021】
メモリには、RGB画像に基づいて2D関節位置を推定する2D関節位置推定プログラムが格納されており、2D関節位置プログラムがプロセッサによって実行されることで、2D関節位置が推定される。推定された2D関節位置はメモリに記憶される。
【0022】
メモリには、ポーズ推定手段(2D関節位置推定手段)により取得された2D関節位置を用いて、3D関節位置取得手段により取得された3D関節位置を補正する関節位置補正プログラムが格納されており、関節位置補正プログラムがプロセッサに実行されることで、補正された3D関節位置が取得される。
【0023】
メモリには、骨格モデルが格納されており、取得された関節位置を骨格モデルで表現した対象のポーズがディスプレイに表示される。骨格モデルを用いた対象のポーズは、対象のRGB画像にオーバレイされて、ディスプレイに表示されてもよい。関節位置は時系列データとして取得され、骨格モデルを用いて、対象の運動データをディスプレイに表示してもよい。メモリには、所定の3次元動作解析プログラムが格納されており、運動データを用いて、プロセッサによって3次元動作解析プログラムを実行することで、3次元動作解析が実行される。解析結果を、所定の形式でディスプレイに表示してもよい。また、各関節の3D座標を取得した際に、プロセッサによって、各関節間の距離を算出し、算出した関節間距離をメモリに記憶してもよい。
【0024】
[B]複合センサ・システム
本実施形態における関節位置取得装置は、距離画像センサとRGBカメラが一体となった複合センサを備えており、この複合センサと3D関節位置推定手段とから複合センサ・システムが構成されており、複合センサの距離画像センサを用いて取得した深度画像に基づいて対象の3D関節位置(骨格情報)が推定される。このような複合センサ・システムの代表例として、kinect(登録商標)を挙げることができる。Kinectは赤外線投光器、奥行カメラ、カラー画像カメラから複合センサが構成されており、赤外線投光器と赤外線カメラから距離画像センサ(深度センサ)が構成されている。
【0025】
Kinectにはビデオカメラ(RGBカメラ)が搭載されており、RGBカメラにより対象のカラー画像を取得できるようになっている。カラーカメラにより取得されるRGB画像は、2次元画像上の位置情報(ピクセル位置情報)と、各ピクセルが有する色情報(RGB値)を備えている。
【0026】
Kinectには距離画像センサ(深度センサ)が搭載されており、距離情報(深度情報)を取得できる。Kinect v1では、Light Coding方式(US8493496B2参照)の深度センサを採用していた。Kinect v2では、Time of Flight(ToF)方式の深度センサを採用している。距離画像センサにより取得される深度画像は、2次元画像上の位置情報(ピクセル位置情報)と、各ピクセルに対応する深さ情報(奥行情報)を備えている。距離画像センサの距離画像データは、画像の二次元位置(u, v)を決めると、その光軸上の奥行きの値(L)を得られる画像(u, v, L)が得られる。
【0027】
Kinectは取得した距離画像に基づいて人物領域を取得し、人物領域の距離情報を識別器に入力することで関節位置を推定する3D関節位置推定手段を備えている。距離画像に基づいて、3D関節位置推定手段により取得された関節位置は、3次元座標を備えている。出力された関節情報は、関節の種類と関節の位置を表す3次元座標である。距離画像センサから出力される関節位置は、例えば、膝関節(X=20.00, Y=15.00, Z=800.20)というような関節と座標値の組み合わせデータである。
【0028】
複合センサにおいて、距離画像センサにより取得された距離画像とビデオカメラにより取得されたカラー画像は同期しており、同時刻tにおいて、距離画像、カラー画像、3D関節座標が得られる。カラー画像はカラー画像の座標系(ColorSapce)によって規定され、距離画像は距離画像の座標系(DepthSpace)によって規定され、3D関節位置は、距離画像センサを原点とする3次元座標系(CameraSpace)によって規定される。距離画像の2D座標と距離画像に基づいて推定された3D座標は対応しており、また、カラーカメラの2D画像(人物)と距離画像の2D画像(人物領域)の相互変換を行える関数が用意されている(
図3参照)。Kinectでは、カラー画像(Color座標系)上に関節位置(Camera座標系)を描画する機能が搭載されており、距離画像に基づいて推定された3D関節位置をカラーカメラの2D関節位置に変換することが可能となっている。カラー画像上において、関節位置は、例えば、色付き丸で表示される。なお、カラー画像の任意の2Dの位置に対応する3Dの位置の関係を取得する変換関数が利用可能となっているわけではないことに留意されたい。
【0029】
[C]3D関節位置推定
図5を参照しつつ、本実施形態に係る3D関節位置の推定ステップについて説明する。距離画像センサによって深度画像を取得する。取得した深度画像に基づいて、3D関節位置推定手段によって、3D関節座標を推定する。3D関節位置推定手段は、深度データ(距離画像データ)に基づいて人物領域を取得し、学習済モデルからなる識別器に人物領域の距離情報を入力することで関節位置を推定する。コンピュータのメモリには、対象の深度データに基づいて当該対象の3D関節位置を推定するプログラムが格納されており、当該プログラムがプロセッサに実行されることで、対象の3D関節位置を推定して出力する。対象の深度画像に基づいて、対象の関節の3次元座標値を推定すること自体は公知であり、特許文献1~3や非特許文献1にも記載されている。
【0030】
[D]2D関節位置推定
図6を参照しつつ、本実施形態に係る2D関節位置の推定ステップについて説明する。RGBカメラによってRGB画像を取得する。取得したRGB画像に基づいて、2D関節位置推定手段によって、2D関節座標を推定する。2D関節位置推定手段は、深層学習によって、単一のRGB画像から人間の姿を見つけ関節位置の確からしさを表すヒートマップを生成することで関節位置を推定する。コンピュータのメモリには、対象のRGB画像に基づいて当該対象のポーズ(2D関節位置)を推定するプログラムが格納されており、当該プログラムがプロセッサに実行されることで、対象の2D関節位置を推定して出力する。1枚のカラー画像に基づいて対象のポーズ(関節の2次元座標値)を推定すること自体は公知である。1つの代表的な研究がOpenPose(Openpose. https://github.com/CMU-Perceptual-Computing-Lab/open)である。OpenPoseでは1枚のRGB 画像から手首や肩といった複数人の特徴点(keypoints)の推定をリアルタイムに行うことができる。各関節位置(特徴点)のヒートマップ(OpenPoseにおけるPCM)を取得する手法としては様々な手法が提案されている。
【0031】
1枚のRGB画像から関節位置を推定するポーズ推定は、商業ベースでも利用可能であるが(例えば、https://www.next-system.com/visionpose)、商業ベースでは、深度センサに依存した関節位置推定手段を搭載した製品と、カメラ画像からの関節位置推定手段を搭載した製品とは、どちらかというと競合製品として捉えられている。
【0032】
[E]関節位置補正手段
[E-1]
一般に、距離画像方式を用いたマーカレス・モーションキャプチャ(特に、低価格タイプのもの)は、赤外線反射方式の光学式マーカを用いた三次元動作分析装置に比べて、関節位置の推定精度が落ちる傾向があり、リハビリテーションにおける三次元動作分析装置として利用するためにはより高い精度が望ましい。本実施形態では、距離画像センサ(深度カメラ)とカラーカメラとを備えた複合センサを搭載した比較的低価格の製品が存在することに着目し、距離画像センサから推定された3D関節位置を、カメラ画像から推定された2D関節位置を用いて補正することを考えた。なお、距離画像センサとカラーカメラとを備えた複合センサは1つの実施態様であり、独立した距離画像センサとカラーカメラを用いてもよい。
【0033】
本実施形態に係る複合センサ(距離画像センサ、RGBカメラ)には、距離画像センサを中心とした座標系と、RGBカメラを中心とした座標系がある。距離画像センサによって取得された距離画像は距離画像センサの2D座標系によって規定され、RGBカメラによって取得されたカラー画像は、RGBカメラの2D座標系によって規定される。距離画像に基づいて推定された3D関節位置は、距離画像センサの3D座標系によって規定される。距離画像センサの2D座標系とRGBカメラの2D座標系の変換情報は予め得られており、変換可能となっている。すなわち、距離画像上の任意の点(x,y,奥行値)の座標(x,y)とカラー画像上の任意の点(u,v,RGB値)の座標(u,v)が変換可能となっている。また、距離画像センサの2D座標系と3D座標系は変換可能となっている。すなわち、距離画像から推定された関節位置の3D座標(x,y,z)に対応する距離画像上の座標(x,y)が取得可能となっている。
【0034】
この状況において、カラー画像上の任意の2D位置に対応する距離画像センサの3D座標系における3D位置を得ることができれば、2D関節位置推定手段で推定したカラー画像上の2関節位置を、距離画像センサの3D座標系における3D位置に変換することが可能となる。本実施形態では、DLT(Direct linear Transformation)法を用いて、変換行列を取得する。DLT法は当業者に良く知ら得ており、また、特許文献4にも記載されている。
【0035】
[E-2]カラーカメラのカメラパラメータの取得
距離画像センサとカラーカメラとを備えた複合センサにおいて、カラーカメラの2D座標系と3D座標系の対応関係は提供されていないが、対象の身体の複数の関節について、各フレームにおいて、距離画像に基づいて推定された関節の3D座標に対応するカラーカメラ画像上の関節の2D位置が得られるので、DLT(Direct linear Transformation)法を用いることで変換パラメータを得ることができる(
図4)。具体的な手順は下の通りである。
【0036】
三次元空間における特徴点iの3次元座標値(X
i,Y
i,Z
i)とする。また、対応する特徴点の2次元座標値を(u
i,v
i)とするとき、カメラパラメータA
1,A
2,A
3,A
4,B
1,B
2,B
3,B
4,C
1,C
2,C
3は下のように計算できる。
一番左の行列をAとおき、二番目の列ベクトルをB、一番右の列ベクトルをCおくと、A
1,A
2,A
3,A
4,B
1,B
2,B
3,B
4,C
1,C
2,C
3を要素に含むベクトルBは、
の式で計算される。この計算によって、以降ではこのカメラパラメータBを利用することで、3次元座標系からカラーカメラ座標系への変換が可能となる。
【0037】
式(1)は、特徴点の2次元座標値を(u1,v1)について、
A1X1+A2Y1+A3Z1+A4+C1u1X1+C2u1Y1+C3u1Z1=u1
B1X1+B2Y1+B3Z1+B4+C1v1X1+C2v1Y1+C3v1Z1=v1
と書くことができ、さらに、
u1-A4=X1(A1+C1u1)+Y1(A2+C2u1)+Z1(A3+C3u1) (2)
v1-B4=X1(B1+C1v1)+Y1(B2+C2v1)+Z1(B3+C3v1) (3)
と書くことができる。
【0038】
関節位置取得システムにおいて、距離画像センサとカラーカメラが独立している場合には、距離画像センサに基づいて推定された3D関節座標値に対応するカラーカメラ画像上の2D関節位置は得られていない。そのため、距離画像センサとカラーカメラを同期させて対象の運動計測を行い、複数フレームにおける距離画像に基づいて推定された3D関節座標値と、カラー画像に基づいて推定された2D関節座標値の対応関係をそれぞれ(x, y, z)と(u, v)として用いて、カメラパラメータを取得する。
【0039】
一般的に、光学式モーションキャプチャではカメラパラメータを作成する際に校正用の治具(例えば、赤外線反射マーカ等の特徴点を備えたワンド)を用いる。それに対して、本手法におけるカメラパラメータの決定方法は、治具上の特徴点に代えて、人体の関節位置を特徴点とするものであり、校正用の治具を用いる必要がない。計測前に人体(動作計測の被験者あるいは校正用の人間)を用いてカメラパラメータの取得を行うことで、校正用の治具を必要とせず、また、動作計測時に人体を用いてカメラパラメータの取得を行えば、校正用の治具が必要ないことに加えて、校正の時間も必要なくなる。また、カラー画像から校正用の治具の2D位置(特徴点の位置)を取得するためには、校正用の治具の特徴点を検出するための手法(アルゴリズム)を別途用意する必要が生じるが、本手法では、追加の手法(アルゴリズム)が不要である。従って、このカメラパラメータ決定手法は、校正のためのコストを抑えることができるという有利な点を備えている。
【0040】
[E-3]関節位置補正手段(第1実施形態)
第1実施形態では、カラー画像に基づいて推定された2D関節位置を用いて計算される光軸と距離画像に基づいて推定された3D関節位置との最小距離を用いることにより、関節位置を補正する。
【0041】
目的とする関節の3D座標値をX,Y,Zとすると、
カラーカメラのカメラパラメータA
1,A
2,A
3,A
4,B
1,B
2,B
3,B
4,C
1,C
2,C
3、
カラー画像に基づいて推定された2D関節位置U,V、
距離画像に基づいて推定された3D関節位置X
r,Y
r,Z
r、に対して、
とおくと、式(2)、(3)の光軸の式は、
となり、これらの式から、
が導出できる。
【0042】
間接の補正後の3D座標値を(X,Y,Z)とすると、距離rに対して
となり、距離が最小という拘束条件として
として計算すると
となり、これらの値を補正後の関節座標値とする。
【0043】
[E-4]関節位置補正手段(第2実施形態)
第2実施形態では、同一体節上の2つの関節に着目し、第1関節の3D関節位置が得られており、かつ、関節間の距離が得られている場合に、カラー画像に基づいて推定された第2関節の2D関節位置とカメラパラメータから取得した光軸に対して、関節間の距離が一定という性質を利用して、距離画像に基づいて推定された第2関節の3D関節位置を補正して、第2関節の3D関節位置を取得する。
【0044】
第2実施形態に係る関節位置補正手段が実行される前に、関節間距離が取得されている必要がある。関節間距離は、R1~RL(Lはリンク数)として記憶部に格納される。各関節の3D関節位置が得られれば、関節間距離を算出することができる。関節間距離は、例えば、初期設定として、立位(例えばTポーズ)の対象の距離画像に基づいて3D関節位置推定手段により推定された3D関節位置を用いて、各関節間距離を計算してもよく、あるいは、第1実施形態に係る関節位置補正手段による補正後の3D関節位置を用いて、各関節間距離を計算してもよい。また、対象について算出された各関節間距離を記憶部に格納しておくことで、当該対象の次回の動作計測に用いてもよい。
【0045】
目的とする関節の3D座標値をX,Y,Zとすると、
カラーカメラのカメラパラメータA
1,A
2,A
3,A
4,B
1,B
2,B
3,B
4,C
1,C
2,C
3、
カラー画像に基づいて推定された2D関節位置U,V、
距離画像に基づいて推定された3D関節位置X
r,Y
r,Z
r、に対して
とおき、
同一体節上の関節A、関節Bについて考え、関節A、関節Bに対応する添え字を、それぞれA、Bとすると、上記式において、P
1A~Q
4Bは、A
1+U
AC
1=P
1A、・・・V
B-B
4=Q
4Bとなる)。
光軸の式は
となる。
【0046】
関節Aのカラー画像上の2D関節位置(UA,VA)と世界座標系における3D関節位置(XA,YA,ZA)、関節Bのカラー画像上の2D関節位置(UB,VB)と世界座標系における3D関節位置(XB,YB,ZB)について考える。
【0047】
関節Aの座標値(UA,VA)、座標値(XA,YA,ZA)は得られているものとして扱う。1つの態様では、座標値(XA,YA,ZA)はkinectにより距離画像に基づいて推定された関節Aの3D関節位置であり、座標値(UA,VA)はkinectにより推定された関節Aの3D関節位置に対応するカメラ画像上の2D関節位置である。あるいは、座標値(UA,VA)は2D関節位置推定手段(例えば、VisionPose)によって推定された関節Aの2D関節位置、座標値(XA,YA,ZA)は第1実施形態に係る手法により得られた関節Aの補正後の3D関節位置である。
【0048】
関節Bの座標値(UB,VB)は得られているものして扱い、座標値(XB,YB,ZB)を求めるものとする。関節Bの座標値(UB,VB)は、2D関節位置推定手段(例えば、VisionPose)によって推定された関節Bの2D関節位置である。本実施形態では、関節Bの3D座標位置は、kinectにより距離画像に基づいて推定されているが、関節Bの推定された3D座標位置を補正する値として、座標値(XB,YB,ZB)を求める。より具体的には、第2実施形態では、関節Aの3D関節位置(XA,YA,ZA)、関節Aと関節Bの関節間距離、関節Bの2D関節位置(UB,VB)、カメラパラメータを用いて、関節Bの座標値(XB,YB,ZB)を求める。
【0049】
上記光軸を変形して、
とおくと、関節Bの座標値(X
B,Y
B,Z
B)について、以下の式が得られる。
【0050】
同一体節上の関節間距離をR
iとおくと、座標値(X
A,Y
A,Z
A)と光軸の距離は次の式のようになる。
この式はZについての二次方程式なので解の公式を使って計算を実行し、
とすると、
となる。ここで、関節Bの3D関節位置候補が2つ得られるが、距離画像に基づいて推定された関節Bの3D関節位置からの距離が近い候補を、関節Bの3D関節位置(X
B,Y
B,Z
B)として決定する。