JP2022077148A - 画像処理方法、プログラムおよび画像処理システム - Google Patents

画像処理方法、プログラムおよび画像処理システム Download PDF

Info

Publication number
JP2022077148A
JP2022077148A JP2020187839A JP2020187839A JP2022077148A JP 2022077148 A JP2022077148 A JP 2022077148A JP 2020187839 A JP2020187839 A JP 2020187839A JP 2020187839 A JP2020187839 A JP 2020187839A JP 2022077148 A JP2022077148 A JP 2022077148A
Authority
JP
Japan
Prior art keywords
image
image processing
virtual object
furniture
space
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.)
Pending
Application number
JP2020187839A
Other languages
English (en)
Inventor
誠 小田巻
Makoto Odamaki
浩 水藤
Hiroshi Mizufuji
佑介 福岡
Yusuke Fukuoka
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2020187839A priority Critical patent/JP2022077148A/ja
Priority to US18/024,288 priority patent/US20230334803A1/en
Priority to PCT/IB2021/059431 priority patent/WO2022101707A1/en
Priority to EP21795006.2A priority patent/EP4244820A1/en
Publication of JP2022077148A publication Critical patent/JP2022077148A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/12Details of acquisition arrangements; Constructional details thereof
    • G06V10/14Optical characteristics of the device performing the acquisition or on the illumination arrangements
    • G06V10/147Details of sensors, e.g. sensor lenses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/243Aligning, centring, orientation detection or correction of the image by compensating for image skew or non-uniform image deformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/04Architectural design, interior design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2012Colour editing, changing, or manipulating; Use of colour codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Architecture (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Geometry (AREA)
  • Vascular Medicine (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)

Abstract

【課題】構造物の内部の空間に仮想対象物を適切な位置に自動配置させる画像処理方法、プログラムおよび画像処理システムを提供する。【解決手段】画像処理システムが実行する画像処理方法であって、構造物の内部の空間(例えば、部屋)が全方位で示された背景画像(例えば、全天球画像)から空間の構造を推定する構造推定ステップと、推定された構造に基づいて、空間における仮想対象物(例えば、家具の3Dモデル)を配置可能な領域を推定する領域推定ステップと、背景画像に対して、仮想対象物を推定された領域に合成する画像処理ステップと、を実行する。【選択図】図16

Description

本開示内容は、画像処理方法、プログラムおよび画像処理システムに関する。
全方位を撮影可能な撮影装置を用いて撮影された画像データを配信し、遠隔拠点の状況を、別拠点において閲覧可能なシステムが知られている。所定の拠点を全方位で撮影した全天球画像は、閲覧者に任意の方向を閲覧させることできるため、臨場感ある情報を伝えることができる。このようなシステムは、例えば、不動産業界における物件のオンライン内見等の分野で利用されている。
このようなシステムは、例えば、不動産業界における物件のオンライン内見等の分野で利用されている。また、家具や小物を物件に配置することで空間演出し、閲覧者に魅力的な住まいのイメージを与えて取引を円滑に促すため「ホームステージング」というサービスが存在する。このサービスにおいて、費用もしくは時間のコスト、または物件の破損リスク等を低減させるため、物件に実際の家具を配置するのではなく、物件が撮影された画像に三次元モデル(CG)の家具を合成するサービスが既に知られている(例えば、特許文献1~3)。
しかしながら、従来の方法では、撮影画像に対して家具等の仮想対象物の画像を合成する際に、画像を閲覧する閲覧者にとって仮想対象物が不自然な位置に配置される場合があり、仮想対象物の自動配置の精度という観点で改善の余地があった。
上述した課題を解決すべく、請求項1に係る発明は、画像処理システムが実行する画像処理方法であって、構造物の内部の空間が全方位で示された背景画像から前記空間の構造を推定する構造推定ステップと、推定された前記構造に基づいて、前記空間における仮想対象物を配置可能な領域を推定する領域推定ステップと、前記背景画像に対して、前記仮想対象物を前記推定された領域に合成する画像処理ステップと、を実行する画像処理方法である。
本発明によれば、構造物の内部の空間に仮想対象物を適切な位置に自動配置できるという効果を奏する。
画像表示システムの全体構成の一例を示す図である。 仮想対象物を配置する前の全天球画像の一例を示す図である。 仮想対象物を配置した処理画像の一例を示す図である。 (A)は撮影装置で撮影された半球画像(前)、(B)は撮影装置で撮影された半球画像(後)、(C)は正距円筒図法により表された画像を示した図である。 (A)正距円筒射影画像で球を被う状態を示した概念図、(B)全天球画像を示した図である。 全天球画像を三次元の立体球とした場合の仮想カメラおよび所定領域の位置を示した図である。 所定領域情報と所定領域Tの画像との関係を示した図である。 撮影装置による撮影時の状態の一例を示す図である。 全天球画像の一例を説明するための図である。 全天球画像から変換された平面画像の一例を説明するための図である。 画像処理装置、画像配信装置および表示装置のハードウエア構成の一例を示す図である。 画像表示システムの機能構成の一例を示す図である。 画像表示システムの機能構成の一例を示す図である。 画像データ管理テーブルの一例を示す概略図である。 条件情報管理テーブルの一例を示す概念図である。 画像処理装置における処理の一例を示すフローチャートである。 構造推定処理の一例を示すフローチャートである。 撮影画像に対する構造推定結果の一例を説明するための図である。 構造推定処理によって推定される空間構造の形状の一例を示す図である。 構造推定処理における空間の大きさの算出方法の一例を説明するための図である。 仮想対象物の配置に失敗した場合の画像の一例を示す図である。 撮影画像に対する被写体検知結果の一例を説明するための図である。 (A)(B)推定された空間構造に被写体を投影する処理の一例を説明するための図である。 仮想対象物のレイアウト処理の一例を示すフローチャートである。 (A)(B)家具の3Dモデルのレイアウトアルゴリズムの一例を説明するための図である。 (A)(B)(C)家具の3Dモデルのレイアウトアルゴリズムの一例を説明するための図である。 家具の3Dモデルの一例を示す図である。 家具の3Dモデルのレイアウト結果の一例を示す図である。 3D空間モデル上での家具の3Dモデルのレイアウト結果の一例を示す図である。 シャドーキャッチャーを利用した処理画像の一例を示す図である。 (A)(B)Image Based lightingを利用した画像処理の例を示す図である。 仮想対象物が合成された処理画像に、空間推定結果および被写体検知結果の一例を示す図である。 仮想対象物が撮影装置に近すぎる場合の例を示す図である。 (A)(B)仮想対象物の配置禁止領域の一例を示す図である。 (A)は支持部材が写り込んだ撮影画像の一例を示す図であり、(B)は写り込んだ支持部材の上に仮想物体を配置した画像の一例を示す図である。 支持部材のサイズの一例を説明するための図である。 画像表示処理の一例を示すシーケンス図である。 (A)は表示装置に表示された撮影画像の画面例であり、(B)は表示装置に表示された処理画像の画面例である。 付加情報管理テーブルの一例を示す概念図である。 付加情報の配置位置の一例を説明するための図である。 (A)(B)付加情報が重畳された処理画像の画面例である。 表示装置に表示された処理画像の別の例を示す図である。 表示装置に表示された処理画像の別の例を示す図である。
以下、図面を参照しながら、発明を実施するための形態を説明する。なお、図面の説明において同一要素には同一符号を付し、重複する説明は省略する。
●実施形態●
●画像表示システムの概略
まず、図1を用いて、実施形態に係る画像表示システムの構成の概略について説明する。図1は、画像表示システムの全体構成の一例を示す図である。図1に示されている画像表示システム1は、不動産物件等の構造物の内部の空間の画像を表示装置90に表示させることで、閲覧者がオンラインで不動産物件の閲覧できるシステムである。
図1に示されているように、画像表示システム1は、画像処理装置10、画像配信装置30、撮影装置70、通信端末80および表示装置90を含む。画像表示システム1を構成する画像処理装置10、画像配信装置30、撮影装置70、通信端末80および表示装置90は、通信ネットワーク5を介して通信することができる。通信ネットワーク5は、インターネット、移動体通信網、LAN(Local Area Network)等によって構築されている。なお、通信ネットワーク5には、有線通信だけでなく、3G(3rd Generation)、4G(4th Generation)、5G(5th Generation)、Wi-Fi(Wireless Fidelity)(登録商標)、WiMAX(Worldwide Interoperability for Microwave Access)またはLTE(Long Term Evolution)等の無線通信によるネットワークが含まれてもよい。
画像処理装置10は、不動産物件等の構造物の内部の空間が撮影された撮影画像に対する画像処理を行うサーバコンピュータである。画像処理装置10は、例えば、撮影装置70から送信された撮影画像データ、撮影装置70が撮影した空間の用途を示す用途情報、および通信端末80から送信された家具情報に基づいて、撮影画像に対して仮想対象物を合成する。ここで、家具情報は、家具の3Dモデルを示すデータ、家具の配置に関するルールを示す家具設定データ等を含む。家具の3Dモデルは、仮想対象物の一例であり、家具情報は、対象物情報の一例である。仮想対象物は、家電の3Dモデルのほか、例えば、電気製品、装飾品、絵画、照明、備品または什器等の3Dモデルであってもよい。
画像配信装置30は、画像処理装置10において処理された処理画像データを配信するサーバコンピュータである。
ここで、画像処理装置10および画像配信装置30は、画像処理システム3と称する。なお、画像処理システム3は、例えば、画像処理装置10および画像配信装置30の各機能の全てまたは一部を集約させたコンピュータであってもよい。また、画像処理装置10および画像配信装置30のそれぞれは、複数のコンピュータに各機能を分散させて実現させる構成であってもよい。さらに、画像処理装置10および画像配信装置30は、クラウド環境に存在するサーバコンピュータであるものとして説明するが、オンプレミス環境に存在するサーバであってもよい。
撮影装置70は、不動産物件等の構造物の内部の空間を全方位に撮影して全天球(360°)画像を取得可能な特殊なデジタルカメラ(全天球撮影装置)である。撮影装置70は、例えば、不動産物件を管理または販売する不動産業者によって使用される。なお、撮影装置70は、所定値以上の画角を有する広角画像を取得可能な広角カメラまたはステレオカメラ等であってもよい。広角画像は、一般には広角レンズを用いて撮影された画像であり、人間の目で感じるよりも広い範囲を撮影することができるレンズで撮影された画像である。すなわち、撮影装置70は、所定値より焦点距離の短いレンズを用いて撮影された画像(全天球画像、広角画像)を取得可能な撮影手段である。広角画像は、一般的に35mmフィルム換算で35mm以下の焦点距離のレンズで、撮影された画像を意味する。さらに、撮影装置70によって得られる撮影画像は、動画であっても静止画であってもよく、動画と静止画の両方であってもよい。また、撮影画像は、画像とともに音声を含んでもよい。
通信端末80は、撮影画像に写る空間に配置させる仮想対象物の情報を、画像処理装置10に提供するノートPC等のコンピュータである、通信端末80は、例えば、配置させる家具を製造または販売する家具メーカ等によって使用される。
表示装置90は、画像の閲覧者によって使用されるスマートフォン等のコンピュータである。表示装置90は、画像配信装置30から配信された画像を表示させる。なお、表示装置90は、スマートフォンに限られず、例えば、PC、タブレット端末、ウェアラブル端末、HMD(head mount display)、PJ(Projector:プロジェクタ)、またはIWB(Interactive White Board:相互通信が可能な電子式の黒板機能を有する白板)等であってもよい。
ここで、図2および図3を用いて、画像表示システム1において表示装置90に表示される画像について説明する。図2は、仮想対象物を配置する前の全天球画像の一例を示す図である。図2に示されている画像は、撮影装置70によって構造物の内部の空間の一例である不動産物件の部屋が撮影された全天球画像である。全天球画像は、部屋の内部が全方位で撮影することがでるため、不動産物件の閲覧に適している。全天球画像の形態は、様々であるが、後述のEquirectangular(正距円筒図法)の投影方式で生成されることが多い。この正距円筒図法によって生成された画像は、画像の外形が矩形となり画像データの保存が効率的かつ容易であることや、赤道付近の歪みが少なく縦方向の直線が歪まないため、比較的自然に見えることが利点である。
図3は、仮想対象物を配置した処理画像の一例を示す図である。図3に示されている画像は、図2の画像に示されている部屋に家具が配置されてた状態を示す。図3の画像は、図2に示されている全天球画像を背景画像として、この背景画像に対して仮想対象物の一例である家具の3Dモデルが合成されている。画像処理装置10は、撮影装置70によって撮影された部屋の床、壁および天井等の構造に基づいて、家具の3Dモデルを自然な状態で配置する。図3に示されているように、部屋には机およびベッド等が壁に沿って配置されているとともに、日常的に使用する通路は、家具によって塞がれていない。
従来、不動産物件である部屋が撮影された全天球画像に対して、家具の3Dモデルを配置するためには、撮影装置の撮影位置から見て家具が自然な位置に配置される必要があるため、配置位置および向きを合わせるために、ユーザの手作業による操作が必要であった。また、家具のモデルを自動的に配置する方法も存在するが、家具を配置する部屋の構造を把握するために、部屋の間取り図の入力やユーザの入力操作が必要であり、手間が掛からずに仮想対象物の自動配置の精度を高めるという観点で改善の余地があった。
そこで、画像処理システム3は、部屋の内部が撮影された全天球画像を用いて部屋の構造や部屋に備え付けられた被写体を検知して仮想対象物の配置可能領域を推定する。そして、画像処理システム3は、推定された配置可能領域に仮想対象物を配置し、配置された仮想対象物と全天球画像とが合成された図3に示されているような処理画像を生成する。これにより、画像処理システム3は、全天球画像に基づいて推定された大まかな部屋の状態に基づいて、家具を自然に配置することができる。
ここで、不動産物件である部屋は、構造物の内部の空間の一例である。構造物は、例えば、住宅、オフィス、店舗等の建築物である。また、全天球画像は、撮影装置70によって撮影された撮影画像であり、構造物の内部の空間が全方位で示された背景画像の一例である。
○全天球画像の生成方法○
ここで、図4乃至図10を用いて、全天球画像の生成方法について説明する。まず、図4および図5を用いて、撮影装置70で撮影された画像から全天球画像が生成されるまでの処理の概略を説明する。図4(A)は撮影装置で撮影された半球画像(前側)、図4(B)は撮影装置で撮影された半球画像(後側)、図4(C)は正距円筒図法により表された画像(以下、「正距円筒射影画像」という)を示した図である。図5(A)は正距円筒射影画像で球を被う状態を示した概念図、図5(B)は全天球画像を示した図である。
撮影装置70は、正面側(前側)および背面側(後側)のそれぞれに撮像素子が設けられている。これらの撮像素子(画像センサ)は、半球画像(画角180°以上)の撮影が可能なレンズ等の光学部材と併せて用いられる。撮影装置70は、二つの撮像素子によって、それぞれユーザの周りの被写体が撮像されることで、二つの半球画像を得ることができる。
図4(A),(B)に示されているように、撮影装置70の撮像素子によって得られた画像は、湾曲した半球画像(前側および後側)となる。そして、撮影装置70は、半球画像(前側)と180度反転された半球画像(後側)とを合成して、図4(C)に示されているような正距円筒射影画像ECを作成する。
そして、撮影装置70は、OpenGL ES(Open Graphics Library for Embedded Systems)を利用することで、図5(A)に示されているように、球面を覆うように正距円筒射影画像ECを貼り付け、図5(B)に示されているような全天球画像(全天球パノラマ画像)CEを作成する。このように、全天球画像CEは、正距円筒射影画像ECが球の中心を向いた画像として表される。なお、OpenGL ESは、2D(2-Dimensions)および3D(3-Dimensions)のデータを視覚化するために使用するグラフィックスライブラリである。また、全天球画像CEは、静止画であっても動画であってもよい。さらに、変換手法は、OpenGL ESに限らず、半球画像から正距円筒射影図法に変換可能な手法であればよく、例えば、CPUによる演算またはOpenCLによる演算であってもよい。
以上のように、全天球画像CEは、球面を覆うように貼り付けられた画像であるため、人間が見ると違和感を持ってしまう。そこで、撮影装置70は、全天球画像CEの一部の所定領域T(以下、「所定領域画像」という)を湾曲の少ない平面画像として表示することで、人間に違和感を与えない表示をすることができる。これに関して、図6および図7を用いて説明する。
図6は、全天球画像を三次元の立体球とした場合の仮想カメラおよび所定領域の位置を示した図である。仮想カメラICは、三次元の立体球として表示されている全天球画像CEに対して、その画像を見るユーザの視点の位置に相当するものである。図6は、全天球画像CEを、三次元の立体球CSで表している。このように生成された全天球画像CEが、立体球CSであるとした場合、図6に示されているように、仮想カメラICは、全天球画像CEの内部に位置している。全天球画像CEにおける所定領域Tは、仮想カメラICの撮影領域であり、全天球画像CEを含む三次元の仮想空間における仮想カメラICの撮影方向と画角を示す所定領域情報によって特定される。また、所定領域Tのズームは、仮想カメラICを全天球画像CEに近づいたり、遠ざけたりすることで表現することもできる。所定領域画像Qは、全天球画像CEにおける所定領域Tの画像である。したがって、所定領域Tは、画角αと、仮想カメラICから全天球画像CEまでの距離fにより特定できる。
そして、所定領域画像Qは、所定のディスプレイに、仮想カメラICの撮影領域の画像として表示される。以下、仮想カメラICの撮影方向(ea,aa)と画角(α)を用いて説明する。なお、所定領域Tは、画角αと距離fではなく、所定領域Tである仮想カメラICの撮像領域(X,Y,Z)によって示してもよい。
次に、図7を用いて、所定領域情報と所定領域Tの画像の関係について説明する。図7は、所定領域情報と所定領域Tの画像との関係を示した図である。図7に示されているように、「ea」はelevation angle(仰角)、「aa」はazimuth angle(方位角)、「α」は画角(Angle)を示す。すなわち、仮想カメラICの姿勢は、撮影方向(ea,aa)で示される仮想カメラICの注視点が、仮想カメラICの撮影領域である所定領域Tの中心点CP(x,y)となるように変更される。図7に示されているように、仮想カメラICの画角αによって表される所定領域Tの対角画角をαとした場合の中心点CP(x,y)が、所定領域情報のパラメータ((x,y))となる。所定領域画像Qは、全天球画像CEにおける所定領域Tの画像である。fは、仮想カメラICから中心点CP(x,y)までの距離である。Lは、所定領域Tの任意の頂点と中心点CP(x,y)との距離である(2Lは対角線)。そして、図7では、一般的に以下の(式1)で示される三角関数が成り立つ。
Figure 2022077148000002
次に、図8を用いて、撮影装置70による撮影時の様子について説明する。図8は、撮影装置による撮影時の状態の一例を示す図である。不動産物件等の部屋の全体を見渡せるように撮影するためには、撮影装置70を人間の目に高さに近い位置に設置することが好ましい。そのため、図8に示されているように、撮影装置70は、一脚または三脚等の支持部材7で撮影装置70を固定して撮影を行うことが一般的である。撮影装置70は、上述のように、全周囲の全ての方向の光線を取得可能な全天球撮影装置であり、撮影装置70の周囲の単位球上の画像(全天球画像CE)を取得するともいえる。撮影装置70は、撮影方向が決まれば、全天球画像の座標が決定する。例えば、図8において、点Aは、撮影装置70の中心点Cから(d,-h)だけ離れた距離にあり、このとき線分ACと水平方向のなす角度をθとすると、角度θは、以下の(式2)で表すことができる。
Figure 2022077148000003
そして、点Aが俯角θにあると仮定すると、点Aと点Bの距離dは、撮影装置70の設置高さhを用いて、以下の(式3)で表すことができる。
Figure 2022077148000004
ここで、全天球画像上の位置情報を、全天球画像から変換された平面画像上の座標に変換する処理について概略的に説明する。図9は、全天球画像の一例を説明するための図である。なお、図9(A)は、図4(A)に示されている半球画像を光軸に対して水平方向および垂直方向の入射角が等位となる箇所を線で結んで示す図である。以下、光軸に対して水平方向の入射角を「θ」、光軸に対して垂直方向の入射角を「φ」という。
また、図10(A)は、正距円筒図法によって処理された画像の一例を説明する図である。具体的には、図9に示されている画像を予め生成されるLUT(Look Up Table)等で対応させ、正距円筒図法によって処理し、処理された図9(A)および(B)に示されているそれぞれの画像を合成すると、全天球画像に対応する図10(A)に示されている平面画像が、撮影装置70によって生成される。図4(C)に示されている正距円筒射影画像ECは、図10(A)に示されている平面画像の一例である。
図10(A)に示されているように、正距円筒図法によって処理された画像では、緯度(θ)と経度(φ)が直交する。図10(A)に示されている例では、画像の中心を(0,0)とし、緯度方向を-90~+90、経度方向を-180~+180で表現することで、全天球画像中の任意の位置を示すことができる。例えば、画像左上の座標は、(-180,-90)となる。なお、全天球画像の座標は、図10(A)に示されているような360度数を用いた形式で表されてもよいし、ラジアン表示または現実の画像のようなピクセル数の表示で表されてもよい。また、全天球画像の座標は、図10(B)に示されているような二次元座標(x,y)に変換されて表されてもよい。
なお、図10(A)または(B)に示されている平面画像への合成処理は、図9(A)および(B)に示されている半球画像を単に連続して配置する処理に限られない。例えば、全天球画像の水平方向中心がθ=180°でない場合には、合成処理において、撮影装置70は、まず、図4(C)に示されている半球画像を前処理し、全天球画像の中心に配置する。次に、撮影装置70は、生成する画像の左右部分に、図4(B)に示されている半球画像を前処理した画像を左右部分に配置できる大きさに分割し、半球画像を合成して図4(C)に示されている正距円筒射影画像ECを生成してもよい。
また、図10(A)に示されている平面画像において、図9(A)および(B)に示されている半球画像(全天球画像)の極点(PL1またはPL2)に対応する箇所は、線分CT1またはCT2となる。図5(A)および図5(B)に示されているように、全天球画像(例えば、全天球画像CE)は、OpenGL ESを利用することで、図10(A)に示されている平面画像(正距円筒射影画像EC)を球面に貼り付けることにより作成されたものであるからである。
●ハードウエア構成
続いて、図11を用いて、実施形態に係る画像表示システムを構成する各装置のハードウエア構成を説明する。なお、図11に示されているハードウエア構成は、必要に応じて構成要素が追加または削除されてもよい。
○画像処理装置のハードウエア構成○
まず、図11を用いて、画像処理装置10のハードウエア構成を説明する。図11は、画像処理装置のハードウエア構成の一例を示す図である。画像処理装置10の各ハードウエア構成は、100番台の符号で示されている。画像処理装置10は、コンピュータによって構築されており、図11に示されているように、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、HD(Hard Disk)104、HDD(Hard Disk Drive)コントローラ105、ディスプレイ106、外部機器接続I/F(Interface)108、ネットワークI/F109、バスライン110、キーボード111、ポインティングデバイス112、DVD-RW(Digital Versatile Disk Rewritable)ドライブ114、およびメディアI/F116を備えている。
これらのうち、CPU101は、画像処理装置10全体の動作を制御する。ROM102は、IPL(Initial Program Loader)等のCPU101の駆動に用いられるプログラムを記憶する。RAM103は、CPU101のワークエリアとして使用される。HD104は、プログラム等の各種データを記憶する。HDDコントローラ105は、CPU101の制御にしたがってHD104に対する各種データの読み出しまたは書き込みを制御する。ディスプレイ106は、カーソル、メニュー、ウィンドウ、文字、または画像等の各種情報を表示する。なお、ディスプレイ106は、入力手段を備えたタッチパネルディスプレイであってもよい。外部機器接続I/F108は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USBメモリまたはプリンタ等である。ネットワークI/F109は、通信ネットワーク5を利用してデータ通信をするためのインターフェースである。バスライン110は、図11に示されているCPU101等の各構成要素を電気的に接続するためのアドレスバスまたはデータバス等である。
また、キーボード111は、文字、数値、各種指示等の入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス112は、各種指示の選択もしくは実行、処理対象の選択、またはカーソルの移動等を行う入力手段の一種である。なお、入力手段は、キーボード111およびポインティングデバイス112のみならず、タッチパネルまたは音声入力装置等であってもよい。DVD-RWドライブ114は、着脱可能な記録媒体の一例としてのDVD-RW113に対する各種データの読み出しまたは書き込みを制御する。なお、着脱可能な記録媒体は、DVD-RWに限らず、DVD-RまたはBlu-ray(登録商標) Disc(ブルーレイディスク)等であってもよい。メディアI/F116は、フラッシュメモリ等の記録メディア115に対するデータの読み出しまたは書き込み(記憶)を制御する。
○画像配信装置のハードウエア構成○
図11は、画像配信装置のハードウエア構成の一例を示す図である。画像配信装置30の各ハードウエア構成は、括弧内の300番台の符号で示されている。画像配信装置30は、コンピュータによって構築されており、図11に示されているように、画像処理装置10と同様の構成を備えているため、各ハードウエア構成の説明を省略する。
○表示装置のハードウエア構成○
図11は、表示装置のハードウエア構成の一例を示す図である。表示装置90の各ハードウエア構成は、括弧内の900番台の符号で示されている。表示装置90は、コンピュータによって構築されており、図11に示されているように、画像処理装置10と同様の構成を備えているため、各ハードウエア構成の説明を省略する。
なお、上記各プログラムは、インストール可能な形式または実行可能な形式のファイルで、コンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。記録媒体の例として、CD-R(Compact Disc Recordable)、DVD(Digital Versatile Disk)、Blu-ray Disc、SDカード、USBメモリ等が挙げられる。また、記録媒体は、プログラム製品(Program Product)として、国内または国外へ提供されることができる。例えば、画像処理システム3は、本発明に係るプログラムが実行されることで本発明に係る画像処理方法を実現する。
●機能構成
続いて、図12乃至図15を用いて、実施形態に係る画像表示システムの機能構成について説明する。図12および図13は、画像表示システムの機能構成の一例を示す図である。なお、図12および図13は、図1に示されている装置または端末のうち、後述の処理または動作に関連しているものを示す。
○画像処理装置の機能構成○
まず、図12を用いて、画像処理装置10の機能構成について説明する。画像処理装置10は、送受信部11、受付部12、判断部13、構造推定部14、検知部15、位置推定部16、領域推定部17、決定部18、配置部19、画像処理部20、入力部21および記憶・読出部29を有している。これら各部は、図11に示されている各構成要素のいずれかが、HD104からRAM103上に展開された画像処理装置用プログラムに従ったCPU101からの命令によって動作することで実現される機能または手段である。また、画像処理装置10は、図11に示されているROM102、RAM103およびHD104によって構築される記憶部1000を有している。
送受信部11は、主に、ネットワークI/F109に対するCPU101の処理によって実現され、通信ネットワーク5を介して、他の装置または端末との間で各種データまたは情報の送受信を行う。
受付部12は、主に、キーボード111またはポインティングデバイス112に対するCPU101の処理によって実現され、利用者から各種の選択または入力を受け付ける。判断部13は、CPU101の処理によって実現され、各種判断を行う。
構造推定部14は、CPU101の処理によって実現され、構造物の内部の空間が全方位で示されている背景画像に基づいて、空間の構造を推定する。
検知部15は、CPU101の処理によって実現され、背景画像に示されている被写体を検知する。
位置推定部16は、CPU101の処理によって実現され、検知部15によって検知された被写体の空間上の位置を推定する。
領域推定部17は、CPU101の処理によって実現され、構造推定部14によって推定された空間の構造に基づいて、空間における仮想対象物を配置可能な領域を推定する。
決定部18は、CPU101の処理によって実現され、背景画像に示されている空間の用途に基づいて、空間に配置する仮想対象物を決定する。
配置部19は、CPU101の処理によって実現され、領域推定部17によって推定された領域に対して仮想対象物を配置する。配置部19は、例えば、領域推定部17によって推定された配置可能領域に対して、決定部18によって決定された仮想対象物のレイアウトを行う。
画像処理部20は、CPU101の処理によって実現され、背景画像に対して、仮想対象物を、領域推定部17によって推定された領域に合成する。画像処理部20は、例えば、配置部19による仮想対象物のレイアウト結果に基づいて、配置された仮想対象物に対するレンダリング処理を行う。
入力部21は、主に、外部機器接続I/F108に対するCPU101の処理によって実現され、外部機器から各種データまたは情報の入力を受け付ける。
記憶・読出部29は、主に、CPU101の処理によって実現され、記憶部1000への各種データ(または情報)の記憶、および記憶部1000から各種データ(または情報)の読出を行う。
○画像データ管理テーブル
図13は、画像データ管理テーブルの一例を示す概念図である。記憶部1000には、図13に示されている画像データ管理テーブルによって構成されている画像データ管理DB1001が構築されている。この画像データ管理テーブルは、画像データを識別する画像ID、仮想対象物の選択条件を識別する条件ID、撮影画像データおよび処理画像データを関連づけて管理している。
○条件情報管理テーブル
図14は、条件情報管理テーブルの一例を示す概念図である。条件情報管理テーブルは、仮想対象物の配置条件を示す条件情報を管理する。記憶部1000には、図14に示されている条件情報管理テーブルによって構成されている条件情報管理DB1002が構築されている。この条件情報管理テーブルは、仮想対象物の選択条件を識別する条件ID、部屋の用途およびサイズ、並びに選択する仮想対象物の一例である家具のスタイルおよびセットの情報を関連づけて管理している。
○画像配信装置の機能構成○
次に、図13を用いて、画像配信装置30の機能構成について説明する。画像配信装置30は、送受信部31、表示制御部32、判断部33、座標検出部34、算出部35、画像処理部36および記憶・読出部39を有している。これら各部は、図11に示されている各構成要素のいずれかが、HD304からRAM303上に展開された画像配信装置用プログラムに従ったCPU301からの命令によって動作することで実現される機能または手段である。また、画像配信装置30は、図11に示されているROM302、RAM303およびHD304によって構築される記憶部3000を有している。
送受信部31は、主に、ネットワークI/F309に対するCPU301の処理によって実現され、通信ネットワーク5を介して、他の装置または端末との間で各種データまたは情報の送受信を行う。
表示制御部32は、主に、CPU301の処理によって実現され、表示装置90に各種画像または文字等を表示させる。表示制御部32は、例えば、Webブラウザまたは専用のアプリケーションを用いて、表示装置90に画像データを配信(送信)することで、表示装置90に各種画面を表示させる。表示装置90に表示される各種画面は、例えば、HTML(HyperText Markup Language)、XHTML(Extensible HyperText Markup Language)、CSS(Cascading Style Sheets)、またはJavaScript(登録商標)等で定義される。判断部33は、CPU301の処理によって実現され、各種判断を行う。
座標検出部34は、CPU101の処理によって実現され、画像処理装置10によって生成された処理画像に示されている仮想対象物の座標位置を検出する。算出部35は、CPU301の処理によって実現され、座標検出部34によって検出された座標位置に基づいて、後述の付加情報を処理画像に重畳させるための仮想対象物の中心位置を算出する。画像処理部36は、CPU301の処理によって実現され、画像処理装置10によって生成された処理画像に対する所定の画像処理を行う。
記憶・読出部39は、主に、CPU301の処理によって実現され、記憶部3000への各種データ(または情報)の記憶、および記憶部3000から各種データ(または情報)の読出を行う。
○表示装置の機能構成○
次に、図13を用いて、表示装置90の機能構成について説明する。表示装置90は、送受信部91、受付部92および表示制御部93を有している。これら各部は、図11に示されている各構成要素のいずれかが、HD904からRAM903上に展開された表示装置用プログラムに従ったCPU901からの命令によって動作することで実現される機能または手段である。
送受信部91は、主に、ネットワークI/F909に対するCPU901の処理によって実現され、通信ネットワーク5を介して、他の装置または端末との間で各種データまたは情報の送受信を行う。
受付部92は、主に、キーボード911またはポインティングデバイス912に対するCPU901の処理によって実現され、利用者から各種の選択または入力を受け付ける。
表示制御部93は、主に、CPU901の処理によって実現され、ディスプレイ906に、各種画像または文字等を表示させる。表示制御部93は、例えば、Webブラウザまたは専用のアプリケーションを用いて画像配信装置30にアクセスにして、画像配信装置30から配信されるデータに対応する画像を、表示手段の一例であるディスプレイ906に表示させる。
●実施形態の処理または動作
○画像合成処理○
続いて、図16乃至図43を用いて、実施形態に係る画像表示システムの処理または動作について説明する。まず、図16乃至図32を用いて、画像処理装置10における画像合成処理について説明する。以下の説明において、構造物の内部の空間の一例として、不動産物件である部屋の例を示し、仮想対象物の一例として部屋に配置される家具の例を示す。図16は、画像処理装置における処理の一例を示すフローチャートである。
まず、画像処理装置10は、構造物の内部の空間の一例である所定の部屋が撮影された撮影画像の入力を受け付ける(ステップS1)。具体的には、画像処理装置10の送受信部11は、例えば、撮影装置70によって撮影された所定の構造物の内部の空間の撮影画像を、通信ネットワーク5を介して撮影装置70から受信する。なお、画像処理装置10は、画像合成処理を行う際に、撮影装置70から処理対象の撮影画像の入力を受け付ける構成であってもよいし、予め撮影装置70から受信された撮影画像を記憶部1000に記憶しておいて、画像合成処理を行う際に、記憶された撮影画像を読み出す構成であってもよい。また、画像処理装置10は、外部機器接続I/F108を介して撮影装置70と直接接続することで、入力部21によって撮影画像の入力を受け付ける構成であってもよい。さらに、画像処理装置10は、例えば、撮影装置70が通信機能を備えていないような場合もあるため、撮影画像の入力を撮影装置70から直接受け付ける場合に限られず、不動産業者が有する所定の通信装置を介して撮影画像の入力を受け付ける構成であってもよい。
次に、判断部13は、ステップS1で入力された撮影画像を用いて、撮影画像に写る部屋に対する家具配置の適否を判断する(ステップS2)。撮影画像に写る部屋は、例えば、既に家具が置かれていない空の部屋、および家具の配置を行うための所定のスペースを有する部屋であることが好ましい。そのため、判断部13は、撮影画像に写る部屋が、屋外等の構造物の外部の空間、または極端に狭いもしくは物が置かれている等によって家具配置スペースを確保できないと判断する場合、撮影画像に写る部屋が家具配置に適していないと判断する。
判断部13は、家具配置に適すると判断する場合(ステップS2のYES)、処理をステップS3へ移行させる。一方で、判断部13は、家具配置に適していないと判断する場合(ステップS2のNO)、処理をステップS9へ移行させる。ステップS9において、画像処理装置10は、画像合成処理を行わずに、家具配置に適さない旨を示すエラーメッセージを出力する。具体的には、画像処理装置10の記憶・読出部29は、ステップS1で入力された撮影画像に、エラーメッセージを関連づけて記憶部1000に記憶させる。これにより、該当する撮影画像を閲覧する閲覧者は、撮影画像とともにエラーメッセージを把握することができる。なお、画像処理装置10は、エラーメッセージを出力した後に、ステップS3以降の処理を実行するように構成してもよい。ただし、この場合、後述するステップS7において画像合成処理において配置できる家具が存在せず、後述するステップS8において記憶される処理画像データは、家具が配置されていない画像となる可能性が高い。
次に、構造推定部14は、ステップS1で入力された撮影画像を用いて、撮影画像に写る部屋の構造を推定する(ステップS3)。部屋の構造を推定する方法としては、例えば、画像処理により撮影画像に写る被写体の直線を検知して、検知した直線の消失点を求め、床、壁または天井等の境目から部屋の構造を推定する方法が知られている。全天球画像を用いた場合、部屋の構造を推定するために必要な要素である天井、床および壁等が全て撮影されるため、部屋の一部のみしか写っておらず、消失点の検知以外の推定が困難な通常の平面画像を用いた場合と比較して構造推定の確度が高まるという利点がある。また、消失点の検知、床と壁もしくは天井と壁の境界の検知、または検知結果からの三次元構造の推定に、機械学習を用いる方法も知られている。構造推定部14は、既知のいずれの手法を用いた構造推定を行ってもよい。
○構造推定処理
ここで、図17乃至図20を用いて、画像処理装置10における構造推定処理の一例を詳細に説明する。図17は、構造推定処理の一例を示すフローチャートである。
まず、構造推定部14は、撮影画像を用いて、撮影画像に写る空間の頂点を推定する(ステップS31)。具体的には、構造推定部14は、例えば、上述のように、撮影画像に対する画像処理によって、撮影画像に写る被写体の線を検知し、検知した線から算出された消失点を、空間の頂点として推定する。
図18は、撮影画像に対する構造推定結果の一例を説明するための図である。図18は、正距円筒図法により表された部屋構造の一例を示す。上述のように、正距円筒図法において、鉛直な線は直線で投影され、水平な線は曲線で投影される。これらを部屋の構造に当てはめた場合、多くの部屋は、直線を基に相互に鉛直に交わる形状となる。そのため、構造推定部14は、正距円筒図法により表された画像を用いることで、部屋の大まかな構造を推定することができる。構造推定部14は、部屋を構成する要素、線、およびそれらから構成される面を検知することで大まかな部屋の構造を推定する。図18の例は、直方体の部屋を撮影した例であり、構造推定部14は、水平方向に4面、上下に2面の面があることが推定する。
次に、構造推定部14は、ステップS31による頂点の推定結果から部屋の形状分類が可能である場合(ステップS32のYES)、処理をステップS33へ移行させる。一方で、構造推定部14は、部屋の形状分類ができない場合(ステップS32のNO)、ステップS31の処理を継続する。図19は、構造推定処理によって推定される空間構造の形状の一例を示す図である。現実の部屋の形状は多様であり、詳細な三次元情報を得るためにはレーザースキャナ、トータルステーション等での測定が必要であるが、手間がかかり高価なプロセスとなる。家具を仮想的に配置する場合には、詳細な復元は不要であり、条件を絞って簡素化されたもので充分である。すなわち、大まかな部屋の構造が分かればよいため、構造推定部14は、例えば、部屋が直線と平面で構成されており、その直線が基本的に90°で交わるという仮定(マンハッタンワールド仮説(Manhattan World Assumption))を用いることで、条件が絞り込む。さらに、家具を配置できる程度の復元を目指すため、構造推定部14は、例えば、図19に示されているような八つの頂点からなる直方体、または12の頂点からなるL字型の部屋として分類する。
次に、構造推定部14は、撮影画像に写る空間の大きさ(スケール)を推定する(ステップS33)。具体的には、構造推定部14は、ステップS31およびS32の手法によって、部屋の各頂点の正距円筒図法上での座標を取得する。構造推定部14は、取得された正距円筒図法上の座標を、三次元空間の座標に変換する。
構造推定部14は、撮影装置70が鉛直に設置されているか、または重力加速度方向を検知して補正を行う。そして、構造推定部14は、正距円筒図法上の南極(例えば、図9(A)に示されているPL1)が重力加速方向と一致している状態で、かつマンハッタンワールド仮説に従っていると仮定することで、部屋の構造を推定することができる。
マンハッタンワールド仮説は、人間が造った人工物の多くは直交座標系に平行に作られているという仮説であり、これによって、壁または天井等をx、y、z方向に平行な拘束があるものと仮定することができる。このような仮定に従うと、図20に示されているように、撮影装置70の高さが床からhの位置にあるとして、床と壁の境目の点Aと天井と壁の境目の点Bの距離は、撮影装置70の設置高さhを用いて表現することができる。一方で、この方法によっては部屋の大まかな形状が分かるだけであって、その大きさ(スケール)は正確にはわからない。極端な例では、部屋の高さが20cmのミニチュアであるか2mの一般的な部屋のサイズであることもわからないため、家具を配置するための部屋のスケールをある程度把握する必要がある。
部屋のスケールを算出する方法として、構造推定部14は、例えば、撮影装置70の設置高さhを既知とし、図8で表される上記(式3)を用いて、俯角θに位置する点Aを算出する。また、構造推定部14は、物理的手段によって撮影装置70の設置高さを測定する方法として、撮影装置70の光学中心までの距離を、レーザ測距等の手法で測定してもよい。さらに、構造推定部14は、画像処理によって撮影装置70の設置高さを測定する方法として、床上に既知の長さのスケールを用意して撮影装置70で撮影することで、スケールまでの距離を測定してもよい。
また、構造推定部14は、部屋の高さを既知として部屋のスケールを推定してもよい。部屋の高さは、日本国内では建築基準法で天井高が210cm以上と規定されているが、一般的なマンションの天井高は240cm~250cmである。アメリカでは約8フィート(243cm)程度であり、日本の場合と近い。部屋の高さにばらつきはあるものの、±10cm程度であれば、スケールの精度は5%以下で合致することになり、大まかなスケールとしては機能する。さらに、構造推定部14は、ステレオ視による対象物までの距離を測定する方法として、撮影装置70が有する複数のレンズの光学中心の視差の存在を生かし、レンズ間の共通部分を用いて所定の対象物との距離を測定してもよい。さらに、構造推定部14は、複数の画像から三次元構造を推定するいわゆるStructure from motionとIMU(Inertial Measurement Unit)データからスケールを推定する方法として、撮影装置70のIMUデータから移動距離が大まかに推定可能なため、その値に基づいてスケールを推定してもよい。
構造推定部14は、ステップS33における部屋のスケールを算出する方法として、上記のいずれの方法を用いてもよい。
そして、構造推定部14は、ステップS31~ステップS33で推定された部屋の構造に基づいて、各頂点の座標情報を取得する(ステップS34)。構造推定部14は、一連のプロセスの結果としてn個(n=8or12)の部屋の各頂点の座標情報を取得する。構造推定部14は、例えば、撮影装置70の光学中心を限定として、図10(B)に示されているようなXYZ座標で表される座標Cn(Cn=((x0,y0,z0),(x1,y1,z1),…(xn,yn,zn))を取得する。なお、構造推定部14は、図10(A)に示されているような極座標表示の座標を取得してもよい。
このように、構造推定部14は、画像処理装置10に入力された撮影画像を用いて、撮影画像に写る部屋の大まかな構造を推定することができる。
図16に戻り、画像処理装置10の検知部15は、ステップ1で入力された撮影画像に写る部屋に存在する被写体を検知する(ステップS4)。ここで、画像処理装置10は、部屋の構造が分かっただけでは、家具を適切に配置できない場合がある。図21は、仮想対象物の配置に失敗した場合の画像の一例を示す図である。図21に示されているように、部屋の通路にベッドが配置される等の実際の家具の配置には適さない位置に家具が配置してしまうことが起こりえる。そのため、画像処理装置10は、家具の自然なレイアウトを実現するため、検知部15によって撮影画像に写る被写体を検知し、自然な家具の配置可能箇所を推定する。
ここで、検知部15によって検知される被写体は、部屋に備え付けられた物体のような撮影画像に写る部屋の構造上の物体、すなわち部屋に予め備え付けられた物体のうち、部屋のレイアウトにかかわるものである。検知部15によって検知される被写体は、例えば、ドア、窓、フレーム、ふすま、電気スイッチ、クローゼット、押し入れ、キッチン(台所)、通路、エアコン、コンセント、照明用コンセント、暖炉、梯子、階段または火災報知器等である。
画像に写る被写体を検知する方法として、機械学習発達以降多くの物体検知アルゴリズムが知られている。代表的な方法としては、被写体の検知結果を四角(バウンディングボックス)で表現するものがある。また、被写体を領域で示すセマンティックセグメンテーションと称される方法を用いることで、被写体をより高い精度で検知することができる。検知部15は、ステップS4における被写体の検知方法は、既知のいずれの方法を用いてもよい。また、検知部15は、既知の方法により、画像に写る被写体の種類を検知する。画像に写る被写体の種類とは、例えば、画像に写る被写体が何であるか(例えば、ドアであるかまたは窓であるか等)を特定するための情報である。図22は、撮影画像に対する被写体検知結果の一例を説明するための図である。図22は、撮影画像に写る被写体から、検知部15によってキッチン、エアコン、窓、ドアおよび通路が検知された結果を示す。
このように、画像処理装置10は、入力された撮影画像を用いて、撮影画像に写る部屋の構造の推定および被写体の検知を行うことで、撮影画像に写る部屋の状態を推定することができる。また、画像処理装置10は、ステップS3で推定された部屋の構造に基づいて被写体検知を行うことで、部屋の構造上で被写体が備え付けられている可能性のある箇所を推定可能なため、処理の効率を向上させることができる。なお、画像処理装置10は、ステップS3とステップS4の処理を並行して行ってもよいし、ステップS3とステップ4の順序を入れ替えて行ってもよい。
次に、画像処理装置10の位置推定部16は、ステップS4で検知された被写体の部屋の内部における位置を推定する(ステップS5)。被写体の検知の結果は、バウンディングボックスを用いた場合は矩形、セマンティックセグメンテーションを用いた場合は該当範囲の塗りつぶしピクセルの形で表される。これらは、図23(A)に示されているような撮影装置70の単位球上での表現であり、図22に示されているような正距円筒図法上で表現することも可能である。位置推定部16は、図23(A)に示されているような単位球上の被写体検知の結果を、三次元で再構成された部屋の形状に投影する。位置推定部16は、例えば、検知された被写体のうち、図23(B)に示されているようなドア、窓および通路のような通常壁に存在する被写体について、構造推定部14によって推定された部屋の構造に投影する。
この場合、位置推定部16は、検知部15によって検知された被写体の種類に応じた仮想物体を投影する。位置推定部16は、例えば、検知された窓の位置に光源となる仮想物体を配置し、後述の画像処理部20によって配置された仮想物体の画像を合成することで、部屋へ入射する外光等を、より自然に表現することができる。このように、位置推定部16は、結果として、部屋の構造上の被写体の位置を推定して割り当てる。
なお、位置推定部16における部屋の構造上の被写体の推定位置は必ずしも正確でなくてもよい。正距円筒図法上での被写体検知の場合、実際の被写体の位置とのずれが生じるが、被写体検知の結果は、被写体そのものよりも大きめに検知されるため、後述の家具の配置可能領域の推定に関してはマージンがあることになり、レイアウト上の大きな問題とはならない。
次に、画像処理装置10は、家具のレイアウト処理を行う(ステップS6)。人間が実際に家具のレイアウトを行う場合、部屋の構造と部屋の構造上の被写体の位置に基づいてレイアウトを行う。人間が行う家具のレイアウトには、慣習等に基づく大まかなルールがあり、家具のレイアウトを自動で行う場合、人間が行うレイアウトのルールに従ってレイアウトを行う方法または数多くの過去のレイアウト実績から機械学習でレイアウトを最適化する方法が知られている。画像処理装置10は、構造推定部14によって推定された部屋の構造と検知部15によって検知された被写体に対して簡易なルールに基づいて、家具のレイアウトを行う。
○レイアウト処理
ここで、図24乃至図29を用いて、画像処理装置10におけるレイアウト処理の一例を詳細に説明する。図24は、仮想対象物のレイアウト処理の一例を示すフローチャートである。図24は、部屋の用途に応じて配置する家具を決定し、配置可能な領域に対して、家具を順番に自動的に配置していく処理を示す。
まず、画像処理装置10の決定部18は、配置する家具を決定する(ステップS61)。決定部18は、例えば、部屋の用途および大きさによって、配置する家具を決定する。具体的には、決定部18は、条件情報管理DB1002に記憶された条件情報と、部屋の用途を示す用途情報とに基づいて、配置する家具を決定する。用途情報は、対象の部屋を撮影した不動産業者等によって指定された情報である。画像処理装置10は、例えば、撮影装置70等の外部装置から送信された用途情報を送受信部11によって受信する。なお、用途情報は、ステップS1で入力された撮影画像ともに画像処理装置10に入力されてもよいし、画像処理装置10に対して直接指定された情報であってもよい。
ここで、用途情報は、例えば、部屋の用途および部屋のサイズの情報を含む。部屋の用途は、部屋の利用目的であって、例えば、リビング、ベッドルームまたは子供部屋のような区分けである。一般的に部屋そのものの状態から部屋の用途を判断することは難しいため、部屋を撮影した不動産業者等のユーザの意図で選択するように構成することが好ましい。なお、部屋の用途は、例えば、キッチンがある広い部屋はリビングとして、窓が少ない部屋は寝室として推定し、撮影画像に写る部屋の構造および被写体に応じて自動的に構造推定部14によって推定される構成であってもよい。
家具のレイアウトは多様であり、配置する家具の種類は個人の嗜好や文化圏によっても異なる。また、ホームステージングの目的として部屋を美しく見せることも必要であり、審美的な観点も求められ、家具のレイアウトは、様々な配置パターンが存在する。また、家具の種類は、部屋の使用用途、部屋のサイズ、家具のスタイル、季節またはカラーコーディネート等の様々な要因で決定される。
そこで、決定部18は、例えば、用途情報を検索キーとして条件情報管理DB1002(図15参照)を検索することで、用途情報と同じ用途およびサイズに関連づけられた条件情報を読み出す。そして、決定部18は、読み出された条件情報に示されている家具のスタイルまたは家具セットに基づいて、記憶部1000に記憶または通信端末80から送信された家具情報に示されている家具のうち、配置する家具を選択する。
図15に示されている例において、条件情報は、部屋の用途および部屋のサイズごとに、異なる家具セットを定義している。例えば、リビングとベッドルームのそれぞれについて部屋のサイズに応じて三段階(L,M,S)に分類されている。例えば、大きい部屋向けの家具セットには、ダイニングテーブルおよび大きめのソファー等が定義されており、小さな部屋向けの家具セットには、シングルソファーおよびテーブルが定義されている。また、条件情報は、家具セットに変えて、家具のスタイルが定義されている。この場合、決定部18は、記憶部1000に記憶または通信端末80から送信された家具情報に示されている家具のうち、定義された家具のスタイルに応じた家具セットを選択する。家具のスタイルは、例えば、ナチュラル、ポップ、モダン、和、北欧風またはアジアン等である。なお、条件情報は、家具セットまたは家具のスタイルの他に、カラーコーディネートまたは季節等の情報を含んでもよい。
次に、画像処理装置10は、ステップS61で決定された配置する家具の情報である家具情報を取得する(ステップS62)。家具情報は、家具の3Dモデルを示すデータ、および家具の配置に関するルールを示す家具設定データを含む。具体的には、画像処理装置10の記憶・読出部29は、記憶部1000に記憶された家具情報を読み出すことにより、決定された家具の家具情報を取得する。家具情報は、家具メーカ等が有する通信端末80から画像処理装置10へ送信され、予め記憶部1000に記憶されている。なお、画像処理装置10の送受信部11は、ステップS62において、画像処理装置10からの要求に応じて通信端末80から送信された家具情報を受信することで、決定された家具の家具情報を取得する構成であってもよい。
次に、領域推定部17は、ステップS3で推定された部屋の構造、およびステップS5で推定された被写体の位置に基づいて、家具を配置可能な領域を推定する(ステップS63)。図25および図26を用いて、配置可能領域について具体的に説明する。図25は、具体例として、家具の一例であるラグの3Dモデルのレイアウトアルゴリズムを示す図である。図25(A)は、撮影装置70の位置と構造推定部14によって推定された部屋構造を示し、図25(B)は、領域推定部17によって推定された配置可能領域である部屋の中心にラグが置かれた状態を示す。ラグやカーペットは、床に敷くものであるため、部屋の構造が分かっていれば、ドアや窓等の被写体の位置によらずに配置可能な家具である。
図26は、より複雑なケースとして、周囲の状況を把握する必要がある家具として、ベッドの3Dモデルのレイアウトアルゴリズムを示す図である。図26(A)は、撮影装置70の位置と構造推定部14によって推定された部屋構造を示し、図26(B)は、領域推定部17によって推定された配置可能領域を示し、図26(C)は配置可能領域にベッドが置かれた状態を示す。部屋の中心にラグが置かれた状態を示す。
領域推定部17は、ステップS62で取得された家具設定データに示されている家具の設置についての基本的なルールに基づいて、対象となる家具の配置可能領域を推定する。ベッドの設置に関するルールは、例えば、ベッドを床上に置く(宙に置かない)、壁沿いに置く、通路およびドアの前に置かない(窓の前には置いてもよい)等である。領域推定部17は、このようなルールに基づいて、構造推定部14によって推定された部屋の構造と検知部15によって検知された被写体の位置に基づいて、図26(B)に示されているようなベッドの配置可能領域を推定する。
また、ベッドの設置に関するルールは、例えば、ランダムに配置する、ベッドを部屋のコーナーにつける、および部屋の辺の真ん中に配置するように置く等のサブルールを含む。領域推定部17は、配置可能領域およびサブルールに基づいて、ベッドを配置する位置を決定する。なお、領域推定部17は、家具設定データに示されているルールによって家具を配置できないときは、その家具の配置を中止し、他の家具の配置を行う。
次に、画像処理装置10の配置部19は、ステップS63で取得された家具情報に基づいて、家具の3Dモデルの配置を決定する(ステップS64)。家具の3Dモデルは、3ds.max、.blend、.stl、または.fbx等の様々なファイル形式のフォーマットが存在し、いずれのフォーマットが用いられてもよい。一方で、通常家具の3Dモデルは、設置方向および中心位置が規定されていないため、初期の設置方向および中心点のルールを設定し、設定されたルールに従って3Dモデルを編集するか、別途変換のためのデータを用意しておく必要がある。家具の設置方向および中心点のルールは、家具設定データに含まれていてもよいし、3Dモデル選定の際に、別途データベースとして設定されてもよい。
図27は、家具の3Dモデルの一例を示す図である。図27に示されているテーブルの3Dモデルは、仮想空間上の座標(0,-1,0)を正面とし、人が面する方向を正面に合わせている。また、図27に示されているテーブルの3Dモデルは、床に面する面の中心を家具の中心と定義している。家具の中心は、家具の接地面を基準にして決定される。また、例えば、天井から下がるライトの中心は、天井と接する点となる。
図28は、家具の3Dモデルのレイアウト結果の一例を示す図である。配置部19は、ステップS62で推定された配置可能領域および家具設定データに示されている配置ルールに基づいて、家具の配置位置として座標と向きを算出する。これにより、配置部19は、ステップS61で決定された家具の配置を決定することができる。ここで、配置部19によって決定される家具の配置を示すレイアウト情報は、家具の種類、並びに家具の向き、位置およびサイズの情報を含む。
そして、配置部19は、ステップS71で決定された全ての家具の配置が完了した場合(ステップS75のYES)、処理を終了する。一方で、配置部19は、ステップS71で決定された全ての家具の配置が完了していない場合(ステップS75のNO)、全ての家具の配置が完了するまでステップS74の処理を繰り返す。なお、家具の配置の順序は、大きいものから配置することで、より多くの家具を配置することができる。
このように、画像処理装置10は、撮影画像に写る部屋の用途に応じて、用途に適する家具の3Dモデルを自動的に配置することができる。また、画像処理装置10は、推定された部屋の構造および検知された被写体の位置に基づいて推定される配置可能領域に対して、決定された家具の3Dモデルを配置することで、閲覧者にとってのより自然な家具の配置を実現することができる。
図16に戻り、画像処理装置10の画像処理部20は、ステップS1で入力された撮影画像と、ステップS6で配置された家具の3Dモデルとの画像合成処理を行う(ステップS7)。具体的には、画像処理部20は、ステップS1で入力された撮影画像、ステップS3で推定された部屋の構造、およびステップS6における家具のレイアウト情報を用いて、レンダリングを行う。レンダリングには、例えば、3dsMax、Blender、Maya、各種CADツール、Unity、Webブラウザ等のCGツールを用い、好ましくはCGツールの動作をスクリプトで操作できる機能が備わったツールを用いる。また、レンダリングは、正距円筒図法上の形式でレンダリングするのが好ましいが、一部を透視投影またはその他の投影方法で変換した投影方式でレンダリングしてもよい。さらに、レンダリングは、ラスタライズ方式、レイトレーシング方式のいずれであってもよいが、品質を高めるという観点でレイトレーシング方式が好ましい。
まず、配置部19は、ステップS6でのレイアウト結果に基づき、CGツール上で家具の3Dモデルを配置する。図29は、3D空間モデル上での家具の3Dモデルのレイアウト結果の一例を示す図である。家具のレイアウト情報は、上述のように、家具の種類、並びに家具の向き、位置およびサイズを含む。画像処理部20は、CGツール上のスクリプトによって解読されて指定された家具の3Dモデルを3D空間上に配置していく。なお、家具のレイアウト情報は、家具の色またはテクスチャ等の家具の3Dモデルに対する補正情報を含んでもよい。図29の例は、3D空間上にベッド、ラグ、デスクおよび観葉植物が配置された例である。
また、配置部19は、ステップS3で推定された部屋の構造の全てまたは一部を、CGツール上で表現してもよい。部屋の構造すなわち床、天井および壁は、テクスチャを用いた表現であってもよいし、透明な表現であってもよい。図29の例は、手前の壁と天井以外を表現している。透明な表現とした場合、画像処理部20は、透明にした面をシャドーキャッチャーとして機能するように設定し、影をレンダリングして、CGの質感を高めることができる。そして、画像処理部20は、配置部19によって配置された3Dモデルを、ステップS1で入力された撮影画像に合成する処理を行う。
図30は、シャドーキャッチャーを利用した処理画像の一例を示す図である。図30に示すように、画像処理部20は、シャドーキャッチャー機能を利用することで、何もないところに影を落としたり、撮影画像に写る被写体の上に影を落としたりすることができる。このように、画像処理部20は、レンダリング処理を行うことで、一枚のレンダリング画像として一貫した影品質を保つことができる。
図31は、Image Based lightingを利用した画像処理の例を示す図である。図31(B)に示されているように、画像処理部20は、例えば、撮影画像をImage Based lightingのデータ背景として設定することで、図30(A)に示されている通常のlighting処理と比較して、より自然な光線を表現でき、質感を高めることができる。
そして、記憶・読出部29は、ステップS7で合成された処理画像データを、画像データ管理DB1001(図14参照)に記憶する(ステップS8)。この場合、記憶・読出部29は、ステップS7で合成された処理画像データを、合成処理前の撮影画像データ、家具の選択条件を識別する条件IDと関連づけて、画像データ管理DB1001に記憶する。
このように、画像処理装置10は、入力された撮影画像を用いて部屋の構造および被写体の位置を推定し、推定結果に応じた配置可能領域に家具の3Dモデルを配置することで、仮想対象物のより自然な配置を実現することができる。
図32は、仮想対象物が合成された処理画像に、空間推定結果および被写体検知結果の一例を示す図である。図32の例では、点線が部屋の構造である空間推定結果を示し、太枠が被写体検知結果を示す。画像処理装置10は、図32に示されているように、空間推定結果および被写体検知結果を踏まえた配置可能領域に、家具を配置することができる。
〇画像合成処理の応用例
続いて、図33乃至図36を用いて、上述の画像処理装置10における画像合成処理の応用例について説明する。まず、図33および図34を用いて、家具等の仮想対象物の配置禁止領域を推定する処理について説明する。
図33は、仮想対象物が撮影装置に近すぎる場合の例を示す図である。図33に示されているように、上述のように部屋の構造と被写体の検知結果に基づく配置可能領域に仮想対象物を配置した場合、仮想対象物が撮影装置70に近すぎて見栄えが悪くなる場合がある。そこで、図34(A)および(B)に示されているように、画像処理装置10は、撮影装置70の周囲を仮想対象物の配置を禁止する配置禁止領域として推定することで、画像合成後の処理画像の見栄えを改善することができる。
この場合、上述のステップS4において、検知部15は、撮影装置70の位置を検知する。ステップS63において、領域推定部17は、検知部15によって検知された撮影装置70の周囲を配置禁止領域として推定する。そして、領域推定部17は、構造推定部14によって推定された部屋の構造および位置推定部16によって推定された被写体の位置とともに、推定した配置禁止領域を考慮して仮想対象物の配置可能領域を推定する。なお、配置禁止領域は、二次元で定義されてもよいし、三次元で定義されてもよい。
次に、図35および図36を用いて、撮影画像に写る被写体を隠したい場合の処理について説明する。図35および図36では、撮影画像に撮影装置70や支持部材7が写り込む場合の例である。図35(A)に示されているように、撮影装置70では周囲の全方位が撮影されるため、撮影装置70によって撮影される撮影画像には、撮影装置70を支える撮影者の手または三脚もしくは一脚等の支持部材7が写り込んでしまい、部屋を美しく見せるという観点で好ましくない。そこで、画像処理装置10は、例えば、検知部15によって支持部材7を検知し、検知された支持部材7を隠すことができるサイズの任意の仮想物体を配置する。そして、画像処理装置10の画像処理部20は、撮影画像を背景として、配置された仮想物体の画像を合成することで、図35(B)に示されているように、支持部材7の写り込みを解消させる。
図36は、支持部材のサイズの一例を説明するための図である。検知部15は、ステップS4によって支持部材7を検知する。支持部材7の検知は、正距円筒図法上のまま検知してもよいし、鉛直下方向を透視投影で変換して検知してもよい。その結果、検知部15は、支持部材7の視野角φを取得する。図36に示されているように、撮影装置70の床からの設置高さをh、支持部材7の幅をwとすると、支持部材7の幅wは、w=2tan(φ/2)で表すことができる。配置部19は、幅w以上の大きさの任意の仮想物体を床上に配置し、画像処理部20は、配置された仮想物体の画像と撮影画像とを合成することで、支持部材7の写り込みを防止することができる。なお、検知部15によって検知される対象は、支持部材7に限られず、撮影装置70または撮影装置70で撮影を行う撮影者を検知し、検知された対象を隠すような任氏の仮想物体を配置してもよい。
○画像表示処理○
続いて、図37乃至図43を用いて、画像処理システム3における画像表示処理について説明する。図37は、画像表示処理の一例を示すシーケンス図である。図37は、上述の処理によって画像処理装置10に記憶された処理画像データを、画像配信装置30を用いて閲覧者に配信する際の処理を示す。
まず、表示装置90の送受信部91は、閲覧者の入力装置等に対する入力操作に基づいて、画像の表示を要求する旨を示す画像表示要求を、画像配信装置30に対して送信する(ステップS51)。この画像表示要求は、要求対象となる構造物が撮影された画像を識別する画像IDを含む。これにより、画像配信装置30の送受信部31は、表示装置90から送信された画像表示要求を受信する。
次に、画像配信装置30の送受信部31は、画像処理装置10に対して、表示装置90に配信する画像データの取得を要求する旨を示す画像取得要求を送信する(ステップS52)。この画像取得要求は、ステップS51で受信された画像IDを含む。これにより、画像処理装置10の送受信部11は、画像配信装置30から送信された画像取得要求を受信する。
次に、画像処理装置10の記憶・読出部29は、ステップS52で受信された画像IDを検索キーとして画像データ管理DB1001(図14参照)を検索することで、受信された画像IDと同じ画像IDに関連づけられた撮影画像データおよび処理画像データを読み出す(ステップS54)。送受信部11は、画像配信装置30に対して、ステップS54で読み出された撮影画像データおよび処理画像データを送信する。これにより、画像配信装置30の送受信部31は、画像処理装置10から送信された撮影画像データおよび処理画像データを受信する。
そして、表示制御部32は、受信された撮影画像データまたは処理画像データを、送受信部31を介して表示装置90に対して送信(配信)することで、表示装置90に撮影画像または処理画像を表示させる(ステップS55)。そして、表示装置90の表示制御部93は、画像配信装置30から送信(配信)されたデータに対応する撮影画像または処理画像を、ディスプレイ906に表示させる(ステップS56)。
図38(A)は、表示装置に表示された撮影画像の画面例であり、図38(B)は、表示装置に表示された処理画像の画面例である。図38(A)に示されている撮影画像400は、家具が配置される前の部屋の様子を示す画像である。一方で、図38(B)に示されている処理画像600は、図38(A)に示されている撮影画像400に対する家具の配置後の画像である。
また、表示装置90の受付部92は、表示装置90の入力手段を用いた所定の入力操作に応じて、家具配置の有無の選択を受け付ける(ステップS57)。これにより、閲覧者は、表示装置90に表示された画像に対する家具配置の有無を選択可能であり、家具が配置される前後の部屋の様子を、画像を切り替えて閲覧することができる。
このように、画像処理システム3は、家具の3Dモデルを合成した処理画像を表示装置90に表示させることで、閲覧者により具体的な部屋のイメージを伝えることができる。
○付加情報の表示
次に、図39乃至図41を用いて、図38(B)に示されているような処理画像600に、配置された家具に対応する付加情報を重畳させて表示させる処理について説明する。画像配信装置30は、表示装置90に表示された処理画像600を表示させる場合に、家具モデルを配置してレンダリングした画像に対して、注意を促すアイコン、家具を販売するWebサイトのリンクまたは家具の説明等の付加情報を表示させることができる。
図39は、付加情報管理テーブルの一例を示す概念図である。図13に示されているように、記憶部3000には、図39に示されている付加情報管理テーブルによって構成されている付加情報管理DB3001が構築されている。この付加情報管理テーブルは、画像データを識別する画像IDごとに、付加情報を識別する付加ID、家具の種類(タイプ)、付加情報の配置位置を示す座標情報およびWebサイトのリンクを関連づけて管理している。このうち、座標位置は、付加情報に対応する家具の3Dモデルの座標位置に基づいて、算出部35によって算出される。また、Webサイトのリンクは、例えば、上述の通信端末80から送信される家具情報に含まれている。
図40は、付加情報の配置位置の一例を説明するための図である。説明文、アイコンまたはリンク等の付加情報を撮影画像に重畳させる場合、付加情報を家具の位置の上に正確に重畳させる必要がある。そこで、図40に示されているように、座標検出部34は、処理画像に示されている家具の処理画像上での座標を検出する。算出部35は、家具の中心位置Dの座標を算出し、撮影装置70から算出した中心位置Dを指し示す方向を算出する。そして、画像処理部36は、算出部35によって算出された方向を示す処理画像上の座標位置に対して、家具に対応する付加情報を重畳させる。
重畳させる付加情報は、例えば、閲覧者に注意を促すアイコン、家具の説明文、またはWebサイトのリンクへのアクセスを受け付けるための画像である。画像配信装置30は、例えば、図36に示されているステップS54において送受信部31によって処理画像データを受信した際に、上述の付加情報の重畳処理を実行し、ステップS55において付加情報が重畳処理された処理画像を、表示装置90に表示させる。
図41は、付加情報が重畳された処理画像の画面例である。図41(A)に示されている処理画像600aには、付加情報として、処理画像600aに示されている家具に対応するWebサイトへのアクセスを受け付けるための画像710が表示されている。画像710は、例えば、処理画像600aに示されている家具を購入可能なEC(Electronic Commerce)サイト等のWebサイトへのリンクを含む。表示装置90に表示された処理画像600aを閲覧する閲覧者は、例えば、画像710を押下することで、該当するECサイトのページへアクセスすることができる。
図41(B)に示されている処理画像600aには、付加情報として、処理画像600aに示されている家具が合成された画像であることを示すアイコン730が表示されている。レイトレーシングまたはImage Based lighting技術を用いて仮想対象物の画像を合成した場合、処理画像のどの箇所がCGであるかが閲覧者にとってわかりづらいことがある。そこで、処理画像600bは、合成した家具の画像の上に注意を促すアイコン730を表示させることで、閲覧者に部屋に備え付けられた物体と合成された物体を、閲覧者に明確に区別させることができる。
なお、アイコン730は、常に表示させず、一定時間経過したら非表示にしてもよいし、閲覧者による入力操作によって表示と非表示を切り替えてもよい。また、アイコン730は、より閲覧者に注意を促すように、点滅表示する等の効果を加えてもよい。さらに、処理画像600bは、閲覧者がアイコン730を選択することで、家具に対する説明を表示させる構成であってもよい。
○画像表示の応用例
次に、図42および図43を用いて、表示装置90に表示される処理画像の応用例について説明する。図42に示されている処理画像600cは、配置された家具の画像が縁取りされた状態を示す。画像配信装置30の画像処理部36は、例えば、図36に示されているステップS54において送受信部31によって処理画像データを受信した際に、家具の画像を縁取るような合成画像を生成し、生成された処理画像600cを、表示装置90に表示させる。これにより、処理画像600cの閲覧者は、合成された仮想対象物(家具)の箇所を明確に把握することができる。
また、図43に示されている処理画像600dは、配置された家具の画像の色味を変更した状態を示す。画像配信装置30の画像処理部36は、例えば、図36に示されているステップS54において送受信部31によって処理画像データを受信した際に、家具の画像の色味を変更する処理を行い、処理された処理画像600dを、表示装置90に表示させる。これにより、処理画像600cの閲覧者は、色味が変更されて敢えて不自然な状態になった画像を見ることで、合成された仮想対象物(家具)の箇所を明確に把握することができる。
●実施形態の効果
以上説明したように、画像表示システム1は、撮影装置70によって撮影された撮影画像を用いて部屋の構造および被写体の位置を推定し、推定結果に応じた配置可能領域に家具の3Dモデルを配置することで、仮想対象物のより自然な配置を実現することができる。
また、画像表示システム1は、画像処理システム3によって家具の3Dモデルが合成された処理画像を表示装置90に表示させることで、画像の閲覧者に空の部屋の状態のみならず家具が配置された状態を閲覧されることができるため、閲覧者により具体的な部屋のイメージを伝えることができる。
●まとめ●
以上説明したように、本発明の一実施形態に係る画像処理方法は、画像処理システム3が実行する画像処理方法であって、構造物の内部の空間(例えば、部屋)が全方位で示された背景画像(例えば、全天球画像)から空間の構造を推定する構造推定ステップと、推定された構造に基づいて、空間における仮想対象物(例えば、家具の3Dモデル)を配置可能な領域を推定する領域推定ステップと、背景画像に対して、仮想対象物を推定された領域に合成する画像処理ステップと、を実行する。これにより、画像処理方法は、構造物の内部の空間に仮想対象物を適切な位置に自動配置することができる。
また、本発明の一実施形態に係る画像処理方法は、更に、背景画像(例えば、全天球画像)に示されている被写体を検知する検知ステップと、検知された被写体の空間上の位置を推定する位置推定ステップと、実行し、領域推定ステップは、推定された空間の構造および推定された被写体の位置に基づいて、領域を推定する。これにより、画像処理方法は、背景画像に示されている空間の構造の推定および被写体の検知を行うことで、空間の状態を推定することができる。また、画像処理方法は、推定された空間の構造に基づいて被写体検知を行うことで、空間の構造上で被写体が備え付けられている可能性のある箇所を推定可能なため、処理の効率を向上させることができる。
さらに、本発明の一実施形態に係る画像処理方法において、画像処理システム3は、仮想対象物(例えば、家具の3Dモデル)の配置条件を示す条件情報を記憶する条件情報管理DB1002(記憶手段の一例)を備える。そして、画像処理システム3が実行する画像処理方法は、記憶された条件情報から構造物の内部の空間(例えば、部屋)の用途に応じた仮想対象物を選択する決定ステップを実行する。これにより、画像処理方法は、背景画像に示されている空間の用途に応じて、用途に適する仮想対象物を自動的に配置することができる。
また、本発明の一実施形態に係る画像処理システムは、構造物の内部の空間(例えば、部屋)が全方位で示された背景画像(例えば、全天球画像)から空間の構造を推定する構造推定部14(構造推定手段の一例)と、推定された構造に基づいて、空間における仮想対象物(例えば、家具の3Dモデル)を配置可能な領域を推定する領域推定部17(領域推定手段の一例)と、背景画像に対して、仮想対象物を推定された領域に合成する画像処理部20(画像処理手段の一例)と、を備える。これにより、画像処理システム3は、構造物の内部の空間に仮想対象物を適切な位置に自動配置することができる。
さらに、本発明の一実施形態に係る画像処理システムは、画像処理部20(画像処理手段の一例)によって合成された処理画像を、表示装置90に表示させる表示制御部32(表示制御手段の一例)を備える。これにより、画像処理システム3は、仮想対象物が配置される前後の空間の様子を、画像を切り替えて閲覧者に閲覧させることができる。
●補足●
上記で説明した実施形態の各機能は、一または複数の処理回路によって実現することが可能である。ここで、本実施形態における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウエアによって各機能を実行するようプログラミングされたプロセッサ、並びに上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)、SOC(System on a chip)、GPU(Graphics Processing Unit)および従来の回路モジュール等のデバイスを含むものとする。
また、上記で説明した実施形態の各種テーブルは、機械学習の学習効果によって生成されたものでもよく、関連づけられている各項目のデータを機械学習にて分類付けすることで、テーブルを使用しなくてもよい。ここで、機械学習とは、コンピュータに人のような学習能力を獲得させるための技術であり,コンピュータが,データ識別等の判断に必要なアルゴリズムを、事前に取り込まれる学習データから自律的に生成し,新たなデータについてこれを適用して予測を行う技術のことをいう。機械学習のための学習方法は、教師あり学習、教師なし学習、半教師学習、強化学習および深層学習のいずれかの方法でもよく、さらに、これらの学習方法を組み合わせた学習方法でもよく、機械学習のための学習方法は問わない。
これまで本発明の一実施形態に係る画像処理方法、プログラムおよび画像処理システムについて説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態の追加、変更または削除等、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
1 画像表示システム
3 画像処理システム
5 通信ネットワーク
7 支持部材
10 画像処理装置
11 送受信部
14 構造推定部(構造推定手段の一例)
15 検知部
16 位置推定部
17 領域推定部(領域推定手段の一例)
18 決定部
19 配置部
20 画像処理部(画像処理手段の一例)
30 画像配信装置
31 送受信部
32 表示制御部(表示制御手段の一例)
35 算出部(算出手段の一例)
70 撮影装置
80 通信端末
90 表示装置
1002 条件情報管理DB(記憶手段の一例)
特許第6570161号公報 特許第6116746号公報 特許第3720587号公報

Claims (17)

  1. 画像処理システムが実行する画像処理方法であって、
    構造物の内部の空間が全方位で示された背景画像から前記空間の構造を推定する構造推定ステップと、
    推定された前記構造に基づいて、前記空間における仮想対象物を配置可能な領域を推定する領域推定ステップと、
    前記背景画像に対して、前記仮想対象物を前記推定された領域に合成する画像処理ステップと、
    を実行する画像処理方法。
  2. 請求項1に記載の画像処理方法であって、更に、
    前記背景画像に示されている被写体を検知する検知ステップと、
    検知された前記被写体の前記空間上の位置を推定する位置推定ステップと、実行し、
    前記領域推定ステップは、推定された前記構造および推定された前記被写体の位置に基づいて、前記領域を推定する画像処理方法。
  3. 前記検知ステップは、前記被写体の種類を検知し、
    前記領域推定ステップは、検知された前記被写体の種類に基づいて、前記領域を推定する請求項2に記載の画像処理方法。
  4. 前記検知ステップは、前記空間を撮影する撮影装置を支持する支持部材を検知し、
    前記画像処理ステップは、検知された前記支持部材を隠すように前記背景画像に対して所定の画像を合成する請求項2または3に記載の画像処理方法。
  5. 前記検知ステップは、前記背景画像に示されている被写体のうち、光源となる特定の被写体を検知し、
    前記位置推定ステップは、検知された前記特定の被写体の前記空間上の位置を推定し、
    前記画像処理ステップは、前記位置推定ステップによって推定された前記特定の被写体の前記空間上の位置に対して、光源となる仮想物体を示す画像を合成する請求項2または3に記載の画像処理方法。
  6. 前記構造推定ステップは、前記空間の大きさを推定する請求項1乃至5のいずれか一項に記載の画像処理方法。
  7. 請求項1乃至6のいずれか一項に記載の画像処理方法であって、
    前記構造推定ステップは、前記空間の用途を推定し、更に、
    推定された前記用途に基づいて、前記仮想対象物を決定する決定ステップを実行し、
    前記画像処理ステップは、前記背景画像に対して、決定された前記仮想対象物を合成する画像処理方法。
  8. 請求項1乃至6のいずれか一項に記載の画像処理方法であって、更に、
    外部装置から前記空間の用途を示す用途情報を受信する受信ステップと、
    受信された前記用途情報に基づいて、前記仮想対象物を決定する決定ステップと、を実行し、
    前記画像処理ステップは、前記背景画像に対して、決定された前記仮想対象物を合成する画像処理方法。
  9. 請求項7または8に記載の画像処理方法であって、
    前記画像処理システムは、仮想対象物の配置条件を示す条件情報を記憶する記憶手段を備え、
    前記決定ステップは、記憶された前記条件情報から前記空間の用途に応じた前記仮想対象物を選択する請求項7または8に記載の画像処理方法。
  10. 請求項1乃至9のいずれか一項に記載の画像処理方法であって、更に、
    前記領域推定ステップによって推定された前記領域に対して前記仮想対象物を配置する配置ステップを実行し、
    前記画像処理ステップは、前記背景画像に対して、配置された前記仮想対象物を前記推定された領域に合成する画像処理方法。
  11. コンピュータに、請求項1乃至10のいずれか一項に記載の画像処理方法を実行させるプログラム。
  12. 構造物の内部の空間が全方位で示された背景画像から前記空間の構造を推定する構造推定手段と、
    推定された前記構造に基づいて、前記空間における仮想対象物を配置可能な領域を推定する領域推定手段と、
    前記背景画像に対して、前記仮想対象物を前記推定された領域に合成する画像処理手段と、
    を備える画像処理システム。
  13. 請求項12に記載の画像処理システムであって、更に、
    前記画像処理手段によって合成された処理画像を、表示装置に表示させる表示制御手段を備える画像処理システム。
  14. 前記表示制御手段は、前記背景画像および前記処理画像の表示を切り替える請求項13に記載の画像処理システム。
  15. 請求項13または14に記載の画像処理システムであって、
    表示された前記処理画像上での前記仮想対象物の中心位置を算出する算出手段を備え、
    前記表示制御手段は、前記処理画像に対して、算出された前記中心位置に付加情報を重畳させて表示させる画像処理システム。
  16. 前記付加情報は、前記仮想対象物に対応するアイコン、またはWEBサイトへのリンクである請求項15に記載の画像処理システム。
  17. 前記表示制御手段は、前記処理画像に示されている前記仮想対象物の色の変更または前記仮想対象物が縁取りされた画像を表示させる請求項13乃至16のいずれか一項に記載の画像処理システム。
JP2020187839A 2020-11-11 2020-11-11 画像処理方法、プログラムおよび画像処理システム Pending JP2022077148A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2020187839A JP2022077148A (ja) 2020-11-11 2020-11-11 画像処理方法、プログラムおよび画像処理システム
US18/024,288 US20230334803A1 (en) 2020-11-11 2021-10-14 Image processing method, recording medium, and image processing system
PCT/IB2021/059431 WO2022101707A1 (en) 2020-11-11 2021-10-14 Image processing method, recording medium, and image processing system
EP21795006.2A EP4244820A1 (en) 2020-11-11 2021-10-14 Image processing method, recording medium, and image processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020187839A JP2022077148A (ja) 2020-11-11 2020-11-11 画像処理方法、プログラムおよび画像処理システム

Publications (1)

Publication Number Publication Date
JP2022077148A true JP2022077148A (ja) 2022-05-23

Family

ID=78302861

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020187839A Pending JP2022077148A (ja) 2020-11-11 2020-11-11 画像処理方法、プログラムおよび画像処理システム

Country Status (4)

Country Link
US (1) US20230334803A1 (ja)
EP (1) EP4244820A1 (ja)
JP (1) JP2022077148A (ja)
WO (1) WO2022101707A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6838129B1 (ja) * 2019-12-24 2021-03-03 株式会社ベガコーポレーション 情報提供装置、情報提供システム、情報提供方法及び情報提供プログラム
US11790648B2 (en) * 2021-02-25 2023-10-17 MFTB Holdco, Inc. Automated usability assessment of buildings using visual data of captured in-room images
GB2620935A (en) * 2022-07-25 2024-01-31 Sony Interactive Entertainment Europe Ltd Adaptive virtual objects in augmented reality

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6921686B2 (ja) * 2017-08-30 2021-08-18 キヤノン株式会社 生成装置、生成方法、及びプログラム
JP6570161B1 (ja) * 2017-11-04 2019-09-04 ナーブ株式会社 画像処理装置、画像処理方法、及び画像処理プログラム
KR102129458B1 (ko) * 2017-11-22 2020-07-08 한국전자통신연구원 객체의 3차원 정보 복원 방법 및 장치
WO2020191101A1 (en) * 2019-03-18 2020-09-24 Geomagical Labs, Inc. Virtual interaction with three-dimensional indoor room imagery
JP7015272B2 (ja) 2019-05-10 2022-02-02 日本特殊陶業株式会社 スパークプラグ

Also Published As

Publication number Publication date
US20230334803A1 (en) 2023-10-19
WO2022101707A1 (en) 2022-05-19
EP4244820A1 (en) 2023-09-20

Similar Documents

Publication Publication Date Title
US10755485B2 (en) Augmented reality product preview
US11367250B2 (en) Virtual interaction with three-dimensional indoor room imagery
US20200380333A1 (en) System and method for body scanning and avatar creation
US10587864B2 (en) Image processing device and method
US11640672B2 (en) Method and system for wireless ultra-low footprint body scanning
US9420253B2 (en) Presenting realistic designs of spaces and objects
US10628666B2 (en) Cloud server body scan data system
US10085008B2 (en) Image processing apparatus and method
US20160198146A1 (en) Image processing apparatus and method
JP2022077148A (ja) 画像処理方法、プログラムおよび画像処理システム
JP2015501044A (ja) 実世界オブジェクトの3dモデルおよび正しい縮尺のメタデータをキャプチャし移動させるための方法およびシステム
JP2006053694A (ja) 空間シミュレータ、空間シミュレート方法、空間シミュレートプログラム、記録媒体
JP7368699B2 (ja) 画像処理装置、画像通信システム、画像処理方法、及びプログラム
JP6570161B1 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
KR20140145217A (ko) 공간정보를 이용한 3차원 가상 모델링 시스템 및 그 방법
JP2015099545A (ja) 画像生成システム及び画像生成プログラム
WO2018182938A1 (en) Method and system for wireless ultra-low footprint body scanning
US11087527B2 (en) Selecting an omnidirectional image for display
US20240355138A1 (en) Method and system for wireless ultra-low footprint body scanning
JP7119853B2 (ja) 変更画素領域抽出装置、画像処理システム、変更画素領域抽出方法、画像処理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230913

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20231023

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240730

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20240927