(57)【要約】【課題】オブジェクトの３次元形状の推定時に、より高い精度で偽物体の発生を抑制する。【解決手段】画像処理装置１０２において、複数のカメラ１０１を用いて複数の視点から撮像した画像からオブジェクトの形状を推定する。その際に、まず、各撮像画像における画素毎の特徴量を導出する。そして、当該導出された画素単位の特徴量に基づいて、オブジェクトの３次元形状を推定する。【選択図】図６
2020101922.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクトを複数の視点から撮像して取得された複数の撮像画像から当該オブジェクトの形状を推定する画像処理装置であって、
各撮像画像の画素毎にオブジェクトらしさを表す特徴量を導出する導出手段と、
前記各撮像画像から導出された特徴量に基づいて、前記オブジェクトの３次元形状を推定する推定手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記特徴量は、前記オブジェクトらしさとして、予め定めたオブジェクトカテゴリに属する可能性の高さを表す多次元ベクトルで表されることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記導出手段は、
前記撮像画像の画素毎に、所定のオブジェクトカテゴリへの帰属の度合いを表すカテゴリ情報を生成し、
前記カテゴリ情報に基づき、前記所定のオブジェクトカテゴリを判別するための画像を、前記特徴量として生成する
ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記導出手段は、学習に基づき、前記カテゴリ情報を生成することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記導出手段は、畳み込みニューラルネットワークによって前記カテゴリ情報を生成することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記導出手段は、前記撮像画像に含まれるオブジェクトの部位を検出し、検出した部位と各画素との距離に基づき、前記カテゴリ情報を生成することを特徴とする請求項３に記載の画像処理装置。
【請求項７】
前記推定手段は、空間中の所定の点に対応する前記各撮像画像における画素位置についての特徴量間の相違の度合いに基づき、前記オブジェクトの３次元形状を推定する、ことを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
前記推定手段は、前記特徴量間の相違の度合いとして類似度を算出し、算出した類似度が所定の閾値以上である前記所定の点を、前記オブジェクトの形状を構成する点として決定することにより、前記オブジェクトの形状を推定する、ことを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記類似度は、以下の式によって表され、
2020101922.tif 000008
上記式において、Ｓは類似度を表し、Ｎは複数視点画像における視点数を表し、Ｆｎ及びＦｍは候補点をｎ及びｍ番目の視点の撮像画像上に射影した際の特徴量のベクトルをそれぞれ表す
ことを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記推定手段は、設定した前記所定の点が各視点から見えているかどうかを判定し、見えていると判定された視点における特徴量を用いて、前記類似度を算出することを特徴とする請求項８又は９に記載の画像処理装置。
【請求項１１】
前記推定手段は、オブジェクトまでの距離を画素毎に格納した距離マップを前記各撮像画像について生成し、当該距離マップを用いて前記判定を行うことを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記推定手段は、予め定めた処理範囲が規定する空間の中から前記所定の点を順に設定して、前記オブジェクトの形状を推定することを特徴とする請求項７乃至１１のいずれか１項に記載の画像処理装置。
【請求項１３】
前記推定手段は、前記オブジェクトの初期形状を生成し、生成した初期形状が表す空間の中から前記所定の点を順に設定して、前記オブジェクトの形状を推定することを特徴とする請求項７乃至１１のいずれか１項に記載の画像処理装置。
【請求項１４】
前記推定手段は、前記初期形状の信頼度をさらに求め、求めた信頼度が一定未満の部分の中から前記所定の点を順に設定することを特徴とする請求項１３に記載の画像処理装置。
【請求項１５】
オブジェクトを複数の視点から撮像した複数の撮像画像から当該オブジェクトの形状を推定する画像処理方法であって、
各撮像画像の画素毎のオブジェクトらしさを表す特徴量を導出するステップと、
前記各撮像画像から導出された特徴量に基づいて、前記オブジェクトの３次元形状を推定するステップと、
を含むことを特徴とする画像処理方法。
【請求項１６】
前記特徴量は、前記オブジェクトらしさとして、 予め定めたオブジェクトカテゴリに属する可能性の高さを表す多次元ベクトルで表されることを特徴とする請求項１５に記載の画像処理方法。
【請求項１７】
前記導出するステップでは、
前記撮像画像の画素毎に、所定のオブジェクトカテゴリへの帰属の度合いを表すカテゴリ情報を生成し、
前記カテゴリ情報に基づき、前記所定のオブジェクトカテゴリを判別するための画像を、前記特徴量として生成する
ことを特徴とする請求項１６に記載の画像処理方法。
【請求項１８】
コンピュータを請求項１乃至１４のいずれか１項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は複数視点画像からオブジェクトの形状を推定する技術に関する。
【背景技術】
【０００２】
オブジェクト（被写体）を複数台のカメラで様々な方向から撮影して得られた撮像画像（複数視点画像）から、当該オブジェクトの３次元形状を復元する方法として、視体積交差法（Visual Hull）が知られている。視体積交差法では、各撮像画像におけるオブジェクトのシルエットを空間に投影し、それによって得られる複数の投影領域の共通部分を、オブジェクトの３次元形状として推定する。したがって、オブジェクトの形状が凸でない場合、推定によって得られた形状と実際の形状との誤差が大きくなる。特に、撮影シーンにおいて複数のオブジェクトが密集している場合、実際には存在しない偽物体(「Phantom Volume」とも呼ばれる)が、推定形状に含まれてしまう。この偽物体の発生を低減する方法としては、偽物体の候補を特定して除去するSafe Hull（非特許文献１）や、複数の視点間で色の整合性が取れる点のみ推定形状に残すPhoto Hull（特許文献１）などがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−２０８７５９号公報
【非特許文献】
【０００４】
【非特許文献１】"Safe Hulls",  In IET European Conference on Visual Media  Production, pages 1|8, 2007, G. Miller and A. Hilton
【非特許文献２】"Fully Convolutional Networks for Semantic Segmentation", Computer Vision and Pattern Recognition (CVPR), 2015 , Jonathan Long, Evan Shelhamer,、Trevor Darrell
【非特許文献３】"Deep Learning for Human Part Discovery in Images", IEEE International Conference on Robotics and Automation (ICRA), 2016, Thomas Brox et al.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述のSafe HullやPhoto Hullの手法も偽物体の発生を抑制するには依然として十分とはいえなかった。例えば、Safe Hullでは、実際に存在する物体と偽物体とを上手く区別できない場合があった。また、Photo Hullでは、撮像画像に含まれる様々なノイズによって色の整合性が上手く取れない場合があった。そして、いずれの場合においても、実存の物体が消えたり、偽物体が残ったりしてしまうという問題が生じていた。
【課題を解決するための手段】
【０００６】
本発明に係る画像処理装置は、オブジェクトを複数の視点から撮像して取得された複数の撮像画像から当該オブジェクトの形状を推定する画像処理装置であって、各撮像画像の画素毎にオブジェクトらしさを表す特徴量を導出する導出手段と、前記各撮像画像から導出された特徴量に基づいて、前記オブジェクトの３次元形状を推定する推定手段と、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、オブジェクトの形状推定時に、より高い精度で偽物体の発生を抑制することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】複数視点画像からオブジェクトの形状推定を行う画像処理システムの構成の一例を示す図
【図２】従来技術における課題を説明する模式図
【図３】本実施形態に係る形状推定手法の概要を説明する模式図
【図４】画像処理装置のハードウェア構成の一例を示す図
【図５】画像処理装置の形状推定処理に関わるソフトウェア構成の一例を示す図
【図６】オブジェクトの３次元形状を推定する処理の流れを示すフローチャート
【図７】特徴量導出部の内部構成の一例を示すブロック図
【図８】カテゴリ情報が生成される過程を模式的に示した図
【図９】４チャネル画像情報の一例を示す図
【図１０】実施形態１に係る、形状推定部の内部構成の一例を示すブロック図
【図１１】実施形態１に係る、形状推定処理の詳細を示すフローチャート
【図１２】実施形態２に係る、形状推定部の内部構成の一例を示すブロック図
【図１３】実施形態２に係る、形状推定処理の詳細を示すフローチャート
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面を参照して説明する。なお、以下の実施形態は本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成については、同じ符号を付して説明する。
【実施形態１】
【００１０】
（システム構成）
図１は、本実施形態に係る、複数視点画像からオブジェクトの形状推定を行う画像処理システムの構成の一例を示す図である。画像処理システム１００は、複数のカメラ（撮像装置）１０１、画像処理装置１０２、表示デバイス１０３、入力デバイス１０４及び１０５を有する。カメラ１０１は、オブジェクト（ここでは、家１１０、木１１１、人１１２）を囲むように配置され、複数の方向からオブジェクトを撮像する。画像処理装置１０２は、各カメラ１０１での撮像によって得られた複数視点画像データを用いてオブジェクトの形状推定を行い、オブジェクトの３次元形状データを生成する。形状推定の詳細については後述する。
【００１１】
表示デバイス１０３は、液晶ディスプレイ等であり、ＵＩ画面を介してユーザに必要な情報を提供する。入力デバイス１０４及び１０５は、画像処理装置１０２に対してユーザが各種操作・指示を行うためのキーボードとマウスである。ユーザは、表示デバイス１０３に表示されたＵＩ画面を介してキーボード１０４やマウス１０５を操作することで、撮像条件の設定や、複数視点画像データの確認、形状推定結果の確認などを行う。なお、表示デバイス１０３として例えばタッチパネルディスプレイを採用した場合は、上述の入力デバイス１０４及び１０５の機能を兼ねることになる。
【００１２】
（従来技術における課題）
図２は、従来技術における課題を説明する模式図である。いま、家１１０、木１１１及び人１１２の３つのオブジェクトが、視点Ａと視点Ｂの２つの視点から撮像されるものとする。破線の矩形２００はオブジェクトを真上から俯瞰した状態を示している。いま、視点Ａからの撮像画像２０１と視点Ｂからの撮像画像２０２に対してオブジェクト抽出を行って得られた結果が、シルエット画像２０３及び２０４である。そして、シルエット画像２０３及び２０４における各オブジェクトのシルエットを視点Ａと視点Ｂから空間に投影し共通部分を取ることで、各オブジェクトの形状が推定される。いま、推定結果の俯瞰図２０５には、５種類の再現物体２１０〜２１４が存在している。これら再現物体のうち、再現物体２１０〜２１２はそれぞれ家１１０、木１１１及び人１１２に相当する実在の物体であるが、再現物体２１３及び２１４は実在しない偽物体である。オブジェクトの色を考慮するPhoto Hullの手法によっても、例えば家１１０と木１１１との色が似ていた場合などには偽物体の発生を防ぐことができない。形状推定時における偽物体の発生を高精度で抑制することが本実施形態の課題である。
【００１３】
図３は、本実施形態に係る、偽物体の発生を抑制しつつ形状推定を行う手法の概要を説明する模式図である。図２と同様、家１１０、木１１１及び人１１２の３つのオブジェクトが、視点Ａと視点Ｂの２つの視点から撮像されるものとする。本手法においては、シルエット画像の代わりに、オブジェクトらしさを表した特徴量を用いてオブジェクト形状を推定する。この特徴量は、撮像画像の画素毎に、各オブジェクトカテゴリに属する可能性の高さが多次元ベクトルで表される。前述の図１のような撮影シーンの場合、「木」「家」「人」の３種類のオブジェクトカテゴリを設ければよい。この場合において、特定の方向からの撮像画像におけるある画素について、「木」に属する尤度が“0.7”、「家」に属する尤度が“0.2”、「人」に属する尤度が“0.1”ならば、当該画素の特徴量は(0.7,0.2,0.1)の３次元ベクトルとして表される。図３において、視点Ａからの撮像画像３０１からは特徴量Ａが、視点Ｂからの撮像画像３０２からは特徴量Ｂが、それぞれ得られたとする。本手法では、複数視点画像の各撮像画像から得られた特徴量を画素単位で比較し、特徴量が類似している領域のみを残すことでオブジェクト形状を推定する。いま、推定結果の俯瞰図３０３には３種類の再現物体３０４〜３０６が存在しており、それぞれ、家１１０、木１１１及び人１１２に相当する実在の物体である。そして、前述の図２にはあった偽物体は存在しない。これは、偽物体に対応する部分の画素において、特徴量Ａと特徴量Ｂとの差が大きく、再現物体として抽出されなかったことを意味している。このように本手法では、画像全体の特徴量を用いて再現物体の抽出を行うため、偽物体の発生を高精度で抑制することができる。なお、本手法において対象となるオブジェクトはどのようなものでもよく、オブジェクトカテゴリも撮影シーンなどに応じて適宜設定すればよい。例えば、スポーツの試合を撮影シーンとして、選手や審判といった人物を対象として形状推定を行う場合、人物の手、足、頭、胴といったより小さな単位でオブジェクトカテゴリを設けてもよい。また、ここでは説明の簡単化のため視点数が２つの場合を例に説明を行ったが、当然のことながら３つ以上でもよく、一般的には視点数が多いほど高精度の形状推定が可能となる。
【００１４】
（画像処理装置のハードウェア構成）
図４は、画像処理装置１０２のハードウェア構成の一例を示す図である。画像処理装置１０２は、ＣＰＵ４０１、ＲＡＭ４０２、ＲＯＭ４０３、ＨＤＤ４０４、通信Ｉ／Ｆ４０５、入力デバイスＩ／Ｆ４０６、出力デバイスＩ／Ｆ４０７を有する。ＣＰＵ４０１は、ＲＡＭ４０２をワークメモリとして、ＲＯＭ４０３に格納された各種プログラムを実行し、画像処理装置１０２の各部を統括的に制御するプロセッサである。ＣＰＵ４０１が、各種プログラムを実行することによって、後述の図５に示す各部の機能が実現される。なお、画像処理装置１０２がＣＰＵ４０１とは異なる専用の１又は複数のハードウェアあるいはＧＰＵ（Graphics Processing Unit）を有し、ＣＰＵ４０１による処理の少なくとも一部をＧＰＵあるいは専用のハードウェアが行うようにしても良い。専用のハードウェアの例としては、ＡＳＩＣ（特定用途向け集積回路）、及びＤＳＰ（デジタルシグナルプロセッサ）等がある。ＲＡＭ４０２は、ＲＯＭ４０３から読み出されたプログラムや演算結果など、通信Ｉ／Ｆ４０５を介して外部から供給されるデータなどを一時的に記憶する。ＲＯＭ４０３は、変更を必要としないＯＳなどのプログラムやデータを保持する。ＨＤＤ４０４は、上述の複数視点画像データ、その撮影を行ったカメラ１０１のカメラパラメータ、特徴量の導出時に用いる学習データ、形状推定時の対象空間を規定する処理範囲データなどの各種データを格納する大容量記憶装置であり、例えばＳＳＤなどでもよい。通信Ｉ／Ｆ４０５は、複数のカメラ１０１から撮像画像データを受信するためのインタフェースである。入力デバイスＩ／Ｆ４０６は、ユーザが入力操作を行うためのキーボード１０４やマウス１０５を接続するインタフェースである。出力デバイスＩ／Ｆ４０７は、ユーザに必要な情報を表示する液晶ディスプレイ等の表示デバイスと接続するインタフェースである。
【００１５】
（画像処理装置のソフトウェア構成）
図５は、画像処理装置１０２の形状推定処理に関わるソフトウェア構成の一例を示す機能ブロック図である。画像処理装置１０２は、画像取得部５０１、特徴導出部５０２、形状推定部５０３を有する。以下、各部の概要を説明する。
【００１６】
画像取得部５０１は、複数の視点から撮影して得られた画像データ（複数視点画像データ）を、通信Ｉ／Ｆ４０５を介して取得する。取得した複数視点画像データは、特徴量導出部５０２に送られる。
【００１７】
特徴量導出部５０２は、複数視点画像を構成する各撮像画像について、それぞれの特徴量を導出する。この特徴量導出部５０２は、学習データに基づく機械学習によって得られる。学習データとは、撮影シーンに存在し得るオブジェクトを様々な向きや大きさで撮像し、得られた各画像に対して認識に適したラベルを教師信号として対応付けたデータである。学習前の特徴量導出部５０２に対し撮像画像を入力し、出力されるデータ（特徴量のデータ）と正解ラベルとの乖離が閾値より小さくなるように、特徴量導出部５０２を構成するニューラルネットワークの係数が調整される。ここで、正解ラベルは、予め入力した撮像画像と対応付けたラベル（特徴量のデータ）である。学習データは、例えばＨＤＤ４０４に保存しておいてもよい。このようにして、学習済みの特徴量導出部５０２が得られる。特徴量導出部５０２によって導出された各撮像画像の特徴量のデータは、形状推定部５０３に送られる。なお、ここでは特徴量導出部５０２が、ニューラルネットワークで構成される場合を説明したが、これに限定されるものではない。
【００１８】
形状推定部５０３は、各撮像画像から導出された特徴量と各視点に対応するカメラパラメータを用いて、撮影シーンに存在するオブジェクトの３次元形状を推定する。カメラパラメータは、各カメラ１０１の位置、姿勢、焦点距離などを表す情報であり、予めＨＤＤ４０４に格納されているものとする。本実施形態では、カメラパラメータの形式として、内部パラメータ行列と外部パラメータ行列を用いるものとする。
【００１９】
図６は、画像処理装置１０２における、オブジェクトの３次元形状を推定する処理の大まかな流れを示すフローチャートである。図６に示すフローは、ＲＯＭ４０３に格納された制御プログラムがＲＡＭ４０２に読み出され、ＣＰＵ４０１がこれを実行することによって実現される。複数視点画像データが画像取得部５０１によって取得・格納された後、ユーザからの形状推定処理の開始指示をトリガとして、図６のフローの実行が開始される。なお、以下の説明において「Ｓ」はステップを意味する。
【００２０】
Ｓ６０１では、特徴量導出部５０２が、複数視点画像データと学習データをＨＤＤ４０４から読み込む。これにより、特徴量の導出処理ができる状態になる。続くＳ６０２では、特徴量導出部５０２が、複数視点画像の中から処理対象とする１つの撮像画像（以下、「注目撮像画像」と表記）を決定する。そして、Ｓ６０３では、特徴量導出部５０２が、Ｓ６０２で決定した注目撮像画像についての特徴量を導出する。この特徴量導出処理の詳細については後述する。続くＳ６０４では、特徴量導出部５０２が、複数視点画像を構成する全ての撮像画像について特徴量の導出処理が完了したかどうかを判定する。未処理の撮像画像があればＳ６０２に戻って、次の注目撮像画像を決定して処理を続行する。一方、全ての撮像画像について特徴量の導出処理が終わっていればＳ６０５に進む。
【００２１】
Ｓ６０５では、形状推定部５０３が、複数視点画像の各撮像画像から導出された特徴量に基づき、オブジェクトの３次元形状を推定する処理を行う。この形状推定処理の詳細については後述する。
【００２２】
以上が、複数視点画像からオブジェクトの３次元形状を推定する処理の大まかな流れである。
【００２３】
（特徴量導出処理の詳細）
続いて、撮像画像から特徴量を導出する処理（Ｓ６０３）について詳しく説明する。図７は、特徴量導出部５０２の内部構成の一例を示すブロック図である。特徴量導出部５０２は、画素分類部７０１と判別用画像生成部７０２とを有する。以下、各部の動作を詳しく説明する。以下では、特徴量導出部５０２は、学習済みの特徴量導出部５０２として説明する。
【００２４】
画素分類部７０１は、撮像画像を構成する画素毎に、撮影シーンにおいて想定される所定のオブジェクトカテゴリへの帰属の度合いを表す情報（以下、「カテゴリ情報」と表記）を生成する。このカテゴリ情報の生成は、例えば畳み込みニューラルネットワーク（ＣＮＮ：Convolutional Neural Networks）などの手法を用いて行う。ＣＮＮは、画像に畳み込み演算をした結果に更に別の畳み込み演算を連結することで、画像が持つ情報を徐々に縮約していく非線形の画像変換技術であり、その概要は以下のとおりである。まず、１階層目では、入力画像をｆとして、畳み込み演算結果の画像ｇを以下の式（１）を用いて得る。そして、以降の階層では、前の階層で得た畳み込み演算結果の画像ｇが、その階層における入力画像ｆとなる。この処理が繰り返される。
【００２５】
【数１】
2020101922.tif 000003
【００２６】
上記 式（１）において「＊」は畳み込み演算オペレータであり、その詳細を以下の式（２）に示す。
【００２７】
【数２】
2020101922.tif 000004
【００２８】
つまり、上記式（１）の「＊」は、縦横の幅がそれぞれｕ、ｖの畳み込みカーネルｗを入力画像ｆの座標（ｘ，ｙ）に対して適用することを、全ての座標（ｘ，ｙ）について行うことを示している。また、上記式（１）及び（２）中の関数γは非線形の活性化関数であり、シグモイド関数やアークタンジェント関数等が用いられる。図８は、ＣＮＮの手法によって、本実施形態のカテゴリ情報が生成される過程を模式的に示した図である。本実施形態では、入力画像８００に対し、学習結果に基づく重み係数（フィルタ）で畳み込み演算を行い、その出力を非線形関数に入力して新たな画像としての情報を生成し、これを何層も繰り返すことで最終的に画素単位のカテゴリ情報を得る。この場合、それぞれの画素の周辺画素の情報なども加味されるので、ある画素とある画素がたとえ同じ色であっても、それぞれ内容の異なるカテゴリ情報が導出され得る。つまり、本実施形態で得られる画素単位のカテゴリ情報は、注目画素だけでなくその周辺画素や画像全体をも考慮しているため、単に画素の色のみを用いる手法では得られないより詳しい識別情報となる。こうして得られた画素単位のカテゴリ情報は、特徴画像生成部７０２に送られる。
【００２９】
判別用画像生成部７０２は、画素分類部７０１から受け取った画素単位のカテゴリ情報に基づき、処理対象の撮像画像について、前述の特徴量としての画像情報を生成する。この画像情報には、オブジェクトカテゴリへの各画素の帰属を判別するための画像（以下、「判別用画像」と表記）が少なくとも含まれる。図９（ａ）〜（ｄ）は、オブジェクトカテゴリとして「家」「木」「人」の３種類を想定した場合の４チャネル画像情報の一例を示す。図９（ａ）は原画像、同（ｂ）はオブジェクトカテゴリ「家」の判別用画像、同（ｃ）はオブジェクトカテゴリ「木」の判別用画像、同（ｄ）はオブジェクトカテゴリ「人」の判別用画像を示している。入力された画素単位のカテゴリ情報に基づき、同じオブジェクトカテゴリに属する画素を集めることで、図９（ｂ）〜（ｄ）に示すような、各オブジェクトカテゴリにそれぞれ対応した判別用画像が得られる。図９（ａ）〜（ｄ）に示す４チャネル画像情報において、ある注目画素９００における特徴量は、(0.2, 0.0, 0.9, 0.0)のように４次元のベクトルで表される。
【００３０】
なお、本実施形態では識別性を向上させるため、原画像を加えているがなくてもよい。また、原画像を加える際には、１チャネルでも複数チャネルでも構わない。また、上述した特徴量の導出方法は一例に過ぎない。予め用意した学習データに基づき、注目画素に対しその周辺画素の情報を用いてオブジェクトカテゴリへの帰属の度合いを表す値を画素毎に求め、求めた値に基づき特徴量を導出する方法であればどのような方法でも構わない。例えば、撮像画像に対し、人体の関節や物体の中心点といった部位の検出をさらに行い、検出した部位と各画素との位置関係（距離）に基づいて、各画素がどのオブジェクトカテゴリに帰属するのかを決定しても構わない。
【００３１】
（形状推定処理の詳細）
続いて、オブジェクトの３次元形状を推定する処理（Ｓ６０５）について詳しく説明する。図１０は、本実施形態に係る、形状推定部５０３の内部構成の一例を示すブロック図である。形状推定部５０３は、候補点設定部１００１、射影変換部１００２、類似度算出部１００３、類似度評価部１００４、点群生成部１００５を有する。処理範囲データとカメラパラメータはＨＤＤ４０４から読み出され、それぞれ候補点設定部１００１と射影変換部１００２に入力される。特徴量導出部５０２で各撮像画像から導出された特徴量のデータは類似度算出部１００３に入力される。以下、図１１のフローチャートを参照して、各部の動作を詳しく説明する。なお、以下の説明において「Ｓ」はステップを意味する。
【００３２】
まず、Ｓ１１０１において、候補点設定部１００１が、処理範囲データで規定される対象空間の中から、オブジェクト形状を成す点群の候補となる処理対象として注目する点（以下、「候補点」と表記）を設定する。本ステップで設定される候補点のうち、一定の条件を満たす点が、３次元形状データとしての点群データを構成することになる。
【００３３】
次に、Ｓ１１０２において、射影変換部１００２が、複数視点画像を撮影した際の各視点の中から処理対象として注目する視点（以下、「注目視点」と表記）を設定する。続くＳ１１０３において、射影変換部１００２は、注目視点に対応するカメラ１０１のカメラパラメータに基づき、注目視点の撮像画像上に候補点を射影し、当該候補点の当該撮像画像上における位置を特定する。この場合において、撮像画像上での候補点の画素位置（ｕ，ｖ）は、以下の式（３）によって求めることができる。
【００３４】
【数３】
2020101922.tif 000005
【００３５】
上記式（３）において、Ｘ、Ｙ、Ｚは候補点の座標を表し、Ａと［Ｒ Ｔ］は注目視点のカメラパラメータにおける内部パラメータ行列と外部パラメータ行列をそれぞれ表す。
【００３６】
次に、Ｓ１１０４において、類似度算出部１００３が、Ｓ１１０３で特定された画素位置における特徴量を、注目視点の撮像画像の特徴量データから取り出す。
【００３７】
次に、Ｓ１１０５では、射影変換部１００２が、複数視点画像における全ての視点について処理が完了したか否かを判定する。未処理の視点があればＳ１１０２に戻って次の視点を注目視点に設定して処理を繰り返す。一方、すべての視点についての処理が完了していればＳ１１０６に進む。
【００３８】
次に、Ｓ１１０６において、類似度算出部１００３が、Ｓ１１０１で設定された候補点についての、全視点における特徴量を対象として、特徴量間の類似度を算出する。ここで、類似度Ｓは、以下の式（４）によって表される。
【００３９】
【数４】
2020101922.tif 000006
【００４０】
上記式（４）において、Ｎは複数視点画像における視点数を表し、Ｆｎ及びＦｍは候補点をｎ及びｍ番目の視点の撮像画像上に射影した際の特徴量のベクトルをそれぞれ表す。そして、「１／Ｎ×ΣＦｍ」は、ｍ＝１からＮまでのＦｍの平均値（正確には平均ベクトル）を表す。つまり、上記式（４）におけるexpの中身は、各視点における特徴量ベクトルの分散値の符号を反転させたものである。
【００４１】
次に、Ｓ１１０７において、類似度評価部１００４が、Ｓ１１０６で算出された類似度Ｓが所定の閾値以上か否かを判定する。すなわち、一定以上の高い類似度Ｓを示す場合に、候補点がオブジェクト形状を表す点群を構成する点として有効であると判定する。判定の結果、類似度Ｓが閾値以上であればＳ１１０８に進む。一方、類似度Ｓが閾値未満であればＳ１１０９に進む。
【００４２】
Ｓ１１０８では、点群生成部１００５が、現在の候補点の座標情報を候補点設定部１００１から取得し、当該座標情報で特定される点を、オブジェクトの３次元形状を表す点群データに追加する。こうして、点群データを構成する点が順次追加されていく。
【００４３】
Ｓ１１０９では、候補点設定部１００１が、処理範囲データ内の全ての点を候補点として設定したかを判定する。未処理の点があればＳ１１０１に戻って次の点を候補点に設定して処理を繰り返す。一方、すべての点が候補点として設定されていれば本処理は終了となる。
【００４４】
以上が、本実施形態に係る、形状推定処理の内容である。こうして、図１１のフローの終了時点において得られた点群データが、オブジェクトの３次元形状データとなる。なお、点群に代えてボクセルなど他の形式で３次元形状を表現する場合においても本実施形態は適用可能である。また、Ｓ１１０６で説明した類似度Ｓは、特徴量間の相違の度合いを表す指標の一例であり、上述の式（４）の内容に限定されない。たとえば、特徴量間の相違の度合いとして、特徴量を表す多次元ベクトルの各要素を全ての視点について乗じた値の総和を用いてもよい。また、類似度の代わりに、特徴量間の違いの大きさを表す値を求め、当該求めた値が閾値より小さい場合に、候補点がオブジェクト形状を表す点群を構成する点として有効であると判定しても構わない。
【００４５】
本実施形態によれば、複数視点画像を構成する各撮像画像から導出された特徴量に基づきオブジェクトの３次元形状を推定する。これにより、偽物体の発生を高精度で抑制することが可能となる。
【実施形態２】
【００４６】
実施形態１は、処理範囲データが規定する空間中に含まれる全ての点を処理対象の候補点に設定し、最終的に得られた点群データを、オブジェクトの３次元形状データとする態様であった。次に、オブジェクトの初期形状データを先ず生成し、当該初期形状データを構成する各点を処理対象の候補点に設定する態様を、実施形態２として説明する。なお、画像処理装置の基本的な構成など実施形態１と共通する部分は説明を省略ないしは簡略化し、以下では、差異点である形状推定部の内容を中心に説明を行うものとする。
【００４７】
図１２は、本実施形態に係る、形状推定部５０３’の内部構成の一例を示すブロック図である。形状推定部５０３’は、図１０で示した各部（候補点設定部１００１、射影変換部１００２、類似度算出部１００３、類似度評価部１００４、点群生成部１００５）に加え、初期形状生成部１２０１、距離マップ生成部１２０２及び遮蔽判定部１２０３を有する。本実施形態では、処理範囲データを使用しない代わりに、複数視点画像データに基づき初期形状データを生成する。以下、図１３のフローチャートを参照して、本実施形態に係る形状推定部５０３’の動作を詳しく説明する。なお、以下の説明において「Ｓ」はステップを意味する。
【００４８】
Ｓ１３０１では、初期形状生成部１２０１が、入力された複数視点画像データとその撮影に用いた各カメラ１０１のカメラパラメータに基づき、オブジェクトの初期形状データを生成する。ここでは、初期形状を点群で表したデータを、例えば視体積交差法を用いて生成するものとする。その際に必要となるオブジェクトのシルエット画像は背景差分法にて複数視点画像データから得るものとする。生成した初期形状データは、候補点設定部１００１に送られる。
【００４９】
Ｓ１３０２では、射影変換部１００２が、複数視点画像を撮影した際の各視点の中から注目視点を設定する。続くＳ１３０３では、射影変換部１００２が、Ｓ１３０２で設定した注目視点に対応するカメラ１０１のカメラパラメータに基づき、初期形状を成す点群を注目視点の撮像画像上に射影し、距離情報を生成する。ここで、距離情報とは、カメラ１０１の視点位置から空間中のある点（ｘ，ｙ，ｚ）に向かうベクトルを光軸に射影した際の長さであり、前述の式（３）におけるλで与えられる量（距離値）である。生成した距離情報は距離マップ生成部１２０２に送られる。
【００５０】
次に、Ｓ１３０４では、距離マップ生成部１２０２が、Ｓ１３０３で生成された距離情報に基づき、注目視点の撮像画像に対する距離マップを生成する。距離マップは、画素毎に、ある視点からオブジェクトまでの距離値が格納されたデータである。初期形状を表す点群を前述の式（３）に基づいて、注目視点の撮像画像に射影し、位置座標（ｕ,ｖ）で与えられる画素に距離情報を対応付けることで、この距離マップが得られる。この際、距離情報が格納されない画素が生じる場合がある。その際には、その周辺画素における距離情報を用いた補間処理によって、当該画素の距離情報を求めればよい。このようにして、注目視点の撮像画像に対する距離マップが得られる。
【００５１】
Ｓ１３０５では、射影変換部１００２が、複数視点画像における全ての視点について処理が完了したかを判定する。未処理の視点があればＳ１３０２に戻って次の視点を注目視点に設定して処理を繰り返す。一方、全ての視点が処理されていればＳ１３０６に進む。
【００５２】
Ｓ１３０６〜Ｓ１３０８の各ステップは、実施形態１の図１１のフローにおけるＳ１１０１〜Ｓ１１０３にそれぞれ対応する。まず、Ｓ１３０６では、候補点設定部１００１が、オブジェクト形状を成す点群の候補として注目する候補点を設定する。実施形態１のＳ１１０１との違いは、処理範囲データで特定される空間ではなく、Ｓ１３０１で生成された初期形状データで特定される空間（オブジェクトの大雑把な３次元形状を表す空間）の中から、候補点を設定することである。こうして設定された候補点のうち一定の条件を満たす点が、最終的にオブジェクトの３次元形状を成す点群を構成することになる。続くＳ１３０７では、Ｓ１３０２と同様、射影変換部１００２が、複数視点画像を撮影した際の各視点の中から注目視点を設定する。そして、Ｓ１３０８では、射影変換部１００２が、Ｓ１３０７で設定した注目視点に対応するカメラ１０１のカメラパラメータに基づき、Ｓ１３０６で設定された候補点を注目視点の撮像画像上に射影して、当該撮像画像上での画素位置（ｕ，ｖ）を算出すると共にその距離情報を生成する。
【００５３】
Ｓ１３０９では、遮蔽判定部１２０３が、注目視点の撮像画像において、Ｓ１３０６で設定された候補点が見えているか否かを判定する。いま、候補点について、注目視点の撮像画像上での画素位置（ｕ，ｖ）と距離情報λが分かっている。そこで、注目視点の距離マップでの同じ画素位置（ｕ，ｖ）における距離情報λ’（ｕ，ｖ）を特定し、２つの距離情報を比較して、λ＞λ’（ｕ,ｖ）であれば、候補点は別の点（別のオブジェクト）によって遮蔽されて見えないと判定する。判定結果は、候補点が遮蔽されずに見えている場合を“１”、遮蔽されて見えていない場合を“０”で表した２値情報（以下、「可視判定情報」と呼ぶ。）の形式で類似度算出部１００３に送られる。
【００５４】
Ｓ１３１０及びＳ１３１１の各ステップは、実施形態１の図１１のフローにおけるＳ１１０４及びＳ１１０５にそれぞれ対応する。すなわち、Ｓ１３１０では、類似度算出部１００３が、候補点の射影位置における特徴量を、注目視点の撮像画像の特徴量データから取り出す。続くＳ１３１１では、射影変換部１００２が、複数視点画像における全ての視点を処理したかを判定する。未処理の視点があればＳ１３０６に戻って次の視点を注目視点に設定して処理を繰り返す。一方、全ての視点が処理されていればＳ１３１２に進む。
【００５５】
Ｓ１３１２では、類似度算出部１００３が、Ｓ１３０９での遮蔽判定結果としての可視判定情報とＳ１３１０で取得した各視点における特徴量とに基づき、候補点が遮蔽されることなく見えている視点における特徴量を対象として、それらの類似度を算出する。ここでの類似度Ｓは、以下の式（５）によって表される。
【００５６】
【数５】
2020101922.tif 000007
【００５７】
上記式（５）において、Ｎは複数視点画像における視点数を表す。そして、Ｆｎ及びＦｍは候補点をｎ及びｍ番目の視点の撮像画像上に射影した際の特徴量のベクトルをそれぞれ表す。そして、Ｖｎ及びＶｍは候補点をｎ及びｍ番目の視点の撮像画像上に射影した際の可視判定結果（可視＝１、不可視＝０）のベクトルをそれぞれ表す。そして、「１／（ΣＶｍ）ΣＶｍＦｍ」は、候補点が見えると判定された視点のみで得られた特徴量ベクトルの平均値を表す。つまり、上記式（５）におけるexpの中身は、可視判定において候補点が見えると判定された視点のみで得られた特徴量ベクトルの分散値の符号を反転させたものである。
Ｓ１３１３〜Ｓ１３１５の各ステップは、実施形態１の図１１のフローにおけるＳ１１０７〜Ｓ１１０９にそれぞれ対応する。すなわち、Ｓ１３１３では、類似度評価部１００４が、Ｓ１３１２で算出された類似度Ｓが所定の閾値以上か否かを判定する。類似度Ｓが閾値以上の場合、候補点がオブジェクト形状を表す点群を構成する点として有効であることを意味する。判定の結果、類似度Ｓが閾値以上であればＳ１３１４に進む。一方、類似度Ｓが閾値未満であればＳ１３１５に進む。
【００５８】
Ｓ１３１４では、点群生成部１００５が、現在の候補点の座標情報を候補点設定部１００１から取得し、当該座標情報で特定される点を、オブジェクトの３次元形状を表す点群データに追加する。こうして、点群データを構成する点が順次追加されていく。
【００５９】
Ｓ１３１５では、候補点設定部１００１が、処理範囲データ内の全ての点を候補点として設定したかを判定する。未処理の点があればＳ１３０６に戻って次の点を候補点に設定して処理を繰り返す。一方、全ての点が候補点として設定されていれば本処理は終了となる。
【００６０】
以上が、本実施形態に係る、形状推定処理の内容である。図１３のフローの終了時点において得られた点群データが、オブジェクトの３次元形状データとなる。
【００６１】
なお、本実施形態では、初期形状の生成に視体積交差法を用いる例を説明したが、ステレオマッチングなど他の手法を用いても構わない。また、本実施形態では距離マップに基づき可視判定を行ったが、光線を用いて遮蔽の有無を探索するなど他の方法で行ってもよい。
【００６２】
また、初期形状を表す点群の中から類似度が低いと判定された点を順次削除していき、削除する度に可視判定を行うような構成でもよい。この際の処理手順は概ね以下のとおりである。
【００６３】
１）初期形状データを生成
２）各視点に対する距離マップを生成
３）初期形状データが表す空間の中から候補点を設定
４）候補点が見えている視点を、距離マップを基に特定
５）候補点が見えている視点における特徴量を求め、それらの類似度を算出
６）類似度が低ければ候補点を削除
７）上記３）〜６）を複数回繰り返した後、上記２）に戻り、繰り返しによって得られた形状データを用いて、改めて上記３）〜６）を繰り返す。
【００６４】
また、初期形状データを生成すると共にその信頼度を求め、信頼度の高い部分については、初期形状データをそのまま採用してもよい。例えば、視体積交差法で得られる初期形状の幅を、信頼度として用いることができる。例えば、形状推定の対象オブジェクトが人であった場合に、人間の典型的な横幅を超えない部分は信頼度が高いと考えて、当該越えない部分の点群をそのまま最終的な３次元形状を成す点群として採用するといった具合である。この場合、例えば生成した初期形状データについて信頼度を算出し、当該信頼度が一定未満の部分の中から候補点を順に設定すればよい。
【００６５】
以上、本実施形態によれば、撮影シーンに存在するオブジェクトの初期形状データを先ず生成し、その空間に含まれる点を候補点として処理することで、より効率よく、オブジェクトの形状を推定することが可能となる。また、特徴量の類似度を求める際にオブジェクト間の遮蔽を考慮することで、類似度算出の精度低下を抑えることができる。
【００６６】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６７】
１０２  画像処理装置
５０２  特徴量導出部
５０３  形状推定部
【図１】
2020101922.tif 000009
【図２】
2020101922.tif 000010
【図３】
2020101922.tif 000011
【図４】
2020101922.tif 000012
【図５】
2020101922.tif 000013
【図６】
2020101922.tif 000014
【図７】
2020101922.tif 000015
【図８】
2020101922.tif 000016
【図９】
2020101922.tif 000017
【図１０】
2020101922.tif 000018
【図１１】
2020101922.tif 000019
【図１２】
2020101922.tif 000020
【図１３】
2020101922.tif 000021