(57)【要約】      （修正有）【課題】被写体が存在する空間が巨大であっても、少ない演算量で高精度に被写体の3次元形状を推定する。【解決手段】被写体の3次元形状を推定する画像処理装置で、3次元形状の構成要素を少なくとも2段階で生成する手段と、生成要素を被写体を撮影した複数視点の視差画像を元に生成された複数シルエット画像に射影する手段と、射影結果に基づき各シルエット画像の被写体領域に属しない要素を削除する手段と、生成要素のうち削除されずに残った要素に基づいて被写体が存在する空間における被写体位置を導出する手段と、最終段階で生成された要素のうち削除されずに残った要素を推定結果として出力する手段と、を備える。生成手段は、1段階目の生成では空間を分割する第1要素を生成し、2段階目以降の生成では導出された位置に基づき設置した被写体に相当するブロックを分割する第2要素を生成する。要素の単位は、段階が進むたびに細かくなる。【選択図】図４
2018063635.tif 000002
【特許請求の範囲】
【請求項１】
被写体の3次元形状を推定する画像処理装置であって、
前記3次元形状を構成する要素を少なくとも2段階で生成する生成手段と、
生成された前記要素のそれぞれを、前記被写体を撮影した複数視点の画像を元に生成された複数のシルエット画像のそれぞれに射影する射影手段と、
前記射影の結果に基づき、各シルエット画像の被写体領域に属しない前記要素を削除する削除手段と、
前記生成手段で生成された前記要素のうち前記削除手段で削除されずに残った前記要素に基づいて、前記被写体が存在する空間における前記被写体の位置を導出する位置導出手段と、
最終段階で生成された前記要素のうち削除されずに残った前記要素を、推定結果として出力する出力手段と、
を備え、
前記生成手段は、
1段階目の生成では、前記空間を分割する第1の要素を生成し、
2段階目以降の生成では、前記位置導出手段で導出された前記位置に基づき設置した前記被写体に相当するブロックを分割する第2の要素を生成し、
前記要素の単位は、前記生成の段階が進むたびに細かくなる
ことを特徴とする画像処理装置。
【請求項２】
前記位置導出手段で導出される前記位置は、前記ブロック内で削除されずに残った第2の要素全体の重心であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記要素の単位の目標とする細かさに前記要素の単位が到達していない場合に次の段階で生成する第2の要素の単位をどの程度細かくするかが予め設定され、
前記生成手段は、前記目標とする細かさを前記最終段階として、前記設定に従い前記2の要素を生成することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記要素は、立方体又は直方体で表されるボクセルであり、
前記生成手段は、前記生成の段階が進むたびに前記ボクセルのサイズを小さくする、
ことを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記射影手段は、各ボクセルの重心を示す点を、前記複数のシルエット画像のそれぞれに射影し、
前記削除手段は、射影された前記重心を示す点が、いずれかのシルエット画像における被写体領域の外側にある場合に被写体領域に属しないと判定して、当該ボクセルを削除する
ことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記射影手段は、各ボクセルの重心を示す点を、前記複数のシルエット画像のそれぞれに射影し、
前記削除手段は、射影された前記重心を示す点が、前記複数のうち所定数以上のシルエット画像における被写体領域の外側にある場合に被写体領域に属しないと判定して、当該ボクセルを削除する
ことを特徴とする請求項４に記載の画像処理装置。
【請求項７】
前記要素は、点であり、
前記生成手段は、前記生成の段階が進むたびに前記点同士の間の距離を小さくする、
ことを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項８】
前記要素は、点に法線成分を持たせた正方形又は長方形で表される面であり、
前記生成手段は、前記生成の段階が進むたびに前記面同士の間の距離を小さくする、
ことを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項９】
被写体の3次元形状を推定する画像処理方法であって、
前記3次元形状を構成する要素を少なくとも2段階で生成する生成ステップと、
生成された前記要素のそれぞれを、前記被写体を撮影した複数視点の画像を元に生成された複数のシルエット画像のそれぞれに射影する射影ステップと、
前記射影の結果に基づき、各シルエット画像の被写体領域に属しない前記要素を削除する削除ステップと、
前記生成ステップで生成された前記要素のうち前記削除ステップで削除されずに残った前記要素に基づいて、前記被写体が存在する空間における前記被写体の位置を導出する位置導出ステップと、
最終段階で生成された前記要素のうち削除されずに残った前記要素を、推定結果として出力する出力ステップと、
を含み、
前記生成ステップは、
1段階目の生成では、前記空間を分割する第1の要素を生成し、
2段階目以降の生成では、前記位置導出ステップで導出された前記位置に基づき設置した前記被写体に相当するブロックを分割する第2の要素を生成し、
前記要素の単位は、前記生成の段階が進むたびに細かくなる
ことを特徴とする画像処理方法。
【請求項１０】
コンピュータを、請求項１乃至８のいずれか１項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被写体の３次元形状を高速かつ高精度に推定する技術に関する。
【背景技術】
【０００２】
従来より、複数台のカメラによって異なる視点から撮像された互いに視差のある画像を用いて、被写体の３次元概略形状を高速に推定する手法として、視体積交差法（Visual Hull）が知られている。視体積交差法による形状推定では、被写体が存在する可能性のある空間中のサンプリング点を被写体のシルエット画像に射影し、複数の視点で共通して射影した点がシルエット画像に含まれるかを検証することにより、被写体の形状を推定する。この際、サンプリング幅を小さくすることにより高精度な形状推定が可能であるが、演算量が膨大になるという欠点がある。これは、推定される形状の精度は主にボクセルの大きさに依存するため、被写体が存在する空間を粗く分割した大きなボクセルを元に推定された形状の精度は低くなり、細かく分割した小さなボクセルを元に推定された形状の精度は高くなるということである。しかし、空間を小さなボクセルで細かく分割すると、上記射影や検証を行うボクセルの数が多くなることから、その結果として膨大な演算が必要となってしまうわけである。そして、この傾向は被写体が存在する空間が巨大であるほど顕著になる。この点に関し、被写体が存在する領域においてボクセルを階層的に小さくしていくことで、演算量を削減する手法が提案されている（特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第4550221号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１の手法は、ボクセルの表面付近で被写体と重なるかを判定するもので、被写体が存在する空間が例えばサッカー等を行うスタジアムのように巨大である場合、依然としてその演算量は膨大なものとなる。本発明は、被写体が存在する空間が巨大であっても、少ない演算量で高精度に被写体の3次元形状を推定することを目的とする。
【課題を解決するための手段】
【０００５】
本発明に係る画像処理装置は、被写体の3次元形状を推定する画像処理装置であって、前記3次元形状を構成する要素を少なくとも2段階で生成する生成手段と、生成された前記要素のそれぞれを、前記被写体を撮影した複数視点の画像を元に生成された複数のシルエット画像のそれぞれに射影する射影手段と、前記射影の結果に基づき、各シルエット画像の被写体領域に属しない前記要素を削除する削除手段と、前記生成手段で生成された前記要素のうち前記削除手段で削除されずに残った前記要素に基づいて、前記被写体が存在する空間における前記被写体の位置を導出する位置導出手段と、最終段階で生成された前記要素のうち削除されずに残った前記要素を、推定結果として出力する出力手段と、を備え、前記生成手段は、1段階目の生成では、前記空間を分割する第1の要素を生成し、2段階目以降の生成では、前記位置導出手段で導出された前記位置に基づき設置した前記被写体に相当するブロックを分割する第2の要素を生成し、前記要素の単位は、前記生成の段階が進むたびに細かくなることを特徴とする。
【発明の効果】
【０００６】
本発明によれば、被写体が存在する空間が巨大であっても、被写体の3次元形状を高速かつ高精度に推定することが可能になる。
【図面の簡単な説明】
【０００７】
【図１】画像処理装置のハードウェア構成の一例を示す図である。
【図２】複数視点の視差画像を取得するためのカメラ配置の一例を示した図である。
【図３】画像処理装置の機能ブロック図である。
【図４】被写体形状推定処理の流れを示すフローチャートである。
【図５】撮影シーンがサッカーの試合である場合の対象空間を示した図である。
【図６】対象空間を分割する初期ボクセル群の一例を示す図である。
【図７】基準位置導出処理を説明する図である。
【図８】被写体形状推定処理における2回目のループが開始するまでの過程を説明する図である。
【発明を実施するための形態】
【０００８】
以下、添付図面を参照して、本発明を好適な実施例に従って詳細に説明する。なお、以下の実施例において示す構成は一例にすぎず、本発明は図示された構成に限定されるものではない。
【実施例１】
【０００９】
図１は、画像処理装置１００のハードウェア構成の一例を示す図である。画像処理装置１００は、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１０６を介して表示装置１１２（液晶ディスプレイなどの各種画像表示デバイス）に、処理された画像データなどを出力することで、画像の表示を行う。なお、画像処理装置１００の構成要素は上記以外にも存在するが、本発明の主眼ではないため、説明を省略する。
【００１３】
図２は、異なる複数の視点から撮影された互いに視差のある画像を取得するためのカメラ配置の一例を示した図である。図２は、サッカー用のフィールド２１０を囲むように配置された14台のカメラ２００により、フィールド２１０上にいる選手２１１やボール２１２を撮影している様子を表している。図２（a）は横から見た場合のカメラ配置、図２（b）は俯瞰で見た場合のカメラ配置である。座標系２１３は個々のカメラ２００の位置を特定するときに用いる座標系を示している。各カメラ２００で撮影された画像データは、複数視点の視差画像データとして画像処理装置１００に送られ、所定の画像処理が施される。以下では、スポーツシーンを例にとって説明するが、本実施例において説明する手法は、被写体となる物体の周りを囲むように複数のカメラを配置し、当該物体の形状を推定するようなシーンについては、幅広く適用可能である。
【００１４】
続いて、画像処理装置１００で行う、被写体形状推定処理について説明する。図３は、本実施例に係る画像処理装置１００のソフトウェア構成を示す機能ブロック図である。画像処理装置１００は、図３に示すように9個のモジュールで構成される。具体的には、空間サイズ取得部３０１、カメラパラメータ取得部３０２、シルエット画像取得部３０３、被写体サイズ取得部３０４、ボクセル生成部３０５、ボクセル射影部３０６、ボクセル削除部３０７、被写体位置導出部３０８、結果出力部３０９である。CPU１０１がROM１０３内に格納された制御プログラムを読み込んでRAM１０２に展開してこれを実行することで、上記各部の機能が実現される。そして、図４は、画像処理装置１００が実行する被写体形状推定処理の流れを示すフローチャートである。なお、上記各部の一部を専用の回路を備えるように画像処理装置１００を構成してもよい。以下、画像処理装置１００が行う、被写体形状推定処理の流れを説明する。
【００１５】
ステップ４０１では、空間サイズ取得部３０１が、HDD１０４又は入力インタフェース１０５を介して外部メモリ１１１から、カメラ２００が撮影する空間のサイズ情報を取得する。例えば、撮影シーンがサッカーの試合であれば、フィールドの大きさ（110m×70m）×選手が存在する可能性のある高さ（0〜2m）に相当する直方体の8つの頂点の座標情報（座標系２１３における3次元空間の頂点座標）が取得される。図５は撮影シーンがサッカーの試合である場合の対象空間を示した図であり、点線で囲まれた3次元の領域５０１が本実施例における空間である。取得された空間サイズ情報は、ボクセル生成部３０５に出力される。
【００１６】
ステップ４０２では、カメラパラメータ取得部３０２が、HDD１０４又は入力インタフェース１０５を介して外部メモリ１１１から、各カメラ２００の内部パラメータ・外部パラメータ・歪曲パラメータ（以下、「カメラパラメータ」と総称）を取得する。ここで、内部パラメータとは、画像中心の座標値やカメラ２００のレンズの焦点距離であり、外部パラメータとは、カメラ２００の位置と向きを表すパラメータである。歪曲パラメータはカメラ２００のレンズの歪曲を表す。カメラパラメータは、複数視点の視差画像データを元にstructure from motionによって推定してもよいし、予めチャートなどを用いたキャリブレーションを行って算出しておいてもよい。取得されたカメラパラメータは、ボクセル射影部３０６に出力される。
【００１７】
ステップ４０３では、シルエット画像取得部３０３が、HDD１０４又は入力インタフェース１０５を介して外部メモリ１１１から、各カメラ２００に対応する複数視点のシルエット画像データを取得する。シルエット画像とは、被写体が存在する領域を白（画素値=255）、存在しない領域を黒（画素値=0）で表した2値画像である。シルエット画像データは、複数視点の画像データを元に、背景抽出や被写体切り出しなどの手法を用いて、予め生成しておくものとする。取得されたシルエット画像データは、ボクセル射影部３０６及びボクセル削除部３０７に出力される。
【００１８】
ステップ４０４では、被写体サイズ取得部３０４が、HDD１０４又は入力インタフェース１０５を介して外部メモリ１１１から、3次元形状を推定したい被写体のサイズ情報を取得する。撮影シーンがサッカーの試合である場合の被写体は人（選手）であるため、一般的な成人を包含する、横方向x：0.5m、縦方向y：0.5m、高さ方向z2.0mの直方体が、被写体のサイズ情報として取得される。取得された被写体サイズ情報は、基準位置導出部３０８に出力される。
【００１９】
ステップ４０５〜ステップ４１５はループ処理となっている。ステップ４０５では、ボクセル生成部３０５が、被写体の3次元形状を構成する要素としてのボクセルを生成する。本実施例において、処理開始直後のループ1回目（1段階目）で生成されるボクセル（初期ボクセル）は、例えば1辺0.5mの立方体で、入力された空間サイズ情報で特定される空間（対象空間）を分割したものになる。図６は、図５で示す空間を分割する初期ボクセル群を示す図である。なお、ここでは初期ボクセルのサイズを1辺0.5mとしているが、これに限定されない。
【００２０】
ステップ４０６では、ステップ４０５で生成された全ボクセルの中から注目するボクセルが決定される。ループ1回目であれば、図６に示す初期ボクセル群６００の中から、例えば符号６０１で示す端部にあるボクセルが最初の注目ボクセルとして決定される。
【００２１】
ステップ４０７では、ステップ４０３で取得された複数視点のシルエット画像の中から任意の視点（m番目のカメラ２００）に対応するシルエット画像（以下、「注目シルエット画像」と呼ぶ。）が1つ決定される。
【００２２】
ステップ４０８では、ボクセル射影部３０６が、ステップ４０２で取得したカメラパラメータに基づいて、注目ボクセルを注目シルエット画像に射影する。本実施例では、注目ボクセルの重心を示す点（中心点）が、注目シルエット画像に射影される。この中心点の射影は、例えば以下の式（１）によって表される。
【００２３】
【数１】
2018063635.tif 000003
上記式（１）において、Amはm番目のカメラ２００の内部パラメータ行列、RmとTmはm番目のカメラ２００の外部パラメータ行列である。また、(X,Y,Z)は対象空間中の点の座標、(um、vm)はm番目のカメラ２００のシルエット画像上に射影された点の座標を表す。
【００２４】
ステップ４０９では、ボクセル削除部３０７が、射影結果に基づき、注目ボクセルが注目シルエット画像における被写体領域に属するか否かを判定する。本実施例では、射影された注目ボクセルの中心点の座標(um、vm)が、注目シルエット画像の白画素領域の内側にあるか外側にあるかを判定している。注目ボクセルが被写体領域の外側にあると判定された場合は、被写体の3次元形状を構成しないボクセルであるため、ステップ４１０に進み、当該注目ボクセルを削除する。一方、注目ボクセルが被写体領域の内側にあると判定された場合は、削除することなくステップ４１１に進む。
【００２５】
ステップ４１１では、注目ボクセルに対して全てのシルエット画像で、上述のボクセル射影処理（Ｓ４０８）及びボクセル削除処理（Ｓ４０９）が行われたかどうかが判定される。全てのシルエット画像について行われていれば、ステップ４１２に進む。一方、未処理のシルエット画像があればステップ４０７に戻って次の注目シルエット画像が決定され、ボクセル射影処理とボクセル削除処理が続行される。
【００２６】
ステップ４１２では、処理対象のボクセル群の全てのボクセルについて、上述のボクセル射影処理及びボクセル削除処理が行われたかどうかが判定される。全てのボクセルについて行われていれば、ステップ４１３へ進む。一方、未処理のボクセルがあればステップ４０６に戻って次の注目ボクセルが決定され、ボクセル射影処理とボクセル削除処理が続行される。
【００２７】
ステップ４１３では、現在のボクセルサイズが目標のボクセルサイズに到達しているかどうかが判定される。ここで、目標ボクセルサイズは、最終的に出力される3次元形状推定結果において、ボクセルがどの程度の大きさであれば許容するのかを規定するものである。ユーザは、被写体3次元形状を構成する要素の単位の細かさを示す目標ボクセルサイズを予め設定（HDD１０４等に記憶）しておく。本実施例では目標ボクセルサイズとして1辺0.01mが設定されているものとする。判定の結果、現在のボクセルサイズが目標のボクセルサイズに到達していない場合は、ステップ４１４に進む。一方、現在のボクセルサイズが目標のボクセルサイズに到達している場合は、ステップ４１６に進む。
【００２８】
ステップ４１４では、被写体位置導出部３０８が、全てのシルエット画像の被写体領域に属すると判定され削除されずに残ったボクセル（残存ボクセル）に基づいて、次にボクセルを生成する際の基準となる位置を導出する。図７（ａ）〜（ｄ）は、基準位置導出処理を説明する図である。説明の便宜上、図７（ａ）〜（ｄ）の各図は2次元で示しているが実際には奥行き方向にもボクセルは存在している。
【００２９】
図７（ａ）は、ループ1回目で生成されたボクセル群の一部を示し、斜線で示すボクセルが、ボクセル削除処理で全てのシルエット画像の被写体領域に属すると判定され、削除されることなく残った残存ボクセルである。被写体位置導出部３０８は、対象空間内を一定方向（図７では矢印７００で示す方向）に従い走査し、残存ボクセル（この例ではボクセル７０１）を検出する。この検出した残存ボクセル７０１に基づいて、被写体サイズ情報で特定されるサイズと同サイズのブロックを設置する。図７（ｂ）において太線で示す矩形７０２は、ボクセル７０１に基づいて設置されたブロックを示している。このとき、検出された残存ボクセルの走査方向手前（逆）側には残存ボクセルが存在しないことが明らかなので、図７（ｂ）に示すとおり、検出された残存ボクセル７０１を起点としてブロックが設置される。また、ブロックは地面より下にならないように設置される。そして、設置したブロックについての基準位置（当該ブロックに含まれる3次元形状を構成する要素全体の重心、本実施例では残存ボクセル全体についての重心）が、各残存ベクトルの位置座標から求められる。図７（ｃ）において、点７０３が、ブロック７０２について得られた重心、すなわち基準位置を示しており、当該基準位置が対象空間において被写体が存在していると見込まれる位置となる。基準位置７０３が求まると、ブロック７０２を基準位置７０３がその中心にくるように移動する。図７（ｃ）において、ブロック７０２’は、基準位置７０３が中心になるようブロック７０２を右方向に移動した後の状態を示している。ブロックの移動が終わると、基準位置７０３の導出に用いた残存ボクセルはすべて削除され、その後に、次の残存ボクセルの検出走査が開始される。図７（ｄ）においてボクセル７０４は、ブロック７０２についての基準位置導出後に検出された新たな残存ボクセルを示しており、この残存ボクセル７０４に基づいて新たなブロック７０５が設置される。このようにループ1回目の処理では、対象空間内の被写体の大凡の位置が把握されることになる。こうして導出された全ブロックの基準位置の情報はボクセル生成部３０５へと出力される。
【００３０】
ステップ４１５では、ボクセル生成部３０５が、次に生成するボクセルのサイズを決定する。ここで決定するサイズは、直近のボクセルサイズよりも小さいことが条件であり、例えば直近ボクセルサイズの1/3や1/5といったサイズが決定される。ユーザは、3次元形状を構成する要素の単位をどの程度細かくするのか（ボクセルサイズをどのくらい小さくするのか）を、初期ボクセルサイズや目標ボクセルサイズ、さらには何回ループ処理を行うのが適切なのかといった点を考慮して、予め設定しておく。そして、当該設定に従って次に生成するボクセルサイズが決定される。例えば、初期ボクセルで被写体の大まかな位置（基準位置）を求めた後、当該基準位置に基づき十分小さいサイズ（目標サイズ）のボクセルを生成するケース、つまり、2段階（2回のループ処理）で形状推定を行う場合を考える。この場合において、目標ボクセルサイズが1辺0.01mで、初期ボクセルサイズが1辺0.5mであったとすれば、直近ボクセルサイズの1/50にするよう予め設定しておけばよい。他方、形状推定の対象となる被写体の形状が複雑であるなど、3段階以上（3回以上のループ処理）で形状推定を行うことが望ましい場合は、直近ボクセルサイズの1/5や1/10にする設定をしておけばよい。このケースで仮に直近ボクセルサイズの1/5にする設定をしていた場合は、「ループ1回目：0.5m」→「ループ2回目：0.1m」→「ループ3回目：0.02m」→「ループ4回目：0.004m」といった具合にボクセルサイズは段階的に小さくなっていく。つまり、最終段階である4段階目で1辺0.004mのボクセルで構成される被写体3次元形状が得られることになる。本ステップにおいて、次に生成するボクセルサイズが決定されると、次のループの処理が開始される。すなわち、2段階目以降のステップ４０５において、ステップ４１４で導出した基準位置に従って配置された各ブロックを分割するボクセルが、新たに決定した小さいサイズで生成される。
【００３１】
ここで、2回目のループが開始するまでの過程を、具体例を用いて説明する。なお、図８に示す具体例の説明では、実際には3次元空間で行われる処理の内容を、便宜的に2次元で表現している点に留意されたい。図８（ａ）は、対象空間中に存在する被写体（球体）を表している。図８（ｂ）は、1回目のループ開始時に生成された、対象空間全体を分割する初期ボクセル（の一部）を示している。処理開始直後のステップ４０５では、被写体である球体８０１が存在する可能性のある対象空間全体が、立方体の初期ボクセル８０２で均等分割されている。図８（ｃ）は、1回目のループにおけるボクセル射影処理で、各ボクセルにおける基準となる点（ここでは中心点８０３）がシルエット画像に射影された状態を示している。図８（ｄ）は、1回目のループにおけるボクセル削除処理の結果、射影された点８０３が全てのシルエット画像において被写体領域の内側にあると判定されたボクセルを斜線の矩形８０４で示している。図８（ｅ）は、1回目のループにおける基準位置導出処理の結果を示している。詳細には、被写体を構成すると見込まれるボクセルに基づき設置した被写体の概略形状に相当するブロックにおける基準位置（ここでは、当該ブロックに含まれる残存ボクセル全体の重心）を四角のマーク８０５で示している。図８（ｆ）は、2回目のループ開始時に生成された、基準位置８０５に基づいて配置したブロック８０６を分割するボクセルを示している。すなわち、2回目のループ開始時のステップ４０５では、球体８０１が存在する可能性の高いブロック内が、初期ボクセルの1/5サイズのボクセル８０７で均等分割される。そして、より小さなボクセルで構成されるボクセル群を対象にボクセル射影処理やボクセル削除処理が実行され、同様の処理が注目ボクセルのサイズが目標ボクセルサイズを下回るまで繰り返されることになる。
【００３２】
ステップ４１６では、結果出力部３０９が、目標ボクセルサイズ以下の残存ボクセルで構成されるボクセル群のデータを、推定結果である被写体3次元形状データとして出力する。
【００３３】
以上が、本実施例における被写体形状推定処理の内容である。
【００３４】
なお、本実施例において、ボクセルの形状を立方体としているがこれに限定されず直方体でもよい。また、被写体形状の構成要素としては、3次元座標上の単位であるボクセルに代えて点や点に法線成分を持たせた面（正方形や長方形）であってもよい。ボクセル群の代わりに点群（或いは面群）で3次元形状を表す場合、前述のボクセルサイズは点同士の間の距離或いは面同士の間の距離となる。
【００３５】
また、ステップ４０８のボクセル射影処理において本実施例では、注目ボクセルの中心点（重心）を注目シルエット画像に射影しているが、例えばボクセルの頂点である8つの点を射影してもよい。この場合、ボクセル削除処理（ステップ４０９）においては、8つの点のうち1つ或いは所定数以上（例えば4つ以上）の点がシルエット画像の被写体領域内にあるかどうかを判定することになる。
【００３６】
また、本実施例では、ボクセル削除処理の結果、射影した点が被写体領域の外側にあると判定された時点で、対応する注目ボクセルを削除している（ステップ４１０）。これに代えて、例えば、ある注目ボクセルについて3つ以上のシルエット画像について被写体領域の外側にあると判定された場合に当該注目ボクセルを削除するなど、削除条件を緩くしてもよい。さらには、射影した点と被写体領域との距離に応じて削除するかどうかを決定するようにしてもよい。
【００３７】
また、ステップ４１４の基準位置導出処理において本実施例では、設置したブロックに含まれるボクセル全体の重心を基準位置としているが、被写体の大まかな位置を被写体サイズのブロックで囲むことが目的であり、これに限定されない。例えば、検出したボクセルの頂点を基準位置としてもよい。
【００３８】
また、本実施例では、同じタイミングで生成されるボクセルのサイズは均一であったが、対象空間を複数の領域に分け、各領域に応じて異なるサイズのボクセルを生成してもよい。
【００３９】
以上のとおり本実施例によれば、対象空間を粗く分割したボクセルを元に被写体が存在する大まかな位置（基準位置）を求め、求めた基準位置に設置した被写体サイズのブロックを細かく分割したボクセルで射影処理や削除処理を行って形状推定を行う。これにより、対象空間が例えばスタジアムのような巨大な空間であっても、少ない演算量で高精度に被写体の3次元形状を推定することが可能となる。
【００４０】
（その他の実施例）
本発明は、上述の実施例の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
2018063635.tif 000004
【図２】
2018063635.tif 000005
【図３】
2018063635.tif 000006
【図４】
2018063635.tif 000007
【図５】
2018063635.tif 000008
【図６】
2018063635.tif 000009
【図７】
2018063635.tif 000010
【図８】
2018063635.tif 000011