IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ イントリンシック イノベーション エルエルシーの特許一覧

特許7462769物体の姿勢の検出および測定システムを特徴付けるためのシステムおよび方法
<>
  • 特許-物体の姿勢の検出および測定システムを特徴付けるためのシステムおよび方法 図1
  • 特許-物体の姿勢の検出および測定システムを特徴付けるためのシステムおよび方法 図2
  • 特許-物体の姿勢の検出および測定システムを特徴付けるためのシステムおよび方法 図3
  • 特許-物体の姿勢の検出および測定システムを特徴付けるためのシステムおよび方法 図4
  • 特許-物体の姿勢の検出および測定システムを特徴付けるためのシステムおよび方法 図5
  • 特許-物体の姿勢の検出および測定システムを特徴付けるためのシステムおよび方法 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-28
(45)【発行日】2024-04-05
(54)【発明の名称】物体の姿勢の検出および測定システムを特徴付けるためのシステムおよび方法
(51)【国際特許分類】
   G06T 7/70 20170101AFI20240329BHJP
   G01B 11/26 20060101ALI20240329BHJP
【FI】
G06T7/70 Z
G01B11/26 H
【請求項の数】 16
(21)【出願番号】P 2022546123
(86)(22)【出願日】2020-12-03
(65)【公表番号】
(43)【公表日】2023-03-22
(86)【国際出願番号】 US2020063044
(87)【国際公開番号】W WO2021154386
(87)【国際公開日】2021-08-05
【審査請求日】2022-09-27
(31)【優先権主張番号】62/967,487
(32)【優先日】2020-01-29
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】521430508
【氏名又は名称】イントリンジック イノベーション エルエルシー
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100126480
【弁理士】
【氏名又は名称】佐藤 睦
(72)【発明者】
【氏名】カルラ,アガスティア
(72)【発明者】
【氏名】カダンビ,アチュタ
(72)【発明者】
【氏名】ベンカタラマン,カーティク
【審査官】伊知地 和之
(56)【参考文献】
【文献】特許第6506483(JP,B1)
【文献】米国特許出願公開第2015/0243035(US,A1)
【文献】米国特許出願公開第2008/0298672(US,A1)
【文献】特表2002-521683(JP,A)
【文献】池上史郎他,パーツ定位を用いた三次元位置合わせ,情報処理学会 研究報告 コンピュータビジョンとイメージメディア(CVIM) 2015-CVIM-196 [online] ,日本,情報処理学会,2015年02月27日,pp.1-5
【文献】Lu SHENG et al.,“A Generative Model for Depth-Based Robust 3D Facial Pose Tracking”,2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR),2017年07月,pp.4598-4607
【文献】Mihai FIERARU et al.,“Learning to Refine Human Pose Estimation”,2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops (CVPRW),2018年06月,pp.318-327
(58)【調査した分野】(Int.Cl.,DB名)
G01B 11/00 - 11/30
G06T 7/00 - 7/90
G06V 10/00 - 20/90
G06V 30/418
G06V 40/16
G06V 40/20
CSDB(日本国特許庁)
(57)【特許請求の範囲】
【請求項1】
姿勢推定システムを特徴付けるための方法であって、
姿勢推定システムから、プロセッサおよびメモリを含む特徴付けシステムによって、第1のシーンにおける物体の配置の第1の複数の姿勢を受信することと、
前記姿勢推定システムから、前記特徴付けシステムによって、第2のシーンにおける前記物体の配置の第2の複数の姿勢を受信することであって、前記第2のシーンは、前記姿勢推定システムに関して前記第1のシーンの前記物体の配置の剛体変換である、前記第2の複数の姿勢を受信することと、
前記特徴付けシステムによって、前記第1のシーンと前記第2のシーンとの間の粗いシーン変換を計算することと、
前記特徴付けシステムによって、前記第1の複数の姿勢と前記第2の複数の姿勢との間で対応する姿勢を一致させることと、
前記特徴付けシステムによって、粗いシーン変換、前記第1の姿勢、および前記第2の姿勢に基づいて、前記第1のシーンと前記第2のシーンとの間の改良されたシーン変換を計算することと、
前記特徴付けシステムによって、前記改良されたシーン変換に基づいて前記第1の複数の姿勢を変換して、複数の変換された第1の姿勢を計算することと、
前記変換された第1の姿勢と前記第2の複数の姿勢との間の差に基づいて、前記姿勢推定システムの平均回転誤差および平均並行移動誤差を計算することと、を含み、
前記第1の複数の姿勢と前記第2の複数の姿勢との間で前記対応する姿勢を前記一致させることは、
前記粗いシーン変換に従って前記第1の複数の姿勢を変換して、複数の粗く変換された第1の姿勢を計算することと、
前記粗く変換された第1の姿勢ごとに、
前記第2の複数の姿勢のうち、前記粗く変換された第1の姿勢に最も近い第2の姿勢を識別することと、
前記粗く変換された第1の姿勢および前記第2の姿勢に対応する物体のタイプを識別することと、
前記物体の前記タイプの第1の3Dモデルを、前記粗く変換された第1の姿勢に配置することと、
前記物体の前記タイプの第2の3Dモデルを前記第2の姿勢に配置することと、
前記配置された第1の3Dモデルと前記配置された第2の3Dモデルとの間の交差が偽陽性閾値交差を満たすときに、前記粗く変換された第1の姿勢と、前記粗く変換された第1の姿勢に最も近い前記第2の姿勢が一致すると判定することと、によって実行される、方法。
【請求項2】
前記姿勢推定システムに関する前記物体の配置の前記剛体変換は、前記物体の配置の回転を含む、請求項1に記載の方法。
【請求項3】
前記物体の配置は支持プラットフォーム上にあり、
前記特徴付けシステムは、前記姿勢推定システムに関して前記物体の配置を剛体的に変換するように前記支持プラットフォームを制御するように構成される、請求項1に記載の方法。
【請求項4】
前記物体の配置に隣接する基準が、前記第1のシーンで画像化され、前記物体の配置で剛体的に変換され、前記第2のシーンで画像化され、
前記第1のシーンと前記第2のシーンとの間の前記粗いシーン変換は、前記第1のシーンで画像化された前記基準の第1の姿勢と、前記第2のシーンで画像化された前記基準の第2の姿勢との計算に基づいて計算される、請求項1に記載の方法。
【請求項5】
姿勢推定システムを特徴付けるための方法であって、
姿勢推定システムから、プロセッサおよびメモリを含む特徴付けシステムによって、第1のシーンにおける物体の配置の第1の複数の姿勢を受信することと、
前記姿勢推定システムから、前記特徴付けシステムによって、第2のシーンにおける前記物体の配置の第2の複数の姿勢を受信することであって、前記第2のシーンは、前記姿勢推定システムに関して前記第1のシーンの前記物体の配置の剛体変換である、前記第2の複数の姿勢を受信することと、
前記特徴付けシステムによって、前記第1のシーンと前記第2のシーンとの間の粗いシーン変換を計算することと、
前記特徴付けシステムによって、前記第1の複数の姿勢と前記第2の複数の姿勢との間で対応する姿勢を一致させることと、
前記特徴付けシステムによって、粗いシーン変換、前記第1の姿勢、および前記第2の姿勢に基づいて、前記第1のシーンと前記第2のシーンとの間の改良されたシーン変換を計算することと、
前記特徴付けシステムによって、前記改良されたシーン変換に基づいて前記第1の複数の姿勢を変換して、複数の変換された第1の姿勢を計算することと、
前記変換された第1の姿勢と前記第2の複数の姿勢との間の差に基づいて、前記姿勢推定システムの平均回転誤差および平均並行移動誤差を計算することと、を含み、
前記第1の複数の姿勢と前記第2の複数の姿勢との間で前記対応する姿勢を前記一致させることは、
前記粗いシーン変換に従って前記第1の複数の姿勢を変換して、複数の粗く変換された第1の姿勢を計算することと、
記粗く変換された第1の姿勢ごとに、
前記第2の複数の姿勢のうち、前記粗く変換された第1の姿勢に最も近い第2の姿勢を識別することと、
前記粗く変換された第1の姿勢と、前記粗く変換された第1の姿勢に最も近い前記第2の姿勢との間の距離が偽陽性閾値距離よりも小さい場合、前記変換された第1の姿勢と前記粗く変換された第1の姿勢に最も近い前記第2の姿勢が一致すると判定することと、によって実行される、方法。
【請求項6】
前記改良されたシーン変換を前記計算することは、
前記粗いシーン変換に基づいて現在のシーン変換を初期化することと、
前記現在のシーン変換によって変換された複数の第1の姿勢を計算することと、
前記現在のシーン変換によって変換された前記第の姿勢と前記第の姿勢との間の差に基づいて計算されたコスト関数の削減に従って前記現在のシーン変換を更新することと、を含む、請求項1に記載の方法。
【請求項7】
前記平均回転誤差は、前記変換された第1の姿勢と前記第2の複数の姿勢の回転成分の間の前記差の間の前記回転誤差の合計に基づいて計算され、
前記平均並行移動誤差は、前記変換された第1の姿勢と前記第2の複数の姿勢の並行移動成分間の差の間の前記並行移動誤差の合計に基づいて計算される、請求項1に記載の方法。
【請求項8】
姿勢推定システムを特徴付けるための方法であって、
姿勢推定システムから、プロセッサおよびメモリを含む特徴付けシステムによって、第1のシーンにおける物体の配置の第1の複数の姿勢を受信することと、
前記姿勢推定システムから、前記特徴付けシステムによって、第2のシーンにおける前記物体の配置の第2の複数の姿勢を受信することであって、前記第2のシーンは、前記姿勢推定システムに関して前記第1のシーンの前記物体の配置の剛体変換である、前記第2の複数の姿勢を受信することと、
前記特徴付けシステムによって、前記第1のシーンと前記第2のシーンとの間の粗いシーン変換を計算することと、
前記特徴付けシステムによって、前記第1の複数の姿勢と前記第2の複数の姿勢との間で対応する姿勢を一致させることと、
前記特徴付けシステムによって、粗いシーン変換、前記第1の姿勢、および前記第2の姿勢に基づいて、前記第1のシーンと前記第2のシーンとの間の改良されたシーン変換を計算することと、
前記特徴付けシステムによって、前記改良されたシーン変換に基づいて前記第1の複数の姿勢を変換して、複数の変換された第1の姿勢を計算することと、
前記変換された第1の姿勢と前記第2の複数の姿勢との間の差に基づいて、前記姿勢推定システムの平均回転誤差および平均並行移動誤差を計算することと、を含み、
前記平均回転誤差は、前記変換された第1の姿勢と前記第2の複数の姿勢の回転成分の間の前記差の間の前記回転誤差の合計に基づいて計算され、
前記平均並行移動誤差は、前記変換された第1の姿勢と前記第2の複数の姿勢の並行移動成分間の差の間の前記並行移動誤差の合計に基づいて計算され、
前記平均回転誤差Rerrは、以下のように計算される:
【数1】

ここで、前記平均並行移動誤差Terrは、以下のように計算される:
【数2】

式中
【数3】
は、前記第1のシーンの第iの姿勢、
【数4】
は、前記第2のシーンの第iの姿勢、
【数5】
は、前記第1のシーンSからの前記第2のシーンSへの前記改良されたシーン変換であり、nは第1の姿勢の数と第2の姿勢の数である、方法。
【請求項9】
姿勢推定システムを特徴付けるためのシステムであって、
プロセッサと、
命令を格納するメモリと、を備え、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
姿勢推定システムから、第1のシーンにおける物体の配置の第1の複数の姿勢を受信させ、
前記姿勢推定システムから、第2のシーンにおける前記物体の配置の第2の複数の姿勢を受信させ、前記第2のシーンは、前記姿勢推定システムに関して前記第1のシーンの前記物体の配置の剛体変換であり、
前記第1のシーンと前記第2のシーンとの間の粗いシーン変換を計算させ、
前記第1の複数の姿勢と前記第2の複数の姿勢との間で対応する姿勢を一致させ、
粗いシーン変換、前記第1の姿勢、および前記第2の姿勢に基づいて、前記第1のシーンと前記第2のシーンとの間の改良されたシーン変換を計算させ、
前記改良されたシーン変換に基づいて前記第1の複数の姿勢を変換して、複数の変換された第1の姿勢を計算させ、
前記変換された第1の姿勢と前記第2の複数の姿勢との間の差に基づいて、前記姿勢推定システムの平均回転誤差および平均並行移動誤差を計算させ、
前記メモリは、命令をさらに記憶し、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、前記第1の複数の姿勢と前記第2の複数の姿勢との間で対応する姿勢を、
前記粗いシーン変換に従って前記第1の複数の姿勢を変換して、複数の変換された第1の姿勢を計算することと、
前記変換された第1の姿勢ごとに、
前記第2の複数の姿勢のうち、前記変換された第1の姿勢に最も近い第2の姿勢を識別することと、
前記変換された第1の姿勢および前記第2の姿勢に対応する物体のタイプを識別することと、
前記物体の前記タイプの第1の3Dモデルを、前記変換された第1の姿勢に配置することと、
前記物体の前記タイプの第2の3Dモデルを前記第2の姿勢に配置することと、
前記配置された第1の3Dモデルと前記配置された第2の3Dモデルとの間の交差が偽陽性閾値交差を満たすときに、前記変換された第1の姿勢と、前記変換された第1の姿勢に最も近い前記第2の姿勢が一致すると判定することと、によって一致させる、システム。
【請求項10】
前記姿勢推定システムに関する前記物体の配置の前記剛体変換は、前記物体の配置の回転を含む、請求項に記載のシステム。
【請求項11】
支持プラットフォームをさらに備え、
前記メモリは、さらに命令を記憶し、前記命令は前記プロセッサによって実行されると、前記プロセッサに、前記支持プラットフォームを制御させて、前記姿勢推定システムに関する前記物体の配置を前記第1のシーンから前記第2のシーンに剛体的に変換させる、請求項に記載のシステム。
【請求項12】
前記物体の配置に隣接する基準が、前記第1のシーンで画像化され、前記物体の配置で剛体的に変換され、前記第2のシーンで画像化され、
前記第1のシーンと前記第2のシーンとの間の前記粗いシーン変換は、前記第1のシーンで画像化された前記基準の第1の姿勢と、前記第2のシーンで画像化された前記基準の第2の姿勢との計算に基づいて計算される、請求項に記載のシステム。
【請求項13】
姿勢推定システムを特徴付けるためのシステムであって、
プロセッサと、
命令を格納するメモリと、を備え、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
姿勢推定システムから、第1のシーンにおける物体の配置の第1の複数の姿勢を受信させ、
前記姿勢推定システムから、第2のシーンにおける前記物体の配置の第2の複数の姿勢を受信させ、前記第2のシーンは、前記姿勢推定システムに関して前記第1のシーンの前記物体の配置の剛体変換であり、
前記第1のシーンと前記第2のシーンとの間の粗いシーン変換を計算させ、
前記第1の複数の姿勢と前記第2の複数の姿勢との間で対応する姿勢を一致させ、
粗いシーン変換、前記第1の姿勢、および前記第2の姿勢に基づいて、前記第1のシーンと前記第2のシーンとの間の改良されたシーン変換を計算させ、
前記改良されたシーン変換に基づいて前記第1の複数の姿勢を変換して、複数の変換された第1の姿勢を計算させ、
前記変換された第1の姿勢と前記第2の複数の姿勢との間の差に基づいて、前記姿勢推定システムの平均回転誤差および平均並行移動誤差を計算させ、
前記メモリは、命令をさらに記憶し、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、前記第1の複数の姿勢と前記第2の複数の姿勢との間で対応する姿勢を、
前記粗いシーン変換に従って前記第1の複数の姿勢を変換して、複数の変換された第1の姿勢を計算することと、
記変換された第1の姿勢ごとに、
前記第2の複数の姿勢のうち、前記変換された第1の姿勢に最も近い第2の姿勢を識別することと、
前記変換された第1の姿勢と、前記変換された第1の姿勢に最も近い前記第2の姿勢との間の距離が偽陽性閾値距離よりも小さい場合、前記変換された第1の姿勢と前記変換された第1の姿勢に最も近い前記第2の姿勢が一致すると判定することと、によって一致させる、システム。
【請求項14】
前記メモリは、さらに命令を記憶し、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
前記粗いシーン変換に基づいて現在のシーン変換を初期化することと、
前記現在のシーン変換によって変換された複数の第1の姿勢を計算することと、
前記現在のシーン変換によって変換された前記第1の姿勢と前記第2の姿勢との間の差に基づいて計算されたコスト関数の削減に従って前記現在のシーン変換を更新することと、によって前記改良されたシーン変換を計算させる、請求項に記載のシステム。
【請求項15】
前記メモリは、さらに命令を記憶し、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
前記変換された第1の姿勢と前記第2の複数の姿勢の回転成分の間の前記差の間の前記回転誤差の合計に基づいて、前記平均回転誤差を計算させ、
前記変換された第1の姿勢と前記第2の複数の姿勢の並行移動成分間の差の間の前記並行移動誤差の合計に基づいて、前記平均並行移動誤差を計算させる、請求項に記載のシステム。
【請求項16】
姿勢推定システムを特徴付けるためのシステムであって、
プロセッサと、
命令を格納するメモリと、を備え、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
姿勢推定システムから、第1のシーンにおける物体の配置の第1の複数の姿勢を受信させ、
前記姿勢推定システムから、第2のシーンにおける前記物体の配置の第2の複数の姿勢を受信させ、前記第2のシーンは、前記姿勢推定システムに関して前記第1のシーンの前記物体の配置の剛体変換であり、
前記第1のシーンと前記第2のシーンとの間の粗いシーン変換を計算させ、
前記第1の複数の姿勢と前記第2の複数の姿勢との間で対応する姿勢を一致させ、
粗いシーン変換、前記第1の姿勢、および前記第2の姿勢に基づいて、前記第1のシーンと前記第2のシーンとの間の改良されたシーン変換を計算させ、
前記改良されたシーン変換に基づいて前記第1の複数の姿勢を変換して、複数の変換された第1の姿勢を計算させ、
前記変換された第1の姿勢と前記第2の複数の姿勢との間の差に基づいて、前記姿勢推定システムの平均回転誤差および平均並行移動誤差を計算させ、
前記メモリは、さらに命令を記憶し、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
前記変換された第1の姿勢と前記第2の複数の姿勢の回転成分の間の前記差の間の前記回転誤差の合計に基づいて、前記平均回転誤差を計算させ、
前記変換された第1の姿勢と前記第2の複数の姿勢の並行移動成分間の差の間の前記並行移動誤差の合計に基づいて、前記平均並行移動誤差を計算させ、
前記平均回転誤差はRerr、以下のように計算される:
【数6】

ここで、前記平均並行移動誤差Terrは、以下のように計算される:
【数7】

式中
【数8】
は、前記第1のシーンの第iの姿勢、
【数9】
は、前記第2のシーンの第iの姿勢、
【数10】
は、前記第1のシーンSからの前記第2のシーンSへの改良されたシーン変換であり、nは第1の姿勢の数と第2の姿勢の数である、システム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本出願は、2020年1月29日に米国特許商標庁に出願された米国仮特許出願第62/967,487号に対する優先権および利益を主張し、その開示全体が参照により本明細書に組み込まれる。
【0002】
本開示の実施形態の態様は、センサの分野、特に、物体姿勢測定システムの正確さおよび精度を特徴付けるためのシステムおよび方法に関する。
【背景技術】
【0003】
ロボット工学などの自動化の多くの分野では、センサを使用して、実世界の物体の物理的な関係を判断する。例えば、ロボットシステムは、様々な方向に到達する可能性のある物体を把握し、物体を目的の位置に再配置し、物体を別の物体に接続するために、センシングシステムを使用して様々な物理物体の位置を測定することがよくある。基準座標系に対する物体の位置および方向は「姿勢」と呼ばれることがあり、3次元座標系では、一般に6自由度、すなわち3軸を中心とした回転および3軸に沿った並行移動が含まれる。
【発明の概要】
【0004】
本開示の実施形態の態様は、物体姿勢測定システムの正確さおよび精度を特徴付けるためのシステムおよび方法に関する。
【0005】
本開示の一実施形態によれば、姿勢推定システムを特徴付けるための方法は、姿勢推定システムから、プロセッサおよびメモリを含む特徴付けシステムによって、第1のシーンにおける物体の配置の第1の複数の姿勢を受信することと、姿勢推定システムから、特徴付けシステムによって、第2のシーンにおける物体の配置の第2の複数の姿勢を受信することであって、第2のシーンは、姿勢推定システムに関して第1のシーンの物体の配置の剛体変換である、当該第2の複数の姿勢を受信することと、特徴付けシステムによって、第1のシーンと第2のシーンの間の粗いシーン変換を計算することと、特徴付けシステムによって、第1の複数の姿勢と第2の複数の姿勢の間で対応する姿勢を一致させることと、特徴付けシステムによって、粗いシーン変換、第1の姿勢、および第2の姿勢に基づいて、第1のシーンと第2のシーンとの間の改良されたシーン変換を計算することと、特徴付けシステムによって、改良されたシーン変換に基づいて第1の複数の姿勢を変換して、複数の変換された第1の姿勢を計算することと、変換された第1の姿勢と第2の複数の姿勢との間の差に基づいて、姿勢推定システムの平均回転誤差および平均並行移動誤差を計算することと、を含む。
【0006】
姿勢推定システムに関する物体の配置の剛体変換は、物体の配置の回転を含み得る。
【0007】
物体の配置は支持プラットフォーム上であってもよく、特徴付けシステムは、姿勢推定システムに関して物体の配置を剛体的に変換するように支持プラットフォームを制御するように構成され得る。
【0008】
物体の配置に隣接する基準は、第1のシーンで画像化され、物体の配置で剛体的に変換されてもよく、第2のシーンで画像化され、第1のシーンと第2のシーンとの間の粗いシーン変換は、第1のシーンで画像化された基準の第1の姿勢と、第2のシーンで画像化された基準の第2の姿勢との計算に基づいて計算され得る。
【0009】
第1の複数の姿勢と第2の複数の姿勢との間で対応する姿勢を一致させることは、粗いシーン変換に従って第1の複数の姿勢を変換して、複数の粗く変換された第1の姿勢を計算することと、第1の粗く変換された第1の姿勢の粗く変換された第1の姿勢ごとに、粗く変換された第1の姿勢に最も近い第2の姿勢の第2の姿勢を識別することと、粗く変換された第1の姿勢と、粗く変換された第1の姿勢に最も近い第2の姿勢との間の距離が偽陽性閾値距離よりも小さい場合、変換された第1の姿勢と粗く変換された第1の姿勢に最も近い第2の姿勢が一致すると判定することと、によって実行され得る。
【0010】
第1の複数の姿勢と第2の複数の姿勢との間で対応する姿勢を一致させることは、粗いシーン変換に従って第1の複数の姿勢を変換して、複数の粗く変換された第1の姿勢を計算することと、第1の粗く変換された第1の姿勢の粗く変換された第1の姿勢ごとに、粗く変換された第1の姿勢に最も近い第2の姿勢の第2の姿勢を識別することと、粗く変換された第1の姿勢および第2の姿勢に対応する物体のタイプを識別することと、物体のタイプの第1の3Dモデルを、粗く変換された第1の姿勢に配置することと、物体のタイプの第2の3Dモデルを第2の姿勢に配置することと、配置された第1の3Dモデルと配置された第2の3Dモデルとの間の交差が偽陽性閾値交差を満たすときに、粗く変換された第1の姿勢と、粗く変換された第1の姿勢に最も近い第2の姿勢が一致すると判定することと、によって実行され得る。
【0011】
改良されたシーン変換を計算することは、粗いシーン変換に基づいて現在のシーン変換を初期化することと、現在のシーン変換によって変換された複数の第1の姿勢を計算することと、現在のシーン変換によって変換された第2の姿勢と第1の姿勢との間の差に基づいて計算されたコスト関数の削減に従って現在のシーン変換を更新することと、を含み得る。
【0012】
平均回転誤差は、変換された第1の姿勢と第2の複数の姿勢の回転成分の間の差の間の回転誤差の合計に基づいて計算されてもよく、平均並行移動誤差は、変換された第1の姿勢と第2の複数の姿勢の並行移動成分間の差の間の並行移動誤差の合計に基づいて計算されてもよい。
【0013】
平均回転誤差Rerrは、以下のように計算され得る:
【数1】

ここで、平均並行移動誤差Terrは、以下のように計算され得る:
【数2】

式中
【数3】

は、第1の姿勢の第iの姿勢、
【数4】

は、第2の姿勢の第iの姿勢、
【数5】

は、第1のシーンSからの第2のシーンSへの改良されたシーン変換であり、nは第1の姿勢の数と第2の姿勢の数である。
【0014】
本開示の一実施形態によれば、姿勢推定システムを特徴付けるためのシステムは、プロセッサと、命令を格納するメモリと、を含み、命令は、プロセッサによって実行されると、プロセッサに、姿勢推定システムから、第1のシーンにおける物体の配置の第1の複数の姿勢を受信させ、姿勢推定システムから、第2のシーンにおける物体の配置の第2の複数の姿勢を受信させ、第2のシーンは、姿勢推定システムに関して第1のシーンの物体の配置の剛体変換であり、第1のシーンと第2のシーンの間の粗いシーン変換を計算させ、第1の複数の姿勢と第2の複数の姿勢の間で対応する姿勢を一致させ、粗いシーン変換、第1の姿勢、および第2の姿勢に基づいて、第1のシーンと第2のシーンとの間の改良されたシーン変換を計算させ、改良されたシーン変換に基づいて第1の複数の姿勢を変換して、複数の変換された第1の姿勢を計算させ、変換された第1の姿勢と第2の複数の姿勢との間の差に基づいて、姿勢推定システムの平均回転誤差および平均並行移動誤差を計算させる。
【0015】
姿勢推定システムに関する物体の配置の剛体変換は、物体の配置の回転を含み得る。
【0016】
システムは、支持プラットフォームをさらに含んでもよく、メモリは、さらに命令を記憶してもよく、命令はプロセッサによって実行されると、プロセッサに、支持プラットフォームを制御させて、姿勢推定システムに関する物体の配置を第1のシーンから第2のシーンに剛体的に変換させる。
【0017】
物体の配置に隣接する基準は、第1のシーンで画像化され、物体の配置で剛体的に変換されてもよく、第2のシーンで画像化され、第1のシーンと第2のシーンとの間の粗いシーン変換は、第1のシーンで画像化された基準の第1の姿勢と、第2のシーンで画像化された基準の第2の姿勢との計算に基づいて計算され得る。
【0018】
メモリは、命令をさらに記憶してもよく、命令は、プロセッサによって実行されると、プロセッサに、第1の複数の姿勢と第2の複数の姿勢との間の対応する姿勢を、粗いシーン変換に従って第1の複数の姿勢を変換して、複数の変換された第1の姿勢を計算することと、第1の変換された第1の姿勢の変換された第1の姿勢ごとに、変換された第1の姿勢に最も近い第2の姿勢の第2の姿勢を識別することと、変換された第1の姿勢と、変換された第1の姿勢に最も近い第2の姿勢との間の距離が偽陽性閾値距離よりも小さい場合、変換された第1の姿勢と変換された第1の姿勢に最も近い第2の姿勢が一致すると判定することと、によって一致させる。
【0019】
メモリは、さらに命令を記憶してもよく、命令は、プロセッサによって実行されると、プロセッサに、第1の複数の姿勢と第2の複数の姿勢との間で対応する姿勢を、粗いシーン変換に従って第1の複数の姿勢を変換して、複数の変換された第1の姿勢を計算することと、第1の変換された第1の姿勢の変換された第1の姿勢ごとに、変換された第1の姿勢に最も近い第2の姿勢の第2の姿勢を識別することと、変換された第1の姿勢および第2の姿勢に対応する物体のタイプを識別することと、物体のタイプの第1の3Dモデルを、変換された第1の姿勢に配置することと、物体のタイプの第2の3Dモデルを第2の姿勢に配置することと、配置された第1の3Dモデルと配置された第2の3Dモデルとの間の交差が偽陽性閾値交差を満たすときに、変換された第1の姿勢と、変換された第1の姿勢に最も近い第2の姿勢が一致すると判定することと、によって一致させる。
【0020】
メモリは、命令をさらに記憶してもよく、命令は、プロセッサによって実行されると、プロセッサに、粗いシーン変換に基づいて現在のシーン変換を初期化することと、現在のシーン変換によって変換された複数の第1の姿勢を計算することと、現在のシーン変換によって変換された第2の姿勢と第1の姿勢との間の差に基づいて計算されたコスト関数の削減に従って現在のシーン変換を更新することと、によって、改良されたシーン変換を計算させる。
【0021】
メモリは、命令をさらに記憶してもよく、命令は、プロセッサによって実行されると、プロセッサに、平均回転誤差を、変換された第1の姿勢と第2の複数の姿勢の回転成分の間の差の間の回転誤差の合計に基づいて計算させ、平均並行移動誤差を、変換された第1の姿勢と第2の複数の姿勢の並行移動成分間の差の間の並行移動誤差の合計に基づいて計算させる。
【0022】
平均回転誤差Rerrは、以下のように計算され得る:
【数6】

平均並行移動誤差Terrは、以下のように計算され得る:
【数7】

式中
【数8】

は、第1の姿勢の第iの姿勢、
【数9】

は、第2の姿勢の第iの姿勢、
【数10】

は、第1のシーンSからの第2のシーンSへの改良されたシーン変換であり、nは第1の姿勢の数と第2の姿勢の数である。
【図面の簡単な説明】
【0023】
添付の図面は、明細書とともに、本発明の例示的な実施形態を示し、説明とともに、本発明の原理を説明するのに役立つ。
図1】姿勢推定システムを特徴付けるための本開示の一実施形態による特徴付けシステムを示す概略図である。
図2】姿勢推定システムを特徴付けるための本開示の一実施形態による方法のフローチャートである。
図3】第1のシーンSの配置の物体の推定された姿勢と、第2のシーン
【数11】

の配置の物体の推定された姿勢
【数12】

の描写を含む、姿勢推定システムに関する第2のシーンSを形成するための、姿勢推定システムに関する第1のシーンにおける物体の配置の剛体変換の概略図である。
図4】本開示の一実施形態による、第2のシーン
【数13】

における変換された第1の姿勢
【数14】

を計算するための粗いシーン変換Tcoarseによる第1の姿勢
【数15】

の変換を示す概略図である。
図5】本開示の一実施形態による、第2の姿勢
【数16】

上に粗く変換された第1の姿勢
【数17】

を重ね合わせた概略図である。
図6】本開示の一実施形態による、粗く変換された第1の姿勢
【数18】

よりも対応する姿勢
【数19】

に近い変換された第1の姿勢
【数20】

を生成するために、第1の姿勢
【数21】

が改良されたシーン変換
【数22】

によって変換される概略図である。
【発明を実施するための形態】
【0024】
以下の詳細な説明では、本発明の単なる特定の例示的な実施形態が例示として示され、説明されている。当業者が理解するように、本発明は、多くの異なる形態で具体化することができ、本明細書に記載の実施形態に限定されると解釈されるべきではない。
【0025】
姿勢推定は、一般に、物体の位置および方向を推定または予測するためのコンピュータビジョン技術を指す。姿勢推定のいくつかの形式は、人の頭、腕、脚、および関節の位置および向きなど、人物の物理的な姿勢を検出することを指す。姿勢推定は、より一般的には、シーン内の様々な生物または無生物の物理物体の位置および方向を指す場合もある。例えば、自律的にナビゲートするロボットは、衝突を回避し、他の移動する物体の軌道を予測するために、周囲の物体の物理的な姿勢に関する情報を維持する場合がある。別の例として、製造で使用するロボットの場合、ロボットアームが正しい角度からコンポーネントに接近して、製造された製品の他のコンポーネントと組み立てるための部品上の適切なグリップを得ることができるように、姿勢推定をロボットが使用してコンポーネントの位置および方向を検出することができる(例えば、ネジの頭をつかんでネジを穴にねじ込むのに対し、ネジの先端をつかむと穴に挿入するのが難しくなる)。
【0026】
シーンに関する深度情報をキャプチャする3次元(3D)スキャナなど、姿勢推定を実行するための様々な手法がある。例えば、姿勢推定は、(例えば、光のパターンまたは構造化光を放出し得るアクティブな発光体を用いて)アクティブであり得るステレオビジョンシステム(例えば、ステレオからの深さに基づく)を使用して画像をキャプチャすることによって実行され得る。別の例として、飛行時間検知を使用して、光の放出とその反射の検出との間の時間に基づいて、シーン内の表面の深さを測定することができる。畳み込みニューラルを使用するインスタンスセグメンテーションなどのさらなるコンピュータビジョン技術を使用して、個々の物体を互いに分離することもでき、さらにコンピュータビジョン分析を実行して、物体の互いに対する姿勢を決定することができる。これらの様々な姿勢推定技術は、例えば、正確さ、精度、待ち時間、電力消費などに関して異なるトレードオフを示す可能性がある。
【0027】
姿勢推定の一部のアプリケーションでは、他のアプリケーションよりも高い精度が必要になる場合があり、したがって、姿勢推定への様々なアプローチは、それらのタスクの設計上の制約に基づいて、様々なタスクに適している場合がある。
【0028】
一般に、システムの誤り率を特徴付けることは、システムの出力間の差を既知の真の値または実際の値(「グラウンドトゥルース」)に計算し、平均絶対誤差(MAE)、平均二乗誤差(MSE)、または二乗平均平方根誤差(RMSE)を計算するなどして差を集計することが含まれる。
【0029】
しかしながら、少なくとも物体の姿勢を測定するための技術がほとんどないため、姿勢推定システムを特徴付けるための姿勢のグラウンドトゥルースセットを取得することはしばしば困難である。これには3つの主な理由がある。第1に、姿勢を正確に推定する方法は、非常に高解像度の点群に限定され、その後、反復最接近点アルゴリズムを適用して点群を整列させるバージョンが続く。これらの方法はコストがかかり、高品質のグラウンドトゥルースを取得するために必要な正確さを保証するものではない。第2に、姿勢は常に特定の座標空間を基準にしている必要があり、2つの姿勢を比較するには、それらが同じ座標空間にある必要がある。誤差のない方法で変換を取得することは簡単ではない。例えば、座標空間間の変換が100ミクロンまで正しく、アプリケーション仕様で40ミクロンまでの正確さが必要な場合、40ミクロンのより高い精度で測定するための推定された変換を使用する方法はない。第3に、小さな物体や透明な物体(ガラスや透明なプラスチックなど)などの特定の物体は、画像化が光学的に困難であり、比較による3Dスキャンまたはセンシングシステムでは、物体のこれらのタイプの高解像度の高密度点群を取得できない。
【0030】
したがって、本開示の実施形態の態様は、姿勢推定システムによって高精度で計算された姿勢における回転誤差および並行移動誤差を特徴付けることなど、姿勢推定システムを特徴付けるためのシステムおよび方法に関する。例えば、本開示のいくつかの実施形態は、30ミクロン(30マイクロメートル)および0.3度の解像度で姿勢推定システムにおける姿勢誤差を特徴付けることができる。同様の条件で動作する比較システムは、一般に300ミクロン以上の正確さに制限される。
【0031】
図1は、姿勢推定システムを特徴付けるための本開示の一実施形態による特徴付けシステムを示す概略図である。図1に示すように、姿勢推定システム10(または姿勢推定器)は、その視野12が物体22の配置20をキャプチャするように配置される。図1に示す実施形態では、姿勢推定器10は、支持プラットフォーム40の上に配置される(例えば、重力方向に沿って物体22から離間される)が、本開示の実施形態は、それに限定されず、例えば、姿勢推定器は、物体22の下向きの角度のあるビューを有するように配置され得る。
【0032】
いくつかの実施形態では、ChArUcoボード(例えば、白い正方形のそれぞれにArUco基準マーカを有する黒と白の正方形が交互に配置された市松模様であって、ArUcoマーカは、例えば、Garrido-Jurado,Sergioらの、「Automatic generation and detection of highly reliable fiducial markers under occlusion.」Pattern Recognition 47.6(2014):2280-2292に記載されている。)などの基準30(またはマーカ)である。物体22と基準30の配置20は、回転可能なターンテーブルなどの可動支持プラットフォーム40に配置できる。
【0033】
支持プラットフォーム40は、物体22の互いに対する相対的な位置および向きを維持して、基準30を実質的に固定しながら、姿勢推定器10に関して基準30とともに物体22の配置20の物理的剛体変換を実行するように構成される。例えば、可動支持プラットフォーム40としてターンテーブルを使用する場合、剛体変換は、垂直軸(例えば、重力と整列した軸)の周りの回転(矢印によって示される)であり得る。
【0034】
本開示の様々な実施形態による特徴付けシステム100は、姿勢推定器10によって計算される物体22の推定された姿勢における平均姿勢誤差(例えば、回転誤差および並行移動誤差)を予測または計算するなど、姿勢推定器10の性能を特徴付けるように構成される。
【0035】
より詳細には、姿勢推定器10は、その視野12内で検出された物体の姿勢を推定するように構成される。図1に示す実施形態では、物体22は、球、直角プリズム、および円柱などの単純な3次元固体として抽象的に描かれている。しかしながら、本開示の実施形態は、それに限定されず、姿勢推定器の特徴付けは、カメラに関する姿勢を明確に定義することができる任意の物体を使用して実行することができる。
【0036】
特に、「姿勢」とは、基準座標系に対する物体の位置および方向を指す。例えば、基準座標系は、姿勢推定システム10を原点として定義することができ、姿勢推定システム10の光軸に沿った方向(例えば、その視野12の中心を通る方向)が座標系のz軸として定義され、x軸およびy軸は互いに垂直で、z軸に垂直であると定義される。(本開示の実施形態は、この特定の座標系に限定されず、当業者は、姿勢が異なる座標系間で変換され得ることを理解するであろう。)
【0037】
各物体22はまた、その特定の形状に関して定義される、それ自体の対応する座標系に関連付けられ得る。例えば、辺の長さが異なる直角プリズムには正準座標系が定義されている場合があり、x軸は最短方向に平行、z軸は最長方向に平行、y軸はx軸に直交し、軸およびz軸であり、原点は物体22の中心にある。
【0038】
一般に、3次元座標系では、物体22は6自由度を有する、すなわち3軸の周りの回転(例えば、x、y、およびz軸の周りの回転)および3軸に沿った並行移動(例えば、x、y、およびz軸に沿った並行移動)。明確にするために、物体22の対称性は、本明細書では詳細に説明されないが、例えば、異なる対称性に関して複数の可能な姿勢を識別することによって(例えば、右の直角プリズムのz軸の負の方向に対して正の方向を選択する場合)、または姿勢のいくつかの回転成分を無視することによって(例えば、右の円柱はその軸の周りで回転対称である)対処されてもよい。
【0039】
いくつかの実施形態では、物体の配置20における各タイプの物体22の標準的または理想的なバージョンを表す3次元(3D)モデルまたはコンピュータ支援設計(CAD)モデルが利用可能であると想定される。例えば、本開示のいくつかの実施形態では、物体22は、あるコンポーネントから次のコンポーネントへと実質的に均一な外観を有する製造されたコンポーネントの個々のインスタンスである。そのような製造されたコンポーネントの例には、ネジ、ボルト、ナット、コネクタ、およびばね、ならびに電子回路コンポーネント(例えば、パッケージ化された集積回路、発光ダイオード、スイッチ、抵抗器など)、実験用品(例えば、試験管、PCR管、ボトル、キャップ、蓋、ピペットチップ、サンプルプレートなど)、および製造部品(例えば、ハンドル、スイッチキャップ、電球など)が含まれる。したがって、これらの状況では、配置20内の任意の特定の物体22の理想的または標準的な形状を定義するCADモデルを使用して、物体の座標系(例えば、CADモデルの表現で使用される座標系)を定義することができる。
【0040】
基準座標系(または、例えば、姿勢推定システムに関して定義されたカメラ空間)および物体座標系(または、例えば、物体の1つに関して定義された物体空間)に基づいて、物体の姿勢は、物体空間からカメラ空間への剛体変換(回転および並行移動)と見なされる。カメラ空間1における物体1の姿勢は
【数23】

のように表すことができ、物体1空間からカメラ空間への変換は、以下の行列で表すことができ:
【数24】

ここで、回転部分行列R:
【数25】

物体空間からカメラ空間への3軸に沿った回転、および変換部分行列Tを表し:
【数26】

物体空間からカメラ空間への3軸に沿った並行移動を表す。
【0041】
2つの物体、すなわち物体Aおよび物体Bが同じカメラC座標フレーム内にある場合、表記PCAはカメラCに対する物体Aの姿勢を示すために使用され、PCBは、カメラCに対する物体Bの姿勢を示すために使用される。便宜上、ここでは、物体の姿勢が基準座標系に基づいて表されていると仮定し、したがって、カメラ空間Cに対する物体AおよびBの姿勢は、それぞれPおよびPと表される。
【0042】
物体Aと物体Bが実際には同じ物体であるが、異なる姿勢推定測定中に実行され、残りの姿勢PerrまたはPAB(PAB=Perr)が姿勢Pから姿勢Pへの変換を示すために使用される場合、次の関係が成り立つ:
err=P (1)
したがって
err=P-1 (2)
【0043】
理想的には、姿勢推定PおよびPの測定の間に、物体が姿勢推定器10に対して移動(例えば、並行移動または回転)していないと仮定すると、PとPの両方は同じになるはずあり、Perrは単位行列であるはずである(例えば、姿勢間に誤差がないことを示す):
【数27】
【0044】
同様に、物体が既知の剛体変換Tを受け、姿勢Pが、推定姿勢を元のシーン(P=P´T)に変換した後の推定姿勢P´を表す場合、または姿勢Pが、推定姿勢に変換Tを適用して、推定姿勢を新しいシーン(P=P´T)に変換した後の推定姿勢を表す場合、上記は成立する。
【0045】
姿勢推定器10によって計算された推定値に基づいて計算された実際の測定値Perrと単位行列との間の差は誤差と見なされ得る:
【数28】
(3)
【数29】
(4)
式中、Rerrは回転誤差であり、Terrは並行移動誤差である。関数R( )は、Perrを大きさが回転差である軸角度に変換し、関数T( )は、姿勢行列の並行移動成分を抽出する。
【0046】
回転行列Rからの軸角度表現は、以下によって与えられる:
Tr(R)=1+2cosθ (5)
【数30】
(6)
式中Tr( )は、行列トレース(行列の対角要素の合計)を示し、θは、回転角度を表す
【0047】
したがって、本開示の実施形態のいくつかの態様は、姿勢推定システム10を特徴付けるための上記の姿勢比較フレームワークの適用に関する。
【0048】
図2は、姿勢推定システムを特徴付けるための本開示の一実施形態による方法のフローチャートである。本開示のいくつかの実施形態では、本開示の実施形態による方法は、特徴付けシステム100を使用して実行され、これは、コンピューティングデバイス(例えば、ラップトップコンピュータ、デスクトップコンピュータ、組み込みシステムなど)を含み得、コンピューティングデバイスはプロセッサおよびメモリ(例えば、動的ランダムアクセスメモリおよび大容量記憶装置)を含み、メモリは、命令を記憶し、命令は、プロセッサ上で命令を実行することによって、姿勢推定器10の特徴付けを実行するための専用の動作を実行するようにコンピューティングデバイスを構成する。いくつかの実施形態では、特徴付けシステム100によって計算された出力は、姿勢推定器10の性能に関するレポートを生成するために使用され、姿勢推定器10にフィードバックを提供するために(例えば、姿勢推定器10を較正するために)使用されてもよく、および/または、特定のテストに関して姿勢推定器10の性能を記録するためなど、他のプロセスへの入力として提供され得る。
【0049】
図2を参照すると、動作210において、特徴付けシステム100は、第1のシーンSの配置20において、物体22の第1の複数の姿勢を受信する。姿勢は第1のシーンSにおいて、
【数31】

のように表すことができる。姿勢推定器10は、本開示の範囲外であるその特定の内部技術に基づいて、物体22の第1の姿勢を計算することができる。姿勢推定を計算するアプローチの一例として、ステレオからの深度を使用して複数の角度からシーンの画像をキャプチャし、ブロックマッチングおよび差異測定を使用してシーン内の様々な表面の深度を計算し、インスタンスセグメンテーションを適用してシーンを様々な物体の個別のインスタンスに分割し(例えば、ある形状を別の形状から分離する)、シーンで検出された各インスタンスを、対応するタイプの物体の標準的な3次元モデルで登録することによって、物体の各インスタンスの姿勢推定を実行する(例えば、中心の位置と基準座標系に対する物体の回転を決定する)(例えば、反復最接近点を適用することなどにより、例えば、既知の形状およびサイズの円柱のインスタンスを、円柱の標準の3Dモデルに登録することによって、例えば、Arun,Somani;Thomas S.Huang;Steven D.Blostein(1987)、「Least-square fitting of two 3-D point sets」、IEEE Pattern Analysis and Machine Intelligenceを参照されたい)。
【0050】
したがって、姿勢推定器10は、第1のシーンSの配置20において、物体22の様々な姿勢の第1の複数の姿勢を推定する。例えば、複数の姿勢は、それらの標準的な物体空間からカメラ空間への個々の物体の回転および並行移動を表す行列のコレクション(例えば、配列)として表すことができる。姿勢はまた、物体の分類に関する情報を含み得る(例えば、図1に示される例では、各姿勢が球、直角プリズム、または円柱の姿勢に対応するかどうか)。いくつかの状況では、姿勢推定器10は、他の物体によって実質的に遮られていない物体の最上層のみなど、配置20内の物体22のサブセットのみの姿勢を計算することができてもよい(例えば、物体の表面は他の物体によって遮られていない)。
【0051】
動作220において、物体22の配置20は、第1のシーンSに基づいて第2のシーンSを形成するために剛体的に変換される。より詳細には、姿勢推定器10に関して、全体として配置20に剛体変換を適用することは、物体22の相互の物理的関係を維持する(例えば、物体22間の物理的距離、または互いに対する物体の向きを変更することなく)が、配置と姿勢推定器10との物理的関係を変更する。
【0052】
図1に示すように、物体22の配置20は、配置20を妨害することなく(例えば、互いに関する物体の物理的関係を実質的に変更することなく)、物体22の配置20の剛体変換を実行するように構成された支持プラットフォーム40上に配置される。いくつかの実施形態では、特徴付けシステム100は、剛体変換の形態(例えば、配置20の並行移動および/または回転)を指定することによって、支持プラットフォーム40を制御するように構成される。例えば、支持プラットフォーム40は、支持プラットフォーム40上に配置された物体を回転および/または並行移動させるための1つ以上のモータ(例えば、ステッピングモータ)または他の電子制御アクチュエータを含み得る。
【0053】
(状況によっては、姿勢推定システム10の視野12内の物体22の配置20を維持する方法で、姿勢推定システム10を回転および/または並行移動することによって、第2のシーンSを形成することと機能的に同等である場合がある。)
【0054】
図3は、姿勢推定システムに関する第2のシーンSを形成するための、姿勢推定システムに関する第1のシーンSにおける物体の配置の剛体変換の概略図である。特に、図3に示す実施形態では、物体22の配置20は、回転軸に配置された配置20の重心を有するターンテーブル上に配置されている。図3の左側は、第1のシーンSを示しており、図3の右側は、ターンテーブルを時計回りに60度回転するように制御し、それによって配置20を60度で剛体的に回転させることによって形成された第2のシーンSを示す。
【0055】
図1および図3は、支持プラットフォーム40が、物体22の配置20を配置20の重心の周りで回転させるターンテーブルである実施形態を示し、本開示の実施形態は、それに限定されず、重心がターンテーブルの回転軸と整列しないように物体22の配置20を配置することによって、または並行移動を実行することができる支持プラットフォーム40を使用することによるなどによって、支持プラットフォーム40が配置20の回転および並行移動の両方を実行する状況も含み得る。
【0056】
動作230において、特徴付けシステム100は、第2のシーンSの配置20において、物体22の第2の複数の姿勢を受け取り、物体22の第2の複数の姿勢は、第2のシーンSの第1の複数の姿勢と同じ姿勢推定システム10によって計算される。第2の複数の姿勢は
【数32】

のように表すことができる。この議論の目的のために、第1の姿勢
【数33】

および第2の姿勢
【数34】

の両方がn個の物体n個の姿勢を含む。しかしながら、本開示の実施形態はそれに限定されず、ミスマッチに対処するための技術が以下に記載される。
【0057】
第1のシーンSの物体の第1の複数の推定姿勢
【数35】

と、第2のシーンSの物体の第2の複数の推定姿勢
【数36】

とが与えられ、次いで、これらの姿勢を比較して、姿勢推定器10の誤差特性を測定することができる。ただし、剛体変換
【数37】

(例えば、支持プラットフォーム40によって適用される)に関連する正確な値は未知であり、それにより、第1の複数の姿勢の相対値を第2の複数の姿勢と比較することが困難になる。したがって、本開示の実施形態の態様は、剛体変換
【数38】

の推定値を計算することに関連している。
【0058】
動作240において、特徴付けシステム100は、第1のシーンSと第2のシーンSとの間の粗いシーン変換を計算するTcoarse。本開示のいくつかの実施形態において、特徴的なマーカまたは基準30は、物体22の配置20に含まれ、第1のシーンSおよび第2のシーンSに現れ、基準30は、物体22の配置20とともに剛体的に変換され、基準30と物体22との間の物理的関係は、変換を通じて維持され、それにより、基準30は、粗いシーン変換Tcoarseを計算するための基準を提供することができる。図1および図3に示される実施形態では、ChArUcoボードが基準30として使用され、物体22の配置20の隣に配置されている。一般に、ChArUcoボードは、四隅に黒または暗い四角があり、白い四角にArUcoマーカ(または他のマーカ)がある市松模様である。ChArUcoボードの各ArUcoマーカには、異なる識別子をエンコードする異なるパターンがある。したがって、コンピュータビジョンシステムは、ボード内の個々のArUcoマーカの位置および配置に基づいて、画像内のChArUcoボードの姿勢を検出することができる。剛体変換を適用する前後のそれぞれのChArUcoボードの画像からのChArUcoボードの姿勢
【数39】

および
【数40】

を計算することによって、本開示のいくつかの実施形態による特徴付けシステム100は、第1のシーンSから第2のシーンSへの粗いシーン変換Tcoarseを計算する:
【数41】
(7)
【0059】
本開示のいくつかの実施形態では、ArUcoマーカのグリッド(例えば、市松模様なし)、拡張現実タグ(ARTag)、AprilTag、1つ以上の定規、1つ以上の分度器など、他のタイプの基準30がシーンに配置され、粗いシーン変換を計算するために使用される。
【0060】
本開示の様々な他の実施形態において、他の技術を使用して、粗いシーン変換を計算することができる。例えば、支持プラットフォーム40を高精度で制御することができる本開示の実施形態では、粗いシーン変換は、支持プラットフォーム40によって適用される既知の変換に基づいて計算することができる。別の例として、粗いシーン変換は、点姿勢を点群として扱い(例えば、位置のみを考慮する)、(例えば、反復最接近点アルゴリズムを適用することによって)点群を登録または整列することに基づいて計算することができる。さらなる例として、2つの姿勢は、グラフマッチングアプローチを使用して一致させることができる。姿勢推定器10は、Sの姿勢のセット内の各コンポーネントからSの姿勢のセット内の各々の他のコンポーネントへの3D連結グラフを計算する。次に、姿勢推定器は、それ自体とその最も近い近隣(例えば、その5つの最も近い近隣)との間の相対変換(RおよびT)を使用して、S内の各要素とS内の各要素の特徴ベクトルを計算する。次に、これらの相対変換を使用して、SとSとの間の対応を計算する(例えば、最も近い近隣と同様の相対変換を有するSおよびS内の姿勢を見つける)。S内の姿勢とS内の姿勢との間の対応を見つけた後で、姿勢推定器10は、例えば、インライアが閾値距離(例えば、3mm)未満の対応として定義されるランダムサンプルコンセンサス(RANSAC)を使用して、1つ以上の3D剛体変換推定を計算する。大部分のインライアでの推定剛体変換は、Tcoarseのように使用できる。
【0061】
動作250において、特徴付けシステム100は、第1のシーンSの物体の
【数42】

における第1の姿勢の対応するものと、第2のシーンSの同じ物体の第2の複数の推定姿勢
【数43】

とを一致させる。図3は、第1のシーンSの配置の物体の推定された姿勢
【数44】

と、第2のシーンSの配置の物体の推定された姿勢
【数45】

の描写を含む、姿勢推定システムに関する第2のシーンを形成するための、姿勢推定システムに関する第1のシーンにおける物体の配置の剛体変換の概略図である。図3は、第1のシーンSのいくつかの物体22からの第2のシーンSの対応する物体22への点線を用いた矢印を示している(例えば、異なるシーンの同じ物体の異なるビューを一致させる)。図3に示される配置では、第1のシーン
【数46】

の姿勢推定システム10によって計算される第1の推定姿勢Sは、斜めの縞模様の陰影が付いた三角形として描かれ、第2の推定姿勢
【数47】

は点線の陰影付きの三角形として表され、三角形の中心は対応する物体の推定重心と整列され、三角形の回転角は対応する物体の推定回転姿勢を示す(ページの2次元制約で)。
【0062】
本開示のいくつかの実施形態では、特徴付けシステム100は、欲張り検索に基づいて、第1のシーン
【数48】

の物体のSにおける第1の姿勢と、第2のシーンSの同じ物体の第2の複数の推定姿勢
【数49】

とのマッチングを実行する。このような実施形態では、姿勢
【数50】

で表されるように第1のシーンSにおける可視物体の重心は、粗いシーン変換Tcoarseに基づいて変換され、第2のシーンSで第2の姿勢
【数51】

と一致される。図4は、本開示の一実施形態による、第2のシーンSで粗く変換された第1の姿勢
【数52】

を計算するための、粗いシーン変換Tcoarseに従う、第1の姿勢
【数53】

の変換の概略図である:
【数54】
【0063】
図5は、本開示の一実施形態による、第2の姿勢
【数55】

上に粗く変換された第1の姿勢
【数56】

を重ね合わせた概略図である。図5に示す例では、粗く変換された第1の姿勢
【数57】

は、第2の姿勢
【数58】

の対応するものに近い場所にある。
【0064】
例えば、粗く変換された第1の姿勢
【数59】

ごとに、位置に基づいて最も近い第2の姿勢
【数60】

を見つけ、欲張り検索は、全体的な誤差(例えば、粗く変換された第1の姿勢と第2の姿勢との間の位置の違いの合計)を最小限に抑えるために、第1の姿勢と第2の姿勢の様々なペアを検索する。より詳細には、いくつかの実施形態では、姿勢推定器10は、サイズNxMのコスト行列を構築し、i..Nはシーン1(S)の姿勢の数であり、j..Mはシーン2(S)の姿勢の数であり、コスト行列の各要素は、各姿勢間の重心の差である。次に、姿勢推定器10は、線形和割り当てを実行して、最適な一致を決定する。
【0065】
本開示のいくつかの実施形態では、特徴付けシステム100は、2部グラフ問題の最大マッチングに基づいて、第1のシーンSの物体の
【数61】

における第1の姿勢と、第2のシーンSの同じ物体の第2の複数の推定姿勢
【数62】

との間のマッチングを実行し、エッジは粗いシーン変換Tcoarseを使用して、第2のシーンSに変換された第1のシーンSにおける推定姿勢
【数63】

を、第2のシーンSの第2の姿勢
【数64】

から選択された一致する推定姿勢と接続する。結果のマッチングに第1のシーンSの物体の姿勢を第2のシーンSの対応する姿勢と接続するエッジが含まれている場合、推定された姿勢は正しく一致していると見なされる。
【0066】
本開示のいくつかの実施形態では、姿勢に不一致があり得る。例えば、姿勢推定システム10は、第2のシーンSに対する第1のシーンSにおける異なる数の物体の姿勢を推定するか、または、様々な物体の姿勢を推定することができる(例えば、第1のシーンSの5つの物体A、B、C、D、およびEならびに第2のシーンSの5つの物体A、B、D、E、およびF)。これらの違いは、例えば、姿勢推定システム10のノイズもしくは不安定性、または姿勢推定システム10の性能の非対称性に起因する可能性がある。
【0067】
本開示のいくつかの実施形態では、欲張り検索を使用して姿勢のマッチングを実行する代わりに、粗く変換された第1の姿勢
【数65】

を第2の姿勢
【数66】

と一致させる代わりに、偽陽性閾値アプローチを適用する。より詳細には、粗く変換された第1の姿勢
【数67】

の各姿勢
【数68】

について、特徴付けシステム100は、第2の姿勢
【数69】

の最も近い姿勢
【数70】

を識別する。第2の姿勢
【数71】

の最も近い姿勢
【数72】

が、粗く変換された第1の姿勢
【数73】

の現在の姿勢
【数74】

から偽陽性閾値距離(例えば、3ミリメートル)未満で離れている場合(例えば、姿勢が対応する物体の重心にある場合)、その最も近い第2の姿勢
【数75】

は一致または対応する姿勢として扱われる。最も近い第2の姿勢
【数76】

が偽陽性閾値距離を超えて離れている場合、それらの姿勢は外れ値として扱われ、変換を調整する目的で一致する姿勢にはカウントされない。本開示の別の実施形態では、重心の距離を比較する代わりに、物体に対応するCADモデルは、それらの計算された姿勢に従って配置および方向付けられる。2つのCADモデル(粗く変換された第1の姿勢
【数77】

および最も近い第2の姿勢
【数78】

)の交差の量は、CADモデルのうちの1つのモデルの量で除算される(または、intersection-over-unionメトリックに従って、2つのCADモデルの和集合の量で除算される)。姿勢の完全な測定の場合、商は1であり、CADモデルがまったく整列していない場合、商は0になる。したがって、いくつかの実施形態では、偽陽性閾値は、交差メトリック(例えば、単一のインスタンス上の交差または和集合上の交差)に基づいて設定され得、偽陽性閾値交差を超える交差メトリック(例えば、交差メトリックは0.80より大きい値である)は、粗く変換された第1の姿勢
【数79】

と最も近い第2の姿勢
【数80】

が一致していることを判定するための閾値を満たすように決定される。
【0068】
マッチングを行った後、第1の姿勢
【数81】

と第2の姿勢
【数82】

は第1のシーンSそして第2のシーンSでそれぞれ同じ物体iを指す。
【0069】
動作260において、特徴付けシステム100は、粗いシーン変換Tcoarseから開始して(例えば、初期設定Tcurrent=Tcoarse)、第1のシーンSから第2のシーンSへ改良されたシーン変換
【数83】

を計算し、現在の剛体変換の改良Tcurrentは、動作250で計算されたように、変換された第1の姿勢とそれに対応する一致する第2の姿勢の整列を改善することに基づく。より詳細には、本開示の実施形態のいくつかの態様は、一致した姿勢
【数84】

のすべてについて以下のコスト関数を最小化することによって変換を改良することに関連している:
【数85】
(8)
式中、xは、事前定義された点のセットである(例えば、[0,0,1]、[0,1,0]および[1,0,0]、ただし、本開示の実施形態はそれに限定されない)。点が[0,0,0]に設定されている場合、この関数は3D剛体変換と同等である。
【0070】
例えば、図5に戻って参照すると、変換された第1の姿勢の位置および向き
【数86】

は第2の姿勢に近い
【数87】

が、第2の姿勢と正確に整列していない。これらの姿勢の位置の差は、上記のコスト関数(8)で次の差によって表される:
【数88】
【0071】
本開示のいくつかの実施形態では、改良プロセスは、コスト関数が最小化されるまで(例えば、設定された反復回数に達するか、ある反復から次の反復への改善が閾値未満になるなどの閾値条件が満たされるまで)、現在の剛体変換Tcurrentを更新するための反復動作(傾斜降下を適用することによるなど)であり、その時点でのTcurrentの更新された値が改良されたシーン変換
【数89】

として出力される。
【0072】
したがって、動作260において、特徴付けシステム100は、コスト関数を最小化することによって、改良されたシーン変換
【数90】

を計算する(例えば、第1のシーンSおよび第2のシーンSでキャプチャされた物体の姿勢間の誤差または差。)。
【0073】
図6は、本開示の一実施形態による、粗く変換された第1の姿勢
【数91】

よりも対応する姿勢
【数92】

に近い変換された第1の姿勢(または精巧に変換された第1の姿勢)
【数93】

を生成するために、第1の姿勢
【数94】

が改良されたシーン変換
【数95】

によって変換される概略図である。ただし、改良されたシーン変換
【数96】

は第1の姿勢を第2の姿勢
【数97】

に近づけるが、姿勢の位置および向きにいくつかの差が残っている。これらの残りの差は、姿勢推定システム10の並行移動および回転誤差を含む姿勢誤差を表す。
【0074】
動作270において、特徴付けシステム100は、改良されたシーン変換
【数98】

ならびに計算された第1および第2の姿勢に基づいて、姿勢推定システム100を特徴付ける。特に、第1のシーンSおよび第2のシーンSに描かれているように、物体22の配置20の姿勢推定値間の差を最小化する改良されたシーン変換
【数99】

を計算するために上記のコスト関数を最小化した後、推定姿勢の残りの差は、姿勢推定システム100によって引き起こされた誤差または不正確さの結果であると想定される(例えば、物体の配置に適用された物理的剛体変換が物体の相対的位置にシフトを引き起こさなかったという仮定に基づく)。より正式には、誤差は式(1)および(2)に従って計算でき、改良されたシーン変換
【数100】

は第1のシーンSからの第1の姿勢
【数101】

に第2のシーンSからの第2の姿勢
【数102】

に適用される剛体変換を表す:
【数103】
(9)
【数104】
(10)
【0075】
したがって、式(3)および(4)のアプローチに従って、姿勢推定システム10の誤差を特徴付ける回転誤差Rerrおよび並行移動誤差Terrは、以下のように計算され得る:
【数105】
(11)
【数106】
(12)
ここで、上記のように、関数R( )は、引数を軸角度に変換し、大きさは回転差であり、関数T( )は引数から姿勢行列の並行移動成分を抽出する。特に:
【数107】
(13)
【数108】
(14)
【0076】
図6に示す例では、姿勢ペアリング
【数109】

および
【数110】

は、より大きな回転誤差を示しRerr、姿勢ペアリング
【数111】

および
【数112】

はより大きな並行移動誤差を示すTerr
【0077】
この手順は、シーンの複数のペア(例えば、配置が剛体的に変換されてシーンのペアを生成する、異なる物体の複数の異なる配置)にわたって繰り返され、特定の姿勢推定システムについて様々な姿勢誤差測定値の分散値、最大値、および期待値を計算できる。これらの値により、様々な姿勢推定システムのパフォーマンスを相互に比較できる。
【0078】
本開示の実施形態によるアプローチを用いたいくつかの実験では、姿勢特徴付けシステムを使用して、姿勢推定器によって行われた姿勢誤差を、並行移動誤差Terrにおいて30ミクロン以下かつ回転誤差Rerrにおいて0.3度以下の精度で正確に予測した。これにより、このような姿勢推定システムが、約1メートルの距離で200ミクロン未満の並行移動誤差や1度未満の回転誤差の所望の精度などの特定の高精度設計制約を実行できるかどうかを評価でき、一方、姿勢推定システムの誤差特性のこのような高精度の測定は、他の方法では実装が不可能または費用がかかる可能性がある。
【0079】
したがって、本開示の実施形態の態様は、グラウンドトゥルースの外部ソースに依存することなく、高レベルの精度で姿勢推定システムの性能(例えば、正確さおよび精度)を特徴付けるためのシステムおよび方法を提供する。
【0080】
本発明は、特定の例示的な実施形態に関連して説明されてきたが、本発明は、開示された実施形態に限定されず、逆に、その精神および添付の特許請求の範囲に含まれる様々な修正および同等の構成ならびにその均等物をカバーすることが意図されていることを理解されたい。
図1
図2
図3
図4
図5
図6