JP2020027439A - 情報処理装置、情報処理方法 - Google Patents

情報処理装置、情報処理方法 Download PDF

Info

Publication number
JP2020027439A
JP2020027439A JP2018151962A JP2018151962A JP2020027439A JP 2020027439 A JP2020027439 A JP 2020027439A JP 2018151962 A JP2018151962 A JP 2018151962A JP 2018151962 A JP2018151962 A JP 2018151962A JP 2020027439 A JP2020027439 A JP 2020027439A
Authority
JP
Japan
Prior art keywords
orientation
model
reference model
information processing
image
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
JP2018151962A
Other languages
English (en)
Other versions
JP2020027439A5 (ja
JP7134016B2 (ja
Inventor
深 山嵜
Fukashi Yamazaki
深 山嵜
小竹 大輔
Daisuke Kotake
大輔 小竹
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2018151962A priority Critical patent/JP7134016B2/ja
Priority to US16/535,469 priority patent/US11094082B2/en
Publication of JP2020027439A publication Critical patent/JP2020027439A/ja
Publication of JP2020027439A5 publication Critical patent/JP2020027439A5/ja
Application granted granted Critical
Publication of JP7134016B2 publication Critical patent/JP7134016B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • 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/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes

Landscapes

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

Abstract

【課題】 類似した形状が観測される位置姿勢を有する対象物体の位置姿勢の推定における計算コストを低減するための技術を提供すること。【解決手段】 対象物体の複数の照合用位置姿勢を設定する。対象物体の3次元形状を表す基準モデルが有する幾何特徴のうち照合用位置姿勢間で共通している部位の幾何特徴を含む共通構造モデルを生成する。対象物体を含む画像を取得する。該画像に、共通構造モデルと基準モデルとを照合して対象物体の位置姿勢を推定する。【選択図】 図2

Description

本発明は、対象物体の位置姿勢を推定するための技術に関するものである。
近年、ロボット技術の発展とともに、工業製品の組立のようなこれまで人間が行っていた複雑なタスクをロボットが代わりに行うようになりつつある。このようなロボットは、ハンドなどのエンドエフェクタによって部品を把持して組み立てを行う。工業製品の組立作業における部品の把持や部品同士の組付けをロボットが行うためには、ロボットから見た部品の位置姿勢を高精度に計測する必要がある。部品の位置姿勢を高精度に計測する方法としては、カメラや距離センサから得られる濃淡画像や距離画像に部品の全体形状を表す3次元形状モデルが当てはまるように位置姿勢を算出するモデルフィッティングが代表的な方法である。モデルフィッティングでは、濃淡画像から検出される画像特徴や距離画像から得られる3次元座標点と、部品の全体形状を表す3次元形状モデルが持つ幾何特徴と、の対応付けを行い、それぞれの対応について残差の和が最小となるような位置姿勢を算出する。この方法は位置姿勢を算出するにあたって、画像から認識した部品の位置姿勢の概略値を初期値として必要とする。しかしながら、モデルフィッティングは与えられた初期値に依存した位置姿勢を算出するため、初期値が対象物体の位置姿勢とかけ離れている場合、局所解に陥り、位置姿勢の推定を誤る。例えば、表と裏の形状が類似した部品では、表側の面が観測されているのにもかかわらず、裏側の面の位置姿勢が初期値として与えられる場合がある。この場合、モデルフィッティングでは誤った解に収束してしまい、正しい位置姿勢を算出できない。
これに対して、特許文献1と特許文献2に記載の方法では、類似した形状が観測される複数の位置姿勢に基づいてモデルフィッティングの初期値となる位置姿勢候補を生成して各々位置合わせする。そして、位置合わせ処理後の位置姿勢候補の中から、画像と部品の全体形状を表す3次元形状モデルとの一致度が最も高い位置姿勢を選択する。
特許05716433号公報 特開2015−194478号公報
しかしながら、特許文献1と特許文献2に記載の方法では、モデルフィッティングの初期値となる複数の位置姿勢候補を生成し、各々位置合わせ処理をするため計算コストが高い、という課題がある。本発明では、類似した形状が観測される位置姿勢を有する対象物体の位置姿勢の推定における計算コストを低減するための技術を提供する。
本発明の一様態は、対象物体の複数の照合用位置姿勢を設定する設定手段と、前記対象物体の3次元形状を表す基準モデルが有する幾何特徴のうち前記照合用位置姿勢間で共通している部位の幾何特徴を含む共通構造モデルを生成する生成手段と、前記対象物体を含む画像を取得する取得手段と、前記画像に、前記共通構造モデルと前記基準モデルとを照合して前記対象物体の位置姿勢を推定する推定手段とを備えることを特徴とする。
本発明の構成によれば、類似した形状が観測される位置姿勢を有する対象物体の位置姿勢の推定における計算コストを低減することができる。
実施形態の概要を説明する図。 システムの機能構成例を示すブロック図。 対象物体の位置姿勢を推定するために行う処理のフローチャート。 基準モデルのデータ構造を示した模式図。 ステップS1300における処理の詳細を示すフローチャート。 ステップS1500における処理の詳細を示すフローチャート。 共通構造モデルの生成処理のフローチャート。 共通構造モデル生成用のGUIの一例を示す図。 別ウインドウのGUIの一例を示す図。 ロボットシステムの構成例を示す図。 コンピュータ装置のハードウェア構成例を示すブロック図。
以下、添付図面を参照し、本発明の実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施形態の1つである。
[第1の実施形態]
(概要)
本実施形態では、濃淡画像および距離画像を用いて、類似した形状が観測される複数の位置姿勢を有する対象物体の位置姿勢を推定する。本実施形態で想定する対象物体は、図1に示すようなコネクタ部品11である。コネクタ部品11の場合、裏表や上下が反転した位置姿勢で類似した形状が観測されるため、位置姿勢の推定を誤りやすい。
特許文献1に記載の方法では、類似した形状が観測される位置姿勢をモデルフィッティング時に照合する位置姿勢(照合用位置姿勢)として設定する。そして図1(a)に示すように、画像10から認識したコネクタ部品11の位置姿勢の概略値(概略位置姿勢)と、照合用位置姿勢と、に基づき、モデルフィッティングの初期値となる位置姿勢候補A〜Dを生成する。そして、画像10に対してコネクタ部品11の全体形状を表す3次元形状モデルである基準モデル12を各々位置合わせして、位置姿勢候補A〜Dの概略位置姿勢をそれぞれ更新する。最後に、位置姿勢候補A〜Dの概略位置姿勢に配置した基準モデル12と画像10との一致度が最も高い位置姿勢候補(図1(a)では位置姿勢候補B)を推定位置姿勢として選択する。ここで、3次元形状モデルの配置とは、3次元形状モデルを位置姿勢によって2次元画像上あるいは3次元空間上へ射影することを意味する。しかしながら、位置姿勢候補について各々位置合わせするという処理は計算コストが高い。
そこで、本実施形態では、基準モデル12が持つ幾何特徴のうち照合用位置姿勢間で共通している部位の幾何特徴(共通構造)を利用した位置合わせを行うことで計算コストを低減する。図1のコネクタ部品11における共通構造とは、ピンや切り欠きを除いた直方体部分のことを指す。
共通構造を利用することで計算コストを低減する方法について図1(b)を用いて説明する。まず、共通構造を保持した3次元形状モデルである共通構造モデル13を、画像10から認識したコネクタ部品11の概略位置姿勢に配置し、モデルフィッティングで位置合わせして概略位置姿勢を更新する。そして、概略位置姿勢と照合用位置姿勢とに基づいて位置姿勢候補A〜Dを生成し、基準モデル12と画像10との一致度が最も高い位置姿勢候補(図1(b)では位置姿勢候補B)を推定位置姿勢として選択する。このように、共通構造モデルを用いることで、照合用位置姿勢のそれぞれについて画一的な位置合わせが行えるため、位置姿勢候補を各々位置合わせする部分を削減して計算コストを低減できる。
(構成)
次に、本実施形態に係るシステムの機能構成例について、図2のブロック図を用いて説明する。図2に示す如く、本実施形態に係るシステムは、撮像装置50と、情報処理装置100と、を有し、撮像装置50と情報処理装置100との間は無線及び/又は有線のネットワークを介して互いにデータ通信が可能なように構成されている。なお、図2では、撮像装置50と情報処理装置100とは別個の装置として示しているが、撮像装置50と情報処理装置100とを一体化させても良い。
先ず、撮像装置50について説明する。撮像装置50は、各画素が濃淡値を有する濃淡画像を撮像するカメラと、各画素が奥行き値を有する距離画像を撮像する距離センサと、を有する。そして撮像装置50は、濃淡画像と距離画像とを情報処理装置100に対して送出する。
次に、情報処理装置100について説明する。設定部110は、複数の照合用位置姿勢を設定する。生成部120は、保持部130に保持されている「対象物体全体の3次元形状を表す3次元形状モデル」である基準モデルと、設定部110が設定した複数の照合用位置姿勢と、を用いて、対象物体の共通構造モデルを生成する。そして生成部120は、該生成した共通構造モデルと、設定部110が設定した複数の照合用位置姿勢と、を保持部130に登録する。
保持部130は、基準モデルや後述の処理に必要な各種の情報を保持するメモリである。取得部140は、撮像装置50から送出された濃淡画像と距離画像とを取得する。推定部150は、保持部130に登録されている共通構造モデル及び基準モデルと、取得部140が撮像装置50から取得した濃淡画像および距離画像と、に基づいて、対象物体の位置姿勢を推定し、該推定した位置姿勢を出力する。制御部190は、情報処理装置100全体の動作制御を行う。
次に、情報処理装置100が撮像装置50による撮像画像(濃淡画像及び距離画像)中の対象物体の位置姿勢を推定するために行う処理について、同処理のフローチャートを示す図3に従って説明する。
<ステップS1100>
制御部190は情報処理装置100を制御して該情報処理装置100の初期化を行う。例えば制御部190による制御下で、生成部120は保持部130に登録されている基準モデルを読み出し、取得部140は、撮像装置50からカメラパラメータ(主点位置、焦点距離、歪み係数、画素数、解像度など)を取得する。
基準モデルは、点の集合、各点間を結ぶ線分の集合、複数の線分で構成される面の集合、のそれぞれの集合を規定する情報である。図4は基準モデルのデータ構造を示した模式図である。
基準モデルは、図4(a)に示す如く点P1〜点P14と、図4(b)に示す如く点P1〜点P14の2点間を結ぶ線分L1〜L16と、によってその形状が規定される。図4(c)は、点P1〜P14のそれぞれのIDおよび3次元座標(x座標値、y座標値、z座標値)を規定するテーブルであり、基準モデルのデータに含まれている。例えば、ID=P4の点の3次元座標は(100,200,350)である。図4(d)は、線分L1〜L16のそれぞれについて、該線分のIDと、該線分の両端の2点のそれぞれのIDと、該線分が共通構造に該当するか否かを示す識別子と、を規定するテーブルであり、基準モデルのデータに含まれている。識別子「True」は線分が共通構造に該当することを示しており、「False」は線分が共通構造に該当しないことを示している(以下では、識別子の初期値は「False」とする)。例えば、ID=L4の線分の両端の2点はID=P4の点とID=P5の点であり、該線分が共通構造に該当するか否かを示す識別子は「False」(共通構造に該当しない)である。この図4(d)のテーブルに登録されている識別子により、基準モデルに対応する共通構造モデルを定義する。また、基準モデルのデータには、基準モデルを構成する各面について、該面のIDと、該面を構成する点あるいは線分のIDと、該面が共通構造に該当するか否かを示す識別子と、を規定するテーブルも含まれている。
カメラパラメータは、Zhangの方法[Z. Zhang, ”A flexible new technique for camera calibration,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.22, no.11, pp.1330−1334, 2000.]により事前に校正したものであり、モデルフィッティングおよび一致度の算出時に用いられる。
また制御部190は、生成部120や推定部150で必要なパラメータを設定する。生成部120で必要なパラメータとしては、例えば、近傍範囲(例えば1mm)である。また、推定部150で必要なパラメータとしては、例えば、画像特徴と3次元形状モデルの幾何特徴とを対応付ける際の基準となる範囲(例えば5mm)である。
<ステップS1200>
設定部110は、ステップS1100で取得した基準モデルの対称軸を特定し、該特定した各対称軸周りに該基準モデルの姿勢を180度回転させる変換パラメータを照合用位置姿勢として設定する。基準モデルの対称軸の特定には、例えば、周知のPCA(Principal Component Analysis)を用いる。具体的には、基準モデルを構成する点の3次元座標を並べた行列をPCAで解析して、第1〜3主成分に対応する主成分ベクトルを対称軸とする。このようにすると、基準となる位置姿勢に対して裏表反転、上下反転、裏表上下反転するような照合用位置姿勢が設定される。
<ステップS1300>
生成部120は、ステップS1100で取得した基準モデルと、ステップS1200で設定した複数の照合用位置姿勢と、を用いて、照合用位置姿勢間で共通する幾何特徴群を基準モデルから抽出することで、該基準モデルに対応する共通構造モデルを生成する。ステップS1300における処理の詳細については後述する。
<ステップS1400>
取得部140は、撮像装置50から濃淡画像および距離画像を取得する。
<ステップS1500>
推定部150は、ステップS1100で取得した基準モデルと、ステップS1300で生成した共通構造モデルと、ステップS1400で取得した濃淡画像および距離画像と、に基づいて、対象物体の位置姿勢を推定し、該推定した位置姿勢を出力する。なお、推定した位置姿勢の出力先については特定の出力先に限らない。次に、上記のステップS1300における処理の詳細について、図5のフローチャートに従って説明する。
<ステップS1301>
生成部120は、ステップS1303において使用するICP(Iterative Closest Point)アルゴリズムにおける基準となる第1の位置姿勢を設定する。
ICP(Iterative Closest Point)アルゴリズム:[P. J. Besl and N. D. McKay, ”A method for registration of 3−D shapes,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.14, no.2, pp.239−256, 1992.]
本実施形態では、第1の位置姿勢として、位置の各成分が0、姿勢を表わす回転行列が単位行列である姿勢を設定する。
<ステップS1302>
生成部120は、ステップS1200で設定したそれぞれの照合用位置姿勢について、第1の位置姿勢を該照合用位置姿勢で変換した第2の位置姿勢を生成する。第2の位置姿勢は、ICPアルゴリズムにおける初期値となる。
<ステップS1303>
生成部120は、第2の位置姿勢ごとに、第1の位置姿勢で配置した基準モデルに該第2の位置姿勢で配置した基準モデルをICPアルゴリズムで位置合わせすることで該第2の位置姿勢を更新する。なお、本実施形態では、ICPアルゴリズムにおける位置姿勢の更新量がほぼ0である場合に収束したとみなしてステップS1304に進む。
<ステップS1304>
生成部120は、第1の位置姿勢で配置した基準モデルが持つ幾何特徴群の近傍を探索して、第2の位置姿勢で配置した基準モデルが持つ幾何特徴群と共通する幾何特徴群を抽出する。具体的には、第1の位置姿勢で配置した基準モデルから未選択の幾何特徴を1つ選択し、該選択した幾何特徴の近傍範囲内に1つ以上の第2の位置姿勢で配置した基準モデルの幾何特徴が存在すれば、共通する幾何特徴と判定する。この処理を、第1の位置姿勢で配置した基準モデルが持つすべての幾何特徴について行う。なお、本実施形態では、第1の位置姿勢で配置した基準モデルの幾何特徴群のうち、すべての第2の位置姿勢で配置した基準モデルが持つ幾何特徴が近傍範囲内に存在する幾何特徴群に共通構造の識別子「True」を付与する。次に、上記のステップS1500における処理の詳細について、図6のフローチャートに従って説明する。
<ステップS1501>
推定部150は、ステップS1400で取得した濃淡画像から画像特徴として2次元エッジを検出する。なお、2次元エッジとは、濃度勾配の極値となる点である。本実施形態では、Canny法[J. Canny, ”A Computational Approach To Edge Detection,“ IEEE Transaction Pattern Analysis and Machine Intelligence, Vol.8, no.6, pp.679−698, 1986.]により濃淡画像から2次元エッジを検出する。
<ステップS1502>
推定部150は、ステップS1400で取得した濃淡画像からモデルフィッティングの初期値となる対象物体の概略位置姿勢を認識(算出)する。例えば、予め対象物体を様々な姿勢で撮影したテンプレート画像を作成しておき、濃淡画像に対して該テンプレート画像をテンプレートマッチングすることで、該濃淡画像における対象物体の概略位置姿勢を算出する。
<ステップS1503>
推定部150は、濃淡画像から検出した2次元エッジとステップS1400で取得した距離画像が保持する3次元座標点に共通構造モデルが持つ幾何特徴を対応付ける。そして、対応部位の残差が最小になるように概略位置姿勢を更新する。ここで、2次元画像(濃淡画像)上の距離と3次元画像(距離画像)上の空間距離は尺度が異なるため、単純に対応部位の残差が最小になるように連立方程式を解くと、濃淡画像と距離画像から得られる計測情報の寄与率が偏ってしまう可能性がある。そのため、本実施形態では、[立野,小竹,内山,"ビンピッキングのための距離・濃淡画像を最ゆうに統合する高精度高安定なモデルフィッティング手法",電子情報通信学会論文誌D, 情報・システム J94−D(8), 1410−1422, 2011.]に示すような最尤推定に基づく最適化を行うことで、尺度を合わせた位置合わせを行う。なお、本実施形態では、上記のモデルフィッティングにおける位置姿勢の更新量がほぼ0である場合に収束したとみなしてステップS1504に進む。
<ステップS1504>
推定部150は、ステップS1200で設定したそれぞれの照合用位置姿勢について、ステップS1503で更新した概略位置姿勢を該照合用位置姿勢で変換して位置姿勢候補を生成する。すなわち、概略位置姿勢を基準の位置姿勢として、裏表反転、上下反転、裏表上下反転した位置姿勢候補を得る。
<ステップS1505>
推定部150は、複数の位置姿勢候補で配置された基準モデルと、濃淡画像と、の一致度に基づいて姿勢を判別する。具体的には、濃淡画像から検出した2次元エッジと距離画像が保持する3次元座標点に基準モデルが持つ幾何特徴を対応付ける。そして、対応部位の3次元空間における距離の平均を、画像と基準モデルの一致度として算出し、複数の位置姿勢候補の中から最も一致度が高い位置姿勢候補を、対象物体の位置姿勢の推定結果として選択する。このとき、濃淡画像から検出した画像特徴と基準モデルが持つ幾何特徴の対応部位の距離を3次元空間における距離で算出する必要がある。そのため、カメラパラメータを用いて3次元空間における距離に換算して距離の平均を算出する。
このように、本実施形態によれば、類似した形状が観測される位置姿勢を有する対象物体の位置姿勢の推定において、位置姿勢候補を各々位置合わせする必要がなくなるため、計算コストを低減することができる。
<変形例>
撮像装置50は、上述した濃淡画像を撮影するカメラと距離画像を撮影する距離センサとを有することに限らない。例えば、撮像装置50は、濃淡画像ではなくカラー画像を撮影するカメラを有しても良いし、2次元画像(濃淡画像やカラー画像)を撮影するカメラあるいは距離画像を撮影する距離センサのいずれか一方を有しても良い。
保持部130は、如何なるメモリ装置で構成しても良く、ハードディスクであっても良いし、CDやDVD等の記憶媒体であっても良いし、ネットワーク上に存在するストレージであっても良い。
基準モデルおよび共通構造モデルは、点の集合や線分の集合で3次元形状を表現したが、これに限るものではない。例えば、基準モデルおよび共通構造モデルは、対象物体の面および稜線を一様にサンプリングした点群データであっても良いし、表面形状を多角形パッチの集合として表現したデータであっても良い。また、陰関数の組み合わせによりパラメトリックに基準モデルおよび共通構造モデルの3次元形状を表現しても良い。その他にも、基準モデルおよび共通構造モデルは、位置姿勢の推定に必要な幾何特徴を表現できれば如何なる表現形式であっても構わない。また、上述したデータ構造では、共通構造モデルは基準モデルの幾何特徴に識別子を付与して記述したが、共通構造とそれ以外の部位を区別可能であればこれに限るものではない。例えば、識別子の代わりに重みを付与しても良いし、基準モデルと共通構造モデルを別々のモデルとして保持しても良い。重みを付与する場合、例えば共通構造に大きい重みを付与することで、図6のステップS1503において共通構造部分がより重視されて位置合わせが行われるため、第1の実施形態と同等の効果が得られる。
照合用位置姿勢の設定方法は、上述した所定軸回りに姿勢を180度回転させる方法に限るものではなく、対象物体の形状に応じて類似した形状が観測される位置姿勢を設定する方法であれば如何なる方法であっても良い。例えば、対象物体の概形が三角柱である場合、対称軸回りに姿勢を60度回転させる位置姿勢を設定しても良い。また、ユーザがGUI(グラフィカルユーザインタフェース)を操作して照合用位置姿勢を設定しても良いし、予め設定してある照合用位置姿勢を読み込んで設定しても良い。
生成部120における共通の幾何特徴の抽出方法は、上述したICPアルゴリズムによる方法に限るものではなく、基準モデル同士の幾何特徴の対応が取れれば如何なる方法を採用しても良い。例えば、照合用位置姿勢ごとに基準モデルをレンダリングし、レンダリング画像にテンプレートマッチングを行って、類似度が高い部位を抽出しても良い。また、SHOT(Signature of Histograms of OrienTations)特徴量のような高い表現力を持つ特徴記述方法を用いたマッチングでも良い。また、共通する幾何特徴か否かの判定方法は、近傍に幾何特徴が存在するか否かだけではなく、他の判定方法を組み合わせても良い。例えば、近傍範囲内にある幾何特徴との法線の一致度が閾値以上の部位を共通する幾何特徴としても良いし、幾何特徴が曲率を持つのであれば近傍範囲内にある幾何特徴の曲率の一致度が閾値以上の部位を共通する幾何特徴としても良い。その他にも、幾何特徴が類似しているか否かを判定する方法であれば如何なる方法を組み合わせても構わない。
推定部150における画像への3次元形状モデルの位置合わせは、上述したモデルフィッティングに限るものではなく、3次元形状モデルを用いて対象物体の位置合わせするのであれば如何なる方法を採用しても良い。例えば、機械学習による位置合わせでも良いし、撮像装置50による画像に3次元形状モデルをレンダリングした2次元画像やデプスバッファから取得した奥行き情報を保持した画像をテンプレートマッチングして位置合わせしても良い。また、位置合わせする際には対象物体の面情報と稜線情報を併用する必要はなく、物体の面情報のみで照合しても良いし、稜線情報のみで位置合わせしても良い。
推定部150における一致度は、上述した対応部位の3次元空間における距離の平均に限るものではなく、画像と基準モデルの対応部位の距離や形状が近い場合に一致度を高く評価する指標であれば如何なるものであっても良い。例えば、対応付いた部位の残差の平均であっても良いし、法線や曲率の一致度を評価しても良い。また、撮像装置50による画像と基準モデルのレンダリング画像の類似性を評価しても良い。
第1の実施形態では、第1の位置姿勢で配置した基準モデルに、第2の位置姿勢で配置した基準モデルを位置合わせすることで共通構造モデルを生成した。しかし、一旦生成した共通構造モデルの修正が必要な場合もある。例えば、新たに照合用位置姿勢を追加した場合には照合用位置姿勢間で共通する幾何特徴が変化する場合があるため、共通構造モデルの修正が必要になる。このような場合、第1の位置姿勢で配置する基準モデルを既に生成してある共通構造モデルに置き換えることで共通構造モデルを修正しても良い。
第1の実施形態では、推定部150において共通構造モデルによる位置合わせをしたあとに、基準モデルを用いて複数の位置姿勢候補の中から対象物体の位置姿勢を判別するが、基準モデルを用いた2段階目の位置合わせ処理を追加しても良い。例えば、ステップS1505の後に追加しても良いし、ステップS1504の後に追加しても良い。共通構造モデルによる位置合わせは、照合用位置姿勢のそれぞれについて画一的な位置合わせをするため、位置姿勢推定処理全体に必要な計算コストを低減できる。
[第2の実施形態]
本実施形態を含む以下の各実施形態や各変形例では、第1の実施形態との差分について説明し、以下で特に触れない限りは、第1の実施形態と同様であるものとする。第1の実施形態では、照合用位置姿勢に基づいて配置した基準モデルの位置合わせを行い、照合用姿勢間で共通する幾何特徴群を抽出して共通構造モデルを生成する方法について説明した。本実施形態では、共通構造モデルを生成するために、対象物体が含まれる濃淡画像と距離画像を取得し、基準モデルをモデルフィッティングで位置合わせすることにより照合用位置姿勢間で共通する幾何特徴を抽出する。
(構成)
本実施形態に係る取得部140は、対応が既知である濃淡画像と距離画像とを撮像装置50から取得する。生成部120は、設定部110により設定された照合用位置姿勢と、取得部140が取得した画像と、保持部130が保持する基準モデルと、に基づいて共通構造モデルを生成する。
本実施形態に係る処理全体の流れは基本的には第1の実施形態で説明した処理手順と同様であるため、以下では、図3を用いて第1の実施形態と相違する手順について説明する。
本実施形態では、ステップS1300において、濃淡画像と距離画像に基準モデルを位置合わせすることで、照合用位置姿勢間で共通する幾何特徴を抽出する。そのため、共通構造モデルの生成処理の前に濃淡画像と距離画像を撮像装置50から取得する処理が入る。次に、本実施形態に係る共通構造モデルの生成処理について、同処理のフローチャートを示す図7を用いて説明する。
<ステップS2301〜S2304>
ステップS2301〜S2304では、濃淡画像から検出した画像特徴と距離画像が保持する3次元座標点に基準モデルが持つ幾何特徴を対応付けて位置合わせする。ステップS2301、S2302、S2303、S2304はそれぞれ上記のステップS1501、S1502、S1504、S1503と基本的には同一の処理が行われるため、説明を省略する。
<ステップS2305>
ステップS2305では、生成部120は、画像特徴に対応付いた幾何特徴の近傍を探索して、照合用位置姿勢間で共通する幾何特徴を抽出し、共通構造を表す識別子「True」を付与する。具体的には、画像特徴に対応付いた幾何特徴の中から、未選択の幾何特徴を1つ選択する。ここで、画像特徴に対応付いた幾何特徴とは、位置姿勢候補に基づいて配置されたすべての基準モデルが持つ幾何特徴が対象となる。そして、選択した幾何特徴の近傍範囲内に、別の位置姿勢候補によって配置された基準モデルが持つ幾何特徴が存在すれば共通する幾何特徴と判定する。この処理を、画像特徴に対応付いたすべての幾何特徴について行う。なお、本実施形態では、位置姿勢候補によって配置された複数の基準モデルのうち、すべての基準モデルが持つ幾何特徴が近傍に存在する場合に、その幾何特徴に共通構造の識別子「True」を付与する。
本実施形態で生成した共通構造モデルを用いることで、類似した形状が観測される位置姿勢を有する対象物体の位置姿勢推定において、位置姿勢候補を各々位置合わせする必要がなくなるため、計算コストを低減できる。
<変形例>
第2の実施形態では、選択した位置姿勢候補の幾何特徴の近傍範囲内に、別の位置姿勢候補の幾何特徴が存在するか否かを判定して共通する幾何特徴群を抽出したが、同一の画像特徴に対応付いた幾何特徴を共通する幾何特徴群としても良い。
第2の実施形態では、共通構造モデルを生成するために、対象物体が含まれる画像を撮影し、画像と基準モデルを対応付けて共通する幾何特徴群を抽出した。しかし、位置姿勢推定処理においても同等の対応付け情報が得られるため、この対応付け情報を流用して共通構造モデルを生成しても良い。
[第3の実施形態]
第1,2の実施形態では、照合用位置姿勢間で共通する幾何特徴を抽出して共通構造モデルを生成する方法について説明した。一方で、共通構造は照合用位置姿勢間で観測される支配的な構造物であることが多い。図1のコネクタ部品11では、ピンや切り欠きを除いた直方体の部分が共通構造となるため、微細な構造物を除くことで第1,2の実施形態と同等の共通構造モデルが生成できる。そこで、本実施形態では、基準モデルを構成する面の面積を算出し、面積に基づいてその面が微細な構造を表す部位か否かを判定し、微細な構造とそれ以外の構造を区別する。そして、微細な構造を表す部位以外の幾何特徴を抽出して共通構造モデルを生成する。本実施形態に係る生成部120は、基準モデルから微細な構造を表す部位以外の幾何特徴を抽出して共通構造モデルを生成する。
次に、本実施形態における処理手順について説明する。ただし、本実施形態における全体処理手順は基本的には第1の実施形態と同様であるため、第1の実施形態と異なる処理を行うステップS1100およびステップS1300について説明する。なお、ここではステップS1100およびステップS1300はそれぞれステップS3100およびステップS3300として説明する。
<ステップS3100>
ステップS3100では、制御部190は情報処理装置100を制御して該情報処理装置100の初期化を行う。例えば制御部190による制御下で、第1の実施形態に係る初期化に加えて、生成部120のパラメータの設定を行う。本実施形態では、面積に微細な構造を表す部位か否かを判定して共通構造を抽出するため、この判定に用いる面積の閾値(例えば200平方mm)を設定する。
<ステップS3300>
ステップS3300では、生成部120は、基準モデルを構成する面の面積に基づき、微細な構造を表す部位以外の幾何特徴を抽出して共通構造モデルを生成する。具体的には、まず基準モデルから未選択の面を選択する。次に、選択した面の面積を算出する。このとき、面が曲率を持つ場合、その曲率に対応する球体の表面積に基づいて曲率を考慮した面積を算出する。そして、算出した面積とステップS3100で設定した閾値とを比較して、面積が閾値よりも大きければ該面に共通構造の識別子「True」を付与する。以上の処理を、基準モデルを構成するすべて面について処理する。
本実施形態で生成した共通構造モデルを用いることで、類似した形状が観測される位置姿勢を有する対象物体の位置姿勢推定において、位置姿勢候補を各々位置合わせする必要がなくなるため、計算コストを低減できる。
<変形例>
生成部120における共通する幾何特徴の抽出方法は、面の面積の大きさによる判定に限るものではなく、微細な構造を表す部位以外の幾何特徴を抽出する方法であれば如何なる方法を採用しても良い。例えば、基準モデルを構成する構造物の体積を各々算出して体積が大きい部位の幾何特徴を抽出しても良いし、構造物の法線分布を解析して法線の分布にばらつきが少ない部位の幾何特徴を抽出しても良い。また、基準モデルの解像度を下げた低解像度モデルを生成し、基準モデルと低解像度モデルの差異から微細な構造を表す部位以外の幾何特徴を抽出しても良い。この場合、基準モデルが持つ幾何特徴と低解像度モデルが持つ幾何特徴とを対応付けて、低解像度モデルが持つ幾何特徴が近傍範囲内に存在する部位の基準モデルが持つ幾何特徴群を抽出する。このようにすることで、周波数を変化させることなく微細な構造を表す部位を除いた共通構造モデルを生成できる。ただし、低解像度モデルは、空間フィルタにより低解像度化したモデルでも良いし、LOD(Level of Detail)による階層的な近似メッシュモデルであっても本質を損なうものではない。
[第4の実施形態]
本実施形態では、ユーザがGUIを操作して、プリミティブ形状モデルフィッティングおよびユーザ操作による3次元形状モデルの編集によって共通構造モデルを生成する方法について説明する。
図8は本実施形態における共通構造モデル生成用のGUIの一例を示す図である。本実施形態では、GUIは、情報処理装置100に接続されている不図示の表示装置に表示され、情報処理装置100に接続されている不図示のユーザインターフェース(キーボード、マウス、タッチパネルなど)をユーザが操作することで操作する。本実施形態では、GUIの表示制御やGUIを操作したことで行われる処理は何れも、制御部190によって行われる。
GUI500は、実行パネル510、モデル編集パネル520、表示切替パネル530、パラメータ設定パネル540、モデル表示パネル550、プリミティブ形状選択パネル560、照合用位置姿勢確認パネル570を備える。
実行パネル510は、基準モデル読込みボタン、フィッティングボタン、共通構造モデル生成ボタン、共通構造モデル保存ボタンを有する。モデル編集パネル520は、部位追加ボタン、部位除去ボタンを有する。表示切替パネル530は、基準モデル表示チェックボックス、共通構造モデル表示チェックボックス、プリミティブ形状モデル表示チェックボックスを有する。パラメータ設定パネル540は、近傍範囲入力ボックスを有する。
モデル表示パネル550は、基準モデル12、共通構造モデル13、プリミティブ形状モデル14、モデル座標軸20を表示する。モデル表示パネル550に表示される各3次元形状モデルは、表示切替パネル530内のチェックボックスにより表示/非表示を切り替えられる。モデル表示パネル550は、ユーザのマウス操作等により、各3次元形状モデルの位置姿勢を変更して表示する。例えば、ユーザが操作したい3次元形状モデルをマウスの左ボタンで選択する。そして、マウスの左ボタンのドラッグで該3次元形状モデルの面内の位置を変更、マウスホイールで該3次元形状モデルの奥行き方向の位置を変更、マウスの右ボタンのドラッグで該3次元形状モデルの姿勢を変更する。また、左ボタンで各3次元形状モデルの幾何特徴を選択可能である。選択した幾何特徴は、後述の部位追加ボタンと部位除去ボタンを指示したときの処理対象となる。また、プリミティブ形状モデル14が持つ幾何特徴をマウスの左ボタンでドラッグすると、もともとの立体形状を維持しながらプリミティブ形状モデル14を変形できる。モデル座標軸20は基準モデル12の対称軸である。対称軸の特定方法は第1の実施形態にて説明した通りであるため、その説明は省略する。ユーザは共通構造モデル13を生成するために、基準モデル12の共通構造になりそうな部位に重なるようにプリミティブ形状モデル14を変形させる。また、ユーザは基準モデル12や生成した共通構造モデル13の姿勢を変更することで各々の形状を確認する。
プリミティブ形状選択パネル560は、共通構造モデルを生成する際に用いるプリミティブ形状モデルのサムネイルを表示する。ユーザのマウス操作により、表示されているプリミティブ形状のサムネイルを選択すると、サムネイルに対応するプリミティブ形状モデルを保持部130から読み込み、モデル表示パネル550に表示されるプリミティブ形状モデル14を変更する。ユーザは、モデル表示パネル550に表示された基準モデル12の形状を確認し、共通構造になる部位と類似している形状のプリミティブ形状モデルを選択する。
照合用位置姿勢確認パネル570は、基準モデル12を用いて設定した照合用位置姿勢をサムネイルで表示する。ユーザのマウス操作により、例えばマウスの左ボタンでサムネイルを選択すると、基準モデル12および共通構造モデル13を選択したサムネイルと同一の姿勢に変更する。また、照合用位置姿勢確認パネル570は照合用姿勢設定ボタンを有する。
以下では、上記の各ボタンについて説明する。基準モデル読込みボタンは、対象物体の基準モデルを読み込むためのボタンである。基準モデル読込みボタンが押下されると、ファイル選択用ダイアログが表示され、ユーザがユーザインターフェースを操作して所望の基準モデルのファイルを選択すると、ファイルに記述してある基準モデルを保持部130から読み込む。基準モデルを読み込むと、モデル表示パネル550に表示している基準モデル12が新たに読み込んだ基準モデルに置き換わる。
フィッティングボタンは、基準モデル12にプリミティブ形状モデル14をフィッティングするためのボタンである。ユーザがユーザインターフェースを操作することでフィッティングボタンが押下されると、プリミティブ形状モデル14を構成する各頂点座標が、近傍に存在する基準モデル12を構成する頂点座標に置き換わり、プリミティブ形状モデル14の形状が変化する。
共通構造モデル生成ボタンは、基準モデル12が持つ幾何特徴群のうち、プリミティブ形状モデル14が持つ幾何特徴が近傍に存在する部位の幾何特徴群を抽出することで共通構造モデル13を生成するためのボタンである。その処理手順については、第1の実施形態に係るステップS1304と基本的には同一であるため、その説明は省略する。このとき、近傍範囲はパラメータ設定パネル540における近傍範囲入力ボックスに入力(指定)された値を用いる。
共通構造モデル保存ボタンは、一連の操作により生成された共通構造モデル13を保持部130に保存するためのボタンである。ユーザがユーザインターフェースを操作することで共通構造モデル保存ボタンが押下されると、ファイル保存用ダイアログを表示し、ユーザから保存先のファイル名を受け取ると、共通構造モデル13と設定した照合用位置姿勢を保持部130に保存する。共通構造モデル13の保存方法は第1の実施形態と同一であるため、その説明を省略する。
部位追加ボタンは、モデル表示パネル550で選択した基準モデル12の幾何特徴を共通構造モデル13に追加するためのボタンである。部位除去ボタンは、モデル表示パネル550で選択した共通構造モデル13の幾何特徴を除去するためのボタンである。
基準モデル表示チェックボックス、共通構造モデル表示チェックボックス、プリミティブ形状モデル表示チェックボックスは、各々の対応する3次元形状モデルのモデル表示パネル550における表示/非表示を切り替えるためのチェックボックスである。
近傍範囲入力ボックスは、共通構造モデル生成における基準モデルとプリミティブ形状モデルの重なる幾何特徴を抽出する際の近傍範囲の閾値を受け付けるための入力ボックスである。ユーザはユーザインターフェースを操作してこの閾値を近傍範囲入力ボックスに入力する。
照合用姿勢設定ボタンは、位置姿勢推定時に姿勢判別する類似した形状が観測される位置姿勢を設定するためのボタンである。ユーザがユーザインターフェースを操作することで照合用姿勢設定ボタンが押下されると、図9に例示する別ウインドウのGUI(照合用位置姿勢編集用のGUI)が表示され、ユーザ操作により複数の照合用位置姿勢が設定可能である。
図9の照合用位置姿勢編集用のGUI600は、モデル表示パネル610、位置姿勢編集パネル620を有する。また、GUI600は、位置姿勢登録ボタン、位置姿勢削除ボタン、回転角度入力ボックス、回転姿勢登録ボタン、を有する。このGUI600で設定した照合用位置姿勢は、共通構造モデル生成用のGUI500にも反映される。
モデル表示パネル610は、基準モデル12、基準モデル(姿勢設定用)14、モデル座標軸20を表示する。ユーザによるマウス操作は基本的には前述のモデル表示パネル550に対するものと同一である。また、ユーザのマウス操作によりモデル座標軸20の各軸を選択可能である。選択した軸は後述の回転姿勢登録ボタンを指示したときの処理対象となる。ユーザは、照合用位置姿勢を設定するために、基準モデル12の形状を見ながら基準モデル(姿勢設定用)14の位置姿勢を変更させる。
位置姿勢編集パネル620は、ユーザが登録した位置姿勢を表示する。各セルには、ユーザが入力した値が表示され、ユーザはユーザインターフェースを操作して該セルに表示されている値を編集することができる。また、ユーザのマウス操作により登録番号(1列目)が選択されると、基準モデル(姿勢設定用)14の位置姿勢を該選択した登録番号に対応する位置姿勢に変換する。
位置姿勢登録ボタンは、基準モデル(姿勢設定用)14の位置姿勢を登録するためのボタンである。ユーザがユーザインターフェースを操作することで位置姿勢登録ボタンが押下されると、該押下の時点での基準モデル(姿勢設定用)14の位置姿勢を保持する。また、位置姿勢編集パネル620に位置姿勢を追加する。
位置姿勢削除ボタンは、位置姿勢編集パネル620で選択した位置姿勢を削除するためのボタンである。回転角度入力ボックスは、所定軸周りに回転した姿勢を一括設定する際の回転角度の入力を、ユーザがユーザインターフェースを操作して入力するための入力ボックスである。
回転姿勢登録ボタン506は、回転角度入力ボックスに入力された値に基づいて、モデル表示パネル610で選択した軸周りに基準モデル(姿勢設定用)14を回転させた複数の位置姿勢を保持するためのボタンである。また、位置姿勢編集パネル620に複数の位置姿勢を一括で追加する。
本実施形態により、ユーザがGUIを操作することで照合用位置姿勢を設定したり、共通構造モデルを生成したりすることができる。本実施形態で生成した共通構造モデルを用いることで、類似した形状が観測される位置姿勢を有する対象物体の位置姿勢において、位置姿勢候補を各々位置合わせする必要が無くなるため、計算コストを低減できる。
<変形例>
照合用位置姿勢として、プリミティブ形状モデルごとに決められた照合用位置姿勢を設定しても良い。例えば、プリミティブ形状モデルとして四角柱を選択した場合、対称軸回りに90度ずつ回転させる位置姿勢を照合用位置姿勢として設定しても良いし、三角柱を選択した場合、対称軸回りに60度ずつ回転させる位置姿勢を照合用位置姿勢として設定しても良い。また、プリミティブ形状モデルを変形させた場合に、その形状に応じて決められた照合用位置姿勢を調整したものを照合用位置姿勢として設定しても良い。
第4の実施形態では、プリミティブ形状モデルのフィッティング方法で、プリミティブ形状モデルの各頂点座標を修正し、形状を変形してフィッティングする方法について説明した。しかし、プリミティブ形状モデルのフィッティング方法はこの限りでない。例えば、プリミティブ形状モデルをユーザが変形した形状のまま基準モデルに位置合わせしても良いし、予めテンプレートとして用意してある大きさが異なるプリミティブ形状モデルを読み込んで位置姿勢を合わせても良い。その他、基準モデルにプリミティブ形状モデルを合わせ込む方法であれば如何なる方法を採用しても良い。
[第5の実施形態]
上記の各実施形態や変形例において説明した情報処理装置100の適用事例としては、該情報処理装置100を産業用ロボットアームの手先部に設置し、対象物体の位置姿勢を推定して、対象物体を把持する目的に利用することが挙げられる。
図10は、対象物体19を把持するロボットシステムの構成例を示す図である。ロボット70の手先部には撮像装置50が設置されており、該撮像装置50は、対象物体19の濃淡画像および距離画像を撮像し、該撮像した濃淡画像および距離画像を情報処理装置100に対して出力する。情報処理装置100(推定部150)は、撮像装置50から入力される濃淡画像と距離画像、保持部130から取得した共通構造モデルおよび基準モデル、を用いて対象物体19の位置姿勢を推定し、該推定した位置姿勢をロボットコントローラ80に出力する。ロボットコントローラ80は、情報処理装置100(推定部150)から出力された位置姿勢に基づきロボット70の手先を移動させて、該位置姿勢の対象物体19の把持や組み付けを行う。
本実施形態における情報処理装置100の処理手順は、第1の実施形態にて説明した処理手順と同一であるため、その説明は省略する。ただし、ロボット70の手先と撮像装置50との間の相対位置姿勢は、例えばHoraudらの方法[R.Horaud and F.Dornaika,“Hand−Eye Calibration,” International Journal of Robotics Research,vol.14,no.3,pp.195−210,1995.]で予めキャリブレーションされているものとする。
本実施形態に係る情報処理装置100により、ロボットシステムは、類似した形状が観測される位置姿勢を有する対象物体の位置姿勢の推定の計算コストを低減し、対象物体を把持することが可能となる。
[第6の実施形態]
以上の各実施形態では、共通構造モデルの生成において基準モデルが持つ幾何特徴が照合用位置姿勢間で共通する幾何特徴か否かを判定するために予め設定してある固定の近傍範囲や面の面積などの閾値を用いていた。しかしながら、画像の解像度が異なると、共通構造モデルを用いた照合時に必要な幾何特徴が変化する場合がある。例えば、奥行き情報を保持する距離画像が高解像度の場合、対象物体の表面を計測した3次元座標の精度が高く、また小さな段差などが検出されやすい。このような小さな段差を表す部位の幾何特徴が照合用位置姿勢間で共通する幾何特徴でない場合、近傍範囲が適切に設定されていないと、この部位の幾何特徴が共通構造モデルに含まれることがある。一方で、距離画像が低解像度の場合、対象物体の表面を計測した3次元座標の精度が低いため、3次元座標の精度誤差を許容するように近傍範囲を広く設定して共通構造モデルを生成する必要がある。
本実施形態では、画像(濃淡画像もしくは距離画像)が高解像度の場合は、より精密な共通構造モデルを生成するように近傍範囲を狭く設定し、画像が低解像度の場合は、距離画像が保持する3次元座標の精度誤差を許容するように近傍範囲を広く設定する。高解像度とは、例えば、閾値以上の解像度を指し、低解像度とは閾値未満の解像度を指す。
本実施形態に係る情報処理装置は、図2の構成にパラメータ決定部を追加した構成を有する。このパラメータ決定部は、撮像装置50から取得した画像の解像度に応じて、生成部120で用いる閾値を決定する。決定した閾値は生成部120に入力される。
生成部120は、設定部110から取得した照合用位置姿勢と保持部130から取得した基準モデルと基づいて第1の実施形態と同様にして共通構造モデルを生成するが、その際、近傍範囲を判定する際にはパラメータ決定部から入力された閾値を用いる。
本実施形態に係る処理全体の流れは基本的には第1の実施形態で説明した処理手順と同様であるため、図3を用いて第1の実施形態と異なる手順について説明する。本実施形態では、撮像装置50から取得した解像度に応じて、共通構造モデル生成処理(ステップS1300)で用いる近傍範囲を決定するため、共通構造モデル生成処理の前にパラメータ決定処理が入る。共通構造モデル生成処理におけるステップS1304の近傍範囲判定には上述の通りパラメータ決定部から取得した閾値を用いる。具体的には、初期化処理(ステップS1100)で撮像装置50から取得した画像の解像度をx、画像の解像度と近傍範囲を調整する係数をaとすると、近傍範囲kを以下の式により算出する。
k=a/x
このように、本実施形態では、画像の解像度に応じて共通構造モデルの精度を変更することで、画像の解像度に合わせた位置合わせを行うことができる。なお、撮像装置50から取得した画像の解像度に基づいて近傍範囲kを算出するための上記の式は一例であり、各種の変形例が考えられる。
<変形例>
パラメータ決定部で決定する閾値は、上記の近傍範囲に限るものではない。例えば、共通する幾何特徴か否かの判定に、幾何特徴の法線や曲率の一致度を組み合わせる場合に、それらの閾値を解像度に応じて決定しても良い。この場合、例えば画像が高解像度のときには、より似た形状を表す幾何特徴を抽出するために一致度の閾値を厳しく設定し、そうでない場合は閾値を緩く設定するような算出式を設計する。
[第7の実施形態]
以上の各実施形態では、画像中の対象物体に対して共通構造モデルで位置合わせして概略位置姿勢を算出し、そのあとに基準モデルを用いた照合用位置姿勢の中から姿勢を判別して推定位置姿勢を算出した。しかしながら、画像が高解像度である場合、類似した形状が観測される姿勢を有する部品であっても、誤った位置姿勢を推定する確率が低くなる。
そこで本実施形態では、画像の解像度に応じて、照合用位置姿勢に基づいた姿勢判別を必要とするか否かを判定し、その判定結果に基づいて位置姿勢推定時の処理構成を切り替える。具体的には、画像が低解像度である場合に位置姿勢推定処理で照合用位置姿勢に基づいた姿勢判別を行い、画像が高解像度である場合には姿勢判別を行わないようにする。
本実施形態に係る情報処理装置は、図2の構成にモード判定部を追加した構成を有する。このモード判定部は、撮像装置50から取得した画像の解像度に応じて、推定部150で照合用位置姿勢に基づいた姿勢判別を必要とするか否かを判定するモード判定処理を行う。判定した内容は推定部150に入力する。
本実施形態に係る処理全体の流れは基本的には第1の実施形態で説明した処理手順と同様であるため、図3を用いて第1の実施形態と異なる手順を説明する。本実施形態では、撮像装置50から取得した解像度に応じて位置姿勢推定処理(ステップS1500)の処理の構成を切り替えるため、位置姿勢推定処理の前にモード判定処理が入る。位置姿勢推定処理は、モード判定処理により照合用位置姿勢に基づいた姿勢判定が必要であることが決定した場合には、第1の実施形態と同一の位置姿勢推定処理をする。一方、姿勢判定が必要ないと決定した場合には、基準モデルを用いてステップS1501〜S1503のモデルフィッティング処理を行い、位置姿勢推定処理を終了する。
このように、本実施形態では画像の解像度に応じて照合方法を切り替えることで、類似した形状の位置姿勢を有する対象物体の位置姿勢の推定における計算コストを低減できる。
[第8の実施形態]
図2に示した情報処理装置100の各機能部はハードウェアで実装しても良いし、保持部130を除く各機能部をソフトウェア(コンピュータプログラム)で実装しても良い。後者の場合、このコンピュータプログラムを実行可能なコンピュータ装置は情報処理装置100に適用可能である。情報処理装置100に適用可能なコンピュータ装置のハードウェア構成例について、図11のブロック図を用いて説明する。
CPU1101は、RAM1102やROM1103に格納されているコンピュータプログラムやデータを用いて各種の処理を実行する。これによりCPU1101は、コンピュータ装置全体の動作制御を行うと共に、情報処理装置100が行うものとして上述した各処理を実行若しくは制御する。
RAM1102は、ROM1103や外部記憶装置1106からロードされたコンピュータプログラムやデータ、I/F1107を介して外部(例えば撮像装置50)から受信したデータ、を格納するためのエリアを有する。更にRAM1102は、CPU1101が各種の処理を実行する際に用いるワークエリアを有する。このようにRAM1102は、各種のエリアを適宜提供することができる。ROM1103には、コンピュータ装置の設定データや起動プログラムなどの書換不要の情報が格納されている。
操作部1104は、マウス、キーボード、タッチパネルなどのユーザインターフェースにより構成されており、ユーザが操作することで各種の指示をCPU1101に対して入力することができる。例えば、ユーザは操作部1104を操作して上記のGUIに対する操作入力を行う。
表示部1105は、液晶画面やタッチパネルにより構成されており、CPU1101による処理結果を画像や文字などでもって表示することができる。例えば、上記のGUIは表示部1105に表示される。
外部記憶装置1106は、ハードディスクドライブ装置などの大容量情報記憶装置である。外部記憶装置1106には、OS(オペレーティングシステム)や、情報処理装置100が行うものとして上述した各処理をCPU1101に実行若しくは制御させるためのコンピュータプログラムやデータが保存されている。外部記憶装置1106に保存されているコンピュータプログラムには、図2に示した情報処理装置100の機能部において保持部130を除く各機能部に対応する機能をCPU1101に実現させるためのコンピュータプログラムが含まれている。また、外部記憶装置1106に保存されているデータには、上記の説明において既知の情報として取り扱ったもの(閾値など)が含まれる。また外部記憶装置1106には、保持部130に格納されているものとして上述した各種の情報を保存させても良い。
外部記憶装置1106に保存されているコンピュータプログラムやデータは、CPU1101による制御に従って適宜RAM1102にロードされ、CPU1101による処理対象となる。
I/F1107は、外部装置との間のデータ通信を行うためのインターフェースとして機能するものであり、例えばコンピュータ装置はI/F1107を介して撮像装置50との間のデータ通信を行う。
CPU1101、RAM1102、ROM1103、操作部1104、表示部1105、外部記憶装置1106、I/F1107は何れもバス1108に接続されている。なお、図11に示した構成は情報処理装置100に適用可能なコンピュータ装置のハードウェア構成の一例に過ぎない。
なお、以上説明した各実施形態や各変形例の一部若しくは全部を適宜組み合わせて使用しても良い。また、以上説明した各実施形態や各変形例の一部若しくは全部を選択的に使用しても構わない。
<効果のまとめ>
第1〜3の実施形態では、類似した形状が観測される位置姿勢を有する対象物体の位置姿勢推定において、各実施形態で生成した共通構造モデルを用いることで、複数の位置姿勢候補を各々位置合わせする必要がなくなるため、計算コストを低減できる。
第4の実施形態では、ユーザはGUIで操作することで照合用位置姿勢を設定したり、共通構造モデルを生成したりすることができる。第5の実施形態では、ロボットシステムは上記の情報処理装置により、類似した形状が観測される位置姿勢を有する対象物体の位置姿勢を推定し、ロボットは対象物体を把持することが可能となる。
第6の実施形態では、画像の解像度に応じて共通構造モデルの精度を変更することで、画像の解像度に合わせた位置合わせが行える。第7の実施形態では、画像の解像度に応じて照合方法を切り替えることで、類似した形状の位置姿勢を有する対象物体の位置姿勢推定における計算コストを低減できる。
<定義のまとめ>
上記の設定部110は、対象物体の類似した形状が観測される位置姿勢を照合用位置姿勢として設定するものであれば何でも良い。例えば、予め設定してある照合用位置姿勢を設定しても良いし、基準モデルの対称軸を特定して対称軸回りに姿勢を回転するような位置姿勢を設定しても良い。また、基準モデルと対応付ける3次元形状モデル(例えばプリミティブ形状モデルなど)に決められている照合用位置姿勢を設定しても良い。また、ユーザがGUIに表示される基準モデルの姿勢を変化させて形状を確認しながら設定しても良い。
生成部120は、照合用位置姿勢間で共通する幾何特徴群を抽出するものであれば何でも良い。例えば、第1の位置姿勢に配置した基準モデルに、照合用位置姿勢に基づいて生成した複数の第2の位置姿勢に配置した基準モデルを位置合わせする。そして、第1の位置姿勢に配置した基準モデルが持つ幾何特徴群のうち、第2の位置姿勢に配置した基準モデルの幾何特徴群が近傍に存在する幾何特徴群を抽出しても良い。また、照合用位置姿勢に基づいて生成した位置姿勢候補に配置された基準モデルを、対象物体が含まれる画像に位置合わせして、画像に対応付けた幾何特徴群のうち、近傍範囲内に異なる位置姿勢候補の幾何特徴群が存在する幾何特徴群を抽出しても良い。また、基準モデルから微細な構造を表す部位以外の幾何特徴群を抽出しても良い。また、ユーザがGUIに表示される基準モデルの姿勢を変化させて形状を確認しながら、照合用位置姿勢間で共通する幾何特徴群をマウスなどで選択して抽出しても良い。
保持部130は、基準モデルおよび共通構造モデルを保持する記憶装置であれば何でも良い。例えば、ハードディスクでも良いし、CDやDVDでも良いし、ネットワーク上に存在するストレージであっても良い。また、基準モデルおよび共通構造モデルの形状の表現方法は、対象物体の3次元形状を表現するものであれば何でも良い。例えば、点と点の関係により線分や面を構成して表現したものでも良いし、表面および稜線を一様にサンプリングした点群データであっても良い。あるいは、表面形状を多角形パッチの集合として表現したポリゴンデータでも良いし、陰関数の組み合わせによりパラメトリックに表現したものでも良い。また、共通構造モデルを保持するデータ構造は、共通構造とそれ以外の部位を区別可能であれば何でも良い。例えば、基準モデルが持つ幾何特徴に識別子や重みを付与しても良いし、基準モデルと共通構造モデルを別々のデータとして保持しても良い。
取得部140は、撮像装置が撮影した対象物体が含まれる画像を情報処理装置に入力するものであれば何でも良い。入力する画像の形態は、例えば濃淡画像でも良いし、カラー画像でも良いし、各画素が奥行きの情報を持つ距離画像でも良い。また、これらの画像のうち、複数種類を入力しても良い。
推定部150は、対象物体が含まれる画像に共通構造モデルと基準モデルを照合して対象物体の位置姿勢を推定するものであれば何でも良い。例えば、画像に共通構造モデルを位置合わせして、そのあとに基準モデルを用いて照合用位置姿勢の中から対象物体の姿勢を判別しても良い。また、前述の姿勢判別をしたあとに基準モデルで位置合わせしても良い。あるいは、画像に共通構造モデルを位置合わせしたあとに、画像に基準モデルを位置合わせしてから姿勢判別をしても良い。また、位置合わせ方法は、3次元形状モデルを用いて画像に含まれる対象物体の位置姿勢を推定する方法であれば何でも良い。例えば、モデルフィッティングでも良いし、テンプレートマッチングでも良いし、機械学習による推定でも良い。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
50:撮像装置 110:設定部 120:生成部 130:保持部 140:取得部 150:推定部 190:制御部

Claims (13)

  1. 対象物体の複数の照合用位置姿勢を設定する設定手段と、
    前記対象物体の3次元形状を表す基準モデルが有する幾何特徴のうち前記照合用位置姿勢間で共通している部位の幾何特徴を含む共通構造モデルを生成する生成手段と、
    前記対象物体を含む画像を取得する取得手段と、
    前記画像に、前記共通構造モデルと前記基準モデルとを照合して前記対象物体の位置姿勢を推定する推定手段と
    を備えることを特徴とする情報処理装置。
  2. 前記推定手段は、前記画像から検出した画像特徴と前記共通構造モデルとを位置合わせして前記対象物体の概略位置姿勢を算出し、該概略位置姿勢と前記照合用位置姿勢と前記基準モデルとに基づいて前記対象物体の位置姿勢を判別する、もしくは前記画像特徴に前記基準モデルを位置合わせしてから前記対象物体の位置姿勢を判別する、ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記生成手段は、第1の位置姿勢に配置した前記基準モデルと、前記照合用位置姿勢に基づいて生成した第2の位置姿勢に配置した前記基準モデルと、を位置合わせし、前記第1の位置姿勢に配置した前記基準モデルが有する幾何特徴群のうち、前記第2の位置姿勢に配置した前記基準モデルが有する幾何特徴群が近傍に存在する部位の幾何特徴群を抽出することを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記生成手段は、前記画像から検出した画像特徴に、前記照合用位置姿勢に基づいて生成した2つ以上の位置姿勢に配置した前記基準モデルを各々位置合わせし、前記画像特徴に対応付いた幾何特徴群のうち、1つ以上の異なる位置姿勢に配置した前記基準モデルが有する幾何特徴群が近傍に存在する部位の幾何特徴群を抽出することを特徴とする請求項1または2に記載の情報処理装置。
  5. 前記生成手段は、前記基準モデルが有する幾何特徴のうち、形状の微細な構造を表す部位以外の幾何特徴を抽出することを特徴とする請求項1または2に記載の情報処理装置。
  6. 前記情報処理装置は更に、前記基準モデルおよび前記共通構造モデルを表示させる表示制御手段を備えることを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
  7. 前記情報処理装置は更に、ユーザ操作を受け付ける受け付け手段を備え、
    前記表示制御手段は、前記ユーザ操作に応じて、前記基準モデルを前記照合用位置姿勢に基づいて配置して表示することを特徴とする請求項6に記載の情報処理装置。
  8. 前記受け付け手段は、第1の位置姿勢に配置した前記基準モデルが有する幾何特徴群のうち前記照合用位置姿勢に基づいて生成した第2の位置姿勢に配置した前記基準モデルが有する幾何特徴群が近傍に存在するか否かを判定する際の近傍範囲を指定する閾値、前記基準モデルが有する幾何特徴が微細な構造を表す部位か否かを判定する閾値、を受け付けることを特徴とする請求項7に記載の情報処理装置。
  9. 前記情報処理装置は更に、第1の位置姿勢に配置した前記基準モデルが有する幾何特徴群のうち前記照合用位置姿勢に基づいて生成した第2の位置姿勢に配置した前記基準モデルが有する幾何特徴群が近傍に存在するか否かを判定する際の近傍範囲を指定する閾値、前記基準モデルが有する幾何特徴が微細な構造を表す部位か否かを判定する閾値、を前記画像の解像度に基づき決定する手段を備えることを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。
  10. 前記情報処理装置は更に、前記画像の解像度に基づき、前記推定手段で前記共通構造モデルを用いて照合するか否かを判定する手段を備えることを特徴とする請求項1乃至9のいずれか1項に記載の情報処理装置。
  11. 情報処理装置が行う情報処理方法であって、
    前記情報処理装置の設定手段が、対象物体の複数の照合用位置姿勢を設定する設定工程と、
    前記情報処理装置の生成手段が、前記対象物体の3次元形状を表す基準モデルが有する幾何特徴のうち前記照合用位置姿勢間で共通している部位の幾何特徴を含む共通構造モデルを生成する生成工程と、
    前記情報処理装置の取得手段が、前記対象物体を含む画像を取得する取得工程と、
    前記情報処理装置の推定手段が、前記画像に、前記共通構造モデルと前記基準モデルとを照合して前記対象物体の位置姿勢を推定する推定工程と
    を備えることを特徴とする情報処理方法。
  12. 画像を撮像する撮像装置と、
    請求項1乃至10のいずれか1項に記載の情報処理装置と、
    前記情報処理装置による前記対象物体の位置姿勢の推定結果に基づいて前記対象物体を把持するロボットと
    を備えることを特徴とするロボットシステム。
  13. コンピュータを、請求項1乃至10のいずれか1項に記載の情報処理装置の各手段として機能させるためのコンピュータプログラム。
JP2018151962A 2018-08-10 2018-08-10 情報処理装置、情報処理方法 Active JP7134016B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018151962A JP7134016B2 (ja) 2018-08-10 2018-08-10 情報処理装置、情報処理方法
US16/535,469 US11094082B2 (en) 2018-08-10 2019-08-08 Information processing apparatus, information processing method, robot system, and non-transitory computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018151962A JP7134016B2 (ja) 2018-08-10 2018-08-10 情報処理装置、情報処理方法

Publications (3)

Publication Number Publication Date
JP2020027439A true JP2020027439A (ja) 2020-02-20
JP2020027439A5 JP2020027439A5 (ja) 2021-09-24
JP7134016B2 JP7134016B2 (ja) 2022-09-09

Family

ID=69406072

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018151962A Active JP7134016B2 (ja) 2018-08-10 2018-08-10 情報処理装置、情報処理方法

Country Status (2)

Country Link
US (1) US11094082B2 (ja)
JP (1) JP7134016B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021166975A1 (ja) 2020-02-20 2021-08-26 国立大学法人静岡大学 固体電解質、二次電池及びキャパシタ
WO2023127747A1 (ja) * 2021-12-29 2023-07-06 株式会社ソニー・インタラクティブエンタテインメント 情報処理システム、情報処理方法及びプログラム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017207069A1 (de) * 2017-04-27 2018-10-31 Robert Bosch Gmbh Prüfvorrichtung zur optischen Prüfung eines Objektes, Produktionsanlage mit der Prüfvorrichtung und Verfahren zur optischen Prüfung des Objektes mit der Prüfvorrichtung
CN112102411B (zh) * 2020-11-02 2021-02-12 中国人民解放军国防科技大学 一种基于语义误差图像的视觉定位方法及装置
CN112396673B (zh) * 2020-11-30 2023-07-07 重庆市勘测院 一种空间要素几何拓扑自动处理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004259114A (ja) * 2003-02-27 2004-09-16 Seiko Epson Corp 物体識別方法および物体識別装置、並びに物体識別プログラム
JP2015062017A (ja) * 2014-09-30 2015-04-02 オムロン株式会社 モデル作成装置、モデル作成プログラム、および画像認識システム
JP2015194478A (ja) * 2014-03-20 2015-11-05 キヤノン株式会社 情報処理装置、情報処理方法、プログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53140943A (en) 1977-05-13 1978-12-08 Fujitsu Ltd Magnetic bubble detector
JP5058686B2 (ja) * 2007-06-14 2012-10-24 キヤノン株式会社 情報処理方法及び情報処理装置
US9002098B1 (en) * 2012-01-25 2015-04-07 Hrl Laboratories, Llc Robotic visual perception system
JP6573354B2 (ja) 2014-11-28 2019-09-11 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
WO2016103332A1 (ja) * 2014-12-22 2016-06-30 株式会社 テクノミライ デジタルファインドセキュリティシステム、方法及びプログラム
JP6688088B2 (ja) 2016-01-19 2020-04-28 キヤノン株式会社 情報処理装置およびその制御方法
US10171730B2 (en) 2016-02-15 2019-01-01 Canon Kabushiki Kaisha Information processing apparatus, method of controlling information processing apparatus, and storage medium
US11144786B2 (en) 2017-11-02 2021-10-12 Canon Kabushiki Kaisha Information processing apparatus, method for controlling information processing apparatus, and storage medium
US11003939B2 (en) 2018-07-06 2021-05-11 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004259114A (ja) * 2003-02-27 2004-09-16 Seiko Epson Corp 物体識別方法および物体識別装置、並びに物体識別プログラム
JP2015194478A (ja) * 2014-03-20 2015-11-05 キヤノン株式会社 情報処理装置、情報処理方法、プログラム
JP2015062017A (ja) * 2014-09-30 2015-04-02 オムロン株式会社 モデル作成装置、モデル作成プログラム、および画像認識システム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
K. BOEHNKE: ""Object localization in range data for robotic bin picking"", 2007 IEEE INTERNATIONAL CONFERENCE ON AUTOMATION SCIENCE AND ENGINEERING, JPN6022031659, 22 September 2007 (2007-09-22), US, pages 572 - 577, XP031141506, ISSN: 0004838325 *
外山 史、外2名: ""多視方向画像間の類似性と姿勢推定への応用"", 電子情報通信学会技術研究報告, vol. 99, no. 306, JPN6022031658, 17 September 1999 (1999-09-17), JP, pages 61 - 66, ISSN: 0004838324 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021166975A1 (ja) 2020-02-20 2021-08-26 国立大学法人静岡大学 固体電解質、二次電池及びキャパシタ
WO2023127747A1 (ja) * 2021-12-29 2023-07-06 株式会社ソニー・インタラクティブエンタテインメント 情報処理システム、情報処理方法及びプログラム

Also Published As

Publication number Publication date
US20200051278A1 (en) 2020-02-13
JP7134016B2 (ja) 2022-09-09
US11094082B2 (en) 2021-08-17

Similar Documents

Publication Publication Date Title
JP7134016B2 (ja) 情報処理装置、情報処理方法
JP5612916B2 (ja) 位置姿勢計測装置、その処理方法、プログラム、ロボットシステム
JP5839971B2 (ja) 情報処理装置、情報処理方法及びプログラム
US20180066934A1 (en) Three-dimensional measurement apparatus, processing method, and non-transitory computer-readable storage medium
JP6594129B2 (ja) 情報処理装置、情報処理方法、プログラム
JP5671281B2 (ja) 位置姿勢計測装置、位置姿勢計測装置の制御方法及びプログラム
JP6370038B2 (ja) 位置姿勢計測装置及び方法
JP3735344B2 (ja) キャリブレーション装置、キャリブレーション方法、及びキャリブレーション用プログラム
JP6271953B2 (ja) 画像処理装置、画像処理方法
JP5746477B2 (ja) モデル生成装置、3次元計測装置、それらの制御方法及びプログラム
JP6736257B2 (ja) 情報処理装置、情報処理方法、プログラム
JP6324025B2 (ja) 情報処理装置、情報処理方法
JP5627325B2 (ja) 位置姿勢計測装置、位置姿勢計測方法、およびプログラム
JP2018091656A (ja) 情報処理装置、計測装置、システム、算出方法、プログラムおよび物品の製造方法
JP2016170050A (ja) 位置姿勢計測装置、位置姿勢計測方法及びコンピュータプログラム
WO2019013162A1 (ja) 情報処理装置、情報処理方法
JP5976089B2 (ja) 位置姿勢計測装置、位置姿勢計測方法、およびプログラム
JP5030183B2 (ja) 3次元物体位置姿勢計測方法
JP6890422B2 (ja) 情報処理装置、情報処理装置の制御方法およびプログラム
JP6836628B2 (ja) ピッキングまたはデバンニング用対象物認識装置、ピッキングまたはデバンニング用対象物認識方法、ならびにプログラム
JP6766229B2 (ja) 位置姿勢計測装置及び方法
WO2022172471A1 (ja) 支援システム、画像処理装置、支援方法およびプログラム
JP2021077290A (ja) 情報処理装置、情報処理方法、プログラム、システム及び物品の製造方法
JP2011174878A (ja) 位置姿勢計測装置

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210810

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220725

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220830

R151 Written notification of patent or utility model registration

Ref document number: 7134016

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151