(57)【要約】  本発明は、撮影に基づく３Ｄモデリングシステムおよび方法、自動３Ｄモデリング装置および方法を開示し、ここで、Ｓ１）同一の撮影スタンドに機器およびカメラを固定するステップと、Ｓ２）スタンドを移動させる過程で、カメラまたはモバイル機器からの複数の第２位置決め用画像を取得し、各撮影点の位置および向きを取得し、統一座標系を用いたロードマップを形成するステップと、Ｓ３）前記モバイル機器またはリモートサーバ側で、各撮影点で撮影された３Ｄモデリング用画像に基づいて、３Ｄモデリングを行うステップと、Ｓ４）Ｓ２で得られた位置および向きに応じて、各撮影点の３Ｄモデルを同一の三次元座標系に配置し、複数の撮影点の３Ｄモデル間の結合部分をスティッチングし、複数の撮影点が含まれる３Ｄモデル全体を形成するステップと、を含む。本発明は、様々な撮影機器に対応でき、各撮影点の相対位置およびカメラのレンズの向きを自動で正確に記録し、内部をローミングできる３Ｄモデルおよび２Ｄ平面図を自動的に生成することができる。【選択図】図４
2022501684.tif 000002
【特許請求の範囲】
【請求項１】
複数の空間に対して当該空間の第１画像をそれぞれ撮影するための撮影ユニットと、
前記各空間ごとに前記撮影ユニットが撮影した前記第１画像に基づいて、前記各空間の３Ｄモデルをそれぞれ生成する３Ｄモデル生成ユニットと、
前記撮影ユニットが各空間の第１画像を撮影した時の位置および撮影方向情報を取得するための撮影位置取得ユニットと、
前記位置および撮影方向情報に基づいて、前記各空間の３Ｄモデルを同一の三次元座標系でスティッチング処理を行い、前記各空間が含まれる３Ｄモデル全体を形成する３Ｄモデルスティッチングユニットとを含む、ことを特徴とする撮影に基づく３Ｄモデリングシステム。
【請求項２】
前記撮影ユニットは、前記各空間の間を移動する過程で複数の第２画像を撮影し、
前記撮影位置取得ユニットは、前記複数の第２画像を用いて特徴点照合を行うことにより、各撮影点の相対変位および撮影方向情報を取得する、ことを特徴とする請求項１に記載の撮影に基づく３Ｄモデリングシステム。
【請求項３】
前記撮影ユニットは、位置決めセンサと方向センサを有し、
前記撮影位置取得ユニットは、前記撮影ユニットが位置される空間の第１画像を撮影した時に提供される位置決め情報と方向情報に基づいて、前記撮影ユニットが位置される空間の第１画像を撮影した時の位置および撮影方向情報を取得する、ことを特徴とする請求項１に記載の撮影に基づく３Ｄモデリングシステム。
【請求項４】
前記撮影ユニットは、前記各空間の間を移動する過程で複数の第２画像を撮影し、
前記撮影ユニットは、位置決めセンサと方向センサを有し、
前記撮影位置取得ユニットは、前記複数の第２画像を用いて特徴点照合を行うことにより、各撮影点の相対変位情報および撮影方向情報を取得し、かつ前記撮影ユニットが位置される空間の第１画像を撮影した時の位置決め情報と方向情報に基づいて、前記相対変位および撮影方向情報を補正することにより、前記撮影ユニットが位置される空間の第１画像を撮影した時の位置および撮影方向情報を取得する、ことを特徴とする請求項１に記載の撮影に基づく３Ｄモデリングシステム。
【請求項５】
前記撮影位置取得ユニットは、変位センサが取得した変位情報に基づいて、前記相対変位および撮影方向情報を補正する、ことを特徴とする請求項４に記載の撮影に基づく３Ｄモデリングシステム。
【請求項６】
前記３Ｄモデルスティッチングユニットは、各空間を撮影する際に前記撮影位置取得ユニットが取得した前記位置および撮影方向情報に基づいて、１つの空間の前記３Ｄモデルのローカル座標をグローバルワールド座標に変換することで、前記複数の空間の３Ｄモデル全体を取得する、ことを特徴とする請求項１に記載の撮影に基づく３Ｄモデリングシステム。
【請求項７】
前記１つの空間の前記３Ｄモデルのローカル座標をグローバルワールド座標に変換することは、
前記撮影ユニットを所定距離で移動させることと、
前記撮影位置取得ユニットに前記所定距離の２つの端点の位置情報を取得させることと、
前記２つの端点の位置の差と前記所定距離との比を、前記ローカル座標と前記ワールド座標との比として取得することとを含む、ことを特徴とする請求項６に記載の撮影に基づく３Ｄモデリングシステム。
【請求項８】
前記１つの空間の前記３Ｄモデルのローカル座標をグローバルワールド座標に変換することは、
前記撮影位置取得ユニットが前記第１画像上で特徴点を認識することと、
認識された前記特徴点に基づいて、前記空間の底面または上面が位置する平面の高さを推定することと、
前記空間の底面または上面が位置する平面の高さと前記撮影ユニットの高さとの比を、前記ローカル座標と前記ワールド座標との比として取得することとを含む、ことを特徴とする請求項６に記載の撮影に基づく３Ｄモデリングシステム。
【請求項９】
前記撮影ユニットが最初の撮影点を撮影する前に、またはその後の撮影の移動中に、所定距離を移動させて所定数の前記特徴点を取得する、ことを特徴とする請求項８に記載の撮影に基づく３Ｄモデリングシステム。
【請求項１０】
前記撮影ユニットは、同一の撮影点で前記第１画像をそれぞれ撮影する２眼レンズを有し、
前記３Ｄモデル生成ユニットは、それぞれの前記２眼レンズで撮影された前記第１画像を比較して対応する画素を決定し、前記３Ｄモデルの生成に用いるための対応する前記各画素の深さ情報を取得する、ことを特徴とする請求項１に記載の撮影に基づく３Ｄモデリングシステム。
【請求項１１】
前記３Ｄモデル生成ユニットは、ディープラーニング技術を用いて、前記第１画像における各画素の深さを予測し、前記ディープラーニング技術を計算または直接適用して前記各画素の法線方向を予測する、ことを特徴とする請求項１に記載の撮影に基づく３Ｄモデリングシステム。
【請求項１２】
前記撮影ユニットは、カメラおよび／またはカメラ機能付きモバイル機器によって実現され、
前記３Ｄモデル生成ユニットは、前記モバイル機器またはリモートサーバによって実現され、前記リモートサーバによって実現される場合には、ネットワークを介して、前記カメラおよび／または前記カメラ機能付きモバイル機器が撮影して送信した第１画像を受信して、前記各空間の３Ｄモデルを生成し、
前記撮影位置取得ユニットは、前記カメラまたは前記モバイル機器によって実現され、
前記３Ｄモデルスティッチングユニットは、前記モバイル機器またはリモートサーバによって実現され、前記リモートサーバによって実現される場合には、ネットワークを介して、前記撮影位置取得ユニットから送信された各空間の前記位置および撮影方向情報を受信し、当該位置および撮影方向情報に基づいて前記スティッチング処理を完了し、生成した前記３Ｄモデル全体を前記モバイル機器または他の機器に送信する、ことを特徴とする請求項１−１１のいずれか一項に記載の撮影に基づく３Ｄモデリングシステム。
【請求項１３】
前記撮影ユニットを実装したカメラと、カメラ機能付きモバイル機器とを同一の撮影スタンドに固定し、
前記スタンドを移動させる過程で、前記カメラまたは前記カメラ機能付きモバイル機器が撮影した複数の第２画像を取得し、それにより、前記カメラまたは前記カメラ機能付きモバイル機器が位置される空間に対して第１画像を撮影した時の位置および撮影方向情報を取得する、ことを特徴とする請求項１２に記載の撮影に基づく３Ｄモデリングシステム。
【請求項１４】
前記カメラまたは前記カメラ機能付きモバイル機器の位置決めシステムに基づいて、前記カメラまたは前記カメラ機能付きモバイル機器が撮影した第２画像を用いて、近接した撮影点の第２画像の特徴点を照合することにより、各撮影点の相対変位情報および撮影方向情報を取得し、各撮影点の相対位置および方向を提供する、ことを特徴とする請求項１３に記載の撮影に基づく３Ｄモデリングシステム。
【請求項１５】
前記撮影ユニットが前記第１空間の前記第１画像を撮影する前に、あるいはその後の移動中に、以下の方法、すなわち、
（１）前記モバイル機器に基づく位置決めシステムと前記カメラに基づく位置決めシステムを同時に動作させ、前記スタンドを一定の距離で移動させ、この時、２つのシステムがそれぞれ１つの変位ベクトルを提供し、２つのベクトルの間の角度を、前記カメラのレンズと前記モバイル機器の撮影方向との間の角度とする方法、
（２）前記カメラのプレビュー画像または撮影画像を手動で回転させて、前記モバイル機器の撮影方向と一致する角度を指定する方法、
（３）前記モバイル機器と前記カメラのプレビュー画像または撮影画像を画像認識アルゴリズムで照合することによって、前記角度を見つける方法、
（４）スタンドに目盛りを付けるなど、追加のマーキングを使用して、前記モバイル機器の設置方向と一定の角度を形成し、その後、前記カメラのプレビュー画像または画像の中の当該マーキングを認識して、前記カメラのレンズと前記モバイル機器の撮影方向との間の角度を算出する方法、
（５）前記スタンドにスロットを設けることにより、前記カメラと前記モバイル機器との間の既知の固定角度を確保する方法、の１つ以上で、前記カメラのレンズと前記モバイル機器の撮影方向とのなす角度を取得することをさらに含む、ことを特徴とする請求項１３に記載の撮影に基づく３Ｄモデリングシステム。
【請求項１６】
前記空間は、部屋であり、
前記第１画像は、前記部屋の室内画像であり、
前記３Ｄモデル生成ユニットは、ディープラーニング技術に基づいて前記第１画像中の床、天井、壁の少なくとも１つを認識し、認識した画像を画像処理技術に基づいて複数のブロックに分割し、床と天井の画像ブロックが水平面内にあり、壁の画像ブロックが垂直面内にあるように、それぞれのブロックをおおよそ平面とみなし、各平面の方程式を解いて前記３Ｄモデルを生成し、ここで、前記第１画像中で交差する２つの平面については、算出された交差線と実際に観察された交差線との誤差を最小化する、ことを特徴とする請求項１に記載の撮影に基づく３Ｄモデリングシステム。
【請求項１７】
前記３Ｄモデル生成ユニットはさらに、コンピュータビジョン技術を用いて、前記室内画像中のコーナーを認識し、コーナーを連結して部屋の大まかなモデルを生成する、ことを特徴とする請求項１６に記載の撮影に基づく３Ｄモデリングシステム。
【請求項１８】
前記３Ｄモデルスティッチングユニットは、前記複数の部屋のそれぞれの３Ｄモデルを統一して補正し、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全部屋の壁線方向を統一して補正することが含まれ、
前記３Ｄモデルスティッチングユニットは、前記各部屋の３Ｄモデルをスティッチングする時、重なり部分および／または現れた空洞を修正する、ことを特徴とする請求項１６に記載の撮影に基づく３Ｄモデリングシステム。
【請求項１９】
以下の方法、すなわち、
生成した前記３Ｄモデルの各平面を床に垂直な平面に投影し、これらの投影を１つのポリゴンに結合する方法と；
得られた前記ポリゴンを補正および簡略化する方法と、そのうち、以下の方法、
（１）前記ポリゴンの主要な頂点のみを残し、小さい凹凸を削除すること、
（２）コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正すること、の少なくとも１つが含まれ；
前記撮影位置取得ユニットが取得した各空間の前記位置および撮影方向情報に基づいて、生成した前記各部屋の２Ｄ平面図を同一の二次元座標系でスティッチング処理を行い、前記各部屋のそれぞれの２Ｄ平面図によってスティッチングされた２Ｄ平面図全体を形成する方法と；
ディープラーニングの方法を用いて、前記室内画像上でドアおよび／または窓の位置を認識すること、または、前記撮影ユニットが同一住宅に属する複数の部屋に対して前記第１画像をそれぞれ撮影した時の移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる、ドアおよび／または窓の位置を認識してラベル付ける方法と、で２Ｄ平面図を生成する２Ｄ平面図生成ユニットをさらに含む、ことを特徴とする請求項１６に記載の撮影に基づく３Ｄモデリングシステム。
【請求項２０】
前記２Ｄ平面図生成ユニットは、前記複数の部屋のそれぞれの２Ｄ平面図を統一して補正し、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全部屋の壁線方向を統一して補正することが含まれ、
前記２Ｄ平面図生成ユニットは、前記各部屋の２Ｄ平面図をスティッチングする時、重なり部分および／または現れた空洞を修正する、ことを特徴とする請求項１９に記載の撮影に基づく３Ｄモデリングシステム。
【請求項２１】
以下の方法、すなわち、
前記３Ｄモデルスティッチングユニットが生成した前記３Ｄモデル全体の各平面を床に垂直な平面に投影し、これらの投影を１つのポリゴンに結合する方法と；
得られた前記ポリゴンを補正および簡略化する方法と、そのうち、以下の方法、
（１）前記ポリゴンの主要な頂点のみを残し、小さい凹凸を削除すること、
（２）コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正すること、の少なくとも１つが含まれ；
ディープラーニングの方法を用いて、前記室内画像上でドアおよび／または窓の位置を認識すること、または、前記撮影ユニットが同一住宅に属する複数の部屋に対して前記第１画像をそれぞれ撮影した時の移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる、ドアおよび／または窓の位置を認識してラベル付ける方法と、で２Ｄ平面図を生成する２Ｄ平面図生成ユニットをさらに含む、ことを特徴とする請求項１６に記載の撮影に基づく３Ｄモデリングシステム。
【請求項２２】
モデリングオブジェクトに含まれる複数の空間のそれぞれの第１画像に基づいて、前記複数の空間のそれぞれの３Ｄモデルを生成する３Ｄモデル生成ユニットと、
前記複数の空間のそれぞれの前記第１画像が撮影された時の位置および撮影方向情報に基づいて、前記３Ｄモデル生成ユニットで生成した前記各空間の３Ｄモデルを同一の３次元座標系でスティッチング処理を行い、前記各空間のそれぞれの３Ｄモデルによってスティッチングされた３Ｄモデル全体を形成する３Ｄモデルスティッチングユニットとを含む、ことを特徴とする自動３Ｄモデリング装置。
【請求項２３】
前記３Ｄモデルスティッチングユニットは、前記位置および撮影方向情報に基づいて、１つの空間の前記３Ｄモデルのローカル座標をグローバルワールド座標に変換することで、全ての空間の３Ｄモデル全体を取得する、ことを特徴とする請求項２２に記載の自動３Ｄモデリング装置。
【請求項２４】
前記空間は、部屋であり、
前記第１画像は、前記部屋の室内画像であり、
前記３Ｄモデル生成ユニットは、ディープラーニング技術に基づいて前記第１画像中の床、天井、壁の少なくとも１つを認識し、認識した画像を画像処理技術に基づいて複数のブロックに分割し、床と天井の画像ブロックが水平面内にあり、壁の画像ブロックが垂直面内にあるように、それぞれのブロックをおおよそ平面とみなし、各平面の方程式を解いて前記３Ｄモデルを生成し、ここで、前記第１画像中で交差する２つの平面については、算出された交差線と実際に観察された交差線との誤差を最小化し、
前記３Ｄモデル生成ユニットはさらに、コンピュータビジョン技術を用いて、前記室内画像中のコーナーを認識し、コーナーを連結して部屋の大まかなモデルを生成する、ことを特徴とする請求項２２または２３に記載の自動３Ｄモデリング装置。
【請求項２５】
前記３Ｄモデルスティッチングユニットは、前記複数の部屋のそれぞれの３Ｄモデルを統一して補正し、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全部屋の壁線方向を統一して補正することが含まれ、
前記３Ｄモデルスティッチングユニットは、前記各部屋の３Ｄモデルをスティッチングする時、重なり部分および／または現れた空洞を修正する、ことを特徴とする請求項２４に記載の自動３Ｄモデリング装置。
【請求項２６】
以下の方法、すなわち、
生成した前記３Ｄモデルの各平面を床に垂直な平面に投影し、これらの投影を１つのポリゴンに結合する方法と；
得られた前記ポリゴンを補正および簡略化する方法と、そのうち、以下の方法、
（１）前記ポリゴンの主要な頂点のみを残し、小さい凹凸を削除すること、
（２）コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正すること、の少なくとも１つが含まれ；
前記位置および撮影方向情報に基づいて、生成した前記各部屋の２Ｄ平面図を同一の２次元座標系でスティッチング処理を行い、前記各部屋のそれぞれの２Ｄ平面図によってスティッチングされた２Ｄ平面図全体を形成する方法と；
ディープラーニングの方法を用いて、前記室内画像上でドアおよび／または窓の位置を認識すること、または、同一住宅に属する複数の部屋に対して前記第１画像をそれぞれ撮影した時に取得した移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる、ドアおよび／または窓の位置を認識してラベル付ける方法と、で２Ｄ平面図を生成する２Ｄ平面図生成ユニットをさらに含む、ことを特徴とする請求項２４に記載の自動３Ｄモデリング装置。
【請求項２７】
前記２Ｄ平面図生成ユニットは、前記複数の部屋のそれぞれの２Ｄ平面図を統一して補正し、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全部屋の壁線方向を統一して補正することが含まれ、
前記２Ｄ平面図生成ユニットは、前記各部屋の２Ｄ平面図をスティッチングする時、重なり部分および／または現れた空洞を修正する、ことを特徴とする請求項２６に記載の自動３Ｄモデリング装置。
【請求項２８】
以下の方法、すなわち、
前記３Ｄモデルスティッチングユニットが生成した前記３Ｄモデル全体の各平面を床に垂直な平面に投影し、これらの投影を１つのポリゴンに結合する方法と；
得られた前記ポリゴンを補正および簡略化する方法と、そのうち、以下の方法、
（１）前記ポリゴンの主要な頂点のみを残し、小さい凹凸を削除すること、
（２）コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正すること、の少なくとも１つが含まれ；
ディープラーニングの方法を用いて、前記室内画像上でドアおよび／または窓の位置を認識すること、または、同一住宅に属する複数の部屋に対して前記第１画像をそれぞれ撮影した時の移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる、ドアおよび／または窓の位置を認識してラベル付ける方法と、で２Ｄ平面図を生成する２Ｄ平面図生成ユニットをさらに含む、ことを特徴とする請求項２４に記載の自動３Ｄモデリング装置。
【請求項２９】
モデリングオブジェクトに含まれる複数の空間のそれぞれの第１画像に基づいて、前記各空間の３Ｄモデルをそれぞれ生成する３Ｄモデル生成ステップと、
前記複数の空間のそれぞれの前記第１画像が撮影された時の位置および撮影方向情報に基づいて、前記３Ｄモデル生成ステップで生成した前記各空間の３Ｄモデルを同一の三次元座標系でスティッチング処理を行い、前記各空間のそれぞれの３Ｄモデルによってスティッチングされた３Ｄモデル全体を形成する３Ｄモデルスティッチングステップとを含む、ことを特徴とする自動３Ｄモデリング方法。
【請求項３０】
前記３Ｄモデルスティッチングステップでは、前記位置および撮影方向情報に基づいて、１つの空間の前記３Ｄモデルのローカル座標をグローバルワールド座標に変換することで、全ての空間の３Ｄモデル全体を取得する、ことを特徴とする請求項２９に記載の自動３Ｄモデリング方法。
【請求項３１】
前記空間は、部屋であり、
前記第１画像は、前記部屋の室内画像であり、
前記３Ｄモデル生成ステップでは、ディープラーニング技術に基づいて前記第１画像中の床、天井、壁の少なくとも１つを認識し、認識した画像を画像処理技術に基づいて複数のブロックに分割し、床と天井の画像ブロックが水平面内にあり、壁の画像ブロックが垂直面内にあるように、それぞれのブロックをおおよそ平面とみなし、各平面の方程式を解いて前記３Ｄモデルを生成し、ここで、前記第１画像中で交差する２つの平面については、算出された交差線と実際に観察された交差線との誤差を最小化し、
前記３Ｄモデル生成ステップでは、さらに、コンピュータビジョン技術を用いて、前記室内画像中のコーナーを認識し、コーナーを連結して部屋の大まかなモデルを生成する、ことを特徴とする請求項２９または３０に記載の自動３Ｄモデリング方法。
【請求項３２】
以下の方法、すなわち、
生成した前記３Ｄモデルの各平面を床に垂直な平面に投影し、これらの投影を１つのポリゴンに結合する方法と；
得られた前記ポリゴンを補正および簡略化する方法と、そのうち、以下の方法、
（１）前記ポリゴンの主要な頂点のみを残し、小さい凹凸を削除すること、
（２）コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正すること、の少なくとも１つが含まれ；
前記位置および撮影方向情報に基づいて、生成した前記各部屋の２Ｄ平面図を同一の二次元座標系でスティッチング処理を行い、前記各部屋のそれぞれの２Ｄ平面図によってスティッチングされた２Ｄ平面図全体を形成する方法と；
ディープラーニングの方法を用いて、前記室内画像上でドアおよび／または窓の位置を認識すること、または、同一住宅に属する複数の部屋に対して前記第１画像をそれぞれ撮影した時に取得した移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる、ドアおよび／または窓の位置を認識してラベル付ける方法と、で２Ｄ平面図を生成する２Ｄ平面図生成ステップをさらに含む、ことを特徴とする請求項３１に記載の自動３Ｄモデリング方法。
【請求項３３】
前記２Ｄ平面図生成ステップでは、前記複数の部屋のそれぞれの２Ｄ平面図を統一して補正し、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全部屋の壁線方向を統一して補正することが含まれ、
前記２Ｄ平面図生成ステップでは、前記各部屋の２Ｄ平面図をスティッチングする時、重なり部分および／または現れた空洞を修正する、ことを特徴とする請求項３２に記載の自動３Ｄモデリング方法。
【請求項３４】
以下の方法、すなわち、
前記３Ｄモデルスティッチングステップで生成した前記３Ｄモデル全体の各平面を床に垂直な平面に投影し、これらの投影を１つのポリゴンに結合する方法と；
得られた前記ポリゴンを補正および簡略化する方法と、そのうち、以下の方法、
（１）前記ポリゴンの主要な頂点のみを残し、小さい凹凸を削除すること、
（２）コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正すること、の少なくとも１つが含まれ；
ディープラーニングの方法を用いて、前記室内画像上でドアおよび／または窓の位置を認識すること、または、同一住宅に属する複数の部屋に対して前記第１画像をそれぞれ撮影した時の移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる、ドアおよび／または窓の位置を認識してラベル付ける方法と、で２Ｄ平面図を生成する２Ｄ平面図生成ステップをさらに含む、ことを特徴とする請求項３１に記載の自動３Ｄモデリング方法。
【請求項３５】
Ｓ１）カメラ機能付きモバイル機器およびカメラを同一の撮影スタンドに固定するステップと、
Ｓ２）スタンドを移動させる過程で、カメラまたはモバイル機器からの複数の第２画像を取得し、前記カメラまたはモバイル機器のセンサと組み合わせて各撮影点の位置と撮影方向を取得し、統一座標系を用いたロードマップを形成するステップと、
Ｓ３）前記モバイル機器またはリモートサーバ側で、各撮影点撮影の第１画像に基づいて、３Ｄモデリングを行うステップと、
Ｓ４）Ｓ２で取得された位置および撮影方向に応じて、各撮影点の前記３Ｄモデルを同一の三次元座標系に配置し、複数の撮影点３Ｄモデル間の結合部分をスティッチングし、複数の撮影点が含まれる３Ｄモデル全体を形成するステップとを含む、ことを特徴とする撮影に基づく３Ｄモデリング方法。
【請求項３６】
前記ステップＳ２では、前記モバイル機器またはカメラの位置決めシステムに基づいて、前記モバイル機器またはカメラで撮影した第２画像を用いて、近似した撮影点の第２画像の特徴点を照合することにより、撮影点の相対変位および撮影方向情報を見つけ、全ての撮影点を同一の座標系に含む前記ロードマップを形成し、各撮影点の位置および方向を提供する、ことを特徴とする請求項３５に記載の撮影に基づく３Ｄモデリング方法。
【請求項３７】
前記ステップＳ２は、さらに、前記モバイル機器またはカメラを用いて、移動加速度、速度、および方向情報を取得することにより、前記ロードマップを補正することを含む、ことを特徴とする請求項３５または３６に記載の撮影に基づく３Ｄモデリング方法。
【請求項３８】
前記ステップＳ２は、前記カメラのレンズと前記モバイル機器の撮影方向との間の角度を取得することをさらに含み、そのうち、初期化段階で、前記モバイル機器に基づく位置決めシステムと前記カメラに基づく位置決めシステムを同時に動作させ、スタンドを一定の距離だけ移動させ、この時、２つのシステムがそれぞれ１つの変位ベクトルを提供し、２つのベクトルの間の角度を、前記カメラのレンズと前記モバイル機器の撮影方向との間の角度とすること；あるいは、前記カメラのプレビュー画像または撮影画像を手動で回転させて、前記モバイル機器の撮影方向と一致する角度を指定すること；あるいは、前記モバイル機器と前記カメラのプレビュー画像または撮影画像を画像認識アルゴリズムで照合することによって、その角度を見つけること；あるいは、スタンドに目盛りを付けるなど、追加のマーキングを使用して、前記モバイル機器の設置方向と一定の角度を形成し、その後、前記カメラのプレビュー画像または画像の中の当該マーキングを認識して、前記カメラのレンズと前記モバイル機器の撮影方向との間の角度を算出することが含まれる、ことを特徴とする請求項３６に記載の撮影に基づく３Ｄモデリング方法。
【請求項３９】
前記ステップＳ３は、
Ｓ３１）ディープラーニング技術に基づいて、画像中の床、天井、壁の少なくとも１つを認識するステップと、
Ｓ３２）認識した画像を画像処理技術に基づいて複数のブロックに分割し、床と天井の画像ブロックが水平面内にあり、壁の画像ブロックが垂直面内にあるように、それぞれのブロックをおおよそ平面とみなし、各平面の方程式を解いて前記３Ｄモデルを生成し、画像中で交差する２つの平面については、２つの平面の交差線を制約条件とし、算出された交差線と実際に観察された交差線との誤差を最小化するステップとを含む、ことを特徴とする請求項３５に記載の撮影に基づく３Ｄモデリング方法。
【請求項４０】
前記ステップＳ３はさらに、コンピュータビジョン技術を用いて、室内画像中のコーナーを認識し、コーナーを連結して部屋の大まかなモデルを生成するステップを含む、ことを特徴とする請求項３５に記載の撮影に基づく３Ｄモデリング方法。
【請求項４１】
前記ステップＳ４は、
Ｓ４１）各撮影点の位置と撮影方向に基づいて、シングル撮影点の３Ｄモデルのローカル座標をグローバルワールド座標に変換することで、全ての撮影点の３Ｄモデル全体を取得するステップと、
Ｓ４２）複数の撮影点の３Ｄモデルを統一して補正するステップと、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全ての撮影点の壁線方向を統一して補正することが含まれ、
Ｓ４３）各撮影点の３Ｄモデルをスティッチングする時、重なり部分および／または現れた空洞を修正するステップとを含む、ことを特徴とする請求項３５に記載の撮影に基づく３Ｄモデリング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本出願は、出願日が２０１９年０８月２３日の中国特許出願第２０１９１０７８４７７２．１号に基づいて、その中国特許出願の優先権を主張しており、その内容の全体が参照により本出願に組込まれる。
【０００２】
（技術分野）
本発明は、３Ｄモデリングシステムおよび方法に関し、特に、撮影に基づく３Ｄモデリングシステムおよび方法、自動３Ｄモデリング装置および方法に関する。
【背景技術】
【０００３】
本発明が解決しようとす技術的課題は、単一空間または複数空間の３Ｄモデリングおよび／または２Ｄ平面図生成のための撮影に基づく三次元空間モデリングスキームを提供することである。
【０００４】
従来、撮影に基づく３Ｄモデリング方法は主に、以下の２つがあるが、どちらも顕著な欠点があった。
【０００５】
方法ａ）深さ情報を認識できるカメラを用いて３Ｄモデルを直接生成する。この方法は、より複雑なハードウェアに依存しているため、機器のコストが高くなり、プロのカメラマンが操作する必要があることが多く、普及には向いていない。
【０００６】
方法ｂ）互いに近い場所で、好ましくはセンチメートルとデシメータの間隔で２枚の写真を撮影し、照合と位置決めを連続的に行い、その後、ＭＶＳ（Ｍｕｌｔｉ  Ｖｉｅｗ  Ｓｔｅｒｅｏ、ｈｔｔｐｓ：／／ｇｉｔｈｕｂ．ｃｏｍ／ｃｄｃｓｅａｃａｖｅ／ｏｐｅｎＭＶＳを参照）を使用してモデリングを行い、その利点は、プロセス全体が完全に自動化されており、手動介入を必要としないことであるが、欠点もまた顕著である。
欠点１：計算量が多く、モバイル機器などの限られたコンピューティングリソースを持つ機器上でのモデリングは容易ではないこと、通常、サーバ（クラウド／ＰＣ）にアップロードすることで、より強いの計算能力を利用してモデリングアルゴリズムを実行する必要がある。
欠点２：撮影距離の指定ができないこと、距離が近すぎる場合、面倒で時間がかかる、可視性と感覚で距離を決定する場合、モデリングに失敗する可能性があり、撮影時にユーザにヒントを表示できない。
【０００７】
また、従来から、写真に基づいて三次元空間シーンを再構成する方法が提供されているが、これらの方法では、３Ｄモデリングに用いられる画像に基づいて３Ｄモデルを自動的に生成することがほとんどできず、各空間の３Ｄモデルを修正するために多くの手動介入を必要とする。さらに、複数の空間の３Ｄモデルを自動的にスティッチングすることができないため、各空間の３Ｄモデルを手動で観察して共通点を見つけ、手動でスティッチングする必要があり、時間と手間がかかる。
【発明の概要】
【課題を解決するための手段】
【０００８】
従来の方法における上記欠点の１つ以上を克服するために、本発明は、革新的な方法を使用し、すなわち、ディープラーニングおよび画像処理方法を使用してシングル撮影点によるモデリングを行い、これにより、モバイル機器などの限られた計算能力で実行することも、クラウドサーバに関連データをアップロードして実行することもできる。また、モバイル機器を用いたリアルタイムモデリングの場合、リアルタイム性を向上させるために、家具や小物などのモデルを復元することなく、部屋の輪郭のみをモデリングし、撮影点の位置決めシステムを構築することで、複数の撮影点のモデルをその位置と方向に応じて同一の座標系に配置し、複数の撮影点の独立したモデルを最適化し、結合された部分の処理を行うことで、３Ｄモデル全体と２Ｄ平面図を生成する。
【０００９】
本発明は、携帯電話の魚眼レンズ、パノラマカメラ、魚眼レンズ付きカメラ、通常の携帯電話や通常のデジタルカメラなどを含むがこれらに限定されない、幅広い撮影モードに対応することができ、コストが低い。
【００１０】
通常の写真（定義）：通常のデジタルカメラ（通常の一眼レフカメラ、マイクロカメラ、ポイント＆シュートカメラなどを含む）、パノラマカメラ、魚眼レンズ付きカメラ、通常の携帯電話、魚眼レンズ付き携帯電話、およびカメラで撮影した写真。通常の写真は両眼視とは異なり、同じ撮影点で撮影した２枚の写真に基づいて三次元情報を復元できない。以下、通常の写真を写真という。
【００１１】
パノラマカメラを使用する場合、通常はパノラマ画像を取得する。直線検出などの一部のコンピュータビジョンと画像アルゴリズムでは、パノラマ画像を歪みのない画像に変換する必要がある。以下で使用する写真と画像の表現には、パノラマ写真と変換された歪みのない画像が含まれる。
【００１２】
本発明は、撮影に基づく３Ｄモデリングシステムおよび方法、自動３Ｄモデリング装置および方法を提供しており、様々な撮影機器に対応し、かつ取得された各撮影点の相対位置とカメラのレンズ撮影方向情報に基づいて、各撮影点の３Ｄモデルを自動的にスティッチングして３Ｄモデル全体を生成することができる。本発明はさらに、２Ｄ平面図を生成することができる。
【００１３】
具体的には、本発明は、撮影に基づく３Ｄモデリングシステムを提供し、複数の空間に対して各空間の第１画像をそれぞれ撮影するための撮影ユニットと、各前記空間ごとに前記撮影ユニットが撮影した前記第１画像に基づいて、各前記空間の３Ｄモデルをそれぞれ生成する３Ｄモデル生成ユニットと、前記撮影ユニットが各空間の第１画像を撮影した時の位置および撮影方向情報を取得するための撮影位置取得ユニットと、前記位置および撮影方向情報に基づいて、前記各空間の３Ｄモデルを同一の三次元座標系でスティッチングし、前記各空間が含まれる３Ｄモデル全体を形成する３Ｄモデルスティッチングユニットと、を含む。
【００１４】
さらに、前記撮影ユニットは、前記各空間の間を移動する過程で複数の第２画像を撮影し、前記撮影位置取得ユニットは、前記複数の第２画像を用いて特徴点照合を行うことにより、各撮影点の相対変位および撮影方向情報を取得し、例えば、同一の座標系における全ての撮影点を含むロードマップを形成することにより、前記撮影ユニットが位置される空間の第１画像を撮影した時の位置および撮影方向情報を取得することができる。
【００１５】
さらに、前記撮影ユニットは、位置決めセンサと方向センサを有し、前記撮影位置取得ユニットは、前記撮影ユニットが位置される空間の第１画像を撮影した時に提供される位置決め情報と方向情報に基づいて、前記撮影ユニットが位置される空間の第１画像を撮影した時の位置および撮影方向情報を取得する。
【００１６】
さらに、前記撮影ユニットは、前記各空間の間を移動する過程で複数の第２画像を撮影し、前記撮影ユニットは、位置決めセンサと方向センサを有し、前記撮影位置取得ユニットは、前記撮影ユニットが撮影した複数の第２画像における近接した撮影点画像を用いて特徴点照合を行うことにより、各撮影点の相対変位情報および撮影方向情報を取得し、例えば、全ての撮影点を同一の座標系で含むロードマップを形成し、かつ前記撮影ユニットが位置される空間の第１画像を撮影した時の位置決め情報と方向情報とを結合してロードマップを補正することにより、前記撮影ユニットが位置される空間の第１画像を撮影した時の位置および撮影方向情報を取得することができる。
【００１７】
さらに、前記撮影位置取得ユニットはさらに、加速度センサ、速度センサなど含む、前記撮影ユニットに搭載されたセンサから提供される加速度情報や移動速度情報などの変位情報により、前記相対変位、すなわち、ロードマップおよび撮影方向情報を補正する。
【００１８】
さらに、前記３Ｄモデルスティッチングユニットは、各部屋を撮影する際に前記撮影位置取得ユニットが取得した前記位置および撮影方向情報に基づいて、例えば、１つの変換行列を用いて、１つの部屋の前記３Ｄモデルのローカル座標をグローバルワールド座標に変換することで、全ての撮影点の３Ｄモデル全体を取得することも可能である。
【００１９】
さらに、１つの部屋の前記３Ｄモデルのローカル座標をグローバルワールド座標に変換する方法としては、前記撮影ユニットを所定距離で移動させ、前記撮影位置取得ユニットに前記所定距離の２つの端点の座標を取得させ、前記２つの端点の座標の差と前記所定距離との比を、前記ローカル座標と前記ワールド座標との比とする方法があり、あるいは、前記撮影位置取得ユニットによって認識された特徴点を用いて、前記空間の底面または上面が位置する平面の高さと前記撮影ユニットの高さとの比を、前記ローカル座標と前記ワールド座標との比として推定する方法がある。
【００２０】
さらに、前記撮影ユニットが最初の撮影点を撮影する前に、またはその後の撮影の移動中に、所定距離を移動させて所定数の前記特徴点を取得する。
【００２１】
さらに、前記撮影ユニットは、同一の撮影点で前記第１画像をそれぞれ撮影する２眼レンズを有し、前記３Ｄモデル生成ユニットは、それぞれの前記２眼レンズで撮影された前記第１画像を比較して対応する画素を決定し、前記３Ｄモデルの生成に用いるための対応する前記各画素の深さ情報を取得する。
【００２２】
さらに、前記３Ｄモデル生成ユニットはさらに、ディープラーニング技術を用いて、前記第１画像における各画素の深さを予測し、前記ディープラーニング技術を計算または直接適用して前記各画素の法線方向を予測することにより、前記各空間の３Ｄモデルを生成する。
【００２３】
さらに、前記撮影ユニットは、カメラおよび／または携帯電話などのカメラ機能付きモバイル機器によって実現される。前記３Ｄモデル生成ユニットは、前記携帯電話またはリモートサーバによって実現され、前記リモートサーバによって実現される場合には、ネットワークを介して、前記カメラおよび／または前記カメラ機能付き携帯電話が撮影して送信した第１画像を受信し、前記各空間の３Ｄモデルを生成する。前記撮影位置取得ユニットは、前記カメラまたは前記携帯電話によって実現される。前記３Ｄモデルスティッチングユニットは、前記携帯電話またはリモートサーバによって実現され、前記リモートサーバによって実現される場合には、ネットワークを介して、前記撮影位置取得ユニットから送信された各空間の前記位置および撮影方向情報を受信し、当該位置および撮影方向情報に基づいて前記スティッチング処理を完了し、生成した前記整体３Ｄモデルを前記携帯電話または他の機器に送信する。
【００２４】
さらに、前記撮影ユニットを実装したカメラと、カメラ機能付き携帯電話とを同一の撮影スタンドに固定する。前記スタンドを移動させる過程で、前記カメラまたは前記カメラ機能付き携帯電話が撮影した複数の第２画像を取得し、それにより、前記カメラまたは前記カメラ機能付き携帯電話が位置される空間に対して第１画像を撮影した時の位置および撮影方向情報を取得する。
【００２５】
さらに、前記カメラまたは前記カメラ機能付き携帯電話の位置決めシステムに基づいて、前記カメラまたは前記カメラ機能付き携帯電話が撮影した第２画像を用いて、近接した撮影点の第２画像の特徴点を照合することにより、各撮影点の相対変位情報および撮影方向情報を取得し、各撮影点の相対位置および方向を提供する。
【００２６】
さらに、前記撮影ユニットが前記第１空間の前記第１画像を撮影する前に、あるいはその後の移動中に、前記カメラのレンズと前記携帯電話の撮影方向とのなす角度を、以下のいずれか１つ以上の方法で取得する。
【００２７】
ここで、カメラのレンズの撮影方向とは、一般的なパノラマカメラの前面魚眼レンズおよび背面魚眼レンズのいずれかの方向、または、１つのレンズを回転させて複数枚の写真を撮影するパノラマカメラが第１枚の写真を撮影する時のレンズの方向を指してもよい。
【００２８】
（１）前記携帯電話に基づく位置決めシステムと前記カメラに基づく位置決めシステムを同時に動作させ、前記スタンドを一定の距離で移動させ、この時、２つのシステムがそれぞれ１つの変位ベクトルを提供し、２つのベクトルの間の角度を、前記カメラのレンズと前記携帯電話の撮影方向との間の角度とする。
【００２９】
（２）前記カメラのプレビュー画像または撮影画像を手動で回転させて、前記携帯電話の撮影方向と一致する角度を指定する。
【００３０】
（３）前記携帯電話と前記カメラのプレビュー画像または撮影画像を画像認識アルゴリズムで照合することによって、前記角度を見つける。
【００３１】
（４）追加のマーキングを使用して、例えば、スタンドに目盛りを付けて前記携帯電話の設置方向と一定の角度を形成し、その後、前記カメラのプレビュー画像または画像の中の当該マーキングを認識して、前記カメラのレンズと前記携帯電話の撮影方向との間の角度を算出する。
【００３２】
（５）前記スタンドにスロットを設けることにより、前記カメラと前記携帯電話（モバイル機器）との間の既知の固定角度を確保する。
【００３３】
さらに、前記空間は部屋であり、前記第１画像は前記部屋の室内画像である。前記３Ｄモデル生成ユニットは、ディープラーニング技術に基づいて前記第１画像中の床、天井、壁の少なくとも１つを認識し、認識した画像を画像処理技術に基づいて複数のブロックに分割し、床と天井の画像ブロックが水平面内にあり、壁の画像ブロックが垂直面内にあるように、それぞれのブロックをおおよそ平面とみなし、各平面の方程式を解いて前記３Ｄモデルを生成する。ここで、前記第１画像中で交差する２つの平面については、算出された交差線と実際に観察された交差線との誤差を最小化する。
【００３４】
さらに、前記３Ｄモデル生成ユニットはさらに、コンピュータビジョン技術を用いて、前記室内画像中のコーナーを認識し、コーナーを連結して部屋の大まかなモデルを生成する。
【００３５】
さらに、前記３Ｄモデルスティッチングユニットはさらに、前記複数の部屋のそれぞれの３Ｄモデルを統一して補正し、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全部屋の壁線方向を統一して補正することが含まれ、前記３Ｄモデルスティッチングユニットは、前記各部屋の３Ｄモデルをスティッチングする時、重なり部分および／または現れた空洞を修正する。
【００３６】
さらに、本発明の撮影に基づく３Ｄモデリングシステムはさらに、２Ｄ平面図生成ユニットを含み、以下のように２Ｄ平面図を生成する。生成した前記３Ｄモデルの各平面を床に垂直な平面に投影し、これらの投影を１つのポリゴンに結合する。得られた前記ポリゴンを補正および簡略化し、以下の方法の少なくとも１つを含む。（１）前記ポリゴンの主要な頂点のみを残し、小さい凹凸を削除し、（２）コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正する。前記撮影位置取得ユニットが取得した各空間の前記位置および撮影方向情報に基づいて、生成した前記各部屋の２Ｄ平面図を同一の二次元座標系でスティッチング処理を行い、前記各部屋のそれぞれの２Ｄ平面図によってスティッチングされた２Ｄ平面図全体を形成する。ドアおよび／または窓の位置を認識してラベル付け、そのうち、ディープラーニングの方法を用いて、前記室内画像上でドアおよび／または窓の位置を認識すること、または、前記撮影ユニットが同一住宅に属する複数の部屋に対して前記第１画像をそれぞれ撮影した時の移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる。
【００３７】
さらに、前記２Ｄ平面図生成ユニットは、前記複数の部屋のそれぞれの２Ｄ平面図を統一して補正し、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全部屋の壁線方向を統一して補正することが含まれる。前記２Ｄ平面図生成ユニットは、前記各部屋の２Ｄ平面図をスティッチングする時、重なり部分および／または現れた空洞を修正する。
【００３８】
さらに、本発明の撮影に基づく３Ｄモデリングシステムはさらに、２Ｄ平面図生成ユニットを含んでもく、以下のように２Ｄ平面図を生成する。前記３Ｄモデルスティッチングユニットが生成した前記３Ｄモデル全体の各平面を床に垂直な平面に投影し、これらの投影を１つのポリゴンに結合する。得られた前記ポリゴンを補正および簡略化し、以下の方法の少なくとも１つを含む。（１）前記ポリゴンの主要な頂点のみを残し、小さい凹凸を削除し、（２）コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正する。ドアおよび／または窓の位置を認識してラベル付け、そのうち、ディープラーニングの方法を用いて、前記室内画像上でドアおよび／または窓の位置を認識すること、または、前記撮影ユニットが同一住宅に属する複数の部屋に対して前記第１画像をそれぞれ撮影した時の移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる。
【００３９】
また、本発明はさらに、自動３Ｄモデリング装置を提供し、モデリングオブジェクトに含まれる複数の空間のそれぞれの第１画像に基づいて、前記各空間の３Ｄモデルをそれぞれ生成する３Ｄモデル生成ユニットと、前記複数の空間のそれぞれの前記第１画像が撮影された時の位置および撮影方向情報に基づいて、前記３Ｄモデル生成ユニットが生成した前記各空間の３Ｄモデルを同一の三次元座標系でスティッチング処理を行い、前記各空間のそれぞれの３Ｄモデルによってスティッチングされた３Ｄモデル全体を形成する３Ｄモデルスティッチングユニットと、を含む。
【００４０】
また、本発明はさらに、自動３Ｄモデリング方法を提供し、モデリングオブジェクトに含まれる複数の空間のそれぞれの第１画像に基づいて、前記各空間の３Ｄモデルをそれぞれ生成する３Ｄモデル生成ステップと、前記複数の空間のそれぞれの前記第１画像が撮影された時の位置および撮影方向情報に基づいて、前記３Ｄモデル生成ステップで生成した前記各空間の３Ｄモデルを同一の三次元座標系でスティッチング処理を行い、前記各空間のそれぞれの３Ｄモデルによってスティッチングされた３Ｄモデル全体を形成する３Ｄモデルスティッチングステップと、を含む。
【００４１】
また、本発明はさらに、撮影に基づく３Ｄモデリング方法を提供し、以下のステップ、すなわち、Ｓ１）同一の撮影スタンドにカメラ機能付きモバイル機器およびカメラを固定するステップと、Ｓ２）スタンドを移動させる過程で、カメラまたはモバイル機器からの複数の第２画像を取得し、前記カメラまたはモバイル機器のセンサと組み合わせて各撮影点の位置および撮影方向を取得し、統一座標系を用いたロードマップを形成するステップと、Ｓ３）前記モバイル機器またはリモートサーバ側で、各撮影点で撮影された第１画像に基づいて、３Ｄモデリングを行うステップと、Ｓ４）Ｓ２で得られた位置および撮影方向に応じて各撮影点の前記３Ｄモデルを同一の三次元座標系に配置し、複数の撮影点の３Ｄモデル間の結合部分をスティッチングし、複数の撮影点が含まれる３Ｄモデル全体を形成するステップと、を含む。
【００４２】
さらに、前記ステップＳ２では、前記モバイル機器またはカメラの位置決めシステムに基づいて、前記モバイル機器またはカメラで撮影した第２画像を用いて、近似した撮影点の第２画像の特徴点を照合することにより、撮影点の相対変位および撮影方向情報を見つけ、全ての撮影点を同一の座標系に含む前記ロードマップを形成し、各撮影点の位置および方向を提供する。
【００４３】
さらに、前記ステップＳ２では、さらに、前記モバイル機器またはカメラを用いて、移動加速度、速度、および方向情報を取得することにより、前記ロードマップを補正する。
【００４４】
さらに、前記ステップＳ２では、さらに、前記カメラのレンズと前記モバイル機器の撮影方向との間の角度を取得し、初期化段階で、前記モバイル機器に基づく位置決めシステムと前記カメラに基づく位置決めシステムを同時に動作させ、スタンドを一定の距離だけ移動させ、この時、２つのシステムがそれぞれ１つの変位ベクトルを提供し、２つのベクトルの間の角度を、前記カメラのレンズと前記モバイル機器の撮影方向との間の角度とする。あるいは、前記カメラのプレビュー画像または撮影画像を手動で回転させて、前記モバイル機器の撮影方向と一致する角度を指定する。あるいは、前記モバイル機器と前記カメラのプレビュー画像または撮影画像を画像認識アルゴリズムで照合することによって、その角度を見つける。あるいは、追加のマーキングを使用して、例えば、スタンドに目盛りを付けて前記モバイル機器の設置方向と一定の角度を形成し、その後、前記カメラのプレビュー画像または画像の中の当該マーキングを認識して、前記カメラのレンズと前記モバイル機器の撮影方向との間の角度を算出する。
【００４５】
さらに、前記ステップＳ３は、以下を含む。Ｓ３１）ディープラーニング技術に基づいて、画像中の床、天花板、壁の少なくとも１つを認識する。Ｓ３２）認識した画像を画像処理技術に基づいて複数のブロックに分割し、床と天井の画像ブロックが水平面内にあり、壁の画像ブロックが垂直面内にあるように、それぞれのブロックをおおよそ平面とみなし、各平面の方程式を解いて前記３Ｄモデルを生成する。画像中で交差する２つの平面については、２つの平面の交差線を制約条件とし、算出された交差線と実際に観察された交差線との誤差を最小化する。
【００４６】
さらに、前記ステップＳ３はさらに、コンピュータビジョン技術を用いて、室内画像中のコーナーを認識し、コーナーを連結して部屋の大まかなモデルを生成する。
【００４７】
さらに、前記ステップＳ４は、以下を含む。Ｓ４１）各撮影点の位置と撮影方向に基づいて、例えば、１つの変換行列を用いて、シングル撮影点の３Ｄモデルのローカル座標をグローバルワールド座標に変換することで、全ての撮影点の３Ｄモデル全体を取得する。Ｓ４２）複数の撮影点の３Ｄモデルを統一して補正し、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全ての撮影点の壁線方向を統一して補正することが含まれる。Ｓ４３）各撮影点の３Ｄモデルをスティッチングする時、重なり部分および／または現れた空洞を修正する。
【００４８】
従来技術と比較して、本発明は、多様な撮影機器に対応できること、３Ｄモデリングおよびスティッチング作業を、モバイル機器のような計算能力の限られた機器内で実行でき、リモートサーバ上でも実行できること、各撮影点の相対位置とカメラのレンズ撮影方向情報に基づいて、各撮影点の３Ｄモデルを自動的にスティッチングして３Ｄモデル全体を生成できること、必要に応じて２Ｄ平面図を生成できること、のうちの１つ以上の有益な効果を達成することができる。本発明によれば、モデリングの成功率が高く、１部屋につき１セットの画像のみを撮影してパノラマを合成することに対応し、モデリング効率が高く、ユーザーに良好な体験を提供でき、モデリング効率が高いため、撮影時のリアルタイムモデリングが可能であり、リモートサーバー上での正確なモデリングも可能であり、目に見えるものは手に入れるものであり、ユーザーはリアルタイムモデリング結果を参考にして撮影場所を選択し、撮り逃しを防ぐことができ、モデリングには家具などの外乱が含まれていない場合があり、正確な住宅プランの生成に資することができる。
【図面の簡単な説明】
【００４９】
【図１】本発明が適用され得る例示的なシステムのアーキテクチャ図である。
【図２】本発明の撮影に基づく３Ｄモデリングシステムの一実施例の構造を示す図である。
【図３】本発明の撮影に基づく３Ｄモデリングシステムの別の実施例の構造を示す図である。
【図４】本発明の撮影に基づく３Ｄモデリング方法の一実施例のフローチャートである。
【図５】本発明の自動３Ｄモデリング装置の一実施例の構造を示す図である。
【図６】本発明の自動３Ｄモデリング装置の別の実施例の構造を示す図である。
【図７】本発明の自動３Ｄモデリング方法の一実施例のフローチャートである。
【図８】本発明の電子機器の一実施例の構造を示す図である。
【００５０】
添付の図面と併せて以下の特定の実施形態を参照すると、本発明の各実施形態の上記および他の特徴、利点、態様がより明らかになるであろう。添付の図面全体を通して、同一または類似の参照番号は、同一または類似の要素を示す。添付の図面は概略図であり、原本および要素は必ずしも縮尺で描かれていないことを理解すべきである。
【発明を実施するための形態】
【００５１】
別段の定義がない限り、本明細書で使用される全ての技術的および科学的用語は、当業者によって一般的に理解されるのと同じ意味を有する。本出願の明細書で使用される用語は、特定の実施例を説明するためのものであり、本発明を限定することを意図するものではない。本発明の明細書および特許請求の範囲ならびに上記図面の説明における「含む」および「有する」という用語およびそれらの変形は、非排他的な包含をカバーすることを意図している。本発明の明細書および特許請求の範囲または上記図面における「第１」、「第２」などの用語は、異なる対象物を区別するために使用され、特定の順序を説明するために使用されるものではない。
【００５２】
本明細書における「実施例」への言及は、実施例と併せて記載された特定の特徴、構造、または特性が、本発明の少なくとも１つの実施例に含まれ得ることを意味する。本明細書の様々な位置に現れる句は、必ずしも全てが同じ実施例を指すものではなく、また、他の実施例と相互に排他的な独立した実施例または代替的な実施例を指すものでもない。本明細書に記載された実施例は、他の実施例と組み合わせてもよいことが、当業者によって明示的かつ暗黙的に理解される。
【００５３】
当業者が本発明の技術的解決手段をよりよく理解できるようにするために、添付の図面および実施例を組み合わせて本発明をさらに説明する。
【００５４】
（システム構造）
【００５５】
まず、本発明の一実施例のシステムの構造について説明する。図１に示すように、システム構造１００は、モバイル機器１０１、１０２、１０３、１０４、ネットワーク１０５およびサーバ１０６を含み得る。ネットワーク１０５は、端末機器１０１、１０２、１０３、１０４とサーバ１０６との間の通信リンクを提供するための媒体である。
【００５６】
本実施例では、図１に示すモバイル機器１０１、１０２、１０３または１０４は、ネットワーク１０５を介して各種情報を伝送することができる。ネットワーク１０５は、有線、無線通信リンクまたはファイバケーブルなどの様々な接続タイプを含み得る。上記の無線接続方法は、３Ｇ／４Ｇ／５Ｇ接続、ＷｉＦｉ接続、Ｂｌｕｅｔｏｏｔｈ接続、ＷｉＭＡＸ接続、Ｚｉｇｂｅｅ接続、ＵＷＢ接続、ローカルエリアネットワーク（「ＬＡＮ」）、ワイドエリアネットワーク（「ＷＡＮ」）、Ｉｎｔｅｒｎｅｔ（例えば、インターネット）、エンドツーエンドネットワーク（例えば、アドホックエンドツーエンドネットワーク）、および現在知られているかまたは将来開発される他のネットワーク接続方法を含み得るが、これらに限定されないことに留意すべきである。ネットワーク１０５は、ＨＴＴＰ（Ｈｙｐｅｒ Ｔｅｘｔ Ｔｒａｎｓｆｅｒ Ｐｒｏｔｏｃｏｌｏｃｏｌ、ハイパーテキスト転送プロトコル）などの現在知られているまたは将来開発される任意のネットワークプロトコルを使用して通信してもよく、デジタルデータ通信の任意の形態または媒体（例えば、通信ネットワーク）と相互接続してもよい。
【００５７】
ユーザは、モバイル機器１０１、１０２、１０３、１０４を使用して、ネットワーク１０５を介してサーバ１０６と対話し、メッセージの受信や送信などを行ってもよい。モバイル機器１０１、１０２、１０３、または１０４には、ライブビデオおよび再生アプリケーション、ウェブブラウザアプリケーション、ショッピングアプリケーション、検索アプリケーション、インスタントメッセンジャー、電子メールクライアント、ソーシャルプラットフォームソフトウェアなどの各種クライアントアプリケーションをインストールすることができる。
【００５８】
モバイル機器１０１、１０２、１０３、または１０４は、タッチスクリーンを有し、および／またはウェブブラウジングをサポートし、カメラ機能を有する様々な電子機器であってもよく、スマートフォン、タブレット、電子書籍リーダー、ＭＰ３（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｃｏｍｐｒｅｓｓｅｄ  Ｓｔａｎｄａｒｄ  Ａｕｄｉｏ  Ｌｅｖｅｌ  ３）プレーヤー、ＭＰ４（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｃｏｍｐｒｅｓｓｅｄ  Ｓｔａｎｄａｒｄ  Ａｕｄｉｏ  Ｌｅｖｅｌ  ４）プレーヤー、ヘッドマウントディスプレイ、ノートパソコン、デジタルラジオ受信機、ＰＤＡ（パーソナル・デジタル・アシスタント）、ＰＭＰ（ポータブル・マルチメディア・プレーヤー）、車載端末などのモバイル端末、およびデジタルテレビ、デスクトップ・コンピュータなど含むが、これらに限定されない。
【００５９】
サーバ１０６は、モバイル機器１０１、１０２、１０３、１０４上での３Ｄモデリングをサポートするバックエンドサーバなど、各種サービスを提供するサーバであってもよい。
【００６０】
図１のモバイル機器、ネットワーク、およびサーバの数は、単なる例示であることが理解されるべきである。実装のニーズに応じて、任意の数のモバイル機器、ネットワーク、およびサーバを有してもよい。
【００６１】
ここで、モバイル機器は、単独で、またはカメラなどの他の電子端末機器と同じスタンド（例えば、三脚）に固定されることにより、Ａｎｄｒｏｉｄでのアプリケーションの実行に連動して、またはｉＯＳ、Ｗｉｎｄｏｗｓ、Ｈａｒｍｏｎｙなどの他のオペレーティングシステムでのアプリケーションの実行に連動して、本発明の実施例の方法を実現することができる。
【００６２】
（撮影に基づく３Ｄモデリングシステム）
【００６３】
図２は、本発明の撮影に基づく３Ｄモデリングシステムの一実施例の構造を示す図である。図２に示すように、当該実施例のカメラに基づく３Ｄモデリングシステムは、複数の位置される空間に対して当該空間の第１画像をそれぞれ撮影するための撮影ユニット２０１を含み、ここで、第１画像は、例えば、３Ｄモデリング用画像であってもよく、通常の写真、パノラマ写真、処理されたパノラマ写真（歪みが除去されたものなど）を含んでいてもよい。当該撮影ユニット２０１は、モバイル機器に搭載された撮影モジュールによって実現されてもよい。
【００６４】
ここで、撮影ユニット２０１は、各空間の間を移動する過程で複数の第２画像を撮影してもよく、ここで、第２画像は、例えば、位置決め用画像であってもよく、通常の写真、パノラマ写真、処理されたパノラマ写真（歪みが除去されたものなど）を含んでいてもよい。ここで、第１画像と第２画像は、限定されることなく、同一の画像であってもよいし、部分的に同一の画像であってもよいし、異なる画像であってもよい。ここで、位置決め用画像はさらに、撮影ユニット２０１が撮影した写真、プレビュー画像、動画フレームなどであってもよく、記憶されてもよく、記憶されずに特徴点の認識や照合にのみ使用されてもよい。
【００６５】
ここで、撮影ユニット２０１は、例えば、位置決めセンサ及び方位方向センサ、位置される空間の３Ｄモデリング用画像を撮影した際にの位置決め情報および方位情報を取得することができ、ここで、位置決めセンサは、例えば、加速度センサ、ジャイロセンサ、直線加速度センサ、回転ベクトルセンサ、重力センサなどのうちの１つ以上であってもよく、方向センサは、例えば、方向センサ、磁気センサなどのうちの１つ以上であってもよい。
【００６６】
３Ｄモデル生成ユニット２０２は、各空間ごとに撮影ユニット２０１が撮影した３Ｄモデリング用画像に基づいて、各空間の３Ｄモデルをそれぞれ生成する。
【００６７】
例えば、撮影ユニット２０１は、同一の撮影点で３Ｄモデリング用画像をそれぞれ撮影する２眼レンズを有し、３Ｄモデル生成ユニット２０２は、それぞれの２眼レンズで撮影された３Ｄモデリング用画像を比較して対応する画素を決定し、３Ｄモデルの生成に用いるための対応する各画素の深さ情報を取得する。
【００６８】
もちろん、１つ以上の実施例では、例えば、３Ｄモデル生成ユニット２０２はさらに、ディープラーニング技術を用いて、３Ｄモデリング用画像における画素の各々または一部の深さを予測し、ディープラーニング技術を計算または直接適用して画素の各々または一部の法線方向を予測することにより、各空間の３Ｄモデルを生成することができる。
【００６９】
ディープラーニング技術により、３Ｄモデリング用画像における各画素の深さまたは各画素の法線方向を予測する方法は、例えば、単一の室内３６０°画像から密な深さと表面法線および平面境界を予測するための平面認識畳み込みニューラルネットワークを訓練するための方法であってもよいし（例えば、Ｐａｎｏ  Ｐｏｐｕｐｓ：Ｉｎｄｏｏｒ  ３Ｄ  Ｒｅｃｏｎｓｔｒｕｃｔｉｏｎ  ｗｉｔｈ  ａ  Ｐｌａｎｅ−Ａｗａｒｅ  Ｎｅｔｗｏｒｋを参照）、大規模な三次元データセットを用いて、３６０°画像からエンドツーエンドで深さを予測するための方法であってもよい（例えば、ＯｍｎｉＤｅｐｔｈ：Ｄｅｎｓｅ  Ｄｅｐｔｈ  Ｅｓｔｉｍａｔｉｏｎ  ｆｏｒ  Ｉｎｄｏｏｒｓ  Ｓｐｈｅｒｉｃａｌ  Ｐａｎｏｒａｍａｓを参照）。
【００７０】
撮影位置取得ユニット２０３は、撮影ユニット２０１が各空間の３Ｄモデリング用画像を撮影した時の位置情報と撮影方向情報を取得するだけでなく、レンズの焦点距離やレンズの走査間隔、および画像内容の特徴量の歪みや画像内容の特徴量の相対寸法に影響を与え得る焦点距離や広角、望遠鏡ヘッドの設定など、画像内容に影響を与え得る撮影パラメータ情報を取得することもできる。
【００７１】
ここで、撮影位置取得ユニット２０３は、例えば、撮影ユニット２０１が撮影した複数の位置決め用画像における近接した撮影点画像を用いて特徴点照合を行うことにより、各撮影点の相対変位および撮影方向情報を取得し、例えば、全ての撮影点を同一の座標系で含むロードマップを形成することにより、撮影ユニット２０１が位置される空間の３Ｄモデリング用画像を撮影した時の位置および撮影方向情報を取得することができる。
【００７２】
ここで、撮影位置取得ユニット２０３は、例えば、撮影ユニット２０１が位置される空間の３Ｄモデリング用画像を撮影した時に提供される位置決め情報や方向情報に基づいて、撮影ユニット２０１が位置される空間の３Ｄモデリング用画像を撮影した時の位置や撮影方向情報を取得してもよい。
【００７３】
ここで、撮影位置取得ユニット２０３はさらに、加速度センサや速度センサなどの変位センサ、およびジャイロセンサや気圧センサなどの動作センサを含む、撮影ユニット２０１に搭載されたセンサから提供される加速度情報や移動速度情報などの変位情報、または他の運動・動作情報などにより、相対変位して形成されたロードマップおよび撮影方向情報を補正する。
【００７４】
３Ｄモデルスティッチングユニット２０４は、撮影位置取得ユニット２０３が取得した各空間の位置および撮影方向情報に基づいて、３Ｄモデル生成ユニット２０２が生成した各空間の３Ｄモデルを同一の三次元座標系でスティッチング処理を行い、各空間のそれぞれの３Ｄモデルによってスティッチングされた３Ｄモデル全体を形成する。
【００７５】
ここで、３Ｄモデルスティッチングユニット２０４は、各部屋を撮影する際に撮影位置取得ユニット２０３が取得した位置情報と撮影方向情報に基づいて、例えば、１つの変換行列を用いて、１つの部屋の３Ｄモデルのローカル座標をグローバルワールド座標に変換することで、全ての撮影点の３Ｄモデル全体を取得することも可能である。
【００７６】
ここで、１つの部屋の３Ｄモデルのローカル座標をグローバルワールド座標に変換する方法としては、撮影ユニット２０１を所定距離で移動させ、撮影位置取得ユニット２０３に所定距離（例えば１ｍ）の２つの端点の座標を取得させ、２つの端点の座標の差と所定距離との比を、ローカル座標とワールド座標との比とする方法があり、あるいは、撮影位置取得ユニット２０３によって認識された特徴点を用いて、空間の底面または上面が位置する平面の高さと撮影ユニット２０１の高さとの比を、ローカル座標とワールド座標との比として推定し、そのうち、撮影ユニット２０１が最初の撮影点を撮影する前に、またはその後の撮影の移動中に、所定距離を移動させて所定数の特徴点を取得する方法がある。
【００７７】
ここで、空間の底面または上面が位置する平面の高さと撮影ユニット２０１の高さとの比を推定する方法としては、例えば、撮影点を底面に垂直に投影した後、特徴点を（底面で）接続し、これら３点が三角形を形成する方法が挙げられる。投影線をＬ１、撮影点から特徴点までの接続線をＬ２、投射点から特徴点までの接続線をＬ３とし、Ｌ１とＬ２の間の角度は（パノラマ画像の特性に基づいて）既知であり、Ｌ３の長さと上記角度に基づいて三角関数を用いてＬ１を算出し、実際のカメラの高さに基づいて縮尺を算出することができる。
【００７８】
ここで、所定距離とは、所定数の特徴点を取得するのに十分な距離を満たす必要がある。
【００７９】
具体的には、例えば、１つ以上の実施例では、撮影ユニット２０１は、カメラまたは携帯電話のカメラのみを使用しており、得られた座標は相対値であるため、座標を絶対値に変換する必要がある。つまり、画像比較のためのアルゴリズムは通常、正確なスケールを持たず、座標は相対的であり、特定の寸法を持たない。また、これは、異なる画像から算出された変位やスケールに不整合が生じ、維持ずれにつながる。上記の座標変換方法は、以下のように実現してもよい。
【００８０】
ａ）ユーザーは、所定距離（例えば１ｍ）を移動させ、移動した距離の２つの端点の座標を取得し、その２つの端点の座標の差と移動距離の比を、ローカル座標とワールド座標の比とするができる。
【００８１】
ｂ）システムが認識した特徴点を用いて、例えば、部屋の地面や屋根が位置する平面を推定する。座標系における垂直方向の座標軸をｚ軸とすると、当該平面の方程式はｚ＝ａであり、撮影ユニット２０１の高さが既知（または撮影ユニット２０１から屋根までの高さが既知）で、ｈとすると、ａ／ｈはローカル座標とワールド座標との比である。ここで、ａを推定するには、同一平面（地面や屋根）上にある一定数の特徴点を見つける必要があるため、実施中では、初期化処理を設定し、すなわち、十分に長い距離（例えば、２ｍ以上）を移動することで、異なる環境において十分な数の特徴点を蓄積することができる。この初期化処理は、最初の撮影点の前に配置し、初期化に失敗した場合には、後続の撮影点に影響を与えることなく繰り返し行うことができ、あるいは、後続の撮影点間の移動中に初期化処理を行うことができる。
【００８２】
本実施形態では、撮影ユニット２０１は、例えば、カメラおよび／またはカメラ機能付き携帯電話によって実現されてもよい。
【００８３】
１つ以上の実施例では、例えば、撮影ユニット２０１を実装したカメラとカメラ機能付き携帯電話とを同一の撮影スタンドに固定し、スタンドを移動させる過程で、カメラまたはカメラ機能付き携帯電話が撮影した複数の位置決め用画像を取得し、それにより、カメラまたはカメラ機能付き携帯電話が位置される空間に対して３Ｄモデリング用画像を撮影した時の位置および撮影方向情報を取得するようにしてもよい。
【００８４】
ここで、カメラまたは前記カメラ機能付き携帯電話の位置決めシステムに基づいて、前記カメラまたはカメラ機能付き携帯電話が撮影した位置決め用画像を用いて、近接した撮影点の位置決め用画像の特徴点を照合することにより、各撮影点の相対変位情報および撮影方向情報を取得し、各撮影点の相対位置および方向を提供することも可能である。
【００８５】
１つ以上の実施形態では、撮影点の位置、方向、およびロードマップは、携帯電話によって取得される。カメラは回転ネジを介してスタンドに固定できるので、カメラと携帯電話との角度は、取り付けるたびに異なる場合がある（ただし、一組の住宅を撮影している間は角度は変わらない）。１つの部屋の３Ｄモデルは、この角度で回転させ、携帯電話で取得した位置と撮影方向に基づいて、グローバル座標に入れて、３Ｄモデル全体を形成する必要がある。
【００８６】
ここで、撮影ユニット２０１が第１空間の３Ｄモデリング用画像を撮影する前に、あるいはその後の移動中に、カメラのレンズと携帯電話の撮影方向とのなす角度を、以下のいずれか１つ以上の方法で取得してもよい。
【００８７】
ここで、カメラのレンズの撮影方向とは、一般的なパノラマカメラの前面魚眼レンズおよび背面魚眼レンズのいずれかの方向、または、１つのレンズを回転させて複数枚の写真を撮影するパノラマカメラが第１枚の写真を撮影する時のレンズの方向を指してもよい。
【００８８】
（１）携帯電話に基づく位置決めシステムとカメラに基づく位置決めシステムを同時に動作させ、スタンドを一定の距離で移動させ、この時、２つのシステムがそれぞれ１つの変位ベクトルを提供し、２つのベクトルの間の角度を、カメラのレンズと携帯電話の撮影方向との間の角度とする。
【００８９】
（２）カメラのプレビュー画像または撮影画像を手動で回転させて、携帯電話の撮影方向と一致する角度を指定する。
【００９０】
（３）携帯電話とカメラのプレビュー画像または撮影画像を画像認識アルゴリズムで照合することによって、その角度を見つけ、ここで、角度を見つけるための可能な実施方法は、以下の方法のうちの少なくとも１つを含み得る。
【００９１】
携帯電話とカメラの両方で撮影された画像中の特徴量を計算し、例えば、スケール不変特徴変換（Ｓｃａｌｅ−ｉｎｖａｒｉａｎｔ  ｆｅａｔｕｒｅ  ｔｒａｎｓｆｏｒｍ、ＳＩＦＴ）を使用して、２つの画像中の照合した特徴量の位置の差に基づいて、２つのレンズの撮影方向間の角度を計算する。または、
【００９２】
２つのレンズで撮影されたビデオストリームを用いて、ビジョンベースの同期定位・マッピングシステム（Ｖｉｓｕａｌ  Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  Ａｎｄ  Ｍａｐｐｉｎｇ、ＶＳＬＡＭ）をそれぞれ構築し、２つのシステム内でのカメラ変位の角度は、レンズの撮影方向の角度となる。
【００９３】
（４）追加のマーキングを使用して、例えば、スタンドに目盛りを付けて携帯電話の設置方向と一定の角度を形成し、その後、カメラのプレビュー画像または画像の中の当該マーキングを認識して、カメラのレンズと携帯電話の撮影方向との間の角度を算出する。
【００９４】
（５）前記スタンドにスロットを設けることにより、前記カメラと前記携帯電話（モバイル機器）との間の既知の固定角度を確保する。
【００９５】
もちろん、ここで、カメラ画像から撮影点の位置、方向、ロードマップを算出することも可能であり、この場合、３Ｄモデルの算出はカメラと携帯電話の角度に依存しないため、携帯電話をスタンドに固定する必要がない。
【００９６】
ここで、カメラに方向センサも搭載されていれば、カメラと携帯電話の方向を直接取得して、両者の角度を算出することができる。
【００９７】
３Ｄモデル生成ユニット２０２は、携帯電話またはリモートサーバによって実現され、リモートサーバによって実現される場合には、ネットワークを介して、カメラおよび／またはカメラ機能付き携帯電話が撮影して送信した３Ｄモデリング用画像、位置決め用画像、および／または動作センサが取得した情報を受信して、前記各空間の３Ｄモデルを生成する。
【００９８】
撮影位置取得ユニット２０３は、例えば、前記カメラまたは前記携帯電話によって実現されてもよい。
【００９９】
３Ｄモデルスティッチングユニット２０４は、例えば、前記携帯電話または前記リモートサーバによって実現されてもよく、前記リモートサーバによって実現される場合には、ネットワークを介して、撮影位置取得ユニット２０３から送信された各空間の前記位置および撮影方向情報を受信し、当該位置および撮影方向情報に基づいてスティッチング処理を完了し、生成した３Ｄモデル全体を前記携帯電話または他の機器に送信する。図３は、本発明の撮影に基づく３Ｄモデリングシステムの別の実施例の構造を示す図である。図３に示すように、本実施形態の撮影に基づく３Ｄモデリングシステムにおいて、撮影に基づく３Ｄモデリング空間は、例えば、部屋であり、３Ｄモデリング用画像は、例えば、部屋の内部の画像であり、当該システムは、以下を含む。
【０１００】
撮影ユニット３０１であって、複数の部屋に対して当該部屋の３Ｄモデリング用画像をそれぞれ撮影するために使用される。
【０１０１】
ここで、撮影ユニット３０１は、各部屋の間を移動する過程で複数の位置決め用画像を撮影してもよい。
【０１０２】
ここで、撮影ユニット３０１は、例えば、位置センサや方向センサを有しており、配置された部屋の３Ｄモデリング用画像を撮影した時の位置決め情報および方位情報を取得できる。
【０１０３】
３Ｄモデル生成ユニット３０２であって、各部屋ごとに撮影ユニット３０１が撮影した３Ｄモデリング用画像に基づいて、各部屋の３Ｄモデルをそれぞれ生成する。
【０１０４】
ここで、３Ｄモデル生成ユニット３０２は、ディープラーニング技術に基づいて３Ｄモデリング用画像中の床、天井、壁の少なくとも１つを認識し、認識した画像を画像処理技術に基づいて複数のブロックに分割し、床と天井の画像ブロックが水平面内にあり、壁の画像ブロックが垂直面内にあるように、それぞれのブロックをおおよそ平面とみなし、各平面の方程式を解いて３Ｄモデルを生成する。ここで、３Ｄモデリング用画像中で交差する２つの平面については、算出された交差線と実際に観察された交差線との誤差を最小化する。
【０１０５】
ここで、３Ｄモデル生成ユニット３０２はさらに、コンピュータビジョン技術を用いて、室内画像中のコーナーを認識し、コーナーを連結して部屋の大まかなモデルを生成する。
【０１０６】
ここで、１つ以上の実施例では、画像内のコーナーを認識する方法は、例えば、関心点検出と自己教師付き学習フレームワーク（例えば、ＳｕｐｅｒＰｏｉｎｔ：Ｓｅｌｆ−Ｓｕｐｅｒｖｉｓｅｄ  Ｉｎｔｅｒｅｓｔ  Ｐｏｉｎｔ  Ｄｅｔｅｃｔｉｏｎ  ａｎｄ  Ｄｅｓｃｒｉｐｔｉｏｎを参照）を使用して、コーナーを連結して部屋の大まかなモデルを形成することにより、同じ三次元空間構造の中に頻繁に現れるコーナーなどのオブジェクトを捉えることができる幾何学的な関係を可能にする。
【０１０７】
撮影位置取得ユニット３０３であって、撮影ユニット３０１が各部屋の３Ｄモデリング用画像を撮影した時の位置および撮影方向情報を取得するために使用される。
【０１０８】
ここで、撮影位置取得ユニット３０３は、例えば、撮影ユニット３０１が撮影した複数の位置決め用画像における近接した撮影点画像を用いて特徴点照合を行うことにより、各撮影点の相対変位および撮影方向情報を取得し、例えば、全ての撮影点を同一の座標系で含むロードマップを形成することにより、撮影ユニット３０１が配置された部屋の３Ｄモデリング用画像を撮影した時の位置および撮影方向情報を取得することができる。
【０１０９】
ここで、撮影位置取得ユニット３０３は、例えば、撮影ユニット３０１が配置された部屋の３Ｄモデリング用画像を撮影した時に提供される位置決め情報や方向情報に基づいて、撮影ユニット３０１が位置される空間の３Ｄモデリング用画像を撮影した時の位置や撮影方向情報を取得してもよい。
【０１１０】
ここで、撮影位置取得ユニット３０３はさらに、撮影ユニット３０１に搭載された加速度センサ、速度センサから提供される加速度情報や移動速度情報により、ロードマップを補正する。
【０１１１】
３Ｄモデルスティッチングユニット３０４は、撮影位置取得ユニット３０３が取得した各部屋の位置および撮影方向情報に基づいて、３Ｄモデル生成ユニット３０２が生成した各部屋の３Ｄモデルを同一の三次元座標系でスティッチング処理を行い、各部屋のそれぞれの３Ｄモデルによってスティッチングされた３Ｄモデル全体を形成する。
【０１１２】
ここで、３Ｄモデルスティッチングユニット３０４は、各部屋を撮影する際に撮影位置取得ユニット３０３が取得した位置情報と撮影方向情報に基づいて、例えば、１つの変換行列を用いて、１つの部屋の３Ｄモデルのローカル座標をグローバルワールド座標に変換することで、全ての撮影点の３Ｄモデル全体を取得することも可能である。
【０１１３】
ここで、３Ｄモデルスティッチングユニット３０４はさらに、複数の部屋のそれぞれの３Ｄモデルを統一して補正してもよく、例えば、統計的手法を用いて全部屋の壁線方向を統一して補正し、そのうち、室内シーンにおいて、各部屋の壁が平行関係と垂直関係を満たす場合がほとんどであり、各部屋の壁線方向の平均値または中央値を求めたり、ＲＡＮＳＡＣ（Ｒａｎｄｏｍ  Ｓａｍｐｌｅ  Ｃｏｎｓｅｎｓｕｓ：ランダムサンプルコンセンサス）などのアルゴリズムを用いて、可能性の最も高い壁線方向を見つけたりすることによって、一定の範囲内の誤差を持つ部屋を均一な方向に調整して、全ての部屋が一定の偏差範囲内で平行な壁線を持つようにする。
【０１１４】
ここで、３Ｄモデルスティッチングユニット３０４はさらに、各部屋の３Ｄモデルをスティッチングする時、重なり部分および／または現れた空洞を修正してもよく、ここで、修正方法は、以下の少なくとも１つの方法を含み得る。
【０１１５】
部屋の位置が正確であるが、輪郭認識に誤差があると仮定する場合、重なり部分をカットして空洞部分を埋めていく。
【０１１６】
部屋の輪郭認識が比較的正確であるが、位置に誤差がある仮定する場合、各部屋を移動させて、なるべく重なりや空洞をなくす。
【０１１７】
もちろん、実情に近づけるため、実際の応用では、２つの方法を組み合わせて何度も繰り返すこともできる。
【０１１８】
２Ｄ平面図生成ユニット３０５は、以下のように２Ｄ平面図を生成する。
【０１１９】
１、生成した３Ｄモデルの各平面を床に垂直な平面に投影し、これらの投影を１つのポリゴンに結合する。
【０１２０】
２、得られたポリゴンを補正および簡略化し、例えば、以下の方法を含み得る。
（１）ポリゴンの主要な頂点のみを残し、小さい凹凸を削除し、例えば、壁の標準的な厚さ（例えば１２ｃｍや２４ｃｍ）よりも小さい凹凸を削除してもよい。
【０１２１】
（２）コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正する。
【０１２２】
もちろん、得られたポリゴンは、他の方法でも補正したり簡略化したりすることができるが、限定されない。
【０１２３】
３、撮影位置取得ユニット３０３が取得した各部屋の位置および撮影方向情報に基づいて、生成した各部屋の２Ｄ平面図を同一の二次元座標系でスティッチング処理を行い、各部屋のそれぞれの２Ｄ平面図によってスティッチングされた２Ｄ平面図全体を形成する。
【０１２４】
４、ドアおよび／または窓の位置を認識してラベル付け、そのうち、ディープラーニングの方法を用いて、室内画像上でドアおよび／または窓の位置を認識すること、または、撮影ユニット３０１が、同一住宅に属する複数の部屋に対して３Ｄモデリング用画像をそれぞれ撮影した時の移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる。
【０１２５】
ここで、１つ以上の実施例では、ディープラーニング法を用いて室内画像上でドアおよび／または窓の位置を認識する方法では、例えば、単段キーポイント検出モデルによって、一対のキーポイントではなく３つのキーポイントを用いて、ドアおよび／または窓などの各対象物を検出して、プレシジョンおよびリコール率（Ｐｒｅｃｉｓｉｏｎ  ＆  Ｒｅｃａｌｌ）を向上させてもよい。
【０１２６】
ここで、２Ｄ平面図生成ユニット３０５はさらに、複数の部屋のそれぞれの２Ｄ平面図を統一して補正してもよく、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全部屋の壁線方向を統一して補正することが含まれ、ここで、統一補正の方法は、上述したものと同様であってもよく、繰り返すことはない。
【０１２７】
ここで、２Ｄ平面図生成ユニット３０５はさらに、各部屋の２Ｄ平面図をスティッチングする時、重なり部分および／または現れた空洞を修正する。
【０１２８】
ここで、２Ｄ平面図生成ユニットはさらに、以下のように２Ｄ平面図を生成してもよい。
【０１２９】
１、３Ｄモデルスティッチングユニット３０４が生成した３Ｄモデル全体の各平面を床に垂直な平面に投影し、これらの投影を１つのポリゴンに結合する。
【０１３０】
２、得られたポリゴンを補正および簡略化し、例えば、以下の方法を含み得る。
【０１３１】
（１）ポリゴンの主要な頂点のみを残し、小さい凹凸を削除する。
【０１３２】
（２）コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正する。
【０１３３】
もちろん、得られたポリゴンは、他の方法でも補正したり簡略化したりすることができるが、限定されない。
【０１３４】
３、ドアおよび／または窓の位置を認識してラベル付け、そのうち、ディープラーニングの方法を用いて、室内画像上でドアおよび／または窓の位置を認識すること、または、撮影ユニット３０１が、同一住宅に属する複数の部屋に対して３Ｄモデリング用画像をそれぞれ撮影した時の移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる。
【０１３５】
ここで、１つ以上の実施例では、ディープラーニング法を用いて室内画像上でドアおよび／または窓の位置を認識する方法では、例えば、単段キーポイント検出モデルによって、一対のキーポイントではなく３つのキーポイントを用いて、ドアおよび／または窓などの各対象物を検出して、プレシジョンおよびリコール率を向上させてもよい。
【０１３６】
（撮影に基づく３Ｄモデリング方法）
【０１３７】
図４は、本発明の撮影に基づく３Ｄモデリング方法のフローチャートである。
【０１３８】
図４を参照し、本発明によって提供される撮影に基づく３Ｄモデリング方法は、以下のステップを含む。
【０１３９】
Ｓ１）同一の撮影スタンド（三脚を含む）にカメラ機能付きモバイル機器（携帯電話、タブレットなどを含む）および／またはカメラ（パノラマカメラ、魚眼カメラ、通常のデジタルカメラを含む）を固定する。
【０１４０】
Ｓ２）スタンドを移動させる過程で複数の位置決め用画像を取得し、画像処理アルゴリズムを用いて、カメラまたはモバイル機器のセンサと組み合わせて各撮影点の位置と撮影方向を取得し、統一座標系を用いたロードマップを形成する。
【０１４１】
ここで、ステップＳ２では、モバイル機器またはカメラの位置決めシステムに基づいて、モバイル機器またはカメラで撮影した位置決め用画像を用いて、近似した撮影点の位置決め用画像の特徴点を照合することにより、撮影点の相対変位および撮影方向情報を見つけ、全ての撮影点を同一の座標系に含む前記ロードマップを形成し、各撮影点の位置および方向を提供する。
【０１４２】
ここで、ステップＳ２では、さらに、モバイル機器またはカメラを用いて、移動加速度、速度、および方向情報を取得することにより、前記ロードマップを補正する。
【０１４３】
ここで、ステップＳ２では、さらに、カメラのレンズとモバイル機器の撮影方向との間の角度を取得することをさらに含み、そのうち、初期化段階で、モバイル機器に基づく位置決めシステムとカメラに基づく位置決めシステムを同時に動作させ、スタンドを一定の距離だけ移動させ、この時、２つのシステムがそれぞれ１つの変位ベクトルを提供し、２つのベクトルの間の角度を、カメラのレンズとモバイル機器の撮影方向との間の角度とすること；あるいは、モバイル機器と同じ角度を向くようにカメラを手動で調整し、例えば、カメラのプレビュー画像または撮影画像を回転させて、モバイル機器の撮影方向と一致する角度を指定すること；あるいは、モバイル機器とカメラのプレビュー画像または撮影画像を画像認識アルゴリズムで照合することによって、その角度を見つけること；あるいは、スタンドに目盛りを付けるなど、追加のマーキングを使用して、モバイル機器の設置方向と一定の角度を形成し、その後、カメラのプレビュー画像または画像の中の当該マーキングを認識して、カメラのレンズとモバイル機器の撮影方向との間の角度を算出すること、が含まれる。
【０１４４】
Ｓ３）モバイル機器またはリモートサーバ側で、各撮影点で撮影された３Ｄモデリング用画像に基づいて、ディープラーニングアルゴリズムなどによって、３Ｄモデリングを行い、各撮影点の３Ｄモデルおよび／または２Ｄ平面図を取得する。
【０１４５】
ここで、ステップＳ３は、以下を含む。
【０１４６】
Ｓ３１）ディープラーニング技術に基づいて、画像中の床、天井、壁の少なくとも１つを認識する。
【０１４７】
Ｓ３２）認識した画像を画像処理技術に基づいて複数のブロックに分割し、床と天井の画像ブロックが水平面内にあり、壁の画像ブロックが垂直面内にあるように、それぞれのブロックをおおよそ平面とみなし、各平面の方程式を解いて３Ｄモデルを生成する。画像中で交差する２つの平面については、２つの平面の交差線を制約条件とし、算出された交差線と実際に観察された交差線との誤差を最小化する。
【０１４８】
ここで、ステップＳ３はさらに、コンピュータビジョン技術を用いて、室内画像中のコーナーを認識し、コーナーを連結して部屋の大まかなモデルを生成するステップを含む。ここで、１つ以上の実施例では、画像内のコーナーを認識する方法は、例えば、関心点検出と自己教師付き学習フレームワーク（例えば、ＳｕｐｅｒＰｏｉｎｔ：Ｓｅｌｆ−Ｓｕｐｅｒｖｉｓｅｄ  Ｉｎｔｅｒｅｓｔ  Ｐｏｉｎｔ  Ｄｅｔｅｃｔｉｏｎ  ａｎｄ  Ｄｅｓｃｒｉｐｔｉｏｎを参照）を使用して、コーナーを連結して部屋の大まかなモデルを形成することにより、同じ三次元空間構造の中に頻繁に現れるコーナーなどのオブジェクトを捉えることができる幾何学的な関係を可能にする。
【０１４９】
Ｓ４）Ｓ２で得られた位置および撮影方向に応じて各撮影点の３Ｄモデルを同一の三次元座標系に配置し、複数の撮影点の３Ｄモデル間の結合部分をスティッチングし、複数の撮影点の３Ｄモデルおよび／または２Ｄ平面図を形成し、全部屋の壁の方向を統一して補正し、重なりや空洞を最適化する。通常の部屋モデルでは、ほとんどの部屋は平行な壁で構成されているが、一つの撮影点で形成された部屋モデルでは、もともと平行な壁にも多少のずれ（非平行）があり、複数の部屋の壁の向きを考慮することで、優勢な方向を見つけ、それに応じて全部屋の壁の方向を調整する。
【０１５０】
ここで、ステップＳ４は、以下を含む。
【０１５１】
Ｓ４１）各撮影点の位置と撮影方向に基づいて、例えば、１つの変換行列を用いて、シングル撮影点の３Ｄモデルのローカル座標をグローバルワールド座標に変換することで、全ての撮影点の３Ｄモデル全体を取得する。
【０１５２】
Ｓ４２）複数の撮影点の３Ｄモデルを統一して補正し、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全ての撮影点の壁線方向を統一して補正することが含まれる。
【０１５３】
Ｓ４３）各撮影点の３Ｄモデルをスティッチングする時、重なり部分および／または現れた空洞を修正する。
【０１５４】
Ｓ５）は、モバイル機器上でパノラマローミング効果を自動的に生成する。
【０１５５】
以下、撮影に基づく３Ｄモデリングシステムと組み合わせて、本実施例の撮影に基づく３Ｄモデリング方法の応用を説明する。
【０１５６】
一、ハードウェアシステム
【０１５７】
本実施例では、携帯電話とカメラの両方が同じスタンド（例えば、三脚を含む）に固定されている。
【０１５８】
二、システム初期化
【０１５９】
本発明では、各撮影点の撮影位置およびカメラの撮影方向を取得するために、以下のいずれかの方法を用いる。
【０１６０】
方法一）携帯電話の位置決めシステムに基づいて、すなわち、携帯電話の画像（写真、ビデオまたはプレビュー画像）を用いて、近接した撮影点の画像の特徴点を照合して、撮影点の変位を見つけ、および好ましくはモバイル機器からのセンサ（ジャイロＧｙｒｏｓｃｏｐｅ、加速度計Ａｃｃｅｌｅｒｏｍｅｔｅｒ、コンパスＣｏｍｐａｓｓなどを含む）を使用して補正することにより、ロードマップを生成し、撮影点の位置および方向を提供する。
【０１６１】
方法二）カメラの位置決めシステムに基づいて、すなわち、カメラの画像（写真、ビデオ、またはプレビュー画像）を用いて、近接した撮影点の画像の特徴点を照合して、撮影点の変位を見つけ、好ましくはセンチメートルおよびデシメータ間隔で、照合および位置決めを連続的に行い、また、好ましくはカメラのセンサ（ジャイロＧｙｒｏｓｃｏｐｅ、加速度計Ａｃｃｅｌｅｒｏｍｅｔｅｒ、コンパスＣｏｍｐａｓｓなどを含む）を使用して補正することにより、ロードマップを生成し、撮影点の位置および方向を提供する。
【０１６２】
２つの方法の比較：方法一は、携帯電話のシステムに基づいており、携帯電話は様々なセンサを持っているため、一般的に、より正確な絶対座標情報を提供することができ、撮影点間の絶対距離を測定することができるが、使用する前に追加の初期化プロセスを必要とする。
【０１６３】
方法二は、カメラが完全なセンサを持っていないことが多いため、撮影位置の相対座標のみを提供することができるが、パスとシングル撮影点の３Ｄモデルの座標軸を揃えるために初期化を追加する必要がない。また、撮影パスにループバックがある場合には、方法二による座標誤差が小さい。
【０１６４】
方法一を使用する場合には、携帯電話から提供される座標は、携帯電話自身の座標系（一般的に１軸は地面に垂直な方向を指し、他の２軸はそれぞれ前後および左右方向を指す）に基づいているが、パノラマ写真に基づいて生成された３Ｄモデルの座標系は、カメラの座標系に基づいており、両者の座標軸が一致していない。この問題を解決するためには、システムを手動または自動的に初期化する必要があり、手動または自動的な方法を使用することができる。
【０１６５】
手動：ユーザは、追加の測定ツールを使用して、またはスタンドなどの機器に目盛りを追加することで、カメラのレンズと携帯電話の撮影方向との間の角度を手動で入力する。
【０１６６】
自動：初期化段階では、方法一と方法二の両方を同時に動作させ、装置を一定の距離、好ましくは１〜３メートルで移動させ、この時、２つのシステムがそれぞれ１つのシステム変位ベクトルを提供することができ、２つのベクトルの間の角度を、カメラのレンズと電話機の撮影方向との間の角度とする。
【０１６７】
三、撮影点位置および撮影方向の決定
【０１６８】
上記システムが動作すると、撮影者が位置された撮影点や撮影方向情報を提供することができる。
【０１６９】
四、シングル撮影点による３Ｄモデルの生成
【０１７０】
従来、撮影に基づくモデリング方法には２つの方法があるが、どちらも大きな欠点があった。
【０１７１】
従来方法ａ）深さ情報を認識できるカメラを用いて３Ｄモデルを直接生成する。この方法は、より複雑なハードウェアに依存しているため、機器のコストが高くなり、プロのカメラマンが操作する必要があることが多く、普及には向いていない。
【０１７２】
従来方法ｂ）互いに近い場所で、好ましくはセンチメートルとデシメータの間隔で２枚の写真を撮影し、照合と位置決めを連続的に行い、その後、ＭＶＳ（Ｍｕｌｔｉ  Ｖｉｅｗ  Ｓｔｅｒｅｏ、例えば、ｈｔｔｐｓ：／／ｇｉｔｈｕｂ．ｃｏｍ／ｃｄｃｓｅａｃａｖｅ／ｏｐｅｎＭＶＳを参照）を使用してモデリングを行い、その利点は、プロセス全体が完全に自動化されており、手動介入を必要としないことであるが、欠点もまた顕著である。
【０１７３】
欠点１：計算量が多く、モバイル機器上でのリアルタイムモデリングは容易ではないこと、通常、サーバ（クラウド／ＰＣ）にアップロードすることで、より強い計算能力を利用してモデリングアルゴリズムを実行する必要がある。
【０１７４】
欠点２：撮影距離の指定ができないこと、距離が近すぎる場合、面倒で時間がかかる、可視性と感覚で距離を決定する場合、モデリングに失敗する可能性があり、撮影時にユーザにヒントを表示できない。
【０１７５】
上記の欠点を克服するために、本発明は革新的な方法を採用している。リアルタイム性を向上させ、目に見えるものは手に入る（ＷＹＳＩＷＹＧ）結果を達成するために、通常、家具、小物、および他の部屋のアクセサリを復元することなく、部屋の輪郭（壁の位置）のみをモデリングする。すなわち、
【０１７６】
ｉ．ディープラーニング技術に基づいて、画像中の床、天井、壁や屋根などの部分、例えば、法線の方向が決定された部分（床、天井）または法線が水平面にある部分（壁）を認識する。
【０１７７】
ｉｉ．画像処理技術に基づいて、画像を複数のブロックに分割し、それぞれのブロックをおおよそ平面とみなしてもよい。床部のブロックについては、平面方程式が既知である。ｙ軸を垂直と仮定すると、床部の方程式をｙ＋１＝０とする。壁部については、平面方程式をＡｘ＋Ｃｚ＋Ｄ＝０とし、天井部についてはｙ＋Ｄ＝０とし、その他の部分についてはＡｘ＋Ｂｙ＋Ｃｚ＋Ｄ＝０とし、３Ｄモデルを生成する過程は、つまり、各平面方程式を解く過程である。画像中で交差する２つの平面については、画像中に１本の交差線があり、これを制約条件として、上記の方程式を解く過程を、交差する２つの平面について、算出された交差線と実際に観測された交差線との誤差が最小化されるような最小化問題にすることができる。
【０１７８】
ｉｉｉ．他の方法でシーンをモデリングすることもできる。例えば、室内では、コンピュータビジョン技術とディープラーニングを組み合わせて、図中のコーナーを認識し、コーナーを連結して部屋の大まかなモデルを生成することができる。ここで、１つ以上の実施例では、画像内のコーナーを認識する方法は、例えば、関心点検出と自己教師付き学習フレームワーク（例えば、ＳｕｐｅｒＰｏｉｎｔ：Ｓｅｌｆ−Ｓｕｐｅｒｖｉｓｅｄ  Ｉｎｔｅｒｅｓｔ  Ｐｏｉｎｔ  Ｄｅｔｅｃｔｉｏｎ  ａｎｄ  Ｄｅｓｃｒｉｐｔｉｏｎを参照）を使用して、コーナーを連結して部屋の大まかなモデルを形成することにより、同じ三次元空間構造の中に頻繁に現れるコーナーなどのオブジェクトを捉えることができる幾何学的な関係を可能にする。
【０１７９】
ｉｖ．２Ｄ平面図を生成し、各撮影点の３Ｄモデルを取得した後、さらに平面図を生成することができ、特に室内のシーンでは、平面図を必要とする場合が多い。方法は次のとおりである。
【０１８０】
１．３Ｄモデルの各面を２Ｄ平面図に投影する。
【０１８１】
２．これらの投影を１つの大きなポリゴンに結合する。
【０１８２】
３．得られたポリゴンを補正および簡略化し、例えば、以下の方法を含み得る。
【０１８３】
ａ）得られるポリゴンは点数が多くなりがちであるため、２Ｄ平面図上のポリゴンの頂点のみを残し、小さい凹凸を削除することで、ポリゴンを簡略することができる。
【０１８４】
ｂ）室内シーンの場合、コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正する。
【０１８５】
４．ドアおよび／または窓の認識。室内シーンの場合、２Ｄ平面図上でドアおよび／または窓にラベリングを付ける必要があり、以下の２つの方法を使用してもよい。
【０１８６】
ａ）ディープラーニングの方法を直接使用して、パノラマ画像上でドアおよび／または窓の位置およびサイズを認識する。
【０１８７】
ここで、１つ以上の実施例では、ディープラーニングを用いて室内画像上でドアおよび／または窓の位置およびサイズを認識する方法では、例えば、単段キーポイント検出モデルによって、一対のキーポイントではなく３つのキーポイントを用いて、ドアおよび／または窓などの各対象物の位置およびサイズを検出して、プレシジョンおよびリコール率を向上させてもよい。
【０１８８】
ｂ）携帯電話またはカメラに基づく位置決めシステムは、各撮影点の位置と撮影方向を与えるだけでなく、撮影の全過程でカメラの移動軌跡をさらに有し、このパスと部屋自体の輪郭との交点がドアの位置でなければならない。
【０１８９】
五、複数の撮影点による３Ｄモデルおよび２Ｄ平面図の生成
【０１９０】
ａ）ステップ４では、各撮影点の３Ｄモデル生成を解決し、得られた３Ｄモデル座標は撮影点に対する相対座標である。これらのモデルを組み合わせることで、完全な３Ｄモデルと２Ｄ平面図を生成することができる。まず、各撮影点の位置と撮影方向が既知であるため、例えば、１つの変換行列を用いて、１つのモデルのローカル座標をグローバルワールド座標に変換することができる。
【０１９１】
ｂ）これに基づいて、モデルと平面図をさらに補正することができる。
【０１９２】
ｉ．各撮影点のモデルで使用されている直線補正には、通常、誤差があり、複数の撮影点を撮影した後、統計的手法を用いて、全ての撮影点を統一して補正し、例えば、ＲＡＮＳＥＣ（Ｒａｎｄｏｍ  Ｓａｍｐｌｅ  Ｃｏｎｓｅｎｓｕｓ）などの手法を用いて、最も合理的な補正直線を求め、全部屋が一定の偏差範囲内で平行な壁線を持つようにし、偏差値の小さい角度を回避する。
【０１９３】
ｉｉ．モデリングの誤差により、複数の撮影点による３Ｄモデルと２Ｄ平面図との間に重なりや空洞が存在する場合があるが、重なり部分を自動的に除去し、２Ｄ平面図で空洞を埋めることなどができる。
【０１９４】
六、インスタント表示
【０１９５】
上記の過程を携帯電話で完全に自動化し、完了したら表示ソフトを使って携帯電話に瞬時に表示、ローミングなどを行い、クラウドにアップロードして他の人と共有することができる。
【０１９６】
七、手動編集
【０１９７】
位置決めシステム、シングル撮影点による３Ｄモデリングアルゴリズム、およびマルチ撮影点による３Ｄモデル／２Ｄ平面図の最適化に誤差が生じる可能性があるため、本発明では、より正確なモデルを得るために、ユーザは手動で撮影結果を編集することができ、手動編集では、ソフトウェアのレビューおよび編集ツールを使用することができる。
【０１９８】
（自動３Ｄモデリング装置）
【０１９９】
図５は、本発明の自動３Ｄモデリング装置の一実施例の構造を示す図であり、図５に示すように、前記自動３Ｄモデリング装置は、
【０２００】
モデリングオブジェクトに含まれる複数の空間のそれぞれの３Ｄモデリング用画像に基づいて、各空間の３Ｄモデルをそれぞれ生成する３Ｄモデル生成ユニット５０１と、
【０２０１】
複数の空間のそれぞれの３Ｄモデリング用画像が撮影された時の位置および撮影方向情報に基づいて、３Ｄモデル生成ユニット５０１が生成した各空間の３Ｄモデルを同一の三次元座標系でスティッチング処理を行い、各空間のそれぞれの３Ｄモデルによってスティッチングされた３Ｄモデル全体を形成する３Ｄモデルスティッチングユニット５０２と、を含む。
ここで、３Ｄモデルスティッチングユニット５０２はさらに、位置および撮影方向情報に基づいて、例えば、１つの変換行列を用いて、１つの空間の前記３Ｄモデルのローカル座標をグローバルワールド座標に変換することで、全ての空間の３Ｄモデル全体を取得することができる。
【０２０２】
図６は、本発明の自動３Ｄモデリング装置の別の実施例の構造を示す図である。本実施例では、自動３Ｄモデリング空間は、例えば部屋であり、３Ｄモデリング用画像は、例えば前記部屋の室内画像である。
【０２０３】
図６に示すように、本実施例では、モデリングオブジェクトに含まれる複数の部屋のそれぞれの３Ｄモデリング用画像に基づいて、各部屋の３Ｄモデルをそれぞれ生成する３Ｄモデル生成ユニット６０１を含む。
【０２０４】
ここで、３Ｄモデル生成ユニット６０１は、ディープラーニング技術に基づいて３Ｄモデリング用画像中の床、天井、壁の少なくとも１つを認識し、認識した画像を画像処理技術に基づいて複数のブロックに分割し、床と天井の画像ブロックが水平面内にあり、壁の画像ブロックが垂直面内にあるように、それぞれのブロックをおおよそ平面とみなし、各平面の方程式を解いて前記３Ｄモデルを生成する。ここで、３Ｄモデリング用画像中で交差する２つの平面については、算出された交差線と実際に観察された交差線との誤差を最小化する。
【０２０５】
ここで、３Ｄモデル生成ユニット６０１はさらに、コンピュータビジョン技術を用いて、室内画像中のコーナーを認識し、コーナーを連結して部屋の大まかなモデルを生成する。ここで、１つ以上の実施例では、画像内のコーナーを認識する方法は、例えば、関心点検出と自己教師付き学習フレームワーク（例えば、ＳｕｐｅｒＰｏｉｎｔ：Ｓｅｌｆ−Ｓｕｐｅｒｖｉｓｅｄ  Ｉｎｔｅｒｅｓｔ  Ｐｏｉｎｔ  Ｄｅｔｅｃｔｉｏｎ  ａｎｄ  Ｄｅｓｃｒｉｐｔｉｏｎを参照）を使用して、コーナーを連結して部屋の大まかなモデルを形成することにより、同じ三次元空間構造の中に頻繁に現れるコーナーなどのオブジェクトを捉えることができる幾何学的な関係を可能にする。
【０２０６】
３Ｄモデルスティッチングユニット６０２は、複数の部屋のそれぞれの３Ｄモデリング用画像が撮影された時の位置および撮影方向情報に基づいて、３Ｄモデル生成ユニット６０１が生成した各部屋の３Ｄモデルを同一の三次元座標系でスティッチング処理を行い、各空間のそれぞれの３Ｄモデルによってスティッチングされた３Ｄモデル全体を形成する。
【０２０７】
ここで、３Ｄモデルスティッチングユニット６０２はさらに、位置および撮影方向情報に基づいて、例えば、１つの変換行列を用いて、１つの部屋の３Ｄモデルのローカル座標をグローバルワールド座標に変換することで、全ての部屋の３Ｄモデル全体を取得することができる。
【０２０８】
ここで、３Ｄモデルスティッチングユニット６０２はさらに、複数の部屋のそれぞれの３Ｄモデルを統一して補正してもよく、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全部屋の壁線方向を統一して補正することが含まれる。
【０２０９】
ここで、３Ｄモデルスティッチングユニット６０２はさらに、各部屋の３Ｄモデルをスティッチングする時、重なり部分および／または現れた空洞を修正する。
【０２１０】
２Ｄ平面図生成ユニット６０３は、以下のように２Ｄ平面図を生成する。
【０２１１】
１、生成した３Ｄモデルの各平面を床に垂直な平面に投影し、これらの投影を１つのポリゴンに結合する。
【０２１２】
２、得られたポリゴンを補正および簡略化し、例えば、以下の方法を含み得る。
【０２１３】
（１）前記ポリゴンの主要な頂点のみを残し、小さい凹凸を削除する。
【０２１４】
（２）コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正する。
【０２１５】
もちろん、得られたポリゴンは、他の方法でも補正したり簡略化したりすることができるが、限定されない。
【０２１６】
３、位置および撮影方向情報に基づいて、生成した各部屋の２Ｄ平面図を同一の二次元座標系でスティッチング処理を行い、各部屋のそれぞれの２Ｄ平面図によってスティッチングされた２Ｄ平面図全体を形成する。
【０２１７】
４、ドアおよび／または窓の位置を認識してラベル付け、そのうち、ディープラーニングの方法を用いて、室内画像上でドアおよび／または窓の位置を認識すること、または、同一住宅に属する複数の部屋に対して３Ｄモデリング用画像をそれぞれ撮影した時に取得された移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる。
【０２１８】
ここで、１つ以上の実施例では、ディープラーニングを用いて室内画像上でドアおよび／または窓の位置およびサイズを認識する方法では、例えば、単段キーポイント検出モデルによって、一対のキーポイントではなく３つのキーポイントを用いて、ドアおよび／または窓などの各対象物の位置およびサイズを検出して、プレシジョンおよびリコール率を向上させてもよい。
【０２１９】
ここで、２Ｄ平面図生成ユニット６０３はさらに、複数の部屋のそれぞれの２Ｄ平面図を統一して補正してもよく、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全部屋の壁線方向を統一して補正することが含まれる。
【０２２０】
ここで、２Ｄ平面図生成ユニット６０３はさらに、各部屋の２Ｄ平面図をスティッチングする時、重なり部分および／または現れた空洞を修正する。
【０２２１】
ここで、２Ｄ平面図生成ユニット６０３はさらに、以下のように２Ｄ平面図を生成してもよい。
【０２２２】
１、３Ｄモデルスティッチングユニット６０２が生成した３Ｄモデル全体の各平面を床に垂直な平面に投影し、これらの投影を１つのポリゴンに結合する。
【０２２３】
２、得られた前記ポリゴンを補正および簡略化し、例えば、以下の方法を含み得る。
【０２２４】
（１）前記ポリゴンの主要な頂点のみを残し、小さい凹凸を削除する。
【０２２５】
（２）コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正する。
【０２２６】
もちろん、得られたポリゴンは、他の方法でも補正したり簡略化したりすることができるが、限定されない。
【０２２７】
３、ドアおよび／または窓の位置を認識してラベル付け、そのうち、ディープラーニングの方法を用いて、室内画像上でドアおよび／または窓の位置を認識すること、または、同一住宅に属する複数の部屋に対して前記３Ｄモデリング用画像をそれぞれ撮影した時の移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる。具体的な方法は、例えば、上記の単段キーポイント検出モデルによって実現され、ここでは繰り返さない。
【０２２８】
（自動３Ｄモデリング方法）
図７は、本発明の自動３Ｄモデリング方法の一実施例のフローチャートであり、図７に示すように、前記自動３Ｄモデリング方法は、
【０２２９】
モデリングオブジェクトに含まれる複数の空間のそれぞれの３Ｄモデリング用画像に基づいて、各空間の３Ｄモデルをそれぞれ生成する３Ｄモデル生成ステップＳ７１と、
【０２３０】
本実施例では、自動３Ｄモデリング空間は、例えば部屋であり、３Ｄモデリング用画像は、例えば前記部屋の室内画像である。
【０２３１】
３Ｄモデル生成ステップＳ７１では、ディープラーニング技術に基づいて３Ｄモデリング用画像中の床、天井、壁の少なくとも１つを認識し、認識した画像を画像処理技術に基づいて複数のブロックに分割し、床と天井の画像ブロックが水平面内にあり、壁の画像ブロックが垂直面内にあるように、それぞれのブロックをおおよそ平面とみなし、各平面の方程式を解いて３Ｄモデルを生成する。ここで、３Ｄモデリング用画像中で交差する２つの平面については、算出された交差線と実際に観察された交差線との誤差を最小化する。
【０２３２】
３Ｄモデル生成ステップＳ７１では、さらに、コンピュータビジョン技術を用いて、室内画像中のコーナーを認識し、コーナーを連結して部屋の大まかなモデルを生成する。ここで、１つ以上の実施例では、画像内のコーナーを認識する方法は、例えば、関心点検出と自己教師付き学習フレームワーク（例えば、ＳｕｐｅｒＰｏｉｎｔ：Ｓｅｌｆ−Ｓｕｐｅｒｖｉｓｅｄ  Ｉｎｔｅｒｅｓｔ  Ｐｏｉｎｔ  Ｄｅｔｅｃｔｉｏｎ  ａｎｄ  Ｄｅｓｃｒｉｐｔｉｏｎを参照）を使用して、コーナーを連結して部屋の大まかなモデルを形成することにより、同じ三次元空間構造の中に頻繁に現れるコーナーなどのオブジェクトを捉えることができる幾何学的な関係を可能にする。
【０２３３】
３ＤモデルスティッチングステップＳ７２では、複数の部屋のそれぞれの３Ｄモデリング用画像が撮影された時の位置および撮影方向情報に基づいて、３Ｄモデル生成ステップＳ７１で生成した各部屋の３Ｄモデルを同一の三次元座標系でスティッチング処理を行い、各空間のそれぞれの３Ｄモデルによってスティッチングされた３Ｄモデル全体を形成する。
【０２３４】
ここで、３ＤモデルスティッチングステップＳ７２では、さらに、位置および撮影方向情報に基づいて、例えば、１つの変換行列を用いて、１つの空間の３Ｄモデルのローカル座標をグローバルワールド座標に変換することで、全ての空間の３Ｄモデル全体を取得することができる。
【０２３５】
２Ｄ平面図生成ステップＳ７３では、以下のように２Ｄ平面図を生成する。
【０２３６】
１、生成した３Ｄモデルの各平面を床に垂直な平面に投影し、これらの投影を１つのポリゴンに結合する。
【０２３７】
２、得られた前記ポリゴンを補正および簡略化し、例えば、以下の方法を含み得る。
【０２３８】
（１）前記ポリゴンの主要な頂点のみを残し、小さい凹凸を削除する。
【０２３９】
（２）コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正する。
【０２４０】
ここで、得られたポリゴンは、他の方法でも補正したり簡略化したりすることができるが、限定されない。
【０２４１】
３、位置および撮影方向情報に基づいて、生成した各部屋の２Ｄ平面図を同一の二次元座標系でスティッチング処理を行い、各部屋のそれぞれの２Ｄ平面図によってスティッチングされた２Ｄ平面図全体を形成する。
【０２４２】
４、ドアおよび／または窓の位置を認識してラベル付け、そのうち、ディープラーニングの方法を用いて、室内画像上でドアおよび／または窓の位置を認識すること、または、同一住宅に属する複数の部屋に対して３Ｄモデリング用画像をそれぞれ撮影した時に取得された移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる。具体的な方法は、例えば、上記の単段キーポイント検出モデルによって実現され、ここでは繰り返さない。
【０２４３】
ここで、２Ｄ平面図生成ステップＳ７３では、さらに、複数の部屋のそれぞれの２Ｄ平面図を統一して補正してもよく、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全部屋の壁線方向を統一して補正することが含まれる。
【０２４４】
ここで、２Ｄ平面図生成ユニットＳ７３では、さらに、各部屋の２Ｄ平面図をスティッチングする時、重なり部分および／または現れた空洞を修正する。
【０２４５】
ここで、２Ｄ平面図生成ステップＳ７３では、さらに、以下のように２Ｄ平面図を生成してもよい。
【０２４６】
１、３ＤモデルスティッチングステップＳ７２で生成した３Ｄモデル全体の各平面を床に垂直な平面に投影し、これらの投影を１つのポリゴンに結合する。
【０２４７】
２、得られた前記ポリゴンを補正および簡略化し、例えば、以下の方法を含み得る。
【０２４８】
（１）前記ポリゴンの主要な頂点のみを残し、小さい凹凸を削除する。
【０２４９】
（２）コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正する。
【０２５０】
もちろん、得られたポリゴンは、他の方法でも補正したり簡略化したりすることができるが、限定されない。
【０２５１】
３、ドアおよび／または窓の位置を認識してラベル付け、そのうち、ディープラーニングの方法を用いて、室内画像上でドアおよび／または窓の位置を認識すること、または、同一住宅に属する複数の部屋に対して３Ｄモデリング用画像をそれぞれ撮影した時の移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる。具体的な方法は、例えば、上記の単段キーポイント検出モデルによって実現され、ここでは繰り返さない。
【０２５２】
（電子機器）
【０２５３】
以下、図８は、本発明の実施例の実現に適用された電子機器（例えば、図１のモバイル機器またはサーバ）８００の構造を示す図である。本発明の実施例に係る電子機器は、上記システムにおける様々なモバイル機器であってもよく、好ましくは、カメラ機能を有し、単独で、またはカメラなどの他の電子端末機器と同じスタンド（例えば、三脚）に固定されることにより、各種類のモバイルオペレーティングシステムにおけるアプリケーションソフトウェアの実行に連動して、本発明の実施例の方法を実現する。図８に示された電子機器は単なる例示であり、本発明の実施例の機能および使用範囲にいかなる制限を課すべきではない。
【０２５４】
図８に示すように、電子機器８００は、電子機器の全体的な動作を制御するための処理装置（例えば、中央処理装置、グラフィックプロセッサなど）８０１を含んでもよい。処理装置は、上記方法のステップの全部または一部を完了させるための命令を実行するための１つ以上のプロセッサを含んでもよい。さらに、処理装置８０１は、他の装置またはユニットとの相互作用を処理するための１つ以上のモジュールを含んでもよい。
【０２５５】
記憶装置８０２は、各種類のデータを記憶するために使用され、各種類のコンピュータ読み取り可能な記憶媒体、またはそれらの組み合わせを含んでもく、例えば、電気的、磁気的、光学的、電磁的、赤外線的、半導体的システム、装置やデバイス、またはそれらの任意の組み合わせであってもよい。コンピュータ読み取り可能な記憶媒体のより具体的な例としては、１本以上のワイヤによる電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去可能なプログラム可能な読み取り専用メモリ（ＥＰＲＯＭまたはフラッシュメモリ）、光ファイバー、ポータブルコンパクトディスク読み取り専用メモリ（ＣＤ-ＲＯＭ）、光記憶デバイス、磁気記憶デバイス、またはに記載の任意の適切な組み合わせが挙げられるが、これらに限定されるものではない。本発明では、コンピュータ読み取り可能な記憶媒体は、命令実行システム、装置、またはデバイスによって使用され、またはそれと組み合わせて使用され得るプログラムを含むか、または記憶する任意の有形媒体であってもよい。
【０２５６】
センサ装置８０３は、指定された測定情報を感知し、それを特定のルールに従って使用可能な出力信号に変換するために使用され、１つ以上のセンサを含んでもよい。例えば、電子機器の開閉状態、相対位置、加減速、温度、湿度、光などの変化を検出するための加速度センサ、ジャイロセンサ、磁気センサ、圧力センサ、温度センサなどを含んでもよい。
【０２５７】
処理装置８０１、記憶装置８０２およびセンサ装置８０３は、バス８０４を介して互いに接続されている。入出力（Ｉ／Ｏ）インタフェース８０５も、バス８０４に接続されている。
【０２５８】
マルチメディア装置８０６は、ユーザからの入力信号を受信するためのタッチスクリーン、タッチパッド、キーボード、マウス、カメラ、マイクなどの入力装置を含んでもよく、各種入力装置は、上記センサ装置８０３の各種センサと協働して、例えば、ジェスチャー操作入力、画像認識入力、距離検出入力などを完了させることができる。マルチメディア装置８０６はさらに、液晶ディスプレイ（ＬＣＤ）、スピーカ、バイブレータなどの出力装置を含んでいてもよい。
【０２５９】
電源装置８０７は、電子機器中の各種装置に電力を供給するために使用され、電源管理システム、１つ以上の電源、および他の装置に電力を分配するためのコンポーネントを含んでもよい。
【０２６０】
通信装置８０８は、電子機器８００が他の機器と無線または有線で通信してデータを交換できるようにしてもよい。
【０２６１】
上記の各装置は、電子機器８００の適用を実現するために、Ｉ／Ｏインターフェース８０５に接続されてもよい。
【０２６２】
図８は、各種装置を備えた電子機器８００を示しているが、図示された装置の全てを実装また備える必要がないことが理解すべきである。より多くのまたはより少ない装置が代替的に実施されてもよいし、所有されてもよい。
【０２６３】
特に、本発明の実施例によれば、フローチャートを参照して上述した過程は、コンピュータソフトウェアプログラムとして実現されてもよい。例えば、本発明の実施例は、非一過性のコンピュータ読み取り可能な媒体に搬送されたコンピュータプログラムを備えるコンピュータプログラム製品を含み、当該コンピュータプログラムは、フローチャートに示された方法を実行するためのプログラムコードを含む。このような実施例では、当該コンピュータプログラムは、通信装置を介してネットワークからダウンロードしてインストールしてもよいし、記憶装置からインストールしてもよい。当該コンピュータプログラムが処理装置によって実行されると、本発明の実施例の方法に限定された前述の機能を実行する。
【０２６４】
本発明の文脈において、機械読み取り可能な媒体は、命令実行システム、装置、または機器によって、またはそれに組み合わせて使用するためのプログラムを含むか、または記憶する有形の媒体であってもよい。
【０２６５】
説明されるように、本発明の上記コンピュータ読み取り可能な媒体は、コンピュータ読み取り可能な信号媒体またはコンピュータ読み取り可能な記憶媒体、またはこれらの任意の組み合わせであってもよい。一方、本発明では、コンピュータ読み取り可能な信号媒体は、ベースバンドまたは搬送波の一部として伝搬するデータ信号を含むことができ、その中で、コンピュータ読み取り可能なプログラムコードを搬送している。このように伝搬するデータ信号は、電磁信号、光信号、または前記の任意の適切な組み合わせを含むが、これらに限定されず、様々な形態をとることができる。コンピュータ読み取り可能な信号媒体は、コンピュータ読み取り可能な記憶媒体以外の任意のコンピュータ読み取り可能な媒体であってもよく、当該コンピュータ読み取り可能な媒体は、命令実行システム、装置、またはデバイスによって、またはそれと組み合わせて使用するためのプログラムを送信、伝搬、または伝送する。コンピュータ読み取り可能な媒体に含まれるプログラムコードは、ワイヤ、光ファイバーケーブル、ＲＦ（無線周波数）などを含むがこれらに限定されない、任意の適切な媒体、または上記の任意の適切な組み合わせで送信することができる。
【０２６６】
上記コンピュータ読み取り可能な媒体は、上記電子機器に含まれていてもよく、または、別個に設けられていて、上記電子機器に組み立てられていないものであってもよい。
【０２６７】
１つ以上のプログラミング言語またはその組み合わせによって、本発明の動作を実行するためのコンピュータプログラムコードを編集してもよく、上記のプログラミング言語には、Ｊａｖａ、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語や、「Ｃ」言語や類似のプログラミング言語などの従来の手続き型プログラミング言語が含まれるが、これらに限定されない。プログラムコードは、ユーザのコンピュータ上で全体的に実行されてもよいし、ユーザのコンピュータ上で部分的に実行されてもよいし、スタンドアロンパッケージとして実行されてもよいし、ユーザのコンピュータ上で部分的に実行されてリモートコンピュータ上で部分的に実行されてもよいし、リモートコンピュータまたはサーバ上で全体的に実行されてもよい。リモートコンピュータが関与する場合、リモートコンピュータは、任意の種類のネットワークを介してユーザのコンピュータに接続されてもよいし、外部のコンピュータに接続されてもよい（例えば、インターネットサービスプロバイダを使用してインターネットを介して接続される）。
【０２６８】
図面のフローチャートおよびブロック図は、本発明の各種実施例に従ったシステム、方法、およびコンピュータプログラム製品の可能な実施形態のアーキテクチャ、機能、および動作を示している。この点で、フローチャートまたはブロック図の各ボックスは、指定された論理機能を実現するための１つ以上の実行可能な命令を含むモジュール、セグメント、またはコードの一部を表してもよい。また、いくつかの代替の実現形態では、ボックス内でラベル付けされた機能は、図面でラベル付けされた機能とは異なる順序で発生してもよいことに留意すべきである。例えば、連続して表現された２つのボックスは、実際には大まかに並列に実行されてもよく、関係する機能によっては逆の順序で実行されることもある。また、ブロック図および／またはフローチャートの各ボックス、ならびにブロック図および／またはフローチャートの各ボックスの組み合わせは、所定の機能または動作を実行する専用のハードウェアに基づくシステムで実現されてもよいし、専用のハードウェアとコンピュータ命令の組み合わせで実現されてもよいことにも留意すべきである。
【０２６９】
本発明の実施例で説明したユニットは、ソフトウェアの手段によって、またはハードウェアの手段によって実現されてもよい。一定の状況下では、ユニットの名称はユニット自体を限定するものではない。
【０２７０】
本明細書に記載された機能は、少なくとも部分的には、１つ以上のハードウェア・ロジック・コンポーネントによって実行されてもよい。例えば、非限定的に、例示的な種類として使用され得るハードウェア・ロジック・コンポーネントには、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、アプリケーション専用集積回路（ＡＳＩＣ）、アプリケーション専用標準製品（ＡＳＳＰ）、システム・オン・チップ（ＳＯＣ）、複雑なプログラマブル・ロジック・デバイス（ＣＰＬＤ）などが含まれる。
【０２７１】
上記の説明は、本発明の好ましい実施例および採用された技術原理の説明に過ぎない。当業者であれば、本発明に関わる開示の範囲は、上記技術的特徴の特定の組み合わせから形成される技術的解決手段に限定されるものではなく、上記開示の思想から逸脱することなく、上記技術的特徴またはそれらの等価な特徴の任意の組み合わせから形成される他の技術的解決手段をも包含するものであることを理解すべきである。例えば、上記特徴を、本発明に開示された技術的特徴（ただし、これに限定されない）と同様の機能を有する技術的特徴で相互に置換して技術的解決手段を形成する。
【０２７２】
さらに、動作は特定の順序で描かれているが、これは、示された特定の順序で実行されること、また、連続した実行順序で実行されることを要求していると理解されるべきではない。環境によっては、マルチタスクや並列処理が有利である場合もある。同様に、いくつかの具体的な実施形態の詳細が上記の説明に含まれているが、これらは本発明の範囲を制限するものとして解釈されるべきではない。個々の実施例の文脈で説明した特定の特徴は、個々の実施形態において組み合わせて実現されてもよい。逆に、単一の実施例の文脈で説明した各種類の特徴は、単独で、またはサブアセンブリの任意の適切な組み合わせで、複数の実施例で実現されてもよい。
【０２７３】
主題は、構造的特徴および／または方法の論理的動作に特有の言語を用いて記載されてきたが、添付の特許請求の範囲によって限定される主題は、必ずしも上述の特定の特徴または作用に限定されるものではないことが理解されるべきである。逆に、上述した特定の特徴および動作は、特許請求の範囲を実現するための例示的な形態に過ぎない。
【０２７４】
（付記）
（付記１）
複数の空間に対して当該空間の第１画像をそれぞれ撮影するための撮影ユニットと、
前記各空間ごとに前記撮影ユニットが撮影した前記第１画像に基づいて、前記各空間の３Ｄモデルをそれぞれ生成する３Ｄモデル生成ユニットと、
前記撮影ユニットが各空間の第１画像を撮影した時の位置および撮影方向情報を取得するための撮影位置取得ユニットと、
前記位置および撮影方向情報に基づいて、前記各空間の３Ｄモデルを同一の三次元座標系でスティッチング処理を行い、前記各空間が含まれる３Ｄモデル全体を形成する３Ｄモデルスティッチングユニットとを含む、ことを特徴とする撮影に基づく３Ｄモデリングシステム。
【０２７５】
（付記２）
前記撮影ユニットは、前記各空間の間を移動する過程で複数の第２画像を撮影し、
前記撮影位置取得ユニットは、前記複数の第２画像を用いて特徴点照合を行うことにより、各撮影点の相対変位および撮影方向情報を取得する、ことを特徴とする付記１に記載の撮影に基づく３Ｄモデリングシステム。
【０２７６】
（付記３）
前記撮影ユニットは、位置決めセンサと方向センサを有し、
前記撮影位置取得ユニットは、前記撮影ユニットが位置される空間の第１画像を撮影した時に提供される位置決め情報と方向情報に基づいて、前記撮影ユニットが位置される空間の第１画像を撮影した時の位置および撮影方向情報を取得する、ことを特徴とする付記１に記載の撮影に基づく３Ｄモデリングシステム。
【０２７７】
（付記４）
前記撮影ユニットは、前記各空間の間を移動する過程で複数の第２画像を撮影し、
前記撮影ユニットは、位置決めセンサと方向センサを有し、
前記撮影位置取得ユニットは、前記複数の第２画像を用いて特徴点照合を行うことにより、各撮影点の相対変位情報および撮影方向情報を取得し、かつ前記撮影ユニットが位置される空間の第１画像を撮影した時の位置決め情報と方向情報に基づいて、前記相対変位および撮影方向情報を補正することにより、前記撮影ユニットが位置される空間の第１画像を撮影した時の位置および撮影方向情報を取得する、ことを特徴とする付記１に記載の撮影に基づく３Ｄモデリングシステム。
【０２７８】
（付記５）
前記撮影位置取得ユニットは、変位センサが取得した変位情報に基づいて、前記相対変位および撮影方向情報を補正する、ことを特徴とする付記４に記載の撮影に基づく３Ｄモデリングシステム。
【０２７９】
（付記６）
前記３Ｄモデルスティッチングユニットは、各空間を撮影する際に前記撮影位置取得ユニットが取得した前記位置および撮影方向情報に基づいて、１つの空間の前記３Ｄモデルのローカル座標をグローバルワールド座標に変換することで、前記複数の空間の３Ｄモデル全体を取得する、ことを特徴とする付記１に記載の撮影に基づく３Ｄモデリングシステム。
【０２８０】
（付記７）
前記１つの空間の前記３Ｄモデルのローカル座標をグローバルワールド座標に変換することは、
前記撮影ユニットを所定距離で移動させることと、
前記撮影位置取得ユニットに前記所定距離の２つの端点の位置情報を取得させることと、
前記２つの端点の位置の差と前記所定距離との比を、前記ローカル座標と前記ワールド座標との比として取得することとを含む、ことを特徴とする付記６に記載の撮影に基づく３Ｄモデリングシステム。
【０２８１】
（付記８）
前記１つの空間の前記３Ｄモデルのローカル座標をグローバルワールド座標に変換することは、
前記撮影位置取得ユニットが前記第１画像上で特徴点を認識することと、
認識された前記特徴点に基づいて、前記空間の底面または上面が位置する平面の高さを推定することと、
前記空間の底面または上面が位置する平面の高さと前記撮影ユニットの高さとの比を、前記ローカル座標と前記ワールド座標との比として取得することとを含む、ことを特徴とする付記６に記載の撮影に基づく３Ｄモデリングシステム。
【０２８２】
（付記９）
前記撮影ユニットが最初の撮影点を撮影する前に、またはその後の撮影の移動中に、所定距離を移動させて所定数の前記特徴点を取得する、ことを特徴とする付記８に記載の撮影に基づく３Ｄモデリングシステム。
【０２８３】
（付記１０）
前記撮影ユニットは、同一の撮影点で前記第１画像をそれぞれ撮影する２眼レンズを有し、
前記３Ｄモデル生成ユニットは、それぞれの前記２眼レンズで撮影された前記第１画像を比較して対応する画素を決定し、前記３Ｄモデルの生成に用いるための対応する前記各画素の深さ情報を取得する、ことを特徴とする付記１に記載の撮影に基づく３Ｄモデリングシステム。
【０２８４】
（付記１１）
前記３Ｄモデル生成ユニットは、ディープラーニング技術を用いて、前記第１画像における各画素の深さを予測し、前記ディープラーニング技術を計算または直接適用して前記各画素の法線方向を予測する、ことを特徴とする付記１に記載の撮影に基づく３Ｄモデリングシステム。
【０２８５】
（付記１２）
前記撮影ユニットは、カメラおよび／またはカメラ機能付きモバイル機器によって実現され、
前記３Ｄモデル生成ユニットは、前記モバイル機器またはリモートサーバによって実現され、前記リモートサーバによって実現される場合には、ネットワークを介して、前記カメラおよび／または前記カメラ機能付きモバイル機器が撮影して送信した第１画像を受信して、前記各空間の３Ｄモデルを生成し、
前記撮影位置取得ユニットは、前記カメラまたは前記モバイル機器によって実現され、
前記３Ｄモデルスティッチングユニットは、前記モバイル機器またはリモートサーバによって実現され、前記リモートサーバによって実現される場合には、ネットワークを介して、前記撮影位置取得ユニットから送信された各空間の前記位置および撮影方向情報を受信し、当該位置および撮影方向情報に基づいて前記スティッチング処理を完了し、生成した前記３Ｄモデル全体を前記モバイル機器または他の機器に送信する、ことを特徴とする付記１−１１のいずれか一つに記載の撮影に基づく３Ｄモデリングシステム。
【０２８６】
（付記１３）
前記撮影ユニットを実装したカメラと、カメラ機能付きモバイル機器とを同一の撮影スタンドに固定し、
前記スタンドを移動させる過程で、前記カメラまたは前記カメラ機能付きモバイル機器が撮影した複数の第２画像を取得し、それにより、前記カメラまたは前記カメラ機能付きモバイル機器が位置される空間に対して第１画像を撮影した時の位置および撮影方向情報を取得する、ことを特徴とする付記１２に記載の撮影に基づく３Ｄモデリングシステム。
【０２８７】
（付記１４）
前記カメラまたは前記カメラ機能付きモバイル機器の位置決めシステムに基づいて、前記カメラまたは前記カメラ機能付きモバイル機器が撮影した第２画像を用いて、近接した撮影点の第２画像の特徴点を照合することにより、各撮影点の相対変位情報および撮影方向情報を取得し、各撮影点の相対位置および方向を提供する、ことを特徴とする付記１３に記載の撮影に基づく３Ｄモデリングシステム。
【０２８８】
（付記１５）
前記撮影ユニットが前記第１空間の前記第１画像を撮影する前に、あるいはその後の移動中に、以下の方法、すなわち、
（１）前記モバイル機器に基づく位置決めシステムと前記カメラに基づく位置決めシステムを同時に動作させ、前記スタンドを一定の距離で移動させ、この時、２つのシステムがそれぞれ１つの変位ベクトルを提供し、２つのベクトルの間の角度を、前記カメラのレンズと前記モバイル機器の撮影方向との間の角度とする方法、
（２）前記カメラのプレビュー画像または撮影画像を手動で回転させて、前記モバイル機器の撮影方向と一致する角度を指定する方法、
（３）前記モバイル機器と前記カメラのプレビュー画像または撮影画像を画像認識アルゴリズムで照合することによって、前記角度を見つける方法、
（４）スタンドに目盛りを付けるなど、追加のマーキングを使用して、前記モバイル機器の設置方向と一定の角度を形成し、その後、前記カメラのプレビュー画像または画像の中の当該マーキングを認識して、前記カメラのレンズと前記モバイル機器の撮影方向との間の角度を算出する方法、
（５）前記スタンドにスロットを設けることにより、前記カメラと前記モバイル機器との間の既知の固定角度を確保する方法、の１つ以上で、前記カメラのレンズと前記モバイル機器の撮影方向とのなす角度を取得することをさらに含む、ことを特徴とする付記１３に記載の撮影に基づく３Ｄモデリングシステム。
【０２８９】
（付記１６）
前記空間は、部屋であり、
前記第１画像は、前記部屋の室内画像であり、
前記３Ｄモデル生成ユニットは、ディープラーニング技術に基づいて前記第１画像中の床、天井、壁の少なくとも１つを認識し、認識した画像を画像処理技術に基づいて複数のブロックに分割し、床と天井の画像ブロックが水平面内にあり、壁の画像ブロックが垂直面内にあるように、それぞれのブロックをおおよそ平面とみなし、各平面の方程式を解いて前記３Ｄモデルを生成し、ここで、前記第１画像中で交差する２つの平面については、算出された交差線と実際に観察された交差線との誤差を最小化する、ことを特徴とする付記１に記載の撮影に基づく３Ｄモデリングシステム。
【０２９０】
（付記１７）
前記３Ｄモデル生成ユニットはさらに、コンピュータビジョン技術を用いて、前記室内画像中のコーナーを認識し、コーナーを連結して部屋の大まかなモデルを生成する、ことを特徴とする付記１６に記載の撮影に基づく３Ｄモデリングシステム。
【０２９１】
（付記１８）
前記３Ｄモデルスティッチングユニットは、前記複数の部屋のそれぞれの３Ｄモデルを統一して補正し、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全部屋の壁線方向を統一して補正することが含まれ、
前記３Ｄモデルスティッチングユニットは、前記各部屋の３Ｄモデルをスティッチングする時、重なり部分および／または現れた空洞を修正する、ことを特徴とする付記１６に記載の撮影に基づく３Ｄモデリングシステム。
【０２９２】
（付記１９）
以下の方法、すなわち、
生成した前記３Ｄモデルの各平面を床に垂直な平面に投影し、これらの投影を１つのポリゴンに結合する方法と；
得られた前記ポリゴンを補正および簡略化する方法と、そのうち、以下の方法、
（１）前記ポリゴンの主要な頂点のみを残し、小さい凹凸を削除すること、
（２）コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正すること、の少なくとも１つが含まれ；
前記撮影位置取得ユニットが取得した各空間の前記位置および撮影方向情報に基づいて、生成した前記各部屋の２Ｄ平面図を同一の二次元座標系でスティッチング処理を行い、前記各部屋のそれぞれの２Ｄ平面図によってスティッチングされた２Ｄ平面図全体を形成する方法と；
ディープラーニングの方法を用いて、前記室内画像上でドアおよび／または窓の位置を認識すること、または、前記撮影ユニットが同一住宅に属する複数の部屋に対して前記第１画像をそれぞれ撮影した時の移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる、ドアおよび／または窓の位置を認識してラベル付ける方法と、で２Ｄ平面図を生成する２Ｄ平面図生成ユニットをさらに含む、ことを特徴とする付記１６に記載の撮影に基づく３Ｄモデリングシステム。
【０２９３】
（付記２０）
前記２Ｄ平面図生成ユニットは、前記複数の部屋のそれぞれの２Ｄ平面図を統一して補正し、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全部屋の壁線方向を統一して補正することが含まれ、
前記２Ｄ平面図生成ユニットは、前記各部屋の２Ｄ平面図をスティッチングする時、重なり部分および／または現れた空洞を修正する、ことを特徴とする付記１９に記載の撮影に基づく３Ｄモデリングシステム。
【０２９４】
（付記２１）
以下の方法、すなわち、
前記３Ｄモデルスティッチングユニットが生成した前記３Ｄモデル全体の各平面を床に垂直な平面に投影し、これらの投影を１つのポリゴンに結合する方法と；
得られた前記ポリゴンを補正および簡略化する方法と、そのうち、以下の方法、
（１）前記ポリゴンの主要な頂点のみを残し、小さい凹凸を削除すること、
（２）コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正すること、の少なくとも１つが含まれ；
ディープラーニングの方法を用いて、前記室内画像上でドアおよび／または窓の位置を認識すること、または、前記撮影ユニットが同一住宅に属する複数の部屋に対して前記第１画像をそれぞれ撮影した時の移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる、ドアおよび／または窓の位置を認識してラベル付ける方法と、で２Ｄ平面図を生成する２Ｄ平面図生成ユニットをさらに含む、ことを特徴とする付記１６に記載の撮影に基づく３Ｄモデリングシステム。
【０２９５】
（付記２２）
モデリングオブジェクトに含まれる複数の空間のそれぞれの第１画像に基づいて、前記複数の空間のそれぞれの３Ｄモデルを生成する３Ｄモデル生成ユニットと、
前記複数の空間のそれぞれの前記第１画像が撮影された時の位置および撮影方向情報に基づいて、前記３Ｄモデル生成ユニットで生成した前記各空間の３Ｄモデルを同一の３次元座標系でスティッチング処理を行い、前記各空間のそれぞれの３Ｄモデルによってスティッチングされた３Ｄモデル全体を形成する３Ｄモデルスティッチングユニットとを含む、ことを特徴とする自動３Ｄモデリング装置。
【０２９６】
（付記２３）
前記３Ｄモデルスティッチングユニットは、前記位置および撮影方向情報に基づいて、１つの空間の前記３Ｄモデルのローカル座標をグローバルワールド座標に変換することで、全ての空間の３Ｄモデル全体を取得する、ことを特徴とする付記２２に記載の自動３Ｄモデリング装置。
【０２９７】
（付記２４）
前記空間は、部屋であり、
前記第１画像は、前記部屋の室内画像であり、
前記３Ｄモデル生成ユニットは、ディープラーニング技術に基づいて前記第１画像中の床、天井、壁の少なくとも１つを認識し、認識した画像を画像処理技術に基づいて複数のブロックに分割し、床と天井の画像ブロックが水平面内にあり、壁の画像ブロックが垂直面内にあるように、それぞれのブロックをおおよそ平面とみなし、各平面の方程式を解いて前記３Ｄモデルを生成し、ここで、前記第１画像中で交差する２つの平面については、算出された交差線と実際に観察された交差線との誤差を最小化し、
前記３Ｄモデル生成ユニットはさらに、コンピュータビジョン技術を用いて、前記室内画像中のコーナーを認識し、コーナーを連結して部屋の大まかなモデルを生成する、ことを特徴とする付記２２または２３に記載の自動３Ｄモデリング装置。
【０２９８】
（付記２５）
前記３Ｄモデルスティッチングユニットは、前記複数の部屋のそれぞれの３Ｄモデルを統一して補正し、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全部屋の壁線方向を統一して補正することが含まれ、
前記３Ｄモデルスティッチングユニットは、前記各部屋の３Ｄモデルをスティッチングする時、重なり部分および／または現れた空洞を修正する、ことを特徴とする付記２４に記載の自動３Ｄモデリング装置。
【０２９９】
（付記２６）
以下の方法、すなわち、
生成した前記３Ｄモデルの各平面を床に垂直な平面に投影し、これらの投影を１つのポリゴンに結合する方法と；
得られた前記ポリゴンを補正および簡略化する方法と、そのうち、以下の方法、
（１）前記ポリゴンの主要な頂点のみを残し、小さい凹凸を削除すること、
（２）コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正すること、の少なくとも１つが含まれ；
前記位置および撮影方向情報に基づいて、生成した前記各部屋の２Ｄ平面図を同一の２次元座標系でスティッチング処理を行い、前記各部屋のそれぞれの２Ｄ平面図によってスティッチングされた２Ｄ平面図全体を形成する方法と；
ディープラーニングの方法を用いて、前記室内画像上でドアおよび／または窓の位置を認識すること、または、同一住宅に属する複数の部屋に対して前記第１画像をそれぞれ撮影した時に取得した移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる、ドアおよび／または窓の位置を認識してラベル付ける方法と、で２Ｄ平面図を生成する２Ｄ平面図生成ユニットをさらに含む、ことを特徴とする付記２４に記載の自動３Ｄモデリング装置。
【０３００】
（付記２７）
前記２Ｄ平面図生成ユニットは、前記複数の部屋のそれぞれの２Ｄ平面図を統一して補正し、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全部屋の壁線方向を統一して補正することが含まれ、
前記２Ｄ平面図生成ユニットは、前記各部屋の２Ｄ平面図をスティッチングする時、重なり部分および／または現れた空洞を修正する、ことを特徴とする付記２６に記載の自動３Ｄモデリング装置。
【０３０１】
（付記２８）
以下の方法、すなわち、
前記３Ｄモデルスティッチングユニットが生成した前記３Ｄモデル全体の各平面を床に垂直な平面に投影し、これらの投影を１つのポリゴンに結合する方法と；
得られた前記ポリゴンを補正および簡略化する方法と、そのうち、以下の方法、
（１）前記ポリゴンの主要な頂点のみを残し、小さい凹凸を削除すること、
（２）コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正すること、の少なくとも１つが含まれ；
ディープラーニングの方法を用いて、前記室内画像上でドアおよび／または窓の位置を認識すること、または、同一住宅に属する複数の部屋に対して前記第１画像をそれぞれ撮影した時の移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる、ドアおよび／または窓の位置を認識してラベル付ける方法と、で２Ｄ平面図を生成する２Ｄ平面図生成ユニットをさらに含む、ことを特徴とする付記２４に記載の自動３Ｄモデリング装置。
【０３０２】
（付記２９）
モデリングオブジェクトに含まれる複数の空間のそれぞれの第１画像に基づいて、前記各空間の３Ｄモデルをそれぞれ生成する３Ｄモデル生成ステップと、
前記複数の空間のそれぞれの前記第１画像が撮影された時の位置および撮影方向情報に基づいて、前記３Ｄモデル生成ステップで生成した前記各空間の３Ｄモデルを同一の三次元座標系でスティッチング処理を行い、前記各空間のそれぞれの３Ｄモデルによってスティッチングされた３Ｄモデル全体を形成する３Ｄモデルスティッチングステップとを含む、ことを特徴とする自動３Ｄモデリング方法。
【０３０３】
（付記３０）
前記３Ｄモデルスティッチングステップでは、前記位置および撮影方向情報に基づいて、１つの空間の前記３Ｄモデルのローカル座標をグローバルワールド座標に変換することで、全ての空間の３Ｄモデル全体を取得する、ことを特徴とする付記２９に記載の自動３Ｄモデリング方法。
【０３０４】
（付記３１）
前記空間は、部屋であり、
前記第１画像は、前記部屋の室内画像であり、
前記３Ｄモデル生成ステップでは、ディープラーニング技術に基づいて前記第１画像中の床、天井、壁の少なくとも１つを認識し、認識した画像を画像処理技術に基づいて複数のブロックに分割し、床と天井の画像ブロックが水平面内にあり、壁の画像ブロックが垂直面内にあるように、それぞれのブロックをおおよそ平面とみなし、各平面の方程式を解いて前記３Ｄモデルを生成し、ここで、前記第１画像中で交差する２つの平面については、算出された交差線と実際に観察された交差線との誤差を最小化し、
前記３Ｄモデル生成ステップでは、さらに、コンピュータビジョン技術を用いて、前記室内画像中のコーナーを認識し、コーナーを連結して部屋の大まかなモデルを生成する、ことを特徴とする付記２９または３０に記載の自動３Ｄモデリング方法。
【０３０５】
（付記３２）
以下の方法、すなわち、
生成した前記３Ｄモデルの各平面を床に垂直な平面に投影し、これらの投影を１つのポリゴンに結合する方法と；
得られた前記ポリゴンを補正および簡略化する方法と、そのうち、以下の方法、
（１）前記ポリゴンの主要な頂点のみを残し、小さい凹凸を削除すること、
（２）コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正すること、の少なくとも１つが含まれ；
前記位置および撮影方向情報に基づいて、生成した前記各部屋の２Ｄ平面図を同一の二次元座標系でスティッチング処理を行い、前記各部屋のそれぞれの２Ｄ平面図によってスティッチングされた２Ｄ平面図全体を形成する方法と；
ディープラーニングの方法を用いて、前記室内画像上でドアおよび／または窓の位置を認識すること、または、同一住宅に属する複数の部屋に対して前記第１画像をそれぞれ撮影した時に取得した移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる、ドアおよび／または窓の位置を認識してラベル付ける方法と、で２Ｄ平面図を生成する２Ｄ平面図生成ステップをさらに含む、ことを特徴とする付記３１に記載の自動３Ｄモデリング方法。
【０３０６】
（付記３３）
前記２Ｄ平面図生成ステップでは、前記複数の部屋のそれぞれの２Ｄ平面図を統一して補正し、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全部屋の壁線方向を統一して補正することが含まれ、
前記２Ｄ平面図生成ステップでは、前記各部屋の２Ｄ平面図をスティッチングする時、重なり部分および／または現れた空洞を修正する、ことを特徴とする付記３２に記載の自動３Ｄモデリング方法。
【０３０７】
（付記３４）
以下の方法、すなわち、
前記３Ｄモデルスティッチングステップで生成した前記３Ｄモデル全体の各平面を床に垂直な平面に投影し、これらの投影を１つのポリゴンに結合する方法と；
得られた前記ポリゴンを補正および簡略化する方法と、そのうち、以下の方法、
（１）前記ポリゴンの主要な頂点のみを残し、小さい凹凸を削除すること、
（２）コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正すること、の少なくとも１つが含まれ；
ディープラーニングの方法を用いて、前記室内画像上でドアおよび／または窓の位置を認識すること、または、同一住宅に属する複数の部屋に対して前記第１画像をそれぞれ撮影した時の移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる、ドアおよび／または窓の位置を認識してラベル付ける方法と、で２Ｄ平面図を生成する２Ｄ平面図生成ステップをさらに含む、ことを特徴とする付記３１に記載の自動３Ｄモデリング方法。
【０３０８】
（付記３５）
Ｓ１）カメラ機能付きモバイル機器およびカメラを同一の撮影スタンドに固定するステップと、
Ｓ２）スタンドを移動させる過程で、カメラまたはモバイル機器からの複数の第２画像を取得し、前記カメラまたはモバイル機器のセンサと組み合わせて各撮影点の位置と撮影方向を取得し、統一座標系を用いたロードマップを形成するステップと、
Ｓ３）前記モバイル機器またはリモートサーバ側で、各撮影点撮影の第１画像に基づいて、３Ｄモデリングを行うステップと、
Ｓ４）Ｓ２で取得された位置および撮影方向に応じて、各撮影点の前記３Ｄモデルを同一の三次元座標系に配置し、複数の撮影点３Ｄモデル間の結合部分をスティッチングし、複数の撮影点が含まれる３Ｄモデル全体を形成するステップとを含む、ことを特徴とする撮影に基づく３Ｄモデリング方法。
【０３０９】
（付記３６）
前記ステップＳ２では、前記モバイル機器またはカメラの位置決めシステムに基づいて、前記モバイル機器またはカメラで撮影した第２画像を用いて、近似した撮影点の第２画像の特徴点を照合することにより、撮影点の相対変位および撮影方向情報を見つけ、全ての撮影点を同一の座標系に含む前記ロードマップを形成し、各撮影点の位置および方向を提供する、ことを特徴とする付記３５に記載の撮影に基づく３Ｄモデリング方法。
【０３１０】
（付記３７）
前記ステップＳ２は、さらに、前記モバイル機器またはカメラを用いて、移動加速度、速度、および方向情報を取得することにより、前記ロードマップを補正することを含む、ことを特徴とする付記３５または３６に記載の撮影に基づく３Ｄモデリング方法。
【０３１１】
（付記３８）
前記ステップＳ２は、前記カメラのレンズと前記モバイル機器の撮影方向との間の角度を取得することをさらに含み、そのうち、初期化段階で、前記モバイル機器に基づく位置決めシステムと前記カメラに基づく位置決めシステムを同時に動作させ、スタンドを一定の距離だけ移動させ、この時、２つのシステムがそれぞれ１つの変位ベクトルを提供し、２つのベクトルの間の角度を、前記カメラのレンズと前記モバイル機器の撮影方向との間の角度とすること；あるいは、前記カメラのプレビュー画像または撮影画像を手動で回転させて、前記モバイル機器の撮影方向と一致する角度を指定すること；あるいは、前記モバイル機器と前記カメラのプレビュー画像または撮影画像を画像認識アルゴリズムで照合することによって、その角度を見つけること；あるいは、スタンドに目盛りを付けるなど、追加のマーキングを使用して、前記モバイル機器の設置方向と一定の角度を形成し、その後、前記カメラのプレビュー画像または画像の中の当該マーキングを認識して、前記カメラのレンズと前記モバイル機器の撮影方向との間の角度を算出することが含まれる、ことを特徴とする付記３６に記載の撮影に基づく３Ｄモデリング方法。
【０３１２】
（付記３９）
前記ステップＳ３は、
Ｓ３１）ディープラーニング技術に基づいて、画像中の床、天井、壁の少なくとも１つを認識するステップと、
Ｓ３２）認識した画像を画像処理技術に基づいて複数のブロックに分割し、床と天井の画像ブロックが水平面内にあり、壁の画像ブロックが垂直面内にあるように、それぞれのブロックをおおよそ平面とみなし、各平面の方程式を解いて前記３Ｄモデルを生成し、画像中で交差する２つの平面については、２つの平面の交差線を制約条件とし、算出された交差線と実際に観察された交差線との誤差を最小化するステップとを含む、ことを特徴とする付記３５に記載の撮影に基づく３Ｄモデリング方法。
【０３１３】
（付記４０）
前記ステップＳ３はさらに、コンピュータビジョン技術を用いて、室内画像中のコーナーを認識し、コーナーを連結して部屋の大まかなモデルを生成するステップを含む、ことを特徴とする付記３５に記載の撮影に基づく３Ｄモデリング方法。
【０３１４】
（付記４１）
前記ステップＳ４は、
Ｓ４１）各撮影点の位置と撮影方向に基づいて、シングル撮影点の３Ｄモデルのローカル座標をグローバルワールド座標に変換することで、全ての撮影点の３Ｄモデル全体を取得するステップと、
Ｓ４２）複数の撮影点の３Ｄモデルを統一して補正するステップと、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全ての撮影点の壁線方向を統一して補正することが含まれ、
Ｓ４３）各撮影点の３Ｄモデルをスティッチングする時、重なり部分および／または現れた空洞を修正するステップとを含む、ことを特徴とする付記３５に記載の撮影に基づく３Ｄモデリング方法。 
【図１】
2022501684.tif 000003
【図２】
2022501684.tif 000004
【図３】
2022501684.tif 000005
【図４】
2022501684.tif 000006
【図５】
2022501684.tif 000007
【図６】
2022501684.tif 000008
【図７】
2022501684.tif 000009
【図８】
2022501684.tif 000010
【手続補正書】
【提出日】令和2年12月18日(2020.12.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の空間に対して当該空間の第１画像をそれぞれ撮影するための撮影ユニットと、
前記各空間ごとに前記撮影ユニットが撮影した前記第１画像に基づいて、前記各空間の３Ｄモデルをそれぞれ生成する３Ｄモデル生成ユニットと、
前記撮影ユニットが各空間の第１画像を撮影した時の位置および撮影方向情報を取得するための撮影位置取得ユニットと、
前記位置および撮影方向情報に基づいて、前記各空間の３Ｄモデルを同一の三次元座標系でスティッチング処理を行い、前記各空間が含まれる３Ｄモデル全体を形成する３Ｄモデルスティッチングユニットとを含む、ことを特徴とする撮影に基づく３Ｄモデリングシステム。
【請求項２】
前記撮影ユニットは、前記各空間の間を移動する過程で複数の第２画像を撮影し、
前記撮影位置取得ユニットは、前記複数の第２画像を用いて特徴点照合を行うことにより、各撮影点の相対変位および撮影方向情報を取得する、ことを特徴とする請求項１に記載の撮影に基づく３Ｄモデリングシステム。
【請求項３】
前記撮影ユニットは、位置決めセンサと方向センサを有し、
前記撮影位置取得ユニットは、前記撮影ユニットが位置される空間の第１画像を撮影した時に提供される位置決め情報と方向情報に基づいて、前記撮影ユニットが位置される空間の第１画像を撮影した時の位置および撮影方向情報を取得する、ことを特徴とする請求項１に記載の撮影に基づく３Ｄモデリングシステム。
【請求項４】
前記撮影ユニットは、前記各空間の間を移動する過程で複数の第２画像を撮影し、
前記撮影ユニットは、位置決めセンサと方向センサを有し、
前記撮影位置取得ユニットは、前記複数の第２画像を用いて特徴点照合を行うことにより、各撮影点の相対変位情報および撮影方向情報を取得し、かつ前記撮影ユニットが位置される空間の第１画像を撮影した時の位置決め情報と方向情報に基づいて、前記相対変位および撮影方向情報を補正することにより、前記撮影ユニットが位置される空間の第１画像を撮影した時の位置および撮影方向情報を取得する、ことを特徴とする請求項１に記載の撮影に基づく３Ｄモデリングシステム。
【請求項５】
前記撮影位置取得ユニットは、変位センサが取得した変位情報に基づいて、前記相対変位および撮影方向情報を補正する、ことを特徴とする請求項４に記載の撮影に基づく３Ｄモデリングシステム。
【請求項６】
前記３Ｄモデルスティッチングユニットは、各空間を撮影する際に前記撮影位置取得ユニットが取得した前記位置および撮影方向情報に基づいて、１つの空間の前記３Ｄモデルのローカル座標をグローバルワールド座標に変換することで、前記複数の空間の３Ｄモデル全体を取得する、ことを特徴とする請求項１に記載の撮影に基づく３Ｄモデリングシステム。
【請求項７】
前記１つの空間の前記３Ｄモデルのローカル座標をグローバルワールド座標に変換することは、
前記撮影ユニットを所定距離で移動させることと、
前記撮影位置取得ユニットに前記所定距離の２つの端点の位置情報を取得させることと、
前記２つの端点の位置の差と前記所定距離との比を、前記ローカル座標と前記ワールド座標との比として取得することとを含む、ことを特徴とする請求項６に記載の撮影に基づく３Ｄモデリングシステム。
【請求項８】
前記１つの空間の前記３Ｄモデルのローカル座標をグローバルワールド座標に変換することは、
前記撮影位置取得ユニットが前記第１画像上で特徴点を認識することと、
認識された前記特徴点に基づいて、前記空間の底面または上面が位置する平面の高さを推定することと、
前記空間の底面または上面が位置する平面の高さと前記撮影ユニットの高さとの比を、前記ローカル座標と前記ワールド座標との比として取得することとを含む、ことを特徴とする請求項６に記載の撮影に基づく３Ｄモデリングシステム。
【請求項９】
前記撮影ユニットが最初の撮影点を撮影する前に、またはその後の撮影の移動中に、所定距離を移動させて所定数の前記特徴点を取得する、ことを特徴とする請求項８に記載の撮影に基づく３Ｄモデリングシステム。
【請求項１０】
前記撮影ユニットは、同一の撮影点で前記第１画像をそれぞれ撮影する２眼レンズを有し、
前記３Ｄモデル生成ユニットは、それぞれの前記２眼レンズで撮影された前記第１画像を比較して対応する画素を決定し、前記３Ｄモデルの生成に用いるための対応する前記各画素の深さ情報を取得する、ことを特徴とする請求項１に記載の撮影に基づく３Ｄモデリングシステム。
【請求項１１】
前記３Ｄモデル生成ユニットは、ディープラーニング技術を用いて、前記第１画像における各画素の深さを予測し、前記ディープラーニング技術を計算または直接適用して前記各画素の法線方向を予測する、ことを特徴とする請求項１に記載の撮影に基づく３Ｄモデリングシステム。
【請求項１２】
前記撮影ユニットは、カメラおよび／またはカメラ機能付きモバイル機器によって実現され、
前記３Ｄモデル生成ユニットは、前記モバイル機器またはリモートサーバによって実現され、前記リモートサーバによって実現される場合には、ネットワークを介して、前記カメラおよび／または前記カメラ機能付きモバイル機器が撮影して送信した第１画像を受信して、前記各空間の３Ｄモデルを生成し、
前記撮影位置取得ユニットは、前記カメラまたは前記モバイル機器によって実現され、
前記３Ｄモデルスティッチングユニットは、前記モバイル機器またはリモートサーバによって実現され、前記リモートサーバによって実現される場合には、ネットワークを介して、前記撮影位置取得ユニットから送信された各空間の前記位置および撮影方向情報を受信し、当該位置および撮影方向情報に基づいて前記スティッチング処理を完了し、生成した前記３Ｄモデル全体を前記モバイル機器または他の機器に送信する、ことを特徴とする請求項１−１１のいずれか一項に記載の撮影に基づく３Ｄモデリングシステム。
【請求項１３】
前記撮影ユニットを実装したカメラと、カメラ機能付きモバイル機器とを同一の撮影スタンドに固定し、
前記スタンドを移動させる過程で、前記カメラまたは前記カメラ機能付きモバイル機器が撮影した複数の第２画像を取得し、それにより、前記カメラまたは前記カメラ機能付きモバイル機器が位置される空間に対して第１画像を撮影した時の位置および撮影方向情報を取得する、ことを特徴とする請求項１２に記載の撮影に基づく３Ｄモデリングシステム。
【請求項１４】
前記カメラまたは前記カメラ機能付きモバイル機器の位置決めシステムに基づいて、前記カメラまたは前記カメラ機能付きモバイル機器が撮影した第２画像を用いて、近接した撮影点の第２画像の特徴点を照合することにより、各撮影点の相対変位情報および撮影方向情報を取得し、各撮影点の相対位置および方向を提供する、ことを特徴とする請求項１３に記載の撮影に基づく３Ｄモデリングシステム。
【請求項１５】
前記撮影ユニットが前記第１空間の前記第１画像を撮影する前に、あるいはその後の移動中に、以下の方法、すなわち、
（１）前記モバイル機器に基づく位置決めシステムと前記カメラに基づく位置決めシステムを同時に動作させ、前記スタンドを一定の距離で移動させ、この時、２つのシステムがそれぞれ１つの変位ベクトルを提供し、２つのベクトルの間の角度を、前記カメラのレンズと前記モバイル機器の撮影方向との間の角度とする方法、
（２）前記カメラのプレビュー画像または撮影画像を手動で回転させて、前記モバイル機器の撮影方向と一致する角度を指定する方法、
（３）前記モバイル機器と前記カメラのプレビュー画像または撮影画像を画像認識アルゴリズムで照合することによって、前記角度を見つける方法、
（４）スタンドに目盛りを付けるなど、追加のマーキングを使用して、前記モバイル機器の設置方向と一定の角度を形成し、その後、前記カメラのプレビュー画像または画像の中の当該マーキングを認識して、前記カメラのレンズと前記モバイル機器の撮影方向との間の角度を算出する方法、
（５）前記スタンドにスロットを設けることにより、前記カメラと前記モバイル機器との間の既知の固定角度を確保する方法、の１つ以上で、前記カメラのレンズと前記モバイル機器の撮影方向とのなす角度を取得することをさらに含む、ことを特徴とする請求項１３に記載の撮影に基づく３Ｄモデリングシステム。
【請求項１６】
前記空間は、部屋であり、
前記第１画像は、前記部屋の室内画像であり、
前記３Ｄモデル生成ユニットは、ディープラーニング技術に基づいて前記第１画像中の床、天井、壁の少なくとも１つを認識し、認識した画像を画像処理技術に基づいて複数のブロックに分割し、床と天井の画像ブロックが水平面内にあり、壁の画像ブロックが垂直面内にあるように、それぞれのブロックをおおよそ平面とみなし、各平面の方程式を解いて前記３Ｄモデルを生成し、ここで、前記第１画像中で交差する２つの平面については、算出された交差線と実際に観察された交差線との誤差を最小化する、ことを特徴とする請求項１に記載の撮影に基づく３Ｄモデリングシステム。
【請求項１７】
前記３Ｄモデル生成ユニットはさらに、コンピュータビジョン技術を用いて、前記室内画像中のコーナーを認識し、コーナーを連結して部屋の大まかなモデルを生成する、ことを特徴とする請求項１６に記載の撮影に基づく３Ｄモデリングシステム。
【請求項１８】
前記３Ｄモデルスティッチングユニットは、前記複数の部屋のそれぞれの３Ｄモデルを統一して補正し、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全部屋の壁線方向を統一して補正することが含まれ、
前記３Ｄモデルスティッチングユニットは、前記各部屋の３Ｄモデルをスティッチングする時、重なり部分および／または現れた空洞を修正する、ことを特徴とする請求項１６に記載の撮影に基づく３Ｄモデリングシステム。
【請求項１９】
以下の方法、すなわち、
生成した前記３Ｄモデルの各平面を床に垂直な平面に投影し、これらの投影を１つのポリゴンに結合する方法と；
得られた前記ポリゴンを補正および簡略化する方法と、そのうち、以下の方法、
（１）前記ポリゴンの主要な頂点のみを残し、小さい凹凸を削除すること、
（２）コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正すること、の少なくとも１つが含まれ；
前記撮影位置取得ユニットが取得した各空間の前記位置および撮影方向情報に基づいて、生成した前記各部屋の２Ｄ平面図を同一の二次元座標系でスティッチング処理を行い、前記各部屋のそれぞれの２Ｄ平面図によってスティッチングされた２Ｄ平面図全体を形成する方法と；
ディープラーニングの方法を用いて、前記室内画像上でドアおよび／または窓の位置を認識すること、または、前記撮影ユニットが同一住宅に属する複数の部屋に対して前記第１画像をそれぞれ撮影した時の移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる、ドアおよび／または窓の位置を認識してラベル付ける方法と、で２Ｄ平面図を生成する２Ｄ平面図生成ユニットをさらに含む、ことを特徴とする請求項１６に記載の撮影に基づく３Ｄモデリングシステム。
【請求項２０】
前記２Ｄ平面図生成ユニットは、前記複数の部屋のそれぞれの２Ｄ平面図を統一して補正し、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全部屋の壁線方向を統一して補正することが含まれ、
前記２Ｄ平面図生成ユニットは、前記各部屋の２Ｄ平面図をスティッチングする時、重なり部分および／または現れた空洞を修正する、ことを特徴とする請求項１９に記載の撮影に基づく３Ｄモデリングシステム。
【請求項２１】
以下の方法、すなわち、
前記３Ｄモデルスティッチングユニットが生成した前記３Ｄモデル全体の各平面を床に垂直な平面に投影し、これらの投影を１つのポリゴンに結合する方法と；
得られた前記ポリゴンを補正および簡略化する方法と、そのうち、以下の方法、
（１）前記ポリゴンの主要な頂点のみを残し、小さい凹凸を削除すること、
（２）コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正すること、の少なくとも１つが含まれ；
ディープラーニングの方法を用いて、前記室内画像上でドアおよび／または窓の位置を認識すること、または、前記撮影ユニットが同一住宅に属する複数の部屋に対して前記第１画像をそれぞれ撮影した時の移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる、ドアおよび／または窓の位置を認識してラベル付ける方法と、で２Ｄ平面図を生成する２Ｄ平面図生成ユニットをさらに含む、ことを特徴とする請求項１６に記載の撮影に基づく３Ｄモデリングシステム。
【請求項２２】
モデリングオブジェクトに含まれる複数の空間のそれぞれの第１画像に基づいて、前記各空間の３Ｄモデルをそれぞれ生成する３Ｄモデル生成ステップと、
前記複数の空間のそれぞれの前記第１画像が撮影された時の位置および撮影方向情報に基づいて、前記３Ｄモデル生成ステップで生成した前記各空間の３Ｄモデルを同一の三次元座標系でスティッチング処理を行い、前記各空間のそれぞれの３Ｄモデルによってスティッチングされた３Ｄモデル全体を形成する３Ｄモデルスティッチングステップとを含む、ことを特徴とする自動３Ｄモデリング方法。
【請求項２３】
前記３Ｄモデルスティッチングステップでは、前記位置および撮影方向情報に基づいて、１つの空間の前記３Ｄモデルのローカル座標をグローバルワールド座標に変換することで、全ての空間の３Ｄモデル全体を取得する、ことを特徴とする請求項２２に記載の自動３Ｄモデリング方法。
【請求項２４】
前記空間は、部屋であり、
前記第１画像は、前記部屋の室内画像であり、
前記３Ｄモデル生成ステップでは、ディープラーニング技術に基づいて前記第１画像中の床、天井、壁の少なくとも１つを認識し、認識した画像を画像処理技術に基づいて複数のブロックに分割し、床と天井の画像ブロックが水平面内にあり、壁の画像ブロックが垂直面内にあるように、それぞれのブロックをおおよそ平面とみなし、各平面の方程式を解いて前記３Ｄモデルを生成し、ここで、前記第１画像中で交差する２つの平面については、算出された交差線と実際に観察された交差線との誤差を最小化し、
前記３Ｄモデル生成ステップでは、さらに、コンピュータビジョン技術を用いて、前記室内画像中のコーナーを認識し、コーナーを連結して部屋の大まかなモデルを生成する、ことを特徴とする請求項２２または２３に記載の自動３Ｄモデリング方法。
【請求項２５】
以下の方法、すなわち、
生成した前記３Ｄモデルの各平面を床に垂直な平面に投影し、これらの投影を１つのポリゴンに結合する方法と；
得られた前記ポリゴンを補正および簡略化する方法と、そのうち、以下の方法、
（１）前記ポリゴンの主要な頂点のみを残し、小さい凹凸を削除すること、
（２）コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正すること、の少なくとも１つが含まれ；
前記位置および撮影方向情報に基づいて、生成した前記各部屋の２Ｄ平面図を同一の二次元座標系でスティッチング処理を行い、前記各部屋のそれぞれの２Ｄ平面図によってスティッチングされた２Ｄ平面図全体を形成する方法と；
ディープラーニングの方法を用いて、前記室内画像上でドアおよび／または窓の位置を認識すること、または、同一住宅に属する複数の部屋に対して前記第１画像をそれぞれ撮影した時に取得した移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる、ドアおよび／または窓の位置を認識してラベル付ける方法と、で２Ｄ平面図を生成する２Ｄ平面図生成ステップをさらに含む、ことを特徴とする請求項２４に記載の自動３Ｄモデリング方法。
【請求項２６】
前記２Ｄ平面図生成ステップでは、前記複数の部屋のそれぞれの２Ｄ平面図を統一して補正し、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全部屋の壁線方向を統一して補正することが含まれ、
前記２Ｄ平面図生成ステップでは、前記各部屋の２Ｄ平面図をスティッチングする時、重なり部分および／または現れた空洞を修正する、ことを特徴とする請求項２５に記載の自動３Ｄモデリング方法。
【請求項２７】
以下の方法、すなわち、
前記３Ｄモデルスティッチングステップで生成した前記３Ｄモデル全体の各平面を床に垂直な平面に投影し、これらの投影を１つのポリゴンに結合する方法と；
得られた前記ポリゴンを補正および簡略化する方法と、そのうち、以下の方法、
（１）前記ポリゴンの主要な頂点のみを残し、小さい凹凸を削除すること、
（２）コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正すること、の少なくとも１つが含まれ；
ディープラーニングの方法を用いて、前記室内画像上でドアおよび／または窓の位置を認識すること、または、同一住宅に属する複数の部屋に対して前記第１画像をそれぞれ撮影した時の移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる、ドアおよび／または窓の位置を認識してラベル付ける方法と、で２Ｄ平面図を生成する２Ｄ平面図生成ステップをさらに含む、ことを特徴とする請求項２４に記載の自動３Ｄモデリング方法。
【請求項２８】
Ｓ１）カメラ機能付きモバイル機器およびカメラを同一の撮影スタンドに固定するステップと、
Ｓ２）スタンドを移動させる過程で、カメラまたはモバイル機器からの複数の第２画像を取得し、前記カメラまたはモバイル機器のセンサと組み合わせて各撮影点の位置と撮影方向を取得し、統一座標系を用いたロードマップを形成するステップと、
Ｓ３）前記モバイル機器またはリモートサーバ側で、各撮影点撮影の第１画像に基づいて、３Ｄモデリングを行うステップと、
Ｓ４）Ｓ２で取得された位置および撮影方向に応じて、各撮影点の前記３Ｄモデルを同一の三次元座標系に配置し、複数の撮影点３Ｄモデル間の結合部分をスティッチングし、複数の撮影点が含まれる３Ｄモデル全体を形成するステップとを含む、ことを特徴とする撮影に基づく３Ｄモデリング方法。
【請求項２９】
前記ステップＳ２では、前記モバイル機器またはカメラの位置決めシステムに基づいて、前記モバイル機器またはカメラで撮影した第２画像を用いて、近似した撮影点の第２画像の特徴点を照合することにより、撮影点の相対変位および撮影方向情報を見つけ、全ての撮影点を同一の座標系に含む前記ロードマップを形成し、各撮影点の位置および方向を提供する、ことを特徴とする請求項２８に記載の撮影に基づく３Ｄモデリング方法。
【請求項３０】
前記ステップＳ２は、さらに、前記モバイル機器またはカメラを用いて、移動加速度、速度、および方向情報を取得することにより、前記ロードマップを補正することを含む、ことを特徴とする請求項２８または２９に記載の撮影に基づく３Ｄモデリング方法。
【請求項３１】
前記ステップＳ２は、前記カメラのレンズと前記モバイル機器の撮影方向との間の角度を取得することをさらに含み、そのうち、初期化段階で、前記モバイル機器に基づく位置決めシステムと前記カメラに基づく位置決めシステムを同時に動作させ、スタンドを一定の距離だけ移動させ、この時、２つのシステムがそれぞれ１つの変位ベクトルを提供し、２つのベクトルの間の角度を、前記カメラのレンズと前記モバイル機器の撮影方向との間の角度とすること；あるいは、前記カメラのプレビュー画像または撮影画像を手動で回転させて、前記モバイル機器の撮影方向と一致する角度を指定すること；あるいは、前記モバイル機器と前記カメラのプレビュー画像または撮影画像を画像認識アルゴリズムで照合することによって、その角度を見つけること；あるいは、スタンドに目盛りを付けるなど、追加のマーキングを使用して、前記モバイル機器の設置方向と一定の角度を形成し、その後、前記カメラのプレビュー画像または画像の中の当該マーキングを認識して、前記カメラのレンズと前記モバイル機器の撮影方向との間の角度を算出することが含まれる、ことを特徴とする請求項２９に記載の撮影に基づく３Ｄモデリング方法。
【請求項３２】
前記ステップＳ３は、
Ｓ３１）ディープラーニング技術に基づいて、画像中の床、天井、壁の少なくとも１つを認識するステップと、
Ｓ３２）認識した画像を画像処理技術に基づいて複数のブロックに分割し、床と天井の画像ブロックが水平面内にあり、壁の画像ブロックが垂直面内にあるように、それぞれのブロックをおおよそ平面とみなし、各平面の方程式を解いて前記３Ｄモデルを生成し、画像中で交差する２つの平面については、２つの平面の交差線を制約条件とし、算出された交差線と実際に観察された交差線との誤差を最小化するステップとを含む、ことを特徴とする請求項２８に記載の撮影に基づく３Ｄモデリング方法。
【請求項３３】
前記ステップＳ３はさらに、コンピュータビジョン技術を用いて、室内画像中のコーナーを認識し、コーナーを連結して部屋の大まかなモデルを生成するステップを含む、ことを特徴とする請求項２８に記載の撮影に基づく３Ｄモデリング方法。
【請求項３４】
前記ステップＳ４は、
Ｓ４１）各撮影点の位置と撮影方向に基づいて、シングル撮影点の３Ｄモデルのローカル座標をグローバルワールド座標に変換することで、全ての撮影点の３Ｄモデル全体を取得するステップと、
Ｓ４２）複数の撮影点の３Ｄモデルを統一して補正するステップと、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全ての撮影点の壁線方向を統一して補正することが含まれ、
Ｓ４３）各撮影点の３Ｄモデルをスティッチングする時、重なり部分および／または現れた空洞を修正するステップとを含む、ことを特徴とする請求項２８に記載の撮影に基づく３Ｄモデリング方法。
【国際調査報告】
2022501684.tif 000011
2022501684.tif 000012
2022501684.tif 000013
2022501684.tif 000014
2022501684.tif 000015
2022501684.tif 000016