(58)【調査した分野】(Int.Cl.,DB名)
前記線状光を含む第一画像と前記線状光を含まない第二画像との出現パターンに基づいて、前記複数の画像から欠落した画像である欠落画像があるか否かを判断する判断部、
をさらに具備する請求項1に記載の測定装置。
前記判断部により前記欠落画像があると判断されたときに、前記第一グループに含まれている画像を前記第二グループに移行させることにより、前記欠落画像を隠蔽する隠蔽部、
をさらに具備する請求項5に記載の測定装置。
【発明を実施するための形態】
【0013】
以下、本願に開示する測定装置、測定方法、判断方法及びプログラムの実施例を図面を参照しながら説明する。なお、以下の実施例により本願の開示が限定されるものではない。また、各実施例において同一の構造部材、同一の機能を有する構成、及び、同一の処理を行うステップには同一の符号を付す。
【0014】
[実施例1]
<オーバヘッド型スキャナの構造>
図1は、実施例1のオーバヘッド型スキャナの概略図(斜視図)である。
図1において、オーバヘッド型スキャナ1は、主画像読取部13と、カメラ24と、レーザ照射部21と、ガイド部41と、載置台42と、トップチャート43とを有する。オーバヘッド型スキャナ1は、画像読取装置の一例である。主画像読取部13、カメラ24、及び、レーザ照射部21は、載置台42の鉛直方向上方に設置される。
【0015】
主画像読取部13は、載置台42に載置される読取媒体を載置台42の鉛直方向上方から読み取る。読取媒体の一例として、見開き媒体が挙げられる。主画像読取部13は、オーバヘッド型スキャナ1の幅方向(以下では単に「幅方向」と呼ぶことがある)に沿って直線状に配列された複数の受光素子で形成されるラインセンサを有し、幅方向と平行な読取ラインを載置台42の載置面44上に形成する。主画像読取部13は、ガイド部41に支持された状態で、ガイド部41に沿って、オーバヘッド型スキャナ1の奥行方向(以下では単に「奥行方向」と呼ぶことがある)で移動可能である。ガイド部41は、例えばアクチュエータ(図示省略)を有し、アクチュエータからの駆動力により主画像読取部13が奥行方向で移動する。つまり、幅方向がラインセンサの主走査方向となり、奥行方向がラインセンサの副走査方向となる。幅方向と平行な読取ラインが奥行方向で移動することで、主画像読取部13は、載置台42に載置された読取媒体の全体の画像を読み取ることができる。幅方向と奥行方向とは互いに直交する。幅方向は第一方向の一例であり、奥行方向は、第一方向と直交する第二方向の一例である。
【0016】
レーザ照射部21は、幅方向に平行な線状のレーザ光(以下では単に「線状レーザ光」と呼ぶことがある)を載置面44に対して照射する。線状レーザ光は、線状光の一例である。レーザ照射部21が幅方向に平行な回転軸周りに一定の速度で回転することで、線状レーザ光が奥行方向で一定の速度S[mm/秒]で移動する。
【0017】
カメラ24は、線状レーザ光の奥行方向での移動と非同期で、線状レーザ光を照射される載置面44、または、線状レーザ光を照射される読取媒体をフレームレートF[フレーム/秒]で連続して撮像して複数の画像を取得する。載置面44に載置される読取媒体は、三次元形状の測定における被測定物の一例である。つまり、オーバヘッド型スキャナ1は、被測定物の三次元形状の測定にあたり、非同期式測定方法を採用する。カメラ24は、幅方向及び奥行方向の双方に二次元に配列された複数の撮像素子で形成されるエリアセンサを有し、カメラ24の撮影範囲はトップチャート43が配置された載置面44の全体に渡る。
【0018】
<オーバヘッド型スキャナの構成>
図2は、実施例1のオーバヘッド型スキャナの構成例を示すブロック図である。
図2において、オーバヘッド型スキャナ1は、三次元形状測定装置2と、記憶部12と、主画像読取部13と、読取制御部14と、歪み補正部15とを有する。三次元形状測定装置2は、レーザ照射部21と、移動部22と、測定制御部23と、カメラ24と、形状測定部25とを有する。
【0019】
読取制御部14は、主画像読取部13の読取開始タイミング、読取終了タイミング、露光時間、及び、露光タイミング等を制御する。また、読取制御部14は、ガイド部41が有するアクチュエータ(図示省略)の動作を制御して主画像読取部13を奥行方向で移動させる。
【0020】
図3に示すように、主画像読取部13が形成する読取平面SFは、載置面44上に形成される読取ラインであって、幅方向と平行な読取ラインを含む。
図3は、実施例1のオーバヘッド型スキャナの概略図(側面図)である。例えば、主画像読取部13の読取開始位置は、読取ラインがトップチャート43よりやや手前側になる位置に設定され、主画像読取部13の読取終了位置は、読取ラインが載置面44の手前側の終端になる位置に設定される。主画像読取部13は、読取制御部14の制御の下で、読取開始位置で読取を開始し、手前側への移動に伴って読取を行い、読取終了位置で読取を終了する。つまり、読取ラインは、載置面44上において、奥行き方向で奥側から手前側へ移動する。読取制御部14は、主画像読取部13が読取終了位置まで達したら、主画像読取部13を読取開始位置まで復帰させる。主画像読取部13によって読み取られた画像(以下では「主画像」と呼ぶことがある)は記憶部12に記憶される。
【0021】
図2へ戻り、レーザ照射部21は、測定制御部23の制御の下で、線状レーザ光の点灯と消灯とを繰り返す。
【0022】
移動部22は、例えばモータ(図示省略)を有し、測定制御部23の制御の下でモータを駆動することにより、レーザ照射部21を幅方向に平行な回転軸周りに一定の速度で回転させて線状レーザ光を奥行方向で一定の速度Sで移動させる。
【0023】
測定制御部23は、レーザ照射部21から照射される線状レーザ光の点灯時間及び消灯時間を制御する。また、測定制御部23は、移動部22が有するモータ(図示省略)の駆動を制御することにより、移動部22によるレーザ照射部21の移動を制御する。また、測定制御部23は、カメラ24の撮影開始タイミングと撮影終了タイミングとを制御する。
【0024】
カメラ24は、線状レーザ光の奥行方向での移動と非同期で、フレームレートFで連続撮像を行って複数の画像を取得する。カメラ24が取得する複数の画像には、線状レーザ光を含む画像(以下では「レーザ有り画像」と呼ぶことがある)と、線状レーザ光を含まない画像(以下では「レーザ無し画像」と呼ぶことがある)とが含まれる。カメラ24によって取得された複数の画像は記憶部12に記憶される。
【0025】
図4は、実施例1のオーバヘッド型スキャナの概略図(側面図)である。
図4に示すように、カメラ24の撮影範囲はトップチャート43が配置された載置面44の全体に渡るため、カメラ24の撮影範囲にはトップチャート43が含まれる。また、線状レーザ光の移動の開始位置は、線状レーザ光がトップチャート43上に照射される位置に設定され、線状レーザ光の移動の終了位置は、線状レーザ光が載置面44の手前側の終端に照射される位置に設定される。
図4において、レーザ照射部21が回転開始位置にあるときに線状レーザ光LP0がトップチャート43に対して照射され、レーザ照射部21の回転に伴って線状レーザ光LP1,LP2が順に照射され、レーザ照射部21が回転終了位置にあるときに線状レーザ光LPNが載置面44の手前側の終端に対して照射される。レーザ照射部21は、載置面44に被測定物が載置された状態で、載置面44に対して線状レーザ光LP0,LP1,LP2〜LPNを順に照射する。
【0026】
形状測定部25は、カメラ24によって取得され、記憶部12に記憶された複数の画像を用いて、載置面44に載置された被測定物の形状を測定し、測定結果を歪み補正部15へ出力する。
【0027】
歪み補正部15は、主画像読取部13によって読み取られ、記憶部12に記憶された主画像の歪みを、形状測定部25によって測定された形状に基づいて補正し、歪み補正後の画像を出力する。
【0028】
<三次元形状測定装置の動作及び処理>
図5〜
図7は、実施例1の三次元形状測定装置の動作例の説明に供する図である。
【0029】
まず、
図5に示すようにして、三次元形状測定装置2はキャリブレーションを行う。すなわち、キャリブレーション時には、載置面44に何も載置されていない状態で、測定制御部23の制御の下、移動部22がレーザ照射部21を回転させることで、レーザ照射部21が載置面44に対して線状レーザ光B0,B1,B2〜BNを順に照射する。レーザ照射部21が回転開始位置にあるときに線状レーザ光B0がトップチャート43に対して照射され、レーザ照射部21の回転に伴って線状レーザ光B1,B2が順に照射され、レーザ照射部21が回転終了位置にあるときに線状レーザ光BNが載置面44の手前側の終端に対して照射される。
【0030】
キャリブレーション時に、カメラ24は、測定制御部23の制御の下で、線状レーザ光B0,B1,B2〜BNが順に照射される載置面44を順次撮影して、線状レーザ光B0,B1,B2〜BNをそれぞれ含む複数の画像を取得し、取得した複数の画像を記憶部12に格納する。
【0031】
ここで、線状レーザ光B0,B1,B2〜BNは奥行方向で奥側から手前側に向かって所定の距離Lを一定の速度Sで移動する。載置面44の奥行方向における距離Lは、トップチャート43の中心から載置面44の手前側の終端までの距離である。また、載置面44上における線状レーザ光B0,B1,B2〜BNのそれぞれの間隔lは等間隔である。よって、載置面44上の奥行方向において、線状レーザ光B0,B1,B2〜BNの位置P0,P1,P2〜PNは既知である。例えば、距離L=360[mm]、速度S=360[mm/秒]、間隔l=36[mm]の場合、線状レーザ光B0,B1,B2〜BNの総本数は11本となる(つまり、N=11となる)。また、奥行方向において、位置P0はトップチャート43の中心位置と一致し、位置P1はトップチャート43の中心から36[mm]の位置に相当し、位置P2はトップチャート43の中心から72[mm]の位置に相当し、位置PNはトップチャート43の中心から360[mm]の位置に相当する。
【0032】
そこで、キャリブレーション時に、形状測定部25は、線状レーザ光B0,B1,B2〜BNをそれぞれ含む複数のレーザ有り画像を用いて、レーザ照射部21とカメラ24との位置関係に基づくパラメータを「レーザ番号n」に対応付けて設定する。「n」は0以上の整数であり、例えば、線状レーザ光B0,B1,B2〜BNの総本数Nが「11」の場合は、レーザ番号nは線状レーザ光B0,B1,B2〜BNのそれぞれに対応する0〜10の整数となる。すなわち、レーザ番号n=0に対応付けてパラメータPA0が設定され、レーザ番号n=1に対応付けてパラメータPA1が設定され、レーザ番号n=2に対応付けてパラメータPA2が設定され、レーザ番号n=Nに対応付けてパラメータPANが設定される。例えば、パラメータPA0,PA1,PA2〜PANの設定には、レーザ照射部21とカメラ24との位置関係に基づいて、周知の三角測距法が用いられる。形状測定部25は、キャリブレーション時に、パラメータPA0,PA1,PA2〜PANをそれぞれ、レーザ番号0,1,2〜Nに対応付けて記憶部12に格納する。記憶部12に格納されたパラメータPA0,PA1,PA2〜PANは、形状測定部25が被測定物の形状を測定する際に用いる平面方程式の係数(a,b,c,d)として利用される。
【0033】
以上、キャリブレーション時の動作について説明した。
【0034】
次いで、
図6及び
図7に示すようにして、三次元形状測定装置2は、載置面44に載置された被測定物の形状を測定する。
図6では、読取媒体及び被測定物の一例として見開き媒体SMを挙げる。
図6に示すようにして、形状測定時には、載置面44に被測定物が載置された状態で、測定制御部23の制御の下、移動部22がレーザ照射部21を回転させることで、レーザ照射部21が載置面44及び被測定物に対して線状レーザ光LP0,LP1,LP2〜LPNを順に照射する。レーザ照射部21が回転開始位置にあるときに線状レーザ光LP0がトップチャート43に対して照射され、レーザ照射部21の回転に伴って線状レーザ光LP1,LP2が順に照射され、レーザ照射部21が回転終了位置にあるときに線状レーザ光LPNが載置面44の手前側の終端に対して照射される。
【0035】
形状測定時に、カメラ24は、測定制御部23の制御の下で、線状レーザ光LP0,LP1,LP2〜LPNが順に照射される載置面44及び被測定物を順次撮影して、線状レーザ光LP0,LP1,LP2〜LPNをそれぞれ含む複数の画像を取得し、取得した複数の画像を記憶部12に格納する。
【0036】
ここで、線状レーザ光LP0,LP1,LP2〜LPNは奥行方向で奥側から手前側に向かって所定の距離Lを一定の速度Sで移動する。また、載置面44上における線状レーザ光LP0,LP1,LP2〜LPNのそれぞれの間隔lは等間隔である。よって、載置面44上の奥行方向において、線状レーザ光LP0,LP1,LP2〜LPNの位置Q0,Q1,Q2〜QNは既知であり、位置Q0,Q1,Q2〜QNは、線状レーザ光B0,B1,B2〜BNの位置P0,P1,P2〜PNと一致する。例えば、距離L=360[mm]、速度S=360[mm/秒]、間隔l=36[mm]の場合、線状レーザ光LP0,LP1,LP2〜LPNの総本数は11本となり、(つまり、N=11となり、)、線状レーザ光B0,B1,B2〜BNの総本数と一致する。また例えば、線状レーザ光LP0,LP1,LP2〜LPNの総本数Nが「11」の場合は、レーザ番号nは線状レーザ光LP0,LP1,LP2〜LPNのそれぞれに対応する0〜10の整数となる。
【0037】
そこで、形状測定時に、形状測定部25は、位置Q0,Q1,Q2〜QNと、記憶部106に格納されたパラメータPA0,PA1,PA2〜PANとを用いて三次元座標を算出することにより被測定物(ここでは、見開き媒体SM)の形状を測定する。
【0038】
すなわち、
図7に示すように、形状測定時には、形状測定部25は、レーザ番号n=0〜Nにそれぞれ対応付けられて記憶部12に格納されている線状レーザ光LP0,LP1,LP2〜LPNの画像から線状レーザ光LP0,LP1,LP2〜LPNの実空間形状を取得できる。また、形状測定部25は、位置Q0,Q1,Q2〜QNにそれぞれ対応するレーザ座標(u
i,v
i)を取得できる。ここでの「i」はレーザ番号nに対応する。また、形状測定部25は、レーザ番号n=0〜Nにそれぞれ対応付けられて記憶部12に格納されているパラメータPA0,PA1,PA2〜PAN(つまり、係数(a,b,c,d))を周知の平面方程式に係数として適用して
図7に示すようなカメラモデルを構築することにより、レーザ座標(u
i,v
i)に対応する三次元座標(X
i,Y
i,Z
i)を算出して被測定物の形状を測定する。
【0039】
以上、形状測定時の動作について説明した。
【0040】
図8は、実施例1の三次元形状測定装置の処理シーケンスの一例を示す図である。
図8には、形状測定時の処理シーケンスを示す。
【0041】
図8において、ステップST41で、測定制御部23は、リセット指示を移動部22へ出力する。
【0042】
次いで、ステップST43で、移動部22は、ステップST41でのリセット指示に従って、レーザ照射部21を回転開始位置に復帰させる。
【0043】
次いで、測定制御部23は、ステップST45で、点灯指示をレーザ照射部21へ出力するとともに、移動開始指示を移動部22へ出力する。また、測定制御部23は、点灯指示及び移動開始指示の出力と同時に、ステップST47で、撮影開始指示をカメラ24へ出力する。ステップST47での撮影開始指示に従って、カメラ24は、フレームレートFでの連続撮影を開始する。また、ステップST45での点灯指示に従ってレーザ照射部21は点灯して線状レーザ光LP0を照射する。また、ステップST45での移動開始指示に従って、ステップST49で、移動部22は、奥行方向での奥側から手前側への線状レーザ光の一定の速度Sでの移動を開始する。カメラ24での連続撮影は、ステップST65で測定制御部23から撮影終了指示が出力されるまで、線状レーザ光の移動と非同期で継続される。また、線状レーザ光の移動は、ステップST63で測定制御部23から移動終了指示が出力されるまで、停止されることなく継続される。
【0044】
次いで、測定制御部23は、ステップST45の処理の時点からA/F[秒](F分のA[秒])が経過した時点で、消灯指示をレーザ照射部21へ出力する(ステップST51)。ステップST51での消灯指示に従ってレーザ照射部21は消灯する。
【0045】
次いで、測定制御部23は、ステップST51の処理の時点からB/F[秒](F分のB[秒])が経過した時点で、点灯指示をレーザ照射部21へ出力する(ステップST53)。ステップST53での点灯指示に従ってレーザ照射部21は点灯して線状レーザ光LP1を照射する。
【0046】
次いで、測定制御部23は、ステップST53の処理の時点からA/F[秒]が経過した時点で、消灯指示をレーザ照射部21へ出力する(ステップST55)。ステップST55での消灯指示に従ってレーザ照射部21は消灯する。
【0047】
次いで、測定制御部23は、ステップST55の処理の時点からB/F[秒]が経過した時点で、点灯指示をレーザ照射部21へ出力する(ステップST57)。ステップST57での点灯指示に従ってレーザ照射部21は点灯して線状レーザ光LP2を照射する。
【0048】
次いで、測定制御部23は、ステップST57の処理の時点からA/F[秒]が経過した時点で、消灯指示をレーザ照射部21へ出力する(ステップST59)。ステップST59での消灯指示に従ってレーザ照射部21は消灯する。
【0049】
次いで、測定制御部23は、ステップST59の処理の時点からB/F[秒]が経過した時点で、点灯指示をレーザ照射部21へ出力する(ステップST61)。ステップST61での点灯指示に従ってレーザ照射部21は点灯して線状レーザ光LP3を照射する。
【0050】
以降、同様にして、レーザ照射部21のA/F秒間の点灯とB/F秒間の消灯とが繰り返される。
【0051】
そして、ステップST45,ST47の処理の時点から所定の時間Cが経過した時点で、測定制御部23は、移動終了指示を移動部22へ出力する(ステップST63)。また、測定制御部23は、移動終了指示の出力と同時に、ステップST65で、撮影終了指示をカメラ24へ出力する。ステップST65での撮影終了指示に従って、カメラ24は、撮影を終了する。また、ステップST63での移動終了指示に従って、ステップST67で、移動部22は、線状レーザ光の移動を終了する。
【0052】
つまり、線状レーザ光は、A/F秒間の点灯とB/F秒間の消灯とを繰り返しながら、点灯したまま、及び、消灯したまま移動する。また、線状レーザ光が一定の速度Sで移動する場合、1回の点灯あたりの移動距離はS×A/F[mm]で一定であり、1回の消灯あたりの移動距離はS×B/F[mm]で一定である。
【0053】
また例えば、距離L=360[mm]、速度S=360[mm/秒]に設定された場合、所定の時間Cは1[秒]に設定される。また例えば、A=1[フレーム],B=2[フレーム]に設定される。
【0054】
このように、測定制御部23は、A/F[秒]だけ線状レーザ光を点灯させる制御(以下では「第一制御」と呼ぶことがある)と、B/F[秒]だけ線状レーザ光を消灯させたまま移動部22により線状レーザ光を奥行方向で移動させる制御(以下では「第二制御」と呼ぶことがある)とを繰り返す。よって、線状レーザ光の点灯及び消灯の繰り返し周期は、(A+B)/F[秒]となる。
【0055】
図9は、実施例1の三次元形状測定装置の動作例の説明に供する図である。
図9には、形状測定時の動作例を示す。また、
図9には、A=1[フレーム],B=2[フレーム]に設定した場合の動作例を示す。
【0056】
記憶部12には、線状レーザ光の点灯と消灯との繰り返しに伴ってカメラ24により撮影された複数の画像が格納されている。ここでは、一例として、順に撮影された0番画像〜8番画像を対象として説明する。0番画像は、レーザ照射部21が回転開始位置で点灯することによりトップチャート43に対して照射された線状レーザ光LP0を含むレーザ有り画像(以下では「トップチャート画像」と呼ぶことがある)である。また、3番画像は線状レーザ光LP1を含むレーザ有り画像であり、6番画像は線状レーザ光LP2を含むレーザ有り画像である。
【0057】
また、A=1[フレーム],B=2[フレーム]に設定されているため、レーザ有り画像である0番画像と0番画像の次のレーザ有り画像である3番画像との間には2つのレーザ無し画像(1番画像,2番画像)が存在し、レーザ有り画像である3番画像と3番画像の次のレーザ有り画像である6番画像との間には2つのレーザ無し画像(4番画像,5番画像)が存在する。つまり、A=1[フレーム],B=2[フレーム]に設定されている場合には、「レーザ有り画像、レーザ無し画像、レーザ無し画像」を一単位とするグループが繰り返し出現する。
【0058】
そこで、形状測定部25は、A=1[フレーム],B=2[フレーム]に設定されている場合には、0番画像〜8番画像を各々が3つずつの画像を含む複数のグループに分ける。すなわち、形状測定部25は、0番画像,1番画像,2番画像をグループGP0に分類し、3番画像,4番画像,5番画像をグループGP0に後続するグループGP1に分類し、6番画像,7番画像,8番画像をグループGP1に後続するグループGP2に分類する。
【0059】
次いで、形状測定部25は、グループGP0において、0番画像と1番画像とをマージし、マージ後の画像から2番画像を減算することにより線状レーザ光LP0の画像を取得する。そして、形状測定部25は、取得した線状レーザ光LP0の画像に対してレーザ番号0を設定し、レーザ番号0に対応付けて線状レーザ光LP0の画像を記憶部12に格納する。
【0060】
また、形状測定部25は、グループGP1において、3番画像と4番画像とをマージし、マージ後の画像から5番画像を減算することにより線状レーザ光LP1の画像を取得する。そして、形状測定部25は、取得した線状レーザ光LP1の画像に対してレーザ番号1を設定し、レーザ番号1に対応付けて線状レーザ光LP1の画像を記憶部12に格納する。
【0061】
また、形状測定部25は、グループGP2において、6番画像と7番画像とをマージし、マージ後の画像から8番画像を減算することにより線状レーザ光LP2の画像を取得する。そして、形状測定部25は、取得した線状レーザ光LP2の画像に対してレーザ番号2を設定し、レーザ番号2に対応付けて線状レーザ光LP2の画像を記憶部12に格納する。
【0062】
図10は、実施例1の三次元形状測定装置の処理の一例の説明に供するフローチャートである。
図10には、形状測定時の処理例を示す。また、
図10には、A=1[フレーム],B=2[フレーム]に設定した場合の処理例を示す。
【0063】
図10において、ステップST11では、形状測定部25は、カメラ24によって取得されて記憶部12に格納された画像を記憶部12から読み出す。
【0064】
次いで、ステップST13では、形状測定部25は、記憶部12から読み出した画像がトップチャート画像であるか否かを判断する。記憶部12から読み出された画像がトップチャート画像でない場合は(ステップST13:No)、処理はステップST11へ戻って、形状測定部25は、次の画像を記憶部12から読み出す。
【0065】
一方で、記憶部12から読み出された画像がトップチャート画像である場合は(ステップST13:Yes)、ステップST15において、形状測定部25は、トップチャート画像を0番画像に設定する。
【0066】
次いで、ステップST17では、形状測定部25は、1番画像、2番画像を記憶部12から読み出す。1番画像は、トップチャート画像の次の画像である。
【0067】
次いで、ステップST19では、形状測定部25は、レーザ番号nを「1」に設定する。レーザ番号nは、
図9に示したグループGPの番号と一致する。
【0068】
次いで、ステップST21では、形状測定部25は、(3n)番画像、(3n+1)番画像、(3n+2)番画像を記憶部12から読み出す。
【0069】
次いで、ステップST23では、形状測定部25は、(3n)番画像と(3n+1)番画像とをマージする。以下では、マージ後の画像を「マージ画像」と呼ぶことがある。
【0070】
次いで、ステップST25では、形状測定部25は、マージ画像から(3n+2)番画像を減算する。これにより、線状レーザ光だけの画像(以下では「レーザ画像」と呼ぶことがある)が得られる。
【0071】
次いで、ステップST27では、ステップST25で得られたレーザ画像に対してレーザ番号nを設定し、ステップST25で得られたレーザ画像とレーザ番号nとを対応付けて記憶部12に格納する。
【0072】
次いで、ステップST29では、形状測定部25は、処理対象とする画像が記憶部12に残っているか否かを判断する。
【0073】
処理対象とする画像が記憶部12に残っている場合は(ステップST29:Yes)、ステップST31において、形状測定部25は、レーザ番号nをインクリメントする。ステップST31の処理後、処理はステップST21へ戻る。
【0074】
一方で、処理対象とする画像が記憶部12に残っていない場合は(ステップST29:No)、ステップST33において、形状測定部25は、
図7に示したようにして、三次元座標(X
i,Y
i,Z
i)を算出する。
【0075】
以上のように、実施例1では、三次元形状測定装置2は、レーザ照射部21と、移動部22と、カメラ24と、測定制御部23と、形状測定部25とを有する。レーザ照射部21は、幅方向に平行な線状レーザ光を照射する。移動部22は、線状レーザ光を幅方向と直交する奥行方向で移動させる。カメラ24は、線状レーザ光の奥行方向での移動と非同期で、線状レーザ光を照射される被測定物をフレームレートFで連続して撮影して複数の画像を取得する。測定制御部23は、第一制御と第二制御とを繰り返す。第一制御は、A/F[秒]だけ線状レーザ光を点灯させる制御である。第二制御は、B/F[秒]だけ線状レーザ光を消灯させたまま移動部22により線状レーザ光を奥行方向で移動させる制御である。形状測定部25は、カメラ24によって取得された複数の画像を用いて被測定物の形状を測定する。
【0076】
線状レーザ光の移動開始位置はトップチャート43である。また、線状レーザ光が一定の速度Sで移動する場合、1回の点灯あたりの移動距離はS×A/F[mm]で一定であり、1回の消灯あたりの移動距離はS×B/F[mm]で一定である。よって、線状レーザ光が点灯する奥行方向の位置Q0,Q1,Q2〜QNは既知である。よって、線状レーザ光の位置を特定するための特別なラベルを載置面44上に設けなくても、位置Q0,Q1,Q2〜QNにそれぞれ対応するレーザ座標(u
i,v
i)を取得可能である。
【0077】
よって、実施例1によれば、非同期式測定方法において、特別なラベルを設けることなしに、特別なラベルを設けた場合と同等の精度で被測定物の形状を測定することができる。
【0078】
また、実施例1では、測定制御部23は、第一制御において、線状レーザ光を点灯させたまま移動部22により線状レーザ光を奥行方向で移動させる。
【0079】
こうすることで、線状レーザ光の点灯と移動とを同時に進めることができるため、線状レーザ光が移動開始位置から移動終了位置へ達するまでの所定の時間Cを一定に保った場合、線状レーザ光の移動速度を後述する実施例2よりも遅くすることが可能になる。
【0080】
[実施例2]
実施例2は、線状レーザ光の点灯時に線状レーザ光の移動を停止させる点が実施例1と異なる。
【0081】
<三次元形状測定装置の処理>
図11は、実施例2の三次元形状測定装置の処理シーケンスの一例を示す図である。
図11には、形状測定時の処理シーケンスを示す。
図11における処理ステップのうち、
図8における処理ステップと同一の処理ステップの説明は省略する。
【0082】
ステップST71で、測定制御部23は、点灯指示をレーザ照射部21へ出力するとともに、停止指示を移動部22へ出力する。また、測定制御部23は、ステップST71での点灯指示及び停止指示の出力と同時に、ステップST47で、撮影開始指示をカメラ24へ出力する。ステップST47での撮影開始指示に従って、カメラ24は、フレームレートFでの連続撮影を開始する。また、ステップST71での点灯指示に従ってレーザ照射部21は点灯して線状レーザ光LP0を照射する。また、ステップST71での停止指示に従って、移動部22は、奥行方向での奥側から手前側への線状レーザ光の移動を停止する。
【0083】
次いで、測定制御部23は、ステップST71の処理の時点からA/F[秒]が経過した時点で、消灯指示をレーザ照射部21へ出力するとともに、移動指示を移動部22へ出力する(ステップST73)。ステップST73での消灯指示に従ってレーザ照射部21は消灯するとともに、ステップST73での移動指示に従って移動部22は、線状レーザ光を、一定の速度Sで、奥行方向での奥側から手前側へ移動させる。
【0084】
次いで、測定制御部23は、ステップST73の処理の時点からB/F[秒]が経過した時点で、レーザ照射部21へ点灯指示を出力するとともに、停止指示を移動部22へ出力する(ステップST75)。ステップST75での点灯指示に従ってレーザ照射部21は点灯して線状レーザ光LP1を照射するとともに、ステップST75での停止指示に従って、移動部22は、奥行方向での奥側から手前側への線状レーザ光の移動を停止する。
【0085】
次いで、測定制御部23は、ステップST75の処理の時点からA/F[秒]が経過した時点で、消灯指示をレーザ照射部21へ出力するとともに、移動指示を移動部22へ出力する(ステップST77)。ステップST77での消灯指示に従ってレーザ照射部21は消灯するとともに、ステップST77での移動指示に従って移動部22は、線状レーザ光を、一定の速度Sで、奥行方向での奥側から手前側へ移動させる。
【0086】
次いで、測定制御部23は、ステップST77の処理の時点からB/F[秒]が経過した時点で、レーザ照射部21へ点灯指示を出力するとともに、停止指示を移動部22へ出力する(ステップST79)。ステップST79での点灯指示に従ってレーザ照射部21は点灯して線状レーザ光LP2を照射するとともに、ステップST79での停止指示に従って、移動部22は、奥行方向での奥側から手前側への線状レーザ光の移動を停止する。
【0087】
次いで、測定制御部23は、ステップST79の処理の時点からA/F[秒]が経過した時点で、消灯指示をレーザ照射部21へ出力するとともに、移動指示を移動部22へ出力する(ステップST81)。ステップST81での消灯指示に従ってレーザ照射部21は消灯するとともに、ステップST81での移動指示に従って移動部22は、線状レーザ光を、一定の速度Sで、奥行方向での奥側から手前側へ移動させる。
【0088】
次いで、測定制御部23は、ステップST81の処理の時点からB/F[秒]が経過した時点で、レーザ照射部21へ点灯指示を出力するとともに、停止指示を移動部22へ出力する(ステップST83)。ステップST83での点灯指示に従ってレーザ照射部21は点灯して線状レーザ光LP3を照射するとともに、ステップST83での停止指示に従って、移動部22は、奥行方向での奥側から手前側への線状レーザ光の移動を停止する。
【0089】
つまり、線状レーザ光は、A/F秒間の点灯とB/F秒間の消灯とを繰り返しながら、点灯時には停止し、消灯時には移動する。また、線状レーザ光が一定の速度U[mm/秒](但しU>S)で移動する場合、1回の消灯あたりの移動距離はU×B/F[mm]で一定である。A=1[フレーム],B=2[フレーム]に設定されている場合には、実施例2における速度Uは、実施例1における速度Sの1.5倍にするのが好ましい。
【0090】
このように、実施例2の測定制御部23は、実施例1と同様に、第一制御と第二制御とを繰り返す。但し、実施例2の測定制御部23は、第一制御において、移動部22による線状光の奥行方向での移動をA/F[秒]だけ停止させて線状光を点灯させる。
【0091】
こうすることで、線状レーザ光の点灯時に線状レーザ光の移動は停止するため、レーザ有り画像における線状レーザ光の奥行方向での幅が実施例1よりも細くなる。よって、被測定物の形状の測定精度を実施例1よりも高めることができる。
【0092】
[実施例3]
<オーバヘッド型スキャナの構成>
図12は、実施例3のオーバヘッド型スキャナの構成例を示すブロック図である。
図12における構成のうち、
図2における構成と同一の構成の説明は省略する。
図12において、三次元形状測定装置2は、欠落画像判断部31と、欠落画像隠蔽部32とをさらに有する。実施例3では、一例として、A=1[フレーム],B=2[フレーム]に設定した場合について説明する。
【0093】
欠落画像判断部31は、記憶部12に格納された一連の複数の画像を各々が3つずつの画像を含む複数のグループに分ける。そして、欠落画像判断部31は、各グループに含まれるレーザ有り画像とレーザ無し画像との出現パターンに基づいて、カメラ24により取得された画像から欠落した画像(以下では単に「欠落画像」と呼ぶことがある)があるか否かを判断し、判断結果を欠落画像隠蔽部32へ出力する。欠落画像は、例えば、カメラ24のフレームレートFに対して、カメラ24から記憶部12への画像の転送速度が遅いときに生じる。
【0094】
欠落画像隠蔽部32は、欠落画像判断部31での判断結果に従って、欠落画像を隠蔽し、隠蔽後の画像を記憶部12に格納する。
【0095】
<三次元形状測定装置の処理>
図13は、実施例3の三次元形状測定装置の処理の一例の説明に供するフローチャートである。
図13には、形状測定時の処理例を示す。また、
図13には、A=1[フレーム],B=2[フレーム]に設定した場合の処理例を示す。
図13における処理ステップのうち、
図10における処理ステップと同一の処理ステップの説明は省略する。
【0096】
ステップST21の処理後、ステップST35では、欠落画像判断部31は、欠落画像があるか否かを判断する。欠落画像がない場合は(ステップST35:No)、ステップST37,ST39の処理を行うことなく、処理はステップST23へ進む。
【0097】
一方で、欠落画像がある場合は(ステップST35:Yes)、ステップST37において、欠落画像隠蔽部32は、欠落画像を隠蔽する。
【0098】
次いで、ステップST39で、欠落画像隠蔽部32は、ステップST37での欠落画像の隠蔽時にレーザ番号nをインクリメントしたか否かを判断する。
【0099】
欠落画像の隠蔽時にレーザ番号nがインクリメントされている場合は(ステップST39:Yes)、処理はステップST21へ戻り、欠落画像の隠蔽時にレーザ番号nがインクリメントされていない場合は(ステップST39:No)、処理はステップST23へ進む。
【0100】
<三次元形状測定装置の動作>
図14〜
図40は、実施例3の三次元形状測定装置の動作例の説明に供する図である。
図14〜
図40には、A=1[フレーム],B=2[フレーム]に設定した場合の動作例を示す。また、
図14〜
図40において、枠内の数字「0」は「レーザ無し画像」を示し、枠内の数字「1」は「レーザ有り画像」を示す。また、
図14〜
図40において、枠上の0〜11の数字は画像番号を示す。また、
図14〜
図40において、枠内の記号「×」は「欠落画像」を示す。
【0101】
A=1[フレーム],B=2[フレーム]に設定されている場合、線状レーザ光の点灯・消灯タイミングと、カメラ24の撮影タイミングとがマッチしている場合には、カメラ24により取得される画像の出現パターンはパターン1(
図14)のようになる。すなわち、パターン1におけるグループGP0,GP1,GP3,GP4の各々に含まれる3つの画像の出現パターンは共に「1,0,0」となる。
【0102】
しかし、カメラ24の撮像方式にグローバルシャッター方式ではなくてローリングシャッター方式が採用される場合には、何れかのグループにおける画像の出現パターンが「1,1,0」となってしまうことがある。
図15に示すパターン2では、グループGP2における出現パターンが「1,1,0」となっており、
図16に示すパターン3では、グループGP1における出現パターンが「1,1,0」となっている。
【0103】
また、線状レーザ光の点灯及び消灯の繰り返し周期が(A+B)/F[秒]よりも短くなってしまった場合(つまり「3F>A+B」となってしまった場合)には、何れかのグループにおける画像の出現パターンが「1,0,1」となってしまうことがある。
図17に示すパターン4では、グループGP1,GP2,GP3における出現パターンが「1,0,1」となっている。
【0104】
また、線状レーザ光の点灯及び消灯の繰り返し周期が(A+B)/F[秒]よりも長くなってしまった場合(つまり「3F<A+B」となってしまった場合)には、何れかのグループにおける画像の出現パターンが「1,1,0」となってしまうことがある。
図18に示すパターン5では、グループGP1,GP2,GP3における出現パターンが「1,1,0」となっている。
【0105】
なお、グループGP1はグループGP0に後続するグループであり、グループGP2はグループGP1に後続するグループであり、グループGP3はグループGP2に後続するグループである。
【0106】
さらに、以下のように欠落画像が生じることもある。
【0107】
例えばパターン2(
図15)において3番画像が欠落した場合には、画像の出現パターンはパターン21(
図19)のようになる。A=1[フレーム],B=2[フレーム]に設定されている場合には、形状測定部25は、記憶部12に格納された一連の複数の画像を各々が3つずつの画像を含む複数のグループに分けるため、パターン21では、グループGP1における出現パターンが「0,0,1」となり、グループGP2における出現パターンが「1,0,1」となってしまう。
【0108】
また例えば、パターン2(
図15)において4番画像が欠落した場合には、画像の出現パターンはパターン22(
図20)のようになるため、パターン22では、グループGP1,GP2における出現パターンが「1,0,1」となってしまう。
【0109】
また例えば、パターン2(
図15)において5番画像が欠落した場合には、画像の出現パターンはパターン23(
図21)のようになるため、パターン23では、グループGP1,GP2における出現パターンが「1,0,1」となってしまう。
【0110】
また例えば、パターン3(
図16)において3番画像が欠落した場合には、画像の出現パターンはパターン31(
図22)のようになるため、パターン31では、グループGP1における出現パターンが「1,0,1」となり、グループGP2における出現パターンが「0,0,1」となってしまう。
【0111】
また例えば、パターン3(
図16)において4番画像が欠落した場合には、画像の出現パターンはパターン32(
図23)のようになるため、パターン32では、グループGP1における出現パターンが「1,0,1」となり、グループGP2における出現パターンが「0,0,1」となってしまう。
【0112】
また例えば、パターン3(
図16)において5番画像が欠落した場合には、画像の出現パターンはパターン33(
図24)のようになるため、パターン33では、グループGP1における出現パターンが「1,1,1」となり、グループGP2における出現パターンが「0,0,1」となってしまう。
【0113】
また例えば、パターン4(
図17)において3番画像が欠落した場合には、画像の出現パターンはパターン41(
図25)のようになるため、パターン41では、グループGP1,GP2における出現パターンが「0,1,1」となってしまう。
【0114】
また例えば、パターン4(
図17)において4番画像が欠落した場合には、画像の出現パターンはパターン42(
図26)のようになるため、パターン42では、グループGP1における出現パターンが「1,1,1」となり、グループGP2における出現パターンが「0,1,1」となってしまう。
【0115】
また例えば、パターン4(
図17)において5番画像が欠落した場合には、画像の出現パターンはパターン43(
図27)のようになるため、パターン43では、グループGP1における出現パターンが「1,0,1」となり、グループGP2における出現パターンが「0,1,1」となってしまう。
【0116】
また例えば、パターン5(
図18)において3番画像が欠落した場合には、画像の出現パターンはパターン51(
図28)のようになるため、パターン51では、グループGP1,GP2における出現パターンが「1,0,1」となってしまう。
【0117】
また例えば、パターン5(
図18)において4番画像が欠落した場合には、画像の出現パターンはパターン52(
図29)のようになるため、パターン52では、グループGP1,GP2における出現パターンが「1,0,1」となってしまう。
【0118】
また例えば、パターン5(
図18)において5番画像が欠落した場合には、画像の出現パターンはパターン53(
図30)のようになるため、パターン53では、グループGP1における出現パターンが「1,1,1」となり、グループGP2における出現パターンが「1,0,1」となってしまう。
【0119】
よって、A=1[フレーム],B=2[フレーム]に設定されている場合は、各グループにおける画像の出現パターンは、「1,0,0」(aパターン),「1,1,0」(bパターン),「1,0,1」(cパターン),「0,0,1」(dパターン),「1,1,1」(eパターン),「0,1,1」(fパターン)の6つのパターンに限定される。また、オーバヘッド型スキャナ1においては、線状レーザ光の位置を特定するための特別なラベルが載置面44上に設置されないので、これら6パターンのうち、何れかのグループにcパターン、dパターン、eパターン、または、fパターンの何れかが生じた場合は、
図10に示すフローチャートに従って処理を行うと、そもそもレーザ番号の特定が困難になってしまうか、または、レーザ番号の設定に誤りが生じてしまうことがある。また、これら6パターンのうち、欠落画像が生じた場合のパターンは、cパターン、dパターン、eパターン、及び、fパターンの4つのパターンに限定される。
【0120】
そこで、欠落画像判断部31は、レーザ有り画像とレーザ無し画像との出現パターンに基づいて、カメラ24により取得された複数の画像から欠落した画像があるか否かを判断する。
【0121】
また、パターンa〜fの各パターンにおける最初の画像(つまり、(3n)番画像)と最後の画像(つまり、(3n+2)番画像=(3n+((A+B)−1))番画像)に着目すると、aパターン及びbパターンでは、最初の画像は「1」、最後の画像は「0」という組合せ(以下では「組合せ10」と呼ぶことがある)になっている。また、cパターン及びeパターンでは、最初の画像は「1」、最後の画像は「1」という組合せ(以下では「組合せ11」と呼ぶことがある)になっている。また、dパターン及びfパターンでは、最初の画像は「0」、最後の画像は「1」という組合せ(以下では「組合せ01」と呼ぶことがある)になっている。
【0122】
そこで、欠落画像判断部31は、各々が3つずつの画像を含む複数のグループの何れかのグループに、組合せ11、または、組合せ01の何れかが含まれる場合に、欠落画像が存在すると判断する。例えば、欠落画像判断部31は、各グループにおいて(3n)番画像から(3n+2)番を減算し、減算した結果である差分画像に負の階調差が生じたグループに組合せ01が含まれると判断する。また例えば、欠落画像判断部31は、各グループにおいて(3n)番画像から(3n+2)番を減算し、減算した結果である差分画像に正の階調差と負の階調差との双方が生じたグループに組合せ11が含まれると判断する。欠落画像が存在すると欠落画像判断部31が判断した場合、欠落画像隠蔽部32は、欠落画像を以下のようにして隠蔽する。
【0123】
例えば、パターン21(
図19)のグループGP1には組合せ01が含まれるので、欠落画像判断部31は、欠落画像があると判断する。そこで、欠落画像隠蔽部32は、
図31に示すようにして、欠落画像を隠蔽する。すなわち、
図31の補正後パターンAP21に示すように、欠落画像隠蔽部32は、パターン21のグループGP1における最後の画像である6番画像をグループGP2における最初の画像に変更する。また、欠落画像隠蔽部32は、パターン21のグループGP2における最後の画像である9番画像をグループGP3における最初の画像に変更する。つまり、欠落画像隠蔽部32は、6番画像をグループGP1からグループGP2に移行させ、9番画像をグループGP2からグループGP3に移行させる。また、欠落画像隠蔽部32は、補正後パターンAP21のグループGP1に対応するレーザ番号1を形状測定の際の処理対象外とし、レーザ番号1をインクリメントしてレーザ番号2に更新する。
【0124】
欠落画像隠蔽部32の
図31に示す動作、つまり、組合せ01を含むグループが存在する場合の動作を一般化すると以下のようになる。すなわち、欠落画像隠蔽部32は、(3n+(A+B)−1)番画像を(3(n+1))番画像に変更する。また、欠落画像隠蔽部32は、レーザ番号nを形状測定の際の処理対象外とする。そして、欠落画像隠蔽部32は、レーザ番号nをインクリメントする。
【0125】
また例えば、パターン22(
図20)のグループGP1には組合せ11が含まれるので、欠落画像判断部31は、欠落画像があると判断する。そこで、欠落画像隠蔽部32は、グループGP1における出現パターンが「1,0,1」または「1,1,1」の何れであるかを判断する。ここでは、グループGP1における出現パターンは「1,0,1」であると判断される。そこで、欠落画像隠蔽部32は、
図32に示すようにして、欠落画像を隠蔽する。すなわち、
図32の補正後パターンAP22に示すように、欠落画像隠蔽部32は、パターン22のグループGP1における真ん中の画像である5番画像をグループGP1における最後の画像に変更する。また、欠落画像隠蔽部32は、パターン22のグループGP1における最後の画像である6番画像をグループGP2における最初の画像に変更する。また、欠落画像隠蔽部32は、パターン22のグループGP2における最後の画像である9番画像をグループGP3における最初の画像に変更する。つまり、欠落画像隠蔽部32は、6番画像をグループGP1からグループGP2に移行させ、9番画像をグループGP2からグループGP3に移行させる。
【0126】
欠落画像隠蔽部32の
図32に示す動作、つまり、「1,0,1」の出現パターンを含むグループが存在する場合の動作を一般化すると以下のようになる。すなわち、欠落画像隠蔽部32は、(3n+(A+B)−2)番画像を(3n+(A+B)−1)番画像に変更する。また、欠落画像隠蔽部32は、(3n+(A+B)−1)番画像を(3(n+1))番画像に変更する。
【0127】
また例えば、パターン33(
図24)のグループGP1には組合せ11が含まれるので、欠落画像判断部31は、欠落画像があると判断する。そこで、欠落画像隠蔽部32は、グループGP1における出現パターンが「1,0,1」または「1,1,1」の何れであるかを判断する。ここでは、グループGP1における出現パターンは「1,1,1」であると判断される。次いで、欠落画像隠蔽部32は、パターン33のグループGP1において、真ん中の画像である4番画像と最後の画像である6番画像とを比較し、4番画像と6番画像とが同一の画像であるか否かを判断する。ここでは、
図16に示すように、4番画像での線状レーザ光の点灯タイミングと、6番画像での線状レーザ光の点灯タイミングとが異なるため、グループGP1において、4番画像と6番画像とは異なる画像であると判断される。そこで、欠落画像隠蔽部32は、
図33に示すようにして、欠落画像を隠蔽する。すなわち、
図33の補正後パターンAP33に示すように、欠落画像隠蔽部32は、パターン33のグループGP0における最後の画像である2番画像をグループGP1における最後の画像である5番画像としてグループGP1にコピーする。また、欠落画像隠蔽部32は、パターン33のグループGP1における最後の画像である6番画像をグループGP2における最初の画像に変更する。また、欠落画像隠蔽部32は、パターン33のグループGP2における最後の画像である9番画像をグループGP3における最初の画像に変更する。つまり、欠落画像隠蔽部32は、6番画像をグループGP1からグループGP2に移行させ、9番画像をグループGP2からグループGP3に移行させる。
【0128】
欠落画像隠蔽部32の
図33に示す動作、つまり、「1,1,1」の出現パターンを含むグループが存在し、かつ、「1,1,1」の出現パターンを含むグループにおいて真ん中の画像と最後の画像とが異なる画像である場合の動作を一般化すると以下のようになる。すなわち、欠落画像隠蔽部32は、(3(n−1)+(A+B)−1)番画像を(3n+(A+B)−1)番画像としてコピーする。また、欠落画像隠蔽部32は、(3n+(A+B)−1)番画像を(3(n+1))番画像に変更する。
【0129】
また例えば、パターン4(
図17)のグループGP1には組合せ11が含まれる一方で、パターン4には欠落画像が生じていない。しかし、欠落画像判断部31は、何れかのグループに組合せ11が含まれている場合には、欠落画像が生じた場合と同様にして、欠落画像隠蔽部32に隠蔽処理を行わせる。そこで、欠落画像隠蔽部32は、パターン4(
図17)のグループGP1における出現パターンが「1,0,1」または「1,1,1」の何れであるかを判断する。ここでは、グループGP1における出現パターンは「1,0,1」であると判断される。そこで、欠落画像隠蔽部32は、
図34に示すようにして、欠落画像を隠蔽する。すなわち、
図34の補正後パターンAP4に示すように、欠落画像隠蔽部32は、パターン4のグループGP1における真ん中の画像である4番画像をグループGP1における最後の画像に変更する。また、欠落画像隠蔽部32は、パターン4のグループGP1における最後の画像である5番画像をグループGP2における最初の画像に変更する。また、欠落画像隠蔽部32は、パターン4のグループGP2における最後の画像である8番画像をグループGP3における最初の画像に変更する。つまり、欠落画像隠蔽部32は、5番画像をグループGP1からグループGP2に移行させ、8番画像をグループGP2からグループGP3に移行させる。
【0130】
また例えば、パターン41(
図25)のグループGP1には組合せ01が含まれるので、欠落画像判断部31は、欠落画像があると判断する。そこで、欠落画像隠蔽部32は、
図35に示すようにして、欠落画像を隠蔽する。すなわち、
図35の補正後パターンAP41に示すように、欠落画像隠蔽部32は、パターン41のグループGP1における真ん中の画像である5番画像と最後の画像である6番画像とをグループGP2における最初の画像と真ん中の画像とに変更する。また、欠落画像隠蔽部32は、パターン41のグループGP2における最初の画像である7番画像をグループGP2における最後の画像に変更する。また、欠落画像隠蔽部32は、パターン41のグループGP2における真ん中の画像である8番画像と最後の画像である9番画像とをグループGP3における最初の画像と真ん中の画像とに変更する。つまり、欠落画像隠蔽部32は、5番画像及び6番画像をグループGP1からグループGP2に移行させ、8番画像及び9番画像をグループGP2からグループGP3に移行させる。また、欠落画像隠蔽部32は、補正後パターンAP41のグループGP1に対応するレーザ番号1を形状測定の際の処理対象外とし、レーザ番号1をインクリメントしてレーザ番号2に更新する。
【0131】
また例えば、パターン42(
図26)のグループGP1には組合せ11が含まれるので、欠落画像判断部31は、欠落画像があると判断する。そこで、欠落画像隠蔽部32は、グループGP1における出現パターンが「1,0,1」または「1,1,1」の何れであるかを判断する。ここでは、グループGP1における出現パターンは「1,1,1」であると判断される。次いで、欠落画像隠蔽部32は、パターン42のグループGP1において、真ん中の画像である5番画像と最後の画像である6番画像とを比較し、5番画像と6番画像とが同一の画像であるか否かを判断する。ここでは、
図17に示すように、5番画像での線状レーザ光の点灯タイミングと、6番画像での線状レーザ光の点灯タイミングとが同一であるため、グループGP1において、5番画像と6番画像とは同一の画像であると判断される。そこで、欠落画像隠蔽部32は、
図36に示すようにして、欠落画像を隠蔽する。すなわち、
図36の補正後パターンAP42に示すように、欠落画像隠蔽部32は、パターン42のグループGP0における最後の画像である2番画像をグループGP1における最後の画像である4番画像としてグループGP1にコピーする。また、欠落画像隠蔽部32は、パターン42のグループGP1における真ん中の画像である5番画像と最後の画像である6番画像とをグループGP2における最初の画像と真ん中の画像とに変更する。また、欠落画像隠蔽部32は、パターン42のグループGP2における最初の画像である7番画像をグループGP2における最後の画像に変更する。また、欠落画像隠蔽部32は、パターン42のグループGP2における真ん中の画像である8番画像と最後の画像である9番画像とをグループGP3における最初の画像と真ん中の画像とに変更する。つまり、欠落画像隠蔽部32は、5番画像及び6番画像をグループGP1からグループGP2に移行させ、8番画像及び9番画像をグループGP2からグループGP3に移行させる。
【0132】
欠落画像隠蔽部32の
図36に示す動作、つまり、「1,1,1」の出現パターンを含むグループが存在し、かつ、「1,1,1」の出現パターンを含むグループにおいて真ん中の画像と最後の画像とが同一の画像である場合の動作を一般化すると以下のようになる。すなわち、欠落画像隠蔽部32は、(3(n−1)+(A+B)−1)番画像を(3n+(A+B)−1)番画像としてコピーする。また、欠落画像隠蔽部32は、(3n+(A+B)−2)番画像を(3(n+1))番画像に変更する。
【0133】
また例えば、パターン43(
図27)のグループGP1には組合せ11が含まれるので、欠落画像判断部31は、欠落画像があると判断する。そこで、欠落画像隠蔽部32は、グループGP1における出現パターンが「1,0,1」または「1,1,1」の何れであるかを判断する。ここでは、グループGP1における出現パターンは「1,0,1」であると判断される。そこで、欠落画像隠蔽部32は、
図37に示すようにして、欠落画像を隠蔽する。すなわち、
図37の補正後パターンAP43に示すように、欠落画像隠蔽部32は、パターン43のグループGP0における最後の画像である2番画像をグループGP1における最後の画像である5番画像としてグループGP1にコピーする。また、欠落画像隠蔽部32は、パターン43のグループGP1における最後の画像である6番画像をグループGP2における最初の画像に変更する。また、欠落画像隠蔽部32は、パターン43のグループGP2における最初の画像である7番画像をグループGP2における最後の画像に変更する。また、欠落画像隠蔽部32は、パターン43のグループGP2における真ん中の画像である8番画像と最後の画像である9番画像とをグループGP3における最初の画像と真ん中の画像とに変更する。つまり、欠落画像隠蔽部32は、6番画像をグループGP1からグループGP2に移行させ、8番画像及び9番画像をグループGP2からグループGP3に移行させる。
【0134】
また例えば、パターン51(
図28)のグループGP1には組合せ11が含まれるので、欠落画像判断部31は、欠落画像があると判断する。そこで、欠落画像隠蔽部32は、グループGP1における出現パターンが「1,0,1」または「1,1,1」の何れであるかを判断する。ここでは、グループGP1における出現パターンは「1,0,1」であると判断される。そこで、欠落画像隠蔽部32は、
図38に示すようにして、欠落画像を隠蔽する。すなわち、
図38の補正後パターンAP51に示すように、欠落画像隠蔽部32は、パターン51のグループGP1における真ん中の画像である5番画像をグループGP1における最後の画像に変更する。また、欠落画像隠蔽部32は、パターン51のグループGP1における最後の画像である6番画像をグループGP2における最初の画像に変更する。また、欠落画像隠蔽部32は、パターン51のグループGP2における最後の画像である9番画像をグループGP3における最初の画像に変更する。つまり、欠落画像隠蔽部32は、6番画像をグループGP1からグループGP2に移行させ、9番画像をグループGP2からグループGP3に移行させる。
【0135】
また例えば、パターン52(
図29)のグループGP1には組合せ11が含まれるので、欠落画像判断部31は、欠落画像があると判断する。そこで、欠落画像隠蔽部32は、グループGP1における出現パターンが「1,0,1」または「1,1,1」の何れであるかを判断する。ここでは、グループGP1における出現パターンは「1,0,1」であると判断される。そこで、欠落画像隠蔽部32は、
図39に示すようにして、欠落画像を隠蔽する。すなわち、
図39の補正後パターンAP52に示すように、欠落画像隠蔽部32は、パターン52のグループGP1における真ん中の画像である5番画像をグループGP1における最後の画像に変更する。また、欠落画像隠蔽部32は、パターン52のグループGP1における最後の画像である6番画像をグループGP2における最初の画像に変更する。また、欠落画像隠蔽部32は、パターン52のグループGP2における最後の画像である9番画像をグループGP3における最初の画像に変更する。つまり、欠落画像隠蔽部32は、6番画像をグループGP1からグループGP2に移行させ、9番画像をグループGP2からグループGP3に移行させる。
【0136】
また例えば、パターン53(
図30)のグループGP1には組合せ11が含まれるので、欠落画像判断部31は、欠落画像があると判断する。そこで、欠落画像隠蔽部32は、グループGP1における出現パターンが「1,0,1」または「1,1,1」の何れであるかを判断する。ここでは、グループGP1における出現パターンは「1,1,1」であると判断される。次いで、欠落画像隠蔽部32は、パターン53のグループGP1において、真ん中の画像である4番画像と最後の画像である6番画像とを比較し、4番画像と6番画像とが同一の画像であるか否かを判断する。ここでは、
図18に示すように、4番画像での線状レーザ光の点灯タイミングと、6番画像での線状レーザ光の点灯タイミングとが異なるため、グループGP1において、4番画像と6番画像とは異なる画像であると判断される。そこで、欠落画像隠蔽部32は、
図40に示すようにして、欠落画像を隠蔽する。すなわち、
図40の補正後パターンAP53に示すように、欠落画像隠蔽部32は、パターン53のグループGP0における最後の画像である2番画像をグループGP1における最後の画像である5番画像としてグループGP1にコピーする。また、欠落画像隠蔽部32は、パターン53のグループGP1における最後の画像である6番画像をグループGP2における最初の画像に変更する。また、欠落画像隠蔽部32は、パターン53のグループGP2における最後の画像である9番画像をグループGP3における最初の画像に変更する。つまり、欠落画像隠蔽部32は、6番画像をグループGP1からグループGP2に移行させ、9番画像をグループGP2からグループGP3に移行させる。
【0137】
以上のようにして、欠落画像隠蔽部32が、カメラ24により取得された一連の複数の画像が分配された複数のグループの各グループを補正する、つまり、各グループに属する画像の組を組み分け直すことで、欠落画像が隠蔽される。また、欠落画像の隠蔽とともに、ローリングシャッター方式による影響や、線状レーザ光の点灯及び消灯の繰り返し周期が(A+B)/F[秒]よりも短くまたは長くなってしまうことによる影響を隠蔽することができる。
【0138】
[実施例4]
実施例3では、一例として、A=1[フレーム],B=2[フレーム]に設定されている場合について説明した。これに対し、実施例4では、一例として、A=2[フレーム],B=2[フレーム]に設定されている場合について説明する。
【0139】
<三次元形状測定装置の動作>
図41〜
図54は、実施例4の三次元形状測定装置の動作例の説明に供する図である。
図41〜
図54には、A=2[フレーム],B=2[フレーム]に設定した場合の動作例を示す。また、
図41〜
図54において、枠内の数字「0」は「レーザ無し画像」を示し、枠内の数字「1」は「レーザ有り画像」を示す。また、
図41〜
図54において、枠上の0〜15の数字は画像番号を示す。また、
図41〜
図54において、枠内の記号「×」は「欠落画像」を示す。
【0140】
A=2[フレーム],B=2[フレーム]に設定されている場合、線状レーザ光の点灯・消灯タイミングと、カメラ24の撮影タイミングとがマッチしている場合には、カメラ24により取得される画像の出現パターンはパターン6(
図41)のようになる。すなわち、パターン6におけるグループGP0,GP1,GP2,GP3の各々に含まれる4つの画像の出現パターンは共に「1,1,0,0」となる。
【0141】
しかし、カメラ24の撮像方式にグローバルシャッター方式ではなくてローリングシャッター方式が採用される場合には、何れかのグループにおける画像の出現パターンが「1,1,1,0」となってしまうことがある。
図42に示すパターン7では、グループGP2における出現パターンが「1,1,1,0」となっており、
図43に示すパターン8では、グループGP1における出現パターンが「1,1,1,0」となっている。
【0142】
さらに、以下のように欠落画像が生じることもある。
【0143】
例えばパターン7(
図42)において4番画像が欠落した場合には、画像の出現パターンはパターン71(
図44)のようになる。A=2[フレーム],B=2[フレーム]に設定されている場合には、形状測定部25は、記憶部12に格納された一連の複数の画像を各々が4つずつの画像を含む複数のグループに分けるため、パターン71では、グループGP1における出現パターンが「1,0,0,1」となり、グループGP2における出現パターンが「1,1,0,1」となってしまう。
【0144】
また例えば、パターン7(
図42)において5番画像が欠落した場合には、画像の出現パターンはパターン72(
図45)のようになるため、パターン72では、グループGP1における出現パターンが「1,0,0,1」となり、グループGP2における出現パターンが「1,1,0,1」となってしまう。
【0145】
また例えば、パターン7(
図42)において6番画像が欠落した場合には、画像の出現パターンはパターン73(
図46)のようになるため、パターン73では、グループGP1における出現パターン及びグループGP2における出現パターンが「1,1,0,1」となってしまう。
【0146】
また例えば、パターン7(
図42)において7番画像が欠落した場合には、画像の出現パターンはパターン74(
図47)のようになるため、パターン74では、グループGP1における出現パターン及びグループGP2における出現パターンが「1,1,0,1」となってしまう。
【0147】
また例えば、パターン8(
図43)において4番画像が欠落した場合には、画像の出現パターンはパターン81(
図48)のようになるため、パターン81では、グループGP1における出現パターンが「1,1,0,1」となり、グループGP2における出現パターンが「1,0,0,1」となってしまう。
【0148】
また例えば、パターン8(
図43)において5番画像が欠落した場合には、画像の出現パターンはパターン82(
図49)のようになるため、パターン82では、グループGP1における出現パターンが「1,1,0,1」となり、グループGP2における出現パターンが「1,0,0,1」となってしまう。
【0149】
また例えば、パターン8(
図43)において6番画像が欠落した場合には、画像の出現パターンはパターン83(
図50)のようになるため、パターン83では、グループGP1における出現パターンが「1,1,0,1」となり、グループGP2における出現パターンが「1,0,0,1」となってしまう。
【0150】
また例えば、パターン8(
図43)において7番画像が欠落した場合には、画像の出現パターンはパターン84(
図51)のようになるため、パターン84では、グループGP1における出現パターンが「1,1,1,1」となり、グループGP2における出現パターンが「1,0,0,1」となってしまう。
【0151】
よって、A=2[フレーム],B=2[フレーム]に設定されていて、かつ、線状レーザ光の点灯及び消灯の繰り返し周期(A+B)/F[秒]のズレが所定の値以内に収まっている場合には、各グループにおける画像の出現パターンは、「1,1,0,0」(gパターン),「1,1,1,0」(hパターン),「1,0,0,1」(iパターン),「1,1,0,1」(jパターン),「1,1,1,1」(kパターン)の5つのパターンに限定される。また、これら5パターンのうち、何れかのグループにiパターン、jパターン、または、kパターンの何れかが生じた場合は、そもそもレーザ番号の特定が困難になってしまうか、または、レーザ番号の設定に誤りが生じてしまうことがある。また、これら5パターンのうち、欠落画像が生じた場合のパターンは、iパターン、jパターン、及び、kパターンの4つのパターンに限定される。
【0152】
そこで、欠落画像判断部31は、レーザ有り画像とレーザ無し画像との出現パターンに基づいて、カメラ24により取得された複数の画像から欠落した画像があるか否かを判断する。
【0153】
また、パターンg〜kの各パターンにおける最初の画像(つまり、(4n)番画像)と最後の画像(つまり、(4n+3)番画像=(4n+((A+B)−1))番画像)に着目すると、gパターン及びhパターンでは、最初の画像は「1」、最後の画像は「0」となっているので、組合せ10になっている。また、iパターン、jパターン、及び、kパターンでは、最初の画像は「1」、最後の画像は「1」となっているので、組合せ11になっている。
【0154】
そこで、欠落画像判断部31は、各々が4つずつの画像を含む複数のグループの何れかのグループに、組合せ11が含まれる場合に、欠落画像が存在すると判断する。欠落画像が存在すると欠落画像判断部31が判断した場合、欠落画像隠蔽部32は、欠落画像を以下のようにして隠蔽する。
【0155】
例えば、パターン71(
図44)のグループGP1には組合せ11が含まれるので、欠落画像判断部31は、欠落画像があると判断する。そこで、欠落画像隠蔽部32は、
図52に示すようにして、欠落画像を隠蔽する。すなわち、
図52の補正後パターンAP71に示すように、欠落画像隠蔽部32は、パターン71のグループGP1における最後の画像である8番画像をグループGP2における最初の画像に変更する。また、欠落画像隠蔽部32は、パターン71のグループGP2における最後の画像である12番画像をグループGP3における最初の画像に変更する。つまり、欠落画像隠蔽部32は、8番画像をグループGP1からグループGP2に移行させ、12番画像をグループGP2からグループGP3に移行させる。
【0156】
また例えば、パターン72(
図45)のグループGP1には組合せ11が含まれるので、欠落画像判断部31は、欠落画像があると判断する。そこで、欠落画像隠蔽部32は、
図53に示すようにして、欠落画像を隠蔽する。すなわち、
図53の補正後パターンAP72に示すように、欠落画像隠蔽部32は、パターン72のグループGP1における最後の画像である8番画像をグループGP2における最初の画像に変更する。また、欠落画像隠蔽部32は、パターン72のグループGP2における最後の画像である12番画像をグループGP3における最初の画像に変更する。つまり、欠落画像隠蔽部32は、8番画像をグループGP1からグループGP2に移行させ、12番画像をグループGP2からグループGP3に移行させる。
【0157】
また例えば、パターン84(
図51)のグループGP1には組合せ11が含まれるので、欠落画像判断部31は、欠落画像があると判断する。そこで、欠落画像隠蔽部32は、
図54に示すようにして、欠落画像を隠蔽する。すなわち、
図54の補正後パターンAP84に示すように、欠落画像隠蔽部32は、パターン84のグループGP0における最後の画像である3番画像をグループGP1における最後の画像である7番画像としてグループGP1にコピーする。また、欠落画像隠蔽部32は、パターン84のグループGP1における最後の画像である8番画像をグループGP2における最初の画像に変更する。また、欠落画像隠蔽部32は、パターン84のグループGP2における最後の画像である12番画像をグループGP3における最初の画像に変更する。つまり、欠落画像隠蔽部32は、8番画像をグループGP1からグループGP2に移行させ、12番画像をグループGP2からグループGP3に移行させる。
【0158】
このようにして、A=2[フレーム],B=2[フレーム]に設定されている場合でも、A=1[フレーム],B=2[フレーム]に設定されている場合と同様にして、欠落画像隠蔽部32が、カメラ24により取得された一連の複数の画像が分配された複数のグループの各グループを補正する、つまり、各グループに属する画像の組を組み分け直すことで、欠落画像が隠蔽される。
【0159】
なお、実施例4の三次元形状測定装置の処理は、A=1[フレーム],B=2[フレーム]に設定した場合の処理例である
図13(実施例3)を、A=2[フレーム],B=2[フレーム]に設定した場合に適合させて行われる。例えば、実施例4では、
図13のステップST21において、形状測定部25は、(4n)番画像、(4n+1)番画像、(4n+2)番画像、(4n+3)番画像を記憶部12から読み出す。また例えば、実施例4では、
図13のステップST23において、形状測定部25は、(4n)番画像と(4n+2)番画像とをマージする。また例えば、実施例4では、
図13のステップST25において、形状測定部25は、マージ画像から(4n+3)番画像を減算することによりレーザ画像を取得する。
【0160】
以上のように、実施例3及び実施例4では、三次元形状測定装置2は、欠落画像判断部31を有する。欠落画像判断部31は、レーザ有り画像とレーザ無し画像との出現パターンに基づいて、欠落画像があるか否かを判断する。
【0161】
例えば、欠落画像判断部31は、カメラ24により取得され記憶部12に格納された複数の画像を、第一グループ(例えばグループGP1)と、第一グループに後続する第二グループ(例えばグループGP2)とを含む複数のグループに分ける。そして、欠落画像判断部31は、それらの複数のグループの何れかのグループにおける最初の画像及び最後の画像が、レーザ有り画像またはレーザ無し画像であるか否かに基づいて欠落画像があるか否かを判断する。
【0162】
こうすることで、欠落画像があるか否かを、正確かつ迅速に判断することができる。
【0163】
また、実施例3及び実施例4では、三次元形状測定装置2は、欠落画像隠蔽部32を有する。欠落画像隠蔽部32は、欠落画像判断部31により欠落画像があると判断されたときに、第一グループ(例えばグループGP1)に含まれている画像を第二グループ(例えばグループGP2)に移行させることにより欠落画像を隠蔽する。
【0164】
こうすることで、効率良く欠落画像を隠蔽することができる。
【0165】
[実施例5]
実施例1〜4では、A=1[フレーム],B=2[フレーム]に設定した場合、または、A=2[フレーム],B=2[フレーム]に設定した場合について説明した。しかし、Aフレームの値は「1」または「2」に限定されず、Bフレームの値は「2」に限定されない。Aフレーム及びBフレームの値は、以下の条件1〜3を満足すれば足りる。
条件1)A>0
条件2)B≧2
条件3)(A+B)が3以上の整数
【0166】
また、以下の条件4を満たすと、より好ましい。但し、条件4において、「N」は所定時間C(
図8)におけるカメラ24の撮影回数、「D」は(A+B)の誤差[%]を表す。
条件4)N×(A+B)×D≦F
【0167】
また、カメラ24により取得された一連の複数の画像を複数のグループに分配する際には、以下の式(1)に従って、1グループが含む画像の数、つまり、1グループあたりの画像の数を決定すると良い。
1グループあたりの画像の数=(A+B)に最も近い整数 …式(1)
【0168】
[実施例6]
記憶部12は、ハードウェアとして、例えば、メモリにより実現される。メモリの一例として、SDRAM(Synchronous Dynamic Random Access Memory)等のRAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ等が挙げられる。
【0169】
読取制御部14、測定制御部23、形状測定部25、欠落画像判断部31、欠落画像隠蔽部32、及び、歪み補正部15は、ハードウェアとして、例えばプロセッサにより実現することができる。プロセッサの一例として、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)等が挙げられる。また、読取制御部14、測定制御部23、形状測定部25、欠落画像判断部31、欠落画像隠蔽部32、及び、歪み補正部15は、プロセッサと周辺回路とを含むLSI(Large Scale Integrated circuit)によって実現されても良い。さらに、読取制御部14、測定制御部23、形状測定部25、欠落画像判断部31、欠落画像隠蔽部32、及び、歪み補正部15は、GPU(Graphics Processing Unit)、ASIC(Application Specific Integrated Circuit)等を用いて実現されても良い。
【0170】
三次元形状測定装置2での上記説明における各処理の全部または一部は、各処理に対応するプログラムを三次元形状測定装置2が有するプロセッサに実行させることによって実現しても良い。例えば、上記説明における各処理に対応するプログラムがメモリに記憶され、プログラムがプロセッサによってメモリから読み出されて実行されても良い。また、プログラムは、任意のネットワークを介してオーバヘッド型スキャナ1に接続されたプログラムサーバに記憶され、そのプログラムサーバからオーバヘッド型スキャナ1にダウンロードされて実行されたり、オーバヘッド型スキャナ1が読み取り可能な記録媒体に記憶され、その記録媒体から読み出されて実行されても良い。オーバヘッド型スキャナ1が読み取り可能な記録媒体には、例えば、メモリカード、USBメモリ、SDカード、フレキシブルディスク、光磁気ディスク、CD−ROM、DVD、及び、Blu−ray(登録商標)ディスク等の可搬の記憶媒体が含まれる。また、プログラムは、任意の言語や任意の記述方法にて記述されたデータ処理方法であり、ソースコードやバイナリコード等の形式を問わない。また、プログラムは必ずしも単一的に構成されるものに限られず、複数のモジュールや複数のライブラリとして分散構成されるものや、OSに代表される別個のプログラムと協働してその機能を達成するものも含む。
【0171】
三次元形状測定装置2の分散・統合の具体的形態は図示するものに限られず、三次元形状測定装置2の全部または一部を、各種の付加等に応じて、または、機能負荷に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。