JP6816058B2 - パラメータ最適化装置、パラメータ最適化方法、プログラム - Google Patents

パラメータ最適化装置、パラメータ最適化方法、プログラム Download PDF

Info

Publication number
JP6816058B2
JP6816058B2 JP2018080509A JP2018080509A JP6816058B2 JP 6816058 B2 JP6816058 B2 JP 6816058B2 JP 2018080509 A JP2018080509 A JP 2018080509A JP 2018080509 A JP2018080509 A JP 2018080509A JP 6816058 B2 JP6816058 B2 JP 6816058B2
Authority
JP
Japan
Prior art keywords
joint
dimensional position
error
camera
initial value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018080509A
Other languages
English (en)
Other versions
JP2019079487A (ja
Inventor
康輔 高橋
康輔 高橋
弾 三上
弾 三上
麻理子 五十川
麻理子 五十川
木全 英明
英明 木全
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JP2019079487A publication Critical patent/JP2019079487A/ja
Application granted granted Critical
Publication of JP6816058B2 publication Critical patent/JP6816058B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、複数の映像から関節物体の関節の三次元位置を含むパラメータの最適値を生成する技術に関する。
人体の関節の三次元位置は、人間の動作やそのメカニズムを理解する上で重要である。関節の三次元位置を取得するため、一般には反射マーカや慣性センサを利用したモーションキャプチャシステムが利用されている。これらのシステムは解析対象となる人体に反射マーカや慣性センサを装着させる必要があるため、試合中のスポーツ選手の体に装着させることができないなど、利用シーンに制約が存在する。
一方、カメラ映像から関節の三次元位置を推定するアプローチも考えられる。これらは解析対象に非接触・非侵襲であるため、上記のような装着型のモーションキャプチャシステムが利用できないシーンでも関節の三次元位置が推定できるという利点がある。
一般に、カメラ映像から関節の三次元位置を推定する手法では複数のカメラを利用する。各カメラで撮影された映像を構成するフレームにおける関節の二次元座標値に基づいて三角測量することで、関節の三次元位置を推定する。この手法を適用するためには、複数のカメラの位置関係を示す外部パラメータを事前に推定することと、複数のカメラ間で同期がとれていることとが必要になる。なお、外部パラメータとは、カメラの姿勢を表す回転行列と、カメラの位置を表す並進ベクトルである。また、カメラの外部パラメータを求めることを外部キャリブレーションと呼ぶ。
通常、外部キャリブレーションでは、複数のカメラの共通視野に設置したチェスボードなど構造が既知の参照物体を利用する手法(参考非特許文献1)や共通視野に存在する物体の表面上の特徴が投影された特徴点(自然特徴点)の対応から外部パラメータを推定する手法(参考非特許文献2)が用いられる。
(参考非特許文献1:Zhengyou Zhang, “A Flexible New Technique for Camera Calibration”, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol.22, Issue 11, pp.1330-1334, Nov. 2000.)
(参考非特許文献2:Sameer Agarwal, et al. ,”Building Rome in a Day”, Communications of the ACM, Vol.54, Issue 10, pp.105-112, Oct. 2011.)
しかしながら、例えば試合中のスポーツ選手の動作を解析する場合、複数のカメラの共通視野となるフィールド内にチェスボードを設置することは困難である。また、自然特徴点は見えの変化に弱く、例えば人体を真正面から撮影した場合や横から撮影した場合における共通の点の特徴量が大きく変化してしまい、対応が取れずに外部パラメータが推定できない、あるいは推定精度が著しく低下することが知られている。
これら参考非特許文献1や参考非特許文献2の手法が抱える問題に対し、非特許文献1では映像中の人体の関節位置を対応点として利用し、関節の二次元座標値からカメラの外部パラメータを推定する手法を提案している。この手法ではチェスボードを利用する必要はない。また、物体表面の特徴点ではなく人体の関節という体内に存在する共通の三次元モデルを仮定しているため、カメラ間の見えの変化が大きい場合にも概ね正しい対応点が取れるという利点がある。ここで、非特許文献1で対応点として利用している人体の関節位置を推定するため、非特許文献2にあるような、学習ベースの二次元画像上における関節推定手法を利用している。
Jens Puwein, et al. ,"Joint Camera Pose Estimation and 3D Human Pose Estimation in a Multi-Camera Setup", ACCV(Asian Conference on Computer Vision)2014, Springer, LNCS, Vol.9004, pp.473-487, 2014. Zhe Cao, et al. , "Realtime Multi-Person 2D Pose Estimation Using Part Affinity Fields", arXiv preprint arXiv:1611.08050, 2016.
しかしながら、関節位置は表面上不可視のため、非特許文献2による推定結果には5pxから10px程度の誤差が存在する。これはチェスボードを利用した手法の対応点の検出精度が1px程度であることに対して大きく、外部パラメータの推定精度に大きな影響を及ぼしてしまう。特に、非特許文献1では対応点が正しく検出されていることを前提に誤差関数を設計しているため、関節位置が誤差を含むときに外部パラメータや関節の三次元位置といったパラメータの推定精度が低下するという問題がある。
そこで本発明では、関節の二次元位置の推定誤差が大きい場合でも高精度なパラメータを生成することができるパラメータ最適化技術を提供することを目的とする。
本発明の一態様は、Ncを2以上の整数、Njを2以上の整数、Nmを1以上の整数、iを1からNcまでの各整数、jを1からNjまでの各整数、mを1からNmまでの各整数とし、同一の関節物体を撮影するように設定されたNc台のカメラ1、…、カメラNcで撮影された映像から推定された、フレーム時刻tにおける前記関節物体の関節jのカメラiの画像平面上の二次元位置J2D’(i,t,j)とカメラiの外部パラメータの初期値とフレーム時刻tにおける前記関節物体の関節jの三次元位置J3D’(t,j)の初期値と前記関節物体の関節ペアmの関節長L(m)の初期値から、カメラiの外部パラメータ、フレーム時刻tにおける関節物体の関節jの三次元位置J3D’(t,j)、関節物体の関節ペアmの関節長L(m)の3つのパラメータのうち少なくとも1つのパラメータの最適値を生成する最適化部を含むパラメータ最適化装置であって、前記最適化部は、前記二次元位置J2D’(i,t,j)から、前記二次元位置J2D’(i,t,j)の誤差強度P(J2D’(i,t,j))を計算する誤差強度計算部と、前記二次元位置J2D’(i,t,j)と前記三次元位置J3D’(t,j)の初期値と前記誤差強度P(J2D’(i,t,j))から、再投影誤差項を計算する再投影誤差項計算部と、前記三次元位置J3D’(t,j)の初期値と前記関節長L(m)の初期値から、関節長制約項を計算する関節長制約項計算部と、前記三次元位置J3D’(t,j)の初期値から、関節位置制約項を計算する関節位置制約項計算部と、前記3つのパラメータのうち少なくとも1つのパラメータを最適化対象パラメータとして前記再投影誤差項と前記関節長制約項と前記関節位置制約項を用いて定義される誤差関数の値を最小化するように、前記最適値を生成する最適化処理部とを含み、前記誤差強度P(J2D’(i,t,j))を計算する式は、前記三次元位置J3D’(t,j)をカメラiの画像平面上に投影した二次元位置J2D’(i,t,j)_repと前記二次元位置J2D’(i,t,j)の誤差が小さい場合には誤差による影響を抑制し、誤差が大きくなるにしたがい誤差の影響を大きくする式である。
本発明によれば、関節の二次元位置の推定誤差が大きい場合でも高精度なパラメータを生成することが可能となる。
パラメータ最適化装置100の構成を示すブロック図。 パラメータ最適化装置100の動作を示すフローチャート。 被写体をカメラ群で撮影している様子を示す図。 人体の関節モデルの例を示す図。 関節の三次元位置と二次元位置の様子を示す図。 ニューラルネットワークを用いて関節の二次元位置を推定した様子を示す図。 初期値推定部120の構成を示すブロック図。 初期値推定部120の動作を示すフローチャート。 最適化部130の構成を示すブロック図。 最適化部130の動作を示すフローチャート。 二次元位置の分布の様子を示す図。 再投影誤差項計算部132の動作の詳細を示す図。 パラメータ最適化装置200の構成を示すブロック図。 パラメータ最適化装置200の動作を示すフローチャート。 最適化部230の構成を示すブロック図。 最適化部230の動作を示すフローチャート。 第三実施形態におけるカメラ配置の一例を示す図。 パラメータ最適化装置300の構成を示すブロック図。 パラメータ最適化装置300の動作を示すフローチャート。 被写体同定部313の動作の詳細を示す図。
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
<第一実施形態>
以下、図1〜図2を参照してパラメータ最適化装置100を説明する。図1は、パラメータ最適化装置100の構成を示すブロック図である。図2は、パラメータ最適化装置100の動作を示すフローチャートである。
パラメータ最適化装置100には、複数のカメラで撮影された映像が入力される。これらのカメラは同一の被写体を撮影するように設定されている。例えば、図3は、関節の三次元位置の推定対象となる人の体が動くことを予定した領域を撮影するようにカメラ群が設定されている様子を示している。なお、被写体は人に限るものではなく、関節を持つ関節物体であればどのようなものでもよい。例えば、脊椎動物などの生命体であってもよいし、アンドロイドのようなロボットであってもよい。また、これらのカメラは、同期はとられているが、未校正であるものとする。
以下では、パラメータ最適化装置100の入力となる映像は静止画の画像列として扱うこととする。一般に映像の長さは異なる(つまり、映像に含まれる静止画(フレーム)の数は異なる)が、以下では、同数のフレームを含むように映像が調整されているものとする。そこで、カメラの台数をNc(Ncは2以上の整数)、各映像に含まれる静止画(フレーム)の数をNt(Ntは2以上の整数)とし、カメラi(i=1, …, Nc)で撮影した映像を構成する画像列(フレームの列)をI(i,t)(t=1, …, Nt)と表すことにする。
カメラ1を基準となるカメラ、カメラ1の持つ座標系を世界座標系、カメラi(i=1, …, Nc)の外部パラメータである回転行列をRi、並進ベクトルをTiとする。なお、カメラi(i=1, …, Nc)の内部パラメータAiについては、既知とする。焦点距離、主点、レンズ歪みなどが内部パラメータであり、例えば、参考非特許文献1の方法で事前に推定しておけばよい。
図4は、人体の関節モデルの例を示す。図4(a)は14個の関節から成る関節モデル、図4(b)は16個の関節から成る関節モデルである。図4(a)において、例えば、関節3と関節4の関節のペア(前腕に相当)については、姿勢が変化してもその長さの変化量は非常に小さく、不変とみなすことができるが、関節1と関節14の関節のペア(首に相当)については、姿勢が変化するとその長さの変化量は比較的大きいものと考えられる。同様に、関節ペア(2,3), (5,6), (6,7), (8,9), (9,10), (11,12), (12,13)については長さが不変とみなすことができる一方、関節ペア(1,14), (14,8), (8,11)は長さが不変として扱うことは適切ではないと考えられる。つまり、関節ペアには長さが変わるものとして扱うべきものと不変として扱うことができるものがある。関節モデルが異なることにより、関節の数や長さが不変として扱うことができる関節ペアの数は異なることとなるが、本実施形態の発明は、どのような関節モデルにも適用することが可能である。以下、あるフレーム時刻tにおける関節j(j=1, …, Nj、Njは2以上の整数)の三次元位置をJ3D(t,j)とする(図5参照)。関節jの三次元位置J3D(t,j)がカメラi(i=1, …, Nc)の画像平面上に投影された点の二次元位置をJ2D(i,t,j)とする。また、後述する二次元位置推定部110が推定した関節jの二次元位置をJ2D’(i,t,j)とする。姿勢が変化しても長さが不変として扱うことができる関節ペアの数をNm(Nmは1以上の整数)とする。ただし、Nmは想定する人体関節モデル及びそのモデル中で関節長を求める関節ペアの選択に依存する。
図1に示すようにパラメータ最適化装置100は、二次元位置推定部110と、初期値推定部120と、最適化部130と、記録部190を含む。記録部190は、処理に必要な情報を適宜記録する構成部である。例えば、カメラi(i=1, …, Nc)で撮影された映像を記録する。オフライン処理を行う場合、記録部190はハードディスクドライブ(HDD)のような比較的低速なアクセス速度の記憶メディアでよい。また、オンライン処理を行う場合、記録部190はメモリのような比較的高速なアクセス速度の記憶メディアとするとよい。
以下、図2を参照して、パラメータ最適化装置100の動作について説明する。二次元位置推定部110は、記録部190に記録しているカメラi(i=1, …, Nc)で撮影された映像を入力とし、フレーム時刻tにおける被写体(人体)の関節j(j=1, …, Nj)のカメラiの画像平面上の二次元位置J2D’(i,t,j)を推定し、出力する(S110)。以下、その処理内容について説明する。カメラiで撮影されたフレーム時刻tの画像I(i,t)に対し、カメラiの画像平面上の人体の関節jの二次元位置J2D’(i,t,j)を推定する。例えば、非特許文献2の記載にあるように、人手で付けた関節の二次元位置の正解データセットを用いて学習したニューラルネットワークを用いて、映像から自動的に人体の関節jの二次元位置J2D’(i,t,j)を推定してもよい。図6は、非特許文献2を用いて関節の二次元位置を推定した結果の一例を示す。なお、推定に失敗した場合はJ2D’(i,t,j)=NULLといった無効値を設定することとする。この処理をすべての映像のすべてのフレーム画像について実行する。つまり、カメラi(i=1, …, Nc)で撮影された映像のフレーム画像I(i,t)(t=1, …, Nt)について実行する。
なお、人手により関節jの二次元位置J2D’(i,t,j)を指定するようにしてもよい。具体的には映像を画像I(i,t)ごとに確認し、図4に示した関節位置が画像に映る人体のどこに対応するかを人手で指定し、その座標を二次元位置J2D’(i,t,j)とするようにしてもよい。
初期値推定部120は、S110で推定した二次元位置J2D’(i,t,j)を入力とし、カメラi(i=1, …, Nc)の外部パラメータRi, Tiの初期値、フレーム時刻tにおける人体の関節j(j=1, …, Nj)の三次元位置J3D’(t,j)の初期値、人体の関節ペアm(m=1, …, Nm)の関節長L(m)の初期値を推定し、出力する(S120)。
以下、図7〜図8を参照して初期値推定部120について説明する。図7は、初期値推定部120の構成を示すブロック図である。図8は、初期値推定部120の動作を示すフローチャートである。図7に示すように初期値推定部120は、有効二次元位置集合生成部121と、外部パラメータ初期値推定部122と、三次元位置初期値推定部123と、関節長初期値推定部124を含む。
有効二次元位置集合生成部121は、S110で推定した二次元位置J2D’(i,t,j)を入力とし、有効二次元位置集合J2D_valid_iを生成し、出力する(S121)。有効二次元位置集合J2D_valid_iは、以下説明する各初期値の推定に用いる二次元位置の集合である。カメラiの二次元位置J2D’(i,t,j)の集合をJ2D_i(以下、二次元位置集合という)とすると、集合J2D_valid_iは集合J2D_iの部分集合となる。有効二次元位置集合J2D_valid_iは、以下のようにして生成する。すべてのカメラiに対して、フレーム時刻tにおける関節jの二次元位置J2D’(i,t,j)が有効値である場合(つまり、NULLのような無効値でない場合)、その二次元位置J2D’(i,t,j)をそれぞれ有効二次元位置集合J2D_valid_iに加える。この処理をすべてのフレーム時刻t、すべての関節jに対して行い、有効二次元位置集合J2D_valid_iを生成する。
外部パラメータ初期値推定部122は、S121で生成した有効二次元位置集合J2D_valid_iを入力とし、カメラiの外部パラメータRi, Tiの初期値を推定し、出力する(S122)。具体的には、以下のようにして推定する。まず、世界座標系となるカメラ1の有効二次元位置集合J2D_valid_1と、カメラi(i≠1)の有効二次元位置集合J2D_valid_iを用いて、カメラiの外部パラメータRi, Tiを推定する。外部パラメータを用いる手法はどのような手法でもよいが、例えば、参考非特許文献3の方法を用いることができる。すなわち、集合J2D_valid_1と集合J2D_valid_iに対して8ポイントアルゴリズム(8-point algorithm)を適用してカメラiの基礎行列Fiを求め、この基礎行列Fiを分解することによりカメラiの外部パラメータを求める。その他、参考非特許文献4に示されているような5ポイントアルゴリズム(5-point algorithm)を用いても外部パラメータを求めることができる。
(参考非特許文献3:Richard Hartley and Andrew Zisserman, “ Multiple View Geometry in Computer Vision Second Edition”, Cambridge University Press, 2003.)
(参考非特許文献4:David Nister, “An Efficient Solution to the Five-Point Relative Pose Problem”, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol.26, Issue 6, pp.756-770, 2004.)
なお、8ポイントアルゴリズム、5ポイントアルゴリズムを利用するためには、それぞれNj*Nt≧8、Nj*Nt≧5である必要がある。
次に、他のカメラの外部パラメータを求める。この外部パラメータを求める手法はどのような手法でもよい。例えば、上述したように、カメラ1の有効二次元位置集合J2D_valid_1とカメラn(n=2, …, Nc, n≠i)の有効二次元位置集合J2D_valid_nに対して8ポイントアルゴリズムまたは5ポイントアルゴリズムを適用して外部パラメータを推定してもよい。また、先に求めたカメラiの外部パラメータを用いて推定することもできる。具体的には、DLT(Direct Linear Transformation)法(参考非特許文献3参照)を用いて、集合J2D_valid_1と集合J2D_valid_iに関する対応点の二次元位置のペアとカメラiのカメラパラメータから三角測量をすることで、対応点の三次元座標値を推定し、三次元位置集合J3D_validを生成する。次に集合J3D_validと集合J2D_valid_nの間で、ある点の三次元座標値とその投影像の二次元座標値の対応から三次元座標値を表す座標系とカメラ座標系の間の外部パラメータを求めるPnP問題(参考非特許文献5参照)を解くことで、カメラnの外部パラメータを求める。
(参考非特許文献5:Vincent Lepetit, et val. ,”EPnP: An Accurate O(n) Solution to the PnP problem”, International Journal of Computer Vision, Vol.81, pp.155-166, 2009.)
三次元位置初期値推定部123は、S121で生成した有効二次元位置集合J2D_valid_iを入力とし、三次元位置J3D’(t,j)の初期値を推定し、出力する(S123)。関節の三次元位置を求める手法はどのようなものでもよい。例えば、上述したように、集合J2D_valid_1と集合J2D_valid_iに対してDLT法を適用して求めた三次元位置をJ3D’(t,j)としてもよい。また、すべての有効二次元位置集合J2D_valid_iのペアに対してDLT法を適用し、それぞれ対応する関節の三次元位置の平均をJ3D’(t,j)としてもよい。なお、集合J2D_valid_iに含まれなかった、すなわちいずれかの映像で二次元位置が推定できなかったフレーム時刻tにおける関節jの三次元位置J3D’(t,j)については、J3D’(t,j)=NULLと設定することとする。
関節長初期値推定部124は、S123で推定した三次元位置J3D’(t,j)の初期値を入力とし、関節ペアm(m=1,…,Nm)の関節長L(m)の初期値を推定し、出力する(S124)。ここで、長さが変わらないと思われる関節ペアの集合をL_constとする。関節長初期値推定部124は、三次元位置J3D'(t,j)の初期値を用いて、集合L_constに含まれる関節ペアの関節長を求める。関節長の求め方はどのようなものでもよいが、例えば、関節ペア(2,3)の関節長を求める場合、すべてのフレーム時刻に関して|J3D'(t,2)-J3D'(t,3)|を計算し、その平均をとってもよい。また、平均の代わりに、中央値、最大値、最小値を求める関節長としてもよい。
外部パラメータ初期値推定部122が推定したカメラiの外部パラメータRi, Ti、三次元位置初期値推定部123が推定した三次元位置J3D’(t,j)、関節長初期値推定部124が推定した関節長L(m)をそのまま初期値推定部120の出力とする代わりに、外部パラメータRi, Tiと三次元位置J3D’(t,j)については、再投影誤差が最小になるように外部パラメータの非線形最適化を行なうバンドルアジャストメント(参考非特許文献6参照)を適用して得られた外部パラメータと三次元位置を関節長初期値推定部124が推定した関節長L(m)とともに初期値として出力するようにしてもよい。
(参考非特許文献6:Bill Triggs, et al. ,”Bundle Adjustment-a Modern Synthesis”, ICCV99, Proceeding of the International Workshop on Vision Algorithms: Theory and Practice. Springer, pp.298-372, 1999.)
この場合、初期値推定部120は、さらにバンドルアジャストメント部125(図示しない)を含み、バンドルアジャストメント部125は、S122で推定したカメラiの外部パラメータRi, Ti、S123で推定した三次元位置J3D’(t,j)を入力とし、バンドルアジャストメントすることにより、カメラiの外部パラメータRi, Tiの初期値と三次元位置J3D’(t,j)の初期値を生成し、出力する(S125)。
最適化部130は、S110で推定した二次元位置J2D’(i,t,j)とS120で推定したカメラiの外部パラメータRi, Tiの初期値と三次元位置J3D’(t,j)の初期値と関節長L(m)の初期値を入力とし、カメラiの外部パラメータ、フレーム時刻tにおける関節物体の関節jの三次元位置J3D’(t,j)、関節物体の関節ペアmの関節長L(m)の3つのパラメータのうち少なくとも1つのパラメータの最適値を生成し、出力する(S130)。最適化部130は、まず、再投影誤差項、関節長制約項、関節位置制約項という3つの項を計算し、次に、カメラiの外部パラメータとフレーム時刻tにおける関節物体の関節jの三次元位置J3D’(t,j)と関節物体の関節ペアmの関節長L(m)の3つのパラメータのうち少なくとも1つのパラメータを最適化対象パラメータとして、上記3つの項を用いて定義される誤差関数を用いてパラメータの最適化処理を行う。ここで、最適化とは、誤差関数の値を最小化するパラメータ値を最適値として求めることである。
以下、図9〜図10を参照して最適化部130について説明する。図9は、最適化部130の構成を示すブロック図である。図10は、最適化部130の動作を示すフローチャートである。図9に示すように最適化部130は、誤差強度計算部131と、再投影誤差項計算部132と、関節長制約項計算部133と、関節位置制約項計算部134と、最適化処理部135を含む。
誤差強度計算部131は、S110で推定した二次元位置J2D’(i,t,j)を入力とし、二次元位置J2D’(i,t,j)の誤差強度P(J2D’(i,t,j))を計算し、出力する(S131)。誤差強度P(J2D’(i,t,j))は、後述する再投影誤差e_rep(i,t,j)を計算する際に誤差の大きさを調整するためのパラメータである。ここで、誤差とは、三次元位置J3D’(t,j)をカメラiの画像平面上に投影した二次元位置J2D’(i,t,j)_repと二次元位置J2D’(i,t,j)の誤差のことである。誤差強度を計算する式は、誤差の影響が出にくくなるような式であれば、どのようなものでもよい。例えば、誤差強度P(J2D'(i,t,j))を成分ごとに以下のように定めてもよい(図11参照)。この誤差強度P(J2D’(i,t,j))を計算する式は、三次元位置J3D’(t,j)をカメラiの画像平面上に投影した二次元位置J2D’(i,t,j)_repと二次元位置J2D’(i,t,j)の誤差の大きさにしたがってその誤差による影響を変化させる式である。具体的には誤差が小さい場合には誤差による影響を抑制し、誤差が大きくなるにしたがい誤差の影響を大きくする式である。ここで、誤差が小さい場合とは、例えば誤差が小さいことを示す所定の範囲内であること、つまり、誤差が閾値以下となるか、閾値より小さくなることである。例えば、誤差のx成分、y成分に対して、所定の範囲を示す閾値をそれぞれσ_x、σ_yとすると、誤差が小さいことを示す所定の範囲内であることとは、誤差のx成分が閾値σ_xよりもが小さくなり(閾値σ_x以下となり)、誤差のy成分が閾値σ_yよりもが小さくなる(閾値σ_y以下となる)ことである。なお、誤差が大きくなるにしたがい誤差の影響を大きくする代わりに、上記所定の範囲外の誤差であればそのまま誤差を与えるようにしてもよい。次式はこのような式になっている。
ただし、g_x(α)は平均0、分散σ_x2を持つ正規分布の確率密度関数、g_y(α)は平均0、分散σ_y2を持つ正規分布の確率密度関数である。ここで、σ_x、σ_yは、例えば人体の関節位置のシミュレーションデータを用いて作成した人体のCG画像に対して非特許文献2などの関節位置推定手法を適用し、そのときの推定値と真値の誤差から求めてもよい。あるいは、σ_x、σ_yを用いた様々なテストデータについて外部パラメータを求め、外部パラメータの精度が最もよいときのσ_x、σ_yの値を上記確率密度関数のσ_x、σ_yとして定めるようにしてもよい。また、J2D’(i,t,j)_x、J2D'(i,t,j)_yはそれぞれJ2D’(i,t,j)のx成分、y成分である。J2D’(i,t,j)_rep_x、J2D’(i,t,j)_rep_yはそれぞれJ3D’(i,t,j)をカメラiの画像平面上に投影したときの二次元位置J2D'(i,t,j)_repのx成分、y成分である。二次元位置J2D'(i,t,j)_repは、以下のように計算される同次座標J2D'(i,t,j)_rep_hから求めることができる。
なお、Aiはカメラiの内部パラメータからなる3行3列の行列である。
この誤差強度を有効値であるすべての二次元位置J2D'(i,t,j)について求める。
再投影誤差項計算部132は、S110で推定した二次元位置J2D’(i,t,j)、S120で推定した三次元位置J3D’(t,j)の初期値、S131で計算した誤差強度P(J2D’(i,t,j))を入力とし、再投影誤差項E_repを計算し、出力する(S132)。誤差強度を用いて再投影誤差項を計算することにより、関節の二次元位置が正しく推定されていない場合(推定誤差が大きい場合)でも、その影響を受けにくくする。以下、図12を参照して、再投影誤差項計算部132の動作を説明する。
(ステップ1)
三次元位置J3D'(t,j)をカメラiの画像平面上に投影し二次元位置J2D'(i,t,j)_repを計算する。
(ステップ2)
ステップ1で計算した二次元位置J2D'(i,t,j)_rep、入力である二次元位置J2D'(i,t,j)と誤差強度P(J2D'(i,t,j))から、再投影誤差e_rep(i,t,j)を計算する。再投影誤差e_rep(i,t,j)は以下のように計算することができる。
なお、誤差強度P(J2D'(i,t,j))が成分ごとに定められる場合は、再投影誤差e_rep(i,t,j)を計算する式のP(J2D'(i,t,j))(J2D'(i,t,j)-J2D'(i,t,j)_rep)は次式のように成分ごとの積を要素とする二次元座標である。
(ステップ3)
三次元位置J3D'(t,j)について、ステップ1およびステップ2をすべてのカメラについて計算したか否かを判定する。すべてのカメラについて計算が済んでいた場合はステップ4に移り、そうでない場合はステップ1に戻り、計算が済んでいないカメラについてステップ1およびステップ2を実行する。
(ステップ4)
ステップ1からステップ3について、すべての三次元位置J3D'(t,j)に対して計算したか否かを判定する。すべての三次元位置について計算が済んでいた場合はステップ5に移り、そうでない場合はステップ1に戻り、計算が済んでいない三次元位置についてステップ1、ステップ2、ステップ3を実行する。
(ステップ5)
ステップ4までで計算した再投影誤差e_rep(i,t,j)を用いて再投影誤差項E_repを計算する。例えば、すべてのe_rep(i,t,j)の平均を再投影誤差項E_repとしてもよい。また、平均の代わりに、すべてのe_rep(i,t,j)の中央値、最大値、最小値のいずれかを再投影誤差項E_repとするようにしてもよい。
関節長制約項計算部133は、S120で推定した三次元位置J3D’(t,j)の初期値と関節長L(m)の初期値を入力とし、関節長制約項E_lengthを計算し、出力する(S133)。関節長制約項E_lengthは、どのような姿勢でも特定の関節間の長さ(関節ペアの関節長)は変わらないという制約を表す項である。具体的には、関節長制約項E_lengthを以下のように計算する。
なお、m1、m2は、それぞれ集合L_constのm番目のペアである関節ペアmの一つ目の関節の番号と二つ目の関節の番号を表す。
関節位置制約項計算部134は、S120で推定した三次元位置J3D’(t,j)を入力とし、関節位置制約項E_motionを計算し、出力する(S134)。関節位置制約項E_motionは、関節の三次元位置は時間方向に滑らかに変化するという制約を表す項である。具体的には、以下のように計算する。まず、三次元位置J3D’(t,j)に対してスムージング処理を施し、三次元位置J3D’(t,j)_smoothを得る。このとき用いるスムージング処理はどのような処理でもよい。例えば関節jに関して時間方向にカルマンフィルタを適用してもよい。あるいは、パーティクルフィルタやスプライン補間を適用してもよい。三次元位置J3D’(t,j)と三次元位置J3D’(t,j)_smoothを用い、関節位置制約項E_motionを以下のように計算する。
最適化処理部135は、カメラiの外部パラメータ、フレーム時刻tにおける関節物体の関節jの三次元位置J3D’(t,j)、関節物体の関節ペアmの関節長L(m)の3つのパラメータのうち少なくとも1つのパラメータを最適化対象パラメータとして、S132で計算した再投影誤差項E_rep、S133で計算した関節長制約項E_length、S134で計算した関節位置制約項E_motionを用いて定義される誤差関数の値を最小化するように、最適化対象パラメータの最適値を生成し、出力する(S135)。具体的には、以下のように最適化する。まず、最適化処理を行う誤差関数を以下のように定める。
ただし、λ123は各項にかかる非零の係数である。これらの係数λ123は、例えば、シミュレーションデータを用いてこれらの様々な組み合わせについて外部パラメータおよび三次元位置を計算し、外部パラメータと三次元位置の推定精度の誤差が最も小さい組み合わせの係数とするのでよい。
誤差関数の最適化において、カメラiの外部パラメータ、フレーム時刻tにおける人体の関節jの三次元位置J3D’(t,j)、人体の関節ペアmの関節長L(m)の3つのパラメータのうち最適値を求めたいパラメータを最適化対象パラメータとする。最適化処理に関してはどのような手法を用いてもよく、例えばニュートン法を用いることができる。また、Levenberg-Marquardt法を用いてもよい。この誤差関数の値を最小化するパラメータの値を最適値とし、出力する。
本実施形態の発明によれば、関節の二次元位置の推定誤差が大きい場合でも高精度なパラメータを生成することが可能となる。
<第二実施形態>
第一実施形態では、同期がとれているカメラで撮影された映像を入力とした。このような映像は、同期撮影の機能を有するカメラをケーブルで接続し、撮影することができるが、このようなカメラは非常に高価でありコストの問題が生じる。そこで、参考非特許文献7では音を利用することでカメラ間の同期を取る方法を提案している。
(参考非特許文献7:Nils Hasler, et al. ,”Markerless Motion Capture with Unsynchronized Moving Cameras”, Computer Vision and Pattern Recognition, 2009. CVPR 2009, IEEE Conference on. IEEE, June 2009.)
しかし、参考非特許文献7のように音を用いて同期をとる方法は、スタジアムのような広域の空間では音がマイクに届くまでに時差が存在するため、正しい時間ずれを推定することが難しいという問題がある。
そこで、第二実施形態では、カメラ間の同期がとられていない場合(つまり、時間ずれが存在する場合)において、外部キャリブレーションに加えて時間キャリブレーションを行う形態について述べる。
以下、図13〜図14を参照してパラメータ最適化装置200を説明する。図13は、パラメータ最適化装置200の構成を示すブロック図である。図14は、パラメータ最適化装置200の動作を示すフローチャートである。
パラメータ最適化装置200には、複数のカメラで撮影された映像が入力される。これらのカメラは、同一の被写体を撮影するように設定されている。また、これらのカメラは、同期がとられておらず、未校正であるものとする。つまり、複数のカメラ間で同期がとられていない点において、パラメータ最適化装置100と異なる。
図13に示すようにパラメータ最適化装置200は、二次元位置推定部110と、時間ずれ生成部215と、初期値推定部120と、最適化部230と、記録部190を含む。
以下、図14を参照して、パラメータ最適化装置200の動作について説明する。二次元位置推定部110は、記録部190に記録しているカメラi(i=1, …, Nc)で撮影された映像を入力とし、フレーム時刻tにおける被写体(人体)の関節j(j=1, …, Nj)のカメラiの画像平面上の二次元位置J2D’(i,t,j)を推定し、出力する(S110)。
時間ずれ生成部215は、S110で推定した二次元位置J2D’(i,t,j)を入力とし、カメラ間の時間ずれΔti_k(k=1, …, Nk、Nkは1以上の整数)と二次元位置J2D’(i,t,j)をカメラ間の時間ずれΔti_kに対するフレーム単位の時間ずれδti_kだけ時間方向にずらした補正済二次元位置J2D’(i,t+δti_k,j)を生成し、出力する(S215)。カメラ間の時間ずれΔti_kは、基準となるカメラ1とカメラiとの時間のずれである。以下、処理内容について詳細に説明する。まず、カメラ間の時間ずれΔti_kをNk個生成する。カメラ間の時間ずれΔti_kに対するフレーム単位の時間ずれδti_kを以下のように計算する。
ただし、fpsは映像のフレームレート数を表す。
次に、二次元位置J2D’(i,t,j)をフレーム単位の時間ずれδti_kだけ時間方向にずらした補正済二次元位置J2D’(i,t+δti_k,j)を生成する。補正済二次元位置J2D’(i,t+δti_k,j)はどのように生成してもよく、例えば、線形補間を用いることができる。あるフレーム時刻tにおける二次元位置J2D’(i,t,j)と次のフレーム時刻t+1の二次元位置J2D’(i,t+1,j)がいずれも有効値である場合、次式により、補正済二次元位置J2D’(i,t+δti_k,j)が求められる。
線形補間の代わりに、連続する数フレームを用いてスプライン補間あるいはラグランジュ補間を行った上で、フレーム単位の時間ずれδti_kだけずらした二次元位置を補正済二次元位置J2D’(i,t+δti_k,j)としてもよい。
なお、δti_1=0とすることにより、補正済二次元位置J2D’(i,t+δti_k,j)(k=1, …, Nk)は二次元位置J2D’(i,t,j)を含む。
初期値推定部120は、S215で生成した補正済二次元位置J2D’(i,t+δti_k,j)を入力とし、カメラi(i=1, …, Nc)の外部パラメータRi, Tiの初期値、フレーム時刻t+δti_kにおける人体の関節j(j=1, …, Nj)の三次元位置J3D’(t+δti_k,j)の初期値、人体の関節ペアm(m=1, …, Nm)の関節長L(m)の初期値を推定し、出力する(S120)。
最適化部230は、S215で生成した時間ずれΔti_kと補正済二次元位置J2D’(i,t+δti_k,j)とS120で推定したカメラiの外部パラメータRi, Tiの初期値と三次元位置J3D’(t+δti_k,j)の初期値と関節長L(m)の初期値を入力とし、カメラiの外部パラメータ、フレーム時刻tにおける関節物体の関節jの三次元位置J3D’(t,j)、関節物体の関節ペアmの関節長L(m)の3つのパラメータのうち少なくとも1つのパラメータの最適値と時間ずれΔti_kの最適値を生成し、出力する(S230)。
以下、図15〜図16を参照して最適化部230について説明する。図15は、最適化部230の構成を示すブロック図である。図16は、最適化部230の動作を示すフローチャートである。図15に示すように最適化部230は、誤差強度計算部131と、再投影誤差項計算部132と、関節長制約項計算部133と、関節位置制約項計算部134と、最適化処理部235と、時間ずれ評価部236を含む。
誤差強度計算部131は、S215で生成した補正済二次元位置J2D’(i,t+δti_k,j)を入力とし、補正済二次元位置J2D’(i,t+δti_k,j)の誤差強度P(J2D’(i,t+δti_k,j))を計算し、出力する(S131)。
再投影誤差項計算部132は、S215で生成した補正済二次元位置J2D’(i,t+δti_k,j))、S120で推定した三次元位置J3D’(t+δti_k,j)の初期値、S131で計算した誤差強度P(J2D’(i,t+δti_k,j))を入力とし、再投影誤差項E_repを計算し、出力する(S132)。
関節長制約項計算部133は、S120で推定した三次元位置J3D’(t+δti_k,j)の初期値と関節長L(m)の初期値を入力とし、関節長制約項E_lengthを計算し、出力する(S133)。
関節位置制約項計算部134は、S120で推定した三次元位置J3D’(t+δti_k,j)の初期値を入力とし、関節位置制約項E_motionを計算し、出力する(S134)。
最適化処理部235は、カメラiの外部パラメータ、フレーム時刻tにおける関節物体の関節jの三次元位置J3D’(t,j)、関節物体の関節ペアmの関節長L(m)の3つのパラメータのうち少なくとも1つのパラメータを最適化対象パラメータとして、S132で計算した再投影誤差項E_rep、S133で計算した関節長制約項E_length、S134で計算した関節位置制約項E_motionを用いて定義される誤差関数の値を最小化するように、最適化対象パラメータの最適値を生成し、このときの誤差関数の値である誤差関数値を計算し、当該誤差関数値と最適化対象パラメータと時間ずれΔti_kを出力する(S235)。なお、上記誤差関数は式(1)で定義される誤差関数である。
時間ずれ評価部236は、S235で計算した誤差関数値のうち、誤差関数値が最小となる最適化対象パラメータの最適値と時間ずれΔti_kをそれぞれパラメータの最適値、時間ずれの最適値として出力する(S236)。
本実施形態の発明によれば、同期がとられていないカメラで撮影された映像を入力として関節の二次元位置の推定誤差が大きくなった場合でも高精度なパラメータを生成することが可能となる。また、同時にカメラ間の時間ずれを推定することにより、時間キャリブレーションを行うことができる。
(変形例)
パラメータ最適化装置100やパラメータ最適化装置200は、カメラi(i=1, …, Nc)で撮影された映像を記録した記録部を内部に含む構成としたが、必ずしもそのような構成である必要はない。したがって、例えば、パラメータ最適化装置がネットワークを介して記録部と接続するような形態であってもよい。このような構成とすることにより、遠隔地で撮影された映像に対してもパラメータ最適化処理が可能となる。
また、カメラi(i=1, …, Nc)で撮影された映像を記録した記録部に加えて二次元位置推定部110も外部にある構成としてもよい。つまり、カメラi(i=1, …, Nc)で撮影された映像を記録した記録部と二次元位置推定部110を含む二次元位置推定装置と初期値推定部120と最適化部130と記録部を含むパラメータ最適化装置とをネットワークを介して接続するようにしてもよい。このような構成とすることにより、記録部のみを外部におく構成に比して、ネットワーク上のトラフィック量を削減することが可能となる。
なお、ネットワークが存在する箇所は上記の例に限られるものではなく、パラメータ最適化装置の構成部の間に1つ以上ネットワークを置くことにより機能分散させ、パラメータ最適化処理を行うようにしてもよい。
<第三実施形態>
第二実施形態では、複数のカメラが同一の被写体を撮影するように設定されていることを前提として、これらのカメラ間で同期をとる。
ここで、図17に示すように、野球におけるピッチャーやバッターの姿勢を推定し、ピッチャーやバッターの姿勢の変化や動作のタイミングを分析することを考える。対象となる被写体が複数存在し、かつ、これらの被写体が離れている場合に、図17に示すような位置に設置されたカメラ0で複数の被写体を撮影しようとすると、画角に入り切らない、あるいは、画角に入ったとしても各被写体が小さく映ってしまう。その結果、画角に入ったとしても、各被写体は小さく映るため、姿勢の推定精度が低下するという問題がある。
一方、カメラ1とカメラ1’の組、カメラ2とカメラ2’の組のように被写体ごとに大きく撮影するように設置する場合には、各被写体の姿勢を高精度に推定できるものの、カメラ1とカメラ1’の組、カメラ2とカメラ2’の組はそれぞれ異なる被写体を撮影しているため、異なる被写体を撮影するカメラ間での同期はとれない。このため被写体の動作のタイミングを分析できないという問題がある。
そこで、第三実施形態では、カメラ1、カメラ2のように各被写体を大きく撮影するカメラに加えて、カメラ3のように各被写体を比較的大きく撮影し、複数の被写体を同時に撮影するカメラを用いることにより、被写体の姿勢を高精度に推定できかつカメラ間で同期をとることができる形態について説明する。なお、複数の被写体を撮影するカメラは、各被写体を画像平面上においてより大きく撮影できるような位置に設置されることが好ましい。図17の例で言えば、カメラ0よりカメラ3のような位置に設置されることが好ましい。また、以下、被写体は、第一実施形態や第二実施形態と同様、人を含む関節物体である。
以下、図18〜図19を参照してパラメータ最適化装置300を説明する。図18は、パラメータ最適化装置300の構成を示すブロック図である。図19は、パラメータ最適化装置300の動作を示すフローチャートである。
パラメータ最適化装置300には、複数のカメラで撮影された映像が入力される。これらのカメラは、少なくとも1つの被写体を撮影するように設定されている。また、これらのカメラのうち、少なくとも1つのカメラは、複数の被写体を撮影するように設定されている。更に、これらのカメラは、同期がとられておらず、未校正であるものとする。
以下では、被写体の関節の二次元位置の集合を被写体の二次元姿勢、被写体の関節の三次元位置の集合を被写体の三次元姿勢という。例えば、フレーム時刻tにおけるカメラiでの被写体の二次元姿勢p’(i,t)は、p’(i,t)={J2D’(i,t,j)|j=1, …, Nj}となる。
図18に示すようにパラメータ最適化装置300は、二次元位置推定部110と、被写体同定部313と、時間ずれ生成部215と、初期値推定部120と、最適化部230と、記録部190を含む。
以下、図19を参照して、パラメータ最適化装置300の動作について説明する。
二次元位置推定部110は、記録部190に記録しているカメラi(i=1, …, Nc)で撮影された映像を入力とし、フレーム時刻tにおける被写体の関節j(j=1, …, Nj)のカメラiの画像平面上の二次元位置J2D’(i,t,j)を推定し、フレーム時刻tにおけるカメラiでの被写体の二次元姿勢p’(i,t)の集合を生成し、これを出力する(S110)。例えば、図17のカメラ3のように、複数の被写体を撮影するよう設定されているカメラでは、すべての被写体について、その二次元姿勢を出力する。また、図17のカメラ1のように、1つの被写体を撮影するよう設定されているカメラでは、当該被写体についての二次元姿勢のみを出力する。つまり、二次元姿勢p’(i,t)の集合の濃度は、フレーム時刻tにおいてカメラiで撮影された被写体の数と一致する。
被写体同定部313は、S110の入力であるカメラi(i=1, …, Nc)で撮影された映像とS110で生成した被写体の二次元姿勢p’(i,t)の集合を入力とし、カメラiでの被写体の二次元姿勢群p’(i)を生成し、更に被写体ごとの二次元姿勢群の集合p’を生成し、出力する(S313)。ここで、p’(i)={p’(i,t)|t=1, …, Nt}である。つまり、カメラiでの被写体の二次元姿勢群p’(i)は、カメラiで撮影された映像の各フレームに含まれる被写体の二次元姿勢p’(i,t)を要素とする集合である。また、p’={p’(i)| i=1, …, Nc}である。つまり、被写体ごとの二次元姿勢群の集合p’は、カメラiでの被写体の二次元姿勢群p’(i)を要素とする集合である。したがって、被写体同定部313は、各カメラで撮影された被写体の二次元姿勢を時間方向に対応付けることにより、各カメラでの被写体の二次元姿勢群を生成し、あるカメラで撮影された被写体の二次元姿勢群が別のカメラで撮影された被写体の二次元姿勢群のいずれと対応するかを判定する(つまり、カメラ間で被写体の二次元姿勢群を対応付ける)ことにより、被写体ごとの二次元姿勢群の集合を生成し、出力する。以下、図20を参照して、被写体同定部313の動作を説明する。
(ステップ1)
あるカメラについて、被写体ごとに、時間方向に二次元姿勢を対応付ける。この処理は、例えば、フレーム時刻tにおける2つの被写体の二次元姿勢p1(t), p2(t)とフレーム時刻t+1における2つの被写体の二次元姿勢q1(t+1), q2(t+1)に対して、同一被写体の二次元姿勢を対応付ける処理である。つまり、ある被写体(例えば、ピッチャー)の二次元姿勢はp1(t)とq2(t+1)であり、別の被写体(例えば、バッター)の二次元姿勢はp2(t)とq1(t+1)であるというように、被写体ごとに時間方向に二次元姿勢を対応付ける処理に該当する。この対応付けには、どのような方法を用いてもよい。例えば、二次元姿勢p1(t)での関節jの二次元位置p1(t,j)、二次元姿勢q1(t+1)での関節jの二次元位置q1(t+1,j)、二次元姿勢q2(t+1)での関節jの二次元位置q2(t+1,j)に対して、距離|q1(t+1,j)-p1(t,j)|と距離|q2(t+1,j)-p1(t,j)|を計算し、これらの距離のうち、最小となるフレーム時刻t+1における二次元姿勢を、同一の被写体のものとして対応付ける。別の方法として、二次元姿勢における関節長の平均、二次元姿勢の重心位置の距離を用いることにより、対応付けをおこなってもよい。
(ステップ2)
ステップ1の処理をすべての二次元姿勢について実行したか否かを判定する。すべての二次元姿勢について処理を実行していた場合はステップ3に移り、そうでない場合はステップ1に戻り、処理が実行されていない二次元姿勢についてステップ1の処理を実行する。
(ステップ3)
ステップ1及びステップ2の処理をすべてのカメラについて実行したか否かを判定する。すべてのカメラについて処理を実行していた場合はステップ4に移り、そうでない場合はステップ1に戻り、処理が実行されていないカメラについてステップ1の処理を実行する。
ステップ3までの処理が終了した時点において、各カメラiでの被写体の二次元姿勢p’(i,t)は、被写体ごとに時間方向に対応づいている。つまり、カメラiでの被写体の二次元姿勢群p’(i)が生成されている。ステップ4では、カメラiでの被写体の二次元姿勢群p’(i)と別のカメラi~での被写体の二次元姿勢群p’(i~)を同一の被写体ごとに対応付ける。なお、カメラiとカメラi~の間の時間ずれは、高々数フレーム程度であることが好ましい。
(ステップ4)
あるカメラiでの被写体の二次元姿勢群と別のカメラi~での被写体の二次元姿勢群を対応付ける。この対応付けには、どのような方法を用いてもよい。例えば、対応付けの対象となる二次元姿勢群の生成に用いた映像間(つまり、カメラiで撮影された映像とカメラi~で撮影された映像の間)での類似度を計算する方法がある。具体的には、各映像に対して、被写体の二次元姿勢群を含む部分映像を当該映像から切り出す。次に、切り出した部分映像の各フレームに対して特徴量(例えば、SIFT特徴量やHOG特徴量)を計算し、そのフレームごとの特徴量の類似度(例えば、ベクトルの内積)の統計値(例えば、平均値、最大値、中央値)を計算する。この統計値が所定の閾値以上である(より大きい)場合に、最も高かった二次元姿勢群の組を同一被写体の二次元姿勢群であるとして対応付け、被写体ごとの二次元姿勢群の集合p’を生成する。
(ステップ5)
ステップ4の処理をすべての二次元姿勢群について実行したか否かを判定する。すべての二次元姿勢群について処理を実行していた場合は処理を終了し、そうでない場合はステップ4に戻り、処理が実行されていない二次元姿勢群についてステップ4の処理を実行する。
被写体同定部313における処理により被写体ごとの二次元姿勢群の集合p’が生成された後、パラメータ最適化装置300は、第二実施形態で説明した、S215以降の処理を被写体ごとの二次元姿勢群の集合p’ごとに行う。
時間ずれ生成部215は、S313で生成した被写体ごとの二次元姿勢群の集合p’を入力とし、被写体ごとの二次元姿勢群の集合p’に含まれる二次元位置J2D’(i,t,j)を用いて、カメラ間の時間ずれΔti_k(k=1, …, Nk、Nkは1以上の整数)と二次元位置J2D’(i,t,j)をカメラ間の時間ずれΔti_kに対するフレーム単位の時間ずれδti_kだけ時間方向にずらした補正済二次元位置J2D’(i,t+δti_k,j)を生成し、被写体ごとの補正済二次元姿勢群の集合p’cを生成し、カメラ間の時間ずれΔti_kと被写体ごとの補正済二次元姿勢群の集合p’cを出力する(S215)。被写体ごとの補正済二次元姿勢の集合p’cは、以下のように生成される。フレーム時刻t+δti_kにおけるカメラiでの被写体の補正済二次元姿勢p’c(i, t+δti_k)をp’c(i, t+δti_k)={J2D’(i,t+δti_k,j)|j=1, …, Nj}、カメラiでの被写体の補正済二次元姿勢群p’c(i)をp’c(i)={p’c(i, t+δti_k)| t=1, …, Nt}とし、被写体ごとの二次元姿勢群の集合p’cを、p’c={p’c(i)| i=1, …, Nc}として生成する。
初期値推定部120は、S215で生成した被写体ごとの補正済二次元姿勢群の集合p’cを入力とし、カメラi(i=1, …, Nc)の外部パラメータRi, Tiの初期値、フレーム時刻t+δti_kにおける被写体の関節j(j=1, …, Nj)の三次元位置J3D’(t+δti_k,j)の初期値、被写体の関節ペアm(m=1, …, Nm)の関節長L(m)の初期値を推定し、出力する(S120)。なお、フレーム時刻t+δti_kにおける被写体の関節jの三次元位置J3D’(t+δti_k,j)の集合はフレーム時刻t+δti_kにおける被写体の三次元姿勢である。
最適化部230は、S215で生成した時間ずれΔti_kと被写体ごとの補正済二次元姿勢群の集合p’cとS120で推定したカメラiの外部パラメータRi, Tiの初期値と三次元位置J3D’(t+δti_k,j)の初期値と関節長L(m)の初期値を入力とし、カメラiの外部パラメータ、フレーム時刻tにおける被写体の関節jの三次元位置J3D’(t,j)、被写体の関節ペアmの関節長L(m)の3つのパラメータのうち少なくとも1つのパラメータの最適値と時間ずれΔti_kの最適値を生成し、出力する(S230)。なお、被写体ごとに最適値を生成するため、一般にカメラiの外部パラメータや時間ずれの最適値は複数(つまり、被写体の数だけ)生成されることになるが、被写体ごとに生成された最適値の平均をとるなどし、複数の最適値を1つの値に統合することにより、1つの最適値を出力するようにしてもよい。
上述の説明では、初期値推定部120や最適化部230を、被写体ごとに分類した二次元位置(つまり、被写体ごとの補正済二次元姿勢群の集合p’c)を入力とし、被写体ごとに初期値推定や最適化の処理を実行する構成部であるとしたが、例えば、外部パラメータの推定に8ポイントアルゴリズムや5ポイントアルゴリズムを用いる場合の初期値推定部120のように、複数の被写体の二次元位置を被写体ごとに分類することなく、それらを統合して初期値推定や最適化の処理を行うような構成部とすることもできる。そのため、あるカメラで撮影された映像に複数の被写体が存在する場合には、それらの被写体に対して共通の時間ずれを想定し、その時間ずれを想定した条件のもと、初期値推定や最適化の処理を実行してもよい。こうすることにより、上述したような、被写体ごとに複数の時間ずれの最適値が生成されることを避けることができる。
また、第一実施形態のように複数のカメラ間に時間ずれが存在しないケースであっても、被写体が複数存在する場合には被写体ごとにパラメータが求まることがある。この場合も、被写体ごとに生成されたパラメータの最適値の平均をとるなどし、複数の最適値を1つの値に統合することにより、1つの最適値を出力するようにしてもよい。なお、複数のカメラ間に時間ずれが存在しないケースも、先ほどと同様、被写体ごとにパラメータを求めるのではなく、複数の被写体の二次元位置を分類することなく、統合して初期値推定や最適化の処理を実行するようにしてもよい。
本実施形態の発明によれば、同期がとられていないカメラで撮影された映像を入力として関節の二次元位置の推定誤差が大きくなった場合でも高精度なパラメータを生成することが可能となる。また、同時にカメラ間の時間ずれを推定することにより、時間キャリブレーションを行うことができる。
これにより、例えば、図17に示したカメラ1とカメラ3の間で同期をとり、被写体1の三次元姿勢を推定することができる。また、カメラ2とカメラ3の間で同期をとり、被写体2の三次元姿勢を推定することもできる。その結果、カメラ1、カメラ2はそれぞれカメラ3と同期しているため、カメラ1とカメラ2の間でも同期がとれることになる。
<補記>
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい)、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD−ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくこととしてもよい)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。
ハードウェアエンティティでは、外部記憶装置(あるいはROMなど)に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行・処理される。その結果、CPUが所定の機能(上記、…部、…手段などと表した各構成要件)を実現する。
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
既述のように、上記実施形態において説明したハードウェアエンティティ(本発明の装置)における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

Claims (7)

  1. Ncを2以上の整数、Njを2以上の整数、Nmを1以上の整数、iを1からNcまでの各整数、jを1からNjまでの各整数、mを1からNmまでの各整数とし、
    同一の関節物体を撮影するように設定されたNc台のカメラ1、…、カメラNcで撮影された映像から推定された、フレーム時刻tにおける前記関節物体の関節jのカメラiの画像平面上の二次元位置J2D’(i,t,j)とカメラiの外部パラメータの初期値とフレーム時刻tにおける前記関節物体の関節jの三次元位置J3D’(t,j)の初期値と前記関節物体の関節ペアmの関節長L(m)の初期値から、カメラiの外部パラメータ、フレーム時刻tにおける関節物体の関節jの三次元位置J3D’(t,j)、関節物体の関節ペアmの関節長L(m)の3つのパラメータのうち少なくとも1つのパラメータの最適値を生成する最適化部を含むパラメータ最適化装置であって、
    前記最適化部は、
    前記二次元位置J2D’(i,t,j)から、前記二次元位置J2D’(i,t,j)の誤差強度P(J2D’(i,t,j))を計算する誤差強度計算部と、
    前記二次元位置J2D’(i,t,j)と前記三次元位置J3D’(t,j)の初期値と前記誤差強度P(J2D’(i,t,j))から、再投影誤差項を計算する再投影誤差項計算部と、
    前記三次元位置J3D’(t,j)の初期値と前記関節長L(m)の初期値から、関節長制約項を計算する関節長制約項計算部と、
    前記三次元位置J3D’(t,j)の初期値から、関節位置制約項を計算する関節位置制約項計算部と、
    前記3つのパラメータのうち少なくとも1つのパラメータを最適化対象パラメータとして前記再投影誤差項と前記関節長制約項と前記関節位置制約項を用いて定義される誤差関数の値を最小化するように、前記最適値を生成する最適化処理部とを含み、
    前記誤差強度P(J2D’(i,t,j))を計算する式は、
    前記三次元位置J3D’(t,j)をカメラiの画像平面上に投影した二次元位置J2D’(i,t,j)_repと前記二次元位置J2D’(i,t,j)の誤差が小さい場合には誤差による影響を抑制し、誤差が大きくなるにしたがい誤差の影響を大きくする式である
    パラメータ最適化装置。
  2. 請求項1に記載のパラメータ最適化装置であって、
    前記カメラiで撮影された映像から、前記二次元位置J2D’(i,t,j)を推定する二次元位置推定部と、
    前記二次元位置J2D’(i,t,j)から、前記カメラiの外部パラメータの初期値と前記三次元位置J3D’(t,j)の初期値と前記関節長L(m)の初期値を推定する初期値推定部とを含む
    ことを特徴とするパラメータ最適化装置。
  3. 請求項1または2に記載のパラメータ最適化装置であって、
    前記誤差強度P(J2D’(i,t,j))を計算する式は、

    である(ただし、g_x(α)は平均0、分散σ_x2を持つ正規分布の確率密度関数、g_y(α)は平均0、分散σ_y2を持つ正規分布の確率密度関数、J2D’(i,t,j)_x、J2D'(i,t,j)_yはそれぞれ前記二次元位置J2D’(i,t,j)のx成分、y成分、J2D’(i,t,j)_rep_x、J2D’(i,t,j)_rep_yはそれぞれ前記二次元位置J2D'(i,t,j)_repのx成分、y成分とする)
    ことを特徴とするパラメータ最適化装置。
  4. Ncを2以上の整数、Njを2以上の整数、Nmを1以上の整数、iを1からNcまでの各整数、jを1からNjまでの各整数、mを1からNmまでの各整数とし、
    同一の関節物体を撮影するように設定されたNc台のカメラ1、…、カメラNcで撮影された映像から、カメラiの外部パラメータ、フレーム時刻tにおける関節物体の関節jの三次元位置J3D’(t,j)、関節物体の関節ペアmの関節長L(m)の3つのパラメータのうち少なくとも1つのパラメータの最適値とカメラ間の時間ずれの最適値を生成するパラメータ最適化装置であって、
    前記パラメータ最適化装置は、
    前記カメラiで撮影された映像から、フレーム時刻tにおける前記関節物体の関節jのカメラiの画像平面上の二次元位置J2D’(i,t,j)を推定する二次元位置推定部と、
    前記二次元位置J2D’(i,t,j)から、カメラ間の時間ずれΔti_k(k=1, …, Nk、Nkは1以上の整数)と前記二次元位置J2D’(i,t,j)をカメラ間の時間ずれΔti_kに対するフレーム単位の時間ずれδti_kだけ時間方向にずらした補正済二次元位置J2D’(i,t+δti_k,j)を生成する時間ずれ生成部と
    前記補正済二次元位置J2D’(i,t+δti_k,j)から、カメラiの外部パラメータの初期値とフレーム時刻t+δti_kにおける前記関節物体の関節j(j=1, …, Nj)の三次元位置J3D’(t+δti_k,j)の初期値、前記関節物体の関節ペアm(m=1, …, Nm)の関節長L(m)の初期値を推定する初期値推定部と、
    前記時間ずれΔti_kと前記補正済二次元位置J2D’(i,t+δti_k,j)と前記カメラiの外部パラメータの初期値と前記三次元位置J3D’(t+δti_k,j)の初期値と前記関節長L(m)の初期値から、前記パラメータの最適値と前記時間ずれの最適値を生成する最適化部とを含み、
    前記最適化部は、
    前記補正済二次元位置J2D’(i,t+δti_k,j)から、前記補正済二次元位置J2D’(i,t+δti_k,j)の誤差強度P(J2D’(i,t+δti_k,j))を計算する誤差強度計算部と、
    前記補正済二次元位置J2D’(i,t+δti_k,j)と前記三次元位置J3D’(t+δti_k,j)の初期値と前記誤差強度P(J2D’(i,t+δti_k,j))から、再投影誤差項を計算する再投影誤差項計算部と、
    前記三次元位置J3D’(t+δti_k,j)の初期値と前記関節長L(m)の初期値から、関節長制約項を計算する関節長制約項計算部と、
    前記三次元位置J3D’(t+δti_k,j)の初期値から、関節位置制約項を計算する関節位置制約項計算部と、
    前記3つのパラメータのうち少なくとも1つのパラメータを最適化対象パラメータとして前記再投影誤差項と前記関節長制約項と前記関節位置制約項を用いて定義される誤差関数の値を最小化するように、前記最適化対象パラメータの最適値を生成し、このときの誤差関数の値である誤差関数値を計算し、当該誤差関数値と前記最適化対象パラメータと前記時間ずれΔti_kを出力する最適化処理部と、
    前記誤差関数値が最小となる前記最適化対象パラメータの最適値と前記時間ずれΔti_kをそれぞれパラメータの最適値、時間ずれの最適値として出力する時間ずれ評価部とを含み、
    前記誤差強度P(J2D’(i,t+δtk,j))を計算する式は、
    前記三次元位置J3D’(t+δtk,j)をカメラiの画像平面上に投影した二次元位置J2D’(i,t+δtk,j)_repと前記補正済二次元位置J2D’(i,t+δtk,j)の誤差が小さい場合には誤差による影響を抑制し、誤差が大きくなるにしたがい誤差の影響を大きくする式である
    パラメータ最適化装置。
  5. Ncを2以上の整数、Njを2以上の整数、Nmを1以上の整数、iを1からNcまでの各整数、jを1からNjまでの各整数、mを1からNmまでの各整数とし、
    パラメータ最適化装置が、同一の関節物体を撮影するように設定されたNc台のカメラ1、…、カメラNcで撮影された映像から推定された、フレーム時刻tにおける前記関節物体の関節jのカメラiの画像平面上の二次元位置J2D’(i,t,j)とカメラiの外部パラメータの初期値とフレーム時刻tにおける前記関節物体の関節jの三次元位置J3D’(t,j)の初期値と前記関節物体の関節ペアmの関節長L(m)の初期値から、カメラiの外部パラメータ、フレーム時刻tにおける関節物体の関節jの三次元位置J3D’(t,j)、関節物体の関節ペアmの関節長L(m)の3つのパラメータのうち少なくとも1つのパラメータの最適値を生成する最適化ステップを含むパラメータ最適化方法であって、
    前記最適化ステップは、
    前記二次元位置J2D’(i,t,j)から、前記二次元位置J2D’(i,t,j)の誤差強度P(J2D’(i,t,j))を計算する誤差強度計算ステップと、
    前記二次元位置J2D’(i,t,j)と前記三次元位置J3D’(t,j)の初期値と前記誤差強度P(J2D’(i,t,j))から、再投影誤差項を計算する再投影誤差項計算ステップと、
    前記三次元位置J3D’(t,j)の初期値と前記関節長L(m)の初期値から、関節長制約項を計算する関節長制約項計算ステップと、
    前記三次元位置J3D’(t,j)の初期値から、関節位置制約項を計算する関節位置制約項計算ステップと、
    前記3つのパラメータのうち少なくとも1つのパラメータを最適化対象パラメータとして前記再投影誤差項と前記関節長制約項と前記関節位置制約項を用いて定義される誤差関数の値を最小化するように、前記最適値を生成する最適化処理ステップとを含み、
    前記誤差強度P(J2D’(i,t,j))を計算する式は、
    前記三次元位置J3D’(t,j)をカメラiの画像平面上に投影した二次元位置J2D’(i,t,j)_repと前記二次元位置J2D’(i,t,j)の誤差が小さい場合には誤差による影響を抑制し、誤差が大きくなるにしたがい誤差の影響を大きくする式である
    パラメータ最適化方法。
  6. Ncを2以上の整数、Njを2以上の整数、Nmを1以上の整数、iを1からNcまでの各整数、jを1からNjまでの各整数、mを1からNmまでの各整数とし、
    パラメータ最適化装置が、同一の関節物体を撮影するように設定されたNc台のカメラ1、…、カメラNcで撮影された映像から、カメラiの外部パラメータ、フレーム時刻tにおける関節物体の関節jの三次元位置J3D’(t,j)、関節物体の関節ペアmの関節長L(m)の3つのパラメータのうち少なくとも1つのパラメータの最適値とカメラ間の時間ずれの最適値を生成するパラメータ最適化方法であって、
    前記パラメータ最適化方法は、
    前記カメラiで撮影された映像から、フレーム時刻tにおける前記関節物体の関節jのカメラiの画像平面上の二次元位置J2D’(i,t,j)を推定する二次元位置推定ステップと、
    前記二次元位置J2D’(i,t,j)から、カメラ間の時間ずれΔti_k(k=1, …, Nk、Nkは1以上の整数)と前記二次元位置J2D’(i,t,j)をカメラ間の時間ずれΔti_kに対するフレーム単位の時間ずれδti_kだけ時間方向にずらした補正済二次元位置J2D’(i,t+δti_k,j)を生成する時間ずれ生成ステップと
    前記補正済二次元位置J2D’(i,t+δti_k,j)から、カメラiの外部パラメータの初期値とフレーム時刻t+δti_kにおける前記関節物体の関節j(j=1, …, Nj)の三次元位置J3D’(t+δti_k,j)の初期値、前記関節物体の関節ペアm(m=1, …, Nm)の関節長L(m)の初期値を推定する初期値推定ステップと、
    前記時間ずれΔti_kと前記補正済二次元位置J2D’(i,t+δti_k,j)と前記カメラiの外部パラメータの初期値と前記三次元位置J3D’(t+δti_k,j)の初期値と前記関節長L(m)の初期値から、前記パラメータの最適値と前記時間ずれの最適値を生成する最適化ステップとを含み、
    前記最適化ステップは、
    前記補正済二次元位置J2D’(i,t+δti_k,j)から、前記補正済二次元位置J2D’(i,t+δti_k,j)の誤差強度P(J2D’(i,t+δti_k,j))を計算する誤差強度計算ステップと、
    前記補正済二次元位置J2D’(i,t+δti_k,j)と前記三次元位置J3D’(t+δti_k,j)の初期値と前記誤差強度P(J2D’(i,t+δti_k,j))から、再投影誤差項を計算する再投影誤差項計算ステップと、
    前記三次元位置J3D’(t+δti_k,j)の初期値と前記関節長L(m)の初期値から、関節長制約項を計算する関節長制約項計算ステップと、
    前記三次元位置J3D’(t+δti_k,j)の初期値から、関節位置制約項を計算する関節位置制約項計算ステップと、
    前記3つのパラメータのうち少なくとも1つのパラメータを最適化対象パラメータとして前記再投影誤差項と前記関節長制約項と前記関節位置制約項を用いて定義される誤差関数の値を最小化するように、前記最適化対象パラメータの最適値を生成し、このときの誤差関数の値である誤差関数値を計算し、当該誤差関数値と前記最適化対象パラメータと前記時間ずれΔti_kを出力する最適化処理ステップと、
    前記誤差関数値が最小となる前記最適化対象パラメータの最適値と前記時間ずれΔti_kをそれぞれパラメータの最適値、時間ずれの最適値として出力する時間ずれ評価ステップとを含み、
    前記誤差強度P(J2D’(i,t+δtk,j))を計算する式は、
    前記三次元位置J3D’(t+δtk,j)をカメラiの画像平面上に投影した二次元位置J2D’(i,t+δtk,j)_repと前記補正済二次元位置J2D’(i,t+δtk,j)の誤差が小さい場合には誤差による影響を抑制し、誤差が大きくなるにしたがい誤差の影響を大きくする式である
    パラメータ最適化方法。
  7. 請求項1ないし4のいずれか1項に記載のパラメータ最適化装置としてコンピュータを機能させるためのプログラム。
JP2018080509A 2017-10-25 2018-04-19 パラメータ最適化装置、パラメータ最適化方法、プログラム Active JP6816058B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017205818 2017-10-25
JP2017205818 2017-10-25

Publications (2)

Publication Number Publication Date
JP2019079487A JP2019079487A (ja) 2019-05-23
JP6816058B2 true JP6816058B2 (ja) 2021-01-20

Family

ID=66628819

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018080509A Active JP6816058B2 (ja) 2017-10-25 2018-04-19 パラメータ最適化装置、パラメータ最適化方法、プログラム

Country Status (1)

Country Link
JP (1) JP6816058B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7420146B2 (ja) * 2019-11-11 2024-01-23 日本電気株式会社 カメラ校正装置、カメラ校正方法及びカメラ校正プログラム
GB2589843B (en) * 2019-11-19 2022-06-15 Move Ai Ltd Real-time system for generating 4D spatio-temporal model of a real-world environment
US11095870B1 (en) * 2020-04-23 2021-08-17 Sony Corporation Calibration of cameras on unmanned aerial vehicles using human joints
KR20230002757A (ko) * 2020-04-29 2023-01-05 엘지전자 주식회사 무선통신시스템에서 vru 위치에 관련된 rsu의 동작 방법
JPWO2022018811A1 (ja) * 2020-07-20 2022-01-27
CN111738220B (zh) * 2020-07-27 2023-09-15 腾讯科技(深圳)有限公司 三维人体姿态估计方法、装置、设备及介质
WO2022113349A1 (ja) * 2020-11-30 2022-06-02 富士通株式会社 骨格認識装置、学習方法および学習プログラム
CN112419314B (zh) * 2020-12-10 2023-02-28 易思维(杭州)科技有限公司 一种基于相关性的特征点剔除方法
KR102540744B1 (ko) * 2021-03-30 2023-06-12 와이폴라리스 주식회사 사람의 3d좌표를 생성하고 3d좌표의 타당성을 검토하는 장치 및 방법
WO2023157477A1 (ja) * 2022-02-18 2023-08-24 ソニーグループ株式会社 情報処理装置、情報処理方法及び情報処理プログラム
JP2024031068A (ja) * 2022-08-25 2024-03-07 京セラ株式会社 情報処理装置、情報処理方法及び情報処理プログラム
KR102585255B1 (ko) * 2023-04-26 2023-10-05 주식회사 케이유전자 칼만 필터 기반으로 한 다중 카메라 프레임 대 프레임 매칭 및 추적 알고리즘

Also Published As

Publication number Publication date
JP2019079487A (ja) 2019-05-23

Similar Documents

Publication Publication Date Title
JP6816058B2 (ja) パラメータ最適化装置、パラメータ最適化方法、プログラム
Schops et al. Bad slam: Bundle adjusted direct rgb-d slam
US10789765B2 (en) Three-dimensional reconstruction method
Zheng et al. Hybridfusion: Real-time performance capture using a single depth sensor and sparse imus
US10059002B2 (en) Image processing apparatus, image processing method, and non-transitory computer-readable medium
JP6854780B2 (ja) 三次元空間のモデリング
Dou et al. Fusion4d: Real-time performance capture of challenging scenes
Zhou et al. Dense scene reconstruction with points of interest
Helten et al. Personalization and evaluation of a real-time depth-based full body tracker
Baak et al. A data-driven approach for real-time full body pose reconstruction from a depth camera
US9619704B2 (en) Fast articulated motion tracking
JP2019075156A (ja) 多因子画像特徴登録及び追尾のための方法、回路、装置、システム、及び、関連するコンピュータで実行可能なコード
JP4774818B2 (ja) 画像処理装置及び画像処理方法
JPWO2005043466A1 (ja) 物体の状態を推定する推定システム、推定方法および推定プログラム
JP2016099982A (ja) 行動認識装置、行動学習装置、方法、及びプログラム
JP6515039B2 (ja) 連続的な撮影画像に映り込む平面物体の法線ベクトルを算出するプログラム、装置及び方法
JP2008304269A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2009237848A (ja) 情報処理装置、および画像処理方法、並びにコンピュータ・プログラム
US20140168204A1 (en) Model based video projection
Wang et al. Real-time bayesian 3-d pose tracking
JP6922348B2 (ja) 情報処理装置、方法、及びプログラム
Vo et al. Spatiotemporal bundle adjustment for dynamic 3d human reconstruction in the wild
JP2007025863A (ja) 撮影システム、撮影方法及び画像処理プログラム
JP7121936B2 (ja) カメラ校正情報取得装置、画像処理装置、カメラ校正情報取得方法およびプログラム
Barber et al. Camera tracking in visual effects an industry perspective of structure from motion

Legal Events

Date Code Title Description
A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20180515

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191029

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201127

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201223

R150 Certificate of patent or registration of utility model

Ref document number: 6816058

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150