カメラ校正装置、カメラ校正方法、カメラ校正プログラムおよびそのプログラムを記録した記録媒体。
【課題】カメラの内部・外部パラメータの計測を容易化する。
【解決手段】シルエット画像作成手段12は、カメラなどの画像取得手段11から入力された画像から物体の写っている領域を抽出したシルエット画像を作成する。パラメータ推定手段14は、予め用意された物体の変化タイプを任意の確率に従って選択し、該選択された変化タイプに応じた状態候補を生成する。この状態候補に基づいて、該状態候補と同じカメラ内部・外部パラメータを有する仮想カメラに投影し、前記シルエット画像をシミュレートしたシミュレーション画像を生成する。この両画像の比較結果と、事前知識に基づく対象自体の確からしさの判定結果とを積演算した評価値を求める。この評価値から状態候補を最終的な変化状態として受け入れるか否かを判断する。受け入れた変化状態からカメラの内部・外部パラメータを推定する。
【解決手段】シルエット画像作成手段12は、カメラなどの画像取得手段11から入力された画像から物体の写っている領域を抽出したシルエット画像を作成する。パラメータ推定手段14は、予め用意された物体の変化タイプを任意の確率に従って選択し、該選択された変化タイプに応じた状態候補を生成する。この状態候補に基づいて、該状態候補と同じカメラ内部・外部パラメータを有する仮想カメラに投影し、前記シルエット画像をシミュレートしたシミュレーション画像を生成する。この両画像の比較結果と、事前知識に基づく対象自体の確からしさの判定結果とを積演算した評価値を求める。この評価値から状態候補を最終的な変化状態として受け入れるか否かを判断する。受け入れた変化状態からカメラの内部・外部パラメータを推定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、人物・動物を含む物体をカメラで撮影した画像を利用してカメラの内部・外部パラメータを推定する技術に関する。
【背景技術】
【0002】
コンピュータビジョン分野では、カメラの撮影情報を利用して人物などの動く対象の追跡に関する研究が多く行われている。この人物追跡技術は、主に映像監視技術などに応用されている。ここでは例えば次の処理が実現されている。
【0003】
すなわち、カメラなどの画像取得装置を利用して対象物体を観測し、画像上における対象の領域(シルエット)を抽出したシルエット画像を用意する。予め追跡に利用するカメラの内部・外部パラメータを予め計測して求めておき、三次元空間中に人物モデルを配置し、先に算出したパラメータを持つ仮想のカメラでこのシーンを撮影すると、シルエット画像のシミュレーションを行うことができる。
【0004】
そして、人物モデルに楕円体を用いて生成したシミュレーション画像とシルエット画像を比較することで、複数の人物の追跡を行う方法が提案されている。この一例として非特許文献1の技術が知られている。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】大澤 達哉,数藤 恭子,新井 啓之,小池 秀樹 “単眼動画像を用いた近接する複数対象の追跡” 信学技報 Vol.108 No.93 2008年6月12日発行 P1〜P6
【発明の概要】
【発明が解決しようとする課題】
【0006】
非特許文献1人物の方法によれば、三次元空間上での位置を直接予測し、予測した結果を実際に設置されているカメラと同じ内部・外部パラメータを持つ仮想のカメラで撮影し、シルエット画像のシミュレーションを行い、実際に撮影された画像と整合性を比較することで、一台のカメラ情報のみを用いて、人物の三次元空間上での位置の追跡が行われる。
【0007】
しかしながら、シルエット画像のシミュレーションを行うには事前に撮影に用いるカメラの内部・外部パラメータを計測しておく必要がある。ところが、カメラの内部・外部パラメータの計測には専門知識を必要とするので、訓練を受けた熟練者にしか計測ができないおそれがあった。
【0008】
本発明は、上述のような従来技術の問題点を解決するためになされたものであり、カメラの内部・外部パラメータを容易に計測可能な技術を提供することを解決課題としている。
【課題を解決するための手段】
【0009】
そこで、本発明は、前記課題を解決するために、物体の変化状態(物体数・物体の大きさ・物体の位置)の予測結果を評価することで、カメラの内部・外部パラメータを自動的に推定している。
【0010】
本発明の一態様は、物体の撮影画像から撮影に利用しているカメラの内部・外部パラメータを求めるカメラ校正装置であって、前記カメラの撮影画像から物体の写っている領域を抽出したシルエット画像を作成するシルエット画像作成手段と、前記物体の変化タイプに応じて予測した状態を、前記シルエット画像を利用して評価することで、前記カメラの内部・外部パラメータを推定するパラメータ推定手段と、を備える。
【0011】
本発明の他の態様は、物体の撮影画像から撮影に利用しているカメラの内部・外部パラメータを求めるカメラ校正方法であって、シルエット画像作成手段が、前記カメラの撮影画像から物体の写っている領域を抽出したシルエット画像を作成する第1ステップと、パラメータ推定手段が、前記物体の変化タイプに応じて予測した状態を、前記シルエット画像を利用して評価することで、前記カメラの内部・外部パラメータを推定する第2ステップと、を有する。
【0012】
前記両態様においては、前記物体の状態を、楕円体モデルの集合で表し、モデル頭頂部の画像上での二次元座標値と、頭部に近似する楕円体の短軸と、身体に近似する楕円体の短軸と、身長を示すモデルの高さで人物を表すことが好ましい。
【0013】
なお、本発明は、前記カメラ校正装置としてコンピュータを機能させるプログラムの態様で提供してもよく、また該プログラムを記録した記録媒体の態様で提供してもよい。
【発明の効果】
【0014】
本発明によれば、カメラの内部・外部パラメータが自動的に推定されることから、該パラメータの計測が容易となる。
【図面の簡単な説明】
【0015】
【図1】カメラの撮影状況を示す概略図。
【図2】カメラの位置・姿勢を表す座標図。
【図3】三次元モデルを示す楕円体モデルの概略図。
【図4】本発明の実施形態に係るカメラ構成装置の構成図。
【図5】同 カメラ校正装置の処理を示すチャート図。
【図6】(a)は入力画像、(b)はシルエット画像。
【図7】(a)は入力画像、(b)は垂直エッジ画像、(c)は水平エッジ画像。
【図8】同 パラメータの推定の処理ステップを示すフローチャート。
【図9】同 シルエット画像から計算した水平方向の頭部位置の確率分布図。
【図10】同 エッジ検出画像から計算した垂直方向の頭部位置の確率分布図。
【図11】(a)は実施例の入力画像、(b)は実施例のシルエット画像、(c)は実施例のエッジ画像(水平)、(d)は実施例のエッジ画像(垂直)、(e)は実施例のシミュレーション画像、(f)は実施例で推定された対象の三次元位置
【発明を実施するための形態】
【0016】
(1)基本原理
まず本発明の基本原理を以下に説明する。本発明は、三次元空間中に存在する1又は複数の物体(人物・動物を含む)を撮影することで、各々の物体の変化状態、即ち物体数・物体位置・物体の大きさ、及び撮影に利用した画像取得手段のカメラ内部・外部パラメータを推定している。
【0017】
ここでは撮影される1又は複数の対象物は同一平面上に存在しているものと仮定する。一例として図1に示すように、平面上を歩行する複数の人物を対象とし、位置と姿勢を固定されたカメラ1(例えばデジタルカメラやビデオカメラなど)を用いてもよい。この場合に三次元空間を定義する座標は任意に設定することが可能であるため、XY平面を人物が歩行している平面とし、Z軸を床面からの高さを表すように設定することが可能である。
【0018】
図2に示すように、X軸およびY軸の原点にカメラ1を置けば、カメラ1の三次元位置は(0,0,Tz)と平面上からの高さを示す一つの変数で表すことができ、またカメラ1の姿勢についてもX軸、Y軸周りの回転角(φ,θ)を用いた二変数で表すことができる。これら3つの変数(Tz,φ,θ)がカメラ1の外部パラメータを示している。
【0019】
つぎにカメラ1の内部パラメータは、カメラレンズの歪を無視し、投影中心が画像の中心を示していることを仮定すると、レンズの焦点距離fのみで表すことが可能である。
【0020】
これらカメラ1の内部・外部パラメータを用いると、三次元空間上の点が二次元画像上のどこに投影されるかを計算するのに必要な投影行列Pを、以下の式1により計算することが可能である。この式1において行列Iは3×3の単位行列である。
【0021】
【数1】
【0022】
また、対象物体を表すために図3に示すように、2つの楕円体P.Qを用いて人物の形状に近似したモデルを定義した。ここではモデル頭頂部の画像上での二次元座標値(x,y),頭部に近似する楕円体Pの短軸r1,身体に近似する楕円体Qの短軸r2,身長を表すモデルの高さhで人物を表している。なお、前記楕円体Pの長軸と短軸は一定の比率を保っていると考え、長軸半径r=k1×r1とした。ここでk1は任意の定数であり、例えば1.5という数値を使ってもよい。また、前記楕円体Qの長軸に関しても同様に長軸半径r=h−k2×r1とした。k2は任意の定数であり、例えば1.2という数値を使ってもよい。
【0023】
したがって、一人の人物の状態は、(x,y,r1,r2,h)の5つのパラメータにより表すことができる。また、複数の人物の状態を表す対象状態は、各人物の位置、大きさを表すベクトルM(人物モデル)を並べたものによって表すことも可能である。すなわち、カメラ1の内部・外部パラメータと複数の人物の状態を含んだ状態Sは、以下の式2で表される。
【0024】
【数2】
【0025】
ここで状態Sを構成する人物kの位置、大きさ、形を表す人物モデルMkは、以下の式3で表される5次元ベクトルである。
【0026】
【数3】
【0027】
ただし、ここで人物モデルMkを構成する5つのパラメータは、前述の人物の形状を近似したモデルのパラメータである。
【0028】
以上により、もしカメラ1の内部・外部パラメータおよび複数の対象の状態を含む状態Sが既知であるならば、非特許文献1の方法と同様にしてシルエット画像のシミュレーションを行うことが可能であることは自明である。
【0029】
本発明は、この状態Sを予測し、シルエット画像のシミュレーションを行い、実際のシルエット画像と比較し、整合性を評価することで、予測された状態Sの評価を行う。
【0030】
本発明の基本原理は、以上の処理を確率統計状態分布推定法の一種であるMCMC(Markov Chain Monte Carlo)法を用いることで、正しいパラメータの組み合わせを表す状態Sを推定することである。この基本原理は、本発明の実施形態に係るカメラ校正装置に反映されている。
【0031】
(2)具体的な実施形態
つぎに図4〜図10に基づき本発明の実施形態を説明する。図4は、本発明の実施形態に係るカメラ構成装置10の構成例を示している。このカメラ構成装置10は、物体の画像を取得する画像取得手段11とネットワーク接続されているものとする。
【0032】
この画像取得手段11は、各時刻に撮影された画像データを取得する手段、即ち前記カメラ1に相当する。詳細に述べれば、デジタルカメラやビデオカメラなどでとらえた物体の画像をデジタル信号に変換する画像センサなどで構成されている。ここでも撮影対象の物体(1又は複数の人物・動物など)は、同一平面上に存在しているものとする。
【0033】
具体的には、前記カメラ校正装置10は、コンピュータにより構成され、前記画像取得手段11から時系列に画像データが入力される。ここでは前記カメラ校正装置10は、コンピュータのハードウェア資源(CPU,メモリ,ハードディスクドライブ装置,通信インタフェースなど)とソフトウェアとの協働の結果、シルエット画像作成手段12,エッジ画像作成手段13,パラメータ推定手段14として機能している。
【0034】
前記シルエット画像作成手段12は、入力された画像データから対象物体の写っている領域だけを抽出したシルエット画像を作成する。前記エッジ画像作成手段13は、入力された画像データからエッジを抽出したエッジ画像を作成する。
【0035】
前記パラメータ推定手段14は、前記シルエット画像の作成手段12によって作成されたシルエット画像を用いて、前記状態Sを推定する。すなわち、シルエット画像中に存在する物体数・物体の大きさ・物体の三次元位置と、前記画像取得手段11の内部・外部パラメータ(焦点距離f・三次元位置(0,0,Tz)およびX軸とY軸周りの回転角で表される姿勢(φ,θ))とを推定する。この推定結果は、モニタやプリンタなどに出力される。以下、図5のチャートに基づき前記カメラ校正装置10の処理ステップ(S501〜S504)を説明する。
【0036】
S501:処理が開始されると、前記画像取得手段11から撮影画像のデータ(Im)が通信インタフェース経由で入力される(S501)。この実施形態では一例としてネットワーク経由で入力されることを前提に説明するが、前記画像データ(Im)を取得できれば取得手段の如何は問わないものとする。
【0037】
S502:前記シルエット画像作成手段12によって、S501で入力された画像データ(Im)に対し、シルエット画像(Sil)を作成する。シルエット画像は、撮影した画像の対象物体が写っている領域の輝度値が1、他の領域が0である2値画像であり、図6(a)は入力画像の一例を示し、図6(b)はシルエット画像の一例を示している。このようなシルエット画像は、背景差分法やフレーム間差分法などの周知な方法を利用することで簡単に生成することができる。
【0038】
S503:前記エッジ画像作成手段13によって、S501で入力された画像データ(Im)に対し、エッジ画像を作成する。ここではエッジは垂直方向、水平方向を検出し、垂直方向Ehおよび水平方向Evを成分とする(Eh,Ev)を各画素ごと保存し、これをエッジ画像とする。
【0039】
このエッジ画像の生成はよく知られたSobelオペレータ等を用いて簡単に生成することができる。一例として図7(a)は入力画像を示し、図7(b)は垂直エッジ検出画像を示し、図7(c)は水平エッジ検出画像を示している。なお、S502.S503で作成したシルエット画像・エッジ画像はメモリ(RAM)やハードディスクドライブ装置に記憶・保存してもよい。
【0040】
S504:前記パラメータ推定手段14によって、S502で作成されたシルエット画像(Sil)を用いて、画像中に存在する物体の数、三次元位置、大きさ、前記画像取得手段11におけるカメラの内部・外部パラメータ[カメラの焦点距離f、三次元位置(0,0,Tz)、X軸・Y軸周りの回転角で表される姿勢(φ,θ)]を含む状態Sを推定する。
【0041】
以下、図8のフローチャートに基づきS504の具体的な処理内容(S601〜S607)を説明する。ここでは状態Sの推定は、複数回、(B+P)回の反復計算によって生成される(B+P)個の状態候補を用いて行われる。また、初期状態をS’0,n回目の反復計算において生成された状態候補をS’nと表すことにする。最初のB回に生成された状態候補は捨て、最後のP回に得られた状態候補は全て等確率で起こりうると考えパラメータを推定する。これは最初のほうに生成された状態候補は初期状態S’0に大きく依存していると考えられるためである。
【0042】
そして、更新回数(n=1)として処理が開始される。Sの初期状態は、任意であるが、例えば、次のように設定することができる。(f,Tz,φ,θ)=(X_SIZE,200,0.0,0.0)、人物の状態を空集合とする。すなわちS=(X_SIZE,200,0.0,0.0)である。ただし、X_SIZEは入力画像の水平方向の大きさである。
【0043】
S601:変化タイプの選択を行う。変化タイプとは対象状態を変化させる処理のタイプを表すものであり、次の7種類から成る。
【0044】
1:人物の追加,2:人物の消去,3:人物の位置変更,4:人物の大きさ変更,5:焦点距離変更,6:カメラ位置変更,7:カメラ姿勢変更。
【0045】
まず現在の状態として人物が含まれていない場合には必ず(1:人物の追加)が選択される。それ以外の場合には各タイプが選ばれる確率を予め任意に設定しておき、確率的に4つのタイプから選択を行う。例えば(p1,p2,p3,p4,p5,p6,p7)=(0.05,0.05,0.2,0.2,0.1,0.2,0.2)というように設定することができる(piはタイプiが選択される確率)。
【0046】
S602:S601において選択された変化タイプに従い、状態候補S*を生成する。以下で変化タイプ別に処理を説明する。
【0047】
<1:人物の追加>
人物の追加が選ばれた場合には新たにモデルパラメータの設定を行う必要がある。例えばこれは文献1に記載の次の方法を用いてもよい。
【0048】
まず人物に近似する楕円体の大きさを表すパラメータr1、r2およびhに関しては、人物の大きさに関する経験的な事前知識(3mを超える身長の人はいないなど)から取り得る値の範囲を制限することができる。ここではこの範囲を
r1:r1min≦r1≦r1max
r2:r2min≦r2≦r2max
h:hmin≦h≦hmax
とし、この条件下で一様乱数を発生させることで、r1、r2、hのパラメータを新たに生成することができる。
【0049】
頭部位置(x,y)に関するパラメータは、以下のようにして生成することが可能である。まず水平方向の頭部位置xを生成する。図9に示すように人物は画像上で垂直方向に立っているように撮影されていることを仮定すると、ある位置xにおいて垂直方向に対象だけが写っているシルエット画像(Sil)を足し合わせれば人物の頭部が存在する位置において、この値Vが高くなる。ある位置xにおける足し合わせ量V(x)は、以下の式4で表され、これを画像上の全てのxにおいて計算する。
【0050】
【数4】
【0051】
ただし、Sil(x,y)はシルエット画像のx行y列成分、Yは画像の垂直方向サイズを示す。このV(x)を水平方向の頭部位置確率分布とするために、画像上の全てのxのV(x)の総和が1.0となるように正規化を行い、生成された水平方向の頭部位置確率分布V(x)に従った位置xを抽出する。これは例えば次のようにして実現可能である。すなわち、0.0〜1.0の間の一様乱数を利用して、値valを得る。そして、V(x)をx=0から順に値sumに足し合わせていき、初めてsum≧valとなったときのxを抽出することで実現可能である。
【0052】
つぎに垂直方向の頭部位置yを生成する。すでに人物に近似する楕円体の大きさを表すパラメータは生成されているので、これとカメラの内部・外部パラメータ(f,Tz,,φ,θ)を用いて投影行列Pを計算し、人物頭部を表す部分の楕円体(以下、頭部モデルとする。)を画像上に投影することができる。図10に示すように頭部モデル上におけるエッジ検出画像(Ev,Eh)の値を足し合わせて平均を取った値をW(y)とすると、人物頭部付近で大きくなる。W(y)の計算は、以下の式5で計算する。
【0053】
【数5】
【0054】
ただし、HLは頭部輪郭長、n(i)は頭部モデルの法線ベクトル、g(i)=(Ev(i),Eh(i))で頭部輪郭におけるエッジ検出画像の値を要素とする勾配ベクトルである。
【0055】
画像上の全てのyでW(y)を計算し、最後にこれを位置xにおける垂直方向の頭部位置確率分布となるように、W(y)の総和を1.0とする正規化を行い、垂直方向の頭部位置確率分布W(y)に従って位置yを抽出する。これは水平方向と同様の方法で抽出することが可能である。
【0056】
以上のようにして新しいモデルパラメータMnを生成することができる。暫定的な状態候補S*はS’n-1に新たな対象状態Mnを追加した状態となる。
【0057】
<2:人物の消去>
人物の消去が選択された場合には、まず前回生成された状態候補S’n-1からランダムに対象を選択する。すなわち、K個の対象があった場合には各々の対象が1/Kの確率で選択されることになる。つぎに選択された対象Mkを消去する。暫定的な状態候補S*はS’n-1から対象状態Mkを消去した状態となる。
【0058】
<3:人物の位置変更>
人物の位置変更が選択された場合には、まず前回生成された状態候補S’n-1からランダムに対象を選択する。すなわち、K個の対象があった場合には各々の対象が1/Kの確率で選択されることになる。つぎに選択されたMkの要素の内、人物の二次元平面上での位置(xk,yk)から、次の式6に従って変化させた暫定的な位置(x’k,y’k)を計算する。
【0059】
【数6】
【0060】
ただし、δx,δyはそれぞれ一次元のガウスノイズであり、そのパラメータは実験的に任意の値に決めることができる。M’kを以下の式7のように定義する。
【0061】
【数7】
【0062】
暫定的な状態候補S*はS’n-1の対象状態MkをM’kに更新した状態となる。
【0063】
<4:人物の大きさ変更>
人物の大きさ変更が選択された場合には、まず前回生成された状態候補S’n-1からランダムに対象を選択する。すなわち、K個の対象があった場合には各々の対象が1/Kの確率で選択されることになる。つぎに選択されたMkの要素の内、人物に近似する楕円体の半径r1、半径r2および高さhを表す(r1k,r2k,hk)から次の式8に従って変化させた暫定的な形、大きさのパラメータ(r1’k,r2’k,h’k)を計算する。
【0064】
【数8】
【0065】
ただし、δr1,δr2,δhはそれぞれ一次元のガウスノイズであり、そのパラメータは実験的に任意の値に決めることができる。この暫定的な形、大きさのパラメータを用いてM’kを以下の式9のように定義する。
【0066】
【数9】
【0067】
暫定的な状態候補S*はS’n-1の対象状態MkをM’kに更新した状態となる。
【0068】
<5:焦点距離変更>
焦点距離変更が選択された場合には、カメラの焦点距離パラメータをfから次の式10に従って変化させた暫定的な焦点距離f’に更新する。
【0069】
【数10】
【0070】
ただし、δfは一次元のガウスノイズであり、そのパラメータは実験的に任意の値に決めることができる。
【0071】
<6:カメラ位置変更>
カメラ位置変更が選択された場合には、カメラの位置パラメータをTzから次の式11に従って変化させた暫定的なカメラ位置Tz’に更新する。
【0072】
【数11】
【0073】
ただし、δTzは一次元のガウスノイズであり、そのパラメータは実験的に任意の値に決めることができる。
【0074】
<7:カメラ姿勢変更>
カメラ姿勢変更が選択された場合には、カメラの姿勢パラメータを(φ,θ)から次の式12に従って変化させた暫定的なカメラ姿勢回転角(φ’,θ’)で更新する。
【0075】
【数12】
【0076】
ただし、δΦ,δΘはそれぞれ一次元のガウスノイズであり、そのパラメータは実験的に任意の値に決めることができる。
【0077】
S603:S602の暫定的な状態候補S*を用いて、S503において作成されたシルエット画像(Sil)をシミュレートした画像、即ちシミュレーション画像(Sim)を作成する。ここで三次元空間に存在する物体のカメラ画像上への投影関係を表す投影行列Pはパラメータ(f,Tz,φ,θ)より計算できる。
【0078】
この関係を利用すると画像上の二次元座標値(x,y)に投影される平面上に直立する高さhの物体の平面上の二次元座標値(X,Y)を計算することが可能である。これにより三次元空間内にS602で計算された暫定的な対象状態S*に基づいた楕円体で構成された三次元モデルを複数配置することができる。
【0079】
以上のように生成された仮想シーンを仮想カメラへ投影することで、シミュレーション画像を作成する。画像上の楕円体領域の値を1、それ以外の領域の値を0とする2値画像とすることで、シルエット画像(Sil)をシミュレートしたシミュレーション画像(Sim)を作成することができる。
【0080】
S604:S602の暫定的な対象状態S*が、尤もらしいか否かを判断するために、尤度Lを計算する。これは事前知識による対象状態自体の確からしさの判定およびS503で作成されたシルエット画像(Sil)とS603で生成されたシミュレーション画像(Sim)の比較により行う。
【0081】
ここで事前知識による対象状態自体の確からしさの判定は、人物同士が三次元空間上で重なることがないという条件である。いま、人物を楕円体モデルで近似しているため、個々の楕円体が重ならない条件、即ち異なる二つの楕円体の中心同士の距離が、二つの楕円体の半径の和より大きいことを満たす必要がある。
【0082】
二人の人物同士が三次元空間上で重ならないようにするために、次の式13で表された距離R、即ち二人の人物を表す楕円体の中心同士の距離に応じたペナルティ関数E(S*)を設定する。
【0083】
【数13】
【0084】
ただし、Xk,Ykはシミュレーション画像生成の際に計算した三次元空間上での人物kの平面上の位置X座標、Y座標を示す。楕円体の距離が近くなるとペナルティを与える関数Eは、例えば以下の式14のように設定できる。ただしαは定数で、実験的に任意に設定可能である。
【0085】
【数14】
【0086】
つぎにシルエット画像(Sil)とS603で生成されたシミュレーション画像(Sim)の比較について説明する。これは例えば以下の式15の評価式によって計算を行うことができる。ただし、(u,v)は画像のu行v列成分を示す。
【0087】
【数15】
【0088】
最終的に暫定状態S*の尤度Lは、式16によって表される積演算によって計算される。
【0089】
【数16】
【0090】
このような尤度を用いることで、三次元空間上での人物位置の確からしさと二次元画像上での追跡を融合することが可能となる。
【0091】
S605:S604で計算された尤度Lを用いて、暫定状態候補S*を受け入れるか、もしくは拒否するかの演算を行う。これは受け入れ拒否判断確率Aの計算によって決定する。受け入れ拒否判断確率Aは、例えば以下の式12により計算することが可能である。
【0092】
【数17】
【0093】
ここで現在n回目の更新だとすると、L’はn−1回目の候補状態S’n-1の尤度を表す。すなわち、前回の状態よりも今回の状態のほうが、尤度が高ければ必ず受け入れ、もし前回の状態よりも尤度が低ければ、L/L’の確率で暫定状態S*を採用する。
【0094】
ここで暫定状態S*が採用されれば、S’n=S*とし、採用が拒否されればS’n=S’t,n-1として、S606の条件判断ステップへと進む。
【0095】
S606:更新処理が規定の回数行われたかの判断が行われる。更新回数nが任意に決定できる定数BとPの和で表されるB+P回を超えていれば反復計算処理を終了し、S607の対象状態の推定ステップへと進む。
【0096】
逆に更新回数nが、B+P回を越えていなければS601に戻って再度処理を繰り返す。なお、更新処理の規定回数はプログラムなどに定義されているものとする。
【0097】
S607:最大確率を持つ状態の計算を行う。反復計算により生成された状態候補のうち、最後のP個の状態は全て等確率で起こると仮定しているため、最大確率を持つ状態Sは、以下の式18によって計算することができる。
【0098】
【数18】
【0099】
このようにして計算した状態Sが、三次元空間中に存在する1又は複数の物体や人物を撮影することで各々の物体の数、位置、大きさと、撮影に利用された前記画像取得手段11におけるカメラの内部・外部パラメータとを含む推定結果である。
【0100】
この推定結果には、カメラの内部・外部パラメータを含んでいることから、該パラメータの計測が容易となる。また、ここで計算された状態Sは、三次元空間上での人物位置の確からしさが最も高いことから、ここに含まれたカメラの内部・外部パラメータは、適切なパラメータとしてカメラキャリブレーションなどに利用され、作業の簡素化などに役立てることができる。
【0101】
特に、これまではカメラの内部・外部パラメータの計測には、訓練を受けた熟練者にしか計測ができないといった問題点があったが、前記カメラ構成装置10によれば、画像から自動的に推定されることから、カメラなどの画像取得手段11を設置するだけで、画像に写る対象の三次元位置の推定や追跡といった応用が可能となる。
【0102】
なお、S601〜S606の際の中間データは、適宜にメモリ(RAM)やハードディスクドライブ装置に記憶・保存され、また式4〜式18はプログラムなどに定義されているものとする。
【0103】
本発明は、前記実施形態に限定されるものではなく、例えばS604のシルエット画像とシミュレーション画像の比較に式15ではなく、画像間の類似度を取る評価関数を用いてもよい。この評価関数には単純な積演算を利用しても同様にS604の処理が実現できる。
【0104】
また、本発明は、前記カメラ校正装置10の各手段12〜14の一部もしくは全部として、コンピュータを機能させるプログラムとしても構成することができる。この場合には、S501〜S504.S601〜S607の全てのステップあるいは一部のステップをコンピュータに実行させる。
【0105】
このプログラムは、Webサイトや電子メールなどネットワークを通じて提供することができる。また、前記プログラムは、CD−ROM,DVD−ROM,CD−R,CD−RW,DVD−R,DVD−RW,MO,HDD,Blu−ray Disk(登録商標)などの記録媒体10に記録して、保存・配布することも可能である。この記録媒体10は、記録媒体駆動装置を利用して読み出され、そのプログラムコード自体が前記実施形態の処理を実現するので、該記録媒体も本発明を構成する。
(3)実施例
以下、前記カメラ校正装置10を用いて、ビデオカメラから得られた映像を処理して、撮影された人物を利用して、追跡した結果を図5の処理フローを用いて述べる。まず処理が開始されると、カメラ画像の取得を行い(S501)、シルエット画像とエッジ画像とを作成する(S502,S503)。図11(a)はビデオカメラからの入力画像を示し、図11(b)は背景差分法を用いて作成したシルエット画像を示し、図11(c)(d)はSobelオペレータを用いて作成したエッジ画像を示している。
【0106】
つぎにS504にてパラメータの推定を行う。ここでは状態候補を逐次生成させながらその状態をシミュレートしたシミュレーション画像の作成を行って、その評価を行う。図11(e)は計算された最大確率を取る対象状態を表現したシミュレーション画像を示し、図11(f)はその対象状態を俯瞰した図を示している。図11(f)によれば、人物の三次元的な位置関係が正しく推定されていることが分かる。ここではカメラの内部・外部パラメータが正確に推定されていなければ、人物の三次元的な位置関係も正しく推定できないため、カメラの内部・外部パラメータの推定結果の正確性も示している。
【0107】
以上述べた処理により本実施例では人物が撮影された画像から自動的に人物の三次元位置・物体数・物体の大きさおよびビデオカメラの焦点距離、位置、姿勢といったパラメータの推定結果が出力される。
【符号の説明】
【0108】
1.11…画像の取得手段(カメラ)
10…カメラ校正装置
12…シルエット画像作成手段
13…エッジ画像作成手段
14…パラメータ推定手段
【技術分野】
【0001】
本発明は、人物・動物を含む物体をカメラで撮影した画像を利用してカメラの内部・外部パラメータを推定する技術に関する。
【背景技術】
【0002】
コンピュータビジョン分野では、カメラの撮影情報を利用して人物などの動く対象の追跡に関する研究が多く行われている。この人物追跡技術は、主に映像監視技術などに応用されている。ここでは例えば次の処理が実現されている。
【0003】
すなわち、カメラなどの画像取得装置を利用して対象物体を観測し、画像上における対象の領域(シルエット)を抽出したシルエット画像を用意する。予め追跡に利用するカメラの内部・外部パラメータを予め計測して求めておき、三次元空間中に人物モデルを配置し、先に算出したパラメータを持つ仮想のカメラでこのシーンを撮影すると、シルエット画像のシミュレーションを行うことができる。
【0004】
そして、人物モデルに楕円体を用いて生成したシミュレーション画像とシルエット画像を比較することで、複数の人物の追跡を行う方法が提案されている。この一例として非特許文献1の技術が知られている。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】大澤 達哉,数藤 恭子,新井 啓之,小池 秀樹 “単眼動画像を用いた近接する複数対象の追跡” 信学技報 Vol.108 No.93 2008年6月12日発行 P1〜P6
【発明の概要】
【発明が解決しようとする課題】
【0006】
非特許文献1人物の方法によれば、三次元空間上での位置を直接予測し、予測した結果を実際に設置されているカメラと同じ内部・外部パラメータを持つ仮想のカメラで撮影し、シルエット画像のシミュレーションを行い、実際に撮影された画像と整合性を比較することで、一台のカメラ情報のみを用いて、人物の三次元空間上での位置の追跡が行われる。
【0007】
しかしながら、シルエット画像のシミュレーションを行うには事前に撮影に用いるカメラの内部・外部パラメータを計測しておく必要がある。ところが、カメラの内部・外部パラメータの計測には専門知識を必要とするので、訓練を受けた熟練者にしか計測ができないおそれがあった。
【0008】
本発明は、上述のような従来技術の問題点を解決するためになされたものであり、カメラの内部・外部パラメータを容易に計測可能な技術を提供することを解決課題としている。
【課題を解決するための手段】
【0009】
そこで、本発明は、前記課題を解決するために、物体の変化状態(物体数・物体の大きさ・物体の位置)の予測結果を評価することで、カメラの内部・外部パラメータを自動的に推定している。
【0010】
本発明の一態様は、物体の撮影画像から撮影に利用しているカメラの内部・外部パラメータを求めるカメラ校正装置であって、前記カメラの撮影画像から物体の写っている領域を抽出したシルエット画像を作成するシルエット画像作成手段と、前記物体の変化タイプに応じて予測した状態を、前記シルエット画像を利用して評価することで、前記カメラの内部・外部パラメータを推定するパラメータ推定手段と、を備える。
【0011】
本発明の他の態様は、物体の撮影画像から撮影に利用しているカメラの内部・外部パラメータを求めるカメラ校正方法であって、シルエット画像作成手段が、前記カメラの撮影画像から物体の写っている領域を抽出したシルエット画像を作成する第1ステップと、パラメータ推定手段が、前記物体の変化タイプに応じて予測した状態を、前記シルエット画像を利用して評価することで、前記カメラの内部・外部パラメータを推定する第2ステップと、を有する。
【0012】
前記両態様においては、前記物体の状態を、楕円体モデルの集合で表し、モデル頭頂部の画像上での二次元座標値と、頭部に近似する楕円体の短軸と、身体に近似する楕円体の短軸と、身長を示すモデルの高さで人物を表すことが好ましい。
【0013】
なお、本発明は、前記カメラ校正装置としてコンピュータを機能させるプログラムの態様で提供してもよく、また該プログラムを記録した記録媒体の態様で提供してもよい。
【発明の効果】
【0014】
本発明によれば、カメラの内部・外部パラメータが自動的に推定されることから、該パラメータの計測が容易となる。
【図面の簡単な説明】
【0015】
【図1】カメラの撮影状況を示す概略図。
【図2】カメラの位置・姿勢を表す座標図。
【図3】三次元モデルを示す楕円体モデルの概略図。
【図4】本発明の実施形態に係るカメラ構成装置の構成図。
【図5】同 カメラ校正装置の処理を示すチャート図。
【図6】(a)は入力画像、(b)はシルエット画像。
【図7】(a)は入力画像、(b)は垂直エッジ画像、(c)は水平エッジ画像。
【図8】同 パラメータの推定の処理ステップを示すフローチャート。
【図9】同 シルエット画像から計算した水平方向の頭部位置の確率分布図。
【図10】同 エッジ検出画像から計算した垂直方向の頭部位置の確率分布図。
【図11】(a)は実施例の入力画像、(b)は実施例のシルエット画像、(c)は実施例のエッジ画像(水平)、(d)は実施例のエッジ画像(垂直)、(e)は実施例のシミュレーション画像、(f)は実施例で推定された対象の三次元位置
【発明を実施するための形態】
【0016】
(1)基本原理
まず本発明の基本原理を以下に説明する。本発明は、三次元空間中に存在する1又は複数の物体(人物・動物を含む)を撮影することで、各々の物体の変化状態、即ち物体数・物体位置・物体の大きさ、及び撮影に利用した画像取得手段のカメラ内部・外部パラメータを推定している。
【0017】
ここでは撮影される1又は複数の対象物は同一平面上に存在しているものと仮定する。一例として図1に示すように、平面上を歩行する複数の人物を対象とし、位置と姿勢を固定されたカメラ1(例えばデジタルカメラやビデオカメラなど)を用いてもよい。この場合に三次元空間を定義する座標は任意に設定することが可能であるため、XY平面を人物が歩行している平面とし、Z軸を床面からの高さを表すように設定することが可能である。
【0018】
図2に示すように、X軸およびY軸の原点にカメラ1を置けば、カメラ1の三次元位置は(0,0,Tz)と平面上からの高さを示す一つの変数で表すことができ、またカメラ1の姿勢についてもX軸、Y軸周りの回転角(φ,θ)を用いた二変数で表すことができる。これら3つの変数(Tz,φ,θ)がカメラ1の外部パラメータを示している。
【0019】
つぎにカメラ1の内部パラメータは、カメラレンズの歪を無視し、投影中心が画像の中心を示していることを仮定すると、レンズの焦点距離fのみで表すことが可能である。
【0020】
これらカメラ1の内部・外部パラメータを用いると、三次元空間上の点が二次元画像上のどこに投影されるかを計算するのに必要な投影行列Pを、以下の式1により計算することが可能である。この式1において行列Iは3×3の単位行列である。
【0021】
【数1】
【0022】
また、対象物体を表すために図3に示すように、2つの楕円体P.Qを用いて人物の形状に近似したモデルを定義した。ここではモデル頭頂部の画像上での二次元座標値(x,y),頭部に近似する楕円体Pの短軸r1,身体に近似する楕円体Qの短軸r2,身長を表すモデルの高さhで人物を表している。なお、前記楕円体Pの長軸と短軸は一定の比率を保っていると考え、長軸半径r=k1×r1とした。ここでk1は任意の定数であり、例えば1.5という数値を使ってもよい。また、前記楕円体Qの長軸に関しても同様に長軸半径r=h−k2×r1とした。k2は任意の定数であり、例えば1.2という数値を使ってもよい。
【0023】
したがって、一人の人物の状態は、(x,y,r1,r2,h)の5つのパラメータにより表すことができる。また、複数の人物の状態を表す対象状態は、各人物の位置、大きさを表すベクトルM(人物モデル)を並べたものによって表すことも可能である。すなわち、カメラ1の内部・外部パラメータと複数の人物の状態を含んだ状態Sは、以下の式2で表される。
【0024】
【数2】
【0025】
ここで状態Sを構成する人物kの位置、大きさ、形を表す人物モデルMkは、以下の式3で表される5次元ベクトルである。
【0026】
【数3】
【0027】
ただし、ここで人物モデルMkを構成する5つのパラメータは、前述の人物の形状を近似したモデルのパラメータである。
【0028】
以上により、もしカメラ1の内部・外部パラメータおよび複数の対象の状態を含む状態Sが既知であるならば、非特許文献1の方法と同様にしてシルエット画像のシミュレーションを行うことが可能であることは自明である。
【0029】
本発明は、この状態Sを予測し、シルエット画像のシミュレーションを行い、実際のシルエット画像と比較し、整合性を評価することで、予測された状態Sの評価を行う。
【0030】
本発明の基本原理は、以上の処理を確率統計状態分布推定法の一種であるMCMC(Markov Chain Monte Carlo)法を用いることで、正しいパラメータの組み合わせを表す状態Sを推定することである。この基本原理は、本発明の実施形態に係るカメラ校正装置に反映されている。
【0031】
(2)具体的な実施形態
つぎに図4〜図10に基づき本発明の実施形態を説明する。図4は、本発明の実施形態に係るカメラ構成装置10の構成例を示している。このカメラ構成装置10は、物体の画像を取得する画像取得手段11とネットワーク接続されているものとする。
【0032】
この画像取得手段11は、各時刻に撮影された画像データを取得する手段、即ち前記カメラ1に相当する。詳細に述べれば、デジタルカメラやビデオカメラなどでとらえた物体の画像をデジタル信号に変換する画像センサなどで構成されている。ここでも撮影対象の物体(1又は複数の人物・動物など)は、同一平面上に存在しているものとする。
【0033】
具体的には、前記カメラ校正装置10は、コンピュータにより構成され、前記画像取得手段11から時系列に画像データが入力される。ここでは前記カメラ校正装置10は、コンピュータのハードウェア資源(CPU,メモリ,ハードディスクドライブ装置,通信インタフェースなど)とソフトウェアとの協働の結果、シルエット画像作成手段12,エッジ画像作成手段13,パラメータ推定手段14として機能している。
【0034】
前記シルエット画像作成手段12は、入力された画像データから対象物体の写っている領域だけを抽出したシルエット画像を作成する。前記エッジ画像作成手段13は、入力された画像データからエッジを抽出したエッジ画像を作成する。
【0035】
前記パラメータ推定手段14は、前記シルエット画像の作成手段12によって作成されたシルエット画像を用いて、前記状態Sを推定する。すなわち、シルエット画像中に存在する物体数・物体の大きさ・物体の三次元位置と、前記画像取得手段11の内部・外部パラメータ(焦点距離f・三次元位置(0,0,Tz)およびX軸とY軸周りの回転角で表される姿勢(φ,θ))とを推定する。この推定結果は、モニタやプリンタなどに出力される。以下、図5のチャートに基づき前記カメラ校正装置10の処理ステップ(S501〜S504)を説明する。
【0036】
S501:処理が開始されると、前記画像取得手段11から撮影画像のデータ(Im)が通信インタフェース経由で入力される(S501)。この実施形態では一例としてネットワーク経由で入力されることを前提に説明するが、前記画像データ(Im)を取得できれば取得手段の如何は問わないものとする。
【0037】
S502:前記シルエット画像作成手段12によって、S501で入力された画像データ(Im)に対し、シルエット画像(Sil)を作成する。シルエット画像は、撮影した画像の対象物体が写っている領域の輝度値が1、他の領域が0である2値画像であり、図6(a)は入力画像の一例を示し、図6(b)はシルエット画像の一例を示している。このようなシルエット画像は、背景差分法やフレーム間差分法などの周知な方法を利用することで簡単に生成することができる。
【0038】
S503:前記エッジ画像作成手段13によって、S501で入力された画像データ(Im)に対し、エッジ画像を作成する。ここではエッジは垂直方向、水平方向を検出し、垂直方向Ehおよび水平方向Evを成分とする(Eh,Ev)を各画素ごと保存し、これをエッジ画像とする。
【0039】
このエッジ画像の生成はよく知られたSobelオペレータ等を用いて簡単に生成することができる。一例として図7(a)は入力画像を示し、図7(b)は垂直エッジ検出画像を示し、図7(c)は水平エッジ検出画像を示している。なお、S502.S503で作成したシルエット画像・エッジ画像はメモリ(RAM)やハードディスクドライブ装置に記憶・保存してもよい。
【0040】
S504:前記パラメータ推定手段14によって、S502で作成されたシルエット画像(Sil)を用いて、画像中に存在する物体の数、三次元位置、大きさ、前記画像取得手段11におけるカメラの内部・外部パラメータ[カメラの焦点距離f、三次元位置(0,0,Tz)、X軸・Y軸周りの回転角で表される姿勢(φ,θ)]を含む状態Sを推定する。
【0041】
以下、図8のフローチャートに基づきS504の具体的な処理内容(S601〜S607)を説明する。ここでは状態Sの推定は、複数回、(B+P)回の反復計算によって生成される(B+P)個の状態候補を用いて行われる。また、初期状態をS’0,n回目の反復計算において生成された状態候補をS’nと表すことにする。最初のB回に生成された状態候補は捨て、最後のP回に得られた状態候補は全て等確率で起こりうると考えパラメータを推定する。これは最初のほうに生成された状態候補は初期状態S’0に大きく依存していると考えられるためである。
【0042】
そして、更新回数(n=1)として処理が開始される。Sの初期状態は、任意であるが、例えば、次のように設定することができる。(f,Tz,φ,θ)=(X_SIZE,200,0.0,0.0)、人物の状態を空集合とする。すなわちS=(X_SIZE,200,0.0,0.0)である。ただし、X_SIZEは入力画像の水平方向の大きさである。
【0043】
S601:変化タイプの選択を行う。変化タイプとは対象状態を変化させる処理のタイプを表すものであり、次の7種類から成る。
【0044】
1:人物の追加,2:人物の消去,3:人物の位置変更,4:人物の大きさ変更,5:焦点距離変更,6:カメラ位置変更,7:カメラ姿勢変更。
【0045】
まず現在の状態として人物が含まれていない場合には必ず(1:人物の追加)が選択される。それ以外の場合には各タイプが選ばれる確率を予め任意に設定しておき、確率的に4つのタイプから選択を行う。例えば(p1,p2,p3,p4,p5,p6,p7)=(0.05,0.05,0.2,0.2,0.1,0.2,0.2)というように設定することができる(piはタイプiが選択される確率)。
【0046】
S602:S601において選択された変化タイプに従い、状態候補S*を生成する。以下で変化タイプ別に処理を説明する。
【0047】
<1:人物の追加>
人物の追加が選ばれた場合には新たにモデルパラメータの設定を行う必要がある。例えばこれは文献1に記載の次の方法を用いてもよい。
【0048】
まず人物に近似する楕円体の大きさを表すパラメータr1、r2およびhに関しては、人物の大きさに関する経験的な事前知識(3mを超える身長の人はいないなど)から取り得る値の範囲を制限することができる。ここではこの範囲を
r1:r1min≦r1≦r1max
r2:r2min≦r2≦r2max
h:hmin≦h≦hmax
とし、この条件下で一様乱数を発生させることで、r1、r2、hのパラメータを新たに生成することができる。
【0049】
頭部位置(x,y)に関するパラメータは、以下のようにして生成することが可能である。まず水平方向の頭部位置xを生成する。図9に示すように人物は画像上で垂直方向に立っているように撮影されていることを仮定すると、ある位置xにおいて垂直方向に対象だけが写っているシルエット画像(Sil)を足し合わせれば人物の頭部が存在する位置において、この値Vが高くなる。ある位置xにおける足し合わせ量V(x)は、以下の式4で表され、これを画像上の全てのxにおいて計算する。
【0050】
【数4】
【0051】
ただし、Sil(x,y)はシルエット画像のx行y列成分、Yは画像の垂直方向サイズを示す。このV(x)を水平方向の頭部位置確率分布とするために、画像上の全てのxのV(x)の総和が1.0となるように正規化を行い、生成された水平方向の頭部位置確率分布V(x)に従った位置xを抽出する。これは例えば次のようにして実現可能である。すなわち、0.0〜1.0の間の一様乱数を利用して、値valを得る。そして、V(x)をx=0から順に値sumに足し合わせていき、初めてsum≧valとなったときのxを抽出することで実現可能である。
【0052】
つぎに垂直方向の頭部位置yを生成する。すでに人物に近似する楕円体の大きさを表すパラメータは生成されているので、これとカメラの内部・外部パラメータ(f,Tz,,φ,θ)を用いて投影行列Pを計算し、人物頭部を表す部分の楕円体(以下、頭部モデルとする。)を画像上に投影することができる。図10に示すように頭部モデル上におけるエッジ検出画像(Ev,Eh)の値を足し合わせて平均を取った値をW(y)とすると、人物頭部付近で大きくなる。W(y)の計算は、以下の式5で計算する。
【0053】
【数5】
【0054】
ただし、HLは頭部輪郭長、n(i)は頭部モデルの法線ベクトル、g(i)=(Ev(i),Eh(i))で頭部輪郭におけるエッジ検出画像の値を要素とする勾配ベクトルである。
【0055】
画像上の全てのyでW(y)を計算し、最後にこれを位置xにおける垂直方向の頭部位置確率分布となるように、W(y)の総和を1.0とする正規化を行い、垂直方向の頭部位置確率分布W(y)に従って位置yを抽出する。これは水平方向と同様の方法で抽出することが可能である。
【0056】
以上のようにして新しいモデルパラメータMnを生成することができる。暫定的な状態候補S*はS’n-1に新たな対象状態Mnを追加した状態となる。
【0057】
<2:人物の消去>
人物の消去が選択された場合には、まず前回生成された状態候補S’n-1からランダムに対象を選択する。すなわち、K個の対象があった場合には各々の対象が1/Kの確率で選択されることになる。つぎに選択された対象Mkを消去する。暫定的な状態候補S*はS’n-1から対象状態Mkを消去した状態となる。
【0058】
<3:人物の位置変更>
人物の位置変更が選択された場合には、まず前回生成された状態候補S’n-1からランダムに対象を選択する。すなわち、K個の対象があった場合には各々の対象が1/Kの確率で選択されることになる。つぎに選択されたMkの要素の内、人物の二次元平面上での位置(xk,yk)から、次の式6に従って変化させた暫定的な位置(x’k,y’k)を計算する。
【0059】
【数6】
【0060】
ただし、δx,δyはそれぞれ一次元のガウスノイズであり、そのパラメータは実験的に任意の値に決めることができる。M’kを以下の式7のように定義する。
【0061】
【数7】
【0062】
暫定的な状態候補S*はS’n-1の対象状態MkをM’kに更新した状態となる。
【0063】
<4:人物の大きさ変更>
人物の大きさ変更が選択された場合には、まず前回生成された状態候補S’n-1からランダムに対象を選択する。すなわち、K個の対象があった場合には各々の対象が1/Kの確率で選択されることになる。つぎに選択されたMkの要素の内、人物に近似する楕円体の半径r1、半径r2および高さhを表す(r1k,r2k,hk)から次の式8に従って変化させた暫定的な形、大きさのパラメータ(r1’k,r2’k,h’k)を計算する。
【0064】
【数8】
【0065】
ただし、δr1,δr2,δhはそれぞれ一次元のガウスノイズであり、そのパラメータは実験的に任意の値に決めることができる。この暫定的な形、大きさのパラメータを用いてM’kを以下の式9のように定義する。
【0066】
【数9】
【0067】
暫定的な状態候補S*はS’n-1の対象状態MkをM’kに更新した状態となる。
【0068】
<5:焦点距離変更>
焦点距離変更が選択された場合には、カメラの焦点距離パラメータをfから次の式10に従って変化させた暫定的な焦点距離f’に更新する。
【0069】
【数10】
【0070】
ただし、δfは一次元のガウスノイズであり、そのパラメータは実験的に任意の値に決めることができる。
【0071】
<6:カメラ位置変更>
カメラ位置変更が選択された場合には、カメラの位置パラメータをTzから次の式11に従って変化させた暫定的なカメラ位置Tz’に更新する。
【0072】
【数11】
【0073】
ただし、δTzは一次元のガウスノイズであり、そのパラメータは実験的に任意の値に決めることができる。
【0074】
<7:カメラ姿勢変更>
カメラ姿勢変更が選択された場合には、カメラの姿勢パラメータを(φ,θ)から次の式12に従って変化させた暫定的なカメラ姿勢回転角(φ’,θ’)で更新する。
【0075】
【数12】
【0076】
ただし、δΦ,δΘはそれぞれ一次元のガウスノイズであり、そのパラメータは実験的に任意の値に決めることができる。
【0077】
S603:S602の暫定的な状態候補S*を用いて、S503において作成されたシルエット画像(Sil)をシミュレートした画像、即ちシミュレーション画像(Sim)を作成する。ここで三次元空間に存在する物体のカメラ画像上への投影関係を表す投影行列Pはパラメータ(f,Tz,φ,θ)より計算できる。
【0078】
この関係を利用すると画像上の二次元座標値(x,y)に投影される平面上に直立する高さhの物体の平面上の二次元座標値(X,Y)を計算することが可能である。これにより三次元空間内にS602で計算された暫定的な対象状態S*に基づいた楕円体で構成された三次元モデルを複数配置することができる。
【0079】
以上のように生成された仮想シーンを仮想カメラへ投影することで、シミュレーション画像を作成する。画像上の楕円体領域の値を1、それ以外の領域の値を0とする2値画像とすることで、シルエット画像(Sil)をシミュレートしたシミュレーション画像(Sim)を作成することができる。
【0080】
S604:S602の暫定的な対象状態S*が、尤もらしいか否かを判断するために、尤度Lを計算する。これは事前知識による対象状態自体の確からしさの判定およびS503で作成されたシルエット画像(Sil)とS603で生成されたシミュレーション画像(Sim)の比較により行う。
【0081】
ここで事前知識による対象状態自体の確からしさの判定は、人物同士が三次元空間上で重なることがないという条件である。いま、人物を楕円体モデルで近似しているため、個々の楕円体が重ならない条件、即ち異なる二つの楕円体の中心同士の距離が、二つの楕円体の半径の和より大きいことを満たす必要がある。
【0082】
二人の人物同士が三次元空間上で重ならないようにするために、次の式13で表された距離R、即ち二人の人物を表す楕円体の中心同士の距離に応じたペナルティ関数E(S*)を設定する。
【0083】
【数13】
【0084】
ただし、Xk,Ykはシミュレーション画像生成の際に計算した三次元空間上での人物kの平面上の位置X座標、Y座標を示す。楕円体の距離が近くなるとペナルティを与える関数Eは、例えば以下の式14のように設定できる。ただしαは定数で、実験的に任意に設定可能である。
【0085】
【数14】
【0086】
つぎにシルエット画像(Sil)とS603で生成されたシミュレーション画像(Sim)の比較について説明する。これは例えば以下の式15の評価式によって計算を行うことができる。ただし、(u,v)は画像のu行v列成分を示す。
【0087】
【数15】
【0088】
最終的に暫定状態S*の尤度Lは、式16によって表される積演算によって計算される。
【0089】
【数16】
【0090】
このような尤度を用いることで、三次元空間上での人物位置の確からしさと二次元画像上での追跡を融合することが可能となる。
【0091】
S605:S604で計算された尤度Lを用いて、暫定状態候補S*を受け入れるか、もしくは拒否するかの演算を行う。これは受け入れ拒否判断確率Aの計算によって決定する。受け入れ拒否判断確率Aは、例えば以下の式12により計算することが可能である。
【0092】
【数17】
【0093】
ここで現在n回目の更新だとすると、L’はn−1回目の候補状態S’n-1の尤度を表す。すなわち、前回の状態よりも今回の状態のほうが、尤度が高ければ必ず受け入れ、もし前回の状態よりも尤度が低ければ、L/L’の確率で暫定状態S*を採用する。
【0094】
ここで暫定状態S*が採用されれば、S’n=S*とし、採用が拒否されればS’n=S’t,n-1として、S606の条件判断ステップへと進む。
【0095】
S606:更新処理が規定の回数行われたかの判断が行われる。更新回数nが任意に決定できる定数BとPの和で表されるB+P回を超えていれば反復計算処理を終了し、S607の対象状態の推定ステップへと進む。
【0096】
逆に更新回数nが、B+P回を越えていなければS601に戻って再度処理を繰り返す。なお、更新処理の規定回数はプログラムなどに定義されているものとする。
【0097】
S607:最大確率を持つ状態の計算を行う。反復計算により生成された状態候補のうち、最後のP個の状態は全て等確率で起こると仮定しているため、最大確率を持つ状態Sは、以下の式18によって計算することができる。
【0098】
【数18】
【0099】
このようにして計算した状態Sが、三次元空間中に存在する1又は複数の物体や人物を撮影することで各々の物体の数、位置、大きさと、撮影に利用された前記画像取得手段11におけるカメラの内部・外部パラメータとを含む推定結果である。
【0100】
この推定結果には、カメラの内部・外部パラメータを含んでいることから、該パラメータの計測が容易となる。また、ここで計算された状態Sは、三次元空間上での人物位置の確からしさが最も高いことから、ここに含まれたカメラの内部・外部パラメータは、適切なパラメータとしてカメラキャリブレーションなどに利用され、作業の簡素化などに役立てることができる。
【0101】
特に、これまではカメラの内部・外部パラメータの計測には、訓練を受けた熟練者にしか計測ができないといった問題点があったが、前記カメラ構成装置10によれば、画像から自動的に推定されることから、カメラなどの画像取得手段11を設置するだけで、画像に写る対象の三次元位置の推定や追跡といった応用が可能となる。
【0102】
なお、S601〜S606の際の中間データは、適宜にメモリ(RAM)やハードディスクドライブ装置に記憶・保存され、また式4〜式18はプログラムなどに定義されているものとする。
【0103】
本発明は、前記実施形態に限定されるものではなく、例えばS604のシルエット画像とシミュレーション画像の比較に式15ではなく、画像間の類似度を取る評価関数を用いてもよい。この評価関数には単純な積演算を利用しても同様にS604の処理が実現できる。
【0104】
また、本発明は、前記カメラ校正装置10の各手段12〜14の一部もしくは全部として、コンピュータを機能させるプログラムとしても構成することができる。この場合には、S501〜S504.S601〜S607の全てのステップあるいは一部のステップをコンピュータに実行させる。
【0105】
このプログラムは、Webサイトや電子メールなどネットワークを通じて提供することができる。また、前記プログラムは、CD−ROM,DVD−ROM,CD−R,CD−RW,DVD−R,DVD−RW,MO,HDD,Blu−ray Disk(登録商標)などの記録媒体10に記録して、保存・配布することも可能である。この記録媒体10は、記録媒体駆動装置を利用して読み出され、そのプログラムコード自体が前記実施形態の処理を実現するので、該記録媒体も本発明を構成する。
(3)実施例
以下、前記カメラ校正装置10を用いて、ビデオカメラから得られた映像を処理して、撮影された人物を利用して、追跡した結果を図5の処理フローを用いて述べる。まず処理が開始されると、カメラ画像の取得を行い(S501)、シルエット画像とエッジ画像とを作成する(S502,S503)。図11(a)はビデオカメラからの入力画像を示し、図11(b)は背景差分法を用いて作成したシルエット画像を示し、図11(c)(d)はSobelオペレータを用いて作成したエッジ画像を示している。
【0106】
つぎにS504にてパラメータの推定を行う。ここでは状態候補を逐次生成させながらその状態をシミュレートしたシミュレーション画像の作成を行って、その評価を行う。図11(e)は計算された最大確率を取る対象状態を表現したシミュレーション画像を示し、図11(f)はその対象状態を俯瞰した図を示している。図11(f)によれば、人物の三次元的な位置関係が正しく推定されていることが分かる。ここではカメラの内部・外部パラメータが正確に推定されていなければ、人物の三次元的な位置関係も正しく推定できないため、カメラの内部・外部パラメータの推定結果の正確性も示している。
【0107】
以上述べた処理により本実施例では人物が撮影された画像から自動的に人物の三次元位置・物体数・物体の大きさおよびビデオカメラの焦点距離、位置、姿勢といったパラメータの推定結果が出力される。
【符号の説明】
【0108】
1.11…画像の取得手段(カメラ)
10…カメラ校正装置
12…シルエット画像作成手段
13…エッジ画像作成手段
14…パラメータ推定手段
【特許請求の範囲】
【請求項1】
物体の撮影画像から撮影に利用しているカメラの内部・外部パラメータを求めるカメラ校正装置であって、
前記カメラの撮影画像から物体の写っている領域を抽出したシルエット画像を作成するシルエット画像作成手段と、
前記物体の変化タイプに応じて予測した状態を、前記シルエット画像を利用して評価することで、前記カメラの内部・外部パラメータを推定するパラメータ推定手段と、
を備えることを特徴とするカメラ校正装置。
【請求項2】
前記パラメータ推定手段は、予め用意された物体の変化タイプを任意の確率に従って選択し、該選択された変化タイプに応じた状態候補を生成する手段と、
前記状態候補に基づいて、該状態候補と同じカメラ内部・外部パラメータを有する仮想カメラに投影し、前記シルエット画像をシミュレートしたシミュレーション画像を生成する手段と、
前記シルエット画像と前記シミュレーション画像の比較結果および事前知識に基づく対象状態自体の確からしさの判定結果から前記状態候補を評価する手段と、
を備えたことを特徴とする請求項1記載のカメラ校正装置。
【請求項3】
前記状態候補を評価する手段は、前記比較結果と前記判定結果とを演算した評価値を求める手段と、
前記評価値を基準に前記状態候補を最終的な変化状態として受け入れるか否かを判断する手段と、を備え、
前記最終的な変化状態から前記カメラの内部・外部パラメータを推定することを特徴とする請求項2記載のカメラ校正装置。
【請求項4】
前記物体の状態を楕円体モデルの集合で表し、モデル頭頂部の画像上での二次元座標値と、頭部に近似する楕円体の短軸と、身体に近似する楕円体の短軸と、身長を示すモデルの高さで人物を表すことを特徴とする請求項1〜3のいずれか1項に記載のカメラ校正装置。
【請求項5】
物体の撮影画像から撮影に利用しているカメラの内部・外部パラメータを求めるカメラ校正方法であって、
シルエット画像作成手段が、前記カメラの撮影画像から物体の写っている領域を抽出したシルエット画像を作成する第1ステップと、
パラメータ推定手段が、前記物体の変化タイプに応じて予測した状態を、前記シルエット画像を利用して評価することで、前記カメラの内部・外部パラメータを推定する第2ステップと、
を有することを特徴とするカメラ校正方法。
【請求項6】
前記第2ステップは、予め用意された物体の変化タイプを任意の確率に従って選択し、該選択された変化タイプに応じた状態候補を生成するステップと、
前記状態候補に基づいて、該状態候補と同じカメラ内部・外部パラメータを有する仮想カメラに投影し、前記シルエット画像をシミュレートしたシミュレーション画像を生成するステップと、
前記シルエット画像と前記シミュレーション画像の比較結果および事前知識に基づく対象状態自体の確からしさの判定結果から前記状態候補を評価するステップと、
を有することを特徴とする請求項5記載のカメラ校正方法。
【請求項7】
前記状態候補を評価するステップは、前記比較結果と前記判定結果とを演算した評価値を求めるステップと、
前記評価値を基準に前記状態候補を最終的な変化状態として受け入れるか否かを判断するステップと、を有し、
前記最終的な変化状態から前記カメラの内部・外部パラメータを推定することを特徴とする請求項6記載のカメラ校正方法。
【請求項8】
前記物体の状態を楕円体モデルの集合で表し、モデル頭頂部の画像上での二次元座標値と、頭部に近似する楕円体の短軸と、身体に近似する楕円体の短軸と、身長を示すモデルの高さで人物を表すことを特徴とする請求項5〜7のいずれか1項に記載のカメラ校正方法。
【請求項9】
請求項1〜4のいずれか1項に記載のカメラ校正装置として、コンピュータを機能させることを特徴とするカメラ校正プログラム。
【請求項10】
請求項9記載のカメラ校正プログラムを記録したことを特徴とする記録媒体。
【請求項1】
物体の撮影画像から撮影に利用しているカメラの内部・外部パラメータを求めるカメラ校正装置であって、
前記カメラの撮影画像から物体の写っている領域を抽出したシルエット画像を作成するシルエット画像作成手段と、
前記物体の変化タイプに応じて予測した状態を、前記シルエット画像を利用して評価することで、前記カメラの内部・外部パラメータを推定するパラメータ推定手段と、
を備えることを特徴とするカメラ校正装置。
【請求項2】
前記パラメータ推定手段は、予め用意された物体の変化タイプを任意の確率に従って選択し、該選択された変化タイプに応じた状態候補を生成する手段と、
前記状態候補に基づいて、該状態候補と同じカメラ内部・外部パラメータを有する仮想カメラに投影し、前記シルエット画像をシミュレートしたシミュレーション画像を生成する手段と、
前記シルエット画像と前記シミュレーション画像の比較結果および事前知識に基づく対象状態自体の確からしさの判定結果から前記状態候補を評価する手段と、
を備えたことを特徴とする請求項1記載のカメラ校正装置。
【請求項3】
前記状態候補を評価する手段は、前記比較結果と前記判定結果とを演算した評価値を求める手段と、
前記評価値を基準に前記状態候補を最終的な変化状態として受け入れるか否かを判断する手段と、を備え、
前記最終的な変化状態から前記カメラの内部・外部パラメータを推定することを特徴とする請求項2記載のカメラ校正装置。
【請求項4】
前記物体の状態を楕円体モデルの集合で表し、モデル頭頂部の画像上での二次元座標値と、頭部に近似する楕円体の短軸と、身体に近似する楕円体の短軸と、身長を示すモデルの高さで人物を表すことを特徴とする請求項1〜3のいずれか1項に記載のカメラ校正装置。
【請求項5】
物体の撮影画像から撮影に利用しているカメラの内部・外部パラメータを求めるカメラ校正方法であって、
シルエット画像作成手段が、前記カメラの撮影画像から物体の写っている領域を抽出したシルエット画像を作成する第1ステップと、
パラメータ推定手段が、前記物体の変化タイプに応じて予測した状態を、前記シルエット画像を利用して評価することで、前記カメラの内部・外部パラメータを推定する第2ステップと、
を有することを特徴とするカメラ校正方法。
【請求項6】
前記第2ステップは、予め用意された物体の変化タイプを任意の確率に従って選択し、該選択された変化タイプに応じた状態候補を生成するステップと、
前記状態候補に基づいて、該状態候補と同じカメラ内部・外部パラメータを有する仮想カメラに投影し、前記シルエット画像をシミュレートしたシミュレーション画像を生成するステップと、
前記シルエット画像と前記シミュレーション画像の比較結果および事前知識に基づく対象状態自体の確からしさの判定結果から前記状態候補を評価するステップと、
を有することを特徴とする請求項5記載のカメラ校正方法。
【請求項7】
前記状態候補を評価するステップは、前記比較結果と前記判定結果とを演算した評価値を求めるステップと、
前記評価値を基準に前記状態候補を最終的な変化状態として受け入れるか否かを判断するステップと、を有し、
前記最終的な変化状態から前記カメラの内部・外部パラメータを推定することを特徴とする請求項6記載のカメラ校正方法。
【請求項8】
前記物体の状態を楕円体モデルの集合で表し、モデル頭頂部の画像上での二次元座標値と、頭部に近似する楕円体の短軸と、身体に近似する楕円体の短軸と、身長を示すモデルの高さで人物を表すことを特徴とする請求項5〜7のいずれか1項に記載のカメラ校正方法。
【請求項9】
請求項1〜4のいずれか1項に記載のカメラ校正装置として、コンピュータを機能させることを特徴とするカメラ校正プログラム。
【請求項10】
請求項9記載のカメラ校正プログラムを記録したことを特徴とする記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2010−187130(P2010−187130A)
【公開日】平成22年8月26日(2010.8.26)
【国際特許分類】
【出願番号】特願2009−29082(P2009−29082)
【出願日】平成21年2月10日(2009.2.10)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
【公開日】平成22年8月26日(2010.8.26)
【国際特許分類】
【出願日】平成21年2月10日(2009.2.10)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
[ Back to top ]