IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社NTTドコモの特許一覧 ▶ 株式会社セックの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024143162
(43)【公開日】2024-10-11
(54)【発明の名称】3次元モデル生成装置
(51)【国際特許分類】
   G06T 1/00 20060101AFI20241003BHJP
   G06T 7/55 20170101ALI20241003BHJP
   G06T 17/00 20060101ALI20241003BHJP
【FI】
G06T1/00 315
G06T7/55
G06T17/00
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023055692
(22)【出願日】2023-03-30
(71)【出願人】
【識別番号】392026693
【氏名又は名称】株式会社NTTドコモ
(71)【出願人】
【識別番号】501493358
【氏名又は名称】株式会社セック
(74)【代理人】
【識別番号】110003177
【氏名又は名称】弁理士法人旺知国際特許事務所
(72)【発明者】
【氏名】佐藤 里奈
(72)【発明者】
【氏名】原 未來
(72)【発明者】
【氏名】小林 洸陽
(72)【発明者】
【氏名】高木 純平
(72)【発明者】
【氏名】村中 勇輝
(72)【発明者】
【氏名】杉江 卓哉
【テーマコード(参考)】
5B057
5B080
5L096
【Fターム(参考)】
5B057BA24
5B057CA13
5B057DA06
5B057DB03
5B057DC05
5B080AA13
5L096CA24
5L096FA66
5L096FA67
5L096FA69
5L096HA08
(57)【要約】
【課題】推定された深度情報を用いて2次元画像から3次元モデルを生成する場合の、当該3次元モデルの精度を向上する。
【解決手段】3次元モデル3次元モデル生成装置10は、第1マーカーM1と第2マーカーM2とが配置された現実空間RSを撮像装置30が撮像することによって得られた2次元画像DPに基づいて、現実空間RS上の複数の点から撮像装置30までの各相対距離を示す深度情報を推定する深度情報推定部112と、第1マーカー画像MP1の形状に基づいて、第1マーカーM1から撮像装置30までの第1絶対距離を算出する第1算出部114と、第2マーカー画像MP2の形状に基づいて、第2マーカーM2から撮像装置30までの第2絶対距離を算出する第2算出部115と、第1絶対距離及び第2絶対距離に基づいて、複数の相対距離を複数の絶対距離に変換する変換部116と、を備える。
【選択図】図2
【特許請求の範囲】
【請求項1】
現実空間を撮像装置が撮像することによって得られた2次元画像に基づいて、前記2次元画像の複数の画素と一対一に対応する前記現実空間上の複数の点から前記撮像装置までの各相対距離を示す深度情報を推定する深度情報推定部と、
ユーザによって指定された前記2次元画像上の第1点の位置を示す第1位置と、前記2次元画像上の第2点の位置を示す第2位置とを受け付ける受付部と、
前記第1点に対応する現実空間上の第1特徴点から前記撮像装置までの第1絶対距離及び前記第2点に対応する現実空間上の第2特徴点から前記撮像装置までの第2絶対距離を取得する取得部と、
前記第1位置及び前記第1絶対距離、並びに前記第2位置及び前記第2絶対距離に基づいて、前記複数の画素に一対一に対応する複数の相対距離を複数の絶対距離に変換する変換部と、
前記変換部によって変換された前記複数の絶対距離と前記2次元画像とに基づいて、前記現実空間を示す3次元モデルを生成する生成部と、
を備える3次元モデル生成装置。
【請求項2】
第1マーカーと第2マーカーとが配置された現実空間を撮像装置が撮像することによって得られた2次元画像に基づいて、前記2次元画像の複数の画素と一対一に対応する前記現実空間上の複数の点から前記撮像装置までの各相対距離を示す深度情報を推定する深度情報推定部と、
前記2次元画像に含まれる前記第1マーカーを示す第1マーカー画像及び前記第2マーカーを示す第2マーカー画像を認識する認識部と、
前記第1マーカー画像の形状に基づいて、前記第1マーカーから前記撮像装置までの第1絶対距離を算出する第1算出部と、
前記第2マーカー画像の形状に基づいて、前記第2マーカーから前記撮像装置までの第2絶対距離を算出する第2算出部と、
前記第1絶対距離及び前記第2絶対距離に基づいて、前記複数の画素に一対一に対応する複数の相対距離を複数の絶対距離に変換する変換部と、
前記変換部によって変換された前記複数の絶対距離と前記2次元画像とに基づいて、前記現実空間を示す3次元モデルを生成する生成部と、
を備える3次元モデル生成装置。
【請求項3】
前記変換部は、前記第1絶対距離及び前記第2絶対距離に基づいて、相対距離を絶対距離に変換するためのパラメータを算出し、算出されたパラメータを用いて前記複数の画素に一対一に対応する複数の相対距離を複数の絶対距離に変換する、
請求項2に記載の3次元モデル生成装置。
【請求項4】
前記2次元画像の中から前記現実空間の平面に対応する部分画像を検出する検出部と、
前記第1算出部は、
前記第1マーカー画像の形状に基づいて、前記第1絶対距離、前記第1マーカーの姿勢を示す姿勢情報、及び前記第1マーカーの3次元座標を算出し、
前記平面に前記第1マーカーが配置される場合、前記第1マーカーの3次元座標及び前記姿勢情報に基づいて、前記部分画像の1以上の画素に対応する前記平面上の1以上の点から前記撮像装置までの1以上の絶対距離を算出し、
前記生成部は、前記平面上の1以上の点について、前記変換部によって変換された絶対距離の代りに、前記第1算出部によって算出された前記1以上の絶対距離を用いることによって、前記3次元モデルを生成する、
請求項2に記載の3次元モデル生成装置。
【請求項5】
第1マーカーが配置された平面を含む現実空間を撮像装置が撮像することによって得られた2次元画像に基づいて、前記2次元画像の複数の画素と一対一に対応する前記現実空間上の複数の点から前記撮像装置までの各相対距離を示す深度情報を推定する深度情報推定部と、
前記2次元画像に含まれる、前記第1マーカーを示す第1マーカー画像を認識する認識部と、
前記2次元画像の中から前記平面に対応する部分画像を検出する検出部と、
前記第1マーカー画像の形状に基づいて、前記第1マーカーから前記撮像装置までの絶対距離を示す第1絶対距離、前記第1マーカーの3次元座標、及び前記第1マーカーの姿勢を示す姿勢情報を算出する第1算出部と、
前記第1マーカーの3次元座標及び前記姿勢情報に基づいて、前記部分画像の1つの画素に対応する前記平面上の点から前記撮像装置までの絶対距離を示す第2絶対距離を算出する第2算出部と、
前記第1絶対距離及び前記第2絶対距離に基づいて、前記複数の画素に一対一に対応する複数の相対距離を複数の絶対距離に変換する変換部と、
前記変換部によって変換された前記複数の絶対距離と前記2次元画像とに基づいて、前記現実空間を示す3次元モデルを生成する生成部と、
を備える3次元モデル生成装置。
【請求項6】
前記検出部は、前記第1絶対距離及び前記姿勢情報に基づいて、前記部分画像を検出する、請求項4又は5に記載の3次元モデル生成装置。
【請求項7】
前記平面には、前記第2マーカーと第3マーカーが位置し、
前記認識部は、前記2次元画像に含まれる前記第3マーカーを示す第3マーカー画像を認識し、
前記第3マーカー画像の形状に基づいて、前記第3マーカーから前記撮像装置までの第3絶対距離を算出する第3算出部を更に備え、
前記検出部は、前記第1絶対距離、前記第2絶対距離及び前記第3絶対距離に基づいて、前記部分画像を検出する、請求項4又は5に記載の3次元モデル生成装置。
【請求項8】
第1マーカーが配置された平面を含む現実空間を撮像装置が撮像することによって得られた2次元画像に基づいて、前記2次元画像の複数の画素と一対一に対応する前記現実空間上の複数の点から前記撮像装置までの各相対距離を示す深度情報を推定する深度情報推定部と、
前記2次元画像に含まれる、前記第1マーカーを示す第1マーカー画像を認識する認識部と、
前記2次元画像の中から前記平面に対応する部分画像を検出する検出部と、
前記第1マーカー画像の形状に基づいて、前記第1マーカーから前記撮像装置までの絶対距離を示す第1絶対距離、前記第1マーカーの3次元座標、並びに前記第1マーカーの姿勢を示す姿勢情報を算出する第1算出部と、
前記第1マーカーの3次元座標及び前記姿勢情報に基づいて、前記部分画像の1以上の画素に対応する前記平面上の1以上の点から前記撮像装置までの1以上の絶対距離を算出する第2算出部と、
前記1以上の絶対距離のうち少なくとも1つの絶対距離及び前記第1絶対距離に基づいて、前記複数の画素に一対一に対応する複数の相対距離を複数の絶対距離に変換する変換部と、
前記第2算出部によって算出された絶対距離、及び前記複数の絶対距離のうち前記第2算出部によって算出された絶対距離を除いた絶対距離と、前記2次元画像とに基づいて、前記現実空間を示す3次元モデルを生成する生成部と、
を備える3次元モデル生成装置。
【請求項9】
前記現実空間は、前記平面と前記第1マーカーが配置されていない他の平面を含み、
前記検出部は、前記2次元画像の中から前記他の平面に対応する他の部分画像を検出し、
前記第2算出部は、前記平面と前記他の平面とがなす角度、前記第1マーカーの3次元座標及び前記姿勢情報に基づいて、前記他の部分画像の1以上の画素に対応する前記他の平面上の1以上の点から前記撮像装置までの1以上の絶対距離を、更に算出し、
前記変換部は、前記平面に関する1以上の絶対距離及び前記他の平面に関する1以上の絶対距離のうち少なくとも1つの絶対距離と、前記第1絶対距離とに基づいて、前記複数の画素に一対一に対応する複数の相対距離を複数の絶対距離に変換する、
請求項8に記載の3次元モデル生成装置。
【請求項10】
前記現実空間は、物体を含み、
前記物体と前記平面との距離、又は前記物体と前記他の平面との距離は、閾値以下であり、
前記平面上の点及び前記他の平面上の点のうち、前記物体と最も近い点である基準点は、前記平面上の1以上の点又は前記他の平面上の1以上の点に含まれ、
前記検出部は、前記2次元画像に基づいて前記物体に対応する物体画像を検出し、
前記第2算出部は、前記基準点の三次元座標を算出する、
請求項9に記載の3次元モデル生成装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、3次元モデル生成装置に関する。
【背景技術】
【0002】
従来、3次元スキャナ、又はLiDARスキャナ等の深度カメラによって生成される2次元画像に基づいて、3次元モデルを生成する技術が利用されてきた。
【0003】
例えば、特許文献1は、3次元スキャナ、又は深度カメラによって生成される2次元画像に基づいて、3次元モデルを生成する技術を開示している。特許文献1に係る技術においては、仮想オブジェクトに対する変更操作が2次元画像にマッピングされ、当該マッピングによって変更された2次元画像に基づいて3次元モデルが変更される。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2022-092742号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
LiDARスキャナ等の計測装置を用いずに3次元モデルを生成する場合、2次元画像から深度を推定し、推定した深度情報を用いて空間の3次元モデルを生成する方法を採用することが考えられる。しかし、推定された深度情報は、LiDARスキャナ等の計測装置を用いる場合と比較して精度が低いため、3次元モデルの精度が低いといった問題があった。
【0006】
そこで、本発明は、推定された深度情報を用いて2次元画像から3次元モデルを生成する場合に、当該3次元モデルの精度を向上することを目的とする。
【課題を解決するための手段】
【0007】
本発明の第1の好適な態様に係る3次元モデル生成装置は、現実空間を撮像装置が撮像することによって得られた2次元画像に基づいて、前記2次元画像の複数の画素と一対一に対応する前記現実空間上の複数の点から前記撮像装置までの各相対距離を示す深度情報を推定する深度情報推定部と、ユーザによって指定された前記2次元画像上の第1点の位置を示す第1位置と、前記2次元画像上の第2点の位置を示す第2位置とを受け付ける受付部と、前記第1点に対応する現実空間上の第1特徴点から前記撮像装置までの第1絶対距離及び前記第2点に対応する現実空間上の第2特徴点から前記撮像装置までの第2絶対距離を取得する取得部と、前記第1位置及び前記第1絶対距離、並びに前記第2位置及び前記第2絶対距離に基づいて、前記複数の画素に一対一に対応する複数の相対距離を複数の絶対距離に変換する変換部と、前記変換部によって変換された前記複数の絶対距離と前記2次元画像とに基づいて、前記現実空間を示す3次元モデルを生成する生成部と、を備える。
【0008】
本発明の第2の好適な態様に係る3次元モデル生成装置は、第1マーカーと第2マーカーとが配置された現実空間を撮像装置が撮像することによって得られた2次元画像に基づいて、前記2次元画像の複数の画素と一対一に対応する前記現実空間上の複数の点から前記撮像装置までの各相対距離を示す深度情報を推定する深度情報推定部と、前記2次元画像に含まれる前記第1マーカーを示す第1マーカー画像及び前記第2マーカーを示す第2マーカー画像を認識する認識部と、前記第1マーカー画像の形状に基づいて、前記第1マーカーから前記撮像装置までの第1絶対距離を算出する第1算出部と、前記第2マーカー画像の形状に基づいて、前記第2マーカーから前記撮像装置までの第2絶対距離を算出する第2算出部と、前記第1絶対距離及び前記第2絶対距離に基づいて、前記複数の画素に一対一に対応する複数の相対距離を複数の絶対距離に変換する変換部と、前記変換部によって変換された前記複数の絶対距離と前記2次元画像とに基づいて、前記現実空間を示す3次元モデルを生成する生成部と、を備える。
【0009】
本発明の第3の好適な態様に係る3次元モデル生成装置は、第1マーカーが配置された平面を含む現実空間を撮像装置が撮像することによって得られた2次元画像に基づいて、前記2次元画像の複数の画素と一対一に対応する前記現実空間上の複数の点から前記撮像装置までの各相対距離を示す深度情報を推定する深度情報推定部と、前記2次元画像に含まれる、前記第1マーカーを示す第1マーカー画像を認識する認識部と、前記2次元画像の中から前記平面に対応する部分画像を検出する検出部と、前記第1マーカー画像の形状に基づいて、前記第1マーカーから前記撮像装置までの絶対距離を示す第1絶対距離、前記第1マーカーの3次元座標、及び前記第1マーカーの姿勢を示す姿勢情報を算出する第1算出部と、前記第1マーカーの3次元座標及び前記姿勢情報に基づいて、前記部分画像の1つの画素に対応する前記平面上の点から前記撮像装置までの絶対距離を示す第2絶対距離を算出する第2算出部と、前記第1絶対距離及び前記第2絶対距離に基づいて、前記複数の画素に一対一に対応する複数の相対距離を複数の絶対距離に変換する変換部と、前記変換部によって変換された前記複数の絶対距離と前記2次元画像とに基づいて、前記現実空間を示す3次元モデルを生成する生成部と、を備える。
【0010】
本発明の第4の好適な態様に係る3次元モデル生成装置は、第1マーカーが配置された平面を含む現実空間を撮像装置が撮像することによって得られた2次元画像に基づいて、前記2次元画像の複数の画素と一対一に対応する前記現実空間上の複数の点から前記撮像装置までの各相対距離を示す深度情報を推定する深度情報推定部と、前記2次元画像に含まれる、前記第1マーカーを示す第1マーカー画像を認識する認識部と、前記2次元画像の中から前記平面に対応する部分画像を検出する検出部と、前記第1マーカー画像の形状に基づいて、前記第1マーカーから前記撮像装置までの絶対距離を示す第1絶対距離、前記第1マーカーの3次元座標、並びに前記第1マーカーの姿勢を示す姿勢情報を算出する第1算出部と、前記第1マーカーの3次元座標及び前記姿勢情報に基づいて、前記部分画像の1以上の画素に対応する前記平面上の1以上の点から前記撮像装置までの1以上の絶対距離を算出する第2算出部と、前記1以上の絶対距離のうち少なくとも1つの絶対距離及び前記第1絶対距離に基づいて、前記複数の画素に一対一に対応する複数の相対距離を複数の絶対距離に変換する変換部と、前記第2算出部によって算出された絶対距離、及び前記複数の絶対距離のうち前記第2算出部によって算出された絶対距離を除いた絶対距離と、前記2次元画像とに基づいて、前記現実空間を示す3次元モデルを生成する生成部と、を備える。
【発明の効果】
【0011】
本発明によれば、推定された深度情報を用いて2次元画像から3次元モデルを生成する場合に、当該3次元モデルの精度を向上できる。
【図面の簡単な説明】
【0012】
図1】生成システム1の全体構成を示す図。
図2】3次元モデル生成装置10の構成例を示すブロック図。
図3A】撮像装置30から受信された2次元画像DPの一例を示す図。
図3B】撮像装置30から受信された2次元画像DPの他の例を示す図。
図4】第1学習済みモデルLM1から出力される深度マップDMの例を示す図。
図5】カメラ座標系であるXYZ座標系を示す図。
図6】マーカーM1,M2から撮像装置30までの絶対距離の例を示す図。
図7】マーカーM1,M2から撮像装置30までの相対距離の逆数の例を示す図。
図8】3次元モデル生成装置10の動作例を示すフローチャート。
図9】3次元モデル生成装置10Aの構成例を示すブロック図。
図10】部分画像SG1の例を示す図。
図11】マーカーM1が配置される平面上の1以上の点の絶対距離の算出方法を示す図。
図12】マーカーM1が配置される平面上の1以上の点の絶対距離の算出方法を示す図。
図13】マーカーM1が配置される平面上の1以上の点の絶対距離の算出方法を示す図。
図14】マーカーM1が配置される平面上の1以上の点の絶対距離の算出方法を示す図。
図15】マーカーM1が配置される平面上の1以上の点の絶対距離の算出方法を示す図。
図16】マーカーM1が配置される平面上の1以上の点の絶対距離の算出方法を示す図。
図17】マーカーM1が配置される平面上の1以上の点の絶対距離の算出方法を示す図。
図18】マーカーM1が配置される平面上の1以上の点の絶対距離の算出方法を示す図。
図19】マーカーM1が配置される平面上の1以上の点の絶対距離の算出方法を示す図。
図20】3次元モデル生成装置10Aの動作例を示すフローチャート。
図21】3次元モデル生成装置10Bの構成例を示すブロック図。
図22】3次元モデル生成装置10Bの動作例を示すフローチャート。
図23】3次元モデル生成装置10Cの構成例を示すブロック図。
図24】3次元モデル生成装置10Cの動作例を示すフローチャート。
図25】3次元モデル生成装置10Dの構成例を示すブロック図。
図26】マーカーM1が配置される平面と、他の平面がなす角度の例を示す図。
図27】3次元モデル生成装置10Dの動作例を示すフローチャート。
図28】変形例1に係る点Bの3次元座標の算出方法を示す図。
図29】3次元モデル生成装置10Eの構成例を示すブロック図。
図30】撮像装置30から受信された2次元画像DPの一例を示す図。
【発明を実施するための形態】
【0013】
1:第1実施形態
以下、図1図8を参照しつつ、本発明の第1実施形態に係る3次元モデル生成装置10を含む生成システム1の構成について説明する。
【0014】
1-1:第1実施形態の構成
1-1-1:全体構成
図1は、生成システム1の全体構成を示す。図1に示されるように、生成システム1は、3次元モデル生成装置10及び撮像装置30を備える。3次元モデル生成装置10と撮像装置30とは、通信網NETを介して、互いに通信可能に接続される。撮像装置30は、現実空間を撮像することによって2次元画像DPを生成する装置である。撮像装置30は、例えば、コンビニエンスストア、商業施設、又は公共施設等に配置される監視カメラが該当する。撮像装置30は、レンズ、撮像素子、処理回路、及び通信回路を備える。レンズを介して入射した光は撮像素子に結像する。撮像素子は光を電気信号に変換する。処理回路は、撮像素子から出力される信号を増幅し、増幅された信号をDA変換することによって、2次元画像DPを示す画像データを出力する。通信回路は通信網NETを介して画像データを3次元モデル生成装置10に送信する。なお、3次元モデル生成装置10は、通信網NETを介して画像データを取得する代わりに、記録メディアに記録された画像データを読み込むことによって、画像データを取得してもよい。
【0015】
3次元モデル生成装置10は、撮像装置30が撮像することによって得られた2次元画像DPに基づいて、現実空間を示す3次元モデルを生成する。3次元モデルは現実空間に配置された構造物及び物体を3次元データで表現する。構造物は、例えば、ドア、壁面及び床面が該当する。物体は、例えば、什器及び商品が該当する。
【0016】
本実施形態において、3次元モデル生成装置10は、撮像装置30によって生成された2次元画像DPに基づいて、当該2次元画像DPに対応する現実空間上の複数の点から撮像装置30までの相対距離を推定する。また、3次元モデル生成装置10は、現実空間に配置されたARマーカーを用いることにより、複数の点の相対距離を、複数の点の絶対距離に変換する。更に3次元モデル生成装置10は、複数の点の絶対距離と2次元画像DPとに基づいて、3次元モデルを生成する。
【0017】
1-1-2:3次元モデル生成装置の構成
図2は、3次元モデル生成装置10の構成例を示すブロック図である。3次元モデル生成装置10は、処理装置11、記憶装置12、入力装置13、通信装置14、及びディスプレイ15を備える。3次元モデル生成装置10が有する各要素は、情報を通信するための単体又は複数のバスによって相互に接続される。
【0018】
処理装置11は、3次元モデル生成装置10の全体を制御するプロセッサである。処理装置11は、例えば、単数又は複数のチップを用いて構成される。また、処理装置11は、例えば、周辺装置とのインターフェース、演算装置及びレジスタ等を含む中央処理装置(CPU:Central Processing Unit)を用いて構成される。なお、処理装置11が有する機能の一部又は全部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、及びFPGA(Field Programmable Gate Array)等のハードウェアによって実現してもよい。処理装置11は、各種の処理を並列的又は逐次的に実行する。
【0019】
記憶装置12は、処理装置11による読取及び書込が可能な記録媒体である。また、記憶装置12は、処理装置11が実行する制御プログラムPR1を含む複数のプログラムを記憶する。記憶装置12は、処理装置11のワークエリアとして機能する。また、記憶装置12は、第1学習済みモデルLM1を記憶する。第1学習済みモデルLM1は、後述の深度情報推定部112が、2次元画像の複数の画素と一対一に対応する現実空間上の複数の点から、撮像装置30までの各相対距離を示す深度情報を推定するために用いられる。
【0020】
第1学習済みモデルLM1は、学習フェーズにおいて、複数の教師データを学習することによって生成される。複数の教師データの各々は、現実空間を撮像した2次元画像と、当該2次元画像に含まれる複数の画素と一対一に対応する複数の相対距離を示す深度マップとの組である。
【0021】
また、第1学習済みモデルLM1は、3次元モデル生成装置10の外部において生成される。第1学習済みモデルLM1は、例えば、図示しないサーバにおいて生成される。この場合、3次元モデル生成装置10は、通信網NETを介して図示しないサーバから第1学習済みモデルLM1を取得する。
【0022】
入力装置13は、3次元モデル生成装置10の管理者からの操作を受け付ける。例えば、入力装置13は、キーボード、タッチパッド、タッチパネル又はマウス等のポインティングデバイスを含んで構成される。ここで、入力装置13は、タッチパネルを含んで構成される場合、ディスプレイ15を兼ねてもよい。
【0023】
通信装置14は、他の装置と通信を行うための、送受信デバイスとしてのハードウェアである。また、通信装置14は、例えば、ネットワークデバイス、ネットワークコントローラ、ネットワークカード、及び通信モジュール等とも呼ばれる。通信装置14は、有線接続用のコネクターを備えてもよい。また、通信装置14は、無線通信インターフェースを備えていてもよい。有線接続用のコネクター及びインターフェース回路としては有線LAN、IEEE1394、USBに準拠した製品が挙げられる。また、無線通信インターフェースとしては無線LAN及びBluetooth(登録商標)等に準拠した製品が挙げられる。
【0024】
ディスプレイ15は、画像を表示するデバイスである。ディスプレイ15は、処理装置11の制御のもとで各種の画像を表示する。
【0025】
以上の構成において、処理装置11は、制御プログラムPR1を記憶装置12から読み出す。処理装置11は、読み出された制御プログラムPR1を実行することによって、通信制御部111、深度情報推定部112、認識部113、第1算出部114、第2算出部115、変換部116、及び生成部117として、機能する。
【0026】
通信制御部111は、通信装置14に、撮像装置30から、現実空間が撮像された2次元画像を受信させる。
【0027】
図3Aは、撮像装置30から受信された2次元画像DPの一例を示す図である。2次元画像DPは、撮像装置30が、現実空間RSを撮像することで生成された画像である。図3Aに示される例において、現実空間RSには、側壁SW、対向壁FW、及び床面FLが存在する。また、現実空間RSには、マーカーM1及びM2が配置される。マーカーM1及びM2は、ARマーカーである。マーカーM1は、側壁SWにマーカーM1が配置される。マーカーM2は、撮像装置30に対向する対向壁FWに配置される。マーカーM1は、「第1マーカー」の一例である。マーカーM2は、「第2マーカー」の一例である。
【0028】
図2に示される深度情報推定部112は、2次元画像DPに基づいて、2次元画像DPの複数の画素と一対一に対応する現実空間RS上の複数の点から、撮像装置30までの各相対距離を示す深度情報を推定する。具体的には、深度情報推定部112は、第1学習済みモデルLM1に2次元画像DPを入力することによって、第1学習済みモデルLM1から出力される深度マップを取得する。
【0029】
図4は、深度マップDMの一例を示す図である。深度マップDMは、深度情報推定部112が、図3に示される2次元画像DPを第1学習済みモデルLM1に入力した結果、第1学習済みモデルLM1から出力される。図4に示される深度マップDMは、グレースケールを用いて表現される。深度マップDMでは、撮像装置30から見て、奥に位置する箇所に対応する画素は、手前に位置する箇所に対応する画素と比較して、暗く表現される。
【0030】
認識部113は、2次元画像DPに含まれる、マーカー画像MP1及びMP2を認識する。マーカーM1を示すマーカー画像MP1は、「第1マーカー画像」の一例である。マーカーM2を示すマーカー画像MP2は、「第2マーカー画像」の一例である。マーカーM1とマーカーM2とは、白黒のパターンを含む。マーカーM1のパターンとマーカーM2のパターンとは、同一であってもよいし、互いに異なってもよい。認識部113は、一般的な画像認識方法を用いることで、マーカー画像MP1及びMP2の各々を認識できる。例えば、認識部113は、2次元画像DPを2値化し、パターンマッチングによって、2値化された2次元画像DPの中からマーカーM1のパターンとマーカーM2のパターンとを検出してもよい。
【0031】
第1算出部114は、マーカー画像MP1の形状に基づいて、マーカーM1から撮像装置30までの絶対距離を算出する。絶対距離はマーカーの中心点から撮像装置30の焦点までの距離を意味する。マーカーM1から撮像装置30までの絶対距離は、「第1絶対距離」の一例である。ここで、「マーカー画像MP1の形状」には、2次元画像DP上でのマーカー画像MP1の四隅の座標が含まれる。
【0032】
図5は、現実空間RSにおけるカメラ座標系を示す図である。図5に示されるように、第1算出部114は、撮像装置30の位置を原点とするカメラ座標系を設定する。カメラ座標系の原点は、例えば、撮像装置30の光学系の焦点である。具体的には、第1算出部114は、撮像装置30の光軸に沿った軸をZ軸とし、Z軸に直交するX軸、及びZ軸に直交するY軸を設定する。X軸とY軸とは互いに直交する。また、X軸は、2次元画像DPの横軸と並行である。Y軸は、2次元画像DPの縦軸と並行である。
【0033】
図2において、第1算出部114は、2次元画像DPにおけるマーカー画像MP1の4隅の点(4個の頂点)の(X,Y)座標値を取得する。この(X,Y)座標値は、2次元画像DP上の画像座標系で表現される。第1算出部114は、4隅の点の(X,Y)座標値に基づいて、現実空間RSにおけるマーカーM1から撮像装置30までの絶対距離を算出する。より具体的には、撮像装置30の内部パラメータと4隅の点の(X,Y)座標値とを用いて、絶対距離が算出される。絶対距離は、例えば、マーカーM1の中心から撮像装置30のレンズの焦点までの距離を示す。内部パラメータには、画角、及びレンズの歪等の撮像装置30の光学特性が反映される。
【0034】
第1マーカーM1のサイズは既知である。サイズは第1マーカーM1の縦の長さと横の長さである。
また、マーカー画像MP1の4隅の点の(X,Y)座標値からマーカー画像MP1の4辺の長さが算出される。第1算出部114は、第1マーカーM1のサイズ、マーカー画像MP1の4辺の長さ及び内部パラメータに基づいて、絶対距離を算出してもよい。
【0035】
第2算出部115は、第1算出部114と同様の方法を用いることで、マーカー画像MP2の形状に基づいて、マーカーM2から撮像装置30までの絶対距離を算出する。マーカーM2から撮像装置30までの絶対距離は、「第2絶対距離」の一例である。
【0036】
変換部116は、マーカーM1から撮像装置30までの絶対距離と、マーカーM2から撮像装置30までの絶対距離とに基づいて、2次元画像DPの複数の画素に一対一に対応する複数の相対距離を、複数の絶対距離に変換する。
【0037】
具体的には、変換部116は、マーカーM1から撮像装置30までの絶対距離と、マーカーM2から撮像装置30までの絶対距離に変換するためのパラメータを、最初に算出する。
【0038】
図6は、マーカーM1,M2から撮像装置30までの絶対距離の例を示す図である。図6に示されるように、例えば、マーカーM1から撮像装置30までの絶対距離が497cmであるとする。また、マーカーM2から撮像装置30までの絶対距離が763cmであるとする。図7は、マーカーM1,M2から撮像装置30までの相対距離の逆数の例を示す図である。図7に示されるように、マーカーM1から撮像装置30までの相対距離の逆数が、14.22であるとする。また、マーカーM2から撮像装置30までの相対距離の逆数が、4.88であるとする。
【0039】
絶対距離をDabs,相対距離をDrelとした場合、DabsとDrelとの間には、以下の数式(1)が成立する。
1/Dabs=a/Drel+b 数式(1)
ここで、aはスケールに関するパラメータ、bはシフトに関するパラメータである。
【0040】
マーカーM1及びマーカーM2の各々の絶対距離と相対距離とを数式(1)に代入すると、以下の数式(2)及び数式(3)が成立する。
1/4.97[m]=a×14.22+b 数式(2)
1/7.63[m]=a×4.88+b 数式(3)
【0041】
変換部116は、数式(2)と数式(3)からなる連立方程式を解くことにより、a=0.008,b=0.094というパラメータを算出する。変換部116は、a=0.008,b=0.094というパラメータを、数式(1)に代入することで、以下の数式(4)を取得する。
1/Dabs=0.008/Drel+0.094 数式(4)
【0042】
数式(4)は、2次元画像DPに含まれる複数の画素に一対一に対応する、現実空間RSの全ての点について成立する。したがって、変換部116は、数式(4)を用いることで、2次元画像DPに含まれる複数の画素に一対一に対応する複数の相対距離を、複数の絶対距離に変換できる。また、絶対距離と比例関係にある相対距離であれば、数式(1)を使用することで相対距離から別の相対距離へ変換できる。
【0043】
なお、変換部116は、マーカーM1及びマーカーM2の各々の絶対距離と相対距離だけではなく、他のマーカーの絶対距離と相対距離とに基づいて、パラメータを算出してもよい。例えば、図3Bに示されるようにマーカーM1及びマーカーM2加えて、対向壁FWにマーカーM3が配置され、床面FLにマーカーM4が配置されてもよい。この場合、処理装置11は、第1算出部114と同様に、マーカーM3から撮像装置30までの絶対距離と、マーカーM4から撮像装置30までの絶対距離とを算出する。変換部116は、マーカーM1~M4の絶対距離と相対距離とに基づいて、数式(2)及び数式(3)と同様の4つの数式を設定する。変換部116は、4つの数式の解の近似値として、a及びbを算出してもよい。変換部116は、より多くの数式を用いるほど、2次元画像DPに含まれる複数の画素に一対一に対応する複数の相対距離を複数の絶対距離に、より正確に変換する数式(1)を設定できる。即ち、変換部116は、第1絶対距離及び第2絶対距離に基づいて、複数の相対距離を複数の絶対距離に変換するが、「第1絶対距離及び第2絶対距離に基づいて」とは、「第1絶対距離及び第2絶対距離に少なくとも基づいて」の意味である。
【0044】
図2において、生成部117は、変換部116によって変換された複数の絶対距離と、2次元画像DPとに基づいて、現実空間RSを示す3次元モデルを生成する。生成部117は、例えば、複数の絶対距離及び2次元画像と、3次元モデルとの関係を機械学習によって訓練済みの学習モデルを用いて、3次元モデルを生成してもよい。
【0045】
生成部117が、2次元画像DPに基づいて、現実空間RSを示す3次元モデルを生成する場合、一般的な方法を用いると、当該3次元モデルにおいて、現実空間RSにおける直線や平面に対応する箇所に、ゆらぎ、すなわち凹凸が発生することがある。そこで、生成部117は、生成した3次元モデルを、立方体又は直方体の形状をした単位空間であるVoxelを用いて表現することが好適である。
【0046】
1-2:第1実施形態の動作
図8は、3次元モデル生成装置10の動作例を示すフローチャートである。
【0047】
ステップS1において、処理装置11は、通信制御部111として機能する。処理装置11は、通信装置14に、撮像装置30から、現実空間RSが撮像された2次元画像DPを受信させる。
【0048】
ステップS2において、処理装置11は、深度情報推定部112として機能する。処理装置11は、2次元画像DPに基づいて、2次元画像DPの複数の画素と一対一に対応する現実空間RS上の複数の点から、撮像装置30までの各相対距離を示す深度情報を推定する。
【0049】
ステップS3において、処理装置11は、認識部113として機能する。処理装置11は、2次元画像DPに含まれる、マーカーM1~M2を示すマーカー画像MP1~MP2を認識する。
【0050】
ステップS4において、処理装置11は、第1算出部114として機能する。処理装置11は、マーカー画像MP1の形状に基づいて、マーカーM1から撮像装置30までの絶対距離を算出する。
【0051】
ステップS5において、処理装置11は、第2算出部115として機能する。処理装置11は、マーカー画像MP2の形状に基づいて、マーカーM2から撮像装置30までの絶対距離を算出する。
【0052】
ステップS6において、処理装置11は、変換部116として機能する。処理装置11は、マーカーM1から撮像装置30までの絶対距離と、マーカーM2から撮像装置30までの絶対距離に基づいて、2次元画像DPの複数の画素に一対一に対応する複数の相対距離を、複数の絶対距離に変換する。
【0053】
ステップS7において、処理装置11は、生成部117として機能する。処理装置11は、ステップS6において変換された複数の絶対距離と、2次元画像DPを示す画像情報とに基づいて、現実空間RSを示す3次元モデルを生成する。
【0054】
1-3:第1実施形態が奏する効果
以上の説明によれば、3次元モデル生成装置としての3次元モデル生成装置10は、深度情報推定部112と、認識部113と、第1算出部114と、第2算出部115と、変換部116と、生成部117と、を備える。深度情報推定部112は、第1マーカーとしてのマーカーM1と、第2マーカーとしてのマーカーM2とが配置された現実空間RSを撮像装置30が撮像することによって得られた2次元画像DPに基づいて、2次元画像DPの複数の画素と一対一に対応する現実空間RS上の複数の点から、撮像装置30までの各相対距離を示す深度情報を推定する。認識部113は、2次元画像DPに含まれるマーカーM1を示す第1マーカー画像としてのマーカー画像MP1、及びマーカーM2を示す第2マーカー画像としてのマーカー画像MP2を認識する。第1算出部114は、マーカー画像MP1の形状に基づいて、マーカーM1から撮像装置30までの第1絶対距離を算出する。第2算出部115は、マーカー画像MP2の形状に基づいて、マーカーM2から撮像装置30までの第2絶対距離を算出する。変換部116は、第1絶対距離及び第2絶対距離に基づいて、複数の画素に一対一に対応する複数の相対距離を複数の絶対距離に変換する。生成部117は、変換部116によって変換された複数の絶対距離と、2次元画像DPを示す画像情報とに基づいて、現実空間RSを示す3次元モデルを生成する。
【0055】
3次元モデル生成装置10は、以上の構成を有するので、2次元画像DPを構成する複数の画素に一対一に対応する現実空間RS上の複数の点から撮像装置30までの各絶対距離と2次元画像DPとに基づいて、3次元モデルを生成する。絶対距離に基づいて3次元モデルを生成することによって、現実空間を絶対スケールで模した3次元モデルを生成できる。また、深度情報推定部112によって推定される各相対距離は、マーカー画像の形状に基づいて算出される絶対距離よりも精度が低い。したがって、3次元モデル生成装置10は、2次元画像DPを構成する複数の画素に一対一に対応する現実空間RS上の複数の点から撮像装置30までの各相対距離と2次元画像DPとに基づいて、3次元モデルを生成する場合と比較して、3次元モデルの精度を高くできる。また、変換部116は、第1絶対距離及び第2絶対距離に基づいて、複数の画素に一対一に対応する複数の相対距離を複数の絶対距離に変換するので、現実空間RS上の複数の点から撮像装置30までの全ての絶対距離を、マーカーを用いて算出する必要がない。よって、3次元モデル生成装置10は、絶対距離を算出する手間を削減できる。
【0056】
また、3次元モデル生成装置10において、変換部116は、第1絶対距離及び第2絶対距離に基づいて、相対距離を絶対距離に変換するためのパラメータを算出し、算出されたパラメータを用いて複数の画素に一対一に対応する複数の相対距離を複数の絶対距離に変換する。
【0057】
3次元モデル生成装置10は、以上の構成を有するので、複数の画素に一対一に対応する複数の絶対距離の全てを直接測定するのではなく、複数の画素に一対一に対応する複数の相対距離を、複数の絶対距離にまとめて変換することで、処理負荷を低減できる。
【0058】
2:第2実施形態
本発明の第2実施形態に係る3次元モデル生成装置10Aを含む生成システム1の構成について説明する。第2実施形態に係る生成システム1は、3次元モデル生成装置10の代りに3次元モデル生成装置10Aを備える点を除いて、第1実施形態に係る生成システム1と同様に構成される。以下では説明の簡略化のため、3次元モデル生成装置10Aに含まれる構成要素のうち、3次元モデル生成装置10に含まれる構成要素と同一の構成要素については、同一の符号を適用し、その機能の説明を省略することがある。
【0059】
第1実施形態に係る3次元モデル生成装置10は、現実空間RSにマーカーM1とマーカーM2とを配置し、マーカーM1から撮像装置30までの絶対距離とマーカーM2から撮像装置30までの絶対距離とを算出した。マーカーM1及びマーカーM2に対応する2つの絶対距離と、マーカーM1及びマーカーM2に対応する2つの相対距離に基づいて、数式(1)のパラメータa及びbが算出され、変換部116は数式(1)を用いて、複数の相対距離を複数の絶対距離に変換した。これに対して、第2実施形態に係る3次元モデル生成装置10Aは、現実空間RSに配置されたマーカーM1が配置された平面を検出し、検出された平面に属する1以上の点について、相対距離から絶対距離に変更することなく、絶対距離を直接算出する点で、第1実施形態に係る3次元モデル生成装置10と相違する。
【0060】
2-1:第2実施形態の構成
図9は、3次元モデル生成装置10Aの構成例を示すブロック図である。3次元モデル生成装置10Aは、3次元モデル生成装置10に比較して、処理装置11の代りに処理装置11Aを、記憶装置12の代りに記憶装置12Aを備える。
【0061】
記憶装置12Aは、記憶装置12に比較して、制御プログラムPR1の代りに制御プログラムPR1Aを記憶する。また、記憶装置12Aは、第1学習済みモデルLM1に加えて、第2学習済みモデルLM2を記憶する。第2学習済みモデルLM2は、後述の検出部118が、2次元画像DPにおいて、現実空間RSに含まれる複数の平面と一対一に対応する複数の部分画像を検出するために用いられる。
【0062】
第2学習済みモデルLM2は、学習フェーズにおいて、教師データを学習することによって生成される。第2学習済みモデルLM2を生成するために用いられる教師データは、現実空間RSを撮像した2次元画像DPと、当該2次元画像DPにおいて、現実空間RSに含まれる複数の平面と一対一に対応する複数の部分画像を示す部分画像マップとの組を複数有する。
【0063】
また、第2学習済みモデルLM2は、3次元モデル生成装置10Aの外部において生成される。第2学習済みモデルLM2は、図示しないサーバにおいて生成されることが好適である。この場合、3次元モデル生成装置10Aは、通信網NETを介して図示しないサーバから第2学習済みモデルLM2を取得する。
【0064】
処理装置11Aは、制御プログラムPR1Aを記憶装置12Aから読み出す。処理装置11Aは、読み出された制御プログラムPR1Aを実行することによって、通信制御部111、深度情報推定部112、認識部113、検出部118、第1算出部114A、第2算出部115、変換部116A、及び生成部117Aとして機能する。すなわち、処理装置11Aは、処理装置11と同一の通信制御部111、深度情報推定部112、認識部113、第2算出部115、及び変換部116を有する。また、処理装置11Aは、処理装置11に備わる第1算出部114の代りに第1算出部114Aを、変換部116の代りに変換部116Aを、生成部117の代りに生成部117Aを有する。更に、処理装置11Aは、これらの機能ブロックに加えて、検出部118を有する。
【0065】
検出部118は、2次元画像DPの中から、現実空間RSに存在する1以上の平面に一対一に対応する1以上の部分画像を検出する。部分画像の検出方法は、任意であるが、本実施形態では、第2学習済みモデルLM2を用いる。具体的には、検出部118は、2次元画像DPを、第2学習済みモデルLM2に入力し、第2学習済みモデルLM2から出力される部分画像マップを取得する。部分画像マップは、2次元画像DPに含まれる1以上の平面を示す。検出部118は、例えば、図3Aに示される2次元画像DPに基づいて、マーカーM1が配置される平面である側壁SWに対応する部分画像と、対向壁FWに対応する部分画像と、床面FLに対応する部分画像とを検出する。更に、検出部118は、部分画像マップに含まれる1以上の部分画像の中から、マーカーM1が配置された平面に対応する部分画像を検出する。
【0066】
図10は、検出部118によって検出される、マーカーM1が配置された平面に対応する部分画像SG1の例を示す図である。図10に示される2次元画像DPにおいて、ハッチングが適用された領域が、部分画像SG1である。
【0067】
第1算出部114Aは、第1算出部114と同様に、マーカー画像MP1の形状に基づいて、マーカーM1から撮像装置30までの絶対距離を算出する。また、第1算出部114Aは、マーカー画像MP1の形状に基づいて、マーカーM1の姿勢を示す姿勢情報、及びカメラ座標系で表現されるマーカーM1の中心点Mの3次元座標を算出する。姿勢情報は、マーカーM1に含まれる主たる平面の、カメラ座標系における傾きを示す情報である。具体的には、当該姿勢情報は、カメラ座標系におけるZ軸方向の単位ベクトルを回転させる、回転行列によって示される。
【0068】
更に、第1算出部114Aは、マーカーM1の姿勢を示す姿勢情報、及びカメラ座標系で表現されるマーカーM1の中心点Mの3次元座標を用いて、マーカーM1が配置される平面上の1以上の点の絶対距離を算出する。第1算出部114Aが算出する絶対距離の数は任意である。部分画像SG1が、N個の画素から構成される場合、絶対距離の数は1以上N以下である。即ち、第1算出部114Aは、部分画像SG1を構成する全ての画素について絶対距離を算出してもよい。
【0069】
図11図19は、第1算出部114Aによる、マーカーM1が配置される平面上の1以上の点の絶対距離の算出方法を示す図である。
【0070】
当該算出方法の概略は、以下の通りである。図11に示されるマーカーM1の中心点Mを含みカメラ座標系のXZ平面と並行な平面を第1平面とする。第1算出部114Aは、第1平面とマーカーM1が配置される平面である側壁SWとが交わる直線上において、マーカーM1から距離dだけ移動した点A1の3次元座標を算出する。次に、点A1を含みカメラ座標系のXY平面と並行な平面を第2平面とする。第1算出部114Aは、マーカーM1が配置される側壁SWと、第2平面とが交わる直線上において、点A1から距離eだけ移動した点B1の3次元座標を算出する。距離d及び距離eを適宜設定することによって、点B1は、側壁SW上の任意の点とできる。第1算出部114Aは、点B1の3次元座標に基づいて、点B1の絶対距離を算出する。
【0071】
マーカーM1の中心点Mの座標は(a,b,c)である。座標(a,b,c)はカメラ座標系で表現される。最初に、第1算出部114Aは、図12に示されるZ軸方向の単位ベクトルに対して、マーカーM1の姿勢情報によって示される回転行列を乗じることで、図13に示されるマーカーM1の主たる平面の法線方向の単位ベクトル(v,u,w)を算出する。第1算出部114Aは、図14に示されるように、マーカーM1の中心点Mの座標(a,b、c)に、マーカーM1の主たる平面の法線方向の単位ベクトルを加算することで、マーカーM1の中心点Mから、法線方向に単位ベクトル分だけ移動した点P1の座標(a+v,b+u,c+w)を算出する。
【0072】
次に、第1算出部114Aは、マーカーM1の中心点Mの座標(a,b,c)から、点P1の座標(a+v,b+u,c+w)までの3次元ベクトルの(x,z)成分を用いて、XZ平面における側壁SWの角度を算出する。すなわち、第1算出部114Aは、カメラ座標系のXZ平面における、マーカーM1の中心点M(x,z)=(a,c)から、点P1(x,z)=(a+v,c+w)までの2次元ベクトルを用いて、XZ平面における側壁SWの角度を算出する。同様に、第1算出部114Aは、マーカーM1の中心点(x,y,z)=(a,b,c)から、点P1(x,y,z)=(a+v,b+u,c+w)までの3次元ベクトルの(x,y)成分を用いて、XY平面における側壁SWの角度を算出する。すなわち、第1算出部114Aは、カメラ座標系のXY平面における、マーカーM1の中心点M(x,y)=(a,b)から、点P1(x,y)=(a+v,b+u)までの2次元ベクトルを用いて、XY平面における側壁SWの角度を算出する。
【0073】
具体的には、図15に示されるように、第1算出部114Aは、XZ平面において、マーカーM1の中心点(x,z)=(a,c)から、X軸方向に単位ベクトル分だけ移動した点Q1を設定する。点Q1のXZ平面における座標値は、(x,z)=(a+1,c)となる。マーカーM1から点Q1までのベクトルをα、マーカーM1から点Q1までのベクトルをβとする。また、側壁SWとベクトルαとがなす角度をθ,ベクトルαとベクトルβとがなす角度をθ’とする。ベクトルβは、マーカーM1の主たる平面に対する法線ベクトルであると共に、マーカーM1は側壁SW上に配置されているため、ベクトルβは、側壁SWに対する法線ベクトルとなる。したがって、θとθ’との合計値は、π/2となる。なお、説明の便宜上、図15において、側壁SWとベクトルβとがなす角度は、π/2にはなっていない。
【0074】
第1算出部114Aは、内積の公式に基づく以下の数式(5)を用いることで、θ’の値を算出する。
【数1】
【0075】
第1算出部114Aは、数式(5)を用いて算出したθ’をπ/2から減算することで、側壁SWのXZ平面における角度θを算出する。
【0076】
同様に、図16に示されるように、第1算出部114Aは、XY平面において、マーカーM1の中心点M(x,y)=(a,b)から、X軸方向に単位ベクトル分だけ移動した点R1を設定する。点R1のXY平面における座標値は、(x,y)=(a+1,b)となる。マーカーM1から点R1までのベクトルをα、マーカーM1から点R1までのベクトルをβとする。また、側壁SWとベクトルαとがなす角度をθ,ベクトルαとベクトルβとがなす角度をθ’とする。ベクトルβは、マーカーM1の主たる平面に対する法線ベクトルであると共に、マーカーM1は側壁SW上に配置されているため、ベクトルβは、側壁SWに対する法線ベクトルとなる。したがって、θとθ’との合計値は、π/2となる。なお、説明の便宜上、図16において、側壁SWとベクトルβとがなす角度は、π/2にはなっていない。
【0077】
第1算出部114Aは、内積の公式に基づく以下の数式(6)を用いることで、θ’の値を算出する。
【数2】
【0078】
第1算出部114Aは、数式(6)を用いて算出したθ’をπ/2から減算することで、側壁SWのXY平面における角度θを算出する。
【0079】
図17に示されるように、第1算出部114Aは、図11における点A1のカメラ座標系で表現される座標値を、θを用いて、(x,y,z)=(a+d・cosθ,b,c+d・sinθ)と算出する。
【0080】
また、図18に示されるように、第1算出部114Aは、図11における点B1のカメラ座標系で表現される座標値を、θを用いて、(x,y,z)=(a+d・cosθ+e・cosθ,b+e・sinθ,c+d・sinθ)と算出する。なお、以下では説明の便宜上、点B1の座標値(x,y,z)=(a+d・cosθ+e・cosθ,b+e・sinθ,c+d・sinθ)を、(x,y,z)=(a’,b’,c’)と記載する。
【0081】
第1算出部114Aは、最後に、点B1が側壁SWの面内に位置する点であるか否かについて判定する。図19に示されるように、第1算出部114は、点B1のカメラ座標系で表現される座標値(x,y,z)=(a’,b’,c’)を、撮像装置30の内部パラメータである2つの行列G及びHを用いた、以下の数式(7)によって、2次元画像DP上の座標値(x,y)=(ax,by)に変換する。
【数3】
【0082】
2次元画像DP上の座標値(x,y)=(ax,by)が検出部118によって検出された部分画像SG1に含まれる場合、第1算出部114Aは、点B1が側壁SWの面内に位置する点であると判定する。更に、第1算出部114Aは、点B1が側壁SWの面内に位置する点であると判定した場合、B1のカメラ座標系で表現される3次元座標値を用いて、点B1から撮像装置30までの絶対距離を、側壁SW上の1つの点から撮像装置30までの絶対距離として算出する。
【0083】
図9に示される変換部116は、第1実施形態と同様に、マーカーM1に対応する絶対距離とマーカーM2に対応する絶対距離とに基づいて、複数の相対距離を複数の絶対距離に変換する。上述したように第1算出部114Aは、マーカーM1の三次元座標に基づいて、マーカーM1が属する平面の1以上の点について、絶対座標を算出する。第1算出部114Aによって算出された絶対座標は、マーカーM1の三次元座標から幾何学的に算出された座標であるので、変換部116によって変換された絶対座標よりも精度が高い。
【0084】
生成部117Aは、側壁SWとしての平面上の1以上の点について、変換部116Aによって変換された絶対距離の代りに、第1算出部114Aによって算出された1以上の絶対距離を用いることによって、3次元モデルを生成する。生成部117Aは、一例として、現実空間RSにおける側壁SWについては、2次元画像DPにおける部分画像SG1の全ての画素に対応する絶対距離を用いることで、3次元モデルを生成してもよい。
【0085】
2-2:第2実施形態の動作
図20は、3次元モデル生成装置10Aの動作例を示すフローチャートである。
【0086】
ステップS11~S13は、図8におけるステップS1~S3と同一の動作であるため、その説明を省略する。
【0087】
ステップS14において、処理装置11Aは、検出部118として機能する。処理装置11Aは、2次元画像DPの中から、現実空間RSにおいて、マーカーM1が配置された平面に対応する部分画像SG1を検出する。
【0088】
ステップS15において、処理装置11Aは、第1算出部114Aとして機能する。処理装置11Aは、マーカー画像MP1の形状に基づいて、マーカーM1の姿勢を示す姿勢情報、及びカメラ座標系で表現されるマーカーM1の中心点Mの3次元座標を算出する。
【0089】
ステップS16は、図8におけるステップS4と同一の動作であるため、その説明を省略する。
【0090】
ステップS17において、処理装置11Aは、第1算出部114Aとして機能する。処理装置11Aは、マーカーM1の姿勢を示す姿勢情報、及びカメラ座標系で表現されるマーカーM1の中心点Mの3次元座標を用いて、マーカーM1が配置される平面上の1以上の点の絶対距離を算出する。
【0091】
ステップS18及びステップ19は、図8におけるステップS5及びステップS6と同一の動作であるため、その説明を省略する。
【0092】
ステップS20において、処理装置11Aは、生成部117Aとして機能する。処理装置11Aは、マーカーM1が配置される平面については、第1算出部114Aによって算出された1以上の絶対距離を用いることによって、3次元モデルを生成する。また、生成部117Aは、現実空間RSにおける、マーカーM1が配置される平面以外の要素については、第1実施形態に係る第1算出部114と同様の方法を用いて、3次元モデルを生成する。
【0093】
2-3:第2実施形態が奏する効果
以上の説明によれば、3次元モデル生成装置としての3次元モデル生成装置10Aは、検出部118を備える。検出部118は、2次元画像DPの中から現実空間RSの平面に対応する部分画像SG1を検出する。第1算出部114Aは、第1マーカー画像としてのマーカー画像MP1の形状に基づいて、第1マーカーとしてのマーカーM1の姿勢を示す姿勢情報及びマーカーM1の3次元座標を算出する。また、第1算出部114Aは、上記の平面にマーカーM1が配置される場合、マーカーM1の3次元座標及び姿勢情報に基づいて、部分画像SG1の1以上の画素に対応する上記の平面上の1以上の点から撮像装置30までの1以上の絶対距離を算出する。生成部117Aは、上記の平面上の1以上の点について、変換部116Aによって変換された絶対距離の代りに、第1算出部114Aによって算出された1以上の絶対距離を用いることによって、3次元モデルを生成する。
【0094】
3次元モデル生成装置10Aは、マーカーM1が配置される平面については、第1算出部114Aによって算出された絶対座標に基づいて、3次元モデルを生成する。第1算出部114Aによって算出された絶対座標は、変換部116によって変換された絶対座標よりも精度が高いので、相対座標から変換された絶対座標に基づいて3次元モデルを生成する場合と比較して、3次元モデルの精度が向上する。
【0095】
3:第3実施形態
本発明の第3実施形態に係る3次元モデル生成装置10Bを含む生成システム1について説明する。第3実施形態に係る生成システム1は、3次元モデル生成装置10の代りに3次元モデル生成装置10Bを備える点を除いて、第1実施形態に係る生成システム1と同様に構成される。以下では説明の簡略化のため、3次元モデル生成装置10Bに含まれる構成要素のうち、3次元モデル生成装置10及び3次元モデル生成装置10Aに含まれる構成要素と同一の構成要素については、同一の符号を適用し、その機能の説明を省略することがある。
【0096】
第1実施形態に係る3次元モデル生成装置10及び第2実施形態に係る3次元モデル生成装置10Aは、マーカーM1とマーカーM2とが配置された現実空間RSにおいて、マーカーM1から撮像装置30までの絶対距離とマーカーM2から撮像装置30までの絶対距離とを算出した。これに対して、第3実施形態に係る3次元モデル生成装置10Bは、現実空間RSに配置されたマーカーM1のみを用いて3次元モデルを生成する点で、2個のマーカーを必要とする3次元モデル生成装置10及び3次元モデル生成装置10Aと相違する。
【0097】
3-1:第3実施形態の構成
図21は、3次元モデル生成装置10Bの構成例を示すブロック図である。3次元モデル生成装置10Bは、3次元モデル生成装置10に比較して、処理装置11の代りに処理装置11Bを、記憶装置12の代りに記憶装置12Bを備える。
【0098】
記憶装置12Bは、記憶装置12に比較して、制御プログラムPR1の代りに制御プログラムPR1Bを記憶する。また、記憶装置12Bは、記憶装置12Aと同様に、第1学習済みモデルLM1に加えて、第2学習済みモデルLM2を記憶する。
【0099】
処理装置11Bは、制御プログラムPR1Bを記憶装置12Bから読み出す。処理装置11Bは、読み出した制御プログラムPR1Bを実行することによって、通信制御部111、深度情報推定部112、認識部113、検出部118、第1算出部114B、第2算出部115B、変換部116B、及び生成部117として機能する。すなわち、処理装置11Bは、処理装置11と同一の通信制御部111、深度情報推定部112、認識部113、及び生成部117を有する。また、処理装置11Bは、処理装置11に備わる第1算出部114の代りに第1算出部114Bを、第2算出部115の代りに第2算出部115Bを、変換部116の代りに変換部116Bを有する。更に、処理装置11Bは、これらの機能ブロックに加えて、第2実施形態と同様に、検出部118を有する。
【0100】
第1算出部114Bは、第2実施形態に係る第1算出部114Aと同様に、マーカー画像MP1の形状に基づいて、マーカーM1の姿勢を示す姿勢情報、及びカメラ座標系で表現されるマーカーM1の中心点Mの3次元座標を算出する。更に、第1算出部114Bは、マーカーM1から撮像装置30までの絶対距離を算出する。ただし、第1算出部114Bは、第1算出部114Aとは異なり、マーカーM1が配置される平面上の1以上の点の絶対距離の算出を、必須の機能とはしない。
【0101】
第2算出部115Bは、第1実施形態に係る第1算出部114Aと同様に、マーカーM1の3次元座標及び姿勢情報に基づいて、部分画像SG1の1つの画素に対応する側壁SWとしての平面上の点から、撮像装置30までの絶対距離を算出する。すなわち、第2算出部115Bは、図11における点B1を仮想的な第2マーカーとして、当該点B1から撮像装置30までの絶対距離を算出する。点B1から撮像装置30までの絶対距離は、第3実施形態における「第2絶対距離」の一例である。第2算出部115Bによって算出される点B1から撮像装置30までの絶対距離は、マーカーM1の三次元座標から幾何学的に算出された座標であるので、第1算出部114Bによって算出されるマーカーM1から撮像装置30までの絶対距離と同等の精度を有する。
【0102】
変換部116Bは、変換部116と同様に、マーカーM1から撮像装置30までの絶対距離と、点B1から撮像装置30までの絶対距離とに基づいて、2次元画像DPの複数の画素に一対一に対応する複数の相対距離を、複数の絶対距離に変換する。なお、第2算出部115Bは、マーカーM1が属する平面の2以上の点について、絶対距離を算出してもよい。この場合、絶対距離に対応するマーカーM1が属する平面の2以上の点は、物理的なマーカーを代替する仮想マーカーとして機能する。この仮想マーカーを用いることによって、パラメータa及びbをより正確に算出される。したがって、現実空間RSにおいて、複数のマーカーを配置する手間が削減される。ここで、複数の仮想マーカーをマーカーM1が属する平面に配置する場合、複数の仮想マーカーは当該平面に分散されて配置されることが好ましい。更に、複数の仮想マーカーは、等間隔で配置されることが好ましい。
【0103】
3-2:第3実施形態の動作
図22は、3次元モデル生成装置10Bの動作例を示すフローチャートである。
【0104】
ステップS21~S26は、図20におけるステップS11~S16と同一の動作であるため、その説明を省略する。
【0105】
ステップS27において、処理装置11Bは、第2算出部115Bとして機能する。処理装置11Bは、マーカーM1の3次元座標及び姿勢情報に基づいて、部分画像SG1の1つの画素に対応する平面上の点から撮像装置30までの絶対距離を算出する。
【0106】
ステップS28において、処理装置11Bは、変換部116Bとして機能する。処理装置11Bは、マーカーM1から撮像装置30までの絶対距離と、点B1から撮像装置30までの絶対距離とに基づいて、2次元画像DPの複数の画素に一対一に対応する複数の相対距離を、複数の絶対距離に変換する。
【0107】
ステップS29は、図8におけるステップS7と同一の動作であるため、その説明を省略する。
【0108】
3-3:第3実施形態が奏する効果
以上の説明によれば、3次元モデル生成装置としての3次元モデル生成装置10Bは、深度情報推定部112と、認識部113と、検出部118と、第1算出部114Bと、第2算出部115Bと、変換部116Bと、生成部117と、を備える。深度情報推定部112は、第1マーカーとしてのマーカーM1が配置された平面を含む現実空間RSを撮像装置30が撮像することによって得られた2次元画像DPに基づいて、2次元画像DPの複数の画素と一対一に対応する現実空間RS上の複数の点から撮像装置30までの各相対距離を示す深度情報を推定する。認識部113は、2次元画像DPに含まれる、第1マーカーとしてのマーカーM1を示す、第1マーカー画像としてのマーカー画像MP1を認識する。検出部118は、2次元画像DPの中から上記の平面に対応する部分画像SG1を検出する。第1算出部114Bは、マーカー画像MP1の形状に基づいて、マーカーM1から撮像装置30までの絶対距離を示す第1絶対距離、マーカーM1の3次元座標、及びマーカーM1の姿勢を示す姿勢情報を算出する。第2算出部115Bは、マーカーM1の3次元座標、及び上記の姿勢情報に基づいて、部分画像SG1の1つの画素に対応する平面上の点から撮像装置30までの絶対距離を示す第2絶対距離を算出する。変換部116Bは、第1絶対距離及び第2絶対距離に基づいて、上記の複数の画素に一対一に対応する複数の相対距離を複数の絶対距離に変換する。生成部117は、変換部116Bによって変換された複数の絶対距離と、2次元画像DPを示す画像情報と、に基づいて、現実空間RSを示す3次元モデルを生成する。
【0109】
第2算出部115Bによって算出される第2絶対距離は、マーカーM1の三次元座標から幾何学的に算出された座標であるので、第1算出部114Bによって算出される第1絶対距離と同等の精度を有する。このため、変換部116Bは、2個のマーカーを用いる場合と、同等の精度で複数の相対距離を複数の絶対距離に変換できる。よって、3次元モデル生成装置10Bは、1つのマーカーM1を現実空間RSに配置するだけで、3次元モデルを生成できる。
【0110】
4:第4実施形態
本発明の第4実施形態に係る3次元モデル生成装置10Cを含む生成システム1について説明する。第4実施形態に係る生成システム1は、3次元モデル生成装置10Bの代りに3次元モデル生成装置10Cを備える点を除いて、第3実施形態に係る生成システム1と同様に構成される。以下では説明の簡略化のため、3次元モデル生成装置10Cに含まれる構成要素のうち、3次元モデル生成装置10、3次元モデル生成装置10A及び3次元モデル生成装置10Bに含まれる構成要素と同一の構成要素については、同一の符号を適用し、その機能の説明を省略することがある。
【0111】
第3実施形態に係る3次元モデル生成装置10Bは、第1算出部114Bが算出した第1絶対距離と、第2算出部115Bが算出した第2絶対距離とに基づいて、複数の相対距離を複数の絶対距離に変換し、変換された複数の絶対距離を用いて3次元モデルを生成した。これに対して、第4実施形態の3次元モデル生成装置10Cは、現実空間RSに配置されたマーカーM1が配置された平面を検出し、検出された平面に属する1以上の点について、絶対距離を算出する。3次元モデル生成装置10Cは、3次元モデルの生成において、算出された絶対距離及び相対距離から変換された絶対距離が、現実空間RSの同一の点から撮像装置30までの距離である場合、算出された絶対距離を用いることによって、3次元モデルを生成する点で、第3実施形態に係る3次元モデル生成装置10Bと相違する。
【0112】
4-1:第4実施形態の構成
図24は、3次元モデル生成装置10Cの構成例を示すブロック図である。3次元モデル生成装置10Cは、3次元モデル生成装置10に比較して、処理装置11の代りに処理装置11Cを、記憶装置12の代りに記憶装置12Cを備える。
【0113】
記憶装置12Cは、記憶装置12に比較して、制御プログラムPR1の代りに制御プログラムPR1Cを記憶する。また、記憶装置12Cは、記憶装置12Aと同様に、第1学習済みモデルLM1に加えて、第2学習済みモデルLM2を記憶する。
【0114】
処理装置11Cは、制御プログラムPR1Cを記憶装置12Cから読み出して、読み出した制御プログラムPR1Bを実行することによって、通信制御部111、深度情報推定部112、認識部113、検出部118、第1算出部114B、第2算出部115C、変換部116C、及び生成部117Cとして機能する。すなわち、処理装置11Cは、その機能ブロックとして、処理装置11と同一の通信制御部111、深度情報推定部112、認識部113、及び生成部117を有する。また、処理装置11Cは、処理装置11に備わる第1算出部114の代りに、第3実施形態と同様の第1算出部114Bを、第2算出部115の代りに第2算出部115Cを、変換部116の代りに変換部116Cを、生成部117の代りに生成部117Cを有する。更に、処理装置11Cは、これらの機に加えて、第2実施形態と同様に、検出部118を有する。
【0115】
第2算出部115Cは、第2実施形態の第1算出部114Aと同様に、マーカーM1の3次元座標及び姿勢情報に基づいて、マーカーM1が配置される平面上の1以上の点から撮像装置30までの1以上の絶対距離を算出する。第2算出部115Cは、マーカー画像MP1が含まれる部分画像SG1(図10参照)を構成する全ての画素について絶対距離を算出してもよい。
【0116】
変換部116Cは、側壁SWとしての平面上の1以上の点から撮像装置30までの1以上の絶対距離のうち、少なくとも1つの絶対距離と、マーカーM1から撮像装置30までの絶対距離と、に基づいて、2次元画像DPの複数の画素に一対一に対応する複数の相対距離を、複数の絶対距離に変換する。側壁SWとしての平面上の1以上の点から撮像装置30までの1以上の絶対距離のうち少なくとも1つの絶対距離は、点B1から撮像装置30までの絶対距離であってもよい。
【0117】
生成部117Cは、第2算出部115Cによって算出された絶対距離、及び変換部116Cによって変換された複数の絶対距離のうち第2算出部115Cによって算出された絶対距離を除いた絶対距離と、2次元画像DPを示す画像情報とに基づいて、現実空間RSを示す3次元モデルを生成する。生成部117Cは、一例として、現実空間RSにおける側壁SWについては、2次元画像DPにおける部分画像SG1の全ての画素に対応する絶対距離を用いることで、3次元モデルを生成してもよい。
【0118】
4-2:第4実施形態の動作
図24は、3次元モデル生成装置10Cの動作例を示すフローチャートである。
【0119】
ステップS31~S36は、図22におけるステップS21~S26と同一の動作であるため、その説明を省略する。
【0120】
ステップS37において、処理装置11Cは、第2算出部115Cとして機能する。処理装置11Cは、マーカーM1の3次元座標及び姿勢情報に基づいて、部分画像SG1の1以上の画素に対応する平面上の1以上の点から、撮像装置30までの1以上の絶対距離を算出する。
【0121】
ステップS38において、処理装置11Bは、変換部116Cとして機能する。処理装置11Cは、ステップS37において算出された1以上の絶対距離のうち少なくとも1つの絶対距離、及び第1絶対距離に基づいて、複数の画素に一対一に対応する複数の相対距離を複数の絶対距離に変換する。
【0122】
ステップS39において、処理装置11Bは、生成部117Cとして機能する。処理装置11Cは、ステップS37において算出された絶対距離、及びステップS38において変換された複数の絶対距離のうちステップS37において算出された絶対距離を除いた絶対距離と、2次元画像DPを示す画像情報とに基づいて、現実空間RSを示す3次元モデルを生成する。
【0123】
4-3:第4実施形態が奏する効果
以上の説明によれば、3次元モデル生成装置としての3次元モデル生成装置10Cは、深度情報推定部112と、認識部113と、検出部118と、第1算出部114Bと、第2算出部115Cと、変換部116Cと、生成部117Cと、を備える。深度情報推定部112は、第1マーカーとしてのマーカーM1が配置された平面を含む現実空間RSを撮像装置30が撮像することによって得られた2次元画像DPに基づいて、2次元画像DPの複数の画素と一対一に対応する現実空間RS上の複数の点から撮像装置30までの各相対距離を示す深度情報を推定する。認識部113は、2次元画像DPに含まれる、第1マーカーとしてのマーカーM1を示す、第1マーカー画像としてのマーカー画像MP1を認識する。検出部118は、2次元画像DPの中から上記の平面に対応する部分画像SG1を検出する。第1算出部114Bは、マーカー画像MP1の形状に基づいて、マーカーM1から撮像装置30までの絶対距離を示す第1絶対距離、マーカーM1の3次元座標、及びマーカーM1の姿勢を示す姿勢情報を算出する。第2算出部115Cは、マーカーM1の3次元座標及び上記の姿勢情報に基づいて、部分画像SG1の1以上の画素に対応する平面上の1以上の点から撮像装置30までの1以上の絶対距離を算出する。変換部116Cは、上記の1以上の絶対距離のうち少なくとも1つの絶対距離、及び第1絶対距離に基づいて、上記の複数の画素に一対一に対応する複数の相対距離を複数の絶対距離に変換する。生成部117Cは、第2算出部115Cによって算出された絶対距離、及び上記の複数の絶対距離のうち第2算出部115Cによって算出された絶対距離を除いた絶対距離と、2次元画像DPを示す画像情報とに基づいて、現実空間RSを示す3次元モデルを生成する。
【0124】
第2算出部115Cによって算出される1以上の絶対距離は、マーカーM1の三次元座標から幾何学的に算出された座標であるので、第1算出部114Bによって算出される第1絶対距離と同等の精度を有する。このため、変換部116Cは、2個のマーカーを用いる場合と、同等の精度で複数の相対距離を複数の絶対距離に変換できる。よって、3次元モデル生成装置10Bは、1つのマーカーM1を現実空間RSに配置するだけで、3次元モデルを生成できる。
【0125】
3次元モデル生成装置10Cは、マーカーM1が配置される平面については、第2算出部115Cによって算出された絶対座標に基づいて、3次元モデルを生成する。第2算出部115Cによって算出された絶対座標は、変換部116Cによって変換された絶対座標よりも精度が高いので、相対座標から変換された絶対座標に基づいて3次元モデルを生成する場合と比較して、3次元モデルの精度が向上する。
【0126】
5:第5実施形態
本発明の第5実施形態に係る3次元モデル生成装置10Dを含む生成システム1について説明する。第5実施形態に係る生成システム1は、3次元モデル生成装置10Cの代りに3次元モデル生成装置10Dを備える点を除いて、第4実施形態に係る生成システム1と同様に構成される。以下では説明の簡略化のため、3次元モデル生成装置10Dに含まれる構成要素のうち、3次元モデル生成装置10、3次元モデル生成装置10A、3次元モデル生成装置10B及び3次元モデル生成装置10Cに含まれる構成要素と同一の構成要素については、同一の符号を適用し、その機能の説明を省略することがある。
【0127】
第2実施形態、第3実施形態、及び第4実施形態に係る3次元モデル生成装置10A、10B、及び10Cは、現実空間RSに配置されたマーカーM1が配置された平面に属する1以上の点について、マーカーM1の3次元座標を用いて、絶対距離を算出した。しかし、絶対距離を間接的に算出できるのは、マーカーM1が配置された平面に限られていた。これに対して、第5実施形態の3次元モデル生成装置10Dは、マーカーM1が配置された平面とは異なる他の平面に属する点について、マーカーM1の3次元座標を用いて、他の平面に属する点から撮像装置30までの絶対距離を算出する点で、
3次元モデル生成装置10A、10B、及び10Cと相違する。
【0128】
5-1:第5実施形態の構成
図25は、3次元モデル生成装置10Dの構成例を示すブロック図である。3次元モデル生成装置10Dは、3次元モデル生成装置10に比較して、処理装置11の代りに処理装置11Dを、記憶装置12の代りに記憶装置12Dを備える。
【0129】
記憶装置12Dは、記憶装置12に比較して、制御プログラムPR1の代りに制御プログラムPR1Dを記憶する。また、記憶装置12Dは、記憶装置12Aと同様に、第1学習済みモデルLM1に加えて、第2学習済みモデルLM2を記憶する。
【0130】
処理装置11Dは、制御プログラムPR1Dを記憶装置12Dから読み出す。処理装置11Dは、読み出された制御プログラムPR1Dを実行することによって、通信制御部111、深度情報推定部112、認識部113、検出部118、第1算出部114B、第2算出部115C、変換部116C、及び生成部117Cとして機能する。すなわち、処理装置11Cは、処理装置11と同一の通信制御部111、深度情報推定部112、及び認識部113を有する。また、処理装置11Dは、処理装置11に備わる第1算出部114の代りに、第3実施形態と同様の第1算出部114Bを、第2算出部115の代りに第2算出部115Dを、変換部116の代りに変換部116Dを、生成部117の代りに、第4実施形態と同様の生成部117Cを有する。また、処理装置11Dは、処理装置11Aに備わる検出部118の代りに検出部118Dを有する。更に、処理装置11Dは、取得部119を有する。
【0131】
取得部119は、マーカーM1が配置される平面と、他の平面とがなす角度を取得する。取得部119は、例えば3次元モデル生成装置10Dのユーザが、入力装置13を用いて入力した情報に基づいて、当該角度を取得する。なお、現実空間RSにおいては、隣接する2つの壁及び隣接する床と壁は、直交することが一般的である。また、対向する2つの壁及び対向する床と天井は、平行であることが一般的である。このため、隣接する平面の角度として90度が規定値として設定されてもよい。あるいは、予め形状が既知である構造物のである場合には、記憶装置12Dが規定値を記憶し、取得部119が記憶装置12Dから規定値を読み出してもよい。
【0132】
図26は、取得部119が取得する、マーカーM1が配置される平面と、他の平面がなす角度の例を示す図である。図26に示される例において、取得部119は、マーカーM1が配置される平面である側壁SWと、他の平面である対向壁FWとがなす角度θを取得する。
【0133】
図25に示される第2算出部115Dは、マーカーM1が配置される平面と他の平面とがなす角度、マーカーM1の3次元座標、及び姿勢情報に基づいて、他の部分画像の1以上の画素に対応する他の平面上の1以上の点から撮像装置30までの1以上の絶対距離を算出する。他の部分画像は、2次元画像DP中の対向壁FWに対応する画像である。
【0134】
具体的には、第2算出部115Dは、図11図19に示される第2実施形態に係る方法と同様の方法を用いることで、マーカーM1が配置される側壁SW上の任意の点の3次元座標を算出できる。ここでは、第2算出部115Dは、当該任意の点として、側壁SWと対向壁FWとが交わる直線上の点B1の3次元座標を算出する。第2算出部115Dは、マーカーM1の姿勢情報と、取得部119によって取得された角度θを用いることで、対向壁FWの平面をカメラ座標系において特定する。
【0135】
ここで、点B1を含みカメラ座標系のXZ平面と並行な平面を第3平面とする。第2算出部115Dは、第2実施形態において、マーカーM1の3次元座標から点B1の3次元座標を算出したのと同様の方法を用いることで、対向壁FWと第3平面とが交わる直線上において、点B1から距離fだけ移動した点C1の3次元座標を算出する。次に、点C1を含みカメラ座標系のYZ平面と並行な平面を第4平面とする。第2算出部115Dは、対向壁FWと第4平面とが交わる直線上において、点C1から距離gだけ移動した点D1の3次元座標を算出する。点D1の3次元座標はカメラ座標系で表現される。最後に、第2算出部115Dは、点D1の3次元座標を用いることで、点D1から撮像装置30までの絶対距離を算出する。ここで、第2算出部115Dは、点D1を、対向壁FW上の任意の点とすることができる。
【0136】
図25に示される変換部116Dは、マーカーM1が配置される平面に関する1以上の絶対距離、及び他の平面に関する1以上の絶対距離のうち少なくとも1つの絶対距離と、第1算出部114Bによって算出されるマーカーM1の第1絶対距離とに基づいて、2次元画像DPの複数の画素に一対一に対応する複数の相対距離を、複数の絶対距離に変換する。図26に示される例において、変換部116Dは、側壁SW内の1点以上の点の絶対距離、及び対向壁FW内の1点以上の点の絶対距離のうち少なくとも1つの絶対距離と、マーカーM1の第1絶対距離とに基づいて、複数の相対距離を複数の絶対距離に変換する。
【0137】
ここで、図26に示されるように、現実空間RSは物体OB1を含むものとする。また物体OB1と対向壁FWとの距離doは、閾値以下であるとする。閾値は、生成された3次元モデルにおいてd0=0とみなせる程度に設定することが好ましい。なお、物体OB1と対向壁FWとの距離doが閾値以下にある場合だけではなく、物体OB1と側壁SWとの距離が閾値以下にある場合も同様である。更に、対向壁FWにおいて、物体OB1と最も近い点である基準点Q1は、第2算出部115Dによって絶対距離が算出された1以上の点に含まれるものとする。換言すれば、第2算出部115Dは、絶対距離の算出対象に基準点Q1が含まれるように他の平面の1以上の点を設定する。上述したように、第2算出部115Dは、他の平面の1以上の点について絶対距離を算出する場合、他の平面の1以上の点の三次元座標を算出する。したがって、第2算出部115Dは、基準点Q1の三次元座標を算出する。
【0138】
検出部118Dは、2次元画像DPに基づいて、物体OB1に対応する物体画像OP1を検出する。
【0139】
第2算出部115Dは、第4実施形態に係る第2算出部115Cと同様に、マーカーM1の3次元座標及び姿勢情報に基づいて、部分画像SG1の1以上の画素に対応する平面上の1以上の点から撮像装置30までの1以上の絶対距離を算出する。
【0140】
5-2:第5実施形態の動作
図27は、3次元モデル生成装置10Dの動作例を示すフローチャートである。
【0141】
ステップS41~S46は、図24におけるステップS31~S36と同一の動作であるため、その説明を省略する。
【0142】
ステップS47において、処理装置11Dは、取得部119として機能する。処理装置11Dは、マーカーM1が配置される平面と、他の平面とがなす角度を取得する。
【0143】
ステップS48において、処理装置11Dは、第2算出部115Dとして機能する。処理装置11Dは、マーカーM1の3次元座標及び姿勢情報に基づいて、部分画像SG1の1以上の画素に対応する平面上の1以上の点から撮像装置30までの1以上の絶対距離を算出する。また、処理装置11Dは、マーカーM1が配置される平面と他の平面とがなす角度、マーカーM1の3次元座標、及び上記の姿勢情報に基づいて、他の部分画像の1以上の画素に対応する他の平面上の1以上の点から撮像装置30までの1以上の絶対距離を算出する。
【0144】
ステップS49において、処理装置11Dは、変換部116Dとして機能する。処理装置11Dは、マーカーM1が配置される平面に関する1以上の絶対距離、及び他の平面に関する1以上の絶対距離のうち少なくとも1つの絶対距離と、ステップS46において算出されるマーカーM1の第1絶対距離とに基づいて、2次元画像DPの複数の画素に一対一に対応する複数の相対距離を、複数の絶対距離に変換する。
【0145】
ステップS50は、図24におけるステップS39と同一の動作であるため、その説明を省略する。
【0146】
5-3:第5実施形態が奏する効果
生成システム1において、現実空間RSは、マーカーM1が配置される平面と、マーカーM1が配置されていない他の平面を含む。検出部118Dは、2次元画像DPの中から他の平面に対応する他の部分画像を検出する。第2算出部115Dは、マーカーM1が配置されている平面と、他の平面とがなす角度、マーカーM1の3次元座標及び姿勢情報に基づいて、他の部分画像の1以上の画素に対応する他の平面上の1以上の点から撮像装置30までの1以上の絶対距離を、更に算出する。変換部116Dは、マーカーM1が配置される平面に関する1以上の絶対距離、及び他の平面に関する1以上の絶対距離のうち少なくとも1つの絶対距離と、第1絶対距離とに基づいて、複数の画素に一対一に対応する複数の相対距離を複数の絶対距離に変換する。
【0147】
3次元モデル生成装置10Dは、マーカーM1が配置されていない他の平面に属する任意の点から撮像装置30までの絶対距離を算出する。変換部116Dは、他の平面に関する1以上の絶対距離を考慮して、複数の相対距離を複数の絶対距離に変換するこことで、3次元モデルの精度を向上できる。
【0148】
また、生成システム1Dにおいて、現実空間RSは、物体OB1を含む。物体OB1と平面との距離、又は物体OB1と他の平面との距離は、閾値以下である。平面上の点及び他の平面上の点のうち、物体OB1と最も近い点である基準点Q1は、平面上の1以上の点又は他の平面上の1以上の点に含まれる。検出部118Dは、2次元画像DPに基づいて、物体OB1に対応する物体画像OP1を検出する。第2算出部115Dは、基準点Q1の三次元座標を算出する。
【0149】
3次元モデル生成装置10Dは、基準点Q1の3次元座標を算出するので、物体OB1が位置する3次元座標を知ることができる。例えば、物体OB1が人物であり、当該人物の足が床面FLに接している場合、床面FLに位置する基準点Q1の三次元座標を知ることができる。
【0150】
6:変形例
本開示は、以上に例示した実施形態に限定されない。具体的な変形の態様を以下に例示する。以下の例示から任意に選択された2以上の態様を併合してもよい。
【0151】
6-1:変形例1
上記のように第2実施形態に係る3次元モデル生成装置10Aにおいて、検出部118は、2次元画像DPの中から、現実空間RSにおいて、マーカーM1が配置された平面に対応する部分画像SG1を検出する。上記の例において、検出部118は、2次元画像DPの中から、現実空間RSにおいて、側壁SWに対応する部分画像SG1を検出する。
【0152】
しかし、検出部118による部分画像SG1の検出が困難である場合、3次元モデル生成装置10のユーザは、ディスプレイ15に表示される2次元画像DP上において、側壁SW内の任意の点をクリックし、第1算出部114Aは、当該任意の点の2次元座標に基づいて、点B1のカメラ座標系で表現される3次元座標を算出してもよい。
【0153】
図28は、変形例1に係る点Bの3次元座標の算出方法を示す図である。第1算出部114Aは、2次元画像DPにおいて、ユーザがクリックした点B1’の2次元座標(x,y)=(cx,xy)を取得する。
【0154】
しかし、第1算出部114Aは、点B1’の2次元座標に、撮像装置30の内部パラメータである2つの行列G及びHを適用しても、深度が不明なため、点B1の3次元座標は一意には特定されない。
【0155】
そこで、第1算出部114Aは、マーカーM1の姿勢情報を用いることで、点B1’の2次元座標に行列G及びHを適用することによって算出されるベクトルγと、側壁SWとの交点として、点B1の3次元座標(x,y,z)=(ca,cb,cc)を算出する。
【0156】
6-2:変形例2
上述した各実施形態において、マーカーはARマーカーを例示したが、本開示はこれに限定されない。マーカーは現実空間に配置される他の物体と識別される特定の物体であればよい。特定の物体は、例えば、壁に配置されるポスター又は時計、若しくは避難路を示す非常灯であってもよい。これらの特定の物体は、認識部113によって認識される。
【0157】
6-3:変形例3
上述した各実施形態及び変形例では、何らかのマーカーを必要としたが、本開示はこれに限定されない。図29に示される変形例3に係る第2実施形態に係る3次元モデル生成装置10Eは、現実空間にマーカーを配置しなくても3次元モデルを生成できる。
【0158】
現実空間に配置される撮像装置30の3次元座標及び撮像装置30の光軸の向きが既知であり、且つ、撮像装置30によって撮像された2次元画像DPに写っている物体の位置が既知である場合がある。コンビニエンスストア、公共施設、又はオフィス等の施設では、設計時の3次元のレイアウトデータが存在することがある。例えば、図30において対向壁FWと側壁SWとの境界に位置するソファの第1特徴点P1の位置、及び対向壁FWと床面FLとの境界に位置する第2特徴点P2の位置が既知である場合を想定する。第1特徴点P1の位置、及び第2特徴点P2の位置は、現実空間の3次元座標で表現される。
【0159】
2次元画像DP上の第1点P11は第1特徴点P1に対応する。2次元画像DP上の第2点P22は第2特徴点P2に対応する。ここで、特徴点P1から撮像装置30までの第1絶対距離L1と特徴点P2から撮像装置30までの第2絶対距離L2は既知である。
【0160】
3次元モデル生成装置10Eは、第1絶対距離及び第2絶対距離が既知であることを前提とする。図29に示される3次元モデル生成装置10Eは、図2に示される第1実施形態の3次元モデル生成装置10と比較して、処理装置11の代りに処理装置11Eを、記憶装置12の代りに記憶装置12Eを備える。
【0161】
記憶装置12Eは、記憶装置12に比較して、制御プログラムPR1の代りに制御プログラムPR1Eを記憶する。処理装置11Eは、制御プログラムPR1Eを記憶装置12Eから読み出す。処理装置11Eは、読み出された制御プログラムPR1Eを実行することによって、通信制御部111、深度情報推定部112、受付部113E、取得部114E、変換部116、及び生成部117として機能する。すなわち、処理装置11Eは、処理装置11と同一の通信制御部111、深度情報推定部112、変換部116及び生成部117を有する。
【0162】
ディスプレイ15に図30に示される2次元画像DPが表示されている場合を想定する。ユーザがディスプレイ15に表示される2次元画像DPにおいてユーザが第1点P11を指又はタッチペンでタッチすると、入力装置13から出力される出力信号に基づいて、受付部113Eは、第1点P11の位置を示す第1位置を受け付ける。同様に、受付部113Eは、ユーザがディスプレイ15に表示される2次元画像DPにおいてユーザが第2点P22を指又はタッチペンでタッチすると、入力装置13から出力される出力信号に基づいて、第2点P22の位置を示す第2位置を受け付ける。第1点P11の位置及び第2点P22の位置は、2次元画像DPにおける2次元座標で与えられる。さらに、ユーザが入力装置13を用いて、第1絶対距離及び第2絶対距離を入力すると、取得部114Eは、第1絶対距離及び第2絶対距離を取得する。
変換部116は、第1位置及び第1絶対距離、並びに第2位置及び第2絶対距離に基づいて、2次元画像DPの複数の画素に一対一に対応する複数の相対距離を複数の絶対距離に変換する。具体的には、変換部116は、第1位置に対応する相対距離と第1絶対距離の組、及び第2位置に対応する相対距離と第1絶対距離の組に基づいて、数式(1)のパラメータa及びパラメータbを算出する。変換部116は、パラメータa及びパラメータbを用いて、複数の相対距離を複数の絶対距離に変換する。
【0163】
6-4:変形例4
第2実施形態に係る3次元モデル生成装置10Aでは、検出部118が、第2学習済みモデルLM2を用いて、2次元画像DPにおいて、現実空間RSに含まれる複数の平面と一対一に対応する複数の部分画像を検出していた。しかし、検出部118は、他の方法を用いて、複数の部分画像を検出してもよい。
【0164】
例えば、検出部118は、1つのマーカーM1の絶対距離及び姿勢情報に基づいて、マーカーM1が配置された平面に対応する部分画像を検出してもよい。
【0165】
あるいは、マーカーM1及びM2に加えて、第3のマーカーM3が1つの平面に配置される場合、検出部118は、マーカーM1の絶対距離、マーカーM2の絶対距離、及びマーカーM3の絶対距離に基づいて、マーカーM1~M3が配置される平面に対応する部分画像を検出してもよい。より詳細には、この場合、認識部113は、2次元画像DPに含まれるマーカー画像MP3を認識する。また、図9には図示されない第3算出部120が、マーカー画像MP3の形状に基づいて、マーカーM3から撮像装置30までの絶対距離を算出する。検出部118は、マーカーM1の絶対距離、及びマーカーM2の絶対距離に加えて、第3算出部120によって算出されたマーカーM3の絶対距離に基づいて、マーカーM1~M3が配置された平面に対応する部分画像を検出してもよい。
【0166】
7:その他
(1)上述した実施形態では、記憶装置12~12Dは、ROM及びRAMなどを例示したが、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリデバイス(例えば、カード、スティック、キードライブ)、CD-ROM(Compact Disc-ROM)、レジスタ、リムーバブルディスク、ハードディスク、フロッピー(登録商標)ディスク、磁気ストリップ、データベース、サーバその他の適切な記憶媒体である。また、プログラムは、電気通信回線を介してネットワークから送信されてもよい。また、プログラムは、電気通信回線を介して通信網NETから送信されてもよい。
【0167】
(2)上述した実施形態において、説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
【0168】
(3)上述した実施形態において、入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルを用いて管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
【0169】
(4)上述した実施形態において、判定は、1ビットを用いて表される値(0か1か)によって行われてもよいし、真偽値(Boolean:true又はfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
【0170】
(5)上述した実施形態において例示した処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本開示において説明した方法については、例示的な順序を用いて様々なステップの要素を提示しており、提示した特定の順序に限定されない。
【0171】
(6)図2図9図21図23図25、及び図29に例示された各機能は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した1つの装置を用いて実現されてもよいし、物理的又は論理的に分離した2つ以上の装置を直接的又は間接的に(例えば、有線、無線などを用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
【0172】
(7)上述した実施形態において例示したプログラムは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称を用いて呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
【0173】
また、ソフトウェア、命令、情報などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術(同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL:Digital Subscriber Line)など)及び無線技術(赤外線、マイクロ波など)の少なくとも一方を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び無線技術の少なくとも一方は、伝送媒体の定義内に含まれる。
【0174】
(8)前述の各形態において、「システム」及び「ネットワーク」という用語は、互換的に使用される。
【0175】
(9)本開示において説明した情報、パラメータなどは、絶対値を用いて表されてもよいし、所定の値からの相対値を用いて表されてもよいし、対応する別の情報を用いて表されてもよい。
【0176】
(10)上述した実施形態において、「接続された(connected)」、「結合された(coupled)」という用語、又はこれらのあらゆる変形は、2又はそれ以上の要素間の直接的又は間接的なあらゆる接続又は結合を意味し、互いに「接続」又は「結合」された2つの要素間に1又はそれ以上の中間要素が存在することを含むことができる。要素間の結合又は接続は、物理的な結合又は接続であっても、論理的な結合又は接続であっても、或いはこれらの組み合わせであってもよい。例えば、「接続」は「アクセス」を用いて読み替えられてもよい。本開示において使用する場合、2つの要素は、1又はそれ以上の電線、ケーブル及びプリント電気接続の少なくとも一つを用いて、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域及び光(可視及び不可視の両方)領域の波長を有する電磁エネルギーなどを用いて、互いに「接続」又は「結合」されると考えることができる。
【0177】
(11)上述した実施形態において、「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
【0178】
(12)本開示において使用される「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定(judging)、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up、search、inquiry)(例えば、テーブル、データベース又は別のデータ構造での探索)、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。また、「判断(決定)」は、「想定する(assuming)」、「期待する(expecting)」、「みなす(considering)」などで読み替えられてもよい。
【0179】
(13)上述した実施形態において、「含む(include)」、「含んでいる(including)」及びそれらの変形が使用されている場合、これらの用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。更に、本開示において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。
【0180】
(14)本開示において、例えば、英語でのa, an及びtheのように、翻訳により冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。
【0181】
(15)本開示において、「AとBが異なる」という用語は、「AとBが互いに異なる」ことを意味してもよい。なお、当該用語は、「AとBがそれぞれCと異なる」ことを意味してもよい。「離れる」、「結合される」等の用語も、「異なる」と同様に解釈されてもよい。
【0182】
(16)本開示において説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行う通知に限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
【0183】
以上、本開示について詳細に説明したが、当業者にとっては、本開示が本開示中に説明した実施形態に限定されないということは明らかである。本開示は、請求の範囲の記載により定まる本開示の趣旨及び範囲を逸脱することなく修正及び変更態様として実施できる。したがって、本開示の記載は、例示説明を目的とし、本開示に対して何ら制限的な意味を有さない。
【符号の説明】
【0184】
1…生成システム、10~10D…3次元モデル生成装置、11~11E…処理装置、12~12E…記憶装置、13…入力装置、14…通信装置、15…ディスプレイ、30…撮像装置、111…通信制御部、112…深度情報推定部、113…認識部、114~114B…第1算出部、113E…受付部、114E…取得部、115,115B,115C,115D…第2算出部、116~116D…変換部、117,117A,117C…生成部、118,118D…検出部、119…取得部、LM1,LM2…学習済みモデル、M1~M4…マーカー、MP1,MP2…マーカー画像、OB1…物体、OP1…物体画像、PR1~PR1E…制御プログラム、SG1…部分画像
図1
図2
図3A
図3B
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30