JP2006098252A - 3次元情報取得方法 - Google Patents

3次元情報取得方法 Download PDF

Info

Publication number
JP2006098252A
JP2006098252A JP2004285736A JP2004285736A JP2006098252A JP 2006098252 A JP2006098252 A JP 2006098252A JP 2004285736 A JP2004285736 A JP 2004285736A JP 2004285736 A JP2004285736 A JP 2004285736A JP 2006098252 A JP2006098252 A JP 2006098252A
Authority
JP
Japan
Prior art keywords
image
pattern
spatial
information acquisition
light
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2004285736A
Other languages
English (en)
Inventor
Hiroyuki Sasaki
博幸 佐々木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2004285736A priority Critical patent/JP2006098252A/ja
Priority to PCT/JP2005/017678 priority patent/WO2006035736A1/ja
Publication of JP2006098252A publication Critical patent/JP2006098252A/ja
Priority to US11/690,923 priority patent/US20070177160A1/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • G01B11/25Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
    • G01B11/2518Projection by scanning of the object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery

Abstract

【課題】パターン光が投影された対象物を撮像することによって取得されるパターン画像に基づき、対象物の3次元情報を取得する技術において、その3次元情報を取得するためにパターン画像に適用される閾値を設定する技術を改良する。
【解決手段】パターン画像の各部分における空間周波数特性に基づき、各部分に対応する空間フィルタ(例えば、可変窓VWの列方向サイズである幅)をパターン画像の各部分ごとに設定する。さらに、パターン画像の各部分に対して空間フィルタを施して取得される画像情報に基づき、対象物の3次元情報を取得するためにパターン画像の各部分に適用される閾値THを各部分ごとに設定する。
【選択図】図19

Description

本発明は、パターン光が投影された対象物を撮像することによって取得されるパターン画像に基づき、対象物の3次元情報を取得する技術に関するものであり、特に、その3次元情報を取得するためにパターン画像に適用される閾値を設定する技術の改良に関するものである。
対象物の3次元形状を計測することなどを目的として、パターン光が投影された対象物を撮像することによって取得されるパターン画像に基づき、対象物の3次元情報を取得する技術が既に存在する。
この技術の一例は、空間コード化法である。この空間コード化法においては、n種類のストライプ状のパターン光が順次、対象物に投影され、各パターン光ごとに、その対象物が撮像される。その結果、その対象物が置かれている空間が2個の細い扇状領域に分割され、それにより、n枚のパターン画像、すなわち、ストライプ状の輝度画像または濃淡画像が取得される。
この空間コード化法においては、さらに、それら取得されたn枚のパターン画像が、それぞれに対して閾値処理が行われることにより、n枚の2値化画像に変換され、さらに、各画素ごとに、それらn枚の2値化画像の輝度値(0または1)が順次、空間コードを構成する最下位ビットLSBから最上位ビットMSBまでのn個のビットに割り当てられる。
その結果、各画素ごとに空間コードが割り当てられた空間コード画像が取得され、その取得された空間コード画像に基づき、かつ、三角測量の原理に従うことにより、対象物を構成する複数の画素のそれぞれの3次元位置を始めとする3次元情報が取得される。
この空間コード化法においては、閾値処理が、一般に、パターン画像と閾値画像とを輝度値に関して各画素ごとに互いに比較されるように行われる。その閾値画像を取得する一従来例が特許文献1に開示されている。
具体的には、その従来例によれば、8種類の基本スリットパターンにつき、ポジ画像を撮影するための8種類のポジ画像用スリットパターンと、ネガ画像を撮影するための8種類のネガ画像用スリットパターンであって8種類のポジ画像用スリットパターンが反転されたものとが使用される。この従来例によれば、同じ対象物につき、8種類のポジ画像用スリットパターンが順次用いられてポジ画像が8枚撮影され、さらに、8種類のネガ画像用スリットパターンが順次用いられてネガ画像が8枚撮影される。
この従来例によれば、さらに、各基本スリットパターンごとに、ポジ画像からネガ画像を差分した差分画像と、ネガ画像からポジ画像から差分した差分画像とを組み合わせて閾値画像が合成される。そのため、この従来例を実施する場合には、対象物へのパターン光の投影および撮影を、基本スリットパターンの数の2倍の回数、すなわち、通常の空間コード化法を実施するために投影および撮影が行われる回数の2倍の回数、行わなければならない。
別の従来例によれば、パターン画像における複数本のパターンライン(パターン画像のうちの明部の一例)が2本入るように幅が固定された長方形のマスクが使用される。このマスクは、パターン画像の各部分に個別に適用され、各部分ごとに、マスク内に存在する複数個の画素の輝度値の平均値が、ローカルな閾値として算出される。すなわち、この従来例は、対象物の明るさの空間的変化に適応するように閾値をローカルに設定する閾値設定技術の一従来例なのである。
特許第2921748号公報
上述の閾値設定技術においては、マスクの幅が、実際のパターン画像における複数本のパターンラインの間隔の整数倍とちょうど一致することが要求される。この要求が充足されないと、同じマスク中に明部と暗部とが面積に関して均等に存在しなくなり、その結果、同じマスク中に存在する複数の画素の輝度値の平均値が、実際の明部と実際の暗部とのそれぞれの真の輝度値の平均値から外れてしまう。しかしながら、この要求を常に充足することは現実的には困難である。以下、このことを具体的に説明する。
複数本のパターンラインが等間隔で並んだパターン光が投影された対象物の撮像によって取得されるパターン画像においても、複数本のパターンラインが並ぶ。パターン画像におけるパターンラインの間隔は、パターン光におけるパターンラインの間隔が同じであっても、対象物と、その対象物にパターン光を投影するプロジェクタと、その対象物を撮像するカメラとの間における相対的な幾何学的配置・配向(例えば、パターン光が対象物に投影される向き、その対象物が撮像される向き、その対象物の表面の向き、プロジェクタと対象物との距離、カメラと対象物との距離)に依存して変化する。
また、プロジェクタから投光されるパターン光においては、各パターンラインの間隔が等間隔であるのに対し、そのようなパターン光が投影された対象物の撮像によって取得されるパターン画像においては、パターンラインの間隔が空間的に変化する可能性がある。
この理由を具体的に説明するに、対象物のうちパターン光が投影される部分が単一の平面によって構成される場合には、その部分からパターン光が反射した光によって形成されるパターン画像においても、パターンラインの間隔が空間的に変化しない。
しかしながら、対象物のうちパターン光が投影される部分が、例えば、凹凸を有する場合など、単一もしくは複数の曲面または複数の平面によって構成される場合には、その部分からパターン光が反射した光によって形成されるパターン画像においては、パターンラインの間隔が空間的に変化する。
以上要するに、パターン画像においてパターンライン間隔が空間的に変化する可能性があるのであるが、その可能性にもかかわらず、前述の閾値設定技術によれば、閾値をローカルに設定するためのパターン画像に設定されるマスクの幅は固定されている。
そのため、この閾値設定技術では、空間的に変化しているパターンライン間隔を持つパターン画像上においてマスクが空間的に順次シフトさせられると、マスクに入るパターンラインの数が増減を繰り返し、その結果、マスクに入る画素の輝度値の平均値が空間的に振動してしまう。そのように振動する平均値に基づいて閾値が設定されると、この閾値も空間的に振動してしまうことになる。
ところで、一般に、対象物に一様な光を投影すると、その対象物の各部分の明るさはその各部分からの反射光の輝度値として表現される。そのため、各部分に投影される光の強度が他の部分と同じであっても、各部分においては、それの面の傾き、表面反射率、プロジェクタからの距離、カメラからの距離等が他の部分とは異なれば、明るさも他の部分とは異なる。
このような性質が存在することを前提にして、パターン光が対象物に投影された結果取得されるパターン画像を考察するに、そのパターン画像における複数本のパターンライン間において輝度値が互いに共通するとは限らない。すなわち、同じパターン画像中に明るいパターンライン(明るい明部)と暗いパターンライン(暗い明部)とが併存する可能性があるのである。しかし、それらパターンラインは、このように絶対的な輝度値に違いがあるにもかかわらず、2値化処理においては、いずれも明部であると判定されることが、2値化の精度を向上させるために必要である。したがって、対象物の反射光のそもそもの明るさの空間的変化に追従するように閾値をトラッキングすることが望ましい。
もっとも、現実的には、対象物の表面が投影するパターンに依存して振動的に変化を繰り返すことは稀である。そのため、前述の閾値設定技術によって設定される閾値が、パターン画像において振動的に変化することは、2値化の精度を悪化させる要因であると考えるのが自然である。
以上の説明から明らかなように、上述の閾値設定技術では、対象物からの反射光のそもそもの明るさの空間的変化に正確に追従するように閾値を設定することが困難であるという問題があったのである。
このような事情を背景とし、本発明は、パターン光が投影された対象物を撮像することによって取得されるパターン画像に基づき、対象物の3次元情報を取得する技術において、その3次元情報を取得するためにパターン画像に適用される閾値を設定する技術を改良することを課題としてなされたものである。
本発明によって下記の各態様が得られる。各態様は、項に区分し、各項には番号を付し、必要に応じて他の項の番号を引用する形式で記載する。これは、本発明が採用し得る技術的特徴の一部およびそれの組合せの理解を容易にするためであり、本発明が採用し得る技術的特徴およびそれの組合せが以下の態様に限定されると解釈すべきではない。すなわち、下記の態様には記載されていないが本明細書には記載されている技術的特徴を本発明の技術的特徴として適宜抽出して採用することは妨げられないと解釈すべきなのである。
さらに、各項を他の項の番号を引用する形式で記載することが必ずしも、各項に記載の技術的特徴を他の項に記載の技術的特徴から分離させて独立させることを妨げることを意味するわけではなく、各項に記載の技術的特徴をその性質に応じて適宜独立させることが可能であると解釈すべきである。
(1) パターン光が投影された対象物を撮像することによって取得されるパターン画像に基づき、前記対象物の3次元情報を取得する3次元情報取得方法であって、
前記パターン画像の各部分における空間周波数特性に基づき、前記各部分に対応する空間フィルタを前記各部分ごとに設定する空間フィルタ設定工程と、
前記各部分に対して前記空間フィルタを施して取得される画像情報に基づき、前記3次元情報を取得するために前記各部分に適用される閾値を前記各部分ごとに設定する閾値設定工程と
を含む3次元情報取得方法。
この方法においては、パターン画像の各部分ごとに適用される閾値を各部分ごとに設定するために、パターン画像の各部分における空間周波数特性に基づき、各部分に対応する空間フィルタが各部分ごとに設定される。そのようにして設定された空間フィルタが各部分ごとにパターン画像に対して施されることにより、閾値が各部分ごとに設定される。すなわち、この方法においては、パターン画像上における位置に応じてフィルタ特性が可変である可変空間フィルタの採用により、パターン画像についてローカルな閾値が設定されるのである。
したがって、この方法によれば、パターン画像の各部分に個別に設定される空間フィルタが、各部分の空間周波数特性に適応するように設定される。その結果、パターン画像の各部分に個別に設定される閾値も、各部分の空間周波数特性に適応するように設定される。
したがって、この方法によれば、パターン画像の各部分に対して、固定フィルタ特性を持つ空間フィルタ(例えば、固定幅を持つ固定窓)を施すことによって各部分ごとに閾値が設定される場合とは異なり、設定された閾値がパターン画像について空間的に振動する傾向を抑制することが容易となる。
本項における「3次元情報」は、通常、対象物を構成する複数の画素のそれぞれの3次元位置に関する情報を含むが、それに限定されず、例えば、対象物の各画素の色またはテクスチャに関する情報、対象物の表面を少なくとも近似的に表現するポリゴンを定義する幾何学的情報(例えば、そのポリゴンにおける複数の頂点とそれら頂点を結ぶ複数の面とに関する情報)等を含むことが可能である。
(2) 前記空間フィルタ設定工程は、窓関数によって前記パターン画像から取り出された各部分の画像情報に基づき、前記空間周波数特性を前記各部分ごとに取得し、その取得された空間周波数特性に基づき、前記空間フィルタを前記各部分ごとに設定する(1)項に記載の3次元情報取得方法。
この方法によれば、パターン画像の各部分ごとに空間フィルタを設定するために取得することが必要な空間周波数特性が、パターン画像について全体的に取得されるのではなく、パターン画像の各部分ごとに個別に取得される。したがって、この方法によれば、パターン画像の各部分の空間周波数特性を精度よく取得することが容易となる。
(3) 前記空間フィルタは、可変係数のマトリクスである(1)または(2)項に記載の3次元情報取得方法。
(4) 前記空間フィルタは、可変幅を持つ方形窓と、遮断周波数が可変であるローパスフィルタとの少なくとも一方の特性を含む(1)ないし(3)項のいずれかに記載の3次元情報取得方法。
(5) 前記パターン光は、明部と暗部とが交互に並んで構成されており、
前記パターン画像は、そのパターン光に対応し、明部と暗部とが交互に並んで構成されており、
前記空間周波数特性は、前記パターン画像の各部分において、前記明部と前記暗部との繰り返しについての空間周波数を反映する(1)ないし(4)項のいずれかに記載の3次元情報取得方法。
(6) 前記空間フィルタ設定工程は、前記パターン画像の各部分の前記空間周波数特性が複数個の空間周波数において強度極大値を有することを示す場合に、それら複数の強度極大値を有する空間周波数の少なくとも一つに基づき、前記空間フィルタを前記各部分ごとに設定する(5)項に記載の3次元情報取得方法。
パターン画像が複数の強度極大値を持つ空間周波数を備えている場合には、それら空間周波数のうち優勢なものを考慮して空間フィルタを設定すれば、パターン画像についてローカルな閾値がそのパターン画像の空間周波数特性に十分に適応するように取得される傾向が強まる。
このような知見に基づき、本項に係る方法においては、パターン画像の各部分の空間周波数特性が複数個の空間周波数において強度極大値を有することを示す場合に、それら複数の強度極大値を有する空間周波数の少なくとも一つに基づき、空間フィルタをパターン画像の各部分ごとに設定される。
(7) 前記空間フィルタ設定工程は、前記パターン画像の輝度分布に対してフーリエ変換を施すことにより、前記空間周波数特性を特定する(6)項に記載の3次元情報取得方法。
この方法によれば、フーリエ変換により、パターン画像の空間周波数特性をより正確に取得することが容易となる。
(8) 前記空間フィルタは、可変幅を持つ方形窓であり、
前記空間フィルタ設定工程は、前記複数の強度極大値を有する空間周波数のうち強度が最大であるものに基づき、前記方形窓の幅を決定する窓幅決定工程を含む(6)または(7)項に記載の3次元情報取得方法。
(9) 前記空間フィルタは、遮断周波数が可変であるローパスフィルタであり、
前記空間フィルタ設定工程は、前記複数の強度極大値を有する空間周波数のうち強度が最大であるものに基づき、その空間周波数より低い空間周波数に前記遮断周波数を決定する遮断周波数決定工程を含む(6)または(7)項に記載の3次元情報取得方法。
(10) 前記空間フィルタ設定工程は、前記パターン画像を構成する複数個の画素のそれぞれにつき、各画素を含んでそれの近傍に位置する複数個の画素の輝度情報に基づいて前記空間周波数特性を演算する空間周波数特性演算工程を含む(1)ないし(9)項のいずれかに記載の3次元情報取得方法。
この方法によれば、パターン画像の各画素ごとに、ローカルな空間周波数特性を精度よく演算することが容易となる。
(11) 前記空間フィルタ設定工程は、前記パターン画像を構成する複数個の画素のうち互いに離散するように選択された複数個の離散画素のそれぞれについて、各離散画素を含んでそれの近傍に位置する複数個の画素の輝度情報に基づいて前記空間周波数特性を演算する空間周波数特性演算工程を含む(1)ないし(9)項のいずれかに記載の3次元情報取得方法。
この方法によれば、パターン画像を構成する複数個の画素が、互いに離散した複数個の離散画素によって代表される。それら複数個の離散画素のそれぞれについては、前記(10)項に係る方法と同様にして、ローカルな空間周波数特性が演算される。これに対し、残りの複数個の画素のそれぞれについては、各画素に近接する離散画素について先に演算されたローカルな空間周波数に基づき、ローカルな空間周波数特性を演算することが可能である。例えば、残りの複数個の画素のそれぞれについては、各画素を隔てて互いに近接する複数の離散画素について先に演算されたそれぞれのローカルな空間周波数から推定することにより、ローカルな空間周波数特性を演算することが可能である。
したがって、この方法によれば、パターン画像を構成する複数個の画素のそれぞれにつき、先に演算されたローカルな空間周波数特性を用いることなく、ローカルな空間周波数特性を演算する場合より、その演算に必要な計算負荷を軽減することが容易となる。
(12) 前記空間フィルタ設定工程は、さらに、前記複数個の画素のうち前記選択された複数個の離散画素以外の各非選択画素についての前記空間周波数を、前記複数個の離散画素のうち各非選択画素の周辺に位置するものについて前記空間周波数特性演算工程によって演算された前記空間周波数特性を用いて推定する空間周波数特性推定工程を含む(11)項に記載の3次元情報取得方法。
この方法によれば、選択された複数個の離散画素について前記空間周波数特性演算工程によって演算された空間周波数特性を利用することにより、複数個の画素のうち、選択された複数個の離散画素以外の各非選択画素についての空間周波数特性が推定される。
(13) 前記パターン光は、明部と暗部とが交互に並んで構成されており、
前記パターン画像は、そのパターン光に対応し、明部と暗部とが交互に並んで構成されており、
前記パターン光は、前記明部と前記暗部との繰り返しについての空間周波数が互いに異なる複数種類のパターン光を含み、
前記パターン画像は、それら複数種類のパターン光にそれぞれ対応する複数種類のパターン画像を含み、
前記空間フィルタ設定工程は、それら複数種類のパターン画像のいずれかとして選択された選択パターン画像を用いて前記空間フィルタを設定し、
前記閾値設定工程は、前記閾値を前記複数種類のパターン画像に共通に割り当てる(1)ないし(12)項のいずれかに記載の3次元情報取得方法。
この方法によれば、各パターン画像ごとに閾値設定を行わずに済む。この方法は、複数種類のパターン画像がそもそも、対象物の3次元情報を取得するために利用されるものであって、それらパターン画像のいずれかである上記選択パターン画像がもっぱら閾値設定のために利用されるものではない態様で実施することが可能である。この態様によれば、閾値を設定することのみを目的として、パターン光の投影および対象物の撮像を行わずに済む。
(14) 前記選択パターン画像は、前記複数種類のパターン光のうち、前記明部と前記暗部との繰り返しについての周期が実質的に最小であるものに対応する(13)項に記載の3次元情報取得方法。
この方法によれば、選択パターン画像が、複数種類のパターン光のうち、明部と暗部とが交互に繰り返す周期が実質的に最小ではないものに対応する場合に比較し、例えば、空間フィルタの一例である可変窓の幅が小さくて済む。その可変窓は、例えば、パターン画像におけるパターンラインの間隔の整数倍とちょうど一致する幅を有するように設定され、その幅は、パターンラインの間隔が短いほど、すなわち、上記周期が短いほど、小さい。一方、可変窓の幅が小さいほど、その可変窓によって部分的に切り出されるパターン画像のデータ量が少なくなる。よって、この方法によれば、閾値設定のための計算負荷を軽減することが容易となる。
(15) さらに、前記設定された閾値を用いることによって前記パターン画像を2値化し、それにより、そのパターン画像を2値化画像に変換する2値化工程を含む(1)ないし(14)項のいずれかに記載の3次元情報取得方法。
この方法によれば、可変空間フィルタの採用によって精度の高い閾値をローカルに決定することができるため、パターン画像を2値化する精度が向上する。
(16) 前記閾値設定工程は、前記パターン画像を構成する複数個の画素のそれぞれについて前記閾値を割り当てることにより、閾値画像を生成する閾値画像生成工程を含み、
前記2値化工程は、その生成された閾値画像と前記パターン画像とを輝度値に関して各画素ごとに互いに比較することにより、前記2値化画像を生成する2値化画像生成工程を含む(15)項に記載の3次元情報取得方法。
この方法によれば、可変空間フィルタの採用によって精度の高い閾値をローカルに決定することができるため、閾値画像の精度が向上し、ひいては、2値化画像の精度も向上する。
(17) さらに、前記2値化画像に基づき、かつ、予め定められた空間コード化規則に従い、前記2値化画像から空間コード画像を算出する空間コード画像算出工程を含む(15)または(16)項に記載の3次元情報取得方法。
この方法によれば、可変空間フィルタの採用によって精度の高い閾値をローカルに決定することができるため、2値化画像の精度が向上し、ひいては、空間コード画像を取得する精度も向上する。
(18) さらに、前記算出された空間コード画像に基づき、前記対象物を構成する複数の画素のそれぞれに対応する3次元位置を前記3次元情報として演算する3次元位置演算工程を含む(17)項に記載の3次元情報取得方法。
この方法によれば、空間コード化法により、対象物の3次元位置を計測することが可能となる。
(19) (1)ないし(18)項のいずれかに記載の3次元情報取得方法を実施するためにコンピュータによって実行されるプログラム。
このプログラムがコンピュータにより実行されれば、前記(1)ないし(18)項のいずれかに係る方法におけると基本的に同じ原理に従い、同様な効果が実現され得る。
本項に係るプログラムは、それの機能を果たすためにコンピュータにより実行される指令の組合せのみならず、各指令に従って処理されるファイルやデータをも含むように解釈することが可能である。
また、このプログラムは、それ単独でコンピュータにより実行されることにより、所期の目的を達するものとしたり、他のプログラムと共にコンピュータにより実行されることにより、所期の目的を達するものとすることができる。後者の場合、本項に係るプログラムは、データを主体とするものとすることができる。
(20) (19)項に記載のプログラムをコンピュータ読取り可能に記録した記録媒体。
この記録媒体に記録されているプログラムがコンピュータにより実行されれば、前記(1)ないし(18)項のいずれかに係る方法と同じ作用効果が実現され得る。
この記録媒体は種々な形式を採用可能であり、例えば、フレキシブル・ディスク等の磁気記録媒体、CD、CD−ROM等の光記録媒体、MO等の光磁気記録媒体、ROM等のアンリムーバブル・ストレージ等のいずれかを採用し得る。
以下、本発明のさらに具体的な実施の形態のいくつかを図面に基づいて詳細に説明する。
図1には、本発明の一実施形態に従う3次元情報取得方法を実施するのに好適な画像入出力装置1が外観斜視図で示されている。この画像入出力装置1は、画像を表す画像光(「画像信号光」ともいう。)の投影面(例えば、平面、スクリーン、机上面など)への投影(通常の投影)およびストライプ状のパターン光の被写体への投影(3次元情報取得のための投影)と、被写体の撮像と、その撮像結果に基づき、被写体の3次元情報(3次元位置情報を含む。)をコンピュータによって取得する処理とを行うように設計されている。そのため、この画像入出力装置1は、図2に示すように、投影部13と、撮像部14と、処理部15とを含むように構成されている。
この画像入出力装置1は、複数種類のモードのうちユーザによって選択されたものに従って作動する。それらモードは、この画像入出力装置1がデジタルカメラとして機能するデジカメモードと、ウェブカメラとして機能するwebcamモードと、被写体の3次元形状を検出して立体画像を取得するための立体画像モードと、湾曲した原稿等の被写体の立体画像を平面化した平面化画像を取得するための平面化画像モードとを含んでいる。
図1には、この画像入出力装置1が、特に、立体画像モードや平面化画像モードにおいて、被写体としての原稿Pの3次元形状を検出するために、明部と暗部とが交互に並んで成るストライプ状のパターン光を投影部13から原稿Pに投影している状態で示されている。
図1に示すように、この画像入出力装置1は、略箱状を成す撮像ヘッド2と、一端においてその撮像ヘッド2に連結されたパイプ状のアーム部材3と、そのアーム部材3の他端に連結されたベース4であって、平面視において略L字状を成すように形成されたものとを備えている。それらアーム部材3とベース4とは互いに共同して、撮像ヘッド2を片持ち状で保持するスタンドとして機能する。
撮像ヘッド2は、図2に示すように、投影部13や撮像部14がケース内に収容されて構成されている。図1に示すように、この撮像ヘッド2は、鏡筒5と、ファインダ6と、フラッシュ7とを、それぞれが部分的に撮像ヘッド2の正面において露出する姿勢で備えている。この撮像ヘッド2は、さらに、撮像部14の一部である撮像光学系21を、それのレンズの一部が撮像ヘッド2の正面において露出する姿勢で備えている。その撮像光学系21は、それの露出部分において、被写体を表す画像光を受光する。
鏡筒5は、図1に示すように、撮像ヘッド2の正面から突出しており、その内部において、図2に示すように、投影部13の一部である投影光学系20を収容している。この鏡筒5は投影光学系20を、焦点調節のために全体的に移動可能である状態で保持し、さらに、この鏡筒5は、投影光学系20を損傷から保護している。鏡筒5の露出端面から、投影部13の一部である投影光学系20のレンズの一部が露出している。投影光学系20は、それの露出部分において、投影面または被写体に向かって画像光またはパターン光を投影する。
ファインダ6は、撮像ヘッド2の正面から入射した光をそれの背面まで誘導するように配設される光学レンズによって構成されている。ユーザがファインダ6を画像入出力装置1の背面からのぞき込むと、ユーザが、撮像光学系21のうちのイメージセンサの一例であるCCD22(結像面)上に画像が結像する領域とほぼ一致する領域内においてその画像を視認できるようになっている。
フラッシュ7は、例えば、デジカメモードにおいて、不足光量を補充するために発光する光源であり、キセノンガスが充填された放電管を用いて構成されている。したがって、このフラッシュ7は、撮像ヘッド2に内蔵されているコンデンサ(図示しない)の放電により繰り返し使用することができる。
撮像ヘッド2は、さらに、それの上面において、レリーズボタン8と、モード切替スイッチ9と、モニタLCD10とを備えている。
レリーズボタン8は、画像入出力装置1を作動させるためにユーザによって操作される。このレリーズボタン8は、ユーザの操作状態(押下状態)が「半押し状態」である場合と「全押し状態」である場合とで異なる指令を発令できる2段階の押しボタン式のスイッチによって構成されている。レリーズボタン8の操作状態は処理部15によって監視される。処理部15によって「半押し状態」が検出されれば、よく知られたオートフォーカス(AF)および自動露出(AF)の機能が起動し、ピント、絞りおよびシャッタスピードが自動的に調節される。これに対し、処理部15によって「全押し状態」が検出されれば、撮像等が行われる。
モード切替スイッチ9は、画像入出力装置1の作動モードを、前述のデジカメモード、webcamモード、立体画像モード、および平面化画像モードと、オフモード等を含む複数種類のモードのいずれかとして設定するためにユーザによって操作される。このモード切替スイッチ9の操作状態は処理部15によって監視されており、モード切替スイッチ9の操作状態が処理部15によって検出されると、その検出された操作状態に対応するモードでの処理が画像入出力装置1に対して行われる。
モニタLCD10は、液晶ディスプレイ(Liquid Crystal Display)を用いて構成されており、処理部15から画像信号を受けて、画像をユーザに表示する。このモニタLCD10は、例えば、デジカメモードやwebcamモードにおける撮像画像、立体画像モードにおける3次元形状検出結果画像、平面化画像モードにおける平面化画像等を表示する。
図1に示すように、撮像ヘッド2は、さらに、RF(無線)インターフェイスとしてのアンテナ11と、撮像ヘッド2とアーム部材3とを互いに連結する連結部材12とを備えている。
アンテナ11は、図5に示すように、RFドライバ24に接続されている。このアンテナ11は、デジカメモードで取得した撮像画像データ、立体画像モードで取得した立体画像データ等を、RFドライバ24を介して、図示しない外部インターフェイスに無線によって送信する。
連結部材12は、撮像ヘッド2とアーム部材3の一端部とを、ねじ機構により、着脱可能であり、かつ、相対取付け角度が調節可能である状態で互いに連結する。具体的には、この連結部材12は、例えば、内周面に雌ねじが形成されたリングとして形成され、撮像ヘッド2の一側面に回転可能かつ離脱不能に保持されている。その雌ねじに対応し、アーム部材3の一端部に雄ねじが形成されている。それら雌ねじと雄ねじとが互いに螺合されることにより、撮像ヘッド2とアーム部材3とが着脱可能に互いに連結される。したがって、撮像ヘッド2は、アーム部材3から取り外せば、通常のデジタルカメラとして使用することができる。さらに、それら雌ねじと雄ねじとが互いに螺合されることにより、撮像ヘッド2を、アーム部材3の一端部に任意の角度で固定することができる。
図1に示すように、アーム部材3は、任意の形状に屈曲可能であり、かつ、外力が加えられない限りその形状が復元しない素材または機構によって構成されている。これにより、アーム部材3は、それに装着された撮像ヘッド2を、それの位置および向きを任意に調整可能に保持することができる。このアーム部材3は、例えば、任意の形状に屈曲可能な蛇腹状のパイプによって構成される。
図1に示すうように、ベース4は、前述のように、アーム部材3の他端に連結されている。このベース4は、机等の載置台に載置され、撮像ヘッド2とアーム部材3とを支持する。このベース4は、平面視において略L字状を成すように形成されているため、重量の割に高い安定度で撮像ヘッド2およびアーム部材3を支持することができる。さらに、それらアーム部材3とベース4とは着脱可能に互いに連結されているため、例えば搬送や収納の先立ち、それらアーム部材3とベース4とを互いに分離することにより、それらアーム部材3とベース4とが占めるスペースの形態を任意に変更することが可能となり、よって、搬送し易さの向上および収納スペースの削減を容易に図り得る。
図2には、撮像ヘッド2の内部構成が概念的に表されている。撮像ヘッド2は、前述のように、投影部13と、撮像部14と、処理部15とを主に内蔵している。
投影部13は、投影面または被写体に任意の画像光(投影画像)またはパターン光を投影するためのユニットである。この投影部13は、図2に示すように、基板16と、複数個のLED17(以下、それらのアレイを「LEDアレイ17A」という。)と、光源レンズ18と、投影LCD19と、投影光学系20とを、投影方向に沿って直列に備えている。この投影部13の詳細は、後に図3を参照して説明する。
撮像部14は、被写体としての原稿Pを撮像するためのユニットである。この撮像部14は、図2に示すように、撮像光学系21と、CCD22とを、画像光の入射方向に沿って直列に備えている。
撮像光学系21は、図2に示すように、複数枚のレンズを用いて構成されている。この撮像光学系21は、よく知られたオートフォーカス機能により、焦点距離および絞りを自動調整して外部からの光をCCD22上に結像する。
CCD(Charge Coupled Device)22は、フォトダイオード素子などの光電変換素子をマトリクス状に配列して構成されている。このCCD22は、撮像光学系21を介してこのCCD22の表面に結像される画像の光の色および強さに応じた信号を各画素ごとに生成する。その生成された信号は、デジタルデータに変換されて処理部15に出力される。
図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によって制御される。
外部メモリ27は、着脱可能なフラッシュROMであり、デジカメモードやwebcamモード、さらに立体画像モードにおいて撮像された撮像画像や3次元情報を記憶することが可能である。外部メモリ27を構成するために、例えば、SDカード、コンパクトフラッシュ(登録商標)カード等を使用することができる。
キャッシュメモリ28は、データの読み書きを高速で行い得る記憶装置である。キャッシュメモリ28は、例えば、デジカメモードにおいて撮像された撮像画像を高速でキャッシュメモリ28に転送し、処理部15で画像処理を行ってから外部メモリ27に格納することを可能にするために使用される。キャッシュメモリ28を構成するために、例えば、SDRAM、DDRRAM等を使用することができる。
電源インターフェイス25、光源ドライバ29、投影LCDドライバ30およびCCDインターフェイス31はそれぞれ、バッテリ26、LEDアレイ17A、投影LCD19およびCCD22を制御する各種の集積回路IC(Integrated Circuit)によって構成されている。
ここで、投影部13の詳細を図13を参照することによって説明する。図3(a)は投影部13の拡大図であり、図3(b)は光源レンズ18の正面図であり、図3(c)は投影LCD19とCCD22との配置関係を説明するための正面図である。
前述のように、投影部13は、図3(a)に示すように、基板16と、LEDアレイ17Aと、光源レンズ18と、投影LCD19と、投影光学系20とをパターン光の投影方向に沿って直列に備えている。
基板16は、それにLEDアレイ17Aが装着されることにより、その装着されたLEDアレイ17Aとの間において電気的な配線を行う。基板16は、例えば、アルミニウム製基板に絶縁性合成樹脂を塗布してから無電解メッキにてパターンを形成したものや、ガラスエポキシ基材をコアとする単層または多層構造の基板を使用して製作することができる。
LEDアレイ17Aは、投影LCD19に向けて放射状の光を発光する光源である。このLEDアレイ17Aにおいては、基板16上に複数個のLED(発光ダイオード)17が、図3(b)に示すように、千鳥状配列のもとに、銀ペーストを介して接着されている。それら基板16と複数個のLED17とは、ボンディングワイヤを介して電気的に結線されている。複数個のLED17を千鳥状に配列することによる効果は、後に図4を参照して詳細に説明する。
このように、本実施形態においては、投影部13の光源として複数個のLED17が使用されているため、光源として白熱電球、ハロゲンランプ等が使用される場合に比べて、電気が光に変換される電気光変換効率の向上や、赤外線や紫外線の発生の抑制を容易に行い得る。よって、画像入出力装置1の節電、長寿命化、発熱抑制等を容易に図り得る。
このように、LED17はハロゲンランプ等に比べて熱線の発生率が極めて低いため、光源レンズ18や投影光学系20に合成樹脂製のレンズを採用することができる。よって、ガラス製のレンズを採用する場合に比べて、光源レンズ18および投影光学系20を安価で軽量に構成することができる。
さらに、本実施形態においては、LEDアレイ17Aを構成する各LED17が、互いに同じ色の光を発光し、具体的には、材料にAl、In、GaおよびPの4元素を用いたアンバー色を発光するように構成されている。したがって、複数色の光を発光させる場合に考慮しなければならない問題である色収差の補正を考慮する必要がなく、よって、色収差を補正するために投影光学系20に色消しレンズを採用する必要もない。その結果、投影光学系20の設計の自由度を向上させることができる。
さらに、本実施形態においては、電気光変換効率が約80[lumen/W]というように他の発光色に比べて高い4元素材料のアンバー色LEDが採用されるため、画像入出力装置1の高輝度化、節電および長寿命化を容易に図り得る。
本実施形態においては、具体的には、LEDアレイ17Aが59個のLED17によって構成され、各LED17は50[mW](20[mA],2.5[V])で駆動され、結局、59個のLED17の全体は略3[W]の消費電力で駆動される。
さらに、本実施形態においては、各LED17から発光される光が光源レンズ18および投影LCD19を通過して投影光学系20から出射する場合の光束値としての明るさが、全面照射の場合であっても25ANSIルーメン程度に設定されている。
本実施形態においては、画像入出力装置1の投影部13からの出射光の明るさがその程度に選定されるため、例えば、被写体が人や動物の顔である場合に、立体画像モードにおいて、その被写体の3次元形状を検出するためにその被写体にパターン光を投影しても、被写体に眩しさを与えずに済む。したがって、本実施形態によれば、被写体が人や動物である場合に、その被写体が目をつぶらない状態でその被写体の3次元形状を検出することが容易となる。
図3に示すように、光源レンズ18は、LEDアレイ17Aから放射状に発光される光を集光するレンズであり、その材質はアクリルに代表される光学樹脂である。
図3(a)に示すように、光源レンズ18は、複数個の凸状のレンズ部18aと、それらレンズ部18aを支持するベース部18bと、エポキシ封止材18cと、複数本の位置決めピン18dとを備えている。
図3(a)に示すように、各レンズ部18aは、ベース部18bのうちLEDアレイ17Aの各LED17に対向する位置に、ベース部18bから投影LCD19に向かって突設されている。エポキシ封止材18cは、ベース部18bのうちLEDアレイ17Aが気密に収容されるべき凹部18e内に充填され、それにより、その凹部18e内においてLEDアレイ17Aが封止される。このエポキシ封止材18cは、LEDアレイ17Aの封止機能を有するのであり、さらに、基板16と光源レンズ18とを互いに接着する機能も有する。
図3(a)に示すように、複数本の位置決めピン18dは、光源レンズ18と基板16とを相対的に位置決めするために、光源レンズ18に、その光源レンズ18から基板16に向かって突設されている。図3(b)に示すように、複数本の位置決めピン18dのうちの一部は、基板16に穿設された長穴16aに挿入される一方、残りは、基板16に穿設された真円穴16bに挿入され、それにより、基板16に光源レンズ18ががたなく正規の位置に固定される。
このように、本実施形態においては、光源レンズ18と、LEDアレイ17Aと、基板16とが、投影方向に空間的に詰めて互いに積層されているため、それら光源レンズ18等の組立体のコンパクト化および省スペース化が容易となる。
さらに、本実施形態においては、基板16が、LEDアレイ17Aを保持するという基本的な機能の他に、光源レンズ18を保持するという付随的な機能をも果たしている。したがって、本実施形態によれば、光源レンズ18を専ら保持する部品の追加を省略でき、その結果、画像入出力装置1の部品点数の削減が容易となる。
さらに、本実施形態においては、各レンズ部18aが、図3(a)に示すように、LEDアレイ17Aの各LED17に1対1の関係で正対するように配置されている。よって、各LED17から発光される放射状の光は、各LED17に対向する各レンズ部18によって効率良く集光され、図3(a)に示すように、指向性の高い放射光として投影LCD19に照射される。
このように指向性を高めたのは、投影LCD19に略垂直に光が入射すれば、その投影LCD19の面内における透過率むらが抑制されて画質が向上し得るという理由からである。
投影光学系20は、投影LCD19を通過した光を投影面または被写体に向かって投影するための複数枚のレンズである。それらレンズは、ガラス製レンズと合成樹脂製レンズとの組合せから成るテレセントリックレンズによって構成されている。テレセントリックとは、投影光学系20を通過する主光線は、入射側の空間では光軸に平行になり、射出瞳の位置は無限になる構成をいう。
投影光学系20は、上述のようにテレセントリック特性を持ち、その入射NAが0.1程度であるため、垂直±5°以内の光のみが投影光学系20の内部の絞りを通過できるように、投影光学系20の光路が規制されている。
したがって、本実施形態においては、投影光学系20のテレセントリック性により、投影LCD19を垂直±5°で通過する光のみを投影光学系20に投影し得る構成と相俟って、画質の向上を容易に図り得る。
よって、本実施形態においては、画質向上のために、各LED17からの出射光が投影LCD190に略垂直に入射するように各LED17からの光の出射角度を揃え、かつ、各LED17からの出射光のほとんどが投影光学系20に垂直±5°の入射角度範囲内で入射させることが重要である。
図3(c)に示すように、投影LCD19は、光源レンズ18を通過して集光された光に空間変調を施して、投影光学系20に向けてパターン光を出力する空間変調素子である。この投影LCD19は、具体的には、縦横比が1:1ではない板状の液晶ディスプレイ(Liquid Crystal Display)によって構成されている。
図3(c)に示すように、この投影LCD19においては、その投影LCD19を構成する複数個の画素が一平面上において千鳥状に配列されている。具体的には、この投影LCD19においては、その液晶ディスプレイの長手方向(横方向)に複数個の画素が予め定められた画素ピッチで等間隔に並んだ画素列が複数並列に配置され、かつ、互いに隣接する2つの画素列が、その画素ピッチより短い長さで、その液晶ディスプレイの長手方向にずらされている。
このように、本実施形態においては、投影LCD19を構成する複数個の画素が千鳥状に配列されているため、投影LCD19によって空間変調が施される光を投影LCD19の長手方向において前記画素ピッチの1/2のピッチで制御することができる。したがって、本実施形態によれば、細いピッチで投影パターン光を制御することができ、よって、被写体の3次元の形状を高い分解能で高精度に検出することができる。
特に、後に詳述する立体画像モードや平面化画像モードにおいては、被写体の3次元形状を検出すべく、図1に示すように、明部と暗部とが交互に並んで成るストライプ状のパターン光が被写体に向けて投影される。本実施形態においては、そのパターン光において複数本のストライプ(明部または暗部)が並ぶ方向(各ストライプの幅方向)が投影LCD19の長手方向に一致するようにパターン光が予め定義されている。したがって、パターン光において明部と暗部との境界を1/2ピッチで制御することができ、よって、同様に高精度に3次元の形状を検出することができる。
図3(c)においては、投影LCD19とCCD22とが横に並んで示されているが、それら投影LCD19とCCD22とは、紙面手前側に撮像ヘッド2の正面が存在し、紙面裏側から光が投影LCD19に入射し、紙面手間側から光がCCD22に入射してそのCCD22に被写体像が結像される状態で、配置されている。
それら投影LCD19とCCD22とは、撮像ヘッド2の内部においては、図3(c)に示すレイアウトで配置される。具体的には、それら投影LCD19とCCD22とは、投影LCD19の幅広面とCCD22の幅広面とが略同一の方向を向くように配置されている。したがって、本実施形態によれば、投影LCD19がパターン光を投影している被写体からの反射光を画像入出力装置1内においてCCD22に結像させることによって被写体の3次元形状を検出するために、投影LCD19の中心とCCD22の中心とを結ぶ一直線を、三角測量を行う際に着目される3辺のうちの1辺として利用することができる。
また、CCD22は、投影LCD19の長手方向に位置する側(画素列が延びる方向に位置する側)に配置されている。よって、特に、立体画像モードや平面化画像モードにおいて、三角測量の原理を利用して被写体の3次元形状を検出する場合には、CCD22と被写体とのなす傾きを1/2ピッチで制御することができるため、同様に高精度に被写体の3次元形状を検出することができる。
本実施形態においては、投影LCD19が画素配列として千鳥配列を採用するため、画素列において画素が並ぶ間隔と等しい間隔で複数本のストライプが並んだパターン光、すなわち、千鳥配列を利用せずに形成される複数種類の標準的なパターン光のうちストライプ間の間隔が最も狭いものよりストライプ間の間隔が狭い別のパターン光を形成することが可能となる。したがって、本実施形態によれば、標準的なパターン光の種類がn種類である場合に、(n+1)ビットの空間コードを扱うことが可能となり、このことによっても、被写体の3次元形状を検出する精度が向上する。
よって、本実施形態によれば、投影LCD19における画素ピッチ間の間隔、すなわち、投影LCD19の解像度の割に多数のビットの空間コードを扱うことが可能となる。
以下、図4を参照することにより、LEDアレイ17Aの配列をさらに詳しく説明する。図4(a)は、光源レンズ18から出射する光の3次元形状を示す側面図である。図4(b)は、1個のLED17から投影LCD19の入射面19aに入射した光の照度分布を示すグラフである。図4(c)は、LEDアレイ17Aの配列を部分的に拡大して示す正面図である。図4(d)は、複数個のLED17から投影LCD19の入射面19aに入射した複数の光の合成照度分布を示すグラフである。
図4(a)に示すように、光源レンズ18からの出射光が、半値拡がり半角θが略5°である状態で、図4(b)に示すような照度分布を有する光として、投影LCD19の入射面19aに到達するように光源レンズ18が設計されている。
また、図4(c)に示すように、複数個のLED17は、投影LCD19における画素の千鳥配列に合わせて、基板上16に千鳥状に配列されている。具体的には、複数個のLED17がピッチdで横方向に直列に並んで成るLED列が複数、ピッチdの√3/2倍と等しいピッチで縦方向に並列に並んでいる。さらに、縦方向において互いに隣接する2つのLED列は、ピッチdと等しい長さで、横方向に互いにずらされている。
すなわち、本実施形態においては、それらLED17の配列が三角格子配列とされ、いずれのLED17も、それに隣接する別のいずれのLED17からもピッチdと等しい距離離れているのである。
そして、本実施形態においては、ピッチdの長さが、1個のLED17から出射した光によって投影LCD19について与えられる照度分布の半値全幅(FWHM(Full Width Half Maximun))以下となるように、予め設定されている。
よって、本実施形態においては、光源レンズ18を通過して投影LCD19の入射面19aに到達する光の合成照度分布が、図4(d)に示すように、小さなリップルを有する略直線状のグラフで表され、その結果、投影LCD19の入射面19aの全体に略均一に光が照射される。したがって、本実施形態によれば、投影LCD19における照度むらが抑制され、その結果、画像光が投影面に高品質で投影され、さらに、パターン光が被写体に高品質で投影される。
図5には、画像入出力装置1の電気的な構成がブロック図で表されている。処理部15はコンピュータを主体として構成されており、そのコンピュータは、CPU35と、ROM36と、RAM37とを含むように構成されている。
CPU35は、ROM36に記憶されたプログラムをRAM37を利用しつつ実行することにより、レリーズボタン8の操作状態の検出、CCD22からの画像データの取込み、その取り込まれた画像データの転送および格納、モード切替スイッチ9の操作状態の検出等の各種処理を行う。
ROM36には、カメラ制御プログラム36aと、パターン光撮影プログラム36bと、輝度画像生成プログラム36cと、コード画像生成プログラム36dと、コード境界抽出プログラム36eと、レンズ収差補正プログラム36fと、三角測量演算プログラム36gと、原稿姿勢演算プログラム36hと、平面変換プログラム36iとが格納されている。
カメラ制御プログラム36aは、画像入出力装置1全体の制御を実行するために実行され、その制御には、図6にフローチャートで概念的に表されているメイン処理が含まれる。
パターン光撮影プログラム36bは、原稿Pの3次元形状を検出するためにパターン光が投影された被写体を撮像してパターン光有画像を取得し、さらに、パターン光が投影されていない被写体を撮像してパターン光無画像を取得するために実行される。
輝度画像生成プログラム36cは、パターン光撮影プログラム36bの実行によって同じ被写体について取得されたパターン光有画像とパターン光無画像との差分をとり、パターン光が投影された被写体を表す輝度画像を生成するために実行される。
本実施形態においては、同じ被写体に対して複数種類のパターン光が時系列に順次投影され、各パターン光が投影されるごとに被写体が撮像される。そのようにして撮像された複数枚のパターン光有画像の各々とパターン光無画像との差分がとられ、その結果、パターン光の種類と同数の輝度画像が生成される。
コード画像生成プログラム36dは、輝度画像生成プログラム36cの実行によって生成された複数枚の輝度画像それぞれに対する閾値処理により生成される2値化画像から、各画素毎に空間コードが割り当てられたコード画像を生成するために実行される。
概略的に説明するに、このコード画像生成プログラム36dが実行されると、複数種類のパターン光のうちパターンライン間の間隔が最も狭いものが投影された被写体の輝度画像におけるパターンライン間の間隔が周期として取得され、その周期の輝度画像全体における分布が周期分布として取得される。このコード画像生成プログラム36dが実行されると、さらに、その取得された周期分布に従ってサイズが変化する可変窓が各パターン光ごとの輝度画像にローカルに設定されることにより、前記可変窓を用いたフィルタ処理により輝度画像全体に対して閾値がローカルに算出されて設定される。そのようにして設定された閾値の分布を表す閾値画像と各パターン光ごとの輝度画像との関係から、各パターン光ごとに2値化画像が生成される。
コード境界抽出プログラム36eは、コード画像生成プログラム36dの実行によって生成されたコード画像と、輝度画像生成プログラム36cの実行によって生成された輝度画像とを利用することにより、コードの境界座標をサブピクセル精度で求めるために実行される。
レンズ収差補正プログラム36fは、コード境界抽出プログラム36eの実行によってサブピクセル精度で求められたコードの境界座標に対して、撮像光学系20の収差補正を行うために実行される。
三角測量演算プログラム36gは、レンズ収差補正プログラム36fの実行によって収差補正が行われたコードの境界座標から、その境界座標に関する実空間の3次元座標を演算するために実行される。
原稿姿勢演算プログラム36hは、三角測量演算プログラム36gの実行によって演算された3次元座標から原稿Pの3次元形状を推定して求めるために実行される。
平面変換プログラム36iは、原稿姿勢演算プログラム36hの実行によって演算された原稿Pの3次元形状に基づき、原稿Pをその正面から撮像した場合に生成される如き平面化画像を生成するために実行される。
図5に示すように、RAM37には、パターン光有画像格納部37aと、パターン光無画像格納部37bと、輝度画像格納部37cと、コード画像格納部37dと、コード境界座標格納部37eと、収差補正座標格納部37gと、3次元座標格納部37hと、原稿姿勢演算結果格納部37iと、平面変換結果格納部37jと、投影画像格納部37kと、ワーキングエリア37lと、周期分布格納部37pと、閾値画像格納部37qと、2値化画像格納部37rとがそれぞれ記憶領域として割り当てられている。
パターン光有画像格納部37aは、パターン光撮影プログラム36bの実行によって撮像されたパターン光有画像を表すパターン光有画像データを格納する。パターン光無画像格納部37bは、パターン光撮影プログラム36bの実行によって撮像されたパターン光無画像を表すパターン光無画像データを格納する。
輝度画像格納部37cは、輝度画像生成プログラム36cの実行によって生成された輝度画像を表すデータを格納する。コード画像格納部37dは、コード画像生成プログラム36dの実行によって生成されたコード画像を表すデータを格納する。コード境界座標格納部37eは、コード境界抽出プログラム36eの実行によってサブピクセル精度で抽出された各コードの境界座標を表すデータを格納する。
収差補正座標格納部37gは、レンズ収差補正プログラム36fの実行によって収差補正が行われたコードの境界座標を表すデータを格納する。3次元形状座標格納部37hは、三角測量演算プログラム36gの実行によって演算された実空間の3次元座標を表すデータを格納する。
原稿姿勢演算結果格納部37iは、原稿姿勢演算プログラム36hの実行によって演算された原稿Pの3次元形状に関するパラメータを格納する。平面変換結果格納部37jは、平面変換プログラム36iの実行によって取得された平面変換結果を表すデータを格納する。投影画像格納部37kは、投影部13が被写体に投影する投影画像すなわちパターン光に関する情報を格納する。ワーキングエリア37lは、CPU15がその動作のために一時的に使用するデータを格納する。
周期分布格納部37p、閾値画像格納部37qおよび2値化画像格納部37rは、コード画像生成プログラム36dの実行によって取得された周期分布、閾値画像および2値化画像を表すデータをそれぞれ格納する。
ここで、図6を参照することにより、カメラ制御プログラム36aを説明する。このカメラ制御プログラム36aが前記コンピュータによって実行されることにより、前述のメイン処理が実行される。
このメイン処理においては、まず、ステップS601(以下、単に「S601」で表す。他のステップについても同じとする。)において、バッテリ26を含む電源がONされる。次に、S602において、処理部15、周辺インターフェイス等が初期化される。
続いて、S603において、モード切替スイッチ9の操作状態を判別するためにキースキャンが行われ、その後、S604において、モード切替スイッチ9の操作によってデジカメモードが選択されたか否かが判定される。今回は、デジカメモードが選択されたと仮定すれば、判定がYesとなり、S605において、後述のデジカメ処理が実行される。
これに対し、今回は、モード切替スイッチ9の操作によってデジカメモードが選択されなかったと仮定すれば、S604の判定がNoとなり、S606において、モード切替スイッチ9の操作によってwebcamモードが選択されたか否かが判定される。今回は、webcamモードが選択されたと仮定すれば、判定がYesとなり、S607において、後述のwebcam処理が実行される。
これに対し、今回は、モード切替スイッチ9の操作によってwebcamモードが選択されなかったと仮定すれば、S606の判定がNoとなり、S608において、モード切替スイッチ9の操作によって立体画像モードが選択されたか否かが判定される。今回は、立体画像モードが選択されたと仮定すれば、判定がYesとなり、S609において、後述の立体画像処理が実行される。
これに対し、今回は、モード切替スイッチ9の操作によって立体画像モードが選択されなかったと仮定すれば、S608の判定がNoとなり、S610において、モード切替スイッチ9の操作によって平面化画像モードが選択されたか否かが判定される。今回は、平面化画像モードが選択されたと仮定すれば、判定がYesとなり、S611において、後述の平面化画像処理が実行される。
これに対し、今回は、モード切替スイッチ9の操作によって平面化画像モードが選択されなかったと仮定すれば、S610の判定がNoとなり、S612において、モード切替スイッチ9の操作によってオフモードが選択されたか否かが判定される。今回は、モード切替スイッチ9の操作によってオフモードが選択されたと仮定すれば、判定がYesとなり、直ちに今回のメイン処理が終了するが、今回は、モード切替スイッチ9の操作によってオフモードが選択されなかったと仮定すれば、判定がYesとなり、S603に戻る。
図7には、図6におけるS605がデジカメ処理ルーチンとしてフローチャートで概念的に表されている。このデジカメ処理ルーチンの実行により、撮像部14によって撮像された画像を取得するデジカメ処理が実行される。
このデジカメ処理においては、まず、S701において、CCD22に高解像度設定信号が送信される。これにより、高品質の撮像画像をユーザに提供することができる。
次に、S702において、ファインダ画像、すなわち、ファインダ6を通して見える範囲の画像と同じ画像がモニタLCD10に表示される。よって、ユーザは、ファインダ6をのぞき込むことなく、モニタLCD10に表示された画像を見ることにより、実際の撮像前に、撮像画像(撮像範囲)を確認することができる。
続いて、S703aにおいて、レリーズボタン8の操作状態がスキャンされ、その後、S703bにおいて、そのスキャン結果に基づき、レリーズボタン8が半押し状態にあるか否かが判定される。半押し状態にあれば、判定がYesとなり、S703cにおいて、オートフォーカス(AF)および自動露出(AE)機能が起動し、それにより、ピント、絞りおよびシャッタスピードが調節される。S703bにおいては、レリーズボタン8が半押し状態に移行しているか否かが判定され、移行していなければ、このS703bの判定がNoとなってS703aに戻る。
S703cの実行後、S703dにおいて、再度、レリーズボタン8の操作状態がスキャンされ、その後、S703eにおいて、そのスキャン結果に基づき、レリーズボタン8が全押し状態にあるか否かが判定される。このS703eにおいては、レリーズボタン8が全押し状態に移行しているか否かが判定され、移行していなければ、このS703eの判定がNoとなってS703aに戻る。
レリーズボタン8が半押し状態から全押し状態に移行すれば、S703eの判定がYesとなり、S704において、フラッシュモードが選択されているか否かが判定される。フラッシュモードが選択されていれば、判定がYesとなり、S705において、フラッシュ7が発光させられるが、フラッシュモードが選択されていなければ、S704の判定がNoとなり、S705がスキップされる。
いずれにしても、その後、S706において、被写体が撮像される。続いて、S707において、被写体が撮像された撮像画像がCCD22からキャッシュメモリ28に転送されて記憶される。その後、S708において、キャッシュメモリ28に記憶された撮像画像がモニタLCD10に表示される。本実施形態においては、撮像画像がキャッシュメモリ28に転送されるため、メインメモリに転送される場合に比較して、撮像画像を高速にモニタLCD10に表示させることができる。続いて、S709において、その撮像画像が外部メモリ27に格納される。
その後、S710において、モード切替スイッチ9の操作状態に変化が無いか否かが判定される。変化が無ければ、判定がYesとなり、S702に戻るが、変化が有れば、S710の判定がNoとなり、今回のデジカメ処理が終了する。
図8には、図6におけるS607がwebcam処理ルーチンとしてフローチャートで概念的に表されている。このwebcam処理ルーチンの実行により、撮像部14によって撮像された撮像画像(静止画および動画を含む。)を外部ネットワークに送信するwebcam処理が実行される。本実施形態においては、撮像画像として動画が、図示しない外部ネットワーク(例えば、インターネット)に送信される場合が想定されている。
このwebcam処理においては、まず、S801において、CCD22に低解像度設定信号が送信される。次に、S802において、オートフォーカスおよび自動露出の機能が起動し、それにより、ピント、絞りおよびシャッタスピードが調節される。続いて、S803において、被写体が撮像される。
その後、S804において、撮像された撮像画像がCCD22からキャッシュメモリ28に転送され、続いて、S805において、その撮像画像がモニタLCD10に表示される。
その後、S806において、その撮像画像が投影画像格納部37kに格納される。続いて、S807において、後述の投影処理が実行され、それにより、投影画像格納部37kに格納されている画像が投影面に投影される。
その後、S808において、キャッシュメモリ28に転送された撮像画像が図示しないRFインターフェイスを介して前記外部ネットワークに送信される。
続いて、S809において、モード切替スイッチ9の操作状態に変化が無いか否かが判定される。変化が無ければ、判定がYesとなり、S802に戻るが、変化が有れば、S809の判定がNoとなり、今回のwebcam処理が終了する。
図9には、図8におけるS806が投影ルーチンとしてフローチャートで概念的に表されている。この投影ルーチンの実行により、投影画像格納部37kに格納されている画像を投影部13から投影面に投影する投影処理が実行される。
この投影処理においては、まず、S901において、投影画像格納部37kに画像が格納されているか否かが判定される。格納されていない場合には、判定がNoとなり、直ちに今回の投影処理が終了する。これに対し、格納されている場合には、判定がYesとなり、S902において、投影画像格納部37kに格納されている画像が投影LCDドライバ30に転送される。続いて、S903において、その格納されている画像に応じた画像信号が投影LCDドライバ30から投影LCD19に送出され、それにより、その投影LCD19に画像が表示される。
その後、S904において、光源ドライバ29が駆動され、続いて、S905において、その光源ドライバ29からの電気信号によってLEDアレイ17Aが発光する。以上で、今回の投影処理が終了する。
LEDアレイ17Aから発光した光は、光源レンズ18を経て投影LCD19に到達する。その投影LCD19においては、投影LCDドライバ30から送信された画像信号に応じた空間変調が施され、その結果、投影LCD19への入射光が画像信号光に変換されて出力される。その投影LCD19から出力される画像信号光は、投影光学系20を経て投影面に投影画像として投影される。
図10には、図6におけるS609が立体画像処理ルーチンとしてフローチャートで概念的に表されている。この立体画像処理ルーチンの実行により、被写体の3次元形状を検出し、その立体画像としての3次元形状検出結果画像を取得し、表示し、投影する立体画像処理が実行される。
この立体画像処理においては、まず、S1001において、CCD22に高解像度設定信号が送信される。次に、S1002ないしS1003hが、図7におけるS702ないしS706と同様にして実行される。
具体的には、S1002において、モニタLCD10にファインダ画像が表示される。続いて、S1003aにおいて、レリーズボタン8の操作状態がスキャンされ、その後、S1003bにおいて、そのスキャン結果に基づき、レリーズボタン8が半押し状態にあるか否かが判定される。半押し状態にあれば、判定がYesとなり、S1003cにおいて、オートフォーカス(AF)および自動露出(AE)機能が起動する。
S1003cの実行後、S1003dにおいて、再度、レリーズボタン8の操作状態がスキャンされ、その後、S1003eにおいて、そのスキャン結果に基づき、レリーズボタン8が全押し状態にあるか否かが判定される。
レリーズボタン8が半押し状態から全押し状態に移行すれば、S1003eの判定がYesとなり、S1003fにおいて、フラッシュモードが選択されているか否かが判定される。フラッシュモードが選択されていれば、判定がYesとなり、S1003gにおいて、フラッシュ7が発光させられるが、フラッシュモードが選択されていなければ、S1003fの判定がNoとなり、S1003gがスキップされる。いずれにしても、その後、S1003hにおいて、被写体が撮像される。
続いて、S1006において、後述の3次元形状検出処理が実行され、それにより、被写体の3次元形状が検出される。
その後、S1007において、その3次元形状検出処理による3次元形状検出結果が外部メモリ27に格納され、続いて、S1008において、その3次元形状検出結果が3次元コンピュータグラフィック画像としてモニタLCD10に表示される。ここに、3次元形状検出結果とは、後述の空間コード画像において検出される複数の空間コード境界画像を3次元座標に変換した結果取得される頂点座標の集合体を意味する。
その後、S1009において、その3次元形状検出結果としての複数個の計測頂点を通過するポリゴン図形が想定され、その想定されたポリゴン図形のサーフェスを表現する立体画像(3次元のコンピュータグラフィック画像)としての3次元形状検出結果画像が投影画像格納部37kに格納される。この投影画像の生成処理については、後に図18を参照して説明する。
続いて、S1010において、図8におけるS806の投影処理と同様な投影処理が実行される。
その後、S1011において、モード切替スイッチ9の操作状態に変化が無いか否かが判定される。変化が無ければ、判定がYesとなり、S1002に戻るが、変化が有れば、S1011の判定がNoとなり、今回の立体画像処理が終了する。
図10のS1006において実行される3次元形状検出処理においては、空間コード化法を用いて被写体の3次元形状が検出される。以下、図11を参照することにより、空間コード化法を説明する。図11(a)には、3次元座標系XYZが設定された実空間をY座標軸方向に見た図と、X座標軸方向に見た図と、純2進コードによる3種類のマスクA,BおよびCのパターンとが示されている。これに対し、図11(b)には、グレイコードによる3種類のマスクA,BおよびCのパターンと、複数個の空間コードとが示されている。
図11(a)に示すように、空間コード化法は、観察対象である被写体の像である観察画像と、その被写体に光(拡散光)を投影する投影光源(例えば、プロジェクタ)と、被写体を観測する観測器(例えば、カメラ)との間に三角測量の原理を適用することによって被写体の3次元形状を検出する手法の一種である。この空間コード化法においては、図11(a)に示すように、投影光源L(PROJECTOR)と観測器O(CAMERA)とが距離dだけ離して設置される。したがって、観測空間内の任意の点Pは、投影光の向きψと、観測器Oから見える向きθとが計測できれば、特定できる。この空間コード化法においては、さらに、被写体表面上の任意の位置を特定するため、観測空間が複数個の細長い扇状領域に分割されてコード化されている。
被写体表面上の任意の位置のコードを観測画像から取得するために、複数種類のストライプ状のパターン光が時系列的に被写体に投影される。パターン光の切換えは、パターン光の種類と同数のマスクを用意し、マスクを機械的に交換する機械式として実施したり、電気光学効果を有する材料を用いてストライプ状の光シャッタ列を構成し、その光シャッタ列における各ストライプの光透過率を電子的に制御する電子式として実施することが可能である。もっとも、本実施形態においては、後者の電子式が採用され、具体的には、投影LCD19によって複数種類のマスクパターンが時系列的に再現すなわち表示される。
図11(a)に示す例においては、投影光源Lと被写体(四角柱と円柱)との間にマスクが交換可能に設置される。この例においては、パターンが互いに異なる3種類のマスクA,BおよびCが用意されており、よって、3種類のパターン光が時系列的に被写体に投影される。
各マスク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)」としてコード化される。
このように、各扇状領域には、投影光源Lからの向きψに相当するコードが割り当てられる。一方、各パターン光が投影された被写体の明暗パターンを各マスクごとに2値化してメモリの各ビットプレーンを構成すれば、各ビットプレーン画像の横方向の位置(アドレス)は、観測器Oからの向きθに相当する。また、3枚のマスクにそれぞれ対応する3枚のビットプレーンのメモリ内容を各ビット(各画素)ごとに注目すれば、各画素ごとに3ビットのコードが取得される。このコードから、各扇状領域の投影光源Lからの向きψが特定される。そして、距離dが既知である状況において、向きψおよびθが特定されれば、三角測量の原理により、被写体表面上の注目点の3次元座標が特定される。
図11(a)には、マスクA,BおよびCの如き複数のマスクを用いることにより、空間を純2進コードを用いてコード化する例が示されているが、図11(b)には、マスクA,BおよびCの如き複数のマスクを用いることにより、隣接するコード間のハミング距離が常に1であるグレイコードを空間コードとして用いて空間をコード化する例が示されている。
本実施形態においては、前述の3次元形状検出処理において、純2進コードによる空間コード化法を採用しても、グレイコードによる空間コード化法を採用してもよい。
この空間コード化法の詳細は、例えば、佐藤宏介、他1名、「空間コード化による距離画像入力」、電子通信学会論文誌、85/3Vol.J 68−D No3 p369〜375に詳細に開示されている。
図12(a)には、図10におけるS1006が3次元形状検出処理ルーチンとしてフローチャートで概念的に表されている。
この3次元形状検出処理ルーチンにおいては、まず、S1210において、撮像処理が実行される。この撮像処理が実行されれば、例えば、図11(b)に示す複数枚のグレイコードのマスクパターンを利用して投影部13からストライプ状のパターン光(図1参照)が時系列的に被写体に投影される。さらに、複数種類のパターン光が投影されている被写体をそれぞれ撮像した複数枚のパターン光有画像と、パターン光が投影されていない同じ被写体を撮像した1枚のパターン光無画像とが取得される。
撮像処理が終了すると、S1220において、3次元計測処理が実行される。この3次元計測処理が実行されると、上述の撮像処理によって取得された複数枚のパターン光有画像と1枚のパターン光無画像とが利用されて、実際に被写体の3次元形状が計測される。この3次元計測処理が終了すると、今回の3次元形状検出処理が終了する。
図12(b)には、図12(a)におけるS1210が撮像処理サブルーチンとしてフローチャートで概念的に表されている。
この撮像処理サブルーチンにおいては、まず、S1211において、パターン光撮影プログラム36aの実行により、投影部13からパターン光を被写体に投影することなく、撮像部14によって被写体を撮像することにより、1枚のパターン光無画像が取得される。その取得されたパターン光無画像はパターン光無画像格納部37bに格納される。
次に、S1212において、パターン光を形成するために使用されるマスクパターンの番号を表すパターン番号PNが0に初期化される。続いて、S1213において、そのパターン番号PNの現在値が最大値PNmaxより小さいか否かが判定される。その最大値PNmaxは、使用されるマスクパターンの合計数に応じて決定される。例えば、8種類のマスクパターンが使用される場合には、最大値PNmaxが8に設定される。
今回は、パターン番号PNの現在値が最大値PNmaxより小さいと仮定すれば、S1213の判定がYesとなり、その後、S1214において、使用される複数種類のマスクパターンのうち、パターン番号PNの現在値と等しい番号が付されたPN番目のマスクパターンが投影LCD19に表示される。このS1214においては、さらに、そのPN番目のマスクパターンによって形成されるPN番目のパターン光が被写体に投影される。続いて、S1215において、そのPN番目のパターン光が投影されている被写体が撮像部14によって撮像される。
その撮像により、PN番目のパターン光が投影されている被写体を撮像したPN番目のパターン光有画像が取得される。その取得されたパターン光有画像は、対応するパターン番号PNに関連付けてパターン光有画像格納部37aに格納される。
その撮像が終了すると、S1216において、PN番目のパターン光の投影が終了し、続いて、S1217において、次のパターン光を投影すべく、パターン番号PNが1だけインクリメントされ、その後、S1213に戻る。
S1213ないしS1217の実行がパターン光の種類の数と同数回繰り返された結果、パターン番号PNの現在値が最大値PNmaxより小さくはない値になると、S1213の判定がNoとなり、今回の撮像処理が終了する。したがって、一回の撮像処理により、1枚のパターン光無画像と、最大値PNmaxと同数枚のパターン光有画像とが取得されることになる。
図12(c)には、図12(a)におけるS1220が3次元計測処理サブルーチンとしてフローチャートで概念的に表されている。
この3次元計測処理サブルーチンにおいては、まず、S1221において、輝度画像生成プログラム36cの実行により、輝度画像が生成される。このS1221においては、輝度値が、YCbCr空間におけるY値として定義されており、各画素のRGB値より、Y=0.2989・R+0.5866・G+0.1145・Bなる式を用いて計算される。各画素についてY値を求めることにより、複数枚のパターン光有画像と1枚のパターン光無画像とに関する複数枚の輝度画像が生成される。それら生成された輝度画像は、パターン番号PNに関連付けて輝度画像格納部37cに格納される。ただし、輝度値の算出に用いられる式は、上記式に限定されるものではなく、他の式に適宜変更することが可能である。
次に、S1222において、コード画像生成プログラム36dが実行される。このコード画像生成プログラム36dが実行されると、生成された複数枚の輝度画像が前述の空間コード化法を利用して組み合わされることにより、各画素ごとに空間コードが割り当てられたコード画像が生成される。そのコード画像は、輝度画像格納部37cに格納された複数種類のパターン光有画像に関する輝度画像と、各画素ごとに輝度閾値が割り当てられた閾値画像との比較による2値化処理によって生成される。その生成されたコード画像はコード画像格納部37dに格納される。
図13には、このコード画像生成プログラム36dの詳細がフローチャートで概念的に表されている。以下、図13を参照することにより、このコード画像生成プログラム36dを時系列的に説明するが、それに先立ち、図14ないし図21を参照することにより、原理的に説明する。
本実施形態においては、同じ被写体(3次元対象物)につき、複数種類のパターン光のもとにそれぞれ複数枚の輝度画像が生成される。それらパターン光はいずれも、明部、すなわち、幅を有する明るいパターンラインと、暗部、すなわち、幅を有する暗いパターンラインとが交互に一定の周期で繰り返すように形成される。それらパターン光は、その周期に関して互いに異なっており、それぞれ、パターン番号PNを有するパターン光と称される。それらパターン光のうち最も短い周期を有するパターン光が、パターン番号PNが0であるパターン光であり、最も長い周期を有するパターン光が、パターン番号PNが(PNmax−1)であるパターン光である。
いずれの輝度画像も、対応するパターン光のもとに取得されるため、例えば図14に示すように、明部としての明るいパターンラインと、暗部としての暗いパターンラインとが交互に並んで成るパターン画像として形成される。パターンライン間の間隔すなわち周期は、画像入出力装置1と被写体との間における相対的な幾何学的関係(位置および向きに関する関係)に依存するため、各輝度画像内のすべての位置において一定であるとは限らない。複数種類のパターン光のもとにそれぞれ取得される複数枚の輝度画像は、対応するパターン光のパターン番号PNを用いて特定される。
本実施形態においては、それら複数枚の輝度画像のうちのいずれかが代表パターン画像に選択される。その代表パターン画像の一典型例は、複数種類のパターン光のうちパターンライン周期が最小であるものに対応する輝度画像であり、これは、パターン番号PNが0である輝度画像である。図14には、パターン番号PNが0である輝度画像が代表パターン画像の一例として示されている。
図15には、パターン光が投影された被写体を撮像した輝度画像の一例において輝度値が画素列の方向において空間的にかつ周期的に変化する様子が説明の便宜上強調されて実線グラフで表されている。
図15には、さらに、その実線グラフにそれの複数個の下ピーク点(最低輝度点)において接する包絡線が二点鎖線グラフで表されている。この包絡線は、同じ被写体を無照射状態で撮像した輝度画像における輝度値、すなわち、被写体の背景光の輝度値の空間的変化を表している。このような包絡線が存在する輝度画像については、各画素の輝度値を閾値処理によって正確に2値化するためには、閾値を画素位置に応じて変化させることが望ましい。すなわち、輝度画像の実際の輝度値変化をトラッキングすることによって閾値を適応的に変化させることが望ましいのである。
このような知見に基づき、本実施形態においては、輝度画像に対してフィルタ処理を行うことによって閾値を算出するフィルタ窓がローカルに設定され、フィルタ処理されることによりその位置に適した閾値が、輝度画像に対してローカルに設定される。輝度画像のうちのあるローカル位置に窓が設定されれば、輝度画像を構成する複数本のパターンラインのうちその窓内に存在する画素の輝度値が取り出されて参照されることにより、そのあるローカル位置に対応する閾値が設定される。
本実施形態において使用される窓は、方形窓である。この方形窓を採用する場合には、その方形窓内に存在する複数本のパターンラインを構成する画素の輝度値が取り出され、それら輝度値に対して同一の重み係数が用いられて閾値が算出される。その重み係数により、方形窓の窓関数が定義される。
さらに、方形窓を採用する場合には、その方形窓の、パターンラインが延びるライン方向におけるライン方向サイズに応じて、その方形窓内においてライン方向に存在する画素の数を可変とすることができる。一方、その方形窓の、複数本のパターンラインが列を成して並ぶ列方向における列方向サイズに応じて、その方形窓内において列方向に存在するパターンラインの数も画素の数も可変とすることができる。
したがって、方形窓を採用する場合には、その方形窓の列方向サイズにより、輝度画像に窓を設定することによってその輝度画像から算出される閾値が変化することになる。よって、その閾値を適応的に変化させることが必要である場合には、方形窓の列方向サイズを適応的に変化させればよい。
もっとも、本実施形態において採用される窓を、ハニング窓、ハミング窓等、非方形窓に変更することが可能である。この非方形窓を採用する場合には、その非方形窓を定義する窓関数中の係数(例えば、可変係数のマトリクス)により、輝度画像に対して設定された窓を用いたフィルタ処理によってその輝度画像から算出される閾値の特性を変化させることができる。例えば、非方形窓を採用する場合には、その非方形窓のライン方向サイズも列方向サイズも固定しても、上記係数を適応的に変化させれれば、輝度画像に対して設定された非方形窓を用いたフィルタ処理によってその輝度画像から算出される閾値の特性を変化させることができる。
本実施形態においては、方形窓として構成される窓のサイズが、その窓内に存在するパターンラインの数がそれらパターンラインの間隔すなわち周期(例えば、明るいパターンラインが繰り返される周期)の整数倍であるように設定することが望ましい。すなわち、窓内に、明るいパターンラインと暗いパターンラインとが同数ずつ存在するように窓のサイズを設定することが望ましいのである。このように設定すれば、窓内に存在する複数本のパターンラインの輝度値の平均値を算出することにより、望ましい閾値を高精度に取得することができる。
しかしながら、同じ輝度画像上であっても、パターンラインの周期は場所によって異なる可能性がある。そのため、窓のサイズを固定した場合には、窓内に存在するパターンラインの数が場所によって変動してしまい、閾値の設定精度が低下してしまう。
図14には、ある輝度画像において、それを構成する複数本のパターンラインが列を成す列方向に並んだ2つの部分がそれぞれ「A」および「B」という記号で示されている。図16(a)には、図14中、部分Aにおける複数本のパターンラインのうちの一部が取り出されて拡大されて示されている。その部分Aにおいては、同色のパターンラインがある周期で並んでいる。これに対し、図16(b)には、図14中、部分Bにおける複数本のパターンラインのうちの一部が取り出されて拡大されて示されている。その部分Bにおいては、同色のパターンラインが正規の周期とは異なる周期、具体的には、上記ある周期より短い周期で並んでいる。
図16(a)および(b)には、本実施形態との比較例として、サイズが固定された固定窓であって、図14に示す輝度画像に対して設定されるものが、説明の便宜上可視化されて示されている。図16(a)には、図14における部分Aが部分的に拡大して示されており、この部分Aにおいては、固定窓内に存在する同色のパターンラインの数がほぼちょうど2本である。これに対し、図16(b)には、図14における部分Bが部分的に拡大して示されており、この部分Bにおいては、固定窓内に存在する同色のパターンラインの数が2本よりは多く、3本よりは少ない。
そのため、図16(a)に示す部分Aについては、固定窓によって捕捉される複数個の画素の輝度値の平均値として算出された閾値が、図17にグラフで表すように、輝度画像の列方向に関して安定している。これに対し、図16(b)に示す部分Bについては、窓によって捕捉される複数個の画素の輝度値の平均値として算出された閾値が、図18にグラフで表すように、輝度画像の列方向に関して振動している。暗部または明部の包絡の形状に合った閾値が算出されることが望ましく、閾値の算出値が振動することは、通常、閾値の算出値が誤差を含んでいることを意味し、よって、そのような閾値の算出値を用いて輝度画像を2値化しても、その2値化の精度を向上させることは困難である。
本実施形態においては、複数枚の輝度画像のうち、パターンラインの周期が最小であるパターン光のもとに撮像されたもの、すなわち、パターン番号PNが0である輝度画像が代表パターン画像として選択される。さらに、本実施形態においては、図19に示すように、その代表パターン画像に対してローカルに設定される窓VWが、それのサイズが可変である可変窓として構成されている。それにより、その可変窓VWのサイズが、代表パターン画像の実際のパターンライン周期に適応して変化させられる。
したがって、本実施形態によれば、図19に示すように、代表パターン画像におけるパターンライン周期が列方向位置に応じて変動しても、それに追従するように可変窓VWのサイズが変更され、その結果、パターンライン周期の変動にもかかわらず、可変窓VW内に存在する明部と暗部のパターンラインの数が一定に維持される。本実施形態においては、代表パターン画像に対して可変窓VWが設定される各ローカル位置ごとに閾値THが取得される。各ローカル位置ごとの閾値THは、各ローカル位置に最適なサイズを有する可変窓VWのもとに精度よく取得されることになる。
また、明部と暗部のパターンラインの数が一定に維持されるような可変窓VWのサイズは、パターン番号PNが0である輝度画像において最小となる。したがって、パターン番号PNが0である輝度画像を代表パターン画像として選択することにより、最小の可変窓VWのサイズが可能になり、可変窓VWを用いた後のフィルタ処理の計算負荷を抑えることが可能になる。
本実施形態においては、その可変窓VWが、サイズが可変である方形窓として構成されている。その可変窓VWのサイズは、代表パターン画像の列方向には可変であるが、ライン方向には固定であるように設定されている。
本実施形態においては、その可変窓VWのサイズ、すなわち、代表パターン画像の列方向におけるサイズが、その代表パターン画像の実際のパターンライン周期を適応的に反映するように設定される。そのため、可変窓VWのサイズを設定するために、代表パターン画像の実際のパターンライン周期分布が事前に判明していることが必要である。
よって、本実施形態においては、可変窓VWのサイズの設定に先立ち、サイズが固定された固定窓が代表パターン画像に対して設定される。その設定された固定窓によって捕捉される複数個の連続画素が複数個の注目画素として選択され、それら選択された注目画素の輝度値に基づき、代表パターン画像の実際のパターンライン周期分布が取得される。
図20には、代表パターン画像のパターンライン周期分布を取得するためにその代表パターン画像に対して固定窓が設定される様子の一例が示されている。この代表パターン画像においては、複数個の画素が、代表パターン画像のライン方向と列方向とに沿って平面的に並んでいる。
この代表パターン画像においては、列方向に並んだ複数個の画素が順次、注目画素に選定され、各注目画素ごとに固定窓が設定される。この固定窓は、256個の画素を捕捉するサイズを有しており、各注目画素を中心としてそれの前後に跨るように代表パターン画像に対して設定される。図20の例においては、注目画素の上下にそれぞれ位置する2本の矢印によって1個の固定窓が概念的に表されている。
本実施形態においては、さらに、代表パターン画像における複数個の注目画素の輝度値に対してFFT(Fast Fourier Transform:高速フーリエ変換)処理が施され、それにより、代表パターン画像の列方向において輝度値変化の周波数成分のそれぞれについて強度(例えば、パワースペクトル)が取得される。ここに、「周波数成分」は、1個の固定窓によって捕捉される複数個の注目画素を列方向に辿った場合に、輝度値の変化が反復される反復回数を意味する。
図21には、そのFFT処理による周波数分析結果の一例がグラフで表されている。図21においては、横軸に、周波数(反復回数)が取られており、一方、縦軸に、パワースペクトルが取られている。図21には、各々強度極大値を有する複数の空間周波数が存在することがグラフで表されており、これが、前記(1)項における「空間周波数特性」の一例である。
図21に示す例は、256個の画素が連続する今回の領域において、同じ輝度値が7回反復的に出現する傾向が最大であったことを示している。このことは、同色のパターンラインが、256/7、すなわち、約37画素分の長さをパターンライン周期として反復する傾向が最大であったことを意味する。したがって、前述の可変窓VWのサイズは、例えば、パターンライン周期に相当する約37画素分の長さに設定したり、パターンライン周期の2倍に相当する約73画素分の長さ、またはパターンライン周期の整数倍の長さに設定することが望ましい。
なお付言するに、本実施形態においては、代表パターン画像のパターンライン周期を取得するためにフーリエ変換が実施されるが、フーリエ変換を用いない他のアプローチによってパターンライン周期を取得することが可能である。例えば、各注目画素ごとに、それの列方向前後近傍に位置する設定複数個の連続画素に注目し、その注目されている複数個の連続画素が持っているそれぞれの輝度値において極大値が反復的に出現する間隔を画素数を単位として求め、その求められた間隔からパターンライン周期を取得することが可能である。
さらに付言するに、本実施形態においては、代表パターン画像において列方向に連続的に並んだ複数個の連続画素のそれぞれが順次注目画素に選定され、その選定された各注目画素ごとにパターンライン周期が、代表パターン画像の輝度値分布に基づいて取得される。
これに対し、パターンライン周期を取得する別のアプローチによれば、代表パターン画像において列方向に連続的に並んだ複数個の連続画素から、少なくとも1画素おきに並んだ複数個の離散画素が選択される。それら選択された複数個の離散画素のそれぞれが順次注目画素に選定され、その選定された各注目画素ごとにパターンライン周期が、代表パターン画像の輝度値分布に基づいて取得される。複数個の連続画素のうち、注目画素として選定されなかった複数個の非注目画素のそれぞれのパターンライン周期は、各非注目画素に隣接する注目画素について取得されたパターンライン周期を参照(例えば、補間)することにより、取得される。このアプローチによれば、複数個の連続画素のすべてについてそれぞれ、いちいち複雑な演算をしなくても、パターンライン周期が取得される。
また、パラメータが可変である窓を用いる場合には、算出されたパターンライン周期分布を元に、パターンライン周期を遮断周期として、窓のパラメータが決定される。遮断周期から窓のパラメータを決定するためには、広く一般に知られているデジタルローパスフィルタ設計手法を用いればよい。
以上、図14ないし図21を参照することにより、このコード画像生成プログラム36dを原理的に説明したが、以下、図13を参照することにより、時系列的に説明する。
このコード画像生成プログラム36dにおいては、まず、S101において、パターン番号PNが0であるパターン光が投影された被写体が撮像された輝度画像が輝度画像格納部37cから、代表パターン画像として読み込まれる。
次に、S102において、その代表パターン画像につき、前記読み込まれた輝度画像に基づき、前述のFFT変換によるアプローチにより、代表パターン画像において列方向に連続的に並んだ各画素ごとにパターンライン周期が演算される。演算された複数個のパターンライン周期は各画素(各列方向画素位置)に関連付けて周期分布格納部37pに格納される。
続いて、S103において、演算された複数個のパターンライン周期に基づき、可変窓VWの特性がローカルに設定される。本実施形態においては、可変窓VWのライン方向サイズは、その可変窓VWが設定される代表パターン画像上の位置にかかわらず、変化しないように設定されるのに対し、可変窓VWの列方向サイズは、各列方向画素位置に関連付けて演算されたパターンライン周期の整数倍に相当するように設定される。
その後、S104において、代表パターン画像に対して可変窓VWが、ライン方向と列方向とに沿って平面的に、かつ、各画素に関連付けて設定される。それにより、各画素ごとに、可変窓VW内に存在する複数個の画素の輝度値の平均値がローカルな閾値として演算される。このS104においては、さらに、演算された閾値が各画素に割り当てられた閾値画像が生成される。生成された閾値画像は閾値画像格納部37qに格納される。
続いて、S105において、パターン番号PNが0に初期化され、その後、S106において、パターン番号PNの現在値が最大値PNmaxより小さいか否かが判定される。今回は、パターン番号PNの現在値が0であるため、判定がNoとなり、S107に移行する。
このS107においては、パターン番号PNの現在値と等しいパターン番号PNが割り当てられた輝度画像の輝度値と、前記生成された閾値画像の閾値とが、各画素ごとに互いに比較される。その比較結果は、各画素ごとに2値化画像に反映される。具体的には、輝度画像の輝度値が閾値より大きい場合には、「1」を表すデータが、2値化画像のうち対応する画素位置に関連付けて2値化画像格納部37rに格納され、一方、輝度画像の輝度値が閾値より大きくはない場合には、「0」を表すデータが、2値化画像のうち対応する画素位置に関連付けて2値化画像格納部37rに格納される。
その後、S108において、パターン番号PNが1だけインクリメントされる。続いて、S106に戻り、パターン番号PNの現在値が最大値PNmaxより小さいか否かが判定される。今回も、最大値PNmaxより小さい場合には、判定がNoとなり、S107に移行する。
S106ないしS108の実行がパターン光の種類の数と同数回繰り返された結果、パターン番号PNの現在値が最大値PNmaxより小さくはない値になると、S106の判定がYesとなり、S109に移行する。
このS109においては、各画素ごとに、最大値PNmaxと同数枚の2値化画像から画素値(「1」または「0」)が、パターン番号PNが0である輝度画像に対応する2値化画像から、パターン番号PNが(PNmax−1)である輝度画像に対応する2値化画像に至る順序に従って抽出され、最下位ビットLSMから最上位ビットMSBに至る順序に従って並んだ空間コードが生成される。各画素ごとの空間コードのビット数は、最大値PNmaxと同数である。各画素ごとに空間コードが生成されることにより、今回の被写体に対応する空間コード画像が生成される。生成された空間コードは、各画素位置に関連付けて空間コード格納部37dに格納される。
以上で、このコード画像生成プログラム36dの一回の実行が終了する。
その後、図12(c)におけるS1223において、コード境界抽出プログラム36eの実行により、コード境界座標検出処理が実施される。前述の空間コード化法によるコード化は、各画素単位で行われるため、実際のパターン光における明暗の境界線と、前記生成されたコード画像における空間コードの境界線(ある空間コードが割り当てられた領域と別の空間コードが割り当てられた領域との間の境界線)との間にサブピクセル精度の誤差が生ずる。そのため、このコード境界座標検出処理は、空間コードの境界座標値をサブピクセル精度で検出することを目的として実施される。
検出されたコード境界座標値はコード境界座標格納部37eに格納される。コード境界座標値は、CCD22の結像面に設定された2次元座標系であるCCD座標系ccdx−ccdyにおいて定義される。
続いて、S1224において、レンズ収差補正プログラム36fの実行により、レンズ収差補正処理が実施される。このレンズ収差補正処理は、撮像光学系21に入射した光束の実際の結像位置であってその撮像光学系21の収差の影響を受けたものを、その撮像光学系21が理想レンズであったならば結像されるはずである理想結像位置に近づくように補正する処理である。
このレンズ収差補正処理により、S1223において検出されたコード境界座標値が、撮像光学系21の歪みなどに起因した誤差が除去されるように補正される。そのようにして補正されたコード境界座標は収差補正座標格納部37gに格納される。
それらコード境界座標検出処理およびレンズ収差補正処理はいずれも、本発明を理解するために不可欠な事項ではなく、しかも、本出願人の特願2004−105426号明細書に詳細に開示されているため、それを参照することによって引用することにより、本明細書においては詳細な説明を省略する。
その後、S1225において、三角測量演算プログラム36gの実行により、三角測量の原理による実空間変換処理が実施される。この実空間変換処理が実施されれば、三角測量の原理により、前述の、CCD座標系ccdx−ccdy上のコード境界座標値であって収差補正が施されたものが、実空間に設定された3次元座標系である実空間座標系X−Y−Z上の3次元座標値に変換され、その結果、3次元形状検出結果としての3次元座標値が取得される。その取得された3次元座標値は3次元座標格納部37hに格納される。
ここで、図22を参照することにより、三角測量の原理により、CCD座標系ccdx−ccdy上の2次元座標値を実空間座標系X−Y−Z上の3次元座標値に変換する手法を詳細に説明する。
本実施形態においては、実空間座標系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離れた位置に位置するように設定されている。
この実空間座標系X−Y−Zにおいては、投影部13から原稿Pへの投影角度が「θp」で表記され、撮像光学系21の光軸と投影部13の光軸との距離が「D」で表記されている。投影角度θpは、各画素ごとに割り当てられた空間コードによって一義的に特定される。
この実空間座標系X−Y−Zにおいては、さらに、原稿P上の対象点targetからの反射光がCCD22に入射する光路が逆向きに延長された直線とX−Y平面との交点のY座標値が「Ytarget」、X座標値が「Xtarget」でそれぞれ表記されている。この実空間座標系X−Y−Zにおいては、さらに、撮像光学系21のY方向の視野が、「Yftop」で示す表記される点から「Yfbottom」で表記される点までの領域として定義され、X方向の視野が、「Xfstart」で表記される点から「Xfend」で表記される点までの領域として定義されている。さらに、CCD22のY軸方向における長さ(高さ)が「Hc」で表記され、X軸方向における長さ(幅)が「Wc」で表記されている。
このように定義された実空間座標系X−Y−Z上においては、CCD22のCCD座標系上の任意座標値(ccdx,ccdy)に対応する実空間座標系上の3次元座標値(X,Y,Z)は、
(a)原稿P上の対象点target(X,Y,Z)(図22において引出し線を付して「(a)」示す。)と、
(b)撮像光学系21の入力瞳位置(図22において引出し線を付して「(b)」示す。)と、
(c)投影光学系20の出力瞳位置(図22において引出し線を付して「(c)」示す。)と、
(d)撮像光学系21の入力瞳位置と原稿P上の対象点を通る直線とX−Y平面との交点(Xtarget,Ytarget)(図22において引出し線を付して「(d)」示す。)と、
(e)投影光学系20の出力瞳位置と原稿P上の対象点を通る直線とX−Y平面との交点(図22において引出し線を付して「(e)」示す。)と
に関する関係を示す次の5つの式を解くことにより、取得される。
(1)Y=(PPZ−Z)・tanθp−D+cmp(Xtarget)
(2)Y=−(Ytarget/VPZ)Z+Ytarget
(3)X=−(Xtarget/VPZ)Z+Xtarget
(4)Ytarget=Yftop−(ccdcy/Hc)×(Yftop−Yfbottom)
(5)Xtarget=Xfstart+(ccdcx/Wc)×(Xfend−Xfstart)
ただし、式(1)における「cmp(Xtarget)」は、撮像光学系20と投影部13とのズレを補正する関数であり、ズレが無い理想的な場合には、0とみなすことができる。
さらに、この実空間変換処理においては、実画像における任意点の座標値(ccdx,ccdy)が、理想カメラで撮像された画像における座標値(ccdcx,ccdcy)に変換される。この変換は、次の3つの式、すなわち、カメラキャリブレーションのための近似式を用いて行われる。
(6)ccdcx=(ccdx−Centx)/(1+dist/100)+Centx
(7)ccdcy=(ccdy−Centy)/(1+dist/100)+Centy
(8)hfa=arctan[(((ccdx−Centx) +(ccdy−Centy)0.5)×pixellength/focallength]
ただし、収差量dist(%)は、半画角hfa(deg)の関数fを用いてdist=f(hfa)と記述される。また、撮像光学系21の焦点距離は、「focallength(mm)」で表記され、ccd画素長は、「pixellength(mm)」で表記され、CCD22におけるレンズの中心の座標値は、(Centx,Centy)として定義されている。
この実空間変換処理においては、上述のように、CCD座標系を実空間座標系に変換する処理のみならず、3次元の空間座標系上の任意の3次元座標値(X,Y,Z)を、投影部13内の投影LCD19の面上に設定された2次元座標系であるLCD座標系上の2次元座標値(lcdcx,lcdcy)に変換する処理も実施可能である。
それら2次元座標値(lcdcx,lcdcy)と3次元座標値(X,Y,Z)との間における幾何学的な関係は、次の4つの式によって記述することができる。
(9)Y=−(Yptarget/PPZ)Z+Yptarget
(10)X=−(Xptarget/PPZ)Z+Xptarget
(11)Yptarget=Ypftop−(lcdcy/Hp)×(Xpftop−Xpfbottom)
(12)Xptarget=Xpfstart+(lcdcx/Wp)×(Xpfend−Xpfstart)
ただし、この実空間座標系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」で表記されている。
上記式(9)ないし(12)で記述される関係を利用するために、3次元座標値(X,Y,Z)をそれら式(9)ないし(12)に代入すると、LCD座標系上の2次元座標値(lcdcx,lcdcy)を算出することができる。したがって、例えば、任意の3次元形状を有する投影面上に文字、図形等の画像を投影するための投影LCD19の投影光パターンを算出することができる。
以上、図6におけるS609において実行される立体画像処理を説明したが、以下、S611において実行される平面化画像処理を説明する。
この平面化画像処理によれば、例えば、原稿Pが実際には図1に示すように湾曲している状態で撮像されたにもかかわらず、あたかも湾曲していない状態で同じ原稿Pが撮像されたかのように、実際に撮像された画像が平面化される。さらに、この平面化画像処理によれば、正面視において長方形を成す原稿Pが実際には斜めから撮像されたにもかかわらず、あたかも正面から同じ原稿Pが撮像されたかのように、実際に撮像された画像が平面化される。
この平面化画像処理は、本発明を理解するために不可欠な事項ではなく、しかも、前記特願2004−105426号明細書に詳細に開示されているため、それを参照することによって引用することにより、本明細書においては詳細な説明を省略する。
以上の説明から明らかなように、本実施形態においては、可変窓VWが前記(1)項における「空間フィルタ」の一例を構成し、図13におけるS101ないしS103が互いに共同して同項における「空間フィルタ設定工程」の一例を構成し、S104が同項における「閾値設定工程」の一例を構成し、輝度値情報が同項における「画像情報」の一例を構成しているのである。
さらに、本実施形態においては、図20を用いて説明した固定窓が前記(2)項における「窓関数」の一例を構成し、可変窓VWの列方向サイズが前記(4)項における「可変幅」の一例を構成しているのである。
さらに、本実施形態においては、図13におけるS102が前記(10)項における「空間周波数特性演算工程」の一例を構成し、代表パターン画像が前記(13)および(14)項における「選択パターン画像」の一例を構成しているのである。
さらに、本実施形態においては、図13におけるS105ないしS108が互いに共同して前記(15)における「2値化工程」の一例を構成し、S103およびS104が互いに共同して前記(16)項における「閾値画像生成工程」の一例を構成し、S107が同項における「2値化画像生成工程」の一例を構成し、図13におけるS109が前記(17)項における「空間コード画像算出工程」の一例を構成し、図12(c)におけるS1225が前記(18)項における「3次元位置情報演算工程」の一例を構成しているのである。
さらに、本実施形態においては、コード画像生成プログラム36dが前記(19)項に係るプログラムの一例を構成し、ROM36のうちそのコード画像生成プログラム36dを記憶する部分が前記(20)項に係る「記録媒体」の一例を構成しているのである。
以上、本発明の実施の形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、前記[発明の開示]の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
本発明の一実施形態に従う3次元情報取得方法を実施するのに好適な画像入出力装置1を示す外観斜視図である。 図1における撮像ヘッド2の内部構成を示す平面図である。 図2における投影部13を拡大して示す平面図、図2における光源レンズ18を拡大して示す正面図、および図2における投影LCD19およびCCD22を拡大して示す正面図である。 図3における複数個のLED17の配列を説明するための側面図、1個のLED17によって個別的に実現される照度分布を示すグラフ、それら複数個のLED17を示す正面図、およびそれら複数個のLED17により総合的に実現される合成照度分布を示グラフである。 図1に示す画像入出力装置1の電気的構成を概念的に表すブロック図である。 図5におけるカメラ制御プログラムにおいて実行されるメイン処理を概念的に表すフローチャートである。 図6におけるS605において実行されるデジカメ処理を概念的に表すフローチャートである。 図6におけるS607において実行されるwebcam処理を概念的に表すフローチャートである。 図8におけるS806において実行される投影処理を概念的に表すフローチャートである。 図6におけるS609において実行される立体画像処理を概念的に表すフローチャートである。 図10の立体画像処理において採用される空間コード化法の原理を説明するための平面図および側面図と、2組のマスクパターンを示す平面図とである。 図10におけるS1006において実行される3次元形状検出処理を3次元形状検出処理ルーチンとして概念的に表すフローチャートと、その3次元形状検出処理ルーチンにおけるS1210を撮像処理サブルーチンとして概念的に表すフローチャートと、その3次元形状検出処理ルーチンにおけるS1220を3次元計測処理サブルーチンとして概念的に表すフローチャートとである。 図12におけるS1222において実行されるコード画像生成プログラム36dを概念的に表すフローチャートである。 図13におけるS101において使用される代表パターン画像の一例を示す正面図である。 図14に示す代表パターン画像において輝度値がパターンラインの列方向において空間的に変化する様子を説明するためのグラフである。 図14における部分Aと固定窓との関係を説明するための平面図と、図14における部分Bと固定窓との関係を説明するための平面図とである。 図14における部分Aについて固定窓を用いて取得される閾値がパターンラインの列方向において空間的に変化する様子を説明するためのグラフである。 図14における部分Bについて固定窓を用いて取得される閾値がパターンラインの列方向において空間的に変化する様子を説明するためのグラフである。 図14における代表パターン画像について2値化処理のための閾値THをローカルに設定するためにその代表パターン画像に対してローカルに設定される可変窓VWを示す平面図である。 図14に示す代表パターン画像においてパターンライン周期を取得するためにその代表パターン画像に対して設定される固定窓を説明するための正面図である。 図20における固定窓を用いることにより、図14に示す代表パターン画像について取得された輝度値の周波数特性の一例を示すグラフである。 図12におけるS1225の実行によって2次元のCCD座標系と3次元の実空間座標系との間において行われる座標変換と、2次元のLCD座標系と3次元の実空間座標系との間とにおいて座標変換とを説明するための側面図および平面図である。
符号の説明
1 画像入出力装置
13 投影部
14 撮像部
18,50 光源レンズ
19 投影LCD
20 投影光学系
21 撮像光学系
22 CCD

Claims (20)

  1. パターン光が投影された対象物を撮像することによって取得されるパターン画像に基づき、前記対象物の3次元情報を取得する3次元情報取得方法であって、
    前記パターン画像の各部分における空間周波数特性に基づき、前記各部分に対応する空間フィルタを前記各部分ごとに設定する空間フィルタ設定工程と、
    前記各部分に対して前記空間フィルタを施して取得される画像情報に基づき、前記3次元情報を取得するために前記各部分に適用される閾値を前記各部分ごとに設定する閾値設定工程と
    を含む3次元情報取得方法。
  2. 前記空間フィルタ設定工程は、窓関数によって前記パターン画像から取り出された各部分の画像情報に基づき、前記空間周波数特性を前記各部分ごとに取得し、その取得された空間周波数特性に基づき、前記空間フィルタを前記各部分ごとに設定する請求項1に記載の3次元情報取得方法。
  3. 前記空間フィルタは、可変係数のマトリクスである請求項1または2に記載の3次元情報取得方法。
  4. 前記空間フィルタは、可変幅を持つ方形窓と、遮断周波数が可変であるローパスフィルタとの少なくとも一方の特性を含む請求項1ないし3のいずれかに記載の3次元情報取得方法。
  5. 前記パターン光は、明部と暗部とが交互に並んで構成されており、
    前記パターン画像は、そのパターン光に対応し、明部と暗部とが交互に並んで構成されており、
    前記空間周波数特性は、前記パターン画像の各部分において、前記明部と前記暗部との繰り返しについての空間周波数を反映する請求項1ないし4のいずれかに記載の3次元情報取得方法。
  6. 前記空間フィルタ設定工程は、前記パターン画像の各部分の前記空間周波数特性が複数個の空間周波数において強度極大値を有することを示す場合に、それら複数の強度極大値を有する空間周波数の少なくとも一つに基づき、前記空間フィルタを前記各部分ごとに設定する請求項5に記載の3次元情報取得方法。
  7. 前記空間フィルタ設定工程は、前記パターン画像の輝度分布に対してフーリエ変換を施すことにより、前記空間周波数特性を特定する請求項6に記載の3次元情報取得方法。
  8. 前記空間フィルタは、可変幅を持つ方形窓であり、
    前記空間フィルタ設定工程は、前記複数の強度極大値を有する空間周波数のうち強度が最大であるものに基づき、前記方形窓の幅を決定する窓幅決定工程を含む請求項6または7に記載の3次元情報取得方法。
  9. 前記空間フィルタは、遮断周波数が可変であるローパスフィルタであり、
    前記空間フィルタ設定工程は、前記複数の強度極大値を有する空間周波数のうち強度が最大であるものに基づき、その空間周波数より低い空間周波数に前記遮断周波数を決定する遮断周波数決定工程を含む請求項6または7に記載の3次元情報取得方法。
  10. 前記空間フィルタ設定工程は、前記パターン画像を構成する複数個の画素のそれぞれにつき、各画素を含んでそれの近傍に位置する複数個の画素の輝度情報に基づいて前記空間周波数特性を演算する空間周波数特性演算工程を含む請求項1ないし9のいずれかに記載の3次元情報取得方法。
  11. 前記空間フィルタ設定工程は、前記パターン画像を構成する複数個の画素のうち互いに離散するように選択された複数個の離散画素のそれぞれについて、各離散画素を含んでそれの近傍に位置する複数個の画素の輝度情報に基づいて前記空間周波数特性を演算する空間周波数特性演算工程を含む請求項1ないし9のいずれかに記載の3次元情報取得方法。
  12. 前記空間フィルタ設定工程は、さらに、前記複数個の画素のうち前記選択された複数個の離散画素以外の各非選択画素についての前記空間周波数特性を、前記複数個の離散画素のうち各非選択画素の周辺に位置するものについて前記空間周波数特性演算工程によって演算された前記空間周波数特性を用いて推定する空間周波数特性推定工程を含む請求項11に記載の3次元情報取得方法。
  13. 前記パターン光は、明部と暗部とが交互に並んで構成されており、
    前記パターン画像は、そのパターン光に対応し、明部と暗部とが交互に並んで構成されており、
    前記パターン光は、前記明部と前記暗部との繰り返しについての空間周波数が互いに異なる複数種類のパターン光を含み、
    前記パターン画像は、それら複数種類のパターン光にそれぞれ対応する複数種類のパターン画像を含み、
    前記空間フィルタ設定工程は、それら複数種類のパターン画像のいずれかとして選択された選択パターン画像を用いて前記空間フィルタを設定し、
    前記閾値設定工程は、前記閾値を前記複数種類のパターン画像に共通に割り当てる請求項1ないし12のいずれかに記載の3次元情報取得方法。
  14. 前記選択パターン画像は、前記複数種類のパターン光のうち、前記明部と前記暗部との繰り返しについての周期が実質的に最小であるものに対応する請求項13に記載の3次元情報取得方法。
  15. さらに、前記設定された閾値を用いることによって前記パターン画像を2値化し、それにより、そのパターン画像を2値化画像に変換する2値化工程を含む請求項1ないし14のいずれかに記載の3次元情報取得方法。
  16. 前記閾値設定工程は、前記パターン画像を構成する複数個の画素のそれぞれについて前記閾値を割り当てることにより、閾値画像を生成する閾値画像生成工程を含み、
    前記2値化工程は、その生成された閾値画像と前記パターン画像とを輝度値に関して各画素ごとに互いに比較することにより、前記2値化画像を生成する2値化画像生成工程を含む請求項15に記載の3次元情報取得方法。
  17. さらに、前記2値化画像に基づき、かつ、予め定められた空間コード化規則に従い、前記2値化画像から空間コード画像を算出する空間コード画像算出工程を含む請求項15または16に記載の3次元情報取得方法。
  18. さらに、前記算出された空間コード画像に基づき、前記対象物を構成する複数の画素のそれぞれに対応する3次元位置を前記3次元情報として演算する3次元位置演算工程を含む請求項17に記載の3次元情報取得方法。
  19. 請求項1ないし18のいずれかに記載の3次元情報取得方法を実施するためにコンピュータによって実行されるプログラム。
  20. 請求項19に記載のプログラムをコンピュータ読取り可能に記録した記録媒体。
JP2004285736A 2004-09-30 2004-09-30 3次元情報取得方法 Withdrawn JP2006098252A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004285736A JP2006098252A (ja) 2004-09-30 2004-09-30 3次元情報取得方法
PCT/JP2005/017678 WO2006035736A1 (ja) 2004-09-30 2005-09-27 3次元情報取得方法および3次元情報取得装置
US11/690,923 US20070177160A1 (en) 2004-09-30 2007-03-26 Three-dimensional object information acquisition using patterned light projection with optimized image-thresholding

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004285736A JP2006098252A (ja) 2004-09-30 2004-09-30 3次元情報取得方法

Publications (1)

Publication Number Publication Date
JP2006098252A true JP2006098252A (ja) 2006-04-13

Family

ID=36118881

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004285736A Withdrawn JP2006098252A (ja) 2004-09-30 2004-09-30 3次元情報取得方法

Country Status (3)

Country Link
US (1) US20070177160A1 (ja)
JP (1) JP2006098252A (ja)
WO (1) WO2006035736A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006112297A1 (ja) * 2005-04-15 2006-10-26 Brother Kogyo Kabushiki Kaisha 3次元形状測定装置
WO2011013373A1 (en) * 2009-07-29 2011-02-03 Canon Kabushiki Kaisha Measuring apparatus, measuring method, and program
US9030466B2 (en) 2010-10-05 2015-05-12 Empire Technology Development Llc Generation of depth data based on spatial light pattern
JP2016105108A (ja) * 2010-08-19 2016-06-09 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090008955A1 (en) * 2007-07-03 2009-01-08 Sergio Desoto System and method for automatically designing an automobile wrap
US8531650B2 (en) 2008-07-08 2013-09-10 Chiaro Technologies LLC Multiple channel locating
DE102010049310A1 (de) * 2010-10-22 2012-04-26 Weber Maschinenbau Gmbh Breidenbach Abtastvorrichtung und Verfahren zum Ermitteln der Kontur eines Objekts
US20120120051A1 (en) * 2010-11-16 2012-05-17 Shu-Ming Liu Method and system for displaying stereoscopic images
JP5822463B2 (ja) * 2010-12-28 2015-11-24 キヤノン株式会社 三次元計測装置、三次元計測方法、およびプログラム
JP2012225701A (ja) * 2011-04-18 2012-11-15 Mitsutoyo Corp 形状測定装置
DE102011102862B4 (de) * 2011-05-31 2015-07-09 Steinbichler Optotechnik Gmbh Verfahren und Vorrichtung zum Bestimmen der dreidimensionalen Koordinaten der Oberfläche eines Objekts
US8885884B2 (en) * 2011-09-19 2014-11-11 Siemens Corporation Motion analysis through geometry correction and warping
JP5986364B2 (ja) * 2011-10-17 2016-09-06 キヤノン株式会社 三次元形状計測装置、三次元形状計測装置の制御方法、およびプログラム
US10089739B2 (en) 2013-06-28 2018-10-02 Texas Instruments Incorporated Structured light depth imaging under various lighting conditions
US9562760B2 (en) 2014-03-10 2017-02-07 Cognex Corporation Spatially self-similar patterned illumination for depth imaging
US9786251B1 (en) * 2014-05-28 2017-10-10 Musco Corporation Apparatus, method, and system for visually indicating perceived glare thresholds
JP6420572B2 (ja) * 2014-06-13 2018-11-07 キヤノン株式会社 計測装置およびその方法
US10281264B2 (en) * 2014-12-01 2019-05-07 Canon Kabushiki Kaisha Three-dimensional measurement apparatus and control method for the same
US10571668B2 (en) 2015-05-09 2020-02-25 Cognex Corporation Catadioptric projector systems, devices, and methods
US10311634B2 (en) * 2015-07-21 2019-06-04 IAM Robotics, LLC Three dimensional scanning and data extraction systems and processes for supply chain piece automation
KR101828376B1 (ko) * 2016-05-13 2018-02-13 (주)칼리온 휴대용 3차원 문서 스캐닝 장치 및 방법
JP6735615B2 (ja) * 2016-06-29 2020-08-05 キヤノン株式会社 情報処理装置、情報処理装置の制御方法およびプログラム
US10699429B2 (en) 2017-08-19 2020-06-30 Cognex Corporation Coding distance topologies for structured light patterns for 3D reconstruction
CN109635619B (zh) 2017-08-19 2021-08-31 康耐视公司 用于三维重建的结构化光图案的编码距离拓扑
US10740913B2 (en) 2017-12-12 2020-08-11 Samsung Electronics Co., Ltd. Ultrafast, robust and efficient depth estimation for structured-light based 3D camera system
US11262192B2 (en) 2017-12-12 2022-03-01 Samsung Electronics Co., Ltd. High contrast structured light patterns for QIS sensors
TWI676781B (zh) * 2018-08-17 2019-11-11 鑑微科技股份有限公司 三維掃描系統
CN109961432A (zh) * 2019-03-27 2019-07-02 广东工业大学 一种滤布破损的检测方法和系统
CN111256589B (zh) * 2020-02-14 2020-12-01 长飞光纤光缆股份有限公司 一种基于丢帧检测的图像法尺寸测量补偿方法及装置
CN114295225B (zh) * 2021-12-30 2024-01-12 东南大学 基于二值条纹全局编码字校正的红外人脸测量方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01292477A (ja) * 1988-05-19 1989-11-24 Toshiba Corp 画像処理装置
JP3326961B2 (ja) * 1994-05-12 2002-09-24 日産自動車株式会社 塗装膜厚計測装置
JP3185559B2 (ja) * 1994-09-14 2001-07-11 日産自動車株式会社 表面欠陥検査装置
US6587148B1 (en) * 1995-09-01 2003-07-01 Canon Kabushiki Kaisha Reduced aliasing distortion optical filter, and an image sensing device using same
US5834761A (en) * 1996-03-22 1998-11-10 Sharp Kabushiki Kaisah Image input apparatus having a spatial filter controller
JP2921748B2 (ja) * 1996-04-30 1999-07-19 村田機械株式会社 画像認識装置
JP4536170B2 (ja) * 1996-12-27 2010-09-01 シャープ株式会社 撮像装置
JP3621288B2 (ja) * 1999-04-16 2005-02-16 シャープ株式会社 画像処理装置
US6841780B2 (en) * 2001-01-19 2005-01-11 Honeywell International Inc. Method and apparatus for detecting objects
US7151574B2 (en) * 2003-12-01 2006-12-19 Ess Technology, Inc. Optimized structure for digital separation of composite video signals
US7471843B2 (en) * 2004-02-04 2008-12-30 Sharp Laboratories Of America, Inc. System for improving an image displayed on a display

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006112297A1 (ja) * 2005-04-15 2006-10-26 Brother Kogyo Kabushiki Kaisha 3次元形状測定装置
US7630088B2 (en) 2005-04-15 2009-12-08 Brother Kogyo Kabushiki Kaisha Apparatus for measurement of 3-D shape of subject using transformable holder with stable and repeatable positioning of the same subject
WO2011013373A1 (en) * 2009-07-29 2011-02-03 Canon Kabushiki Kaisha Measuring apparatus, measuring method, and program
JP2011047931A (ja) * 2009-07-29 2011-03-10 Canon Inc 計測装置および計測方法
CN102472613A (zh) * 2009-07-29 2012-05-23 佳能株式会社 测量设备、测量方法和程序
US9046355B2 (en) 2009-07-29 2015-06-02 Canon Kabushiki Kaisha Measuring apparatus, measuring method, and program
JP2016105108A (ja) * 2010-08-19 2016-06-09 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
US9030466B2 (en) 2010-10-05 2015-05-12 Empire Technology Development Llc Generation of depth data based on spatial light pattern
US9746319B2 (en) 2010-10-05 2017-08-29 Empire Technology Development Llc Generation of depth data based on spatial light pattern

Also Published As

Publication number Publication date
WO2006035736A1 (ja) 2006-04-06
US20070177160A1 (en) 2007-08-02

Similar Documents

Publication Publication Date Title
JP2006098252A (ja) 3次元情報取得方法
US7576845B2 (en) Three-dimensional color and shape measuring device
US7672505B2 (en) Apparatus, method and program for three-dimensional-shape detection
CN106127745B (zh) 结构光3d视觉系统与线阵相机的联合标定方法及装置
US7711179B2 (en) Hand held portable three dimensional scanner
TWI668997B (zh) 產生全景深度影像的影像裝置及相關影像裝置
KR102015606B1 (ko) 멀티 라인 레이저 어레이 3차원 스캐닝 시스템 및 멀티 라인 레이저 어레이 3차원 스캐닝 방법
US7845807B2 (en) Projection apparatus and three-dimensional-shape detection apparatus
JP2005293075A5 (ja)
KR101601331B1 (ko) 물체의 모양을 삼차원 측정하기 위한 시스템 및 방법
US8199335B2 (en) Three-dimensional shape measuring apparatus, three-dimensional shape measuring method, three-dimensional shape measuring program, and recording medium
JP4379056B2 (ja) 三次元画像撮像装置および方法
US20150002649A1 (en) Device for detecting the three-dimensional geometry of objects and method for the operation thereof
JP2007271530A (ja) 3次元形状検出装置及び3次元形状検出方法
WO2009120073A2 (en) A dynamically calibrated self referenced three dimensional structured light scanner
JP2017528714A (ja) 3次元座標の光学測定のための方法および3次元測定デバイスの制御
JP4552485B2 (ja) 画像入出力装置
JP2017527812A (ja) 3次元座標の光学測定のための方法および3次元測定デバイスの較正
JP2007256116A (ja) 3次元形状検出装置
KR100332995B1 (ko) 비접촉식 3차원 스캐너 장치
US20240087167A1 (en) Compensation of three-dimensional measuring instrument having an autofocus camera
JP2005352835A (ja) 画像入出力装置
JP2007255975A (ja) 三次元情報測定装置
JP2006277023A (ja) 3次元情報取得装置、パターン光生成方法、3次元情報取得方法、プログラム及び記録媒体
WO2005122553A1 (ja) 画像入出力装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070628

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20090401