(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022068596
(43)【公開日】2022-05-10
(54)【発明の名称】情報処理装置及び、プログラム
(51)【国際特許分類】
G06T 7/50 20170101AFI20220427BHJP
G06Q 50/16 20120101ALI20220427BHJP
G06T 7/60 20170101ALI20220427BHJP
【FI】
G06T7/50
G06Q50/16 300
G06T7/60 200G
【審査請求】有
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2020177365
(22)【出願日】2020-10-22
(11)【特許番号】
(45)【特許公報発行日】2021-05-19
(71)【出願人】
【識別番号】517158083
【氏名又は名称】株式会社スペースリー
(74)【代理人】
【識別番号】230122390
【弁護士】
【氏名又は名称】石原 一樹
(72)【発明者】
【氏名】南木 晴雄
(72)【発明者】
【氏名】植木 拓
【テーマコード(参考)】
5L049
5L096
【Fターム(参考)】
5L049CC29
5L096DA02
5L096FA03
5L096FA66
5L096FA67
5L096FA69
(57)【要約】
【課題】パノラマ画像から部屋の各部位の寸法を算出し、かつ部屋の3D空間としての形を正確に把握する。
【解決手段】パノラマ画像内における基準線長さを取得し、基準線長さと他の部位の直線の長さとの比率を算出し、当該比率に基づいて予め付与された基準線の実際長さを示す基準線実測値から各直線の長さを算出する算出部38と、パノラマ画像から、画像中に表示される各部位を部屋の構成要素として分類して認識するとともに、部屋の形を示す3DデータであるVR立体画像へと変換するVR立体画像情報処理部39を備える。
【選択図】
図4
【特許請求の範囲】
【請求項1】
撮影された部屋のパノラマ画像の入力を受け付ける入力部と、
入力された前記パノラマ画像から直線を抽出する直線抽出部と、
抽出された前記直線のうち、互いに平行となるよう想定される直線が、前記パノラマ画像内で平行となるよう傾きを補正する補正処理部と、
前記パノラマ画像において予め設定された基準部位に該当する直線を基準線として検出する基準線検出部と、
前記パノラマ画像内における基準線長さを取得し、前記基準線長さと他の部位の直線の長さとの比率を算出し、当該比率に基づいて予め付与された前記基準線の実際長さを示す基準線実測値から各直線の長さを算出する算出部と、
家具の家具モデリングデータ、テクスチャデータ及び縦、横、高さの寸法データを含む家具情報記憶部と、
前記パノラマ画像から、画像中に表示される各部位を部屋の構成要素として分類して認識するとともに、部屋の形を示す3DデータであるVR立体画像へと変換するVR立体画像情報処理部と、
前記VR立体画像を記憶するVR立体画像情報記憶部と、
前記家具の寸法データと、前記基準線実測値との比率に基づいて家具の家具モデリングデータの大きさを自動で調整して、前記VR立体画像内に配置可能とする家具配置処理部と、
前記VR立体画像を描画する描画部と、
を備え、
前記描画部は配置された前記家具の家具モデリングデータを前記VR立体画像内に描画する
ことを特徴とする情報処理装置。
【請求項2】
前記VR立体画像情報処理部は、前記パノラマ画像中の構成要素をピクセル単位で推定する深層学習と、前記パノラマ画像中の部屋の壁や床のコーナーを推定する深層学習とを併用して、前記構成要素の認識を行う
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記パノラマ画像は、メタデータとして撮影時の傾きを示す傾きメタ情報を含んでおり、
前記補正処理部は、抽出された前記直線のうち、前記パノラマ画像中における傾きが、前記傾きメタ情報と比較して所定の値より大きい直線は平行に傾き補正する処理から除外する
ことを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記基準線長さを、利用者が入力して設定可能である
ことを特徴とする請求項1~3のいずれか一項に記載の情報処理装置。
【請求項5】
前記家具配置処理部は、選択された前記家具の家具モデリングデータを配置する際に、いずれの前記構成要素に対する配置の優先度を算出し、前記家具モデリングデータを、高い前記優先度数値が付与された前記VR立体画像内の構成要素に対して自動的に配置する
ことを特徴とする請求項1~4のいずれか一項に記載の情報処理装置。
【請求項6】
前記家具記憶部において、所定の家具においては、対となる家具の識別情報が、セット家具として設定されており、
前記家具配置処理部は、前記セット家具が設定された家具の前記家具モデリングデータを予め設定された所定の位置関係に従って 前記VR画像データ内に配置する
ことを特徴とする請求項5に記載の情報処理装置。
【請求項7】
前記家具配置処理部は、前記VR立体画像における壁と、前記家具VR画像との接触判定を行い、接触が起こらない位置において前記家具VR画像を配置可能とする
ことを特徴とする請求項5、及び6のいずれか一項に記載の情報処理装置。
【請求項8】
前記描画部は、前記VR立体画像、及び前記家具モデリングデータを部屋における上方から俯瞰した視点で描画が可能であり、
前記家具配置処理部は、上方から俯瞰した視点で前記家具モデリングデータの移動の操作がされた場合に、前記家具モデリングデータの配置位置を変更可能である
ことを特徴とする請求項1~7のいずれか一項に記載の情報処理装置。
【請求項9】
コンピュータを、
撮影された部屋のパノラマ画像の入力を受け付ける入力部と、
入力された前記パノラマ画像から直線を抽出する直線抽出部と、
抽出された前記直線のうち、互いに平行となるよう想定される直線が、前記パノラマ画像内で平行となるよう傾きを補正する補正処理部と、
前記パノラマ画像において予め設定された基準部位に該当する直線を基準線として検出する基準線検出部と、
前記パノラマ画像内における基準線長さを取得し、前記基準線長さと他の部位の直線の長さとの比率を算出し、当該比率に基づいて予め付与された前記基準線の実際長さを示す基準線実測値から各直線の長さを算出する算出部と、
家具の家具モデリングデータ、テクスチャデータ及び縦、横、高さの寸法データを含む家具情報記憶部と、
前記パノラマ画像から、画像中に表示される各部位を部屋の構成要素として分類して認識するとともに、部屋の形を示す3DデータであるVR立体画像へと変換するR立体画像情報処理部と、
前記VR立体画像を記憶するVR立体画像情報記憶部と、
前記家具の寸法データと、前記基準線実測値との比率に基づいて家具の家具モデリングデータの大きさを自動で調整して、前記VR立体画像内に配置可能とする家具配置処理部と、
前記VR立体画像を描画する描画部と、
として機能させ、
前記描画部は配置された前記家具の家具モデリングデータを前記VR立体画像内に描画する
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、プログラムに関する。一例として、不動産物件の「部屋写真」および「間取り図」に関連する情報を処理することを可能とする情報処理装置、プログラムに関する。
【背景技術】
【0002】
不動産の物件案内には、通常、当該不動産の平面図としての間取り図が掲載されており、加えて、特定の部屋や設備に関してはそれらを撮影した写真が掲載されることがある。従来は、不動産物件の部屋写真(たとえば、廊下、居間、洋室、キッチン、トイレ、玄関、ベランダなどの写真)を撮影した場合、その写真に表示された部位の寸法や、間取り図との対応関係(たとえば、どの場所から撮影したものであるのか、どの方向に向かって撮影したものであるのか等)については、不動産業者等において手動で入力を行っていた。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Nam Vo et al. CVPR2019, Composing Text and Image for Image Retrieval - An Empirical Odyssey (arXiv:1812.07119)
【非特許文献2】Shuai Liao et al. CVPR 2019, Spherical Regression: Learning Viewpoints, Surface Normals and 3D Rotations on n-Spheres (arXiv:1904.05404)
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のとおり、物件の部屋写真については、従来から、物件案内等において掲載され、当該写真がどの場所ないし部屋の写真なのかを説明する物件説明が記載されてきた。現在、部屋の内覧の方式としては、VR(仮想現実)技術を用いて、遠隔にいても実際に部屋に訪問しているかのようにみることができるものも提供されている。この際、よりリアリティをもって部屋を内覧するためには、VRで閲覧している360度画像内に、様々な家具を配置してみて、どのように家具を配置できるかを試すことができるようにするのが望ましい。
【0005】
しかしながら、家具の3D画像を平面写真から生成した部屋のVR画像内に配置するためには、部屋の各部位の寸法が正確にわかり、かつ部屋の3D空間としての形を正確に把握する必要があり、これを各不動産の担当者が部位を実測して、実測値を入力するのではその作業負担が大きく、こうしたサービスが浸透しない一因ともなっていた。このような課題を発見した本件発明者らは、これらの課題を解決することのできる、より利便性の高い、不動産物件の部屋のVR閲覧に係る情報処理装置、コンピュータを当該情報処理装置として動作させる情報処理プログラムが求められることを認識し、本件発明に至ったものである。なお、その際、非特許文献1ないし2のような画像の認識に係る先行技術文献に接したものの、これらの文献に記載の技術では、本課題を解決することはできなかった。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明の実施形態は、撮影された部屋のパノラマ画像の入力を受け付ける入力部と、入力された前記パノラマ画像から直線を抽出する直線抽出部と、抽出された前記直線のうち、互いに平行となるよう想定される直線が、前記パノラマ画像内で平行となるよう傾きを補正する補正処理部と、前記パノラマ画像において予め設定された基準部位に該当する直線を基準線として検出する基準線検出部と、前記パノラマ画像内における基準線長さを取得し、前記基準線長さと他の部位の直線の長さとの比率を算出し、当該比率に基づいて予め付与された前記基準線の実際長さを示す基準線実測値から各直線の長さを算出する算出部と、家具の家具モデリングデータ、テクスチャデータ及び縦、横、高さの寸法データを含む家具情報記憶部と、前記パノラマ画像から、画像中に表示される各部位を部屋の構成要素として分類して認識するとともに、部屋の形を示す3DデータであるVR立体画像へと変換するVR立体画像情報処理部と、前記VR立体画像を記憶するVR立体画像情報記憶部と、前記家具の寸法データと、前記基準線実測値との比率に基づいて家具の家具モデリングデータの大きさを自動で調整して、前記VR立体画像内に配置可能とする家具配置処理部と、前記VR立体画像を描画する描画部と、を備え、前記描画部は配置された前記家具の家具モデリングデータを前記VR立体画像内に描画することを特徴とする。
【0007】
また、前記VR立体画像情報処理部は、前記パノラマ画像中の構成要素をピクセル単位で推定する深層学習と、前記パノラマ画像中の部屋の壁や床のコーナーを推定する深層学習とを併用して、前記構成要素の認識を行うようにするとさらに好適である。
【0008】
前記パノラマ画像は、メタデータとして撮影時の傾きを示す傾きメタ情報を含んでおり、前記補正処理部は、抽出された前記直線のうち、前記パノラマ画像中における傾きが、前記傾きメタ情報と比較して所定の値より大きい直線は平行に傾き補正する処理から除外するようにしてもよい。
【0009】
前記基準線長さを、利用者が入力して設定可能であるようにしてもよい。
【0010】
前記家具配置処理部は、選択された前記家具の家具モデリングデータを配置する際に、いずれの前記構成要素に対する配置の優先度を算出し、前記家具モデリングデータを、高い前記優先度数値が付与された前記VR立体画像内の構成要素に対して自動的に配置するようにしてもよい。
【0011】
前記家具記憶部において、所定の家具においては、対となる家具の識別情報が、セット家具として設定されており、前記家具配置処理部は、前記セット家具が設定された家具の前記家具モデリングデータを予め設定された所定の位置関係に従って 前記VR画像データ内に配置するようにしてもよい。
【0012】
前記家具配置処理部は、前記VR立体画像における壁と、前記家具VR画像との接触判定を行い、接触が起こらない位置において前記家具VR画像を配置可能とするようにしてもよい。
【0013】
前記描画部は、前記VR立体画像、及び前記家具モデリングデータを部屋における上方から俯瞰した視点で描画が可能であり、前記家具配置処理部は、上方から俯瞰した視点で前記家具モデリングデータの移動の操作がされた場合に、前記家具モデリングデータの配置位置を変更可能であるようにしてもよい。
【0014】
また、本実施形態として、コンピュータを、撮影された部屋のパノラマ画像の入力を受け付ける入力部と、入力された前記パノラマ画像から直線を抽出する直線抽出部と、抽出された前記直線のうち、互いに平行となるよう想定される直線が、前記パノラマ画像内で平行となるよう傾きを補正する補正処理部と、前記パノラマ画像において予め設定された基準部位に該当する直線を基準線として検出する基準線検出部と、前記パノラマ画像内における基準線長さを取得し、前記基準線長さと他の部位の直線の長さとの比率を算出し、当該比率に基づいて予め付与された前記基準線の実際長さを示す基準線実測値から各直線の長さを算出する算出部と、家具の家具モデリングデータ、テクスチャデータ及び縦、横、高さの寸法データを含む家具情報記憶部と、前記パノラマ画像から、画像中に表示される各部位を部屋の構成要素として分類して認識するとともに、部屋の形を示す3DデータであるVR立体画像へと変換するR立体画像情報処理部と、前記VR立体画像を記憶するVR立体画像情報記憶部と、前記家具の寸法データと、前記基準線実測値との比率に基づいて家具の家具モデリングデータの大きさを自動で調整して、前記VR立体画像内に配置可能とする家具配置処理部と、前記VR立体画像を描画する描画部と、として機能させ、前記描画部は配置された前記家具の家具モデリングデータを前記VR立体画像内に描画するようにしてもよい。
【発明の効果】
【0015】
本発明の一態様によれば、部屋のパノラマ画像において、部屋の構成要素の寸法を自動的に算出することができ、家具のモデリングデータを適切に配置することができるようになる。
【図面の簡単な説明】
【0016】
【
図1】
図1は、情報処理装置3(サーバ)の構成の一例を示す図である。
【
図2】
図2は、情報処理装置3、インターネット4、ユーザ端末装置5とを含む情報処理システム1の構成の一例を示す図である。
【
図3】
図3は、ユーザ端末装置の構成の一例を示す図である。
【
図4】
図4は、第1の実施形態の情報処理装置の機能構成を示すブロック図である。
【
図5】
図5は、第1の実施形態におけるパノラマ画像から直線を抽出した状態を示す図である。
【
図6】
図6は、第1の実施形態における立体画像生成処理にかかる処理の流れを示すフロー図である。
【
図7】
図7は、部屋の立体画像における傾きの補正の態様を示す図である。
【
図8】
図8は、部屋の構成要素の直線の長さを算出した態様を示す図である。
【
図9】
図9は、部屋の構成要素の直線の長さを再計算で算出した態様を示す図である。
【
図10】
図10は、VR立体画像生成処理の流れを示すフロー図である。
【
図11】
図11は、家具の配置処理の流れを示すフロー図である。
【
図12】
図12は、家具の自動配置処理の流れを示すフロー図である。
【
図13】
図13は、家具の自動配置の配置条件を設定する画面を示す図である。
【
図14】
図14は、VR立体画像内に家具のモデリングデータを配置した状態を示す図である。
【
図15】
図15は、VR立体画像を上方から見た状態で家具を配置する画面を示す図である。
【発明を実施するための形態】
【0017】
本発明の一実施形態を説明するフローチャートは、プロセスステップを意味しており、当該特定の例のみに限定されることなく、代替の実施態様を許容するものである。また、本明細書の明示の記載に反しない限りにおいて、プロセスステップは本明細書における特定の説明と異なる順序で実行することを許容するものである。このように、本発明の趣旨及び範囲から逸脱することなく本実施形態に対しては種々の変更を行うことができる。以下、本明細書においては、所定の部屋の「間取り図(画像)」と当該部屋の「部屋写真」を例にとって情報処理装置ないしは情報処理装置における情報処理内容を説明する。
【0018】
[物体の認識]
近時、物体の認識について、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)は、画像のクラス分類(画像認識)だけでなく、物体の位置や大きさの検出(物体検出)や形状の抽出(領域抽出)にも用いられ、例えば、物体検出には、リージョンCNNであるR-CNN(さらに、Faster R-CNN)、Yoloなどが、領域抽出にはSegNetや画像のセグメンテーションを推定するU-Net(U字型の畳み込みネットワーク)などのニューラルネットワークが用いられるようになってきている。
【0019】
たとえば、R-CNNでは、ある矩形が物体なのか背景なのかを学習し、検出した場所に具体的に何が写っているのかを学習する。また、U-Net(U字型の畳み込みネットワーク)では物体の「局所的特徴」と「全体的位置情報」の両方を統合して学習する。本発明ではこれらの既存技術、非特許文献1および2に記載の技術を用いる際、これらの既存技術に対する詳細な説明自体は省略し、それらの技術内容を参照により本明細書に組み込むものとする。
【0020】
[ハードウェア]
本発明の実施形態に係るハードウェアの基本的な構成を説明する。まず、情報処理装置3は、サーバを念頭に置いているが、たとえば、スマートフォンやタブレット端末などのモバイル端末、ノートブックコンピュータ、デスクトップコンピュータなどの電子機器であってもよい。情報処理装置3は、物理的な演算装置(CPUおよび/またはGPU、図示せず)、一時的な作業内容を記憶しておく作業メモリ(RAM、図示せず)等、情報処理装置として必須の物理的構成を備えている。
【0021】
図1に示すように、情報処理装置3は、通信部31を有する。通信部31は、インターネット等のネットワークを介して外部と通信可能に接続されている。なお、ネットワークは、有線回線、無線回線を問わない接続方法によるインターネットや、イーサネット(登録商標)等を利用したローカルエリアネットワーク等の公知のネットワーク接続方法を用いることができる。
【0022】
情報処理装置3は、画像データの処理等を行う制御部32を更に有する。本明細書において「制御部」として説明するものは、CPUおよび/またはGPUによって対応するプログラムが読みだされ、CPUおよび/またはGPUによって実行される機能を意味する。制御部32は、情報処理装置3内のプロセッサが所定のプログラムを実行することにより実現されてもよいし、ハードウェアで実装されてもよい。
【0023】
情報処理装置は、記憶部33を更に有する。記憶部33には、制御部32が取り扱う各種データが記憶される。記憶部33は、たとえば内蔵ハードディスクドライブ、内臓ソリッドステートドライブ、外部データストレージ(たとえば外付けハードディスクドライブ、サーバ用テープドライブ等)などのデータストレージであり、場合によってはクラウドストレージなどのデータストレージであってもよい。その意味で、本発明は、制御部32と記憶部33とは別の情報処理装置を用いるという態様を許容する。
【0024】
なお、情報処理装置3はさらに入力部、表示部を備えていてもよい(図示せず)が、これらは必須の構成ではない。たとえば、入力部は情報を入力するためのインターフェースであり、モバイル端末におけるタッチパネルやマイクロフォン、ノートブックコンピュータないしデスクトップコンピュータなどにおけるタッチパッド、キーボードまたはマウスなどである。表示部は情報処理装置3の使用者に対して各種情報を表示するインターフェースであり、たとえば液晶ディスプレイ、ヘッドマウントディスプレイ等の映像表示手段である。
【0025】
[端末装置5]
本情報処理システムは、ユーザ端末装置5をさらに含んでも良い(
図2)。ユーザ端末装置5(端末5aおよび端末5b)は、ユーザが入出力するためのクライアント端末を意味する。たとえば、スマートフォンやタブレット端末などのモバイル端末、ノートブックコンピュータ、デスクトップコンピュータ、ワークステーションなどの電子機器であってもよい。これらのユーザ端末装置5と情報処理装置3とは、ネットワーク4を介して接続される。なお、変形例2においては、端末装置5はカメラを搭載したロボットやカメラを搭載した自動運転車であるが、これも、情報処理装置3にネットワーク4を通じてアクセスすることができるクライアント端末の一例であることに変わりはない。
【0026】
図3は、ユーザ端末装置5の構成の一例を示す図である。
図3に示すように、端末装置5は、(端末)通信部51と、(端末)制御部52と、(端末)記憶部53と、(端末)入力部54と、(端末)表示部55とを有し、各部は、バスを介して互いに通信可能に接続されている。以下、ユーザ端末装置5の各部については、情報処理装置3における各部と区別するために、端末通信部51などと、頭に「端末」を付して説明する。
【0027】
端末通信部51は、ユーザ端末装置5とネットワーク4との間の通信インターフェースである。端末通信部51は、ネットワーク4を介して端末装置5と情報処理装置3との間で情報を送受信することができる。
【0028】
端末制御部52は、端末装置5の各種処理を行う制御手段である。端末制御部52は、端末装置5内のプロセッサが所定のプログラムを実行することにより実現されてもよいし、ハードウェアで実装されてもよい。
【0029】
端末記憶部53は、たとえば内蔵メモリや外部メモリ(SDメモリカード等)などのデータストレージである。端末記憶部53には、端末制御部52が取り扱う各種データが記憶される。
【0030】
端末入力部54は、ユーザが端末装置5に情報を入力するためのインターフェースであり、たとえばモバイル端末におけるカメラ(CCDカメラやCMOSカメラ)、タッチパネルやマイクロフォン、ノートブックコンピュータにおけるタッチパッド、キーボードまたはマウスなどである。
【0031】
端末表示部55は、端末装置5からユーザに対して各種情報を表示するインターフェースであり、たとえば液晶ディスプレイ等の映像表示手段である。具体的には、たとえば、端末表示部55は、ユーザからの操作を受け付けるためのGUI(Graphical User Interface)を表示してもよい。なお、端末装置5がロボットないし自動運転車である変形例2においては、端末表示部55は不要である。
【0032】
[間取り図]
間取り図画像(以下、単に「間取り図」とも称する。)は、建物における部屋(複数の場合もあり得る。)の配置の図(たとえば、平面図)であり、通常は、一律の縮尺で描かれている。不動産小売業者、建築家、不動産仲介業者、不動産情報業者等によって用いられる様々なタイプ又はスタイルの間取り図がある。通常は部屋の平面的な形状のみならず、部屋内の一定の物体(たとえば、扉、扉の開閉方向、キッチン、トイレ、バスタブ、床暖房の位置など)の位置と種類が、一定のルールで記載されている。間取り図画像は、JPEG、TIFF、GIF、BMP、PNG等を含む任意の画像フォーマットのものとすることができる。
【0033】
[部屋写真]
本発明において「部屋写真」は、部屋内部ないしは建物内部の空間を撮影したカラー、グレースケールまたはモノクロ等の写真を意味するものとする。部屋写真は、JPEG、TIFF、GIF、BMP、PNG等を含む任意の画像フォーマットのものとすることができる。
【0034】
本発明の一実施形態において部屋写真はパノラマ画像であることを想定しており、本発明において「パノラマ画像」とは、不動産物件内の内部ロケーションにある1以上の物体をキャプチャーすることが可能な広視野を有する任意の画像を意味するものとする。
【0035】
本実施形態では、部屋内部ないしは建物内部の空間を撮影した画像(部屋写真10)は、画角360度のパノラマ画像であることを想定しており、かかる画角が本発明に最も好適である。もっとも、パノラマ画像は、水平方向に360度未満の視野を有することもできる。また、理論上は、本発明の部屋画像10として、たとえば270度、180度又はそれ未満のようにより狭い視野の画像を用いることもできる。本明細書において以下、パノラマ画像及び部屋写真という用語は区別なく用いられ得る。すなわち、部屋、又は建物内の空間を撮影した画角360度の画像を、単に「部屋写真」とも称するものとする。
【0036】
[学習済みモデル]
本発明においては、事前に推定を行う画像等に関する学習(重みの自動調整)をさせたデータ(「学習済みモデル」)を記憶部33に記憶することになる。たとえば、本発明の一実施形態では、事前に、パノラマ画像を入力とした部屋の種類を推定するタスクを畳み込みニューラルネットワークにより学習させ、その結果得られる学習済みモデルを記憶部33に記憶しておく。学習は、情報処理装置3の制御部32において行われてもよいが、他の情報処理装置において行われ、情報処理装置3の記憶部33に記憶されてもよい。
【0037】
一例において学習セットは、部屋写真(間取り
図1枚に対して部屋写真は複数枚であってもよい)と当該部屋の情報(部屋の種類)のセットであり、その学習方法ないし畳み込みニューラルネットワークの構成については、本明細書の他の記載により制限される他には特に制限はなく、非特許文献1に記載の手法などを含む、標準的な深層学習(たとえば、標準的な距離学習)を用いることができる。ここで、本発明において距離学習とは、対応すると判明しているアイテム同士を近くに、対応しないと分かっているアイテム同士を遠くにマッピングするようなニューラルネットの学習方法一般を意味する。たとえば、対応するペアの特徴量のベクトルが小さくなるように重みパラメータの自動調整(学習)を行い、対応しないペアの特徴量のベクトルの距離は大きくなるように重みパラメータの自動調整を行ってもよい。一例として、コントラスティブ ロス(Contrastive Loss)を用いることができる。コントラスティブ ロスは距離学習の一つであり、ペアとなるデータ(たとえば、2つの画像データ)に基づいて、損失関数の出力値(L)を最小化し、ニューラルネットワークの学習(重みの自動調整)を行う。そのほか、トリプレット ロス(Triplet Loss)を用いることもできる。トリプレット ロスは距離学習の一つであり、3データに基づいて重みの自動調整を行う手法である。具体的に言えば、まず、3データ中で中心となるもの(「中心データ」)が決められる。次いで、残る2データに対し、中心データと相対的に似ているものと似ていないものがそれぞれ指定される。ニューラルネットは中心データと残る2データの距離を計算し、実際に似ているもの同士の距離を似ていないもの同士の距離よりも大きくするように更新する。
【0038】
学習された内容は、学習済みモデルとして記憶部33に記憶されるが、このことは、記憶部が、第1のN個の物の情報(たとえば、部屋内容、部屋情報、部屋内の物体の情報、間取りの内容に関する情報)と第1のN個の物それぞれを撮影した1以上の写真との対応関係(すなわち、学習セット)に基づいた学習済モデルGを記憶している、と表現することもできる。
【0039】
[実施形態1の情報処理]
以下では、実施形態1における情報処理の詳細を説明する。
図4は本実施形態における情報処理装置3の機能構成を示す図であり、これらの機能は通信部31、制御部32、及び記憶部33の組みあわせによって実現されている。情報処理装置3には、入力部34、直線抽出部35、補正処理部36、基準線検出部37、算出部38、VR立体画像情報処理部39、家具情報記憶部40、描画部41、及び家具配置処理部42、VR立体画像情報記憶部43を備えている。入力部34は、撮影された部屋の平面写真の入力を受け付ける。部屋の写真は例えばスマートフォンやデジタルカメラなどによって撮影され、データ転送やクラウドを通じたアップロードすることによって情報処理装置3にパノラマ画像が入力される。直線抽出部35は、入力されたパノラマ画像に含まれる壁や床、ドアといった各部位から直線部分を抽出する。
図5は、パノラマ画像から直線を抽出した際の態様を示したものであり、こうした直線の抽出においてはハフ変換と呼ばれるアルゴリズムを用いて行われるが、この方法については既知の技術であることから、その詳細は省略する。また、直線抽出のアルゴリズムは、一般的なハフ変換以外でも、確率的ハフ変換や、LineSegmentDetector、FastLineDetectorといったアルゴリズムを利用してもよい。
【0040】
続いて、補正処理部36は、抽出した直線の傾きを補正する処理を行う。部屋の壁や床を構成する直線は本来、互いに平行になるように想定されているが、撮影の角度によってはこれが平行にならずに歪んでしまうことがあるため、傾きを補正する必要がある。傾きの補正にあたっては、抽出した直線群の消失点を検出することによって行う。消失点とは、3D空間において平行な直線群を2次元に投影した際に、それらが交わる点を意味する。
【0041】
消失点の検出にあたっては、RANSACとよばれるロバスト推定のアルゴリズムが用いられる。このようにして検出された消失点は写真の構図によって通常1~3個あり、このうちの1点のみを用いて1点透視図に近いものを作る方式もあれば、複数の消失点を用いて行う方式もある。そして、これらの消失点の座標を用いてホモグラフィ変換を行って傾きの補正を行う。
【0042】
また、傾きの補正にあたっては、すべての直線の補正を行うのではなく、一部の直線については補正処理の対象からは除外する。例えば、パノラマ画像には、その写真の撮影時においてどれくらい傾いて撮影されたかを示すメタ情報が含まれており、この傾き情報と比較して所定の値より大きく傾いている直線については、補正から除外するようにする。これは、撮影時の小さな誤差などの場合であれば、それほど傾きが大きくならないため、傾きを補正することで垂直にすることできるが、例えば尖った天井がある場合の天井の線などがある場合もあり、こうした直線は傾いていてもそれが正常であることから、傾き処理の対象からは除外する。
【0043】
基準線検出部37は、抽出した直線群から基準線となる部位を検出する。基準線とは、部屋の規格などによって特に測定をしなくても、その長さが予め決まっている部位であり、例えばドアの横幅や縦幅、エアコンの横幅のサイズなどである。こうした基準線の検出は画像認識などをAIで行うことで可能である。算出部38は、パノラマ画像中の基準線長さと部屋の写真中の他の部位の直線の長さとの比率を算出し、この比率に基づいて基準線の実際の長さである基準線実測値から各直線の長さを算出する。例えば、写真中の基準線の長さが3.5cm、ある直線の長さが7cmの場合、基準線と当該直線の比率は1:2となる。そして、基準線実測値が60cmの場合は、実際のこの直線の部位の長さは120cmとなる。
【0044】
VR立体画像情報処理部39は、補正されたパノラマ画像から3Dデータとして認識可能なVR立体画像を生成する。VR立体画像の生成にあたっては、二つの深層学習(ディープラーニング)を併用することでより好適な効果が得られる。まず、VR立体画像情報処理部39は、パノラマ画像において各ピクセルごとに、部屋を構成する壁や床、ドアといったいずれの構成要素に該当するかを深層学習を用いて分類する。この深層学習のアルゴリズムの具体例としては、オブジェクト認識のために一般的に活用されているSimentic Segmentationなどを用いることができる。また、併用するもう一つの深層学習としては、壁や床のコーナー、すなわち角部を認識することで部屋の全体構造を把握しやすくなることから、これらのコーナーを認識するために、Duel-netと呼ばれる深層学習のアルゴリズムを活用する。これら二つの深層学習のアルゴリズムを併用することで、パノラマ画像から立体VR画像をより正確に自動生成することができるようになる。
【0045】
家具情報記憶部40は、VR立体画像内に配置される家具のデータが保存されている。家具データは、家具の縦、横、高さそれぞれの実際の寸法データのほか、CADでデータ化された家具の家具モデリングデータ、及び家具のテクスチャデータが含まれている。家具のモデリングデータは、CAD等で設計された家具の立体構造を示すデータであり、テクスチャデータはモデリングデータの表面に付与され、家具のデザインや模様、装飾などを示すデータである。
【0046】
描画部41は、生成したVR立体画像や家具モデリングデータ、テクスチャデータをユーザが視聴する端末の表示部55に描画する処理を行う。描画部41は、本実施形態においては、端末5a、5bからのリクエストに応じて描画の処理を行い、端末側でVRの操作が行われるとその操作に対して再描画を行う。家具配置処理部42は、VR立体画像内に家具の立体家具画像を配置する処理を行う。家具配置処理部42は、自由に家具の位置や角度を変更して、家具を配置することができる。家具をVR立体画像内に配置する際には、所定の条件を満たす必要がある。例えば、家具は壁を越えては配置ができないため、家具配置処理部42は、家具モデリングデータを移動したり、角度を変更したりする際には、壁と接触していないかを判別する。 VR画像情報記憶部43は、VR立体画像情報処理部39が生成したVR立体画像を記憶する。
【0047】
図6は、VRの立体画像を生成する処理の流れを示す図である。
図6に示されるように、まず入力部34は撮影された部屋のパノラマ画像の入力を受け付ける(ステップS101)。パノラマ画像は、撮影時にそのまま入力されても、予め撮影された画像をアップロードすることで入力されるようにしてもよい。次いで、直線抽出部35は、入力されたパノラマ画像を読み込み、パノラマ画像から直線を抽出する(ステップS102)。
図5は、パノラマ画像から直線を抽出した状態を示す図であり、窓や床、柱、天井などの各部位の直線が抽出されている。
【0048】
次いで、補正処理部36は、抽出した直線の傾きを補正する(ステップS103)。傾きの補正方法は直線によって異なるが、例えば床の模様や、柱などは互いに平行になることから平行になるように傾きを補正する。また、画像中において上下方向に長く伸びる直線は壁や柱である可能性が高いため、これらは画像中で垂直に伸びるように傾きを調整する。
図7は、傾きの補正の態様を示す一例を示した図であり、補正前の
図7(a)における直線10aが補正後の
図7(b)の直線10bのように傾きが補正される。
【0049】
次いで基準線検出部37は、抽出した直線の中から基準線となる直線を検出する(ステップS104)。算出部38は、まず基準線長さを設定する(ステップS105)。
図8はその具体例を示す直線の長さの算出例であり、この図では12.4mと表示されているベランダの扉の横幅が基準線実測値となる。基準線長さは、予めその部位ごとに長さが設定されており、どの部位が基準線として選択されたかによって、その部位に該当する基準線実測値を取得し、この長さに基づいて図中の他の部位の直線の長さが算出される
(ステップS106)。
【0050】
次いで、基準線長さの変更があったか否かの判定がされる(ステップS107)。基準線長さの変更があった場合、すなわち基準線の数値を利用者が入力した場合は、算出部38は入力された基準線実測値の値に基づいて各直線の長さを再計算する(ステップS108)。
図9はこの再計算後の長さを示したものであり、元々1.24mだった基準線となる直線を1.32mに入力しなおしたため、この基準線に合わせて再計算が行われている。このように基準線の数値を利用者が入力できるようにすることで、利用者が知っている部位の数値を入力することで、他の直線の部位の長さを算出することができるようになる。なお、この際には、基準線の長さだけでなく、基準線自体を自分が長さをしっている部位へと変更して、そこを基準線として直線の長さを算出するようにすることもできる。
【0051】
そして、最後にVR画像情報処理部39は、VR立体画像生成処理を行って処理を終了する(ステップS109)。VR立体画像情報生成処理の詳細は
図10に基づいて説明する。
図10に示されるように、まずVR画像情報処理部39は、パノラマ画像においてピクセル単位で部屋のいずれの構成要素に該当するかを、深層学習を用いて分類する(ステップS109a)。次いで、VR画像情報処理部39は、床や壁のコーナーにおける直線を対象として深層学習を行い、コーナーの部位に該当する直線を分類する(ステップS109b)。これらの二つの深層学習へ併用して部屋の構成要素を分類したのちに、VR画像情報処理部39は、部屋の3DデータであるVR立体画像を生成し(ステップS109c)、VR立体画像をVR立体画像情報記憶部43に記憶して処理を終了する(ステップS109d)。
【0052】
以上のようにして部屋のVR立体画像が生成されると、3Dデータとしてモデリングされた状態となるため、画像内に家具の3Dデータが設置可能となる。次いで、家具の設置に関する処理の流れを
図11を用いて説明する。
図11に示されるように、まず家具配置処理部42は、家具の選択の入力があるまで待機し(ステップS201)、家具が選択されると(ステップS201:Yes)、その場合に家具の自動配置の設定がされたか否かを判定する(ステップS202)。自動配置の設定がされている場合(ステップS202:Yes)、自動配置処理へと移行する。
【0053】
自動配置の設定がされていない場合(ステップS202:No)、家具配置処理部42はまずVR立体画像の中に選択された家具のモデリングデータ、及びテクスチャデータを表示させるよう描画部41に指示する(ステップS203)。そして、家具配置処理部42はユーザからの家具の移動や方向の変更の操作があったかを判定する(ステップS204)。家具の操作があった場合(ステップS204:Yes)、操作のあとに壁と家具のモデリングデータが接触しないかを判定し(ステップS205)、接触しない場合に、操作後の位置や方向に家具を再配置する処理が行われる(ステップS206)。
【0054】
次に、家具の自動配置処理について
図12を用いて説明する。まず自動配置が設定されると、
図13で示されるように配置条件が選択されている。配置条件とは、家具のテイストを決めるものであり、「インダストリアル」「モダン」「和」のように家具に対してそのテイストを決める属性が付与されている。家具配置処理部42は、
図13のUIで選択された配置条件に一致する家具のモデリングデータ、及びテクスチャデータを取得する(ステップS301)。次いで、家具配置処理部42は、部屋のどの構成要素に対して家具を配置するかを決定する(ステップS302)。この構成要素とは、多くの場合は部屋における壁の部分であり、家具は通常壁に沿って設置することが多いためである。構成要素が決定されると、その構成要素に対してどの家具を配置するかの判断が行われる。この際、その家具がセット家具として設定されている組みあわせが登録されているかを家具配置処理部42は判定する(ステップS303)。セット家具がある場合は(ステップS303:Yes)、セット対象の家具の配置関係をセットする。セット家具とは、例えば、ソファの前にはローテーブルが設置されたり、テレビボードはソファと正面になるというように、設置の方法が予め決まっているものを意味する。これらのセット家具の組みあわせは、家具情報記憶部40に予め記憶されている。セット家具の場合は、その家具の組みあわせによって予め配置位置は設定されていることから、該当の家具の配置位置を取得して設定する(ステップS304)。そして、家具配置処理部42は、その構成要素に対して最も優先度が高い家具を選択して、VR立体画像内に配置する(ステップS305)。この優先度の決め方としては、例えば構成要素が壁の場合、縦、横、高さの寸法のサイズが大きい家具が優先されて配置されるよう優先度が高く算出される。また、構成要素がドアの場合、ドアの前には通常家具が配置されないため、いずれの家具も選択されないようになっている。このように、構成要素ごとに最適な家具を様々な配置ルールを参照して、自動的に決定する。
図14はこのようにして配置された家具データの一例を示す図である。ここでは、ソファとテレビボードがセット家具として認識されるとともに、テレビボードとテレビがセット家具として認識され、それぞれが自動的に所定の位置関係になるように配置されている。
【0055】
以上に示した本実施形態の情報処理装置3においては、パノラマ画像が読み込まれて3DのVR立体画像に変換され、その際に部屋の構成要素の各寸法も自動的に算出される。そのため、家具のモデリングデータを配置する際にも、家具と部屋の実際の縮尺と同様の条件で家具を配置することができるようになるため、VR上で家具を配置した状態をより正確にシミュレーションすることができ、家具の配置をより好適にできるようになる。
【0056】
[変形例1]
なお、本発明は上記実施の形態に限られたものではなく、要旨を逸脱しない範囲で適宜変更することが可能である。例えば、
図15に示されるように、家具の配置の際に、部屋を上方からみた状態に視点を変更し、この状態で家具の移動や配置を行うことができるようにしてもよい。この場合、家具が壁に接触しているかなども確認がしやすいため、部屋の家具移動が容易に行うことができるようになる。
【産業上の利用可能性】
【0057】
上記のとおり、本発明は、部屋のパノラマ写真における寸法の推定や、部屋の3D立体画像の自動生成に有用である。
【符号の説明】
【0058】
情報処理システム 1
情報処理装置 3
通信部 31
制御部 32
記憶部 33
ネットワーク 4
ユーザ端末装置 5
通信部 51
制御部 52
記憶部 53
入力部 54
表示部 55
【手続補正書】
【提出日】2021-01-21
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
撮影された部屋のパノラマ画像の入力を受け付ける入力部と、
入力された前記パノラマ画像から直線を抽出する直線抽出部と、
抽出された前記直線のうち、互いに平行となるよう想定される直線が、前記パノラマ画像内で平行となるよう傾きを補正する補正処理部と、
前記パノラマ画像において予め設定された基準部位に該当する直線を基準線として検出する基準線検出部と、
前記パノラマ画像内における基準線長さを取得し、前記基準線長さと他の部位の直線の長さとの比率を算出し、当該比率に基づいて予め付与された前記基準線の実際長さを示す基準線実測値から各直線の長さを算出する算出部と、
家具の家具モデリングデータ、テクスチャデータ及び縦、横、高さの寸法データを含む家具情報記憶部と、
前記パノラマ画像から、画像中に表示される各部位を部屋の構成要素として分類して認識するとともに、部屋の形を示す3DデータであるVR立体画像へと変換するVR立体画像情報処理部と、
前記VR立体画像を記憶するVR立体画像情報記憶部と、
前記家具の寸法データと、前記基準線実測値との比率に基づいて家具の家具モデリングデータの大きさを自動で調整して、前記VR立体画像内に配置可能とする家具配置処理部と、
前記VR立体画像を描画する描画部と、
を備え、
前記描画部は配置された前記家具の家具モデリングデータを前記VR立体画像内に描画する
ことを特徴とする情報処理装置。
【請求項2】
前記VR立体画像情報処理部は、前記パノラマ画像中の構成要素をピクセル単位で推定する深層学習と、前記パノラマ画像中の部屋の壁や床のコーナーを推定する深層学習とを併用して、前記構成要素の認識を行う
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記パノラマ画像は、メタデータとして撮影時の傾きを示す傾きメタ情報を含んでおり、
前記補正処理部は、抽出された前記直線のうち、前記パノラマ画像中における傾きが、前記傾きメタ情報と比較して所定の値より大きい直線は平行に傾き補正する処理から除外する
ことを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記基準線長さを、利用者が入力して設定可能である
ことを特徴とする請求項1~3のいずれか一項に記載の情報処理装置。
【請求項5】
前記家具配置処理部は、選択された前記家具の家具モデリングデータを配置する際に、いずれの前記構成要素に対する配置の優先度を算出し、前記家具モデリングデータを、高い前記優先度数値が付与された前記VR立体画像内の構成要素に対して自動的に配置する
ことを特徴とする請求項1~4のいずれか一項に記載の情報処理装置。
【請求項6】
前記家具情報記憶部において、所定の家具においては、対となる家具の識別情報が、セット家具として設定されており、
前記家具配置処理部は、前記セット家具が設定された家具の前記家具モデリングデータを予め設定された所定の位置関係に従って 前記VR立体画像内に配置する
ことを特徴とする請求項5に記載の情報処理装置。
【請求項7】
前記家具配置処理部は、前記VR立体画像における壁と、前記家具モデリングデータとの接触判定を行い、接触が起こらない位置において前記家具モデリングデータを配置可能とする
ことを特徴とする請求項5、及び6のいずれか一項に記載の情報処理装置。
【請求項8】
前記描画部は、前記VR立体画像、及び前記家具モデリングデータを部屋における上方から俯瞰した視点で描画が可能であり、
前記家具配置処理部は、上方から俯瞰した視点で前記家具モデリングデータの移動の操作がされた場合に、前記家具モデリングデータの配置位置を変更可能である
ことを特徴とする請求項1~7のいずれか一項に記載の情報処理装置。
【請求項9】
コンピュータを、
撮影された部屋のパノラマ画像の入力を受け付ける入力部と、
入力された前記パノラマ画像から直線を抽出する直線抽出部と、
抽出された前記直線のうち、互いに平行となるよう想定される直線が、前記パノラマ画像内で平行となるよう傾きを補正する補正処理部と、
前記パノラマ画像において予め設定された基準部位に該当する直線を基準線として検出する基準線検出部と、
前記パノラマ画像内における基準線長さを取得し、前記基準線長さと他の部位の直線の長さとの比率を算出し、当該比率に基づいて予め付与された前記基準線の実際長さを示す基準線実測値から各直線の長さを算出する算出部と、
家具の家具モデリングデータ、テクスチャデータ及び縦、横、高さの寸法データを含む家具情報記憶部と、
前記パノラマ画像から、画像中に表示される各部位を部屋の構成要素として分類して認識するとともに、部屋の形を示す3DデータであるVR立体画像へと変換するR立体画像情報処理部と、
前記VR立体画像を記憶するVR立体画像情報記憶部と、
前記家具の寸法データと、前記基準線実測値との比率に基づいて家具の家具モデリングデータの大きさを自動で調整して、前記VR立体画像内に配置可能とする家具配置処理部と、
前記VR立体画像を描画する描画部と、
として機能させ、
前記描画部は配置された前記家具の家具モデリングデータを前記VR立体画像内に描画する
コンピュータプログラム。