(57)【特許請求の範囲】
【請求項１】
投影装置によりパターン光が投影された対象物を、撮像装置により撮像した画像に基づいて、前記対象物の三次元計測を行う情報処理装置であって、
前記投影装置により投影されるパターン光の光強度と光照射時間をそれぞれ第１光強度と第１光照射時間に設定し、前記第１光強度に基づいて前記撮像装置により前記対象物を撮像するときの露光時間を第１露光時間に設定する設定手段と、
環境光下で前記撮像装置により撮像された複数の画像の各輝度のばらつきに基づき、前記露光時間を前記環境光の明滅周期の整数倍に設定するか否かを判定する判定手段と、
前記判定手段により、前記ばらつきが所定の値以上で、前記露光時間を前記環境光の明滅周期の整数倍に設定すると判定された場合には、前記露光時間を、前記第１露光時間に近い前記環境光の明滅周期の整数倍の第２露光時間に設定し、前記第２露光時間に基づいて前記パターン光の光強度または光照射時間を第２光強度または第２光照射時間に設定する制御手段と、
前記判定手段により、前記ばらつきが前記所定の値未満で、前記露光時間を前記環境光の明滅周期の整数倍に設定しないと判定された場合には、前記第１光強度と前記第１光照射時間で前記投影装置により前記パターン光を投影し、前記第１露光時間で前記撮像装置により前記対象物を撮像することにより、撮像された複数の画像を用いて前記対象物の三次元計測を行い、
前記露光時間を前記環境光の明滅周期の整数倍にする場合には、前記第２光強度または前記第２光照射時間で前記投影装置により前記パターン光を投影し、前記第２露光時間で前記撮像装置により前記対象物を撮像することにより、撮像された複数の画像を用いて前記対象物の三次元計測を行う計測手段と
を備えることを特徴とする情報処理装置。
【請求項２】
更に、前記環境光の発光強度を測定する手段を備え、
前記判定手段は、更に、前記環境光の発光強度に基づいて、前記判定を行うことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記パターン光は、明暗を有する空間符号化用のパターン光であることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
投影装置によりパターン光が投影された対象物を、撮像装置により撮像した画像に基づいて、前記対象物の三次元計測を行う三次元計測方法であって、
前記投影装置により投影されるパターン光の光強度と光照射時間をそれぞれ第１光強度と第１光照射時間に設定し、前記第１光強度に基づいて前記撮像装置により前記対象物を撮像するときの露光時間を第１露光時間に設定する設定ステップと、
環境光下で前記撮像装置により撮像された複数の画像の各輝度のばらつきに基づき、前記露光時間を前記環境光の明滅周期の整数倍に設定するか否かを判定する判定ステップと、
前記判定ステップにより、前記ばらつきが所定の値以上で、前記露光時間を前記環境光の明滅周期の整数倍に設定すると判定された場合には、前記露光時間を、前記第１露光時間に近い前記環境光の明滅周期の整数倍の第２露光時間に設定し、前記第２露光時間に基づいて前記パターン光の光強度または光照射時間を第２光強度または第２光照射時間に設定する制御ステップと、
前記判定ステップにより、前記ばらつきが前記所定の値未満で、前記露光時間を前記環境光の明滅周期の整数倍に設定しないと判定された場合には、前記第１光強度と前記第１光照射時間で前記投影装置により前記パターン光を投影し、前記第１露光時間で前記撮像装置により前記対象物を撮像することにより、撮像された複数の画像を用いて前記対象物の三次元計測を行い、
前記露光時間を前記環境光の明滅周期の整数倍にする場合には、前記第２光強度または前記第２光照射時間で前記投影装置により前記パターン光を投影し、前記第２露光時間で前記撮像装置により前記対象物を撮像することにより、撮像された複数の画像を用いて前記対象物の三次元計測を行う計測ステップとを備えることを特徴とする情報処理方法。
【請求項５】
コンピュータを、請求項１乃至３のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、測定対象を撮影することにより、測定対象の３次元形状を測定する方法に関する。
【背景技術】
【０００２】
被検物をカメラで撮影し、撮影した画像から被検物の形状を測定する３次元形状測定方法がある。このような方法においては、被検物の周囲に存在する光源にフリッカーが生じている場合、撮影した複数の画像の明るさが異なり、精度良く被検物の形状を測定できない場合がある。
【０００３】
この課題を解決すべく、特許文献１では画像測定器において、オートフォーカス時の撮影において露光時間をフリッカー周期の整数倍に設定し、また照明装置の発光周波数を５０Ｈｚ、６０Ｈｚの整数倍に設定している。これにより、フリッカーの影響を除去すると共に照明光が明滅していることによって発生する露光量のバラつきを除去し高精度なフォーカス位置測定を実現している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１５４８２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし特許文献１の方法では、照明光の発光周波数をフリッカー周期の整数倍に設定することで撮影時の明るさのバラつきを除去したとしても、測定に適切な露光量が得られない場合がある。
【０００６】
本発明は、上記課題に鑑みてなされたものであり、環境光にフリッカーが存在しても高精度に被検物の形状を精度よく測定することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の情報処理装置は、例えば、所定の周期で明滅する環境光下で、投影装置により所定のパターンが投影された対象物を、撮像装置により撮像した画像に基づいて、前記対象物の三次元計測を行う三次元計測装置であって、前記撮像装置の露光時間を設定する設定手段と、前記設定された露光時間に基づき、前記対象物の三次元計測を行う際の露光時間を前記環境光の周期の整数倍に設定するかを判定する判定手段と、前記判定手段により整数倍に設定すると判定された場合には、前記設定手段を制御することにより前記露光時間を前記環境光の周期の整数倍に設定し、前記投影装置により投影されるパターンの発光強度または発光時間を調整する制御手段と、前記制御手段によって制御された結果に基づいて、前記投影装置および前記撮像装置を制御し、前記対象物体の三次元計測を行う計測手段とを備える。
【発明の効果】
【０００８】
本発明によれば、環境光にフリッカーが存在しても高精度に被検物の形状を精度よく測定することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本発明の情報処理装置を用いたシステムを示した図である。
【図２】本発明の第１の実施形態の処理フローチャートを示した図である。
【図３】本発明における環境光の発光強度を測定する際の露光時間を設定する方法を示した図である。
【図４】本発明の形状計測方法における投影パターン光の一例を示した図である。
【図５】本発明の形状測定方法における空間符号を示した図である。
【図６】明滅する環境光下での撮影画像における輝度のバラつきの一例を示した図である。
【図７】本発明の第２の実施形態の処理フローチャートを示した図である。
【図８】本発明の第３の実施形態の処理フローチャートを示した図である。
【図９】本発明の情報処理装置のハードウェア構成の例を示した図である。
【発明を実施するための形態】
【００１０】
（第１の実施形態）
図１は、本発明の一実施形態に係る三次元計測装置を示した図である。三次元計測装置は、情報処理装置７、投影装置８、撮像装置９とを備えている。
【００１１】
投影装置８を構成する各部について説明する。
【００１２】
光源１は、光速を射出するＬＥＤである。パターン生成部２は、被検物に投影するパターンを生成し、パターンを変調する。本実施形態では、被検物に投影するパターンとして、明部と暗部とが周期的に並ぶ格子のパターンを生成する。パターン生成部２としては、例えばパターン生成部２には遮光部と非遮光部が規則的に並んだマスクパターンを用いても良いが、液晶素子、デジタルミラーデバイス（ＤＭＤ）などを用いることにより、モノクロパターン、正弦波状パターンなど任意のパターンを生成するようにしてもよい。投影レンズ３ａ、３ｂは、被検物にパターン光を照射する。
【００１３】
次に、撮像装置９を構成する各部について説明する。
【００１４】
集光レンズ５ａ、５ｂは、被検物４より反射されたパターン光を集光する。撮像素子６は、被検物４から拡散・反射された光束の強度を取得する。例えば、ＣＣＤやＣＭＯＳセンサなどを用いることができる。
【００１５】
情報処理装置７は、光源１の発光やパターン生成部２での投影パターン、撮像素子６の露光時間やゲインを制御し、撮像素子６から得られた光束の強度情報から被検物４の形状を算出する。情報処理装置７を構成する各機能部は、ＣＰＵ１９１０が、ＲＯＭ１９２０に格納されたプログラムをＲＡＭ１９３０に展開し、後述する各フローチャートに従った処理を実行することで実現されている。また例えば、ＣＰＵ１９１０を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、ここで説明する各機能部の処理に対応させた演算部や回路を構成すればよい。
【００１６】
以下、情報処理装置７を構成する各部について説明する。
【００１７】
光源制御部７ａは、光源１の発光強度や発光時間等を制御する。
【００１８】
投影パターン制御部７ｂは、パターン生成部２にて投影するパターンの変更等を制御する。
【００１９】
撮像素子制御部７ｃは、撮像素子の露光時間等を変更し、撮像装置９を制御することにより画像撮影を行う。そして、撮像装置９によって撮像された画像を取得する。
【００２０】
解析部７ｄは、撮像装置９が撮影した画像を撮像素子制御部７ｃを通じて取得し、フリッカー光源（環境光の光源）の発光強度と照明光の強度を比較し、露光時間をフリッカー所定周期の整数倍に設定するか否かを判定し、被検物の形状を算出する。より具体的には、光源制御部７ａで設定された発光強度と投影パターン制御部７ｂにより設定された被検物（対象物体）４に投影されるパターン光を変更しながら、撮像素子制御部７ｃにより設定された露光時間とゲインで投影されたパターン光（パターン）の強度を撮像素子６で複数回撮影する。そして解析部７ｄにて、撮像素子６で取得した複数枚の画像を基にパターン生成部２と撮像素子６の幾何関係から、被検物４の３次元形状を測定する。
【００２１】
なお本実施形態では、被検物の３次元形状を測定するにあたり、被検物にパターン光を投影し、パターン位置のずれから被検物の形状を測定する空間符号化パターン投影法を用いた装置について説明を行う。しかしながら、被検物の３次元形状測定方法は、空間符号化パターン投影法に限定されない。
【００２２】
以上の原理により形状測定に適切な露光量を得る露光時間と、フリッカー光源の単位時間当たりの平均発光強度と照明光の発光強度から、撮影時の露光時間をフリッカー周期の整数倍に設定するか否かを判定する。そして、露光時間をフリッカー周期の整数倍に設定する際は、露光時間中における照明光の発光量を測定に適切な露光量になるように調整する。
【００２３】
図２は、本発明の第１の実施形態に係る情報処理装置７が実施する処理の手順を示すフローチャートである。
【００２４】
Ｓ１０１において、光源制御部７ａは、フリッカー光源の平均発光強度を測定するために照明光を消灯する。
【００２５】
Ｓ１０２において、撮像素子制御部７ｃは、フリッカー光源の平均発光強度を測定するための露光時間を設定する。ノンインバーターの蛍光灯などで発生する電源周波数に依存するフリッカーは、電源周波数の２倍の周波数となる。このため、電源周波数が５０Ｈｚの地域では露光時間を１０ｍｓｅｃに設定し、電源周波数が６０Ｈｚの地域では露光時間を８．３ｍｓｅｃに設定する。なお予め電源周波数が既知の場合はそれに応じて設定すればよいが、電源周波数が不明な場合は図３に示す手順で、適切な露光時間を知ることができる。
【００２６】
Ｓ１０２−１において、照明光を消灯した状態で、撮像素子制御部７ｃは、撮像装置９に、電源周波数が５０Ｈｚの場合のフリッカーの１周期である露光時間１０ｍｓｅｃで画像を不等間隔で複数枚撮影させる。ここで画像の撮影間隔を不等間隔とすることで、撮像素子６のフレームレートがフリッカー周波数の整数倍である場合でも、正しくフリッカー周波数を正しく判定することができる。
【００２７】
Ｓ１０２−２において、撮影した複数枚の画像の注目部分の輝度値のバラつきσ１０ｍｓｅｃを算出する。
【００２８】
Ｓ１０２−３において、撮像素子制御部７ｃは、撮像装置９に、照明光を消灯した状態で、電源周波数が６０Ｈｚの場合のフリッカー周期である露光時間８．３ｍｓｅｃで画像を不等間隔で複数枚撮影させる。なお露光時間１０ｍｓｅｃでの撮影と露光時間８．３ｍｓｅｃでの撮影は順番が逆転しても構わない。
【００２９】
Ｓ１０２−４において、解析部７ｄは、撮影した複数枚の画像の注目部分の輝度値のバラつきσ８．３ｍｓｅｃを算出する。
【００３０】
Ｓ１０２−５にて、解析部７ｄは、σ１０ｍｓｅｃとσ８．３ｍｓｅｃの大小関係を比較し、バラつきが小さい方の露光時間をフリッカー光源の平均発光強度測定用の露光時間に設定する。これにより、予め電源周波数が分かっていなくても電源周波数に依存するフリッカー周期を特定することができる。
【００３１】
Ｓ１０３にて、撮像素子制御部７ｃは、照明光を消灯した状態で、Ｓ１０２で設定した露光時間で撮影を行い、解析部７ｄは、取得した画像の輝度からフリッカー光源の単位時間当たりの平均発光強度を算出する。この時、発光強度は以下の式１で算出することができる。
Ｉｆｌｉｃｋｅｒ＝Ｌ／（Ｇ×Ｔ）      （式１）
ここでＩｆｌｉｃｋｅｒはフリッカーの発光強度、Ｌは画像輝度値、Ｇは撮像素子のゲイン、Ｔは露光時間である。ただしフリッカーの発光強度を正しく測定するために画像輝度Ｌは飽和しないように撮像素子のゲインＧを調整する。なお画像輝度値Ｌは撮影した画像の特定部分の輝度値や画像全体の平均輝度値を用いてもよい。
【００３２】
Ｓ１０４において、Ｓ１０３で測定したフリッカー光源の平均発光強度と照明光の発光強度から、被検物の形状測定に適切な画像の輝度値となる露光時間を算出する。撮像素子のショットノイズや外乱によるノイズの影響を少なくし、輝度値の飽和を回避して高精度な形状測定を実現するためには適切な輝度値の画像が必要となる。形状測定に適切な精度から規定される画像の輝度値をＬｉｄｅａｌとすると、その輝度値を得るために必要な露光時間Ｔｍｅａｓｕｒｅは以下の式で表わされる。
Ｔｍｅａｓｕｒｅ＝Ｌｉｄｅａｌ／（Ｇ×（Ｉｆｌｉｃｋｅｒ＋Ｉｉｌｌｕｍｉｎａｔｉｏｎ））    （式２）
Ｇは撮像素子のゲイン、Ｉｆｌｉｃｋｅｒはフリッカー光源の単位時間当たりの平均発光強度、Ｉｉｌｌｕｍｉｎａｔｉｏｎは照明光の発光強度である。また照明光の発光強度が未知の場合、Ｓ１０３で用いた露光時間で撮影した画像の輝度から以下の式を用いて照明光の発光強度Ｉｉｌｌｕｍｉｎａｔｉｏｎを算出することができる。
Ｉｉｌｌｕｍｉｎａｔｉｏｎ＝Ｌｍｅａｓｕｒｅ／Ｇ×Ｔｍｅａｓｕｒｅ−Ｉｆｌｉｃｋｅｒ    （式３）
ここでＬｍｅａｓｕｒｅは測定した画像輝度である。なお照明光の発光強度Ｉｉｌｌｕｍｉｎａｔｉｏｎを測定する際には、画像の輝度値はフリッカーの影響を受けてバラつくため画像を複数枚撮影し、各画像の注目部分の輝度値の平均値をＬｍｅａｓｕｒｅとして採用することが望ましい。
【００３３】
Ｓ１０５において、Ｓ１０３で測定したフリッカー光源の平均発光強度と照明光の発光強度、Ｓ１０４にて算出した露光時間から、撮影の露光時間をフリッカー周期の整数倍に設定するか否かを判定する。判定は、Ｓ１０３で測定したフリッカー光源の平均発光強度と照明光の発光強度の比、およびＳ１０４にて算出した測定に適切な露光時間に基づいて行われる。
【００３４】
例えば、本実施形態における３次元計測測定方法である空間符号化パターン投影法では、投影するパターンは図４（ａ）〜（ｊ）に示すようなパターンを順に投影する。この例では４ビットの空間符号化パターン投影法のグレイコードパターンである。空間符号化パターン投影法では各ｂｉｔのパターン光強度画像の輝度情報から明暗判定を行い、撮影範囲の領域毎に空間符号を付与する。例えば１ｂｉｔ目の画像において明暗判定を行い、空間符号を付与する際の明暗判定において、図４（ｂ）のポジティブパターン画像と図４（ｇ）のネガティブパターン画像の同一画素において、ポジティブパターンの輝度とネガティブパターンの輝度の平均値を閾値として、閾値よりも明るい画素を１、暗い画素を０と判定し、空間符号を付与する。これを各ｂｉｔのパターン光強度画像に対して行い、４ｂｉｔまで行ったとすると図５に示すように空間符号を付与することができる。そして付与した空間符号と、パターン生成部と撮像素子の幾何関係から被検物の形状を算出する。
【００３５】
このような場合において測定環境にフリッカー光源が存在する場合、同一画素におけるポジパターン照射時及びネガパターン照射時の輝度値にバラつきが発生し、フリッカー光源の平均発光強度と照明光の発光強度、露光時間の組み合わせによっては明暗判定が正しく行えず、被検物の３次元形状を正しく測定できない場合が発生する。被検物や測定状態にもよるが、フリッカー光源による画像輝度値のバラつきが５％程度になると空間符号化を誤ることが少なくなる。
【００３６】
図６は、明滅する環境光下での撮影画像における輝度のバラつきを示す図である。図６における１点鎖線が示すように照明光の発光強度／フリッカーの平均発光強度が１０以上であれば、いかなる露光時間であっても撮影される画像輝度値のバラつきは、当該露光時間で平均的に得られる画像輝度値に対して５％未満となる。この為、照明光の発光強度／フリッカーの平均発光強度の値が１０以上であれば露光時間をフリッカー周期の整数倍に設定しないと判定しＳ１０７に進む。
【００３７】
一方、照明光の発光強度／フリッカーの平均発光強度の値が１０未満であれば露光時間をフリッカー周期の整数倍に設定すると判定し、Ｓ１０６に進む。そして、Ｓ１０４にて算出した露光時間から最も近いフリッカー周期の整数倍の露光時間を設定し、設定したフリッカー周期の整数倍の露光時間において適切な画像輝度が得られるように照明光の光量を制御して撮影を行う。本実施形態では照明光の光量の制御を、発光強度（投影強度）を制御することにより行う場合について説明する。フリッカーによる画像輝度値のバラつきを低減するために設定した露光時間をＴａｎｔｉｆｌｉｃｋｅｒとすると、適切な露光量を得るために必要な照明光の発光強度Ｉ’ｉｌｌｕｍｉｎａｔｉｏｎは以下の式で表わされる。
【００３８】
【数１】
0006566737.tif 000002
【００３９】
ここでＧは撮像素子のゲイン、Ｉｆｌｉｃｋｅｒはフリッカー光源の単位時間当たりの平均発光強度、ＴｍｅａｓｕｒｅはＳ１０４で算出した露光時間、Ｉｉｌｌｕｍｉｎａｔｉｏｎは制御前の照明光の発光強度である。例えば、照明光の発光強度／フリッカー光源の平均発光強度が１、適切な露光時間が７．５ｍｓｅｃ（フリッカー周期の０．７５倍）の場合、露光時間を１０ｍｓｅｃ（フリッカー周波数１００Ｈｚの場合）に設定する。そして、照明光の発光強度は式４より
Ｉ’ｉｌｌｕｍｉｎａｔｉｏｎ＝０．５×Ｉｉｌｌｕｍｉｎａｔｉｏｎ    （式５）
となる。この照明光強度になるように光源制御部にて光源の制御を行い、撮影を行う。
【００４０】
一方、露光時間をフリッカー周期の整数倍に設定しない場合、Ｓ１０７に進み、Ｓ１０４にて算出した露光時間と照明光の発光強度Ｉｉｌｌｕｍｉｎａｔｉｏｎで撮影を行う。
【００４１】
次にＳ１０８において、Ｓ１０６またはＳ１０７で撮影した画像（撮影した結果）から被検物の３次元形状を測定する。本発明における形状測定方法として空間符号化パターン投影法を用いているため、図４に示すように４ｂｉｔまでのパターン画像を投影したとすると図５に示すように空間符号を付与することができる。そして付与した空間符号と、パターン生成部と撮像素子の幾何関係から被検物の形状を算出する。
【００４２】
このように、本実施形態によれば、フリッカーが発生する環境下でも、露光時間を適切に制御することにより、高精度に三次元計測を行うことができる。
【００４３】
（変形例）
上記第１の実施形態では、照明光の発光強度／フリッカーの平均発光強度の値のみに基づいて、露光時間をフリッカー周期に設定するか否かの判定を行った。しかしながら、露光時間を組み合わせて判定することも可能である。照明光の発光強度／フリッカーの平均発光強度の値が１０未満、例えば５であったとしても、露光時間がフリッカー周期の１倍を超える場合であれば、画像輝度値のバラつきは５％未満になる。この為、露光時間をフリッカー周期に設定するか否かの判定基準を照明光の発光強度／フリッカーの平均発光強度の値が５以上で且つ露光時間がフリッカー周期の１倍以上と設定することができる。これらの判定基準は測定方法や測定に要求される精度等に基づき設定することができるため、上記にあげた数値は一例である。
【００４４】
（第２の実施形態）
第２の実施形態では、照明光の点灯時間（発光時間）を制御することにより、照明光の光量制御を行う。
【００４５】
本実施形態を実施する為に必要な装置構成は第１の実施形態（図１）と同様である。また各部の機能も第１の実施形態（図１）と同様である。
【００４６】
本実施形態の測定方法を図７に示す。まず第１の実施形態と同様に、Ｓ２０１で照明光を消灯する。
【００４７】
Ｓ２０２において、第１の実施形態と同様にフリッカー光源の平均発光強度を測定するための露光時間を設定する。
【００４８】
Ｓ２０３において、第１の実施形態と同様に、照明光を消灯した状態で、Ｓ１０２で設定した露光時間で撮影を行い、取得した画像の輝度から式１に基づきフリッカー光源の単位時間当たりの平均発光強度を算出する。
【００４９】
Ｓ２０４において、Ｓ２０３で測定したフリッカー光源の平均発光強度と照明光の発光強度から、式２に基づき被検物の形状測定に適切な画像の輝度値となる露光時間を算出する。
【００５０】
Ｓ２０５において、第１の実施形態と同様に、Ｓ２０２で測定したフリッカー光源の発光強度と照明光の発光強度、Ｓ２０４にて算出した露光時間から、撮影の露光時間をフリッカー周期の整数倍に設定し、その露光時間内で適切な光量を得るために照明光を制御するか、Ｓ２０３で算出した露光時間で撮影を行うかを判定する。
【００５１】
次に、露光時間をフリッカー周期の整数倍に設定する場合、Ｓ２０６に進み、Ｓ２０４にて算出した露光時間から最も近いフリッカー周期の整数倍の露光時間を設定し、設定したフリッカー周期の整数倍の露光時間において適切な画像輝度が得られるように照明光の光量を制御して撮影を行う。本実施形態では照明光の光量の制御を照明光の点灯時間を用いて行う方法を説明する。フリッカーによる画像輝度値のバラつきを低減するために設定した露光時間をＴａｎｔｉｆｌｉｃｋｅｒとすると、適切な露光量を得るために必要な照明光の点灯時間Ｔｉｌｌｕｍｉｎａｔｉｏｎは以下の式で表わされる。
【００５２】
【数２】
0006566737.tif 000003
【００５３】
ここでＧは撮像素子のゲイン、Ｉｆｌｉｃｋｅｒはフリッカー光源の単位時間当たりの平均発光強度、ＴｍｅａｓｕｒｅはＳ２０３で算出した露光時間、Ｉｉｌｌｕｍｉｎａｔｉｏｎは制御前の照明光の発光強度である。撮影の露光時間自体はフリッカーによる画像輝度値のバラつきを低減するために設定した露光時間をＴａｎｔｉｆｌｉｃｋｅｒとし、露光中の照明光の点灯時間をＴｉｌｌｕｍｉｎａｔｉｏｎとすることで第１の実施形態と同様の効果を得ることができる。なお露光中の照明光の点灯タイミングは露光中であればいつであってもよい。また点灯時間がＴｉｌｌｕｍｉｎａｔｉｏｎを満たすように一定周期で照明光の明滅を繰り返してもよい。
【００５４】
対して露光時間をフリッカー周期の整数倍に設定しない場合、第１の実施形態と同様にＳ２０６に進み、Ｓ１０４にて算出した露光時間と照明光の発光強度Ｉｉｌｌｕｍｉｎａｔｉｏｎおよび照明光の点灯時間をＴａｎｔｉｆｌｉｃｋｅｒとして撮影を行う。
【００５５】
Ｓ２０８において、第１の実施形態と同様にＳ２０６またはＳ２０７で撮影した画像から被検物の３次元形状を測定する。本発明における形状測定方法として空間符号化パターン投影法を用いているため、図４に示すように４ｂｉｔまでのパターン画像を投影したとすると図５に示すように空間符号を付与することができる。そして付与した空間符号と、パターン生成部と撮像素子の幾何関係から被検物の形状を算出する。
【００５６】
以上の方法によりフリッカーによる影響を最低限に抑え、精度よく被検物の形状測定が可能となる。
【００５７】
このように、本実施形態によれば、照明光の光量制御を行うことなく点灯時間によって露光量を制御するため、照明光の光量が制御できない場合にもフリッカーによる影響を低減し、高精度な三次元計測が可能となる。
【００５８】
（第３の実施形態）
第１、２の実施形態では、フリッカー周期の整数倍に設定するか否かの判断を、照明光の発光強度／フリッカーの平均発光強度に基づいて行った。しかしながら、実際の計測現場では、照明光の発光強度は、フリッカーの平均発光強度よりも大きいことが通常である（照明光の発光強度／フリッカーの平均発光強度＜１という状況はないと考える）。そのため、第３の実施形態では、予め照明光の発光強度がフリッカー光源の発光強度よりも十分大きいことが分かっている場合に、照明光の発光強度／フリッカーの平均発光強度を考えず、露光時間のみに基づいて、フリッカー周期の整数倍に設定するか否かの判断を行う。
【００５９】
図８は本実施形態の処理を示すフローチャートである。
【００６０】
Ｓ３０１では、露光時間Ｔｍｅａｓｕｒｅを求める。本実施形態においては、フリッカーの平均発光強度を計測しない。そのため、式３ではなく、露光時間Ｔｍｅａｓｕｒｅを変化させながら画像を撮影し、撮像した画像内の注目部分の輝度が最適な輝度となる最適な露光時間Ｔｍｅａｓｕｒｅを求める。
【００６１】
Ｓ３０２では、Ｓ３０１で得られた露光時間に基づいて、フリッカー周期の整数倍に設定するか否かの判断を行う。
【００６２】
図６に示すように、照明光の発光強度がフリッカー光源の平均発光強度よりも小さくなるような環境を除いて、露光時間がフリッカー周期の２倍を超える場合は画像輝度のバラつきが５％未満になる。このためＳ３０１で得られた露光時間がフリッカー周期の２倍超であれば露光時間をフリッカー周期の整数倍に設定しないと判定し、Ｓ３０４に進む。対して２倍未満であれば露光時間をフリッカー周期の整数倍に設定すると判定し、Ｓ３０３に進む。これらの判定基準は測定方法や測定に要求される精度等に基づき設定される。
【００６３】
Ｓ３０３では、第１の実施形態と同様にフリッカー周期の整数倍の露光時間において適切な画像輝度が得られるように、照明光の光量を制御して撮影を行う。もちろん、第２の実施形態のように、照明光の点灯時間を制御してもかまわない。
【００６４】
Ｓ３０４では、露光時間を整数倍に変更する必要がないため、Ｓ３０１で得られた露光時間に基づいて撮像を行う。
【００６５】
Ｓ３０５において、第１の実施形態と同様にＳ３０３またはＳ３０４で撮影した画像から被検物の３次元形状を測定する。
【００６６】
このように、本実施形態によれば、フリッカーの平均発光強度の測定を行わずに済むため、短時間でフリッカー周期の整数倍に設定するか否かの判断を行い、高速かつ高精度な三次元計測ができる。
【００６７】
以上、本願明細書において、光源１で発光する光の強度および発光する時間を調整することを説明した。しかしながら、本願発明はこれに限られない。例えば、光源１で発光する強度および時間は固定のまま、投影レンズ３ａ、３ｂを通じて実際に投影装置から投影されるパターンの発光強度および発光時間をマスク等で遮光することにより調整しても良い。即ち、本願明細書において、発光強度および発光時間は、光源１の発光強度および発光時間のみならず、実際に投影装置から投影されるパターンの発光強度および発光時間を含む。
【００６８】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
0006566737.tif 000004
【図２】
0006566737.tif 000005
【図３】
0006566737.tif 000006
【図４】
0006566737.tif 000007
【図５】
0006566737.tif 000008
【図６】
0006566737.tif 000009
【図７】
0006566737.tif 000010
【図８】
0006566737.tif 000011
【図９】
0006566737.tif 000012