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