(57)【要約】【課題】深度マップからの実オブジェクトの３Ｄ再構築を改善する。【解決手段】本発明はとりわけ、実オブジェクトのクラスに対し、インスタンスの深度マップからそのクラスのインスタンスを表す３Ｄモデル化オブジェクトを再構築するように構成された関数を学習するためのコンピュータ実装方法に関する。その方法は、クラスのパラメータモデルを提供する（Ｓ１０）こと、データベースを創出すること、およびデータベースを用いて関数を学習する（Ｓ３０）ことを備える。【選択図】図１
2018109976.tif 000002
【特許請求の範囲】
【請求項１】
深度センサタイプのノイズを入力深度マップに付加するように構成された関数を決定するためのコンピュータによって実施される方法であって、
−学習データセットを形成する（Ｓ２０−Ｓ６０）ステップであって、前記学習データセットは、各々がそれぞれのノイズ有り深度マップに関連付けられた複数のノイズ無し深度マップを含み、各ノイズ無し深度マップおよびそれぞれのノイズ有り深度マップが１または複数のシーンの複数の深度センサポジショニングのうちの同じポジショニングに対応し、前記形成は、
●  前記深度センサタイプの物理的インスタンスを用いて各ノイズ有り深度マップを取得する（Ｓ４０）ステップと、
●  各ノイズ無し深度マップを仮想的に算出する（Ｓ６０４）ステップ
を含む、形成するステップと、
−前記学習データセットに基づいて前記関数を学習する（Ｓ７０）ステップとを備えることを特徴とするコンピュータによって実施される方法。
【請求項２】
各ノイズ無し深度マップを仮想的に算出する（Ｓ６０４）ステップは、前記対応する深度センサポジショニングと前記対応するシーンの所定のモデルとに基づくことを特徴とする請求項１に記載の方法。
【請求項３】
前記形成は、前記それぞれのノイズ有り深度マップから前記対応する深度センサポジショニングを決定する（Ｓ６０２）ステップをさらに含むことを特徴とする請求項１または２に記載の方法。
【請求項４】
前記それぞれのノイズ有り深度マップから前記対応する深度センサポジショニングを決定する（Ｓ６０２）ステップは、前記それぞれのノイズ有り深度マップにおいてキャリブレーションオブジェクトおよび／またはキャリブレーションパターンを特定することを含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記複数の深度センサポジショニングは、各々が同じ領域からのそれぞれの深度に対応する１または複数のサブ複数の深度センサポジショニングを含むことを特徴とする請求項１から４のいずれかに記載の方法。
【請求項６】
各々が同じ領域からのそれぞれの深度に対応する各サブ複数の深度センサポジショニングは、１０深度センサポジショニングより多く含み、好適には５０深度センサポジショニングより多く含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記複数のノイズ有り深度マップは、１または複数のビデオを形成することを特徴とする請求項５または６に記載の方法。
【請求項８】
前記関数の学習は、回帰学習によって実行されることを特徴とする請求項１から７のいずれかに記載の方法。
【請求項９】
前記関数の学習は、畳み込み層および／または逆畳み込み層を備えるネットワークの空間内で実行されることを特徴とする請求項１から７のいずれかに記載の方法。
【請求項１０】
前記畳み込み層および／または逆畳み込み層は、サイズのそれぞれが１０×１０より下位のフィルタ、好適には５×５より下位のフィルタ、好適には３×３に等しいフィルタを実装することを特徴とする請求項９に記載の方法。
【請求項１１】
請求項１から１０のいずれかに従う学習可能な関数。
【請求項１２】
シーンの深度センサポジショニングと前記シーンの所定のモデルとに基づく深度マップを生成するためのコンピュータによって実施される方法であって、
−前記シーンの前記深度センサポジショニングと前記所定のモデルとに基づいてノイズ無し深度マップを仮想的に算出する（Ｓ１００）ステップと、
−前記算出されたノイズ無し深度マップに、請求項１から１０までのうちいずれかに従う学習可能な関数を適用する（Ｓ２００）ステップを備えることを特徴とするコンピュータによって実施される方法。
【請求項１３】
請求項１から１０のいずれかおよび／または請求項１２に記載の方法を実行する命令を備えることを特徴とするコンピュータプログラム。
【請求項１４】
請求項１１に記載の関数および／または請求項１３に記載の前記コンピュータプログラムが格納されているメモリを備えることを特徴とする製品。
【請求項１５】
前記メモリに結合されたプロセッサをさらに備えることを特徴とする請求項１４に記載の製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータプログラムおよびシステムの分野に関し、より詳細には、深度センサタイプのノイズに関連する方法、プログラムおよび製品に関する。
【背景技術】
【０００２】
オブジェクトの設計、エンジニアリングおよび製造のための多数のシステムおよびプログラムが市場に出されている。ＣＡＤは、コンピュータ支援設計(Computer-Aided Design)の頭字語であり、例えば、それは、オブジェクトを設計するためのソフトウェアソリューションに関連する。ＣＡＥは、コンピュータ支援エンジニアリング(Computer-Aided Engineering)の頭字語であり、例えば、それは、将来の製品の物理的振る舞いをシミュレートするためのソフトウェアソリューションに関連する。ＣＡＭは、コンピュータ支援製造(Computer-Aided Manufacturing)の頭字語であり、例えば、それは、製造のプロセスおよびオペレーションを定義するためのソフトウェアソリューションに関連する。このようなコンピュータ支援設計システムにおいて、グラフィカルユーザインタフェースは、技術の効率性に関して重要な役割を果たす。これらの技術は、製品ライフサイクル管理（ＰＬＭ）システム内に組み込まれ得る。ＰＬＭは、企業が、拡張企業の概念に沿って製品データを共有し、共通のプロセスを適用し、および構想から製品寿命の終わりに至る製品開発のための企業知識を活用するのに役立つビジネス戦略を指す。ダッソーシステムズによって提供されるＰＬＭソリューション（ＣＡＴＩＡ、ＥＮＯＶＩＡおよびＤＥＬＭＩＡの商標に基づく）は、製品エンジニアリング知識を構造化するエンジニアリングハブ、製造エンジニアリング知識を管理する製造ハブ、およびエンジニアリングハブと製造ハブとの両方への企業統合および企業接続を可能にする企業ハブ(Enterprise Hub)を提供する。全体的に、システムは、製品、プロセス、資源をリンクして動的で知識ベースの製品創出を可能にするオープンオブジェクトモデル、および最適化された製品定義、製造準備、生産およびサービスを推進する意思決定サポートを遂行する。
【０００３】
このフレームワークにおいて、深度センサは現在、３Ｄ再構成、拡張現実、ヒューマンコンピュータインタフェースおよびビデオゲームなど、多くのアプリケーションに関与している。深度センサは、深度情報を実時間および高フレームレートで提供する。主な既存の深度センサ技術は、タイムオブフライト（ＴｏＦ）深度センサとストラクチャードライト（ＳＬ）深度センサを含む。
【０００４】
タイムオブフライト深度センサは、光信号がカメラと被写体の間に要する飛行時間を測定する。これは、その時点の被写体の深度を提供する。これらのセンサは、変調された赤外光の放出に基づき、光はその後、シーンのオブジェクトに反射される。その信号の位相シフトψが決定され、従って深度は
【０００５】
【数１】
2018109976.tif 000003
【０００６】
で計算され、ここにｃは、光の速度であり、ωは、変調周波数である。
【０００７】
構造化された光深度センサは、ステレオペアを形成する、１つのカメラと１つのレーザベースのＩＲプロジェクタを有する。ＩＲプロジェクタは、固定されたグリッド光パターンを被写体に送出し、被写体は、赤外線カメラでキャプチャされた、このグリッドの歪んだバージョンを与える。深度は、正確なグリッドに対して歪んだグリッドを三角測量することによって算出される。新しい画像の場合、各ピクセルにおいて深度を算出することを求める。ＩＲ画像の各ピクセルの場合、小さい相関ウィンドウ（９×９または９×７）を使用して、そのピクセルのローカルパターンをそのピクセルの記憶されたパターンおよび水平ウィンドウの６４の近隣ピクセルと比較する。ベストマッチが周知の深度からのオフセットを得る。ピクセルの観点から、これを格差と呼ぶ。従って、深度は
【０００８】
【数２】
2018109976.tif 000004
【０００９】
で計算され、ここにＺは、深度（メートル）であり、ｂは、カメラとプロジェクタの間（メートル）の水平ベースラインであり、ｆは、カメラの焦点距離（ピクセル）であり、およびｄは、格差（ピクセル）である。
【００１０】
これらのセンサの低コストで使い易さが高い評価を得ているが、このようなセンサは、高レベルのノイズに悩まされる。一部の研究は、この問題を例えば、ノイズの多い深度測定に適用されるフィルタリング／ノイズ除去技術を用いて改善することに専念しているが、今のところノイズの無い深度センサは知られていない。
【００１１】
この文脈において、深度センサによって実行される測定のノイズに関して改善されたソリューションがなおも必要である。
【先行技術文献】
【非特許文献】
【００１２】
【非特許文献１】Ｍ．Ｇｓｃｈｗａｎｄｔｎｅｒ，Ｒ．Ｋ．（２０１１）．：ＢｌｅｎＳｏｒ：Ｂｌｅｎｄｅｒ  Ｓｅｎｓｏｒ  Ｓｉｍｕｌａｔｉｏｎ  Ｔｏｏｌｂｏｘ．Ａｄｖａｎｃｅｓ  ｉｎ  Ｖｉｓｕａｌ  Ｃｏｍｐｕｔｉｎｇ：７ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ．Ｌａｓ  Ｖｅｇａｓ，Ｎｅｖａｄａ，ＵＳＡ
【非特許文献２】Ｃｈｕｏｎｇ  Ｖ．Ｎｇｕｙｅｎ，Ｓ．Ｉ．（２０１２）．Ｍｏｄｅｌｉｎｇ  Ｋｉｎｅｃｔ  Ｓｅｎｓｏｒ  Ｎｏｉｓｅ  ｆｏｒ  Ｉｍｐｒｏｖｅｄ  ３Ｄ  Ｒｅｃｏｎｓｔｒｕｃｔｉｏｎ  ａｎｄ  Ｔｒａｃｋｉｎｇ．３ＤＩＭ／３ＤＰＶＴ
【非特許文献３】Ａｖｉｓｈｅｋ  Ｃｈａｔｔｅｒｊｅｅ，Ｖ．Ｍ．（２０１５）．Ｎｏｉｓｅ  ｉｎ  Ｓｔｒｕｃｔｕｒｅｄ−Ｌｉｇｈｔ  Ｓｔｅｒｅｏ  Ｄｅｐｔｈ  Ｃａｍｅｒａｓ：．ａｒＸｉｖ：１５０５．０１９３６．
【非特許文献４】Ａｍｉｒａ  Ｂｅｌｈｅｄｉ，Ａ．Ｂ．−Ｂ．（２０１２）．Ｎｏｉｓｅ  Ｍｏｄｅｌｌｉｎｇ  ａｎｄ  Ｕｎｃｅｒｔａｉｎｔｙ  Ｐｒｏｐａｇａｔｉｏｎ．ＥＣＣＶ．
【発明の概要】
【課題を解決するための手段】
【００１３】
そのため、深度センサタイプのノイズを入力深度マップに付加するように構成された関数を決定するためのコンピュータ実装方法が提供される。
【００１４】
本方法は、学習データセットを形成することを備える。学習データセットは、各々がそれぞれのノイズ有り深度マップに関連付けられた複数のノイズ無し深度マップを含む。各ノイズ無し深度マップとそれぞれのノイズ有り深度マップは、１または複数のシーンの複数の深度センサポジショニング（positionings）のうち同じポジショニングに対応する。その形成は、深度センサタイプの物理的インスタンスを用いて各ノイズ有り深度マップを取得することを含む。その形成はまた、各ノイズ無し深度マップを仮想的に算出することも含む。本方法はまた、学習データセットに基づいて関数を学習することも含む。
【００１５】
例において、本方法は、以下のうちの１または複数を備えることができる。
−各ノイズ無し深度マップを仮想的に算出することは、対応する深度センサポジショニングと対応するシーンの所定のモデルとに基づく。
−形成は、それぞれのノイズ有り深度マップから対応する深度センサポジショニングを決定することをさらに含む。
−形成は、それぞれのノイズ有り深度マップから対応する深度センサポジショニングを決定することをさらに含む。
−それぞれのノイズ有り深度マップから対応する深度センサポジショニングを決定することは、それぞれのノイズ有り深度マップにおいてキャリブレーションオブジェクトおよび／またはキャリブレーションパターンを特定することを含む。
−複数の深度センサポジショニングは、各々が同じシーン領域からのそれぞれの深度に対応する１または複数のサブ複数（sub-pluralities）の深度センサポジショニングを含む。
−各々が同じシーン領域からのそれぞれの深度に対応する各サブ複数の深度センサポジショニングは、１０個の深度センサポジショニングより多く含み、好適には５０個の深度センサポジショニングより多く含む。
−複数のノイズ有り深度マップは、１または複数のビデオを形成する。
−関数の学習は、回帰学習によって実行される。
−関数の学習は、畳み込み層および／または逆畳み込み層を備えるネットワーク空間内で実行される。および／または
−畳み込み層および／または逆畳み込み層は、サイズのそれぞれが１０×１０より下位のフィルタ、好適には５×５より下位のフィルタ、好適には３×３に等しいフィルタを実装する。
【００１６】
上記に提供された方法のいずれかに従って学習可能な関数がさらに提供される。関数は、上記の方法に従って学習され得る。関数は、データ構造として提供される。
【００１７】
データ構造は、データストレージ媒体に記録され得る。
【００１８】
シーンの深度センサポジショニングとそのシーンの所定のモデルとに基づいて深度マップを生成するためのコンピュータ実装方法がさらに提供される。方法は、深度センサポジショニングとそのシーンの所定のモデルとに基づいてノイズ無し深度マップを仮想的に算出することを備える。方法はまた、算出されたノイズ無し深度マップに上記に提供された関数を適用することも含む。
【００１９】
上記に提供された方法のいずれか１つまたは任意の組み合わせを実行する命令を備えるコンピュータプログラムがさらに提供される。
【００２０】
上記の関数および／または上記のコンピュータプログラムが格納されているメモリを備える製品がさらに提供される。
【００２１】
製品は、前記メモリで構成されてもよく、それによってデータストレージ媒体を形成することができる。
【００２２】
製品は代替として、メモリに結合されたプロセッサなど、他の要素を備えることができ、それによってコンピュータシステムを形成することができる。
【００２３】
例において、システムは、深度センサ、例えば、（例えば、ワイヤレス）ネットワーク経由で、深度センサに結合されているプロセッサをさらに備えることができる。
【図面の簡単な説明】
【００２４】
発明の実施形態は、限定されない例として、添付図面を参照してこれより説明される。
【図１】提供されるソリューションを示す図である。
【図２】提供されるソリューションを示す図である。
【図３】提供されるソリューションのパイプラインの例を示す図である。
【図４】学習データセットを形成する例を示す図である。
【図５】学習方法の例のフローチャートの図である。
【図６】ノイズ付加方法の例のフローチャートの図である。
【図７】回帰学習の例を示す図である。
【図８】システムの例を示す図である。
【発明を実施するための形態】
【００２５】
関数を決定するためのコンピュータ実装方法が提供され、その関数は、ノイズを入力深度マップに付加するように構成される。その方法は、「学習方法」または「オフライン」モードまたは方法と呼ぶこともできる。
【００２６】
学習方法に従って学習可能な関数、即ち、学習方法によって出力される関数に対応する（例えば、ストレージ媒体に記録可能な）データ構造がさらに提供される。例において、関数は、学習方法に従って効果的に学習する。その関数は、「ノイズ付加関数」と呼ぶことができる。
【００２７】
付加されるノイズは、深度センサタイプのノイズである。深度センサは、深度データを取得する（即ち、深度測定を実行する／キャプチャする）時に、それらが出力される深度マップが、正確な予測結果から（例えば、少なくともわずかに）外れるような、不完全性を示す。正確な予測結果と実取得との差は、「ノイズ」を呼ばれる。実深度マップは、「ノイズ無し」と定義される正確な深度マップとは対照的に「ノイズ有り」深度マップである。例えば、完全に明瞭な直線エッジを有するオブジェクトをキャプチャするノイズ無し深度マップは、明瞭な直線エッジに対応する完全な直線セグメントを特徴付けるのに対して、同じオブジェクトをキャプチャするノイズ有り深度マップは、同じ明瞭な直線エッジに対応する、概ね直線であるが完全には直線でない形状を特徴付けるであろう。
【００２８】
「深度センサタイプ」という表現は、同様のまたは少なくとも実質的に同じ構成の深度センサのカテゴリを指し、それらが同様のまたは少なくとも実質的に同じノイズを示せるようにする。例えば、所与のカテゴリの深度センサは、同じ確立分布ｆβに従うノイズを示し、ここにβは、関数のパラメータを指す。
【００２９】
深度センサタイプの物理的インスタンスは、そのようなカテゴリの範囲内に収まる任意の深度センサになり得る。カテゴリの深度センサは、同じ物理的パラメータおよびキャリブレーションパラメータを示して、同じブランドの同じモデルが、同じコンストラクタによって生産されている、および／または同じ製造オペレーションのインスタンスによって同じ生産ラインで生産されているようにできる。カテゴリのすべての物理的インスタンスに関して、カテゴリが制限されるほどますます、学習したノイズ付加関数が正確になる。
【００３０】
例において、学習方法は、所与の深度センサのノイズを入力深度マップに付加するように構成された関数を決定するための方法であり、その形成に含まれるノイズ有り深度マップの各取得は、前記所与の深度センサを用いて実行される。言い換えれば、深度センサタイプは、１つの所与の深度センサまでに削減されて、使用できる深度センサタイプの唯一の物理的インスタンスが、その所与の深度センサ自身になるようにする。そのような場合、ノイズ付加関数は特に、前記所与の深度センサに関して正確であり、それはまた、前記所与の深度センサと同様のまたは少なくとも実質的に同じ構成の深度センサに関して、それらの付加関数が同様のまたは少なくとも実質的に同じノイズを示すように、正確である。
【００３１】
例において、学習方法は、所定の複数の深度センサのいずれか１つのノイズを入力深度マップに付加するように構成された関数を決定するための方法であり、前記所定の複数は、任意の方法、例えば、ユーザによる事前選択で決定され、その形成に含まれるノイズ有り深度マップの各取得は、前記所定の複数の深度センサのうちの１つを用いて実行され、前記所定の複数の深度センサの各深度センサは、少なくとも１つのそのような取得に関与する。そのような場合、ノイズ付加関数は、前記所定の複数の深度センサに関する平均ノイズをシミュレートし、ノイズ付加関数は、前記所定の複数の深度センサに関してそれらが示すノイズが、互いに同様になる程度に正確である。
【００３２】
学習方法は、学習データセットを形成することを備える。それ自体が知られているように、学習データセットは、あるタイプのデータの値を別のタイプのデータの値に（例えば、１対１に）関連付けるデータセットである。学習データセットは、一方のタイプ（またはそれぞれの他方のタイプ）の任意の値を、他方のタイプ（またはそれぞれの一方のタイプ）の対応する値に変換する関数の（例えば、マシン）学習を実行するように構成され、学習した関数によって演算される一致は、初期の関連付けを重視する。初期の関連付けは、関連付けられたデータ間の実際の一致（即ち、物理的な関連付けに従った一致）に従ってもよく、学習データセットは、データの量および／または可変性（即ち、ダイバーシティ）の観点から学習した関数が正確に、例えば、「正確に」という語は、所定の値未満の誤り率を指す、そのような実際の一致を実質的に伝達するように構成されてもよい。
【００３３】
本事例において、学習方法によって形成される学習データセットは、特に複数のノイズ無し深度マップを含む。各ノイズ無し深度マップは、それぞれのノイズ有り深度マップに関連付けられる。例えば、学習データセットは、複数のノイズ無し深度マップを備えることができ、各ノイズ無し深度マップは、それぞれのノイズ有り深度マップをポイントする。
【００３４】
学習方法は、学習データセットに基づいて関数を学習することを備える。いずれの学習技術も実装され得る。例において、学習データセットは、訓練データセットとテストデータセットに分けられ、そしてテストフェーズが後に続く訓練フェーズによって形成されるシーケンスの発生は、テストフェーズが満たされる（例えば、テストフェーズが検証基準に合う）まで実行される。他の例において、学習データセットは、例えば、テストフェーズがないあるいはテストフェーズが他のデータで実行される、訓練データセットを構成する。
【００３５】
学習したノイズ付加関数は従って、学習データセットに従って、任意のノイズ無し深度マップを対応するノイズ有り深度マップに変換するように構成された関数である。言い換えれば、学習したノイズ付加関数を特に学習データセットの所与のノイズ無し深度マップに適用することにより、データセットの所与のノイズ無し深度マップに関連付けられたそれぞれのノイズ有り深度マップに少なくとも近い結果、例えば、所定の距離の閾値未満となる。
【００３６】
各ノイズ無し深度マップおよびそのそれぞれのノイズ有り深度マップは、複数の深度センサポジショニングの同じ深度センサポジショニングに対応する。複数の深度センサポジショニングは、１または複数のシーンのうちの１つに各々が配置された深度センサポジショニングから成る。言い換えれば、深度センサポジショニングは、シーンの深度センサの位置および方向から成る。「シーン」という語は、例えば、建物、街路および／または人々を特徴付ける建築または都市環境、または例えば、壁、ガラスなどのオブジェクト、および／または可動オブジェクトを特徴付ける建物内部環境（部屋など）のような、区別可能な要素を特徴付ける任意の環境を指す。
【００３７】
学習方法は特に、建物内部環境において効率がよく、そのためシーンが情報の良好なダイバーシティを提供する。１または複数のシーンは従って、１または複数の建物内部環境のシーンを含むことができる。建物内部環境のシーンのうちの１または複数は、（例えば、少なくとも２または５の）サイズの異なるオーダーのオブジェクト（例えば、２つのオブジェクト間のサイズの異なるオーダーは、あるオブジェクトが１番目のオブジェクトの体積の少なくとも５倍、１０倍または２０倍であるという意味である）および／または（例えば、少なくとも２または５の）異なる材料のオブジェクトおよび／または（例えば、少なくとも２または５の）異なる色のオブジェクトを含むことができる。
【００３８】
学習データセットの各ノイズ無し深度マップおよびそのそれぞれのノイズ有り深度マップが、同じ深度センサポジショニングに対応するので、両方の深度マップは、ノイズ有り深度マップがノイズを特徴付ける一方、ノイズ無し深度マップが正確な表現を提供することを除いては同じシーンの領域（それはまさに両方の深度センサに共通するポジショニングに使用できるキャプションに対応する領域である）の同じ深度表現を提供することになる。このように、学習データセットは、ノイズ付加関数の正確な学習を可能にさせる。
【００３９】
表現されるシーンは、（例えば、全学習データセットの）ノイズ無しノイズ有り深度マップとそのそれぞれのノイズ有り深度マップとの両方に対して全く同じにすることができる。「全く同じ」とは、全く同じ要素が両方の表現に提示されることを意味する。あるいは、わずかな差が提示される場合もあるが、学習に支障をきたすものではない。例えば、ノイズ有り深度マップで表現されるシーンに提示される一部の要素がノイズ無し深度マップで表現されるシーンに出ないようにすることができ、および／またはその逆も同じである。そのような場合、方法は、何らかの方法、例えば、シーンを両方の表現に共通する要素の最大セットにまで削減することによってそのような差を特定して処理することを備えることができる。これは、実装のわずかな問題に過ぎない。
【００４０】
形成は、深度センサタイプの物理的インスタンスを用いて各ノイズ有り深度マップを（物理的に）取得することを含む。深度センサタイプの同じ固有の物理的インスタンスを方法全体にわたって使用することができる。このような取得は特に、人間工学的にすることができる。選択肢として、いくつかのインスタンスを使用することができる。
【００４１】
例において、すべてのノイズ有り深度マップの取得は、実質的に連続にすることができる。例えば、ユーザは、−例えば、（深度カメラなどの）深度センサを含む任意のデバイスを通じて−深度センサを操作し、そして動き回る間に深度マップを実質的に連続的にキャプチャすることができ、場合によりプロセス中に数回中断が起こる。各キャプションをビデオキャプションにすることでき、即ち、ユーザがビデオキャプションコマンドを起動し、その後単純に動き回り、各深度マップが自動的に取得される。複数のノイズ有り深度マップは従って、１または複数の（一連の）ビデオ（複数）を形成することができる。このような取得は特に、人間工学的にすることができる。
【００４２】
そのために必ずしも必要ではないが、ビデオの取得は、いくつかの画像が各々、それぞれの深度で同じシーン領域から人間工学的に取得されるようにさせ、従って学習データセットに、各々が同じシーン領域からのそれぞれの深度に対応するサブ複数の深度センサポジショニングを含ませる。
【００４３】
シーン領域は、シーンの一部である。同じ領域の異なる深度（即ち、距離）に深度センサをポジショニングし、その深度センサが毎度その領域の方向に向けられることによって、異なる深度でそのシーンの同じ要素（それらはまさにその領域内部の要素である）のいくつかの画像を取得することができる。
【００４４】
これにより情報の冗長を可能にし、特に学習方法の文脈において役立つ。実際に、深度センサタイプのノイズは、そのような取得の繰り返しに関してランダムに振る舞う物理値であり、繰り返しによって学習データセットを形成できるようにし、次にノイズの学習が特に上手くできるようにさせる。
【００４５】
これは、ユーザが深度センサデバイスを手に持ち、デバイスをシーン領域の方向に向かせるおよび／または例えば、連続的で滑らかな方法で、デバイスをシーン領域に近づけるおよび／またはデバイスをシーン領域から遠ざけることによって容易に実装される。
【００４６】
同じシーン領域からの異なる深度における１０より多い、好適には５０より多い取得は、情報の良好な量を提供する。取得の数を最大値（例えば、１０，０００または１０００）未満に維持して取得時間を削減することもでき、例えば、１００の大きさのオーダーにすることができる。
【００４７】
例において、学習データセットの全セットの深度画像に対応する深度のセットは、深度センサタイプによって許可される深度の実質的に全領域に広がる値を含む。例えば、深度センサタイプが深度値ｄminとｄmaxとの間の（例えば、上記の所定の閾値の品質の）取得を許可すると、学習データセットは−自ら課した制約によって−、（ｄmax−ｄmin）／ｋより大きいサイズｄ2−ｄ1の領域［ｄ1，ｄ2］を特徴付けず、画像内部に対応する深度を有しない。ここにｋは４、８または１６に等しい。これによって学習データセットの情報の高いダイバーシティが可能にする。
【００４８】
さらに、２、３または５より大きいシーン領域の数Ｎは（例えば、Ｎ領域はすべて、１に等しいまたは２、３または５より大きいシーンの数で広がる）情報の最良の可変性を提供するように企図され得る。シーン領域の数を最大値（例えば、１００または５０）未満に維持することもでき、例えば、１０の大きさのオーダーにすることができる。
【００４９】
以下において、「シーン」と「シーン領域」の概念は、そのような概念の定義が、常にシーンをシーン領域と定義し得るので混同する恐れがある。
【００５０】
形成はまた、各ノイズ無し深度マップを仮想的に算出することをも含む。言い換えれば、各ノイズ無し深度マップは、数値データに基づいて、即ち、物理的取得を用いずに完全に決定される。各仮想算出は、対応する深度センサポジショニングに基づくことができる（即ち、ノイズ有り深度マップの取得の深度センサポジショニングが、学習データセットのノイズ無し深度マップに関連付けられるようにする）。例えば、各ノイズ有り深度マップの取得は、ノイズ無し深度マップの同じポジショニングに対する仮想算出を（例えば、実時間またはプログラム経由で後に実行するように）起動することができる。
【００５１】
例において、ノイズ無し深度マップの仮想算出は、対応するシーン（即ち、学習データセットのノイズ無し深度マップに関連付けられる、ノイズ有り深度マップの取得の深度センサポジショニングに対応するシーン）の所定のモデルに基づく。シーンのモデルは、そのシーンを表す任意のデータセットであり、そのデータセットから深度マップは例えば、シーンの３Ｄ形状の表現に計算され得る。このような計算は、任意の古典的手法で実行され得るが、ここでは論じない。シーンのモデルは、例えば、ユーザ（例えば、物理的インスタンスの深度センサを操作する同じユーザ）によるまたはライブラリから自動的に読み出される任意の方法で提供され得る。
【００５２】
ノイズ付加関数は、任意の入力深度マップに適用され得る。しかしながら、ノイズ付加関数の適用は、入力深度マップがノイズ無しである場合に最も関連する。
【００５３】
従って、ノイズ付加関数を入力ノイズ無し深度マップに適用することを備える深度マップを生成するためのコンピュータ実装方法がさらに提供される。このような方法を「ノイズ付加方法」または「オンライン」モードもしくは方法と呼ぶこともできる。
【００５４】
ノイズ付加方法は、ノイズ無し深度マップを仮想的に算出することを備える。その算出は、深度センサポジショニングとシーンの所定のモデルとに基づく。ノイズ付加方法は、ノイズ付加関数を算出されたノイズ無し深度マップに適用することをさらに備える。
【００５５】
ノイズ付加関数とノイズ付加方法はそれによって、ノイズ有り深度マップの生成が可能となり、そこでのノイズは、学習方法で使用される深度センサタイプに対応する。ノイズ付加方法は、ノイズ有り深度マップの仮想合成を実行する。ノイズ付加方法は、−例えば、完全にデジタルで、即ち、実測定を全く用いず−深度センサタイプの物理的インスタンスに実行される実測定によって出力されるであろう深度マップに比較的近い深度マップを出力する。所与の深度センサタイプに対応するノイズ付加関数と、所与のシーンの所定のモデルとに基づき、従ってノイズ付加方法は、前記所与のシーンの前記所与のタイプの深度センサの振る舞いをシミュレートする。
【００５６】
ノイズ付加方法によって入手可能な深度マップ、即ち、ノイズ付加方法によって出力される深度マップに対応するデータ構造がさらに提供される。深度マップはそれによってノイズが多くなり、「ノイズが付加された深度マップ」と呼ぶこともできる。
【００５７】
深度マップの１または複数の実世界の取得を自動車両運転プロセスなど、１または複数のシーンの所与のタイプの深度センサに関与させる、実世界プロセスをシミュレートするシミュレーションプロセスがさらに提供される。シミュレーションプロセスは、所与の深度センサタイプと、１または複数のシーンのそれぞれの所定のモデルとに基づくノイズ付加方法によって入手可能な１または複数のノイズが付加された深度マップを提供することを備え得る。
【００５８】
提供される方法、プログラム、データ構造、媒体およびシステムは、深度マップの仮想生成を、とりわけ、そのような文脈でマシン学習パラダイムを実装し、それによってその優位性を獲得することによって改善する。
【００５９】
椅子の例を示す図１について、提供される方法、プログラム、データ構造、媒体およびシステムは、仮想的に算出されたノイズ無し深度マップ１２からノイズ有り深度マップ１４の仮想生成を可能にさせる。
【００６０】
提供される方法、プログラム、データ構造、媒体およびシステムは、３Ｄ深度カメラシミュレーション(3D Depth Camera Simulation)の分野に関連し、カメラの取得ノイズをモデル化することによって実（深度）カメラの深度ストリームをシミュレートするのに適用され得る。このようなノイズは、平面のスキャン２２および同じ平面のノイズレベルにおけるズーム２４を示す、図２で示されている。カメラのノイズモデルが分かると、その振る舞いを合成深度データにエミュレートすることができる。
【００６１】
提供される方法、プログラム、データ構造、媒体およびシステムは、多くのアプリケーション、例えば、あらゆるマシン学習ベースのアプリケーションから、合成データから現実的な訓練データを例えば、自動運転シミュレータ(Autonomous Driving Simulators)で人工的に生成させる３Ｄセンサ訓練データオーグメンテーションまで有することができる。
【００６２】
ノイズセンサモデリングに関する既存の先行技術は、深度センサに関連する文献で見つけることができる。実際に、深度センサノイズのモデリングに関して、以下の例のようないくつかの研究がある。
【００６３】
−論文“Ｍ．Ｇｓｃｈｗａｎｄｔｎｅｒ，Ｒ．Ｋ．（２０１１）．：ＢｌｅｎＳｏｒ：Ｂｌｅｎｄｅｒ  Ｓｅｎｓｏｒ  Ｓｉｍｕｌａｔｉｏｎ  Ｔｏｏｌｂｏｘ．Ａｄｖａｎｃｅｓ  ｉｎ  Ｖｉｓｕａｌ  Ｃｏｍｐｕｔｉｎｇ：７ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ．Ｌａｓ  Ｖｅｇａｓ，Ｎｅｖａｄａ，ＵＳＡ”において深度取得技術ＴｏＦおよびＳＬをシミュレートするセンサシミュレーションフレームワークである、ブレンサ(Blensor)を提案している。センサの技術に応じて、ブレンサは、全取得パイプラインを各自シミュレートする。例えば、ＴｏＦセンサの場合、ブレンサは、信号のセットをレイキャストして、ランダムなガウスノイズを各自進んだ距離に均一に付加する。このような均一なノイズ分布が非常に単純化されたままであることに留意されたい。
【００６４】
−論文“Ｃｈｕｏｎｇ  Ｖ．Ｎｇｕｙｅｎ，Ｓ．Ｉ．（２０１２）．Ｍｏｄｅｌｉｎｇ  Ｋｉｎｅｃｔ  Ｓｅｎｓｏｒ  Ｎｏｉｓｅ  ｆｏｒ  Ｉｍｐｒｏｖｅｄ  ３Ｄ  Ｒｅｃｏｎｓｔｒｕｃｔｉｏｎ  ａｎｄ  Ｔｒａｃｋｉｎｇ．３ＤＩＭ／３ＤＰＶＴ”において深度測定の実験分析を使用して経験的に導かれたノイズモデルを提案している。論文では、ノイズを距離とセンサのポーズの両方の関数にモデル化する。実験構成(experimental setup)で、両方：各深度レベル（０．４から３．０メートルの範囲）と各々変化する回転角とで測定された１０００の異なる深度マップの回転面の深度測定から側方と軸方向のノイズ確率分布を測定する。著者は、側方のノイズが深度に対して大きく変化しないことを見つけた。対照的に、軸方向のノイズは、深度とともに明らかに増大し、特に深度測定の二次関数に従う。
【００６５】
−論文“Ａｖｉｓｈｅｋ  Ｃｈａｔｔｅｒｊｅｅ，Ｖ．Ｍ．（２０１５）．Ｎｏｉｓｅ  ｉｎ  Ｓｔｒｕｃｔｕｒｅｄ−Ｌｉｇｈｔ  Ｓｔｅｒｅｏ  Ｄｅｐｔｈ  Ｃａｍｅｒａｓ：，ａｒＸｉｖ：１５０５．０１９３６．”においてＳＬノイズ特性を研究して、ノイズを深度の二次関数として推定する理論モデルを手作業で定義する。著者は、この理論モデルを経験的深度測定によって認証する。
【００６６】
−論文“Ａｍｉｒａ  Ｂｅｌｈｅｄｉ，Ａ．Ｂ．−Ｂ．（２０１２）．Ｎｏｉｓｅ  Ｍｏｄｅｌｌｉｎｇ  ａｎｄ  Ｕｎｃｅｒｔａｉｎｔｙ  Ｐｒｏｐａｇａｔｉｏｎ．ＥＣＣＶ．”においてＴｏＦノイズ分布をガウス分布として特徴付け、その標準偏差がピクセルの位置および深度に従って変化することを示す。著者は、３Ｄ薄板スプラインをノイズの標準偏差モデルとして使用することを提案している。このノイズモデルは、深度ピクセルの変動測定の研究に基づき、各々深度レベル１００において深度マップが記録されている。それらの値に従って、著者は、ノイズの正規性について結論付けている。著者は、ノイズ分散をピクセルの位置および深度の関数にモデル化する。著者は、ノイズ分散が画像中央から離れて境界に増加して、画像中央で最高の精度が測定されると結論付けている。ノイズ分散は、３Ｄ薄板スプライン(3D Thin-Plate-Spline)平滑化関数によってモデル化される。
【００６７】
このような既存の深度センサモデリング方法は、以下が欠如している：
●  精度。モデル化が難しい物理的取得プロセスをモデル化しなければならない。ほとんどの場合、精密さに欠ける実験的測定に基づく非常に単純化した物理的取得モデルを使用する理由による。
●  一般性。深度センサの各新しいタイプとは別に、各深度センサの取得パイプラインをモデル化しなければならない理由による。
【００６８】
提供される方法、プログラム、データ構造、媒体およびシステムは、これら２つの制限を克服する。
【００６９】
第１に、提供される学習方法は、物理的ノイズモデルを数学的に特定する必要がないため、より正確である。マシンにマシン自身でモデルをデータから直接学習するようにさせることができる。既存のモデリング方法とは対照的に、提供される学習方法は、十分に構築された学習データセットに依存する。
【００７０】
第２に、提供される学習方法は、あらゆる深度センサに働く汎用パイプラインを提供する。提供される学習方法はそれによって、あらゆるセンサのノイズを数学的にモデル化することを不要にする。パイプラインは、同じであり、ノイズが学習することになる深度センサタイプに従って学習データセットの変更を自身で制限することができる。
【００７１】
さらに、既存のアルゴリズムと異なり、ノイズ付加方法は、実空間と合成空間との間のマッピングがすでに学習したオフラインであるので、より高速であり、実時間性能を獲得する。
【００７２】
提供される方法、プログラム、データ構造、媒体およびシステムは、任意の深度センサをシミュレートすることを学習する。信号伝搬および反射物理特性を使用して物理的深度取得パイプラインをモデル化する代わりに、例示的な手法は、このステップを避けて、合成深度マップの空間と実「ノイズ有り」深度マップの空間との間のシフトを直接学習する。
【００７３】
実深度マップと合成深度マップの学習データセットから開始して、例示的な方法は、深層学習技術を通じて２つのモダリティ間のマッピング関数を学習する。後に論じるように、従来のニューラルネットワーク（ＣＮＮ）技術が特にこの文脈において効果的である。
【００７４】
この処理は、オフラインで行われる。ひとたび合成空間と実空間とのマッピング関数が学習されると、それを直接オンライン方法で使用して合成深度データを実深度データにマップすることができる。このパイプラインは、図３に示されている。
【００７５】
学習方法は、例において２つの主なステップから成る。  
１．  学習データセット生成
２．  回帰学習
【００７６】
学習データセット生成(Learning Dataset Generation)の例をこれより論じる。
【００７７】
手法の第１のステップは、実深度マップと合成深度マップのセットを生成することである。深度センサ（例えば、シミュレートしたい実深度センサ）を使用して、Ｎ個の厳選されたシーン、即ち、３Ｄで分かる形状をｎ個の異なるビューポイントでスキャンすることができる。静止識別３Ｄキャリブレーションオブジェクト（例えば、３Ｄチェス盤）および／または２Ｄキャリブレーションパターンを入力して、シーンをスキャンしている間は常にカメラに可視にすることができる。これを使用してカメラの３Ｄポーズを各主要なビューポイントにおいて計算することができ、取得された深度マップにおいて前記キャリブレーション要素を特定することによって、対応するノイズ無し深度マップを合成するようにできる。カメラポーズの推定に、３Ｄキャリブレーションオブジェクトを使用する代わりに、周知の３Ｄシーンとそのシーンが十分テクスチャされる／識別されるかどうかスキャンされたシーンとの間の直接マッチングを使用する。これは、例えば、平面オブジェクトをマッチさせようとしても上手くいかない恐れがあることに留意されたい。３Ｄオブジェクトのシーンの代替手段は、異なる深度レベルにおいて、そのシーンの上にペーストされる２Ｄパターンの白い壁（例えば、チェス盤）をスキャンすることであろう。
【００７８】
図４は、データベース生成チャート(Database Generation Chart)の学習を例に沿って示している。
【００７９】
各ビューポイントのカメラポーズが分かると、学習方法は、この同じポーズを、同じ実カメラの内部パラメータを使用して仮想シーンのカメラに適用することができる。学習方法はその後、各ビューポイントにおいて合成深度マップを抽出することができる。実深度マップとそれらに対応する合成深度マップのセットは、学習データセットを構成する。
【００８０】
図５は、学習方法の例のフローチャートを示している。
【００８１】
ユーザはＳ１０において、コンピュータシステムのプロセッサに通信可能におよびワイヤレスに結合された深度センサを提供される。深度センサは、物理的にユーザに取り付けられ、例えば、彼の／彼女の手に持つまたは彼の頭に取り付けられる。あるいは、ロボットデバイスが方法を実行することができる。他の例において、深度センサの同じモデルのいくつかのインスタンスをＳ１０において例えば、数人のユーザに提供することができる。図５の方法のインスタンスは次に、例において並行して実行され得る。
【００８２】
ユーザはＳ２０において、学習方法を開始する関数を起動し、これにより学習データセットを初期化する。これは、１または複数のシーンに実装されるスキームＳ３０−Ｓ６０をトリガする。図５のフローチャートは、フィードバックＳ２５を示すが、学習方法はまた、単一のシーンにも実装され得る。
【００８３】
各シーンに対し、ユーザはＳ３０において、シーンを入力して、シーンモデルをコンピュータシステムに提供する。シーンモデルは代替として、Ｓ３０においてコンピュータシステムによって自動的に取得され得るか、またはＳ４０など、それ以降に、例えば、データベースからの読み出しを経て深度測定に基づいて取得され得る。
【００８４】
学習方法の例はその後、１または複数のシーン領域に実行されるスキームＳ４０−Ｓ５０を備える。図５のフローチャートは、フィードバックＳ３５を示すが、学習方法はまた、単一のシーン領域にも実装され得る。
【００８５】
各シーン領域に対し、ユーザは、シーン領域に近づいて、領域の深度ビデオを連続的に取得する（例えば、領域の方向に向かせて、領域に近づくおよび／または領域から後退する）。これは、同じシーン領域の異なる深度における取得Ｓ４０をオペレートする。ビデオ取得は、シーン領域間で停止または維持され得る。取得された深度マップフレームは、Ｓ５０において（例えば、自動的に）コンピュータシステムに送信される。
【００８６】
方法はその後、すべて受信されたノイズ有り深度マップに実行されるスキームＳ６０を備える。スキームＳ６０のインスタンスは、反復的に（即ち、連続して）および／または平行して実行され得る。
【００８７】
スキームＳ６０は、コンピュータシステムによって自動的に実行され得る。スキームＳ６０は、深度センサポジショニングの決定Ｓ６０２を備える。これは、それぞれの受信されたノイズ有り深度マップにおいて前述したようにキャリブレーションオブジェクトおよび／またはキャリブレーションパターンを特定することを通じて実行され得る。スキームＳ６０はその後、そのようなポジショニングと提供されたシーンモデルとに基づいて（このシーンモデルは再度、ユーザによってすでに提供された可能性があるまたはシステムによって自動的に読み出されるか、またはこのシーンモデルは、このポイントまたはＳ５０において送信および受信された深度マップに基づく任意のポイントにおいて読み出されることもある）、それぞれのノイズ有り深度マップに対応するノイズ無し深度マップを完全に仮想的に算出することＳ６０４ができる。スキームＳ６０は、Ｓ６０６において算出されたノイズ無し深度マップのそれぞれをそれに対応する取得されたノイズ有り深度マップに関連付けることによって学習データセットのフォーメーションを終了する。
【００８８】
最終的に、図５の方法は、任意の方法で、形成された学習データセットに基づいてＳ７０においてノイズ付加関数を学習する。
【００８９】
図６は、ノイズ付加方法の例のフローチャートを示している。
【００９０】
図６のノイズ付加方法は、深度センサポジショニングとシーンの所定のモデルとに基づいてノイズ無し深度マップを仮想的に算出することＳ１００を備える。これは、ユーザによってまたは深度データ取得をシミュレートするシミュレーションプロセス内でトリガされ得る。所定のモデルおよび前記モデル内の深度センサポジショニングは、任意の方法で提供され得る。方法はその後、算出されたノイズ無し深度マップに、すでに学習したおよび企図された深度センサタイプに対応するノイズ付加関数を適用することＳ２００を備える。
【００９１】
学習方法の関数学習ステップ（例えば、Ｓ７０）の例をこれより論じる。
【００９２】
ノイズ付加関数の学習は、回帰学習によって実行され得る。このようなよく知られた学習は、簡単に実行することができ、従って高速でロバストである。
【００９３】
ノイズ付加関数の学習はとりわけ、畳み込み層および／または逆畳み込み層を備える（例えば、ニューラル）ネットワーク空間内で実行され得る。言い換えれば、学習（例えば、Ｓ７０）は、信号−即ち、学習データセットのノイズ無し深度マップ−を符号化する畳み込み層のある数（例えば、３以上、例えば、３または４）（例えば、およびまたは後続する）符号化された信号を復号化する逆畳み込み層に対応する（例えば、同じ）数で作られたネットワークを探索するように構成される。符号化−復号化パイプラインは、深度ノイズを付加するように構成される。
【００９４】
それ自体が知られているように、学習は、探索を実行するパラメータを自由に変える。例において、層の数、層のシーケンス（例えば、畳み込み層の固定および所定の数、例えば、３または４、その後同じ数の逆畳み込み層）、および／または各層によって実装されるフィルタの数およびサイズ（例えば、層単位で９０フィルタおよび／またはそれぞれがサイズ３×３のフィルタ）はすべて、学習の固定パラメータになり得る。学習の（例えば、唯一の）自由なパラメータはその後、フィルタ内部の係数になり得る。
【００９５】
畳み込み層は、深度マップのノイズの学習に上手く適応する、局所的特徴の良好な抽出を可能にさせる。実際に、深度ノイズは、少なくともほとんどの場合、深度マップの局所摂動である。畳み込み層および／または逆畳み込み層は、例えば、サイズのそれぞれが１０×１０より下位のフィルタ、好適には５×５より下位のフィルタ、好適には３×３に等しいフィルタを実装することができる。これにより特に、特徴の抽出の良好な局所性が可能となり、従って正確で効率的な学習を可能にする。
【００９６】
このような回帰学習の例を、図７を参照してこれよりさらに論じる。
【００９７】
学習モデルは、エンドツーエンドの深層学習ベースのニューラルネットワークモデルにすることができる。このようなネットワークは、深度マップ画像を符号化する／復号化するこの特定のタスクに対して上手く設計されている。ネットワークは、合成深度マップからノイズ有り深度マップを作り出すように学習され得る。
【００９８】
ネットワークは、合成畳み込み層と逆畳み込み層のチェーンから成り得る。畳み込み層は、特徴抽出および深度マップの符号化部分として機能する一方、逆畳み込み層は、デコーダおよび深度マップの再構築部分として機能する。
【００９９】
層のパイプラインは、プーリング層を有しない完全な畳み込みになり得る。その学習は、小さい畳み込み受容フィールドを用いて、小さい画像変化および薄いノイズのある輪郭エリアをカバーすることができる。
【０１００】
実深度マップと合成深度マップとの間のユークリッド損失Ｌの誤差逆伝搬を使用する、完全な教師付き(supervised)方法でネットワークを訓練することができる。
【０１０１】
【数３】
2018109976.tif 000005
【０１０２】
ここに
【０１０３】
【数４】
2018109976.tif 000006
【０１０４】
は、ノイズ有り深度マップ画像と合成深度マップ画像である。
【０１０５】
シーンの各モデルは、３Ｄモデル化オブジェクト、例えば、ＣＡＤオブジェクトであってもよい。
【０１０６】
モデル化オブジェクトは、例えば、データベースに格納されたデータで定義される任意のオブジェクトである。拡大解釈すると、「モデル化オブジェクト」という表現は、データ自体を指す。使用時のシステムのタイプに従って、モデル化オブジェクトは、データの異なる種類によって定義され得る。システムは、実際にはＣＡＤシステム、ＣＡＥシステム、ＣＡＭシステム、ＰＤＭシステムおよび／またはＰＬＭシステムの任意の組み合わせにすることができる。それらの異なるシステムにおいて、モデル化オブジェクトは、対応するデータによって定義される。それに応じてＣＡＤオブジェクト、ＰＬＭオブジェクト、ＰＤＭオブジェクト、ＣＡＥオブジェクト、ＣＡＭオブジェクト、ＣＡＤデータ、ＰＬＭデータ、ＰＤＭデータ、ＣＡＭデータ、ＣＡＥデータを示してもよい。しかしながら、これらのシステムは、モデル化オブジェクトがこれらのシステムの任意の組み合わせに対応するデータによって定義され得るので、一方が他方を排除するシステムではない。システムは従って、以下に提供されるそのようなシステムの定義から明らかであるように、ＣＡＤとＰＬＭの両方のシステムであるのも当然である。
【０１０７】
ＣＡＤシステムとは、付加的には、少なくともＣＡＴＩＡなど、モデル化オブジェクトのグラフィカル表現を基礎にしてモデル化オブジェクトを設計するために適応される任意のシステムを意味する。この場合、モデル化オブジェクトを定義するデータは、モデル化オブジェクトの表現を可能にさせるデータを備える。ＣＡＤシステムは、例えば、エッジまたはライン、ある場合には面または表面を使用してＣＡＤモデル化オブジェクトの表現を提供することができる。ライン、エッジ、または表面は、さまざまな方法、例えば、非一様有理Ｂスプライン（ＮＵＲＢＳ）で表現され得る。具体的には、ＣＡＤファイルは、形状が生成され得る仕様を包含し、その仕様は次に、生成される表現を可能にさせる。モデル化オブジェクトの仕様は、単一のＣＡＤファイルまたは複数のＣＡＤファイルに格納され得る。ＣＡＤシステムのモデル化オブジェクトを表すファイルの典型的なサイズは、１パーツ当たり１メガバイトの範囲内である。そしてモデル化オブジェクトは典型的には、数千パーツから成るアセンブリにすることができる。
【０１０８】
ＣＡＤの文脈において、モデル化オブジェクトは典型的には、３Ｄモデル化され得る。「３Ｄモデル化オブジェクト」とは、その３Ｄ表現を可能にさせるデータによってモデル化される任意のオブジェクトを意味する。３Ｄ表現は、あらゆる角度からのパーツのビューイングを可能にさせる。例えば、３Ｄモデル化オブジェクトは、３Ｄ表現される時、操作されてその軸のいずれかを回転するか、または表現が表示されるスクリーンの任意の軸を回転する。これはとりわけ、３Ｄモデル化されない、２Ｄアイコンを除外する。３Ｄ表現の表示は、設計を容易にする（即ち、設計者が自分達のタスクを統計的に達成する速度が増大する）。
【０１０９】
方法は、コンピュータ実装される。これは、方法のステップ（または実質的にすべてのステップ）は、少なくとも１つのコンピュータ、または同様の任意のシステムによって実施されることを意味する。従って、方法のステップは、コンピュータによって場合により全自動的に、または半自動的に実行される。例において、方法のステップの少なくとも一部のトリガリングは、ユーザ−コンピュータインタラクションを介して実行され得る。必要とされるユーザ−コンピュータインタラクションのレベルは、予見される自動性のレベルに応じて異なり、ユーザの望みを実装する必要性とバランスを取ることができる。例において、このレベルは、ユーザ定義および／または事前定義にされてもよい。
【０１１０】
方法のコンピュータ実装の典型的な例は、この目的に適応されるシステムで方法を実行することである。システムは、メモリに結合されたプロセッサとグラフィカルユーザインタフェース（ＧＵＩ）を備えることができ、メモリは、方法を実行する命令を備えるコンピュータプログラムを記録している。メモリはまた、データベースを格納することもできる。メモリは、そのような格納に適応される任意のハードウェアであり、場合によりいくつかの物理的に別個の部分（例えば、１つはプログラム用、場合により１つはデータベース用）を備える。システムは、プロセッサに結合されて３Ｄ再構築のインスタンスの深度マップを取得するように構成される深度センサをさらに備えることができる。システムはまた、取得中にポーズするインスタンスのポージングスポットを備えることもできる。
【０１１１】
図８は、コンピュータシステムが深度センサに接続される時の、システムの例を示している。
【０１１２】
例示的なシステムは、内部通信ＢＵＳ１０００に接続された中央処理装置（ＣＰＵ）１０１０、またもＢＵＳに接続されたランダムアクセスメモリ（ＲＡＭ）１０７０を備える。システムは、ＢＵＳに接続されたビデオランダムアクセスメモリ１１００と関連付けられるグラフィック処理装置（ＧＰＵ）１１１０がさらに備わる。ビデオＲＡＭ１１００はまた、当業者にはフレームバッファとして知られている。マスストレージデバイスコントローラ１０２０は、ハードドライブ１０３０など、マスメモリデバイスへのアクセスを管理する。コンピュータプログラム命令およびデータを有形に具現化するのに適したマスメモリデバイスは、あらゆる形態の不揮発性メモリを含み、例としてＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリデバイスなど、半導体メモリデバイスと、内部ハードディスクおよびリムーバブルディスクなど、磁気ディスクと、磁気光ディスクと、ＣＤ−ＲＯＭディスク１０４０とを含む。上述のいずれも、特別に設計されたＡＳＩＣ（特定用途向け集積回路）を補足するか、または組み込まれ得る。ネットワークアダプタ１０５０は、ネットワーク１０６０へのアクセスを管理する。システムはまた、深度センサ１０９０を含むこともできる。
【０１１３】
コンピュータプログラムは、コンピュータによって実施可能な命令を備えることができ、その命令は、上記システムに方法を実行させる手段を備える。プログラムは、システムのメモリを含む、任意のデータストレージ媒体に記録可能にすることができる。プログラムは例えば、デジタル電子回路に実装されるか、またはコンピュータハードウェア、ファームウェア、ソフトウェアに実装されるか、またはそれらの組み合わせにおいて実装されてもよい。プログラムは、装置、例えば、プログラマブルプロセッサによって実施されるためのマシン可読ストレージデバイスに有形に具現化される製品として実装され得る。方法のステップは、入力データを演算して出力を生成することによって方法の関数を実行する命令のプログラムを実施するプログラマブルプロセッサによって実行され得る。プロセッサは従って、データストレージシステム、少なくとも１つの入力デバイス、および少なくとも１つの出力デバイスからデータおよび命令を受信してそれらにデータおよび命令を送信するようにプログラマブルに結合され得る。アプリケーションプログラムは、ハイレベルの手続き型またはオブジェクト指向のプログラミング言語か、または必要に応じてアセンブリ言語またはマシン言語に実装され得る。いずれの場合も、言語は、コンパイル言語またはインタプリタ言語になり得る。プログラムは、完全インストールプログラムまたは更新プログラムになり得る。システムにプログラムを適用した結果、いずれの場合も方法を実行する命令が生じる。
【図１】
2018109976.tif 000007
【図２】
2018109976.tif 000008
【図３】
2018109976.tif 000009
【図４】
2018109976.tif 000010
【図５】
2018109976.tif 000011
【図６】
2018109976.tif 000012
【図７】
2018109976.tif 000013
【図８】
2018109976.tif 000014
【外国語明細書】
2018109976000001.pdf