JP7003617B2 - 推定装置、推定方法、及び推定プログラム - Google Patents

推定装置、推定方法、及び推定プログラム Download PDF

Info

Publication number
JP7003617B2
JP7003617B2 JP2017238051A JP2017238051A JP7003617B2 JP 7003617 B2 JP7003617 B2 JP 7003617B2 JP 2017238051 A JP2017238051 A JP 2017238051A JP 2017238051 A JP2017238051 A JP 2017238051A JP 7003617 B2 JP7003617 B2 JP 7003617B2
Authority
JP
Japan
Prior art keywords
line segment
feature
points
line
additional
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
JP2017238051A
Other languages
English (en)
Other versions
JP2019106008A (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 JP2017238051A priority Critical patent/JP7003617B2/ja
Priority to US16/194,658 priority patent/US10930068B2/en
Publication of JP2019106008A publication Critical patent/JP2019106008A/ja
Application granted granted Critical
Publication of JP7003617B2 publication Critical patent/JP7003617B2/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
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • 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

Description

本発明は、推定装置、推定方法、及び推定プログラムに関する。
近年、拡張現実(Augmented Reality, AR)技術を用いて画像を表示するシステムが普及してきている。AR技術の一例では、パーソナルコンピュータ(PC)、携帯端末装置等に搭載したカメラを用いて物体が撮影され、物体の画像から3次元空間内におけるカメラの位置及び姿勢が推定される。そして、決定されたカメラの位置及び姿勢を基準にして、画像中の任意の位置にコンテンツ情報が重畳表示される。
AR技術の応用として、物体の3次元形状を表すComputer-Aided Design(CAD)データを画像に重畳表示する技術も知られている(例えば、特許文献1~特許文献3を参照)。線対面の対応関係又は線の対応関係から、物体の位置及び姿勢を決定する技術も知られている(例えば、非特許文献1及び非特許文献2を参照)。
国際公開第2012/173141号パンフレット 特開2017-91078号公報 特開2017-182302号公報
H. H. Chen,"Pose Determination from Line-to-Plane Correspondences: Existence Condition and Close-form Solutions", IEEE Transactions on Pattern Analysis and Machine Intelligence VOL. 13, NO. 6, pages 530-541, 1991 J. Z. C. Lai,"Sensitivity Analysis of Line Correspondence", IEEE Transactions on Systems, Man, and Cybernetics VOL. 25, NO. 6, pages 1016-1023, 1995
物体の画像から検出された複数の特徴線と、その物体のCADデータに含まれる複数の線分とを対応付けることで、撮像装置の位置及び姿勢を推定することができる。しかしながら、ユーザが目視による手作業で特徴線と線分との組み合わせを選択する場合、適切な組み合わせを選択する操作は困難である。このため、ユーザによる操作に時間がかかるとともに、特徴線と線分との誤った組み合わせが選択される可能性もある。
なお、かかる問題は、CADデータから撮像装置の位置及び姿勢を推定する場合に限らず、物体の形状を表す他の形状情報から撮像装置の位置及び姿勢を推定する場合においても生ずるものである。
1つの側面において、本発明は、撮像装置が撮影した物体の画像と、その物体の形状情報とを用いて、簡単な操作で撮像装置の位置及び姿勢を推定することを目的とする。
1つの案では、推定装置は、記憶部、検出部、受け付け部、生成部、及び推定部を含む。
記憶部は、物体の形状を表す複数の線分を含む形状情報を記憶し、検出部は、撮像装置が撮影した物体の画像から、複数の特徴線を検出し、受け付け部は、第1指示と第2指示とを受け付ける。第1指示は、複数の特徴線の中から選択された特徴線と、形状情報に含まれる複数の線分の中から選択された線分とを対応付ける指示である。第2指示は、物体の画像内で選択された2つの点と、形状情報に含まれる複数の線分の端点の中から選択された2つの端点とを対応付ける指示である。
生成部は、第2指示によって指示される2つの点を結ぶ第1線分と、第2指示によって指示される2つの端点を結ぶ第2線分とを生成する。推定部は、選択された特徴線と選択された線分との組み合わせと、第1線分と第2線分との組み合わせとを用いて、3次元空間内における撮像装置の位置と姿勢とを推定する。
実施形態によれば、撮像装置が撮影した物体の画像と、その物体の形状情報とを用いて、簡単な操作で撮像装置の位置及び姿勢を推定することができる。
推定装置の機能的構成図である。 推定処理のフローチャートである。 推定装置の具体例を示す機能的構成図である。 推定処理の具体例を示すフローチャートである。 多面体の物体に対する推定処理を示す図である。 仮想線分を特定する選択操作を示す図である。 実線分対応ペアを選択する選択操作と仮想線分を特定しない選択操作を示す図である。 仮想線分対応ペアに対応ペアを追加する選択操作を示す図である。 所定範囲内の特徴点を示す図である。 領域の面積に基づく計算方法を示す図である。 距離に基づく計算方法を示す図である。 情報処理装置の構成図である。
以下、図面を参照しながら、実施形態を詳細に説明する。
特許文献1の技術では、計測対象物を撮影した画像上の3個以上の点と、その計測対象物のCADデータが表す3Dオブジェクト上の3個以上の点とを対応付けることで、画像と3Dオブジェクトとが重畳表示される。しかしながら、マウス等を用いて画像及び3Dオブジェクト上の点を選択する操作は困難を伴い、ユーザの作業負荷が大きくなる。
特許文献2の技術では、立体構造物を撮影した撮像画像から抽出されたエッジ線と、その立体構造物のモデル画像に含まれる稜線との組み合わせを用いて、画像とモデル画像とが重畳表示される。
この場合、ユーザが選択するエッジ線及び稜線は線分であるため、点よりも視認性が良い。このため、マウス等を用いてエッジ線及び稜線を選択する操作は、点を選択する操作よりも容易であり、ユーザの作業負荷が低減される。しかしながら、特許文献2には、エッジ線と稜線との適切な組み合わせを選択する方法は記載されていない。
特許文献3の技術では、物体を撮影した画像上に、その物体のCADデータに含まれる複数の候補線を投影した複数の投影線と、画像から検出された複数の特徴線との組み合わせ(初期対応ペア)を用いて、カメラの位置及び姿勢が計算される。そして、計算されたカメラの位置及び姿勢を用いて別の候補線を画像上に投影することで、投影線と特徴線との組み合わせが自動的に追加され、追加された投影線と特徴線との組み合わせを用いて、カメラの位置及び姿勢が再度計算される。
この場合、投影線と特徴線との組み合わせが自動的に追加されるため、ユーザが投影線及び特徴線を選択する負荷が低減される。しかしながら、特許文献3には、初期対応ペアを選択する簡便な選択方法は記載されていない。
特許文献2又は特許文献3のように、物体の画像から検出された特徴線と、その物体のCADデータに含まれる線分との組み合わせを、ユーザが目視による手作業で選択する場合、次のような問題が発生すると考えられる。
ユーザが熟練者ではない場合、物体の画像とCADデータが表す物体のモデルとが表示された画面上でモデルを適切な向きに回転させる操作、及び特徴線と線分との適切な組み合わせを選択する操作は、困難を伴う。例えば、カメラの位置及び姿勢の推定精度を向上させるためには、選択される複数の特徴線又は選択される複数の線分に、3本の平行な特徴線又は3本の平行な線分が含まれないことが望ましい。このため、特徴線と線分との適切な組み合わせを選択する操作に時間がかかるとともに、特徴線と線分との誤った組み合わせが選択される可能性もある。
一方、ユーザが初期対応ペアを選択する代わりに、複数の投影線と複数の特徴線との組み合わせを無作為に選択してカメラの位置及び姿勢を推定し、推定誤差が最小となる組み合わせを決定する方法も考えられる。しかしながら、この場合、複数の投影線と複数の特徴線との組み合わせを変更しながら、カメラの位置及び姿勢を推定する処理が繰り返されるため、計算時間が長時間に及ぶことになる。
図1は、実施形態の推定装置の機能的構成例を示している。図1の推定装置101は、記憶部111、検出部112、受け付け部113、生成部114、及び推定部115を含む。記憶部111は、物体の形状を表す複数の線分を含む形状情報121を記憶する。検出部112、受け付け部113、生成部114、及び推定部115は、記憶部111が記憶する形状情報121を用いて、推定処理を行う。
図2は、図1の推定装置101が行う推定処理の例を示すフローチャートである。まず、検出部112は、撮像装置が撮影した物体の画像から、複数の特徴線と複数の点とを検出し(ステップ201)、受け付け部113は、第1指示と第2指示とを受け付ける(ステップ202)。第1指示は、複数の特徴線の中から選択された特徴線と、形状情報に含まれる複数の線分の中から選択された線分とを対応付ける指示である。第2指示は、物体の画像内で選択された2つの点と、形状情報に含まれる複数の線分の端点の中から選択された2つの端点とを対応付ける指示である。
生成部114は、第2指示によって指示される2つの点を結ぶ第1線分と、第2指示によって指示される2つの端点を結ぶ第2線分とを生成する(ステップ203)。推定部115は、選択された特徴線と選択された線分との組み合わせと、第1線分と第2線分との組み合わせとを用いて、3次元空間内における撮像装置の位置と姿勢とを推定する(ステップ204)。
このような推定装置101によれば、撮像装置が撮影した物体の画像と、その物体の形状情報とを用いて、簡単な操作で撮像装置の位置及び姿勢を推定することができる。
図3は、図1の推定装置101の具体例を示している。図3の推定装置101は、記憶部111、検出部112、受け付け部113、生成部114、推定部115、画像取得部311、抽出部312、及び表示部313を含む。検出部112は、特徴線検出部321及び特徴点検出部322を含み、推定部115は、計算部341、判定部342、及び評価部343を含む。
推定装置101は、タブレット、ノート型PC、スマートデバイス等の携帯端末装置であってもよく、デスクトップ型PC等の情報処理装置であってもよい。
撮像装置301は、例えば、Charged-Coupled Device(CCD)、Complementary Metal-Oxide-Semiconductor(CMOS)等の撮像素子を有するカメラであり、物体の画像351を撮影する。画像取得部311は、撮像装置301から画像351を取得して、記憶部111に格納する。
記憶部111は、撮像装置301が撮影した物体の形状を表す3次元モデル(3Dモデル)352を記憶している。3Dモデル352は、図1の形状情報121に対応し、例えば、物体のCADデータである。3Dモデル352は、物体の3次元形状を表す複数の頂点の頂点情報と、複数の線分の線分情報とを含む。頂点情報は、物体の各頂点の3次元座標を含み、線分情報は、各線分の両端の頂点である端点を示す識別情報を含む。
特徴線検出部321は、画像351に対するエッジ検出処理を行って、画像351から複数のエッジ線を検出し、検出したエッジ線を特徴線353として記憶部111に格納する。
特徴点検出部322は、画像351に対する特徴点検出処理を行って、画像351から複数の特徴点354を検出し、検出した特徴点354を記憶部111に格納する。例えば、特徴点検出部322は、画像351内の着目点の近傍における濃淡変動が大きく、濃淡変動によって画像351内における着目点の位置が一意に規定されることを基準として、画像351から特徴点を検出することができる。
抽出部312は、3Dモデル352から、物体の3次元形状を表す複数の線分の線分情報を抽出する。表示部313は、画像351を画面上に表示するとともに、表示された画像351上に、複数の特徴線353及び複数の特徴点354を重畳表示する。さらに、表示部313は、抽出部312が抽出した線分情報が示す複数の線分を、3Dモデル352として画面上に表示する。
画像351上に複数の特徴線353及び複数の特徴点354を重畳表示することで、特徴線353及び特徴点354を選択する選択操作が容易になり、3Dモデル352の複数の線分を表示することで、線分を選択する選択操作が容易になる。
ユーザは、画像351に重畳表示された複数の特徴線353の中から1本以上の特徴線353を選択し、3Dモデル352として表示された複数の線分の中から1本以上の線分を選択する。そして、ユーザは、画像351内で選択した各特徴線353と、3Dモデル352から選択した各線分とを対応付ける指示を、推定装置101に入力し、受け付け部113は、その指示を受け付ける。生成部114は、ユーザが選択した各特徴線353と各線分とを対応付けた組み合わせ(対応ペア)を生成し、生成した対応ペアを実線分対応ペア355として記憶部111に格納する。
また、ユーザは、画像351内における選択可能な複数の点の中から2つ以上の点を選択し、3Dモデル352として表示された複数の線分の端点の中から2つ以上の端点を選択する。画像351内における選択可能な複数の点には、画像351に重畳表示された複数の特徴点354と、ユーザが目視によって物体の頂点と認識した、特徴点354以外の点とが含まれる。そして、ユーザは、画像351内で選択した各点と、3Dモデル352から選択した各端点とを対応付ける指示を、推定装置101に入力し、受け付け部113は、その指示を受け付ける。
生成部114は、ユーザが画像351内で選択した2つの点同士を結ぶ仮想線分VL1と、ユーザが3Dモデル352から選択した2つの端点同士を結ぶ仮想線分VL2とを生成する。そして、生成部114は、仮想線分VL1と仮想線分VL2とを対応付けた対応ペアを生成し、生成した対応ペアを仮想線分対応ペア356として記憶部111に格納する。
例えば、ユーザは、以下のような選択操作によって、画像351内の点と3Dモデル352に含まれる端点とを選択することができる。
(1)仮想線分を特定する選択操作
ユーザは、1つ以上の対応ペア各々について、仮想線分VL1の両端の2つの点と仮想線分VL2の両端の2つの端点とを明示的に指定し、指定した画像351内の各点と3Dモデル352に含まれる各端点とを対応付ける指示を、推定装置101に入力する。
そして、生成部114は、指定された画像351内の2つの点を結ぶ仮想線分VL1と、指定された3Dモデル352の2つの端点を結ぶ仮想線分VL2とを生成する。これにより、仮想線分VL1と仮想線分VL2とを対応付けた1つ以上の対応ペアが生成される。
なお、仮想線分VL2に対応する線分が3Dモデル352に含まれている場合、ユーザは、その線分を指定することによって、仮想線分VL2の両端の2つの端点を指定することもできる。
(2)仮想線分を特定しない選択操作
ユーザは、画像351内のM個(Mは2以上の整数)の点と、3Dモデル352に含まれるM個の端点とを選択し、選択した画像351内の各点と3Dモデル352に含まれる各端点とを対応付ける指示を、推定装置101に入力する。
そして、生成部114は、画像351内のM個の点から、M(M-1)/2通りの2つの点同士の組み合わせを生成し、各組み合わせに含まれる2つの点を結ぶ仮想線分VL1を生成する。また、生成部114は、3Dモデル352に含まれるM個の端点から、M(M-1)/2通りの2つの端点同士の組み合わせを生成し、各組み合わせに含まれる2つの端点を結ぶ仮想線分VL2を生成する。これにより、仮想線分VL1と仮想線分VL2とを対応付けたM(M-1)/2個の対応ペアが生成される。
この場合、ユーザは仮想線分の両端を明示的に指定する必要がないため、仮想線分を特定する選択操作と比較して、操作負荷が低減される。
仮想線分対応ペア356が生成された後、判定部342は、生成された実線分対応ペア355及び仮想線分対応ペア356から、撮像装置301の位置及び姿勢を精度良く推定可能であるか否かを判定する。撮像装置301の位置及び姿勢を求めるためには、少なくとも4個の対応ペアを用いることが望ましく、対応ペアの個数が多いほど計算精度は向上する。そこで、判定部342は、実線分対応ペア355及び仮想線分対応ペア356に含まれる対応ペアの総数が4個以上である場合に、撮像装置301の位置及び姿勢を精度良く推定可能であると判定してもよい。
また、判定部342は、非特許文献1及び非特許文献2の技術を用いて、撮像装置301の位置及び姿勢を精度良く推定可能であるか否かを判定してもよい。非特許文献1の技術によれば、画像上の3本の線分と3Dモデルの3本の線分との組み合わせから、カメラの位置及び姿勢が推定され、使用する線分の位置関係から、カメラの位置及び姿勢を推定可能であるか否かを判定することができる。どの3個の組み合わせを用いてもカメラの位置及び姿勢が定まらない場合、推定不可能と判定される。
一方、非特許文献2の技術によれば、画像上の線分と3Dモデルの線分との位置関係と、おおよそのカメラの位置及び姿勢とを用いて、カメラの位置及び姿勢の推定精度を判定することができる。
撮像装置301の位置及び姿勢を精度良く推定可能である場合、計算部341は、実線分対応ペア355及び仮想線分対応ペア356を用いて、3次元空間内における撮像装置301の位置及び姿勢を計算する。そして、計算部341は、計算した位置及び姿勢を推定結果357として記憶部111に格納する。例えば、計算部341は、特許文献3に記載された計算方法により、撮像装置301の位置及び姿勢を計算することができる。
評価部343は、推定結果357が示す撮像装置301の位置及び姿勢の推定誤差を計算し、推定誤差に基づいて追加指示を要求する情報を出力する。例えば、評価部343は、特許文献3に記載された計算方法により推定誤差を計算することができ、推定誤差が所定値以上である場合、追加指示を要求する情報を出力することができる。追加指示を要求する情報は、画面上に表示されるマーク又はテキストメッセージであってもよく、音声メッセージであってもよい。
この場合、ユーザは、画像351内における選択可能な複数の点の中から1つ以上の追加点を選択し、3Dモデル352として表示された複数の線分の端点の中から1つ以上の追加端点を選択する。そして、ユーザは、選択した各追加点と選択した各追加端点とを対応付ける指示を、推定装置101に入力し、受け付け部113は、その指示を受け付ける。
生成部114は、これまでにユーザが画像351内で選択した点及び追加点の中から、追加点を含む2つの点を選択し、それらの2つの点同士を結ぶ仮想線分VL3を生成する。また、生成部114は、これまでにユーザが3Dモデル352から選択した端点及び追加端点の中から、追加端点を含む2つの端点を選択し、それらの2つの端点同士を結ぶ仮想線分VL4を生成する。そして、生成部114は、仮想線分VL3と仮想線分VL4とを対応付けた対応ペアを生成し、生成した対応ペアを仮想線分対応ペア356に追加する。
計算部341は、実線分対応ペア355と、対応ペアが追加された仮想線分対応ペア356とを用いて、撮像装置301の位置及び姿勢を再度計算し、計算した位置及び姿勢によって推定結果357を更新する。
図3の推定装置101によれば、ユーザは、画像351内の特徴線353と3Dモデル352の線分との対応ペアを1つだけ選択するだけで済む。また、画像351内の点として、画像351に重畳表示された特徴点354を選択することは容易であり、特徴点354として検出されていない物体の頂点も、画像351に重畳表示された特徴線353を手掛かりに選択することが可能である。さらに、3Dモデル352に含まれる端点を選択することも容易である。
したがって、複数の適切な対応ペアを指定するための選択操作が簡単化され、ユーザが熟練者ではない場合であっても、操作時間を短縮し、かつ、誤った組み合わせが選択される可能性を低減することが可能になる。また、複数の適切な対応ペアが自動的に生成されるため、無作為に選択した複数の対応ペアを変更しながら、撮像装置301の位置及び姿勢を推定する処理を繰り返す必要がなく、計算時間が長時間に及ぶことも回避される。
図4は、図3の推定装置101が行う推定処理の具体例を示すフローチャートである。まず、画像取得部311は、撮像装置301から画像351を取得し(ステップ401)、特徴線検出部321は、画像351から複数の特徴線353を検出し、特徴点検出部322は、画像351から複数の特徴点354を検出する(ステップ402)。
また、抽出部312は、記憶部111から3Dモデル352を取得し(ステップ403)、3Dモデル352から複数の線分を抽出する(ステップ404)。そして、表示部313は、画像351、複数の特徴線353、複数の特徴点354、及び3Dモデル352を表す複数の線分を画面上に表示する。
次に、ユーザは、画像351内で特徴線353を選択し、3Dモデル352から線分を選択し、受け付け部113は、選択された特徴線353と線分とを対応付ける指示を受け付ける(ステップ405)。そして、生成部114は、特徴線353と線分とを対応付けた実線分対応ペア355を生成する。
次に、ユーザは、画像351内で2つ以上の点を選択し、3Dモデル352から2つ以上の端点を選択し、受け付け部113は、選択された各点と各端点とを対応付ける指示を受け付ける(ステップ406)。そして、生成部114は、2つの点同士を結ぶ仮想線分VL1と2つの端点同士を結ぶ仮想線分VL2とを生成し、仮想線分VL1と仮想線分VL2とを対応付けた仮想線分対応ペア356を生成する(ステップ407)。
次に、判定部342は、実線分対応ペア355及び仮想線分対応ペア356から、撮像装置301の位置及び姿勢を精度良く推定可能であるか否かを判定する(ステップ408)。撮像装置301の位置及び姿勢を精度良く推定可能ではない場合(ステップ408,NO)、推定装置101は、ステップ405以降の処理を繰り返す。これにより、新たな対応ペアが生成されて、実線分対応ペア355又は仮想線分対応ペア356に追加される。
一方、撮像装置301の位置及び姿勢を精度良く推定可能である場合(ステップ408,YES)、計算部341は、実線分対応ペア355及び仮想線分対応ペア356を用いて、撮像装置301の位置及び姿勢を計算する(ステップ409)。これにより、推定結果357が生成される。
次に、評価部343は、撮像装置301の位置及び姿勢の推定誤差を計算し(ステップ410)、推定誤差を所定の閾値THと比較する(ステップ411)。推定誤差が閾値TH以上である場合(ステップ411,NO)、評価部343は、追加指示を要求する情報の表示を表示部313に指示する。そして、計算部341は、ステップ409において計算した撮像装置301の位置及び姿勢を仮の位置及び姿勢として用いて、画像351上に3Dモデル352を投影する。
次に、表示部313は、画像351上に投影された3Dモデル352を重畳表示するとともに、追加指示を要求する情報を画面上に表示する(ステップ413)。この場合、ユーザは、3Dモデル352から追加端点又は追加線分を選択することもでき、画像351内で追加点又は追加特徴線を選択することもできる。そこで、評価部343は、最初に行われた選択操作が、3Dモデル352又は画像351のいずれに対する選択操作であるかを判定する(ステップ414)。
最初に行われた選択操作が3Dモデル352に対する選択操作である場合(ステップ414,YES)、ユーザは、追加端点又は追加線分を選択し、受け付け部113は、選択された追加端点又は追加線分を受け付ける(ステップ415)。次に、計算部341は、選択された追加端点又は追加線分に対応する画像351内の追加点又は追加特徴線の候補を求め、求めた候補の強調表示を表示部313に指示する(ステップ416)。
そして、表示部313は、画像351内の追加点又は追加特徴線の候補を強調表示する。例えば、表示部313は、追加点又は追加特徴線の候補を拡大表示したり、追加点又は追加特徴線の候補を含む領域を拡大表示したり、追加点又は追加特徴線の候補の色を変更したりすることで、その候補を強調表示することができる。
次に、ユーザは、強調表示された追加点又は追加特徴線の候補を選択し、選択した追加端点又は追加線分と、選択した追加点又は追加特徴線とを対応付ける指示を、推定装置101に入力する(ステップ417)。そして、受け付け部113は、その指示を受け付ける。
一方、最初に行われた選択操作が画像351に対する選択操作である場合(ステップ414,NO)、ユーザは、追加点又は追加特徴線を選択し、受け付け部113は、選択された追加点又は追加特徴線を受け付ける(ステップ418)。次に、計算部341は、選択された追加点又は追加特徴線に対応する3Dモデル352の追加端点又は追加線分の候補を求め、求めた候補の強調表示を表示部313に指示する(ステップ419)。そして、表示部313は、3Dモデル352の追加端点又は追加線分の候補を強調表示する。
次に、ユーザは、強調表示された追加端点又は追加線分の候補を選択し、選択した追加点又は追加特徴線と、選択した追加端点又は追加線分とを対応付ける指示を、推定装置101に入力する(ステップ420)。そして、受け付け部113は、その指示を受け付ける。
次に、生成部114は、これまでに画像351内で選択済みの点と新たな追加点とを結ぶ仮想線分VL3と、これまでに3Dモデル352から選択済みの端点と新たな追加端点とを結ぶ仮想線分VL4とを生成する(ステップ421)。そして、生成部114は、仮想線分VL3と仮想線分VL4とを対応付けた対応ペアを仮想線分対応ペア356に追加し、推定装置101は、ステップ409以降の処理を行う。これにより、仮想線分対応ペア356に含まれる対応ペアの個数が増加するため、ステップ410において推定誤差が減少することが期待できる。
そして、推定誤差が閾値THよりも小さい場合(ステップ411,YES)、計算部341は、計算した撮像装置301の位置及び姿勢を用いて、画像351上に3Dモデル352を投影する(ステップ412)。そして、表示部313は、画像351上に3Dモデル352を重畳表示する。
ステップ421において、生成部114は、仮想線分VL3と3Dモデル352から選択された追加線分とを対応付けた対応ペアを生成してもよく、画像351内で選択された追加特徴線と仮想線分VL4とを対応付けた対応ペアを生成してもよい。
図4の推定処理によれば、撮像装置301の位置及び姿勢を精度良く推定可能な実線分対応ペア355及び仮想線分対応ペア356が生成された時点で、一旦、仮の位置及び姿勢が計算される。そして、仮の位置及び姿勢の推定誤差が大きい場合、仮想線分VL3と仮想線分VL4の対応ペアが仮想線分対応ペア356に追加され、仮の位置及び姿勢が再度計算される。したがって、所望の推定精度に応じて、ユーザに追加指示を要求するか否かを決定することができる。
また、仮想線分対応ペア356を追加するために、3Dモデル352又は画像351のうち一方の操作対象に対する選択操作が行われた場合、他方の操作対象に含まれている選択候補が強調表示される。これにより、他方の操作対象に含まれている多数の選択対象のうち、仮想線分の追加に有効な選択対象が絞り込まれて表示されるため、選択操作が容易になる。
なお、ステップ411において、評価部343が推定誤差を閾値THと比較する代わりに、ユーザが目視によって推定誤差を判定してもよい。この場合、計算部341は、撮像装置301の仮の位置及び姿勢を用いて、画像351上に3Dモデル352を投影し、表示部313は、画像351上に投影された3Dモデル352を重畳表示する。
そして、ユーザは、画像351と3Dモデル352とのずれが大きい場合、推定誤差が大きいと判定し、画像351と3Dモデル352とのずれが小さい場合、推定誤差が小さいと判定する。推定誤差が大きいと判定された場合、ステップ413以降の処理が行われ、推定誤差が小さいと判定された場合、ステップ412の処理が行われる。
図5は、多面体の物体に対する推定処理の例を示している。図5(a)は、物体の画像501と、画像501から検出された特徴線及び特徴点の例を示している。図5(a)の線分は特徴線を表し、×印は特徴点を表す。図5(a)の9個の特徴点のうち、特徴点511は、物体の辺の一部に対応する特徴線の端点に過ぎないため、その物体の3Dモデル502には、特徴点511に対応する端点が含まれていない。
図5(b)は、実線分対応ペア355と、ユーザによって画像501内で選択された特徴点と、3Dモデル502から選択された端点の例を示している。この例では、ユーザの指示によって、画像501内の特徴線531が3Dモデル502の線分532に対応付けられ、実線分対応ペア355が生成される。また、仮想線分を特定しない選択操作が行われ、画像501内の特徴点512、特徴点513、及び特徴点514が、3Dモデル502の端点521、端点522、及び端点523にそれぞれ対応付けられる。
図5(c)は、仮想線分対応ペア356の例を示している。この例では、以下の6本の仮想線分が生成されている。
仮想線分541:特徴点512と特徴点513を結ぶ線分
仮想線分542:特徴点513と特徴点514を結ぶ線分
仮想線分543:特徴点514と特徴点511を結ぶ線分
仮想線分551:端点521と端点522を結ぶ線分
仮想線分552:端点522と端点523を結ぶ線分
仮想線分553:端点523と端点521を結ぶ線分
これらの6本の仮想線分から、以下の3個の対応ペアが仮想線分対応ペア356として生成される。
仮想線分541と仮想線分551とを対応付けた対応ペア
仮想線分542と仮想線分552とを対応付けた対応ペア
仮想線分543と仮想線分553とを対応付けた対応ペア
図5(d)は、ユーザによって画像501内で選択された追加特徴点と、3Dモデル502から選択された追加端点の例を示している。この例では、画像501内の特徴点515が追加特徴点として選択され、3Dモデル502の端点524が追加端点として選択されている。この場合、以下の6本の仮想線分が新たに生成される。
仮想線分544:特徴点515と特徴点512を結ぶ線分
仮想線分545:特徴点515と特徴点513を結ぶ線分
仮想線分546:特徴点515と特徴点514を結ぶ線分
仮想線分554:端点524と端点521を結ぶ線分
仮想線分555:端点524と端点522を結ぶ線分
仮想線分556:端点524と端点523を結ぶ線分
これらの6本の仮想線分から、以下の3個の対応ペアが仮想線分対応ペア356に追加される。
仮想線分544と仮想線分554とを対応付けた対応ペア
仮想線分545と仮想線分555とを対応付けた対応ペア
仮想線分546と仮想線分556とを対応付けた対応ペア
図6は、仮想線分を特定する選択操作の例を示している。図6(a)は、画像501内の特徴点と3Dモデル502の端点とを選択する選択操作の例を示している。図6(a)の画像501内の線分は特徴線を表し、黒丸は特徴点を表す。ユーザは、画像501内の特徴点512及び特徴点515を選択するとともに、3Dモデル502の端点521及び端点524を選択する。これにより、生成部114は、特徴点512と特徴点515を結ぶ仮想線分544と、端点521と端点524を結ぶ仮想線分554とを生成し、仮想線分544と仮想線分554とを対応付けた対応ペアを生成する。
図6(b)は、画像501内の特徴点と3Dモデル502の線分を選択する選択操作の例を示している。ユーザは、画像501内の特徴点512及び特徴点513を選択するとともに、3Dモデル502の線分601を選択することで、線分601の端点521及び端点522を指定する。これにより、生成部114は、特徴点512と特徴点513を結ぶ仮想線分541と、端点521と端点522を結ぶ仮想線分551とを生成し、仮想線分541と仮想線分551とを対応付けた対応ペアを生成する。この場合、生成された仮想線分551は、線分601に一致するため、ユーザは、直接線分601を選択してもよい。
図7は、実線分対応ペア355を選択する選択操作と仮想線分を特定しない選択操作の例を示している。図7(a)は、実線分対応ペア355を選択する選択操作の例を示している。図7(a)の画像501内の線分は特徴線を表し、黒丸は特徴点を表す。ユーザは、画像501内の特徴線701と3Dモデル502の線分702とを選択し、生成部114は、特徴線701と線分702とを対応付けることで、実線分対応ペア355を生成する。
図7(b)は、仮想線分を特定しない選択操作の例を示している。ユーザは、画像351内の特徴点512、特徴点513、及び特徴点711を選択し、生成部114は、選択された3つの特徴点から、3通りの2つの特徴点同士の組み合わせを生成し、各組み合わせに含まれる2つの特徴点を結ぶ仮想線分を生成する。
また、ユーザは、特徴点512、特徴点513、及び特徴点711に対応する端点として、それぞれ、3Dモデル502の端点521、端点522、及び端点712を選択し、生成部114は、選択された3つの端点から、3通りの2つの端点同士の組み合わせを生成し、各組み合わせに含まれる2つの端点を結ぶ仮想線分を生成する。これにより、以下の6本の仮想線分が生成される。
特徴点512と特徴点513を結ぶ仮想線分
特徴点513と特徴点711を結ぶ仮想線分
特徴点711と特徴点512を結ぶ仮想線分
端点521と端点522を結ぶ仮想線分
端点522と端点712を結ぶ仮想線分
端点712と端点521を結ぶ仮想線分
これらの6本の仮想線分から、3個の対応ペアが仮想線分対応ペア356として生成される。
図7(c)は、撮像装置301の仮の位置及び姿勢に基づく重畳表示の例を示している。計算部341は、図7(a)の選択操作によって生成された実線分対応ペア355と、図7(b)の選択操作によって生成された仮想線分対応ペア356とを用いて、仮の位置及び姿勢を計算する。そして、表示部313は、画像501と、仮の位置及び姿勢を用いて画像501上に投影された3Dモデル502とを、重畳表示する。この例では、推定誤差が閾値TH以上であるため、表示部313は、追加指示を要求する情報として、マーク721を画面上に表示する。
図8は、図7(c)の重畳表示において、仮想線分対応ペア356に対応ペアを追加する選択操作の例を示している。図8(a)は、対応ペアを追加するための3Dモデル502に対する選択操作の例を示している。ユーザは、最初に3Dモデル502の端点801を追加端点として選択し、計算部341は、選択された端点801に対応する画像501内の追加点の候補802を求める。そして、表示部313は、その追加点の候補802を含む領域803を、ウィンドウ804内に拡大表示する。これにより、追加点の候補802が強調表示される。
図8(b)は、追加点の候補802が選択され、端点801と追加点の候補802とを対応付けた対応ペアが追加された後に、対応ペアをさらに追加するための画像501に対する選択操作の例を示している。ユーザは、最初に画像501内の特徴点514を追加特徴点として選択し、計算部341は、選択された特徴点514に対応する3Dモデル502の追加端点の候補523を求める。そして、表示部313は、その追加端点の候補523を含む領域を、ウィンドウ811内に拡大表示する。これにより、追加端点の候補523が強調表示される。
図8(c)は、追加端点の候補523が選択され、特徴点514と追加端点の候補523とを対応付けた対応ペアが追加された状態の例を示している。この状態において、実線分対応ペア355は、特徴線701と線分702とを対応付けた対応ペアである。また、仮想線分対応ペア356は、特徴点512~特徴点514、特徴点711、及び点802の5個の点と、端点521~端点523、端点712、及び端点801の5個の端点とから生成される、10個の対応ペアを含む。
図8(d)は、撮像装置301の最終的な位置及び姿勢に基づく重畳表示の例を示している。計算部341は、図8(c)の状態における実線分対応ペア355及び仮想線分対応ペア356を用いて、撮像装置301の位置及び姿勢を計算し、表示部313は、画像501と3Dモデル502とを重畳表示する。この例では、推定誤差が閾値THよりも小さいため、表示部313は、マーク721を表示しない。
ところで、図4のステップ402において、表示部313は、複数の特徴点354のうち、選択対象として有効な特徴点354のみを画面上に表示することも可能である。この場合、特徴点検出部322は、画像351から検出した複数の特徴点354のうち、複数の特徴線353の交点の周囲における所定範囲内の特徴点354を特定し、表示部313は、特徴点検出部322が特定した特徴点354のみを表示する。
図9は、特徴線353の交点の周囲における所定範囲内の特徴点354の例を示している。画像501内の領域901は、画像501から検出された特徴線911と特徴線912との交点の周囲における所定範囲(近傍領域)に対応し、領域901内には、画像501から検出された特徴点514が含まれている。この場合、表示部313は、特徴線911と特徴線912との交点に対応する選択対象として、領域901内の特徴点514のみを表示する。
同様にして、表示部313は、画像501から検出された他の特徴線の交点に対応する選択対象として、その交点の近傍領域内の特徴点のみを表示する。これにより、領域902内の特徴点921のように、物体の表面の模様又は陰影から検出された特徴点を、選択対象から除外することができる。これにより、選択対象の特徴点の個数が減少するため、操作負荷が低減される。
図4のステップ410において、評価部343は、特許文献3に記載された計算方法により推定誤差を計算することができる。この場合、評価部343は、実線分対応ペア355及び仮想線分対応ペア356のN個(Nは2以上の整数)の対応ペアを用いて、各対応ペアに含まれる特徴線353の位置と線分の位置の誤差Ei(i=1~N)を計算する。そして、評価部343は、N個の対応ペアに対する二乗誤差の総和Eを、推定誤差として求める。二乗誤差の総和Eは、次式により計算される。
Figure 0007003617000001
評価部343は、例えば、図10又は図11に示すような方法で、誤差Eiを計算することができる。図10は、特徴線と線分の間の領域の面積に基づく計算方法の例を示している。i番目の対応ペアに含まれる線分が線分1001であり、特徴線が線分1002である場合、線分1001の両端と線分1002の両端をそれぞれ結ぶ線分1003及び線分1004を定義することができる。この場合、線分1001~線分1004によって囲まれた領域の面積Aiを、誤差Eiとして用いることができる。
Ei=Ai (2)
面積Aiが小さいほど、誤差Eiは小さくなり、線分1001が線分1002に重なっている場合、誤差Eiは0になる。
図11は、特徴線と線分との間の距離に基づく計算方法の例を示している。線分1002の両端から線分1001上へ下ろした垂線1101及び垂線1102の長さを、それぞれ、Li1及びLi2とする。この場合、Li1及びLi2の和を、誤差Eiとして用いることができる。
Ei=Li1+Li2 (3)
Li1及びLi2が短いほど、誤差Eiは小さくなり、線分1001が線分1002に重なっている場合、誤差Eiは0になる。
図1及び図3の推定装置101の構成は一例に過ぎず、推定装置101の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。例えば、図3の推定装置101において、3Dモデル352から線分を抽出する処理が外部の装置によって行われる場合は、抽出部312を省略することができる。画像351及び3Dモデル352を表示する処理が外部の装置によって行われる場合は、表示部313を省略することができる。
ユーザが目視によって画像351内の点を選択することができ、特徴点354を選択対象として表示する必要がない場合は、特徴点検出部322を省略することができる。CADデータの代わりに、物体の形状を表す他の形状情報を3Dモデル352として用いてもよい。
図2及び図4のフローチャートは一例に過ぎず、推定装置101の構成又は条件に応じて一部の処理を省略又は変更してもよい。例えば、図4の推定処理において、特徴点354を選択対象として表示する必要がない場合は、ステップ402において特徴線353のみが検出される。選択候補を強調表示する必要がない場合は、ステップ416及びステップ419の処理を省略することができる。
図5~図9に示した画像501、3Dモデル502、特徴線、特徴点、線分、端点等は一例に過ぎず、画像、3Dモデル、特徴線、特徴点、線分、端点等は、撮影対象の物体に応じて変化する。
図10及び図11の誤差の計算方法は一例に過ぎず、推定装置101の構成又は条件に応じて別の計算方法を用いてもよい。式(1)~式(3)の計算式は一例に過ぎず、推定装置101の構成又は条件に応じて別の計算式を用いてもよい。
図1及び図3の推定装置101は、例えば、図12に示すような情報処理装置(コンピュータ)を用いて実装することができる。図12の情報処理装置は、Central Processing Unit(CPU)1201、メモリ1202、入力装置1203、出力装置1204、補助記憶装置1205、媒体駆動装置1206、及びネットワーク接続装置1207を含む。これらの構成要素はバス1208により互いに接続されている。図3の撮像装置301は、バス1208に接続されていてもよい。
メモリ1202は、例えば、Read Only Memory(ROM)、Random Access Memory(RAM)、フラッシュメモリ等の半導体メモリであり、処理に用いられるプログラム及びデータを格納する。メモリ1202は、図1及び図3の記憶部111として用いることができる。
CPU1201(プロセッサ)は、例えば、メモリ1202を利用してプログラムを実行することにより、図1及び図3の検出部112、受け付け部113、生成部114、及び推定部115として動作する。CPU1201は、メモリ1202を利用してプログラムを実行することにより、図3の画像取得部311、抽出部312、特徴線検出部321、特徴点検出部322、計算部341、判定部342、及び評価部343としても動作する。
入力装置1203は、例えば、キーボード、ポインティングデバイス等であり、オペレータ又はユーザからの指示又は情報の入力に用いられる。出力装置1204は、例えば、表示装置、プリンタ、スピーカ等であり、オペレータ又はユーザへの問い合わせ又は指示、及び処理結果の出力に用いられる。処理結果は、推定結果357であってもよく、画像351上に重畳された3Dモデル352であってもよい。出力装置1204は、図3の表示部313として用いることができる。
補助記憶装置1205は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置1205は、ハードディスクドライブ又はフラッシュメモリであってもよい。情報処理装置は、補助記憶装置1205にプログラム及びデータを格納しておき、それらをメモリ1202にロードして使用することができる。補助記憶装置1205は、図1及び図3の記憶部111として用いることができる。
媒体駆動装置1206は、可搬型記録媒体1209を駆動し、その記録内容にアクセスする。可搬型記録媒体1209は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体1209は、Compact Disk Read Only Memory(CD-ROM)、Digital Versatile Disk(DVD)、Universal Serial Bus(USB)メモリ等であってもよい。オペレータ又はユーザは、この可搬型記録媒体1209にプログラム及びデータを格納しておき、それらをメモリ1202にロードして使用することができる。
このように、処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体は、メモリ1202、補助記憶装置1205、又は可搬型記録媒体1209のような、物理的な(非一時的な)記録媒体である。
ネットワーク接続装置1207は、Local Area Network、Wide Area Network等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェース回路である。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置1207を介して受信し、それらをメモリ1202にロードして使用することができる。
なお、情報処理装置が図12のすべての構成要素を含む必要はなく、用途又は条件に応じて一部の構成要素を省略することも可能である。例えば、可搬型記録媒体1209又は通信ネットワークを使用しない場合は、媒体駆動装置1206又はネットワーク接続装置1207を省略してもよい。
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
図1乃至図12を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
(付記1)
物体の形状を表す複数の線分を含む形状情報を記憶する記憶部と、
撮像装置が撮影した前記物体の画像から、複数の特徴線を検出する検出部と、
前記複数の特徴線の中から選択された特徴線と、前記複数の線分の中から選択された線分とを対応付ける第1指示を受け付けるとともに、前記画像内で選択された2つの点と、前記複数の線分の端点の中から選択された2つの端点とを対応付ける第2指示を受け付ける受け付け部と、
前記2つの点を結ぶ第1線分と前記2つの端点を結ぶ第2線分とを生成する生成部と、
前記選択された特徴線と前記選択された線分との組み合わせと、前記第1線分と前記第2線分との組み合わせとを用いて、3次元空間内における前記撮像装置の位置と姿勢とを推定する推定部と、
を備えることを特徴とする推定装置。
(付記2)
前記第2指示は、前記2つの点を含む3つ以上の点と、前記2つの端点を含む3つ以上の端点とを対応付ける指示であり、前記生成部は、前記3つ以上の点から前記第1線分を含む複数の線分を生成し、前記3つ以上の端点から前記第2線分を含む複数の線分を生成し、前記推定部は、前記選択された特徴線と前記選択された線分との組み合わせと、前記第1線分を含む複数の線分それぞれと前記第2線分を含む複数の線分それぞれとの組み合わせとを用いて、前記撮像装置の位置と姿勢とを推定することを特徴とする付記1記載の推定装置。
(付記3)
前記推定部は、前記撮像装置の位置と姿勢の推定誤差を計算し、前記推定誤差に基づいて追加指示を要求する情報を出力し、前記受け付け部は、追加点と追加端点とを対応付ける第3指示を受け付け、前記生成部は、前記2つの点のいずれか一方と前記追加点とを用いて第1追加線分を生成し、前記2つの端点のいずれか一方と前記追加端点とを用いて第2追加線分を生成し、前記推定部は、前記選択された特徴線と前記選択された線分との組み合わせと、前記第1線分と前記第2線分との組み合わせと、前記第1追加線分と前記第2追加線分との組み合わせとを用いて、前記撮像装置の位置と姿勢とを再度推定することを特徴とする付記1又は2記載の推定装置。
(付記4)
前記画像内で前記追加点が選択されるよりも前に、前記複数の線分の端点の中から前記追加端点が選択された場合、前記推定部は、前記追加端点に対応する前記画像内の点の候補を強調して表示する制御を行い、前記受け付け部は、前記点の候補を前記追加点として選択する指示を受け付けることを特徴とする付記3記載の推定装置。
(付記5)
前記複数の線分の端点の中から前記追加端点が選択されるよりも前に、前記画像内で前記追加点が選択された場合、前記推定部は、前記追加点に対応する端点の候補を強調して表示する制御を行い、前記受け付け部は、前記端点の候補を前記追加端点として選択する指示を受け付けることを特徴とする付記3記載の推定装置。
(付記6)
前記検出部は、前記画像から複数の特徴点をさらに検出し、前記2つの点は、前記複数の特徴点の中から選択された2つの特徴点であることを特徴とする付記1乃至5のいずれか1項に記載の推定装置。
(付記7)
前記検出部は、前記複数の特徴点のうち、前記複数の特徴線の交点の周囲における所定範囲内の特徴点を特定し、前記2つの点は、前記所定範囲内の特徴点の中から選択された2つの特徴点であることを特徴とする付記6記載の推定装置。
(付記8)
物体の形状を表す複数の線分を含む形状情報を記憶するコンピュータのための推定プログラムであって、
撮像装置が撮影した前記物体の画像から、複数の特徴線を検出し、
前記複数の特徴線の中から選択された特徴線と、前記複数の線分の中から選択された線分とを対応付ける第1指示を受け付け、
前記画像内で選択された2つの点と、前記複数の線分の端点の中から選択された2つの端点とを対応付ける第2指示を受け付け、
前記2つの点を結ぶ第1線分と前記2つの端点を結ぶ第2線分とを生成し、
前記選択された特徴線と前記選択された線分との組み合わせと、前記第1線分と前記第2線分との組み合わせとを用いて、3次元空間内における前記撮像装置の位置と姿勢とを推定する、
処理を前記コンピュータに実行させるための推定プログラム。
(付記9)
前記第2指示は、前記2つの点を含む3つ以上の点と、前記2つの端点を含む3つ以上の端点とを対応付ける指示であり、前記コンピュータは、前記3つ以上の点から前記第1線分を含む複数の線分を生成し、前記3つ以上の端点から前記第2線分を含む複数の線分を生成し、前記選択された特徴線と前記選択された線分との組み合わせと、前記第1線分を含む複数の線分それぞれと前記第2線分を含む複数の線分それぞれとの組み合わせとを用いて、前記撮像装置の位置と姿勢とを推定することを特徴とする付記8記載の推定プログラム。
(付記10)
前記コンピュータは、前記撮像装置の位置と姿勢の推定誤差を計算し、前記推定誤差に基づいて追加指示を要求する情報を出力し、追加点と追加端点とを対応付ける第3指示を受け付け、前記2つの点のいずれか一方と前記追加点とを用いて第1追加線分を生成し、前記2つの端点のいずれか一方と前記追加端点とを用いて第2追加線分を生成し、前記選択された特徴線と前記選択された線分との組み合わせと、前記第1線分と前記第2線分との組み合わせと、前記第1追加線分と前記第2追加線分との組み合わせとを用いて、前記撮像装置の位置と姿勢とを再度推定することを特徴とする付記8又は9記載の推定プログラム。
(付記11)
物体の形状を表す複数の線分を含む形状情報を記憶するコンピュータが、
撮像装置が撮影した前記物体の画像から、複数の特徴線を検出し、
前記複数の特徴線の中から選択された特徴線と、前記複数の線分の中から選択された線分とを対応付ける第1指示を受け付け、
前記画像内で選択された2つの点と、前記複数の線分の端点の中から選択された2つの端点とを対応付ける第2指示を受け付け、
前記2つの点を結ぶ第1線分と前記2つの端点を結ぶ第2線分とを生成し、
前記選択された特徴線と前記選択された線分との組み合わせと、前記第1線分と前記第2線分との組み合わせとを用いて、3次元空間内における前記撮像装置の位置と姿勢とを推定する、
ことを特徴とする推定方法。
(付記12)
前記第2指示は、前記2つの点を含む3つ以上の点と、前記2つの端点を含む3つ以上の端点とを対応付ける指示であり、前記コンピュータは、前記3つ以上の点から前記第1線分を含む複数の線分を生成し、前記3つ以上の端点から前記第2線分を含む複数の線分を生成し、前記選択された特徴線と前記選択された線分との組み合わせと、前記第1線分を含む複数の線分それぞれと前記第2線分を含む複数の線分それぞれとの組み合わせとを用いて、前記撮像装置の位置と姿勢とを推定することを特徴とする付記11記載の推定方法。
(付記13)
前記コンピュータは、前記撮像装置の位置と姿勢の推定誤差を計算し、前記推定誤差に基づいて追加指示を要求する情報を出力し、追加点と追加端点とを対応付ける第3指示を受け付け、前記2つの点のいずれか一方と前記追加点とを用いて第1追加線分を生成し、前記2つの端点のいずれか一方と前記追加端点とを用いて第2追加線分を生成し、前記選択された特徴線と前記選択された線分との組み合わせと、前記第1線分と前記第2線分との組み合わせと、前記第1追加線分と前記第2追加線分との組み合わせとを用いて、前記撮像装置の位置と姿勢とを再度推定することを特徴とする付記11又は12記載の推定方法。
101 推定装置
111 記憶部
112 検出部
113 受け付け部
114 生成部
115 推定部
121 形状情報
301 撮像装置
311 画像取得部
312 抽出部
313 表示部
321 特徴線検出部
322 特徴点検出部
341 計算部
342 判定部
343 評価部
351、501 画像
352、502 3Dモデル
353、531、701、911、912 特徴線
354、511~515、711、921 特徴点
355 実線分対応ペア
356 仮想線分対応ペア
357 推定結果
521~524、712、801 端点
532、601、702、1001~1004 線分
541~546、551~556 仮想線分
721 マーク
802 点
803、901、902 領域
804、811 ウィンドウ
1101、1102 垂線
1201 CPU
1202 メモリ
1203 入力装置
1204 出力装置
1205 補助記憶装置
1206 媒体駆動装置
1207 ネットワーク接続装置
1208 バス
1209 可搬型記録媒体

Claims (7)

  1. 物体の形状を表す複数の線分を含む形状情報を記憶する記憶部と、
    撮像装置が撮影した前記物体の画像から、複数の特徴線を検出する検出部と、
    前記複数の特徴線の中から選択された特徴線と、前記複数の線分の中から選択された線分とを対応付ける第1指示を受け付けるとともに、前記画像内で選択された2つの点と、前記複数の線分の端点の中から選択された2つの端点とを対応付ける第2指示を受け付ける受け付け部と、
    前記2つの点を結ぶ第1線分と前記2つの端点を結ぶ第2線分とを生成する生成部と、
    前記選択された特徴線と前記選択された線分との組み合わせと、前記第1線分と前記第2線分との組み合わせとを用いて、3次元空間内における前記撮像装置の位置と姿勢とを推定する推定部と、
    を備えることを特徴とする推定装置。
  2. 前記第2指示は、前記2つの点を含む3つ以上の点と、前記2つの端点を含む3つ以上の端点とを対応付ける指示であり、前記生成部は、前記3つ以上の点から前記第1線分を含む複数の線分を生成し、前記3つ以上の端点から前記第2線分を含む複数の線分を生成し、前記推定部は、前記選択された特徴線と前記選択された線分との組み合わせと、前記第1線分を含む複数の線分それぞれと前記第2線分を含む複数の線分それぞれとの組み合わせとを用いて、前記撮像装置の位置と姿勢とを推定することを特徴とする請求項1記載の推定装置。
  3. 前記推定部は、前記撮像装置の位置と姿勢の推定誤差を計算し、前記推定誤差に基づいて追加指示を要求する情報を出力し、前記受け付け部は、追加点と追加端点とを対応付ける第3指示を受け付け、前記生成部は、前記2つの点のいずれか一方と前記追加点とを用いて第1追加線分を生成し、前記2つの端点のいずれか一方と前記追加端点とを用いて第2追加線分を生成し、前記推定部は、前記選択された特徴線と前記選択された線分との組み合わせと、前記第1線分と前記第2線分との組み合わせと、前記第1追加線分と前記第2追加線分との組み合わせとを用いて、前記撮像装置の位置と姿勢とを再度推定することを特徴とする請求項1又は2記載の推定装置。
  4. 前記画像内で前記追加点が選択されるよりも前に、前記複数の線分の端点の中から前記追加端点が選択された場合、前記推定部は、前記追加端点に対応する前記画像内の点の候補を強調して表示する制御を行い、前記受け付け部は、前記点の候補を前記追加点として選択する指示を受け付けることを特徴とする請求項3記載の推定装置。
  5. 前記複数の線分の端点の中から前記追加端点が選択されるよりも前に、前記画像内で前記追加点が選択された場合、前記推定部は、前記追加点に対応する端点の候補を強調して表示する制御を行い、前記受け付け部は、前記端点の候補を前記追加端点として選択する指示を受け付けることを特徴とする請求項3記載の推定装置。
  6. 物体の形状を表す複数の線分を含む形状情報を記憶するコンピュータのための推定プログラムであって、
    撮像装置が撮影した前記物体の画像から、複数の特徴線を検出し、
    前記複数の特徴線の中から選択された特徴線と、前記複数の線分の中から選択された線分とを対応付ける第1指示を受け付け、
    前記画像内で選択された2つの点と、前記複数の線分の端点の中から選択された2つの端点とを対応付ける第2指示を受け付け、
    前記2つの点を結ぶ第1線分と前記2つの端点を結ぶ第2線分とを生成し、
    前記選択された特徴線と前記選択された線分との組み合わせと、前記第1線分と前記第2線分との組み合わせとを用いて、3次元空間内における前記撮像装置の位置と姿勢とを推定する、
    処理を前記コンピュータに実行させるための推定プログラム。
  7. 物体の形状を表す複数の線分を含む形状情報を記憶するコンピュータが、
    撮像装置が撮影した前記物体の画像から、複数の特徴線を検出し、
    前記複数の特徴線の中から選択された特徴線と、前記複数の線分の中から選択された線分とを対応付ける第1指示を受け付け、
    前記画像内で選択された2つの点と、前記複数の線分の端点の中から選択された2つの端点とを対応付ける第2指示を受け付け、
    前記2つの点を結ぶ第1線分と前記2つの端点を結ぶ第2線分とを生成し、
    前記選択された特徴線と前記選択された線分との組み合わせと、前記第1線分と前記第2線分との組み合わせとを用いて、3次元空間内における前記撮像装置の位置と姿勢とを推定する、
    ことを特徴とする推定方法。
JP2017238051A 2017-12-12 2017-12-12 推定装置、推定方法、及び推定プログラム Active JP7003617B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017238051A JP7003617B2 (ja) 2017-12-12 2017-12-12 推定装置、推定方法、及び推定プログラム
US16/194,658 US10930068B2 (en) 2017-12-12 2018-11-19 Estimation apparatus, estimation method, and non-transitory computer-readable storage medium for storing estimation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017238051A JP7003617B2 (ja) 2017-12-12 2017-12-12 推定装置、推定方法、及び推定プログラム

Publications (2)

Publication Number Publication Date
JP2019106008A JP2019106008A (ja) 2019-06-27
JP7003617B2 true JP7003617B2 (ja) 2022-01-20

Family

ID=66697064

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017238051A Active JP7003617B2 (ja) 2017-12-12 2017-12-12 推定装置、推定方法、及び推定プログラム

Country Status (2)

Country Link
US (1) US10930068B2 (ja)
JP (1) JP7003617B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11043042B2 (en) * 2016-05-16 2021-06-22 Hewlett-Packard Development Company, L.P. Generating a shape profile for a 3D object
CN113190150B (zh) * 2021-04-20 2023-09-01 北京百度网讯科技有限公司 覆盖物的展示方法、设备和存储介质
JP2024042278A (ja) * 2022-09-15 2024-03-28 古野電気株式会社 航行支援装置、航行支援システム、航行支援方法、航行支援プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012514252A (ja) 2008-12-29 2012-06-21 コグネックス・コーポレイション マシンビジョンを用いたオブジェクトの3次元アライメントのためのシステムと方法
WO2012173141A1 (ja) 2011-06-16 2012-12-20 オリンパス株式会社 画像処理装置、画像処理方法、およびプログラム
JP2014123376A (ja) 2012-12-21 2014-07-03 Dassault Systemes Delmia Corp 仮想オブジェクトの配置補正
JP2017182302A (ja) 2016-03-29 2017-10-05 富士通株式会社 画像処理プログラム、画像処理装置、及び画像処理方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102385707A (zh) * 2010-08-30 2012-03-21 阿里巴巴集团控股有限公司 一种数字图像识别的方法、装置及爬虫服务器
US8638986B2 (en) * 2011-04-20 2014-01-28 Qualcomm Incorporated Online reference patch generation and pose estimation for augmented reality
CN104115161B (zh) * 2012-01-02 2017-07-14 意大利电信股份公司 用于比较图像的方法和系统
JP6661980B2 (ja) * 2015-11-06 2020-03-11 富士通株式会社 重畳表示方法、重畳表示装置、及び重畳表示プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012514252A (ja) 2008-12-29 2012-06-21 コグネックス・コーポレイション マシンビジョンを用いたオブジェクトの3次元アライメントのためのシステムと方法
WO2012173141A1 (ja) 2011-06-16 2012-12-20 オリンパス株式会社 画像処理装置、画像処理方法、およびプログラム
JP2014123376A (ja) 2012-12-21 2014-07-03 Dassault Systemes Delmia Corp 仮想オブジェクトの配置補正
JP2017182302A (ja) 2016-03-29 2017-10-05 富士通株式会社 画像処理プログラム、画像処理装置、及び画像処理方法

Also Published As

Publication number Publication date
JP2019106008A (ja) 2019-06-27
US10930068B2 (en) 2021-02-23
US20190180503A1 (en) 2019-06-13

Similar Documents

Publication Publication Date Title
JP6716996B2 (ja) 画像処理プログラム、画像処理装置、及び画像処理方法
JP5182229B2 (ja) 画像処理装置、画像処理方法及びプログラム
AU2016262789B2 (en) 3d modeling by tracing 2d image ui
JP6464938B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP7188201B2 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
US10311576B2 (en) Image processing device and image processing method
US10250801B2 (en) Camera system and image-providing method
JP7003617B2 (ja) 推定装置、推定方法、及び推定プログラム
WO2019093457A1 (ja) 情報処理装置、情報処理方法及びプログラム
US10600202B2 (en) Information processing device and method, and program
TW201616450A (zh) 點雲畫筆選取系統及方法
JP2016212784A (ja) 画像処理装置、画像処理方法
US11138759B2 (en) Image processing apparatus and image processing method
US11145048B2 (en) Image processing apparatus, image processing method, and non-transitory computer-readable storage medium for storing program
JP2020098575A (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
JP7059701B2 (ja) 推定装置、推定方法、及び推定プログラム
CN112085842A (zh) 深度值确定方法及装置、电子设备和存储介质
JP7232663B2 (ja) 画像処理装置及び画像処理方法
US10796435B2 (en) Image processing method and image processing apparatus
JP2005182098A (ja) 合成画像を生成・表示する装置及び方法
CN113167568A (zh) 坐标计算装置、坐标计算方法和计算机可读记录介质
CN112991179B (zh) 用于输出信息的方法、装置、设备以及存储介质
JP5636966B2 (ja) 誤差検出装置及び誤差検出プログラム
JP6716897B2 (ja) 操作検出方法、操作検出装置、及び操作検出プログラム
JP2023043005A (ja) 計測装置、計測方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200911

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211213

R150 Certificate of patent or registration of utility model

Ref document number: 7003617

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150