Nothing Special   »   [go: up one dir, main page]

JP6800597B2 - 制御装置、制御方法およびプログラム - Google Patents

制御装置、制御方法およびプログラム Download PDF

Info

Publication number
JP6800597B2
JP6800597B2 JP2016068637A JP2016068637A JP6800597B2 JP 6800597 B2 JP6800597 B2 JP 6800597B2 JP 2016068637 A JP2016068637 A JP 2016068637A JP 2016068637 A JP2016068637 A JP 2016068637A JP 6800597 B2 JP6800597 B2 JP 6800597B2
Authority
JP
Japan
Prior art keywords
image
phase
directions
imaging
cycle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016068637A
Other languages
English (en)
Other versions
JP2017181298A (ja
JP2017181298A5 (ja
Inventor
貴公 瀬戸
貴公 瀬戸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2016068637A priority Critical patent/JP6800597B2/ja
Priority to US15/470,286 priority patent/US10430962B2/en
Publication of JP2017181298A publication Critical patent/JP2017181298A/ja
Publication of JP2017181298A5 publication Critical patent/JP2017181298A5/ja
Application granted granted Critical
Publication of JP6800597B2 publication Critical patent/JP6800597B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • G01B11/25Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
    • G01B11/2509Color coding
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • G01B11/25Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
    • G01B11/2513Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object with several lines being projected in more than one direction, e.g. grids, patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/521Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/12Details of acquisition arrangements; Constructional details thereof
    • G06V10/14Optical characteristics of the device performing the acquisition or on the illumination arrangements
    • G06V10/147Details of sensors, e.g. sensor lenses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10141Special mode during image acquisition
    • G06T2207/10152Varying illumination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/12Details of acquisition arrangements; Constructional details thereof
    • G06V10/14Optical characteristics of the device performing the acquisition or on the illumination arrangements
    • G06V10/141Control of illumination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/12Details of acquisition arrangements; Constructional details thereof
    • G06V10/14Optical characteristics of the device performing the acquisition or on the illumination arrangements
    • G06V10/145Illumination specially adapted for pattern recognition, e.g. using gratings

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Vascular Medicine (AREA)
  • Multimedia (AREA)
  • Geometry (AREA)
  • Optics & Photonics (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Processing (AREA)

Description

本発明は、測定対象物の3次元形状を測定する技術に関する。
従来、測定対象物の3次元形状を高密度に測定する方法としてステレオ位相シフト法が知られている(例えば非特許文献1)。ステレオ位相シフト法は、輝度が周期的に変化する縞状のパターン(以下、縞パターン)を、位相を複数回シフトさせて測定対象物に投影し、異なる2つの方向から撮像する。そして、2つの方向から撮像された画像から、それぞれの方向における各画素の位相値を算出し、2つの方向における位相値の対応から三角測量の原理で測定対象物の3次元形状を算出する。このように、能動的にパターンを投影し位相値を算出することで、測定対象物の色が均一であっても高精度、かつ高密度に3次元形状を測定することが可能となる。また、異なる2つの方向から撮像することで、投影装置や撮像装置が非線形な出力特性をもつ場合であっても高精度に3次元形状を測定することが可能となる。
T.Zaman, "Development of a Topographic Imaging Device", Delft University of Technology 2013
しかしながら、従来技術は、測定対象物の濃度レンジが広い場合、測定対象物の暗部に投影された縞パターンのコントラストが低下し、撮像装置のノイズに埋もれてしまうため位相値の推定が困難になるという課題があった。撮像装置の露出条件を振った複数枚の撮像を行って、得られた画像をHDR(High Dynamic Range)合成することで撮像装置のノイズによる影響を低減することは可能であるが、この場合、撮像枚数が増え、撮像時間が長くなってしまう。特に従来技術のステレオ位相シフト法では、位相を振った縞パターンの他に、位相の周期を特定するためのグレーコードと呼ばれるパターンを複数投影する必要がある。投影されるグレーコードの数とHDR合成の露出条件数との積で撮像枚数が増えてしまう。また、油彩画などの文化財を測定対象物とした場合、撮像枚数を少なくし、文化財への光の暴露量を減らすことで与えるダメージを軽減する必要がある。
そこで本発明は、濃度レンジの広い測定対象物の3次元形状を、高精度かつ、少ない撮像枚数で測定可能な3次元形状測定装置および3次元形状測定方法を提供することを目的とする。
本発明は、複数の方向から物体を撮像して得られる画像を基に前記物体の3次元形状を算出する制御装置であって、前記複数の方向それぞれについて、撮像手段と投影手段とを制御することによって、所定の方向に光量が周期的に変化するパターン光が照射された前記物体を撮像して得られる画像と、前記所定の方向に光量が周期的に変化し、前記パターン光と位相差を有するパターン光が照射された前記物体を前記複数の方向から撮像して得られる画像と、を含む画像群を取得する第1取得手段と、前記複数の方向それぞれについて、前記撮像手段と前記投影手段とを制御することによって、前記パターン光に含まれる複数の周期のうち少なくとも1つの周期の位置を識別可能とするパターン光が照射された前記物体を撮像して得られる1つの画像を取得する第2取得手段と、前記複数の方向それぞれについて、前記画像群に基づいて、各画素に位相値を有する位相画像を生成する第1生成手段と、前記複数の方向それぞれについて、前記1つの画像と前記位相画像とに基づいて、前記位相画像の各画素における周期識別番号を示す周期識別画像を生成する第2生成手段と、前記複数の方向それぞれについて、前記周期識別画像を用いて前記位相画像の位相接続を行うことにより、接続位相画像を生成する第3生成手段と、前記複数の方向それぞれの前記接続位相画像に基づいて、前記物体の3次元形状を算出する算出手段とを備え前記少なくとも1つの周期の位置を識別可能とするパターン光は、エッジ強度が所定値以上のエッジ部を、前記縞パターンの前記少なくとも1つの周期内において前記縞パターンの縞に平行して設けるように作成され、前記エッジ部は、前記縞パターンの縞の周期が切り替わる切り替え部以外の位置に存在することを特徴とする。
本発明により、濃度レンジの広い測定対象物の場合でも、その3次元形状を高精度かつ少ない撮像枚数で測定することが可能となる。
実施例1における3次元形状測定装置の概略構成を示す図である。 実施例1における3次元形状測定装置の機能構成を示すブロック図である。 実施例1における3次元形状測定処理の流れを示すフローチャートである。 実施例1における投影パターンを示す図である。 実施例1における縞パターンおよび基準位置パターンの利用方法を説明するための図である。 実施例1における露出条件を説明するための図である。 実施例1における投影パターンと露出条件の設定を説明するための図である。 実施例1における画像取得ステップの詳細な処理の流れを示すフローチャートである。 実施例1における形状算出部の詳細な機能構成を示すブロック図である。 実施例1における周期識別画像を説明するための図である。 実施例1における形状算出ステップの詳細な処理の流れを示すフローチャートである。 実施例1における周期識別画像生成ステップの詳細な処理の流れを示すフローチャートである。 実施例2における基準位置パターンを示す図である。 位相算出における撮像装置のノイズの影響を説明するための図である。
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施形態は本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成については、同じ符号を付して説明する。
[実施例1]
本実施例は、測定対象物として、例えば油彩画のような数mm〜数十μmの凹凸を表面にもつ略平面形状の物体を対象とし、表面の凹凸形状情報と色情報を取得する3次元形状測定装置を説明する。
(3次元形状測定装置)
図1は、本実施例における3次元形状測定装置の概略構成を示す図である。図1(a)は3次元形状測定装置を正面からみた正面図、図1(b)は3次元形状測定装置を上方からみた上面図である。測定の対象となる測定対象物101は、試料台102の上に固定されている。投影装置103は3次元形状測定に必要な2次元のパターンを測定対象物101に投影するための装置である。投影装置103としては、例えば640x480画素、LED光源を用いた単板モノクロのDLP(Digital Light Processing)方式プロジェクターを用いることができるが、これに限るものではない。測定対象物101上に2次元のパターンを投影できるものであればどのようなものであってもよい。
撮像装置104、105は、2次元のパターンが投影された測定対象物101を撮像するための装置であり、例えばDSLR(Digital Single Lens Reflex camra)等の撮像装置である。撮像装置104、105としては、例えば8688x5792画素のCMOS方式のエリアセンサを有するDSLRに焦点距離が100mmのマクロレンズを組み合わせたものを用いることができるが、これに限るものではない。測定範囲107の全面で測定対象物101の表面にピントが合うようティルトレンズ等を用いてもよい。なお、本実施例では、撮像装置104、105は測定対象物101上の輝度に対し線形な信号値を得る光電変換特性を有し、記録される画像は、各画素でRGB3チャンネルの色情報を有し、各チャンネルが16ビットで量子化されているものとする。
また、制御装置106は投影装置103、撮像装置104および撮像装置105を制御し、測定対象物101の3次元形状を算出する一連の制御を行うための装置である。本実施例では、制御装置106は、CPU(中央処理演算装置)、RAM(ランダムアクセスメモリ)等の主記憶装置、HD(ハードディスク)やフラッシュメモリ等の補助記憶装置を備えたPC(Personal Computer)として説明する。ただし、制御装置106は、PCに限るものではなく、3次元形状測定装置の一部として組み込まれたマイクロコンピュータ等であってもよい。なお、制御装置106のCPUは、RAMをワークメモリとして、HDなどに格納されたプログラムを実行し、3次元形状測定装置の動作の全体を制御する。なお、CPUが実行するプログラムには、後述する形状測定処理などのプログラムが含まれる。
投影装置103、撮像装置104および撮像装置105は、不図示のUSB(Universal Serial Bus)等のインターフェースを介して制御装置106とそれぞれ接続されている。図1に示すように、本実施例では、投影装置103は測定対象物101に正対するよう上方に配置され、測定範囲107を含む範囲に2次元のパターンを投影する。撮像装置104および撮像装置105はそれぞれ測定対象物101を左右方向から撮像するよう配置されている。また、撮像装置104、105は撮像画角の中に測定範囲107が含まれるよう設置されている。
図2は、本実施例における3次元形状測定装置の機能構成を示すブロック図である。図1に示されていない入力装置201は、ユーザからの操作を受け付けるための装置であり、例えばキーボード、マウス等のデバイスである。また、図1に示されていない表示装置202は、ユーザが入力した内容や測定条件、測定結果をユーザに提示するための装置であり、例えば液晶モニタ等のデバイスである。以下、図2を参照して制御装置106に含まれる各機能構成を説明する。
画像取得制御部203は、後述の形状算出部205の形状算出に用いる撮像画像を取得するよう投影装置103及び撮像装置104、105を制御する構成であり、撮像制御部2031及び投影制御部2032を含む。撮像制御部2031は、撮像装置104および撮像装置105を制御する構成であり、例えば、各撮像装置の撮像条件を変更したり、撮像の実行を指示したり、撮像画像を各撮像装置から受信したりする。また、投影制御部2032は、投影装置103を制御する構成であり、例えば、投影されるべきパターン(以降、投影パターンと呼ぶ)を投影装置103へ送信したり、投影の開始、終了を指示したりする。
UI管理部204は、ユーザが入力装置201を介して入力した情報の管理や、3次元形状測定結果を表示装置202に表示させる等の処理を行う構成であり、入力制御部2041及び表示制御部2042を含む。入力制御部2041は、入力装置201を制御する構成であり、表示制御部2042は表示装置202を制御する構成である。形状算出部205は、画像取得制御部203で取得された撮像画像に基づいて、測定対象物101の3次元形状を算出する。色算出部206は形状算出部205で算出された3次元形状に対応する色情報を算出する。色算出部206の詳細については後述する。
(3次元形状測定処理)
図3は、本実施例における3次元形状測定装置が行う3次元形状測定処理の流れを示すフローチャートである。なお、図3に示す各ステップの処理は、CPUがHDなどに格納されているプログラムをRAMに読み出し、実行することで実現される。なお、符号Sは、フローチャートにおけるステップであることを意味する。まず、S301においてUI管理部204は、表示装置202を介してユーザに撮像装置104および撮像装置105の撮像条件等の設定を行うよう促す。撮像条件の設定の詳細については後述する。ユーザが入力装置201を介して撮像条件の設定を終えると、処理は画像取得ステップS302に進む。
S302において画像取得制御部203は、投影装置103により投影パターンが測定対象物101に投影された際に、撮像装置104、105に測定対象物101を撮像させて、投影パターンの撮像画像を取得する。画像取得ステップS302の詳細については後述する。S302の撮像画像取得処理が終了すると、処理は形状算出ステップS303に進む。S303において形状算出部205は、S302で取得された撮像画像に基づいて、測定対象物101の3次元形状情報を算出する。本実施例で算出される3次元形状情報は、撮像装置104のエリアセンサの中心を原点とするX、Y、Z座標値をmm単位で各32ビットの浮動小数点で記録した点群情報であり、エリアセンサの画素数と等しい数の座標値を有する。ここで、X軸、Y軸、Z軸は直交座標系であり、X軸、Y軸は撮像装置104のエリアセンサ面を含む平面を張り、Z軸はX軸、Y軸に直交する方向に定義される。
S304において色算出部206は、303で算出された点群情報の各点に対応するRGBの色情報を算出する。具体的に、本ステップの処理は、後述する色取得パターンが測定対象物101に投影された際に撮像装置104で撮像された画像の各画素の色情報をS303で算出された点群情報に対応づけて記録する処理である。本実施例では、点群情報に含まれる各点の座標値は撮像装置104で撮像された画像の各画素に1対1で対応するよう算出される。そのため、S304の処理では、画素ごとにXYZ座標を点群情報から検索し、検索された座標値にRGB各16ビット、計48ビットの色情報を付与したXYZRGBの計144ビットの情報を記録する。最後に、S305においてUI管理部204は、色情報が付加された点群情報を表示装置202に表示し、処理を終了する。具体的に、本ステップでは、色情報が付加された点群情報の各数値のリストを表示装置202に表示する、またはXYZ座標を3次元空間上に色情報に対応する色でプロットし、任意の方向からみた投影図を表示するなどの処理を行う。なお、S305の処理はこれに限るものではなく、表示装置202に表示を行わず、不図示のHDやフラッシュメモリ等に色情報が付加された点群情報を直接記録するよう構成しても良い。
(投影パターン)
図4は、本実施例における投影装置103が投影するパターンを示す図である。これらの投影パターンは、投影装置103の画素と1対1に対応する640x480画素、0(黒)〜255(白)の画素値をとる8ビットのグレースケール画像であるものとして説明する。なお、画素数、ビット深度、色数等はこれに限るものではない。図4(a)〜(c)は、縞パターンを示している。本実施例ではこれらの縞パターンを測定対象物101に投影し、撮像された画像に基づいて位相を算出し、そして、位相に基づいて測定対象物101の3次元形状を算出する。これらの縞パターンは、輝度が正弦波状に変化する縞状のパターン(正弦波パターン)であり、次の式(1)〜(3)により作成することができる。
ここで、(j,i)は画素の位置を示す2次元座標であり、jは画像の横方向、iは画像の縦方向の位置を示している。I0(j,i)、I1(j,i)、I2(j,i)は、それぞれ図4(a)、(b)、(c)に示した縞パターンの位置(j,i)の画素値である。また、Ncycleは正弦波1周期あたりの画素数を示すパラメータである。本実施例で、図4(a)に示した縞パターンを1/3周期ずつ位相をシフトして3回測定対象物101に投影した場合を例に説明を行ったが、これに限るものではない。例えば、図4(a)に示した縞パターンを1/6周期ずつ位相をシフトして6回測定対象物101に投影してもよい。図4(d)は、基準位置パターンを示している。基準位置パターンは、縞パターンの複数の周期のうち少なくとも1つの周期の位置を基準位置として示すパターンである。図4(d)に示すように、本実施例における基準位置パターンは、縞パターンに平行して1つのステップエッジを設けるように作成されている。ここで、ステップエッジは、その周囲での輝度変化が急激である、すなわち、エッジ強度が所定値以上であるエッジである。
本実施例では、図4(a)〜(c)の縞パターンが測定対象物101に投影された際に撮像装置104と撮像装置105にて撮像された画像に基づいて撮像装置ごとに位相を算出する。そして、両撮像装置間で位相が一致する画素位置から三角測量の原理により3次元形状を算出する。縞パターンが投影された際に撮像された画像には複数周期分の正弦波が含まれるため、算出される位相画像は位相値が0〜2πの値を周期的に繰り返す。つまり、同一の位相画像内で同じ位相値を有する画素が周期的に複数存在してしまう。そこで、位相画像内で同じ位相値を有する画素が周期的に存在しないよう周期ごとに異なるオフセット(周期識別番号×2π)を足しこむ位相接続処理がなされる。このオフセットを決定する際に、図4(d)の基準位置パターンが使用される。
具体的には、まず、基準位置パターンが投影された際に撮像装置104および105で撮像された画像それぞれから基準位置(ステップエッジ部の位置)を抽出する。そして、抽出した位置に対応する位相画像の周期識別番号が撮像装置104と撮像装置105とで同一の値(共通の所定番号)となるよう位相画像の各画素位置の周期識別番号を示す周期識別画像を生成する。さらに、生成した周期識別画像を用いて位相画像の位相接続処理を行う。これにより、撮像装置間で位相画像の整合をとった接続位相画像を生成することが可能となる。なお、本実施例では、位相画像に対して周期識別画像を生成する際に基準位置パターンの撮像画像と位相画像との両方を用いる構成をとるので、1枚の基準位置パターンを利用して異なる撮像装置の位相画像間の整合をとることが可能となる。
図5は、縞パターンおよび基準位置パターンの利用方法を説明するための図である。図5(a)は、図4(a)、(b)、(c)に示した縞パターンの線分501上の画素値変化を示すラインプロファイルである。これら縞パターンに基づいて、図4(a)の縞パターンの各画素の位相値は次の式(4)により算出することができる。
ここで、Φ(j,i)は0〜2πの値をとるものとする。図5(b)は、図5(a)から線分501上の位相値変化を示すラインプロファイルを上記の式(4)によって算出したものである。図5(b)からわかるように位相値は0〜2πの値を周期的に繰り返す。
基準位置パターンは、図5(b)の複数の周期のうち特定の周期にステップエッジ部が位置するよう作成される。図5(c)は、図4(d)に示した基準位置パターンの線分501上の画素値変化を示すラインプロファイルである。上述したように、図5(c)に示したラインプロファイルにおいては、ステップエッジ部の位置が図5(b)の特定の周期に対応している。
また、図5(c)のステップエッジ部の位置は、図5(b)に示したように特定の周期の中心付近に配置する。ここで、周期の中心となる位置は、例えば図5(b)のように位相が0〜2πまで位置に対して線形に変化する場合は、位相がπとなる位置に相当する。なお、基準位置パターンのステップエッジ部の位置は必ず位相値がπとなる位置と一致している必要はなく、位相が0、または2πとなる周期の切り替え部以外の位置にステップエッジ部を位置させればよい。これにより、後述する周期識別画像生成ステップS1117の処理において、撮像された画像からステップエッジ部の位置を抽出する際に生じる誤差に対して堅牢に周期識別番号を決定することができるという効果がある。
撮像装置のノイズ等の影響により、基準位置パターンの撮像画像から抽出したステップエッジ部の位置(抽出位置)がずれる可能性がある。例えば、基準位置パターンを投影した際、撮像露光量がオーバーな場合、撮像される画像の明るい部分が本来の位置より拡がり、ステップエッジ部の抽出位置がずれる可能性がある。このように抽出位置がずれた場合であっても、抽出位置が同じ周期内であれば、後述する周期識別画像生成ステップS1117の処理結果が変わらない。そこで、ステップエッジ部を周期の真ん中にくるよう基準位置パターンを作成しておくことによって、上記抽出位置のずれに対して堅牢な処理となる。逆に、ステップエッジ部がもともと位相が0または2πなど周期の切り替え部付近にある場合は、このような抽出位置のずれに対し、異なる周期識別画像が生成されてしまう可能性があり、不安定な処理となってしまう。つまり、本実施例では、基準位置パターンのステップエッジ部を、位相が0または2πとなる周期の切り替え部以外の位置に設けることにより、撮像装置のノイズ等の影響が多い場合でも精度良く周期識別画像を生成することができる。
図4(e)は測定対象物101の色情報を取得するために投影される色取得パターンを示している。本実施例では全面均一な白色(画素値255)のパターンを採用するが、これに限るものではない。例えば、測定対象物101に色取得パターンを投影したとき、測定範囲107の範囲内で光量が均一となるよう画素の位置に応じて画素値を変化させてもよい。
(露出条件)
測定対象物101が光学濃度の高い暗い物体であった場合、投影された縞パターンのコントラストが小さくなり、撮像装置104、105にて加えられるノイズとの区別が困難となるため、撮像される画像に基づいて位相を算出する精度が低下する。図14は、式(4)で示したI0、I1、I2に最小値が0、最大値が横軸の輝度レベルとなる正弦波信号に対し、標準偏差が0.4の正規分布ノイズを加えたときの位相値の標準偏差の変化を示した図である。この図から、式(4)により位相を算出すると、横軸の輝度レベルが小さいとき、すなわち、正弦波のコントラストが低いときに急激に位相値がばらつくことがわかる。このような特性のため、測定対象物101の3次元形状を測定するためには、色を測定するよりも撮像装置としてノイズの少ないものを用いる必要がある。
そこで、本実施例では、図4(a)〜(c)の縞パターンごとに、撮像装置104および撮像装置105の露出設定を変えた複数回の撮像を行い、HDR(Heigh Dynamic Range)合成する。そのことにより、測定対象物101が油彩画のような広い濃度分布を持つ場合であっても、撮像装置104、105にて加えられるノイズによる影響が減少するため位相算出の精度が向上する。
図6は、本実施例における露出条件を説明するための図である。本実施例では、縞パターンを撮像するときの撮像装置に3段階の露出条件で設定する。すなわち、図6の露出設定番号0〜2は縞パターン撮像用の露出条件である。ここで露出条件は、絞り値、シャッター速度およびISO感度を含む。また、露出設定番号3は基準位置パターン撮像用、露出設定番号4は色取得パターン撮像用の露出条件である。図6に示すように、本実施例では、縞パターンを複数の露出条件で撮像し、基準位置パターンを1つの露出条件で撮像する。
図6に示すような露出条件は、例えば次のように決定することができる。まず、酸化マグネシウムや硫酸バリウム等から生成された白色基準板を測定対象物101のかわりとして置き、図4(e)の全面白色パターンを投影し撮像する。このとき、撮像された画像のRGB値が所定の値に最も近くなる露出条件を色取得パターン撮像用の露出条件とする。同様に、撮像された画像のRGB値が飽和しない、すなわち、16ビットの最大値である65535未満の値となる条件で露光量を最大限多く設定した露出条件を基準位置パターン撮像用の露出条件とする。
縞パターン撮像用の露出条件は、まず色取得パターン撮像用の露出条件と同じ条件を露出設定番号1に設定する。次に、露出設定番号1からEV値(Exposure Value)が−3段となる露出条件を露出設定番号0に設定し、同じく+3段となる露出条件を露出設定番号2に設定する。なお、露出条件は、絞り値を変化させると幾何歪み等が発生するため、絞り値を固定し、シャッター速度が異なるよう設定することが望ましい。ただし、投影装置103とシャッター速度が干渉しフリッカが生じる可能性がある。そこで、投影装置103のフレームレートが例えば1/30秒である場合、シャッター速度はこれより長い1/15秒を基準値とし、基準値より長い速度に設定することが望ましい。すなわち、露出条件は、まず絞り値を同じとし、シャッター速度を変化させる。そして、シャッター速度が基準値より短くなる場合はISO感度を調整し、シャッター速度が基準値より長くなるよう設定することが望ましい。
なお、上記の露出設定は例であり、これに限定するものではない。露出設定番号0〜露出設定番号2の条件は、測定対象物101の濃度レンジに応じて適切に決定されることが望ましく、また、縞パターンを撮像するときに設定される露出条件の数も3条件に限らず、2条件や5条件などであってもよい。さらに、基準位置パターン撮像用の露出条件は、色取得パターン撮像用の露出条件と同じ条件等であってもよく、前述したステップエッジ部の位置が撮像画像から抽出可能であればどのような露出条件であってもよい。
図7は、画像取得制御部203が投影装置103、撮像装置104および撮像装置105を制御し、取得する撮像画像の番号と撮像時の投影パターンおよび露出条件を説明する図である。ここで撮像画像の番号は、図7の撮像番号と同じものとする。投影パターン番号0〜4のパターンはそれぞれ図4(a)〜(e)に示したパターンである。露出設定番号は、図6の露出設定番号を意味する。図7に示すように、本実施例では、撮像番号0〜10までの11回の撮像を撮像装置104および撮像装置105で行う。
(画像取得ステップの詳細)
図8は、本実施例における画像取得制御部203が行う画像取得ステップS302の詳細な処理の流れを示すフローチャートである。なお、図8に示す各ステップの処理は、CPUがHDなどに格納されているプログラムをRAMに読み出し、実行することで実現される。S801において画像取得制御部203は、撮像番号を示す変数cntを0で初期化する。S802において画像取得制御部203は、縞パターン番号を示す変数nを0で初期化する。ここで縞パターン番号は図7の投影パターン番号と同じものとする。
次に、S803において画像取得制御部203は、変数nが縞パターン数Nnより小さいかを判定する。変数nが縞パターン数Nnより小さいと判定された場合に処理はS804に進み、それ以外の場合に処理はS812に進む。本実施例では、縞パターンとして図4(a)〜(c)に示した3パターンが存在するため、縞パターン数Nn=3となる。S804において画像取得制御部203は、投影装置103が変数nで示された投影パターン番号の投影パターンを測定対象物101に投影するよう制御を行う。S805において画像取得制御部203は、露出設定番号を示す変数mを0で初期化する。S806において画像取得制御部203は、変数mが露出設定数Nmより小さいかを判定する。変数mが露出設定数Nmより小さいと判定された場合に処理はS807に進み、それ以外の場合に処理はS811に進む。ここで、露出設定数Nmは、縞パターンを撮像する露出条件の数であり、本実施例においては3段階の露出条件で撮像するためNm=3となる。
S807において画像取得制御部203は、変数cntで示された撮像番号に対応する露出設定番号を図7から読み取る。画像取得制御部203は読み取った露出設定番号から図6を参照し、対応する絞り値、シャッター速度およびISO感度を撮像装置104および撮像装置105に設定する。S808において画像取得制御部203は、撮像装置104および撮像装置105が測定対象物を撮像するよう制御を行う。具体的に、画像取得制御部203は撮像装置104および撮像装置105に撮像開始の命令を送り、それぞれの撮像装置で撮像された画像を取得し、不図示のHD等の記憶媒体に保持する。次に、S809、S810において画像取得制御部203は、撮像番号を示す変数cnt、露出設定番号を示す変数mに1を加え、処理をS806に戻す。S807〜S810の処理が露出設定数Nm回繰り返されると、S806にて変数mが露出設定数Nmとなったと判定され、処理はS811に進む。S811において画像取得制御部203は、縞パターン番号を示す変数nに1を加え、処理をS803に戻す。
このように、S803〜S811の処理を繰り返すことにより、すべての縞パターンについて、すべての露出設定数回の撮像が行われる。本実施例では、縞パターン数Nnが3、露出設定数Nmが3であるため3x3の9回、撮像ステップS808が行われることになる。
次に、S803の判定により処理がS812に進むと、S812において、画像取得制御部203は図4(d)の基準位置パターンをS804と同様に測定対象物101に投影する。そして、画像取得制御部203は、S813にて露出条件の変更、S814にて撮像をそれぞれS807、S808と同様に行う。その後、画像取得制御部203は、S815で変数cntに1を加え、S816にて図4(e)の色取得パターンをS804と同様に測定対象物101に投影し、S817、S818にてS807、S808と同様に露出条件の変更と撮像を行い、処理を終了する。
(形状算出部の詳細)
図9は、形状算出ステップS303を実行する形状算出部205のより詳細な機能構成を説明するブロック図である。画像読み込み部901は、撮像装置104および撮像装置105にて撮像されてHD等の記憶媒体に保持された撮像画像を必要に応じて読み込む。
HDR合成部902は、縞パターンごとに複数の異なる露出条件で撮像された画像をHDR合成し、撮像された画像より高品質な1つの合成画像を生成する。HDR合成処理は、既に様々な方法が知られている。例えば、露光量の少ない条件で撮像された画像1と、露光量の多い条件で撮像された画像2を合成する際、まず、所定領域の平均RGB値が等しくなるよう画像2のRGB値に乗ずる各係数を決定する。そして、決定された係数を乗じた画像2のRGB値と、画像1のRGB値とをRGBチャンネルごとに加重平均して合成後のRGB値とする。このとき、RGBチャネルごとにその値が小さいほど画像2の重みが大きくなるよう加重平均することで画像1の暗部のノイズが低減された合成後の画像が獲得できる。
本実施例では、まず図7に示した撮像番号0で撮像装置104が撮像した画像を画像1、撮像番号1で撮像装置104が撮像した画像を画像2としてHDR合成処理を行う。そして、合成後の画像を画像1、撮像番号2で撮像装置104が撮像した画像を画像2として再び同じ処理を行い、3枚がHDR合成された画像を取得する。このように、HDR合成部902では、撮像番号0〜2、撮像番号3〜5、撮像番号6〜8で撮像装置104が撮像した画像をそれぞれHDR合成する。同様に、撮像番号0〜2、撮像番号3〜5、撮像番号6〜8で撮像装置105が撮像した画像をそれぞれHDR合成する。つまり、計6枚の合成画像が生成される。
位相画像生成部903は、HDR合成部902にて生成された計6枚の合成画像の内、撮像装置104の合成画像3枚から式(4)に従って各画素の位相を算出し、位相画像を生成する。このとき、位相は、合成画像のGチャンネルのみを使用して算出してもよく、または、R、G、Bの各チャンネルを所定の重みで加算した輝度情報を使用して算出してもよい。また、位相画像は、各画素1チャンネル、0〜2πまでの値をとる32ビットの浮動小数点の画像データであるが、これに限るものではない。同様に、位相画像生成部903は、撮像装置105にて撮像された画像3枚についても式(4)に従って各画素の位相を算出し、位相画像を生成する。撮像装置ごとに生成された位相画像は、不図示のRAM等の記憶媒体に保持される。
2値化処理部904は、図7の撮像番号9で撮像装置104および撮像装置105にて撮像された画像(基準位置パターンの撮像画像)の2値化処理を行って、基準位置パターンの2値化画像を生成する。2値化処理は、撮像画像の各画素において、R、G、B各チャンネルを所定の重みで加算した輝度情報が、所定の閾値より小さいときは0、それ以外のときは255を画素値とする各画素1チャンネル、8ビットの画像を生成する処理である。生成された2値化画像はRAM等の記憶媒体に保持される。
また、全面白均一の投影パターンを投影し、同露出条件で撮像した全白画像と、全面黒均一の投影パターンを投影し、同露出条件で撮像した全黒画像を用いることで、より高精度な2値化処理を行うこともできる。すなわち、基準位置パターンの撮像画像を全白画像および全黒画像と比較することで、基準位置パターンの撮像画像の2値化処理を行う。その場合、画素ごとに、全黒画像の輝度情報との差分1と、全白画像の輝度情報との差分2をそれぞれ算出し、差分1の絶対値が差分2の絶対値より小さければ0、そうでなければ255となるよう画素値を決定することができる。なお、2値化処理の方法はここで述べた方法だけに限定されるものではない。なお、ここで2値化処理部904は後述の周期識別画像生成部905と別の処理部として示されたが、周期識別画像生成部905に含まれる構成としてもよい。
周期識別画像生成部905は、位相画像生成部903で生成された撮像装置104および撮像装置105の位相画像と、2値化処理部904で生成された撮像装置104および撮像装置105の基準位置パターンの2値化画像とに基づいて周期識別画像を生成する。この処理の詳細は後述するが、周期識別画像は、位相画像の各画素において位相の周期の番号を割り当てた画像であり、例えば位相画像の各画素に対応する1チャンネル、8ビットの画像としてRAM等に保持される。
図10は、周期識別画像を説明するための図である。図10(a)は、位相画像のあるライン(縞と垂直するライン)上における画素位置と位相値との関係を示すラインプロファイルである。このように位相値は、0〜2πまでの値を周期的に繰り返す。この周期ごとに左から連続的に番号を振っていったものが図10(b)に示す周期識別画像のラインプロファイルとなる。このとき、図10(c)に示す2値化画像のラインプロファイルにおいて、値が変わるエッジ部の位置に対応する周期識別番号が所定番号(本実施例の場合は128)となるよう、図10(b)における各画素位置の周期識別番号を決定する。このように位相画像の全画素に対して周期識別番号を決定し、周期識別画像を生成する。
周期識別画像は、後述の位相接続処理において用いられる。また、上記所定番号は撮像装置間で共通であるので、上記のように生成された周期識別画像を用いて位相接続処理を行うと、撮像装置の位相画像間の整合をとった接続位相画像を生成することができる。これにより、測定対象物101上のある一点における位相が、撮像装置104と撮像装置105で生成されたそれぞれの接続位相画像で同じ値となるため、後述する対応点探索が可能となる。
位相接続部906は、周期識別画像と位相画像に基づいて、周期ごとに繰り返しが発生しない接続位相画像を生成する。この処理は、接続位相画像の画素値をΦc(j,i)、周期識別画像の画素値をP(j,i)、位相画像の画素値をΦ(j,i)とすると次の式(5)で示すことができる。
なお、接続位相画像は、各画素1チャンネル、32ビットの浮動小数点の画像データであり、撮像装置104および撮像装置105ごとに生成され、RAM等の記憶媒体にそれぞれ保持される。図10(d)は、位相接続処理の結果例を示す図であり、図10(a)に示した位相画像のラインプロファイルと図10(b)に示した周期識別画像のラインプロファイルに基づいて生成した接続位相画像のラインプロファイルを示している。
対応点探索部907は、撮像装置104の接続位相画像の各画素について、位相値が同じとなる撮像装置105の接続位相画像の画素の位置を算出する。具体的には、まず、撮像装置104と撮像装置105の姿勢と位置の関係からあらかじめ3×3の基礎行列Fを算出しておき、次の式(6)の関係からエピポーラ線を算出する。
ここで、(u,v)は撮像装置104の接続位相画像の画素の位置を示す2次元座標である。また、(u´,v´)は撮像装置105の接続位相画像の画素の位置を示す2次元座標である。対応点探索部907では、式(6)より任意の座標(u,v)に対し、座標(u´,v´)を通るエピポーラ線を表す方程式(直線の方程式)を一意に決定する。そして、対応点探索部907では、撮像装置104の接続位相画像における座標(u,v)にある位相値と等しい位相値を有する画素を、撮像装置105の接続位相画像において上記直線の方程式にそって探索する。対応点探索部907は探索した位置の座標(u´,v´)をRAM等に記録する。この対応点探索処理を撮像装置104の全画素について行う。
なお、対応点探索部907で行う対応点探索処理は上記の処理に限るものではない。例えば、ブロックマッチング法などにより所定領域の画素の類似度を算出し、撮像装置104の接続位相画像における座標(u,v)に対し類似度が最大となる撮像装置105の接続位相画像における座標(u´,v´)を記録するようにしてもよい。
三角測量部908は、撮像装置104の接続位相画像における座標(u,v)と、当該座標(u,v)に対応する撮像装置105の接続位相画像における座標(u´,v´)とから、測定対象物101上の測定点の3次元座標(X,Y,Z)を算出する。具体的には、次の式(7)、(8)で示される3x4の投影行列P、P´をあらかじめ撮像装置104および撮像装置105の焦点距離や位置、姿勢から算出しておき、(X,Y,Z)について式(7)と式(8)からなる連立方程式を解く。
この連立方程式は、行列Pのm行n列の要素をPmn、行列P´のm行n列の要素をP´mnとすると、次の式(9)を解くことと等価である。
三角測量部908は、式(9)に従って撮像装置104の接続位相画像の全画素に対し、逐次3次元座標(X,Y,Z)を算出し、XYZの3チャンネルのチャンネルごとに32ビットの浮動小数点で記録した点群情報を生成し、HD等の記憶媒体に保持する。
(形状算出ステップの詳細)
図11は、本実施例における形状算出部205が行う形状算出ステップS303の詳細な処理の流れを示すフローチャートである。なお、図11に示す各ステップの処理は、CPUがHDなどに格納されているプログラムをRAMに読み出し、実行することで実現される。まず、S1101において画像読み込み部901は、撮像装置番号を示す変数vを0で初期化する。本実施例では、v=0は撮像装置104の番号となり、v=1は撮像装置105の番号となる。
次に、S1102において画像読み込み部901は、変数vが撮像装置数Nvより小さいかを判定する。本実施例では、撮像装置数Nv=2となる。変数vが撮像装置数Nvより小さいと判定された場合に、処理はS1103に進み、そうでない場合に、処理はS1120に進む。S1103において画像読み込み部901は、v番目の撮像装置を選択する。本ステップの選択処理により、後続する処理において撮像装置104と撮像装置105のどちらで撮像された画像を読み込むかを指示する。すなわち、v=0の時は撮像装置104で撮像された画像が後続する処理で読み込まれ、v=1の時は撮像装置105で撮像された画像が後続する処理で読み込まれる。
S1104において画像読み込み部901は、撮像番号を示す変数cntを0で初期化する。S1105において画像読み込み部901は、投影パターン番号を示す変数nを0で初期化する。次に、S1106において画像読み込み部901は、変数nが縞パターン数Nnより小さいかを判定する。縞パターン数Nnは、本実施例では既に述べたように3となる。変数nが縞パターン数Nnより小さいと判定された場合に、処理はS1107に進み、それ以外の場合に、処理はS1114に進む。S1107において画像読み込み部901は、露出設定番号を示す変数mを0で初期化する。
S1108において画像読み込み部901は、変数mが露出設定数Nmより小さいかを判定する。変数mが露出設定数Nmより小さいと判定された場合に、処理はS1109に進み、それ以外の場合に、処理はステップS1112に進む。S1109において画像読み込み部901は、変数cntで示された撮像番目で変数vにて指定される撮像装置が撮像した画像を読み込む。そして、S1110とS1111において画像読み込み部901は、撮像番号を示す変数cntと露出設定番号を示す変数mにそれぞれ1を加え、処理をS1108に戻す。
S1109〜S1111の処理が露出設定数Nm回繰り返されると、S1108にて変数mが露出設定数Nmとなったと判定され、処理はS1112に進む。S1112においてHDR合成部902は、S1108〜S1111のループで読み込まれたNm枚の撮像画像をHDR合成し、1枚の合成画像を生成する。そして、S1113において画像読み込み部901は、変数nに1を加え、処理をS1106に戻す。S1106にて処理がS1114に進むときは、すべての縞パターンについてHDR合成後の画像(合成画像)をS1112で生成されたときである。S1114において位相画像生成部903は、それらの合成画像を用いて位相画像を生成する。
次に、S1115において画像読み込み部901は、図7の撮像番号9に相当する基準位置パターンが投影された際に撮像された画像を読み込む。S1116において2値化処理部904は、S1115で読み込まれた基準位置パターンの撮像画像を2値化して、基準位置パターンの2値化画像を生成する。そして、S1117において周期識別画像生成部905は、S1116で生成された基準位置パターンの2値化画像と、S1114で生成された位相画像とに基づいて、周期識別画像を生成する。周期識別画像生成ステップS1117の詳細について後述する。
その後、S1118において位相接続部906は、S1117で生成された周期識別画像と、S1114で生成された位相画像タとに基づいて接続位相画像生成する。すなわち、式(5)に従って各画素の接続後の位相値を算出し、接続位相画像を生成する。そして、S1119において画像読み込み部901は変数vに1を加え、処理をS1102に戻す。すべての撮像装置についてS1103〜S1119の処理で接続位相画像が生成されると、S1120にて変数vが撮像装置数Nvとなったと判定され、処理はS1120に進む。そして、S1120において対応点探索部907は、異なる撮像装置の接続位相画像間で位相値が同じとなる対応点を探索する。S1121において三角測量部908は、対応点の座標に基づいて、三角測定の原理により測定対象物の3次元形状を算出する。
(周期識別画像生成ステップの詳細)
本実施例では、基準位置パターンの2値化画像および位相画像に基づいて周期識別画像を生成する。図12は、本実施例における周期識別画像生成部905が行う周期識別画像生成ステップS1117の詳細な処理の流れを示すフローチャートである。なお、図12に示す各ステップの処理は、CPUがHDなどに格納されているプログラムをRAMに読み出し、実行することで実現される。
S1201〜S1216の処理は、位相画像に対し行ごとに周期の切り替え部を識別してカウントし、そのカウント値で周期識別画像の画素値(周期識別番号)を初期化する処理(番号初期化処理)である。まず、S1201において周期識別画像生成部905は、画素の高さ方向の位置を示す変数iを0で初期化する。S1202において周期識別画像生成部905は、変数iが画像の高さHより小さいか否かを判定することで、位相画像の全ての行に対する番号初期化処理が終わったか否かを判定する。変数iが画像の高さHより小さい場合に、i行目の番号初期化処理が行われるように、処理はS1203に進み、それでない場合に、全ての行の番号初期化処理が終わったと判定され、処理はS1217に進む。なお、本実施例では撮像装置104、105のエリアセンサの画素数から、画像の高さHは5792となる。
S1203において周期識別画像生成部905は、位相画像のi行目において周期の切り替え部をカウントするための変数period_counterを0で初期化し、画素の幅方向の位置を示す変数jをNtで初期化する。ここでNtは、位相画像から周期の切り替え部を判定する際に参照する画素の位置範囲を指定するためのパラメータであり、自然数である。すわなち、位相画像の位置(j,i)の画素が周期の切り替え部であるか否かを判定するために、位置(j−Nt,i)〜位置(j+Nt−1,i)の画素が参照される。
S1204において周期識別画像生成部905は、変数jが画像幅W−Ntより小さいか否かを判定することで、画像の1行分の処理が終わったか否かを判定する。変数jが画像幅W−Ntより小さい場合は1行分の処理が終わっていないと判定し、処理はS1205へ進む。そうでない場合は、1行分の処理が終わったと判定し、処理はS1216へ進む。なお、本実施例では撮像装置104、105のエリアセンサの画素数から、画像幅Wは8688となる。
S1205において周期識別画像生成部905は、S1114にて生成された位相画像Φにおいて、隣接する画素の値と注目画素の値の差Φ(j−1,i)−Φ(j,i)を算出し、その差があらかじめ設定された閾値Th以上であるか否かを判定する。図10(a)の示したように、周期の切り替え部では位相値が大きく変動する。S1205では、位相値の差が閾値Th以上であると判定した場合に、この位相値が大きく変動する箇所を周期の切り替え部の候補とし、処理をS1207に進める。そうでない場合に、位相画像の位置(j、i)にある画素が周期の切り替え部でないとし、処理をS1206に進める。S1206において周期識別画像生成部905は、周期識別画像の画素値ID(j,i)に変数period_counterの値を記録し、jに1を加えて処理をS1204へ戻す。
S1207〜S1215の処理では、周期の切り替え部の候補である画素の周辺画素を考慮し、その画素で周期の切り替えを行うことが妥当であるか否かを判定する。具体的には、S1207において周期識別画像生成部905は、周辺画素を参照するための変数tを−Ntで初期化する。そして、S1208において周期識別画像生成部905は、変数tがNtより小さいか否かを判定することで、周辺画素の参照が終わったか否かを判定する。変数tがNtより小さい場合に、終わっていないと判定し、処理はS1209へ進み、そうでない場合に、終わったと判定し、処理はS1213に進む。S1209では、2xNtのサイズをもつバッファメモリBUF1およびBUF2にΦ(j+t,i)の値を逐次保存する。S1210、S1211では、tが0以上のときにBUF2の値に2πを加算する。そして、S1212では変数tに1を加え、処理をS1208へ戻す。
S1208〜S1212のループによりBUF1には位相接続前の着目画素周辺の位相値が記録され、BUF2には位相接続後の着目画素周辺の位相値に相当する値が記録される。次に、S1213では、BUF1、BUF2に記録されたデータの分散値をそれぞれ算出する。着目画素が周期の切り替え部として妥当である場合は、BUF2の分散値がBUF1の分散値より小さくなり、そうでない場合はBUF1の分散値がBUF2の分散値より小さくなる。そこで、S1214では、BUF2の分散値がBUF1の分散値より小さいか否かを判定し、BUF2の分散値がBUF1の分散値より小さいと判定した場合に、着目画素が周期の切り替え部であるとし、処理をS1215に進める。S1215では、周期の切り替え部をカウントするための変数period_counterに1を加え、処理をS1206へ進める。S1206では、前述したように、周期識別画像の画素値ID(j,i)に変数period_counterの値を記録し、jに1を加えて処理をS1204へ戻す。
このように周期の切り替え部の妥当性を判定することで、撮像装置のノイズ等の影響が多い場合でも精度良く周期識別画像を生成することができる。なお、ここでは分散値で周期の切り替え部の妥当性を判断したが、これに限るものではない。例えば、直線回帰した際の誤差を分散値の替わりに用いても良い。i行目の番号初期化処理が終わると、処理はS1216に進む。S1216では、変数iに1を加え、処理をS1202に戻す。位相画像の全ての行に対する番号初期化処理が終わる、すなわち、周期識別画像IDの全画素において画素値が初期化されると、S1202にて処理がS1217に分岐される。
S1217〜SS1228の処理は、S1116で生成された基準位置パターンの2値化画像からステップエッジ部の位置を抽出し、その位置に対応する周期識別番号が、撮像装置間で共通である所定番号となるよう周期識別画像の画素値を修正する処理である。これらの処理により、測定対象物101上のある一点における位相接続後の位相値が、異なる撮像装置間で同じ値となることが保証される。まず、S1217において周期識別画像生成部905は、画素の高さ方向の位置を示す変数iを0で初期化する。次に、S1218で変数iが画像の高さHより小さいか否かを判定する。変数iが画像の高さHより小さい場合に、周期識別画像のi行目の画素値が修正されるように、処理はS1219に進み、そうでない場合に、周期識別画像の全ての行の画素値修正が終わったと判定され、処理は終了する。
S1219において周期識別画像生成部905は、ステップエッジ部の位置に対応する修正前の周期識別番号を保持するための変数tmp_id、画素の幅方向の位置を示す変数jをそれぞれ0で初期化する。S1220において周期識別画像生成部905は、変数jが画像幅W−Ntより小さいか否かを判定することで、画像の1行分の処理が終わったか否かを判定する。変数jが画像幅W−Ntより小さい場合は1行分の処理が終わっていないと判定し、S1221へ進める。そうでない場合は、1行分の処理が終わったと判定し、処理をS1224へ進める。
S1221において周期識別画像生成部905は、S1116で生成された2値化画像Bにおいて、隣接する画素の値が着目画素の値と異なるか否かを判定する。隣接する画素の値が同じであれば、着目画素がステップエッジ部でないとし判定し、S1222にて変数jに1を加え、処理をS1220に戻す。隣接する画素の値が異なれば、ステップエッジ部であると判定し、S1223にて変数tmp_idにそのときの周期識別画像の画素値ID(j,i)を保持し、処理をS1224に進める。
S1224〜S1227の処理では、周期識別画像のi行目の各画素の値を修正する。まず、S1224にて画素の幅方向の位置を示す変数jを再び初期化し、S1225で1行分の処理が終わったか否かを判定する。1行分の処理が終わったと判定された場合、処理をS1228に進め、変数iに1を加えることで次の行について上述の処理を繰り返し行い、そうでない場合、処理をS1226に進める。S1226では、周期識別画像IDの画素値に対し、変数tmp_idを引き、128を加える。このようにすることで、ステップエッジ部の周期識別画像IDの画素値が128となる。そして、S1227にて変数jに1を加え、処理をS1225に戻す。なお、本実施例では、ステップエッジ部の周期識別画像IDの画素値が128という所定番号となるようにしたが、所定番号は128に限るものでなく、どのような値であってもよい。
以上のとおり、本実施例の3次元形状測定装置の構成によれば、濃度レンジの広い対象物体の3次元形状を、高精度かつ、少ない撮像枚数で測定することが可能となる。
[実施例2]
実施例1では、基準位置パターンとして、図4(d)に示したステップエッジを1つ有する画像を用いた3次元形状測定方法について説明した。本実施例においては、ステップエッジを2つ有する画像を基準位置パターンとして用いる例について説明する。なお、本実施例の3次元形状測定装置の構成は、とくに説明しない限り実施例1で述べた構成と同じである。
図13(a)に本実施例における基準位置パターンの例を示す。ここで、箇所1301と箇所1302の破線は、ステップエッジ部の位置を示している。このように、本実施例では2つのステップエッジを有するパターンを基準位置パターンとして用いる。図13(b)は、図5(b)と同じ縞パターンから式(4)により位相値を算出した位相画像のラインプロファイルである。また、図13(c)は、図13(a)に示した基準位置パターンの画素位置と画素値の関係を示すラインプロファイルである。
図13(c)に示すように、ステップエッジ部は画素値が255から0に変化する箇所1301と、0から255に変化する箇所1302の2箇所である。この2箇所の位置は、図13(b)において、それぞれ位相値がπとなる位置と一致している。なお、必ずしも一致している必要はなく、位相が0、または2πとなる周期の切り替え部以外の位置に箇所1301、箇所1302のステップエッジ部があればよい。このように周期の切り替え部以外にステップエッジ部を位置させることにより、基準位置パターンを測定対象物101に投影し、撮像する際の撮像露光量の過不足に堅牢な処理となる。
本実施例において、周期識別画像生成ステップは、実施例1の図12で説明したS1117の詳細な処理と同じ処理を行うことができる。この場合、ステップエッジ部としては箇所1302のエッジ部が抽出され、この位置に対応する位相画像の周期識別番号が所定番号(本実施例では128)となる周期識別画像が生成される。また、図12のステップS1221の処理をB(j−1,i)>B(j,i)とすれば、箇所1301のエッジ部が抽出され、この位置にある位相画像の周期が上記所定番号を参照して決定した番号(本実施例では126)となる周期識別画像が生成される。ここで、図13(b)に示した箇所1301と箇所1302の位置の周期の間隔が2であるため、箇所1302のエッジ部と箇所1301のエッジ部に対応する周期識別画像の画素値が2異なる128と126となるように説明した。
上記2つの処理を両方行うことで、箇所1302のエッジ部にある位相画像の周期識別番号が128となる周期識別画像と、箇所1301のエッジ部にある位相画像の周期識別番号が126となる周期識別画像の2種類の周期識別画像が生成される。このようにすることで、2種類の周期識別画像を比較し、異なれば周期識別画像を正しく生成できなかったものとして、ユーザにエラー表示するなど、より周期識別画像生成の誤りに堅牢な処理を行うことが可能となる。また、2種類の周期識別画像を表示装置202等に表示し、ユーザに選択させるなどの構成をとることも可能である。なお、周期識別画像の周期として説明した126と128は例であり、これに限るものではない。
(他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
103 投影装置
104 撮像装置
105 撮像装置
203 画像取得制御部
205 形状算出部

Claims (9)

  1. 複数の方向から物体を撮像して得られる画像を基に前記物体の3次元形状を算出する制御装置であって、
    前記複数の方向それぞれについて、撮像手段と投影手段とを制御することによって、所定の方向に光量が周期的に変化するパターン光が照射された前記物体を撮像して得られる画像と、前記所定の方向に光量が周期的に変化し、前記パターン光と位相差を有するパターン光が照射された前記物体を前記複数の方向から撮像して得られる画像と、を含む画像群を取得する第1取得手段と、
    前記複数の方向それぞれについて、前記撮像手段と前記投影手段とを制御することによって、前記パターン光に含まれる複数の周期のうち少なくとも1つの周期の位置を識別可能とするパターン光が照射された前記物体を撮像して得られる1つの画像を取得する第2取得手段と、
    前記複数の方向それぞれについて、前記画像群に基づいて、各画素に位相値を有する位相画像を生成する第1生成手段と、
    前記複数の方向それぞれについて、前記1つの画像と前記位相画像とに基づいて、前記位相画像の各画素における周期識別番号を示す周期識別画像を生成する第2生成手段と、
    前記複数の方向それぞれについて、前記周期識別画像を用いて前記位相画像の位相接続を行うことにより、接続位相画像を生成する第3生成手段と、
    前記複数の方向それぞれの前記接続位相画像に基づいて、前記物体の3次元形状を算出する算出手段とを備え
    前記少なくとも1つの周期の位置を識別可能とするパターン光は、エッジ強度が所定値以上のエッジ部を、前記縞パターンの前記少なくとも1つの周期内において前記縞パターンの縞に平行して設けるように作成され、前記エッジ部は、前記縞パターンの縞の周期が切り替わる切り替え部以外の位置に存在することを特徴とする制御装置。
  2. 前記第2生成手段は、前記複数の方向それぞれについて、前記1つの画像に基づいて前記少なくとも1つの周期の位置を抽出し、抽出した前記少なくとも1つの周期の位置に対応する前記位相画像の周期識別番号が、前記複数の方向の間で共通な所定番号になるように前記周期識別画像を生成することを特徴とする請求項に記載の制御装置。
  3. 前記第2生成手段は、前記複数の方向それぞれについて、前記1つの画像に基づいて2値化画像を生成し、前記2値化画像に基づいて前記少なくとも1つの周期の位置を抽出することを特徴とする請求項に記載の制御装置。
  4. 前記第1取得手段は、前記所定の方向に光量が周期的に変化する前記パターン光の投影ごとに、複数の露出条件で前記物体を前記複数の方向から撮像するよう前記撮像手段を制御し、
    前記第2取得手段は、前記少なくとも1つの周期の位置を識別可能とするパターン光の投影において、1つの露出条件で前記物体を前記複数の方向から撮像するよう前記撮像手段を制御することを特徴とする請求項乃至のいずれか1項に記載の制御装置。
  5. 前記複数の方向それぞれについて、前記所定の方向に光量が周期的に変化する前記パターン光の投影ごとに、前記複数の露出条件における撮像により得られる複数の画像を合成して、合成画像を生成する合成手段をさらに有し、
    前記第1生成手段は、前記合成画像に基づいて前記位相画像を生成することを特徴とする請求項に記載の制御装置。
  6. 前記算出手段は、
    前記接続位相画像に基づいて、前記複数の方向において前記接続位相画像の位相値が同じとなる対応点を探索する対応点探索手段と、
    前記対応点探索手段により探索された前記対応点に基づいて、三角測量の原理により前記物体の3次元形状を算出する三角測量手段と
    をさらに有することを特徴とする請求項乃至のいずれか1項に記載の制御装置。
  7. 前記所定の方向に光量が周期的に変化する前記パターン光は、輝度が正弦波状に変化する縞状のパターン光であることを特徴とする請求項1乃至のいずれか1項に記載の制御装置。
  8. 複数の方向から物体を撮像して得られる画像を基に前記物体の3次元形状を算出する制御方法であって、
    前記複数の方向それぞれについて、撮像手段と投影手段とを制御することによって、所定の方向に光量が周期的に変化するパターン光が照射された前記物体を撮像して得られる画像と、前記所定の方向に光量が周期的に変化し、前記パターン光と位相差を有するパターン光が照射された前記物体を前記複数の方向から撮像して得られる画像と、を含む画像群を取得する第1取得ステップと、
    前記複数の方向それぞれについて、前記撮像手段と前記投影手段とを制御することによって、前記パターン光に含まれる複数の周期のうち少なくとも1つの周期の位置を識別可能とするパターン光が照射された前記物体を撮像して得られる1つの画像を取得する第2取得ステップと、
    前記複数の方向それぞれについて、前記画像群に基づいて、各画素に位相値を有する位相画像を生成する第1生成ステップと、
    前記複数の方向それぞれについて、前記1つの画像と前記位相画像とに基づいて、前記位相画像の各画素における周期識別番号を示す周期識別画像を生成する第2生成ステップと、
    前記複数の方向それぞれについて、前記周期識別画像を用いて前記位相画像の位相接続を行うことにより、接続位相画像を生成する第3生成ステップと、
    前記複数の方向それぞれの前記接続位相画像に基づいて、前記物体の3次元形状を算出する算出ステップとを備え
    前記複数の方向それぞれについての前記画像群及び前記1つの画像に基づいて、前記物体の3次元形状を算出する算出と、
    前記少なくとも1つの周期の位置を識別可能とするパターン光は、エッジ強度が所定値以上のエッジ部を、前記縞パターンの前記少なくとも1つの周期内において前記縞パターンの縞に平行して設けるように作成され、前記エッジ部は、前記縞パターンの縞の周期が切り替わる切り替え部以外の位置に存在することを特徴とする制御方法。
  9. コンピュータを請求項1乃至のいずれか1項に記載の制御装置の各手段として機能させるためのプログラム。
JP2016068637A 2016-03-30 2016-03-30 制御装置、制御方法およびプログラム Active JP6800597B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016068637A JP6800597B2 (ja) 2016-03-30 2016-03-30 制御装置、制御方法およびプログラム
US15/470,286 US10430962B2 (en) 2016-03-30 2017-03-27 Three-dimensional shape measuring apparatus, three-dimensional shape measuring method, and storage medium that calculate a three-dimensional shape of an object by capturing images of the object from a plurality of directions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016068637A JP6800597B2 (ja) 2016-03-30 2016-03-30 制御装置、制御方法およびプログラム

Publications (3)

Publication Number Publication Date
JP2017181298A JP2017181298A (ja) 2017-10-05
JP2017181298A5 JP2017181298A5 (ja) 2019-05-30
JP6800597B2 true JP6800597B2 (ja) 2020-12-16

Family

ID=59958890

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016068637A Active JP6800597B2 (ja) 2016-03-30 2016-03-30 制御装置、制御方法およびプログラム

Country Status (2)

Country Link
US (1) US10430962B2 (ja)
JP (1) JP6800597B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017003469A (ja) * 2015-06-11 2017-01-05 キヤノン株式会社 三次元計測装置、三次元計測装置の制御方法及びプログラム
KR101842141B1 (ko) * 2016-05-13 2018-03-26 (주)칼리온 3차원 스캐닝 장치 및 방법
US10681331B2 (en) * 2017-02-06 2020-06-09 MODit 3D, Inc. System and method for 3D scanning
CN107044833B (zh) * 2017-03-24 2019-03-05 南京理工大学 一种基于改进的傅立叶变换轮廓技术的超快三维形貌测量方法及其系统
JP2019087008A (ja) 2017-11-07 2019-06-06 東芝テック株式会社 画像処理システム及び画像処理方法
JP6970376B2 (ja) * 2017-12-01 2021-11-24 オムロン株式会社 画像処理システム、及び画像処理方法
US11061234B1 (en) * 2018-02-01 2021-07-13 Facebook Technologies, Llc Depth camera assembly based on near infra-red illuminator
WO2019177066A1 (ja) * 2018-03-16 2019-09-19 日本電気株式会社 3次元形状計測装置、3次元形状計測方法、プログラム及び記録媒体
EP3561446A1 (de) 2018-04-23 2019-10-30 Carl Zeiss Vision International GmbH Verfahren und vorrichtung zum vermessen einer optischen linse für individuelle tragesituationen eines nutzers
US11340456B1 (en) 2019-05-22 2022-05-24 Facebook Technologies, Llc Addressable crossed line projector for depth camera assembly
CN114078103A (zh) 2020-08-21 2022-02-22 先临三维科技股份有限公司 重建数据的方法及系统,扫描设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008124397A1 (en) * 2007-04-03 2008-10-16 David Fishbaine Inspection system and method
JP2009031150A (ja) * 2007-07-27 2009-02-12 Omron Corp 三次元形状計測装置、三次元形状計測方法、三次元形状計測プログラム、および記録媒体
US7758097B2 (en) * 2008-07-24 2010-07-20 Honda Motor Co., Ltd. Cover assembly for a vehicle storage compartment striker
JP2012093234A (ja) * 2010-10-27 2012-05-17 Nikon Corp 三次元形状測定装置、三次元形状測定方法、構造物の製造方法および構造物製造システム
AU2012374618B2 (en) * 2012-07-31 2015-05-07 Huawei Technologies Co., Ltd. Method for positioning channel boundary, user terminal, and base station
JP5780659B2 (ja) * 2013-06-13 2015-09-16 ヤマハ発動機株式会社 3次元形状測定装置
JP5633058B1 (ja) * 2013-07-19 2014-12-03 株式会社三次元メディア 3次元計測装置及び3次元計測方法

Also Published As

Publication number Publication date
US10430962B2 (en) 2019-10-01
JP2017181298A (ja) 2017-10-05
US20170287157A1 (en) 2017-10-05

Similar Documents

Publication Publication Date Title
JP6800597B2 (ja) 制御装置、制御方法およびプログラム
KR102714153B1 (ko) 오브젝트의 3차원 이미지 생성 방법 및 시스템
KR101461068B1 (ko) 삼차원 계측장치, 삼차원 계측방법 및 기억매체
US8339582B2 (en) Apparatus and method to correct image
US9546863B2 (en) Three-dimensional measuring apparatus and control method therefor
US20130335535A1 (en) Digital 3d camera using periodic illumination
JP5633058B1 (ja) 3次元計測装置及び3次元計測方法
JP6750183B2 (ja) 画像距離算出装置、画像距離算出方法および画像距離算出用プログラム
JP4830871B2 (ja) 3次元形状計測装置及び3次元形状計測方法
KR20150145251A (ko) 포착된 영상에 대한 깊이 데이터의 결정
KR20090055803A (ko) 다시점 깊이맵 생성 방법 및 장치, 다시점 영상에서의변이값 생성 방법
CN105306922B (zh) 一种深度相机参考图的获取方法和装置
CN103299343A (zh) 距离图像像素匹配方法
JP2015184056A (ja) 計測装置、方法及びプログラム
JP4193342B2 (ja) 3次元データ生成装置
JP2017116420A (ja) データ処理装置およびその方法
Je et al. Color-phase analysis for sinusoidal structured light in rapid range imaging
JP2011237296A (ja) 3次元形状計測方法、3次元形状計測装置、及びプログラム
KR20170047780A (ko) 적응적 윈도우 마스크를 이용하는 로우 코스트 계산장치 및 그 방법
JP6591332B2 (ja) 放射線強度分布測定システム及び方法
JP2001338280A (ja) 3次元空間情報入力装置
JP2016045120A (ja) 3次元計測システム及び3次元計測方法
JP6867766B2 (ja) 情報処理装置およびその制御方法、プログラム
JP2013148467A (ja) 計測装置、方法及びプログラム
JP4351090B2 (ja) 画像処理装置および画像処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190327

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190416

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200303

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200501

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200608

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201027

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201125

R151 Written notification of patent or utility model registration

Ref document number: 6800597

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151