JP2023526021A - 点群ヒストグラムを生成する方法及び装置 - Google Patents

点群ヒストグラムを生成する方法及び装置 Download PDF

Info

Publication number
JP2023526021A
JP2023526021A JP2022568609A JP2022568609A JP2023526021A JP 2023526021 A JP2023526021 A JP 2023526021A JP 2022568609 A JP2022568609 A JP 2022568609A JP 2022568609 A JP2022568609 A JP 2022568609A JP 2023526021 A JP2023526021 A JP 2023526021A
Authority
JP
Japan
Prior art keywords
point
voxel
determining
point cloud
histogram
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.)
Pending
Application number
JP2022568609A
Other languages
English (en)
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 JP2023526021A publication Critical patent/JP2023526021A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/40Image enhancement or restoration using histogram techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/66Analysis of geometric attributes of image moments or centre of gravity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/50Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/758Involving statistics of pixels or of feature values, e.g. histogram matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • 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/20072Graph-based image processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Graphics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

本明細書に記載された技術は、点群ヒストグラムを生成するように構成された方法、装置、及びコンピュータ可読媒体に関するものである。1Dヒストグラムは、3D点群の各3D点について基準までの距離を決定することによって生成することができる。1Dヒストグラムは、各ヒストグラムのエントリについて、当該エントリの距離の範囲内にある距離を加算することによって生成される。2次元ヒストグラムは、各3D点について、少なくとも第1成分に対する第1の値と第2成分に対する第2の値とを有する向きを決定することにより向きのセットを生成することによって決定できる。2次元ヒストグラムは、向きのセットに基づいて生成することができる。各ビンは、第1成分と第2成分に対する値の範囲に関連付けることができる。向きは、第1の値と第2の値をそれぞれビンの値の第1の範囲と第2の範囲に有する各ビンについて加算できる。

Description

関連出願
本出願は、2020年5月11日に出願された「点群ヒストグラムを生成する方法及び装置」と題する米国仮特許出願第63/023,163号、及び2020年8月13日に出願された「点群ヒストグラムを生成する方法及び装置」と題する米国仮特許出願第63/065,456号に対して、米国特許法第119条(e)に基づく優先権を主張するものであり、これらはその全体が参照により本明細書に組み込まれるものとする。
技術分野
本技術は、一般に、点群データのヒストグラムを生成する技術を含む、マシンビジョンの方法及び装置に関するものである。
マシンビジョンシステムは、3次元(3D)イメージングデバイスを含むロバストなイメージング機能を有することができる。例えば、3Dセンサはシーンを撮像して、それぞれが3D座標系内に(x、y、z)位置を有する3D点のセットを生成することができる(例えば座標系のz軸は3D撮像装置からの距離を表す)。このような3D撮像装置は、3D撮像プロセス中に捕捉された3D点のセットを含む3D点群を生成することができる。しかしながら、3D点群内の3D点の全数は、(例えばシーンの2Dデータと比較して)膨大である可能性がある。さらに、3D点群は、純粋な3Dデータ点のみを含む場合があり、したがって3D点間/中の関係を示すデータや、表面法線情報などの他の情報を含まない場合があり、他の点間の関係を示すデータがない3D点を処理することが複雑になることがある。それゆえ、3D点群は大量の3Dデータを提供することができるが、3D点群データに対してマシンビジョンタスクを実行することは、複雑で時間がかかり、相当な処理リソース、及び/又はこれに類するものを必要とする可能性がある。
開示された主題に従って、改良されたマシンビジョン技術のために、特に点群データの要約(例えば点群データ内のオブジェクトを比較するために使用できる)を提供する改良されたマシンビジョン技術のために、装置、システム、及び方法が提供される。幾つかの実施形態では、本技術は、点群データのヒストグラムを生成することを提供する。ヒストグラムは、1次元及び/又は2次元ヒストグラムなど、様々な次元のものであることができる。ヒストグラムは、点群データへの参照に基づくものを含む、様々なメトリクスを用いて生成することができる。例えば1次元ヒストグラムは、基準面までの3D点の距離、3D点群の代表的な点(例えば重心)までの距離、及び/又はこれに類するものに基づいて生成することができる。別の例として、2次元ヒストグラムは、3D点群から決定される情報に基づいて、例えば表面法線、ベクトル、及び/又はこれに類するものに基づいて生成することができる。
幾つかの態様は、3次元(3D)点群のヒストグラムを生成するためのコンピュータ化された方法に関するものである。この方法は、複数の3D点を含む3D点群を示すデータを受信することと、3D点群に対する空間的関係において基準を決定することと、複数の3D点の各3D点について、この基準までの距離を決定して当該複数の3D点に対する距離のセットを生成することと、この距離のセットに基づいてエントリのセットを有するヒストグラムを生成することとを含み、これはエントリのセットの各エントリについて、エントリに関連付けられた距離の範囲内にある距離のセットからの距離を挿入することを含む。
幾つかの例によれば、この方法は、3D点群の少なくとも一部について3Dボクセルグリッドを生成することと、ここで、3Dボクセルグリッドの各ボクセルは同じ次元のセットを含んでおり、3Dボクセルグリッドの各ボクセルについて、複数の3Dデータ点のうちの1つ以上がボクセル内にあるか否かを決定して、当該ボクセルに対する関連付けられた3D点のセットを生成することと、関連付けられた3D点のセットを有する3Dボクセルグリッドの各ボクセルについて、この関連付けられた3Dデータ点のセットに基づいてボクセルに対する単一の3Dデータ点を決定することと、単一の3Dデータ点をボクセルに保存することとを含む。距離のセットを生成することは、3Dボクセルグリッドの各ボクセルについて、単一の3Dデータ点から基準までの距離を決定して距離のセットを生成することを含むことができる。
幾つかの例によれば、上記の基準は、2次元(2D)基準面であり、各3D点の距離を決定して距離のセットを生成することは、この基準面までの各3D点の最短距離を決定することを含む。
幾つかの例によれば、上記の基準は基準線であり、各3D点の距離を決定して距離のセットを生成することは、この基準線までの各3D点の最短距離を決定することを含む。
幾つかの例によれば、この方法は、3D点群の推定された重心を決定することを含み、ここで、上記の基準は推定された重心である。各3D点の距離を決定して距離のセットを生成することは、推定された重心までの各3D点の距離を決定することを含むことができる。
幾つかの例によれば、この方法は、ヒストグラムを第2の3D点群について生成された第2ヒストグラムと比較して、3D点群と第2の3D点群との間の類似性の尺度を決定することを含む。
幾つかの態様は、3次元(3D)点群のヒストグラムを生成するためのコンピュータ化された方法に関するものである。この方法は、複数の3D点を含む3D点群を示すデータを受信することを含む。この方法は、向きのセットを生成することを含み、これは、3D点群内の各3D点について、3D点の向きを決定することを含み、この向きは少なくとも第1成分に対する第1の値と第2成分に対する第2の値を有している。この方法は、向きのセットに基づいて、ビンのセットを有するヒストグラムを生成することを含み、ビンのセットの各ビンは、第1成分の値の第1の範囲と第2成分の値の第2の範囲に関連付けられており、ヒストグラムを生成することは、ビンのセットの各ビンについて、それぞれビンに関連付けられた値の第1の範囲及び第2の範囲内にある第1の値と第2の値を有する向きのセットからの向きを加算することを含む。
幾つかの例によれば、ビンのセットは2つの次元に配置され、第1の次元は第1成分に関連付けられ、第2の次元は第2成分に関連付けられている。
幾つかの例によれば、第1成分は傾斜角を有し、第2成分は方位角を有する。
幾つかの例によれば、この方法はさらに、3D点群の少なくとも一部について3Dボクセルグリッドを生成することと、ここで、3Dボクセルグリッドの各ボクセルは同じ次元のセットを含んでおり、3Dボクセルグリッドの各ボクセルについて、複数の3Dデータ点のうちの1つ以上がボクセル内にあるか否かを決定して、当該ボクセルに対する関連付けられた3D点のセットを生成することと、関連付けられた3D点のセットを有する3Dボクセルグリッドの各ボクセルについて、この関連付けられた3Dデータ点のセットに基づいてボクセルに対する単一の3Dデータ点を決定することと、この単一の3Dデータ点をボクセルに保存することとを含む。関連付けられた3D点のセットを有する3Dボクセルグリッドの各ボクセルに対して、関連付けられた3Dデータ点のセットに基づいてボクセルに対する単一の3Dデータ点を決定するステップと、ボクセル内に単一の3Dデータ点を記憶するステップと、を備える。上記の向きのセットを生成することは、3Dボクセルグリッドの各ボクセルについて、単一の3Dデータ点の向きを決定して向きのセットを生成することを含む。
幾つかの例によれば、上記の向きのセットを生成することは、3D点群内の各3D点について、3D点の向きを3D点群に関連付けられた固定座標系に基づいて決定することを含む。
幾つかの例によれば、向きのセットを生成することは、3D点群の各3D点について、3D点の向きを3D点群の3D点に関連付けられたローカル座標系に基づいて決定することを含む。
幾つかの例によれば、この方法は、ヒストグラムを第2の3D点群に関連付けられた第2ヒストグラムと比較して、3D点群と第2の3D点群との間の類似性の尺度を示すデータを決定することを含む。ヒストグラムを第2ヒストグラムと比較することは、ヒストグラムのピークの第1のセットと第2ヒストグラムのピークの第2のセットを決定することと、第1のピークのセットの少なくとも一部と第2のピークのセットの少なくとも一部との間の対応関係を決定することとを含む。
幾つかの実施形態は、コンピューティングデバイス上で1台以上のプロセッサによって実行されると、1台以上のプロセッサに本明細書に記載された技術のいずれかの方法を実行させるように動作可能である命令を含む非一時的コンピュータ可読媒体に関するものである。
幾つかの実施形態は、命令を保存するメモリと、命令を実行して本明細書に記載された技術のいずれかの方法を実行するように構成されたプロセッサとを備えるシステムに関するものである。
以上、開示の主題の特徴をややおおまかに述べたのは、以下に続く詳細な説明においてそれらがより良く理解されるように、また本発明の技術への寄与がより適切に評価されるようにするためである。開示された主題について追加の特徴があることは言うまでもなく、それらは以下に説明されるとともに、本明細書に付属する特許請求の範囲の主題をなすものである。本明細書で使用される表現及び用語は、説明を目的とするものであって、限定的なものと見なされるべきではないことを理解すべきである。
図面では、様々な図に示されている同一又はほぼ同一の各構成要素は同じ参照符号で表されている。見やすさのため、各図面にすべての構成要素が表示されているわけではない。図面は必ずしも縮尺通りではなく、本明細書に記載する技術及び装置の様々な態様を示すことに重点が置かれている。
幾つかの実施形態による、例示的なマシンビジョンシステムを示す図である。 幾つかの実施形態による、3次元点群のヒストグラムを生成するための例示的なコンピュータ化された方法を示すフローチャートである。 幾つかの実施形態による、2つの例示的な点対面距離ヒストグラムである(図3A-2へ続く)。 幾つかの実施形態による、2つの例示的な点対面距離ヒストグラムである。 幾つかの実施形態による、2つの例示的な点対線距離ヒストグラムである(図3B-2へ続く)。 幾つかの実施形態による、2つの例示的な点対線距離ヒストグラムである。 幾つかの実施形態による、2つの例示的な点対重心距離ヒストグラムである(図4-2へ続く)。 幾つかの実施形態による、2つの例示的な点対重心距離ヒストグラムである(図4-3へ続く)。 幾つかの実施形態による、2つの例示的な点対重心距離ヒストグラムである(図4-4へ続く)。 幾つかの実施形態による、2つの例示的な点対重心距離ヒストグラムである。 幾つかの実施形態による、3D点群のヒストグラムを生成するための例示的なコンピュータ化された方法のフローチャートである。 幾つかの実施形態による、円錐台の点群データに対する2つの例示的な法線方向ヒストグラムである。 幾つかの実施形態による、円柱状オブジェクトの点群データに対する2つの例示的な法線方向ヒストグラムである。 幾つかの実施形態による、半球状オブジェクトの2つの例示的な法線方向ヒストグラムである。 幾つかの実施形態による、都市景観オブジェクトの2つの例示的な法線方向ヒストグラムである。 幾つかの実施形態による、図6~図9と関連して説明される2D方向ヒストグラムを用いて計算された例示的な類似性スコアを示す表である。
本明細書に記載された技術は、3D点群画像を解析するために使用することができるデータ削減技術を提供する。本発明者らは、従来のマシンビジョン技術が、3D点群データを処理する際に(例えば3D点群データ内にオブジェクトが存在するかどうかを決定するために)著しい非効率を被る可能性があることを理解している。3D点群は、しばしば、数十万又は数百万の(x、y、z)点を含む。したがって、本発明者らは空間内のこのような膨大な数の3D点を直接解釈することは、相当困難であることを理解している。例えば、3D点群はそのような膨大な数の3D点を含み、通常は3D点間の空間的関係についての情報を含まないので、純粋な3D点群を解釈しようとすることは、そのような解釈を実行する時間、ハードウェアリソース、及び/又はこれに類するものが限られているような多くのマシンビジョンアプリケーションにとって実行不可能であろう。
特に、3D点群画像がオブジェクトを捕捉したかどうかを決定することが望ましいことがある。従来の技術は、計算集約的な技術を使用して点群からオブジェクトを検索することによって、このような問題に対処している。例えば、幾つかの方策は、3D点のセットを処理して、急激な変化(例えば視野内の表面のしわや裂け目)を示すエッジ特徴を計算し、そのようなエッジの発生率の尺度を計算し、そして発生率が所定の閾値を超えた場合にオブジェクトの存在(又は不在)を決定する。このようなエッジの特徴を計算することは、3D点群内の各点の近傍にある点を含む膨大な計算が必要である。追加的又は代替的に、異なる3D点群画像で検出されたオブジェクトを比較することが望ましいこともある。オブジェクト検出と同様に、このような方策はエッジ特徴を計算する必要がある場合がある。例えば点群のそれぞれでエッジ特徴を計算し、エッジの位置や他の属性を比較し、最後に比較をオブジェクトの類似性の尺度に集約することができよう。
別の例として、オブジェクト検出、分類、及び/又は登録のための幾つかの方策は、オブジェクトの特徴(例えば表面曲率)を決定するために点メッシュ又は表面パッチを計算する。そのようなメッシュ又は表面パッチを計算するだけで時間がかかることがあり、この技術はオブジェクト特徴を決定し、表面モデルを形成するために、さらに処理を実行することを必要とする。例えば、メッシュ又はパッチの表面特徴を計算してパラメトリックモデルを形成することは、しばしば最適化を含む反復処理を必要とし、したがってこの技術の使用は通常は非リアルタイムの用途に限定される。
本発明者らは、このような様々な非効率に対処するために、マシンビジョン技術の技術的改良を開発した。本明細書に記載された技術は、3D点群を、様々なマシンビジョンアプリケーションのために、3D点群を容易に解釈するのに使用できる1D信号(例えば1Dヒストグラム)及び/又は2D画像(例えば、2Dヒストグラム)に還元することができる。本技術は、3D点群が類似しているかどうかを決定するために異なる3D点群を比較することなど、1D及び2D信号を解釈するための技術も提供する。例えば、2つの異なる3D点群画像について1D又は2Dヒストグラムを計算して比較し、3D点群画像が同じオブジェクトを含む可能性があるか(又はないか)を決定することができる。3D点群内の従来膨大な量のデータを1次元又は2次元に還元することができるため、本明細書に記載された技術は性能を大幅に改善し、様々な種類のマシンビジョンタスクが3D点群を解釈できるようにする。さらに、結果として得られるヒストグラムは、従来の技術に比べて少量のデータを用いて表現でき、それゆえヒストグラムを保存するためのメモリ又はディスクスペースの使用は最小限で済む。
ヒストグラムベースの技術は、エッジ特徴、点メッシュ及び/又は表面パッチを計算するような計算集約的な側面を必要としない(さらに表面モデルを生成する必要もない)ため、従来の技術の様々な処理非効率性を克服することが可能である。その代わりに、本明細書に記載された技術は、3D点からオブジェクトの統計的シグネチャを決定することを提供する。例えば、1Dヒストグラムは3D点の位置に基づいて生成することができ、及び/又は2Dヒストグラムは点の法線ベクトルに基づき生成することができる。説明するための例として、オブジェクト(例えば異なるサイズの段ボール箱、郵送用封筒、ポリ袋、及び/又はこれに類するもの)が通過するコンベアベルトの上に3Dセンサを取り付けた製造アプリケーションを考えよう。各カテゴリーのオブジェクトは、コンベアベルトの上の高さ、表面の法線方向など、異なる特性を持っている。このような特性は、1D距離ベースのヒストグラム及び/又は2D方向ベースのヒストグラムによって表すことができ、オブジェクトがコンベヤベルトを移動する際にリアルタイムで検出し分類することができる。例えば、通過するオブジェクトの距離ヒストグラムを考えると、コンベヤベルトの上のオブジェクトの高さは、統計的尺度、例えば平均、特定のパーセンタイル、モードなどを用いて迅速に推定することができる。追加的又は代替的に、ヒストグラムから導出された尺度を使用することによって、本明細書に記載された技術はノイズを低減し、測定結果のロバスト性を高め、及び/又はこれに類することを可能にする。
以下の説明では、開示された主題を完全に理解するために、開示された主題のシステム及び方法、並びにそのようなシステム及び方法が動作し得る環境などに関して、多くの具体的な詳細が記述される。加えて、以下に提供される例は例示的なものであり、開示された主題の範囲内にある他のシステム及び方法が存在することが想定されていることが理解されよう。
図1は、幾つかの実施形態による例示的なマシンビジョンシステム100を示す。例示的なマシンビジョンシステム100は、カメラ102(又は他の画像取得装置)及びコンピュータ104を含む。図1には1台のカメラ102のみが示されているが、マシンビジョンシステムでは複数のカメラを使用できることが理解されるべきである(例えば点群が複数のカメラのものからマージされる場合)。コンピュータ104は、1台以上のプロセッサと、コンピュータディスプレイ及び任意に1台以上の入力装置(例えばキーボード、マウス、トラックボールなど)の形態のヒューマンマシンインターフェースを含む。カメラ102は、他の構成要素と並んでレンズ106とカメラセンサ素子(図示せず)を含む。レンズ106は視野108を含んでおり、レンズ106は視野108からの光をセンサ素子に集光する。センサ素子は、カメラ視野108のデジタル画像を生成し、その画像をコンピュータ104の一部を形成するプロセッサに提供する。図1の例に示すように、オブジェクト112はコンベヤ110に沿ってカメラ102の視野108の中に移動する。カメラ102は、本明細書でさらに論じるように、処理のためにオブジェクト112が視野108内にある間に、オブジェクト112の1つ以上のデジタル画像を生成することができる。運転中、コンベヤは複数の対象物を含むことができる。これらのオブジェクトは、検査プロセスの間などに、カメラ102の視野108内を順に通過することができる。このようにしてカメラ102は、観察された各オブジェクト112の少なくとも1つの画像を取得することができる。
幾つかの実施形態では、カメラ102は3次元(3D)撮像装置である。一例として、カメラ102は、本願の譲受人であるコグネックス社から入手可能なレーザープロファイラ3D変位センサのDSラインなど、シーンをラインごとにスキャンする3Dセンサであることができる。幾つかの実施形態によれば、3D撮像装置は、(x、y、z)点のセットを生成することができる(例えばz軸は3D撮像装置からの距離など、第3の次元を加算する)。3D撮像装置は、シェイプ・フロム・シェーディング、ステレオ撮像、飛行時間技術、プロジェクタベースの技術、及び/又は他の3D生成技術など、様々な3D画像生成技術を使用することができる。幾つかの実施形態では、マシンビジョンシステム100は、2次元(2D)CCD又はCMOS撮像アレイなどの2次元撮像装置を含む。幾つかの実施形態では、2次元撮像装置は、輝度値の2次元アレイを生成する。
幾つかの実施形態では、マシンビジョンシステムは、カメラ102からの3Dデータを処理する。カメラ102から受信した3Dデータは、例えば点群及び/又はレンジ画像を含むことができる。点群は、固体オブジェクトの表面上又はその近傍にある3D点のグループを含むことができる。例えば点は、直線座標系又は他の座標系におけるそれらの座標の観点から提示され得る。幾つかの実施形態では、どの点がオブジェクトの表面上で隣接しているかを示すメッシュ又はグリッド構造などの他の情報も、任意で提示されてよい。幾つかの実施形態では、センサ測定から得られたか又は以前に計算された曲率、表面法線、エッジ、及び/又は色及びアルベド情報を含む表面特徴に関する情報が、入力点群に含まれてもよい。幾つかの実施形態では、2D及び/又は3Dデータは、2D及び/又は3Dセンサから、CAD又は他のソリッドモデルから、及び/又はレンジ画像、2D画像、及び/又は他の画像を前処理することによって得ることができる。
幾つかの実施形態によれば、3D点のグループは、ユーザが指定した関心領域内の3D点群の一部であることができ、及び/又は3D点群内の関心領域を指定するデータを含むことができる。例えば3D点群は非常に多くの点を含むことができるので、1つ以上の関心領域を指定及び/又は定義することが望ましい場合がある(例えば本明細書に記載された技術が適用される空間を制限するため)。
コンピュータ104の例は、単一のサーバコンピュータ、一連のサーバコンピュータ、単一のパーソナルコンピュータ、一連のパーソナルコンピュータ、ミニコンピュータ、メインフレームコンピュータ、及び/又はコンピューティング点群を含むことができるが、これらに限定されない。コンピュータ104の様々な構成要素は、1つ以上のオペレーティングシステムを実行することができ、その例としてMicrosoft Windows Server™、Novell Netware™、Redhat Linux™、Unix、及び/又はカスタムオペレーティングシステムが挙げられるが、これらに限定されない。コンピュータ104の1台以上のプロセッサは、1台以上のプロセッサに接続されたメモリに保存された動作を処理するように構成することができる。メモリは、ハードディスクドライブ、フラッシュドライブ、テープドライブ、光学ドライブ、RAIDアレイ、ランダムアクセスメモリ(RAM)、及びリードオンリーメモリ(ROM)を含むことができるが、これらに限定されない。
本明細書に記載された技術は、3D点群のヒストグラムを生成することに関する。ヒストグラムは、3D点の位置、(例えば3D点群によって捕捉されたオブジェクトの表面上の)点の法線方向、及び/又はこれに類するものを、3D点群の幾何学的側面に基づいて生成することができる。幾つかの実施形態は、1次元(1D)ヒストグラムに関係する。1Dヒストグラムは、点群に対して空間的に方向付けられた基準面、線及び/又は他の点などの基準に関して生成できる。例えば点対面距離ヒストグラムは、3D点群内の各点(又はボクセルなど他の表現)から、選択又は推定された面までの距離に基づいて生成される1Dヒストグラムである。例えば点対線距離ヒストグラムは、3D点群内の各点(又はボクセルなどの他の表現)から選択又は推定された線までの距離に基づいて生成される1Dヒストグラムである。別の例として、点対重心距離ヒストグラムは、3D点群内の各点(又はボクセルなどの他の表現)から3D点群の重心までの距離に基づいて生成される1Dヒストグラムである。幾つかの実施形態は、2次元(2D)ヒストグラムに関するものである。例えば法線方向投影ヒストグラムは、3D点群の単位法線方向に関する2Dヒストグラムである。
ヒストグラムは、様々な3D点群ベースのアプリケーションのためのシーンの有用な特徴記述子として使用することができる。記述子と解釈を含む本技術は、解像度、ノイズ、及び姿勢などの変化に対して幾何学的不変性を維持することができる。次元とデータ点の減少を考えると、本技術は点群の比較に使用される従来の技術よりも低い計算コストを提供することができる。ヒストグラムは、分類、測定、オブジェクト検出、オブジェクト登録、深層学習、及び/又はこれに類するものを含む、様々な画像処理技術及びコンピュータビジョンツールのための入力として(例えば直接)使用することができる。
本技術の幾つかの実施形態は、1Dヒストグラムの生成に関するものである。図2は、幾つかの実施形態による、3次元(3D)点群のヒストグラムを生成するための例示的なコンピュータ化された方法200を示すフローチャートである。ステップ202で、マシンビジョンシステム(例えば図1のマシンビジョンシステム100)は、複数の3D点を含む3D点群を示すデータを受け取る。ステップ204で、マシンビジョンシステムは、3D点群に対して何らかの空間的関係において配置された(例えば点群に基づいて選択された、点群に基づいて計算された、及び/又は同様の)基準(例えば基準面、線、質量中心、及び/又はこれに類するもの)を決定する。ステップ206で、マシンビジョンシステムは、複数の3D点の各3D点について、基準までの距離を決定して複数の3D点に対する距離のセットを生成する。ステップ208で、マシンビジョンシステムは、この距離のセットに基づいてヒストグラムを生成する。
ステップ202を参照すると、幾つかの実施形態によれば、ヒストグラムを生成する前に3D点群を処理することができる。例えば、本技術は3D点群をボクセル化することを含むことができる。マシンビジョンシステムは、3D点群の少なくとも一部(例えばヒストグラムを計算しようとする関心部分)について、3Dボクセルグリッドを生成することができ、3Dボクセルグリッドの各ボクセルは同じ次元(例えば同じ長さと幅と高さ)を有している。マシンビジョンシステムは、3Dボクセルグリッドの各ボクセルについて、複数の3Dデータ点の1つ以上の位置がボクセル内に入るかどうかを決定して、当該ボクセルに対する関連付けられた3D点のセットを生成することができる。幾つかのボクセルは空であり得る(例えば3D点の位置がこれらのボクセル内に入らない)ことを理解すべきである。
幾つかの実施形態によれば、ボクセルは関連付けられた3D点のセットを(例えば平均値、中央値、及び/又はこれに類するものを計算するなど後続の処理のために)保存することができる。幾つかの実施形態によれば、3D点のセットは、ボクセルグリッドに保存されるデータ点の数を減らすために、ボクセルに保存する前に処理することができる。例えばマシンビジョンシステムは、3Dボクセルグリッドの各ボクセルについて、関連付けられた3D点のセットに基づいてボクセルに対する単一の3Dデータ点を決定し、(例えば点の質量中心を決定する、点値を平均化するなどして)単一の3Dデータ点をボクセルに保存することができる。ヒストグラムは、ボクセルデータに基づいて生成することができる。例えば、3D点のセットがボクセルに保存される際に、各ボクセルがゼロ個の3D点を含む(例えば3D点がボクセル内にない場合)か、あるいは1個の3D点を含む(例えば単一の3D点がボクセル内に入るか、又は複数の点存在する場合は複数の点に対して代表的な3Dデータ点が生成される)と仮定する。マシンビジョンシステムは、3Dデータ点を保存する3Dボクセルグリッドの各ボクセルについて、単一の3Dデータ点から基準までの距離を決定して距離のセットを生成することによって、距離のセットを決定することができる。
ステップ204~208を参照すると、幾つかの実施形態によれば、ステップ202で3D点群を表すためにボクセルグリッドが使用される場合、ステップ204の基準はボクセルグリッドに対する空間的関係において決定することができる。ステップ206では、距離をグリッドの各ボクセルの代表的な点から基準までの距離として測定して、ステップ208でヒストグラムを作成するための距離のセットを生成することができる。
ステップ204を参照すると、点群を計算するために様々な基準を使用することができる。幾つかの実施形態によれば、基準は2D基準面などの平面である。基準面は、様々な技法によって決定することができる。例えば、ユーザは2D基準面を入力として規定することができる。別の例として、ユーザは点群の関心領域を指定し、その中に含まれる点を使用して平面を基準面として抽出できる。基準面は、様々な技法を用いて関心領域から抽出することができる。例えば、最小二乗法を用いて関心領域内に含まれる点の一部及び/又は全部に平面を適合させることによって、RANSAC(ランダムサンプルコンセンサス)法を用いて含まれる点にわたってインライア数が最大となる平面を適合させ、及び/又はこれに類することによって、関心領域から基準面を抽出することが可能である。
幾つかの実施形態によれば、基準は、3D点群に基づいて推定された線であることができる。基準線は、本明細書に記載された様々な技法を用いることにより、関心領域に基づいて決定することができる。例えば、基準線は、関心領域内に含まれる点の一部及び/又は全部を有する線に適合させる最小二乗法を用いて決定することができる。別の例として、RANSAC技法を用いて、関心領域内に含まれる点の一部及び/又は全てにわたってインライアの数が最大となる線に適合するように基準線を決定することができる。幾つかの実施形態では、関心領域内の点から抽出された1つ以上の3次元形状(例えば円柱の軸、2つの非平行な平面の交線など)に基づいて基準線を決定することができる。
幾つかの実施形態によれば、基準は、3D点群に基づいて推定された点、例えば3D点群の推定された重心又は質量中心であることができる。マシンビジョンシステムは、3D点群(例えば3D点及び/又はボクセル)を処理して推定された重心を決定し、推定された重心を基準点として使用することができる。重心を計算することは、基準点を計算するために使用できる技法の一例であるが、本明細書に記載された技術と共に他の方策を使用できることが理解されるべきである。特に、ヒストグラムを作成するために使用される基準点は必要に応じて決定することができ、検査されるオブジェクトの質量中心に限定されるべきではない。基準点は、例えば3D形状を決定し、その3D形状から重心を抽出することによって、3D点のサブセットから重心を計算し、及び/又はこれに類することによって作成することができる。
ステップ206を参照すると、基準が平面である場合、マシンビジョンシステムは基準面までの各3D点の距離を決定することによって、各3D点の距離を決定することができる。距離は、例えば各点の基準面までの最短距離、投影に沿った各点の距離、及び/又はこれに類するものを計算することによって決定することができる。このような1次元の点対面ヒストグラムは、基準面までの点の距離の分布を表すことができる。点対面ヒストグラムは、ノイズのある点や外れ値の点からの影響を排除することによって、(例えばノイズのある)3D点から基準面までの距離/高さをロバストに測定するのに有用であり得る。幾つかの実施形態では、基準が線である場合、マシンビジョンシステムは、推定された線までの各3D点の距離(例えば推定線までの最短距離)を決定することによって、各3D点の距離を決定することができる。このような1D点対線ヒストグラムは、オブジェクトの表面点のシグネチャを表すことができる。
ステップ208を参照すると、幾つかの実施形態では、ヒストグラムは、エントリ(例えば1次元のバー、点プロット、及び/又はこれに類するもの)のセットを含む。各エントリは、例えば距離及び/又は距離の範囲に関連付けることができる。幾つかの実施形態によれば、ヒストグラムを計算するとき、ヒストグラムのエントリは、基準までの3D点群の各要素の符号付き又は符号なし距離を表すことができる。ヒストグラムを生成することは、ヒストグラムの各エントリについて、エントリに関連付けられた距離の範囲を満たす及び/又は範囲内にある距離のセットからの距離を加算することを含むことができる。この加算は、例えば距離がその値を離散化/量子化することによってヒストグラムのエントリに属すると見なされるように、ヒストグラムの各エントリについて距離のカウントを決定することを含むことができる。
ステップ206~208を参照すると、幾つかの実施形態では、基準が点(例えば重心)である場合、マシンビジョンシステムは、推定された重心までの各3D点の距離を決定することによって、各3D点の距離を決定することができる。このような1D点対重心ヒストグラムは、オブジェクトの表面点のシグネチャを表すことができる。点対重心ヒストグラムは、点群ベースのオブジェクト識別、分類、及び/又はこれに類するものの効果的な特徴として使用することができる。
図3Aは、幾つかの実施形態による、都市景観オブジェクトの2つの例示的な点対面ヒストグラムを示す。図3Aは、ボックス304内の円柱形オブジェクトの点群302の(ボックス304の底部に配置されている)平面306に対する点対面距離の例示的なヒストグラム300を示す。ヒストグラム300のX軸は、基準面306からの距離を表し、Y軸は特定の距離を有する点の数を表す。図3Aはまた、ボックス354内の3つの平らな表面の点群352の(やはりボックス354の底部に配置されている)平面356に対する点対面距離の例示的なヒストグラム350を示す。ヒストグラム300と同様に、ヒストグラム350のX軸は基準面356からの距離を表し、Y軸は特定の距離を有する点の数を表す。本明細書で説明するように、これらの例におけるヒストグラムの距離は、各点の基準面までの最短距離を決定することによって計算された。
幾つかの実施形態では、本明細書に記載されているように、ヒストグラム300とヒストグラム350は(例えば3D画像によって捕捉されたオブジェクトが類似しているか(いないか)を決定するために)比較できる。2つのヒストグラム300及び350の間の類似性スコアは0.296643である。ここで、計算されたスコア値は0から1.0の範囲内にあることができ、1.0は2つの比較したヒストグラムが同一であることを示し、0の値は類似性が最も低いことを示す。したがってこの例では、0.296643のスコアは領域304、354内のオブジェクトは類似していないことを示している。この例の類似性スコアは、ヒストグラム交差尺度を使用して、2つのヒストグラム間のビンのすべてにわたる正規化された頻度の最小値の合計を比較することによって計算された。
図3Bは、幾つかの実施形態による、都市景観オブジェクトの2つの例示的な点対線ヒストグラムを示す。図3Bは、ボックス374内の円柱形オブジェクトの点群372の線376(円柱の軸)に対する点対線距離の例示的なヒストグラム370を示す。図3Bはまた、ボックス384内の3つの平面の点群382に対する線386までの点間距離の例示的なヒストグラム380を示す。ヒストグラム370及び380のX軸は、それぞれの基準線376及び386からの距離を表し、Y軸は、特定の最短距離を有する点の数を表している。2つのヒストグラム300及び380の間の類似性スコアは0.191645である。ここで、計算されたスコア値は0から1.0の範囲内にあることができ、1.0は2つの比較したヒストグラムが同一であることを示し、0の値は類似性が最も低いことを示す。図3Aと同様に、スコアは、正規化された頻度の最小値の合計を使用して計算された。したがって、この例では、0.191645のスコアは、領域374、384内のオブジェクトが類似していないことを示している。
図4は、幾つかの実施形態による、2つの例示的な点対重心距離ヒストグラムを示す。図4は、ボックス404内の円錐台面の点群402に対する点対重心距離の例示的なヒストグラム400を示す。図4はまた、ボックス454内の球面452の点群に対する点対重心距離の例示的なヒストグラム450を示す。円錐台面及び球面の重心はオブジェクト内にあるため、図4には示されていない。ヒストグラム400及び450のX軸は、関連付けられた重心からの距離を表し、Y軸は、特定の距離を有する点の数を表す。2つのヒストグラム400及び450の類似性スコアは0.835731であり、図3Aのヒストグラム300及び350よりも高い類似性を示している。
幾つかの実施形態によれば、本技術は、2D情報(例えばx、y及びz方向の複数の点に関連付けられた情報など)を代表する2Dヒストグラムを生成することができる。例えば2D法線方向ヒストグラムは、3D空間内の点の単位法線方向の分布を表すように生成でさる。図5は、幾つかの実施形態による、3D点群のヒストグラムを生成するための例示的なコンピュータ化された方法500の図である。ステップ502で、マシンビジョンシステムは、複数の3D点を有する3D点群を受信する。ステップ504で、マシンビジョンシステムは、向きのセットを生成する。マシンビジョンシステムは、3D点群内の各3D点について、3D点の向きを決定する。
幾つかの実施形態では、向きは、第1成分に対する第1の値(例えば傾斜角)と第2成分に対する第2の値(例えば方位角)を含む。幾つかの実施形態によれば、方向又は向きについて、傾斜角は0~180度の範囲における正のZ軸からの向きの角度であることができる。方位角は、0度から360度の範囲における正のX軸からのX-Y平面における向きの投影の角度であることができる。方位角は、360度の周期を有する周期的なものであることができる。
ステップ506で、マシンビジョンシステムは向きのセットに基づいて、ヒストグラムを生成する。ヒストグラムは、ステップ504で決定された向き及び/又は値をビニングすることができる。幾つかの実施形態によれば、ヒストグラムは、2次元的に方向付けられたビンのセットを含む。例えば各ビンは、第1成分の値(例えばビンに対する傾斜指数)の第1の範囲と、第2成分の値(例えばビンに対する方位指数)の第2の範囲に関連付けることができる。マシンビジョンシステムは、各ビンについて、各3D点をビンに量子化するためにビンに関連付けられた値の第1の範囲と第2の範囲内にある第1の値と第2の値をそれぞれ有する向きを加算することによって、ヒストグラムを生成する。本明細書で説明するように、この加算は、例えば点がその値を離散化/量子化することによってヒストグラムのエントリに属すると見なされるように、例えば特定の成分範囲内の値を有する点のカウントを決定してヒストグラムの各エントリを生成することを含むことができる。
幾つかの実施形態によれば、ステップ504~506を参照すると、各点における単位法線は、傾斜角と方位角の順序対であることができる。法線方向ヒストグラムは、2D画像であることができ、2つの次元は傾斜角と方位角である。2Dヒストグラム画像の各行と列は、それぞれ傾斜角と方位角のビンに対応することができる。行と列の数はそれぞれ傾斜角と方位角の範囲、及びビンのサイズによって決定することができる。与えられたピクセル又はビンにおける各値は、その傾斜及び方位がビンに入る法線方向のカウント(例えば頻度)を伝える。
幾つかの実施形態によれば、2Dヒストグラムは関心領域内の各3D点に対して一連のステップを実行することによって計算することができる。各3D点について、マシンビジョンシステムはその傾斜角と方位角を計算し、それぞれをビンサイズによって量子化して傾斜角ビン(例えば傾斜指数)と方位角ビン(例えば方位指数)を決定し、傾斜及び方位の上記指数で指数化されたピクセル/ビン値を1だけ増加させることができる。
幾つかの実施形態によれば、重心画像のような任意の二次画像を決定することができる。重心画像は、例えば方向ヒストグラムと同数のピクセル又はビンを有する3タプル画像であることができる。二次画像の指数(i、j)を有する各ビン内の値は、法線方向が方向ヒストグラムのビン(i、j)内にある点群の点の位置の3D重心であることができる。
本明細書で説明されるように、幾つかの実施形態によれば、3D点群はヒストグラムを生成する前に、3D点群をボクセル化するなどの処理をすることができる。マシンビジョンシステムは、3D点群の少なくとも一部について3Dボクセルグリッドを生成することができる。マシンビジョンシステムは、3Dボクセルグリッドの各ボクセルについて、複数の3Dデータ点の1つ以上の位置がボクセル内に入るかどうかを決定して、ボクセルに対する関連付けられた3D点のセットを生成することができる。
幾つかの実施形態によれば、ボクセルは、その関連付けられた3D点のセット、代表的な点又は点のセット、法線又はその他のベクトル、及び/又はこれに類するものを保存することができる。幾つかの実施形態によれば、マシンビジョンシステムは、ボクセルの代表的な法線又はベクトルを決定することができる。マシンビジョンシステムは、例えば3Dボクセルグリッドの各ボクセルについて、ボクセルの代表的な3Dデータ点(例えば平均点)の表面法線及び/又は向きを決定して向きのセットを生成することができる。別の例として、マシンビジョンシステムは関連付けられた3D点位置のセット、近隣の3Dデータ点位置及び/又は3Dセンサからの情報を使用して、表面法線ベクトルを決定することができる。幾つかの実施形態では、ボクセルがいずれの3D点とも関連付けられていない場合、そのボクセルはゼロに設定できる。幾つかの実施形態において、本技術は、関連付けられた3Dデータ点のセットに基づいて、各ボクセルの代表的な法線又はベクトルを決定することを含むことができる。例えば代表的なベクトルは、成分ごとの平均を計算することによって、蓄積された行列(例えば各ベクトルのそれ自身との外積を蓄積することによって形成される、vv)から固有ベクトルを抽出し、及び/又はこれに類することによって決定することができる。別の例として、本技術は、関連付けられた3D点のそれぞれについてベクトルを決定し、ベクトルのセットを保存することを含むことができる。
コンピュータ化された方法500を参照すると、幾つかの実施形態によれば、ステップ502でボクセルグリッドが3D点群を表すために使用されると、ステップ504での向きは、各ボクセルの代表的な3Dデータ点の表面法線及び/又は向きを使用して決定されて、ステップ506でヒストグラムを生成するための向きのセットを生成する。
2Dヒストグラムは、グローバルな側面及び/又はローカルな側面を含む、3D点群の様々な側面を表すように生成することができる。幾つかの実施形態によれば、ヒストグラムは、グローバルな特徴記述子であることができる。例えば、向きのセットは、3D点群に関連付けられた固定座標系に基づいて決定することができる。例えば、すべてが何らかの固定座標系(例えばクライアント座標系)で表される多数のシーンの点群を考えよう。各点群から計算された方向ヒストグラムは、全体として所望のサブセット及び/又は完全な3D点群に関する情報を伝えるので、(例えば表面点法線の向きの分布の観点から)シーンのグローバル記述子とみなすことができる。
幾つかの実施形態によれば、ヒストグラムは、ローカル特徴記述子であることができる。例えば、向きのセットは、3D点群の3D点に関連付けられたローカル座標系に基づいて決定することができる。例えば、ヒストグラムは、3D点群の1つ以上の点で新たに計算することができる。マシンビジョンシステムは、点群の3D点が与えられると、その3D点に基づいてローカル座標系を確定することができ、ローカル座標系の原点を上記の点に置く。3D点群の方向の傾斜角と方位角は、ローカル座標系で計算することができ、本明細書で説明するようにビニングされるとローカル記述子として機能する。
点群の与えられた点におけるローカル3D座標系を得るために、様々な技法を使用することができる。幾つかの例によれば、マシンビジョンシステムは、その原点を上記の点に置き、そのZ軸をこの点の法線方向と一致させた(例えばX軸とY軸は任意である)初期ローカル3D座標フレームを選択することができる。マシンビジョンシステムは、最初にそのK個の最近傍点を見つけてそのX軸を固定し、それらの法線を使用して初期ローカル3D空間における方向ヒストグラムを計算することによって、最終ローカル座標フレームを確定することができる。マシンビジョンシステムは、ヒストグラムの最初の区別可能な(例えば方位角の増加する方向に沿った)最高頻度ピークの2Dビン位置を特定し、その方位角の方向をシグネチャ座標フレームのX軸として使用することができる。各点の最終ローカル座標系は、(例えば点群のサンプリングやオブジェクトの姿勢の変化に対して不変であるように)その点の近隣の幾何学的形状に依存することができる。
図6は、幾つかの実施形態による、円錐台の点群データに対する法線の2つの例示的なヒストグラム600を示す。図6は、第1の姿勢での円錐台オブジェクトの点群602に対する法線の例示的なヒストグラム600を示す。図6はまた、第2の姿勢における円錐台オブジェクトの点群652に対する法線の例示的なヒストグラム650も示している。両ヒストグラム600、650は、5つの有意なピーク(それぞれ600A~600E、650A~650E)を示し、各々が円錐台オブジェクトの平面パッチに対応している。画像600、650の水平方向は、方位角0~360度の範囲をカバーする方位角ビンを表し、それらの垂直方向は、傾斜角0~90度の範囲をカバーする傾斜角ビンを表している。画像600では5つのピークは600A:(91、42)、600B:(183、44)、600C:(275、2)、600D:(271、47)、600E:(358、45)であり、画像650では5つのピークは650A:(17、60)、650B:(99、25)、650C:(240、38)、650D:(309、67)、650E:(331、24)であり、ピクセル位置の第1座標と第2座標はそれぞれ方位角と傾斜角を度単位で示す。
図7は、幾つかの実施形態による、円柱状オブジェクトの点群データに対する2つの例示的な法線方向ヒストグラムを示す。図7は、第1の姿勢における円柱状オブジェクトの点群702に対する法線の例示的なヒストグラム700を示している。図7はまた、第2の(異なる)姿勢における円柱状オブジェクトの点群752に対する法線の例示的なヒストグラム750を示す。画像700及び750の水平方向は、0~360度の方位角範囲をカバーする方位角ビンを表し、それらの垂直方向は、0~90度の傾斜角範囲をカバーする傾斜角ビンを表す。
両ヒストグラム700、750は、顕著な隆線を示している。画像702、752で見ることができるように、この部品は共通軸を共有する同心円状の円柱面でできている。この部品の各表面点について、その法線は共通軸に(概念的に)垂直であり、共通軸から離れる方向を指している。したがって、表面点の法線は多かれ少なかれ、共通軸に垂直な同じ3次元平面上に位置する。例えば、共通軸に垂直な単位半径の3次元円について考えると、すべての単位法線の始点は単位円の中心にあり、終点は円上に位置して円の特定の円弧形を占めている。
画像702では、部品はその軸が点群の3D座標空間のX方向にほぼ一致するように位置決めされており、表面点の法線をXY領域に投影すると、それらの投影はXY領域内の(例えば方位角差が180度である2つの反対方向に対応する)1本の線上に位置するであろう。これは、画像700に示される2つの(ほぼ)垂直な隆線700A、700Bによって反映され、それらの方位距離はX次元全体(360度)の約半分である。別の例として、表面点の法線を座標空間のZ軸に投影すると、その投影は点群の撮影に使用された3Dセンサの視野に応じて、0から最大傾斜角(90度未満)までの傾斜値を取るであろう。
画像752では、部品が画像700から回転しており、各表面点の法線は、部品の共通軸がX軸と平行でないため、X方向に対して垂直ではなくなっている。表面点の法線が3D座標空間のXY領域とZ軸にそれぞれ投影される場合、それは概念的にはそれらが表現する3D円(カバーされた円弧形)の点をXY領域とZ軸に投影するのと同様であり、画像750では連結した隆線750A及び750Bを示している。隆線750Aは折れているように見えるが、これは方位方向が周期360度で周期的であるため方位角360度で分割された反転U字型となっているからである。
図8は、幾つかの実施形態による、半球状オブジェクトの2つの例示的な法線方向ヒストグラムを示す。図8は、第1の姿勢における半球の点群802に対する法線の例示的なヒストグラム800を示している。図8はまた、第2の姿勢における半球の点群852に対する法線の例示的なヒストグラム850も示している。両ヒストグラム800、850は、法線方向の一様な分布を示す。ヒストグラム800、850の水平方向は、0~360度の方位角範囲をカバーする方位角ビンを表し、それらの垂直方向は、0~90度の傾斜角範囲をカバーする傾斜ビンを表す。
両画像800及び850には、球面点の法線が投影されない傾斜角範囲に対応する「空白」部分800A、850Aが存在する。この「空白」部分は、傾斜方向の高端近傍で発生する。例として、球体(例えばボール)が、ボールを上から見下ろす3Dセンサによって撮像されるセットアップを考えよう。3Dセンサは通常、センサに近い球体表面の頂部のある部分しか捕捉することができず、それがどの程度観察できるかは、センサの視野(FOV)と球体に対する距離/姿勢に依存するのが一般的である。この例では、2Dヒストグラム画像はその傾斜次元(90度の範囲)で固定されているので、センサのFOVの外側にありながら上半球にある表面部分はセンサによって捕捉できない。したがって、この例では、センサの最大視野角(透視モデルのため90度未満)より大きい傾斜角を持つ点は、球体の点群には存在しない。
図9は、幾つかの実施形態による、都市景観オブジェクトの2つの例示的な法線方向ヒストグラムを示す。図9は、第1の姿勢における都市景観オブジェクトの点群902に対する法線の例示的なヒストグラム900を示している。図9はまた、第2の(異なる)姿勢における都市景観オブジェクトの点群952に対する法線の例示的なヒストグラム950も示している。ヒストグラム900、950の水平方向は、0~360度の方位角範囲をカバーする方位角ビンを表し、それらの垂直方向は、0~90度の傾斜角範囲をカバーする傾斜ビンを表す。
両ヒストグラム900、950は、法線方向の類似したパターンを示しているが、両者の間にシフトと回転がある。特に、ヒストグラム900のU字型パターン900Aは、ヒストグラム950では、左下になるU字型パターン950Aとして現れる。図9では、同じ部品を用いて、3Dセンサに対する姿勢を変えて点群を撮影している。この部品は、複数のサブパーツ、即ち屋根面902A(三角屋根を形成する数対の平面によって特徴付けられる)、同心円状の柱面902B(図7に示したものと同じ)、2列のボックス頂部902C、と底面902Dで構成されている。画像900及び950に示されるヒストグラムは、これらのサブパーツの表面の法線情報の組み合わせを反映したものである。図7に示されているように、同心円状の円柱表面のヒストグラムは「U」字型の隆線であり、その傾斜角と方位角はいずれも他のサブパーツのヒストグラムよりも広がっている。2列のボックス頂部と底面について、それらの法線方向はすべて類似しており、2次元ヒストグラム画像に単一のピークを寄与している。屋根のサブパーツは数対の平面パッチで構成されており、各パッチは面積が小さく、その結果としてそのヒストグラムは限られた数のピークによって特徴付けられる。これらのサブパーツのすべてのヒストグラムを組み合わせることによって、全体のヒストグラムは、画像900及び950に2つの異なる姿勢で示されており、U字型900A、950Aは同心円状の柱面に対応し、最高ピーク900B、950B(最も暗いピクセルによって示される最大頻度を有する)は、2列のボックス頂部902Cと底面902Dの法線に対応している。
幾つかの実施形態によれば、1D及び2Dヒストグラムを解析して、3D点群を解釈することができる。本技術は、2つ(又はそれ以上)のヒストグラムを比較して、ヒストグラム間/中の類似性を示すスコアを計算すことを含むことができる。幾つかの実施形態によれば、1Dヒストグラムを使用して、2セットの点間の類似性を測定することができる。本明細書で説明するように、各1D距離ベースヒストグラムは、3D点群データセットを特徴付けるための効果的な指紋を提供することができる。2つの1Dヒストグラム間の類似性を計算して、それらによって表された点がどれだけ類似して見えるかを評価するために、種々のスコアリング法(例えばヒストグラム交差、バタチャリヤ尺度、及び正規化相互相関など)を使用することができる。
幾つかの実施形態では、1つ以上のスコアリングメトリクスを用いて1Dヒストグラムを比較することができる。例えば2つの1Dヒストグラムを比較するために、マシンビジョンシステムは、それぞれ交差、ドット積、バタチャリヤ尺度、及び正規化相互相関に基づく4つのスコアリングメトリクスのうちの1つ以上を使用することができる。
幾つかの実施形態では、マシンビジョンシステムは、各ビンについて、そのビン(各ヒストグラムからの1つ)の相対頻度の2つの値のうち小さい方の値を決定することによって交差ベースのスコアを決定する。マシンビジョンシステムは、相対頻度のこれらの小さい方の値の、すべてのビンにわたる合計としてスコアを計算することができる。
幾つかの実施形態では、ドット積及びバタチャリヤ尺度に基づくスコアはいずれも、各ビンについて、当該ビンに対する相対頻度の2つの値の積を計算することを含む。マシンビジョンシステムは、これらのビンごとの積の、すべてのビンにわたる合計を計算することによって、ドット積スコアを計算することができる。マシンビジョンシステムは、これらのビンごとの積の平方根のすべてのビンにわたる合計を計算することによって、バタチャリヤスコアを計算することができる。
幾つかの実施形態では、マシンビジョンシステムは、(NCC+1)/2を計算することにより、正規化相互相関(NCC)に基づくスコアを計算することができる。マシンビジョンシステムは、上述のドット積スコアを2つの因子(ヒストグラムごとに1つ)で割ることによってNCCを計算することができる。これらの因子は、各ヒストグラムについて、相対頻度分布の二乗平均平方根の値であることができる。
幾つかの実施形態では、各1Dヒストグラムは最初に正規化されて、合計が1になる相対頻度分布を生成できる。次に、類似性スコアは、2つの相対頻度分布に基づいて計算できる。マシンビジョンシステムがどの尺度を使用するかに関係なく、結果のスコアは0から1の範囲内にあることができ、スコアが大きいほど、2つのヒストグラムはより類似している。
幾つかの実施形態では、2つの2Dヒストグラムを比較するために、各ヒストグラムについて高頻度のセットのビンの位置を特定することができる。これらのビンは、頻度ピークを使用して、ヒストグラムの優勢な3D方向を表すことができる。各頻度ピークのビンにおいて、そのX成分及びY成分はそれぞれピークが発生する方位ビンと傾斜ビンの位置を示し、そのZ成分はピークの頻度を示す。幾つかの実施形態では、最初にノイズ除去技術をヒストグラムに適用して、所定の有意性閾値より小さい頻度を有するビンをフィルタリングすることができる。
幾つかの実施形態では、マシンビジョンシステムは、隣接する非ゼロ頻度ビンのコンパクトなクラスタによって特徴付けられるフィルタリングされたヒストグラム内に2Dブロブ(例えば連結成分)を見つけることによって、頻度ピークを識別することができる。ピークの位置(X、Y)は、その構成ビンの重心(例えば方位ビンと傾斜ビンの位置をそれらの頻度で重み付けした平均)であることができ、ピークの頻度値(Z)は、その構成ビンの頻度値の合計である。幾つかの実施形態では、ヒストグラムに有意な高頻度ビンがない場合、すべての方向の平均を優勢な方向として指定することができる。
幾つかの実施形態では、マシンビジョンシステムは、2セットのピーク位置によって伝えられる3D方向の差を最小化するために、優勢な方向を最もよく整列させる回転を求めることができる。マシンビジョンシステムは、この最良の回転に対応する剛体変換を得ることができる。
幾つかの実施形態では、回転の良好度(説明のために回転スコアと呼ぶ)が、対応するピークとみなされる頻度ピーク間の距離に基づいて計算される。幾つかの実施形態において、マシンビジョンシステムは、最初に対応する頻度ピークの方向の単位ベクトルの先端間のユークリッド距離の平均を計算する。回転スコアはこの平均化された距離から1を引いたものとして計算できる。
計算できるスコアの他の例は、頻度-一致スコアである。頻度値が非ゼロである第1ヒストグラムの各ビンについて、マシンビジョンシステムは、代表的方向(例えばビンの中心を取る)を上記の変換によって回転させてマッピングされた方向を得ることができる。マッピングされた方向は、第2ヒストグラムのビンの1つに対応する方向のセットに該当する。第1ヒストグラムの複数のビンが第2ヒストグラムのビンにマッピングされる場合、それらの頻度を加算して修正された頻度を得る。このようにして、第1ヒストグラムは第2ヒストグラムの空間にマッピングされる。各ビンについて、当該ビンに関係する2つの頻度、即ち第2ヒストグラムの頻度と第1ヒストグラムのマッピングされた頻度)のオーバーラップの度合いが計算される。このオーバーラップ度は、これら2つの頻度のうち小さい方の頻度と大きい方の頻度の比である。次に、マシンビジョンシステムは、非ゼロ頻度の内容を持つすべてのビンにわたって、これらのビンごとのオーバーラップ度の平均を計算する。最後に、マシンビジョンシステムは、平均化されたオーバーラップ度に区分的2次S字型関数を適用して得られる値として頻度マッチスコアを計算する。S字型関数を適用することによって、例えば中間的な値を0か1のどちらかに振り向けることは有用であり得る。
幾つかの実施形態では、2つの2Dヒストグラム間の全体的な類似性スコアは、回転スコアと頻度一致スコアの積として計算できる。1Dヒストグラムのスコアと同様に、スコアは0から1の範囲内にあることができ、スコアが大きいほど、2つのヒストグラムはより類似している。
幾つかの実施形態によれば、2D法線方向ヒストグラムを使用して、2つのオブジェクト表面間の類似性を測定するために使用できる。方向の2Dヒストグラムにおいて、列の距離は、方位角の差(360度の周期に従う)を線形に反映することができるのに対し、行の距離は傾斜角の差を線形に反映することができる。幾つかの実施形態によれば、3D点群の異なる部分及び/又はシーンの異なる視点で計算されたヒストグラムは、ヒストグラムの一部をマッチングさせることによって関連付けることができる。例えば、1つのヒストグラムの1つ以上のピークを別のヒストグラムの1つ以上のピークとマッチングさせることによって異なるヒストグラムを比較して、ピークの第1のセットの少なくとも一部とピークの第2のセットの少なくとも一部との間の対応関係を決定することができる。例えば、同じオブジェクトを2つの異なる姿勢で撮像して取得された2つの点群を考えてみよう。マシンビジョンシステムは、2つの点群について計算された2つのヒストグラムにおけるピークの位置を特定し、これらの頻度のピークの間の対応関係を確定することができる。このような対応関係によりマシンビジョンシステムは、例えばあるビューから次のビューへのオブジェクトの回転を推定することができる。同様に、重心画像のヒストグラムからビュー間の並進も推定することができる。
幾つかの実施形態によれば、1Dヒストグラムは、2Dヒストグラムに基づいて生成することができる。例えば、2D画像のピクセル値の行/列和を取ることによって、2Dヒストグラムから2つの(例えば傾斜角と方位角に関係する)1D方向ヒストグラムを導出することができる。各1D方向ヒストグラムは、オブジェクトの表面を特徴付けるための効果的な特徴を提供することができる。このような1Dヒストグラムは、3Dベースの登録を使用して行うことができるように、表面が固定されている場合は常に有用なシグネチャであり得る。1D距離ベースのヒストグラムと同様に、2つの表面を表す2つの1D方向ヒストグラムの間の類似性を計算するために、種々のスコアリング法を採用することができる.
本明細書で説明するように、本技術を使用して、グローバルな特徴記述子を提供する法線方向ヒストグラムなどのグローバル記述子を作成することができる。グローバルヒストグラムは、オブジェクト識別、分類、登録、及び/又はこれに類する種々のアプリケーションのための既存の画像処理技術によって消費されることができる。幾つかの実施形態によれば、ヒストグラムから最高頻度のピークを抽出できる。そのようなピークは、例えばオブジェクト表面の性質に関する有用な統計的情報を提供することができる。各ピークは、座標空間における優勢な表面法線の向きに対応することができ、その頻度は、表面法線がその向きにある点の数を示すことができる。したがって、各ピークは向きと頻度によって特徴付けることができる。頻度の閾値が与えられれば、マシンビジョンシステムは頻度が閾値を超えるすべてのピークを特定することができる。結果として得られたピークは、ピークの数とそれらが表す向きの関係によってオブジェクトを表現することができる。
本明細書で説明するように、本技術を使用して、ローカル方向ヒストグラムなどのローカル記述子を作成することができる。幾つかの実施形態によれば、ローカル方向ヒストグラムは、主要点を使用して点群を表現することができる。例えば、点群の主要点は、幾つかの非ゼロ行上にピーク(例えば行0上にないピーク)の頻度を有するそのローカル方向ヒストグラムによって特徴付けることができる。点は、そのローカル方向ヒストグラムの任意の非ゼロ行に適格なピークが存在する場合、主要点と見なすことができる。ピークは、その対応する頻度が閾値(例えば所定の閾値)を超える場合に適格であることができる。各主要点は、適格なピークのリストに関連付けることができる。したがって、湾曲面が変化するオブジェクトの点群は、主要点の数が元の点の数よりも通常はるかに少ないので、その主要点の集合に還元することができる。主要点は、異なる向きを持つ表面パッチの境界周囲で発生することができる。非主要点は、方向が一様な表面(例えばヒストグラムの行0上の大きい頻度和で示される)、徐々に変化する法線方向、及び/又はこれに類するものに位置することができる。非主要点と比較して、主要点は点群ベースのマシンビジョンアプリケーションでより重要な役割を果たすことができる。
幾つかの実施形態によれば、ローカル方向ヒストグラムを使用して、主要点の2つのセット間の対応関係を用いてオブジェクトを検索することができる。例えば、オブジェクトが与えられたら、その主要点を典型的な取得姿勢で取得された訓練時点群から抽出して基準モデルを形成することができる。実行時には、各点群取得について主要点を抽出して、主要点のセットからなる実行時モデルを形成することができる。1対の主要点の対応するピークを比較することによって、それらの数学的スコアを計算することができる。基準モデルと実行時モデルの主要点の各対応関係について、対応する主要点の対のマッチングスコアを集約することによって全体スコアを得ることができる。RANSAC及び/又はこれに類する種々の方策を使用して、2組の主要点を対応させることができる。最もスコアの高い対応関係を使用して、結果を決定することができる。
幾つかの実施形態によれば、ローカル方向ヒストグラムを使用して、オブジェクトのモデルを比較することによってオブジェクトを検索することができる。例えば、ある点についてモデルを作成することができ、このモデルは、点、そのシグネチャ座標フレーム、点周囲の関心領域(ROI)、及び/又はローカル座標フレーム内のROI内の点を使用して計算されたローカル方向ヒストグラムを含むことができる。比較は、2つの関与するモデルのヒストグラム(例えば与えられた点について一方は訓練時、他方は実行時)の間で直接実行することができる。効率化のために、訓練時と実行時の両方で、主要点でモデルを作成して検索することができる。
図10は、幾つかの実施形態による、図6~図9と関連して説明した2D方向ヒストグラムを使用して計算された例示的な類似性スコアを示す表1000である。図6~図9からの画像652、752、852及び952を使用して、列及び行の値を決定するために使用される指紋、即ち図6~図9との関連で説明したヒストグラム650、750、850及び950をそれぞれ表す。対角線に沿って示されているように、各ヒストグラムをそれ自身と比較すると、完全なスコアである1が達成される。どのスコアも0.28を超えておらず、どのヒストグラムも類似したオブジェクトのものではないことを示している。この例では、2つの2Dヒストグラムの類似性を計算するために、各ヒストグラムについて、その最高頻度を有するビン(例えばユーザ指定の閾値を超える頻度のピーク)が特定されており、各ビンはそれが表す表面の優勢な3D方向を表している。本明細書で説明するように、最高ピークは、ヒストグラム画像において同じブロブに属すると識別されるビンの重心として提示できる。両方のヒストグラムが十分な頻度のピークを含む場合、本明細書で説明するように、それらの間の最適な回転を見つけるためにそれらの優勢な方向に関係するフィッティングが採用された(その理由は、例えばヒストグラムは異なる姿勢でオブジェクトを捕捉した画像を使用して生成されている可能性があるためである)。次に、類似性スコアが、本明細書に記載するように、回転の推定からの誤差と、回転によって整列される2セットのピークビンの間の頻度の類似性とを考慮することによって計算された。いずれの2Dヒストグラムにおいても有意な高頻度ビンが識別されなかった場合、類似性スコアは相関を介して導出されたそれらの傾斜角と方位角のそれぞれの1D方向ヒストグラムを使用して計算された。
本明細書に記載された実施形態は、様々な異なる用途で使用することができ、それらのうちの幾つかは、ビジョン誘導ロボットにおける部品ピッキング、3次元検査、自動車キッティング、成形プラスチック及び鋳造金属の体積検査、並びに組立検査を含むことがあるが、これらに限定されるものではない。このような用途は、例えばロボットグリッパを誘導するため、又はオブジェクトを検査するため)画像内の関心パターンの位置と向きを検索及び特定することを含む場合がある。
本明細書に記載された原理に従って動作する技術は、任意の適当なやり方で実装できる。上記のフローチャートの処理ブロック及び決定ブロックは、これらの様々なプロセスを実行するアルゴリズムに含めることができるステップ及び動作を表している。これらのプロセスから導出されるアルゴリズムは、1台以上の専用プロセッサ又は多目的プロセッサと統合されて、その動作を指示するソフトウェアとして実装されてよく、デジタル信号処理(DSP)回路又は特定用途向け集積回路(ASIC)などの機能的に同等な回路として実装されてよく、或いはその他の適当なやり方で実装されてよい。本明細書に含まれるフローチャートは、何らかの特定の回路又は何らかの特定のプログラミング言語又はプログラミング言語の種類の構文や動作を示していないことを理解すべきである。むしろ、これらのフローチャートは、当業者が本明細書に記載された種類の技術を実行する特定の装置の処理を行うための回路を製造し、又はコンピュータソフトウェアアルゴリズムを実装するために使用できる機能情報を例示するものである。本明細書で別途明記しない限り、各フローチャートに記載されたステップ及び/又は動作の特定のシーケンスは、実装可能なアルゴリズムの例示にすぎず、本明細書に記載された原理の実装及び実施形態において変更できるものであることも理解すべきである。
したがって、幾つかの実施形態では、本明細書に記載された技術は、アプリケーションソフトウェア、システムソフトウェア、ファームウェア、ミドルウェア、埋め込みコード、又は他の任意の適切な種類のコンピュータコードを含むソフトウェアとして実装されるコンピュータ実行可能命令において具現化できる。そのようなコンピュータ実行可能命令は、幾つかの適切なプログラミング言語及び/又はプログラミングツール若しくはスクリプトツールのいずれかを使用して記述されてよく、フレームワーク又は仮想マシンで実行される実行可能なマシン言語コード又は中間コードとしてコンパイルされてもよい。
本明細書に記載された技術がコンピュータ実行可能命令として具現化される場合、これらのコンピュータ実行可能命令は、多くの利便機能を含む任意の適当なやり方で実装されてよく、それぞれがこれらの技術に従って動作するアルゴリズムの実行を完了するための1以上の動作を提供する。しかしながらインスタンス化された「利便機能」はコンピュータシステムの構造的要素であり、1以上のコンピュータと統合されて実行されると1以上のコンピュータに特定の操作上の役割を実行させる。利便機能は、ソフトウェア要素の一部又は全体であることができる。例えば利便機能はプロセスの機能として、又は個別のプロセスとして、又は他の処理の適当な単位として実装されてよい。本明細書に記載された技術が複数の利便機能として実装される場合、各利便機能は独自の方法で実装されてよく、すべて同じ方法で実装する必要はない。さらに、これらの利便機能は必要に応じてパラレル及び/又はシリアルに実行されてよく、及びそれらが実行されているコンピュータの共有メモリを使用して、メッセージ受け渡しプロトコルを用いるか又はその他の適当な方法で互いの間で情報を受け渡すことができる。
一般に、利便機能は、特定のタスクを実行し、又は特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。通常、利便機能の機能性は、それらが動作するシステムにおいて所望する通りに組み合わせたり配分したりできる。幾つかの実装形態では、本明細書の技術を実行する1以上の利便機能が一緒になって完全なソフトウェアパッケージを形成できる。これらの利便機能は、代替実施形態ではソフトウェアプログラムアプリケーションを実装するために、他の無関係な利便機能及び/又はプロセスと相互作用するように適合されてよい。
本明細書では、1以上のタスクを実行するために、幾つかの例示的な利便機能が記載された。しかしながら記載された利便機能及びタスクの分割は、本明細書で説明された例示的な技術を実装できる利便機能の種類を例示するものにすぎず、実施形態は特定の数、分割又は種類の利便機能に限定されないことを理解すべきである。幾つかの実装においては、すべての機能性が単一の利便機能に実装されてよい。また、幾つかの実装では本明細書に記載された利便機能の一部を他の利便機能と一緒に又は別個に(即ち単一のユニット又は別個のユニットとして)実装でき、或いはこれらの利便機能の一部が実装されないことがあることも理解すべきである。
本明細書に記載された技術を実装するコンピュータ実行可能命令は(1以上の利便機能として又は他のやり方で実装される場合)、幾つかの実施形態では1以上のコンピュータ可読媒体にエンコードされて媒体に機能性を提供できる。コンピュータ可読媒体は、ハードディスクドライブなどの磁気媒体、コンパクトディスク(CD)やデジタル多用途ディスク(DVD)などの光学媒体、永続的又は非永続的なソリッドステートメモリ(フラッシュメモリ、磁気RAMなど)、又はその他の適当な記憶媒体を含む。そのようなコンピュータ可読媒体は、任意の適当なやり方で実装されてよい。本明細書で用いる「コンピュータ可読媒体」(「コンピュータ可読記憶媒体」とも呼ばれる)は、有形の記憶媒体を指す。有形の記憶媒体は非一時的であり、少なくとも1つの物理的構造的要素を有する。本明細書で用いる「コンピュータ可読媒体」では、少なくとも1つの物理的構造的要素は、情報が埋め込まれた媒体を作り出すプロセス、その媒体に情報を記録するプロセス、又は情報を含んだ媒体をエンコードするプロセス中に何らかの方法で変更できる少なくとも1つの物理的特性を有する。例えば記録プロセス中に、コンピュータ可読媒体の物理的構造の一部の磁化状態を変更できる。
さらに、上述した幾つかの技術は、これらの技術によって使用するために何らかの方法で情報(例えばデータ及び/又は命令)を保存する動作を含む。これらの技術の幾つかの実装-技術がコンピュータ実行可能命令として実現される実装など-では、情報はコンピュータ可読記憶媒体にエンコードされる。本明細書で特定の構造がこの情報を保存するための有利なフォーマットとして記載されている場合、記憶媒体にエンコードされるときにこれらの構造を使用して情報の物理的編成を与えることができる。次にこれらの有利な構造は、情報と相互作用する1以上のプロセッサの動作に影響を与えることにより、例えばプロセッサによって実行されるコンピュータ操作の効率を上げることによって記憶媒体に機能性を付与できる。
本技術をコンピュータ実行可能命令として具現化できる(すべてではないが)幾つかの実装において、これらの命令は任意の適当なコンピュータシステムで動作する1以上の適当なコンピューティングデバイスで実行でき、又は1以上のコンピューティングデバイス(又は1以上のコンピューティングデバイスの1以上のプロセッサ)はコンピュータ実行可能命令を実行するようにプログラムできる。コンピューティングデバイス又はプロセッサは、命令がコンピューティングデバイス又はプロセッサにアクセス可能なやり方でデータストアなど(例えばオンチップキャッシュ又は命令レジスタ、バスを介してアクセス可能なコンピュータ可読記憶媒体、1以上のネットワークを介してアクセス可能な及びデバイス/プロセッサによってアクセス可能なコンピュータ可読記憶媒体など)に保存された場合に命令を実行するようにプログラムできる。これらのコンピュータ実行可能命令を含む利便機能は、単一の多目的プログラム可能なデジタルコンピューティングデバイス、処理能力を共有して本明細書に記載された技術を共同で実行する2以上の多目的コンピューティングデバイスの協調システム、本明細書に記載された技術を実行するためだけの単一のコンピューティングデバイス又はコンピューティングデバイスの協調システム(共同設置又は地理的に分散)、本明細書に記載された技術を実行するための1以上のフィールドプログラマブルゲートアレイ(FPGA)、或いはその他の任意の適当なシステムと統合されてその動作を指示することができる。
コンピューティングデバイスは、少なくとも1つのプロセッサ、ネットワークアダプタ、及びコンピュータ可読記憶媒体を含むことができる。コンピューティングデバイスは、例えばデスクトップ又はラップトップパーソナルコンピュータ、パーソナルデジタルアシスタント(PDA)、スマートフォン、携帯電話、サーバ、又は他の任意の適当なコンピューティングデバイスであってよい。ネットワークアダプタは、任意の適当なコンピューティングネットワークを介して他の任意の適当なコンピューティングデバイスと有線及び/又は無線で通信するために、コンピューティングデバイスを有効にする任意の適当なハードウェア及び/又はソフトウェアであってよい。コンピューティングネットワークは、ワイヤレスアクセスポイント、スイッチ、ルータ、ゲートウェイ、及び/又はその他のネットワーク機器、並びにインターネットを含め2以上のコンピュータ間でデータを交換するための適当な有線及び/又は無線通信媒体を含んでよい。コンピュータ可読媒体は、処理されるデータ及び/又はプロセッサによって実行される命令を保存するように適合できる。プロセッサは、データの処理や命令の実行を可能にする。データ及び命令は、コンピュータ可読記憶媒体に保存されてよい。
コンピューティングデバイスは、さらに入力デバイス及び出力デバイスを含む、1以上のコンポーネント及び周辺機器を備えることができる。これらのデバイスは、とりわけユーザインターフェースを表示するために使用できる。ユーザインターフェースを提供するために使用できる出力デバイスの例は、出力及びスピーカーの視覚的提示のためのプリンタ又はディスプレイ画面、又は出力の可聴提示のための他の音声生成デバイスを含。ユーザインターフェースに使用できる入力デバイスの例は、キーボード、マウスやタッチパッドなどのポインティングデバイス、及びデジタル化タブレットを含む。別の例として、コンピューティングデバイスは、音声認識又は他の可聴形式で入力情報を受け取ることができる。
本技術が回路及び/又はコンピュータ実行可能命令で実装された実施形態が説明されている。幾つかの実施形態は、少なくとも1つの例が提供されている方法の形態であり得ることを理解すべきである。方法の一部として実行される動作は、任意の適切なやり方で順序付けることができる。したがって例示の実施形態では連続した動作として示されているが、実施形態は幾つかの動作を同時に実行することも含めて、動作が例示されたものとは異なる順序で実行されるように構成されてもよい。
上述した実施形態の様々な態様は、単独で、組み合わせて、又は上述した実施形態で具体的に論じられていない様々な配置で使用することができ、それゆえその応用においては上記の説明に記され又は図面に示された構成要素の詳細及び配置に限定されるものではない。例えばある実施形態に記載された態様は、他の実施形態に記載された態様と任意のやり方で組み合わせることができる。
特許請求の範囲でクレーム要素を変化させるために「第1」、「第2」、「第3」などの序数詞を使用することは、それ自体はあるクレーム要素の別のクレーム要素に対する優先、優位若しくは順位、又は方法の動作が実行される時間的順序を意味するものではなく、単にクレーム要素を区別するために特定の名前を持つクレーム要素を(但し序数詞の使用を除いて)同じ名前を持つ別の要素と区別するためのラベルとして使用されているにすぎない。
また、本明細書で使用される語法及び用語は説明を目的とするものであり、限定するもの見なされるべきではない。本明細書における「含む」、「有する」、「持つ」、「包含する」、「伴う」、及びそれらの変形の使用は、その後に列挙される事項、及びそれらの同等物、並びに追加事項を網羅することを意図している。
本明細書では、「例示的」という言葉は、例、事例又は例示としての役割を果たすことを意味するものとして使用される。それゆえ本明細書に例示として記載される実施形態、実装、プロセス、特徴などは、例示的な例として理解されるべきであり、特に明記しない限り選好される例若しくは有利な例として理解すべきではない。
以上、少なくとも1つの実施形態の幾つかの態様を説明したが、当業者には様々な変更、修正及び改善が容易に想到し得るものであることを理解すべきである。そのような変更、修正及び改善は本開示の一部であることが意図されており、本明細書に記載された原理の精神及び範囲内にあることが意図されている。したがって上記の説明及び図面は例示にすぎない。
本願には種々の側面が記載され、限定される訳ではないが、以下の如き側面も含まれる。
1. 3次元(3D)点群のヒストグラムを生成するためのコンピュータ化された方法であって、
複数の3D点を含む3D点群を示すデータを受信することと、
3D点群に対する空間的関係において基準を決定することと、
複数の3D点の各3D点について、前記基準までの距離を決定して当該複数の3D点に対する距離のセットを生成することと、
前記距離のセットに基づいてエントリのセットを有するヒストグラムを生成することと、を含み、これは前記エントリのセットの各エントリについて、エントリに関連付けられた距離の範囲内にある距離のセットからの距離を挿入することを含む、方法。
2. さらに、3D点群の少なくとも一部について3Dボクセルグリッドを生成することと、ここで、前記3Dボクセルグリッドの各ボクセルは同じ次元のセットを含んでおり、
前記3Dボクセルグリッドの各ボクセルについて、複数の3Dデータ点のうちの1つ以上がボクセル内にあるか否かを決定して、前記当該ボクセルに対する関連付けられた3D点のセットを生成することと、
前記関連付けられた3D点のセットを有する3Dボクセルグリッドの各ボクセルについて、前記関連付けられた3Dデータ点のセットに基づいてボクセルに対する単一の3Dデータ点を決定することと、
前記単一の3Dデータ点をボクセルに保存すること、とを含む、
1.に記載の方法。
3. 前記距離のセットを決定することは、
3Dボクセルグリッドの各ボクセルについて、単一の3Dデータ点から基準までの距離を決定して距離のセットを生成することを含む、2.に記載の方法。
4. 前記基準は、2次元(2D)基準面であり、
各3D点の距離を決定して距離のセットを生成することは、前記基準面までの各3D点の最短距離を決定することを含む、1.~3.に記載の方法。
5. 前記基準は、基準線であり、
各3D点の距離を決定して距離のセットを生成することは、前記基準線までの各3D点の最短距離を決定することを含む、1.~4.に記載の方法。
6. さらに、3D点群の推定された重心を決定することを含み、ここで、前記基準は推定された重心である、1.~5.記載の方法。
7. 各3D点の距離を決定して距離のセットを生成することは、推定された重心までの各3D点の距離を決定することを含む、6.に記載の方法。
8. さらに、ヒストグラムを第2の3D点群について生成された第2ヒストグラムと比較して、3D点群と第2の3D点群との間の類似性の尺度を決定することを含む、1.~7.に記載の方法、
9. 非一時的コンピュータ可読媒体であって、コンピューティングデバイス上で1台以上のプロセッサによって実行されると、1台以上のプロセッサに3次元(3D)点群のヒストグラムを生成させるように動作可能である命令を含んでおり、これは、
複数の3D点を含む3D点群を示すデータを受信することと、
3D点群に対する空間的関係において基準を決定することと、
複数の3D点の各3D点について、前記基準までの距離を決定して当該複数の3D点に対する距離のセットを生成することと、
前記距離のセットに基づいてエントリのセットを有するヒストグラムを生成することと、を含み、これは前記エントリのセットの各エントリについてエントリに関連付けられた距離の範囲内にある距離のセットからの距離を挿入することを含む、非一時的コンピュータ可読媒体。
10. 前記命令はさらに、1台以上のプロセッサに、
3D点群の少なくとも一部について3Dボクセルグリッドを生成することと、ここで、前記3Dボクセルグリッドの各ボクセルは同じ次元のセットを含んでおり、
前記3Dボクセルグリッドの各ボクセルについて、複数の3Dデータ点のうちの1つ以上がボクセル内にあるか否かを決定して、前記当該ボクセルに対する関連付けられた3D点のセットを生成することと、
前記関連付けられた3D点のセットを有する3Dボクセルグリッドの各ボクセルについて、前記関連付けられた3Dデータ点のセットに基づいてボクセルに対する単一の3Dデータ点を決定することと、
前記単一の3Dデータ点をボクセルに保存することと、を実行させるように動作可能である、9.に記載の非一時的コンピュータ可読媒体。
11. 前記距離のセットを決定することは、
3Dボクセルグリッドの各ボクセルについて、単一の3Dデータ点から基準までの距離を決定して、距離のセットを生成することを含む、10.に記載の非一時的コンピュータ可読媒体。
12. 前記基準は、2次元(2D)基準面であり、
各3D点の距離を決定して距離のセットを生成することは、前記基準面までの各3D点の最短距離を決定することを含む、9.~11.に記載の非一時的コンピュータ可読媒体。
13. 前記基準は、基準線であり、
各3D点の距離を決定して距離のセットを生成することは、前記基準線までの各3D点の最短距離を決定することを含む、9.~12.に記載の非一時的コンピュータ可読媒体。
14. 前記命令は、さらに1台以上のプロセッサに、
3D点群の推定された重心を決定させるように動作可能であり、ここで、前記基準は推定された重心であり、これは、推定された重心までの各3D点の距離を決定することを含む、9.~13.に記載の非一時的コンピュータ可読媒体。
15. 命令を保存するメモリと、命令を実行して3次元(3D)点群のヒストグラムを生成するように構成された少なくとも1台のプロセッサとを備えるシステムであって、
複数の3D点を含む3D点群を示すデータを受信することと、
3D点群に対する空間的関係において基準を決定することと、
複数の3D点の各3D点について、前記基準までの距離を決定して当該複数の3D点に対する距離のセットを生成することと、
前記距離のセットに基づいてエントリのセットを有するヒストグラムを生成することと、を含み、これは前記エントリのセットの各エントリについて、エントリに関連付けられた距離の範囲内にある距離のセットからの距離を挿入することを含む、システム。
16. 前記命令はさらに、1台以上のプロセッサに、
3D点群の少なくとも一部について3Dボクセルグリッドを生成することと、ここで、前記3Dボクセルグリッドの各ボクセルは同じ次元のセットを含んでおり、
前記3Dボクセルグリッドの各ボクセルについて、複数の3Dデータ点のうちの1つ以上がボクセル内にあるか否かを決定して、前記当該ボクセルに対する関連付けられた3D点のセットを生成することと、
前記関連付けられた3D点のセットを有する3Dボクセルグリッドの各ボクセルについて、前記関連付けられた3Dデータ点のセットに基づいてボクセルに対する単一の3Dデータ点を決定することと、
前記単一の3Dデータ点をボクセルに保存することと、を実行させるように動作可能である、15.に記載のシステム。
17. 前記距離のセットを決定することは、
3Dボクセルグリッドの各ボクセルについて、単一の3Dデータ点から基準までの距離を決定して、距離のセットを生成することを含む、16.に記載のシステム。
18. 前記基準は、2次元(2D)基準面であり、
各3D点の距離を決定して距離のセットを生成することは、前記基準面までの各3D点の最短距離を決定することを含む、15.~17.に記載のシステム。
19. 前記基準は、基準線であり、
各3D点の距離を決定して距離のセットを生成することは、前記基準線までの各3D点の最短距離を決定することを含む、15.~18.に記載のシステム。
20. 前記命令は、さらに1台以上のプロセッサに、
3D点群の推定された重心を決定させるように動作可能であり、ここで、前記基準は推定された重心であり、これは、推定された重心までの各3D点の距離を決定することを含む、15.~19.に記載のシステム。
21. 3次元(3D)点群のヒストグラムを生成するためのコンピュータ化された方法であって、
複数の3D点を含む3D点群を示すデータを受信することと、
3D点群内の各3D点について、3D点の向きを決定することを含めて向きのセットを生成することと、ここで、前記向きは少なくとも第1成分に対する第1の値と第2成分に対する第2の値を有しており、
向きのセットに基づいて、ビンのセットを有するヒストグラムを生成することと、を含み、ここで、
ビンのセットの各ビンは、第1成分の値の第1の範囲と第2成分の値の第2の範囲に関連付けられており、
ヒストグラムを生成することは、ビンのセットの各ビンについて、それぞれビンに関連付けられた値の第1の範囲と第2の範囲内にある第1の値と第2の値を有する向きのセットからの向きを加算することを含む、コンピュータ化された方法。
22. ビンのセットは2つの次元に配置され、第1の次元は第1成分に関連付けられ、第2の次元は第2成分に関連付けられている、21.に記載の方法。
23. 第1成分は傾斜角を有し、第2成分は方位角を有することを特徴とする、21.~22.に記載の方法。
24. さらに、3D点群の少なくとも一部について3Dボクセルグリッドを生成することと、ここで、前記3Dボクセルグリッドの各ボクセルは同じ次元のセットを含んでおり、
前記3Dボクセルグリッドの各ボクセルについて、複数の3Dデータ点のうちの1つ以上がボクセル内にあるか否かを決定して、前記当該ボクセルに対する関連付けられた3D点のセットを生成することと、
前記関連付けられた3D点のセットを有する3Dボクセルグリッドの各ボクセルについて、前記関連付けられた3Dデータ点のセットに基づいてボクセルに対する単一の3Dデータ点を決定することと、
前記単一の3Dデータ点をボクセルに保存すること、とを含む、21.~23.に記載の方法。
25. 前記向きのセットを生成することは、
3Dボクセルグリッドの各ボクセルについて、単一の3Dデータ点の向きを決定して向きのセットを生成することを含む、24.に記載の方法。
26. 前記向きのセットを生成することは、3D点群内の各3D点について、3D点の向きを3D点群に関連付けられた固定座標系に基づいて決定することを含む、21.~25.に記載の方法。
27. 前記向きのセットを生成することは、3D点群内の各3D点について、3D点の向きを3D点群の3D点に関連付けられたローカル座標系に基づいて決定することを含む、21.~26.に記載の方法。
28. さらに、ヒストグラムを第2の3D点群に関連付けられた第2ヒストグラムと比較して、3D点群と第2の3D点群との間の類似性の尺度を示すデータを決定することをさらに含む、21.~27.に記載の方法。
29. ヒストグラムを第2ヒストグラムと比較することは、
ヒストグラムのピークの第1のセットと第2ヒストグラムのピークの第2のセットを決定することと、
第1のピークのセットの少なくとも一部と第2のピークのセットの少なくとも一部との間の対応関係を決定することと、を含む、28.に記載の方法。
30. 非一時的コンピュータ可読媒体であって、コンピューティングデバイス上で1台以上のプロセッサによって実行されると、1台以上のプロセッサに3次元(3D)点群のヒストグラムを生成させるように動作可能である命令を含んでおり、これは、
複数の3D点を含む3D点群を示すデータを受信することと、
3D点群内の各3D点について、3D点の向きを決定することを含めて向きのセットを生成することと、ここで、前記向きは少なくとも第1成分に対する第1の値と第2成分に対する第2の値を有しており、
前記向きのセットに基づいて、ビンのセットを有するヒストグラムを生成することと、を含み、ここで、
ビンのセットの各ビンは、第1成分の値の第1の範囲と第2成分の値の第2の範囲に関連付けられており、
ヒストグラムを生成することは、ビンのセットの各ビンについて、それぞれビンに関連付けられた値の第1の範囲と第2の範囲内にある第1の値と第2の値を有する向きのセットからの向きを加算することを含む、非一時的コンピュータ読取可能媒体。
31. 前記命令は、さらに1台以上のプロセッサに、
3D点群の少なくとも一部について3Dボクセルグリッドを生成することと、ここで、前記3Dボクセルグリッドの各ボクセルは同じ次元のセットを含んでおり、
前記3Dボクセルグリッドの各ボクセルについて、複数の3Dデータ点のうちの1つ以上がボクセル内にあるか否かを決定して、前記当該ボクセルに対する関連付けられた3D点のセットを生成することと、
前記関連付けられた3D点のセットを有する3Dボクセルグリッドの各ボクセルについて、前記関連付けられた3Dデータ点のセットに基づいてボクセルに対する単一の3Dデータ点を決定することと、
前記単一の3Dデータ点をボクセルに保存することと、を実行させるように動作可能である、30.に記載の非一時的コンピュータ読取可能媒体。
32. 前記向きのセットを生成することは、
3Dボクセルグリッドの各ボクセルについて、単一の3Dデータ点の向きを決定して向きのセットを生成することを含む、31.に記載の非一時的コンピュータ可読媒体。
33. 前記向きのセットを生成することは、3D点群内の各3D点について、3D点の向きを3D点群に関連付けられた固定座標系に基づいて決定することを含む、30.~32.に記載の非一時的コンピュータ読取可能媒体。
34. 前記向きのセットを生成することは、3D点群内の各3D点について、3D点の向きを3D点群の3D点に関連付けられたローカル座標系に基づいて決定することを含む、30.~33.に記載の非一時的コンピュータ可読媒体。
35. 前記命令は、さらに1台以上のプロセッサに、
ヒストグラムを第2の3D点群に関連付けられた第2ヒストグラムと比較して、3D点群と前記第2の3D点群との間の類似性の尺度を示すデータを決定することを実行させ、これは、
ヒストグラムの第1のピークのセットと第2ヒストグラムの第2のピークのセットを決定することと、
第1のピークのセットの少なくとも一部と第2のピークのセットの少なくとも一部との間の対応関係を決定することと、を含む、30.~34.に記載の非一時的コンピュータ可読媒体。
36. 命令を保存するメモリと、命令を実行して3次元(3D)点群のヒストグラムを生成するように構成された少なくとも1台のプロセッサとを備えるシステムであって、
複数の3D点を含む3D点群を示すデータを受信することと
3D点群内の各3D点について、3D点の向きを決定することを含めて向きのセットを生成することと、ここで、前記向きは少なくとも第1成分に対する第1の値と第2成分に対する第2の値を有しており、
前記向きのセットに基づいて、ビンのセットを有するヒストグラムを生成することと、を含み、ここで、
ビンのセットの各ビンは、第1成分の値の第1の範囲と第2成分の値の第2の範囲に関連付けられており、
ヒストグラムを生成することは、ビンのセットの各ビンについて、それぞれビンに関連付けられた値の第1の範囲と第2の範囲内にある第1の値と第2の値を有する向きのセットからの向きを加算することを含む、システム。
37. 前記命令は、さらに少なくとも1台のプロセッサに、
3D点群の少なくとも一部について3Dボクセルグリッドを生成することと、ここで、前記3Dボクセルグリッドの各ボクセルは同じ次元のセットを含んでおり、
前記3Dボクセルグリッドの各ボクセルについて、複数の3Dデータ点のうちの1つ以上が前記ボクセル内にあるか否かを決定して、前記当該ボクセルに対する関連付けられた3D点のセットを生成することと、
前記関連付けられた3D点のセットを有する3Dボクセルグリッドの各ボクセルについて、前記関連付けられた3Dデータ点のセットに基づいてボクセルに対する単一の3Dデータ点を決定することと、
前記単一の3Dデータ点をボクセルに保存すること、とを含む、36.に記載のシステム。
38. 前記向きのセットを生成することは、3D点群内の各3D点について、3D点の向きを3D点群に関連付けられた固定座標系に基づいて決定することを含む、36.~37.に記載のシステム。
39. 前記向きのセットを生成することは、3D点群内の各3D点について、3D点の向きを3D点群の3D点に関連付けられたローカル座標系に基づいて決定することを含む、36.~38.に記載のシステム。
40. 前記命令は、さらに少なくとも1台のプロセッサに、
ヒストグラムを第2の3D点群に関連付けられた第2ヒストグラムと比較して、3D点群と前記第2の3D点群との間の類似性の尺度を示すデータを決定することを実行させ、これは、
ヒストグラムの第1のピークのセットと第2ヒストグラムの第2のピークのセットを決定することと、
第1のピークのセットの少なくとも一部と第2のピークのセットの少なくとも一部との間の対応関係を決定することと、を含む、36.~39.に記載のシステム。

Claims (40)

  1. 3次元(3D)点群のヒストグラムを生成するためのコンピュータ化された方法であって、
    複数の3D点を含む3D点群を示すデータを受信することと、
    3D点群に対する空間的関係において基準を決定することと、
    複数の3D点の各3D点について、前記基準までの距離を決定して当該複数の3D点に対する距離のセットを生成することと、
    前記距離のセットに基づいてエントリのセットを有するヒストグラムを生成することと、を含み、これは前記エントリのセットの各エントリについて、エントリに関連付けられた距離の範囲内にある距離のセットからの距離を挿入することを含む、方法。
  2. さらに、3D点群の少なくとも一部について3Dボクセルグリッドを生成することと、ここで、前記3Dボクセルグリッドの各ボクセルは同じ次元のセットを含んでおり、
    前記3Dボクセルグリッドの各ボクセルについて、複数の3Dデータ点のうちの1つ以上がボクセル内にあるか否かを決定して、前記当該ボクセルに対する関連付けられた3D点のセットを生成することと、
    前記関連付けられた3D点のセットを有する3Dボクセルグリッドの各ボクセルについて、前記関連付けられた3Dデータ点のセットに基づいてボクセルに対する単一の3Dデータ点を決定することと、
    前記単一の3Dデータ点をボクセルに保存すること、とを含む、
    請求項1に記載の方法。
  3. 前記距離のセットを決定することは、
    3Dボクセルグリッドの各ボクセルについて、単一の3Dデータ点から基準までの距離を決定して距離のセットを生成することを含む、請求項2に記載の方法。
  4. 前記基準は、2次元(2D)基準面であり、
    各3D点の距離を決定して距離のセットを生成することは、前記基準面までの各3D点の最短距離を決定することを含む、請求項1に記載の方法。
  5. 前記基準は、基準線であり、
    各3D点の距離を決定して距離のセットを生成することは、前記基準線までの各3D点の最短距離を決定することを含む、請求項1に記載の方法。
  6. さらに、3D点群の推定された重心を決定することを含み、ここで、前記基準は推定された重心である、請求項1記載の方法。
  7. 各3D点の距離を決定して距離のセットを生成することは、推定された重心までの各3D点の距離を決定することを含む、請求項6に記載の方法。
  8. さらに、ヒストグラムを第2の3D点群について生成された第2ヒストグラムと比較して、3D点群と第2の3D点群との間の類似性の尺度を決定することを含む、請求項1に記載の方法、
  9. 非一時的コンピュータ可読媒体であって、コンピューティングデバイス上で1台以上のプロセッサによって実行されると、1台以上のプロセッサに3次元(3D)点群のヒストグラムを生成させるように動作可能である命令を含んでおり、これは、
    複数の3D点を含む3D点群を示すデータを受信することと、
    3D点群に対する空間的関係において基準を決定することと、
    複数の3D点の各3D点について、前記基準までの距離を決定して当該複数の3D点に対する距離のセットを生成することと、
    前記距離のセットに基づいてエントリのセットを有するヒストグラムを生成することと、を含み、これは前記エントリのセットの各エントリについてエントリに関連付けられた距離の範囲内にある距離のセットからの距離を挿入することを含む、非一時的コンピュータ可読媒体。
  10. 前記命令はさらに、1台以上のプロセッサに、
    3D点群の少なくとも一部について3Dボクセルグリッドを生成することと、ここで、前記3Dボクセルグリッドの各ボクセルは同じ次元のセットを含んでおり、
    前記3Dボクセルグリッドの各ボクセルについて、複数の3Dデータ点のうちの1つ以上がボクセル内にあるか否かを決定して、前記当該ボクセルに対する関連付けられた3D点のセットを生成することと、
    前記関連付けられた3D点のセットを有する3Dボクセルグリッドの各ボクセルについて、前記関連付けられた3Dデータ点のセットに基づいてボクセルに対する単一の3Dデータ点を決定することと、
    前記単一の3Dデータ点をボクセルに保存することと、を実行させるように動作可能である、請求項9に記載の非一時的コンピュータ可読媒体。
  11. 前記距離のセットを決定することは、
    3Dボクセルグリッドの各ボクセルについて、単一の3Dデータ点から基準までの距離を決定して、距離のセットを生成することを含む、請求項10に記載の非一時的コンピュータ可読媒体。
  12. 前記基準は、2次元(2D)基準面であり、
    各3D点の距離を決定して距離のセットを生成することは、前記基準面までの各3D点の最短距離を決定することを含む、請求項9に記載の非一時的コンピュータ可読媒体。
  13. 前記基準は、基準線であり、
    各3D点の距離を決定して距離のセットを生成することは、前記基準線までの各3D点の最短距離を決定することを含む、請求項9に記載の非一時的コンピュータ可読媒体。
  14. 前記命令は、さらに1台以上のプロセッサに、
    3D点群の推定された重心を決定させるように動作可能であり、ここで、前記基準は推定された重心であり、これは、推定された重心までの各3D点の距離を決定することを含む、請求項9に記載の非一時的コンピュータ可読媒体。
  15. 命令を保存するメモリと、命令を実行して3次元(3D)点群のヒストグラムを生成するように構成された少なくとも1台のプロセッサとを備えるシステムであって、
    複数の3D点を含む3D点群を示すデータを受信することと、
    3D点群に対する空間的関係において基準を決定することと、
    複数の3D点の各3D点について、前記基準までの距離を決定して当該複数の3D点に対する距離のセットを生成することと、
    前記距離のセットに基づいてエントリのセットを有するヒストグラムを生成することと、を含み、これは前記エントリのセットの各エントリについて、エントリに関連付けられた距離の範囲内にある距離のセットからの距離を挿入することを含む、システム。
  16. 前記命令はさらに、1台以上のプロセッサに、
    3D点群の少なくとも一部について3Dボクセルグリッドを生成することと、ここで、前記3Dボクセルグリッドの各ボクセルは同じ次元のセットを含んでおり、
    前記3Dボクセルグリッドの各ボクセルについて、複数の3Dデータ点のうちの1つ以上がボクセル内にあるか否かを決定して、前記当該ボクセルに対する関連付けられた3D点のセットを生成することと、
    前記関連付けられた3D点のセットを有する3Dボクセルグリッドの各ボクセルについて、前記関連付けられた3Dデータ点のセットに基づいてボクセルに対する単一の3Dデータ点を決定することと、
    前記単一の3Dデータ点をボクセルに保存することと、を実行させるように動作可能である、請求項15に記載のシステム。
  17. 前記距離のセットを決定することは、
    3Dボクセルグリッドの各ボクセルについて、単一の3Dデータ点から基準までの距離を決定して、距離のセットを生成することを含む、請求項16に記載のシステム。
  18. 前記基準は、2次元(2D)基準面であり、
    各3D点の距離を決定して距離のセットを生成することは、前記基準面までの各3D点の最短距離を決定することを含む、請求項15に記載のシステム。
  19. 前記基準は、基準線であり、
    各3D点の距離を決定して距離のセットを生成することは、前記基準線までの各3D点の最短距離を決定することを含む、請求項15に記載のシステム。
  20. 前記命令は、さらに1台以上のプロセッサに、
    3D点群の推定された重心を決定させるように動作可能であり、ここで、前記基準は推定された重心であり、これは、推定された重心までの各3D点の距離を決定することを含む、請求項15に記載のシステム。
  21. 3次元(3D)点群のヒストグラムを生成するためのコンピュータ化された方法であって、
    複数の3D点を含む3D点群を示すデータを受信することと、
    3D点群内の各3D点について、3D点の向きを決定することを含めて向きのセットを生成することと、ここで、前記向きは少なくとも第1成分に対する第1の値と第2成分に対する第2の値を有しており、
    向きのセットに基づいて、ビンのセットを有するヒストグラムを生成することと、を含み、ここで、
    ビンのセットの各ビンは、第1成分の値の第1の範囲と第2成分の値の第2の範囲に関連付けられており、
    ヒストグラムを生成することは、ビンのセットの各ビンについて、それぞれビンに関連付けられた値の第1の範囲と第2の範囲内にある第1の値と第2の値を有する向きのセットからの向きを加算することを含む、コンピュータ化された方法。
  22. ビンのセットは2つの次元に配置され、第1の次元は第1成分に関連付けられ、第2の次元は第2成分に関連付けられている、請求項21に記載の方法。
  23. 第1成分は傾斜角を有し、第2成分は方位角を有することを特徴とする、請求項21に記載の方法。
  24. さらに、3D点群の少なくとも一部について3Dボクセルグリッドを生成することと、ここで、前記3Dボクセルグリッドの各ボクセルは同じ次元のセットを含んでおり、
    前記3Dボクセルグリッドの各ボクセルについて、複数の3Dデータ点のうちの1つ以上がボクセル内にあるか否かを決定して、前記当該ボクセルに対する関連付けられた3D点のセットを生成することと、
    前記関連付けられた3D点のセットを有する3Dボクセルグリッドの各ボクセルについて、前記関連付けられた3Dデータ点のセットに基づいてボクセルに対する単一の3Dデータ点を決定することと、
    前記単一の3Dデータ点をボクセルに保存すること、とを含む、請求項21に記載の方法。
  25. 前記向きのセットを生成することは、
    3Dボクセルグリッドの各ボクセルについて、単一の3Dデータ点の向きを決定して向きのセットを生成することを含む、請求項24に記載の方法。
  26. 前記向きのセットを生成することは、3D点群内の各3D点について、3D点の向きを3D点群に関連付けられた固定座標系に基づいて決定することを含む、請求項21に記載の方法。
  27. 前記向きのセットを生成することは、3D点群内の各3D点について、3D点の向きを3D点群の3D点に関連付けられたローカル座標系に基づいて決定することを含む、請求項21に記載の方法。
  28. さらに、ヒストグラムを第2の3D点群に関連付けられた第2ヒストグラムと比較して、3D点群と第2の3D点群との間の類似性の尺度を示すデータを決定することをさらに含む、請求項21に記載の方法。
  29. ヒストグラムを第2ヒストグラムと比較することは、
    ヒストグラムのピークの第1のセットと第2ヒストグラムのピークの第2のセットを決定することと、
    第1のピークのセットの少なくとも一部と第2のピークのセットの少なくとも一部との間の対応関係を決定することと、を含む、請求項28に記載の方法。
  30. 非一時的コンピュータ可読媒体であって、コンピューティングデバイス上で1台以上のプロセッサによって実行されると、1台以上のプロセッサに3次元(3D)点群のヒストグラムを生成させるように動作可能である命令を含んでおり、これは、
    複数の3D点を含む3D点群を示すデータを受信することと、
    3D点群内の各3D点について、3D点の向きを決定することを含めて向きのセットを生成することと、ここで、前記向きは少なくとも第1成分に対する第1の値と第2成分に対する第2の値を有しており、
    前記向きのセットに基づいて、ビンのセットを有するヒストグラムを生成することと、を含み、ここで、
    ビンのセットの各ビンは、第1成分の値の第1の範囲と第2成分の値の第2の範囲に関連付けられており、
    ヒストグラムを生成することは、ビンのセットの各ビンについて、それぞれビンに関連付けられた値の第1の範囲と第2の範囲内にある第1の値と第2の値を有する向きのセットからの向きを加算することを含む、非一時的コンピュータ読取可能媒体。
  31. 前記命令は、さらに1台以上のプロセッサに、
    3D点群の少なくとも一部について3Dボクセルグリッドを生成することと、ここで、前記3Dボクセルグリッドの各ボクセルは同じ次元のセットを含んでおり、
    前記3Dボクセルグリッドの各ボクセルについて、複数の3Dデータ点のうちの1つ以上がボクセル内にあるか否かを決定して、前記当該ボクセルに対する関連付けられた3D点のセットを生成することと、
    前記関連付けられた3D点のセットを有する3Dボクセルグリッドの各ボクセルについて、前記関連付けられた3Dデータ点のセットに基づいてボクセルに対する単一の3Dデータ点を決定することと、
    前記単一の3Dデータ点をボクセルに保存することと、を実行させるように動作可能である、請求項30に記載の非一時的コンピュータ読取可能媒体。
  32. 前記向きのセットを生成することは、
    3Dボクセルグリッドの各ボクセルについて、単一の3Dデータ点の向きを決定して向きのセットを生成することを含む、請求項31に記載の非一時的コンピュータ可読媒体。
  33. 前記向きのセットを生成することは、3D点群内の各3D点について、3D点の向きを3D点群に関連付けられた固定座標系に基づいて決定することを含む、請求項30に記載の非一時的コンピュータ読取可能媒体。
  34. 前記向きのセットを生成することは、3D点群内の各3D点について、3D点の向きを3D点群の3D点に関連付けられたローカル座標系に基づいて決定することを含む、請求項30に記載の非一時的コンピュータ可読媒体。
  35. 前記命令は、さらに1台以上のプロセッサに、
    ヒストグラムを第2の3D点群に関連付けられた第2ヒストグラムと比較して、3D点群と前記第2の3D点群との間の類似性の尺度を示すデータを決定することを実行させ、これは、
    ヒストグラムの第1のピークのセットと第2ヒストグラムの第2のピークのセットを決定することと、
    第1のピークのセットの少なくとも一部と第2のピークのセットの少なくとも一部との間の対応関係を決定することと、を含む、請求項30に記載の非一時的コンピュータ可読媒体。
  36. 命令を保存するメモリと、命令を実行して3次元(3D)点群のヒストグラムを生成するように構成された少なくとも1台のプロセッサとを備えるシステムであって、
    複数の3D点を含む3D点群を示すデータを受信することと
    3D点群内の各3D点について、3D点の向きを決定することを含めて向きのセットを生成することと、ここで、前記向きは少なくとも第1成分に対する第1の値と第2成分に対する第2の値を有しており、
    前記向きのセットに基づいて、ビンのセットを有するヒストグラムを生成することと、を含み、ここで、
    ビンのセットの各ビンは、第1成分の値の第1の範囲と第2成分の値の第2の範囲に関連付けられており、
    ヒストグラムを生成することは、ビンのセットの各ビンについて、それぞれビンに関連付けられた値の第1の範囲と第2の範囲内にある第1の値と第2の値を有する向きのセットからの向きを加算することを含む、システム。
  37. 前記命令は、さらに少なくとも1台のプロセッサに、
    3D点群の少なくとも一部について3Dボクセルグリッドを生成することと、ここで、前記3Dボクセルグリッドの各ボクセルは同じ次元のセットを含んでおり、
    前記3Dボクセルグリッドの各ボクセルについて、複数の3Dデータ点のうちの1つ以上が前記ボクセル内にあるか否かを決定して、前記当該ボクセルに対する関連付けられた3D点のセットを生成することと、
    前記関連付けられた3D点のセットを有する3Dボクセルグリッドの各ボクセルについて、前記関連付けられた3Dデータ点のセットに基づいてボクセルに対する単一の3Dデータ点を決定することと、
    前記単一の3Dデータ点をボクセルに保存すること、とを含む、請求項36に記載のシステム。
  38. 前記向きのセットを生成することは、3D点群内の各3D点について、3D点の向きを3D点群に関連付けられた固定座標系に基づいて決定することを含む、請求項36に記載のシステム。
  39. 前記向きのセットを生成することは、3D点群内の各3D点について、3D点の向きを3D点群の3D点に関連付けられたローカル座標系に基づいて決定することを含む、請求項36に記載のシステム。
  40. 前記命令は、さらに少なくとも1台のプロセッサに、
    ヒストグラムを第2の3D点群に関連付けられた第2ヒストグラムと比較して、3D点群と前記第2の3D点群との間の類似性の尺度を示すデータを決定することを実行させ、これは、
    ヒストグラムの第1のピークのセットと第2ヒストグラムの第2のピークのセットを決定することと、
    第1のピークのセットの少なくとも一部と第2のピークのセットの少なくとも一部との間の対応関係を決定することと、を含む、請求項36に記載のシステム。
JP2022568609A 2020-05-11 2021-05-10 点群ヒストグラムを生成する方法及び装置 Pending JP2023526021A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063023163P 2020-05-11 2020-05-11
US63/023,163 2020-05-11
US202063065456P 2020-08-13 2020-08-13
US63/065,456 2020-08-13
PCT/US2021/031519 WO2021231265A1 (en) 2020-05-11 2021-05-10 Methods and apparatus for generating point cloud histograms

Publications (1)

Publication Number Publication Date
JP2023526021A true JP2023526021A (ja) 2023-06-20

Family

ID=76325600

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022568609A Pending JP2023526021A (ja) 2020-05-11 2021-05-10 点群ヒストグラムを生成する方法及び装置

Country Status (5)

Country Link
US (2) US11468609B2 (ja)
JP (1) JP2023526021A (ja)
KR (1) KR20230049585A (ja)
DE (1) DE112021002781T5 (ja)
WO (1) WO2021231265A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023526021A (ja) 2020-05-11 2023-06-20 コグネックス・コーポレイション 点群ヒストグラムを生成する方法及び装置
US20240054676A1 (en) * 2022-08-12 2024-02-15 Cognex Corporation Methods and apparatus for determining orientations of an object in three-dimensional data

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058220B2 (en) 2002-04-29 2006-06-06 Hewlett-Packard Development Company, L.P. Method and system for processing images using histograms
US7317456B1 (en) * 2002-12-02 2008-01-08 Ngrain (Canada) Corporation Method and apparatus for transforming point cloud data to volumetric data
US8064731B2 (en) 2006-11-13 2011-11-22 Siemens Audiologische Technik Gmbh Generalized rigid alignment of 3D ear impression models
US20100100362A1 (en) 2008-10-10 2010-04-22 Siemens Corporation Point-Based Shape Matching And Distance Applied To Ear Canal Models
US8933925B2 (en) 2009-06-15 2015-01-13 Microsoft Corporation Piecewise planar reconstruction of three-dimensional scenes
KR101653271B1 (ko) * 2009-12-02 2016-09-01 삼성전자주식회사 측면광을 판단하는 디지털 영상 신호 처리 방법, 상기 방법을 기록한 기록 매체 및 디지털 영상 신호 처리 장치
US9582932B2 (en) * 2012-06-05 2017-02-28 Apple Inc. Identifying and parameterizing roof types in map data
US9483706B2 (en) 2015-01-08 2016-11-01 Linear Algebra Technologies Limited Hardware accelerator for histogram of gradients
US10115035B2 (en) 2015-01-08 2018-10-30 Sungkyunkwan University Foundation For Corporation Collaboration Vision system and analytical method for planar surface segmentation
US9483707B2 (en) 2015-02-04 2016-11-01 GM Global Technology Operations LLC Method and device for recognizing a known object in a field of view of a three-dimensional machine vision system
AU2016396487B2 (en) * 2016-03-07 2019-01-24 Mitsubishi Electric Corporation Map creation system and map creation method
CN111133336B (zh) * 2017-09-04 2024-04-02 联邦科学工业研究组织 用于执行定位的方法和系统
US11042146B2 (en) 2017-11-17 2021-06-22 Kodak Alaris Inc. Automated 360-degree dense point object inspection
US10689830B2 (en) * 2018-08-06 2020-06-23 Deere & Company Container angle sensing using vision sensor for feedback loop control
CN113015677A (zh) 2018-10-29 2021-06-22 大疆科技股份有限公司 用于执行实时地图构建的可移动物体
JP2023526021A (ja) 2020-05-11 2023-06-20 コグネックス・コーポレイション 点群ヒストグラムを生成する方法及び装置
US11403817B1 (en) * 2021-04-14 2022-08-02 Lineage Logistics, LLC Point cloud filtering

Also Published As

Publication number Publication date
US20210350165A1 (en) 2021-11-11
US11816857B2 (en) 2023-11-14
KR20230049585A (ko) 2023-04-13
US11468609B2 (en) 2022-10-11
US20210350595A1 (en) 2021-11-11
DE112021002781T5 (de) 2023-04-27
WO2021231265A1 (en) 2021-11-18

Similar Documents

Publication Publication Date Title
JP5705147B2 (ja) 記述子を用いて3dオブジェクトまたはオブジェクトを表す方法
Drost et al. Introducing mvtec itodd-a dataset for 3d object recognition in industry
JP6744847B2 (ja) 3dアライメントアルゴリズムのためのバランスの取れたプローブサイトの選択
JP6216508B2 (ja) 3dシーンにおける3d物体の認識および姿勢決定のための方法
Salti et al. A performance evaluation of 3d keypoint detectors
US9633281B2 (en) Point cloud matching method
JP5677798B2 (ja) 3次元シーンにおける3次元物体の認識及び位置姿勢決定方法
Azad et al. Stereo-based 6d object localization for grasping with humanoid robot systems
JP2017096939A (ja) ビジョンシステムで3dポイントクラウドマッチングに使用するクラッタをスコアリングするためのシステム及び方法
JP2023526021A (ja) 点群ヒストグラムを生成する方法及び装置
US6993177B1 (en) Gauging based on global alignment and sub-models
CN116134482A (zh) 用于识别三维图像中的表面特征的方法和装置
Wiedemann et al. Recognition and tracking of 3D objects
Zhang et al. Image intensity variation information for interest point detection
Kordelas et al. Viewpoint independent object recognition in cluttered scenes exploiting ray-triangle intersection and SIFT algorithms
Sølund et al. A large-scale 3D object recognition dataset
Zhong et al. Triple screening point cloud registration method based on image and geometric features
CN114638891A (zh) 基于图像和点云融合的目标检测定位方法与系统
CN116783619A (zh) 用于生成点云直方图的方法和装置
Canelhas Truncated signed distance fields applied to robotics
Sarkar et al. Feature-augmented Trained Models for 6DOF Object Recognition and Camera Calibration.
Hsu et al. Real-time 3-D object recognition using scale invariant feature transform and stereo vision
Zhou et al. Feature fusion information statistics for feature matching in cluttered scenes
Matusiak et al. Depth-based descriptor for matching keypoints in 3D scenes
Weinmann et al. Point cloud registration