IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ スリーアイ インコーポレーテッドの特許一覧

特許75986723次元仮想モデルの生成のための前処理方法及びそのためのコンピューティング装置
<>
  • 特許-3次元仮想モデルの生成のための前処理方法及びそのためのコンピューティング装置 図1
  • 特許-3次元仮想モデルの生成のための前処理方法及びそのためのコンピューティング装置 図2
  • 特許-3次元仮想モデルの生成のための前処理方法及びそのためのコンピューティング装置 図3
  • 特許-3次元仮想モデルの生成のための前処理方法及びそのためのコンピューティング装置 図4
  • 特許-3次元仮想モデルの生成のための前処理方法及びそのためのコンピューティング装置 図5
  • 特許-3次元仮想モデルの生成のための前処理方法及びそのためのコンピューティング装置 図6
  • 特許-3次元仮想モデルの生成のための前処理方法及びそのためのコンピューティング装置 図7
  • 特許-3次元仮想モデルの生成のための前処理方法及びそのためのコンピューティング装置 図8
  • 特許-3次元仮想モデルの生成のための前処理方法及びそのためのコンピューティング装置 図9
  • 特許-3次元仮想モデルの生成のための前処理方法及びそのためのコンピューティング装置 図10
  • 特許-3次元仮想モデルの生成のための前処理方法及びそのためのコンピューティング装置 図11
  • 特許-3次元仮想モデルの生成のための前処理方法及びそのためのコンピューティング装置 図12
  • 特許-3次元仮想モデルの生成のための前処理方法及びそのためのコンピューティング装置 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-04
(45)【発行日】2024-12-12
(54)【発明の名称】3次元仮想モデルの生成のための前処理方法及びそのためのコンピューティング装置
(51)【国際特許分類】
   G06T 7/00 20170101AFI20241205BHJP
   G06V 10/22 20220101ALI20241205BHJP
   G06T 17/20 20060101ALI20241205BHJP
【FI】
G06T7/00 350C
G06V10/22
G06T17/20
【請求項の数】 15
(21)【出願番号】P 2023196278
(22)【出願日】2023-11-17
(65)【公開番号】P2024095984
(43)【公開日】2024-07-11
【審査請求日】2023-11-17
(31)【優先権主張番号】10-2022-0190107
(32)【優先日】2022-12-30
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】519025987
【氏名又は名称】スリーアイ インコーポレーテッド
【氏名又は名称原語表記】3I INC.
(74)【代理人】
【識別番号】100130111
【弁理士】
【氏名又は名称】新保 斉
(72)【発明者】
【氏名】キム、ケン
(72)【発明者】
【氏名】ジョン、ジ ウク
(72)【発明者】
【氏名】フダイベルガノブ、パルホド ルスタム ウクリ
(72)【発明者】
【氏名】イ、ミハイル
【審査官】松永 隆志
(56)【参考文献】
【文献】米国特許出願公開第2021/0142497(US,A1)
【文献】米国特許出願公開第2021/0027539(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00-19/20
G06V 10/22
(57)【特許請求の範囲】
【請求項1】
室内空間の複数の撮影地点に対する複数のデータセット-前記データセットは、画像データを含む-に基づいて前記室内空間に対する3次元仮想空間を生成するコンピューティング装置において行われる方法であって、
第1のニューラルネットワークを用いて前記画像データ内に削除対象オブジェクトが存在するか否かを判断するステップと、
前記画像データ内に前記削除対象オブジェクトが存在すれば、前記画像データから削除対象オブジェクトに対応する領域のデータを削除するステップと、
前記削除対象オブジェクトに対応する領域のデータが削除されて生成された穴領域を第2のニューラルネットワークを用いて穴埋めするステップと、
を含み、
前記穴埋めするステップは、
原学習画像とそれに対する穴生成学習画像に基づいて学習されて、前記少なくとも一つの穴に対応する領域に関する色相データを満たすように学習された第2のニューラルネットワークを用意するステップと、
を含み、
前記第2のニューラルネットワークは、
前記原学習画像と前記穴生成学習画像に前記第2のニューラルネットワークが穴埋めを行った穴埋め画像をそれぞれ球状変換し、球状変換された原学習画像と球状変換された穴埋め画像との間のロスに基づいて学習されたものである、
3次元仮想モデルの生成のための前処理方法。
【請求項2】
前記画像データは、
前記複数の撮影地点のうちのいずれか一つの撮影地点に関する360°画像データを表示するパノラミック画像データである、請求項1に記載の3次元仮想モデルの生成のための前処理方法。
【請求項3】
前記画像データ内に削除対象オブジェクトが存在するか否かを判断するステップは、
オブジェクトを識別する第1のニューラルネットワークを用いて前記画像データ内に存在する少なくとも一つのオブジェクトを探知するステップと、
識別された少なくとも一つのオブジェクトが前記削除対象オブジェクトであるか否かを識別するステップと、
を含む、請求項2に記載の3次元仮想モデルの生成のための前処理方法。
【請求項4】
前記第1のニューラルネットワークは、
学習画像として色相パノラミック画像を用いて学習されて、パノラミック画像それ自体に基づいてオブジェクトを識別する、請求項3に記載の3次元仮想モデルの生成のための前処理方法。
【請求項5】
前記第1のニューラルネットワークを用いて前記画像データ内に存在する少なくとも一つのオブジェクトを探知するステップは、
パノラミック画像データを平面変換して平面変換画像データを生成するステップと、
平面画像データに基づいて学習された前記第1のニューラルネットワークを用いて、前記平面変換画像データ内に存在する少なくとも一つのオブジェクトを探知するステップと、
を含む、請求項3に記載の3次元仮想モデルの生成のための前処理方法。
【請求項6】
前記穴生成学習画像は、前記原学習画像の任意の位置に前記削除対象オブジェクトに対応する少なくとも一つの穴を生成して作られた画像であり、
前記穴埋めするステップは、
前記第2のニューラルネットワークを用いて前記穴領域に対して色相データを満たすように前記穴埋めを行うステップと、
さらに含む、請求項2に記載の3次元仮想モデルの生成のための前処理方法。
【請求項7】
前記原学習画像及び前記穴生成学習画像は、360°画像データを表示するパノラミック画像データである、請求項6に記載の3次元仮想モデルの生成のための前処理方法。
【請求項8】
コンピューティング装置であって、
一つ以上のインストラクションを記憶するメモリーと、
前記メモリーに記憶された前記一つ以上のインストラクションを実行するプロセッサーと、
を備え、
前記プロセッサーは、前記一つ以上のインストラクションを実行することにより、
室内空間の複数の撮影地点に対する複数のデータセット-前記データセットは、画像データを含む-を用意し、
第1のニューラルネットワークを用いて前記画像データ内に削除対象オブジェクトが存在するか否かを判断し、
前記画像データ内に前記削除対象オブジェクトが存在すれば、前記画像データから削除対象オブジェクトに対応する領域のデータを削除し、
前記削除対象オブジェクトに対応する領域のデータが削除されて生成された穴領域を、第2のニューラルネットワークを用いて穴埋めし、
前記穴埋めすることは、
原学習画像とそれに対する穴生成学習画像に基づいて学習されて、前記少なくとも一つの穴に対応する領域に関する色相データを満たすように学習された第2のニューラルネットワークを用意し、
前記第2のニューラルネットワークは、
前記原学習画像と前記穴生成学習画像に前記第2のニューラルネットワークが穴埋めを行った穴埋め画像をそれぞれ球状変換し、球状変換された原学習画像と球状変換された穴埋め画像との間のロスに基づいて学習されたものである、
コンピューティング装置。
【請求項9】
前記画像データは、
前記複数の撮影地点のうちのいずれか一つの撮影地点に関する360°画像データを表示するパノラミック画像データである、請求項に記載のコンピューティング装置。
【請求項10】
前記画像データ内に削除対象オブジェクトが存在するか否かを判断するに際して、前記プロセッサーは、
オブジェクトを識別する第1のニューラルネットワークを用いて前記画像データ内に存在する少なくとも一つのオブジェクトを探知し、
識別された少なくとも一つのオブジェクトが前記削除対象オブジェクトであるか否かを識別する、請求項に記載のコンピューティング装置。
【請求項11】
前記第1のニューラルネットワークは、
学習画像として360°色相パノラミック画像を用いて学習されて、パノラミック画像それ自体に基づいてオブジェクトを識別する、請求項10に記載のコンピューティング装置。
【請求項12】
前記第1のニューラルネットワークを用いて前記画像データ内に存在する少なくとも一つのオブジェクトを探知するに際して、前記プロセッサーは、
パノラミック画像データを平面変換して平面変換画像データを生成し、
平面画像データに基づいて学習された前記第1のニューラルネットワークを用いて、前記平面変換画像データ内に存在する少なくとも一つのオブジェクトを探知する、請求項10に記載のコンピューティング装置。
【請求項13】
前記穴生成学習画像は、前記原学習画像の任意の位置に前記削除対象オブジェクトに対応する少なくとも一つの穴を生成して作られた画像であり、
前記穴埋めするに際して、前記プロセッサーは
前記第2のニューラルネットワークを用いて前記穴領域に対して色相データを満たすように前記穴埋めを行う、請求項に記載のコンピューティング装置。
【請求項14】
前記原学習画像及び前記穴生成学習画像は、360°画像データを表示するパノラミック画像データである、請求項13に記載のコンピューティング装置。
【請求項15】
コンピューターにて読み取り可能なインストラクション(instructions)を記憶している記憶媒体において、
前記インストラクションは、コンピューティング装置により実行されるとき、前記コンピューティング装置をして、
第1のニューラルネットワークを用いて画像データ内に削除対象オブジェクトが存在するか否かを判断する動作と、
前記画像データ内に前記削除対象オブジェクトが存在すれば、前記画像データから削除対象オブジェクトに対応する領域のデータを削除する動作と、
前記削除対象オブジェクトに対応する領域のデータが削除されて生成された穴領域を、第2のニューラルネットワークを用いて穴埋めする動作と、
行わしめ、
前記穴埋めする動作は、
原学習画像とそれに対する穴生成学習画像に基づいて学習されて、前記少なくとも一つの穴に対応する領域に関する色相データを満たすように学習された第2のニューラルネットワークを用意する動作と、
を含み、
前記第2のニューラルネットワークは、
前記原学習画像と前記穴生成学習画像に前記第2のニューラルネットワークが穴埋めを行った穴埋め画像をそれぞれ球状変換し、球状変換された原学習画像と球状変換された穴埋め画像との間のロスに基づいて学習されたものである、
記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、室内空間に対する3次元仮想モデルの生成のための前処理方法及びそのためのコンピューティング装置に関する。
【背景技術】
【0002】
近頃では、実際の空間に対応するオンライン上の仮想空間の提供を受けることにより、ユーザーが自ら実際の空間に訪問せずともあたかも実際の空間にいるかのような体験をすることが可能な仮想空間の実現技術の開発への取り組みが盛んに進められている。このような現実の空間に基づく仮想技術は、デジタルツインの実現のための技術であって、多種多様な開発が行われている。
【0003】
現実の空間に基づいて仮想空間を実現するためには、実現しようとする実際の現実の空間を対象として撮影された画像を取得し、これに基づいて立体的な仮想画像、すなわち、3次元仮想モデルを生成して仮想空間を提供することが必要である。
【0004】
すなわち、このような3次元仮想モデルは、実際の現実の空間の色々な地点から撮影されたデータに基づいて生成される。一例として、3次元仮想モデルを構成するために、実際の現実の空間の色々な地点から360°にて取得されたデータを収集し、これに基づいて3次元仮想モデルを生成することができる。
【0005】
但し、このような実際の現実の空間に関するデータを収集するに際して、不所望のオブジェクトが反映されてしまうという問題がある。例えば、工場の施設の内部に対してデータを収集するとき、通り過ぎる通行人が撮影される場合、このような通り過ぎる通行人に対する画像及び距離値が3次元仮想モデルに反映されてしまうという問題がある。
【先行技術文献】
【特許文献】
【0006】
【文献】米国登録特許公報第10,290,085号
【発明の概要】
【発明が解決しようとする課題】
【0007】
本出願の一つの技術的な側面は、上述した問題を解消するために案出されたものであって、本出願に開示される一実施形態によれば、3次元仮想モデルを構成するのに用いられる画像データから人間などの非撮影オブジェクトを識別し、このような非撮影オブジェクトを削除して非撮影オブジェクトに対するノイズを取り除く前処理を提供することを目的とする。
【0008】
本出願に開示される一実施形態によれば、ディープラーニング(深層学習)に基づく人工知能モデルを用いて非撮影オブジェクトの削除によって生じた穴を埋めるようにすることで、非撮影オブジェクトによるノイズデータをより一層正確に満たすことを目的とする。
【0009】
本出願の課題は、上述した課題に何ら制限されるものではなく、言及されていない他の課題は、下記の記載から当業者にとって明らかに理解できる筈である。
【課題を解決するための手段】
【0010】
本出願の一つの技術的な側面は、3次元仮想モデルの生成のための前処理方法を提案する。前記3次元仮想モデルの生成のための前処理方法は、室内空間の複数の撮影地点に対する複数のデータセット-前記データセットは、画像データを含む-に基づいて前記室内空間に対する3次元仮想空間を生成するコンピューティング装置において行われる方法であって、前記画像データ内に削除対象オブジェクトが存在するか否かを判断するステップと、前記画像データ内に前記削除対象オブジェクトが存在すれば、前記画像データから削除対象オブジェクトに対応する領域のデータを削除するステップと、前記削除対象オブジェクトに対応する領域のデータが削除されて生成された穴領域をニューラルネットワークを用いて穴埋めするステップと、を含んでいてもよい。
【0011】
本出願の他の一つの技術的な側面は、コンピューティング装置を提案する。前記コンピューティング装置は、一つ以上のインストラクションを記憶するメモリー及び前記メモリーに記憶された前記一つ以上のインストラクションを実行するプロセッサーを備え、前記プロセッサーは、前記一つ以上のインストラクションを実行することにより、室内空間の複数の撮影地点に対する複数のデータセット-前記データセットは、画像データを含む-を用意し、前記画像データ内に削除対象オブジェクトが存在するか否かを判断し、前記画像データ内に前記削除対象オブジェクトが存在すれば、前記画像データから削除対象オブジェクトに対応する領域のデータを削除し、前記削除対象オブジェクトに対応する領域のデータが削除されて生成された穴領域を、ニューラルネットワークを用いて穴埋めしてもよい。
【0012】
本出願のさらに他の一つの技術的な側面は、記憶媒体を提案する。前記記憶媒体は、コンピューターにて読み取り可能なインストラクション(instructions)を記憶している記憶媒体である。前記インストラクションは、コンピューティング装置により実行されるとき、前記コンピューティング装置をして、原学習画像とそれに対する穴生成学習画像-前記穴生成学習画像は、前記原学習画像に基づいて少なくとも一つの穴が生成された画像である-を取得する動作と、ニューラルネットワークを用いて前記穴生成学習画像に対して穴埋めを行って穴埋め学習画像を生成する動作と、それぞれの前記穴埋め学習画像と前記原学習画像に対して球状変換を行う動作、及び球状変換された穴埋め学習画像と球状変換された原学習画像との間の差に基づいて前記ニューラルネットワークをトレーニングする動作を行わしめてもよい。
【0013】
上述した技術的な課題を達成するための技術的な手段として開示された、コンピューターにて読み取り可能な記録媒体は、開示された方法の実施形態のうちの少なくとも一つをコンピューターに実行させるためのプログラムが記憶されたものであってもよい。
【0014】
上記の課題の解決手段は、本出願の特徴をいずれも列挙したものではない。本出願の課題の解決のための多種多様な手段は、以下の詳細な説明の欄の具体的な実施形態を参照してより一層詳しく理解することができる筈である。
【発明の効果】
【0015】
本出願によれば、下記のような効果が一つもしくはそれ以上得られる。
【0016】
本出願に開示される一実施形態によれば、3次元仮想モデルを構成するのに用いられるパノラミック画像それ自体に対して穴埋めを提供することができるという効果がある。
【0017】
本出願に開示される一実施形態によれば、3次元仮想モデルを構成するのに用いられる画像データから人間などの非撮影オブジェクトを識別し、このような非撮影オブジェクトを削除して非撮影オブジェクトに対するノイズを取り除くことができるという効果がある。
【0018】
本出願に開示される一実施形態によれば、実際に存在する室内空間に対する3次元仮想モデルを構成するに際して、人間など不要なオブジェクトを削除した場合であっても、それによって生じた穴を効率よく、かつ正確に埋めることができるという効果がある。
【0019】
本出願の効果は上述した効果に何ら制限されるものではなく、言及されていない他の効果は特許請求の記載から当業者にとって明確に理解できるものであろう。
【図面の簡単な説明】
【0020】
図1】本出願に開示される一実施形態に係る3次元仮想モデルの提供のための穴埋め方法を提供するシステムを説明するための一つの例示図である。
図2】本出願に開示される一実施形態に係るコンピューティング装置を説明するブロック構成図である。
図3】本出願に開示される一実施形態に係るコンピューティング装置の構成を説明する図である。
図4】本出願に開示される一実施形態に係る3次元仮想モデルの生成のための前処理過程を説明する手順図である。
図5】本出願に開示される一実施形態に係るオブジェクトの判断過程を説明する図である。
図6】本出願に開示される一実施形態に係る3次元仮想モデルの生成のための前処理過程を説明する手順図である。
図7】本出願に開示される一実施形態に係る穴埋め過程を説明する図である。
図8】本出願に開示される一実施形態に係る穴埋め過程を説明する手順図である。
図9】本出願に開示される一実施形態に係るパノラミック画像を入力対象とするニューラルネットワークの学習方法を説明する図である。
図10図9に示されるニューラルネットワークの学習方法を説明する手順図である。
図11】本出願に開示される一実施形態に係るオブジェクトの削除及び穴埋め過程を例示する図である。
図12】本出願に開示される一実施形態に係るオブジェクトの削除及び穴埋め過程を例示する図である。
図13】本出願に開示される一実施形態に係るオブジェクトの削除及び穴埋め過程を例示する図である。
【発明を実施するための形態】
【0021】
以下、添付図面に基づいて、本出願の好適な実施形態について説明する。
【0022】
しかしながら、これらは特定の実施形態に対して範囲を限定しようとするものではなく、この開示の実施形態の多種多様な変更(modifications)、均等物(equivalents)、及び/又は代替物(alternatives)を含むものと理解されるべきである。
【0023】
この開示を説明するに当たって、関連する公知の機能もしくは構成についての具体的な説明がこの開示の要旨を余計に曖昧にする虞があると認められる場合、その詳細な説明は省略する。この開示において用いた用語は、単に特定の実施形態を説明するために用いられたものであり、本発明の権利範囲を限定しようとする意図はない。単数の表現は、文脈からみて明らかに他の意味を有さない限り、複数の言い回しを含む。
【0024】
この開示において、「有する」、「有していてもよい」、「含む」、「含んでいてもよい」、「備える」、「備えていてもよい」などの言い回しは、当該特徴(例えば、数字、機能、動作、もしくは部品などの構成要素)の存在を示し、さらなる特徴の存在を排除しない。
【0025】
図面の説明と関連して、類似のもしくは関連する構成要素に対しては類似の参照符号が付されることができる。アイテムに対応する名詞の単数型は、本明細書中で特に指摘したり、明らかに文脈と矛盾したりしない限り、前記アイテムの一つ又は複数を含むことができる。本出願において、「A又はB」、「A及びBのうちの少なくとも一方」、「A又はBのうちの少なくとも一方」、「A、B又はC」、「A、B及びCのうちの少なくとも一つ」及び「A、B、又はCのうちの少なくとも一つ」のような語句のそれぞれは、それらの語句のうちの相当する語句に一緒に書き並べられた項目のうちのいずれか一つ、又はそれらのあらゆる可能な組み合わせを網羅することができる。
【0026】
「第1の」、「第2の」、又は「第1番目の」、「第2番目の」などの言い回しは、単に当該構成要素を他の構成要素と互いに区別するために用いられるものに過ぎず、それらの言い回しにより当該構成要素の他の側面(例えば、重要性又は順番または順序)などが限定されることはない。
【0027】
ある(例えば、第1の)構成要素が他の(例えば、第2の)構成要素に、「機能的に」又は「通信的に」という用語とともに、又はこれらの用語なしに、「結合された」とか、「接続された」とか、「連結された」とか、と言及された場合、それは、前記ある構成要素が前記他の構成要素に直接的に、又は第3の構成要素を挟んで結合、接続又は連結されることができるということを意味する。
【0028】
この開示において用いられた言い回しの「~するように構成された(又は、設定された)(configured to)」は、場面や状況に応じて、例えば、「~に適した(suitable for)」、「~する能力を有する(having the capacity to)」、「~するように設計された(designed to)」、「~するように変更された(adapted to)」、「~するように作られた(made to)」、又は「~をすることができる(capable of)」に書き替えられてもよい。言い回しの「~するように構成された(又は、設定された)」は、必ずしもハードウェア的に「特別に設計された(specifically designed to)」もののみを意味するとは限らない。
【0029】
その代わりに、ある状況では、「~するように構成された装置」という言い回しは、その装置が他の装置又は部品とともに「~することができる」ということを意味することがある。例えば、語句「A、B、及びCを行うように構成された(又は、設定された)プロセッサー」は、当該動作を行うための専用プロセッサー(例:埋め込みプロセッサー)、又はメモリー装置に記憶された一つ以上のソフトウェアプログラムを実行することにより、当該動作を行うことが可能な汎用プロセッサー(generic-purpose processor)(例:CPU又はアプリケーションプロセッサ―)を意味することがある。
【0030】
実施形態において、「モジュール」もしくは「部」は、少なくとも一つの機能や動作を行い、ハードウェア又はソフトウェアにより実現されてもよいし、ハードウェアとソフトウェアとの組合せにより具現されてもよい。また、複数の「モジュール」もしくは複数の「部」は、特定のハードウェアにより実現される必要がある「モジュール」もしくは「部」を除いては、少なくとも一つのモジュールとして一体化されて少なくとも一つのプロセッサーにより実現されてもよい。
【0031】
本出願の多種多様な実施形態は、機器(machine)-例えば、ユーザー端末500やコンピューティング装置300-により読み取り可能な記憶媒体(storage medium)に記憶された一つ以上のコマンドを含むソフトウェア(例えば、プログラム)として実現されてもよい。例えば、プロセッサー303は、記憶媒体から記憶された一つ以上のコマンドのうちの少なくとも一つのコマンドを呼び出し、それを実行することができる。これは、装置が前記呼び出された少なくとも一つのコマンドに従って少なくとも一つの機能を行うように運営されることを可能にする。前記一つ以上のコマンドは、コンパイラーにより生成されたコード又はインタープリーターにより実行可能なコードを含んでいてもよい。機器にて読み取り可能な記憶媒体は、非一時的(non-transitory)記憶媒体の形態で提供されてもよい。ここで、「非一時的」は、記憶媒体が有形の(tangible)装置であり、信号(signal)(例えば、電磁気波)を含まないということを意味するものに過ぎず、この言い回しは、データが記憶媒体に半永久的に記憶される場合と一時的に記憶される場合とを区別しない。
【0032】
本出願の実施形態を説明するために多種多様な手順図が開示されているが、これは、各ステップ又は動作の説明のしやすさのためのものであって、必ずしも手順図に描かれている順序に従って各ステップが行われるとは限らない。すなわち、手順図における各ステップは、互いに同時に行われてもよいし、手順図に描かれている順序の通りに行われてもよいし、又は手順図における順序とは逆の順序に従って行われてもよい。
【0033】
図1は、本出願に開示される一実施形態に係る3次元仮想モデルの生成のためのシステムを説明するための一つの例示図である。
【0034】
図1を参照すると、システムは、画像取得装置100と、コンピューティング装置300及びユーザー端末500を備えていてもよい。
【0035】
画像取得装置100は、3次元仮想モデルを生成するのに用いられる色相画像データ及び深度マップ(デプスマップ)データを生成することができる。以下、画像データを画像データと略称する。
【0036】
一実施形態において、画像取得装置100は、3次元仮想モデルを生成するのに用いられる画像データを生成することができる。コンピューティング装置300は、このような色相画像データに基づいて深度マップデータを生成することができる。
【0037】
図示の例において、画像取得装置100は、距離の測定を行って深度マップデータを生成する深度スキャナーと、画像データを生成するカメラと、を備えていてもよい。
【0038】
カメラは、撮影機能を提供する機器であって、被写領域(撮像領域)に対して色相にて表現される画像データを生成する。
【0039】
この出願明細書において、画像データは、色相により表現される画像をいずれも包括するものであって、特定の表現方式に制限されるものではない。したがって、画像データは、赤(Red)、緑(Green)、青(Blue)により表現されるRFG画像データのみならず、Cyan(シアン)、Magenta(マゼンタ)、Yellow(イエロー)、Key Plate(ブラック)により表現されるCMYK画像データなど多種多様な標準に適用可能である。
【0040】
一例として、カメラは、携帯電話、スマートフォン(smart phone)、ノートパソコン(laptop computer)、個人用デジタル情報端末(PDA:personal digital assistants)、タブレットPC(tablet PC)、ウルトラブック(ultrabook)、ウェアラブル撮影デバイス(wearable device、例えば、メガネ型ウェアラブル端末であるスマートグラス(smart glass))などが用いられてもよい。
【0041】
深度スキャナーは、被写領域に対して深度情報を生成して深度マップデータを生成することが可能な装置である。
【0042】
この出願明細書において、深度マップデータは、被写空間に対して深度情報を含むデータである。例えば、深度マップデータに含まれているそれぞれのピクセルは、撮像地点から撮影された被写空間の各地点-各ピクセルに対応する地点-までの距離情報であってもよい。
【0043】
深度スキャナーは、距離の測定のための所定のセンサー、例えば、LiDAR(Light Detection And Ranging(光による検知と測距))センサー、赤外線センサー、超音波センサーなどを備えていてもよい。あるいは、深度スキャナーは、センサーに取って代わって距離情報を測定することが可能なステレオカメラ(stereo camera)、ステレオスコピック(立体視)カメラ(stereo scopic camera)、3D深度カメラ(3D depth camera)などを備えていてもよい。
【0044】
カメラは画像データを生成し、深度スキャナーは深度マップ(Depth map)データを生成する。カメラによって生成された画像データと深度スキャナーによって生成された深度マップデータは、同一の被写領域に対して同一の条件(例えば、解像度など)を対象として生成されることができ、互いに1:1にてマッチングされる。
【0045】
深度スキャナーとカメラは、実際に存在する室内空間に対して360°パノラミック画像の形態、すなわち、それぞれ360°深度マップパノラミック画像と360°色相パノラミック画像を生成することができ、これをコンピューティング装置300に与えることができる。
【0046】
深度スキャナーは、このような360°の撮影が行われた室内の色々な地点のそれぞれに関する距離情報を生成することができる。このような距離情報は、相対的な距離情報であってもよい。例えば、深度スキャナーは、室内空間に対する平面図を備え、ユーザーの入力に応じて平面図内における最初の開始の室内地点の入力を受けることができる。次いで、深度スキャナーは、画像解析及び/又は移動感知センサー-例えば、3軸加速度センサー及び/又はジャイロセンサーなど-に基づいて相対的な距離移動情報を生成することができる。例えば、開始の室内地点からの相対的な距離移動情報に基づいて第2の室内地点に関する情報を生成し、第2の室内地点からの相対的な距離移動情報に基づいて第3の室内地点に関する情報を生成することができる。このような距離情報の生成は、カメラによって行われてもよい。
【0047】
一実施形態において、深度スキャナーとカメラは、一台の画像取得装置として実現されることが可能である。例えば、画像取得装置100は、画像の取得のためのカメラと距離の測定のためのLiDARセンサーを備えるスマートフォンであってもよい。
【0048】
深度スキャナー又はカメラは、撮影の高さに関する情報を記憶してコンピューティング装置300に与えることができる。このような撮影高さ情報は、コンピューティング装置300において3次元仮想モデルを生成するのに用いられてもよい。
【0049】
深度マップデータと画像データは、互いに対応する領域をカバーする360°パノラミック画像であってもよい。このような深度マップデータと画像データは、360°画像を与えるための好適な形態のパノラミック画像、例えば、正距円筒図法によるパノラミック画像であってもよい。
【0050】
ユーザー端末500は、ユーザーがコンピューティング装置300に接続して室内空間に対応する仮想の3Dモデルを体験することが可能な電子機器であって、例えば、携帯電話、スマートフォン(smart phone)、ノートパソコン(laptop computer)、デジタル放送用端末、個人用デジタル情報端末(PDA:personal digital assistants)、ポータブルマルチメディアプレーヤー(PMP:portable multimedia player)、ナビゲーション、パソコン(PC)、タブレットPC(tablet PC)、ウルトラブック(ultrabook)、ウェアラブルデバイス(wearable device、例えば、スマートウォッチ(smartwatch)、スマートグラス(smart glass)、ヘッドマウントディスプレイ(HMD:head mounted display))などを網羅する。しかしながら、これらの他にも、ユーザー端末500は、仮想現実(VR:Virtual Reality)、拡張現実(AR:Augmented Reality)に用いられる電子機器を備えていてもよい。
【0051】
コンピューティング装置300は、3次元仮想モデルに基づいてサービスを提供するためのコンピューティング装置である。コンピューティング装置300は、サーバーであってもよいし、スマートフォン、タブレットPCなどのユーザー端末であってもよい。すなわち、この開示により3次元仮想モデルの生成のための前処理を行うコンピューティング装置であれば、その種類を問わずに、この開示のコンピューティング装置に相当するといえる。
【0052】
コンピューティング装置300は、室内の色々な地点においてそれぞれ生成された画像データと深度マップデータを用いて、室内空間に対応する3次元仮想空間である3次元仮想モデルを生成することができる。
【0053】
コンピューティング装置300は、現実の空間に対応する仮想空間であって、室内の複数の撮影地点において生成された画像データ及び深度画像に基づいて3Dモデルを生成することができる。3Dモデルは、深度情報が反映された仮想モデルであって、実際のものと同等の立体的な空間を提供することができる。
【0054】
コンピューティング装置300は、このような3次元仮想モデルを生成するための一つの機能として、画像データから仮想モデルを生成するのに必要ではないオブジェクト-以下、これを削除対象オブジェクトと称する-を識別して削除することができる。画像データから削除対象オブジェクトに対応する領域のデータを削除するとなると、穴領域が生じてしまう。コンピューティング装置300は、ディープラーニング(深層学習)されたニューラルネットワークを用いてこのような穴領域を埋めることができ、以下では、このような穴領域を埋めることを穴埋め(hole filling、ホールフィリング)と称する。すなわち、コンピューティング装置300は、3次元仮想モデルを生成するための前処理として、画像データから削除対象オブジェクトを識別して削除し、それによって生じた穴領域に対してニューラルネットワークを用いて穴埋めを行うようにする。これにより、3次元仮想において不要なオブジェクト-例えば、通り過ぎる通行人など-が反映されないようにすることができ、かつ、学習されたニューラルネットワークを用いて穴埋めを行うことから、さらに正確なデータ復元を行うことが可能である。
【0055】
一実施形態において、コンピューティング装置300は、画像データに対応する深度マップデータに対しても同等に削除対象オブジェクトの削除及び穴埋め過程を行うことができる。
【0056】
他の一実施形態において、コンピューティング装置300は、画像データに対して削除対象オブジェクトの削除及び穴埋め過程を行って前処理を行い、前処理の行われた画像データに基づいて深度マップデータを生成することができる。
【0057】
コンピューティング装置300は、このようにして前処理の行われたデータに基づいて3次元仮想モデルを生成することができる。
【0058】
一例として、コンピューティング装置300は、室内空間の複数の撮影地点にそれぞれ対応する複数のデータセット-前記データセットは、画像データ、深度マップデータ及び各地点の位置情報を含む-に基づいて、3次元の上に複数のポイントクラウドを生成し、このようなポイントクラウドを3次元空間の上に並べて3Dメッシュモデルを生成することができる。3Dメッシュモデルは、ポイントクラウドに基づいて選定された複数のバーテックスに基づいて、複数のフェイスを設定して作られるメッシュモデルであってもよい。一例として、隣り合う3つのバーテックス(vertex)を基準として一つのフェイスを生成することができ、それぞれのフェイスは、3つの頂点として設定される平らな三角形であってもよい。3Dメッシュモデルにおいてそれぞれのフェイスが決定されれば、コンピューティング装置300は、それぞれのフェイスと関連付けられた画像データに基づいてそれぞれのフェイスの色相値を設定することができる。フェイスと関連付けられた画像データは、フェイスに垂直な方向ベクトルを基準として設定されることができる。コンピューティング装置300は、それぞれのフェイスの色相値を設定するために一つの画像データを選択することができ、このために、それぞれの画像データに対して複数の重み付け値要素を算出した後、これに基づいて重み付け値を算定することができる。コンピューティング装置300は、重み付け値に基づいていずれか一つの画像データを選択することができる。
【0059】
以下において、図2から図15を参照して、このようなコンピューティング装置300によって行われる前処理方法についてさらに詳しく説明する。
【0060】
図2は、本出願に開示される一実施形態に係るコンピューティング装置を説明するブロック構成図であって、図2に示されるように、この開示の一実施形態に係るコンピューティング装置300は、通信モジュール301と、メモリー302及びプロセッサー303を備えていてもよい。しかしながら、このような構成は単なる例示的なものに過ぎず、この開示を実施するに際して、このような構成要素に加えて、新たな構成要素が追加されてもよいし、一部の構成要素が省略されてもよいということはいうまでもない。
【0061】
通信モジュール301は回路を備え、外部装置(ユーザー端末を含む)との通信を行うことができる。具体的には、プロセッサー303は、通信モジュール301を介して結ばれた外部装置から各種のデータ又は情報を受信することもできれば、外部装置に各種のデータ又は情報を伝送することもできる。
【0062】
通信モジュール301は、WiFiモジュール、Bluetooth(登録商標)モジュール、無線通信モジュール、及び近距離無線通信(NFC)モジュールのうちの少なくとも一つを備えていてもよく、IEEE、Zigbee(登録商標)、第三世代(3G:3rd Generation)、第三世代パートナーシップ・プロジェクト(3GPP(登録商標):3rd Generation Partnership Project)、ロングターム・エボリューション(LTE:Long Term Evolution)、第五世代(5G:5th Generation)などといったように、多種多様な通信規格に従って通信を行うことができる。
【0063】
メモリー302には、電子装置300に関する少なくとも一つの指令が記憶されてもよい。メモリー302には、電子装置300を駆動するためのオペレーティングシステム(O/S:Operating System)が記憶されてもよい。また、メモリー302には、この開示の多種多様な実施形態に従いコンピューティング装置300が動作するための各種のソフトウェアプログラムやアプリケーションが記憶されてもよい。そして、メモリー302は、フラッシュメモリー(Flash Memory)などの半導体メモリーやハードディスク(Hard Disk)などの磁気記憶媒体などを備えていてもよい。
【0064】
具体的には、メモリー302には、この開示の多種多様な実施形態に従いコンピューティング装置300が動作するための各種のソフトウェアモジュールが記憶されてもよく、プロセッサー303は、メモリー302に記憶された各種のソフトウェアモジュールを実行してコンピューティング装置300の動作を制御することができる。すなわち、メモリー302は、プロセッサー303によりアクセスされ、プロセッサー303によるデータの読み取り/記録/修正/削除/更新などが行われてもよい。
【0065】
この開示に係る様々な実施形態において、メモリー302には、この開示に係るニューラルネットワークモデルが記憶されてもよい。
【0066】
その他にも、この開示の目的を達成するための範囲内において必要となる多種多様な情報がメモリー302に記憶されてもよく、メモリー302に記憶された情報は、外部装置から受信されたり、ユーザーにより入力されたりすることにより更新されてもよい。
【0067】
プロセッサー303は、コンピューティング装置300の全般的な動作を制御する。具体的には、プロセッサー303は、上述したような通信モジュール301及びメモリー302を備えるコンピューティング装置300の構成と接続され、上述したようなメモリー302に記憶された少なくとも一つの指令を実行してコンピューティング装置300の動作を全般的に制御することができる。
【0068】
プロセッサー303は、多種多様な方式により実現されることが可能である。例えば、プロセッサー303は、特定用途向け集積回路(ASIC:application specific integrated circuits)、埋め込みプロセッサー、マイクロプロセッサー、ハードウェアコントロールロジック、ハードウェア有限状態機械(FSM:hardware Finite State Machine)、デジタルシグナルプロセッサ(DSP:digital signal processors)のうちの少なくとも一つにより実現されてもよい。一方、この開示において、プロセッサー303という用語は、中央処理装置(CPU:Central Processing Unit)、グラフィックス処理装置(GPU:Graphic Processing Unit)及び主処理装置(MPU:Main Processing Unit)などを網羅する意味として使用可能である。
【0069】
プロセッサー303の制御に基づくこの開示に係る様々な実施形態については、図3から図15を参照して後述する。
【0070】
この開示に係るニューラルネットワークに関わる機能は、プロセッサー303とメモリー302を介して動作される。プロセッサー303は、一つ又は複数のプロセッサー303から構成されてもよい。このとき、一つ又は複数のプロセッサー303は、CPU、アプリケーションプロセッサー(AP:Application Processor)、デジタルシグナルプロセッサ(DSP:Digital Signal Processor)などの汎用プロセッサー、GPU、ビジョン処理ユニット(VPU:Vision Processing Unit)などのグラフィックス専用プロセッサー又はニューラルネットワーク処理ユニット(NPU:Neural network Processing Unit)などの人工知能専用プロセッサーであってもよい。一つ又は複数のプロセッサー303は、メモリー302に記憶されている既に定義された動作規則又はニューラルネットワークモデルに基づいて、入力データを処理するように制御する。あるいは、一つ又は複数のプロセッサー303が人工知能専用プロセッサーである場合、人工知能専用プロセッサーは、特定のニューラルネットワークモデルの処理に特化したハードウェア構造に設計されてもよい。
【0071】
既に定義された動作規則又はニューラルネットワークモデルは、学習を通じて作られたことを特徴とする。ここで、学習を通じて作られるということは、基本ニューラルネットワークモデルが学習アルゴリズムによって多数の学習データを用いて学習されることにより、所望の特性(あるいは、目的)を行うように設定された既に定義された動作規則又はニューラルネットワークモデルが作られることを意味する。このような学習は、この開示に係る人工知能が行われる機器それ自体において行われてもよいし、別途のサーバー及び/又はシステムを介して行われてもよい。学習アルゴリズムの例としては、教師あり学習(supervised learning)、教師なし学習(unsupervised learning)、半教師あり学習(semi-supervised learning)又は強化学習(reinforcement learning)が挙げられるが、前述した例に何ら限定されない。
【0072】
ニューラルネットワークモデルは、複数のニューラルネットワークレイヤーから構成されてもよい。複数のニューラルネットワークレイヤーレイヤーのそれぞれは、複数の重み付け値(weight values)を有しており、以前の(previous)レイヤーの演算結果と複数の重み付け値とを演算することにより、ニューラルネットワーク演算を行うことができる。複数のニューラルネットワークレイヤーレイヤーが有している複数の重み付け値は、ニューラルネットワークモデルの学習結果により最適化されることができる。例えば、学習過程の間にニューラルネットワークモデルから取得したロス(loss)値又はコスト(cost)値が減少又は最小化されるように複数の重み付け値が更新されてもよい。ニューラルネットワークは、ディープニューラルネットワーク(DNN:Deep Neural Network)レイヤーを備えていてもよく、例えば、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)、ディープニューラルネットワーク(DNN:Deep Neural Network)、回帰型ニューラルネットワーク(RNN:Recurrent Neural Network)、制限付きボルツマンマシン(RBM:Restricted Boltzmann Machine)、深層信念ネットワーク(DBN:Deep Belief Network)、双方向の回帰型ディープニューラルネットワーク(BRDNN:Bidirectional Recurrent Deep Neural Network)又は深層Q-ネットワーク(Deep Q-Networks)などが挙げられるが、前述した例に何ら限定されない。
【0073】
図3は、本出願に開示される一実施形態に係るコンピューティング装置の構成を説明する図である。図3に示される各部は、プロセッサー303によって実現される機能に相当し、これは、ソフトウェアにより実現されることができるが、これに何ら限定されない。以下では、各部を機能の遂行の主体として述べるが、これは、同様に、プロセッサー303が遂行の主体として記述されることもある。
【0074】
図4は、本出願に開示される一実施形態に係る3次元仮想モデルの生成のための前処理過程を説明する手順図である。
【0075】
図3及び図4を参照して、本出願に開示される一実施形態に係る3次元仮想モデルの生成のための前処理過程について説明する。
【0076】
室内空間の複数の撮影地点に対応する複数のデータセットが用意される。一例として、複数のデータセットは、画像取得装置100によって室内空間の複数の撮影地点から撮影された画像データを含んでいてもよい(S410)。
【0077】
一実施形態において、画像データは、複数の撮影地点のうちのいずれか一つの撮影地点に対する360°色相画像を表示するパノラミック画像データであってもよく、これを球状変換又はキューブ変換してユーザーに各撮影地点における360°の全方位にて画像を表示することができる。一例として、画像データは、正距円筒図法によるパノラミック画像であってもよいが、これに何ら制限されるものではない。
【0078】
オブジェクト判断部310は、画像データの入力を受け、画像データ内に削除対象オブジェクトが存在するか否かを判断する(S420)。一例として、オブジェクト判断部310は、ニューラルネットワークを用いて画像データ内に存在するオブジェクトを識別することができる。
【0079】
削除対象オブジェクトは、室内空間に対する3次元仮想モデルを生成するのに必要ではないオブジェクトであって、例えば、人間オブジェクトであってもよいが、これに何ら限定されるものではない。
【0080】
オブジェクト判断部310は、画像データ内に削除対象オブジェクトが存在する場合、削除対象オブジェクトに関する情報を生成して穴生成部320に与える。図11は、このような例を示しており、画像内において立っている人間オブジェクトH0が識別されたことを例示している。
【0081】
穴生成部320は、画像データから削除対象オブジェクトに対応する領域のデータを削除する(S430)。図12は、このような例を示しており、画像内において立っている人間オブジェクトH0に対応する領域が削除されたことを例示している。以下では、このように画像データから削除対象オブジェクトに対応する領域のデータが削除されて生成された領域を「穴領域」と称する。
【0082】
一例として、穴生成部320は、オブジェクト判断部310から削除対象オブジェクトに関する情報の提供を受け、削除対象オブジェクトの領域を識別し、当該領域のデータを削除処理することができる。
【0083】
一例として、穴生成部320は、削除対象オブジェクトに対応する領域のピクセル値を色相値ではなく、特定の値(又は、Null値)に設定することができる。
【0084】
穴埋め部330は、穴領域にニューラルネットワークを用いて色相データを満たすことができる(S440)。図13は、このような例を示しており、学習画像に基づいて穴領域を埋めた例を示している。以下では、ニューラルネットワークを用いて色相データを満たすことを「穴埋め」と称する
【0085】
図5は、本出願に開示される一実施形態に係るオブジェクトの判断過程を説明する図であって、オブジェクト判断部310の一実施形態が示されている。
【0086】
オブジェクト判断部310は、オブジェクトを識別する第1のニューラルネットワーク510を用いて、画像データ内に存在する少なくとも一つのオブジェクトを探知することができる。
【0087】
第1のニューラルネットワーク510は、画像内に存在するオブジェクトを探知するようにディープラーニングされたニューラルネットワークであって、画像データ内に存在する少なくとも一つのオブジェクトを探知することができる。
【0088】
一例として、第1のニューラルネットワーク510は、学習過程及び推論過程を行うに際して活性化関数を用いることができるが、これに何ら制限されるものではない。具体的には、活性化関数は、以前のレイヤーからの入力値を次のレイヤーに受け渡すか否か、そして、受け渡すとすれば、どのような出力値に変換して受け渡すべきであるかを決める役割を果たすことができ、活性化関数のグラジエントは、それぞれのレイヤーの重み付け値(パラメーター)をアップデートするのに用いられることができる。
【0089】
第1のニューラルネットワーク510は、探知されたすべてのオブジェクトに関する探知情報-例えば、探知情報は、オブジェクトの中心点の位置、オブジェクトの幅情報、オブジェクトの高さ情報を含む-を生成してオブジェクト識別モジュール520に与えることができる。
【0090】
オブジェクト識別モジュール520は、削除対象オブジェクトに関する情報を有しており、識別されたオブジェクトが削除対象オブジェクトであるか否かを判断することができる。
【0091】
一例として、探知情報として識別されたオブジェクトに関する分類情報が含まれていてもよい。すなわち、第1のニューラルネットワーク510は、探知されたオブジェクトがどのような種類-例えば、人間の種類、施設物の種類、看板の種類など-であるかに関する分類情報を生成することができ、オブジェクト識別モジュール520は、探知されたオブジェクトのうち、削除対象オブジェクト-例えば、人間オブジェクト-を確認し、探知されたオブジェクトのうち削除の対象となるオブジェクトを識別することができる。オブジェクト識別モジュール520は、削除対象オブジェクトに関する情報を穴生成部320に与えることができる。
【0092】
一実施形態において、第1のニューラルネットワーク510は、学習画像として360°色相パノラミック画像を用いて学習されて、パノラミック画像それ自体に基づいてオブジェクトを識別することができる。パノラミック画像の場合、その投影方法に応じて、たとえ同一のオブジェクトであるとしても、画像内の位置に応じて形状が異なるように設定される可能性がある。したがって、同一のオブジェクト-例えば、人間オブジェクト-が画像内において互いに異なる位置に存在する複数のパノラミック学習画像組を用意し、第1のニューラルネットワーク510は、このような複数のパノラミック学習画像組に基づいて学習されることができる。このための学習方法については図9を参照して後述する。
【0093】
他の一実施形態において、第1及び第2のニューラルネットワークは、平面画像に基づいて学習され、ニューラルネットワークの入力の前にパノラミック画像を平面変換し、ニューラルネットワークの出力の後に再びパノラミック画像に逆変換する過程を経ることができる。図6は、このような一実施形態を示しており、図6を参照して説明する。図6を参照すると、プロセッサー303は、パノラミック画像データを平面変換して平面変換画像データを生成し(S610)、平面変換画像データに対して第1のニューラルネットワークにてオブジェクトを探知することができる(S620)。プロセッサー303は、探知されたオブジェクトのうちから削除対象オブジェクトを識別し、それに対応する領域の色相データを削除して穴領域を生成することができる(S630)。プロセッサー303は、穴領域を第2のニューラルネットワークにて穴埋めして、穴埋めされた平面変換画像データを生成し(S640)、これをパノラミック画像に逆変換することができる(S650)。このような実施形態においては、第1のニューラルネットワーク及び第2のニューラルネットワークが平面画像に基づいて学習されても適用することが可能であるという点で有利である。
【0094】
図7は、本出願に開示される一実施形態に係る穴埋め過程を説明する図であって、図7を参照して穴埋めのための第2のニューラルネットワークモジュールの学習構造について説明する。
【0095】
図7を参照すると、穴埋め部330は、第2のニューラルネットワークモジュール720を備え、第2のニューラルネットワークモジュール720を学習するための学習データ生成モジュール710及びトレーニングモジュール730をさらに備えていてもよい。
【0096】
一例として、第2のニューラルネットワークモジュール720も、学習過程及び推論過程を行うに際して活性化関数を用いることができる。活性化関数は、以前のレイヤーからの入力値を次のレイヤーに受け渡すか否か、そして、受け渡すとすれば、どのような出力値に変換して受け渡すべきであるかを決める役割を果たすことができ、活性化関数のグラジエントは、第2のニューラルネットワークモジュール720に含まれているそれぞれのレイヤーの重み付け値(パラメーター)をアップデートするのに用いられることができる。
【0097】
トレーニングモジュール730は、第2のニューラルネットワークモジュール720の学習性能に関わる評価情報を取得するモジュールである。
【0098】
例えば、トレーニングモジュール730は、第2のニューラルネットワークモジュール720の学習が何エポック(epoch)だけ進められたか、すなわち、学習データの全体を何回学習したかに関する情報を取得することができる。なお、トレーニングモジュール730は、学習過程が進められる間の損失(loss)に関する情報を取得することができる。
【0099】
学習データ生成モジュール710は、穴埋め学習を行うための学習データを生成するモジュールである。学習データ生成モジュール710は、原学習画像の入力を受け、原学習画像に任意の穴を生成することができる。
【0100】
図7は、トレーニング過程を例示しており、学習データ生成モジュール710は、原学習画像の入力を受け、そこに任意の穴を生成して穴生成学習画像を生成することができる。
【0101】
一実施形態において、学習データ生成モジュール710は、削除対象オブジェクトの形状に関する多数の情報を含み、削除対象オブジェクトの形状を反映して穴を生成することができる。一例として、削除対象オブジェクトが人間オブジェクトである場合、学習データ生成モジュール710は、人間の様々な動作に関するシルエット情報を有しており、これを用いて穴を生成することができる。
【0102】
学習データ生成モジュール710は、生成した穴生成学習画像を第2のニューラルネットワークモジュール720に与えることができ、第2のニューラルネットワークモジュール720は、入力を受けた穴生成学習画像に対して、学習された内容に基づいて穴埋め処理を施して穴埋め画像を生成することができる。トレーニングモジュール730は、第2のニューラルネットワークモジュール720において生成した穴埋め画像と原学習画像とを比較し、両画像間の差に基づいて、第2のニューラルネットワークモジュール720の重み付け値を変更するようにすることで、第2のニューラルネットワークモジュール720を学習させることができる。
【0103】
このような例において、最初の動作において、第2のニューラルネットワークモジュール720は、学習された内容がないため、ニューラルネットワークの各ノードにおいてランダムな値に基づいて穴埋め学習画像を生成することができる。第2のニューラルネットワークモジュール720は、穴埋め学習画像と原学習画像との間の差によるフィードバックトレーニングを繰り返し行って穴埋め処理の正確度を向上させることができる。
【0104】
一方、以上においては、色相画像データを対象として穴埋めを行うことについて説明したが、深度マップデータに対しても同等に穴埋めを適用することができる。このような場合、色相画像データに対して穴埋めする第2のニューラルネットワークモジュールと深度マップデータに対して穴埋めする第2のニューラルネットワークモジュールは、それぞれ個別的に実現され、かつ個別的に学習されることができる。これは、入力される画像の種類に応じて穴埋めを行わなければならない値が異なるからであり、入力される画像の種類ごとにそれぞれ第2のニューラルネットワークモジュールを備え、かつトレーニングすることができる。
【0105】
一実施形態において、第1のニューラルネットワーク及び第2のニューラルネットワークは、パノラミック画像を対象として学習されてもよい。例えば、オブジェクトの判断の対象となる図3に示される画像データ、図7に示される原学習画像及び穴生成学習画像は、360°色相画像を表示するパノラミック画像データであってもよい。このような実施形態について図8に示されている。図8を参照すると、プロセッサー303は、パノラミック画像データに対して第1のニューラルネットワークを用いてオブジェクトを探知することができる(S810)。プロセッサー303は、パノラミック画像データからの削除対象オブジェクトを識別し、それに関する色相データを除去して穴領域を生成し(S820)、第2のニューラルネットワークを用いて穴領域を穴埋めして、穴の埋められたパノラミック画像データを生成することができる(S830)。このような一実施形態においては、第1のニューラルネットワーク及び第2のニューラルネットワークの学習データにもパノラミック画像が用いられる。
【0106】
一実施形態において、第1のニューラルネットワーク及び第2のニューラルネットワークは、パノラミック画像を対象として学習された場合、トレーニングモジュール730におけるロスの算出に際して、球状変換過程が反映されてもよい。すなわち、入力された原学習画像と第2のニューラルネットワークモジュール720から出力された穴埋め画像をそれぞれ球状変換した後、トレーニングモジュール730は、球状変換された原学習画像と球状変換された穴埋め画像との間のロスに基づいて第2のニューラルネットワークを学習することができる。これは、パノラミック画像は、球状変換(又は、キューブ変換)に用いられるための形態であって、各位置に応じて、たとえ同一のオブジェクトであっても、その形状が異なるように設定されるからである。すなわち、パノラミック画像は、球状変換されて用いられるため、球状変換状態における結果に基づいてニューラルネットワークを学習させることにより、パノラミック画像を入力及び出力の対象とするニューラルネットワークの品質を向上させることができる。
【0107】
また、パノラミック画像の特徴に基づいて学習データを生成することが可能であり、これについて、図9から図10を参照して説明する。
【0108】
図9は、本出願に開示される一実施形態に係るパノラミック画像を入力の対象とするニューラルネットワークの学習方法を説明する図であり、図10は、図9に示されるニューラルネットワークの学習方法を説明する手順図である。
【0109】
図9に示される例には、学習データ生成部910とそれに基づいて学習する第1のニューラルネットワーク920が開示されている。学習の対象となるニューラルネットワークは、第2のニューラルネットワークに変更して適用することも可能である。
【0110】
学習データ生成部910は、一枚のパノラミック原学習画像を用いて複数枚のパノラミック学習画像を生成することができる。球状変換モジュール911は、一枚のパノラミック原学習画像の入力を受け、これを球状変換することができる(S1010)。
【0111】
一例として、球状変換モジュール910は、以下の数式1を用いて、球状変換を行うことができるが、これに何ら限定されるものではない。
【0112】
【数1】
【0113】
回転変換モジュール912は、球状変換された球状画像に対して、回転設定を変更して回転変換することができる。例えば、回転変換モジュール912は、球状画像に対して回転軸、回転方向及び回転角度のうちの少なくとも一つを変更して回転変換を行うことができる(S1020)。
【0114】
パノラミック変換モジュール913は、回転変換された複数枚の球状画像をパノラミック画像に逆変換することができ、これをニューラルネットワークの学習画像として与えることができる(S1030、S1040)。
【0115】
第1のニューラルネットワーク920は、削除対象オブジェクト-例えば、人間オブジェクト-を識別する学習を行い、このようにして球状変換を行った後、パノラミック画像に逆変換する場合、同一の人間オブジェクトに対してパノラミック画像における人間オブジェクトの形状が非常に様々に表現される。これは、パノラミック投影に際して各位置に応じた膨張比率が異なるからであり、これにより、一枚の画像を球状変換した後、種々に回転変更することにより、非常に多い数の学習データを生成することができ、一つのオブジェクトの様々な投影様子をカバーすることができるので、第1のニューラルネットワークの探索機能を向上させることができる。
【0116】
このような学習方法は、第2のニューラルネットワークに対しても適用することが可能である。
【0117】
一方、上述した実施形態に係るコンピューティング装置300において行われる制御方法は、プログラムにより実現されてコンピューティング装置300に提供され得る。特に、コンピューティング装置300の制御方法を含むプログラムは、非一時的なコンピューターにて読み取り可能な媒体(non-transitory computer readable medium)に記憶されて提供され得る。
【0118】
以上において、コンピューティング装置300の制御方法、そしてコンピューティング装置300の制御方法を実行するプログラムを含むコンピューターにて読み取り可能な記録媒体について簡略に説明したが、これは、重複する説明を省略するためのものに過ぎず、電子装置100についての様々な実施形態は、コンピューティング装置300の制御方法、そしてコンピューティング装置300の制御方法を実行するプログラムを含むコンピューターにて読み取り可能な記録媒体に対しても適用されることが可能であるということはいうまでもない。
【0119】
一方、機器にて読み取り可能な記憶媒体は、非一時的(non-transitory)記憶媒体の形態で提供され得る。ここで、「非一時的」は、記憶媒体が有形の(tangible)装置であり、信号(signal)(例えば、電磁気波)を含まないということを意味するものに過ぎず、この言い回しは、データが記憶媒体に半永久的に記憶される場合と一時的に記憶される場合とを区別しない。例えば、「非一時的な記憶媒体」は、データが一時的に記憶されるバッファーを備えていてもよい。
【0120】
以上において説明した本出願は、前述した実施形態及び添付図面により何ら限定されるものではなく、特許請求の範囲により限定され、本出願の構成は、本出願の技術的な思想を逸脱しない範囲内においてその構成を種々に変更及び改造することができるということを本出願が属する技術分野において通常の知識を有する者は容易に理解できる筈である。
【符号の説明】
【0121】
100:画像取得装置
300:コンピューティング装置
500:ユーザー端末
301:通信モジュール
302:メモリー
303:プロセッサー
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13