(57)【要約】【課題】  パターン光の位置特定を確実且つ高精度に行うための技術を提供すること。【解決手段】  パターンが投影された対象物を撮像手段によって撮像した撮像画像を取得する。取得した撮像画像中のパターンの輝度値に応じて、パターンを投影する投影手段から投影される該パターンの明暗を制御するためのパラメータ、及び撮像手段の露光量を制御するためのパラメータ、のうち少なくともいずれか一方を制御する。【選択図】  図１
2015087243.tif 000002
【特許請求の範囲】
【請求項１】
パターンが投影された対象物を撮像手段によって撮像した撮像画像を取得する取得手段と、
前記取得した撮像画像中のパターンの輝度値に応じて、前記パターンを投影する投影手段から投影される該パターンの明暗を制御するためのパラメータ、及び前記撮像手段の露光量を制御するためのパラメータ、のうち少なくともいずれか一方を制御する制御手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記制御手段は、
第１のパターンが投影された前記対象物の第１の撮像画像を構成する各画素の輝度値から成る輝度値波形と、該第１のパターンにおける明暗を反転させた第２のパターンが投影された前記対象物の第２の撮像画像を構成する各画素の輝度値から成る輝度値波形と、の交点を求め、
前記撮像画像の画素数に対する前記交点の数の割合に応じて、前記投影手段から投影されるパターンの明暗を制御するためのパラメータ、及び前記撮像手段の露光量を制御するためのパラメータ、のうち少なくともいずれか一方を制御する
を備えることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記制御手段は、前記割合が閾値以下であれば、前記投影手段から投影されるパターンの明暗を制御するためのパラメータを該パターンがより暗くなるように制御する、若しくは前記撮像手段の露光量を制御するためのパラメータを該露光量がより小さくなるように制御する、ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記制御手段は、前記割合が閾値以下であれば、前記投影手段から投影されるパターンの明暗を制御するためのパラメータを該パターンがより暗くなるように制御する、且つ前記撮像手段の露光量を制御するためのパラメータを該露光量がより小さくなるように制御することを特徴とする請求項２に記載の画像処理装置。
【請求項５】
前記制御手段は、前記割合が閾値を超えている場合には、前記交点の数に対する、画素値が飽和している画素を参照して求めた交点の数の割合を第２の割合として求め、
該第２の割合が閾値を超えている場合には、前記投影手段から投影されるパターンの明暗を制御するためのパラメータを該パターンがより暗くなるように制御する、若しくは前記撮像手段の露光量を制御するためのパラメータを該露光量がより小さくなるように制御し、
該第２の割合が閾値以下であれば、前記投影手段から投影されるパターンの明暗を制御するためのパラメータを該パターンがより明るくなるように制御する、若しくは前記撮像手段の露光量を制御するためのパラメータを該露光量がより大きくなるように制御する
ことを特徴とする請求項３または４に記載の画像処理装置。
【請求項６】
前記制御手段は、前記割合が閾値を超えている場合には、前記交点の数に対する、画素値が飽和している画素を参照して求めた交点の数の割合を第２の割合として求め、
該第２の割合が閾値を超えている場合には、前記投影手段から投影されるパターンの明暗を制御するためのパラメータを該パターンがより暗くなるように制御する、且つ前記撮像手段の露光量を制御するためのパラメータを該露光量がより小さくなるように制御し、
該第２の割合が閾値以下であれば、前記投影手段から投影されるパターンの明暗を制御するためのパラメータを該パターンがより明るくなるように制御する、且つ前記撮像手段の露光量を制御するためのパラメータを該露光量がより大きくなるように制御する
ことを特徴とする請求項３または４に記載の画像処理装置。
【請求項７】
更に、
前記撮像手段による撮像画像を用いて、前記対象物に対する距離計測を行う手段を備えることを特徴とする請求項１乃至６の何れか１項に記載の画像処理装置。
【請求項８】
前記撮像画像は、前記撮像手段により撮像された画像において前記対象物が写っている領域内の画像であることを特徴とする請求項１乃至７の何れか１項に記載の画像処理装置。
【請求項９】
パターンが投影された対象物を撮像手段によって撮像された撮像画像を取得する取得手段と、
前記撮像画像からパターンの位置を検出するために参照したそれぞれの画素の画素値のうち最大の画素値を特定し、該最大の画素値の分布を取得する手段と、
前記分布を用いて、前記パターンを投影した投影手段から投影されるパターンの明暗を制御するためのパラメータ、若しくは前記撮像手段の露光量を制御するためのパラメータ、を制御する制御手段と
を備えることを特徴とする画像処理装置。
【請求項１０】
前記制御手段は、前記分布において、飽和レベル以上の画素値を有する画素数を前記位置の数で割った値が閾値と等しくなるように、前記投影手段から投影されるパターンの明暗を制御するためのパラメータ、若しくは前記撮像手段の露光量を制御するためのパラメータ、を制御することを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
画像処理装置が行う画像処理方法であって、
前記画像処理装置の取得手段が、パターンが投影された対象物を撮像手段によって撮像した撮像画像を取得する取得工程と、
前記画像処理装置の制御手段が、前記取得した撮像画像中のパターンの輝度値に応じて、前記パターンを投影する投影手段から投影される該パターンの明暗を制御するためのパラメータ、及び前記撮像手段の露光量を制御するためのパラメータ、のうち少なくともいずれか一方を制御する制御工程と
を備えることを特徴とする画像処理方法。
【請求項１２】
画像処理装置が行う画像処理方法であって、
前記画像処理装置の取得手段が、パターンが投影された対象物を撮像手段によって撮像された撮像画像を取得する取得工程と、
前記画像処理装置の分布を取得する手段が、前記撮像画像からパターンの位置を検出するために参照したそれぞれの画素の画素値のうち最大の画素値を特定し、該最大の画素値の分布を取得する工程と、
前記画像処理装置の制御手段が、前記分布を用いて、前記パターンを投影した投影手段から投影されるパターンの明暗を制御するためのパラメータ、若しくは前記撮像手段の露光量を制御するためのパラメータ、を制御する制御工程と
を備えることを特徴とする画像処理方法。
【請求項１３】
コンピュータを、請求項１乃至１０の何れか１項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象物に対する距離計測を行うための技術に関するものである。
【背景技術】
【０００２】
対象物に対してプロジェクタなどの投影部を用いてパターン光を投影し、該対象物をカメラなどの撮像部で撮像した撮像画像からパターン光の位置を特定することで距離を計測する方法が知られている。
【０００３】
対象物表面の反射率と対象物が置かれる姿勢は様々であるため、投影部から投影されるパターン光の撮影画像における画像輝度階調値は様々に変化する。そのため、多様な条件でのパターン光の位置特定を実現するためには、パターン光の明るさ調整と、撮像部の露光量調整と、を適切に行う必要がある。これらの調整が不適切であれば、撮像画像におけるパターン光が飽和、あるいは黒つぶれし、パターン光の位置の特定が不可能となる。また、これらの調整が不十分であれば、パターン光の位置の特定は可能であっても、その位置の特定精度は低下する。
【０００４】
特許文献１では、事前に均一なパターン光を投影してから撮像した撮像画像の画像輝度階調値をもとに最大反射率を決定し、その反射率に基づいてパターン光の明るさと、撮像部の露光量を決定する。
【０００５】
特許文献２では、光切断線を投影してから撮像した撮像画像の画像輝度階調値のヒストグラムを用いて、撮像部の露光量の調整を行う。具体的には、画像輝度階調値ヒストグラムにおいて、光切断線部分に対応する第一のピークと、計測環境の照明光により発生する背景光に対応する第二のピークと、の間の差が閾値以上となるように調整する。さらに、第一のピークが予め設定された上限値を超えないように調整する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−６８１７６号公報
【特許文献２】特開２００９−２５０８４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１で開示されている方法では、位置特定に用いるパターン光ではなく、均一なパターン光の画像輝度階調値をもとに、パターン光の明るさと撮像部の露光量を決定している。そのため、位置特定に用いるパターン光において発生する投影光学系や撮像光学系のボケなどに起因するパターン光のコントラストの低下の影響が考慮されない。その結果、パターン光においての調整が不十分になり、パターン位置特定の精度低下を招くケースがある。また、画像輝度階調値の最大値をもとに最大反射率を決定し、露光量を決定するため、光沢性の高い対象物の場合には、一部分で発生するハレーションの影響を受けて画面全体に渡って適切な調整がなされないケースも起こり得る。
【０００８】
特許文献２に開示されている発明は、投影光による画像輝度階調値ヒストグラムのピークと背景光のピークが明瞭に分離されるケースにおいては有効に機能する。しかし、背景光の輝度が高く、投影光による輝度と同程度であるケースにおいては、投影光と背景光の画像輝度階調値ヒストグラムのピークを区別することが困難となり、有効に機能しない可能性が高い。
【０００９】
本発明はこのような問題に鑑みてなされたものであり、パターン光の位置特定を確実、且つ高精度に行うための技術を提供する。
【課題を解決するための手段】
【００１０】
本発明の一様態は、パターンが投影された対象物を撮像手段によって撮像した撮像画像を取得する取得手段と、前記取得した撮像画像中のパターンの輝度値に応じて、前記パターンを投影する投影手段から投影される該パターンの明暗を制御するためのパラメータ、及び前記撮像手段の露光量を制御するためのパラメータ、のうち少なくともいずれか一方を制御する制御手段とを備えることを特徴とする。
【発明の効果】
【００１１】
本発明の構成によれば、パターン光の位置特定を確実、且つ高精度に行うことができる。
【図面の簡単な説明】
【００１２】
【図１】画像処理装置の機能構成例を示すブロック図。
【図２】パターン光の一例を示す図。
【図３】４ビットグレイコードを示す図。
【図４】撮像部２０、投影部３０、対象物５の関係を示す模式図。
【図５】パターン位置の特定精度について説明する図。
【図６】露光時間を変更した際の輝度階調値の変化について説明する図。
【図７】光沢性の高い対象物を対象物５として用いる場合について説明する図。
【図８】画像処理部４０が行う処理のフローチャート。
【図９】ステップＳ４１０５における処理の詳細を示すフローチャート。
【図１０】画像処理装置の機能構成例を示すブロック図。
【図１１】画像処理部４０が行う処理のフローチャート。
【図１２】ステップＳ４１２３における処理の詳細を示すフローチャート。
【図１３】ステップＳ４２２２及びＳ４２２３における処理について説明する図。
【図１４】変形例で用いるパターン光の一例を示す図。
【図１５】輝度階調値及び差分値のグラフ。
【図１６】画像処理部４０に適用可能な装置のハードウェア構成例を示すブロック図。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の１つである。
【００１４】
［第１の実施形態］
先ず、本実施形態に係る画像処理装置（距離計測装置）の機能構成例について、図１のブロック図を用いて説明する。図１の如く、画像処理装置は、対象物５にパターン光を投影する投影部３０と、パターン光が投影された対象物５を撮像する撮像部２０と、投影部３０及び撮像部２０を制御し、空間符号化法に基づいて対象物５に対する距離計測を行う画像処理部４０とを有する。
【００１５】
先ず、投影部３０について説明する。投影部３０は、図１に示す如く、光源３１と、照明光学系３２と、表示素子３３と、投影絞り３４と、投影光学系３５と、を備える。
【００１６】
光源３１は、例えばハロゲンランプ、ＬＥＤなどの各種の発光素子である。照明光学系３２は、光源３１から照射された光を表示素子３３へと導く機能を持つ光学系であり、例えば、ケーラー照明や拡散板などの輝度の均一化に適した光学系が用いられる。表示素子３３は、供給されたパターンに応じて、照明光学系３２からの光の透過率、または、反射率を空間的に制御する機能を有する素子であり、例えば、透過型ＬＣＤ、反射型ＬＣＯＳ、ＤＭＤなどが用いられる。表示素子３３へのパターンの供給については、投影部３０内に保持されている複数種のパターンを順次表示素子３３に供給しても良いし、外部装置（例えば画像処理部４０）に保持されている複数種のパターンを順次取得して表示素子３３に供給しても良い。投影光学系３５は、表示素子３３から導かれた光（パターン光）を対象物５の特定位置に結像させるように構成された光学系である。投影絞り３４は、投影光学系３５のＦナンバーを制御するために用いられる。
【００１７】
次に、撮像部２０について説明する。撮像部２０は、図１に示す如く、撮像光学系２３と、撮像絞り２２と、撮像素子２１と、を備える。
【００１８】
撮像光学系２３は、対象物５の特定位置を撮像素子２１上に結像させるよう構成された光学系である。撮像絞り２２は、撮像光学系２３のＦナンバーを制御するために用いられる。撮像素子２１は、例えばＣＭＯＳセンサ、ＣＣＤセンサなどの各種の光電変換素子である。なお、撮像素子２１で光電変換されたアナログ信号は、撮像部２０内の不図示の制御部により標本化ならびに量子化され、デジタル画像信号に変換される。更にこの制御部は、このデジタル画像信号から、各画素が輝度階調値（濃度値、画素値）を有する画像（撮像画像）を生成し、この撮像画像を適宜撮像部２０内のメモリや画像処理部４０に対して送出する。
【００１９】
なお、撮像部２０は、投影部３０が異なるパターン光を投影する度に対象物５を撮像する。すなわち、撮像部２０と投影部３０とは同期して動作しており、結果として撮像部２０は、それぞれ異なるパターン光が投影された対象物５の画像を撮像することができる。
【００２０】
次に、画像処理部４０について説明する。図１に示す如く、画像処理部４０は、調整部４１、明暗判定部４２、パターン位置特定部４３、距離計測部４４、パターン光明るさ制御部４５、撮像画像露光量制御部４６を備える。
【００２１】
パターン位置特定部４３は、撮像部２０によって撮像された撮像画像を取得し、該取得した撮像画像から、該撮像画像中に写っているパターン光の位置（パターン位置）を特定する。
【００２２】
明暗判定部４２は、撮像部２０によって撮像された撮像画像を取得し、該取得した撮像画像を構成する各画素の輝度階調値と、該撮像画像からパターン位置特定部４３が特定したパターン位置と、を用いて、明暗判定を行う。
【００２３】
調整部４１は、撮像部２０が次回撮像する撮像画像の明暗を制御するためのパラメータを、明暗判定部４２による判定の結果に応じて決定する。「撮像部２０が次回撮像する撮像画像の明暗を制御するためのパラメータ」には、撮像部２０に対するパラメータや、投影部３０に対するパラメータがあり、両方を決定しても良いし、一方を決定しても良い。
【００２４】
パターン光明るさ制御部４５は、調整部４１が「投影部３０に対するパラメータ」を決定した場合には、投影部３０から投影されるパターン光の明るさを、該パラメータに応じて制御する。パターン光の明るさを制御する方法は、例えば以下の３つの方法がある。
【００２５】
１つ目の方法は、光源３１の発光輝度を制御することである。ハロゲンランプの場合には、印加電圧を高くすると発光輝度は高くなる。ＬＥＤの場合には、流す電流を大きくすると発光輝度は高くなる。然るにこのような場合、「投影部３０に対するパラメータ」とは、光源３１の発光輝度を制御するためのパラメータ、となる。
【００２６】
２つ目の方法は、表示素子３３の表示階調値を制御することである。ＬＣＤの場合には、表示階調値を大きくすると透過率が高くなり、結果として、パターン光は明るくなる。ＬＣＯＳの場合には、表示階調値を大きくすると反射率が高くなり、結果として、パターン光は明るくなる。ＤＭＤの場合には、表示階調値を大きくすると、フレームあたりのＯＮの回数が増加するため、結果として、パターン光は明るくなる。然るにこのような場合、「投影部３０に対するパラメータ」とは、表示素子３３の表示階調値を制御するためのパラメータ、となる。
【００２７】
３つ目の方法は、投影絞り３４を制御することである。絞りを開けることで、パターン光は明るくなる。逆に絞りを絞ることで、パターン光は暗くなる。投影絞り３４を制御する場合には、投影光学系の被写界深度も変化するため、その影響を考慮する必要がある。然るにこのような場合、「投影部３０に対するパラメータ」とは、投影絞り３４を制御するためのパラメータ、となる。
【００２８】
撮像画像露光量制御部４６は、調整部４１が「撮像部２０に対するパラメータ」を決定した場合には、撮像部２０における撮像時の露光量を、該パラメータに応じて制御し、これにより、撮像画像の輝度階調値を制御する。撮像部２０の露光量を制御する方法は、例えば以下の２つの方法がある。
【００２９】
１つ目の方法は、撮像素子２１の露光時間（シャッタースピード）を制御することである。露光時間を長くすると、撮像画像の輝度階調値は高くなり、逆に露光時間を短くすると、輝度階調値は低くなる。然るにこのような場合、「撮像部２０に対するパラメータ」とは、撮像素子２１の露光時間（シャッタースピード）を制御するためのパラメータ、となる。
【００３０】
２つ目の方法は、撮像絞り２２を制御することである。絞りを開けることで、撮像画像の輝度階調値は高くなり、逆に絞りを絞ることで、撮像画像の輝度階調値は低くなる。撮像絞り２２を制御する場合には、撮像光学系の被写界深度も変化するため、その影響を考慮する必要がある。然るにこのような場合、「撮像部２０に対するパラメータ」とは、撮像絞り２２を制御するためのパラメータ、となる。
【００３１】
距離計測部４４は、投影部３０が複数種類のパターン光のそれぞれを投影するたびに撮像部２０が撮像した撮像画像を取得する。そして距離計測部４４は、該取得した撮像画像からデコードした空間コードと、該取得した撮像画像についてパターン位置特定部４３が特定したパターン位置と、を用いて、三角測量の原理で、撮像部２０（撮像光学系２３）から対象物５までの距離を計測する。
【００３２】
本実施形態では上記の通り、空間符号化法に基づいて距離計測を行うが、この空間符号化法には派生形が複数存在する。本実施形態では、特開２０１１−４７９３１号公報で開示されている方法を用いる。以下にその原理を簡単に説明する。
【００３３】
図２に、４ビットの空間符号化法における投影パターン（パターン光）を示す。図２（ａ）に示されている投影パターン（全点灯パターン）と図２（ｂ）に示されている投影パターン（全消灯パターン）は、影領域の検出と明暗判定閾値を決めるために使われる。図２（ｃ）〜（ｆ）の投影パターン（それぞれ１〜４ビットポジティブパターン）は、空間コードを決定するために使用される。図２（ｇ）の投影パターン（４ビットネガティブパターン）は、４ビットポジティブパターンとともにパターン位置の特定を高精度に行うために使用される。
【００３４】
４ビットの場合、空間コードの数は１６となる。投影パターンのビット数をＮとすると、空間コードの数は２Ｎとなる。図２に示した１ビットから４ビットの投影パターンは、グレイコード（ＧｒａｙＣｏｄｅ）と呼ばれる符号に基づいて、パターンの明暗（白黒）の配置を決定している。図３に４ビットグレイコードを示す。グレイコードは隣合うコードとのハミング距離が１となるパターンであるため、コードの判定を誤ったとしても誤差が最小に抑えられる。そのため、空間符号化法の投影パターンとして用いられることが多い。
【００３５】
次に、撮像画像から空間コードをデコードする方法について述べる。図２に示した１ビットから４ビットの投影パターンを計測対象物に対して投影し、それぞれの投影パターンが投影された計測対象物の画像を撮像する。そして、この撮像により得られたそれぞれの撮像画像中の各画素の輝度階調値から、該画素が投影パターンの明部が照射されている箇所であるのか、それとも暗部が照射されている箇所であるのかを判定する。この判定のための判定基準は、全点灯パターンと全消灯パターンの輝度階調値の平均値を用いることができる。すなわち、撮像画像中の各画素について、該画素の輝度階調値が平均値以上であれば、該画素を明部、平均値未満であれば該画素を暗部と判定する。明部と判定された画素にはビット値「１」を割り当て、暗部と判定された画素にはビット値「０」を割り当てる。このような処理を、１ビットから４ビットの投影パターンの撮像画像のそれぞれに対して行うことで、該撮像画像中の各画素に対して４ビット分のビット値（４ビット分のグレイコード）が与えられることになる。この４ビット分のグレイコードを空間コードに変換することで、投影部からの出射方向を一意に特定することができる。図３に示すように、例えばある画素に「０１１０」というコードが割り振られた場合、グレイコードは６となる。このグレイコードを空間コードに変換すると４となる。
【００３６】
図４に示すように、撮像画像の画素位置から撮像部（より詳しくは撮像部の主点位置）への光の入射方向が決まる。また、その画素位置の空間コードが決まると、投影部からの出射方向が特定される。２つの方向が決まると、三角測量の原理に基づき、計測対象物に対する距離計測が可能となる。以上が空間符号化法に基づく距離計測の原理である。
【００３７】
空間符号化法では、投影パターンの明暗を反転させたパターン光（図２の場合、（ｇ）の４ビットネガティブパターン）を併用することで、誤差を低減することができる。その誤差の低減方法について、引き続き図４を用いて説明する。
【００３８】
投影部からの出射方向は空間コード１つ分の幅だけ広がりを持つため、ΔＺで示した分だけ距離計測誤差を生む。その誤差を低減するために、最下位のビット（図２では４ビット目のビット）の投影パターン（図２の場合、（ｆ）の４ビットポジティブパターン）の明暗を反転させたネガティブパターン（図２の場合、（ｇ）の４ビットネガティブパターン）をさらに投影する。そして、ポジティブパターンを投影した対象物の撮像画像を構成する各画素の輝度値から成る輝度値波形と、ネガティブパターンを投影した対象物の撮像画像を構成する各画素の輝度値から成る輝度値波形と、の交点位置をパターン位置とする。このパターン位置は、上記の距離計測に使用する。交点位置は隣合う空間コードとの境界位置であるため、理想的には幅を持たない。現実には、デジタル画像信号として取り込む際に量子化と標本化を実施するとともに、撮像画像の輝度階調値に撮像素子ノイズが含まれるため、幅は０にはならないが、距離計測誤差を大きく低減できる。この交点位置を特定する処理はパターン位置特定部４３で実行される。以上が距離計測誤差を低減させる方法の説明である。
【００３９】
次に、パターン位置の特定精度について、図５を用いて説明する。図５（ａ）は横軸に画像座標、縦軸に輝度階調値をとったグラフである。横軸の画像座標は、撮像画像中の投影パターンの縞の方向に対して垂直な方向における座標とした。実線は、ポジティブパターンを投影した対象物の撮像画像において、該ポジティブパターンの縞の方向に対して垂直な方向に沿った１ライン上の各画素の輝度値から成る輝度値波形（ポジティブパターン波形）を示す。点線は、ネガティブパターンを投影した対象物の撮像画像において、該ネガティブパターンの縞の方向に対して垂直な方向に沿った１ライン上の各画素の輝度値から成る輝度値波形（ネガティブパターン波形）を示す。なお、それぞれの波形は、それぞれの撮像画像で同じ位置のライン上の各画素の輝度値から成る輝度値波形である。太い実線で囲まれた領域のそれぞれの波形を拡大したものを図５（ｂ）に示す。
【００４０】
図５（ｂ）では、ポジティブパターン波形とネガティブパターン波形との交点近傍の４点（何れもポジティブパターン波形上若しくはネガティブパターン波形上）に着目している。交点位置から左側にある２点（何れも画像座標（横軸の値）は同じ）のうちポジティブパターン波形上の点における輝度階調値をＰＬ、ネガティブパターン波形上の点における輝度階調値をＮＬとしている。また、交点位置から右側にある２点（何れも画像座標（横軸の値）は同じ）のうちポジティブパターン波形上の点における輝度階調値をＰＲ、ネガティブパターン波形上の点における輝度階調値をＮＲとしている。また、輝度階調値の差分（ＰＬ−ＮＬ）の絶対値をＤＬとし、輝度階調値の差分（ＰＲ−ＮＲ）の絶対値をＤＲとする。
【００４１】
そして、交点近傍の輝度波形を直線近似する（輝度階調値ＰＬの点と輝度階調値ＰＲの点との間、輝度階調値ＮＬの点と輝度階調値ＮＲの点との間、のそれぞれを直線で近似する）と、それぞれの直線の交点位置Ｃ（画像座標）は、以下の（式１）で表される。
【００４２】
Ｃ＝Ｌ＋ＤＬ／（ＤＬ＋ＤＲ）  （式１）
ここで、Ｌは、輝度階調値ＰＬの点（輝度階調値ＮＬの点）の画像座標（横軸の値）である。以下では説明を簡単にするために、交点位置Ｃを、輝度階調値ＰＬの点（輝度階調値ＮＬの点）の画像座標を基準とした相対位置で説明するため、Ｃ＝ＤＬ／（ＤＬ＋ＤＲ）とする。
【００４３】
ここで、輝度階調値ＰＬ、ＰＲ、ＮＬ、ＮＲは撮像素子ノイズσだけ揺らぎを持つとする。このとき、交点位置も幅ΔＣだけ揺らぎをもつことになる。この幅が交点のサブピクセル位置推定誤差である。サブピクセル位置推定誤差ΔＣは下記式で求めることができる。
【００４４】
ΔＣ＝σ／（ＤＬ＋ＤＲ）  （式２）
交点のサブピクセル位置推定誤差ΔＣが小さいほど、距離計測誤差は小さくなる。（式２）から、サブピクセル位置推定誤差ΔＣを低減するためには、分母（輝度階調値の差分であるＤＬやＤＲの値）を大きくすればよいことがわかる。輝度階調値の差分ＤＬ（ＤＲ）は、輝度階調値に比例して大きくなる。さらに、撮像素子ノイズσのうち、ショットノイズ成分は輝度階調値の平方根の値に比例する特性を示すことが多いので、輝度階調値の大きさを大きくすると相対的にノイズσの影響は小さくなる。輝度階調値を大きくするためには、撮像部２０における露光量を大きくする、または、パターン光の明るさを明るく、するという２通りの方法がある。
【００４５】
この２通りの方法の両方を実行しても構わないし一方のみを実行しても構わない。本実施形態では一例として、撮像部２０における露光量を制御する方法のみを実行する。さらに、露光量の制御方法のうち、露光時間のみを制御することとする。しかし、露光量の制御は、露光時間の制御以外の方法によっても実現可能であり、特定の方法に限るものではない。露光量の制御方法のうち、撮像絞り２２を制御する方法にも適用できる。また、パターン光の明るさを制御する方法である、光源３１の発光輝度の制御、表示素子３３の表示階調値の制御、投影絞り３４の制御にも適用できる。また、単一の制御量のみを制御する方法に限られるものでなく、複数の制御量を同時に制御することも可能である。
【００４６】
次に、露光時間を変更した際の輝度階調値の変化について、図６を用いて説明する。現在の露光時間をＮとし、露光時間Ｎで撮像された撮像画像の輝度階調値の波形を図６（ａ）に示す。図６（ａ）の状態では、輝度階調値の波形がすべて飽和レベルには達していないため、精度向上の余地がある。ただし、いたずらに露光時間を大きくすればよいというものではない。
【００４７】
図６（ｂ）に、露光時間を２倍の２Ｎにしたときの輝度階調値の波形を示す。この波形の中央部では、飽和レベルを超えている。図６（ｂ）では便宜上、飽和レベルを超えた波形を図示したが、実際には飽和レベルを超えた波形は飽和レベルの輝度階調値に頭打ちされて出力される。図６（ｂ）では、交点位置が飽和レベルの輝度階調値に頭打ちされるため、交点位置の特定が不可能となる。交点位置の特定と、サブピクセル推定誤差の低減を両立させるためには、輝度階調値の波形のうち、パターン位置の特定に使用する交点位置近傍の輝度階調値が、飽和レベルの一歩手前まで調整された状態が望ましい。
【００４８】
図６（ｃ）に、露光時間を１．５倍の１．５Ｎにしたときの輝度階調値の波形を示す。図６（ｃ）においては全点灯パターンの波形やポジティブパターン、ネガティブパターンの波形において一部飽和レベルを超えているが、パターン位置の特定に使用する交点位置近傍の輝度階調値は飽和レベルを超えていない。そのため、交点位置の特定も可能であるし、交点近傍の輝度階調値も高い値となるため、サブピクセル位置推定誤差を低減することができる。
【００４９】
なお、金属のように光沢性の高い対象物を対象物５として用いる場合は、対象物のほんの１部分のみにおいて正反射条件が成立し、著しく輝度階調値が高くなることがある。図７にその一例を示す。光沢性の高い対象物としての対象物５上の点５１において、投影部からの入射光と撮像部への反射光との間に正反射条件が成立しているとする。正反射条件とは、入射光の入射角と反射光の反射角が等しくなる条件である。このとき、対象物５の光沢性が高い場合には、その領域からの反射光が周りに対して著しく大きくなり、結果として、輝度階調値が著しく高くなる。その部位が飽和レベルに達しないように輝度値を調整すると、その部位を除く画像全体の輝度は低下するため、画像全体として距離計測精度が低くなる結果を招く。従って、本実施形態では、画像中の対象領域（例えば対象物５を包含する領域）全体の画素総数に対してある程度の画素数が飽和レベルに達することを許容する仕組みを導入している。この仕組みについては明暗判定部４２に係る説明で詳細に述べる。
【００５０】
本実施形態では上記で述べたように、パターン位置の特定に使用する画素の輝度階調値が飽和レベルの一歩手前になるように、撮像画像の露光量やパターン光の明るさを調整する方法を提供する。これにより、高精度なパターン位置の特定を可能とする。さらに、金属光沢のように、一部の領域で著しい飽和を起こすような対象物であっても、飽和レベルの許容範囲を設定することで、一部の領域を犠牲にして、画像全体におけるパターン位置の特定精度を向上させる方法も提供する。
【００５１】
次に、画像処理部４０が、撮像部２０の露光量を調整するために行う処理について、同処理のフローチャートを示す図８を用いて説明する。先ず、ステップＳ４１０１では、調整部４１は、予め設定されている若しくはユーザが不図示の操作部を介して設定した露光量の初期値（パラメータ）を設定する。撮像画像露光量制御部４６は、この露光量の初期値に応じて、撮像部２０の露光量を制御する。また、調整部４１は、予め設定されている若しくはユーザが不図示の操作部を介して設定したパターン光の明るさの初期値（パラメータ）を設定する。パターン光明るさ制御部４５は、このパターン光の明るさの初期値に応じて、投影部３０から投影されるパターン光の明るさを制御する。また、調整部４１は、露光量の変更量の初期値（パラメータ）を設定する。露光量の変更量の初期値は、例えば、露光量の初期値の１／２の値とすれば良い。もちろん、露光量の変更量の初期値はこの値に限るものではない。
【００５２】
次に、ステップＳ４１０２では、調整部４１は、露光量の調整回数の上限値に値ＡＮ（ＡＮは２以上の整数）を設定する。調整回数を増加させるほど、より細かい調整が実施できるが、露光量の調整終了までにかかる時間はより長くなる。経験的には１０数回程度が好適である。次に、ステップＳ４１０３では、調整部４１は、露光量の調整回数をカウントするためのカウンタｋに値「１」を設定する。
【００５３】
ステップＳ４１０４では、投影部３０は、上記の複数枚の投影パターンから１つずつ順次選択し、該選択した投影パターンを対象物５に対して照射し、撮像部２０は、該対象物５を撮像する。投影パターンの種別は、全点灯パターン、全消灯パターン、ポジティブパターン（図２の場合、（ｃ）〜（ｆ）の４つのポジティブパターン）、ネガティブパターン（図２の場合、（ｇ）のネガティブパターン）の４種類である。４ビットの空間符号化法の場合、パターンポジティブパターンとして、４ビットポジティブパターンを、ネガティブパターンとして、４ビットネガティブパターンを使用する。撮像部２０は、選択されたパターン光が投影される度に対象物５を撮像する。
【００５４】
ステップＳ４１０５では、明暗判定部４２及びパターン位置特定部４３によって、撮像部２０が撮像した撮像画像を用いた明暗判定を行う。ステップＳ４１０５における処理の詳細については、図９のフローチャートを用いて後述する。そしてこの明暗判定の結果、明と判断した場合には、処理はステップＳ４１０６に進み、暗と判断した場合には、処理はステップＳ４１０７に進む。
【００５５】
ステップＳ４１０６では、調整部４１は、撮像部２０が次回撮像する撮像画像が今回撮像した撮像画像よりも暗くなるように、撮像部２０の現在の露光量を示すパラメータを、変更量だけ変更する。そして、撮像画像露光量制御部４６は、撮像部２０の露光量を、この調整されたパラメータに応じて制御する。
【００５６】
一方、ステップＳ４１０７では、調整部４１は、撮像部２０が次回撮像する撮像画像が今回撮像した撮像画像よりも明るくなるように、撮像部２０の現在の露光量を示すパラメータを、変更量だけ変更する。そして、撮像画像露光量制御部４６は、撮像部２０の露光量を、この調整されたパラメータに応じて制御する。
【００５７】
ステップＳ４１０８では、調整部４１は、カウンタｋの値がＡＮを超えたか否かを判断する。この判断の結果、ｋ＞ＡＮであれば、本処理は終了する。一方、ｋ≦ＡＮであれば、処理はステップＳ４１０９に進む。
【００５８】
ステップＳ４１０９では、調整部４１は、カウンタｋの値を１つインクリメントする。ステップＳ４１１０では、調整部４１は、露光量の変更量を更新する。変更量は、調整回数が増加するに従って、段々と小さくしていくことが望ましい。例えば２分探索のような方法が考えらえる。この方法では、変更量を前回の変更量の１／２にしていく。
【００５９】
ステップＳ４１１０で変更量が更新されると、ｋ≦ＡＮが満たされている間は、ステップＳ４１０４〜Ｓ４１１０の各ステップにおける処理が繰り返し実行されることになる。調整回数を重ねていくにしたがって、露光量が探索的に更新され、適切な露光量に近づく。
【００６０】
次に、上記のステップＳ４１０５における処理の詳細について、図９のフローチャートを用いて説明する。明暗判定部４２は、４枚の撮像画像Ｉｎ１〜Ｉｎ４を使用して明暗判定を行い、Ｏｕｔ１：暗判定、Ｏｕｔ２：暗判定、の何れか一方を、明暗判定の結果として出力する。ここで、撮像画像Ｉｎ１は、全点灯パターンが投影された対象物５の撮像画像、撮像画像Ｉｎ２は、全消灯パターンが投影された対象物５の撮像画像である。また、撮像画像Ｉｎ３は、ポジティブパターンが投影された対象物５の撮像画像、撮像画像Ｉｎ４は、ネガティブパターンが投影された対象物５の撮像画像である。
【００６１】
また、明暗判定は２段階で実施される。第１段階目では、撮像画像Ｉｎ１と撮像画像Ｉｎ２とを使用して大まかな明暗判定を行う。第２段階目では、撮像画像Ｉｎ３と撮像画像Ｉｎ４とを用いて、詳細な明暗判定を行う。なお、本実施形態では、このように、第１段階及び第２段階の２段階構成で明暗判定を行うものとして説明するが、第１段階目の明暗判定を省略し、第２段階目の明暗判定のみを行うようにしても構わない。
【００６２】
先ず、第１段階目の明暗判定について説明する。
【００６３】
ステップＳ４２０１では、明暗判定部４２は、撮像画像Ｉｎ１若しくは撮像画像Ｉｎ２に対して調整領域を設定する。例えば、撮像画像Ｉｎ１若しくは撮像画像Ｉｎ２の何れか一方を表示対象画像として不図示の表示部に表示させ、ユーザが不図示の操作部を操作して、表示対象画像中に写っている対象物５の領域を調整領域として指定（設定）するようにしても構わない。もちろん、調整領域の設定方法はこれに限るものではなく、撮像画像Ｉｎ１若しくは撮像画像Ｉｎ２中の対象物５の領域が予め決まっている若しくは認識処理により決定した場合は、ユーザ操作を介することなく、対象物５の領域を調整領域として設定しても良い。なお、一方の撮像画像に対して調整領域を設定すると、他方の撮像画像中の同位置にも調整領域が設定されたものとする。次に、ステップＳ４２０２では、明暗判定部４２は、調整領域内の画素数を、「調整領域画素数Ｘ」としてカウントする。
【００６４】
次に、ステップＳ４２０３では、明暗判定部４２は、撮像画像Ｉｎ１中の調整領域若しくは撮像画像Ｉｎ２中の調整領域から、影とおぼしき領域（影領域）を検出する。影領域の検出方法には、例えば、次のような方法がある。即ち、撮像画像Ｉｎ１中の調整領域内の各画素と撮像画像Ｉｎ２中の調整領域内の各画素とで位置的に対応する画素間の輝度階調値の差分値を計算し、差分値が予め設定された閾値（影領域閾値）を下回る画素位置における画素から成る領域を影領域と判定する。ただし、この判定方法だけでは、撮像画像Ｉｎ２中の調整領域内の輝度階調値が飽和レベルに近い、あるいは、飽和レベルに達しているケースにおいても、上記の差分値は小さくなるので、影領域と判定してしまう。このようなケースに対処するために、撮像画像Ｉｎ２の輝度階調値に影領域閾値の値を加算した値が飽和レベルを超える場合には、影領域から除外するという判定式をさらに導入するとよい。もちろん、画像から影領域を特定する方法は上記の方法に限るものではない。
【００６５】
ステップＳ４２０４では、明暗判定部４２は、ステップＳ４２０２でカウントした調整領域画素数から、ステップＳ４２０３で検出した影領域内の画素数を差し引いた残りの画素数を、非影領域の画素数Ｙとして求める。非影領域の画素数とは、調整領域から影領域を除いた残りの領域内の画素数である。
【００６６】
ステップＳ４２０５では、明暗判定部４２は、非影領域の画素数Ｙを調整領域内の画素数Ｘで割った値（調整領域内の画素数Ｘに対する非影領域の画素数Ｙの割合）が、予め設定されている閾値Ａを超えているか否かを判断する。調整領域内に影領域が多く占めている場合には、Ｙ／Ｘは比較的小さな値をとることになる。然るに、Ｙ／Ｘ≦閾値Ａ（閾値以下）であれば、調整領域内には影領域が多く占めており、その結果、明暗判定部４２は、明暗判定の結果として「暗判定（Ｏｕｔ１）」を出力する。
【００６７】
一方、調整領域内に非影領域が多く占めている場合には、Ｙ／Ｘは比較的大きな値をとることになる。然るに、Ｙ／Ｘ＞閾値Ａであれば、第２段階目の明暗判定を実行すべく、処理はステップＳ４２０６に進む。
【００６８】
続いて、第２段階目の明暗判定について説明する。第２段階目の明暗判定では、上記の如く、撮像画像Ｉｎ３と撮像画像Ｉｎ４とを用いる。ステップＳ４２０６では、パターン位置特定部４３は、撮像画像Ｉｎ３（撮像画像Ｉｎ４）における調整領域内で、上記の交点位置を、パターン位置として推定する処理を行う。例えば、撮像画像Ｉｎ３内の画素位置（ｘ−１，ｙ）における輝度階調値をＰ１、撮像画像Ｉｎ３内の画素位置（ｘ＋１，ｙ）における輝度階調値をＰ２とする。また、撮像画像Ｉｎ４内の画素位置（ｘ−１，ｙ）における輝度階調値をＱ１、撮像画像Ｉｎ４内の画素位置（ｘ＋１，ｙ）における輝度階調値をＱ２とする。このとき、「Ｐ１＞Ｑ１ならばＰ２＜Ｑ２」（条件１）若しくは「Ｐ１＜Ｑ１ならばＰ２＞Ｑ２」（条件２）が満たされていれば、画素位置（ｘ、ｙ）は交点位置と判断する。一方、条件１及び条件２の何れも満たされていない場合には、画素位置（ｘ、ｙ）は交点位置ではないと判断する。このようにして、撮像画像Ｉｎ３（撮像画像Ｉｎ４）における調整領域内の全ての画素位置（ｘ、ｙ）についてこのような条件判定を行うことで、各画素位置が交点位置か否かを判断することができる。ステップＳ４２０７では、パターン位置特定部４３は、ステップＳ４２０６で推定した交点位置（計測画素）の数を、「計測画素数Ｚ」としてカウントする。
【００６９】
ステップＳ４２０８では、明暗判定部４２は、計数画素数Ｚを非影領域の画素数Ｙで割った値（非影領域の画素数Ｙに対する計数画素数Ｚの割合、即ち、計測画素の検出量に相当）が、予め設定されている閾値Ｂを超えているか否かを判断する。非影領域の画素数に対する交点位置の数の割合が低い場合、調整領域内の多くの画素の輝度階調値が飽和レベルに達しているために、交点位置があまり多く得られていないと考えられる。例えば、図６（ｂ）の中央付近では、交点位置における画素の輝度階調値は何れも飽和レベルを超えており、結果としてこれら交点位置を求めることはできないために、Ｚ／Ｙの値は比較的小さな値となる。然るに、Ｚ／Ｙ≦閾値Ｂであれば、明暗判定部４２は、明暗判定の結果として「明判定（Ｏｕｔ２）」を出力する。一方、Ｚ／Ｙ＞閾値Ｂであれば、交点位置の多くが算出可能であるために、処理はステップＳ４２０９に進む。
【００７０】
ステップＳ４２０９では、明暗判定部４２は、各交点位置について、該交点位置の近傍位置にある画素の輝度階調値が飽和しているか否かを判断する。より詳しくは、先ず、交点位置に近接する、ポジティブパターン波形上の２点及びネガティブパターン波形上の２点の計４点（図５（ｂ）の場合、ＰＲ，ＰＬ，ＮＲ，ＮＬのそれぞれの輝度階調値を有する４点）の輝度階調値を参照する。そしてこの４点のうち、輝度階調値が飽和レベル以上となる点が１以上あれば、交点位置における画素を、飽和計測画素と判定する。このような処理を、求めたそれぞれの交点位置について行う。ステップＳ４２１０では、明暗判定部４２は、ステップＳ４２０９で飽和計測画素として判定された画素の個数を、「飽和計測画素数ｇ」としてカウントする。
【００７１】
ステップＳ４２１１では、明暗判定部４２は、「飽和計測画素数ｇ」を「計測画素数Ｚ」で割った値（計測画素数Ｚに対する飽和計測画素数ｇの割合）が、予め設定されている閾値Ｃを超えているか否かを判断する。そして明暗判定部４２は、ｇ／Ｚ＞閾値Ｃの場合には、明暗判定の結果として「明判定（Ｏｕｔ２）」を出力し、ｇ／Ｚ≦閾値Ｃの場合には、明暗判定の結果として「暗判定（Ｏｕｔ１）」を出力する。
【００７２】
なお、金属のように光沢性が高い対象物では、入射光と反射光の間に正反射条件が成立するところで、輝度階調値が著しく高くなることを前述した。ステップＳ４２０９〜ステップＳ４２１１において、飽和レベルを超える近傍画素をある程度許容する仕組みを導入しているため、光沢性が高い対象物においても、正反射領域の影響を受けることなく、明暗判定を適切に行うことが可能となる。結果として、光沢性が高い部品においても露光量の調整処理が適切に機能する。
【００７３】
＜変形例＞
第１の実施形態では、パターン位置の特定に、空間符号化法のポジティブパターン波形とネガティブパターン波形との交点位置を用いる方法を述べたが、パターン位置の特定方法はこれに限るものではない。例えば、輝度階調波形のピーク位置を用いてパターン位置を特定するようにしても構わない。パターン光としては、例えば図１４に示す複数本のライン光から構成されるパターン光を用いることができる。輝度階調波形からピーク位置を求める方法としては、輝度階調波形の差分値（微分値）を求め、差分値が０となる位置をピーク位置とする方法を用いることが多い。
【００７４】
図１５（ａ）、図１５（ｂ）は、横軸に画像座標を、縦軸に輝度階調値をとったグラフであり、ピーク位置近傍の範囲を拡大表示したものである。図１５（ｃ）、図１５（ｄ）は、横軸に画像座標を、縦軸に輝度階調値の差分値をとったグラフである。差分値とは、注目している画素と隣合う画素の輝度階調値との差である。
【００７５】
図１５（ａ）が飽和レベルを超えない場合の輝度階調波形で、図１５（ｃ）が対応する輝度階調値の差分値の波形である。図１５（ｂ）が飽和レベルを超える場合の輝度階調波形で、図１５（ｄ）が対応する画像輝度階調値の差分値の波形である。
【００７６】
図１５（ｃ）においてはピーク位置の検出結果が一意に求まることがわかる。一方で図１５（ｄ）の場合には、図１５（ｂ）の輝度階調波形が飽和レベルに頭打ちされるため、差分値が０となる範囲が広く、ピーク位置の検出結果の誤差が大きくなることがわかる。飽和レベルを超えない場合においても、撮像素子のノイズ影響があるため、輝度階調値が高いほど、ピーク位置の検出精度は高くなる。つまり、ピーク位置検出によりパターン光の位置を特定する方法においても、輝度階調値が飽和レベルの一歩手前まで調整された状態が望ましく、上記の明暗判定処理、および、調整部における処理の大枠が適用できる。本変形例の場合の明暗判定処理は、以下の点で第１の実施形態と異なる。
【００７７】
第１の実施形態では、空間符号化法の場合、交点位置を求めるためには、撮像画像Ｉｎ３及び撮像画像Ｉｎ４を必要としたが、本変形例（ピーク位置を用いる方法）では、図１４に示したパターン光を投影した対象物５の撮像画像のみを用いる。ステップＳ４２０６における処理では、撮像画像において輝度階調値の微分値が０になる画素の位置を上記の交点位置の代わりに特定する。以降は第１の実施形態と同様である。
【００７８】
このように、計測に使用する画素の輝度階調値に基づいて露光量を調整するため、計測精度を高めることが可能である。また、ある程度の画素が飽和レベルを超えることを許容する仕組みをさらに有するため、光沢性の高い部品においても画像全体の計測精度を高めるように露光量調整することが可能となる。
【００７９】
また、第１の実施形態では、探索に基づく露光量調整を実施した。探索には複数回の画像撮像を伴うため、露光量調整に時間を要するが、対象物に関する知識がない場合に有効に働く。また、調整パラメータと撮影画像輝度間の関係性が不明確な場合にも有効である。
【００８０】
［第２の実施形態］
本実施形態に係る画像処理装置の機能構成例について、図１０のブロック図を用いて説明する。なお、図１０において、図１に示した機能部と同じ機能部には同じ参照番号を付しており、これらの機能部に係る説明は省略する。図１０に示した構成は、図１の構成において、明暗判定部４２を適切露光量算出部４７に置き換えた構成となっている。
【００８１】
適切露光量算出部４７は、初期の露光量に応じて撮像部２０が撮像した撮像画像から、次回用の適切な露光量を算出する。本実施形態では、第１の実施形態とは異なり、探索を必要としないため、調整に要する時間が短くて済むが、一方で、初期露光量がある程度妥当な範囲に調整済みである必要がある。また、調整パラメータと輝度階調値との間の関係性を把握しておく必要がある。撮像部の露光時間が調整パラメータであれば、露光時間を２倍にした場合に、撮像画像の輝度階調値も凡そ２倍になるように線形性が高いため、本実施形態を適用するのに好適な調整パラメータであるといえる。ただし、本実施形態の適用できる調整パラメータが線形性が高いものに限られるものではなく、事前に調整パラメータと輝度階調値との関係性が見いだせていればよい。例えば、光源にＬＥＤを使用する場合に、その電流の値と輝度階調値の関係性は一般に非線形となる。このときは事前にＬＥＤ電流の値と輝度階調値との関係を測定しておけばよい。
【００８２】
本実施形態に係る画像処理部４０が露光量を調整する為に行う処理について、同処理のフローチャートを示す図１１を用いて説明する。ステップＳ４１２１では、調整部４１は、予め設定されている若しくはユーザが不図示の操作部を介して設定した露光量の初期値（パラメータ）を設定する。本実施形態における初期露光量はある程度妥当な範囲に事前に調整されているものとする。例えば、第１の実施形態の露光量調整を事前に実施しておき、それを初期露光量とするとよい。撮像画像露光量制御部４６は、この露光量の初期値に応じて、撮像部２０の露光量を制御する。また、調整部４１は、予め設定されている若しくはユーザが不図示の操作部を介して設定したパターン光の明るさの初期値（パラメータ）を設定する。パターン光明るさ制御部４５は、このパターン光の明るさの初期値に応じて、投影部３０から投影されるパターン光の明るさを制御する。
【００８３】
ステップＳ４１０２では、投影部３０は、ポジティブパターン、ネガティブパターンのそれぞれから１つずつ順次選択し、該選択した投影パターンを対象物５に対して照射し、撮像部２０は、該対象物５を撮像する。４ビットの空間符号化法の場合、４ビットパターンを使用する。撮像部２０は、選択されたパターン光が投影される度に対象物５を撮像する。
【００８４】
ステップＳ４１２３では、適切露光量算出部４７及びパターン位置特定部４３により、撮像部２０が撮像した撮像画像を用いて適切な露光量（パラメータ）を算出する処理を行う。ステップＳ４１２３における処理の詳細については、図１２のフローチャートを用いて後述する。ステップＳ４１２４では、撮像画像露光量制御部４６は、撮像部２０における撮像時の露光量を、ステップＳ４１２３で算出したパラメータに応じて制御する。
【００８５】
次に、上記のステップＳ４１２３における処理の詳細について、図１２のフローチャートを用いて説明する。ステップＳ４２２１では、パターン位置特定部４３は、上記のステップＳ４２０６における処理と同様にして、撮像画像Ｉｎ３（撮像画像Ｉｎ４）における調整領域内で、上記の交点位置を推定する処理を行う。
【００８６】
ステップＳ４２２２で適切露光量算出部４７は、交点位置の近傍且つポジティブパターン波形上の２点及びネガティブパターン波形上の２点の計４点（図５（ｂ）の場合、ＰＲ，ＰＬ，ＮＲ，ＮＬのそれぞれの輝度階調値を有する４点）の輝度階調値を参照する。そして参照した４点の輝度階調値のうち最大値を、該交点位置における輝度階調値とする。これを、それぞれの交点位置について行う。
【００８７】
ステップＳ４２２３では、適切露光量算出部４７は、それぞれの交点位置についてステップＳ４２２２で求めた輝度階調値のヒストグラム（分布）を作成する。そしてステップＳ４２２４では、適切露光量算出部４７は、ヒストグラムにおいて、飽和レベル以上の輝度階調値を有する交点位置数（画素数）を総交点位置数で割った値が規定の閾値と規定の範囲内で同じであるような露光量を算出する。
【００８８】
ステップＳ４２２２及びＳ４２２３における処理について、図１３を用いて説明する。図１３（ａ）に、調整前のヒストグラムを示す。なお、横軸が輝度階調値であり、縦軸が画素数である。輝度階調値と調整パラメータとの間の関係は予め把握できている。そのため、（飽和レベル以上の画素の総数）／（計測画素の総数）≒閾値になる調整パラメータが一意に決まる。調整後のヒストグラムは図１３（ｂ）のようになる。そして、撮像画像露光量制御部４６は、撮像部２０における撮像時の露光量を、このように算出されたパラメータに応じて制御する。
【００８９】
なお、本実施形態では、露光量のみを調整する場合について説明したが、投影部３０に対するパラメータを調整しても構わないし、露光量及び投影部３０に対するパラメータの双方を調整するようにしても構わない。
【００９０】
［第３の実施形態］
画像処理部４０を構成する各機能部は何れもハードウェアで構成しても良いが、ソフトウェア（コンピュータプログラム）で構成しても良い。このような場合、このコンピュータプログラムをインストールすると該コンピュータプログラムを実行する装置は、画像処理部４０に適用可能である。画像処理部４０に適用可能な装置のハードウェア構成例について、図１６のブロック図を用いて説明する。
【００９１】
ＣＰＵ１６０１は、ＲＡＭ１６０２やＲＯＭ１６０３に格納されているコンピュータプログラムやデータを用いて処理を実行することで、本装置全体の動作制御を行うと共に、画像処理部４０が行うものとして上述した各処理を実行する。
【００９２】
ＲＡＭ１６０２は、外部記憶装置１６０６からロードされたコンピュータプログラムやデータ、Ｉ／Ｆ（インターフェース）１６０７を介して外部から受信したデータなどを一時的に記憶するためのエリアを有する。更にＲＡＭ１６０２は、ＣＰＵ１６０１が各種の処理を実行する際に用いるワークエリアを有する。即ち、ＲＡＭ１６０２は、各種のエリアを適宜提供することができる。ＲＯＭ１６０３には、本装置の設定データやブートプログラムなどが格納されている。
【００９３】
操作部１６０４は、キーボードやマウスなどにより構成されており、本装置のユーザが操作することで、各種の指示をＣＰＵ１６０１に対して入力することができる。例えば、上記の調整領域の指定は、この操作部１６０４を操作することで指定することができる。
【００９４】
表示部１６０５は、ＣＲＴや液晶画面等により構成されており、ＣＰＵ１６０１による処理結果を画像や文字などでもって表示することができる。例えば、撮像画像Ｉｎ１や撮像画像Ｉｎ２を含む、調整領域を指定するための画面を表示することができる。
【００９５】
外部記憶装置１６０６は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。この外部記憶装置１６０６には、ＯＳ（オペレーティングシステム）や、図１，１０に示した画像処理部４０内の各機能部が行うものとして上述した各処理をＣＰＵ１６０１に実行させるためのコンピュータプログラムやデータが保存されている。このデータには、上記の説明において既知の情報として説明した情報も含まれる。外部記憶装置１６０６に保存されているコンピュータプログラムやデータは、ＣＰＵ１６０１による制御に従って適宜ＲＡＭ１６０２にロードされ、ＣＰＵ１６０１による処理対象となる。
【００９６】
Ｉ／Ｆ１６０７は、本装置が外部機器と通信を行うためのものであり、例えば、このＩ／Ｆ１６０７には、上記の撮像部２０や投影部３０を接続することができる。上記の各部は何れも、バス１６０８に接続されている。
【００９７】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2015087243.tif 000003
【図２】
2015087243.tif 000004
【図３】
2015087243.tif 000005
【図４】
2015087243.tif 000006
【図５】
2015087243.tif 000007
【図６】
2015087243.tif 000008
【図７】
2015087243.tif 000009
【図８】
2015087243.tif 000010
【図９】
2015087243.tif 000011
【図１０】
2015087243.tif 000012
【図１１】
2015087243.tif 000013
【図１２】
2015087243.tif 000014
【図１３】
2015087243.tif 000015
【図１４】
2015087243.tif 000016
【図１５】
2015087243.tif 000017
【図１６】
2015087243.tif 000018