(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
以下、図面を参照して本発明の実施形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。即ち、本発明は、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付して表している。図面は模式的なものであり、必ずしも実際の寸法や比率等とは一致しない。図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることがある。
【0013】
[第1実施形態]
[1 概要]
近年、不動産情報提供サービスが広く普及している。このような不動産情報提供サービスにおいては、ユーザは、携帯電話(いわゆるフィーチャーフォンであるかスマートフォンであるかを問わない。)やパーソナルコンピュータ上で動作するブラウザや専用のアプリケーションなどを利用して、賃貸や購入が可能なマンション、一戸建て等の物件情報を確認することができる。物件情報には、例えば、間取り図、物件内や周辺環境の写真、物件の住所や広さ等の情報等が含まれる。
【0014】
しかしながら、このような数字や文字、2次元の情報のみでは、ユーザは居住イメージを掴みづらい。3次元の仮想空間画像、即ち3Dモデルを逐次手動で作成することも考えられるが、大量の不動産物件の全てに対して3Dモデル作成するのは困難である。
【0015】
そこで本実施形態に係る情報処理装置は、間取り図画像や室内撮影写真等を含む物件情報から自動的に不動産物件の3Dモデルを生成する。これにより当該情報処理装置は、生成した3Dモデルを元に、バーチャルリアリティ(VR:Virtual Reality)での室内の閲覧や、インテリアのシミュレーション、更には現地に移動することなく居ながらにして実際の内装や周辺環境を確かめられるオンライン商談などを可能とする。また、当該3Dモデルのバーチャル空間内での不動産会社の営業担当と通話により、内覧案内等も可能となる。加えて、インテリアコーディネータにより当該バーチャル空間内でインテリアの提案を受けることにより、物件の販売から家具の販売までを一本化することも可能となる。
【0016】
このように、本実施形態に係る情報処理装置は、ユーザに大量に存在する不動産物件の各々に対して居住イメージを持たせ、結果として住替えを促進させることができる。
【0017】
[2 機能構成]
[2.1 全体機能構成]
図1に、第1実施形態に係る情報処理装置1の機能構成を示す。
図1に示すとおり、情報処理装置1は、入力部100A及び100Bと、間取り識別部200と、モデル生成部300と、出力部400とを含む。
【0018】
入力部100Aは、例えば、HDD(Hard Disk Drive)等の記憶媒体に予め記憶された間取り図画像や、ネットワークを介して他の情報処理装置から受信した間取り図画像などを読み込む。間取り図画像の具体例は、後述の
図3(a)や
図4(a)、
図5等に示す。
【0019】
入力部100Bは、入力部100Aが読み込む間取り図画像に係る物件に関する各種情報(物件情報)を読み込む。入力部100Bが読み込む物件情報には、例えば、物件の室内で撮影された写真、位置情報(住所や緯度経度等)、方位、階数、築年数、専有面積等の情報を含むことができる。
【0020】
間取り識別部200は、入力部100Aから入力された間取り図画像に対する解析を行う。当該解析の結果得られる間取り図解析結果には、壁の位置、部屋の領域、部屋の用途(ダイニング、風呂等等)、設置物(風呂、便器、ドア等)の検出などを含むことができる。間取り識別部200の機能や構成については、
図2等を参照しながら後述する。
【0021】
モデル生成部300は、間取り識別部200による間取り図画像の解析結果、及び、入力部100Bから入力された物件情報を用いて、対象物件の3Dモデルを生成する。モデル生成部300の機能や構成については、
図12等を参照しながら後述する。
【0022】
出力部400は、モデル生成部300が生成した3Dモデルを外部へ出力する。出力部400による出力方法は種々考えられる。例えば出力部400は、インターネット上のクライアント端末から仮想空間として表現される3Dモデル内をユーザが任意に視点を変えながら(仮想空間内で移動しながら)閲覧可能なように、3Dモデルをウェブコンテンツの一部として出力することが考えられる。又は、出力部400は、生成した3Dモデルを、HDDやフラッシュメモリ等の各種記憶媒体に出力することも考えられる。しかしながら出力部400による出力方法は、これらに限られるものではない。
【0023】
[2.2 間取り識別部200の機能構成]
次に、間取り識別部200の機能構成を、
図2を参照しながら説明する。
図2に示すとおり、間取り識別部200は、入力部210と、線分検出部220と、領域セグメンテーション部230と、文字認識部240と、設置物検出部250と、統合部260と、出力部270とを含む。
【0024】
入力部210は、
図1に示した入力部100Aから入力された、物件の二次元間取り図画像の入力を受けるインタフェースである。入力部210は、入力された間取り図画像を、線分検出部220、領域セグメンテーション部230、文字認識部240、及び設置物検出部250にそれぞれ出力する。
【0025】
線分検出部220は、間取り図画像を解析することにより、壁に相当すると推定される線分を検出する。線分検出部220の処理の詳細は
図3を参照しながら後述する。
【0026】
領域セグメンテーション部230は、間取り図画像を解析することにより、各々の部屋に相当すると推定される領域セグメンテーションを検出する。領域セグメンテーション部230の処理の詳細は
図4を参照しながら後述する。
【0027】
文字認識部240は、間取り図画像を解析することにより、間取り図画像に含まれる文字列を検出する。例えば、
図3(a)や
図5に示した間取り図画像の例であれば、「和室6」、「洋室6.5」、「DK7」、「洋室4.5」、「玄関」、「押入」、「物置」、「バルコニー」等の文字列を文字認識部240は検出することができる。文字認識部240は、後述の
図10に示すように、検出された文字列をキーとして部屋種類辞書1001を参照することで、どのような部屋の種類を示す文字列であるかを特定することができる。例えば、「DK」という文字列が「ダイニングキッチン」を示すことを部屋種類辞書に登録されていれば、文字認識部240は、「DK7」という文字列が配置されている座標に対応付けて、「ダイニングキッチン」という情報を統合部260に出力することができる。また、「7」「6.5」等の数字が検出されれば、当該数字は例えば部屋の畳数等に相当する情報と考えられるため、文字認識部240は数字を、文字列が配置されている位置座標に対応付けて統合部260に出力しても良い。
【0028】
設置物検出部250は、間取り画像を解析することにより、間取り図画像に含まれる記号等から設置物を検出する。例えば、便器記号(トイレ)、浴槽記号(風呂)、ドア記号、システムキッチン記号(台所)等を設置物検出部250は検出する。設置物検出部250による検出処理は、
図6を参照しながら後述する。
【0029】
統合部260は、線分検出部220、領域セグメンテーション部230、文字認識部240、及び設置物検出部250による解析結果を統合して間取り図解析結果を生成する。当該統合方法については、
図9乃至
図11を参照しながら後述する。
出力部270は、統合部260により生成された間取り図解析結果を、3Dモデル生成のためにモデル生成部300へと出力するインタフェースである。
【0030】
[2.2.1 線分検出部220の処理]
以下、線分検出部220による処理の実施形態を
図3で画像の具体例を参照しながら説明する。
図3(a)は、線分検出部220に入力される間取り図画像の具体例である。
【0031】
線分検出部220は、入力された間取り図画像(
図3(a))に対し、まず、各画素が0〜255のいずれかの画素値を持つグレースケールに変換する。その上で、線分検出部220は、画素値が閾値(例えば100)以上の場合に白、閾値未満の場合に黒となるように、画素値を2値化したモノクロ2値化画像を生成する。
図3(b)に、
図3(a)の間取り図画像を2値化したモノクロ画像の具体例を示す。なお、
図3(b)の例では、白と黒が反転されている。
【0032】
次に、線分検出部220は、生成されたモノクロ2値化画像に対して収縮処理を行う。以下、収縮処理について簡単に説明する。収縮処理では、処理対象画素の近傍領域内の各画素の画素値のうち、最小のものを当該処理対象画素の画素値とする。例えば、処理対象画素を中心とする3画素×3画素を近傍領域とすると、その3画素×3画素内に値が0(黒)の画素が1つでもあれば、処理対象画素の画素値は0となる。一方、近傍領域内の全ての画素の画素値が1(白)であれば、処理対象画素の画素値は1となる。なお、収縮処理の反対となる膨張処理では、処理対象画素の近傍領域内の各画素の画素値のうち、最大のものを当該処理対象画素の画素値とする。例えば、処理対象画素を中心とする3画素×3画素を近傍領域とすると、その3画素×3画素内に値が1(白)の画素が1つでもあれば、処理対象画素の画素値は1となる。反対に、近傍領域内の全ての画素の画素値が0(黒)であれば、処理対象画素の画素値は0となる。なお、収縮処理や膨張処理において、近傍領域のサイズは任意であり、例えば4画素×4画素等、任意の領域を近傍領域として設定することができる。
【0033】
図3(b)に示した2値化画像に対して収縮処理を行った結果を
図3(c)に示す。
図3(c)に示すとおり、収縮後の画像では、
図3(b)において太く描かれていた壁部分が少し細い線で表現されるとともに、壁よりも細い線で描かれていた窓や台所等の設置物を表現していた線や、文字列等がほぼ消えている。
【0034】
なお、太い文字が間取り図に含まれている場合には、収縮処理を行っても消えずに残り、壁として検出されてしまう可能性がある。そこで、間取り図画像に対して予め文字検出処理を施し、文字列として判定された箇所を、文字列の周辺領域の色で予め塗りつぶす前処理を行うことも考えられる。
【0035】
続いて線分検出部220は、収縮処理後の画像に対して線分検出を行う。線分検出処理の手法は種々考えられるが、例えば確率的ハフ変換を用いることが考えられる。確率的ハフ変換では、
図3(c)に具体例を示した収縮処理後の画像に対し、まず、より多くの特徴点(本実施形態では、画素値が白となる画素)を通る直線をハフ変換により検出する。次に線分検出部220は、検出された直線の内、特に高い確率で線が存在する部分(線分)を検出する。
【0036】
なお、線分検出の方法は確率的ハフ変換を用いる手法に限られるものではなく、例えば、線分検出器(LSD:Line Segment Detector)を用いる手法等も考えられる。
【0037】
図3(d)に、
図3(c)に示した画像に対して、線分検出部220による線分検出処理がなされた画像の具体例を示す。
図3(d)に示すとおり、
図3(a)に示した間取り図画像において壁として表現されていた箇所が、各々線分として表現されている。
【0038】
更に線分検出部220は、線分検出処理により検出された各々の線分に対して、1つの線から派生して生成されたと考えられる線分をまとめるクラスタリング処理を行う。線分検出の元となる線が太い場合や画像の状態によっては、線分検出処理の結果、1つの壁に対して2本の線分が検出される場合がある。よって、一方の線の始点及び終点座標が他方の線の線上に近いか否かを判定し、一方の線の始点及び終点のいずれもが、他方の線に近ければ、当該一方の線を他方の線と纏めるクラスタリング処理を線分検出部220は行う。
図3(e)に、
図3(d)の線分検出結果に対してクラスタリング処理を行った後の画像例を示す。この結果得られている線分は、間取り図画像において壁に相当する部分であると捉えることができる。
【0039】
[2.2.2 領域セグメンテーション部230の処理]
続いて領域セグメンテーション部230による処理の実施形態を
図4で画像の具体例を参照しながら説明する。
図4(a)は、領域セグメンテーション部230に入力される間取り図画像の具体例である。
【0040】
領域セグメンテーション部230は、まず、入力された間取り図画像に対して文字列検出を施す。その結果、文字列として判定された箇所を、領域セグメンテーション部230は文字列の周辺領域の色で塗りつぶす文字消し処理を前処理として行う。
図4(b)に文字消し処理を行った後の画像例を示す。
【0041】
領域セグメンテーション部230は、文字消し処理を行った画像に対して2値化処理を施すことにより、
図4(c)に具体例を示す2値化画像を生成する。2値化画像の生成方法については
図3を参照しながら上述したため、ここでは省略する。
【0042】
領域セグメンテーション部230は、生成した2値化画像に対してモルフォロジー演算のオープン(Open)処理を行う。オープン処理は、処理対象の画像に対して、膨張処理を施してから収縮処理を行うことを言う。なお、膨張処理及び収縮処理の組み合わせは複数回行っても良い。膨張処理及び収縮処理については、
図3を参照しながら上述したため、ここでは説明を省略する。
図4(d)にオープン処理後の画像の具体例を示す。
図4(d)の例を見ると、
図4(a)の間取り図画像において窓や引き戸等を表現していた部分の多くが太く黒い線となり、壁と同様に表現されていることがわかる。
【0043】
領域セグメンテーション部230は、オープン処理により生成された画像に対して、セグメンテーション処理を施す。当該セグメンテーション処理において領域セグメンテーション部230は、2値化された画像において、同じ画素値が連続している領域を抽出することにより、画像を複数の領域を分割する。このようにして生成された領域は、間取り図画像上、部屋に相当する部分であると推測される。
【0044】
なお、領域セグメンテーション処理は
図4を参照しながら上述した手法に限られるものではない。例えば、セグメンテーション処理前に、上記以外の各種処理を加えることにより精度を向上させることも考えられる。或いは、2値化画像を生成せずに、色特徴を利用してセグメンテーションを行っても良い。この場合には、色特徴やテクスチャ特徴等を用いて、類似する特徴の領域を、同一のセグメンテーションを示す領域として判定することができる。この他、セグメンテーション手法としては、例えば、グラフカットや領域成長、エッジ検出、深層学習(畳み込みニューラルネットワーク)、統治分割法等を用いることも考えられる。
【0045】
[2.2.3 設置物検出部250の処理]
設置物検出部250の処理の実施形態を、
図5乃至
図8を参照しながら説明する。設置物検出部250は、先述の通り、間取り図画像に、記号(以下、設置物記号ともいう。)として描写される設置物を検出する。検出対象の設置物としては、例えば、便器(トイレ)、浴槽(風呂)、ドア、システムキッチン(台所)等が考えられる。ここでは、ドアを検出する場合を中心に説明する。
図5に示した間取り図画像の例であれば、玄関のドアに相当するドア記号51、及びトイレのドアを示すドア記号52が間取り図画像に含まれている。設置物検出部250は当該ドア記号51及び52を検出する。
【0046】
以下、
図6を参照しながら、設置物検出部250による処理の流れを説明する。まず、設置物検出部250は、
図6(a)に具体例を示す間取り図画像に対し、2値化等の各種画像処理を行う。
図6(b)は、画像処理後の画像例を示している。次に設置物検出部250は、当該画像処理後の画像を順次走査することにより(
図6(c))、記号候補領域を抽出する(
図6(d))。この際、記号候補領域のサイズを変えながら複数回走査することで、様々な大きさで記号候補領域を抽出することができる。
【0047】
なお、記号候補領域の抽出方法は、対象画像上の走査に限られるものではない。例えば、セレクティブ・サーチ(Selective Search)により、ピクセルレベルで類似する領域をグルーピングしていくことで、記号候補領域を選出することも考えられる。
【0048】
このようにして生成された記号候補領域の各々に対して、設置物検出部250は特徴量を算出する。設置物検出部250が記号候補領域に対して算出する特徴量は種々考えられるが、例えば、HOG(Histograms of Oriented Gradients)特徴量が考えられる。HOG特徴量を用いる場合には、まず設置物検出部250は、入力画像(ここでは記号候補領域)を例えば8画素×8画素等のブロックに分割する。次に設置物検出部250は、当該ブロック内に含まれる各々のピクセルに対して、画像の明るい部分から暗い部分へ向けた、局所領域での輝度勾配(エッジ方向)を算出する。この輝度勾配をブロック内で集計することで、輝度勾配のヒストグラムがブロックの数だけ生成される。このヒストグラムの集合が、HOG特徴量となる。なお、設置物検出部250が算出する特徴量はHOG特徴量に限られるものではなく、例えば、SIFT(Scale−Invariant Feature Transform)、SURF(Speeded Up Robust Features)、LBP(Local Binary Pattern)等、他の特徴量であっても良い。
【0049】
このようにして算出された、各々の記憶候補領域の特徴量を、検出対象となる設置物記号(ここではドア記号)を検出するための検出器に入力することで、記憶候補領域が検出対象の設置物記号であるか否かを判定することができる。
【0050】
以下、設置物記号(ここではドア記号)を検出するための検出器の生成方法の実施形態を、
図7乃至
図8Bを参照しながら説明する。
図7は、設置物記号を検出する検出器の生成を情報処理装置70の機能構成を示す図である。
図7に示すとおり、情報処理装置70は、入力部71と、画像特徴量算出部73と、機械学習モデル生成部75と、出力部77とを含む。
【0051】
入力部71は、検出器となる機械学習モデルを生成するために必要となる正解データ及び不正解データ(以下、総称して教師データともいう。)の入力を受ける。
図8に、入力部71に入力される正解データ及び不正解データの具体例を示す。入力データは、正解データであるか不正解データであるかを示す情報(例えばフラグ)と、画像との組み合わせで構成される。
【0052】
画像特徴量算出部73は、入力された教師データの画像から、画像特徴量を算出する。この際算出する特徴量は、上述の設置物検出部250で算出する特徴量と同一であれば、HOG、SIFT、SURF、LBP等、いずれを用いても良い。
【0053】
機械学習モデル生成部75は、算出した画像特徴量と、正解データであるか不正解データであるかの情報とを用いて、機械学習を行う。機械学習の手法は種々考えられるが、例えば、畳み込みニューラルネットワークによる深層学習等が考えられる。当該学習方法においては、教師データの入力毎に、機械学習モデルであるニューラルネットワークを構成するノードのパラメータが変化する。多数の教師データ入力により、機械学習モデルは、好適に正解であるか不正解であるか(ドア画像であるか否か)を判別できるようになる。
出力部77は、このようにして生成された機械学習モデルを、設置物記号を検出するための検出器として出力する。
【0054】
なお、上述の設置物検出部250の実施形態では、入力された間取り図画像に対して、記号候補領域を選択した上で、機械学習モデルである検出器に記号候補領域を入力することにより、検出対象となる設置物を検出していたが、これに限られるものではない。例えば、記号候補領域の選定から検出対象となる設置物記号の判別までを行う深層学習手法、例えばFaster R−CNNを用いて設置物検出部250が設置物を検出することも考えられる。
【0055】
[2.2.4 統合部260の処理]
統合部260の処理の実施形態を、
図9乃至
図11を参照しながら説明する。先述の通り、統合部260は、線分検出部220、領域セグメンテーション部230、文字認識部240、及び設置物検出部250による検出結果を統合することにより、間取り図解析結果を生成する。
【0056】
まず、線分検出部220による検出結果と、領域セグメンテーション部230による検出結果との統合方法を、
図9を参照しながら説明する。先述の通り、入力部210に入力された間取り図画像(
図9(a))に対し、線分検出部220は、物件の壁に相当する線分を検出する(
図9(b))。領域セグメンテーション部230は、間取り図画像(
図9(a))に対して部屋に相当する領域を検出する(
図9(c))。
【0057】
ここで一般的に、各々の部屋は、壁、窓、ドア、引き戸等により周囲を囲われる。よって、領域セグメンテーションの結果部屋として検出された各領域(以下、部屋領域)は、線分検出の結果壁として検出された線分に加え、窓やドア等で囲われるべきだと考えられる。そこで統合部260は、線分検出部220による検出結果と、領域セグメンテーション部230による検出結果とを、位置を合わせて照合する(
図9(d))。その結果、部屋領域の周囲に線分の開放部分があれば(
図9(d)の点線部分)、当該部分を窓やドア、引き戸に相当する部分に統合部260は設定する。具体的には、例えば、外部との開放部分は窓やドアに、部屋領域間の境界部分は引き戸やドアに設定することができる。このような処理により統合部260は部屋構造を得ることができる。なお、ドア部分については、設置物検出部250によるドア記号の検出結果を用いることもできる。この場合、ドアとして検出された以外の部分を、引き戸や窓として設定すれば良い。
【0058】
次に、領域セグメンテーション部230による検出結果と、文字認識部240や設置物検出部250による検出結果との統合方法を、
図10を参照しながら説明する。
【0059】
先述の通り、領域セグメンテーション部230は、間取り図画像(
図10(a))から部屋に相当する領域を検出する。しかしながら、部屋領域への分割だけでは、各部屋がどのような機能をもった部屋なのか(例えば、台所なのか、リビングなのか、洋室なのか、トイレなのか、等)はわからない。そこで統合部260は、文字認識部240や設置物検出部250による検出結果により部屋の種類等を特定する。
【0060】
先述の通り、文字認識部240は、間取り図画像(
図10(a))中に含まれる文字列を検出する。
図10の例であれば、
図10(c)中点線で囲われた、「DK7」「洋室4.5」「和室6」「押入」「玄関」等の文字列が検出される。文字認識部240は、当該検出した文字列をキーとして部屋種類辞書1001を参照することで、部屋の種類である「ダイニングキッチン」「洋室」「和室」「押入れ」等を特定することができる。統合部260は、「ダイニングキッチン」等の部屋の種類を特定することになった文字列(この例では「DK7」)の位置と、領域セグメンテーション部230により検出された領域とを照合することで、どの領域が「ダイニングキッチン」に相当するかを特定することができる。なお、各部屋の広さ(畳数)の情報も、間取り図画像の文字列から文字認識部240が特定し、各部屋と対応付けても良い。
【0061】
設置物検出部250は、先述の通り間取り図画像(
図10(a))中に含まれる設置物記号を検出する。
図10の例であれば、
図10(c)中破線で囲われた、便器(トイレ)、浴槽(風呂)、システムキッチン(台所)等の設置物記号が検出される。よって統合部260は、それらの設置物記号の位置と、領域セグメンテーション部230により検出された領域とを照合することで、どの領域が「トイレ」や「風呂」に相当するかを特定することができる。
【0062】
続いて、
図9を参照しながら説明した処理により得られた補完後の部屋構造(
図11(a))と、
図10を参照しながら説明した処理により得られた部屋の種類情報(
図11(b))との統合処理について、
図11を参照しながら説明する。なお、
図11(a)に示す補完後の部屋構造では、壁と推定される部分、ドアと推定される部分、引き戸と推定される部分、窓と推定される部分は、それぞれ区別して管理される。先述の通り、例えば、ドア記号により特定された部分をドア、部屋間の補完部分を引き戸、外部と部屋との間の補完部分を窓として管理することができる。
【0063】
統合部260は、
図11(a)に示した補完後の部屋構造と、
図11(b)に示した部屋種類特定後の部屋とを照合する(
図11(c))。その上で統合部260は、当該間取りにおける部屋構造をグラフ化して表現する(
図11(d))。当該グラフ構造では、部屋がノードとして表現されている。
図11(d)の例では、「ダイニングキッチン」は「DK」、「玄関」は「玄」として簡略化して表示されている。部屋間の接続関係(窓やドア、引き戸等)はリンクとして表現されている。例えば、ダイニングキッチンと洋室が引き戸でつながっていると推定される場合には、ダイニングキッチンのノードと洋室のノードとの間にリンクが設定される。
【0064】
このようにして生成された部屋構造のグラフにおいて、どの部屋とも繋がっていない部屋があれば、推定した部屋構造に誤りがあると考えられる。よってこの場合には、間取り識別部200は再度、線分検出処理や部屋構造の補完処理等を、パラメータ等を変えてやり直す。
もし生成された部屋構造グラフに大きな問題がなければ、
図11(c)に具体例を示したものが間取り解析結果として出力部270に渡される。
【0065】
[2.3 モデル生成部300の機能構成]
続いて、モデル生成部300の機能構成を、
図12を参照しながら説明する。
図12に示すとおり、モデル生成部300は、入力部310A及び310Bと、スケール推定部320と、室内情報抽出部330と、周辺風景生成部340と、家具配置生成部350と、3Dモデル生成部360とを含む。
【0066】
入力部310Aは、
図1に示した間取り識別部200から出力された間取り図解析結果の入力を受ける。また入力部310Bは、
図1に示した入力部100Bから入力された各種物件情報の入力を受ける。入力部100Bから入力される物件情報には、例えば、物件の室内で撮影された写真、位置情報(住所や緯度経度等)、方位、階数、築年数、専有面積等の情報が含まれる。
【0067】
スケール推定部320は、間取り解析結果に係る間取りのスケールを推定する。物件情報には専有面積の情報が含まれるが、間取り解析結果に係る間取りの外縁内の面積が当該物件の専有面積に相当すると考えられるため、両者の比率に応じて、スケール推定部320はスケールを算出する。
【0068】
室内情報抽出部330は、入力部310Bから入力された物件の室内画像を解析する。具体的には、テクスチャの抽出処理や部屋の構造解析(例えば部屋の高さの推定)等を室内情報抽出部330は行う。室内情報抽出部330の処理の詳細は、
図13及び
図14を参照しながら後述する。
【0069】
周辺風景生成部340は、物件の窓等から見える昼夜の風景情報や日差し情報を生成する。具体的には、入力部310Bから、物件の位置情報(例えば、緯度経度情報や住所情報)や物件の向きの情報、階数情報(高さ情報)が入力されれば、周辺風景生成部340は、風景情報をインターネット上の風景生成サービス(例えば、Google(登録商標) Earth)、天体情報及び日照時間データ等から取得する。
【0070】
家具配置生成部350は、物件の3Dモデルにどのような家具が配置できるかをユーザがイメージできるように、3D家具情報を生成する。この時、生成する3D家具情報は、例えば、家具を配置する部屋の種類毎に予め用意することができる。リビングであればソファとテーブル、ダイニングであればダイニングテーブルとダイニングチェアの組み合わせ等を、事前準備の3D家具モデルとして用意すれば良い。物件の3Dモデルに配置する家具のスケールは、スケール推定部320が推定したスケールに合わせて調整可能である。なお、物件の3Dモデルに3D家具モデルを配置しないのであれば、家具配置生成部350は不要である。
【0071】
3Dモデル生成部360は、入力された間取り図解析結果と、スケール推定部320、室内情報抽出部330、周辺風景生成部340、及び家具配置生成部350が生成した情報とを統合して、物件の3Dモデルを生成する。具体的には、例えば、間取り図解析結果により得られる2次元の間取りに対して、室内情報抽出部330が検出した高さを持たせることで、物件の3次元化ができる。更に、当該3次元化された物件に対して、室内情報抽出部330が抽出した床や壁等のテクスチャ情報を適用することで、テクスチャを含む3次元モデルが生成される。これに、周辺風景生成部340が生成した風景情報や、家具配置生成部350が生成した3D家具モデルを組み合わせれば、窓から見える眺望や室内に配置される家具等も3Dモデル上で再現される。3Dモデル生成部360の処理の一部は、
図15を参照しながら後述する。
【0072】
[2.3.1 テクスチャ抽出処理]
以下、
図13を参照しながら、室内情報抽出部330による室内画像からのテクスチャ抽出処理を説明する。先述の通り、室内情報抽出部330は、物件情報の一部として入力された室内画像から、物件内部の壁や床、天井のテクスチャを抽出する処理を行う。当該抽出されたテクスチャは、3Dモデル生成部360により3Dモデルが生成される際に、壁や床に適用される。そのためには、処理対象の室内画像が、どの部屋(キッチンであるか、リビングであるか等)の画像であるかを特定する必要がある。また、床や壁等に適用すべきテクスチャを画像中のどの部分から抽出すべきかを特定しなければならない。
【0073】
室内画像がどの種類の部屋に対応するかは、例えば、深層学習により生成した識別器により判定することができる。部屋を判別するための識別器は、例えば、
図7及び
図8を参照しながら説明した設置物記号を検出するための検出器と同様の方法で生成できる。具体的には、例えば、正解データであるキッチンの多数の画像と、不正解データであるキッチン以外の画像、例えば風呂やリビングの多数の画像とを教師データとして入力し、深層学習により生成可能である。このような識別器を部屋の種類の数だけ用意し、例えば最も可能性の高い種類の部屋を、入力された室内画像が対応する部屋とすることができる。
【0074】
次に、テクスチャの抽出について説明する。テクスチャ、即ち対象物の色・模様・想定される素材等の抽出に際しては、まず、室内写真のどの部分に何が写っているかを特定し、その上で、例えば壁が写っている部分や床が写っている部分の特徴を解析する。よって、まずは写真内のどの位置に何が写っているかを特定するためにセグメンテーションする必要がある。
【0075】
セグメンテーション処理は、例えば、深層学習モデルにより行うことができる。まず、室内写真に対し、どの領域が、壁、ソファ、ベッド、テーブル等の何に対応するかを人手でタグ付けした、教師データを用意する。当該教師データを、セグメンテーション用に設計された深層学習モデルで学習させる。このようにして生成された学習後の深層学習モデルに対し、処理対象の室内写真を入力することで、
図13(c)に例示する、セグメンテーション後の画像が生成される。この結果、壁や床、台所等として検出された領域(例えば、その部屋の特徴的な部分について
図13(c)中、点線領域)を、テクスチャとして抽出すれば良い。
【0076】
[2.3.2 部屋画像の構造解析]
以下、
図14を参照しながら部屋画像の構造解析を説明する。部屋画像の構造解析を、間取り解析結果などと組み合わせれば、部屋の天井の高さ等を推定することが可能である。
【0077】
図14(a)に記載した室内画像が入力され、当該室内画像に対して線分検出処理を行うと、
図14(b)に示すような画像が生成される。
図14(b)において、検出された線分は太線で示されている。
図14(b)を見ると、壁の境界や床と壁の境界、ドアと壁の境界等に加え、床の突板の境界の一部等も、線分として検出されている。
【0078】
線分検出結果を、エネルギー関数に適用する。当該エネルギー関数は、線分の長さや交差、角の構成等を考慮して定義されるものである。例えば、長く、画像の端で交差し、3点で角を構成する線分ほど、部屋を構成する境界線分である可能性が高いものとしてエネルギー関数を定義できる。よって、
図14(b)に示す線分検出に、このようなエネルギー関数を適用すると、
図14(b)に示すように、壁間の境界や、床と壁の境界、壁と天井の境界等が線分として検出されている。
【0079】
このようにして、部屋の構造を構成する、壁間の境界や床と壁の境界や、壁と天井の境界の線分が特定されれば、間取りの幅と、天井の高さとの比が特定できる。よって、3Dモデル生成部360において、間取り図解析結果と物件の広さとから推定される物件の縮尺と、室内情報抽出部330での構造解析結果とを組みわせることにより、天井高を推定することができる。
【0080】
なお、3Dモデル生成部360における天井高の推定方法はこれに限られるものではない。例えば、建築年に応じて建築基準が異なることを利用する手法も考えられる。この場合には、建築年毎に平均的な天井高のテーブルを予め用意しておき、物件情報から取得される建築年に応じた天井高を適用することも考えられる。また、施主の種別、例えば公社などの物件等で仕様の規格化が見られるような場合は、この規格のテーブルを用意する。
【0081】
[2.3.3 テクスチャ適用処理]
以下、3Dモデル生成部360に係る一部の処理の実施形態を説明する。先述の通り、室内情報抽出部330において、どの種類の部屋において、床や壁、天井等に、どの種類のテクスチャを適用すべきかが特定される。そこで、3Dモデル生成部360は、間取り図解析結果中で、種類が合致する部屋の床や壁、天井等に、室内情報抽出部330において抽出されたテクスチャを適用すれば良い。
【0082】
或いは、部屋を周状に撮影したパノラマ画像が取得できる場合には、位置合わせをした上で、当該パノラマ画像をそのままテクスチャとして貼り付けることも考えられる。パノラマ画像の具体例を
図15(a)に示す。室内情報抽出部330は、当該画像に対して曲線補正する。また室内情報抽出部330は、セグメンテーションにより写っている構造物を特定するとともに、それらの位置関係(相対角度)を特定する(
図15(b))。
【0083】
その情報を受け取った3Dモデル生成部360は、間取り図解析結果に含まれる各部屋の構造物の内、構造物の相対的な位置関係が合致する部屋を探す。例えば、扉と窓、収納扉の相対的な角度が、パノラマ画像から特定された相対的な角度と略合致する部屋があれば、当該部屋とパノラマ画像が対応することがわかる。よって3Dモデル生成部360は、当該部屋のテクスチャとして、構造物の位置合わせをした上でパノラマ画像を適用すれば良い。
【0084】
[3 ハードウェア構成]
図16を参照しながら、情報処理装置1のハードウェア構成について説明する。
図16に示すように、情報処理装置1は、制御部1601と、通信インタフェース(I/F)部1605と、記憶部1607と、表示部1611と、入力部1613とを含み、各部はバスライン1615を介して接続される。
【0085】
制御部1601は、CPU(Central Processing Unit。図示せず)、ROM(Read Only Memory。図示せず)、RAM(Random Access Memory)1603等を含む。制御部1601は、記憶部1607に記憶される制御プログラム1609を実行することにより、一般的なコンピュータとしての機能に加え、上述した間取り図画像や物件情報からの3Dモデル生成処理を実行可能に構成される。例えば、
図1を参照しながら説明した入力部100A及び100B、間取り識別部200、モデル生成部300及び出力部400は、RAM1603に一時記憶された上で、CPU上で動作する制御プログラム1609として実現可能である。
【0086】
また、RAM1603は、制御プログラム1609に含まれるコードの他、入力される間取り図画像やその他物件情報等の一部又は全部を一時的に保持する。更にRAM1603は、CPUが各種処理を実行する際のワークエリアとしても使用される。
【0087】
通信I/F部1605は、必要に応じて外部装置との間で、有線又は無線によるデータ通信を行うためのデバイスである。例えば、間取り図画像やその他の物件情報は、通信I/F部1605から受信したものであり得る。また、作成した3Dモデルは、通信I/F部1605を介して、例えばネットワークを介してクライアント端末に送信可能である。
【0088】
記憶部1607は、例えばHDD(Hard Disk Drive)やフラッシュメモリ等の不揮発性の記憶媒体である。記憶部1607は、一般的なコンピュータとしての機能を実現するためのオペレーティングシステム(OS)やアプリケーション及びデータ(図示せず)を記憶する。また記憶部1607は、制御プログラム1609を記憶する。前述のとおり、
図1に示した入力部100A及び100B、間取り識別部200、モデル生成部300、及び出力部400は、制御プログラム1609に含むことができる。
【0089】
表示部1611は、ユーザに各種情報を提示するためのディスプレイ装置である。表示部1611の具体例としては、例えば液晶ディスプレイや有機EL(Electro−Luminescence)ディスプレイ等が挙げられる。出力部400により出力された3Dモデルは、表示部1611が表示可能である。
【0090】
入力部1613は、管理者から入力を受け付けるためのデバイスである。入力部1613の具体例としては、キーボードやマウス、タッチパネル等を挙げることができる。
【0091】
なお、情報処理装置1は、表示部1611及び入力部1613を必ずしも備える必要はない。また表示部1611及び入力部1613は、USB(Universal Serial Bus)やディスプレイポート等の各種インタフェースを介して外部から情報処理装置1に接続されても良い。
【0092】
[4 本実施形態の効果]
以上説明したように、本実施形態に係る情報処理装置1は、間取り図画像や室内撮影写真等を含む物件情報から自動的に不動産物件の3Dモデルを生成する。これにより当該情報処理装置は、生成した3Dモデルを元に、バーチャルリアリティでの室内の閲覧や、インテリアのシミュレーションを可能とする。また、当該3Dモデルのバーチャル空間内での不動産会社の営業担当と通話により、内覧案内等も可能となる。加えて、インテリアコーディネータにより当該バーチャル空間内でインテリアの提案を受けることにより、物件の販売から家具の販売までを一本化することも可能となる。
【0093】
[5 付記]
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【解決手段】間取り図画像に基づいて間取り情報を生成する間取り識別部と、間取り情報を用いて3次元モデルを生成するモデル生成部とを備える。間取り識別部は、間取り上の壁に相当する線分を検出する線分検出部と、間取り上の部屋に相当する部屋領域を特定するセグメンテーション処理部と、間取り図画像に含まれる文字列を認識する文字認識部と、間取り図画像に含まれる設置物記号を検出する設置物検出部と、部屋領域の部屋の種類を特定すると共に、部屋構造を補完する統合部とを備える。モデル生成部は、間取りの縮尺を推定する推定部と、間取り情報により特定される間取りと、縮尺と、推定される天井高とに基づいて、不動産物件の3次元モデルを生成する生成部とを備える。