(58)【調査した分野】(Int.Cl.,DB名)
前記対応取得部では、前記最大数を与えるカメラ画像が複数存在する場合に、前記第一抽出部によって抽出されている画像領域同士の空間的な分離が大きいと判定されるカメラ画像の中から、前記参照位置を設定するための1つのカメラ画像を決定することを特徴とする請求項3に記載の領域抽出装置。
前記対応取得部では、前記画像領域における対象の代表点同士の、異なるカメラ画像間での位置の対応関係を求めることで、前記カメラ画像間での対象の対応関係を求めることを特徴とする請求項1ないし6のいずれかに記載の領域抽出装置。
【発明を実施するための形態】
【0013】
図1は、一実施形態に係る領域抽出装置10の機能ブロック図である。領域抽出装置10は、第一抽出部1、対応取得部2、第二抽出部3及び追加処理部4を備える。第一抽出部1はさらに、輪郭抽出部11、代表点決定部12、対象数決定部13及び画像領域決定部14を備える。各部の処理概要は以下の通りである。
【0014】
第一抽出部1では、多視点カメラ画像として構成された各カメラ視点k(k=1,2, ..., N)の画像P(1), P(2), ..., P(N)を受け取り、各画像P(k)における対象を包含する1つ以上の領域を画像領域として、その関連情報(各対象の代表点位置の情報、対象数の情報など)と共に、対応取得部2及び第二抽出部3へ出力する。当該多視点カメラ画像には複数対象が撮影されている。当該多視点カメラ画像は映像における各時刻tの画像として構成することができるが、以下の説明ではある任意の時刻tにおける画像P(k)であるものとして、時刻への言及は省略する。
【0015】
第一抽出部1の各部の処理概要は以下の通りである。輪郭抽出部11は、多視点カメラ画像の各カメラ画像P(k)より対象の輪郭を1つ以上抽出して、代表点決定部12、対象数決定部13及び画像領域決定部14へと出力する。代表点決定部12は、当該抽出された各対象の輪郭よりその代表点を決定して対応取得部2へ出力する。対象数決定部13は、当該抽出された輪郭の個数を各画像P(k)において調べることで、多視点カメラ画像において撮影されている複数対象の数を決定して、第二抽出部3へ出力する。画像領域決定部14は、当該抽出された輪郭を包含する領域として、各対象の画像領域を決定して対応取得部2及び第二抽出部3へと出力する。
【0016】
対応取得部2では、第一抽出部1より得られた各画像P(k)の対象を包含する1つ以上の画像領域が、多視点カメラ画像全体において撮影されている複数対象のいずれに該当するかの特定を、異なるカメラ画像P(i),P(j)(i≠j)間での対象の対応関係の決定と共に行い、当該得られた対応関係を第二抽出部3へと出力する。
【0017】
第二抽出部3では、対応取得部2で得られた各画像P(k)間での対象同士の対応関係と、画像領域決定部14で得られた各画像P(k)における各対象を包含する画像領域と、に基づき、多視点カメラ画像の撮影されているボクセル空間内に、各対象を包含する空間領域を決定して出力する。当該決定された空間領域は、視体積交差法によって対象のVH生成を行う際の初期領域として利用可能である。本発明によれば特に、多視点カメラ画像に複数の対象が撮影されており、一部のカメラ画像P(k)において対象のオクルージョンが発生し、その領域同士が重複等している場合であっても、各対象についてそれぞれ最適化されたサイズの空間領域を得ることができる。
【0018】
追加処理部4では、第二抽出部3の抽出した各対象の空間領域を用いて、任意の追加処理を行うことができる。追加処理として、各対象の空間領域から対象のVHを生成してもよいし、さらに当該生成されたVHを用いて、領域抽出装置10に入力された多視点カメラ画像(映像)に対応する自由視点映像を生成してもよい。追加処理部4におけるVH生成及び自由視点映像生成の処理には、任意の既存手法を利用してよい。
【0019】
以下、
図1の各部の処理の詳細を説明する。
図2及び
図3は、当該各部の処理によって得られるデータの模式的な例を
図2において[1]〜[3]、
図3において[4],[5]と分けてそれぞれ示す図であり、以下の説明において適宜参照する。
図2及び
図3では、多視点カメラ画像は複数対象の例として2人のサッカープレイヤーを撮影しており、領域抽出装置10に入力される多視点カメラ画像が8個のカメラ画像によって構成されている場合に、
図1の各部で得られるデータの模式例がそれぞれ示されている。なお、
図2及び
図3ではカメラ1〜カメラ8の各画像において得られる各データが列挙して示されているが、
図3の[4]だけ説明の便宜上、カメラ1〜カメラ8のデータの並び方をその他の[1]〜[3],[5]とは変えていることに注意されたい。
【0020】
輪郭抽出部11では、多視点カメラ画像の各カメラ画像P(k)より1つ以上の対象の輪郭を抽出して、各部12,13,14へと出力する。当該輪郭抽出には任意の既存手法を利用してよく、例えば混合正規分布を用いた前景・背景の領域分割を用いてもよいし、映像としての多視点カメラ画像の時間変化(例えばオプティカルフローなど)を利用する手法を用いてもよいし、こうした既存手法を組み合わせてもよい。ある時刻に抽出した輪郭について以降の時刻に関してトラッキング(追跡)を行うようにしてもよい。領域抽出後にさらに、小さすぎる領域を近傍の大きな領域にマージする等のノイズ除去を施して、対象輪郭を得るようにしてもよい。
【0021】
図2の[1]には、当該得られたマスク画像としての輪郭画像(シルエット画像)の例が示されており、カメラ1,3,4,5,7,8からは、2人のプレイヤーに関して画像上でその領域が分離された状態で2つの輪郭が抽出され、カメラ2,6からは、2人のプレイヤーが重なってしまっていることによるオクルージョンで、1つのみの輪郭が抽出されている。
【0022】
代表点決定部12では、輪郭抽出部11で抽出された各画像の各輪郭について、その代表点を決定して、当該代表点の位置の情報を対応取得部2へと出力する。当該決定される代表点は、輪郭の領域に基づいて定義される任意種類の代表点を用いてよいが、例えば重心(セントロイド)として代表点を求めてもよい。
【0023】
重心は具体的には例えば次のようにして計算することができる。カメラkの画像P(k)における輪郭画像(シルエット画像)をI
k(x,y)(当該輪郭に属する位置(x,y)では「1」を与え、当該輪郭に属さない位置(x,y)では「0」を与える)とすると、まず以下の式(1)で画像P(k)の対象o
kl(lは輪郭領域として定まる対象を識別するインデクスである)に関する0次及び1次の各モーメント特徴((p,q)=(0,0), (1, 0), (0,1))を求める。
【0025】
ここで、画像座標(x,y)においてはx軸を横方向、y軸を縦方向に取るものとし、W、Lについては当該対象o
klを囲む矩形(カメラ画像P(k)の縦・横に平行な辺を有する矩形)の横幅及び縦幅である。以下に説明する画像領域決定部14において当該矩形を求めるので、W、Lの情報を取得することができる。(当該情報取得の流れは
図1では省略している。)(x
l, y
l)は対象o
klに属する画素位置であり、式(1)では計算高速化のためにx=4m, y=4nのように4ピクセルおきのみに間引いて計算を行っているが、間引きのピクセル数は任意に設定してよい。また、間引きを実施しなくともよい。
【0026】
次に、上記式(1)で求めた各モーメント特徴を用いることで、画像P(k)の対象o
klの重心(セントロイド)位置(x(o
kl),y(o
kl))を以下の式(2)のように求めることができる。
【0028】
図2では[3]に、代表点決定部12が代表点として決定した各対象の重心位置(セントロイド位置)の例が、その座標値と共に、その位置を「+」印で表すことによって示されている。
【0029】
対象数決定部13では、輪郭抽出部11が各カメラ画像P(k)において抽出した輪郭領域のうちの最大数として、多視点カメラ画像の全体において撮影されている対象数θ
sを決定し、当該決定した対象数を対応取得部13へと出力する。画像P(k)において抽出された対象数(輪郭領域の数であり、オクルージョン等があれば実際の数よりも減る)をθ
kと書くと、対象数は以下の式(3)で与えられる。例えば
図2及び
図3の例であれば、2プレイヤーが撮影されているため対象数θ
s=2である。
【0031】
上記対象数θsを自動算出するにあたって、本発明では次のような仮定を置いている。すなわち、複数対象が撮影されるシーンにおいては、対象の間でのオクルージョンの発生は避けようがない。しかしながら、多視点カメラ画像の取得において各カメラを異なる位置に設置しておくことで、少なくとも1つのカメラではオクルージョンが発生せずに全ての対象が分離して撮影されている、という仮定である。
【0032】
画像領域決定部14では、各画像P(k)に関して輪郭抽出部11でその輪郭が抽出された対象o
klの包含領域を、対象o
klの画像領域R(o
kl)(Region of Interest)として対応取得部2及び第二抽出部3へと出力する。当該包含する画像領域R(o
kl)は、輪郭を所定手法で膨張変形させて作ってもよいし、対象o
klの輪郭を囲む矩形として作ってもよい。(当該矩形の情報は前述の式(1)の計算の際に参照される。)囲む矩形として作る場合は、画像P(k)の縦・横に矩形の縦・横が平行であり、輪郭を覆う最小の矩形として作ればよい。
図2では[2]に、輪郭を囲む矩形として画像領域決定部14が求めた矩形の例が示されている。
【0033】
対応取得部2では、以上の第一抽出部1で得られた一連の情報を入力として、各画像P(k)においてその画像領域R(o
kl)が得られている対象o
klが、別の画像P(k+1)におけるどの対象o
k+1l'に該当するかの対応付けを、全てのカメラ画像の間において実施し、得られた対応関係を第二抽出部3へと出力する。すなわち、第一抽出部1で得られた時点の画像P(k)の対象o
klは、別の画像P(k+1)ではどの対象に該当するかという対応関係は未知の状態である(対象のインデクスlが異なる画像間において整合していない状態である)が、対応取得部2によって当該対応関係が求められる。なお、当該求まる対応関係は、対象o
klに紐づく画像領域R(o
kl)の対応関係でもある。
【0034】
図4は、一実施形態に係る対応取得部2の動作のフローチャートである。
【0035】
ステップS1では、参照位置の初期化を行ってから、ステップS2へと進む。具体的には、前述の式(3)において最大値としての対象数θ
sを与えた画像P(k)(すなわち、オクルージョンが発生することなく全ての対象の輪郭が分離されている画像)を選び、当該画像P(k)に対して代表点決定部12が求めた各対象o
klの代表点(x(o
kl),y(o
kl))(l=1,2, ..., θ
s)をそのまま、当該画像P(k)における各対象o
lの参照位置(S
x(o
kl),Sy(o
kl))として設定する。
【0036】
なお、「参照位置」とは、当該画像P(k)をリファレンス(参照対象)として別の画像P(k+1)との間で対象同士の対応関係を求めるためのものであり、この名称を付している。またステップS1では当該参照位置が初めて求まることから、「初期化」と称している。
【0037】
ステップS1において、最大値としての対象数θ
sを与える画像P(k)が複数ある場合、一実施形態では、任意の一つをランダムに参照位置の設定用に用いればよい。
【0038】
また、別の一実施形態として、最大値としての対象数θ
sを与える画像P(k)が複数ある場合、対象同士の画像上での空間的な分離が大きいもの(対象の画像領域同士がより広く離れているもの)を参照位置の設定用として決定するようにしてもよい。ここで、各画像P(k)における対象同士の画像上での空間的な分離は、例えば代表点決定部12が決定した代表点位置の分散として計算すればよい。当該求めた分散をさらに各画像P(k)における対象の画像領域(又は輪郭領域)の面積総和で割って規格化するようにしてもよい。また、代表点位置の分散ではなく、全ての画像領域(又は輪郭領域)ペア間の距離の総和として、空間的な分離を計算するようにしてもよい。以上のいずれかの手法で計算した空間的な分離が最大のものを参照位置の設定に用いてもよいし、当該空間的な分離が所定値以上となるものの中からランダムに参照位置の設定に用いるものを決定してもよい。
【0039】
以下、
図4のフローの説明においては、説明の便宜上、k=1のP(1)がステップS1において参照位置の設定に用いられたものとし(すなわち、ステップS1の時点でk=1であるものとし)、最初に画像P(1)を参照して画像P(2)との対象の対応関係を求め、次いで画像P(2)を参照して画像P(3)との対象の対応関係を求め、同様に継続して画像P(k)を参照して画像P(k+1)との対応関係を求める、ということを繰り返すものとして説明する。
【0040】
ステップS2は、上記説明した通りの繰り返し処理が以降のステップS3〜S7で繰り返されることを示すためのダミーステップ(フローチャートの繰り返し構造を示すためのダミーステップ)であり、当該処理対象のP(k)を設定したうえでステップS3へと進む。
【0041】
ステップS3では、当該参照元としての画像P(k)における各対象o
klの参照位置(S
x(o
kl), Sy(o
kl))の画像P(k+1)における対応位置(s'
x(o
k+1l), s'
y(o
k+1l))を、カメラ画像P(k),P(k+1)間の座標変換(透視変換、perspective transfomation)を行うホモグラフィ行列H
(k,k+1)で変換することで、以下の式(4)のようにして求めてから、ステップS4へと進む。
【0043】
ステップS4では、当該参照元としての画像P(k)における各対象o
kqの参照位置について上記式(4)で求めた画像P(k+1)における対応位置(s'
x(o
k+1q), s'
y(o
k+1q))と、画像P(k+1)の各対象o
k+1lについて代表点決定部12で求められている代表位置(x(o
k+1l),y(o
k+1l))と、のオイラー距離(すなわち、qの取りうる数とlの取りうる数との積による組み合わせ数だけ、当該距離が存在する)をそれぞれ以下のように計算してから、ステップS5へと進む。なお、距離計算はオイラー距離(L1ノルム距離)以外の距離として、ユークリッド空間で定義される任意の距離(Lnノルム距離、L∞ノルム距離など)を用いてもよい。
【0045】
ステップS5では、参照元としての画像P(k)における各対象o
kqに画像P(k+1)において対応するo
k+1qを、上記ステップS4において求めた距離を最小にするものとして以下の式のように決定することで、画像P(k),P(k+1)間での対象同士の対応関係を求めてから、ステップS6へと進む。
【0047】
ステップS6では、画像P(k+1)における各対象o
k+1qの参照位置を設定してから、ステップS7へと進む。ここで、対象o
k+1qの対応が1対1であった場合、すなわち、画像P(k)におけるただ1つだけの対象がステップS6において対象o
k+1qに対応すると判定されている場合は、対象o
k+1qについて代表点決定部12で求められている代表位置(x(o
k+1q),y(o
k+1q))をそのまま参照位置として設定する。一方、1対1でない場合、すなわち、画像P(k)における2つ以上の対象o
kqがステップS6において対象o
k+1qに対応すると判定されている場合は、当該対応する2つ以上の対象o
kq位置を前述の式(4)によって画像P(k+1)上へと変換した2つ以上の位置(s'
x(o
k+1q), s'
y(o
k+1q))を、当該2つ以上の対象のそれぞれの参照位置として設定する。
【0048】
ステップS7では、以上のステップS2〜S6の繰り返しが全視点のカメラ画像P(k)について実施済みであるか否かを判定し、実施済みであれば当該フローは終了する。当該フロー全体が終了することで、対応取得部2は全てのカメラ画像P(k)間での間の対象の対応関係を取得した状態となり、当該得られた対応関係を第二抽出部3へと出力する。一方、ステップS7で全てのカメラ画像P(k)について処理が未完了であれば、ステップS2へと戻り、次の画像P(k+1)を処理対象に設定したうえで、当該ステップS2〜S7を繰り返す。以上の説明より明らかなように、ステップS6で画像P(k+1)について設定された参照位置が、次の繰り返し処理において次の画像P(k+2)との対応関係を得るために利用されることとなる。
【0049】
図3では[4]に、カメラ画像1,2間、2,3間、…7,8間において「プレイヤー1」に対応する対象について、上記のステップS3で変換位置を求めた例が示されている。ここで、「+」印が変換される元の参照位置であり、「×」印が参照位置を変換して得られる位置を表している。
図3では[5]に、以上の
図4のフローによってカメラ画像1〜8の全体に渡って「プレイヤー1」の領域と「プレイヤー2」の領域との区別が得られた例が示されている。カメラ画像2,6においてはオクルージョンが発生している1つの領域が「プレイヤー1」であり且つ同時に「プレイヤー2」の領域として決定されていることに注意されたい。(ただし
図4のステップS6において前述の通り、カメラ画像2,6においても「プレイヤー1」の代表点と「プレイヤー2」の代表点とは別のものとして求まることとなる。)
【0050】
第二抽出部3は、以上の対応取得部2で各画像P(k)間での対応が取得された各対象o
kqの画像領域R(o
kq)(当該画像領域は画像領域決定部14から得られる)を入力として、各対象o
qをボクセル空間上で包含する空間領域Vol(o
q)を求め、領域抽出装置10からの出力となす。空間領域Vol(o
q)の取得は、各画像P(k)において画像領域R(o
kq)の内部に空間領域Vol(o
q)が収まる関係を満たすような任意の既存手法を利用することができる。
【0051】
また、第二抽出部3では以下の手法のようにして各対象o
qの空間領域Vol(o
q)を求めてもよい。
図5及び
図6は当該手法を説明するための模式図である。
図5では、カメラkのカメラ中心(c
k(x),c
k(y),c
k(z))から画像P(k)におけるある対象を囲む矩形(画像領域)の4頂点へと向かうベクトル(光線)がそれぞれl
k1,l
k2,l
k3,l
k4として、当該矩形の右上頂点に対応するl
k1から始まる時計回りの順で示されている。画像P(k+1)においても画像P(k)との対応対象を囲む矩形について同様のものが示されている。
図5に示すように、カメラk+1の光線l
k+11,l
k+12によって平面P
(k,k+1)が張られる(その法線ベクトルを(n
1,n
2,n
3)とする)と共に、当該平面P
(k,k+1)とカメラkの光線l
k3,l
k4との交点としてそれぞれ点p
3(k,k+1)(x,y,z)及び点p
4(k,k+1)(x,y,z)が得られる。以上の表記により、当該交点p
3(k,k+1)(x,y,z)及び点p
4(k,k+1)(x,y,z)をそれぞれ以下の式(5),(6)のように求めることができる。
【0053】
さらに、以下の式(7)によって各対象o
qの空間領域Vol(o
q)をボクセル空間内の矩形領域Vol(o
q)={(x,y,z)|x
min≦x≦x
max, y
min≦y≦y
max, z
min≦z≦z
max}として求めることができる。
図6は、当該求める矩形領域をボクセル空間のうち(x,y)平面を切り取って模式的に示すものであり、8個のカメラ中止からの射影(projection)が行われている。
【0055】
以上、本発明によれば、多視点カメラ画像に複数対象が撮影されている場合であっても、複数対象のそれぞれの体積領域を区別して求めることができる。
図7に本発明の効果を、式(7)の出力の形で示す。
図7の例は
図3,4のプレイヤー1,2の2人が対象として含まれている場合に本発明を適用した結果と、本発明を適用しない従来手法の結果(プレイヤー1,2を区別せずこれら全体を包含する体積領域を求める場合)と、が対比して示されており、従来手法の体積に比べてプレイヤー1,2の領域がそれぞれ1/7, 1/8で抽出されていることが見て取れる。
【0057】
(1)
図4のステップS3において変換位置を求めるためのホモグラフィ行列H
(k,k+1)は、各カメラk,k+1間でキャリブレーションをしておくことで所定行列として予め求めておいたものを利用すればよい。
図5,6で説明した計算に必要な情報も、当該キャリブレーションの際に取得しておけばよい。また、当該キャリブレーションを行うことなく、画像P(k),P(k+1)間で点対応を求めることによって既存手法により、その場で取得するようにしてもよい。
【0058】
(2)
図4のフローを行うための画像P(1),P(2), ..., P(N)の順序は、ステップS1で設定される画像に応じて、また、各カメラの位置関係に応じて、予め所定順番を定めておけばよい。
図4では説明の便宜上、P(1)が参照位置の初期化用に設定されてP(1)→P(2)→P(3)→P(4)→P(5)→P(6)→P(7)→P(8)の順に対応関係を求めた。同様に、例えばP(4)が参照位置の初期化用に設定された場合であれば、P(4)→P(5)→P(6)→P(7)→P(8)→P(1)→P(2)→P(3)の順で対応関係を求めてもよいし、P(4)→P(3)→P(2)→P(1)→P(8)→P(7)→P(6)→P(5)の順で対応関係を求めてもよい。
【0059】
(3)本発明は、コンピュータを領域抽出装置10として機能させるプログラムとしても提供可能である。当該コンピュータには、CPU(中央演算装置)、メモリ及び各種I/Fといった周知のハードウェア構成のものを採用することができ、CPUが領域抽出装置10の各部の機能に対応する命令を実行することとなる。