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

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

Info

Publication number
JP2019159470A
JP2019159470A JP2018041861A JP2018041861A JP2019159470A JP 2019159470 A JP2019159470 A JP 2019159470A JP 2018041861 A JP2018041861 A JP 2018041861A JP 2018041861 A JP2018041861 A JP 2018041861A JP 2019159470 A JP2019159470 A JP 2019159470A
Authority
JP
Japan
Prior art keywords
line
lines
line segments
predetermined number
feature
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.)
Granted
Application number
JP2018041861A
Other languages
English (en)
Other versions
JP7059701B2 (ja
Inventor
厚憲 茂木
Atsunori Mogi
厚憲 茂木
吉武 敏幸
Toshiyuki Yoshitake
敏幸 吉武
あゆ 烏谷
Ayu Karasuya
あゆ 烏谷
康人 渡邉
Yasuto Watanabe
康人 渡邉
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 JP2018041861A priority Critical patent/JP7059701B2/ja
Priority to US16/272,412 priority patent/US10755439B2/en
Publication of JP2019159470A publication Critical patent/JP2019159470A/ja
Application granted granted Critical
Publication of JP7059701B2 publication Critical patent/JP7059701B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/12Edge-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/168Segmentation; Edge detection involving transform domain methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/543Depth or shape recovery from line drawings
    • 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)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Processing (AREA)

Abstract

【課題】撮像装置の位置及び姿勢を推定する際に、物体の画像と物体の形状を表す形状情報とを対応付けるための計算量を削減する。【解決手段】記憶部111は、物体の形状を表す複数の線分を含む形状情報121を記憶する。検出部112は、撮像装置が撮影した物体の画像から、複数の特徴線を検出する。生成部113は、形状情報に含まれる複数の線分のうち所定数の線分の集合を複数個生成し、他の線分よりも長い線分を優先的に選択する長さ優先の選択順序に基づいて、複数個の集合の中から処理対象の集合を選択する。そして、生成部113は、処理対象の集合に含まれる所定数の線分それぞれと、複数の特徴線のうち所定数の特徴線それぞれとを対応付けた、所定数の組み合わせを生成する。推定部114は、所定数の組み合わせを用いて、3次元空間内における撮像装置の位置と姿勢とを推定する。【選択図】図1

Description

本発明は、推定装置、推定方法、及び推定プログラムに関する。
近年、拡張現実(Augmented Reality,AR)技術を用いて画像を表示するシステムが普及してきている(例えば、特許文献1を参照)。AR技術の一例では、パーソナルコンピュータ(Personal Computer,PC)、携帯端末装置等に搭載したカメラを用いて物体が撮影され、物体の画像から3次元空間内におけるカメラの位置及び姿勢が推定される。そして、決定されたカメラの位置及び姿勢を基準にして、画像中の任意の位置にコンテンツ情報が重畳表示される。
物体の画像から、その物体とカメラとの間の相対的な位置及び姿勢を推定する様々な技術が知られている(例えば、特許文献2〜特許文献4を参照)。カメラキャリブレーション、線分検出、立体の機械知覚、直線対応付けによる姿勢推定、コンピュータ・ビジョンのための多面体表現等の技術も知られている(例えば、非特許文献1〜非特許文献5を参照)。
特開2015−118641号公報 特開2007−333679号公報 特開2015−7639号公報 特開2016−170050号公報
Z. Zhang,"A Flexible New Technique for Camera Calibration", IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol.22, No.11, pp.1330-1334, November 2000 R. G. Gioi et al.,"LSD: a Line Segment Detector", Image Processing On Line, 2 (2012), pp.35-55, March 2012 L. G. Roberts,"Machine perception of three-dimensional solids", MIT Lincoln Lab. Rep., TR3315, pp.1-82, May 1963 C. Xu et al.,"Pose Estimation from Line Correspondences: A Complete Analysis and a Series of Solutions", IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol.39, No.6, pp.1209-1222, June 2017 Bruce G. Baumgart,"A polyhedron representation for computer vision", Proceedings of the May 19-22, 1975, national computer conference and exposition, pp.589-596, 1975
カメラにより撮影した物体の画像と、その物体の3次元形状を表すCAD(Computer-Aided Design)データとを対応付けることで、カメラの位置及び姿勢を推定する場合、対応付けのための計算量が多くなる。
なお、かかる問題は、物体の画像とCADデータとを対応付ける場合に限らず、物体の画像と他の形状情報とを対応付ける場合においても生ずるものである。
1つの側面において、本発明は、撮像装置の位置及び姿勢を推定する際に、物体の画像と物体の形状を表す形状情報とを対応付けるための計算量を削減することを目的とする。
1つの案では、推定装置は、記憶部、検出部、生成部、及び推定部を含む。記憶部は、物体の形状を表す複数の線分を含む形状情報を記憶する。検出部は、撮像装置が撮影した物体の画像から、複数の特徴線を検出する。
生成部は、形状情報に含まれる複数の線分のうち所定数の線分の集合を複数個生成し、他の線分よりも長い線分を優先的に選択する長さ優先の選択順序に基づいて、複数個の集合の中から処理対象の集合を選択する。そして、生成部は、処理対象の集合に含まれる所定数の線分それぞれと、複数の特徴線のうち所定数の特徴線それぞれとを対応付けた、所定数の組み合わせを生成する。推定部は、所定数の組み合わせを用いて、3次元空間内における撮像装置の位置と姿勢とを推定する。
実施形態によれば、撮像装置の位置及び姿勢を推定する際に、物体の画像と物体の形状を表す形状情報とを対応付けるための計算量を削減することができる。
推定装置の機能的構成図である。 推定処理のフローチャートである。 推定装置の第1の具体例を示す機能的構成図である。 CADデータを示す図である。 画面上に表示された画像を示す図である。 投影線を示す図である。 4本組の投影線を示す図である。 特徴線を示す図である。 特徴線候補に対する判定結果を示す図である。 面積に基づく誤差の計算方法を示す図である。 距離に基づく誤差の計算方法を示す図である。 推定処理の第1の具体例を示すフローチャートである。 3D線分の4本組のリストを生成する処理を示す図である。 推定処理の誤差を示す図である。 推定装置の第2の具体例を示す機能的構成図である。 指定領域を示す図である。 指定領域の外縁部を示す図である。 推定処理の第2の具体例を示すフローチャートである。 外周線抽出処理のフローチャートである。 内部領域を示す図である。 推定装置の第3の具体例を示す機能的構成図である。 推定処理の第3の具体例を示すフローチャートである。 情報処理装置の構成図である。
以下、図面を参照しながら、実施形態を詳細に説明する。
AR技術の応用として、現場で製造した部材の3次元形状を表すCADデータを、その部材の画像に重畳表示することで、製造診断が行われることがある。この場合、部材の製造診断を行うのは現場の作業員であり、製造診断が高速かつ容易に行われることが望ましい。
また、部材は人工物であるため、そのCADデータには多くの直線部分が含まれている。したがって、CADデータに含まれる直線部分を用いて、部材に対するカメラの位置及び姿勢を推定することが可能である。この場合、特許文献1又は先願である特願2016−187515号に記載されているように、物体の画像から検出された特徴線と、その物体のCADデータに含まれる3D線分とを対応付ける方法が考えられる。
しかしながら、画像から検出された特徴線とCADデータに含まれる3D線分とのすべての組み合わせを用いて、総当たり計算を行うと、特徴線及び3D線分の本数が増加するにつれて、計算量が増大する。例えば、m本の特徴線から4本の特徴線を選択し、n本の3D線分から4本の3D線分を選択して、4個の組み合わせ(対応ペア)を生成する場合、組み合わせの総数は×個になる。3次元形状の複雑度に応じた組み合わせの総数の計算例を以下に示す。
(1)簡単な形状の物体
m=12及びn=7である場合、組み合わせの総数は17325個である。
(2)複雑な形状の物体
m=63及びn=130である場合、組み合わせの総数は6.75*1012個である。
(3)さらに複雑な形状の物体
m=314及びn=158である場合、組み合わせの総数は9.93*1015個である。
このように、特徴線及び3D線分の本数が増加すると、組み合わせの総数が膨大になり、対応ペアを生成するための計算量が増大する。このため、4個の対応ペアを用いてカメラの位置及び姿勢を推定するための計算時間を約10msとすると、(2)及び(3)の物体の場合、実用的な計算時間である数分以内では、4個の対応ペアの最適解が決定されない。したがって、実用的な計算時間でカメラの位置及び姿勢を推定することは困難である。
図1は、実施形態の推定装置の機能的構成例を示している。図1の推定装置101は、記憶部111、検出部112、生成部113、及び推定部114を含む。記憶部111は、物体の形状を表す複数の線分を含む形状情報121を記憶する。
図2は、図1の推定装置101が行う推定処理の例を示すフローチャートである。まず、検出部112は、撮像装置が撮影した物体の画像から、複数の特徴線を検出する(ステップ201)。
次に、生成部113は、形状情報121に含まれる複数の線分のうち所定数の線分の集合を複数個生成する(ステップ202)。そして、生成部113は、他の線分よりも長い線分を優先的に選択する長さ優先の選択順序に基づいて、複数個の集合の中から処理対象の集合を選択する(ステップ203)。
次に、生成部113は、処理対象の集合に含まれる所定数の線分それぞれと、複数の特徴線のうち所定数の特徴線それぞれとを対応付けた、所定数の組み合わせを生成する(ステップ204)。そして、推定部114は、所定数の組み合わせを用いて、3次元空間内における撮像装置の位置と姿勢とを推定する(ステップ205)。
このような推定装置101によれば、撮像装置の位置及び姿勢を推定する際に、物体の画像と物体の形状を表す形状情報とを対応付けるための計算量を削減することができる。
図3は、図1の推定装置101の第1の具体例を示している。図3の推定装置301は、記憶部311、画像取得部312、特徴線検出部313、線分検出部314、パラメータ設定部315、生成部316、パラメータ計算部317、誤差計算部318、決定部319、及び出力部320を含む。
記憶部311は図1の記憶部111に対応し、特徴線検出部313は検出部112に対応し、生成部316は生成部113に対応し、パラメータ計算部317、誤差計算部318、及び決定部319は推定部114に対応する。
推定装置301は、タブレット、ノート型PC(Personal Computer)、スマートデバイス等の携帯端末装置であってもよく、デスクトップ型PC等の情報処理装置であってもよい。
記憶部311は、CADデータ331を記憶している。CADデータ331は、図1の形状情報121に対応し、物体の3次元形状を表す複数の頂点の頂点情報と、複数の線分の線分情報とを含む。頂点情報は、物体の各頂点の3次元座標を含み、線分情報は、各線分の両端の頂点を示す識別情報、又は各線分の両端の頂点の3次元座標を含む。CADデータ331は、OBJ形式のデータであってもよい。
図4は、CADデータ331の例を示している。図4のCADデータ331は、ID、始点、及び終点を含む。IDは、線分の識別情報を表し、始点は、線分の一方の端点の3次元座標を表し、終点は、線分の他方の端点の3次元座標を表す。
撮像装置302は、例えば、CCD(Charged-Coupled Device)、CMOS(Complementary Metal-Oxide-Semiconductor)等の撮像素子を有するカメラであり、CADデータ331が表す物体の画像332を撮影する。画像取得部312は、撮像装置302から画像332を取得して、記憶部311に格納する。
特徴線検出部313は、エッジ検出処理を行って、画像332から複数のエッジ線を検出し、検出したエッジ線を特徴線333として記憶部311に格納する。特徴線検出部313は、例えば、非特許文献2の技術を用いて、画像332からエッジ線を検出することができる。線分検出部314は、CADデータ331に含まれる複数の線分を検出し、検出した複数の線分を複数の3D線分334として記憶部311に格納する。
パラメータ設定部315は、3次元空間内における撮像装置302の初期位置及び初期姿勢を表す初期パラメータ335を設定する。まず、パラメータ設定部315は、CADデータ331が表す物体を画像332上に投影して、画像332及び物体の形状を画面上に表示する。
図5は、画面上に表示された画像332及び物体の形状の例を示している。画面中央には、画像332に写っている物体502が表示されており、物体502上には、物体502から検出された特徴線333が表示されている。また、物体502の左下には、CADデータ331から検出された3D線分334が表す、物体の形状501が表示されている。
ユーザは、形状501の位置及び姿勢が物体502と近似するように、画面上で形状501の位置及び姿勢を変更する操作を行う。画面上で形状501の位置及び姿勢を変更することで、画面に対する視点の位置及び姿勢が変化する。そこで、パラメータ設定部315は、ユーザが決定した形状501の位置及び姿勢に対応する視点の位置及び姿勢を、撮像装置302の初期位置及び初期姿勢として用いる。そして、パラメータ設定部315は、その初期位置及び初期姿勢を表すパラメータを、初期パラメータ335として記憶部311に格納する。
生成部316は、形状501に含まれる3D線分のうち、視点から観察されない3D線分(隠線)を除去する。生成部316は、例えば、非特許文献3の技術を用いて、隠線を除去することができる。
パラメータ設定部315は、別の先願である特願2017−195787号に記載された技術を用いて、初期パラメータ335を自動的に決定することも可能である。この技術によれば、3次元空間内における複数の視点それぞれから観察される物体の位置及び姿勢を表す姿勢情報と、観察される物体の視点画像と、その視点画像から抽出された特徴量とが、関連付けて記憶部に格納される。そして、撮像装置によって撮影された画像の特徴量と各視点画像の特徴量との間の類似度が計算され、最大の類似度を有する視点画像の姿勢情報が、物体の初期位置及び初期姿勢を表す姿勢情報に決定される。
初期パラメータ335が表す初期位置及び初期姿勢は、仮の位置及び姿勢であり、画像332を撮影したときの撮像装置302の位置及び姿勢と必ずしも一致しているとは限らない。
生成部316は、隠線を除去した残りの3D線分のうち、k本(kは4以上の整数)の3D線分の集合を複数個生成する。以下では、k本の3D線分の集合を指して、k本組と記載することがある。生成部316は、次のような選択順序に基づいて、複数個のk本組の中から処理対象のk本組を選択する。
(S1)長さ優先の選択順序
長さ優先の選択順序では、他の3D線分よりも長い3D線分が優先的に選択される。3D線分が長いほど、3D線分同士の角度に対する計算精度が向上するため、角度を用いた3D線分と特徴線との対応付けの精度が向上する。
(S2)距離優先の選択順序
距離優先の選択順序では、他の3D線分ペアよりも距離が離れた3D線分ペアが優先的に選択される。2本の3D線分の間の距離が離れているほど、k本組に含まれる3D線分の全体的な位置ずれが減少するため、3D線分と特徴線との対応付けの精度が向上する。
(S3)空間分布優先の選択順序
空間分布優先の選択順序では、同じ平面上に存在する3D線分ペアよりも、同じ平面上に存在しない3D線分ペアが優先的に選択される。2本の3D線分が同じ平面上に存在する場合、その平面に垂直な方向における位置ずれが増大する。一方、2本の3D線分が同じ平面上に存在しない場合、その平面に垂直な方向における位置ずれが減少するため、3D線分と特徴線との対応付けの精度が向上する。
図6は、図5の形状501に含まれる3D線分を画像332上に投影した投影線の例を示している。図6(a)は、短い3D線分の投影線601と、長い3D線分の投影線602とを示している。長さ優先の選択順序によれば、短い3D線分よりも長い3D線分の方が優先的に選択される。
図6(b)は、投影線603が表す3D線分との距離が近い3D線分の投影線604と、投影線603が表す3D線分との距離が遠い3D線分の投影線605とを示している。距離優先の選択順序によれば、投影線603及び投影線604が表す3D線分ペアよりも、投影線603及び投影線605が表す3D線分ペアの方が優先的に選択される。
図6(c)は、投影線603が表す3D線分と同じ平面上に存在し、その3D線分と平行な3D線分の投影線606と、投影線603が表す3D線分と同じ平面上に存在しない3D線分の投影線602とを示している。空間分布優先の選択順序によれば、投影線603及び投影線606が表す3D線分ペアよりも、投影線603及び投影線602が表す3D線分ペアの方が優先的に選択される。
生成部316は、長さ優先の選択順序、距離優先の選択順序、及び空間分布優先の選択順序のいずれか1つに基づいて、処理対象のk本組を選択してもよく、2つ又は3つの選択順序を組み合わせて、処理対象のk本組を選択してもよい。例えば、3つの選択順序の重み付け総和を用いる場合、生成部316は、以下の手順で処理対象のk本組を選択することができる。
(P1)隠線を除去した残りの3D線分の本数がn本である場合、生成部316は、n本の3D線分の中から、順序を考慮してk本の3D線分を選択することで、個のk本組を生成する。
(P2)生成部316は、各k本組に含まれる3D線分の長さの和を計算し、各k本組に対して長さの和が大きい順に順位G1を割り当てる。
(P3)生成部316は、各k本組について、個の3D線分ペアを生成し、各3D線分ペアに含まれる2本の3D線分の間の距離を計算し、各k本組に対して個の距離の和が大きい順に順位G2を割り当てる。
(P4)生成部316は、各k本組に含まれる3D線分の方向ベクトルを求め、各方向ベクトルを列ベクトルとする、3行k列の行列を生成する。そして、生成部316は、生成した行列の条件数を計算し、各k本組に対して条件数が小さい順に順位G3を割り当てる。条件数が小さいほど、k本組に含まれる3D線分同士が同じ平面上に存在する可能性が低くなる。
(P5)生成部316は、順位G1〜順位G3の重み付け総和GSを次式により計算し、個のk本組を重み付け総和GSの小さい順にソートする。
GS=W1*G1+W2*G2+W3*G3 (1)
式(1)のW1〜W3は、順位G1〜順位G3に対する重みをそれぞれ表す。生成部316は、順位G1〜順位G3のうち重要性の高いものほど重みを小さくし、重要性の低いものほど重みを大きくする。すべての順位の重要性が同程度である場合、生成部316は、W1=W2=W3=1に設定する。
次に、生成部316は、ソートした個のk本組のうち、最上位から順にk本組を選択し、選択したk本組と対応付けるk本の特徴線333の集合を生成する。このとき、生成部316は、初期パラメータ335を用いて、k本組に含まれる3D線分を、次式により画像332上に投影する。
式(2)の(X,Y,Z)、A、R、T、及び(u,v)の定義は、以下の通りである。
(X,Y,Z):3D線分の端点の3次元座標
A:撮像装置302の内部パラメータ
R:初期パラメータ335が表す3行3列の回転行列
T:初期パラメータ335が表す並進ベクトル
(u,v):画像332上における投影線の端点の2次元座標
撮像装置302の内部パラメータAは、例えば、非特許文献1の技術を用いて、事前に計測しておくことができる。
画像332から検出された特徴線の本数がm本である場合、生成部316は、k本の投影線に含まれる投影線同士の角度に基づいて、m本の特徴線の中からk本の特徴線を選択する。例えば、生成部316は、m本の特徴線の中からk本の特徴線候補の集合を複数個選択し、投影線同士の角度と、選択した複数個の集合各々に含まれる特徴線候補同士の角度との差分を計算する。そして、生成部316は、閾値よりも小さな差分を有する集合を、k本の特徴線として選択する。以下では、k本の特徴線の集合を指して、k本組と記載することがある。
図7は、k=4の場合に、図5の形状501に含まれる3D線分から生成された4本組の投影線の例を示している。投影線601〜投影線603及び投影線701は、4本組の投影線に対応する。直線711は、投影線603を含む直線であり、直線712は、投影線602を含む直線であり、直線713は、投影線601を含む直線であり、直線714は、投影線701を含む直線である。この場合、投影線同士の角度は、以下の通りである。
投影線603と投影線602との間の角度:θ1=85°
投影線602と投影線601との間の角度:θ2=75°
投影線601と投影線701との間の角度:θ3=65°
生成部316は、m本の特徴線のうち長いものから順に上位h本の特徴線を抽出し、h本の特徴線の中から、順序を考慮してk本の特徴線を選択することで、個のk本組を生成する。そして、生成部316は、図7と同様にして、各k本組に含まれる特徴線候補同士の角度を求め、特徴線候補同士の角度を投影線同士の角度と比較することで、そのk本組を対応付け対象として採用するか否かを判定する。
図8は、k=4の場合に、図5の物体502に含まれる特徴線から生成された4本組の例を示している。図8(a)は、対応付け対象として採用される4本組の例を示している。この4本組に含まれる特徴線候補同士の角度は、以下の通りである。
特徴線候補801と特徴線候補802との間の角度:α1=83°
特徴線候補802と特徴線候補803との間の角度:α2=76°
特徴線候補803と特徴線候補804との間の角度:α3=67°
したがって、投影線同士の角度と特徴線候補同士の角度との差分は、次のように計算される。
|θ1−α1|=2°
|θ2−α2|=1°
|θ3−α3|=2°
例えば、角度の差分に対する閾値が5°である場合、いずれの差分も閾値より小さいため、特徴線候補801〜特徴線候補804は、対応付け対象の4本組として採用される。
図8(b)は、対応付け対象として採用されない4本組の例を示している。この4本組に含まれる特徴線候補同士の角度は、以下の通りである。
特徴線候補801と特徴線候補805との間の角度:α1=21°
特徴線候補805と特徴線候補803との間の角度:α2=18°
特徴線候補803と特徴線候補804との間の角度:α3=67°
したがって、投影線同士の角度と特徴線候補同士の角度との差分は、次のように計算される。
|θ1−α1|=64°
|θ2−α2|=57°
|θ3−α3|=2°
この場合、|θ1−α1|及び|θ2−α2|が閾値以上であるため、特徴線候補801及び特徴線候補803〜特徴線候補805は、対応付け対象の4本組として採用されない。
図9は、特徴線候補の4本組に対する判定結果の例を示している。順位は、重み付け総和GSの小さい順にソートした3D線分の4本組の順位を表し、線分ID1〜線分ID4は、各4本組に含まれる4本の3D線分の識別情報を表す。特徴線ID1〜特徴線ID4は、特徴線候補の4本組に含まれる4本の特徴線候補の識別情報を表し、判定結果は、各4本組を対応付け対象として採用するか否かを表す。記号“○”は、対応付け対象として採用することを示し、記号“×”は、対応付け対象として採用しないことを示す。
なお、|θ1−α1|〜|θ3−α3|のすべてを判定に用いる必要はなく、|θ1−α1|〜|θ3−α3|のうち1つ又は2つの差分のみを判定に用いてもよい。
次に、生成部316は、3D線分のk本組に含まれるそれぞれの3D線分と、対応付け対象として採用されたk本組に含まれるそれぞれの特徴線とを対応付けた、k個の組み合わせを生成する。そして、生成部316は、生成したk個の組み合わせをk個の対応ペア336として記憶部311に格納する。
パラメータ計算部317は、最上位の3D線分のk本組を含むk個の対応ペアから順に選択し、選択したk個の対応ペアを用いて、画像332を撮影したときの撮像装置302の位置及び姿勢を計算する。そして、パラメータ計算部317は、計算した位置及び姿勢を表すパラメータを、パラメータ337として記憶部311に格納する。パラメータ計算部317は、例えば、非特許文献4の技術を用いて、k個の対応ペアから式(2)のR及びTを計算し、計算したR及びTをパラメータ337として用いることができる。
パラメータ計算部317は、k個の対応ペアの選択を変更しながら、パラメータ337を計算する処理を複数回繰り返す。決定部319は、パラメータ337が計算される度に、そのパラメータ337が表すR及びTを用いて、パラメータ計算部317が選択したk個の対応ペアに含まれる3D線分を画像332上に投影することで、k本の投影線を生成する。
誤差計算部318は、決定部319が生成した投影線の位置と、その対応ペアに含まれる特徴線の位置との間のずれを表す誤差を計算し、k本の投影線の位置とk本の特徴線の位置との間の誤差の総和を求める。そして、誤差計算部318は、求めた誤差の総和を指標338として記憶部311に格納する。投影線の位置と特徴線の位置との間の誤差として二乗誤差を用いた場合、二乗誤差の総和Eは、次式により計算される。
式(3)のEi(i=1〜k)は、i番目の対応ペアに含まれる投影線の位置と特徴線の位置との間の誤差を表す。
図10は、投影線と特徴線との間の領域の面積に基づく誤差Eiの計算方法の例を示している。i番目の対応ペアに含まれる投影線が線分1001であり、特徴線が線分1002である場合、線分1001の両端と線分1002の両端とをそれぞれ結ぶ線分1003及び線分1004を定義することができる。この場合、線分1001〜線分1004によって囲まれた領域の面積Aiを、誤差Eiとして用いることができる。
Ei=Ai (4)
面積Aiが小さいほど、誤差Eiは小さくなり、線分1001が線分1002に重なっている場合、誤差Eiは0になる。
図11は、投影線と特徴線との間の距離に基づく誤差Eiの計算方法の例を示している。線分1002の両端から線分1001上へ下ろした垂線1101及び垂線1102の長さを、それぞれ、Li1及びLi2とする。この場合、Li1及びLi2の和を、誤差Eiとして用いることができる。
Ei=Li1+Li2 (5)
Li1及びLi2が短いほど、誤差Eiは小さくなり、線分1001が線分1002に重なっている場合、誤差Eiは0になる。
次に、決定部319は、それぞれのパラメータ337を用いて計算した指標338に基づいて、誤差の総和が最小となるk個の対応ペアを決定する。そして、出力部320は、決定されたk個の対応ペアから計算されたパラメータ337を、撮像装置302の位置及び姿勢の推定結果として出力する。
図3の推定装置301によれば、所定の選択順序に従って3D線分のk本組の順位を決定することで、対応付けの精度が高い順にk個の対応ペアを選択することができ、短時間で誤差の小さな推定結果を求めることが可能になる。
また、3D線分のk本組に対して、投影線同士の角度と特徴線同士の角度との差分が閾値よりも小さくなるような特徴線のk本組を選択することで、対応付けの精度がさらに向上し、処理対象のk個の対応ペアを効果的に絞り込むことができる。
したがって、k個の対応ペアを決定するための計算量が削減され、実用的な計算時間で、撮像装置302の位置及び姿勢の準最適解に到達することが可能になる。
図12は、図3の推定装置301が行う推定処理の第1の具体例を示すフローチャートである。まず、画像取得部312は、撮像装置302から画像332を取得し(ステップ1201)、特徴線検出部313は、画像332から複数の特徴線333を検出する(ステップ1202)。
また、線分検出部314は、CADデータ331から複数の3D線分334を検出し(ステップ1203)、パラメータ設定部315は、撮像装置302の初期位置及び初期姿勢を表す初期パラメータ335を設定する(ステップ1204)。
次に、生成部316は、3D線分334から隠線を除去し、残りの3D線分から複数個のk本組を生成して、それらのk本組を重み付け総和GSの小さい順にソートする(ステップ1205)。次に、生成部316は、ソート後のk本組を最上位から順に選択し、選択したk本組と対応付ける特徴線のk本組を生成する(ステップ1206)。そして、生成部612は、3D線分のk本組と特徴線のk本組とを対応付けたk個の対応ペア336を複数個生成する(ステップ1207)。
次に、パラメータ計算部317は、最上位の3D線分のk本組を含むk個の対応ペアから順に選択し、選択したk個の対応ペアを用いて、パラメータ337を計算する(ステップ1208)。そして、決定部319は、パラメータ337を用いて、選択されたk個の対応ペアに含まれる3D線分を画像332上に投影することで、k本の投影線を生成する(ステップ1209)。
次に、誤差計算部318は、k本の投影線の位置とk本の特徴線の位置との間の誤差の総和を表す指標338を計算する(ステップ1210)。
次に、パラメータ計算部317は、パラメータ337の計算を所定回数行ったか否かをチェックする(ステップ1211)。パラメータ337の計算を所定回数行っていない場合(ステップ1211,NO)、推定装置301は、次の順位の3D線分のk本組を含むk個の対応ペアについて、ステップ1208以降の処理を繰り返す。
パラメータ337の計算を所定回数行った場合(ステップ1211,YES)、決定部319は、指標338が表す誤差の総和が最小となるk個の対応ペアを選択する(ステップ1212)。そして、出力部320は、選択されたk個の対応ペアから計算されたパラメータ337を、撮像装置302の位置及び姿勢の推定結果として出力する(ステップ1213)。
ステップ1211において、推定装置301は、パラメータ337の計算を所定回数行った場合に繰り返し処理を打ち切る代わりに、処理開始から所定時間が経過した場合に繰り返し処理を打ち切ってもよい。また、推定装置301は、指標338が表す誤差の総和が所定値よりも小さくなった場合に繰り返し処理を打ち切ってもよい。
図12の推定処理によれば、対応付けの精度が高い順にk個の対応ペアが選択されて、パラメータ337が計算されるため、撮像装置302の位置及び姿勢の準最適解を高速に求めることができる。例えば、30秒間の制限時間を設けた場合、特願2016−187515号の推定処理では、制限時間内にパラメータ337を計算可能な3D線分の4本組の個数は、1個だけである。一方、図12の推定処理によれば、計算対象の特徴線のk本組の個数が削減されるため、制限時間内にパラメータ337を計算可能な3D線分の4本組の個数は、約10個に増加する。したがって、3D線分の4本組1個当たりの計算時間は、約1/10に短縮される。
図12のステップ1205において、生成部316は、3D線分を長さ優先の選択順序でソートしておき、ソート後の3D線分からk本組を生成することも可能である。例えば、k=4の場合、以下のような手順で3D線分の4本組が生成される。
(P11)生成部316は、隠線を除去した残りの3D線分を、長いものから順にソートする。
(P12)生成部316は、j=1に設定する。
(P13)生成部316は、ソート後の3D線分のうち1番目〜(j+3)番目の3D線分を選択する。
(P14)生成部316は、1番目〜(j+2)番目の3D線分の中から3本の3D線分を選択して、j+2個の組み合わせを生成する。
(P15)生成部316は、各組み合わせに(j+3)番目の3D線分を追加して、j+2個の4本組を生成する。
(P16)生成部316は、j+2個の4本組を重み付け総和GSの小さい順にソートし、ソート後の4本組を3D線分の4本組のリストに追加する。
(P17)生成部316は、j=j+1に設定して(P13)以降の処理を繰り返し、すべての3D線分を選択した場合、処理を終了する。
図13は、6本の3D線分から4本組のリストを生成する処理の例を示している。3D線分a〜3D線分fは、長いものから順にソートされている。まず、j=1の場合、3D線分a〜3D線分fのうち3D線分a〜3D線分dが選択され、abcdの4本組が生成されて、4本組のリストに追加される。
次に、j=2の場合、3D線分a〜3D線分fのうち3D線分a〜3D線分eが選択される。そして、以下の4個の4本組が生成され、重み付け総和GSの小さい順にソートされた後に、4本組のリストに追加される。
abce,abde,acde,bcde
次に、j=3の場合、3D線分a〜3D線分fのすべてが選択される。そして、以下の10個の4本組が生成され、重み付け総和GSの小さい順にソートされた後に、4本組のリストに追加される。
abcf,abdf,abef,acdf,acef,
adef,bcdf,bcef,bdef,cdef
このようなソート方法によれば、3D線分の長さを重要視するとともに、3D線分間の距離及び3D線分の空間分布も考慮しながら、3D線分の4本組をソートすることができる。
図14は、3D線分の4本組のソート方法を変更して推定処理を行った場合の誤差の例を示している。この例では、画像332から検出された特徴線のうち、一部の長い特徴線にエッジ欠損が発生しており、対応する長い3D線分とエッジ欠損が発生した特徴線とを対応付けることが困難な状況を想定している。
図14(a)は、長さ優先の選択順序のみに基づいて、3D線分の4本組をソートした場合の誤差の例を示している。4本組の欄には、4本の3D線分それぞれの線分IDが示されており、誤差最小値の欄には、指標338が表す誤差の総和の最小値が示されている。この場合、線分ID“1”の長い3D線分に対応する物体の長い辺に、エッジ欠損が発生しており、ソート後の上位10個の4本組には、その3D線分が含まれている。そのうち上位3個の4本組に対する誤差最小値は、かなり大きな値である。
図14(b)は、(P1)〜(P5)の手順により3D線分の4本組をソートした場合の誤差の例を示している。この場合も、ソート後の上位5個の4本組には、線分ID“1”の3D線分が含まれており、誤差最小値は、かなり大きな値である。
図14(c)は、(P11)〜(P17)の手順により3D線分の4本組をソートした場合の誤差の例を示している。この場合、ソート後の最上位から4番目の4本組に、線分ID“1”の3D線分が含まれておらず、4個の対応ペアがすべて正しく対応付けられるため、誤差最小値が小さくなる。したがって、線分ID“1”の3D線分に対応する辺にエッジ欠損が発生している場合であっても、推定処理の早い段階で、エッジ欠損が発生していない対応ペアが選択され、短時間で誤差の小さな推定結果を求めることが可能になる。
図15は、図1の推定装置101の第2の具体例を示している。図15の推定装置1501は、図3の推定装置301に外周線抽出部1511及び領域設定部1512を追加した構成を有する。
外周線抽出部1511は、隠線を除去した残りの3D線分を、初期パラメータ335を用いて画像332上に投影して、複数の投影線を生成し、それらの投影線のうち物体の外周を表す投影線を、外周線として抽出する。
そして、生成部316は、外周線に対応する3D線分の中からk本組を選択する。例えば、生成部316は、外周線に対応する3D線分の本数が所定本数よりも多い場合に、それらの3D線分の中からk本組を選択してもよい。一方、外周線に対応する3D線分の本数が所定本数以下である場合、生成部316は、隠線を除去した残りのすべての3D線分を対象として、k本組を選択する。
物体の外周線は長いことが多く、かつ、画像332の中心から離れて分布していることが多いため、対応付けの精度が向上しやすい。そこで、外周線に対応する3D線分の優先度を高くして、3D線分候補を絞り込むことで、対応付けの精度が高い対応ペアを生成することができ、短時間で誤差の小さな推定結果を求めることが可能になる。
領域設定部1512は、画像332内の指定領域を設定する。指定領域としては、例えば、ユーザがマウス操作又はタッチ操作によって指定した領域を用いることができる。
図16は、画像332内の指定領域の例を示している。図16(a)は、矩形の指定領域1601を示している。ユーザは、画像332に写っている物体502の周囲を矩形で囲むことで、指定領域1601を指定する。図16(b)は、多角形の指定領域1602を示している。ユーザは、画像332に写っている物体502の周囲を多角形で囲むことで、指定領域1602を指定する。
そして、生成部316は、画像332から検出された複数の特徴線のうち、設定された指定領域に含まれる複数の特徴線を抽出し、抽出した特徴線の中からk本組を選択する。これにより、特徴線候補が絞り込まれ、対応付けの精度が高い対応ペアが生成されるため、短時間で誤差の小さな推定結果を求めることが可能になる。
図17は、指定領域の外縁部の例を示している。領域設定部1512は、図16(b)の指定領域1602の外縁部に、所定幅の外縁領域1701を設定する。この場合、生成部316は、外縁領域1701に含まれる複数の特徴線を抽出し、抽出した特徴線の中からk本組を選択する。これにより、特徴線候補をさらに絞り込むことができる。
図18は、図15の推定装置1501が行う推定処理の第2の具体例を示すフローチャートである。ステップ1801、ステップ1802、ステップ1804、ステップ1805、及びステップ1807〜ステップ1815の処理は、図12のステップ1201〜ステップ1213の処理と同様である。
ステップ1803において、領域設定部1512は、画像332内の指定領域を設定する。ステップ1806において、外周線抽出部1511は、3D線分を画像332上に投影し、複数の投影線の中から外周線を抽出する。
ステップ1807において、生成部316は、外周線に対応する3D線分の中からk本組を選択し、ステップ1808において、生成部316は、指定領域に含まれる複数の特徴線の中からk本組を選択する。
図19は、図18のステップ1806における外周線抽出処理の例を示すフローチャートである。まず、外周線抽出部1511は、3D線分を画像332上に投影し、複数の投影線のu座標の最小値uminと、v座標の最小値vminとを求める(ステップ1901)。そして、外周線抽出部1511は、ベクトル(umin,vmin)に従って、すべての投影線を平行移動させる(ステップ1902)。
次に、外周線抽出部1511は、Flood Fillアルゴリズムを用いて、投影線で囲まれた内部領域を塗りつぶす(ステップ1903)。
図20は、投影線で囲まれた内部領域の例を示している。図20(a)は、物体の形状を表す3D線分を画像332上に投影した投影線の例を示しており、図20(b)は、Flood Fillアルゴリズムによって塗りつぶされた内部領域の例を示している。
次に、外周線抽出部1511は、膨張処理及び収縮処理を組み合わせたクロージングアルゴリズムを用いて、内部領域を示すマスク領域を求める(ステップ1904)。Flood Fillアルゴリズムによって塗りつぶされていない部分が残っている場合に、クロージングアルゴリズムを適用することで、その部分を確実に塗りつぶすことができる。そして、外周線抽出部1511は、膨張処理を用いて、マスク領域の外周部分をそのマスク領域から除外する(ステップ1905)。
次に、外周線抽出部1511は、投影線に対する外周線判定を行って、外周線候補の投影線を抽出する(ステップ1906)。外周線抽出部1511は、例えば、非特許文献5の技術を用いて、外周線候補の投影線を抽出することができる。そして、外周線抽出部1511は、外周線候補の投影線のうち、外周部分が除外されたマスク領域に含まれている部分の長さが全長の半分以下である投影線を、外周線に決定する(ステップ1907)。
図21は、図1の推定装置101の第3の具体例を示している。図21の推定装置2101は、図3の推定装置301に線分分類部2111及び特徴線分類部2112を追加した構成を有する。
線分分類部2111は、隠線を除去した残りの3D線分を、初期パラメータ335を用いて画像332上に投影して、複数の投影線を生成する。そして、線分分類部2111は、残りの3D線分から、投影線同士の角度が所定値以内である類似3D線分のグループを生成する。例えば、所定値としては、1°〜10°の範囲の角度を用いることができ、投影線の傾きの分布に応じて、1つ以上のグループが生成される。
生成部316は、同じグループ内の3D線分を2本以上含まないように、残りの3D線分の中からk本組を選択する。
k本組の投影線の中に平行に近い複数の投影線が含まれている場合、対応付けの精度が低下しやすい。そこで、他の投影線と傾きが類似する投影線に対応する3D線分をk本組から除外して、3D線分候補を絞り込むことで、対応付けの精度が高い対応ペアを生成することができ、短時間で誤差の小さな推定結果を求めることが可能になる。
特徴線分類部2112は、画像332から検出された複数の特徴線から、特徴線同士の角度が所定値以内である類似特徴線のグループを生成する。例えば、所定値としては、1°〜10°の範囲の角度を用いることができ、特徴線の傾きの分布に応じて、1つ以上のグループが生成される。
生成部316は、同じグループ内の特徴線を2本以上含まないように、複数の特徴線の中からk本組を選択する。これにより、他の特徴線と傾きが類似する特徴線がk本組から除外され、特徴線候補が絞り込まれる。したがって、対応付けの精度が高い対応ペアが生成されるため、短時間で誤差の小さな推定結果を求めることが可能になる。
図22は、図21の推定装置2101が行う推定処理の第3の具体例を示すフローチャートである。ステップ2201、ステップ2202、ステップ2204、ステップ2205、及びステップ2207〜ステップ2215の処理は、図12のステップ1201〜ステップ1213の処理と同様である。
ステップ2203において、特徴線分類部2112は、特徴線同士の角度に基づいて、複数の特徴線を分類する。これにより、特徴線同士の角度が所定値以内である類似特徴線が1つのグループに分類される。
ステップ2206において、線分分類部2111は、3D線分の投影線同士の角度に基づいて、複数の3D線分を分類する。これにより、投影線同士の角度が所定値以内である類似3D線分が1つのグループに分類される。
ステップ2207において、生成部316は、同じグループ内の3D線分を2本以上含まないように、3D線分のk本組を選択し、ステップ2208において、生成部316は、同じグループ内の特徴線を2本以上含まないように、特徴線のk本組を選択する。
図1、図3、図15、及び図21の推定装置の構成は一例に過ぎず、推定装置の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。例えば、図3、図15、及び図21の推定装置において、事前に画像332が記憶部311に格納されている場合は、画像取得部312を省略することができる。CADデータ331の代わりに、物体の形状を表す他の形状情報を用いてもよい。
図15の推定装置1501において、外周線抽出部1511又は領域設定部1512のいずれか一方を省略してもよい。また、図21の推定装置2101において、線分分類部2111又は特徴線分類部2112のいずれか一方を省略してもよい。
図2、図12、図18、図19、及び図22のフローチャートは一例に過ぎず、推定装置の構成又は条件に応じて一部の処理を省略又は変更してもよい。例えば、事前に画像332が記憶部311に格納されている場合は、図12のステップ1201、図18のステップ1801、及び図22のステップ2201の処理を省略することができる。
外周線抽出部1511が省略される場合は、図18のステップ1806の処理を省略することができる。領域設定部1512が省略される場合は、図18のステップ1803の処理を省略することができる。
線分分類部2111が省略される場合は、図22のステップ2206の処理を省略することができる。特徴線分類部2112が省略される場合は、図22のステップ2203の処理を省略することができる。
図4のCADデータ、図5の3D線分及び特徴線、図6及び図7の投影線、図8の特徴線は一例に過ぎず、CADデータ、3D線分、投影線、及び特徴線は、撮影対象の物体、推定装置の構成又は条件に応じて変化する。
図9の判定結果は一例に過ぎず、特徴線候補の4本組に対する判定結果は、撮影対象の物体、推定装置の構成又は条件に応じて変化する。図10及び図11の誤差の計算方法は一例に過ぎず、推定装置の構成又は条件に応じて別の計算方法を用いてもよい。
図13のソート方法は一例に過ぎず、推定装置の構成又は条件に応じて別のソート方法を用いてもよい。図14の誤差は一例に過ぎず、推定処理の誤差は、撮影対象の物体、推定装置の構成又は条件に応じて変化する。
図16の指定領域、図17の外縁部、及び図20の内部領域は一例に過ぎず、指定領域、外縁部、及び内部領域は、撮影対象の物体、推定装置の構成又は条件に応じて変化する。
式(1)〜式(5)の計算式は一例に過ぎず、推定装置の構成又は条件に応じて別の計算式を用いてもよい。
図23は、図1、図3、図15、及び図21の推定装置として用いられる情報処理装置(コンピュータ)の構成例を示している。図23の情報処理装置は、CPU(Central Processing Unit)2301、メモリ2302、入力装置2303、出力装置2304、補助記憶装置2305、媒体駆動装置2306、及びネットワーク接続装置2307を含む。これらの構成要素はバス2308により互いに接続されている。図3、図15、及び図21の撮像装置302は、バス2308に接続されていてもよい。
メモリ2302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリであり、処理に用いられるプログラム及びデータを格納する。メモリ2302は、図1の記憶部111、又は図3、図15、及び図21の記憶部311として用いることができる。
CPU2301(プロセッサ)は、例えば、メモリ2302を利用してプログラムを実行することにより、図1の検出部112、生成部113、及び推定部114として動作する。
CPU2301は、メモリ2302を利用してプログラムを実行することにより、図3、図15、及び図21の画像取得部312、特徴線検出部313、及び線分検出部314としても動作する。CPU2301は、メモリ2302を利用してプログラムを実行することにより、パラメータ設定部315、生成部316、パラメータ計算部317、誤差計算部318、及び決定部319としても動作する。
CPU2301は、メモリ2302を利用してプログラムを実行することにより、図15の外周線抽出部1511及び領域設定部1512としても動作する。CPU2301は、メモリ2302を利用してプログラムを実行することにより、図21の線分分類部2111及び特徴線分類部2112としても動作する。
入力装置2303は、例えば、キーボード、ポインティングデバイス等であり、オペレータ又はユーザからの指示又は情報の入力に用いられる。出力装置2304は、例えば、表示装置、プリンタ、スピーカ等であり、オペレータ又はユーザへの問い合わせ又は指示、及び処理結果の出力に用いられる。処理結果は、撮像装置302の位置及び姿勢の推定結果であってもよい。出力装置2304は、図3、図15、及び図21の出力部320として用いることができる。
補助記憶装置2305は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置2305は、ハードディスクドライブ又はフラッシュメモリであってもよい。情報処理装置は、補助記憶装置2305にプログラム及びデータを格納しておき、それらをメモリ2302にロードして使用することができる。補助記憶装置2305は、図1の記憶部111、又は図3、図15、及び図21の記憶部311として用いることができる。
媒体駆動装置2306は、可搬型記録媒体2309を駆動し、その記録内容にアクセスする。可搬型記録媒体2309は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体2309は、CD−ROM(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリ等であってもよい。オペレータ又はユーザは、この可搬型記録媒体2309にプログラム及びデータを格納しておき、それらをメモリ2302にロードして使用することができる。
このように、画像処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体は、メモリ2302、補助記憶装置2305、又は可搬型記録媒体2309のような、物理的な(非一時的な)記録媒体である。
ネットワーク接続装置2307は、LAN(Local Area Network)、WAN(Wide Area Network)等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェース回路である。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置2307を介して受信し、それらをメモリ2302にロードして使用することができる。ネットワーク接続装置2307は、図3、図15、及び図21の出力部320として用いることができる。
なお、情報処理装置が図23のすべての構成要素を含む必要はなく、用途又は条件に応じて一部の構成要素を省略することも可能である。例えば、可搬型記録媒体2309又は通信ネットワークを使用しない場合は、媒体駆動装置2306又はネットワーク接続装置2307を省略してもよい。
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
図1乃至図23を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
(付記1)
物体の形状を表す複数の線分を含む形状情報を記憶する記憶部と、
撮像装置が撮影した前記物体の画像から、複数の特徴線を検出する検出部と、
前記複数の線分のうち所定数の線分の集合を複数個生成し、他の線分よりも長い線分を優先的に選択する長さ優先の選択順序に基づいて、前記複数個の集合の中から処理対象の集合を選択し、前記処理対象の集合に含まれる前記所定数の線分それぞれと、前記複数の特徴線のうち前記所定数の特徴線それぞれとを対応付けた、前記所定数の組み合わせを生成する生成部と、
前記所定数の組み合わせを用いて、3次元空間内における前記撮像装置の位置と姿勢とを推定する推定部と、
を備えることを特徴とする推定装置。
(付記2)
前記生成部は、前記長さ優先の選択順序と、他の線分ペアよりも距離が離れた線分ペアを優先的に選択する距離優先の選択順序とを組み合わせて、前記処理対象の集合を選択することを特徴とする付記1記載の推定装置。
(付記3)
前記生成部は、前記長さ優先の選択順序と、前記距離優先の選択順序と、同じ平面上に存在する線分ペアよりも同じ平面上に存在しない線分ペアを優先的に選択する空間分布優先の選択順序とを組み合わせて、前記処理対象の集合を選択することを特徴とする付記2記載の推定装置。
(付記4)
前記生成部は、前記長さ優先の選択順序と、前記距離優先の選択順序と、前記空間分布優先の選択順序との重み付け総和に基づいて、前記処理対象の集合を選択することを特徴とする付記3記載の推定装置。
(付記5)
前記生成部は、前記処理対象の集合に含まれる前記所定数の線分を前記画像上に投影して、前記所定数の投影線を生成し、前記所定数の投影線に含まれる投影線同士の角度に基づいて、前記複数の特徴線の中から前記所定数の特徴線を選択することを特徴とする付記1乃至4のいずれか1項に記載の推定装置。
(付記6)
前記生成部は、前記複数の特徴線の中から前記所定数の特徴線候補の集合を複数個選択し、前記投影線同士の角度と、選択した複数個の集合各々に含まれる特徴線候補同士の角度との差分を計算し、前記選択した複数個の集合のうち閾値よりも小さな差分を有する集合を、前記所定数の特徴線として選択することを特徴とする付記5記載の推定装置。
(付記7)
前記複数の線分を前記画像上に投影して複数の投影線を生成し、前記複数の投影線のうち前記物体の外周を表す投影線を抽出する外周線抽出部をさらに備え、
前記生成部は、前記物体の外周を表す投影線に対応する線分の中から、前記所定数の線分を選択することを特徴とする付記1乃至6のいずれか1項に記載の推定装置。
(付記8)
前記画像内の指定領域を設定する領域設定部をさらに備え、
前記生成部は、前記複数の特徴線のうち、前記指定領域に含まれる複数の特徴線を抽出し、抽出した複数の特徴線の中から前記所定数の特徴線を選択することを特徴とする付記1乃至7のいずれか1項に記載の推定装置。
(付記9)
前記複数の線分を前記画像上に投影して複数の投影線を生成し、前記複数の線分から、投影線同士の角度が所定値以内である類似線分のグループを生成する線分分類部をさらに備え、
前記生成部は、前記類似線分のグループ内の複数の線分を含まないように、前記所定数の線分を選択することを特徴とする付記1乃至8のいずれか1項に記載の推定装置。
(付記10)
前記複数の特徴線から、特徴線同士の角度が所定値以内である類似特徴線のグループを生成する特徴線分類部をさらに備え、
前記生成部は、前記類似特徴線のグループ内の複数の特徴線を含まないように、前記所定数の特徴線を選択することを特徴とする付記1乃至9のいずれか1項に記載の推定装置。
(付記11)
コンピュータが、
撮像装置が撮影した物体の画像から、複数の特徴線を検出し、
前記物体の形状を表す形状情報に含まれる複数の線分のうち、所定数の線分の集合を複数個生成し、
他の線分よりも長い線分を優先的に選択する長さ優先の選択順序に基づいて、前記複数個の集合の中から処理対象の集合を選択し、
前記処理対象の集合に含まれる前記所定数の投影線それぞれと、前記複数の特徴線のうち前記所定数の特徴線それぞれとを対応付けた、前記所定数の組み合わせを生成し、
前記所定数の組み合わせを用いて、3次元空間内における前記撮像装置の位置と姿勢とを推定する、
ことを特徴とする推定方法。
(付記12)
前記コンピュータは、前記長さ優先の選択順序と、他の線分ペアよりも距離が離れた線分ペアを優先的に選択する距離優先の選択順序とを組み合わせて、前記処理対象の集合を選択することを特徴とする付記11記載の推定方法。
(付記13)
前記コンピュータは、前記長さ優先の選択順序と、前記距離優先の選択順序と、同じ平面上に存在する線分ペアよりも同じ平面上に存在しない線分ペアを優先的に選択する空間分布優先の選択順序とを組み合わせて、前記処理対象の集合を選択することを特徴とする付記12記載の推定方法。
(付記14)
撮像装置が撮影した物体の画像から、複数の特徴線を検出し、
前記物体の形状を表す形状情報に含まれる複数の線分のうち、所定数の線分の集合を複数個生成し、
他の線分よりも長い線分を優先的に選択する長さ優先の選択順序に基づいて、前記複数個の集合の中から処理対象の集合を選択し、
前記処理対象の集合に含まれる前記所定数の投影線それぞれと、前記複数の特徴線のうち前記所定数の特徴線それぞれとを対応付けた、前記所定数の組み合わせを生成し、
前記所定数の組み合わせを用いて、3次元空間内における前記撮像装置の位置と姿勢とを推定する、
処理をコンピュータに実行させるための推定プログラム。
(付記15)
前記コンピュータは、前記長さ優先の選択順序と、他の線分ペアよりも距離が離れた線分ペアを優先的に選択する距離優先の選択順序とを組み合わせて、前記処理対象の集合を選択することを特徴とする付記14記載の推定プログラム。
(付記16)
前記コンピュータは、前記長さ優先の選択順序と、前記距離優先の選択順序と、同じ平面上に存在する線分ペアよりも同じ平面上に存在しない線分ペアを優先的に選択する空間分布優先の選択順序とを組み合わせて、前記処理対象の集合を選択することを特徴とする付記15記載の推定プログラム。
101、301、1501、2101 推定装置
111、311 記憶部
112 検出部
113、316 生成部
114 推定部
121 形状情報
302 撮像装置
312 画像取得部
313 特徴線検出部
314 線分検出部
315 パラメータ設定部
317 パラメータ計算部
318 誤差計算部
319 決定部
320 出力部
331 CADデータ
332 画像
333、801〜805 特徴線
334 3D線分
335 初期パラメータ
336 対応ペア
337 パラメータ
338 指標
501 形状
502 物体
601〜606、701 投影線
711〜714 直線
1001〜1004 線分
1101、1102 垂線
1601、1602 指定領域
1701 外縁領域
2301 CPU
2302 メモリ
2303 入力装置
2304 出力装置
2305 補助記憶装置
2306 媒体駆動装置
2307 ネットワーク接続装置
2308 バス
2309 可搬型記録媒体

Claims (10)

  1. 物体の形状を表す複数の線分を含む形状情報を記憶する記憶部と、
    撮像装置が撮影した前記物体の画像から、複数の特徴線を検出する検出部と、
    前記複数の線分のうち所定数の線分の集合を複数個生成し、他の線分よりも長い線分を優先的に選択する長さ優先の選択順序に基づいて、前記複数個の集合の中から処理対象の集合を選択し、前記処理対象の集合に含まれる前記所定数の線分それぞれと、前記複数の特徴線のうち前記所定数の特徴線それぞれとを対応付けた、前記所定数の組み合わせを生成する生成部と、
    前記所定数の組み合わせを用いて、3次元空間内における前記撮像装置の位置と姿勢とを推定する推定部と、
    を備えることを特徴とする推定装置。
  2. 前記生成部は、前記長さ優先の選択順序と、他の線分ペアよりも距離が離れた線分ペアを優先的に選択する距離優先の選択順序とを組み合わせて、前記処理対象の集合を選択することを特徴とする請求項1記載の推定装置。
  3. 前記生成部は、前記長さ優先の選択順序と、前記距離優先の選択順序と、同じ平面上に存在する線分ペアよりも同じ平面上に存在しない線分ペアを優先的に選択する空間分布優先の選択順序とを組み合わせて、前記処理対象の集合を選択することを特徴とする請求項2記載の推定装置。
  4. 前記生成部は、前記処理対象の集合に含まれる前記所定数の線分を前記画像上に投影して、前記所定数の投影線を生成し、前記所定数の投影線に含まれる投影線同士の角度に基づいて、前記複数の特徴線の中から前記所定数の特徴線を選択することを特徴とする請求項1乃至3のいずれか1項に記載の推定装置。
  5. 前記複数の線分を前記画像上に投影して複数の投影線を生成し、前記複数の投影線のうち前記物体の外周を表す投影線を抽出する外周線抽出部をさらに備え、
    前記生成部は、前記物体の外周を表す投影線に対応する線分の中から、前記所定数の線分を選択することを特徴とする請求項1乃至4のいずれか1項に記載の推定装置。
  6. 前記画像内の指定領域を設定する領域設定部をさらに備え、
    前記生成部は、前記複数の特徴線のうち、前記指定領域に含まれる複数の特徴線を抽出し、抽出した複数の特徴線の中から前記所定数の特徴線を選択することを特徴とする請求項1乃至5のいずれか1項に記載の推定装置。
  7. 前記複数の線分を前記画像上に投影して複数の投影線を生成し、前記複数の線分から、投影線同士の角度が所定値以内である類似線分のグループを生成する線分分類部をさらに備え、
    前記生成部は、前記類似線分のグループ内の複数の線分を含まないように、前記所定数の線分を選択することを特徴とする請求項1乃至6のいずれか1項に記載の推定装置。
  8. 前記複数の特徴線から、特徴線同士の角度が所定値以内である類似特徴線のグループを生成する特徴線分類部をさらに備え、
    前記生成部は、前記類似特徴線のグループ内の複数の特徴線を含まないように、前記所定数の特徴線を選択することを特徴とする請求項1乃至7のいずれか1項に記載の推定装置。
  9. コンピュータが、
    撮像装置が撮影した物体の画像から、複数の特徴線を検出し、
    前記物体の形状を表す形状情報に含まれる複数の線分のうち、所定数の線分の集合を複数個生成し、
    他の線分よりも長い線分を優先的に選択する長さ優先の選択順序に基づいて、前記複数個の集合の中から処理対象の集合を選択し、
    前記処理対象の集合に含まれる前記所定数の投影線それぞれと、前記複数の特徴線のうち前記所定数の特徴線それぞれとを対応付けた、前記所定数の組み合わせを生成し、
    前記所定数の組み合わせを用いて、3次元空間内における前記撮像装置の位置と姿勢とを推定する、
    ことを特徴とする推定方法。
  10. 撮像装置が撮影した物体の画像から、複数の特徴線を検出し、
    前記物体の形状を表す形状情報に含まれる複数の線分のうち、所定数の線分の集合を複数個生成し、
    他の線分よりも長い線分を優先的に選択する長さ優先の選択順序に基づいて、前記複数個の集合の中から処理対象の集合を選択し、
    前記処理対象の集合に含まれる前記所定数の投影線それぞれと、前記複数の特徴線のうち前記所定数の特徴線それぞれとを対応付けた、前記所定数の組み合わせを生成し、
    前記所定数の組み合わせを用いて、3次元空間内における前記撮像装置の位置と姿勢とを推定する、
    処理をコンピュータに実行させるための推定プログラム。
JP2018041861A 2018-03-08 2018-03-08 推定装置、推定方法、及び推定プログラム Active JP7059701B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018041861A JP7059701B2 (ja) 2018-03-08 2018-03-08 推定装置、推定方法、及び推定プログラム
US16/272,412 US10755439B2 (en) 2018-03-08 2019-02-11 Estimation device, estimation method and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018041861A JP7059701B2 (ja) 2018-03-08 2018-03-08 推定装置、推定方法、及び推定プログラム

Publications (2)

Publication Number Publication Date
JP2019159470A true JP2019159470A (ja) 2019-09-19
JP7059701B2 JP7059701B2 (ja) 2022-04-26

Family

ID=67841962

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018041861A Active JP7059701B2 (ja) 2018-03-08 2018-03-08 推定装置、推定方法、及び推定プログラム

Country Status (2)

Country Link
US (1) US10755439B2 (ja)
JP (1) JP7059701B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7010778B2 (ja) * 2018-06-29 2022-01-26 国立大学法人東海国立大学機構 観測位置推定装置、その推定方法、及びプログラム
CN111881834B (zh) * 2020-07-29 2022-03-01 武汉理工大学 一种基于改进大津算法的结构化道路车道线识别方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008252713A (ja) * 2007-03-30 2008-10-16 Nikon Corp 撮像装置
JP2008275391A (ja) * 2007-04-26 2008-11-13 Canon Inc 位置姿勢計測装置及び位置姿勢計測方法
JP2010134649A (ja) * 2008-12-03 2010-06-17 Canon Inc 情報処理装置、その処理方法及びプログラム
JP2013047874A (ja) * 2011-08-29 2013-03-07 Pfu Ltd 画像処理装置、画像処理方法、画像処理プログラム及び画像処理システム
JP2017182302A (ja) * 2016-03-29 2017-10-05 富士通株式会社 画像処理プログラム、画像処理装置、及び画像処理方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5109294B2 (ja) 2006-06-19 2012-12-26 三菱電機株式会社 3次元位置補正装置
US7831098B2 (en) * 2006-11-07 2010-11-09 Recognition Robotics System and method for visual searching of objects using lines
JP5013961B2 (ja) * 2007-05-21 2012-08-29 キヤノン株式会社 位置姿勢計測装置及びその制御方法
JP5301239B2 (ja) * 2008-08-09 2013-09-25 株式会社キーエンス 画像処理におけるパターンモデルの位置決め方法、画像処理装置、画像処理プログラム及びコンピュータで読み取り可能な記録媒体
JP5602392B2 (ja) 2009-06-25 2014-10-08 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
US8306314B2 (en) * 2009-12-28 2012-11-06 Mitsubishi Electric Research Laboratories, Inc. Method and system for determining poses of objects
US8638986B2 (en) * 2011-04-20 2014-01-28 Qualcomm Incorporated Online reference patch generation and pose estimation for augmented reality
US9224205B2 (en) * 2012-06-14 2015-12-29 Qualcomm Incorporated Accelerated geometric shape detection and accurate pose tracking
JP6244886B2 (ja) 2013-12-19 2017-12-13 富士通株式会社 画像処理装置、画像処理方法および画像処理プログラム
US20150269436A1 (en) * 2014-03-18 2015-09-24 Qualcomm Incorporated Line segment tracking in computer vision applications
JP2015007639A (ja) 2014-08-20 2015-01-15 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
JP2016170050A (ja) 2015-03-12 2016-09-23 キヤノン株式会社 位置姿勢計測装置、位置姿勢計測方法及びコンピュータプログラム
JP6661980B2 (ja) * 2015-11-06 2020-03-11 富士通株式会社 重畳表示方法、重畳表示装置、及び重畳表示プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008252713A (ja) * 2007-03-30 2008-10-16 Nikon Corp 撮像装置
JP2008275391A (ja) * 2007-04-26 2008-11-13 Canon Inc 位置姿勢計測装置及び位置姿勢計測方法
JP2010134649A (ja) * 2008-12-03 2010-06-17 Canon Inc 情報処理装置、その処理方法及びプログラム
JP2013047874A (ja) * 2011-08-29 2013-03-07 Pfu Ltd 画像処理装置、画像処理方法、画像処理プログラム及び画像処理システム
JP2017182302A (ja) * 2016-03-29 2017-10-05 富士通株式会社 画像処理プログラム、画像処理装置、及び画像処理方法

Also Published As

Publication number Publication date
US20190279397A1 (en) 2019-09-12
JP7059701B2 (ja) 2022-04-26
US10755439B2 (en) 2020-08-25

Similar Documents

Publication Publication Date Title
JP5771413B2 (ja) 姿勢推定装置、姿勢推定システム、および姿勢推定方法
JP6011102B2 (ja) 物体姿勢推定方法
JP6716996B2 (ja) 画像処理プログラム、画像処理装置、及び画像処理方法
JP6554900B2 (ja) テンプレート作成装置及びテンプレート作成方法
JP6880618B2 (ja) 画像処理プログラム、画像処理装置、及び画像処理方法
JP6760490B2 (ja) 認識装置、認識方法および認識プログラム
JP7188201B2 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
US20160012600A1 (en) Image processing method, image processing apparatus, program, storage medium, production apparatus, and method of producing assembly
JP2019158628A (ja) 検査装置、検査方法、及び検査プログラム
JP7059701B2 (ja) 推定装置、推定方法、及び推定プログラム
JP7180283B2 (ja) 画像処理装置及び画像処理方法
JP7003617B2 (ja) 推定装置、推定方法、及び推定プログラム
JP5083715B2 (ja) 三次元位置姿勢計測方法および装置
US11145048B2 (en) Image processing apparatus, image processing method, and non-transitory computer-readable storage medium for storing program
WO2018135326A1 (ja) 画像処理装置、画像処理システム、画像処理プログラム、及び画像処理方法
JP2020098575A (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
JP7232663B2 (ja) 画像処理装置及び画像処理方法
KR101868520B1 (ko) 손 제스처 인식 방법 및 그 장치
JP2015184743A (ja) 画像処理装置および物体認識方法
JP6843552B2 (ja) 画像処理装置、画像処理方法およびプログラム。
JP2019105992A (ja) 画像処理装置、画像処理プログラム及び画像処理方法
JP6946912B2 (ja) 推定プログラム、推定装置、及び推定方法
WO2023127005A1 (ja) データ拡張装置、データ拡張方法、及びコンピュータ読み取り可能な記録媒体
JP6168601B2 (ja) 画像変換装置
JP2017208591A (ja) 画像処理装置、画像処理方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220228

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20220228

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220228

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220328

R150 Certificate of patent or registration of utility model

Ref document number: 7059701

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150