JP7223449B2 - 撮影に基づく3dモデリングシステム - Google Patents

撮影に基づく3dモデリングシステム Download PDF

Info

Publication number
JP7223449B2
JP7223449B2 JP2020571820A JP2020571820A JP7223449B2 JP 7223449 B2 JP7223449 B2 JP 7223449B2 JP 2020571820 A JP2020571820 A JP 2020571820A JP 2020571820 A JP2020571820 A JP 2020571820A JP 7223449 B2 JP7223449 B2 JP 7223449B2
Authority
JP
Japan
Prior art keywords
image
shooting
camera
model
mobile device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020571820A
Other languages
English (en)
Other versions
JP2022501684A (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
Priority claimed from CN201910784772.1A external-priority patent/CN110505463A/zh
Application filed by 上海亦我信息技術有限公司 filed Critical 上海亦我信息技術有限公司
Publication of JP2022501684A publication Critical patent/JP2022501684A/ja
Application granted granted Critical
Publication of JP7223449B2 publication Critical patent/JP7223449B2/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
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • 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
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • 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/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/35Categorising the entire scene, e.g. birthday party or wedding scene
    • G06V20/36Indoor scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06V20/647Three-dimensional objects by matching two-dimensional images to three-dimensional objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/275Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/293Generating mixed stereoscopic images; Generating mixed monoscopic and stereoscopic images, e.g. a stereoscopic image overlay window on a monoscopic image background
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/50Constructional details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/50Constructional details
    • H04N23/54Mounting of pick-up tubes, electronic image sensors, deviation or focusing coils
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • H04N23/631Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
    • H04N23/632Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters for displaying or modifying preview images prior to image capturing, e.g. variety of image resolutions or capturing parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
    • 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/20021Dividing image into blocks, subimages or windows
    • 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/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • 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/008Cut plane or projection plane definition
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Studio Devices (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)

Description

(関連出願の相互参照)
本出願は、出願日が2019年08月23日の中国特許出願第201910784772.1号に基づいて、その中国特許出願の優先権を主張しており、その内容の全体が参照により本出願に組込まれる。
(技術分野)
本発明は、3Dモデリングシステムおよび方法に関し、特に、撮影に基づく3Dモデリングシステムおよび方法、自動3Dモデリング装置および方法に関する。
本発明が解決しようとす技術的課題は、単一空間または複数空間の3Dモデリングおよび/または2D平面図生成のための撮影に基づく三次元空間モデリングスキームを提供することである。
従来、撮影に基づく3Dモデリング方法は主に、以下の2つがあるが、どちらも顕著な欠点があった。
方法a)深さ情報を認識できるカメラを用いて3Dモデルを直接生成する。この方法は、より複雑なハードウェアに依存しているため、機器のコストが高くなり、プロのカメラマンが操作する必要があることが多く、普及には向いていない。
方法b)互いに近い場所で、好ましくはセンチメートルとデシメータの間隔で2枚の写真を撮影し、照合と位置決めを連続的に行い、その後、MVS(Multi View Stereo、https://github.com/cdcseacave/openMVSを参照)を使用してモデリングを行い、その利点は、プロセス全体が完全に自動化されており、手動介入を必要としないことであるが、欠点もまた顕著である。
欠点1:計算量が多く、モバイル機器などの限られたコンピューティングリソースを持つ機器上でのモデリングは容易ではないこと、通常、サーバ(クラウド/PC)にアップロードすることで、より強いの計算能力を利用してモデリングアルゴリズムを実行する必要がある。
欠点2:撮影距離の指定ができないこと、距離が近すぎる場合、面倒で時間がかかる、可視性と感覚で距離を決定する場合、モデリングに失敗する可能性があり、撮影時にユーザにヒントを表示できない。
また、従来から、写真に基づいて三次元空間シーンを再構成する方法が提供されているが、これらの方法では、3Dモデリングに用いられる画像に基づいて3Dモデルを自動的に生成することがほとんどできず、各空間の3Dモデルを修正するために多くの手動介入を必要とする。さらに、複数の空間の3Dモデルを自動的にスティッチングすることができないため、各空間の3Dモデルを手動で観察して共通点を見つけ、手動でスティッチングする必要があり、時間と手間がかかる。
従来の方法における上記欠点の1つ以上を克服するために、本発明は、革新的な方法を使用し、すなわち、ディープラーニングおよび画像処理方法を使用してシングル撮影点によるモデリングを行い、これにより、モバイル機器などの限られた計算能力で実行することも、クラウドサーバに関連データをアップロードして実行することもできる。また、モバイル機器を用いたリアルタイムモデリングの場合、リアルタイム性を向上させるために、家具や小物などのモデルを復元することなく、部屋の輪郭のみをモデリングし、撮影点の位置決めシステムを構築することで、複数の撮影点のモデルをその位置と方向に応じて同一の座標系に配置し、複数の撮影点の独立したモデルを最適化し、結合された部分の処理を行うことで、3Dモデル全体と2D平面図を生成する。
本発明は、携帯電話の魚眼レンズ、パノラマカメラ、魚眼レンズ付きカメラ、通常の携帯電話や通常のデジタルカメラなどを含むがこれらに限定されない、幅広い撮影モードに対応することができ、コストが低い。
通常の写真(定義):通常のデジタルカメラ(通常の一眼レフカメラ、マイクロカメラ、ポイント&シュートカメラなどを含む)、パノラマカメラ、魚眼レンズ付きカメラ、通常の携帯電話、魚眼レンズ付き携帯電話、およびカメラで撮影した写真。通常の写真は両眼視とは異なり、同じ撮影点で撮影した2枚の写真に基づいて三次元情報を復元できない。以下、通常の写真を写真という。
パノラマカメラを使用する場合、通常はパノラマ画像を取得する。直線検出などの一部のコンピュータビジョンと画像アルゴリズムでは、パノラマ画像を歪みのない画像に変換する必要がある。以下で使用する写真と画像の表現には、パノラマ写真と変換された歪みのない画像が含まれる。
本発明は、撮影に基づく3Dモデリングシステムおよび方法、自動3Dモデリング装置および方法を提供しており、様々な撮影機器に対応し、かつ取得された各撮影点の相対位置とカメラのレンズ撮影方向情報に基づいて、各撮影点の3Dモデルを自動的にスティッチングして3Dモデル全体を生成することができる。本発明はさらに、2D平面図を生成することができる。
具体的には、本発明は、撮影に基づく3Dモデリングシステムを提供し、複数の空間に対して各空間の第1画像をそれぞれ撮影するための撮影ユニットと、各前記空間ごとに前記撮影ユニットが撮影した前記第1画像に基づいて、各前記空間の3Dモデルをそれぞれ生成する3Dモデル生成ユニットと、前記撮影ユニットが各空間の第1画像を撮影した時の位置および撮影方向情報を取得するための撮影位置取得ユニットと、前記位置および撮影方向情報に基づいて、前記各空間の3Dモデルを同一の三次元座標系でスティッチングし、前記各空間が含まれる3Dモデル全体を形成する3Dモデルスティッチングユニットと、を含む。
さらに、前記撮影ユニットは、前記各空間の間を移動する過程で複数の第2画像を撮影し、前記撮影位置取得ユニットは、前記複数の第2画像を用いて特徴点照合を行うことにより、各撮影点の相対変位および撮影方向情報を取得し、例えば、同一の座標系における全ての撮影点を含むロードマップを形成することにより、前記撮影ユニットが位置される空間の第1画像を撮影した時の位置および撮影方向情報を取得することができる。
さらに、前記撮影ユニットは、位置決めセンサと方向センサを有し、前記撮影位置取得ユニットは、前記撮影ユニットが位置される空間の第1画像を撮影した時に提供される位置決め情報と方向情報に基づいて、前記撮影ユニットが位置される空間の第1画像を撮影した時の位置および撮影方向情報を取得する。
さらに、前記撮影ユニットは、前記各空間の間を移動する過程で複数の第2画像を撮影し、前記撮影ユニットは、位置決めセンサと方向センサを有し、前記撮影位置取得ユニットは、前記撮影ユニットが撮影した複数の第2画像における近接した撮影点画像を用いて特徴点照合を行うことにより、各撮影点の相対変位情報および撮影方向情報を取得し、例えば、全ての撮影点を同一の座標系で含むロードマップを形成し、かつ前記撮影ユニットが位置される空間の第1画像を撮影した時の位置決め情報と方向情報とを結合してロードマップを補正することにより、前記撮影ユニットが位置される空間の第1画像を撮影した時の位置および撮影方向情報を取得することができる。
さらに、前記撮影位置取得ユニットはさらに、加速度センサ、速度センサなど含む、前記撮影ユニットに搭載されたセンサから提供される加速度情報や移動速度情報などの変位情報により、前記相対変位、すなわち、ロードマップおよび撮影方向情報を補正する。
さらに、前記3Dモデルスティッチングユニットは、各部屋を撮影する際に前記撮影位置取得ユニットが取得した前記位置および撮影方向情報に基づいて、例えば、1つの変換行列を用いて、1つの部屋の前記3Dモデルのローカル座標をグローバルワールド座標に変換することで、全ての撮影点の3Dモデル全体を取得することも可能である。
さらに、1つの部屋の前記3Dモデルのローカル座標をグローバルワールド座標に変換する方法としては、前記撮影ユニットを所定距離で移動させ、前記撮影位置取得ユニットに前記所定距離の2つの端点の座標を取得させ、前記2つの端点の座標の差と前記所定距離との比を、前記ローカル座標と前記ワールド座標との比とする方法があり、あるいは、前記撮影位置取得ユニットによって認識された特徴点を用いて、前記空間の底面または上面が位置する平面の高さと前記撮影ユニットの高さとの比を、前記ローカル座標と前記ワールド座標との比として推定する方法がある。
さらに、前記撮影ユニットが最初の撮影点を撮影する前に、またはその後の撮影の移動中に、所定距離を移動させて所定数の前記特徴点を取得する。
さらに、前記撮影ユニットは、同一の撮影点で前記第1画像をそれぞれ撮影する2眼レンズを有し、前記3Dモデル生成ユニットは、それぞれの前記2眼レンズで撮影された前記第1画像を比較して対応する画素を決定し、前記3Dモデルの生成に用いるための対応する前記各画素の深さ情報を取得する。
さらに、前記3Dモデル生成ユニットはさらに、ディープラーニング技術を用いて、前記第1画像における各画素の深さを予測し、前記ディープラーニング技術を計算または直接適用して前記各画素の法線方向を予測することにより、前記各空間の3Dモデルを生成する。
さらに、前記撮影ユニットは、カメラおよび/または携帯電話などのカメラ機能付きモバイル機器によって実現される。前記3Dモデル生成ユニットは、前記携帯電話またはリモートサーバによって実現され、前記リモートサーバによって実現される場合には、ネットワークを介して、前記カメラおよび/または前記カメラ機能付き携帯電話が撮影して送信した第1画像を受信し、前記各空間の3Dモデルを生成する。前記撮影位置取得ユニットは、前記カメラまたは前記携帯電話によって実現される。前記3Dモデルスティッチングユニットは、前記携帯電話またはリモートサーバによって実現され、前記リモートサーバによって実現される場合には、ネットワークを介して、前記撮影位置取得ユニットから送信された各空間の前記位置および撮影方向情報を受信し、当該位置および撮影方向情報に基づいて前記スティッチング処理を完了し、生成した前記整体3Dモデルを前記携帯電話または他の機器に送信する。
さらに、前記撮影ユニットを実装したカメラと、カメラ機能付き携帯電話とを同一の撮影スタンドに固定する。前記スタンドを移動させる過程で、前記カメラまたは前記カメラ機能付き携帯電話が撮影した複数の第2画像を取得し、それにより、前記カメラまたは前記カメラ機能付き携帯電話が位置される空間に対して第1画像を撮影した時の位置および撮影方向情報を取得する。
さらに、前記カメラまたは前記カメラ機能付き携帯電話の位置決めシステムに基づいて、前記カメラまたは前記カメラ機能付き携帯電話が撮影した第2画像を用いて、近接した撮影点の第2画像の特徴点を照合することにより、各撮影点の相対変位情報および撮影方向情報を取得し、各撮影点の相対位置および方向を提供する。
さらに、前記撮影ユニットが前記第1空間の前記第1画像を撮影する前に、あるいはその後の移動中に、前記カメラのレンズと前記携帯電話の撮影方向とのなす角度を、以下のいずれか1つ以上の方法で取得する。
ここで、カメラのレンズの撮影方向とは、一般的なパノラマカメラの前面魚眼レンズおよび背面魚眼レンズのいずれかの方向、または、1つのレンズを回転させて複数枚の写真を撮影するパノラマカメラが第1枚の写真を撮影する時のレンズの方向を指してもよい。
(1)前記携帯電話に基づく位置決めシステムと前記カメラに基づく位置決めシステムを同時に動作させ、前記スタンドを一定の距離で移動させ、この時、2つのシステムがそれぞれ1つの変位ベクトルを提供し、2つのベクトルの間の角度を、前記カメラのレンズと前記携帯電話の撮影方向との間の角度とする。
(2)前記カメラのプレビュー画像または撮影画像を手動で回転させて、前記携帯電話の撮影方向と一致する角度を指定する。
(3)前記携帯電話と前記カメラのプレビュー画像または撮影画像を画像認識アルゴリズムで照合することによって、前記角度を見つける。
(4)追加のマーキングを使用して、例えば、スタンドに目盛りを付けて前記携帯電話の設置方向と一定の角度を形成し、その後、前記カメラのプレビュー画像または画像の中の当該マーキングを認識して、前記カメラのレンズと前記携帯電話の撮影方向との間の角度を算出する。
(5)前記スタンドにスロットを設けることにより、前記カメラと前記携帯電話(モバイル機器)との間の既知の固定角度を確保する。
さらに、前記空間は部屋であり、前記第1画像は前記部屋の室内画像である。前記3Dモデル生成ユニットは、ディープラーニング技術に基づいて前記第1画像中の床、天井、壁の少なくとも1つを認識し、認識した画像を画像処理技術に基づいて複数のブロックに分割し、床と天井の画像ブロックが水平面内にあり、壁の画像ブロックが垂直面内にあるように、それぞれのブロックをおおよそ平面とみなし、各平面の方程式を解いて前記3Dモデルを生成する。ここで、前記第1画像中で交差する2つの平面については、算出された交差線と実際に観察された交差線との誤差を最小化する。
さらに、前記3Dモデル生成ユニットはさらに、コンピュータビジョン技術を用いて、前記室内画像中のコーナーを認識し、コーナーを連結して部屋の大まかなモデルを生成する。
さらに、前記3Dモデルスティッチングユニットはさらに、前記複数の部屋のそれぞれの3Dモデルを統一して補正し、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全部屋の壁線方向を統一して補正することが含まれ、前記3Dモデルスティッチングユニットは、前記各部屋の3Dモデルをスティッチングする時、重なり部分および/または現れた空洞を修正する。
さらに、本発明の撮影に基づく3Dモデリングシステムはさらに、2D平面図生成ユニットを含み、以下のように2D平面図を生成する。生成した前記3Dモデルの各平面を床に垂直な平面に投影し、これらの投影を1つのポリゴンに結合する。得られた前記ポリゴンを補正および簡略化し、以下の方法の少なくとも1つを含む。(1)前記ポリゴンの主要な頂点のみを残し、小さい凹凸を削除し、(2)コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正する。前記撮影位置取得ユニットが取得した各空間の前記位置および撮影方向情報に基づいて、生成した前記各部屋の2D平面図を同一の二次元座標系でスティッチング処理を行い、前記各部屋のそれぞれの2D平面図によってスティッチングされた2D平面図全体を形成する。ドアおよび/または窓の位置を認識してラベル付け、そのうち、ディープラーニングの方法を用いて、前記室内画像上でドアおよび/または窓の位置を認識すること、または、前記撮影ユニットが同一住宅に属する複数の部屋に対して前記第1画像をそれぞれ撮影した時の移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる。
さらに、前記2D平面図生成ユニットは、前記複数の部屋のそれぞれの2D平面図を統一して補正し、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全部屋の壁線方向を統一して補正することが含まれる。前記2D平面図生成ユニットは、前記各部屋の2D平面図をスティッチングする時、重なり部分および/または現れた空洞を修正する。
さらに、本発明の撮影に基づく3Dモデリングシステムはさらに、2D平面図生成ユニットを含んでもく、以下のように2D平面図を生成する。前記3Dモデルスティッチングユニットが生成した前記3Dモデル全体の各平面を床に垂直な平面に投影し、これらの投影を1つのポリゴンに結合する。得られた前記ポリゴンを補正および簡略化し、以下の方法の少なくとも1つを含む。(1)前記ポリゴンの主要な頂点のみを残し、小さい凹凸を削除し、(2)コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正する。ドアおよび/または窓の位置を認識してラベル付け、そのうち、ディープラーニングの方法を用いて、前記室内画像上でドアおよび/または窓の位置を認識すること、または、前記撮影ユニットが同一住宅に属する複数の部屋に対して前記第1画像をそれぞれ撮影した時の移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる。
また、本発明はさらに、自動3Dモデリング装置を提供し、モデリングオブジェクトに含まれる複数の空間のそれぞれの第1画像に基づいて、前記各空間の3Dモデルをそれぞれ生成する3Dモデル生成ユニットと、前記複数の空間のそれぞれの前記第1画像が撮影された時の位置および撮影方向情報に基づいて、前記3Dモデル生成ユニットが生成した前記各空間の3Dモデルを同一の三次元座標系でスティッチング処理を行い、前記各空間のそれぞれの3Dモデルによってスティッチングされた3Dモデル全体を形成する3Dモデルスティッチングユニットと、を含む。
また、本発明はさらに、自動3Dモデリング方法を提供し、モデリングオブジェクトに含まれる複数の空間のそれぞれの第1画像に基づいて、前記各空間の3Dモデルをそれぞれ生成する3Dモデル生成ステップと、前記複数の空間のそれぞれの前記第1画像が撮影された時の位置および撮影方向情報に基づいて、前記3Dモデル生成ステップで生成した前記各空間の3Dモデルを同一の三次元座標系でスティッチング処理を行い、前記各空間のそれぞれの3Dモデルによってスティッチングされた3Dモデル全体を形成する3Dモデルスティッチングステップと、を含む。
また、本発明はさらに、撮影に基づく3Dモデリング方法を提供し、以下のステップ、すなわち、S1)同一の撮影スタンドにカメラ機能付きモバイル機器およびカメラを固定するステップと、S2)スタンドを移動させる過程で、カメラまたはモバイル機器からの複数の第2画像を取得し、前記カメラまたはモバイル機器のセンサと組み合わせて各撮影点の位置および撮影方向を取得し、統一座標系を用いたロードマップを形成するステップと、S3)前記モバイル機器またはリモートサーバ側で、各撮影点で撮影された第1画像に基づいて、3Dモデリングを行うステップと、S4)S2で得られた位置および撮影方向に応じて各撮影点の前記3Dモデルを同一の三次元座標系に配置し、複数の撮影点の3Dモデル間の結合部分をスティッチングし、複数の撮影点が含まれる3Dモデル全体を形成するステップと、を含む。
さらに、前記ステップS2では、前記モバイル機器またはカメラの位置決めシステムに基づいて、前記モバイル機器またはカメラで撮影した第2画像を用いて、近似した撮影点の第2画像の特徴点を照合することにより、撮影点の相対変位および撮影方向情報を見つけ、全ての撮影点を同一の座標系に含む前記ロードマップを形成し、各撮影点の位置および方向を提供する。
さらに、前記ステップS2では、さらに、前記モバイル機器またはカメラを用いて、移動加速度、速度、および方向情報を取得することにより、前記ロードマップを補正する。
さらに、前記ステップS2では、さらに、前記カメラのレンズと前記モバイル機器の撮影方向との間の角度を取得し、初期化段階で、前記モバイル機器に基づく位置決めシステムと前記カメラに基づく位置決めシステムを同時に動作させ、スタンドを一定の距離だけ移動させ、この時、2つのシステムがそれぞれ1つの変位ベクトルを提供し、2つのベクトルの間の角度を、前記カメラのレンズと前記モバイル機器の撮影方向との間の角度とする。あるいは、前記カメラのプレビュー画像または撮影画像を手動で回転させて、前記モバイル機器の撮影方向と一致する角度を指定する。あるいは、前記モバイル機器と前記カメラのプレビュー画像または撮影画像を画像認識アルゴリズムで照合することによって、その角度を見つける。あるいは、追加のマーキングを使用して、例えば、スタンドに目盛りを付けて前記モバイル機器の設置方向と一定の角度を形成し、その後、前記カメラのプレビュー画像または画像の中の当該マーキングを認識して、前記カメラのレンズと前記モバイル機器の撮影方向との間の角度を算出する。
さらに、前記ステップS3は、以下を含む。S31)ディープラーニング技術に基づいて、画像中の床、天花板、壁の少なくとも1つを認識する。S32)認識した画像を画像処理技術に基づいて複数のブロックに分割し、床と天井の画像ブロックが水平面内にあり、壁の画像ブロックが垂直面内にあるように、それぞれのブロックをおおよそ平面とみなし、各平面の方程式を解いて前記3Dモデルを生成する。画像中で交差する2つの平面については、2つの平面の交差線を制約条件とし、算出された交差線と実際に観察された交差線との誤差を最小化する。
さらに、前記ステップS3はさらに、コンピュータビジョン技術を用いて、室内画像中のコーナーを認識し、コーナーを連結して部屋の大まかなモデルを生成する。
さらに、前記ステップS4は、以下を含む。S41)各撮影点の位置と撮影方向に基づいて、例えば、1つの変換行列を用いて、シングル撮影点の3Dモデルのローカル座標をグローバルワールド座標に変換することで、全ての撮影点の3Dモデル全体を取得する。S42)複数の撮影点の3Dモデルを統一して補正し、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全ての撮影点の壁線方向を統一して補正することが含まれる。S43)各撮影点の3Dモデルをスティッチングする時、重なり部分および/または現れた空洞を修正する。
従来技術と比較して、本発明は、多様な撮影機器に対応できること、3Dモデリングおよびスティッチング作業を、モバイル機器のような計算能力の限られた機器内で実行でき、リモートサーバ上でも実行できること、各撮影点の相対位置とカメラのレンズ撮影方向情報に基づいて、各撮影点の3Dモデルを自動的にスティッチングして3Dモデル全体を生成できること、必要に応じて2D平面図を生成できること、のうちの1つ以上の有益な効果を達成することができる。本発明によれば、モデリングの成功率が高く、1部屋につき1セットの画像のみを撮影してパノラマを合成することに対応し、モデリング効率が高く、ユーザーに良好な体験を提供でき、モデリング効率が高いため、撮影時のリアルタイムモデリングが可能であり、リモートサーバー上での正確なモデリングも可能であり、目に見えるものは手に入れるものであり、ユーザーはリアルタイムモデリング結果を参考にして撮影場所を選択し、撮り逃しを防ぐことができ、モデリングには家具などの外乱が含まれていない場合があり、正確な住宅プランの生成に資することができる。
本発明が適用され得る例示的なシステムのアーキテクチャ図である。 本発明の撮影に基づく3Dモデリングシステムの一実施例の構造を示す図である。 本発明の撮影に基づく3Dモデリングシステムの別の実施例の構造を示す図である。 本発明の撮影に基づく3Dモデリング方法の一実施例のフローチャートである。 本発明の自動3Dモデリング装置の一実施例の構造を示す図である。 本発明の自動3Dモデリング装置の別の実施例の構造を示す図である。 本発明の自動3Dモデリング方法の一実施例のフローチャートである。 本発明の電子機器の一実施例の構造を示す図である。
添付の図面と併せて以下の特定の実施形態を参照すると、本発明の各実施形態の上記および他の特徴、利点、態様がより明らかになるであろう。添付の図面全体を通して、同一または類似の参照番号は、同一または類似の要素を示す。添付の図面は概略図であり、原本および要素は必ずしも縮尺で描かれていないことを理解すべきである。
別段の定義がない限り、本明細書で使用される全ての技術的および科学的用語は、当業者によって一般的に理解されるのと同じ意味を有する。本出願の明細書で使用される用語は、特定の実施例を説明するためのものであり、本発明を限定することを意図するものではない。本発明の明細書および特許請求の範囲ならびに上記図面の説明における「含む」および「有する」という用語およびそれらの変形は、非排他的な包含をカバーすることを意図している。本発明の明細書および特許請求の範囲または上記図面における「第1」、「第2」などの用語は、異なる対象物を区別するために使用され、特定の順序を説明するために使用されるものではない。
本明細書における「実施例」への言及は、実施例と併せて記載された特定の特徴、構造、または特性が、本発明の少なくとも1つの実施例に含まれ得ることを意味する。本明細書の様々な位置に現れる句は、必ずしも全てが同じ実施例を指すものではなく、また、他の実施例と相互に排他的な独立した実施例または代替的な実施例を指すものでもない。本明細書に記載された実施例は、他の実施例と組み合わせてもよいことが、当業者によって明示的かつ暗黙的に理解される。
当業者が本発明の技術的解決手段をよりよく理解できるようにするために、添付の図面および実施例を組み合わせて本発明をさらに説明する。
(システム構造)
まず、本発明の一実施例のシステムの構造について説明する。図1に示すように、システム構造100は、モバイル機器101、102、103、104、ネットワーク105およびサーバ106を含み得る。ネットワーク105は、端末機器101、102、103、104とサーバ106との間の通信リンクを提供するための媒体である。
本実施例では、図1に示すモバイル機器101、102、103または104は、ネットワーク105を介して各種情報を伝送することができる。ネットワーク105は、有線、無線通信リンクまたはファイバケーブルなどの様々な接続タイプを含み得る。上記の無線接続方法は、3G/4G/5G接続、WiFi接続、Bluetooth接続、WiMAX接続、Zigbee接続、UWB接続、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、Internet(例えば、インターネット)、エンドツーエンドネットワーク(例えば、アドホックエンドツーエンドネットワーク)、および現在知られているかまたは将来開発される他のネットワーク接続方法を含み得るが、これらに限定されないことに留意すべきである。ネットワーク105は、HTTP(Hyper Text Transfer Protocolocol、ハイパーテキスト転送プロトコル)などの現在知られているまたは将来開発される任意のネットワークプロトコルを使用して通信してもよく、デジタルデータ通信の任意の形態または媒体(例えば、通信ネットワーク)と相互接続してもよい。
ユーザは、モバイル機器101、102、103、104を使用して、ネットワーク105を介してサーバ106と対話し、メッセージの受信や送信などを行ってもよい。モバイル機器101、102、103、または104には、ライブビデオおよび再生アプリケーション、ウェブブラウザアプリケーション、ショッピングアプリケーション、検索アプリケーション、インスタントメッセンジャー、電子メールクライアント、ソーシャルプラットフォームソフトウェアなどの各種クライアントアプリケーションをインストールすることができる。
モバイル機器101、102、103、または104は、タッチスクリーンを有し、および/またはウェブブラウジングをサポートし、カメラ機能を有する様々な電子機器であってもよく、スマートフォン、タブレット、電子書籍リーダー、MP3(Motion Picture Experts Compressed Standard Audio Level 3)プレーヤー、MP4(Motion Picture Experts Compressed Standard Audio Level 4)プレーヤー、ヘッドマウントディスプレイ、ノートパソコン、デジタルラジオ受信機、PDA(パーソナル・デジタル・アシスタント)、PMP(ポータブル・マルチメディア・プレーヤー)、車載端末などのモバイル端末、およびデジタルテレビ、デスクトップ・コンピュータなど含むが、これらに限定されない。
サーバ106は、モバイル機器101、102、103、104上での3Dモデリングをサポートするバックエンドサーバなど、各種サービスを提供するサーバであってもよい。
図1のモバイル機器、ネットワーク、およびサーバの数は、単なる例示であることが理解されるべきである。実装のニーズに応じて、任意の数のモバイル機器、ネットワーク、およびサーバを有してもよい。
ここで、モバイル機器は、単独で、またはカメラなどの他の電子端末機器と同じスタンド(例えば、三脚)に固定されることにより、Androidでのアプリケーションの実行に連動して、またはiOS、Windows、Harmonyなどの他のオペレーティングシステムでのアプリケーションの実行に連動して、本発明の実施例の方法を実現することができる。
(撮影に基づく3Dモデリングシステム)
図2は、本発明の撮影に基づく3Dモデリングシステムの一実施例の構造を示す図である。図2に示すように、当該実施例のカメラに基づく3Dモデリングシステムは、複数の位置される空間に対して当該空間の第1画像をそれぞれ撮影するための撮影ユニット201を含み、ここで、第1画像は、例えば、3Dモデリング用画像であってもよく、通常の写真、パノラマ写真、処理されたパノラマ写真(歪みが除去されたものなど)を含んでいてもよい。当該撮影ユニット201は、モバイル機器に搭載された撮影モジュールによって実現されてもよい。
ここで、撮影ユニット201は、各空間の間を移動する過程で複数の第2画像を撮影してもよく、ここで、第2画像は、例えば、位置決め用画像であってもよく、通常の写真、パノラマ写真、処理されたパノラマ写真(歪みが除去されたものなど)を含んでいてもよい。ここで、第1画像と第2画像は、限定されることなく、同一の画像であってもよいし、部分的に同一の画像であってもよいし、異なる画像であってもよい。ここで、位置決め用画像はさらに、撮影ユニット201が撮影した写真、プレビュー画像、動画フレームなどであってもよく、記憶されてもよく、記憶されずに特徴点の認識や照合にのみ使用されてもよい。
ここで、撮影ユニット201は、例えば、位置決めセンサ及び方位方向センサ、位置される空間の3Dモデリング用画像を撮影した際にの位置決め情報および方位情報を取得することができ、ここで、位置決めセンサは、例えば、加速度センサ、ジャイロセンサ、直線加速度センサ、回転ベクトルセンサ、重力センサなどのうちの1つ以上であってもよく、方向センサは、例えば、方向センサ、磁気センサなどのうちの1つ以上であってもよい。
3Dモデル生成ユニット202は、各空間ごとに撮影ユニット201が撮影した3Dモデリング用画像に基づいて、各空間の3Dモデルをそれぞれ生成する。
例えば、撮影ユニット201は、同一の撮影点で3Dモデリング用画像をそれぞれ撮影する2眼レンズを有し、3Dモデル生成ユニット202は、それぞれの2眼レンズで撮影された3Dモデリング用画像を比較して対応する画素を決定し、3Dモデルの生成に用いるための対応する各画素の深さ情報を取得する。
もちろん、1つ以上の実施例では、例えば、3Dモデル生成ユニット202はさらに、ディープラーニング技術を用いて、3Dモデリング用画像における画素の各々または一部の深さを予測し、ディープラーニング技術を計算または直接適用して画素の各々または一部の法線方向を予測することにより、各空間の3Dモデルを生成することができる。
ディープラーニング技術により、3Dモデリング用画像における各画素の深さまたは各画素の法線方向を予測する方法は、例えば、単一の室内360°画像から密な深さと表面法線および平面境界を予測するための平面認識畳み込みニューラルネットワークを訓練するための方法であってもよいし(例えば、Pano Popups:Indoor 3D Reconstruction with a Plane-Aware Networkを参照)、大規模な三次元データセットを用いて、360°画像からエンドツーエンドで深さを予測するための方法であってもよい(例えば、OmniDepth:Dense Depth Estimation for Indoors Spherical Panoramasを参照)。
撮影位置取得ユニット203は、撮影ユニット201が各空間の3Dモデリング用画像を撮影した時の位置情報と撮影方向情報を取得するだけでなく、レンズの焦点距離やレンズの走査間隔、および画像内容の特徴量の歪みや画像内容の特徴量の相対寸法に影響を与え得る焦点距離や広角、望遠鏡ヘッドの設定など、画像内容に影響を与え得る撮影パラメータ情報を取得することもできる。
ここで、撮影位置取得ユニット203は、例えば、撮影ユニット201が撮影した複数の位置決め用画像における近接した撮影点画像を用いて特徴点照合を行うことにより、各撮影点の相対変位および撮影方向情報を取得し、例えば、全ての撮影点を同一の座標系で含むロードマップを形成することにより、撮影ユニット201が位置される空間の3Dモデリング用画像を撮影した時の位置および撮影方向情報を取得することができる。
ここで、撮影位置取得ユニット203は、例えば、撮影ユニット201が位置される空間の3Dモデリング用画像を撮影した時に提供される位置決め情報や方向情報に基づいて、撮影ユニット201が位置される空間の3Dモデリング用画像を撮影した時の位置や撮影方向情報を取得してもよい。
ここで、撮影位置取得ユニット203はさらに、加速度センサや速度センサなどの変位センサ、およびジャイロセンサや気圧センサなどの動作センサを含む、撮影ユニット201に搭載されたセンサから提供される加速度情報や移動速度情報などの変位情報、または他の運動・動作情報などにより、相対変位して形成されたロードマップおよび撮影方向情報を補正する。
3Dモデルスティッチングユニット204は、撮影位置取得ユニット203が取得した各空間の位置および撮影方向情報に基づいて、3Dモデル生成ユニット202が生成した各空間の3Dモデルを同一の三次元座標系でスティッチング処理を行い、各空間のそれぞれの3Dモデルによってスティッチングされた3Dモデル全体を形成する。
ここで、3Dモデルスティッチングユニット204は、各部屋を撮影する際に撮影位置取得ユニット203が取得した位置情報と撮影方向情報に基づいて、例えば、1つの変換行列を用いて、1つの部屋の3Dモデルのローカル座標をグローバルワールド座標に変換することで、全ての撮影点の3Dモデル全体を取得することも可能である。
ここで、1つの部屋の3Dモデルのローカル座標をグローバルワールド座標に変換する方法としては、撮影ユニット201を所定距離で移動させ、撮影位置取得ユニット203に所定距離(例えば1m)の2つの端点の座標を取得させ、2つの端点の座標の差と所定距離との比を、ローカル座標とワールド座標との比とする方法があり、あるいは、撮影位置取得ユニット203によって認識された特徴点を用いて、空間の底面または上面が位置する平面の高さと撮影ユニット201の高さとの比を、ローカル座標とワールド座標との比として推定し、そのうち、撮影ユニット201が最初の撮影点を撮影する前に、またはその後の撮影の移動中に、所定距離を移動させて所定数の特徴点を取得する方法がある。
ここで、空間の底面または上面が位置する平面の高さと撮影ユニット201の高さとの比を推定する方法としては、例えば、撮影点を底面に垂直に投影した後、特徴点を(底面で)接続し、これら3点が三角形を形成する方法が挙げられる。投影線をL1、撮影点から特徴点までの接続線をL2、投射点から特徴点までの接続線をL3とし、L1とL2の間の角度は(パノラマ画像の特性に基づいて)既知であり、L3の長さと上記角度に基づいて三角関数を用いてL1を算出し、実際のカメラの高さに基づいて縮尺を算出することができる。
ここで、所定距離とは、所定数の特徴点を取得するのに十分な距離を満たす必要がある。
具体的には、例えば、1つ以上の実施例では、撮影ユニット201は、カメラまたは携帯電話のカメラのみを使用しており、得られた座標は相対値であるため、座標を絶対値に変換する必要がある。つまり、画像比較のためのアルゴリズムは通常、正確なスケールを持たず、座標は相対的であり、特定の寸法を持たない。また、これは、異なる画像から算出された変位やスケールに不整合が生じ、維持ずれにつながる。上記の座標変換方法は、以下のように実現してもよい。
a)ユーザーは、所定距離(例えば1m)を移動させ、移動した距離の2つの端点の座標を取得し、その2つの端点の座標の差と移動距離の比を、ローカル座標とワールド座標の比とするができる。
b)システムが認識した特徴点を用いて、例えば、部屋の地面や屋根が位置する平面を推定する。座標系における垂直方向の座標軸をz軸とすると、当該平面の方程式はz=aであり、撮影ユニット201の高さが既知(または撮影ユニット201から屋根までの高さが既知)で、hとすると、a/hはローカル座標とワールド座標との比である。ここで、aを推定するには、同一平面(地面や屋根)上にある一定数の特徴点を見つける必要があるため、実施中では、初期化処理を設定し、すなわち、十分に長い距離(例えば、2m以上)を移動することで、異なる環境において十分な数の特徴点を蓄積することができる。この初期化処理は、最初の撮影点の前に配置し、初期化に失敗した場合には、後続の撮影点に影響を与えることなく繰り返し行うことができ、あるいは、後続の撮影点間の移動中に初期化処理を行うことができる。
本実施形態では、撮影ユニット201は、例えば、カメラおよび/またはカメラ機能付き携帯電話によって実現されてもよい。
1つ以上の実施例では、例えば、撮影ユニット201を実装したカメラとカメラ機能付き携帯電話とを同一の撮影スタンドに固定し、スタンドを移動させる過程で、カメラまたはカメラ機能付き携帯電話が撮影した複数の位置決め用画像を取得し、それにより、カメラまたはカメラ機能付き携帯電話が位置される空間に対して3Dモデリング用画像を撮影した時の位置および撮影方向情報を取得するようにしてもよい。
ここで、カメラまたは前記カメラ機能付き携帯電話の位置決めシステムに基づいて、前記カメラまたはカメラ機能付き携帯電話が撮影した位置決め用画像を用いて、近接した撮影点の位置決め用画像の特徴点を照合することにより、各撮影点の相対変位情報および撮影方向情報を取得し、各撮影点の相対位置および方向を提供することも可能である。
1つ以上の実施形態では、撮影点の位置、方向、およびロードマップは、携帯電話によって取得される。カメラは回転ネジを介してスタンドに固定できるので、カメラと携帯電話との角度は、取り付けるたびに異なる場合がある(ただし、一組の住宅を撮影している間は角度は変わらない)。1つの部屋の3Dモデルは、この角度で回転させ、携帯電話で取得した位置と撮影方向に基づいて、グローバル座標に入れて、3Dモデル全体を形成する必要がある。
ここで、撮影ユニット201が第1空間の3Dモデリング用画像を撮影する前に、あるいはその後の移動中に、カメラのレンズと携帯電話の撮影方向とのなす角度を、以下のいずれか1つ以上の方法で取得してもよい。
ここで、カメラのレンズの撮影方向とは、一般的なパノラマカメラの前面魚眼レンズおよび背面魚眼レンズのいずれかの方向、または、1つのレンズを回転させて複数枚の写真を撮影するパノラマカメラが第1枚の写真を撮影する時のレンズの方向を指してもよい。
(1)携帯電話に基づく位置決めシステムとカメラに基づく位置決めシステムを同時に動作させ、スタンドを一定の距離で移動させ、この時、2つのシステムがそれぞれ1つの変位ベクトルを提供し、2つのベクトルの間の角度を、カメラのレンズと携帯電話の撮影方向との間の角度とする。
(2)カメラのプレビュー画像または撮影画像を手動で回転させて、携帯電話の撮影方向と一致する角度を指定する。
(3)携帯電話とカメラのプレビュー画像または撮影画像を画像認識アルゴリズムで照合することによって、その角度を見つけ、ここで、角度を見つけるための可能な実施方法は、以下の方法のうちの少なくとも1つを含み得る。
携帯電話とカメラの両方で撮影された画像中の特徴量を計算し、例えば、スケール不変特徴変換(Scale-invariant feature transform、SIFT)を使用して、2つの画像中の照合した特徴量の位置の差に基づいて、2つのレンズの撮影方向間の角度を計算する。または、
2つのレンズで撮影されたビデオストリームを用いて、ビジョンベースの同期定位・マッピングシステム(Visual Simultaneous Localization And Mapping、VSLAM)をそれぞれ構築し、2つのシステム内でのカメラ変位の角度は、レンズの撮影方向の角度となる。
(4)追加のマーキングを使用して、例えば、スタンドに目盛りを付けて携帯電話の設置方向と一定の角度を形成し、その後、カメラのプレビュー画像または画像の中の当該マーキングを認識して、カメラのレンズと携帯電話の撮影方向との間の角度を算出する。
(5)前記スタンドにスロットを設けることにより、前記カメラと前記携帯電話(モバイル機器)との間の既知の固定角度を確保する。
もちろん、ここで、カメラ画像から撮影点の位置、方向、ロードマップを算出することも可能であり、この場合、3Dモデルの算出はカメラと携帯電話の角度に依存しないため、携帯電話をスタンドに固定する必要がない。
ここで、カメラに方向センサも搭載されていれば、カメラと携帯電話の方向を直接取得して、両者の角度を算出することができる。
3Dモデル生成ユニット202は、携帯電話またはリモートサーバによって実現され、リモートサーバによって実現される場合には、ネットワークを介して、カメラおよび/またはカメラ機能付き携帯電話が撮影して送信した3Dモデリング用画像、位置決め用画像、および/または動作センサが取得した情報を受信して、前記各空間の3Dモデルを生成する。
撮影位置取得ユニット203は、例えば、前記カメラまたは前記携帯電話によって実現されてもよい。
3Dモデルスティッチングユニット204は、例えば、前記携帯電話または前記リモートサーバによって実現されてもよく、前記リモートサーバによって実現される場合には、ネットワークを介して、撮影位置取得ユニット203から送信された各空間の前記位置および撮影方向情報を受信し、当該位置および撮影方向情報に基づいてスティッチング処理を完了し、生成した3Dモデル全体を前記携帯電話または他の機器に送信する。図3は、本発明の撮影に基づく3Dモデリングシステムの別の実施例の構造を示す図である。図3に示すように、本実施形態の撮影に基づく3Dモデリングシステムにおいて、撮影に基づく3Dモデリング空間は、例えば、部屋であり、3Dモデリング用画像は、例えば、部屋の内部の画像であり、当該システムは、以下を含む。
撮影ユニット301であって、複数の部屋に対して当該部屋の3Dモデリング用画像をそれぞれ撮影するために使用される。
ここで、撮影ユニット301は、各部屋の間を移動する過程で複数の位置決め用画像を撮影してもよい。
ここで、撮影ユニット301は、例えば、位置センサや方向センサを有しており、配置された部屋の3Dモデリング用画像を撮影した時の位置決め情報および方位情報を取得できる。
3Dモデル生成ユニット302であって、各部屋ごとに撮影ユニット301が撮影した3Dモデリング用画像に基づいて、各部屋の3Dモデルをそれぞれ生成する。
ここで、3Dモデル生成ユニット302は、ディープラーニング技術に基づいて3Dモデリング用画像中の床、天井、壁の少なくとも1つを認識し、認識した画像を画像処理技術に基づいて複数のブロックに分割し、床と天井の画像ブロックが水平面内にあり、壁の画像ブロックが垂直面内にあるように、それぞれのブロックをおおよそ平面とみなし、各平面の方程式を解いて3Dモデルを生成する。ここで、3Dモデリング用画像中で交差する2つの平面については、算出された交差線と実際に観察された交差線との誤差を最小化する。
ここで、3Dモデル生成ユニット302はさらに、コンピュータビジョン技術を用いて、室内画像中のコーナーを認識し、コーナーを連結して部屋の大まかなモデルを生成する。
ここで、1つ以上の実施例では、画像内のコーナーを認識する方法は、例えば、関心点検出と自己教師付き学習フレームワーク(例えば、SuperPoint:Self-Supervised Interest Point Detection and Descriptionを参照)を使用して、コーナーを連結して部屋の大まかなモデルを形成することにより、同じ三次元空間構造の中に頻繁に現れるコーナーなどのオブジェクトを捉えることができる幾何学的な関係を可能にする。
撮影位置取得ユニット303であって、撮影ユニット301が各部屋の3Dモデリング用画像を撮影した時の位置および撮影方向情報を取得するために使用される。
ここで、撮影位置取得ユニット303は、例えば、撮影ユニット301が撮影した複数の位置決め用画像における近接した撮影点画像を用いて特徴点照合を行うことにより、各撮影点の相対変位および撮影方向情報を取得し、例えば、全ての撮影点を同一の座標系で含むロードマップを形成することにより、撮影ユニット301が配置された部屋の3Dモデリング用画像を撮影した時の位置および撮影方向情報を取得することができる。
ここで、撮影位置取得ユニット303は、例えば、撮影ユニット301が配置された部屋の3Dモデリング用画像を撮影した時に提供される位置決め情報や方向情報に基づいて、撮影ユニット301が位置される空間の3Dモデリング用画像を撮影した時の位置や撮影方向情報を取得してもよい。
ここで、撮影位置取得ユニット303はさらに、撮影ユニット301に搭載された加速度センサ、速度センサから提供される加速度情報や移動速度情報により、ロードマップを補正する。
3Dモデルスティッチングユニット304は、撮影位置取得ユニット303が取得した各部屋の位置および撮影方向情報に基づいて、3Dモデル生成ユニット302が生成した各部屋の3Dモデルを同一の三次元座標系でスティッチング処理を行い、各部屋のそれぞれの3Dモデルによってスティッチングされた3Dモデル全体を形成する。
ここで、3Dモデルスティッチングユニット304は、各部屋を撮影する際に撮影位置取得ユニット303が取得した位置情報と撮影方向情報に基づいて、例えば、1つの変換行列を用いて、1つの部屋の3Dモデルのローカル座標をグローバルワールド座標に変換することで、全ての撮影点の3Dモデル全体を取得することも可能である。
ここで、3Dモデルスティッチングユニット304はさらに、複数の部屋のそれぞれの3Dモデルを統一して補正してもよく、例えば、統計的手法を用いて全部屋の壁線方向を統一して補正し、そのうち、室内シーンにおいて、各部屋の壁が平行関係と垂直関係を満たす場合がほとんどであり、各部屋の壁線方向の平均値または中央値を求めたり、RANSAC(Random Sample Consensus:ランダムサンプルコンセンサス)などのアルゴリズムを用いて、可能性の最も高い壁線方向を見つけたりすることによって、一定の範囲内の誤差を持つ部屋を均一な方向に調整して、全ての部屋が一定の偏差範囲内で平行な壁線を持つようにする。
ここで、3Dモデルスティッチングユニット304はさらに、各部屋の3Dモデルをスティッチングする時、重なり部分および/または現れた空洞を修正してもよく、ここで、修正方法は、以下の少なくとも1つの方法を含み得る。
部屋の位置が正確であるが、輪郭認識に誤差があると仮定する場合、重なり部分をカットして空洞部分を埋めていく。
部屋の輪郭認識が比較的正確であるが、位置に誤差がある仮定する場合、各部屋を移動させて、なるべく重なりや空洞をなくす。
もちろん、実情に近づけるため、実際の応用では、2つの方法を組み合わせて何度も繰り返すこともできる。
2D平面図生成ユニット305は、以下のように2D平面図を生成する。
1、生成した3Dモデルの各平面を床に垂直な平面に投影し、これらの投影を1つのポリゴンに結合する。
2、得られたポリゴンを補正および簡略化し、例えば、以下の方法を含み得る。
(1)ポリゴンの主要な頂点のみを残し、小さい凹凸を削除し、例えば、壁の標準的な厚さ(例えば12cmや24cm)よりも小さい凹凸を削除してもよい。
(2)コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正する。
もちろん、得られたポリゴンは、他の方法でも補正したり簡略化したりすることができるが、限定されない。
3、撮影位置取得ユニット303が取得した各部屋の位置および撮影方向情報に基づいて、生成した各部屋の2D平面図を同一の二次元座標系でスティッチング処理を行い、各部屋のそれぞれの2D平面図によってスティッチングされた2D平面図全体を形成する。
4、ドアおよび/または窓の位置を認識してラベル付け、そのうち、ディープラーニングの方法を用いて、室内画像上でドアおよび/または窓の位置を認識すること、または、撮影ユニット301が、同一住宅に属する複数の部屋に対して3Dモデリング用画像をそれぞれ撮影した時の移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる。
ここで、1つ以上の実施例では、ディープラーニング法を用いて室内画像上でドアおよび/または窓の位置を認識する方法では、例えば、単段キーポイント検出モデルによって、一対のキーポイントではなく3つのキーポイントを用いて、ドアおよび/または窓などの各対象物を検出して、プレシジョンおよびリコール率(Precision & Recall)を向上させてもよい。
ここで、2D平面図生成ユニット305はさらに、複数の部屋のそれぞれの2D平面図を統一して補正してもよく、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全部屋の壁線方向を統一して補正することが含まれ、ここで、統一補正の方法は、上述したものと同様であってもよく、繰り返すことはない。
ここで、2D平面図生成ユニット305はさらに、各部屋の2D平面図をスティッチングする時、重なり部分および/または現れた空洞を修正する。
ここで、2D平面図生成ユニットはさらに、以下のように2D平面図を生成してもよい。
1、3Dモデルスティッチングユニット304が生成した3Dモデル全体の各平面を床に垂直な平面に投影し、これらの投影を1つのポリゴンに結合する。
2、得られたポリゴンを補正および簡略化し、例えば、以下の方法を含み得る。
(1)ポリゴンの主要な頂点のみを残し、小さい凹凸を削除する。
(2)コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正する。
もちろん、得られたポリゴンは、他の方法でも補正したり簡略化したりすることができるが、限定されない。
3、ドアおよび/または窓の位置を認識してラベル付け、そのうち、ディープラーニングの方法を用いて、室内画像上でドアおよび/または窓の位置を認識すること、または、撮影ユニット301が、同一住宅に属する複数の部屋に対して3Dモデリング用画像をそれぞれ撮影した時の移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる。
ここで、1つ以上の実施例では、ディープラーニング法を用いて室内画像上でドアおよび/または窓の位置を認識する方法では、例えば、単段キーポイント検出モデルによって、一対のキーポイントではなく3つのキーポイントを用いて、ドアおよび/または窓などの各対象物を検出して、プレシジョンおよびリコール率を向上させてもよい。
(撮影に基づく3Dモデリング方法)
図4は、本発明の撮影に基づく3Dモデリング方法のフローチャートである。
図4を参照し、本発明によって提供される撮影に基づく3Dモデリング方法は、以下のステップを含む。
S1)同一の撮影スタンド(三脚を含む)にカメラ機能付きモバイル機器(携帯電話、タブレットなどを含む)および/またはカメラ(パノラマカメラ、魚眼カメラ、通常のデジタルカメラを含む)を固定する。
S2)スタンドを移動させる過程で複数の位置決め用画像を取得し、画像処理アルゴリズムを用いて、カメラまたはモバイル機器のセンサと組み合わせて各撮影点の位置と撮影方向を取得し、統一座標系を用いたロードマップを形成する。
ここで、ステップS2では、モバイル機器またはカメラの位置決めシステムに基づいて、モバイル機器またはカメラで撮影した位置決め用画像を用いて、近似した撮影点の位置決め用画像の特徴点を照合することにより、撮影点の相対変位および撮影方向情報を見つけ、全ての撮影点を同一の座標系に含む前記ロードマップを形成し、各撮影点の位置および方向を提供する。
ここで、ステップS2では、さらに、モバイル機器またはカメラを用いて、移動加速度、速度、および方向情報を取得することにより、前記ロードマップを補正する。
ここで、ステップS2では、さらに、カメラのレンズとモバイル機器の撮影方向との間の角度を取得することをさらに含み、そのうち、初期化段階で、モバイル機器に基づく位置決めシステムとカメラに基づく位置決めシステムを同時に動作させ、スタンドを一定の距離だけ移動させ、この時、2つのシステムがそれぞれ1つの変位ベクトルを提供し、2つのベクトルの間の角度を、カメラのレンズとモバイル機器の撮影方向との間の角度とすること;あるいは、モバイル機器と同じ角度を向くようにカメラを手動で調整し、例えば、カメラのプレビュー画像または撮影画像を回転させて、モバイル機器の撮影方向と一致する角度を指定すること;あるいは、モバイル機器とカメラのプレビュー画像または撮影画像を画像認識アルゴリズムで照合することによって、その角度を見つけること;あるいは、スタンドに目盛りを付けるなど、追加のマーキングを使用して、モバイル機器の設置方向と一定の角度を形成し、その後、カメラのプレビュー画像または画像の中の当該マーキングを認識して、カメラのレンズとモバイル機器の撮影方向との間の角度を算出すること、が含まれる。
S3)モバイル機器またはリモートサーバ側で、各撮影点で撮影された3Dモデリング用画像に基づいて、ディープラーニングアルゴリズムなどによって、3Dモデリングを行い、各撮影点の3Dモデルおよび/または2D平面図を取得する。
ここで、ステップS3は、以下を含む。
S31)ディープラーニング技術に基づいて、画像中の床、天井、壁の少なくとも1つを認識する。
S32)認識した画像を画像処理技術に基づいて複数のブロックに分割し、床と天井の画像ブロックが水平面内にあり、壁の画像ブロックが垂直面内にあるように、それぞれのブロックをおおよそ平面とみなし、各平面の方程式を解いて3Dモデルを生成する。画像中で交差する2つの平面については、2つの平面の交差線を制約条件とし、算出された交差線と実際に観察された交差線との誤差を最小化する。
ここで、ステップS3はさらに、コンピュータビジョン技術を用いて、室内画像中のコーナーを認識し、コーナーを連結して部屋の大まかなモデルを生成するステップを含む。ここで、1つ以上の実施例では、画像内のコーナーを認識する方法は、例えば、関心点検出と自己教師付き学習フレームワーク(例えば、SuperPoint:Self-Supervised Interest Point Detection and Descriptionを参照)を使用して、コーナーを連結して部屋の大まかなモデルを形成することにより、同じ三次元空間構造の中に頻繁に現れるコーナーなどのオブジェクトを捉えることができる幾何学的な関係を可能にする。
S4)S2で得られた位置および撮影方向に応じて各撮影点の3Dモデルを同一の三次元座標系に配置し、複数の撮影点の3Dモデル間の結合部分をスティッチングし、複数の撮影点の3Dモデルおよび/または2D平面図を形成し、全部屋の壁の方向を統一して補正し、重なりや空洞を最適化する。通常の部屋モデルでは、ほとんどの部屋は平行な壁で構成されているが、一つの撮影点で形成された部屋モデルでは、もともと平行な壁にも多少のずれ(非平行)があり、複数の部屋の壁の向きを考慮することで、優勢な方向を見つけ、それに応じて全部屋の壁の方向を調整する。
ここで、ステップS4は、以下を含む。
S41)各撮影点の位置と撮影方向に基づいて、例えば、1つの変換行列を用いて、シングル撮影点の3Dモデルのローカル座標をグローバルワールド座標に変換することで、全ての撮影点の3Dモデル全体を取得する。
S42)複数の撮影点の3Dモデルを統一して補正し、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全ての撮影点の壁線方向を統一して補正することが含まれる。
S43)各撮影点の3Dモデルをスティッチングする時、重なり部分および/または現れた空洞を修正する。
S5)は、モバイル機器上でパノラマローミング効果を自動的に生成する。
以下、撮影に基づく3Dモデリングシステムと組み合わせて、本実施例の撮影に基づく3Dモデリング方法の応用を説明する。
一、ハードウェアシステム
本実施例では、携帯電話とカメラの両方が同じスタンド(例えば、三脚を含む)に固定されている。
二、システム初期化
本発明では、各撮影点の撮影位置およびカメラの撮影方向を取得するために、以下のいずれかの方法を用いる。
方法一)携帯電話の位置決めシステムに基づいて、すなわち、携帯電話の画像(写真、ビデオまたはプレビュー画像)を用いて、近接した撮影点の画像の特徴点を照合して、撮影点の変位を見つけ、および好ましくはモバイル機器からのセンサ(ジャイロGyroscope、加速度計Accelerometer、コンパスCompassなどを含む)を使用して補正することにより、ロードマップを生成し、撮影点の位置および方向を提供する。
方法二)カメラの位置決めシステムに基づいて、すなわち、カメラの画像(写真、ビデオ、またはプレビュー画像)を用いて、近接した撮影点の画像の特徴点を照合して、撮影点の変位を見つけ、好ましくはセンチメートルおよびデシメータ間隔で、照合および位置決めを連続的に行い、また、好ましくはカメラのセンサ(ジャイロGyroscope、加速度計Accelerometer、コンパスCompassなどを含む)を使用して補正することにより、ロードマップを生成し、撮影点の位置および方向を提供する。
2つの方法の比較:方法一は、携帯電話のシステムに基づいており、携帯電話は様々なセンサを持っているため、一般的に、より正確な絶対座標情報を提供することができ、撮影点間の絶対距離を測定することができるが、使用する前に追加の初期化プロセスを必要とする。
方法二は、カメラが完全なセンサを持っていないことが多いため、撮影位置の相対座標のみを提供することができるが、パスとシングル撮影点の3Dモデルの座標軸を揃えるために初期化を追加する必要がない。また、撮影パスにループバックがある場合には、方法二による座標誤差が小さい。
方法一を使用する場合には、携帯電話から提供される座標は、携帯電話自身の座標系(一般的に1軸は地面に垂直な方向を指し、他の2軸はそれぞれ前後および左右方向を指す)に基づいているが、パノラマ写真に基づいて生成された3Dモデルの座標系は、カメラの座標系に基づいており、両者の座標軸が一致していない。この問題を解決するためには、システムを手動または自動的に初期化する必要があり、手動または自動的な方法を使用することができる。
手動:ユーザは、追加の測定ツールを使用して、またはスタンドなどの機器に目盛りを追加することで、カメラのレンズと携帯電話の撮影方向との間の角度を手動で入力する。
自動:初期化段階では、方法一と方法二の両方を同時に動作させ、装置を一定の距離、好ましくは1~3メートルで移動させ、この時、2つのシステムがそれぞれ1つのシステム変位ベクトルを提供することができ、2つのベクトルの間の角度を、カメラのレンズと電話機の撮影方向との間の角度とする。
三、撮影点位置および撮影方向の決定
上記システムが動作すると、撮影者が位置された撮影点や撮影方向情報を提供することができる。
四、シングル撮影点による3Dモデルの生成
従来、撮影に基づくモデリング方法には2つの方法があるが、どちらも大きな欠点があった。
従来方法a)深さ情報を認識できるカメラを用いて3Dモデルを直接生成する。この方法は、より複雑なハードウェアに依存しているため、機器のコストが高くなり、プロのカメラマンが操作する必要があることが多く、普及には向いていない。
従来方法b)互いに近い場所で、好ましくはセンチメートルとデシメータの間隔で2枚の写真を撮影し、照合と位置決めを連続的に行い、その後、MVS(Multi View Stereo、例えば、https://github.com/cdcseacave/openMVSを参照)を使用してモデリングを行い、その利点は、プロセス全体が完全に自動化されており、手動介入を必要としないことであるが、欠点もまた顕著である。
欠点1:計算量が多く、モバイル機器上でのリアルタイムモデリングは容易ではないこと、通常、サーバ(クラウド/PC)にアップロードすることで、より強い計算能力を利用してモデリングアルゴリズムを実行する必要がある。
欠点2:撮影距離の指定ができないこと、距離が近すぎる場合、面倒で時間がかかる、可視性と感覚で距離を決定する場合、モデリングに失敗する可能性があり、撮影時にユーザにヒントを表示できない。
上記の欠点を克服するために、本発明は革新的な方法を採用している。リアルタイム性を向上させ、目に見えるものは手に入る(WYSIWYG)結果を達成するために、通常、家具、小物、および他の部屋のアクセサリを復元することなく、部屋の輪郭(壁の位置)のみをモデリングする。すなわち、
i.ディープラーニング技術に基づいて、画像中の床、天井、壁や屋根などの部分、例えば、法線の方向が決定された部分(床、天井)または法線が水平面にある部分(壁)を認識する。
ii.画像処理技術に基づいて、画像を複数のブロックに分割し、それぞれのブロックをおおよそ平面とみなしてもよい。床部のブロックについては、平面方程式が既知である。y軸を垂直と仮定すると、床部の方程式をy+1=0とする。壁部については、平面方程式をAx+Cz+D=0とし、天井部についてはy+D=0とし、その他の部分についてはAx+By+Cz+D=0とし、3Dモデルを生成する過程は、つまり、各平面方程式を解く過程である。画像中で交差する2つの平面については、画像中に1本の交差線があり、これを制約条件として、上記の方程式を解く過程を、交差する2つの平面について、算出された交差線と実際に観測された交差線との誤差が最小化されるような最小化問題にすることができる。
iii.他の方法でシーンをモデリングすることもできる。例えば、室内では、コンピュータビジョン技術とディープラーニングを組み合わせて、図中のコーナーを認識し、コーナーを連結して部屋の大まかなモデルを生成することができる。ここで、1つ以上の実施例では、画像内のコーナーを認識する方法は、例えば、関心点検出と自己教師付き学習フレームワーク(例えば、SuperPoint:Self-Supervised Interest Point Detection and Descriptionを参照)を使用して、コーナーを連結して部屋の大まかなモデルを形成することにより、同じ三次元空間構造の中に頻繁に現れるコーナーなどのオブジェクトを捉えることができる幾何学的な関係を可能にする。
iv.2D平面図を生成し、各撮影点の3Dモデルを取得した後、さらに平面図を生成することができ、特に室内のシーンでは、平面図を必要とする場合が多い。方法は次のとおりである。
1.3Dモデルの各面を2D平面図に投影する。
2.これらの投影を1つの大きなポリゴンに結合する。
3.得られたポリゴンを補正および簡略化し、例えば、以下の方法を含み得る。
a)得られるポリゴンは点数が多くなりがちであるため、2D平面図上のポリゴンの頂点のみを残し、小さい凹凸を削除することで、ポリゴンを簡略することができる。
b)室内シーンの場合、コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正する。
4.ドアおよび/または窓の認識。室内シーンの場合、2D平面図上でドアおよび/または窓にラベリングを付ける必要があり、以下の2つの方法を使用してもよい。
a)ディープラーニングの方法を直接使用して、パノラマ画像上でドアおよび/または窓の位置およびサイズを認識する。
ここで、1つ以上の実施例では、ディープラーニングを用いて室内画像上でドアおよび/または窓の位置およびサイズを認識する方法では、例えば、単段キーポイント検出モデルによって、一対のキーポイントではなく3つのキーポイントを用いて、ドアおよび/または窓などの各対象物の位置およびサイズを検出して、プレシジョンおよびリコール率を向上させてもよい。
b)携帯電話またはカメラに基づく位置決めシステムは、各撮影点の位置と撮影方向を与えるだけでなく、撮影の全過程でカメラの移動軌跡をさらに有し、このパスと部屋自体の輪郭との交点がドアの位置でなければならない。
五、複数の撮影点による3Dモデルおよび2D平面図の生成
a)ステップ4では、各撮影点の3Dモデル生成を解決し、得られた3Dモデル座標は撮影点に対する相対座標である。これらのモデルを組み合わせることで、完全な3Dモデルと2D平面図を生成することができる。まず、各撮影点の位置と撮影方向が既知であるため、例えば、1つの変換行列を用いて、1つのモデルのローカル座標をグローバルワールド座標に変換することができる。
b)これに基づいて、モデルと平面図をさらに補正することができる。
i.各撮影点のモデルで使用されている直線補正には、通常、誤差があり、複数の撮影点を撮影した後、統計的手法を用いて、全ての撮影点を統一して補正し、例えば、RANSEC(Random Sample Consensus)などの手法を用いて、最も合理的な補正直線を求め、全部屋が一定の偏差範囲内で平行な壁線を持つようにし、偏差値の小さい角度を回避する。
ii.モデリングの誤差により、複数の撮影点による3Dモデルと2D平面図との間に重なりや空洞が存在する場合があるが、重なり部分を自動的に除去し、2D平面図で空洞を埋めることなどができる。
六、インスタント表示
上記の過程を携帯電話で完全に自動化し、完了したら表示ソフトを使って携帯電話に瞬時に表示、ローミングなどを行い、クラウドにアップロードして他の人と共有することができる。
七、手動編集
位置決めシステム、シングル撮影点による3Dモデリングアルゴリズム、およびマルチ撮影点による3Dモデル/2D平面図の最適化に誤差が生じる可能性があるため、本発明では、より正確なモデルを得るために、ユーザは手動で撮影結果を編集することができ、手動編集では、ソフトウェアのレビューおよび編集ツールを使用することができる。
(自動3Dモデリング装置)
図5は、本発明の自動3Dモデリング装置の一実施例の構造を示す図であり、図5に示すように、前記自動3Dモデリング装置は、
モデリングオブジェクトに含まれる複数の空間のそれぞれの3Dモデリング用画像に基づいて、各空間の3Dモデルをそれぞれ生成する3Dモデル生成ユニット501と、
複数の空間のそれぞれの3Dモデリング用画像が撮影された時の位置および撮影方向情報に基づいて、3Dモデル生成ユニット501が生成した各空間の3Dモデルを同一の三次元座標系でスティッチング処理を行い、各空間のそれぞれの3Dモデルによってスティッチングされた3Dモデル全体を形成する3Dモデルスティッチングユニット502と、を含む。
ここで、3Dモデルスティッチングユニット502はさらに、位置および撮影方向情報に基づいて、例えば、1つの変換行列を用いて、1つの空間の前記3Dモデルのローカル座標をグローバルワールド座標に変換することで、全ての空間の3Dモデル全体を取得することができる。
図6は、本発明の自動3Dモデリング装置の別の実施例の構造を示す図である。本実施例では、自動3Dモデリング空間は、例えば部屋であり、3Dモデリング用画像は、例えば前記部屋の室内画像である。
図6に示すように、本実施例では、モデリングオブジェクトに含まれる複数の部屋のそれぞれの3Dモデリング用画像に基づいて、各部屋の3Dモデルをそれぞれ生成する3Dモデル生成ユニット601を含む。
ここで、3Dモデル生成ユニット601は、ディープラーニング技術に基づいて3Dモデリング用画像中の床、天井、壁の少なくとも1つを認識し、認識した画像を画像処理技術に基づいて複数のブロックに分割し、床と天井の画像ブロックが水平面内にあり、壁の画像ブロックが垂直面内にあるように、それぞれのブロックをおおよそ平面とみなし、各平面の方程式を解いて前記3Dモデルを生成する。ここで、3Dモデリング用画像中で交差する2つの平面については、算出された交差線と実際に観察された交差線との誤差を最小化する。
ここで、3Dモデル生成ユニット601はさらに、コンピュータビジョン技術を用いて、室内画像中のコーナーを認識し、コーナーを連結して部屋の大まかなモデルを生成する。ここで、1つ以上の実施例では、画像内のコーナーを認識する方法は、例えば、関心点検出と自己教師付き学習フレームワーク(例えば、SuperPoint:Self-Supervised Interest Point Detection and Descriptionを参照)を使用して、コーナーを連結して部屋の大まかなモデルを形成することにより、同じ三次元空間構造の中に頻繁に現れるコーナーなどのオブジェクトを捉えることができる幾何学的な関係を可能にする。
3Dモデルスティッチングユニット602は、複数の部屋のそれぞれの3Dモデリング用画像が撮影された時の位置および撮影方向情報に基づいて、3Dモデル生成ユニット601が生成した各部屋の3Dモデルを同一の三次元座標系でスティッチング処理を行い、各空間のそれぞれの3Dモデルによってスティッチングされた3Dモデル全体を形成する。
ここで、3Dモデルスティッチングユニット602はさらに、位置および撮影方向情報に基づいて、例えば、1つの変換行列を用いて、1つの部屋の3Dモデルのローカル座標をグローバルワールド座標に変換することで、全ての部屋の3Dモデル全体を取得することができる。
ここで、3Dモデルスティッチングユニット602はさらに、複数の部屋のそれぞれの3Dモデルを統一して補正してもよく、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全部屋の壁線方向を統一して補正することが含まれる。
ここで、3Dモデルスティッチングユニット602はさらに、各部屋の3Dモデルをスティッチングする時、重なり部分および/または現れた空洞を修正する。
2D平面図生成ユニット603は、以下のように2D平面図を生成する。
1、生成した3Dモデルの各平面を床に垂直な平面に投影し、これらの投影を1つのポリゴンに結合する。
2、得られたポリゴンを補正および簡略化し、例えば、以下の方法を含み得る。
(1)前記ポリゴンの主要な頂点のみを残し、小さい凹凸を削除する。
(2)コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正する。
もちろん、得られたポリゴンは、他の方法でも補正したり簡略化したりすることができるが、限定されない。
3、位置および撮影方向情報に基づいて、生成した各部屋の2D平面図を同一の二次元座標系でスティッチング処理を行い、各部屋のそれぞれの2D平面図によってスティッチングされた2D平面図全体を形成する。
4、ドアおよび/または窓の位置を認識してラベル付け、そのうち、ディープラーニングの方法を用いて、室内画像上でドアおよび/または窓の位置を認識すること、または、同一住宅に属する複数の部屋に対して3Dモデリング用画像をそれぞれ撮影した時に取得された移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる。
ここで、1つ以上の実施例では、ディープラーニングを用いて室内画像上でドアおよび/または窓の位置およびサイズを認識する方法では、例えば、単段キーポイント検出モデルによって、一対のキーポイントではなく3つのキーポイントを用いて、ドアおよび/または窓などの各対象物の位置およびサイズを検出して、プレシジョンおよびリコール率を向上させてもよい。
ここで、2D平面図生成ユニット603はさらに、複数の部屋のそれぞれの2D平面図を統一して補正してもよく、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全部屋の壁線方向を統一して補正することが含まれる。
ここで、2D平面図生成ユニット603はさらに、各部屋の2D平面図をスティッチングする時、重なり部分および/または現れた空洞を修正する。
ここで、2D平面図生成ユニット603はさらに、以下のように2D平面図を生成してもよい。
1、3Dモデルスティッチングユニット602が生成した3Dモデル全体の各平面を床に垂直な平面に投影し、これらの投影を1つのポリゴンに結合する。
2、得られた前記ポリゴンを補正および簡略化し、例えば、以下の方法を含み得る。
(1)前記ポリゴンの主要な頂点のみを残し、小さい凹凸を削除する。
(2)コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正する。
もちろん、得られたポリゴンは、他の方法でも補正したり簡略化したりすることができるが、限定されない。
3、ドアおよび/または窓の位置を認識してラベル付け、そのうち、ディープラーニングの方法を用いて、室内画像上でドアおよび/または窓の位置を認識すること、または、同一住宅に属する複数の部屋に対して前記3Dモデリング用画像をそれぞれ撮影した時の移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる。具体的な方法は、例えば、上記の単段キーポイント検出モデルによって実現され、ここでは繰り返さない。
(自動3Dモデリング方法)
図7は、本発明の自動3Dモデリング方法の一実施例のフローチャートであり、図7に示すように、前記自動3Dモデリング方法は、
モデリングオブジェクトに含まれる複数の空間のそれぞれの3Dモデリング用画像に基づいて、各空間の3Dモデルをそれぞれ生成する3Dモデル生成ステップS71と、
本実施例では、自動3Dモデリング空間は、例えば部屋であり、3Dモデリング用画像は、例えば前記部屋の室内画像である。
3Dモデル生成ステップS71では、ディープラーニング技術に基づいて3Dモデリング用画像中の床、天井、壁の少なくとも1つを認識し、認識した画像を画像処理技術に基づいて複数のブロックに分割し、床と天井の画像ブロックが水平面内にあり、壁の画像ブロックが垂直面内にあるように、それぞれのブロックをおおよそ平面とみなし、各平面の方程式を解いて3Dモデルを生成する。ここで、3Dモデリング用画像中で交差する2つの平面については、算出された交差線と実際に観察された交差線との誤差を最小化する。
3Dモデル生成ステップS71では、さらに、コンピュータビジョン技術を用いて、室内画像中のコーナーを認識し、コーナーを連結して部屋の大まかなモデルを生成する。ここで、1つ以上の実施例では、画像内のコーナーを認識する方法は、例えば、関心点検出と自己教師付き学習フレームワーク(例えば、SuperPoint:Self-Supervised Interest Point Detection and Descriptionを参照)を使用して、コーナーを連結して部屋の大まかなモデルを形成することにより、同じ三次元空間構造の中に頻繁に現れるコーナーなどのオブジェクトを捉えることができる幾何学的な関係を可能にする。
3DモデルスティッチングステップS72では、複数の部屋のそれぞれの3Dモデリング用画像が撮影された時の位置および撮影方向情報に基づいて、3Dモデル生成ステップS71で生成した各部屋の3Dモデルを同一の三次元座標系でスティッチング処理を行い、各空間のそれぞれの3Dモデルによってスティッチングされた3Dモデル全体を形成する。
ここで、3DモデルスティッチングステップS72では、さらに、位置および撮影方向情報に基づいて、例えば、1つの変換行列を用いて、1つの空間の3Dモデルのローカル座標をグローバルワールド座標に変換することで、全ての空間の3Dモデル全体を取得することができる。
2D平面図生成ステップS73では、以下のように2D平面図を生成する。
1、生成した3Dモデルの各平面を床に垂直な平面に投影し、これらの投影を1つのポリゴンに結合する。
2、得られた前記ポリゴンを補正および簡略化し、例えば、以下の方法を含み得る。
(1)前記ポリゴンの主要な頂点のみを残し、小さい凹凸を削除する。
(2)コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正する。
ここで、得られたポリゴンは、他の方法でも補正したり簡略化したりすることができるが、限定されない。
3、位置および撮影方向情報に基づいて、生成した各部屋の2D平面図を同一の二次元座標系でスティッチング処理を行い、各部屋のそれぞれの2D平面図によってスティッチングされた2D平面図全体を形成する。
4、ドアおよび/または窓の位置を認識してラベル付け、そのうち、ディープラーニングの方法を用いて、室内画像上でドアおよび/または窓の位置を認識すること、または、同一住宅に属する複数の部屋に対して3Dモデリング用画像をそれぞれ撮影した時に取得された移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる。具体的な方法は、例えば、上記の単段キーポイント検出モデルによって実現され、ここでは繰り返さない。
ここで、2D平面図生成ステップS73では、さらに、複数の部屋のそれぞれの2D平面図を統一して補正してもよく、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全部屋の壁線方向を統一して補正することが含まれる。
ここで、2D平面図生成ユニットS73では、さらに、各部屋の2D平面図をスティッチングする時、重なり部分および/または現れた空洞を修正する。
ここで、2D平面図生成ステップS73では、さらに、以下のように2D平面図を生成してもよい。
1、3DモデルスティッチングステップS72で生成した3Dモデル全体の各平面を床に垂直な平面に投影し、これらの投影を1つのポリゴンに結合する。
2、得られた前記ポリゴンを補正および簡略化し、例えば、以下の方法を含み得る。
(1)前記ポリゴンの主要な頂点のみを残し、小さい凹凸を削除する。
(2)コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正する。
もちろん、得られたポリゴンは、他の方法でも補正したり簡略化したりすることができるが、限定されない。
3、ドアおよび/または窓の位置を認識してラベル付け、そのうち、ディープラーニングの方法を用いて、室内画像上でドアおよび/または窓の位置を認識すること、または、同一住宅に属する複数の部屋に対して3Dモデリング用画像をそれぞれ撮影した時の移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる。具体的な方法は、例えば、上記の単段キーポイント検出モデルによって実現され、ここでは繰り返さない。
(電子機器)
以下、図8は、本発明の実施例の実現に適用された電子機器(例えば、図1のモバイル機器またはサーバ)800の構造を示す図である。本発明の実施例に係る電子機器は、上記システムにおける様々なモバイル機器であってもよく、好ましくは、カメラ機能を有し、単独で、またはカメラなどの他の電子端末機器と同じスタンド(例えば、三脚)に固定されることにより、各種類のモバイルオペレーティングシステムにおけるアプリケーションソフトウェアの実行に連動して、本発明の実施例の方法を実現する。図8に示された電子機器は単なる例示であり、本発明の実施例の機能および使用範囲にいかなる制限を課すべきではない。
図8に示すように、電子機器800は、電子機器の全体的な動作を制御するための処理装置(例えば、中央処理装置、グラフィックプロセッサなど)801を含んでもよい。処理装置は、上記方法のステップの全部または一部を完了させるための命令を実行するための1つ以上のプロセッサを含んでもよい。さらに、処理装置801は、他の装置またはユニットとの相互作用を処理するための1つ以上のモジュールを含んでもよい。
記憶装置802は、各種類のデータを記憶するために使用され、各種類のコンピュータ読み取り可能な記憶媒体、またはそれらの組み合わせを含んでもく、例えば、電気的、磁気的、光学的、電磁的、赤外線的、半導体的システム、装置やデバイス、またはそれらの任意の組み合わせであってもよい。コンピュータ読み取り可能な記憶媒体のより具体的な例としては、1本以上のワイヤによる電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能なプログラム可能な読み取り専用メモリ(EPROMまたはフラッシュメモリ)、光ファイバー、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)、光記憶デバイス、磁気記憶デバイス、またはに記載の任意の適切な組み合わせが挙げられるが、これらに限定されるものではない。本発明では、コンピュータ読み取り可能な記憶媒体は、命令実行システム、装置、またはデバイスによって使用され、またはそれと組み合わせて使用され得るプログラムを含むか、または記憶する任意の有形媒体であってもよい。
センサ装置803は、指定された測定情報を感知し、それを特定のルールに従って使用可能な出力信号に変換するために使用され、1つ以上のセンサを含んでもよい。例えば、電子機器の開閉状態、相対位置、加減速、温度、湿度、光などの変化を検出するための加速度センサ、ジャイロセンサ、磁気センサ、圧力センサ、温度センサなどを含んでもよい。
処理装置801、記憶装置802およびセンサ装置803は、バス804を介して互いに接続されている。入出力(I/O)インタフェース805も、バス804に接続されている。
マルチメディア装置806は、ユーザからの入力信号を受信するためのタッチスクリーン、タッチパッド、キーボード、マウス、カメラ、マイクなどの入力装置を含んでもよく、各種入力装置は、上記センサ装置803の各種センサと協働して、例えば、ジェスチャー操作入力、画像認識入力、距離検出入力などを完了させることができる。マルチメディア装置806はさらに、液晶ディスプレイ(LCD)、スピーカ、バイブレータなどの出力装置を含んでいてもよい。
電源装置807は、電子機器中の各種装置に電力を供給するために使用され、電源管理システム、1つ以上の電源、および他の装置に電力を分配するためのコンポーネントを含んでもよい。
通信装置808は、電子機器800が他の機器と無線または有線で通信してデータを交換できるようにしてもよい。
上記の各装置は、電子機器800の適用を実現するために、I/Oインターフェース805に接続されてもよい。
図8は、各種装置を備えた電子機器800を示しているが、図示された装置の全てを実装また備える必要がないことが理解すべきである。より多くのまたはより少ない装置が代替的に実施されてもよいし、所有されてもよい。
特に、本発明の実施例によれば、フローチャートを参照して上述した過程は、コンピュータソフトウェアプログラムとして実現されてもよい。例えば、本発明の実施例は、非一過性のコンピュータ読み取り可能な媒体に搬送されたコンピュータプログラムを備えるコンピュータプログラム製品を含み、当該コンピュータプログラムは、フローチャートに示された方法を実行するためのプログラムコードを含む。このような実施例では、当該コンピュータプログラムは、通信装置を介してネットワークからダウンロードしてインストールしてもよいし、記憶装置からインストールしてもよい。当該コンピュータプログラムが処理装置によって実行されると、本発明の実施例の方法に限定された前述の機能を実行する。
本発明の文脈において、機械読み取り可能な媒体は、命令実行システム、装置、または機器によって、またはそれに組み合わせて使用するためのプログラムを含むか、または記憶する有形の媒体であってもよい。
説明されるように、本発明の上記コンピュータ読み取り可能な媒体は、コンピュータ読み取り可能な信号媒体またはコンピュータ読み取り可能な記憶媒体、またはこれらの任意の組み合わせであってもよい。一方、本発明では、コンピュータ読み取り可能な信号媒体は、ベースバンドまたは搬送波の一部として伝搬するデータ信号を含むことができ、その中で、コンピュータ読み取り可能なプログラムコードを搬送している。このように伝搬するデータ信号は、電磁信号、光信号、または前記の任意の適切な組み合わせを含むが、これらに限定されず、様々な形態をとることができる。コンピュータ読み取り可能な信号媒体は、コンピュータ読み取り可能な記憶媒体以外の任意のコンピュータ読み取り可能な媒体であってもよく、当該コンピュータ読み取り可能な媒体は、命令実行システム、装置、またはデバイスによって、またはそれと組み合わせて使用するためのプログラムを送信、伝搬、または伝送する。コンピュータ読み取り可能な媒体に含まれるプログラムコードは、ワイヤ、光ファイバーケーブル、RF(無線周波数)などを含むがこれらに限定されない、任意の適切な媒体、または上記の任意の適切な組み合わせで送信することができる。
上記コンピュータ読み取り可能な媒体は、上記電子機器に含まれていてもよく、または、別個に設けられていて、上記電子機器に組み立てられていないものであってもよい。
1つ以上のプログラミング言語またはその組み合わせによって、本発明の動作を実行するためのコンピュータプログラムコードを編集してもよく、上記のプログラミング言語には、Java、Smalltalk、C++などのオブジェクト指向プログラミング言語や、「C」言語や類似のプログラミング言語などの従来の手続き型プログラミング言語が含まれるが、これらに限定されない。プログラムコードは、ユーザのコンピュータ上で全体的に実行されてもよいし、ユーザのコンピュータ上で部分的に実行されてもよいし、スタンドアロンパッケージとして実行されてもよいし、ユーザのコンピュータ上で部分的に実行されてリモートコンピュータ上で部分的に実行されてもよいし、リモートコンピュータまたはサーバ上で全体的に実行されてもよい。リモートコンピュータが関与する場合、リモートコンピュータは、任意の種類のネットワークを介してユーザのコンピュータに接続されてもよいし、外部のコンピュータに接続されてもよい(例えば、インターネットサービスプロバイダを使用してインターネットを介して接続される)。
図面のフローチャートおよびブロック図は、本発明の各種実施例に従ったシステム、方法、およびコンピュータプログラム製品の可能な実施形態のアーキテクチャ、機能、および動作を示している。この点で、フローチャートまたはブロック図の各ボックスは、指定された論理機能を実現するための1つ以上の実行可能な命令を含むモジュール、セグメント、またはコードの一部を表してもよい。また、いくつかの代替の実現形態では、ボックス内でラベル付けされた機能は、図面でラベル付けされた機能とは異なる順序で発生してもよいことに留意すべきである。例えば、連続して表現された2つのボックスは、実際には大まかに並列に実行されてもよく、関係する機能によっては逆の順序で実行されることもある。また、ブロック図および/またはフローチャートの各ボックス、ならびにブロック図および/またはフローチャートの各ボックスの組み合わせは、所定の機能または動作を実行する専用のハードウェアに基づくシステムで実現されてもよいし、専用のハードウェアとコンピュータ命令の組み合わせで実現されてもよいことにも留意すべきである。
本発明の実施例で説明したユニットは、ソフトウェアの手段によって、またはハードウェアの手段によって実現されてもよい。一定の状況下では、ユニットの名称はユニット自体を限定するものではない。
本明細書に記載された機能は、少なくとも部分的には、1つ以上のハードウェア・ロジック・コンポーネントによって実行されてもよい。例えば、非限定的に、例示的な種類として使用され得るハードウェア・ロジック・コンポーネントには、フィールド・プログラマブル・ゲート・アレイ(FPGA)、アプリケーション専用集積回路(ASIC)、アプリケーション専用標準製品(ASSP)、システム・オン・チップ(SOC)、複雑なプログラマブル・ロジック・デバイス(CPLD)などが含まれる。
上記の説明は、本発明の好ましい実施例および採用された技術原理の説明に過ぎない。当業者であれば、本発明に関わる開示の範囲は、上記技術的特徴の特定の組み合わせから形成される技術的解決手段に限定されるものではなく、上記開示の思想から逸脱することなく、上記技術的特徴またはそれらの等価な特徴の任意の組み合わせから形成される他の技術的解決手段をも包含するものであることを理解すべきである。例えば、上記特徴を、本発明に開示された技術的特徴(ただし、これに限定されない)と同様の機能を有する技術的特徴で相互に置換して技術的解決手段を形成する。
さらに、動作は特定の順序で描かれているが、これは、示された特定の順序で実行されること、また、連続した実行順序で実行されることを要求していると理解されるべきではない。環境によっては、マルチタスクや並列処理が有利である場合もある。同様に、いくつかの具体的な実施形態の詳細が上記の説明に含まれているが、これらは本発明の範囲を制限するものとして解釈されるべきではない。個々の実施例の文脈で説明した特定の特徴は、個々の実施形態において組み合わせて実現されてもよい。逆に、単一の実施例の文脈で説明した各種類の特徴は、単独で、またはサブアセンブリの任意の適切な組み合わせで、複数の実施例で実現されてもよい。
主題は、構造的特徴および/または方法の論理的動作に特有の言語を用いて記載されてきたが、添付の特許請求の範囲によって限定される主題は、必ずしも上述の特定の特徴または作用に限定されるものではないことが理解されるべきである。逆に、上述した特定の特徴および動作は、特許請求の範囲を実現するための例示的な形態に過ぎない。
(付記)
(付記1)
複数の空間に対して当該空間の第1画像をそれぞれ撮影するための撮影ユニットと、
前記各空間ごとに前記撮影ユニットが撮影した前記第1画像に基づいて、前記各空間の3Dモデルをそれぞれ生成する3Dモデル生成ユニットと、
前記撮影ユニットが各空間の第1画像を撮影した時の位置および撮影方向情報を取得するための撮影位置取得ユニットと、
前記位置および撮影方向情報に基づいて、前記各空間の3Dモデルを同一の三次元座標系でスティッチング処理を行い、前記各空間が含まれる3Dモデル全体を形成する3Dモデルスティッチングユニットとを含む、ことを特徴とする撮影に基づく3Dモデリングシステム。
(付記2)
前記撮影ユニットは、前記各空間の間を移動する過程で複数の第2画像を撮影し、
前記撮影位置取得ユニットは、前記複数の第2画像を用いて特徴点照合を行うことにより、各撮影点の相対変位および撮影方向情報を取得する、ことを特徴とする付記1に記載の撮影に基づく3Dモデリングシステム。
(付記3)
前記撮影ユニットは、位置決めセンサと方向センサを有し、
前記撮影位置取得ユニットは、前記撮影ユニットが位置される空間の第1画像を撮影した時に提供される位置決め情報と方向情報に基づいて、前記撮影ユニットが位置される空間の第1画像を撮影した時の位置および撮影方向情報を取得する、ことを特徴とする付記1に記載の撮影に基づく3Dモデリングシステム。
(付記4)
前記撮影ユニットは、前記各空間の間を移動する過程で複数の第2画像を撮影し、
前記撮影ユニットは、位置決めセンサと方向センサを有し、
前記撮影位置取得ユニットは、前記複数の第2画像を用いて特徴点照合を行うことにより、各撮影点の相対変位情報および撮影方向情報を取得し、かつ前記撮影ユニットが位置される空間の第1画像を撮影した時の位置決め情報と方向情報に基づいて、前記相対変位および撮影方向情報を補正することにより、前記撮影ユニットが位置される空間の第1画像を撮影した時の位置および撮影方向情報を取得する、ことを特徴とする付記1に記載の撮影に基づく3Dモデリングシステム。
(付記5)
前記撮影位置取得ユニットは、変位センサが取得した変位情報に基づいて、前記相対変位および撮影方向情報を補正する、ことを特徴とする付記4に記載の撮影に基づく3Dモデリングシステム。
(付記6)
前記3Dモデルスティッチングユニットは、各空間を撮影する際に前記撮影位置取得ユニットが取得した前記位置および撮影方向情報に基づいて、1つの空間の前記3Dモデルのローカル座標をグローバルワールド座標に変換することで、前記複数の空間の3Dモデル全体を取得する、ことを特徴とする付記1に記載の撮影に基づく3Dモデリングシステム。
(付記7)
前記1つの空間の前記3Dモデルのローカル座標をグローバルワールド座標に変換することは、
前記撮影ユニットを所定距離で移動させることと、
前記撮影位置取得ユニットに前記所定距離の2つの端点の位置情報を取得させることと、
前記2つの端点の位置の差と前記所定距離との比を、前記ローカル座標と前記ワールド座標との比として取得することとを含む、ことを特徴とする付記6に記載の撮影に基づく3Dモデリングシステム。
(付記8)
前記1つの空間の前記3Dモデルのローカル座標をグローバルワールド座標に変換することは、
前記撮影位置取得ユニットが前記第1画像上で特徴点を認識することと、
認識された前記特徴点に基づいて、前記空間の底面または上面が位置する平面の高さを推定することと、
前記空間の底面または上面が位置する平面の高さと前記撮影ユニットの高さとの比を、前記ローカル座標と前記ワールド座標との比として取得することとを含む、ことを特徴とする付記6に記載の撮影に基づく3Dモデリングシステム。
(付記9)
前記撮影ユニットが最初の撮影点を撮影する前に、またはその後の撮影の移動中に、所定距離を移動させて所定数の前記特徴点を取得する、ことを特徴とする付記8に記載の撮影に基づく3Dモデリングシステム。
(付記10)
前記撮影ユニットは、同一の撮影点で前記第1画像をそれぞれ撮影する2眼レンズを有し、
前記3Dモデル生成ユニットは、それぞれの前記2眼レンズで撮影された前記第1画像を比較して対応する画素を決定し、前記3Dモデルの生成に用いるための対応する前記各画素の深さ情報を取得する、ことを特徴とする付記1に記載の撮影に基づく3Dモデリングシステム。
(付記11)
前記3Dモデル生成ユニットは、ディープラーニング技術を用いて、前記第1画像における各画素の深さを予測し、前記ディープラーニング技術を計算または直接適用して前記各画素の法線方向を予測する、ことを特徴とする付記1に記載の撮影に基づく3Dモデリングシステム。
(付記12)
前記撮影ユニットは、カメラおよび/またはカメラ機能付きモバイル機器によって実現され、
前記3Dモデル生成ユニットは、前記モバイル機器またはリモートサーバによって実現され、前記リモートサーバによって実現される場合には、ネットワークを介して、前記カメラおよび/または前記カメラ機能付きモバイル機器が撮影して送信した第1画像を受信して、前記各空間の3Dモデルを生成し、
前記撮影位置取得ユニットは、前記カメラまたは前記モバイル機器によって実現され、
前記3Dモデルスティッチングユニットは、前記モバイル機器またはリモートサーバによって実現され、前記リモートサーバによって実現される場合には、ネットワークを介して、前記撮影位置取得ユニットから送信された各空間の前記位置および撮影方向情報を受信し、当該位置および撮影方向情報に基づいて前記スティッチング処理を完了し、生成した前記3Dモデル全体を前記モバイル機器または他の機器に送信する、ことを特徴とする付記1-11のいずれか一つに記載の撮影に基づく3Dモデリングシステム。
(付記13)
前記撮影ユニットを実装したカメラと、カメラ機能付きモバイル機器とを同一の撮影スタンドに固定し、
前記スタンドを移動させる過程で、前記カメラまたは前記カメラ機能付きモバイル機器が撮影した複数の第2画像を取得し、それにより、前記カメラまたは前記カメラ機能付きモバイル機器が位置される空間に対して第1画像を撮影した時の位置および撮影方向情報を取得する、ことを特徴とする付記12に記載の撮影に基づく3Dモデリングシステム。
(付記14)
前記カメラまたは前記カメラ機能付きモバイル機器の位置決めシステムに基づいて、前記カメラまたは前記カメラ機能付きモバイル機器が撮影した第2画像を用いて、近接した撮影点の第2画像の特徴点を照合することにより、各撮影点の相対変位情報および撮影方向情報を取得し、各撮影点の相対位置および方向を提供する、ことを特徴とする付記13に記載の撮影に基づく3Dモデリングシステム。
(付記15)
前記撮影ユニットが前記第1空間の前記第1画像を撮影する前に、あるいはその後の移動中に、以下の方法、すなわち、
(1)前記モバイル機器に基づく位置決めシステムと前記カメラに基づく位置決めシステムを同時に動作させ、前記スタンドを一定の距離で移動させ、この時、2つのシステムがそれぞれ1つの変位ベクトルを提供し、2つのベクトルの間の角度を、前記カメラのレンズと前記モバイル機器の撮影方向との間の角度とする方法、
(2)前記カメラのプレビュー画像または撮影画像を手動で回転させて、前記モバイル機器の撮影方向と一致する角度を指定する方法、
(3)前記モバイル機器と前記カメラのプレビュー画像または撮影画像を画像認識アルゴリズムで照合することによって、前記角度を見つける方法、
(4)スタンドに目盛りを付けるなど、追加のマーキングを使用して、前記モバイル機器の設置方向と一定の角度を形成し、その後、前記カメラのプレビュー画像または画像の中の当該マーキングを認識して、前記カメラのレンズと前記モバイル機器の撮影方向との間の角度を算出する方法、
(5)前記スタンドにスロットを設けることにより、前記カメラと前記モバイル機器との間の既知の固定角度を確保する方法、の1つ以上で、前記カメラのレンズと前記モバイル機器の撮影方向とのなす角度を取得することをさらに含む、ことを特徴とする付記13に記載の撮影に基づく3Dモデリングシステム。
(付記16)
前記空間は、部屋であり、
前記第1画像は、前記部屋の室内画像であり、
前記3Dモデル生成ユニットは、ディープラーニング技術に基づいて前記第1画像中の床、天井、壁の少なくとも1つを認識し、認識した画像を画像処理技術に基づいて複数のブロックに分割し、床と天井の画像ブロックが水平面内にあり、壁の画像ブロックが垂直面内にあるように、それぞれのブロックをおおよそ平面とみなし、各平面の方程式を解いて前記3Dモデルを生成し、ここで、前記第1画像中で交差する2つの平面については、算出された交差線と実際に観察された交差線との誤差を最小化する、ことを特徴とする付記1に記載の撮影に基づく3Dモデリングシステム。
(付記17)
前記3Dモデル生成ユニットはさらに、コンピュータビジョン技術を用いて、前記室内画像中のコーナーを認識し、コーナーを連結して部屋の大まかなモデルを生成する、ことを特徴とする付記16に記載の撮影に基づく3Dモデリングシステム。
(付記18)
前記3Dモデルスティッチングユニットは、前記複数の部屋のそれぞれの3Dモデルを統一して補正し、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全部屋の壁線方向を統一して補正することが含まれ、
前記3Dモデルスティッチングユニットは、前記各部屋の3Dモデルをスティッチングする時、重なり部分および/または現れた空洞を修正する、ことを特徴とする付記16に記載の撮影に基づく3Dモデリングシステム。
(付記19)
以下の方法、すなわち、
生成した前記3Dモデルの各平面を床に垂直な平面に投影し、これらの投影を1つのポリゴンに結合する方法と;
得られた前記ポリゴンを補正および簡略化する方法と、そのうち、以下の方法、
(1)前記ポリゴンの主要な頂点のみを残し、小さい凹凸を削除すること、
(2)コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正すること、の少なくとも1つが含まれ;
前記撮影位置取得ユニットが取得した各空間の前記位置および撮影方向情報に基づいて、生成した前記各部屋の2D平面図を同一の二次元座標系でスティッチング処理を行い、前記各部屋のそれぞれの2D平面図によってスティッチングされた2D平面図全体を形成する方法と;
ディープラーニングの方法を用いて、前記室内画像上でドアおよび/または窓の位置を認識すること、または、前記撮影ユニットが同一住宅に属する複数の部屋に対して前記第1画像をそれぞれ撮影した時の移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる、ドアおよび/または窓の位置を認識してラベル付ける方法と、で2D平面図を生成する2D平面図生成ユニットをさらに含む、ことを特徴とする付記16に記載の撮影に基づく3Dモデリングシステム。
(付記20)
前記2D平面図生成ユニットは、前記複数の部屋のそれぞれの2D平面図を統一して補正し、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全部屋の壁線方向を統一して補正することが含まれ、
前記2D平面図生成ユニットは、前記各部屋の2D平面図をスティッチングする時、重なり部分および/または現れた空洞を修正する、ことを特徴とする付記19に記載の撮影に基づく3Dモデリングシステム。
(付記21)
以下の方法、すなわち、
前記3Dモデルスティッチングユニットが生成した前記3Dモデル全体の各平面を床に垂直な平面に投影し、これらの投影を1つのポリゴンに結合する方法と;
得られた前記ポリゴンを補正および簡略化する方法と、そのうち、以下の方法、
(1)前記ポリゴンの主要な頂点のみを残し、小さい凹凸を削除すること、
(2)コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正すること、の少なくとも1つが含まれ;
ディープラーニングの方法を用いて、前記室内画像上でドアおよび/または窓の位置を認識すること、または、前記撮影ユニットが同一住宅に属する複数の部屋に対して前記第1画像をそれぞれ撮影した時の移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる、ドアおよび/または窓の位置を認識してラベル付ける方法と、で2D平面図を生成する2D平面図生成ユニットをさらに含む、ことを特徴とする付記16に記載の撮影に基づく3Dモデリングシステム。
(付記22)
モデリングオブジェクトに含まれる複数の空間のそれぞれの第1画像に基づいて、前記複数の空間のそれぞれの3Dモデルを生成する3Dモデル生成ユニットと、
前記複数の空間のそれぞれの前記第1画像が撮影された時の位置および撮影方向情報に基づいて、前記3Dモデル生成ユニットで生成した前記各空間の3Dモデルを同一の3次元座標系でスティッチング処理を行い、前記各空間のそれぞれの3Dモデルによってスティッチングされた3Dモデル全体を形成する3Dモデルスティッチングユニットとを含む、ことを特徴とする自動3Dモデリング装置。
(付記23)
前記3Dモデルスティッチングユニットは、前記位置および撮影方向情報に基づいて、1つの空間の前記3Dモデルのローカル座標をグローバルワールド座標に変換することで、全ての空間の3Dモデル全体を取得する、ことを特徴とする付記22に記載の自動3Dモデリング装置。
(付記24)
前記空間は、部屋であり、
前記第1画像は、前記部屋の室内画像であり、
前記3Dモデル生成ユニットは、ディープラーニング技術に基づいて前記第1画像中の床、天井、壁の少なくとも1つを認識し、認識した画像を画像処理技術に基づいて複数のブロックに分割し、床と天井の画像ブロックが水平面内にあり、壁の画像ブロックが垂直面内にあるように、それぞれのブロックをおおよそ平面とみなし、各平面の方程式を解いて前記3Dモデルを生成し、ここで、前記第1画像中で交差する2つの平面については、算出された交差線と実際に観察された交差線との誤差を最小化し、
前記3Dモデル生成ユニットはさらに、コンピュータビジョン技術を用いて、前記室内画像中のコーナーを認識し、コーナーを連結して部屋の大まかなモデルを生成する、ことを特徴とする付記22または23に記載の自動3Dモデリング装置。
(付記25)
前記3Dモデルスティッチングユニットは、前記複数の部屋のそれぞれの3Dモデルを統一して補正し、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全部屋の壁線方向を統一して補正することが含まれ、
前記3Dモデルスティッチングユニットは、前記各部屋の3Dモデルをスティッチングする時、重なり部分および/または現れた空洞を修正する、ことを特徴とする付記24に記載の自動3Dモデリング装置。
(付記26)
以下の方法、すなわち、
生成した前記3Dモデルの各平面を床に垂直な平面に投影し、これらの投影を1つのポリゴンに結合する方法と;
得られた前記ポリゴンを補正および簡略化する方法と、そのうち、以下の方法、
(1)前記ポリゴンの主要な頂点のみを残し、小さい凹凸を削除すること、
(2)コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正すること、の少なくとも1つが含まれ;
前記位置および撮影方向情報に基づいて、生成した前記各部屋の2D平面図を同一の2次元座標系でスティッチング処理を行い、前記各部屋のそれぞれの2D平面図によってスティッチングされた2D平面図全体を形成する方法と;
ディープラーニングの方法を用いて、前記室内画像上でドアおよび/または窓の位置を認識すること、または、同一住宅に属する複数の部屋に対して前記第1画像をそれぞれ撮影した時に取得した移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる、ドアおよび/または窓の位置を認識してラベル付ける方法と、で2D平面図を生成する2D平面図生成ユニットをさらに含む、ことを特徴とする付記24に記載の自動3Dモデリング装置。
(付記27)
前記2D平面図生成ユニットは、前記複数の部屋のそれぞれの2D平面図を統一して補正し、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全部屋の壁線方向を統一して補正することが含まれ、
前記2D平面図生成ユニットは、前記各部屋の2D平面図をスティッチングする時、重なり部分および/または現れた空洞を修正する、ことを特徴とする付記26に記載の自動3Dモデリング装置。
(付記28)
以下の方法、すなわち、
前記3Dモデルスティッチングユニットが生成した前記3Dモデル全体の各平面を床に垂直な平面に投影し、これらの投影を1つのポリゴンに結合する方法と;
得られた前記ポリゴンを補正および簡略化する方法と、そのうち、以下の方法、
(1)前記ポリゴンの主要な頂点のみを残し、小さい凹凸を削除すること、
(2)コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正すること、の少なくとも1つが含まれ;
ディープラーニングの方法を用いて、前記室内画像上でドアおよび/または窓の位置を認識すること、または、同一住宅に属する複数の部屋に対して前記第1画像をそれぞれ撮影した時の移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる、ドアおよび/または窓の位置を認識してラベル付ける方法と、で2D平面図を生成する2D平面図生成ユニットをさらに含む、ことを特徴とする付記24に記載の自動3Dモデリング装置。
(付記29)
モデリングオブジェクトに含まれる複数の空間のそれぞれの第1画像に基づいて、前記各空間の3Dモデルをそれぞれ生成する3Dモデル生成ステップと、
前記複数の空間のそれぞれの前記第1画像が撮影された時の位置および撮影方向情報に基づいて、前記3Dモデル生成ステップで生成した前記各空間の3Dモデルを同一の三次元座標系でスティッチング処理を行い、前記各空間のそれぞれの3Dモデルによってスティッチングされた3Dモデル全体を形成する3Dモデルスティッチングステップとを含む、ことを特徴とする自動3Dモデリング方法。
(付記30)
前記3Dモデルスティッチングステップでは、前記位置および撮影方向情報に基づいて、1つの空間の前記3Dモデルのローカル座標をグローバルワールド座標に変換することで、全ての空間の3Dモデル全体を取得する、ことを特徴とする付記29に記載の自動3Dモデリング方法。
(付記31)
前記空間は、部屋であり、
前記第1画像は、前記部屋の室内画像であり、
前記3Dモデル生成ステップでは、ディープラーニング技術に基づいて前記第1画像中の床、天井、壁の少なくとも1つを認識し、認識した画像を画像処理技術に基づいて複数のブロックに分割し、床と天井の画像ブロックが水平面内にあり、壁の画像ブロックが垂直面内にあるように、それぞれのブロックをおおよそ平面とみなし、各平面の方程式を解いて前記3Dモデルを生成し、ここで、前記第1画像中で交差する2つの平面については、算出された交差線と実際に観察された交差線との誤差を最小化し、
前記3Dモデル生成ステップでは、さらに、コンピュータビジョン技術を用いて、前記室内画像中のコーナーを認識し、コーナーを連結して部屋の大まかなモデルを生成する、ことを特徴とする付記29または30に記載の自動3Dモデリング方法。
(付記32)
以下の方法、すなわち、
生成した前記3Dモデルの各平面を床に垂直な平面に投影し、これらの投影を1つのポリゴンに結合する方法と;
得られた前記ポリゴンを補正および簡略化する方法と、そのうち、以下の方法、
(1)前記ポリゴンの主要な頂点のみを残し、小さい凹凸を削除すること、
(2)コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正すること、の少なくとも1つが含まれ;
前記位置および撮影方向情報に基づいて、生成した前記各部屋の2D平面図を同一の二次元座標系でスティッチング処理を行い、前記各部屋のそれぞれの2D平面図によってスティッチングされた2D平面図全体を形成する方法と;
ディープラーニングの方法を用いて、前記室内画像上でドアおよび/または窓の位置を認識すること、または、同一住宅に属する複数の部屋に対して前記第1画像をそれぞれ撮影した時に取得した移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる、ドアおよび/または窓の位置を認識してラベル付ける方法と、で2D平面図を生成する2D平面図生成ステップをさらに含む、ことを特徴とする付記31に記載の自動3Dモデリング方法。
(付記33)
前記2D平面図生成ステップでは、前記複数の部屋のそれぞれの2D平面図を統一して補正し、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全部屋の壁線方向を統一して補正することが含まれ、
前記2D平面図生成ステップでは、前記各部屋の2D平面図をスティッチングする時、重なり部分および/または現れた空洞を修正する、ことを特徴とする付記32に記載の自動3Dモデリング方法。
(付記34)
以下の方法、すなわち、
前記3Dモデルスティッチングステップで生成した前記3Dモデル全体の各平面を床に垂直な平面に投影し、これらの投影を1つのポリゴンに結合する方法と;
得られた前記ポリゴンを補正および簡略化する方法と、そのうち、以下の方法、
(1)前記ポリゴンの主要な頂点のみを残し、小さい凹凸を削除すること、
(2)コンピュータビジョン技術を使用して、画像内の直線を検出し、それによって壁の方向を決定し、壁の方向とほぼ平行または垂直な全てのエッジを対応する方向に修正すること、の少なくとも1つが含まれ;
ディープラーニングの方法を用いて、前記室内画像上でドアおよび/または窓の位置を認識すること、または、同一住宅に属する複数の部屋に対して前記第1画像をそれぞれ撮影した時の移動軌跡と当該部屋の輪郭との交点に基づいて、ドアの位置を決定することが含まれる、ドアおよび/または窓の位置を認識してラベル付ける方法と、で2D平面図を生成する2D平面図生成ステップをさらに含む、ことを特徴とする付記31に記載の自動3Dモデリング方法。
(付記35)
S1)カメラ機能付きモバイル機器およびカメラを同一の撮影スタンドに固定するステップと、
S2)スタンドを移動させる過程で、カメラまたはモバイル機器からの複数の第2画像を取得し、前記カメラまたはモバイル機器のセンサと組み合わせて各撮影点の位置と撮影方向を取得し、統一座標系を用いたロードマップを形成するステップと、
S3)前記モバイル機器またはリモートサーバ側で、各撮影点撮影の第1画像に基づいて、3Dモデリングを行うステップと、
S4)S2で取得された位置および撮影方向に応じて、各撮影点の前記3Dモデルを同一の三次元座標系に配置し、複数の撮影点3Dモデル間の結合部分をスティッチングし、複数の撮影点が含まれる3Dモデル全体を形成するステップとを含む、ことを特徴とする撮影に基づく3Dモデリング方法。
(付記36)
前記ステップS2では、前記モバイル機器またはカメラの位置決めシステムに基づいて、前記モバイル機器またはカメラで撮影した第2画像を用いて、近似した撮影点の第2画像の特徴点を照合することにより、撮影点の相対変位および撮影方向情報を見つけ、全ての撮影点を同一の座標系に含む前記ロードマップを形成し、各撮影点の位置および方向を提供する、ことを特徴とする付記35に記載の撮影に基づく3Dモデリング方法。
(付記37)
前記ステップS2は、さらに、前記モバイル機器またはカメラを用いて、移動加速度、速度、および方向情報を取得することにより、前記ロードマップを補正することを含む、ことを特徴とする付記35または36に記載の撮影に基づく3Dモデリング方法。
(付記38)
前記ステップS2は、前記カメラのレンズと前記モバイル機器の撮影方向との間の角度を取得することをさらに含み、そのうち、初期化段階で、前記モバイル機器に基づく位置決めシステムと前記カメラに基づく位置決めシステムを同時に動作させ、スタンドを一定の距離だけ移動させ、この時、2つのシステムがそれぞれ1つの変位ベクトルを提供し、2つのベクトルの間の角度を、前記カメラのレンズと前記モバイル機器の撮影方向との間の角度とすること;あるいは、前記カメラのプレビュー画像または撮影画像を手動で回転させて、前記モバイル機器の撮影方向と一致する角度を指定すること;あるいは、前記モバイル機器と前記カメラのプレビュー画像または撮影画像を画像認識アルゴリズムで照合することによって、その角度を見つけること;あるいは、スタンドに目盛りを付けるなど、追加のマーキングを使用して、前記モバイル機器の設置方向と一定の角度を形成し、その後、前記カメラのプレビュー画像または画像の中の当該マーキングを認識して、前記カメラのレンズと前記モバイル機器の撮影方向との間の角度を算出することが含まれる、ことを特徴とする付記36に記載の撮影に基づく3Dモデリング方法。
(付記39)
前記ステップS3は、
S31)ディープラーニング技術に基づいて、画像中の床、天井、壁の少なくとも1つを認識するステップと、
S32)認識した画像を画像処理技術に基づいて複数のブロックに分割し、床と天井の画像ブロックが水平面内にあり、壁の画像ブロックが垂直面内にあるように、それぞれのブロックをおおよそ平面とみなし、各平面の方程式を解いて前記3Dモデルを生成し、画像中で交差する2つの平面については、2つの平面の交差線を制約条件とし、算出された交差線と実際に観察された交差線との誤差を最小化するステップとを含む、ことを特徴とする付記35に記載の撮影に基づく3Dモデリング方法。
(付記40)
前記ステップS3はさらに、コンピュータビジョン技術を用いて、室内画像中のコーナーを認識し、コーナーを連結して部屋の大まかなモデルを生成するステップを含む、ことを特徴とする付記35に記載の撮影に基づく3Dモデリング方法。
(付記41)
前記ステップS4は、
S41)各撮影点の位置と撮影方向に基づいて、シングル撮影点の3Dモデルのローカル座標をグローバルワールド座標に変換することで、全ての撮影点の3Dモデル全体を取得するステップと、
S42)複数の撮影点の3Dモデルを統一して補正するステップと、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全ての撮影点の壁線方向を統一して補正することが含まれ、
S43)各撮影点の3Dモデルをスティッチングする時、重なり部分および/または現れた空洞を修正するステップとを含む、ことを特徴とする付記35に記載の撮影に基づく3Dモデリング方法。

Claims (15)

  1. 複数の空間に対して当該空間の第1画像をそれぞれ撮影するための撮影ユニットと、
    各空間ごとに前記撮影ユニットが撮影した前記第1画像に基づいて、前記各空間の3Dモデルをそれぞれ生成する3Dモデル生成ユニットと、
    前記撮影ユニットが各空間の第1画像を撮影した時の位置および撮影方向情報を取得するための撮影位置取得ユニットと、
    前記位置および撮影方向情報に基づいて、前記各空間の3Dモデルを同一の三次元座標系でスティッチング処理を行い、前記各空間が含まれる3Dモデル全体を形成する3Dモデルスティッチングユニットとを含み、
    前記撮影ユニットは、カメラおよび/またはカメラ機能付きモバイル機器によって実現され、
    前記3Dモデル生成ユニットは、前記モバイル機器またはリモートサーバによって実現され、前記リモートサーバによって実現される場合には、ネットワークを介して、前記カメラおよび/または前記カメラ機能付きモバイル機器が撮影して送信した第1画像を受信して、前記各空間の3Dモデルを生成し、
    前記撮影位置取得ユニットは、前記カメラまたは前記モバイル機器によって実現され、
    前記3Dモデルスティッチングユニットは、前記モバイル機器またはリモートサーバによって実現され、前記リモートサーバによって実現される場合には、ネットワークを介して、前記撮影位置取得ユニットから送信された各空間の前記位置および撮影方向情報を受信し、当該位置および撮影方向情報に基づいて前記スティッチング処理を完了し、生成した前記3Dモデル全体を前記モバイル機器または他の機器に送信し、
    前記撮影ユニットを実装したカメラと、カメラ機能付きモバイル機器とを同一の撮影スタンドに固定し、
    前記スタンドを移動させる過程で、前記カメラまたは前記カメラ機能付きモバイル機器が撮影した複数の第2画像を取得し、それにより、前記カメラまたは前記カメラ機能付きモバイル機器が位置される空間に対して第1画像を撮影した時の位置および撮影方向情報を取得し、
    前記撮影ユニットが第1空間の前記第1画像を撮影する前に、あるいはその後の移動中に、以下の方法、すなわち、
    (1)前記モバイル機器に基づく位置決めシステムと前記カメラに基づく位置決めシステムを動作させ、前記スタンドを一定の距離で移動させ、この時、2つのシステムがそれぞれ1つの変位ベクトルを提供し、2つのベクトルの間の角度を、前記カメラのレンズと前記モバイル機器の撮影方向との間の角度とする方法、
    (2)前記カメラのプレビュー画像または撮影画像を手動で回転させて、前記モバイル機器の撮影方向と一致する角度を指定する方法、
    (3)前記モバイル機器と前記カメラのプレビュー画像または撮影画像を画像認識アルゴリズムで照合することによって、前記角度を見つける方法、
    (4)スタンドに目盛りを付けるなど、追加のマーキングを使用して、前記モバイル機器の設置方向と一定の角度を形成し、その後、前記カメラのプレビュー画像または画像の中の当該マーキングを認識して、前記カメラのレンズと前記モバイル機器の撮影方向との間の角度を算出する方法、
    (5)前記スタンドにスロットを設けることにより、前記カメラと前記モバイル機器との間の既知の固定角度を確保する方法、の1つ以上で、前記カメラのレンズと前記モバイル機器の撮影方向とのなす角度を取得することをさらに含む、
    ことを特徴とする撮影に基づく3Dモデリングシステム。
  2. 前記撮影ユニットは、前記各空間の間を移動する過程で複数の第2画像を撮影し、
    前記撮影位置取得ユニットは、前記複数の第2画像を用いて特徴点照合を行うことにより、各撮影点の相対変位情報および撮影方向情報を取得する、ことを特徴とする請求項1に記載の撮影に基づく3Dモデリングシステム。
  3. 前記撮影ユニットは、位置決めセンサと方向センサを有し、
    前記撮影位置取得ユニットは、前記撮影ユニットが位置される空間の第1画像を撮影した時に提供される位置決め情報と方向情報に基づいて、前記撮影ユニットが位置される空間の第1画像を撮影した時の位置および撮影方向情報を取得する、ことを特徴とする請求項1に記載の撮影に基づく3Dモデリングシステム。
  4. 前記撮影ユニットは、前記各空間の間を移動する過程で複数の第2画像を撮影し、
    前記撮影ユニットは、位置決めセンサと方向センサを有し、
    前記撮影位置取得ユニットは、前記複数の第2画像を用いて特徴点照合を行うことにより、各撮影点の相対変位情報および撮影方向情報を取得し、かつ前記撮影ユニットが位置される空間の第1画像を撮影した時の位置決め情報と方向情報に基づいて、前記相対変位情報および撮影方向情報を補正することにより、前記撮影ユニットが位置される空間の第1画像を撮影した時の位置および撮影方向情報を取得する、ことを特徴とする請求項1に記載の撮影に基づく3Dモデリングシステム。
  5. 前記撮影位置取得ユニットは、変位センサが取得した変位情報に基づいて、前記相対変位情報および撮影方向情報を補正する、ことを特徴とする請求項に記載の撮影に基づく3Dモデリングシステム。
  6. 前記3Dモデルスティッチングユニットは、各空間を撮影する際に前記撮影位置取得ユニットが取得した前記位置および撮影方向情報に基づいて、1つの空間の前記3Dモデルのローカル座標をグローバルワールド座標に変換することで、前記複数の空間の3Dモデル全体を取得する、ことを特徴とする請求項1に記載の撮影に基づく3Dモデリングシステム。
  7. 前記1つの空間の前記3Dモデルのローカル座標をグローバルワールド座標に変換することは、
    前記撮影ユニットを所定距離で移動させることと、
    前記撮影位置取得ユニットに前記所定距離の2つの端点の位置情報を取得させることと、
    前記2つの端点の位置の差と前記所定距離との比を、前記ローカル座標と前記ワールド座標との比として取得することとを含む、ことを特徴とする請求項に記載の撮影に基づく3Dモデリングシステム。
  8. 前記撮影ユニットは、同一の撮影点で前記第1画像をそれぞれ撮影する2眼レンズを有し、
    前記3Dモデル生成ユニットは、それぞれの前記2眼レンズで撮影された前記第1画像を比較して対応する画素を決定し、前記3Dモデルの生成に用いるための対応する各画素の深さ情報を取得する、ことを特徴とする請求項1に記載の撮影に基づく3Dモデリングシステム。
  9. 前記3Dモデル生成ユニットは、ディープラーニング技術を用いて、前記第1画像における各画素の深さを予測し、前記ディープラーニング技術を計算または直接適用して前記各画素の法線方向を予測する、ことを特徴とする請求項1に記載の撮影に基づく3Dモデリングシステム。
  10. 前記撮影ユニットは、カメラおよび/またはカメラ機能付きモバイル機器によって実現され、
    前記3Dモデル生成ユニットは、前記モバイル機器またはリモートサーバによって実現され、前記リモートサーバによって実現される場合には、ネットワークを介して、前記カメラおよび/または前記カメラ機能付きモバイル機器が撮影して送信した第1画像を受信して、前記各空間の3Dモデルを生成し、
    前記撮影位置取得ユニットは、前記カメラまたは前記モバイル機器によって実現され、
    前記3Dモデルスティッチングユニットは、前記モバイル機器またはリモートサーバによって実現され、前記リモートサーバによって実現される場合には、ネットワークを介して、前記撮影位置取得ユニットから送信された各空間の前記位置および撮影方向情報を受信し、当該位置および撮影方向情報に基づいて前記スティッチング処理を完了し、生成した前記3Dモデル全体を前記モバイル機器または他の機器に送信する、ことを特徴とする請求項2-のいずれか一項に記載の撮影に基づく3Dモデリングシステム。
  11. 前記撮影ユニットを実装したカメラと、カメラ機能付きモバイル機器とを同一の撮影スタンドに固定し、
    前記スタンドを移動させる過程で、前記カメラまたは前記カメラ機能付きモバイル機器が撮影した複数の第2画像を取得し、それにより、前記カメラまたは前記カメラ機能付きモバイル機器が位置される空間に対して第1画像を撮影した時の位置および撮影方向情報を取得する、ことを特徴とする請求項10に記載の撮影に基づく3Dモデリングシステム。
  12. 前記カメラまたは前記カメラ機能付きモバイル機器の位置決めシステムに基づいて、前記カメラまたは前記カメラ機能付きモバイル機器が撮影した第2画像を用いて、近接した撮影点の第2画像の特徴点を照合することにより、各撮影点の相対変位情報および撮影方向情報を取得し、各撮影点の相対位置および方向を提供する、ことを特徴とする請求項1または11に記載の撮影に基づく3Dモデリングシステム。
  13. 前記空間は、部屋であり、
    前記第1画像は、前記部屋の室内画像であり、
    前記3Dモデル生成ユニットは、ディープラーニング技術に基づいて前記第1画像中の床、天井、壁の少なくとも1つを認識し、認識した画像を画像処理技術に基づいて複数のブロックに分割し、床と天井の画像ブロックが水平面内にあり、壁の画像ブロックが垂直面内にあるように、それぞれのブロックをおおよそ平面とみなし、各平面の方程式を解いて前記3Dモデルを生成し、ここで、前記第1画像中で交差する2つの平面については、算出された交差線と実際に観察された交差線との誤差を最小化する、ことを特徴とする請求項1に記載の撮影に基づく3Dモデリングシステム。
  14. 前記3Dモデル生成ユニットはさらに、コンピュータビジョン技術を用いて、前記室内画像中のコーナーを認識し、コーナーを連結して部屋の大まかなモデルを生成する、ことを特徴とする請求項13に記載の撮影に基づく3Dモデリングシステム。
  15. 前記3Dモデルスティッチングユニットは、複数の部屋のそれぞれの3Dモデルを統一して補正し、そのうち、統計的手法を用いて、全部屋が一定の偏差範囲内で平行な壁線を持つように、全部屋の壁線方向を統一して補正することが含まれ、
    前記3Dモデルスティッチングユニットは、各部屋の3Dモデルをスティッチングする時、重なり部分および/または現れた空洞を修正する、ことを特徴とする請求項13に記載の撮影に基づく3Dモデリングシステム。
JP2020571820A 2019-08-23 2020-05-15 撮影に基づく3dモデリングシステム Active JP7223449B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201910784772.1A CN110505463A (zh) 2019-08-23 2019-08-23 基于拍照的实时自动3d建模方法
CN201910784772.1 2019-08-23
PCT/CN2020/090469 WO2021036353A1 (zh) 2019-08-23 2020-05-15 基于拍照的3d建模系统及方法、自动3d建模装置及方法

Publications (2)

Publication Number Publication Date
JP2022501684A JP2022501684A (ja) 2022-01-06
JP7223449B2 true JP7223449B2 (ja) 2023-02-16

Family

ID=74647024

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020571820A Active JP7223449B2 (ja) 2019-08-23 2020-05-15 撮影に基づく3dモデリングシステム

Country Status (3)

Country Link
US (1) US11557083B2 (ja)
JP (1) JP7223449B2 (ja)
GB (1) GB2591857B (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3059798B1 (fr) * 2016-12-05 2019-08-02 Commissariat A L'energie Atomique Et Aux Energies Alternatives Procede de construction d'une maquette numerique 3d a partir d'un plan 2d
KR20210087840A (ko) * 2020-01-03 2021-07-13 삼성전자주식회사 영상 처리를 위한 전자 장치, 방법 및 비일시적 저장 매체
CN113109364B (zh) * 2021-03-22 2021-12-17 深圳格芯集成电路装备有限公司 一种芯片缺陷的检测方法及装置
CN113034596B (zh) * 2021-03-26 2022-05-13 浙江大学 一种三维物体检测与跟踪方法
KR102403258B1 (ko) * 2021-12-15 2022-05-30 주식회사 리콘랩스 볼륨 추론 기반 3차원 모델링 방법 및 시스템
CN114463549A (zh) * 2021-12-29 2022-05-10 广州极飞科技股份有限公司 特征提取网络模型的训练方法、图像处理方法及其装置
CN114461104B (zh) * 2022-02-07 2024-04-16 深圳须弥云图空间科技有限公司 楼型拼合方法、装置、设备及存储介质
WO2023247015A1 (en) * 2022-06-21 2023-12-28 Telefonaktiebolaget Lm Ericsson (Publ) Determining a scale factor
CN115830161B (zh) * 2022-11-21 2023-10-31 北京城市网邻信息技术有限公司 户型图生成方法、装置、设备和存储介质
WO2024119230A1 (en) * 2022-12-07 2024-06-13 Ezametric Pty Ltd Photogrammetry surveying method and system
CN116563474B (zh) * 2023-07-05 2023-09-19 有方(合肥)医疗科技有限公司 口腔全景图生成方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009237845A (ja) 2008-03-27 2009-10-15 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2011186808A (ja) 2010-03-09 2011-09-22 Sony Corp 情報処理装置、マップ更新方法、プログラム及び情報処理システム
US20130104073A1 (en) 2010-06-22 2013-04-25 Ohio University Immersive video intelligence network
JP2014220804A (ja) 2013-05-11 2014-11-20 三菱電機株式会社 単一の2次元画像からシーンを再構成する方法
JP2014507723A5 (ja) 2012-01-09 2015-02-26
JP2016528476A (ja) 2013-04-30 2016-09-15 クアルコム,インコーポレイテッド Slamマップからのワイドエリア位置推定
WO2017022033A1 (ja) 2015-07-31 2017-02-09 富士通株式会社 画像処理装置、画像処理方法および画像処理プログラム
CN108961395A (zh) 2018-07-03 2018-12-07 上海亦我信息技术有限公司 一种基于拍照重建三维空间场景的方法
JP2019523496A (ja) 2016-07-22 2019-08-22 インペリアル・カレッジ・オブ・サイエンス・テクノロジー・アンド・メディスン 多方向カメラを使用した、囲まれた空間の寸法の推定

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1233984C (zh) * 2004-11-11 2005-12-28 天津大学 不基于粘性标记的大型三维形体形貌测量拼接方法
JP4835243B2 (ja) * 2006-04-13 2011-12-14 ブラザー工業株式会社 画像合成装置及び画像合成プログラム
CN102375831B (zh) 2010-08-13 2014-09-10 富士通株式会社 三维模型检索装置及其方法和模型库生成装置及其方法
US8587583B2 (en) 2011-01-31 2013-11-19 Microsoft Corporation Three-dimensional environment reconstruction
WO2012115253A1 (ja) * 2011-02-24 2012-08-30 京セラ株式会社 電子機器、画像表示方法及び画像表示プログラム
TWI544447B (zh) * 2011-11-29 2016-08-01 財團法人資訊工業策進會 擴增實境的方法及系統
US9836885B1 (en) * 2013-10-25 2017-12-05 Appliance Computing III, Inc. Image-based rendering of real spaces
US20160343166A1 (en) * 2013-12-24 2016-11-24 Teamlab Inc. Image-capturing system for combining subject and three-dimensional virtual space in real time
CN103729883B (zh) * 2013-12-30 2016-08-24 浙江大学 一种三维环境信息采集与重构系统及方法
CN105488852B (zh) * 2015-12-23 2019-04-26 中国船舶重工集团公司第七一五研究所 一种基于地理编码和多维校准的三维图像拼接方法
CN105787996A (zh) * 2016-02-25 2016-07-20 上海斐讯数据通信技术有限公司 一种基于移动终端的房屋立体图生成方法及系统
CN106092056B (zh) * 2016-06-28 2018-07-13 中国人民解放军国防科学技术大学 一种高速铁路桥梁基础沉降变形的车载动态监测方法
CN107424118A (zh) * 2017-03-28 2017-12-01 天津大学 基于改进径向畸变校正的球状全景拼接方法
US10803546B2 (en) * 2017-11-03 2020-10-13 Baidu Usa Llc Systems and methods for unsupervised learning of geometry from images using depth-normal consistency
CN108198133B (zh) * 2017-12-06 2021-09-17 云南联合视觉科技有限公司 一种车辆全景图像快速拼接方法
CN110505463A (zh) * 2019-08-23 2019-11-26 上海亦我信息技术有限公司 基于拍照的实时自动3d建模方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009237845A (ja) 2008-03-27 2009-10-15 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2011186808A (ja) 2010-03-09 2011-09-22 Sony Corp 情報処理装置、マップ更新方法、プログラム及び情報処理システム
US20130104073A1 (en) 2010-06-22 2013-04-25 Ohio University Immersive video intelligence network
JP2014507723A5 (ja) 2012-01-09 2015-02-26
JP2016528476A (ja) 2013-04-30 2016-09-15 クアルコム,インコーポレイテッド Slamマップからのワイドエリア位置推定
JP2014220804A (ja) 2013-05-11 2014-11-20 三菱電機株式会社 単一の2次元画像からシーンを再構成する方法
WO2017022033A1 (ja) 2015-07-31 2017-02-09 富士通株式会社 画像処理装置、画像処理方法および画像処理プログラム
JP2019523496A (ja) 2016-07-22 2019-08-22 インペリアル・カレッジ・オブ・サイエンス・テクノロジー・アンド・メディスン 多方向カメラを使用した、囲まれた空間の寸法の推定
CN108961395A (zh) 2018-07-03 2018-12-07 上海亦我信息技术有限公司 一种基于拍照重建三维空间场景的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
石川 智也 Tomoya ISHIKAWA,カメラと自蔵センサモジュールを併用したインタラクティブ3次元屋内環境モデラ Interactive 3D Indoor Modeler with a Camera and Self-Contained Sensors,電子情報通信学会技術研究報告 Vol.109 No.215 IEICE Technical Report,日本,社団法人電子情報通信学会 The Institute of Electronics,Information and Communication Engineers,2029年11月16日,第109巻

Also Published As

Publication number Publication date
GB2591857B (en) 2023-12-06
US11557083B2 (en) 2023-01-17
US20210056751A1 (en) 2021-02-25
JP2022501684A (ja) 2022-01-06
GB202019121D0 (en) 2021-01-20
GB2591857A (en) 2021-08-11

Similar Documents

Publication Publication Date Title
JP7223449B2 (ja) 撮影に基づく3dモデリングシステム
WO2021036353A1 (zh) 基于拍照的3d建模系统及方法、自动3d建模装置及方法
US12014468B2 (en) Capturing and aligning three-dimensional scenes
US9460517B2 (en) Photogrammetric methods and devices related thereto
US10008028B2 (en) 3D scanning apparatus including scanning sensor detachable from screen
EP2807629B1 (en) Mobile device configured to compute 3d models based on motion sensor data
US20240029384A1 (en) 3-D Reconstruction Using Augmented Reality Frameworks
US20130271579A1 (en) Mobile Stereo Device: Stereo Imaging, Measurement and 3D Scene Reconstruction with Mobile Devices such as Tablet Computers and Smart Phones
KR20220028042A (ko) 포즈 결정 방법, 장치, 전자 기기, 저장 매체 및 프로그램
CN111161336B (zh) 三维重建方法、三维重建装置和计算机可读存储介质
US10929575B2 (en) Modelling system and method
US20220067974A1 (en) Cloud-Based Camera Calibration
US8509522B2 (en) Camera translation using rotation from device
EP3882846B1 (en) Method and device for collecting images of a scene for generating virtual reality data
CA3102860C (en) Photography-based 3d modeling system and method, and automatic 3d modeling apparatus and method
Kinoshita et al. Drone-based mixed reality: enhancing visualization for large-scale outdoor simulations with dynamic viewpoint adaptation using vision-based pose estimation methods
CA3201746A1 (en) 3-d reconstruction using augmented reality frameworks

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201218

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220823

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220930

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230130

R150 Certificate of patent or registration of utility model

Ref document number: 7223449

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150