JP6220486B1 - 3次元モデル生成システム、3次元モデル生成方法、及びプログラム - Google Patents

3次元モデル生成システム、3次元モデル生成方法、及びプログラム Download PDF

Info

Publication number
JP6220486B1
JP6220486B1 JP2017532190A JP2017532190A JP6220486B1 JP 6220486 B1 JP6220486 B1 JP 6220486B1 JP 2017532190 A JP2017532190 A JP 2017532190A JP 2017532190 A JP2017532190 A JP 2017532190A JP 6220486 B1 JP6220486 B1 JP 6220486B1
Authority
JP
Japan
Prior art keywords
model
image
partial
overall
model generation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017532190A
Other languages
English (en)
Other versions
JPWO2017203709A1 (ja
Inventor
トニー タン
トニー タン
玖 徐
玖 徐
ビヨン シュテンガー
ビヨン シュテンガー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rakuten Group Inc
Original Assignee
Rakuten Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rakuten Inc filed Critical Rakuten Inc
Application granted granted Critical
Publication of JP6220486B1 publication Critical patent/JP6220486B1/ja
Publication of JPWO2017203709A1 publication Critical patent/JPWO2017203709A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/564Depth or shape recovery from multiple images from contours
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/97Determining parameters from multiple pictures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/08Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Remote Sensing (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Processing Or Creating Images (AREA)

Abstract

複数の面で囲われた空間全体の形状を正確に推定する。3次元モデル生成システム(1)の画像取得手段(101)は、複数の面で囲われた空間において、互いに異なる方向が撮影された複数の画像を取得する。部分モデル生成手段(102)は、画像ごとに、当該画像に撮影された複数の面の一部を示す部分モデルを生成する。全体モデル生成手段(103)は、部分モデル生成手段(102)により生成された複数の部分モデルに基づいて、複数の面全体を示す全体モデルを生成する。

Description

本発明は、3次元モデル生成システム、3次元モデル生成方法、及びプログラムに関する。
従来、複数の面で囲われた空間において撮影された画像に基づいて、当該空間全体の形状を推定する技術が知られている。例えば、非特許文献1には、水平方向の360°を撮影可能な魚眼レンズを装着したカメラで部屋の内部を撮影し、撮影で得られた1枚のパノラマ画像に基づいて、直方体の部屋の形状を示す3次元モデルを生成する技術が記載されている。
https://courses.cs.washington.edu/courses/cse590v/14au/cse590v_wk3_panocontext.pdf
しかしながら、実際には、例えば部屋には柱などがあり、推定対象となる空間は直方体のようにシンプルな形状ではなく、複雑な形状であることが多い。この点、非特許文献1の技術では、直方体の3次元モデルを生成することしかできないので、推定対象の空間の形状を正確に推定できないことがあった。
本発明は上記課題に鑑みてなされたものであって、その目的は、複数の面で囲われた空間全体の形状を正確に推定することである。
上記課題を解決するために、本発明に係る3次元モデル生成システムは、複数の面で囲われた空間において、互いに異なる方向が撮影された複数の画像を取得する画像取得手段と、前記画像ごとに、当該画像に撮影された前記複数の面の一部を示す部分モデルを生成する部分モデル生成手段と、前記部分モデル生成手段により生成された複数の部分モデルに基づいて、前記複数の面全体を示す全体モデルを生成する全体モデル生成手段と、を含むことを特徴とする。
本発明に係る3次元モデル生成方法は、複数の面で囲われた空間において、互いに異なる方向が撮影された複数の画像を取得する画像取得ステップと、前記画像ごとに、当該画像に撮影された前記複数の面の一部を示す部分モデルを生成する部分モデル生成ステップと、前記部分モデル生成ステップにより生成された複数の部分モデルに基づいて、前記複数の面全体を示す全体モデルを生成する全体モデル生成ステップと、を含むことを特徴とする。
本発明に係るプログラムは、複数の面で囲われた空間において、互いに異なる方向が撮影された複数の画像を取得する画像取得手段、前記画像ごとに、当該画像に撮影された前記複数の面の一部を示す部分モデルを生成する部分モデル生成手段、前記部分モデル生成手段により生成された複数の部分モデルに基づいて、前記複数の面全体を示す全体モデルを生成する全体モデル生成手段、としてコンピュータを機能させる。
また、本発明に係る情報記憶媒体は、上記のプログラムが記憶されたコンピュータ読み取り可能な情報記憶媒体である。
また、本発明の一態様では、各画像は、少なくとも1つの他の前記画像と撮影範囲の一部が重複し、前記部分モデル生成手段は、少なくとも1つの他の前記部分モデルと表面の一部が重複する前記部分モデルを生成し、前記全体モデル生成手段は、各部分モデルの重複部分の位置を合わせて前記全体モデルを生成する、ことを特徴とする。
また、本発明の一態様では、前記全体モデル生成手段は、各画像の撮影方向に関する画像情報を取得し、各画像の前記画像情報に基づいて、当該画像に対応する部分モデルを配置する位置及び向きを決定し、前記全体モデルを生成する、ことを特徴とする。
また、本発明の一態様では、前記画像取得手段は、前記空間が撮影された1枚の画像に基づいて、前記複数の画像を取得し、前記画像情報は、前記1枚の画像における各画像の位置であり、前記全体モデル生成手段は、前記1枚の画像における各画像の位置に基づいて、当該画像に対応する部分モデルを配置する位置及び向きを決定する、ことを特徴とする。
また、本発明の一態様では、前記画像取得手段は、水平方向の360°が撮影された1枚の画像に基づいて、前記複数の画像を取得する、ことを特徴とする。
また、本発明の一態様では、前記画像取得手段は、前記空間内の1点から互いに異なる方向が撮影された前記複数の画像を取得する、ことを特徴とする。
また、本発明の一態様では、前記画像取得手段は、部屋の内部で撮影された前記複数の画像を取得し、前記部分モデル生成手段は、前記部屋の一部を示す前記部分モデルを生成し、前記全体モデル生成手段は、前記部屋全体を示す前記全体モデルを生成する、ことを特徴とする。
また、本発明の一態様では、前記画像取得手段は、同じフロアにおける複数の部屋の各々で撮影された前記複数の画像を取得し、前記部分モデル生成手段は、各部屋に対応する前記部分モデルを生成し、前記全体モデル生成手段は、各部屋に対応する前記全体モデルを生成し、前記3次元モデル生成システムは、前記全体モデル生成手段が生成した複数の全体モデルに基づいて、フロアの全体的な3次元モデルを生成するフロアモデル生成手段を更に含む、ことを特徴とする。
また、本発明の一態様では、前記画像取得手段は、互いに略直交する6つ以上の側面を有する前記部屋の前記複数の画像を取得し、前記部分モデル生成手段は、前記6つ以上の側面の一部を示す前記部分モデルを生成し、前記全体モデル生成手段は、前記6つ以上の側面全体を示す前記全体モデルを生成する。
本発明によれば、複数の面で囲われた空間全体の形状を正確に推定することが可能になる。
3次元モデル生成システムのハードウェア構成を示す図である。 実施形態1の3次元モデル生成システムで実現される機能の一例を示す機能ブロック図である。 撮影対象の部屋を上から見た様子を示す図である。 部屋の撮影画像を示す図である。 画像取得部による画像の取得方法を示す図である。 画像取得部による画像の取得方法を示す図である。 部分モデルを生成する手順を示す図である。 各画像から生成された部分モデルを示す図である。 全体モデルの一例を示す図である。 3次元モデル生成システムにおいて実行される処理の一例を示すフロー図である。 サイズパラメータと全体モデルとの関係を示す図である。 実施形態2の3次元モデル生成システムで実現される機能の一例を示す機能ブロック図である。 オブジェクトモデルデータベースのデータ格納例を示す図である。 全体モデルとオブジェクトモデルが配置された仮想空間の一例を示す図である。 仮想画像の一例を示す図である。 オブジェクトの部分がマスクされた撮影画像の方向マップを示す図であり、 オブジェクトモデルの部分がマスクされた仮想画像の方向マップを示す図である。 仮想空間を上から見た様子を示す図である。 モデルパラメータが調整された場合の仮想空間の様子を示す図である。 モデルパラメータが調整された場合の仮想空間の様子を示す図である。 3次元モデル生成システムにおいて実行される処理の一例を示すフロー図である。 実施形態1に関する変形例の機能ブロック図である。
[1.実施形態1]
以下、本発明に関わる3次元モデル生成システムの実施形態の例を説明する。
[1−1.3次元モデル生成システムのハードウェア構成]
図1は、3次元モデル生成システムのハードウェア構成を示す図である。図1に示すように、3次元モデル生成システム1は、3次元モデル生成装置10とカメラ20とを含む。
3次元モデル生成装置10は、3次元モデルを生成するコンピュータであり、例えば、パーソナルコンピュータ、携帯情報端末(タブレット型コンピュータを含む)、又は携帯電話機(スマートフォンを含む)等である。3次元モデル生成装置10は、制御部11、記憶部12、通信部13、操作部14、表示部15、及び入出力部16を含む。
制御部11は、例えば、一又は複数のマイクロプロセッサを含む。制御部11は、記憶部12に記憶されたプログラムやデータに従って処理を実行する。記憶部12は、主記憶部及び補助記憶部を含む。例えば、主記憶部はRAMなどの揮発性メモリであり、補助記憶部は、ハードディスクやフラッシュメモリなどの不揮発性メモリである。通信部13は、有線通信又は無線通信用の通信インタフェースであり、ネットワークを介してデータ通信を行う。
操作部14は、ユーザが操作を行うための入力デバイスであり、例えば、タッチパネルやマウス等のポインティングデバイスやキーボード等である。操作部14は、ユーザによる操作内容を制御部11に伝達する。表示部15は、例えば、液晶表示部又は有機EL表示部等である。表示部15は、制御部11の指示に従って画面を表示する。入出力部16は、入出力インタフェースであり、例えば、USBポートである。入出力部16は、外部機器とデータ通信を行うために用いられる。
なお、記憶部12に記憶されるものとして説明するプログラム及びデータは、ネットワークを介して供給されるようにしてもよい。また、3次元モデル生成装置10のハードウェア構成は、上記の例に限られず、種々のハードウェアを適用可能である。例えば、3次元モデル生成装置10は、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部(例えば、光ディスクドライブやメモリカードスロット)を含んでもよい。例えば、情報記憶媒体に記憶されたプログラムやデータが当該読取部や入出力部16を介して、3次元モデル生成装置10に供給されるようにしてもよい。
カメラ20は、静止画や動画を撮影可能な一般的な撮像装置であり、例えば、CMOSイメージセンサ又はCCDイメージセンサなどの撮像素子を含む。カメラ20は、撮像素子で撮影した画像を示す画像データを生成してメモリに記録する。このメモリは、カメラ20に備えられたメモリであってもよいし、取り外し可能なフラッシュメモリなどであってもよい。
カメラ20は、広角レンズ又は魚眼レンズを備えていてもよく、画角や焦点距離は任意であってよい。例えば、カメラ20は、全天球カメラであってもよいし、複数のレンズを備えることで水平方向及び垂直方向の少なくとも一方の全方向を撮影可能なカメラであってもよい。本実施形態では、カメラ20は、水平方向360°及び垂直方向180°を撮影可能な広角レンズを使用するものとする。即ち、カメラ20は、1回の撮影で水平方向の全てを撮影した撮影画像を生成可能である。
実施形態1の3次元モデル生成システム1は、室内をカメラ20で撮影した1枚のパノラマ画像を複数の画像に分割し、画像ごとに部屋の一部を示す3次元モデルを生成して仮想空間に並べることによって、部屋全体の3次元モデルを生成し、部屋の形状が複雑であったとしても3次元モデルを生成できるようになっている。以降、この技術の詳細を説明する。
[1−2.実施形態1において実現される機能]
図2は、実施形態1の3次元モデル生成システム1で実現される機能の一例を示す機能ブロック図である。図2に示すように、本実施形態では、データ記憶部100、画像取得部101、部分モデル生成部102、及び全体モデル生成部103が、3次元モデル生成装置10で実現される場合を説明する。
[1−2−1.データ記憶部]
データ記憶部100は、記憶部12を主として実現される。データ記憶部100は、カメラ20により撮影された撮影画像(写真)を示す撮影画像データを記憶する。撮影画像の縦横比、サイズ、及び解像度などは、任意であってよい。撮影画像データのデータ形式も任意であってよい。
本実施形態では、撮影画像として、水平方向の360°が撮影されたパノラマ画像を例に挙げる。撮影画像には、現実空間の一定範囲が撮影されていればよく、必ずしも水平方向の360°が撮影されていなくてもよい。例えば、撮影画像には、水平方向の180°以上360°未満の範囲が撮影されていてもよい。
なお、本実施形態では、3次元モデル生成装置10のデータ記憶部100に撮影画像データが記憶される場合を説明するが、撮影画像データは、他の機器又はコンピュータに記憶されているようにしてもよい。例えば、撮影画像データは、カメラ20内のメモリに記憶されていてもよいし、サーバコンピュータに記憶されていてもよい。
[1−2−2.画像取得部]
画像取得部101は、制御部11を主として実現される。画像取得部101は、複数の面で囲われた空間において、互いに異なる方向が撮影された複数の画像を取得する。
面は、現実空間を区切る物体の表面であり、例えば、壁、柱、扉、窓、パーテーション、フェンス、床、地面、天井、又は屋根である。空間を囲う面の数は、2つ以上の任意の数であればよい。即ち、カメラ20から見て前後・左右・上下のうちの少なくとも2つの方向に、面が配置されていればよい。また、各面は、他の面と接触していてもよいし、他の面と接触せずに離れていてもよい。本実施形態では、各面は、少なくとも1つの他の面と略直交している場合を説明する。略直交とは、直交すること、又は、直交とみなせる程度の角度(例えば、80°以上)で交わることを意味する。例えば、2つ以上の面が略直交に交わることで、コーナーが形成される。
空間は、前後・左右・上下にわたって一定の広がりのある領域であり、地上にあってもよいし、地下にあってもよい。例えば、空間は、少なくとも下面と複数の側面で囲まれていればよく、前後、左右、及び上下の全てが面で囲まれている屋内であってもよいし、上面のない屋外であってもよい。他にも例えば、空間は、屋内であったとしても、水平方向の全てが面に囲まれている必要はなく、前・後・上・下のうちの少なくとも2つの方向に側面が配置された空間(例えば、前方と左右にだけ側面があり、後方には側面のない空間)であればよい。
本実施形態では、前後・左右・上下の全方向が面で囲まれた屋内の空間を例に挙げて説明する。このため、画像取得部101は、部屋の内部で撮影された複数の画像を取得することになる。また、部屋の一例として、隣接する面と略直交する6つ以上の側面により囲まれた部屋を説明する。このため、画像取得部101は、互いに略直交する6つ以上の側面を有する部屋の複数の画像を取得することになる。
図3は、撮影対象の部屋を上から見た様子を示す図である。なお、図3では、天井は省略している。図3に示すように、部屋Sは、互いに略直交する壁w〜wと、オブジェクトo〜oと、を含む。
以降、壁w〜wを、まとめて壁Wとも記載する。即ち、壁W={wNw i=1と記載することができる。Nは壁の総数であり、ここではN=6である。また、オブジェクトo〜oを、まとめてオブジェクトOとも記載する。即ち、オブジェクトO={oNo j=1と記載することができる。Nはオブジェクトの総数であり、ここではN=8である。
なお、オブジェクトは、カメラ20の被写体となりうる物体である。図3のオブジェクトOは、カメラ20から見て壁Wの手前に配置された物体である。別の言い方をすれば、オブジェクトOは、壁W以外の被写体である。例えば、室内であれば、家具や家電などがオブジェクトOに相当し、屋外であれば、車や自転車などがオブジェクトOに相当する。図3に示す例では、オブジェクトoはベッドであり、オブジェクトo,oはサイドボードである。また、オブジェクトo〜oは椅子であり、オブジェクトoは机であり、オブジェクトoはテレビである。
カメラ20の撮影位置は、部屋S内の任意の位置であってよいが、ここでは、オブジェクトOをまんべんなく撮影可能な撮影位置Pから部屋Sが撮影される場合を説明する。
図4は、部屋Sの撮影画像を示す図である。先述したように、カメラ20は水平方向の360°を撮影可能なので、図4に示すように、撮影画像Iには、撮影位置Pから見て水平方向の全てが撮影される。別の言い方をすれば、撮影画像Iは、撮影位置Pから撮影された水平方向360°のパノラマ画像である。
撮影画像Iには、2次元の座標軸(スクリーン座標系の座標軸)が設定される。例えば、左上を原点Oとし、水平方向をX軸とし、垂直方向をY軸とする。撮影画像Iの各画素の位置は、X座標とY座標で示される。例えば、撮影画像Iの右端のX座標をXSMAXとし、下端のY座標をYSMAXとする。
本実施形態では、画像取得部101は、複数の壁Wで囲われた空間が撮影された1枚の撮影画像Iに基づいて、複数の画像を取得する場合を説明する。ここでは、画像取得部101は、水平方向の360°が撮影された1枚の撮影画像Iに基づいて、複数の画像を取得することになる。
図5及び図6は、画像取得部101による画像の取得方法を示す図である。図5では、撮影位置Pから見て、X座標が0の画素に撮影された被写体の方向の点をPとする。撮影画像IのX座標が大きくなるにつれて、撮影位置Pを中心にして点Pから時計回り(右回り)に撮影方向が変化している。なお、ここでは、撮影位置Pを中心とし、線分P−Pを半径とした円を30°ずつ12等分したときの円上の点をP〜P11とする。
図6に示すように、画像取得部101は、1枚の撮影画像Iを分割することによって、互いに撮影範囲が重複する6つの画像I〜Iを生成する。以降では、画像I〜Iを、まとめて画像Iとも記載する。即ち、撮影画像I={I k=1と記載することができる。Kは画像の総数であり、ここではK=6である。なお、図6では、X座標値が「0」から「XSMAX」までを12等分し、それぞれのX座標値を「XS1」〜「XS11」としている。
例えば、画像Iは、X座標値が「0」から「XS3」までの部分である。画像Iの撮影範囲は、画像Iの中心点に対応する点Q(図5)を注視点とし、画角は∠PPP=90°である。画像Iは、X座標値が「XS2」から「XS5」までの部分である。画像Iの撮影範囲は、画像Iの中心点に対応する点Q(図5)を注視点とし、画角は∠PPP=90°である。画像Iと画像Iは、X座標値が「XS2」から「XS3」までの撮影範囲(画角が∠PPP=30°の撮影範囲)が重複している。
画像Iは、X座標値が「XS4」から「XS7」までの部分である。画像Iの撮影範囲は、画像Iの中心点に対応する点Q(図5)を注視点とし、画角は∠PPP=90°である。画像Iと画像Iは、X座標値が「XS4」から「XS5」までの撮影範囲(画角が∠PPP=30°の撮影範囲)が重複している。画像Iは、X座標値が「XS6」から「XS9」までの部分である。画像Iの撮影範囲は、画像Iの中心点に対応する点Q(図5)を注視点とし、画角は∠PPP=90°である。画像Iと画像Iは、X座標値が「XS6」から「XS7」までの撮影範囲(画角が∠PPP=30°分の撮影範囲)が重複している。
画像Iは、X座標値が「XS8」から「XS11」までの部分である。画像Iの撮影範囲は、画像Iの中心点に対応する点Q(図5)を注視点とし、画角は∠PPP11=90°である。画像Iと画像Iは、X座標値が「XS8」から「XS9」までの撮影範囲(画角が∠PPP=30°分の撮影範囲)が重複している。画像Iは、X座標値が「XS10」から「XSMAX」までの部分と、「0」から「XS1」までの部分と、を結合したものである。画像Iの撮影範囲は、画像Iの中心点に対応する点Q(図5)を注視点とし、画角は∠P10PP=90°である。画像Iと画像Iは、X座標値が「0」から「XS1」までの撮影範囲(画角が∠PPP=30°分の撮影範囲)が重複している。
上記のように、本実施形態では、各画像Iは、少なくとも1つの他の画像Iと撮影範囲の一部が重複している。なお、重複部分は、30°分の画角に限られず、任意の広さであってよい。また、全ての重複部分が同じ広さである場合を説明したが、画像Iごとに重複部分の広さが異なっていてもよい。更に、画像Iのサイズが同じである場合を説明したが、互いにサイズが異なっていてもよい。
また、本実施形態の撮影画像Iには、部屋Sの複数の方向が撮影されているので、画像取得部101は、部屋Sの複数の方向がそれぞれ撮影された複数の画像Iを取得することになる。また、画像取得部101は、部屋S内の1点から互いに異なる方向が撮影された複数の画像Iを取得する。別の言い方をすれば、画像取得部101は、画像Iごとに、撮影委位置Pからの撮影方向が互いに異なる複数の画像Iを取得することになる。
なお、本実施形態では、1枚の撮影画像Iから複数の画像Iが生成される場合を説明したが、カメラ20で複数回撮影することにより複数の画像Iが生成されるようにしてもよい。この場合、例えば、撮影位置Pから所定の撮影方向を撮影したら、その場所で所定角度回転して次の撮影が行われるようにしてもよい。以降、続けて回転と撮影を繰り返し、撮影位置Pから水平方向のある一定角度(例えば、360°)分が撮影された複数の画像Iが生成されるようにしてもよい。
[1−2−3.部分モデル生成部]
部分モデル生成部102は、制御部11を主として実現される。部分モデル生成部102は、画像Iごとに、当該画像Iに撮影された複数の壁Wの一部を示す部分モデルを生成する。部分モデルは、1つ以上の壁を示す3次元モデルである。3次元モデルは、多角形のポリゴンから構成される平面又は立体である。
部分モデル生成部102は、画像Iのうち平面部分を特定し、当該部分の形状及び向きに基づいて部分モデルを生成する。当該平面部分は、ある一定の広さを有する所定形状の平面であればよい。例えば、壁Wは4角形なので、部分モデル生成部102は、画像Iのうち4角形の平面を特定することになる。例えば、部分モデル生成部102は、画像Iに撮影された被写体の輪郭を示す線分を抽出し、当該線分の位置的な関係及び方向的な関係に基づいて部分モデルを生成するようにしてよい。
画像Iに撮影された被写体の3次元モデルを生成する方法自体は、公知の種々の手法を適用可能であるが、ここでは、その一例として、学術論文「Lee, D.C., Hebert, M., Kanade, T.: Geometric reasoning for single image structure recovery. In: CVPR. (2009)」に示されるように、方向マップを用いた方法を説明する。
図7は、部分モデルを生成する手順を示す図である。ここでは、画像Iから、当該画像Iに撮影された壁w,w,w,wを示す部分モデルmが生成される場合を例に挙げて説明する。図7に示すように、部分モデル生成部102は、(手順1)画像I内の線分と消滅点とを抽出し、(手順2)画像Iに対応する方向マップから壁Wの領域を特定し、(手順3)特定した壁Wの領域に基づいて部分モデルmを生成する。以降、これらの手順1〜3の詳細を説明する。
[手順1]
まず、部分モデル生成部102は、画像Iに対してエッジ検出処理を施すことによって、画像I内の線分を特定する。現実空間では直線であっても魚眼レンズを使用すると湾曲するので、ここで検出する線分は、直線状であってもよいし曲線状であってもよい。エッジ検出処理自体は、公知の種々の処理を適用可能である。例えば、部分モデル生成部102は、ある注目画素の画素値と、周囲の画素の画素値と、の差が閾値以上である場合に、当該注目画素をエッジ画素として特定するようにしてよい。部分モデル生成部102は、画像Iからエッジ画素を検出し、隣り合うエッジ画素同士をつなげた画素を、線分として抽出する。
本実施形態では、壁Wは、互いに略90°で交差しているので、撮影位置Pから見ると、壁Wの表面は、前後・左右・上下の何れかを向き、壁Wの輪郭も、前後・左右・上下の何れかを向く。このため、部分モデル生成部102は、抽出した各線分の方向(傾き)に基づいて、当該線分を、前後・左右・上下の何れかに分類する。
例えば、部分モデル生成部102は、ある線分の傾きの絶対値が、0(X軸方向)以上であり、第1閾値(例えば、20°程度)未満である場合、その線分は左右方向として分類する。即ち、画像Iにおいて線分が横方向を向いていれば、その線分は、撮影位置Pから見て左右方向の輪郭を示すので、左右方向として分類することになる。
また、部分モデル生成部102は、ある線分の傾きの絶対値が、第1閾値以上であり、第2閾値未満(例えば、70°程度)である場合、その線分は、前後方向として分類する。即ち、画像Iにおいて線分が斜め方向を向いていれば、その線分は、撮影位置Pから見て前後方向の輪郭を示すので、前後方向として分類する。なお、第1閾値や第2閾値は、カメラ20に装着されるレンズによる画像の歪み具合を考慮して定めてよい。
また、部分モデル生成部102は、ある線分の傾きの絶対値が第2閾値以上である場合、その線分は、上下方向として分類する。即ち、画像Iにおいて線分が縦方向を向いていれば、その線分は、撮影位置Pから見て上下方向の輪郭を示すので、前後方向として分類する。
上記のように線分の方向が分類されると、部分モデル生成部102は、各線分を伸長させる。部分モデル生成部102は、各線分を、画像Iの縁まで伸ばしてもよいし、他の線分と交差するまで伸ばしてもよい。伸ばした線分の交点は、コーナーの候補である。このため、部分モデル生成部102は、当該伸ばした線で囲まれた領域を、壁Wの候補とする。別の言い方をすれば、部分モデル生成部102は、伸ばした線の交点を抽出し、複数の交点で囲まれた領域を壁Wの候補とする。壁Wの候補には、本当は壁Wではないものが含まれているが、そのような候補は、後述するように、方向マップとの一致度が低くなる。そこで、方向マップを利用することで、本当の壁Wの領域を絞り込むようにしている。
本実施形態では、部分モデル生成部102は、消滅点を利用して方向マップを取得する。部分モデル生成部102は、抽出した線分に基づいて、画像Iから消滅点を取得する。消滅点は、現実空間で同じ方向を向いている物体が画像上で交わる点であり、無限遠を示す地点といえる。例えば、平行する2本の線路上に立って線路を撮影すると、実際には2本の線路が交わることはないが、画像上では、2本の線路はお互いに向き合うように撮影される。この2本の線路を延長したときに交わる点が消滅点である。
図7に示す例では、部分モデル生成部102は、前後方向として分類した線分l,l同士を延長したときに交わる点を、前後方向の消滅点vとして取得する。また、部分モデル生成部102は、左右方向として分類した線分l,lを延長したときに交わる点vを、左右方向の消滅点vとして取得する。なお、画像Iでは、上下方向の線分は、互いに平行であり交わらないので、上下方向の消滅点は検出されなかったものとする。
部分モデル生成部102は、線分と消滅点との位置関係に基づいて、方向マップを生成する。画像Iの方向マップは、画素ごとに、その画素の被写体の表面の向きを示す。本実施形態では、各画素は、前後・左右・上下の何れかを向いているかが方向マップに示される。方向マップの生成方法自体は、公知の種々の手法を適用可能であるが、本実施形態では、その一例として、線分を消滅点に向けて移動させる方法を説明する。
例えば、部屋Sの床や天井の表面は、上下方向を向くので、その輪郭は、前後方向の線分と、左右方向の線分と、により示される。このため、部分モデル生成部102は、左右方向の線分により挟まれた位置にある前後方向の線分を、水平方向の消滅点vに向けて、他の線分とぶつかるまで移動させたときに通過した画素に、上下方向を関連付ける。
また例えば、壁w,wの表面は、前後方向を向くので、その輪郭は、左右方向の線分と、上下方向の線分と、により示される。このため、部分モデル生成部102は、左右方向の線分により挟まれた位置にある上下方向の線分を、水平方向の消滅点vに向けて、他の線分とぶつかるまで移動させたときに通過した画素に、前後方向を関連付ける。
また例えば、壁w,wの表面は、左右方向を向くので、その輪郭は、前後方向の線分と、上下方向の線分と、により示される。このため、部分モデル生成部102は、前後方向の線分により挟まれた位置にある上下方向の線分を、水平方向の消滅点vに向けて、他の線分とぶつかるまで移動させたときに通過した画素に、左右方向を関連付ける。
[手順2]
部分モデル生成部102は、上記のようにして、画像Iの各画素の方向を特定し、方向マップを生成する。そして、部分モデル生成部102は、方向マップを生成したときと同様の方法により、壁Wの候補を構成する線分の方向に基づいて、当該候補の表面が向く方向を特定する。部分モデル生成部102は、壁Wの候補の方向と、当該候補内の方向マップが示す方向と、を比較して算出した一致度に基づいて、本当の壁Wの領域として特定する。一致度は、方向が一致する画素数又はその割合に基づいて算出されるようにすればよい。
図7に示す場合では、部分モデル生成部102は、画像I内の点R1S,R2S,R3S,R4Sで囲われた候補を、壁wとして特定する。部分モデル生成部102は、画像I内の点R2S,R5S,R6S,R4Sで囲われた候補を、壁wとして特定する。部分モデル生成部102は、画像I内の点R5S,R6S,7S,R8Sで囲われた候補を、壁wとして特定する。部分モデル生成部102は、画像I内の点R1S,R3S,R9S,R10Sで囲われた候補を、壁wとして特定する。
[手順3]
部分モデル生成部102は、画像Iから抽出した各領域に所定の座標変換処理を施すことにより、部分モデルmを生成する。座標変換処理は、2次元座標を3次元座標に変換する行列変換処理である。例えば、部分モデル生成部102は、画像Iにおいて特定した壁の頂点を示す点R1S〜R10Sの2次元座標を、仮想空間内の3次元座標に変換して点R1W〜R10Wとする。なお、3次元座標に変換する場合には、部分モデルmの高さが所定の高さとなるようにしてもよい。即ち、部分モデルmのサイズは、実施形態1では、予め決められたサイズであってよい。
本実施形態では、図7に示すように、仮想空間には、3次元の座標軸(ワールド座標系の座標軸)が設定される。例えば、任意の位置を原点Oとし、互いに直交する3つの座標軸であるX軸−Y軸−Z軸が設定される。仮想空間の各位置は、3次元座標により定まる。部分モデル生成部102は、上記3次元座標に変換した点R1W〜R10Wどうしを結合することにより、部分モデルmを生成する。即ち、点R1W〜R10Wは、部分モデルmの頂点となる。
上記の手順1〜3により、画像Iから部分モデルmが生成される。なお、先述したように、手順1〜3はあくまで部分モデルmを生成する処理の一例なので、画像Iから部分モデルmを生成する処理自体は、公知の手法を適用可能である。部分モデル生成部102は、画像I〜Iに対し、同様の処理を実行することにより、画像I〜Iの各々に対応する部分モデルを生成する。
図8は、各画像Iから生成された部分モデルを示す図である。図8に示すように、部分モデル生成部102は、各画像Iに撮影された壁Wを部分的に示す部分モデルm〜m(以降、これらをまとめて単に部分モデルmともいう。)を生成する。本実施形態では、壁Wは互いに略直交に交わっているので、図8に示すように、各部分モデルmのうちコーナーの部分も略直交となる。
また、本実施形態では、各画像Iは、少なくとも1つの他の画像Iと撮影範囲の一部が重複しているので、図8に示すように、部分モデル生成部102は、少なくとも1つの他の部分モデルmと表面の一部が重複する部分モデルmを生成することになる。また、部屋Sを空間の一例として説明するので、部分モデル生成部102は、部屋Sの一部を示す部分モデルを生成することになる。また、部屋Sは、6つ以上の側面を有する場合を説明するので、部分モデル生成部102は、6つ以上の側面の一部を示す部分モデルを生成する。
[1−2−4.全体モデル生成部]
全体モデル生成部103は、制御部11を主として実現される。全体モデル生成部103は、部分モデル生成部102により生成された複数の部分モデルmに基づいて、複数の壁W全体を示す全体モデルを生成する。全体モデル生成部103は、実際の壁Wの配置と対応するように、部分モデルmを仮想空間に並べて全体モデルを生成する。部分モデルmは、ユーザにより指定された位置及び向きで並べてもよいが、ここでは、全体モデル生成部103は、実際の壁Wの位置関係と、部分モデルmの位置関係と、が対応するように、部分モデルmの位置及び向きを決定する。位置関係が対応するとは、位置関係が一致すること、又は、位置関係のずれが閾値未満であることを意味する。
本実施形態では、各部分モデルmをどこにどの向きで配置するかを決定するために、全体モデル生成部103は、各画像Iの撮影方向に関する画像情報を取得する。画像情報は、撮影方向を特定可能な情報であればよく、ベクトル情報のように撮影方向を直接的に示すものであってもよいし、後述するように撮影方向を間接的に示すものであってもよい。
例えば、撮影画像Iを分割して画像Iを取得する場合には、撮影画像Iにおける画像Iの位置(即ち、画像Iが撮影画像I内のどこにあるか)によって、各画像Iの撮影方向を特定可能なので、本実施形態では、1枚の撮影画像Iにおける各画像Iの位置が画像情報に相当する場合を説明する。具体的には、撮影画像Iの左端にある画像Iの撮影方向(図5の撮影位置Pから点Qに対する方向)を基準にして考えると、その右隣に位置する画像Iの撮影方向(図5の撮影位置Pから点Qに対する方向)は、画像Iの撮影方向よりも右を向く。同様に、画像I,Iよりも右側にある画像I〜Iの各々の撮影方向は、画像I,Iの撮影方向を更に右回転させた方向となる。このように、撮影画像I内における各画像Iの位置により相対的な撮影方向を特定可能なので、ここでは、全体モデル生成部103は、各画像Iの撮影画像Iにおける位置(例えば、Xs座標値)を参照することによって、画像情報を取得する。
全体モデル生成部103は、各画像Iの画像情報に基づいて、当該画像Iに対応する部分モデルmを配置する位置及び向きを決定し、全体モデルを生成する。即ち、ここでは、全体モデル生成部103は、1枚の撮影画像Iにおける各画像Iの位置に基づいて、当該画像Iに対応する部分モデルmを配置する位置及び向きを決定する。
例えば、全体モデル生成部103は、仮想空間内の基準点から各部分モデルmに対する方向と、当該部分モデルmに対応する画像Iの撮影方向と、が対応するように、当該部分モデルmの位置及び向きを決定する。方向が対応するとは、方向が一致すること、又は、方向的なずれが閾値未満であることを意味する。基準点は、仮想空間内の任意の位置であってよく、ここでは、カメラ20の撮影位置Pに対応する仮想カメラVPの位置とする。仮想カメラVPは、仮想空間の様子を描いた仮想画像を生成するための仮想的な視点である。
画像Iの位置と、部分モデルmの位置及び向きと、の関係は、予めプログラムコードに記述されていてもよいし、数式形式又はテーブル形式のデータとしてデータ記憶部100に記憶されていてもよい。この関係には、撮影画像Iにおける各画像Iの並び順と、仮想カメラVPから見たときの部分モデルmの並び順と、が一致するように、部分モデルmを配置する位置及び向きが定義されている。全体モデル生成部103は、各画像Iの位置に関連付けられた位置及び向きに基づいて、当該画像Iに対応する部分モデルmを配置する。
図8に示すように、ここでは、全体モデル生成部103は、撮影画像Iにおける各画像Iの並び順に基づいて、基準点である仮想カメラVPを囲むように部分モデルmを順番に配置する。より具体的には、まず、全体モデル生成部103は、仮想カメラVPから見て所定方向に所定距離だけ離れた位置に、画像Iに対応する部分モデルmを仮想カメラVPの方を向くように配置する。そして、全体モデル生成部103は、画像Iの隣の画像Iに対応する部分モデルmを、部分モデルmの隣に仮想カメラVPの方を向くように配置する。以降同様にして、全体モデル生成部103は、部分モデルm〜mが仮想カメラVPの方を向くように、右回りに部分モデルm〜mを順番に並べて配置する。このように、全体モデル生成部103は、仮想カメラVPを囲むようにして並べた部分モデルmに基づいて、全体モデルを生成する。
図9は、全体モデルの一例を示す図である。図9に示すにように、全体モデル生成部103は、整列した部分モデルmの表面を合成してプレーンフィッティング処理を施し、1つの全体モデルMを生成する。プレーンフィッティング処理は、平面の平滑化処理であり、2つ平面上の位置を平均した位置を新たな1つの平面とすることで行われるようにすればよい。このため、全体モデルMは、壁Wの全体的な形状を再現した1つの3次元モデルとなる。
本実施形態では、各部分モデルmは少なくとも1つの他の部分モデルmと重複しているので、全体モデル生成部103は、各部分モデルmの重複部分の位置を合わせて、全体モデルMを生成することになる。また、全体モデル生成部103は、部屋Sが6つ以上の側面を有しているので、全体モデル生成部103は、6つ以上の側面全体を示す全体モデルMを生成することになる。
[4.本実施形態において実行される処理]
図10は、3次元モデル生成システムにおいて実行される処理の一例を示すフロー図である。図10に示す処理は、制御部11が、記憶部12に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理は、図2に示す機能ブロックにより実行される処理の一例である。
図10に示すように、まず、制御部11は、部屋Sの撮影画像データを取得する(S1)。撮影画像データは、記憶部12に記憶されていてもよいし、カメラ20内のメモリに記憶されていてもよい。あるいは、3次元モデル生成装置10に接続された情報記憶媒体に記憶されていてもよいし、サーバコンピュータなどに記憶されていてもよい。
制御部11は、S1で取得した撮影画像データが示す撮影画像Iに基づいて、複数の画像Iを取得する(S2)。S2においては、制御部11は、撮影画像Iを所定の位置で分割することにより、複数の画像Iを取得する。分割位置は、予め定められており、その位置を示す情報は記憶部12に記憶させておけばよい。
制御部11は、S2で取得した画像Iごとに、部分モデルmを生成する(S3)。S3においては、制御部11は、先述したように方向マップなどを利用して、各画像Iに撮影された壁W部分を示す部分モデルmを生成すればよい。
制御部11は、S3で生成した部分モデルmを仮想空間に並べて配置する(S4)。S4においては、制御部11は、各画像Iに対応する部分モデルmを、撮影画像Iにおける当該画像Iの位置に対応する仮想空間内の位置及び向きに配置する。
制御部11は、S4で並べた部分モデルmに基づいて全体モデルMを生成し(S5)、本処理は終了する。S5においては、制御部11は、並べた部分モデルmの重複部分を合成して表面をプレーンフィッティングすることによって全体モデルMを生成することになる。
実施形態1の3次元モデル生成システム1によれば、画像Iごとに部分モデルmを生成し、複数の部分モデルmに基づいて全体モデルMを生成するので、直方体のようなシンプルな形状ではなく、複雑な形状の空間であったとしても正確に推定することができる。また、1枚の撮影画像Iではなく、複数の画像Iから全体モデルMを生成することで、個々の部分モデルmを生成する方法は従来の手法を利用したとしても、複雑な形状の空間を推定することができる。その結果、簡易的な処理で全体モデルMを生成できるので、コンピュータの処理負荷を軽減することができる。
また、部分モデルmの重複部分の位置を合わせて全体モデルMを生成することで、隙間なく部分モデルmを並べることができるため、全体モデルMの精度を向上させることができる。
また、画像Iの撮影方向に関する画像情報に基づいて部分モデルmを配置する位置及び向きを決定することで、現実の空間における壁Wなどの配置や向きと対応するように部分モデルmを配置することができるので、全体モデルMの精度をより向上させることができる。また、ユーザが部分モデルmの位置や向きを指定する必要がなくなるので、ユーザの負担を軽減するとともに、全体モデルMを迅速に生成することができる。
また、1枚の撮影画像I内での各画像Iの位置に基づいて部分モデルmを配置する位置や向きを決定するので、部分モデルmを配置すべき位置や向きをより簡単に決定することができる。その結果、複雑な処理を実行する必要がなくなり、全体モデルMを迅速に生成するとともに、3次元モデル生成装置10の処理負荷を軽減することができる。
また、水平方向の360°が撮影された1枚の撮影画像Iに基づいて全体モデルMを生成することで、撮影画像Iを一度の撮影で取得することができ、全体モデルMを生成する場合の撮影の手間を軽減することができる。
また、画像Iは、現実空間における互いに異なる方向が撮影されたものなので、壁Wが広範囲に渡ったものであったとしても、その形状を再現した全体モデルMを生成することができる。
また、部屋Sの一部を示す部分モデルmを組み合わせて全体モデルMを生成するので、部屋S全体が複雑な形状であったとしても、その形状を再現した3次元モデルを生成することができる。
また、部屋Sの壁Wが略直交する6つ以上の壁Wを有する複雑な形状であったとしても、部分モデルmを組み合わせて全体モデルMを生成するので、多数の壁Wからなる複雑な形状の部屋Sを再現した全体モデルMを生成することができる。
[2.実施形態2]
次に、3次元モデル生成システム1の別実施形態を説明する。以降説明する実施形態2では、3次元モデル生成システム1のハードウェア構成は、実施形態1と同様であってよい。
[2−1.実施形態2の概要]
部屋Sは、形状が同じであったとしてもサイズは種々のものがあり、標準的なサイズというものは特に存在しない。このため、実施形態1のように全体モデルMを生成しても、部屋Sのサイズは再現できていないことがある。この点、ベッドなどのオブジェクトOは、サイズの個体差が少なく、大体のサイズが決まっている。即ち、オブジェクトOは、標準的なサイズがおおよそ決まっているので、実施形態2では、この事実に着目して実際の部屋Sのサイズを推定し、全体モデルMのサイズを調整するようにしている。
実施形態2では、全体モデルMは、サイズパラメータλが設定されている。全体モデルMのサイズは、サイズパラメータλにより変更可能である。サイズパラメータλは、標準的なサイズからの拡大率又は縮小率を示してもよいし、縦・横・高さの少なくとも1つの長さを示してもよい。
図11は、サイズパラメータλと全体モデルMとの関係を示す図である。サイズパラメータλと全体モデルMのサイズとの関係は、プログラムに記述された数式で定義しておけばよい。図11に示すように、全体モデルMは、サイズパラメータλに関連付けられたサイズとなる。例えば、サイズパラメータλが小さいほど全体モデルMは小さくなり、サイズパラメータλが大きいほど全体モデルMは大きくなる。全体モデルMが生成された時点では、サイズパラメータλは初期値(例えば、1.0)となるようにしてよい。
図11の例では、サイズパラメータλは、全体モデルMの高さを示している。例えば、λ=1のときの標準的な高さをLとすると、全体モデルMの高さは、λ*Lとなる。例えば、L=2.5mとすると、λ=0.8のときは全体モデルMの高さは2.0mとなり、λ=1.2のときは全体モデルMの高さは2.5mとなる。
なお、本実施形態では、水平方向(縦・横)及び垂直方向(高さ)の全ての比率を維持したまま、サイズが変わる場合を説明するが、水平方向の比率だけを維持してサイズが変わってもよい。水平方向の比率だけが維持される場合、全体モデルMの高さは、固定値であってもよいし、ある一定範囲の中で変化してもよい。別の言い方をすれば、全体モデルMは、少なくとも、上から見たときの形状が維持されていればよい。
実施形態2では、上記のようにサイズを変更可能な全体モデルMの上に、オブジェクトOを示すオブジェクトモデルが配置される。以降、オブジェクトモデルは、Mojの符号を付与する。オブジェクトモデルMojは、全体モデルMのように画像Iから生成するのではなく、予め用意された3次元モデルである。オブジェクトモデルMojは、後述するオブジェクトモデルデータベースに登録されている。
先述したように、オブジェクトOのサイズは個体差が少ないので、オブジェクトモデルMojは、オブジェクトOの一般的なサイズ(例えば、ベッドであればダブルベッドのサイズなど)となっている。このため、仮想空間における全体モデルMとオブジェクトモデルMojとの相対的なサイズと、撮影画像Iにおける壁WとオブジェクトOとの相対的なサイズと、が似るようにサイズパラメータλを調整すれば、全体モデルMを実際の部屋Sのサイズに似せることができる。
更に、実施形態2では、部屋SにおけるオブジェクトOの位置及び向きと似るように、仮想空間におけるオブジェクトモデルMojの位置及び向きが調整される。以降、位置を示すパラメータにpの符号を付与し、向きを示すパラメータにθの符号を付与する。また、仮想空間の状態は、サイズパラメータλ、位置パラメータp、及び向きパラメータθに基づいて定まるので、以降、これらをまとめてモデルパラメータΦと記載する。
上記のように、実施形態2では、実際の部屋Sの状態を再現するように、モデルパラメータΦが調整される。ここでは、ベイズ推定理論を利用して、部屋Sの再現度の高さを評価するようにしている。ベイズ推定理論は、現実世界の計測結果をもとに、推定したい事柄を確率的な意味で推定する手法である。ベイズ推定理論の確率が高いほど、推定したい事柄が実際に起こる蓋然性が高い。即ち、ベイズ推定理論の確率が高ければ、推定した仮想空間が実際の部屋Sの様子に似ていることになる。
3次元モデル生成システム1は、ベイズ推定理論の確率が高くなるように、モデルパラメータΦを決める。実施形態2では、この確率を高めるために、現実空間と仮想空間との全体的なずれ具合を示す評価値Eと、現実空間と仮想空間との局所的なずれ具合を示す評価値Eと、の2つの評価値を利用して、再現度の高い仮想空間を効率よく生成するようにしている。以降、この技術の詳細を説明する。
[2−2.実施形態2において実現される機能]
図12は、実施形態2の3次元モデル生成システム1で実現される機能の一例を示す機能ブロック図である。図12に示すように、実施形態2では、データ記憶部100、画像取得部101、モデル配置部104、仮想画像生成部105、及びパラメータ決定部106が3次元モデル生成装置10で実現される場合を説明する。
[2−2−1.データ記憶部]
実施形態2のデータ記憶部100は、実施形態1で説明したデータに加えて、モデルパラメータΦと、オブジェクトモデルデータベースと、を記憶する。モデルパラメータΦは、パラメータ決定部106により値が変わる。なお、位置パラメータpは、仮想空間における3次元座標が格納され、向きパラメータθは、3次元ベクトルが格納されてもよいし、ヨー角、ピッチ角、及びロール角により示されてもよい。
図13は、オブジェクトモデルデータベースのデータ格納例を示す図である。図13に示すように、オブジェクトモデルデータベースには、オブジェクトOのカテゴリと、当該カテゴリのオブジェクトOの3次元モデルを示すオブジェクトモデルMojと、オブジェクトOの向きと、が関連付けられている。なお、オブジェクトモデルデータベースには、オブジェクトモデルMojの実寸法を示すサイズ情報が含まれていてもよい。
カテゴリは、オブジェクトOの種類であり、被写体を分類する名称である。カテゴリは、家具や家電のような比較的大きなものであってもよいし、ベッドや椅子のような細かなものであってもよい。
オブジェクトモデルMojは、標準的な形状及びサイズのオブジェクトOの3次元モデルである。オブジェクトモデルデータベースには、オブジェクトモデルMojを示すデータが含まれていればよく、例えば、オブジェクトモデルMojの頂点の3次元座標、色情報、及びテクスチャ情報を含む。なお、実施形態2では、オブジェクトモデルMojが奥行きを有する立体的なものである場合を説明するが、オブジェクトモデルMojは、平面的なものであってもよい。平面的なものである場合、オブジェクトモデルMojは、1枚のポリゴンであってもよいし、複数枚のポリゴンを平面状につなげたものであってもよい。この場合、オブジェクトモデルMoj上に、オブジェクトOのテクスチャ画像が張り付けられているものとする。
図13に示すように、オブジェクトモデルデータベースには、カテゴリごとに、複数の向き(姿勢)のオブジェクトモデルMojが登録されている。向きは、ヨー角、ピッチ角、及びロール角の全てにより示されてもよいが、水平面又は垂直面上の物体のロール角は一定なので、図13のように、ヨー角及びピッチ角のみが示されてもよい。なお、水平面上に置かれるベッドなどのオブジェクトOであれば、ピッチ角も一定なのでヨー角だけが示されてもよいし、垂直面上に置かれる壁掛け時計などのオブジェクトOであれば、ヨー角は一定なのでピッチ角のみが示されてもよい。
なお、本実施形態では、撮影画像IからオブジェクトOを検出する処理を簡易化するために、オブジェクトモデルデータベースに、オブジェクトモデルMojの向きごとに、テンプレート画像が格納されているものとする。テンプレート画像は、オブジェクトの標準的な形状を示す画像であり、例えば、オブジェクトモデルMojが向いている方向から当該オブジェクトモデルMojを見た様子を示す画像であってよい。テンプレート画像は、他のデータベースに登録されていてもよいし、オブジェクトモデルMojから生成してもよい。
[2−2−2.画像取得部]
画像取得部101は、実施形態1と同様であってよいが、現実空間に配置された第1オブジェクトと第2オブジェクトとが撮影された撮影画像Iを取得する。
第1オブジェクトは、サイズが既知のオブジェクトであり、オブジェクトデータベースに3次元モデルが登録されているオブジェクトである。別の言い方をすれば、第1オブジェクトは、第2オブジェクトのサイズを推定する際に基準とするオブジェクトである。本実施形態では、壁W以外のオブジェクトOが第1オブジェクトに相当する。即ち、第1オブジェクトは、部屋Sの中に配置された家具などである場合を説明する。このため、オブジェクトモデルMojが、第1オブジェクトを示す第1モデルの一例に相当する。
第2オブジェクトは、サイズが未知のオブジェクトであり、サイズの推定対象となるオブジェクトである。本実施形態では、部屋Sの壁Wが第2オブジェクトに相当する。このため、全体モデルMが、第2オブジェクトを示す第2モデルの一例に相当する。
[2−2−3.モデル配置部]
モデル配置部104は、制御部11を主として実現される。モデル配置部104は、オブジェクトモデルMojと、全体モデルMと、を仮想空間に配置する。全体モデルMは、実施形態1と同様の方法で生成されてもよいし、実施形態1とは異なる方法で生成されてもよい。例えば、ユーザが予めCADを利用してサイズが不明な全体モデルMを描画しておいてもよい。なお、モデルパラメータλの初期値は、予め定められた値であればよく、ここではλ=1とする。
例えば、モデル配置部104は、撮影画像Iに基づいて定まる向きのオブジェクトOを仮想空間に配置する。本実施形態では、オブジェクトモデルデータベースにテンプレート画像が登録されているので、モデル配置部104は、撮影画像Iと、所定の向きのオブジェクトOを示すテンプレート画像と、の比較結果に基づいて定まる向きのオブジェクトモデルMojを仮想空間に配置する。この時点では、モデルパラメータΦは初期値となる。即ち、モデル配置部104は、撮影画像Iに撮影されたオブジェクトOを検出し、当該検出したオブジェクトOを示すオブジェクトモデルMojを初期位置に初期方向で、初期サイズの全体モデルM上に配置する。
より具体的には、まず、モデル配置部104は、物体検出アルゴリズムに基づいて、撮影画像Iの中からオブジェクトOを検出する。物体検出アルゴリズム自体は、公知の種々の手法を適用可能であり、例えば、テンプレート画像に基づくテンプレートマッチングを用いてもよいし、物体の形状的な特徴を示す特徴量の類否を用いてもよい。
ここでは、物体検出アルゴリズムの一例として、テンプレートマッチングを説明する。例えば、モデル配置部104は、撮影画像I内の任意の領域に対して、テンプレート画像との類似度を計算する。類似度は、領域内の被写体の輪郭と、テンプレート画像が示す物体の輪郭と、の類似具合を示す。被写体の輪郭は、エッジ検出処理により検出されるようにすればよい。モデル配置部104は、類似度が閾値以上である領域内に、テンプレート画像が示す物体が撮影されていると判定することになる。
モデル配置部104は、物体検出アルゴリズムによる検出結果に基づいて、オブジェクトモデルMojの位置パラメータpと向きパラメータθの初期値を決定する。
例えば、モデル配置部104は、撮影画像IにおいてオブジェクトOが撮影された位置に基づいて、当該オブジェクトOを示すオブジェクトモデルMojの位置パラメータpの初期値を決定する。モデル配置部104は、オブジェクトOが撮影された位置の2次元座標を3次元座標に変換し、当該3次元座標を位置パラメータpの初期値とする。別の言い方をすれば、モデル配置部104は、カメラ20及びオブジェクトOの位置関係と、仮想カメラVP及びオブジェクトモデルMojの位置関係と、が対応するように、位置パラメータpの初期値を決定する。「対応する」とは、カメラ20及びオブジェクトOを結ぶベクトルと、仮想カメラVP及びオブジェクトモデルMojを結ぶベクトルと、が同じこと又は違いが閾値未満であることを意味する。
また例えば、モデル配置部104は、テンプレート画像に関連付けられた向きに基づいて、向きパラメータθの初期値を決定する。本実施形態では、複数の向きのテンプレート画像が用意されているので、モデル配置部104は、撮影画像I内の領域との類似度が閾値以上となったテンプレート画像に関連付けられた向きを取得することになる。
上記のように、モデル配置部104は、初期値のモデルパラメータλが示すサイズの全体モデルMojを仮想空間に配置し、その上に、初期値の位置パラメータpjが示す初期位置に、初期値の向きパラメータθが示す初期方向を向くオブジェクトモデルMojを配置することになる。
図14は、全体モデルMとオブジェクトモデルMojが配置された仮想空間の一例を示す図である。ここでは、撮影画像Iからオブジェクトo,o,o,o,oが検出され、オブジェクトo,o,oは検出されたかった場合を説明する。このように、部屋S内の全てのオブジェクトOが検出されなければならない訳ではなく、検出された範囲でオブジェクトモデルMojが配置されるようにすればよい。図14に示すように、モデル配置部104は、全体モデルMの床面上に、オブジェクトモデルMo1,Mo4,Mo5,Mo6,o8を配置する。即ち、本実施形態では、撮影画像Iには、複数のオブジェクトOが撮影されているので、仮想空間には、複数のオブジェクトOにそれぞれ対応する複数のオブジェクトモデルMojが配置されることになる。
なお、実際のオブジェクトOは、テンプレート画像が示す物体の形状と似ているが完全に一致しているわけではないので、オブジェクトモデルMojの位置や向きは、大まかに合っているだけであり、細かくは合わないことがある。また、サイズパラメータλがまだ調整されていないので、オブジェクトモデルMojに比べて全体モデルMが大きかったり小さかったりすることがある。このため、後述するパラメータ決定部106により、モデルパラメータΦが調整されることになる。
[2−2−4.仮想画像生成部]
仮想画像生成部105は、制御部11を主として実現される。仮想画像生成部105は、標準的なサイズのオブジェクトOを示すオブジェクトモデルMojと、サイズが標準的ではない壁Wを示す全体モデルMと、が配置された仮想空間の様子を示す仮想画像を生成する。先述したように、壁Wはサイズの個体差が大きく、標準的なサイズが特に決まっていないので、全体モデルMが生成された時点では、そのサイズは現実の壁Wとはまだ合っていない可能性がある。仮想画像生成部105は、仮想空間における全体モデルMやオブジェクトモデルMojの頂点を所定の行列式により座標変換することによって、仮想画像を生成する。仮想空間に配置された3次元モデルを2次元的な画像として表す方法自体は、公知の種々の方法を適用可能である。
図15は、仮想画像の一例を示す図である。図15に示すように、仮想画像生成部105は、仮想カメラから仮想空間を見た様子を示す仮想画像Dを生成する。撮影画像Iと同様に、ここでは、仮想画像Dの左上を原点Oとし、X軸及びY軸が設定されるものとする。図15の撮影画像Iでは、壁Wの一部がオブジェクトOで隠れているので、仮想画像Dでも、全体モデルMの一部がオブジェクトモデルMojで隠れている。別の言い方をすれば、撮影画像Iでは、壁WはオブジェクトOの奥に撮影されているので、仮想画像Dでは、全体モデルMはオブジェクトモデルOの奥に描かれることになる。
なお、仮想画像Dの縦横比、サイズ、及び解像度と、撮影画像Iの縦横比、サイズ、及び解像度と、は同じであるものとする。このため、仮想画像DのX座標値の最大値は、撮影画像Iと同じXSMAXとなり、仮想画像DのY座標値の最大値は、撮影画像Iと同じYSMAXとなる。また、仮想カメラの画角は、カメラ20の画角に合わせて設定すればよい。本実施形態では、カメラ20は水平方向の画角が360°であり、垂直方向の画角が180°であるので、仮想カメラにも同じ条件の画角を設定すればよい。このため、仮想画像生成部105は、撮影画像Iと同様に、仮想空間において水平方向の全ての方向が表れた仮想画像Dを生成することになる。
[2−2−5.パラメータ決定部]
パラメータ決定部106は、制御部11を主として実現される。パラメータ決定部106は、モデルパラメータΦを決定する。即ち、パラメータ決定部106は、サイズパラメータλ、位置パラメータp、及び向きパラメータθの少なくとも1つを初期値から変更する。
例えば、パラメータ決定部106がサイズパラメータλを変更すると、変更後のサイズパラメータλが示すサイズとなるように全体モデルMの頂点座標が変化する。また例えば、パラメータ決定部106が位置パラメータpを変更すると、変更後の位置パラメータpが示す位置にオブジェクトモデルMojが移動する。また例えば、パラメータ決定部106が向きパラメータθを変更すると、変更後の向きパラメータθが示す向きにオブジェクトモデルMojの向きが変わる。
パラメータ決定部106は、撮影画像Iと仮想画像Dとに基づいてモデルパラメータΦを決定すればよいが、ここでは、その一例として、評価値Eを利用して大まかにモデルパラメータΦを決定するレイアウト推定処理と、評価値Eを利用して詳細にモデルパラメータΦを決定する詳細決定処理と、を説明する。
[レイアウト推定処理]
まず、レイアウト推定処理を説明する。レイアウト推定処理では、仮想画像Dの方向マップが撮影画像Iの方向マップと似るように、モデルパラメータΦが決定される。ここでは、モデルパラメータΦのうち、サイズパラメータλと位置パラメータpとがレイアウト推定処理で決定される場合を説明する。このため、レイアウト推定処理では、向きパラメータθは、初期値のままでよい。
まず、パラメータ決定部106は、撮影画像Iと仮想画像Dのそれぞれの方向マップを生成する。方向マップの生成方法は、実施形態1で説明した方法と同様であってよく、物体の輪郭を示す線分の位置関係に基づいて方向マップが生成されるようにすればよい。本実施形態では、パラメータ決定部106は、撮影画像Iの方向マップのうち、オブジェクトOが撮影された部分をマスクし、仮想画像Dの方向マップのうち、オブジェクトモデルMojが描かれた部分をマスクする。別の言い方をすれば、パラメータ決定部106は、撮影画像Iの方向マップのうち、オブジェクトOに隠れていない壁Wの部分を比較対象とし、仮想画像Dの方向マップのうち、オブジェクトモデルMojに隠れていない全体モデルMの部分を比較対象とする。
図16は、オブジェクトOの部分がマスクされた撮影画像Iの方向マップを示す図であり、図17は、オブジェクトモデルMojの部分がマスクされた仮想画像Dの方向マップを示す図である。パラメータ決定部106は、図16に示す撮影画像Iの方向マップと、図17に示す仮想画像Dの方向マップと、に基づいて、下記の数式1により評価値Eを計算する。
Figure 0006220486
数式1のNpixは、撮影画像I及び仮想画像Dの総画素数である。このため、Npix=XSMAX*YSMAXとなる。数式1のNは、撮影画像Iと仮想画像Dとで方向マップの方向が一致した画素数であり、具体的には、下記の数式2により算出する。
Figure 0006220486
数式2のmは、任意の画素を示し、l(I)は、撮影画像Iの方向マップが示す画素mの方向である。数式2のl(D)は、仮想画像Dの方向マップが示す画素mの方向である。このため、数式2の右辺は、撮影画像Iの方向マップが示す方向と、仮想画像Dの方向マップが示す方向と、が一致する画素の総数を意味する。
数式1に示すように、評価値Eは、撮影画像Iの方向マップと仮想画像Dの方向マップとの一致度を示す。ここでは、評価値Eが低いことは、方向的な一致度が高いことを示し、評価値Eが高いことは、方向的な一致度が低いことを示す。方向マップの一致度は、全体モデルMのサイズとオブジェクトモデルMojの位置に依存するため、パラメータ決定部106は、評価値Eが低くなるように、サイズパラメータλと位置パラメータpとを調整する。
例えば、サイズパラメータλが小さすぎると、全体モデルMがオブジェクトモデルMojに隠れる部分が実際よりも多くなる。この場合、サイズパラメータλを大きくすると、一致度が上がり評価値Eが小さくなる。また例えば、サイズパラメータλが大きすぎると、全体モデルMがオブジェクトモデルMojに隠れる部分が実際よりも少なくなる。この場合、サイズパラメータλを小さくすると、一致度が上がり評価値Eが小さくなる。また例えば、全体モデルMとオブジェクトモデルMojとの相対的な位置関係が実際と異なっていると、方向が一致する画素数が少なくなる。この場合、実際のオブジェクトOの位置に近づくように位置パラメータpiを変化させると、一致度が上がり評価値Eが小さくなる。
パラメータ決定部106は、評価値Eが閾値未満となるまで、サイズパラメータλと位置パラメータpを調整する。例えば、パラメータ決定部106は、サイズパラメータλの初期値と位置パラメータpの初期値とに基づいて、サイズパラメータλの候補値と位置パラメータpの候補値を選出する。候補値は、初期値との差が閾値未満となるものであればよく、複数個の候補値が選出されてよい。
パラメータ決定部106は、サイズパラメータλの候補値及び位置パラメータpの候補値の組み合わせごとに、仮想画像Dを生成して評価値Eを算出する。パラメータ決定部106は、当該組み合わせの中から、評価値Eが最小又は閾値未満となる候補値の組み合わせを特定する。パラメータ決定部106は、当該特定した候補値に基づいて、サイズパラメータλと位置パラメータpとを更新する。本実施形態では、上記説明したレイアウト推定処理により、サイズパラメータλと位置パラメータpが大まかに調整される。
[詳細決定処理]
次に、詳細決定処理を説明する。現実空間では、オブジェクトOはランダムに配置されるのではなく、ある一定の規則に沿って配置されることが多い。例えば、本実施形態のような部屋Sであれば、家具などのオブジェクトOは、人間が使いやすいように、所定法則のもとで配置される。例えば、ベッドや椅子は、壁と平行に配置され、各オブジェクトOは互いに重ならないように配置されることが多い。
この点に着目し、詳細決定処理では、現実空間の壁W及びオブジェクトOの相対的な関係と、仮想空間の全体モデルM及びオブジェクトモデルMojの相対的な関係と、が似るように、モデルパラメータΦが調整される。ここでは、モデルパラメータΦのうち、サイズパラメータλ、位置パラメータp、及び向きパラメータθの全てが詳細決定処理で決定される場合を説明する。
なお、評価値Eは、全体モデルM及びとオブジェクトモデルMojの相対的な関係を評価するための評価値Eo,ωと、オブジェクトモデルMojどうしの相対的な関係を評価するための評価値Eo,oと、の2種類が用意されている。また、ここでは、処理を簡略化するために、全体モデルMの床面にオブジェクトモデルMojを投影した形状を用いて、評価値Eo,ω,Eo,oを評価する。
図18は、仮想空間を上から見た様子を示す図である。図18に示すように、パラメータ決定部106は、オブジェクトモデルMojを上方向から全体モデルMの床面に正射影する。そして、パラメータ決定部106は、下記の数式3により評価値Eo,ωを計算する。
Figure 0006220486
数式3のp(o)は、正射影におけるオブジェクトモデルMojの位置である。p(ωi*(j))は、全体モデルMのうち、オブジェクトモデルMojに最も近い壁の位置である。このため、数式3の右辺第1項は、仮想空間における全体モデルMと、オブジェクトモデルMojと、の距離を示す。この距離が短いほど評価値Eo,ω(Φ)が小さくなる。即ち、オブジェクトモデルMojが全体モデルMに近いほど、部屋Sの再現度が高くなる。
数式3のνは、重み付け係数である。重み付け係数は、任意の値であってよく、例えば、0.5程度であってよい。n(o)は、オブジェクトモデルMojの方向である。n(ωi*(j))は、全体モデルMのうち、オブジェクトモデルMojに最も近い壁の方向である。このため、数式3の右辺第2項は、仮想空間における全体モデルMと、オブジェクトモデルMojと、の方向的なずれ具合を示すことになる。方向的なずれ具合が小さいほど評価値Eo,ω(Φ)が小さくなる。即ち、オブジェクトモデルMojが近くの全体モデルMと同じ方向を向いているほど、再現度が高くなる。
また、パラメータ決定部106は、下記の数式4により評価値Eo,oを計算する。
Figure 0006220486
数式4のAは、あるオブジェクトモデルMojを全体モデルMの床面に正射影したときの領域b(o)と、他の任意のオブジェクトモデルMojを全体モデルMの床面に正射影したときの領域b(o)と、の重なり具合を示すものである。このため、数式4の右辺は、オブジェクトモデルMoj同士の重なり部分が大きいほど高くなり、重なり部分が小さいほど小さくなる。即ち、オブジェクトモデルMojが近くのオブジェクトモデルMojと重なっていない場合に再現度が高くなる。
パラメータ決定部106は、評価値Eo,ωと評価値Eo,oとに基づいて、モデルパラメータΦを決定する。例えば、パラメータ決定部106は、評価値Eo,ω及び評価値Eo,oがともに閾値未満となるように、モデルパラメータΦを決定する。
例えば、レイアウト推定処理と同様に、パラメータ決定部106は、サイズパラメータλの候補値、位置パラメータpの候補値、及び向きパラメータθの候補値を選出する。パラメータ決定部106は、これら候補値の中から、評価値Eo,ω及び評価値Eo,oが最小となる候補値の組み合わせを特定する。パラメータ決定部106は、当該特定した候補値に基づいて、サイズパラメータλ、位置パラメータp、及び向きパラメータθを更新する。
図19及び図20は、モデルパラメータΦが調整された場合の仮想空間の様子を示す図である。図19に示すように、モデルパラメータΦが調整されると、仮想空間の状態が現実空間の状態に近づく。例えば、図20に示すように、オブジェクトモデルMojに対して全体モデルMが小さすぎる場合には、サイズパラメータλを大きくすることで評価値Eや評価値Eが小さくなり、実際の部屋Sのサイズに近づく。即ち、全体モデルM及びオブジェクトモデルMojの相対的なサイズの関係と、部屋S及びオブジェクトOの相対的なサイズの関係と、が似るように、サイズパラメータλが決定されることになる。
また、オブジェクトモデルMojが全体モデルMから遠かったり壁と平行でなかったりした場合やオブジェクトモデルMojどうしが重なっていたりすると評価値Eが大きくなってしまうが、全体モデルMの近くに移動するように位置パラメータpを変更したり、全体モデルMと平行になるように向きパラメータθを変更したり、オブジェクトモデルMojが互いに重ならないように位置パラメータp及び向きパラメータθを調整したりすることで、実際の部屋S内のオブジェクトOの配置に近づく。即ち、全体モデルM及びオブジェクトモデルMojの相対的な位置及び向きと、部屋S及びオブジェクトOの相対的な位置及び向きと、が似るように、位置パラメータp及び向きパラメータθが決定されることになる。
上記のように、パラメータ決定部106は、撮影画像Iと仮想画像Dとの比較結果に基づいて、全体モデルMのサイズを示すサイズパラメータλを決定する。例えば、サイズ決定部105は、撮影画像Iにおいて壁Wが撮影された画素と、仮想画像Dにおいて全体モデルMが描かれた画素と、の比較結果に基づいて、サイズパラメータλを決定する。例えば、パラメータ決定部106は、撮影画像Iにおいて壁Wが撮影された画素と、仮想画像Dにおいて全体モデルMが描かれた画素と、の一致度が閾値以上となるように、サイズパラメータλを決定する。ここでの一致度とは、上記説明した方向マップの一致度であってもよいし、画像の中での大きさの一致度であってもよい。
なお、パラメータ決定部106は、撮影画像IにおいてオブジェクトOが撮影された画素と、仮想画像DにおいてオブジェクトモデルMojが描かれた画素と、の比較結果に基づいて、サイズパラメータλを決定するようにしてもよい。この場合、パラメータ決定部106は、撮影画像IにおいてオブジェクトOが撮影された画素と、仮想画像DにおいてオブジェクトモデルMojが描かれた画素と、の一致度が閾値以上となるように、サイズパラメータλを決定する。
また、パラメータ決定部106は、壁WのうちオブジェクトOで隠れた部分以外の部分(即ち、壁WのうちオブジェクトOに隠れずに撮影画像Iに撮影された部分)と、全体モデルMのうちオブジェクトモデルMojで隠れた部分以外の部分(即ち、全体モデルMのうちオブジェクトモデルMojに隠れずに仮想画像Dに描かれた領域)と、の比較結果に基づいて、サイズパラメータλを決定する。即ち、パラメータ決定部106は、撮影画像IにおいてオブジェクトOが撮影された領域と、仮想画像DにおいてオブジェクトモデルMojが描かれた領域と、はサイズパラメータλを決定するにあたり比較対象から外して参照しないことになる。
また、パラメータ決定部106は、撮影画像Iと仮想画像Dとの比較結果に基づいて、オブジェクトモデルMojの位置を示す位置パラメータpを決定する。例えば、パラメータ決定部106は、撮影画像IにおいてオブジェクトOが撮影された画素と、仮想画像DにおいてオブジェクトモデルMojが描かれた画素と、の比較結果に基づいて、位置パラメータpを決定する。
また、パラメータ決定部106は、撮影画像Iの各画素に撮影されたオブジェクト(ここでは、壁WとオブジェクトOの両方を意味する。)の向きと、仮想画像Dの各画素に描かれたモデル(ここでは、全体モデルMとオブジェクトモデルMojの両方を意味する。)の向きと、の比較結果に基づいて、サイズパラメータλを決定する。即ち、パラメータ決定部106は、これらの向きの一致度が閾値以上となるように、サイズパラメータλを決定する。
なお、上記では、評価値Eに基づいてサイズパラメータλと位置パラメータpが決定される場合を説明したが、評価値Eに基づいて向きパラメータθが決定されてもよい。即ち、パラメータ決定部106は、撮影画像Iと仮想画像Dとの比較結果に基づいて、オブジェクトモデルMojの向きを示す向きパラメータθを決定するようにしてもよい。例えば、パラメータ決定部106は、撮影画像IにおいてオブジェクトOが撮影された画素と、仮想画像DにおいてオブジェクトモデルMojが描かれた画素と、の比較結果に基づいて、向きパラメータθを決定する。
また、パラメータ決定部106は、オブジェクトモデルMojと全体モデルMとの仮想空間における相対的な関係に基づいて、サイズパラメータλを決定する。即ち、パラメータ決定部106は、オブジェクトモデルMojと全体モデルMとの仮想空間における相対的な関係と、オブジェクトOと壁Wとの現実空間における相対的な関係と、の一致度が閾値以上となるように、サイズパラメータλを決定する。
また、パラメータ決定部106は、オブジェクトモデルMojと全体モデルMとの仮想空間における相対的な関係に基づいて、オブジェクトモデルMojの位置を示す位置パラメータpを決定する。即ち、パラメータ決定部106は、オブジェクトモデルMojと全体モデルMとの仮想空間における相対的な関係と、オブジェクトOと壁Wとの現実空間における相対的な関係と、の一致度が閾値以上となるように、位置パラメータpを決定する。ここでの一致度とは、上記説明した方向マップの一致度であってもよいし、画像の中での大きさの一致度であってもよい。
また、パラメータ決定部106は、オブジェクトモデルMojと全体モデルMとの仮想空間における相対的な関係に基づいて、オブジェクトモデルMojの向きを示す向きパラメータθを決定する。即ち、パラメータ決定部106は、オブジェクトモデルMojと全体モデルMとの仮想空間における相対的な関係と、オブジェクトOと壁Wとの現実空間における相対的な関係と、の一致度が閾値以上となるように、向きパラメータθを決定する。ここでの一致度とは、上記説明した方向マップの一致度であってもよいし、画像の中での大きさの一致度であってもよい。
また、パラメータ決定部106は、複数のオブジェクトOの各々の仮想空間における相対的な関係に基づいて、サイズパラメータλを決定する。例えば、パラメータ決定部106は、複数のオブジェクトOの各々の仮想空間における相対的な関係が所定の関係を見たすように、サイズパラメータλを決定する。所定の関係とは、オブジェクトモデルMojどうしが重ならない関係であり、サイズパラメータλが小さすぎると、オブジェクトモデルMojを配置する場所がなくなり、オブジェクトモデルMojが重なってしまうので、オブジェクトモデルMojが重ならない程度に十分な大きさのサイズパラメータλが決定される。
また、パラメータ決定部106は、複数の全体モデルMの各々の仮想空間における相対的な関係に基づいて、複数の全体モデルMの各々の位置を示す位置パラメータpを決定する。例えば、パラメータ決定部106は、複数のオブジェクトOの各々の仮想空間における相対的な関係が所定の関係を見たすように、位置パラメータpを決定する。所定の関係とは、オブジェクトモデルMojどうしが重ならない関係であり、オブジェクトモデルMojが重ならない位置又は向きとなるように、位置パラメータpが決定される。
また、パラメータ決定部106は、複数の全体モデルMの各々の仮想空間における相対的な関係に基づいて、複数の全体モデルMの各々の向きを示す向きパラメータθを決定する。例えば、パラメータ決定部106は、複数のオブジェクトOの各々の仮想空間における相対的な関係が所定の関係を見たすように、向きパラメータθを決定する。所定の関係とは、オブジェクトモデルMojどうしが重ならない関係であり、オブジェクトモデルMojが重ならない位置又は向きとなるように、向きパラメータθが決定される。
[2−3.本実施形態において実行される処理]
図21は、3次元モデル生成システム1において実行される処理の一例を示すフロー図である。図21に示す処理は、制御部11が、記憶部12に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理は、図12に示す機能ブロックにより実行される処理の一例である。なお、実施形態1と同様の方法により全体モデルMが生成される場合には、図10の処理の後に図21に示す処理が実行されるようにしてよい。
図21に示すように、まず、制御部11は、オブジェクトモデルデータベースに基づいて、撮影画像Iに撮影されたオブジェクトOを検出する(S10)。S10においては、先述したように、制御部11は、テンプレート画像とのテンプレートマッチングにより、撮影画像IにおけるオブジェクトOの有無を検出することになる。
制御部11は、初期値のサイズパラメータλに基づいて、全体モデルMを仮想空間に配置し(S11)、当該全体モデルMの上に、初期値の位置パラメータp及び向きパラメータθに基づいて、S10で検出したオブジェクトのオブジェクトモデルMojを配置する(S12)。S11においては、制御部11は、初期値のサイズパラメータλが示すサイズの全体モデルMを仮想空間に配置し、撮影画像Iに基づいて仮想視点VPを配置する。S12においては、制御部11は、撮影画像IにおいてオブジェクトOが撮影された位置を示す2次元座標を3次元座標に変換して位置パラメータpの初期値とし、テンプレート画像に関連付けられた向きを向きパラメータθの初期値とする。
制御部11は、仮想カメラVPから仮想空間を見た様子を示す仮想画像Dを生成する(S13)。なお、仮想カメラVPの画角などのパラメータは、カメラ20に対応する値を示すように、予め記憶部12に記憶されているものとする。S13においては、制御部11は、全体モデルM及びオブジェクトモデルMojの頂点の3次元座標を2次元座標に変換することにより、仮想画像を生成する。
制御部11は、撮影画像Iの方向マップと、仮想画像Dの方向マップと、に基づいてレイアウト推定処理を実行し、サイズパラメータλと位置パラメータpとを決定する(S14)。S14においては、制御部11は、数式1及び2に基づいて評価値Eを計算し、評価値Eが最小となるサイズパラメータλと位置パラメータpを決定する。
制御部11は、仮想空間の相対的な関係に基づいて、詳細決定処理を実行し、サイズパラメータλ、位置パラメータp、及び向きパラメータθを決定する(S15)。S15においては、制御部11は、評価値Eを計算し、評価値Eが最小となるサイズパラメータλ、位置パラメータp、及び向きパラメータθを決定する。なお、評価値E,Eが十分に小さくなるまで、S14とS15の処理を繰り返してもよい。
実施形態2の3次元モデル生成システム1によれば、サイズの個体差の少ないオブジェクトOに着目して、全体モデルMとオブジェクトモデルMojとの相対的な関係からサイズパラメータλを調整するため、比較的簡易な処理によりサイズパラメータλを推定でき、部屋Sのサイズを推定する場合の撮影の手間を省きつつ、コンピュータの処理負荷を軽減することができる。
また、オブジェクトOをマスクした撮影画像Iと、オブジェクトモデルMojをマスクした仮想画像Dと、の比較結果に基づいてサイズパラメータλを推定することで、現実空間を推定するうえで信頼性の低い部分を排除したうえでサイズパラメータλを調整するので、サイズパラメータλの精度を上げることができる。更に、信頼性の低い部分に対する無駄な処理を実行しないので、コンピュータの処理負荷を軽減することができる。
また、撮影画像Iに基づいて定まる向きのオブジェクトモデルMojを配置することによって、仮想空間にオブジェクトモデルMojを配置したときの向きの精度が向上する部屋S内の様子の再現度を高めることができる。例えば、オブジェクトモデルMojの初期の向きを、実際のオブジェクトOの向きに大まかに合わせることによって、その後のサイズパラメータλや位置パラメータpの調整を簡単にすることができるので、その後の処理におけるコンピュータの処理負荷を軽減することもできる。
また、撮影画像Iの方向マップと、仮想画像Dの方向マップと、を利用して位置パラメータpやサイズパラメータλを推定することで、位置パラメータpやサイズパラメータλの精度を上げることができる。また、先述したように、これら方向マップを利用して向きパラメータθを推定してもよく、この場合は、向きパラメータθの精度を上げることができる。
また、サイズの個体差の少ないオブジェクトOに着目して、全体モデルMとオブジェクトモデルMojとの相対的な関係からサイズパラメータλ、位置パラメータp、及び向きパラメータθを調整するため、比較的簡易な処理によりこれらを推定でき、部屋SのサイズやオブジェクトOの位置及び向きを推定する場合の撮影の手間を省きつつ、コンピュータの処理負荷を軽減することができる。
また、評価値Eo,ωに基づいてサイズパラメータλ、位置パラメータp、及び向きパラメータθを調整することで、現実世界における壁WとオブジェクトOとの関係の経験則を反映することができるので、サイズパラメータλ、位置パラメータp、及び向きパラメータθの精度を高めることができる。
また、評価値Eo,oに基づいてサイズパラメータλ、位置パラメータp、及び向きパラメータθを調整することで、現実世界におけるオブジェクトOどうしの関係の経験則を反映することができるので、サイズパラメータλ、位置パラメータp、及び向きパラメータθの精度を高めることができる。
また、オブジェクトモデルMojは、奥行きを有する立体形状であるので、より再現度の高い仮想空間を生成することができる。
また、部屋Sの中に配置された家具であるオブジェクトOをもとにサイズパラメータλを決定するので、現実世界の部屋Sを再現することができる。
[3.変形例]
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
[3−1.実施形態1に関する変形例]
例えば、実施形態1では、ある1つの部屋Sの全体モデルMを生成する場合を説明したが、あるフロアに複数の部屋Sが配置されている場合、部屋Sごとに全体モデルMが生成し、これら複数の全体モデルMが並べられることにより、仮想空間においてフロア全体を再現するようにしてもよい。
図22は、実施形態1に関する変形例の機能ブロック図である。図22に示すように、本変形例では、実施形態1で説明した機能に加えて、フロアモデル生成部が実現される。フロアモデル生成部107は、制御部11を主として実現される。
本変形例のデータ記憶部100は、フロア内の部屋Sごとに撮影画像データを記憶しているものとする。即ち、データ記憶部100は、あるフロアにおける複数の部屋Sの各々の撮影画像データを記憶する。また、データ記憶部100は、フロア内における部屋Sの配置を示すデータを記憶してもよい。即ち、データ記憶部100は、部屋Sの位置関係を示すデータを記憶してもよい。
画像取得部101は、同じフロアにおける複数の部屋Sの各々で撮影された複数の画像Iを取得することになる。画像Iを取得する方法は、実施形態1と同様であってよく、例えば、画像取得部101は、ある部屋Sの撮影画像Iを分割することによって複数の画像Iを取得してよい。
部分モデル生成部102は、各部屋Sに対応する部分モデルmを生成する。全体モデル生成部103は、各部屋Sに対応する全体モデルMを生成する。部分モデルm及び全体モデルMの生成方法は、実施形態1と同様であってよい。
フロアモデル生成部107は、全体モデル生成部103が生成した複数の全体モデルMに基づいて、フロアの全体的な3次元モデルを生成する。フロアモデル生成部107は、仮想空間において、所定の配置となるように複数の全体モデルMを並べる。ここでは、フロアモデル生成部107は、フロアにおける部屋Sの配置を示すデータに基づいて、各全体モデルMが同じ配置となるように仮想空間に配置することでフロア全体の3次元モデルを生成することになる。
上記変形例によれば、フロア全体を示す3次元モデルを比較的簡易な処理により生成することができる。
なお、実施形態1では、画像Iの方向マップを利用して部分モデルmを生成する場合を説明したが、画像Iから部分モデルmを生成する方法自体は、公知の種々の手法を適用可能である。例えば、部分モデル生成部102は、物体の幾何学的な特徴量を示すジオメトリックコンテクストを利用して部分モデルmを生成してよい。ジオメトリックコンテクストは、画像Iの下側(床付近)の精度が高いことが知られているので、画像Iの下側はジオメトリックコンテクストを利用し、上側は方向マップを利用してもよい。このように複数のモデル生成方法を組み合せることによって部分モデルmを生成してもよい。
また例えば、各画像Iの撮影範囲が重複している場合を説明したが、必ずしも画像Iどうしの撮影範囲は重複していなくてもよい。例えば、画像取得部101は、互いに重複しないように撮影画像Iを所定枚数に分割することによって、画像Iを取得してもよい。また例えば、画像取得部101は、画像Iどうしに隙間が空くように、撮影画像Iから画像Iを取得してもよい。更に、各画像Iのサイズや解像度などは、互いに異なっていてもよい。
また例えば、向きパラメータθの初期値を推定するために、オブジェクトモデルデータベースに種々の向きのオブジェクトモデルMojが格納されている場合を説明したが、インターネット上のサーバコンピュータが配布している3次元モデルを利用して、初期状態のオブジェクトモデルMojを配置してもよい。その際に、条件付き確率分布を利用することで撮影画像IのオブジェクトOと似た向きのオブジェクトモデルMojを探し、その向きを向きパラメータθの初期値としてもよい。
また例えば、各画像Iの撮影画像I内での位置に基づいて、各部分モデルmを配置する位置及び向きが決定される場合を説明したが、画像Iは、1枚の撮影画像Iから分割されたものでなくてもよいので、この場合は、他の方法によって、部分モデルmを配置する位置及び向きが決定されてもよい。例えば、画像Iごとに撮影方向を関連付けておき、当該撮影方向に基づいて部分モデルmの位置及び向きが決定されるようにしてもよい。この場合、撮影方向は、画像Iの取得順(撮影順)に基づいて決定されてもよいし、ユーザが指定してもよい。
[3−2.実施形態2に関する変形例]
また例えば、オブジェクトOは、水平面に置かれているものに限られず、垂直面に置かれているものでもよい。実施形態2において、ベッドを示すオブジェクトモデルMojは、床上にしか配置されず、壁掛け時計を示すオブジェクトモデルMojは、壁上にしか配置されないので、オブジェクトOに応じて位置パラメータpの移動範囲を制限してもよい。
本変形例のパラメータ決定部106は、撮影画像Iに撮影されたオブジェクトOに基づいて、位置パラメータpの変更可能範囲を決定するようにしてもよい。例えば、オブジェクトOと、変更可能範囲と、の関係は予めデータ記憶部100に記憶されているものとする。変更可能範囲は、オブジェクトモデルMojが移動可能な範囲であり、位置パラメータpの候補となる範囲である。
例えば、水平面上に配置されるオブジェクトOであれば、仮想空間の水平面上の領域が変更可能範囲となり、垂直面状に配置されるオブジェクトOであれば、仮想空間の垂直面上の領域が変更可能範囲となる。パラメータ決定部106は、オブジェクトモデルMojの位置パラメータpが、当該オブジェクトモデルMojが示すオブジェクトOに関連付けられた変更可能範囲内に収まるように、位置パラメータpを決定する。
上記変形例によれば、オブジェクトOの性質に応じた範囲内でオブジェクトモデルMojを移動させることができる。このため、オブジェクトモデルMojが現実ではありえないような不自然な位置に配置されてしまうことを防止することができる。
なお、実施形態2では、第1オブジェクトの一例として家具などのオブジェクトOを説明し、第2オブジェクトの一例としてその奥にある壁Wを説明したが、第1オブジェクトと第2オブジェクトとの位置関係は任意であってよい。第1オブジェクトの手前に第2オブジェクトが配置されていてもよいし、第1オブジェクトの隣に第2オブジェクトが配置されていてもよい。即ち、サイズが既知の第1オブジェクトと、サイズを推定したい第2オブジェクトと、が同じ撮影画像Iに撮影されているようにすればよい。
[3−3.その他変形例]
また例えば、全体モデルMは、屋外の駐車場などの壁を示してもよいし、オブジェクトモデルMojは、当該駐車場の車やバイクなどを示してもよい。全体モデルM及びオブジェクトモデルMojは、撮影画像Iから検出可能な種類のオブジェクトであればよく、壁WやオブジェクトOに限られない。
また例えば、3次元モデル生成システム1は、3次元モデル生成装置10だけで構成されてもよいし、他のコンピュータを含んでいてもよい。例えば、3次元モデル生成システム1は、3次元モデル生成装置10とサーバコンピュータとを含んでいてもよい。この場合、オブジェクトモデルデータベースは、サーバコンピュータに記憶されていてもよい。

Claims (14)

  1. 複数の面で囲われた空間において、互いに異なる方向が撮影された複数の画像を取得する画像取得手段と、
    前記画像ごとに、当該画像に撮影された前記複数の面の一部を示す部分モデルを生成する部分モデル生成手段と、
    前記部分モデル生成手段により生成された複数の部分モデルに基づいて、前記複数の面全体を示す全体モデルを生成する全体モデル生成手段と、
    を含み、
    前記全体モデル生成手段は、各画像の撮影方向に関する画像情報を取得し、各画像の前記画像情報に基づいて、当該画像に対応する部分モデルを配置する位置及び向きを決定し、前記全体モデルを生成する、
    ことを特徴とする3次元モデル生成システム。
  2. 水平方向の360°が撮影された1枚の画像に基づいて、複数の面で囲われた空間において、互いに異なる方向が撮影された複数の画像を取得する画像取得手段と、
    前記画像ごとに、当該画像に撮影された前記複数の面の一部を示す部分モデルを生成する部分モデル生成手段と、
    前記部分モデル生成手段により生成された複数の部分モデルに基づいて、前記複数の面全体を示す全体モデルを生成する全体モデル生成手段と、
    を含むことを特徴とする3次元モデル生成システム。
  3. 複数の面で囲われた部屋の内部において、互いに異なる方向が撮影された複数の画像を取得する画像取得手段と、
    前記画像ごとに、当該画像に撮影された前記部屋の一部である前記複数の面の一部を示す部分モデルを生成する部分モデル生成手段と、
    前記部分モデル生成手段により生成された複数の部分モデルに基づいて、前記部屋全体である前記複数の面全体を示す全体モデルを生成する全体モデル生成手段と、
    を含み、
    前記画像取得手段は、同じフロアにおける複数の部屋の各々で撮影された前記複数の画像を取得し、
    前記部分モデル生成手段は、各部屋に対応する前記部分モデルを生成し、
    前記全体モデル生成手段は、各部屋に対応する前記全体モデルを生成し、
    前記全体モデル生成手段が生成した複数の全体モデルに基づいて、フロアの全体的な3次元モデルを生成するフロアモデル生成手段を更に含む、
    ことを特徴とする3次元モデル生成システム。
  4. 各画像は、少なくとも1つの他の前記画像と撮影範囲の一部が重複し、
    前記部分モデル生成手段は、少なくとも1つの他の前記部分モデルと表面の一部が重複する前記部分モデルを生成し、
    前記全体モデル生成手段は、各部分モデルの重複部分の位置を合わせて前記全体モデルを生成する、
    ことを特徴とする請求項1〜3の何れかに記載の3次元モデル生成システム。
  5. 前記画像取得手段は、前記空間が撮影された1枚の画像に基づいて、前記複数の画像を取得し、
    前記画像情報は、前記1枚の画像における各画像の位置であり、
    前記全体モデル生成手段は、前記1枚の画像における各画像の位置に基づいて、当該画像に対応する部分モデルを配置する位置及び向きを決定する、
    ことを特徴とする請求項1に記載の3次元モデル生成システム。
  6. 前記画像取得手段は、前記空間内の1点から互いに異なる方向が撮影された前記複数の画像を取得する、
    ことを特徴とする請求項1又は2又は5に記載の3次元モデル生成システム。
  7. 前記画像取得手段は、部屋の内部で撮影された前記複数の画像を取得し、
    前記部分モデル生成手段は、前記部屋の一部を示す前記部分モデルを生成し、
    前記全体モデル生成手段は、前記部屋全体を示す前記全体モデルを生成する、
    ことを特徴とする請求項1又は2に記載の3次元モデル生成システム。
  8. 前記画像取得手段は、互いに直交する又は互いに80°以上で交わる6つ以上の側面を有する前記部屋の前記複数の画像を取得し、
    前記部分モデル生成手段は、前記6つ以上の側面の一部を示す前記部分モデルを生成し、
    前記全体モデル生成手段は、前記6つ以上の側面全体を示す前記全体モデルを生成する、
    請求項3又は7に記載の3次元モデル生成システム。
  9. 複数の面で囲われた空間において、互いに異なる方向が撮影された複数の画像を取得する画像取得ステップと、
    前記画像ごとに、当該画像に撮影された前記複数の面の一部を示す部分モデルを生成する部分モデル生成ステップと、
    前記部分モデル生成ステップにより生成された複数の部分モデルに基づいて、前記複数の面全体を示す全体モデルを生成する全体モデル生成ステップと、
    を含み、
    前記全体モデル生成ステップは、各画像の撮影方向に関する画像情報を取得し、各画像の前記画像情報に基づいて、当該画像に対応する部分モデルを配置する位置及び向きを決定し、前記全体モデルを生成する、
    ことを特徴とする3次元モデル生成方法。
  10. 水平方向の360°が撮影された1枚の画像に基づいて、複数の面で囲われた空間において、互いに異なる方向が撮影された複数の画像を取得する画像取得ステップと、
    前記画像ごとに、当該画像に撮影された前記複数の面の一部を示す部分モデルを生成する部分モデル生成ステップと、
    前記部分モデル生成ステップにより生成された複数の部分モデルに基づいて、前記複数の面全体を示す全体モデルを生成する全体モデル生成ステップと、
    を含むことを特徴とする3次元モデル生成方法。
  11. 複数の面で囲われた部屋の内部において、互いに異なる方向が撮影された複数の画像を取得する画像取得ステップと、
    前記画像ごとに、当該画像に撮影された前記部屋の一部である前記複数の面の一部を示す部分モデルを生成する部分モデル生成ステップと、
    前記部分モデル生成ステップにより生成された複数の部分モデルに基づいて、前記部屋全体である前記複数の面全体を示す全体モデルを生成する全体モデル生成ステップと、
    を含み、
    前記画像取得ステップは、同じフロアにおける複数の部屋の各々で撮影された前記複数の画像を取得し、
    前記部分モデル生成ステップは、各部屋に対応する前記部分モデルを生成し、
    前記全体モデル生成ステップは、各部屋に対応する前記全体モデルを生成し、
    前記全体モデル生成ステップにより生成された複数の全体モデルに基づいて、フロアの全体的な3次元モデルを生成するフロアモデル生成ステップを更に含む、
    ことを特徴とする3次元モデル生成方法。
  12. 複数の面で囲われた空間において、互いに異なる方向が撮影された複数の画像を取得する画像取得手段、
    前記画像ごとに、当該画像に撮影された前記複数の面の一部を示す部分モデルを生成する部分モデル生成手段、
    前記部分モデル生成手段により生成された複数の部分モデルに基づいて、前記複数の面全体を示す全体モデルを生成する全体モデル生成手段、
    としてコンピュータを機能させるためのプログラムであって、
    前記全体モデル生成手段は、各画像の撮影方向に関する画像情報を取得し、各画像の前記画像情報に基づいて、当該画像に対応する部分モデルを配置する位置及び向きを決定し、前記全体モデルを生成する、
    ことを特徴とするプログラム。
  13. 水平方向の360°が撮影された1枚の画像に基づいて、複数の面で囲われた空間において、互いに異なる方向が撮影された複数の画像を取得する画像取得手段、
    前記画像ごとに、当該画像に撮影された前記複数の面の一部を示す部分モデルを生成する部分モデル生成手段、
    前記部分モデル生成手段により生成された複数の部分モデルに基づいて、前記複数の面全体を示す全体モデルを生成する全体モデル生成手段、
    としてコンピュータを機能させるためのプログラム。
  14. 複数の面で囲われた部屋の内部において、互いに異なる方向が撮影された複数の画像を取得する画像取得手段、
    前記画像ごとに、当該画像に撮影された前記部屋の一部である前記複数の面の一部を示す部分モデルを生成する部分モデル生成手段、
    前記部分モデル生成手段により生成された複数の部分モデルに基づいて、前記部屋全体である前記複数の面全体を示す全体モデルを生成する全体モデル生成手段、
    としてコンピュータを機能させるためのプログラムであって、
    前記画像取得手段は、同じフロアにおける複数の部屋の各々で撮影された前記複数の画像を取得し、
    前記部分モデル生成手段は、各部屋に対応する前記部分モデルを生成し、
    前記全体モデル生成手段は、各部屋に対応する前記全体モデルを生成し、
    前記コンピュータを、前記全体モデル生成手段が生成した複数の全体モデルに基づいて、フロアの全体的な3次元モデルを生成するフロアモデル生成手段、
    として更に機能させるためのプログラム。
JP2017532190A 2016-05-27 2016-05-27 3次元モデル生成システム、3次元モデル生成方法、及びプログラム Active JP6220486B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/065805 WO2017203709A1 (ja) 2016-05-27 2016-05-27 3次元モデル生成システム、3次元モデル生成方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP6220486B1 true JP6220486B1 (ja) 2017-10-25
JPWO2017203709A1 JPWO2017203709A1 (ja) 2018-06-07

Family

ID=60156735

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017532190A Active JP6220486B1 (ja) 2016-05-27 2016-05-27 3次元モデル生成システム、3次元モデル生成方法、及びプログラム

Country Status (4)

Country Link
US (2) US10580205B2 (ja)
EP (1) EP3467787A4 (ja)
JP (1) JP6220486B1 (ja)
WO (1) WO2017203709A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021528794A (ja) * 2018-07-03 2021-10-21 上海亦我信息技術有限公司 撮影に基づいて三次元空間シーンを再構成するための方法

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10726633B2 (en) * 2017-12-29 2020-07-28 Facebook, Inc. Systems and methods for generating and displaying artificial environments based on real-world environments
KR101875047B1 (ko) * 2018-04-24 2018-07-06 주식회사 예간아이티 사진측량을 이용한 3d 모델링 시스템 및 방법
KR102126561B1 (ko) * 2018-07-23 2020-06-24 주식회사 쓰리아이 적응적 삼차원 공간 생성방법 및 그 시스템
US10891769B2 (en) * 2019-02-14 2021-01-12 Faro Technologies, Inc System and method of scanning two dimensional floorplans using multiple scanners concurrently
US11024079B1 (en) 2019-03-11 2021-06-01 Amazon Technologies, Inc. Three-dimensional room model generation using panorama paths and photogrammetry
US10937247B1 (en) 2019-03-11 2021-03-02 Amazon Technologies, Inc. Three-dimensional room model generation using ring paths and photogrammetry
US10706624B1 (en) * 2019-03-11 2020-07-07 Amazon Technologies, Inc. Three-dimensional room model generation using panorama paths with augmented reality guidance
US11636235B2 (en) 2019-04-15 2023-04-25 Awi Licensing Llc Systems and methods of predicting architectural materials within a space
JP6688518B1 (ja) * 2019-09-26 2020-04-28 株式会社アクトキューブ 三次元空間における座標軸決定方法並びに面特定方法
JP7476511B2 (ja) 2019-10-25 2024-05-01 Toppanホールディングス株式会社 画像処理システム、画像処理方法及びプログラム
US11023730B1 (en) * 2020-01-02 2021-06-01 International Business Machines Corporation Fine-grained visual recognition in mobile augmented reality
US11481930B2 (en) 2020-01-21 2022-10-25 Trimble Inc. Accurately positioning augmented reality models within images
US20230300315A1 (en) * 2020-08-14 2023-09-21 Sony Group Corporation Information processing apparatus, information processing method, program, and display apparatus
JPWO2023073971A1 (ja) * 2021-10-29 2023-05-04

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000011172A (ja) * 1998-06-17 2000-01-14 Olympus Optical Co Ltd 仮想環境生成方法および装置、並びに仮想環境生成プログラムを記録した記録媒体
US20040196282A1 (en) * 2003-02-14 2004-10-07 Oh Byong Mok Modeling and editing image panoramas
JP2006098256A (ja) * 2004-09-30 2006-04-13 Ricoh Co Ltd 3次元サーフェスモデル作成システム、画像処理システム、プログラム及び情報記録媒体

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8330787B2 (en) * 2007-06-29 2012-12-11 Microsoft Corporation Capture device movement compensation for speaker indexing
US10127722B2 (en) * 2015-06-30 2018-11-13 Matterport, Inc. Mobile capture visualization incorporating three-dimensional and two-dimensional imagery
US9025861B2 (en) 2013-04-09 2015-05-05 Google Inc. System and method for floorplan reconstruction and three-dimensional modeling
CA2938973A1 (en) * 2014-02-08 2015-08-13 Pictometry International Corp. Method and system for displaying room interiors on a floor plan
US20160239976A1 (en) 2014-10-22 2016-08-18 Pointivo, Inc. Photogrammetric methods and devices related thereto
CN113032863A (zh) 2015-03-24 2021-06-25 开利公司 建筑物系统的基于楼层平面图的规划
US20170054907A1 (en) * 2015-08-21 2017-02-23 Yoshito NISHIHARA Safety equipment, image communication system, method for controlling light emission, and non-transitory recording medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000011172A (ja) * 1998-06-17 2000-01-14 Olympus Optical Co Ltd 仮想環境生成方法および装置、並びに仮想環境生成プログラムを記録した記録媒体
US20040196282A1 (en) * 2003-02-14 2004-10-07 Oh Byong Mok Modeling and editing image panoramas
JP2006098256A (ja) * 2004-09-30 2006-04-13 Ricoh Co Ltd 3次元サーフェスモデル作成システム、画像処理システム、プログラム及び情報記録媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021528794A (ja) * 2018-07-03 2021-10-21 上海亦我信息技術有限公司 撮影に基づいて三次元空間シーンを再構成するための方法
JP7162933B2 (ja) 2018-07-03 2022-10-31 上海亦我信息技術有限公司 オブジェクトの内部空間モデルを確立するための方法、装置及びシステム、並びに、コンピュータ装置及びコンピュータ可読記憶媒体

Also Published As

Publication number Publication date
US20180182163A1 (en) 2018-06-28
EP3467787A4 (en) 2019-11-20
EP3467787A1 (en) 2019-04-10
US10580205B2 (en) 2020-03-03
JPWO2017203709A1 (ja) 2018-06-07
US20200082617A1 (en) 2020-03-12
WO2017203709A1 (ja) 2017-11-30
US10777002B2 (en) 2020-09-15

Similar Documents

Publication Publication Date Title
JP6220486B1 (ja) 3次元モデル生成システム、3次元モデル生成方法、及びプログラム
JP6196416B1 (ja) 3次元モデル生成システム、3次元モデル生成方法、及びプログラム
US11830163B2 (en) Method and system for image generation
JP7162933B2 (ja) オブジェクトの内部空間モデルを確立するための方法、装置及びシステム、並びに、コンピュータ装置及びコンピュータ可読記憶媒体
JP6560480B2 (ja) 画像処理システム、画像処理方法、及びプログラム
JP4642757B2 (ja) 画像処理装置および画像処理方法
JP5093053B2 (ja) 電子カメラ
JP5631086B2 (ja) 情報処理装置及びその制御方法、プログラム
JP6352208B2 (ja) 三次元モデル処理装置およびカメラ校正システム
KR102464271B1 (ko) 포즈 획득 방법, 장치, 전자 기기, 저장 매체 및 프로그램
KR101875047B1 (ko) 사진측량을 이용한 3d 모델링 시스템 및 방법
CN113298708A (zh) 三维房型的生成方法、装置及设备
JP7241812B2 (ja) 情報可視化システム、情報可視化方法、及びプログラム
JPWO2020153264A1 (ja) 校正方法および校正装置
JP2020173726A (ja) 仮想視点変換装置及びプログラム
JP2000329552A (ja) 3次元地図作成方法
JPH11339074A (ja) 景観モデリング装置
JP4505616B2 (ja) 固有空間学習装置、固有空間学習方法及び固有空間プログラム
JP3703178B2 (ja) 三次元シーンの形状と表面模様の再構成方法およびその装置
CN117788710A (zh) 基于鱼眼图的三维空间融合方法、装置、电子设备和介质
JP2009294956A (ja) 3次元形状復元方法とその装置、プログラム及び記録媒体
JPH07200650A (ja) 建造物画像合成装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170808

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170926

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170929

R150 Certificate of patent or registration of utility model

Ref document number: 6220486

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250