(57)【要約】【課題】光沢のある表面を有する物体の２次元画像から、３次元形状を推定して復元することが可能な画像データ処理装置を提供する。【解決手段】画像データ処理装置は、表面に鏡面反射による光沢を有する物体の２次元画像において、物体の存在する物体領域を抽出する物体領域抽出部５６１０と、物体領域において各座標において画像方位を抽出する方位場算出部５６１２と、物体の形状が山折りまたは谷折りであるかを示す形状パラメータを、抽出された画像方位に基づいて、物体領域内の各座標において決定する山折り谷折りパラメータ算出部５６１４と、決定された形状パラメータに基づき、コスト関数を最小化するように、３次元形状を復元する形状算出部５６１６とを備える。【選択図】図４
2016018476.tif 000002
【特許請求の範囲】
【請求項１】
表面に鏡面反射による光沢を有する物体の２次元画像から、前記物体の３次元形状を復元する処理を実行する画像データ処理装置であって、
前記２次元画像において、前記物体の存在する物体領域を抽出する領域抽出手段と、
前記物体領域において各座標において画像方位を抽出する方位場抽出手段と、
前記物体の形状が山折りまたは谷折りであるかを示す形状パラメータを、抽出された前記画像方位に基づいて、前記物体領域内の各前記座標において決定する形状パラメータ決定手段と、
前記決定された形状パラメータに基づき、コスト関数を最小化するように、前記３次元形状を復元する形状復元手段とを備え、
前記コスト関数は、各前記座標における画像方位についての曲率の大きさに応じて単調にコストが増加し、前記画像方位に直交する方向について前記形状パラメータが前記物体の前記３次元形状が山折りまたは谷折りであるかに整合する程度に応じて単調にコストが減少する関数である、画像データ処理装置。
【請求項２】
前記方位場抽出手段は、画像方位を抽出するための画像に対するフィルタ処理により、前記画像方位を算出する、請求項１記載の画像データ処理装置。
【請求項３】
前記コスト関数は、
前記物体領域内の各前記座標における画像方位についての曲率の大きさに応じて単調にコストが増加する第１のコスト項と、
前記画像方位と直交する方向の曲率に対応する前記形状パラメータが、前記物体の３次元形状の山折りまたは谷折りに整合する程度に応じて単調にコストが減少する第２のコスト項とを含み、
前記形状パラメータ決定手段は、前記コスト関数に基づいて、前記物体領域内の各前記座標において前記形状パラメータを決定する、請求項１または２記載の画像データ処理装置。
【請求項４】
前記形状パラメータ決定手段は、前記コスト関数に基づき、平均場近似により、前記物体領域内の各前記座標において前記形状パラメータを決定する、請求項３記載の画像データ処理装置。
【請求項５】
前記コスト関数は、前記物体領域の境界における前記３次元形状の平均値および傾きの平均が０に近いほど減少する第３のコスト項をさらに含む、請求項３または４に記載の画像データ処理装置。
【請求項６】
前記フィルタ処理は、ステアラブルピラミッド法によるフィルタ処理である、請求項２〜５のいずれか１項に記載の画像データ処理装置。
【請求項７】
表面に鏡面反射による光沢を有する物体の２次元画像から、前記物体の３次元形状を復元する処理を実行する処理を、記憶装置および演算装置を有するコンピュータに、実行させるための画像データ処理方法であって、
前記記憶装置に格納された２次元画像データにおいて、前記演算装置により、前記物体の存在する物体領域を抽出するステップと、
前記演算装置が、前記物体領域において各座標において画像方位を抽出し、前記記憶装置に格納するステップと、
前記物体の形状が山折りまたは谷折りであるかを示す形状パラメータを、抽出され格納された前記画像方位に基づいて、前記演算装置により、前記物体領域内の各前記座標において決定するステップと、
コスト関数を、各前記座標における画像方位についての曲率の大きさに応じて単調にコストが増加し、前記画像方位に直交する方向について前記形状パラメータが前記物体の前記３次元形状が山折りまたは谷折りであるかに整合する程度に応じて単調にコストが減少する関数であるとするとき、前記演算装置が、前記決定された形状パラメータに基づき、前記コスト関数を最小化するように、前記３次元形状を復元するステップとを備える、画像データ処理方法。
【請求項８】
表面に鏡面反射による光沢を有する物体の２次元画像から、前記物体の３次元形状を復元する処理を実行する処理を、記憶装置および演算装置を有するコンピュータに、実行させるための画像データ処理プログラムであって、前記画像データ処理プログラムは、
前記記憶装置に格納された２次元画像データにおいて、前記演算装置により、前記物体の存在する物体領域を抽出するステップと、
前記演算装置が、前記物体領域において各座標において画像方位を抽出し、前記記憶装置に格納するステップと、
前記物体の形状が山折りまたは谷折りであるかを示す形状パラメータを、抽出され格納された前記画像方位に基づいて、前記演算装置により、前記物体領域内の各前記座標において決定するステップと、
コスト関数を、各前記座標における画像方位についての曲率の大きさに応じて単調にコストが増加し、前記画像方位に直交する方向について前記形状パラメータが前記物体の前記３次元形状が山折りまたは谷折りであるかに整合する程度に応じて単調にコストが減少する関数であるとするとき、前記演算装置が、前記決定された形状パラメータに基づき、前記コスト関数を最小化するように、前記３次元形状を復元するステップとを、コンピュータに実行させる、画像データ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データ処理に係り、より特定的には、２次元の画像中の対象物の３次元形状を抽出する画像データ処理に関する。
【背景技術】
【０００２】
従来、２次元画像から３次元形状を復元する技術について、いくつか提案がある。
【０００３】
たとえば、特許文献１には、３次元形状の表面の反射係数がそれぞれの領域毎に異なる２次元陰影画像から、それらの反射係数を推測して実際の３次元形状を復元する、という技術が開示されている。ここで、この技術では、２次元画像の特定領域における面の傾きより面の滑らかさを示す変数を陰影の忠実度を示す変数を求め、これらの変数に基づいて上記面における反射地図上の位置及び反射係数を求めて２次元画像表面の方向を規定し、その規定値に基づいて面における反射地図上の位置及び反射係数を繰り返し演算により規定し、これらの規定値に基づいて３次元形状に復元する。
【０００４】
また、特許文献２に開示された内視鏡では、光学パラメータ制御手段で光学パラメータを変更しながら撮像された複数の２次元画像を撮像素子から入力して、これらの２次元画像に基づいて被観測対象の３次元形状モデルを作成する画像処理手段とを備えている。
【０００５】
一方で、光沢のある物体画像の局所的方位とその物体表面の局所的曲率との関係については、すでに報告がある（非特許文献１）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平５−１２６５４７号公報明細書
【特許文献２】特開平１１−３３７８４５号公報
【非特許文献】
【０００７】
【非特許文献１】R. W. Fleming, A. Torralba, and E. H. Adelson, "Specular reflections and the perception of shape," Journal of Vision 4 (2004) 798-820.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ただし、たとえば、特許文献１に開示の技術では、３次元形状の表面の反射係数がそれぞれの領域毎に異なる２次元陰影画像がある場合に、それらの反射係数を推測するというステップに加えて、面の滑らかさを示す変数を陰影の忠実度を示す変数を求めるというステップを経て、これらの変数に基づいて上記面における反射地図上の位置及び反射係数を求めて２次元画像表面の方向を規定するステップ、その規定値に基づいて面における反射地図上の位置及び反射係数を繰り返し演算により規定し、これらの規定値に基づいて３次元形状に復元するステップというように、多段階にわたる推定処理を、２次元の画像情報のみから実行することになり、処理の負荷の低減などの観点では、必ずしも十分とはいえない。
【０００９】
また、特許文献２に開示の技術では、光学パラメータを変化させながら、複数の２次元画像を撮影することが必要であり、処理が煩雑である。
【００１０】
一方で、非特許文献１には、光沢のある物体の２次元画像において、局所的方位とその物体表面の局所的曲率との関係についての開示はあるものの、その物体表面の３次元形状を推定する方法については、何ら開示がない。
【００１１】
この発明は上記のような問題を解決するためになされたものであって、光沢のある表面を有する物体の２次元画像から、３次元形状を推定して復元することが可能な画像データ処理装置、画像処理方法および画像処理プログラムを提供することである。
【課題を解決するための手段】
【００１２】
この発明の一つの局面に従うと、表面に鏡面反射による光沢を有する物体の２次元画像から、物体の３次元形状を復元する処理を実行する画像データ処理装置であって、２次元画像において、物体の存在する物体領域を抽出する領域抽出手段と、物体領域において各座標において画像方位を抽出する方位場抽出手段と、物体の形状が山折りまたは谷折りであるかを示す形状パラメータを、抽出された画像方位に基づいて、物体領域内の各座標において決定する形状パラメータ決定手段と、決定された形状パラメータに基づき、コスト関数を最小化するように、３次元形状を復元する形状復元手段とを備え、コスト関数は、各座標における画像方位についての曲率の大きさに応じて単調にコストが増加し、画像方位に直交する方向について形状パラメータが物体の３次元形状が山折りまたは谷折りであるかに整合する程度に応じて単調にコストが減少する関数である。
【００１３】
好ましくは、方位場抽出手段は、画像方位を抽出するための画像に対するフィルタ処理により、画像方位を算出する。
【００１４】
好ましくは、コスト関数は、物体領域内の各座標における画像方位についての曲率の大きさに応じて単調にコストが増加する第１のコスト項と、画像方位と直交する方向の曲率に対応する形状パラメータが、物体の３次元形状の山折りまたは谷折りに整合する程度に応じて単調にコストが減少する第２のコスト項とを含み、形状パラメータ決定手段は、コスト関数に基づいて、物体領域内の各座標において形状パラメータを決定する。
【００１５】
好ましくは、形状パラメータ決定手段は、コスト関数に基づき、平均場近似により、物体領域内の各座標において形状パラメータを決定する。
【００１６】
好ましくは、コスト関数は、物体領域の境界における３次元形状の平均値および傾きの平均が０に近いほど減少する第３のコスト項をさらに含む。
【００１７】
好ましくは、フィルタ処理は、ステアラブルピラミッド法によるフィルタ処理である。
【００１８】
この発明の他の局面に従うと、表面に鏡面反射による光沢を有する物体の２次元画像から、物体の３次元形状を復元する処理を実行する処理を、記憶装置および演算装置を有するコンピュータに、実行させるための画像データ処理方法であって、記憶装置に格納された２次元画像データにおいて、演算装置により、物体の存在する物体領域を抽出するステップと、演算装置が、物体領域において各座標において画像方位を抽出し、記憶装置に格納するステップと、物体の形状が山折りまたは谷折りであるかを示す形状パラメータを、抽出され格納された画像方位に基づいて、演算装置により、物体領域内の各座標において決定するステップと、コスト関数を、各座標における画像方位についての曲率の大きさに応じて単調にコストが増加し、画像方位に直交する方向について形状パラメータが物体の３次元形状が山折りまたは谷折りであるかに整合する程度に応じて単調にコストが減少する関数であるとするとき、演算装置が、決定された形状パラメータに基づき、コスト関数を最小化するように、３次元形状を復元するステップとを備える。
【００１９】
この発明のさらに他の局面に従うと、表面に鏡面反射による光沢を有する物体の２次元画像から、物体の３次元形状を復元する処理を実行する処理を、記憶装置および演算装置を有するコンピュータに、実行させるための画像データ処理プログラムであって、画像データ処理プログラムは、記憶装置に格納された２次元画像データにおいて、演算装置により、物体の存在する物体領域を抽出するステップと、演算装置が、物体領域において各座標において画像方位を抽出し、記憶装置に格納するステップと、物体の形状が山折りまたは谷折りであるかを示す形状パラメータを、抽出され格納された画像方位に基づいて、演算装置により、物体領域内の各座標において決定するステップと、コスト関数を、各座標における画像方位についての曲率の大きさに応じて単調にコストが増加し、画像方位に直交する方向について形状パラメータが物体の３次元形状が山折りまたは谷折りであるかに整合する程度に応じて単調にコストが減少する関数であるとするとき、演算装置が、決定された形状パラメータに基づき、コスト関数を最小化するように、３次元形状を復元するステップとを、コンピュータに実行させる。
【発明の効果】
【００２０】
本発明の画像データ処理装置、画像処理方法および画像処理プログラムによれば、光沢のある表面を有する物体の２次元画像から、３次元形状を精度よく推定して復元することが可能である。
【図面の簡単な説明】
【００２１】
【図１】画像データ処理装置の外観を示す図である。
【図２】コンピュータシステム２０のハードウェアブロック図である。
【図３】本実施形態で、３次元形状を復元する対象となる対象物２の２次元画像を示す図である。
【図４】本実施の形態の画像データ処理装置において、上述したＣＰＵ２０４０がソフトウェアを実行することにより実現する機能を示す機能ブロック図である。
【図５】３次元の形状を推定して復元するための処理のフローを説明するための図である。
【図６】３次元形状の推定による復元の過程を説明する図である。
【図７】画像方位θ（ｘ、ｙ）と、ｕ方向およびｖ方向の関係を示す概念図である。
【図８】画像方位θ（ｘ、ｙ）と、ｕ方向およびｖ方向の関係を示す概念図である。
【図９】推定された３次元形状を説明する図である。
【図１０】真の３次元形状から求めた山折り谷折りパラメータを示す図である。
【発明を実施するための形態】
【００２２】
以下、本発明の実施の形態の画像データ処理装置の構成について、図に従って説明する。なお、以下の実施の形態において、同じ符号を付した構成要素および処理工程は、同一または相当するものであり、必要でない場合は、その説明は繰り返さない。
【００２３】
［ハードウェア構成］
以下、本発明の実施の形態にかかる「画像データ処理装置」のハードウェア構成について説明する。この画像データ処理装置は、パーソナルコンピュータまたは専用コンピュータ等、演算装置上で実行されるソフトウェアにより実現されるものであって、対象となる２次元画像から物体の存在領域を抽出し、以下に説明する手続きに従って、その物体の３次元形状を推定して復元するためのものである。
【００２４】
ただし、以下に説明する「画像データ処理装置」の各機能の一部または全部は、ハードウェアにより実現されてもよい。
【００２５】
図１は、この画像データ処理装置の外観を示す図である。
【００２６】
図１を参照して、この画像データ処理装置を構成するシステム２０は、ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory ）またはＤＶＤ−ＲＯＭ（Digital Versatile Disc Read-Only Memory）ドライブ（以下、「光学ディスクドライブ」と呼ぶ）２０３０のような記録媒体からデータを読み取るためのドライブ装置を備えたコンピュータ本体２０１０と、コンピュータ本体２０１０に接続された表示装置としてのディスプレイ２１２０と、同じくコンピュータ本体２０１０に接続された入力装置としてのキーボード２１００およびマウス２１１０と、コンピュータ本体２０１０に接続された、画像を取込むためのカメラ３０とを含む。
【００２７】
この実施の形態の装置では、光学カメラ３０としては、ＣＣＤ（Charge Coupled Device）またはＣＭＯＳ（Complementary Metal-Oxide Semiconductor）センサのような固体撮像素子を含む単眼カメラを用いることができ、静止画を撮影するスチルカメラだけでなく動画を撮影できるビデオカメラであってもよい。ただし、カメラの台数としては、１台であることが望ましいが、複数台であってもよい。
【００２８】
また、処理対象となる２次元画像のデータは、図１に示すように、コンピュータ本体２０１０に接続されたカメラ３０により取り込まれる構成であってもよいし、あるいは、別のカメラにより撮影された画像データを、ネットワーク経由や媒体経由で、コンピュータ本体２０１０に取り込む構成であってもよい。
【００２９】
あるいは、コンピュータグラフィックスにより、３次元形状のデータを基に、鏡面反射を仮想的に仮定することで、作成された２次元画像であってもよい。
【００３０】
以下では、コンピュータ本体２０１０にカメラ３０が接続されているものとして説明する。
【００３１】
カメラ３０より画像を取り込む対象である対象物２は、後に詳しく説明するように、表面に光沢を有する物体である。
【００３２】
記録媒体としては、光学ディスクに限定されず、たとえば、メモリカードのような不揮発性半導体メモリを用いたものであってもよく、その場合は、メモリドライブ２０２０（図示せず）が設けられる。
【００３３】
（ハードウェアの構成）
図２は、コンピュータシステム２０のハードウェアブロック図である。
【００３４】
図２において、コンピュータ本体２０１０は、メモリドライブ２０２０、ディスクドライブ２０３０に加えて、ＣＰＵ２０４０と、ディスクドライブ２０３０及びメモリドライブ２０２０に接続されたバス２０５０と、ブートアッププログラム等のプログラムを記憶するためのＲＯＭ２０６０とに接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのＲＡＭ２０７０と、アプリケーションプログラム、システムプログラム、及びデータを記憶するための不揮発性記憶装置（たとえば、ハードディスク（ＨＤＤ））２０８０と、ネットワーク等を介して外部機器、たとえば、サーバ等と通信するための通信インタフェース２０９０と、光学カメラ３０からのデータを取り込むための画像入力インタフェース２０９２とを含む。
【００３５】
コンピュータシステム２０に、本実施の形態の画像データ処理装置の機能を実行させるプログラムは、ＣＤ−ＲＯＭ２２００、またはメモリ媒体２２１０に記憶されて、ディスクドライブ２０３０またはメモリドライブ２０２０に挿入され、さらにハードディスク２０８０に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ本体２０１０に送信され、ハードディスク２０８０に記憶されても良い。プログラムは実行の際にＲＡＭ２０７０にロードされる。
【００３６】
コンピュータシステム２０は、さらに、入力装置としてのキーボード２１００およびマウス２１１０と、出力装置としてのディスプレイ２１２０とを備える。
【００３７】
上述したようなコンピュータシステム２０として機能するためのプログラムは、コンピュータ本体２０１０に、情報処理装置等の機能を実行させるオペレーティングシステム（ＯＳ）は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能（モジュール）を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム２０がどのように動作するかは周知であり、詳細な説明は省略する。
【００３８】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【００３９】
さらに、ＣＰＵ２０４０も、１つのプロセッサであっても、あるいは複数のプロセッサであってもよい。すなわち、シングルコアのプロセッサであっても、マルチコアのプロセッサであってもよい。
【００４０】
図３は、本実施形態で、３次元形状を復元する対象となる対象物２の２次元画像を示す図である。
【００４１】
図３（ａ）に示すように、本実施の形態で対象とするのは、「光沢のある画像」である。ここで、「光沢」とは、画素の濃淡において３次元物体表面の鏡面反射由来の成分によるものである。
【００４２】
ただし、画素の濃淡において他に拡散反射由来の成分（陰影）等が混在していても構わない。図３（ａ）は、３次元物体の表面に鏡面反射と拡散反射を設定してレンダリングにより生成された画像であり、２００×２００ピクセルの画像である。
【００４３】
一方、図３（ｂ）は、２次元画像の中で本実施の形態により３次元形状を復元する手法を適応する物体の領域を抽出した結果を示す。
【００４４】
このように、２次元画像から、対象となる物体の領域を抽出するためには、たとえば、周知のエッジ検出などの既存技術を用いて求めることが可能である。あるいは、状況によっては、２次元画像の領域中において、対象物体の領域を、ユーザがコンピュータインタフェースを用いて指定してもよい。
【００４５】
以下では、このように２次元画像中に光沢のある画像として物体が存在している場合に、その２次元画像中において、３次元形状の復元を行う対象物体の領域が抽出されていることを前提として、説明する。
【００４６】
［システムの機能ブロック］
図４は、本実施の形態の画像データ処理装置において、上述したＣＰＵ２０４０がソフトウェアを実行することにより実現する機能を示す機能ブロック図である。
【００４７】
なお、図４に示した機能ブロックのうちのＣＰＵ２０４０が実現する機能ブロックとしては、ソフトウェアでの処理に限定されるものではなく、その一部または全部がハードウェアにより実現されてもよい。
【００４８】
図４に示すように、対象となる物体２からの２次元画像情報を取得するために光学カメラ３０が設けられる。
【００４９】
光学カメラ３０により撮像された動画に対応する映像信号は、画像キャプチャ処理部５６０２により制御されてデジタルデータとしてキャプチャされ、画像データ記録処理部５６０４により、ハードディスクのような不揮発性記憶装置２０８０に画像データ２０８２として格納される。
【００５０】
物体領域抽出部５６１０は、上述のとおり、エッジ検出技術などの周知の技術により、取得された２次元の画像データの中で、対象となる物体の領域を抽出する。
【００５１】
方位場算出部５６１２は、後に説明するように、抽出された物体の領域内において、各座標、より特定的には、各画素（ピクセル）の位置において、画像方位を算出する。抽出された物体の領域内での各座標における画像方位の集合により表現される場のことを、以下、「方位場」と呼ぶ。また、「画像方位」については、後述する。
【００５２】
山折り谷折りパラメータ算出部５６１４は、方位場算出部５６１２により算出された方位場を利用して、対象となる物体の領域の各座標において、その物体が山折り（凸形状：convex）であるか、谷折り（凹形状：concave）であるかを示すパラメータｃ（ｘ、ｙ）を算出する。ここで、（ｘ、ｙ）は２次元画像中の座標であり、このｘ−ｙ平面に直交する方向であるｚ方向の成分が、対象物体の３次元形状を表現するものであり、本実施の形態の手法により推定する対象である。特に限定されないが、後に説明するように、パラメータｃ（ｘ、ｙ）は、山折りの際には、＋１、谷折りの際には、−１の値をとるものとする。より一般には、山折りの際には、正の所定値、谷折りの際には、負の所定値とすることが可能である。
【００５３】
形状算出部５６１６は、算出されたパラメータｃ（ｘ、ｙ）と、対象となる物体の形状に依存して、方位場をもとに定義されたコスト関数とを用いることで、対象となる物体の３次元形状を算出する。
【００５４】
たとえば、コスト関数Ｆを以下のように構成する。
【００５５】
Ｆ＝Ｕ＋Ｖ＋Ｗ
コスト関数を構成する各項の具体例については、後に説明するが、各項Ｕ，Ｖ，Ｗの技術的な意義は、以下のように表現できる。
【００５６】
Ｕ：座標（ｘ、ｙ）の各点（あるいは、各ピクセルの位置）において、この項Ｕは、物体領域内の各座標における画像方位（u方向）についての形状の曲率の大きさに応じて単調にコストが増加する。
【００５７】
Ｖ：ｕ方向に直交するｖ方向について、形状が、正（谷折り）か負（山折り）かいずれかの曲率があり、かつ、パラメータｃ（ｘ、ｙ）の値が、この山折り、谷折りに各座標で一致する程度に応じて、このＶ項は単調にコストが減少する。
【００５８】
Ｗ：境界におけるｚの平均値、傾きの平均が０に近づくほど、このＷ項は単調にコストが減少する。
「傾きの平均が０」とは、境界領域における３次元形状ｚ（ｘ、ｙ）の重心まわりの１次モーメントが０であることを意味する。 
表示制御部５６１８は、算出された３次元形状を、たとえば、等高線など、３次元形状が視認できる表示態様により、表示装置２１２０に表示させる。
【００５９】
なお、不揮発性記憶装置２０８０には、ＣＰＵ２０４０に、このような処理を実行させるためのプログラムも格納されているものとする。
【００６０】
以後、物体が存在する境界内部をΩ、境界内部のピクセル数を以下のような式で表記する。
【００６１】
【数１】
2016018476.tif 000003
また、境界と境界から１ピクセル内側とをはさむ領域、および、その領域内のピクセル数を以下のように表記する。
【００６２】
【数２】
2016018476.tif 000004
図３（ａ）に示した画像の例では、以下のようになる。
【００６３】
【数３】
2016018476.tif 000005
また、以後、画像平面に対し、デカルト座標系を設定し、横軸をｘ軸、縦軸をｙ軸とし、座標を（ｘ，ｙ）で表すものとする。
【００６４】
以上の前提の下に、以下、図４で説明したＣＰＵ２０４０が実行する処理について、さらに詳しく説明する。
【００６５】
図５は、３次元の形状を推定して復元するための処理のフローを説明するための図である。
【００６６】
処理が開始されると（Ｓ１００）、ＣＰＵ２０４０の物体領域抽出部５６１０は、算出に使用する変数等の初期化処理を行い（Ｓ１０２）、上述したとおり、２次元画像から対象となる物体のエッジを検出して対象物体の領域を抽出し、抽出した物体の領域を不揮発性記憶装置２０８０に物体領域データ２０８４として格納する（Ｓ１０４）。
【００６７】
続いて、ＣＰＵ２０４０の方位場算出部５６１２は、物体の領域内の各座標（あるいは、各ピクセル）について、方位場を算出する（Ｓ１０６）。
（方位場の算出）
方位場の算出には、以下のようなフィルタ処理を使用することができる。
【００６８】
「方位場」とは、上述のとおり、画像の局所的な方位（画像方位：画像の局所において輝度の変化が最も小さい方向）をすべての地点で求めたものである。
【００６９】
方位場の算出には、非特許文献１に記載のように、ステアラブルピラミッド（steerable pyramid）法のようなフィルタ処理を用いることができる。
【００７０】
なお、ステアラブルピラミッド（steerable pyramid）法については、以下の文献にも開示がある。
【００７１】
公知文献１：E. P. Simoncelli and W. T. Freeman, "The steerable pyramid: A flexible architecture for multi-scale derivative computation." (1995) In Second International Conference on Image Processing (IEEE, Washington, DC), pp 444-447.
公知文献２：E. P. Simoncelli et al., "Shiftable multiscale transforms," IEEE Transactions on Information Theory 38 (1992) 587-607.
なお、方位場の算出には、公知文献３にも記載のように、ガボールフィルタ（Gabor filter）法を用いることも可能である。
【００７２】
公知文献３：P. Marlow, J. Kim, and B. L. Anderson, "The role of brightness and orientation congruence in the perception of surface gloss," Journal of Vision 11(9) (2011) 16.
ここでは、ステアラブルピラミッド法を用いるものとして説明する。
【００７３】
具体的には、ＣＰＵ２０４０の方位場算出部５６１２は、領域Ωにおける各地点（ｘ、ｙ）において局所的な画像方位θ（ｘ、ｙ）および、その異方性α（ｘ，ｙ）を求め、抽出した方位場および異方性を不揮発性記憶装置２０８０に方位場データ２０８６として格納する。
【００７４】
ここで、異方性とは、非特許文献１に記述されているように、画像方位が明確である度合いを表す０から１までの値である。α（ｘ，ｙ）＝０であれば局所画像が特定の方位をもたず等方的であり、α（ｘ，ｙ）＝１であれば特定の方位成分しかもたない。
【００７５】
α（ｘ，ｙ）は、以下の式で表される。
【００７６】
【数４】
2016018476.tif 000006
図６は、３次元形状の推定による復元の過程を説明する図である。
【００７７】
図６（ａ）は、算出された方位場を示す図であり、画像方位を線分の傾き、異方性を線分の長さで表している。
【００７８】
上述したように、物体の３次元形状を表すために画像の手前方向をz軸とし、物体の表面形状をｚ（ｘ，ｙ）と表すものとする。
【００７９】
ここで、非特許文献１により、３次元形状ｚ（ｘ，ｙ）のｘｙ−平面における２階微分の大きさが最小である方向が画像方位θ（ｘ，ｙ）と対応している。また、一般に２階微分の大きさが最大である方向は最小である方向と直交しているが、それらの２階微分の大きさの比が、異方性α（ｘ，ｙ）と対応していることが報告されている。
【００８０】
再び、図５にもどって、次に、ＣＰＵ２０４０が実行する山折り谷折りパラメータｃ（ｘ、ｙ）の計算および３次元形状の算出に使用するコスト関数について説明する。
（コスト関数の設定）
本実施の形態では、前述の方位場と３次元形状との関係性等をコスト関数Ｆに組み込み、それを最小化することで３次元形状の復元を行う。
【００８１】
コスト関数Ｆは以下のように３つの項からなる。Ｕは画像方位に関係する項、Ｖは画像方位に直交する方位に関係する項、Ｗは境界条件に関係する項である。
【００８２】
【数５】
2016018476.tif 000007
まず、Ｕ項について説明する。
【００８３】
画像方位θ（ｘ，ｙ）は、３次元形状ｚ（ｘ，ｙ）の２階微分の大きさが最小である方向であるから、θ方向に関する２階微分は小さいほうが好ましい。よってその２乗値に対して、以下のようなコストを設定する。
【００８４】
【数６】
2016018476.tif 000008
ここで、各地点それぞれにおいて、x軸、y軸を画像方位θ（ｘ、ｙ）だけ回転させたものをｕ軸、ｖ軸とした。よって、ｕ方向は画像方位に対応し、ｖ方向は画像方位に直交する方位に対応する。
【００８５】
図７および図８は、このような画像方位θ（ｘ、ｙ）と、ｕ方向およびｖ方向の関係を示す概念図である。
【００８６】
図７は、谷折りの形状の場合を示し、図８は、山折りの形状の場合を示す。
【００８７】
なお、図７、図８では、物体の表面形状の一部のみを取り出して示しており、Ｕ字型の線分の集合により、このような物体の表面の一部を概念的に示す。
【００８８】
図７および図８に示すように、画像方位θ（ｘ、ｙ）は、点Ｐ（ｘ，ｙ）に対応する物体表面上の点において曲率が最小となる方向であって、これをｕ方向とする。ここで、図７および図８では、上述したように、ｕ方向と直交するｖ方向が曲率が最大となる典型的な形状を示している。
【００８９】
上述した式（２）において、ｋu（ｘ、ｙ）は、各地点におけるコストの重みを表したものである。異方性α（ｘ，ｙ）が大きいほど画像方位と直交する方位と比べて２階微分の大きさが小さいのであるから、たとえば、以下の様に、α（ｘ，ｙ）が大きいほど、より大きい重みを設定する。
【００９０】
【数７】
2016018476.tif 000009
ここで、ｋvはＶ項のコストの重みを表した定数、ηはＵ項とＶ項のコストの重みを調整する定数、γは異方性α（ｘ，ｙ）が１のときに式（３）が発散しないよう導入した定数である。
【００９１】
次に、Ｖ項について説明する。画像方位に直交する方位は２階微分の大きさが最大である方向であるから、ｖ方向の２階微分の値に対して、以下のようにコスト関数を設定する。
【００９２】
【数８】
2016018476.tif 000010
上記の様に画像方位に直交する方向ｖに２階微分の値を有し、かつ、その２階微分値に対してパラメータｃ（ｘ、ｙ）が、各座標で山折り谷折りの形状に一致する値を持つほどコストが小さくなる。
【００９３】
ここで、図７を参照すると、３次元形状が谷折り(concave)であれば、ｖ方向のｚの２階微分は、正の値であるから、パラメータｃ（ｘ、ｙ）＝−１である方が、コストが小さくなる。一方、図８を参照すると、３次元形状が山折り(convex)であれば、ｖ方向のｚの２階微分は、負の値であるから、パラメータｃ（ｘ、ｙ）＝１である方が、コストが小さくなる。
【００９４】
最後に、Ｗ項は画像の情報だけからは決定することができない多義性を解消するための境界条件である。Ｗ項は以下のように二つの項からなるものとする。
【００９５】
【数９】
2016018476.tif 000011
項Ｗ0は、３次元形状ｚ（ｘ，ｙ）の並進移動に関する多義性を解消するものである（ｚ（ｘ，ｙ）に任意の定数を足してもＵ，Ｖは変化しない）。
【００９６】
以下の様に、２次元画像中の対象物体の境界における３次元形状ｚ（ｘ，ｙ）の値の平均値が０に近く、それから外れるほどコストを設定するものとする。
【００９７】
【数１０】
2016018476.tif 000012
ここで、係数ｋb0は、項Ｗ0のコストの重みを表した定数である。
【００９８】
言い換えれば、上述のとおり、項Ｗ0は、zの平均値を確定させるための項である。
【００９９】
もう一つの項Ｗ1はアフィン変換に関する多義性を解消するものである（ｚ（ｘ，ｙ）にｘ，ｙの１次式を足しても、Ｕ，Ｖは変化しない）。
【０１００】
以下の様に、２次元画像中の対象物体の境界の重心周りの１次モーメントが０に近く、それから外れるほどコストを設定するものとする。
【０１０１】
【数１１】
2016018476.tif 000013
ここで、係数ｋb1は、項Ｗ1のコストの重みを表した定数であり、ｘCMは、２次元画像中の対象物体の境界におけるｘの平均値、ｙCMは、２次元画像中の対象物体の境界におけるｙの平均値であり、（ｘCM，ｙCM）は２次元画像中の対象物体の境界の重心を表す。
【０１０２】
言い換えれば、項Ｗ1は、３次元形状の傾きを確定させるための項である。
（微分の計算について）
上記のようにして定義したコスト関数は、ｚ（ｘ，ｙ）のｕ方向およびｖ方向に関する２階微分を用いて表した。
【０１０３】
ここで、これらの具体的な算出方法について説明する。
【０１０４】
まず、ｘ軸、ｙ軸を画像方位θ（ｘ、ｙ）だけ回転させたものがｕ軸、ｖ軸であるから、以下の関係式が成り立つ。
【０１０５】
【数１２】
2016018476.tif 000014
ここで出てくる、ｘ，ｙに関するｚ（ｘ，ｙ）の２階微分の値に関しては、例えば以下の様にして値を算出可能である
【０１０６】
【数１３】
2016018476.tif 000015
ここで矢印は、左側の式を右側の値で置き換えることを意味している。
【０１０７】
以上の準備の下に、以下では、図５のステップＳ１０８の山折り谷折りパラメータｃ（ｘ、ｙ）の算出およびＳ１１０のコスト関数を用いた３次元形状の算出の手続きについて説明する。
（推定の手順）
形状の推定においては、まず、ＣＰＵ２０４０は、コスト関数最小化により山折り谷折りパラメータｃ（ｘ、ｙ）を求める。次に、その値を用いて３次元形状ｚ（ｘ，ｙ）を求める。
【０１０８】
さて、上述したコスト関数は、以下の様に書き表すことができる。
【０１０９】
【数１４】
2016018476.tif 000016
ここで、太字の小文字はベクトル、太字の大文字は行列を表す。
【０１１０】
式（１４）の各項は、以下のようである。
【０１１１】
【数１５】
2016018476.tif 000017
なお、推定に関係のない定数は式から省いてある。
【０１１２】
ここで、式（１４）が、ステップＳ１０６において算出された方位場から導出される手続きを簡単にまとめると以下のようになる。
【０１１３】
ｉ）算出された方位場によって、画像方位θが各座標点で求まっているので、２次元画像上の各座標で、ｕ方向およびｖ方向が求まる。
【０１１４】
ｉｉ）コスト関数のＵ項およびＶ項については、ｕ方向およびｖ方向へのｚの微分により定義されているところ、u方向およびｖ方向への微分は、式（８）〜（１０）で表され、かつ、ｘ方向およびｙ方向の微分は、式（１１）〜（１３）の差分に置き換えできるので、Ｕ項およびＶ項は、画像方位θが既知であれば、ｚ（ｘ，ｙ）についての「差分を用いた式」に還元される。
【０１１５】
ｉｉｉ）コスト関数は、このような差分等を２乗した式として、ｚの２乗の項や、ｚ＊ｃの項などになっており、コスト関数は、結局は、ｚ(x_i，y_i)＊ｚ(x_j，y_j)やｚ(x_i，y_i)＊ｃ(x_j，y_j)などが、足しあわされた形式となる（ここで、x_i，y_iは、画像中の離散的な座標である）。
【０１１６】
このようなコスト関数において、ｚ(x_i，y_i)＊ｚ(x_j，y_j)の係数をすべての（ｉ，ｊ）の組み合わせで求めて、それを、Ａij／２として、行列Ａをもとめ、ｚ(x_i，y_i)＊ｃ(x_j，y_j)の係数をすべて（ｉ，ｊ）の組み合わせで求めて、それを、−Ｂijとして、行列Ｂをもとめる等の手続きを行うと、式（１４）の形にまとめることができる。
【０１１７】
ここでまず、望ましい３次元形状ｚ（太字）とは、式（１４）を最小にするものである。このとき、コスト関数Ｆをｚ（太字）で微分した値は０であり、以下の式（１５）を満たす。
【０１１８】
【数１６】
2016018476.tif 000018
よって、ｚ（太字）は、以下のように表される。
【０１１９】
【数１７】
2016018476.tif 000019
ただし、このｚ（太字）の値は、ｃ（太字）に依存するため、このままでは、まだ求まらない。そこで、このｚ（太字）を式（１４）に代入すると、コスト関数Ｆは、以下の式（１７）のようにｃ（太字）のみの関数となる。
【０１２０】
【数１８】
2016018476.tif 000020
ここで、Ｄ（太字）の対角部分は、推定には関係しないのでゼロとおくことができる。
【０１２１】
したがって、問題は、式（１７）を最小とするｃ（太字）を、山折り谷折りパラメータの望ましい値として求めることになる。
【０１２２】
ただし、ここで、式（１７）を直接評価するためには、以下の個数だけ存在するｃ（太字）の全てのパターンを計算する必要があり、計算が困難である。
【０１２３】
【数１９】
2016018476.tif 000021
しかし、式（１７）はイジングモデルと同じ形をしており、平均場近似と呼ばれる手法を用いることで良い近似解が得られることが分かっている。よって、以下の平均場近似を用いることでｃ（太字）を求める（Ｓ１０８）。
（平均場近似アルゴリズム）
ＣＰＵ２０４０は、以下のような繰り返し演算を実行する。
【０１２４】
ｉ）初期値設定：領域Ω内の全地点で、ｃ（ｘ，ｙ）＝１（山折り）と設定。
【０１２５】
ｉｉ）反復計算：以下の計算をＮc回繰り返す。
【０１２６】
【数２０】
2016018476.tif 000022
ｉｉｉ）平均場近似の解として、以下の式を得る。
【０１２７】
【数２１】
2016018476.tif 000023
ここで、βは定数である（イジングモデルであれば、１／（ｋＴ）に相当。ｋ：ボルツマン定数、Ｔ：温度）。また、sgnは括弧内の符号を取ったもので、括弧の中が正ならば１、負ならば−１を返す演算子である。
【０１２８】
ＣＰＵ２０４０の山折り谷折りパラメータ算出部５６１４は、以上のようにして算出したパラメータｃ（ｘ，ｙ）を不揮発性記憶装置２０８０に山折り谷折りパラメータ２０８８として格納する。
【０１２９】
また、初期値設定を上記のようにしたのは、一般に閉じた領域にある物体は出っ張っていること、またヒトは物体がへこんでいるよりは出っ張って認識するという性質があるため、このように設定した。
【０１３０】
なお、このような「ヒトは物体がへこんでいるよりは出っ張って認識する」点については、以下の文献に開示がある。
【０１３１】
公知文献４：M．S．Langer and H．H．Bulthoff， ”A prior for global convexity in local shape-from-shading，” Perception 30 (2001) 403-410．
以上により、ｃ（太字）の値が求まった後、ＣＰＵ２０４０の形状算出部５６１６は、それを式（１６）に代入する処理を行うことで、３次元形状ｚ（ｘ，ｙ）を算出する（Ｓ１１０）。
（推定の例）
図６（ａ）の方位場を用いて、本発明により３次元形状の推定を行った結果について紹介する。ここで、コスト関数についてのパラメータは、以下のとおりである。
【０１３２】
γ＝０．１
η＝０．０１
ｋv＝１
ｋb0＝１
ｋb1＝１
平均場近似の計算でのパラメータは、以下のとおりである。
【０１３３】
β＝１０＾１０
Ｎc＝２０
まず、図６（ｂ）は、このようにして求めた山折り谷折りパラメータｃ（ｘ、ｙ）を示す。
【０１３４】
領域Ωにおいて、ｃ（ｘ、ｙ）＝１（山折り）であれば黒、ｃ（ｘ、ｙ）＝―１（谷折り）であれば白で図示してある。
【０１３５】
図９は、推定された３次元形状を説明する図である。
【０１３６】
図９（ａ）は、図６（ｂ）に示したパラメータｃ（ｘ、ｙ）を用いて式（１６）により求めた３次元形状である。
【０１３７】
図９（ａ）では、領域Ωにおいて、３次元形状ｚ（ｘ，ｙ）が大きいほど明るく、小さいほど暗く表示している。また、最大値と最小値に基づいて等分し、１５本の等高線を引いてある。
【０１３８】
一方、図９（ｂ）は、図３（ａ）に示した物体の真の３次元形状を示す。
【０１３９】
図９（ａ）と図９（ｂ）は近く、精度よく推定ができていることがわかる。
【０１４０】
ただし、以上説明した手法では、３次元形状ｚ（ｘ，ｙ）のスケールについては画像の情報から決定することができず、ｚ（ｘ，ｙ）の定数倍については多義性が残るため、相対値のみを比較している。
【０１４１】
たとえば、ｚ（ｘ，ｙ）のスケールについては、ユーザが指定することとしてもよい。
【０１４２】
図１０は、真の３次元形状から求めた山折り谷折りパラメータを示す図である。
【０１４３】
図６（ｂ）と図１０とを比較すると、山折り谷折りパラメータも精度よく推定ができていることがわかる。
【０１４４】
以上説明したとおり、本実施の形態の画像データ処理装置は、鏡面反射による光沢を有する物体の２次元画像から、各座標における画像方位を抽出し、各座標における山折または谷折を決定し、コスト関数を最小にする各座標における３次元形状ｚを求めることができる。
【０１４５】
このため、鏡面反射を持ち、光沢のついた物体の１枚の２次元画像からであっても、物体の３次元形状を復元することが可能である。
【０１４６】
特に、本実施の形態の画像データ処理装置は、画像の方位情報と物体の形状との関係をコスト関数として組み込み、コスト関数最小化により形状を推定するにあたり、２次元画像からは、直接、明示的には知ることはできない形状の折れ曲がり方向をもコスト関数に組み込むことで、コスト関数最小化により推定する構成としている。
【０１４７】
以上のような画像データ処理装置の構成により、２次元画像から精度良く、３次元形状を推定することが可能である。
【０１４８】
本実施の形態の画像処理装置は、画像編集ソフト、３次元モデリングソフトの補助に利用できる。例えば、既存の画像編集ソフト、３次元モデリングツールに、本実施の形態のアルゴリズムを実現するプログラムを組み込み、取り込んだ画像からの３次元形状復元を自動的に行うことができる。以後、別の環境光を設定すれば、別の場所で撮影したような物体画像を作成することができる。
【０１４９】
また、３次元プリンターを用いれば形を出力することもできる。これにより、広告、デザイン、アニメーション、ゲームにおいて既存の画像を用いた自然な３次元化や合成画像の作成などが可能になり、作業の効率を上げることができる。
【０１５０】
また、たとえば、コンピュータグラフィックスにより２次元の画像を作成した後に、ユーザにより人手で仮想的に形状表面に光沢を付した場合に、そのようにして作成した２次元形状が、どのように視認されるかを試験的に確認する、というような用途に用いることも可能である。
【０１５１】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１５２】
２０  画像データ処理装置、３０  カメラ、２０１０  コンピュータ本体、２０２０  メモリドライブ、２０３０  光学ディスクドライブ、２０４０  ＣＰＵ、２０５０  バス、２０６０  ＲＯＭ、２０７０  ＲＡＭ、２０８０  ハードディスク、２１００  キーボード、２１１０  マウス、２１２０  ディスプレイ、２２１０  メモリカード、５６０２  画像キャプチャ処理部、５６０４  画像データ記録処理部、５６１０  物体領域抽出部、５６１２  方位場算出部、５６１４  山折り谷折りパラメータ算出部、５６１６  形状算出部、５６１８  表示制御部。
【図２】
2016018476.tif 000024
【図４】
2016018476.tif 000025
【図５】
2016018476.tif 000026
【図７】
2016018476.tif 000027
【図８】
2016018476.tif 000028
【図１】
2016018476.tif 000029
【図３】
2016018476.tif 000030
【図６】
2016018476.tif 000031
【図９】
2016018476.tif 000032
【図１０】
2016018476.tif 000033