(57)【要約】【課題】物体の表面に影が掛かっている環境下において法線ベクトルを高精度で抽出できる法線ベクトル抽出装置を提供する。【解決手段】フォトメトリックステレオ法における法線ベクトルを抽出する法線ベクトル抽出装置１０であって、画素によっては影が掛からなくなる位置に配置された４つ以上の光源を利用して光源ごとに撮影された被写体の複数の第１の画像から該第１の画像から所定数の画像を除いた一部の画像を選ぶ第１の組み合わせごとに、一部の画像から３つ以上の第２の画像を選ぶ第２の組み合わせに基づいて算出された複数の法線ベクトルの中から、第１の分散が第２の分散より小さな法線ベクトルを抽出する法線ベクトル抽出部１７を有する法線ベクトル抽出装置１０である。【選択図】図１
2015118023.tif 000002
【特許請求の範囲】
【請求項１】
フォトメトリックステレオ法における法線ベクトルを抽出する法線ベクトル抽出装置であって、
画素によっては影が掛からなくなる位置に配置された４つ以上の光源を利用して光源ごとに撮影された被写体の複数の第１の画像から該第１の画像から所定数の画像を除いた一部の画像を選ぶ第１の組み合わせごとに、前記一部の画像から３つ以上の第２の画像を選ぶ第２の組み合わせに基づいて算出された複数の前記法線ベクトルの中から、第１の分散が第２の分散より小さな前記法線ベクトルを抽出する抽出手段
を有する法線ベクトル抽出装置。
【請求項２】
前記所定数は、固定値であることを特徴とする請求項１に記載の法線ベクトル抽出装置。
【請求項３】
前記法線ベクトルを抽出する対象の画素の輝度値が、前記輝度値の高低を判定する第１閾値以下となる第１の画像の数を計数する計数手段を有し、
前記所定数は、前記計数手段によって計数された計数値であることを特徴とする請求項１又は２に記載の法線ベクトル抽出装置。
【請求項４】
前記抽出手段は、前記第１の分散及び前記第２の分散が分散の大小を判定する第２閾値以下である場合、前記法線ベクトルのすべてを抽出することを特徴とする請求項１から３のいずれか１項に記載の法線ベクトル抽出装置。
【請求項５】
前記所定数として複数の固定値を選択的に設定する設定手段を有することを特徴とする請求項１から４のいずれか１項に記載の法線ベクトル抽出装置。
【請求項６】
前記抽出手段は、前記固定値のそれぞれが利用されて、それぞれの固定値において第１の分散が最小の法線ベクトルが抽出された場合、第１の固定値より小さな第２の固定値が利用されて抽出された法線ベクトルほど優先して抽出することを特徴とする請求項５に記載の法線ベクトル抽出装置。
【請求項７】
前記抽出手段は、前記固定値が大きいほど、抽出を妨げる重みを前記法線ベクトルに付与することを特徴とする請求項６に記載の法線ベクトル抽出装置。
【請求項８】
前記抽出手段は、前記固定値のそれぞれが利用されて、それぞれの固定値において第１の分散が最小の第１の法線ベクトルと前記第１の法線ベクトルの次に分散が小さな第２の法線ベクトルを抽出し、前記第１の法線ベクトルと前記第２の法線ベクトルとの差を前記固定値毎に算出した場合に、前記差が最も大きくなる固定値の前記第１の法線ベクトルを抽出することを特徴とする請求項５に記載の法線ベクトル抽出装置。
【請求項９】
フォトメトリックステレオ法における法線ベクトルをコンピュータが抽出する法線ベクトル抽出方法であって、
前記コンピュータが、
画素によっては影が掛からなくなる位置に配置された４つ以上の光源を利用して光源ごとに撮影された被写体の複数の第１の画像から該第１の画像から所定数の画像を除いた一部の画像を選ぶ第１の組み合わせごとに、前記一部の画像から３つ以上の第２の画像を選ぶ第２の組み合わせに基づいて算出された複数の前記法線ベクトルの中から、第１の分散が第２の分散より小さな前記法線ベクトルを抽出する抽出ステップ
を実行する法線ベクトル抽出方法。
【請求項１０】
フォトメトリックステレオ法における法線ベクトルをコンピュータに抽出させる法線ベクトル抽出プログラムであって、
前記コンピュータに、
画素によっては影が掛からなくなる位置に配置された４つ以上の光源を利用して光源ごとに撮影された被写体の複数の第１の画像から該第１の画像から所定数の画像を除いた一部の画像を選ぶ第１の組み合わせごとに、前記一部の画像から３つ以上の第２の画像を選ぶ第２の組み合わせに基づいて算出された複数の前記法線ベクトルの中から、第１の分散が第２の分散より小さな前記法線ベクトルを抽出する抽出ステップ
を実行させるための法線ベクトル抽出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、法線ベクトル抽出装置、法線ベクトル抽出方法及び法線ベクトル抽出プログラムに関する。
【背景技術】
【０００２】
物体の表面形状を測定する手法としてフォトメトリックステレオ法（照度差ステレオ法）が知られている。フォトメトリックステレオ法では、まず、物体の表面がLambertian surface（均等拡散面）であると仮定して、３つ以上の光源を利用して光源毎に物体が撮影される。そして、撮影により得られた光源毎の画像基づいて各画素における物体表面の法線ベクトルを算出する処理が行われ、算出された法線ベクトルが積分されることにより物体の表面形状が求められる。
【０００３】
上述したフォトメトリックステレオ法において、例えば物体の表面に影が掛かっている環境下において、影の影響による測定精度低下を抑える技術が提案されている。例えば、４つ以上の光源を利用して撮影された物体の各画像からいずれか３つの画像の組み合わせに基づいて法線ベクトルを算出し、算出した法線ベクトルの分布を元に影の影響を受けていないであろう法線ベクトルを抽出する技術がある（例えば、非特許文献１参照）。また、画素の輝度値が閾値以下であれば、その画素が陰影領域であると推定する技術もある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２００９／１５７１２９号
【非特許文献】
【０００５】
【非特許文献１】肥後智昭、外２名、「センサフュージョンによる効率的な３次元モデルの推定と表現」、映像情報メディア学会誌、映像情報メディア学会、２０１０年１月、第６４巻、第１号、ｐ．１１２−１１９
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、処理対象となる画素が物体の傾斜面（例えば急斜面）に相当する場合、その画素は暗くなる場合がある。画素が暗くなると、当該画素はノイズの影響を受けやすくなる。物体の表面に影が掛かっている環境下において、ノイズの影響を受けた画素に対して法線ベクトルの分布を元に影の影響を受けていないであろう法線ベクトルを抽出すると、法線ベクトルの抽出精度が低下するという問題点がある。ノイズの影響で、影の影響を受けていないであろう法線ベクトルを判断することが難しくなるからである。
【０００７】
そこで、１つの側面では、本件は、物体の表面に影が掛かっている環境下において法線ベクトルを高精度で抽出できる法線ベクトル抽出装置、法線ベクトル抽出方法及び法線ベクトル抽出プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本明細書に開示の法線ベクトル抽出装置は、フォトメトリックステレオ法における法線ベクトルを抽出する法線ベクトル抽出装置であって、画素によっては影が掛からなくなる位置に配置された４つ以上の光源を利用して光源ごとに撮影された被写体の複数の第１の画像から該第１の画像から所定数の画像を除いた一部の画像を選ぶ第１の組み合わせごとに、前記一部の画像から３つ以上の第２の画像を選ぶ第２の組み合わせに基づいて算出された複数の前記法線ベクトルの中から、第１の分散が第２の分散より小さな前記法線ベクトルを抽出する抽出手段を有する法線ベクトル抽出装置である。
【０００９】
本明細書に開示の法線ベクトル抽出方法は、フォトメトリックステレオ法における法線ベクトルをコンピュータが抽出する法線ベクトル抽出方法であって、前記コンピュータが、画素によっては影が掛からなくなる位置に配置された４つ以上の光源を利用して光源ごとに撮影された被写体の複数の第１の画像から該第１の画像から所定数の画像を除いた一部の画像を選ぶ第１の組み合わせごとに、前記一部の画像から３つ以上の第２の画像を選ぶ第２の組み合わせに基づいて算出された複数の前記法線ベクトルの中から、第１の分散が第２の分散より小さな前記法線ベクトルを抽出する抽出ステップを実行する法線ベクトル抽出方法である。
【００１０】
本明細書に開示の法線ベクトル抽出プログラムは、フォトメトリックステレオ法における法線ベクトルをコンピュータに抽出させる法線ベクトル抽出プログラムであって、前記コンピュータに、画素によっては影が掛からなくなる位置に配置された４つ以上の光源を利用して光源ごとに撮影された被写体の複数の第１の画像から該第１の画像から所定数の画像を除いた一部の画像を選ぶ第１の組み合わせごとに、前記一部の画像から３つ以上の第２の画像を選ぶ第２の組み合わせに基づいて算出された複数の前記法線ベクトルの中から、第１の分散が第２の分散より小さな前記法線ベクトルを抽出する抽出ステップを実行させるための法線ベクトル抽出プログラムである。
【発明の効果】
【００１１】
本明細書に開示の法線ベクトル抽出装置、法線ベクトル抽出方法及び法線ベクトル抽出プログラムによれば、物体の表面に影が掛かっている環境下において法線ベクトルを高精度で抽出することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、法線ベクトル抽出装置のブロック図の一例である。
【図２】図２は、法線ベクトル抽出装置のハードウェア構成の一例を示すブロック図である。
【図３】図３は、法線ベクトル抽出装置の動作の一例を示すフローチャートである。
【図４】図４は、撮影環境の一例を説明するための模式図である。
【図５】図５は、光源毎に撮影された複数の画像の一例である。
【図６】図６は、サブセットの一例である。
【図７】図７は、実施例を説明するための図である。
【図８】図８は、比較例を説明するための図である。
【図９】図９は、法線ベクトル抽出装置のブロック図の他の一例である。
【図１０】図１０は、法線ベクトル抽出装置の動作の一部を例示するフローチャートである。
【図１１】図１１は、法線ベクトル抽出装置のブロック図の他の一例である。
【図１２】図１２は、法線ベクトル抽出装置の動作の一部を例示するフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本件を実施するための形態について図面を参照して説明する。
【００１４】
（第１実施形態）
図１は、法線ベクトル抽出装置１０のブロック図の一例である。
法線ベクトル抽出装置１０は、画像取得部１１、法線ベクトル算出部１２、法線ベクトル記憶部１３、サブセット算出部１４、サブセット記憶部１５、分散評価部１６及び法線ベクトル抽出部１７を含んでいる。法線ベクトル抽出装置１０は、例えば被写体の表面形状を測定する測定装置に含まれる。
【００１５】
画像取得部１１は、画像を取得する。画像取得部１１は例えば法線ベクトル抽出装置１０の外部に設けられた画像記憶装置から画像を取得する。画像記憶装置には、画素によっては影が掛からなくなる位置に配置された４つ以上の光源を利用して撮影装置によって光源ごとに撮影された被写体の画像が記憶されている。尚、画像記憶装置は撮影装置に含まれていてもよい。
【００１６】
法線ベクトル算出部１２は、法線ベクトルを算出する。より詳しくは、法線ベクトル算出部１２は、画像取得部１１に取得された光源毎の画像を利用して法線ベクトル（又は法線ベクトル群）を算出する。例えば、４つ以上のｋ個（例えば８個）の画像からｍ個（例えば３個）の画像を利用して法線ベクトルを算出する場合、ｋＣｍ通りの法線ベクトル（例えば５６個）が算出される。法線ベクトル算出部１２は、算出した法線ベクトルを法線ベクトル記憶部１３に保存する。
【００１７】
サブセット算出部１４は、画像取得部１１に取得された光源毎の画像から所定数の画像を除き、一部の画像の集合を表すサブセットを画像の組み合わせごとに算出する。画像の除き方に応じて、複数のサブセットが算出される。例えば、ｋ個（例えば８個）の画像からｎ個（例えば１個）の画像を除く場合、１つ目の画像を除いて算出されるサブセットもあれば、２つ目の画像を除いて算出されるサブセットもある。すなわち、ｋ個の画像からｋ−ｎ個の画像の組み合わせを選ぶｋＣｋ−ｎ通りのサブセット（例えば８個）が算出される。サブセット算出部１４は、算出した複数のサブセットをサブセット記憶部１５に保存する。尚、ｎは固定しでもよいし、後述するように処理対象の画素に応じて変動してもよい。
【００１８】
分散評価部１６は、法線ベクトルの分散を評価する。より詳しくは、分散評価部１６は、法線ベクトル記憶部１３に記憶された法線ベクトルを取得する。分散評価部１６はサブセット記憶部１５に記憶された複数のサブセットを取得する。分散評価部１６は、取得した複数の法線ベクトルに対しデータ分類処理（例えばデータクラスタリング）を実行し、分類された法線ベクトルの分散を評価する。分散評価部１６は、評価した結果、分散が小さくなければ法線ベクトルの分散をサブセット毎に評価する。例えば、サブセットを構成するｋ−ｎ個の画像からｍ個の画像を組み合わせ毎に利用して法線ベクトル（群）を算出し、算出した法線ベクトルに対しデータ分類処理を実行することにより、法線ベクトルの分散が評価される。７個の画像から３個の画像を利用して法線ベクトルを算出する場合、７Ｃ３通りの法線ベクトル、すなわち３５個の法線ベクトルが算出され、３５個の法線ベクトルの分散が評価される。評価の結果、分散がさまざまな大きさとなる複数の法線ベクトルに生成される。例えば、大きな分散となる法線ベクトル（群）や小さな分散となる法線ベクトル（群）が生成される。
【００１９】
法線ベクトル抽出部１７は、法線ベクトルを抽出する。より詳しくは、分散評価部１６によって生成されたサブセットごとの法線ベクトルのうち、分散がより小さな分散となる法線ベクトルを抽出する。例えば、最小の分散となった法線ベクトルが抽出されてもよいし、最小の分散となった法線ベクトルと次に最小の分散となった法線ベクトルが抽出されてもよい。法線ベクトル抽出部１７は、抽出した法線ベクトルを法線ベクトル記憶装置に保存する。法線ベクトル記憶装置に記憶された法線ベクトルが、被写体の表面形状を測定する際に利用される。尚、分散評価部１６による評価の結果、画像を除く前に分類された法線ベクトルの分散が小さければ、法線ベクトル抽出部１７は、その小さな分散の法線ベクトルを抽出する。
【００２０】
次に、図２を参照して法線ベクトル抽出装置１０のハードウェア構成について説明する。
【００２１】
図２は、法線ベクトル抽出装置１０のハードウェア構成の一例を示すブロック図である。法線ベクトル抽出装置１０は、例えばサーバ装置、携帯情報端末（例えば携帯電話機、スマートフォン、タブレット端末など）、端末装置（例えばPersonal Computer）で実現される。
【００２２】
法線ベクトル抽出装置１０は、少なくともCentral Processing Unit（ＣＰＵ）１０ａ、Random Access Memory（ＲＡＭ）１０ｂ、Read Only Memory（ＲＯＭ）１０ｃ及び通信Interface（Ｉ／Ｆ：インタフェース）１０ｄを含んでいる。法線ベクトル抽出装置１０は、必要に応じて、Hard Disk Drive（ＨＤＤ）１０ｅ、入力Ｉ／Ｆ１０ｆ、出力Ｉ／Ｆ１０ｇ、入出力Ｉ／Ｆ１０ｈ、ドライブ装置１０ｉの少なくとも１つを含んでいてもよい。これらの各機器１０ａ〜１０ｉは、内部バス１０ｊによって互いに接続されている。少なくともＣＰＵ１０ａとＲＡＭ１０ｂとが協働することによってコンピュータが実現される。
【００２３】
通信Ｉ／Ｆ１０ｄは、例えばポートとPhysical Layer Chip（ＰＨＹチップ）とを備えている。法線ベクトル抽出装置１０は、通信Ｉ／Ｆ１０ｄを介してネットワークＮＷと接続される。
【００２４】
入力Ｉ／Ｆ１０ｆには、入力装置２１が接続される。入力装置２１としては、例えばキーボードやマウスなどがある。
出力Ｉ／Ｆ１０ｇには、表示装置２２が接続される。表示装置２２としては、例えば液晶ディスプレイがある。
入出力Ｉ／Ｆ１０ｈには、半導体メモリ２３が接続される。半導体メモリ２３としては、例えばUniversal Serial Bus（ＵＳＢ）メモリやフラッシュメモリなどがある。入出力Ｉ／Ｆ１０ｈは、半導体メモリ２３に記憶されたプログラムやデータを読み取る。
入力Ｉ／Ｆ１０ｆ及び入出力Ｉ／Ｆ１０ｈは、例えばＵＳＢポートを備えている。出力Ｉ／Ｆ１０ｇは、例えばディスプレイポートを備えている。
【００２５】
ドライブ装置１０ｉには、可搬型記録媒体２４が挿入される。可搬型記録媒体２４としては、例えばCompact Disc Read Only Memory（ＣＤ−ＲＯＭ）、Digital Versatile Disc（ＤＶＤ）、Blu-ray（登録商標） Disc（ＢＤ）といったリムーバブルディスクがある。搬送波は可搬型記録媒体２４から除かれる。ドライブ装置１０ｉは、可搬型記録媒体２４に記録されたプログラムやデータを読み込む。
【００２６】
上述したＲＡＭ１０ｂは、ＲＯＭ１０ｃやＨＤＤ１０ｅに記憶されたプログラムを読み込む。ＲＡＭ１０ｂは、可搬型記録媒体２４に記録されたプログラムを読み込む。読み込まれたプログラムをＣＰＵ１０ａが実行することにより、上述した各種の機能が実現される。また、読み込まれたプログラムをＣＰＵ１０ａが実行することにより、後述する各種のステップが実行される。尚、プログラムは後述するフローチャートに応じたものとすればよい。
【００２７】
次に、図３から図６を参照して、法線ベクトル抽出装置１０の動作について説明する。
【００２８】
図３は、法線ベクトル抽出装置１０の動作の一例を示すフローチャートである。図４は、撮影環境の一例を説明するための模式図である。図５は、光源毎に撮影された複数の画像の一例である。図６は、サブセットの一例である。尚、本実施形態における撮影環境は、コンピュータ上で仮想的に用意された撮影環境である。
【００２９】
図３に示すように、まず、画像取得部１１は画像記憶装置から画像を取得する（ステップＳ１０１）。上述したように、画像記憶装置には撮影装置によって撮影された被写体を含む撮影領域の画像が記憶されている。より詳しくは、図４に示すように、撮影装置２０は、被写体Ａと被写体Ａより大きな被写体Ｂと被写体Ａより小さな被写体Ｃとを撮影領域に収めて撮影する。撮影装置２０の周囲には、所定の間隔（例えば等間隔）で複数の光源Ｌ１，Ｌ２，・・・，Ｌ８が配置されている。光源Ｌ４は点灯しており、光源Ｌ４を除く残りの光源は消灯している。撮影装置２０は、点灯している光源Ｌ４を利用して被写体Ａ，Ｂ，Ｃを含む撮影領域内を撮影する。ここで、被写体Ａ，Ｂ，Ｃの近くには遮蔽物Ｏが存在するため、被写体Ａ，Ｂ，Ｃには光源Ｌ４と遮蔽物Ｏとの位置関係に応じた影が掛かる。撮影装置２０は、被写体Ａ，Ｂ，Ｃに影が掛かった状態で撮影領域を撮影する。撮影が終了すると、次の光源（例えば光源Ｌ５）が点灯し残りの光源が消灯した状態で次の撮影が開始される。このような撮影を繰り返すことで、撮影装置２０は光源毎の８個の画像を取得し、これらの画像を画像記憶装置に保存する。本実施形態の場合、図５に示すように、いずれかの光源と遮蔽物Ｏとの位置関係に応じた影を含む被写体Ａ，Ｂ，Ｃの複数の画像（画像Ｎｏ．０〜画像Ｎｏ．７）が画像記憶装置に保存される。画像取得部１１は画像記憶装置からこれらの画像を取得する。
【００３０】
図３に戻り、法線ベクトル算出部１２は、最初の画素位置を後続の処理対象として指定し（ステップＳ１０２）、指定された画素位置の法線ベクトルを算出する（ステップＳ１０３）。例えば、画像取得部１１によって取得された画像が２５０画素×２５０画素である場合、法線ベクトル算出部１２は最初の画素位置（０，０）を指定し、この画素位置の法線ベクトルを算出する。１つの法線ベクトルは３個の画像を利用して算出される。８個の画像があるため、８個の画像から３個の画像を選ぶ組み合わせ８Ｃ３により法線ベクトルを求めると５６個の法線ベクトルが算出される。法線ベクトル算出部１２は、算出した法線ベクトルを法線ベクトル記憶部１３に保存する。
【００３１】
次いで、サブセット算出部１４は、複数のサブセットを算出する（ステップＳ１０４）。より詳しくは、サブセット算出部１４は、画像取得部１１によって取得された複数の画像から該複数の画像から所定数の画像を除いた画像を選ぶ組み合わせを算出する。上述したように、例えば８個の画像から１つの画像をいて７個の画像を算出し、８個の画像から７個の画像を選ぶ組み合わせ８Ｃ７を計算する。この結果、８個のサブセットが算出される。具体的には、図６に示すように、画像Ｎｏ．１〜Ｎｏ．７を構成要素とするサブセット、・・・、画像Ｎｏ．０〜Ｎｏ．６を構成要素とするサブセットが算出される。図６に示すように、各サブセットには、識別情報としてサブセットＩＤ「０」〜「７」が付与される。サブセット算出部１４は、算出した複数のサブセットをサブセット記憶部１５に保存する。
【００３２】
次いで、分散評価部１６は、法線ベクトルの分散を評価する（ステップＳ１０５）。具体的には、分散評価部１６は法線ベクトル記憶部１３に記憶された法線ベクトルを取得する。また、分散評価部１６はサブセット記憶部１５に記憶されたサブセットを取得する。分散評価部１６は、取得した複数の法線ベクトルに対しデータ分類処理を実行し、分類された法線ベクトルの分散を評価する。例えば、５６個の法線ベクトルに対しデータ分類処理を実行し、分類された法線ベクトルの５０％以上（好ましくは６０％以上）が特定の位置付近に集約されていれば、分散が小さいと評価される。一方、分散評価部１６は、評価した結果、５０％〜６０％以上の法線ベクトルの分散が小さくないと判断した場合、法線ベクトルの分散をサブセット毎に評価する。例えば、サブセットＩＤ「０」のサブセットを構成する７個の画像から３個の画像を選ぶ組み合わせ毎に法線ベクトル（群）を算出し、算出した法線ベクトルに対しデータ分類処理を実行することにより、法線ベクトルの分散が評価される。この結果、サブセットＩＤ「０」に対し３５個の法線ベクトルの分散が評価される。同様に、サブセットＩＤ「１」〜「７」に対しそれぞれ３５個の法線ベクトルの分散が評価される。評価の結果、大小さまざまな大きさを有する分散が得られる。
【００３３】
次いで、法線ベクトル抽出部１７は、分散が小さな法線ベクトルを抽出する（ステップＳ１０６）。具体的には、法線ベクトル抽出部１７は、分散の大きさがさまざまな複数の法線ベクトルの中から、分散がより小さな法線ベクトルを抽出する。例えばサブセットＩＤ「０」のサブセットを利用して３５個の法線ベクトルが算出された場合、画像の組み合わせ方によっては影の影響を受けて算出された法線ベクトルもあれば、影の影響を受ないで算出された法線ベクトルもある。双方の法線ベクトルを含む３５個の法線ベクトルの分散が大きくなれば、影の影響を受けて算出された法線ベクトルが含まれていると判断できる。逆に、法線ベクトルの分散が小さければ、影の影響を受けていない３５個の法線ベクトルが算出されたと判断できる。このため、法線ベクトル抽出部１７は、分散が小さな法線ベクトルを抽出することで、影の影響を受けていない法線ベクトルを抽出したと判断する。
【００３４】
次いで、法線ベクトル算出部１２は、全画素位置の処理が完了したか否かを判断する（ステップＳ１０７）。上述したように、例えば画素位置（０，０）に対して法線ベクトルが抽出されていた場合、画素位置（１，０）〜（２４９，２４９）に対して法線ベクトルが抽出されていないため、法線ベクトル算出部１２は、全画素位置の処理が完了していないと判断する（ステップＳ１０７：ＮＯ）。法線ベクトル算出部１２は、全画素位置の処理が完了していないと判断した場合、処理の対象の画素位置を次の画素位置に指定し（ステップＳ１０８）、ステップＳ１０３以降の処理を継続する。そして、法線ベクトル算出部１２は、全画素位置の処理が完了したと判断した場合（ステップＳ１０７：ＹＥＳ）、処理を終了する。この結果、画素位置（０，０）〜（２４９，２４９）についてそれぞれ３５個の法線ベクトルが抽出される。法線ベクトル抽出部１７は抽出した法線ベクトルを法線ベクトル記憶装置に保存する。
【００３５】
次に、図７及び図８を参照して、実施例を比較例と対比しながら説明する。
【００３６】
図７は、実施例を説明するための図である。図８は、比較例を説明するための図である。
図７では、画素位置（７７，８５）の法線ベクトルの分散が評価されている。例えば図７では、サブセットＩＤ「０」〜「７」の各分布表に、８個の画像に基づいて算出された５６個の点（データ）と８個の画像から１つの画像を除いた７個の画像に基づいて算出された３５個の点（データ）が法線ベクトルとしてプロットされている。尚、分布表は、法線ベクトルを、ｘｙｚ３成分（ｚ成分が鉛直方向）の単位ベクトルとして表現し、そのｘｙ成分に関して、横軸をｘ軸、縦軸をｙ軸としたｘｙ平面をｚ軸方向から眺めた分布表である。
【００３７】
各分布表に示された３５個の点を詳しくみると、サブセットＩＤ「２」を除くサブセットＩＤ「０」〜「７」の分布はサブセットＩＤ「２」の分布と比べて広がっており、大きな分散となっている。すなわち、サブセットＩＤ「２」以外における３５個の点の中で特定位置の付近にまとまらずに周囲に点在する点は、影とノイズの影響を強く受けて算出された法線ベクトルと判断できる。例えば、サブセットＩＤ「０」のサブセットに含まれる画像Ｎｏ．１〜Ｎｏ．３（図５及び図６参照）に基づいて画素位置（７７，８５）の法線ベクトルを算出する場合、画素位置（７７，８５）の画素は被写体Ｂの表面が傾斜面（例えば急斜面）であるため、当該画素は暗くなる傾向にある。このため、遮蔽物Ｏによる影とノイズの影響により点が周囲にプロットされる。
【００３８】
一方、サブセットＩＤ「２」のサブセットには画像Ｎｏ．２が含まれていない（図５及び図６参照）。このため、画素位置（７７，８５）の法線ベクトルを算出する場合、画像Ｎｏ．２を除く画像Ｎｏ．０〜画像Ｎｏ．７のいずれか３つの画像に基づいて３５個の法線ベクトルが算出される。画像Ｎｏ．２が除かれて３５個の法線ベクトルが算出されるため、図７におけるサブセットＩＤ「２」の分布表に示すように、画素位置（７７，８５）における３５個の法線ベクトルの分散はサブセットＩＤ「２」の分布と比べて小さくなる。すなわち、被写体Ｂに影がかかっていても、測定精度の低下を抑えた法線ベクトルの抽出が可能となる。
【００３９】
また、図８でも図７と同様に、画素位置（７７，８５）の法線ベクトルの分散が評価されている。例えば図８では、分布表に８個の画像に基づいて算出された５６個の点が法線ベクトルとしてプロットされている。このようにプロットされた法線ベクトルに対しデータ分類処理を実行して分散を調べると、影とノイズの影響を強く受けて算出された１５個の法線ベクトルは、図７と同様に周囲に点在するが、残り４１個の法線ベクトルの分散は実施例に比べると大きい。すなわち、法線ベクトルの抽出精度としては図７のサブセットＩＤ「２」ほど高くない。
【００４０】
以上説明したように、光源毎に撮影することによって得られた複数の画像の中から所定数の画像を除いた残りの画像を利用して法線ベクトルを算出し、算出した法線ベクトルの中から分散がより小さな法線ベクトルを抽出することで、被写体の表面に影が掛かっている環境下においても、法線ベクトルを高精度で抽出することができる。
【００４１】
尚、上述した実施形態では一例として複数の画像から１つの画像を除く例を説明したが、法線ベクトル抽出対象の画素が暗くなる画像が２個ある場合、複数の画像からその２個の画像を除くようにしてもよい。この場合、８Ｃ６、すなわち、２８個のサブサットが算出され、各々のサブセットについて法線ベクトルの分散が評価される。また、上述した実施形態では一例としてサブセットから３個の画像を利用して法線ベクトルを抽出する例を説明したが、４個の画像を利用して法線ベクトルを抽出するようにしてもよい。この場合、３個の場合と比べて法線ベクトルが一義的に定まらないため、最小二乗法を利用して法線ベクトルが抽出される。
【００４２】
（第２実施形態）
次に、図９を参照して、本件の第２実施形態について説明する。
【００４３】
図９は、法線ベクトル抽出装置１０のブロック図の他の一例である。尚、図１に示される法線ベクトル抽出装置１０の各部と同様の構成には同一符号を付し、その説明を省略する。図９に示すように、第２実施形態における法線ベクトル抽出装置１０は、画像数計数部１８をさらに含んでいる点で第１実施形態における法線ベクトル抽出装置１０と相違する。
【００４４】
画像数計数部１８は、画像数を計数する。より詳しくは、画像数計数部１８は法線ベクトルを抽出する対象の画素の輝度値が、輝度値の高低を判定する判定閾値以下となる画像の画像数を計数する。画像数計数部１８は、計数した画像数をサブセット算出部１４に出力する。サブセット算出部１４では、入力された画像数が第１実施形態で説明した所定数として利用される。
【００４５】
このように、第２実施形態によれば、法線ベクトルを抽出する対象の画素の輝度値が判定閾値以下であることにより、画素が暗いと判断される画像の数が計数される。このように判断された画像の数が、サブセット算出部１４において光源ごとの複数の画像から除かれる。例えば、画素によっては１個の画像が除かれ、画素によっては２個の画像が除かれ、画素によっては３個の画像が除かれる。このため、所定数を固定値として利用する第１実施形態と比べて、各画素の法線ベクトルが弾力的に精度良く抽出される。
【００４６】
（第３実施形態）
次に、図１０を参照して、本件の第３実施形態について説明する。
【００４７】
図１０は、法線ベクトル抽出装置１０の動作の一部を例示するフローチャートである。
図１０に示すように、第３実施形態における動作は、図３に示すフローチャートのステップＳ１０６に代えてステップＳ２０１〜Ｓ２０３の処理が実行される点で相違する。
【００４８】
まず、法線ベクトル抽出部１７は、ステップＳ１０５の処理が終了すると、全分散が分散の大小を判定する判定閾値以下であるか否かを判断する（ステップＳ２０１）。法線ベクトル抽出部１７は、全分散が判定閾値以下である場合（ステップＳ２０１：ＹＥＳ）、法線ベクトルのすべてを抽出する（ステップＳ２０２）。一方、法線ベクトル抽出部１７は、全分散が判定閾値以下でない場合（ステップＳ２０１：ＮＯ）、分散が最も小さな法線ベクトルを抽出する（ステップＳ２０３）。ステップＳ２０２又はステップＳ２０３の処理が終了すると、法線ベクトル算出部１２は、ステップＳ１０７の処理を実行する。
【００４９】
このように、第３実施形態では、ステップＳ１０５の処理によって評価された法線ベクトルの全分散が分散の大小を判定する判定閾値以下であれば、全分散が小さい分散であると判断され、法線ベクトルのすべてが抽出される。すなわち、どの画素であってもノイズの影響を受けていない法線ベクトルであり、この法線ベクトルのデータの数が増加するため、法線ベクトルの抽出精度が向上する。
【００５０】
尚、第３実施形態では、上述したように全分散と判定閾値との比較を利用したが、例えば、全分散を大きさ順に並び替え、隣接する分散の差の最大値が差の大小を判定する閾値と比べ、最大値が当該閾値以下である場合に、すべての法線ベクトルが抽出されるようにしてもよい。このような処理によっても、ノイズの影響を受けていない法線ベクトルのデータ数が増加し、測定精度が向上する。このように差に着目するのは、分布の差が生じる原因が、いわゆる画像のノイズに起因する、ランダムな要素を、影の影響で分布が広がるのと、二つの要因があり、ランダムな要素だけであれば、差がそれほど大きくはならない（影の影響にくらべて）からである。
【００５１】
（第４実施形態）
次に、図１１及び図１２を参照して、本件の第４実施形態について説明する。
【００５２】
図１１は、法線ベクトル抽出装置１０のブロック図の他の一例である。図１２は、法線ベクトル抽出装置１０の動作の一部を例示するフローチャートである。尚、図１に示される法線ベクトル抽出装置１０の各部と同様の構成には同一符号を付し、その説明を省略する。図１１に示すように、第４実施形態における法線ベクトル抽出装置１０は、固定値設定部１９をさらに含んでいる点で第１実施形態における法線ベクトル抽出装置１０と相違する。また、図１２に示すように、第４実施形態における動作は、図３に示すフローチャートのステップＳ１０６に代えてステップＳ３０１〜Ｓ３０３の処理が実行される点で相違する。
【００５３】
まず、図１１において、固定値設定部１９は固定値を設定する。より詳しくは、固定値設定部１９は所定数として複数の固定値を選択的に設定する。例えば固定値「１」，「２」，「３」などが選択的に設定される。サブセット算出部１４では、設定された固定値が第１実施形態で説明した所定数として利用される。
【００５４】
次に、図１２に示すように、法線ベクトル抽出部１７は、ステップＳ１０５の処理が終了すると、設定された固定値ごとに分散が最も小さな法線ベクトルを抽出する（ステップＳ３０１）。例えば、第１実施形態で説明したように所定数「１」が設定されていた場合には、ステップＳ１０５の処理が終了すると８個のサブセットの分散が評価されている。所定数「２」が設定されていた場合には、ステップＳ１０５の処理が終了すると２８個のサブセットの分散が評価されている。所定数「３」が設定されていた場合には、ステップＳ１０５の処理が終了すると５６個（８Ｃ５）のサブセットの分散が評価されている。法線ベクトル抽出部１７は、設定された固定値ごとに分散が最も小さな法線ベクトルを抽出する。
【００５５】
次いで、法線ベクトル抽出部１７は、固定値の大きさに応じて、法線ベクトルに重みを付与する（ステップＳ３０２）。当該重みは、固定値が大きいほど抽出を妨げる重みである。この結果、例えば固定値「３」に基づいて抽出された最小の分散の法線ベクトルは、固定値「１」に基づいて抽出された最小の分散の法線ベクトルより抽出されにくくなる。
【００５６】
次いで、法線ベクトル抽出部１７は、重みを付与された法線ベクトルから最も重みが少ない法線ベクトルを抽出する（ステップＳ３０３）。この結果、固定値「３」より小さな固定値「１」が利用されて抽出された法線ベクトルほど優先して抽出される。ステップＳ３０３の処理が終了すると、法線ベクトル算出部１２は、ステップＳ１０７の処理を実行する。
【００５７】
このように、第４実施形態では、固定値ごとに求められた分散が最小の法線ベクトルの中から小さな固定値に基づいて算出された最小の法線ベクトルが抽出される。例えば固定値「３」が利用されて法線ベクトルが算出された場合、１０個（８−３Ｃ３）の法線ベクトルしか抽出されない。一方、固定値「１」が利用されて法線ベクトルが算出された場合、３５個（８−１Ｃ３）の法線ベクトルが抽出される。このように、例え固定値「３」の法線ベクトルの分散が固定値「１」の法線ベクトルの分散より小さくても、重み付けにより法線ベクトルのデータ数が多い固定値「１」の法線ベクトルが抽出され、法線ベクトルの抽出精度が向上する。
【００５８】
法線ベクトル抽出部１７は、固定値のそれぞれが利用されて、それぞれの固定値において分散が最小の法線ベクトルと、この法線ベクトルの次に分散が小さな法線ベクトルを抽出し、最初の法線ベクトルと次の法線ベクトルとの差を固定値毎に算出した場合に、差が最も大きくなる固定値の最初の法線ベクトルを抽出するようにしてもよい。このような処理によっても同様の効果が得られる。
【００５９】
以上、本発明の好ましい実施形態について詳述したが、本発明に係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。例えば、２つの機能を１つの機能で実現してもよいし、１つの機能を２つ以上の機能に分散してもよい。また、上述したノイズには、例えば撮影装置２０に搭載される撮像素子の特性に依存する暗電流によるノイズ、電荷転送時のノイズ、標本化によるサンプリング位置のずれ（例えばジッタ）、量子化ノイズ、エイリアス歪み、デジタル処理における計算誤差などが含まれる。撮像素子としては、例えばCharge Coupled Device（ＣＣＤ）イメージセンサやComplementary Metal Oxide Semiconductor（ＣＭＯＳ）イメージセンサがある。
【００６０】
なお、以上の説明に関して更に以下の付記を開示する。
（付記１）フォトメトリックステレオ法における法線ベクトルをコンピュータが抽出する法線ベクトル抽出方法であって、前記コンピュータが、画素によっては影が掛からなくなる位置に配置された４つ以上の光源を利用して光源ごとに撮影された被写体の複数の第１の画像から該第１の画像から所定数の画像を除いた一部の画像を選ぶ第１の組み合わせごとに、前記一部の画像から３つ以上の第２の画像を選ぶ第２の組み合わせに基づいて算出された複数の前記法線ベクトルの中から、第１の分散が第２の分散より小さな前記法線ベクトルを抽出する抽出ステップを実行する法線ベクトル抽出方法。
（付記２）前記所定数は、固定値であることを特徴とする付記１に記載の法線ベクトル抽出方法。
（付記３）前記法線ベクトルを抽出する対象の画素の輝度値が、前記輝度値の高低を判定する第１閾値以下となる第１の画像の数を計数する計数ステップを有し、前記所定数は、前記計数ステップによって計数された計数値であることを特徴とする付記１又は２に記載の法線ベクトル抽出方法。
（付記４）前記抽出ステップは、前記第１の分散及び前記第２の分散が分散の大小を判定する第２閾値以下である場合、前記法線ベクトルのすべてを抽出することを特徴とする付記１から３のいずれか１項に記載の法線ベクトル抽出方法。
（付記５）前記所定数として複数の固定値を選択的に設定する設定ステップを有することを特徴とする付記１から４のいずれか１項に記載の法線ベクトル抽出方法。
（付記６）前記抽出ステップは、前記固定値のそれぞれが利用されて、それぞれの固定値において第１の分散が最小の法線ベクトルが抽出された場合、第１の固定値より小さな第２の固定値が利用されて抽出された法線ベクトルほど優先して抽出することを特徴とする付記５に記載の法線ベクトル抽出方法。
（付記７）前記抽出ステップは、前記固定値が大きいほど、抽出を妨げる重みを前記法線ベクトルに付与することを特徴とする付記６に記載の法線ベクトル抽出方法。
（付記８）前記抽出ステップは、前記固定値のそれぞれが利用されて、それぞれの固定値において第１の分散が最小の第１の法線ベクトルと前記第１の法線ベクトルの次に分散が小さな第２の法線ベクトルを抽出し、前記第１の法線ベクトルと前記第２の法線ベクトルとの差を前記固定値毎に算出した場合に、前記差が最も大きくなる固定値の前記第１の法線ベクトルを抽出することを特徴とする付記５に記載の法線ベクトル抽出方法。
【符号の説明】
【００６１】
１０  法線ベクトル抽出装置
１７  法線ベクトル抽出部（抽出手段）
１８  画像数計数部（計数手段）
１９  固定値設定部（設定手段）
【図１】
2015118023.tif 000003
【図２】
2015118023.tif 000004
【図３】
2015118023.tif 000005
【図４】
2015118023.tif 000006
【図６】
2015118023.tif 000007
【図９】
2015118023.tif 000008
【図１０】
2015118023.tif 000009
【図１１】
2015118023.tif 000010
【図１２】
2015118023.tif 000011
【図５】
2015118023.tif 000012
【図７】
2015118023.tif 000013
【図８】
2015118023.tif 000014