(57)【要約】【課題】光源と測定対象物の位置関係を高精度に測定することができない場合であっても、測定対象物の法線を高精度に測定することを可能にする。【解決手段】測定対象物に対し照射方向が異なる３つ以上の光源のそれぞれから順次に照射した状態で撮像した３枚以上の画像と、光源の位置情報とに基づいて、照度差ステレオ法により測定対象物の表面の法線を画素毎に保持した法線マップを算出する算出手段と、算出手段にて算出された法線マップに基づいて測定対象物の概略形状を算出し、算出された概略形状を予め取得された測定対象物の基準概略形状と比較することで、光源の位置情報を更新する必要があるか否かを判定する判定手段と、判定手段にて光源の位置情報を更新する必要があると判定された場合に、光源の位置情報を更新する更新手段とを有し、算出手段は、更新手段にて更新された光源の位置情報を用いて法線マップを算出し直すことを特徴とする。【選択図】図７
2018009927.tif 000002
【特許請求の範囲】
【請求項１】
測定対象物に対し照射方向が異なる３つ以上の光源のそれぞれから順次に照射した状態で撮像した３枚以上の画像と、前記光源の位置情報とに基づいて、照度差ステレオ法により前記測定対象物の表面の法線を画素毎に保持した法線マップを算出する算出手段と、
前記算出手段にて算出された前記法線マップに基づいて前記測定対象物の概略形状を算出し、算出された概略形状を予め取得された前記測定対象物の基準概略形状と比較することで、前記光源の位置情報を更新する必要があるか否かを判定する判定手段と、
前記判定手段にて前記光源の位置情報を更新する必要があると判定された場合に、前記光源の位置情報を更新する更新手段と
を有し、前記算出手段は、前記更新手段にて更新された前記光源の位置情報を用いて前記法線マップを算出し直すことを特徴とする画像処理装置。
【請求項２】
前記法線マップは、前記画像の解像度と同じ解像度を有し、前記基準概略形状及び前記算出された概略形状は、前記画像の前記解像度よりも低い解像度を有することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記判定手段は、前記算出された概略形状と前記基準概略形状との類似度を表す評価値を算出し、算出された評価値が所定の評価基準を満たさない場合に、前記光源の位置情報を更新する必要があると判定することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記判定手段は、前記法線マップに基づいて第１のデプスマップを前記概略形状として算出し、前記基準概略形状から第２のデプスマップを算出し、算出された前記第１のデプスマップと前記第２のデプスマップとについて前記類似度を表す前記評価値を算出することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記判定手段は、前記第１のデプスマップと前記第２のデプスマップとの差分のＰＳＮＲ値を前記評価値として算出し、算出されたＰＳＮＲ値が所定の基準値以下である場合に、前記光源の位置情報を更新する必要があると判定することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記更新手段は、前記第１のデプスマップと前記第２のデプスマップとの差分の分布に応じて前記光源の位置情報を更新することを特徴とする請求項４または５に記載の画像処理装置。
【請求項７】
前記光源の位置情報はＸ成分、Ｙ成分及びＺ成分からなり、
前記更新手段は、前記第１のデプスマップと前記第２のデプスマップとの差分の分布について算出されたＸ方向の統計量及びＹ方向の統計量に基づいて、前記光源の位置情報におけるどの成分を更新するかを決定することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記更新手段は、
前記Ｘ方向の統計量と前記Ｙ方向の統計量がほぼ等しい場合に、前記光源の位置情報における前記Ｚ成分を更新し、そうでない場合に、
前記Ｘ方向の統計量が前記Ｙ方向の統計量よりも大きい場合に、前記光源の位置情報における前記Ｘ成分を更新し、
前記Ｙ方向の統計量が前記Ｘ方向の統計量よりも大きい場合に、前記光源の位置情報における前記Ｙ成分を更新する
ことを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記更新手段は、前記第１のデプスマップと前記第２のデプスマップとの差分の分布について算出されたＸ方向の統計量及びＹ方向の統計量に基づいて、前記光源の位置情報を更新する際の量を決定することを特徴とする請求項６乃至８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記統計量は、分散であることを特徴とする請求項７乃至９のいずれか１項に記載の画像処理装置。
【請求項１１】
測定対象物に対し照射方向が異なる３つ以上の光源のそれぞれから順次に照射した状態で撮像した３枚以上の画像と、前記光源の位置情報とに基づいて、照度差ステレオ法により前記測定対象物の表面の法線を画素毎に保持した法線マップを算出する算出工程と、
前記算出工程にて算出された前記法線マップに基づいて前記測定対象物の概略形状を算出し、算出された概略形状を予め取得された前記測定対象物の基準概略形状と比較することで、前記光源の位置情報を更新する必要があるか否かを判定する判定工程と、
前記判定工程にて前記光源の位置情報を更新する必要があると判定された場合に、前記光源の位置情報を更新する更新工程と
を含み、
前記算出工程では、前記更新工程にて前記光源の位置情報が更新された場合に、更新された前記光源の位置情報を用いて前記法線マップを算出し直すことを特徴とする画像処理方法。
【請求項１２】
コンピュータを請求項１乃至１０のいずれか１項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、照度差ステレオ法により測定対象物の法線マップを測定する技術に関する。
【背景技術】
【０００２】
カメラを用いて測定対象物の表面の微細な形状を測定する手法として照度差ステレオ法がある。照度差ステレオ法とは、測定対象物に対し照射方向が異なる３つ以上の光源のそれぞれから順次に照射した状態で撮像した３枚以上の画像、及び光源と測定対象物の位置関係に基づいて、測定対象物の表面の各点（微細な領域）における法線を算出する手法である。この照度差ステレオ法によって法線を算出する際に、各光源と測定対象物の位置関係を精度よく取得できないと法線の測定精度が低下してしまうという問題がある。
【０００３】
そこで、特許文献１には、４つ以上の光源によってそれぞれ順次に照射された測定対象物を撮像し、得られた４枚以上の画像から測定対象物の法線を相対的に高い精度で算出できる３枚以上の画像の組み合わせを推測して法線の算出に用いる方法が開示されている。また、特許文献２には、光源位置測定用に計測ピンを用いることで光源と測定対象物の位置関係を推定する方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−３８０４９号公報
【特許文献２】特開２０１４−１１２０４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示の技術では、４つ以上の光源から相対的に測定精度が高くなる３以上の光源の組み合わせを選択することはできるが、光源の位置を正しく与えないと測定精度が低下する問題は残ったままである。
【０００６】
また、特許文献２に開示の技術では、計測ピンの影の先端位置に基づいて光源の位置を推定する。しかし、一般に光源は一定の大きさを持つため影の先端にはボケが生じることが多い。その場合、影の先端位置を精度よく検出することは困難となり、得られる光源の位置には誤差が生じてしまうという課題があった。
【０００７】
そこで本発明は、光源と測定対象物の位置関係を高精度に測定することができない場合であっても、測定対象物の法線を高精度に測定することを可能にする画像処理を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る画像処理装置は、測定対象物に対し照射方向が異なる３つ以上の光源のそれぞれから順次に照射した状態で撮像した３枚以上の画像と、前記光源の位置情報とに基づいて、照度差ステレオ法により前記測定対象物の表面の法線を画素毎に保持した法線マップを算出する算出手段と、前記算出手段にて算出された前記法線マップに基づいて前記測定対象物の概略形状を算出し、算出された概略形状を予め取得された前記測定対象物の基準概略形状と比較することで、前記光源の位置情報を更新する必要があるか否かを判定する判定手段と、前記判定手段にて前記光源の位置情報を更新する必要があると判定された場合に、前記光源の位置情報を更新する更新手段とを有し、前記算出手段は、前記更新手段にて更新された前記光源の位置情報を用いて前記法線マップを算出し直すことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、照度差ステレオ法により測定対象物の法線を測定する画像処理装置において、光源と測定対象物の位置関係が精度よく測定することができない場合でも測定対象物の法線を高精度に測定することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】詳細形状と概略形状とを模式的に示す図である。
【図２】実施例１における撮像装置が測定対象物の撮像を行う場合の様子を示す図である。
【図３】実施例１における撮像装置の外観を示す図である。
【図４】実施例１における撮像装置の内部構成を示すブロック図である。
【図５】実施例１における撮像装置の全体処理のフローチャート図である。
【図６】実施例１における画像処理部の内部構成を示す図である。
【図７】実施例１における画像処理部における処理フローを示すフローチャート図である。
【図８】実施例１における発光部位置の更新を模式的に示す図である。
【図９】実施例１における評価部の内部構成を示す図である。
【図１０】実施例１における評価部の処理フローを示すフローチャート図である。
【図１１】実施例２における画像処理部の内部構成を示す図である。
【図１２】実施例２における画像処理部の処理フローを示すフローチャート図である。
【図１３】実施例２における評価部の内部構成を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について図面を参照して説明する。ただし、以下の実施形態は本発明を限定するものではなく、また、以下で説明されている特徴の組み合わせの全てが本発明の課題解決に必須のものとは限らない。尚、以下の説明において参照する各図では、原則として、他の図と同等の要素に同一の符号を付与している。
【００１２】
［実施例１］
本実施例では、照度差ステレオ法によって、測定対象物の表面の微細な凹凸を含めた法線マップ（高精度な法線マップ）を測定する。ここで、法線とは測定対象物の表面上の点における接平面に対する垂線のことで、表面の向きを表す。また、法線マップとは、測定対象物の表面を複数の微細な領域に分割し、領域毎に法線を格納したものである。
【００１３】
尚、以下の説明では、測定対象物の形状を詳細形状と概略形状の２つの言葉で表現する。詳細形状とは測定対象物の表面の微細な凹凸を含む微細な形状を表す。本実施例では、照度差ステレオ法によって測定対象物の詳細形状を高精度に測定することが目的となる。一方、概略形状とは測定対象物の表面の微細な凹凸を含まない粗い形状を表す。図１は、詳細形状と概略形状を模式的に示す図である。詳細形状が図１（ａ）に示された物体の概略形状は図１（ｂ）に示されており、詳細形状が図１（ｃ）に示された物体の概略形状は図１（ｄ）に示されている。尚、詳細形状がどの程度の大きさの微細な形状までを含むかは、測定に用いる撮像装置の各画素が測定対象物上で見込む大きさ程度であり、撮像装置の解像度や撮像距離、焦点距離によって異なる。以下では、照度差ステレオ法によって測定された法線マップや詳細形状は、撮像画像と同じ解像度を有するものとし、概略形状は、撮像画像の解像度よりも低い解像度を有するものとして説明を行う。
【００１４】
本実施例では、測定対象物の正解概略形状を予め取得し、照度差ステレオ法によって測定された法線マップに基づいて算出された概略形状と正解概略形状との類似度が高くなるまで、照度差ステレオ法に用いる光源の位置情報の更新を繰り返し行う。これによって、光源の位置が精度よく測定できていない場合でも、法線マップを高精度に測定することが可能となる。尚、予め取得された正解概略形状は、光源の位置情報を更新するために参照される基準概略形状として用いられており、基準概略形状とも称される。
【００１５】
図２は、本実施例における撮像装置２０１が測定対象物２０４の撮像を行う場合の様子を示す図である。図２に示すように、本実施例における撮像装置２０１は、チャート２０３が付属した設置台２０２に設置された測定対象物２０４の撮像を行う。ここで、設置台２０２及び測定対象物２０４それぞれには、設置時に位置を合わせるために用いる基準位置（図示せず）がついている。この基準位置を合わせて測定対象物２０４を設置台２０２に設置することで、チャート２０３に対する測定対象物２０４の相対位置が概ね分かるものとする。
【００１６】
尚、撮像装置２０１は手持ちで使用することも可能であるが、不図示の三脚等に固定して使用することが望ましい。また、チャート２０３は、チャートの特徴点が検出し易いパターンであればよく、図２に示すようなチェッカーパターンの他、ドットが配置されたドットパターンやＡＲ（Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ）で用いられるマーカーを用いてもよい。
【００１７】
図３は、本実施例における撮像装置２０１の外観の一例を示す図である。図３（ａ）は撮像装置２０１の前面、図３（ｂ）は撮像装置２０１の背面を示している。図３（ａ）に示すように、撮像装置２０１の前面には、カラー画像を取得することが可能な撮像部３０１と、撮像に合わせ測定対象物に向け光を照射する３個の発光部３０２〜３０４と、撮像ボタン３０５が設けられている。尚、本実施例では発光部の数を３個とするが、これに限定されるものではなく、照度差ステレオ法によって測定対象物の法線マップを取得するために必要な３以上の複数の発光部を有していればよい。また、発光部３０２〜３０４の配置についても図示の配置に限定されるものではなく、任意の配置であってもよい。実施例では、発光部３０２〜３０４は撮像装置２０１の中に組み込まれている例を示したが、各発光部は撮像装置２０１とは独立した構成であってもよい。
【００１８】
撮像ボタン３０５は、半押し、及び、全押しの２段階のスイッチになっている。ユーザが撮像ボタン３０５を半押しした場合は、露出調整やホワイトバランスなどの撮像前の準備処理やフォーカス調整が行われる。そして、ユーザがさらに撮像ボタン３０５を全押しした場合は、発光部３０２〜３０４が１個ずつ順次に発光し、発光部が発光する度に、撮像部３０１が測定対象物からの光量をセンサ（撮像素子）で検知する。そして、検知された光量がＡ／Ｄ変換されて、デジタルデータに変換される。このように、各発光部の発光に対応するカラー画像（デジタルデータ）を取得する。ここで、発光部の数を３個とするので、合計で３枚のカラー画像を取得する。
【００１９】
また、図３（ｂ）に示すように、撮像装置２０１の背面には、液晶ディスプレイから成る表示部３０６と、ユーザによる各種の操作を受け付けるための操作部３０７とが設けられている。表示部３０６は、撮像条件設定の操作状況、又は設定の確認を行うためのＧＵＩや、撮像中の測定対象物のプレビュー画像又は映像や、撮像後の画像を表示することができる。操作部３０７は、ユーザが項目を変更、選択するために方向操作等を行うものであり、例えば十字ボタンの形態で配置される。尚、ボタンの形態は十字ボタンに限られるものではない。また、本実施例ではボタンで操作を行う例を示すが、これに限定されず、表示部３０６がタッチパネル方式により操作を受け付けるような構成であってもよい。例えば、表示部３０６は、感圧式、電磁誘導式など各種方式のタッチパネルを用いており、ユーザがタッチした座標を検出し、検出した座標によってユーザの指示を読み取るような構成とすることができる。
【００２０】
＜撮像装置の内部構成＞
図４は、撮像装置２０１の内部構成を示すブロック図である。ＣＰＵ４０１は、中央処理装置であり、バス４０４を介して接続された撮像装置２０１内の各構成を統括的に制御する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４０２は、ＣＰＵ４０１の主メモリ、ワークエリア等として機能するメモリである。ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）４０３は、ＣＰＵ４０１で実行される制御プログラム等を格納するメモリである。バス４０４は、撮像装置２０１内の各構成の間で各種データの転送経路として機能する。例えば、撮像部３０１によって取得されたデジタルデータはこのバス４０４を介してデジタル信号処理部４０６に送られる。
【００２１】
撮像制御部４０５は、ＣＰＵ４０１からの指示に基づいて、フォーカスを合わせる（合焦処理）、シャッターを開く・閉じる、絞りを調節するなどの、撮像部３０１に対する光学系制御を行う。また、撮像制御部４０５は、ＣＰＵ４０１からの指示に基づいて発光部３０２〜３０４の発光を制御する。デジタル信号処理部４０６は、撮像部３０１から送られたデジタルデータに対し、ホワイトバランス処理、ガンマ処理、ノイズ低減処理等の各種処理を行う。処理結果の画像は、表示部３０６に表示されたり、照度差ステレオ法に用いる画像として画像処理部４１１に送られたりする。尚、画像処理部４１１に送られる、照度差ステレオ法に用いる画像に対しては、ガンマ処理を行わず、撮像部３０１にて検知された光量と比例した値を画素値として出力することが望ましい。
【００２２】
表示制御部４０７は、表示部３０６に表示する撮像前プレビュー映像や撮像済み画像の表示制御を行う。また、表示部３０６に表示する撮像パラメータの設定のためのＵＩや、設定済み撮像パラメータの確認のためのＵＩなど、文字やアイコンを表示するための表示制御も行う。エンコーダ部４０８は、デジタル信号処理部４０６による処理結果の画像をＪＰＥＧやＭＰＥＧなどのファイルフォーマットに変換する。外部メモリ制御部４０９は、ＰＣやその他の外部メモリ４１０（例えば、ハードディスク、メモリーカード、ＣＦカード、ＳＤカード、ＵＳＢメモリ）に撮像装置２０１を接続させるためのインターフェースである。
【００２３】
画像処理部４１１は、法線マップの算出などの画像処理を行う。本実施例において、画像処理部４１１は、デジタル信号処理部４０６から送られた画像に基づき、照度差ステレオ法によって測定対象物の高精度な法線マップを算出する。尚、撮像装置２０１の構成要素は図４で示されるもの以外にも存在するが、本発明の主眼ではないので、説明を省略する。
【００２４】
＜撮像装置の処理フロー＞
図５は、本実施例における撮像装置２０１の全体処理のフローチャートである。ステップＳ５０１において撮像制御部４０５は、撮像部３０１が撮像する際の撮像パラメータを取得する。撮像パラメータは、例えばシャッタースピードや絞り、ＩＳＯ感度などを含み、操作部３０７を介してユーザが設定することができる。また、撮像制御部４０５は、発光部３０２〜３０４を発光させる順番を示す順番情報も取得する。
【００２５】
ステップＳ５０２において撮像制御部４０５は、ユーザが撮像ボタン３０５を押下することに応じて、発光部３０２〜３０４を発光させ、撮像部３０１が測定対象物を撮像するよう制御する。本ステップでは、ステップＳ５０１で取得された順番情報に従い、発光部を１個ずつ発光させ、１個の発光部を発光させる度に撮像部３０１で撮像を行う。本実施例では発光部３０２〜３０４のそれぞれの発光に対応する３枚の画像を撮像する。ここで、画像の撮像中に、撮像装置２０１を手持ちで撮像する場合などに、撮像装置２０１の位置が動いてしまう場合は、撮像された３枚の画像に対し位置合わせを行うものとする。すなわち、３枚の画像は、同じ座標を有する画素は、測定対象物２０４上の同じ位置を映しているものとする。尚、撮像された画像は外部メモリ４１０に記憶される。
【００２６】
ステップＳ５０３において画像処理部４１１は、ステップＳ５０２で撮像された３枚の画像に基づいて、照度差ステレオ法によって測定対象物の高精度な法線マップを算出する。尚、本ステップで画像処理部４１１が行う処理の詳細は後述する。
【００２７】
ステップＳ５０４において画像処理部４１１は、ステップＳ５０３で算出された法線マップを表示制御部４０７に出力する。表示制御部４０７の制御によって、法線マップは表示部３０６に表示される。また、画像処理部４１１は、ステップＳ５０３で算出された法線マップを外部メモリ制御部４０９に出力する。外部メモリ制御部４０９の制御によって、法線マップは外部メモリ４１０に記録される。
【００２８】
＜画像処理部の内部構成＞
図６は、画像処理部４１１の内部構成を示すブロック図である。画像取得部６０１は、ステップＳ５０２で撮像した発光部３０２〜３０４のそれぞれに対応した３枚の画像を取得する。
【００２９】
正解概略形状取得部６０２は、測定対象物の正解概略形状を取得する。本実施例において、測定対象物の正解概略形状は、予め３Ｄスキャナなどにより測定され、外部メモリ４１０またはＲＯＭ４０３に記録されている。正解概略形状取得部６０２は、ユーザからの指示によって、外部メモリ４１０またはＲＯＭ４０３に記録されているデータを読み出すことにより、正解概略形状を取得する。尚、３Ｄスキャナとしては、例えば、照射した光が測定対象物で反射して戻ってくるまでの時間を測定するＴＯＦ（Ｔｉｍｅ−ｏｆ−Ｆｌｉｇｈｔ）方式がある。また、測定対象物に対しパターン光を照射した様子をカメラで撮像するアクティブ方式や、測定対象物を複数視点から撮像した画像から形状を復元するパッシブ方式などもある。
【００３０】
尚、取得される正解概略形状のデータは、ＸＹＺの３次元座標を持つ頂点データと、３つ以上の頂点を結んで構成する面の情報とから成る、ポリゴンデータとすることができる。また、平面や直方体、球など幾何学的な基本形状を組み合わせてモデリングしたものとすることもできる。また、正解概略形状のデータには、設置台２０２に設置する際の位置合わせに用いる測定対象物２０４における基準位置を示す情報も含まれる。
【００３１】
初期発光部位置取得部６０３は、照度差ステレオ法によって法線を計算する際に使用する発光部位置の初期情報を取得する。ここで、発光部位置とは、設置台２０２に対する３つの発光部３０２〜３０４の相対的な３次元位置を表す。本実施例では、撮像した画像中に写った設置台２０２に付属のチャート２０３から発光部位置を算出する。発光部位置の算出方法については後述する。尚、撮像装置２０１が設置台２０２に対し固定されており、設置台２０２との位置関係が既知である場合は、発光部位置の初期情報は、外部メモリ４１０やＲＯＭ４０３に記録されているデータを利用してもよい。
【００３２】
光源方向算出部６０４は、測定対象物２０４の正解概略形状と、発光部位置とに基づいて、測定対象物２０４上の領域毎に光源方向を算出する。ここで、測定対象物２０４上の領域とは、法線の取得を行う領域であり、撮像装置２０１によって撮像された画像の各画素に対応する測定対象物２０４上の微細な領域を表すものとする。また、光源方向とは、測定対象物２０４上の領域ごとに、その領域から各発光部への相対位置を表す。
【００３３】
法線算出部６０５は、光源方向算出部６０４によって算出された測定対象物２０４上の領域毎の光源方向と、発光部３０２〜３０４に対応した３枚の画像とに基づいて照度差ステレオ法によって、測定対象物２０４の法線マップを算出する。
【００３４】
評価部６０６は、法線算出部６０５によって算出された法線マップに基づいて測定対象物２０４の概略形状を算出し、算出された概略形状を正解概略形状と比較し、発光部位置（位置情報）を更新するべきか評価（判定）する。
【００３５】
発光部位置更新部６０７は、評価部６０６によって発光部位置の更新が必要だと判定された場合に、照度差ステレオ法に用いる発光部位置の更新を行う。出力部６０８は、評価部６０６によって発光部位置の更新が必要でないと判定された場合に、法線算出部６０５によって算出された法線マップを表示制御部４０７や外部メモリ制御部４０９へ出力する。法線マップは、表示制御部４０７の制御によって表示部３０６で表示されたり、外部メモリ制御部４０９の制御によって外部メモリ４１０に記録されたりする。
【００３６】
＜画像処理部の処理フロー＞
図７は、本実施例における画像処理部４１１の処理フローを示すフローチャートである。ステップＳ７０１において画像取得部６０１は、外部メモリ４１０から発光部３０２〜３０４のそれぞれの発光に対応した３枚の撮像画像を取得する。前述のように、各画像は撮像部３０１に入射した光量と比例した値を画素値として持つものとする。
【００３７】
ステップＳ７０２において正解概略形状取得部６０２は、ユーザが操作部３０７を介して入力した指示によって、ＲＯＭ４０３または外部メモリ４１０に保持されている測定対象物２０４の正解概略形状を読み出す。
【００３８】
ステップＳ７０３において初期発光部位置取得部６０３は、照度差ステレオ法に用いる発光部位置の初期情報を取得する。本実施例では、撮像した画像中に写った設置台２０２に付属のチャート２０３から発光部位置を算出することにより、発光部位置の初期情報を取得する。以下では、本ステップにおける初期発光部位置取得部６０３の動作の詳細を説明する。
【００３９】
＜＜初期発光部位置取得部の動作＞＞
発光部３０２〜３０４と撮像部３０１が撮像装置２０１において固定されているため、撮像部３０１と各発光部との位置関係が既知ならば、チャート２０３に対する撮像部３０１の相対位置から、チャート２０３に対する各発光部の相対位置を算出できる。チャート２０３に対する撮像部３０１の相対位置は、既存の方法、例えば以下の方法により算出することができる。
【００４０】
撮像部３０１の撮像により得られた撮像画像における２次元座標ｕ，ｖと、撮像対象の３次元座標Ｘ，Ｙ，Ｚとの関係は下記の式（１）で表すことができる。
【００４１】
【数１】
2018009927.tif 000003
【００４２】
ここで、Ａは撮像部３０１の焦点距離や主点位置を表す内部パラメータである。Ｒ及びｔは、撮像部３０１の姿勢（回転）と位置（並進）を表す外部パラメータであり、Ｒは３×３の行列とし、ｔは１×３の行列とする。ｓはスケールファクタであって、既知である。また、３次元座標Ｘ，Ｙ，Ｚは、チャート２０３の複数の特徴点のうち、いずれか１つの特徴点（所定の特徴点）を原点としＸＹ平面がチャート２０３と平行な３次元空間を考えた際の３次元座標とする。このような３次元空間（以下、３次元空間）におけるチャート２０３の各特徴点の３次元座標が既知である。
【００４３】
本実施例では、ステップＳ７０１で取得された撮影画像からチャート２０３の各特徴点の２次元座標を検出し、検出された２次元座標と各特徴点の３次元座標との関係から上記の式（１）におけるＡ，Ｒ，ｔを推定する。
【００４４】
そして、推定されたＲ及びｔを用いて、チャート２０３に対する撮像部３０１の相対位置（すなわち、３次元空間における撮像部３０１の位置）Ｐchart,camは、下記の式（２）により算出される。ここで、ｔｒａｎｓ（）は行列の転置を表す。
【００４５】
【数２】
2018009927.tif 000004
【００４６】
さらに、チャート２０３に対する撮像部３０１の相対位置Ｐchart,camに対し、撮像部３０１に対するｉ番目の発光部の相対位置Ｐcam,light[i]を加算することで、チャート２０３に対するｉ番目の発光部の相対位置Ｐchart,light[i]を算出する。すなわち、３次元空間における発光部の位置は、下記の式（３）により算出される。
【００４７】
【数３】
2018009927.tif 000005
【００４８】
図７のフローチャートの説明に戻る。次に、ステップＳ７０４において光源方向算出部６０４は、測定対象物２０４の正解概略形状と各発光部の位置とに基づいて、測定対象物２０４上の領域ごとに、その領域から各発光部への方向を算出する。ここで、測定対象物２０４上の領域は、撮像画像の各画素に対応する測定対象物２０４上の領域を表すものとする。そのため、本ステップでは、撮像画像中の測定対象物２０４が写っている全ての画素について、その画素に対応する測定対象物２０４上の領域から各発光部への方向を算出する。以下では、本ステップにおける光源方向算出部６０４の動作の詳細を説明する。
【００４９】
＜＜光源方向算出部の動作＞＞
撮像画像中の座標（ｕ，ｖ）の画素に対応する測定対象物２０４からｉ番目の発光部への方向Ｄｉｒobj,light[i]（ｕ，ｖ）は、下記の式（４）に示すように発光部の位置Ｐchart,light[i]と、測定対象物上の領域の位置Ｐchart,obj（ｕ，ｖ）とから算出する。
【００５０】
【数４】
2018009927.tif 000006
【００５１】
ここで、Ｐchart,obj（ｕ，ｖ）は、撮像部３０１の位置と撮像画像中の座標（ｕ，ｖ）の画素を３次元座標系に投影した点とを結んだ直線が、設置台２０２に基準位置を合わせて仮想的に配置した測定対象物２０４の正解概略形状と交わる点の位置を表す。具体的に以下の方法によりＰchart,obj（ｕ，ｖ）を算出することができる。
【００５２】
まず、外部パラメータがＲ、ｔの撮像部３０１で撮像された画像の２次元座標（ｕ，ｖ）の画素を３次元座標系に投影した点の位置Ｐ（ｕ，ｖ）は下記の式（５）により算出される。ここで、ｆは撮像部３０１の焦点距離、ｃｘ、ｃｙは撮像部３０１の主点位置を表す。
【００５３】
【数５】
2018009927.tif 000007
【００５４】
そして、画素を３次元座標系に投影した点Ｐ（ｕ，ｖ）と撮像部３０１の位置とを結ぶ直線と、測定対象物２０４の正解概略形状とが交わる点を見つけることで、Ｐchart,obj（ｕ，ｖ）を算出する。直線と概略形状の交点の見つけ方は、幾何学計算などによる既知の方法を用いてもよく、コンピュータグラフィックスのレイトレーシングによるレンダリング時に用いられる衝突判定を用いてもよい。以上の処理を撮像画像の全画素、全発光部について行うことで、光源方向の算出が行われる。
【００５５】
図７のフローチャートの説明に戻る。続いて、ステップＳ７０５において法線算出部６０５は、撮像画像の全画素について照度差ステレオ法によって法線を算出する。以下では、本ステップにおける法線算出部６０５の動作の詳細を説明する。
【００５６】
＜＜法線算出部の動作＞＞
照度差ステレオ法は既存の方法を用いることができる。例えば、下記の式（６）によって座標（ｕ，ｖ）の画素の法線Ｎ（ｕ，ｖ）を算出することができる。
【００５７】
【数６】
2018009927.tif 000008
2018009927.tif 000009
【００５８】
ここで、Ｉlight[i]（ｕ，ｖ）は各発光部の発光に対応する撮像画像の座標（ｕ，ｖ）の画素値（例えば、輝度値）であり、Ｉ（ｕ，ｖ）はＩlight[i]（ｕ，ｖ）をまとめた１×３の行列である。Ｓ（ｕ，ｖ）は座標（ｕ，ｖ）の画素に対応する測定対象物２０４上の領域から各発光部への方向Ｄｉｒobj,light[i]（ｕ，ｖ）をまとめた３×３の行列であり、下記の式（７）で表すことができる。
【００５９】
【数７】
2018009927.tif 000010
【００６０】
また、式（６）におけるｉｎｖ（Ｓ）は、行列Ｓの逆行列を表す。尚、発光部の数が４以上の場合は、各発光部への方向Ｄｉｒobj,light[i]（ｕ，ｖ）をまとめた行列Ｓ（ｕ，ｖ）の逆行列を算出することができないため、ｉｎｖ（Ｓ）の代わりに下記の式（８）のような擬似逆行列を用いる。
【００６１】
【数８】
2018009927.tif 000011
【００６２】
さらに、上記の算出を撮像画像の全画素について行うことで法線マップを算出することができる。尚、法線算出部６０５は、算出された法線マップに基づいて測定対象物２０４の詳細形状をさらに算出してもよい。
【００６３】
図７のフローチャートの説明に戻る。次に、ステップＳ７０６において評価部６０６は、ステップＳ７０５で照度差ステレオ法によって算出された法線マップと、ステップＳ７０２で取得された正解概略形状とに基づいて発光部位置の更新の必要性を評価する。すなわち、評価部６０６は、照度差ステレオ法によって算出された法線マップに基づいて測定対象物の概略形状を算出する。そして、算出された概略形状と、正解概略形状との類似度を表す評価値を算出し、この評価値が予め設定した評価基準を満たすか否かに基づいて発光部位置の更新の必要性を評価する。例えば、評価値が所定の基準値以下である場合に、発光部位置の更新が必要であると判定され、処理はステップＳ７０７へ遷移する。一方、評価値が所定の基準値より大きい場合に、発光部位置の更新が必要でないと判定され、処理はステップＳ７０８へ遷移する。本ステップにおける評価部６０６の動作の詳細については後述する。
【００６４】
ステップＳ７０７において発光部位置更新部６０７は、法線マップの算出に用いる発光部位置を更新する。ここで、発光部位置の更新は、発光部３０２、３０３、３０４の物理的な位置を変更するのではなく、ステップＳ７０４の光源方向の算出に用いる発光部の位置情報を更新する処理である。
【００６５】
図８は、本実施例における発光部位置の更新を模式的に示す図である。図８において、設置台２０２に設置された測定対象物２０４、及び発光部３０２、３０３、３０４を上から見た断面図が示されている。発光部３０２、３０３、３０４の位置は図中点線の位置から実線の位置に更新される。
【００６６】
図８では、発光部３０２、３０３、３０４の位置をＸ方向に同一の量だけ変更する例を示しているが、発光部位置の更新は全ての発光部の位置を一律の量、方向に変更することに限定されず、異なる方向、異なる量で発光部位置の変更を行うこともできる。発光部位置の変更量、方向の決定方法としては、ランダムに決定してもよく、または規則的に決定してもよい。例えば、発光部の位置が取り得る範囲を予め定めておいた上で、ステップＳ７０７の実行毎に変更量と方向に対応する乱数を発生させ上記範囲内で位置を変更してもよい。または、上記範囲内を一定の間隔で規則的に位置を更新していく方法であってもよい。あるいは、過去に行われた複数の発光部の位置の変更量、方向と、その発光部位置を用いて算出した法線マップに対する評価値から評価値が良くなる変更量、方向を予測することで変更量、方向を決定してもよい。ステップＳ７０７の後、処理はステップＳ７０４へ遷移し、更新後の発光部位置を用いて光源方向の算出を行う。そして、発光部位置の更新が必要でないと判定されるまでステップＳ７０４〜Ｓ７０７の処理が繰り返される。
【００６７】
次に、ステップＳ７０８において出力部６０８は、ステップＳ７０５で照度差ステレオ法によって算出された法線マップ（または詳細形状）を表示制御部４０７や外部メモリ制御部４０９へ出力する。法線マップ（または詳細形状）は、表示制御部４０７の制御によって表示部３０６で表示されたり、外部メモリ制御部４０９の制御によって外部メモリ４１０に記録されたりする。以上で、画像処理部４１１の動作手順の説明を終了する。
【００６８】
＜＜評価部の動作＞＞
以下では、ステップＳ７０６における評価部６０６の動作の詳細を説明する。評価部６０６は、ステップＳ７０５で照度差ステレオ法によって算出された法線マップに基づいて測定対象物の概略形状を算出する。そして、算出された測定対象物の概略形状と、ステップＳ７０２で予め取得された測定対象物の正解概略形状との類似度を表す評価値を算出する。さらに、この評価値が予め設定した評価基準を満たすか否かに基づいて、発光部位置の更新の必要性を判定する。
【００６９】
以下では、法線マップに基づいて算出された測定対象物の概略形状と正解概略形状との類似度を表す評価値を算出する際には、形状情報としてデプスマップを用いる例を説明する。ここで、デプスマップとは、各画素の画素値として、撮像部３０１から測定対象物上の領域までの距離に比例した値を保持する画像である。尚、評価値はデプスマップから算出する方法に限らず、頂点と面から成るポリゴンデータの形式から評価値を算出し、発光部位置の更新の必要性を判定してもよい。
【００７０】
図９は、評価部６０６の詳細な内部構成を示すブロック図である。デプスマップ算出部９０１は、法線算出部６０５で照度差ステレオ法によって算出された法線マップに基づいて、撮像部３０１から見た測定対象物のデプスマップを算出する。
【００７１】
正解デプスマップ算出部９０２は、正解概略形状取得部６０２で取得された正解概略形状に基づいて、撮像部３０１から見た測定対象物の正解デプスマップを算出する。
【００７２】
評価値算出部９０３は、照度差ステレオ法によって算出されたデプスマップと正解デプスマップとの類似度を表す評価値を算出する。
【００７３】
判定部９０４は、評価値算出部９０３で算出された評価値を予め設定された評価基準を満たすか否かに基づいて発光部位置の更新の必要性を判定する。評価値が評価基準を満たさない場合に、発光部位置の更新が必要であると判定し、評価値が評価基準を満たす場合に、発光部位置の更新が必要でないと判定する。そして、発光部位置の更新が必要であると判定された場合は発光部位置更新部６０７による発光部の位置の更新処理を行う。一方、発光部位置の更新が必要でないと判定された場合は法線マップの算出処理を終了し、法線マップの、出力部６０８による表示や外部メモリへの出力を行う。
【００７４】
図１０は、上記構成から成る評価部６０６の処理フローを示すフローチャートである。ステップＳ１００１においてデプスマップ算出部９０１は、法線算出部６０５で照度差ステレオ法によって算出された測定対象物の法線マップを積分することで、撮像部３０１から見た測定対象物のデプスマップを得る。このとき、測定対象物の法線マップは撮像画像の画素毎に法線を有するため、そのまま積分すると高解像度なデプスマップが得られる。そのため、本ステップでは、法線マップを積分して得たデプスマップに対し、例えばガウシアンフィルタなどのフィルタによって平滑化処理をさらに行うことで、概略形状の解像度に合わせたデプスマップを算出する。尚、概略形状の解像度に合わせたデプスマップを算出する方法は上記の方法に限定されず、例えば、本ステップでは測定対象物の法線マップを平滑化した後に積分を行うものとしてもよい。
【００７５】
ステップＳ１００２において正解デプスマップ算出部９０２は、撮像時の撮像部３０１と測定対象物２０４の相対位置関係を再現するよう仮想カメラと正解概略形状を仮想空間上に配置した場合のデプスマップを、正解デプスマップとして算出する。具体的に、撮像部３０１と測定対象物２０４の相対位置関係は、ステップＳ７０３で求めたチャート２０３に対する撮像部３０１の相対位置Ｐchart,camと、チャート２０３に対する測定対象物２０４の相対位置Ｐchart,obj（ｕ，ｖ）とから算出する。尚、本ステップで算出された正解デプスマップと、ステップＳ１００１で算出されたデプスマップとは、解像度、サイズが等しく、座標が同じ画素のデプスは測定対象物上の同一の領域に対するデプスを表すものとする。
【００７６】
ステップＳ１００３において評価値算出部９０３は、照度差ステレオ法によって得られた法線マップに基づいて算出されたデプスマップと正解デプスマップとの間の類似度を表す評価値を算出する。本実施例では、評価値として下記の式（９）によりＰＳＮＲ（Ｐｅａｋ  Ｓｉｇｎａｌ  ｔｏ  Ｎｏｉｓｅ  Ｒａｔｉｏ）値が算出される。
【００７７】
【数９】
2018009927.tif 000012
【００７８】
このＰＳＮＲ値が高いほど照度差ステレオ法によって得られたデプスマップと正解デプスマップの類似度が高いことを表す。尚、評価値はＰＳＮＲ値に限定されず、照度差ステレオ法によって得られたデプスマップと正解デプスマップとの類似度を表す値であればよい。例えば、類似度が高いほど評価値が低くなるものとしてもよい。
【００７９】
続いて、ステップＳ１００４において判定部９０４は、ステップＳ１００３で算出された評価値を予め設定された基準値ＴＲと比較することで、発光部位置の更新が必要か否か判定を行う。具体的には、基準値ＴＲを予め設定しておき、式（９）で算出されたＰＳＮＲ値が基準値ＴＲ以下である場合は、類似度が低いため発光部位置の更新が必要であると判定し、処理はステップＳ７０７へ遷移する。一方、ＰＳＮＲ値が基準値ＴＲより大きい場合は、類似度が高いため発光部位置の更新が必要でないと判定し、処理はステップＳ７０８へ遷移する。
【００８０】
上述のように本実施例では、測定対象物の正解概略形状を予め取得し、照度差ステレオ法によって測定された法線から算出された概略形状と正解概略形状の類似度が高くなるまで照度差ステレオ法に用いる発光部位置の更新を繰り返し行う。これによって、発光部と測定対象物の位置関係を精度よく測定することができない場合でも法線を高精度に測定することが可能となる。
【００８１】
尚、本実施例では、画像処理部４１１が撮像装置２０１に含まれるものとして説明したが、これに限定されず、画像処理部４１１は撮像装置２０１と通信可能な他の装置に含まれてもよい。または、画像処理部４１１は、撮像装置２０１と通信可能な画像処理装置として構成されてもよい。
【００８２】
［実施例２］
実施例１では、発光部位置の更新処理として発光部の位置をランダム、または規則的に更新する方法を説明した。本実施例では、照度差ステレオ法によって測定された法線から算出されたデプスマップと正解概略形状から得られたデプスマップとの差の分布に応じて発光部位置を更新する方法を説明する。
【００８３】
本実施例における評価値算出部と発光部位置更新部の動作は、実施例１で説明した評価部６０６内の評価値算出部９０３及び発光部位置更新部６０７の動作と異なる。以下では実施例２における評価値算出部と発光部位置更新部の動作について詳細に説明する。尚、本実施例の説明において、実施例１と同様の部分については、その説明を省略あるいは簡略化する。
【００８４】
図１１に本実施例における画像処理部の内部構成を表すブロック図を示す。本実施例における評価部１１０１は法線算出部６０５が算出した測定対象物の法線マップから概略形状を求め、正解概略形状取得部６０２が取得した正解概略形状との類似度を表す評価値を算出する。算出された評価値に基づいて、法線の算出に用いる発光部位置の更新の必要性を判定する。さらに、評価部１１０１は測定対象物の法線マップから求めた概略形状と正解概略形状との間の差分を算出して、発光部位置更新部１１０２に渡す。発光部位置更新部１１０２は、法線の算出に用いる発光部位置の更新が必要であると判定された場合に、評価部１１０１で算出された形状の差分に基づいて、発光部３０２〜３０４の位置を更新する。
【００８５】
図１２は、本実施例における画像処理部の処理フローを示すフローチャートである。図１２においては、実施例１の画像処理部の処理フローを示す図７から、ステップＳ７０６とステップＳ７０７が、ステップＳ１２０１とステップＳ１２０２に変更している。以下では、ステップＳ１２０１及びステップＳ１２０２を説明する。
【００８６】
ステップＳ１２０１において評価部１１０１は、ステップＳ７０５で算出された法線から求められた概略形状と正解概略形状とから、評価値と形状の差分とを算出する（）。そして、評価値が予め設定された評価基準を満たすか否かを判定し、評価値が基準を満たさない場合は、発光部位置の更新が必要であると判定し、処理はステップＳ１２０２に移行する。評価値が基準を満たす場合は、発光部位置の更新が必要でないと判定し、処理はステップＳ７０８に移行する。
【００８７】
図１３は、本実施例における評価部１１０１の詳細な内部構成を示す図である。評価部１１０１の内部構成のうち、実施例１と動作が異なる評価値算出部１３０１について説明する。評価値算出部１３０１は、法線マップから算出されたデプスマップと正解概略形状から算出された正解デプスマップとから、２つのデプスマップの類似度を表す評価値を算出すると共に、２つのデプスマップの差分を算出する。そして、算出された評価値を判定部９０４へ、デプスマップの差分を発光部位置更新部１１０２へそれぞれ渡す。ここで、デプスマップの類似度を表す評価値の算出方法は実施例１と同様のため説明を省略する。デプスマップの差分は、２つのデプスマップにおける同じ座標の画素のデプスについて差分を算出する処理を、全画素について行うことで算出される。尚、単に差分を算出してもよいし、差分の絶対値を算出してもよい。
【００８８】
ステップＳ１２０２において発光部位置更新部１１０２は、発光部位置の更新が必要であると判定された場合に、デプスマップの差分に基づいて、法線の算出に用いる発光部３０２〜３０４の位置を更新する。
【００８９】
ここで、発光部位置とデプスマップの差分の分布との関係について説明する。仮に照度差ステレオ法によって誤差のない正確な法線マップを測定することができていたら、全ての座標においてデプスの差分は０となるはずである。しかし、撮像画像のノイズによる輝度値の変動や、発光部位置が正しく取得できていないことによる光源方向の誤差から、測定された法線には誤差が生じる。その結果、法線から算出された概略形状と正解概略形状との差分が生じる。ここで、撮像画像のノイズは一般的に輝度値がランダムに変動するため、その影響による法線の誤差もランダムに生じる。すなわち、撮像画像のノイズに起因したデプスマップの差分は偏りなくランダムに生じる。一方、法線の算出に用いる光源方向の誤差の場合、光源方向の誤差が生じている方向に応じて法線に誤差が生じる。そのため、デプスマップの差分にも光源方向の誤差の方向に応じた分布が生じる。
【００９０】
例えば、法線の算出に用いる各発光部位置が真の位置に対しＸ方向に誤差が生じている場合、法線から算出されたデプスマップと正解デプスマップとの間はＸ方向の変動量が大きいが、Ｙ方向の変動はほとんど生じない。このとき、各発光部位置の真の位置に対するＸ方向の誤差が大きくなるほど、デプスマップ間のＸ方向の変動量も大きくなる。同様に、法線の算出に用いる各発光部位置が真の位置に対しＹ方向に誤差が生じている場合、法線から算出されたデプスマップと正解デプスマップとの間はＹ方向の変動量が大きいが、Ｘ方向の変動はほとんど生じない。また、各発光部位置の真の位置に対するＹ方向の誤差が大きくなるほど、デプスマップ間のＹ方向の変動量も大きくなる。法線の算出に用いる各発光部位置が真の位置に対しＺ方向に誤差が生じている場合、法線から算出されたデプスマップと正解デプスマップとの間はＸ方向、Ｙ方向のどちらの方向にも変動がほとんど生じない。そのため、デプスマップ間の変動量が大きい方向を見ることによって、法線の算出に用いる各発光部の位置をどちらの方向に更新するべきかを決定することができる。
【００９１】
本実施例では、デプスマップの差分の分布についてＸ方向の統計量及びＹ方向の統計量をＸ方向の変動量Ｖｘ及びＹ方向の変動量Ｖｙとして算出する。算出されたＸ方向の統計量とＹ方向の統計量を比較することで、法線の算出に用いる各発光部の位置をどちらの方向に沿って更新するべきかを決定する。尚、統計量として、例えば分散を用いることができる。具体的には、デプスマップの差分の分布をｄ（ｎ，ｍ）として、Ｘ方向の変動量Ｖｘは、下記の式（１０）のように算出することができる。
【００９２】
【数１０】
2018009927.tif 000013
【００９３】
同様に、Ｙ方向の変動量Ｖｙは下記の式（１１）のように算出することができる。
【００９４】
【数１１】
2018009927.tif 000014
【００９５】
そして、上記の変動量Ｖｘと変動量Ｖｙの大きさを比較することで各発光部をＸ、Ｙ、Ｚのどの軸に沿って更新するかを決定することができる。具体的には、Ｘ方向の変動量ＶｘとＹ方向の変動量Ｖｙが略等しい（差が所定値以下である）場合には各発光部をＺ軸に沿って更新する（各発光部の位置情報のＺ成分を更新する）。差が所定値を超える場合は、Ｘ方向の変動量ＶｘがＹ方向の変動量Ｖｙよりも大きい場合に各発光部をＸ軸に沿って更新する（各発光部の位置情報のＸ成分を更新する）。一方、Ｙ方向の変動量ＶｙがＸ方向の変動量Ｖｘよりも大きい場合に各発光部をＹ軸に沿って更新する（各発光部の位置情報のＹ成分を更新する）。尚、変動量Ｖｘと変動量Ｖｙの大きさを比較する際に、変動量ＶｘとＶｙの比を用いてもよい。具体的に、変動量ＶｘとＶｙの比が予め決められた範囲内である場合に、両者が略等しいと判定し、各発光部をＺ軸に沿って更新する。算出された比が上記範囲の最大値よりも大きい場合、Ｘ方向の変動量Ｖｘが大きいと判定し、各発光部をＸ軸に沿って更新する。算出された比が上記範囲の最小値よりも小さい場合、Ｙ方向の変動量Ｖｙが大きいと判定し、各発光部をＹ軸に沿って更新する。
【００９６】
また、上記の方法で各発光部位置をＸ、Ｙ、Ｚのどの軸に沿って更新するか決定した後に、各軸のプラスの方向か、マイナスの方向に更新するかを以下の方法により決定することができる。すなわち、各軸のプラス、マイナスの両方向に同一の量だけ更新した発光部位置に対する法線マップをそれぞれ算出する。算出された各法線マップについて変動量Ｖｘ、ＶｙまたはＰＳＮＲ値を再度算出する。再度算出された変動量Ｖｘ、Ｖｙの値が小さくなる方向、または再度算出されたＰＳＮＲ値が大きくなる方向として決定する。
【００９７】
尚、上記では式（１０）及び式（１１）のようにデプスマップの差分の分布ｄ（ｎ，ｍ）についてＸ方向の分散及びＹ方向の分散を算出し、変動量Ｖｘ及びＶｙとして用いる例を示したが、変動を表す指標としてはこれに限らず、他の指標を用いてもよい。
【００９８】
また、上記では各発光部を更新する方向を決定する方法を説明したが、変動量ＶｘおよびＶｙから、各発光部位置の更新量を決定してもよい。例えば、予め設定された係数αを用いて各発光部の更新量Ｃは下記の式（１２）ように決定することができる。ここで、ｍａｘ（Ｖｘ，Ｖｙ）はＶｘ、Ｖｙのうちの大きい方の値を返すものとする。
【００９９】
【数１２】
2018009927.tif 000015
【０１００】
上述のように本実施例では、照度差ステレオ法によって測定された法線から算出されたデプスマップと正解概略形状から得たデプスマップとの差分の分布に応じて発光部位置を更新する際の方向や量を決定する。すなわち、法線から算出されたデプスマップと正解概略形状から算出されたデプスマップとの類似度が高くなるよう発光部位置を更新する際の方向や量を決定する。これによって、高精度な法線を得るまでに必要な算出量を削減することが可能となる。
【０１０１】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１０２】
６０４  光源方向算出部
６０５  法線算出部
６０６  評価部
６０７  発光部位置更新部
【図１】
2018009927.tif 000016
【図２】
2018009927.tif 000017
【図３】
2018009927.tif 000018
【図４】
2018009927.tif 000019
【図５】
2018009927.tif 000020
【図６】
2018009927.tif 000021
【図７】
2018009927.tif 000022
【図８】
2018009927.tif 000023
【図９】
2018009927.tif 000024
【図１０】
2018009927.tif 000025
【図１１】
2018009927.tif 000026
【図１２】
2018009927.tif 000027
【図１３】
2018009927.tif 000028