(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024068190
(43)【公開日】2024-05-17
(54)【発明の名称】点群レンダリングに関する欠落している細部の推論
(51)【国際特許分類】
G06T 7/00 20170101AFI20240510BHJP
G06V 10/82 20220101ALI20240510BHJP
【FI】
G06T7/00 350C
G06V10/82
【審査請求】未請求
【請求項の数】15
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023189036
(22)【出願日】2023-11-06
(31)【優先権主張番号】22306673.9
(32)【優先日】2022-11-04
(33)【優先権主張国・地域又は機関】EP
(71)【出願人】
【識別番号】520367360
【氏名又は名称】ダッソー システムズ ドイチェラント ゲーエムベーハー
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】アンドレアス ワインマン
(72)【発明者】
【氏名】ホルガー ダンメルツ
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA09
5L096FA67
5L096FA69
5L096HA11
5L096KA04
(57)【要約】
【課題】点群レンダリングに関して欠落している画像の細部を推論するために構成されニューラルネットワークアーキテクチャを学習するために構成されたデータセットを形成するためのコンピューターに実装される方法を提供する。
【解決手段】3Dメッシュシーンを取得し、3Dメッシュシーンの点群表現を計算し、3Dメッシュシーンおよび点群表現の1つまたは複数のカメラビューを生成する。各カメラビューに対して、点群表現のビューポイントをレンダリングし、3Dメッシュシーンのビューポイントの別の点群表現を計算し、他方の点群表現のビューポイントをレンダリングする。トレーニングサンプルのペアを取得することであって、各々が、それぞれ、点群表現のレンダリングされたビューポイントと、他方の点群表現のレンダリングされたビューポイントとを含む、ことと、データセットにトレーニングサンプルのペアを加えることとを含む。
【選択図】
図4
【特許請求の範囲】
【請求項1】
ニューラルネットワークアーキテクチャを学習するために構成されたデータセットを形成するためのコンピューターに実装される方法であって、前記ニューラルネットワークアーキテクチャは、点群レンダリングに関して欠落している画像の細部を推論するために構成され、前記方法は、
-3Dメッシュシーンを取得する(S10)ステップと、
-前記3Dメッシュシーンの点群表現を計算する(S20)ステップと、
-前記3Dメッシュシーンおよび前記点群表現の1つまたは複数のカメラビューを生成する(S30)ステップと、
-各カメラビューに対して(S40)、
・前記点群表現のビューポイントをレンダリングする(S410)ことによって、画像を、対応する深度マップとともに取得するステップと、
・前記3Dメッシュシーンのビューポイントをレンダリングする(S420)ステップと、
・前記3Dメッシュシーンの前記ビューポイントの別の点群表現を計算する(S421)ステップと、
・他方の点群表現のビューポイントをレンダリングする(S422)ことによって、別の画像を、対応する別の深度マップとともに取得するステップと、
トレーニングサンプルのペアを取得する(S50)ステップであって、各トレーニングサンプルは、それぞれ、前記点群表現の前記レンダリングされたビューポイントと、他方の点群表現の前記レンダリングされたビューポイントとを含む、ステップと、
前記データセットにトレーニングサンプルの前記ペアを加える(S60)ステップと
を備えることを特徴とする方法。
【請求項2】
前記点群表現を計算する(S20)ことは、前記3Dシーンメッシュにおいて1つまたは複数のキューブマップをランダムに配置することと、前記1つまたは複数のキューブマップの各々から前記3Dシーンメッシュの複数の点をサンプリングすることとを含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記点群表現を計算する(S20)ことは、各それぞれのキューブマップからサンプリングされた前記点を組み合わせることを含むことを特徴とする請求項2に記載の方法。
【請求項4】
前記3Dメッシュはインテリアシーンであり、他方の点群表現の前記ビューポイントをレンダリングすることは、各カメラビューに対して、他方の点群表現を囲むボックスのランダムな場所にカメラを配置することを含むことを特徴とする請求項1ないし3のいずれか一項に記載の方法。
【請求項5】
前記カメラに関して前記配置することは、前記カメラに最も近い他方の点群表現の点までの最小距離と、他方の点群表現のあらゆる他の点までの最大距離とによって制約されることを特徴とする請求項4に記載の方法。
【請求項6】
前記3Dメッシュシーンはエクステリアシーンであり、他方の点群表現の前記ビューポイントをレンダリングすることは、各カメラビューに対して、他方の点群表現を囲む球のランダムな点にカメラを配置することを含むことを特徴とする請求項1ないし5のいずれか一項に記載の方法。
【請求項7】
前記3Dメッシュシーンは混合シーンであり、他方の点群表現の前記ビューポイントをレンダリングすることは、各カメラビューに対して、バウンディングボックスにおいてカメラをランダムに配置することであって、前記配置することは、前記カメラに最も近い他方の点群表現の点までの最小距離と、前記バウンディングボックスの内側のランダムに選択された第2の点までの距離とによって制約される、ことを含むことを特徴とする請求項1ないし6のいずれか一項に記載の方法。
【請求項8】
トレーニングサンプルの前記取得されたペアは、他方の点群表現の前記レンダリングされたビューポイントの目に見える点の数が、予め決められたしきい値未満であるならば、前記データセットに加えられることを特徴とする請求項1ないし7のいずれか一項に記載の方法。
【請求項9】
トレーニングサンプルの各ペアに対して、前記深度情報を用いて、異なるレンダリングを組み合わせることを計算することを備えることを特徴とする請求項1ないし8のいずれか一項に記載の方法。
【請求項10】
色のオーギュメンテーション、水平のフリッピング、および/または垂直のフリッピングのうちのオーギュメンテーション技法の1つまたは複数をトレーニングサンプルのペアに適用することを備えることを特徴とする請求項1ないし9のいずれか一項に記載の方法。
【請求項11】
前記データセットに基づいてニューラルネットワークアーキテクチャを学習することを含む、請求項1ないし10のいずれか一項に従って形成された前記データセットのコンピューターに実装される使用方法。
【請求項12】
前記ニューラルネットワークアーキテクチャが、それぞれの解像度を有するN個の相互接続された畳み込みブロックを有し、前記畳み込みブロックの各々が、増大する解像度で相互接続され、使用に関する前記方法は、入力画像と、前記入力画像のN-1個のダウンサンプリングされたバージョンとを提供することを含み、前記入力画像が、最大の解像度を有する前記相互接続された畳み込みブロックに提供され、各ダウンサンプリングされたバージョンが、それぞれの畳み込みブロックに入力され、前記それぞれの畳み込みブロックの前記それぞれの解像度と同一の解像度を有することを特徴とする請求項11に記載の使用方法。
【請求項13】
プログラムがコンピューターによって実行されると、請求項1ないし10のいずれか一項の方法および/または請求項11または12に記載の使用方法を前記コンピューターに実行させる命令を含むコンピュータープログラム。
【請求項14】
請求項13に記載のコンピュータープログラムを記録したコンピューター読取り可能な記録媒体。
【請求項15】
メモリーに結合されたプロセッサーを備えたシステムであって、前記メモリーは、請求項13に記載のコンピュータープログラムを記録したことを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンピュータープログラムおよびシステムの分野に関し、より具体的には、ニューラルネットワークアーキテクチャを学習するために構成されたデータセットを形成するための方法、システム、およびプログラムに関し、データセットの使用の方法に関する。
【背景技術】
【0002】
点群は、現実世界のシーンの仮想的な表現を生成するのに広く用いられる。今述べた表現は、現実世界のシーンからのスキャンから取得される(例えば、深度センサーによって取得される)ことがあり、現実世界でのオペレーションを分析し、計画するのに用いられる。しかしながら、点群は、取得のアーチファクトのために、不規則、ノイジー、または不完全であり得る。例えば、スキャンから取得された点群は、スキャニング処理の解像度のために、表現において生得的にスパースである。今述べたことは、シーンを通過する進行のとき、仮想的な表現に情報を欠けさせる。今述べた状況内に、ポイントクラウド強化技法は、ますます注目されている。
【0003】
いくつかの既存のアプローチは、点群における各レンダリングされた点のポイントサイズ(point size)を増大させて、シーンのより稠密な表現を得る。しかしながら、今述べたアプローチは、表現にアーチファクトを持ち込む。
【0004】
図1は、点群データがスキャンから取得された点群レンダリング100を示す図である。
【0005】
図2は、レンダリング200を示す図であり、レンダリングは、点群レンダリング100における点群レンダリングのポイントサイズを増大させる。ポイントサイズは、
図1のレンダリングの元のポイントサイズより5倍大きい。ポイントサイズを大きくことは、たとえば床の金属部分210など、いくつかの要素の認識を向上させる。しかしながら、ポイントサイズの増大は、いくつかのアーチファクトを加える。今述べたことを例示するために、
図3は、ポイントサイズ(310-340)を増大させた状態のレンダリング200のズームした部分300を示す。ポイントサイズの増大は、より階段を見分けやすくできるが、しかしながら、結果の形状は、階段の形状を変形させる孤立値の点の存在のために、より不規則になる。
【0006】
さらに、例えば、Bui, G., Le, T., Morago, B., & Duan, Y.、「Point-based rendering enhancement via deep learning」、2018年におけるようなディープラーニングアプローチも、点群を強化するために提案されている。しかしながら、既存のアプローチは、推論に時間をかけさせることにより、インタラクティブなシナリオにおいてユーザビリティを除外する。
【0007】
今述べた状況内に、依然として、点群レンダリングに関する欠落している画像の細部を推論するために改良された方法が必要である。
【発明の概要】
【0008】
それゆえ、ニューラルネットワークアーキテクチャを学習するために構成されたデータセットを形成するためのコンピューターに実装される方法が提供される。ニューラルネットワークアーキテクチャは、点群レンダリングに関する欠落している画像の細部を推論するために構成される。方法は、3Dメッシュシーン(3D mesh scene)を取得するステップを含む。さらに、方法は、3Dメッシュシーンの点群表現を計算するステップも含む。さらに、方法は、3Dメッシュシーンおよび点群表現の1つまたは複数のカメラビューを生成するステップも含む。各カメラビューに対して、方法は、点群表現のビューポイントをレンダリングすることによって、画像を、対応する深度マップとともに取得する。さらに、方法は、3Dメッシュシーンのビューポイントをレンダリングする。さらに、方法は、3Dメッシュシーンのビューポイントの別の点群表現を計算する。さらに、方法は、他方の点群表現のビューポイントをレンダリングすることによって、別の画像を、別の対応する深度マップとともに取得する。さらに、方法は、トレーニングサンプルのペアを取得するステップも含み、各トレーニングサンプルは、それぞれ、点群表現のレンダリングされたビューポイントと、他方の点群表現のレンダリングされたビューポイントとを含む。さらに、方法は、トレーニングサンプルのペアをデータセットに加えるステップも含む。
【0009】
本方法は、下記のうちの1つまたは複数を含むことがある。
- 点群表現を計算することは、3Dシーンメッシュにおいて1つまたは複数のキューブマップをランダムに配置することと、1つまたは複数のキューブマップの各々から3Dシーンメッシュの複数の点をサンプリングすることとを含む、
- 点群表現を計算することは、各々、それぞれのキューブマップからサンプリングされた点を組み合わせることを含む、
- 3Dメッシュはインテリアシーン(interior scene)であり、他方の点群表現のビューポイントをレンダリングすることは、各カメラビューに対して、他方の点群表現を囲むボックスのランダムな場所にカメラを配置することを含む、
- カメラに関して配置することは、カメラに最も近い他方の点群表現の点までの最小距離と、他方の点群表現のあらゆる他の点までの最大距離とによって制約される、
- 3Dメッシュシーンはエクステリアシーン(exterior scene)であり、他方の点群表現のビューポイントをレンダリングすることは、各カメラビューに対して、他方の点群表現を囲む球のランダムな点にカメラを配置することを含む、
- 3Dメッシュシーンは混合シーンであり、他方の点群表現のビューポイントをレンダリングすることは、各カメラビューに対して、バウンディングボックスにおいてカメラをランダムに配置することを含み、配置することは、カメラに最も近い他方の点群表現の点までの最小距離と、バウンディングボックスの内側においてランダムに選択された第2の点までの距離とによって制約される、
- 取得されたトレーニングサンプルのペアは、他方の点群表現のレンダリングされたビューポイントの目に見える点の数が、予め決められたしきい値未満であるならば、データセットに加えられる、
- トレーニングサンプルの各ペアに対して、深度情報を用いて、異なったレンダリングを組み合わせることを計算することを含むこと、および/または
- 色のオーギュメンテーション(augmentation)、水平および/または垂直のフリッピングのうちの1つまたは複数のオーギュメンテーション技法をトレーニングサンプルのペアに適用することを含むこと。
【0010】
さらに、データセットを形成するための方法に従って形成されたデータセットの使用に関するコンピューターに実装される方法も提供される。使用に関する方法は、データセットに基づいてニューラルネットワークアーキテクチャを学習することを含む。
【0011】
使用に関する方法は、ニューラルネットワークアーキテクチャが、それぞれの解像度を有するN個の相互接続された畳み込みブロックを有し、畳み込みブロックの各々が、増大する解像度で相互接続され、使用に関する方法は、入力画像と、入力画像のN-1個のダウンサンプリングされたバージョンとを提供することを含み、入力画像が、最大の解像度を有する相互接続された畳み込みブロックに提供され、各ダウンサンプリングされたバージョンが、それぞれの畳み込みブロックに入力され、それぞれの畳み込みブロックのそれぞれの解像度と同じ解像度を有する。
【0012】
プログラムがコンピューターによって実行されると、データベースを形成するための方法および/または使用に関する方法をコンピューターに行わせる命令を含むコンピュータープログラムがさらに提供される。
【0013】
コンピュータープログラムを記録したコンピューター読取り可能記録媒体がさらに提供される。
【0014】
メモリーに結合されたプロセッサーを含むシステムがさらに提供され、メモリーがコンピュータープログラムを記録している。
【図面の簡単な説明】
【0015】
【発明を実施するための形態】
【0016】
図4のフローチャートを参照して、ニューラルネットワークアーキテクチャを学習するために構成されたデータセットを形成するためのコンピューターに実装される方法が提案される。ニューラルネットワークアーキテクチャは、点群レンダリングに関する欠落している画像の細部を推論するために構成される。
【0017】
方法は、3Dメッシュシーンを取得することS10を含む。さらに、方法は、3Dメッシュシーンの点群表現を計算することS20も含む。さらに、方法は、3Dメッシュシーンおよび点群表現の1つまたは複数のカメラビューを生成することS30も含む。
【0018】
さらに、方法は、各カメラビューに対してS40、点群表現のビューポイントをレンダリングすることS410も含む。それによって、方法は、画像を、対応する深度マップとともに取得する。
【0019】
さらに、方法は、3DメッシュシーンのビューポイントをレンダリングしS420、3Dメッシュシーンのビューポイントの別の点群表現を計算しS421、他方の点群表現のビューポイントをレンダリングするS422。それによって、方法は、別の画像を、対応する別の深度マップとともに取得する。
【0020】
さらに、方法は、トレーニングサンプルのペアを取得するS50。各トレーニングサンプルは、それぞれ、点群表現のレンダリングされたビューポイントと、他方の点群表現のレンダリングされたビューポイントとを含む。
【0021】
さらに、方法は、トレーニングサンプルのペアをデータセットに加えるS60。
【0022】
方法は、点群に関する欠落している細部の推論を向上させる。実際、トレーニングサンプルのペアのうちの1つは、点群表現のレンダリングされたビューポイントであり、ゆえに、欠落している情報を有するトレーニングデータを提供し、他方の画像は、他方の点群表現のレンダリングされたビューポイントであり、構成により、3Dシーンのビューポイントにおいて、稠密な点群ビューを提供する。ニューラルネットワークアーキテクチャは、ギャップ、ホール、スパースデータポイント、および/または視野の障害物のかたちにおいて、欠落している情報を推測するために、意図されたスパース性(sparsity)とトレーニングデータの視点の可変性とから学習する。今述べたことは、比較的少ない情報を有する点群から、より利用できる表現に、すなわち、元の点群から欠けていた推論される情報を有する、より完全な点群に変わることを可能にする。
【0023】
方法は、コンピューターに実装される。今述べたことは、方法のステップ(または実質的にすべてのステップ)が、少なくとも1台のコンピューター、または同じようなあらゆるシステムによって実行されることを意味する。ゆえに、本方法のステップは、コンピューターによって、おそらく完全に自動的に、または、半自動的に行われる。例では、方法のステップのうちの少なくともいくつかのトリガーは、ユーザーコンピューターインタラクションを通じて行われることがある。要求されるユーザーコンピューターインタラクションのレベルは、予想される自動性のレベルしだいであり、ユーザーの願望を実装する必要性とのバランスに置かれることがある。例では、今述べたレベルは、ユーザー定義されるおよび/または事前定義されることがある。
【0024】
方法のコンピューター実装の典型的な例は、今述べた目的に対して適合したシステムにより方法を行うことである。システムは、メモリーおよびグラフィカルユーザーインターフェース(GUI)に結合されたプロセッサーを含むことがあり、メモリーは、方法を行うための命令を含むコンピュータープログラムを記録している。さらに、メモリーは、データベースを格納することもある。メモリーは、上記のストレージに対して適合したあらゆるハードウェアであり、おそらく、いくつかの物理的に異なった部分(例えば、プログラム用の1つ、およびおそらくデータベース用の1つ)を含む。
【0025】
図5は、システムが、クライアントコンピュータシステム、例えば、ユーザーのワークステーションであるシステムの例を示す。
【0026】
例に関するクライアントコンピューターは、内部通信BUS5000に連結された中央処理装置(CPU)5010、BUSにさらに連結されたランダムアクセスメモリー(RAM)5070を含む。さらに、クライアントコンピューターは、BUSに連結されたビデオランダムアクセスメモリー5100に関連付けられたグラフィック処理装置(graphical processing unit:GPU)5110を有して提供される。さらに、ビデオRAM5100は、当業者にはフレームバッファとしても知られている。マスストレージデバイスコントローラー5020は、たとえばハードドライブ5030などのマスメモリーデバイスへのアクセスを管理する。コンピュータープログラム命令およびデータを有形に具現化することに対して適したマスメモリーデバイスは、例として、たとえば、EPROM、EEPROM、およびフラッシュメモリーデバイスなどの半導体メモリーデバイス、たとえば内蔵ハードディスクおよび取外し可能ディスクなどの磁気ディスク、光磁気ディスクを含む、不揮発性メモリーのすべてのかたちを含む。前述のもののいずれかは、特別に設計されたASIC(特定用途向け集積回路)により補完される、または組み込まれることがある。ネットワークアダプター5050は、ネットワーク5060へのアクセスを管理する。さらに、クライアントコンピューターは、たとえば、カーソル制御デバイス、キーボード、または同等のものなど、ハプティックデバイス5090を含むこともある。カーソル制御デバイスは、クライアントコンピューターに用いられて、ユーザーに、カーソルをディスプレイ5080におけるどんな望みのロケーションにでも選択的に置くことを許可する。加えて、カーソル制御デバイスは、ユーザーに、種々のコマンドを選択し制御信号を入力することを可能にする。カーソル制御デバイスは、システムに制御信号を入力するために、いくらかの信号生成デバイスを含む。通常、カーソル制御デバイスは、マウスであり、マウスのボタンが信号を生成するのに用いられることがある。あるいはまたはさらに加えて、クライアントコンピュータシステムは、センシティブパッド、および/またはセンシティブスクリーンを含むことがある。
【0027】
コンピュータープログラムは、コンピューターによって実行可能な命令を含み、命令が上記のシステムに方法を行わせるための手段を含むことがある。プログラムは、システムのメモリーを含む、あらゆるデータ記録媒体に記録可能であり得る。プログラムは、例えば、デジタル電子回路に、またはコンピューターのハードウェア、ファームウェア、ソフトウェアに、またはそれらの組み合わせに実装されることがある。プログラムは、装置として、例えば、プログラマブルプロセッサーによる実行のために機械読取り可能ストレージデバイスに有形に具現化された製品として実装されることがある。方法ステップは、方法の機能を行う命令のプログラムを、入力データに操作し出力を生成することによってプログラマブルプロセッサーが行うことにより行われることがある。ゆえに、プロセッサーは、データストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、データおよび命令を送信するようにプログラム可能であり、結合されることがある。アプリケーションプログラムは、ハイレベル手続きプログラミング言語もしくはオブジェクト指向プログラミング言語にて、または望まれるならばアセンブリ言語もしくはマシン言語にて実装されることがある。いかなる場合も、言語は、コンパイル言語またはインタプリタ言語であり得る。プログラムは、フルインストールプログラムまたはアップデートプログラムであり得る。システムへのプログラムの適用は、いかなる場合も、方法を行うための命令に帰着する。コンピュータープログラムは、代わりに、クラウドコンピューティング環境のサーバーに格納され実行されることがあり、サーバーは、1つまたは複数のクライアントとネットワークを介して通信している。上記場合、処理ユニットがプログラムによって含まれる命令を実行することにより、クラウドコンピューティング環境において方法が実行される。
【0028】
「データセット」によって、トレーニングサンプルを含み、機械学習のために構成されたあらゆるデータ構造が意味され、データ構造は、コンピュータシステムのメモリーに記録され、プロセッサーに対してアクセス可能である。データセット形成方法は、データセットを不揮発性メモリーに記録することを含むことがある。
【0029】
機械学習の分野から、それ自体知られているように、ニューラルネットワークアーキテクチャは、相互接続されたノード(「ニューロン」とも呼ばれる)の集まりを含む。各ニューロンは入力を受け取り、それに接続された他のニューロンへ結果を出力する。ニューロンと、ニューロンの各々を結びつけるコネクションとは、重みを有し、訓練を介して調整される。「ニューラルネットワークアーキテクチャを学習すること」は、ニューロン、または少なくとも2つのニューロンを結びつけるコネクションの少なくとも1つの重みを調整することを意味する。
【0030】
本方法の場合では、ニューラルネットワークアーキテクチャは、点群レンダリングに関する欠落している画像の細部を推論するために構成される。つまり、ニューラルネットワークアーキテクチャは、入力点群レンダリング(例えば、深度センサーまたはインダストリアルスキャナー(industrial scanner)から取得される)が提供されるように、および、欠落している細部を、例えば、入力点群レンダリングのホール、ギャップ、点群に表されるエンティティの目に見えない部分、孤立値の点から推論するように、構成される。さらに、ニューラルネットワークアーキテクチャは、推測される欠落している細部を出力するように構成されることもある。ゆえに、ANN機能は、上記情報により入力点群レンダリングをオーギュメンテーションすることを可能にする。
【0031】
3Dメッシュシーンは、シーンの3D表現である。シーンは、実世界の状況(例えば、工場シーンの場合の工業的な状況、またはたとえば建築シーンの場合などの都市的な状況)のジオメトリを表し、1つまたは複数のエンティティを含むことがある。1つまたは複数のエンティティは、1つまたは複数の生物学的エンティティ(たとえばヒトおよび/または動物など)、およびまたはたとえば(機械的な、電気的な、または油圧的な)部品などの他のエンティティを含むことがある。1つまたは複数のエンティティは、参照フレームに従ってシーンに配置されることがある。
【0032】
3Dメッシュシーンは、S10において、本方法による3Dメッシュシーンの検索または取得を可能にするあらゆるタイプのデータ取得によって取得されることがある。3Dメッシュシーンを取得することS10は、例えば、(例えば、遠くの)メモリーまたはサーバーまたはこれらのデータが格納されているあらゆる不揮発性ストレージから、前述の3Dメッシュシーンをダウンロードすること/検索すること(例えば、ネットワークを介して)を含むことがある。
【0033】
3Dメッシュシーンは、3Dメッシュシーンのジオメトリのレンダリングを、それが表現すると想定される実世界の設定に従って設定する視覚化パラメーターを含むことがある。視覚化パラメーターは、例えば、テクスチャ、マテリアル、色および/または輝度パラメーターを含むことがある。3Dメッシュ視覚化パラメーターは、ランダム化されることがある、つまり、パラメーターの各々は、ランダムなルールにより選択されることがある。
【0034】
方法は、S20において、3Dメッシュシーンの点群表現を計算する。点群表現は、シーンを表す3D空間の点の集合であり得る。点群表現は、例えば、3Dメッシュシーンの要素と交差する(3D)点の集合をサンプリングすることによって、当技術分野において知られているあらゆるやり方にて3Dメッシュシーンから生成されることがある。サンプリングは、あらゆるやり方にて行われることがあり、例えば、各点は、点群の密度を決定する、あらゆる予め決められた距離により分離されることがある。点は、均一に分離される、または不均一に分離されることがあり、これは単に実装の問題である。
【0035】
方法は、S30において、3Dメッシュシーンおよび点群表現の1つまたは複数のカメラビューを生成する。言い換えれば、各カメラビューは、3Dメッシュシーンと点群表現との両方に生成される。カメラビューは、与えられたビューポイントにおける3Dメッシュシーンの2D投影である。ビューポイントは、例えば視野角から、3Dメッシュシーンが観察される3D空間における位置である。方法は、1つまたは複数のカメラビューを生成し、ゆえに、3Dメッシュシーンを通る異なったビューポイントを、例えば、異なった位置に、または同一の位置であるが異なった視野角を有する少なくとも2つの等しいビューポイントを、生成することがある。例えば、方法は、3Dメッシュシーンを拘束するために固定点の少なくともいくつか(例えば、すべて)を設定することがある、および/または、3Dシーンのエンティティに近い固定点の少なくともいくつか(例えば、すべて)を設定することがある。固定点の少なくともいくつか(例えばすべて)は、ランダムに設定されることがある。
【0036】
ただちに、S40における各カメラビューに対して行われる方法のステップが述べられる。
【0037】
方法は、S410において、点群表現のビューポイントをレンダリングする。つまり、方法は、ビューポイントからの点群表現の2D投影(例えば、点群レンダラによってレンダリングされるような)を、点群からの深度情報とともに、例えばシーンのそれぞれのエンティティと交差する点の集合の点のうちの少なくとも1つの点(例えば、すべて)を、例えばビューポイントの位置に対する少なくとも1つの点の距離を考慮することによって、取得することがある。それによって、方法は、画像(すなわち、ビューポイントからの2D投影)を、対応する深度マップ、例えば対応する2D行列とともに取得し、行列の各要素は、ビューポイントに関して点群表現のそれぞれの点の深度情報を含む(ゆえに、画像に投影される)。
【0038】
方法は、S420において、3Dメッシュシーンのビューポイントをレンダリングする。つまり、3Dメッシュシーンは、ビューポイントから(例えば、3Dレンダラ/エンジンを介して)レンダリングされる。ゆえに、方法は、ビューポイントからユーザーに(例えばディスプレイに)表示できるほど、シーンにおけるエンティティのジオメトリをレンダリングする。それによって、3Dメッシュシーンのビューポイントは、ビューポイントから(例えば、完全にまたは部分的に)目に見える、または目に見えないことがあるエンティティを含むことがある。
【0039】
方法は、S421において、3Dメッシュシーンのビューポイントの別の点群表現を計算する。ゆえに、方法は、3Dメッシュシーンのビューポイントから投影されるような3Dメッシュシーンからの(3D)点の集合を取得する。点のセットは、3Dメッシュシーンのビューポイントから(少なくとも部分的に)目に見える3Dメッシュシーンの要素と交差する点に対応することがある。
【0040】
方法は、S422において、他方の点群表現のビューポイントをレンダリングする。それによって、方法は、別の画像(すなわち、ビューポイントに関して点群の別の2D投影に対応する)を、対応する別の深度マップ、つまり、ビューポイントに関して点群の投影点の深度情報を含む対応する行列とともに取得する。
【0041】
方法は、S50において、トレーニングサンプルのペアを取得する。各トレーニングサンプルは、それぞれ、点群表現のレンダリングされたビューポイント(つまり、点群からの深度情報とともに、クラウド表現の2D投影)と、他方の点群表現のレンダリングされたビューポイント(つまり、点群からの深度情報とともに、3Dメッシュシーンのビューポイントからそれぞれ計算されたクラウド表現の2D投影)とを含む。
【0042】
方法は、S60において、例えば、不揮発性メモリーに記録されたデータ構造にトレーニングサンプルのペアを記録することにより、トレーニングサンプルのペアをデータセットに加える。
【0043】
データセットの使用に関する方法がさらに提供される。使用される方法は、データセットに基づいてニューラルネットワークアーキテクチャを学習することを含む。機械学習の分野から、それ自体知られているように、データセットは、点群レンダリングに関する欠落している細部を推論するためにニューラルネットワークアーキテクチャを構成するために指示されたデータのサブセットと、ニューラルネットワークによる推論が良好に行われるかどうかを評価するためのテスト用のサブセット(さらに「グランドトゥルースデータセット」)とを含むことがある。ニューラルネットワークアーキテクチャを構成するために指示されたデータのサブセットは、グランドトゥルースデータセットよりも多くのトレーニングサンプルを、例えばトレーニングサンプルの総数の60%より多く(例えば80%のオーダー)含むことがある。トレーニングサンプルの総数は、想定される学習の質に依存し、この数は、100または1000のトレーニングサンプルよりも高いことがある。テストされた実装では、5000のトレーニングサンプルは、欠落している細部を推論するためのトレーニングの質の間の良い妥協点をもたらすことがある。さらに、7000のトレーニングサンプルも顕著な改善を提供する。さらに、トレーニングサンプルの数は、10000トレーニングサンプル以上の数であり得る。
【0044】
ただちに、ニューラルネットワークアーキテクチャが述べられる。
【0045】
ニューラルネットワークアーキテクチャは、N個の相互接続された畳み込みブロックを有することがある。Nは自然数である。畳み込みブロックは当技術分野において知られており、標準的な参照は、Lecun, Bottou, Bengio & Haffner、「Gradient-based learning applied to document recognition」、1998年に見つけられることがある。各畳み込みブロックは、それぞれの解像度を有することがある。N個の畳み込みブロックの各々は、増大する解像度で相互接続されることがある。例えば、N=2、すなわちニューラルネットワークアーキテクチャが2つの相互接続された畳み込みブロックを有するならば、第1のブロックは分解能rを有し、第2のブロックは分解能sを有し、ただし、r>sである。
【0046】
使用に関する方法は、入力画像と、入力画像のN-1個のダウンサンプリングバージョンとを提供することを含むことがある。入力画像は、例えば、元の解像度を有する点群画像、または深度データを有する色画像であることがあり、方法は、元の解像度よりも低い解像度にダウンサンプリングされたN-1個の画像を提供する。入力画像は、最大の解像度を有する相互接続された畳み込みブロックに提供されることがある。各々のダウンサンプリングされたバージョンは、それぞれの畳み込みブロックに入力されることがある。各々のダウンサンプリングされたバージョンは、それぞれの畳み込みブロックのそれぞれの解像度と同じ解像度を有することがある。例えば、方法は、それぞれの畳み込みブロックの解像度をマッチングさせるために、オンザフライで入力画像をダウンサンプリングすることがある。これは単に実装の問題である。
【0047】
ゆえに、使用に関する方法は、ニューラルネットワークアーキテクチャを利用して、入力画像の欠落している細部の推測を向上させる。入力画像とN-1個のダウンサンプリングされたバージョンとを入力する使用に関する方法のおかげで、使用に関する方法は、各々、それぞれの解像度でギャップ(点、色、深度情報がない画像の領域)を見分け、ニューラルネットワークアーキテクチャが今述べた領域に欠落している細部の推論に焦点を当てるように、(元のバージョンの)入力画像と比較する。さらに、畳み込みブロックは、インタラクティブな処理に適した実装を可能にし、例えば、テストされた実装は、元の解像度が1920x1080である入力画像に対して、標準的なグラフィック処理装置においてブロックが50msで動作することを示す。
【0048】
ゆえに、本方法は、点群レンダリングに関する欠落している画像の細部(ギャップ、ホール、孤立値の点)の推論を向上させることができる。実際、方法は、現実世界のデータに一般化される、および、入力点群表現によってキャプチャされた現実世界のシーンの強化された、よりリアルな仮想表現を可能にする現実世界のスキャン(例えば、深度センサーまたはスキャナーから取得される)において欠落している情報を埋めることを可能にする、ニューラルネットワークを訓練するのに用いられるトレーニングサンプルのペアを加えることによってリアリスティックを提供することがある。
【0049】
加えて、S410~S422において各カメラビューに対して作られたビューポイントのレンダリングのおかげで、方法は、トレーニングペアの作成が3Dメッシュシーンの要素の可視性を変化させることに焦点を当てるので、シーンのリアルなビューを生成することができる。点群表現のレンダリングされたビューポイントは、ニューラルネットワークアーキテクチャに対する基準ビューポイントであり得るが、他方の点群表現のレンダリングされたビューポイントは、基準ビューポイントの異形であることがあり、依然として、点群のセットは(例えば、レンダリングされたビューポイントを整列させることによって)合致することがある。今述べたことは、ビューポイントの可変性を保証し、特に、他方の点群表現のビューポイントが、基準ビューポイントから欠落している細部を含むとき、欠落している細部の推論を向上させる。
【0050】
さらに、方法は、3Dメッシュシーンがその現実世界の設定に従ってレンダリングされることがあるので、3Dメッシュシーンが表現すると想定される現実世界のデータの可変性を向上させることがある。ゆえに、方法は、たとえば、テクスチャ、マテリアル、色および/または輝度パラメーターなどの視覚化パラメーターをランダムに設定することによって、現実世界の設定を考慮するように3Dメッシュシーンをテンダリングすることがある。今述べたことは、依然として、方法が、現実世界のデータから容易に取得できないトレーニングサンプルをレンダリングすることがあるので、トレーニングサンプルの可変性を向上させる。
【0051】
ただちに、S20における点群表現の計算が、より詳細に述べられる。
【0052】
S20において、点群表現を計算することは、3Dシーンメッシュに1つまたは複数のキューブマップをランダムに配置すること、つまり、キューブマップが3Dシーンメッシュのランダムな点に配置されることを含む。配置は、均一に、または不均一に、およびあらゆるランダムなルールに従って、行われることがある。(1つまたは複数のキューブマップの)それぞれのキューブマップは、3Dメッシュシーンの6つの連続した視野を含む閉じた形状であり、各々、キューブマップ面を表すことによって、連続した面の間の90度の角度によって定義される。それぞれのキューブマップが閉じた形状であるので、それぞれのキューブマップは、それぞれのキューブマップが配置される位置から3Dシーンメッシュの360度ビューを可能にする。さらに、計算は、1つまたは複数のキューブマップの各々から3Dシーンメッシュの複数の点(「サンプルポイント(sample point)」とも呼ばれる)をサンプリングすることを含むこともある。方法は、1つまたは複数のキューブマップのそれぞれのキューブマップに関して、あらゆるサンプリング密度に従って複数の点をサンプリングすることがある。方法は、各々、それぞれのキューブマップに関して独立に複数の点をサンプリングすることがあり、例えば、方法は、第1のキューブマップから100のサンプルポイントをサンプリングし、第2のキューブマップから200(またはより多く)のサンプルポイントをサンプリングすることがある。あるいは、方法は、各々、それぞれのキューブマップに関して同じ数のサンプルポイントをサンプリングすることがある。方法は、1つまたは複数のキューブマップの各々のサンプルポイントから点群表現を計算することがある。
【0053】
今述べたことは、方法がトレーニングサンプルの可変性を向上させることに帰着する。実際、方法は、各キューブマップから点をサンプリングするので、点群表現のサンプリングをキューブマップの視野に制約する。それによって、点群表現は、例えば、少なくとも2つのキューブマップの視野が交差しない3D空間の領域として、ホールを与えることがある。ニューラルネットワークアーキテクチャは、今述べた変動から学習し、ゆえに、点群からギャップを推論することを学習することがある。
【0054】
点群表現を計算すること(S20)は、各々、それぞれのキューブマップからサンプリングされた点を組み合わせることを含むことがある。例えば、点群表現は、1つまたは複数のキューブマップの各々の複数のサンプルポイントの結合から計算されることがある。それによって、点群表現は、3Dメッシュシーンをサンプリングする点の連結領域を与えることがあり、点の組み合わせから稠密な集合点を検出するネットワークアーキテクチャを学習する。
【0055】
3Dメッシュはインテリアシーンであり得る。インテリアシーンは、航空宇宙、建築、建設、運輸、海運、および/またはオフショア石油/ガス生産もしくは運輸を含む、種々の際限のない産業分野におけるプレミス(premise)の内側のシーンである。プレミスは、例えば、産業分野のいずれかにおける、建物、工場、地上車両、航空車両、海運車両、または航空機であり得る。上記プレミスは、1つまたは複数のエンティティ、たとえば、地上車両の(1つまたは複数の)部品(例えば、自動車および小型トラック装置、レーシングカー、オートバイ、トラックおよびモーター装置、トラックおよびバス、列車を含む)、航空車両の(1つまたは複数の)部品(例えば、機体機器、航空宇宙機器、推進機器、防衛製品、航空機器、宇宙機器を含む)、海運車両の(1つまたは複数の)部品(例えば、海軍機器、商船、オフショア機器、ヨットおよび作業船、海洋機器を含む)、(1つまたは複数の)一般機械部品(例えば、工業用製造機械、重車両用機械または装置、設置済み装置、工業用装置製品、加工金属製品、タイヤ製造製品を含む)、(1つまたは複数の)電気機械または電子部品(例えば、家電製品、セキュリティおよび/または制御および/または計装製品、コンピューターおよび通信機器、半導体、医療機器および装置を含む)、(1つまたは複数の)消費財(例えば、家具、家庭用および庭園用製品、レジャー用品、ファッション製品、硬質製品小売業者の製品、軟質製品小売業者の製品を含む)、包装(例えば、食品および飲料およびタバコ、美容およびパーソナルケア、家庭用製品の包装を含む)を含むことがある産業製品を表すことがある。
【0056】
他方の点群表現のビューポイントをレンダリングすることは、各カメラビューに対して、他方の点群表現を囲むボックスのランダムな場所にカメラを配置することを含むことがある。ボックスは、他方の点群表現の点の集合を取り囲むキューブ(3D座標により表される)のあらゆるグラフィック表現であり得る。ボックスは、あらゆるやり方にて決定され、例えば、他方の点群表現の点の集合を取り囲む最小のキューブであり得る。カメラは、他方の点群表現の視野をキャプチャすることを可能にする、例えば3Dグラフィックスレンダラによってサポートされるあらゆる機能であり得る。カメラは、あらゆるやり方にて、例えばボックスの与えられた場所におよび/または3D空間における与えられた向きに、作成されることがある。カメラは、他方の点群表現を囲むボックスのランダムな場所に、つまり、ボックスの内側または境界のあらゆるランダムな場所に配置されることがある。方法は、カメラによってキャプチャされた視野からのビューポイントをレンダリングすることがある。
【0057】
ゆえに、方法は、データセットに加えられたトレーニングサンプルのビューの可変性のリアリズムを向上させる。実際、ボックスはカメラの配置を制約し、ゆえに、カメラはプレミスの内部または外部を、およびプレミスに発見されたあらゆるエンティティをキャプチャする視野をキャプチャすることがある。
【0058】
カメラに関して配置することは、さらに制約されることがある。配置することは、カメラに最も近い他方の点群表現の点までの最小距離によって制約されることがある。言い換えれば、方法は、カメラに関して配置することが、カメラに最も近い他方の表現の点までの最小距離を守ることを強制する。今述べたことは、点によって交差される3Dメッシュシーンのいかなるエンティティもプレミスの一部も妨げることなくカメラを配置することを可能にする。さらに、方法は、他方の点群表現のあらゆる他の点までの最大距離によって配置することを制約することもある。配置することは、最大距離を有する点に向かってカメラの向きを設定することがある。方法は、球(例えば、単位球)によって囲まれた他方の点群表現の点をサンプリングすることによって最大距離を計算することがある。
【0059】
今述べたことは、データセットに存在するビューの可変性のリアリズムをさらに向上させる。実際、方法は、ビューの生成がエンティティを妨げないこと(例えば、カメラがエンティティの内側にはまり込まないこと)を確実にするが、(方法が最大距離によって配置することを制約するように)可能な限り最大の視野を覆う向きを提供する。
【0060】
3Dメッシュシーンは、エクステリアシーンであり得る。エクステリアシーンは、(外側から見たような)1つまたは複数のプレミス、および/または他のエンティティを含む外側のシーン、例えば都市的なシーンまたは建築的なシーンである。他方の点群表現のビューポイントをレンダリングすることは、各カメラビューに対して、他方の点群表現を囲む球のランダムな点にカメラを配置することを含むことがある。球は、あらゆる仕方による方法により決定され、例えば、他方の点群表現の(すべての)点の集合を取り囲む最小の体積を有する球であり得る。さらに、配置することは、球の中心に向かってカメラを向けることもある。今述べたことは、エクステリアシーンの可能な限り大きな視野を有することを可能にするので、エクステリアシーンに対応するトレーニングサンプルを生成することに関して特に効率的である。
【0061】
3Dメッシュシーンは、混合シーンであり得る。言い換えれば、混合シーンは、外側のシーンおよびプレミス(順に1つまたは複数のエンティティを含むことがある)を含むことがある。他方の点群表現のビューポイントをレンダリングすることは、各カメラビューに対して、カメラをバウンディングボックスにおいてランダムに配置することを含むことがある。バウンディングボックスは、混合シーンを取り囲むキューブのグラフィック表現であり得る。(カメラに関して)配置することは、カメラに最も近い他方の点群表現の点までの最小距離によって制約されることがある。今述べたことは、点によって交差される混合シーンのいかなるエンティティもプレミスの一部も妨げることなくカメラを配置することを可能にする。さらに、方法は、バウンディングボックスの内側でランダムに選択された第2の点までの距離によって配置することを制約することもある。それによって、方法は、第2の点をルックアットポイント(look-at-point)として選択することにより、カメラの向きを決定することがある。今述べたことは、方法に、混合シーンについての価値のある情報を含むリアルなビューを生成することを可能にする。実際、第2の点の選択は、ビューのパースペクティブに関して高い変動を生成する。
【0062】
方法は、他方の点群表現のレンダリングされたビューポイントの目に見える点の数が、予め決められたしきい値未満であるならば、取得されたトレーニングサンプルのペアを、データセットに加えることがある。例えば、方法は、レンダリングされたビューポイントが、20%より少ない(または未満の)目に見える点を有するならば、取得されたトレーニングサンプルのペアを加えないことがある。今述べたことは、3Dメッシュシーンの小さい部分のみを含むビューを防ぐ。それによって、方法は、トレーニングサンプルが関連情報を所有することを確実にする。
【0063】
方法は、トレーニングサンプルの各ペアに対して、(深度マップに提供される)深度情報を用いて、異なったレンダリングを組み合わせることを計算することを含むことがある。異なったレンダリングは、データセット内の異なったトレーニングサンプルであり得る、または、ストレージ、ネットワーク、または他のエンティティから取得されることがある。トレーニングサンプルのペアの各々が、対応する深度マップを含むように、方法は、異なったレンダリング(例えば、1つまたは複数のレンダリング)をトレーニングサンプルと組み合わせるために、今述べた情報を考慮に入れることがある。今述べたことは、方法が、トレーニングサンプルの元のペアと幾何学的に一致する新しいトレーニングサンプルを作成することを確実にする。それによって、方法は、組み合わせ論的な急増のために、データセットのサイズをオーギュメンテーションさせることが可能である。
【0064】
方法は、トレーニングサンプルのペアに1つまたは複数のオーギュメンテーション技法を適用することを含むことがある。オーギュメンテーション技法は、トレーニングサンプルに適用されることがある、当技術分野において知られているあらゆる画像処理技法である。方法は、色のオーギュメンテーション、水平および/または垂直のフリッピングのなかに含まれるオーギュメンテーション技法を適用することがある。色のオーギュメンテーション技法によって、方法は、例えば、トレーニングサンプルの色相、彩度、輝度、および/またはコントラストを変更することがある。ゆえに、方法は、トレーニングデータの変動をさらに増大させる。
【0065】
ただちに、方法の例が、
図6から
図14を参照して述べられる。
【0066】
合成データ生成システムにおける方法の実装がただちに述べられる。合成データ生成システムは、多種多様な点群シーンとそれぞれのグランドトゥルースレンダリングをと取得するのに用いられる。さらに、実世界の点群レンダリングにおいて欠落している情報を予測する訓練されたニューラルネットワークアーキテクチャも述べられる。
【0067】
1)合成データ生成システム
合成データ生成システム6000の概要を例示する
図6に対して参照がされる。合成データ生成システム6000は、入力6100として3Dメッシュシーンを取る。3Dメッシュシーンは、プレミスおよび/またはエンティティのジオメトリのみを含む。合成データ生成システム6000は、3Dメッシュシーンに対して形状マテリアル6200を生成する。合成データ生成システム6000は、ジオメトリの各形状にマテリアルを適用する。次に、合成データ生成システム6000は、マテリアルの各々にランダムテクスチャ6300を適用する。合成データ生成システム6000は、非常に多様なテクスチャのセットを含むランダム化された3Dメッシュシーンを出力する6400。合成データ生成システム6000は、6400にて出力された3Dメッシュシーンを用いて、3Dメッシュレンダラを用いることによる点群表現を作成する。
【0068】
合成データ生成システム6000は、3Dメッシュシーンを囲むボックスを計算し、ボックスの内側のランダムな位置に複数のカメラビュー6450を生成する。カメラビューは、低解像度の360度キューブマップビュー6460をレンダリングするのに用いられる。3Dメッシュレンダラは、カラーバッファを、3Dシーンの点サンプルを提供する位置バッファも同様に、レンダリングするように構成される。合成データ生成システム6000は、複数のキューブマップビューをレンダリングし、各キューブマップ6470から点群を生成する。合成データ生成システム6000は、各ビューの点サンプルを組み合わせて、3Dメッシュシーンの点群表現6480を構築する。合成データ生成システム6000は、点群表現をレンダリングする6490。オプションとして、現実世界のスキャンに見られる種々の点群解像度を考慮するために、合成データ生成システム6000は、点群をダウンサンプリングし、例えば、点のランダムな部分を取り除くことがある。レンダリングされた出力表現(深度情報とともに)は、トレーニングサンプル6500としてデータセットに加えられる。
【0069】
6490にて出力される点群を、6400にて生成される同一のシーンの3Dメッシュ表現も同様に、有することは、システムに、シーンの内側のビューを生成し、3Dメッシュレンダラも同様、点群レンダラにより、今述べたビューをレンダリングすることを可能にする。今述べたことは、表現(入力画像)のスパース性のために欠落している情報を有する、3Dメッシュレンダラによって生成されたそれぞれの稠密なグランドトゥルースサンプル画像(ターゲット画像)も同様に有する、点群レンダリングからなるサンプル画像ペアを生成する。高品質のトレーニングデータを生成するために、参照画像は、入力画像と同じように処理されることが望ましい。今述べたことは、両方の画像において目に見えるピクセルが正確に同一であることを確実にする。
【0070】
3Dメッシュレンダラおよび点群レンダラは、入力の処理が異なる種々のステージを含む、異なる複雑なコンポーネントである。今述べたステージの例は、ポスト処理パイプラインまたはサンプリングアルゴリズムであろう。今述べたことは、入力画像のピクセルに、ターゲット画像におけるそれぞれのピクセルと必ずしも一致させない。今述べた場合のいくつかに関して、コンフィギュレーションを一致させることは、この問題を解決することが可能であるが、いくつかの場合に、これらのステージを調整することが可能ではない。今述べたことを考慮に入れるために、合成データ生成システム6000は、6450にて生成された同一のカメラビューから3Dメッシュシーンをレンダリングする6410。次に、合成データ生成システム6000は、3Dメッシュシーンのカメラビューから点群を生成する6420。次に、方法は、6420にて生成された点群からビューポイント6430を計算する。次に、方法は、ビューポイントから点群をレンダリングする6440。点群6440のレンダリングされたビューポイントは、基準レンダリングのカメラビューに関して、完全に稠密である、すなわち、各ピクセルに対して正確に1つの点がある。レンダリングされたビューポイント(深度情報とともに)は、データセットに加えられ、6500にて加えられた参照トレーニングサンプルに(データセットにおいて)リンクされる。
【0071】
図7は、基準レンダリングからの点群レンダリングのビューを例示する。このビューでは、点群は完全に稠密であり、ゆえに参照3Dメッシュのジオメトリを正確に表す。
図8は、異なったビューからレンダリングしたが、同一の点群を示す。処理は、合成データ生成システム6000に、メッシュレンダラと点群レンダラとの組み合わせを用いて、入力画像と同じように正確に処理される参照画像を生成することを可能にする。
【0072】
合成データ生成システム6000のさらなる利点は、レンダリングバックエンドの互換性であり、他方を変更することなくメッシュレンダラまたは点群レンダラを変更する、またはレンダリングステージを再構成することを可能にする。
【0073】
カメラビューの生成6450がただちに述べられる。
【0074】
シーンのリアルなトレーニングサンプルを取得するために、合成データ生成システム6000は、カメラの配置および向きのために点群情報を用いる。合成データ生成システム6000は、シーンの種類に応じてビューを計算する3つの方法を含む。インテリアシーンに関して、カメラは、最も近い点までの最小距離を有することによって制約されたシーンのバウンディングボックスの内側にランダムに配置される。今述べたことは、カメラを、シーンのジオメトリの内側にあることから防ぐ。カメラを配置した後、カメラの周りの単位球の点をサンプリングすることによって向きを計算し、k最近傍探索を用いて点群におけるあらゆる他の点との最大距離を有する点を選択する。
【0075】
エクステリアシーンに関して、カメラは、シーンに関して囲んでいる球の周りのランダムな点に置かれ、中心に向かって向き付けられる。混合シーンに関して、カメラは、バウンディングボックスの内側にランダムに置かれ(最も近い点までの最小距離を有することによって再び制約される)、カメラビューの向きは、カメラのルックアットポイントとして用いられるバウンディングボックスの内側の第2のランダムな点を選択することによって計算される。処理は、シーンについて価値のある情報を含み、パースペクティブをビューすることに関して高い変動を有するリアルなビューを生成する。シーンの小さい部分のみを含むビューを防ぐために、20%未満の目に見える点を有するビューは破棄される。
【0076】
合成データ生成システムは、現実世界の点群レンダリングに関して欠落している情報を予測するニューラルネットワークを訓練するためのデータセットを生成することが可能である。テストされた実装は、色および深度値を含む7000までのトレーニングペアを生成した。
【0077】
トレーニングデータの変動をさらに増大させるために、システムは、色のオーギュメンテーション(色相、彩度、輝度、コントラスト)のような、水平および垂直のフリッピングも同様に、オーギュメンテーション技法の大量使用をする。標準的な技術の代わりに、システムは、深度ベースの構成オーギュメンテーションを含む。システムが深度情報へのアクセスを有するので、異なったレンダリング(入力画像および参照画像)を現実的なやり方にて組み合わせることが可能である。
図9は航空機のモデルを示す。
図10は地形モデルを示す。
図11は、航空機の平らな面による地形モデルのオーギュメンテーションを示す図である。ゆえに、システムは、効率的なやり方にてデータセットをさらにオーギュメンテーションさせる(例えば、失敗の場合により)ことがあり、同様に、組み合わせ論的な急増のためにデータセットサイズを増大させる。
【0078】
2)ニューラルネットワーク
図12はニューラルネットワークを示す図である。ネットワークアーキテクチャは、入力画像の深度ベースダウンサンプリング、同様に畳み込みデコーダーからなる。深度ダウンサンプリングは、2x2パッチにおいてカメラに最も近い深度値を有するピクセルを選択し、ゆえに、解像度を半分に減らす。ダウンサンプリングされた入力は、各々、2つの3x3畳み込み演算を有する5つの畳み込みブロックからなる畳み込みデコーダーを通じてフィードされ、2x最近傍アップサンプリングが続く。
【0079】
ネットワークは、マルチ解像度デコーダーアーキテクチャとして見られることがある。Convブロックのみが学習可能な重みを含むので、ネットワークは、サイズにおいて3.35MBだけであり、1920x1080解像度の入力画像に対してRTX6000において50msで動作する。
図13は例示的な入力を示す。
図14は、訓練されたニューラルネットワークによって生成されたオーギュメンテーションされた点群を示す。地面におけるギャップが著しく削減されることを特筆することが可能である。
【外国語明細書】