3次元情報取得方法および 3次元情報取得装置
技術分野
[0001] 本発明は、パターン光が投影された対象物を撮像することによって取得されるバタ ーン画像に基づき、対象物の 3次元情報を取得する技術に関するものであり、特に、 その 3次元情報を取得するためにパターン画像に適用される閾値を設定する技術の 改良に関するものである。
背景技術
[0002] 対象物の 3次元形状を計測することなどを目的として、パターン光が投影された対 象物を撮像することによって取得されるパターン画像に基づき、対象物の 3次元情報 を取得する技術が既に存在する。
[0003] この技術の一例は、空間コードィ匕法である。この空間コードィ匕法においては、 n種 類のストライプ状のパターン光が順次、対象物に投影され、各パターン光ごとに、そ の対象物が撮像される。その結果、その対象物が置かれている空間が 2n個の細い扇 状領域に分割され、それにより、 n枚のパターン画像、すなわち、ストライプ状の輝度 画像または濃淡画像が取得される。
[0004] この空間コード化法においては、さらに、それら取得された n枚のパターン画像が、 それぞれに対して閾値処理が行われることにより、 n枚の 2値ィ匕画像に変換され、さら に、各画素ごとに、それら n枚の 2値ィ匕画像の輝度値 (0または 1)が順次、空間コード を構成する最下位ビット LSB力も最上位ビット MSBまでの n個のビットに割り当てられ る。
[0005] その結果、各画素ごとに空間コードが割り当てられた空間コード画像が取得され、 その取得された空間コード画像に基づき、かつ、三角測量の原理に従うことにより、 対象物を構成する複数の画素のそれぞれの 3次元位置を始めとする 3次元情報が取 得される。
[0006] この空間コード化法においては、閾値処理が、一般に、パターン画像と閾値画像と を輝度値に関して各画素ごとに互いに比較されるように行われる。その閾値画像を取
得する一従来例が日本国特許第 2921748号公報に開示されている。
[0007] 具体的には、その従来例によれば、 8種類の基本スリットパターンにっき、ポジ画像 を撮影するための 8種類のポジ画像用スリットパターンと、ネガ画像を撮影するための 8種類のネガ画像用スリットパターンであって 8種類のポジ画像用スリットパターンが 反転されたものとが使用される。この従来例によれば、同じ対象物につき、 8種類のポ ジ画像用スリットパターンが順次用いられてポジ画像が 8枚撮影され、さら〖こ、 8種類 のネガ画像用スリットパターンが順次用いられてネガ画像が 8枚撮影される。
[0008] この従来例によれば、さらに、各基本スリットパターンごとに、ポジ画像力 ネガ画像 を差分した差分画像と、ネガ画像からポジ画像から差分した差分画像とを組み合わ せて閾値画像が合成される。そのため、この従来例を実施する場合には、対象物へ のパターン光の投影および撮影を、基本スリットパターンの数の 2倍の回数、すなわ ち、通常の空間コードィ匕法を実施するために投影および撮影が行われる回数の 2倍 の回数、行わなければならない。
[0009] 別の従来例によれば、パターン画像における複数本のパターンライン (パターン画 像のうちの明部の一例)が 2本入るように幅が固定された長方形のマスクが使用され る。このマスクは、パターン画像の各部分に個別に適用され、各部分ごとに、マスク内 に存在する複数個の画素の輝度値の平均値が、ローカルな閾値として算出される。 すなわち、この従来例は、対象物の明るさの空間的変化に適応するように閾値をロー カルに設定する閾値設定技術の一従来例なのである。
発明の開示
[0010] 上述の閾値設定技術においては、マスクの幅が、実際のパターン画像における複 数本のパターンラインの間隔の整数倍とちょうど一致することが要求される。この要求 が充足されないと、同じマスク中に明部と暗部とが面積に関して均等に存在しなくなり 、その結果、同じマスク中に存在する複数の画素の輝度値の平均値が、実際の明部 と実際の暗部とのそれぞれの真の輝度値の平均値力 外れてしまう。しかしながら、 この要求を常に充足することは現実的には困難である。以下、このことを具体的に説 明する。
[0011] 複数本のパターンラインが等間隔で並んだパターン光が投影された対象物の撮像
によって取得されるパターン画像においても、複数本のパターンラインが並ぶ。パタ ーン画像におけるパターンラインの間隔は、パターン光におけるパターンラインの間 隔が同じであっても、対象物と、その対象物にパターン光を投影するプロジェクタと、 その対象物を撮像するカメラとの間における相対的な幾何学的配置,配向(例えば、 パターン光が対象物に投影される向き、その対象物が撮像される向き、その対象物 の表面の向き、プロジェクタと対象物との距離、カメラと対象物との距離)に依存して 変化する。
[0012] また、プロジェクタ力 投光されるパターン光においては、各パターンラインの間隔 が等間隔であるのに対し、そのようなパターン光が投影された対象物の撮像によって 取得されるパターン画像においては、パターンラインの間隔が空間的に変化する可 能性がある。
[0013] この理由を具体的に説明するに、対象物のうちパターン光が投影される部分が単 一の平面によって構成される場合には、その部分からパターン光が反射した光によ つて形成されるパターン画像においても、パターンラインの間隔が空間的に変化しな い。
[0014] し力しながら、対象物のうちパターン光が投影される部分が、例えば、凹凸を有する 場合など、単一もしくは複数の曲面または複数の平面によって構成される場合には、 その部分からパターン光が反射した光によって形成されるパターン画像においては、 ノターンラインの間隔が空間的に変化する。
[0015] 以上要するに、パターン画像においてパターンライン間隔が空間的に変化する可 能性があるのであるが、その可能性にもかかわらず、前述の閾値設定技術によれば 、閾値をローカルに設定するためのパターン画像に設定されるマスクの幅は固定さ れている。
[0016] そのため、この閾値設定技術では、空間的に変化しているパターンライン間隔を持 つパターン画像上においてマスクが空間的に順次シフトさせられると、マスクに入る パターンラインの数が増減を繰り返し、その結果、マスクに入る画素の輝度値の平均 値が空間的に振動してしまう。そのように振動する平均値に基づいて閾値が設定さ れると、この閾値も空間的に振動してしまうことになる。
[0017] ところで、一般に、対象物に一様な光を投影すると、その対象物の各部分の明るさ はその各部分からの反射光の輝度値として表現される。そのため、各部分に投影さ れる光の強度が他の部分と同じであっても、各部分においては、それの面の傾き、表 面反射率、プロジェクタからの距離、カメラからの距離等が他の部分とは異なれば、 明るさも他の部分とは異なる。
[0018] このような性質が存在することを前提にして、パターン光が対象物に投影された結 果取得されるパターン画像を考察するに、そのパターン画像における複数本のバタ ーンライン間において輝度値が互いに共通するとは限らない。すなわち、同じパター ン画像中に明る 、パターンライン(明る 、明部)と暗 、パターンライン(暗 、明部)とが 併存する可能性があるのである。しかし、それらパターンラインは、このように絶対的 な輝度値に違いがあるにもかかわらず、 2値ィ匕処理においては、いずれも明部である と判定されることが、 2値ィ匕の精度を向上させるために必要である。したがって、対象 物の反射光のそもそもの明るさの空間的変化に追従するように閾値をトラッキングす ることが望ましい。
[0019] もっとも、現実的には、対象物の表面が投影するパターンに依存して振動的に変化 を繰り返すことは稀である。そのため、前述の閾値設定技術によって設定される閾値 力 パターン画像において振動的に変化することは、 2値化の精度を悪化させる要因 であると考えるのが自然である。
[0020] 以上の説明から明らかなように、上述の閾値設定技術では、対象物からの反射光 のそもそもの明るさの空間的変化に正確に追従するように閾値を設定することが困難 であるという問題があつたのである。
[0021] このような事情を背景とし、本発明は、パターン光が投影された対象物を撮像するこ とによって取得されるパターン画像に基づき、対象物の 3次元情報を取得する技術に おいて、その 3次元情報を取得するためにパターン画像に適用される閾値を設定す る技術を改良することを課題としてなされたものである。
[0022] 本発明によって下記の各態様が得られる。各態様は、項に区分し、各項には番号 を付し、必要に応じて他の項の番号を引用する形式で記載する。これは、本発明が 採用し得る技術的特徴の一部およびそれの組合せの理解を容易にするためであり、
本発明が採用し得る技術的特徴およびそれの組合せが以下の態様に限定されると 解釈すべきではない。すなわち、下記の態様には記載されていないが本明細書には 記載されている技術的特徴を本発明の技術的特徴として適宜抽出して採用すること は妨げられな 、と解釈すべきなのである。
[0023] さらに、各項を他の項の番号を引用する形式で記載することが必ずしも、各項に記 載の技術的特徴を他の項に記載の技術的特徴から分離させて独立させることを妨げ ることを意味するわけではなぐ各項に記載の技術的特徴をその性質に応じて適宜 独立させることが可能であると解釈すべきである。
[0024] (1) パターン光が投影された対象物を撮像することによって取得されるパターン画 像に基づき、前記対象物の 3次元情報を取得する 3次元情報取得方法であって、 前記パターン画像の各部分における空間周波数特性に基づき、前記各部分に対 応する空間フィルタを前記各部分ごとに設定する空間フィルタ設定工程と、
前記各部分に対して前記空間フィルタを施して取得される画像情報に基づき、前 記 3次元情報を取得するために前記各部分に適用される閾値を前記各部分ごとに設 定する閾値設定工程と
を含む 3次元情報取得方法。
[0025] この方法においては、パターン画像の各部分ごとに適用される閾値を各部分ごとに 設定するために、パターン画像の各部分における空間周波数特性に基づき、各部分 に対応する空間フィルタが各部分ごとに設定される。そのようにして設定された空間 フィルタが各部分ごとにパターン画像に対して施されることにより、閾値が各部分ごと に設定される。すなわち、この方法においては、パターン画像上における位置に応じ てフィルタ特性が可変である可変空間フィルタの採用により、パターン画像について ローカルな閾値が設定されるのである。
[0026] したがって、この方法によれば、ノターン画像の各部分に個別に設定される空間フ ィルタが、各部分の空間周波数特性に適応するように設定される。その結果、パター ン画像の各部分に個別に設定される閾値も、各部分の空間周波数特性に適応する ように設定される。
[0027] したがって、この方法によれば、ノターン画像の各部分に対して、固定フィルタ特性
を持つ空間フィルタ (例えば、固定幅を持つ固定窓)を施すことによって各部分ごとに 閾値が設定される場合とは異なり、設定された閾値がパターン画像について空間的 に振動する傾向を抑制することが容易となる。
[0028] 本項における「3次元情報」は、通常、対象物を構成する複数の画素のそれぞれの 3次元位置に関する情報を含むが、それに限定されず、例えば、対象物の各画素の 色またはテクスチャに関する情報、対象物の表面を少なくとも近似的に表現するポリ ゴンを定義する幾何学的情報 (例えば、そのポリゴンにおける複数の頂点とそれら頂 点を結ぶ複数の面とに関する情報)等を含むことが可能である。
[0029] (2) 前記空間フィルタ設定工程は、窓関数によって前記パターン画像から取り出さ れた各部分の画像情報に基づき、前記空間周波数特性を前記各部分ごとに取得し 、その取得された空間周波数特性に基づき、前記空間フィルタを前記各部分ごとに 設定する(1)項に記載の 3次元情報取得方法。
[0030] この方法によれば、パターン画像の各部分ごとに空間フィルタを設定するために取 得することが必要な空間周波数特性力 パターン画像について全体的に取得される のではなぐパターン画像の各部分ごとに個別に取得される。したがって、この方法 によれば、パターン画像の各部分の空間周波数特性を精度よく取得することが容易 となる。
[0031] (3) 前記空間フィルタは、可変係数のマトリクスである(1)または(2)項に記載の 3次 元情報取得方法。
[0032] (4) 前記空間フィルタは、可変幅を持つ方形窓と、遮断周波数が可変であるローバ スフィルタとの少なくとも一方の特性を含む(1)な 、し (3)項の 、ずれかに記載の 3次 元情報取得方法。
[0033] (5) 前記パターン光は、明部と暗部とが交互に並んで構成されており、
前記パターン画像は、そのパターン光に対応し、明部と暗部とが交互に並んで構 成されており、
前記空間周波数特性は、前記パターン画像の各部分において、前記明部と前記 暗部との繰り返しにつ 、ての空間周波数を反映する(1)な 、し (4)項の 、ずれかに 記載の 3次元情報取得方法。
[0034] (6) 前記空間フィルタ設定工程は、前記パターン画像の各部分の前記空間周波数 特性が複数の空間周波数にお!、て強度極大値を有することを示す場合に、それら複 数の強度極大値を有する空間周波数の少なくとも一つに基づき、前記空間フィルタ を前記各部分ごとに設定する(5)項に記載の 3次元情報取得方法。
[0035] ノターン画像が複数の強度極大値を持つ空間周波数を備えている場合には、それ ら空間周波数のうち優勢なものを考慮して空間フィルタを設定すれば、パターン画像 についてローカルな閾値がそのパターン画像の空間周波数特性に十分に適応する ように取得される傾向が強まる。
[0036] このような知見に基づき、本項に係る方法においては、パターン画像の各部分の空 間周波数特性が複数個の空間周波数において強度極大値を有することを示す場合 に、それら複数の強度極大値を有する空間周波数の少なくとも一つに基づき、空間 フィルタをパターン画像の各部分ごとに設定される。
[0037] (7) 前記空間フィルタ設定工程は、前記パターン画像の輝度分布に対してフーリエ 変換を施すことにより、前記空間周波数特性を特定する (6)項に記載の 3次元情報 取得方法。
[0038] この方法によれば、フーリエ変換により、ノターン画像の空間周波数特性をより正 確に取得することが容易となる。
[0039] (8) 前記空間フィルタは、可変幅を持つ方形窓であり、
前記空間フィルタ設定工程は、前記複数の強度極大値を有する空間周波数のうち 強度が最大であるものに基づき、前記方形窓の幅を決定する窓幅決定工程を含む(
6)または(7)項に記載の 3次元情報取得方法。
[0040] (9) 前記空間フィルタは、遮断周波数が可変であるローパスフィルタであり、
前記空間フィルタ設定工程は、前記複数の強度極大値を有する空間周波数のうち 強度が最大であるものに基づき、その空間周波数より低い空間周波数に前記遮断周 波数を決定する遮断周波数決定工程を含む (6)または(7)項に記載の 3次元情報 取得方法。
[0041] (10) 前記空間フィルタ設定工程は、前記パターン画像を構成する複数個の画素 のそれぞれにっき、各画素を含んでそれの近傍に位置する複数個の画素の輝度情
報に基づいて前記空間周波数特性を演算する空間周波数特性演算工程を含む(1) な!、し (9)項の 、ずれかに記載の 3次元情報取得方法。
[0042] この方法によれば、パターン画像の各画素ごとに、ローカルな空間周波数特性を精 度よく演算することが容易となる。
[0043] (11) 前記空間フィルタ設定工程は、前記パターン画像を構成する複数個の画素 のうち互 ヽに離散するように選択された複数個の離散画素のそれぞれにつ 、て、各 離散画素を含んでそれの近傍に位置する複数個の画素の輝度情報に基づいて前 記空間周波数特性を演算する空間周波数特性演算工程を含む( 1)な!ヽし (9)項の V、ずれかに記載の 3次元情報取得方法。
[0044] この方法によれば、パターン画像を構成する複数個の画素が、互いに離散した複 数個の離散画素によって代表される。それら複数個の離散画素のそれぞれについて は、前記(10)項に係る方法と同様にして、ローカルな空間周波数特性が演算される 。これに対し、残りの複数個の画素のそれぞれについては、各画素に近接する離散 画素について先に演算されたローカルな空間周波数に基づき、ローカルな空間周波 数特性を演算することが可能である。例えば、残りの複数個の画素のそれぞれにつ いては、各画素を隔てて互!、に近接する複数の離散画素につ 、て先に演算された それぞれのローカルな空間周波数力 推定することにより、ローカルな空間周波数特 性を演算することが可能である。
[0045] したがって、この方法によれば、パターン画像を構成する複数個の画素のそれぞれ にっき、先に演算されたローカルな空間周波数特性を用いることなぐローカルな空 間周波数特性を演算する場合より、その演算に必要な計算負荷を軽減することが容 易となる。
[0046] (12) 前記空間フィルタ設定工程は、さらに、前記複数個の画素のうち前記選択さ れた複数個の離散画素以外の各非選択画素についての前記空間周波数を、前記 複数個の離散画素のうち各非選択画素の周辺に位置するものについて前記空間周 波数特性演算工程によって演算された前記空間周波数特性を用いて推定する空間 周波数特性推定工程を含む(11)項に記載の 3次元情報取得方法。
[0047] この方法によれば、選択された複数個の離散画素について前記空間周波数特性
演算工程によって演算された空間周波数特性を利用することにより、複数個の画素 のうち、選択された複数個の離散画素以外の各非選択画素についての空間周波数 特性が推定される。
[0048] (13) 前記パターン光は、明部と暗部とが交互に並んで構成されており、
前記パターン画像は、そのパターン光に対応し、明部と暗部とが交互に並んで構 成されており、
前記パターン光は、前記明部と前記暗部との繰り返しにつ 、ての空間周波数が互 Vヽに異なる複数種類のパターン光を含み、
前記パターン画像は、それら複数種類のパターン光にそれぞれ対応する複数種類 のパターン画像を含み、
前記空間フィルタ設定工程は、それら複数種類のパターン画像の ヽずれかとして 選択された選択パターン画像を用いて前記空間フィルタを設定し、
前記閾値設定工程は、前記閾値を前記複数種類のパターン画像に共通に割り当 てる( 1)ないし( 12)項の 、ずれかに記載の 3次元情報取得方法。
[0049] この方法によれば、各パターン画像ごとに閾値設定を行わずに済む。この方法は、 複数種類のパターン画像がそもそも、対象物の 3次元情報を取得するために利用さ れるものであって、それらパターン画像の 、ずれかである上記選択パターン画像力 Sも つばら閾値設定のために利用されるものではな 、態様で実施することが可能である。 この態様によれば、閾値を設定することのみを目的として、ノターン光の投影および 対象物の撮像を行わずに済む。
[0050] (14) 前記選択パターン画像は、前記複数種類のパターン光のうち、前記明部と前 記暗部との繰り返しについての周期が実質的に最小であるものに対応する(13)項 に記載の 3次元情報取得方法。
[0051] この方法によれば、選択パターン画像が、複数種類のパターン光のうち、明部と暗 部とが交互に繰り返す周期が実質的に最小ではないものに対応する場合に比較し、 例えば、空間フィルタの一例である可変窓の幅が小さくて済む。その可変窓は、例え ば、ノターン画像におけるパターンラインの間隔の整数倍とちょうど一致する幅を有 するように設定され、その幅は、パターンラインの間隔が短いほど、すなわち、上記周
期が短いほど、小さい。一方、可変窓の幅が小さいほど、その可変窓によって部分的 に切り出されるパターン画像のデータ量が少なくなる。よって、この方法によれば、閾 値設定のための計算負荷を軽減することが容易となる。
[0052] (15) さらに、前記設定された閾値を用いることによって前記パターン画像を 2値ィ匕 し、それにより、そのパターン画像を 2値ィ匕画像に変換する 2値ィ匕工程を含む(1)な
V、し(14)項の 、ずれかに記載の 3次元情報取得方法。
[0053] この方法によれば、可変空間フィルタの採用によって精度の高い閾値をローカルに 決定することができるため、パターン画像を 2値ィ匕する精度が向上する。
[0054] (16) 前記閾値設定工程は、前記パターン画像を構成する複数個の画素のそれぞ れについて前記閾値を割り当てることにより、閾値画像を生成する閾値画像生成ェ 程を含み、
前記 2値化工程は、その生成された閾値画像と前記パターン画像とを輝度値に関 して各画素ごとに互いに比較することにより、前記 2値化画像を生成する 2値化画像 生成工程を含む(15)項に記載の 3次元情報取得方法。
[0055] この方法によれば、可変空間フィルタの採用によって精度の高い閾値をローカルに 決定することができるため、閾値画像の精度が向上し、ひいては、 2値化画像の精度 も向上する。
[0056] (17) さらに、前記 2値化画像に基づき、かつ、予め定められた空間コードィ匕規則に 従い、前記 2値ィ匕画像カゝら空間コード画像を算出する空間コード画像算出工程を含 む(15)または(16)項に記載の 3次元情報取得方法。
[0057] この方法によれば、可変空間フィルタの採用によって精度の高い閾値をローカルに 決定することができるため、 2値化画像の精度が向上し、ひいては、空間コード画像 を取得する精度も向上する。
[0058] (18) さらに、前記算出された空間コード画像に基づき、前記対象物を構成する複 数の画素のそれぞれに対応する 3次元位置を前記 3次元情報として演算する 3次元 位置演算工程を含む(17)項に記載の 3次元情報取得方法。
[0059] この方法によれば、空間コードィ匕法により、対象物の 3次元位置を計測することが可 能となる。
[0060] (19) (1)ないし(18)項のいずれかに記載の 3次元情報取得方法を実施するため にコンピュータによって実行されるプログラム。
[0061] このプログラムがコンピュータにより実行されれば、前記(1)ないし(18)項のいずれ 力に係る方法におけると基本的に同じ原理に従い、同様な効果が実現され得る。
[0062] 本項に係るプログラムは、それの機能を果たすためにコンピュータにより実行される 指令の組合せのみならず、各指令に従って処理されるファイルやデータをも含むよう に解釈することが可能である。
[0063] また、このプログラムは、それ単独でコンピュータにより実行されることにより、所期の 目的を達するものとしたり、他のプログラムと共にコンピュータにより実行されることに より、所期の目的を達するものとすることができる。後者の場合、本項に係るプロダラ ムは、データを主体とするものとすることができる。
[0064] (20) (19)項に記載のプログラムをコンピュータ読取り可能に記録した記録媒体。
[0065] この記録媒体に記録されているプログラムがコンピュータにより実行されれば、前記
(1)ないし(18)項のいずれかに係る方法と同じ作用効果が実現され得る。
[0066] この記録媒体は種々な形式を採用可能であり、例えば、フレキシブル ·ディスク等の 磁気記録媒体、 CD、 CD— ROM等の光記録媒体、 MO等の光磁気記録媒体、 RO
M等のアンリムーバブル 'ストレージ等の 、ずれかを採用し得る。
[0067] (21) パターン光が投影された対象物を撮像することによって取得されるパターン画 像に基づき、前記対象物の 3次元情報を取得する 3次元情報取得装置であって、 前記パターン画像の各部分における空間周波数特性に基づき、前記各部分に対 応する空間フィルタを前記各部分ごとに設定する空間フィルタ設定部と、
前記各部分に対して前記空間フィルタを施して取得される画像情報に基づき、前 記 3次元情報を取得するために前記各部分に適用される閾値を前記各部分ごとに設 定する閾値設定部と
を含む 3次元情報取得装置。
[0068] この装置によれば、前記(1)項に係る方法と同じ原理に従い、同じ作用効果が実現 され得る。
図面の簡単な説明
[図 1]図 1は、本発明の一実施形態に従う 3次元情報取得方法を実施するのに好適 な画像入出力装置 1を示す外観斜視図である。
[図 2]図 2は、図 1における撮像ヘッド 2の内部構成を示す平面図である。
[図 3]図 3は、図 2における投影部 13を拡大して示す平面図、図 2における光源レン ズ 18を拡大して示す正面図、および図 2における投影 LCD19および CCD22を拡 大して示す正面図である。
[図 4]図 4は、図 3における複数個の LED17の配列を説明するための側面図、 1個の LED17によって個別的に実現される照度分布を示すグラフ、それら複数個の LED1 7を示す正面図、およびそれら複数個の LED17により総合的に実現される合成照度 分布を示グラフである。
[図 5]図 5は、図 1に示す画像入出力装置 1の電気的構成を概念的に表すブロック図 である。
[図 6]図 6は、図 5におけるカメラ制御プログラムにおいて実行されるメイン処理を概念 的に表すフローチャートである。
[図 7]図 7は、図 6における S605において実行されるデジカメ処理を概念的に表すフ ローチャートである。
[図 8]図 8は、図 6における S607において実行される webcam処理を概念的に表す フローチャートである。
[図 9]図 9は、図 8〖こおける S806にお ヽて実行される投影処理を概念的に表すフロ 一チャートである。
[図 10]図 10は、図 6における S609において実行される立体画像処理を概念的に表 すフローチャートである。
[図 11]図 11は、図 10の立体画像処理において採用される空間コード化法の原理を 説明するための平面図および側面図と、 2組のマスクパターンを示す平面図とである
[図 12]図 12は、図 10における S1006において実行される 3次元形状検出処理を 3 次元形状検出処理ルーチンとして概念的に表すフローチャートと、その 3次元形状 検出処理ルーチンにおける S1210を撮像処理サブルーチンとして概念的に表すフ
ローチャートと、その 3次元形状検出処理ルーチンにおける S1220を 3次元計測処 理サブルーチンとして概念的に表すフローチャートとである。
[図 13]図 13は、図 12における S1222において実行されるコード画像生成プログラム 36dを概念的に表すフローチャートである。
[図 14]図 14は、図 13における S101において使用される代表パターン画像の一例を 示す正面図である。
[図 15]図 15は、図 14に示す代表パターン画像にぉ 、て輝度値がパターンラインの 列方向において空間的に変化する様子を説明するためのグラフである。
[図 16]図 16は、図 14における部分 Aと固定窓との関係を説明するための平面図と、 図 14における部分 Bと固定窓との関係を説明するための平面図とである。
[図 17]図 17は、図 14における部分 Aについて固定窓を用いて取得される閾値がパ ターンラインの列方向において空間的に変化する様子を説明するためのグラフであ る。
[図 18]図 18は、図 14における部分 Bについて固定窓を用いて取得される閾値がパタ ーンラインの列方向において空間的に変化する様子を説明するためのグラフである
[図 19]図 19は、図 14における代表パターン画像につ!、て 2値化処理のための閾値 T Hをローカルに設定するためにその代表パターン画像に対してローカルに設定され る可変窓 VWを示す平面図である。
[図 20]図 20は、図 14に示す代表パターン画像においてパターンライン周期を取得 するためにその代表パターン画像に対して設定される固定窓を説明するための正面 図である。
[図 21]図 21は、図 20における固定窓を用いることにより、図 14に示す代表パターン 画像について取得された輝度値の周波数特性の一例を示すグラフである。
[図 22]図 22は、図 12における S1225の実行によって 2次元の CCD座標系と 3次元 の実空間座標系との間において行われる座標変換と、 2次元の LCD座標系と 3次元 の実空間座標系との間とにおいて座標変換とを説明するための側面図および平面 図である。
発明を実施するための最良の形態
[0070] 以下、本発明のさらに具体的な実施の形態のいくつかを図面に基づいて詳細に説 明する。
[0071] 図 1には、本発明の一実施形態に従う 3次元情報取得方法を実施するのに好適な 画像入出力装置 1が外観斜視図で示されている。この画像入出力装置 1は、画像を 表す画像光(「画像信号光」ともいう。)の投影面 (例えば、平面、スクリーン、机上面 など)への投影 (通常の投影)およびストライプ状のパターン光の被写体への投影 (3 次元情報取得のための投影)と、被写体の撮像と、その撮像結果に基づき、被写体 の 3次元情報(3次元位置情報を含む。 )をコンピュータによって取得する処理とを行 うように設計されている。そのため、この画像入出力装置 1は、図 2に示すように、投影 部 13と、撮像部 14と、処理部 15とを含むように構成されている。
[0072] この画像入出力装置 1は、複数種類のモードのうちユーザによって選択されたもの に従って作動する。それらモードは、この画像入出力装置 1がデジタルカメラとして機 能するデジカメモードと、ウェブカメラとして機能する webcamモードと、被写体の 3次 元形状を検出して立体画像を取得するための立体画像モードと、湾曲した原稿等の 被写体の立体画像を平面化した平面化画像を取得するための平面化画像モードと を含んでいる。
[0073] 図 1には、この画像入出力装置 1が、特に、立体画像モードや平面化画像モードに おいて、被写体としての原稿 Pの 3次元形状を検出するために、明部と暗部とが交互 に並んで成るストライプ状のパターン光を投影部 13から原稿 Pに投影している状態で 示されている。
[0074] 図 1に示すように、この画像入出力装置 1は、略箱状を成す撮像ヘッド 2と、一端に おいてその撮像ヘッド 2に連結されたノィプ状のアーム部材 3と、そのアーム部材 3の 他端に連結されたベース 4であって、平面視において略 L字状を成すように形成され たものとを備えている。それらアーム部材 3とベース 4とは互いに共同して、撮像ヘッド 2を片持ち状で保持するスタンドとして機能する。
[0075] 撮像ヘッド 2は、図 2に示すように、投影部 13や撮像部 14がケース内に収容されて 構成されている。図 1に示すように、この撮像ヘッド 2は、鏡筒 5と、ファインダ 6と、フラ
ッシュ 7とを、それぞれが部分的に撮像ヘッド 2の正面において露出する姿勢で備え ている。この撮像ヘッド 2は、さらに、撮像部 14の一部である撮像光学系 21を、それ のレンズの一部が撮像ヘッド 2の正面において露出する姿勢で備えている。その撮 像光学系 21は、それの露出部分において、被写体を表す画像光を受光する。
[0076] 鏡筒 5は、図 1に示すように、撮像ヘッド 2の正面力 突出しており、その内部にお いて、図 2に示すように、投影部 13の一部である投影光学系 20を収容している。この 鏡筒 5は投影光学系 20を、焦点調節のために全体的に移動可能である状態で保持 し、さら〖こ、この鏡筒 5は、投影光学系 20を損傷力も保護している。鏡筒 5の露出端 面から、投影部 13の一部である投影光学系 20のレンズの一部が露出している。投影 光学系 20は、それの露出部分において、投影面または被写体に向力つて画像光ま たはパターン光を投影する。
[0077] ファインダ 6は、撮像ヘッド 2の正面から入射した光をそれの背面まで誘導するよう に配設される光学レンズによって構成されて 、る。ユーザがファインダ 6を画像入出 力装置 1の背面からのぞき込むと、ユーザが、撮像光学系 21のうちのイメージセンサ の一例である CCD22 (結像面)上に画像が結像する領域とほぼ一致する領域内に ぉ 、てその画像を視認できるようになって!/、る。
[0078] フラッシュ 7は、例えば、デジカメモードにぉ 、て、不足光量を補充するために発光 する光源であり、キセノンガスが充填された放電管を用いて構成されている。したがつ て、このフラッシュ 7は、撮像ヘッド 2に内蔵されているコンデンサ(図示しない)の放 電により繰り返し使用することができる。
[0079] 撮像ヘッド 2は、さらに、それの上面において、レリーズボタン 8と、モード切替スイツ チ 9と、モニタ LCD10とを備えている。
[0080] レリーズボタン 8は、画像入出力装置 1を作動させるためにユーザによって操作され る。このレリーズボタン 8は、ユーザの操作状態 (押下状態)が「半押し状態」である場 合と「全押し状態」である場合とで異なる指令を発令できる 2段階の押しボタン式のス イッチによって構成されている。レリーズボタン 8の操作状態は処理部 15によって監 視される。処理部 15によって「半押し状態」が検出されれば、よく知られたオートフォ 一カス (AF)および自動露出(AF)の機能が起動し、ピント、絞りおよびシャツタスピ
ードが自動的に調節される。これに対し、処理部 15によって「全押し状態」が検出さ れれば、撮像等が行われる。
[0081] モード切替スィッチ 9は、画像入出力装置 1の作動モードを、前述のデジカメモード 、 webcamモード、立体画像モード、および平面化画像モードと、オフモード等を含 む複数種類のモードの ヽずれかとして設定するためにユーザによって操作される。こ のモード切替スィッチ 9の操作状態は処理部 15によって監視されており、モード切替 スィッチ 9の操作状態が処理部 15によって検出されると、その検出された操作状態に 対応するモードでの処理が画像入出力装置 1に対して行われる。
[0082] モニタ LCD10は、液晶ディスプレイ(Liquid Crystal Display)を用いて構成されて おり、処理部 15から画像信号を受けて、画像をユーザに表示する。このモニタ LCD1 0は、例えば、デジカメモードや webcamモードにおける撮像画像、立体画像モード における 3次元形状検出結果画像、平面化画像モードにおける平面化画像等を表 示する。
[0083] 図 1に示すように、撮像ヘッド 2は、さらに、 RF (無線)インタフェースとしてのアンテ ナ 11と、撮像ヘッド 2とアーム部材 3とを互 ヽに連結する連結部材 12とを備えて 、る
[0084] アンテナ 11は、図 5に示すように、 RFドライバ 24に接続されている。このアンテナ 1 1は、デジカメモードで取得した撮像画像データ、立体画像モードで取得した立体画 像データ等を、 RFドライバ 24を介して、図示しない外部インタフェースに無線によつ て送信する。
[0085] 連結部材 12は、撮像ヘッド 2とアーム部材 3の一端部とを、ねじ機構により、着脱可 能であり、かつ、相対取付け角度が調節可能である状態で互いに連結する。具体的 には、この連結部材 12は、例えば、内周面に雌ねじが形成されたリングとして形成さ れ、撮像ヘッド 2の一側面に回転可能かつ離脱不能に保持されている。その雌ねじ に対応し、アーム部材 3の一端部に雄ねじが形成されている。それら雌ねじと雄ねじ とが互いに螺合されることにより、撮像ヘッド 2とアーム部材 3とが着脱可能に互いに 連結される。したがって、撮像ヘッド 2は、アーム部材 3から取り外せば、通常のデジ タルカメラとして使用することができる。さらに、それら雌ねじと雄ねじとが互いに螺合
されることにより、撮像ヘッド 2を、アーム部材 3の一端部に任意の角度で固定するこ とがでさる。
[0086] 図 1に示すように、アーム部材 3は、任意の形状に屈曲可能であり、かつ、外力が加 えられない限りその形状が復元しな 、素材または機構によって構成されて 、る。これ により、アーム部材 3は、それに装着された撮像ヘッド 2を、それの位置および向きを 任意に調整可能に保持することができる。このアーム部材 3は、例えば、任意の形状 に屈曲可能な蛇腹状のパイプによって構成される。
[0087] 図 1に示すように、ベース 4は、前述のように、アーム部材 3の他端に連結されて 、る 。このベース 4は、机等の載置台に載置され、撮像ヘッド 2とアーム部材 3とを支持す る。このベース 4は、平面視において略 L字状を成すように形成されているため、重量 の割に高い安定度で撮像ヘッド 2およびアーム部材 3を支持することができる。さらに 、それらアーム部材 3とベース 4とは着脱可能に互いに連結されているため、例えば 搬送や収納の先立ち、それらアーム部材 3とベース 4とを互いに分離することにより、 それらアーム部材 3とベース 4とが占めるスペースの形態を任意に変更することが可 能となり、よって、搬送し易さの向上および収納スペースの削減を容易に図り得る。
[0088] 図 2には、撮像ヘッド 2の内部構成が概念的に表されている。撮像ヘッド 2は、前述 のように、投影部 13と、撮像部 14と、処理部 15とを主に内蔵している。
[0089] 投影部 13は、投影面または被写体に任意の画像光 (投影画像)またはパターン光 を投影するためのユニットである。この投影部 13は、図 2に示すように、基板 16と、複 数個の LED17 (以下、それらのアレイを「LEDアレイ 17A」という。)と、光源レンズ 18 と、投影 LCD19と、投影光学系 20とを、投影方向に沿って直列に備えている。この 投影部 13の詳細は、後に図 3を参照して説明する。
[0090] 撮像部 14は、被写体としての原稿 Pを撮像するためのユニットである。この撮像部 1 4は、図 2に示すように、撮像光学系 21と、 CCD22とを、画像光の入射方向に沿って 直列に備えている。
[0091] 撮像光学系 21は、図 2に示すように、複数枚のレンズを用いて構成されている。こ の撮像光学系 21は、よく知られたオートフォーカス機能により、焦点距離および絞り を自動調整して外部からの光を CCD22上に結像する。
[0092] CCD (Charge Coupled Device) 22は、フォトダイオード素子などの光電変換素子を マトリクス状に配列して構成されている。この CCD22は、撮像光学系 21を介してこの CCD22の表面に結像される画像の光の色および強さに応じた信号を各画素ごと〖こ 生成する。その生成された信号は、デジタルデータに変換されて処理部 15に出力さ れる。
[0093] 図 5にブロック図で示すように、処理部 15は、フラッシュ 7、レリーズボタン 8およびモ ード切替スィッチ 9にそれぞれ電気的に接続されている。処理部 15は、さら〖こ、モ- タ LCD10にはモニタ LCDドライバ 23を介して、アンテナ 11には RFドライノく 24を介 して、バッテリ 26には電源インタフェース 25を介してそれぞれ電気的に接続されて!ヽ る。処理部 15は、さらに、外部メモリ 27およびキャッシュメモリ 28にそれぞれ電気的 に接続されている。処理部 15は、さら〖こ、 LEDアレイ 17Aには光源ドライバ 29を介し て、投影 LCD19には投影 LCDドライバ 30を介して、 CCD22には CCDインタフエ一 ス 31を介してそれぞれ電気的に接続されている。それらフラッシュ 7等は、処理部 15 によって制御される。
[0094] 外部メモリ 27は、着脱可能なフラッシュ ROMであり、デジカメモードや webcamモ ード、さらに立体画像モードにぉ ヽて撮像された撮像画像や 3次元情報を記憶するこ とが可能である。外部メモリ 27を構成するために、例えば、 SDカード、コンパクトフラ ッシュ (登録商標)カード等を使用することができる。
[0095] キャッシュメモリ 28は、データの読み書きを高速で行い得る記憶装置である。キヤッ シュメモリ 28は、例えば、デジカメモードにおいて撮像された撮像画像を高速でキヤ ッシュメモリ 28に転送し、処理部 15で画像処理を行って力も外部メモリ 27に格納す ることを可能にするために使用される。キャッシュメモリ 28を構成するために、例えば 、 SDRAM, DDRRAM等を使用することができる。
[0096] 電源インタフェース 25、光源ドライバ 29、投影 LCDドライバ 30および CCDインタフ エース 31はそれぞれ、ノ ッテリ 26、 LEDアレイ 17A、投景 LCD19および CCD22を 制御する各種の集積回路 IC (Integrated Circuit)によって構成されている。
[0097] ここで、投影部 13の詳細を図 3を参照することによって説明する。図 3 (a)は投影部 13の拡大図であり、図 3 (b)は光源レンズ 18の正面図であり、図 3 (c)は投影 LCD1
9と CCD22との配置関係を説明するための正面図である。
[0098] 前述のように、投影部 13は、図 3 (a)に示すように、基板 16と、 LEDアレイ 17Aと、 光源レンズ 18と、投影 LCD19と、投影光学系 20とをパターン光の投影方向に沿つ て直列に備えている。
[0099] 基板 16は、それに LEDアレイ 17Aが装着されることにより、その装着された LEDァ レイ 17Aとの間において電気的な配線を行う。基板 16は、例えば、アルミニウム製基 板に絶縁性合成樹脂を塗布してカゝら無電解メツキにてパターンを形成したものや、ガ ラスエポキシ基材をコアとする単層または多層構造の基板を使用して製作することが できる。
[0100] LEDアレイ 17Aは、投影 LCD19に向けて放射状の光を発光する光源である。この LEDアレイ 17Aにおいては、基板 16上に複数個の LED (発光ダイオード) 17が、図 3 (b)に示すように、千鳥状配列のもとに、銀ペーストを介して接着されている。それら 基板 16と複数個の LED17とは、ボンディングワイヤを介して電気的に結線されてい る。複数個の LED17を千鳥状に配列することによる効果は、後に図 4を参照して詳 細に説明する。
[0101] このように、本実施形態においては、投影部 13の光源として複数個の LED17が使 用されているため、光源として白熱電球、ハロゲンランプ等が使用される場合に比べ て、電気が光に変換される電気光変換効率の向上や、赤外線や紫外線の発生の抑 制を容易に行い得る。よって、画像入出力装置 1の節電、長寿命化、発熱抑制等を 容易に図り得る。
[0102] このように、 LED17はハロゲンランプ等に比べて熱線の発生率が極めて低いため 、光源レンズ 18や投影光学系 20に合成樹脂製のレンズを採用することができる。よ つて、ガラス製のレンズを採用する場合に比べて、光源レンズ 18および投影光学系 2 0を安価で軽量に構成することができる。
[0103] さらに、本実施形態においては、 LEDアレイ 17Aを構成する各 LED17が、互いに 同じ色の光を発光し、具体的には、材料に Al、 In、 Gaおよび Pの 4元素を用いたアン バー色を発光するように構成されている。したがって、複数色の光を発光させる場合 に考慮しなければならない問題である色収差の補正を考慮する必要がなぐよつて、
色収差を補正するために投影光学系 20に色消しレンズを採用する必要もない。その 結果、投影光学系 20の設計の自由度を向上させることができる。
[0104] さらに、本実施形態においては、電気光変換効率が約 80[lumenZW]というように 他の発光色に比べて高い 4元素材料のアンバー色 LEDが採用されるため、画像入 出力装置 1の高輝度化、節電および長寿命化を容易に図り得る。
[0105] 本実施形態においては、具体的には、 LEDアレイ 17Aが 59個の LED17によって 構成され、各 LED17は 50[mW] (20 [mA] , 2. 5 [V])で駆動され、結局、 59個の LED17の全体は略 3 [W]の消費電力で駆動される。
[0106] さらに、本実施形態においては、各 LED17から発光される光が光源レンズ 18およ び投影 LCD19を通過して投影光学系 20から出射する場合の光束値としての明るさ 力 全面照射の場合であっても 25ANSIルーメン程度に設定されている。
[0107] 本実施形態においては、画像入出力装置 1の投影部 13からの出射光の明るさがそ の程度に選定されるため、例えば、被写体が人や動物の顔である場合に、立体画像 モードにおいて、その被写体の 3次元形状を検出するためにその被写体にパターン 光を投影しても、被写体に眩しさを与えずに済む。したがって、本実施形態によれば 、被写体が人や動物である場合に、その被写体が目をつぶらない状態でその被写体 の 3次元形状を検出することが容易となる。
[0108] 図 3に示すように、光源レンズ 18は、 LEDアレイ 17A力も放射状に発光される光を 集光するレンズであり、その材質はアクリルに代表される光学榭脂である。
[0109] 図 3 (a)〖こ示すよう〖こ、光源レンズ 18は、複数個の凸状のレンズ部 18aと、それらレ ンズ部 18aを支持するベース部 18bと、エポキシ封止材 18cと、複数本の位置決めピ ン 18dとを備えている。
[0110] 図 3 (a)に示すように、各レンズ部 18aは、ベース部 18bのうち LEDアレイ 17Aの各 LED 17に対向する位置に、ベース部 18bから投影 LCD 19に向かつて突設されて!/ヽ る。エポキシ封止材 18cは、ベース部 18bのうち LEDアレイ 17Aが気密に収容される べき凹部 18e内に充填され、それにより、その凹部 18e内において LEDアレイ 17A が封止される。このエポキシ封止材 18cは、 LEDアレイ 17Aの封止機能を有するの であり、さらに、基板 16と光源レンズ 18とを互いに接着する機能も有する。
[0111] 図 3 (a)に示すように、複数本の位置決めピン 18dは、光源レンズ 18と基板 16とを 相対的に位置決めするために、光源レンズ 18に、その光源レンズ 18力 基板 16に 向かって突設されている。図 3 (b)に示すように、複数本の位置決めピン 18dのうちの 一部は、基板 16に穿設された長穴 16aに挿入される一方、残りは、基板 16に穿設さ れた真円穴 16bに挿入され、それにより、基板 16に光源レンズ 18ががたなく正規の 位置に固定される。
[0112] このように、本実施形態においては、光源レンズ 18と、 LEDアレイ 17Aと、基板 16 と力 投影方向に空間的に詰めて互いに積層されているため、それら光源レンズ 18 等の組立体のコンパクトィ匕および省スペース化が容易となる。
[0113] さらに、本実施形態においては、基板 16力 LEDアレイ 17Aを保持するという基本 的な機能の他に、光源レンズ 18を保持するという付随的な機能をも果たしている。し たがって、本実施形態によれば、光源レンズ 18を専ら保持する部品の追加を省略で き、その結果、画像入出力装置 1の部品点数の削減が容易となる。
[0114] さらに、本実施形態においては、各レンズ部 18aが、図 3 (a)に示すように、 LEDァ レイ 17Aの各 LED17に 1対 1の関係で正対するように配置されている。よって、各 LE D17から発光される放射状の光は、各 LED17に対向する各レンズ部 18によって効 率良く集光され、図 3 (a)に示すように、指向性の高い放射光として投影 LCD19に照 射される。
[0115] このように指向性を高めたのは、投影 LCD19に略垂直に光が入射すれば、その投 影 LCD19の面内における透過率むらが抑制されて画質が向上し得るという理由から である。
[0116] 投影光学系 20は、投影 LCD19を通過した光を投影面または被写体に向力つて投 影するための複数枚のレンズである。それらレンズは、ガラス製レンズと合成樹脂製 レンズとの組合せ力 成るテレセントリックレンズによって構成されて 、る。テレセントリ ックとは、投影光学系 20を通過する主光線は、入射側の空間では光軸に平行になり 、射出瞳の位置は無限になる構成をいう。
[0117] 投影光学系 20は、上述のようにテレセントリック特性を持ち、その入射 NAが 0. 1程 度であるため、垂直 ± 5° 以内の光のみが投影光学系 20の内部の絞りを通過できる
ように、投影光学系 20の光路が規制されている。
[0118] したがって、本実施形態においては、投影光学系 20のテレセントリック性により、投 影 LCD19を垂直 ± 5° で通過する光のみを投影光学系 20に投影し得る構成と相 俟つて、画質の向上を容易に図り得る。
[0119] よって、本実施形態においては、画質向上のために、各 LED17からの出射光が投 影 LCD19に略垂直に入射するように各 LED17からの光の出射角度を揃え、かつ、 各 LED17からの出射光のほとんどが投影光学系 20に垂直 ± 5° の入射角度範囲 内で入射させることが重要である。
[0120] 図 3 (c)に示すように、投影 LCD19は、光源レンズ 18を通過して集光された光に空 間変調を施して、投影光学系 20に向けてパターン光を出力する空間変調素子であ る。この投影 LCD19は、具体的には、縦横比が 1 : 1ではない板状の液晶ディスプレ ィ(Liquid Crystal Display)によって構成されている。
[0121] 図 3 (c)に示すように、この投影 LCD19においては、その投影 LCD19を構成する 複数個の画素が一平面上において千鳥状に配列されている。具体的には、この投 影 LCD19においては、その液晶ディスプレイの長手方向(横方向)に複数個の画素 が予め定められた画素ピッチで等間隔に並んだ画素列が複数並列に配置され、力 つ、互いに隣接する 2つの画素列力 その画素ピッチより短い長さで、その液晶ディ スプレイの長手方向にずらされて ヽる。
[0122] このように、本実施形態においては、投影 LCD19を構成する複数個の画素が千鳥 状に配列されているため、投影 LCD19によって空間変調が施される光を投影 LCD 19の長手方向において前記画素ピッチの 1Z2のピッチで制御することができる。し たがって、本実施形態によれば、細いピッチで投影パターン光を制御することができ 、よって、被写体の 3次元の形状を高い分解能で高精度に検出することができる。
[0123] 特に、後に詳述する立体画像モードや平面化画像モードにおいては、被写体の 3 次元形状を検出すベぐ図 1に示すように、明部と暗部とが交互に並んで成るストライ プ状のパターン光が被写体に向けて投影される。本実施形態においては、そのバタ ーン光において複数本のストライプ(明部または暗部)が並ぶ方向(各ストライプの幅 方向)が投影 LCD19の長手方向に一致するようにパターン光が予め定義されて!、る
。したがって、パターン光において明部と暗部との境界を 1Z2ピッチで制御すること ができ、よって、同様に高精度に 3次元の形状を検出することができる。
[0124] 図 3 (c)においては、投影 LCD19と CCD22とが横に並んで示されている力 それ ら投影 LCD19と CCD22とは、紙面手前側に撮像ヘッド 2の正面が存在し、紙面裏 側から光が投影 LCD 19に入射し、紙面手間側力も光が CCD22に入射してその CC D22に被写体像が結像される状態で、配置されて ヽる。
[0125] それら投影 LCD19と CCD22とは、撮像ヘッド 2の内部においては、図 3 (c)に示 すレイアウトで配置される。具体的には、それら投影 LCD19と CCD22とは、投影 LC D19の幅広面と CCD22の幅広面とが略同一の方向を向くように配置されている。し たがって、本実施形態によれば、投影 LCD19がパターン光を投影している被写体か らの反射光を画像入出力装置 1内において CCD22に結像させることによって被写 体の 3次元形状を検出するために、投影 LCD19の中心と CCD22の中心とを結ぶ一 直線を、三角測量を行う際に着目される 3辺のうちの 1辺として利用することができる。
[0126] また、 CCD22は、投影 LCD19の長手方向に位置する側(画素列が延びる方向に 位置する側)に配置されている。よって、特に、立体画像モードや平面化画像モード において、三角測量の原理を利用して被写体の 3次元形状を検出する場合には、 C CD22と被写体とのなす傾きを 1Z2ピッチで制御することができるため、同様に高精 度に被写体の 3次元形状を検出することができる。
[0127] 本実施形態においては、投影 LCD19が画素配列として千鳥配列を採用するため 、画素列にぉ 、て画素が並ぶ間隔と等しい間隔で複数本のストライプが並んだパタ ーン光、すなわち、千鳥配列を利用せずに形成される複数種類の標準的なパターン 光のうちストライプ間の間隔が最も狭いものよりストライプ間の間隔が狭い別のパター ン光を形成することが可能となる。したがって、本実施形態によれば、標準的なバタ ーン光の種類が n種類である場合に、 (n+ 1)ビットの空間コードを扱うことが可能とな り、このことによつても、被写体の 3次元形状を検出する精度が向上する。
[0128] よって、本実施形態によれば、投影 LCD19における画素ピッチ間の間隔、すなわ ち、投影 LCD19の解像度の割に多数のビットの空間コードを扱うことが可能となる。
[0129] 以下、図 4を参照することにより、 LEDアレイ 17Aの配列をさらに詳しく説明する。
図 4 (a)は、光源レンズ 18から出射する光の 3次元形状を示す側面図である。図 4 (b )は、 1個の LED17から投影 LCD19の入射面 19aに入射した光の照度分布を示す グラフである。図 4 (c)は、 LEDアレイ 17Aの配列を部分的に拡大して示す正面図で ある。図 4 (d)は、複数個の LED17から投影 LCD19の入射面 19aに入射した複数 の光の合成照度分布を示すグラフである。
[0130] 図 4 (a)に示すように、光源レンズ 18からの出射光力 半値拡がり半角 Θが略 5° である状態で、図 4 (b)に示すような照度分布を有する光として、投影 LCD19の入射 面 19aに到達するように光源レンズ 18が設計されて 、る。
[0131] また、図 4 (c)に示すように、複数個の LED17は、投影 LCD19における画素の千 鳥配列に合わせて、基板上 16に千鳥状に配列されている。具体的には、複数個の L ED17がピッチ dで横方向に直列に並んで成る LED列が複数、ピッチ dの 3Z2倍 と等しいピッチで縦方向に並列に並んでいる。さらに、縦方向において互いに隣接す る 2つの LED列は、ピッチ dと等しい長さで、横方向に互いにずらされている。
[0132] すなわち、本実施形態においては、それら LED17の配列が三角格子配列とされ、
V、ずれの LED17も、それに隣接する別の 、ずれの LED 17からもピッチ dと等し!/ヽ距 離離れているのである。
[0133] そして、本実施形態においては、ピッチ dの長さ力 1個の LED17から出射した光 によって投影 LCD19について与えられる照度分布の半値全幅(FWHM (Full Widt h Half Maximun) )以下となるように、予め設定されている。
[0134] よって、本実施形態においては、光源レンズ 18を通過して投影 LCD 19の入射面 1
9aに到達する光の合成照度分布が、図 4 (d)に示すように、小さなリップルを有する 略直線状のグラフで表され、その結果、投影 LCD19の入射面 19aの全体に略均一 に光が照射される。したがって、本実施形態によれば、投影 LCD19における照度む らが抑制され、その結果、画像光が投影面に高品質で投影され、さらに、パターン光 が被写体に高品質で投影される。
[0135] 図 5には、画像入出力装置 1の電気的な構成がブロック図で表されている。処理部
15はコンピュータを主体として構成されており、そのコンピュータは、 CPU35と、 RO
M36と、 RAM37とを含むように構成されている。
[0136] CPU35は、 ROM36に記憶されたプログラムを RAM37を利用しつつ実行するこ とにより、レリーズボタン 8の操作状態の検出、 CCD22からの画像データの取込み、 その取り込まれた画像データの転送および格納、モード切替スィッチ 9の操作状態の 検出等の各種処理を行う。
[0137] ROM36には、カメラ制御プログラム 36aと、パターン光撮影プログラム 36bと、輝度 画像生成プログラム 36cと、コード画像生成プログラム 36dと、コード境界抽出プログ ラム 36eと、レンズ収差補正プログラム 36fと、三角測量演算プログラム 36gと、原稿 姿勢演算プログラム 36hと、平面変換プログラム 36iとが格納されて 、る。
[0138] カメラ制御プログラム 36aは、画像入出力装置 1全体の制御を実行するために実行 され、その制御には、図 6にフローチャートで概念的に表されているメイン処理が含ま れる。
[0139] ノターン光撮影プログラム 36bは、原稿 Pの 3次元形状を検出するためにパターン 光が投影された被写体を撮像してパターン光有画像を取得し、さらに、パターン光が 投影されて ヽな 、被写体を撮像してパターン光無画像を取得するために実行される
[0140] 輝度画像生成プログラム 36cは、パターン光撮影プログラム 36bの実行によって同 じ被写体について取得されたパターン光有画像とパターン光無画像との差分をとり、 ノ ターン光が投影された被写体を表す輝度画像を生成するために実行される。
[0141] 本実施形態においては、同じ被写体に対して複数種類のパターン光が時系列に 順次投影され、各パターン光が投影されるごとに被写体が撮像される。そのようにし て撮像された複数枚のパターン光有画像の各々とパターン光無画像との差分がとら れ、その結果、ノターン光の種類と同数の輝度画像が生成される。
[0142] コード画像生成プログラム 36dは、輝度画像生成プログラム 36cの実行によって生 成された複数枚の輝度画像それぞれに対する閾値処理により生成される 2値化画像 から、各画素毎に空間コードが割り当てられたコード画像を生成するために実行され る。
[0143] 概略的に説明するに、このコード画像生成プログラム 36dが実行されると、複数種 類のパターン光のうちノターンライン間の間隔が最も狭いものが投影された被写体の
輝度画像におけるパターンライン間の間隔が周期として取得され、その周期の輝度 画像全体における分布が周期分布として取得される。このコード画像生成プログラム 36dが実行されると、さらに、その取得された周期分布に従ってサイズが変化する可 変窓が各パターン光ごとの輝度画像にローカルに設定されることにより、前記可変窓 を用いたフィルタ処理により輝度画像全体に対して閾値がローカルに算出されて設 定される。そのようにして設定された閾値の分布を表す閾値画像と各パターン光ごと の輝度画像との関係から、各パターン光ごとに 2値ィ匕画像が生成される。
[0144] コード境界抽出プログラム 36eは、コード画像生成プログラム 36dの実行によって生 成されたコード画像と、輝度画像生成プログラム 36cの実行によって生成された輝度 画像とを利用することにより、コードの境界座標をサブピクセル精度で求めるために 実行される。
[0145] レンズ収差補正プログラム 36fは、コード境界抽出プログラム 36eの実行によってサ ブピクセル精度で求められたコードの境界座標に対して、撮像光学系 20の収差補正 を行うために実行される。
[0146] 三角測量演算プログラム 36gは、レンズ収差補正プログラム 36fの実行によって収 差補正が行われたコードの境界座標から、その境界座標に関する実空間の 3次元座 標を演算するために実行される。
[0147] 原稿姿勢演算プログラム 36hは、三角測量演算プログラム 36gの実行によって演算 された 3次元座標から原稿 Pの 3次元形状を推定して求めるために実行される。
[0148] 平面変換プログラム 36iは、原稿姿勢演算プログラム 36hの実行によって演算され た原稿 Pの 3次元形状に基づき、原稿 Pをその正面力も撮像した場合に生成される如 き平面化画像を生成するために実行される。
[0149] 図 5に示すように、 RAM37には、パターン光有画像格納部 37aと、パターン光無 画像格納部 37bと、輝度画像格納部 37cと、コード画像格納部 37dと、コード境界座 標格納部 37eと、収差補正座標格納部 37gと、 3次元座標格納部 37hと、原稿姿勢 演算結果格納部 37iと、平面変換結果格納部 37jと、投影画像格納部 37kと、ヮーキ ングエリア 371と、周期分布格納部 37pと、閾値画像格納部 37qと、 2値化画像格納 部 37rとがそれぞれ記憶領域として割り当てられて ヽる。
[0150] ノターン光有画像格納部 37aは、パターン光撮影プログラム 36bの実行によって撮 像されたパターン光有画像を表すパターン光有画像データを格納する。パターン光 無画像格納部 37bは、パターン光撮影プログラム 36bの実行によって撮像されたパ ターン光無画像を表すパターン光無画像データを格納する。
[0151] 輝度画像格納部 37cは、輝度画像生成プログラム 36cの実行によって生成された 輝度画像を表すデータを格納する。コード画像格納部 37dは、コード画像生成プロ グラム 36dの実行によって生成されたコード画像を表すデータを格納する。コード境 界座標格納部 37eは、コード境界抽出プログラム 36eの実行によってサブピクセル精 度で抽出された各コードの境界座標を表すデータを格納する。
[0152] 収差補正座標格納部 37gは、レンズ収差補正プログラム 36fの実行によって収差 補正が行われたコードの境界座標を表すデータを格納する。 3次元形状座標格納部 37hは、三角測量演算プログラム 36gの実行によって演算された実空間の 3次元座 標を表すデータを格納する。
[0153] 原稿姿勢演算結果格納部 37iは、原稿姿勢演算プログラム 36hの実行によって演 算された原稿 Pの 3次元形状に関するパラメータを格納する。平面変換結果格納部 3 7jは、平面変換プログラム 36iの実行によって取得された平面変換結果を表すデー タを格納する。投影画像格納部 37kは、投影部 13が被写体に投影する投影画像す なわちパターン光に関する情報を格納する。ワーキングエリア 371は、 CPU35がその 動作のために一時的に使用するデータを格納する。
[0154] 周期分布格納部 37p、閾値画像格納部 37qおよび 2値ィ匕画像格納部 37rは、コー ド画像生成プログラム 36dの実行によって取得された周期分布、閾値画像および 2値 化画像を表すデータをそれぞれ格納する。
[0155] ここで、図 6を参照することにより、カメラ制御プログラム 36aを説明する。このカメラ 制御プログラム 36aが前記コンピュータによって実行されることにより、前述のメイン処 理が実行される。
[0156] このメイン処理においては、まず、ステップ S601 (以下、単に「S601」で表す。他の ステップについても同じとする。)において、ノ ッテリ 26を含む電源が ONされる。次に 、 S602において、処理部 15、周辺インタフェース等が初期化される。
[0157] 続いて、 S603において、モード切替スィッチ 9の操作状態を判別するためにキース キャンが行われ、その後、 S604において、モード切替スィッチ 9の操作によってデジ カメモードが選択されたか否かが判定される。今回は、デジカメモードが選択されたと 仮定すれば、判定が Yesとなり、 S605において、後述のデジカメ処理が実行される。
[0158] これに対し、今回は、モード切替スィッチ 9の操作によってデジカメモードが選択さ れなかったと仮定すれば、 S604の判定力 SNoとなり、 S606において、モード切替ス イッチ 9の操作によって webcamモードが選択されたか否かが判定される。今回は、 webcamモードが選択されたと仮定すれば、判定が Yesとなり、 S607において、後 述の webcam処理が実行される。
[0159] これに対し、今回は、モード切替スィッチ 9の操作によって webcamモードが選択さ れなかったと仮定すれば、 S606の判定力 SNoとなり、 S608において、モード切替ス イッチ 9の操作によって立体画像モードが選択された力否かが判定される。今回は、 立体画像モードが選択されたと仮定すれば、判定が Yesとなり、 S609において、後 述の立体画像処理が実行される。
[0160] これに対し、今回は、モード切替スィッチ 9の操作によって立体画像モードが選択さ れなかったと仮定すれば、 S608の判定力 SNoとなり、 S610において、モード切替ス イッチ 9の操作によって平面化画像モードが選択された力否かが判定される。今回は 、平面化画像モードが選択されたと仮定すれば、判定が Yesとなり、 S611において、 後述の平面化画像処理が実行される。
[0161] これに対し、今回は、モード切替スィッチ 9の操作によって平面化画像モードが選 択されなかったと仮定すれば、 S610の判定力 SNoとなり、 S612において、モード切 替スィッチ 9の操作によってオフモードが選択された力否かが判定される。今回は、 モード切替スィッチ 9の操作によってオフモードが選択されたと仮定すれば、判定が Yesとなり、直ちに今回のメイン処理が終了する力 今回は、モード切替スィッチ 9の 操作によってオフモードが選択されな力つたと仮定すれば、判定が Yesとなり、 S603 に戻る。
[0162] 図 7には、図 6における S605がデジカメ処理ルーチンとしてフローチャートで概念 的に表されている。このデジカメ処理ルーチンの実行により、撮像部 14によって撮像
された画像を取得するデジカメ処理が実行される。
[0163] このデジカメ処理においては、まず、 S701において、 CCD22に高解像度設定信 号が送信される。これにより、高品質の撮像画像をユーザに提供することができる。
[0164] 次に、 S702において、ファインダ画像、すなわち、ファインダ 6を通して見える範囲 の画像と同じ画像がモニタ LCD10に表示される。よって、ユーザは、ファインダ 6をの ぞき込むことなぐモニタ LCD10に表示された画像を見ることにより、実際の撮像前 に、撮像画像 (撮像範囲)を確認することができる。
[0165] 続いて、 S703aにおいて、レリーズボタン 8の操作状態がスキャンされ、その後、 S7 03bにおいて、そのスキャン結果に基づき、レリーズボタン 8が半押し状態にある力否 かが判定される。半押し状態にあれば、判定が Yesとなり、 S703cにおいて、オートフ オーカス (AF)および自動露出 (AE)機能が起動し、それにより、ピント、絞りおよびシ ャッタスピードが調節される。 S703bにおいては、レリーズボタン 8が半押し状態に移 行しているか否かが判定され、移行していなければ、この S703bの判定が Noとなつ て S703aに戻る。
[0166] S703cの実行後、 S703dにおいて、再度、レリーズボタン 8の操作状態がスキャン され、その後、 S703eにおいて、そのスキャン結果に基づき、レリーズボタン 8が全押 し状態にある力否かが判定される。この S703eにおいては、レリーズボタン 8が全押し 状態に移行しているか否かが判定され、移行していなければ、この S703eの判定が Noとなって S703aに戻る。
[0167] レリーズボタン 8が半押し状態力も全押し状態に移行すれば、 S703eの判定が Yes となり、 S704において、フラッシュモードが選択されている力否かが判定される。フラ ッシュモードが選択されていれば、判定が Yesとなり、 S705において、フラッシュ 7が 発光させられる力 フラッシュモードが選択されていなければ、 S704の判定力Noと なり、 S705力 Sスキップされる。
[0168] いずれにしても、その後、 S706において、被写体が撮像される。続いて、 S707に ぉ 、て、被写体が撮像された撮像画像が CCD22からキャッシュメモリ 28に転送され て記憶される。その後、 S708〖こおいて、キャッシュメモリ 28に記憶された撮像画像が モニタ LCD10に表示される。本実施形態においては、撮像画像がキャッシュメモリ 2
8に転送されるため、メインメモリに転送される場合に比較して、撮像画像を高速にモ ユタ LCD10に表示させることができる。続いて、 S709において、その撮像画像が外 部メモリ 27に格納される。
[0169] その後、 S710において、モード切替スィッチ 9の操作状態に変化が無いか否かが 判定される。変化が無ければ、判定が Yesとなり、 S702に戻る力 変化が有れば、 S
710の判定力 SNoとなり、今回のデジカメ処理が終了する。
[0170] 図 8には、図 6における S607が webcam処理ルーチンとしてフローチャートで概念 的に表されている。この webcam処理ルーチンの実行により、撮像部 14によって撮 像された撮像画像 (静止画および動画を含む。 )を外部ネットワークに送信する webc am処理が実行される。本実施形態においては、撮像画像として動画が、図示しない 外部ネットワーク (例えば、インターネット)に送信される場合が想定されている。
[0171] この webcam処理においては、まず、 S801において、 CCD22に低解像度設定信 号が送信される。次に、 S802において、オートフォーカスおよび自動露出の機能が 起動し、それにより、ピント、絞りおよびシャツタスピードが調節される。続いて、 S803 において、被写体が撮像される。
[0172] その後、 S804において、撮像された撮像画像力CCD22からキャッシュメモリ 28に 転送され、続いて、 S805において、その撮像画像がモニタ LCD10に表示される。
[0173] その後、 S806において、その撮像画像が投影画像格納部 37kに格納される。続い て、 S807において、後述の投影処理が実行され、それにより、投影画像格納部 37k に格納されて ヽる画像が投影面に投影される。
[0174] その後、 S808において、キャッシュメモリ 28に転送された撮像画像が図示しない R
Fインタフェースを介して前記外部ネットワークに送信される。
[0175] 続いて、 S809において、モード切替スィッチ 9の操作状態に変化が無いか否かが 判定される。変化が無ければ、判定が Yesとなり、 S802に戻る力 変化が有れば、 S
809の判定力 SNoとなり、今回の webcam処理が終了する。
[0176] 図 9には、図 8における S807が投影ルーチンとしてフローチャートで概念的に表さ れている。この投影ルーチンの実行により、投影画像格納部 37kに格納されている画 像を投影部 13から投影面に投影する投影処理が実行される。
[0177] この投影処理においては、まず、 S901において、投影画像格納部 37kに画像が 格納されている力否かが判定される。格納されていない場合には、判定が Noとなり、 直ちに今回の投影処理が終了する。これに対し、格納されている場合には、判定が Yesとなり、 S902において、投影画像格納部 37kに格納されている画像が投影 LC Dドライバ 30に転送される。続いて、 S903において、その格納されている画像に応じ た画像信号が投影 LCDドライバ 30から投影 LCD19に送出され、それにより、その投 影 LCD 19に画像が表示される。
[0178] その後、 S904において、光源ドライバ 29が駆動され、続いて、 S905において、そ の光源ドライバ 29からの電気信号によって LEDアレイ 17Aが発光する。以上で、今 回の投影処理が終了する。
[0179] LEDアレイ 17Aから発光した光は、光源レンズ 18を経て投影 LCD19に到達する。
その投影 LCD19においては、投影 LCDドライバ 30から送信された画像信号に応じ た空間変調が施され、その結果、投影 LCD19への入射光が画像信号光に変換され て出力される。その投影 LCD19から出力される画像信号光は、投影光学系 20を経 て投影面に投影画像として投影される。
[0180] 図 10には、図 6における S609が立体画像処理ルーチンとしてフローチャートで概 念的に表されている。この立体画像処理ルーチンの実行により、被写体の 3次元形 状を検出し、その立体画像としての 3次元形状検出結果画像を取得し、表示し、投影 する立体画像処理が実行される。
[0181] この立体画像処理においては、まず、 S1001において、 CCD22に高解像度設定 信号力 s送信される。次に、 S1002ないし S1003h力 図 7における S702ないし S70 6と同様にして実行される。
[0182] 具体的には、 S1002において、モニタ LCD10にファインダ画像が表示される。続 いて、 S1003aにおいて、レリーズボタン 8の操作状態がスキャンされ、その後、 S10 03bにおいて、そのスキャン結果に基づき、レリーズボタン 8が半押し状態にある力否 かが判定される。半押し状態にあれば、判定が Yesとなり、 S1003cにおいて、オート フォーカス (AF)および自動露出 (AE)機能が起動する。
[0183] S1003cの実行後、 S1003dにおいて、再度、レリーズボタン 8の操作状態がスキヤ
ンされ、その後、 S 1003eにおいて、そのスキャン結果に基づき、レリーズボタン 8が 全押し状態にあるカゝ否かが判定される。
[0184] レリーズボタン 8が半押し状態力も全押し状態に移行すれば、 S1003eの判定が Ye sとなり、 S 1003fにおいて、フラッシュモードが選択されているか否かが判定される。 フラッシュモードが選択されていれば、判定が Yesとなり、 S1003gにおいて、フラッシ ュ 7が発光させられる力 フラッシュモードが選択されていなければ、 S1003fの判定 力 SNoとなり、 S1003g力 Sスキップされる。いずれにしても、その後、 S 1003hにおいて 、被写体が撮像される。
[0185] 続いて、 S1006において、後述の 3次元形状検出処理が実行され、それにより、被 写体の 3次元形状が検出される。
[0186] その後、 S 1007において、その 3次元形状検出処理による 3次元形状検出結果が 外部メモリ 27に格納され、続いて、 S 1008において、その 3次元形状検出結果が 3 次元コンピュータグラフィック画像としてモニタ LCD10に表示される。ここに、 3次元 形状検出結果とは、後述の空間コード画像において検出される複数の空間コード境 界画像を 3次元座標に変換した結果取得される頂点座標の集合体を意味する。
[0187] その後、 S 1009において、その 3次元形状検出結果としての複数個の計測頂点を 通過するポリゴン図形が想定され、その想定されたポリゴン図形のサーフェスを表現 する立体画像 (3次元のコンピュータグラフィック画像)としての 3次元形状検出結果 画像が投影画像格納部 37kに格納される。
[0188] 続いて、 S1010において、図 8における S806の投影処理と同様な投影処理が実 行される。
[0189] その後、 S 1011において、モード切替スィッチ 9の操作状態に変化が無いか否か が判定される。変化が無ければ、判定が Yesとなり、 S1002に戻るが、変化が有れば 、 S1011の判定力 SNoとなり、今回の立体画像処理が終了する。
[0190] 図 10の S 1006において実行される 3次元形状検出処理においては、空間コードィ匕 法を用いて被写体の 3次元形状が検出される。以下、図 11を参照することにより、空 間コード化法を説明する。図 11 (a)には、 3次元座標系 XYZが設定された実空間を Y座標軸方向に見た図と、 X座標軸方向に見た図と、純 2進コードによる 3種類のマス
ク A, Bおよび Cのパターンとが示されている。これに対し、図 11 (b)には、グレイコ一 ドによる 3種類のマスク A, Bおよび Cのパターンと、複数個の空間コードとが示されて いる。
[0191] 図 11 (a)に示すように、空間コード化法は、観察対象である被写体の像である観察 画像と、その被写体に光 (拡散光)を投影する投影光源 (例えば、プロジェクタ)と、被 写体を観測する観測器 (例えば、カメラ)との間に三角測量の原理を適用することによ つて被写体の 3次元形状を検出する手法の一種である。この空間コードィ匕法におい ては、図 11 (a)に示すように、投影光源 L (PROJECTOR)と観測器 O (CAMERA)とが 距離 dだけ離して設置される。したがって、観測空間内の任意の点 Pは、投影光の向 き Φと、観測器 O力 見える向き Θとが計測できれば、特定できる。この空間コードィ匕 法においては、さらに、被写体表面上の任意の位置を特定するため、観測空間が複 数個の細長!/ヽ扇状領域に分割されてコード化されて!/、る。
[0192] 被写体表面上の任意の位置のコードを観測画像力 取得するために、複数種類の ストライプ状のパターン光が時系列的に被写体に投影される。パターン光の切換えは 、ノターン光の種類と同数のマスクを用意し、マスクを機械的に交換する機械式とし て実施したり、電気光学効果を有する材料を用いてストライプ状の光シャツタ列を構 成し、その光シャツタ列における各ストライプの光透過率を電子的に制御する電子式 として実施することが可能である。もっとも、本実施形態においては、後者の電子式が 採用され、具体的には、投影 LCD19によって複数種類のマスクパターンが時系列 的に再現すなわち表示される。
[0193] 図 11 (a)に示す例においては、投影光源 Lと被写体(四角柱と円柱)との間にマス クが交換可能に設置される。この例においては、パターンが互いに異なる 3種類のマ スク A, Bおよび Cが用意されており、よって、 3種類のパターン光が時系列的に被写 体に投影される。
[0194] 各マスク A, B, Cによって生成されたパターン光を被写体に投影すると、 8個の扇 状領域のそれぞれが、明領域「1」と暗領域「0」とのいずれかにコード化される。 3枚 のマスク A, B, Cを経た光をそれらの順に被写体に投影すると、各扇状領域には、 3 ビットから成るコードが割り当てられる。それら 3ビットは、最初のマスク Aに対応する最
上位ビット MSBから、最後のマスク Cに対応する最下位ビット LSMまで順に並んで いる。例えば、図 11 (a)に示す例においては、点 Pが属する扇状領域は、マスク A, B によって光が遮られるのに対し、マスク Cによってのみ光が通過して明領域になるた め、「001 (A = 0、 B = 0、 C= 1)」としてコード化される。
[0195] このように、各扇状領域には、投影光源 Lからの向き φに相当するコードが割り当て られる。一方、各パターン光が投影された被写体の明暗パターンを各マスクごとに 2 値化してメモリの各ビットプレーンを構成すれば、各ビットプレーン画像の横方向の位 置(アドレス)は、観測器 Oからの向き Θに相当する。また、 3枚のマスクにそれぞれ対 応する 3枚のビットプレーンのメモリ内容を各ビット(各画素)ごとに注目すれば、各画 素ごとに 3ビットのコードが取得される。このコードから、各扇状領域の投影光源しから の向き φが特定される。そして、距離 dが既知である状況において、向き φおよび Θ が特定されれば、三角測量の原理により、被写体表面上の注目点の 3次元座標が特 定される。
[0196] 図 11 (a)には、マスク A, Bおよび Cの如き複数のマスクを用いることにより、空間を 純 2進コードを用いてコード化する例が示されているが、図 11 (b)には、マスク A, B および Cの如き複数のマスクを用いることにより、隣接するコード間のノ、ミング距離が 常に 1であるグレイコードを空間コードとして用いて空間をコードィ匕する例が示されて いる。
[0197] 本実施形態においては、前述の 3次元形状検出処理において、純 2進コードによる 空間コードィ匕法を採用しても、グレイコードによる空間コードィ匕法を採用してもよい。
[0198] この空間コードィ匕法の詳細は、例えば、佐藤宏介、他 1名、「空間コードィ匕による距 離画像入力」、電子通信学会論文誌、 85Z3Vol. J 68— D No3 p369〜375に 詳細に開示されている。
[0199] 図 12 (a)には、図 10における S1006が 3次元形状検出処理ルーチンとしてフロー チャートで概念的に表されている。
[0200] この 3次元形状検出処理ルーチンにおいては、まず、 S1210において、撮像処理 が実行される。この撮像処理が実行されれば、例えば、図 11 (b)に示す複数枚のグ レイコードのマスクパターンを利用して投影部 13からストライプ状のパターン光(図 1
参照)が時系列的に被写体に投影される。さらに、複数種類のパターン光が投影され て 、る被写体をそれぞれ撮像した複数枚のパターン光有画像と、パターン光が投影 されていない同じ被写体を撮像した 1枚のパターン光無画像とが取得される。
[0201] 撮像処理が終了すると、 S1220において、 3次元計測処理が実行される。この 3次 元計測処理が実行されると、上述の撮像処理によって取得された複数枚のパターン 光有画像と 1枚のパターン光無画像とが利用されて、実際に被写体の 3次元形状が 計測される。この 3次元計測処理が終了すると、今回の 3次元形状検出処理が終了 する。
[0202] 図 12 (b)には、図 12 (a)における S1210が撮像処理サブルーチンとしてフローチ ヤートで概念的に表されている。
[0203] この撮像処理サブルーチンにおいては、まず、 S1211において、パターン光撮影 プログラム 36aの実行により、投影部 13からパターン光を被写体に投影することなぐ 撮像部 14によって被写体を撮像することにより、 1枚のパターン光無画像が取得され る。その取得されたパターン光無画像はパターン光無画像格納部 37bに格納される
[0204] 次に、 S1212において、パターン光を形成するために使用されるマスクパターンの 番号を表すパターン番号 PNが 0に初期化される。続いて、 S1213において、そのパ ターン番号 PNの現在値が最大値 PNmaxより小さ 、か否かが判定される。その最大 値 PNmaxは、使用されるマスクパターンの合計数に応じて決定される。例えば、 8種 類のマスクパターンが使用される場合には、最大値 PNmaxが 8に設定される。
[0205] 今回は、パターン番号 PNの現在値が最大値 PNmaxより小さいと仮定すれば、 S1 213の判定力 S Yesとなり、その後、 S 1214において、使用される複数種類のマスクパ ターンのうち、パターン番号 PNの現在値と等しい番号が付された PN番目のマスクパ ターンが投景 LCD 19に表示される。この S1214においては、さらに、その PN番目 のマスクパターンによって形成される PN番目のパターン光が被写体に投影される。 続いて、 S1215において、その PN番目のパターン光が投影されている被写体が撮 像部 14によって撮像される。
[0206] その撮像により、 PN番目のパターン光が投影されて ヽる被写体を撮像した PN番
目のパターン光有画像が取得される。その取得されたパターン光有画像は、対応す るパターン番号 PNに関連付けてパターン光有画像格納部 37aに格納される。
[0207] その撮像が終了すると、 S1216において、 PN番目のパターン光の投影が終了し、 続いて、 S1217において、次のパターン光を投影すベぐパターン番号 PNが 1だけ インクリメントされ、その後、 S1213に戻る。
[0208] S 1213な!、し S 1217の実行がパターン光の種類の数と同数回繰り返された結果、 パターン番号 PNの現在値が最大値 PNmaxより小さくはない値になると、 S1213の 判定が Noとなり、今回の撮像処理が終了する。したがって、一回の撮像処理により、 1枚のパターン光無画像と、最大値 PNmaxと同数枚のパターン光有画像とが取得さ れること〖こなる。
[0209] 図 12 (c)には、図 12 (a)における S1220が 3次元計測処理サブルーチンとしてフロ 一チャートで概念的に表されている。
[0210] この 3次元計測処理サブルーチンにおいては、まず、 S1221において、輝度画像 生成プログラム 36cの実行により、輝度画像が生成される。この S1221においては、 輝度値が、 YCbCr空間における Y値として定義されており、各画素の RGB値より、 Y =0. 2989 -R+O. 5866 -G + 0. 1145 · Bなる式を用いて計算される。各画素につ いて Y値を求めることにより、複数枚のパターン光有画像と 1枚のパターン光無画像と に関する複数枚の輝度画像が生成される。それら生成された輝度画像は、パターン 番号 PNに関連付けて輝度画像格納部 37cに格納される。ただし、輝度値の算出に 用いられる式は、上記式に限定されるものではなぐ他の式に適宜変更することが可 能である。
[0211] 次に、 S1222において、コード画像生成プログラム 36dが実行される。このコード画 像生成プログラム 36dが実行されると、生成された複数枚の輝度画像が前述の空間 コードィ匕法を利用して組み合わされることにより、各画素ごとに空間コードが割り当て られたコード画像が生成される。そのコード画像は、輝度画像格納部 37cに格納され た複数種類のパターン光有画像に関する輝度画像と、各画素ごとに輝度閾値が割り 当てられた閾値画像との比較による 2値ィ匕処理によって生成される。その生成された コード画像はコード画像格納部 37dに格納される。
[0212] 図 13には、このコード画像生成プログラム 36dの詳細がフローチャートで概念的に 表されている。以下、図 13を参照することにより、このコード画像生成プログラム 36d を時系列的に説明するが、それに先立ち、図 14ないし図 21を参照することにより、原 理的に説明する。
[0213] 本実施形態においては、同じ被写体 (3次元対象物)にっき、複数種類のパターン 光のもとにそれぞれ複数枚の輝度画像が生成される。それらパターン光はいずれも、 明部、すなわち、幅を有する明るいパターンラインと、暗部、すなわち、幅を有する暗 いパターンラインとが交互に一定の周期で繰り返すように形成される。それらパターン 光は、その周期に関して互いに異なっており、それぞれ、パターン番号 PNを有する ノターン光と称される。それらパターン光のうち最も短 、周期を有するパターン光が、 パターン番号 PNが 0であるパターン光であり、最も長い周期を有するパターン光が、 パターン番号 PNが(PNmax— 1)であるパターン光である。
[0214] いずれの輝度画像も、対応するパターン光のもとに取得されるため、例えば図 14に 示すように、明部としての明るいパターンラインと、暗部としての暗いパターンラインと が交互に並んで成るパターン画像として形成される。ノターンライン間の間隔すなわ ち周期は、画像入出力装置 1と被写体との間における相対的な幾何学的関係 (位置 および向きに関する関係)に依存するため、各輝度画像内のすべての位置において 一定であるとは限らない。複数種類のパターン光のもとにそれぞれ取得される複数枚 の輝度画像は、対応するパターン光のパターン番号 PNを用いて特定される。
[0215] 本実施形態においては、それら複数枚の輝度画像のうちのいずれかが代表パター ン画像に選択される。その代表パターン画像の一典型例は、複数種類のパターン光 のうちパターンライン周期が最小であるものに対応する輝度画像であり、これは、パタ ーン番号 PNが 0である輝度画像である。図 14には、パターン番号 PNが 0である輝 度画像が代表パターン画像の一例として示されている。
[0216] 図 15には、パターン光が投影された被写体を撮像した輝度画像の一例において 輝度値が画素列の方向において空間的にかつ周期的に変化する様子が説明の便 宜上強調されて実線グラフで表されて ヽる。
[0217] 図 15には、さらに、その実線グラフにそれの複数個の下ピーク点(最低輝度点)に
おいて接する包絡線が二点鎖線グラフで表されている。この包絡線は、同じ被写体 を無照射状態で撮像した輝度画像における輝度値、すなわち、被写体の背景光の 輝度値の空間的変化を表している。このような包絡線が存在する輝度画像について は、各画素の輝度値を閾値処理によって正確に 2値ィ匕するためには、閾値を画素位 置に応じて変化させることが望ましい。すなわち、輝度画像の実際の輝度値変化をト ラッキングすることによって閾値を適応的に変化させることが望ましいのである。
[0218] このような知見に基づき、本実施形態においては、輝度画像に対してフィルタ処理 を行うことによって閾値を算出するフィルタ窓がローカルに設定され、フィルタ処理さ れることによりその位置に適した閾値力 輝度画像に対してローカルに設定される。 輝度画像のうちのあるローカル位置に窓が設定されれば、輝度画像を構成する複数 本のパターンラインのうちその窓内に存在する画素の輝度値が取り出されて参照さ れることにより、そのあるローカル位置に対応する閾値が設定される。
[0219] 本実施形態において使用される窓は、方形窓である。この方形窓を採用する場合 には、その方形窓内に存在する複数本のパターンラインを構成する画素の輝度値が 取り出され、それら輝度値に対して同一の重み係数が用いられて閾値が算出される 。その重み係数により、方形窓の窓関数が定義される。
[0220] さらに、方形窓を採用する場合には、その方形窓の、パターンラインが延びるライン 方向におけるライン方向サイズに応じて、その方形窓内にぉ 、てライン方向に存在 する画素の数を可変とすることができる。一方、その方形窓の、複数本のパターンライ ンが列を成して並ぶ列方向における列方向サイズに応じて、その方形窓内において 列方向に存在するパターンラインの数も画素の数も可変とすることができる。
[0221] したがって、方形窓を採用する場合には、その方形窓の列方向サイズにより、輝度 画像に窓を設定することによってその輝度画像力 算出される閾値が変化することに なる。よって、その閾値を適応的に変化させることが必要である場合には、方形窓の 列方向サイズを適応的に変化させればょ 、。
[0222] もっとも、本実施形態において採用される窓を、ハニング窓、ハミング窓等、非方形 窓に変更することが可能である。この非方形窓を採用する場合には、その非方形窓 を定義する窓関数中の係数 (例えば、可変係数のマトリクス)により、輝度画像に対し
て設定された窓を用いたフィルタ処理によってその輝度画像力も算出される閾値の 特性を変化させることができる。例えば、非方形窓を採用する場合には、その非方形 窓のライン方向サイズも列方向サイズも固定しても、上記係数を適応的に変化させれ れば、輝度画像に対して設定された非方形窓を用いたフィルタ処理によってその輝 度画像力も算出される閾値の特性を変化させることができる。
[0223] 本実施形態においては、方形窓として構成される窓のサイズが、その窓内に存在 するパターンラインの数がそれらパターンラインの間隔すなわち周期(例えば、明るい ノターンラインが繰り返される周期)の整数倍であるように設定することが望ま 、。 すなわち、窓内に、明るいパターンラインと暗いパターンラインとが同数ずつ存在する ように窓のサイズを設定することが望ましいのである。このように設定すれば、窓内に 存在する複数本のパターンラインの輝度値の平均値を算出することにより、望ましい 閾値を高精度に取得することができる。
[0224] しかしながら、同じ輝度画像上であっても、パターンラインの周期は場所によって異 なる可能性がある。そのため、窓のサイズを固定した場合には、窓内に存在するパタ ーンラインの数が場所によって変動してしま 、、閾値の設定精度が低下してしまう。
[0225] 図 14には、ある輝度画像において、それを構成する複数本のパターンラインが列 を成す列方向に並んだ 2つの部分がそれぞれ「A」および「B」という記号で示されて いる。図 16 (a)には、図 14中、部分 Aにおける複数本のパターンラインのうちの一部 が取り出されて拡大されて示されている。その部分 Aにおいては、同色のパターンラ インがある周期で並んでいる。これに対し、図 16 (b)には、図 14中、部分 Bにおける 複数本のパターンラインのうちの一部が取り出されて拡大されて示されて!/、る。その 部分 Bにおいては、同色のパターンラインが正規の周期とは異なる周期、具体的に は、上記ある周期より短い周期で並んでいる。
[0226] 図 16 (a)および (b)には、本実施形態との比較例として、サイズが固定された固定 窓であって、図 14に示す輝度画像に対して設定されるものが、説明の便宜上可視化 されて示されている。図 16 (a)には、図 14における部分 Aが部分的に拡大して示さ れており、この部分 Aにおいては、固定窓内に存在する同色のパターンラインの数が ほぼちようど 2本である。これに対し、図 16 (b)には、図 14における部分 Bが部分的に
拡大して示されており、この部分 Bにおいては、固定窓内に存在する同色のパターン ラインの数が 2本よりは多ぐ 3本よりは少ない。
[0227] そのため、図 16 (a)に示す部分 Aについては、固定窓によって捕捉される複数個 の画素の輝度値の平均値として算出された閾値力 図 17にグラフで表すように、輝 度画像の列方向に関して安定している。これに対し、図 16 (b)に示す部分 Bについ ては、窓によって捕捉される複数個の画素の輝度値の平均値として算出された閾値 力 図 18にグラフで表すように、輝度画像の列方向に関して振動している。暗部また は明部の包絡の形状に合った閾値が算出されることが望ましぐ閾値の算出値が振 動することは、通常、閾値の算出値が誤差を含んでいることを意味し、よって、そのよ うな閾値の算出値を用いて輝度画像を 2値ィ匕しても、その 2値ィ匕の精度を向上させる ことは困難である。
[0228] 本実施形態においては、複数枚の輝度画像のうち、ノターンラインの周期が最小 であるパターン光のもとに撮像されたもの、すなわち、パターン番号 PNが 0である輝 度画像が代表パターン画像として選択される。さらに、本実施形態においては、図 19 に示すように、その代表パターン画像に対してローカルに設定される窓 VWが、それ のサイズが可変である可変窓として構成されている。それにより、その可変窓 VWの サイズが、代表パターン画像の実際のパターンライン周期に適応して変化させられる
[0229] したがって、本実施形態によれば、図 19に示すように、代表パターン画像における ノターンライン周期が列方向位置に応じて変動しても、それに追従するように可変窓 VWのサイズが変更され、その結果、パターンライン周期の変動にもかかわらず、可 変窓 VW内に存在する明部と暗部のパターンラインの数が一定に維持される。本実 施形態においては、代表パターン画像に対して可変窓 VWが設定される各ローカル 位置ごとに閾値 THが取得される。各ローカル位置ごとの閾値 THは、各ローカル位 置に最適なサイズを有する可変窓 VWのもとに精度よく取得されること〖こなる。
[0230] また、明部と暗部のパターンラインの数が一定に維持されるような可変窓 VWのサイ ズは、パターン番号 PNが 0である輝度画像において最小となる。したがって、パター ン番号 PNが 0である輝度画像を代表パターン画像として選択することにより、最小の
可変窓 VWのサイズが可能になり、可変窓 VWを用いた後のフィルタ処理の計算負 荷を抑えることが可能になる。
[0231] 本実施形態においては、その可変窓 VWが、サイズが可変である方形窓として構成 されている。その可変窓 VWのサイズは、代表パターン画像の列方向には可変であ る力 ライン方向には固定であるように設定されて 、る。
[0232] 本実施形態にぉ ヽては、その可変窓 VWのサイズ、すなわち、代表パターン画像の 列方向におけるサイズが、その代表パターン画像の実際のパターンライン周期を適 応的に反映するように設定される。そのため、可変窓 VWのサイズを設定するために
、代表パターン画像の実際のパターンライン周期分布が事前に判明していることが必 要である。
[0233] よって、本実施形態においては、可変窓 VWのサイズの設定に先立ち、サイズが固 定された固定窓が代表パターン画像に対して設定される。その設定された固定窓に よって捕捉される複数個の連続画素が複数個の注目画素として選択され、それら選 択された注目画素の輝度値に基づき、代表パターン画像の実際のノターンライン周 期分布が取得される。
[0234] 図 20には、代表パターン画像のパターンライン周期分布を取得するためにその代 表パターン画像に対して固定窓が設定される様子の一例が示されて 、る。この代表 ノターン画像においては、複数個の画素が、代表パターン画像のライン方向と列方 向とに沿って平面的に並んで!/、る。
[0235] この代表パターン画像においては、列方向に並んだ複数個の画素が順次、注目画 素に選定され、各注目画素ごとに固定窓が設定される。この固定窓は、 256個の画 素を捕捉するサイズを有しており、各注目画素を中心としてそれの前後に跨るように 代表パターン画像に対して設定される。図 20の例においては、注目画素の上下にそ れぞ; ί! ^立置する 2本の矢印によって 1個の固定窓が概念的に表されている。
[0236] 本実施形態においては、さらに、代表パターン画像における複数個の注目画素の 輝度値に対して FFT(Fast Fourier Transform :高速フーリエ変換)処理が施され、そ れにより、代表パターン画像の列方向において輝度値変化の周波数成分のそれぞ れについて強度 (例えば、パワースペクトル)が取得される。ここに、「周波数成分」は
、 1個の固定窓によって捕捉される複数個の注目画素を列方向に迪つた場合に、輝 度値の変化が反復される反復回数を意味する。
[0237] 図 21には、その FFT処理による周波数分析結果の一例がグラフで表されている。
図 21においては、横軸に、周波数 (反復回数)が取られており、一方、縦軸に、パヮ 一スペクトルが取られている。図 21には、各々強度極大値を有する複数の空間周波 数が存在することがグラフで表されており、これが、前記(1)項における「空間周波数 特性」の一例である。
[0238] 図 21に示す例は、 256個の画素が連続する今回の領域において、同じ輝度値が 7 回反復的に出現する傾向が最大であったことを示している。このことは、同色のパタ ーンラインが、 256Z7、すなわち、約 37画素分の長さをパターンライン周期として反 復する傾向が最大であったことを意味する。したがって、前述の可変窓 VWのサイズ は、例えば、パターンライン周期に相当する約 37画素分の長さに設定したり、パター ンライン周期の 2倍に相当する約 73画素分の長さ、またはパターンライン周期の整数 倍の長さに設定することが望ま 、。
[0239] なお付言するに、本実施形態においては、代表パターン画像のパターンライン周 期を取得するためにフーリエ変換が実施されるが、フーリエ変換を用いない他のアブ ローチによってパターンライン周期を取得することが可能である。例えば、各注目画 素ごとに、それの列方向前後近傍に位置する設定複数個の連続画素に注目し、そ の注目されて 、る複数個の連続画素が持って 、るそれぞれの輝度値にぉ 、て極大 値が反復的に出現する間隔を画素数を単位として求め、その求められた間隔からパ ターンライン周期を取得することが可能である。
[0240] さらに付言するに、本実施形態においては、代表パターン画像において列方向に 連続的に並んだ複数個の連続画素のそれぞれが順次注目画素に選定され、その選 定された各注目画素ごとにパターンライン周期が、代表パターン画像の輝度値分布 に基づいて取得される。
[0241] これに対し、パターンライン周期を取得する別のアプローチによれば、代表パター ン画像において列方向に連続的に並んだ複数個の連続画素から、少なくとも 1画素 おきに並んだ複数個の離散画素が選択される。それら選択された複数個の離散画
素のそれぞれが順次注目画素に選定され、その選定された各注目画素ごとにパター ンライン周期が、代表パターン画像の輝度値分布に基づいて取得される。複数個の 連続画素のうち、注目画素として選定されな力つた複数個の非注目画素のそれぞれ のパターンライン周期は、各非注目画素に隣接する注目画素について取得されたパ ターンライン周期を参照 (例えば、補間)することにより、取得される。このアプローチ によれば、複数個の連続画素のすべてについてそれぞれ、いちいち複雑な演算をし なくても、パターンライン周期が取得される。
[0242] また、パラメータが可変である窓を用いる場合には、算出されたパターンライン周期 分布を元に、パターンライン周期を遮断周期として、窓のパラメータが決定される。遮 断周期から窓のパラメータを決定するためには、広く一般に知られているデジタル口 一パスフィルタ設計手法を用いればょ 、。
[0243] 以上、図 14ないし図 21を参照することにより、このコード画像生成プログラム 36dを 原理的に説明した力 以下、図 13を参照することにより、時系列的に説明する。
[0244] このコード画像生成プログラム 36dにおいては、まず、 S101において、パターン番 号 PNが 0であるパターン光が投影された被写体が撮像された輝度画像が輝度画像 格納部 37cから、代表パターン画像として読み込まれる。
[0245] 次に、 S 102において、その代表パターン画像につき、前記読み込まれた輝度画像 に基づき、前述の FFT変換によるアプローチにより、代表パターン画像において列 方向に連続的に並んだ各画素ごとにパターンライン周期が演算される。演算された 複数個のパターンライン周期は各画素 (各列方向画素位置)に関連付けて周期分布 格納部 37pに格納される。
[0246] 続いて、 S 103において、演算された複数個のパターンライン周期に基づき、可変 窓 VWの特性がローカルに設定される。本実施形態においては、可変窓 VWのライ ン方向サイズは、その可変窓 VWが設定される代表パターン画像上の位置にかかわ らず、変化しないように設定されるのに対し、可変窓 VWの列方向サイズは、各列方 向画素位置に関連付けて演算されたパターンライン周期の整数倍に相当するように 設定される。
[0247] その後、 S104において、代表パターン画像に対して可変窓 VW力 ライン方向と列
方向とに沿って平面的に、かつ、各画素に関連付けて設定される。それにより、各画 素ごとに、可変窓 VW内に存在する複数個の画素の輝度値の平均値がローカルな 閾値として演算される。この S104においては、さらに、演算された閾値が各画素に割 り当てられた閾値画像が生成される。生成された閾値画像は閾値画像格納部 37qに 格納される。
[0248] 続いて、 S105において、パターン番号 PNが 0に初期化され、その後、 S106にお V、て、パターン番号 PNの現在値が最大値 PNmaxより小さ!/、か否かが判定される。 今回は、パターン番号 PNの現在値が 0であるため、判定力Noとなり、 S107に移行 する。
[0249] この S107においては、パターン番号 PNの現在値と等しいパターン番号 PNが割り 当てられた輝度画像の輝度値と、前記生成された閾値画像の閾値とが、各画素ごと に互いに比較される。その比較結果は、各画素ごとに 2値化画像に反映される。具体 的には、輝度画像の輝度値が閾値より大きい場合には、「1」を表すデータが、 2値ィ匕 画像のうち対応する画素位置に関連付けて 2値化画像格納部 37rに格納され、一方 、輝度画像の輝度値が閾値より大きくはない場合には、「0」を表すデータが、 2値ィ匕 画像のうち対応する画素位置に関連付けて 2値ィ匕画像格納部 37rに格納される。
[0250] その後、 S108において、パターン番号 PNが 1だけインクリメントされる。続いて、 S1 06に戻り、パターン番号 PNの現在値が最大値 PNmaxより小さいか否かが判定され る。今回も、最大値 PNmaxより小さい場合には、判定力Νοとなり、 S107に移行する
[0251] S106ないし S108の実行がパターン光の種類の数と同数回繰り返された結果、パ ターン番号 ΡΝの現在値が最大値 PNmaxより小さくはない値になると、 S 106の判定 力 ^Yesとなり、 S 109に移行する。
[0252] この S109においては、各画素ごとに、最大値 PNmaxと同数枚の 2値化画像から 画素値(「1」または「0」)力 パターン番号 PNが 0である輝度画像に対応する 2値ィ匕 画像から、パターン番号 PNが(PNmax— 1)である輝度画像に対応する 2値化画像 に至る順序に従って抽出され、最下位ビット LSM力 最上位ビット MSBに至る順序 に従って並んだ空間コードが生成される。各画素ごとの空間コードのビット数は、最
大値 PNmaxと同数である。各画素ごとに空間コードが生成されることにより、今回の 被写体に対応する空間コード画像が生成される。生成された空間コードは、各画素 位置に関連付けて空間コード格納部 37dに格納される。
[0253] 以上で、このコード画像生成プログラム 36dの一回の実行が終了する。
[0254] その後、図 12 (c)における S1223において、コード境界抽出プログラム 36eの実行 により、コード境界座標検出処理が実施される。前述の空間コードィ匕法によるコード 化は、各画素単位で行われるため、実際のパターン光における明暗の境界線と、前 記生成されたコード画像における空間コードの境界線 (ある空間コードが割り当てら れた領域と別の空間コードが割り当てられた領域との間の境界線)との間にサブピク セル精度の誤差が生ずる。そのため、このコード境界座標検出処理は、空間コードの 境界座標値をサブピクセル精度で検出することを目的として実施される。
[0255] 検出されたコード境界座標値はコード境界座標格納部 37eに格納される。コード境 界座標値は、 CCD22の結像面に設定された 2次元座標系である CCD座標系 ccdx ccdyにお 、て定義される。
[0256] 続いて、 S1224において、レンズ収差補正プログラム 36fの実行により、レンズ収差 補正処理が実施される。このレンズ収差補正処理は、撮像光学系 21に入射した光束 の実際の結像位置であってその撮像光学系 21の収差の影響を受けたものを、その 撮像光学系 21が理想レンズであったならば結像されるはずである理想結像位置に 近づくように補正する処理である。
[0257] このレンズ収差補正処理により、 S1223において検出されたコード境界座標値が、 撮像光学系 21の歪みなどに起因した誤差が除去されるように補正される。そのように して補正されたコード境界座標は収差補正座標格納部 37gに格納される。
[0258] それらコード境界座標検出処理およびレンズ収差補正処理はいずれも、本発明を 理解するために不可欠な事項ではなぐし力も、本出願人の特願 2004— 105426号 明細書に詳細に開示されているため、それを参照することによって合体させることに より、本明細書においては詳細な説明を省略する。
[0259] その後、 S1225において、三角測量演算プログラム 36gの実行により、三角測量の 原理による実空間変換処理が実施される。この実空間変換処理が実施されれば、三
角測量の原理により、前述の、 CCD座標系 ccdx— ccdy上のコード境界座標値であ つて収差補正が施されたものが、実空間に設定された 3次元座標系である実空間座 標系 X— Y— Z上の 3次元座標値に変換され、その結果、 3次元形状検出結果として の 3次元座標値が取得される。その取得された 3次元座標値は 3次元座標格納部 37 hに格納される。
[0260] ここで、図 22を参照することにより、三角測量の原理により、 CCD座標系 ccdx— cc dy上の 2次元座標値を実空間座標系 X— Y— Z上の 3次元座標値に変換する手法を 詳細に説明する。
[0261] 本実施形態においては、実空間座標系 X— Y— Zが画像入出力装置 1に固定され 、この実空間座標系 X— Y— Z上において、図 1に示すように、撮像対象である原稿 P であって横方向に湾曲したものが撮像される。図 22に示すように、この実空間座標 系 X— Y— Zは画像入出力装置 1に対し、 X軸は水平方向に延び、 Y軸は垂直方向 に延び、 Z軸は撮像光学系 21の光軸方向に延びるように位置決めされている。図 22 (a)には、実空間座標系 X— Y— Zが X軸方向に観察された状態で示され、図 22 (b) には、実空間座標系 X—Y—Zが Y軸方向に観察された状態で示されている。この実 空間座標系 X— Y— Zは画像入出力装置 1に対し、原点が、撮像光学系 21の入力瞳 位置力 Z軸に沿って距離 VPZ離れた位置に位置するように設定されて!、る。
[0262] この実空間座標系 X—Y—Zにおいては、投影部 13から原稿 Pへの投影角度が「
θ p」で表記され、撮像光学系 21の光軸と投影部 13の光軸との距離が「D」で表記さ れている。投影角度 Θ pは、各画素ごとに割り当てられた空間コードによって一義的 に特定される。
[0263] この実空間座標系 X— Y— Zにおいては、さらに、原稿 P上の対象点 targetからの 反射光が CCD22に入射する光路が逆向きに延長された直線と X— Y平面との交点 の Y座標値が「Ytarget」、 X座標値が「Xtarget」でそれぞれ表記されている。この実 空間座標系 X—Y—Zにおいては、さらに、撮像光学系 21の Y方向の視野が、「Yfto PJで示す表記される点から「Yfbottom」で表記される点までの領域として定義され、 X方向の視野が、「Xfstart」で表記される点から「Xfend」で表記される点までの領域 として定義されている。さらに、 CCD22の Y軸方向における長さ(高さ)が「Hc」で表
記され、 X軸方向における長さ(幅)力 S「Wc」で表記されている。
[0264] このように定義された実空間座標系 X—Y—Z上においては、 CCD22の CCD座標 系上の任意座標値 (ccdx, ccdy)に対応する実空間座標系上の 3次元座標値 (X, Y, Z)は、
[0265] (a)原稿 P上の対象点 target (X, Υ, Z) (図 22において引出し線を付して「(a)」示 す。)と、
[0266] (b)撮像光学系 21の入力瞳位置(図 22において引出し線を付して「(1))」示す。)と [0267] (c)投影光学系 20の出力瞳位置(図 22において引出し線を付して「(c)」示す。)と
[0268] (d)撮像光学系 21の入力瞳位置と原稿 P上の対象点を通る直線と X— Y平面との 交点 (Xtarget, Ytarget) (図 22において引出し線を付して「(d)」示す。)と、
[0269] (e)投影光学系 20の出力瞳位置と原稿 P上の対象点を通る直線と X— Y平面との 交点(図 22にお 、て引出し線を付して「(e)」示す。 )と
[0270] に関する関係を示す次の 5つの式を解くことにより、取得される。
[0271] (1) Y= (PPZ-Z) - tan Θ p -D + cmp (Xtarget)
[0272] (2) Y= ( Ytarget/ VPZ) Z + Ytarget
[0273] (3) X= (Xtarget/ VPZ) Z + Xtarget
[0274] (4) Ytarget =Yf top - (ccdcy/Hc) X ( Yf top— Yf bottom)
[0275] (5) Xtarget =Xf start + (ccdcx/Wc) X (Xf end— Xf start)
[0276] ただし、式(1)における「cmp (Xtarget)」は、撮像光学系 20と投影部 13とのズレを 補正する関数であり、ズレが無い理想的な場合には、 0とみなすことができる。
[0277] さらに、この実空間変換処理においては、実画像における任意点の座標値 (ccdx, ccdy)力 理想カメラで撮像された画像における座標値 (ccdcx, ccdcy)に変換され る。この変換は、次の 3つの式、すなわち、カメラキャリブレーションのための近似式を 用いて行われる。
[0278] (6) ccdcx= (ccdx - Centx) / ( 1 + dist/ 100) +Centx
[0279] (7) ccdcy = (ccdy - Centy) / ( 1 + dist/ 100) +Centy
[0280] (8) hf a = arctan [ ( ( (ccdx - Centx) 2 + (ccdy— Centy) 2) 0' 5) X pixellength Z focallength]
[0281] ただし、収差量 dist (%)は、半画角 Ma (deg)の関数 fを用いて dist=f (Ma)と記 述される。また、撮像光学系 21の焦点距離は、「focallength (mm)」で表記され、 cc d画素長は、「pixellength (mm)」で表記され、 CCD22におけるレンズの中心の座 標値は、(Centx, Centy)として定義されている。
[0282] この実空間変換処理においては、上述のように、 CCD座標系を実空間座標系に変 換する処理のみならず、 3次元の空間座標系上の任意の 3次元座標値 (X, Υ, Z)を 、投影部 13内の投影 LCD 19の面上に設定された 2次元座標系である LCD座標系 上の 2次元座標値 (lcdcx, lcdcy)に変換する処理も実施可能である。
[0283] それら 2次元座標値 (lcdcx, lcdcy)と 3次元座標値 (X, Υ, Z)との間における幾何 学的な関係は、次の 4つの式によって記述することができる。
[0284] (9) Y =— ( Yptarget/PPZ) Z + Yptarget
[0285] (10) X= (Xptarget/PPZ) Z+Xptarget
[0286] (11) Yptarget = Ypf top - (lcdcy/Hp) X (Xpf top— Xpf bottom)
[0287] (12) Xptarget = Xpf start + (lcdcx/Wp) X (Xpfend- Xpf start)
[0288] ただし、この実空間座標系 X— Y— Zにおいては、図 22に示すように、光束が投影 部 13から原稿 P上の対象点 targetに入射する光路が同じ向きに延長された直線と X —Y平面との交点の Y座標値が「Yptarget」、 X座標値が「Xptarget」でそれぞれ表 記されている。さらに、投影部 13の出力瞳位置が(0, 0, PPZ)として定義されている 。さらに、投影部 13の Y方向の視野が、「Ypftop」で表記される点から「Ypfbottom 」で表記される点までの領域として定義され、 X方向の視野が、「Xpfstart」で表記さ れる点から「Xpfend」で表記される点までの領域として定義されている。さらに、投影 LCD19の Y軸方向における長さ(高さ)が「Hp」で表記され、 X軸方向における長さ( 幅)が「Wp」で表記されて!ヽる。
[0289] 上記式(9)ないし(12)で記述される関係を利用するために、 3次元座標値 (X, Y, Z)をそれら式(9)ないし(12)に代入すると、 LCD座標系上の 2次元座標値 (lcdcx, lcdcy)を算出することができる。したがって、例えば、任意の 3次元形状を有する投
影面上に文字、図形等の画像を投影するための投影 LCD19の投影光パターンを算 出することができる。
[0290] 以上、図 6における S609において実行される立体画像処理を説明した力 以下、 S611にお ヽて実行される平面化画像処理を説明する。
[0291] この平面化画像処理によれば、例えば、原稿 Pが実際には図 1に示すように湾曲し て 、る状態で撮像されたにもかかわらず、あた力も湾曲して 、な 、状態で同じ原稿 P が撮像されたかのように、実際に撮像された画像が平面化される。さらに、この平面 化画像処理によれば、正面視において長方形を成す原稿 Pが実際には斜めから撮 像されたにもかかわらず、あた力も正面から同じ原稿 Pが撮像されたかのように、実際 に撮像された画像が平面化される。
[0292] この平面化画像処理は、本発明を理解するために不可欠な事項ではなぐしかも、 前記特願 2004— 105426号明細書に詳細に開示されているため、それを参照する ことによって合体させることにより、本明細書においては詳細な説明を省略する。
[0293] 以上の説明から明らかなように、本実施形態においては、可変窓 VWが前記(1)項 における「空間フィルタ」の一例を構成し、図 13における S101ないし S103力互いに 共同して同項における「空間フィルタ設定工程」の一例を構成し、 S104が同項にお ける「閾値設定工程」の一例を構成し、輝度値情報が同項における「画像情報」の一 例を構成して 、るのである。
[0294] さらに、本実施形態においては、図 20を用いて説明した固定窓が前記(2)項にお ける「窓関数」の一例を構成し、可変窓 VWの列方向サイズが前記 (4)項における「 可変幅」の一例を構成して 、るのである。
[0295] さらに、本実施形態においては、図 13における S102が前記(10)項における「空 間周波数特性演算工程」の一例を構成し、代表パターン画像が前記(13)および (1 4)項における「選択パターン画像」の一例を構成して ヽるのである。
[0296] さらに、本実施形態においては、図 13における S105ないし S108が互いに共同し て前記(15)項における「2値化工程」の一例を構成し、 S103および S104力 S互いに 共同して前記(16)項における「閾値画像生成工程」の一例を構成し、 S107が同項 における「2値ィ匕画像生成工程」の一例を構成し、図 13における S109が前記(17)
項における「空間コード画像算出工程」の一例を構成し、図 12 (c)における S1225が 前記(18)項における「3次元位置情報演算工程」の一例を構成して!/、るのである。
[0297] さらに、本実施形態においては、コード画像生成プログラム 36dが前記(19)項に係 るプログラムの一例を構成し、 ROM36のうちそのコード画像生成プログラム 36dを記 憶する部分が前記(20)項に係る「記録媒体」の一例を構成して 、るのである。
[0298] さらに、本実施形態においては、画像入出力装置 1が前記(21)項に係る「3次元情 報取得装置」の一例を構成し、処理部 15の前記コンピュータのうち、図 13における S 101ないし S 103を実行する部分が同項における「空間フィルタ設定部」の一例を構 成し、 S104を実行する部分が同項における「閾値設定部」の一例を構成し、輝度値 情報が同項における「画像情報」の一例を構成しているのである。
[0299] 以上、本発明の実施の形態のいくつかを図面に基づいて詳細に説明したが、これ らは例示であり、前記 [発明の開示]の欄に記載の態様を始めとして、当業者の知識 に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能であ る。