JP2022095591A - 3dオブジェクト検出のための機械学習 - Google Patents
3dオブジェクト検出のための機械学習 Download PDFInfo
- Publication number
- JP2022095591A JP2022095591A JP2021203671A JP2021203671A JP2022095591A JP 2022095591 A JP2022095591 A JP 2022095591A JP 2021203671 A JP2021203671 A JP 2021203671A JP 2021203671 A JP2021203671 A JP 2021203671A JP 2022095591 A JP2022095591 A JP 2022095591A
- Authority
- JP
- Japan
- Prior art keywords
- superpoints
- superpoint
- point cloud
- neural network
- similarity
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/002—Image coding using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Multimedia (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
Abstract
【課題】3D点群のスーパーポイントを潜在ベクトルにエンコードするニューラルネットワークを学習させるための機械学習のコンピュータ実装方法、デバイス、システム及びプログラムを提供する。【解決手段】3Dオブジェクト検出のための機械学習の改良された方法は、スーパーポイントのデータセットを提供するステップを含む。各スーパーポイントは、それぞれ、3D点群の点のセットである。当該点のセットは、オブジェクトの少なくとも一部を表す。方法はさらに、スーパーポイントのデータセットに基づいてニューラルネットワークを学習させるステップを含む。学習は、損失を最小化するステップを含む。損失は、2つのスーパーポイント間の誤差にペナルティを課す。【選択図】図1
Description
本発明は、コンピュータプログラム及びシステムの分野、より具体的には、3Dオブジェクト検出のための機械学習のための方法、システム、及びプログラムに関する。
市場には、オブジェクトの設計、エンジニアリング、製造用に、多数のシステム及びプログラムが提供されている。CADは、コンピュータ支援設計(Computer-Aided Design)の頭字語であり、たとえば、オブジェクトを設計するためのソフトウェアソリューションに関する。CAEは、コンピュータ支援エンジニアリング(Computer-Aided Engineering)の頭字語であり、たとえば、将来の製品の物理的挙動をシミュレートするためのソフトウェアソリューションに関する。CAMはコンピュータ支援製造(Computer-Aided Manufacturing)の頭字語であり、たとえば、製造プロセスや動作を定義するためのソフトウェアソリューションに関する。このようなコンピュータ支援設計システムでは、技術の効率の点でグラフィカルユーザーインターフェイスが重要な役割を果たす。これらの技術は、製品ライフサイクル管理(PLM)システム内に組み込まれ得る。PLMとは、企業が製品データを共有し、共通の処理を適用し、企業知識を活用して、拡張エンタープライズの概念にわたって、コンセプトから生涯にわたる製品の開発に役立てることを支援するビジネス戦略のことをいう。ダッソー・システムズが(CATIA、ENOVIA、DELMIAの商標のもと)提供するPLMソリューションでは、製品エンジニアリングの知識を編成するエンジニアリングハブと、製造エンジニアリングの知識を管理する製造ハブと、エンジニアリングハブ及び製造ハブへの企業の統合及び接続とを可能にする企業ハブが提供される。これらを合わせたシステムは、製品定義、製造準備、生産、及びサービスの最適化を促進するダイナミックかつ知識ベースの製品作成及び意思決定サポートを可能にするために、製品、プロセス、リソースをリンクするオープンオブジェクトモデルを提供する。
こういった背景及び別の背景でも、機械学習及び3Dオブジェクトの検出が広く重要性を増している。
しかし、3Dオブジェクト検出のための機械学習の改良された方法が依然として必要である。
したがって、3D点群のスーパーポイントを潜在ベクトルにエンコードするように構成されるニューラルネットワークを学習させるための、機械学習のコンピュータ実装方法が提供される。この方法は、スーパーポイントのデータセットを提供するステップを含む。スーパーポイントは、それぞれ、3D点群の点のセットのことである。当該点のセットは、オブジェクトの少なくとも一部を表す。本方法はさらに、スーパーポイントのデータセットに基づいてニューラルネットワークを学習させるステップを含む。学習は、損失を最小化することを含む。損失は、2つのスーパーポイント間の誤差にペナルティを課す。
本方法は、以下のうち1つ以上を含んでもよい、
-損失とは、再構成損失であり、あるスーパーポイントと当該スーパーポイントの再構成の間の誤差にペナルティを課す、
-誤差とは、スーパーポイントとスーパーポイントの再構成の間の距離である、
-距離は、チャンファー(Chamfer)距離又はアースムーバー(Earth-Mover)距離である、及び/又は、
-学習は教師なし学習である。
-損失とは、再構成損失であり、あるスーパーポイントと当該スーパーポイントの再構成の間の誤差にペナルティを課す、
-誤差とは、スーパーポイントとスーパーポイントの再構成の間の距離である、
-距離は、チャンファー(Chamfer)距離又はアースムーバー(Earth-Mover)距離である、及び/又は、
-学習は教師なし学習である。
さらに、本方法に従って学習可能なニューラルネットワークが提供される。
さらに、コンピュータ実装の、ニューラルネットワークを使用する方法が提供される。本使用方法は、第1の3D点群の1つ以上の第1のスーパーポイントを提供するステップを含む。第1の3D点群は3Dシーンを表す。本使用方法は、第2の3D点群の1つ以上の第2のスーパーポイントを提供するステップをさらに含む。第2の3D点群は3Dオブジェクトを表す。本使用方法はさらに、ニューラルネットワークを適用することにより、1つ以上の各第1のスーパーポイントをそれぞれの第1の潜在ベクトルにエンコードし、1つ以上の各第2のスーパーポイントをそれぞれの第2の潜在ベクトルにエンコードするステップを含む。本使用方法はさらに、1つ以上の第1のスーパーポイントの各第1のスーパーポイントと、1つ以上の第2のスーパーポイントの各第2のスーパーポイント間の類似性を、前記各第1のスーパーポイント及び前記各第2のスーパーポイントに関して、第1のスーパーポイントをエンコードするそれぞれの第1の潜在ベクトルと第2のスーパーポイントをエンコードするそれぞれの第2の潜在ベクトル間の類似度を計算することで、決定するステップを含む。
本使用方法は、以下のうち1つ以上を含んでもよい、
-1つ以上の第1のスーパーポイントを提供するステップが、以下を含む、
・第1の3D点群の1つ以上の初期スーパーポイントを提供するステップ、
・初期スーパーポイントの中から、以下を満たす初期スーパーポイントをそれぞれ選択することにより、1つ以上の初期スーパーポイントをフィルタリングするステップ、
・・スーパーポイントの寸法と少なくとも1つの第2のスーパーポイントの寸法間の誤差が、事前定義の閾値よりも小さい、及び/又は、
・・スーパーポイントの位置と少なくとも1つの第2のスーパーポイントの位置間の誤差が、事前定義の閾値よりも小さい、
選択されたスーパーポイントは、前記1つ以上の第1のスーパーポイントである、
-フィルタリングするステップは、初期スーパーポイントの中から、以下を満たす初期スーパーポイントをそれぞれ選択するステップを含む、
・スーパーポイントの各寸法と少なくとも1つの第2のスーパーポイントの対応寸法間の距離が、事前定義の閾値よりも小さい、及び/又は、
・スーパーポイントの各寸法と少なくとも1つの第2のスーパーポイントの対応寸法間の比率が、最大比率よりも小さく、最小比率よりも大きい、及び/又は、
・スーパーポイントの最も近い支持面からの相対的な高さと、少なくとも1つの第2のスーパーポイントの最も近い支持面からの相対的な高さとの差が、事前定義の閾値よりも小さい、
-本方法はさらに、それぞれが少なくとも1つの第2のスーパーポイントに対して事前定義の閾値よりも大きい類似性が決定された第1のスーパーポイントの中から、各グループが第2の3D点群に類似した形状を有する、第1のスーパーポイントの1つ以上のグループを決定するステップを含む、
-1つ以上のグループを決定するステップは、以下を含む、
・第2のスーパーポイントのグラフを提供するステップであって、当該第2のスーパーポイントのグラフは、複数のノードと複数のエッジを有し、ここで、複数のノードはそれぞれが第2のスーパーポイントを表し、複数のエッジはそれぞれ、エッジによって接続されるノードによって表される2つのスーパーポイント間のジオメトリー関係を表し、また、当該ジオメトリー関係のジオメトリー属性を1つ以上有する、
・それぞれが2つのノードを接続し、それぞれが第2のスーパーポイントのグラフのエッジのジオメトリー属性と類似したジオメトリー属性を1つ以上持つ、複数のエッジを構築することによって、それぞれが第1のスーパーポイントを表す複数のノードを各々が持つ、1つ以上のグラフを形成するステップであって、形成された各グラフはそれぞれのグループに対応する、及び/又は、
-本方法はさらに、各グループについて、グループ内の第1のスーパーポイントと1つ以上の第2のスーパーポイントとの類似性を測定するステップによって類似性スコアを決定するステップをさらに含む。
-1つ以上の第1のスーパーポイントを提供するステップが、以下を含む、
・第1の3D点群の1つ以上の初期スーパーポイントを提供するステップ、
・初期スーパーポイントの中から、以下を満たす初期スーパーポイントをそれぞれ選択することにより、1つ以上の初期スーパーポイントをフィルタリングするステップ、
・・スーパーポイントの寸法と少なくとも1つの第2のスーパーポイントの寸法間の誤差が、事前定義の閾値よりも小さい、及び/又は、
・・スーパーポイントの位置と少なくとも1つの第2のスーパーポイントの位置間の誤差が、事前定義の閾値よりも小さい、
選択されたスーパーポイントは、前記1つ以上の第1のスーパーポイントである、
-フィルタリングするステップは、初期スーパーポイントの中から、以下を満たす初期スーパーポイントをそれぞれ選択するステップを含む、
・スーパーポイントの各寸法と少なくとも1つの第2のスーパーポイントの対応寸法間の距離が、事前定義の閾値よりも小さい、及び/又は、
・スーパーポイントの各寸法と少なくとも1つの第2のスーパーポイントの対応寸法間の比率が、最大比率よりも小さく、最小比率よりも大きい、及び/又は、
・スーパーポイントの最も近い支持面からの相対的な高さと、少なくとも1つの第2のスーパーポイントの最も近い支持面からの相対的な高さとの差が、事前定義の閾値よりも小さい、
-本方法はさらに、それぞれが少なくとも1つの第2のスーパーポイントに対して事前定義の閾値よりも大きい類似性が決定された第1のスーパーポイントの中から、各グループが第2の3D点群に類似した形状を有する、第1のスーパーポイントの1つ以上のグループを決定するステップを含む、
-1つ以上のグループを決定するステップは、以下を含む、
・第2のスーパーポイントのグラフを提供するステップであって、当該第2のスーパーポイントのグラフは、複数のノードと複数のエッジを有し、ここで、複数のノードはそれぞれが第2のスーパーポイントを表し、複数のエッジはそれぞれ、エッジによって接続されるノードによって表される2つのスーパーポイント間のジオメトリー関係を表し、また、当該ジオメトリー関係のジオメトリー属性を1つ以上有する、
・それぞれが2つのノードを接続し、それぞれが第2のスーパーポイントのグラフのエッジのジオメトリー属性と類似したジオメトリー属性を1つ以上持つ、複数のエッジを構築することによって、それぞれが第1のスーパーポイントを表す複数のノードを各々が持つ、1つ以上のグラフを形成するステップであって、形成された各グラフはそれぞれのグループに対応する、及び/又は、
-本方法はさらに、各グループについて、グループ内の第1のスーパーポイントと1つ以上の第2のスーパーポイントとの類似性を測定するステップによって類似性スコアを決定するステップをさらに含む。
本方法及び/又は本使用方法を実行するための命令を含むコンピュータプログラムがさらに提供される。
コンピュータプログラム及び/又はニューラルネットワークをその上に記録したデータ記憶媒体を含むデバイスがさらに提供される。
当該デバイスは、たとえば、SaaS(サービスとしてのソフトウェア)又は他のサーバー、あるいはクラウドベースのプラットフォームなどにおいて、非一過性のコンピュータ可読媒体を形成するか、又は非一過性のコンピュータ可読媒体として機能してもよい。あるいは、当該デバイスは、データ記憶媒体と結合したプロセッサを備えてもよい。したがって、当該デバイスは、全体的又は部分的にコンピュータシステムを形成してもよい(たとえば、デバイスはシステム全体のサブシステムである)。当該システムは、プロセッサと結合したグラフィカルユーザーインターフェースをさらに備えてもよい。
次に、本発明の実施形態を、限定するものではない例をもとに添付の図面を参照して説明する。
3D点群のスーパーポイントを潜在ベクトルにエンコードするように構成されるニューラルネットワークを学習させるための、機械学習のコンピュータ実装方法が提案される。この方法は、スーパーポイントのデータセットを提供するステップを含む。スーパーポイントとは、それぞれ、3D点群の点のセットである。当該点のセットは、オブジェクトの少なくとも一部を表す。本方法はさらに、スーパーポイントのデータセットに基づいてニューラルネットワークを学習させるステップを含む。学習は、損失を最小化するステップを含む。損失は、2つのスーパーポイント間の誤差にペナルティを課す。本方法は、「学習方法」と呼ばれることもある。
本学習方法は、3Dオブジェクト検出のための機械学習の改良された方法を構成する。
特に、本学習方法により、3D点群での3Dオブジェクトの検出が可能になる。本学習方法によって学習するニューラルネットワークは、特に3Dオブジェクトの検出を利用する多くの用途で使用することができ、たとえば、以下で説明する使用方法に従った3Dオブジェクト検出を利用する任意の用途が挙げられる。当該用途は、(たとえば、自動的に)資産インベントリ及び/又は管理(たとえば、プラントシーンで、全ロボットを特定して、それら又は一部を移動又は交換する)、(たとえば、自動的な)オブジェクトの除去及び/又は交換(たとえば、プラントシーンで、類似したマシンの全スキャンを自動的に交換する)、及び/又は(プラントシーンなどの)仮想ツインの生成を行うことであってもよい。プラントの仮想ツインは、CADシーン、又はCADシーンと3D点群のミックスで構成され、仮想プラントは、たとえばスキャンされたプラント又は物理的な実際のプラントのツインを表す。最終的には、プラントシーンの仮想ツイン生成により、プラントのシミュレーション及び/又はプラントのさまざまな最適化が可能になり得る。
さらに、本学習方法は、3D点群のスーパーポイントを入力として受け取り、そのスーパーポイントを潜在ベクトルにエンコードできるようニューラルネットワークを学習させる。言い換えると、本学習方法は、3D点群の任意の3Dスーパーポイントを潜在的な表現に投影できるようニューラルネットワークを学習させる。ニューラルネットワークは、2つのスーパーポイント間の誤差にペナルティを課す損失を最小化することによってトレーニングされる/学習するため、ニューラルネットワークは、入力されたスーパーポイントを、ジオメトリー情報の観点で意味のあるスーパーポイント表現である潜在ベクトルにエンコードする。
実際に、損失は2つのスーパーポイントを入力として受け取り、それらの間の誤差を計算し、損失はその誤差にペナルティを課すため、誤差が大きいと、損失は大きな値になる傾向がある。よって、学習中に、トレーニングサンプルとして使用される各スーパーポイントについて、スーパーポイントが損失へ入力として与えられ、別のスーパーポイントも損失へ入力として与えられ、ここで、当該別のスーパーポイントは、トレーニングサンプルであるスーパーポイントをエンコードする潜在ベクトル(つまり、ニューラルネットワークをスーパーポイントに適用した結果の潜在ベクトル)から取得される。つまり、損失は、トレーニングサンプルであるスーパーポイントと別のスーパーポイント間の誤差にペナルティを課する。別のスーパーポイントとは、たとえば、スーパーポイントをエンコードする潜在ベクトルをデコードすることによる、トレーニングサンプルであるスーパーポイントの再構成であってもよく、この場合、ニューラルネットワークは、スーパーポイントを潜在ベクトルにエンコードするためのエンコーダーと、潜在ベクトルをスーパーポイントにデコードするためのデコーダーを含み、詳細を以下でさらに説明する。これは、たとえば、ニューラルネットワークがオートエンコーダーである場合である。次に、学習は、トレーニングサンプルであるスーパーポイントと別のスーパーポイントについて損失値を計算し、ここで、損失は、入力として対となったスーパーポイントを受け取る。損失のこの値は、損失によって入力として受け取られたスーパーポイント、つまりここではトレーニングサンプルであるスーパーポイントと別のスーパーポイント、との間のジオメトリー的な誤差を定量化する。したがって、ジオメトリー的な誤差は、トレーニングサンプルであるスーパーポイントと、それをエンコードする潜在ベクトルのデコード間の誤差である。このような誤差に損失はペナルティを課すため、誤差が大きいとこの値は大きくなる。学習は損失を最小化するため、値が大きい場合、学習はニューラルネットワークの重みを変更するが、これは、大きい値はトレーニングサンプルであるスーパーポイントのエンコードが十分に満足するものではないことを意味するためである。言い換えると、この値が高い場合、トレーニングサンプルであるスーパーポイントをエンコードする潜在ベクトルは、このスーパーポイントのジオメトリーを十分に正確には捉えていないため、正確性を改良するために重みを変更する必要がある。
よって、本学習方法による学習は、類似ジオメトリーを有するスーパーポイントが類似した潜在ベクトルでエンコードされ、異なるジオメトリーを有する2つのスーパーポイントが実質的に異なる潜在ベクトルでエンコードされることを保証する傾向がある。さらに言い換えると、ニューラルネットワークは、意味のあるジオメトリー情報を表す潜在表現にスーパーポイントを投影するようにトレーニングされ、つまり、学習は、2つのスーパーポイントをエンコードする潜在ベクトル間の距離が、これら2つのスーパーポイントのジオメトリー的類似性と高度に相関することを目指す。ここで、3D点群のスーパーポイントは、3D点群の局所部分(たとえば、3D点群内のあるオブジェクトの少なくとも一部を形成する局所形状)を表す3D点群の点のサブセットであるため、本学習方法によって学習するニューラルネットワークにより、3D点群の局所部分をジオメトリー的に意味のある潜在ベクトル表現にエンコードすることが可能になる。
このように、本ニューラルネットワークは、3D点群で3Dオブジェクト検出を実行するために使用できるニューラルネットワークである。したがって、本学習方法は、3Dオブジェクト検出のための機械学習の方法である。たとえば、1つ以上の第1のスーパーポイントを含む第1の3D点群と、1つ以上の第2のスーパーポイントを含む第2の3D点群を所与として、ニューラルネットワークはスーパーポイントを潜在ベクトルにエンコードでき、そして、これは、潜在ベクトル間の類似度を計算するために使用されることができる。これにより、どの第1のスーパーポイントが第2のスーパーポイントにジオメトリー的に類似しているかを判断することが可能になり、よって、第1の点群内に、第2の点群で表される3Dオブジェクトの局所形状に類似した局所形状を検出することが可能になる。最終的には、これらの類似した局所形状を使用/処理して、第2の3D点群によって表される3Dオブジェクトに類似した第1の3D点群における3Dオブジェクト(つまり、1つ以上の検出された局所形状によって形成される3Dオブジェクト)を出力できる。たとえば、第1の3D点群がプラント/工場を表し、第2の3D点群が3D多関節ロボットを表す場合、ニューラルネットワークを使用して、第2の3D点群で表される3D多関節ロボットに類似したプラント内の(たとえばすべての)3D多関節ロボットを検出できる。さらに、本学習方法によって動作する学習のおかげで、検出は汎用的なものであり、ニューラルネットワークは、第1の3D点群内に、第2の3D点群の正確なインスタンスを検出するだけでなく、第2の3D点群によって表されるオブジェクトに部分的に類似したオブジェクトも第1の3D点群内に検出する。つまり、3D点群で表される単一の3Dオブジェクトを所与として、ニューラルネットワークにより、より大きな3D点群(たとえば、20倍以上の点を持つ3D点群)内に、部分的に類似した3Dオブジェクト、たとえば、前記単一の3Dオブジェクトのインスタンスのジオメトリー的変換(たとえば回転又は位置の変化)、前記単一の3Dオブジェクトのインスタンスのオクルージョン、及び、前記単一の3Dオブジェクトにジオメトリー的に似ている他の種類の3Dオブジェクトを特定できる。
さらに、学習にはトレーニングデータセットのラベル付けが必要ない。たとえば、学習は教師なし学習であってもよい(教師なし学習は機械学習の分野でそれ自体が公知である)。したがって、学習したニューラルネットワークは、検出する3Dオブジェクトのクラス/種類にとらわれず、また、検出の状況(コンテクスト)/背景(たとえば、検出するオブジェクトが屋内シーン又は屋外シーンにあるかどうか)にとらわれないことが可能である。たとえば、一度訓練されると、ニューラルネットワークは、学習中は見えないオブジェクト及び/又は学習中に見えない状況など、あらゆる状況であらゆるオブジェクトを検出するために使用されることができる。さらに、ニューラルネットワークは、入力されるスーパーポイントが属する点群の種類にとわられない(つまり、検出が機能するために点群の取得に必要な制約がない)。よって、汎用的なニューラルネットワークとなり、3D点群での3Dオブジェクト検出に使用するのに特にロバストなニューラルネットワークとなる。ニューラルネットワークは、たとえば、合成点群に基づいてトレーニングされ、その後、測定された3D点群、つまり物理センサーによって取得された3D点群について3Dオブジェクト検出を実行するために使用してもよい。
さらに、局所的な学習ベースの表現(つまり、学習は、局所形状を表すスーパーポイントをエンコードするようにニューラルネットワークをトレーニングする)を使用すると、ニューラルネットワークは、ノイズ、オクルージョン、及び点分布に対してもロバストになり、さまざまな種類の変換(たとえば、回転)及びオブジェクトの位置(たとえば、多関節ロボットアームを備えた多関節ロボットなどの多関節オブジェクト)に対しても不変になる。これによって、3D点群での3Dオブジェクト検出に使用するのによりロバストなニューラルネットワークとなる。特に、ニューラルネットワークを使用して、所定の3Dオブジェクト(つまり、以下で説明するクエリ)に部分的に類似している(つまり、その正確なインスタンスではない)オブジェクトを3D点群内に検出してもよい。さらに、ニューラルネットワークはオブジェクトの色に依存せずにオブジェクトを検出し、ニューラルネットワークは、色が異なっていても類似した形状を検出する。
また、本学習方法に従って学習可能なニューラルネットワーク、たとえば、本学習方法によって学習したニューラルネットワークも提供される。ニューラルネットワークは、本学習方法に従った学習によって、その値が設定可能である(たとえば、設定されている)重み(パラメーターとも呼ばれる)を持つニューロンの層を有するコンピュータ化データ構造を形成する。
また、コンピュータ実装の、ニューラルネットワークを使用する方法が提供される。本使用方法は、第1の3D点群の1つ以上の第1のスーパーポイントを提供するステップを含む。第1の3D点群は3Dシーンを表す。本使用方法は、第2の3D点群の1つ以上の第2のスーパーポイントを提供するステップをさらに含む。第2の3D点群は3Dオブジェクトを表す。本使用方法はさらに、ニューラルネットワークを適用することにより、1つ以上の各第1のスーパーポイントをそれぞれの第1の潜在ベクトルにエンコードし、1つ以上の各第2のスーパーポイントをそれぞれの第2の潜在ベクトルにエンコードするステップを含む。本使用方法はさらに、1つ以上の第1のスーパーポイントのうち各第1のスーパーポイントと、1つ以上の第2のスーパーポイントのうち各第2のスーパーポイント間の類似性を、前記各第1のスーパーポイント及び前記各第2のスーパーポイントに関して第1のスーパーポイントをエンコードするそれぞれの第1の潜在ベクトルと第2のスーパーポイントをエンコードするそれぞれの第2の潜在ベクトル間の類似度を計算することで、決定するステップを含む。本使用方法は、「検出方法」と呼ばれることもある。
検出方法とは、3D点群での3Dオブジェクト検出のための方法である。本検出方法は、3D点群での3Dオブジェクト検出のための改良された方法を構成する。実際に、本使用方法は、3Dシーンを表す第1の3D点群の第1のスーパーポイントであって、3Dオブジェクトを表す第2の3D点群の第2のスーパーポイントにジオメトリー的に類似している第1のスーパーポイントを検出することを可能にする。言い換えれば、第2のスーパーポイントはそれぞれオブジェクトの局所部分を表し、本検出方法は、オブジェクトのこれらの局所部分にジオメトリー的に類似している第1の点群の局所部分(すなわち、第1のスーパーポイント)を検出する。これにより、第1の3D点群で表される3Dシーンで、第2の3D点群で表されるオブジェクトに類似した3Dオブジェクトを検出できる。
類似した3Dオブジェクトを検出するために、本検出方法はニューラルネットワークを使用してスーパーポイントを潜在ベクトルにエンコードし、エンコードされたスーパーポイント間の類似度を決定する。よって、本検出方法は、前述のとおり、入力されたスーパーポイントをジオメトリー的に意味のある潜在表現に投影するニューラルネットワークのロバスト性を享受する。2つのスーパーポイント間の類似性の決定は、2つのスーパーポイントをエンコードし、前述のように2つのスーパーポイントのジオメトリー的に意味のある表現である潜在ベクトル間の類似度を計算するため、正確である。つまり、潜在ベクトル間に類似性が検出された場合、2つのスーパーポイント間に対応するジオメトリー的類似性があることを意味する。よって、本検出方法により、3D点群内の類似3Dオブジェクトのロバストな検出が可能である。
本学習方法と本検出方法は、例えば異なるユーザー及び/又は異なるコンピュータによって独立して実行してもよい。あるいは、学習方法と検出方法を同じコンピュータ実装プロセスに組み込んでもよい。本プロセスを、プロセスの一例のフローチャートを示す図1を参照して説明する。
本プロセスは、本学習方法を組み込んだオフライン段階を含む。オフライン段階は、本学習方法に従ってスーパーポイントのデータセットを提供するステップS10~S20を含む。オフライン段階は、本学習方法に従い、スーパーポイントに基づいてニューラルネットワークを学習させるステップS20をさらに含む。オフライン段階は、学習したニューラルネットワークをメモリに保存するステップをさらに含んでもよい。
本プロセスは、本検出方法を組み込んだオンライン段階も含む。オンライン段階は、本検出方法に従って、1つ以上の第1のスーパーポイント及び1つ以上の第2のスーパーポイントを提供するステップS40~S50を含む。その前に、オンライン段階は、学習したニューラルネットワークを提供するステップを含んでもよく、たとえば、オフライン段階で学習された後、学習したニューラルネットワークが保存されているメモリから当該ニューラルネットワークを取得することによって提供する。オンライン段階は、本検出方法に従い、第1及び第2のスーパーポイントをエンコードするステップS60をさらに含む。オンライン段階はさらに、本検出方法に従って、1つ以上の第1のスーパーポイントと1つ以上の第2のスーパーポイント間の類似性を決定するステップS70を含む。
以下で本学習方法についてさらに説明する。
本学習方法は、点群での3Dオブジェクト検出のための機械学習の方法である。
それ自体が公知のとおり、3D点群は、(通常は3D)座標を持つ3Dの点の順不同なセットであり、強度や色などの追加特性を任意で持っていてもよい(たとえば、追加的座標に封入される)。このデータの順不同な側面は、特に画像などの構造化されたグリッドと比較して、分析が困難である。3D点群にはさまざまな形式が存在し、たとえば、3D点群をもたらす3Dスキャンをキャプチャするのに使用されるセンサーによってその形式が異なるが、前述のように、ニューラルネットワークはこれらのさまざまな形式にとらわれない。現在、従来技術のセンサーは、数百万個の点の3D点群を提供し、非常に高品質で高密度な3Dスキャンを提供する。本明細書における任意の3D点群は、そのような高密度3Dスキャンから生じたものでもよい。点群は、CADオブジェクトやメッシュなどの他の3D表現から生成することもできる。本明細書における任意の3D点群は、そのような生成から生じたものでもよい。これについて、以下でさらに説明する。
3D点群での3Dオブジェクト検出は、3Dシーンで特定の3D形状又は3Dオブジェクトを検出/特定するタスクに対応する。検出は3Dバウンディングボックスを使用してもよく、たとえば、検出が行われたことを示すために、検出された各オブジェクトの周りに3Dバウンディングボックスを描く。本開示の文脈において、3D形状とは、3Dオブジェクト又はその一部のみであってもよい。検出は、入力された形状にそれぞれ類似した1つ以上の形状を検出する。本開示の文脈において、3Dオブジェクト間の類似性は、全体及び局所の両方のジオメトリー的類似性から構成される。
それ自体が公知のとおり、3D点群は3Dの点のセットであり、各点は、それぞれ3D空間の3つのカルテシアン座標によって記述される。これは、本明細書の各点群が、それぞれが3D点群の点の3D座標を表すトリプレットのセットに関連付けられ得ることを意味する。本明細書の任意の3D点群は、3Dの現実のシーンを表してもよく、現実のシーンとは現実世界の一断片(たとえば、プラントシーン又はオフィスシーン)であり、3D点群の各点は、そのシーンの点を表す。「現実のシーンを表す」とは、必ずしも3D点群が現実世界で実行される物理的測定に由来することを意味するわけではない。たとえば、本明細書の任意の3D点群は、以下でさらに議論されるように、現実のシーンの合成表現であってもよい。本明細書の任意の3D点群は、1つの3Dオブジェクトを表す又は含んでいてもよく、又は複数の3Dオブジェクトを含んでいてもよい。3D点群の各オブジェクトは、本明細書では3D点群の点のセットであり、各点は現実世界におけるように3Dオブジェクトの点を表し、点のセットは全体として現実世界の3Dオブジェクトの表現を形成する。
本明細書の任意の3D点群は、合成点群、すなわち、合成3D点群生成プロセスから生じる点群であってもよい。言い換えると、現実のシーンを表す合成点群は、現実のシーンの表現をキャプチャするために現実のシーンで実行される物理的な測定から生じるのではなく、数値で生成された現実のシーンの仮想表現を形成する。合成点群生成プロセスは、合成3D点群を出力する任意のコンピュータ実装プロセスを意味する。生成プロセスは、たとえば、CADモデルや3Dメッシュなどの他の3Dのジオメトリー表現から3D点群を生成してもよい。生成プロセスは、たとえば、参照により本明細書に組み込まれる参照文献「Xiangyu Yue et. al.,“A LiDAR Point Cloud Generator: from a Virtual World to Autonomous Driving”, 2018」のプロセスであってもよく、当該参照文献は、3DのCADシーン(ビデオゲーム環境など)から点群を抽出するための仮想スキャナーシミュレーションを提案する。
あるいは、本明細書において、任意の3D点群は、現実のシーンでの物理的測定に由来してもよい。そのような3D点群を提供するステップは、それぞれが各物理信号を取得するよう構成される1つ以上の物理センサー(たとえば、固定又はモバイルLIDARSなどの固定又はモバイル3Dスキャン)を提供し、現実のシーンで当該1つ以上の物理センサーを動作させて1つ以上の物理信号をそれぞれ取得する(すなわち、現実のシーンを各センサーでスキャンする)ステップを含んでもよい。よって、3D点群を提供するステップは、任意の既知の技術に従って、測定に基づいて3D点群を自動的に決定するステップを含んでもよい。従来技術のセンサーは、数百万個の点の点群を提供し、非常に高品質で高密度な3Dスキャンを提供することが可能であることに留意する。本明細書における任意の3D点群は、現実の環境の3D点群表現を収集するために広く使用されている3Dスキャナー(LIDARなど)などのセンサーによって取得されてもよい。現在、屋外に関して、複数の点群データセットが公開されており、このようなデータセットは、たとえば参照文献「Timo Hackel et. al., “SEMANTIC3D.NET: A new large-scale point cloud classification benchmark”, ISPRS 2017」及び「Andreas Geiger et. al., “Are we ready for Autonomous Driving? The KITTI Vision Benchmark Suite”, CVPR 2012」(参照により本明細書に組み込まれる)で議論されており、屋内に関しては、たとえば参照文献「Iro Armeni et. al, “3D Semantic Parsing of Large-Scale Indoor Spaces”, CVPR 2016」(参照により本明細書に組み込まれる)で議論されている。本明細書における任意の3D点群は、これらのデータセットのいずれか1つから取得してもよい。
本明細書における任意の3D点群は、10000、100000、1000000、10000000又は100000000個を超える点を含んでもよい。たとえば、シーン(たとえば、プラント/工場のシーン)を表す3D点群は、10000000又は100000000個を超える点を含んでもよい。3Dオブジェクトを表す任意の3D点群は、約20分の1の数の点を含んでもよい。
本明細書における任意の3D点群は、製造シーン、たとえばプラント/工場の内部(又はその一部分)を表してもよい。このようなシーンは、3D点群の一部分/部分で表される製造業の世界のオブジェクトを含んでもよい。本明細書における任意の3D点群は、そのようなオブジェクトを単に表していてもよい。そのようなオブジェクトは、(たとえば機械)部品又は部品のアセンブリ(部品のアセンブリは、部品自体と見なされてもよいため、部品と部品のアセンブリは同等である)、又は、より一般的には、任意の剛体のアセンブリ(たとえば、可動機構)であってよい。オブジェクトは、航空宇宙、建築、建設、消費財、ハイテク機器、産業機器、輸送、海洋、及び/又は沖合の石油/ガス生産又は輸送など、さまざまな産業分野に属していてもよい。よって、オブジェクトは、任意の機械部品であり得る産業製品であってよく、たとえば、陸上車両の部品(たとえば、自動車及び軽トラック機器、レーシングカー、オートバイ、トラック及びモーター機器、トラック及びバス、列車などを含む)、航空車両の部品(たとえば、機体機器、航空宇宙機器、推進機器、防衛製品、航空機器、宇宙機器などを含む)、海上車両の部品(海軍機器、商用船、沖合機器、ヨット及び作業船、船舶機器などを含む)、一般的な機械部品(たとえば、産業用製造機械、重機用機械又は機器、設置機器、産業用機器製品、金属加工製品、タイヤ製造製品などを含む)、電気機械又は電子部品(たとえば、家電機器、セキュリティ及び/又は制御及び/又は計測製品、コンピューティング及び通信機器、半導体、医療装置及び機器などを含む)、消費財(たとえば、家具、家庭及び庭用製品、レジャー用品、ファッション製品、耐久消費財小売業者の製品、織物類小売業者の製品などを含む)、パッケージ(たとえば、食品及び飲料及びタバコ、美容及びパーソナルケア、家庭用品の包装などを含む)である。オブジェクトは、多関節製造ロボットなどの製造ツールであってもよい。
本学習方法は機械学習のためのものである。
機械学習の分野でそれ自体公知であるように、ニューラルネットワークによる入力の処理には、入力への演算の適用が含まれ、演算は重み値を含むデータによって定義される。したがって、ニューラルネットワークの学習には、そのような学習用に構成されたデータセットに基づいて重みの値を決定するステップが含まれ、このようなデータセットは、学習データセット又はトレーニングデータセットと呼ばれることもある。そのため、データセットには、それぞれが各トレーニングサンプルを形成するデータ片が含まれる。トレーニングサンプルは、学習後にニューラルネットワークが使用される多様な状況を表す。本明細書の任意のトレーニングデータセットは、1000、10000、100000、又は1000000個を超える数のトレーニングサンプルを含んでもよい。本開示の文脈において、「データセットに基づいてニューラルネットワークを学習させる」とは、データセットがニューラルネットワークの学習/トレーニングデータセットであり、重みの値(「パラメーター」とも呼ばれる)がそれに基づくことを意味する。
本方法に関与するニューラルネットワークは、ディープニューラルネットワーク(DNN)であってもよい。DNNは、ニューラルネットワークにおける学習のための強力な一連の手法であり、たとえば「D. E. Rumelhart et. al., “Learning internal representations by error propagation, Parallel distributed processing: explorations in the microstructure of cognition”, vol. 1: foundations, MIT Press, Cambridge, MA, 1986」で説明されている(参照により本明細書に組み込まれる)。DNNは、コンピュータが観測データから学習できるようにする、生物学に着想を得たプログラミングパラダイムである。DNNは、他の方法(最小カット、SVM、ブースティング、又はランダムフォレスト)で使用される手動設計の低レベルの特徴量(Zernikeモーメント、HOG、Bag-of-Words又はSIFT)とは対照的に、中レベルの豊富な媒体表現を学習する能力を有する。そのため、DNNの使用は、オブジェクトの検出/認識に特に重要である。より具体的には、DNNは生データに基づくエンドツーエンド学習にフォーカスしている。つまり、DNNは、たとえば生の特徴から始まりラベルで終わるエンドツーエンドの最適化を達成することによって、特徴量エンジニアリングから可能な限り最大限に脱却する。
本学習方法の背景においては、ニューラルネットワークのトレーニングデータセットは提供されたスーパーポイントのデータセットであり、各スーパーポイントはトレーニングデータセットのトレーニングサンプルを形成する。トレーニングデータセットは、それぞれが3D点群の点のセットであるスーパーポイントで構成される。スーパーポイントは、1つ以上の3D点群、つまり、スーパーポイントのうち1つ以上を含む各点群から生じたものであってもよい。3D点群のスーパーポイントは、3D点群の点のセットであり、当該点のセットは、形状、つまり3Dオブジェクトの少なくとも一部(たとえばオブジェクト全体又はその局所形状)を表す。スーパーポイントの概念はよく知られている。スーパーポイントを提供するステップS10~S20は、たとえばすでに計算されているスーパーポイントをそのまま提供するステップを含んでもよい。あるいは、スーパーポイントを提供するステップS10~S20は、1つ以上の3D点群を提供するステップS10及び提供された3D点群からスーパーポイントを抽出するステップS20を含んでもよい。
1つ以上の3D点群を提供するステップS10は、メモリから3D点群を検索するステップを含んでもよい。あるいは、1つ以上の3D点群を提供するステップS10は、1つ以上の3D点群の少なくとも一部(たとえば、すべて)を取得するステップを含んでもよい。3D点群を取得するステップは、合成3D点群生成プロセスを実行するステップを含んでもよく、その場合、取得された3D点群は、前述のように、合成3D点群である。生成プロセスは、たとえば、CADシーンから3D点群を生成してもよい。あるいは、3D点群の取得は、前述のように、現実のシーン(たとえば、プラント/工場の内部)で1つ以上の物理センサー(たとえば、1つ以上のLIDAR)を動作させることによって3D点群の物理的な取得を実行するステップを含んでもよい。したがって、提供される3D点群は、合成3D点群のみ、物理的に取得された3D点群のみ、又は、合成3D点群と物理的に取得された3D点群のミックスで構成されてよい。
提供された3D点群からスーパーポイントを抽出するステップS20は、提供された3D点群それぞれに対し、3D点群から1つ以上のスーパーポイントを抽出するステップを含む。3D点群からのスーパーポイントの抽出は、3D点群からスーパーポイントを抽出する任意の既知の方法によって実行することができ、そのような方法はよく知られている。3D点群からスーパーポイントを抽出するための方法は、当技術分野で知られているように、点の近傍が考慮される(ある半径内又はK近傍点によって与えられる)距離ベースの抽出であってもよい。あるいは、スーパーポイントを抽出する方法は、当技術分野で知られているように、点群がジオメトリー的に均質なスーパーポイントに分割される、ジオメトリーベースの抽出であってもよい。
スーパーポイントを抽出する方法は、たとえば、参照により本明細書に組み込まれる参考文献「G. Elbaz et al., “3D Point Cloud Registration for Localization using a Deep Neural Network Auto-Encoder” CVPR 2017」に記載されている距離ベースの方法であってもよい。この方法は、RSCS(Random Sphere Cover Set)方法と呼ばれることもある。この方法では、レジストレーション問題に対して基本マッチング単位としてスーパーポイントを抽出できる。より具体的には、この方法は反復手順で構成され、各反復で、事前定義された半径Rsphereとした場合、スーパーポイントSPにまだ属していない点Pをランダムに選択し、Pを中心とする半径Rsphereの球の内側にある点のセットとして新しいSPを定義する。スーパーポイントの重複が許可され、つまり、1つの点が複数のスーパーポイントに含まれていてもよい。
図2は、RSCS法(半径0.3m)を使用した3D点群20からのスーパーポイントの抽出を示している。スーパーポイント201から209が抽出されている。
又は、スーパーポイントを抽出するための方法は、参照により本明細書に組み込まれる参考文献「L. Landrieu et. al, “Cut pursuit: Fast algorithms to learn piecewise constant functions on general weighted graphs”, SIAM Journal on Imaging Sciences, 2017」に記載されるジオメトリーベースの方法であってもよい。この方法では、セマンティックセグメンテーション問題に対してスーパーポイントを抽出できる。この方法では、線形性、平面性、散乱性(参照により本明細書に組み込まれる参照文献「J. Demantk et. al., “Dimensionality based scale selection in 3D lidar point clouds”. International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, 2011」でも説明されている)及び垂直性(参照により本明細書に組み込まれる参照文献「S. Guinard et. al.,“Weakly supervised segmentation-aided classification of urban scenes from 3d LiDAR point clouds”, ISPRS 2017」でも説明されている)などのジオメトリー的特徴を考慮してスーパーポイントを区別する。このような特徴は、K近傍点に基づく各点の局所近傍を説明する。次に、この方法は、参照により本明細書に組み込まれる参考文献「Guinard et. al.,“Weakly supervised segmentation-aided classification of urban scenes from 3d LiDAR point clouds”, ISPRS 2017」で説明されているように、最近傍点の隣接グラフを作成することを含む。この方法は、参照により本明細書に組み込まれる参照文献「L. Landrieu et. al,“Cut pursuit: Fast algorithms to learn piecewise constant functions on general weighted graphs”, SIAM Journal on Imaging Sciences, 2017」で説明されているように、カット追跡アルゴリズムを使用してグラフ上のジオメトリー的特徴に対して最小分割を実行する。このアルゴリズムには、分割の粗さを制御する正則化の重みが含まれている。上記で引用した参考文献「Guinard et. al.,“Weakly supervised segmentation-aided classification of urban scenes from 3d LiDAR point clouds”, ISPRS 2017」に記載される方法では、最初に各点の近傍に対してPCA(主成分分析)を計算することにより、線形値、平面値及び散乱値を計算し得る。次に、この方法は、点の位置の共分散行列の固有値を計算し、固有値を使用して、表面を推定することで法線を評価したり、他の意味のあるベクトルを導出したりし得る。
図3は、現在説明しているジオメトリーベースの方法を使用した(正則化の重みは0.1m)、図2ですでに示した3D点群20からのスーパーポイント抽出を示している。スーパーポイント301から308が抽出されている。
図4及び5は、同じ点群から異なる方法で得られたスーパーポイント間の比較を示している。図4は、距離ベースの方法で点群40から得られたスーパーポイントを示し、図5は、同じ点群40からジオメトリーベースの方法で得られたスーパーポイントを示している。
線形値は式(λ1-λ2)/λ1で与えられてよく、平面値は式(λ1-λ3)/λ1で与えられてよく、散乱値は式λ3/λ1で与えられてよく、式中、λ1、λ2及びλ3は点の位置の共分散行列の固有値である。図6は、3D点群の点の線形値を示し、図7は平面値を示し、図8は、散乱値を示している。
本方法は、好ましくは、スーパーポイント抽出にジオメトリーベースの方法、たとえば、上で論じた方法を使用して、この種類の方法の利点を享受してもよい。このような方法では、スーパーポイントが点群の1つの一様な部分にのみ対応する傾向があり(隣接グラフで得られるカットのため)、その後の処理上より便利になり、スーパーポイントはカットの正則化の重みに応じて、単一オブジェクトの一部になる傾向がある。これによって興味深い特性がもたらされる。たとえば、スーパーポイントの抽出が、分離された点群オブジェクトから抽出されたスーパーポイントと、シーン内(つまり他のオブジェクトも一緒)の同じオブジェクト(又は類似オブジェクト)から抽出されたスーパーポイント間で一貫している傾向がある。また、このような方法で得られたスーパーポイントは、同様のジオメトリー的特性を持つ点を再グループ化するため、学習ステップに必要な複雑さが単純化される。
次に、ニューラルネットワークを学習させるステップS30について説明する。
学習したニューラルネットワークとは、入力としてスーパーポイントを受け取り、当該スーパーポイントを潜在ベクトル、つまりスーパーポイントの次元よりも低い次元だが、ジオメトリー的に意味のある、スーパーポイントの潜在エンコードを形成するベクトルにエンコードするよう構成されるニューラルネットワークのことである。ニューラルネットワークはそうするように学習される、つまり、ニューラルネットワークがこのタスクを十分に実行するまで、学習中にニューラルネットワークの重みが変更される。ニューラルネットワークは、入力としてスーパーポイントを取り、それを潜在ベクトル空間に投影するように構成されるニューラルネットワークであるエンコーダーを含んでもよい。言い換えると、エンコーダーは、その特性を維持する傾向を持ちつつ、入力されたスーパーポイントを圧縮するようトレーニングされる。エンコーダーの学習は、損失を使用することにより、ジオメトリー的特性の観点から意味のある潜在表現への投影につながる。たとえば、学習は、損失を使用することにより、2つのスーパーポイント間の類似性とこれらスーパーポイントのエンコードの類似性の間に相関関係があるような学習である。ニューラルネットワークは、スーパーポイント(又はより一般的に3D点群)を入力として受け取り、回転などのオブジェクト変換に対して不変でありながら、スーパーポイントを低次元空間に投影する任意のニューラルネットワークであってよく、又は、そのような任意のニューラルネットワークを含んでもよい。たとえば、ニューラルネットワークのアーキテクチャは、参照により本明細書に組み込まれる参照文献「R. Spezialetti et. al., “Learning an Effective Equivariant 3D Descriptor Without Supervision”, ICCV 2019」に記載されるものであってよい。
ニューラルネットワークを学習させるステップS30はまた、たとえばエンコーダーの学習と同時に、デコーダーの学習を含んでもよく、デコーダーは、潜在ベクトルを入力として受け取り、それをスーパーポイントにデコードするように構成されるニューラルネットワークである。言い換えれば、デコーダーは、入力された潜在ベクトルに基づいて、スーパーポイント(たとえば、エンコーダーによってエンコードされたもの)の再構成を実行する。したがって、本方法によって学習するニューラルネットワークは、入力として入力スーパーポイントを受け取り、それを潜在ベクトルにエンコードするように構成されるエンコーダー、及び、入力として潜在ベクトルを受け取り、それをスーパーポイントにデコードするように構成されるデコーダーで構成されてよい。
たとえば、ニューラルネットワークは、エンコーダーとデコーダーを含むオートエンコーダーであってもよい。オートエンコーダーのアーキテクチャは、機械学習の分野でよく知られており、たとえば、参照により本明細書に組み込まれる参考文献「G. Elbaz et al.,“3D Point Cloud Registration for Localization using a Deep Neural Network Auto-Encoder”, CVPR 2017」で説明されている。機械学習の分野からそれ自体が公知のとおり、オートエンコーダーは、その入力(すなわち、本開示のオートエンコーダーではスーパーポイント)の情報を圧縮する。より具体的には、オートエンコーダーは、入力(本明細書では入力されたスーパーポイント)を潜在表現(たとえば、入力サイズより数倍小さいサイズ)に投影し、この表現から入力を再構成するようにトレーニングされる。オートエンコーダーは、複数の異なるスーパーポイントに関して、入力されたスーパーポイントの特性すべてを保持するよう試みつつ、情報を圧縮する。したがって、オートエンコーダーの学習は、ジオメトリー的特性の観点から意味のある潜在表現への投影に黙示的につながる。たとえば、学習は、2つのスーパーポイント間の類似性とそれらスーパーポイントのエンコードの類似性の間に相関関係があるような学習である。
学習させるステップS30は、損失を最小化するステップを含む。損失は、2つのスーパーポイント間の誤差にペナルティを課す。つまり、損失は入力として2つのスーパーポイントを受け取り、それらの間の誤差を計算、つまりそれらのジオメトリー的な誤差を定量化する。スーパーポイントがジオメトリー的に異なるほど、これらのスーパーポイントの損失の値は大きくなる。学習させるステップS30は、損失を使用して、ニューラルネットワークを入力されたスーパーポイントに適用した際に、トレーニングデータセットの入力されたスーパーポイントが潜在ベクトルによって十分に正確にエンコードされるかどうかを測定する。具体的には、学習させるステップS30は、以下の反復(イテレーション)を含んでもよい、
-トレーニングデータセットのスーパーポイントを選択する、
-ニューラルネットワーク又はニューラルネットワークのエンコーダーを適用し、スーパーポイントを潜在ベクトルにエンコードする、
-たとえば当該潜在ベクトルから別のスーパーポイントを再構成する、当該潜在ベクトルを別のスーパーポイントにデコードする、ニューラルネットワークのデコーダーを当該潜在ベクトルに適用することにより、当該潜在ベクトルから別のスーパーポイントを取得する、
-スーパーポイント及び別のスーパーポイントを入力として損失へ与えし、スーパーポイント及び別のスーパーポイントの損失の値を計算する、
-計算値が高すぎるかどうか、つまり、計算値が事前定義の閾値(収束閾値など)よりも高いかどうかを評価する。損失の値が高いと、潜在ベクトルがまだ十分な精度でスーパーポイントをエンコードしていないということであり、つまり、潜在ベクトルは、スーパーポイントの潜在表現としてまだ十分なジオメトリー的意味を持たない、
-計算値が高すぎる場合は、たとえばエンコーダー及び/又はデコーダーの重みを変更することで、ニューラルネットワークの重みを変更する。
-トレーニングデータセットのスーパーポイントを選択する、
-ニューラルネットワーク又はニューラルネットワークのエンコーダーを適用し、スーパーポイントを潜在ベクトルにエンコードする、
-たとえば当該潜在ベクトルから別のスーパーポイントを再構成する、当該潜在ベクトルを別のスーパーポイントにデコードする、ニューラルネットワークのデコーダーを当該潜在ベクトルに適用することにより、当該潜在ベクトルから別のスーパーポイントを取得する、
-スーパーポイント及び別のスーパーポイントを入力として損失へ与えし、スーパーポイント及び別のスーパーポイントの損失の値を計算する、
-計算値が高すぎるかどうか、つまり、計算値が事前定義の閾値(収束閾値など)よりも高いかどうかを評価する。損失の値が高いと、潜在ベクトルがまだ十分な精度でスーパーポイントをエンコードしていないということであり、つまり、潜在ベクトルは、スーパーポイントの潜在表現としてまだ十分なジオメトリー的意味を持たない、
-計算値が高すぎる場合は、たとえばエンコーダー及び/又はデコーダーの重みを変更することで、ニューラルネットワークの重みを変更する。
上記のステップは、学習させるステップS30の収束基準(機械学習の分野でそれ自体が知られている)に達しない限りは、及び/又は、データセットの十分な(つまり十分大きい)数のスーパーポイントが選択されていない限りは、繰り返され得る。反復中のスーパーポイントの選択は、データセットの各スーパーポイントが少なくとも1回選択されるようにしてもよい。任意の既知の学習戦略をその選択に使用してよい。
損失は再構成損失であってもよく、スーパーポイントと当該スーパーポイントの再構成の間の誤差にペナルティを課す。スーパーポイントの再構成は別のスーパーポイントである。スーパーポイントの再構成は、当該スーパーポイントをエンコードする潜在ベクトル、つまり、ニューラルネットワーク(又はそのエンコーダー)を当該スーパーポイントに適用することによって取得される潜在ベクトルから取得される。スーパーポイントの再構成は、たとえば、ニューラルネットワークのデコーダーを当該スーパーポイントをエンコードする潜在ベクトルに適用した結果であってよい。これは、たとえば、ニューラルネットワークが前述のようにエンコーダーとデコーダーを含むオートエンコーダーである場合である。再構成損失を使用すると、ニューラルネットワークによってエンコードされたスーパーポイントの再構成が、当該スーパーポイントとジオメトリー的に十分に類似しているかどうかを評価でき、これにより、スーパーポイントがジオメトリー的に十分に意味がある潜在ベクトルにエンコードされているかどうかを暗黙的に評価できる。再構成損失により、デコーダーによる正確な再構成も保証される。
誤差は、2つのスーパーポイント間のジオメトリー的な誤差/非類似性の任意の定量化であってよい。たとえば、誤差はスーパーポイント間の距離であってよい。言い換えれば、損失は、スーパーポイントとスーパーポイントの再構成間の距離にペナルティを課す再構成損失であってよい。距離は、3D点群間の任意の距離など、スーパーポイント間の任意の距離であってよい。たとえば、距離はチャンファー(Chamfer)距離であってよく、これにより、学習させるステップS30を実行するために必要な計算リソースを節約できる。チャンファー距離(dCD)は、次の式で求められる:
式中、S1及びS2は2セットのスーパーポイントであり、x及びyは、S1及びS2の点(つまり、3D座標を持つ3Dの点)を示し、
は、ユークリッド3Dノルムを示す。あるいは、距離はアースムーバー(Earth-Mover)距離であってもよい。
学習させるステップS30の前に、本学習方法は、スーパーポイントのサイズを適応させるステップを含んでもよい。つまり、本学習方法は、学習させるステップS30の前に、各スーパーポイントがニューラルネットワークの入力サイズと一致するように、トレーニングデータセット内の各スーパーポイントの点のサブサンプリング及び/又はアップサンプリングを含んでもよい。たとえば、各スーパーポイントの点は、サブサンプリング及び/又はアップサンプリング後、各スーパーポイントがそれぞれ3D座標を持つN個の点を含むようにしてもよい。このような場合、潜在ベクトルのサイズはN/2に等しくてもよい。図9は、入力サイズN=128及び潜在ベクトルサイズN/2=64を有するオートエンコーダーの概略図を示している。
前述したように、学習させるステップS30は、損失がトレーニングデータセットの(たとえばすべて又は大部分の)サンプル(つまり、スーパーポイント)に対して十分に低い値となるまで、ニューラルネットワークの重み(パラメーターとも呼ばれる)を変更する。これらの概念は、機械学習の分野でそれ自体が知られている。ニューラルネットワークはディープラーニングモデルの学習モデル(DNNとも呼ばれる)であってよく、ディープラーニングモデルは、一般に、これらのモデルを特性づける手動で値を設定できない数百万のパラメーターを備えている。これらのパラメーターは、学習アルゴリズムを使用して、モデルの学習中に設定される。学習アルゴリズムがモデルパラメータを更新しているとき、モデルは「トレーニングモード」にあると言われる。これは、各入力の固有の特性と、任意でもしある場合はそれに関連付けられたアノテーションのおかげで、各入力に対する出力に従ってモデルを連続的に「修正」することで構成される。モデルがトレーニングされると、パラメーターの更新は停止する。次に、モデルはオンライン段階でのみ使用されて新しい入力(つまり、トレーニングモード中には見えない入力)を処理して結果を返し、これは「テストモード」にあると言われる。本開示では、モデル(すなわち、ニューラルネットワーク)はDNNであってもよいので、これらの考慮事項がモデルに適用されてよい。
学習させるステップS30は教師なしであってよく、つまり、学習させるステップS30は教師なし学習であってもよい。3D点群の特徴抽出の教師なし学習パラダイムでは、学習中に使用される点群についてアノテーションは与えられない。これは、特徴の抽出が点群の特徴(3Dの点の座標など)のみに依存し、ラベル付けには依存しないことを意味する(たとえば、同じラベル付けされたカテゴリからすべての点群に対して同様の特徴を抽出する)。このようなトレーニング/学習を使用すると、学習したニューラルネットワークが、入力として受け取る点群の種類、点群によって表されるオブジェクト又はシーンのクラス/カテゴリ、及び/又はそれらの状況(たとえば、屋内又は屋外)にとわられないようになる傾向がある。
以下で本検出方法についてさらに説明する。
1つ以上の第1のスーパーポイント及び1つ以上の第2のスーパーポイントを提供するステップS40~S50は、すでに計算された第1のスーパーポイント及び第2のスーパーポイントを直接(たとえば、計算なしで)提供するステップを含んでもよい。あるいは、提供するステップS40~S50は、第1の3D点群及び第2の3D点群を提供するステップS40、及び、第1の3D点群から1つ以上の第1のスーパーポイントと、第2の3D点群から1つ以上の第2のスーパーポイントを抽出するステップS50を含んでもよい。抽出するステップS50は、前述の抽出するステップS20として、たとえば同じ距離ベースの方法又はジオメトリーベースの方法を使用して実行してもよい。第1の3D点群及び第2の3D点群を提供するステップS40は、前述の提供するステップS10として実行されてもよい。
1つ以上の第1のスーパーポイント及び1つ以上の第2のスーパーポイントを提供するステップS40~S50は、すでに計算された第1のスーパーポイント及び第2のスーパーポイントを直接(たとえば、計算なしで)提供するステップを含んでもよい。あるいは、提供するステップS40~S50は、第1の3D点群及び第2の3D点群を提供するステップS40、及び、第1の3D点群から1つ以上の第1のスーパーポイントと、第2の3D点群から1つ以上の第2のスーパーポイントを抽出するステップS50を含んでもよい。抽出するステップS50は、前述の抽出するステップS20として、たとえば同じ距離ベースの方法又はジオメトリーベースの方法を使用して実行してもよい。第1の3D点群及び第2の3D点群を提供するステップS40は、前述の提供するステップS10として実行されてもよい。
第1の3D点群とは3Dシーンを表す。シーンとは現実のシーン、つまり現実世界の一部分である。第1の3D点群は測定されてもよい、つまり、物理的な測定から生じたものであってもよく、たとえば、前述のように、現実世界におけるようにシーン上で1つ以上の物理センサー(LIDARなど)を動作させることによって、第1の3D点群を取得したものであってもよい。あるいは、前述のように、3D点群は(CAD環境などの)仮想3Dシーンから生成されたものでもよい。3Dシーンは、製造シーンであってもよく、たとえば、プラント/工場の内部、又はその一部分であってよい。したがって、3Dシーンは、製造業の世界の3Dオブジェクト、たとえば製造中又は製造済みの機械部品又は多関節製造ロボットなどの製造ツールを含んでもよい。
第2の3D点群は、3Dオブジェクト、たとえば製造業の世界の3Dオブジェクトを表す。第2の3D点群は、前述のように合成的に生成されてもよく、又は物理的測定から生じたもの、すなわち、測定された3D点群であってもよい。3Dオブジェクトは、第1の3D点群内の1つ以上の3Dオブジェクトと類似し得る、又は、部分的に類似し得る(たとえば、オクルージョン及び/又は回転などの動きまで)。本検出方法は、以下で説明するように、これらの3Dオブジェクト又はそれらの少なくとも一部を検出する。
1つ以上の第2のスーパーポイントは、以下で説明するように、本検出方法によって第1の3D点群における類似したスーパーポイントを検索するためのスーパーポイントであるため、「クエリ」と呼ばれることもある。これは、本検出方法がクエリの3D形状/オブジェクトと類似した3D形状/オブジェクトを検出することを意味する。クエリはユーザーによって提供されてよい。第1の点群は、本検出方法によってクエリエリアのオブジェクトと類似したオブジェクトが第1の点群で検索されるため、「検索エリア」と呼ばれることもある。第1の3D点群は、大きな点群であり得、たとえば、3D点群内の点の数と、当該方法を実行するコンピュータのメモリのサイズとの比率が、事前定義の閾値よりも大きくてもよい。たとえば、第1の3D点群は、16ギガバイトのメモリサイズ(標準的又は安価なコンピュータに相当)に対して約1億個以上の点を含んでもよく、及び/又は、第2の3D点群の点の数の20倍の数の点を含んでもよい。
本検出方法は、抽出されたスーパーポイント間の類似性を決定する。類似性を決定する抽出されたスーパーポイントの数を減らすために、1つ以上の第1のスーパーポイントを提供するステップS40~S50は、以下で説明する、任意の事前フィルタリングを含んでもよい。
具体的には、1つ以上の第1のスーパーポイントを提供するステップS40~S50は、上述したように、S40で提供される第1の3D点群から抽出するステップS50により、第1の3D点群の1つ以上の初期スーパーポイントを提供するステップを含んでもよい。次に、提供するステップS40~S50は、初期スーパーポイントの中から、以下を満たす初期スーパーポイントをそれぞれ選択することにより、1つ以上の初期スーパーポイントをフィルタリングしてもよい:
-スーパーポイントの寸法(ディメンション)と少なくとも1つの第2のスーパーポイントの寸法間の誤差が、事前定義の閾値よりも小さい、及び/又は、
-スーパーポイントの位置と少なくとも1つの第2のスーパーポイントの位置間の誤差が、事前定義の閾値よりも小さい。
-スーパーポイントの寸法(ディメンション)と少なくとも1つの第2のスーパーポイントの寸法間の誤差が、事前定義の閾値よりも小さい、及び/又は、
-スーパーポイントの位置と少なくとも1つの第2のスーパーポイントの位置間の誤差が、事前定義の閾値よりも小さい。
選択されたスーパーポイントは、1つ以上の第1のスーパーポイントを構成する。
したがって、提供するステップS40~S50は、まず初めに初期スーパーポイントを提供してもよく、たとえば、第1の3D点群からそれらを抽出し、それらの中から、少なくとも1つの第2のスーパーポイントとジオメトリー的に十分に類似しているものを選択することで、提供してもよい。これにより、多くのスーパーポイントが含まれ得る第1の3D点群のスーパーポイントをフィルタリングできる(たとえば、初期スーパーポイントは全体で第1の3D点群のすべての点をカバーしてもよい)。それにより、検出方法では、フィルタリングされた(すなわち、より小さな)セットの第1のスーパーポイントと第2のスーパーポイント間の類似性を評価するだけでよい。
それぞれが少なくとも1つの第2のスーパーポイントにジオメトリー的に十分に類似している初期スーパーポイントの選択は、初期スーパーポイントと第2のスーパーポイント間の寸法及び/又は位置の間の誤差に基づいている。具体的には、各初期スーパーポイントについて、検出方法は、初期スーパーポイントの寸法(たとえば、各寸法)と少なくとも1つの第2のスーパーポイントの寸法(たとえば、各寸法)間の誤差が事前定義の閾値よりも小さいかどうかを評価し、及び/又は、検出方法は、初期スーパーポイントの位置と少なくとも1つの第2のスーパーポイントの位置間の誤差が事前定義の閾値よりも小さいかどうかを評価する。次に、この方法は、1つ以上の第1のスーパーポイントとして、初期スーパーポイントの寸法と少なくとも1つの第2のスーパーポイントの寸法間の誤差が事前定義の閾値よりも小さい初期スーパーポイント、及び/又は、初期スーパーポイントの位置と少なくとも1つの第2のスーパーポイントの位置間の誤差が事前定義の閾値よりも小さい初期スーパーポイントを選択する。各誤差は、距離や比率などのジオメトリー的な誤差の任意の定量化であってよい。
フィルタリングは、初期スーパーポイントの中から、以下を満たす初期スーパーポイントをそれぞれ選択するステップを含んでもよい、
-スーパーポイントの各寸法と少なくとも1つの第2のスーパーポイントの対応寸法間の距離が、事前定義の閾値よりも小さい、及び/又は、
-スーパーポイントの各寸法と少なくとも1つの第2のスーパーポイントの対応寸法間の比率が、最大比率よりも小さく、最小比率よりも大きい、及び/又は、
-スーパーポイントの最も近い支持面からの相対的な高さと、少なくとも1つの第2のスーパーポイントの最も近い支持面からの相対的な高さとの差が、事前定義の閾値よりも小さい。
-スーパーポイントの各寸法と少なくとも1つの第2のスーパーポイントの対応寸法間の距離が、事前定義の閾値よりも小さい、及び/又は、
-スーパーポイントの各寸法と少なくとも1つの第2のスーパーポイントの対応寸法間の比率が、最大比率よりも小さく、最小比率よりも大きい、及び/又は、
-スーパーポイントの最も近い支持面からの相対的な高さと、少なくとも1つの第2のスーパーポイントの最も近い支持面からの相対的な高さとの差が、事前定義の閾値よりも小さい。
上記した各寸法間の距離、各寸法間の比率、及び相対的な高さの差は、それぞれ、スーパーポイント間のジオメトリー的な誤差の定量化/測定値である。スーパーポイントの寸法は、局所的な座標参照系内(LRF、参照により本明細書に組み込まれる参照文献「J. Yang et. al.,“Toward the Repeatability and Robustness of the Local Reference Frame for 3D Shape Matching: An Evaluation”, in IEEE Transactions on Image Processing, vol. 27, no. 8, pp. 3766-3781, Aug. 2018」に説明されている))のスーパーポイントの寸法であってもよい。
各初期スーパーポイントについて、スーパーポイントの各寸法と少なくとも1つの第2のスーパーポイントの対応寸法間の距離が事前定義の閾値よりも小さい場合、本検出方法は、当該初期スーパーポイントを選択し得るが、これは、たとえば、初期スーパーポイントの各寸法と第2のスーパーポイントの対応寸法間の距離が事前定義の閾値よりも小さい第2のスーパーポイントが存在するかを決定することで選択され得る。そうするために、この方法では、第2のスーパーポイントの各寸法iについて、次を満たす第2のスーパーポイントが存在するかどうかを決定してもよい:
式中、spqdimiは第2のスーパーポイントの寸法i、sprzdimiは検索エリアの初期スーパーポイントの寸法i、dmaxは事前定義の閾値であり、2つのスーパーポイントのサイズ間で許容される最大差とも呼ばれ、
は任意の適切なノルムである。dmaxは、値の範囲に属してもよく、その範囲は、たとえば、クエリと3D検出で目的とする変動性の関数として(つまりこれらに依存して)定義される。範囲は、たとえば、第2の3D点群によって表される現実(たとえば、点群取得の状況及び/又は質)の関数であってもよい。たとえば、関係するすべての3Dオブジェクトが、最小及び最大寸法が1cmから1mの間に含まれるスーパーポイントを持っている場合、関係するすべての3Dオブジェクトに対して、dmaxは20cmに等しくてもよい。本学習方法に関係する3Dオブジェクトの寸法がさらに大きい場合は、dmaxはもっと大きくてもよい。本学習方法に関係する点群が合成点群、又は非常に正確なスキャンで取得された点群である場合、ノイズが少ないため、dmaxは減少させてもよい。例では、dmaxは[5cm;1m]の範囲であってもよく、前述のグラフカットの正則化の重みの関数であってもよい。
追加的又は代替的に、スーパーポイントの各寸法と少なくとも1つの第2のスーパーポイントの対応寸法間の比率が最大比率よりも小さい、かつ、最小比率よりも大きい場合、本検出方法は、当該初期スーパーポイントを選択し得るが、これは、たとえば、初期スーパーポイントの各寸法と第2のスーパーポイントの対応寸法間の比率が最大比率よりも小さく、かつ、最小比率よりも大きい第2のスーパーポイントが存在するかを決定することで選択され得る。そうするために、この方法では、第2のスーパーポイントの各寸法iについて、次を満たす第2のスーパーポイントが存在するかどうかを決定してもよい:
式中、spqdimiiは第2のスーパーポイントの寸法i、sprzdimiiは検索エリアの初期スーパーポイントの寸法i、rminは最小許容比率とも呼ばれる最小比率、rmaxは最大許容比率とも呼ばれる最大比率である。rmax及びrminは、本方法に関係する点群の質、スーパーポイントの選択方法、及びクエリで目的とする変動性に基づいて選択されてよく、つまり、点群の質が悪いほど、スーパーポイントのカットは不正確であり、及び/又は、目的とする変動性が重要になるほど、rminはより減少し、rmaxはより増加し得る。rmaxは1.5より大きい、及び/若しくは、6より小さくてもよく、たとえば4であってよく、並びに/又は、rminは0.1より大きい、及び/又は、0.9より小さくてもよく、たとえば0.2であってよい。追加的又は代替的に、スーパーポイントの最も近い支持面からの相対的な高さと、少なくとも1つの第2のスーパーポイントの最も近い支持面からの相対的な高さとの差が、事前定義の閾値よりも小さい場合、本検出方法は、当該初期スーパーポイントを選択し得るが、これは、たとえば、初期スーパーポイントの最も近い支持面からの相対的な高さと、第2のスーパーポイントの最も近い支持面からの相対的な高さとの差が、事前定義の閾値よりも小さい第2のスーパーポイントが存在するかを決定することで選択され得る。相対的な高さは、クエリで期待される位置と検索エリアでの位置の違いを捉える。期待される位置は、クエリ内の動きのパラメータの関数として定義できる。事前定義の閾値は、スーパーポイントの精度に関する不確実性とクエリで認められる変動性の関数として選択できる。たとえば、事前定義の閾値は、クエリの高さを4で割った値に等くてもよい。事前定義の閾値は、たとえば30cmに等しくてもよい。
スーパーポイントの最も近い支持面とは、鉛直軸又は鉛直軸に十分に近い任意のベクトルを法線軸として持つ平面である(つまり、鉛直軸とのクロス積のノルムが事前定義の閾値よりも低い)。したがって、最も近い支持面は、床、又はスーパーポイントが表す形状の他の現実世界の物理的支持物、たとえば、テーブル、机、コンベヤー、又はカウンターを表してもよい。本検出方法は、初期スーパーポイントの中からの選択を実行するために、本検出方法に関係するスーパーポイントの最も近い支持面を計算又は検出してもよい。最も近い支持面の検出は、任意の既知の方法によって実施されてよい。たとえば、各点の近傍でPCAを実行、隣接グラフで最小カットを実行し、(たとえば、各スーパーポイントの水平面に平面値を使用して)水平面の特徴を持つスーパーポイントを検出することで、最も近い支持面を、前述のジオメトリーベースのスーパーポイントの抽出中に、自動的に検出してもよい。
つまり、各初期スーパーポイントについて、本検出方法は、上記した各寸法間の距離、各寸法間の比率、及び相対的な高さ間の差のうちの1つ以上を選択に使用してもよい。選択された初期スーパーポイントは、1つ以上の第1のスーパーポイントを形成する。
次に、検出方法は、ニューラルネットワーク又はそのエンコーダーを第1のスーパーポイントに適用することによって、各第1のスーパーポイントをそれぞれの第1の潜在ベクトルにエンコードする(S60)。本方法はまた、ニューラルネットワーク又はそのエンコーダーを第2のスーパーポイントに適用することによって、各第2のスーパーポイントをそれぞれの第2の潜在ベクトルにエンコードする。
次に、本検出方法は、1つ以上(たとえば、すべて)の第1のスーパーポイントの各第1のスーパーポイントと、1つ以上(たとえば、すべて)の第2のスーパーポイントの各第2のスーパーポイント間の類似性を決定する(S70)。そのために、1つ以上(たとえばすべて)の第1のスーパーポイントの各第1のスーパーポイント及び1つ以上(たとえばすべて)の第2のスーパーポイントの各第2のスーパーポイントについて、本方法は、第1のスーパーポイントをエンコードするそれぞれの第1の潜在ベクトルと、第2のスーパーポイントをエンコードするそれぞれの第2の潜在ベクトル間の類似度を計算する。すべての第1及び第2のスーパーポイントが、類似性を決定するステップS70に関与してもよい。特に、検出方法が第1のスーパーポイントの事前フィルタリングを考慮する場合、前述のとおり、事前フィルタリングによってジオメトリー的類似性を検出するためのスーパーポイントの関連性がすでに保証されているので、すべての第1及び第2のスーパーポイントが類似性を決定するステップS70に関与し得る。したがって、当該スーパーポイントすべてを関与させることは、決定するステップS70で使用される計算リソースの観点から比較的経済的でありながらも、3D検出にとって重要である。
類似度は、潜在ベクトル間の類似性の任意の測定値/定量化であってよい。ここで、潜在ベクトルは、潜在ベクトルがエンコードするスーパーポイントのジオメトリー的に意味のある潜在表現であるため、それらの間の類似度を計算することは、スーパーポイント間のジオメトリー的類似性を決定することになる。類似度は、次の種類のコサイン類似度cs(ei,ej)であってもよい:
式中、ei、ejは、2つのスーパーポイントをエンコードする潜在ベクトルである。類似度は、他の任意の類似度、たとえば、潜在空間に正則化を強制してニューラルネットワークが学習された場合、ユークリッド距離であってもよい。
類似度の計算により、第1のスーパーポイントと第2のスーパーポイントの間にそれぞれの類似性スコアが得られ、各類似性スコアは、2つの潜在ベクトル間の類似度の値(つまり、S70で計算される値)である。したがって、決定するステップS70によって、第1の3D点群の形状、すなわちその中の3Dオブジェクトの局所部分を表す第1のスーパーポイントと、第2の3D点群の形状、すなわち第2の3D点群によって表される3Dオブジェクトの局所部分を表す第2のスーパーポイント間の類似性スコアが得られる。本方法は、計算された類似性スコアの中で、事前定義の閾値よりも高い類似性スコアを評価することをさらに含んでもよい。これら類似性スコアのそれぞれのスコアは、エンコードする2つの潜在ベクトル間の類似度の値が事前定義の閾値よりも高い第1のスーパーポイントと第2のスーパーポイントの対を表す。この場合、第1のスーパーポイントは第2のスーパーポイントとマッチングすると言う。事前定義の閾値は、エンコーダーの投影特性及び/又はユーザが望む類似性のレベルに対して定義されてもよい。事前定義の閾値は、(たとえば、対象用途のために)類似していると手動でアノテーションを付けたスーパーポイントのデータセットに基づいて、自動的に取得してもよい。この場合、閾値は、類似しているとラベル付けされた2つのスーパーポイント間で取得される最小の類似性を計算することによって取得してもよい。この自動取得により、事前定義の閾値は[0.7;1]であってもよく(たとえば、目的とする類似性及び/又は使用されるアーキテクチャに応じて選択できる)、たとえば、0.8に等しくてもよい。
したがって、本検出方法は、決定するステップS70後、検索エリア内のn個のマッチングした第1のスーパーポイントのセット(SPrz
1,…,SPrz
n)を、クエリ内のマッチングしたスーパーポイントとの対応するマッチング/類似性スコアmqi((mqi,…,mqm),…,(mqi,…,mqk))と一緒に提供してもよい。
本検出方法はさらに、第1のスーパーポイントが複数のグループに分類され、各グループは、第2のスーパーポイント(つまりクエリ)によって形成された第2の点群の3Dオブジェクトに類似する第1の3D点群の3Dオブジェクトを表すように、マッチングした第1のスーパーポイントを一緒にグループ化するステップS80をさらに含んでもよい。よって、クエリ(すなわち、第2のスーパーポイント)の局所形状に類似する第1の3D点群の局所形状(すなわち、マッチングした第1のスーパーポイント)を決定した後、マッチングした第1のスーパーポイントをグループ化するステップS80により、本検出方法は、クエリによって表される3Dオブジェクトにジオメトリー的に類似している3Dオブジェクトを第1の3D点群内に見つける。
グループ化するステップS80は、それぞれが少なくとも1つの第2のスーパーポイントに対して事前定義の閾値よりも大きい類似性が決定された第1のスーパーポイントの中から(すなわち、マッチングした第1のスーパーポイントの中から)、各グループが第2の3D点群に類似した形状を有する、第1のスーパーポイントの1つ以上のグループを決定するステップS80にあってもよい。言い換えれば、決定するステップS80は、マッチングした第1のスーパーポイントのジオメトリー的特性、たとえば、互い及び/又は参照点(たとえば、クエリの中心)に対する相対的な向き及び/又は相対的な位置を、クエリのスーパーポイントの対応する特性と比較してもよく、これにより、マッチングした第1のスーパーポイントを、それぞれがクエリとジオメトリー的に類似したグループにグループ化してもよい。本検出方法は、任意の既知のグループ化方法を用いて決定するステップS80を実行してもよい。グループ化は回転に対して不変であってもよく、つまり、第1のスーパーポイントのグループが3D点群によって表される3Dオブジェクトの回転を表す場合でも、グループ化はクエリに類似した第1のスーパーポイントのグループを検出する。
ここで、グループ化するステップS80の例を説明する。
一例では、1つ以上のグループを決定するステップS80は、クエリ内のスーパーポイントのセットからグラフを計算する方法に従って実行することができ、これについて次に説明する。この方法は、次のタイプの完全グラフを生成し、Gq=(SPsq,E)、式中、SPsqはスーパーポイントを表すノードであり、Eは、それぞれが2つのノードを接続するエッジのセットである。この方法は、第2のスーパーポイントのグラフを提供する(たとえば、任意の既知の方法によって決定する)ステップを含む。第2のスーパーポイントのグラフにはノードとエッジがあり、各エッジは2つのノードを接続している。各ノードは第2のスーパーポイントを表す。各ノードは、エンコーダーの特徴及び/又は寸法のうちの1つ以上であり得る属性を持っていてもよい。各エッジは、エッジが接続するノードによって表される2つのスーパーポイント間のジオメトリー関係を表す。ジオメトリー関係とは、2つのスーパーポイントの互いに対する相対的な配置及び/又は向きであってもよい。エッジは、ジオメトリー関係のジオメトリー属性を1つ以上有する。属性は、エッジに関連付けられたデータを形成してもよい。属性は、以下のうち1つ以上を含んでもよい:
-エッジで接続されたノードによって表される2つのスーパーポイントの幾何中心間の距離、たとえば、スーパーポイントが多関節オブジェクト(多関節製造ロボットなど)を表す3D点群に属する場合の妥当な距離、及び/又は、
-エッジで接続されたノードによって表される2つのスーパーポイントの表面間の相対的な向き、たとえば、スーパーポイントが多関節オブジェクト(多関節製造ロボットなど)を表す3D点群に属する場合の妥当な向き。
-エッジで接続されたノードによって表される2つのスーパーポイントの幾何中心間の距離、たとえば、スーパーポイントが多関節オブジェクト(多関節製造ロボットなど)を表す3D点群に属する場合の妥当な距離、及び/又は、
-エッジで接続されたノードによって表される2つのスーパーポイントの表面間の相対的な向き、たとえば、スーパーポイントが多関節オブジェクト(多関節製造ロボットなど)を表す3D点群に属する場合の妥当な向き。
グラフの提供は、たとえばエッジごとにジオメトリー属性を決定(たとえば、計算)するステップを含んでもよい。たとえば、スーパーポイントの表面は、当技術分野でそれ自体が公知のとおり、局所的な座標参照系(LRF)推定によって取得してもよく、たとえば、参照により本明細書に組み込まれる参照文献「J. Yang et. al., “Toward the Repeatability and Robustness of the Local Reference Frame for 3D Shape Matching: An Evaluation”, in IEEE Transactions on Image Processing, vol. 27, no. 8, pp. 3766-3781, Aug. 2018」で実施されているLRF推定であってもよい。
クエリ内のスーパーポイントのセットからグラフを計算するための方法は、グラフの提供に加えて、次に、1つ以上のグラフを形成するステップを含む。各グラフにはノードとエッジがあり、各エッジは2つのノードを接続する。各ノードは第1のスーパーポイントを表す。各エッジは、エッジが接続するノードによって表される2つのスーパーポイント間のジオメトリー関係を表す。ジオメトリー関係は、提供されたグラフのジオメトリー関係と同じ性質のものであってよく、たとえば、2つのスーパーポイントの相対的な位置及び/又は向きであってもよい。1つ以上のグラフの形成は、たとえば全グラフに対して同時、又は、グラフ1つずつに対して、各グラフのエッジを構築して実行される。構築された各エッジは、2つのノード(つまり、マッチングした第1のスーパーポイントをそれぞれ表す)を接続する。構築された各エッジは、第2のスーパーポイントのグラフのエッジのジオメトリー属性と同様のジオメトリー属性を1つ以上有する。たとえば、エッジの構築は、提供されたグラフのサブグラフを識別し、当該サブグラフを第1のスーパーポイントに関して、たとえばボトムアップ方式で再構成するステップを含んでもよい。
具体的には、エッジの構築は、マッチングした第1のスーパーポイントを繰り返し探索し、探索した第1のスーパーポイントごとに、探索した第1のスーパーポイントを表すノードを別の第1のスーパーポイントを表す別のノードに接続する1つ以上の妥当なエッジを見つけるステップを含んでもよい。「妥当なエッジ」とは、提供されたグラフにおいて、2つの第1のスーパーポイントとマッチングする2つの第2のスーパーポイントを表すノード2つを接続する、エッジの属性と、一致する属性を持つエッジを意味する。エッジを見つけるステップは、エッジが構築された場合に、当該エッジが、提供されたグラフに存在し、2つの第1のスーパーポイント(構築されていたらエッジによって接続される)とマッチングする2つの第2のスーパーポイントを表すノード2つを接続するエッジと同様の属性を持つかどうかを評価するステップを含んでもよい。同様の属性を持つ場合、見つけた結果として、エッジを構築する。したがって、エッジの構築は、それらの属性を計算するステップを含んでもよく、これは、提供されたグラフの場合と同じように実行されてもよい。「同様の属性」又は「一致する属性」とは、例において、属性が、等しい若しくは実質的に等しい、又は、その差(たとえば、距離及び/又は比率によって測定される差)が事前定義された(たとえばクエリ内の点の数に関して定義された)閾値よりも低いことを意味する。妥当なエッジを見つけるステップは、たとえば、クエリの2つのスーパーポイント間の最大妥当距離よりも小さい(又はクエリの予想最大サイズよりも小さい)距離で離れているスーパーポイントのエッジのみを比較することで最適化できる。
形成された各グラフは、エッジの構築から生じたものである(つまり、エッジの構築により、1つ以上のグラフが形成される)。各グラフは、第1のスーパーポイントのそれぞれのグループに対応し、つまり、グラフのノードは、グループのスーパーポイントを表す。このグラフのエッジは、提供されたグラフのエッジとそれぞれ類似している。
前述のグループ化するステップS80の例、つまり、第2のスーパーポイントのグラフを提供し、第1のスーパーポイントの1つ以上のグラフを形成することによりグループ化するステップS80の例は、3Dオブジェクトが非多関節オブジェクトであるか多関節オブジェクトであるかに関係なく、それぞれがクエリ内の3Dオブジェクトに類似した検索エリア内の3Dオブジェクトを表す第1のスーパーポイントのグループを形成できるため、特にロバストである。
別の例では、1つ以上のグループを決定するステップS80は、オブジェクトの中心に対してハフ投票法を使用することによって実行してもよく、この方法は、参照により本明細書に組み込まれる参考文献「F. Tombari et. al.,“Hough Voting for 3D Object Recognition under Occlusion and Clutter”, IPSJ Transactions on Computer Vision and Application March 2012」で説明されている。この方法では、マッチングしたクエリの1つ以上のスーパーポイントに従って、検索エリアの各スーパーポイントに関して、投票によって可能性のある類似オブジェクトの中心を特定しようとする。これは、同じ方向と向きに投票するために、クエリのスーパーポイントと検索エリアのスーパーポイントの相対的な向きをキャプチャするステップを含んでもよい。このような相対的な向きは、LRF推定を介して取得することができ、たとえば、参照により本明細書に組み込まれる参考文献「J. Yang et. al.,“Toward the Repeatability and Robustness of the Local Reference Frame for 3D Shape Matching: An Evaluation”, in IEEE Transactions on Image Processing, vol. 27, no. 8, pp. 3766-3781, Aug. 2018」で実施されているLRF推定が挙げられる。
上記で引用した参考文献「F. Tombari et. al.,“Hough Voting for 3D Object Recognition under Occlusion and Clutter”, IPSJ Transactions on Computer Vision and Application March 2012」から公知である通り、ハフ投票法は、検索エリアの3D空間をボクセルのセットに分解する3Dグリッドを定義するステップを含んでもよい。3Dグリッドの最適なサイズは、クエリのサイズとLRF投票を推定する精度に関して定義できる。一例では、ボクセルのサイズは次の式によって得ることができる:
式中、querydimsは軸を揃えたときのクエリの寸法、fは中心の精度を決定するための係数(たとえば、fは0.2に等しくてよい)、corrLRFは、特に大きなオブジェクトの場合に近似LRFの効果を軽減する係数(たとえば、共分散行列に基づく標準的なLRF実施の場合はcorrLRFは1.5に等しくてもよい)である。
上記で引用した参考文献「F. Tombari et. al.,“Hough Voting for 3D Object Recognition under Occlusion and Clutter”, IPSJ Transactions on Computer Vision and Application March 2012」から公知である通り、ハフ投票法は、次に、たとえばクエリの異なるマッチングしたスーパーポイントの数に対してボクセルごとに数えることで、投票ボクセルを集計してもよい。これには、クエリ内のスーパーポイントの数に関して定義された閾値を使用して、クエリに類似する、可能性のあるオブジェクトの中心を表すボクセルを決定するステップが含まれてもよい。この閾値は、オブジェクトの特定の部分のターゲットとなり得る妥当なオクルージョンの数と変動性を制御する。したがって、個の閾値は、推論/検出中にユーザーが変更できるパラメーターとして直接アクセスできる。
図10~図12は、ハフ投票法を示している。図10は、図2にすでに示した点群を示しており、スーパーポイントが抽出されている。これらのスーパーポイントはクエリを表す。及びクエリの中心および各スーパーポイントの中心からの距離を図10に示す。たとえば、参照100はそのような距離を示す。図11は、図10の点群によって表されるオブジェクトと類似したオブジェクトを形成する、検索エリアのスーパーポイントのグループを示す。図11は、各スーパーポイントの中心から投じられた投票も示している。たとえば、参照110はそのような投票を示す。図12は、ハフ投票法が回転を踏まえた投票を行うことを示す図である。
グループ化するステップS80は、必ずしも本検出方法において実行されるとは限らないことを理解されたい。たとえば、第2の点群は1つのスーパーポイントのみで構成されていてもよく、その結果、グループ化は必要ない。
本検出方法は、決定された各グループのバウンディングボックスを決定するステップS90をさらに含んでもよい。バウンディングボックスは、グループを包み込む/囲む。バウンディングボックスを決定するステップS90は、各グループの中心の周りにバウンディングボックスを描くステップ、及び、たとえばその前にこのセンターを決定するステップを含んでもよい。各バウンディングボックスのサイズ及び/又は寸法は、第2の3D点群を囲む(たとえば、最小)バウンディングボックスのサイズに等しい、又は実質的に等しくてもよい。
グループ化するステップS80がスーパーポイントのグラフを計算する前述の方法を使用する場合、バウンディングボックスは、それぞれが第1のスーパーポイントのそれぞれのグループを包み込むように描いてもよく、また、クエリを囲む(たとえば最小)バウンディングボックスのサイズに等しい又は実質的に等しいサイズを持っていてもよい。
グループ化するステップS80がハフ投票法を使用する場合、妥当なオブジェクトの中心を決定する際に、バウンディングボックスを検索エリアに描いてもよく、妥当な中心を中心にして(クエリのバウンディングボックスと同じ寸法で)、及び/又は、妥当なオブジェクトの中心を表すボクセルに投票したスーパーポイントの周りに描いてもよい。
上述のとおり、グループ化するステップS80が本検出方法で実行されない場合、決定するステップS90は、マッチングした各スーパーポイントの周りにバウンディングボックスを決定するだけであってよいことを理解する。
決定するステップS90はまた、第2の3D点群の周りのバウンディングボックスを決定してもよい。本検出方法は、決定された各バウンディングボックスを表示するステップをさらに含んでもよい。これにより、本検出方法のユーザーは、検索エリアで検出された3Dオブジェクトの視覚的なフィードバックを得ることができる。
本検出方法はさらに、各グループについてグループ内の第1のスーパーポイントと1つ以上の第2のスーパーポイントとの類似性を測定することによってグループの類似性スコアを決定するステップをさらに含んでもよい。各グループの類似性スコアは、当該グループと、1つ以上の第2のスーパーポイントによって形成されるスーパーポイントのグループ間のジオメトリー的類似性のスコアである。本検出方法は、そのようなジオメトリー的類似性のスコアのいずれかを計算することによって類似性スコアを決定してもよい。類似性は、用途によって変わってもよく、及び/又は、複数の手がかりに基づいていてよい。類似性スコアは、以下のうち1つ以上を含んでもよい:
-スーパーポイントマッチング類似性スコア(spms):これは、第1のスーパーポイントの所定のグループの(クエリの識別されたスーパーポイントと)マッチングしたスーパーポイントのマッチングスコアを組み合わせたものである。ここで、nをクエリ内のスーパーポイントの数、miを第1のスーパーポイントのグループとの各スーパーポイントのマッチングスコア(マッチングしない場合mi=0)とすると、スコアは次の式で求められる:
-色ヒストグラムの比較、たとえば、色情報が利用できる用途(消火器の検出など)の場合である。ヒストグラムは、バウンディングボックスに含まれる検索エリアのすべての点、又はマッチングしたスーパーポイントのみに対して計算してもよく、及び/又は、
-バウンディングボックスに含まれる検索エリアのすべての点、又はマッチングしたスーパーポイントのみに対して使用してもよい全体形状のディスクリプタ。
-スーパーポイントマッチング類似性スコア(spms):これは、第1のスーパーポイントの所定のグループの(クエリの識別されたスーパーポイントと)マッチングしたスーパーポイントのマッチングスコアを組み合わせたものである。ここで、nをクエリ内のスーパーポイントの数、miを第1のスーパーポイントのグループとの各スーパーポイントのマッチングスコア(マッチングしない場合mi=0)とすると、スコアは次の式で求められる:
-バウンディングボックスに含まれる検索エリアのすべての点、又はマッチングしたスーパーポイントのみに対して使用してもよい全体形状のディスクリプタ。
上記の類似性スコア(類似性メトリックとも呼ばれる)は、対象用途に応じて、全体の類似性スコアを取得するために一緒に使用してもよく、又は、個別に使用してもよい。
本検出方法は、各グループの類似性スコアの決定に加えて、グループの類似性スコアを表示するステップをさらに含んでもよい。本検出方法は、たとえば、すべてのグループの類似性スコアを同時に表示してもよく、たとえば類似性スコアのランクを降順に配置して表示する。本検出方法はまた、グループの類似性スコアの表示と同時に、グループの周り、及び任意で第2の点群の周りのバウンディングボックスを表示してもよい。本検出方法は、バウンディングボックスの寸法も表示してもよい。本方法はまた、各グループについて、グループの類似性スコアが類似性スコアの閾値を超えていることを視覚的に表示してもよい。
類似性スコアの閾値は、類似性のパーセンテージであってもよい。類似性スコアの閾値は、ユーザーが選択してもよい。たとえば、類似性スコアの閾値は、線とハンドル(任意の形状)を持つスライダーとしてユーザーに表示してもよく、線は閾値のすべての可能な値(たとえば、0%から100%)を表し、ハンドルは、ユーザーが視覚的に(たとえば、ハンドルをクリック又はタッチして)選択でき、線に沿ってスライド(たとえば、ドラッグ&ドロップ操作)して、類似性スコアの閾値の値を設定してもよい。スライダーは、本検出方法を用いるユーザーが使用するコンピュータのグラフィカルユーザーインターフェースに表示されるウィジェットの一部であってもよく、ウィジェットは、メモリに保存されたソフトウェアのコンポーネントである。ユーザーによる閾値の選択は、たとえば方法の初期ステップとして、本検出方法の実行前に行われてもよく、ユーザーは、希望する類似性スコアと、表示したいバウンディングボックスを事前に定義する。追加的又は代替的に、選択は、バウンディングボックスを決定するステップS90の後に行われてよく、その結果、ユーザーは、十分な類似性スコアを有するグループを囲むバウンディングボックスのみを表示する。あるいは、ユーザーは、本方法の実行中に継続的に類似性スコアの閾値を選択してもよく、たとえば、ユーザーが類似性スコアの閾値を選択すると、本検出方法のステップが実行され、それぞれが閾値を超える類似性スコアを持つグループを囲むバウンディングボックスが検出され(つまり、グループが検出されて、バウンディングボックスが作成される)、ユーザーの選択の結果としてリアルタイムで表示され、ここで、バウンディングボックスの表示は、ユーザーの継続的な類似性スコアの閾値の変更に応じて、継続的かつリアルタイムに適応される。
図13は、本検出方法のユーザが使用するコンピュータのグラフィカルユーザインターフェース上に表示されたウィジェット130のスクリーンショットを示している。ウィジェットでは、類似性スコアの閾値を選択できる。ウィジェット130は、列1300に、それぞれに名前が割り当てられた第1のスーパーポイントの検出されたグループを表示する。ウィジェット130はさらに、各グループのバウンディングボックスの寸法の列1304を表示する。ウィジェット130はさらに、各グループの類似性スコアの列1302を表示する。ウィジェットはさらに、グループごとに、グループの類似性スコアが類似性スコアの閾値を上回っている(又は上回っていない)ことを示す視覚的な表示1310の列を表示する。ウィジェットは、線1308及びハンドル1306で構成されるスライダーを含む。ユーザーは、ハンドル1306を視覚的に選択し(たとえば、ハンドルをクリック又はタッチして)、線1308に沿って(たとえば、ドラッグ&ドロップ操作により)スライドさせて、類似性スコア閾値の値を変更してもよい。図13に示されているスクリーンショットでは、閾値は84%に設定されている。
次に、学習方法と検出方法を組み込んだプロセスの実施について説明する。
この実施により、例ベースの3Dオブジェクト検出が可能になり、これは、所定の点群の例に類似した形状/オブジェクトを、より大きな点群において特定することにある。特定は、検出されたオブジェクトの周囲の3Dバウンディングボックスに基づいている。本実施では、検出にディープラーニング方式を採用している。この実施の評価基準は次のとおりである:
-入力として点群クエリ(例)とより大きな点群(検索エリア)が与えられる、
-実施は、クエリに類似した検索エリア内のオブジェクトの周囲に3Dバウンディングボックスを出力することを目指している。ただし、検出するオブジェクトの数は事前にはわからない。検索エリアには、選択したクエリに類似したオブジェクトが含まれていない可能性があることに留意する。
-例ベースのオブジェクト検出は、クラスにとらわれない、つまり、いかなるオブジェクトクエリでも類似したオブジェクトを検出できる必要がある。
-例ベースのオブジェクト検出は、状況にとらわれない、つまり、検出はオブジェクトの状況/背景(屋内、屋外など)に依存しない必要がある。点群の状況に関する特有の事前知識は使用しない。
-点群の表現は、ノイズ、オクルージョン、点分布に対してロバストであり、また、さまざまな種類の変換(回転など)やオブジェクトの位置(ロボットアームなどの多関節オブジェクト)に対して不変である必要がある。これは、局所的な学習ベースの表現の使用によって可能になる。
-実施は、必ずしもクエリを表す正確なインスタンスではない類似のオブジェクトを特定することを目的としている。実際に、クエリが検索エリアに属さない可能性もある。
-入力として点群クエリ(例)とより大きな点群(検索エリア)が与えられる、
-実施は、クエリに類似した検索エリア内のオブジェクトの周囲に3Dバウンディングボックスを出力することを目指している。ただし、検出するオブジェクトの数は事前にはわからない。検索エリアには、選択したクエリに類似したオブジェクトが含まれていない可能性があることに留意する。
-例ベースのオブジェクト検出は、クラスにとらわれない、つまり、いかなるオブジェクトクエリでも類似したオブジェクトを検出できる必要がある。
-例ベースのオブジェクト検出は、状況にとらわれない、つまり、検出はオブジェクトの状況/背景(屋内、屋外など)に依存しない必要がある。点群の状況に関する特有の事前知識は使用しない。
-点群の表現は、ノイズ、オクルージョン、点分布に対してロバストであり、また、さまざまな種類の変換(回転など)やオブジェクトの位置(ロボットアームなどの多関節オブジェクト)に対して不変である必要がある。これは、局所的な学習ベースの表現の使用によって可能になる。
-実施は、必ずしもクエリを表す正確なインスタンスではない類似のオブジェクトを特定することを目的としている。実際に、クエリが検索エリアに属さない可能性もある。
本実施は汎用性を提供し、つまり、検出はオブジェクト(オフライントレーニング中に見えていないオブジェクト/状況でも)と点群の種類(点群の取得に特別な制約は必要ない)に依存しない。本実装は、単一の形状クエリを所与とて、部分的に類似した形状を特定できる(つまり、所定の形状クエリに対応する正確なインスタンスを特定するだけではない)。本実施により、点群内の形状を検出することを目的とした3D形状検出が可能になる。
本実施は、ある点群内において所定の形状クエリに類似するすべての形状に対して効率的かつ汎用性のある方法で3D検出を実行するための学習ベースのフレームワークを提供する。フレームワークの学習部分は、ディープラーニング手法(つまり、ディープニューラルネットワークを使用する)に基づいている。
本実施は、図14に記載されたフレームワークに従う。図14に示されるように、本実施は、オフライン段階及びオンライン段階を含む。
-オフライン段階:この段階は、スーパーポイントに基づいてエンコーダーをトレーニングする。これには2つの主要なステップが含まれる。この段階はユーザーにとってはトランスペアレントであることに留意する。2つの主要なステップは次のとおりである:
・・スーパーポイントの抽出。スーパーポイントは、所定の点群の局所部分を表す点のサブセットである。分離された点群オブジェクトから抽出されたスーパーポイントと、シーン内(つまり、他のオブジェクトも一緒)の同じオブジェクト間には一貫性がある。
・・スーパーポイントのトレーニングデータセットに基づくエンコーダー学習。これは、点群のDNNベースモデルにある。
-オンライン段階:点群の形状クエリと点群シーンが与えられ、両方の入力からスーパーポイントが抽出され、オフライン段階で学習したエンコーダーを使用してエンコードされる。クエリのスーパーポイントのエンコードは、シーンのスーパーポイントのエンコードと比較される。1つのスーパーポイントのエンコードに最も類似したものがマッチングする。
-オフライン段階:この段階は、スーパーポイントに基づいてエンコーダーをトレーニングする。これには2つの主要なステップが含まれる。この段階はユーザーにとってはトランスペアレントであることに留意する。2つの主要なステップは次のとおりである:
・・スーパーポイントの抽出。スーパーポイントは、所定の点群の局所部分を表す点のサブセットである。分離された点群オブジェクトから抽出されたスーパーポイントと、シーン内(つまり、他のオブジェクトも一緒)の同じオブジェクト間には一貫性がある。
・・スーパーポイントのトレーニングデータセットに基づくエンコーダー学習。これは、点群のDNNベースモデルにある。
-オンライン段階:点群の形状クエリと点群シーンが与えられ、両方の入力からスーパーポイントが抽出され、オフライン段階で学習したエンコーダーを使用してエンコードされる。クエリのスーパーポイントのエンコードは、シーンのスーパーポイントのエンコードと比較される。1つのスーパーポイントのエンコードに最も類似したものがマッチングする。
オフライン学習
オフライン学習は、任意の3Dスーパーポイントを、意味のあるジオメトリー情報を提示する潜在表現に投影できるエンコーダーをトレーニングし、つまり、2つのスーパーポイントのエンコード間の距離が、これら2つのスーパーポイントのジオメトリー的類似性(たとえば、スーパーポイントの向きに関して)と高度に相関するようにする。距離は、コサイン類似性やユークリッド距離など、2つのベクトル間の類似度の尺度として定義される。
データセットの生成:スーパーポイント抽出
オフライン学習は、任意の3Dスーパーポイントを、意味のあるジオメトリー情報を提示する潜在表現に投影できるエンコーダーをトレーニングし、つまり、2つのスーパーポイントのエンコード間の距離が、これら2つのスーパーポイントのジオメトリー的類似性(たとえば、スーパーポイントの向きに関して)と高度に相関するようにする。距離は、コサイン類似性やユークリッド距離など、2つのベクトル間の類似度の尺度として定義される。
データセットの生成:スーパーポイント抽出
最初に、エンコーダーをトレーニングするためにスーパーポイントのデータセットが構築される。エンコーダーをトレーニングするためのスーパーポイントの多様性は、任意の3Dジオメトリーの意味のある投影を構築するエンコーダー能力に直接関係する。スーパーポイントのデータセットは、さまざまなジオメトリーを含む1つ以上の点群シーンの任意のセットから抽出できる。スーパーポイントの抽出は完全に教師なしであるため、点群シーンのアノテーションは必要ない。
点群シーン
トレーニングに使用される点群シーンが生成されるが、仮想スキャナーはシミュレートしない。さまざまなオブジェクトのCADモデルが与えられた場合、生成には、CADモデルを点群に変換してから、それらを点群背景に挿入することが含まれる。オブジェクトの挿入中に、可能なオクルージョン(オブジェクト/オブジェクトオクルージョン又はオブジェクト/バックグラウンドオクルージョン)及び現実的な合成点群表現のための点密度の正規化が考慮される。学習/トレーニングには100個のシーンが使用される。
トレーニングに使用される点群シーンが生成されるが、仮想スキャナーはシミュレートしない。さまざまなオブジェクトのCADモデルが与えられた場合、生成には、CADモデルを点群に変換してから、それらを点群背景に挿入することが含まれる。オブジェクトの挿入中に、可能なオクルージョン(オブジェクト/オブジェクトオクルージョン又はオブジェクト/バックグラウンドオクルージョン)及び現実的な合成点群表現のための点密度の正規化が考慮される。学習/トレーニングには100個のシーンが使用される。
スーパーポイント抽出
本実施では、前述のように、スーパーポイント抽出にジオメトリーベースの方法を使用する。このような方法は興味深い特徴を示す。スーパーポイントが通常点群の1つの一様な部分にのみ対応する(隣接グラフで得られるカットのため)という事実は、その後の処理上より便利である、つまりこれは通常、スーパーポイントが、カットの正則化の重みに応じて、単一オブジェクトの一部であることを意味する。これにより、本実施に少なくとも2つの興味深い特性が提供される:
-スーパーポイントの抽出が、分離された点群オブジェクトから抽出されたスーパーポイントと、シーン内(つまり、他のオブジェクトも一緒)の同じオブジェクト(又は類似オブジェクト)から抽出されたスーパーポイント間で非常に一貫している、そして、
-このような方法で得られたスーパーポイントは、同様のジオメトリー的特性を持つ点を再グループ化するため、エンコーダーの学習ステップに必要な複雑さが単純化される。
本実施では、前述のように、スーパーポイント抽出にジオメトリーベースの方法を使用する。このような方法は興味深い特徴を示す。スーパーポイントが通常点群の1つの一様な部分にのみ対応する(隣接グラフで得られるカットのため)という事実は、その後の処理上より便利である、つまりこれは通常、スーパーポイントが、カットの正則化の重みに応じて、単一オブジェクトの一部であることを意味する。これにより、本実施に少なくとも2つの興味深い特性が提供される:
-スーパーポイントの抽出が、分離された点群オブジェクトから抽出されたスーパーポイントと、シーン内(つまり、他のオブジェクトも一緒)の同じオブジェクト(又は類似オブジェクト)から抽出されたスーパーポイント間で非常に一貫している、そして、
-このような方法で得られたスーパーポイントは、同様のジオメトリー的特性を持つ点を再グループ化するため、エンコーダーの学習ステップに必要な複雑さが単純化される。
エンコーダー学習
本実装で使用される損失は、再構成損失である。損失は、チャンファー損失であり、計算コストの観点から効率性を提供する。損失は、点のセット2つをS1及びS2としたとき、次の式によって与えられる:
入力として点群を消費し、回転に対して不変でありながらそれらを低次元空間に投影する任意のニューラルネットワークを使用でき、たとえば、参照により本明細書に組み込まれる参照文献「R. Spezialetti et/ al.“Learning an Effective Equivariant 3D Descriptor Without Supervision”, ICCV 2019」で議論されるものが挙げられる。本実施では、トレーニングは教師なしである。
本実装で使用される損失は、再構成損失である。損失は、チャンファー損失であり、計算コストの観点から効率性を提供する。損失は、点のセット2つをS1及びS2としたとき、次の式によって与えられる:
モデルは、事前に生成したスーパーポイントのデータセットを使用してトレーニングされる。点群について考慮する特徴の数に応じて、モデルは対応する入力サイズでトレーニングされる。本実施では、ニューラルネットワークの入力サイズと一致するように、スーパーポイントの点の数をサブサンプリング又はアップサンプリングする。本実施の入力サイズは、スーパーポイントあたり点の数N=128個であり、特徴は3D座標で、エンコードはN/2のサイズである。
オンライン推論
スーパーポイントのエンコードのマッチング
クエリと検索エリアのスーパーポイントのセットを取得すると、本実施は、検索エリアの各スーパーポイントとクエリの各スーパーポイント間の類似性を計算する。このステップは多大な時間を要する可能性があるため、無駄な比較を避けるために、本実施は次のフィルタリングを含んでいてもよい:
-参照により本明細書に組み込まれる参考文献「J. Yang et. al,“Toward the Repeatability and Robustness of the Local Reference Frame for 3D Shape Matching: An Evaluation”, in IEEE Transactions on Image Processing, vol. 27, no. 8, pp. 3766-3781, Aug. 2018」で議論されているような、LRFに投影されたスーパーポイント間の寸法比較。対応する軸ごとの寸法間の比率が1からかけ離れており、寸法ごとの差が特定の閾値よりも大きい場合、検索エリアのスーパーポイントは、クエリの所定のスーパーポイントの可能性のあるマッチング候補とは見なされない。言い換えれば、本実施は、寸法iごとに次を満たすよう目指している:
式中、LRFのスーパーポイントの各寸法iに対して、spqdimiは、クエリのスーパーポイントの寸法i、sprzdimiは検索エリアのスーパーポイントの寸法i、dmaxは2つのスーパーポイントのサイズ間の最大許容差(たとえば、20cm)、rminは最小許容比率(たとえば、0.2)、rmaxは最大許容比率(たとえば、4)である、及び/又は
-床又は最も近い支持面からの相対的な高さ。床(又は最も近い支持面)からのスーパーポイントの中心の高さの差が特定の閾値(たとえば30cm)を超える場合、検索エリアのスーパーポイントは、クエリの所定のスーパーポイントの可能性のあるマッチング候補とは見なされない。最も近い支持面は、任意の場所検出アルゴリズムで検出できることに留意する(たとえば、各スーパーポイントに関して水平面に対する平面値)。
スーパーポイントのエンコードのマッチング
クエリと検索エリアのスーパーポイントのセットを取得すると、本実施は、検索エリアの各スーパーポイントとクエリの各スーパーポイント間の類似性を計算する。このステップは多大な時間を要する可能性があるため、無駄な比較を避けるために、本実施は次のフィルタリングを含んでいてもよい:
-参照により本明細書に組み込まれる参考文献「J. Yang et. al,“Toward the Repeatability and Robustness of the Local Reference Frame for 3D Shape Matching: An Evaluation”, in IEEE Transactions on Image Processing, vol. 27, no. 8, pp. 3766-3781, Aug. 2018」で議論されているような、LRFに投影されたスーパーポイント間の寸法比較。対応する軸ごとの寸法間の比率が1からかけ離れており、寸法ごとの差が特定の閾値よりも大きい場合、検索エリアのスーパーポイントは、クエリの所定のスーパーポイントの可能性のあるマッチング候補とは見なされない。言い換えれば、本実施は、寸法iごとに次を満たすよう目指している:
-床又は最も近い支持面からの相対的な高さ。床(又は最も近い支持面)からのスーパーポイントの中心の高さの差が特定の閾値(たとえば30cm)を超える場合、検索エリアのスーパーポイントは、クエリの所定のスーパーポイントの可能性のあるマッチング候補とは見なされない。最も近い支持面は、任意の場所検出アルゴリズムで検出できることに留意する(たとえば、各スーパーポイントに関して水平面に対する平面値)。
エンコーダーに応じて、別の類似性メトリックを選択できることに留意する(たとえば、オートエンコーダーの潜在空間の正則化が強制される場合)。
本実施では、検索エリアのスーパーポイントは、類似性(コサイン類似度など)がエンコーダーの投影特性及びユーザーが望む類似性に関して定義された閾値を超えている場合、クエリのスーパーポイントとマッチングする。対象用途のために類似又は非類似とアノテーションが手動で付けられたスーパーポイントのセットを使用すると、類似しているとラベル付けされた2つのスーパーポイント間で取得される最小類似性を計算することにより、このような閾値を取得できる。本実施では、このような実験に基づいて、閾値は0.8に固定されている。
このステップの最後に、検索エリア内のn個のマッチングしたスーパーポイントのセット(SPrz
1,…,SPrz
n)を、クエリ内のマッチングしたスーパーポイントとの対応するマッチングスコアmqi((mqi,…,mqm),…,(mqi,…,mqk))と一緒に取得する。
スーパーポイントのエンコードのグループ化
本実施のこのステップでは、マッチングしたスーパーポイントのセットから3Dバウンディングボックスを検出する。オブジェクトが1つのスーパーポイントのみで構成されている場合、マッチングしたスーパーポイントの周囲に直接バウンディングボックスの提案が描かれることに留意する。
本実施のこのステップでは、マッチングしたスーパーポイントのセットから3Dバウンディングボックスを検出する。オブジェクトが1つのスーパーポイントのみで構成されている場合、マッチングしたスーパーポイントの周囲に直接バウンディングボックスの提案が描かれることに留意する。
このステップまでは、局所ディスクリプタ(スーパーポイントの特徴)を計算し、クエリと検索エリアの間で比較してきた。妥当なバウンディングボックスのセットを推測するために、クエリ内のスーパーポイントの(たとえば、クエリの中心などの参照点に対する)相対位置が使用される。
この相対位置は、オブジェクトの中心に対して前述したハフ投票法を使用することによって取得してもよい。あるいは、この相対位置は、前述した、クエリ内のスーパーポイントのセットからグラフを計算する方法を使用して取得してもよい。
このプロセスの実施は、バウンディングボックスの提案を出力する。類似性は用途又はオブジェクトに依存する可能性があるため、本実施には、提案に対して類似性の指示を追加することが含まれてもよい。これにより、ユーザーがクエリから検出されたオブジェクトをどの程度類似させたいかを制御できる。本方法は、たとえば、前述のとおり、図13のウィジェット130の表示を含んでもよく、その結果、ユーザはこのウィジェットを使用して、図13を参照して前述したように類似性スコアの閾値を設定してもよい。各検出結果は類似性スコア(類似率)に関連付けられており、ユーザーは閾値を選択して最も都合の良いものだけを保持できる。図13のウィジェットでは、類似率として84%の閾値が選択された。
この類似性は、用途によって異なる。次に、類似性は複数の手がかりに基づいていてもよい。本実施は、いくつかの方法を使用して、以下に列挙する、提案されたバウンディングボックス及び/又はマッチングしたスーパーポイントから取得可能な類似性メトリックを計算してもよい。これらの類似性メトリックは、対象用途に応じて、全体の類似性スコアを取得するために一緒に使用してもよく、又は、個別に使用してもよい。メトリックは次のとおりである:
-スーパーポイントマッチング類似性スコア(spms):所定の提案に対して(クエリの識別されたスーパーポイントとの)マッチングしたスーパーポイントのマッチングスコアを組み合わせたものである。nをクエリ内のスーパーポイントの数、miを提案内の各スーパーポイントのマッチングスコア(マッチングしない場合mi=0)とすると:
-色ヒストグラムの比較:ジオメトリー情報が十分でなく、色情報が利用できる特定の用途(消火器の検出など)に非常に便利である。これは、バウンディングボックスに含まれる検索エリアのすべての点、又はマッチングしたスーパーポイントのみに対して計算してもよい、及び、
-バウンディングボックスに含まれる検索エリアのすべての点、又はマッチングしたスーパーポイントのみに対して再度使用してもよい全体形状のディスクリプタ。
-スーパーポイントマッチング類似性スコア(spms):所定の提案に対して(クエリの識別されたスーパーポイントとの)マッチングしたスーパーポイントのマッチングスコアを組み合わせたものである。nをクエリ内のスーパーポイントの数、miを提案内の各スーパーポイントのマッチングスコア(マッチングしない場合mi=0)とすると:
-バウンディングボックスに含まれる検索エリアのすべての点、又はマッチングしたスーパーポイントのみに対して再度使用してもよい全体形状のディスクリプタ。
次に、本検出方法による3Dオブジェクトの検出の例を、図15~18を参照して説明する。この例は、たとえば、前述の学習方法と検出方法を組み込んだプロセスの実施により達成されてもよい。
図15は、クエリが抽出された3Dオブジェクトのスクリーンショットを示している。3Dオブジェクトはゴミ箱/ダンプスターである。図15は、ゴミ箱の周りのバウンディングボックスを示している。図16は、ゴミ箱から抽出されたスーパーポイント、すなわちクエリを形成するスーパーポイントを示している。図17は、検索エリア170を示している。図17に示されるように、本検出方法の実行の結果として、検索エリア内のスーパーポイントのグループ172、174、及び176が検出される。これらのグループは、図15のゴミ箱と類似したゴミ箱を表す。図18は、検索エリア170で検出された1つの類似したゴミ箱の周りのバウンディングボックスの表示を示している。例示のために図18にはバウンディングボックスが1つしか示されていないが、それ以上のバウンディングボックスが表示され得ることが理解される。
本学習方法、本検出方法、及びこれらの方法を組み込んだプロセスは、コンピュータ実装方法である。つまり、方法のステップ(又は実質的にすべてのステップ)が、少なくとも1台のコンピュータ又は任意の同様のシステムによって実行されることを意味する。したがって、本方法のステップは、可能性としては完全自動で、又は半自動で、コンピュータによって実行される。例では、本方法の少なくともいくつかのステップの始動は、ユーザーとコンピュータのインタラクションを介して実行されてもよい。必要なユーザーとコンピュータのインタラクションのレベルは、予測される自動化のレベルに依存し、ユーザーの希望を実施する必要性とバランスが取られてもよい。例では、このレベルはユーザー定義及び/又は事前に定義されてもよい。
本方法をコンピュータが実施する典型的な例は、この目的に適応したシステムで本方法を実行することである。システムは、メモリ及びグラフィカルユーザーインターフェース(GUI)に結合したプロセッサを含んでもよく、メモリは、本方法を実行するための命令を含むコンピュータプログラムを記録している。メモリはデータベースを格納していてもよい。メモリは、そのような格納に適応したハードウェアであり、場合により物理的に異なる部品をいくつか含む(たとえば、プログラム用に1つ、場合によりデータベース用に1つ)。
図19は、システムの一例を示しており、システムは、クライアントコンピュータシステムであり、例えば、ユーザーのワークステーションである。
この例のクライアントコンピュータは、内部通信BUS1000に接続された中央処理装置(CPU)1010と、同じくBUSに接続されたランダムアクセスメモリ(RAM)1070とを備える。クライアントコンピュータはさらに、BUSに接続されたビデオランダムアクセスメモリ1100と関連するグラフィックプロセッシングユニット(GPU)1110を備えている。ビデオRAM1100は、当技術分野ではフレームバッファとしても知られている。大容量記憶装置コントローラ1020は、ハードドライブ1030などの大容量記憶装置へのアクセスを管理する。コンピュータプログラムの命令及びデータを有形に具体化するのに適した大容量記憶装置にはあらゆる形態の不揮発性メモリが含まれ、例として、EPROM、EEPROM、及びフラッシュメモリデバイスなどの半導体メモリデバイス、内蔵ハードディスクやリムーバブルディスクなどの磁気ディスク、光磁気ディスク、及びCD-ROMディスク1040が挙げられる。前述したものはいずれも、特別に設計されたASIC(特定用途向け集積回路)によって補完されるか、又はその中に組み込まれてもよい。ネットワークアダプタ1050は、ネットワーク1060へのアクセスを管理する。クライアントコンピュータはまた、カーソル制御デバイス、キーボードなどのようなハプティックデバイス1090を含んでもよい。カーソル制御デバイスは、ユーザーがディスプレイ1080上の任意の所望の位置にカーソルを選択的に配置できるよう、クライアントコンピュータで使用される。さらに、カーソル制御デバイスにより、ユーザーはさまざまなコマンドを選択し、制御信号を入力することが可能となる。カーソル制御デバイスは、システムに制御信号を入力するための複数の信号生成装置を含む。通常、カーソル制御デバイスはマウスであってもよく、マウスのボタンは信号を生成するために使用される。代替的又は追加的に、クライアントコンピュータシステムは、感圧パッド、及び/又は感圧スクリーンを含んでもよい。
コンピュータプログラムは、コンピュータによって実行可能な命令を含んでもよく、命令は、上記のシステムに本明細書の方法のうち1つ以上を実行させるための手段を含む。プログラムは、システムのメモリを含む任意のデータ記憶媒体に記録可能であってもよい。プログラムは、たとえば、デジタル電子回路、又はコンピュータハードウェア、ファームウェア、ソフトウェア、又はそれらの組み合わせに実装されてもよい。プログラムは、たとえば、プログラム可能なプロセッサによる実行のために機械可読記憶装置に有形に具体化された製品などの装置として実装されてもよい。本方法のステップは、入力データについて動作し、出力を生成して本方法の機能を実行するように命令のプログラムを実行する、プログラム可能なプロセッサによって実行されてもよい。したがって、プロセッサは、データ記憶システム、少なくとも1つの入力デバイス、及び少なくとも1つの出力デバイスからデータ及び命令を受信し、これらにデータ及び命令を送信するように、プログラム可能であるか結合されてもよい。アプリケーションプログラムは、必要に応じて、高レベルの手続き型プログラミング言語又はオブジェクト指向プログラミング言語、あるいはアセンブリ言語又は機械語で実施されてもよい。いずれの場合も、言語はコンパイル型又はインタプリタ型言語であってもよい。プログラムは、フルインストールプログラム又は更新プログラムであってもよい。いずれにせよ、システム上にでのプログラムの適用は、本方法を実行するための命令をもたらす。
Claims (15)
- 3D点群のスーパーポイントを潜在ベクトルにエンコードするように構成されるニューラルネットワークを学習させるための、機械学習のコンピュータ実装方法であって、
-スーパーポイントのデータセットを提供するステップ(S10~S20)であって、ここで、前記スーパーポイントはそれぞれ、前記3D点群の点のセットであり、前記点のセットは、オブジェクトの少なくとも一部を表す、前記提供するステップ(S10~S20)、及び、
-前記スーパーポイントのデータセットに基づいて前記ニューラルネットワークを学習させるステップ(S30)であって、ここで、前記学習させるステップは、2つのスーパーポイント間の誤差にペナルティを課す損失を最小化するステップを含む、前記学習させるステップ(S30)
を含む方法。 - 前記損失が再構成損失であり、前記損失は、あるスーパーポイントと当該スーパーポイントの再構成の間の誤差にペナルティを課す、請求項1に記載の方法。
- 前記誤差が、前記スーパーポイントと、前記スーパーポイントの再構成の間の距離である、請求項2に記載の方法。
- 前記距離が、チャンファー(Chamfer)距離又はアースムーバー(Earth-Mover)距離である、請求項3に記載の方法。
- 前記学習させるステップが教師なし学習である、請求項1から4のいずれか一項に記載の方法。
- 請求項1から5のいずれか一項に記載の方法に従って学習可能なニューラルネットワーク。
- 請求項6に記載のニューラルネットワークを使用するコンピュータ実装方法であって、
-以下に示すもの
・3Dシーンを表す第1の3D点群の1つ以上の第1のスーパーポイント及び、
・3Dオブジェクトを表す第2の3D点群の1つ以上の第2のスーパーポイント、を提供するステップ(S40~S50)、
-前記ニューラルネットワークを適用することにより、前記1つ以上の第1のスーパーポイントの各々を、それぞれの第1の潜在ベクトルにエンコードし、前記1つ以上の第2のスーパーポイントの各々を、それぞれの第2の潜在ベクトルにエンコードするステップ(S60)、及び、
-前記1つ以上の第1のスーパーポイントの各第1のスーパーポイントと、前記1つ以上の第2のスーパーポイントの各第2のスーパーポイント間の類似性を、前記各第1のスーパーポイント及び前記各第2のスーパーポイントに関して前記第1のスーパーポイントをエンコードするそれぞれの前記第1の潜在ベクトルと前記第2のスーパーポイントの各々をエンコードするそれぞれの前記第2の潜在ベクトル間の類似度を計算することで、決定するステップ(S70)、を含む、前記方法。 - 前記1つ以上の第1のスーパーポイントを提供するステップ(S40~S50)が、
・前記第1の3D点群の1つ以上の初期スーパーポイントを提供するステップ、
・前記1つ以上の初期スーパーポイントをフィルタリングするステップ、を含み、前記フィルタリングするステップは、以下、
・・前記スーパーポイントの寸法と少なくとも1つの前記第2のスーパーポイントの寸法間の誤差が、事前定義の閾値よりも小さい、及び/又は、
・・前記スーパーポイントの位置と少なくとも1つの前記第2のスーパーポイントの位置間の誤差が、事前定義の閾値よりも小さい、を満たす初期スーパーポイントを、前記初期スーパーポイントの中からそれぞれ選択することによって実施され、
選択されたスーパーポイントが、前記1つ以上の第1のスーパーポイントである、請求項7に記載の方法。 - 前記フィルタリングするステップが、以下、
-前記スーパーポイントの各寸法と少なくとも1つの前記第2のスーパーポイントの対応寸法間の距離が、事前定義の閾値よりも小さい、及び/又は、
-前記スーパーポイントの各寸法と少なくとも1つの前記第2のスーパーポイントの対応寸法間の比率が、最大比率よりも小さく、最小比率よりも大きい、及び/又は、
-前記スーパーポイントの最も近い支持面からの相対的な高さと、少なくとも1つの前記第2のスーパーポイントの最も近い支持面からの相対的な高さとの差が、事前定義の閾値よりも小さい、
を満たす初期スーパーポイントを、前記初期スーパーポイントの中からそれぞれ選択するステップを含む、請求項8に記載の方法。 - 少なくとも1つの前記第2のスーパーポイントに対して事前定義の閾値よりも大きい類似性が決定されたそれぞれの第1のスーパーポイントの中から、第1のスーパーポイントの1つ以上のグループを決定するステップ(S80)をさらに含み、ここで、前記第1のスーパーポイントのグループはそれぞれ、前記第2の3D点群に類似した形状を有する、請求項7から9のいずれか一項に記載の方法。
- 前記1つ以上のグループを決定するステップ(S80)が、
-前記第2のスーパーポイントのグラフを提供するステップであって、ここで、前記第2のスーパーポイントのグラフは、複数のノードと複数のエッジを有し、前記複数のノードはそれぞれが第2のスーパーポイントを表し、前記複数のエッジはそれぞれ、エッジによって接続されるノードによって表される2つのスーパーポイント間のジオメトリー関係を表し、前記ジオメトリー関係のジオメトリー属性を1つ以上有する、前記第2のスーパーポイントのグラフを提供するステップと、
-それぞれが2つのノードを接続し、それぞれが前記第2のスーパーポイントのグラフのエッジのジオメトリー属性と類似したジオメトリー属性を1つ以上持つ、複数のエッジを構築することによって、それぞれが第1のスーパーポイントを表す複数のノードを各々が持つ、1つ以上のグラフを形成するステップであって、形成された各グラフは前記グループの各々に対応するステップ、とを含む、請求項10に記載の方法。 - 前記各グループについて、グループ内の第1のスーパーポイントと前記1つ以上の第2のスーパーポイントとの類似性を測定することによって類似性スコアを決定するステップをさらに含む、請求項11に記載の方法。
- 請求項1から5のいずれか一項に記載の方法及び/又は請求項7から12のいずれか一項に記載の方法を実行するための命令を含むコンピュータプログラム。
- 請求項13のコンピュータプログラム及び/又は請求項6に記載のニューラルネットワークを記録したコンピュータ可読データ記憶媒体を含むデバイス。
- 前記データ記憶媒体と結合したプロセッサをさらに備えた、請求項14に記載のデバイス。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP20306588 | 2020-12-16 | ||
EP20306588.3A EP4016392A1 (en) | 2020-12-16 | 2020-12-16 | Machine-learning for 3d object detection |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022095591A true JP2022095591A (ja) | 2022-06-28 |
Family
ID=74141316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021203671A Pending JP2022095591A (ja) | 2020-12-16 | 2021-12-15 | 3dオブジェクト検出のための機械学習 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220189070A1 (ja) |
EP (1) | EP4016392A1 (ja) |
JP (1) | JP2022095591A (ja) |
CN (1) | CN114707628A (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112053426B (zh) * | 2020-10-15 | 2022-02-11 | 南京航空航天大学 | 一种基于深度学习的大规模三维铆钉点云提取方法 |
CN117409161A (zh) * | 2022-07-06 | 2024-01-16 | 戴尔产品有限公司 | 点云处理方法和电子设备 |
CN115222988B (zh) * | 2022-07-17 | 2024-06-18 | 桂林理工大学 | 激光雷达点云数据城市地物PointEFF精细分类方法 |
CN116188543B (zh) * | 2022-12-27 | 2024-03-12 | 中国人民解放军61363部队 | 基于深度学习无监督的点云配准方法及系统 |
CN115795632A (zh) * | 2023-01-17 | 2023-03-14 | 四川省公路规划勘察设计研究院有限公司 | 一种基于标记点云的自动几何孪生方法和系统 |
-
2020
- 2020-12-16 EP EP20306588.3A patent/EP4016392A1/en active Pending
-
2021
- 2021-12-14 CN CN202111527530.8A patent/CN114707628A/zh active Pending
- 2021-12-15 JP JP2021203671A patent/JP2022095591A/ja active Pending
- 2021-12-16 US US17/553,403 patent/US20220189070A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220189070A1 (en) | 2022-06-16 |
CN114707628A (zh) | 2022-07-05 |
EP4016392A1 (en) | 2022-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7049763B2 (ja) | 二次元画像からの三次元モデル化オブジェクトの認識 | |
JP7464387B2 (ja) | 3dモデル化オブジェクト推定のための機械学習 | |
JP7491685B2 (ja) | ニューラルネットワークのセット | |
JP2022095591A (ja) | 3dオブジェクト検出のための機械学習 | |
Wu et al. | 3d shapenets for 2.5 d object recognition and next-best-view prediction | |
JP6888484B2 (ja) | 検索プログラム、検索方法、及び、検索プログラムが動作する情報処理装置 | |
US20140192050A1 (en) | Three-dimensional point processing and model generation | |
Giachetti et al. | Radial symmetry detection and shape characterization with the multiscale area projection transform | |
US20140098094A1 (en) | Three-dimensional point processing and model generation | |
Liu et al. | 3D Point cloud analysis | |
Rusu et al. | Perception for mobile manipulation and grasping using active stereo | |
Bobkov et al. | Noise-resistant deep learning for object classification in three-dimensional point clouds using a point pair descriptor | |
CN108073682A (zh) | 基于参数视图函数查询数据库 | |
CN109886297A (zh) | 一种用于从二维图像识别三维模型对象的方法 | |
US10664976B2 (en) | Method for part mobility prediction based on a static snapshot | |
JP7017852B2 (ja) | 記述子を用いた3dオブジェクトの位置特定 | |
Oyekan et al. | Utilising low cost RGB-D cameras to track the real time progress of a manual assembly sequence | |
Sui et al. | Geofusion: Geometric consistency informed scene estimation in dense clutter | |
JP6947503B2 (ja) | 量子化を用いた3dオブジェクトの位置特定 | |
Álvarez et al. | Junction assisted 3d pose retrieval of untextured 3d models in monocular images | |
Song et al. | Inferring 3d shapes of unknown rigid objects in clutter through inverse physics reasoning | |
Yang et al. | Intelligent classification of point clouds for indoor components based on dimensionality reduction | |
Yu et al. | Point cloud instance segmentation of indoor scenes using learned pairwise patch relations | |
EP4057222A1 (en) | Machine-learning for 3d segmentation | |
Biasotti et al. | Generalizing discrete convolutions for unstructured point clouds |