JP6503906B2 - 画像処理装置、画像処理方法および画像処理プログラム - Google Patents

画像処理装置、画像処理方法および画像処理プログラム Download PDF

Info

Publication number
JP6503906B2
JP6503906B2 JP2015117769A JP2015117769A JP6503906B2 JP 6503906 B2 JP6503906 B2 JP 6503906B2 JP 2015117769 A JP2015117769 A JP 2015117769A JP 2015117769 A JP2015117769 A JP 2015117769A JP 6503906 B2 JP6503906 B2 JP 6503906B2
Authority
JP
Japan
Prior art keywords
point
map
feature
captured image
projection
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.)
Active
Application number
JP2015117769A
Other languages
English (en)
Other versions
JP2017004268A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015117769A priority Critical patent/JP6503906B2/ja
Priority to US15/138,644 priority patent/US9842399B2/en
Priority to EP16167883.4A priority patent/EP3104329B1/en
Publication of JP2017004268A publication Critical patent/JP2017004268A/ja
Application granted granted Critical
Publication of JP6503906B2 publication Critical patent/JP6503906B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/97Determining parameters from multiple pictures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • 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/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

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

Description

本発明は、画像処理装置等に関する。
PC(Personal Computer)および携帯端末等に取り付けられたカメラの撮影画像を基にして、撮影画像に対するカメラの位置姿勢を求める技術がある。また、カメラの位置姿勢を用いて、PCおよび携帯端末等の画面に表示された撮影画像にコンピュータグラフィックス(CG)等の付加情報を重畳表示させ、ユーザの作業支援を実現するAR技術がある。
図11は、AR技術の一例を示す図である。図11に示すように、例えば、利用者が携帯端末10に内蔵されたカメラを用いて、マーカ11および点検対象12を撮影すると、携帯端末10の表示画面10aに、マーカ11に対するオブジェクト情報13が表示される。
カメラの位置姿勢を求める技術としては、撮影画像に含まれる特徴点を用いる従来技術1が開示されている。特徴点は、着目点の近傍での濃淡変動が大きく、濃淡変動によって着目点の画像上の位置が一意に規定されることを基準として検出される。従来技術1では、予め生成しておいた特徴点の3次元座標の集合を用いる。以下の説明では、特徴点の3次元座標をマップ点と表記し、マップ点の集合を初期マップと適宜表記する。例えば、従来技術1では、現在の撮影画像中に存在する特徴点と、撮影画像上に投影したマップ点とを対応付けることにより、カメラの位置姿勢を推定する。
図12は、カメラの位置姿勢を求める従来技術1を説明するための図である。図12に示す例では、マップ点S〜Sが存在するものとする。あるマップ点Sは、世界座標系で、式(1)によって示される。撮影画像20上には、特徴点x〜xが存在するものとする。ある特徴点xは、カメラ座標系で、式(2)によって示される。撮影画像20上に投影したマップ点を、投影点p’〜p’とする。ある投影点p’は、カメラ座標系で、式(3)によって示される。
=(x,y,z)・・・(1)
=(u,v)・・・(2)
’=(u’,v’)・・・(3)
例えば、従来技術1では、式(4)によって算出される二乗和Eが最小となるようなカメラ位置姿勢行列Mを算出することで、カメラの位置姿勢を求める。
Figure 0006503906
続いて、初期マップを生成する従来技術1について説明する。図13は、初期マップを生成する従来技術1を説明するための図である。例えば、従来技術1では、ステレオ撮影の原理を用いる。従来技術1は、撮影位置を変えた2枚の撮影画像中の特徴点で同じものを対応付けしていく。従来技術1は、対応付けした複数の対応点の各撮影画像中の位置関係から対応点をマップ点とした初期マップを生成する。
図13に示す例では、復元されるマップ点をSとし、初期のカメラの撮影位置Caおよびマップ点Sを結ぶ線分と、1枚目の撮影画像20aとが交差する点を、特徴点xaiとする。2番目のカメラの撮影位置Cbおよびマップ点Sを結ぶ線分と、2枚目の撮影画像20bとが交差する点を、特徴点xbiとする。そうすると対応点は、特徴点xaiおよび特徴点xbiとなる。
初期マップの3次元座標の原点には、1枚目の撮影画像のカメラ位置・撮影方向を用いることが一般的である。図14は、カメラの撮影方向の定義の一例を示す図である。図14に示すように、例えば、カメラC10の位置(T、T、T)、撮影方向(R、R、R)を基準にして、初期マップの3次元座標の原点を定義する。
ここで、初期マップを用いてカメラの位置姿勢を求める従来技術1では、原理的に、下記に説明する適正条件1〜4が当てはまる。適正条件1は、マップ点の3次元座標の精度が高いほどカメラの位置姿勢の推定精度が向上するというものである。このため、ステレオ撮影に使用する2枚の撮影画像を何度も取り直すことがある。
適正条件2は、マップ点とマッチングする特徴点がカメラに近いほどカメラの位置姿勢の推定精度が向上するというものである。これは、撮影対象の特徴点がカメラに近いほど、相対的にカメラの分解能が上がり、撮影画像中の特徴点の位置の精度が向上するためである。
適正条件3は、マップ点が多いほどカメラの位置姿勢の推定精度が向上するというものである。適正条件4は、マップ点の分布の広がりが広いほどカメラの位置姿勢の推定精度が向上するというものである。
原理上は特徴点とマッチングしたマップ点が5点または8点あればカメラの位置姿勢の推定を行えるので、従来技術では、適正条件2を配慮せずに、適正条件3、4を優先してできるだけ多くのマップ点を用いている。
しかし、上述したステレオ撮影によって初期マップを生成すると、原理的にz軸方向の精度が悪いと言う問題がある。計算手法の工夫で精度を向上させる試みはあるものの、本質的な解決策とはなっていない。
一方、リアルタイムで対象物の3次元座標を取得できる3D距離センサが普及してきている。特に、3D距離センサとカメラの両方をセットし相互に位置関係の補正を行うことで、カメラの撮影画像の各特徴点の3次元座標をリアルタイムに求めることが可能となっている。3D距離センサを用いると、初期マップ生成の際の1枚目の撮影画像中の特徴点の検出の時点で、マップ点の3次元座標を規定することができ、更にマップ点の位置精度もステレオ撮影によるマップ点の位置精度より高くなる。
特開2000−293687号公報 特開2012−68772号公報
しかしながら、上述した従来技術では、カメラの位置姿勢の推定精度が劣化するという問題がある。
例えば、3D距離センサは、測定できるカメラからの距離に制限があり、高精度に3次元座標を測定できる距離が短いという問題がある。また、3D距離センサは、対象物の色が黒に近い場合や、材質が光りを反射しにくい場合に測定ができないという問題がある。このため、従来技術1の代わりに、3D距離センサを用いると、対象物によってはマップ点として使用できる点数が少なくなり、適正条件3,4を満たさず、カメラの位置姿勢の推定精度がかえって劣化する場合がある。
図15は、3D距離センサに測定された3D距離画像の一例を示す図である。図15において、画像30aは、カメラによって撮影された撮影画像である。画像30bは、画像30aに対応する3D距離センサによって測定された3D距離画像である。画像30bにおいて、黒色の領域は、3D距離センサで検出できない領域を示す。また、画像30bにおいて、距離が近いほど白く撮影される。例えば、対象物31は、カメラからの距離が40cmの対象物であり、対象物32は、カメラからの距離が140cmの対象物である。
1つの側面では、本発明は、カメラの位置姿勢の推定精度を向上させることができる画像処理装置、画像処理方法および画像処理プログラムを提供することを目的とする。
第1の案では、画像処理装置は、記憶部と、マッチング部と、位置姿勢推定部とを有する。記憶部は、距離センサにより測定された特徴点の3次元座標を示す第1マップ点と、複数の撮影画像に基づいて特定された特徴点の3次元座標を示す第2マップ点との情報を含むマップ点情報を記憶する。マッチング部は、第1マップ点を撮像画像上に投影した第1投影点と、撮影画像上の特徴点とを比較して、類似する第1投影点と特徴点とのペアを作成する。マッチング部は、作成したペアの個数に基づいて、第2マップ点を用いたマッチングを実行するか否かを判定する。マッチング部は、第2マップ点を用いたマッチングを実行すると判定した場合には、第2マップ点を撮像画像上に投影した第2投影点と、撮影画像上の特徴点とを比較して、類似する第2投影点と特徴点とのペアを作成する。位置姿勢推定部は、マッチング部のマッチング結果およびマップ点情報を基にして、撮影画像を撮影したカメラの位置および姿勢を推定する。
カメラの位置姿勢の推定精度を向上させることができる。
図1は、本実施例に係る画像処理装置の構成を示す機能ブロック図である。 図2は、本実施例に係る初期マップ生成部の構成を示す機能ブロック図である。 図3は、撮影画像から検出した特徴点の一例を示す図である。 図4は、初期マップ情報のデータ構造の一例を示す図である。 図5は、カメラ位置姿勢推定部の構成を示す機能ブロック図である。 図6は、マップ点の分布状況の判定方法の一例を示す図である。 図7は、本実施例に係る初期マップ生成部の処理手順を示すフローチャートである。 図8は、本実施例に係るカメラ位置姿勢推定部の処理手順を示すフローチャート(1)である。 図9は、本実施例に係るカメラ位置姿勢推定部の処理手順を示すフローチャート(2)である。 図10は、画像処理プログラムを実行するコンピュータの一例を示す図である。 図11は、AR技術の一例を示す図である。 図12は、カメラの位置姿勢を求める従来技術1を説明するための図である。 図13は、初期マップを生成する従来技術1を説明するための図である。 図14は、カメラの撮影方向の定義の一例を示す図である。 図15は、3D距離センサに測定された3D距離画像の一例を示す図である。
以下に、本願の開示する画像処理装置、画像処理方法および画像処理プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
図1は、本実施例に係る画像処理装置の構成を示す機能ブロック図である。図1に示すように、この画像処理装置100は、カメラ50aと、3D距離センサ50bと、初期マップ生成部100aと、カメラ位置姿勢推定部100bとを有する。
カメラ50aは、画像を撮影する装置である。カメラ50aが撮影した画像を撮影画像と表記する。カメラ50aは、撮影画像の情報を、初期マップ生成部100a、カメラ位置姿勢推定部100bに出力する。カメラ50aは、複数の位置に移動可能であり、例えば、撮影位置Ca、撮影位置Cbで画像を撮影する。利用者が手動でカメラ50aの撮影位置を変更してもよいし、画像処理装置100が自動でカメラ50aの撮影位置を変更してもよい。
3D距離センサ50bは、3D距離センサ50bが測定できる範囲内の対象物と、3D距離センサ50bとの距離の情報を含む3D距離画像を取得するセンサである。3D距離センサ50bは、3D距離画像の情報を、初期マップ生成部100aに出力する。例えば、3D距離センサ50bが撮影する3D距離画像は、カメラ50aが撮影位置Caで撮影した撮影画像に対応する。
初期マップ生成部100aは、マップ点の集合となる初期マップ情報を生成する処理部である。マップ点は、特徴点の3次元座標に対応するものである。初期マップ生成部100aは、カメラ50aを用いたステレオ撮影によってマップ点を求める処理と、3D距離センサ50bによって撮影された3D距離画像によってマップ点を求める処理とを併用する。初期マップ生成部100aは、初期マップ情報を、カメラ位置姿勢推定部100bに出力する。
以下の説明において、適宜、3D距離センサ50bによって撮影された3D距離画像によって求めたマップ点を「第1マップ点」と表記し、カメラ50aを用いたステレオ撮影によって求めたマップ点を「第2マップ点」と表記する。また、第1マップ点、第2マップ点をとくに区別しない場合には、単にマップ点と表記する。
一般的に、第2マップ点よりも、第1マップ点の方が3次元座標の精度が高い。このため、初期マップ生成部100aは、第2マップ点の情報よりも、第1マップ点の情報を優先して、初期マップ情報に保存する。また、初期マップ生成部100aは、マップ点の情報を、初期マップ情報に保存する場合には、3D距離画像によって求めた第1マップ点であるのか、ステレオ撮影によって求めた第2マップ点であるのかを合わせて、初期マップ情報に保存する。
カメラ位置姿勢推定部100bは、第2マップ点よりも、第1マップ点を優先して使用して、第1マップ点を撮影画面上に投影した第1投影点と、撮影画像上の特徴点とを比較し、類似する第1投影点と特徴点とのペアを作成するマッチングを行う。カメラ位置姿勢推定部100bは、マッチング結果および初期マップ情報を基にして、カメラ50aの位置および姿勢を推定する。
なお、カメラ位置姿勢推定部100bは、類似する第1投影点と特徴点とのペアの個数が閾値未満である場合には、第2マップ点を撮影画面上に投影した第2投影点と、撮影画像上の特徴点とを比較する。カメラ位置姿勢推定部100bは、類似する第2投影点と特徴点とのペアを作成することで、不足するペアの個数を、第2マップ点を用いて補う。
カメラ位置姿勢推定部100bは、測定精度の高い第1マップ点を優先して使用し、不足する分は、第2マップ点を用いて補うことで、投影点と特徴点とのマッチングを行うため、カメラ50aの位置姿勢の推定精度を向上させることができる。
次に、図1に示した初期マップ生成部の構成について説明する。図2は、本実施例に係る初期マップ生成部の構成を示す機能ブロック図である。図2に示すように、この初期マップ生成部100aは、画像取得部101と、特徴点検出部102と、特徴点マッチング処理部103と、特徴点ステレオ処理部104とを有する。また、初期マップ生成部100aは、3D距離画像取得部105と、特徴点3次元座標取得部106と、マップ点生成部107と、初期マップ記憶部108とを有する。
画像取得部101は、カメラ50aから撮影画像の情報を取得する処理部である。初期マップ生成部100aは、ステレオ撮影の原理を用いて第2マップ点を特定するため、画像取得部101は、カメラ50aの撮影位置の異なる2枚の撮影画像を取得する。カメラ50aの撮影位置は、画像取得部101が自動で設定しても良いし、利用者が手動で設定しても良い。画像取得部101は、撮影画像の情報を、特徴点検出部102および3D距離画像取得部105に出力する。
特徴点検出部102は、撮影画像から特徴点を検出する処理部である。例えば、特徴点検出部102は、着目点の近傍での濃淡変動が大きく、濃淡変動によって着目点の画像上の位置が一意に規定されることを基準として、特徴点を検出する。特徴点は、対象物の角に対応する場合が多い。図3は、撮影画像から検出した特徴点の一例を示す図である。図3に示す例では、丸印が、特徴点を示している。
特徴点検出部102は、特徴点の情報を、特徴点マッチング処理部103、特徴点3次元座標取得部106に出力する。特徴点の情報は、例えば、撮影画像上の特徴点を識別する情報と、特徴点の座標と、特徴点周辺の画素の情報を対応付けた情報となる。特徴点検出部102は、撮影位置Caで撮影された撮影画像から検出した第1の特徴点の情報と、撮影位置Cbで撮影された撮影画像から検出した第2の特徴点の情報を、特徴点マッチング処理部103に出力する。
特徴点マッチング処理部103は、第1の特徴点の情報と、第2の特徴点の情報とを比較して、対象の同じ場所を検出していて、類似している特徴点同士をマッチングして特徴点のペアを作成する処理部である。特徴点マッチング処理部103は、マッチングした特徴点のペアの情報を、特徴点ステレオ処理部104に出力する。例えば、特徴点のペアの情報は、ペアとなる特徴点を識別する情報と、ペアとなる特徴点の座標を含む。
例えば、特徴点マッチング処理部103は、第1の特徴点と第2の特徴点との座標の差分が閾値未満となり、かつ、第1の特徴点周辺の画素値と第2の特徴点周辺の画素値との差分が閾値未満となる場合に、第1の特徴点と第2の特徴点を、特徴点のペアとする。
特徴点ステレオ処理部104は、特徴点のペアの情報と、ステレオ撮影の原理に基づいて、特徴点の3次元座標を算出する処理部である。特徴点ステレオ処理部104が算出した特徴点の3次元座標は、上述した第2マップ点に対応する。
特徴点ステレオ処理部104は、第2マップ点の情報を、マップ点生成部107に出力する。第2マップ点の情報は、第2マップ点の3次元座標、特徴量、画像パターンテンプレートを含む。ここで、特徴量は、第2マップ点に対応する撮影画像上の特徴点の周辺の画素値を所定の順番で並べたものである。画像パターンテンプレートは、第2マップ点に対応する撮影画像上の特徴点を含む所定範囲の画像である。
3D距離画像取得部105は、3D距離センサ50bで測定した3D距離画像を取得する処理部である。また、3D距離画像取得部105は、カメラ50aの撮影位置Caで撮影された撮影画像を取得する。3D距離画像取得部105は、3D距離画像と、撮影画像とを特徴点3次元座標取得部106に出力する。
特徴点3次元座標取得部106は、特徴点の情報と、撮影画像と、3D距離画像とを基にして、特徴点の3次元座標を特定する処理部である。例えば、特徴点3次元座標取得部106は、撮影画像上の特徴点の位置を、特徴点の情報を基にして特定し、特定した特徴点の位置と、3D距離画像との関係から、特徴点の3次元座標を特定する。特徴点3次元座標取得部106が特定した特徴点の3次元座標は、上述した第1マップ点に対応する。
特徴点3次元座標取得部106は、第1マップ点の情報を、マップ点生成部107に出力する。第1マップ点の情報は、第1マップ点の3次元座標、特徴量、画像パターンテンプレートを含む。ここで、特徴量は、第1マップ点に対応する撮影画像上の特徴点の周辺の画素値を所定の順番で並べたものである。画像パターンテンプレートは、第1マップ点に対応する撮影画像上の特徴点を含む所定範囲の画像である。
マップ点生成部107は、第1マップ点の情報および第2マップ点の情報を基にして、初期マップ情報を生成する処理部である。マップ点生成部107は、初期マップ情報を、初期マップ記憶部108に格納する。
マップ点生成部107は、初期マップ情報を生成する場合には、第1マップ点の情報を、第2マップ点の情報よりも優先する。例えば、マップ点生成部107は、第1マップ点の3次元座標と、第2マップ点の3次元座標とが類似する場合には、第1マップ点の3次元座標の情報を、初期マップ情報に登録する。第1マップ点の3次元座標と、第2マップ点の3次元座標とが類似するとは、例えば、第1マップ点の3次元座標と、第2マップ点の3次元座標との差分が閾値未満であることを示す。
図4は、初期マップ情報のデータ構造の一例を示す図である。図4に示すように、この初期マップ情報は、識別番号と、3次元座標と、種類と、特徴量と、画像パターンテンプレートとを対応付ける。識別番号は、マップ点を一意に識別する番号である。種類は、マップ点が、第1マップ点であるのか、第2マップ点であるのかを示す情報である。マップ点が第1マップ点である場合には、種類が「3D距離センサ」となる。マップ点が第2マップ点である場合には、種類が「ステレオ」となる。特徴量、画像パターンテンプレートに関する説明は、上記の特徴量、画像パターンテンプレートに関する説明と同様である。
初期マップ記憶部108は、初期マップ情報を記憶する記憶部である。初期マップ生成部100aは、初期マップ記憶部108に格納された初期マップ情報を、カメラ位置姿勢推定部100bに出力する。
次に、図1に示したカメラ位置姿勢推定部100bの構成について説明する。図5は、カメラ位置姿勢推定部の構成を示す機能ブロック図である。図5に示すように、このカメラ位置姿勢推定部100bは、画像取得部210と、初期マップ記憶部220と、マッチング部230と、位置姿勢推定部240とを有する。
画像取得部210は、カメラ50aから撮影画像の情報を取得する処理部である。画像取得部210は、撮影画像の情報を、マッチング部230に出力する。
初期マップ記憶部220は、図4で説明した初期マップ情報を記憶する記憶部である。カメラ位置姿勢推定部100bは、初期マップ生成部100aから初期マップ情報を取得し、取得した初期マップ情報を、初期マップ記憶部220に格納する。
マッチング部230は、第1マップ点を撮像画像上に投影した第1投影点と、撮影画像上の特徴点とを比較して、類似する第1投影点と特徴点とのペアを作成する。マッチング部230は、作成したペアの個数に基づいて、第2マップ点を用いたマッチングを実行するか否かを判定する。マッチング部230は、第2マップ点を用いたマッチングを実行すると判定した場合には、第2マップ点を撮像画像上に投影した第2投影点と、撮影画像上の特徴点とを比較して、類似する第2投影点と特徴点とのペアを作成する。マッチング部230は、マッチング結果を、位置姿勢推定部240に出力する。
マッチング部230は、特徴点検出部231と、マップ点投影部232と、マップ点使用条件設定部233と、マッチング処理部234と、マッチング結果判定部235とを有する。
特徴点検出部231は、撮影画像から特徴点を検出する処理部である。特徴点検出部231が特徴点を検出する処理は、上述した特徴点検出部102が特徴点を検出する処理と同様である。特徴点検出部231は、特徴点の情報および撮影画像の情報を、マップ点投影部232に出力する。
マップ点投影部232は、初期マップ記憶部220に格納された初期マップ情報を参照し、第1マップ点を撮影画像中に射影変換して投影した第1投影点を求める処理部である。マップ点投影部232は、複数の第1投影点のうち、撮影画像の撮影範囲に含まれる第1投影点の情報を、マップ点使用条件設定部233に出力する。例えば、第1投影点の情報は、第1投影点の2次元座標、第1投影点に対応する第1マップ点の3次元座標、第1マップ点の特徴量、特徴点の情報、撮影画像の情報を含む。
また、マップ点投影部232は、マップ点使用条件設定部233からの要求により、第2投影点の情報を生成する。マップ点投影部232は、初期マップ情報を参照し、第2マップ点を撮影画像中に射影変換して投影した第2投影点を求める。マップ点投影部232は、複数の第2投影点のうち、撮影画像の撮影範囲に含まれる第2投影点の情報を、マップ点使用条件設定部233に出力する。例えば、第2投影点の情報は、第2投影点の2次元座標、第2投影点に対応する第2マップ点の3次元座標、第2マップ点の特徴量、特徴点の情報、撮影画像の情報を含む。
マップ点使用条件設定部233は、選択条件に基づいて、マッチング処理部234で使用するマップ点(投影点)を選択する処理部である。例えば、マップ点使用条件設定部233は、後述する第1選択条件、第2選択条件または第3選択条件を用いる。マップ点使用条件設定部233は、はじめは、第1選択条件を用いて動作し、後述するマッチング結果判定部235の判定結果に基づいて、第1選択条件を、第2選択条件または第3選択条件に切り替えて動作する。
マップ点使用条件設定部233は、マッチング結果判定部235からマッチング結果「否」を受け付けた場合に、第2選択条件または第3選択条件を選択する。例えば、マップ点使用条件設定部233は、第1選択条件選択中に、マッチング結果「否」を受け付けると、第2選択条件を選択して動作する。マップ点使用条件設定部233は、第2選択条件選択中に、マッチング結果「否」を受け付けると、第3選択条件を選択して動作する。以下において、第1選択条件、第2選択条件、第3選択条件の具体例について説明する。
第1選択条件は、第1マップ点を、第2マップ点よりも優先して選択するという条件である。第1選択条件に基づくマップ点使用条件設定部233は、第1マップ点の3次元座標、第1投影点の2次元座標、特徴点の情報、撮影画像の情報を、マッチング処理部234に出力する。
第2選択条件は、不足するマッチング成功数を補うべく、第2マップ点を選択する場合に、複数の第2マップ点のうち、カメラ50aにより近い第2マップ点を優先して選択するという条件である。マップ点使用条件設定部233は、マップ点投影部232に、第2投影点の情報を要求する。
第2選択条件に基づくマップ点使用条件設定部233は、選択した第2マップ点の3次元座標、第2投影点の2次元座標、特徴点の情報、撮影画像の情報を、マッチング処理部234に出力する。また、マップ点使用条件設定部233は、上記第2マップ点の情報に加えて、第1マップ点の3次元座標、第1投影点の2次元座標を、マッチング処理部234に出力する。
一般に、3D距離センサ、ステレオ撮影の原理で特定したマップ点の3次元座標の精度は、撮影時のカメラ50aにより近いマップ点ほど精度が高くなる。このため、第2マップ点を選択する場合には、撮影時のカメラ50aにより近い第2マップ点を選択することで、カメラの位置姿勢の推定精度を向上させる。
マップ点の3次元座標は、初期マップ情報を作成した時のカメラ50aの撮影位置Caを原点にして定義されている。撮影位置Caからマップ点までの距離を求めるためには、まず、マップ点の各3次元座標値P(X,Y,Z)を、撮影時のカメラ50aの位置を原点とした座標値p(x、y,z)に移動させて変換する。この変換には、カメラ50aの並進成分と回転成分とを用いる。並進成分Tは、式(5)によって表される。回転成分Rは、式(6)によって表される。式(5)と式(6)とを組み合わせたものが、カメラ位置姿勢行列Mに対応する。
並進成分T=(T,T,T)・・・(5)
Figure 0006503906
座標値Pと、座標値pとの関係は、並進成分Tおよび回転成分Rを用いて、式(7)に示すものとなる。このため、各マップ点の撮影時のカメラまでの距離dは、式(8)に示すものとなる。
=R・P+T・・・(7)
Figure 0006503906
マップ点使用条件設定部233は、式(8)に基づいて、各第2マップ点と撮影時のカメラ50aまでの距離dを算出し、距離dの小さい第2マップ点を優先して選択する。
第3選択条件は、不足するマッチング成功数を補うべく、第2マップ点を選択する場合に、選択する複数の第2マップ点の分布が広くなるように、第2マップ点を選択する。マップ点使用条件設定部233は、第2投影点の情報を、マップ点投影部232に要求する。
第3選択条件に基づくマップ点使用条件設定部233は、選択した第2マップ点の3次元座標、第2投影点の2次元座標、特徴点の情報、撮影画像の情報を、マッチング処理部234に出力する。また、マップ点使用条件設定部233は、上記第2マップ点の情報に加えて、第1マップ点の3次元座標、第1投影点の2次元座標を、マッチング処理部234に出力する。
上述したように、カメラ50aの位置姿勢の推定精度は、マップ点の分布が広いほど向上する。この分布は、マップ点の3次元座標値の3次元空間上の分布ではなく、3次元座標値をカメラの撮影画像の画面上に投影した投影点の2次元座標値p’(u’、v’)となる。3次元座標値から2次元座標値への変換は、式(9)によって表すことができる。式(9)において、Aは、予め設定される3×3の透視変換行列である。
Figure 0006503906
マップ点の2次元座標値p’が撮影画像の全体に均一に広がっている方が、均一に広がっていない場合と比較して、カメラ50aの位置姿勢の推定精度が向上する。ここで、2次元座標値の分布状態を評価する方法はいろいろあり、どのような方法を選択しても良い。例えば、2次元座標値の重心点(ug,vg)を求め、この重心点の画像内の位置と、重心点から各2次元座標値の分散SDdを用いる方法がある。マップ点使用条件設定部233は、式(10)に基づいて重心点(ug,vg)を算出する。マップ点使用条件設定部233は、式(11)に基づいて距離の分散SDdを算出する。式(10)および式(11)において、Nは、撮影画像内に位置するマップ点の2次元座標の個数を示す。
Figure 0006503906
Figure 0006503906
マップ点使用条件設定部233は、所定数の第2マップを選択し、選択した第2マップ点の2次元座標値と、式(10)、式(11)に基づいて、距離の分散SDdを算出する。マップ点使用条件設定部233は、距離の分散SDdが、基準値SDmin以上である場合には、選択した第2マップ点の情報を、マッチング処理部234に出力する。
一方、マップ点使用条件設定部233は、距離の分散SDdが、基準値SDmin未満である場合には、マップ点の2次元座標から重心点までの距離Dが遠い第2マップ点を優先して選択する。マップ点使用条件設定部233は、式(12)に基づいて、距離を算出する。マップ点使用条件設定部233は、マップ点を選択した後に、上記処理を繰り返し実行する。
Figure 0006503906
ところで、マップ点使用条件設定部233は、マップ点の分布状況をより正確に把握する場合には、撮影画像を縦横複数のブロックに分割し、それぞれのブロック個々に対して、マップ点の個数と分布の判定を行い、必要に応じて、マップ点を追加する処理を行っても良い。
図6は、マップ点の分布状況の判定方法の一例を示す図である。図6に示すように、撮影画像40のブロック41,42,43には、所定の個数のマップ点が存在していない。このため、マップ点使用条件設定部233は、初期マップ情報を参照し、ブロック41,42,43に含まれる第2マップ点(第2投影点)を選択する。また、マップ点使用条件設定部233は、その他のブロックについても、ブロック単位で、距離の分散SDdが、基準値SDmin未満であるか否かを判定し、ブロック単位で、第2マップ点を選択する処理を行っても良い。
マッチング処理部234は、撮影画像中の特徴点と、マップ点の投影点とを比較して、類似している特徴点と、投影点とをマッチングすることで、投影点と特徴点とのペアを作成する処理部である。マッチング処理部234は、投影点と特徴点とのペアの情報を、マッチング結果判定部235に出力する。投影点と特徴点とのペアの情報は、ペアとなった特徴点の座標と、投影点の座標との組と、投影点に対応するマップ点の情報を含む。
例えば、マッチング処理部234は、座標が最も近い投影点と特徴点とを選択し、選択した投影点に対応するマップ点の特徴量と、特徴点の周囲の画素値に基づく特徴量とを比較し、特徴量の差分が閾値未満である場合に、選択した投影点と特徴点とをペアとする。
また、マッチング処理部234は、マップ点に第1マップ点と、第2マップ点とが存在する場合には、第1マップ点の投影点を第2マップ点の投影点よりも優先して、特徴点とのペアとして選択する。例えば、ある特徴点と第1投影点との距離と、ある特徴点と第2投影点との距離が同じ場合には、ある特徴点と第1投影点とをペアとしても良い。
マッチング結果判定部235は、マッチング処理部234から投影点と特徴点とのペアの情報を取得した場合に、マッチング結果の良否を判定する処理部である。マッチング結果判定部235は、マッチング結果が「良」であると判定した場合には、投影点と特徴点とのペアの情報を、位置姿勢推定部240に出力する。一方、マッチング結果判定部235は、マッチング結果が「否」であると判定した場合には、マッチング結果「否」を、マップ点使用条件設定部233に出力する。
マッチング結果判定部235の処理の一例について説明する。マッチング結果判定部235は、投影点と特徴点とのペアの情報を取得した場合に、ペアの個数が所定数Nmin未満である場合に、マッチング結果が「否」であると判定する。
更に、マッチング結果判定部235は、上述した式(11)に基づいて、距離の分散SDdを算出してもよい。マッチング結果判定部235は、距離の分散SDdが、基準値SDmin未満である場合に、マッチング結果が「否」であると判定する。
位置姿勢推定部240は、マッチング結果判定部235から投影点と特徴点とのペアの情報を取得した場合に、投影点と特徴点とのペアの情報および初期マップ情報を基にして、カメラ50aの位置姿勢を推定する処理部である。
例えば、位置姿勢推定部240は、上述した式(4)によって算出される二乗和Eが最小となるようなカメラ位置姿勢行列Mを算出することで、カメラ50aの位置姿勢を算出する。位置姿勢推定部240は、算出したカメラ50aの位置姿勢の情報を出力する。
次に、本実施例に係る初期マップ生成部100aの処理手順について説明する。図7は、本実施例に係る初期マップ生成部の処理手順を示すフローチャートである。図7に示すように、初期マップ生成部100aの画像取得部101は、1枚目の撮影画像を取得する(ステップS101)。例えば、1枚目の撮影画像は、撮影位置Caでカメラ50aに撮影された撮影画像に対応する。
初期マップ生成部100aの特徴点検出部102は、1枚目の撮影画像から特徴点を検出する(ステップS102)。初期マップ生成部100aの3D距離画像取得部105は、3次元距離画像を取得する(ステップS103)。
画像取得部101は、2枚目の撮影画像を取得する(ステップS104)。例えば、2枚目の撮影画像は、撮影位置Cbでカメラ50aに撮影された撮影画像に対応する。特徴点検出部102は、2枚目の撮影画像から特徴点を検出する(ステップS105)。
初期マップ生成部100aの特徴点マッチング処理部103は、2枚の撮影画像の特徴点をマッチングする(ステップS106)。初期マップ生成部100aの特徴点ステレオ処理部104は、ステレオ処理でのマップ点(第2マップ点)の3次元座標を算出する(ステップS107)。
初期マップ生成部100aの特徴点3次元座標取得部106は、3D距離画像からマップ点(第1マップ点)の3次元座標を算出する(ステップS108)。初期マップ生成部100aのマップ点生成部107は、マップ点の選択および整理を行い(ステップS109)、初期マップ情報を初期マップ記憶部108に保存する(ステップS110)。例えば、マップ点生成部107は、ステップS109において、第1マップ点を、第2マップ点よりも優先して、初期マップ情報を生成する。
次に、本実施例に係るカメラ位置姿勢推定部100bの処理手順について説明する。図8および図9は、本実施例に係るカメラ位置姿勢推定部の処理手順を示すフローチャートである。図8に示すように、カメラ位置姿勢推定部100bの画像取得部210は、撮影画像を取得する(ステップS201)。カメラ位置指定推定部100bの特徴点検出部231は、特徴点を検出する(ステップS202)。
カメラ位置姿勢推定部100bのマップ点投影部232は、初期マップ情報からマップ点の情報を読み出し(ステップS203)、マップ点を撮影画像に投影する(ステップS204)。マップ点投影部232は、撮影画像内に収まるマップ点を抽出する(ステップS205)。
カメラ位置姿勢推定部100bのマップ点使用条件設定部233は、抽出したマップ点のカメラからの距離を算出する(ステップS206)。マップ点使用条件設定部233は、抽出したマップ点から種類[3D距離センサ]の第1マップ点を選択する(ステップS207)。カメラ位置姿勢推定部100bのマッチング処理部234はが特徴点とマップ点(投影点)とのマッチング処理を行う。また、カメラ位置姿勢推定部100bのマッチング結果判定部235は、マッチング成功点数を特定し(ステップS208)、図9のステップS209に移行する。
図9に説明移行する。マッチング結果判定部235は、マッチング成功点数がNmin以上であるか否かを判定する(ステップS209)。マッチング結果判定部235は、マッチング成功点数がNmin以上である場合には(ステップS209,Yes)、ステップS214に移行する。一方、マッチング結果判定部235は、マッチング成功点数がNmin以上でない場合には(ステップS209,No)、ステップS210に移行する。
マップ点使用条件設定部233は、種類[ステレオ]のマップ点の選択条件を設定する(ステップS210)。ステップ210において、例えば、マップ点使用条件設定部233は、第2選択条件または第3選択条件を設定する。マップ点使用条件設定部233は、種類[ステレオ]の第2マップ点を選択する(ステップS211)。
マッチング処理部234は、特徴点とマップ点とのマッチング処理を行い、マッチング結果判定部235は、マッチング成功点数を特定する(ステップS212)。
マッチング結果判定部235は、マッチング成功点数がNmin以上であるか否かを判定する(ステップS213)。マッチング結果判定部235は、マッチング成功点数がNmin以上である場合には(ステップS213,Yes)、ステップS214に移行する。一方、マッチング結果判定部235は、マッチング成功点数がNmin以上でない場合には(ステップS213,No)、ステップS210に移行する。
マッチング結果判定部235は、距離の分散SDdがSDmin以上であるか否かを判定する(ステップS214)。マッチング結果判定部235は、距離の分散SDdがSDmin以上である場合には(ステップS214,Yes)、ステップS215に移行する。一方、マッチング結果判定部235は、距離の分散SDdがSDmin以上でない場合には(ステップS214,No)、ステップS210に移行する。
カメラ位置姿勢推定部100bの位置姿勢推定部240は、カメラの位置姿勢を推定する(ステップS215)。カメラ位置姿勢推定部100bは、処理を終了するか否かを判定する(ステップS216)。カメラ位置姿勢推定部100bは、処理を終了する場合には(ステップS216,Yes)、処理を終了する。一方、カメラ位置姿勢推定部100bは、処理を終了しない場合には(ステップS216,No)、図8のステップS201に移行する。
次に、本実施例に係る画像処理装置100の効果について説明する。画像処理装置100は、3D距離センサ50bにより取得した第1マップ点と撮影画像の特徴点とのマッチング処理を行う。画像処理装置100は、マッチング成功数が不足する場合には、ステレオ撮影の原理により求めた第2マップ点を追加して、不足するマッチング成功数を補い、カメラ50aの位置姿勢を推定する。一般的に、第2マップ点よりも、第1マップ点の方が3次元座標の精度が高いため、第2マップ点の情報よりも、第1マップ点の情報を優先して選択することで、カメラの位置姿勢の推定精度を向上させることができる。
画像処理装置100は、初期マップ生成部100aが初期マップ情報に、第1マップ点の情報を第2マップ点の情報よりも優先して保持する。一般的に、第2マップ点よりも、第1マップ点の方が3次元座標の精度が高いため、かかる初期マップ情報を用いてカメラの位置姿勢を推定することで、精度を向上させることができる。
画像処理装置100は、マップ点を選択する場合に、カメラ50aにより近いマップ点を優先して選択し、選択したマップ点を撮像画像上に投影した投影点と、特徴点とのマッチングを実行する。撮影時のカメラ50aにより近いマップ点は検出精度が高いと言えるため、カメラ50aにより近いマップ点を優先して選択することで、カメラの位置姿勢の推定精度を向上させることができる。
画像処理装置100は、撮像画像上に投影したマップ点の分布状況が閾値よりも大きくなるという条件に基づき、マップ点を選択し、選択したマップ点を撮像画像上に投影した投影点と特徴点とのマッチングを実行する。マップ点の分布の広がりが広いほどカメラの位置姿勢の推定精度が向上するため、マップ点の分布状況が閾値よりも大きくなるという条件を利用することで、位置姿勢の推定精度を向上させることができる。
ところで、3D距離センサ50bで3次元座標値を求めたマップ点の個数が多すぎる場合は、その中にカメラからの距離が比較的遠く大きな誤差を含むマップ点を含んでいて、カメラ位置・姿勢推定の精度が比較的低下してしまう可能性が有る。この場合には使用するマップ点の個数を絞り込むこともできるが、カメラ位置姿勢推定部100bは、この際に小さな誤差を含むマップ点を極力選択するように、撮影時のカメラから遠いマップ点を優先的に除外していくことも良い。
次に、上記実施例に示した画像処理装置100と同様の機能を実現する画像処理プログラムを実行するコンピュータの一例について説明する。図10は、画像処理プログラムを実行するコンピュータの一例を示す図である。
図10に示すように、コンピュータ300は、各種演算処理を実行するCPU301と、ユーザからのデータの入力を受け付ける入力装置302と、ディスプレイ303とを有する。また、コンピュータ300は、記憶媒体からプログラム等を読み取る読み取り装置304と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインターフェース装置305とを有する。また、コンピュータ300は、各種情報を一時記憶するRAM306と、ハードディスク装置307とを有する。そして、各装置301〜307は、バス308に接続される。
ハードディスク装置307は、マッチングプログラム307a、位置姿勢推定プログラム307bを有する。CPU301は、マッチングプログラム307a、位置姿勢推定プログラム307bを読み出してRAM306に展開する。マッチングプログラム307aは、マッチングプロセス306aとして機能する。位置姿勢推定プログラム307bは、位置姿勢推定プロセス306bとして機能する。
なお、マッチングプログラム307a、位置姿勢推定プログラム307bについては、必ずしも最初からハードディスク装置307に記憶させておかなくても良い。例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ300がマッチングプログラム307a、位置姿勢推定プログラム307bを読み出して実行するようにしてもよい。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)距離センサにより測定された特徴点の3次元座標を示す第1マップ点と、複数の撮影画像に基づいて特定された特徴点の3次元座標を示す第2マップ点との情報を含むマップ点情報を記憶する記憶部と、
前記第1マップ点を撮像画像上に投影した第1投影点と、前記撮影画像上の特徴点とを比較して、類似する第1投影点と特徴点とのペアを作成し、
作成したペアの個数に基づいて、前記第2マップ点を用いたマッチングを実行するか否かを判定し、前記第2マップ点を用いたマッチングを実行すると判定した場合には、前記第2マップ点を撮像画像上に投影した第2投影点と、前記撮影画像上の特徴点とを比較して、類似する第2投影点と特徴点とのペアを作成するマッチング部と、
前記マッチング部のマッチング結果および前記マップ点情報を基にして、前記撮影画像を撮影したカメラの位置および姿勢を推定する位置姿勢推定部と
を有することを特徴とする画像処理装置。
(付記2)前記マップ点情報は、前記第1マップ点の情報を第2マップ点の情報よりも優先して保持することを特徴とする付記1に記載の画像処理装置。
(付記3)前記マッチング部は、類似する第1投影点と特徴点とのペアの個数が閾値未満である場合に、前記第2投影点と、前記撮影画像上の特徴点とを比較して、類似する第2投影点と特徴点とのペアを作成することを特徴とする付記1または2に記載の画像処理装置。
(付記4)前記マッチング部は、前記第2マップ点を用いたマッチングを実行すると判定した場合には、前記カメラにより近い第2マップ点を優先して選択し、選択した第2マップ点を撮像画像上に投影した第2投影点と、前記特徴点とのマッチングを実行することを特徴とする付記1、2または3に記載の画像処理装置。
(付記5)前記マッチング部は、前記撮像画像上に投影した前記第2マップ点の分布状況が閾値よりも大きくなるという条件に基づき、前記第2マップ点を選択し、選択した第2マップ点を撮像画像上に投影した第2投影点と特徴点とのマッチングを実行することを特徴とする付記1〜4の何れか一つに記載の画像処理装置。
(付記6)コンピュータが実行する画像処理方法であって、
距離センサにより測定された特徴点の3次元座標を示す第1マップ点と、複数の撮影画像に基づいて特定された特徴点の3次元座標を示す第2マップ点との情報を含むマップ点情報を記憶する記憶装置を参照し、
前記第1マップ点を撮像画像上に投影した第1投影点と、前記撮影画像上の特徴点とを比較して、類似する第1投影点と特徴点とのペアを作成し、
作成したペアの個数に基づいて、前記第2マップ点を用いたマッチングを実行するか否かを判定し、
前記第2マップ点を用いたマッチングを実行すると判定した場合には、前記第2マップ点を撮像画像上に投影した第2投影点と、前記撮影画像上の特徴点とを比較して、類似する第2投影点と特徴点とのペアを作成する
処理を実行することを特徴とする画像処理方法。
(付記7)前記マップ点情報は、前記第1マップ点の情報を第2マップ点の情報よりも優先して保持することを特徴とする付記6に記載の画像処理方法。
(付記8)前記ペアを作成する処理は、類似する第1投影点と特徴点とのペアの個数が閾値未満である場合に、前記第2投影点と、前記撮影画像上の特徴点とを比較して、類似する第2投影点と特徴点とのペアを作成することを特徴とする付記6または7に記載の画像処理方法。
(付記9)前記ペアを作成する処理は、前記第2マップ点を用いたマッチングを実行すると判定した場合には、カメラにより近い第2マップ点を優先して選択し、選択した第2マップ点を撮像画像上に投影した第2投影点と、前記特徴点とのマッチングを実行することを特徴とする付記6、7または8に記載の画像処理方法。
(付記10)前記ペアを作成する処理は、前記撮像画像上に投影した前記第2マップ点の分布状況が閾値よりも大きくなるという条件に基づき、前記第2マップ点を選択し、選択した第2マップ点を撮像画像上に投影した第2投影点と特徴点とのマッチングを実行することを特徴とする付記6〜9の何れか一つに記載の画像処理方法。
(付記11)コンピュータに、
距離センサにより測定された特徴点の3次元座標を示す第1マップ点と、複数の撮影画像に基づいて特定された特徴点の3次元座標を示す第2マップ点との情報を含むマップ点情報を記憶する記憶装置を参照し、
前記第1マップ点を撮像画像上に投影した第1投影点と、前記撮影画像上の特徴点とを比較して、類似する第1投影点と特徴点とのペアを作成し、
作成したペアの個数に基づいて、前記第2マップ点を用いたマッチングを実行するか否かを判定し、
前記第2マップ点を用いたマッチングを実行すると判定した場合には、前記第2マップ点を撮像画像上に投影した第2投影点と、前記撮影画像上の特徴点とを比較して、類似する第2投影点と特徴点とのペアを作成する
処理を実行させることを特徴とする画像処理プログラム。
(付記12)前記マップ点情報は、前記第1マップ点の情報を第2マップ点の情報よりも優先して保持することを特徴とする付記11に記載の画像処理プログラム。
(付記13)前記ペアを作成する処理は、類似する第1投影点と特徴点とのペアの個数が閾値未満である場合に、前記第2投影点と、前記撮影画像上の特徴点とを比較して、類似する第2投影点と特徴点とのペアを作成することを特徴とする付記11または12に記載の画像処理プログラム。
(付記14)前記ペアを作成する処理は、前記第2マップ点を用いたマッチングを実行すると判定した場合には、カメラにより近い第2マップ点を優先して選択し、選択した第2マップ点を撮像画像上に投影した第2投影点と、前記特徴点とのマッチングを実行することを特徴とする付記11、12または13に記載の画像処理プログラム。
(付記15)前記ペアを作成する処理は、前記撮像画像上に投影した前記第2マップ点の分布状況が閾値よりも大きくなるという条件に基づき、前記第2マップ点を選択し、選択した第2マップ点を撮像画像上に投影した第2投影点と特徴点とのマッチングを実行することを特徴とする付記11〜14の何れか一つに記載の画像処理プログラム。
50a カメラ
50b 3D距離センサ
100 画像処理装置
100a 初期マップ生成部
100b カメラ位置姿勢推定部

Claims (7)

  1. 距離センサにより測定された特徴点の3次元座標を示す第1マップ点と、複数の撮影画像に基づいて特定された特徴点の3次元座標を示す第2マップ点との情報を含むマップ点情報を記憶する記憶部と、
    前記第1マップ点を撮像画像上に投影した第1投影点と、前記撮影画像上の特徴点とを比較して、類似する第1投影点と特徴点とのペアを作成し、
    作成したペアの個数に基づいて、前記第2マップ点を用いたマッチングを実行するか否かを判定し、前記第2マップ点を用いたマッチングを実行すると判定した場合には、前記第2マップ点を撮像画像上に投影した第2投影点と、前記撮影画像上の特徴点とを比較して、類似する第2投影点と特徴点とのペアを作成するマッチング部と、
    前記マッチング部のマッチング結果および前記マップ点情報を基にして、前記撮影画像を撮影したカメラの位置および姿勢を推定する位置姿勢推定部と
    を有することを特徴とする画像処理装置。
  2. 前記マップ点情報は、前記第1マップ点の情報を第2マップ点の情報よりも優先して保持することを特徴とする請求項1に記載の画像処理装置。
  3. 前記マッチング部は、類似する第1投影点と特徴点とのペアの個数が閾値未満である場合に、前記第2投影点と、前記撮影画像上の特徴点とを比較して、類似する第2投影点と特徴点とのペアを作成することを特徴とする請求項1または2に記載の画像処理装置。
  4. 前記マッチング部は、前記第2マップ点を用いたマッチングを実行すると判定した場合には、前記カメラにより近い第2マップ点を優先して選択し、選択した第2マップ点を撮像画像上に投影した第2投影点と、前記特徴点とのマッチングを実行することを特徴とする請求項1、2または3に記載の画像処理装置。
  5. 前記マッチング部は、前記撮像画像上に投影した前記第2マップ点の分布状況が閾値よりも大きくなるという条件に基づき、前記第2マップ点を選択し、選択した第2マップ点を撮像画像上に投影した第2投影点と特徴点とのマッチングを実行することを特徴とする請求項1〜4の何れか一つに記載の画像処理装置。
  6. コンピュータが実行する画像処理方法であって、
    距離センサにより測定された特徴点の3次元座標を示す第1マップ点と、複数の撮影画像に基づいて特定された特徴点の3次元座標を示す第2マップ点との情報を含むマップ点情報を記憶する記憶装置を参照し、
    前記第1マップ点を撮像画像上に投影した第1投影点と、前記撮影画像上の特徴点とを比較して、類似する第1投影点と特徴点とのペアを作成し、
    作成したペアの個数に基づいて、前記第2マップ点を用いたマッチングを実行するか否かを判定し、
    前記第2マップ点を用いたマッチングを実行すると判定した場合には、前記第2マップ点を撮像画像上に投影した第2投影点と、前記撮影画像上の特徴点とを比較して、類似する第2投影点と特徴点とのペアを作成する
    処理を実行することを特徴とする画像処理方法。
  7. コンピュータに、
    距離センサにより測定された特徴点の3次元座標を示す第1マップ点と、複数の撮影画像に基づいて特定された特徴点の3次元座標を示す第2マップ点との情報を含むマップ点情報を記憶する記憶装置を参照し、
    前記第1マップ点を撮像画像上に投影した第1投影点と、前記撮影画像上の特徴点とを比較して、類似する第1投影点と特徴点とのペアを作成し、
    作成したペアの個数に基づいて、前記第2マップ点を用いたマッチングを実行するか否かを判定し、
    前記第2マップ点を用いたマッチングを実行すると判定した場合には、前記第2マップ点を撮像画像上に投影した第2投影点と、前記撮影画像上の特徴点とを比較して、類似する第2投影点と特徴点とのペアを作成する
    処理を実行させることを特徴とする画像処理プログラム。
JP2015117769A 2015-06-10 2015-06-10 画像処理装置、画像処理方法および画像処理プログラム Active JP6503906B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015117769A JP6503906B2 (ja) 2015-06-10 2015-06-10 画像処理装置、画像処理方法および画像処理プログラム
US15/138,644 US9842399B2 (en) 2015-06-10 2016-04-26 Image processing device and image processing method
EP16167883.4A EP3104329B1 (en) 2015-06-10 2016-05-02 Image processing device and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015117769A JP6503906B2 (ja) 2015-06-10 2015-06-10 画像処理装置、画像処理方法および画像処理プログラム

Publications (2)

Publication Number Publication Date
JP2017004268A JP2017004268A (ja) 2017-01-05
JP6503906B2 true JP6503906B2 (ja) 2019-04-24

Family

ID=56008477

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015117769A Active JP6503906B2 (ja) 2015-06-10 2015-06-10 画像処理装置、画像処理方法および画像処理プログラム

Country Status (3)

Country Link
US (1) US9842399B2 (ja)
EP (1) EP3104329B1 (ja)
JP (1) JP6503906B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101812001B1 (ko) * 2016-08-10 2017-12-27 주식회사 고영테크놀러지 3차원 데이터 정합 장치 및 방법
TWI636425B (zh) * 2017-06-21 2018-09-21 晶睿通訊股份有限公司 介面運作方法及其手持裝置
JP6762913B2 (ja) * 2017-07-11 2020-09-30 キヤノン株式会社 情報処理装置、情報処理方法
US10650631B2 (en) 2017-07-28 2020-05-12 Hand Held Products, Inc. Systems and methods for processing a distorted image
US10816354B2 (en) 2017-08-22 2020-10-27 Tusimple, Inc. Verification module system and method for motion-based lane detection with multiple sensors
US10762713B2 (en) * 2017-09-18 2020-09-01 Shoppar Inc. Method for developing augmented reality experiences in low computer power systems and devices
US11009356B2 (en) * 2018-02-14 2021-05-18 Tusimple, Inc. Lane marking localization and fusion
US20230408264A1 (en) * 2018-02-14 2023-12-21 Tusimple, Inc. Lane marking localization and fusion
US11009365B2 (en) 2018-02-14 2021-05-18 Tusimple, Inc. Lane marking localization
CN109146773B (zh) * 2018-08-02 2022-10-11 广州市鑫广飞信息科技有限公司 将河道地图映射至Web地图的方法及装置
US11312020B2 (en) * 2018-11-20 2022-04-26 Beijing Jingdong Shangke Information Technology Co System and method for fast object detection in robot picking
US11403764B2 (en) * 2020-02-14 2022-08-02 Mujin, Inc. Method and computing system for processing candidate edges
EP3893150A1 (en) 2020-04-09 2021-10-13 Tusimple, Inc. Camera pose estimation techniques
CN111928861B (zh) * 2020-08-07 2022-08-09 杭州海康威视数字技术股份有限公司 地图构建方法及装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000293687A (ja) 1999-02-02 2000-10-20 Minolta Co Ltd 3次元形状データ処理装置および3次元形状データ処理方法
KR101195942B1 (ko) * 2006-03-20 2012-10-29 삼성전자주식회사 카메라 보정 방법 및 이를 이용한 3차원 물체 재구성 방법
JP2012058076A (ja) * 2010-09-09 2012-03-22 3D Media Co Ltd 3次元計測装置及び3次元計測方法
JP5476264B2 (ja) 2010-09-22 2014-04-23 日本放送協会 カメラトラッキング装置およびそのプログラム
US8953847B2 (en) * 2010-10-01 2015-02-10 Saab Ab Method and apparatus for solving position and orientation from correlated point features in images
JP5839971B2 (ja) * 2010-12-14 2016-01-06 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
JP5503578B2 (ja) * 2011-03-10 2014-05-28 パナソニック株式会社 物体検出装置及び物体検出方法
KR101971948B1 (ko) * 2011-07-28 2019-04-24 삼성전자주식회사 평면 특성 기반 마커리스 증강 현실 시스템 및 그 동작 방법
CN105164549B (zh) 2013-03-15 2019-07-02 优步技术公司 用于机器人的多传感立体视觉的方法、系统和设备
JP5698815B2 (ja) * 2013-09-30 2015-04-08 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム

Also Published As

Publication number Publication date
EP3104329A1 (en) 2016-12-14
US9842399B2 (en) 2017-12-12
EP3104329B1 (en) 2017-11-22
JP2017004268A (ja) 2017-01-05
US20160364853A1 (en) 2016-12-15

Similar Documents

Publication Publication Date Title
JP6503906B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP6338021B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP6363863B2 (ja) 情報処理装置および情報処理方法
JP6464934B2 (ja) カメラ姿勢推定装置、カメラ姿勢推定方法およびカメラ姿勢推定プログラム
JP6464938B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP5132832B1 (ja) 計測装置および情報処理装置
US10930008B2 (en) Information processing apparatus, information processing method, and program for deriving a position orientation of an image pickup apparatus using features detected from an image
CN108765498A (zh) 单目视觉跟踪方法、装置及存储介质
JP6985897B2 (ja) 情報処理装置およびその制御方法、プログラム
JP2014112055A (ja) カメラ姿勢の推定方法およびカメラ姿勢の推定システム
JP6894707B2 (ja) 情報処理装置およびその制御方法、プログラム
JP2004235934A (ja) キャリブレーション処理装置、およびキャリブレーション処理方法、並びにコンピュータ・プログラム
JP6817742B2 (ja) 情報処理装置およびその制御方法
JP2017123087A (ja) 連続的な撮影画像に映り込む平面物体の法線ベクトルを算出するプログラム、装置及び方法
JP6196562B2 (ja) 被写体情報重畳装置、被写体情報重畳方法及びプログラム
JP2008309595A (ja) オブジェクト認識装置及びそれに用いられるプログラム
JP2018195070A (ja) 情報処理装置、情報処理方法、及びプログラム
JP2018009927A (ja) 画像処理装置、画像処理方法及びプログラム
JP2019106008A (ja) 推定装置、推定方法、及び推定プログラム
WO2018134866A1 (ja) カメラ校正装置
JP2006113832A (ja) ステレオ画像処理装置およびプログラム
JP6109213B2 (ja) 情報処理装置および方法、プログラム
JP2006300656A (ja) 画像計測方法、装置、プログラム及び記録媒体
JP6061631B2 (ja) 計測装置、情報処理装置、計測方法、情報処理方法、および、プログラム
JP2014112056A (ja) 被写体形状の3次元計測方法およびシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180306

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190214

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: 20190226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190311

R150 Certificate of patent or registration of utility model

Ref document number: 6503906

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150