(57)【特許請求の範囲】
【請求項１】
複数の第１の特徴と、前記第１の特徴とは異なる第２の特徴とを含むパターンを計測対象物体に投影した状態で、撮像装置により撮像された撮像画像を取得する取得手段と、
前記撮像画像に基づいて、前記投影されるパターンに含まれる第１の特徴と前記撮像画像に含まれる第１の特徴とを対応づけることによって、前記撮像画像に含まれる第１の特徴を識別し、該識別された結果に基づいて前記撮像画像内の前記第１の特徴を含む領域における前記計測対象物体の形状情報の初期値を取得する初期値取得手段と、
前記撮像画像内の第１の領域の周囲の領域の形状情報の初期値に基づいて、前記第１の領域の形状情報の候補を設定する設定手段と、
前記第１の領域の前記形状情報の候補に基づいて前記パターンに前記第１の領域を投影して得られる領域を第２の領域として決定し、前記第１の領域と前記第２の領域との相関を、前記第１の領域に含まれる第２の特徴と前記第２の領域に含まれる第２の特徴とに基づいて評価する評価手段と、
前記評価手段で評価した相関に基づいて、前記第１の領域に対する形状情報を導出する導出手段とを備えることを特徴とする情報処理装置。
【請求項２】
更に、前記設定された第１の領域に対する形状情報の候補に基づいて、前記パターン内で、前記第１の領域に対応する前記第２の領域を決定する決定手段を備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記導出手段は、前記初期値取得手段で取得した形状情報の初期値に基づいて決定される、前記第１の領域と前記パターン内の領域との相関と、前記設定手段で設定した形状情報の候補に基づいて決定される、前記第１の領域と前記パターン内の領域との相関と、を比較し、前記設定手段で設定した形状情報の候補に基づいて決定される相関が高い場合に、前記第１の領域に対する形状情報の候補を導出することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記設定手段は、前記第１の領域から所定の方向にある基準領域に設定されている形状情報の初期値を、前記第１の領域に対する形状情報の候補として設定することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記設定手段は、前記第１の領域に対する形状情報の初期値と前記基準領域に対する形状情報の初期値との間の変化量に基づいて前記第１の領域から所定の方向にある基準領域に対する形状情報の初期値を変化させた値を、前記第１の領域に対する形状情報の候補として設定することを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記導出手段で導出された形状情報を初期値として、前記設定手段、前記評価手段、前記導出手段の処理を繰り返すことを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記評価手段は、前記撮像画像内の前記第１の領域内の輝度値と前記パターン内の第２の領域内の輝度値の差に基づいて、前記相関を評価することを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記形状情報は、前記計測対象物体までの距離を表す情報であることを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記形状情報は、前記計測対象物体の面の法線を表す情報を含むことを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
更に前記パターンは、前記第１の特徴を識別するための識別情報を含み、
前記初期値取得手段は、前記撮像画像に含まれる識別情報に基づいて、前記投影されるパターンに含まれる前記第１の特徴と前記撮像画像に含まれる第１の特徴とを対応づけることによって、前記撮像画像に含まれる第１の特徴を識別することを特徴とする請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記第１の特徴は線であり、
前記識別情報は前記線上または前記線の間に配置され、
前記第２の特徴は、前記線の間に配置されることを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記パターンに含まれる前記識別情報は、前記パターンに含まれる線の切れであることを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
前記パターンに含まれる前記第２の特徴は、ドット形状であることを特徴とする請求項１乃至１２のいずれか１項に記載の情報処理装置。
【請求項１４】
更に、前記パターンを前記計測対象物体に投影する投影手段と、
前記パターンが投影された計測対象物体を撮像する撮像手段とを備えることを特徴とする請求項１乃至１３のいずれか１項に記載の情報処理装置。
【請求項１５】
複数の第１の特徴と、前記第１の特徴とは異なる第２の特徴とを含むパターンを計測対象物体に投影した状態で、撮像装置により撮像された撮像画像を取得する取得工程と、
前記撮像画像に基づいて、前記投影されるパターンに含まれる第１の特徴と前記撮像画像に含まれる第１の特徴とを対応づけることによって、前記撮像画像に含まれる第１の特徴を識別し、該識別された結果に基づいて前記撮像画像内の前記線を含む領域における前記計測対象物体の形状情報の初期値を取得する初期値取得工程と、
前記撮像画像内の第１の領域の周囲の領域の形状情報の初期値に基づいて、前記第１の領域の形状情報の候補を設定する設定工程と、
前記第１の領域の前記形状情報の候補に基づいて前記パターンに前記第１の領域を投影して得られる領域を第２の領域として決定し、前記第１の領域と前記第２の領域との相関を、前記第１の領域に含まれる第２の特徴と前記第２の領域に含まれる第２の特徴とに基づいて評価する評価工程と、
前記評価工程で評価した相関に基づいて、前記第１の領域に対する形状情報を導出する導出工程とを備えることを特徴とする情報処理方法。
【請求項１６】
コンピュータを、請求項１乃至１４のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パターンを投影した計測対象物体を撮影した画像に基づいて、計測対象物体表面の三次元形状を計測する技術に関する。
【背景技術】
【０００２】
従来から、模様を含む照明パターンを投影し、それを観測した画像に基づいて距離計測を行う方法がある。ここでは、画像と照明パターンとの対応を計算し、三角測量の原理に基づいて距離を計算する。対応を求めるための計算では、画像上の各位置について照明パターン上の位置を変えてマッチングする位置の探索を行う。一般に探索の処理は、その探索範囲の広さに応じて、処理に時間がかかる。
特許文献１には、模様の要素としてドットを配置した照明パターンを用いる方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許出願公開第２０１０／０１１８１２３号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１のパターンを使う場合、画像と照明パターンとの対応を探索する処理に時間がかかる。
【０００５】
本発明は、以上の課題を鑑みたものであり、物体の三次元形状を高速に計測することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本願発明の情報処理装置は、複数の線と、前記線を識別するために該線上または線の間に配置された識別情報と、前記複数の線の間に配置された特徴を含むパターンを計測対象物体に投影した状態で、撮像装置により撮像された撮像画像を取得する取得手段と、前記撮像画像に含まれる識別情報に基づいて、前記投影されるパターンに含まれる線と前記撮像画像に含まれる線とを対応づけることによって、前記撮像画像に含まれる線を識別し、該識別された結果に基づいて前記撮像画像内の前記線を含む領域における前記計測対象物体の形状情報の初期値を取得する初期値取得手段と、前記撮像画像内の第１の領域の周囲の領域の形状情報の初期値に基づいて、前記第１の領域の形状情報の候補を設定する設定手段と、前記第１の領域の前記形状情報の候補に基づいて前記パターンに前記第１の領域を投影して得られる領域を第２の領域として決定し、前記第１の領域と前記第２の領域との相関を、前記第１の領域に含まれる特徴と前記第２の領域に含まれる特徴とに基づいて評価する評価手段と、前記評価手段で評価した相関に基づいて、前記第１の領域に対する形状情報を導出する導出手段とを備える。
【発明の効果】
【０００７】
本発明により、計測対象物体の三次元形状を高速に計測できる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態における情報処理装置で取得する照明パターンを示す図である。
【図２】第１の実施形態における情報処理装置の構成を示す図である。
【図３】第１の実施形態における情報処理のフローチャートである。
【図４】第１の実施形態における画像の例を表す。
【図５】第２の変形例において基準特徴のバリエーションを示す図である。
【図６】第３の変形例において模様のバリエーションを示す図である。
【図７】本発明の情報処理装置のハードウェア構成を示す図である。
【発明を実施するための形態】
【０００９】
本発明にかかる各実施形態を説明するのに先立ち、各実施形態に示す情報処理装置が実装されるハードウェア構成について、図７を用いて説明する。
【００１０】
図７は、本実施形態における情報装置のハードウェア構成図である。同図において、ＣＰＵ７１０は、バス７００を介して接続する各デバイスを統括的に制御する。ＣＰＵ７１０は、読み出し専用メモリ（ＲＯＭ）７２０に記憶された処理ステップやプログラムを読み出して実行する。オペレーティングシステム（ＯＳ）をはじめ、本実施形態に係る各処理プログラム、デバイスドライバ等はＲＯＭ７２０に記憶されており、ランダムアクセスメモリ（ＲＡＭ）７３０に一時記憶され、ＣＰＵ７１０によって適宜実行される。また、入力Ｉ／Ｆ７４０は、外部の装置（表示装置や操作装置など）から情報処理装置１で処理可能な形式で入力信号として入力する。また、出力Ｉ／Ｆ７５０は、外部の装置（表示装置）へ表示装置が処理可能な形式で出力信号として出力する。
【００１１】
（第１の実施形態）
本実施形態では、計測対象物体の形状情報を高速に計測する方法を説明する。
【００１２】
本実施形態における形状情報とは、撮影装置の座標系を基準とした計測対象物の各部までの距離値を表わす。本実施形態で利用する照明パターン１００は、図１に示すように、１本以上の線１０１（以降それぞれの線を基準特徴と呼ぶ）と、ドット１０２を要素とした模様とで構成される。また、基準特徴は、画像上で観測される基準特徴が、照明パターン１００上の何れの基準特徴に属するかを識別するための識別情報１０３を持つ。本実施形態では、識別情報は線上の複数の切れ目である。
【００１３】
本実施形態では、まず、計測対象物体を観測する画像上の基準特徴について、照明パターン１００上で対応する位置を計算することで、基準特徴が投影されている計測対象物体上の形状情報を計測する。次に、画像上の各画像部位について、基準特徴上から計測した形状情報に基づいて、形状情報の候補を設定する。次に、各画像部位に設定した形状情報の候補について、その画像部位を含む画像領域と、形状情報の候補に相当する照明パターン１００上の対応部位を含む領域との相関に基づいて、画像部位と対応部位とが対応するかどうかを示す対応度合いを計算する。ここで、対応度合いとは、注目する画像部位を含む画像領域と、照明パターン１００上の領域との相関の高さを表わす。対応度合いは、例えば、ブロックのマッチング等で計算する。最後に、各画像部位について対応度合いを計算した形状情報の候補のうち、対応度合いの高い形状情報の候補を、各画像部位の正しい形状情報として出力する。
【００１４】
本実施形態では、基準特徴から計算した形状情報から、各画像部位に形状情報の候補を設定する。設定した候補内で解を選択するため、探索範囲内のすべての形状情報を候補とした計算に比べ、計算量が少ない。これにより、計測対象物体の形状情報を高速に計測できる。
【００１５】
図２に、本実施形態の構成を示す。まず、本実施形態の情報処理装置２００は、パターン取得部２１０、画像取得部２２０、基準形状情報推定部２３０、候補設定部２４０、候補評価部２５０、候補選択部２６０からなる。また、３００は投影装置、４００は撮像装置を表わす。また、５００は計測対象物体を表す。
【００１６】
投影装置３００は、照明パターン１００の像を光により投影するプロジェクタである。投影装置３００の焦点距離や主点位置、レンズ歪パラメータなどの内部パラメータ情報、撮像装置４００に対する投影装置３００の相対的な位置姿勢の情報は予め校正しておく。校正方法は公知であり、例えば以下の文献に示される方法で校正できる。
Ｍ，Ｋｉｍｕｒａ，“Ｐｒｏｊｅｃｔｏｒ  Ｃａｌｉｂｒａｔｉｏｎ  ｕｓｉｎｇ  Ａｒｂｉｔｒａｒｙ  Ｐｌａｎｅｓ  ａｎｄ  Ｃａｌｉｂｒａｔｅｄ  Ｃａｍｅｒａ”Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ａｎｄ  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ，ＣＶＰＲ，２００７．
撮像装置４００は、濃淡画像を撮像するカメラである。撮像装置４００の焦点距離や主点位置、レンズ歪パラメータなどの内部パラメータ情報は予め校正しておく。校正方法は公知であり、例えば以下の文献に示される方法で校正できる。
Ｒ．Ｙ．Ｔｓａｉ，“Ａ  ｖｅｒｓａｔｉｌｅ  ｃａｍｅｒａ  ｃａｌｉｂｒａｔｉｏｎ  ｔｅｃｈｎｉｑｕｅ  ｆｏｒ  ｈｉｇｈ−ａｃｃｕｒａｃｙ  ３Ｄ  ｍａｃｈｉｎｅ  ｖｉｓｉｏｎ  ｍｅｔｒｏｌｏｇｙ  ｕｓｉｎｇ  ｏｆｆ−ｔｈｅ−ｓｈｅｌｆ  ＴＶ  ｃａｍｅｒａｓ  ａｎｄ  ｌｅｎｓｅｓ”  ＩＥＥＥ  Ｊｏｕｒｎａｌ  ｏｆ  Ｒｏｂｏｔｉｃｓ  ａｎｄ  Ａｕｔｏｍａｔｉｏｎ，ｖｏｌ．ＲＡ−３，ｎｏ．４，１９８７．
パターン取得部２１０は、計測対象物体５００に投影するための照明パターン１００の画像を取得する。取得するパターンは２次元の画像であり、図１に示すように、１つ以上の基準特徴（第１の特徴）と模様（第２の特徴）とで構成される。本実施形態では基準特徴は線であり、模様はドットである。ドットの配置方法は、例えば、所定の確率（Ａ％）でランダムに配置する。線上に配置する識別情報（線上の切れ目）は、同一線上の隣り合う切れ目の間隔がＢ＋ΔＢとなるように配置する。ここでΔＢは［−ε〜ε］の範囲で発生する一様乱数、εはユーザーが指定する固定値とする。なお、図１の照明パターン１００について、背景を白、基準特徴および模様を黒として図示するが、パターンの光は、これを逆転して背景を低輝度、基準特徴および模様を高輝度に投影するものとする。
【００１７】
画像取得部２２０は、照明パターン１００を投影した状態で計測対象物体５００を撮像装置４００で撮像した画像７００（撮像画像）を取得する。図４は、取得した画像７００の例を表わす。
【００１８】
基準形状情報推定部２３０は、基準特徴に含まれる前記符号に基づいて、画像７００上で観測される基準特徴に対応する照明パターン１００上の位置を計算することにより、基準特徴が投影されている計測対象物体上の形状情報を計測する。本実施形態における形状情報とは、撮影装置の座標系を基準とした計測対象物の各部までの距離値を表わす。
【００１９】
候補設定部２４０は、基準形状情報推定部２３０で推定された、画像７００上の基準特徴の形状情報に基づいて、画像７００上の各画像部位に、形状情報の候補を設定する。
【００２０】
本実施形態において、画像７００上の各画像部位とは、各画素を表わす。
【００２１】
候補評価部２５０は、画像７００上の各画像部位に設定した形状情報の候補について、その画像部位を含む画像領域と、形状情報の候補に相当する照明パターン１００上の対応部位を含む領域との相関に基づいて、対応度合いを評価する。
【００２２】
候補選択部２６０は、画像７００上の各画像部位について、候補評価部２５０で対応度合いを計算した候補のうち、対応度合いの高い候補を、各画像部位の正しい形状情報として選択する。
【００２３】
これらの各機能部は、ＣＰＵ７１０が、ＲＯＭ７２０に格納されたプログラムをＲＡＭ７３０に展開し、後述する各フローチャートに従った処理を実行することで実現されている。また例えば、ＣＰＵ７１０を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、ここで説明する各機能部の処理に対応させた演算部や回路を構成すればよい。
【００２４】
次に、本実施形態の処理手順について説明する。図３は、本実施形態の処理手順を示すフローチャートである。
【００２５】
（Ｓ６１０）
Ｓ６１０では、パターン取得部２１０は、照明パターン１００の画像を取得する。そして、不図示のインターフェースを介して、投影装置３００に送出する。投影装置３００はパターン取得部２１０からパターンを取得し、取得したパターンを計測対象物体５００を含む空間に投影する。撮像装置４００は、投影装置３００が取得したパターンを計測対象物体５００を含む空間に投影している間に、該空間を撮像する。
【００２６】
（Ｓ６２０）
Ｓ６２０では、画像取得部２２０は、計測対象物体５００に照明パターン１００を投影した像を撮像装置３００で撮像した画像７００を取得する。図４（ａ）は、取得した画像７００の例を表わす。
【００２７】
（Ｓ６３０）
Ｓ６３０では、基準形状情報推定部２３０は、画像７００上で観測される基準特徴に対応する照明パターン１００上の位置を計算することにより、計測対象物体の形状情報を推定（形状情報取得）する。
【００２８】
まず、画像７００から基準特徴の検出を行う。本実施形態では、基準特徴は線であるため、線の検出を行う。具体的には、画像７００に対してソベルフィルタを適用して画像上の輝度値の極値（以降、検出点と呼ぶ）を検出する。次に、隣接する検出点をラベリングすることで、隣接する検出点が並んだ線として、基準特徴を検出する。
【００２９】
次に、基準特徴である線に含まれる識別情報１０３（線上の切れ目）に基づいて、検出した基準特徴の対応付けを行う。ここで、基準特徴の対応付けとは、画像７００上から検出した基準特徴について、照明パターン１００上で対応する基準特徴の位置を計算することを表わす。
【００３０】
切れ目を利用した対応付け方法は公知であり、特開平１−２７４００７号公報で示されている。具体的な方法としては、まず、画像７００上から検出した各基準特徴について、同一基準特徴上の２つの切れ目を選択し、照明パターン１００上に２つのエピポーラ線を計算する。ここで、画像７００上から検出した基準特徴上の切れ目について、照明パターン１００上で対応する位置は、照明パターン１００上に計算したエピポーラ線上に存在する幾何特徴の切れ目であると推定する。この方法に基づき、検出した基準特徴が対応する位置は、切れ目から計算した２つのエピポーラ線と、照明パターン１００上の基準特徴上の切れ目と、が一致する基準特徴を探索することで計算する。これにより、画像７００上から検出した各基準特徴について、照明パターン１００上で対応する位置を計算できる。
【００３１】
次に、基準特徴の対応付け結果に基づいて、画像７００上で観測される基準特徴の形状情報を推定する。形状情報（本実施形態では距離値）は、画像７００上の基準特徴の位置と、対応する照明パターン１００上の位置から、三角測量の原理に基づいて計算する。本実施形態では、基準特徴は線であるため、光切断法に基づく形状情報の計算方法と同様である。
【００３２】
以降、画像７００上から検出した基準特徴のうち、形状情報を推定した基準特徴上の部位を基準部位Ｆｉ（ｉ＝１〜Ｍ）と表し、その形状情報をＳｉと表わす。ここで、添え字ｉは基準特徴上の各部位の番号を表わす。Ｍは、形状情報を推定した部位の総数を表わす。また、基準部位Ｆｉは画像７００上の２次元座標を示すパラメータを持つ。形状情報Ｓｉは、本実施形態では１次元の距離値（Ｄｉ）を持つ。以上により、撮像画像内の基準特徴（線）を含む領域において形状情報を推定する（形状情報の初期値取得）。
【００３３】
（Ｓ６４０）
候補設定部２４０は、基準形状情報推定部２３０で推定した基準部位Ｆｉの形状情報Ｓｉに基づいて、画像７００上（撮像画像内）の各画像部位Ｐｋ（ｋ＝１〜Ｎ）の形状情報の候補を設定する。
【００３４】
本実施形態では、Ｐｋは画像７００上のすべての画素とする。また、添え字ｋは各画素の番号、Ｎは画素の総数を表わす。また、基準部位Ｐｉは画像７００上の２次元座標を示すパラメータを持つ。
【００３５】
ここでは、基準部位Ｆｉの持つ形状情報Ｓｉを周囲の画像部位Ｐｋに伝播させ、画像部位Ｐｋの形状情報の候補として設定する。具体的な処理内容は下記に示す。
【００３６】
まず、候補を設定する基準とする基準部位Ｆｉを選択する。本実施形態では、基準部位の番号ｉを変えて、０〜Ｍまで順番に選択するものとする。
【００３７】
次に、基準部位（基準領域）Ｆｉの周囲の画像部位Ｐｋについて、基準部位Ｆｉの形状情報Ｓｉに基づいて形状情報の候補を設定する。具体的には、基準部位Ｆｉから所定範囲Ｒの内側に存在する画像部位Ｐｋについて、その形状情報の候補をＳｋｉとしたとき、Ｓｋｉ＝Ｓｉと設定する。所定範囲Ｒの内側に複数の画像部位Ｐｋがある場合、それぞれの画像部位について形状情報の候補としてＳｉを設定する。
【００３８】
以上の処理を、１つ以上の基準部位Ｆｉについて行う。本実施形態では、これを全ての基準部位Ｆｉ（ｉ＝１〜Ｍ）について計算するものとする。複数の基準部位Ｆｉを基準として候補を設定するため、１つの画像部位に複数の候補が設定される場合がある。
【００３９】
（Ｓ６５０）
候補評価部２５０は、候補設定部２４０で画像部位Ｐｋ（第１の領域）に設定した形状情報の候補について、その画像部位Ｐｋを含む画像７００上の領域と、形状情報に相当する照明パターン１００上の対応部位を含む領域との相関に基づいて、対応度合いを計算する。画像上の各画像部位Ｐｋの画像領域には、投影装置３００から投影された基準特徴と模様とを含むため、領域の相関を計算することは、領域内の基準特徴と模様とが一致するかどうかを計算することを意味する。
【００４０】
まず、形状情報の候補を設定した画像部位Ｐｋについて、その形状情報の候補Ｓｋｉに基づいて照明パターン１００上（パターン内）で対応する照明パターン１００上の対応部位Ｑｋｉを決定する。ここで、対応部位Ｑｋｉは照明パターン１００上の２次元座標を示すパラメータを持つ。対応部位Ｑｋｉは、形状情報に含まれる距離値から、撮像装置４００の座標系における３次元位置を計算し、撮像装置４００と投影装置３００の相対的な位置姿勢に基づいて、計算した３次元位置を照明パターン１００上に投影することで計算できる。
【００４１】
次に、基準部位Ｐｋと周囲の領域と、対応するパターン上の対応部位Ｑｋｉの周囲の領域に基づいて、ブロックマッチングの要領で対応度合いを計算する。ここで、ＰｋとＱｋｉの周囲の領域は、各位置を中心としたサイズＷの矩形ブロックとする。また、対応度合いは、ＳＳＤ（Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅ）の逆数を設定する。つまり、ＳＳＤの値が小さい（すなわち、ブロック間の差が少ない）ほど、対応度合いは大きくなる。
【００４２】
（Ｓ６６０）
候補選択部２６０は、画像上の各画像部位Ｐｋでそれぞれ対応度合いを計算した候補のうち、対応度合いの高い候補を、各画像部位Ｐｋの正しい形状情報として選択する。本実施形態では、所定の閾値Ｔ以上の対応度合いを持つ候補を選択する。また、１つの部位に複数の候補がある場合、閾値Ｔ以上の候補の中で最も対応度合いの高い候補を選択する。
【００４３】
以上述べたように、本実施形態では、基準特徴から計算した形状情報から、各画像部位に形状情報の候補を設定する。設定した候補内で解を選択するため、探索範囲内のすべての形状情報を候補とした計算に比べ、計算量が少ない。これにより、計測対象物体の形状情報を高速に計測（導出）できる。
【００４４】
なお、本実施形態において、投影装置３００は、２次元の照明パターンを投影するものであればどのような装置でもよい。例えば、２次元画像を投影する書画プロジェクタであってもよいし、光源とマスクパターンを組み合わせた装置であってもよい。また、投影するパターンは濃淡パターンでもよいし、カラーパターンでもよい。また、マスクパターンをセットする場合、パターンは物理的に投影装置３００にセットするため、パターン取得部２１０からパターンを入力する必要はない。
【００４５】
前述の説明では、照明パターン上の基準特徴と模様は、照明パターン上の背景に比べて、高輝度に投影した。しかし、照明パターン上の基準特徴と模様は、照明パターン上の背景に比べて、輝度あるいは色の差があればどのような特徴でも良い。例えば、照明パターン上の基準特徴と模様は、パターン上の背景に比べて、低輝度に投影しても良い。パターンのバリエーションについては、第４の変形例に述べる。
【００４６】
パターンを取得する元は、情報処理装置２００の持つ不図示の記憶領域から取得しても良いし、ネットワークを介して外部の情報源から取得しても良い。記憶領域としては、ハードディスクでも良いし、ＲＡＭでも良い。
【００４７】
また、画像取得部２２０で取得する画像は、照明パターンを計測対象物体に投影した状態で、撮像装置により撮像した２次元の画像であればどのような画像でもよい。例えば、濃淡画像でもよく、カラー画像でもよい。また、画像の取得方法については、撮像装置４００から直接取得しても良いし、メモリ上に一旦格納した画像を後から取得するような構成であってもよい。
【００４８】
形状情報を推定する画像部位は、第１の実施形態で示すように画像の画素でも良いし、画像を複数に分割したブロックでも良い。各部位の大きさや形状は同じでも良いし、変えても良い。
【００４９】
前述の説明では、基準形状情報推定部２３０は、基準特徴上の点群のみ形状情報を出力した。これ以外に、基準特徴の間の点群の形状情報を補間により計算して、密な形状情報として出力してもよい。補間方法は、基準特徴上の形状情報に基づき、基準特徴間の形状情報を計算する方法であればどのような方法でもよい。例えば、画像上を複数の領域に分割し、各領域に存在する形状情報の平均的な値に基づいて、領域内の形状情報を補間しても良い。または、画像上で形状情報を推定した基準特徴上の点群について、近接する３点を結んで３角形のパッチを形成し、内部の画素を３点の形状情報から補間しても良い。また、基準特徴が線の場合、隣り合う２本の線について、その間の形状情報を線形補間によって設定しても良い。また、出力する形状情報は、計算した点群の全部でも良いし、一部でも良い。例えば、所定の画像上の範囲内の点群の形状情報のみを出力しても良いし、所定の距離の範囲内の点群の形状情報のみを出力しても良い。補間によって求めた形状情報についても、候補設定部２４０における基準部位として、候補設定のための基準として利用しても良い。
【００５０】
また、本実施形態について、Ｓ６４０、Ｓ６５０、Ｓ６６０における、候補設定部２４０、候補評価部２５０、候補選択部２６０の処理を繰り返しても良い。この場合、候補選択部２６０で選択した画像部位の形状情報に基づいて、再度、候補設定部２４０で形状情報の候補を設定する。具体的には、１周目に候補選択部２６０までの処理が終わった後は、候補設定部２４０、候補評価部２５０、候補選択部２６０の順番で繰り返しを行う。繰り返しの２周目以降の候補設定部２４０では、基準部位の形状情報の代わりに、前の周に候補選択部２６０で選択した画像部位の形状情報を基準として、形状情報の候補を設定する。ここで、繰り返し回数は、どのような基準で設定しても良い。例えば、所定の回数でも良いし、候補選択部２６０で選択される形状情報の対応度合いが所定値以下になるまで繰り返しても良い。
【００５１】
また、候補設定部２４０で設定する形状情報の候補は、１つ以上の基準部位Ｆｉを基準として設定する。基準とする部位は、第１の実施形態に示すように全ての基準部位Ｆｉでも良いし、一部の基準部位でも良い。また、Ｓ６４０、Ｓ６５０、Ｓ６６０における、候補設定部２４０、候補評価部２５０、候補評価部２６０の処理を繰り返す場合、繰り返しごとに基準とする基準部位を変えても良い。例えば、１周目はｉ＝１の基準部位Ｆｉを基準とし、２周目はｉ＝２の基準部位Ｆｉを基準とするように、基準部位Ｆｉの番号ｉの数字を変えて基準とする基準部位を選択しても良い。
【００５２】
（第２の実施形態）
第２の実施形態では、形状情報として計測対象物体の距離値と面の向き（法線情報）を扱う方法を説明する。ここで、法線情報とは、画像７００上で画素の位置変化に対する距離値の変化量を表す。具体的には、画像のｘ軸（横方向）に対する距離値の変化量をＡ、画像のｙ軸（縦方向）に対する距離値の変化量をＢとして、２つのパラメータで法線情報を表す。また、距離値はＤと表わす。
【００５３】
本実施形態では、基準形状情報推定部２３０と、候補設定部２４０、候補評価部２５０の処理について、第１の実施形態と処理が異なる。
【００５４】
まず、基準形状情報推定部２３０では、画像７００上で観測される基準特徴について、距離値と法線情報を推定する。距離値は、第１の実施形態に述べた方法で推定する。法線情報は、推定した距離値の空間的な変化に基づいて推定する。具体的には、例えば、基準特徴間の画素の距離値を補間した後、隣り合う画素の距離値の差をとることで、Ａｉ、Ｂｉ値を設定する。以上述べたように、本変形例の基準形状情報推定部２３０では、基準部位Ｆｉについて、形状情報Ｓｉとして、３次元のデータ（Ｄｉ、Ａｉ、Ｂｉ）を推定する。
【００５５】
次に、候補設定部２４０では、基準特徴から推定した距離値と法線情報に基づいて、画像上の各画像部位Ｐｋに形状情報の候補を設定する。基準部位Ｆｉから所定範囲Ｒの内側に存在する画像部位Ｐｋについて、設定される形状情報の候補をＳｋｉ＝（Ｄｋｉ、Ａｋｉ、Ｂｋｉ）とする。また、基準部位Ｆｉと画像部位Ｐｋの画像７００上での位置の差をＵｋｉ、Ｖｋｉとする。ここで、Ｕｋｉは画像のｘ軸方向の差、Ｖｋｉは画像のｙ軸方向の差を表わす。距離値Ｄｋｉは、法線情報による距離値の変化を考慮して、Ｄｋｉ＝Ｄｉ＋Ａｉ・Ｕｋｉ＋Ｂｉ・Ｖｋｉとして設定する。法線情報Ａｋｉ、Ｂｋｉは、Ａｋｉ＝Ａｉ、Ｂｋｉ＝Ｂｉとして設定する。また、第１の実施形態と同様に、所定範囲Ｒの内側に複数の画像部位Ｐｋがある場合、そのそれぞれについて形状情報の候補Ｓｋｉを設定する。ただし、前述したように法線情報による距離値の変化を考慮して設定する。
【００５６】
次に、候補評価部２５０では、候補設定部２４０で画像部位Ｐｋに設定した形状情報の候補について、その画像部位Ｐｋを含む画像上の領域と、形状情報に相当する照明パターン１００上の対応部位を含む領域との相関に基づいて、対応度合いを計算する。本変形例では、第１の実施形態と同様にブロックの相関を計算する。ただし、本実施形態では、計測対象物体の面の傾き（法線情報）に基づいて、ブロックを変形させて照明パターン１００上に射影することで、より正確に画像７００上の領域と照明パターン１００上の領域の相関を計算する。これを行うために、ブロック内の各点について、対応する照明パターン１００上の位置をそれぞれ計算する。具体的には、まず画像部位Ｐｋを含む画像上のブロックを平面として考え、ブロック内の各画素の距離値をブロックの中心にある画像部位Ｐｋの形状情報から計算する。ここで、ブロックの各画素の距離値は、画像部位Ｐｋの距離値Ｄｋｉを基準として、法線情報Ａｋｉ、Ｂｋｉによる変化分を加えることで計算できる。次に、画像部位Ｐｋを中心としたブロックの各画素の距離値に基づいて、照明パターン１００上の位置を計算する。次に、この対応関係から、画像部位Ｐｋを中心としたブロックの各画素について、対応する照明パターン１００上の位置にある画素との差を計算する。最後に、各画素について計算した差の二乗和（ＳＳＤ）を計算し、対応度合いとして、第１の実施形態と同様に、ＳＳＤの逆数を設定する。
【００５７】
上記以外の、パターン取得部２１０、画像取得部２２０、候補選択部２６０については、第１の実施形態と処理が同じであるため、説明は省略する。
【００５８】
以上述べたように、本実施形態では、形状情報として距離値と法線情報を扱う。距離値に加え、法線情報を含めて計算するため、計測対象物の形状をより正確に計測できる。
【００５９】
なお、本実施形態では、形状情報として距離値と法線情報を扱う。しかし、形状情報を構成する要素としては、計測対象物体の面の３次元空間中の位置を表す情報（以降、位置情報と呼ぶ）或いは、面の法線を表す情報（法線情報）であれば良い。ここで、位置情報は、距離でも良いし、視差でも良いし、３次元の座標でも良い。法線情報は、画素の位置変化に対する距離値の変化量でも良いし、３次元のベクトルでも良い。
【００６０】
形状情報は、位置情報と法線情報の両方でも良いし、一部でも良い。形状情報として、一部の要素のみを変数とする場合、それ以外の要素は固定値として計算しても良い。例えば、形状情報として、位置情報のみを変数として推定する場合、法線は撮影装置３００の視線方向の反対方向であると仮定して、固定値として与えても良い。例えば、形状情報として、法線情報を変数として推定する場合、位置情報は計測対象物体の概略位置を規定値として与えても良い。
【００６１】
（第１の変形例）
第１の変形例として、候補設定部２４０における形状情報の候補の設定方法のバリエーションについて説明する。
【００６２】
基準形状情報推定部２３０で形状情報に基づいて、形状情報の候補を設定する画像部位Ｐｋは、画像７００上のどの画像部位Ｐｋでも良い。第１の実施形態で示すように、形状情報を推定した部位Ｆｉの周辺の所定範囲Ｒの範囲にある部位Ｐｋに対して形状情報の候補を設定しても良いし、基準部位Ｆｉの隣り合う部位、或いはその一部に対して、形状情報の候補を設定しても良い。例えば、基準部位Ｆｉのｘ軸方向或いはｙ軸方向に隣接する部位について候補を設定しても良いし、離れた位置にある部位に候補を設定しても良い。
【００６３】
また、Ｓ６４０、Ｓ６５０、Ｓ６６０における、候補設定部２４０、候補評価部２５０、第２の基準形状情報推定部２６０の処理を繰り返す場合、繰り返しごとに設定する候補の位置を変えても良い。例えば、１周目は注目する基準部位のｘ軸上でプラス方向の部位に形状情報の候補を設定し、２周目はｘ軸上でマイナス方向の部位に形状情報の候補を設定する方法でも良い。
【００６４】
（第２の変形例）
第２の変形例として、基準形状情報推定部２３０における形状情報の推定方法と、基準特徴のバリエーションについて説明する。
【００６５】
基準形状情報推定部２３０における基準特徴の識別方法は、画像上で観測される基準特徴について、照明パターン上で対応する位置を計算することで、形状情報を推定する方法であれば、どのような方法でも良い。
【００６６】
例えば、基準特徴が線の場合、その検出方法としては、画像上で観測される線上の位置を線としてそれぞれラベリングされた状態で抽出できる方法であればどのような方法でもよい。ソベルフィルタによって検出したエッジをラベリングすることによって線を検出してもよいし、所定の閾値で２値化した画像を細線化することによって検出してもよい。
【００６７】
次に、検出した線の対応付けを行う方法としては、画像上で観測される線が、照明パターン上で対応する位置を計算する方法であればどのような方法でもよい。例えば、第１の実施形態に示すように、照明パターン１００上の線にランダムに切れ目を加え、画像上で観測される切れ目の位置に基づいて、線の対応位置を計算しても良い。また、照明パターン上の線に輝度、色、形状の少なくとも１つの符号を加え、画像上で観測される符号に基づいて線を識別しても良い。例えば、図５の照明パターン１１０に示すように、識別情報として線上に異なる輝度値を持つ符号（図５の１１１）を配置しても良い。また、符号は線上ではなく、線と線の間にあっても良い。また、図５の照明パターン１２０に示すように、識別情報として色の異なる線（図６の１２１）を投影し、画像上で観測される線の色に基づいて、対応する照明パターン１２１上の位置を計算しても良い。また、線の色ではなく、線と線の間の色を変化させても良い。また、照明パターンの線上の輝度値を変調させ、画像上で観測される線上の輝度の変化に基づいて、対応する照明パターン上の位置を計算しても良い。
【００６８】
また、基準特徴は、画像上で観測される基準特徴について、対応する照明パターン上の位置を計算できる特徴であれば、どのような特徴でも良い。第１の実施形態で示したように線でも良いし、線以外でも良い。例えば、図５の照明パターン１３０に示すように、照明パターン上の模様とは形状の異なるドット（図５の１３１）でも良い。この場合、基準形状情報推定部２３０でドット１３１の形状情報を計算するために必要になる、検出と対応付けの処理は次のように計算できる。ドット１３１の検出は、例えば画像を２値化した後、所定以上のサイズの領域を選択することで検出しても良いし、ドット形状のテンプレートマッチングによって検出しても良い。ドット１３１の対応付けは、照明パターンのエピポーラ線上の各位置とのマッチングにより計算しても良いし、各ドットの色や形状を変え、その色や形状に基づいて計算しても良い。また、ドット以外の基準特徴として、多角形や任意の形状でも良い。なお、図５の照明パターンについて、背景を白、基準特徴および模様を黒として図示するが、パターンの光は、これを逆転して背景を低輝度、基準特徴および模様を高輝度に投影するものとする。
【００６９】
（第３の変形例）
第３の変形例として、照明パターン上の模様のバリエーションについて説明する。
【００７０】
照明パターン上の模様は、その模様の要素が基準特徴とは形状・サイズ・輝度・色の少なくとも一部が異なり、かつ照明パターン全体で無地でなければ良い。具体的には、第１の実施形態で示したように、ランダムに配置した複数のドットでも良いし、図６の１４０に示すように等間隔で配置するドットでも良い。また、図６の１３０に示すように、ドット以外の要素でも良い。また、模様の要素は、その輝度・色を一様に同じにしても良いし、照明パターンの部位ごとに異なる輝度・色を設定しても良い。また、図５の１６０に示すよう、ドットのような複数の要素で構成した模様ではなく、輝度・色の明暗を変調した模様でも良い。いずれの模様であっても、画像上の各部位について、照明パターン上で対応する位置との相関を取ることで、対応度合いが評価できる。なお、図６の照明パターンについて、背景を白、基準特徴および模様を黒として図示するが、パターンの光は、これを逆転して背景を低輝度、基準特徴および模様を高輝度に投影するものとする。
【００７１】
（第４の変形例）
第４の変形例として、候補評価部２５０における対応度合いの評価方法のバリエーションについて説明する。
【００７２】
対応度合いの評価方法は、候補設定部２４０で設定した形状情報の候補について、その画像部位を含む画像上の領域と、照明パターン上の対応部位を含む領域との相関に基づいて、画像部位と対応部位が対応するかどうかを示す対応度合いを計算する方法であれば、どのような方法でも良い。ピクセルマッチングでも良いし、ブロックマッチングでも良い。ブロックマッチングの場合、ブロックの相関は、第１の実施形態で示すようにＳＳＤでも良いし、ＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｕｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）でも良い。また、ブロックの形状はどのような形状でも良い。四角形でもよいし、円形でも良い。また、ブロック内から特徴量を抽出し、その差に基づいて、対応度合いを計算しても良い。特徴量としては、ブロック内の輝度値の平均値や分散など統計値でも良いし、ＳＩＦＴ（Ｓｃａｌｅ−Ｉｎｖａｒｉａｎｔ  Ｆｅａｔｕｒｅ  Ｔｒａｎｓｆｏｒｍ）などに基づく特徴量でも良い。
【００７３】
また、ブロックマッチングの場合、第１の実施形態に示すように、画像部位Ｐｋを中心とするブロックについて、画像部位Ｐｋの形状情報の候補Ｓｋｉに基づいて照明パターン上の位置Ｑｋｉを計算することで、Ｐｋを中心とした画像上の領域とＱｋを中心とした照照明ターン上の領域との相関を計算する。この方法では、ブロックの中心位置について、対応する照明パターン上の位置を計算するが、第２の実施形態に示すように、ブロック内の各位置について、対応する照明パターン上の位置を計算し、その対応関係から画像と照明パターンとの相関を計算しても良い。
【００７４】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。
【００７５】
即ち、上述した各実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００７６】
また、このプログラム及び当該プログラムを記憶したコンピュータ読み取り可能な記憶媒体は、本発明に含まれる。
【００７７】
＜実施例の効果＞
第１の実施形態では、基準特徴から計算した形状情報から、画像上の各画像部位に形状情報の候補を設定する。設定した候補内で解を選択するため、探索範囲内のすべての形状情報を候補とした計算に比べ、計算量が少ない。これにより、計測対象物体の形状情報を高速に計測できる。
【００７８】
第２の実施形態では、形状情報として計測対象物体の面の３次元空間中の位置を表わす位置情報と、面の向きを表わす法線情報のパラメータを含む。位置情報に加え、法線情報を考慮することで、計測対象物の形状をより正確に計測できる。
【００７９】
＜定義＞
本発明において、パターン取得部で取得する照明パターンは、模様と１つ以上の基準特徴とで構成される照明パターンであれば、どのような照明パターンでも良い。模様とは、基準特徴とは形状・サイズ・輝度・色の少なくとも一部が異なり、かつ照明パターン全体で無地でなければ良い。例えば、模様は、ランダムに配置した複数のドットでも良いし、図６の１４０に示すように等間隔で配置するドットでも良い。ドット以外の、任意の形状でも良いし、輝度・色の明暗を変調した模様でも良い。基準特徴は、基準形状情報において画像上で観測される基準特徴の位置と、照明パターン上で対応する位置を計算できる特徴であれば、どのような特徴でも良い。例えば、基準特徴は、線でも良いし、円や多角形など任意の形状でも良い。
【００８０】
また、画像取得部で取得する画像は、照明パターンを計測対象物体に投影した状態で、撮像装置により撮像した２次元の画像であればどのような画像でもよい。２次元の画像であればどのような画像でもよい。例えば、濃淡画像でも良いし、カラー画像でも良い。また、画像の取得方法については、撮像装置から直接取得しても良いし、メモリ上に一旦格納した画像を装置に読み込む構成であっても良い。
【００８１】
基準形状情報推定部における形状情報の推定方法は、画像上で観測される基準特徴について、照明パターン上で対応する位置を計算し、三角測量に基づいて形状情報を推定する方法であればどのような方法でも良い。ここで形状情報は、計測対象物体の面の３次元空間中の位置を表す情報と、面の法線を表す情報のうち少なくとも一部を含む情報である。３次元空間中の位置を表す情報は、距離でも良いし、視差でも良いし、３次元の座標でも良い。面の法線を表わす情報は、画素の位置変化に対する距離値の変化量でも良いし、３次元のベクトルでも良い。また、画像上で観測される基準特徴の間の形状情報を補間して出力しても良い。
【００８２】
候補設定部における形状情報の候補を設定する部位は、画像上のどの部位でも良い。例えば、基準形状情報推定部で推定した各形状情報について、画像上で近傍の部位について形状情報の候補を設定しても良いし、画像全体に形状情報の候補を設定しても良い。また、１つの部位について、複数の形状情報の候補を設定しても良い。また、本発明における候補設定部と、候補評価部と、候補選択部の処理を繰り返す場合、候補を設定する部位は繰り返し毎に変えても良い。
【００８３】
候補評価部における対応度合いの評価方法は、候補設定部で設定した形状情報の候補について、その形状情報の候補に相当する画像上の領域と照明パターン上の領域との相関に基づいて、対応度合いを計算する方法であれば、どのような方法でも良い。例えば、画像上の領域とパターン上の領域の輝度値のＳＳＤ（Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅ）やＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｕｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）に基づいて対応度合を計算しても良いし、領域内の特徴量を抽出し、その差に基づいて対応度合いを計算しても良い。ここで、対応度合いとは、画像上で注目する領域と、照明パターン上の領域との相関の高さを表わす。
【００８４】
候補選択部における形状情報の候補の選択方法は、対応度合いの高い形状情報の候補を選択する方法であればどのような方法でも良い。例えば、所定の閾値以上の対応度合いを持つ形状情報の候補を選択しても良いし、各部位に設定された形状情報の候補のうち対応度合いの最も高い形状情報の候補を選択しても良い。
【図１】
0006566768.tif 000002
【図２】
0006566768.tif 000003
【図３】
0006566768.tif 000004
【図４】
0006566768.tif 000005
【図５】
0006566768.tif 000006
【図６】
0006566768.tif 000007
【図７】
0006566768.tif 000008