(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-01-04
(45)【発行日】2023-01-13
(54)【発明の名称】トレーニングデータの生成方法、生成装置及びその画像のセマンティックセグメンテーション方法
(51)【国際特許分類】
G06T 1/00 20060101AFI20230105BHJP
G06T 19/00 20110101ALI20230105BHJP
G06T 7/11 20170101ALI20230105BHJP
【FI】
G06T1/00 200E
G06T19/00 A
G06T7/11
(21)【出願番号】P 2020524660
(86)(22)【出願日】2017-07-25
(86)【国際出願番号】 CN2017094312
(87)【国際公開番号】W WO2019019019
(87)【国際公開日】2019-01-31
【審査請求日】2020-01-21
(73)【特許権者】
【識別番号】521562245
【氏名又は名称】達闥機器人股▲分▼有限公司
【住所又は居所原語表記】Building 8, No. 207, Zhongqing Road, Minhang District, Shanghai 200245, China
(74)【代理人】
【識別番号】110001139
【氏名又は名称】SK弁理士法人
(74)【代理人】
【識別番号】100130328
【氏名又は名称】奥野 彰彦
(74)【代理人】
【識別番号】100130672
【氏名又は名称】伊藤 寛之
(72)【発明者】
【氏名】王▲カイ▼
(72)【発明者】
【氏名】廉士国
(72)【発明者】
【氏名】王洛威
【審査官】橘 高志
(56)【参考文献】
【文献】特開2016-006616(JP,A)
【文献】特開2017-037424(JP,A)
【文献】特開2013-097473(JP,A)
【文献】特開2011-065382(JP,A)
【文献】SceneNet RGB-D: 5M Photorealistic Images of Synthetic Indoor Trajectories with Ground Truth,arXiv.org,2016年12月15日,https://arxiv.org/abs/1612.05079
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00
G06T 19/00
G06T 7/11
(57)【特許請求の範囲】
【請求項1】
3次元立体シーンにおけるオブジェクトモデルに対応するクラスタグを設定するステップと、
前記3次元立体シーンのシーンパラメータを変更することによって、対応する複数のシーングラフを取得するステップと、
前記オブジェクトモデルをオブジェクトモデルのクラスタグに対応するモノクロ材質にレンダリングするステップと、
レンダリング後のオブジェクトモデルに基づいて各シーングラフに対応するセマンティックセグメンテーションマップを取得するステップと、
各シーングラフ及びシーングラフに対応するセマンティックセグメンテーションマップを1セットのトレーニングデータとして記憶するステップと、を含み、
前記3次元立体シーンの複数のシーングラフを取得する前記ステップは、
前記3次元立体シーンにおける照明状況を動的に調整することと、
仮想カメラによって異なる照明状況でのシーングラフを収集すること含み、
レンダリング後のオブジェクトモデルに基づいて各シーングラフに対応するセマンティックセグメンテーションマップを取得する前記ステップは、
前記3次元立体シーンの照明をオフにする時に、レンダリング後のオブジェクトモデルに基づいて各シーンに対応するセマンティックセグメンテーションマップを取得し、前記セマンティックセグメンテーションマップを1セットのトレーニングデータにおける一意のセマンティックセグメンテーションマップとすること、を含む
ことを特徴とするトレーニングデータの生成方法。
【請求項2】
前記3次元立体シーンのシーンパラメータを変更することによって、対応する複数のシーングラフを取得する前記ステップは、
仮想カメラの撮影軌跡を設定することと、
前記仮想カメラが前記撮影軌跡に沿って動作する時、異なる観察視野角に位置するシーングラフを収集することと、を含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記オブジェクトモデルをオブジェクトモデルのクラスタグに対応するモノクロ材質にレンダリングする前記ステップは、
オブジェクトモデルのシーングラフにおける奥行き順序を決定することと、
前記奥行き順序に従って、前記オブジェクトモデルをオブジェクトモデルの分類タグに対応するモノクロ材質に順次レンダリングすることと、を含むことを特徴とする請求項1に記載の方法。
【請求項4】
前記オブジェクトモデルをオブジェクトモデルのクラスタグに対応するモノクロ材質にレンダリングする前記ステップは、
透明なオブジェクトモデルが後のオブジェクトモデルに対して遮蔽効果を持っているか否かを判断することと、
前記透明なオブジェクトモデルが遮蔽効果を持っている場合、前記透明なオブジェクトモデルにタグを付けて分類し且つ対応するモノクロ材質にレンダリングすることと、
前記透明なオブジェクトモデルが遮蔽効果を持っていない場合、前記セマンティックセグメンテーションマップにおいて前記透明なオブジェクトモデルの透明な状態を維持し又は前記透明なオブジェクトモデルを削除することと、を含むことを特徴とする請求項1に記載の方法。
【請求項5】
3次元立体シーンにおけるオブジェクトモデルに対応するクラスタグを設定する分類モジュールと、
前記3次元立体シーンのシーンパラメータを変更することによって、対応する複数のシーングラフを取得するシーングラフ生成モジュールと、
前記オブジェクトモデルをオブジェクトモデルのクラスタグに対応するモノクロ材質にレンダリングするレンダリングモジュールと、
レンダリング後のオブジェクトモデルに基づいて各シーングラフに対応するセマンティックセグメンテーションマップを取得するセマンティックセグメンテーションマップ生成モジュールと、
各シーングラフ及びシーングラフに対応するセマンティックセグメンテーションマップを1セットのトレーニングデータとして記憶する記憶モジュールと、を含み、
前記シーングラフ生成モジュールは具体的に照明調整ユニット及び仮想カメラ制御ユニットを含み、
前記照明調整ユニットは前記3次元立体シーンにおける照明状況を動的に調整することに用いられ、
前記仮想カメラ制御ユニットは仮想カメラによって異なる照明状況でのシーングラフを収集することに用いられ、
前記レンダリングモジュールは具体的には、前記3次元立体シーンの照明をオフにする時に、各シーンに対応するセマンティックセグメンテーションマップを取得することに用いられ、前記セマンティックセグメンテーションマップを1セットのトレーニングデータにおける一意のセマンティックセグメンテーションマップとすることを特徴とするトレーニングデータの生成装置。
【請求項6】
前記シーングラフ生成モジュールは具体的には、
仮想カメラの撮影軌跡を設定し、前記仮想カメラが前記撮影軌跡に沿って動作する時、異なる観察視野角に位置するシーングラフを収集することに用いられることを特徴とする請求項5に記載の装置。
【請求項7】
前記レンダリングモジュールは具体的には、オブジェクトモデルのシーングラフにおける奥行き順序を決定し、
前記奥行き順序に従って、前記オブジェクトモデルをオブジェクトモデルの分類タグに対応するモノクロ材質に順次レンダリングすることに用いられることを特徴とする請求項5に記載の装置。
【請求項8】
前記オブジェクトモデルが透明なオブジェクトである場合、前記レンダリングモジュールは具体的には、
前記透明なオブジェクトモデルが後のオブジェクトモデルに対して遮蔽効果を持っているか否かを判断し、
前記透明なオブジェクトモデルが遮蔽効果を持っている場合、前記透明なオブジェクトモデルにタグを付けて分類し且つ対応するモノクロ材質にレンダリングし、
前記透明なオブジェクトモデルが遮蔽効果を持っていない場合、前記セマンティックセグメンテーションマップにおいて前記透明なオブジェクトモデルの透明な状態を維持し又は前記透明なオブジェクトモデルを削除することに用いられることを特徴とする請求項5に記載の装置。
【請求項9】
請求項1~4のいずれか一項に記載のトレーニングデータの生成方法によって生成されるシーングラフ及び対応するセマンティックセグメンテーションマップをトレーニングデータとして利用することを特徴とする画像のセマンティックセグメンテーション方法。
【請求項10】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサと通信接続されるメモリと、を含み、
ただし、前記メモリに前記少なくとも1つのプロセッサによって実行可能なコマンドプログラムが記憶されており、前記コマンドプログラムは、前記少なくとも1つのプロセッサに請求項1~4のいずれか一項に記載の方法を実行させるように、前記少なくとも1つのプロセッサによって実行される、
ことを特徴とする電子機器。
【請求項11】
不揮発性コンピュータ可読記憶媒体に埋め込まれるコンピュータプログラムコマンドを含み、前記コンピュータプログラムコマンドは、
コンピュータに請求項1~4のいずれか一項に記載の方法を実行させるためのコマンドを含むことを特徴とする
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本願は画像処理の技術分野に関し、特にトレーニングデータの生成方法、生成装置及びその画像のセマンティックセグメンテーション方法に関する。
【背景技術】
【0002】
マシンラーニング(特にディープラーニング)については、そのアルゴリズムの実行は大量のサンプルデータに基づく必要がある。サンプルデータの正確さと豊富さは、マシンラーニングにとって非常に重要である。
【0003】
たとえば、ディープラーニングに基づく実際のシーンのセマンティックセグメンテーションには、トレーニングされたニューラルネットワークモデルがより良いセマンティックセグメンテーション結果を取得できるように、多数のトレーニングデータセットを用いてニューラルネットワークモデルをトレーニングする必要がある。
【0004】
上記のトレーニングデータセットは、屋内外のシーンのピクチャと、正確なセマンティックセグメンテーションを行うことによって得られたピクチャと、を含む。ただし、モデルのトレーニング効果を確保するために、一方では、前記屋内外のシーンのピクチャには、できるだけ多くのシーン、及び異なる時間、照明、天気などの条件での各シーンのピクチャを含める必要がある。他方では、対応するセマンティックセグメンテーションマップは、オブジェクトクラスに従って正確にセグメント化する必要がある。
【0005】
前記屋内外のシーンのピクチャに対応するセマンティックセグメンテーションマップを生成するには、まず、オブジェクトクラスに応じてシーンのピクチャにおけるオブジェクトを正確にセグメント化する必要がある。次に、ピクチャにおける各クラスのオブジェクトのエリアにタグを付けて、対応するセマンティックセグメンテーションマップを形成する。
【0006】
先行技術を研究するプロセスでは、既存のトレーニングデータセットにおいて、シーンのピクチャの収集、及びセマンティックセグメンテーションマップのタグ付けは、通常、多くの時間と労力を必要とする完全手動の人工方式を採用し、また、特定の屋内外シーンに対して、収集できるシーンのピクチャが比較的に限られており、セマンティックセグメンテーションマップのセグメンテーション精度も確保にくいことを、出願人が見つけた。
【発明の概要】
【発明が解決しようとする課題】
【0007】
本願の少なくとも1つの実施例は、従来技術において、完全手動の方式によるトレーニングデータセットの作成にかかる時間と労力が多く、サンプルデータが十分に豊富で正確ではないという問題を主に解決する。
【課題を解決するための手段】
【0008】
上記の技術的問題を解決するために、本願の実施例の1つの技術的解決手段にて、トレーニングデータの生成方法が提供される。前記トレーニングデータの生成方法は、3次元立体シーンにおけるオブジェクトモデルに対応するクラスタグを設定するステップと、前記3次元立体シーンのシーンパラメータを変更することによって、対応する複数のシーングラフを取得するステップと、前記オブジェクトモデルをオブジェクトモデルのクラスタグに対応するモノクロ材質にレンダリングするステップと、レンダリング後のオブジェクトモデルに基づいて各シーングラフに対応するセマンティックセグメンテーションマップを取得するステップと、各シーングラフ及びシーングラフに対応するセマンティックセグメンテーションマップを1セットのトレーニングデータとして記憶するステップと、を含む。
【0009】
上記の技術的問題を解決するために、本願の実施例の他の技術的解決手段にて、トレーニングデータの生成装置が提供される。前記トレーニングデータの生成装置は、3次元立体シーンにおけるオブジェクトモデルに対応するクラスタグを設定する分類モジュールと、前記3次元立体シーンのシーンパラメータを変更することによって、対応する複数のシーングラフを取得するシーングラフ生成モジュールと、前記オブジェクトモデルをオブジェクトモデルのクラスタグに対応するモノクロ材質にレンダリングするレンダリングモジュールと、レンダリング後のオブジェクトモデルに基づいて各シーングラフに対応するセマンティックセグメンテーションマップを取得するセマンティックセグメンテーションマップ生成モジュールと、各シーングラフ及びシーングラフに対応するセマンティックセグメンテーションマップを1セットのトレーニングデータとして記憶する記憶モジュールと、を含む。
【0010】
上記の技術的問題を解決するために、本願の実施例の他の技術的解決手段にて、画像のセマンティックセグメンテーション方法が提供される。前記画像のセマンティックセグメンテーション方法は、上記のトレーニングデータの生成方法によって生成されるシーングラフ及び対応するセマンティックセグメンテーションマップをトレーニングデータとして使用する。
【0011】
上記の技術的問題を解決するために、本願の実施例の他の技術的解決手段にて、電子機器が提供される。前記電子機器は、少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサと通信接続されるメモリと、を含む。ただし、前記メモリに前記少なくとも1つのプロセッサによって実行可能なコマンドプログラムが記憶されており、前記コマンドプログラムは、前記少なくとも1つのプロセッサに上記の方法を実行させるように、前記少なくとも1つのプロセッサによって実行される。
【0012】
上記の技術的問題を解決するために、本願の実施例の他の技術的解決手段にて、コンピュータプログラム製品が提供される。前記コンピュータプログラム製品は、不揮発性コンピュータ可読記憶媒体及び前記不揮発性コンピュータ可読記憶媒体に埋め込まれるコンピュータプログラムコマンドを含み、前記コンピュータプログラムコマンドは、プロセッサに上記の方法を実行させるためのコマンドを含む。
【発明の効果】
【0013】
本願の実施例にて提供されるトレーニングデータの生成方法及び生成装置は、3次元立体モデルのシーンに基づくトレーニングデータの作成が、3次元モデリングソフトウェアによって自動的に完成し、各パラメータを容易に調整することができる。そのため、使用要件を満たす、異なる時間を反映する大量のシーングラフ及びセマンティックセグメンテーションマップを急速に生成することができ、時間及び労力を大幅に節約する。また、3次元立体モデルを単位としてレンダリングすることで、セマンティックセグメンテーションマップのセグメンテーション精度が高くなる。
【図面の簡単な説明】
【0014】
1つ又は複数の実施例は、それに対応する図面によって例示的に説明する。これらの例示的な説明は実施例を限定するものではない。図面中の同じ参照番号を有する要素は類似の要素として示されており、図面中の図は、特記しない限り、縮尺が限定されない。
【
図1】本願の実施例にて提供される画像のセマンティックセグメンテーションの結果の概略図である。
【
図2】本願の実施例にて提供されるトレーニングデータの生成方法のフローチャートである。
【
図3】本願の実施例にて提供されるシーングラフの取得方法のフローチャートである。
【
図4】本願の他の実施例にて提供されるセマンティックセグメンテーションマップの取得方法のフローチャートである。
【
図5】本願の実施例にて提供されるトレーニングデータの生成方法をUnity3Dエンジンで実行する実行フローの概略図である。
【
図6】本願の実施例にて提供されるレーニングデータ生成方法を3D Maxで実行する実行フローの概略図である。
【
図7】本願の実施例にて提供されるレーニングデータ生成装置の機能ブロック図である。
【
図8】本願の実施例にて提供されるシーングラフ生成モジュールの機能ブロック図である。
【
図9】本願の実施例にて提供される電子機器の概略構成図である。
【発明を実施するための形態】
【0015】
本願の目的、技術的解決手段及び利点をより分かりやすくするために、以下、図面及び実施例を参照しながら、本願についてさらに詳細に説明する。本明細書に記載された具体的な実施例は単なる本願を解釈するものであり、本願を限定するものではないと理解すべきである。
【0016】
画像のセマンティックセグメンテーションは、画像理解の基本技術であり、自動運転システム、ドローンアプリケーション、又はさまざまな種類のスマートウェアラブルデバイスに非常に重要な役割を果たす。画像のセマンティックセグメンテーションは、実際には、画像で表現された意味に応じて画像内のピクセルをグループ化/分割し、それにタグを付けるプロセスである。たとえば、
図1に示すように、画像のセマンティックセグメンテーションの後、「人」とタグ付けされたセマンティックエリア10と「オートバイ」とタグ付けされたセマンティックエリア20が形成される。
【0017】
実際の画像では、特定のセマンティックを表す同一のオブジェクトは、通常、複数の異なる部分で構成され、各部分の色、テクスチャ、又は明るさが異なる。したがって、複雑なシーンの場合、ピクセルポイントの低次視覚情報に基づく従来のセマンティックセグメンテーションの方法は悪い効果がある。
【0018】
複雑なシーンやタスクを満たすために、ディープラーニングに基づいてフレームワークとする方式により画像のセマンティックセグメンテーションを行ってもよい。ディープラーニングに基づく画像のセマンティックセグメンテーションは、従来のセグメンテーション方法と比較して、非常に顕著なセグメンテーション効果があるが、ディープラーニングにはアルゴリズムのトレーニングとラーニングのプロセスが必要である。
【0019】
ディープラーニングアルゴリズムのトレーニング、ラーニングのプロセスにおいて、トレーニングデータに対する要件は非常に高く、トレーニング後のセマンティックセグメンテーションアルゴリズムに非常に高いセマンティックセグメンテーション精度を有させるためには、大量の画像データと非常に正確な画像データタグ付け情報(ピクセルレベルのタグ付け情報でも)が必要である。
【0020】
コンピュータグラフィックスレンダリングテクノロジーの急速な発展に伴い、既存の仮想3Dシーンのレンダリング効果はますますリアルになり、仮想3Dシーンから派生した固定フレームピクチャはますますリアルで素晴らしいものになっている。これにより、仮想3Dシーンに基づいて必要なトレーニングデータを容易に生成でき、高精度のトレーニングデータの取得コストを効果的に削減し、トレーニングデータを迅速且つ効率的に取得することができる。
【0021】
図2は本発明の実施例にて提供される、既存の仮想3Dシーンに基づいて達成されたトレーニングデータの生成方法のフローチャートである。
【0022】
図2に示すように、前記方法はステップ201~205を含む。
【0023】
201において、3次元立体シーンにおけるオブジェクトモデルに対応するクラスタグを設定する。
【0024】
前記3次元立体シーンとは、任意の適切なタイプの3Dモデリングソフトウェアによって構築された3次元立体シーンである。当該3次元立体シーンは、複数のオブジェクトモデルで構成される。たとえば、テーブル、天井、壁、ランプなどのオブジェクトモデルで構成されるリビングルームの3次元立体シーンである。
【0025】
各クラスタグは、実際の3次元立体シーンに応じて具体的に設定できるオブジェクトモデルのタイプを表す。たとえば、オブジェクトモデルのインデックスに従って、デコレーション、家具、壁などの分類タグを3次元立体シーンにおけるオブジェクトモデルに設定できる。
【0026】
分類タグを設定するステップは、オブジェクトモデルのコンテンツ又は意味に対する注釈プロセスであることを理解できる。3Dモデリングソフトウェアでは、3次元立体シーンの構築ユニット又は構築の基盤がオブジェクトモデルであるため、当該タグ付けのプロセスは非常に正確且つ実現しやすい。
【0027】
202において、前記3次元立体シーンのシーンパラメータを変更することによって、対応する複数のシーングラフを取得する。
【0028】
前記シーンパラメータは、照明、観察角度又は観察視野角など、3次元モデルの外観表現に影響するいくつかの影響因子である。つまり、前記シーングラフとは、さまざまな影響因子の下で取得された3次元立体シーンの平面ピクチャをいう。たとえば、異なる観察角度、視野角、又は異なる場合に得られる3次元立体シーンの平面ピクチャである。たとえば、3次元立体シーンの正面図、側面図又は斜視図などである。同一の3次元立体シーンに対して、複数の異なるシーングラフを取得することができる。これらのシーングラフは、異なる角度又は側面から当該3次元立体シーンを反映し、異なる環境での3次元立体シーンの表示状況を表示することができる。
【0029】
具体的な取得方法は、3次元立体シーンが依存する3Dモデリングソフトウェアに基づいて決定される。通常、3Dモデリングソフトウェアは、仮想カメラを提供してシーングラフの取得を完了できる。
【0030】
203において、前記オブジェクトモデルをオブジェクトモデルのクラスタグに対応するモノクロ材質にレンダリングする。本実施例では、前記モノクロ材質は1つの色のみを有する材質であり、前記「レンダリング」とはオブジェクトモデルに対応する色を充填し、たとえば、テーブルを純青色にレンダリングし、ランプを黄色にレンダリングすることなどである。
【0031】
クラスタグに基づいて、オブジェクトモデルを異なるモノクロ材質にレンダリングすると、オブジェクトモデルを3次元立体モデルにおいて対応する色で表現することができ、異なる色は異なるグループ又はセマンティックエリアに属することを示す(即ち
図1に示される画像のセマンティックセグメンテーション結果を形成する)。前記モノクロ材質は具体的には任意の適切な単一の色又はパターン構造であってもよく、たとえば簡単な青色、赤色又は黄色等である。モノクロ材質とは、オブジェクトモデルの表面の色又はパターンである。当然、モノクロ材質にレンダリングした後、オブジェクトモデルは依然として元の外形輪郭を保持する。
【0032】
具体的には、レンダリングプロセスでは、最終的に取得するセマンティックセグメンテーションマップは通常の視覚習慣に合致することを確保するように、シーングラフ内の各オブジェクトモデル間の相互の遮蔽状況を考慮する必要がある。したがって、まずオブジェクトモデルのシーングラフ内での奥行き順序を決定する必要がある。その後、前記奥行き順序に従って、前記オブジェクトモデルをオブジェクトモデルの分類タグに対応するモノクロ材質に順次レンダリングする。
【0033】
このようにして、オブジェクトモデル間で正しい遮蔽順序が維持され、後にあるオブジェクトモデルが前のオブジェクトモデルを遮蔽してしまい、トレーニングデータにエラーが発生することはない。
【0034】
204において、レンダリング後のオブジェクトモデルに基づいて各シーングラフに対応するセマンティックセグメンテーションマップを取得する。
【0035】
上記のように、画像のセマンティックセグメンテーションのアルゴリズムのトレーニングプロセスにおいて、シーングラフ以外に、シーングラフの各部分が正確にタグ付けされたピクチャも必要である。ここで、「セマンティックセグメンテーションマップ」という用語を用いて、シーングラフのピクセルポイントにタグを正確に付けて得られたピクチャを表す。上記のレンダリングプロセスは、3Dモデリングソフトウェアにおいて行われる。したがって、理論上、最終的に取得するセマンティックセグメンテーションマップのタグ付け精度はピクセルレベルを達することができる。
【0036】
205において、各シーングラフ及びシーングラフに対応するセマンティックセグメンテーションマップを1セットのトレーニングデータとして記憶する。
【0037】
画像のセマンティックセグメンテーションアルゴリズムのトレーニングについて、入力データ(即ちシーングラフ)及び対応するセマンティックセグメンテーション出力結果(即ちセマンティックセグメンテーションマップ)を提供すべきである。これによって、本実施例では、対応するシーングラフとセマンティックセグメンテーションマップを1セットのトレーニングデータとして、ディープラーニングアルゴリズムに提供してトレーニングを行うことができる。
【0038】
上記のトレーニングデータの生成方法によって、大量のトレーニングデータのピクチャセットを迅速且つ効率的に生成できる。さらに、これらのトレーニングデータのピクチャセットは非常に高いタグ付け精度を持っている。
【0039】
なお、上記の3次元立体シーンに基づいて、実際のニーズに従って複数のセットのトレーニングデータを迅速に生成できる。各セットのトレーニングデータについて、1つのセマンティックセグメンテーションマップは、複数の異なるシーングラフに対応することもあり、たとえば、異なる照明状態でのシーングラフは同一のセマンティックセグメンテーションマップに対応する。
【0040】
いくつかの実施例では、
図3に示すように、具体的にはステップ301とステップ302によって異なる照明状態でのシーングラフを取得することができる。
【0041】
301において、前記3次元立体シーンにおける照明状況を動的に調整する。
【0042】
3Dモデリングソフトウェアにおいて、3次元立体シーンに照明を調整し、それに対応する影又は輝度を有させることは非常に一般的な機能である。
【0043】
3次元立体シーンのグローバル照明を調整することによって、3次元立体モデルが異なる時間又は天候等の異なる実際の状況における実際のシーンを模擬することができる。当然のことながら、いくつかの可能な状況で、3次元立体モデルの局所的な照明を調整して、シーンにおける特定のライト効果を模擬することができ、たとえばリビングに対応する3次元立体シーンにおける、吊りランプを起動する時のシーングラフが挙げられる。
【0044】
302において、仮想カメラによって異なる照明状況でのシーングラフを収集する。
【0045】
前記仮想カメラは3Dモデリングソフトウェアにおける3次元立体モデルの平面ピクチャを収集するための機能モジュールである。それは異なる角度、焦点距離又は画角で、カメラで撮影する方式によって3次元立体モデルを撮影することができる。
【0046】
3次元立体シーンの照明状況の変化に伴い、仮想カメラを用いて複数の異なる角度で3次元立体シーンを撮影し、複数の異なる状況を含むシーングラフを取得することができる。明らかに、シーングラフの数及び含まれる具体的な状況が多いほど、トレーニングデータのデータ品質が高くなり、ディープラーニングアルゴリズムに対するトレーニング効果が向上する。
【0047】
本実施例において、照明を変更する以外に、オブジェクトモデルの表面テクスチャ変化又は仮想カメラの移動経路及び角度変化等を組み合わせ、複数の異なるシーングラフを取得し、3次元立体モデルの異なる状況を示すことができる。
【0048】
具体的には、3Dモデリングソフトウェアにおいて仮想カメラの撮影軌跡を設定することによってカメラの移動経路及び角度変化のいくつかのシーングラフを反映することができる。仮想カメラが前記撮影軌跡に沿って動作する時、異なる観察視野角に位置するシーングラフを収集する。
【0049】
上記の方法の実施例において開示したとおり、異なる照明状況又はテクスチャ変化のシーングラフを可能な限り取得する必要があることと異なるのは、1セットのトレーニングデータにおいて、1つの明確なセマンティックセグメンテーションマップだけを有すべきである。即ちセマンティックセグメンテーション後の理想的な結果は一意に決定されるべきである。そのため、いくつかの実施例において、前記セマンティックセグメンテーションマップの取得方法は、
前記3次元立体シーンの照明をオフにする時に、レンダリング後のオブジェクトモデルに基づいて各シーンに対応するセマンティックセグメンテーションマップを取得するステップを含むべきである。
【0050】
上記のように、セマンティックセグメンテーションマップの一意性を確保するために、3Dモデリングソフトウェアにおいて3次元立体シーンの照明をオフにする必要があり、それにより、オブジェクトモデルの表面が照明の影響を受け、異なるテクスチャ又は輝度が現れ、セマンティックセグメンテーションマップの精度を低下させることを回避する。
【0051】
3次元立体シーンの照明をオフにした場合、同じ角度及び位置でシーングラフに対応するセマンティックセグメンテーションマップを取得する。前記対応するセマンティックセグメンテーションマップは具体的には仮想カメラが同じ角度と位置で取得した3次元立体シーンのセマンティックセグメンテーションマップとシーングラフである。セマンティックセグメンテーションマップはオブジェクトモデルをモノクロでレンダリングし、照明をオフにした後に取得される。
【0052】
いくつかの場合で、前記3次元立体モデルはさらに属性が透明である透明なオブジェクトモデルを含む可能性があり、たとえばガラス窓又はガラスドアが挙げられる。それに応じて、レンダリングプロセスにおいて、正確なセマンティックセグメンテーションマップを提供するように、実際の状況に応じてこれらの透明なオブジェクトモデルに対して異なる処理を行う必要がある。
【0053】
図4に示すように、前記透明なオブジェクトモデルに対してモノクロレンダリングを行う場合、前記方法は、ステップ401~403を含む。
【0054】
401において、透明なオブジェクトモデルが後のオブジェクトモデルに対して遮蔽効果を持っているか否かを判断する。そうであれば、ステップ402を実行し、そうでなければ、ステップ403を実行する。
【0055】
402において、前記透明なオブジェクトモデルが遮蔽効果を持っている場合、前記透明なオブジェクトモデルにタグを付けて分類し且つ対応するモノクロ材質にレンダリングする。
【0056】
遮蔽効果を持っている場合、通常の視覚状態では、後のオブジェクトモデルが透明なオブジェクトモデルに遮蔽される。そのため、対応するモノクロレンダリングを行い、対応する輪郭を有するセマンティックセグメンテーションマップを形成する必要がある。
【0057】
403において、前記透明なオブジェクトモデルが遮蔽効果を持っていない場合、前記セマンティックセグメンテーションマップにおいて前記透明なオブジェクトモデルの透明な状態を維持し又は前記透明なオブジェクトモデルを削除する。
【0058】
透明なオブジェクトが遮蔽効果を持っていない場合、セマンティックセグメンテーションマップにおいて意味を有するエリアとしてタグ付けされないことを示す。そのため、セマンティックセグメンテーションマップにおいて当該透明なオブジェクトモデルを直接削除し又は透明なオブジェクトモデルを透明状態に維持することにより、後のオブジェクトモデルの透視関係に影響を及ぼすことを回避することができる。
【0059】
本願の実施例にて提供されるトレーニングデータの生成方法は従来の任意の適切な3Dモデリングソフトウェアで実行することができ、たとえばUnity3Dエンジン、3DMax、OpenGL、DirectX又はUnrealなどが挙げられる。3次元立体シーンによって十分な数のトレーニングデータを取得した後、本願の実施例は画像のセマンティックセグメンテーション方法をさらに提供する。前記画像のセマンティックセグメンテーション方法において、上記の方法の実施例に開示されたトレーニングデータの生成方法によって得られたトレーニングデータを用いてディープラーニングモデルのトレーニングを行い、従来の画像のセマンティックセグメンテーション方法のサンプルデータの取得コストが高いという問題を効果的に解決する。
【0060】
図5は本願の実施例にて提供されるトレーニングデータの生成方法をUnity3Dエンジンで実行する実行フローの概略図である。
図5に示すように、当該実行フローは、
元の3次元立体シーンにおいて、3次元立体シーンにおけるオブジェクトに異なるTagタグを付けるという方式によってオブジェクトに対する分類及びタグ付けを完了し、Tagタグを付けると、各tag内の全てのオブジェクトをスクリプト内で取得することができるステップ501と、
3次元立体シーンに1つの一人称視点のコントローラ(First person controller)を追加するステップ502と、
元の材質モードで3次元立体シーンを実行するステップ503と、
カメラの移動軌跡を手動で制御し、カメラの移動情報(位置座標と回転角度を含む)を位置ファイルに書き込むステップ504と、
3次元立体シーンの局所的な照明状況を動的に調整するステップ505と、
複数の固定フレームの画像をシーングラフとして切り出すステップ506と、
ステップ501で設定されたTagタグに基づいて、オブジェクトのtag分類を決定するステップ507と、
3Dシーンの照明をオフにして、モノクロ材質にレンダリングするステップ508と、
ステップ504での位置ファイルを読み取り且つモノクロ材質モードで動作する時の固定フレーム画像をセマンティックセグメンテーションマップとして切り出し、このようにして、2回の実行で同じ時間に切り出す画像が完全に同じであることを保証でき、セマンティックセグメンテーションマップとシーングラフの対応性を確保し、また、このような動作時にカメラの動きを制御する方式は、カメラ経路の設定にとってはより便利で迅速であるステップ509と、
前記セマンティックセグメンテーションマップ及び対応するシーングラフを、トレーニングデータとしてセマンティックセグメンテーションのディープラーニングアルゴリズムのトレーニングプロセスに用いられる比較グラフセットとして記憶するステップ510と、を含む。
【0061】
当然のことながら、より多くのセットのトレーニングデータを取得するために、ステップ509の後に、さらに3次元立体シーンに対して調整を行うことができ、照明パラメータの変更及び元の材質の置き換えの後に、シーングラフ及びセマンティックセグメンテーションマップを改めて取得することを含む。
【0062】
図6は本願の実施例にて提供されるレーニングデータ生成方法を3D Maxで実行する実行フローの概略図である。
図6に示すように、当該実行フローは、
元の3次元立体シーンでは、オブジェクトを分類し、各オブジェクトに対応するobjectID番号を付加するステップ601と、
仮想カメラの経路を設定するステップ602と、
レンダリング設定、ピクチャ保存経路、レンダリング範囲を設定し、レンダリング要素にVRayObjectIDを付加するステップ603と、
レンダリングし且つIDチャネルでレンダリングした後のセマンティックセグメンテーションマップ及び元の材質のシーングラフをそれぞれステップ603で設定された保存経路が指すファイルに出力するステップ604と、を含む。
【0063】
3DMaxは元の材質と照明下の画像とIDチャネルのレンダリング後の画像を同時に保存することができる。そのため、ステップ604において出力されたのは相互に対応するセマンティックセグメンテーションマップ及びシーングラフである。これらの出力結果は比較グラフセットとして記憶され、トレーニングデータとして、セマンティックセグメンテーションのディープラーニングアルゴリズムのトレーニングプロセスに用いられる。
【0064】
本実施例において、より多くのシーングラフを取得するために、さらにステップ604の後に、3次元立体シーンの照明パラメータ及びマテリアルプロパティを補正してもよい。
【0065】
本願の実施例は上記の方法の実施例に対応するトレーニングデータの生成装置をさらに提供する。
図7に示すように、当該トレーニングデータの生成装置は、分類モジュール701、シーングラフ生成モジュール702、レンダリングモジュール703、セマンティックセグメンテーションマップ生成モジュール704及び記憶モジュール705を含む。
【0066】
ただし、前記分類モジュール701は3次元立体シーンにおけるオブジェクトモデルに対応するクラスタグを設定することに用いられる。シーングラフ生成モジュール702は前記3次元立体シーンのシーンパラメータを変更することによって、対応する複数のシーングラフを取得することに用いられる。レンダリングモジュール703は前記オブジェクトモデルをオブジェクトモデルのクラスタグに対応するモノクロ材質にレンダリングすることに用いられる。セマンティックセグメンテーションマップ生成モジュール704はレンダリング後のオブジェクトモデルに基づいて各シーングラフに対応するセマンティックセグメンテーションマップを取得することに用いられる。前記記憶モジュール705は各シーングラフ及びシーングラフに対応するセマンティックセグメンテーションマップを1セットのトレーニングデータとして記憶することに用いられる。
【0067】
上記のトレーニングデータの生成装置によって、3次元立体シーンに基づいて大量のシーングラフ及びこれらのシーングラフに対応する、正確にタグ付けされたセマンティックセグメンテーションマップを生成することができ、それによってトレーニングデータの生成コストを効果的に低減させ、時間と労力を大幅に節約し、後続のディープラーニングアルゴリズムの画像のセマンティックセグメンテーションに対するセグメンテーション精度を保証する。
【0068】
いくつかの実施例において、画像の収集は3Dモデリングソフトウェアの仮想カメラ又は類似の機能モジュールに基づいて実現されてもよい。
図8に示すように、前記シーングラフ生成モジュール702は具体的に照明調整ユニット7021及び仮想カメラ制御ユニット7022を含む。
【0069】
ただし、前記照明調整ユニット7021は前記3次元立体シーンにおける照明状況を動的に調整することに用いられる。前記仮想カメラ制御ユニット7022は仮想カメラによって異なる照明状況でのシーングラフを収集することに用いられる。
【0070】
具体的に言えば、前記仮想カメラ制御ユニット7022は、前記仮想カメラの撮影軌跡を設定し、前記仮想カメラが前記撮影軌跡に沿って動作する時、異なる観察視野角に位置するシーングラフを収集することに用いられる。
【0071】
他のいくつかの実施例では、前記レンダリングモジュール703は具体的には、前記3次元立体シーンの照明をオフにする時に、各シーンに対応するセマンティックセグメンテーションマップを取得することに用いられる。
【0072】
具体的には、セマンティックセグメンテーションマップが正しい輪郭と遮蔽順序を有することを保証するために、前記レンダリングモジュール703は具体的には、オブジェクトモデルのシーングラフにおける奥行き順序を決定し、その後、前記奥行き順序に従って、前記オブジェクトモデルをオブジェクトモデルの分類タグに対応するモノクロ材質に順次レンダリングすることに用いられる。
【0073】
ある特定の場合で、3次元立体シーンに透明なオブジェクトモデルが存在する。前記透明なオブジェクトモデルについて、前記レンダリングユニットは具体的には、前記透明なオブジェクトモデルが後のオブジェクトモデルに対して遮蔽効果を持っているか否かを判断し、前記透明なオブジェクトモデルが遮蔽効果を持っている場合、前記透明なオブジェクトモデルにタグを付けて分類し且つ対応するモノクロ材質にレンダリングし、前記透明なオブジェクトモデルが遮蔽効果を持っていない場合、前記セマンティックセグメンテーションマップにおいて前記透明なオブジェクトモデルの透明な状態を維持し又は前記透明なオブジェクトモデルを削除することに用いられる。
【0074】
なお、上記の実施形態にて提供されるトレーニングデータの生成方法及びトレーニングデータの生成装置はいずれも同じ発明概念に基づくものである。したがって、トレーニングデータの生成方法における各具体的な実施例のステップはいずれも対応する機能モジュールによって実行することができ、機能モジュールにおける具体的な機能は前記トレーニングデータの生成方法において対応する方法のステップを有し、ここでは説明を省略する。
【0075】
図9は本願の実施例にて提供される電子機器のハードウェアの概略構成図である。
図9に示すように、当該機器90は、1つ以上のプロセッサ91及びメモリ92を含み、
図9では1つのプロセッサを例として示す。
【0076】
ただし、プロセッサ91、メモリ92はバス及び他の方法によって接続され、
図9ではバスによる接続を例として示す。
【0077】
メモリ92は不揮発性のコンピュータ可読記憶媒体として、たとえば、本願の実施例におけるトレーニングデータの生成方法に対応するプログラムコマンド/モジュール(たとえば、
図7に示される分類モジュール701、シーングラフ生成モジュール702、レンダリングモジュール703、セマンティックセグメンテーションマップ生成モジュール704及び記憶モジュール705)のような、不揮発性のソフトウェアプログラム、不揮発性のコンピュータ実行可能なプログラム及びモジュールを記憶することに用いられる。プロセッサ91は、メモリ92に記憶される不揮発性のソフトウェアプログラム、コマンド及びモジュールを動作させることによって、トレーニングデータの生成装置の各機能アプリケーション及びデータ処理を実行し、即ち上記の方法の実施例のトレーニングデータの生成方法を実現する。
【0078】
メモリ92はプログラム記憶エリア及びデータ記憶エリアを含み、そのうち、プログラム記憶エリアはオペレーティングシステム、少なくとも1つの機能に必要なアプリケーションプログラムを記憶することができ、データ記憶エリアは、トレーニングデータの生成装置の利用に基づいて作成されるデータ等を記憶することができる。また、メモリ92は、高速ランダムアクセスメモリを含んでもよいし、不揮発性メモリも含んでもよく、たとえば、少なくとも1つのディスク記憶装置、フラッシュメモリ、又はその他の不揮発性の個体記憶装置が挙げられる。いくつかの実施例において、メモリ92はプロセッサ91に対してリモートに配置されたメモリを含むことが好ましく、これらのリモートメモリはネットワークを介してトレーニングデータの生成装置に接続される。上記のネットワークの実例は、インターネット、会社のイントラネット、ローカルエリアネットワーク、移動体通信ネットワーク、及びそれらの組み合わせを含むが、それらに限られない。
【0079】
前記1つ以上のモジュールはメモリ92に記憶され、前記1つ以上のプロセッサ91によって実行されると、上記のいずれかの方法の実施例におけるトレーニングデータの生成方法を実行する。
【0080】
上記の製品は本願の実施例にて提供される方法を実行することができ、実行方法に対応する機能モジュール及び有益な効果を有する。本実施例において詳細に説明されない技術詳細は、本願の実施例にて提供される方法を参照することができる。
【0081】
本願の実施例にて提供されるコンピュータプログラム製品は、不揮発性コンピュータ可読記憶媒体に記憶されるコンピュータプログラムを含み、前記コンピュータプログラムはプログラムコマンドを含み、前記プログラムコマンドがコンピュータに実行されると、前記コンピュータに上記の任意の方法の実施例におけるトレーニングデータの生成方法を実行させ、たとえば、上記の
図2における方法のステップ201-204を実行し、
図7における対応する機能モジュールの機能を実現する。
【0082】
上記の装置の実施例は単なる例示的であり、分離した部材として説明された前記ユニットは物理的に分離しているものであってもよいし、そうでなくてもよく、ユニットとして表示されたユニットは物理的ユニットであってもよいし、そうでなくてもよく、即ち、1つの場所に位置してもよく、複数のネットワークユニットに分散してもよい。本実施例の解決手段の目的を達成するために、実際のニーズに基づいて、そのうち一部又はすべてのモジュールを選択してもよい。
【0083】
上記の実施形態の説明を通して、当業者は、各実施形態がソフトウェアに共通のハードウェアプラットフォームを加える方式によって実現でき、もちろんハードウェアによっても実現できることを明確に理解すべきである。当業者であれば、上記の実施例の方法におけるフローの全部又は一部は、コンピュータプログラムによって関連するハードウェアを命令することで実現でき、前記プログラムはコンピュータ可読記憶媒体に記憶することができ、当該プログラムは実行時に、上記の方法の実施例のフローを含んでもよいことが理解されるべきである。ただし、前記記憶媒体は、磁気ディスク、コンパクトディスク、読み取り専用メモリ(Read-Only Memory、ROM)、又はランダムアクセスメモリ(Random Access Memory、RAM)であってもよい。
【0084】
最後に、上記の実施例は、本願の技術的解決手段を説明することに用いられるものに過ぎず、それを限定するものではなく、本願の趣旨において、上記の実施例又は異なる実施例における技術的特徴は組み合わせてもよく、ステップは任意の順序に従って実現してもよく、且つ上記のように本願の異なる態様の他の多くの変形形態があるが、簡潔にするために、それらは詳細に記載されていない。上記の実施例を参照して本願について詳細に説明したが、当業者であれば、上記の実施例に記載の技術的解決手段を補正するか、又は技術的特徴の一部に対して等価置換を行ってもよく、これらの補正又は置換は、それ相応な技術的解決手段を本願の各実施例の技術的解決手段の範囲から逸脱させないことが理解されるべきである。