JP5745178B2 - 3次元測定方法、装置及びシステム、並びに画像処理装置 - Google Patents

3次元測定方法、装置及びシステム、並びに画像処理装置 Download PDF

Info

Publication number
JP5745178B2
JP5745178B2 JP2014522566A JP2014522566A JP5745178B2 JP 5745178 B2 JP5745178 B2 JP 5745178B2 JP 2014522566 A JP2014522566 A JP 2014522566A JP 2014522566 A JP2014522566 A JP 2014522566A JP 5745178 B2 JP5745178 B2 JP 5745178B2
Authority
JP
Japan
Prior art keywords
imaging
imaging unit
unit
translation
rotation matrix
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.)
Expired - Fee Related
Application number
JP2014522566A
Other languages
English (en)
Other versions
JPWO2014002849A1 (ja
Inventor
智紀 増田
智紀 増田
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.)
Fujifilm Corp
Original Assignee
Fujifilm Corp
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 Fujifilm Corp filed Critical Fujifilm Corp
Priority to JP2014522566A priority Critical patent/JP5745178B2/ja
Application granted granted Critical
Publication of JP5745178B2 publication Critical patent/JP5745178B2/ja
Publication of JPWO2014002849A1 publication Critical patent/JPWO2014002849A1/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/239Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
    • 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/245Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures using a plurality of fixed, simultaneously operating transducers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C11/00Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
    • G01C11/04Interpretation of pictures
    • G01C11/06Interpretation of pictures by comparison of two or more pictures of the same area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Measurement Of Optical Distance (AREA)
  • Image Processing (AREA)

Description

本発明は、撮影した画像から被写体の3次元データを求めるための3次元測定方法、装置及びシステム、並びに画像処理装置に関する。
2地点から被写体を撮影して得た2つの画像に基づいて、被写体の3次元データ(例えば、寸法)を算出する3次元測定装置が知られている。3次元測定装置は、例えば、左右に所定間隔(以下、基線長という)をあけて配置された2つのカメラと、これらの2つのカメラで得た視差のある画像から3次元データを算出する処理装置等で形成される。
3次元測定に必要となる2つの画像は、同じ被写体が写されていて、かつ互いに視差のある画像であればよいので、例えば、2つの撮影レンズを有するステレオカメラで得た画像を用いることも可能である。しかし、3次元測定装置による3次元データの測定精度は、被写体のスケールと基線長の長さの関係に依存するので、ステレオカメラの基線長に対して測定する被写体のスケールが大きい場合には、一応の3次元データを得ることができるとしても誤差が大きく、信頼できる値が得られないことがある。このため、建物等のスケールが比較的大きい被写体の3次元データを高精度に測定する場合には、基線長を長くしておく必要がある。例えば、特許文献1の3次元測定装置は、自動車に2台のカメラを取り付けることにより、全体として巨大なステレオカメラを形成している。
また、3次元測定を高精度に行うためには、基線長を正確に知っておく必要がある。通常のステレオカメラでは製造時点で基線長が所定長さになるように予め高精度に位置合わせされている。しかし、特許文献1のように2台のカメラを用いて巨大なステレオカメラを形成する場合に、基線長を正確に所定値に合わせることや、正確に基線長を測定しておくことは容易ではない。このため、特許文献1は、基線長を予め正確に測定しておくためのキャリブレーションの方法を開示している。また、特許文献2にも、正確に基線長を測定しておくためのキャリブレーション方法が記載されている。
さらに、近年では、基線長が短いステレオカメラで2つの撮影位置から被写体を撮影し、各撮影位置で得た画像を用いて高精度に3次元データを測定可能な3次元測定装置も知られている。但し、特許文献3の3次元測定装置は、2つの撮影位置間の距離を知るために、形状や寸法等が既知の基準被写体を、3次元データを測定する被写体とともに撮影する。移動前後のステレオカメラの全体を巨大な1つのステレオカメラと捉えれば、2つの撮影位置間の距離は、この巨大なステレオカメラの基線長に相当する。このため、特許文献3の3次元測定装置も、基線長が既知であることを前提にしていることは、特許文献1,2の3次元測定装置と同様である。
特開2007−263669号公報 特開2005−241323号公報 特開2011−232330号公報
2つのカメラを使用して基線長(カメラ間距離)が長い巨大なステレオカメラを形成して3次元測定をする場合には、特許文献1,2に開示されているように、基線長を予め高精度に求めておかなければならないが、被写体を上手く撮影範囲におさめるために各カメラの配置を変更すれば、当然ながら、再び煩雑なキャリブレーションを行わなければならない。例えば、特許文献1のように、2つのカメラを自動車に取り付けると、2つのカメラで被写体をうまく捉えるためには自動車の向きを変えなければならないが、道幅が狭い道路から撮影をしなければならい場合や、車両が進入禁止の場所で撮影しなければならない場合等では、カメラの配置を変えざるを得ない。
基線長が長い巨大なステレオカメラを自動車に取り付けずに運搬することも考えられるが、巨大であるために現実的ではない。また、2つのカメラを個別に運び、キャリブレーションを行わずに、基線長が所定値になるように再配置することはほぼ不可能である。このように、基線長が長い巨大なステレオカメラを用いる場合には、キャリブレーションをやり直さなければならないシチュエーションが多々あり、不便である。
また、通常サイズの基線長が短いステレオカメラを用いて3次元測定をする場合に、特許文献3のように基準被写体を持ち運び、適切な位置に配置して被写体を撮影することは可能ではあるが、不便である。例えば、被写体の3次元測定に邪魔にならないように基準被写体の配置を工夫しなければならない上、高い位置にある被写体の寸法等が知りたい場合等、基準被写体を被写体とともに撮影範囲にうまく配置できない場合には3次元測定ができないこともある。撮影時の状況に依らず、いつでも巨大なステレオカメラの基線長を高精度に算出可能にするための基準被写体の形状や材質等の選定も容易ではない。
このように、従来の装置では、キャリブレーションが必要なために操作が面倒であり、またキャリブレーションを省略したり、あるいは基線長を正確に測定しなかった場合には、高精度の3次元測定を行うことできない。
本発明は、操作が容易で、かつ高精度の3次元測定が可能な3次元測定方法、装置及びシステム、並びに画像処理装置を提供することを目的とする。
本発明の3次元測定装置は、第1撮像部と、第2撮像部と、特徴点検出部と、対応点検出部と、回転行列算出部と、並進行列算出部と、並進距離算出部と、3次元データ算出部と、を備える。第1撮像部と第2撮像部は所定の基線長をおいて配置され、第2撮像部は、第1撮像部が撮像する被写体の少なくとも一部を含む範囲を撮像する。特徴点検出部は、第1撮影位置において第1撮像部及び第2撮像部によって被写体を撮像して得た2枚の画像のうち少なくともいずれか一方の画像から複数の特徴点を検出する。対応点検出部は、第1撮影位置とは異なる第2撮影位置において第1撮像部及び第2撮像部によって被写体を撮像して得た2枚の画像の各々について、特徴点に対応する対応点を検出する。回転行列算出部は、特徴点と対応点に基づき、第1撮影位置における第1撮像部または第2撮像部の向きを基準として、第2撮影位置における第1撮像部の回転方向及び回転量を表す第1回転行列と、第2撮像部の回転方向及び回転量を表す第2回転行列を算出する。並進行列算出部は、特徴点と対応点に基づき、第1撮影位置における第1撮像部または第2撮像部の位置を基準として、第2撮影位置における第1撮像部の並進移動方向を表す第1並進行列と、第2撮像部の並進移動方向を表す第2並進行列を算出する。並進距離算出部は、第1回転行列または第2回転行列の少なくとも一方が零行列でない場合に、第1回転行列、第2回転行列、第1並進行列、及び第2並進行列と、基線長に基づいて、第1撮影位置における第1撮像部または第2撮像部を基準とした第2撮影位置における第1撮像部または第2撮像部の並進距離を算出する。3次元データ算出部は、並進距離に基づいて、被写体の3次元データを算出する。
並進距離算出部は、基線長ベクトルの先端と第1方向または第2方向のうち他方の距離が最小になる基線長ベクトルの位置を求め、この位置にある基線長ベクトルの基端及び先端の位置に基づいて、各々の並進距離を算出することが好ましい。基線長ベクトルは、基線長の長さを有し、第1回転行列及び第2回転行列によって定まる基線長ベクトルの基端を、第1並進行列が表す第1方向または第2並進行列が表す第2方向のうち一方の上に置かれているものである。
並進距離算出部は、第1方向と第2方向のうち他方の方向と基線長ベクトルの先端との距離の最小値を所定閾値と比較し、最小値が所定閾値以上の場合に、条件を変えて並進距離を再算出することが好ましい。
並進距離算出部は、第1撮影位置及び第2撮影位置で得た4枚の画像のうち任意の組み合わせの複数の画像を用いて算出した第1の並進距離と、第1の並進距離を算出する場合に使用した複数の画像とは異なる組み合わせの複数の画像を用いて算出し、第1の並進距離と同じ撮像部間の距離を表す第2の並進距離との差が所定閾値よりも大きい場合に、条件を変えて並進距離を再算出することが好ましい。
並進距離算出部が並進距離を再算出する場合に、対応点検出部は対応点を検出するための条件を変えて、対応点を再検出し、回転行列算出部,並進行列算出部及び並進距離算出部は、特徴点と再検出した対応点に基づいて、回転行列、並進行列、及び並進距離を再算出することが好ましい。
対応点を再検出する場合に変える条件は、特徴点の組み合わせでも良い。
対応点検出部は、対応点の検出を、特徴点を含む第1撮影位置で撮影した画像のうち特徴点を含む部分画像と、第2撮影位置で撮影した画像を部分毎に比較して一致度が高い部分を対応点とするブロックマッチング法により行う。そして、対応点を再検出する場合に変える条件には、部分画像と第2撮影位置で撮影した画像を部分毎に比較するときの部分画像の拡大縮小率または回転角度のうちいずれかを含むことが好ましい。
特徴点検出部は、特徴点の検出条件を変えて、特徴点を再検出し、対応点検出部,回転行列算出部,並進行列算出部及び並進距離算出部は、再検出された特徴点に基づいて、対応点の検出、回転行列、並進行列、及び並進距離を再算出しても良い。
回転行列算出部は、第1撮像部の並進距離である仮定値、第1回転行列及び前記第1並進行列に基づいて、前記第2回転行列を再算出し、並進行列算出部は、仮定値、第1回転行列及び第1並進行列に基づいて、第2並進行列を再算出し、並進距離算出部は、仮定値と再算出した第2回転行列及び第2並進行列に基づいて、第2撮影位置で得た画像上で少なくとも1つの特徴点について定まるエピポーラ線を算出し、エピポーラ線上において特徴点との一致度を求める。そして、仮定値を変更して一致度の算出を繰り返し行って、一致度が最も高くなるエピポーラ線を選出することにより第2撮影位置を特定して、並進距離を再算出しても良い。
並進距離算出部は、複数の特徴点のうち対応点を検出する特徴点の組み合わせ、または対応点を検出するための条件が異なる複数の条件で並進距離を予め算出し、3次元データ算出部は、第1方向と第2方向のうち他方の方向と基線長ベクトルの先端との距離の最小値を比較して、最小値が小さい条件で算出された並進距離を使用しても良い。
3次元データは、例えば被写体の実空間上での寸法または被写体の3次元モデルデータである。
本発明の画像処理装置は、記憶部と、特徴点検出部と、対応点検出部と、回転行列算出部と、並進行列算出部と、並進距離算出部と、3次元データ算出部と、を備える。記憶部は、被写体を撮像する第1撮像部と、第1撮像部に対して所定の基線長をおいて配置され、第1撮像部が撮像する被写体の少なくとも一部を含む範囲を撮像する第2撮像部とを有する1つまたは2つのステレオカメラによって、第1撮影位置と第2撮影位置でそれぞれ撮影した画像を記憶する。特徴点検出部は、第1撮影位置において第1撮像部及び第2撮像部によって被写体を撮像して得た2枚の画像のうち少なくともいずれか一方の画像から複数の特徴点を検出する。対応点検出部は、第2撮影位置において第1撮像部及び第2撮像部によって被写体を撮像して得た2枚の画像の各々について、特徴点に対応する対応点を検出する。回転行列算出部は、特徴点と対応点に基づき、第1撮影位置における第1撮像部または第2撮像部の向きを基準として、第2撮影位置における第1撮像部の回転方向及び回転量を表す第1回転行列と、第2撮像部の回転方向及び回転量を表す第2回転行列を算出する。並進行列算出部は、特徴点と対応点に基づき、第1撮影位置における第1撮像部または第2撮像部の位置を基準として、第2撮影位置における第1撮像部の並進移動方向を表す第1並進行列と、第2撮像部の並進移動方向を表す第2並進行列を算出する。並進距離算出部は、第1回転行列または第2回転行列の少なくとも一方が零行列でない場合に、第1回転行列、第2回転行列、第1並進行列、及び第2並進行列と、基線長に基づいて、第1撮影位置における第1撮像部または第2撮像部を基準とした第2撮影位置における第1撮像部または第2撮像部の並進距離を算出する。3次元データ算出部は、並進距離に基づいて、被写体の3次元データを算出する。
本発明の3次元測定システムは、1つまたは2つのステレオカメラと、上述の画像処理装置とを備える。ステレオカメラは、被写体を撮像する第1撮像部と、第1撮像部に対して所定の基線長をおいて配置され、第1撮像部が撮像する被写体の少なくとも一部を含む範囲を撮像する第2撮像部とを有する。
ステレオカメラは車載カメラであることが好ましい。
本発明の3次元測定方法は、被写体を撮像する第1撮像部と、第1撮像部に対して所定の基線長をおいて配置され、第1撮像部が撮像する前記被写体の少なくとも一部を含む範囲を撮像する第2撮像部とを有する1つまたは2つのステレオカメラを用いて被写体の3次元データを求める3次元測定方法であり、特徴点検出ステップと、対応点検出ステップと、回転行列算出ステップと、並進行列算出ステップと、並進距離算出ステップと、3次元データ算出ステップと、を備える。特徴点検出ステップでは、第1撮影位置において第1撮像部と第2撮像部で被写体を撮像して得た2枚の画像のうち少なくともいずれか一方の画像から複数の特徴点を検出する。ステレオカメラは、被写体を撮像する第1撮像部と、第1撮像部に対して所定の基線長をおいて配置され、第1撮像部が撮像する被写体の少なくとも一部を含む範囲を撮像する第2撮像部とを有するカメラである。対応点検出ステップでは、ステレオカメラによって第1撮影位置とは異なる第2撮影位置において被写体を撮像して得た2枚の画像の各々について、特徴点に対応する対応点を検出する。回転行列算出ステップでは、特徴点と対応点に基づき、第1撮影位置における第1撮像部または第2撮像部の向きを基準として、第2撮影位置における第1撮像部の回転方向及び回転量を表す第1回転行列と、第2撮像部の回転方向及び回転量を表す第2回転行列を算出する。並進行列算出ステップでは、特徴点と対応点に基づき、第1撮影位置における第1撮像部または第2撮像部の位置を基準として、第2撮影位置における第1撮像部の並進移動方向を表す第1並進行列と、第2撮像部の並進移動方向を表す第2並進行列を算出する。並進距離算出ステップでは、第1回転行列または第2回転行列の少なくとも一方が零行列でない場合に、第1回転行列、第2回転行列、第1並進行列、及び第2並進行列と、基線長に基づいて、第1撮影位置における第1撮像部または第2撮像部を基準とした第2撮影位置における第1撮像部または第2撮像部の並進距離を算出する。3次元データ算出ステップでは、並進距離に基づいて、被写体の3次元データを算出する。
本発明によれば、基線長が定まった2つの撮像部を用いて2つの撮影位置でそれぞれ撮影して得られた画像から、これらを撮影した各撮像部間の距離(巨大なステレオカメラの基線長に相当)を算出するようにしたので、キャリブレーションを行わず、また、基準被写体を用いずに、単に3次元データを測定したい被写体を撮影して得た画像だけで、高精度な3次元測定を行うことができる。
3次元測定装置の説明図である。 測定部のブロック図である。 回転行列,並進行列,及び並進距離を示す説明図である。 並進距離の任意性を示す説明図である。 3次元測定の手順を示すフローチャートである。 特徴点の概要を示す説明図である。 対応点検出の概要を示す説明図である。 第2撮影位置Bを探索する原理を示す説明図である。 3次元データをディスプレイに表示する様子を示す説明図である。 基線長ベクトルとT1a−T2a平面の関係を示す説明図である。 第2実施形態の3次元測定の手順を示すフローチャートである。 第3実施形態で算出する回転行列及び並進行列と並進距離を示す説明図である。 第3実施形態で第2撮影位置を探索する原理を示す説明図である。 第3実施形態のより好ましい3次元測定手順を示すフローチャートである。 第3実施形態のより好ましい3次元測定手順を示すフローチャートである。 第3実施形態の変形例における3次元測定手順を示すフローチャートである。 第3実施形態の変形例における3次元測定手順を示すフローチャートである。 別の3次元測定手順を示すフローチャートである。 エピポーラ線の例を示す説明図である。 エピポーラ線に沿って一致度を算出する様子を示す説明図である。 エピポーラ線を用いた3次元測定をする場合の測定部の構成を示すブロック図である。 3次元測定システムを示すブロック図である。 複数のステレオカメラを備えた3次元測定システムを示すブロック図である。 ステレオカメラとして車載カメラを用いる例を示す説明図である。
[第1実施形態]
図1に示すように、3次元測定装置10は、第1撮像部11と第2撮像部12と、測定部15、ディスプレイ16等を備える。すなわち、3次元測定装置10は、いわゆるステレオカメラに測定部15を搭載し、撮影した画像から被写体の3次元データを算出できるようにしたものである。また、3次元測定装置10は、簡単に持ち運べる程度(従来の単なるステレオカメラ程度)にコンパクトに形成されている。
第1撮像部11と第2撮像部12は、それぞれ3次元測定装置10の左右に配置され、撮影光軸L,Lは平行である。基線長BLの長さは3次元測定装置10の製造時に精密に定められており、第1,第2撮像部11,12による撮影画像を用いた3次元測定をする場合には、基線長BLは既知量である。なお、基線長BLは、第1撮像部11と第2撮像部12の配置間隔であり、より具体的には、撮影光軸L,Lの間隔である。撮影光軸L,Lを非平行にする場合は、例えば各撮像部11,12の主点の間隔が基線長BLである。
また、第1撮像部11と第2撮像部12の撮影範囲は少なくとも一部が重複しており、第1撮像部11と第2撮像部12は重複する撮影範囲において同じ被写体を同時に撮影して、左右に視差のある1対の画像を出力する。なお、本明細書において、被写体とは3次元データを測定する対象を表すものとする。このため、以下では、第1撮像部11と第2撮像部12で各々得られる画像には、ともに3次元データを測定する被写体が写っているものとするが、重複する撮影範囲内に他の構造物(建物等)を捉え、これを基準にして、第1撮像部11(または第2撮像部12)で得た画像にだけ写った被写体の3次元データを算出することもできる。
第1撮像部11は、撮像レンズ11aやイメージセンサ11b等を備える。撮像レンズ11aは、被写体の像をイメージセンサ11bに結像させる。図示を省略するが、撮像レンズ11aには、絞りや可動レンズ、及びこれらを動作させるためのカムやギア等を含んでおり、AFや変倍も可能である。イメージセンサ11bは、例えばCMOSやCCD等であり、撮像レンズ11aによって撮像面に結像された被写体の像を画素毎に光電変換することにより、被写体の画像を測定部15に出力する。
第2撮像部12は、撮像レンズ12aやイメージセンサ12b等を備える。撮像レンズ12aやイメージセンサ12bは、第1撮像部11の撮像レンズ11aやイメージセンサ11bと同じものである。但し、第1撮像部11と第2撮像部12の各部は厳密に同一の構成である必要はなく、それぞれ異なっていても良い。第2撮像部12は、撮像して得た画像を測定部15に出力することも第1撮像部11と同様である。
なお、第1撮像部11及び第2撮像部12の各部の動作は、図示しないCPU等により所定のプログラムにしたがって制御される。また、3次元測定装置10には、図示しない画像処理回路やメモリ、A/D変換回路等を備えており、第1撮像部11及び第2撮像部12が出力する画像は、A/D変換やホワイトバランス補正やガンマ補正等の各種画像処理が施された後に測定部15に入力される。
測定部15は、少なくとも2つの異なる撮影位置において、第1撮像部11及び第2撮像部12で撮影して得た4種の画像に基づいて、被写体の3次元データを算出する。測定部15が算出する3次元データとは、例えば、2点間距離(長さ、高さ、幅等)、曲線の長さ、曲率、面積、体積、位置座標等の実空間における寸法等や、被写体をワイヤフレームやポリゴンで表した仮想空間上の3次元モデルデータである。測定部15は、設定に応じてこれらのうち1つまたは複数を3次元データとして算出する。また、測定部15は、設定に応じて、算出した3次元データをディスプレイ16に表示する。例えば、測定部15は、撮影した画像に実空間における被写体の寸法等を重畳してディスプレイ16に表示させる。また、測定部15は、撮影した画像と算出した3次元データを関連付けて記憶装置(図示しないメモリや着脱自在なメディアカード等)に記憶する。ディスプレイ16への表示は任意であり、算出した3次元データを他の装置(コンピュータ等)で使用可能なように記憶しておく場合にはディスプレイ16に3次元データを表示しなくても良い。
なお、測定部15による3次元データの算出には、少なくとも2以上の異なる撮影位置で被写体を撮影した画像が必要である。このため、以下では、第1撮影位置Aと第2撮影位置Bの2箇所で被写体の撮影をし、4種類の画像PAL,PAR,PBL,PBRを得るものとする。第1の添字は撮影位置を表し、第2の添字は撮像部(第1撮像部11によるものがL、第2撮像部12によるものがR)を表す。例えば、画像PALは第1撮影位置Aにおいて第1撮像部11で得た画像であり、画像PARは第1撮影位置Aにおいて第2撮像部12で得た画像である。同様に、画像PBLは第2撮影位置Bにおいて第1撮像部11で得た画像であり、画像PBRは第2撮影位置Bにおいて第2撮像部12で得た画像である。測定部15では、これら4種の画像PAL,PAR,PBL,PBR-のうち少なくとも3つの画像を使用して被写体の3次元データを算出する。
図2に示すように、測定部15は、特徴点検出部21、対応点検出部22、回転行列算出部23、並進行列算出部24、並進距離算出部25、3次元データ算出部26を備える。
特徴点検出部21は、入力された画像の特徴点を複数検出し、座標等の特徴点の情報を対応点検出部22や回転行列算出部23、並進行列算出部24に入力する。特徴点は、例えば、被写体の角(コーナー)、線分の端点、交差点、分岐点等である。これらのどれを検出するか等、特徴点検出部21が検出する特徴点の具体的な種類は任意である。また、特徴点検出部21が行う特徴点検出処理のアルゴリズムは任意であり、例えば、コーナーを特徴点として検出するには、例えば、MoravecやHarrisのアルゴリズムを用いることができる。
なお、3次元データの算出には少なくとも8点の特徴点が必要なので、8点以上の特徴点が検出されるように、特徴点の種類が選定される。また、検出した特徴点が8点に満たない場合、特徴点検出部21は、検出する特徴点の種類または特徴点を検出するためのアルゴリズムを変更して、必ず8点以上の特徴点を検出する。もちろん、特徴点の種類や検出アルゴリズムを変更しても特徴点を8点検出できない場合には、エラーを通知し、使用する画像の変更(あるいは撮影のやり直し)を促す。
具体的な被写体の形状等にもよるが、多くの場合、特徴点検出部21は8点以上の多数の特徴点を検出する。このため、特徴点検出部21は、検出した多数の特徴点から、使用する特徴点を8点〜十数点程度を選出する。多数の特徴点が検出された場合に、特徴点検出部21が選出する特徴点の個数は8点以上であれば任意である。検出したすべての特徴点を使用しても良いが、後に行う対応点の検出等で長大な時間を要することになるので、精度が確保できる範囲内で上述のように少数の特徴点を選出して用いることが好ましい。
対応点検出部22は、特徴点検出部21から特徴点の情報を受けると、特徴点を検出した画像とは異なる画像から、各特徴点に対応する対応点をそれぞれ検出する。対応点検出部22が行う対応点検出処理のアルゴリズムは任意であり、例えば、ブロックマッチング法やKLT追跡法等を用いることができる。ブロックマッチング法により、対応点を検出する場合、特徴点を検出した画像から、特徴点を含む所定サイズの部分画像を切り出し、この部分画像を拡大(縮小)したり、回転させたりしながら、対応点を検出する画像と比較し、一致度(類似度とも言う)の高い箇所を対応点として検出する。対応点検出部22が検出した対応点の座標等の対応点の情報は、回転行列算出部23と並進行列算出部24に入力される。
また、対応点検出部22は、1回の3次元測定において、2つの画像から対応点を検出する。例えば、特徴点検出部21で画像PALまたは画像PARの一方から特徴点を検出した場合には、対応点検出部22は、画像PBL及び画像PBRから対応点を検出する。本実施形態では、このパターンに対応する例を説明する。一方、特徴点検出部21で画像PALと画像PARからそれぞれ特徴点を検出した場合には、画像PALの特徴点に対応する対応点を画像PBLまたは画像PBRのいずれか一方から検出し、他方の画像から画像PARの特徴点に対応する対応点を検出することもある。これは、後述する第3実施形態の場合である(図14,図15参照)。これらのパターンの違いは、設定により変更可能である。
回転行列算出部23は、特徴点を検出した画像及び検出された特徴点の情報と、対応点を検出した画像及び検出した対応点の情報とに基づき、特徴点を検出した画像を撮影した撮像部の位置を基準として、対応点を検出した画像を撮影した撮像部の回転方向及び回転量を表す回転行列を算出する。
例えば、図3に示すように、回転行列算出部23は、画像PALの特徴点と画像PBLの対応点に基づいて、第1撮影位置Aにおける第1撮像部11を基準とした第2撮影位置Bにおける第1撮像部11の回転方向及び回転量を表す回転行列R1aを算出する。
回転行列R1aは、例えば、水平面内での回転角θと鉛直方向からの回転角φの2つのパラメータを用いて表される。もちろん、実空間上に互いに直交するX軸、Y軸、Z軸を定め、回転行列R1aをこれらの各軸の周りの回転角α,β,γを用いて表すこともできる。θ及びφで表した回転行列R1aと、α〜γで表した回転行列R1aは、表記の仕方は異なるが実質的に同じものである。
同様に、回転行列算出部23は、画像PALの特徴点と画像BPRの対応点に基づいて、第1撮影位置Aにおける第1撮像部11を基準とした第2撮影位置Bにおける第2撮像部12の回転方向及び回転量を表す回転行列R2aを算出する。なお、図3では平面的に図示しているため、回転行列R1a,R2aが同じ回転を表しているようにも見えるが、3次元測定装置10が鉛直方向にも回転している場合には回転行列R1a,R2aは異なるものであり、回転行列R2aは回転行列R1aとは異なる回転角θ,φで表される。水平方向にだけ回転している場合には回転行列R1a,R2aは等しい。こうして回転行列算出部23が算出した回転行列R1a,R2aは、並進距離算出部25に入力される。
なお、特徴点を検出した画像及び検出された特徴点の情報と、対応点を検出した画像及び検出した対応点の情報から回転行列を算出する具体的な方法は、例えば、特開平9−237341号公報に記載されているものを用いることができる。
並進行列算出部24は、特徴点を検出した画像及び検出された特徴点の情報と、対応点を検出した画像及び検出した対応点の情報とに基づき、特徴点を検出した画像を撮影した撮像部の位置を基準として、対応点を検出した画像を撮影した撮像部の並進移動の方向を表す並進行列を算出する。
具体的には、並進行列算出部24は、画像PALの特徴点と画像PBLの対応点に基づいて、第1撮影位置Aにおける第1撮像部11を基準とした第2撮影位置Bにおける第1撮像部11の並進移動方向を表す並進行列T1aを算出する(図3参照)。但し、並進行列T1aは規格化されたものだけが算出可能であるために、並進距離の情報は含まれない。
同様に、並進行列算出部24は、画像PALの特徴点と画像BPRの対応点に基づいて、第1撮影位置Aにおける第1撮像部11を基準とした第2撮影位置Bにおける第2撮像部12の方向を表す並進行列T2aを算出する。並進行列T2aは、第1撮像部11と第2撮像部12の位置関係を表すものであるため、厳密には第1撮像部11や第2撮像部12の移動を表していないが、本明細書では、第1撮影位置Aの撮像部(第1撮像部11または第2撮像部12)と第2撮像部Bの撮像部と位置関係を並進移動と称す。また、第1撮影位置Aと第2撮影位置Bの各撮像部間の距離を並進距離と称す。並進行列T2aが規格化されており、並進距離の情報が含まれていないことは並進行列T1aと同様である。
こうして並進行列算出部24が算出した並進行列T1a,T2aは、並進距離算出部25に入力される。
特徴点を検出した画像及び検出された特徴点の情報と、対応点を検出した画像及び検出した対応点の情報から並進行列を算出する具体的な方法は、回転行列の算出方法と同様に、例えば、特開平9−237341号公報に記載されているものを用いることができる。また、本明細書では説明のために回転行列算出部23と並進行列算出部24を別個にしているが、回転行列と並進行列はほぼ同時に対になって算出される。このため、回転行列算出部23と並進行列算出部24は、全体として回転行列及び並進行列を算出する一体の回路等である。
上述のように、回転行列は回転方向と回転量を表しているのに対し、並進行列は並進移動の方向だけを表しているので、一組の回転行列と並進行列(R1aとT1a、またはR2aとT2a)だけでは、第1撮影位置Aの撮像部に対する第2撮影位置Bの撮像部が特定できない。具体的には、図4に示すように、並進行列T1aによって第1撮像部11の並進移動方向が定まり、回転行列R1aによって並進移動方向に対する第1撮像部11の回転方向及び回転角度を定まるが、並進距離が未定であるために、第2撮影位置Bの位置には任意性がある。
このため、3次元測定装置10は、2組の回転行列と並進行列を用いて、第1撮影位置Aにおける撮像部と第2撮影位置Bにおける撮像部間の並進距離を算出する並進距離算出部25を備える。並進距離算出部25は、回転行列R1a及び並進行列T1aと、回転行列R2a及び並進行列T2aを用いて第1撮影位置Aの第1撮像部11を基準とした第2撮影位置Bにおける第1撮像部11の並進距離D1a(図3参照)を算出する。並進距離D1aが算出されると、並進距離D1aと、回転行列R1a,R2a及び並進行列T1a,T2aによって、第1撮影位置Aの撮像部に対する第2撮影位置Bの撮像部の位置や向きの任意性はなくなるので、第1撮影位置Aにおける第1撮像部11を基準とした第2撮影位置Bにおける第2撮像部12の並進距離Dも自動的に決まる。また、第1撮影位置Aにおける第2撮像部12を基準とした第2撮影位置Bにおける第1,第2撮像部11,12の並進距離(図示しない)も同様に自動的に定まる。並進距離D1aを先に算出しているが、もちろん並進距離Dを先に算出しても良い。並進距離算出部25が算出した並進距離D1a,Dは3次元データ算出部26に入力される。
3次元データ算出部26は、下記数1の式に基づいて、画像PAL上の座標(u,v)を実空間上の座標(X,Y,Z)に対応付ける。「w」は画像PALと画像PBLの視差、「f」は画像PALを撮影した時の焦点距離、「p」はイメージセンサ11bの画素ピッチである。視差は特徴点と対応点の画素座標の差で表される。例えば、第1撮影位置Aと第2撮影位置Bで水平方向にだけ3次元測定装置10が回転していた場合には、特徴点のu座標と対応点のu座標の差(w=u−u)である。なお、並進距離D1a,視差「w」,焦点距離「f」,画素ピッチ「p」を適切なものに置き換えることにより、数1を用いて画像PBLや画像PBR上の座標を実空間上の座標に変換することができる。
3次元データ算出部26は、上述のように、画像PAL上の座標から算出された実空間上の座標を用いて、被写体の3次元データを算出する。また、特徴点間の長さ等実空間上の寸法等を算出した場合、3次元データ算出部26は算出した寸法等を画像PALに重畳する合成処理をし、ディスプレイ16に表示させる。また、3次元データ算出部26で3次元モデルデータを算出した場合は、3次元モデルデータをディスプレイ16に表示させる。
なお、測定部15の各部21〜26は、具体的には、メモリや各種演算回路と、これらの回路等の動作を統括的に制御するCPU及び制御用プログラムで構成される。各部21〜26を形成する回路等は、各部21〜26で一部または全部が共用されているものがあっても良い。
上述のように構成される3次元測定装置10の作用を説明する。図5に示すように、3次元測定装置10を用いて第1撮影位置Aと第2撮影位置Bから3次元データを測定する被写体を撮影し、4枚の画像PAL,PAR,PBL,PBRを取得する(撮影ステップS10)。このとき、第1撮像部11と第2撮像部12の重複する撮影範囲内で、できるだけ近い位置に被写体があるようにすることが好ましい。被写体距離が遠いほど、後に算出する3次元データの分解能が低下し、特に、画像の奥行方向の分解能の低下が著しいからである。具体的には、撮影する被写体は1〜3m以内にあることが好ましい。被写体距離がこの程度の範囲内であれば、奥行き方向においても、被写体距離に対して1%程度の分解能が得られる。
4枚の画像PAL,PAR,PBL,PBRが得られると、まず、画像PALから特徴点が検出される(特徴点検出ステップS11)。具体的には、図6に示すように、画像PALに被写体H,Hがあるとすると、特徴点検出部21はこれらの被写体H,Hのコーナー等を、それぞれ特徴点F〜F14として検出する。また、特徴点F〜F14は全部で14点あるので、3次元データの算出に使用する8点の特徴点が選出される。例えば、特徴点F,F,F,F,F,F11,F13,F14が選出されたとする。
こうして特徴点が検出及び選出されると、対応点検出部22は画像PBL及び画像PBRから対応点を検出する(対応点検出ステップS12)。具体的には、図7に示すように、対応点検出部22は特徴点を検出した画像PALから、特徴点Fを含む画像PALの部分画像31を切り出し、部分画像31を適宜拡大させたり、回転させたりしながら、画像PBLの部分と比較する。そして、一致度が最も高い部分を対応点Cとして検出する。同様にして、他の選出された特徴点F,F,F,F,F11,F13,F14の対応点C,C,C,C,C11,C13,C14をそれぞれ検出する。また、同様にして、対応点検出部22は画像PBRから対応点を検出する。
なお、撮影位置及び撮影の向きによる視差があるために、画像PALと画像PBLでは、各画像内の被写体H,Hの位置や向きが異なっているので、選出した特徴点に対応する対応点が画像PBLで検出できないことがある。例えば、特徴点Fや特徴点F(図6参照)は、画像PBLには写っていないので、これらの対応点を画像PBLで検出することができない。また、一致度が最も高くても、特徴点に全く関係のない部分が対応点として検出されてしまう。このように、対応点が検出できない場合、あるいは、最も高い一致度が規定値に満たない場合には、特徴点が選出し直され、新たに選出された特徴点について再び対応点が検出される。
対応点が検出されると、特徴点と対応点に基づいて回転行列及び並進行列が算出される(ステップS13,14)。ステップS13,14は、それぞれ回転行列算出テップでもあり、並進行列算出ステップでもある。
ステップS13では、画像PALの特徴点と画像PBLの対応点の各画像内座標に基づいて、回転行列R1aと並進行列T1aが算出される。また、ステップS14では、画像PALの特徴点と画像PBRの対応点の各画像内座標に基づいて、回転行列R2aと並進行列T1aが算出される。すなわち、ステップS13,S14によって、第1撮影位置Aの第1撮像部11と第2撮影位置Bの第1撮像部11のペア(第1ペア)と、第1撮影位置Aの第1撮像部11と第2撮影位置Bの第2撮像部12のペア(第2ペア)のそれぞれについて、回転行列と並進行列が算出される。
回転行列R1a,R2a及び並進行列T1a,T2aが算出されると、並進距離算出部25はこれらを用いて、第2撮影位置Bにおける基線長ベクトル32(図8参照)の位置を探索する(ステップS15)。そして、求めた第2撮影位置Bにおける基線長ベクトル32の位置に基づいて並進距離D1aを算出する(ステップS16)。ステップS15及びステップS16が並進距離算出ステップである。
図8に示すように、基線長ベクトル32は、基線長BLの長さと、回転行列R1a,R2aで定まる向きを有し、第2撮影位置Bにおける3次元測定装置10の第1撮像部11と第2撮像部12をそれぞれ基点32a及び先端32bとするベクトルである。並進距離算出部25は、第1撮影位置Aの第1撮像部11を基準として並進行列T1aが示す直線(以下、T1a方向という)上の任意の点に基線長ベクトル32の基点32aを置き、第1撮影位置Aの第1撮像部11を基準として並進行列T2aが示す直線(以下、T2a方向という)と先端32bの距離を算出する。そして、T2a方向と先端32bの距離が最も小さくなる基線長ベクトル32の基点32a及び先端32bの座標を求める。
1a方向及びT2a方向は、それぞれ第2撮影位置Bの第1撮像部11と第2撮像部12がある方向を表しており、T1a方向とT2a方向の間隔は、第1撮影位置Aから離れるにしたがって広くなる。しかし、基線長BLの長さは不変であるから、基線長ベクトル32の基端32aをT1a方向上の任意の位置に置いて第2撮影位置Bにおける第1撮像部11の位置を仮定した場合に、この位置が真の第2撮影位置Bであれば、第2撮影位置Bにおける第2撮像部12の位置を示す基線長ベクトル32の先端32bはT2a方向上にあるはずである。
すなわち、矢印b1及び矢印b3で示すように、基線長ベクトル32の基端32aを第1撮影位置Aに対して近くまたは遠くに置きすぎれば、先端32bはT2a方向から離れるので、基端32aの位置をT1a方向上で変化させながら、先端32bとT2a方向の距離を算出すれば、矢印b2で示すように、先端32bがT2a方向に最も近くなった(理想的にはT2a方向に合致した)位置を第2撮影位置Bであると判別できる。
こうして第2撮影位置Bの位置が確定すれば、第2撮影位置Bにおける第1撮像部11と第2撮像部12の位置や、第1撮影位置Aにおける第1撮像部11を基準とした各撮像部の並進距離D1a,Dが定まる。すなわち、基線長ベクトル32の基端32aは、第2撮影位置Bにおける第1撮像部11の位置であり、先端32bは第2撮影位置Bにおける第2撮像部12の位置であるから、第1撮影位置Aの第1撮像部11から基端32aまでの長さが並進距離D1aであり、先端32bまでの長さが並進距離Dである
上述のように、並進距離D1a,Dが求まると、3次元データ算出部26は、並進距離D1aと、画像PALを撮影した時の焦点距離「f」、視差「w」、イメージセンサ11bの画素ピッチ「p」を用い、前述の数1の式にしたがって画像PAL内の座標を実空間座標に対応付けることにより、被写体H,Hの3次元データを算出する(3次元データ算出ステップS17)。そして、3次元データ算出部26は算出した3次元データをディスプレイ16に表示する(表示ステップS18)。例えば、図9に示すように、3次元データとして特徴点間の距離を算出した場合には、画像PALに特徴点間の距離の表示を重畳して、ディスプレイ16に表示する。
上述のように、3次元測定装置10は、基線長BLが既知の第1撮像部11及び第2撮像部12を備え、これらによって2箇所の撮影位置から被写体を撮影した画像PAL,PBL,PBRを用いることにより、3次元測定装置10の移動前後の位置関係(並進距離D1a,D)及び3次元データを算出する。このため、3次元測定装置10は、特許文献1,2のように巨大なステレオカメラを形成するために事前に高精度なキャリブレーションを行う必要はなく、特許文献3のように基準被写体を同時に撮影する必要もない。すなわち、3次元測定装置10は自由に持ち運びながら被写体を撮影するだけで、簡単にかつ高精度に被写体の3次元データを算出することができる。
また、3次元測定装置10は、3次元データの算出に、画像PALと画像PBL,画像PALと画像PBRをそれぞれペアにして用い、回転行列や並進行列を算出している。これは、第1撮影位置Aにおける第1撮像部11と第2撮影位置Bにおける第1撮像部11のペアや、第1撮影位置Aにおける第1撮像部11と第2撮影位置Bにおける第2撮像部12のペアが、実質的に巨大なステレオカメラを形成しているのと等しい。そして、これらのペアの基線長(並進距離D1a,D)は基線長BLに比べて長い。このため、3次元測定装置10は高精度に3次元データを算出することができる。
[第2実施形態]
上述の第1実施形態では、基線長ベクトル32が正しく求められており、基線長ベクトル32の基端32aをT1a方向上に置いた場合に、先端32bがT2a方向にほぼ合致する基線長ベクトル32の位置があることを前提にしている。しかし、そもそも基線長ベクトル32が正しく求められていない場合には、先端32bとT2a方向の距離が最小になったとしても、その位置は第2撮影位置Bを表さない。
図10に示すように、基線長ベクトル32が、T1a方向とT2a方向とで定まる面(以下、T1a−T2a平面という)に対してねじれていることがある。例えば、図10において基端32aをT1a方向上で動かしながら、先端32bとT2a方向の距離σ〜σを算出すると、距離σが最小である。このため、上述の第1実施形態では先端32bとT2a方向の距離がσの基線長ベクトル32の位置が第2撮影位置Bと判別される。
しかし、そもそも基線長ベクトル32はT1a−T2a平面内にあるはずのものであるから、基線長ベクトル32の向きまたはT1a−T2a平面の少なくともどちらかが誤っているか、誤差が大きいと言える。このような場合には、当然ながら、先端32bとT2a方向の距離が最小になったとしても、その基線長ベクトル32の位置が第2撮影位置Bを表さない。また、σ〜σの中では最小とはいえ、距離σは大きな値であることもある。このように、基線長ベクトル32がT1a−T2a平面から浮いているような場合には、回転行列R1a,R2aや並進行列T1a,T2aを算出し直す必要がある。これは、前述のように基線長ベクトル32は回転行列R1a,R2aによって、T1a−T2a平面は並進行列T1a,T2aによって定まるからである。
このため、例えば図11に示すように、第2撮影位置Bを表す基線長ベクトル32の位置を求めた場合に、その先端32bとT2a方向の距離の最小値σminを閾値σTHと比較することにより、回転行列R1a,R2aや並進行列T1a,T2aの信頼性を検査する(信頼性検査ステップS21)。最小値σminが所定閾値σTHよりも小さい場合(σmin<σTH)には、基線長ベクトル32はほぼT1a−T2a平面内にあるので、求めた基線長ベクトル32の位置を信頼し、この基線長ベクトル32の位置に基づいて並進距離D1a,Dの算出等をする(第1実施形態と同じステップS16〜S18)。
一方、最小値σminが所定閾値σTH以上の場合(σmin≧σTH)には、基線長ベクトル32がT1a−T2a平面から浮いていると判断し、条件を変更して、画像PBL及び画像PBRの対応点を検出し直す(対応点再検出ステップS22)。そして、検出し直した対応点に基づいて、新たな回転行列R1a,R2aや並進行列T1a,T2aし、これらを用いて第2撮影位置Bを表す基線長ベクトル32の位置を算出する(第1実施形態と同じステップS13〜S16)。
このように、条件を変えて対応点を再検出することにより、対応点検出の精度を上げれば、回転行列R1a,R2aや並進行列T1a,T2aの誤差が減少する。回転行列R1a,R2aや並進行列T1a,T2aの制度が向上すれば、最小値σminを閾値σTHより小さく抑えられるので、結果として精度良く並進距離や3次元データを算出することができる。また、誤った第2撮影位置Bを求めてしまい、結果的に誤差が大きい3次元データを算出してしまうことを防止できる。
なお、対応点を検出し直す場合に変更する条件とは、例えば、使用する特徴点の組み合わせを変更すること、部分画像31の大きさを変えること、部分画像31の拡大率や縮小率(拡大縮小率)を変えること、処理を速くするために部分画像31の拡大や回転をせずに対応点を検出していた場合には部分画像31の拡大や回転も行うようにすること、対応点検出のアルゴリズムを変更すること等のいずれか、またはこれらの組み合わせである。
また、上述の第2実施形態では、対応点を検出し直すが、特徴点の検出からやり直しても良い。特徴点の算出をやり直す場合には、先に検出した特徴点から選出する特徴点の組み合わせを選出し直しても良いし、特徴点を検出するアルゴリズムを変更して、新たな特徴点を検出しても良い。上述の第2実施形態のように、対応点の再検出を試みた後、対応点の再検出だけでは最小値σminを閾値σTHより小さく抑えられなかった場合に、特徴点の再検出を行うようにしても良い。逆に、特徴点の再検出を先に試み、特徴点の再検出だけでは最小値σminを閾値σTHより小さく抑えられなかった場合に、対応点の再検出を試みるようにしても良い。
[第3実施形態]
上述の第1,第2実施形態では、画像PALと画像PBL,PBRを用いることにより、第1撮影位置Aの第1撮像部11と第2撮影位置Bの第1撮像部11のペアについての回転行列R1a及び並進行列T1aと、第1撮影位置Aの第1撮像部11と第2撮影位置Bの第2撮像部12のペアについての回転行列R2a及び並進行列T2aを用いるが、この他のペアについて算出した回転行列や並進行列を用いることも可能である。また、全4種のペアのうち、3次元データの算出に用いる2種のペアは任意である。
例えば、図12に示すように、第1撮影位置Aの第1撮像部11と第2撮影位置Bの第1撮像部11のペアについて回転行列R1aと並進行列T1aを算出し、第1撮影位置Aの第2撮像部12と第2撮影位置Bの第2撮像部12のペアについて回転行列R2bと並進行列T2bを算出する。そして、これらの回転行列R1a,R2b及び並進行列T1a,T2bを用いて、並進距離D1a,D2bを算出し、さらに3次元データを算出することができる。
この例ではT1a方向とT2b方向が交差しているが、図13に示すように、第2撮影位置Bを表す基線長ベクトル32の探索方法は第1,第2実施形態と同様である。すなわち、真の第2撮影位置Bから離れるほど、基線長ベクトル32の先端32bとT2b方向の距離が離れるので、この距離が最小になる基線長ベクトル32の位置を第2撮影位置Bの位置と判別することができる。
このように、第1撮影位置Aの第1撮像部11と第2撮影位置Bの第1撮像部11のペアと、第1撮影位置Aの第2撮像部12と第2撮影位置Bの第2撮像部12のペアについての回転行列R1a,R2b及び並進行列T1a,T2bを利用するには、画像PAL及びPARからそれぞれ特徴点を算出し、画像PBLから画像PALの特徴点に対応する対応点を検出し、画像PBRから画像PARの特徴点に対応する対応点を検出する必要がある。このため、回転行列R1a,R2b及び並進行列T1a,T2bを利用する場合、第1実施形態の場合よりも特徴点ステップが増えるが、特徴点検出や対応点検出の誤差の影響を受け難い。例えば、第1実施形態の場合には、特徴点検出や対応点検出に誤差があれば、その誤差の大きさがそのまま直接的に3次元データの算出誤差につながる。一方、上述のように回転行列R1a,R2b及び並進行列T1a,T2bを利用する場合、回転行列R1a及び並進行列T1aの元になる特徴点及び対応点と、回転行列R2b及び並進行列T2bの元になる特徴点及び対応点は各々別々に検出されるので、一方に前述と同量の誤差があったとしても、他方に誤差がなければ、3次元データの算出誤差は概ね半分程度に抑えられる。
また、回転行列R1a,R2b及び並進行列T1a,T2bは次のように利用することが特に好ましい。図14及び図15に示すように、まずは第1実施形態と同様に、画像PALと画像PAR,PBRを用いて回転行列R1a,R2a及び並進行列T1a,T2aを算出し、並進距離D1a,Dを算出する(S10〜S16)。次に、画像PARから特徴点を検出して、使用する特徴点を選出し(第2特徴点検出ステップS31)、この画像PARの特徴点に対応する対応点を画像PBRから検出する(第2対応点検出ステップS32)。そして、画像PARの特徴点と画像PBRの対応点に基づいて、回転行列R2bと並進行列T2bを算出する(ステップS33)。ステップS33は、第2の回転行列算出ステップであり、第2の並進行列算出ステップである。こうして算出した回転行列R2bと並進行列T2bと、先にステップS14で算出した回転行列R1aと並進行列T1aを用いて、第2撮影位置Bに対応する基線長ベクトル32の位置を探索し(S34)、求めた第2撮影位置Bに対応する基線長ベクトル32の位置から並進距離D1aを算出する(S35)。
算出した並進距離D1aは、第1撮影位置Aの第1撮像部11と第2撮影位置Bの第1撮像部11の距離ではあるが、使用した画像の組み合わせ(回転行列及び並進行列)が異なるので、先にステップS16で算出した値と異なることがある。このため、以下では、区別のためにステップS34,S35で算出する並進距離を並進距離D1bと表記する。
3次元データ算出部26は、上述のようにして使用する画像の組み合わせを変えて算出された同じ距離を表すはずの2つの並進距離D1aと並進距離D1bを所定の閾値DTHと比較する(S36)。並進距離D1aと並進距離D1bの差が閾値DTHよりも小さい場合には(|D1a−D1b|<DTH)、3次元データ算出部26は、並進距離D1aを用いて3次元データを算出し、ディスプレイ16に表示する(S17,S18)。これは、2種類の方法で算出した同じ長さの誤差が小さければ、元の算出方法が信頼できると判断できるからである。
一方、並進距離D1aと並進距離D1bの差が閾値DTH以上の値であった場合には(|D1a−D1b|≧DTH)、並進距離D1aと並進距離D1bのうち少なくとも一方は誤差が大きいと判断し、第2実施形態のように、対応点の検出条件を変更する(S37)。そして変更後の条件で対応点を再検出し、回転行列や並進行列、さらには並進距離D1a及び並進距離D1bを算出し直す。対応点を再検出する場合に変更する条件は、第2実施形態と同様である。また、前述のように、特徴点を再算出しても良いこと等も第2実施形態と同様である。
上述のように、回転行列R1a,R2b及び並進行列T1a,T2bを利用すれば、単に並進距離を算出できるだけでなく、回転行列R1a,R2b及び並進行列T1a,T2bが3次元データの算出精度のチェックにも利用できるので効率的である。
なお、上述の第3実施形態では、並進距離D1aと並進距離D1bを比較したが、並進距離D1aを用いた3次元データと並進距離D1bを用いて算出した3次元データを比較しても良い。3次元データの比較とは、例えば、同一の特徴点の実空間座標の比較、同一の特徴点間距離の比較等である。
なお、上述の第3実施形態では、並進距離D1aと並進距離D1bの差が閾値DTHよりも小さい場合に、並進距離D1aに基づいて3次元データを算出するが、並進距離D1bを用いて3次元データを算出しても良い。
なお、上述の第3実施形態では、第1撮影位置Aの第1撮像部11と第2撮影位置Bの第1撮像部11の第1ペアと、第1撮影位置Aの第1撮像部11と第2撮影位置Bの第2撮像部12の第2ペアと、第1撮影位置Aの第2撮像部12と第2撮影位置Bの第2撮像部12の第3ペアの回転行列及び並進行列を利用しているが、並進距離D1aを算出するために用いる2つのペアと並進距離D1bを算出するために用いる2つのペアは任意である。当然、第1撮影位置Aにおける第2撮像部12と第2撮影位置Bにおける第1撮像部11との第4ペアを用いることもできる。但し、並進距離D1aを算出するために用いる2つのペアのうち1つと、並進距離D1bを算出するために用いる2つのペアのうちの1つは共通でなければならない。
なお、上述の第3実施形態では、2種類の方法で同じ並進距離D1a,D1bを算出し、これらの差が大きい場合には対応点を再検出するが、図16及び図17に示すように、並進距離D1a,D1bを算出する元になった、基線長ベクトル32の先端32基線長ベクトル32の先端32とT2a方向,T2b方向の距離の最小値σ,σを比較しても良い(S41)。このとき、例えば、最小値σが最小値σよりも小さい場合には(σ<σ)、誤差がより小さい並進距離D1aを信頼し、並進距離D1aに基づいて3次元データを算出する(S42)。一方、最小値σが最小値σ以上の値の場合には(σ≧σ)、誤差がより小さい並進距離D1bを信頼し、並進距離D1bに基づいて3次元データを算出する(S43)。こうすると、誤差が大きい3次元データが算出されてしまうことを防止しつつ、対応点等を再検出する場合に比べれば速く3次元データを算出することができる。
さらに、上述の変形例では、回転行列及び並進行列を算出する撮像部のペアを2種類にしているが、使用する特徴点の組み合わせや、対応点を検出するための条件が異なる2つの条件で並進距離D1a,D1bを算出し、これらの並進距離D1a,D1bを算出した時の最小値σと最小値σを比較しても良い。
なお、上述の第2,第3実施形態では、3次元データの算出精度が良くないと判断される場合に、対応点検出や特徴点検出し、同じ方法で3次元データの算出をやり直すが、代わりに上述の第1〜第3実施形態とは全く別の方法で3次元データの算出をやり直しても良い。また、対応点検出や特徴点検出をやり直しても、3次元データの算出精度が向上しなかった場合には、この別の方法で3次元データの算出をやり直すことが好ましい。
別の方法とは、例えば、図18に示す方法である。具体的には、まず、第1撮影位置Aの第1撮像部11で得た画像PALから特徴点を検出し(S51)、第2撮影位置Bの第1撮像部11で得た画像PBLにおいてその対応点を検出する(S52)。そして、検出した特徴点と対応点を用いて回転行列R1aと並進行列T1aを算出する(S53)。このステップS51〜S53の特徴点検出、対応点検出、及び回転行列と並進行列の算出は省略しても良い。また、検出条件を変えてステップS54及びS55を実行し、ステップS53で回転行列R1aと並進行列T1aを算出しても良い。
次に、並進距離を任意値「d」と仮定し、この並進距離の仮定値d(以下、仮想並進距離dという)と回転行列R1aと並進行列T1aを用いて、第1撮影位置Aの第1撮像部11に対する第2撮影位置Bの第2撮像部12の回転行列rと並進行列tを算出する(S54)。さらに、こうして求めた回転行列rと並進行列tと仮想並進距離「d」を用い、第1撮影位置Aの第1撮像部11から所定の特徴点への視線を表すエピポーラ線を画像PBR上で算出する(S55)。図19に示すように、エピポーラ線は特徴点毎に引くことができ、例えば、エピポーラ線E,E10,E13は、特徴点F,F10,F13を通るエピポーラ線である。画像PBRのエピポーラ線とは、こうしたエピポーラ線を画像PBR上で描いた直線である。
次いで、算出したエピポーラ線に沿って、所定の特徴点との一致度を算出する(S56)。そして、上述のステップS55及びステップS56のエピポーラ線の算出と一致度の算出を、仮想並進距離「d」を変えながら繰り返し行うことにより、一致度が最も高くなるエピポーラ線を選出する(S57)。
具体的には、図20に示すように、仮想並進距離「d」をd〜dに変えながら特徴点F10のエピポーラ線E10を算出すると、仮想並進距離がdの場合のエピポーラ線E10[d]、仮想並進距離がdの場合のエピポーラ線E10[d]、仮想並進距離がdの場合のエピポーラ線E10[d]、仮想並進距離がdの場合のエピポーラ線E10[d]はそれぞれ異なる。本来のエピポーラ線は特徴点を通るはずだが、エピポーラ線を算出するために用いた並進距離が仮想値であるために、仮想並進距離「d」が真の並進距離「d」と異なると、その分、画像PBR上の対応点C10から離れた位置を通る。このため、エピポーラ線E10[d]〜E10[d]の各々に沿って、特徴点E10を含む部分画像31と画像PBRを比較すると、特徴点E10の対応点C10を通るエピポーラ線E10[d]において、一致度が最も高くなる点がある。前述のように、エピポーラ線は本来特徴点を通るものなので、一致度が最も高い点があるエピポーラ線E10[d]が、仮想並進距離「d」が正しい本来のエピポーラ線であると推定できる。なお、図20では、対応点C10を説明のために記載しているが、対応点C10を検出する必要はない。一致度の算出が対応点C10の検出に相当している。
こうして一致度が最も高いエピポーラ線E10[d]が選出されれば、このエピポーラ線E10[d]を算出するために使用した仮想並進距離dが、真の並進距離であると推定できるので、仮想並進距離dを用いて3次元データを算出することができる(S57)。
なお、上述のようにエピポーラ線を用いて並進距離を求めるには、図21に示すように、測定部15にエピポーラ線算出部41と一致度評価部42を設けておく必要がある。エピポーラ線算出部41は、仮想並進距離「d」と、回転行列r2a及び並進行列t2aとを用いたエピポーラ線の算出(S55)を行う。一致度評価部42は、エピポーラ線算出部41で算出したエピポーラ線上での一致度の算出と、一致度が最も高いエピポーラ線の選出を行う(S56〜S57)。仮想並進距離「d」を用いた回転行列r2aと並進行列t2aの算出(S54)は、それぞれ回転行列算出部23と並進行列算出部24で行えば良い。
なお、上述の第1〜第3実施形態では、3次元測定装置10に第1撮像部11と第2撮像部12を備え、さらに測定部15も内蔵しているが、これらは分離していても良い。すなわち、図22に示すように、第1撮像部11と第2撮像部12を備えるステレオカメラ51と、測定部15を備える画像処理装置52によって3次元測定システム53を構成しても良い。この場合、ステレオカメラ51は、基線長BLが既知の2つの撮像部(第1撮像部11と第2撮像部12)を備えていなければならないことを除けば、その他の構成は任意である。また、画像処理装置52は、例えば、CPUや各種演算回路等で測定部15を構成したコンピュータであり、測定部15の他には、例えば、ステレオカメラ51から画像PAL,PAR,PBL,PBRを受け取るためのインターフェイスや、これらの画像を少なくとも一時的に記憶するメモリ54、測定部15で算出した3次元データを表示するディスプレイ55等を備える。
また、上述のようにステレオカメラと画像処理装置を分離して3次元測定システムにする場合には、図23に示すように、2台のステレオカメラ51a,51bと、画像処理装置52とで3次元測定システム56を構成しても良い。そして、第1撮影位置Aにおいては一方のステレオカメラ51aを用いて被写体を撮影し、第2撮影位置Bにおいては他方のステレオカメラ51bを用いて被写体を撮影しても良い。画像処理装置52では、このように2つの撮影位置A,Bにおいてそれぞれ別々のステレオカメラ51a,51bを用いて撮影した画像を用いても3次元データを算出することができる。ステレオカメラ51a,51bは同機種であることが好ましいが、基線長BLが等しい(または基線長BLを他方に合わせることができる)ならば、異なる機種を用いることもできる。また、1つの3次元測定システムに、3台以上のステレオカメラを備えるようにしても良い。この場合、3以上の撮影位置で撮影した画像のうち、2つの撮影位置で撮影した画像を選択的に用いて3次元データを算出することができる。
さらに、上述のように3次元測定装置10をステレオカメラ51と画像処理装置52に分離して設けた3次元測定システム10では、図24に示すように、ステレオカメラ51を車載カメラにすることもできる。この場合、自動車57で被写体H,Hの周辺を走りながら撮影をし、その後、撮りためた画像を画像処理装置52に取り込んで、被写体H,Hの3次元データを算出することができる。このように、ステレオカメラ51を車載カメラにすれば、移動速度の利点を活かしつつ、容易かつ精密に被写体の3次元データを得ることができる。但し、ステレオカメラ51を車載カメラにする場合でも、特許文献1のような巨大なステレオカメラにする必要はなく、基線長BLが既知のコンパクトなステレオカメラ51を用いることができ、かつ、配置や向きを精密に測定したりする必要もない。ステレオカメラ51は単に被写体H,Hを撮影可能なように車載すれば良い。このため、自動車57の向き等によって、第1撮像部11と第2撮像部12の重複する撮影範囲にうまく被写体がおさまらない場合には、適宜ステレオカメラ51の位置や向きを調節すれば良い。このため、自動車57の大きさや道路の向き、ステレオカメラの向きの調節のし難さ等によるデメリットはない。当然、測定部15を含む3次元測定装置10自体を車載しても良い。
なお、上述の第1〜第3実施形態では、3次元測定装置10の基線長BLが不変であるが、基線長を可変にしても良い。但し、3次元データの算出に使用する全ての画像は、同じ基線長で撮影されなければならない。また、少なくとも3次元データを算出する場合に、変化させた基線長BLは既知でなければならない。また、3次元データの測定精度を劣化させないためには、変化させた基線長BLは、3次元データの算出に必要な程度に精密に測定されている必要がある。
なお、上述の第1〜第3実施形態では、基線長ベクトル32の基端32aをT1a方向上に置き、先端32bとT2a方向の距離を算出することによって第2撮影位置Bを特定したが、先端32aをT2a方向上に置き、基端32aとT1a方向の距離を算出することによっても第2撮影位置Bを特定することができる。また、基線長ベクトル32の基端32aと先端32bを逆に定義しても良い。
なお、上述の第1〜第3実施形態では、第1撮像部11と第2撮像部12の各撮影光軸L,Lが平行であるが、第1撮像部11と第2撮像部12を相対的に傾けて配置し、各撮影光軸L,Lを非平行にしても良い。この場合、3次元データを算出する計算が煩雑になるが、基本的な原理は、上述の第1〜第3実施形態と同様である。具体的には、基線長ベクトル32をT1a方向上で動かす場合に、基点を置く位置と撮影光軸L,Lのなす角度に応じて基線長ベクトル32を適宜拡大または縮小し、第2撮影位置Bの探索をすれば良い。
なお、上述の実施形態では、第1撮像部11と第2撮像部12は同時に撮影を行うが、第1撮像部11と第2撮像部12の撮影タイミングは厳密に同時である必要はない。撮影位置や3次元測定装置10の傾き等が変化しないとみなせる範囲内でほぼ同時に撮影をすることができれば、例えば第1撮像部11と第2撮像部12で順に撮影するようにしても良い。
10 3次元測定装置
11 第1撮像部
12 第2撮像部
15 測定部
21 特徴点検出部
22 対応点検出部
23 回転行列算出部
24 並進行列算出部
25 並進距離算出部
26 3次元データ算出部
31 部分画像
32 基線長ベクトル
41 エピポーラ線算出部
42 一致度評価部
51 ステレオカメラ
52 画像処理装置

Claims (15)

  1. 被写体を撮像する第1撮像部と、
    前記第1撮像部に対して所定の基線長をおいて配置され、前記第1撮像部が撮像する前記被写体の少なくとも一部を含む範囲を撮像する第2撮像部と、
    第1撮影位置において前記第1撮像部及び前記第2撮像部によって前記被写体を撮像して得た2枚の画像のうち少なくともいずれか一方の画像から複数の特徴点を検出する特徴点検出部と、
    前記第1撮影位置とは異なる第2撮影位置において前記第1撮像部及び前記第2撮像部によって前記被写体を撮像して得た2枚の画像の各々について、前記特徴点に対応する対応点を検出する対応点検出部と、
    前記特徴点と前記対応点に基づき、前記第1撮影位置における前記第1撮像部または前記第2撮像部の向きを基準として、前記第2撮影位置における前記第1撮像部の回転方向及び回転量を表す第1回転行列と、前記第2撮像部の回転方向及び回転量を表す第2回転行列を算出する回転行列算出部と、
    前記特徴点と前記対応点に基づき、前記第1撮影位置における前記第1撮像部または前記第2撮像部の位置を基準として、前記第2撮影位置における前記第1撮像部の並進移動方向を表す第1並進行列と、前記第2撮像部の並進移動方向を表す第2並進行列を算出する並進行列算出部と、
    前記第1回転行列または前記第2回転行列の少なくとも一方が零行列でない場合に、前記第1回転行列、前記第2回転行列、前記第1並進行列、及び前記第2並進行列と、前記基線長に基づいて、前記第1撮影位置における前記第1撮像部または前記第2撮像部を基準とした前記第2撮影位置における前記第1撮像部または前記第2撮像部の並進距離を算出する並進距離算出部と、
    前記並進距離に基づいて、前記被写体の3次元データを算出する3次元データ算出部と、
    を備える3次元測定装置。
  2. 前記並進距離算出部は、基線長ベクトルの先端と前記第1方向または前記第2方向のうち他方の距離が最小になる前記基線長ベクトルの位置を求め、当該位置にある前記基線長ベクトルの基端及び先端の位置に基づいて、各々の前記並進距離を算出し、
    前記基線長ベクトルは、前記基線長の長さを有し、前記第1回転行列及び前記第2回転行列によって定まる基線長ベクトルの基端を、前記第1並進行列が表す第1方向または前記第2並進行列が表す第2方向のうち一方の上に置かれているものである請求項1に記載の3次元測定装置。
  3. 前記並進距離算出部は、前記第1方向と前記第2方向のうち前記他方の方向と前記基線長ベクトルの先端との距離の最小値を所定閾値と比較し、前記最小値が前記所定閾値以上の場合に、条件を変えて前記並進距離を再算出する請求項2に記載の3次元測定装置。
  4. 前記並進距離算出部は、前記第1撮影位置及び前記第2撮影位置で得た4枚の画像のうち任意の組み合わせの複数の画像を用いて算出した第1の前記並進距離と、前記第1の並進距離を算出する場合に使用した前記複数の画像とは異なる組み合わせの複数の画像を用いて算出し、前記第1の並進距離と同じ撮像部間の距離を表す第2の前記並進距離との差が所定閾値よりも大きい場合に、条件を変えて前記並進距離を再算出する請求項1に記載の3次元測定装置。
  5. 前記並進距離算出部が前記並進距離を再算出する場合に、前記対応点検出部は前記対応点を検出するための条件を変えて、前記対応点を再検出し、前記回転行列算出部,前記並進行列算出部及び前記並進距離算出部は、前記特徴点と再検出した前記対応点に基づいて、前記回転行列、前記並進行列、及び前記並進距離を再算出する請求項3に記載の3次元測定装置。
  6. 前記対応点を再検出する場合に変える条件は、前記特徴点の組み合わせである請求項5に記載の3次元測定装置。
  7. 前記対応点検出部は、前記対応点の検出を、前記特徴点を含む前記第1撮影位置で撮影した画像のうち前記特徴点を含む部分画像と、前記第2撮影位置で撮影した画像を部分毎に比較して一致度が高い前記部分を前記対応点とするブロックマッチング法により行い、
    前記対応点を再検出する場合に変える条件には、前記部分画像と前記第2撮影位置で撮影した画像を部分毎に比較するときの前記部分画像の拡大縮小率または回転角度のうちいずれかを含む請求項5に記載の3次元測定装置。
  8. 前記特徴点検出部は、前記特徴点の検出条件を変えて、前記特徴点を再検出し、前記対応点検出部,前記回転行列算出部,前記並進行列算出部及び前記並進距離算出部は、再検出された前記特徴点に基づいて、前記対応点の検出、前記回転行列、前記並進行列、及び前記並進距離を再算出する請求項3に記載の3次元測定装置。
  9. 前記回転行列算出部は、前記第1撮像部の並進距離である仮定値、前記第1回転行列及び前記第1並進行列に基づいて、前記第2回転行列を再算出し、
    前記並進行列算出部は、前記仮定値、前記第1回転行列及び前記第1並進行列に基づいて、前記第2並進行列を再算出し、
    前記並進距離算出部は、前記仮定値と再算出した前記第2回転行列及び前記第2並進行列に基づいて、前記第2撮影位置で得た画像上で少なくとも1つの前記特徴点について定まるエピポーラ線を算出し、前記エピポーラ線上において前記特徴点との一致度を求め、さらに前記仮定値を変更して前記一致度の算出を繰り返し行って、前記一致度が最も高くなる前記エピポーラ線を選出することにより前記第2撮影位置を特定して、前記並進距離を再算出する請求項3に記載の3次元測定装置。
  10. 前記並進距離算出部は、複数の前記特徴点のうち前記対応点を検出する前記特徴点の組み合わせ、または前記対応点を検出するための条件が異なる複数の条件で前記並進距離を予め算出し、
    前記3次元データ算出部は、前記第1方向と前記第2方向のうち前記他方の方向と前記基線長ベクトルの先端との距離の最小値を比較して、前記最小値が小さい前記条件で算出された前記並進距離を使用する請求項2に記載の3次元測定装置。
  11. 前記3次元データは、前記被写体の実空間上での寸法または前記被写体の3次元モデルデータである請求項1に記載の3次元測定装置。
  12. 被写体を撮像する第1撮像部と、前記第1撮像部に対して所定の基線長をおいて配置され、前記第1撮像部が撮像する前記被写体の少なくとも一部を含む範囲を撮像する第2撮像部とを有する1つまたは2つのステレオカメラによって、第1撮影位置と第2撮影位置でそれぞれ撮影した画像を記憶する記憶部と、
    前記第1撮影位置において前記第1撮像部及び前記第2撮像部によって前記被写体を撮像して得た2枚の画像のうち少なくともいずれか一方の画像から複数の特徴点を検出する特徴点検出部と、
    前記第2撮影位置において前記第1撮像部及び前記第2撮像部によって前記被写体を撮像して得た2枚の画像の各々について、前記特徴点に対応する対応点を検出する対応点検出部と、
    前記特徴点と前記対応点に基づき、前記第1撮影位置における前記第1撮像部または前記第2撮像部の向きを基準として、前記第2撮影位置における前記第1撮像部の回転方向及び回転量を表す第1回転行列と、前記第2撮像部の回転方向及び回転量を表す第2回転行列を算出する回転行列算出部と、
    前記特徴点と前記対応点に基づき、前記第1撮影位置における前記第1撮像部または前記第2撮像部の位置を基準として、前記第2撮影位置における前記第1撮像部の並進移動方向を表す第1並進行列と、前記第2撮像部の並進移動方向を表す第2並進行列を算出する並進行列算出部と、
    前記第1回転行列または前記第2回転行列の少なくとも一方が零行列でない場合に、前記第1回転行列、前記第2回転行列、前記第1並進行列、及び前記第2並進行列と、前記基線長に基づいて、前記第1撮影位置における前記第1撮像部または前記第2撮像部を基準とした前記第2撮影位置における前記第1撮像部または前記第2撮像部の並進距離を算出する並進距離算出部と、
    前記並進距離に基づいて、前記被写体の3次元データを算出する3次元データ算出部と、
    を備える画像処理装置。
  13. A.被写体を撮像する第1撮像部と、前記第1撮像部に対して所定の基線長をおいて配置され、前記第1撮像部が撮像する前記被写体の少なくとも一部を含む範囲を撮像する第2撮像部とを有する1つまたは2つのステレオカメラと、
    B.第1撮影位置と第2撮影位置でそれぞれ撮影した画像を記憶する記憶部と、前記第1撮影位置において前記第1撮像部及び前記第2撮像部によって前記被写体を撮像して得た2枚の画像のうち少なくともいずれか一方の画像から複数の特徴点を検出する特徴点検出部と、前記第2撮影位置において前記第1撮像部及び前記第2撮像部によって前記被写体を撮像して得た2枚の画像の各々について、前記特徴点に対応する対応点を検出する対応点検出部と、前記特徴点と前記対応点に基づき、前記第1撮影位置における前記第1撮像部または前記第2撮像部の向きを基準として、前記第2撮影位置における前記第1撮像部の回転方向及び回転量を表す第1回転行列と、前記第2撮像部の回転方向及び回転量を表す第2回転行列を算出する回転行列算出部と、前記特徴点と前記対応点に基づき、前記第1撮影位置における前記第1撮像部または前記第2撮像部の位置を基準として、前記第2撮影位置における前記第1撮像部の並進移動方向を表す第1並進行列と、前記第2撮像部の並進移動方向を表す第2並進行列を算出する並進行列算出部と、前記第1回転行列または前記第2回転行列の少なくとも一方が零行列でない場合に、前記第1回転行列、前記第2回転行列、前記第1並進行列、及び前記第2並進行列と、前記基線長に基づいて、前記第1撮影位置における前記第1撮像部または前記第2撮像部を基準とした前記第2撮影位置における前記第1撮像部または前記第2撮像部の並進距離を算出する並進距離算出部と、前記並進距離に基づいて、前記被写体の3次元データを算出する3次元データ算出部とを有する画像処理装置と、
    を備える3次元測定システム。
  14. 前記ステレオカメラが車載カメラである請求項13に記載の3次元測定システム。
  15. 被写体を撮像する第1撮像部と、前記第1撮像部に対して所定の基線長をおいて配置され、前記第1撮像部が撮像する前記被写体の少なくとも一部を含む範囲を撮像する第2撮像部とを有する1つまたは2つのステレオカメラを用いて被写体の3次元データを求める3次元測定方法において、
    第1撮影位置において前記第1撮像部と前記第2撮像部で前記被写体を撮像して得た2枚の画像のうち少なくともいずれか一方の画像から複数の特徴点を検出する特徴点検出ステップと、
    前記ステレオカメラによって前記第1撮影位置とは異なる第2撮影位置において前記被写体を撮像して得た2枚の画像の各々について、前記特徴点に対応する対応点を検出する対応点検出ステップと、
    前記特徴点と前記対応点に基づき、前記第1撮影位置における前記第1撮像部または前記第2撮像部の向きを基準として、前記第2撮影位置における前記第1撮像部の回転方向及び回転量を表す第1回転行列と、前記第2撮像部の回転方向及び回転量を表す第2回転行列を算出する回転行列算出ステップと、
    前記特徴点と前記対応点に基づき、前記第1撮影位置における前記第1撮像部または前記第2撮像部の位置を基準として、前記第2撮影位置における前記第1撮像部の並進移動方向を表す第1並進行列と、前記第2撮像部の並進移動方向を表す第2並進行列を算出する並進行列算出ステップと、
    前記第1回転行列または前記第2回転行列の少なくとも一方が零行列でない場合に、前記第1回転行列、前記第2回転行列、前記第1並進行列、及び前記第2並進行列と、前記基線長に基づいて、前記第1撮影位置における前記第1撮像部または前記第2撮像部を基準とした前記第2撮影位置における前記第1撮像部または前記第2撮像部の並進距離を算出する並進距離算出ステップと、
    前記並進距離に基づいて、前記被写体の3次元データを算出する3次元データ算出ステップと、
    を備える3次元測定方法。
JP2014522566A 2012-06-29 2013-06-19 3次元測定方法、装置及びシステム、並びに画像処理装置 Expired - Fee Related JP5745178B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014522566A JP5745178B2 (ja) 2012-06-29 2013-06-19 3次元測定方法、装置及びシステム、並びに画像処理装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2012146468 2012-06-29
JP2012146468 2012-06-29
PCT/JP2013/066855 WO2014002849A1 (ja) 2012-06-29 2013-06-19 3次元測定方法、装置及びシステム、並びに画像処理装置
JP2014522566A JP5745178B2 (ja) 2012-06-29 2013-06-19 3次元測定方法、装置及びシステム、並びに画像処理装置

Publications (2)

Publication Number Publication Date
JP5745178B2 true JP5745178B2 (ja) 2015-07-08
JPWO2014002849A1 JPWO2014002849A1 (ja) 2016-05-30

Family

ID=49783007

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014522566A Expired - Fee Related JP5745178B2 (ja) 2012-06-29 2013-06-19 3次元測定方法、装置及びシステム、並びに画像処理装置

Country Status (4)

Country Link
US (1) US9197880B2 (ja)
JP (1) JP5745178B2 (ja)
CN (1) CN104428624B (ja)
WO (1) WO2014002849A1 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3125808B1 (en) 2014-03-28 2023-01-04 Intuitive Surgical Operations, Inc. Quantitative three-dimensional visualization of instruments in a field of view
KR102373714B1 (ko) 2014-03-28 2022-03-15 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 멀티포트 투시에 의한 수술 장면의 정량적 3차원 영상화
CN106535812B (zh) 2014-03-28 2020-01-21 直观外科手术操作公司 带有基于定量三维成像的触觉反馈的手术系统
US10368054B2 (en) 2014-03-28 2019-07-30 Intuitive Surgical Operations, Inc. Quantitative three-dimensional imaging of surgical scenes
US10350009B2 (en) 2014-03-28 2019-07-16 Intuitive Surgical Operations, Inc. Quantitative three-dimensional imaging and printing of surgical implants
US10247541B2 (en) * 2014-03-31 2019-04-02 Gorilla Technology Inc. System and method of estimating the three-dimensional size of an object for packaging or storing the object
WO2016086379A1 (en) * 2014-12-04 2016-06-09 SZ DJI Technology Co., Ltd. Imaging system and method
JP6261085B2 (ja) * 2014-12-16 2018-01-17 日本電信電話株式会社 画像解析装置及びコンピュータプログラム
JP6507730B2 (ja) * 2015-03-10 2019-05-08 富士通株式会社 座標変換パラメータ決定装置、座標変換パラメータ決定方法及び座標変換パラメータ決定用コンピュータプログラム
KR102410300B1 (ko) * 2015-06-26 2022-06-20 한국전자통신연구원 스테레오 카메라를 이용한 카메라 위치 측정 장치 및 방법
CN105187812B (zh) * 2015-09-02 2016-11-30 中国兵器工业计算机应用技术研究所 一种双目视觉立体匹配方法
JP6534455B2 (ja) * 2016-02-04 2019-06-26 富士フイルム株式会社 情報処理装置、情報処理方法、及びプログラム
CN106170086B (zh) * 2016-08-19 2019-03-15 深圳奥比中光科技有限公司 绘制三维图像的方法及其装置、系统
CN106840103B (zh) * 2016-12-15 2019-03-05 东南大学 一种基于长短混合基线的数字摄影测量方法
WO2018142580A1 (ja) * 2017-02-03 2018-08-09 三菱電機株式会社 表示制御装置および表示制御方法
US10762718B2 (en) * 2017-02-17 2020-09-01 Fca Us Llc System and method for determining minimal negative distance between two objects
CN108534713B (zh) * 2017-03-02 2019-08-06 林明慧 免对正轴心的影像测量装置及其测量方法
CN107071281A (zh) * 2017-04-19 2017-08-18 珠海市魅族科技有限公司 全景拍摄方法及装置
GB2601940B (en) * 2017-06-16 2022-09-14 Symbol Technologies Llc Methods, systems and apparatus for segmenting and dimensioning objects
KR20200054324A (ko) * 2017-10-08 2020-05-19 매직 아이 인코포레이티드 다중 이동형 센서들을 포함한 센서 시스템의 캘리브레이션
JP6857147B2 (ja) * 2018-03-15 2021-04-14 株式会社日立製作所 三次元画像処理装置、及び三次元画像処理方法
CN109308706B (zh) * 2018-08-24 2021-08-10 华南理工大学 一种通过图像处理得到三维曲面面积的方法
JP6956051B2 (ja) * 2018-09-03 2021-10-27 株式会社東芝 画像処理装置、運転支援システム、画像処理方法及びプログラム
WO2020111139A1 (ja) * 2018-11-29 2020-06-04 Necソリューションイノベータ株式会社 座標算出装置、座標算出方法、及びコンピュータ読み取り可能な記録媒体
CN109902725A (zh) * 2019-01-31 2019-06-18 北京达佳互联信息技术有限公司 移动目标的检测方法、装置及电子设备和存储介质
CN111238374B (zh) * 2020-03-16 2021-03-12 天目爱视(北京)科技有限公司 一种基于坐标测量的三维模型构建及测量方法
JP7369093B2 (ja) 2020-05-28 2023-10-25 株式会社日立製作所 距離計測システム、及び距離計測方法
JP7369094B2 (ja) * 2020-05-29 2023-10-25 株式会社日立製作所 距離計測システム、及び距離計測方法
CN116379953B (zh) * 2023-05-30 2023-09-05 武汉中岩科技股份有限公司 一种远距离双目三维变形测量系统的拍摄控制方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0827838B2 (ja) * 1986-07-01 1996-03-21 オムロン株式会社 多眼立体視装置
JP4565171B2 (ja) * 2000-09-20 2010-10-20 国立大学法人静岡大学 距離測定装置及びその方法
JP4227037B2 (ja) 2004-02-25 2009-02-18 株式会社国際電気通信基礎技術研究所 撮像システム及び校正方法
JP2005338977A (ja) * 2004-05-25 2005-12-08 Aichi Gakuin 立体画像処理システム
JP4814669B2 (ja) 2006-03-28 2011-11-16 株式会社デンソーアイティーラボラトリ 3次元座標取得装置
JP5018980B2 (ja) 2010-04-08 2012-09-05 カシオ計算機株式会社 撮像装置、長さ測定方法、及びプログラム
JP5516376B2 (ja) * 2010-12-10 2014-06-11 富士通株式会社 位置特定装置、位置特定方法、及びプログラム

Also Published As

Publication number Publication date
US20150109420A1 (en) 2015-04-23
JPWO2014002849A1 (ja) 2016-05-30
WO2014002849A1 (ja) 2014-01-03
CN104428624A (zh) 2015-03-18
CN104428624B (zh) 2016-08-24
US9197880B2 (en) 2015-11-24

Similar Documents

Publication Publication Date Title
JP5745178B2 (ja) 3次元測定方法、装置及びシステム、並びに画像処理装置
JP5715735B2 (ja) 3次元測定方法、装置、及びシステム、並びに画像処理装置
JP5580164B2 (ja) 光学情報処理装置、光学情報処理方法、光学情報処理システム、光学情報処理プログラム
WO2011125937A1 (ja) キャリブレーションデータ選択装置、選択方法、及び選択プログラム、並びに三次元位置測定装置
US10776937B2 (en) Image processing apparatus and image processing method for setting measuring point to calculate three-dimensional coordinates of subject image with high reliability
KR20110059631A (ko) 3차원 계측 장치 및 그 방법
JP4038726B2 (ja) 画像対応付け方法
US20060008268A1 (en) Three-dimensional image processing apparatus, optical axis adjusting method, and optical axis adjustment supporting method
KR102129206B1 (ko) 사진 이미지를 이용한 3차원 좌표 계산 방법 및 3차원 좌표 계산 장치
JP2005017286A (ja) カメラキャリブレーション方法およびカメラキャリブレーション装置
JP2002099902A (ja) 両眼立体視によって物体の3次元情報を計測する画像処理装置およびその方法又は計測のプログラムを記録した記録媒体
WO2019087253A1 (ja) ステレオカメラのキャリブレーション方法
US8102516B2 (en) Test method for compound-eye distance measuring apparatus, test apparatus, and chart used for the same
JP2008224323A (ja) ステレオ写真計測装置、ステレオ写真計測方法及びステレオ写真計測用プログラム
JP2003006618A (ja) 3次元モデルの生成方法および装置並びにコンピュータプログラム
JP2006317418A (ja) 画像計測装置、画像計測方法、計測処理プログラム及び記録媒体
JP4550081B2 (ja) 画像測定方法
JPH09210649A (ja) 三次元計測装置
JP5727969B2 (ja) 位置推定装置、方法、及びプログラム
JP4223860B2 (ja) 画像マッチング方法
JP6641485B2 (ja) 位置指定装置および位置指定方法
JP7399632B2 (ja) 撮影処理装置、及び撮影処理方法
JP6091092B2 (ja) 画像処理装置、及び画像処理方法
JP7397734B2 (ja) 測距システム、測距方法及び測距プログラム
JP2008123142A (ja) 対応点探索方法および3次元位置計測方法

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150401

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150430

R150 Certificate of patent or registration of utility model

Ref document number: 5745178

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees