(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-28
(45)【発行日】2023-03-08
(54)【発明の名称】リアルタイムの3D可視化を備えた点群カラー化システム
(51)【国際特許分類】
G06T 19/20 20110101AFI20230301BHJP
【FI】
G06T19/20
(21)【出願番号】P 2021540239
(86)(22)【出願日】2020-01-09
(86)【国際出願番号】 US2020012972
(87)【国際公開番号】W WO2020146664
(87)【国際公開日】2020-07-16
【審査請求日】2021-07-09
(32)【優先日】2019-01-11
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(73)【特許権者】
【識別番号】596102126
【氏名又は名称】ソニー ピクチャーズ エンターテインメント インコーポレイテッド
(74)【代理人】
【識別番号】100092093
【氏名又は名称】辻居 幸一
(74)【代理人】
【識別番号】100109070
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100109335
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100151987
【氏名又は名称】谷口 信行
(72)【発明者】
【氏名】アンダーバーグ トビアス
【審査官】村松 貴士
(56)【参考文献】
【文献】米国特許出願公開第2017/0193688(US,A1)
【文献】特開2011-215956(JP,A)
【文献】国際公開第2018/130491(WO,A1)
【文献】米国特許出願公開第2015/0341552(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 15/00 - 19/20
(57)【特許請求の範囲】
【請求項1】
リアルタイムの3D可視化を備えた点群カラー化システムであって、
プロセッサと、
前記プロセッサに結合されたメモリと、
前記プロセッサ及び前記メモリに結合されたディスプレイと、
を備え、
前記プロセッサは、
複数の3D点を備えた3D点群を取得し、
ユーザにより変更可能である視点からの前記3D点群のビューに対応する3Dビューウィンドウを前記ディスプレイ上に表示し、
前記3D点群の2D平面上への投影を実行して、各々が前記複数の3D点の各3D点に対応する複数の投影点を備える投影3D点群を形成し、
前記投影3D点群を前記ディスプレイ上の2Dビューウィンドウに表示し、
前記ユーザによって前記2Dビューウィンドウ上に描かれた領域を受け入れ、
前記ユーザによって選択された色を受け入れて、前記領域に付与し、
前記2Dビューウィンドウを変更して、前記領域を前記色で表し、
前記3Dビューウィンドウを更新して、前記複数の3D点の各3D点が前記領域内に対応する投影点を有し、且つ前記各3D点が前記視点から可視である場合に、前記色を前記各3D点と関係付けるために前記3D点群を更新することなく、前記各3D点を前記色で表示する、
ように構成されている、システム。
【請求項2】
前記2D平面上への前記3D点群の前記投影は、正距円筒図法を含む、請求項1に記載のシステム。
【請求項3】
前記2D平面上への前記3D点群の前記投影は、前記3D点群の水平方向範囲を前記2Dビューウィンドウの水平方向幅と一致させ、前記3D点群の垂直方向範囲を前記2Dビューウィンドウの垂直方向高さと一致させるスケーリング変換を含む、請求項1に記載のシステム。
【請求項4】
前記プロセッサは更に、
対応する投影点のない、前記2Dビューウィンドウ内の各画素に画素色を割り当てるために、前記2Dビューウィンドウにフィルタを適用する、
ように構成され、
前記画素色は、投影点を含む隣接画素の色に基づく、請求項1に記載のシステム。
【請求項5】
前記フィルタは、平均化畳み込みフィルタを含む、請求項4に記載のシステム。
【請求項6】
前記プロセッサは、CPU及びGPUを含み、
前記CPUは、前記領域及び前記色を前記GPUに送信するように構成され、
前記GPUは、前記3Dビューウィンドウを生成するように構成され、
前記3Dビューウィンドウを前記生成することは、
前記3Dビューウィンドウ内の画素が、対応する投影点が前記領域内に入る1又は2以上の3D点に対応する場合に、前記画素の画素色を前記色に設定することを含む、請求項1に記載のシステム。
【請求項7】
前記領域は多角形であり、
前記プロセッサは、前記各3D点に対応する前記各投影点が前記領域内にあるかどうかを、多角形の内点テストで判定するように構成される、請求項1に記載のシステム。
【請求項8】
前記プロセッサは更に、
前記2Dビューウィンドウ上に前記ユーザが描いた混合色領域を受け入れて、
前記ユーザが選択した複数の色を受け入れて、前記混合色領域に付与し、
前記2Dビューウィンドウを変更して、前記混合色領域の各画素を前記複数の色の混合物で表し、
前記3Dビューウィンドウを更新して、
前記複数の3D点の各3D点が前記領域内に対応する投影点を有し、且つ前記各3D点が前記視点から可視である場合に、前記複数の色の前記混合物を前記各3D点と関係付けるために前記3D点群を更新することなく、前記各3D点を前記複数の色の前記混合物で表示する、
ように構成される請求項1に記載のシステム。
【請求項9】
前記混合色領域は三角形を含み、
前記複数の色は、前記三角形の各頂点に対する頂点色を含み、
前記複数の色の前記混合物は前記頂点色の重み付き組み合わせを含み、
前記重み付き組み合わせの重みは、前記混合色領域の前記各画素の重心座標に対応する、請求項8に記載のシステム。
【請求項10】
前記プロセッサは更に、
前記2Dビューウィンドウからテクスチャ画像を生成し、前記2Dビューウィンドウ内の前記領域に対応する前記テクスチャ画像の区域が前記色を有する、
ように構成され、
前記3Dビューウィンドウを前記更新することは、
前記3Dビューウィンドウ内の画素が、対応する投影点が前記領域内に入る1又は2以上の3D点に対応する場合に、前記テクスチャ画像と前記対応する投影点のテクスチャ座標とに基づいて、前記画素の画素色を前記色に設定することを含む、
請求項1に記載のシステム。
【請求項11】
前記プロセッサは、CPU及びGPUを含み、
前記領域は多角形であり、
前記CPUは、
前記多角形を1又は2以上の三角形に分割し、
前記1又は2以上の三角形の頂点と前記色とを前記GPUに送信する、
ように構成され、
前記GPUは、
前記テクスチャ画像の前記区域を、前記頂点に基づいて前記色で生成する、
ように構成される、
請求項10に記載のシステム。
【請求項12】
リアルタイムの3D可視化を備えた点群カラー化システムであって、
CPU及びGPUを備えるプロセッサと、
前記プロセッサに結合されたメモリと、
前記プロセッサ及び前記メモリに結合されたディスプレイと、
を備え、
前記プロセッサは、
複数の3D点を備えた3D点群を取得し、
ユーザにより変更可能である視点からの前記3D点群のビューに対応する3Dビューウィンドウを前記ディスプレイ上に表示し、
前記3D点群の2D平面上への正距円筒図法を実行して、各々が前記複数の3D点の各3D点に対応する複数の投影点を備える投影3D点群を形成し、
前記3D点群の水平方向範囲を2Dビューウィンドウの水平方向幅と一致させ、且つ前記3D点群の垂直方向範囲を前記2Dビューウィンドウの垂直方向高さと一致させる、前記2D平面のスケーリング変換を実行し、
前記投影3D点群を前記ディスプレイ上の2Dビューウィンドウに表示し、
前記ユーザによって前記2Dビューウィンドウ上に描かれた多角形である領域を受け入れ、
前記ユーザによって選択された色を受け入れて、前記領域に付与し、
前記2Dビューウィンドウを変更して、前記領域を前記色で表し、
対応する投影点のない、前記2Dビューウィンドウ内の各画素に画素色を割り当てるために、前記2Dビューウィンドウに畳み込み平均化フィルタを適用し、
前記多角形を1又は2以上の三角形に分割し、
前記1又は2以上の三角形の頂点と前記色とを前記GPUに送信し、
前記GPUを用いて、テクスチャ画像の区域を、前記頂点に基づいて前記色で生成し、
前記GPUで前記3Dビューウィンドウを更新して、前記3Dビューウィンドウ内の画素が、対応する投影点が前記領域内に入る1又は2以上の3D点に対応する場合に、前記色を前記各3D点と関係付けるために前記3D点群を更新することなく、前記テクスチャ画像と前記対応する投影点のテクスチャ座標とに基づいて、前記画素の前記画素色を前記色に設定する、
ように構成されている、システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の1又は2以上の実施形態は、コンピュータグラフィックス及びバーチャルリアリティの分野に関するものである。より詳細には、限定するものではないが、本発明の1又は2以上の実施形態は、リアルタイムの3D可視化を備えた点群カラー化システムを可能にする。
【背景技術】
【0002】
点群データから環境の3Dモデルを構築するためのシステムは、本技術分野で公知である。しかしながら、LIDARシステムなどの3Dスキャナは一般的に、表面の幾何学的情報と、場合によってグレースケールの強度を捉えるに過ぎず、色は捉えない。リアルな3D環境の構築には、例えばカラーの2D写真からの色情報で、3D点群を強化することが必要とされる。例えば、写真での照明条件の変化を補正するために、或いは芸術的効果のために、色は手動での調整を必要とする場合がある。
【0003】
点群をカラー化するための既存のシステムは、2Dビューから色調整を行い(例えば、Photoshop(登録商標)でのカラー調整など)、次いでバッチ処理によって3D点群に色を焼き付けるが、これには手間の掛かる場合がある。点群に色を焼き付けることで、点群内の全ての点に色値が付けられる。数百万又は数十億の点を含む可能性のある点群の場合、点群内の全点の色を更新するのに、何分又は何時間も掛かる可能性がある。3D点群が更新された後、ユーザは3D点群を検査して、(2Dにおける)色選択が3D点群における所望の対象物、構造、又は境界と整列していることを確かめる。3D点群と2Dビュー間のマッピング時に生じる歪みのため、ユーザは、2Dビューで適切な領域を選択して3D点群に所望の色変更を加えることが困難な場合がある。その結果、多くの場合、これらの色変更を何度も反復する必要がある。各反復処理には、2Dでの色変更を行うこと、時間が掛かる可能性のある、これらの変更の3D内への焼付けを待ち受けること、並びに3Dでの変更を再吟味することが必要とされる。3D点群に適用される2D画像の色を手動で調整し、これらの変更の効果をリアルタイム又はほぼリアルタイムに3Dでプレビューする簡単な方法を提供する公知のシステムは存在しない。
【発明の概要】
【発明が解決しようとする課題】
【0004】
2Dで行われた色変更を3D点群でリアルタイムにプレビューできるシステムがあれば、色調整プロセスの効率が劇的に改善されよう。
【0005】
少なくとも前述の制限のため、リアルタイムの3D可視化を備えた点群カラー化システムが必要とされている。
【課題を解決するための手段】
【0006】
本明細書に記載する1又は2以上の実施形態は、リアルタイムの3D可視化を備えた点群カラー化システムに関する。3D点群データは、点群の2D投影図上に描くことにより、色情報で強化することができ、結果として得られる色付きの3D点は、3Dビューでプレビューすることができる。3Dプレビューは、リアルタイム又はほぼリアルタイムに利用可能であり、カラー化プロセスの効率を高めることができる。
【0007】
1又は2以上の実施形態は、例えば1又は2以上のプロセッサ、メモリ、及びディスプレイを収容することのできるコンピューティングシステムを含む又はそれを使用する。プロセッサ(複数可)は、CPU、GPU、又はそれらの組み合わせを含むことができる。プロセッサは3D点群を取得し、その点群の3Dビューウィンドウをディスプレイに表示することができる。3D点群を見る視点は、システムのユーザによって変更可能とすることができる。プロセッサは、3D点群を2D平面に投影して、これもまたディスプレイに表示される2Dビューウィンドウを形成することができる。投影は、点群の各3D点を、2Dにおける対応する投影点と関係付けることができる。ユーザは2Dビュー上に領域を描き、その領域に色を付与することができる。次にプロセッサは、3Dビューウィンドウを更新して、領域に対応する3D点をその色で示すことができる。或る3D点が、領域内にある対応する投影点を有し、その3D点が、ユーザが選択した視点から見える場合に、その3D点を領域の色で表示することができる。領域に対応する各3D点と色を関係付けるために、点群を更新することなく、3Dビューウィンドウを更新することができる。従って、3Dビューへの更新は、大きな点群の場合でも、リアルタイム又はほぼリアルタイムに行われ、例えば、1又は2以上の実施形態において更新された3Dビューを生成するための典型的な遅延時間は、ミリ秒のオーダーとすることができる。
【0008】
1又は2以上の実施形態では、3D点群の2D平面への投影法は、正距円筒図法とすることができる。1又は2以上の実施形態では、投影は、投影された点群の2Dサイズを伸縮するためのスケーリング変換を含むことができ、或いはそれを伴うことができる。例えば、スケーリングを用いて、投影された点群が2Dウィンドウ全体を埋めるようにすることができる。スケーリング変換は、点群の水平方向範囲を2Dビューウィンドウの水平方向幅と一致させることができ、点群の垂直方向範囲を2Dビューウィンドウの垂直方向高さと一致させることができる。
【0009】
1又は2以上の実施形態は、2Dビューウィンドウを更にフィルタ処理して、例えば、点群から投影された点が存在しない画素でのアーティファクトを除去又は低減することができる。これらの画素に画素色を割り当てるために、フィルタは隣接画素の色を使用することができる。例えば、1又は2以上の実施形態では、平均化畳み込みフィルタを使用することができる。
【0010】
1又は2以上の実施形態では、プロセッサは、CPUとGPUの両方を含むことができる。CPUは、2Dビューにおいてユーザが選択した領域及び色をGPUに送信することができ、GPUは、3Dビューのウィンドウを生成することができる。GPUは、2D領域内に投影された3D点に対応する画素の色を、ユーザが選択した色に設定することができる。
【0011】
1又は2以上の実施形態では、ユーザが選択した領域は、多角形とすることができ、プロセッサは、多角形の内点テストを用いて、投影された点が領域の内部にあるかどうかを判定することができる。
【0012】
1又は2以上の実施形態では、ユーザは、領域に複数の色を割り当てることができる。例えば領域の内部で、色を混合することができる。プロセッサは、2D領域内の各画素に、並びに2D領域内の投影点に対応する3Dビュー内の各可視3D点に、色の混合物を割り当てることができる。単色領域の場合と同様に、混色を3Dポイントと関係付けるために、3D点群を更新せずに3Dビューを更新することができる。混色領域が三角形の場合、ユーザが割り当てる色は、例えば、三角形の各頂点に対する頂点色と対応することができる。三角形内の点の色は、頂点色の重み付き組み合わせとすることができ、重みは各点の重心座標に対応する。
【0013】
1又は2以上の実施形態では、プロセッサは、2Dビューウィンドウからテクスチャ画像を生成することができ、テクスチャ画像内の区域は、ユーザが選択した領域に対応する。テクスチャ画像内のこの区域には、その領域の色を割り当てることができる。投影点が領域内に入る1又は2以上の3D点に対応する3Dビュー内の各画素は、テクスチャ画像と、投影点のテクスチャ座標とに基づいて色付けすることができる。多角形領域の場合、CPUは領域を三角形に分割し、テクスチャ画像をレンダリングするために、各三角形の頂点と色とをGPUに送信することができる。
【0014】
特許又は出願ファイルには、カラーで作成された少なくとも1つの図面が含まれている。カラー図面(複数可)を備えた本特許又は本特許出願公開の複写は、請求並びに必要な手数料の支払いに応じて事務局から提供されよう。
【0015】
本発明の上記並びに他の態様、特徴、及び利点は、以下の図面と併せて提示される、以下のより具体的な説明からより明らかとなろう。
【図面の簡単な説明】
【0016】
【
図1】部屋からの点群データを処理し、その点群の2Dビュー及び3Dビューを表示する本発明の一実施形態を示す図である。
【
図2】
図1に示した例の続きであり、点群の2Dビューに色を付けるステップと、これらの色変更を3Dビューでプレビューするステップとを示す図である。
【
図3】パノラマ投影を用いて、3D点群を2Dビューの上に投影するための例示的な方法を示す図である。
【
図3A】投影された3D点群をリスケーリングして、投影された点群が360度×180度の画像全体を埋めるようにする例示的な方法を示す図である。
【
図3B】点群内のどの点も或る2D画素には対応しない場合に発生する可能性のあるアーティファクトを除去するために、2D画像をフィルタ処理する例示的な方法を示す図である。
【
図4A】点群に色を焼き付けてからレンダリングするステップを伴う、点群のカラー化を表示する従来技術の方法を示す図である(このプロセスは反復的で時間が掛かる可能性がある)。
【
図4B】点群のジオメトリデータと、2Dビューへのユーザ変更による色データとを組み合わせて、色付けされた3Dプレビューを、GPUを用いてリアルタイムにレンダリングするための例示的なアーキテクチャを示す図である。
【
図5】点が2Dビューにおいて色付けされた領域内にあるかどうかをテストすることによって画素の色を決定するために、1又は2以上の実施形態で使用できる例示的な方法を示す図である。
【
図6】色付けされた2D領域を三角測量して頂点色をGPUに渡すことで画素を色付けし、テクスチャ画像をレンダリングするようにするために、1又は2以上の実施形態で使用できる別の方法を示す図である。
【
図7】三角形の頂点間で色を補間することによって、領域に色勾配を付与する例を示す図である。
【
図8】オフィス環境から取り込まれ、正距円筒図法で2Dビューに変換された点群の例を示す図である。
【
図9】領域が2Dビューで色付けされ、3Dビューでプレビューされた
図8の点群を示す図である。
【
図10】
図8の点群をカラー化した別の例を示し、2Dの多角形領域が3Dビューでは著しく変形する場合があることを例証する図である。
【
図11】写真を点群に適用し、写真の一部の色を変更する例を示す図である
【
図12】領域又は領域の一部で色を混合する例を示す図である(例えば、これを用いて領域のエッジにソフトな減衰区域を作り出すことができる)。
【発明を実施するための形態】
【0017】
ここで、リアルタイムの3D可視化を備えた点群カラー化システムを説明する。以下の例示的な説明では、本発明の実施形態についてのより完全な理解を提供するため、多数の具体的な詳細を述べる。しかしながら、本明細書に記載する具体的な詳細の全態様を組み入れずに本発明を実施できることは、当業者には明らかであろう。他の例では、当業者によく知られた特定の特徴、量、又は測定値は、本発明を不明瞭にしないように詳細には記載していない。読者は、本発明の例が本明細書に明らかにされるが、特許請求の範囲、並びにあらゆる等価物の全範囲が本発明の範囲を規定するものであるということに留意すべきである。
【0018】
図1は、3D点群データを取得し、そのデータを2Dビューと3Dビューの両方で表示する本発明の一実施形態を示す。シーン101は、例えばLIDAR又は類似の3Dスキャナ105でスキャンすることができる。1又は2以上の実施形態は、LIDARスキャンを含むがこれに限定されない、何れかのタイプのスキャナ又は何れかのソースから得られた点群データを取得して使用することができる。説明を容易にするため、例示的なシーン101は、天井102、前壁103、及び左壁104の3つの対象物だけを有する。本発明の実施形態によって処理される現実のシーンは、あらゆる程度の詳細さ及び複雑さを有することができる。シーンには、例えば、限定することなく、部屋、建物、アリーナ、ホール、劇場、市場、店舗、自然の風景、街路、都市、又は田舎を含めることができる。1又は2以上の実施形態では、シーンを完全に又は部分的に、人工的に生成することができる。
【0019】
スキャナ105は、3D点群データ110を生成する。1又は2以上の実施形態では、何れかの形式の点群データを取得し、処理することができる。点群の各点は、3D位置と関係付けることができる。一部の点群は、スキャナ105で取得された又は他のソースから付加された、輝度強度又は他の属性などの付加的なデータを含むことができる。実施形態は点群110を直接取り扱うことができ、或いは、1又は2以上の実施形態では、点群データを、例えばメッシュなどの他の形式に変換することができる。3D点群110は、コンピュータ120に送信され、コンピュータ120は、以下に説明するように、表示のため、並びに色変更のためにデータを処理することができる。1又は2以上の実施形態において、コンピュータ120は、例えばデスクトップコンピュータ、ラップトップ、ノートブック、サーバ、携帯電話、スマートフォン、スマートウォッチ、スマートグラス、バーチャルリアリティ・ヘッドセット、組込みシステム、又はそれらの何れかの組み合わせなど、処理能力を備えた何れかのデバイス(複数可)とすることができる。1又は2以上の実施形態では、コンピュータ120は、データをまとめて処理、保存、又は表示する複数のコンピュータ又はデバイスのネットワークとすることができる。コンピュータ(複数可)120は、例えば、1又は2以上のCPU121、1又は2以上のGPU122、並びに1又は2以上のタイプのメモリ123を収容することができる。データの処理は、CPU、GPU、又はその両方で行うことができる。
【0020】
説明を容易にするために、点群110を比較的少数の点で示す。典型的な適用例では、数百万又は数十億の点からなる点群が処理される場合がある。非常に大きな場合のある点群サイズは、点群に対する更新に極めて時間が掛かる可能性があるため、これらの点群を処理する作業フローに課題を提起する。以下で説明するように、本発明は、時間の掛かる点群の更新を必要としない、色変更の効率的な3Dプレビューを提供することにより、点群をカラー化する作業フローに関するこの課題に対処するものである。
【0021】
コンピュータ120は、3D点群110を処理し、点群情報を表示するために1又は2以上のウィンドウを生成することができる。これらのウィンドウは、例えばディスプレイ(複数可)124上に表示することができる。
図1に示す例では、コンピュータ120は、点群110の2Dビュー131と3Dビュー132とを生成する。これらのウィンドウは、例えば単一のディスプレイ上に、或いは何れかの望ましい態様で配置可能な別々のディスプレイに表示することができる。ウィンドウ131及び132は、左右に、上下に、重ねて、又はピクチャインピクチャなど、何れかのやり方で配置することができる。3Dビュー132は、例えば、何れか所望の視点からの点群110の透視投影図又は正射投影図を表示することができる。視点は、ユーザによって制御可能とすることができるので、ユーザは、3D環境内でパン、回転、及びズームして、あらゆる所望の角度から、あらゆる所望のスケールで点群の異なる部分を見ることができる。2Dビュー131は、例えば、点群110全体の2Dパノラマ投影図を含むことができる。1又は2以上の実施形態では、ユーザは、点群の異なる部分に注目するために、2Dビュー131内でパン及びズームすることができる。
【0022】
1又は2以上の実施形態では、点群110は色情報を含まないとすることができる。一部の適用例では、例えば、スキャンされたシーンに基づいて色付きの3Dバーチャルリアリティ環境を生成するために、点群に色情報を付加することが望ましい場合がある。例えば、シーンのカラー写真を点群の上に重ねて、色を与えることができる。しかしながら、カラー写真を用いてカラー化のベースラインを提供するとしても、多くの状況で色の手動調整が望ましい場合がある。例えば、複数の写真を用いてシーンを色付けした場合、写真ごとに照明及び色のバランスが異なる可能性があるため、これらの写真を混ぜ合わせて一貫した色付きの3D環境にするには、手動の色調整が必要になることがある。また、アーティストは、選択した対象物を強調するなどの特定の効果を達成するために、シーン内の特定対象物の色を変えたいと望む場合がある。
【0023】
図2は、
図1に示した例を続けて、3D点群内で選択された点のカラー化を示す。ディスプレイ(複数可)124に示されるユーザインタフェースは、例えば、ユーザが点群の2Dビュー上に色を描写できるようにする1又は2以上のカラーツール201を含むことができる。例えば、カラーセレクタ、ペイントブラシ、シェイプパレット、及びフリーハンドの描画ツールを含むがこれらに限定されない、何れかのタイプのカラーツールを使用することができる。図示の実施形態では、ユーザは、カラーツール201を使用して、2Dビュー131上の領域204を描画し色付けする。ユーザは、描画する領域のタイプを選択し、その領域に対して色203を選択する。説明を容易にするために、ツール201には領域の形状及び色に関して少数の選択肢だけが示されているが、1又は2以上の実施形態では、多くのタイプの領域が選択可能であるとすることができ、色選択ツールは、例えばアルファチャネルを備えた色を含めて、あらゆる所望の色をユーザが選択できるようにすることができる。
【0024】
ユーザは画面上で領域204を描き、それを色203で塗りつぶす。1又は2以上の実施形態では、ユーザは、例えば勾配、ぼかし、又はテクスチャを含めて、複数の色で領域を塗りつぶすことができる。2Dビュー131は、特に投影図の極で歪んでいる可能性があるので、2Dビューにおける領域204の外観は、3D点群にマップバックした時に領域の3D形状を反映しない場合がある。それゆえ、1又は2以上の実施形態では、3Dビュー132は、3Dにおける色変更のプレビューを提供することができる。1又は2以上の実施形態では、3Dビュー132の色に対する更新は、リアルタイム又はほぼリアルタイムとすることができるので、ユーザは、3D点群上の色変更の効果に関する即時又はほぼ即時のフィードバックを得ることができる。結果として、3Dビュー132内の点205は、領域204内部の投影された点に対応するので、色203で示される。1又は2以上の実施形態では、ユーザは、3Dウィンドウ132の視点をパン、回転、ズーム、又は別の方法で変更可能であるとすることができる。例えば、ユーザは、前壁にズームインしてこの視点からのビュー206を見る、或いは天井にズームインしてこの視点からのビュー207を見ることができる。
【0025】
図3は、1又は2以上の実施形態において、2Dビューウィンドウがどのように生成されるかについての詳細を提供する。
図3に示す方法は例示であり、1又は2以上の実施形態は、何れか所望の投影又は方法を用いて点群の2Dビューを生成することができる。3D点群110の点は、まず、球体311上に投影することができる。球体の中心は、例えば、シーンの3D点群を取り込むために使用されるLIDAR又は他のスキャナの中心と一致することができ、或いは、ユーザがシーンを見たいと望む注目点を表すとすることができる。例えば、点群内の3D点302を球体311上の点312に投影することができ、3D点303を球体311上の点313に投影することができる。第2のステップとして、球体311を平坦な2D空間321上に展開することができる。何れかのタイプの投影を用いて、球体311から平坦な空間321にマッピングすることができる。例えば、限定することなく、パノラマ正距円筒図法を使用することができ、これは、各点の経度及び緯度を2Dのデカルト座標にマッピングする。この投影法により、球体上の点312を2D空間321の点322にマッピングすることができ、球体上の点313を2D空間321の点323にマッピングすることができる。3D点を球体311上に投影するステップと、球体311を2D空間321に投影するステップとの組み合わせにより、3D基準系305における3D(「xyz」)座標と、2D基準系325における2D(「uv」)座標との間に対応関係が確立される。例えば、3D座標304の点303は、2D座標324の点323に対応する。この対応関係を逆にして、2D空間321の点を3D点群110の点に関係付けるようにすることができる。
【0026】
一部のシナリオでは、点群、又は注目する点群の一部は、360度の方位角又は180度の仰角の全体を覆わない可能性がある。1又は2以上の実施形態では、点群の広がりが限定される場合でも、点群が2Dビューウィンドウ全体を埋めるように、点群の2Dビューを修正して2Dビューをリスケーリングすることができる。このシナリオは
図3Aに示され、球体311の中心にいる観察者の地点からは、点群110aは、331の水平方向範囲と332の垂直方向範囲に及ぶだけである。2Dビュー321aにマッピングされた場合、点群110aは区域333を占める。可能な限り詳細な点群の2Dビューを提供するために、1又は2以上の実施形態では、2D投影図をスケーリング操作334で変換して、2Dビュー321bを取得することができる。スケーリングは、例えば、水平方向範囲331を2Dビューウィンドウ321bの幅と一致させ、垂直方向範囲332を2Dビューウィンドウ321bの垂直方向高さと一致させるために使用することができる。この変換されたビューでは、点群110aは、全180度の仰角と全360度の方位角とを有する領域335を占める。垂直軸及び水平軸のスケーリング係数は、水平方向広がり角331及び垂直方向広がり角332に応じて異なることができ、結果として、領域335は、元の投影区域333に比べて歪んでいる場合がある。
【0027】
3Dから2Dへの投影と軸の可能なリスケーリングとによって導入された歪みと共に、元の点群における離散的なサンプリングは、点群の2Dビューがラスタ化された時にアーティファクトを発生させる可能性がある。この状況を
図3Bに示す。点群110aは、
図3Aに関して説明したように、2Dビュー321b上に投影され、区域335を占めるようにリスケーリングされる。次にこのビュー321bは、2D画像にラスタ化される。グリッド342は、ラスタ化された画像の領域341内の個々の画素を示す。グリッド342内の点は、3D点群110aに由来する点の投影位置である。画素343など、グリッド342内の一部の画素は、投影された点を含まないので、ラスタ化画像セグメント344における黒画素などのアーティファクトが現れる可能性がある。例えば、グリッド342内の画素343は、画像セグメント344内の画素345として現れる。これらのアーティファクトは、360×180画像全体に適合するように2D画像をリスケーリングした場合に、より広く認められるとすることができ、それは、一部の画素が3D点群からの何れの投影点にも対応しない可能性が高くなるからである。
【0028】
1又は2以上の実施形態では、画像344内の画素345などのアーティファクトは、対応する投影点のない画素を識別し、それらの画素の値を隣接画素に対応した値に設定することによって低減することができる。1又は2以上の実施形態で使用できる一技法は、フィルタを画像と畳み込むことである。
図3Bに示す説明例では、画像344は、アーティファクト画素を取り囲む画素を平均化するフィルタ347を用いて、操作346で畳み込まれる。この操作348により、アーティファクトのない画像348が得られる。この平均化フィルタ347は例示的なものであり、1又は2以上の実施形態では、アーティファクトを含む画素を識別し、それらを除去又は低減するために、何れかのタイプのフィルタ又は他の操作を適用することができる。
【0029】
ここで、2Dビューに加えられた色変更から得られるカラー3Dビューの生成に目を向けると、
図4Aは、3D点群をカラー化するために本技術分野で使用できる典型的な方法を示している。3D点群の一部の特定ビュー420が生成され、ユーザはこのビューの特定領域422に色を付与する。この色変更の3D効果を観察するために、プロセス411を実行して、3D点群110の上に色を「焼き付ける」。この焼付けプロセスは、色変更によって影響を受ける3D点の全てを識別し、更新421などの一連の更新を適用して、影響を受ける点の色属性を変更する、或いは別の方法で点群内の点と色を関係付ける。点群は、潜在的に数百万又は数十億の点を含む、大きいものである場合があるので、これらの更新421には非常に時間が掛かる可能性がある。色を点群に焼き付けるプロセス全体には、例えば15分以上掛かる場合がある。例示的なプロセスでは、各点ごとにジオメトリ及び色情報を備えたデータ構造430として点群を表現する。影響を受ける点にアクセスし、その色属性を更新するには、大きな点群の場合、ギガバイト単位のデータを扱うことが必要となる可能性がある。焼付けプロセス411の後、更新された点群はプロセス412でレンダリングされて、3Dビュー423を生成する。次にユーザは、ステップ413でこのレンダリングを再吟味することができ、3Dにおける変更の効果を確かめてしまえば、必要に応じて色を補正することができる。このプロセスには非常に時間が掛かる可能性があるので、点群の色を正確に変更するために、数回の反復処理414が必要となる可能性がある。
【0030】
図4Bは、1又は2以上の実施形態で使用できる、3Dビューをレンダリングするための一般的な枠組みを示す。
図4Aに示したプロセスとは対照的に、この枠組みは、リアルタイム又はほぼリアルタイムでの3Dビューの生成を提供し、それによって、
図4Aの作業フローについて複数回の反復処理が排除又は低減される可能性がある。色データ401は、領域204など、2Dビュー131の色付き領域から取得される。この色データは、例えば、領域204の境界の記述とすることができ、境界は、頂点、エッジ、又はその両方を含むことができる。境界はまた、領域又は領域境界のパラメータ表示でもよい。代わりにそれは、領域に含まれる全ての画素又は点のリストでもよい。色データは、領域の色、又は領域内の異なる点又は区域と関係付けられた色を含むことができる。ジオメトリデータ402は、3D点群110から取得される。このデータは、例えば、各点の3次元座標でもよいし、点群から導出されたメッシュでもよい。ユーザは、3Dビューをレンダリングすべき視点403を選択する。データ401、402、及び403は、GPU122によって、或いは何れか他のプロセッサ(複数可)によって使用され、領域204に対応する3D点に色が付与された3Dビュー132をレンダリングすることができる。また、3Dビュー132のレンダリングは、CPU処理とGPU処理を組み合わせて実行することができる。
【0031】
図4Aに示すプロセスとは異なり、本発明の1又は2以上の実施形態で使用される
図4Bのプロセスは、点群データ430を更新せず、色は、3Dプレビュープロセスの一部として点群内に「焼付け」られない。その代わりに、領域204からの色データは、GPUによって(又は他のプロセッサによって)変換され、正しい位置、向き、及び形状に色が重ねられた点群を表示する。この技法により、色変更の3Dプレビューをほぼ即時に行うことができる。適用例によっては、編集後に更に最終的な色を点群内に焼き付けることもあるが、これは、編集及びプレビューの間は必要とされない。
【0032】
図5及び
図6は、1又は2以上の実施形態において3Dビュー132をレンダリングするために使用できる方法を示す。
図5は、点群110内の各3D点が、色付き領域204の中に入る2D投影を有するかどうかをテストする方法を示している。各3D点について、ステップ彩色で2D投影131における座標が取り出される又は生成される。例えば、1又は2以上の実施形態では、投影の2D(「uv」)座標は、各点の属性として点群と共に保存されるとすることができる。代わりに、2D座標を作り出すために必要とされる場合に投影を行うことができる。投影後、投影された各点に対してテスト501を行って、その点が色付け又は彩色された領域の内部にあるかどうかを判定することができる。領域204が例えば多角形である場合、点が多角形の内部にあるかどうかをテストする何れかのアルゴリズムを使用することができる。いくつかのそのようなアルゴリズムが本技術分野で公知であり、1又は2以上の実施形態で使用できる。例えば、多角形の内点テストには、点からの光線が多角形の境界を横切る回数を計数するアルゴリズムと、多角形表面(境界)が点の周りを回る数を計算するアルゴリズムとが含まれる。3D点と関係付けられた投影点が領域204の内部にある場合、ステップ502は、領域色を点に付与し、そうでない場合、ステップ503は、デフォルト色又は背景色、或いは点群に適用された背景画像の色を付与する。
【0033】
図5は、3D点群110内の2つの点511、512の色を決定するプロセスを示している。点511は、関係する投影点521を有し、点512は、関係する投影点522を有する。テスト501は、点521が領域204の内部にあり、点522が領域204の外部にあることを示し、従って、点511は3Dビュー132で青色に色付けされ、点512はデフォルト色に設定される。
【0034】
1又は2以上の実施形態では、
図5に示すステップの何れか又は全てをGPU上で実行することができる。各点のテストは互いに独立して行うことができるので、領域の内点テストは、容易に並列化される。1又は2以上の実施形態では、テストに対して付加的な最適化を行うことができる。例えば、領域204の周りでバウンディングボックスを算定することができ、簡単なテストで、投影点がバウンディングボックスの内部にあるかどうかを判定することができる;その場合、より完全な、領域の内点テストは、点がバウンディングボックスの内部にある場合にのみ行うことができる。1又は2以上の実施形態で使用できる別の最適化は、2D空間131をタイルに分割し、各タイルについて、それが領域204と交差するかどうかを判定することである。その場合、領域204と交差しないタイル内への投影を伴う3D点は、点が領域の内部にあるかどうかに関するより複雑なテストをせずに、ステップ503で色付けすることができる。
【0035】
図6は、1又は2以上の実施形態で使用できる、3Dビュー内の点を色付けするための別の方法を示す。領域204を三角形に分割することができ、三角形の頂点及び色は、テクスチャ画像をレンダリングするために、例えばGPUに送信することができる。例えば、領域204を分割して三角形601と602にすることができ、三角形データ603をGPUに送信することができる。データ603は、例えば、各三角形の頂点の座標と、各頂点の色とを含むことができる。この例では、全ての頂点は同じ色を有するが、
図7に関して後述するように、例えばブレンディング又はフェザリングの効果を達成するために、異なる頂点色を使用することができる。次にGPUは、2Dテクスチャ画像のレンダリング604と、色付き3Dビュー132のレンダリング605とを実行することができる。GPUは、三角形の頂点データによるレンダリングのために最適化されているので、これらのステップを非常に効率的に実行することができる。
【0036】
1又は2以上の実施形態では、領域色は、領域に亘って不均一にすることができる。この機能は、例えば、領域にソフトなエッジを提供するために用いることができて、1又は2以上のカラー写真又は他の手動の色変更など、2Dビューに付与された他の色と滑らかに混合するようにする。
図7は、領域204aの三角形602aに色勾配を設けた例を示す。三角形602aの2つの頂点701、702には青色が割り当てられ、3つ目の頂点703には白色が割り当てられている。GPUは、陰影付け操作704を行い、三角形内の各点の色を決定する。この陰影付けアルゴリズムは、例えば、各点の重心座標に基づくブレンディングを用いることができる。例えば、点705の重心座標を用いて、この点の色を計算することができる。このタイプの三角形陰影付けは、一般にGPUで実行されるので、非常に効率的に行うことができる。
【0037】
図8~12は、現実のシーンから取り込まれた3D点群に対する、本発明の実施形態の適用例を示す。
図8は、部屋を全方向にスキャンして取得された3D点群の一部801を示している。この点群は、各点に対して強度及び位置を有するが、色はない。上述したように、点群801は球体802にマッピングされ、次いでその球体は、パノラマ正距円筒図法を用いて2Dビュー803に投影される。
図9は、点群の領域を色付けするために使用される例示的なユーザインタフェースを示す。メインウィンドウ803aは、特定の壁に注目するためにユーザがズームインした2Dビューである。色付けツール901がユーザに提示されている。ユーザは、2Dビュー803aで領域902を選択し、それに色を割り当てる。3Dビューウィンドウ801aは、対応する領域903が同じ色を備えた点群を表示する。
【0038】
図10は、
図8の点群の2Dビューで領域を色付けする別の例を示す。この例では、3Dから2Dへのマッピングの歪みがより明らかであり、3Dプレビューの重要性が示されている。ユーザは、2Dビュー803bで領域1002を描き、色を割り当てる。3Dビュー801b内の対応領域1003は、著しく異なる形状を有し、領域1002内の直線が、3Dビューの領域1003内の直線に対応していない。
【0039】
図11は、領域に色を付与する別の例を示す。この例では、点群データの上に2Dカラー画像が付与されており、ユーザがこれらの色に調整を加える。看板1103は2Dカラー画像では黒であるが、ユーザは2Dビュー1101で看板の周りに領域境界を描き、色を青の色相に変更する。この色変更は、3Dビュー1102に反映される。
【0040】
図12は、領域にソフトなエッジを達成するための色混合の例を示す。ユーザは、2Dビュー803c内の領域1201を色で塗りつぶし、別の領域1202を色勾配で規定して、領域1202の右エッジに向かって1201の色を徐々に減衰させる。
【0041】
特定の実施形態及びその適用例を用いて、本明細書に開示する本発明を説明してきたが、当業者は、特許請求の範囲に記載される本発明の範囲から逸脱することなく、数多くの変更形態及び変形形態を作成することができよう。
【符号の説明】
【0042】
101 シーン
102 天井
103 前壁
104 左壁
105 LIDAR又は類似の3Dスキャナ
110 3D点群データ
120 コンピュータ
121 CPU
122 GPU
123 メモリ
124 ディスプレイ
131 2Dビュー
132 3Dビュー