(57)【要約】【課題】本発明は、被写体の形状や大きさに適した範囲に、検出範囲を制限することで、検出に要する時間やコストを低減する３次元形状検出装置を提供する。【解決手段】被写体ＫＡを載置する基台と、明と暗とを交互に並べたパターン光を被写体ＫＡに投影する投影手段と、パターン光が投影されている被写体ＫＡを撮像する撮像手段と、撮像手段により撮像された撮像画像に含まれるパターン光境界を検出して被写体ＫＡの３次元形状を算出する算出手段と、被写体ＫＡの概略寸法を測定する測定手段と、概略寸法に基づいて、撮像画像に含まれるパターン光境界を検出する検出範囲を限定する検出範囲限定手段を備える【選択図】図１
2007256116.tif 000002
【特許請求の範囲】
【請求項１】
被写体を載置する基台と、
明と暗とを交互に並べたパターン光を前記被写体に投影する投影手段と、
前記パターン光が投影されている前記被写体を撮像する撮像手段と、
前記撮像手段により撮像された撮像画像に含まれるパターン光境界を検出して前記被写体の３次元形状を算出する算出手段と、
前記被写体の概略寸法を測定する測定手段と、
前記概略寸法に基づいて、前記撮像画像に含まれるパターン光境界を検出する検出範囲を限定する検出範囲限定手段を備える３次元形状検出装置。
【請求項２】
前記測定手段は、前記撮像手段の撮像位置を基準とした前記被写体の奥行き寸法、幅寸法および高さ寸法の少なくとも一つを測定する請求項１記載の３次元形状検出装置。
【請求項３】
前記測定手段は、所定の目盛りを有する測定部材により、前記奥行き寸法、前記幅寸法および前記高さ寸法の少なくとも一つを測定する請求項２記載の３次元形状検出装置。
【請求項４】
前記測定部材は、前記基台と略平行に設置され、前記所定の目盛りとして大きさの異なる複数の円からなる同心円を有する請求項３記載の３次元形状検出装置。
【請求項５】
前記測定手段は、前記同心円を構成する複数の円の内、前記被写体により隠された円の個数により、前記奥行き寸法を測定する請求項４記載の３次元形状検出装置。
【請求項６】
前記測定部材は、前記基台に略垂直に設置され、前記所定の目盛りとして複数の縦ラインを有する請求項３に記載の３次元形状検出装置。
【請求項７】
前記測定手段は、前記複数の縦ラインの内、前記被写体により隠された縦ラインの個数により、前記幅寸法を測定する請求項６記載の３次元形状検出装置。
【請求項８】
前記測定部材は、前記基台に略垂直に設置され、前記所定の目盛りとして複数の横ラインを有する請求項３に記載の３次元形状検出装置。
【請求項９】
前記測定手段は、前記複数の横ラインの内、前記被写体により隠された横ラインの個数により、前記高さ寸法を測定する請求項８記載の３次元形状検出装置。
【請求項１０】
前記測定部材は、前記被写体の周囲を周回するように設置され、前記目盛りとして前記被写体を周回する複数のラインを有し、前記複数のラインの少なくとも一つは階段状にライン幅が変化する請求項３記載の３次元形状検出装置。
【請求項１１】
前記測定手段は、周期的に変化する模様を有した前記測定部材を前記被写体の背景として撮像した撮像画像を複数の分割領域に分割し、前記分割領域毎に周波数変換し、前記周波数変換の結果に基づいて、前記奥行き寸法、前記幅寸法、前記高さ寸法の少なくとも一つを測定する請求項２記載の３次元形状検出装置。
【請求項１２】
前記測定手段は、前記周波数変換した結果において、最大頻度を持つ周波数が所定値以上の変化を有する範囲を前記被写体の前記奥行き寸法、前記幅寸法および前記高さ寸法の少なくとも一つとする請求項１１記載の３次元形状検出装置。
【請求項１３】
前記基台は、回転可能である請求項１から１２のいずれか記載の３次元形状検出装置。
【請求項１４】
前記検出範囲限定手段は、前記奥行き寸法、前記幅寸法および前記高さ寸法の少なくとも一つを用いて、前記撮像画像の高さおよび幅の少なくとも一方について前記検出範囲を限定する請求項１から１３のいずれか記載の３次元形状検出装置。
【請求項１５】
前記検出範囲限定手段は、前記高さ寸法に所定のマージンを加味した高さと、前記幅寸法に所定のマージンを加味した幅により定まる範囲を、前記検出範囲として限定する請求項１４記載の３次元形状検出装置。
【請求項１６】
被写体を載置する基台と、
明と暗とを交互に並べたパターン光を前記被写体に投影する投影手段と、
前記パターン光が投影されている前記被写体を撮像する撮像手段と、
前記撮像手段により撮像された撮像画像に含まれるパターン光境界を検出して前記被写体の３次元形状を算出する算出手段と、
外部から設定もしくは予め登録された前記被写体の概略寸法に基づいて、前記撮像画像に含まれるパターン光境界を検出する検出範囲を限定する検出範囲限定手段を備える３次元形状検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、立体などの被写体の３次元形状を算出する３次元画像検出装置に関し、更に詳しくは、３次元形状の算出における計測範囲を限定する３次元画像検出装置に関するものである。
【背景技術】
【０００２】
従来、対象物体である被写体に投影手段からスリット光やスポット光などのパターン光を投光して、そのパターン光が投光された被写体を撮像手段によって撮像し、その撮像された画像から検出されるパターン光の軌跡に基づいて、被写体の３次元形状を検出する３次元形状検出装置が知られている。
【０００３】
例えば、回転するターンテーブルに載せられた被写体に対して、パターン光を照射しながら、被写体を撮像する。この撮像を被写体の角度を変えながら行う。撮像手段からみて異なる角度で複数の撮像がされることで、異なる角度の撮像画像が得られる。この複数の撮像画像に含まれるパターン光境界を検出することにより、被写体の３次元形状が検出を行う（例えば、特許文献１参照）。
【非特許文献１】特開２００５−２９３０７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、このような３次元形状検出装置は、様々な形状や大きさの被写体の３次元形状を測定できることが望まれており、従来の３次元形状検出装置においては、撮像手段で撮像した画像の領域全体を走査してパターン光境界の検出を行っている。
【０００５】
そのため、パターン光境界を検出する範囲よりも小さい被写体の３次元形状を測定する場合であっても、撮像手段で撮像した画像の領域全体を走査してしまう。
【０００６】
このように、従来の３次元形状検出装置では、被写体が小さい場合に本来走査する必要がない画像領域まで３次元計測の検出範囲としていたため、被写体によっては、不必要に３次元形状の計算コストや測定時間をかけてしまうという問題がある。
【０００７】
そこで、本発明は、上記課題に鑑み、被写体の形状や大きさに適した範囲に、パターン光境界の検出範囲を制限することで、検出に要する時間や計算コストを低減する３次元形状検出装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために請求項１記載の発明は、被写体を載置する基台と、明と暗とを交互に並べたパターン光を被写体に投影する投影手段と、パターン光が投影されている被写体を撮像する撮像手段と、撮像手段により撮像された撮像画像に含まれるパターン光境界を検出して被写体の３次元形状を算出する算出手段と、被写体の概略寸法を測定する測定手段と、概略寸法に基づいて、撮像画像に含まれるパターン光境界を検出する検出範囲を限定する検出範囲限定手段を備える構成とした。
【０００９】
請求項２に記載の発明は、請求項１に記載の発明であって、測定手段は、撮像手段の撮像位置を基準とした被写体の奥行き寸法、幅寸法および高さ寸法の少なくとも一つを測定することを特徴とする。
【００１０】
請求項３に記載の発明は、請求項１又は２に記載の発明であって、測定手段は、所定の目盛りを有する測定部材により、奥行き寸法、幅寸法および高さ寸法の少なくとも一つを測定することを特徴とする。
【００１１】
請求項４に記載の発明は、請求項３に記載の発明であって、測定部材は、基台と略平行に設置され、所定の目盛りとして大きさの異なる複数の円からなる同心円を有することを特徴とする。
【００１２】
請求項５に記載の発明は、請求項４に記載の発明であって、測定手段は、同心円を構成する複数の円の内、被写体により隠された円の個数により、奥行き寸法を測定することを特徴とする。
【００１３】
請求項６に記載の発明は、請求項３に記載の発明であって、測定部材は、基台に略垂直に設置され、所定の目盛りとして複数の縦ラインを有することを特徴とする。
【００１４】
請求項７に記載の発明は、請求項６に記載の発明であって、測定手段は、複数の縦ラインの内、被写体により隠された縦ラインの個数により、幅寸法を測定することを特徴とする。
【００１５】
請求項８に記載の発明は、請求項３に記載の発明であって、測定部材は、基台に略垂直に設置され、所定の目盛りとして複数の横ラインを有することを特徴とする。
【００１６】
請求項９に記載の発明は、請求項８に記載の発明であって、測定手段は、複数の横ラインの内、被写体により隠された横ラインの個数により、高さ寸法を測定することを特徴とする。
【００１７】
請求項１０に記載の発明は、請求項３に記載の発明であって、測定部材は、被写体の周囲を周回するように設置され、目盛りとして被写体を周回する複数のラインを有し、複数のラインの少なくとも一つは階段状にライン幅が変化することを特徴とする。
【００１８】
請求項１１に記載の発明は、請求項２に記載の発明であって、測定手段は、周期的に変化する模様を有した測定部材を被写体の背景として撮像画像を複数の分割領域に分割し、分割領域毎に周波数変換し、周波数変換の結果に基づいて、奥行き寸法、幅寸法、高さ寸法の少なくとも一つを測定することを特徴とする。
【００１９】
請求項１２に記載の発明は、請求項１１に記載の発明であって、測定手段は、周波数変換した結果において、最大頻度を持つ周波数が所定値以上の変化を有する範囲を被写体の奥行き寸法、幅寸法および高さ寸法の少なくとも一つとすることを特徴とする。
【００２０】
請求項１３に記載の発明は、請求項１から１２のいずれか記載の発明であって、基台は、回転可能であることを特徴とする。
【００２１】
請求項１４に記載の発明は、請求項１から１３のいずれか記載の発明であって、検出範囲限定手段は、奥行き寸法、幅寸法および高さ寸法の少なくとも一つを用いて、撮像画像の高さおよび幅の少なくとも一方について検出範囲を限定することを特徴とする。
【００２２】
請求項１５に記載の発明は、請求項１４に記載の発明であって、検出範囲限定手段は、高さ寸法に所定のマージンを加味した高さと、幅寸法に所定のマージンを加味した幅により定まる範囲を、検出範囲として限定することを特徴とする。
【００２３】
請求項１６に記載の発明は、被写体を載置する基台と、明と暗とを交互に並べたパターン光を被写体に投影する投影手段と、パターン光が投影されている被写体を撮像する撮像手段と、撮像手段により撮像された撮像画像に含まれるパターン光境界を検出して被写体の３次元形状を算出する算出手段と、外部から設定もしくは予め登録された被写体の概略寸法に基づいて、撮像画像に含まれるパターン光境界を検出する検出範囲を限定する検出範囲限定手段を備えることを特徴とする。
【発明の効果】
【００２４】
本発明によれば、撮像画像に含まれるパターン光境界の検出範囲を制限できるため、３次元形状の算出に要する処理時間が短縮できる。また、処理に要するコストも削減できる。
【００２５】
また、検出範囲は、予め測定された被写体の概略寸法により制限されるので、検出範囲は、被写体の形状を損なってまで制限されることはなく、３次元形状の検出誤りも生じない。当然ながら、被写体の概略寸法に基づいて検出範囲が制限されるので、検出範囲外に被写体の一部が残ることも無く、３次元形状の検出誤りも生じにくい。
【００２６】
請求項２に記載の発明によれば、検出範囲を限定するために用いられる概略寸法は、被写体の奥行き寸法、幅寸法、高さ寸法の少なくとも一つに基づいて定められる。このため、被写体の概略寸法が、容易かつ正確に測定される。
【００２７】
請求項３に記載の発明によれば、目盛りを備えた測定部材により被写体の概略寸法が測定される。このため、概略寸法の測定が容易となる。
【００２８】
請求項４に記載の発明によれば、目盛りが大きさの異なる複数の円からなる同心円で構成されるので、被写体の奥行き寸法、幅寸法の少なくとも一つを容易に測定できる。
【００２９】
請求項５に記載の発明によれば、被写体により隠された円の個数により、奥行き寸法および幅寸法の少なくとも一つが容易に測定される。このとき、隠された個数と概略寸法との演算式や対比表などにより、容易且つ自動で概略寸法が測定される。
【００３０】
請求項６に記載の発明によれば、目盛りが複数の縦ラインで構成されるので、幅寸法が容易に測定できる。
【００３１】
請求項７に記載の発明によれば、被写体により隠された縦ラインの個数と、幅寸法との演算式や対比表などにより、容易且つ自動で概略寸法が測定される。縦ラインによる測定部材という簡易な部材により、測定にかかわるコストも低減する。
【００３２】
請求項８に記載の発明によれば、目盛りが複数の横ラインで構成されるので、被写体の高さ寸法が容易に測定できる。
【００３３】
請求項９に記載の発明によれば、被写体により隠された横ラインの個数と、高さ寸法との演算式や対比表などにより、被写体の高さ寸法が容易且つ自動で測定できる。また、横ラインを設けた測定部材という簡易な部材により、測定にかかわるコストも低減できる。
【００３４】
請求項１０に記載の発明によれば、測定部材を被写体の周囲を周回させることで、高さ寸法と幅寸法（もしくは奥行き寸法）を一度に測定できる。また、被写体に凸部がある場合でも、これを含めて概略寸法が測定されるので、概略寸法に基づく検出範囲の限定において、範囲漏れが生じない。
【００３５】
請求項１１に記載の発明によれば、撮像された画像が周波数成分に変換された上で、背景と被写体の境界が検出されて、概略寸法が測定される。このため、３次元形状の算出のための撮像と重複して利用できるので、作業コストが低減する。また、撮像画像に基づいて概略寸法が測定されるので、測定される概略寸法の精度が高まる。
【００３６】
請求項１２に記載の発明によれば、周波数成分の内、最大頻度で現れる周波数成分の値の変化に基づいて境界を検出できるので、概略寸法の測定精度が高い。
【００３７】
請求項１３に記載の発明によれば、基台が回転することで、複数の角度からの被写体の撮像が可能となる。これにより、３次元形状の検出が可能となる。
【００３８】
請求項１４に記載の発明によれば、不要な範囲でのパターン光検出が不要となり、パターン光検出に要する時間、コストが低減する。
【００３９】
請求項１５に記載の発明によれば、概略寸法に一定のマージンを加えて、検出範囲を限定するので、概略寸法の測定にエラーがある場合でも、３次元形状の検出において検出漏れが生じにくい。よって、作業時間を低減しつつも、検出漏れを最小化できる。
【００４０】
請求項１６に記載の発明によれば、測定部材を用いて測定された概略寸法が、ユーザーにより設定されることで、ユーザーインターフェースの高い装置を実現できる。特に、概略寸法の測定にかかわるプロセスを削減したい場合には、有効である。
【発明を実施するための最良の形態】
【００４１】
以下、図面を用いて本発明の実施の形態について説明する。
【００４２】
（第１実施形態）
図１は、本第１実施形態における３次元形状検出装置の斜視図である。
【００４３】
３次元形状検出装置１０は、明と暗とを交互に並べてなるストライプ状のパターン光を被写体ＫＡ（物体）へ投影して被写体ＫＡを撮像し、その撮像結果に基づき、被写体ＫＡの３次元形状を算出する処理を行うように設計されている。３次元形状の算出にあたっては、３次元情報および表面色情報をコンピュータによって取得する信号処理が行われる。
【００４４】
この３次元形状検出装置１０は、被写体ＫＡとの間における予定外の相対変位にもかかわらず、被写体ＫＡの３次元形状情報と表面色情報とを画素の位置に関して互いに正確にマッチングするように被写体ＫＡを撮像するように設計されている。
【００４５】
まず、図１，図２を用いて、３次元形状検出装置１０の外部構成について説明する。
【００４６】
図１，図２に示すように、３次元形状検出装置１０は、測定ヘッドＭＨと、台座部ＨＤとを含むように構成されている。
【００４７】
測定ヘッドＭＨは、被写体ＫＡを光学的に撮像し、その撮像結果に基づいて被写体ＫＡの３次元形状および表面色を測定するために設けられている。台座部ＨＤは、測定ヘッドＭＨ及び被写体ＫＡを載置可能に構成されており、一端の領域に測定ヘッドＭＨを装着する測定ヘッド装着部を設けると共に、他端に被写体ＫＡを載置する載置台としての回転テーブル部ＲＴを設けている。回転テーブル部ＲＴは基台の１例である。回転テーブル部ＲＴは、測定ヘッドＭＨに対して被写体ＫＡを回転させ、所定の回転角度毎に、測定ヘッドＭＨは、被写体ＫＡを撮像する。
【００４８】
これにより、被写体ＫＡの外面の全体領域を複数の部分領域に分割して撮像することが可能になる。
【００４９】
回転テーブル部ＲＴによる所定の回転角度毎に撮像された被写体ＫＡの各部分領域ごとの撮像画像は、１つのステッチ画像に結合される。同じ被写体ＫＡについて取得された表面色情報がそのステッチ画像にマッピングされて、被写体ＫＡについてのステッチテクスチャが生成される。
【００５０】
図１に示されるように、測定ヘッドＭＨは、被写体ＫＡにパターン光を投影するための投影手段としての投影部１２と、被写体ＫＡを撮像するための撮像手段としての撮像部１４と、被写体ＫＡの３次元情報および表面色情報の取得とを行うために信号処理を行う処理部１６とを備えている。これら投影部１２、撮像部１４および処理部１６は、測定ヘッドＭＨの、略直方体状を成すケーシング２０に装着されている。
【００５１】
同じく、図１に示されるように、ケーシング２０には、鏡筒２４とフラッシュ２６とが、それぞれが部分的にケーシング２０の正面において露出する姿勢で装着されている。ケーシング２０には、さらに、撮像部１４の一部である撮像光学系３０が装着されている。このとき、レンズの一部がケーシング２０の正面において露出する姿勢で、撮像光学系３０が装着されている。撮像光学系３０は、露出部分であるレンズの一部により、被写体ＫＡを表す画像光を受光する。
【００５２】
鏡筒２４は、図１に示すように、ケーシング２０の正面から突出しており、その内部において、図６に示すように、投影部１２の一部である投影光学系３２を収容している。投影光学系３２は、複数枚の投影レンズ３４と絞り３６とを含んでいる。
【００５３】
鏡筒２４は、投影光学系３２を、焦点調節のために全体的に移動可能である状態で保持し、さらに、この鏡筒２４は、投影光学系３２を損傷から保護している。鏡筒２４の露出端面から、複数枚の投影レンズ３４のうち最も外側に位置するものが露出している。投影光学系３２は、その最も外側の投影レンズ３４において、被写体ＫＡに向かってパターン光を投影する。
【００５４】
フラッシュ２６は、不足光量を補充するために発光する光源であり、例えば、キセノンガスが充填された放電管を用いて構成されている。したがって、このフラッシュ２６は、ケーシング２０に内蔵されているコンデンサ（図示しない）の放電により繰り返し使用することができる。
【００５５】
ところで、回転テーブル１８４は、上述のように被写体ＫＡを回転させる機能のほか、第１測定部材として機能する。すなわち、被写体ＫＡの概略寸法を測定するための目盛り４ａが所定のパターンとして回転テーブル１８４上に形成されている。この目盛り４ａは、中心を同一とする大きさの異なる複数の円からなる。すなわち、同心円である。この同心円は、回転テーブル１８４の回転中心にその中心をもつ。また、回転テーブル１８４の回転中心から周辺部にかけて小さな円から順次配置される構成をとる。ここでは、この同心円を構成する円同士の間隔を同一とするが、これに限られるものではない。
【００５６】
なお、本第１実施形態においては、目盛り４ａを同心円で形成するようにしているが、複数の大きさの異なる四角形を回転テーブル１８４の回転中心から周辺部にかけて小さな四角形から順次配置される構成をとるようにしてもよい。また、目盛り４ａは回転テーブル１８４上に形成されたものとしているが、回転テーブル１８４上に載置できるようなシート状の部材上に形成したものであってもよい。すなわち、第１測定部材としての機能を回転テーブル１８４に持たせるのではなく、目盛り４ａが印刷等により形成されたシート状の部材を第１測定部材とするのである。
【００５７】
また、回転テーブル部ＲＴの基端部には、所定のパターンが形成された第２測定部材として機能する平面板３ａを立設させている。この平面板３ａは、回転テーブル１８４面と略垂直に配置されており、回転テーブル１８４面に略水平に複数の横ラインの目盛り４ｂが形成されている。これらの複数の横ラインの目盛り４ｂは等間隔に配置される。また、平面板３ａは、撮像部１４の撮像領域と同一或いはこの撮像領域よりも大きい外形をなす。したがって、被写体ＫＡが回転テーブル１８４に載置されていないときに撮像部１４によって撮像された撮像画像は、その全体に目盛り４ｂが撮像される。横ラインの目盛は等間隔に配置されるが、これに限られるものではない。
【００５８】
本第１実施形態における３次元形状検出装置は、これらの目盛り４ａ，４ｂを用いることにより撮像部１４によって撮像された撮像画像に含まれるパターン光境界を検出する範囲を限定するようにしている。この点追って詳細に説明する。
【００５９】
図３（ａ）は、本発明の第１実施形態における３次元形状検出装置の側面図であり、図３（ｂ）は、本発明の第１実施形態における３次元形状検出装置の背面図である。図４は、本発明の第１実施形態における測定ヘッドホルダとの取り付け構造を説明するための部分断面背面である。図５は、本発明の第１実施形態における回転テーブル部の背面遮断図である。図６は、本発明の第１実施形態における測定ヘッドの内部構成を示す平面断面図である。図７は、本発明の第１実施形態における投影部を拡大して示す平面図である。
【００６０】
図１に示すように、ケーシング２０には、それの上面において、レリーズボタン４０が装着されている。また、図３（ｂ）に示すように、ケーシング２０の背面には、モード切り替えスイッチ４２（図３（ｂ）に示す例においては、３個のボタンを有する。）と、選択ボタンである４方向カーソルキー（十字キー）４３と、モニタＬＣＤ４４とが装着されている。このモード切り替えスイッチ４２および４方向カーソルキー４３はそれぞれ、ファンクションボタンの一例を構成する。
【００６１】
レリーズボタン４０は、３次元形状検出装置１０を作動させるためにユーザーによって操作される。このレリーズボタン４０は、ユーザーの操作状態（押下状態）が「半押し状態」である場合と「全押し状態」である場合とで異なる指令を発令できる２段階の押しボタン式のスイッチによって構成されている。レリーズボタン４０の操作状態は処理部１６によって監視される。処理部１６によって「半押し状態」が検出されれば、よく知られたオートフォーカス（ＡＦ）および自動露出（ＡＦ）の機能が起動し、ピント、絞りおよびシャッタスピードが自動的に調節される。これに対し、処理部１６によって「全押し状態」が検出されれば、撮像等が行われる。
【００６２】
モード切り替えスイッチ４２は、３次元形状検出装置１０の作動モードを、後述の３次元測定モード（図３（ｂ）において「３Ｄ」で示す。）、校正モード（図３（ｂ）において「Ｃ」で示す。）およびオフモード（図３（ｂ）において「ＯＦＦ」で示す。）を含む複数種類のモードのいずれかとして設定するためにユーザーによって操作される。このモード切り替えスイッチ４２の操作状態は処理部１６によって監視されており、モード切り替えスイッチ４２の操作状態が処理部１６によって検出されると、その検出された操作状態に対応するモードでの処理が３次元形状検出装置１０において行われる。
【００６３】
モニタＬＣＤ４４は、液晶ディスプレイ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）を用いて構成されており、処理部１６から画像信号を受けて、画像をユーザーに表示する。このモニタＬＣＤ４４は、例えば、被写体ＫＡの３次元形状の検出結果を表す画像（立体画像）等を表示する。
【００６４】
図３に示すように、ケーシング２０には、さらに、ＲＦ（無線）インタフェイスとしてのアンテナ５０が装着されている。アンテナ５０は、図６に示すように、ＲＦドライバ５２に接続されている。このアンテナ５０は、被写体ＫＡを立体画像として表すデータ等を、ＲＦドライバ５２を介して、図示しない外部インタフェイスに無線によって送信する。
【００６５】
ここで、図１および図４を参照することにより、測定ヘッドＭＨを台座部ＨＤに着脱可能に装着する構造を説明する。
【００６６】
測定ヘッドＭＨは、台座部ＨＤの一端の上面に機械的に係合することにより、その台座部ＨＤに装着される。その係合を実現するために、測定ヘッドＭＨは、図４に示すように、台座部ＨＤとの係合部である下端部にヘッド沈座部１５０が形成されている。このヘッド沈座部１５０は、第１および第２の係合爪１５２，１５４を一対の雄側係合部として有している。
【００６７】
図４に示すように、それら第１および第２の係合爪１５２，１５４は、測定ヘッドＭＨの横方向、すなわち、台座部ＨＤの幅方向に互いに隔たる一対の位置において、それぞれ測定ヘッドＭＨの前後方向、すなわち、台座部ＨＤの長さ方向に延びるように形成されている。第１実施形態においては、測定ヘッドＭＨが台座部ＨＤにできる限り強固に固定されるようにするために、第１および第２の係合爪１５２，１５４間の距離ができる限り長くなるように、第１および第２の係合爪１５２、１５４の各位置が選定されている。
【００６８】
図４に示すように、台座部ＨＤには、ヘッド沈座部１５０との機械的係合によって、ヘッド沈座部１５０を固定的に受容するヘッド受容部１６０が形成されている。このヘッド受容部１６０は、ヘッド沈座部１５０が嵌り入るヘッドベース沈座空隙１６２を備え、さらに、測定ヘッドＭＨの第１および第２の係合爪１５２，１５４のそれぞれに係合する第１および第２の爪突き当て部１６４、１６６を一対の雌側係合部として備えている。
【００６９】
第１の爪突き当て部１６４は、対応する第１の係合爪１５２に係合して、測定ヘッドＭＨが、台座部ＨＤから上面に離脱することを阻止する固定爪突き当て部である。一方、第２の爪突き当て部１６６は、（ａ）対応する第２の係合爪１５４に係合して、測定ヘッドＭＨが、台座部ＨＤから上面に直角な方向に離脱することを阻止する係合位置と、（ｂ）対応する第２の係合爪１５４から離脱して、測定ヘッドＭＨが、台座部ＨＤから上面に直角な方向に離脱することを許可する解放位置とに変位可能な可動爪突き当て部である。
【００７０】
第２の爪突き当て部１６６の一例は、台座部ＨＤの長さ方向（台座部ＨＤに対する測定ヘッドＭＨの装着・離脱時に、測定ヘッドＭＨが回転する回転平面に直角な方向）に延びるピボット軸線まわりにピボット可能なピボット部材１７０を含んでいる。
【００７１】
このピボット部材１７０は、ピボット軸線と同軸な軸線を有するジョイント１７２によって台座部ＨＤにピボット可能に装着される。更に、ピボット部材１７０は、対応する第２の係合爪１５４に機械的に係合してその第２の係合爪１５４が離脱することを阻止する可動係合部１７４を含んでいる。この可動係合部１７４が第２の係合爪１５４を上方から係合する向きにピボット部材１７０が常時、弾性部材としてのスプリング１７６によって付勢される。第１実施形態においては、ピボット部材１７０が、さらに、可動係合部１７４による係合を解除するためにユーザーによって押圧操作される操作部１７８と、スプリング１７６の弾性力を拡大して可動係合部１７４に伝達するレバレッジ１８０とを含んでいる。
【００７２】
次に、図４を参照することにより、台座部ＨＤに対する測定ヘッドＭＨの着脱作業を説明する。
【００７３】
測定ヘッドＭＨを台座部ＨＤに装着するためには、ユーザーは、ピボット部材１７０の操作部１７８を、スプリング１７６の弾性力に抗して、可動係合部１７４が係合位置から解放位置に向かう解放方向に押圧する。この押圧状態で、ユーザーは、ヘッド沈座部１５０がヘッドベース沈座空隙１６２内に進入しつつ第１の係合爪１５２が第１の爪突き当て部１６４内に進入して当接するように、測定ヘッドＭＨを概して垂直面内において回転させつつ下降させる。その後、ユーザーは、操作部１７８の押圧を解除する。押圧が解除されると、ピボット部材１７０がスプリング１７６の弾性回復力によって解放位置から係合位置に回動して、可動係合部１７４が第２の係合爪１５４に上方から係合して突き当たる。その結果、第１の係合爪１５２が第１の爪突き当て部１６４から上方に離脱することが阻止されるとともに、第２の係合爪１５４が第２の爪突き当て部１６６から上方に離脱することも阻止される。以上の機構により、測定ヘッドＭＨが台座部ＨＤから離脱することが阻止される。
【００７４】
これに対し、測定ヘッドＭＨを台座部ＨＤから離脱するためには、ユーザーは、上記の場合と同様にして、ピボット部材１７０の操作部１７８をスプリング１７６の弾性力に抗して、解放方向に押圧する。その押圧状態で、ユーザーは、ヘッド沈座部１５０がヘッドベース沈座空隙１６２から退避しつつ第１の係合爪１５２が第１の爪突き当て部１６４から退避するように、測定ヘッドＭＨを概して垂直面内において回転させつつ上昇させて、測定ヘッドＭＨを台座部ＨＤから離脱させる。その後、ユーザーは、操作部１７８の押圧を解除する。この押圧の解除により、ピボット部材１７０がスプリング１７６の弾性回復力によって解放位置から係合位置に復元する。
【００７５】
次に、図５を参照することにより、回転テーブル部ＲＴを詳細に説明する。
【００７６】
この回転テーブル部ＲＴは、被写体ＫＡが載置されるべき回転テーブル１８４と、その回転テーブル１８４を回転可能に支持する支持フレーム１８６とを含んでいる。その支持フレーム１８６は、上板部１８８と下板部１８９とを含むように薄い中空箱状を成しており、上板部１８８の開口から回転テーブル１８４の上面が露出している。第１実施形態においては、その支持フレーム１８６のうちの下板部１８９がテーブルベースとしても機能する。
【００７７】
回転テーブル１８４の上面は、撮像されるべき被写体ＫＡが載置される載置面１９０である。この載置面１９０には上述のように目盛り４ａが形成される。一方、回転テーブル１８４の下面から、回転シャフト１９１が同軸に延び出しており、この回転シャフト１９１は、軸受け１９２を介して支持フレーム１８６に回転可能に支持されている。軸受け１９２は、支持フレーム１８６に形成された軸受けホルダ１９３によって保持されている。
【００７８】
回転テーブル１８４を回転させるテーブルモータ１９４が支持フレーム１８６に装着されている。このテーブルモータ１９４を収容するモータボックス１９５が支持フレーム１８６に形成されている。
【００７９】
このモータボックス１９５は、支持フレーム１８６の上板部１８８の上面に、その上面から上方に突出する姿勢で形成されている。このモータボックス１９５の上面は、回転テーブル１８４の上面より高く設定されている。それにより、被写体ＫＡが回転テーブル１８４と共に回転させられる際にその被写体ＫＡが、回転テーブル１８４を同軸に投影した投影空間から外側にはみ出していると、モータボックス１９５のうち回転テーブル１８４の上面より上方に位置する部分が被写体ＫＡに当接してその被写体ＫＡの向きを変化させる。
【００８０】
したがって、モータボックス１９５は、テーブルモータ１９４の収容部として機能するのみならず、被写体ＫＡが回転テーブル１８４に位置決めされる位置を規制する位置規制部１９６としても機能する。
【００８１】
テーブルモータ１９４の回転を回転テーブル１８４に伝達させるために、テーブルモータ１９４の回転シャフトにモータギヤ１９７が同軸に固定され、このモータギヤ１９７にかみ合うテーブルギヤ１９８が回転テーブル１８４に同軸に固定されている。モータギヤ１９７は、テーブルギヤ１９８より小径であるため、テーブルギヤ１９８の回転速度が減速されて回転テーブル１８４に伝達される。
【００８２】
ところで、テーブルモータ１９４は、支持フレーム１８６の上板部１８８の上面から突出しないように支持フレーム１８６に装着することが可能である。一方、上板部１８８の上面のうち回転テーブル１８４が露出する部分を除く部分の上方空間にテーブルモータ１９４を配置しても、何ら支障がなく、むしろ、支持フレーム１８６の薄型化に有利である。
【００８３】
したがって、第１実施形態によれば、テーブルモータ１９４を上板部１８８の上面から突出するように配置することにより、上述の位置規制部１９６としての機能に加えて、支持フレーム１８６の薄型化を容易にするという機能も実現される。
【００８４】
この３次元形状検出装置１０は、複数種類のモードのうちユーザーによって選択されたものに従って作動する。これらのモードは、３次元計測モード（以下「３Ｄモード」とする。）と、校正モード、オフモードとを含んでいる。３Ｄモードは、被写体ＫＡを撮像し、被写体ＫＡの立体形状を検出するモードである。校正モードは、３次元形状検出装置１０におけるシステムパラメータや測定部材の位置情報等をキャリブレーションするためのモードである。オフモードは、この３次元形状検出装置１０の動作を停止させるモードである。
【００８５】
撮像部１４は、被写体ＫＡを撮像し、その被写体ＫＡを表す全体画像を構成する複数個の画素のいずれかを間引いて形成される画素間引き画像を取り出すことが可能であるように構成されている。
【００８６】
ここで、ＣＣＤを用いた撮像の分野においては、被写体ＫＡの撮像結果から画素間引き画像を取り出すために、加算方式と選択方式とがすでに知られている。
【００８７】
加算方式によれば、被写体ＫＡを表す全体画像を構成する複数個の画素がグループ分けされた複数個の画素グループの各々に属する複数個の対象画素の照度検出値が画素グループごとに加算され、その加算された照度を用いて、各画素グループに属する複数個の対象画素の照度検出値が均等に分散される。
【００８８】
これに対し、選択方式によれば、それら複数個の画素グループの各々に属する複数個の対象画素から、それら対象画素を代表する代表画素が画素グループごとに選択され、その選択された代表画素の照度検出値を用いて、各画素グループに属する複数個の対象画素の照度検出値が均等に分散される。
【００８９】
第１実施形態においては、撮像部１４は、それら加算方式と選択方式とのうち予め選択されたものに従い、被写体ＫＡの撮像結果から画素間引き画像を取り出すように設計されている。
【００９０】
投影部１２は、被写体ＫＡにパターン光を投影するためのユニットである。この投影部１２は、図６および図７に示すように、基板６０と、ＬＥＤ６２（例えば、単一のＬＥＤ素子によって広い出射面から光を出力するＬＥＤ）と、照明絞り６３と、光源レンズ６４と、マスク２００を送るためのマスクモータ（例えば、パルスモータ）６５を駆動源とする投影機構６６と、投影光学系３２とを、投影方向に沿って直列に備えている。
【００９１】
図７には、この投影部１２のハードウエア構成のうち、基板６０と、ＬＥＤ６２と、照明絞り６３と、光源レンズ６４と、マスク２００と、投影光学系３２とが詳細に示されている。図８には、この投影部１２を含む３次元形状検出装置１０全体のソフトウエア構成および電気的接続関係が詳細に示されている。
【００９２】
図８は、本発明の第１実施形態における３次元形状検出装置の電気的構成を概念的に表すブロック図である。図９は、本発明の第１実施形態における投影機構の正面図である。図１０は、本発明の第１実施形態における投影機構の部分側面断面図である。図１１は、本発明の第１実施形態におけるマスクを部分拡大した正面図である。図１２は、本発明の第１実施形態におけるマスクの側面図である。
【００９３】
図９ないし図１２には、投影部１２のハードウエア構成のうち、投影機構６６が詳細に示されている。投影部１２は、投影手段の一例である。
【００９４】
撮像部１４は、被写体ＫＡを撮像するためのユニットである。この撮像部１４は、図６に示すように、撮像光学系３０と、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）７０とを、画像光の入射方向に沿って直列に備えている。このＣＣＤ７０は、インターライントランスファー方式でプログレッシブ走査を行うように構成されている。
【００９５】
撮像光学系３０は、図６に示すように、複数枚のレンズを用いて構成されている。この撮像光学系３０は、よく知られたオートフォーカス機能により、焦点距離および絞りを自動調整して外部からの光をＣＣＤ７０上に結像する。
【００９６】
ＣＣＤ７０は、フォトダイオード素子などの光電変換素子をマトリクス状に配列して構成されている。このＣＣＤ７０は、撮像光学系３０を介してこのＣＣＤ７０の表面に結像される画像の光の色および強さに応じた信号を画素ごとに生成する。生成された信号は、デジタルデータに変換されて処理部１６に出力される。
【００９７】
図８に示すように、処理部１６には、フラッシュ２６、レリーズボタン４０およびモード切り替えスイッチ４２がそれぞれ電気的に接続されている。処理部１６は、さらに、モニタＬＣＤ４４にはモニタＬＣＤドライバ７２を介して、アンテナ５０にはＲＦドライバ５２を介して、バッテリ７４には電源インタフェイス７６を介してそれぞれ電気的に接続されている。それらフラッシュ２６等は、処理部１６によって制御される。
【００９８】
処理部１６は、外部メモリ７８およびキャッシュメモリ８０のそれぞれに電気的に接続されている。処理部１６は、さらに、ＬＥＤ６２には光源ドライバ８４を介して、投影機構６６のマスクモータ６５にはマスクモータドライバ８６を介して接続されている。同様に、処理部１６は、ＣＣＤインタフェイス８８を介して、ＣＣＤ７０に電気的に接続されている。これらのＬＥＤ６２等は、処理部１６によって制御される。
【００９９】
外部メモリ７８は、着脱可能なフラッシュＲＯＭであり、立体画像モードにおいて撮像された撮像画像や３次元情報（前述のステッチテクスチャを含む。）を記憶することが可能である。外部メモリ７８を構成するために、例えば、ＳＤカード、コンパクトフラッシュ（登録商標）カード等を使用することができる。
【０１００】
キャッシュメモリ８０は、データの読み書きを高速で行い得る記憶装置である。キャッシュメモリ８０は、例えば、デジカメモードにおいて撮像された撮像画像を高速でキャッシュメモリ８０に転送し、処理部１６で画像処理を行ってから外部メモリ７８に格納することを可能にするために使用される。キャッシュメモリ８０として、例えばＳＤＲＡＭ、ＤＤＲＲＡＭ等が利用できる。
【０１０１】
電源インタフェイス７６、光源ドライバ８４、マスクモータドライバ８６およびＣＣＤインタフェイス８８はそれぞれ、バッテリ７４、ＬＥＤ６２、投影機構６６のマスクモータ６５およびＣＣＤ７０を制御する各種のＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）によって構成されている。
【０１０２】
図３（ａ）に示すように、測定ヘッドＭＨには、ＡＣアダプタ端子９０と、ＵＳＢ端子９１と、テーブルモータ端子９２とが設けられている。ＡＣアダプタ端子９０は、図６にも示すように、バッテリ７４に電気的に接続されており、それにより、３次元形状検出装置１０が外部の交流電源を電力源として利用することが可能となっている。ＵＳＢ端子９１は、図６に示すように、ＵＳＢドライバ９３を介して処理部１６に接続されている。テーブルモータ端子９２は、図６に示すように、テーブルモータドライバ９４を介して処理部１６に接続されている。
【０１０３】
図１，図２に示すように、回転テーブル部ＲＴのテーブルモータ１９４から電気ラインとしてのハーネス９５が延び出している。このハーネス９５は、図３（ａ）に示すように、ハーネス９５の先端に接続されたＬ字プラグ９６により、テーブルモータ端子９２に接続されている。ハーネス９５は、測定ヘッドＭＨからテーブルモータ１９４に制御信号および電力を供給する電気ラインとして機能する。したがって、テーブルモータ１９４がテーブルモータドライバ９４を介して処理部１６に接続されることになる。
【０１０４】
ハーネス９５は、台座部ＨＤの表面上でハーネス止め９７，９８、９８によって装着される。
【０１０５】
次に、投影部１２の構成について説明する。
【０１０６】
前述のように、投影部１２は、図７に示すように、基板６０と、ＬＥＤ６２と、照明絞り６３と、光源レンズ６４と、投影機構６６と、投影光学系３２とをパターン光の投影方向に沿って直列に備えている。
【０１０７】
基板６０は、それにＬＥＤ６２が装着されることにより、その装着されたＬＥＤ６２との間において電気的な配線を行う。基板６０は、例えば、アルミニウム製基板に絶縁性合成樹脂を塗布してから無電解メッキによってパターンを形成したものや、ガラスエポキシ基材をコアとする単層または多層構造の基板を利用できる。ＬＥＤ６２は、投影機構６６に向けて放射状のアンバー色の光を広い面積で発光する光源であり、ＬＥＤケーシング１００内に収容されている。
【０１０８】
図７に示すように、照明絞り６３は、ＬＥＤ６２から出力された光のうち不要な部分を遮蔽することにより、必要な部分のみを光源レンズ６４に誘導するために設けられている。光源レンズ６４は、ＬＥＤ６２から放射状に発光される光を集光するレンズであり、その材質はアクリルに代表される光学樹脂である。
【０１０９】
第１実施形態においては、図７に示すように、ＬＥＤ６２から発光される放射状の光が、光源レンズ６４によって効率良く集光され、ＬＥＤ６２からの出射光が投影機構６６の入射面１０６に略直角に入射するとともに、指向性の高い放射光として投影機構６６の出射面１０８から出射する。この意味において、光源レンズ６４は、コリメータレンズとして機能する。図７には、その出射面１０８上において互いに隔たった２個の注目点Ａ，Ｂにつき、それぞれの指向性特性が照度分布のグラフ（θ：半値拡がり半角）で表されている。
【０１１０】
投影光学系３２は、投影機構６６を通過した光を被写体ＫＡに向かって投影するための複数枚の投影レンズ３４を含んでいる。それら投影レンズ３４は、ガラス製レンズと合成樹脂製レンズとの組合せから成るテレセントリックレンズによって構成されている。テレセントリックとは、投影光学系３２を通過する主光線が、入射側の空間では光軸に平行になり、入射瞳の位置が無限になる構成をいう。
【０１１１】
投影光学系３２は、上述のようにテレセントリック特性を持ち、その入射ＮＡが０．１程度であるため、垂直±５°以内の光のみが投影光学系３２の内部の絞り３６を通過できるように、投影光学系３２の光路が規制されている。したがって、本実施形態においては、投影光学系３２のテレセントリック性により、投影機構６６を垂直±５°で通過する光のみを投影光学系３２に投影し得る構成と相俟って、画質の向上を容易に図り得る。
【０１１２】
ここで、図９ないし図１２を参照することにより、投影部１２のハードウエア構成のうち投影機構６６を詳細に説明する。
【０１１３】
この投影機構６６は、光源としてのＬＥＤ６２からの入射光を複数種類のパターン光に選択的に変換することにより、それら複数種類のパターン光を順次被写体ＫＡに投影するために設けられている。図９には、この投影機構６６が正面図で示され、図１０には、この投影機構６６が部分断面側面図で示されている。
【０１１４】
図９に示すように、この投影機構６６は、シート状を成して長さ方向に延びるマスク２００を備えており、そのマスク２００はマスクモータ６５によってそのマスク２００の長さ方向に送られる。
【０１１５】
図１１には、マスク２００の長さ方向における一部の拡大が正面図として示されている。マスク２００には、複数種類のパターン光にそれぞれ対応する複数のフレーム２０２が、マスク２００の長さ方向に並んで割り当てられている。図９に示すように、フレーム２０２は、選択的に入射光の照射領域に位置させられる。
【０１１６】
本実施形態においては、３Ｄモードの際、被写体ＫＡを撮像するために８種類のパターン光が順次被写体ＫＡに投影される。パターン光はパターン光番号ＰＮで表される。図１１には、パターン番号ＰＮが５であるパターン光を形成するためのフレーム２０２（図１１において「コード５」を付して示す。）と、パターン番号ＰＮが６であるパターン光を形成するためのフレーム２０２（図９において「コード６」を付して示す。）と、パターン番号ＰＮが７であるパターン光を形成するためのフレーム２０２（図９において「コード７」を付して示す。）が、例として示されている。また、校正モードの際には、フラッシュ光やパターン光が校正用冶具に投射される。
【０１１７】
マスク２００は、各フレーム２０２に、マスク２００をそれの厚さ方向に貫通する貫通穴（空気開口）２０４を備えている。この貫通穴は、各フレーム２０２におけるパターン光の形状に対応する形状を備えている。図１１に示すように、いずれのフレーム２０２においても、個々の貫通穴２０４が直線的に延びるスリット状を成している。複数個のフレーム２０２のうち、複数個の貫通穴２０４を有するものにおいては、それら複数個の貫通穴２０４がストライプ状を成すように配列されている。
【０１１８】
さらに、第１実施形態においては、いずれのフレーム２０２においても、各貫通穴２０４がマスク２００の長さ方向に平行に延びるように配置されている。
【０１１９】
マスク２００は、長さ方向と厚さ方向との双方に平行な平面内において屈曲可能である。このマスク２００は、金属製の薄いシートによって構成されている。マスク２００を構成する金属は、ステンレスなどの不透明弾性材料で構成される。このマスク２００の板厚の一例は、０．１ｍｍである。
【０１２０】
第１実施形態においては、厚さ０．１ｍｍのステンレス板に対してウエットエッチングが施されることにより、そのステンレス板に複数個の貫通穴２０４がミクロン精度で形成され、それにより、マスク２００が製作されている。
【０１２１】
このマスク２００は、弾性屈曲性を有しており、後述のようにローラに巻き取られて収容されていても、そのローラから解放されれば、真っ直ぐな平面を成す原形状に復元する性質を有する。
【０１２２】
図９に示すように、投影機構６６は、マスク２００を巻き取り可能に保持しつつ送るために、ハウジング２１０を備えている。このハウジング２１０に、供給具としての供給ローラ２２０と、案内具としてのガイドローラ２２２と、送り具としての送りローラ２２４と、巻き取り具としての巻き取りローラ２２６とが、互いに平行な各軸線を有する姿勢で支持されている。それら供給ローラ２２０，ガイドローラ２２２，送りローラ２２４および巻き取りローラ２２６の軸線はいずれも、マスク２００の幅方向に平行に延びている。
【０１２３】
図１０に示すように、マスク２００は、それの長さ方向における両端部においてそれぞれ、供給ローラ２２０と巻き取りローラ２２６とに結合されている。マスク２００は、さらに、供給ローラ２２０と巻き取りローラ２２６との間において、供給ローラ２２０寄りのガイドローラ２２２と、巻き取りローラ２２６寄りの送りローラ２２４とに支持されている。
【０１２４】
３次元形状検出装置１０の不使用状態においては、マスク２００は、供給ローラ２２０と巻き取りローラ２２６とのうち主に供給ローラ２２０に巻き付けられており、マスク２００は、この状態で３次元形状検出装置１０内に収容される。すなわち、マスク２００のうちの未使用部分は、供給ローラ２２０に巻き付けられて収容され、供給ローラ２２０は、マスク２００のうちの未使用部分を屈曲状態として収容する。
【０１２５】
被写体ＫＡの撮像が開始されると、マスク２００のうちの未使用部分は、マスクモータ６５の正回転により、供給ローラ２２０から剥がされて巻き取りローラ２２６に向かって供給される。その未使用部分が被写体ＫＡの撮像に使用されると、使用済部分として、巻き取りローラ２２６に巻き取られて収容される。すなわち、巻き取りローラ２２６は、マスク２００のうちの使用済部分を屈曲状態として収容する。
【０１２６】
被写体ＫＡの撮像が終了した時点においては、マスク２００は、供給ローラ２２０と巻き取りローラ２２６のうち、主に巻き取りローラ２２６に巻き付けられ、マスク２００は、この状態で３次元形状検出装置１０内において収容される。その後、次回の撮像に備えて、マスクモータ６５の逆回転により、マスク２００は、供給ローラ２２０と巻き取りローラ２２６とのうち主に供給ローラ２２０に巻き取られて、マスク２００は、供給ローラ２２０に巻き付けられた状態で、３次元形状検出装置１０内において収容される。
【０１２７】
図１０に示すように、それらガイドローラ２２２と送りローラ２２４との間に、ＬＥＤ６２からの入射光がマスク２００に照射される照射位置２２８が設定されている。マスク２００のうちそれらガイドローラ２２２と送りローラ２２４とによって両端を支持される部分が、設定された照射位置２２８を入射光に直角な方向に通過する直線部２３０を形成している。
【０１２８】
図１０に示すように、第１実施形態においては、マスク２００のうち供給ローラ２２０とガイドローラ２２２とによって両端を支持される部分２３２（図１０において直線部より左側の部分）と、送りローラ２２４と巻き取りローラ２２６とによって両端を支持される部分２３４（図１０において直線部より右の部分）とがそれぞれ、直線部２３０に対して同じ側に傾斜させられている。その傾斜角度は、小さいほど、直線部２３０に対する部分２３２，２３４の弾性曲げに起因する直線部２３０の反りを軽減するために望ましい。一方、この傾斜角度は、大きいほど、マスク２００の長さ方向においてこの投影機構６６を小型化するために好ましい。
【０１２９】
図１０に示すように、マスク２００は、それの長さ方向における両端部においてそれぞれ、供給ローラ２２０と巻き取りローラ２２６とに結合されている。
【０１３０】
供給ローラ２２０は、ハウジング２１０に固定されたシャフト２４０と、そのシャフト２４０を同軸に取り囲むローラ部２４２とを含むように構成されている。ローラ部２４２は、シャフト２４０に対して同軸に相対回転可能に支持されている。このローラ部２４２にマスク２００の一端部が固定され、ローラ部２４２の回転によってローラ部２４２の外周面にマスク２００が巻き付けられる。ローラ部２４２の両回転方向のうち、ローラ部２４２にマスク２００が巻き付けられる回転方向が戻り回転方向であり、ローラ部２４２からマスク２００が剥がされる回転方向が送り回転方向である。
【０１３１】
ローラ部２４２には、付勢部材としてのスプリング２４６が係合させられており、ローラ部２４２は、戻り回転方向に常時付勢されている。そのスプリング２４６は、例えば、図１０に示すように、ローラ部２４２とシャフト２４０との間の半径方向隙間内において、可動部材としてのローラ部２４２と静止部材としてのシャフト２４０とに係合させられるように使用される。そのスプリング２４６は、例えば、図１０に示すように、シャフト２４０の外周面に巻き付けられるリーフスプリングとして構成される。そのスプリング２４６の弾性力により、マスク２００にテンションがそのマスク２００の長さ方向に作用させられる。
【０１３２】
図９および図１１に示すように、マスク２００の両側縁部にはそれぞれ、マスク２００の長さ方向に並んだ複数個の送り穴２５０から成るパーフォレーション領域２５２が形成されている。ガイドローラ２２２および送りローラ２２４は、それら送り穴２５０に貫通してそれら送り穴に係合する歯２５４、２５６を備えている。第１実施形態においては、図１０に示すように、ガイドローラ２２２も送りローラ２２４も、複数個の歯２５４、２５６を、各外周面上において等間隔に並んで備えている。
【０１３３】
ガイドローラ２２２はフリーローラであるのに対し、送りローラ２２４は、マスクモータ６５によって駆動される駆動ローラである。図９に示すように、第１実施形態においては、マスクモータ６５が送りローラ２２４に同軸に連結されており、送りローラ２２４がマスクモータ６５によって回転駆動される。送りローラ２２４の両回転方向のうち、マスク２００が供給ローラ２２０から剥がされる回転方向が送り回転方向であり、マスク２００が供給ローラ２２０に巻き付けられる回転方向が戻り回転方向である。
【０１３４】
図１０に示すように、そのマスクモータ６５は、送りローラ２２４を回転させる機能と、これと同期して巻き取りローラ２２６を回転させる機能とを有している。このため、マスクモータ６５は、マスク２００を送りつつ巻き取りローラ２２６によって巻き取られる正回転と、マスク２００を巻き取りローラ２２６から剥がしつつ供給ローラ２２０に供給する逆回転とを選択的に行う。
【０１３５】
図９に示すように、第１実施形態においては、送りローラ２２４およびマスクモータ６５と同軸かつ一体的に回転させられる回転体としての駆動プーリ２６０と、巻き取りローラ２２６と同軸かつ一体的に回転させられる回転体としての被動プーリ２６２とに、動力伝達体としてのベルト２６４が巻き掛けられている。このように構成された伝動機構２６６により、マスクモータ６５の回転力が巻き取りローラ２２６に伝達される。
【０１３６】
図９および図１０に示すように、投影機構６６は、照射位置２２８においてマスクガイド２７０を備えている。そのマスクガイド２７０は、マスク２００のうちの直線部２３０の送りを案内するために設けられている。
【０１３７】
第１実施形態においては、マスクガイド２７０が、マスク２００の直線部２３０の厚さ方向において、両側から挟む構造を有している。具体的には、マスクガイド２７０は、マスク２００の直線部２３０を隔てて互いに対向する一対のガイド板２７２，２７２を備えている。このマスクガイド２７０は、マスク２００をそれの長さ方向にスライド可能に保持する一方、マスク２００をそれの幅方向にはできる限り変位しないように保持する。
【０１３８】
各ガイド板２７２には、ガイド板２７２の厚さ方向に貫通する窓２７６が形成されている。この窓２７６も、貫通穴２０４と同様に、空気開口として形成されている。ＬＥＤ６２からの入射光のうち窓２７６を通過する部分のみが、マスク２００に照射される。
【０１３９】
図１１に示すように、マスク２００には、フレーム２０２ごとに、位置基準穴２８０とＩＤ穴領域２８２とが、マスク２００の幅方向に並んで形成されている。それら位置基準穴２８０およびＩＤ穴領域２８２は、いずれも貫通穴（空気開口）としてマスク２００に形成されている。位置基準穴２８０は、いずれかのフレームが照射位置２２８に位置していることを光学的に検出するために設けられている。一方、ＩＤ穴領域２８２は、照射位置２２８に位置しているフレームのＩＤすなわちパターン番号ＰＮを光学的に特定するために設けられている。
【０１４０】
第１実施形態においては、ＩＤ穴領域２８２が、３ビットの情報によって８個のフレーム２０２すなわち８種類のパターン光をそれぞれ識別する。そのため、各フレーム２０２のＩＤ穴領域２８２には、最大で３個のＩＤ穴２９０、２９２、２９４が形成される。
【０１４１】
図１２に示すように、投影機構６６は、位置基準穴２８０を光学的に検出するために、位置センサ３００を、マスク２００の幅方向位置に関して位置基準穴２８０と一致する位置に備えている。本実施形態においては、その位置センサ３００は、位置基準穴２８０を高い位置精度で検出するために、絞ったビームをマスク２００に照射するとともに、マスク２００からの反射光を絞って受光する。
【０１４２】
そのため、位置センサ３００は、発光素子としてのＬＥＤ３０２と、受光素子としてのフォトダイオード（以下、「ＰＤ」という。）３０４と、ＬＥＤ３０２のための集光素子としてのＬＥＤレンズ３０６と、ＰＤ３０４のための集光素子としてのＰＤレンズ３０８とを含んでいる。この位置センサ３００は、図８に示すように、処理部１６に電気的に接続されている。
【０１４３】
ＰＤ３０４は、マスク２００からの反射光の受光の有無に応じて変化するＰＤ信号を出力する。具体的には、ＰＤ信号は、図１３のタイミングチャートで表すように、いずれの位置基準穴２８０も位置センサ３００に対向しないために位置センサ３００からの光がマスク２００で反射して位置センサ３００に入射する場合に、ハイレベルを示す一方、いずれかの位置基準穴２８０が位置センサ３００に対向するために位置センサ３００からの光がその位置基準穴２８０を透過して位置センサ３００に入射しない場合に、ローレベルを示すように変化する。
【０１４４】
ＬＥＤレンズ３０６は、ＬＥＤ３０２からの光を集光してマスク２００に照射する集光機能を有する。ＰＤレンズ３０８は、マスク２００からの反射光を集光してＰＤ３０４に照射する集光機能を有する。これらのＬＥＤレンズ３０６およびＰＤレンズ３０８により、位置基準穴２８０の位置およびフレーム２０２の位置を高精度に検出できる。
【０１４５】
図１２に示すように、投影機構６６は、さらに、ＩＤ穴２９０，２９２，２９４を光学的に検出するために、第１ないし第３のＩＤセンサ３１０，３１２，３１４を備えている。それら第１ないし第３のＩＤセンサ３１０，３１２，３１４はそれぞれ、マスク２００の幅方向位置に関して３個のＩＤ穴２９０，２９２，２９４と一致する位置に配置されている。いずれのＩＤセンサ３１０，３１２，３１４も、ＩＤ穴領域２８２に向けて光を照射する発光素子と、ＩＤ穴領域２８２からの反射光を受光する受光素子とを含んでいる。
【０１４６】
第１ないし第３のＩＤセンサ３１０，３１２，３１４の３個の受光素子はそれぞれ、ＩＤ穴領域２８２からの反射光の有無を表す信号を、信号Ｓ１ないしＳ３として出力する。信号Ｓ１ないしＳ３は、前述のＰＤ信号と同様に変化する。それら第１ないし第３のＩＤセンサも、位置センサ３００と同様に、図８に示すように、処理部１６に電気的に接続されている。
【０１４７】
図１３は、本発明の第１実施形態における位置センサの信号に関するタイミングチャートである。
【０１４８】
図１３には、ＰＤ信号およびＳ１ないしＳ３信号が互いに同期して変化する様子の一例がタイミングチャートで表されている。処理部１６においては、後に詳述するが、マスクモータ６５の駆動によってマスク２００が送られている間にいずれかの位置基準穴２８０が位置センサ３００に対向したためにＰＤ信号がハイレベルからローレベルに変化した事象をトリガとして、第１ないし第３のＩＤセンサ３１０，３１２，３１４からそれぞれＳ１ないしＳ３信号がサンプリングされる。
【０１４９】
図１２に示すマスク２００の例においては、第１および第３のＩＤセンサ３１０，３１４がそれぞれ、ＩＤ穴２９０，２９４に対向するため、Ｓ１信号およびＳ３信号がそれぞれ、ハイレベルからローレベルに変化する一方、第２のＩＤセンサ３１２は、ＩＤ穴２９２に対向しないため、Ｓ２信号がハイレベルに維持される。それらサンプリングされたＳ１ないしＳ３信号のレベルの組合せにより、位置センサ３００によって検出されたフレーム２０２のＩＤすなわちパターン番号ＰＮが検出される。
【０１５０】
図８に示されるように、処理部１６はコンピュータ４００を主体として構成されており、そのコンピュータ４００は、ＣＰＵ４０２と、ＲＯＭ４０４と、ＲＡＭ４０６と、バス４０８とを含むように構成されている。
【０１５１】
ＣＰＵ４０２は、ＲＯＭ４０４に記憶されたプログラムを実行することにより、レリーズボタン４０の操作状態の検出、ＣＣＤ７０からの画像データの取込み、その取り込まれた画像データの転送および格納、モード切り替えスイッチ４２の操作状態の検出等の各種処理を行う。
【０１５２】
ＲＯＭ４０４は、カメラ制御プログラム４０４ａ、撮像処理プログラム４０４ｂ、輝度画像生成プログラム４０４ｃ、コード画像生成プログラム４０４ｄ、コード境界抽出プログラム４０４ｅ、レンズ収差補正プログラム４０４ｆ、三角測量演算プログラム４０４ｇ、マスクモータ制御プログラム４０４ｈ、テーブルモータ制御プログラム４０４ｉ、校正プログラム４０４ｊ、概略寸法測定プログラム４０４ｋが格納されている。
【０１５３】
カメラ制御プログラム４０４ａは、３次元形状検出装置１０全体の制御を実行するために実行され、その制御には、図１５にフローチャートで概念的に表されているメイン処理が含まれる。図１５は、本発明の第１実施形態における処理部による処理を示すフローチャートである。
【０１５４】
撮像処理プログラム４０４ｂは、被写体ＫＡの３次元形状を検出するためにパターン光が投影された被写体ＫＡを撮像してパターン光有画像を取得し、さらに、パターン光が投影されていない被写体ＫＡを撮像してパターン光無画像を取得するために実行される。
【０１５５】
輝度画像生成プログラム４０４ｃは、撮像処理プログラム４０４ｂの実行によって被写体ＫＡについて取得された各画素のＲＧＢ値に基づき、複数枚のパターン光有画像にそれぞれ対応する複数枚の輝度画像を生成する。
【０１５６】
第１実施形態においては、同じ被写体ＫＡに対して複数種類のパターン光が時系列に順次投影され、各パターン光が投影されるごとに被写体ＫＡが撮像される。そのようにして撮像された複数枚のパターン光有画像の各々について各画素のＲＧＢ値が取得され、その結果、パターン光の種類と同数の輝度画像が生成される。
【０１５７】
コード画像生成プログラム４０４ｄは、輝度画像生成プログラム４０４ｃの実行によって生成された複数枚の輝度画像それぞれに対する閾値処理により生成される２値化画像から、画素毎に空間コードが割り当てられたコード画像を生成するために実行される。
【０１５８】
このコード画像生成プログラム４０４ｄが実行されると、複数種類のパターン光のうちパターンライン間の間隔が最も狭いものが投影された被写体ＫＡの輝度画像におけるパターンライン間の間隔が周期として取得され、その周期の輝度画像全体における分布が周期分布として取得される。
【０１５９】
また、このコード画像生成プログラム４０４ｄが実行されると、さらに、その取得された周期分布に従ってサイズが変化する可変窓がパターン光ごとの輝度画像にローカルに設定されることにより、可変窓を用いたフィルタ処理により輝度画像全体に対して閾値がローカルに算出されて設定される。そのようにして設定された閾値の分布を表す閾値画像とパターン光ごとの輝度画像との関係から、パターン光ごとに２値化画像が生成される。
【０１６０】
可変窓を用いたフィルタ処理により輝度画像全体に対して閾値をローカルに算出する技術は、本出願人の特願２００４−２８５７３６号明細書に詳細に開示されており、その明細書を参照することによってその明細書の内容を本明細書に引用する。
【０１６１】
コード境界抽出プログラム４０４ｅは、コード画像生成プログラム４０４ｄの実行によって生成されたコード画像と、輝度画像生成プログラム４０４ｃの実行によって生成された輝度画像とを利用することにより、コードの境界座標をサブピクセル精度で求めるために実行される。
【０１６２】
レンズ収差補正プログラム４０４ｆは、コード境界抽出プログラム４０４ｅの実行によってサブピクセル精度で求められたコードの境界座標に対して、撮像光学系３０の収差補正を行うために実行される。
【０１６３】
三角測量演算プログラム４０４ｇは、レンズ収差補正プログラム４０４ｆの実行によって収差補正が行われたコードの境界座標から、その境界座標に関する実空間の３次元座標を演算するために実行される。
【０１６４】
マスクモータ制御プログラム４０４ｈは、複数種類のパターン光を順次被写体ＫＡに投影すべくマスクモータ６５を制御するために実行される。このマスクモータ制御プログラム４０４ｈは、図２１にフローチャートで概念的に表されている。
【０１６５】
テーブルモータ制御プログラム４０４ｉは、回転テーブル１８４を被写体ＫＡと共に割り出し回転させるべくテーブルモータ１９４を制御するために実行される。このテーブルモータ制御プログラム４０４ｉは、他の処理と共に図１９にフローチャートで概念的に表されている。
【０１６６】
校正プログラム４０４ｊは、被写体ＫＡの３次元形状を算出するために用いるシステムパラメータの校正を実行する。すなわち、被写体ＫＡの実空間３次元座標系の３次元座標演算に用いるカメラパラメータとプロジェクタパラメータから構成されるシステムパラメータを校正する。
【０１６７】
概略寸法測定プログラム４０４ｋは、上述のように、被写体ＫＡの概略寸法を測定する場合に実行されるプログラムである。すなわち、被写体ＫＡを、上述の第１測定部材に形成された目盛り４ａや第２測定部材に形成された目盛り４ｂと共に撮像した撮像画像に基づいて、被写体ＫＡの概略寸法の算出を行うために実行されるものである。そして、この概略寸法の算出結果に基づいて限定された検出範囲の画像領域について、撮像画像のコードの境界座標が求められる。
【０１６８】
第１実施形態においては、前述の一連のパターン光の被写体ＫＡへの投影および被写体ＫＡの撮像が、被写体ＫＡの回転位置が等間隔で割り出されるごとに行われる。具体的には、被写体ＫＡの回転位置が９０度ずつ間欠的に割り出され、各割り出し位置において、一連のパターン光の投影および被写体ＫＡの撮像が行われる。その結果、被写体ＫＡの外面の全体領域が４つの部分領域に分割され、被写体ＫＡの概略寸法の算出結果に基づいて限定された検出範囲の各部分領域ごとに立体画像（３次元形状情報）が取得される。それら立体画像が、互いにオーバラップする部分を除去する処理が施されて互いに結合されることにより、被写体ＫＡに対応する１つの全体画像がステッチ画像として生成される。
【０１６９】
さらに、第１実施形態においては、その生成されたステッチ画像に、同じ被写体ＫＡについて計測された表面色情報がマッピングされることにより、ステッチテクスチャが生成される。これにより、被写体ＫＡについての一連の３次元入力処理が終了する。
【０１７０】
図８に示すように、ＲＡＭ４０６には、パターン光有画像格納部４０６ａと、パターン光無画像格納部４０６ｂと、輝度画像格納部４０６ｃと、コード画像格納部４０６ｄと、コード境界座標格納部４０６ｅと、収差補正座標格納部４０６ｇと、３次元座標格納部４０６ｈと、周期分布格納部４０６ｐと、閾値画像格納部４０６ｑと、２値化画像格納部４０６ｒと、ステッチ画像格納部４０６ｓと、ステッチテクスチャ格納部４０６ｔと、システムパラメータ格納部４０６ｕと、概略寸法格納部４０６ｖと、ワーキングエリア４１０とがそれぞれ記憶領域として割り当てられている。
【０１７１】
パターン光有画像格納部４０６ａは、撮像処理プログラム４０４ｂの実行によって撮像されたパターン光有画像を表すパターン光有画像データを格納する。パターン光無画像格納部４０６ｂは、撮像処理プログラム４０４ｂの実行によって撮像されたパターン光無画像を表すパターン光無画像データを格納する。
【０１７２】
輝度画像格納部４０６ｃは、輝度画像生成プログラム４０４ｃの実行によって生成された輝度画像を表すデータを格納する。コード画像格納部４０６ｄは、コード画像生成プログラム４０４ｄの実行によって生成されたコード画像を表すデータを格納する。コード境界座標格納部４０６ｅは、コード境界抽出プログラム４０４ｅの実行によってサブピクセル精度で抽出された各コードの境界座標を表すデータを格納する。
【０１７３】
収差補正座標格納部４０６ｇは、レンズ収差補正プログラム４０４ｆの実行によって収差補正が行われたコードの境界座標を表すデータを格納する。３次元座標格納部４０６ｈは、三角測量演算プログラム４０４ｇの実行によって演算された実空間の３次元座標を表すデータを格納する。
【０１７４】
周期分布格納部４０６ｐ、閾値画像格納部４０６ｑおよび２値化画像格納部４０６ｒは、コード画像生成プログラム４０４ｄの実行によって取得された周期分布、閾値画像および２値化画像を表すデータをそれぞれ格納する。
【０１７５】
ステッチ画像格納部４０６ｓは、前述のステッチ画像を格納し、ステッチテクスチャ格納部４０６ｔは、前述のステッチテクスチャを格納する。また、システムパラメータ格納部４０６ｕは、前述のシステムパラメータを格納する。概略寸法格納部４０６ｖは、被写体の概略寸法に関する情報などを格納する。ワーキングエリア４１０は、ＣＰＵ４０２がその動作のために一時的に使用するデータを格納する。
【０１７６】
ここで、３次元形状の算出に関わるシステムパラメータ格納部４０６ｕに格納するシステムパラメータについて説明する。
【０１７７】
第１実施形態における３次元形状検出装置１０では、３次元空間の１点を、平面と直線の交点、２本の直線の交点として決定するアクティブ型３次元画像計測法を用いる。すなわち、所定の位置にある投影部から投影されるパターン光と、所定の位置にある撮像部からの視線とを、それぞれ平面と直線として捉え、投影部及び撮像部による結像光学系をその位置及び姿勢などを含むシステムパラメータによってモデル化し、このシステムパラメータを用いて３次元形状を計測する。システムパラメータは、カメラパラメータ及びプロジェクタパラメータとから構成されるパメラメータであり、以下具体的に説明する。
【０１７８】
カメラパラメータは、（数１）に示される３×４のパラメータで表される。このパラメータには、撮像部に関して、その位置、姿勢、画角などのデータが含まれることになる。言い換えれば、撮像部からの視線を表す。
【０１７９】
【数１】
2007256116.tif 000003
このカメラパラメータにより、実空間３次元座標（Ｘ，Ｙ，Ｚ）と撮像部における歪曲収差補正後の撮像座標系の座標（ｃｃｄｃｘ、ｃｃｄｃｙ）との関係は、以下の（数２）のように表すことができる。
【０１８０】
【数２】
2007256116.tif 000004
また、プロジェクタパラメータは、（数３）に示される２×４のパラメータで表される。このパラメータには、投影部に関して、その位置、姿勢などのデータが含まれることになる。言い換えれば、パターン光の平面を表す。
【０１８１】
【数３】
2007256116.tif 000005
このプロジェクタパラメータにより、実空間３次元座標（Ｘ，Ｙ，Ｚ）と空間コード境界値「ｃｏｄｅ」（或いは、パターン光境界位置を示す座標）との関係は、（数４）として表すことができる。
【０１８２】
【数４】
2007256116.tif 000006
以上のカメラパラメータ及びプロジェクタパラメータを元に、（数５）によって被写体ＫＡの実空間３次元座標Ｖ＝（Ｘ，Ｙ，Ｚ）を求めることができる。
【０１８３】
【数５】
2007256116.tif 000007
以上のようなシステムパラメータ、すなわちカメラパラメータ及びプロジェクタパラメータがシステムパラメータ格納部４０６ｕに格納されることになる。
【０１８４】
ここで、図１４を用いて、カメラ制御プログラム４０４ａの処理を説明する。このカメラ制御プログラム４０４ａがコンピュータ４００によって実行されることにより、前述のメイン処理が実行される。
【０１８５】
メイン処理においては、まず、ステップＳ１０１（以下、単に「Ｓ１０１」で表す。他のステップについても同じとする。）において、バッテリ７４を含む電源がＯＮされる。次に、Ｓ１０２において、処理部１６、周辺インタフェイス等が初期化される。
【０１８６】
続いて、Ｓ１０３において、モード切り替えスイッチ４２の操作状態を判別するためにキースキャンが行われる。キースキャンの後に、Ｓ１０４にてスイッチが校正モードであるかを判定される。校正モードと判定された場合には、Ｓ１０４での判定がＹＥＳとなり、Ｓ１０５にて校正処理が行われる。校正モードで無い場合には、Ｓ１０６に進む。次に、Ｓ１０６において、モード切り替えスイッチ４２の操作によって３Ｄモードが選択されたか否かが判定される。３Ｄモードが選択された場合には、Ｓ１０６での判定がＹＥＳとなり、Ｓ１０７において、前述の間引き画像の処理に関わる間引き画像処理モードが設定される。このＳ１０７の実行後、後に詳述するＳ１０８が実行され、続いて、Ｓ１０３に戻る。
【０１８７】
これに対し、モード切替スイッチ４２の操作によって３Ｄモードが選択されなかった場合、Ｓ１０６の判定がＮＯとなり、Ｓ１０９において、モード切替スイッチ４２の操作によってオフモードが選択されたか否かが判定される。モード切替スイッチ４２の操作によってオフモードが選択されたと場合、判定がＹＥＳとなり、直ちに今回のメイン処理が終了するが、モード切替スイッチ４２の操作によってオフモードが選択されなかったと場合、判定がＮＯとなり、Ｓ１０３に戻る。
【０１８８】
図１５は、本発明の第１実施形態における立体画像処理を示すフローチャートである。
【０１８９】
この立体画像処理ルーチンの実行により、被写体ＫＡの３次元形状が立体画像として検出され、表示する立体画像処理が実行される。この立体画像処理においては、さらに、同じ被写体ＫＡの表面色も検出される。それら立体画像の検出結果と表面色の検出結果とが位置に関連付けて組み合わされたものが３次元色形状検出結果である。
【０１９０】
この立体画像処理においては、まず、Ｓ１００１において、ファインダ画像、すなわち、撮像光学系３０を通して見える範囲の画像と同じ画像がモニタＬＣＤ４４に表示される。図１６にモニタＬＣＤ４４に表示される画像の例を示す。この例は、回転テーブル１８４上に被写体ＫＡであるカップが載置された状態の画像である。
ユーザーは、モニタＬＣＤ４４に表示された画像を見ることにより、実際の撮像前に、撮像画像（撮像範囲）を確認することができる。
【０１９１】
次に、Ｓ１００２において、後述の概略寸法入力設定が実行され、それにより、被写体ＫＡの３次元形状の概略寸法が設定される。このＳ１００２は、後に図１７を参照して詳述する。
【０１９２】
ここで、「被写体ＫＡの３次元形状の概略寸法」には、後述の第１測定部材や第２測定部材を用いて測定されるものと、ユーザーによる４方向カーソルキー４３及び決定ボタン４８の操作によって入力されるものがある。
【０１９３】
次に、Ｓ１００３において、レリーズボタン４０の操作状態がスキャンされ、その後、Ｓ１００４において、そのスキャン結果に基づき、レリーズボタン４０が半押し状態にあるか否かが判定される。半押し状態にあれば、判定がＹＥＳとなり、Ｓ１００５において、オートフォーカス（ＡＦ）および自動露出（ＡＥ）機能が起動し、それにより、ピント、絞りおよびシャッタスピードが調節される。レリーズボタン４０が半押し状態になければ、Ｓ１００４の判定がＮＯとなり、Ｓ１０１２に移行する。
【０１９４】
Ｓ１００５の実行後、Ｓ１００６において、再度、レリーズボタン４０の操作状態がスキャンされ、その後、Ｓ１００７において、そのスキャン結果に基づき、レリーズボタン４０が全押し状態にあるか否かが判定される。レリーズボタン４０が全押し状態になければ、このＳ１００７の判定がＮＯとなってＳ１００２に戻る。
【０１９５】
レリーズボタン４０が半押し状態から全押し状態に移行すれば、Ｓ１００７の判定がＹＥＳとなり、Ｓ１００８において、後述の３次元色形状検出処理が実行され、それにより、被写体ＫＡの３次元形状および表面色が検出される。
【０１９６】
概略的に説明するに、その３次元色形状検出処理により、被写体ＫＡについて３次元色形状検出結果が生成される。ここで、３次元色形状検出結果とは、後述の空間コード画像において検出される複数の空間コード境界画像を３次元座標に変換した結果取得される頂点座標の集合体であって、頂点ごとに色形状情報とポリゴン情報とが互いに関連付けられたものを意味する。色形状情報は、実空間座標とＲＧＢ値との組合せを表す情報である。ポリゴン情報は、複数個の頂点のうち、被写体ＫＡを３次元的に表面する立体を構成するために互いに連結されるべき複数の頂点の組合せを表す情報である。
【０１９７】
その後、Ｓ１００９において、その３次元色形状検出結果が外部メモリ７８に格納され、続いて、Ｓ１０１０において、その３次元色形状検出結果が３次元コンピュータグラフィック画像としてモニタＬＣＤ４４に表示される。
【０１９８】
その後、Ｓ１０１１において、図１４におけるＳ１０３と同様にしてキースキャンが行われる。続いて、Ｓ１０１２において、モード切り替えスイッチ４２の操作状態に変化が無いか否かが判定される。変化が無ければ、Ｓ１０１２の判定がＹＥＳとなり、Ｓ１００１に戻るが、変化が有れば、Ｓ１０１２の判定がＮＯとなり、今回の立体画像処理が終了する。
【０１９９】
図１７には、図１５におけるＳ１００２が概略寸法設定入力処理ルーチンとしてフローチャートで概念的に表されている。この概略寸法設定入力処理ルーチンには、概略寸法測定プログラム４０４ｋが組み込まれており、この概略寸法測定プログラム４０４ｋは、図１７におけるＳ１０２１ないしＳ１０３０を含むように構成されている。図１７を用いて概略寸法設定入力処理を説明する。なお、この概略寸法設定入力処理は、ＣＰＵ４０２が概略寸法測定プログラム４０４ｋを読み込んで実行するものであり、概略寸法設定入力手段としての処理である。
【０２００】
この概略寸法設定入力処理ルーチンにおいては、まず、Ｓ１０２１にて、モニタＬＣＤ４４に選択肢が表示される。選択肢としては、「自動」と「手動」がある。Ｓ１０２２において、４方向カーソルキー４３及び決定ボタン４８の操作状態を判別するためにキースキャンを行う。キースキャンの後に、Ｓ１０２３にてユーザーが４方向カーソルキー４３及び決定ボタン４８の操作により「手動」を選択したか否かが判定される。「手動」の選択肢が選択された場合には、Ｓ１０２３での判定がＹＥＳとなり、Ｓ１０２４において、モニタＬＣＤ４４に限定範囲設定画面が表示される。
【０２０１】
ここで、モニタＬＣＤ４４に表示される限定範囲設定画面には、図１８に示すような選択枠７００が表示される。すなわち、撮像光学系３０を通して見える範囲の画像と同じ画像に選択枠７００が重ねられた画像がモニタＬＣＤ４４に表示される。Ｓ１０２５において、選択ボタンとしての４方向カーソルキー４３や決定ボタン４８の操作状態を判別するためにキースキャンが行われる。キースキャンの後に、Ｓ１０２６にて、モード切替スイッチ（図示せず）がオンモードとなっているか否かが判定される。ここで、モード切替スイッチとは、モニタＬＣＤ４４上に表示された表示枠７００を移動するための枠移動モードと、表示枠７００のサイズを変更するための枠サイズ変更モードとを切替えるためのスイッチであり、このモード切替スイッチがオンモードのときに、枠サイズ変更モードとなる。
【０２０２】
Ｓ１０２６にて、モード切替スイッチがオンモードになっている場合には、Ｓ１０２６での判定がＹＥＳとなり、Ｓ１０２７にて、ユーザーが４方向カーソルキー４３を操作したか否かが判定される。
【０２０３】
Ｓ１０２５におけるキースキャンの結果が４方向カーソルキー４３の操作である場合、Ｓ１０２８にて、モニタＬＣＤ４４に表示する選択枠７００のサイズが４方向カーソルキー４３の操作に応じて拡張或いは縮小され、Ｓ１０２５において更にキースキャンが行われる。一方、Ｓ１０２５におけるキースキャンの結果が４方向カーソルキー４３の操作ではない場合、Ｓ１０３１において、Ｓ１０２５におけるキースキャンの結果が決定ボタン４８の操作であるか否かが判定される。
【０２０４】
また、Ｓ１０２６において、モード切替スイッチがオンモードになっていない場合には、Ｓ１０２６での判定がＮＯとなり、Ｓ１０２９にて、Ｓ１０２５におけるキースキャンの結果が４方向カーソルキー４３の操作である否かが判定される。
【０２０５】
Ｓ１０２９にて、Ｓ１０２５におけるキースキャンの結果が４方向カーソルキー４３の操作である場合、Ｓ１０２９での判定がＹＥＳとなり、Ｓ１０３０にて、モニタＬＣＤ４４に表示する選択枠７００が４方向カーソルキー４３の操作に応じて移動される。一方、Ｓ１０２５におけるキースキャンの結果が４方向カーソルキー４３の操作ではない場合、Ｓ１０３１において、Ｓ１０２５におけるキースキャンの結果が決定ボタン４８の操作か否かが判定される。
【０２０６】
Ｓ１０３１にて、Ｓ１０２５におけるキースキャンの結果が決定ボタン４８の操作である場合、Ｓ１０３１での判定がＹＥＳとなり、Ｓ１０３２にて、選択枠７００で選択された領域の情報が被写体ＫＡの概略寸法として概略寸法格納部４０６ｖに格納される。その後、Ｓ１０３３において、選択された処理のＦｌａｇ、すなわち処理選択Ｆｌａｇとして「手動」Ｆｌａｇが概略寸法格納部４０６ｖに格納される。
【０２０７】
また、Ｓ１０２３にて、ユーザーが４方向カーソルキー４３の操作により「自動」の選択肢が選択された場合には、Ｓ１０２３での判定がＮＯとなり、Ｓ１０３３において、選択された処理のＦｌａｇ、すなわち処理選択Ｆｌａｇとして「自動」Ｆｌａｇが概略寸法格納部４０６ｖに格納される。
【０２０８】
このように、本実施形態における３次元形状検出装置１０においては、被写体ＫＡの概略寸法を手動で外部から設定できる。すなわち、４方向カーソルキー４３と決定ボタン４８をユーザが操作することによって、被写体ＫＡの概略寸法をユーザにより入力することができるのである。また、後述で詳解するように、被写体ＫＡの概略寸法を自動で設定することができる。また、予め被写体ＫＡの大きさが決まっているようなときには、概略寸法格納部４０６ｖに予め被写体ＫＡの概略寸法を設定しておくこともできる。そして、４方向カーソルキー４３と決定ボタン４８を操作することによって、概略寸法格納部４０６ｖに予め設定した被写体ＫＡの概略寸法を選択するようにしてもよい。
【０２０９】
図１９には、図１５におけるＳ１００８が３次元色形状検出処理ルーチンとしてフローチャートで概念的に表されている。この３次元色形状検出処理ルーチンには、テーブルモータ制御プログラム４０４ｉが組み込まれており、このテーブルモータ制御プログラム４０４ｉは、図１９におけるＳ１２０１，Ｓ１２１０〜Ｓ１２１４，Ｓ１２２０，Ｓ１２３０を含むように構成されている。図１９を用いて３次元色形状検出処理を説明する。
【０２１０】
この３次元色形状検出処理ルーチンにおいては、まず、Ｓ１２０１において、回転テーブル１８４の回転位相ＰＨが０に初期化される。本実施形態においては、回転テーブル１８４が１回転する間に４回停止させられるため、回転テーブル１８４には４つの回転位相ＰＨが離散的に設定される。具体的には、回転位相ＰＨは、初期の回転位相ＰＨを表す「０」と、次の回転位相ＰＨを表す「１」と、次の回転位相ＰＨを表す「２」と、最後の回転位相ＰＨを表す「３」とに離散的に変化させられる。
【０２１１】
次に、Ｓ１２１０において、撮像処理プログラム４０４ｂが実行されることにより、今回の回転位相ＰＨについて撮像処理が実行される。この撮像処理においては、投影部１２からストライプ状のパターン光が時系列的に被写体ＫＡに投影される。さらに、複数種類のパターン光が投影されている被写体ＫＡをそれぞれ撮像した複数枚のパターン光有画像と、パターン光が投影されていない同じ被写体ＫＡを撮像した１枚のパターン光無画像とが取得される。このＳ１２１０は、後に図２０を参照して詳述する。
【０２１２】
ある位相での撮像処理が終了すると、Ｓ１２１１にて回転位相ＰＨの変更が準備される。すなわち、次の位相の値にインクリメントされる。次に、Ｓ１２１２で回転位相ＰＨの値が、値「４」より大きいかが判定される。値「４」より小さければ（Ｓ１１２２：ＮＯ）、Ｓ１２１３に進み、Ｓ１２１３にて回転テーブルが時計方向に９０度回転される。回転された後、再び撮像処理Ｓ１２１０が行われる。こうして、３６０度回転するまで、撮像処理が行われる。
【０２１３】
値「４」より大きい場合（Ｓ１２１２：ＹＥＳ）には、Ｓ１２１４にて概略寸法測定処理が実行される。この概略寸法測定処理が実行されると、被写体ＫＡの概略寸法が計算され、概略寸法格納部４０６ｖに計算された概略寸法が格納される。このＳ１２１４は、後に図２３を参照して詳述する。
【０２１４】
ここで、初期の回転位相ＰＨ「０」のときに撮像処理されたパターン光無画像を被写体ＫＡが基準位置のパターン光無画像とする。そして、回転位相ＰＨ「１」,「２」，「３」のときのパターン光無画像を、被写体ＫＡをそれぞれ基準位置から９０度，１８０度，２７０度回転した位置でのパターン光無画像とする。
【０２１５】
次いで、Ｓ１２２０において、今回の回転位相ＰＨについて３次元計測処理が実行される。この３次元計測処理が実行されると、上述の撮像処理によって取得された複数枚のパターン光有画像と１枚のパターン光無画像とが利用されて、実際に被写体ＫＡの３次元形状が算出される。このＳ１２２０は、後に図３２を参照して詳述する。
【０２１６】
全ての角度における３次元計測処理が終わると、Ｓ１２３０において、被写体ＫＡについて計測された３次元形状と表面色とを組み合わせることにより、３次元色形状検出結果が生成される。このＳ１２３０は、後に図３４を参照して詳述する。
【０２１７】
次に、図２０を参照することにより、図２０におけるＳ１２１０を詳述する。図２０には、そのＳ１２１０が撮像処理プログラム４０４ｂとしてフローチャートで概念的に表されている。
【０２１８】
この撮像処理プログラム４０４ｂにおいては、まず、Ｓ２００１において、パターン光を形成するために使用されるマスクパターンの番号を表すパターン番号ＰＮが０に初期化される。続いて、Ｓ２００２において、そのパターン番号ＰＮの現在値が最大値ＰＮｍａｘより小さいか否かが判定される。その最大値ＰＮｍａｘは、使用されるマスクパターンの合計数に応じて決定される。例えば、８種類のマスクパターンが使用される場合には、最大値ＰＮｍａｘが８に設定される。
【０２１９】
今回は、パターン番号ＰＮの現在値が最大値ＰＮｍａｘより小さいと仮定すれば、Ｓ２００２の判定がＹＥＳとなり、続いて、Ｓ２００２ａにおいて、マスクモータ制御プログラム４０４ｈが実行される。
【０２２０】
このマスクモータ制御プログラム４０４ｈにおいては、図２１に示すように、まず、Ｓ２２０１において、マスクモータ６５を一定速度で回転駆動するための信号がマスクモータドライバ８６に供給される。これにより、マスク２００が供給ローラ２２０から照射位置２２８に供給される向きにマスク２００が送られる。
【０２２１】
次に、Ｓ２２０２において、位置センサ３００からＰＤ信号が読み取られる。続いて、Ｓ２２０３において、その読み取られたＰＤ信号がローレベルを示すか否かが判定される。すなわち、位置センサ３００がいずれかの位置基準穴２８０（今回は、先頭の位置基準穴２８０）が検出されたか否かが判定される。
【０２２２】
今回は、ＰＤ信号がハイレベルを示すと仮定すれば、Ｓ２２０３の判定がＮＯとなり、Ｓ２２０１に戻り、マスクモータ６５の駆動およびＰＤ信号の読み取りが繰り返される。Ｓ２２０１ないしＳ２２０３の実行が何回か繰り返された結果、ＰＤ信号がハイレベルからローレベルに変化したと仮定すれば、Ｓ２２０３の判定がＹＥＳとなる。
【０２２３】
その後、Ｓ２２０４において、第１ないし第３のＩＤセンサ３１０ないし３１４からＳ１ないしＳ３信号がそれぞれ読み取られる。続いて、Ｓ２２０５において、それら読み取られたＳ１ないしＳ３信号のレベルの組合せ（３ビットの情報）がパターン番号ＰＮの現在値を表すか否かが判定される。すなわち、マスク２００における複数のフレーム２０２のうち現在、照射位置２２８に位置しているものすなわち現在フレーム２０２のパターン番号ＰＮが、パターン番号ＰＮの現在値と一致するか否かが判定される。
【０２２４】
今回は、現在フレーム２０２のパターン番号ＰＮがパターン番号ＰＮの現在値と一致しないと仮定すると、Ｓ２２０５の判定がＮＯとなり、Ｓ２２０１に戻る。これに対し、今回は、現在フレーム２０２のパターン番号ＰＮがパターン番号ＰＮの現在値と一致すると仮定すると、Ｓ２２０５の判定がＹＥＳとなる。本実施形態においては、マスク２００において複数のフレーム２０２が並ぶ順序と同じ順序に、パターン番号ＰＮが１ずつ増加させられるようになっている。すなわち、マスク２００がシーケンシャルに送られるようになっているのであり、よって、Ｓ２２０５の判定は、３次元形状検出装置１０に異常が存在しない限り、ＹＥＳとなる。
【０２２５】
Ｓ２２０５の判定がＹＥＳとなると、その後、Ｓ２２０６において、マスクモータ６５が停止させられ、それにより、現在フレーム２０２が照射位置２２８に停止させられる。その結果、現在フレーム２０２の位置決めが完了する。
【０２２６】
以上で、このマスクモータ制御プログラム４０４ｈの一回の実行が終了する。
【０２２７】
なお付言するに、本実施形態においては、マスクモータ６５の間欠的駆動によるマスク２００の間欠的送りにより、複数のフレーム２０２が順次、照射位置２２８に位置決めされるように、マスクモータ６５が制御される。これに対し、マスクモータ６５の連続的駆動によるマスク２００の連続的送りにより、複数のフレーム２０２が順次、照射位置２２８に位置決めされるように、マスクモータ６５が制御される態様で本発明を実施することが可能である。
【０２２８】
ところで、前述のように、本実施形態においては、マスク２００において各貫通穴２０４の長さ方向がマスク２００の送り方向に一致させられている。よって、マスク２００の移動中でも、いずれかのフレーム２０２が照射位置２２８を通過する際に、同じフレーム２０２によって同じパターン光が生成されて被写体ＫＡに投影される時間を確保することが容易である。
【０２２９】
したがって、マスク２００が一時的に停止しないにもかかわらず、同じパターン光を事実上、静止画像として被写体ＫＡに投影することが容易である。このことは、マスク２００の連続的送りにより、複数のフレーム２０２を順次、照射位置２２８に確実に位置決めするために好都合である。
【０２３０】
第１実施形態においては、マスクモータ制御プログラム４０４ｈの一回の実行が終了すると、図２０におけるＳ２００３において、使用される複数種類のマスクパターンのうち、パターン番号ＰＮの現在値と等しい番号が付されたＰＮ番目のマスクパターンの投影が開始される。
【０２３１】
続いて、Ｓ２００４において、ＰＮ番目のマスクパターンを被写体ＫＡに投影するための投影処理が行われる。図２２には、このＳ２００４の詳細が投影処理サブルーチンとしてフローチャートで概念的に表されている。この投影処理サブルーチンの実行により、ＰＮ番目のマスクパターンを有するパターン光を投影部１２から被写体ＫＡに投影する投影処理が投影機構６６との共同作用によって実行される。
【０２３２】
この投影処理においては、まず、Ｓ３００４において、光源ドライバ８４が駆動され、続いて、Ｓ３００５において、その光源ドライバ８４からの電気信号によってＬＥＤ６２が発光する。以上で、今回の投影処理が終了する。
【０２３３】
ＬＥＤ６２から発光した光は、光源レンズ６４を経て投影機構６６に到達する。その投影機構６６においては、マスク２００の現在フレーム２０２の開口パターンに応じた空間変調が施され、その結果、投影機構６６への入射光がパターン光に変換されて出力される。その投影機構６６から出力されるパターン光は、投影光学系３２を経て被写体ＫＡに投影画像として投影される。
【０２３４】
以上のようにして、ＰＮ番目のマスクパターンによって形成されるＰＮ番目のパターン光が被写体ＫＡに投影されると、続いて、図２０におけるＳ２００５において、そのＰＮ番目のパターン光が投影されている被写体ＫＡが撮像部１４によって撮像される。
【０２３５】
その撮像により、ＰＮ番目のパターン光が投影されている被写体ＫＡを撮像したＰＮ番目のパターン光有画像が取得される。その取得されたパターン光有画像は、対応するパターン番号ＰＮに関連付けてパターン光有画像格納部４０６ａに格納される。
【０２３６】
その撮像が終了すると、Ｓ２００６において、ＰＮ番目のパターン光の投影が終了し、続いて、Ｓ２００７において、次のパターン光を投影すべく、パターン番号ＰＮが１だけインクリメントされ、その後、Ｓ２００２に戻る。
【０２３７】
Ｓ２００２ないしＳ２００７の実行がパターン光の種類の数と同数回繰り返された結果、パターン番号ＰＮの現在値が最大値ＰＮｍａｘより小さくはない値になると、Ｓ２００２の判定がＮＯとなり、今回の撮像処理が終了する。したがって、一回の撮像処理により、最大値ＰＮｍａｘと同数枚のパターン光有画像が取得されることになる。
【０２３８】
続いて、Ｓ２００８において、フラッシュモードが選択されているか否かが判定される。フラッシュモードが選択されていれば、その判定がＹＥＳとなり、Ｓ２００９において、フラッシュ２６が発光させられるが、フラッシュモードが選択されていなければ、Ｓ２００８の判定がＮＯとなり、Ｓ２００９がスキップされる。いずれにしても、その後、Ｓ２０１０において、被写体ＫＡが撮像される。
【０２３９】
この撮像は、被写体ＫＡの概略寸法を検出すること及び被写体ＫＡの表面色を計測することを目的として、投影部１２からパターン光を被写体ＫＡに投影することなく、行われる。その結果、被写体ＫＡについて１枚のパターン光無画像が取得される。その取得されたパターン光無画像はパターン光無画像格納部４０６ｂに格納される。
【０２４０】
続いて、Ｓ２０１１において、マスク２００のうちの長さ方向における先頭部分が照射位置２２８に位置するようにマスク２００の長さ方向位置を初期化すべくマスクモータ６５が駆動される。
【０２４１】
以上で、この撮像処理プログラム４０４ｂの一回の実行が終了する。
【０２４２】
図２３は、本発明の第１実施形態における３次元形状検出装置の処理を示すタイミングチャートである。この図２３には、３Ｄモードが選択されている状態で、ユーザーによってレリーズボタン４０が全押し状態に操作された場合にこの３次元形状検出装置１０によって実行される場合が示されている。
【０２４３】
図２３（ａ）には、被写体ＫＡからの入射光によってＣＣＤ７０が複数回、連続して露光される様子が示されている。図２３（ｂ）には、それら複数回の露光のそれぞれにつき、被写体ＫＡからの入射光によって表される全体画像のうちの各画素に光がＣＣＤ７０によって電気信号に変換されてＣＣＤ７０から出力される信号出力タイミングがタイミングチャートで表されている。図２３（ｃ）には、撮像部１４の画像処理モードが前述の間引き画像処理モードと非間引き画像処理モードとに時間的に切り替わるタイミングがタイミングチャートで表されている。
【０２４４】
さらに、図２３（ｄ）には、撮像部１４の状態が、待機状態と、撮像および信号取り出しのための作動状態とに時間的に切り替わるタイミングがタイミングチャートで表されている。図２３（ｅ）には、各パターン光を形成するためにマスク２００において各フレーム２０２が割り出されるタイミングがタイミングチャートで表されている。図２３（ｆ）には、フラッシュ２６がＯＦＦ状態とＯＮ状態とに時間的に切り替わるタイミングがタイミングチャートで表されている。図２３（ｇ）には、レリーズボタン４０が非操作状態（ＯＦＦ状態）と操作状態（ＯＮ状態）とに時間的に切り替わるタイミングがタイミングチャートで表されている。
【０２４５】
第１実施形態においては、被写体ＫＡからの入射光によるＣＣＤ７０の露光後に、その露光を反映した信号のＣＣＤ７０からの取り出しが行われる。１回の露光に１回の信号取り出しが対応しており、それら露光と信号取り出しとが互いに共同して１回の個別撮像処理を構成する。
【０２４６】
第１実施形態においては、同じ被写体ＫＡについて３次元形状情報の取得と表面色情報の取得とが連続的に、かつ、それらの順で行われる。
【０２４７】
前述のように、被写体ＫＡの３次元形状情報を取得するために、その被写体ＫＡに８種類のパターン光（パターン番号ＰＮ＝０〜７）が順次投影され、各パターン光の投影ごとに、ＣＣＤ７０の露光とＣＣＤ７０からの信号取り出しとが行われる。すなわち、被写体ＫＡの３次元形状情報を取得するために、その被写体ＫＡに対する個別撮像処理が順次行われ、最終的には合計８回の撮像処理が行われる。図２３においては、３次元形状情報を取得するための各回の個別撮像処理に対応するパターン光の番号ＰＮが、「０」ないし「７」の数字によって示されている。
【０２４８】
被写体ＫＡの表面色情報を取得するために、被写体ＫＡからの入射光によってＣＣＤ７０が１回露光され、その後に信号取り出しが行われる。すなわち、被写体ＫＡの表面色情報を取得するために、被写体ＫＡに対する個別撮像処理が１回行われるのである。図２３においては、表面色情報を取得するための１回の個別撮像処理が「ｃ」という記号によって示されている。
【０２４９】
３次元形状情報取得のための撮像においては、照明光としてパターン光を被写体ＫＡに投影することが必須であるのに対し、表面色情報取得のための撮像においては、照明光を被写体ＫＡに投影することが選択的である。具体的には、表面色情報取得のための撮像においては、被写体ＫＡからの受光量が不足している場合に、フラッシュ２６が自動的に発光させられ、それにより、被写体ＫＡに照明光が投影される。
【０２５０】
したがって、第１実施形態においては、３次元形状情報取得のための８回の個別撮像処理と、表面色情報取得のための１回の個別撮像処理とが連続的に行われ、合計９回の個別撮像処理が連続的に行われる。この９回の個別撮像処理が１回の全体撮像処理を構成している。
【０２５１】
それら９回の個別撮像処理においては、同じ被写体ＫＡについて９回の露光が順次行われ、それら９回の露光は、例えば、ビデオレートと同じ速度および同一周期で行われる。それら９回の露光が連続的に行われる期間は、被写体ＫＡと３次元形状検出装置１０との相対位置が変化するとその影響がＣＣＤ７０の撮像結果に現れる期間である。この期間は、３次元形状検出装置１０の撮像時間である。
【０２５２】
３次元形状情報取得のための８回の個別撮像処理における信号取り出しは、間引き画像処理として実行される。したがって、３次元形状情報取得のための各回の個別撮像処理においては、ＣＣＤ７０の露光に後続し、必要な信号取り出し時間ｔ１の経過後、ＣＣＤ７０から電気信号が出力される。信号取り出し時間ｔ１は、１フレーム取り出し時間ともいい、各パターン光の投影ごとに、ＣＣＤ７０の露光が終了してから、３次元形状情報が１フレーム分、ＣＣＤ７０から出力されるまでに必要な３次元形状情報出力時間を意味する。
【０２５３】
これに対し、図２３に示す一例においては、表面色情報取得のための１回の個別撮像処理における信号取り出しが、非間引き画像処理として実行される。したがって、表面色情報取得のための１回の個別撮像処理については、ＣＣＤ７０の露光に後続し、必要な信号取り出し時間ｔ２の経過後、ＣＣＤ７０から電気信号が出力される。信号取り出し時間ｔ２は、１フレーム取り出し時間ともいい、ＣＣＤ７０の露光が終了してから、表面色状情報が１フレーム分、ＣＣＤ７０から出力されるまでに必要な表面色情報出力時間を意味する。
【０２５４】
間引き画像処理に必要な信号取り出し時間ｔ１は、例えば、約３３ｍｓであるのに対し、信号取り出し時間ｔ２は、約０．５ｓである。
【０２５５】
図２３（ａ）および（ｂ）に示すように、１回の個別撮像処理においては、露光が終了した後に信号取り出しが開始されるが、次回の個別撮像処理における露光は、前回の個別撮像処理における信号取り出しが終了する前に開始される。すなわち、ある回の個別撮像処理における信号取り出しと次回の個別撮像処理における露光とが時間的に部分的にオーバラップするように行われるのである。ただし、ある回の個別撮像処理における信号取り出しは、次回の個別撮像処理における露光が終了する前に終了する。
【０２５６】
したがって、第１実施形態においては、図２３（ｂ）に示すように、３次元形状情報取得のための８回の信号取り出しが時間的に隙間なく連続的に行われる。
【０２５７】
各回の信号取り出しは、それが間引き画像処理として実行される場合には、約３３ｍｓで終了する。したがって、８回の信号取り出しは約０．２６ｓで終了する。よって、図２３に示す撮像時間（全体撮像時間）のうち３次元形状情報取得のための撮像に必要な部分（以下、「部分撮像時間」という。）の長さは、信号取り出し時間の長さの合計値によって支配されるため、約０．２６ｓの程度の長さで済む。
【０２５８】
このように、ＣＣＤ７０からの信号取り出しを間引き画像処理として実行する場合には、撮像時間が短縮され、その結果、被写体ＫＡの動きや３次元形状検出装置１０の手振れにもかかわらず、被写体ＫＡの３次元形状を高精度で計測できる。
【０２５９】
さらに、図２３に示すように、第１実施形態においては、３次元形状情報取得のための２回目ないし８回目の露光のそれぞれと、表面色情報取得のための露光とが、先行する直前の露光に対応する信号取り出しの終了を待つことなく、開始される。先行する露光に対応する信号取り出しと、後続する露光とが互いに並行して行われ、９回の信号取出しが時間的に隙間なく連続的に行われる。したがって、図２３に示す撮像時間、すなわち、３次元形状情報取得のための撮像と表面色情報取得のための撮像との双方を連続的に行うのに必要な時間が短縮される。
【０２６０】
具体的には、各回の信号取り出しは、約３３ｍｓで終了するため、９回の信号取り出しは約０．３ｓで終了し、よって、それに対応する全体撮像時間も同程度の時間で終了する。
【０２６１】
仮に、表面色情報取得のための１回の個別撮像処理すなわち表面色計測撮像処理（信号取り出しが非間引き画像処理として実行される。）を先に、３次元形状情報取得のための８回の個別撮像処理すなわち３次元計測撮像処理（信号取り出しが間引き画像処理として実行される。）を後に実行した場合には、先行する表面色計測撮像処理における信号取出しがほとんど終了するまで、３次元形状情報取得のための初回の露光が待たされる。この待ち時間は、信号取り出し時間ｔ２の長さにほぼ等しく、約０．５ｓである。
【０２６２】
この場合には、表面色情報取得のための露光と、３次元形状情報取得のための初回の露光との間にやや長い時間間隔が存在し、図２３に示す全体撮像時間が長くなる。一方、測定ヘッドＭＨと被写体ＫＡとの間の相対変位が存在しないかないしは十分に小さい場合には、その全体撮像時間がやや長いことは問題にならない。これに対し、測定ヘッドＭＨと被写体ＫＡとの間の相対変位が大きい場合には、その全体撮像時間が長いと、表面色情報と３次元形状情報とが画素の位置に関して互いに十分に正確にマッチングしなくなってしまう。すなわち、テクスチャマッピング精度が低下してしまう。
【０２６３】
これに対し、第１実施形態においては、図２３に示すように、３次元形状情報取得のための８回の個別撮像処理が先に、表面色情報取得のための１回の個別撮像処理が後に行われる。その結果、先行する３次元形状情報取得のための８回目の露光と、後続する表面色情報取得のための露光とを、先行する３次元形状情報取得のための８回の露光が行われる周期と同じ周期で連続して行うことが可能となる。よって、本実施形態によれば、全体撮像時間を、約０．３ｓ程度にまで短縮することが可能となる。
【０２６４】
したがって、第１実施形態によれば、３次元形状情報取得のための露光と表面色情報取得のための露光とを十分に短い時間間隔で連続して行うことが可能となり、その結果、測定ヘッドＭＨと被写体ＫＡの間の相対変位の有無やその程度の大小にかかわらず、高いテクスチャマッッピング精度が実現される。
【０２６５】
図２４には、図１９におけるＳ１２１４が概略寸法処理ルーチンとして、フローチャートで概念的に表されている。この概略寸法処理ルーチンには、概略寸法測定プログラム４０４ｋが組み込まれており、この概略寸法測定プログラム４０４ｋは、図２４におけるＳ３１０１ないしＳ３１０６を含むように構成されている。以下、図２４を用いて概略寸法処理を説明する。なお、この概略寸法処理は、ＣＰＵ４０２が概略寸法測定プログラム４０４ｋを読み込んで実行するものであり、測定手段として被写体ＫＡの概略寸法を測定する処理である。
【０２６６】
この概略寸法処理ルーチンにおいては、まず、Ｓ３１０１にて、概略寸法格納部４０６ｖに格納された処理選択Ｆｌａｇが「自動」Ｆｌａｇであるか否かが判定される。Ｓ３１０１にて、処理選択Ｆｌａｇが「自動」Ｆｌａｇであると判定された場合、Ｓ３１０１での判定がＹＥＳとなり、Ｓ３１０２にて、回転テーブル１８４の回転中心位置から所定のパターンが検索される。上述のように本第１実施形態における３次元形状検出装置１０は、所定のパターンの目盛り４ａとして回転テーブル１８４上に同心円が形成されている。以下、このＳ３１０２の処理を具体的に説明する。
【０２６７】
まず、パターン光無画像格納部４０６ｂに格納されている被写体ＫＡが基準位置のときのパターン光無画像（以下、「基準位置のパターン光無画像」とする。）が取り出される。このように取り出されたパターン光無画像は、回転テーブル１８４上に形成された所定のパターンの目盛り４ａを探索するために用いる。
【０２６８】
すなわち、基準位置のパターン光無画像を処理対象として、このパターン光無画像に含まれる同心円を形成する複数の円のうち、同心円中心Ｏの位置に一番近い円から順にその円の存在が探索される。
【０２６９】
そして、被写体ＫＡによって隠れていない円のうち、同心円中心Ｏの位置に一番近い円を検出する。検出された円の情報は、ＲＡＭ４０６の概略寸法格納部４０６ｖに格納される。
【０２７０】
たとえば、図２５に示すように、所定パターンとして同心円を構成する複数の円Ｍ１〜Ｍ９が形成された回転テーブル１８４上にカップのような形状の被写体ＫＡが載置されている場合、撮像部１４から回転テーブル１８４の同心円中心Ｏを結ぶ仮想線Ｘ上の同心円は、円Ｍ１〜Ｍ３が被写体ＫＡによって隠された状態となる。
【０２７１】
そして、基準位置のパターン光無画像を処理対象として、このパターン光無画像に含まれる同心円を形成する複数の円Ｍ１〜Ｍ９のうち、同心円中心Ｏの位置に一番近い円Ｍ１から順にその円の存在が検索される。
【０２７２】
次に、撮像部１４と同心円中心Ｏとを結ぶ仮想線Ｘ上において、被写体ＫＡによって隠れていない円Ｍ４〜Ｍ９のうち、同心円中心Ｏの位置に一番近い円Ｍ４が検出される。検出された円Ｍ４の情報は、ＲＡＭ４０６の概略寸法格納部４０６ｖに格納される。
【０２７３】
以下、同様の処理が、被写体ＫＡを基準位置から９０度，１８０度，２７０度回転したときのそれぞれのパターン光無画像を処理対象として行われ、これらのパターン光無画像に含まれる同心円を形成する複数の円Ｍ１〜Ｍ９のうち、被写体ＫＡによって隠れていない円で、かつ同心円中心Ｏの位置に一番近い円が検出される。なお、本第１実施形態においては、被写体ＫＡによって隠れていない円Ｍ４〜Ｍ９のうち、同心円中心Ｏの位置に一番近い円は被写体ＫＡがいずれの位置でもＭ４であるとする。したがって、ここで検出される円の情報は、被写体ＫＡがいずれの位置でも、円Ｍ４の情報である。検出された円Ｍ４の情報は、ＲＡＭ４０６の概略寸法格納部４０６ｖに格納される。
【０２７４】
なお、本実施形態における３次元形状検出装置１０では、撮像部１４の位置は固定されているため、同心円中心Ｏは、パターン光無画像の特定位置に存在することになる。したがって、同心円中心Ｏが存在する特定位置を予め設定しておくことで、円Ｍ１〜Ｍ９の位置が既知となり、同心円中心Ｏからの円Ｍ１〜Ｍ９の検出を可能となる。この特定位置の設定は、製造時にＲＡＭ４０６等に記憶させてもよい。また、校正モードなどにおいてこの特定位置を検出してＲＡＭ４０６等に記憶させてもよい。校正モードにて特定位置の設定を行う場合には、回転テーブル１８４上に被写体ＫＡを載置させない状態で特定位置を検出しＲＡＭ４０６に記憶させる。なお、特定位置の検出のために同心円中心Ｏに識別マークを形成する。
【０２７５】
次に、Ｓ３１０３にて、平面板３ａに形成された所定パターンの目盛り４ｂについて、平面板３ａの上部方向から下部方向に向けて順次検索が行われる。上述のように本第１実施形態における３次元形状検出装置１０は、所定のパターンの目盛り４ｂとして平面板３ａに複数の横ラインが形成されており、以下、このＳ３１０３の処理を具体的に説明する。
【０２７６】
まず、パターン光無画像格納部４０６ｂに格納されている基準位置のパターン光無画像が取り出される。このように取り出された基準位置のパターン光無画像は、平面板３ａに形成された所定のパターンを探索するために用いられる。
【０２７７】
すなわち、基準位置のパターン光無画像を処理対象として、このパターン光無画像に含まれる複数の横ラインのうち、最上部の横ラインから順にその横ラインの存在が探索される。
【０２７８】
そして、被写体ＫＡによってその一部が隠れていない横ラインのうち、最も下部にある横ラインが検出される。検出された横ラインの情報は、ＲＡＭ４０６の概略寸法格納部４０６ｖに格納される。
【０２７９】
たとえば、図２６に示すように、所定パターンとして複数の横ラインＨ１〜Ｈ１３が形成された平面板３ｂにカップのような形状の被写体ＫＡが載置されている場合、回転テーブル１８４に垂直でかつ同心円中心Ｏを通る仮想線Ｙ上の複数の横ラインは、横ラインＨ１〜Ｈ７が被写体ＫＡによって隠された状態となる。
【０２８０】
そして、基準位置のパターン光無画像を処理対象として、このパターン光無画像に含まれる複数の横ラインＨ１〜Ｈ１３のうち、最上部の横ラインから順にその横ラインの存在が探索される。
【０２８１】
次に、仮想線Ｙ上において、被写体ＫＡによって隠れていない横ラインＨ８〜Ｈ３のうち、最下部に位置する横ラインＨ８が検出される。検出された横ラインＨ８の情報は、ＲＡＭ４０６の概略寸法格納部４０６ｖに格納される。
【０２８２】
Ｓ３１０１にて、処理選択Ｆｌａｇが「手動」Ｆｌａｇであると判定した場合、Ｓ３１０１での判定がＮＯとなり、Ｓ３１０４にて、概略寸法格納部４０６ｖに格納された被写体ＫＡの概略寸法情報が取り出される。すなわち、Ｓ１０２９にて、概略寸法格納部４０６ｖに格納された被写体ＫＡの概略寸法情報が取り出されるのである。
【０２８３】
次に、Ｓ３１０５にて、被写体ＫＡの概略寸法が計算される。すなわち、Ｓ３１０２によって検出された円の情報に基づいて、被写体ＫＡの奥行き寸法と幅寸法が算出される。また、Ｓ３１０３によって検出された横ライン情報に基づいて、被写体ＫＡの高さ寸法が算出される。以下、Ｓ３１０１の処理を具体的に説明する。
【０２８４】
最初に、奥行き寸法の算出について説明する。
【０２８５】
まず、寸法格納部４０６ｖから奥行き寸法の算出を行うために必要な円の情報が取得される。この円情報は、上述のように被写体ＫＡによって隠れていない円のうち、同心円中心Ｏの位置に一番近い円の情報であり、被写体ＫＡの位置が基準位置のときの情報（以下、「前方奥行き情報」とする。）と、基準位置から１８０度回転した位置のときのそれぞれの情報（以下、「後方奥行き情報」とする。）である。
【０２８６】
ここで、前方奥行き情報は、同心円中心Ｏから被写体ＫＡ底部前方までの寸法情報、後方奥行き情報は、同心円中心Ｏから被写体ＫＡ底部後方までの寸法情報を意味する。
【０２８７】
そして、前方奥行き情報と後方奥行き情報とにより、被写体ＫＡの奥行き寸法が算出される。
【０２８８】
たとえば、図２５に示すように、所定パターンとして同心円を構成する複数の円Ｍ１〜Ｍ９が形成された回転テーブル１８４上にカップのような形状の被写体ＫＡが載置されている場合、上述のように前方奥行き情報は円Ｍ４となり、後方奥行き情報は円Ｍ４となる。そして、これらの情報に基づいて被写体ＫＡの奥行き寸法を算出する。
【０２８９】
ここで、円Ｍ１の半径を１ｃｍとし、隣接する各円Ｍ１〜Ｍ９のそれぞれの間隔を１ｃｍとした場合、被写体ＫＡの奥行き寸法は８ｃｍと測定される。なお、上記カップのような被写体ＫＡは、その底面の奥行きに比べ上部の奥行きが大きい場合がある。そのため、上記測定した被写体ＫＡの奥行き寸法にマージンを持たせた値を被写体ＫＡの奥行き寸法とすることができるように構成される。このマージンは概略寸法格納部４０６ｖに予め設定されているが、ユーザーによる４方向カーソルキー４３などの操作によって、このマージンの値を変更可能に構成している。
【０２９０】
次に、幅寸法の算出について説明する。
【０２９１】
まず、寸法格納部４０６ｖから幅寸法の算出を行うために必要な円の情報が取得される。この円情報は、上述のように被写体ＫＡによって隠れていない円のうち、同心円中心Ｏの位置に一番近い円の情報であり、被写体ＫＡの位置が基準位置から９０度回転した位置のときの情報（以下、「左側方幅情報」とする。）と、基準位置から２７０度回転した位置のときのそれぞれの情報（以下、「右側方幅情報」とする。）である。
【０２９２】
ここで、左側方幅情報は、同心円中心Ｏから被写体ＫＡ底部左側方までの寸法情報、右側方幅情報は、同心円中心Ｏから被写体ＫＡ底部右側方までの寸法情報を意味する。
【０２９３】
そして、左側方幅情報と右側方幅情報とにより、被写体ＫＡの幅寸法が算出される。
【０２９４】
たとえば、図２５に示すように、所定パターンとして同心円を構成する複数の円Ｍ１〜Ｍ９が形成された回転テーブル１８４上にカップのような形状の被写体ＫＡが載置されている場合、上述のように左側方幅情報は円Ｍ４となり、右側方幅情報は円Ｍ４となる。そして、これらの情報に基づいて被写体ＫＡの幅寸法が算出される。
【０２９５】
ここで、円Ｍ１の半径を１ｃｍとし、各円Ｍ１〜Ｍ９のそれぞれの間隔を１ｃｍとした場合、被写体ＫＡの幅寸法は８ｃｍと測定される。なお、上記カップのような被写体ＫＡは、その底面の幅に比べ上部の幅が大きい場合がある。そのため、上記測定した被写体ＫＡの幅寸法にマージンを持たせた値を被写体ＫＡの幅寸法とすることができるように構成される。このマージンは概略寸法格納部４０６ｖに予め設定されているが、ユーザーによる４方向カーソルキー４３などの操作によって、このマージンの値を変更可能に構成している。
【０２９６】
このように、複数位置で撮像された被写体ＫＡのパターン光無画像をパターン光無画像格納部４０６ｂから取り出し、これらのパターン光無画像のそれぞれに対し、被写体ＫＡによって隠れていない円のうち、同心円中心Ｏの位置に一番近い円を検出することによって、被写体ＫＡの奥行き寸法と幅寸法とを算出する。
【０２９７】
なお、この奥行き寸法とは、回転テーブルが基準位置にあるときに、上述のように撮像部１４の撮像位置を基準とした被写体ＫＡの奥行き寸法を意味する。また、幅寸法とは、回転テーブルが基準位置にあるときに、上述のように撮像部１４の撮像位置を基準とした被写体の幅寸法を意味する。
【０２９８】
また、被写体ＫＡの奥行き寸法及び幅寸法の検出は、ＲＡＭ４０６に格納したテーブルを用いて行う。すなわち、被写体ＫＡにより隠された同心円の個数と被写体の幅寸法もしくは奥行き寸法の概略寸法とを対応付けたテーブルをＲＡＭ４０６に格納し、このテーブルを利用するのである。このようにテーブルを用いることにより、処理速度を向上させることができる。また、このテーブルのような対比表ではなく、演算式によって被写体ＫＡの奥行き寸法及び幅寸法の検出を行うようにしてもよい。
【０２９９】
次に、高さ寸法の算出について説明する。
【０３００】
まず、寸法格納部４０６ｖから高さ寸法の算出を行うために必要な横ラインの情報を取得する。この横ライン情報は、上述のように被写体ＫＡによってその一部が隠れていない横ラインのうち、最も下部にある横ラインである。
【０３０１】
そして、この横ライン情報に基づき、被写体ＫＡの高さ寸法が算出される。
【０３０２】
たとえば、図２６に示すように、所定パターンとして複数の横ラインＨ１〜Ｈ１３が形成された平面板３ａにカップのような形状の被写体ＫＡが載置されている場合、横ライン情報は、横ラインＨ８となり、この情報に基づいて被写体ＫＡの高さ寸法が算出される。
【０３０３】
ここで、隣接する横ライン同士の間隔を２ｃｍとした場合、被写体ＫＡの高さ寸法は１６ｃｍと測定される。
【０３０４】
このように、被写体ＫＡのパターン光無画像をパターン光無画像格納部４０６ｂから取り出し、このパターン光無画像において、被写体ＫＡによってその一部が隠れていない横ラインのうち、最も下部にある横ラインを検出することによって、被写体ＫＡの高さ寸法を算出する。なお、上記測定した被写体ＫＡの高さ寸法にマージンを持たせた値を被写体ＫＡの高さ寸法とすることができるように構成される。このマージンは概略寸法格納部４０６ｖに予め設定されているが、ユーザーによる４方向カーソルキー４３などの操作によって、このマージンの値を変更可能に構成している。
【０３０５】
なお、被写体ＫＡによってその隠れていない円のうち、最も同心円中心Ｏに近い円の情報は、いわゆる被写体ＫＡによってその隠れている円の個数の情報とも言える。このことは横ラインなどについても同様である。いずれにせよ、被写体ＫＡによって隠れている円や横ラインに基づいて被写体ＫＡの概略寸法を検出するのである。
【０３０６】
次に、Ｓ３１０４にて取り出した被写体ＫＡの概略寸法情報或いはＳ３１０５にて計算した被写体ＫＡの概略寸法情報が、概略寸法格納部４０６ｖに格納される。この概略寸法情報は、後述のコード画像を生成するために用いられる情報であり、この概略寸法情報によって生成するコード画像の画像サイズをどのくらい小さくするかが決定される。このコード画像は、パターン光境界を検出する範囲である。したがって、被写体ＫＡの概略寸法に応じてパターン光境界の検出範囲を限定することができる。
【０３０７】
上述のごとく被写体ＫＡの奥行き寸法や幅寸法の算出のために、図１，図２に示すような回転テーブル１８４上に設けられた同心円を用いた例について説明したが、これに限られるものではない。
【０３０８】
たとえば、図２７及び図２８に示すように、回転テーブル上に所定パターンを設けずに、回転テーブル部ＲＴの基端部に立設させた平面板３ｂに設けた所定パターンによって被写体ＫＡの奥行き寸法や幅寸法を算出するようにしてもよい。
【０３０９】
この平面板３ｂには、回転テーブル１８４面に略垂直に複数の縦ラインの目盛り４ｃが形成されている。これらの複数の縦ラインからなる目盛り４ｃは等間隔に配置される。また、平面板３ｂは、撮像部１４の撮像領域と同一或いはこの撮像領域よりも大きい外形をなす。したがって、被写体ＫＡが回転テーブル１８４に載置されていないときに撮像部１４によって撮像された撮像画像は、その全体に目盛り４ｃが撮像される。
【０３１０】
そして、パターン光無画像格納部４０６ｂに格納されているパターン光無画像を処理対象として、このパターン光無画像に含まれる複数の縦ラインのうち、右端或いは左端の縦ラインから順にその縦ラインの存在が探索される。そして、被写体ＫＡによって隠れていない縦ラインのうち、最も中心に近い左右の縦ラインが検出される。
【０３１１】
たとえば、図２８に示すように、平面板３ｂに所定パターンの目盛り６ｃとして複数の縦ラインＶ１〜Ｖ１６が形成され、かつカップのような形状の被写体ＫＡが載置されている場合、概略寸法測定プログラム４０４ｋによって検出される縦ライン情報は、縦ラインＶ５及びＶ１４となる。この検出は、被写体ＫＡが基準位置から０度，９０度，１８０度，２７０度のそれぞれの位置でのパターン光無画像について行われる。
【０３１２】
上記の如く検出された縦ライン情報に基づいて、被写体ＫＡの幅寸法や奥行き寸法の検出が行われる。
【０３１３】
なお、図２７，図２８では、平面板３ｂに形成される所定パターンとして複数の縦ラインのみとしたが、図２９に示すように、この複数の縦ラインに加え、複数の横ラインをも形成するようにしてもよい。このように複数の縦ライン及び横ラインからなる格子状のパターンの目盛り４ｄを平面板３ｃに形成することにより、被写体ＫＡの幅寸法や奥行き寸法のみならず、被写体ＫＡの高さ寸法まで検出することができる。
【０３１４】
すなわち、複数の横ラインの検出により上記のように幅寸法や奥行き寸法を検出し、複数の縦ラインの検出により上記のように高さ寸法を検出するのである。
【０３１５】
また、平面板３ａ〜３ｃや回転テーブル１８４に所定パターンを形成するのではなく、別部材を測定部材として所定パターンを形成するようにしてもよい。
【０３１６】
たとえば、図３０に示す測定部材３ｄは、被写体ＫＡが柱状をしている場合に特に有効である。例えば、カップ形状の被写体ＫＡなどに有効である。
【０３１７】
図３０で示される測定部材３ｄは、弾力性のある透明のシート状の部材に、横ライン５と階段状ライン６とからなる目盛りを備えている。この階段状ライン６は、右側方からその幅が階段状に小さくなる有色のラインによって形成される。
【０３１８】
図３１に示されるように、測定部材３ｄを円筒状に巻き、その円筒状の空洞に被写体ＫＡを配置する。すなわち、被写体ＫＡの周囲を測定部材３ｄにより周回（囲繞）する。ここで、測定部材３ｄが形成する円筒の空洞の大きさは、被写体ＫＡを取り囲むことができる最小のサイズであってもよく、また、少し余裕を持たせてもよい。
【０３１９】
図３１に示されるように、測定部材３ｄに設けられた複数の横ライン５の内、被写体ＫＡにより隠されている横ラインの数により、まず被写体ＫＡの高さ寸法が測定される。また、階段ライン６は、測定部材３ｄを円筒状にまきつけたときに階段目盛り６は重なり合う。このとき、階段ライン６は階段状の形状を有しているので、重なる部分において、不均一（不整合）に重なる。この重なる部分における不均一の大きさ、すなわち、階段ライン６の重なる部分の一方と他方との幅の差から被写体ＫＡの外周サイズを測定できる。この外周サイズは、幅寸法と奥行き寸法を含むものであり、より的確に被写体ＫＡの概略寸法を表すものである。
【０３２０】
以上の流れで、被写体ＫＡの概略寸法の測定作業が行われる。
【０３２１】
次に、図３２を参照することにより、図１９におけるＳ１２２０を詳述する。図３２には、そのＳ１２２０が３次元計測処理サブルーチンとしてフローチャートで表されている。
【０３２２】
この３次元計測処理サブルーチンにおいては、まず、Ｓ４００１において、輝度画像生成プログラム４０４ｃの実行により、輝度画像が生成される。
【０３２３】
このＳ４００１においては、輝度値が、ＹＣｂＣｒ空間におけるＹ値として定義されており、各画素のＲＧＢ値より、
Ｙ＝０．２９８９・Ｒ＋０．５８６６・Ｇ＋０．１１４５・Ｂ
なる式を用いて計算される。各画素についてＹ値を求めることにより、複数枚のパターン光有画像にそれぞれ対応複数枚の輝度画像が生成される。それら生成された輝度画像は、パターン番号ＰＮに関連付けて輝度画像格納部４０６ｃに格納される。ただし、輝度値の算出に用いられる式は、上記式に限定されるものではなく、他の式に適宜変更することが可能である。
【０３２４】
次に、Ｓ４００２において、コード画像生成プログラム４０４ｄが実行される。このコード画像生成プログラム４０４ｄが実行されると、生成された複数枚の輝度画像が前述の空間コード化法を利用して組み合わされることにより、画素ごとに空間コードが割り当てられたコード画像が生成される。そのコード画像は、輝度画像格納部４０６ｃに格納された複数種類のパターン光有画像に関する輝度画像と、画素ごとに輝度閾値が割り当てられた閾値画像との比較による２値化処理によって生成される。その生成されたコード画像はコード画像格納部４０６ｄに格納される。
【０３２５】
図３３には、このコード画像生成プログラム４０４ｄの詳細がフローチャートで概念的に表されている。このコード画像生成プログラム４０４ｄにおいて採用されている技術は、本出願人の特願２００４−２８５７３６号明細書に詳細に記載されているため、その特許出願を参照することにより、その特許出願の内容を本明細書に引用する。
【０３２６】
以下、このコード画像生成プログラム４０４ｄを時系列的に説明する。
【０３２７】
第１実施形態においては、同じ被写体ＫＡ（３次元対象物）につき、複数種類のパターン光のもとにそれぞれ複数枚の輝度画像が生成される。それらパターン光はいずれも、明部、すなわち、幅を有する明るいパターンラインと、暗部、すなわち、幅を有する暗いパターンラインとが交互に一定の周期で繰り返すように形成される。それらパターン光は、その周期が互いに異なっており、パターン光のそれぞれが、パターン番号ＰＮを有するパターン光と称される。それらパターン光のうち最も短い周期を有するパターン光が、パターン番号ＰＮが０であるパターン光であり、最も長い周期を有するパターン光が、パターン番号ＰＮが（ＰＮｍａｘ−１）であるパターン光である。
【０３２８】
いずれの輝度画像も、対応するパターン光のもとに取得されるため、明部としての明るいパターンラインと、暗部としての暗いパターンラインとが交互に並んで成るパターン画像として形成される。パターンライン間の間隔すなわち周期は、３次元形状検出装置１０と被写体ＫＡとの間における相対的な幾何学的関係（位置および向きに関する関係）に依存するため、各輝度画像内のすべての位置において一定であるとは限らない。複数種類のパターン光のもとにそれぞれ取得される複数枚の輝度画像は、対応するパターン光のパターン番号ＰＮを用いて特定される。
【０３２９】
第１実施形態においては、それら複数枚の輝度画像のうちのいずれかが代表パターン画像に選択される。その代表パターン画像の一典型例は、複数種類のパターン光のうちパターンライン周期が最小であるものに対応する輝度画像であり、これは、パターン番号ＰＮが０である輝度画像である。
【０３３０】
パターン光が投影された被写体ＫＡを撮像した輝度画像においては、輝度値が画素列の方向において空間的にかつ周期的に変化する。その周期的変化を表すグラフにそれの複数個の下ピーク点（最低輝度点）において接する包絡線が存在する。この包絡線は、同じ被写体ＫＡを無照射状態で撮像した輝度画像における輝度値、すなわち、被写体ＫＡの背景光の輝度値の空間的変化を表している。このような包絡線が存在する輝度画像については、各画素の輝度値を閾値処理によって正確に２値化するためには、閾値を画素位置に応じて変化させることが望ましい。すなわち、輝度画像の実際の輝度値変化をトラッキングすることによって閾値を適応的に変化させることが好ましい。
【０３３１】
このような知見に基づき、第１実施形態においては、輝度画像に対してフィルタ処理を行うことによって閾値を算出するフィルタ窓がローカルに設定され、フィルタ処理されることによりその位置に適した閾値が、輝度画像に対してローカルに設定される。輝度画像のうちのあるローカル位置に窓が設定されれば、輝度画像を構成する複数本のパターンラインのうちその窓内に存在する画素の輝度値が取り出されて参照されることにより、そのあるローカル位置に対応する閾値が設定される。
【０３３２】
第１実施形態において使用される窓は、方形窓である。この方形窓を採用する場合には、その方形窓内に存在する複数本のパターンラインを構成する画素の輝度値が取り出され、それら輝度値に対して同一の重み係数が用いられて閾値が算出される。その重み係数により、方形窓の窓関数が定義される。
【０３３３】
さらに、方形窓を採用する場合には、その方形窓の、パターンラインが延びるライン方向におけるライン方向サイズに応じて、その方形窓内においてライン方向に存在する画素の数を可変とすることができる。一方、その方形窓の、複数本のパターンラインが列を成して並ぶ列方向における列方向サイズに応じて、その方形窓内において列方向に存在するパターンラインの数も画素の数も可変とすることができる。
【０３３４】
したがって、方形窓を採用する場合には、その方形窓の列方向サイズにより、輝度画像に窓を設定することによってその輝度画像から算出される閾値が変化することになる。よって、その閾値を適応的に変化させることが必要である場合には、方形窓の列方向サイズを適応的に変化させればよい。
【０３３５】
第１実施形態においては、方形窓として構成される窓のサイズが、その窓内に存在するパターンラインの数がそれらパターンラインの間隔すなわち周期（例えば、明るいパターンラインが繰り返される周期）の整数倍であるように設定することが望ましい。すなわち、窓内に、明るいパターンラインと暗いパターンラインとが同数ずつ存在するように窓のサイズを設定することが望ましいのである。このように設定すれば、窓内に存在する複数本のパターンラインの輝度値の平均値を算出することにより、望ましい閾値を高精度取得することができる。
【０３３６】
しかしながら、同じ輝度画像上であっても、パターンラインの周期は場所によって異なる可能性がある。そのため、窓のサイズを固定した場合には、窓内に存在するパターンラインの数が場所によって変動してしまい、閾値の設定精度が低下してしまう。
【０３３７】
第１実施形態においては、複数枚の輝度画像のうち、パターンラインの周期が最小であるパターン光のもとに撮像されたもの、すなわち、パターン番号ＰＮが０である輝度画像が代表パターン画像として選択される。さらに、本実施形態においては、その代表パターン画像に対してローカルに設定される窓ＶＷが、それのサイズが可変である可変窓として構成されている。それにより、その可変窓ＶＷのサイズが、代表パターン画像の実際のパターンライン周期に適応して変化させられる。
【０３３８】
したがって、第１実施形態によれば、代表パターン画像におけるパターンライン周期が列方向位置に応じて変動しても、それに追従するように可変窓ＶＷのサイズが変更され、その結果、パターンライン周期の変動にもかかわらず、可変窓ＶＷ内に存在する明部と暗部のパターンラインの数が一定に維持される。第１実施形態においては、代表パターン画像に対して可変窓ＶＷが設定されるローカル位置ごとに閾値ＴＨが取得される。ローカル位置ごとの閾値ＴＨは、各ローカル位置に最適なサイズを有する可変窓ＶＷのもとに精度よく取得される。
【０３３９】
また、明部と暗部のパターンラインの数が一定に維持されるような可変窓ＶＷのサイズは、パターン番号ＰＮが０である輝度画像において最小となる。したがって、パターン番号ＰＮが０である輝度画像を代表パターン画像として選択することにより、最小の可変窓ＶＷのサイズが可能になり、可変窓ＶＷを用いた後のフィルタ処理の計算負担を抑えることが可能になる。
【０３４０】
第１実施形態においては、その可変窓ＶＷが、サイズが可変である方形窓として構成されている。その可変窓ＶＷのサイズは、代表パターン画像の列方向には可変であるが、ライン方向には固定であるように設定されている。
【０３４１】
第１実施形態においては、その可変窓ＶＷのサイズ、すなわち、代表パターン画像の列方向におけるサイズが、その代表パターン画像の実際のパターンライン周期を適応的に反映するように設定される。そのため、可変窓ＶＷのサイズを設定するために、代表パターン画像の実際のパターンライン周期分布が事前に判明していることが必要である。
【０３４２】
よって、第１実施形態においては、可変窓ＶＷのサイズの設定に先立ち、サイズが固定された固定窓が代表パターン画像に対して設定される。その設定された固定窓によって捕捉される複数個の連続画素が複数個の注目画素として選択され、それら選択された注目画素の輝度値に基づき、代表パターン画像の実際のパターンライン周期分布が取得される。
【０３４３】
第１実施形態においては、さらに、代表パターン画像における複数個の注目画素の輝度値に対してＦＦＴ(高速フーリエ変換）処理が施され、それにより、代表パターン画像の列方向において輝度値変化の周波数成分のそれぞれについて強度（例えば、パワースペクトル）が取得される。ここで、「周波数成分」は、１個の固定窓
によって捕捉される複数個の注目画素を列方向に辿った場合に、輝度値の変化が反復される反復回数を意味する。
【０３４４】
第１実施形態においては、代表パターン画像において列方向に連続的に並んだ複数個の連続画素のそれぞれが順次注目画素に選定され、その選定された注目画素ごとにパターンライン周期が、代表パターン画像の輝度値分布に基づいて取得される。
【０３４５】
以上、このコード画像生成プログラム４０４ｄを原理的に説明したが、以下、図３３を参照することにより、時系列的に説明する。このコード画像生成処理は、ＣＰＵ４０２がコード画像生成プログラム４０４ｄを実行することによって行うものであり、検出範囲限定手段として、撮像部１４が撮像したパターン光有画像の画像領域のうち、パターン光境界を検出する検出範囲を限定する処理を含むものである。
【０３４６】
このコード画像生成プログラム４０４ｄにおいては、まず、Ｓ５００１において、パターン番号ＰＮが０であるパターン光が投影された被写体ＫＡが撮像された輝度画像のうち概略寸法測定処理によって算出された概略寸法情報に応じた領域の画像が輝度画像格納部４０６ｃから、代表パターン画像として読み込まれる。
【０３４７】
次に、Ｓ５００２において、その代表パターン画像につき、読み込まれた輝度画像に基づき、前述のＦＦＴ変換によるアプローチにより、代表パターン画像において列方向に連続的に並んだ画素ごとにパターンライン周期が演算される。演算された複数個のパターンライン周期は各画素（各列方向画素位置）に関連付けて周期分布格納部４０６ｐに格納される。
【０３４８】
続いて、Ｓ５００３において、演算された複数個のパターンライン周期に基づき、可変窓ＶＷの特性がローカルに設定される。第１実施形態においては、可変窓ＶＷのライン方向サイズは、その可変窓ＶＷが設定される代表パターン画像上の位置にかかわらず、変化しないように設定されるのに対し、可変窓ＶＷの列方向サイズは、各列方向画素位置に関連付けて演算されたパターンライン周期の整数倍に相当するように設定される。
【０３４９】
その後、Ｓ５００４において、代表パターン画像に対して可変窓ＶＷが、ライン方向と列方向とに沿って平面的に、かつ、各画素に関連付けて設定される。それにより、画素ごとに、可変窓ＶＷ内に存在する複数個の画素の輝度値の平均値がローカルな閾値として演算される。このＳ５００４においては、さらに、演算された閾値が各画素に割り当てられた閾値画像が生成される。生成された閾値画像は閾値画像格納部４０６ｑに格納される。
【０３５０】
続いて、Ｓ５００５において、パターン番号ＰＮが０に初期化される。その後、Ｓ５００６において、パターン番号ＰＮの現在値が最大値ＰＮｍａｘより小さいか否かが判定される。パターン番号ＰＮの現在値が０である場合には、判定がＮＯとなり、Ｓ５００７に移行する。
【０３５１】
このＳ５００７においては、パターン番号ＰＮの現在値と等しいパターン番号ＰＮが割り当てられた輝度画像のうち概略寸法測定処理によって算出された概略寸法情報に応じた領域の輝度画像の輝度値と、生成された閾値画像の閾値とが、画素ごとに互いに比較される。その比較結果は、画素ごとに２値化画像に反映される。具体的には、輝度画像の輝度値が閾値より大きい場合には、値「１」を表すデータが、２値化画像のうち対応する画素位置に関連付けて２値化画像格納部４０６ｒに格納される。一方、輝度画像の輝度値が閾値より大きくはない場合には、値「０」を表すデータが、２値化画像のうち対応する画素位置に関連付けて２値化画像格納部４０６ｒに格納される。
【０３５２】
その後、Ｓ５００８において、パターン番号ＰＮが１だけインクリメントされる。続いて、Ｓ５００６に戻り、パターン番号ＰＮの現在値が最大値ＰＮｍａｘより小さいか否かが判定される。今回も、最大値ＰＮｍａｘより小さい場合には、判定がＮＯとなり、Ｓ５００７に移行する。
【０３５３】
Ｓ５００６ないしＳ５００８の実行がパターン光の種類の数と同数回繰り返された結果、パターン番号ＰＮの現在値が最大値ＰＮｍａｘより小さくはない値になると、Ｓ５００６の判定がＹＥＳとなり、Ｓ５００９に移行する。
【０３５４】
このＳ５００９においては、画素ごとに、最大値ＰＮｍａｘと同数枚の２値化画像から画素値（「１」または「０」）が、パターン番号ＰＮが０である輝度画像に対応する２値化画像から、パターン番号ＰＮが（ＰＮｍａｘ−１）である輝度画像に対応する２値化画像に至る順序に従って抽出され、最下位ビットＬＳＢから最上位ビットＭＳＢに至る順序に従って並んだ空間コードが生成される。画素ごとの空間コードのビット数は、最大値ＰＮｍａｘと同数である。画素ごとに空間コードが生成されることにより、今回の被写体ＫＡに対応する空間コード画像が生成される。生成された空間コードは、各画素位置に関連付けて空間コード格納部１１６ｄに格納される。例えば、最大値ＰＮｍａｘが８である場合には、生成される空間コードは０から２５５までの範囲内の値を有する。
【０３５５】
以上で、このコード画像生成プログラム４０４ｄの一回の実行が終了する。
【０３５６】
このように、上述の概略寸法測定処理によって算出された概略寸法情報に応じたコード画像が生成される。すなわち、パターン番号ＰＮが０〜ＰＮｍａｘであるパターン光が投影された状態で被写体ＫＡが撮像された複数の輝度画像の各全領域のうち概略寸法格納部４０６ｖに格納した概略寸法の情報に応じた領域の部分のみの画像をそれぞれ選択して、Ｓ５００１〜Ｓ５００９の処理を行うのである。言い換えれば、被写体ＫＡの概略寸法に応じたサイズのコード画像が生成されるのである。このようなコード画像を生成することにより、パターン光境界を検出する検出範囲を限定することが可能となる。
【０３５７】
その後、図３２におけるＳ４００３において、コード境界抽出プログラム４０４ｅの実行により、コード境界座標検出処理が実施される。このコード境界座標検出処理が、コード画像からパターン光境界を検出して被写体ＫＡの３次元形状を算出する算出手段の処理である。
【０３５８】
なお、概略寸法測定処理によって算出された概略寸法情報を、コード画像を生成するときから用いるのではなく、輝度画像を生成するときから用いるようにしてもよい。このようにすれば、輝度画像の生成処理における計算コストの軽減や処理時間の短縮がさらに可能となる。すなわち、パターン番号ＰＮが０〜ＰＮｍａｘであるパターン光が投影された状態で被写体ＫＡが撮像された撮像画像のうち、略寸法測定処理によって算出された概略寸法情報に応じた領域の画像を用いて、それぞれの輝度画像を生成するようにするのである。
【０３５９】
前述の空間コード化法によるコード化は、各画素単位で行われるため、実際のパターン光における明暗の境界線と、生成されたコード画像における空間コードの境界線（ある空間コードが割り当てられた領域と別の空間コードが割り当てられた領域との間の境界線）との間にサブピクセル精度の誤差が生ずる。そのため、このコード境界座標検出処理は、空間コードの境界座標値をサブピクセル精度で検出することを目的として実施される。
【０３６０】
例えば、各パターン光のライン方向と交差する離散的な基準線の位置をＣＣＤ座標系において２５５本設定すると、最大値ＰＮｍａｘが８（空間コードを２５６有するため、境界は２５５）である場合には、図３２におけるＳ４００３（コード境界抽出プログラム４０４ｅの実行）により、最大約６万５千の空間コードの境界座標値が検出される。
【０３６１】
検出されたコード境界座標値はコード境界座標格納部４０６ｅに格納される。コード境界座標値は、ＣＣＤ７０の結像面に設定された２次元座標系であるＣＣＤ座標系ｃｃｄｘ−ｃｃｄｙにおいて定義される。
【０３６２】
続いて、Ｓ４００４において、レンズ収差補正プログラム４０４ｆの実行により、レンズ収差補正処理が実施される。このレンズ収差補正処理は、撮像光学系３０に入射した光束の実際の結像位置であってその撮像光学系３０の収差の影響を受けたものを、その撮像光学系３０が理想レンズであったならば結像されるはずである理想結像位置に近づくように補正する処理である。
【０３６３】
このレンズ収差補正処理により、Ｓ４００３において検出されたコード境界座標値が、撮像光学系３０の歪みなどに起因した誤差が除去されるように補正される。このように補正されたコード境界座標は収差補正座標格納部４０６ｇに格納される。
【０３６４】
その後、Ｓ４００５において、三角測量演算プログラム４０４ｇの実行により、三角測量の原理による実空間変換処理が実施される。この実空間変換処理が実施されれば、三角測量の原理により、前述の、ＣＣＤ座標系ｃｃｄｘ−ｃｃｄｙ上のコード境界座標値であって収差補正が施されたものが、実空間に設定された３次元座標系である実空間座標系Ｘ−Ｙ−Ｚ上の３次元座標値に変換され、その結果、３次元色形状検出結果としての３次元座標値が取得される。その取得された３次元座標値は、対応する部分画像の回転位相ＰＨに関連付けて、３次元座標格納部４０６ｈに格納される。
【０３６５】
このＳ４００５においては、被写体ＫＡの３次元形状を複数個の３次元頂点の集まりとして空間離散的に計測するために、２次元的なコード画像が、各パターン光のライン方向と交差する離散的な複数本の基準線に関して空間離散的に参照される。これにより、そのコード画像の外周境界上の複数個の離散点にそれぞれ対応する複数個の３次元頂点が取得されるのみならず、そのコード画像の内部の複数個の離散点（Ｓ４００３において検出されたコードの境界座標点）にそれぞれ対応する複数個の３次元頂点が取得される。
【０３６６】
以上、コード境界抽出プログラム４０４ｅの実行により、撮像画像に含まれるパターン光境界が検出される。このとき、被写体ＫＡの異なる角度から撮像された複数の撮像画像について、パターン光境界の検出が行われる。従来の技術における３次元形状検出装置では、不要に広い範囲にわたって検出する必要があったが、本発明の３次元形状検出装置では、この概略寸法に基づく範囲を検出範囲とすることができるので、検出範囲を適切な範囲に限定できる。例えば、幅方向においては測定された幅寸法を基準として（このとき、幅寸法以内、もしくは幅寸法に一定のマージンを加えた範囲を基準とするようにしてもよい）検出範囲を定め、この検出範囲において、パターン光境界が検出される。
【０３６７】
ここで、検出範囲限定手段は、上述のように測定された概略寸法きっかりの範囲を検出範囲としても良く、概略寸法に所定のマージンを加えた範囲を検出範囲としても良い。
【０３６８】
このように、本第１実施形態における３次元形状検出装置１０は、限定された検出範囲に含まれるパターン光境界だけを検出して、３次元形状を算出するので、従来の３次元形状検出装置に比べて、効率的で少ない時間、コストで３次元形状の検出が可能である。また、予め測定された概略寸法は、被写体ＫＡの形状全体を含む概略の形状を示す指針でもあるので、限定された検出範囲は、被写体ＫＡの形状を含み損なうものではない。このため、本発明の３次元形状検出装置は、検出エラーなども引き起こさず、高い精度での検出が可能である。
【０３６９】
ここで、図３４を参照することにより、図１９におけるＳ１２３０を詳述する。
【０３７０】
この３次元色形状検出結果生成サブルーチンにおいては、まず、Ｓ５５０１において、３次元座標格納部４０６ｈから、回転位相ＰＨ０ないし３のそれぞれに関連付けて、複数個の３次元座標値がロードされる。本実施形態においては、被写体ＫＡの外面全体が４つの部分面（正面、右側面、左側面および背面）に分割され、各部分面ごとに立体画像が生成される。このＳ５５０１においては、それら４つの部分面のすべてについて、各部分面に属する複数個の３次元座標値が３次元座標格納部４０６ｈからロードされる。
【０３７１】
次に、Ｓ５５０２において、これらロードされた複数個の３次元座標値（頂点座標値）に対し、各３次元座標値が属する各部分面の回転位相ＰＨに応じた回転変換が行われ、４つの部分面に属する複数個の３次元座標値が、各部分面の回転位相ＰＨを見込んで組み合わされる。その結果、複数個の３次元座標値によって３次元的に表現される４つの部分面が一体化されて、被写体ＫＡの外面全体を現す画像が合成される。ただし、この段階においては、その合成画像に、測定ヘッドＭＨの分割撮像手法に起因して空間的にオーバラップする部分が存在する。
【０３７２】
続いて、Ｓ５５０３において、その生成された合成画像において空間的にオーバラップする部分が抽出される。さらに、その合成画像の長さ方向における各領域においてオーバラップする２つの部分が、それら２部分に属する複数個の３次元座標値の平均化等の手法により、１つの部分に結合される。その結果、合成画像において空間的なオーバラップが除去され、それにより、ステッチ画像が完成する。そのステッチ画像を表すデータがステッチ画像格納部４０６ｓに格納される。
【０３７３】
その後、Ｓ６００１において、前述の実空間３次元座標系に座標変換された３次元頂点群の各実座標空間座標値に対応するＲＧＢ値（Ｒ輝度値、Ｇ輝度値およびＢ輝度値）が前述の表面色画像から抽出される。
【０３７４】
実空間座標系と、表面色画像を定義する平面座標系との関係は、前述の三角測量計算によって幾何学的に互いに対応付けられている。すなわち、コード画像、すなわち、被写体ＫＡの３次元形状を計測するための２次元画像である形状画像を定義する平面座標系を実空間３次元座標系に計算によってマッピングさせるために用いられる関数が存在する場合に、その関数の逆関数を用いることにより、実空間３次元座標系を、表面色画像を定義する平面座標系に計算によってマッピングさせることが可能なのである。したがって、このＳ６００１においては、２次元的な表面色画像から、３次元頂点ごとに、それに対応する表面色値すなわちＲＧＢ値を抽出することが可能である。
【０３７５】
次に、Ｓ６００２において、頂点ごとに、対応する実空間座標値とＲＧＢ値とが組み合わされて色形状情報が生成される。さらに、その生成された色形状情報が、対応する頂点に直接にまたは間接に関連付けてワーキングエリア４１０にローカル保存される。
【０３７６】
続いて、Ｓ６００３において、被写体ＫＡの表面形状を複数個のポリゴンの一例である三角形に分割することによって近似的に表現するために、その被写体ＫＡについて取得された複数個の頂点のうち、距離的に互いに近接する複数個の頂点が３個ずつ、グループ分けされる。グループごとに、３個の頂点が互いに連結されることにより、１個のポリゴンが形成される。
【０３７７】
その後、Ｓ６００４において、ポリゴンごとに、そのポリゴンを形成するために互いに連結すべき３個の頂点の組合せがポリゴン情報として、各ポリゴンに直接にまたは間接に関連付けてワーキングエリア４１０にローカル保存される。また、そのポリゴン情報は、必要に応じ、ステッチテクスチャを表す情報として、ステッチテクスチャ格納部４０６ｔに格納される。
【０３７８】
以上で、この３次元色形状検出結果生成サブルーチンの一回の実行が終了し、それに伴い、図３２に示す３次元色形状検出処理ルーチンの一回の実行が終了する。
【０３７９】
第１実施形態においては、測定ヘッドＭＨに対する回転テーブル１８４の相対位置が自動的にかつ一義的に決まっている。その相対位置は、例えば、測定ヘッドＭＨからの距離と、その測定ヘッドＭＨの光軸に対する角度とによって規定される。
【０３８０】
被写体ＫＡの撮像および測定のために測定ヘッドＭＨに課されるべき負担が軽減される理由はその他にも存在する。その一例を説明するに、回転テーブル１８４を用いた、被写体ＫＡの４面方向（ＰＮ＝０〜３）からの３次元形状測定において、その回転テーブル１８４の回転中心軸の座標を推定するための処理が高効率化される。
【０３８１】
具体的に説明すると、第１実施形態においては、被写体ＫＡが配置される回転テーブル１８４の回転中心軸の、測定ヘッドＭＨに対する空間座標値が既知である。したがって、４面各々についての３次元形状測定結果である各３次元座標値（図３１におけるＳ４００５において演算される。）に対して、回転中心軸を中心に空間回転演算処理を行うことにより、被写体ＫＡの形状および色を表すポリゴンサーフェスおよびテクスチャのステッチ処理（結合処理）が行われ、ひいては、最終的な出力である、被写体ＫＡの全周の３次元色形状検出結果が生成される（図１９におけるＳ１２３０）。その結果、被写体ＫＡの全周の形状および色が、位置のずれなく、正しく結合されることになる。
【０３８２】
よって、この３次元形状検出装置１０によれば、被写体ＫＡの３次元測定のために、回転テーブル１８４の回転中心軸の検出または推定を完全にないしは部分的に省略可能となる。
【０３８３】
いずれにしても、第１実施形態によれば、同じ被写体ＫＡにつき、各面ごとに独立して測定された複数の形状および色を正しく結合するために行われる回転中心軸推定処理の負担を軽減することが容易となる。ここで、「回転中心軸推定処理」の一例としては、被写体ＫＡの全周について離散的に測定された複数の色形状間の位置ずれが実質的に最小となるように、回転中心軸の座標を推定する手法を採用することが可能である。
【０３８４】
被写体ＫＡの撮像および測定のために測定ヘッドＭＨに課されるべき負担が軽減される別の理由を説明するに、回転テーブル１８４は常に同じ正規位置（測定ヘッドＭＨからの距離および角度）に位置決めされるため、被写体ＫＡが常に撮像視野の中心に位置するという効果、焦点調節を簡略化することができるという効果等が得られ、それら効果により、被写体ＫＡの撮像および測定のために測定ヘッドＭＨに課されるべき負担が軽減される。
【０３８５】
さらに、回転テーブル１８４は常に同じ正規位置（測定ヘッドＭＨからの距離および角度）に位置決めされるため、測定ヘッドＭＨの撮像可能領域いっぱいに配置された被写体ＫＡを、撮像視野内で画面全体にできる限り大きく撮像することが容易となる。その結果、被写体ＫＡの３次元入力精度を向上させることが容易となり、このことによっても、被写体ＫＡの撮像および測定のために測定ヘッドＭＨに課されるべき負担が軽減される可能性がある。
【０３８６】
第１実施形態においては、測定ヘッドＭＨを装着する測定ヘッド装着部と被写体ＫＡや測定部材および回転テーブル部ＲＴとを一体的に形成した台座部ＨＤを説明したが、それぞれが個別に形成されて、組み合わされても良い。
してもよい。
【０３８７】
以上のように、本発明の３次元形状検出装置であれば、被写体ＫＡの概略寸法に基づいて限定された検出範囲においてパターン光境界が検出されるので、パターン光境界の検出に要する時間、コストが低減し、更にパターン光境界の検出漏れなどに基づく、３次元形状の検出エラーも低減する。
【０３８８】
なお、概略寸法は一度設定された概略寸法が、記憶され、以降も記憶された概略寸法の値が継続して用いられることで、ユーザーインターフェースを向上させてもよい。
【０３８９】
（第２実施形態）
次に第２実施形態について説明する。本第２実施形態では、被写体ＫＡへのパターン光の投影や撮像、および３次元形状の算出については、第１実施形態と同じである。また、３次元形状検出装置の外観や構成も、図１等により第１実施形態において説明されたものと同じである。
【０３９０】
この第２実施形態では、第１実施形態と同様に、被写体ＫＡを撮像し、撮像結果を基に被写体ＫＡの概略寸法を測定するものであるが、その測定方法が異なるものである。
【０３９１】
図３５，図３６に示されるように、まず測定部材３ｅを、測定部材３ｂ，３ｃのときと同様に、被写体ＫＡの背面（撮像部１４から見た背面）に設置する。この測定部材３ｅは、図３５，図３６に示されるように、所定パターンとして縞模様のように周期的に変化する模様の領域４ｄがほぼ前面に形成されている。
【０３９２】
背面にこのような周期的に変化する模様を備えた測定部材３ｅを設置した状態で、撮像部１４は第１実施形態と同様に被写体ＫＡを測定部材３ごと撮像する。なお、概略寸法を測定することが目的であるので、撮像方向を一つの角度だけとしてもよい。このことは第１実施形態においても同様である。勿論、複数の角度（たとえば、第１実施形態と同様に、基準位置から０度，９０，１８０，２７０度）から複数の撮像処理を行っても良い。なお、ここでの撮像は被写体ＫＡの３次元形状を算出する撮像のために行われるものであるが、被写体ＫＡの３次元形状の算出のための撮像と別個に行われても良い。また、概略寸法を測定するための撮像画像は、第１実施形態と同様に、パターン光無画像を用いることが望ましい。
【０３９３】
撮像画像には、周期的に変化する模様の部分と、この周期的に変化する模様を覆い隠すような被写体ＫＡとが含まれている。ＣＰＵ４０２は概略寸法を測定する測定手段として次のように被写体ＫＡの概略寸法を測定する。
【０３９４】
すなわち、この撮像画像をＦＦＴなどを用いて、複数の分割領域に分割し、この分割領域毎に周波数成分に変換する。周波数成分に変換されると、周期的に変化する模様の分割領域は、一定のパターンの周波数成分を有するため、撮像画像において、もっとも多く現れる周波数成分になる。すなわち、測定部材３ｅに係る領域４ｄの有する周波数成分が、周波数成分変換された撮像画像の中で最大頻度を持つ周波数成分となる。
【０３９５】
一方、背景となる測定部材３ｅと被写体ＫＡの境界付近の分割領域では、周波数成分の値が変化する。一定周期をもつ背景は、特定の周波数帯域に発生頻度が集中するが、被写体ＫＡとの境界付近では、背景色が突然に変化するため、周波数が激しく変化する。このため最大頻度で現れる特定の周波数成分の値に変化をもたらす。すなわち、最大頻度で現れる周波数成分の値が変化する。この値の変化が所定値以上である部分が背景と被写体ＫＡの境界であることになるので、これをもとに、被写体ＫＡの概略の外形、すなわち概略寸法を測定する。１枚の撮像画像の周波数成分変換の結果からは、ある角度でみた場合の被写体ＫＡの幅寸法および高さ寸法が測定される。複数の撮像画像の周波数成分変換の結果からは、これらに加えて奥行き寸法も測定される。
【０３９６】
被写体ＫＡの概略寸法を測定する概略寸法処理は、撮像画像上を分割領域毎に＋ｃｃｄｃｙ方向に走査していき最大頻度で現れる周波数成分の値が変化する最小のｃｃｄｃｙ座標により高さ寸法を検出する。また、撮像画像上を分割領域毎に＋ｃｃｄｃｘ方向に走査していき最大頻度で現れる周波数成分の値が変化する最小のｃｃｄｃｘ座標と、撮像画像上を−ｃｃｄｃｘ方向に走査していき最大頻度で現れる周波数成分の値が変化する最小のｃｃｄｃｘ座標とにより幅寸法や奥行き寸法を検出する。
【０３９７】
ＣＰＵ４０２は、検出範囲限定手段として、このように撮像画像の周波数成分から測定された概略寸法に基づいてパターン光境界の検出範囲を限定する。
【０３９８】
検出範囲が限定されると、算出手段は、この検出範囲においてパターン光境界を検出する。算出手段による３次元形状の算出は、第１実施形態で説明したものと同様である。
【０３９９】
第２実施形態における３次元形状検出装置では、撮像画像の周波数成分変換の結果に基づいて概略寸法が算出されるので、より正確な概略寸法を測定できる。
【０４００】
また、概略寸法の測定と３次元形状算出のための撮像をまとめることができるので、作業効率も向上する。
【０４０１】
勿論、第１実施形態と同じく、検出範囲が過不足なく限定できるので、検出作業の時間、コストが低減し、検出エラーも低減する。
【０４０２】
以上、本発明の実施の形態のうちのいくつかを図面に基づいて詳細に説明したが、これらは例示であり、［発明の開示］の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【０４０３】
たとえば、第１実施形態において説明した回転テーブル１８４に形成された所定マークと、第２実施形態において説明した測定部材３ｅとを組み合わせて被写体ＫＡの概略寸法を測定するようにすることもできる。
【０４０４】
また、第２実施形態においては、周期的に変化する模様を備えた測定部材３ｅを用いて概略寸法を測定することとしたが、特定の周波数帯域に発生頻度が集中するような部材であれば測定部材３ｅとして用いることができる。また、被写体ＫＡが複雑な形状の場合には、測定部材３ｅを無地にするようにしてもよい。
【０４０５】
また、上述の第１実施形態及び第２実施形態においては、空間コード法におけるパターン光での３次元形状検出について説明したが、その他のパターン光による３次元形状検出であってもよい。たとえば、単純な平行線（スリット状）パターン光を用いた光切断法や、何らかの規則性を持たせたスポット光群、明暗をメッシュ状に配したパターン光等を用いた３次元形状検出も本発明に含まれる。すなわち、パターン光とは明と暗の何らかの規則性を有する光であればよく、このパターン光の境界を検出する範囲を限定するものであれば、本発明に含まれるのであり、これにより、パターン光境界の検出に要する時間や計算コストを低減するのである。
【図面の簡単な説明】
【０４０６】
【図１】本発明の第１実施形態における３次元形状検出装置の斜視図である。
【図２】本発明の第１実施形態における３次元形状検出装置の斜視図である。
【図３】（ａ）本発明の第１実施形態における３次元形状検出装置の側面図  （ｂ）本発明の第１実施形態における３次元形状検出装置の背面図である。
【図４】本発明の第１実施形態における測定ヘッドホルダとの取付構造を説明するための部分断面背面である。
【図５】本発明の第１実施形態における回転テーブル部の背面遮断図である。
【図６】本発明の第１実施形態における測定ヘッドの内部構成を示す平面断面図である。
【図７】本発明の第１実施形態における投影部を拡大して示す平面図である。
【図８】本発明の第１実施形態における３次元形状検出装置の電気的構成を概念的に表すブロック図である。
【図９】本発明の第１実施形態における投影機構の正面図である。
【図１０】本発明の第１実施形態における投影機構の部分側面断面図である。
【図１１】本発明の第１実施形態におけるマスクを部分拡大した正面図である。
【図１２】本発明の実施の形態におけるマスクの正面図及び位置センサの側面図である。
【図１３】本発明の第１実施形態における位置センサの信号に関するタイミングチャートである。
【図１４】本発明の第１実施形態における処理部による処理を示すフローチャートである。
【図１５】本発明の第１実施形態における立体画像処理を説明するフローチャートである。
【図１６】本発明の第１実施形態におけるモニタＬＣＤに表示される画像の例を示す図である。
【図１７】本発明の第１実施形態における概略寸法処理を説明するフローチャートである。
【図１８】本発明の第１実施形態におけるモニタＬＣＤに表示される画像の例を示す図である。
【図１９】本発明の第１実施形態における３次元色形状検出処理を説明するフローチャートである。
【図２０】本発明の第１実施形態における撮像処理を説明するフローチャートである。
【図２１】本発明の第１実施形態におけるマスクモータ制御を説明するフローチャートである。
【図２２】本発明の第１実施形態における投影処理を説明するフローチャートである。
【図２３】本発明の第１実施形態における撮像処理を説明するタイミングチャートである。
【図２４】本発明の第１実施形態における概略寸法処理を説明するタイミングチャートである。
【図２５】本発明の第１実施形態における概略寸法処理の説明図である。
【図２６】本発明の第１実施形態における概略寸法処理の説明図である
【図２７】本発明の第１実施形態における概略寸法処理の説明図である。
【図２８】本発明の第１実施形態における概略寸法処理の説明図である。
【図２９】本発明の第１実施形態における概略寸法処理の説明図である。
【図３０】本発明の第１実施形態における概略寸法処理の説明図である。
【図３１】本発明の第１実施形態における概略寸法処理の説明図である。
【図３２】本発明の第１実施形態における３次元計測処理を説明するフローチャートである。
【図３３】本発明の第１実施形態におけるコード画像生成を説明するフローチャートである。
【図３４】本発明の第１実施形態における３次元色形状検出結果生成を説明するフローチャートである。
【図３５】本発明の第２実施形態における３次元形状検出装置の斜視図である。
【図３６】本発明の第２実施形態における概略寸法処理の説明図である。
【符号の説明】
【０４０７】
ＫＡ  被写体
３ａ，３ｂ，３ｃ，３ｄ，３ｅ  測定部材
１０  ３次元形状検出装置
１２  投影部
１４  撮像部
１６  処理部
【図１】
2007256116.tif 000008
【図２】
2007256116.tif 000009
【図３】
2007256116.tif 000010
【図４】
2007256116.tif 000011
【図５】
2007256116.tif 000012
【図６】
2007256116.tif 000013
【図７】
2007256116.tif 000014
【図８】
2007256116.tif 000015
【図９】
2007256116.tif 000016
【図１０】
2007256116.tif 000017
【図１１】
2007256116.tif 000018
【図１２】
2007256116.tif 000019
【図１３】
2007256116.tif 000020
【図１４】
2007256116.tif 000021
【図１５】
2007256116.tif 000022
【図１６】
2007256116.tif 000023
【図１７】
2007256116.tif 000024
【図１８】
2007256116.tif 000025
【図１９】
2007256116.tif 000026
【図２０】
2007256116.tif 000027
【図２１】
2007256116.tif 000028
【図２２】
2007256116.tif 000029
【図２３】
2007256116.tif 000030
【図２４】
2007256116.tif 000031
【図２５】
2007256116.tif 000032
【図２６】
2007256116.tif 000033
【図２７】
2007256116.tif 000034
【図２８】
2007256116.tif 000035
【図２９】
2007256116.tif 000036
【図３０】
2007256116.tif 000037
【図３１】
2007256116.tif 000038
【図３２】
2007256116.tif 000039
【図３３】
2007256116.tif 000040
【図３４】
2007256116.tif 000041
【図３５】
2007256116.tif 000042
【図３６】
2007256116.tif 000043