(57)【要約】【課題】被写体の３次元形状を、高速、高精度、かつ少ない演算量で推定することを目的とする。【解決手段】複数の視点から撮影された視差画像から被写体の３次元形状を推定する画像処理装置であって、前記視差画像における被写体のシルエット画像を取得する取得手段と、前記シルエット画像に基づき、処理対象とする３次元空間に、前記被写体の３次元形状の候補領域を生成する生成手段と、前記３次元空間に生成された前記候補領域から、所定の基準に従って不要と判断されるボクセルを削除する削除手段と、前記候補領域における注目格子点の周辺ボクセル密度に基づいて、前記削除手段で削除されたボクセルを当該注目格子点の位置に復元する復元手段と、を備えたことを特徴とする。【選択図】図４
2018032938.tif 000002
【特許請求の範囲】
【請求項１】
複数の視点から撮影された視差画像から被写体の３次元形状を推定する画像処理装置であって、
前記視差画像における被写体のシルエット画像を取得する取得手段と、
前記シルエット画像に基づき、処理対象とする３次元空間に、前記被写体の３次元形状の候補領域を生成する生成手段と、
前記３次元空間に生成された前記候補領域から、所定の基準に従って不要と判断されるボクセルを削除する削除手段と、
前記候補領域における注目格子点の周辺ボクセル密度に基づいて、前記削除手段で削除されたボクセルを当該注目格子点の位置に復元する復元手段と
を備えたことを特徴とする画像処理装置。
【請求項２】
前記復元手段は、前記候補領域内の前記注目格子点を含む所定範囲に存在するボクセル数が、所定の数以上である場合にのみ、前記注目格子点の位置にボクセルを復元することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記復元手段は、
前記処理対象とする３次元空間を設定する設定手段と、
設定された前記３次元空間の前記注目格子点上にボクセルが存在するか判定する第１の判定手段と、
前記第１の判定手段でボクセルが存在しないと判定された前記注目格子点が、前記候補領域に含まれるか判定する第２の判定手段と、
前記第２の判定手段で前記候補領域に含まれると判定された前記注目格子点の前記所定範囲に存在するボクセルの数が、前記所定の数以上であるか判定する第３の判定手段と、
前記第３の判定手段で前記注目格子点の前記所定範囲に存在するボクセルの数が前記所定の数以上であると判定された場合に、当該注目格子点の位置にボクセルを追加する追加手段と
を有することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記所定の数は、前記３次元空間における前記注目格子点に隣接する格子点の数に基づいて決定されることを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記所定の数は、２次元平面における前記注目格子点に隣接する格子点の数に基づいて決定されることを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項６】
前記所定範囲は、前記３次元空間において前記注目格子点に隣接する２６個の格子点であることを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記所定の基準は、前記視差画像を撮影した複数の撮像装置に特定のボクセルを投影したときの色の整合性であることを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
前記削除手段は、前記ボクセルを投影した点の前記視差画像における画素値相互の類似度の評価値を求め、当該評価値について設定された第１の閾値を用いて削除するかを判定し、当該判定によって削除することになった削除対象ボクセルを、前記第１の閾値よりも小さい第２の閾値を用いて、削除するかどうかを再判定することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記削除手段は、前記削除対象ボクセルの所定範囲にあるボクセルの数をカウントし、当該カウント数が所定の数以上の場合に、前記第２の閾値を用いた再判定を行って、前記削除対象ボクセルを削除するかどうかを決定することを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記注目格子点を含む所定範囲と、前記削除対象ボクセルの所定範囲とは、同じであり、
前記削除手段における前記再判定で参照される前記所定の数は、前記復元手段の前記第３の判定手段における前記判定で参照される前記所定の数より小さい、
ことを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記削除手段は、前記ボクセルの削除を、前記所定の基準として内容の異なる基準を用いて複数回行い、
前記復元手段は、削除が行われる都度、復元を行い、
前記複数回の削除における２回目以降の削除においては、直前に行なわれた削除と復元の結果を反映した候補領域が用いられる
ことを特徴とする請求項１乃至１０のいずれか１項に記載の画像処理装置。
【請求項１２】
前記内容の異なる基準には、前記視差画像を撮影した複数の撮像装置に特定のボクセルを投影したときの色の整合性、及び、被写体の影を構成するボクセルであるかどうか、が含まれることを特徴とする請求項１０に記載の画像処理装置。
【請求項１３】
複数の視点から撮影された視差画像から被写体の３次元形状を推定する画像処理方法であって、
前記視差画像における被写体のシルエット画像を取得する取得ステップと、
前記シルエット画像に基づき、処理対象とする３次元空間に、前記被写体の３次元形状の候補領域を生成する生成ステップと、
前記３次元空間に生成された前記候補領域から、所定の基準に従って不要と判断されるボクセルを削除する削除ステップと、
前記候補領域における注目格子点の周辺ボクセル密度に基づいて、前記削除手段で削除されたボクセルを当該注目格子点の位置に復元する復元ステップと
を備えたことを特徴とする画像処理方法。
【請求項１４】
コンピュータを、請求項１乃至１１のいずれか一項に記載の画像処理装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被写体の３次元形状を高速かつ高精度に推定する技術に関する。
【背景技術】
【０００２】
従来より、複数台のカメラによって異なる視点から撮像された互いに視差のある画像（視差画像）を用いて、被写体の３次元概形形状を高速に推定する手法として、視体積交差法が知られている。視体積交差法では、被写体の輪郭情報のみを用いるため、安定して形状が得られる一方で、本来被写体ではない領域（偽領域）の発生や、凹んだ被写体表面を復元することができないという原理的な課題がある。この原理的課題に対しては、その克服を企図して様々な手法が提案されている。例えば、非特許文献１では、ボクセルが各カメラから見えているかの可視判定を行い、判定結果に基づき決定されたカメラの色情報から、色の整合性が取れないボクセルを削除する手法が提案されている。また、特許文献１では、視体積交差法で推定された形状の表面に存在するボクセルに対し、色情報の整合性、表面の滑らかさなどをエネルギー関数として表現し、エネルギーを最適化することで、形状を高精度化する手法が提案されている。なお、ボクセルとは、x 軸、y 軸、z 軸の３次元空間において分割された単位格子を指す。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−２０８７５９号公報
【非特許文献】
【０００４】
【非特許文献１】Kutulakos他「ATheory of Shape by Space Carving 」 International Journal of Computer Vision ２０００年
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、非特許文献１に記載の手法では、ボクセル単体の色の整合性に基づいてボクセルの削除を行うため、本来の被写体を構成するボクセルを誤って削除してしまう可能性がある。また、特許文献１に記載の手法では、エネルギー最適化を行うため、演算量が膨大になるという課題がある。
【０００６】
本発明は、被写体の３次元形状を、高速、高精度、かつ少ない演算量で推定することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る画像処理装置は、複数の視点から撮影された視差画像から被写体の３次元形状を推定する画像処理装置であって、前記視差画像における被写体のシルエット画像を取得する取得手段と、前記シルエット画像に基づき、処理対象とする３次元空間に、前記被写体の３次元形状の候補領域を生成する生成手段と、前記３次元空間に生成された前記候補領域から、所定の基準に従って不要と判断されるボクセルを削除する削除手段と、前記候補領域における注目格子点の周辺ボクセル密度に基づいて、前記削除手段で削除されたボクセルを当該注目格子点の位置に復元する復元手段とを備えたことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、被写体の３次元形状を、高速、高精度、かつ少ない演算量で推定することが可能になる。
【図面の簡単な説明】
【０００９】
【図１】視差画像を取得するためのカメラ配置の一例を示した図である。
【図２】実施例１に係る、画像処理装置のハードウェア構成の一例を示す図である。
【図３】実施例１に係る、画像処理装置の機能ブロック図である。
【図４】実施例１に係る、画像処理装置が実行する一連の画像処理の流れを示すフローチャートである。
【図５】被写体を３台のカメラから撮影する様子を示す図である。
【図６】（ａ）は視差画像の一例であり、（ｂ）はシルエット画像の一例である。
【図７】（ａ）は３台のカメラで撮影された各画像を示し、（ｂ）は任意のボクセルを各カメラに投影する様子を示す図である。
【図８】ボクセル復元処理の概念を説明する図である。
【図９】実施例１に係る、ボクセル復元処理の詳細を示すフローチャートである。
【図１０】実施例１に係る発明の効果を説明する図である。
【図１１】実施例２に係る、画像処理装置の機能ブロック図である。
【図１２】実施例２に係る、画像処理装置が実行する一連の画像処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１０】
［実施例１］
本実施例では、被写体を包含する３次元空間の注目格子点の周辺ボクセル密度が一定以上となる場合に、被写体形状の候補領域内における当該注目格子点の位置にボクセルを追加することで、削除しすぎたボクセルを復元する手法について説明する。
【００１１】
図１は、異なる視点から撮影された互いに視差のある画像（以下、視差画像）を取得するためのカメラ配置の一例を示した図である。図１は、サッカー用のフィールド１０４を囲むように配置された１０台のカメラ１０１により、フィールド１０４上にいる選手１０２やボール１０３を撮影している様子を表している。各カメラ１０１で撮影された画像データは、多視点の視差画像データとして画像処理装置２００に送られ、所定の画像処理が施される。ここでは、スポーツシーンを例にとって説明するが、本実施例において説明する手法は、被写体となる物体の周りを囲むように複数のカメラを配置し、当該物体の形状を推定するようなシーンについては、幅広く適用可能である。
【００１２】
以下では、前述のボクセルを用いて、対象となる３次元空間を大きさd[mm]の正規格子で区切って離散的に表現する。各ボクセルの座標は、x,y,z座標の順に(0,0,0)、(1,0,0)、(3,0,1)・・・のように格子ベクトルを用いて表現するものとする。実際の物理的な座標値は、上記の整数ベクトルに正規格子の大きさdを乗算することで得られる。具体的なｄとしては、例えば5mmなどの値が採用される。
【００１３】
（画像処理装置の構成）
まずは、本実施例における、画像処理装置２００の構成について説明する。図２は、画像処理装置２００のハードウェア構成の一例を示す図である。画像処理装置２００は、CPU２０１、RAM２０２、ROM２０３、HDD２０４、入力I/F２０５、出力I/F２０６を含む。そして、画像処理装置２００を構成する各部は、システムバス２０７によって相互に接続されている。また、画像処理装置２００は、入力I/F２０５を介して、カメラ１０１、操作部２１０、外部メモリ２１１に接続されている。また、出力I/F２０６を介して、外部メモリ２１１及び表示装置２１２に接続されている。
【００１４】
CPU２０１は、RAM２０２をワークメモリとして、ROM２０３に格納されたプログラムを実行し、システムバス２０７を介して画像処理装置２００の各部を統括的に制御する。これにより、後述する様々な処理が実現される。HDD２０４は、画像処理装置２００で取り扱う種々のデータを記憶する大容量記憶装置であり、例えばSSDなどでもよい。CPU２０１は、システムバス２０７を介してHDD２０４へのデータの書き込み及びHDD２０４に記憶されたデータの読出しを行うことができる。
【００１５】
入力I/F２０５は、例えばUSBやIEEE1394等のシリアルバスI/Fであり、外部装置から画像処理装置２００へのデータや命令等の入力は、この入力I/F２０５を介して行われる。画像処理装置２００は、この入力I/F２０５を介して、外部メモリ２０８（例えば、ハードディスク、メモリーカード、CFカード、SDカード、USBメモリなどの記憶媒体）からデータを取得する。また、画像処理装置２００は、この入力I/F２０５を介して、操作部２１０を用いて入力されたユーザによる命令を取得する。操作部２１０はマウスやキーボードなどの入力装置であり、ユーザの指示を処理装置２００に入力するために用いられる。
【００１６】
出力I/F２０６は、入力I/F２０５と同様にUSBやIEEE1394等のシリアルバスI/Fを備える。その他に、例えばDVIやHDMI（登録商標）等の映像出力端子を用いることも可能である。画像処理装置２００から外部装置へのデータ等の出力は、この出力I/F２０６を介して行われる。画像処理装置２００は、この出力I/F２０６を介して表示装置２０９（液晶ディスプレイなどの各種画像表示デバイス）に、処理された画像データなどを出力することで、画像の表示を行う。なお、画像処理装置２００の構成要素は上記以外にも存在するが、本発明の主眼ではないため、説明を省略する。
【００１７】
続いて、画像処理装置２００で行う一連の画像処理について説明する。図３は、本実施例に係る画像処理装置２００の機能ブロック図である。画像処理装置２００は、画像データ取得部３０１、歪曲補正部３０２、候補領域生成部３０３、ボクセル削除部３０４、ボクセル復元部３０５、カメラパラメータ取得部３０６、閾値設定部３０７から構成される。CPU２０１がROM２０３内に格納された制御プログラムを読み込んでRAM２０２に展開してこれを実行することで、上記各部の機能が実現される。そして、図４は、本実施例の画像処理装置２００が実行する一連の画像処理の流れを示すフローチャートである。なお、上記各部に相当する専用の処理回路を備えるように画像処理装置２００を構成してもよい。以下、本実施例に係る画像処理装置２００で行われる画像処理の流れを説明する。
【００１８】
ステップ４０１では、画像データ取得部３０１が、入力I/F２０５を介して複数のカメラから直接、またはHDD２０４や外部メモリ２１１から、上述の視差画像とシルエット画像のデータを取得する。ここで、シルエット画像とは、視差画像を構成する各画像において、被写体が存在する領域を白（画素値＝255）、存在しない領域を黒（画素値＝0）で表した2値画像である。図５は、被写体としての完全な球体５１０と一部が欠けた球体５２０を、３台のカメラ５０１〜５０３から撮影する様子を示す図である。図６（ａ）の画像６０１〜６０３は、当該３台のカメラ５０１〜５０３で上記２個の球体５１０と５２０を撮影して得られた視差画像であり、同（ｂ）はそれらのシルエット画像６１１〜６１３をそれぞれ示している。シルエット画像は、視差画像を元に、背景抽出や被写体切り出しなどの手法を用いて、予め生成しておくものとする。
【００１９】
ステップ４０２では、カメラパラメータ取得部３０６が、視差画像を撮影したカメラに関する、内部パラメータ・外部パラメータ・歪曲パラメータといった、所定のパラメータを取得する。ここで、内部パラメータとは、画像中心の座標値やカメラが備えるレンズの焦点距離の情報である。外部パラメータとは、カメラそれぞれの位置と向きを表す情報である。ここでは、世界座標系における位置ベクトルと回転行列で、カメラそれぞれの向きと位置を記述する方式を採用するが、別の方式で記述してもよい。歪曲パラメータとは、カメラが備えるレンズの歪曲を表す情報である。これらカメラパラメータは、視差画像データを元に、例えばSFM(Structure from Motion)によって推定をしてもよいし、予めチャートなどを用いたキャリブレーションを行って算出しておいてもよい。
【００２０】
ステップ４０３では、歪曲補正部３０２が、ステップ４０２で取得したカメラパラメータのうちの歪曲パラメータに基づき、ステップ４０１で取得した視差画像とシルエット画像に対し、レンズの歪曲によって生じる歪みを補正する処理（歪曲補正処理）を行う。
【００２１】
ステップ４０４では、候補領域生成部３０３が、ステップ４０２で取得したカメラパラメータとステップ４０１で取得したシルエット画像データを元に、３次元空間に被写体形状の候補領域を生成する。ここで、被写体形状の候補領域は、被写体がその内側に存在すると見込まれる、被写体の３次元形状の候補となる凸多面体の領域を表す。そして、この候補領域は、後述のボクセル追加処理にて参照される。本実施例では、視体積交差法と呼ばれる手法に基づき、シルエット画像データから候補領域が生成される。前述の図５において、図６（ｂ）に示したシルエット画像６１１〜６１３から生成した候補領域が示されている。図５において、カメラ５０１〜５０３から２本ずつ伸びる扇形の領域５０４〜５０９は、垂直断面が被写体のシルエット（ここでは、円）となる錐体を上から見たものである。領域５０４〜５０９の各錐体を空間中に投影し、錐体同士が重なった多角形の共通の領域（太線で示す領域）５１１、５１２、５２１、５２２が、ここでは上述の候補領域となる。
【００２２】
ステップ４０５では、ボクセル削除部３０４が、ステップ４０４で生成された候補領域に対し、不要なボクセルを削除する処理（ボクセル削除処理）を行う。ボクセル削除処理の詳細については後述する。
【００２３】
ステップ４０６では、ボクセル復元部３０５が、閾値設定部３０７で設定された閾値と、候補領域生成部３０３が生成した候補領域の情報に基づき、ボクセル削除処理で削除されすぎたボクセルを復元する処理（ボクセル復元処理）を行う。ボクセル復元処理の詳細については後述する。
【００２４】
以上が、本実施例の画像処理装置２００における一連の画像処理の内容である。
【００２５】
＜視体積交差法の特徴＞
視体積交差法では、被写体の色情報に基づく対応関係を用いない。そのため、ロバストかつ高速に形状を推定することができるという利点がある反面、偽領域の発生や、凸な形状しか推定できないという欠点がある。前述の図５に示す撮影シーンにおいて、被写体である２個の球体のうち右側の球体についてはその一部が欠けている。そして、前述の通り、錐体５０４と５０５はカメラ５０１から、錐体５０６と５０７はカメラ５０２から、錐体５０８と５０９はカメラ５０３から、それぞれ空間中に投影されている。この場合、被写体である２つの球体に外接する凸多面体５１１と５２１の他に、相対的に小さい凸多面体５１２及び５２２が、候補領域として生成されている。これら４つの候補領域は、被写体に外接する凸多面体として推定されるため、球体５２０のような凹んだ部分を持つ被写体の場合は当該凹んだ部分を再現することができない。また、本来は被写体として存在しない凸多面体５１２及び５２２も偽の候補領域として推定されてしまう。本発明は、上述したような視体積交差法の欠点を補うものである。
【００２６】
＜ボクセル削除処理＞
続いて、図４のフローのステップ４０５におけるボクセル削除処理について説明する。この処理では、任意のボクセルを、視点の異なる複数のカメラに投影したときの色の整合性に基づいて、当該ボクセルを削除するかどうかが決定される。図７は、ボクセル削除処理を説明する図である。図７（ａ）は、図６（ａ）に示したカメラ５０１〜５０３で撮影された各画像６０１〜６０２であり、同（ｂ）は任意のボクセル７００をカメラ５０１〜５０３に投影する様子を示す図である。図７（ａ）において、各画像６０１〜６０３上の黒矩形の点７０１〜７０３は、ボクセル７００を各画像中に投影したときの位置を示している。また、図７（ｂ）において、線分７１１、７１２、７１３はそれぞれカメラ５０１、５０２、５０３の仮想的な投影面を示している。ボクセル削除部３０４は、ボクセル７００を投影した点７０１の画素値{I1R, I1G, I1B}、点７０２の画素値{I2R, I2G, I2B}及び点７０３の画素値{I3R, I3G, I3B}を元に、画素値相互の類似度を算出する。ここでは類似度の評価にNCC(Normalized Cross-Correlation)を用いるが、SSD(Sum of Squared Difference)やSAD(Sum of Absolute Difference)など別の類似度指標を用いてもよい。ボクセル７００が見えると判定（可視判定）されたカメラがN台ある場合は、以下の式（１）を用いて、平均NCCが求められる。
【００２７】
【数１】
2018032938.tif 000003
【００２８】
上記式（１）において、太字のIは、R,G,Bチャンネルを各要素に持つ３次元ベクトルである。ボクセルが異なればそれが見えるカメラも異なってくるので、ボクセルによってカメラ台数Nも変化することになる。図７の例では、N＝3なので、式（１）において3通りの組み合わせについて和を取ることになる。
【００２９】
NCCでは、画素値をベクトルとして捉えたときの、ベクトルが成す角度が得られる。上記式（１）では、N台のカメラの組合せについて、NCCの平均が求められる。このとき、ボクセル７００の可視判定は、視体積交差法で求めた概形形状からデプスマップを作成し、このデプスマップに基づいて行う手法や、概形形状の法線とカメラの光軸方向を表すベクトルの成す角度に基づいて行う手法などがあり、特に限定されない。
【００３０】
そして、注目するボクセルについて上記式（１）で求めた平均NCCの値が、所定の閾値Dth（例えば0.9）未満である場合は、色の整合性がない（すなわち不要なボクセル）と判断して、当該注目ボクセルを削除する。なお、ここでは、点７０１〜７０３の画素値のみに基づいて類似度を求めたが、点７０１〜７０３周辺の画素値（例えば、点７０１〜７０３それぞれを中心とした3×3のブロック内の画素値）を用いて、類似度を求めてもよい。
【００３１】
また、色の整合性に基づく判定に代えて、例えばボクセルの幾何学的な情報に基づいて不要なボクセルかどうかを判定するなど、他の手法を用いてボクセル削除を行っても構わない。以上がボクセル削除処理の内容である。
【００３２】
＜ボクセル復元処理＞
続いて、図４のフローのステップ４０６におけるボクセル復元処理について説明する。具体的な処理内容の説明に入る前に、ボクセル復元処理の原理についてまず説明する。
【００３３】
前述の通り、候補領域の中でも偽領域は、錐体の共通領域として、被写体の存在しない空間に生成される。そのため、通常は、被写体に比べて体積がかなり小さい。また、前述のボクセル削除処理により、偽領域内のボクセルについては削除される可能性が高いため、ボクセル削除処理後における偽領域内のボクセル総数はさらに少なくなる。そのため、候補領域を包含する３次元空間における、対応するボクセルが存在しない特定の格子点の周辺ボクセル密度は相対的に低いことが予想される。その一方で、実際に被写体が存在する被写体領域は、本来の体積が大きい。そのため、ボクセル削除処理によって本来は必要なボクセルの一部が削除されても、上記特定格子点の周辺ボクセル密度は、偽領域に比べて高いと考えられる。そこで、本発明では、候補領域内の上記特定格子点の周辺ボクセル密度に応じて、偽領域においてはボクセルを復元することなく、被写体領域にのみボクセルを復元するようにしている。具体的には、候補領域内の特定格子点を含む所定範囲に存在するボクセル数が、所定の数以上である場合にのみ、当該特定格子点の位置にボクセルを復元する。ここでの所定の数をRthで表すものとする。以上これにより、体積が大きく、かつボクセル削除処理後もある程度密にボクセルが満たされている状態である被写体領域のみでボクセルが復元されることになる。これは、偽領域が被写体領域に隣接する場合でも同様である。
【００３４】
ここで、閾値設定部３０７における上記所定数Rthの決め方について説明する。例えば、ボクセル削除部３０４が、ある格子点の周辺ボクセル密度に基づいてボクセルを削除する場合、３次元空間における当該格子点に隣接する格子点の個数（3^3 -1=26個）に基づいて所定数Rthを決定することができる。上述のとおり、偽領域内の特定格子点の周辺ボクセル密度は、被写体領域内のそれに比べて小さくなる。そこで、３次元空間における全隣接格子点の数の半分（26/2＝13個）や1/3（26/3≒8個）を、所定数Rthとして設定する。また、被写体内領域においては、ボクセル削除処理が行われた後であっても、２次元平面における隣接格子点数以上のボクセルが存在する可能性が高い。そこで、２次元平面における隣接格子点の数を基準に所定数Rthを決めることも可能である。例えば、２次元平面における隣接格子点の数は8個（3^2 -1）個なので、8個より大きい数を所定数Rthに設定してもよい。また、特定格子点に隣接しない格子点を参照する場合であっても、２次元や３次元の幾何学的な性質に基づいて所定数Rthを決定することができる。このように、幾何学的な性質に基づいてボクセル復元の際の所定数Rthを設定することで、高精度にボクセル復元処理を行うことが可能になる。
【００３５】
図８（ａ）〜（ｃ）は、ボクセル復元処理の概念を説明する図である。ここでは説明の便宜上、２次元的に表現しているが、実際は３次元である。図８（ａ）において、太線の六角形８０１は、被写体である球に外接する凸多面体を上から見た場合の水平断面を示し、太線の三角形８０２は偽領域の水平断面を示している。そして、細線の矩形８０３は、上記２つの凸多面体に含まれるボクセルの水平断面を示している。実際の偽領域の体積は、被写体領域に比べてもっと小さくなるが、ここでは誇張して表わしている。六角形８０１と三角形８０２にそれぞれ対応する凸多面体の内部が候補領域である。図８（ｂ）は、色の整合性に基づくボクセル削除処理によって一部のボクセルが削除された状態を示している。図８（ｂ）では、偽領域を表す三角形８０２内のボクセルが削除されている一方で、被写体領域を表す六角形８０１内のボクセルも削除され過ぎている。ここでは、説明の都合上、偽領域内のボクセルは完全に削除されていないが、このような場合に不要なボクセルをさらに削除する手法については、実施例２で説明する。図８（ｃ）は、ボクセル復元処理によって被写体領域内にボクセルが追加された状態を示している。図８（ｃ）を見ると、偽領域内の一度削除されたボクセルが再び追加されることなく、被写体領域内でのみボクセルが追加されているのが分かる。以上が、本実施例におけるボクセル復元処理の原理である。
【００３６】
続いて、ボクセル復元処理の具体的な手順を説明する。図９は、本実施例に係る、ボクセル復元処理の詳細を示すフローチャートである。
【００３７】
ステップ９０１では、ボクセル復元処理の対象となる、形状を推定したい被写体を確実に含む３次元空間が処理対象空間として設定される。例えば、前述の図１のシーンにおいて、フィールド上の選手やボールを形状推定の被写体とする場合には、１０台のカメラ１０１の画角が共通する範囲が、処理対象空間として設定される。もちろん、もっと狭い範囲を処理対象空間に設定してもよく、例えば図１において、フィールド中央を中心とした所定範囲のみを処理対象空間に設定してもよい。ここでは、図５の視差画像における被写体（２つの球体）を含むような直方体が、処理対象空間として設定されたものとする。
【００３８】
ステップ９０２では、設定された処理対象空間において、注目する格子点が初期化（注目格子点の初期位置が設定）される。ここでは、処理対象空間として設定された上記直方体をボクセルと同サイズの単位格子で区切った場合の各格子点のうちいずれか１つの点、例えば、(x,y,z)＝(0,0,0)が、注目格子点の初期位置に設定される。
【００３９】
ステップ９０３では、処理対象空間の注目格子点上にボクセルが存在するかどうかが判定される。注目格子点上にボクセルが存在しない場合は、ステップ９０４に進む。一方、注目格子点上にボクセルが存在する場合は、ステップ９０８に進む。
【００４０】
ステップ９０４では、処理対象空間の注目格子点が上述の候補領域に含まれるかどうかが判定される。注目格子点が候補領域に含まれる場合は、ステップ９０５に進む。一方、注目格子点が候補領域に含まれない場合は、ステップ９０８に進む。
【００４１】
ステップ９０５では、注目格子点の周辺に存在するボクセルの数がカウントされ、周辺ボクセルのカウント数が所定数Rth以上であるかどうかが判定される。「周辺」の範囲は、例えば、３次元空間において注目格子点に隣接する26格子点、すなわち、３次元空間における3×3×3＝27個の格子点から、中心にある注目格子点自身を除いたものを「周辺」とする。ただし、より広い範囲（例えば4×4×4＝64個の格子点から中心にある注目格子点自身を除いた63格子点）を「周辺」としてもよい。また、所定数Rthは、前述の「ボクセル復元処理の原理」に従い、「周辺」の範囲や処理対象空間における単位格子のサイズ等を考慮して予め設定しておけばよい。ここでは、所定数Rthの値として10が設定されているものとする。判定の結果、周辺ボクセルのカウント数が、所定数Rth以上である場合は、ステップ９０６に進む。一方、周辺ボクセルのカウント数が、所定数Rth未満である場合は、ステップ９０８に進む。
【００４２】
ステップ９０６では、注目格子点に対応する候補領域内の位置にボクセルが追加される。そして、ステップ９０７では、処理対象空間の全格子点について処理が完了したか判定される。未処理の格子点があればステップ９０８に進む。一方、全格子点についての処理が完了していれば、ステップ９０９に進む。
【００４３】
ステップ９０８では、注目格子点が更新される。注目格子点の更新は、x軸→y軸→z軸の順にその位置座標を変更するものとする。例えば、（0,0,0）→（1,0,0）→（2,0,0）・・・といった具合である。更新によって新たな注目格子点が設定されると、ステップ９０３に戻って、当該新たな注目格子点に対する処理が続行される。
【００４４】
ステップ９０９では、上述の処理が規定回数なされたかどうかが判定される。規定回数処理が行われていない場合は、ステップ９１０で処理回数が更新され、ステップ９０２に戻る。一方、規定回数処理が行われている場合は、本処理を終了する。例えば、規定回数nとしてn＝5が設定されていれば、上述の処理が５回繰り返されることになる。
【００４５】
以上が、ボクセル復元処理の内容である。図８（ｃ）で被写体領域内のボクセルが適切に復元されているのは、ステップ９０４の処理において、ボクセルを追加する格子点を候補領域内のみに限定していることに因るものである。また、偽領域内のボクセルが復元されないのは、ステップ９０５において、着目格子点と隣接するボクセル数をカウントしていることに因るものである。
【００４６】
＜本実施例の効果＞
図１０は、本実施例に係る発明の効果を説明する図である。図１０（ａ）は、図８（ｂ）と同じ図であり、ボクセル削除処理によってボクセルが削除された状態を示している。この状態では、偽領域である候補領域１００２内のボクセルだけでなく、被写体領域を表す候補領域１００１内の必要なボクセルも削除されてしまっている。図１０（ｂ）は、図１０（ａ）のボクセル削除処理後の状態に対して、公知のモルフォロジー演算による膨張処理を適用した状態を示している。この場合は、注目格子点の隣接格子点に１つでもボクセルが存在すればボクセルが追加されるため、候補領域１００１と１００２の双方において、その範囲を超えてボクセルが追加される。このように従来のモルフォロジー演算による膨張処理の場合、被写体領域の範囲を超えてボクセルが追加される結果、被写体の形状が正確に推定されず、しかも偽領域までが膨張してしまうという弊害がある。図１０（ｃ）は、図１０（ａ）のボクセル削除処理後の状態に対して、本実施例の手法を適用した状態を示している。本実施例の手法の場合、偽領域についてはボクセルが追加されることなく、被写体領域にのみボクセルが追加される結果、被写体形状がより正確に推定できている。
【００４７】
＜変形例＞
本実施例の変形例として、ボクセル削除処理（ステップ４０５）において、色の整合性に基づく判定（閾値Dthを用いた判定）によって削除することになったボクセル（削除対象ボクセル）を、改めて削除するかどうかを異なる基準を用いて再判定する態様を説明する。具体的には、削除対象ボクセルの周辺にあるボクセルの数をカウントし、当該カウント数と別途設定された所定数とを比較して、削除対象ボクセルを実際に削除するかどうかを決定する。ここでの所定数をSthとして、前述のステップ９０５における所定数Rthと区別する。ここでは、削除対象ボクセルを実際に削除するかどうかの基準となる上記所定数Sthの値を5とするが、これ以外の値でも構わない。
【００４８】
まず、前述の式（１）から求まる平均NCCの値が、類似度に関する前述の閾値Dth（例えば0.9。以下、この閾値を第１の閾値としてDth1と表す。）未満となって、ボクセルを削除することになったとする。次に、当該削除対象ボクセルの周辺のボクセルの数をカウントする。ここでの「周辺」の範囲は、ボクセル復元処理（ステップ４０６）と同じでよい。周辺ボクセルの数が所定数Sth（例えば5）未満の場合は、当該削除対象ボクセルは偽領域に属している可能性が高いと判断して、実際に削除する。一方、周辺ボクセルの数が所定数Sth以上の場合は、当該削除対象ボクセルは被写体領域に属している可能性があると判断して、類似度に関する別の閾値（例えば0.7。以下、この閾値を第２の閾値としてDth2と表す）を用いて、再度、色の整合性の判定を行う。そして、上記式（１）から求まる平均NCCの値が、第２の閾値Dth2未満の場合は当該削除対象ボクセルを、実際に削除する。一方、平均NCCの値が、第２の閾値Dth2以上の場合は、当該削除対象ボクセルは被写体領域に属している可能性が高いと判断して、実際に削除することなくそのまま維持する。
【００４９】
なお、本変形例における再判定で使用する所定数Sthの値は、ボクセル追加処理における所定数Rthより小さい値を設定することが望ましい。ただし、削除された偽領域内のボクセルが、続くボクセル追加処理によって復元しないようにすることができれば、ボクセル追加処理の所定数Rthとの関係に囚われずに、自由に所定数Sthの値を決めてもよい。
【００５０】
この変形例の場合、ボクセル削除処理において、被写体領域内のボクセルが不必要に削除されるのを防止することができる。
【００５１】
以上のとおり本実施例によれば、より簡便な処理で、偽領域については不要なボクセルをさらに削除しつつ、被写体領域については削除され過ぎたボクセルを復元することができる。
【００５２】
［実施例２］
次に、判断基準の異なるボクセル削除処理を複数回行なうと共に、その都度ボクセルの追加と候補領域の更新を行って、より高精度の形状推定を行う態様を、実施例２として説明する。なお、実施例１と共通する部分については説明を省略或いは簡略化し、以下では差異点を中心に説明するものとする。
【００５３】
図１１は、本実施例に係る画像処理装置２００の機能ブロック図である。本実施例の画像処理装置２００は、図３で示す各部に加え、候補領域更新部１１０１を有する。そして、図１２は、本実施例の画像処理装置２００が実行する一連の画像処理の流れを示すフローチャートである。以下、本実施例に係る画像処理装置２００で行われる画像処理の流れを説明する。
【００５４】
ステップ１２０１〜ステップ１２０４は、実施例１の図４のフローにおけるステップ４０１〜ステップ４０４と同じである。すなわち、ステップ１２０１では視差画像データとシルエット画像データを取得され、続くステップ４０２ではカメラ１０１に関する各種パラメータが取得される。そして、ステップ１２０３では取得したカメラパラメータのうちの歪曲パラメータに基づく歪曲補正処理が行われ、ステップ１２０４では被写体がその内側に存在すると見込まれる「候補領域」が生成される。
【００５５】
ステップ１２０５では、適用する複数のボクセル削除処理のうち１のボクセル処理が、ステップ１２０４で生成された候補領域に対し行われる。本実施例では、複数のボクセル削除処理として、実施例１で説明した色の整合性を基準とするボクセル削除処理に加え、被写体の影を構成するボクセルを削除する処理を行う場合を例にとって説明する。シルエット画像における被写体部分には、被写体の影が一部含まれる場合があり、被写体単体の形状を推定したい場合には、この影を除去する必要がある。そこで、地面やテーブルといった被写体の影が投影される部分のボクセルを削除するための処理を行う。例えば、被写体の影が投影される面の座標をz=0としたとき、z座標の値が一定の閾値以下のボクセルをすべて削除する処理を行う。これら2種類のボクセル削除処理は、どちらを先に実行しても構わない。
【００５６】
ステップ１２０６では、ボクセル削除処理で削除されすぎたボクセルを復元するボクセル復元処理が行われる。ボクセル復元処理の内容は、実施例１の図４のフローにおけるステップ４０６と同じである。仮に、被写体の影を構成するボクセルの削除処理が最初に実行された場合には、被写体が人であれば足元、物であれば底などの影以外の部分を復元するようなボクセルの追加がなされる。
【００５７】
ステップ１２０７では、複数のボクセル削除処理のすべてが実行されたかどうかが判定される。未実行のボクセル削除処理があればステップ１２０８に進み、候補領域の更新処理が実行される。すなわち、複数回の削除処理を行う場合において、２回目以降の削除処理においては、直前に行われた削除処理及び復元処理の結果を反映した候補領域が、新たな候補領域として設定される。例えば、直前に実行されたボクセル削除処理が被写体の影を構成するボクセルの削除処理であった場合には、被写体の影が除去された新たな候補領域が設定される。そして、ステップ１２０５に戻り、新たに設定された候補領域を対象に次のボクセル削除処理が実行される。一方、すべてのボクセル削除処理が実行済みであれば、本処理を終える。
【００５８】
以上が、本実施例の画像処理装置２００が実行する一連の画像処理の内容である。このように複数種類のボクセル削除処理を実行することで、例えば前述の図８（ｃ）のように、1種類のボクセル削除処理では削除し切れなった偽領域８０２内のボクセルを削除することが可能になる。
【００５９】
なお、本実施例で実行する複数のボクセル削除処理は上述の2種類に限定されず、3種類以上のボクセル削除処理を行っても構わない。また、各ボクセル削除処理に対し、ボクセル追加処理のイタレーション回数ｎをそれぞれ変化させてもよい。例えば、色の整合性を判定するボクセル削除処理に対しては、ボクセル追加処理のイタレーション回数を少なめに設定することで、凹んだ被写体形状を再現することも可能になる。
【００６０】
本実施例では、候補領域を更新しつつ複数種類のボクセル削除処理を実行する。こうして、ボクセルの削除と追加を繰り返し行うことで、被写体の3次元形状をより高精度に推定することができる。
【００６１】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６２】
２００  画像処理装置
３０１  画像データ取得部
３０３  候補領域生成部
３０４  ボクセル削除部
３０５  ボクセル復元部
【図１】
2018032938.tif 000004
【図２】
2018032938.tif 000005
【図３】
2018032938.tif 000006
【図４】
2018032938.tif 000007
【図５】
2018032938.tif 000008
【図６】
2018032938.tif 000009
【図７】
2018032938.tif 000010
【図８】
2018032938.tif 000011
【図９】
2018032938.tif 000012
【図１０】
2018032938.tif 000013
【図１１】
2018032938.tif 000014
【図１２】
2018032938.tif 000015