JP6525459B2 - 3d画像データにおける3dポーズの改良されたスコアリング及び偽ポイント除去のためのシステム及び方法 - Google Patents

3d画像データにおける3dポーズの改良されたスコアリング及び偽ポイント除去のためのシステム及び方法 Download PDF

Info

Publication number
JP6525459B2
JP6525459B2 JP2017143110A JP2017143110A JP6525459B2 JP 6525459 B2 JP6525459 B2 JP 6525459B2 JP 2017143110 A JP2017143110 A JP 2017143110A JP 2017143110 A JP2017143110 A JP 2017143110A JP 6525459 B2 JP6525459 B2 JP 6525459B2
Authority
JP
Japan
Prior art keywords
point cloud
points
point
camera
runtime
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017143110A
Other languages
English (en)
Other versions
JP2018055675A (ja
Inventor
ヘルシャー アンドリュー
ヘルシャー アンドリュー
エス.ウォラック アーロン
エス.ウォラック アーロン
ワグマン アダム
ワグマン アダム
ジェイ.マイケル デイヴィッド
ジェイ.マイケル デイヴィッド
ジャ ホンジュン
ジャ ホンジュン
Original Assignee
コグネックス・コーポレイション
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 コグネックス・コーポレイション filed Critical コグネックス・コーポレイション
Publication of JP2018055675A publication Critical patent/JP2018055675A/ja
Application granted granted Critical
Publication of JP6525459B2 publication Critical patent/JP6525459B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/38Registration of image sequences
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/001Industrial image inspection using an image reference approach
    • 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
    • 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
    • G06T7/344Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06V20/653Three-dimensional objects by matching three-dimensional models, e.g. conformal mapping of Riemann surfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • 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/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Description

関連出願
本出願は2016年1月8日に出願された「ビジョンシステムにおいて部分ビュー及び自己遮蔽が存在する場合の3Dポーズの改良されたスコアリングのためのシステム及び方法」と題する同時係属米国特許仮出願第62/369,709号の利益を主張するものであり、その教示内容は参照により本明細書に組み込まれる。
技術分野
本発明はマシンビジョンシステムに係り、より具体的には訓練された3Dパターンを基準にして3次元(3D)画像特徴を特定してアライメントするビジョンシステムに関する。
本明細書で「ビジョンシステム」とも呼ばれるマシンビジョンシステムは、製造環境において多様なタスクを実行するために使用される。一般にビジョンシステムは、製造中のオブジェクトを包含するシーンのグレースケール、カラー画像及び/又は3次元(3D)画像を取得するセンサ(又は「イメージャ」)を備えた1つ以上のカメラアセンブリからなる。オブジェクトの画像を解析してデータ/情報をユーザ及び関連する製造工程に提供することができる。カメラによって生み出されるデータは通常ビジョンシステムにより1つ以上のビジョンシステムプロセッサで解析及び処理することができ、ビジョンシステムプロセッサは専用に製造されたものであるか、或いは汎用コンピュータ(例えばPC、ラップトップ、タブレット又はスマートフォン)内で作成される1以上のソフトウェアアプリケーションの一部であってよい。
ビジョンシステムの共通タスクは、アライメントと検査を含む。アライメントタスクにおいてビジョンシステムツール、例えばコグネックス社(マサチューセッツ州ネイティック)から市販されている周知のPatMax(登録商標)システムは、あるシーンの2次元(2D)画像内の特徴を(実際のモデル又は合成モデルを用いて)訓練された2Dパターンと比較して、2D撮像されたシーン内の2Dパターンの存在/欠如及びポーズを決定する。この情報は後続の検査(又は他の)操作に使用して欠陥を探し及び/又は部品拒否など他の操作を行うことができる。
ビジョンシステムを用いる特定のタスクは、実行時に訓練された3Dモデル形状に基づいて3次元(3D)ターゲット形状をアライメントすることである。3Dカメラは多様な技術、例えばレーザ変位センサ(プロファイラ)、立体カメラ、ソナー、レーザ又はLIDARレンジ検出カメラ、Tカメラの、及びその他の多様な受動的及び能動的レンジ検出技術に基づくことができる。そのようなカメラはレンジ画像を生み出し、そこにおいて画像ピクセルの配列(典型的には直交するx軸とy軸に沿った位置として特徴付けられる)が作られ、これはまた各ピクセルに対する第3の次元(高さ)(典型的にはx−y面に対して垂直な軸に沿った位置として特徴付けられる)も含んでいる。或いは、そのようなカメラは撮像されたオブジェクトのポイントクラウド表現を生成できる。ポイントクラウドは、各ポイントiが(Xi、Yi、Zi)として表わすことができる空間における3Dポイントの集合体で一部のポイントクラウドは、オブジェクトの背面及び側面、頂面と底面を含む完全な3Dオブジェクトを表現できる。3Dポイント(Xi、Yi、Zi)は、オブジェクトがカメラに見える空間内の位置を表す。この表現において空の空間はポイントが存在しないことによって表される。
比較により、3Dレンジ画像表現Z(x、y)は2D画像表現I(x、y)に類似しており、奥行又は高さZは画像内の位置x、yにおける輝度/明度に相当するものに取って代わる。単一の奥行のみが任意のポイント位置x、yと関連しているので、レンジ画像は専ら直接カメラに対面するオブジェクトの正面を表現する。レンジ画像は密な表現であるが、カメラによって観察されない(x、y)位置を表現することはできない。レンジ画像は当業者にとって明白なやり方で3Dポイントクラウドに変換することが可能である。
取得された又は合成(例えばCAD)プロセスによって生成されたターゲット画像を(やはり取得又は合成された)モデル画像にアライメントする際に、1つのアプローチは最もよく一致するポーズを見つける努力において3Dポイントクラウドのモデルとの一致/比較を伴う。この比較は、モデルを基準にしたターゲットのカバレッジのスコアリングのためのメトリックを含むことができる。3Dアライメントアルゴリズムに対して、訓練されたモデルが実行時に見られるものより大きい(又はより完全な)部品のビューであるインスタンスがあり、例えば実行時オブジェクト画像の一部が、例えば自己遮蔽のために、視野又はさもなければカットオフの範囲外にあることがある。同様に、実行時シーンがモデルより多くの情報を含むインスタンスがある。例えばモデルと実行時シーンの両方が(それぞれのオブジェクトから)単一のカメラを用いて取得されたが、オブジェクトが各々のバージョンにおいて異なる向きで現れている場合、実行時シーンはモデルにない部品の領域を含むことがあり、その逆もある。アライメントスコアリングメトリックがこれらのシナリオを考慮しなければ、一致が実際に保証するより低いスコアを計算して候補ポーズが拒否される可能性がある。より一般的に、この懸念はソリューションのある段階が顕著な自己遮蔽を有するオブジェクトをアライメントすることであるような応用において、又は訓練時に多数の画像が融合されてオブジェクトの全360度ビューを獲得するが、実行時には唯一の取得されたオブジェクトの画像を使用してアライメントを実行するような応用において存在する。加えて、幾つかの実行時オブジェクト画像又は訓練時オブジェクト画像は画像センサの動作範囲(視野)の和集合の範囲外にあり得る。これらの条件は3Dアライメントアルゴリズムの適用とその結果に多様な仕方で影響し得る。
更に3Dビジョンシステムプロセスに関する懸念は、3D画像センサがオブジェクトの測定を取得するとき、典型的にセンサに対面するオブジェクトの部分のみ測定し、従ってセンサはセンサの測定領域内にあるオブジェクトの部分のみを取得することである。ときどき画像3Dデータは偽の測定又は不正確な測定(場合により相互反射のため)を含んでいる。この不正確なデータ又は偽のデータは測定プロセスの効率及び精度に影響し得る。
本発明は、3Dポイントクラウドの形式で取得された実行時画像においてオブジェクトが部分的に遮蔽されている場合に、実行時にオブジェクトに対する3Dアライメントの(正確なアライメント結果を見いだす)能力を高めるためのシステム及び方法を提供することによって先行技術の難点を克服する。カメラアセンブリ(即ち1台以上の3Dカメラ)によって生み出される3Dポイントクラウド情報はカメラ光学中心の位置(工場での校正から取得)を含んでおり、そのためクエリポイントとカメラアセンブリを結ぶ線分は知られている。従ってクエリポイントは次のように分類できる。(1)「全面的に可視な」ポイントはカメラアセンブリ内のカメラの動作範囲の和集合内にあり、シーン内に取得システムがこのポイントを観察することを妨げる他のポイントはない。(2)「遮蔽」、ポイントは、カメラアセンブリの動作範囲の和集合内にあるが、シーン内の他のポイントが取得システムがこのポイントを観察することを妨げている。(3)「動作範囲外」、ポイントは特定のカメラの動作範囲の和集合外にあり、そのため取得システムは残余のシーンにかかわりなくこのポイントを観察できないであろう。一致を決定するための3Dポイントクラウドのスコアリングは、全面的に可視なポイントのみを考慮し、又は全面的に可視なポイントと関連するカメラの動作範囲外に一部のポイントのみを考慮することによって実行できる。この選択は応用に応じてユーザが行うことができる。遮蔽された動作ポイント又は全面的に可視な動作ポイントを特定することにより、システムは可視性チェック/調整に基づいて3Dアライメントアルゴリズムのカバレッジスコアを修正することが可能となり、その際に一部のポイントはスコアリングアルゴリズムから排除される。
例示的な実施形態において、ビジョンシステムにおいて実行時3Dポイントクラウドの3Dアライメントポーズが訓練されたモデル3Dポイントクラウドに対して一致する程度を推定するためのシステム及び方法が提供される。このシステム及び方法は、訓練されたモデル3Dポイントクラウドに対する実行時3Dポイントクラウドの候補ポーズの一致をビジョンシステムプロセッサでスコアリングすることを含み、可視性チェックを提供することを含んでいる。この可視性チェックは、(a)3Dカメラの光学中心を受け取り、(b)訓練されたモデル3Dポイントクラウドを受け取り、(c)実行時3Dポイントクラウドを受け取り、及び(d)実行時候補ポーズで訓練されたモデル3Dポイントクラウド又は実行時3Dポイントクラウドにおける複数の3Dポイントに対する光学中心から複数の線分を構成することからなる。これによりシステム及び方法は、それぞれの線分に沿った3Dポイントの位置に基づいて、スコアリングのステップで3Dポイントを排除するか又は包含するかを決定する。例示的に、スコアリングは、(a)包含された3Dポイントの合計を定義するカバレッジスコアを計算すること(例えばポイント・ツー・プレーンメトリック、ポイント・ツー・ラインメトリック及びポイント・ツー・ポイントメトリックのいずれかを用いる)、及び(b)排除された実行時3Dポイントの合計を定義するクラッタスコアを計算することの少なくとも1つを含むことができ、スコアリングは可視性チェックを漸進的に操作することを含む。可視性チェックは、3Dポイントが近接テストに基づいて可視であるかテストすることによって実行できる。代替的に、可視性チェックは、3Dポイントがポイント対表面メッシュテストに基づいて可視であるかテストすることによって実行できる。例示的に、テストはSIMDマシン加速ハードウェア(即ち隠線除去グラフィック)で実行できる。可視性チェックはレンジ画像に基づいて実行できる。3Dカメラは、ビジョンシステムプロセッサと相互接続された複数の3Dカメラを有する3Dカメラアセンブリの部分であることができる。実行時3Dポイントクラウドは、少なくとも2台の3Dカメラによって撮像されたオブジェクトから取得でき、その際にオブジェクトの部分は少なくとも2台の3Dカメラの各々の動作範囲内で撮像される。実行時3Dポイントクラウドは、3Dカメラの動作範囲内で自己遮蔽されたオブジェクトからも取得できる。
他の実施形態において、システム及び方法は、オブジェクトの多数のビューの測定を結合することを可能にする一方、偽のデータ又は不正確なデータを削除することも提供される。システム及び方法は、多数のポイントクラウドから(多数の3D取得から)の3Dデータ(3Dポイント)を結合して、偽の3Dデータを削除するためにそのようなデータを特定する。操作において、システム及び方法は、センサはシーンの3D測定を特定の相対的ポーズで取得すると仮定する。そのような相対的ポーズはユーザによって供給されるか(部品又はセンサが既知のポーズで位置決めされた場合、例えばロボットとセンサとの間のハンド/アイ校正が既知の場合はロボットが行う)、又は(種々の3D測定における特徴のサブセットを登録することに基づいて)推測され得る。各ビューで生じるすべての3D測定を含むすべてのビューが解析される。システム及び方法は、3Dポイントは3Dセンサに可視であるべきかを決定する予想される可視性ヒューリスティックに基づいて操作する。この予想される可視性ヒューリスティックは、センサの測定領域(全体視野(FOV)の動作範囲と呼ぶ)、並びに各3Dポイントと関連する(一般的に上述した)局所的面法線に基づいている。
例示的な実施形態において、オブジェクトの3D画像から偽ポイントを除去するためのシステム及び方法が提供される。これはそれぞれの動作範囲内で複数のそれぞれの視点からオブジェクトの画像を取得するように構成された複数の3Dカメラを有する。可視性プロセスは、(a)複数の3Dカメラのうち1台の3Dカメラから測定された3Dポイントクラウドを受け取り、(b)測定された3Dポイントクラウドと相対的にオブジェクトに対して推測されたポーズを生成し、及び(c)オブジェクトを基準にした3Dカメラの位置と向きに関する情報を使用して3Dポイントクラウドのポイントの可視性を決定する。複合ポイントクラウド生成プロセスは、複数の3Dカメラからの3Dポイントクラウドを、所定の数のポイントクラウドに現れることによって裏付けられないポイントを除外することにより偽ポイントを含まない合成3Dポイントクラウドに結合し、そのようなポイントは可視性プロセスに基づいて可視であると予想される。可視性プロセスは、3Dカメラのそれぞれの測定された位置と、3Dカメラを基準にして測定された3Dポイントクラウド内のポイントに対するそれぞれの局所的面法線とに基づくことができる。例示的に、局所的面法線は、面法線を包含するポイントに近いポイントに基づいて生成される。所定の数のポイントクラウドは、自動的閾値又はユーザ定義閾値によっても定義され得る。
以下に本発明を添付の図面を参照して説明する。
訓練時又は実行時に1個以上のオブジェクトの画像を取得し、少なくとも1個の模範的なオブジェクトは部分的に少なくとも1台のカメラの視野外にあり、又はさもなければ隠蔽/遮蔽されており、及び他の模範的なオブジェクトは欠陥があり、又はさもなければ1個以上のオブジェクトは1台以上の3Dカメラアセンブリにおいて偽ポイントを生成する、1台以上の3Dカメラアセンブリを含むビジョンシステムの概念図である。
例示的な実施形態による、実行時オブジェクト3Dポイントクラウドの部分的遮蔽に対処するための可視性チェック/調整プロセスを含む、訓練されたモデルと実行時オブジェクトの3Dポイントクラウドをアライメントするための模範的な全体手順のフローチャートである。
図2の手順による可視性チェック/調整プロセスのフローチャートである。
訓練時に提供され図2の手順に従ってアライメントされるオブジェクトの完全なモデルを包含する模範的な3Dポイントクラウドを示す概念図である。
、訓練されたモデルを基準にしたパターンの部分的遮蔽を含む、実行時に提供されるオブジェクトの模範的な3Dポイントクラウドの概念図である。
モデル3Dポイントクラウドの一部が(実行時部分に対する遮蔽などのために)欠落している、最良一致を定義するための実行時3Dポイントクラウドとモデル3Dポイントクラウドのアライメントされたオーバーラップを示す概念図である。
実行時3Dポイントクラウド上のクエリポイントが全面的に可視であると特定されてカバレッジスコアに含まれる、図3の可視性チェック/調整プロセスを表わす概念図である。
3Dポイントクラウド上のクエリポイントが遮蔽されていると特定されてカバレッジスコアから除かれる、図3の可視性チェック/調整プロセスを表わす概念図である。
図3の模範的な可視性チェック/調整プロセスによる、ボクセルグリッド法を用いてクエリポイントを遮蔽されているか又は全面的に可視であるか分類するための技術を表わす概念図である。
シーン上の画像を取得する1台以上の3Dカメラアセンブリの取得された3D画像に偽ポイントが現れる、1台以上のカメラアセンブリを有するビジョンシステム構成の概念図である。
図10の構成で3Dポイントクラウド内の偽ポイントを決定して、そのような偽ポイントを含まない複合ポイントクラウドを生成するための全体手順のフローチャートである。
3Dポイントクラウドが取得される適用可能な動作範囲を示す、図10の構成で用いられる模範的な3Dカメラアセンブリの正面図である。
図11の全体手順に従って生成された複合ポイントクラウドにポイントを追加するための手順のより詳細なフローチャートである。
1台以上の3Dカメラによって取得されたオブジェクト(例えばギア)の偽ポイントの発生を示す3Dポイントクラウドの2Dレンダリングに基づく概念図である。及び
3Dポイントクラウドから偽ポイントを除去した後の図14のオブジェクトの3Dポイントクラウドの2Dレンダリングに基づく概念図である。
I.システム概観図
図1は、離散的3Dカメラ120、122を有する1台以上の3Dビジョンシステムカメラアセンブリの視野(FOV)の動作範囲内で撮像された、1個以上のオブジェクト110,112の特徴の検査及び/又は解析に使用するためのマシンビジョンシステム構成(本明細書では「ビジョンシステム」とも呼ぶ)100を示している。本明細書では以下に専ら模範的なカメラ120に言及することに留意されたい。但し、カメラアセンブリ全体は複数の追加のカメラ(例えば仮想線で示すカメラアセンブリ122)を含むことができる。各3Dカメラ(120、130)は、コンポーネントの任意の受入れ可能な構成であってよく、典型的にCCD又はCMOSなど任意の受入れ可能な撮像技術に基づいて、それぞれのレンズアセンブリ121と、画像センサ(又は「イメージャ」)Sを内蔵したカメラ本体124を含んでいる。イメージャSは、(例えばカメラの座標系128それぞれのxi、yiの軸に沿って)1次元又は2次元の画像を画像ピクセルの配列で取得するように構成でき、これらの画像ピクセルはシーンをグレースケール又はカラーで検出するように適合できる。カメラアセンブリ120は更に、各オブジェクト110及び112の表面の3D「レンジ画像」を構成する第3の直交次元(例えばそれぞれのz軸に沿った高さ)を決定するように適合できる。それぞれの画像ピクセルに対して高さデータを生成するために多様な技術を採用できる。代替的に、3Dビジョンシステムカメラアセンブリは適当なカメラ機能と設定を用いて3Dポイントの集合体(ポイントクラウド)を直接取得できる。図1に1台若しくは2台のカメラを示す例に加えて、3Dカメラアセンブリ全体構成でより多くの数の(例えば3台以上の)カメラを用いることができ、また本明細書ではオブジェクト表面の3Dポイントクラウド又はレンジ画像表現を生成するための1台以上の離散的3Dカメラの全体構成を記述するために代替的に「3Dカメラアセンブリ」という言葉を用いることがあることに留意されたい。
図示されていないが、3Dレンジ画像又はポイントクラウドを生成するために用いられる3Dカメラアセンブリの1つの模範的なタイプはレーザ変位センサである。これはレーザ光の扇形をオブジェクト表面に投影して(例えばx軸方向に対して横断方向に向けられた)線を形成し、投影された線からレーザ変位センサのイメージャSで反射光を、扇形照明の平面とそれぞれのイメージャの光学軸OAとの間の相対的角度で受け取る。上述したように、レンジ又は高さ情報を生成するために他の様態も使用でき、これには例えばLIDAR、構造化された照明システム、飛行時間センサ、立体ビジョンシステム(例えば1対の離間したカメラ120及び122)、DLP計測などを含む。これらのシステムはすべてピクセルに高さ値(例えばz座標)を与える画像を生成する。
典型的な構成において、3Dカメラ120及び/又はオブジェクト110は相対的に(例えば1台以上のカメラの物理的y軸座標方向で)運動できるので、オブジェクト表面はレーザ変位センサによってスキャンされて、レーザ線の一連の画像が所望された空間的間隔で、典型的には運動情報140をシステムビジョンプロセッサ(150、以下に説明する)に送るモーションコントローラ及び関連するエンコーダ又は他の運動測定デバイスと連携して(或いは時間ベースの間隔で)取得される。これに関して、運動方向に沿ったオブジェクト上のポイントの位置は、座標Yiとして定義される。3Dカメラアセンブリによって取得されるポイント(Xi、Yi、Zi)の集合体は、ポイントクラウドとして定義される。飛行時間センサ3Dカメラなどを用いる他の実施形態では、相対的運動は必要ない。
カメラ本体124は、関連するビジョンプロセスを操作するビジョンシステムプロセッサ150を構成する種々の画像処理コンポーネントを含むことができる。ビジョンプロセッサ150はシーン及び/又は他のソース(例えばモデルのCAD表現)の取得された画像に基づく画像データ142上で作動し、ビジョンシステムツール及びプロセス152を用いて取得された画像から情報を抽出できる。この情報は興味のある特徴及び画像内に現れる他のアイテムに関係づけることができる。例えば米国マサチューセッツ州ネイティック市のコグネックス株式会社から市販されている既知のPatMax(登録商標)などのビジョンシステムツールを使用して、画像内の2D特徴及び3D特徴を解析して、相対的ポーズ、アライメント及び他のディテール、例えばエッジ、ブロブなどに関する情報を提供できる。ビジョンシステムプロセスの一部又は全部をカメラアセンブリ120の本体124内で実行できるが、プロセスの一部又は全部を(有線又は無線で)相互接続されたコンピューティングデバイス/プロセッサ160、例えば適当なユーザインタフェース(マウス/キーボード)162及び/又はディスプレイ164(例えばタッチスクリーン)を有する専用プロセッサ又は汎用コンピュータ(例えばサーバー、PC、ラップトップ、スマートフォン、タブレットなど)によって実行できることが明確に想定されている。更に、相互接続されたコンピューティングデバイス/プロセッサ160は、オブジェクト/アライメント168について処理された画像情報を用いて、通信リンク166又は他のインタフェース構成を介してユーティライゼーションプロセス若しくはタスクを実行できる。例えばビジョンシステムが検査タスクを実行する場合、これらの情報を用いて品質管理情報をデータベースに送ったり、生産ラインで欠陥品を拒否したりできる。
訓練プロセス(プロセッサ)又はモジュール154は、モデルと、実行時(ターゲット)オブジェクトの実行時3Dレンジ画像又はポイントクラウド画像から見いだされた特徴とのアライメントを容易にする特徴を定義する3Dレンジ画像又はポイントクラウドデータからなる1つ以上の3Dモデル/表現の訓練及び保存を扱う。訓練されたモデルは、オブジェクトの全体ビューで見いだされた特徴、特定のオブジェクト及び/又は多数のオブジェクトの異なる部分又は向きで見いだされた特徴を包含できる。
例示的な実施形態において、ビジョンプロセス及びプロセッサ150は、モデルの特徴と実行時(ターゲット)3D画像の特徴とのアライメントを試みる適当なアライメントアルゴリズム(又はプロセス)を用いるアライメントプロセス(プロセッサ)又はモジュール156を含んでいる。アライメントプロセス(プロセッサ)156及び訓練プロセス(プロセッサ)154は、各々3Dアライメント可視性プロセス(プロセッサ)又はモジュール158と相互作用し、これは実行時3Dポイントクラウドの自己遮蔽ポーズに対する可視性チェックを実行する。
更にプロセッサ150は偽ポイント除去プロセス(プロセッサ)159を含んでいる。これについては以下に説明するが、その機能は一般的にそれぞれの3Dカメラアセンブリ(例えばカメラ120、122)によって多数の視点から取得されたオブジェクト(例えばオブジェクト110)の全体3Dポイントクラウドが、実際のオブジェクトの部分ではない偽ポイント(ノイズ)を含まないようにすることである。
II.部分的に遮蔽されたオブジェクトのアライメント
図2の手順200を参照して、システムはステップ210で、典型的にそれぞれ1つ以上の3Dポイントクラウドとして定義される1つ以上の3D訓練画像を提供する。手順200は、実行時シーン内の訓練されたモデルパターンの位置を対象としている。システム及び関連する手順200の操作中、複数の候補ポーズが生成される。各候補は、シーン内の訓練されたモデルパターンの可能な位置である。目標は、各々の候補に(非制限的な例として正規化された)0.0〜1.0の数値スコア若しくは値を割り当てることであり、ここで0.0は可能な限り最悪の一致であり、1.0は可能な限り最良の一致である。
訓練モデル画像は実際のオブジェクトから取得でき、又は合成画像、例えば1つ以上の視点からのオブジェクトのCAD表現として定義できる。一般に、訓練されたモデルパターンは、システムが3Dアライメント手順を実行する間使用される補助データ構造のセットと併せて、ユーザが見つけようとする3Dデータ構造(例えばポイントクラウド)の形式である。この例では、訓練されたモデルパターンは、CAD又は多数のビューを包含する取得システムのいずれかからオブジェクトの完全なビューを定義する。この模範的なモデル410は、図4に示されている。
ステップ220で、手順200は1つ以上の実行時オブジェクトの画像データを包含する1つ以上の実行時3Dポイントクラウドを取得する。図1に示されているように、模範的なオブジェクト110及び112は各々カメラアセンブリ120がアライメント手順に影響を及ぼす可能性のある不完全な画像を撮像するインスタンスを表わす。より具体的には、オブジェクト110は全体がカメラの動作範囲170(カメラ光学系121に向かって上方に細くなるピラミッドとして定義)内にあるが、実際の欠陥172(仮想線で示す)を実行時オブジェクトの欠落部分174の形式で含んでいる。検査環境ではそのようなオブジェクトは拒否されよう。反対に、欠陥のない完全なオブジェクト112が撮像されると部分的にカメラ120の動作範囲外にあるか、又はさもなければ遮蔽されている(動作範囲170の境界の外の部分174)。部分174は、カメラ122の動作範囲176(仮想線で示す)内にあることに留意されたい。
より具体的には、図5を参照すると実行時シーンの例が示されている。この画像は、種々異なるポーズで訓練されたパターンに類似したオブジェクト510のゼロ以上のインスタンスを包含する別の3Dデータ構造を含んでいる。各インスタンスは訓練されたパターンに対して並進及び回転される。この例では、実行時シーンはオブジェクトの単一の(即ち部分的な)ビューである。
カメラアセンブリは、そのセットアップの部分として保存された種々の校正パラメータ/情報を含んでいる。アライメントアルゴリズムは、検出セットアップに関連する情報(例えば校正情報)を利用できる。これは手順200の後続ステップで使用される。
手順ステップ230で、手順200は訓練されたポイントクラウドを基準にして実行時ポイントクラウドのコースアライメント(粗いアライメント)の実行を試みて何らかの可能な候補ポーズの位置を特定する。以下に述べるように、このコースアライメントを用いて、更に別の評価候補ポーズに基づいて精緻化されたアライメントが可能となる。
手順200は、各候補ポーズ対モデルポイントクラウドに対する一致の品質を評価する(ステップ240)。この手順ステップは、候補がいかに良質であるか評価する。この手順は訓練モデル、実行時画像及び校正情報の入力に加えて、パターンを実行時シーンの部分にマッピングする候補ポーズを受け取る。手順はこのシーンの部分はパターンのインスタンスを包含すると仮定し、そのスコアは手順がいかに強くこの仮定に従っているかの測定結果である。図5は、実行時画像510を含んだ可能な候補600をモデルパターン410から欠落した部分610と組み合わせて表わしている。これはモデルの完全なパターンを提示し、従って可能な限り最良の一致を表わしている。そのためこの候補ポーズは高いスコアを受け取ることになる。
手順200のステップ250を参照して、スコアは基本的なカバレッジと候補ポーズを得たクラッタスコアを計算し、次いで2つのスコアをポーズに対する総スコアに結合することによって生成される。カバレッジスコアは、実行時シーンで可視のパターンの比率である。クラッタスコアは、システムが観察している解析中のパターンインスタンスに隣接するシーンにいかに多くの「余分な」ノイズがあるかの測定結果である。1実施形態において、最終的なスコアは次式によって表わされる。
スコア=カバレッジ−0.5*クラッタ
クラッタスコアの計算は、有益な背景情報として2015年11月11日に出願された「ビジョンシステムにおいて3Dポイントクラウド一致に使用するクラッタをスコアリングするためのシステム及び方法」と題する同時係属米国特許仮出願第14/93898号の中でHongjunJia他によって論じられており、その教示内容は参照により本明細書に組み込まれる。但し、候補600においては実行時オブジェクト510の一部しか利用できないので、モデルパターン(410)の大部分(610)は実行時画像に一致していない。慣用的なスコアリングアルゴリズムでは、一致しないすべての部分610はカバレッジスコアの素朴な定義に算入されない。他方、図示された一致は本質的に完璧なので、単に実行時画像の一部が遮蔽されているという理由でこの候補を減点するのは避けることが望ましいであろう。
図6に示されたシナリオへの対処を試みるために、手順200はカバレッジ評価(ステップ250)において可視性チェック/調整を実行して、実行時画像510で与えられたポイントが全体カバレッジに寄与するかを決定する(手順200のステップ260)。可視性チェック/調整を実行するための一般的プロセス300が図3に記載されている。プロセスの一部として、ステップ310で提供される校正情報はカメラの光学中心及び動作範囲を含んでいる(図1における動作範囲170と光学中心180の表現参照)。これらのパラメータは利用可能なカメラ情報に最初から含まれており(即ち工場校正によって提供される)、従ってプロセスは例示的な実施形態による可視性チェック/調整の決定においてそれらを(訓練されたモデル及び実行時画像3Dポイントクラウドと併せて_ステップ320)利用する。これらの入力が与えられると、ステップ330でプロセス300は光学中心180から訓練されたモデル3Dポイントクラウド又は実行時3Dポイントクラウド内の複数のポイントの各々を指す線分を構成する。ステップ340で、プロセス300は実行時候補ポーズで訓練されたモデル3Dポイントクラウドのビューの明確なレンダリングのない(を含まない)ポイント情報を考慮することを制限/排除する。この可視性チェック/調整プロセスの操作例が図7〜図9に示されている。
図7には、候補ポーズ600が、カメラ120の光学中心180(校正情報から既知)から実行時画像部分510のポイントクラウド上のポイント720に引かれた線分710と共に示されており、このポイント720はカバレッジスコアに寄与する。反対に、図8は候補600の遮蔽部分610上のポイントを指す線分810を図示しており、このポイントは当該数学的関係の分子又は分母によるカバレッジスコアに対する寄与から排除される。この排除は、遮蔽されたポイント820よりカメラ120に近い線分に沿って実行時部分510上に干渉的な遮蔽ポイント830が存在する結果として生じる。
非限定的な例として、カバレッジスコアを計算するためのルーチンの要約は次の通りである。
考慮されるポイント数=0;
カバーされるポイント数=0;
パターン内の各ポイントについて
候補ポーズを通してポイントをマッピングする。
マッピングされたポイントが遮蔽されていない場合:[可視性チェック]
考慮されるポイント数=考慮されるポイント数+1;
マッピングされたポイントが実行時シーン内のポイントに近い場合:
カバーされるポイント数=カバーされるポイント数+1
カバレッジスコア=カバーされるポイント数/考慮されるポイント数;
ここで、可視性チェックとは、上述したプロセス(300及び図7〜図8)の実行をいう。
クラッタの全体候補スコアに対する寄与はカバレッジスコア修正と同様のやり方で修正できるので、逆問題(即ち実行時シーンがパターン内で遮蔽された部分を包含する)が回避されることに留意されたい。そのようなインスタンスにおいて、オブジェクトの完全で実行時画像が存在するならば通常は排除されるであろう候補ポーズ上のポイントを特定して排除するために、光学中心から線分が引かれる。
簡単に要約すると、可視性チェック/調整を評価するためのステップは、(a)カメラ設定情報、(b)上述したルーチンから「マッピングされたポイント」を含むクエリポイント、及び(c)実行時シーンがボクセルグリッドで保持され得る実行時シーンの使用を含んでいる。こらは一連のボクセルによって定義でき、各ボクセルは所定の数のポイントを包含できる。このボクセルグリッド910は、図9に従って表わすことができる。ここに図示されている設定ではかメラ120は上方に配置されているので、ボクセル内の各ポイントは遮蔽の方向940に沿って下方のボクセル内の全ポイントを遮蔽する。こうしてルーチンは、クエリポイント930とカメラ120を結ぶ線分920の任意の部分を包含するグリッド910内の全列のボクセルをチェックする。この列内で最も上方のポイントが線の任意のポイントより高い場合は線は実行時シーンを横切るのでクエリポイントは遮蔽されている。そうでない場合は、クエリポイントは遮蔽されていない。従って図9に示されている例では、線分920に沿った(実行時部分510を通る)ボクセルの列上のポイントはクエリポイント930を遮蔽する。それゆえルーチンは、クエリポイント930が遮蔽されていることを示す。
定義により、クエリポイントは次の通り分類できる。(1)全面的に可視であり、ポイントはカメラアセンブリ内のカメラの動作範囲の和集合内にあり、取得システムがこのポイントを観察することを妨げているシーン内の他のポイントはない。(2)遮蔽されており、ポイントはカメラアセンブリの動作範囲の和集合内にあるが、シーン内の他のポイントは取得システムがこのポイントを観察することを妨げている。(3)動作範囲外にあり、ポイントは特定のカメラの動作範囲の和集合外にあるので、取得システムは残余のシーンにかかわりなくこのポイントを観察できないであろう。
再び図2の全体手順200を参照して、(決定ステップ270により)すべての候補ポーズがスコアリングされるまで、ステップ250とステップ260に従い各候補ポーズのカバレッジスコアが評価及び修正される。次いで(決定ステップ270により)スコアが比較されて、最良のスコア及び/又は所定の閾値を上回るスコアを有する候補は、アライメント結果としてステップ280に戻される。手順200はカメラアセンブリ全体における各カメラ及び関連する動作範囲に用いられ、及びアライメント結果は必要に応じて結合できることに留意されたい。例示的にカメラアセンブリはすべて(例えばハンドアイ校正技術を用いて)単一のグローバル座標系で校正でき、又は各カメラはそのローカル座標系で作動できる。
更に、可視性チェック/調整プロセスは精度及び/又は性能を向上させるために修正できる。例えば上述した可視性プロセスはバッチアプローチを行い、最終的なカバレッジ(及び/又はクラッタ)スコアを決定する前に各ポイントが考慮される。代替的に、漸進的アプローチを用いることができ、(a)多数の候補ポーズに対する訓練されたモデルパターンの1部分を評価し、(b)後続の処理のためにこれらのポーズのサブセットを選択し、(c)パターンの種々異なる部分を考慮する。手順が訓練された全モデルパターンを評価するまで、又は多数の可能な候補ポーズを唯一の可能な候補ポーズに絞るまで、ステップ(a)から(c)を繰り返す。本明細書で用いる「漸進的」又は「漸進的に」という用語は、上述した一般的手順のことをいう。種々の実施形態において、遮蔽を決定するために隠線除去ハードウェア、(例えば)単一命令複数データ(SIMD)マシン加速ハードウェアも使用できる。
上述した手順及びその修正は、典型的にグラフィックカードGPU(例えばSIMDマシン)よりも、コンピュータCPU上で動くプログラミング言語の使用を想定していることに留意されたい。プロセスがGPU上で動く場合は、多数のポイントを同時にマッピングでき、可視性チェック/調整を並行してGPU言語で、例えばダイレクトXシェーダ言語(HLSL)又はオープンGLシェーダ言語(GLSL)を用いて実行できることが想定されている。
III.3Dポイントクラウドからの偽ポイント及び/又はノイズの除去
再び図1のプロセッサ150を参照して、上述した他のプロセス/プロセッサ及び/又はモジュール152、154、156及び158に加えて偽ポイント除去プロセス(プロセッサ)159が提供される。図10の模範的な構成1000も参照すると、例示的な実施形態は、模範的なオブジェクト1030に対して所定の視点(OA1及びOA2)で向けられた、複数のそれぞれのカメラ1020及び1022から取得された画像データ1010及び1012の結合によって生成される3Dポイントクラウド内の偽ポイントを除去する。図示されているように、模範的なオブジェクト1030は、単純化のために無関係な特徴を除いた直線的な6面形状を画定している。取得された各3Dポイントクラウド1010及び1012は、光学的効果又は他の原因(例えば内部反射)のために追加のポイント/特徴1040、1042を含んでいるが、これらはプロセッサ150によって生成されてアライメントされた全体3Dポイントクラウド1050に融合される。以下に述べるように、この偽の画像データは破線1060及び1062で示されている通り最終バージョンのポイントクラウドから除去(削除)される。図示されていないが、模範的なオブジェクトの全360度ビューを取得して、ポイントクラウドデータを供給するように複数のカメラを配置できることが想定されており、これらのデータはプロセッサによって撮像されたオブジェクトの全体3Dポイントクラウド表現に結合できる。
図11は、訓練中又は実行時に使用するオブジェクトの複数の3D登録画像から、偽ポイントを除外する複合ポイントクラウドを生成するための全体手順1100を示すフローチャートを示している。ステップ1110で、システムは3Dカメラセンサから複数の向き/視点の各々でオブジェクトの1つ以上の3D画像を取得し、この画像データがシステムプロセッサ及び関連するビジョンシステムプロセスに3Dポイントクラウドデータとして提供される。ステップ1120で、システムは各カメラの位置/向きについての情報を提供する。この情報は、校正中決定されたグローバル座標系内の相対的光学軸角度、及び他のカメラからの相対的距離、及び/又は座標系内の基準点として定義され得る。焦点距離など他のパラメータも提供することができる。更に以下に述べるように、この情報はポイント可視性の決定を支援するために使用される。
ステップ1130で、システムは3Dポイントクラウド及びカメラ位置からの情報を使用してオブジェクトの推定されたポーズを計算する。このポーズ情報(図10の1070)は、ビジョンシステムプロセス(プロセッサ)に送られる。従って要約すると、この基本的手順に対する入力は、(a)ポイントクラウド、(b)オブジェクトポーズ、及び(c)センサ情報からなる1組のデータセットであり、そのようなデータの各々は(i)測定されたポイントクラウド、(ii)ポイントクラウドを生じさせるオブジェクトの推定されたポーズ、及び(iii)各ポイントについて可視性を計算するためのセンサについての情報を含んでいる。可視性基準は、センサの測定領域を基準にして測定された位置、及びセンサを基準にした(上述の)局所的面法線に基づくことができる。次いでこのポイントクラウドから(以下に定義する)「近傍」ポイントを考慮することによって局所的面法線を外挿できる。
一般に、また図12を参照して、模範的なカメラ/センサ構成1200はシーン1212の画像を取得する3Dカメラ/センサ1210を示しており、光学軸OA3が撮像されるシーン1212の平面に対して垂直でない結果として一部遠いFOV1240と近いFOV1250によって画定された境界を有する広い視野(FOV)1230の内部に、小さい動作範囲1220が画定される。この手順1100は、カメラ/センサ1210は特定の相対的ポーズでシーンの3D測定を取得し、及びこの相対的ポーズはユーザによって供給され得る(部品又はセンサが既知のポーズで位置決めされた場合)と仮定する。これは例えば(与えられた運動座標空間における)ロボットとセンサの間のハンドアイ校正が既知であるか、又は(種々の3D測定で特徴のサブセットを登録することに基づいて)推測される場合にロボットによって行われる。例示的な手順において、各ビューで生じるすべての3D測定を含むすべてのビューは、ビジョンシステムプロセス(プロセッサ)によって解析される。解析における最も主要な操作は、オブジェクト上の3Dポイントが特定の3Dセンサに可視であるべきかを決定する予想される可視性ヒューリスティックに基づいている。更に、予想される可視性ヒューリスティックは、センサの測定領域(即ち動作範囲1220)、並びに各3Dポイントと関連する局所的面法線に基づいている。
ステップ1140で、手順1100は各ポイントクラウド内の確証されたポイントを決定する。これは各ポイントクラウド内のポイントと、センサからプロセッサに供給される登録されたポイントクラウドのグループ全体における他のポイントクラウド内で可視であると予想されるポイントとの比較を伴う。この可視性決定は、図13の手順1310に従って導かれ、これは次のアルゴリズムによって表される。
ポイントクラウドからの各ポイントpについて
Pがそのポイントクラウド内で可視であれば(これは特にpが偽である場合には常に該当するわけではない)、pが可視であると予想されるすべての他の登録された(アライメントされた)ポイントクラウドCiと比較する(ステップ1310)。
Ci内にpに十分近い対応するポイントpiがあるか決定し、Ci内に対応するポイントpiがある場合は、Ciは(pに関して)可視であると規定する(ステップ1320)。
pが可視であるポイントクラウドCiの比率、即ち|可視({Ci})|/|{Ci}|が閾値Tを超えると(決定ステップ1330)、次いで複合ポイントクラウドにpを追加する(ステップ1340)。そうでない場合はポイントpを偽とマークして複合ポイントクラウドから除外する(1350)。
次の点に留意されたい。(1)面法線(ない場合)はソースポイントクラウドについて計算されて可視性手順に対して使用される(1300)、(2)複合ポイントクラウドは第1のソースポイントクラウドのクライアント3DFromPointCloud3D変換をコピーする。及び(3)センサ情報(最初のソースポイントクラウドで提供される場合)は適当に複合ポイントクラウドに包含される(これは最初のSensor3DFromGeometry3D変換を更新して、クライアント3DFromPointCloud3D変換は各ソースポイントから複合ポイントクラウドに変化するという事実を反映することを伴う)。
このヒューリスティックは次の2つのパラメータを有する。(1)(最初のポイントpとこれに対応する他のクラウドCi内の変換されたポイントpiとの)距離誤差、及び(2)可視性比率閾値T、即ち複合ポイントクラウドに包含されるためには予想される可視ポイントが見られなければならないすべてのクラウドの比率。閾値Tは種々のパラメータ又は特性、例えばセンサの数、露出レベルなどに基づいて自動的に設定される。代替的に、閾値Tはビジョンシステムソフトウェアアプリケーション内でユーザインタフェースを用いて設定できる。
次いで主要な手順1100は、ステップ1150で多数の登録されたポイントクラウドから、(それぞれのポイントクラウド内で)すべての確証されたポイントを連結させる複合ポイントクラウドを計算する。そのようなポイントは、ポイントが可視であると予想される他のポイントクラウド内で可視であれば確証されている。次いで手順1100はステップ1160で、偽ポイントが除去/除外された複合ポイントクラウドを提供する。これはモデルの生成、又は種々のビジョンシステム解析プロセス、例えばアライメント、検査、ロボットガイダンスなどの実行に使用するための正確な3D表現オブジェクトを利用可能にする。
図14のスクリーンディスプレイを参照すると、これは複数の3Dポイントクラウド生成センサによって取得されたオブジェクト(例えばギア)の画像1400を示している。画像1400は、1つ以上のポイントクラウド内の偽ポイントの結果としてノイズを含んでいる。反対に、ここに記載された模範的な実施形態による除去手順を適用することにより、その結果として図15の画像1500が生成される。偽ポイント/ノイズが少なければ少ないほどエッジは鮮明で明確に現れることに留意されたい。
図示されていないが、カメラ/センサはオブジェクトの全360度を撮像するように組み付け得ることは明白であろう。オブジェクトの完全なカバレッジを保証するためにFOV及び/又は動作範囲はオーバーラップできる。適当な照明も提供され得る。
上述したアライメントシステム及び方法が、自己遮蔽が存在する場合にモデル3Dポイントクラウドと実行時3Dポイントクラウドアライメントするための効果的な技術を提供することは明白であろう。このシステム及び方法は、実行時オブジェクトの全面的に可視のビューを含む又は含まない複数のカメラ及び関連する動作範囲で使用できる。このシステム及び方法は、多様な処理プラットフォームで作動するように適合されている。同様に、オブジェクトの3D画像を生成するための効果的な技術も本明細書中に記載されている。この技術は複数のポイントクラウド内で予想される可視ポイントと比較することにより偽ポイントの形式のノイズを効果的に除去して、それらが十分な数のそのようなポイントクラウドに現れないように削除する。
以上、本発明の例示的な実施形態を詳細に説明した。本発明の精神と範囲を逸脱することなく種々の改変及び追加を行うことができる。上述した種々の実施形態の各々の特徴は、関連する新しい実施形態において多数の特徴の組み合わせを提供するのに適する限り、別の記載された実施形態の特徴と組み合わされてよい。更に、上に本発明の装置と方法の多数の別個の実施形態を記したが、ここに記載されたものは本発明の原理の応用を例示したものに過ぎない。例えば、本明細書で使用される様々な方向及び/又は向きを表わす用語、例えば、「垂直」、「水平」、「上」、「下」、「底部」、「頂部」、「側部」、「前部」、「後部」、「左」、「右」、「前方」、「後方」及びこれに類するものは、相対的な表現法として用いられているに過ぎず、重力の作用方向など固定した座標系を基準とした絶対的な向きを表わすものではない。更に、図示されたプロセス又はプロセッサは他のプロセス及び/又はプロセッサと組み合わせ、又は種々のサブプロセス又はサブプロセッサに分割されてよい。そのようなサブプロセス及び/又はサブプロセッサは、本明細書に記載された実施形態に従って多様に組み合わせることができる。同様に、本明細書中の何らかの機能、プロセス及び/又はプロセッサは、プログラム命令の非一時的コンピュータ可読媒体からなる電子ハードウェア、ソフトウェア、或いはハードウェアとソフトウェアの組み合わせを用いて実施できることが明確に想定されている。従ってこの説明は例示の方法によるものとしてのみ受け取られるべきであり、それ以外に本発明の範囲を制限することを意味するものではない。
以下に特許請求の範囲を記載する。

Claims (20)

  1. ビジョンシステムにおいて実行時3Dポイントクラウドの3Dアライメントポーズが訓練されたモデル3Dポイントクラウドに対して一致する程度を推定するための方法であって、
    上記方法は、訓練されたモデル3Dポイントクラウドに対する実行時3Dポイントクラウドの候補ポーズの一致をビジョンシステムプロセッサでスコアリングするステップを有し、当該ステップは可視性チェックの提供を含み、前記可視性チェックは、
    (a)3Dカメラの光学中心を受け取り、
    (b)訓練されたモデル3Dポイントクラウドを受け取り、
    (c)実行時3Dポイントクラウドを受け取り、そして
    (d)実行時候補ポーズで訓練されたモデル3Dポイントクラウド又は実行時3Dポイントクラウドにおける複数の3Dポイントに対する光学中心から複数の線分を構成することを含み、
    前記方法は、それぞれの線分に沿った3Dポイントの位置に基づいて、前記スコアリングするステップで3Dポイントを排除するか又は包含するかを決定するステップを有する、
    上記方法。
  2. 更に、実行時3Dポイントクラウド候補ポーズで訓練されたモデル3Dポイントクラウドのビューを明確にレンダリングしない自己遮蔽3Dポイント情報の考慮を制限することを含む、請求項1に記載の方法。
  3. 前記スコアリングするステップは、(a)包含された3Dポイントの合計を定義するカバレッジスコアを計算すること、及び(b)排除された実行時3Dポイントの合計を定義するクラッタスコアを計算することの少なくとも1つを含む、請求項1に記載の方法。
  4. 包含された3Dポイントの合計を定義するステップは、ポイント・ツー・プレーンメトリック、ポイント・ツー・ラインメトリック及びポイント・ツー・ポイントメトリックの少なくとも1つを用いることを含む、請求項3に記載の方法。
  5. 下記(a)及び(b)の少なくとも1つが為されることを特徴とし、(a)は前記スコアリングするステップは可視性チェックを漸進的に作動させることであり、前記(b)は前記可視性チェックはレンジ画像に基づいて実行されることである、請求項1に記載の方法。
  6. 前記可視性チェックは、3Dポイントが(a)近接テスト及び(b)ポイント対表面メッシュテストの少なくとも1つに基づいて可視であるかテストすることによって実行される、請求項5に記載の方法。
  7. 前記3Dカメラは、ビジョンシステムプロセッサと相互接続された複数の3Dカメラを有する3Dカメラアセンブリの部分である、請求項1に記載の方法。
  8. 前記実行時3Dポイントクラウドは、少なくとも2台の3Dカメラによって撮像されたオブジェクトから取得され、その際にオブジェクトの部分は少なくとも2台の3Dカメラの各々の動作範囲内で撮像される、請求項7に記載の方法。
  9. 前記実行時3Dポイントクラウドは、3Dカメラの動作範囲内で自己遮蔽されたオブジェクトから取得される、請求項1に記載の方法。
  10. ビジョンシステムにおいて実行時3Dポイントクラウドの3Dアライメントポーズが訓練されたモデル3Dポイントクラウドに対して一致する程度を推定するためのシステムであって、
    上記システムは、訓練されたモデル3Dポイントクラウドに対する実行時3Dポイントクラウドの候補ポーズの一致を、ビジョンシステムプロセッサ内で動作する、スコアリングプロセスを有し、当該プロセスは可視性チェックプロセスを含み、前記可視性チェックプロセスは、
    (a)3Dカメラの光学中心を受け取り、
    (b)訓練されたモデル3Dポイントクラウドを受け取り、
    (c)実行時3Dポイントクラウドを受け取り、そして
    (d)実行時候補ポーズで訓練されたモデル3Dポイントクラウド又は実行時3Dポイントクラウドにおける複数の3Dポイントに対する光学中心から複数の線分を構成するように、アレンジされており、
    前記システムは、それぞれの線分に沿った3Dポイントの位置に基づいて、3Dポイントを排除するか又は包含するかを決定するプロセスを有する、
    上記システム。
  11. スコアリングプロセスは、(a)包含された3Dポイントの合計を定義するカバレッジスコアを計算し、及び(b)排除された実行時3Dポイントの合計を定義するクラッタスコアを計算するように構成された、請求項10に記載のシステム。
  12. 下記(a)及び(b)の少なくとも1つが為されることを特徴とし、(a)は前記スコアリングプロセスは可視性チェックが漸進的に作動するよう構成されることであり、前記(b)は前記可視性チェックプロセスはレンジ画像に基づいて実行されることである、請求項10に記載のシステム。
  13. 可視性チェックプロセスは、3Dポイントが、(a)近接テスト及び(b)ポイント対表面メッシュテストの少なくとも1つに基づいて可視であるかテストすることによって実行される、請求項12に記載のシステム。
  14. 前記テストは、SIMDマシン加速ハードウェアによって実行される、請求項13に記載のシステム。
  15. 3Dカメラは、ビジョンシステムプロセッサと相互接続された複数の3Dカメラを有する3Dカメラアセンブリの一部である、請求項10に記載のシステム。
  16. 実行時3Dポイントクラウドは、少なくとも2台の3Dカメラによって撮像されたオブジェクトから取得され、その際にオブジェクトの部分は少なくとも2台の3Dカメラの各々の動作範囲内で撮像される、請求項15に記載のシステム。
  17. オブジェクトの3D画像から偽ポイントを除去するためのシステムであって、
    それぞれの動作範囲内で複数のそれぞれの視点からオブジェクトの画像を取得するように構成された複数の3Dカメラと、
    可視性プロセスであって、
    (a)複数の3Dカメラのうち1台の3Dカメラから測定された3Dポイントクラウドを受け取り、
    (b)測定された3Dポイントクラウドと相対的にオブジェクトに対して推測されたポーズを生成し、及び
    (c)オブジェクトを基準にした3Dカメラの位置と向きに関する情報を使用して3Dポイントクラウドのポイントの可視性を決定する、
    前記可視性プロセスと、
    複数の3Dカメラからの3Dポイントクラウドを、所定の数のポイントクラウドに現れることによって裏付けられないポイントを除外することによって偽ポイントを含まぬ合成3Dポイントクラウドに結合する複合ポイントクラウド生成プロセスであって、そのようなポイントは前記可視性プロセスに基づいて可視であると予想される、前記複合ポイントクラウド生成プロセスと、
    を有する上記システム。
  18. 前記可視性プロセスは、3Dカメラのそれぞれの測定された位置と、3Dカメラを基準にして測定された3Dポイントクラウド内のポイントに対するそれぞれの局所的面法線とに基づく、請求項17に記載のシステム。
  19. 前記局所的面法線は、面法線を包含するポイントに近いポイントに基づいて生成される、請求項18に記載のシステム。
  20. 前記所定の数のポイントクラウドは、自動的閾値又はユーザ定義閾値によって定義される、請求項17に記載のシステム。
JP2017143110A 2016-08-01 2017-07-24 3d画像データにおける3dポーズの改良されたスコアリング及び偽ポイント除去のためのシステム及び方法 Active JP6525459B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662369709P 2016-08-01 2016-08-01
US62/369,709 2016-08-01
US15/654,793 2017-07-20
US15/654,793 US10482621B2 (en) 2016-08-01 2017-07-20 System and method for improved scoring of 3D poses and spurious point removal in 3D image data

Publications (2)

Publication Number Publication Date
JP2018055675A JP2018055675A (ja) 2018-04-05
JP6525459B2 true JP6525459B2 (ja) 2019-06-05

Family

ID=61134153

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017143110A Active JP6525459B2 (ja) 2016-08-01 2017-07-24 3d画像データにおける3dポーズの改良されたスコアリング及び偽ポイント除去のためのシステム及び方法

Country Status (5)

Country Link
US (1) US10482621B2 (ja)
JP (1) JP6525459B2 (ja)
KR (1) KR102296236B1 (ja)
CN (1) CN107680124B (ja)
DE (1) DE102017116952A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9508186B2 (en) * 2013-11-07 2016-11-29 Autodesk, Inc. Pre-segment point cloud data to run real-time shape extraction faster
CN107003109B (zh) * 2014-11-13 2019-11-05 奥林巴斯株式会社 校准装置、校准方法、光学装置、摄影装置、投影装置、测量***以及测量方法
US10452949B2 (en) * 2015-11-12 2019-10-22 Cognex Corporation System and method for scoring clutter for use in 3D point cloud matching in a vision system
US10753726B2 (en) 2017-03-26 2020-08-25 Cognex Corporation System and method for 3D profile determination using model-based peak selection
US11989835B2 (en) * 2017-09-26 2024-05-21 Toyota Research Institute, Inc. Augmented reality overlay
US10558844B2 (en) * 2017-12-18 2020-02-11 Datalogic Ip Tech S.R.L. Lightweight 3D vision camera with intelligent segmentation engine for machine vision and auto identification
GB2569656B (en) * 2017-12-22 2020-07-22 Zivid Labs As Method and system for generating a three-dimensional image of an object
CN110574040A (zh) * 2018-02-14 2019-12-13 深圳市大疆创新科技有限公司 自动抓拍方法及装置、无人机及存储介质
JP7182528B2 (ja) * 2018-09-12 2022-12-02 コグネックス・コーポレイション マシンビジョン用の画像データを処理するための方法及び装置
US10846563B2 (en) 2018-09-12 2020-11-24 Cognex Corporation Methods and apparatus for generating a dense field of three dimensional data for machine vision
US10825199B2 (en) 2018-09-12 2020-11-03 Cognex Corporation Methods and apparatus for processing image data for machine vision
US10878299B2 (en) 2018-09-12 2020-12-29 Cognex Corporation Methods and apparatus for testing multiple fields for machine vision
US11665372B2 (en) * 2019-01-07 2023-05-30 Samsung Electronics Co., Ltd. Fast projection method in video-based point cloud compression codecs
CN112085786B (zh) * 2019-06-13 2024-06-07 北京地平线机器人技术研发有限公司 位姿信息确定方法及装置
CN110930442B (zh) * 2019-11-26 2020-07-31 广东技术师范大学 基于标定块的机器人手眼标定中关键点位置确定方法与装置
CA3067400A1 (en) * 2019-11-28 2021-05-28 Xesto Inc. System and method for mobile 3d scanning and measurement
CN111461980B (zh) * 2020-03-30 2023-08-29 北京百度网讯科技有限公司 点云拼接算法的性能估计方法和装置
CN111539361B (zh) * 2020-04-28 2023-09-05 北京小马慧行科技有限公司 噪点的识别方法、装置、存储介质、处理器和运载工具
CN113808097B (zh) * 2021-09-14 2024-04-12 北京主导时代科技有限公司 一种列车的关键部件丢失检测方法及其***

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5988862A (en) 1996-04-24 1999-11-23 Cyra Technologies, Inc. Integrated system for quickly and accurately imaging and modeling three dimensional objects
US6420698B1 (en) 1997-04-24 2002-07-16 Cyra Technologies, Inc. Integrated system for quickly and accurately imaging and modeling three-dimensional objects
US6297844B1 (en) 1999-11-24 2001-10-02 Cognex Corporation Video safety curtain
US7574067B2 (en) * 2003-10-03 2009-08-11 General Electric Company Surface reconstruction and registration with a helmholtz reciprocal image pair
US20050140670A1 (en) 2003-11-20 2005-06-30 Hong Wu Photogrammetric reconstruction of free-form objects with curvilinear structures
US8111904B2 (en) * 2005-10-07 2012-02-07 Cognex Technology And Investment Corp. Methods and apparatus for practical 3D vision system
JP4283816B2 (ja) 2006-03-31 2009-06-24 日本電信電話株式会社 三次元環境情報取得装置,三次元環境情報取得方法及びその方法を実現したプログラムを格納した記録媒体
US7822266B2 (en) 2006-06-02 2010-10-26 Carnegie Mellon University System and method for generating a terrain model for autonomous navigation in vegetation
JP2007322351A (ja) 2006-06-05 2007-12-13 Mitsubishi Electric Corp 3次元物体照合装置
CN101553454B (zh) * 2006-12-11 2013-07-10 三菱瓦斯化学株式会社 对苯二甲酸的制备方法
US8126260B2 (en) * 2007-05-29 2012-02-28 Cognex Corporation System and method for locating a three-dimensional object using machine vision
JP5224319B2 (ja) 2007-07-23 2013-07-03 富士フイルム株式会社 立体撮像装置および立体撮像装置の制御方法並びにプログラム
US8396284B2 (en) * 2007-10-23 2013-03-12 Leica Geosystems Ag Smart picking in 3D point clouds
KR100951890B1 (ko) 2008-01-25 2010-04-12 성균관대학교산학협력단 상황 모니터링을 적용한 실시간 물체 인식 및 자세 추정 방법
US9189886B2 (en) * 2008-08-15 2015-11-17 Brown University Method and apparatus for estimating body shape
US8442304B2 (en) 2008-12-29 2013-05-14 Cognex Corporation System and method for three-dimensional alignment of objects using machine vision
CN102308320B (zh) 2009-02-06 2013-05-29 香港科技大学 从图像生成三维模型
US8918209B2 (en) 2010-05-20 2014-12-23 Irobot Corporation Mobile human interface robot
US20140043329A1 (en) 2011-03-21 2014-02-13 Peng Wang Method of augmented makeover with 3d face modeling and landmark alignment
US9367770B2 (en) 2011-08-30 2016-06-14 Digimarc Corporation Methods and arrangements for identifying objects
US9002099B2 (en) 2011-09-11 2015-04-07 Apple Inc. Learning-based estimation of hand and finger pose
US9008192B2 (en) * 2011-10-20 2015-04-14 Digimarc Corporation Arrangements for increasing detection confidence
US9070216B2 (en) 2011-12-14 2015-06-30 The Board Of Trustees Of The University Of Illinois Four-dimensional augmented reality models for interactive visualization and automated construction progress monitoring
WO2014042701A1 (en) * 2012-09-17 2014-03-20 Motorola Mobility Llc Efficient key generator for distribution of sensitive material from mulitple application service providers to a secure element such as a universal integrated circuit card (uicc)
EP2720171B1 (en) * 2012-10-12 2015-04-08 MVTec Software GmbH Recognition and pose determination of 3D objects in multimodal scenes
US9154773B2 (en) 2013-03-15 2015-10-06 Seiko Epson Corporation 2D/3D localization and pose estimation of harness cables using a configurable structure representation for robot operations
US10262462B2 (en) 2014-04-18 2019-04-16 Magic Leap, Inc. Systems and methods for augmented and virtual reality
DE102013110580B4 (de) * 2013-09-24 2024-05-23 Faro Technologies, Inc. Verfahren zum optischen Abtasten und Vermessen einer Szene und Laserscanner, ausgebildet zur Durchführung des Verfahrens
US9299195B2 (en) 2014-03-25 2016-03-29 Cisco Technology, Inc. Scanning and tracking dynamic objects with depth cameras
JP6338421B2 (ja) 2014-03-31 2018-06-06 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、把持システムおよびプログラム
WO2015154089A1 (en) * 2014-04-04 2015-10-08 Parkervision, Inc. An optimization of thermodynamic efficiency vs. capacity for communications systems
WO2015155628A1 (en) * 2014-04-07 2015-10-15 Eyeways Systems Ltd. Apparatus and method for image-based positioning, orientation and situational awareness
CN115359567A (zh) * 2014-06-14 2022-11-18 奇跃公司 用于产生虚拟和增强现实的方法和***
EP3016076A1 (en) * 2014-10-31 2016-05-04 Thomson Licensing Method and apparatus for removing outliers from a main view of a scene during 3D scene reconstruction
US20170352091A1 (en) * 2014-12-16 2017-12-07 Metail Limited Methods for generating a 3d virtual body model of a person combined with a 3d garment image, and related devices, systems and computer program products
US10360469B2 (en) * 2015-01-15 2019-07-23 Samsung Electronics Co., Ltd. Registration method and apparatus for 3D image data
US10360718B2 (en) 2015-08-14 2019-07-23 Samsung Electronics Co., Ltd. Method and apparatus for constructing three dimensional model of object
US10452949B2 (en) 2015-11-12 2019-10-22 Cognex Corporation System and method for scoring clutter for use in 3D point cloud matching in a vision system
CN105787933B (zh) * 2016-02-19 2018-11-30 武汉理工大学 基于多视角点云配准的岸线三维重建装置及方法
US10867430B2 (en) * 2018-11-19 2020-12-15 Intel Corporation Method and system of 3D reconstruction with volume-based filtering for image processing

Also Published As

Publication number Publication date
JP2018055675A (ja) 2018-04-05
CN107680124A (zh) 2018-02-09
KR102296236B1 (ko) 2021-08-30
US10482621B2 (en) 2019-11-19
KR20180014677A (ko) 2018-02-09
DE102017116952A1 (de) 2018-03-22
US20180130224A1 (en) 2018-05-10
CN107680124B (zh) 2021-08-10

Similar Documents

Publication Publication Date Title
JP6525459B2 (ja) 3d画像データにおける3dポーズの改良されたスコアリング及び偽ポイント除去のためのシステム及び方法
JP6506731B2 (ja) ビジョンシステムで3dポイントクラウドマッチングに使用するクラッタをスコアリングするためのシステム及び方法
JP5480914B2 (ja) 点群データ処理装置、点群データ処理方法、および点群データ処理プログラム
JP5548482B2 (ja) 位置姿勢計測装置、位置姿勢計測方法、プログラム及び記憶媒体
JP5671281B2 (ja) 位置姿勢計測装置、位置姿勢計測装置の制御方法及びプログラム
JP7339316B2 (ja) ビジョンシステムにより画像特徴におけるエッジと法線を同時に考慮するためのシステム及び方法
JP6503153B2 (ja) ビジョンシステムにおいて3dアライメントアルゴリズムを自動選択するためのシステム及び方法
JP2016197287A (ja) 情報処理装置、情報処理方法、プログラム
US11415408B2 (en) System and method for 3D profile determination using model-based peak selection
JP5976089B2 (ja) 位置姿勢計測装置、位置姿勢計測方法、およびプログラム
Takimoto et al. 3D reconstruction using low precision scanner
JP6890422B2 (ja) 情報処理装置、情報処理装置の制御方法およびプログラム
Sauer et al. 5.3 Automated Registration of Large Assemblies with Robot Guided 3D Sensors and CAD-based Planning
JP2021101175A (ja) 検出装置、及び検出方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180705

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180806

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20181106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190205

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190502

R150 Certificate of patent or registration of utility model

Ref document number: 6525459

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250