計測システム、画像補正方法、及びコンピュータプログラム
【課題】照明系及び撮像系の双方の測定対象物との位置関係が可変である場合の撮像画像による3次元計測を正確に行う。
【解決手段】照明系101の偏角、撮像系102の偏角を考慮して輝度を補正した場合に想定される空間変調器上の輝度分布(照明系101と撮像系102の双方を考慮した輝度分布補正値)を生成する。この輝度分布補正値と、位置関係に起因しない静的な輝度分布補正値とから、3次元計測システムにおける輝度分布の補正値を生成し、この輝度分布の補正値に基づいて、照明パターン画像の階調変換をし、階調変換した照明パターン画像に従った照明を行う。また、動径の情報と、測定対象物103の反射率とを基に、3次元システムの光量減衰率を求め、この3次元システムの光量減衰率と、基準とする光量減衰率との比較結果から、光源の強度を調整する。
【解決手段】照明系101の偏角、撮像系102の偏角を考慮して輝度を補正した場合に想定される空間変調器上の輝度分布(照明系101と撮像系102の双方を考慮した輝度分布補正値)を生成する。この輝度分布補正値と、位置関係に起因しない静的な輝度分布補正値とから、3次元計測システムにおける輝度分布の補正値を生成し、この輝度分布の補正値に基づいて、照明パターン画像の階調変換をし、階調変換した照明パターン画像に従った照明を行う。また、動径の情報と、測定対象物103の反射率とを基に、3次元システムの光量減衰率を求め、この3次元システムの光量減衰率と、基準とする光量減衰率との比較結果から、光源の強度を調整する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、計測システム、画像補正方法、及びコンピュータプログラムに関し、特に、撮像画像を用いて3次元計測を行うために用いて好適なものである。
【背景技術】
【0002】
マシンビジョン分野における重要な技術要素として3次元計測技術がある。3次元計測技術の一手法では、まず、測定対象物に対して2次元パターン光を照射することによって得られるパターン投影像をカメラで撮像する。次に、2次元パターンの周期性を手掛かりに、2次元の撮像画像をコンピュータで解析して測定対象物の距離情報を得る。この距離情報は、測定対象物のカメラからの距離や、表面凹凸等、測定対象物の奥行き方向の距離である。測定対象物の幅方向及び高さ方向の情報は、2次元の撮像画像から得ることができるため、この時点で3次元空間情報が得られる。そして、2次元の撮像画像と、距離情報と、予め保持している測定対象物のモデル情報とを用いて3次元モデルフィッティングを行い、測定対象物の位置、姿勢、及び3次元形状を計測する。
【0003】
測定対象物の奥行き方向の距離情報を得るために2次元パターン光を用いる手法は、パターン投影法と呼ばれる。一般に、パターン投影法では、エッジパターン又は正弦波パターンを測定対象物に照射する。エッジパターンとは、簡単には白黒等の2値階調の縞が規則的に連続して並んだ離散的パターンであり、正弦波パターンとは、簡単には連続的に階調を変化させてグラデーションにより正弦波を表現する連続的パターンである。2次元パターン光を測定対象物に照射すると、測定対象物の表面の凹凸や形状に依存してパターンの不連続や歪みが観測できる。エッジパターンでは、この不連続がエッジの位置ずれに相当し、正弦波パターンでは、この歪みが位相ずれに相当する。エッジパターンでは、三角測量の原理を利用してエッジの位置ずれから、測定対象物の奥行き方向の距離を推定する。そのため、エッジ位置がどこかを正確に認識するエッジ認識の精度は、測定対象物の奥行き方向の距離の精度に影響を与える。同様に正弦波パターンでも、三角測量の原理を利用して位相ずれから奥行き方向の距離を推定する。そのため、位相、すなわち階調を正確に認識する階調認識の精度は、測定対象物の奥行き方向の距離の精度に影響を与える。
【0004】
エッジ認識では、2値階調の輝度差、又は輝度変化の過程からエッジ位置を認識する。エッジ部分の階調が反転する過渡的な領域では輝度が連続的に変化していると考えられる。2次元パターン光の意図しない輝度変化は、この過渡的な輝度の変化の経路や階調が飽和する位置を無秩序に変化させる。そのため、2次元パターン光の意図しない輝度変化(所謂輝度むら)が生じ、これによりエッジ認識の精度が低下する。同様の論理により、2次元パターンの輝度変化(所謂輝度むら)は階調認識の精度を低下させる。
このような2次元パターンの輝度変化(所謂輝度むら)を抑制するための技術として特許文献1に記載の技術がある。特許文献1では、検査面の側方に照明装置を設置して照明する場合、検査面が均一面であっても反射光強度、及びCCD出力が均一にならないという課題に対し、照明装置の出射端と検査面両端との距離の比を用いて照明光の出射強度比を変更するようにしている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平06−242020号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に記載の技術は、照明装置が検査面に対して可変な配置であるのに対し、CCDカメラは検査面に対して正対した固定配置となる構成が前提である。このように特許文献1に記載の技術では、CCDカメラが固定されているため、オクルージョン(occlusion)、照明装置の空間位置に起因する光量不足や画像劣化等に対してロバスト(robust)でない。同様に前提とする構成からの帰結として、照明系の位置関係に起因する輝度変化を補正するのには有効であるが、撮像系の位置関係に起因する輝度変化には寄与しない。
本発明は、このような問題点に鑑みてなされたものであり、照明系及び撮像系の双方の測定対象物との位置関係が可変である場合の撮像画像による3次元計測を正確に行うことができるようにすることを目的とする。
【課題を解決するための手段】
【0007】
本発明の計測システムは、測定対象物に照明光を照射する照明手段と、前記照明手段の動作を制御する照明制御手段と、測定対象物からの反射光または透過光を撮像する撮像手段と、前記撮像手段の動作を制御する撮像制御手段と、前記照明手段および前記撮像手段の、前記測定対象物との位置関係を示す位置関係情報を取得する取得手段と、前記位置関係情報に基づき、前記照明手段による照明光と、前記撮像手段で撮像された画像とのうち、少なくともいずれか一方の輝度を補正して、前記撮像手段で撮像された前記測定対象物の画像の輝度変化を補正する補正手段と、を有し、前記測定対象物と前記照明手段と前記撮像手段とのうち、少なくとも二つの位置が可変であることを特徴とする。
【発明の効果】
【0008】
本発明によれば、照明手段、撮像手段、及び測定対象物の位置に関する情報に基づき、照明手段による照明光と、撮像手段で撮像された画像とのうち、少なくともいずれか一方の輝度を補正して、撮像手段で得られた測定対象物の画像の輝度変化を補正する。したがって、測定対象物、照明手段、及び撮像手段の位置関係を考慮して測定対象物の画像の輝度変化を補正することができる。よって、照明系及び撮像系の双方の測定対象物との位置関係が可変である場合の撮像画像による3次元計測を正確に行うことが可能になる。
【図面の簡単な説明】
【0009】
【図1】第1の実施形態の3次元計測システムの概略構成を示す図である。
【図2】3次元計測システムの機能ブロックを示す図である。
【図3】2次元パターン光を概念的に示す図である。
【図4】3次元計測システムの処理を説明するフローチャートである。
【図5】照明本体部の構成の一例を示す図である。
【図6】照明制御部の機能ブロックを示す図である。
【図7】輝度補正をする際に用いられる位置関係情報を説明する図である。
【図8】照明系と撮像系の光軸の検査面への射影像が一致する場合の輝度分布の補正を説明する図である。
【図9】照明系と撮像系の光軸の検査面への射影像が一致しない場合の輝度分布の補正を説明する図である。
【図10】輝度分布と輝度強度との両方を含めた照明パターン画像の輝度補正の一例を説明する図である。
【図11】輝度補正部の機能ブロックを示す図である。
【図12】図4の輝度補正処理を説明するフローチャートである。
【図13】図12の輝度分布補正値生成処理を説明するフローチャートである。
【図14】階調変換で発生するダイナミックレンジの低下を補う処理を説明する図である。
【図15】第2の実施形態の3次元計測システムの処理を説明するフローチャートである。
【図16】撮像制御部の機能ブロックを示す図である。
【図17】輝度補正部の機能ブロックの一例を示す図である。
【図18】照明系で輝度補正を階調に着目して説明するフローチャートである。
【図19】照明系で輝度補正を行う場合のデータを示す図である。
【図20】撮像系での局所的な輝度補正を概念的に説明する図である。
【図21】第3の実施形態の処理の流れを説明する図である。
【図22】照明制御部の機能ブロックを示す図である。
【図23】撮像制御部の機能ブロックを示す図である。
【図24】輝度補正処理の一例を説明するフローチャートである。
【図25】第4の実施形態の3次元計測システムの概略構成を示す図である。
【図26】3次元計測システムの機能ブロックを示す図である。
【図27】3次元計測システムの処理の流れを説明する図である。
【発明を実施するための形態】
【0010】
(第1の実施形態)
まず、本発明の第1の実施形態を、図面を参照しながら説明する。
図1は、3次元計測システムの概略構成の一例を示す図である。この3次元計測システムは、例えば、工場の製造ライン等でロボットハンドが、部品の選別や組み立て等の作業が行えるように、対象となる部品の3次元計測を行う計測システムである。3次元計測システムは、大別すると、照明系101と撮像系102とを有する。
照明系101は、測定対象物103に2次元パターン光を照射する。照明系101には小型のプロジェクタ等が用いられる。撮像系102は、測定対象物103上に投影された2次元パターン光の画像を撮像する。撮像系102には、CCDカメラやCMOSカメラが用いられる。照明系101及び撮像系102は、ロボットアームに搭載できる小型で軽量なものが望ましい。測定対象物103は3次元計測の測定対象物であり、ここでは部品の選別や組み立ての対象となる部品である。ここで、照明系101と撮像系102と測定対象物103とのうち、少なくとも2つは空間位置が可変である。図1では、測定対象物103が拡散反射物体や鏡面物体であることを想定しているが、測定対象物103は2次元パターン光が透過する透明な物体でもよい。その場合、撮像系102は、透過光を撮像する位置に配置される。作業用のロボットハンドは図示していないが、作業領域の省スペース化を行う場合、作業用のロボットハンドと、照明系101や撮像系102を搭載したロボットアームとが一体で構成されることが望ましい。また、図1では、照明系101と撮像系102のそれぞれでロボットアームをもつ構成としているが、1つのロボットアームに照明系101と撮像系102を搭載する構成でもよい。
【0011】
図2は、3次元計測システムの機能ブロックの一例を示す図である。3次元計測システムは、照明本体部201、照明制御部202、撮像本体部203、撮像制御部204、3次元撮像処理部205、3次元計測処理部206、制御部207、及び位置関係情報取得部208を備えて構成される。
照明本体部201は、測定対象物103に向けて2次元パターン光を照射する。具体的に照明本体部201は、パターン投影法に基づき、空間符号化法で用いられるエッジパターンや、位相シフト法で用いられる正弦波パターンを測定対象物103に投射する。パターン投影法については図3を用いて後述する。照明本体部201は、光源209、照明光学系210、空間変調器211、及び投影光学系212を備えて構成される。光源209としてはLEDやLD等が用いられる。空間変調器211としてはTFT液晶パネル、LCOSパネル、走査型MEMSデバイス等が用いられる。照明制御部202は、照明パターン画像(照明に使用される2次元パターン画像)の制御や、照明本体部201の制御等を行う。具体的に照明制御部202は、外部から入力された、照明パターン画像の輝度補正(画像補正)や、当該照明パターン画像に対応した光源209や空間変調器211(パネル)の駆動制御等を行う。照明パターン画像のデータは、外部入力以外に、内部ロジックで生成しても、内部メモリから読み出して生成してもよい。撮像本体部203は、測定対象物103で反射された2次元パターン光を撮像する。実際に撮像される2次元パターン光には、測定対象物103の形状や表面の凹凸の影響でパターンのエッジずれや位相ずれが発生している。撮像本体部203は、撮像デバイス213及び撮像光学系214を備えて構成される。撮像デバイス213としてはCCDやCMOS等のイメージ・センサが用いられる。ここでは、測定対象物103として拡散反射物体や鏡面物体を想定しているが、測定対象物103は、2次元パターン光が透過する透明な物体でもよい。撮像制御部204は、撮像本体部203の制御を行う。具体的に撮像制御部204は、撮像デバイス213の動作制御や、シャッタースピード、フレームレート、ROI(Region Of Interest)等の動作タイミングの制御等を行う。3次元撮像処理部205は、撮像された2次元パターン光を基に、測定対象物103の距離情報を取得する。具体的に3次元撮像処理部205は、パターン投影法を利用して、測定対象物103の奥行き方向の距離を計測する。撮像された2次元パターン光の幅方向及び高さ方向の距離情報と、測定対象物103の奥行き方向の距離情報との双方を考慮することにより、測定対象物103の3次元の情報が得られる。3次元計測処理部206は、測定対象物103の位置、姿勢、及び3次元形状を計測する。3次元計測処理部206は、3次元撮像処理部205で計測した「測定対象物103の奥行き方向の距離」と、「2次元パターン光に基づく画像」とを基にモデルフィッティングを行い、測定対象物103の位置、姿勢、及び3次元形状を計測する。計測された測定対象物103の3次元形状、位置、及び姿勢の情報は、部品のピッキングや組み立てを行うためのロボットハンドの制御に用いられる。制御部207は、照明制御部202と撮像制御部204とを統合制御する。具体的に制御部207は、照明と撮像の同期制御機能や、照明系101・撮像系102の位置関係情報を、輝度補正の情報として用いるための伝送機能等を有する。このように本実施形態では、照明系101で輝度補正を実施する構成を想定しているため、位置関係情報取得部208からの照明系101・撮像系102の位置関係情報は照明制御部202に送られる。位置関係情報取得部208は、ロボットアームが保持する位置関係情報を基に、測定対象物103の位置関係情報と、照明系101・撮像系102の位置関係情報を取得する。絶対座標におけるロボットアームの位置・姿勢は、ロボットアームのキャリブレーションにより取得できる。絶対座標の基準位置は任意に設定でき、その座標系により3次元計測システムのワークエリア内の座標が特定できれば良い。照明本体部201及び撮像本体部203はロボットアームに固定搭載されているため、ロボットアームの位置・姿勢が分かれば、照明本体部201及び撮像本体部203の位置・姿勢を算出できる。また、測定対象物103の絶対座標における位置も3次元計測システムのキャリブレーションにより取得できる。照明系101・撮像系102の位置関係情報は、任意に設定した絶対座標における位置・姿勢のことである。測定対象物103の位置関係情報は、その絶対座標における位置のことである。さらに、位置関係情報の別の形態として、測定対象物103を基準位置とした表現とすることもできる。すなわち、照明系101・撮像系102の位置関係情報を、測定対象物103を原点とした球座標系における動径情報・偏角情報として表現することもできる。本実施形態では、このようにして位置関係情報を表現する場合を例に挙げて説明する(詳細は図7を用いて後述する)。照明系101・撮像系102の位置関係情報は、制御部207を介して照明制御部202の輝度補正で用いられる。以上の機能ブロックにより、測定対象物103の3次元計測が実現できる。
【0012】
図3は、3次元計測技術で用いられる2次元パターン光の一例を概念的に示す図である。測定対象物103の奥行き方向の距離情報を得るために2次元パターン光を用いる手法は、パターン投影法と呼ばれる。一般に、パターン投影法では、複数のエッジパターン又は同一位相の正弦波パターンを投影する。図3(a)は2値階調で表現したエッジパターンの一例、図3(b)は正弦波パターンの一例である。2次元パターン光を測定対象物103に照射すると、測定対象物103の表面の凹凸や形状に依存してパターンの不連続や歪みが観測できる。図3(a)に示すエッジパターン301では、この不連続がエッジずれに相当し、図3(b)に示す正弦波パターン302では、この歪みが位相ずれに相当する。エッジパターン301を用いた場合には、三角測量の原理を利用して、エッジずれから、測定対象物103の奥行き方向の距離を推定する。この推定には、空間符号化法が用いられる。推定の際には、白黒パターンを2値情報として符号化する。符号化方法が異なる(すなわち、白黒パターンの並びが異なる)投影像を複数回撮像し、それらのエッジ情報から測定対象物103の奥行きの距離を推定する。正弦波パターン302を用いた場合にも同様に、三角測量の原理を利用して、位相ずれから、測定対象物103の奥行き方向の距離を推定する。この推定には、位相シフト法が用いられ、正弦波パターン302の位相をシフトさせた投影像を複数回撮像し、それらの位相情報から測定対象物103の奥行き方向の距離を推定する。測定対象物103の奥行き方向の距離の算出に際し、空間符号化法を用いた場合にはエッジ情報が用いられ、位相シフト法を用いた場合には位相情報が用いられる。そのため、測定対象物103の奥行き方向の距離の精度は、エッジ情報、位相情報の精度に大きく影響する。3次元撮像処理部205が行うエッジ認識では、2値階調の輝度差、又は2値階調間の輝度の変化の過程からエッジ位置を認識する。3次元撮像処理部205が行う位相認識では、位相の連続的な変化を認識する。位相の連続的変化とは輝度の連続的な変化、すなわち階調の変化である。エッジパターン301のエッジ精度、正弦波パターン302の階調精度は、輝度変化に対して敏感であり、測定対象物103の奥行き方向の距離の精度に影響を与える重要なパラメータである。
【0013】
図4は、3次元計測システムの処理の一例を説明するフローチャートである。
ステップS401では、制御部207は、照明系101を制御する照明制御部202と、撮像系102を制御する撮像制御部204とのそれぞれに対して通信の確立を行う。
次に、ステップS402では、照明系101・撮像系102の位置関係情報のキャリブレーションが行われる。位置関係情報取得部208からの照明系101・撮像系102の位置関係情報が、制御部207を介して照明制御部202へ送信される。ここで送信される位置関係情報は、ステップS403の輝度補正処理で用いられる。この位置関係情報の精度は、照明制御部202で行われる輝度補正の精度に影響を与える。このため、3次元計測処理時に用いる位置関係情報と同一の位置関係情報を用いてキャリブレーションを行うのが望ましい。しかしながら、キャリブレーション時と3次元計測時とで照明系101・撮像系102それぞれの位置関係情報が異なる場合、例えば、ロボットアームを動作させながら3次元計測処理を行う場合には、動き予測を加味した位置関係情報を用いるのが望ましい。
【0014】
次に、ステップS403では、照明制御部202は、照明系101・撮像系102の位置関係情報を基に、照明パターン画像の輝度補正を行う。輝度補正処理については、図7から図13を用いて後述する。
次に、ステップS404では、照明本体部201は、測定対象物103に2次元パターン光を照射する。空間符号化法では、複数のエッジパターン301の2次元パターン光が照射され、位相シフト法では、同一位相の正弦波パターン302の2次元パターン光が照射される(図3を参照)。
次に、ステップS405では、撮像本体部203は、測定対象物103から拡散反射された2次元パターン光を撮像する。実際に撮像される2次元パターン光には、測定対象物103の形状や表面の凹凸の影響で、パターンのエッジずれや位相ずれが発生している。
次に、ステップS406では、3次元撮像処理部205は、3次元撮像処理を行う。具体的に3次元撮像処理部205は、パターン投影法を利用して、撮像された2次元パターン光から、測定対象物103の奥行き方向の距離を取得する。3次元撮像処理部205は、2次元パターン光の画像の幅方向と高さ方向の情報と合わせて、このステップS406で測定対象物103の3次元情報を取得する。
次に、ステップS407では、3次元撮像処理部205は、3次元情報を更新する。空間符号化法でも位相シフト法でも複数枚の2次元パターン光を撮像して3次元情報を取得する。このステップS407では、2次元パターン光の画像が1枚得られる毎に3次元情報を更新する。空間符号化法を用いた場合には、符号パターンの異なる複数の画像を用いてステップS403〜S407のループを繰り返す。このステップS407では、符号パターン毎の3次元撮像処理の結果を使って3次元情報が更新される。このループ処理を繰り返す(ループの回数を増やす)ことで(すなわち、符号パターンの異なる複数の画像からの3次元撮像処理の結果を使うことで)、3次元計測の精度を向上させることができる。
次に、ステップS408では、3次元撮像処理部205は、3次元情報の取得が完了したか否かを判断する。実際には、空間符号化法でも、位相シフト法でも予め撮影枚数が決められており、その撮影枚数に対応する回数だけステップS403〜S407のループを繰り返す。3次元情報の取得が完了したら、ステップS409へ進む。
ステップS409では、3次元計測処理部206は、3次元計測処理を行う。具体的に3次元計測処理部206は、3次元撮像処理部205で計測された、測定対象物103の奥行き方向の距離と、2次元パターン光の画像とを基にモデルフィッティングを行い、測定対象物103の位置、姿勢、及び3次元形状を計測する。
以上、図4で説明した処理を経て計測された「測定対象物103の3次元形状、位置、及び姿勢」の情報は、ロボットハンドによる部品ピッキングや組み立てを行うための制御に用いられる。
【0015】
図5は、3次元計測システムの照明本体部201の他の構成の一例を示す図である。図2では、反射型パネルを用いた照明本体部201を示したが、図5では、透過型パネルを用いた照明本体部201を示し、光の伝播経路に着目したときの物理構成を簡単に説明する。
照明本体部201は、光源501、拡散板502、空間変調器503、偏光板504a、504b、及びレンズ群505を備えて構成される。光源501は、複数のLEDやLD等を用いて構成される。拡散板502は、光源501からの発光面のむらを抑制して輝度を面内で均一に保つ役割を果たす。空間変調器503は、透過型のTFT液晶パネル等を用いて構成される。空間変調器503で2次元パターン光の照明パターン画像を表現する。このため、TFT液晶パネルの解像度、画素サイズ、画素ピッチ等が2次元パターン光の精度に影響を与える。偏光板504a、504bは、空間変調器503(透過型のTFT液晶パネル)の前後で偏光状態の制御を行う。レンズ群505は、2次元パターン光のMTF、被写界深度特性、ディストーション等のパラメータに影響を与えるものである。
【0016】
図6は、3次元計測システムの照明系101の照明制御部202の機能ブロックの一例を示す図である。照明制御部202は、画像入力部602、輝度補正部603、空間変調器駆動部604、及び光源駆動部605を備えて構成される。
画像入力部602は、照明制御部202に入力される照明パターン画像のフォーマットをインタフェースに合わせて変更する。計測精度や計測速度の向上を考えると高い解像度や高いフレームレートが必要となる。このため、画像入力部602は、大容量伝送に対応したインタフェースであることが望ましい。インタフェースとしては、USBやIEEE1394のメタル線、Gigabit Ethernet(登録商標)等の光ファイバが使用される。輝度補正部603は、照明パターン画像の輝度変化を補正する。輝度補正部603には、制御部207から、照明系101・撮像系102の位置関係情報(後述する動径情報や偏角情報)が入力される。輝度補正部603は、これらの情報を基に照明パターン画像の輝度補正を行う。輝度補正には、概略、照明パターンの階調変換(輝度分布の補正)と、光源501の強度変換(輝度強度の補正)とが含まれる。輝度補正された照明パターン画像は空間変調器駆動部604へ出力され、光源501の強度を変調する光源変調信号は光源駆動部605へ出力される。輝度補正の詳細は図7〜図13を用いて後述する。空間変調器駆動部604は、空間変調器503の駆動を制御する。空間変調器駆動部604は、輝度補正部603からの「照明パターン画像を表す画像信号」を基に、空間変調器503の駆動信号を生成する。また、光源501の駆動を時間制御する場合、空間変調器駆動部604は、そのためのPWM信号等のトリガー信号を生成して光源駆動部605に出力する。光源駆動部605は、光源501の駆動を制御する。具体的に光源駆動部605は、輝度補正部603からの光源変調信号を基に強度を変調した駆動信号を生成する。また、光源駆動を時間制御する場合、光源駆動部605は、PWM信号を基に駆動信号を生成する。光源501にはLDやLEDが用いられるが、光出力制御を安定させるためや、デバイスの破壊を避けるために、光源501を定電流駆動することが多い。
【0017】
図7は、輝度補正をする際に用いられる位置関係情報を説明する図である。図7では、測定対象物103が拡散反射物体や鏡面物体であることを想定しているが、測定対象物103は、2次元パターン光が透過する透明な物体でも良い。2次元パターン光が透過する透明な物体を測定対象物103として用いた場合には、今後の説明において反射率を透過率と読み替えることになる。
ここでは、照明系101・撮像系102の位置関係情報を、測定対象物103が配置される測定面701を基準位置とした相対的な位置関係情報として表現する。照明系101の光軸と測定面701とが交わる点を原点とした球座標系を考えると、動径l1、偏角φ、θ1を用いることにより照明系101の位置と姿勢とが表される。同様に、撮像系102の光軸と測定面701とが交わる点を原点とした球座標系を考えると、動径l2、偏角φ、θ2を用いることにより撮像系102の位置と姿勢とが表される。照明系101と撮像系102とは同じ測定対象物103を照射・撮像するため、照明系101の光軸と測定面701とが交わる点と、撮像系102の光軸と測定面701とが交わる点とは略一致している。輝度補正のために用いられる照明系101の位置関係情報は、動径l1、偏角φ、θ1であり、撮像系102の位置関係とは、動径l2、偏角φ、θ2である。動径l1、l2は、輝度強度を補正するパラメータとして用い、偏角φ、θ1、θ2は、輝度分布を補正するパラメータとして用いられる。
本実施形態では、以上のパラメータ(動径l1、l2、偏角φ、θ1、θ2)からなる位置関係情報を用いて3次元計測システムの輝度補正を実施する。
【0018】
図8及び図9は、輝度分布の補正を説明する図である。ここでは、輝度分布の補正の説明に特化するため、測定面701の反射率を100%と仮定し、輝度強度の影響を排除することを前提とする。輝度分布の補正において用いられるパラメータは偏角φ、θ1、θ2であるので、輝度分布の補正と、輝度強度の補正とは分離して考えることができる。
図8は、照明系101と撮像系102の光軸の測定面701への射影像が一致する場合の輝度分布の補正の一例を説明する図である。具体的に図8(a)は、輝度分布が補正される様子の一例を示す図である。また、図8(b)は、照明系101、撮像系102、及び測定面701の位置関係を示す図である。また、図8(c)は、輝度補正した照明パターン画像の任意の1ラインにおける輝度の分布(傾斜)の一例を示す図である。この場合、位置関係情報は、φ=0°、l1=l2と仮定できる。輝度分布801は、θ2=0°と仮定して照明系101の偏角θ1だけを考慮して補正した場合に想定される空間変調器503上の輝度分布である。図中の矢印は、輝度の高低差を示したものであり、その矢印の向きは輝度の高いほうから低いほうへ向かう方向を示している。この場合、照明系101の測定面701に近い側の端の輝度を低く、遠い側の端の輝度を高くする。これにより、撮像系102で撮像される照明パターン画像は均一な輝度となる。同様の考え方で、輝度分布802は、θ1=0°と仮定して撮像系102の偏角θ2だけを考慮して補正した場合に想定される空間変調器503上の輝度分布である。この場合には、撮像系102の測定面701に近い側に相当する空間変調器503の端の輝度を低く、遠い側に相当する空間変調器503の端の輝度を高くする。輝度分布803は、照明系101と撮像系102の両者の偏角θ1、θ2を考慮して輝度補正した場合に想定される空間変調器503上の輝度分布である。輝度分布803は、輝度分布801、802の分布状態を掛け合わせたものとなる。
照明パターン画像の各ラインにおける輝度の傾斜は、照明系101(照明手段)及び撮像系102(撮像手段)の角度特性に合わせて変化させる。照明系101の出射光強度の角度特性が偏角θ1の変化に対して直線的に変化する場合、照明パターン画像の各ラインにおける輝度の傾斜を線形補間により求めることができる。また、撮像系102の受光強度の角度特性が偏角θ2の変化に対して直線的に変化する場合にも、照明パターン画像の各ラインにおける輝度の傾斜を線形補間により求めることができる。図8では、照明系101の出射光強度の角度特性と、撮像系102の受光強度の角度特性とが同じ変化率で直線的に変化する。この場合の輝度は、「(l1×sin|θ1−θ2|−d)/(l1×sin|θ1−θ2|+d)」(l1=l2)に比例した傾斜となる。
【0019】
図9は、照明系101と撮像系102の光軸の測定面701への射影像が一致しない場合の輝度分布の補正の一例を説明する図である。具体的に図9(a)は、輝度分布が補正される様子の一例を示す図である。また、図9(b)は、輝度補正した照明パターン画像の任意の1ラインにおける輝度の分布(傾斜)の一例を示す図である。この場合、位置関係情報は、φ≠0°、l1=l2と仮定できる。図8では、輝度分布がある端面に対して垂直な方向、又は平行な方向に変化する場合を説明したが、図9では、輝度分布が端面に対して斜め方向に変化する場合を示すだけであり、本質的な考え方は図8で説明したものと変わらない。輝度分布804、805、806は、それぞれ輝度分布801、802、803に対応し、φ≠0のために輝度分布804〜806が端面に対して斜め方向に変化することを表している。
【0020】
図10は、輝度分布と輝度強度との両方を含めた照明パターン画像の輝度補正の一例を説明する図である。具体的に図10(a)は、輝度分布が補正される様子の一例を示す図である。また、図10(b)は、輝度補正した照明パターン画像の任意の1ラインにおける輝度の分布(傾斜)の一例を示す図である。図10では、図8及び図9で説明した輝度分布の補正に、輝度強度の補正による影響を加味したものを示している。輝度強度の補正において用いられるパラメータは動径l1、l2であるので、輝度分布の補正と、輝度強度の補正とは分離して考えることができる。
輝度分布901は、φ=0°、θ1=θ2=0°と仮定し、動径と、測定対象物103の反射率とを考慮して補正した場合に想定される空間変調器503上の輝度分布であり、一定値である。ここでは、照明系101と撮像系102とは互いに物理的に干渉しないものと仮定している。また、図中の矢印は輝度の高低差を示したものであり、その矢印の向きは輝度の高いほうから低いほうへ向かう方向を示している。輝度強度の補正には、例えば、照明系101の動径l1の2乗に逆比例する単位面積当たりの光量減衰率と、測定対象物103の反射率と、撮像系102の動径l2の2乗に逆比例する単位面積あたりの光量減衰率とを掛け合わせた値が用いられる。この値(システムの光量減衰率)と、基準とする光量減衰率とを比較して、その比率を基に輝度強度が制御される。輝度分布902は、偏角を基に補正した輝度分布を表しており、図8の輝度分布803、図9の輝度分布806に相当する。輝度分布903は、照明系101・撮像系102の位置関係情報と、測定対象物103の反射率とを考慮して補正した場合に想定される空間変調器503上の輝度分布である。輝度分布903は、輝度分布901、902の輝度状態を掛け合わせたものとなる。
輝度強度の補正は、照明系101、及び撮像系102の距離特性に合わせて変化させる。照明系101の出射光強度の距離特性が動径l1の変化に対して2乗で逆比例し、撮像系102の受光強度の角度特性が動径l2の変化に対して2乗で逆比例する場合、輝度強度の補正は「(l12/L12)×(l22/L22)」に比例した変化となる。
ここで、L1、L2は、基準とする光量減衰率を求める際の動径l1、l2のそれぞれの基準長さである。
【0021】
図11は、輝度補正部603の機能ブロックの一例を示す図である。輝度補正部603は、階調変換部1001、位置関係情報格納部1002、動径情報処理部1003、偏角情報処理部1004、輝度補正値生成処理部1005、静的輝度補正値格納部1006、階調データ格納部1007及び光源変調信号生成部1008を備える。
階調変換部1001は、輝度補正部603に入力された照明パターン画像の階調を変換して階調変換を行う。階調データ格納部1007は、全ての画素に対応する補正値が登録された階調テーブルを保持している。階調変換部1001は、この階調テーブルを読み出して階調変換を行う。または、階調変換部1001は、階調データ格納部1007の階調テーブルと、最近傍近似、線形補間、3次補間、高次の曲線補間等のアルゴリズムとを用いて階調変換してもよい。このようにする場合、メモリ容量を抑えるために階調テーブルには数画素おきでの階調が格納されており、階調変換部1001は、各種アルゴリズムを用いて全ての画素の階調を数値演算で算出する。解法変換の精度、メモリ量、演算量等の組合せを考慮して、階調テーブルとアルゴリズムを決定することになる。ここで、階調テーブルは、図10の輝度分布903で概念的に示した輝度変化の状態を階調変化に置き換えたものである。空間変調器駆動部604へは、階調変換された照明パターン画像が出力される。位置関係情報格納部1002は、輝度補正部603に入力された位置関係情報を格納する。具体的に位置関係情報格納部1002には、照明系101・撮像系102の動径l1、l2、偏角φ、θ1、θ2の情報が格納される。動径l1、l2の情報は動径情報処理部1003が、偏角φ、θ1、θ2の情報は偏角情報処理部1004がそれぞれ読み出して処理に利用する。動径情報処理部1003は、動径l1、l2の情報と、測定対象物103の反射率とを基に、輝度強度補正値を算出する。測定対象物103の反射率として、測定対象物の材質等から判断した値を予め格納しておき、動径情報処理部1003は、それを読み出して用いる。動径情報処理部1003は、まず、動径l1の2乗に逆比例する単位面積当たりの光量減衰率と、測定対象物103の反射率と、動径l2の2乗に逆比例する単位面積あたりの光量減衰率とを掛け合わせた値(システムの光量減衰率)を算出する。そして、動径情報処理部1003は、この3次元システムの光量減衰率と、基準とする光量減衰率とを比較してその比率を基に輝度強度補正値を算出する。動径情報処理部1003は、この比較の結果、前者が大きい場合には明るくなるように輝度強度を上げる制御を行い、後者が大きい場合には暗くなるように輝度強度を下げる制御を行う。輝度強度補正値は全ての画素に共通な一定の値である。偏角情報処理部1004は、偏角φ、θ1、θ2の情報を基に輝度分布補正値を算出する。偏角情報処理部1004は、偏角θ1、θ2から輝度分布の変化量を算出し(図8を参照)、偏角φから輝度分布の面内の傾き量(図9を参照)を算出する。偏角θ1、θ2が90°に近ければ輝度分布の変化量は小さくなり、0°に近ければ大きくなる。偏角情報処理部1004は、これらから輝度分布補正値を算出する。輝度分布補正値は全ての画素に対応する補正値をもつテーブルである。メモリ容量を抑えるために、輝度分布補正値のテーブルを、数画素おきでの補正値からなるテーブルとし、各種アルゴリズムを用いて全ての画素の補正値を数値演算で算出するようにしてもよい。輝度補正値生成処理部1005は、階調データ格納部1007に格納する階調テーブルを生成する。輝度補正値生成処理部1005は、まず、偏角情報処理部1004で算出された輝度分布補正値と、静的輝度補正値格納部1006に格納されている静的輝度補正値とを掛け合わせて輝度分布補正値を生成する。そして、輝度補正値生成処理部1005は、輝度ベースで求められた輝度補正値を、パターン画像の階調を考慮して階調ベースからなる階調テーブルに変換する。例えば、パターン画像の階調が8ビットであれば、階調テーブルも8ビットをベースに生成する。ここで生成される階調テーブルは、全ての画素に対応する補正値が登録されたテーブルである。前述のように、メモリ容量を抑えるために、階調テーブルを、数画素おきでの補正値からなるテーブルとし、各種アルゴリズムを用いて全ての画素の補正値を数値演算で算出するようにしてもよい。静的輝度補正値格納部1006は、位置関係情報に起因しない静的な輝度変化を補正するためのテーブルを格納する。位置関係情報に起因しない静的な輝度変化とは、時間的に不変の輝度変化である。この輝度変化は、光源501の発光デバイスの輝度のばらつきや、照明光学系の拡散板502や偏光板504における輝度むらや、空間変調器503の透過率の空間ばらつきや、投影光学系の偏光板504やレンズ群505における輝度むら等に基づくものである。光源変調信号生成部1008は、動径情報処理部1003からの輝度強度補正値を基に光源501の強度を変調する光源変調信号を生成する。光源変調信号は光源駆動部605へ出力される。さらに、光源変調信号生成部1008は、輝度補正値生成処理部1005からの制御信号を受けて、階調変換で発生するダイナミックレンジの低下を補う処理を行う。この処理の詳細は図14を用いて後述する。
偏角情報処理部1004、輝度補正値生成処理部1005で取り扱うテーブルに関しては、予め保持しているルック・アップ・テーブルを用いる構成としてもよい。全ての画素の補正値を算出するか、数画素毎の補正値と数値演算とにより補正値を算出するか、ルック・アップ・テーブルを用いるかは、使用できるメモリ容量や求められる補正精度から適正な構成を選ぶことができる。
【0022】
図12は、図4のステップS403の輝度補正処理の一例を説明するフローチャートである。
ステップS1101では、位置関係情報格納部1002は、位置関係情報を取得する。図2に示した位置関係情報取得部208で取得、処理した「測定対象物103の位置関係情報、照明系101・撮像系102の位置関係情報」が位置関係情報格納部1002に格納される。位置関係情報とは、具体的には、照明系101・撮像系102の動径l1、l2、偏角φ、θ1、θ2の情報である。
ステップS1102では、偏角情報処理部1004は、輝度分布補正値を生成する。偏角情報処理部1004は、ステップS1101で取得された「照明系101・撮像系102の動径l1、l2、偏角φ、θ1、θ2の情報」を利用して、位置関係情報に起因する輝度分布補正値を生成する。輝度分布補正値は全ての画素に対応する補正値をもつテーブルであり、偏角φ、θ1、θ2に依存して動的に変化する。
ステップS1103では、輝度補正値生成処理部1005は、位置関係情報に起因しない静的な輝度変化の影響を、ステップS1102で算出された輝度分布補正値に加味する。具体的に輝度補正値生成処理部1005は、静的輝度補正値格納部1006が保持している静的輝度補正値が登録されたテーブルを、輝度分布補正値(テーブル)に掛け合わせる。このステップS1103で、3次元計測システムにおける輝度分布の補正値が生成される。
ステップS1104では、輝度補正値生成処理部1005及び階調変換部1001は、照明パターン画像に対して階調変換を実施する。具体的に輝度補正値生成処理部1005は、ステップS1102で生成された輝度分布補正値(テーブル)を基に、階調変換を行うための階調テーブルを生成して階調データ格納部1007に格納する。この階調テーブルを生成する簡単な手法としては、輝度変化により輝度が最も暗くなる画素の輝度値が最大輝度値となるようにその他の画素の階調を変換する。この場合、輝度のダイナミックレンジが小さくなってしまうが、図14を用いて後述する手法によりダイナミックレンジを確保する処理が行われる。そして、階調変換部1001は、階調データ格納部1007から階調テーブルを読み出して階調変換を行う。このステップS1104での処理結果は、空間変調器503での実際の照明パターン画像の階調変換として達成される。
ステップS1105では、動径情報処理部1003は、測定対象物103の反射率を考慮した輝度強度補正値を生成する。具体的に動径情報処理部1003は、ステップS1101で取得された「照明系101と撮像系102の動径l1、l2の情報」を利用して、測定対象物103の反射率と位置関係情報とに起因する輝度強度補正値を生成する。輝度強度補正値は全ての画素に共通な一定値であり、動径l1、l2に依存して動的に変化する。このステップS1105で、3次元計測システムにおける輝度強度の補正値が生成される。
ステップS1106では、光源変調信号生成部1008は、光源変調信号の生成を実施する。具体的に光源変調信号生成部1008は、動径情報処理部1003で生成された輝度強度補正値を基に、光源変調信号生成部1008が光源強度を変調するための光源変調信号を生成する。撮像系102が測定面701からの反射光を撮像する際に、光源501の強度が一定となるように光源501の強度変調を行う。また、図14を用いて後述するが、輝度分布の補正に対するダイナミックレンジの低下を補う処理も実施する。このステップS1106での処理結果は、光源501での実際の2次元パターン光の強度変調として達成される。
以上の処理により、照明系101が、2次元パターン光の輝度補正を実現することができる。
【0023】
図13は、図12のステップS1102の輝度分布補正値生成処理の一例を説明するフローチャートである。具体的に図13(a)は、偏角φ、θ1、θ2をそれぞれ独立に用いて輝度分布補正値を生成する際の処理を説明するフローチャートである。図13(a)では、図8及び図9を用いて説明したのと同じ流れで処理が行われる。
ステップS1201では、偏角情報処理部1004は、照明系101の偏角情報から第1の輝度分布を生成する。具体的に偏角情報処理部1004は、偏角φ、θ1から、全ての画素に対応する補正値をもつテーブルである第1の輝度分布を生成する。第1の輝度分布は、概念としては、図8に示した輝度分布801や図9に示した輝度分布804に対応する。
次に、ステップS1202では、偏角情報処理部1004は、撮像系102の偏角情報から第2の輝度分布を生成する。具体的に偏角情報処理部1004は、偏角φとθ2から、全ての画素に対応する補正値をもつテーブルである第2の輝度分布を生成する。第2の輝度分布は、概念としては、図8に示した輝度分布802や図9に示した輝度分布805に対応する。
次に、ステップS1203では、偏角情報処理部1004は、第1の輝度分布と第2の輝度分布とから輝度分布補正値を生成する。輝度分布補正値(テーブル)は、概念としては、図8に示した輝度分布803や図9に示した輝度分布806に対応する。
以上の処理により、偏角情報から輝度分布補正値が生成できる。
【0024】
図13(b)は、偏角φと、偏角θ1とθ2との差分とからなる2つのパラメータ(差分情報)を用いて輝度分布補正値を生成する際の処理を説明するフローチャートである。図13(b)のフローチャートは、照明系101及び撮像系102の輝度分布に対する角度特性が同一である場合に適用できる。例えば、図8に示したように、照明系101の出射光強度の角度特性、撮像系102の受光強度の角度特性が同じ変化率で直線的に変化する場合に図13(b)のフローチャートを適用できる。
ステップS1204では、位置関係情報取得部208は、照明系101・撮像系102の偏角情報θ1、θ2から、角度差θ1−θ2を取得する。この角度差θ1−θ2には大きさだけでなく向きの情報が含まれ、この向きは輝度変化量の向きを規定するものである。この処理により、偏角情報のパラメータを2つに減らすことができる。
次に、ステップS1205では、偏角情報処理部1004は、偏角φ、角度差θ1−θ2から輝度分布補正値を取得する。角度差θ1−θ2の大きさから輝度の変化量、角度差θ1−θ2の向きからその輝度の変化の方向を規定できる。偏角情報処理部1004は、この角度差θ1−θ2と偏角φとを合わせて輝度分布補正値を生成する。
以上の処理ステップにより、2つのパラメータからなる偏角情報から輝度分布補正値が生成できる。この処理では、位置関係情報取得部208でパラメータを減らすことができるため、処理速度・メモリ容量の面で有利である。
【0025】
図14は、階調変換で発生するダイナミックレンジの低下を補う処理を説明する図である。具体的に図14(a)は、空間変調器503の制御のみで輝度分布の補正を行った場合を示す図であり、図14(b)は、空間変調器503と光源501の制御とを組み合わせて輝度分布補正を行った場合を示す図である。
図14(a)の横軸は任意の1ライン、縦軸は横軸の画素に対応する測定面701での輝度の大きさと階調である。輝度分布補正の簡単な手法としては、輝度変化により輝度が最も暗くなる画素の輝度値を最大輝度値としてその他の画素の階調を変換する方法がある。図14(a)の任意の1ラインの両端の画素が輝度変化により輝度が最も暗くなる画素に対応し、この画素が達成できる最大輝度値、すなわち階調が「240」の時の輝度値をこのラインの最大輝度値とする。両端の画素以外の画素は、階調「240」を超えない範囲内で階調変換が行われる。この場合、最大輝度値が階調「240」のときの輝度値となるため、ダイナミックレンジが低下する。ここでは説明の簡略化のため任意1ラインを取り上げたが、実際には、照明パターン画像を構成する全ての画素を対象としてこのような処理を行う。
【0026】
同様に、図14(b)の横軸は任意の1ライン、縦軸は横軸の画素に対応する測定面701での輝度の大きさと階調である。図14(a)と図14(b)の輝度のスケールは一致している。図14(b)では、低下したダイナミックレンジを補うように光源501の輝度を上げる。図14(a)と異なり、最大輝度値のレベルを変化させないため、ダイナミックレンジを確保できる。ダイナミックレンジの低下を補う光源501の輝度の大きさは、輝度補正値生成処理部1005で生成できる。輝度補正値生成処理部1005では輝度ベースの輝度補正値が得られるため、そこでの最大輝度補正値と最小輝度補正値の差分が光源501で補う輝度の大きさとなる。
図14(b)では、ダイナミックレンジを低下させない程度に、最大輝度補正値と最小輝度補正値との差分だけ光源501の輝度を上げるための手法を説明した。しかしながら、動径の情報に基づいて輝度強度の補正を正確に行うという観点からは、輝度分布補正における基準輝度値と最大補正輝度値との差分を光源501で補う手法が適している。輝度補正値生成処理部1005では、図8(c)の任意の1ラインでの輝度の傾斜のグラフで示した輝度分布の増減割合(0.8〜1.2)が把握できる。輝度を変化させない基準輝度値と最大輝度補正値との差分が光源501で補う輝度の大きさとなる。ここでの基準輝度値とは該グラフでの輝度補正変化分が「1.0」にあたるところの輝度値であり、最大輝度補正値とは該グラフでの輝度補正変化分が「1.2」にあたるところの輝度値である。
以上のように、照明系101で輝度補正を実施する際には、空間変調器503の制御と光源501の制御とを組み合わせることができ、ダイナミックレンジを確保したパターン照明が実現できる。特に、空間符号化においては、2値階調の輝度差、又は2値階調間の輝度変化の過程からエッジ位置を認識する。そのため、ダイナミックレンジを広くして2値階調の輝度差をなるべく大きく確保できれば、エッジ位置の認識精度も向上する。このように、照明系101で輝度補正を実施する利点として、ダイナミックレンジを確保でき、特に空間符号化法におけるエッジ認識精度が向上する点が挙げられる。
【0027】
以上のように本実施形態では、照明系101の偏角φ、θ1、撮像系102の偏角φ、θ2を考慮して輝度を補正した場合に想定される空間変調器503上の輝度分布(照明系101と撮像系102の双方を考慮した輝度分布補正値)を生成する。この輝度分布補正値と、位置関係に起因しない静的な輝度分布補正値とから、3次元計測システムにおける輝度分布の補正値を生成し、この輝度分布の補正値に基づいて、照明パターン画像の階調変換をし、階調変換した照明パターン画像に従った照明を行う。また、動径l1、l2の情報と、測定対象物103の反射率とを基に、3次元システムの光量減衰率を求め、この3次元システムの光量減衰率と、基準とする光量減衰率との比較結果から、光源501の強度を調整する。したがって、照明系101や撮像系102が測定対象物103に対して可変となる場合でも、照明系101と測定対象物103との位置関係、撮像系102と測定対象物103との位置関係のそれぞれに起因する画像の輝度変化(所謂輝度むら)を同時に抑制できる。
また、空間変調器503の制御と光源501の制御とを組み合わせることができ、階調変換によるダイナミックレンジの低下を、光源501を用いて補うことができる。したがって、空間符号化法においてはダイナミックレンジを確保した照明が可能となり、精度の高いエッジ認識が実現できる。
尚、本実施形態は、照明系101と撮像系102とが自由に動けるシステムにおいて、照明系101及び撮像系102の、測定対象物103との位置関係を利用して輝度変化を補正していれば、パターン照明を用いる3次元計測以外にも適用できる。例えば、照明系と撮像系が可動である外観検査や欠陥検査等、均一照明を用いる画像取得システムへの適用も効果的である。
【0028】
(第2の実施形態)
次に、本発明の第2の実施形態を説明する。前述した第1の実施形態では、照明系101で輝度補正を実施する場合を例に挙げて説明した。これに対し、本実施形態では、撮像系102で輝度補正を実施するようにする。このように、本実施形態と前述した第1の実施形態とでは、輝度補正を行う主体と、輝度補正を行うための処理の一部とが主として異なる。したがって、本実施形態の説明において、前述した第1の実施形態と同一の部分についての詳細な説明を省略する。例えば、図1に示した3次元計測システムの基本的な構成、図3に示した2次元パターン光は、第1の実施形態と同じである。
【0029】
図2に示した3次元計測システムの機能ブロックのうち、照明制御部202、撮像制御部204、及び制御部207以外は、第1の実施形態と同様である。以下、本実施形態の照明制御部、撮像制御部、及び制御部が有する機能のうち、第1の本実施形態と異なる部分を中心に説明する。
照明制御部は、照明本体部201の制御を行う。第1の実施形態の照明制御部202は、照明パターン画像の輝度補正(階調変換)を行うが、本実施形態の照明制御部は、照明パターン画像の輝度補正(階調変換)を行わない。すなわち、照明制御部は、外部又は内部で生成した照明パターン画像に対応した光源209や空間変調器211(パネル)の駆動制御を行う。撮像制御部は、撮像本体部203の制御に加えて、撮像画像の処理を行う。具体的に撮像制御部は、撮像デバイス213の動作制御、シャッタースピード、フレームレート、ROI等の動作タイミングの制御に加えて、撮像した2次元パターン光の画像の輝度補正(画像補正)等を行う。制御部は、照明制御部と撮像制御部とを統合制御する。具体的に制御部は、照明と撮像の同期制御機能や、照明系101・撮像系102の位置関係情報を、輝度補正のための情報として用いるための伝送機能等を有する。本実施形態では、撮像系102で輝度補正を実施するため、位置関係情報取得部208からの照明系101・撮像系102の位置関係情報は、照明制御部ではなく、撮像制御部に送られる。以上の機能ブロックにより、測定対象物103の3次元計測が実現できる。
【0030】
図15は、3次元計測システムの処理の一例を説明するフローチャートである。
ステップS1401では、照明系101を制御する照明制御部と、撮像系102を制御する撮像制御部とのそれぞれに対して通信の確立を行う。
次に、ステップS1402では、照明系101・撮像系102の位置関係情報のキャリブレーションが行われる。位置関係情報取得部208からの照明系101・撮像系102の位置関係情報が、制御部207を介して撮像制御部へ送信する。ここで送信された位置関係情報は、ステップS1405の撮像輝度補正処理で用いられる。
次に、ステップS1403では、照明本体部201は、測定対象物103に2次元パターン光を照射する。空間符号化法では、複数のエッジパターン301の2次元パターン光が照射され、位相シフト法では、同一位相の正弦波パターン302の2次元パターン光が照射される(図3を参照)。
次に、ステップS1404では、撮像本体部203は、測定対象物103から拡散反射された2次元パターン光を撮像する。実際に撮像される2次元パターン光には、測定対象物103の形状や表面の凹凸の影響で、パターンのエッジずれや位相ずれが発生している。
次に、ステップS1405では、撮像制御部は、撮像輝度補正処理を行う。ここでは、撮像制御部は、照明系101・撮像系102の位置関係情報を基に、2次元パターン光の画像の輝度補正を行う。輝度補正の概要は、第1の実施形態の図7〜図9を用いて説明したのと同様である。ただし、本実施形態では、撮像系102で輝度補正を実施する形態であるので、図8〜図10に示した輝度分布803、806、903は、輝度変化が発生した2次元パターン光の画像に対する輝度補正の結果である、と解釈しなおす必要がある。
次に、ステップS1406では、3次元撮像処理部205は、パターン投影法を利用して、ステップS1405で輝度補正処理された2次元パターン光から、測定対象物103の奥行き方向の距離を取得する。3次元撮像処理部205は、2次元パターン光の画像の幅方向と高さ方向の情報と合わせて、このステップ1406で測定対象物103の3次元情報を取得する。
以降のステップS1407〜S1409は、図4のステップS407〜S409と同じである。すなわち、3次元撮像処理部205は、ステップS1407で、3次元情報を更新し、ステップS1408で、3次元情報の取得が完了したか否かを判断する。そして、3次元情報の取得が完了すると、3次元計測処理部206は、ステップS1409で、3次元計測処理を行う。
【0031】
図16は、3次元計測システムの撮像制御部204の機能ブロックの一例を示す図である。撮像制御部204は、Vドライバ1503、タイミングジェネレータ1504、CDS/AGC部1505、AD変換部1506、輝度補正部1507、及び画像出力部1508を備えて構成される。
Vドライバ1503は、撮像本体部203内の撮像デバイス213(撮像素子)の垂直駆動信号を生成する。タイミングジェネレータ1504は、撮像本体部203の駆動に関わる信号を生成する。Vドライバ1503とタイミングジェネレータ1504とにより撮像本体部203を駆動する。CDS/AGC部1505は、撮像本体部203からのアナログ信号に対しCDS(Correlated Double Sampling、相関2重サンプリング)、AGC(Automatic Gain Control、自動ゲイン調整アンプ)を行う。AD変換部1506は、CDS/AGC部1505から出力されるアナログ信号をデジタル信号に変換する。輝度補正部1507は、2次元パターン光の画像の輝度補正を行う。輝度補正部1507には、制御部から、照明系101・撮像系102の位置関係情報(動径情報や偏角情報)が入力される。輝度補正部1507は、これらの情報を基に、2次元パターン光の画像の輝度補正を行う。輝度補正には、概略、2次元パターン光の画像のゲイン調整と、階調変換とが含まれる。輝度補正された2次元パターン光の画像は画像出力部1508へ出力される。輝度補正の詳細は図17を用いて後述する。画像出力部1508は、2次元パターン光の画像のフォーマットをインタフェースに合わせて変更する。計測精度や計測速度の向上を考えると高い解像度や高いフレームレートが必要となる。このため、画像出力部1508は、大容量伝送に対応したインタフェースであることが望ましい。インタフェースとしては、USBやIEEE1394のメタル線、Gigabit Ethernet(登録商標)等の光ファイバが使用される。
【0032】
図17は、輝度補正部1507の機能ブロックの一例を示す図である。図17に示す機能ブロックのうち、位置関係情報格納部1002、動径情報処理部1003、偏角情報処理部1004、輝度補正値生成処理部1005、静的輝度補正値格納部1006、及び階調データ格納部1007は第1の実施形態のものと同様である。
ゲイン調整部1601は、2次元パターン光の画像のゲインを調整する。このゲインの調整は、図10を用いて説明した輝度強度の補正に相当する。ゲイン調整部1601は、動径情報処理部1003からの輝度強度補正値を基に、2次元パターン光の画像のゲインを調整する。画像全体に均一なゲインを乗じるため、このゲインを調整する処理は、2次元パターン光の画像全体を明るくする、又は、暗くする処理となる。このとき、ゲイン調整部1601は、2次元パターン光の画像の階調よりも大きなビット数で演算を行い、階調精度を極力劣化させないようにするのが望ましい。ゲインが調整された2次元パターン光の画像は、階調変換部1602へ出力される。階調変換部1602は、2次元パターン光の画像の階調を変換する。階調変換部1602の処理は、第1の実施形態の階調変換部1001と略同様であるが、本実施形態の階調変換部1602では、2次元パターン光の画像の階調よりも大きなビット数で演算を行うのが望ましい。階調精度を極力劣化させないようにするためである。階調変換された2次元パターン光の画像は、画像出力部1508へ出力される。この階調変換部1602により、前段での撮像系102での階調を、照明系101での階調よりも高くすることができ、量子化誤差の影響を極力抑制することができる。以上で説明した機能ブロックにより撮像系102での輝度補正が実現できる。
【0033】
輝度補正部1507が行う処理を説明するフローチャートは、図12に示したフローチャートと略同様であるが、一部が異なる。以下に、その異なる部分を説明する。
ステップS1104では、輝度補正値生成処理部1005及び階調変換部1602は、2次元パターン光の画像に対して階調変換を行う。具体的に輝度補正値生成処理部1005は、ステップS1102で生成された輝度分布補正値(テーブル)を基に、階調変換を行うための階調テーブルを生成する。そして、階調変換部1602は、階調データ格納部1007から階調テーブルを読み出して階調変換を行う。このとき、階調変換部1602は、2次元パターン光の画像の階調よりも大きなビット数で演算を行い、階調精度を極力劣化させないようにするのが望ましい。
ステップS1106では、ゲイン調整部1601が、2次元パターン光の画像のゲインの調整を行うことになる。撮像系102が測定面701からの反射光を撮像した際の光源強度が一定となるように、2次元パターン光の画像のゲインの調整を行う。
以上の処理により、撮像系102での2次元パターン光の輝度補正を実現することができる。
尚、偏角φ、θ1、θ2の情報から輝度分布補正値の生成を説明するフローチャートは、図13に示したものと同様である。
【0034】
次に、本実施形態では、量子化誤差を抑制した階調表現を実現できることを説明する。第1の実施形態との相違点を明らかにするため、まず第1の実施形態の構成における量子化誤差について説明した後、本実施形態の優位点を述べる。
図18は、照明系101で輝度補正の一例を階調に着目して説明するフローチャートである。図18では、階調が変換される主要な部分を列挙し、その他の部分の図示を省略している。
ステップS1701では、画像入力部602が照明パターン画像のデータを入力する。この照明パターン画像のデータでは、例えば8ビット、255の階調が確保されている。ここでの階調は整数データである。次に、ステップS1702では、輝度補正部603は、照明系101での輝度補正(照明補正による階調圧縮)を実施する。例えば、階調を80%圧縮した場合、輝度補正を実施した後のデータにおける最高輝度値の階調は204(=255×0.8)となる(図14(a)を参照)。ここでの階調は小数データである。次に、ステップS1703では、空間変調器503は、輝度補正(階調圧縮)した2次元パターン光の照明パターン画像での照明を行う。このときの照明パターン画像の階調は、階調圧縮時に生じた小数部分が四捨五入等で丸められて、整数データとして表現される。次に、ステップS1704では、撮像制御部204は、測定対象物103に照射された2次元パターン光の撮像画像を10ビットでAD変換する。このAD変換を行ったデータにおける階調は、0から1023までで表現される小数データである。次に、ステップS1705では、撮像制御部204は、AD変換を行ったデータを、デジタルデータとして利用できる形式にフォーマット変換する。このフォーマット変換を行ったデータにおける階調は、例えば8ビットの整数データである。
【0035】
図19は、照明系101で輝度補正を行う場合のデータの一例を示す図である。具体的に図19(a)は、図18の各ステップで得られる階調データの一例を示す図である。図19(a)では、ステップS1701で入力したデータのうち、階調が120から134までのときの階調データを切出して示している。図中(表中)の有効数字は任意であり、回路規模、処理精度、及び処理速度に応じて任意に設定できる。
図19(b)は、ステップS1701で入力したデータの階調を横軸、ステップS1705でフォーマット変換をしたデータの階調を縦軸として示した図である。図19(b)に示すように、ステップS1701で入力したデータの階調が「122」、「127」、「132」のときに量子化誤差が発生していることがわかる。
このような量子化誤差の発生要因は、照明系101での階調抑制と撮像系102でのAD変換の精度である。照明系101で輝度補正を実施し、更に撮像系102でのAD変換の精度が足りない場合には量子化誤差が発生する場合がある。これに対し、本実施形態のように撮像系102で輝度補正を実施する際には、照明系101での階調劣化がないために、撮像系102でのAD変換の精度を節約できると共に、3次元計測システムにおける量子化誤差の発生を抑制できる。特に、位相シフト法においては、階調から位相位置を認識する。そのため、量子化誤差を極力抑制し、精度の良い階調が確保できれば、位相位置の認識精度も向上する。このように、撮像系102で輝度補正を実施する利点として、量子化誤差を抑制でき、特に位相シフト法における位相認識精度が向上する点が挙げられる。
【0036】
図20は、撮像系102での局所的な輝度補正を概念的に説明する図である。図17に示した輝度補正部1507を3次元撮像処理部205に組み込むようにすれば、計測対象領域だけに補正処理を限定して行うことができ、処理の高速化が可能である。例えば、図20に示すように、位相シフト法で撮像した2次元パターン光の画像のある局所領域だけを切出すことで、大幅な処理時間短縮が実現できる。
【0037】
以上のように、撮像系102で輝度補正を実施しても、ダイナミックレンジを確保する以外の点で、前述した第1の実施形態と同様の効果を得ることができ、更に、量子化誤差の抑制が可能であるので、精度の高い階調認識が実現できる。また、計測対象領域だけに補正処理を限定することで処理の高速化を実現できる。
【0038】
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。前述した第1の実施形態では、照明系101で輝度補正を実施する場合を、第2の実施形態では、撮像系102で輝度補正を実施する場合を、それぞれ例に挙げて説明した。これに対し、本実施形態では、輝度補正の機能を分離して、照明系101で輝度強度の補正を行い、撮像系102で輝度分布の補正をそれぞれ実施する場合について説明する。このように、輝度補正を行う主体の一部と、輝度補正を行うための処理の一部とが主として異なる。したがって、本実施形態の説明において、前述した第1、第2の実施形態と同一の部分についての詳細な説明を省略する。例えば、図1に示した3次元計測システムの基本的な構成、図3に示した2次元パターン光は、第1の実施形態と同じである。
【0039】
図2に示した3次元計測システムの機能ブロックのうち、照明制御部202、撮像制御部204、及び制御部207以外は、第1の実施形態と同様である。以下、本実施形態の照明制御部、撮像制御部、及び制御部が有する機能のうち、第1、第2の本実施形態と異なる部分を中心に説明する。
照明制御部は、照明パターン画像の制御や、照明本体部201の制御を行う。第1の実施形態の照明制御部202では、輝度強度の補正に加えて輝度分布の補正を行うようにしたが、本実施形態の照明制御部では、輝度分布の補正を行わずに、動径情報と偏角情報に基づいた輝度強度の補正を行うようにしている。撮像制御部は、撮像本体部203の制御に加えて、撮像画像の処理を行う。具体的に撮像制御部は、撮像デバイス213の動作制御、シャッタースピード、フレームレート、ROI等の動作タイミングの制御に加えて、撮像した2次元パターン光の画像の輝度補正等を行う。第2の実施形態の撮像制御部では、輝度分布の補正(階調変換)に加えて、ゲインの調整を行うようにしたが、本実施形態の撮像制御部では、ゲインの調整を行わずに、輝度分布の補正を行う。制御部は、照明制御部と撮像制御部とを統合制御する。具体的に制御部は、照明と撮像の同期制御機能や、照明系101・撮像系102の位置関係情報を、輝度補正のための情報として用いるための伝送機能等を実現する。本実施形態では、照明系101と撮像系102の両者で輝度補正を実施する構成であるため、位置関係情報取得部208からの照明系101・撮像系102の位置関係情報は、照明制御部と撮像制御部の双方に送られる。照明制御部に送られる位置関係情報は、動径情報と偏角情報であり、撮像制御部に送られる位置関係情報は偏角情報である。以上の機能ブロックにより、測定対象物103の3次元計測が実現できる。
【0040】
図21は、3次元計測システムの処理の流れの一例を説明する図である。
ステップS1901では、制御部は、照明系101の通信を確立する。すなわち、制御部と照明制御部との通信が確立される。
次に、ステップS1902では、制御部は、撮像系102の通信を確立する。すなわち、制御部と撮像制御部との通信が確立される。
次に、ステップS1903では、照明系101の位置関係情報のキャリブレーションが行われる。位置関係情報取得部208からの位置関係情報を、制御部を介して照明制御部へ送信する。ここで送信された位置関係情報は、ステップS1905の照明輝度補正処理(照明系101での輝度強度の補正)で用いられる。この位置関係情報の精度は、照明制御部で行われる輝度補正の精度に影響を与える。
次に、ステップS1904では、撮像系102の位置関係情報のキャリブレーションが行われる。位置関係情報取得部208からの位置関係情報を、制御部を介して撮像制御部へ送信する。ここで送信された位置関係情報は、ステップS1906の撮像処理(撮像系102での輝度分布の補正)で用いられる。この位置関係情報は、ステップS1903で用いられる位置関係情報と同じものである。
次に、ステップS1905では、照明制御部は、制御部からのスタート信号を基に、輝度補正処理を行い、測定対象物103に対して輝度補正した2次元パターン光を照射する。照明輝度補正は、位置関係情報を基にした輝度強度補正である。ここで用いられる位置関係情報は、照明系101・撮像系102の動径l1、l2の情報(動径情報)、偏角φ、θ1、θ2の情報(偏角情報)である。この輝度補正処理の詳細については、図22を用いて後述する。
次に、ステップS1906では、撮像制御部は、制御部からのスタート信号を基に、測定対象物103から拡散反射された2次元パターン光を撮像し、撮像輝度補正処理を行う。そして、3次元撮像処理部205は、3次元撮像処理を行う。撮像輝度補正は、位置関係情報を基に撮像制御部204で行う輝度分布の補正である。ここで用いられる位置関係情報は、照明系101・撮像系102の偏角φ、θ1、θ2の情報(偏角情報)である。3次元撮像処理部205は、パターン投影法を利用して、撮像された2次元パターン光の画像から測定対象物103の奥行き方向の距離を取得する。この測定対象物103の奥行き方向の距離の情報と、2次元パターン光の画像の幅方向と高さ方向の情報とに基づいて、測定対象物103の3次元情報を取得できる。制御部は、照明と撮像が同期して動作するように、タイミングを規定したスタート信号を発信する。
次に、ステップS1907では、3次元撮像処理部205は、3次元情報(位置情報)を更新する。空間符号化法でも位相シフト法でも複数枚の2次元パターン光を撮像して3次元情報を取得するが、このステップS1907において1枚毎に3次元情報を更新する。複数枚の2次元パターン光の画像を用いて、ステップS1905〜S1907のループを繰り返す(ループの回数を増やす)ことで、3次元計測の精度を向上させることができる。ステップS1908〜S1910は、それぞれステップS1905〜S1907と同様の処理ステップである。
次に、ステップS1911では、3次元情報の取得が終了する。3次元計測処理部206は、取得された3次元情報を基にモデルフィッティングを行い、測定対象物103の3次元形状、位置、及び姿勢を計測する。
【0041】
図22は、照明制御部の機能ブロックの一例を示す図である。具体的に図22(a)は、照明制御部全体の機能ブロックを示す図であり、図22(b)は、照明制御部内の輝度補正部の機能ブロック図である。図22において、第1の実施形態で示した図6、図11と同じ機能の機能ブロックについては、図6、図11に付した符号と同一の符号を付している。
輝度補正部2001は、照明パターン画像の輝度変化を補正する。輝度補正部2001には、制御部から照明系101・撮像系102の位置関係情報(動径情報及び偏角情報)が入力される。輝度補正部2001は、これらの情報を基に照明パターン画像の輝度強度の補正を行う。輝度強度の補正とは光源501の強度変換である。輝度補正部2001は、光源501の強度を変調する光源変調信号を光源駆動部605へ出力する。
本実施形態では、輝度分布の補正の手法として、輝度変化により輝度が最も暗くなる画素の輝度値を最大輝度値としてその他の画素の階調を変換する場合を想定する(図14(a)を参照)。強度変調情報生成部2002は、偏角情報処理部1004から取得した輝度分布補正値を基に、輝度変化により輝度が最も暗くなる画素での階調と、最大階調との間の輝度差を取得する。図14(a)に示した例では、任意の1ラインの両端の画素での階調「240」と最大階調「255」との輝度差がそれ(輝度差)に対応する。強度変調情報生成部2002は、この輝度差を光源501の出力で補うための強度変調信号を光源変調信号生成部1008へ出力する。この機能ブロックでの処理により、図14(b)で説明したダイナミックレンジの確保が可能となる。以上の機能ブロックにより、照明系101において、ダイナミックレンジを確保した輝度強度の補正が実現できる。
【0042】
図23は、撮像制御部の機能ブロックの一例を示す図である。具体的に図23(a)は、撮像制御部全体の機能ブロックを示す図であり、図23(b)は、撮像制御部内の輝度補正部の機能ブロックを示す図である。図22において、第2の実施形態で示した図16、図17と同じ機能の機能ブロックについては、図16、図17に付した符号と同じ符号を付している。
輝度補正部2101は、撮像された照明パターン画像の輝度変化を補正する。輝度補正部2101には、制御部から照明系101・撮像系102の位置関係情報(偏角情報)が入力される。輝度補正部2101は、この情報を基に照明パターン画像の輝度分布の補正を行う。輝度分布の補正とは、照明パターン画像の階調変換である。輝度補正部2101は、階調変換した照明パターン画像を画像出力部1508へ出力する。以上の機能ブロックにより、撮像系102において、輝度分布補正が実現できる。
【0043】
図24は、輝度補正処理の一例を説明するフローチャートである。具体的に図24(a)は、照明系101で輝度強度を補正する処理を説明するフローチャートである。
ステップS2201では、位置関係情報格納部1002は、位置関係情報取得部208で取得、処理した「測定対象物103の位置関係情報、照明系101・撮像系102の位置関係情報」を格納する。この処理は、図12のステップS1101と同様の処理である。
次に、ステップS2202では、動径情報処理部1003は、測定対象物103の反射率を考慮した輝度強度補正値を生成する。この処理は、図12のステップS1105と同様の処理である。
次に、ステップS2203では、光源変調信号生成部1008は、光源変調信号の生成を実施する。この処理は、図12のステップS1106と同様の処理である。尚、本実施形態においても、強度変調情報生成部2002で生成された強度変調信号に基づいてダイナミックレンジ低下を補う処理も実施する。このステップS2203での処理結果は、光源501での実際の2次元パターン光の強度変調として達成される。
以上の処理により、照明系101が、2次元パターン光の輝度強度の補正を実現することができる。
【0044】
図24(b)は、撮像系102で輝度分布を補正する処理を説明するフローチャートである。
ステップS2204では、位置関係情報格納部1002は、位置関係情報取得部208で取得、処理した「測定対象物103の位置関係情報、照明系101・撮像系102の位置関係情報」を格納する。ここでは、照明系101・撮像系102の偏角φ、θ1、θ2の情報が位置関係情報格納部1002に格納される。
次に、ステップS2205では、偏角情報処理部1004は、輝度分布補正値を生成する。この処理は、図12のステップS1102(その詳細は図13)と同様の処理である。
次に、ステップS2206では、輝度補正値生成処理部1005は、位置関係情報に起因しない静的な輝度変化の影響を、ステップS2205で算出された輝度分布補正値に加味する。具体的に輝度補正値生成処理部1005は、静的輝度補正値格納部1006が保持している静的輝度補正値が登録されたテーブルを、輝度分布補正値(テーブル)に掛け合わせる。この処理は、図12のステップS1103と同様の処理である。
次に、ステップS2207では、輝度補正値生成処理部1005及び階調変換部1602は、照明パターン画像に対して階調変換を実施する。具体的に、輝度補正値生成処理部1005は、ステップS2206で生成された輝度分布補正値(テーブル)を基に、階調変換を行うための階調テーブルを生成して階調データ格納部1007に格納する。このとき輝度補正値生成処理部1005は、照明パターン画像の階調よりも大きなビット数で演算を行い、階調精度を極力劣化させないようにするのが望ましい。そして、階調変換部1602は、階調データ格納部1007から階調テーブルを読み出して階調変換を行う。
以上の処理により、撮像系102が、2次元パターン光の輝度分布の補正を実現することができる。
【0045】
以上のように、照明系101で輝度強度の補正を行い、撮像系102で輝度分布の補正を行って、輝度補正の機能を分離することで、第1、第2の実施形態の双方の効果を得ることができる。すなわち、ダイナミックレンジを確保し、且つ、システムにおける量子化誤差の発生を抑制できる。ダイナミックレンジの確保は、空間符号化法におけるエッジ認識の精度の向上に寄与し、量子化誤差の抑制は、位相シフト法における階調認識の精度の向上に寄与する。本実施形態は、特に、空間符号化法と位相シフト法とを同時に実施するような3次元計測システムにおいて有効である。
【0046】
(第4の実施形態)
次に、本発明の第4の実施形態について説明する。前述した第1〜第3の実施形態では、照明系101(照明手段)が1つである場合を例に挙げて説明した。これに対し、本実施形態では、3次元計測システムが照明系101を複数有する場合について説明する。このように本実施形態と前述した第1〜第3の実施形態とは、照明系101の数と、照明系101の数が異なることによる処理が主として異なる。したがって、本実施形態の説明において、前述した第1〜第3の実施形態と同一の部分についての詳細な説明を省略する。
【0047】
図25は、3次元計測システムの概略構成の一例を示す図である。図25に示すように、本実施形態の3次元計測システムは、3つの照明系101A、101B、101Cと、1つの撮像系102とを有する。本実施形態の3次元計測システムも、例えば、工場の製造ライン等でロボットハンドが、部品の選別や組み立て等の作業が行えるように、対象となる部品の3次元計測を行うシステムである。撮像系102との位置関係に基づいて、最も計測精度が得られると考えられる照明系101を1つ選択し、その照明系101と撮像系102との組み合せで3次元計測を実施する。そのため、複数の照明系101A〜101Cは、同時に2次元パターン光を照射することがないように排他制御される。複数の照明系101A〜101Cの1つを選択するための処理と、それら複数の照明系101A〜101Cの排他制御を行う処理以外の処理は、第1〜第3の実施形態と同様である。尚、以下の説明では、第1の実施形態の構成を前提として説明を行う。
【0048】
図26は、3次元計測システムの機能ブロックの一例を示す図である。3次元計測システムは、照明系101A〜101C、撮像系102、3次元撮像処理部205、3次元計測処理部206、位置関係情報取得部208、制御部2401、及び位置関係処理部2402を備えて構成される。図26に示す機能ブロックのうち、撮像系102、3次元撮像処理部205、及び3次元計測処理部206は第1の実施形態のものと同様である。
照明系101A〜101Cは、測定対象物103に向けて2次元パターン光を照射する。具体的に照明系101A〜101Cは、パターン投影法に基づき、空間符号化法で用いられるエッジパターンや、位相シフト法で用いられる正弦波パターンを測定対象物103に投射する。照明系101A〜101Cのそれぞれの構成は、図2、図5に示したものと同様である。撮像系102は、測定対象物103で反射された2次元パターン光を撮像する。撮像系102の構成は、図2に示したものと同様である。制御部2401は、照明系101A〜101Cと撮像系102とを統合制御する。制御部2401は、照明と撮像の同期制御機能と、照明系101・撮像系102の位置関係情報を、輝度補正の情報として用いるための伝送機能に加え、照明系101A〜101Cの排他制御機能等を有する。ここでは、第1の実施形態と同様に、照明系101で輝度補正を実施する構成を想定している。そのため、位置関係処理部2402からの照明系101・撮像系102の位置関係情報は、位置関係処理部2402で選択された照明系101A〜101Cの何れかに送られる。位置関係処理部2402は、測定対象物103の位置関係情報と、照明系101A〜101Cと撮像系102の位置関係情報とを計算処理して、3次元計測に用いる照明系101を選択する。本実施形態では、位置関係処理部2402は、測定対象物103と撮像系102の位置関係から、オクルージョンがなく、且つ、計測精度が得られる位置にある照明系101を選択する。ここで、計測精度が得られる位置とは、例えば、測定対象物103に対して撮像系102と共役な位置の近くである。図7においては、計測精度が得られる位置とは、φ≒0、θ1≒θ2、l1≒l2が成立する位置であり、理想的な条件の場合、照明系101、撮像系102、測定対象物103がこのような位置関係にある場合、位置関係に起因する輝度変化がほとんど発生しない。位置関係情報取得部208は、ロボットアームが保持する位置関係情報を基に、測定対象物103の位置関係情報と、照明系101と撮像系102の位置関係情報を取得する。位置関係情報の取得方法は第1の実施形態と同様であるが、本実施形態では、複数の照明系101A〜101Cの位置関係情報を取得する。照明系101A〜101Cと撮像系102の位置関係情報は、照明系の輝度補正で用いられる。以上の機能ブロックにより、測定対象物103の3次元計測が実現できる。
【0049】
図27は、3次元計測システムの処理の流れの一例を説明する図である。
ステップS2501では、制御部2401は、照明系101A〜101Cの通信を確立する。すなわち、制御部2401と照明系101A〜101Cとの通信が確立される。
次に、ステップS2502では、制御部2401は、撮像系102の通信を確立する。すなわち、制御部2401と撮像系102との通信が確立される。
次に、ステップS2503では、位置関係処理部2402は、複数の照明系101A〜101Cと撮像系102の位置関係情報の解析処理を行う。位置関係処理部2402は、位置関係情報取得部208から位置関係情報を取得し、オクルージョンがなく、且つ、計測精度が得られる位置にある照明系101を1つ選択する。尚、ここでは、照明系101Bが、撮像系102及び測定対象物103に対してオクルージョンがなく、且つ、計測精度が得られる位置にあるとして説明を行う。
次に、ステップS2504では、照明系101Bの位置関係情報のキャリブレーションが行われる。位置関係処理部2402で選択された照明系101Bの位置関係情報は、制御部2401を介して照明系101Bへ送信される。ここで送信された位置関係情報は、ステップS2506の照明系101Bの輝度補正で用いられる。
次に、ステップS2505では、制御部2401は、該当する照明系101に対して照明停止処理を行う。ここでは、制御部2401は、照明系101A、101Cに対して照明を行わない制御を行う。
次に、ステップS2506では、照明系101Bは、制御部2401からのスタート信号を基に輝度補正処理を行い、測定対象物103に対して輝度補正した2次元パターン光を照射する。照明の輝度補正には、位置関係情報を基に行う輝度強度の補正と輝度分布の補正とがある。ここで用いられる位置関係情報は、照明系101B・撮像系102それぞれの動径l1、l2、偏角φ、θ1、θ2の情報である。
尚、ここでは説明を簡単とするために、ステップS2505とステップS2506とが順次処理されるように図示されている。しかしながら、制御部2401から照明系101A〜101Cへ並列に制御命令が送られて並列処理を行う方が、処理時間の短縮の観点から有利であるので好ましい。
次に、ステップS2507では、撮像系102は、制御部2401からのスタート信号を基に測定対象物103から拡散反射された2次元パターン光を撮像する。そして、3次元撮像処理部205は、3次元撮像処理部205は、パターン投影法を利用して、撮像された2次元パターン光の画像から測定対象物103の奥行き方向の距離を取得する。この測定対象物103の奥行き方向の距離の情報と、2次元パターン光の画像の幅方向と高さ方向の情報とに基づいて、測定対象物103の3次元情報を取得できる。制御部2401は照明と撮像が同期して動作するように、タイミングを規定したスタート信号を発信する。
次に、ステップS2508では、3次元撮像処理部205は、3次元情報(位置情報)を更新する。空間符号化法や位相シフト法で複数枚の2次元パターン光を撮像して3次元情報を取得する。このステップS2508では、2次元パターン光の画像が1枚得られる毎に3次元情報を更新する。このようにして複数枚の2次元パターン光の画像を用いて、ステップS2506〜S2508のループを繰り返す(ループの回数を増やす)ことで、3次元計測の精度を向上させることができる。
次に、ステップS2509では、3次元情報の取得が終了する。3次元計測処理部206は、取得された3次元情報を基にモデルフィッティングを行い、測定対象物103の3次元形状、位置、及び姿勢を計測する。
【0050】
以上のように、撮像系102及び測定対象物103と照明系101A〜101Cとの位置関係に基づいて、オクルージョンがなく、且つ、計測精度が得られる位置にある照明系101を1つ選択する。そして、選択した照明系101と、撮像系102とを用いて3次元計測を行った。したがって、輝度変化を更に効果的に抑制できる。
尚、本実施形態では、複数の照明系101と1つの撮像系102とが自由に動ける場合を例に挙げて説明したが、逆に1つの照明系101と複数の撮像系102とが自由に動けるようにしてもよい。すなわち、照明系101と撮像系102との少なくとも何れか一方を複数設け、照明系101、撮像系102、及び測定対象物103の位置関係から、照明系101と撮像系102との最適な組み合わせを選択していれば、照明系や撮像系の数は限定されない。また、輝度補正は、本実施形態で説明した照明系での輝度補正に限定されるものではない。第2の実施形態で説明したように撮像系で輝度補正を行う形態や、第3の実施形態で説明したように照明系で輝度強度の補正を行い撮像系で輝度分布の補正を行う形態であってもよい。
【0051】
尚、前述した実施形態の各工程は、ネットワーク又は各種記憶媒体を介して取得したソフトウェア(コンピュータプログラム)をパソコン等の処理装置(CPU、プロセッサ)にて実行することもできる。また、本発明の各工程を実行するコンピュータプログラム自体、及びそのコンピュータプログラムが記憶された記憶媒体を構成してもよい。
また、前述した実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0052】
101 照明系、102 撮像系、103 測定対象物
【技術分野】
【0001】
本発明は、計測システム、画像補正方法、及びコンピュータプログラムに関し、特に、撮像画像を用いて3次元計測を行うために用いて好適なものである。
【背景技術】
【0002】
マシンビジョン分野における重要な技術要素として3次元計測技術がある。3次元計測技術の一手法では、まず、測定対象物に対して2次元パターン光を照射することによって得られるパターン投影像をカメラで撮像する。次に、2次元パターンの周期性を手掛かりに、2次元の撮像画像をコンピュータで解析して測定対象物の距離情報を得る。この距離情報は、測定対象物のカメラからの距離や、表面凹凸等、測定対象物の奥行き方向の距離である。測定対象物の幅方向及び高さ方向の情報は、2次元の撮像画像から得ることができるため、この時点で3次元空間情報が得られる。そして、2次元の撮像画像と、距離情報と、予め保持している測定対象物のモデル情報とを用いて3次元モデルフィッティングを行い、測定対象物の位置、姿勢、及び3次元形状を計測する。
【0003】
測定対象物の奥行き方向の距離情報を得るために2次元パターン光を用いる手法は、パターン投影法と呼ばれる。一般に、パターン投影法では、エッジパターン又は正弦波パターンを測定対象物に照射する。エッジパターンとは、簡単には白黒等の2値階調の縞が規則的に連続して並んだ離散的パターンであり、正弦波パターンとは、簡単には連続的に階調を変化させてグラデーションにより正弦波を表現する連続的パターンである。2次元パターン光を測定対象物に照射すると、測定対象物の表面の凹凸や形状に依存してパターンの不連続や歪みが観測できる。エッジパターンでは、この不連続がエッジの位置ずれに相当し、正弦波パターンでは、この歪みが位相ずれに相当する。エッジパターンでは、三角測量の原理を利用してエッジの位置ずれから、測定対象物の奥行き方向の距離を推定する。そのため、エッジ位置がどこかを正確に認識するエッジ認識の精度は、測定対象物の奥行き方向の距離の精度に影響を与える。同様に正弦波パターンでも、三角測量の原理を利用して位相ずれから奥行き方向の距離を推定する。そのため、位相、すなわち階調を正確に認識する階調認識の精度は、測定対象物の奥行き方向の距離の精度に影響を与える。
【0004】
エッジ認識では、2値階調の輝度差、又は輝度変化の過程からエッジ位置を認識する。エッジ部分の階調が反転する過渡的な領域では輝度が連続的に変化していると考えられる。2次元パターン光の意図しない輝度変化は、この過渡的な輝度の変化の経路や階調が飽和する位置を無秩序に変化させる。そのため、2次元パターン光の意図しない輝度変化(所謂輝度むら)が生じ、これによりエッジ認識の精度が低下する。同様の論理により、2次元パターンの輝度変化(所謂輝度むら)は階調認識の精度を低下させる。
このような2次元パターンの輝度変化(所謂輝度むら)を抑制するための技術として特許文献1に記載の技術がある。特許文献1では、検査面の側方に照明装置を設置して照明する場合、検査面が均一面であっても反射光強度、及びCCD出力が均一にならないという課題に対し、照明装置の出射端と検査面両端との距離の比を用いて照明光の出射強度比を変更するようにしている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平06−242020号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に記載の技術は、照明装置が検査面に対して可変な配置であるのに対し、CCDカメラは検査面に対して正対した固定配置となる構成が前提である。このように特許文献1に記載の技術では、CCDカメラが固定されているため、オクルージョン(occlusion)、照明装置の空間位置に起因する光量不足や画像劣化等に対してロバスト(robust)でない。同様に前提とする構成からの帰結として、照明系の位置関係に起因する輝度変化を補正するのには有効であるが、撮像系の位置関係に起因する輝度変化には寄与しない。
本発明は、このような問題点に鑑みてなされたものであり、照明系及び撮像系の双方の測定対象物との位置関係が可変である場合の撮像画像による3次元計測を正確に行うことができるようにすることを目的とする。
【課題を解決するための手段】
【0007】
本発明の計測システムは、測定対象物に照明光を照射する照明手段と、前記照明手段の動作を制御する照明制御手段と、測定対象物からの反射光または透過光を撮像する撮像手段と、前記撮像手段の動作を制御する撮像制御手段と、前記照明手段および前記撮像手段の、前記測定対象物との位置関係を示す位置関係情報を取得する取得手段と、前記位置関係情報に基づき、前記照明手段による照明光と、前記撮像手段で撮像された画像とのうち、少なくともいずれか一方の輝度を補正して、前記撮像手段で撮像された前記測定対象物の画像の輝度変化を補正する補正手段と、を有し、前記測定対象物と前記照明手段と前記撮像手段とのうち、少なくとも二つの位置が可変であることを特徴とする。
【発明の効果】
【0008】
本発明によれば、照明手段、撮像手段、及び測定対象物の位置に関する情報に基づき、照明手段による照明光と、撮像手段で撮像された画像とのうち、少なくともいずれか一方の輝度を補正して、撮像手段で得られた測定対象物の画像の輝度変化を補正する。したがって、測定対象物、照明手段、及び撮像手段の位置関係を考慮して測定対象物の画像の輝度変化を補正することができる。よって、照明系及び撮像系の双方の測定対象物との位置関係が可変である場合の撮像画像による3次元計測を正確に行うことが可能になる。
【図面の簡単な説明】
【0009】
【図1】第1の実施形態の3次元計測システムの概略構成を示す図である。
【図2】3次元計測システムの機能ブロックを示す図である。
【図3】2次元パターン光を概念的に示す図である。
【図4】3次元計測システムの処理を説明するフローチャートである。
【図5】照明本体部の構成の一例を示す図である。
【図6】照明制御部の機能ブロックを示す図である。
【図7】輝度補正をする際に用いられる位置関係情報を説明する図である。
【図8】照明系と撮像系の光軸の検査面への射影像が一致する場合の輝度分布の補正を説明する図である。
【図9】照明系と撮像系の光軸の検査面への射影像が一致しない場合の輝度分布の補正を説明する図である。
【図10】輝度分布と輝度強度との両方を含めた照明パターン画像の輝度補正の一例を説明する図である。
【図11】輝度補正部の機能ブロックを示す図である。
【図12】図4の輝度補正処理を説明するフローチャートである。
【図13】図12の輝度分布補正値生成処理を説明するフローチャートである。
【図14】階調変換で発生するダイナミックレンジの低下を補う処理を説明する図である。
【図15】第2の実施形態の3次元計測システムの処理を説明するフローチャートである。
【図16】撮像制御部の機能ブロックを示す図である。
【図17】輝度補正部の機能ブロックの一例を示す図である。
【図18】照明系で輝度補正を階調に着目して説明するフローチャートである。
【図19】照明系で輝度補正を行う場合のデータを示す図である。
【図20】撮像系での局所的な輝度補正を概念的に説明する図である。
【図21】第3の実施形態の処理の流れを説明する図である。
【図22】照明制御部の機能ブロックを示す図である。
【図23】撮像制御部の機能ブロックを示す図である。
【図24】輝度補正処理の一例を説明するフローチャートである。
【図25】第4の実施形態の3次元計測システムの概略構成を示す図である。
【図26】3次元計測システムの機能ブロックを示す図である。
【図27】3次元計測システムの処理の流れを説明する図である。
【発明を実施するための形態】
【0010】
(第1の実施形態)
まず、本発明の第1の実施形態を、図面を参照しながら説明する。
図1は、3次元計測システムの概略構成の一例を示す図である。この3次元計測システムは、例えば、工場の製造ライン等でロボットハンドが、部品の選別や組み立て等の作業が行えるように、対象となる部品の3次元計測を行う計測システムである。3次元計測システムは、大別すると、照明系101と撮像系102とを有する。
照明系101は、測定対象物103に2次元パターン光を照射する。照明系101には小型のプロジェクタ等が用いられる。撮像系102は、測定対象物103上に投影された2次元パターン光の画像を撮像する。撮像系102には、CCDカメラやCMOSカメラが用いられる。照明系101及び撮像系102は、ロボットアームに搭載できる小型で軽量なものが望ましい。測定対象物103は3次元計測の測定対象物であり、ここでは部品の選別や組み立ての対象となる部品である。ここで、照明系101と撮像系102と測定対象物103とのうち、少なくとも2つは空間位置が可変である。図1では、測定対象物103が拡散反射物体や鏡面物体であることを想定しているが、測定対象物103は2次元パターン光が透過する透明な物体でもよい。その場合、撮像系102は、透過光を撮像する位置に配置される。作業用のロボットハンドは図示していないが、作業領域の省スペース化を行う場合、作業用のロボットハンドと、照明系101や撮像系102を搭載したロボットアームとが一体で構成されることが望ましい。また、図1では、照明系101と撮像系102のそれぞれでロボットアームをもつ構成としているが、1つのロボットアームに照明系101と撮像系102を搭載する構成でもよい。
【0011】
図2は、3次元計測システムの機能ブロックの一例を示す図である。3次元計測システムは、照明本体部201、照明制御部202、撮像本体部203、撮像制御部204、3次元撮像処理部205、3次元計測処理部206、制御部207、及び位置関係情報取得部208を備えて構成される。
照明本体部201は、測定対象物103に向けて2次元パターン光を照射する。具体的に照明本体部201は、パターン投影法に基づき、空間符号化法で用いられるエッジパターンや、位相シフト法で用いられる正弦波パターンを測定対象物103に投射する。パターン投影法については図3を用いて後述する。照明本体部201は、光源209、照明光学系210、空間変調器211、及び投影光学系212を備えて構成される。光源209としてはLEDやLD等が用いられる。空間変調器211としてはTFT液晶パネル、LCOSパネル、走査型MEMSデバイス等が用いられる。照明制御部202は、照明パターン画像(照明に使用される2次元パターン画像)の制御や、照明本体部201の制御等を行う。具体的に照明制御部202は、外部から入力された、照明パターン画像の輝度補正(画像補正)や、当該照明パターン画像に対応した光源209や空間変調器211(パネル)の駆動制御等を行う。照明パターン画像のデータは、外部入力以外に、内部ロジックで生成しても、内部メモリから読み出して生成してもよい。撮像本体部203は、測定対象物103で反射された2次元パターン光を撮像する。実際に撮像される2次元パターン光には、測定対象物103の形状や表面の凹凸の影響でパターンのエッジずれや位相ずれが発生している。撮像本体部203は、撮像デバイス213及び撮像光学系214を備えて構成される。撮像デバイス213としてはCCDやCMOS等のイメージ・センサが用いられる。ここでは、測定対象物103として拡散反射物体や鏡面物体を想定しているが、測定対象物103は、2次元パターン光が透過する透明な物体でもよい。撮像制御部204は、撮像本体部203の制御を行う。具体的に撮像制御部204は、撮像デバイス213の動作制御や、シャッタースピード、フレームレート、ROI(Region Of Interest)等の動作タイミングの制御等を行う。3次元撮像処理部205は、撮像された2次元パターン光を基に、測定対象物103の距離情報を取得する。具体的に3次元撮像処理部205は、パターン投影法を利用して、測定対象物103の奥行き方向の距離を計測する。撮像された2次元パターン光の幅方向及び高さ方向の距離情報と、測定対象物103の奥行き方向の距離情報との双方を考慮することにより、測定対象物103の3次元の情報が得られる。3次元計測処理部206は、測定対象物103の位置、姿勢、及び3次元形状を計測する。3次元計測処理部206は、3次元撮像処理部205で計測した「測定対象物103の奥行き方向の距離」と、「2次元パターン光に基づく画像」とを基にモデルフィッティングを行い、測定対象物103の位置、姿勢、及び3次元形状を計測する。計測された測定対象物103の3次元形状、位置、及び姿勢の情報は、部品のピッキングや組み立てを行うためのロボットハンドの制御に用いられる。制御部207は、照明制御部202と撮像制御部204とを統合制御する。具体的に制御部207は、照明と撮像の同期制御機能や、照明系101・撮像系102の位置関係情報を、輝度補正の情報として用いるための伝送機能等を有する。このように本実施形態では、照明系101で輝度補正を実施する構成を想定しているため、位置関係情報取得部208からの照明系101・撮像系102の位置関係情報は照明制御部202に送られる。位置関係情報取得部208は、ロボットアームが保持する位置関係情報を基に、測定対象物103の位置関係情報と、照明系101・撮像系102の位置関係情報を取得する。絶対座標におけるロボットアームの位置・姿勢は、ロボットアームのキャリブレーションにより取得できる。絶対座標の基準位置は任意に設定でき、その座標系により3次元計測システムのワークエリア内の座標が特定できれば良い。照明本体部201及び撮像本体部203はロボットアームに固定搭載されているため、ロボットアームの位置・姿勢が分かれば、照明本体部201及び撮像本体部203の位置・姿勢を算出できる。また、測定対象物103の絶対座標における位置も3次元計測システムのキャリブレーションにより取得できる。照明系101・撮像系102の位置関係情報は、任意に設定した絶対座標における位置・姿勢のことである。測定対象物103の位置関係情報は、その絶対座標における位置のことである。さらに、位置関係情報の別の形態として、測定対象物103を基準位置とした表現とすることもできる。すなわち、照明系101・撮像系102の位置関係情報を、測定対象物103を原点とした球座標系における動径情報・偏角情報として表現することもできる。本実施形態では、このようにして位置関係情報を表現する場合を例に挙げて説明する(詳細は図7を用いて後述する)。照明系101・撮像系102の位置関係情報は、制御部207を介して照明制御部202の輝度補正で用いられる。以上の機能ブロックにより、測定対象物103の3次元計測が実現できる。
【0012】
図3は、3次元計測技術で用いられる2次元パターン光の一例を概念的に示す図である。測定対象物103の奥行き方向の距離情報を得るために2次元パターン光を用いる手法は、パターン投影法と呼ばれる。一般に、パターン投影法では、複数のエッジパターン又は同一位相の正弦波パターンを投影する。図3(a)は2値階調で表現したエッジパターンの一例、図3(b)は正弦波パターンの一例である。2次元パターン光を測定対象物103に照射すると、測定対象物103の表面の凹凸や形状に依存してパターンの不連続や歪みが観測できる。図3(a)に示すエッジパターン301では、この不連続がエッジずれに相当し、図3(b)に示す正弦波パターン302では、この歪みが位相ずれに相当する。エッジパターン301を用いた場合には、三角測量の原理を利用して、エッジずれから、測定対象物103の奥行き方向の距離を推定する。この推定には、空間符号化法が用いられる。推定の際には、白黒パターンを2値情報として符号化する。符号化方法が異なる(すなわち、白黒パターンの並びが異なる)投影像を複数回撮像し、それらのエッジ情報から測定対象物103の奥行きの距離を推定する。正弦波パターン302を用いた場合にも同様に、三角測量の原理を利用して、位相ずれから、測定対象物103の奥行き方向の距離を推定する。この推定には、位相シフト法が用いられ、正弦波パターン302の位相をシフトさせた投影像を複数回撮像し、それらの位相情報から測定対象物103の奥行き方向の距離を推定する。測定対象物103の奥行き方向の距離の算出に際し、空間符号化法を用いた場合にはエッジ情報が用いられ、位相シフト法を用いた場合には位相情報が用いられる。そのため、測定対象物103の奥行き方向の距離の精度は、エッジ情報、位相情報の精度に大きく影響する。3次元撮像処理部205が行うエッジ認識では、2値階調の輝度差、又は2値階調間の輝度の変化の過程からエッジ位置を認識する。3次元撮像処理部205が行う位相認識では、位相の連続的な変化を認識する。位相の連続的変化とは輝度の連続的な変化、すなわち階調の変化である。エッジパターン301のエッジ精度、正弦波パターン302の階調精度は、輝度変化に対して敏感であり、測定対象物103の奥行き方向の距離の精度に影響を与える重要なパラメータである。
【0013】
図4は、3次元計測システムの処理の一例を説明するフローチャートである。
ステップS401では、制御部207は、照明系101を制御する照明制御部202と、撮像系102を制御する撮像制御部204とのそれぞれに対して通信の確立を行う。
次に、ステップS402では、照明系101・撮像系102の位置関係情報のキャリブレーションが行われる。位置関係情報取得部208からの照明系101・撮像系102の位置関係情報が、制御部207を介して照明制御部202へ送信される。ここで送信される位置関係情報は、ステップS403の輝度補正処理で用いられる。この位置関係情報の精度は、照明制御部202で行われる輝度補正の精度に影響を与える。このため、3次元計測処理時に用いる位置関係情報と同一の位置関係情報を用いてキャリブレーションを行うのが望ましい。しかしながら、キャリブレーション時と3次元計測時とで照明系101・撮像系102それぞれの位置関係情報が異なる場合、例えば、ロボットアームを動作させながら3次元計測処理を行う場合には、動き予測を加味した位置関係情報を用いるのが望ましい。
【0014】
次に、ステップS403では、照明制御部202は、照明系101・撮像系102の位置関係情報を基に、照明パターン画像の輝度補正を行う。輝度補正処理については、図7から図13を用いて後述する。
次に、ステップS404では、照明本体部201は、測定対象物103に2次元パターン光を照射する。空間符号化法では、複数のエッジパターン301の2次元パターン光が照射され、位相シフト法では、同一位相の正弦波パターン302の2次元パターン光が照射される(図3を参照)。
次に、ステップS405では、撮像本体部203は、測定対象物103から拡散反射された2次元パターン光を撮像する。実際に撮像される2次元パターン光には、測定対象物103の形状や表面の凹凸の影響で、パターンのエッジずれや位相ずれが発生している。
次に、ステップS406では、3次元撮像処理部205は、3次元撮像処理を行う。具体的に3次元撮像処理部205は、パターン投影法を利用して、撮像された2次元パターン光から、測定対象物103の奥行き方向の距離を取得する。3次元撮像処理部205は、2次元パターン光の画像の幅方向と高さ方向の情報と合わせて、このステップS406で測定対象物103の3次元情報を取得する。
次に、ステップS407では、3次元撮像処理部205は、3次元情報を更新する。空間符号化法でも位相シフト法でも複数枚の2次元パターン光を撮像して3次元情報を取得する。このステップS407では、2次元パターン光の画像が1枚得られる毎に3次元情報を更新する。空間符号化法を用いた場合には、符号パターンの異なる複数の画像を用いてステップS403〜S407のループを繰り返す。このステップS407では、符号パターン毎の3次元撮像処理の結果を使って3次元情報が更新される。このループ処理を繰り返す(ループの回数を増やす)ことで(すなわち、符号パターンの異なる複数の画像からの3次元撮像処理の結果を使うことで)、3次元計測の精度を向上させることができる。
次に、ステップS408では、3次元撮像処理部205は、3次元情報の取得が完了したか否かを判断する。実際には、空間符号化法でも、位相シフト法でも予め撮影枚数が決められており、その撮影枚数に対応する回数だけステップS403〜S407のループを繰り返す。3次元情報の取得が完了したら、ステップS409へ進む。
ステップS409では、3次元計測処理部206は、3次元計測処理を行う。具体的に3次元計測処理部206は、3次元撮像処理部205で計測された、測定対象物103の奥行き方向の距離と、2次元パターン光の画像とを基にモデルフィッティングを行い、測定対象物103の位置、姿勢、及び3次元形状を計測する。
以上、図4で説明した処理を経て計測された「測定対象物103の3次元形状、位置、及び姿勢」の情報は、ロボットハンドによる部品ピッキングや組み立てを行うための制御に用いられる。
【0015】
図5は、3次元計測システムの照明本体部201の他の構成の一例を示す図である。図2では、反射型パネルを用いた照明本体部201を示したが、図5では、透過型パネルを用いた照明本体部201を示し、光の伝播経路に着目したときの物理構成を簡単に説明する。
照明本体部201は、光源501、拡散板502、空間変調器503、偏光板504a、504b、及びレンズ群505を備えて構成される。光源501は、複数のLEDやLD等を用いて構成される。拡散板502は、光源501からの発光面のむらを抑制して輝度を面内で均一に保つ役割を果たす。空間変調器503は、透過型のTFT液晶パネル等を用いて構成される。空間変調器503で2次元パターン光の照明パターン画像を表現する。このため、TFT液晶パネルの解像度、画素サイズ、画素ピッチ等が2次元パターン光の精度に影響を与える。偏光板504a、504bは、空間変調器503(透過型のTFT液晶パネル)の前後で偏光状態の制御を行う。レンズ群505は、2次元パターン光のMTF、被写界深度特性、ディストーション等のパラメータに影響を与えるものである。
【0016】
図6は、3次元計測システムの照明系101の照明制御部202の機能ブロックの一例を示す図である。照明制御部202は、画像入力部602、輝度補正部603、空間変調器駆動部604、及び光源駆動部605を備えて構成される。
画像入力部602は、照明制御部202に入力される照明パターン画像のフォーマットをインタフェースに合わせて変更する。計測精度や計測速度の向上を考えると高い解像度や高いフレームレートが必要となる。このため、画像入力部602は、大容量伝送に対応したインタフェースであることが望ましい。インタフェースとしては、USBやIEEE1394のメタル線、Gigabit Ethernet(登録商標)等の光ファイバが使用される。輝度補正部603は、照明パターン画像の輝度変化を補正する。輝度補正部603には、制御部207から、照明系101・撮像系102の位置関係情報(後述する動径情報や偏角情報)が入力される。輝度補正部603は、これらの情報を基に照明パターン画像の輝度補正を行う。輝度補正には、概略、照明パターンの階調変換(輝度分布の補正)と、光源501の強度変換(輝度強度の補正)とが含まれる。輝度補正された照明パターン画像は空間変調器駆動部604へ出力され、光源501の強度を変調する光源変調信号は光源駆動部605へ出力される。輝度補正の詳細は図7〜図13を用いて後述する。空間変調器駆動部604は、空間変調器503の駆動を制御する。空間変調器駆動部604は、輝度補正部603からの「照明パターン画像を表す画像信号」を基に、空間変調器503の駆動信号を生成する。また、光源501の駆動を時間制御する場合、空間変調器駆動部604は、そのためのPWM信号等のトリガー信号を生成して光源駆動部605に出力する。光源駆動部605は、光源501の駆動を制御する。具体的に光源駆動部605は、輝度補正部603からの光源変調信号を基に強度を変調した駆動信号を生成する。また、光源駆動を時間制御する場合、光源駆動部605は、PWM信号を基に駆動信号を生成する。光源501にはLDやLEDが用いられるが、光出力制御を安定させるためや、デバイスの破壊を避けるために、光源501を定電流駆動することが多い。
【0017】
図7は、輝度補正をする際に用いられる位置関係情報を説明する図である。図7では、測定対象物103が拡散反射物体や鏡面物体であることを想定しているが、測定対象物103は、2次元パターン光が透過する透明な物体でも良い。2次元パターン光が透過する透明な物体を測定対象物103として用いた場合には、今後の説明において反射率を透過率と読み替えることになる。
ここでは、照明系101・撮像系102の位置関係情報を、測定対象物103が配置される測定面701を基準位置とした相対的な位置関係情報として表現する。照明系101の光軸と測定面701とが交わる点を原点とした球座標系を考えると、動径l1、偏角φ、θ1を用いることにより照明系101の位置と姿勢とが表される。同様に、撮像系102の光軸と測定面701とが交わる点を原点とした球座標系を考えると、動径l2、偏角φ、θ2を用いることにより撮像系102の位置と姿勢とが表される。照明系101と撮像系102とは同じ測定対象物103を照射・撮像するため、照明系101の光軸と測定面701とが交わる点と、撮像系102の光軸と測定面701とが交わる点とは略一致している。輝度補正のために用いられる照明系101の位置関係情報は、動径l1、偏角φ、θ1であり、撮像系102の位置関係とは、動径l2、偏角φ、θ2である。動径l1、l2は、輝度強度を補正するパラメータとして用い、偏角φ、θ1、θ2は、輝度分布を補正するパラメータとして用いられる。
本実施形態では、以上のパラメータ(動径l1、l2、偏角φ、θ1、θ2)からなる位置関係情報を用いて3次元計測システムの輝度補正を実施する。
【0018】
図8及び図9は、輝度分布の補正を説明する図である。ここでは、輝度分布の補正の説明に特化するため、測定面701の反射率を100%と仮定し、輝度強度の影響を排除することを前提とする。輝度分布の補正において用いられるパラメータは偏角φ、θ1、θ2であるので、輝度分布の補正と、輝度強度の補正とは分離して考えることができる。
図8は、照明系101と撮像系102の光軸の測定面701への射影像が一致する場合の輝度分布の補正の一例を説明する図である。具体的に図8(a)は、輝度分布が補正される様子の一例を示す図である。また、図8(b)は、照明系101、撮像系102、及び測定面701の位置関係を示す図である。また、図8(c)は、輝度補正した照明パターン画像の任意の1ラインにおける輝度の分布(傾斜)の一例を示す図である。この場合、位置関係情報は、φ=0°、l1=l2と仮定できる。輝度分布801は、θ2=0°と仮定して照明系101の偏角θ1だけを考慮して補正した場合に想定される空間変調器503上の輝度分布である。図中の矢印は、輝度の高低差を示したものであり、その矢印の向きは輝度の高いほうから低いほうへ向かう方向を示している。この場合、照明系101の測定面701に近い側の端の輝度を低く、遠い側の端の輝度を高くする。これにより、撮像系102で撮像される照明パターン画像は均一な輝度となる。同様の考え方で、輝度分布802は、θ1=0°と仮定して撮像系102の偏角θ2だけを考慮して補正した場合に想定される空間変調器503上の輝度分布である。この場合には、撮像系102の測定面701に近い側に相当する空間変調器503の端の輝度を低く、遠い側に相当する空間変調器503の端の輝度を高くする。輝度分布803は、照明系101と撮像系102の両者の偏角θ1、θ2を考慮して輝度補正した場合に想定される空間変調器503上の輝度分布である。輝度分布803は、輝度分布801、802の分布状態を掛け合わせたものとなる。
照明パターン画像の各ラインにおける輝度の傾斜は、照明系101(照明手段)及び撮像系102(撮像手段)の角度特性に合わせて変化させる。照明系101の出射光強度の角度特性が偏角θ1の変化に対して直線的に変化する場合、照明パターン画像の各ラインにおける輝度の傾斜を線形補間により求めることができる。また、撮像系102の受光強度の角度特性が偏角θ2の変化に対して直線的に変化する場合にも、照明パターン画像の各ラインにおける輝度の傾斜を線形補間により求めることができる。図8では、照明系101の出射光強度の角度特性と、撮像系102の受光強度の角度特性とが同じ変化率で直線的に変化する。この場合の輝度は、「(l1×sin|θ1−θ2|−d)/(l1×sin|θ1−θ2|+d)」(l1=l2)に比例した傾斜となる。
【0019】
図9は、照明系101と撮像系102の光軸の測定面701への射影像が一致しない場合の輝度分布の補正の一例を説明する図である。具体的に図9(a)は、輝度分布が補正される様子の一例を示す図である。また、図9(b)は、輝度補正した照明パターン画像の任意の1ラインにおける輝度の分布(傾斜)の一例を示す図である。この場合、位置関係情報は、φ≠0°、l1=l2と仮定できる。図8では、輝度分布がある端面に対して垂直な方向、又は平行な方向に変化する場合を説明したが、図9では、輝度分布が端面に対して斜め方向に変化する場合を示すだけであり、本質的な考え方は図8で説明したものと変わらない。輝度分布804、805、806は、それぞれ輝度分布801、802、803に対応し、φ≠0のために輝度分布804〜806が端面に対して斜め方向に変化することを表している。
【0020】
図10は、輝度分布と輝度強度との両方を含めた照明パターン画像の輝度補正の一例を説明する図である。具体的に図10(a)は、輝度分布が補正される様子の一例を示す図である。また、図10(b)は、輝度補正した照明パターン画像の任意の1ラインにおける輝度の分布(傾斜)の一例を示す図である。図10では、図8及び図9で説明した輝度分布の補正に、輝度強度の補正による影響を加味したものを示している。輝度強度の補正において用いられるパラメータは動径l1、l2であるので、輝度分布の補正と、輝度強度の補正とは分離して考えることができる。
輝度分布901は、φ=0°、θ1=θ2=0°と仮定し、動径と、測定対象物103の反射率とを考慮して補正した場合に想定される空間変調器503上の輝度分布であり、一定値である。ここでは、照明系101と撮像系102とは互いに物理的に干渉しないものと仮定している。また、図中の矢印は輝度の高低差を示したものであり、その矢印の向きは輝度の高いほうから低いほうへ向かう方向を示している。輝度強度の補正には、例えば、照明系101の動径l1の2乗に逆比例する単位面積当たりの光量減衰率と、測定対象物103の反射率と、撮像系102の動径l2の2乗に逆比例する単位面積あたりの光量減衰率とを掛け合わせた値が用いられる。この値(システムの光量減衰率)と、基準とする光量減衰率とを比較して、その比率を基に輝度強度が制御される。輝度分布902は、偏角を基に補正した輝度分布を表しており、図8の輝度分布803、図9の輝度分布806に相当する。輝度分布903は、照明系101・撮像系102の位置関係情報と、測定対象物103の反射率とを考慮して補正した場合に想定される空間変調器503上の輝度分布である。輝度分布903は、輝度分布901、902の輝度状態を掛け合わせたものとなる。
輝度強度の補正は、照明系101、及び撮像系102の距離特性に合わせて変化させる。照明系101の出射光強度の距離特性が動径l1の変化に対して2乗で逆比例し、撮像系102の受光強度の角度特性が動径l2の変化に対して2乗で逆比例する場合、輝度強度の補正は「(l12/L12)×(l22/L22)」に比例した変化となる。
ここで、L1、L2は、基準とする光量減衰率を求める際の動径l1、l2のそれぞれの基準長さである。
【0021】
図11は、輝度補正部603の機能ブロックの一例を示す図である。輝度補正部603は、階調変換部1001、位置関係情報格納部1002、動径情報処理部1003、偏角情報処理部1004、輝度補正値生成処理部1005、静的輝度補正値格納部1006、階調データ格納部1007及び光源変調信号生成部1008を備える。
階調変換部1001は、輝度補正部603に入力された照明パターン画像の階調を変換して階調変換を行う。階調データ格納部1007は、全ての画素に対応する補正値が登録された階調テーブルを保持している。階調変換部1001は、この階調テーブルを読み出して階調変換を行う。または、階調変換部1001は、階調データ格納部1007の階調テーブルと、最近傍近似、線形補間、3次補間、高次の曲線補間等のアルゴリズムとを用いて階調変換してもよい。このようにする場合、メモリ容量を抑えるために階調テーブルには数画素おきでの階調が格納されており、階調変換部1001は、各種アルゴリズムを用いて全ての画素の階調を数値演算で算出する。解法変換の精度、メモリ量、演算量等の組合せを考慮して、階調テーブルとアルゴリズムを決定することになる。ここで、階調テーブルは、図10の輝度分布903で概念的に示した輝度変化の状態を階調変化に置き換えたものである。空間変調器駆動部604へは、階調変換された照明パターン画像が出力される。位置関係情報格納部1002は、輝度補正部603に入力された位置関係情報を格納する。具体的に位置関係情報格納部1002には、照明系101・撮像系102の動径l1、l2、偏角φ、θ1、θ2の情報が格納される。動径l1、l2の情報は動径情報処理部1003が、偏角φ、θ1、θ2の情報は偏角情報処理部1004がそれぞれ読み出して処理に利用する。動径情報処理部1003は、動径l1、l2の情報と、測定対象物103の反射率とを基に、輝度強度補正値を算出する。測定対象物103の反射率として、測定対象物の材質等から判断した値を予め格納しておき、動径情報処理部1003は、それを読み出して用いる。動径情報処理部1003は、まず、動径l1の2乗に逆比例する単位面積当たりの光量減衰率と、測定対象物103の反射率と、動径l2の2乗に逆比例する単位面積あたりの光量減衰率とを掛け合わせた値(システムの光量減衰率)を算出する。そして、動径情報処理部1003は、この3次元システムの光量減衰率と、基準とする光量減衰率とを比較してその比率を基に輝度強度補正値を算出する。動径情報処理部1003は、この比較の結果、前者が大きい場合には明るくなるように輝度強度を上げる制御を行い、後者が大きい場合には暗くなるように輝度強度を下げる制御を行う。輝度強度補正値は全ての画素に共通な一定の値である。偏角情報処理部1004は、偏角φ、θ1、θ2の情報を基に輝度分布補正値を算出する。偏角情報処理部1004は、偏角θ1、θ2から輝度分布の変化量を算出し(図8を参照)、偏角φから輝度分布の面内の傾き量(図9を参照)を算出する。偏角θ1、θ2が90°に近ければ輝度分布の変化量は小さくなり、0°に近ければ大きくなる。偏角情報処理部1004は、これらから輝度分布補正値を算出する。輝度分布補正値は全ての画素に対応する補正値をもつテーブルである。メモリ容量を抑えるために、輝度分布補正値のテーブルを、数画素おきでの補正値からなるテーブルとし、各種アルゴリズムを用いて全ての画素の補正値を数値演算で算出するようにしてもよい。輝度補正値生成処理部1005は、階調データ格納部1007に格納する階調テーブルを生成する。輝度補正値生成処理部1005は、まず、偏角情報処理部1004で算出された輝度分布補正値と、静的輝度補正値格納部1006に格納されている静的輝度補正値とを掛け合わせて輝度分布補正値を生成する。そして、輝度補正値生成処理部1005は、輝度ベースで求められた輝度補正値を、パターン画像の階調を考慮して階調ベースからなる階調テーブルに変換する。例えば、パターン画像の階調が8ビットであれば、階調テーブルも8ビットをベースに生成する。ここで生成される階調テーブルは、全ての画素に対応する補正値が登録されたテーブルである。前述のように、メモリ容量を抑えるために、階調テーブルを、数画素おきでの補正値からなるテーブルとし、各種アルゴリズムを用いて全ての画素の補正値を数値演算で算出するようにしてもよい。静的輝度補正値格納部1006は、位置関係情報に起因しない静的な輝度変化を補正するためのテーブルを格納する。位置関係情報に起因しない静的な輝度変化とは、時間的に不変の輝度変化である。この輝度変化は、光源501の発光デバイスの輝度のばらつきや、照明光学系の拡散板502や偏光板504における輝度むらや、空間変調器503の透過率の空間ばらつきや、投影光学系の偏光板504やレンズ群505における輝度むら等に基づくものである。光源変調信号生成部1008は、動径情報処理部1003からの輝度強度補正値を基に光源501の強度を変調する光源変調信号を生成する。光源変調信号は光源駆動部605へ出力される。さらに、光源変調信号生成部1008は、輝度補正値生成処理部1005からの制御信号を受けて、階調変換で発生するダイナミックレンジの低下を補う処理を行う。この処理の詳細は図14を用いて後述する。
偏角情報処理部1004、輝度補正値生成処理部1005で取り扱うテーブルに関しては、予め保持しているルック・アップ・テーブルを用いる構成としてもよい。全ての画素の補正値を算出するか、数画素毎の補正値と数値演算とにより補正値を算出するか、ルック・アップ・テーブルを用いるかは、使用できるメモリ容量や求められる補正精度から適正な構成を選ぶことができる。
【0022】
図12は、図4のステップS403の輝度補正処理の一例を説明するフローチャートである。
ステップS1101では、位置関係情報格納部1002は、位置関係情報を取得する。図2に示した位置関係情報取得部208で取得、処理した「測定対象物103の位置関係情報、照明系101・撮像系102の位置関係情報」が位置関係情報格納部1002に格納される。位置関係情報とは、具体的には、照明系101・撮像系102の動径l1、l2、偏角φ、θ1、θ2の情報である。
ステップS1102では、偏角情報処理部1004は、輝度分布補正値を生成する。偏角情報処理部1004は、ステップS1101で取得された「照明系101・撮像系102の動径l1、l2、偏角φ、θ1、θ2の情報」を利用して、位置関係情報に起因する輝度分布補正値を生成する。輝度分布補正値は全ての画素に対応する補正値をもつテーブルであり、偏角φ、θ1、θ2に依存して動的に変化する。
ステップS1103では、輝度補正値生成処理部1005は、位置関係情報に起因しない静的な輝度変化の影響を、ステップS1102で算出された輝度分布補正値に加味する。具体的に輝度補正値生成処理部1005は、静的輝度補正値格納部1006が保持している静的輝度補正値が登録されたテーブルを、輝度分布補正値(テーブル)に掛け合わせる。このステップS1103で、3次元計測システムにおける輝度分布の補正値が生成される。
ステップS1104では、輝度補正値生成処理部1005及び階調変換部1001は、照明パターン画像に対して階調変換を実施する。具体的に輝度補正値生成処理部1005は、ステップS1102で生成された輝度分布補正値(テーブル)を基に、階調変換を行うための階調テーブルを生成して階調データ格納部1007に格納する。この階調テーブルを生成する簡単な手法としては、輝度変化により輝度が最も暗くなる画素の輝度値が最大輝度値となるようにその他の画素の階調を変換する。この場合、輝度のダイナミックレンジが小さくなってしまうが、図14を用いて後述する手法によりダイナミックレンジを確保する処理が行われる。そして、階調変換部1001は、階調データ格納部1007から階調テーブルを読み出して階調変換を行う。このステップS1104での処理結果は、空間変調器503での実際の照明パターン画像の階調変換として達成される。
ステップS1105では、動径情報処理部1003は、測定対象物103の反射率を考慮した輝度強度補正値を生成する。具体的に動径情報処理部1003は、ステップS1101で取得された「照明系101と撮像系102の動径l1、l2の情報」を利用して、測定対象物103の反射率と位置関係情報とに起因する輝度強度補正値を生成する。輝度強度補正値は全ての画素に共通な一定値であり、動径l1、l2に依存して動的に変化する。このステップS1105で、3次元計測システムにおける輝度強度の補正値が生成される。
ステップS1106では、光源変調信号生成部1008は、光源変調信号の生成を実施する。具体的に光源変調信号生成部1008は、動径情報処理部1003で生成された輝度強度補正値を基に、光源変調信号生成部1008が光源強度を変調するための光源変調信号を生成する。撮像系102が測定面701からの反射光を撮像する際に、光源501の強度が一定となるように光源501の強度変調を行う。また、図14を用いて後述するが、輝度分布の補正に対するダイナミックレンジの低下を補う処理も実施する。このステップS1106での処理結果は、光源501での実際の2次元パターン光の強度変調として達成される。
以上の処理により、照明系101が、2次元パターン光の輝度補正を実現することができる。
【0023】
図13は、図12のステップS1102の輝度分布補正値生成処理の一例を説明するフローチャートである。具体的に図13(a)は、偏角φ、θ1、θ2をそれぞれ独立に用いて輝度分布補正値を生成する際の処理を説明するフローチャートである。図13(a)では、図8及び図9を用いて説明したのと同じ流れで処理が行われる。
ステップS1201では、偏角情報処理部1004は、照明系101の偏角情報から第1の輝度分布を生成する。具体的に偏角情報処理部1004は、偏角φ、θ1から、全ての画素に対応する補正値をもつテーブルである第1の輝度分布を生成する。第1の輝度分布は、概念としては、図8に示した輝度分布801や図9に示した輝度分布804に対応する。
次に、ステップS1202では、偏角情報処理部1004は、撮像系102の偏角情報から第2の輝度分布を生成する。具体的に偏角情報処理部1004は、偏角φとθ2から、全ての画素に対応する補正値をもつテーブルである第2の輝度分布を生成する。第2の輝度分布は、概念としては、図8に示した輝度分布802や図9に示した輝度分布805に対応する。
次に、ステップS1203では、偏角情報処理部1004は、第1の輝度分布と第2の輝度分布とから輝度分布補正値を生成する。輝度分布補正値(テーブル)は、概念としては、図8に示した輝度分布803や図9に示した輝度分布806に対応する。
以上の処理により、偏角情報から輝度分布補正値が生成できる。
【0024】
図13(b)は、偏角φと、偏角θ1とθ2との差分とからなる2つのパラメータ(差分情報)を用いて輝度分布補正値を生成する際の処理を説明するフローチャートである。図13(b)のフローチャートは、照明系101及び撮像系102の輝度分布に対する角度特性が同一である場合に適用できる。例えば、図8に示したように、照明系101の出射光強度の角度特性、撮像系102の受光強度の角度特性が同じ変化率で直線的に変化する場合に図13(b)のフローチャートを適用できる。
ステップS1204では、位置関係情報取得部208は、照明系101・撮像系102の偏角情報θ1、θ2から、角度差θ1−θ2を取得する。この角度差θ1−θ2には大きさだけでなく向きの情報が含まれ、この向きは輝度変化量の向きを規定するものである。この処理により、偏角情報のパラメータを2つに減らすことができる。
次に、ステップS1205では、偏角情報処理部1004は、偏角φ、角度差θ1−θ2から輝度分布補正値を取得する。角度差θ1−θ2の大きさから輝度の変化量、角度差θ1−θ2の向きからその輝度の変化の方向を規定できる。偏角情報処理部1004は、この角度差θ1−θ2と偏角φとを合わせて輝度分布補正値を生成する。
以上の処理ステップにより、2つのパラメータからなる偏角情報から輝度分布補正値が生成できる。この処理では、位置関係情報取得部208でパラメータを減らすことができるため、処理速度・メモリ容量の面で有利である。
【0025】
図14は、階調変換で発生するダイナミックレンジの低下を補う処理を説明する図である。具体的に図14(a)は、空間変調器503の制御のみで輝度分布の補正を行った場合を示す図であり、図14(b)は、空間変調器503と光源501の制御とを組み合わせて輝度分布補正を行った場合を示す図である。
図14(a)の横軸は任意の1ライン、縦軸は横軸の画素に対応する測定面701での輝度の大きさと階調である。輝度分布補正の簡単な手法としては、輝度変化により輝度が最も暗くなる画素の輝度値を最大輝度値としてその他の画素の階調を変換する方法がある。図14(a)の任意の1ラインの両端の画素が輝度変化により輝度が最も暗くなる画素に対応し、この画素が達成できる最大輝度値、すなわち階調が「240」の時の輝度値をこのラインの最大輝度値とする。両端の画素以外の画素は、階調「240」を超えない範囲内で階調変換が行われる。この場合、最大輝度値が階調「240」のときの輝度値となるため、ダイナミックレンジが低下する。ここでは説明の簡略化のため任意1ラインを取り上げたが、実際には、照明パターン画像を構成する全ての画素を対象としてこのような処理を行う。
【0026】
同様に、図14(b)の横軸は任意の1ライン、縦軸は横軸の画素に対応する測定面701での輝度の大きさと階調である。図14(a)と図14(b)の輝度のスケールは一致している。図14(b)では、低下したダイナミックレンジを補うように光源501の輝度を上げる。図14(a)と異なり、最大輝度値のレベルを変化させないため、ダイナミックレンジを確保できる。ダイナミックレンジの低下を補う光源501の輝度の大きさは、輝度補正値生成処理部1005で生成できる。輝度補正値生成処理部1005では輝度ベースの輝度補正値が得られるため、そこでの最大輝度補正値と最小輝度補正値の差分が光源501で補う輝度の大きさとなる。
図14(b)では、ダイナミックレンジを低下させない程度に、最大輝度補正値と最小輝度補正値との差分だけ光源501の輝度を上げるための手法を説明した。しかしながら、動径の情報に基づいて輝度強度の補正を正確に行うという観点からは、輝度分布補正における基準輝度値と最大補正輝度値との差分を光源501で補う手法が適している。輝度補正値生成処理部1005では、図8(c)の任意の1ラインでの輝度の傾斜のグラフで示した輝度分布の増減割合(0.8〜1.2)が把握できる。輝度を変化させない基準輝度値と最大輝度補正値との差分が光源501で補う輝度の大きさとなる。ここでの基準輝度値とは該グラフでの輝度補正変化分が「1.0」にあたるところの輝度値であり、最大輝度補正値とは該グラフでの輝度補正変化分が「1.2」にあたるところの輝度値である。
以上のように、照明系101で輝度補正を実施する際には、空間変調器503の制御と光源501の制御とを組み合わせることができ、ダイナミックレンジを確保したパターン照明が実現できる。特に、空間符号化においては、2値階調の輝度差、又は2値階調間の輝度変化の過程からエッジ位置を認識する。そのため、ダイナミックレンジを広くして2値階調の輝度差をなるべく大きく確保できれば、エッジ位置の認識精度も向上する。このように、照明系101で輝度補正を実施する利点として、ダイナミックレンジを確保でき、特に空間符号化法におけるエッジ認識精度が向上する点が挙げられる。
【0027】
以上のように本実施形態では、照明系101の偏角φ、θ1、撮像系102の偏角φ、θ2を考慮して輝度を補正した場合に想定される空間変調器503上の輝度分布(照明系101と撮像系102の双方を考慮した輝度分布補正値)を生成する。この輝度分布補正値と、位置関係に起因しない静的な輝度分布補正値とから、3次元計測システムにおける輝度分布の補正値を生成し、この輝度分布の補正値に基づいて、照明パターン画像の階調変換をし、階調変換した照明パターン画像に従った照明を行う。また、動径l1、l2の情報と、測定対象物103の反射率とを基に、3次元システムの光量減衰率を求め、この3次元システムの光量減衰率と、基準とする光量減衰率との比較結果から、光源501の強度を調整する。したがって、照明系101や撮像系102が測定対象物103に対して可変となる場合でも、照明系101と測定対象物103との位置関係、撮像系102と測定対象物103との位置関係のそれぞれに起因する画像の輝度変化(所謂輝度むら)を同時に抑制できる。
また、空間変調器503の制御と光源501の制御とを組み合わせることができ、階調変換によるダイナミックレンジの低下を、光源501を用いて補うことができる。したがって、空間符号化法においてはダイナミックレンジを確保した照明が可能となり、精度の高いエッジ認識が実現できる。
尚、本実施形態は、照明系101と撮像系102とが自由に動けるシステムにおいて、照明系101及び撮像系102の、測定対象物103との位置関係を利用して輝度変化を補正していれば、パターン照明を用いる3次元計測以外にも適用できる。例えば、照明系と撮像系が可動である外観検査や欠陥検査等、均一照明を用いる画像取得システムへの適用も効果的である。
【0028】
(第2の実施形態)
次に、本発明の第2の実施形態を説明する。前述した第1の実施形態では、照明系101で輝度補正を実施する場合を例に挙げて説明した。これに対し、本実施形態では、撮像系102で輝度補正を実施するようにする。このように、本実施形態と前述した第1の実施形態とでは、輝度補正を行う主体と、輝度補正を行うための処理の一部とが主として異なる。したがって、本実施形態の説明において、前述した第1の実施形態と同一の部分についての詳細な説明を省略する。例えば、図1に示した3次元計測システムの基本的な構成、図3に示した2次元パターン光は、第1の実施形態と同じである。
【0029】
図2に示した3次元計測システムの機能ブロックのうち、照明制御部202、撮像制御部204、及び制御部207以外は、第1の実施形態と同様である。以下、本実施形態の照明制御部、撮像制御部、及び制御部が有する機能のうち、第1の本実施形態と異なる部分を中心に説明する。
照明制御部は、照明本体部201の制御を行う。第1の実施形態の照明制御部202は、照明パターン画像の輝度補正(階調変換)を行うが、本実施形態の照明制御部は、照明パターン画像の輝度補正(階調変換)を行わない。すなわち、照明制御部は、外部又は内部で生成した照明パターン画像に対応した光源209や空間変調器211(パネル)の駆動制御を行う。撮像制御部は、撮像本体部203の制御に加えて、撮像画像の処理を行う。具体的に撮像制御部は、撮像デバイス213の動作制御、シャッタースピード、フレームレート、ROI等の動作タイミングの制御に加えて、撮像した2次元パターン光の画像の輝度補正(画像補正)等を行う。制御部は、照明制御部と撮像制御部とを統合制御する。具体的に制御部は、照明と撮像の同期制御機能や、照明系101・撮像系102の位置関係情報を、輝度補正のための情報として用いるための伝送機能等を有する。本実施形態では、撮像系102で輝度補正を実施するため、位置関係情報取得部208からの照明系101・撮像系102の位置関係情報は、照明制御部ではなく、撮像制御部に送られる。以上の機能ブロックにより、測定対象物103の3次元計測が実現できる。
【0030】
図15は、3次元計測システムの処理の一例を説明するフローチャートである。
ステップS1401では、照明系101を制御する照明制御部と、撮像系102を制御する撮像制御部とのそれぞれに対して通信の確立を行う。
次に、ステップS1402では、照明系101・撮像系102の位置関係情報のキャリブレーションが行われる。位置関係情報取得部208からの照明系101・撮像系102の位置関係情報が、制御部207を介して撮像制御部へ送信する。ここで送信された位置関係情報は、ステップS1405の撮像輝度補正処理で用いられる。
次に、ステップS1403では、照明本体部201は、測定対象物103に2次元パターン光を照射する。空間符号化法では、複数のエッジパターン301の2次元パターン光が照射され、位相シフト法では、同一位相の正弦波パターン302の2次元パターン光が照射される(図3を参照)。
次に、ステップS1404では、撮像本体部203は、測定対象物103から拡散反射された2次元パターン光を撮像する。実際に撮像される2次元パターン光には、測定対象物103の形状や表面の凹凸の影響で、パターンのエッジずれや位相ずれが発生している。
次に、ステップS1405では、撮像制御部は、撮像輝度補正処理を行う。ここでは、撮像制御部は、照明系101・撮像系102の位置関係情報を基に、2次元パターン光の画像の輝度補正を行う。輝度補正の概要は、第1の実施形態の図7〜図9を用いて説明したのと同様である。ただし、本実施形態では、撮像系102で輝度補正を実施する形態であるので、図8〜図10に示した輝度分布803、806、903は、輝度変化が発生した2次元パターン光の画像に対する輝度補正の結果である、と解釈しなおす必要がある。
次に、ステップS1406では、3次元撮像処理部205は、パターン投影法を利用して、ステップS1405で輝度補正処理された2次元パターン光から、測定対象物103の奥行き方向の距離を取得する。3次元撮像処理部205は、2次元パターン光の画像の幅方向と高さ方向の情報と合わせて、このステップ1406で測定対象物103の3次元情報を取得する。
以降のステップS1407〜S1409は、図4のステップS407〜S409と同じである。すなわち、3次元撮像処理部205は、ステップS1407で、3次元情報を更新し、ステップS1408で、3次元情報の取得が完了したか否かを判断する。そして、3次元情報の取得が完了すると、3次元計測処理部206は、ステップS1409で、3次元計測処理を行う。
【0031】
図16は、3次元計測システムの撮像制御部204の機能ブロックの一例を示す図である。撮像制御部204は、Vドライバ1503、タイミングジェネレータ1504、CDS/AGC部1505、AD変換部1506、輝度補正部1507、及び画像出力部1508を備えて構成される。
Vドライバ1503は、撮像本体部203内の撮像デバイス213(撮像素子)の垂直駆動信号を生成する。タイミングジェネレータ1504は、撮像本体部203の駆動に関わる信号を生成する。Vドライバ1503とタイミングジェネレータ1504とにより撮像本体部203を駆動する。CDS/AGC部1505は、撮像本体部203からのアナログ信号に対しCDS(Correlated Double Sampling、相関2重サンプリング)、AGC(Automatic Gain Control、自動ゲイン調整アンプ)を行う。AD変換部1506は、CDS/AGC部1505から出力されるアナログ信号をデジタル信号に変換する。輝度補正部1507は、2次元パターン光の画像の輝度補正を行う。輝度補正部1507には、制御部から、照明系101・撮像系102の位置関係情報(動径情報や偏角情報)が入力される。輝度補正部1507は、これらの情報を基に、2次元パターン光の画像の輝度補正を行う。輝度補正には、概略、2次元パターン光の画像のゲイン調整と、階調変換とが含まれる。輝度補正された2次元パターン光の画像は画像出力部1508へ出力される。輝度補正の詳細は図17を用いて後述する。画像出力部1508は、2次元パターン光の画像のフォーマットをインタフェースに合わせて変更する。計測精度や計測速度の向上を考えると高い解像度や高いフレームレートが必要となる。このため、画像出力部1508は、大容量伝送に対応したインタフェースであることが望ましい。インタフェースとしては、USBやIEEE1394のメタル線、Gigabit Ethernet(登録商標)等の光ファイバが使用される。
【0032】
図17は、輝度補正部1507の機能ブロックの一例を示す図である。図17に示す機能ブロックのうち、位置関係情報格納部1002、動径情報処理部1003、偏角情報処理部1004、輝度補正値生成処理部1005、静的輝度補正値格納部1006、及び階調データ格納部1007は第1の実施形態のものと同様である。
ゲイン調整部1601は、2次元パターン光の画像のゲインを調整する。このゲインの調整は、図10を用いて説明した輝度強度の補正に相当する。ゲイン調整部1601は、動径情報処理部1003からの輝度強度補正値を基に、2次元パターン光の画像のゲインを調整する。画像全体に均一なゲインを乗じるため、このゲインを調整する処理は、2次元パターン光の画像全体を明るくする、又は、暗くする処理となる。このとき、ゲイン調整部1601は、2次元パターン光の画像の階調よりも大きなビット数で演算を行い、階調精度を極力劣化させないようにするのが望ましい。ゲインが調整された2次元パターン光の画像は、階調変換部1602へ出力される。階調変換部1602は、2次元パターン光の画像の階調を変換する。階調変換部1602の処理は、第1の実施形態の階調変換部1001と略同様であるが、本実施形態の階調変換部1602では、2次元パターン光の画像の階調よりも大きなビット数で演算を行うのが望ましい。階調精度を極力劣化させないようにするためである。階調変換された2次元パターン光の画像は、画像出力部1508へ出力される。この階調変換部1602により、前段での撮像系102での階調を、照明系101での階調よりも高くすることができ、量子化誤差の影響を極力抑制することができる。以上で説明した機能ブロックにより撮像系102での輝度補正が実現できる。
【0033】
輝度補正部1507が行う処理を説明するフローチャートは、図12に示したフローチャートと略同様であるが、一部が異なる。以下に、その異なる部分を説明する。
ステップS1104では、輝度補正値生成処理部1005及び階調変換部1602は、2次元パターン光の画像に対して階調変換を行う。具体的に輝度補正値生成処理部1005は、ステップS1102で生成された輝度分布補正値(テーブル)を基に、階調変換を行うための階調テーブルを生成する。そして、階調変換部1602は、階調データ格納部1007から階調テーブルを読み出して階調変換を行う。このとき、階調変換部1602は、2次元パターン光の画像の階調よりも大きなビット数で演算を行い、階調精度を極力劣化させないようにするのが望ましい。
ステップS1106では、ゲイン調整部1601が、2次元パターン光の画像のゲインの調整を行うことになる。撮像系102が測定面701からの反射光を撮像した際の光源強度が一定となるように、2次元パターン光の画像のゲインの調整を行う。
以上の処理により、撮像系102での2次元パターン光の輝度補正を実現することができる。
尚、偏角φ、θ1、θ2の情報から輝度分布補正値の生成を説明するフローチャートは、図13に示したものと同様である。
【0034】
次に、本実施形態では、量子化誤差を抑制した階調表現を実現できることを説明する。第1の実施形態との相違点を明らかにするため、まず第1の実施形態の構成における量子化誤差について説明した後、本実施形態の優位点を述べる。
図18は、照明系101で輝度補正の一例を階調に着目して説明するフローチャートである。図18では、階調が変換される主要な部分を列挙し、その他の部分の図示を省略している。
ステップS1701では、画像入力部602が照明パターン画像のデータを入力する。この照明パターン画像のデータでは、例えば8ビット、255の階調が確保されている。ここでの階調は整数データである。次に、ステップS1702では、輝度補正部603は、照明系101での輝度補正(照明補正による階調圧縮)を実施する。例えば、階調を80%圧縮した場合、輝度補正を実施した後のデータにおける最高輝度値の階調は204(=255×0.8)となる(図14(a)を参照)。ここでの階調は小数データである。次に、ステップS1703では、空間変調器503は、輝度補正(階調圧縮)した2次元パターン光の照明パターン画像での照明を行う。このときの照明パターン画像の階調は、階調圧縮時に生じた小数部分が四捨五入等で丸められて、整数データとして表現される。次に、ステップS1704では、撮像制御部204は、測定対象物103に照射された2次元パターン光の撮像画像を10ビットでAD変換する。このAD変換を行ったデータにおける階調は、0から1023までで表現される小数データである。次に、ステップS1705では、撮像制御部204は、AD変換を行ったデータを、デジタルデータとして利用できる形式にフォーマット変換する。このフォーマット変換を行ったデータにおける階調は、例えば8ビットの整数データである。
【0035】
図19は、照明系101で輝度補正を行う場合のデータの一例を示す図である。具体的に図19(a)は、図18の各ステップで得られる階調データの一例を示す図である。図19(a)では、ステップS1701で入力したデータのうち、階調が120から134までのときの階調データを切出して示している。図中(表中)の有効数字は任意であり、回路規模、処理精度、及び処理速度に応じて任意に設定できる。
図19(b)は、ステップS1701で入力したデータの階調を横軸、ステップS1705でフォーマット変換をしたデータの階調を縦軸として示した図である。図19(b)に示すように、ステップS1701で入力したデータの階調が「122」、「127」、「132」のときに量子化誤差が発生していることがわかる。
このような量子化誤差の発生要因は、照明系101での階調抑制と撮像系102でのAD変換の精度である。照明系101で輝度補正を実施し、更に撮像系102でのAD変換の精度が足りない場合には量子化誤差が発生する場合がある。これに対し、本実施形態のように撮像系102で輝度補正を実施する際には、照明系101での階調劣化がないために、撮像系102でのAD変換の精度を節約できると共に、3次元計測システムにおける量子化誤差の発生を抑制できる。特に、位相シフト法においては、階調から位相位置を認識する。そのため、量子化誤差を極力抑制し、精度の良い階調が確保できれば、位相位置の認識精度も向上する。このように、撮像系102で輝度補正を実施する利点として、量子化誤差を抑制でき、特に位相シフト法における位相認識精度が向上する点が挙げられる。
【0036】
図20は、撮像系102での局所的な輝度補正を概念的に説明する図である。図17に示した輝度補正部1507を3次元撮像処理部205に組み込むようにすれば、計測対象領域だけに補正処理を限定して行うことができ、処理の高速化が可能である。例えば、図20に示すように、位相シフト法で撮像した2次元パターン光の画像のある局所領域だけを切出すことで、大幅な処理時間短縮が実現できる。
【0037】
以上のように、撮像系102で輝度補正を実施しても、ダイナミックレンジを確保する以外の点で、前述した第1の実施形態と同様の効果を得ることができ、更に、量子化誤差の抑制が可能であるので、精度の高い階調認識が実現できる。また、計測対象領域だけに補正処理を限定することで処理の高速化を実現できる。
【0038】
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。前述した第1の実施形態では、照明系101で輝度補正を実施する場合を、第2の実施形態では、撮像系102で輝度補正を実施する場合を、それぞれ例に挙げて説明した。これに対し、本実施形態では、輝度補正の機能を分離して、照明系101で輝度強度の補正を行い、撮像系102で輝度分布の補正をそれぞれ実施する場合について説明する。このように、輝度補正を行う主体の一部と、輝度補正を行うための処理の一部とが主として異なる。したがって、本実施形態の説明において、前述した第1、第2の実施形態と同一の部分についての詳細な説明を省略する。例えば、図1に示した3次元計測システムの基本的な構成、図3に示した2次元パターン光は、第1の実施形態と同じである。
【0039】
図2に示した3次元計測システムの機能ブロックのうち、照明制御部202、撮像制御部204、及び制御部207以外は、第1の実施形態と同様である。以下、本実施形態の照明制御部、撮像制御部、及び制御部が有する機能のうち、第1、第2の本実施形態と異なる部分を中心に説明する。
照明制御部は、照明パターン画像の制御や、照明本体部201の制御を行う。第1の実施形態の照明制御部202では、輝度強度の補正に加えて輝度分布の補正を行うようにしたが、本実施形態の照明制御部では、輝度分布の補正を行わずに、動径情報と偏角情報に基づいた輝度強度の補正を行うようにしている。撮像制御部は、撮像本体部203の制御に加えて、撮像画像の処理を行う。具体的に撮像制御部は、撮像デバイス213の動作制御、シャッタースピード、フレームレート、ROI等の動作タイミングの制御に加えて、撮像した2次元パターン光の画像の輝度補正等を行う。第2の実施形態の撮像制御部では、輝度分布の補正(階調変換)に加えて、ゲインの調整を行うようにしたが、本実施形態の撮像制御部では、ゲインの調整を行わずに、輝度分布の補正を行う。制御部は、照明制御部と撮像制御部とを統合制御する。具体的に制御部は、照明と撮像の同期制御機能や、照明系101・撮像系102の位置関係情報を、輝度補正のための情報として用いるための伝送機能等を実現する。本実施形態では、照明系101と撮像系102の両者で輝度補正を実施する構成であるため、位置関係情報取得部208からの照明系101・撮像系102の位置関係情報は、照明制御部と撮像制御部の双方に送られる。照明制御部に送られる位置関係情報は、動径情報と偏角情報であり、撮像制御部に送られる位置関係情報は偏角情報である。以上の機能ブロックにより、測定対象物103の3次元計測が実現できる。
【0040】
図21は、3次元計測システムの処理の流れの一例を説明する図である。
ステップS1901では、制御部は、照明系101の通信を確立する。すなわち、制御部と照明制御部との通信が確立される。
次に、ステップS1902では、制御部は、撮像系102の通信を確立する。すなわち、制御部と撮像制御部との通信が確立される。
次に、ステップS1903では、照明系101の位置関係情報のキャリブレーションが行われる。位置関係情報取得部208からの位置関係情報を、制御部を介して照明制御部へ送信する。ここで送信された位置関係情報は、ステップS1905の照明輝度補正処理(照明系101での輝度強度の補正)で用いられる。この位置関係情報の精度は、照明制御部で行われる輝度補正の精度に影響を与える。
次に、ステップS1904では、撮像系102の位置関係情報のキャリブレーションが行われる。位置関係情報取得部208からの位置関係情報を、制御部を介して撮像制御部へ送信する。ここで送信された位置関係情報は、ステップS1906の撮像処理(撮像系102での輝度分布の補正)で用いられる。この位置関係情報は、ステップS1903で用いられる位置関係情報と同じものである。
次に、ステップS1905では、照明制御部は、制御部からのスタート信号を基に、輝度補正処理を行い、測定対象物103に対して輝度補正した2次元パターン光を照射する。照明輝度補正は、位置関係情報を基にした輝度強度補正である。ここで用いられる位置関係情報は、照明系101・撮像系102の動径l1、l2の情報(動径情報)、偏角φ、θ1、θ2の情報(偏角情報)である。この輝度補正処理の詳細については、図22を用いて後述する。
次に、ステップS1906では、撮像制御部は、制御部からのスタート信号を基に、測定対象物103から拡散反射された2次元パターン光を撮像し、撮像輝度補正処理を行う。そして、3次元撮像処理部205は、3次元撮像処理を行う。撮像輝度補正は、位置関係情報を基に撮像制御部204で行う輝度分布の補正である。ここで用いられる位置関係情報は、照明系101・撮像系102の偏角φ、θ1、θ2の情報(偏角情報)である。3次元撮像処理部205は、パターン投影法を利用して、撮像された2次元パターン光の画像から測定対象物103の奥行き方向の距離を取得する。この測定対象物103の奥行き方向の距離の情報と、2次元パターン光の画像の幅方向と高さ方向の情報とに基づいて、測定対象物103の3次元情報を取得できる。制御部は、照明と撮像が同期して動作するように、タイミングを規定したスタート信号を発信する。
次に、ステップS1907では、3次元撮像処理部205は、3次元情報(位置情報)を更新する。空間符号化法でも位相シフト法でも複数枚の2次元パターン光を撮像して3次元情報を取得するが、このステップS1907において1枚毎に3次元情報を更新する。複数枚の2次元パターン光の画像を用いて、ステップS1905〜S1907のループを繰り返す(ループの回数を増やす)ことで、3次元計測の精度を向上させることができる。ステップS1908〜S1910は、それぞれステップS1905〜S1907と同様の処理ステップである。
次に、ステップS1911では、3次元情報の取得が終了する。3次元計測処理部206は、取得された3次元情報を基にモデルフィッティングを行い、測定対象物103の3次元形状、位置、及び姿勢を計測する。
【0041】
図22は、照明制御部の機能ブロックの一例を示す図である。具体的に図22(a)は、照明制御部全体の機能ブロックを示す図であり、図22(b)は、照明制御部内の輝度補正部の機能ブロック図である。図22において、第1の実施形態で示した図6、図11と同じ機能の機能ブロックについては、図6、図11に付した符号と同一の符号を付している。
輝度補正部2001は、照明パターン画像の輝度変化を補正する。輝度補正部2001には、制御部から照明系101・撮像系102の位置関係情報(動径情報及び偏角情報)が入力される。輝度補正部2001は、これらの情報を基に照明パターン画像の輝度強度の補正を行う。輝度強度の補正とは光源501の強度変換である。輝度補正部2001は、光源501の強度を変調する光源変調信号を光源駆動部605へ出力する。
本実施形態では、輝度分布の補正の手法として、輝度変化により輝度が最も暗くなる画素の輝度値を最大輝度値としてその他の画素の階調を変換する場合を想定する(図14(a)を参照)。強度変調情報生成部2002は、偏角情報処理部1004から取得した輝度分布補正値を基に、輝度変化により輝度が最も暗くなる画素での階調と、最大階調との間の輝度差を取得する。図14(a)に示した例では、任意の1ラインの両端の画素での階調「240」と最大階調「255」との輝度差がそれ(輝度差)に対応する。強度変調情報生成部2002は、この輝度差を光源501の出力で補うための強度変調信号を光源変調信号生成部1008へ出力する。この機能ブロックでの処理により、図14(b)で説明したダイナミックレンジの確保が可能となる。以上の機能ブロックにより、照明系101において、ダイナミックレンジを確保した輝度強度の補正が実現できる。
【0042】
図23は、撮像制御部の機能ブロックの一例を示す図である。具体的に図23(a)は、撮像制御部全体の機能ブロックを示す図であり、図23(b)は、撮像制御部内の輝度補正部の機能ブロックを示す図である。図22において、第2の実施形態で示した図16、図17と同じ機能の機能ブロックについては、図16、図17に付した符号と同じ符号を付している。
輝度補正部2101は、撮像された照明パターン画像の輝度変化を補正する。輝度補正部2101には、制御部から照明系101・撮像系102の位置関係情報(偏角情報)が入力される。輝度補正部2101は、この情報を基に照明パターン画像の輝度分布の補正を行う。輝度分布の補正とは、照明パターン画像の階調変換である。輝度補正部2101は、階調変換した照明パターン画像を画像出力部1508へ出力する。以上の機能ブロックにより、撮像系102において、輝度分布補正が実現できる。
【0043】
図24は、輝度補正処理の一例を説明するフローチャートである。具体的に図24(a)は、照明系101で輝度強度を補正する処理を説明するフローチャートである。
ステップS2201では、位置関係情報格納部1002は、位置関係情報取得部208で取得、処理した「測定対象物103の位置関係情報、照明系101・撮像系102の位置関係情報」を格納する。この処理は、図12のステップS1101と同様の処理である。
次に、ステップS2202では、動径情報処理部1003は、測定対象物103の反射率を考慮した輝度強度補正値を生成する。この処理は、図12のステップS1105と同様の処理である。
次に、ステップS2203では、光源変調信号生成部1008は、光源変調信号の生成を実施する。この処理は、図12のステップS1106と同様の処理である。尚、本実施形態においても、強度変調情報生成部2002で生成された強度変調信号に基づいてダイナミックレンジ低下を補う処理も実施する。このステップS2203での処理結果は、光源501での実際の2次元パターン光の強度変調として達成される。
以上の処理により、照明系101が、2次元パターン光の輝度強度の補正を実現することができる。
【0044】
図24(b)は、撮像系102で輝度分布を補正する処理を説明するフローチャートである。
ステップS2204では、位置関係情報格納部1002は、位置関係情報取得部208で取得、処理した「測定対象物103の位置関係情報、照明系101・撮像系102の位置関係情報」を格納する。ここでは、照明系101・撮像系102の偏角φ、θ1、θ2の情報が位置関係情報格納部1002に格納される。
次に、ステップS2205では、偏角情報処理部1004は、輝度分布補正値を生成する。この処理は、図12のステップS1102(その詳細は図13)と同様の処理である。
次に、ステップS2206では、輝度補正値生成処理部1005は、位置関係情報に起因しない静的な輝度変化の影響を、ステップS2205で算出された輝度分布補正値に加味する。具体的に輝度補正値生成処理部1005は、静的輝度補正値格納部1006が保持している静的輝度補正値が登録されたテーブルを、輝度分布補正値(テーブル)に掛け合わせる。この処理は、図12のステップS1103と同様の処理である。
次に、ステップS2207では、輝度補正値生成処理部1005及び階調変換部1602は、照明パターン画像に対して階調変換を実施する。具体的に、輝度補正値生成処理部1005は、ステップS2206で生成された輝度分布補正値(テーブル)を基に、階調変換を行うための階調テーブルを生成して階調データ格納部1007に格納する。このとき輝度補正値生成処理部1005は、照明パターン画像の階調よりも大きなビット数で演算を行い、階調精度を極力劣化させないようにするのが望ましい。そして、階調変換部1602は、階調データ格納部1007から階調テーブルを読み出して階調変換を行う。
以上の処理により、撮像系102が、2次元パターン光の輝度分布の補正を実現することができる。
【0045】
以上のように、照明系101で輝度強度の補正を行い、撮像系102で輝度分布の補正を行って、輝度補正の機能を分離することで、第1、第2の実施形態の双方の効果を得ることができる。すなわち、ダイナミックレンジを確保し、且つ、システムにおける量子化誤差の発生を抑制できる。ダイナミックレンジの確保は、空間符号化法におけるエッジ認識の精度の向上に寄与し、量子化誤差の抑制は、位相シフト法における階調認識の精度の向上に寄与する。本実施形態は、特に、空間符号化法と位相シフト法とを同時に実施するような3次元計測システムにおいて有効である。
【0046】
(第4の実施形態)
次に、本発明の第4の実施形態について説明する。前述した第1〜第3の実施形態では、照明系101(照明手段)が1つである場合を例に挙げて説明した。これに対し、本実施形態では、3次元計測システムが照明系101を複数有する場合について説明する。このように本実施形態と前述した第1〜第3の実施形態とは、照明系101の数と、照明系101の数が異なることによる処理が主として異なる。したがって、本実施形態の説明において、前述した第1〜第3の実施形態と同一の部分についての詳細な説明を省略する。
【0047】
図25は、3次元計測システムの概略構成の一例を示す図である。図25に示すように、本実施形態の3次元計測システムは、3つの照明系101A、101B、101Cと、1つの撮像系102とを有する。本実施形態の3次元計測システムも、例えば、工場の製造ライン等でロボットハンドが、部品の選別や組み立て等の作業が行えるように、対象となる部品の3次元計測を行うシステムである。撮像系102との位置関係に基づいて、最も計測精度が得られると考えられる照明系101を1つ選択し、その照明系101と撮像系102との組み合せで3次元計測を実施する。そのため、複数の照明系101A〜101Cは、同時に2次元パターン光を照射することがないように排他制御される。複数の照明系101A〜101Cの1つを選択するための処理と、それら複数の照明系101A〜101Cの排他制御を行う処理以外の処理は、第1〜第3の実施形態と同様である。尚、以下の説明では、第1の実施形態の構成を前提として説明を行う。
【0048】
図26は、3次元計測システムの機能ブロックの一例を示す図である。3次元計測システムは、照明系101A〜101C、撮像系102、3次元撮像処理部205、3次元計測処理部206、位置関係情報取得部208、制御部2401、及び位置関係処理部2402を備えて構成される。図26に示す機能ブロックのうち、撮像系102、3次元撮像処理部205、及び3次元計測処理部206は第1の実施形態のものと同様である。
照明系101A〜101Cは、測定対象物103に向けて2次元パターン光を照射する。具体的に照明系101A〜101Cは、パターン投影法に基づき、空間符号化法で用いられるエッジパターンや、位相シフト法で用いられる正弦波パターンを測定対象物103に投射する。照明系101A〜101Cのそれぞれの構成は、図2、図5に示したものと同様である。撮像系102は、測定対象物103で反射された2次元パターン光を撮像する。撮像系102の構成は、図2に示したものと同様である。制御部2401は、照明系101A〜101Cと撮像系102とを統合制御する。制御部2401は、照明と撮像の同期制御機能と、照明系101・撮像系102の位置関係情報を、輝度補正の情報として用いるための伝送機能に加え、照明系101A〜101Cの排他制御機能等を有する。ここでは、第1の実施形態と同様に、照明系101で輝度補正を実施する構成を想定している。そのため、位置関係処理部2402からの照明系101・撮像系102の位置関係情報は、位置関係処理部2402で選択された照明系101A〜101Cの何れかに送られる。位置関係処理部2402は、測定対象物103の位置関係情報と、照明系101A〜101Cと撮像系102の位置関係情報とを計算処理して、3次元計測に用いる照明系101を選択する。本実施形態では、位置関係処理部2402は、測定対象物103と撮像系102の位置関係から、オクルージョンがなく、且つ、計測精度が得られる位置にある照明系101を選択する。ここで、計測精度が得られる位置とは、例えば、測定対象物103に対して撮像系102と共役な位置の近くである。図7においては、計測精度が得られる位置とは、φ≒0、θ1≒θ2、l1≒l2が成立する位置であり、理想的な条件の場合、照明系101、撮像系102、測定対象物103がこのような位置関係にある場合、位置関係に起因する輝度変化がほとんど発生しない。位置関係情報取得部208は、ロボットアームが保持する位置関係情報を基に、測定対象物103の位置関係情報と、照明系101と撮像系102の位置関係情報を取得する。位置関係情報の取得方法は第1の実施形態と同様であるが、本実施形態では、複数の照明系101A〜101Cの位置関係情報を取得する。照明系101A〜101Cと撮像系102の位置関係情報は、照明系の輝度補正で用いられる。以上の機能ブロックにより、測定対象物103の3次元計測が実現できる。
【0049】
図27は、3次元計測システムの処理の流れの一例を説明する図である。
ステップS2501では、制御部2401は、照明系101A〜101Cの通信を確立する。すなわち、制御部2401と照明系101A〜101Cとの通信が確立される。
次に、ステップS2502では、制御部2401は、撮像系102の通信を確立する。すなわち、制御部2401と撮像系102との通信が確立される。
次に、ステップS2503では、位置関係処理部2402は、複数の照明系101A〜101Cと撮像系102の位置関係情報の解析処理を行う。位置関係処理部2402は、位置関係情報取得部208から位置関係情報を取得し、オクルージョンがなく、且つ、計測精度が得られる位置にある照明系101を1つ選択する。尚、ここでは、照明系101Bが、撮像系102及び測定対象物103に対してオクルージョンがなく、且つ、計測精度が得られる位置にあるとして説明を行う。
次に、ステップS2504では、照明系101Bの位置関係情報のキャリブレーションが行われる。位置関係処理部2402で選択された照明系101Bの位置関係情報は、制御部2401を介して照明系101Bへ送信される。ここで送信された位置関係情報は、ステップS2506の照明系101Bの輝度補正で用いられる。
次に、ステップS2505では、制御部2401は、該当する照明系101に対して照明停止処理を行う。ここでは、制御部2401は、照明系101A、101Cに対して照明を行わない制御を行う。
次に、ステップS2506では、照明系101Bは、制御部2401からのスタート信号を基に輝度補正処理を行い、測定対象物103に対して輝度補正した2次元パターン光を照射する。照明の輝度補正には、位置関係情報を基に行う輝度強度の補正と輝度分布の補正とがある。ここで用いられる位置関係情報は、照明系101B・撮像系102それぞれの動径l1、l2、偏角φ、θ1、θ2の情報である。
尚、ここでは説明を簡単とするために、ステップS2505とステップS2506とが順次処理されるように図示されている。しかしながら、制御部2401から照明系101A〜101Cへ並列に制御命令が送られて並列処理を行う方が、処理時間の短縮の観点から有利であるので好ましい。
次に、ステップS2507では、撮像系102は、制御部2401からのスタート信号を基に測定対象物103から拡散反射された2次元パターン光を撮像する。そして、3次元撮像処理部205は、3次元撮像処理部205は、パターン投影法を利用して、撮像された2次元パターン光の画像から測定対象物103の奥行き方向の距離を取得する。この測定対象物103の奥行き方向の距離の情報と、2次元パターン光の画像の幅方向と高さ方向の情報とに基づいて、測定対象物103の3次元情報を取得できる。制御部2401は照明と撮像が同期して動作するように、タイミングを規定したスタート信号を発信する。
次に、ステップS2508では、3次元撮像処理部205は、3次元情報(位置情報)を更新する。空間符号化法や位相シフト法で複数枚の2次元パターン光を撮像して3次元情報を取得する。このステップS2508では、2次元パターン光の画像が1枚得られる毎に3次元情報を更新する。このようにして複数枚の2次元パターン光の画像を用いて、ステップS2506〜S2508のループを繰り返す(ループの回数を増やす)ことで、3次元計測の精度を向上させることができる。
次に、ステップS2509では、3次元情報の取得が終了する。3次元計測処理部206は、取得された3次元情報を基にモデルフィッティングを行い、測定対象物103の3次元形状、位置、及び姿勢を計測する。
【0050】
以上のように、撮像系102及び測定対象物103と照明系101A〜101Cとの位置関係に基づいて、オクルージョンがなく、且つ、計測精度が得られる位置にある照明系101を1つ選択する。そして、選択した照明系101と、撮像系102とを用いて3次元計測を行った。したがって、輝度変化を更に効果的に抑制できる。
尚、本実施形態では、複数の照明系101と1つの撮像系102とが自由に動ける場合を例に挙げて説明したが、逆に1つの照明系101と複数の撮像系102とが自由に動けるようにしてもよい。すなわち、照明系101と撮像系102との少なくとも何れか一方を複数設け、照明系101、撮像系102、及び測定対象物103の位置関係から、照明系101と撮像系102との最適な組み合わせを選択していれば、照明系や撮像系の数は限定されない。また、輝度補正は、本実施形態で説明した照明系での輝度補正に限定されるものではない。第2の実施形態で説明したように撮像系で輝度補正を行う形態や、第3の実施形態で説明したように照明系で輝度強度の補正を行い撮像系で輝度分布の補正を行う形態であってもよい。
【0051】
尚、前述した実施形態の各工程は、ネットワーク又は各種記憶媒体を介して取得したソフトウェア(コンピュータプログラム)をパソコン等の処理装置(CPU、プロセッサ)にて実行することもできる。また、本発明の各工程を実行するコンピュータプログラム自体、及びそのコンピュータプログラムが記憶された記憶媒体を構成してもよい。
また、前述した実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0052】
101 照明系、102 撮像系、103 測定対象物
【特許請求の範囲】
【請求項1】
測定対象物に照明光を照射する照明手段と、
前記照明手段の動作を制御する照明制御手段と、
測定対象物からの反射光または透過光を撮像する撮像手段と、
前記撮像手段の動作を制御する撮像制御手段と、
前記照明手段および前記撮像手段の、前記測定対象物との位置関係を示す位置関係情報を取得する取得手段と、
前記位置関係情報に基づき、前記照明手段による照明光と、前記撮像手段で撮像された画像とのうち、少なくともいずれか一方の輝度を補正して、前記撮像手段で撮像された前記測定対象物の画像の輝度変化を補正する補正手段と、を有し、
前記測定対象物と前記照明手段と前記撮像手段とのうち、少なくとも二つの位置が可変であることを特徴とする計測システム。
【請求項2】
前記補正手段は、前記照明手段による照明光と、前記撮像手段で撮像された画像とのうち、少なくともいずれか一方の輝度として、輝度強度を補正する輝度強度補正手段と、
前記照明手段による照明光と、前記撮像手段で撮像された画像とのうち、少なくともいずれか一方の輝度として、輝度分布を補正する輝度分布補正手段と、を有することを特徴とする請求項1に記載の計測システム。
【請求項3】
前記輝度強度補正手段は、前記位置関係情報と、前記測定対象物の反射率または透過率とに基づいて、前記位置関係情報に起因する輝度強度の補正値を生成し、生成した補正値に基づいて、前記照明手段による照明光と、前記撮像手段で撮像された画像とのうち、少なくともいずれか一方の輝度強度を補正することを特徴とする請求項2に記載の計測システム。
【請求項4】
前記輝度分布補正手段は、前記位置関係情報に起因する動的な輝度分布の補正値と、前記位置関係情報に起因しない静的な輝度分布の補正値とに基づいて、前記照明手段による照明光と、前記撮像手段で撮像された画像とのうち、少なくともいずれか一方の輝度分布を補正することを特徴とする請求項2又は3に記載の計測システム。
【請求項5】
前記照明制御手段または前記撮像制御手段が、前記輝度強度補正手段と前記輝度分布補正手段とを有することを特徴とする請求項2〜4の何れか1項に記載の計測システム。
【請求項6】
前記照明制御手段が、前記輝度強度補正手段を有し、
前記撮像制御手段が、前記輝度分布補正手段を有することを特徴とする請求項2〜4の何れか1項に記載の計測システム。
【請求項7】
前記輝度強度補正手段は、前記輝度分布補正手段による輝度分布の補正により低下した輝度のダイナミックレンジを補うように輝度強度を補正することを特徴とする請求項2〜6の何れか1項に記載の計測システム。
【請求項8】
前記照明手段と前記撮像手段との少なくとも何れか一方を複数有し、
前記位置関係情報に基づいて、前記照明手段と前記撮像手段とのうち、複数ある手段の1つを選択する選択手段を有し、
前記選択手段により照明手段が選択された場合には、当該照明手段が利用され、前記選択手段により撮像手段が選択された場合には、当該撮像手段が利用されるようにしたことを特徴とする請求項1〜7の何れか1項に記載の計測システム。
【請求項9】
測定対象物に照明光を照明手段により照射する照明ステップと、
前記照明手段の動作を制御する照明制御ステップと、
測定対象物からの反射光または透過光を撮像手段により撮像する撮像ステップと、
前記撮像手段の動作を制御する撮像制御ステップと、
前記照明手段および前記撮像手段の、前記測定対象物との位置関係を示す位置関係情報を取得する位置関係情報を取得する取得ステップと、
前記位置関係情報に基づき、前記照明手段による照明光と、前記撮像手段で撮像された画像とのうち、少なくともいずれか一方の輝度を補正して、前記撮像手段で撮像された前記測定対象物の画像の輝度変化を補正する補正ステップと、を有し、
前記測定対象物と前記照明手段と前記撮像手段とのうち、少なくとも二つの位置が可変であることを特徴とする画像補正方法。
【請求項10】
測定対象物に照明光を照射する照明手段の動作を制御する照明制御ステップと、
測定対象物からの反射光または透過光を撮像する撮像手段の動作を制御する撮像制御ステップと、
前記照明手段および前記撮像手段の、前記測定対象物との位置関係を示す位置関係情報を取得する位置関係情報を取得する取得ステップと、
前記位置関係情報に基づき、前記照明手段による照明光と、前記撮像手段で撮像された画像とのうち、少なくともいずれか一方の輝度を補正して、前記撮像手段で撮像された前記測定対象物の画像の輝度変化を補正する補正ステップと、をコンピュータに実行させ、
前記測定対象物と前記照明手段と前記撮像手段とのうち、少なくとも二つの位置が可変であることを特徴とするコンピュータプログラム。
【請求項1】
測定対象物に照明光を照射する照明手段と、
前記照明手段の動作を制御する照明制御手段と、
測定対象物からの反射光または透過光を撮像する撮像手段と、
前記撮像手段の動作を制御する撮像制御手段と、
前記照明手段および前記撮像手段の、前記測定対象物との位置関係を示す位置関係情報を取得する取得手段と、
前記位置関係情報に基づき、前記照明手段による照明光と、前記撮像手段で撮像された画像とのうち、少なくともいずれか一方の輝度を補正して、前記撮像手段で撮像された前記測定対象物の画像の輝度変化を補正する補正手段と、を有し、
前記測定対象物と前記照明手段と前記撮像手段とのうち、少なくとも二つの位置が可変であることを特徴とする計測システム。
【請求項2】
前記補正手段は、前記照明手段による照明光と、前記撮像手段で撮像された画像とのうち、少なくともいずれか一方の輝度として、輝度強度を補正する輝度強度補正手段と、
前記照明手段による照明光と、前記撮像手段で撮像された画像とのうち、少なくともいずれか一方の輝度として、輝度分布を補正する輝度分布補正手段と、を有することを特徴とする請求項1に記載の計測システム。
【請求項3】
前記輝度強度補正手段は、前記位置関係情報と、前記測定対象物の反射率または透過率とに基づいて、前記位置関係情報に起因する輝度強度の補正値を生成し、生成した補正値に基づいて、前記照明手段による照明光と、前記撮像手段で撮像された画像とのうち、少なくともいずれか一方の輝度強度を補正することを特徴とする請求項2に記載の計測システム。
【請求項4】
前記輝度分布補正手段は、前記位置関係情報に起因する動的な輝度分布の補正値と、前記位置関係情報に起因しない静的な輝度分布の補正値とに基づいて、前記照明手段による照明光と、前記撮像手段で撮像された画像とのうち、少なくともいずれか一方の輝度分布を補正することを特徴とする請求項2又は3に記載の計測システム。
【請求項5】
前記照明制御手段または前記撮像制御手段が、前記輝度強度補正手段と前記輝度分布補正手段とを有することを特徴とする請求項2〜4の何れか1項に記載の計測システム。
【請求項6】
前記照明制御手段が、前記輝度強度補正手段を有し、
前記撮像制御手段が、前記輝度分布補正手段を有することを特徴とする請求項2〜4の何れか1項に記載の計測システム。
【請求項7】
前記輝度強度補正手段は、前記輝度分布補正手段による輝度分布の補正により低下した輝度のダイナミックレンジを補うように輝度強度を補正することを特徴とする請求項2〜6の何れか1項に記載の計測システム。
【請求項8】
前記照明手段と前記撮像手段との少なくとも何れか一方を複数有し、
前記位置関係情報に基づいて、前記照明手段と前記撮像手段とのうち、複数ある手段の1つを選択する選択手段を有し、
前記選択手段により照明手段が選択された場合には、当該照明手段が利用され、前記選択手段により撮像手段が選択された場合には、当該撮像手段が利用されるようにしたことを特徴とする請求項1〜7の何れか1項に記載の計測システム。
【請求項9】
測定対象物に照明光を照明手段により照射する照明ステップと、
前記照明手段の動作を制御する照明制御ステップと、
測定対象物からの反射光または透過光を撮像手段により撮像する撮像ステップと、
前記撮像手段の動作を制御する撮像制御ステップと、
前記照明手段および前記撮像手段の、前記測定対象物との位置関係を示す位置関係情報を取得する位置関係情報を取得する取得ステップと、
前記位置関係情報に基づき、前記照明手段による照明光と、前記撮像手段で撮像された画像とのうち、少なくともいずれか一方の輝度を補正して、前記撮像手段で撮像された前記測定対象物の画像の輝度変化を補正する補正ステップと、を有し、
前記測定対象物と前記照明手段と前記撮像手段とのうち、少なくとも二つの位置が可変であることを特徴とする画像補正方法。
【請求項10】
測定対象物に照明光を照射する照明手段の動作を制御する照明制御ステップと、
測定対象物からの反射光または透過光を撮像する撮像手段の動作を制御する撮像制御ステップと、
前記照明手段および前記撮像手段の、前記測定対象物との位置関係を示す位置関係情報を取得する位置関係情報を取得する取得ステップと、
前記位置関係情報に基づき、前記照明手段による照明光と、前記撮像手段で撮像された画像とのうち、少なくともいずれか一方の輝度を補正して、前記撮像手段で撮像された前記測定対象物の画像の輝度変化を補正する補正ステップと、をコンピュータに実行させ、
前記測定対象物と前記照明手段と前記撮像手段とのうち、少なくとも二つの位置が可変であることを特徴とするコンピュータプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【公開番号】特開2011−137753(P2011−137753A)
【公開日】平成23年7月14日(2011.7.14)
【国際特許分類】
【出願番号】特願2009−298746(P2009−298746)
【出願日】平成21年12月28日(2009.12.28)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成23年7月14日(2011.7.14)
【国際特許分類】
【出願日】平成21年12月28日(2009.12.28)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]