説明

3次元入力装置および3次元入力方法

【課題】物体を撮像してその物体の3次元形状と表面色とを計測する技術において、その撮像時間を短縮する。
【解決手段】まず、物体の3次元形状を計測するため、CCDにより、その物体を撮像し、その撮像結果から、その物体を表す全体画像を構成する複数個の画素のいずれかを間引いて形成される画素間引き画像を取り出す。その取り出された画素間引き画像に基づき、物体の3次元形状を計測する。同じ物体の表面色を計測するため、CCDにより、3次元形状計測のための撮像に連続して、その物体を撮像し、その撮像結果から、その物体を表す全体画像を構成する複数個の画素のいずれも間引かずに形成される画素非間引き画像を取り出す。その取り出された画素非間引き画像に基づき、物体の表面色を計測する。これにより、高いテクスチャ解像度が確保されつつ、撮像時間が短縮されてテクスチャマッピング精度が向上する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、物体を撮像してその物体の3次元形状と表面色とを計測する技術に関するものであり、特に、その撮像時間を短縮する技術に関するものである。
【背景技術】
【0002】
物体を3次元的に入力する技術がすでに存在する(例えば、特許文献1参照。)。この技術の一例によれば、物体が撮像され、その撮像結果に基づき、その物体の3次元形状と表面色とが演算によって計測される。
【0003】
この種の技術を実施するための3次元入力装置は、一般に、複数種類のパターン光を物体に投影する投影部と、物体を撮像する撮像部と、その撮像結果を処理する処理部とを含むように構成される。
【0004】
撮像部は、具体的には、(a)物体の3次元形状を計測するために、投影部によって複数種類のパターン光が順に物体に投影される期間中に各パターン光の投影ごとに物体を撮像する3次元計測撮像処理と、(b)物体の表面色を計測するために、物体を撮像する表面色計測撮像処理とを行うように設計される。
【0005】
この撮像部においては、通常、物体について画像の1フレームを形成するために、物体から撮像部に入射した光によるその撮像部の露光と、その入射光を反映する電気信号を撮像部から取り出す信号取り出しとがそれらの順に行われる。画像の各フレームごとに行われる露光と信号取り出しとが、1回の個別撮像処理を構成する。
【0006】
したがって、この撮像部によって同じ物体について複数の画像フレーム(例えば、前述の複数種類のパターン光の数と同数の画像フレーム)を形成することが必要である場合には、露光と信号取り出しとが交互に行われるように、複数回の個別撮像処理を順次行うことが必要である。
【0007】
処理部は、具体的には、撮像部による3次元計測撮像処理の撮像結果に基づいて物体の3次元形状を計測する3次元計測演算処理と、撮像部による表面色計測撮像処理の撮像結果に基づいて物体の表面色を計測する表面色計測演算処理とを行うように設計される。
【特許文献1】特開2000−105108号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
この種の3次元入力装置においては、通常、物体の3次元計測のために撮像部において個別撮像処理が複数回行われ、さらに、同じ物体の表面色計測のために撮像部において個別撮像処理が少なくとも1回行われる。3次元計測のための複数回の個別撮像処理の結果を用いて物体の3次元形状が計測され、その計測結果は、実空間上において定義される。表面色計測のための少なくとも1回の個別撮像処理の結果を用いて物体の表面色が計測され、その計測結果も、同じ実空間上において定義される。
【0009】
物体の現実の3次元形状と現実の表面色とは、空間的に互いに関連付けられる。しかしながら、それら3次元形状の計測と表面色の計測とはそれぞれ、互いに異なる時期に行われる複数回の個別撮像処理の結果を用いて行われる。
【0010】
一方、それら複数回の個別撮像処理に必要な時間が長いほど、それら複数回の個別撮像処理の実行期間中に物体と撮像部とが相対変位する可能性が高い。その相対変位の程度が大きいほど、3次元計測のために用いられる撮像画像により表される物体と、表面色計測のために用いられる撮像画像により表される物体とが、空間的にずれてしまう可能性が高い。その可能性が高いほど、3次元計測結果と表面色計測結果とが空間的に正しくマッピングしない可能性が高い。
【0011】
3次元計測結果に表面色計測結果をマッピングする精度(以下、「テクスチャマッピング精度」という。)を向上させるためには、3次元計測のために用いられる撮像画像により表される物体と、表面色計測のために用いられる撮像画像により表される物体とが、空間的にずれることを抑制することが望ましい。そのような空間的なずれを抑制する対策の一例は、3次元計測および表面色計測のための全体撮像時間を短縮することである。
【0012】
以上説明した知見に基づき、本発明は、物体を撮像してその物体の3次元形状と表面色とを計測する技術において、その撮像時間を短縮することを課題としてなされたものである。
【課題を解決するための手段】
【0013】
本発明によって下記の各態様が得られる。各態様は、項に区分し、各項には番号を付し、必要に応じて他の項の番号を引用する形式で記載する。これは、本発明が採用し得る技術的特徴の一部およびそれの組合せの理解を容易にするためであり、本発明が採用し得る技術的特徴およびそれの組合せが以下の態様に限定されると解釈すべきではない。すなわち、下記の態様には記載されていないが本明細書には記載されている技術的特徴を本発明の技術的特徴として適宜抽出して採用することは妨げられないと解釈すべきなのである。
【0014】
さらに、各項を他の項の番号を引用する形式で記載することが必ずしも、各項に記載の技術的特徴を他の項に記載の技術的特徴から分離させて独立させることを妨げることを意味するわけではなく、各項に記載の技術的特徴をその性質に応じて適宜独立させることが可能であると解釈すべきである。
【0015】
(1) 物体を3次元的に入力する3次元入力装置であって、
複数種類のパターン光を物体に投影する投影部と、
前記物体を撮像する撮像部であって、(a)前記物体の3次元形状を計測するために、前記投影部によって前記複数種類のパターン光が順に前記物体に投影される期間中に各パターン光の投影ごとに前記物体を撮像する3次元計測撮像処理と、(b)前記物体の表面色を計測するために、前記物体を撮像する表面色計測撮像処理とを行うものと
その撮像部による前記3次元計測撮像処理の撮像結果に基づいて前記物体の3次元形状を計測する3次元計測演算処理と、前記撮像部による前記表面色計測撮像処理の撮像結果に基づいて前記物体の表面色を計測する表面色計測演算処理とを行う処理部と
を含み、
前記撮像部は、前記物体の撮像結果から、その物体を表す全体画像を構成する複数個の画素のいずれかを間引いて形成される画素間引き画像と、いずれの画素も間引かずに形成される画素非間引き画像とを選択的に取り出すことが可能であるように構成されており、
前記処理部は、前記撮像部による前記3次元計測撮像処理の撮像結果から取り出された前記画素間引き画像に基づいて前記3次元計測演算処理を行う一方、前記撮像部による前記表面色計測撮像処理の撮像結果から取り出された前記画素非間引き画像に基づいて前記表面色計測演算処理を行う3次元入力装置。
【0016】
この3次元入力装置においては、物体について3次元計測演算処理を行うため、撮像部において、その物体の撮像結果から、その物体を表す全体画像を構成する複数個の画素のいずれかを間引いて形成される画素間引き画像を取り出す3次元計測撮像処理が行われる。その取り出された画素間引き画像に基づき、物体の3次元形状を計測する3次元計測演算処理が行われる。
【0017】
この3次元入力装置においては、さらに、同じ物体について表面色計測演算処理を行うため、撮像部において、その物体の撮像結果から、その物体を表す全体画像を構成する複数個の画素のいずれも間引かずに形成される画素非間引き画像を取り出す表面色計測撮像処理が行われる。その取り出された画素非間引き画像に基づき、物体の表面色を計測する表面色計測演算処理が行われる。
【0018】
したがって、この3次元入力装置によれば、3次元計測演算処理のための撮像処理も、表面色計測演算処理のための撮像処理も、撮像部において物体の撮像結果から取り出された画素非間引き画像を参照画像として利用して行う場合に比較し、撮像部において物体の撮像結果から参照画像を取り出すのに必要な取り出し時間を短縮することが容易となる。一方、その取り出し時間が短いほど、撮像部が物体を撮影し続ける撮像時間が短くて済む。
【0019】
よって、この3次元入力装置によれば、上述のように撮像時間が短くて済むため、撮像部が物体を、その物体が少なくとも瞬間的には空間に固定されているとみなして、動画像であるか静止画像であるかを問わず、画像の1フレームとして撮影する期間中に、それら撮像部と物体との相対位置が予定外に変化することがあっても、物体の3次元形状が計測される精度が低下せずに済むことに加えて、その物体の3次元形状に、同じ物体について計測された表面色が空間的にマッピングされる精度も低下せずに済む。
【0020】
また、この3次元入力装置によれば、3次元計測演算処理のための撮像処理も、表面色計測演算処理のための撮像処理も、撮像部において物体の撮像結果から取り出された画素間引き画像を参照画像として利用して行う場合に比較し、撮像部において物体の表面色が計測される精度が低下せずに済む。その結果、高いテクスチャ解像度が実現される。
【0021】
(2) 前記撮像部は、前記物体の撮像後、その撮像結果から前記画素間引き画像を、前記画素非間引き画像を取り出すのに必要な時間より短い時間で取り出す(1)項に記載の3次元入力装置。
【0022】
この3次元入力装置によれば、撮像部による物体の撮像後(後述の実施形態においては、CCDの露光後)、その撮像結果から画素非間引き画像を取り出すのに必要な時間より短い時間で、画素間引き画像が取り出されて、撮像部から出力される。すなわち、1回の撮像ごとに、その撮像画像を表す電気信号(画像信号)が撮像部から出力されるのに必要な時間が、画素間引き画像については短いのに対し、画素非間引き画像については長いのである。
【0023】
一方、3次元計測演算処理のための撮像処理にあっては、撮像部による撮像が通常、複数回行われるのに対し、表面色計測演算処理のための撮像処理にあっては、撮像部による撮像が通常、3次元計測演算処理のための撮像処理における撮像回数より少ない回数行われる。よって、3次元計測演算処理のための撮像処理における各回の撮像ごとに撮像部から画像信号が出力されるのに必要な時間が短いほど、3次元計測演算処理のための撮像処理と表面色計測演算処理のための撮像処理とを含む全体撮像処理の所要時間が短くて済む。
【0024】
さらに、3次元計測演算処理のための撮像処理における各回の撮像ごとに撮像部から画像信号が出力されるのに必要な時間が短い場合には、その3次元計測演算処理のための撮像処理の後に、表面色計測演算のための撮像処理に行うと、先行する撮像処理と後続する撮像処理との間に長い時間間隔が存在せずに済む。その結果、それら2種類の撮像処理を大きな時間間隔を隔てることなく連続的に行うことが可能となり、このことは、前述の全体撮像時間の短縮に寄与する。
【0025】
したがって、本項に係る3次元入力装置によれば、3次元計測演算処理のための撮像処理における各回の撮像ごとに撮像部から画像信号が出力されるのに必要な時間が、表面色計測演算処理のための撮像処理における撮像において撮像部から画像信号が出力されるのに必要な時間より短いことを前提として、物体の3次元計測と表面色計測とを行うために撮像部がその物体を撮像し続けなければならない撮像時間が短縮される。その結果、テクスチャマッピング精度が向上する。
【0026】
(3) 前記撮像部による一回の3次元計測撮像処理と、前記撮像部による一回の表面色計測撮像処理とが、前記物体に対する一回の全体撮像処理を構成し、
前記撮像部は、一回の3次元計測撮像処理において、前記複数種類のパターン光の数に応じた複数回、個別撮像処理を順次行う一方、一回の表面色計測撮像処理において、少なくとも一回、個別撮像処理を行う(1)または(2)項に記載の3次元入力装置。
【0027】
(4) 前記撮像部は、前記3次元計測撮像処理を先に、前記表面色計測撮像処理を後に行う(3)項に記載の3次元入力装置。
【0028】
この3次元入力装置によれば、3次元計測演算処理のための撮像処理における各回の撮像ごとに撮像部から画像信号が出力されるのに必要な時間が、表面色計測演算処理のための撮像処理における撮像において撮像部から画像信号が出力されるのに必要な時間より短いことを前提として、3次元計測演算処理のための先行する撮像処理と、表面色計測演算のための後続する撮像処理との間に長い時間間隔が存在せずに済む。その結果、それら2種類の撮像処理を大きな時間間隔を隔てることなく連続的に行うことが可能となり、このことは、前述の全体撮像時間の短縮に寄与する。
【0029】
(5) 前記撮像部は、前記3次元計測撮像処理に続いて、他の処理を行うことなく連続して、前記表面色計測撮像処理を行う(4)項に記載の3次元入力装置。
【0030】
この3次元入力装置によれば、3次元計測演算処理のための先行する撮像処理と、表面色計測演算のための後続する撮像処理とが、それら処理以外の処理を経ることなく、より連続して行われる。その結果、前述の全体撮像時間を短縮することが一層容易となる。
【0031】
(6) 前記撮像部は、前記3次元計測撮像処理における複数回の個別撮像処理と、前記表面色計測撮像処理における少なくとも1回の個別撮像処理とを、それらの順に、同一周期で行う(5)項に記載の3次元入力装置。
【0032】
(7) 前記撮像部は、前記3次元計測撮像処理における複数回の個別撮像処理と、前記表面色計測撮像処理における少なくとも1回の個別撮像処理とを、それらの順に、ビデオレートで行う(6)項に記載の3次元入力装置。
【0033】
(8) 前記撮像部は、前記各パターン光が投影された前記物体を撮像して前記画素間引き画像を取り出すことにより前記3次元計測撮像処理を行う高速撮像モードと、前記各パターン光が投影された前記物体を撮像して前記画素非間引き画像を取り出すことにより前記3次元計測撮像処理を行う低速撮像モードとを選択的に実行する(1)ないし(6)項のいずれかに記載の3次元入力装置。
【0034】
この3次元入力装置によれば、高速撮像モードが選択されて実行されれば、物体が動作物体であることや、撮像部の位置変動が大きいことが理由でそれら撮像部と物体との相対変位が大きい環境であるにもかかわらず、高いテクスチャマッピング精度で物体を3次元入力することが容易となる。これに対し、低速撮像モードが選択されて実行されれば、撮像部と物体との相対変位が小さいことを条件に、高い形状計測精度で、かつ、高いテクスチャマッピング精度で物体を3次元入力することが容易となる。
【0035】
したがって、この3次元入力装置によれば、撮像すべき物体の動的挙動の有無やユーザの要求および好みに応じて、撮像部から画像を取り出すモードを変更することが可能となり、その結果、当該3次元入力装置の使い勝手が向上する。
【0036】
本項における「高速撮像モード」と「低速撮像モード」との切替えは、例えば、当該3次元入力装置が、そのユーザからの指令に応じて行うようにしたり、当該3次元入力装置が、物体の撮像結果(物体の動き)や当該3次元入力装置の使用状態(装置の動き)に基づいて自動的に行うようにすることが可能である。
【0037】
(9) 前記撮像部は、前記複数個の画素がグループ分けされた複数個の画素グループの各々に属する複数個の対象画素の照度検出値が各画素グループごとに加算され、その加算された照度を用いて、各画素グループに属する複数個の対象画素の照度検出値が均等に分散される加算方式により、前記物体の撮像結果から前記画素間引き画像を取り出す(1)ないし(8)項のいずれかに記載の3次元入力装置。
【0038】
(10) 前記撮像部は、前記複数個の画素がグループ分けされた複数個の画素グループの各々に属する複数個の対象画素から、それら対象画素を代表する代表画素が各画素グループごとに選択され、その選択された代表画素の照度検出値を用いて、各画素グループに属する複数個の対象画素の照度検出値が設定される選択方式により、前記物体の撮像結果から前記画素間引き画像を取り出す(1)ないし(8)項のいずれかに記載の3次元入力装置。
【0039】
(11) 当該3次元入力装置がハンドヘルドタイプである(1)ないし(10)項のいずれかに記載の3次元入力装置。
【0040】
(12) 物体を3次元的に入力する3次元入力方法であって、
複数種類のパターン光を物体に投影する投影工程と、
前記物体を撮像する撮像工程であって、(a)前記物体の3次元形状を計測するために、前記投影工程によって前記複数種類のパターン光が順に前記物体に投影される期間中に各パターン光の投影ごとに前記物体を撮像する3次元計測撮像処理と、(b)前記物体の表面色を計測するために、前記物体を撮像する表面色計測撮像処理とを行うものと
その撮像工程による前記3次元計測撮像処理の撮像結果に基づいて前記物体の3次元形状を計測する3次元計測演算処理と、前記撮像工程による前記表面色計測撮像処理の撮像結果に基づいて前記物体の表面色を計測する表面色計測演算処理とを行う処理工程と
を含み、
前記撮像工程は、前記物体の撮像結果から、その物体を表す全体画像を構成する複数個の画素のいずれかを間引いて形成される画素間引き画像と、いずれの画素も間引かずに形成される画素非間引き画像とを選択的に取り出し、
前記処理工程は、前記撮像工程による前記3次元計測撮像処理の撮像結果から取り出された前記画素間引き画像に基づいて前記3次元計測演算処理を行う一方、前記撮像工程による前記表面色計測撮像処理の撮像結果から取り出された前記画素非間引き画像に基づいて前記表面色計測演算処理を行う3次元入力方法。
【0041】
本項に係る3次元入力方法が実施されれば、前記(1)項に係る3次元入力装置と基本的に同じ原理に従い、基本的に同じ作用効果を実現することが可能である。
【0042】
(13) (12)項に記載の3次元入力方法を実施するためにコンピュータによって実行されるプログラム。
【0043】
本項に係るプログラムがコンピュータによって実行されれば、前記(1)項に係る3次元入力装置と基本的に同じ原理に従い、基本的に同じ作用効果を実現することが可能である。
【0044】
本項に係るプログラムは、それの機能を果たすためにコンピュータにより実行される指令の組合せのみならず、各指令に従って処理されるファイルやデータをも含むように解釈することが可能である。
【0045】
また、このプログラムは、それ単独でコンピュータにより実行されることにより、所期の目的を達するものとしたり、他のプログラムと共にコンピュータにより実行されることにより、所期の目的を達するものとすることができる。後者の場合、本項に係るプログラムは、データを主体とするものとすることができる。
【発明を実施するための最良の形態】
【0046】
以下、本発明のさらに具体的な実施の形態の一つを図面に基づいて詳細に説明する。
【0047】
図1には、本発明の一実施形態に従う3次元入力装置10の外観が斜視図で示されている。この3次元入力装置10は、ストライプ状のパターン光の被写体S(物体)への投影と、被写体Sの撮像と、その撮像結果に基づき、被写体Sの3次元情報および表面色情報をコンピュータによって取得する信号処理とを行うように設計されている。
【0048】
図1に示すように、この3次元入力装置10は、ハンドヘルドタイプであり、ユーザは手で持って移動させることが可能である。また、この3次元入力装置10は、その手振れや、被写体Sの移動にもかかわらず、被写体Sの3次元形状情報と表面色情報とを画素の位置に関して互いに正確にマッチングするように被写体Sを撮像するように設計されている。そのため、図1には、動く被写体Sの一例として動物の亀が示されている。
【0049】
それら被写体Sへの投影と、被写体Sの撮像と、被写体Sの3次元情報および表面色情報の取得とを行うために、この3次元入力装置10は、図2に示すように、投影部12と、撮像部14と、処理部16とをそれぞれ含むように構成されている。
【0050】
この3次元入力装置10は、複数種類のモードのうちユーザによって選択されたものに従って作動する。それらモードは、SLOWモードと、FASTモードと、オフモードとを含んでいる。SLOWモードは、被写体Sを低速で高精度で撮像する低速撮像モードであり、撮像精度優先モードである。FASTモードは、被写体Sを高速で低精度で撮像する高速撮像モードであり、撮像時間優先モードである。オフモードは、この3次元入力装置10の動作を停止させるモードである。
【0051】
撮像部14は、被写体Sを撮像し、その撮像結果から、その被写体Sを表す全体画像を構成する複数個の画素のいずれかを間引いて形成される画素間引き画像と、いずれの画素も間引かずに形成される画素非間引き画像とを選択的に取り出すことが可能であるように構成されている。さらに、撮像部14は、被写体Sの撮像後、その撮像結果から画素間引き画像を、画素非間引き画像を取り出すのに必要な時間より短い時間で取り出すように構成されている。
【0052】
被写体Sを撮像する素子としてCCDが知られている。このCCDの一例に、インターライントランスファー方式でプログレッシブ走査を行う形式のCCDが存在する。
【0053】
図17(a)に示すように、この種のCCDにおいては、垂直方向に並んだフォトダイオード列が複数、水平方向に並んでおり、それにより、光電変換素子としてのフォトダイオードが複数個、2次元的に配列されている。この種のCCDにおいては、さらに、垂直方向に並んだ垂直転送CCD列が複数、水平方向に並んでおり、それにより、電荷蓄積・転送素子としてのCCD素子が複数個、2次元的に配列されている。この種のCCDにおいては、さらに、それら垂直転送CCD列に共通に、かつ、各垂直転送CCD列の末端に水平転送CCD行が配置されている。この水平転送CCD行の末端に、全CCD素子に共通の電荷出口としての出力回路が接続されている。
【0054】
この種のCCDにおいては、各フォトダイオードが露光されると、その露光量に応じた信号電荷がフォトダイオードに発生する。各フォトダイオードに発生した信号電荷は、読み出し指令パルスに応答し、垂直転送CCD列における複数個のCCD素子のうち対応するものに転送されて蓄積される。その後、各水平転送指令パルスが発生させられるごとに、各垂直転送CCD列において信号電荷が1個のCCD素子を単位にして転送され、その際、各垂直転送CCD列ごとに、それの末端から信号電荷が水平転送CCD行に転送される。さらに、各水平転送指令パルスが発生させられるごとに、水平転送CCD行において信号電荷が1個のCCD素子を単位にして転送され、その際、その水平転送CCD行の末端から信号電荷が出力回路に出力される。それら垂直転送動作および水平転送動作に並行して、フォトダイオードにおける画像の光電変換が行われる。
【0055】
図17(a)ないし(d)には、この種のCCDにおける転送動作が時系列的に示されている。図17(a)は、垂直ブランキング期間における信号電荷の移動を示し、図17(b)は、第1行水平ブランキング期間における信号電荷の移動を示し、図17(c)は、第1行水平転送期間における信号電荷の移動を示し、図17(d)は、第2行水平ブランキング期間における信号電荷の移動を示している。
【0056】
この種のCCDにおける転送原理を説明するために、図18には、前述の出力回路の出力信号の電圧変化、φ1転送パルス信号およびφ2転送パルス信号の各変化ならびにリセットパルス信号の変化がそれぞれタイミングチャートで表されている。さらに、図19(a)には、このCCDの構成が断面図で示されている。さらに、図19(b)には、このCCDの各部位における電位の分布が変化する様子が、図18に示す時刻T1ないしT4のそれぞれに関連付けて示されている。
【0057】
図19(a)に示すように、このCCDは、転送チャネル、φ1転送ゲート、φ2転送ゲート、出力チャネル、リセットドレイン、リセットゲートおよび出力アンプを備えている。それらのうち、出力チャネル、リセットドレイン、リセットゲートおよび出力アンプが前述の出力回路を構成する。その出力アンプは、FETによるソースフォロワー回路として構成される。図18に示すφ1転送パルス信号は、φ1転送ゲートに出力され、φ2転送パルス信号は、φ2転送ゲートに出力され、リセットパルス信号は、リセットゲートに出力される。
【0058】
図18に示すように、φ1転送パルス信号がオフからオンに遷移すると、図19に示すように、φ1転送ゲートに対応する今回の転送チャネルの電位が引き上げられ(図19(b)においては引き下げられ)、その結果、その今回の転送チャネルの前段の転送チャネルから電荷が今回の転送チャネルに転送される。図18に示すように、φ1転送ゲートとφ2転送ゲートとには、互いに逆位相で信号変化が与えられ、その結果、図19(b)に示すように、互いに隣接した転送チャネル間において、上流側から下流側に電荷が転送される。
【0059】
このようにして水平転送CCD行において信号電荷がプログレッシブに転送されてそれの末端に到達すると、その信号電荷は出力チャネルを経て出力アンプに出力される。その出力アンプにおいては、その信号電荷に応じた電位を有する信号電圧に変換される。
【0060】
CCDの信号出力速度は、出力アンプにおける信号変換速度によって決定される。一般的には、φ1転送ゲートの電位を引き上げてから、図18に示すように信号電圧が確保されるまでの時間は、0.1μs程度が上限である。したがって、500万画素を有するCCDから信号電荷を全画素分出力するには、0.5s程度の時間が必要である。また、出力画素がVGA解像度(640*480画素)であれば、0.0307sの時間が必要である。これは、30フレーム/秒という動画出力レートを満たす。
【0061】
図18に示すように、リセットパルス信号がオフからオンに遷移すると、図19(b)に示すように、信号電荷が出力チャネルからリセットドレインに移動し、消去される。このような電荷消去回路は、複数のCCD素子については、それに共通の回路として前述の出力回路に設けられる。一方、同様な電荷消去回路は、複数個のフォトダイオードにそれぞれ設けられており、その結果、フォトダイオードにおいて発生した光電荷のうち、選択されずに不要である画素について生じた電荷については、垂直転送CCD列に転送されずに最上流位置において直接消去される。この作用により、後述の選択式の画素間引きが可能となる。
【0062】
この種のCCDの選択転送原理を説明するために、図20(a)には、CCDの垂直転送クロックラインV1の信号変化と、水平転送クロックラインH1の信号変化と、水平転送クロックラインH2の信号変化とがそれぞれタイミングチャートで表されている。さらに、図20(b)には、CCDの構成が断面図で示されている。さらに、図20(c)には、CCDの各部位における電位の分布が変化する様子が、図20(a)に示す時刻T5およびT6のそれぞれに関連付けて示されている。
【0063】
図20(a)に示すように、水平転送クロックラインH1が有効とされる例においては、垂直転送クロックラインV1が時刻T5とT6との間においてオンからオフに遷移すると、図20(b)および(c)において左側に示すように、信号電荷が垂直転送チャネルから水平転送チャネルに移動する。これに対し、図20(a)に示すように、水平転送クロックラインH2が無効とされる例においては、垂直転送クロックラインV1が時刻T5とT6との間においてオンからオフに遷移すると、図20(b)および(c)において右側に示すように、信号電荷が垂直転送チャネルから水平転送チャネルに移動することなく、垂直転送チャネルに滞留する。
【0064】
したがって、このCCDによれば、信号電荷の選択的転送が可能であり、これを利用することにより、信号電荷の加算による画素間引きが可能である。
【0065】
以上説明したように、この種のCCDを用いた撮像の分野においては、被写体Sの撮像結果から画素間引き画像を取り出すために、加算方式と選択方式とがすでに知られている。
【0066】
加算方式によれば、被写体Sを表す全体画像を構成する複数個の画素がグループ分けされた複数個の画素グループの各々に属する複数個の対象画素の照度検出値が各画素グループごとに加算され、その加算された照度を用いて、各画素グループに属する複数個の対象画素の照度検出値が均等に分散される。
【0067】
これに対し、選択方式によれば、それら複数個の画素グループの各々に属する複数個の対象画素から、それら対象画素を代表する代表画素が各画素グループごとに選択され、その選択された代表画素の照度検出値を用いて、各画素グループに属する複数個の対象画素の照度検出値が均等に分散される。
【0068】
本実施形態においては、撮像部14は、それら加算方式と選択方式とのうち予め選択されたものに従い、被写体Sの撮像結果から画素間引き画像を取り出すように設計されている。
【0069】
被写体Sの撮像結果から画素間引き画像を取り出す間引き画像処理モードは、被写体Sを低速で高精度で撮像する低速撮像モードに適している。一方、被写体Sの撮像結果から画素非間引き画像を取り出す非間引き画像処理モードは、被写体Sを高速で低精度で撮像する高速撮像モードに適している。
【0070】
したがって、本実施形態においては、ユーザによってFASTモードが選択されると、間引き画像処理モードが設定される一方、ユーザによってSLOWモードが選択されると、非間引き画像処理モードが設定される。
【0071】
図1に示すように、この3次元入力装置10は、略箱状を成すケーシング20を備えている。
【0072】
ケーシング20内においては、図2に示すように、投影部12および撮像部14がそれぞれ、破線で示すサブケーシング内に収容された状態で配置されている。図1に示すように、このケーシング20は、鏡筒24と、フラッシュ26とを、それぞれが部分的にケーシング20の正面において露出する姿勢で備えている。このケーシング20は、さらに、撮像部14の一部である撮像光学系30を、それのレンズの一部がケーシング20の正面において露出する姿勢で備えている。その撮像光学系30は、それの露出部分において、被写体Sを表す画像光を受光する。
【0073】
鏡筒24は、図1に示すように、ケーシング20の正面から突出しており、その内部において、図2に示すように、投影部12の一部である投影光学系32を収容している。この鏡筒24は投影光学系32を、焦点調節のために全体的に移動可能である状態で保持し、さらに、この鏡筒24は、投影光学系32を損傷から保護している。鏡筒24の露出端面から、投影部12の一部である投影光学系32のレンズの一部が露出している。投影光学系32は、それの露出部分において、被写体Sに向かってパターン光を投影する。
【0074】
フラッシュ26は、不足光量を補充するために発光する光源であり、例えば、キセノンガスが充填された放電管を用いて構成されている。したがって、このフラッシュ26は、ケーシング20に内蔵されているコンデンサ(図示しない)の放電により繰り返し使用することができる。
【0075】
ケーシング20は、さらに、それの上面において、レリーズボタン40と、モード切替スイッチ42と、モニタLCD44とを備えている。
【0076】
レリーズボタン40は、3次元入力装置10を作動させるためにユーザによって操作される。このレリーズボタン40は、ユーザの操作状態(押下状態)が「半押し状態」である場合と「全押し状態」である場合とで異なる指令を発令できる2段階の押しボタン式のスイッチによって構成されている。レリーズボタン40の操作状態は処理部16によって監視される。処理部16によって「半押し状態」が検出されれば、よく知られたオートフォーカス(AF)および自動露出(AF)の機能が起動し、ピント、絞りおよびシャッタスピードが自動的に調節される。これに対し、処理部16によって「全押し状態」が検出されれば、撮像等が行われる。
【0077】
モード切替スイッチ42は、3次元入力装置10の作動モードを、前述のSLOWモード、FASTモードおよびオフモードを含む複数種類のモードのいずれかとして設定するためにユーザによって操作される。このモード切替スイッチ42の操作状態は処理部16によって監視されており、モード切替スイッチ42の操作状態が処理部16によって検出されると、その検出された操作状態に対応するモードでの処理が3次元入力装置10において行われる。
【0078】
モニタLCD44は、液晶ディスプレイ(Liquid Crystal Display)を用いて構成されており、処理部16から画像信号を受けて、画像をユーザに表示する。このモニタLCD44は、例えば、被写体Sの3次元形状の検出結果を表す画像(立体画像)等を表示する。
【0079】
図1に示すように、ケーシング20は、さらに、RF(無線)インタフェイスとしてのアンテナ50を備えている。
【0080】
アンテナ50は、図2に示すように、RFドライバ52に接続されている。このアンテナ50は、上述の立体画像を表すデータ等を、RFドライバ52を介して、図示しない外部インタフェイスに無線によって送信する。
【0081】
図2には、ケーシング20の内部構成が概念的に表されている。ケーシング20は、前述のように、投影部12と、撮像部14と、処理部16とを主に内蔵している。
【0082】
投影部12は、被写体Sにパターン光を投影するためのユニットである。この投影部12は、図2に示すように、基板60と、複数個のLED62(以下、それらのアレイを「LEDアレイ62A」という。)と、光源レンズ64と、投影LCD66と、投影光学系32とを、投影方向に沿って直列に備えている。この投影部12の詳細は、後に図3を参照して説明する。
【0083】
撮像部14は、被写体Sを撮像するためのユニットである。この撮像部14は、図2に示すように、撮像光学系30と、CCD(Charge Coupled Device)70とを、画像光の入射方向に沿って直列に備えている。
【0084】
撮像光学系30は、図2に示すように、複数枚のレンズを用いて構成されている。この撮像光学系30は、よく知られたオートフォーカス機能により、焦点距離および絞りを自動調整して外部からの光をCCD70上に結像する。
【0085】
CCD70は、フォトダイオード素子などの光電変換素子をマトリクス状に配列して構成されている。このCCD70は、撮像光学系30を介してこのCCD70の表面に結像される画像の光の色および照度に応じた信号を各画素ごとに生成する。その生成された信号は、デジタルデータに変換されて処理部16に出力される。
【0086】
図5にブロック図で表すように、処理部16は、フラッシュ26、レリーズボタン40およびモード切替スイッチ42にそれぞれ電気的に接続されている。処理部16は、さらに、モニタLCD44にはモニタLCDドライバ72を介して、アンテナ50にはRFドライバ52を介して、バッテリ74には電源インタフェイス76を介してそれぞれ電気的に接続されている。
【0087】
処理部16は、さらに、外部メモリ78およびキャッシュメモリ80にそれぞれ電気的に接続されている。処理部16は、さらに、LEDアレイ62Aには光源ドライバ84を介して、投影LCD66には投影LCDドライバ86を介して、CCD70にはCCDインタフェイス88を介してそれぞれ電気的に接続されている。それらフラッシュ26等は、処理部16によって制御される。
【0088】
外部メモリ78は、着脱可能なフラッシュROMであり、立体画像モードにおいて撮像された撮像画像や3次元情報を記憶することが可能である。外部メモリ78を構成するために、例えば、SDカード、コンパクトフラッシュ(登録商標)カード等を使用することができる。
【0089】
キャッシュメモリ80は、データの読み書きを高速で行い得る記憶装置である。キャッシュメモリ80は、例えば、デジカメモードにおいて撮像された撮像画像を高速でキャッシュメモリ80に転送し、処理部16で画像処理を行ってから外部メモリ78に格納することを可能にするために使用される。キャッシュメモリ80を構成するために、例えば、SDRAM、DDRRAM等を使用することができる。
【0090】
電源インタフェイス76、光源ドライバ84、投影LCDドライバ86およびCCDインタフェイス88はそれぞれ、バッテリ74、LEDアレイ62A、投影LCD66およびCCD70を制御する各種のIC(Integrated Circuit)によって構成されている。
【0091】
ここで、投影部12の詳細を図3を参照することによって説明する。図3(a)は投影部12の拡大図であり、図3(b)は光源レンズ64の正面図である。
【0092】
前述のように、投影部12は、図3(a)に示すように、基板60と、LEDアレイ62Aと、光源レンズ64と、投影LCD66と、投影光学系32とをパターン光の投影方向に沿って直列に備えている。
【0093】
基板60は、それにLEDアレイ62Aが装着されることにより、その装着されたLEDアレイ62Aとの間において電気的な配線を行う。基板60は、例えば、アルミニウム製基板に絶縁性合成樹脂を塗布してから無電解メッキにてパターンを形成したものや、ガラスエポキシ基材をコアとする単層または多層構造の基板を使用して製作することができる。
【0094】
LEDアレイ62Aは、投影LCD66に向けて放射状の光を発光する光源である。このLEDアレイ62Aにおいては、基板60上に複数個のLED(発光ダイオード)62が、図3(b)に示すように、千鳥状配列のもとに、銀ペーストを介して接着されている。それら基板60と複数個のLED62とは、ボンディングワイヤを介して電気的に結線されている。複数個のLED62を千鳥状に配列することによる効果は、後に図4を参照して詳細に説明する。
【0095】
このように、本実施形態においては、投影部12の光源として複数個のLED62が使用されているため、光源として白熱電球、ハロゲンランプ等が使用される場合に比べて、電気が光に変換される電気光変換効率の向上や、赤外線や紫外線の発生の抑制を容易に行い得る。よって、3次元入力装置10の節電、長寿命化、発熱抑制等を容易に図り得る。
【0096】
このように、LED62はハロゲンランプ等に比べて熱線の発生率が極めて低いため、光源レンズ64や投影光学系32に合成樹脂製のレンズを採用することができる。よって、ガラス製のレンズを採用する場合に比べて、光源レンズ64および投影光学系32を安価で軽量に構成することができる。
【0097】
さらに、本実施形態においては、LEDアレイ62Aを構成する各LED62が、互いに同じ色の光を発光し、具体的には、材料にAl、In、GaおよびPの4元素を用いたアンバー色を発光するように構成されている。したがって、複数色の光を発光させる場合に考慮しなければならない問題である色収差の補正を考慮する必要がなく、よって、色収差を補正するために投影光学系32に色消しレンズを採用する必要もない。その結果、簡単な面構成および安価な材料の投影手段を提供することが容易となる。
【0098】
さらに、本実施形態においては、LED62として、電気光変換効率が約80[lumen/W]というように他の発光色に比べて高い4元素材料のアンバー色LEDが採用されるため、3次元入力装置10の高輝度化、節電および長寿命化を容易に図り得る。
【0099】
本実施形態においては、具体的には、LEDアレイ62Aが59個のLED62によって構成され、各LED62は50[mW](20[mA],2.5[V])で駆動され、結局、59個のLED62の全体は略3[W]の消費電力で駆動される。
【0100】
さらに、本実施形態においては、各LED62から発光される光が光源レンズ64および投影LCD66を通過して投影光学系32から出射する場合の光束値としての明るさが、全面照射の場合であっても25ANSIルーメン程度に設定されている。
【0101】
本実施形態においては、3次元入力装置10の投影部12からの出射光の明るさがその程度に選定されるため、例えば、被写体Sが人や動物の顔である場合に、その被写体Sの3次元形状を検出するためにその被写体Sにパターン光を投影しても、被写体Sに眩しさを与えずに済む。したがって、本実施形態によれば、被写体Sが人や動物である場合に、その被写体Sが目をつぶらない状態でその被写体Sの3次元形状を検出することが容易となる。
【0102】
図3に示すように、光源レンズ64は、LEDアレイ62Aから放射状に発光される光を集光するレンズであり、その材質はアクリルに代表される光学樹脂である。
【0103】
図3(a)に示すように、光源レンズ64は、複数個の凸状のレンズ部90と、それらレンズ部90を支持するベース部92と、エポキシ封止材94と、複数本の位置決めピン96とを備えている。
【0104】
図3(a)に示すように、各レンズ部90は、ベース部92のうちLEDアレイ62Aの各LED62に対向する位置に、ベース部92から投影LCD66に向かって突設されている。エポキシ封止材94は、ベース部92のうちLEDアレイ62Aが気密に収容されるべき凹部98内に充填され、それにより、その凹部98内においてLEDアレイ62Aが封止される。このエポキシ封止材94は、LEDアレイ62Aの封止機能を有するのであり、さらに、基板60と光源レンズ64とを互いに接着する機能も有する。
【0105】
図3(a)に示すように、複数本の位置決めピン96は、光源レンズ64と基板60とを相対的に位置決めするために、光源レンズ64に、その光源レンズ64から基板60に向かって突設されている。図3(b)に示すように、複数本の位置決めピン96のうちの一部は、基板60に穿設された長穴100に挿入される一方、残りは、基板60に穿設された真円穴102に挿入され、それにより、基板60に光源レンズ64ががたなく正規の位置に固定される。
【0106】
このように、本実施形態においては、光源レンズ64と、LEDアレイ62Aと、基板60とが、投影方向に空間的に詰めて互いに積層されているため、それら光源レンズ64等の組立体のコンパクト化および省スペース化が容易となる。
【0107】
さらに、本実施形態においては、基板60が、LEDアレイ62Aを保持するという基本的な機能の他に、光源レンズ64を保持するという付随的な機能をも果たしている。したがって、本実施形態によれば、光源レンズ64を専ら保持する部品の追加を省略でき、その結果、3次元入力装置10の部品点数の削減が容易となる。
【0108】
さらに、本実施形態においては、各レンズ部90が、図3(a)に示すように、LEDアレイ62Aの各LED62に1対1の関係で正対するように配置されている。よって、各LED62から発光される放射状の光は、各LED62に対向する各レンズ部18によって効率良く集光され、図3(a)に示すように、指向性の高い放射光として投影LCD66に照射される。
【0109】
このように指向性を高めたのは、投影LCD66に略垂直に光が入射すれば、その投影LCD66の面内における透過率むらが抑制されて画質が向上し得るという理由からである。
【0110】
投影光学系32は、投影LCD66を通過した光を被写体Sに向かって投影するための複数枚のレンズである。それらレンズは、ガラス製レンズと合成樹脂製レンズとの組合せから成るテレセントリックレンズによって構成されている。テレセントリックとは、投影光学系32を通過する主光線が、入射側の空間では光軸に平行になり、入射瞳の位置が無限になる構成をいう。
【0111】
投影光学系32は、上述のようにテレセントリック特性を持ち、その入射NAが0.1程度であるため、垂直±5°以内の光のみが投影光学系32の内部の絞りを通過できるように、投影光学系32の光路が規制されている。
【0112】
したがって、本実施形態においては、投影光学系32のテレセントリック性により、投影LCD66を垂直±5°で通過する光のみを投影光学系32に投影し得る構成と相俟って、画質の向上を容易に図り得る。
【0113】
よって、本実施形態においては、画質向上のために、各LED62からの出射光が投影LCD660に略垂直に入射するように各LED62からの光の出射角度を揃え、かつ、各LED62からの出射光のほとんどが投影光学系32に垂直±5°の入射角度範囲内で入射させることが重要である。
【0114】
以下、図4を参照することにより、LEDアレイ62Aの配列をさらに詳しく説明する。図4(a)は、光源レンズ64から出射する光の3次元形状を示す側面図である。図4(b)は、1個のLED62から投影LCD66の入射面106に入射した光の照度分布を示すグラフである。図4(c)は、LEDアレイ62Aの配列を部分的に拡大して示す正面図である。図4(d)は、複数個のLED62から投影LCD66の入射面106に入射した複数の光の合成照度分布を示すグラフである。
【0115】
図4(a)に示すように、光源レンズ64からの出射光が、半値拡がり半角θが略5°である状態で、図4(b)に示すような照度分布を有する光として、投影LCD66の入射面106に到達するように光源レンズ64が設計されている。
【0116】
また、図4(c)に示すように、複数個のLED62は、基板上16に千鳥状に配列されている。具体的には、複数個のLED62がピッチdで横方向に直列に並んで成るLED列が複数、ピッチdの√3/2倍と等しいピッチで縦方向に並列に並んでいる。さらに、縦方向において互いに隣接する2つのLED列は、ピッチdと等しい長さで、横方向に互いにずらされている。
【0117】
すなわち、本実施形態においては、それらLED62の配列が三角格子配列とされ、いずれのLED62も、それに隣接する別のいずれのLED62からもピッチdと等しい距離離れているのである。
【0118】
そして、本実施形態においては、ピッチdの長さが、1個のLED62から出射した光によって投影LCD66について与えられる照度分布の半値全幅(FWHM(Full Width Half Maximun))以下となるように、予め設定されている。
【0119】
よって、本実施形態においては、光源レンズ64を通過して投影LCD66の入射面106に到達する光の合成照度分布が、図4(d)に示すように、小さなリップルを有する略直線状のグラフで表され、その結果、投影LCD66の入射面106の全体に略均一に光が照射される。したがって、本実施形態によれば、投影LCD66における照度むらが抑制され、その結果、パターン光が被写体Sに高品質で投影される。
【0120】
図5には、3次元入力装置10の電気的な構成がブロック図で表されている。処理部16はコンピュータ110を主体として構成されており、そのコンピュータ110は、CPU112と、ROM114と、RAM116とを含むように構成されている。
【0121】
CPU112は、ROM114に記憶されたプログラムをRAM116を利用しつつ実行することにより、レリーズボタン40の操作状態の検出、CCD70からの画像データの取込み、その取り込まれた画像データの転送および格納、モード切替スイッチ42の操作状態の検出等の各種処理を行う。
【0122】
ROM114には、カメラ制御プログラム114aと、撮像処理プログラム114bと、輝度画像生成プログラム114cと、コード画像生成プログラム114dと、コード境界抽出プログラム114eと、レンズ収差補正プログラム114fと、三角測量演算プログラム114gとが格納されている。
【0123】
カメラ制御プログラム114aは、3次元入力装置10全体の制御を実行するために実行され、その制御には、図6にフローチャートで概念的に表されているメイン処理が含まれる。
【0124】
撮像処理プログラム114bは、被写体Sの3次元形状を検出するためにパターン光が投影された被写体Sを撮像してパターン光有画像を取得し、さらに、パターン光が投影されていない被写体Sを撮像してパターン光無画像を取得するために実行される。
【0125】
輝度画像生成プログラム114cは、撮像処理プログラム114bの実行によって同じ被写体Sについて取得された各画素のRGB値に基づき、複数枚のパターン光有画像にそれぞれ対応する複数枚の輝度画像が生成される。
【0126】
本実施形態においては、同じ被写体Sに対して複数種類のパターン光が時系列に順次投影され、各パターン光が投影されるごとに被写体Sが撮像される。そのようにして撮像された複数枚のパターン光有画像の各々について各画素のRGB値が取得され、その結果、パターン光の種類と同数の輝度画像が生成される。
【0127】
コード画像生成プログラム114dは、輝度画像生成プログラム114cの実行によって生成された複数枚の輝度画像それぞれに対する閾値処理により生成される2値化画像から、各画素毎に空間コードが割り当てられたコード画像を生成するために実行される。
【0128】
概略的に説明するに、このコード画像生成プログラム114dが実行されると、複数種類のパターン光のうちパターンライン間の間隔が最も狭いものが投影された被写体Sの輝度画像におけるパターンライン間の間隔が周期として取得され、その周期の輝度画像全体における分布が周期分布として取得される。
【0129】
このコード画像生成プログラム114dが実行されると、さらに、その取得された周期分布に従ってサイズが変化する可変窓が各パターン光ごとの輝度画像にローカルに設定されることにより、前記可変窓を用いたフィルタ処理により輝度画像全体に対して閾値がローカルに算出されて設定される。そのようにして設定された閾値の分布を表す閾値画像と各パターン光ごとの輝度画像との関係から、各パターン光ごとに2値化画像が生成される。
【0130】
可変窓を用いたフィルタ処理により輝度画像全体に対して閾値をローカルに算出する技術は、本出願人の特願2004−285736号に詳細に開示されており、その明細書を参照することによってその明細書の内容を本明細書に引用する。
【0131】
コード境界抽出プログラム114eは、コード画像生成プログラム114dの実行によって生成されたコード画像と、輝度画像生成プログラム114cの実行によって生成された輝度画像とを利用することにより、コードの境界座標をサブピクセル精度で求めるために実行される。
【0132】
レンズ収差補正プログラム114fは、コード境界抽出プログラム114eの実行によってサブピクセル精度で求められたコードの境界座標に対して、撮像光学系20の収差補正を行うために実行される。
【0133】
三角測量演算プログラム114gは、レンズ収差補正プログラム114fの実行によって収差補正が行われたコードの境界座標から、その境界座標に関する実空間の3次元座標を演算するために実行される。
【0134】
図5に示すように、RAM116には、パターン光有画像格納部116aと、パターン光無画像格納部116bと、輝度画像格納部116cと、コード画像格納部116dと、コード境界座標格納部116eと、収差補正座標格納部116gと、3次元座標格納部116hと、原稿姿勢演算結果格納部116iと、平面変換結果格納部116jと、投影画像格納部116kと、周期分布格納部116pと、閾値画像格納部116qと、2値化画像格納部116rと、ワーキングエリア120とがそれぞれ記憶領域として割り当てられている。
【0135】
パターン光有画像格納部116aは、撮像処理プログラム114bの実行によって撮像されたパターン光有画像を表すパターン光有画像データを格納する。パターン光無画像格納部116bは、撮像処理プログラム114bの実行によって撮像されたパターン光無画像を表すパターン光無画像データを格納する。
【0136】
輝度画像格納部116cは、輝度画像生成プログラム114cの実行によって生成された輝度画像を表すデータを格納する。コード画像格納部116dは、コード画像生成プログラム114dの実行によって生成されたコード画像を表すデータを格納する。コード境界座標格納部116eは、コード境界抽出プログラム114eの実行によってサブピクセル精度で抽出された各コードの境界座標を表すデータを格納する。
【0137】
収差補正座標格納部116gは、レンズ収差補正プログラム114fの実行によって収差補正が行われたコードの境界座標を表すデータを格納する。3次元形状座標格納部116hは、三角測量演算プログラム114gの実行によって演算された実空間の3次元座標を表すデータを格納する。
【0138】
投影画像格納部116kは、投影部12が被写体Sに投影する投影画像すなわちパターン光に関する情報を格納する。
【0139】
周期分布格納部116p、閾値画像格納部116qおよび2値化画像格納部116rは、コード画像生成プログラム114dの実行によって取得された周期分布、閾値画像および2値化画像を表すデータをそれぞれ格納する。
【0140】
ワーキングエリア120は、CPU112がその動作のために一時的に使用するデータを格納する。
【0141】
ここで、図6を参照することにより、カメラ制御プログラム114aを説明する。このカメラ制御プログラム114aがコンピュータ110によって実行されることにより、前述のメイン処理が実行される。
【0142】
このメイン処理においては、まず、ステップS101(以下、単に「S101」で表す。他のステップについても同じとする。)において、バッテリ74を含む電源がONされる。次に、S102において、処理部16、周辺インタフェイス等が初期化される。
【0143】
続いて、S103において、モード切替スイッチ42の操作状態を判別するためにキースキャンが行われ、その後、S104において、モード切替スイッチ42の操作によってSLOWモードが選択されたか否かが判定される。今回は、SLOWモードが選択されたと仮定すれば、判定がYESとなり、S105において、前述の非間引き画像処理モードが設定される。このS105の実行後、後に詳述するS108が実行され、続いて、S103に戻る。
【0144】
これに対し、今回は、モード切替スイッチ42の操作によってSLOWモードが選択されなかったと仮定すれば、S104の判定がNOとなり、S106において、モード切替スイッチ42の操作によってFASTモードが選択されたか否かが判定される。今回は、FASTモードが選択されたと仮定すれば、判定がYESとなり、S107において、前述の間引き画像処理モードが設定される。このS107の実行後、後に詳述するS108が実行され、続いて、S103に戻る。
【0145】
これに対し、今回は、モード切替スイッチ42の操作によってFASTモードが選択されなかったと仮定すれば、S106の判定がNOとなり、S112において、モード切替スイッチ42の操作によってオフモードが選択されたか否かが判定される。今回は、モード切替スイッチ42の操作によってオフモードが選択されたと仮定すれば、判定がYESとなり、直ちに今回のメイン処理が終了するが、今回は、モード切替スイッチ42の操作によってオフモードが選択されなかったと仮定すれば、判定がYESとなり、S103に戻る。
【0146】
図7には、図6におけるS108が立体画像処理ルーチンとしてフローチャートで概念的に表されている。この立体画像処理ルーチンの実行により、被写体Sの3次元形状を立体画像として検出し、表示する立体画像処理が実行される。この立体画像処理においては、さらに、同じ被写体Sの表面色も検出される。それら立体画像の検出結果と表面色の検出結果とが位置に関連付けて組み合わされたものが3次元色形状検出結果である。
【0147】
この立体画像処理においては、まず、S1001において、ファインダ画像、すなわち、撮像光学系30を通して見える範囲の画像と同じ画像がモニタLCD44に表示される。よって、ユーザは、モニタLCD44に表示された画像を見ることにより、実際の撮像前に、撮像画像(撮像範囲)を確認することができる。
【0148】
次に、S1002において、レリーズボタン40の操作状態がスキャンされ、その後、S1003において、そのスキャン結果に基づき、レリーズボタン40が半押し状態にあるか否かが判定される。半押し状態にあれば、判定がYESとなり、S1004において、オートフォーカス(AF)および自動露出(AE)機能が起動し、それにより、ピント、絞りおよびシャッタスピードが調節される。レリーズボタン40が半押し状態になければ、S1003の判定がNOとなり、S1010に移行する。
【0149】
S1004の実行後、S1005において、再度、レリーズボタン40の操作状態がスキャンされ、その後、S1006において、そのスキャン結果に基づき、レリーズボタン40が全押し状態にあるか否かが判定される。レリーズボタン40が全押し状態になければ、このS1006の判定がNOとなってS1002に戻る。
【0150】
レリーズボタン40が半押し状態から全押し状態に移行すれば、S1006の判定がYESとなり、S1007において、後述の3次元色形状検出処理が実行され、それにより、被写体Sの3次元形状および表面色が検出される。
【0151】
概略的に説明するに、その3次元色形状検出処理により、被写体Sについて3次元色形状検出結果が生成される。ここに、3次元色形状検出結果とは、後述の空間コード画像において検出される複数の空間コード境界画像を3次元座標に変換した結果取得される頂点座標の集合体であって、各頂点ごとに色形状情報とポリゴン情報とが互いに関連付けられたものを意味する。色形状情報は、実空間座標とRGB値との組合せを表す情報である。ポリゴン情報は、複数個の頂点のうち、被写体Sを3次元的に表面する立体を構成するために互いに連結されるべき複数の頂点の組合せを表す情報である。
【0152】
その後、S1008において、その3次元色形状検出結果が外部メモリ78に格納され、続いて、S1009において、その3次元色形状検出結果が3次元コンピュータグラフィック画像としてモニタLCD44に表示される。
【0153】
その後、S1010において、図6におけるS103と同様にしてキースキャンが行われる。続いて、S1011において、モード切替スイッチ42の操作状態に変化が無いか否かが判定される。変化が無ければ、S1011の判定がYESとなり、S1001に戻るが、変化が有れば、S1011の判定がNOとなり、今回の立体画像処理が終了する。
【0154】
図7のS1007において実行される3次元色形状検出処理においては、空間コード化法を用いて被写体Sの3次元形状が検出される。以下、図8を参照することにより、空間コード化法を説明する。図8(a)には、3次元座標系XYZが設定された実空間をY座標軸方向に見た図と、X座標軸方向に見た図と、純2進コードによる3種類のマスクA,BおよびCのパターンとが示されている。これに対し、図8(b)には、グレイコードによる3種類のマスクA,BおよびCのパターンと、複数個の空間コードとが示されている。
【0155】
図8(a)に示すように、空間コード化法は、観察対象である被写体Sの像である観察画像と、その被写体Sに光(拡散光)を投影する投影光源(例えば、プロジェクタ)と、被写体Sを観測する観測器(例えば、カメラ)との間に三角測量の原理を適用することによって被写体Sの3次元形状を検出する手法の一種である。この空間コード化法においては、図8(a)に示すように、投影光源L(PROJECTOR)と観測器O(CAMERA)とが距離dだけ離して設置される。したがって、観測空間内の任意の点Pは、投影光の向きψと、観測器Oから見える向きθとが計測できれば、特定できる。この空間コード化法においては、さらに、被写体Sの表面上の任意の位置を特定するため、観測空間が複数個の細長い扇状領域に分割されてコード化されている。
【0156】
被写体Sの表面上の任意の位置のコードを観測画像から取得するために、複数種類のストライプ状のパターン光が時系列的に被写体Sに投影される。パターン光の切換えは、パターン光の種類と同数のマスクを用意し、マスクを機械的に交換する機械式として実施したり、電気光学効果を有する材料を用いてストライプ状の光シャッタ列を構成し、その光シャッタ列における各ストライプの光透過率を電子的に制御する電子式として実施することが可能である。もっとも、本実施形態においては、後者の電子式が採用され、具体的には、投影LCD66によって複数種類のマスクパターンが時系列的に再現すなわち表示される。
【0157】
図8(a)に示す例においては、投影光源Lと被写体S(四角柱と円柱)との間にマスクが交換可能に設置される。この例においては、パターンが互いに異なる3種類のマスクA,BおよびCが用意されており、よって、3種類のパターン光が時系列的に被写体Sに投影される。
【0158】
各マスクA,B,Cによって生成されたパターン光を被写体Sに投影すると、8個の扇状領域のそれぞれが、明領域「1」と暗領域「0」とのいずれかにコード化される。3枚のマスクA,B,Cを経た光をそれらの順に被写体Sに投影すると、各扇状領域には、3ビットから成るコードが割り当てられる。それら3ビットは、最初のマスクAに対応する最上位ビットMSBから、最後のマスクCに対応する最下位ビットLSMまで順に並んでいる。例えば、図8(a)に示す例においては、点Pが属する扇状領域は、マスクA,Bによって光が遮られるのに対し、マスクCによってのみ光が通過して明領域になるため、「001(A=0、B=0、C=1)」としてコード化される。
【0159】
このように、各扇状領域には、投影光源Lからの向きψに相当するコードが割り当てられる。一方、各パターン光が投影された被写体Sの明暗パターンを各マスクごとに2値化してメモリの各ビットプレーンを構成すれば、各ビットプレーン画像の横方向の位置(アドレス)は、観測器Oからの向きθに相当する。また、3枚のマスクにそれぞれ対応する3枚のビットプレーンのメモリ内容を各ビット(各画素)ごとに注目すれば、各画素ごとに3ビットのコードが取得される。このコードから、各扇状領域の投影光源Lからの向きψが特定される。そして、距離dが既知である状況において、向きψおよびθが特定されれば、三角測量の原理により、被写体Sの表面上の注目点の3次元座標が特定される。
【0160】
図8(a)には、マスクA,BおよびCの如き複数のマスクを用いることにより、空間を純2進コードを用いてコード化する例が示されているが、図8(b)には、マスクA,BおよびCの如き複数のマスクを用いることにより、隣接するコード間のハミング距離が常に1であるグレイコードを空間コードとして用いて空間をコード化する例が示されている。
【0161】
本実施形態においては、前述の3次元色形状検出処理において、純2進コードによる空間コード化法を採用しても、グレイコードによる空間コード化法を採用してもよい。
【0162】
この空間コード化法の詳細は、例えば、佐藤宏介、他1名、「空間コード化による距離画像入力」、電子通信学会論文誌、85/3Vol.J 68−D No3 p369〜375に詳細に開示されている。
【0163】
図9には、図7におけるS1007が3次元色形状検出処理ルーチンとしてフローチャートで概念的に表されている。
【0164】
この3次元色形状検出処理ルーチンにおいては、まず、S1210において、撮像処理が実行される。この撮像処理が実行されれば、例えば、図8(b)に示す複数枚のグレイコードのマスクパターンを利用して投影部12からストライプ状のパターン光が時系列的に被写体Sに投影される。さらに、複数種類のパターン光が投影されている被写体Sをそれぞれ撮像した複数枚のパターン光有画像と、パターン光が投影されていない同じ被写体Sを撮像した1枚のパターン光無画像とが取得される。
【0165】
撮像処理が終了すると、S1220において、3次元計測処理が実行される。この3次元計測処理が実行されると、上述の撮像処理によって取得された複数枚のパターン光有画像と1枚のパターン光無画像とが利用されて、実際に被写体Sの3次元形状が計測される。
【0166】
この3次元計測処理が終了すると、S1230において、被写体Sについて計測された3次元形状と表面色とを組み合わせることにより、3次元色形状検出結果が生成される。この3次元色形状検出結果が生成されると、今回の3次元色形状検出処理が終了する。
【0167】
図9におけるS1210においては、上述の撮像処理のために撮像処理プログラム114bが実行される。図10には、この撮像処理プログラム114bがフローチャートで概念的に表されている。
【0168】
この撮像処理プログラム114bにおいては、まず、S2001において、パターン光を形成するために使用されるマスクパターンの番号を表すパターン番号PNが0に初期化される。続いて、S2002において、そのパターン番号PNの現在値が最大値PNmaxより小さいか否かが判定される。その最大値PNmaxは、使用されるマスクパターンの合計数に応じて決定される。例えば、8種類のマスクパターンが使用される場合には、最大値PNmaxが8に設定される。
【0169】
今回は、パターン番号PNの現在値が最大値PNmaxより小さいと仮定すれば、S2002の判定がYESとなり、その後、S2003において、使用される複数種類のマスクパターンのうち、パターン番号PNの現在値と等しい番号が付されたPN番目のマスクパターンの投影が開始される。
【0170】
続いて、S2004において、PN番目のマスクパターンを被写体Sに投影するための投影処理が行われる。図11には、このS2004の詳細が投影処理サブルーチンとしてフローチャートで概念的に表されている。この投影処理サブルーチンの実行により、投影画像格納部37kに格納されている画像を投影部12から被写体Sに投影する投影処理が実行される。
【0171】
この投影処理においては、まず、S3001において、投影画像格納部116kに画像が格納されているか否かが判定される。格納されていない場合には、判定がNOとなり、直ちに今回の投影処理が終了する。これに対し、格納されている場合には、判定がYESとなり、S3002において、投影画像格納部116kに格納されている画像が投影LCDドライバ86に転送される。続いて、S3003において、その格納されている画像に応じた画像信号が投影LCDドライバ86から投影LCD66に送出され、それにより、その投影LCD66に画像が表示される。
【0172】
その後、S3004において、光源ドライバ84が駆動され、続いて、S3005において、その光源ドライバ84からの電気信号によってLEDアレイ62Aが発光する。以上で、今回の投影処理が終了する。
【0173】
LEDアレイ62Aから発光した光は、光源レンズ64を経て投影LCD66に到達する。その投影LCD66においては、投影LCDドライバ86から送信された画像信号に応じた空間変調が施され、その結果、投影LCD66への入射光が画像信号光に変換されて出力される。その投影LCD66から出力される画像信号光は、投影光学系32を経て被写体Sに投影画像として投影される。
【0174】
以上のようにして、PN番目のマスクパターンによって形成されるPN番目のパターン光が被写体Sに投影されると、続いて、図10におけるS2005において、そのPN番目のパターン光が投影されている被写体Sが撮像部14によって撮像される。
【0175】
その撮像により、PN番目のパターン光が投影されている被写体Sを撮像したPN番目のパターン光有画像が取得される。その取得されたパターン光有画像は、対応するパターン番号PNに関連付けてパターン光有画像格納部116aに格納される。
【0176】
その撮像が終了すると、S2006において、PN番目のパターン光の投影が終了し、続いて、S2007において、次のパターン光を投影すべく、パターン番号PNが1だけインクリメントされ、その後、S2002に戻る。
【0177】
S2002ないしS2007の実行がパターン光の種類の数と同数回繰り返された結果、パターン番号PNの現在値が最大値PNmaxより小さくはない値になると、S2002の判定がNOとなり、今回の撮像処理が終了する。したがって、一回の撮像処理により、最大値PNmaxと同数枚のパターン光有画像が取得されることになる。
【0178】
続いて、S2008において、フラッシュモードが選択されているか否かが判定される。フラッシュモードが選択されていれば、その判定がYESとなり、S2009において、フラッシュ26が発光させられるが、フラッシュモードが選択されていなければ、S2008の判定がNOとなり、S2009がスキップされる。いずれにしても、その後、S2010において、被写体Sが撮像される。
【0179】
この撮像は、被写体Sの表面色を計測することを目的として、投影部12からパターン光を被写体Sに投影することなく、行われる。その結果、被写体12について1枚のパターン光無画像が取得される。その取得されたパターン光無画像はパターン光無画像格納部116bに格納される。
【0180】
以上で、この撮像処理プログラム114bの一回の実行が終了する。
【0181】
図12には、この撮像処理プログラム114bの一回の実行に伴うこの3次元入力装置10の作動の一例がタイミングチャートで表されている。この作動例は、ユーザによってFASTモードが選択されている状態でユーザによってレリーズボタン40が全押し状態に操作された場合にこの3次元入力装置10によって実行されるものである。
【0182】
図12(a)には、被写体Sからの入射光によってCCD70が複数回、連続して露光される様子が示されている。図12(b)には、それら複数回の露光のそれぞれにつき、被写体Sからの入射光によって表される全体画像のうちの各画素ごとに光がCCD70によって電気信号に変換されてCCD70から出力される信号出力タイミングがタイミングチャートで表されている。図12(c)には、撮像部14の画像処理モードが前述の間引き画像処理モードと非間引き画像処理モードとに時間的に切り替わるタイミングがタイミングチャートで表されている。
【0183】
さらに、図12(d)には、撮像部14の状態が、待機状態と、撮像および信号取り出しのための作動状態とに時間的に切り替わるタイミングがタイミングチャートで表されている。図12(e)には、各パターン光を表す投影画像データが投影LCD66に転送されるタイミングがタイミングチャートで表されている。図12(f)には、レリーズボタン40が、非操作状態と操作状態とに時間的に切り替わるタイミングがタイミングチャートで表されている。
【0184】
本実施形態においては、被写体Sからの入射光によるCCD70の露光後に、その露光を反映した信号のCCD70からの取り出しが行われる。1回の露光に1回の信号取り出しが対応しており、それら露光と信号取り出しとが互いに共同して1回の個別撮像処理を構成する。
【0185】
本実施形態においては、同じ被写体Sについて3次元形状情報の取得と表面色情報の取得とが連続的に、かつ、それらの順で行われる。
【0186】
前述のように、被写体Sの3次元形状情報を取得するために、その被写体Sに8種類のパターン光(パターン番号PN=0〜7)が順次投影され、各パターン光の投影ごとに、CCD70の露光とCCD70からの信号取り出しとが行われる。すなわち、被写体Sの3次元形状情報を取得するために、その被写体Sに対する個別撮像処理が順次、合計8回行われるのである。図12においては、3次元形状情報を取得するための各回の個別撮像処理に対応するパターン光の番号PNが、「0」ないし「7」の数字によって示されている。
【0187】
被写体Sの表面色情報を取得するために、被写体Sからの入射光によってCCD70が1回露光され、その後に信号取り出しが行われる。すなわち、被写体Sの表面色情報を取得するために、被写体Sに対する個別撮像処理が1回行われるのである。図12においては、表面色情報を取得するための1回の個別撮像処理が「c」という記号によって示されている。
【0188】
3次元形状情報取得のための撮像においては、照明光としてパターン光を被写体Sに投影することが必須であるのに対し、表面色情報取得のための撮像においては、照明光を被写体Sに投影することが選択的である。具体的には、表面色情報取得のための撮像においては、被写体Sからの受光量が不足している場合に、フラッシュ26が自動的に発光させられ、それにより、被写体Sに照明光が投影される。
【0189】
したがって、本実施形態においては、3次元形状情報取得のための8回の個別撮像処理と、表面色情報取得のための1回の個別撮像処理とが連続的に行われ、合計9回の個別撮像処理が連続的に行われる。本実施形態においては、それら9回の個別撮像処理が互いに共同して1回の全体撮像処理を構成している。
【0190】
それら9回の個別撮像処理においては、同じ被写体Sについて9回の露光が順次行われ、それら9回の露光は、例えば、ビデオレートと同じ速度で同一周期で行われる。それら9回の露光が連続的に行われる期間は、被写体Sと3次元入力装置10との相対位置が変化するとその影響がCCD70の撮像結果に現れる期間である。この期間は、3次元入力装置10の撮像時間である。この撮像時間が短いほど、3次元入力装置10の動画撮像能力が高いことを意味する。
【0191】
図12に示す一作動例においては、3次元形状情報取得のための8回の個別撮像処理における信号取り出しがいずれも、間引き画像処理として実行される。したがって、3次元形状情報取得のための各回の個別撮像処理においては、CCD70の露光に後続し、必要な信号取り出し時間t1の経過後、CCD70から電気信号が出力される。信号取り出し時間t1は、1フレーム取り出し時間ともいい、各パターン光の投影ごとに、CCD70の露光が終了してから、3次元形状情報が1フレーム分、CCD70から出力されるまでに必要な3次元形状情報出力時間を意味する。
【0192】
これに対し、図12に示す一例においては、表面色情報取得のための1回の個別撮像処理における信号取り出しが、非間引き画像処理として実行される。したがって、表面色情報取得のための1回の個別撮像処理については、CCD70の露光に後続し、必要な信号取り出し時間t2の経過後、CCD70から電気信号が出力される。信号取り出し時間t2は、1フレーム取り出し時間ともいい、CCD70の露光が終了してから、表面色状情報が1フレーム分、CCD70から出力されるまでに必要な表面色情報出力時間を意味する。
【0193】
間引き画像処理に必要な信号取り出し時間t1は、非間引き画像処理に必要な信号取り出し時間t2より短い。例えば、信号取り出し時間t1は、約33msであるのに対し、信号取り出し時間t2は、約0.5sである。
【0194】
図12(a)および(b)に示すように、1回の個別撮像処理においては、露光が終了した後に信号取り出しが開始されるが、次回の個別撮像処理における露光は、前回の個別撮像処理における信号取り出しが終了する前に開始される。すなわち、ある回の個別撮像処理における信号取り出しと次回の個別撮像処理における露光とが時間的に部分的にオーバラップするように行われるのである。ただし、ある回の個別撮像処理における信号取り出しは、次回の個別撮像処理における露光が終了する前に終了する。
【0195】
したがって、本実施形態においては、図12(b)に示すように、3次元形状情報取得のための8回の信号取り出しが時間的に隙間なく連続的に行われる。
【0196】
各回の信号取り出しは、それが間引き画像処理として実行される場合には、約33msで終了する。したがって、8回の信号取り出しは約0.26sで終了する。よって、図12に示す撮像時間(全体撮像時間)のうち3次元形状情報取得のための撮像に必要な部分(以下、「部分撮像時間」という。)の長さは、信号取り出し時間の長さの合計値によって支配されるため、約0.26sの程度の長さで済む。
【0197】
これに対し、各回の信号取り出しは、それを非間引き画像処理として実行すると、約0.5sも必要である。そのため、8回の信号取り出しに約5sも必要となり、よって、それに対応する部分撮像時間もその程度の長さが必要となる。
【0198】
このように、CCD70からの信号取り出しを間引き画像処理として実行する場合には、撮像時間が短縮され、その結果、被写体Sの動きや3次元入力装置10の手振れにもかかわらず、被写体Sの3次元形状を高精度で計測できる。
【0199】
さらに、図12に示すように、本実施形態においては、3次元形状情報取得のための2回目ないし8回目の露光のそれぞれと、表面色情報取得のための露光とが、それぞれ、先行する直前の露光に対応する信号取り出しの終了を待つことなく、開始される。先行する露光に対応する信号取り出しと、後続する露光とが互いに並行して行われるのであり、これにより、9回の信号取出しが時間的に隙間なく連続的に行われる。したがって、図12に示す撮像時間、すなわち、3次元形状情報取得のための撮像と表面色情報取得のための撮像との双方を連続的に行うのに必要な時間が短縮される。
【0200】
具体的には、各回の信号取り出しは、それが間引き画像処理として実行される場合には、約33msで終了するため、9回の信号取り出しは約0.3sで終了し、よって、それに対応する全体撮像時間もその程度の長さで済む。
【0201】
仮に、表面色情報取得のための1回の個別撮像処理すなわち表面色計測撮像処理(信号取り出しが非間引き画像処理として実行される。)を先に、3次元形状情報取得のための8回の個別撮像処理すなわち3次元計測撮像処理(信号取り出しが間引き画像処理として実行される。)を後に実行した場合には、先行する表面色計測撮像処理における信号取出しがほとんど終了するまで、3次元形状情報取得のための初回の露光を待たせなければならない。その待ち時間は、信号取り出し時間t2の長さにほぼ等しく、約0.5sである。
【0202】
この場合には、表面色情報取得のための露光と、3次元形状情報取得のための初回の露光との間にやや長い時間間隔が存在し、図12に示す全体撮像時間が長くなる。一方、被写体Sが静止物体であり、かつ、この3次元入力装置10の手振れの程度が大きくはない場合には、その全体撮像時間がやや長いことは問題にならない。これに対し、図1に示す如き、被写体Sが動作物体である場合や、3次元入力装置10の手振れの程度が大きい場合には、その全体撮像時間が長いと、表面色情報と3次元形状情報とが画素の位置に関して互いに十分に正確にマッチングしなくなってしまう。すなわち、テクスチャマッピング精度が低下してしまうのである。
【0203】
これに対し、本実施形態においては、図12に示すように、3次元形状情報取得のための8回の個別撮像処理が先に、表面色情報取得のための1回の個別撮像処理が後に行われる。その結果、先行する3次元形状情報取得のための8回目の露光と、後続する表面色情報取得のための露光とを、先行する3次元形状情報取得のための8回の露光が行われる周期と同じ周期で連続して行うことが可能となる。よって、本実施形態によれば、全体撮像時間を、約0.3s程度にまで短縮することが可能となる。
【0204】
したがって、本実施形態によれば、3次元形状情報取得のための露光と表面色情報取得のための露光とを十分に短い時間間隔で連続して行うことが可能となり、その結果、被写体Sの動きの程度や3次元入力装置10の手振れの程度にかかわらず、高いテクスチャマッッピング精度が実現される。
【0205】
よって、本実施形態によれば、3次元形状情報取得のためのCCD70からの信号取り出しを間引き画像処理モードで実行する場合(ユーザがFASTモードを選択する場合)には、高いテクスチャ解像度すなわち表面色計測精度を確保しつつ、高いテクスチャマッピング精度で動画を撮像するのに適した3次元入力装置10が提供される。
【0206】
さらに、本実施形態においては、ユーザが、3次元形状情報を取得するための画像処理モードを、間引き画像処理モードすなわちFASTモードと、非間引き画像処理モードすなわちSLOWモードとに適宜変更することが可能である。テクスチャマッピング精度の低下が懸念される環境において、ユーザがFASTモードを選択すれば、そのような環境にもかかわらず、テクスチャマッピング精度が低下せずに済む。一方、テクスチャマッピング精度の低下が懸念されない環境において、ユーザがSLOWモードを選択すれば、高いテクスチャマッピング精度のみならず高い3次元形状計測精度も実現される。
【0207】
このように、本実施形態によれば、3次元入力装置10の使用環境や3次元形状計測精度とテクスチャマッピング精度とのそれぞれに対するユーザの要望に応じて、3次元入力装置10の設定をユーザが任意に変更することができ、よって、3次元入力装置10の使い勝手が向上する。
【0208】
図13には、図9におけるS1220が3次元計測処理サブルーチンとしてフローチャートで概念的に表されている。
【0209】
この3次元計測処理サブルーチンにおいては、まず、S4001において、輝度画像生成プログラム114cの実行により、輝度画像が生成される。
【0210】
このS4001においては、輝度値が、YCbCr空間におけるY値として定義されており、各画素のRGB値より、
【0211】
Y=0.2989・R+0.5866・G+0.1145・B
【0212】
なる式を用いて計算される。各画素についてY値を求めることにより、複数枚のパターン光有画像にそれぞれ対応する複数枚の輝度画像が生成される。それら生成された輝度画像は、パターン番号PNに関連付けて輝度画像格納部116cに格納される。ただし、輝度値の算出に用いられる式は、上記式に限定されるものではなく、他の式に適宜変更することが可能である。
【0213】
次に、S4002において、コード画像生成プログラム114dが実行される。このコード画像生成プログラム114dが実行されると、生成された複数枚の輝度画像が前述の空間コード化法を利用して組み合わされることにより、各画素ごとに空間コードが割り当てられたコード画像が生成される。そのコード画像は、輝度画像格納部116cに格納された複数種類のパターン光有画像に関する輝度画像と、各画素ごとに輝度閾値が割り当てられた閾値画像との比較による2値化処理によって生成される。その生成されたコード画像はコード画像格納部116dに格納される。
【0214】
図14には、このコード画像生成プログラム114dの詳細がフローチャートで概念的に表されている。このコード画像生成プログラム114dにおいて採用されている技術は、本出願人の特願2004−285736号に詳細に記載されているため、その特許出願を参照することにより、その特許出願の内容を本明細書に引用する。
【0215】
以下、このコード画像生成プログラム114dを時系列的に説明するが、それに先立ち、原理的に説明する。
【0216】
本実施形態においては、同じ被写体S(3次元対象物)につき、複数種類のパターン光のもとにそれぞれ複数枚の輝度画像が生成される。それらパターン光はいずれも、明部、すなわち、幅を有する明るいパターンラインと、暗部、すなわち、幅を有する暗いパターンラインとが交互に一定の周期で繰り返すように形成される。それらパターン光は、その周期に関して互いに異なっており、それぞれ、パターン番号PNを有するパターン光と称される。それらパターン光のうち最も短い周期を有するパターン光が、パターン番号PNが0であるパターン光であり、最も長い周期を有するパターン光が、パターン番号PNが(PNmax−1)であるパターン光である。
【0217】
いずれの輝度画像も、対応するパターン光のもとに取得されるため、明部としての明るいパターンラインと、暗部としての暗いパターンラインとが交互に並んで成るパターン画像として形成される。パターンライン間の間隔すなわち周期は、3次元入力装置10と被写体Sとの間における相対的な幾何学的関係(位置および向きに関する関係)に依存するため、各輝度画像内のすべての位置において一定であるとは限らない。複数種類のパターン光のもとにそれぞれ取得される複数枚の輝度画像は、対応するパターン光のパターン番号PNを用いて特定される。
【0218】
本実施形態においては、それら複数枚の輝度画像のうちのいずれかが代表パターン画像に選択される。その代表パターン画像の一典型例は、複数種類のパターン光のうちパターンライン周期が最小であるものに対応する輝度画像であり、これは、パターン番号PNが0である輝度画像である。
【0219】
パターン光が投影された被写体Sを撮像した輝度画像においては、輝度値が画素列の方向において空間的にかつ周期的に変化する。その周期的変化を表すグラフにそれの複数個の下ピーク点(最低輝度点)において接する包絡線が存在する。この包絡線は、同じ被写体Sを無照射状態で撮像した輝度画像における輝度値、すなわち、被写体Sの背景光の輝度値の空間的変化を表している。このような包絡線が存在する輝度画像については、各画素の輝度値を閾値処理によって正確に2値化するためには、閾値を画素位置に応じて変化させることが望ましい。すなわち、輝度画像の実際の輝度値変化をトラッキングすることによって閾値を適応的に変化させることが望ましいのである。
【0220】
このような知見に基づき、本実施形態においては、輝度画像に対してフィルタ処理を行うことによって閾値を算出するフィルタ窓がローカルに設定され、フィルタ処理されることによりその位置に適した閾値が、輝度画像に対してローカルに設定される。輝度画像のうちのあるローカル位置に窓が設定されれば、輝度画像を構成する複数本のパターンラインのうちその窓内に存在する画素の輝度値が取り出されて参照されることにより、そのあるローカル位置に対応する閾値が設定される。
【0221】
本実施形態において使用される窓は、方形窓である。この方形窓を採用する場合には、その方形窓内に存在する複数本のパターンラインを構成する画素の輝度値が取り出され、それら輝度値に対して同一の重み係数が用いられて閾値が算出される。その重み係数により、方形窓の窓関数が定義される。
【0222】
さらに、方形窓を採用する場合には、その方形窓の、パターンラインが延びるライン方向におけるライン方向サイズに応じて、その方形窓内においてライン方向に存在する画素の数を可変とすることができる。一方、その方形窓の、複数本のパターンラインが列を成して並ぶ列方向における列方向サイズに応じて、その方形窓内において列方向に存在するパターンラインの数も画素の数も可変とすることができる。
【0223】
したがって、方形窓を採用する場合には、その方形窓の列方向サイズにより、輝度画像に窓を設定することによってその輝度画像から算出される閾値が変化することになる。よって、その閾値を適応的に変化させることが必要である場合には、方形窓の列方向サイズを適応的に変化させればよい。
【0224】
本実施形態においては、方形窓として構成される窓のサイズが、その窓内に存在するパターンラインの数がそれらパターンラインの間隔すなわち周期(例えば、明るいパターンラインが繰り返される周期)の整数倍であるように設定することが望ましい。すなわち、窓内に、明るいパターンラインと暗いパターンラインとが同数ずつ存在するように窓のサイズを設定することが望ましいのである。このように設定すれば、窓内に存在する複数本のパターンラインの輝度値の平均値を算出することにより、望ましい閾値を高精度取得することができる。
【0225】
しかしながら、同じ輝度画像上であっても、パターンラインの周期は場所によって異なる可能性がある。そのため、窓のサイズを固定した場合には、窓内に存在するパターンラインの数が場所によって変動してしまい、閾値の設定精度が低下してしまう。
【0226】
本実施形態においては、複数枚の輝度画像のうち、パターンラインの周期が最小であるパターン光のもとに撮像されたもの、すなわち、パターン番号PNが0である輝度画像が代表パターン画像として選択される。さらに、本実施形態においては、その代表パターン画像に対してローカルに設定される窓VWが、それのサイズが可変である可変窓として構成されている。それにより、その可変窓VWのサイズが、代表パターン画像の実際のパターンライン周期に適応して変化させられる。
【0227】
したがって、本実施形態によれば、代表パターン画像におけるパターンライン周期が列方向位置に応じて変動しても、それに追従するように可変窓VWのサイズが変更され、その結果、パターンライン周期の変動にもかかわらず、可変窓VW内に存在する明部と暗部のパターンラインの数が一定に維持される。本実施形態においては、代表パターン画像に対して可変窓VWが設定される各ローカル位置ごとに閾値THが取得される。各ローカル位置ごとの閾値THは、各ローカル位置に最適なサイズを有する可変窓VWのもとに精度よく取得されることになる。
【0228】
また、明部と暗部のパターンラインの数が一定に維持されるような可変窓VWのサイズは、パターン番号PNが0である輝度画像において最小となる。したがって、パターン番号PNが0である輝度画像を代表パターン画像として選択することにより、最小の可変窓VWのサイズが可能になり、可変窓VWを用いた後のフィルタ処理の計算負荷を抑えることが可能になる。
【0229】
本実施形態においては、その可変窓VWが、サイズが可変である方形窓として構成されている。その可変窓VWのサイズは、代表パターン画像の列方向には可変であるが、ライン方向には固定であるように設定されている。
【0230】
本実施形態においては、その可変窓VWのサイズ、すなわち、代表パターン画像の列方向におけるサイズが、その代表パターン画像の実際のパターンライン周期を適応的に反映するように設定される。そのため、可変窓VWのサイズを設定するために、代表パターン画像の実際のパターンライン周期分布が事前に判明していることが必要である。
【0231】
よって、本実施形態においては、可変窓VWのサイズの設定に先立ち、サイズが固定された固定窓が代表パターン画像に対して設定される。その設定された固定窓によって捕捉される複数個の連続画素が複数個の注目画素として選択され、それら選択された注目画素の輝度値に基づき、代表パターン画像の実際のパターンライン周期分布が取得される。
【0232】
本実施形態においては、さらに、代表パターン画像における複数個の注目画素の輝度値に対してFFT(Fast Fourier Transform:高速フーリエ変換)処理が施され、それにより、代表パターン画像の列方向において輝度値変化の周波数成分のそれぞれについて強度(例えば、パワースペクトル)が取得される。ここに、「周波数成分」は、1個の固定窓によって捕捉される複数個の注目画素を列方向に辿った場合に、輝度値の変化が反復される反復回数を意味する。
【0233】
本実施形態においては、代表パターン画像において列方向に連続的に並んだ複数個の連続画素のそれぞれが順次注目画素に選定され、その選定された各注目画素ごとにパターンライン周期が、代表パターン画像の輝度値分布に基づいて取得される。
【0234】
以上、このコード画像生成プログラム114dを原理的に説明したが、以下、図14を参照することにより、時系列的に説明する。
【0235】
このコード画像生成プログラム114dにおいては、まず、S5001において、パターン番号PNが0であるパターン光が投影された被写体Sが撮像された輝度画像が輝度画像格納部116cから、代表パターン画像として読み込まれる。
【0236】
次に、S5002において、その代表パターン画像につき、前記読み込まれた輝度画像に基づき、前述のFFT変換によるアプローチにより、代表パターン画像において列方向に連続的に並んだ各画素ごとにパターンライン周期が演算される。演算された複数個のパターンライン周期は各画素(各列方向画素位置)に関連付けて周期分布格納部116pに格納される。
【0237】
続いて、S5003において、演算された複数個のパターンライン周期に基づき、可変窓VWの特性がローカルに設定される。本実施形態においては、可変窓VWのライン方向サイズは、その可変窓VWが設定される代表パターン画像上の位置にかかわらず、変化しないように設定されるのに対し、可変窓VWの列方向サイズは、各列方向画素位置に関連付けて演算されたパターンライン周期の整数倍に相当するように設定される。
【0238】
その後、S5004において、代表パターン画像に対して可変窓VWが、ライン方向と列方向とに沿って平面的に、かつ、各画素に関連付けて設定される。それにより、各画素ごとに、可変窓VW内に存在する複数個の画素の輝度値の平均値がローカルな閾値として演算される。このS5004においては、さらに、演算された閾値が各画素に割り当てられた閾値画像が生成される。生成された閾値画像は閾値画像格納部116qに格納される。
【0239】
続いて、S5005において、パターン番号PNが0に初期化され、その後、S5006において、パターン番号PNの現在値が最大値PNmaxより小さいか否かが判定される。今回は、パターン番号PNの現在値が0であるため、判定がNOとなり、S5007に移行する。
【0240】
このS5007においては、パターン番号PNの現在値と等しいパターン番号PNが割り当てられた輝度画像の輝度値と、前記生成された閾値画像の閾値とが、各画素ごとに互いに比較される。その比較結果は、各画素ごとに2値化画像に反映される。具体的には、輝度画像の輝度値が閾値より大きい場合には、「1」を表すデータが、2値化画像のうち対応する画素位置に関連付けて2値化画像格納部116rに格納され、一方、輝度画像の輝度値が閾値より大きくはない場合には、「0」を表すデータが、2値化画像のうち対応する画素位置に関連付けて2値化画像格納部116rに格納される。
【0241】
その後、S5008において、パターン番号PNが1だけインクリメントされる。続いて、S5006に戻り、パターン番号PNの現在値が最大値PNmaxより小さいか否かが判定される。今回も、最大値PNmaxより小さい場合には、判定がNOとなり、S107に移行する。
【0242】
S5006ないしS5008の実行がパターン光の種類の数と同数回繰り返された結果、パターン番号PNの現在値が最大値PNmaxより小さくはない値になると、S5006の判定がYESとなり、S5009に移行する。
【0243】
このS5009においては、各画素ごとに、最大値PNmaxと同数枚の2値化画像から画素値(「1」または「0」)が、パターン番号PNが0である輝度画像に対応する2値化画像から、パターン番号PNが(PNmax−1)である輝度画像に対応する2値化画像に至る順序に従って抽出され、最下位ビットLSMから最上位ビットMSBに至る順序に従って並んだ空間コードが生成される。各画素ごとの空間コードのビット数は、最大値PNmaxと同数である。各画素ごとに空間コードが生成されることにより、今回の被写体Sに対応する空間コード画像が生成される。生成された空間コードは、各画素位置に関連付けて空間コード格納部116dに格納される。例えば、最大値PNmaxが8である場合には、生成される空間コードは0から255までの範囲内の値を有する。
【0244】
以上で、このコード画像生成プログラム114dの一回の実行が終了する。
【0245】
その後、図13におけるS4003において、コード境界抽出プログラム114eの実行により、コード境界座標検出処理が実施される。前述の空間コード化法によるコード化は、各画素単位で行われるため、実際のパターン光における明暗の境界線と、前記生成されたコード画像における空間コードの境界線(ある空間コードが割り当てられた領域と別の空間コードが割り当てられた領域との間の境界線)との間にサブピクセル精度の誤差が生ずる。そのため、このコード境界座標検出処理は、空間コードの境界座標値をサブピクセル精度で検出することを目的として実施される。
【0246】
例えば、各パターン光のライン方向と交差する離散的な基準線の位置をCCD座標系において255本設定すると、最大値PNmaxが8(空間コードを256有するため、境界は255)である場合には、図13におけるS4003(コード境界抽出プログラム114eの実行)により、最大約6万5千の空間コードの境界座標値が検出される。
【0247】
検出されたコード境界座標値はコード境界座標格納部116eに格納される。コード境界座標値は、CCD70の結像面に設定された2次元座標系であるCCD座標系ccdx−ccdyにおいて定義される。
【0248】
続いて、S4004において、レンズ収差補正プログラム114fの実行により、レンズ収差補正処理が実施される。このレンズ収差補正処理は、撮像光学系30に入射した光束の実際の結像位置であってその撮像光学系30の収差の影響を受けたものを、その撮像光学系30が理想レンズであったならば結像されるはずである理想結像位置に近づくように補正する処理である。
【0249】
このレンズ収差補正処理により、S4003において検出されたコード境界座標値が、撮像光学系30の歪みなどに起因した誤差が除去されるように補正される。そのようにして補正されたコード境界座標は収差補正座標格納部116gに格納される。
【0250】
それらコード境界座標検出処理およびレンズ収差補正処理はいずれも、本発明を理解するために不可欠な事項ではなく、しかも、本出願人の特願2004−105426号明細書に詳細に開示されているため、それを参照することによって引用することにより、本明細書においては詳細な説明を省略する。
【0251】
その後、S4005において、三角測量演算プログラム114gの実行により、三角測量の原理による実空間変換処理が実施される。この実空間変換処理が実施されれば、三角測量の原理により、前述の、CCD座標系ccdx−ccdy上のコード境界座標値であって収差補正が施されたものが、実空間に設定された3次元座標系である実空間座標系X−Y−Z上の3次元座標値に変換され、その結果、3次元色形状検出結果としての3次元座標値が取得される。その取得された3次元座標値は3次元座標格納部116hに格納される。
【0252】
ここで、図15を参照することにより、三角測量の原理により、CCD座標系ccdx−ccdy上の2次元座標値を実空間座標系X−Y−Z上の3次元座標値に変換する手法を詳細に説明する。
【0253】
本実施形態においては、実空間座標系X−Y−Zが3次元入力装置10に固定され、この実空間座標系X−Y−Z上において、撮像対象である被写体Sが撮像される。図15に示すように、この実空間座標系X−Y−Zは3次元入力装置10に対し、X軸は水平方向に延び、Y軸は垂直方向に延び、Z軸は撮像光学系30の光軸方向に延びるように位置決めされている。図15(a)には、実空間座標系X−Y−ZがX軸方向に観察された状態で示され、図15(b)には、実空間座標系X−Y−ZがY軸方向に観察された状態で示されている。この実空間座標系X−Y−Zは3次元入力装置10に対し、原点が、撮像光学系30の入力瞳位置からZ軸に沿って距離VPZ離れた位置に位置するように設定されている。
【0254】
この実空間座標系X−Y−Zにおいては、投影部12から被写体Sへの投影角度が「θp」で表記され、撮像光学系30の光軸と投影部12の光軸との距離が「D」で表記されている。投影角度θpは、各画素ごとに割り当てられた空間コードによって一義的に特定される。
【0255】
この実空間座標系X−Y−Zにおいては、さらに、被写体S上の対象点targetからの反射光がCCD70に入射する光路が逆向きに延長された直線とX−Y平面との交点のY座標値が「Ytarget」、X座標値が「Xtarget」でそれぞれ表記されている。この実空間座標系X−Y−Zにおいては、さらに、撮像光学系30のY方向の視野が、「Yftop」で示す表記される点から「Yfbottom」で表記される点までの領域として定義され、X方向の視野が、「Xfstart」で表記される点から「Xfend」で表記される点までの領域として定義されている。さらに、CCD70のY軸方向における長さ(高さ)が「Hc」で表記され、X軸方向における長さ(幅)が「Wc」で表記されている。
【0256】
このように定義された実空間座標系X−Y−Z上においては、CCD70のCCD座標系上の任意座標値(ccdx,ccdy)に対応する実空間座標系上の3次元座標値(X,Y,Z)は、
【0257】
(a)被写体S上の対象点target(X,Y,Z)(図15において引出し線を付して「(a)」示す。)と、
【0258】
(b)撮像光学系30の入力瞳位置(図15において引出し線を付して「(b)」示す。)と、
【0259】
(c)投影光学系32の出力瞳位置(図15において引出し線を付して「(c)」示す。)と、
【0260】
(d)撮像光学系30の入力瞳位置と被写体S上の対象点を通る直線とX−Y平面との交点(Xtarget,Ytarget)(図15において引出し線を付して「(d)」示す。)と、
【0261】
(e)投影光学系32の出力瞳位置と被写体S上の対象点を通る直線とX−Y平面との交点(図15において引出し線を付して「(e)」示す。)と
【0262】
に関する関係を示す次の5つの式を解くことにより、取得される。
【0263】
(1)Y=(PPZ−Z)・tanθp−D+cmp(Xtarget)
【0264】
(2)Y=−(Ytarget/VPZ)Z+Ytarget
【0265】
(3)X=−(Xtarget/VPZ)Z+Xtarget
【0266】
(4)Ytarget=Yftop−(ccdcy/Hc)×(Yftop−Yfbottom)
【0267】
(5)Xtarget=Xfstart+(ccdcx/Wc)×(Xfend−Xfstart)
【0268】
ただし、式(1)における「cmp(Xtarget)」は、撮像光学系20と投影部12とのズレを補正する関数であり、ズレが無い理想的な場合には、0とみなすことができる。
【0269】
さらに、この実空間変換処理においては、実画像における任意点の座標値(ccdx,ccdy)が、理想カメラで撮像された画像における座標値(ccdcx,ccdcy)に変換される。この変換は、次の3つの式、すなわち、カメラキャリブレーションのための近似式を用いて行われる。
【0270】
(6)ccdcx=(ccdx−Centx)/(1+dist/100)+Centx
【0271】
(7)ccdcy=(ccdy−Centy)/(1+dist/100)+Centy
【0272】
(8)hfa=arctan[(((ccdx−Centx) +(ccdy−Centy)0.5)×pixellength/focallength]
【0273】
ただし、収差量dist(%)は、半画角hfa(deg)の関数fを用いてdist=f(hfa)と記述される。また、撮像光学系30の焦点距離は、「focallength(mm)」で表記され、ccd画素長は、「pixellength(mm)」で表記され、CCD70におけるレンズの中心の座標値は、(Centx,Centy)として定義されている。
【0274】
この実空間座標系X−Y−Zにおいては、図15に示すように、光束が投影部12から被写体S上の対象点targetに入射する光路が同じ向きに延長された直線とX−Y平面との交点のY座標値が「Yptarget」、X座標値が「Xptarget」でそれぞれ表記されている。さらに、投影部12の出力瞳位置が(0,0,PPZ)として定義されている。さらに、投影部12のY方向の視野が、「Ypftop」で表記される点から「Ypfbottom」で表記される点までの領域として定義され、X方向の視野が、「Xpfstart」で表記される点から「Xpfend」で表記される点までの領域として定義されている。さらに、投影LCD66のY軸方向における長さ(高さ)が「Hp」で表記され、X軸方向における長さ(幅)が「Wp」で表記されている。
【0275】
S4005においては、被写体Sの3次元形状を複数個の3次元頂点の集まりとして空間離散的に計測するために、2次元的なコード画像が、各パターン光のライン方向と交差する離散的な複数本の基準線に関して空間離散的に参照される。これにより、そのコード画像の外周境界上の複数個の離散点にそれぞれ対応する複数個の3次元頂点が取得されるのみならず、そのコード画像の内部の複数個の離散点(S4003において検出されたコードの境界座標点)にそれぞれ対応する複数個の3次元頂点が取得される。
【0276】
図16には、図9におけるS1230が3次元色形状検出結果生成サブルーチンとして概念的にフローチャートで表されている。
【0277】
まず、S6001において、前述の実空間3次元座標系に座標変換された3次元頂点群の各実座標空間座標値に対応するRGB値(R輝度値、G輝度値およびB輝度値)が前述の表面色画像から抽出される。
【0278】
実空間座標系と、表面色画像を定義する平面座標系との関係は、前述の三角測量計算によって幾何学的に互いに対応付けられている。すなわち、コード画像、すなわち、被写体Sの3次元形状を計測するための2次元画像である形状画像を定義する平面座標系を実空間3次元座標系に計算によってマッピングさせるために用いられる関数が存在する場合に、その関数の逆関数を用いることにより、実空間3次元座標系を、表面色画像を定義する平面座標系に計算によってマッピングさせることが可能なのである。したがって、このS6001においては、2次元的な表面色画像から、各3次元頂点ごとに、それに対応する表面色値すなわちRGB値を抽出することが可能である。
【0279】
次に、S6002において、各頂点ごとに、対応する実空間座標値とRGB値とが組み合わされて色形状情報が生成される。さらに、その生成された色形状情報が、対応する頂点に直接にまたは間接に関連付けてワーキングエリア120にローカル保存される。
【0280】
続いて、S6003において、被写体Sの表面形状を複数個のポリゴンの一例である三角形に分割することによって近似的に表現するために、その被写体Sについて取得された複数個の頂点のうち、距離的に互いに近接する複数個の頂点が3個ずつ、グループ分けされる。各グループごとに、3個の頂点が互いに連結されることにより、1個のポリゴンが形成される。
【0281】
その後、S6004において、各ポリゴンごとに、そのポリゴンを形成するために互いに連結すべき3個の頂点の組合せがポリゴン情報として、各ポリゴンに直接にまたは間接に関連付けてワーキングエリア120にローカル保存される。
【0282】
以上で、この3次元色形状検出結果生成サブルーチンの一回の実行が終了し、それに伴い、図9に示す3次元色形状検出処理ルーチンの一回の実行が終了する。
【0283】
以上の説明から明らかなように、本実施形態においては、投影部12(鏡筒24、投影光学系32、LED62、光源レンズ64、投影LCD66および投影LCDドライバ86)と、コンピュータ110のうち図10におけるS2001ないしS2004およびS2006ないしS2009を実行する部分とが互いに共同して前記(1)項における「投影部」の一例を構成しているのである。
【0284】
さらに、本実施形態においては、撮像部14(撮像光学系30、CCD70およびCCDインタフェース88)と、コンピュータ110のうち図10におけるS2005およびS2010を実行する部分とが互いに共同して前記(1)項における「撮像部」の一例を構成しているのである。
【0285】
さらに、本実施形態においては、処理部16(特に、コンピュータ110のうち図6、図7、図9、図10、図13、図14および図16に示す複数のステップのうち撮像部14に関連するステップを除くものを実行する部分)が前記(1)項における「処理部」の一例を構成しているのである。
【0286】
さらに、本実施形態においては、コンピュータ110が撮像部14を介して図10におけるS2005を実行することによって行われる撮像処理が前記(1)項における「3次元計測撮像処理」の一例を構成し、コンピュータ110が撮像部14を介して図10におけるS2010を実行することによって行われる撮像処理が同項における「表面色計測撮像処理」の一例を構成しているのである。
【0287】
さらに、本実施形態においては、コンピュータ110が図6におけるS106ないしS108(図9におけるS1230に相当する部分を除く。)を実行することによって行われる演算処理が前記(1)項における「3次元計測演算処理」の一例を構成し、コンピュータ110が図9におけるS1230を実行することによって行われる演算処理が同項における「表面色計測演算処理」の一例を構成しているのである。
【0288】
以上の説明から明らかなように、本実施形態においては、被写体Sの3次元形状情報と表面色情報とを取得するために3次元入力装置10において実施される方法が前記(12)項に係る「3次元入力方法」の一例を構成しているのである。
【0289】
さらに、本実施形態においては、図10におけるS2001ないしS2004およびS2006ないしS2009が互いに共同して前記(12)項における「投影工程」の一例を構成しているのである。
【0290】
さらに、本実施形態においては、図10におけるS2005およびS2010を実行する部分が互いに共同して前記(12)項における「撮像工程」の一例を構成しているのである。
【0291】
さらに、本実施形態においては、図6、図7、図9、図10、図13、図14および図16に示す複数のステップのうち撮像部14に関連するステップを除くものが前記(12)項における「処理工程」の一例を構成しているのである。
【0292】
さらに、本実施形態においては、図10におけるS2005が前記(12)項における「3次元計測撮像処理」の一例を構成し、図10におけるS2010が同項における「表面色計測撮像処理」の一例を構成しているのである。
【0293】
さらに、本実施形態においては、S106ないしS108(図9におけるS1230に相当する部分を除く。)が前記(12)項における「3次元計測演算処理」の一例を構成図9におけるS1230が同項における「表面色計測演算処理」の一例を構成しているのである。
【0294】
なお付言するに、本実施形態においては、撮像素子としてCCDが使用され、選択的な電荷転送によって画素間引きが行われるが、他の素子、例えば、CMOSを使用して同様にして画素間引きを行う態様で本発明を実施することが可能である。
【0295】
以上、本発明の実施の形態の一つを図面に基づいて詳細に説明したが、これは例示であり、前記[発明の開示]の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【図面の簡単な説明】
【0296】
【図1】本発明の一実施形態に従う3次元入力装置10の外観を示す斜視図である。
【図2】図1におけるケーシング20の内部の構成を示す平面図である。
【図3】図2における投影部12を拡大して示す平面図、および図2における光源レンズ64を拡大して示す正面図である。
【図4】図3における複数個のLED62の配列を説明するための側面図、1個のLED62によって個別的に実現される照度分布を示すグラフ、それら複数個のLED62を示す正面図、およびそれら複数個のLED62により総合的に実現される合成照度分布を示グラフである。
【図5】図1に示す3次元入力装置10の電気的構成を概念的に表すブロック図である。
【図6】図5におけるカメラ制御プログラムにおいて実行されるメイン処理を概念的に表すフローチャートである。
【図7】図6におけるS108において実行される立体画像処理を概念的に表すフローチャートである。
【図8】図7の立体画像処理において採用される空間コード化法の原理を説明するための平面図および側面図と、2組のマスクパターンを示す平面図とである。
【図9】図7におけるS1007において実行される3次元色形状検出処理を3次元色形状検出処理ルーチンとして概念的に表すフローチャートである。
【図10】図7におけるS1210を撮像処理プログラム114bとして概念的に表すフローチャートである。
【図11】図10におけるS2004において実行される投影処理を投影処理サブルーチンとして概念的に表すフローチャートである。
【図12】図1に示す3次元入力装置10の作動の一例を説明するためのタイミングチャートである。
【図13】図9におけるS1220を3次元計測処理サブルーチンとして概念的に表すフローチャートである。
【図14】図13におけるS4002において実行されるコード画像生成プログラム114dを概念的に表すフローチャートである。
【図15】図13におけるS4005の実行によって2次元のCCD座標系と3次元の実空間座標系との間において行われる座標変換と、2次元のLCD座標系と3次元の実空間座標系との間とにおいて座標変換とを説明するための側面図および平面図である。
【図16】図7におけるS1230を3次元色形状検出結果生成ルーチンとして概念的に表すフローチャートである。
【図17】インターライントランスファー型のCCDセンサのプログレッシブ走査を説明するための平面図である。
【図18】図17に示すCCDセンサの電荷転送原理を説明するためのタイミングチャートである。
【図19】図17に示すCCDセンサを示す断面図および電位分布の時間的推移を説明するためのグラフである。
【図20】図17に示すCCDセンサの選択的電荷転送原理を説明するためのタイミングチャートならびにそのCCDセンサを示す断面図および電位分布の時間的推移を説明するためのグラフである。
【符号の説明】
【0297】
10 3次元入力装置
12 投影部
14 撮像部
16 処理部
70 CCD
110 コンピュータ

【特許請求の範囲】
【請求項1】
物体を3次元的に入力する3次元入力装置であって、
複数種類のパターン光を物体に投影する投影部と、
前記物体を撮像する撮像部であって、(a)前記物体の3次元形状を計測するために、前記投影部によって前記複数種類のパターン光が順に前記物体に投影される期間中に各パターン光の投影ごとに前記物体を撮像する3次元計測撮像処理と、(b)前記物体の表面色を計測するために、前記物体を撮像する表面色計測撮像処理とを行うものと
その撮像部による前記3次元計測撮像処理の撮像結果に基づいて前記物体の3次元形状を計測する3次元計測演算処理と、前記撮像部による前記表面色計測撮像処理の撮像結果に基づいて前記物体の表面色を計測する表面色計測演算処理とを行う処理部と
を含み、
前記撮像部は、前記物体の撮像結果から、その物体を表す全体画像を構成する複数個の画素のいずれかを間引いて形成される画素間引き画像と、いずれの画素も間引かずに形成される画素非間引き画像とを選択的に取り出すことが可能であるように構成されており、
前記処理部は、前記撮像部による前記3次元計測撮像処理の撮像結果から取り出された前記画素間引き画像に基づいて前記3次元計測演算処理を行う一方、前記撮像部による前記表面色計測撮像処理の撮像結果から取り出された前記画素非間引き画像に基づいて前記表面色計測演算処理を行う3次元入力装置。
【請求項2】
前記撮像部は、前記物体の撮像後、その撮像結果から前記画素間引き画像を、前記画素非間引き画像を取り出すのに必要な時間より短い時間で取り出す請求項1に記載の3次元入力装置。
【請求項3】
前記撮像部による一回の3次元計測撮像処理と、前記撮像部による一回の表面色計測撮像処理とが、前記物体に対する一回の全体撮像処理を構成し、
前記撮像部は、一回の3次元計測撮像処理において、前記複数種類のパターン光の数に応じた複数回、個別撮像処理を順次行う一方、一回の表面色計測撮像処理において、少なくとも一回、個別撮像処理を行う請求項1または2に記載の3次元入力装置。
【請求項4】
前記撮像部は、前記3次元計測撮像処理を先に、前記表面色計測撮像処理を後に行う請求項3に記載の3次元入力装置。
【請求項5】
前記撮像部は、前記3次元計測撮像処理に続いて、他の処理を行うことなく連続して、前記表面色計測撮像処理を行う請求項4に記載の3次元入力装置。
【請求項6】
前記撮像部は、前記3次元計測撮像処理における複数回の個別撮像処理と、前記表面色計測撮像処理における少なくとも1回の個別撮像処理とを、それらの順に、同一周期で行う請求項5に記載の3次元入力装置。
【請求項7】
前記撮像部は、前記3次元計測撮像処理における複数回の個別撮像処理と、前記表面色計測撮像処理における少なくとも1回の個別撮像処理とを、それらの順に、ビデオレートで行う請求項6に記載の3次元入力装置。
【請求項8】
前記撮像部は、前記各パターン光が投影された前記物体を撮像して前記画素間引き画像を取り出すことにより前記3次元計測撮像処理を行う高速撮像モードと、前記各パターン光が投影された前記物体を撮像して前記画素非間引き画像を取り出すことにより前記3次元計測撮像処理を行う低速撮像モードとを選択的に実行する請求項1ないし7のいずれかに記載の3次元入力装置。
【請求項9】
前記撮像部は、前記複数個の画素がグループ分けされた複数個の画素グループの各々に属する複数個の対象画素の照度検出値が各画素グループごとに加算され、その加算された照度を用いて、各画素グループに属する複数個の対象画素の照度検出値が均等に分散される加算方式により、前記物体の撮像結果から前記画素間引き画像を取り出す請求項1ないし8のいずれかに記載の3次元入力装置。
【請求項10】
前記撮像部は、前記複数個の画素がグループ分けされた複数個の画素グループの各々に属する複数個の対象画素から、それら対象画素を代表する代表画素が各画素グループごとに選択され、その選択された代表画素の照度検出値を用いて、各画素グループに属する複数個の対象画素の照度検出値が設定される選択方式により、前記物体の撮像結果から前記画素間引き画像を取り出す請求項1ないし8のいずれかに記載の3次元入力装置。
【請求項11】
当該3次元入力装置がハンドヘルドタイプである請求項1ないし10のいずれかに記載の3次元入力装置。
【請求項12】
物体を3次元的に入力する3次元入力方法であって、
複数種類のパターン光を物体に投影する投影工程と、
前記物体を撮像する撮像工程であって、(a)前記物体の3次元形状を計測するために、前記投影工程によって前記複数種類のパターン光が順に前記物体に投影される期間中に各パターン光の投影ごとに前記物体を撮像する3次元計測撮像処理と、(b)前記物体の表面色を計測するために、前記物体を撮像する表面色計測撮像処理とを行うものと
その撮像工程による前記3次元計測撮像処理の撮像結果に基づいて前記物体の3次元形状を計測する3次元計測演算処理と、前記撮像工程による前記表面色計測撮像処理の撮像結果に基づいて前記物体の表面色を計測する表面色計測演算処理とを行う処理工程と
を含み、
前記撮像工程は、前記物体の撮像結果から、その物体を表す全体画像を構成する複数個の画素のいずれかを間引いて形成される画素間引き画像と、いずれの画素も間引かずに形成される画素非間引き画像とを選択的に取り出し、
前記処理工程は、前記撮像工程による前記3次元計測撮像処理の撮像結果から取り出された前記画素間引き画像に基づいて前記3次元計測演算処理を行う一方、前記撮像工程による前記表面色計測撮像処理の撮像結果から取り出された前記画素非間引き画像に基づいて前記表面色計測演算処理を行う3次元入力方法。
【請求項13】
請求項12に記載の3次元入力方法を実施するためにコンピュータによって実行されるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2006−267031(P2006−267031A)
【公開日】平成18年10月5日(2006.10.5)
【国際特許分類】
【出願番号】特願2005−89076(P2005−89076)
【出願日】平成17年3月25日(2005.3.25)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】