JP2023529787A - 3dジオメトリを構築するための方法、装置及びプログラム - Google Patents

3dジオメトリを構築するための方法、装置及びプログラム Download PDF

Info

Publication number
JP2023529787A
JP2023529787A JP2022565905A JP2022565905A JP2023529787A JP 2023529787 A JP2023529787 A JP 2023529787A JP 2022565905 A JP2022565905 A JP 2022565905A JP 2022565905 A JP2022565905 A JP 2022565905A JP 2023529787 A JP2023529787 A JP 2023529787A
Authority
JP
Japan
Prior art keywords
room
corner points
geometry
points
panoramic image
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.)
Granted
Application number
JP2022565905A
Other languages
English (en)
Other versions
JP7518196B2 (ja
Inventor
シャン・ジャン
ビン・ジアン
ル・ヘ
ハイチャオ・ジュ
シャン・リュウ
ケリン・リュウ
ウェイウェイ・フェン
Original Assignee
テンセント・アメリカ・エルエルシー
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 テンセント・アメリカ・エルエルシー filed Critical テンセント・アメリカ・エルエルシー
Publication of JP2023529787A publication Critical patent/JP2023529787A/ja
Application granted granted Critical
Publication of JP7518196B2 publication Critical patent/JP7518196B2/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
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • 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/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/536Depth or shape recovery from perspective effects, e.g. by using vanishing points
    • 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/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/12Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • 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/20092Interactive image processing based on input by user
    • G06T2207/20101Interactive definition of point of interest, landmark or seed
    • 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/20112Image segmentation details
    • G06T2207/20164Salient point detection; Corner detection
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Architecture (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

Figure 2023529787000001
本開示の態様は、部屋のパノラマ画像から部屋の三次元(3D)ジオメトリを生成するための方法、装置、および非一時コンピュータ可読記憶媒体装置を含む。装置は、ユーザ入力に基づいて、パノラマ画像における部屋の壁のコーナポイントの二次元(2D)位置を決定する処理回路を含む。各壁のコーナポイントは、部屋の床面または天井面のいずれか一方である。処理回路は、壁のコーナポイントの2D位置、パノラマ画像のサイズ、および床面と部屋のパノラマ画像の捕捉デバイスの捕捉位置との間の距離に基づいて壁のコーナポイントの3D位置を算出し、壁のコーナポイントの順序に基づいて部屋のレイアウトを決定し、部屋のレイアウトと壁のコーナポイントの3D位置とに基づいて3Dジオメトリを生成する。

Description

関連出願の相互参照
本出願は、2021年10月15日に出願された米国特許出願第17/502,973号「METHOD AND APPARATUS FOR CONSTRUCTING A 3D GEOMETRY」に対する優先権の利益を主張し、2021年5月7日に出願された米国仮出願第63/185,946号「METHODS OF CONSTRUCTING 3D GEOMETRY FROM PANORAMA IMAGES WITH MARKED CORNERS FOR INDOOR SCENES」に対する優先権の利益を主張するものである。先行する出願の開示が完全な状態で本出願で参照により援用される。
本開示は、一般的に、様々な仮想現実および/または拡張現実アプリケーション用途を含む三次元空間の再構築に関連する実施形態を説明する。
本明細書において提供される背景技術の説明は、本開示の文脈をおおまかに提示することを目的としている。本明細書に記載された発明者の業績は、その業績がこの背景技術セクションに記載されている限りにおいて、さもなければ出願時に従来技術として適格ではない可能性がある説明の態様は、本開示に対する従来技術として、明示的にも黙示的にも認められない。
屋内建物の三次元(3D)再構築は、活発な研究テーマであり、不動産、建物構築、建物修復、エンターテイメントなどを含む様々な産業で使用されている。3D再構築は、単一の画像(例えば、RGB画像)または異なるビューからの画像グループを入力として取り込み、シーン内の建物の3Dジオメトリ表現を生成することによって、コンピュータビジョンや機械学習などの技術を活用することができる。深度センサの進歩により、シーンから直接深度情報を測定する、より簡単で正確な手段が使用可能になった。例えば、広く使用されている深度カメラとしては、Lidar、立体照明などが挙げられる。
本開示の態様は、部屋のパノラマ画像から部屋の三次元(3D)ジオメトリを生成するための装置を提供する。装置は、ユーザ入力に基づいて、部屋のパノラマ画像における部屋の壁のコーナポイントの二次元(2D)位置を決定する処理回路を含む。壁のコーナポイントのそれぞれは、部屋の床面または天井面のいずれか一方である。処理回路は、壁のコーナポイントの2D位置、パノラマ画像のサイズ、および部屋の床面と部屋のパノラマ画像を捕捉するように構成されたデバイスの捕捉位置との間の距離に基づいて壁のコーナポイントの3D位置を算出する。処理回路は、壁のコーナポイントの順序に基づいて部屋のレイアウトを決定する。処理回路は、部屋のレイアウトと壁のコーナポイントの3D位置とに基づいて部屋の3Dジオメトリを生成する。
一実施形態において、ユーザ入力は、部屋の壁のコーナポイントおよび壁のコーナポイントの順序をユーザが選択することを含む。
一実施形態において、壁のコーナポイントの少なくとも1つは、第1のタイプの壁のコーナポイントである。第1のタイプの壁のコーナポイントは、3Dジオメトリの壁面を示す。
一実施形態において、壁のコーナポイントのうちの少なくとも1つは、第2タイプの壁のコーナポイントである。第2のタイプの壁のコーナポイントは、3Dジオメトリのオープンエリア平面を示す。
一実施形態において、処理回路は、2つの近接する壁のコーナポイントのうちの所定の1つのタイプに基づいて、3Dジオメトリの平面を生成する。
一実施形態において、処理回路は、3Dジオメトリの平面内の各3D位置に対して、それぞれの3D位置に対応する部屋のパノラマ画像内の2D位置における色情報に基づいて、それぞれの3D位置の色情報を決定する。
一実施形態において、3Dジオメトリの各壁面は、3Dジオメトリの少なくとも1つの他の壁面に対して平行または垂直であり、処理回路は、ユーザが壁のコーナポイントのうちの1つを選択することを支援するガイドラインを生成する。
一実施形態において、3Dジオメトリの各壁面は、3Dジオメトリの少なくとも1つの他の壁面に対して平行または垂直であり、処理回路は、ユーザによって選択された壁のコーナポイントのうちの1つを調整する。
一実施形態において、処理回路は、部屋のパノラマ画像における2つのポイントの2D位置を決定する。処理回路は、2つのポイントの2D位置、パノラマ画像のサイズ、および部屋の床面とデバイスの捕捉位置との間の距離に基づいて、2つのポイントの3D位置を算出する。処理回路は、2つのポイントの3D位置の間の距離を算出する。
本開示の態様は、部屋のパノラマ画像から部屋の3Dジオメトリを生成するための方法を提供する。方法は、部屋のパノラマ画像から部屋の3Dジオメトリを生成するための装置によって実行される処理のいずれか、またはその組合せを実行できる。方法では、部屋のパノラマ画像における部屋の壁のコーナポイントの2D位置が、ユーザ入力に基づいて決定される。壁のコーナポイントのそれぞれは、部屋の床面または天井面のいずれか一方である。壁のコーナポイントの3D位置は、壁のコーナポイントの2D位置、パノラマ画像のサイズ、および部屋の床面と部屋のパノラマ画像を捕捉するように構成されたデバイスの捕捉位置との間の距離に基づいて算出される。部屋のレイアウトは、壁のコーナポイントの順序に基づいて生成される。部屋の3Dジオメトリは、部屋のレイアウトと壁のコーナポイントの3D位置とに基づいて生成される。
本開示の態様は、少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに、部屋のパノラマ画像から部屋の三次元(3D)ジオメトリを生成するための方法のいずれか、またはその組合せを実行させる命令を格納する非一時コンピュータ可読記メディアを提供する。
以下の詳細な説明と添付の図面とから、開示されている保護対象のさらなる特徴、性質および様々な利点がより明らかになる。
本開示の一実施形態による部屋の例示的なパノラマ画像を示す図である。 本開示の一実施形態による部屋の例示的な3Dジオメトリを示す図である。 本開示の一実施形態による、別の部屋のパノラマ画像におけるホワイトボードの高さを測定する例を示す図である。 本開示の一実施形態による、他の部屋のパノラマ画像における遮られたポイントを決定する例を示す図である。 本開示のいくつかの実施形態による、クロージャポイントおよび制御ポイントによって定義される部屋のレイアウトの様々な例を示す図である。 本開示のいくつかの実施形態による、クロージャポイントおよび制御ポイントによって定義される部屋のレイアウトの様々な例を示す図である。 本開示のいくつかの実施形態による、クロージャポイントおよび制御ポイントによって定義される部屋のレイアウトの様々な例を示す図である。 本開示のいくつかの実施形態による、クロージャポイントおよび制御ポイントによって定義される部屋のレイアウトの様々な例を示す図である。 本開示の一実施形態によるマーキング処理で使用される例示的なガイドラインを示す図である。 本開示の一実施形態による例示的なフローチャート図である。 本開示の一実施形態によるコンピュータシステムの概略図である。
I.三次元ジオメトリ構築
本開示は、部屋などの三次元(3D)空間の再構築に関する。部屋は、例えば、建物内であり得る。さらに、3D再構築は、仮想ツアー、デジタル博物館、仮想住宅販売などの様々な仮想現実(VR)および/または拡張現実(AR)アプリケーションで使用することができる。本開示では、屋内シーンのためのハンドメイドのコーナを有するパノラマ画像から部屋の3Dジオメトリを構築する方法を例として記述する。しかし、この方法は他の3D空間にも適用できることを理解されたい。
オブジェクトの3Dジオメトリ表現は、通常、ポイントクラウドの形態であり、これは、空間内の3Dポイントのセットを含む。各3Dポイントは、3D位置情報と、色情報や反射率情報などの追加属性とを含むことができる。別の一般的な3Dフォーマットはテクスチャメッシュであり、これには、3Dポイント情報に加えて、隣接するポイント間の接続情報が含まれる。接続情報に基づいて、テクスチャメッシュのファセット(例えば、三角形)の集合を形成できる。テクスチャメッシュのテクスチャ情報も、各ファセットに添付できる。
いくつかの屋内シーンアプリケーションでは、いくつかの事前知識を利用することによって、いくつかの学習ベースの方法(例えば、LayoutNetアルゴリズム、HorizonNetアルゴリズム、およびDula-Netアルゴリズム)を使用して、部屋の単一のパノラマ画像からレイアウト境界およびコーナ位置などの部屋のいくつかのレイアウト要素を予測できる。しかし、これらのアルゴリズムは、典型的にデータ駆動型であり、高品質の訓練データを必要とする。アルゴリズムは、実世界のシーンの複雑さのために、実際のシナリオにおいて失敗する可能性がある。
本開示は、パノラマ画像内の部屋の、手でマークされた(例えば、ユーザによって手動でマークされた)、壁のコーナを有する部屋の単一のパノラマ画像から、部屋の3Dジオメトリを再構築する方法を含む。これらの方法は、半自動パイプラインで適用できることに留意されたい。例えば、自動アルゴリズム(例えば、LayoutNetアルゴリズム、HorizonNetアルゴリズム、またはDula-Netアルゴリズム)を最初に使用して、レイアウトコーナのおおまかな推定を生成し、次に、本開示の方法を使用してレイアウトコーナを精緻化させることができる。別の例では、レイアウトコーナは、本開示の方法を使用して手でマークしてもよく、次に、自動精緻化アルゴリズムを、手でマークされたコーナに適用してもよい。
図1Aは、本開示の一実施形態による部屋の例示的なパノラマ画像を示す。パノラマ画像において、ユーザは、部屋の1つまたは複数の壁のコーナに手動でマークを付けることができる。マークされた壁のコーナに基づいて、図1Bに示されるような、部屋の3Dジオメトリを生成できる。部屋の3Dジオメトリは、ポイントクラウドまたはテクスチャメッシュの形態で表現できる。
本開示の方法において、部屋のパノラマ画像(I)を入力として使用できる。パノラマ画像(I)のサイズは画素で、W×Hであり、ここでW=2Hと仮定する。また、カメラの高さ(例えば、カメラの中心位置から基平面までの垂直距離)の正確な値を提供できる。カメラの高さは、ユーザによって提供されるか、アルゴリズムによって推定されるか、測定されるか、またはデフォルト値として設定することができる(例えば、1.5メートル)。カメラの高さは、Hcamで表す。
本開示の方法において、3D空間の表面に関して特定の仮定を行うことができる。例えば、部屋の床は、平坦であり、基平面に対して水平であると仮定できる。部屋の天井は、平坦であり、基平面に対して水平であると仮定できる。部屋の壁は垂直であり、したがって床に対して垂直であると仮定できる。さらに、カメラ光線は、基平面に対して平行であると仮定できる。
本開示の方法において、カメラ座標系において、カメラの中心位置は、直交座標系におけるワールド座標の原点として使用することができる。つまり、カメラの座標は(0,0,0)である。また、カメラはx軸の正の方向を向いており、z軸の負の方向は床面方向であり、床面と天井面とはx-y平面に対して平行であると仮定できる。基平面の水平消尽線は、部屋のパノラマ画像の中央の高さにある。したがって、床面のz軸位置は-Hcamである。
以上の仮定により、室内の3D位置の座標は、3D位置に対応するパノラマ画像中の画素の画像座標と、カメラ座標系における3D位置の直交座標との間で変換できる。仮定が異なる場合、変換式は異なる可能性があることに留意されたい。
本開示の態様によれば、パノラマ画像内の画素の画像座標は、該画素に対応するカメラ座標系における3D位置の直交座標に変換できる。
一実施形態において、パノラマ画像内の画素の画像座標は(u,v)であり、u∈[0,W)、v∈[0,H)である。カメラ座標系における対応する3D位置のz軸座標は既知であると仮定する。したがって、画素の画像座標は、対応する3D位置の直交座標に以下のように変換できる。
Figure 2023529787000002
Figure 2023529787000003
次に、対応する3D位置と実世界のカメラとの距離は、
Figure 2023529787000004
で推定できる。
したがって、画素が床面上にある場合、カメラ座標系における対応する3D位置の直交座標は、以下のように表現できる。
Figure 2023529787000005
Figure 2023529787000006
z=-Hcam (式5)
画素が天井面上にあり、天井高、つまり、天井面から床面までの垂直距離がHceilとして既知の場合、カメラ座標系における対応する3D位置の直交座標は、以下のように表現できる。
Figure 2023529787000007
Figure 2023529787000008
z=Hceil-Hcam (式8)
本開示の態様によれば、カメラ座標系における3D位置の直交座標は、3D位置に対応するパノラマ画像内の画素の画像座標に変換できる。
カメラ座標系における3D位置の直交座標を(x,y,z)とすると、パノラマ画像における対応する画素の画像座標は、以下のように表現できる。
Figure 2023529787000009
Figure 2023529787000010
ここで、arctan2()は以下のように定義される関数である。
Figure 2023529787000011
本開示の態様によれば、室内のオブジェクトの高さは、部屋のパノラマ画像に基づいて推定できる。パノラマ画像内の同じ列の2つの画素が与えられ、パノラマ画像内の2つの画素の座標が(u,v)および(u,v)として表され、(u,v)内の1つの画素に対応するカメラ座標系内の第1の3D位置のz軸座標が既知であり、zに等しい場合、(u,v)内の他の画素に対応するカメラ座標系内の第2の3D位置のz軸座標は、以下のように表現できる。
Figure 2023529787000012
1つの例示的なアプリケーションは、パノラマ画像における床面に対するオブジェクトの関心点の高さを推定することである。(u,v)の画素が床面にあることが既知の場合、つまり、z=-Hcamの場合、(u,v)の他の画素に対応するカメラ座標系における第2の3D位置のz軸座標は、以下のように表現できる。
Figure 2023529787000013
オブジェクト内の関心点が(u,v)の画素である場合、オブジェクト内の関心点の床面に対する高さは、Hobj=z-zである。
図2は、本開示の一実施形態による、部屋のパノラマ画像におけるホワイトボードの高さを測定する例を示す。図2は、部屋のパノラマ画像の一部を示すことを留意されたい。図2において、部屋の床面からホワイトボードの下側まで垂直線(201)が手動で引かれているので、ホワイトボードの高さを自動的に推定できる。これにより、天井高や机の高さなどのオブジェクトの高さも推定できる。例えば、垂直線(202)は、部屋の天井高を示している。
また、部屋の天井高は、いくつかの実施形態では、ユーザによって設定され得ることに留意されたい。したがって、天井高、つまり、Hceilが決定されると、床面(または天井面)のポイントは、対応するポイントがユーザによってマークされている場合、天井面(または床面)の対応するポイントに基づいて自動的に決定することができる。両方のポイントは、部屋のパノラマ画像において、同じ垂直線または列にある。
一実施形態において、天井高が決定され、部屋の床面のポイントが決定される(例えば、ユーザによってマークされる)場合、部屋の天井面の対応するポイントは自動的に決定され得る。両方のポイントは、部屋のパノラマ画像において、同じ垂直線にある。
例えば、部屋のパノラマ画像のポイント(u1,)が部屋の床面にある場合、カメラ座標系におけるそのポイントの直交座標、つまり、(x1,1,)は、(式1)-(式2)によって算出できる。ここで、z=-Hcamである。次に、部屋の天井面における対応するポイントの直交座標は、(x2,2,)=(x1,1,+Hceil)として算出できる。次に、天井面におけるポイントに対応する画素の画像座標は、(式9)~(式10)により算出できる。
一実施形態において、天井高が決定され、部屋の天井面のポイントが決定される(例えば、ユーザによってマークされる)場合、部屋の床面の対応するポイントは自動的に決定され得る。両方のポイントは、部屋のパノラマ画像において、同じ垂直線にある。
例えば、部屋のパノラマ画像のポイント(u1,)が天井面にある場合、カメラ座標系におけるそのポイントの直交座標、つまり、(x1,1,)は、(式1)-(式2)によって算出できる。ここで、z=Hceil-Hcamである。次に、床面における対応するポイントの直交座標は、(x2,2,)=(x1,1,-Hceil)として算出できる。次に、床面におけるポイントの画像座標は、(式9)~(式10)により算出できる。
実際のシーンでは、床面のポイントまたは天井面のポイントのいずれかは、オブジェクトによって遮られることが一般的であるため、上記の方法は重要であり得る。この場合、ユーザは、床面または天井面のいずれかの認識可能なポイントをクリックすることができ、パノラマ画像において、遮蔽された相当物を自動的に推定できる。すなわち、床面のポイントまたは天井面のポイントの少なくとも1つが手動でマークされている場合、壁のコーナを決定することができる。
図3は、部屋のパノラマ画像の遮られたポイントを決定する例を示す。例えば、番号「01」、「02」および「03」でマークされたコーナポイントペアについて、部屋の床面におけるコーナポイントが、室内のいくつかの椅子および机によって遮られている。しかし、これらのコーナポイントは、部屋の天井面の対応するポイントをクリックすることによって推定できる。
部屋のパノラマ画像の同じ垂直線上にある天井および床のコーナポイントのペアは、3D空間において垂直な直線を定義できる。2つのペアのコーナポイントは、3D空間における垂直な壁面を定義できる。例えば、図3において、コーナポイントペア「00」および「01」はホワイトボードのある壁面を定義し、コーナポイントペア「01」および「02」は窓のある壁面を定義し、コーナポイントペア「02」および「03」はTVのある壁面を定義し、コーナポイントペア「03」および「04」はガラスドアのある壁面を定義している。コーナポイントペア「04」および「00」は、がんじょうな壁面ではなく、開いたドアを定義していることに留意されたい。
本開示の態様によれば、部屋のレイアウトは、制御ポイントによって定義することができる。部屋のレイアウトは、多角形形状のエリアであって、複数のコーナポイントを含み得る。近接するいくつかのコーナポイントは壁面を形成することができ、他のものは開口エリアを形成することができる。したがって、クロージャの概念および2つのタイプの制御ポイントは、以下のように記述することができる。
クロージャは、特定の順序を有する制御ポイントのセットとして定義できる。図3では、「00」~「04」のコーナポイントペアはクロージャを形成する。図4Aは、本開示の一実施形態によるクロージャの別の例を示す。図4Aにおいて、「00」~「03」の制御ポイントは、クロージャを形成する。図4の制御ポイントは、カメラ座標系におけるx-y平面の鳥瞰図を用いて二次元(2D)で示されていることに留意されたい。図4Aの制御ポイントは、実際のシーンにおけるコーナポイントペア(例えば、一方のコーナポイントが天井面にあり、他方のコーナポイントが床面にある)に対応する。これら2つのコーナポイントは、カメラ座標系において同じxおよびy座標を有するので、図4Aにおいて同じ制御ポイントによって表現される。制御ポイントの2D位置を決定するために、ユーザは、部屋のパノラマ画像の床面または天井面のいずれかにおける対応するコーナポイントをマークできる。クロージャはループであり、制御ポイントの順序に基づいて決定されることに留意されたい。1つの制御ポイントは、順序にしたがってその隣接する制御ポイントと接続され、最後の制御ポイントは第1の制御ポイントと接続される。例えば、図3のクロージャでは「00」と「04」とが接続されている。
いくつかの実施形態では、異なるタイプの壁面は、異なるタイプの制御ポイントを用いて区別できる。例えば、がんじょうな壁面と開口エリアとを区別するために、2つのタイプの制御ポイントを定義できる。図4A~図4Dに示すように、2つのタイプの制御ポイントは、それぞれ、黒ベタの円およびパターン付きの円によって表現することができる。黒ベタ制御ポイントは、その前の制御ポイントと共にがんじょうな壁面を形成することができ、一方、パターン付き制御ポイントは、その前の制御ポイントと共に開口エリアを形成できる。例えば、図4Aの4つの制御ポイントはすべて黒ベタ制御ポイントであり、したがって、このクロージャは、空間内に4つのがんじょうな壁を有する。しかし、図4Bでは、「00」がパターン付き制御ポイントであるため、「04」~「00」のセグメントは、開口エリア(例えば、開いたドアまたは窓)を示す。図4Cと図4Dでは、2つのパターン付き制御ポイントおよび2つの黒ベタ制御ポイントがあり、したがって、2つのがんじょうな壁および2つの開口エリア(例えば、バルコニや廊下)が存在する。
クロージャは、黒ベタ制御ポイントに基づいてがんじょうな壁面を構築することに限定されず、床面および/または天井面を構築することも可能であることに留意されたい。すべての制御ポイントによって定義される多角形は、床面および/または天井面の形状を識別できる。したがって、パターン付き制御ポイントは、黒ベタ制御ポイントと同様に重要であり得る。
一実施形態では、コンピュータソフトウェア(またはプログラム)は、コンピュータマウスの左クリックまたは右クリックなどの異なる入力タイプによって、2つのタイプの制御ポイントを区別できる。
一実施形態では、コンピュータソフトウェア(またはプログラム)は、異なるキーボード入力などのキーボードの助けによって、2つのタイプの制御ポイントを区別できる。
いくつかの実施形態では、複数のクロージャを使用して、単一のパノラマ画像におけるシーンの部屋のレイアウトを記述することができる。複数のクロージャは、互いに独立しており、異なる天井高を有し得る。したがって、複数のクロージャを使用し、異なる天井高を有する複数の部屋のシーンを表現することができる。
部屋のレイアウトがクロージャおよび制御ポイントによって定義されると、壁面、床面、および天井面を構築することによって、シーンの3Dジオメトリを復元できる。制御ポイントの3Dジオメトリ位置は、(式1)~(式8)に基づいて算出できる。次に、各平面(例えば、壁面、天井面、床面、または別の平面)における3D位置を、制御ポイントから補間することによって算出できる。各補間位置の画像座標は、(式9)~(式10)に基づいて算出することができ、パノラマ画像における各補間位置の画像座標における色情報を、3Dジオメトリのそれぞれの補間位置の色情報として適用することができる。したがって、シーンの色付きのポイントクラウドおよびテクスチャメッシュを構築することができる。
いくつかの実施形態では、壁の配置に関して特定の仮定を行うことができる。例えば、マンハッタンワールド仮説を3D空間の3Dジオメトリを生成する際に使用して、生成された3Dジオメトリの品質を向上させることができる。マンハッタンワールド仮説では、壁は互いに平行または垂直であると仮定される。
一実施形態では、マンハッタンワールド仮説を使用して、ユーザのマーキング処理をガイドすることができる。図5は、本開示の一実施形態によるマーキング処理で使用することができるガイドラインの例示的な表示を示す。図5において、制御ポイント「00」および「01」がマークされた後にがんじょうな壁面が形成されるので、マンハッタンワールドにおける主要な方向を決定することができる。次に、ユーザが次の制御ポイント「02」を見つけるためにカーソルを移動させると、ユーザがそれを迅速に見つけられるように、1つのセットのガイドラインを生成することができる。図5において、次の制御ポイント「02」から伸びる曲線(501)~(504)がプレビューガイドラインである。これらの曲線は、パノラマ画像中の「02」の位置で交差する2つの垂直な壁面を図示している。これにより、床および天井のコーナポイントが両方とも遮られている場合でも、制御ポイント「02」のマークの利便性と精度とを向上させることができる。
一実施形態では、マンハッタンワールド仮説は、ユーザがマークした位置を精緻化するために使用することができる。例えば、パノラマ画像内のユーザがマークした位置がガイドラインに近いが、正確ではない場合、ユーザがマークした位置は、マンハッタンワールド仮説と一致するようにわずかに調整することができる。これにより、生成された3Dジオメトリはマンハッタンワールド仮説を満たすことができ、したがって、より正確な構築が保証される。
本開示の態様によれば、3Dジオメトリ(例えば、ポイントクラウドまたはテクスチャメッシュ)は、部屋のパノラマ画像内の天井面および/または床面における1つのセットの壁のコーナポイントをマークすることによって構築することができる。壁のコーナポイントは、一実施形態において、ユーザによって手動でマークされ得る。別の実施形態では、壁のコーナポイントは、自動アルゴリズム(例えば、LayoutNetアルゴリズム、HorizonNetアルゴリズム、またはDula-Netアルゴリズム)などによって最初に推定され、次に、ユーザによって修正されてもよい。別の実施形態では、壁のコーナポイントは、最初にユーザによってマークされ、次に、自動アルゴリズムなどによって、精緻化されてもよい。
いくつかの実施形態では、実世界における距離(または寸法)は、部屋のパノラマ画像でマークされたポイントに基づいて測定または推定できる。実世界における距離は、パノラマ画像内のマークされたポイントに対応する実世界における位置から、画像を捕捉するように構成されたカメラデバイスまでの距離である。実世界における位置の3D座標は、例えばカメラデバイスが(0,0,0)に配置され得るカメラ座標系に配置することができる。
一実施形態では、オブジェクトの高さ(例えば、オブジェクトから部屋の床面までの垂直距離)は、部屋のパノラマ画像内のオブジェクトのポイントをマークすることによって推定できる。オブジェクトの高さが既知である(または推定された)もしくは決定された場合、パノラマ画像内の任意のポイントに対応する実世界におけるポイントの3D座標は推定可能である。実世界における位置の3D座標は、例えばカメラが(0,0,0)に配置されたカメラ座標系に配置することができる。また、オブジェクトの高さが既知である(または推定された)もしくは決定された場合、実世界における2つの位置の間の距離を推定できる。2つの位置は、部屋のパノラマ画像の2つの任意のポイントに対応し得る。
いくつかの実施形態では、部屋のレイアウトは、パノラマ画像のマークされたポイント(制御ポイントとも呼ばれる)のグループによって定義できる。特定の順序でマークされたポイントは、部屋のレイアウトに対応するクロージャを定義できる。2つのタイプのマークされたポイントを使用することができ、その場合、第1のタイプのマークされたポイントは、部屋のがんじょうな壁面を形成することができ、第2のタイプのマークされたポイントは、部屋の開口エリアを形成できる。
上述のように、一実施形態では、コンピュータソフトウェア(またはプログラム)は、コンピュータマウスの左クリックまたは右クリックによって、2つのタイプの制御ポイントを区別できる。一実施形態では、コンピュータソフトウェア(またはプログラム)は、キーボードの助けによって、2つのタイプの制御ポイントを区別できる。
単一のパノラマ画像に対して、シーンの部屋のレイアウトを記述するために、複数のクロージャを使用できる。複数のクロージャは、互いに独立しており、異なる天井高を有し得る。したがって、複数のクロージャを使用し、異なる天井高を有する複数の部屋のシーンを表現することができる。
部屋のレイアウトに基づいて、シーンの3Dジオメトリ表現を構築することができる。3Dジオメトリは、色および法線ベクトル情報を有するポイントクラウド、またはテクスチャ情報を有するメッシュのいずれかであり得る。色情報およびテクスチャ情報は、パノラマ画像から補間することによって取得できる。
いくつかの実施形態では、マンハッタンワールド仮説などの特定の仮定を、シーンの3Dジオメトリの構築に適用することができる。
一実施形態では、マンハッタンワールド仮説を、マーキング処理をガイドするために使用できる。例えば、1つのセットのガイドラインを、マンハッタンワールド仮説に基づいてパノラマ画像に生成することができる。マーキング処理において、ユーザはガイドラインのセットにしたがって、パノラマ画像内のポイントをマークすることができる。
一実施形態では、マンハッタンワールド仮説は、ユーザがマークした位置を精緻化するために使用することができる。例えば、ユーザがマークした位置がガイドラインのセットのいずれにもない場合、ユーザがマークした位置は、1つの最も近いガイドライン上になるように自動的に調整され得る。
II.フローチャート
図6は、本開示の一実施形態による例示的な処理(600)を概説するフローチャートである。様々な実施形態において、処理(600)は、図7に示される処理回路などの処理回路によって実行される。いくつかの実施形態では、処理(600)はソフトウェア命令で実装され、したがって、処理回路がソフトウェア命令を実行すると、処理回路は処理(600)を実行する。
処理(600)は、一般に、ステップ(S610)で開始することができ、処理(600)は、ユーザ入力に基づいて、部屋のパノラマ画像の部屋の壁のコーナポイントの2D位置を決定する。壁のコーナポイントのそれぞれは、部屋の床面または天井面のいずれか一方である。次に、処理(600)は、ステップ(S620)に進む。
ステップ(S620)において、処理(600)は、壁のコーナポイントの2D位置、パノラマ画像のサイズ、および部屋の床面と部屋のパノラマ画像を捕捉するように構成されたデバイスの捕捉位置との間の距離に基づいて、壁のコーナポイントの3D位置を算出する。次に、処理(600)は、ステップ(S630)に進む。
ステップ(S630)において、処理(600)は、壁のコーナポイントの順序に基づいて、部屋のレイアウトを決定する。次に、処理(600)は、ステップ(S640)に進む。
ステップ(S640)において、処理(600)は、部屋のレイアウトと壁のコーナポイントの3D位置とに基づいて、部屋の3Dジオメトリを生成する。次に、処理(600)は終了する。
一実施形態において、ユーザ入力は、部屋の壁のコーナポイントおよび壁のコーナポイントの順序をユーザが選択することを含む。
一実施形態において、壁のコーナポイントの少なくとも1つは、第1のタイプの壁のコーナポイントである。第1のタイプの壁のコーナポイントは、3Dジオメトリの壁面を示す。
一実施形態において、壁のコーナポイントのうちの少なくとも1つは、第2タイプの壁のコーナポイントである。第2のタイプの壁のコーナポイントは、3Dジオメトリのオープンエリア平面を示す。
一実施形態において、処理回路は、2つの近接する壁のコーナポイントのうちの所定の1つのタイプに基づいて、3Dジオメトリの平面を生成する。
一実施形態において、処理(600)は、3Dジオメトリの平面内の各3D位置に対して、それぞれの3D位置に対応する部屋のパノラマ画像内の2D位置における色情報に基づいて、それぞれの3D位置の色情報を決定する。
一実施形態において、3Dジオメトリの各壁面は、3Dジオメトリの少なくとも1つの他の壁面に対して平行または垂直であり、処理(600)は、ユーザが壁のコーナポイントのうちの1つを選択することを支援するガイドラインを生成する。
一実施形態において、3Dジオメトリの各壁面は、3Dジオメトリの少なくとも1つの他の壁面に対して平行または垂直であり、処理(600)は、ユーザによって選択された壁のコーナポイントのうちの1つを調整する。
一実施形態において、処理(600)は、部屋のパノラマ画像における2つのポイントの2D位置を決定する。処理(600)は、2つのポイントの2D位置、パノラマ画像のサイズ、および部屋の床面とデバイスの捕捉位置との間の距離に基づいて、2つのポイントの3D位置を算出する。処理(600)は、2つのポイントの3D位置の間の距離を算出する。
III.コンピュータシステム
上述の技術は、1つまたは複数のコンピュータ可読媒体に物理的に記憶された、コンピュータ可読命令を使用するコンピュータソフトウェアとして実装することができる。例えば、図7は、開示された主題の特定の実施形態を実装するのに適したコンピュータシステム700を示す。
コンピュータソフトウェアは、1つまたは複数のコンピュータ中央処理装置(CPU)およびグラフィックス処理装置(GPU)などによって直接的に、または解釈およびマイクロコードの実行などを通して実行され得る命令を含むコードを生成するために、アセンブリ、コンパイル、リンキング、または同様のメカニズムを受け得る任意の適切な機械コードまたはコンピュータ言語を使用してコーディングされ得る。
命令は、例えばパーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーミングデバイス、およびモノのインターネットデバイスなどを含む様々なタイプのコンピュータまたはその構成要素上で実行され得る。
図7に示されたコンピュータシステム(700)のコンポーネントは、本質的に例示であり、本開示の実施形態を実装するためのコンピュータソフトウェアの使用範囲または機能にいかなる制限を加えることを意図するものではない。コンポーネントの構成は、コンピュータシステム(700)の例示的な実施形態に示されているコンポーネントのいずれかまたは組合せに関する依存関係または要件を有すると解釈されるべきではない。
コンピュータシステム(700)は、特定のヒューマン・インタフェース入力デバイスを含むことができる。そのようなヒューマン・インタフェース入力デバイスは、例えば、触知入力(例えば、キーストローク、スワイプ、データグローブの動き)、音声入力(例えば、声、拍手)、視覚入力(例えば、ジェスチャ)、嗅覚入力(図示せず)を介した1つまたは複数の人間のユーザによる入力に応答することができる。ヒューマン・インタフェース・デバイスを用いて、音声(発話、音楽、周囲音など)、画像(スキャン画像、静止画像カメラから取得される写真画像など)、ビデオ(二次元ビデオ、立体ビデオを含む三次元ビデオなど)など、人間による意識的な入力に必ずしも直接関係ない特定の媒体を取り込むこともできる。
入力ヒューマン・インタフェース・デバイスは、キーボード(701)、マウス(702)、トラックパッド(703)、タッチスクリーン(710)、データグローブ(図示せず)、ジョイスティック(705)、マイクロフォン(706)、スキャナ(707)、およびカメラ(708)のうちの1つまたは複数(図示された各々のうちの1つのみ)を含むことができる。
コンピュータシステム(700)はまた、特定のヒューマン・インタフェース出力デバイスを含んでもよい。そのようなヒューマン・インタフェース出力デバイスは、例えば、触知出力、音、光、および匂い/味によって1人または複数の人間のユーザの感覚を刺激することができる。そのようなヒューマン・インタフェース出力デバイスは、触知出力デバイス(例えば、タッチスクリーン(710)、データグローブ(図示せず)、またはジョイスティック(705)による触覚フィードバックがあるが、入力デバイスとして機能しない触覚フィードバックデバイスもあり得る)、オーディオ出力デバイス(スピーカー(709)、ヘッドフォン(図示せず)など)、視覚出力デバイス(CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(710)などであって、それぞれタッチスクリーン入力能力を有するもの、有さないもの、それぞれ触知フィードバック機能を有するもの、有さないもの、そのうちのいくつかは、二次元視覚出力、または立体写真出力などの手段による三次元を越える出力を出力することができるもの、バーチャルリアリティグラス(図示せず)、ホログラフィックディスプレイ、スモークタンク(図示せず)など)、およびプリンタ(図示せず)を含み得る。これらの視覚出力デバイス(スクリーン(710)など)は、グラフィックスアダプタ(750)を介してシステムバス(748)に接続することができる。
コンピュータシステム(700)はまた、人がアクセス可能なストレージデバイスおよびそれらの関連媒体、例えば、CD/DVDなどの媒体(721)を有するCD/DVD ROM/RW(720)を含む光学メディア、サムドライブ(722)、リムーバブル・ハードドライブまたはソリッドステート・ドライブ(723)、テープおよびフロッピーディスク(図示せず)などの従来の磁気メディア、セキュリティドングル(図示せず)などの専用ROM/ASIC/PLDベースのデバイスなどを含むことができる。
当業者はまた、現在開示された主題に関連して使用される「コンピュータ可読媒体」という用語が、伝送媒体、搬送波、または他の一時的な信号を包含しないことを理解するべきである。
コンピュータシステム(700)はまた、1つまたは複数の通信ネットワーク(755)へのネットワークインタフェース(754)を含むことができる。1つまたは複数の通信ネットワーク(755)は、例えば、無線、有線、光であり得る。さらに、1つまたは複数の通信ネットワーク(755)は、ローカル、広域、都市、車両および産業、リアルタイム、遅延耐性などであり得る。1つまたは複数の通信ネットワーク(755)は、例えば、イーサネット、無線LAN等のローカルエリアネットワーク、GSM、3G、4G、5G、LTEなどを含むセルラ・ネットワーク、ケーブルTV、衛星TV、地上波TV等を含むテレビ有線もしくは無線広域デジタルネットワーク、CANBus等を含む車載用もしくは産業用等を含む。特定のネットワークは、一般的に、特定の汎用データポートまたは周辺バス(749)に取り付けられた外部ネットワークインタフェース・アダプタ(例えば、コンピュータシステム(700)のUSBポートなど)を必要とし、他のものは、一般に、以下に説明するようなシステムバスへの取り付け(例えば、PCコンピュータシステムへのイーサネットインタフェースまたはスマートフォン・コンピュータ・システムへのセルラ・ネットワーク・インタフェース)によってコンピュータシステム(700)のコアに統合される。これらのネットワークのいずれかを使用して、コンピュータシステム(700)は、他のエンティティと通信することができる。そのような通信は、例えば、ローカルまたは広域デジタルネットワークを使用して、他のコンピュータシステムに対して、単方向、受信のみ(例えば、放送TV)、単方向送信のみ(例えば、特定のCANbusデバイスへのCANbus)、または双方向であり得る。特定のプロトコルおよびプロトコルスタックは、上述のように、それらのネットワークおよびネットワークインタフェースのそれぞれで使用することができる。
前述のヒューマン・インタフェース・デバイス、ヒューマンアクセス可能なストレージデバイス、およびネットワークインタフェースは、コンピュータシステム(700)のコア(740)に取り付けることができる。
コア(740)は1つまたは複数の中央処理ユニット(CPU)(741)、グラフィックス処理装置(GPU)(742)、フィールドプログラム可能ゲートエリア(FPGA)(743)の形態の専用プログラム可能処理ユニット、特定のタスクのためのハードウェアアクセラレータ(744)、グラフィックスアダプタ(750)等を含む。これらのデバイスは、読み出し専用メモリ(ROM)(745)、ランダムアクセスメモリ(746)、ユーザがアクセスできない内部ハードドライブなどの内部大容量ストレージ(747)、SSDなどと共に、システムバス(748)を介して接続することができる。いくつかのコンピュータシステムでは、システムバス(748)は、追加のCPU、GPUなどによる拡張を可能にするために、1つまたは複数の物理プラグの形態でアクセス可能であり得る。周辺デバイスは、コアのシステムバス(748)に直接取り付けることも、周辺バス(749)を介して取り付けることもできる。一例として、スクリーン(710)は、グラフィックスアダプタ(750)に接続できる。周辺バスのアーキテクチャは、PCI、USBなどを含む。
CPU(741)、GPU(742)、FPGA(743)、およびアクセラレータ(744)は、組み合わせて前述のコンピュータコードを構成することができる特定の命令を実行することができる。そのコンピュータコードは、ROM(745)またはRAM(746)に記憶することができる。一時的なデータはまた、RAM(746)に記憶することができ、一方、永続的なデータは、例えば内部大容量ストレージ(747)に記憶することができる。メモリデバイスのいずれかへの高速記憶および取得は、1つまたは複数のCPU(741)、GPU(742)、大容量ストレージ(747)、ROM(745)、RAM(746)などと密接に関連付けることができるキャッシュメモリの使用によって可能にすることができる。
コンピュータ可読媒体は、様々なコンピュータ実装動作を行うためのコンピュータコードを有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものであってもよいし、またはコンピュータソフトウェア技術の当業者に公知の利用可能な種類のものであってもよい。
限定ではなく一例として、アーキテクチャ(700)、特にコア(740)を有するコンピュータシステムは、1つまたは複数の有形のコンピュータ可読媒体で具現化されたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)の結果として機能を提供することができる。そのようなコンピュータ可読媒体は、上述のようなユーザアクセス可能な大容量ストレージ、ならびにコア内部大容量ストレージ(747)またはROM(745)などの非一時的な性質のコア(740)の特定のストレージに関連付けられた媒体とすることができる。本開示の様々な実施形態を実装するソフトウェアは、そのようなデバイスに記憶され、コア(740)によって実行することができる。コンピュータ可読メディアは、特定のニーズに応じて、1つまたは複数のメモリデバイスまたはチップを含むことができる。ソフトウェアは、コア(740)、具体的にはその中のプロセッサ(CPU、GPU、FPGA等を含む)に、RAM(746)に記憶されたデータ構造を定義すること、およびソフトウェアによって定義された処理にしたがってそのようなデータ構造を修正することを含む、本明細書に記載の特定の処理または特定の処理の特定の部分を実行させることができる。加えて、または代替として、コンピュータシステムは、ハードワイヤードまたは他の方法で回路(例えば、アクセラレータ(744))に具現化された論理の結果として機能を提供することができ、ソフトウェアの代わりに、またはソフトウェアと共に動作して、本明細書に記載の特定の処理または特定の処理の特定の部分を実行することができる。ソフトウェアへの参照は、論理を包含することができ、適切な場合には逆もまた同様である。必要に応じて、コンピュータ可読媒体への言及は、実行のためのソフトウェアを格納する回路(集積回路(IC)など)、実行のためのロジックを具現化する回路、またはこれらの両方を包含することができる。本開示は、ハードウェアとソフトウェアの任意の適切な組合せを包含する。
本開示はいくつかの例示的な実施形態を説明してきたが、本開示の範囲内にある修正例、置換例、および様々な代替均等例がある。したがって、当業者は、本明細書に明示的に示されていないまたは記載されていないが、本開示の原理を具現化し、したがってその趣旨および範囲内にある多数のシステムおよび方法を考案することができることが理解されよう。
600 処理
700 コンピュータシステム
701 キーボード
702 マウス
703 トラックパッド
705 ジョイスティック
706 マイクロフォン
707 スキャナ
708 カメラ
709 スピーカー
710 スクリーン
721 媒体
722 サムドライブ
723 ドライブ
740 コア
741 中央処理ユニット(CPU)
742 グラフィックス処理装置(GPU)
743 フィールドプログラム可能ゲートエリア(FPGA)
744 ハードウェアアクセラレータ
745 読み出し専用メモリ(ROM)
746 ランダムアクセスメモリ(RAM)
747 内部大容量ストレージ
748 システムバス
749 周辺バス
750 グラフィックスアダプタ
754 ネットワークインタフェース
755 通信ネットワーク

Claims (20)

  1. 部屋のパノラマ画像から前記部屋の三次元(3D)ジオメトリを生成する方法であって、前記方法は、
    ユーザ入力に基づいて、前記部屋の前記パノラマ画像の前記部屋の壁のコーナポイントの二次元(2D)位置を決定するステップであって、前記壁のコーナポイントのそれぞれが、前記部屋の床面または天井面のうちの1つに存在する、ステップと、
    前記壁のコーナポイントの前記2D位置、前記パノラマ画像のサイズ、および前記部屋の前記床面と前記部屋の前記パノラマ画像を捕捉するように構成されたデバイスの捕捉位置との間の距離に基づいて、前記壁のコーナポイントの3D位置を算出するステップと、
    前記壁のコーナポイントの順序に基づいて前記部屋のレイアウトを決定するステップと、
    前記部屋の前記レイアウトと前記壁のコーナポイントの前記3D位置に基づいて前記部屋の前記3Dジオメトリを生成するステップと、
    を含む、方法。
  2. 前記ユーザ入力が、前記部屋の前記壁のコーナポイントおよび前記壁のコーナポイントの前記順序をユーザが選択することを含む、請求項1に記載の方法。
  3. 前記壁のコーナポイントの少なくとも1つが、第1のタイプの壁のコーナポイントであり、前記第1のタイプの壁のコーナポイントが、前記3Dジオメトリの壁面を示す、請求項1に記載の方法。
  4. 前記壁のコーナポイントの少なくとも1つが、第2のタイプの壁のコーナポイントであり、前記第2のタイプの壁のコーナポイントが、前記3Dジオメトリのオープンエリア平面を示す、請求項1に記載の方法。
  5. 生成する前記ステップが、
    2つの近接する壁のコーナポイントのうちの所定の1つのタイプに基づいて、前記3Dジオメトリの平面を生成するステップを含む、請求項1に記載の方法。
  6. 前記3Dジオメトリの平面内の各3D位置に対して、それぞれの前記3D位置に対応する前記部屋の前記パノラマ画像内の2D位置における色情報に基づいて、それぞれの前記3D位置の色情報を決定するステップ
    をさらに含む、請求項1に記載の方法。
  7. 前記3Dジオメトリの各壁面が、前記3Dジオメトリの少なくとも1つの他の壁面に対して平行または垂直であり、
    前記方法が、ユーザが前記壁のコーナポイントのうちの1つを選択することを支援するガイドラインを生成するステップをさらに含む、
    請求項1に記載の方法。
  8. 前記3Dジオメトリの各壁面が、前記3Dジオメトリの少なくとも1つの他の壁面に対して平行または垂直であり、
    前記方法が、前記ユーザによって選択された前記壁のコーナポイントのうちの1つを調整するステップをさらに含む、
    請求項1に記載の方法。
  9. 前記部屋の前記パノラマ画像における2つのポイントの2D位置を決定するステップと、
    前記2つのポイントの前記2D位置、前記パノラマ画像の前記サイズ、および前記部屋の前記床面と前記デバイスの前記捕捉位置との間の前記距離に基づいて、前記2つのポイントの3D位置を算出するステップと、
    前記2つのポイントの前記3D位置の間の距離を算出するステップと、
    をさらに含む、請求項1に記載の方法。
  10. ユーザ入力に基づいて、部屋のパノラマ画像の前記部屋の壁のコーナポイントの二次元(2D)位置を決定し、前記壁のコーナポイントのそれぞれが、前記部屋の床面または天井面のうちの1つに存在し、
    前記壁のコーナポイントの前記2D位置、前記パノラマ画像のサイズ、および前記部屋の前記床面と前記部屋の前記パノラマ画像を捕捉するように構成されたデバイスの捕捉位置との間の距離に基づいて、前記壁のコーナポイントの三次元(3D)位置を算出し、
    前記壁のコーナポイントの順序に基づいて前記部屋のレイアウトを決定し、
    前記部屋の前記レイアウトと前記壁のコーナポイントの前記3D位置に基づいて前記部屋の3Dジオメトリを生成する、
    ように構成された処理回路
    を備える、装置。
  11. 前記ユーザ入力が、前記部屋の前記壁のコーナポイントおよび前記壁のコーナポイントの前記順序をユーザが選択することを含む、請求項10に記載の装置。
  12. 前記壁のコーナポイントの少なくとも1つが、第1のタイプの壁のコーナポイントであり、前記第1のタイプの壁のコーナポイントが、前記3Dジオメトリの壁面を示す、請求項10に記載の装置。
  13. 前記壁のコーナポイントの少なくとも1つが、第2のタイプの壁のコーナポイントであり、前記第2のタイプの壁のコーナポイントが、前記3Dジオメトリのオープンエリア平面を示す、請求項10に記載の装置。
  14. 前記処理回路が、
    2つの近接する壁のコーナポイントのうちの所定の1つのタイプに基づいて、前記3Dジオメトリの平面を生成するようにさらに構成されている、請求項10に記載の装置。
  15. 前記処理回路が、
    前記3Dジオメトリの平面内の各3D位置に対して、それぞれの前記3D位置に対応する前記部屋の前記パノラマ画像内の2D位置における色情報に基づいて、それぞれの前記3D位置の色情報を決定するようにさらに構成されている、請求項10に記載の装置。
  16. 前記3Dジオメトリの各壁面が、前記3Dジオメトリの少なくとも1つの他の壁面に対して平行または垂直であり、
    前記処理回路が、
    ユーザが前記壁のコーナポイントのうちの1つを選択することを支援するガイドラインを生成するようにさらに構成されている、請求項10に記載の装置。
  17. 前記3Dジオメトリの各壁面が、前記3Dジオメトリの少なくとも1つの他の壁面に対して平行または垂直であり、
    前記処理回路が、
    前記ユーザによって選択された前記壁のコーナポイントのうちの1つを調整するようにさらに構成されている、請求項10に記載の装置。
  18. 前記処理回路が、
    前記部屋の前記パノラマ画像における2つのポイントの2D位置を決定し、
    前記2つのポイントの前記2D位置、前記パノラマ画像の前記サイズ、および前記部屋の前記床面と前記デバイスの前記捕捉位置との間の前記距離に基づいて、前記2つのポイントの3D位置を算出し、
    前記2つのポイントの前記3D位置の間の距離を算出する、
    ようにさらに構成されている、請求項10に記載の装置。
  19. 少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
    ユーザ入力に基づいて、部屋のパノラマ画像の前記部屋の壁のコーナポイントの二次元(2D)位置を決定するステップであって、前記壁のコーナポイントのそれぞれが、前記部屋の床面または天井面のうちの1つに存在する、ステップと、
    前記壁のコーナポイントの前記2D位置、前記パノラマ画像のサイズ、および前記部屋の前記床面と前記部屋の前記パノラマ画像を捕捉するように構成されたデバイスの捕捉位置との間の距離に基づいて、前記壁のコーナポイントの三次元(3D)位置を算出するステップと、
    前記壁のコーナポイントの順序に基づいて前記部屋のレイアウトを決定するステップと、
    前記部屋の前記レイアウトと前記壁のコーナポイントの前記3D位置に基づいて前記部屋の3Dジオメトリを生成するステップと、
    を実行させる命令を格納する非一時コンピュータ可読記憶媒体。
  20. 前記ユーザ入力が、前記部屋の前記壁のコーナポイントおよび前記壁のコーナポイントの前記順序をユーザが選択することを含む、請求項19に記載の非一時コンピュータ可読記憶媒体。
JP2022565905A 2021-05-07 2021-10-18 3dジオメトリを構築するための方法、装置及びプログラム Active JP7518196B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163185946P 2021-05-07 2021-05-07
US63/185,946 2021-05-07
US17/502,973 2021-10-15
US17/502,973 US11670045B2 (en) 2021-05-07 2021-10-15 Method and apparatus for constructing a 3D geometry
PCT/US2021/055393 WO2022235291A1 (en) 2021-05-07 2021-10-18 Method and apparatus for constructing a 3d geometry

Publications (2)

Publication Number Publication Date
JP2023529787A true JP2023529787A (ja) 2023-07-12
JP7518196B2 JP7518196B2 (ja) 2024-07-17

Family

ID=83900545

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022565905A Active JP7518196B2 (ja) 2021-05-07 2021-10-18 3dジオメトリを構築するための方法、装置及びプログラム

Country Status (6)

Country Link
US (1) US11670045B2 (ja)
EP (1) EP4107661A4 (ja)
JP (1) JP7518196B2 (ja)
KR (1) KR20220161445A (ja)
CN (1) CN115516517A (ja)
WO (1) WO2022235291A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230127307A1 (en) * 2021-10-26 2023-04-27 Meta Platforms Technologies, Llc Scene Capture via Artificial Reality Systems

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7523411B2 (en) * 2000-08-22 2009-04-21 Bruce Carlin Network-linked interactive three-dimensional composition and display of saleable objects in situ in viewer-selected scenes for purposes of object promotion and procurement, and generation of object advertisements
US7995054B2 (en) 2005-11-21 2011-08-09 Leica Geosystems Ag Identification of edge regions from 3D point data
US8633939B2 (en) 2009-02-05 2014-01-21 Autodesk, Inc. System and method for painting 3D models with 2D painting tools
US8515185B2 (en) 2009-11-25 2013-08-20 Google Inc. On-screen guideline-based selective text recognition
US20140132633A1 (en) * 2011-07-20 2014-05-15 Victoria Fekete Room design system with social media interaction
US9971853B2 (en) * 2014-05-13 2018-05-15 Atheer, Inc. Method for replacing 3D objects in 2D environment
US10459593B2 (en) 2015-03-24 2019-10-29 Carrier Corporation Systems and methods for providing a graphical user interface indicating intruder threat levels for a building
US10756830B2 (en) 2015-03-24 2020-08-25 Carrier Corporation System and method for determining RF sensor performance relative to a floor plan
US9613423B2 (en) * 2015-06-12 2017-04-04 Google Inc. Using a depth map of a monitored scene to identify floors, walls, and ceilings
US10395435B2 (en) * 2016-04-04 2019-08-27 Occipital, Inc. System for multimedia spatial annotation, visualization, and recommendation
JP6795683B2 (ja) * 2016-08-11 2020-12-02 マジック リープ, インコーポレイテッドMagic Leap,Inc. 3次元空間内の仮想オブジェクトの自動配置
US20190033989A1 (en) * 2017-07-31 2019-01-31 Google Inc. Virtual reality environment boundaries using depth sensors
WO2019032736A1 (en) * 2017-08-08 2019-02-14 Smart Picture Technologies, Inc. METHOD OF MEASURING AND MODELING SPACES USING AUGMENTED REALITY WITHOUT MARKER
CN108961395B (zh) 2018-07-03 2019-07-30 上海亦我信息技术有限公司 一种基于拍照重建三维空间场景的方法
US10937247B1 (en) * 2019-03-11 2021-03-02 Amazon Technologies, Inc. Three-dimensional room model generation using ring paths and photogrammetry
US11367250B2 (en) * 2019-03-18 2022-06-21 Geomagical Labs, Inc. Virtual interaction with three-dimensional indoor room imagery
US11263457B2 (en) * 2019-04-01 2022-03-01 Houzz, Inc. Virtual item display simulations
US11388437B2 (en) 2019-06-28 2022-07-12 Tencent America LLC View-position and angle dependent processing of point cloud data

Also Published As

Publication number Publication date
EP4107661A4 (en) 2023-08-23
CN115516517A (zh) 2022-12-23
US20220358716A1 (en) 2022-11-10
US11670045B2 (en) 2023-06-06
KR20220161445A (ko) 2022-12-06
JP7518196B2 (ja) 2024-07-17
WO2022235291A1 (en) 2022-11-10
EP4107661A1 (en) 2022-12-28

Similar Documents

Publication Publication Date Title
US9704282B1 (en) Texture blending between view-dependent texture and base texture in a geographic information system
US11816799B2 (en) Generating virtual representations
US10878599B2 (en) Soft-occlusion for computer graphics rendering
WO2012016220A1 (en) Multiscale three-dimensional orientation
WO2015051624A1 (zh) 一种三维物体重建的方法、装置和终端
TW201921318A (zh) 用於產生場景之舖磚式三維影像表示之設備及方法
JP7499412B2 (ja) 品質アセスメントのための方法、装置、及びプログラム
US11651533B2 (en) Method and apparatus for generating a floor plan
JP7518196B2 (ja) 3dジオメトリを構築するための方法、装置及びプログラム
US20230260218A1 (en) Method and apparatus for presenting object annotation information, electronic device, and storage medium
JP2023527438A (ja) リアルタイム深度マップを用いたジオメトリ認識拡張現実効果
KR102197504B1 (ko) 사전 계산된 조명으로 증강 현실 환경을 구성하는 기법
US12002165B1 (en) Light probe placement for displaying objects in 3D environments on electronic devices
CN116647657A (zh) 响应式视频画布生成
US11816798B1 (en) 3D surface representation refinement
EP3924942A1 (en) Efficient image population from captured scene
Butnariu et al. High quality 3D restoration of photographed structures using VR technologies
CN116457837A (zh) 基于图像的质量评估采样度量
WO2020053899A1 (en) Systems and methods for optimizing lighting in a three dimensional (3-d) scene(s)
GB2606067A (en) Generating virtual representations

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221027

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221027

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240307

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20240307

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20240327

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: 20240611

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240704

R150 Certificate of patent or registration of utility model

Ref document number: 7518196

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150