JP2021105987A - インタラクティブなオブジェクト選択 - Google Patents

インタラクティブなオブジェクト選択 Download PDF

Info

Publication number
JP2021105987A
JP2021105987A JP2020204396A JP2020204396A JP2021105987A JP 2021105987 A JP2021105987 A JP 2021105987A JP 2020204396 A JP2020204396 A JP 2020204396A JP 2020204396 A JP2020204396 A JP 2020204396A JP 2021105987 A JP2021105987 A JP 2021105987A
Authority
JP
Japan
Prior art keywords
point cloud
graphical user
point
user interactions
seed
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
JP2020204396A
Other languages
English (en)
Inventor
レジャブ・スファール アズマ
Rejeb Sfar Asma
レジャブ・スファール アズマ
デュラン トム
Durand Tom
デュラン トム
ブルケナフェド マリカ
Boulkenafed Malika
ブルケナフェド マリカ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dassault Systemes SE
Original Assignee
Dassault Systemes SE
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 Dassault Systemes SE filed Critical Dassault Systemes SE
Publication of JP2021105987A publication Critical patent/JP2021105987A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • 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/20092Interactive image processing based on input by user
    • G06T2207/20101Interactive definition of point of interest, landmark or seed

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computer Graphics (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Analysis (AREA)

Abstract

【課題】3D点群のデータセットを提供することを含むコンピュータによって実施される機械学習の方法を提供する。【解決手段】機械学習の方法において、少なくとも1つのオブジェクトを含む各3D点群は、それぞれが3D点群内の同じオブジェクトの各選択操作を表す1つまたは複数のグラフィカル・ユーザ・インタラクションの仕様を備える。さらに、データセットに基づいて、オブジェクトを含む、入力された3D点群をセグメント化するように構成されたニューラルネットワークを学習することを含む。セグメント化は、入力された3D点群およびそれぞれが3D点群におけるオブジェクトの各選択操作を表す1つまたは複数の入力グラフィカル・ユーザ・インタラクションの仕様に基づく。【選択図】図1

Description

本発明は、コンピュータプログラムおよびシステムの分野、より具体的には、機械学習の方法、システム、およびプログラムに関する。
オブジェクトの設計、エンジニアリング、製造のため、多数のシステムおよびプログラムが市場に提供されている。CADは、コンピュータ支援設計(Computer−Aided Design)の略語であり、例えば、オブジェクトを設計するためのソフトウェア・ソリューションに関する。CAEは、コンピュータ支援エンジニアリング(Computer−Aided Engineering)の略語であり、例えば、将来の製品の物理的挙動をシミュレーションするためのソフトウェア・ソリューションに関する。CAMは、コンピュータ支援製造(Computer−Aided Manufacturing)の略語であり、例えば、製造工程および動作を定義するためのソフトウェア・ソリューションに関する。このようなコンピュータ支援設計システムにおいて、グラフィカル・ユーザ・インターフェースは、技術の効率に関して、重要な役割を果たす。これらの技術は、製品ライフサイクル管理(Product Lifecycle Management:PLM)システムに組み込むことができる。PLMとは、企業が、拡張エンタープライズの概念全体にわたって、製品データを共有し、共通の工程を適用し、構想に始まり製品寿命の終わりに至る製品開発のための企業知識を活用するのを支援するビジネス戦略を指す。ダッソー・システムズが提供するPLMソリューション(製品名CATIA、ENOVIA、DELMIA)は、製品エンジニアリング知識をオーガナイズするエンジニアリング・ハブ、製品エンジニアリング知識を管理する製造ハブ、およびエンジニアリング・ハブと製造ハブの両方に対するエンタープライズ統合と接続を可能にするエンタープライズ・ハブを提供する。全てのシステムは、製品、工程、リソースを結ぶオープンなオブジェクトモデルを提供し、最適化された製品定義、製造準備、生産およびサービスを推進する、動的な知識ベースの製品作成および意思決定支援を可能にする。
このような背景、およびその他の背景において、点群のセグメント化が非常に重要になってきている。以下の論文は、点群のセグメント化に関連しており、以降で参照する。
[1]Aleksey Golovinsky,Thomas Funkhouser.“Min−Cut Based Segmentation of Point Clouds”−ICCV Workshops,2009,
[2]Kun Liu,Jan Boehm.“A New Framework or Interactive Segmentation of Point Clouds”−Int.Arch.Photogramm.Remote Sens.Spatial Inf.Sci.2014,および
[3]Sedlacek D.,Zara J.“Graph Cut Based Point−Cloud Segmentation for Polygonal Reconstruction”−ISVC 2009.
これらの方法には、効率、堅牢性、および一般化能力の欠如の問題がある。
こうした背景において、点群セグメント化のための改善された機械学習方法が必要とされる。
よって、コンピュータによって実施される機械学習の方法が提供される。本方法は、3D点群のデータセットを提供することを含む。各3D点群は、少なくとも1つのオブジェクトを含む。各3D点群は、1つまたは複数のグラフィカル・ユーザ・インタラクションの仕様を備える。グラフィカル・ユーザ・インタラクションのそれぞれは、3D点群における同じオブジェクトの各選択操作を表す。本方法は、さらに、データセットに基づいて、オブジェクトを含む、入力された3D点群をセグメント化するように構成されたニューラルネットワークを学習することを含む。セグメント化は、前記入力された3D点群と、1つまたは複数の入力されたグラフィカル・ユーザ・インタラクションの仕様とに基づく。入力されたグラフィカル・ユーザ・インタラクションのそれぞれは、当該3D点群における前記オブジェクトの各選択操作を表す。
本方法は、以下のうち1つまたは複数を含んでいてもよい。
3D点群のデータセットの提供は、
3D点群、および各3D点群について、当該3D点群における前記同じオブジェクトの位置に関する情報を提供することと、
各3D点群について、
前記1つまたは複数のグラフィカル・ユーザ・インタラクションのうちのグラフィカル・ユーザ・インタラクションのそれぞれをシミュレーションすることによって仕様を決定し、
前記3D点群に、前記1つまたは複数のグラフィカル・ユーザ・インタラクションの仕様を備えさせることと、
前記1つまたは複数のグラフィカル・ユーザ・インタラクションのうちのグラフィカル・ユーザ・インタラクションのそれぞれは、それぞれが3D点群上で定義される1つまたは複数のシード位置に対応し、前記グラフィカル・ユーザ・インタラクションのシミュレーションは、前記1つまたは複数のシード位置を決定することを含み、
前記1つまたは複数のグラフィカル・ユーザ・インタラクションは、前記同じオブジェクトを選択するためのものであって、かつ、それぞれが前記同じオブジェクト上に定義された1つまたは複数の第1のシード位置に対応する、第1のグラフィカル・ユーザ・インタラクションを含み、
前記1つまたは複数のシード位置の決定は、前記1つまたは複数の第1のシード位置を前記同じオブジェクト上に拡散させることを含み、
少なくとも1つの3D点群について、1つまたは複数のグラフィカル・ユーザ・インタラクションは、前記同じオブジェクトの外側の領域を破棄するためのものであって、かつ、それぞれが前記同じオブジェクトの外側に定義された1つまたは複数の第2のシード位置に対応する、第2のグラフィカル・ユーザ・インタラクションをさらに含み、
前記3D点群に仕様を備えさせることは、グラフィカル・ユーザ・インタラクションのそれぞれのシミュレーションに基づいて、3D点群の各点に、当該点における選択操作の強度を定量化する座標を追加することを含み、かつ/あるいは、
前記1つまたは複数のグラフィカル・ユーザ・インタラクションのうちのグラフィカル・ユーザ・インタラクションのそれぞれは、前記同じオブジェクトを選択するためのもの、または前記同じオブジェクトの外側の領域を破棄するためのものであり、前記3D点群の各点について、前記座標の追加は、
座標を初期値に設定することと、
前記同じオブジェクトを選択するためのグラフィカル・ユーザ・インタラクションのそれぞれについて、当該グラフィカル・ユーザ・インタラクションと当該点との間の近さに応じて当該座標を増加させることと、
前記同じオブジェクトの外側の領域を破棄するためのグラフィカル・ユーザ・インタラクションのそれぞれについて、当該グラフィカル・ユーザ・インタラクションと当該点との間の近さに応じて当該座標を減少させることと、を含む。
さらには、本方法に従って学習可能なニューラルネットワーク、例えば、本方法に従って学習されたニューラルネットワークが提供される。
さらには、コンピュータによって実施される、当該ニューラルネットワークの利用方法が提供される。本利用方法は、3D点群を提供することを含み、当該3D点群は、オブジェクトを含む。本利用方法は、以下の1回または複数回の繰り返しをさらに含む。1つまたは複数のグラフィカル・ユーザ・インタラクションを実行することによって前記オブジェクトの選択操作を実行し、前記ニューラルネットワークを適用することによって、前記3D点群と前記1つまたは複数のグラフィカル・ユーザ・インタラクションの仕様とに基づいて、前記3D点群をセグメント化する。
本利用方法は、以下のうち1つまたは複数を含んでいてもよい。
本方法は、前記選択操作の実行後、かつ前記ニューラルネットワークの適用前に、さらに、
前記1つまたは複数のグラフィカル・ユーザ・インタラクションのうちのグラフィカル・ユーザ・インタラクションのそれぞれについて、当該グラフィカル・ユーザ・インタラクションよって定義される1つまたは複数のシード位置を決定することにより、前記仕様を決定することと、
前記3D点群に前記仕様を備えさせることであって、前記3D点群の各点に、当該点における選択操作の強度を定量化する座標を追加することを含む、備えさせることとを含み、かつ/あるいは、
前記1つまたは複数のグラフィカル・ユーザ・インタラクションは、以下のうちの1つまたは複数を含む。
前記オブジェクト上で1回または複数回のクリックを実行することと、
オブジェクト上でストロークを実行することと、
オブジェクト上、および/または、オブジェクトの周囲に、境界ボックスを定義することと、
前記オブジェクトの外側で1回または複数回のクリックを実行することと、および/または、
オブジェクトの外側でストロークを実行すること。
さらには、前記方法、および/または、前記利用方法を実行するための命令を含むコンピュータプログラムが提供される。
さらには、前記コンピュータプログラム、および/または、前記ニューラルネットワークを記録したデータ記憶媒体を備える装置が提供される。
前記装置は、例えば、SaaS(サービスとしてのソフトウェア)または他のサーバー上で、あるいはクラウドベースのプラットフォームで、非一時的なコンピュータ読み取り可能媒体を形成するか、またはそれらとして機能してもよい。あるいは、前記装置は、前記データ記憶媒体に接続されたプロセッサを備えていてもよい。したがって、前記装置は、全体として、または部分的に、コンピュータシステムを形成してもよい(例えば、前記装置は、システム全体のサブシステムである)。本システムは、さらに、前記プロセッサに接続されたグラフィカル・ユーザ・インターフェースを備えていてもよい。
ここで、本発明の実施形態を、非限定的な例として、添付の図面を参照して説明する
本方法を例示した図。 本方法を例示した図。 本方法を例示した図。 本方法を例示した図。 本方法を例示した図。 本方法を例示した図。 本方法を例示した図。 本方法を例示した図。 本方法を例示した図。 本方法を例示した図。 本方法を例示した図。 本方法を例示した図。 本方法を例示した図。 本方法を例示した図。 本方法を例示した図。 本システムの例。
コンピュータによって実施される機械学習の方法が提案される。本方法は、3D点群のデータセットを提供することを含む。各3D点群は、少なくとも1つのオブジェクトを含む。各3D点群は、それぞれが当該3D点群における同じオブジェクトの各選択操作を表す1つまたは複数のグラフィカル・ユーザ・インタラクションの仕様を備える。本方法は、さらに、データセットに基づいて、オブジェクトを含む、入力された3D点群をセグメント化するように構成されたニューラルネットワークを学習することを含む。前記セグメント化は、前記入力された3D点群と、それぞれが当該3D点群における当該オブジェクトの各選択操作を表す1つまたは複数の入力されたグラフィカル・ユーザ・インタラクションの仕様とに基づく。本方法は、学習方法とも呼ばれる。
これが、点群セグメント化のための改善された機械学習方法を構成する。
特に、本学習方法は、オブジェクトを含む、入力された3D点群をセグメント化するように構成されたニューラルネットワークを学習する。これは、本学習方法が機械学習、例えば、従来のアプローチではない点群セグメント化の背景におけるディープラーニングを用いることを意味する。特に、これにより、機械学習、例えば、新しい技術的背景における深層学習の、よく知られた利点の恩恵が得られる。実際、本開示で説明されているように、このアプローチのテストに成功している。
当該ニューラルネットワークは、提供された3D点群のデータセットに基づいて学習され、当該データセットの各3D点群は、それぞれが当該3D点群における同じオブジェクトの各選択操作を表す1つまたは複数のグラフィカル・ユーザ・インタラクションの仕様を備える。言い換えると、各3D点群について、3D点群は、「同じオブジェクト」または「前記同じオブジェクト」と呼ばれる少なくとも1つのオブジェクトを含み、1つまたは複数のグラフィカル・ユーザ・インタラクションのそれぞれは、この同じオブジェクトの各選択操作を表す。当該提供されたデータセットは、訓練データセットとも呼ぶ。したがって、この訓練データセットは、それぞれが仕様を備えた3D点群で構成され、後者は1つまたは複数のグラフィカル・ユーザ・インタラクションを通じて前記同じオブジェクトの選択操作を指定する。これは、訓練データセットが、3D点群と、各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点群を提供することを含む。本利用方法は、さらに、以下の1回または複数回の繰り返しを含む。1つまたは複数のグラフィカル・ユーザ・インタラクションを実行することによって前記オブジェクトの選択操作を実行し、前記ニューラルネットワークを適用することによって、前記3D点群と前記1つまたは複数のグラフィカル・ユーザ・インタラクションの仕様に基づいて、前記3D点群を(例えば自動的に)セグメント化する。本利用方法は、「セグメント化方法」とも呼ばれる。
本セグメント化方法は、人間工学的に改善された手法でインタラクティブなセグメント化を可能にする。実際、前述のように、ニューラルネットワークは、ユーザが3D点群上でグラフィカルな対話操作によってオブジェクト選択を実行するだけでセグメント化できるように学習される。ユーザがオブジェクトの選択を実行すると、ニューラルネットワークを適用することによって、3D点群が(例えば、自動的に)セグメント化される。ユーザがさらにセグメント化を実行したり、すでに実行されたセグメント化の詳細なレベルを改善したりする場合、ユーザはグラフィカル・ユーザ・インタラクションによって別のオブジェクト選択を実行するだけでよく、例えば、ニューラルネットワークの適用により、別のセグメント化が(例えば自動的に)実行される。言い換えると、本セグメント化方法により、入力された3D点群のインタラクティブな(場合によっては反復的な)セグメント化が可能になる。さらに、このセグメント化は、ユーザに大きな負担をかけないため、人間工学的である。実際、ユーザは、例えば、クリックすることや、ストロークを描くこと、および/または、境界ボックスを描画/定義することなど、シンプルで、一般的で、かつ/あるいは、疲れないような、グラフィカルな対話操作を実行するだけでよい。例えば、これらのグラフィカルな対話操作は、以下でさらに説明するように、例えば、マウス、および/または、タッチベースの触覚デバイス(タッチスクリーンやタッチパッドなど)のような、触覚デバイスを用いて実行されてもよい。さらに、ニューラルネットワークは3D点群のタイプおよびオブジェクトのカテゴリ/クラス/タイプに依存しないため、セグメント化は、任意のタイプのオブジェクトを含む任意のタイプの3D点群に対して実行してもよい。
本学習方法と本セグメント化方法は、独立して、例えば別のユーザにより、かつ/あるいは、別のコンピュータ上で、実行することができる。あるいは、それらは、コンピュータにより実施される同じプロセスに統合されてもよい。ここで、図1を参照して本プロセスを説明する。この図は、プロセスの一例のフローチャートを示す。
本プロセスはオフライン段階を含み、これは本学習方法を統合する。オフライン段階は、本学習方法に従って3D点群のデータセットを提供すること(S10)を含む。オフライン段階は、さらに、本学習方法に従い、オブジェクトを含む入力された3D点群をセグメント化するように構成されたニューラルネットワークを学習すること(S20)を含む。オフライン段階は、さらに、学習したニューラルネットワークを、例えばメモリに、例えば本プロセスのオンライン段階で用いるために、格納することを含んでいてもよい。
本プロセスは、さらにオンライン段階を含み、これは本セグメント化方法を統合する。オンライン段階は、学習したニューラルネットワークを、例えばオフライン段階でそれが保存されたメモリから取得することによって、提供することを含んでもよい。オンラインステージは、本セグメント化方法に従い、オブジェクトを含む3D点群を提供すること(S30)を含む。オンライン段階は、さらに、本セグメント化方法に従ってオブジェクトの選択操作を実行すること(S40)、および、本セグメント化方法に従ってニューラルネットワークを適用すること(S50)により3D点群のセグメント化を実行することを、1回または複数回、反復することを含む。
ここで、本学習方法についてさらに説明する。
本学習方法は、点群セグメント化の機械学習のためのものである。
それ自体が知られているように、点群は、強度や色など、追加の特性(例えば、追加の座標にカプセル化される)を伴うことができる座標(通常は3D)を有する、順序付けられていない点の集合である。このデータの順序付けられていない側面のため、特に画像などの構造化されたグリッドと比較すると、分析が困難である。点群には様々な形式があるが、前述のように、学習したニューラルネットワークは、これら様々な形式に依存しない。
点群のセグメント化は、オブジェクトセグメンテーションとも呼ばれ、点群の背景の点から、点群におけるオブジェクトに属するすべての点を抽出するタスクに対応する。前述のように、本学習方法によって学習されたニューラルネットワークは、すべてのタイプのオブジェクトを処理できる。すなわち、オブジェクトのカテゴリに依存しない。さらには、前述のように、ニューラルネットワークにより、インタラクティブなセグメント化を実行できる。インタラクティブなセグメント化とは、ユーザが点群に対して対話操作を行うことによりオブジェクトに対する関心を示すようなセグメント化を意味する。
本学習方法は、機械学習方法である。
機械学習の分野から知られているように、ニューラルネットワークによる入力の処理には、入力に演算を適用することが含まれ、当該演算は、重み値を含むデータによって定義される。このように、ニューラルネットワークの学習は、そのような学習のために構成されたデータセットに基づいて重みの値を決定することを含み、そのようなデータセットは、学習データセットまたは訓練データセットと呼ばれることがある。そのために、データセットには、それぞれが訓練サンプルを形成するデータが含まれている。訓練サンプルは、学習後にニューラルネットワークが用いられる状況の多様性を表す。ここで参照されるデータセットは、1000個、10000個、100000個、あるいは1000000個を超える数の訓練サンプルが含まれていてもよい。本開示の背景においては、「データセットに対してニューラルネットワークを学習する」とは、データセットがニューラルネットワークの学習/訓練データセットであることを意味する。
本学習方法の背景において、ニューラルネットワークの訓練データセットは、提供された3D点群のデータセットであり、ここで、これについて説明する。
訓練データセットは3D点群を含み、各3D点群は、少なくとも1つのオブジェクトを含み、各オブジェクトには、それぞれが当該3D点群における同じオブジェクトの各選択操作を表す1つまたは複数のグラフィカル・ユーザ・インタラクションの仕様が装備されている。言い換えると、各3D点群、および3D点群に備えられている仕様は、訓練データセットの訓練サンプルを形成する。この仕様は、グラフィカル・ユーザ・インタラクションに関連するため、「対話操作チャネル」または「ユーザ・インジケータ」とも呼ばれる。この仕様については、以下でさらに説明する。このような訓練サンプルは、簡略化のため、単に「3D点群およびその対話操作チャネル」とも呼ぶ。いずれの場合も、各訓練サンプルは、3D点群とその対話操作チャネルからなる対を含む。各訓練サンプルは、さらに、3D点群の各点について、その点が、前記同じオブジェクトに属するもの、または前記同じオブジェクトに属さないものとする注釈からなるセグメント化マスクを含んでいてもよい。これにより、以下でさらに説明するように、完全教師ありの方法でニューラルネットワークを学習すること(S20)ができる。訓練データセットは、一例において、約2000個の訓練サンプルを含んでいてもよい。
それ自体が知られているように、3D点群は、例えばそれぞれが3D空間内の3つのデカルト座標によって記述される、3D点の集合からなる。これは、各点群が、それぞれが3D点群の点の3D座標を表す、3つ組の集合に関連付けられ得ることを意味する。本明細書におけるあらゆる3D点群は3Dの現実のシーンを表してもよく、実シーンは実世界の一部(例えば、植物のシーンまたはオフィスのシーン)であり、3D点群の各点は、当該シーンの点を表す。「現実のシーンを表す」とは、必ずしも3D点群が現実の世界で実行された物理的測定に由来することを意味するわけではない。例えば、本明細書におけるあらゆる3D点群は、以下でさらに議論するように、現実のシーンの合成表現であってもよい。あらゆる3D点群は、少なくとも1つのオブジェクトを含む。3D点群の各オブジェクトは、本明細書では、それぞれが、(例えば、現実のシーンの)同じオブジェクトの点を表す3D点群の点の集合であり、点の集合は、全体としてオブジェクト表現を形成している。
本明細書におけるあらゆる3D点群は、合成点群、すなわち、合成点群生成プロセスに由来する点群であってもよい。言い換えると、現実のシーンを表す合成点群は、現実のシーンの表現を捉えるために現実のシーンに対して実行される物理的な測定に由来するのではなく、現実のシーンの、仮想的な、数値により生成された表現を形成する。合成点群生成プロセスは、合成3D点群を出力する、コンピュータにより実施される任意のプロセスを指す。そのようなプロセスは、出力3D点群の各点について、その点がオブジェクトに属するかどうかを特定する点レベルの注釈をそれぞれが有する3D点群を出力してもよい(後者の場合、点は背景に属していると言える)。あるいは、そのようなプロセスは、注釈が付けられていない3D点群を出力してもよく、各点群は、後の段階で注釈が付けられる。あるいは、本明細書におけるあらゆる3D点群は、現実のシーンに対する物理的測定から決定されてもよい。3D点群の決定は、1つまたは複数の物理センサ(例えばLIDARSなどの3Dスキャン)を提供することを含んでもよく、各物理センサは、それぞれの物理信号を取得し、現実のシーンに対して当該1つまたは複数の物理センサを操作する(すなわち、各センサで現実のシーンをスキャンする)ことにより、それぞれの当該1つまたは複数の物理信号を取得するように構成されている。次いで、決定は、任意の既知の手法に従って、測定に基づいて、3D点群を自動的に決定する。なお、今日では、最先端のセンサが数百万の点からなる点群を提供して、非常に高品質で非常に高密度の3Dスキャンを提供できる。
一例においては、訓練データセットまたはその少なくとも一部の3D点群は、合成3D点群であってもよい。そのような場合、訓練データセットの提供(S10)は、任意の既知の適切な合成点群生成プロセスによって、これらの3D点群を合成的に生成することを含んでいてもよい。当該提供(S10)は、さらに、オブジェクトに属する点群の各点に「オブジェクト」として注釈をつけ、背景に属する各点に「背景」として注釈をつけることによって、各点群に注釈をつけることを含んでいてもよい。あるいは、これらの3D点群の提供(S10)は、これらの3D点群および例えばその注釈を、それら3D点群が生成された後に保存された(例えば、離れた)メモリから取得することを含んでいてもよい。
これらの例の一例においては、3D点群の生成は、3DオブジェクトのCAD(computer−aided−design:コンピュータ支援設計)モデルを提供することを含んでいてもよい。3D点群の生成は、さらに、3Dオブジェクトの、提供された各CADモデルを、それぞれが3Dオブジェクトを表す3D点群に変換することを含んでいてもよく、当該3D点群は、簡略化のため、「オブジェクト点群」と呼ばれる。当該生成は、さらに、それぞれが背景を表す3D点群を提供することを含んでいてもよく、簡略化のため、これらはそれぞれ「背景点群」と呼ばれる。当該生成はさらに、各オブジェクト点群を背景点群に挿入することを含んでいてもよい。この結果が、生成された3D点群であり、これらはそれぞれ、背景点群に挿入された1つまたは複数のオブジェクト点群によって形成される。当該生成は、追加として、各オブジェクト点群の各点に「オブジェクト」として注釈をつけ、各背景点群の各点に「背景」として注釈をつけることを含んでいてもよい。図2および図3は、これらの例を示す。図2は、オブジェクト点群20に変換されるCADオブジェクト20の例を示す。図3は、背景点群に挿入されたオブジェクト点群の例30を示す。
なお、オブジェクトの挿入中において、本方法は、現実的な合成点群表現のために、点密度の正規化とともに、起こりうるオクルージョン(オブジェクト/オブジェクトオクルージョン、またはオブジェクト/背景オクルージョン)を考慮に入れてもよい。具体的には、本方法は、CADモデルから得られた点群を、背景を表す散布図に挿入するために、これらの側面を考慮してもよい。これらは、(3Dスキャナからの)現実の点群において観察できる効果を再現するための適合ステップに対応する。例えば、テーブルのCADモデルに対応する点群が背景に挿入される場合、本方法は、挿入される背景の密度に対応するように、その密度を適合させてもよい。同様に、現実の点群に対応するため、本方法では、オクルージョンを考慮してもよい。例えば、テーブルの場合、本方法は、テーブルの足の下にある背景に属する点を削除して、実際のスキャナで取得できた可能性のある点のみを保持してもよい。なお、3Dスキャナは、取得において、可視表面の点のみを捉えることにも留意されたい。これを回避するために、本方法では、一例において、合成的に生成されたデータセットにオクルージョンを追加できる。
これらの例の代替例では、3D点群の生成は、自動で正確な点レベルの注釈をさらに提供する自動点群生成方法を適用することを含んでいてもよい。本生成方法は、Xiangyu Yue,Bichen Wu,Sanjit A.Seshia,Kurt KeutzerおよびAlberto L.Sangiovanni−Vincentelliの「A LiDAR Point Cloud Generator: from a Virtual World to Autonomous Driving」(2018)に記載されているものなど、任意の既知の生成方法であってもよく、この文献は参照により本明細書に組み込まれる。本方法は、3DのCADシーン(例えばビデオゲーム環境)から点群を抽出するために仮想スキャナ・シミュレーションを提案する。
さらに他の例では、訓練データセットまたはその少なくとも一部の3D点群は、前述のように、現実のシーンに対して実行された物理的測定に由来してもよい。そのような場合、訓練データセットの提供(S10)は、前述のように、物理的測定を実行することと、当該物理的測定に基づいて3D点群を決定することとを含んでいてもよい。当該提供(S10)は、さらに、オブジェクトに属する点群の各点に「オブジェクト」として注釈をつけ、背景に属する各点に「背景」として注釈をつけることによって、各点群に注釈をつけることを含んでいてもよい。あるいは、これらの3D点群の提供(S10)は、これらの3D点群および例えばその注釈を、それら3D点群が生成された後に保存された(例えば、離れた)メモリから取得することを含んでいてもよい。例えば、訓練データセットの3D点群は、公開されている点群データセット(例えば、Timo Hackel、
N. Savinov、L.Ladicky、Jan D.Wegner、K.Schi
ndler、およびM.Pollefeysの「SEMANTIC3D.NET:A n
ew large−scale point cloud classificatio
n benchmark”.−ISPRS2017、やAndreas Geige、P
hilip Lenz、Raquel Urtasunの“Are we ready for Autonomous Driving? The KITTI Vision Be
nchmark Suite”−CVPR 2012やIro Armeni、Ozan
Sener、Amir R.Zamir、Helen Jiang、Ioannis
Brilakis、Martin Fischer、Silvio Savareseの
3D Semantic Parsing of Large−Scale Indo
or Spaces」−CVPR 2016に提供されているデータセット(これらはす
べて参照により本明細書に組み込まれる))から取得してもよい。」前記提供(S10)
は、そのような公開データセットから取得された点群のバイナリの注釈「オブジェクト対
背景」を含んでいてもよい。
いずれの場合も、3D点群の訓練データセットの提供(S10)は、当該3D点群を提供することを含んでいてもよい。前述のように、各3D点群にはその仕様が備えられている。当該仕様は、それぞれが3D点群内の同じオブジェクトの各選択操作を表す1つまたは複数のグラフィカル・ユーザ・インタラクションについてのデータを形成する。これは、仕様が、1つまたは複数のグラフィカル・ユーザ・インタラクションによって前記同じオブジェクトがどのように選択されるかを、例えば、オブジェクトの相対的な位置と当該1つまたは複数のグラフィカル・ユーザ・インタラクションとに関するデータに基づいて記載していることを意味する。これにより、ニューラルネットワークを、グラフィカル・ユーザ・インタラクションによるオブジェクト選択の検出のみに基づいて3D点群をセグメント化できるように学習できるようになる。訓練データセットの提供(S10)は、各点群について仕様を決定することと、点群にそれを備えさせることとを含んでもよい。仕様の決定は、すなわち、データセットの各3D点群について、仕様を算出/シミュレーションすることを含んでもよい。あるいは、仕様の決定は、すなわちデータセットの各3D点群について、手で、例えば、ユーザが手動で1つまたは複数のグラフィカル・ユーザ・インタラクションを実行することによって、仕様を提供することを含んでいてもよい。
前述のように、この仕様は、「対話操作チャネル」または「ユーザ・インジケータ」とも呼ばれる。具体的には、3D点群の各点は、3D空間内の3つのデカルト座標によって表されてもよい。点は、さらに、当該点が1つまたは複数のグラフィカル・ユーザ・インタラクションによってどのように影響を受けるかを表す第4の座標を含んでいてもよい。言い換えると、第4の座標は、グラフィカル・ユーザ・インタラクションを介した前記同じオブジェクトの選択による点の影響の程度をカプセル化するデータを形成する。データは、例えば、1つまたは複数のグラフィカル・ユーザ・インタラクションのうちの少なくとも1つに対する点の近さを表してもよい。
ここで、訓練データセットの提供(S10)の例について説明する。
一例において、3D点群の訓練データセットの提供(S10)は、当該3D点群を提供することを含む。訓練データセットの提供(S10)は、さらに、各3D点群について、当該3D点群における前記同じオブジェクトの位置に関する情報を提供することを含む。訓練データセットの提供(S10)は、さらに、各3D点群について:1つまたは複数のグラフィカル・ユーザ・インタラクションのそれぞれをシミュレーションすることにより仕様を決定することと、3D点群に1つまたは複数のグラフィカル・ユーザ・インタラクションの仕様を備えさせることとを含む。
前記同じオブジェクトの位置に関する情報は、前記同じオブジェクトを3D点群の他の部分(例えば、もしあれば他のオブジェクト、または背景)から区別することを可能にする任意の情報からなっていてもよい。一例においては、当該情報は、オブジェクトの各点について、当該点を「オブジェクト」とする注釈を含む。当該情報は、点の座標も含んでいてもよい。情報の提供は、例えば前述のように、前記同じオブジェクトの各点に「オブジェクト」として注釈を付けることを含んでいてもよい。情報の提供は、さらに、例えば前述のように、背景の各点に「背景」として注釈を付けることを含んでいてもよい。情報の提供は、もしあれば、他のオブジェクトの各点に、「他のオブジェクト」として注釈を付けることを含んでいてもよい。これは、本方法により、例えば、以下でさらに説明するように、対象オブジェクトに隣接するオブジェクトに負のシードを追加するのに用いられてもよい。しかし、これは必須ではない。実際、対象オブジェクトの周囲の領域にシードを追加するだけで、隣接するオブジェクトにもシードが見つかるようになる(隣接するオブジェクトがある場合)。
グラフィカル・ユーザ・インタラクションのそれぞれをシミュレーションすると、グラフィカル・ユーザ・インタラクションの位置に関するデータが得られる。なお、「シミュレーションする」とは、グラフィカル・ユーザ・インタラクションが仮想的である、すなわち数値的に作成されることを意味する。言い換えると、本学習方法は、シミュレーションされたユーザの行動によるオブジェクト選択の仕様を3D点群に備えさせる。さらに言い換えると、位置に関する前記データは、例えば、比較的ランダムに、かつ/あるいは、所定のプログラム/戦略に従って、数値的に作成される。仕様の決定は、これらのデータと、前記同じオブジェクトの位置に関する情報とに基づく。例えば、仕様の決定では、これらのデータとこの情報を考慮して仕様を作成してもよい。1つまたは複数のグラフィカル・ユーザ・インタラクションのうちのグラフィカル・ユーザ・インタラクションのそれぞれをシミュレーションすることにより、時間がかかり、かつ/あるいは、過剰適合になりがちな、ユーザの手作業なしに、仕様を取得することができる。さらには、これにより、グラフィカル・ユーザ・インタラクションが仮想化され、その結果、例えば、比較的ランダムに、かつ/あるいは、十分に多様化できるため、十分に多様化された訓練データセットが生成される。これにより、機械学習の分野でそれ自体知られているように、学習の質が向上する。
一例において、1つまたは複数のグラフィカル・ユーザ・インタラクションのうちのグラフィカル・ユーザ・インタラクションのそれぞれは、それぞれが3D点群上で定義される1つまたは複数のシード位置に対応する。これらの一例において、グラフィカル・ユーザ・インタラクションのシミュレーションは、前記1つまたは複数のシード位置を決定することを含む。
各シード位置は、グラフィカル・ユーザ・インタラクションの少なくとも一部の位置を表すデータである。前記1つまたは複数のシード位置は、全体として3D点群上でのグラフィカル・ユーザ・インタラクションの位置を表すデータを形成する。各シード位置は、例えば、3D空間内の3つのデカルト座標の集合からなり、グラフィカル・ユーザ・インタラクションの点の位置を示してもよい。言い換えると、シード位置は3D空間内の点からなり、これは、3D点群の点と一致する場合と一致しない場合がある。例えば、シード位置は、グラフィカル・ユーザ・インタラクションの少なくとも一部の、シードによって表される位置に最も近い3D点群の点であってもよい。これにより、シミュレーションされたグラフィカル・ユーザ・インタラクションを、オブジェクト選択のための、さまざまな種類の、異なる、および、通常のグラフィカル・ユーザ・インタラクションの仮想表現とすることができる。実際、多くの種類のよく知られた通常のグラフィカル・ユーザ・インタラクションは、1つまたは複数のシード位置の集合で表すことができる。例えば、1つまたは複数のシード位置は、3D点群上におけるユーザの1つまたは複数回のクリックを表してもよく、各シード位置は、クリックうちの1つの位置に対応する3D空間内の点を表す(例えば、その点である)。シード位置は、例えば、クリックの位置に最も近い3D点群の点であってもよい。あるいは、1つまたは複数のシード位置は、3D点群上におけるユーザのストロークを表してもよく、各シード位置は、ストロークのラインにおけるサンプリングされた位置に対応する3D空間内の点を表す(例えば、その点である)。あるいは、1つまたは複数のシード位置は、3D点群上においてユーザによって描画/定義された境界ボックスを表してもよく、各シード位置は、境界ボックスの内側または外側のサンプリングされた位置に対応する3D空間内の点を表す(例えば、その点である)。これはすべて、グラフィカル・ユーザ・インタラクションごとに当てはまるため、これは、1つまたは複数のグラフィカル・ユーザ・インタラクションが、以下のうち1つまたは複数の仮想表現である可能性があることを意味する:3D点群上での1回または複数回のクリック、3D点群上でのストローク、および/または3D点群上で描画/定義された境界ボックス。以下では、簡潔にするために、各シード位置を単に「シード」とも呼ぶ。
1つまたは複数のシードの決定は、1つまたは複数のシードを、例えば、比較的ランダムに、かつ/あるいは、所定のプログラム/戦略に従って、例えば、所定数のシード、および/または、それらの間の妥当な距離を確保するために算出することを含んでいてもよい。1つまたは複数のシードが3D空間内の1つまたは複数の点である場合、1つまたは複数のシードの決定は、1つまたは複数の点の座標を決定することを含んでいてもよい。
一例において、1つまたは複数のグラフィカル・ユーザ・インタラクションは、前記同じオブジェクトを選択するための第1のグラフィカル・ユーザ・インタラクションを含む。第1のグラフィカル・ユーザ・インタラクションは、それぞれが当該同じオブジェクト上で定義される1つまたは複数の第1のシード位置に対応する。
第1のグラフィカル・ユーザ・インタラクションは、前記同じオブジェクトの選択に関係するため、「ポジティブ・インタラクション」とも呼ばれる。別の言い方をすれば、ポジティブ・インタラクションは、例えば、3D点群の他の部分を破棄するのではなく、実際にそれを選択することによる、前記同じオブジェクトのグラフィカルなユーザ選択を表す。訓練データセットにポジティブ・インタラクションに関するデータを提供することにより、セグメント化を実行するためのそのような対話操作を検出できるようにニューラルネットワークを学習することが可能になる。ポジティブ・インタラクションの例、例えば、第1のグラフィカル・ユーザ・インタラクションは、前記同じオブジェクトに対して1回または複数回のクリックを実行すること、前記同じオブジェクトに対してストロークを実行する、または、同じオブジェクト上、および/または、その周囲に、境界ボックスを描画/定義することを表してもよい。
第1のグラフィカル・ユーザ・インタラクションは肯定的ユーザ対話操作であるので、これは、前記同じオブジェクトに対して、すなわち前記同じオブジェクトの点上で実行される、グラフィカル・ユーザ・インタラクションの仮想表現である。これにより、1つまたは複数の第1のシード位置が、それぞれが前記同じオブジェクト上で定義される。例えば、1つまたは複数の第1のシード位置が1つまたは複数の点である場合、1つまたは複数の点は、実質的に、前記同じオブジェクトの点の中に配置される。第1のグラフィカル・ユーザ・インタラクションのシミュレーションは、1つまたは複数の第1のシードを決定することを含む。1つまたは複数の第1のシードの決定は、例えば、同じオブジェクトの1つまたは複数の点を、ランダムに、または部分的にランダムに、1つまたは複数の第1のシードとして選択することにより、ランダムに実行してもよい。これにより、訓練データセットを簡単に作成できる。
一例において、1つまたは複数のシード位置の決定は、1つまたは複数の第1のシード位置を同じオブジェクト上に拡散させることを含む。1つまたは複数の第1のシードの拡散は、点群のうちの限定された点の集合から、点群の点を、例えばランダムに、シードとして選択することによって各シードを決定することを含んでいてもよい。1つまたは複数の第1のシードの拡散は、第1のシードの数を決定し、それらの間に所定の距離をおいて、その数の第1のシードを選択することを含んでいてもよい。数、および/または、所定の距離は、例えば、オブジェクトのサイズに依存してもよい。これにより、第1のシードが、前記同じオブジェクトを十分カバーできるようになる。
次に、当該拡散の実装について説明する。
この実装により、ポジティブ・インタラクションのためのユーザの行動をシミュレーションできる。完全にランダムなアプローチと比較して、ここでのシミュレーションされた第1のグラフィカル・ユーザ・インタラクションは、ユーザの可能性が高いポジティブ・インタラクションに対応し、ここで、ユーザの対話操作は、前記同じオブジェクトのサイズに関して、その間に妥当な距離を有する、特定の数のシードを生成する。これによりオブジェクトを十分に覆うことができるようになる。例えば、オブジェクトをクリックして選択する場合、ユーザは通常、クリックによりオブジェクトを覆う。オブジェクトに対しストロークを実行してオブジェクトを選択する場合、ユーザは通常、オブジェクトを覆うストロークを描画する。境界ボックスでオブジェクトを選択する場合、ユーザは通常、例えば境界ボックス内においてオブジェクトをフレームで囲むことにより、境界ボックスの内側がオブジェクトを覆うように境界ボックスを描画してもよい。この実装は、タイプの正規確率分布に従って1つまたは複数の第1のシードの数を決定することを含む。
Figure 2021105987
ここでXは第1のシードの数であり、μはM*p/Kに対応し(すなわち等しく)、Mは前記同じオブジェクトの点の数であり、pは第1のグラフィカルな対話操作によって影響を受けるオブジェクトの割合(例えば、20%)であり、Kは隣接するオブジェクトの数である。数Kについて、以下でさらに説明する。σは、1に等しくてもよい。これにより、考慮されるグラフィカルな対話操作のサイズに対して一貫性を保ちつつ、第1のシードの数に関する柔軟性が得られる。この実装は、シード間の最小距離を固定することをさらに含んでもよく、これにより、前記同じオブジェクトをより一層カバーすることができる。固定は、第1のシードを繰り返し選択することを含んでもよく、繰り返しの各回において、前回選択された第1のシードの周りの境界ボックス領域に含まれるすべての点を選択から除外してもよい。この境界ボックスのサイズは、オブジェクトのサイズ(例えば、オブジェクトの長さ、幅、高さの比率)との関係において固定できる。第1のシードの数Xは、式(1)に従って選択してもよいが、1より大きいか、または1に等しい最も近い整数部分に丸めてもよい。
ここで、現在説明している拡散の実装における特定の実装について説明する。特定の実装において、前記オブジェクトは「対象オブジェクト」と呼ばれ、各シードは「肯定的シード」と呼ばれる。特定の実装は、次の仕様を有するアルゴリズムに従って実行される。
入力変数は以下の通りである。
objPoints:対象オブジェクトの全ての点を含む変数。
K:この点群で考慮される隣接するオブジェクトの数である変数。数Kについては、以下でさらに説明する。
proportion:第1のグラフィカルな対話操作によって影響を受けるオブジェクトの割合を制御するパラメータ。
standardDeviation:いくつかの肯定的シードについて記載するのに用いられる分布の分散を制御するパラメータ。
出力変数は以下の通りである。
seeds:対象オブジェクトに対するすべての肯定的クリック(座標)のリストを含む変数。
現れる中間変数は以下の通りである。
numberOfObjPoints:対象オブジェクトに属する点の数に対応する変数。
numberOfSeeds:この対象オブジェクトに対して実行される肯定的クリックの数に対応する変数。
seed:1回の肯定的クリックの座標に対応する変数。
明示的な宣言なしに現れる関数は次の通りである。
RandPoint():点の集合のうちのランダムな点を返す関数。
RegionAround():点の座標の周囲の領域を返す関数。ここでは、以前のクリックの周囲の領域にあるオブジェクトのすべての点を抑制し、クリック間の距離を最小限に抑えるために用いられる。
NormalDistribution(mean,standardDeviation):入力パラメータによって定義された正規分布に従って浮動小数点値を返す関数。
アルゴリズムは以下の疑似コードで記述される。
Figure 2021105987
一例において、1つまたは複数のグラフィカル・ユーザ・インタラクションは、少なくとも1つの3D点群(すなわち訓練データセットのもの)について、第1のグラフィカル・ユーザ・インタラクションを含み、1つまたは複数のグラフィカル・ユーザ・インタラクションは、さらに、前記同じオブジェクトの外側の領域を破棄するためのものであって、かつ、それぞれが前記同じオブジェクトの外側に定義された1つまたは複数の第2のシード位置に対応する、第2のグラフィカル・ユーザ・インタラクションを含む。
第2のグラフィカル・ユーザ・インタラクションは、オブジェクトの外側の領域を破棄することによる前記同じオブジェクトの選択に関係するため、「ネガティブ・インタラクション」とも呼ばれる。別の言い方をすれば、ネガティブ・インタラクションは、前記同じオブジェクトではない点群の部分を破棄することによる前記同じオブジェクトのグラフィカルなユーザ選択を表す。訓練データセットに、ポジティブ・インタラクションに加えてネガティブ・インタラクションに関するデータを提供することにより、セグメント化を実行するための肯定的およびネガティブ・インタラクションをともに検出できるようにニューラルネットワークを学習することが可能になる。これにより、ニューラルネットワークがセグメント化を実行する能力が向上する。なぜなら、ユーザによる点群内のオブジェクトのグラフィカルな選択には、ポジティブ・インタラクション(例えば、オブジェクトの大まかな選択を行うための操作)とネガティブ・インタラクション(例えば、その後、背景や他のオブジェクトなど、領域の外側を破棄することにより選択を絞り込むための操作)が混在することが多いためである。そのようなネガティブ・インタラクションの例、例えば、第2のグラフィカル・ユーザ・インタラクションが表し得るのは、前記同じオブジェクトの外側(例えば、背景または別のオブジェクト上)で1回または複数回のクリックを実行すること、または、前記同じオブジェクトの外側(例えば、背景または別のオブジェクト上)でストロークを実行することである。さらには、肯定的およびネガティブ・インタラクションを混在させる学習方法の機能により、ニューラルネットワークが、ユーザがオブジェクトの周囲の境界ボックスを描画/定義することからなるオブジェクトのグラフィカルな選択を検出できるように、ニューラルネットワークを学習することができる:すなわち、境界ボックスの外側の点(または少なくともそれらのサンプル)はニューラルネットワークによって第2のシードとして検出され、内側の点(または少なくともそれらのサンプル)は第1のシードとして検出される。
肯定的および否定的シードの混在により、グラフィカル・ユーザ・インタラクションのそれぞれが、クリック、ストローク、境界ボックスなど、典型的な対話操作を表すことができ、これらすべてのグラフィカルな対話操作は、前述のように、シードによって表されるという特性を有する。具体的には、クリックはシードに直接対応するため、クリックは利用可能な最小限の対話操作を表す。ストロークは、ストロークの線からシードの位置をサンプリングすることにより、シードの集合(例えば、個々の点の集合)へとサンプリングでき、クリックの生成として、必要な生成に非常に近くなる。境界ボックスを用いて対象オブジェクトを大まかに示すと仮定すると、境界ボックスは、ボックスの内側と外側の個々の点インジケータをそれぞれ肯定的および否定的クリックでサンプリングすることにより、シードの集合に変換することもできる。しかしながら、一例において、特定のタイプのユーザ対話操作に最適に対応するシードを決定するために、すなわち、入力されるグラフィカル・ユーザ・インタラクションが常に同じタイプ、例えば境界ボックスであるアプリケーションの場合に、本学習方法がこれらのパラダイムから逸脱する場合がある。例えば、本学習方法は、前記同じオブジェクト上での各対話操作について、異なる高さ、長さ、および幅を有する訓練ボックスの内側および外側からシードをサンプリングすることによって、境界ボックスからシードを生成するための最適化を実行してもよい。さらには、一部の訓練境界ボックスは、部分的に前記同じオブジェクトを部分的に含み得る。このように、ニューラルネットワークは、ユーザがオブジェクトを部分的にのみ囲む境界ボックスを提供する場合でも、点群内のオブジェクトを識別できる。
第2のグラフィカル・ユーザ・インタラクションは否定的ユーザ対話操作であるので、これは、前記同じオブジェクトの外側で、すなわち前記同じオブジェクトの外側の点上で実行される、グラフィカル・ユーザ・インタラクションの仮想表現である。これにより、1つまたは複数の第2のシード位置が、それぞれが前記同じオブジェクトの外側で定義される。例えば、1つまたは複数の第2のシード位置が1つまたは複数の点である場合、1つまたは複数の点は、実質的に、前記同じオブジェクトの外側の点の中に配置される。第2のグラフィカル・ユーザ・インタラクションのシミュレーションは、1つまたは複数の第2のシードを決定することを含む。1つまたは複数の第2のシードの決定は、例えば、同じオブジェクトの外側の1つまたは複数の点を、ランダムに、または部分的にランダムに、1つまたは複数の第2のシードとして選択することにより(すなわち、背景または別のオブジェクトの1つまたは複数の点)、ランダムに実行してもよい。
ここで、1つまたは複数の第2のシードの決定の実装について説明する。
この実装では、1つまたは複数の第2のシードの決定は、異なる戦略に従って実行してもよい。各戦略により、典型的なユーザの行動をシミュレーションし、現実の対話操作のタイプに一致させることができる。
第1の戦略によれば、1つまたは複数の第2のシードの決定では、前記同じオブジェクトの周り(例えば、所定の距離内)の1つまたは複数の第2のシードを決定する。この戦略は、ユーザがオブジェクトの境界を特定するのに用いる可能性が最も高い方法をシミュレーションする。この戦略による1つまたは複数の第2のシードの決定は、対象オブジェクトの周りの背景の点の近接領域(例えば、30センチメートル未満の領域、すなわち、オブジェクトの周囲にあり、幅が30センチメートルの細長い領域)を抽出し、1つまたは複数の第2のシードとして、領域内の1つまたは複数のランダムな点を選択することを含んでいてもよい。
第2の戦略によれば、前記同じオブジェクトの周り(例えば、所定の距離内)の1つまたは複数の第2のシードの決定では、前記同じオブジェクトに隣接するオブジェクト(例えば、前記同じオブジェクトから所定の距離内のオブジェクト)上の1つまたは複数の第2のシードを決定する。この戦略は、オブジェクトの背景オブジェクトとしての分類をシミュレーションし、現実のユーザの行動にも一致する。第2の戦略に従って1つまたは複数のシードを決定するには、点群シーン内のすべてのオブジェクトに注釈を付ける必要がある。この戦略による1つまたは複数の第2のシードの決定は、前記同じオブジェクトに最も近いものの中から各背景オブジェクト上の点をランダムに選択することを含んでいてもよく、選択された点は1つまたは複数の第2のシードである。
第3の戦略によれば、1つまたは複数の第2のシードの決定では、1つまたは複数の第2のシードをランダムに(例えば、対象オブジェクトから遠く離れていても)決定して、ランダムな偽の第1のシードを抑制し、他のユーザの行動と一致させる。この戦略による決定は、1つまたは複数の第2のシードとして、1つまたは複数の背景の点(すなわち、3D点群のすべての点から前記同じオブジェクトの点を差し引いたもの)をランダムに選択することを含んでいてもよい。
なお、訓練データセット内の各3D点群について、1つまたは複数のグラフィカル・ユーザ・インタラクション中に少なくとも1つのポジティブ・インタラクション(すなわち、第1のグラフィカル・ユーザ・インタラクション)があるが、必ずしもネガティブ・インタラクション(すなわち、第2のグラフィカル・ユーザ・インタラクション)があるとは限らない。一例においては、データセット内に1つまたは複数の3D点群があり、1つまたは複数のグラフィカル・ユーザ・インタラクションが、前述の第2のグラフィカル・ユーザ・インタラクションを含む。本学習方法は、例えば、前述の第1、第2、および第3の戦略の中から比較的ランダムに選択される、所与の戦略をそれぞれ有するこれらの第2のグラフィカル・ユーザ・インタラクションのそれぞれについて、1つまたは複数の第2のシードを決定してもよい。「比較的ランダムに」とは、ここでは、いくつかの戦略が他の戦略よりも選択される可能性が高くてもよいことを意味する。例えば、第1の戦略は、現実の世界で発生する可能性のあるユーザの行動をシミュレーションするため、選択される可能性が最も高くてもよい。第2の戦略はオプションであってもよい。すなわち、本学習方法の例では、たとえば背景オブジェクトにそのように注釈が付けられていない場合などには、選択されることがない。
第1のグラフィカル・ユーザ・インタラクションに関しては、戦略に関係なく、決定された第2のシードの数は、第2のシードのターゲット数を中心とする確率分布から導き出してもよい。この目標とする第2のシードの数は、典型的には、シミュレーションされる対話操作の量を制御するパラメータであるだけでなく、ニューラルネットワークが学習するタスク(すなわち、セグメント化)の容易さであってもよい。例えば、ターゲット数0は、ポジティブ・インタラクションがオブジェクトを抽出するのに十分な情報を提供することだけを目標とするが、否定的クリックを不安定にし、抽出の品質を制限する可能性がある。一方、大きいターゲット数(15など)は正確なセグメント化マスクを保証するが、ニューラルネットワークの使用中に多くのユーザ対話操作が必要になる。これに対応する実装は、タイプの正規確率分布に従って1つまたは複数の第2のシードの数を決定することを含む。
Figure 2021105987
ここでXは第2のシードの数である。正規確率分布のパラメータの集合の例は、μ=1およびσ=1である。第2のシードの数Xは、Xが決定されるときの下限として0であってもよい。
ここで、現在説明している1つまたは複数の第2のシードの決定の実装のうち特定の実装について説明する。特定の実装において、前記オブジェクトは「対象オブジェクト」と呼ばれ、各シードは「否定的シード」と呼ばれる。特定の実装は、次の仕様を有するアルゴリズムに従って実行される。
入力変数は以下の通りである。
objPoints:対象オブジェクトの全ての点を含む変数。
scenePoints:シーン(対象オブジェクトを含む)の全ての点を含む変数。
mean:いくつかの否定的シードについて記載するのに用いられる分布の平均を制御するパラメータ。
standardDeviation:いくつかの否定的シードについて記載するのに用いられる分布の分散を制御するパラメータ。
pStrategy:ある戦略を他の戦略に対して選択する確率を制御するパラメータ。
出力変数は以下の通りである。
seeds:対象オブジェクトに対するすべての否定的クリック(座標)のリストを含む変数。
現れる中間変数は以下の通りである。
backgroundPoints:点群シーンから対象オブジェクトに属する点を差し引いたすべての点を含む変数。
strategy:選択した戦略に対応する変数。これは以下のものであり得る。
random(背景の点からのランダムな点)。
neighborObjs(対象オブジェクトから最も近いオブジェクトをクリックする)。
surroundings(対象オブジェクトの周りの小さな領域をクリックする)。
numberOfSeeds:この対象オブジェクトに対して実行される否定的クリックの数に対応する変数。
seed:1回の否定的クリックの座標に対応する変数。
nearestObjs:すべての隣接するオブジェクトの点群のリストである変数。長さはnumberOfSeedsである。
明示的な宣言なしに現れる関数は次の通りである。
RandPoint():点の集合のうちのランダムな点を返す関数。
RegionAround():点の座標の周囲の領域を返す関数。我々のケースでは、これは、以前のクリックの周囲の領域にある背景のすべての点を抑制し、クリック間の距離を最小限に抑えるために用いられる。
NearestObjs():すべての隣接するオブジェクトの点群のリストを返す関数。長さはnumberOfSeedsである。
SmallerRegionAroundObj():対象オブジェクトの周囲の背景の点の近接領域を返す関数。
NormalDistribution(mean,standardDeviation):入力パラメータによって定義された正規分布に従って浮動小数点値を返す関数。
アルゴリズムは以下の疑似コードで記述される。
Figure 2021105987
いずれの場合も、シミュレーションの後、グラフィカル・ユーザ・インタラクションのそれぞれの位置に関するデータがグラフィカル・ユーザ・インタラクションのシミュレーションにより決定されている。一例においては、この時点で、3D点群のそれぞれ、および3D点群に対する1つまたは複数のグラフィカル・ユーザ・インタラクションのそれぞれについて、グラフィカル・ユーザ・インタラクションをシミュレーションすると、次のようになる。
グラフィカル・ユーザ・インタラクションがポジティブ・インタラクションである場合(1つまたは複数のグラフィカル・ユーザ・インタラクションの少なくとも1つがポジティブ・インタラクションである場合)、1つまたは複数の第1のシードが上記のように決定されており、
グラフィカル・ユーザ・インタラクションがネガティブ・インタラクションである場合、1つまたは複数の第2のシードが上記のように決定されている。
仕様の決定は、次いで、シミュレーションされたすべてのグラフィカル・ユーザ・インタラクションの位置に関するデータを処理し、それらを仕様を形成する1つのデータに変換することを含んでいてもよい。3D点群に仕様を備えさせることは、次いで、仕様を3D点群と関連付けて対を形成することを含んでもよく、当該対は、訓練サンプルを形成する。
ここで、本学習方法について、当該備えさせることの例について説明する。
一例において、前記3D点群に仕様を備えさせることは、グラフィカル・ユーザ・インタラクションのそれぞれのシミュレーションに基づいて、3D点群の各点に座標を追加することを含む。座標は当該点における選択操作の強度を定量化する。
「グラフィカル・ユーザ・インタラクションのそれぞれのシミュレーションに基づいて」とは、3D点群に仕様を備えさせることが、シミュレーションされたグラフィカル・ユーザ・インタラクションそれぞれの位置に関するデータを考慮に入れることを意味する。実際、3D点群に仕様を備えさせることは、ここでこれらのデータを処理し、それらを座標の集合に変換することを含み、3D点群の各点を1つの座標へと変換する。3D点群に仕様を備えさせることは、次いで、この座標を各点に追加することを含み、これにより仕様が得られる。別の言い方をすれば、仕様は3D点群の各点に追加されたすべての座標の集合である。
変換は、各点について、座標が当該点における選択操作の強度を定量化するように行われる。具体的には、座標は、グラフィカル・ユーザ・インタラクションのそれぞれに対する点の近さを定量化する。これにより、選択するオブジェクト(すなわち、前記同じオブジェクト)に点が属しているかどうかを定量化する。これにより、最終的に、学習(S20)において、ニューラルネットワークがセグメント化を実行するときに、ニューラルネットワークが、オブジェクトの一部として点を選択するかどうかを学習することができる。例えば、ニューラルネットワークは、座標が大きいほど、点が選択するオブジェクトに属する確率が高くなることを検出するように訓練される。
一例において、1つまたは複数のグラフィカル・ユーザ・インタラクションのうちのグラフィカル・ユーザ・インタラクションはそれぞれ、前記同じオブジェクトを選択するためのもの(例えば前述の第1のグラフィカル・ユーザ・インタラクション)か、前記同じオブジェクトの外側の領域を破棄するためのもの(例えば前述の第2のグラフィカル・ユーザ・インタラクション)である。これらの一例において、3D点群の各点について、座標の追加は、
座標を初期値に設定することと、
前記同じオブジェクトを選択するためのグラフィカル・ユーザ・インタラクションのそれぞれについて、当該グラフィカル・ユーザ・インタラクションと当該点との間の近さに応じて当該座標を増加させることと、
前記同じオブジェクトの外側の領域を破棄するためのグラフィカル・ユーザ・インタラクションのそれぞれについて、当該グラフィカル・ユーザ・インタラクションと当該点との間の近さに応じて当該座標を減少させることと、を含む。
グラフィカル・ユーザ・インタラクションと点との間の近さに応じて座標を増加させることは、点の位置とグラフィカル・ユーザ・インタラクションの位置との間の距離を定量化することを含んでいてもよい。例えば、グラフィカル・ユーザ・インタラクションは、1つまたは複数の第1のシードによって定義された上述の第1のグラフィカル・ユーザ・インタラクションであってもよい。距離の定量化は、点と各第1のシードとの間の各距離を定量化することを含んでいてもよい。座標を増加させることは、次いで、各定量化された距離を表す値を座標に追加することを含んでいてもよい。
グラフィカル・ユーザ・インタラクションと点との間の近さに応じて座標を減少させることは、点の位置とグラフィカル・ユーザ・インタラクションの位置との間の距離を定量化することを含んでいてもよい。例えば、グラフィカル・ユーザ・インタラクションは、1つまたは複数の第2のシードによって定義された上述の第2のグラフィカル・ユーザ・インタラクションであってもよい。距離の定量化は、点と各第2のシードとの間の各距離を定量化することを含んでいてもよい。座標を増加させることは、次いで、各定量化された距離を表す値を座標に追加することを含んでいてもよい。
なお、3D点群の任意の点について、当該点がグラフィカル・ユーザ・インタラクションから遠すぎる場合、それが同じオブジェクトを選択するためのグラフィカル・ユーザ・インタラクションの場合も、その外側の領域を破棄するためのものの場合も、点の座標は増加も減少もしない。言い換えると、各点および1つまたは複数のグラフィカル・ユーザ・インタラクションのうちのグラフィカル・ユーザ・インタラクションそれぞれについて、座標の増加または減少は、当該点がグラフィカル・ユーザ・インタラクションに比較的近い場合にのみ発生する(例えば、当該グラフィカル・ユーザ・インタラクションを定義しているシードからの距離が所定の範囲内)。したがって、点の座標が、仕様を備えさせた後も初期値と等しい場合がある。
このような方法で座標を追加すると、次のような効果がある。すなわち、点が、前記同じオブジェクトを選択するための1つまたは複数のグラフィカル・ユーザ・インタラクションに近いほど、当該点が前記同じオブジェクトに属する可能性が高くなり、その追加された座標がより大きな値を有することになる。逆に、点が、前記同じオブジェクトの外側の領域を破棄するための1つまたは複数のグラフィカル・ユーザ・インタラクションに近いほど、当該点がその領域に属する可能性が高くなり、その追加された座標がより小さな値を有することになる。最終的に、これは、グラフィカル・ユーザ・インタラクションがオブジェクトを選択するためのものである場合、およびオブジェクトの外側の領域を破棄するためのものである場合を検出するようにニューラルネットワークを学習するのに役立つ。
ここで、本学習方法について、3D点群に仕様を備えさせることの実装について説明する。
この実装では、各3D点群について、1つまたは複数のグラフィカル・ユーザ・インタラクションは、前述の1つまたは複数の第1のグラフィカル・ユーザ・インタラクション含み、それらの1つ1つに、1つまたは複数のシード位置の決定は、前述の拡散の実装に応じた1つまたは複数の第1のシードの拡散を含む。現在説明している実装では、1つまたは複数のグラフィカル・ユーザ・インタラクションは、1つまたは複数の前述の第2のグラフィカル・ユーザ・インタラクションを含んでいてもよく、その場合、それらの1つ1つについて、前述の1つまたは複数の第2のシードの決定の実装に従って、1つまたは複数の第2のシードの決定が実行される。したがって、現在説明している実装では、1つまたは複数のグラフィカル・ユーザ・インタラクションをシミュレーションすると、以下が得られる。
第1のグラフィカル・ユーザ・インタラクション(すなわち、ポジティブ・インタラクション)ごとに、1つまたは複数の第1のシードの位置。
第2のグラフィカル・ユーザ・インタラクション(すなわち、ネガティブ・インタラクション)ごとに、1つまたは複数の第2のシードの位置。
さらに、この実装では、前述のように、各シードが点である。この実装には、シードを仕様に変換することを含み、これは、ここでは、インタラクション・チャネルと呼ばれる。変換では、K近傍検索を用いて、各シードに最も近いK個の点を取得し、各シードからの距離に基づいて、それらに特定の強度を割り当てる。
具体的には、座標の追加は、3D点群のすべての点について、同じ値で座標を初期化することを含み、当該同じ値は128に等しい。座標の追加は、次いで、シードごとに、たとえば最近傍探索アルゴリズムに従って、シードに最も近いK個の点を取得することを含む。ここで、数Kは、式(1)に関連して前述した数Kである。取得は、3D点群の点の数に従って、K近傍探索で用いられた近傍の数を調整することを含んでいてもよい。これにより、検索を点群密度に対して不変にすることができる。調整は、次の式に従って実行できる。
Figure 2021105987
ここで、Dは考慮される点のデフォルトの数、mは選択された調整の程度、kは考慮される近傍のデフォルトの数である。
実験によると、Kについてのこの式は、さまざまな点群サイズに対して非常に安定していることが示された(3*3*5メートルの領域について、D=100000、k=1024、m=128で、約10k〜500kの点の範囲をテストした)。これらの数値は、大きなオブジェクトに対する対話操作の数を減らすのに十分な大きさでありながら、最小のオブジェクトのサイズにもグローバルに対応するグラフィカル・インタラクションのサイズに対応するように、実験で選択した。次いで、わかりやすくするために、訓練データセット内のオブジェクトごとに観測されたオブジェクト点の数と点群の密度について選択した。これにより、実験では、すべてのオブジェクトと点群密度に適合する最適なKを決定する方法を見つけることができた。
座標の追加は、次いで、各シードについて、およびシードのK近傍に属する3D点群の各点について、以下により座標を修正することを含む。
シードが第1のシードである場合、シードからのガウス強度を座標に追加する。または、
シードが第2のシードである場合、シードからのガウス強度を座標から差し引く。
実際、修正は、シードごとに、ガウス強度を算出し、シードに最も近いK個の点のK個の距離の中央値距離に基づいてガウス強度を動的に調整することを含む。肯定的シードとも呼ばれる第1のシードのガウス強度の算出は、次の式に従って実行してもよい。
Figure 2021105987
ここで、
Figure 2021105987
であり、
Figure 2021105987
は、各近傍についての肯定的シードからの距離を含み、サイズは(K,1)であり、Kは最近傍の数である。
否定的シードとも呼ばれる第2のシードのガウス強度の算出は、次の式に従って実行してもよい。
Figure 2021105987
ここで
Figure 2021105987
であり、
Figure 2021105987
は、各近傍についての否定的シードからの距離を含み、サイズは(K,1)であり、Kは最近傍の数である。
なお、追加された座標は、すべての点について、128で初期化される。ガウス強度に127を掛けると、肯定的シードに一致する点について最大値255を得ることができる。否定的シードに一致する点については、対応する最終的な点の強度は1である。したがって、強度は色のチャネルと同じ振幅をカバーし、点群にそれぞれカラーチャネルが備えられている場合には、さらに単純な正規化ステップ(各チャネルの0〜1を255で除算することによる正規化)が可能になる。近傍の距離の配列の中央値としての動的なsパラメータは、さまざまな点群密度を処理するための柔軟性を提供する。シードに一致するすべての点からの寄与が追加され、上記備えさせることは、[0,255]に属する座標のクリッピング、点の他の座標への連結、および各点についてこれを含む。インタラクション・チャネル/仕様は、連結されたすべての座標の集合である。たとえば、座標xyzを唯一の特徴とするN個の点からなる3D点群の場合、上記備えさせることの結果、(N,3+1)の最終的な点群の次元が得られる。色が存在する場合、上記備えさせることの結果、例えば(N,6+1)次元が得られる。実施された実験では、点座標のみを用い、すなわち色は用いなかったが、素晴らしい結果が示された。
その結果、この実装では、訓練データセットは、それぞれが点群とそれらのインタラクション・チャネルの対からなる訓練サンプルからなる。各訓練サンプルは、点群セグメント化の分野からそれ自体が知られているように、3D点群の各点について、その点が前記同じオブジェクトに属するかどうかを示すセグメント化マスクもさらに含んでいてもよい。セグメント化マスクは、前述のように、3D点群の注釈付けのステップにおいて作成してもよい。
図4は、点群40およびそのインタラクション・チャネルを示す。図4は、特に、肯定的シード42および2つの否定的シード44および46を示している。図5は、対応するセグメント化マスク50を示し、前記同じオブジェクト52に対応する点群40の部分、および前記同じオブジェクト54に対応しない部分を示す。
ここで、ニューラルネットワークの学習(S20)について説明する。
前述のように、ニューラルネットワークは、ニューラルネットワークが入力を処理するために適用する操作を定義する重み形成データを有する。ニューラルネットワークの学習(S20)は、訓練データセットに基づいて重みの値を決定することを含む。ニューラルネットワークの学習(S20)は、任意の既知の技術に従って実行できる。例では、ニューラルネットワークの学習(S20)は、任意の既知のディープニューラルネットワーク(DNN)学習方法に従って実行される。
機械学習の分野でそれ自体が知られているように、DNNは、コンピュータが観測データから学習するのを可能にする、生物学に着想を得たプログラミングパラダイムであるニューラルネットワークで学習するための技術の集合である。例えば、E.Rumelhart,G.E.Hinton,R.J.Williams,Learning internal representations by error propagation,Parallel distributed processing:explorations in the microstructure of cognition,vol.1:foundations,MIT Press,Cambridge,MA,1986を参照のこと。これは参照により本明細書に組み込まれる。オブジェクト認識において、DNNの成功は、他の方法(最小カット、SVM、Boosting、Random Forestなど)で用いられる手作業による低レベルの特徴(ゼルニケモーメント、HOG、Bag−of−Words、SIFTなど)とは対照的に、豊かな中間レベルのメディア表現を学習する能力を有するおかげである。より具体的には、DNNは、未処理のデータに基づくエンドツーエンドの学習に焦点を当てている。言い換えると、未処理の特徴から始まりラベルで終わるエンドツーエンドの最適化を達成することによって、特徴量エンジニアリングから可能な限り遠く離れる。
本明細書のニューラルネットワークは、点群セグメント化を実行できる任意の既知の深層学習モデルであってもよい。例えば、ニューラルネットワークは、PointCNNであってもよい([4]Li,Yangyan,Rui Bu,Mingchao Sun,Wei Wu,Xinhan Di,and Baoquan Chen.“PointCNN:Convolution On X−Transformed Points.”−NeurIPS 2018参照。これは引用により本明細書に組み込まれる)。ニューラルネットワークは、手動では値を設定できない数百万のパラメータを含んでいてもよい。学習(S20)は、これらのパラメータの値を設定/更新することを含む。学習アルゴリズムがモデルパラメータを更新しているとき、モデルは「訓練モード」にあると言われる。これは、各入力に関連付けられた注釈により、各入力に対するモデルの出力に応じてモデルを連続的に「修正」することからなる。注釈は、モデルの出力が真か偽かを評価することを可能にする特定の入力と関連付けられたデータの集合である。注釈付きデータセットによりモデルの訓練を監督する方法を「教師あり学習」と呼ぶ。モデルが訓練されると、そのパラメータの更新を停止する。次いで、モデルは、新しい入力(すなわち、訓練モード中には見えない入力)を処理して検出結果を返すためにのみ用いられ、このようなモデルは「テストモード」にあると言われる。ニューラルネットワークの学習(S20)は、機械学習の分野でよく知られているこれらすべての深層学習の概念を統合してもよい。
ニューラルネットワークは、入力された3D点群、および、それぞれが各選択操作を表す1つまたは複数の入力グラフィカル・ユーザ・インタラクションの仕様に基づき、オブジェクトを含む入力された3D点群をセグメント化するように構成されている。言い換えると、ニューラルネットワークは、仕様を備えた入力された3D点群を入力とする。さらに言い換えると、ニューラルネットワークは、訓練データセットのどのサンプルとも同じタイプのデータを入力とする。ニューラルネットワークは、入力された3D点群を、セグメント化するように構成されている。言い換えると、ニューラルネットワークは、その入力に基づいて、入力された3D点群に含まれるオブジェクトの抽出を実行する。ニューラルネットワークがこれを行うことができるのは、入力された3D点群には仕様が備えられており、ニューラルネットワークはそのような仕様を検出するように学習(S20)されているからである。言い換えると、仕様は、オブジェクトを選択するための1つまたは複数の入力グラフィカル・ユーザ・インタラクションの位置を示し、ニューラルネットワークはこの仕様から、オブジェクトが選択されることを検出する。なお、前述のように、ニューラルネットワークは、点群カテゴリとオブジェクトカテゴリに依存しない。ニューラルネットワークは、オブジェクトと背景の残りの部分との違いを示すデータ、例えばセグメント化マスクを出力する。
例えば、ニューラルネットワークは、入力された点群の各点の分類結果を、対応する信頼スコアとともに出力してもよい。具体的には、このような例では、各点について、ニューラルネットワークは点のオブジェクトの一部であるかどうかの分類を、信頼スコアとともに出力する。信頼スコアは、0と1との間の実数である。スコアが1に近ければ近いほど、ニューラルネットワークは、その点に関連付けられたラベルについて、より信頼性が高い。言い換えると、ニューラルネットワークは、オブジェクトについてセグメント化マスクを出力する。これらの例では、各訓練サンプルはセグメント化マスクも含み、前述のように、点群の各点を「オブジェクト」または「背景」として分類する。これらの一例において、学習(S20)は完全教師ありの学習である。
セグメント化方法について、ここで説明する。
本セグメント化方法は、インタラクティブな点群セグメント化のための方法である。
よって、本セグメント化方法は、オブジェクトを含む3D点群を提供すること(S30)を含む。訓練データセットの他の3D点群と同様に、ここでの3D点群は現実のシーンを表してもよく、物理的な測定または合成点群生成プロセスから生じてもよい。提供(S30)は、本セグメント化方法を実行するコンピュータシステムのディスプレイ(例えば、グラフィカル・ユーザ・インターフェース)上に3D点群を表示することを含み得る。3D点群は、ユーザに表示されてもよく、それにより、ユーザは、3D点群に対し、例えばオブジェクトについての関心を示すなど、グラフィカルに対話操作を行うことができる。
本セグメント化方法は、提供された3D点群のインタラクティブなセグメント化に対応する1回または複数回の繰り返しも含む。具体的には、繰り返しの各回は、1つまたは複数のグラフィカル・ユーザ・インタラクションを実行することによって、オブジェクトの選択操作を実行する(S40)ことを含む。言い換えると、ユーザは、(例えば表示された)提供された3D点群に対し1回または複数回グラフィカルに対話操作を行うことにより、オブジェクトについての関心を示すことができる。各グラフィカル・ユーザ・インタラクションは、オブジェクトの選択に関係し、1つまたは複数のグラフィカル・ユーザ・インタラクションは、全体としてオブジェクトの選択操作を形成する。
オブジェクトの選択に関して、「グラフィカル・ユーザ・インタラクション」とは、これは、ユーザが、触覚システム(例えば、マウス、またはセンシティブ/タッチスクリーンやセンシティブ/タッチパッドなどのタッチデバイス)を用いて、例えばディスプレイ・ユニットの1つまたは複数の位置を選択することにより、オブジェクトへの関心を示すユーザ・インタラクションを意味する。1つまたは複数の位置は、1つまたは複数のクリックなど、異なる位置を形成してもよい。あるいは、それらは、全体として、ストロークや境界ボックスなどの連続した形状を形成してもよい。1つまたは複数の位置がオブジェクト上にあってもよく、その場合、グラフィカル・ユーザ・インタラクションはオブジェクトを選択するためのものである。あるいは、1つまたは複数の位置は、オブジェクトの外側の領域(例えば、別のオブジェクトまたは背景)上にあってもよく、その場合、グラフィカル・ユーザ・インタラクションは、前記領域を破棄するためのものである。アクティベーション後、実質的にリアルタイムで、選択が視覚的に表示されてもよい。
一例において、1つまたは複数のグラフィカル・ユーザ・インタラクションは、オブジェクト上での1回または複数回のクリックを行うことからなるグラフィカル・ユーザ・インタラクションを含んでいてもよい。1回または複数回のクリックの実行は、触覚デバイスを用いて実行してもよく、例えば、ユーザは、オブジェクト上の1つまたは複数の位置において、表示されている3D点群を1回または複数回クリックまたはタッチする。このグラフィカル・ユーザ・インタラクションは、オブジェクト上の1つまたは複数の位置(すなわち、1回または複数回のクリックの位置)の選択に関係するため、オブジェクトを選択するためのものである。
追加的にあるいは代替的に、1つまたは複数のグラフィカル・ユーザ・インタラクションは、オブジェクト上でストロークを行うことからなるグラフィカル・ユーザ・インタラクションを含んでいてもよい。ストロークの実行は、ユーザが、例えば触覚デバイスを用いて、オブジェクト上で線に沿ってカーソルを連続的に移動させるか、あるいは、オブジェクト上でタッチを連続的に実行することにより、表示された3D点群上でストロークを描画することからなっていてもよい。このグラフィカル・ユーザ・インタラクションは、オブジェクト上の位置(すなわち、ストロークにより定義される位置)の選択に関係するため、オブジェクトを選択するためのものである。
追加的にあるいは代替的に、1つまたは複数のグラフィカル・ユーザ・インタラクションは、オブジェクト上またはオブジェクトの周りに境界ボックスを定義することからなるグラフィカル・ユーザ・インタラクションを含んでいてもよい。境界ボックスの定義は、ユーザが、例えば触覚デバイスのタッチまたはカーソルを連続的に動かして境界ボックスを形成することによって、表示された3D点群上に境界ボックスを描くことからなっていてもよい。このグラフィカル・ユーザ・インタラクションは、オブジェクト上の位置(すなわち、境界ボックスの内側の位置)の選択に関係するため、オブジェクトを選択するためのものである。
追加的にあるいは代替的に、1つまたは複数のグラフィカル・ユーザ・インタラクションは、オブジェクトの外側で1回または複数回のクリックを行うことからなるグラフィカル・ユーザ・インタラクションを含んでいてもよい。1回または複数回のクリックの実行は、触覚デバイスを用いて実行してもよく、例えば、ユーザは、オブジェクトの外側の1つまたは複数の位置において、表示されている3D点群を1回または複数回クリックまたはタッチする。このグラフィカル・ユーザ・インタラクションは、オブジェクトの外側の領域上の1つまたは複数の位置(すなわち、1回または複数回のクリックの位置)の選択に関係するため、オブジェクトの外側の領域を破棄するためのものである。1つまたは複数の位置は、例えば、オブジェクトの外側の隣接する領域上にあって、オブジェクトの境界を特定してもよい。あるいは、隣接するオブジェクト上にあって、背景オブジェクトとして特定してもよい。
追加的にあるいは代替的に、1つまたは複数のグラフィカル・ユーザ・インタラクションは、オブジェクトの外側でストロークを行うことからなるグラフィカル・ユーザ・インタラクションを含んでいてもよい。ストロークの実行は、ユーザが、例えば触覚デバイスを用いて、3D点群上で線に沿ってカーソルを連続的に移動させるか、あるいは、3D点群上でタッチを連続的に実行することにより、表示された3D点群上でストロークを描画することからなっていてもよい。このグラフィカル・ユーザ・インタラクションは、オブジェクトの外側の領域上の位置(すなわち、ストロークにより定義される位置)の選択に関係するため、オブジェクトの外側の領域を破棄するためのものである。位置は、例えば、オブジェクトの外側の隣接する領域上にあって、オブジェクトの境界を特定してもよい。あるいは、隣接するオブジェクト上にあって、背景オブジェクトとして特定してもよい。
1つまたは複数のグラフィカル・ユーザ・インタラクションは互いを補完する:例えば、1つはオブジェクトを大まかに選択するためのものであり(例えば、オブジェクト上での1回のクリック)、もう1つは隣接する領域を破棄してオブジェクトの選択を絞り込むためのものである(例えば、オブジェクトの隣接領域上でのクリック)。1つまたは複数のグラフィカル・ユーザ・インタラクションが全体としてオブジェクトの選択操作を形成する。選択操作は、1つまたは複数のグラフィカル・ユーザ・インタラクションによって定義される位置をカプセル化するデータによって指定される。別の言い方をすれば、これらのデータは、1つまたは複数のグラフィカル・ユーザ・インタラクションの仕様を形成する。仕様は、前述の、訓練データセットで提供された仕様と同じタイプのデータである。主な違いは、本セグメント化方法の背景における仕様は、現実のグラフィカル・ユーザ・インタラクションに由来するのに対し、本学習方法の背景においては、仕様は、前述のように、シミュレーションされた仮想グラフィカル・ユーザ・インタラクションに由来するものであってもよいということである。
本セグメント化方法は、この仕様と入力された3D点群に基づいて、次いで、ニューラルネットワークを適用(S50)することによって3D点群をセグメント化することを含む。前述のように、ニューラルネットワークは、仕様と3D点群を入力として、これらの入力に対して操作を実行し、その結果、ニューラルネットワークは3D点群からオブジェクトを抽出する。例えば、ニューラルネットワークは、前述のように、信頼スコアとともに、3D点群の点の分類を「オブジェクト」または「非オブジェクト」として出力してもよい。
繰り返しの各回において、本セグメント化方法は、選択操作の実行後、ニューラルネットワークの適用前に、選択操作をインタラクション・チャネルに変換することを含んでいてもよく、これは、ここでは、本学習方法の例のように、3D点群の各点にそれぞれ追加された座標の集合である。選択操作をインタラクション・チャネルに変換することは、
前記1つまたは複数のグラフィカル・ユーザ・インタラクションのうちのグラフィカル・ユーザ・インタラクションのそれぞれについて、当該グラフィカル・ユーザ・インタラクションよって定義される1つまたは複数のシード位置を決定することにより、前記仕様を決定することと、
前記3D点群に前記仕様を備えさせることであって、前記3D点群の各点に、当該点における選択操作の強度を定量化する座標を追加することを含む、備えさせることと、を含む。
各グラフィカル・ユーザ・インタラクションは、3D点群上のジオメトリ(例えば、1回または複数回のクリック、ストローク、または境界ボックス)を定義し、このジオメトリの位置に関するデータを生成する。これらのデータは、グラフィカル・ユーザ・インタラクションの位置を検出するための任意の既知の方法によって検出してもよい。セグメント化は、これらのデータから、全体としてジオメトリを表す1つまたは複数のシード位置を決定する。簡略化のため、ここでは、各シード位置を「シード」と呼ぶ。1つまたは複数のシードを決定することは、1つまたは複数のシードとして、ジオメトリに特徴的な1つまたは複数の点を算出することを含んでいてもよく、これは、各シードが、この場合、点であることを意味する。オブジェクト上のシードは肯定的シードと呼ばれ、オブジェクトの外側の領域上のシードは否定的シードと呼ばれる。グラフィカル・ユーザ・インタラクションは、肯定的シードおよび否定的シードの両方を定義してもよい。
一例において、グラフィカル・ユーザ・インタラクションが1つまたは複数のクリックを実行することからなる場合、1つまたは複数のシードの決定は、各クリックをシードとして決定することを含んでいてもよい。オブジェクトでのクリックは肯定的シードとして決定され、一方、オブジェクトの外側の領域上のクリックは否定的シードとして決定される。
追加的に、または代替的に、グラフィカル・ユーザ・インタラクションがストロークの実行からなる場合、1つまたは複数のシードの決定は、ストロークの線の下の点をとることによってストロークをいくつかの点へとサンプリングすることを含んでいてもよい。このときシードはサンプリングされた点となる。サンプリングされた点は、オブジェクト上にある場合は肯定的シードであり、オブジェクトの外側の領域上にある場合は否定的シードである。サンプリングされた点の数は、ストロークの長さに比例してもよい。なお、これは、訓練データセットの提供(S10)の例でシミュレーションしたグラフィカル・ユーザ・インタラクションと一致し、肯定的シードの場合、オブジェクトが大きいほど、オブジェクトに対して実行されるストロークが大きくなり、より多くのシードが決定される。
追加的に、または代替的に、グラフィカル・ユーザ・インタラクションが境界ボックスを定義することからなる場合、1つまたは複数のシードの決定は、境界ボックスを境界ボックスの内側のいくつかの点と境界ボックスの外側のいくつかの点へとサンプリングすることを含んでいてもよい。内側の点は肯定的シードとして決定され、外側の点は否定的シードとして決定される。肯定的シードの数は、境界ボックス内の点の数に比例し、それらの間でランダムに選択されてもよい。否定的シードは、境界ボックスの周りの小さな領域(例えば30cm未満)に含まれる点からランダムに選択可能である。なお、これは本学習方法について説明した第1の戦略に従ってシミュレーションしたグラフィカル・ユーザ・インタラクションと一致する。
本セグメント化方法についての説明を続けると、前記3D点群に前記仕様を備えさせることは、3D点群の各点に、当該点における選択操作の強度を定量化する座標を追加することを含む。
ここでは、本セグメント化方法について、上記仕様を備えさせることについて説明する。
3D点群に仕様を備えさせることは、決定されたシードが考慮され、それらを、座標の集合に変換する。3D点群の各点を1つの座標へと変換する。3D点群に備えさせることは、次いで、この座標を各点に追加することを含み、これにより仕様が得られる。別の言い方をすれば、仕様は3D点群の各点に追加されたすべての座標の集合である。
変換は、各点について、座標が当該点における選択操作の強度を定量化するように行われる。具体的には、座標は、グラフィカル・ユーザ・インタラクションのそれぞれに対する点の近さを定量化する。これにより、選択するオブジェクト(すなわち、前記同じオブジェクト)に点が属しているかどうかを定量化する。これにより、適用(S50)において、ニューラルネットワークがセグメント化を実行するときに、ニューラルネットワークが、オブジェクトの一部として点を抽出/選択するかどうかを可能にする。例えば、ニューラルネットワークは、座標が大きいほど、点が選択するオブジェクトに属する確率が高くなることを検出する。
一例においては、当該追加は、すべての点について座標を同じ初期値に設定することを含む。当該追加は、次いで、決定された肯定的シードごとに、点群の各点について、シードと点との間の近さに応じて座標を増加させることを含んでいてもよい。当該追加は、また、決定された否定的シードごとに、点群の各点について、シードと点との間の近さに応じて座標を減少させることを含んでいてもよい。
肯定的(あるいは否定的)シードと点との間の近さに応じて座標を増加(あるいは減少)させることは、点の位置とシードの位置との間の距離を定量化することを含んでいてもよい。座標を増加(あるいは減少)させることは、次いで、定量化された距離を表す値を座標に追加する(あるいは差し引く)ことを含んでいてもよい。
なお、3D点群の任意の点について、当該点がシードから遠すぎる場合、それが肯定的シードの場合否定的シードの場合も、点の座標は増加も減少もしない。言い換えると、各点および決定されたシードについて、座標の増加または減少は、当該点がグラフィカル・ユーザ・インタラクションに比較的近い場合にのみ発生する(例えば、当該シードからの距離が所定の範囲内)。したがって、点の座標が、仕様を備えさせた後も初期値と等しい場合がある。
このような方法で座標を追加すると、次のような効果がある。すなわち、点が、肯定的シードに近いほど、当該点が前記同じオブジェクトに属する可能性が高くなり、その追加された座標がより大きな値を有することになる。逆に、点が、否定的シードに近いほど、当該点が前記同じオブジェクトに属さない可能性が高くなり、その追加された座標がより小さな値を有することになる。最終的に、これにより、グラフィカル・ユーザ・インタラクションがオブジェクトを選択するためのものである場合、およびオブジェクトの外側の領域を破棄するためのものである場合、ニューラルネットワークが検出できるようになる。
ここで、3D点群に仕様を備えさせることの実装について説明する。
この実装では、仕様を決定すると、1つまたは複数の肯定的シードと1つまたは複数の否定的シードが得られる。さらに、この実装では、前述のように、各シードが点である。この実装には、シードを仕様に変換することを含み、これは、ここでは、インタラクション・チャネルと呼ばれる。変換では、K近傍検索を用いて、各シードに最も近いK個の点を取得し、各シードからの距離に基づいて、それらに特定の強度を割り当てる。
具体的には、座標の追加は、3D点群のすべての点について、同じ値で座標を初期化することを含み、当該同じ値は128に等しい。座標の追加は、次いで、シードごとに、たとえば最近傍探索アルゴリズムに従って、シードに最も近いK個の点を取得することを含む。ここで、数Kは、式(1)に関連して前述した数Kである。取得は、3D点群の点の数に従って、K最近傍探索で用いられた近傍の数を調節することを含んでいてもよい。これにより、検索を点群密度に対して不変にすることができる。調整は、次の式に従って実行できる。
Figure 2021105987
ここで、Dは考慮される点のデフォルトの数、mは選択された調整の程度、kは考慮される近傍のデフォルトの数である。
実験によると、Kについてのこの式は、さまざまな点群サイズに対して非常に安定していることが示された(3*3*5メートルの領域について、D=100000、k=1024、m=128で、約10k〜500kの点の範囲をテストした)。
座標の追加は、次いで、各シードについて、およびシードのK近傍に属する3D点群の各点について、以下により座標を修正することを含む。
シードが第1のシードである場合、シードからのガウス強度を座標に追加する。または、
シードが第2のシードである場合、シードからのガウス強度を座標から差し引く。
実際、修正は、シードごとに、ガウス強度を算出し、シードに最も近いK個の点のK個の距離の中央値距離に基づいてガウス強度を動的に調整することを含む。肯定的シードとも呼ばれる第1のシードのガウス強度の算出は、次の式に従って実行してもよい。
Figure 2021105987
ここで
Figure 2021105987
であり、
Figure 2021105987
は、各近傍についての肯定的シードからの距離を含み、サイズは(K,1)であり、Kは最近傍の数である。
否定的シードとも呼ばれる第2のシードのガウス強度の算出は、次の式に従って実行してもよい。
Figure 2021105987
ここで
Figure 2021105987
であり、
Figure 2021105987
は、各近傍についての否定的シードからの距離を含み、サイズは(K,1)であり、Kは最近傍の数である。
なお、座標は、すべての点について、128で初期化される。ガウス強度に127を掛けると、肯定的シードに一致する点について最大値255を得ることができる。否定的シードに一致する点については、対応する最終的な点の強度は1である。したがって、強度はカラーチャネルと同じ振幅をカバーし、点群にそれぞれカラーチャネルが備えられている場合には、さらに単純な正規化ステップ(各チャネルの0〜1を255で除算することによる正規化)が可能になる。近傍の距離の配列の中央値としての動的なsパラメータは、さまざまな点群密度を処理するための柔軟性を提供する。シードに一致するすべての点からの寄与が追加され、上記備えさせることは、[0,255]に属する座標のクリッピング、点の他の座標への連結、および各点についてこれを含む。インタラクション・チャネル/仕様は、連結されたすべての座標の集合である。たとえば、座標xyzを唯一の特徴とするN個の点からなる3D点群の場合、上記備えさせることの結果、(N,3+1)の最終的な点群の次元が得られる。色が存在する場合、上記備えさせることの結果、例えば(N,6+1)次元が得られる。実施された実験では、点座標のみを用い、すなわち色は用いなかったが、素晴らしい結果が示された。
その結果、この実装において、3D点群は、インタラクション・チャネルを備える。3D点群とそのインタラクション・チャネルで構成される対が、次いで、セグメント化を実行するための入力としてニューラルネットワークに供給される。
その前に、この実装は、この実装の特定の実装において、肯定的シードの重心の周りの点群をクロッピングすることを含んでいてもよい。点群全体の代わりにこの領域を用いることにより、実行時間が短縮される。この特定の実装はまた、点群の低密度領域内の点を複製するための均一なサンプリングを含んでいてもよい。この特定の実装はまた、この特定の実装におけるニューラルネットワークであるPointCNNの入力サイズに一致するように、3D点群の点を2048点の集合に分割することを含んでいてもよい。この特定の実装では、ニューラルネットワークは、次いで、前述のように、これらの点の予測を出力する。本セグメント化方法は、ネットワークの信頼スコアに基づいて予測をマージすることを含んでいてもよい。本セグメント化方法はまた、オプションとして、比較的まばらに見える可能性がある予測を平滑化するための後処理を含んでいてもよい。平滑化には、ニューラルネットワークによって出力された信頼スコアに依存するボクセルベースのアプローチを用いてもよい。各ボクセルにおいて、平滑化により、含まれるすべての点にわたるオブジェクトカテゴリの平均信頼度が固定閾値と比較される。それにより、ボクセルカテゴリについて記述し、それに応じて、含まれるすべての点にラベルを付けることができる。このような後処理方法の利点の1つは、時間効率である。
ここで、セグメント化方法の実験の例について説明する。
この実験においては、本学習方法の例に従ってニューラルネットワークを学習する。学習に用いれる訓練データセットは、前述のように、合成点群からなる。ニューラルネットワークが学習される本学習方法の例では、本学習方法は、前述の、本学習方法のための3D点群に仕様を備えさせることの実装を含む。本実験には、セグメント化方法のいくつかの実装が含まれる。
第1の実装が図6および図7に示されている。図6に示すように、オブジェクト62を含む3D点群60がユーザに表示される。ユーザは、オブジェクト62上で数回のクリック620、622、624、および626を実行し、各クリックは、肯定的シードをもたらす。図7に示すように、ニューラルネットワークを適用(S50)することにより、オブジェクト62が抽出される。
第2の実装が図8および図9に示されている。図8に示すように、オブジェクト82を含む3D点群80がユーザに表示される。ユーザは、点群80上で数回のクリック824および822を実行する。クリック822は否定的シードをもたらし、クリック824は肯定的シードをもたらす。図9に示すように、ニューラルネットワークを適用(S50)することにより、オブジェクト82が抽出される。
第3の実装が図10および図11に示されている。図10に示すように、オブジェクト102を含む3D点群100がユーザに表示される。ユーザは、オブジェクト102上で数回のクリック1022および1024を実行し、各クリックは、肯定的シードをもたらす。図11に示すように、ニューラルネットワークを適用(S50)することにより、オブジェクト102が抽出される。
第4の実装が図12および図13に示されている。図12に示すように、オブジェクト122を含む3D点群120がユーザに表示される。ユーザは、オブジェクト122上で数回のクリック1222および1224を実行し、各クリックは、肯定的シードをもたらす。図13に示すように、ニューラルネットワークを適用(S50)することにより、オブジェクト122が抽出される。
図14は、本学習方法と本セグメント化方法を統合するプロセスの一例のフローチャートを示している。図14に示すように、プロセスの例は以下のステップを実行する。
オフライン段階:この段階は、現実世界のデータとユーザの行動に近いと思われるユーザのインジケータ/セグメント化マスクの対を有する点群を用いてモデルを訓練することを目的としている。これには2つの主要なステップが含まれている。なお、この段階はユーザからはトランスペアレントである。
訓練データセットの生成。
点群を与え、現実のユーザから一貫性のあるインジケータを収集することは、非常に困難で時間がかかる可能性があり、さまざまなユーザの行動をカバーする保証がない。この例では、訓練インジケータは、ユーザのような動作を定義することによって自動的に生成される。訓練ユーザ・インジケータは、以下を含む。
同じ点群内の識別された対象オブジェクトの一部である訓練点群の少なくとも1つの点からなる肯定的訓練インジケータ。
同じ点群内の識別された対象オブジェクトの一部ではない訓練点群の少なくとも1つの背景の点からなる否定的訓練インジケータ。
なお、対象オブジェクトごとに少なくとも1つの肯定的インジケータを生成する必要がある。
生成されたインジケータは、ニューラルネットワークへの入力として元の点群に追加される追加のチャネル(すなわち、インタラクション・チャネル)に変換され、ニューラルネットワークに入力できる形式に変換される。そして、結果として得られる訓練データセットには、訓練インジケータを有する強化された点群と対象オブジェクトのセグメント化マスクの両方が含まれる。
ニューラルネットワークモデルは、訓練データセットに基づいて学習される。これは、点群DNNベースのモデル上に構成されている。
オンライン段階:点群とユーザ・インジケータが与えられると、データはまずインジケータを変換するために前処理される。次いで、訓練されたモデルが適用され、最終的にセグメント化マスクが取得される。
図15は、プロセスの実施についてのフローチャートを示す。
本学習方法と本セグメント化方法はコンピュータによって実施される方法である。
これは、ステップ(または実質的に全てのステップ)が少なくとも1つのコンピュータまたは任意の類似のシステムによって実行されることを意味する。よって本方法のステップは、コンピュータにより、完全に自動的に、あるいは半自動的に実行される可能性がある。一例において、本方法のステップの少なくともいくつかは、ユーザとコンピュータの対話操作を介してトリガされてもよい。求められるユーザとコンピュータの対話操作のレベルは、想定される自動性のレベルに応じたものであって、ユーザの要望を実装する必要性との間でバランスをとるものとしてもよい。一例において、このレベルは、ユーザが定義し、かつ/あるいは、予め定義されていてもよい。
方法のコンピュータによる実施の典型的な例は、この目的に適したシステムを用いて本方法を実行することである。当該システムは、本方法を実行するための命令を含むコンピュータプログラムを記録したメモリに接続されたプロセッサ、および、グラフィカル・ユーザ・インターフェイス(GUI)を備えていてもよい。メモリはデータベースを記憶していてもよい。メモリは、そのような記憶に適した任意のハードウェアであり、場合により、物理的に区別可能ないくつかの部分(例えば、プログラム用に1つ、場合によりデータベース用に1つ)を含む。
図16は、本システムの一例を示すものであって、当該システムは、クライアントコンピュータシステム、例えばユーザのワークステーションである。
本例のクライアントコンピュータは、内部通信バス1000に接続された中央演算処理装置(CPU)1010、および同じくバスに接続されたランダムアクセスメモリ(RAM)1070とを備える。クライアントコンピュータは、さらに、バスに接続されたビデオランダムアクセスメモリ1100と関連付けられたグラフィックス処理装置(GPU)1110を備える。ビデオRAM1100は、当該技術分野において、フレームバッファとしても知られる。大容量記憶装置コントローラ1020は、ハードドライブ1030などの大容量記憶装置へのアクセスを管理する。コンピュータプログラムの命令及びデータを具体的に実現するのに適した大容量メモリ装置は、例として、EPROM、EEPROM及びフラッシュメモリ装置のような半導体メモリ装置、内蔵ハードディスクやリムーバブルディスクなどの磁気ディスク、光磁気ディスク、およびCD−ROMディスク1040を含む、全ての形式の不揮発性メモリを含む。前述のいずれも、特別に設計されたASIC(特定用途向け集積回路)によって補完されてもよいし、組み入れられてもよい。ネットワークアダプタ1050は、ネットワーク1060へのアクセスを管理する。クライアントコンピュータはまた、カーソル制御装置、キーボードなどの触覚装置1090を含んでいてもよい。カーソル制御装置は、ユーザがディスプレイ1080上の任意の所望の位置にカーソルを選択的に位置させることを可能にするために、クライアントコンピュータ内で使用される。さらに、カーソル制御装置は、ユーザが様々なコマンドを選択し、制御信号を入力することを可能にする。カーソル制御装置は、システムに制御信号を入力するための多数の信号生成装置を含む。典型的には、カーソル制御装置はマウスであってもよく、マウスのボタンは信号を生成するために使用される。代替的に、あるいは追加的に、クライアントコンピュータシステムは、感知パッドおよび/または感知スクリーンを備えていてもよい。
本明細書におけるコンピュータプログラムは、コンピュータによって実行可能な命令を含んでいてもよく、命令は、上記システムに本方法のうちの1つまたは複数を実行させるための手段を含む。プログラムは、システムのメモリを含む任意のデータ記憶媒体に記録可能であってもよい。プログラムは、例えば、デジタル電子回路、またはコンピュータハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせで実装されてもよい。プログラムは、例えばプログラマブルプロセッサによる実行のための機械読み取り可能な記憶装置に具体的に実現された製品のような装置として実装されてもよい。方法のステップは、プログラム可能なプロセッサが命令のプログラムを実行し、入力データを操作して出力を生成することによってプロセスの機能を実行することによって実行されてもよい。したがって、プロセッサは、データ記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、また、それらにデータおよび命令を送信するようにプログラム可能であってもよく、またそのように接続されていてもよい。アプリケーションプログラムは、高水準の手続き型またはオブジェクト指向のプログラミング言語で、または必要に応じてアセンブリ言語または機械語で実装されていてもよい。いずれの場合も、言語はコンパイラ型言語またはインタープリタ型言語であってもよい。プログラムは、フルインストールプログラムまたは更新プログラムであってもよい。いずれの場合も、プログラムをシステムに適用する本方法のうち1つまたは複数を実行するための指示が得られる。

Claims (15)

  1. コンピュータによって実施される機械学習の方法であって、
    3D点群のデータセットを提供すること(S10)であって、各3D点群は、少なくとも1つのオブジェクトを含み、各3D点群は、それぞれが当該3D点群における同じオブジェクトの各選択操作を表す1つまたは複数のグラフィカル・ユーザ・インタラクションの仕様を備え、
    前記データセットに基づいて、オブジェクトを含む、入力された3D点群をセグメント化するように構成されたニューラルネットワークを学習すること(S20)であって、前記セグメント化は、前記入力された3D点群と、前記3D点群における前記オブジェクトの各選択操作を表す、1つまたは複数の入力されたグラフィカル・ユーザ・インタラクションの仕様とに基づく、
    を含むことを特徴とする方法。
  2. 前記3D点群のデータセットの提供(S10)は、
    前記3D点群、および各3D点群について、当該3D点群における前記同じオブジェクトの位置に関する情報を提供することと、
    各3D点群について、
    前記1つまたは複数のグラフィカル・ユーザ・インタラクションのそれぞれをシミュレーションすることによって仕様を決定することと、
    前記3D点群に、前記1つまたは複数のグラフィカル・ユーザ・インタラクションの仕様を備えさせることと、
    を含むことを特徴とする請求項1に記載の方法。
  3. 前記1つまたは複数のグラフィカル・ユーザ・インタラクションのうちのそれぞれは、それぞれが3D点群上で定義される1つまたは複数のシード位置に対応し、前記グラフィカル・ユーザ・インタラクションのシミュレーションは、前記1つまたは複数のシード位置を決定することを含む、
    ことを特徴とする請求項2に記載の方法。
  4. 前記1つまたは複数のグラフィカル・ユーザ・インタラクションは、前記同じオブジェクトを選択するためのものであって、かつ、それぞれが前記同じオブジェクト上に定義された1つまたは複数の第1のシード位置に対応する、第1のグラフィカル・ユーザ・インタラクションを含む
    ことを特徴とする請求項3に記載の方法。
  5. 前記1つまたは複数のシード位置の決定は、前記1つまたは複数の第1のシード位置を前記同じオブジェクト上に拡散させることを含む
    ことを特徴とする請求項4に記載の方法。
  6. 少なくとも1つの3D点群について、1つまたは複数のグラフィカル・ユーザ・インタラクションは、前記同一のオブジェクトの外側の領域を破棄するためのものであって、かつ、それぞれが前記同一のオブジェクトの外側に定義された1つまたは複数の第2のシード位置に対応する、第2のグラフィカル・ユーザ・インタラクションをさらに含む
    ことを特徴とする請求項4または請求項5に記載の方法。
  7. 前記3D点群に備えさせることは、各グラフィカル・ユーザ・インタラクションのシミュレーションに基づいて、前記3D点群の各点に、当該点における選択操作の強度を定量化する座標を追加することを含む
    ことを特徴とする請求項2〜6のいずれか1つに記載の方法。
  8. 前記1つまたは複数のグラフィカル・ユーザ・インタラクションのうちの各々は、前記同じオブジェクトを選択するためのもの、または前記同じオブジェクトの外側の領域を破棄するためのものであり、前記3D点群の各点について、前記座標の追加は、
    前記座標を初期値に設定することと、
    前記同じオブジェクトを選択するためのグラフィカル・ユーザ・インタラクションのそれぞれについて、当該グラフィカル・ユーザ・インタラクションと当該点との間の近さに応じて当該座標を増加させることと、
    前記同じオブジェクトの外側の領域を破棄するためのグラフィカル・ユーザ・インタラクションのそれぞれについて、当該グラフィカル・ユーザ・インタラクションと当該点との間の近さに応じて当該座標を減少させることと、を含む
    ことを特徴とする請求項7に記載の方法。
  9. 請求項1〜8のいずれか1つに記載の方法で学習可能なニューラルネットワーク。
  10. コンピュータによって実施される、請求項9に記載のニューラルネットワークの利用方法であって、
    オブジェクトを含む3D点群を提供すること(S30)と、
    繰り返すことであって、
    1つまたは複数のグラフィカル・ユーザ・インタラクションを実行することによって、前記オブジェクトの選択操作を実行する(S40)ことと、
    前記ニューラルネットワークを適用(S50)することによって、前記3D点群と前記1つまたは複数のグラフィカル・ユーザ・インタラクションの仕様に基づいて、前記3D点群をセグメント化することと
    を1回または複数回、繰り返すこととを含む
    ことを特徴とする方法。
  11. 前記選択操作の実行(S40)後、かつ前記ニューラルネットワークの適用(S50)前に、さらに、
    前記1つまたは複数のグラフィカル・ユーザ・インタラクションのうちのそれぞれについて、当該グラフィカル・ユーザ・インタラクションよって定義される1つまたは複数のシード位置の位置を決定することにより、前記仕様を決定することと、
    前記3D点群に前記仕様を備えさせることであって、前記3D点群の各点に、当該点における選択操作の強度を定量化する座標を追加することを含む、備えさせることと、を含む、
    ことを特徴とする請求項10に記載の利用方法。
  12. 前記1つまたは複数のグラフィカル・ユーザ・インタラクションは、
    前記オブジェクト上で1回または複数回のクリックを実行することと、
    前記オブジェクト上でストロークを実行することと、
    前記オブジェクト上、および/または、前記オブジェクトの周りに、境界ボックスを定義することと、
    前記オブジェクトの外側で1回または複数回のクリックを実行することと、および/または、
    前記オブジェクトの外側でストロークを実行すること
    のうちの1つまたは複数を含むことを特徴とする請求項10または11に記載の利用方法。
  13. 請求項1〜8のいずれか1つに記載の方法、および/または、請求項10〜12に記載の利用方法を実行するための指示を含むコンピュータプログラム。
  14. 請求項13に記載のコンピュータプログラム、および/または、請求項9に記載のニューラルネットワークを記録したデータ記憶媒体を備える装置。
  15. 前記データ記憶媒体に接続されたプロセッサをさらに備える
    ことを特徴とする請求項14に記載の装置。
JP2020204396A 2019-12-16 2020-12-09 インタラクティブなオブジェクト選択 Pending JP2021105987A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP19306656.0A EP3839793A1 (en) 2019-12-16 2019-12-16 Interactive object selection
EP19306656.0 2019-12-16

Publications (1)

Publication Number Publication Date
JP2021105987A true JP2021105987A (ja) 2021-07-26

Family

ID=69174285

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020204396A Pending JP2021105987A (ja) 2019-12-16 2020-12-09 インタラクティブなオブジェクト選択

Country Status (4)

Country Link
US (1) US11893313B2 (ja)
EP (1) EP3839793A1 (ja)
JP (1) JP2021105987A (ja)
CN (1) CN112991546A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024171345A1 (ja) * 2023-02-15 2024-08-22 日本電気株式会社 物体検出装置、物体検出方法、及び物体検出プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5352738B2 (ja) * 2009-07-01 2013-11-27 本田技研工業株式会社 3次元モデルを使用した物体認識
US10970518B1 (en) * 2017-11-14 2021-04-06 Apple Inc. Voxel-based feature learning network
US10803314B2 (en) * 2018-10-10 2020-10-13 Midea Group Co., Ltd. Method and system for providing remote robotic control
CN110147706B (zh) * 2018-10-24 2022-04-12 腾讯科技(深圳)有限公司 障碍物的识别方法和装置、存储介质、电子装置
EP3723052B1 (en) * 2019-04-10 2023-10-18 Dassault Systèmes 3d reconstruction of a structure of a real scene
US11869143B2 (en) * 2019-06-28 2024-01-09 Siemens Ltd., China Cutting method, apparatus and system for point cloud model
EP3767521A1 (en) * 2019-07-15 2021-01-20 Promaton Holding B.V. Object detection and instance segmentation of 3d point clouds based on deep learning
US10956626B2 (en) * 2019-07-15 2021-03-23 Ke.Com (Beijing) Technology Co., Ltd. Artificial intelligence systems and methods for interior design
JP7156542B2 (ja) * 2019-08-19 2022-10-19 日本電信電話株式会社 線状構造物の検出装置、検出方法及び検出プログラム
EP4120203A1 (en) * 2021-07-16 2023-01-18 Dassault Systèmes Segmenting a 3d modeled object representing a mechanical assembly

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024171345A1 (ja) * 2023-02-15 2024-08-22 日本電気株式会社 物体検出装置、物体検出方法、及び物体検出プログラム

Also Published As

Publication number Publication date
US20210192254A1 (en) 2021-06-24
CN112991546A (zh) 2021-06-18
EP3839793A1 (en) 2021-06-23
US11893313B2 (en) 2024-02-06

Similar Documents

Publication Publication Date Title
US11636234B2 (en) Generating 3D models representing buildings
CN108961369B (zh) 生成3d动画的方法和装置
JP7343963B2 (ja) 画像を入力とする関数を学習するためのデータセット
Fukaya et al. Evaluation metrics for intelligent generation of graphical game assets: a systematic survey-based framework
CN106462746A (zh) 分析数字全息显微术数据以用于血液学应用
US12094190B2 (en) Systems, methods, and apparatuses for implementing medical image segmentation using interactive refinement
CN114341880A (zh) 用于使神经网络的操作可视化的技术
CN109886297A (zh) 一种用于从二维图像识别三维模型对象的方法
Böhland et al. Influence of synthetic label image object properties on GAN supported segmentation pipelines
Parente et al. Integration of convolutional and adversarial networks into building design: A review
Guy et al. SimSelect: Similarity‐based selection for 3D surfaces
Shrestha et al. A real world dataset for multi-view 3d reconstruction
Arents et al. Synthetic data of randomly piled, similar objects for deep learning-based object detection
Wozniak et al. Comparing implementations of cellular automata as images: A novel approach to verification by combining image processing and machine learning
JP2021105987A (ja) インタラクティブなオブジェクト選択
der Vaart et al. Automated large‐scale mapping and analysis of relict charcoal hearths in Connecticut (USA) using a Deep Learning YOLOv4 framework
Tang et al. Two-stage filtering method to improve the performance of object detection trained by synthetic dataset in heavily cluttered industry scenes
GB2623162A (en) Learning parameters for neural networks using a semantic discriminator and an object-level discriminator
Woodring et al. Semi‐automatic time‐series transfer functions via temporal clustering and sequencing
Yang et al. Skeleton ground truth extraction: methodology, annotation tool and benchmarks
Pucihar et al. FUSE: Towards AI-Based Future Services for Generating Augmented Reality Experiences
Weibel et al. Measuring the sim2real gap in 3d object classification for different 3d data representation
Bakurov et al. Non-photorealistic rendering with cartesian genetic programming using graphics processing units
KR101983493B1 (ko) 자연어 텍스트로부터 학습된 객체 표상에 포함된 특성 해석 및 시각화 방법 그리고 시스템
Moučka Semi-automatic tools for image segmentation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20241001