(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-21
(45)【発行日】2023-08-29
(54)【発明の名称】三次元形状モデル生成装置、三次元形状モデル生成方法、及びプログラム
(51)【国際特許分類】
G06T 7/593 20170101AFI20230822BHJP
G01B 11/22 20060101ALI20230822BHJP
G06T 7/00 20170101ALI20230822BHJP
【FI】
G06T7/593
G01B11/22 H
G06T7/00 350B
(21)【出願番号】P 2019131259
(22)【出願日】2019-07-16
【審査請求日】2022-06-27
(73)【特許権者】
【識別番号】000003193
【氏名又は名称】凸版印刷株式会社
(74)【代理人】
【識別番号】100149548
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100139686
【氏名又は名称】鈴木 史朗
(74)【代理人】
【識別番号】100169764
【氏名又は名称】清水 雄一郎
(74)【代理人】
【識別番号】100147267
【氏名又は名称】大槻 真紀子
(72)【発明者】
【氏名】渡邉 隆史
(72)【発明者】
【氏名】酒井 修二
【審査官】佐田 宏史
(56)【参考文献】
【文献】特開2018-057532(JP,A)
【文献】国際公開第2011/058876(WO,A1)
【文献】特開2016-201788(JP,A)
【文献】国際公開第2015/166675(WO,A1)
【文献】大原 知之、外4名,“合焦法遠距離計測のためのスクリーン投影型画像観測系の提案”,電子情報通信学会論文誌,日本,社団法人電子情報通信学会,1999年10月25日,Vol.J82-D-II, No.10,pp.1750-1757
【文献】運天 弘樹、外4名,“デジタルカメラで撮影した画像から全自動で三次元形状モデルを生成できる画像処理技術”,画像ラボ,日本,日本工業出版株式会社,2015年06月10日,Vol.26, No.6,pp.35-40
【文献】Kede Ma et al.,"Deep Blur Mapping: Exploiting High-Level Semantics by Deep Neural Networks",IEEE Transactions on Image Processing,米国,IEEE,2018年06月15日,Vol.27, No.10,pp.5155-5166
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00,7/00-7/90
G06V 10/00-10/98
G01B 11/00-11/30
(57)【特許請求の範囲】
【請求項1】
対象物を、互いに異なる視点から撮像した複数の多視点画像から、前記対象物の三次元形状モデルを生成する三次元形状生成部と、
前記多視点画像の各画像におけるピントが合った領域を検出するピント領域検出部と、
前記多視点画像の各画像におけるピントが合っている領域の画素について、前記三次元形状モデルを二次元平面に投影させた投影画像と、前記投影画像における視点位置との、仮想的な距離である仮想距離を算出する距離算出部と、
前記仮想距離に対する、前記投影画像と、前記投影画像における視点位置までの実際の現実距離、の比を示すスケール値を推定するスケール推定部と、
前記スケール値を用いて、前記仮想距離を、前記現実距離に変換するスケール変換部と、
を備え
、
前記ピント領域検出部は、入力と出力とが対応づけられた学習用データセットを用いて機械学習を行うことにより生成された学習済みモデルを用いて、前記多視点画像の各画像におけるピントの合った領域を検出し、
前記学習用データセットの入力は、学習用の入力画像であり、
前記学習用データセットの出力は、前記入力画像におけるピントの合った領域を示す情報である、
三次元形状モデル生成装置。
【請求項2】
前記学習用データセットの入力は、多視点画像の各画像であり、
前記学習用データセットの出力は、実際の寸法が既知であるマーカの三次元形状モデルを、前記マーカの実際の寸法に基づいてスケール補正した、補正済み三次元形状モデルを二次元平面に投影させた、補正済みの投影画像における画素ごとのデプス値に基づいて判定した、前記補正済みの投影画像におけるピントの合った領域を示す情報である、
請求項
1に記載の三次元形状モデル生成装置。
【請求項3】
対象物を、互いに異なる視点から撮像した複数の多視点画像から、前記対象物の三次元形状モデルを生成する三次元形状生成部と、
前記多視点画像の各画像におけるピントが合った領域を検出するピント領域検出部と、
前記多視点画像の各画像におけるピントが合っている領域の画素について、前記三次元形状モデルを二次元平面に投影させた投影画像と、前記投影画像における視点位置との、仮想的な距離である仮想距離を算出する距離算出部と、
前記仮想距離に対する、前記投影画像と、前記投影画像における視点位置までの実際の現実距離、の比を示すスケール値を推定するスケール推定部と、
前記スケール値を用いて、前記仮想距離を、前記現実距離に変換するスケール変換部と、
を備え
、
前記距離算出部は、前記ピント領域検出部によりピントが合っていると判定された画素がエッジであるか否かの判定結果、及び前記ピント領域検出部によりピントが合っていると判定された画素に対応する対応画素であって、前記三次元形状モデルを二次元平面に投影させた投影画像の前記対応画素がエッジであるか否かの判定結果うち、少なくとも何れか一方の判定結果に基づき、前記投影画像の前記対応画素における前記仮想距離を、前記投影画像における前記仮想距離の算出に用いるか否かを判定する、
三次元形状モデル生成装置。
【請求項4】
前記スケール推定部は、前記多視点画像を撮像したカメラのカメラパラメータから算出される被写界深度に基づき、前記現実距離を導出する、
請求項1から請求項
3のいずれか一項に記載の三次元形状モデル生成装置。
【請求項5】
実際の寸法が既知であるマーカの三次元形状モデルを、実際の寸法に基づいてスケール補正した補正済み三次元形状モデルに基づいて、前記現実距離を導出するマーカスケール推定部を、更に備え、
前記スケール推定部は、前記マーカスケール推定部により導出された前記現実距離を用いて、前記スケール値を推定する、
請求項1から請求項
3のいずれか一項に記載の三次元形状モデル生成装置。
【請求項6】
前記マーカスケール推定部は、前記補正済み三次元形状モデルに基づいて、前記補正済み三次元形状モデルを二次元平面に投影させた、補正済みの投影画像における画素のうち、ピントが合っていると判定される画素のデプス値に基づき、前記現実距離を導出する、
請求項
5に記載の三次元形状モデル生成装置。
【請求項7】
前記スケール推定部は、前記多視点画像を撮像したカメラのフォーカス機能から得られる距離に基づき、前記現実距離を導出する、
請求項1から請求項
3のいずれか一項に記載の三次元形状モデル生成装置。
【請求項8】
対象物を、互いに異なる視点から撮像した複数の多視点画像から、前記対象物の三次元形状モデルを生成する三次元形状生成部と、
前記多視点画像の各画像におけるピントが合った領域を検出するピント領域検出部と、
前記多視点画像の各画像におけるピントが合っている領域の画素について、前記三次元形状モデルを二次元平面に投影させた投影画像と、前記投影画像における視点位置との、仮想的な距離である仮想距離を算出する距離算出部と、
前記仮想距離に対する、前記投影画像と、前記投影画像における視点位置までの実際の現実距離、の比を示すスケール値を推定するスケール推定部と、
前記スケール値を用いて、前記仮想距離を、前記現実距離に変換するスケール変換部と、
を備え
、
前記距離算出部は、前記検出されたピントが合っている領域に含まれる画素のデプス値に応じた距離を、前記投影画像の画素ごとに対応させることにより、前記投影画像の画素ごとの前記仮想距離を算出し、
前記ピント領域検出部は、画素ごとにピントが合った度合いを検出し、
前記距離算出部は、前記検出されたピントが合っている領域に含まれる画素のデプス値に応じた距離を、前記ピントが合った度合いに応じて重みづけし、重みづけした距離を前記投影画像の画素ごとに対応させることにより、前記投影画像の画素ごとの前記仮想距離を算出する、
三次元形状モデル生成装置。
【請求項9】
対象物を、互いに異なる視点から撮像した複数の多視点画像から、前記対象物の三次元形状モデルを生成する三次元形状生成部と、
前記多視点画像の各画像におけるピントが合った領域を検出するピント領域検出部と、
前記多視点画像の各画像におけるピントが合っている領域の画素について、前記三次元形状モデルを二次元平面に投影させた投影画像と、前記投影画像における視点位置との、仮想的な距離である仮想距離を算出する距離算出部と、
前記仮想距離に対する、前記投影画像と、前記投影画像における視点位置までの実際の現実距離、の比を示すスケール値を推定するスケール推定部と、
前記スケール値を用いて、前記仮想距離を、前記現実距離に変換するスケール変換部と、
を備え
、
前記距離算出部は、前記検出されたピントが合っている領域に含まれる画素のデプス値に応じた距離を、前記投影画像の画素ごとに対応させることにより、前記投影画像の画素ごとの前記仮想距離を算出し、前記検出されたピントが合っている領域に含まれる画素のデプス値に応じた距離を、当該距離の大きさに応じて重みづけし、重みづけした距離を前記投影画像の画素ごとに対応させることにより、前記投影画像の画素ごとの前記仮想距離を算出する、
三次元形状モデル生成装置。
【請求項10】
対象物を、互いに異なる視点から撮像した複数の多視点画像から、前記対象物の三次元形状モデルを生成する三次元形状生成部と、
前記多視点画像の各画像におけるピントが合った領域を検出するピント領域検出部と、
前記多視点画像の各画像におけるピントが合っている領域の画素について、前記三次元形状モデルを二次元平面に投影させた投影画像と、前記投影画像における視点位置との、仮想的な距離である仮想距離を算出する距離算出部と、
前記仮想距離に対する、前記投影画像と、前記投影画像における視点位置までの実際の現実距離、の比を示すスケール値を推定するスケール推定部と、
前記スケール値を用いて、前記仮想距離を、前記現実距離に変換するスケール変換部と、
を備え
、
前記距離算出部は、前記多視点画像の各画像におけるピントが合った領域の画素ごとのデプス値に応じた距離を算出し、算出した距離を前記投影画像の画素に対応させ、前記投影画像の画素に対応する距離が複数ある場合において、当該複数の距離を比較し、当該複数の距離のばらつきの度合いに応じて、前記投影画像の画素における前記仮想距離を、前記投影画像における前記仮想距離の算出に用いるか否かを判定する、
三次元形状モデル生成装置。
【請求項11】
コンピュータが行う三次元形状モデル生成方法であって、
三次元形状生成部が、対象物を、互いに異なる視点から撮像した複数の多視点画像から、前記対象物の三次元形状モデルを生成する三次元形状生成工程と、
ピント領域検出部が、前記多視点画像の各画像におけるピントが合った領域を検出するピント領域検出工程と、
距離算出部が、前記多視点画像の各画像におけるピントが合っている領域の画素について、前記三次元形状モデルを二次元平面に投影させた投影画像と、前記投影画像における視点位置との、仮想的な距離である仮想距離を算出する距離算出工程と、
スケール推定部が、前記仮想距離に対する、前記投影画像と、前記投影画像における視点位置までの実際の現実距離、の比を示すスケール値を推定するスケール推定工程と、
スケール変換部が、前記スケール値を用いて、前記仮想距離を、前記現実距離に変換するスケール変換工程と、
を含
み、
前記ピント領域検出工程において、入力と出力とが対応づけられた学習用データセットを用いて機械学習を行うことにより生成された学習済みモデルを用いて、前記多視点画像の各画像におけるピントの合った領域を検出し、
前記学習用データセットの入力は、学習用の入力画像であり、
前記学習用データセットの出力は、前記入力画像におけるピントの合った領域を示す情報である、
三次元形状モデル生成方法。
【請求項12】
コンピュータが行う三次元形状モデル生成方法であって、
三次元形状生成部が、対象物を、互いに異なる視点から撮像した複数の多視点画像から、前記対象物の三次元形状モデルを生成する三次元形状生成工程と、
ピント領域検出部が、前記多視点画像の各画像におけるピントが合った領域を検出するピント領域検出工程と、
距離算出部が、前記多視点画像の各画像におけるピントが合っている領域の画素について、前記三次元形状モデルを二次元平面に投影させた投影画像と、前記投影画像における視点位置との、仮想的な距離である仮想距離を算出する距離算出工程と、
スケール推定部が、前記仮想距離に対する、前記投影画像と、前記投影画像における視点位置までの実際の現実距離、の比を示すスケール値を推定するスケール推定工程と、
スケール変換部が、前記スケール値を用いて、前記仮想距離を、前記現実距離に変換するスケール変換工程と、
を含
み、
前記距離算出工程において、前記ピント領域検出工程にてピントが合っていると判定された画素がエッジであるか否かの判定結果、及び前記ピント領域検出工程にてピントが合っていると判定された画素に対応する対応画素であって、前記三次元形状モデルを二次元平面に投影させた投影画像の前記対応画素がエッジであるか否かの判定結果うち、少なくとも何れか一方の判定結果に基づき、前記投影画像の前記対応画素における前記仮想距離を、前記投影画像における前記仮想距離の算出に用いるか否かを判定する、
三次元形状モデル生成方法。
【請求項13】
コンピュータが行う三次元形状モデル生成方法であって、
三次元形状生成部が、対象物を、互いに異なる視点から撮像した複数の多視点画像から、前記対象物の三次元形状モデルを生成する三次元形状生成工程と、
ピント領域検出部が、前記多視点画像の各画像におけるピントが合った領域を検出するピント領域検出工程と、
距離算出部が、前記多視点画像の各画像におけるピントが合っている領域の画素について、前記三次元形状モデルを二次元平面に投影させた投影画像と、前記投影画像における視点位置との、仮想的な距離である仮想距離を算出する距離算出工程と、
スケール推定部が、前記仮想距離に対する、前記投影画像と、前記投影画像における視点位置までの実際の現実距離、の比を示すスケール値を推定するスケール推定工程と、
スケール変換部が、前記スケール値を用いて、前記仮想距離を、前記現実距離に変換するスケール変換工程と、
を含
み、
前記距離算出工程において、前記検出されたピントが合っている領域に含まれる画素のデプス値に応じた距離を、前記投影画像の画素ごとに対応させることにより、前記投影画像の画素ごとの前記仮想距離を算出し、
前記ピント領域検出工程において、画素ごとにピントが合った度合いを検出し、
前記距離算出工程において、前記検出されたピントが合っている領域に含まれる画素のデプス値に応じた距離を、前記ピントが合った度合いに応じて重みづけし、重みづけした距離を前記投影画像の画素ごとに対応させることにより、前記投影画像の画素ごとの前記仮想距離を算出する、
三次元形状モデル生成方法。
【請求項14】
コンピュータが行う三次元形状モデル生成方法であって、
三次元形状生成部が、対象物を、互いに異なる視点から撮像した複数の多視点画像から、前記対象物の三次元形状モデルを生成する三次元形状生成工程と、
ピント領域検出部が、前記多視点画像の各画像におけるピントが合った領域を検出するピント領域検出工程と、
距離算出部が、前記多視点画像の各画像におけるピントが合っている領域の画素について、前記三次元形状モデルを二次元平面に投影させた投影画像と、前記投影画像における視点位置との、仮想的な距離である仮想距離を算出する距離算出工程と、
スケール推定部が、前記仮想距離に対する、前記投影画像と、前記投影画像における視点位置までの実際の現実距離、の比を示すスケール値を推定するスケール推定工程と、
スケール変換部が、前記スケール値を用いて、前記仮想距離を、前記現実距離に変換するスケール変換工程と、
を含
み、
前記距離算出工程において、前記検出されたピントが合っている領域に含まれる画素のデプス値に応じた距離を、前記投影画像の画素ごとに対応させることにより、前記投影画像の画素ごとの前記仮想距離を算出し、前記検出されたピントが合っている領域に含まれる画素のデプス値に応じた距離を、当該距離の大きさに応じて重みづけし、重みづけした距離を前記投影画像の画素ごとに対応させることにより、前記投影画像の画素ごとの前記仮想距離を算出する、
三次元形状モデル生成方法。
【請求項15】
コンピュータが行う三次元形状モデル生成方法であって、
三次元形状生成部が、対象物を、互いに異なる視点から撮像した複数の多視点画像から、前記対象物の三次元形状モデルを生成する三次元形状生成工程と、
ピント領域検出部が、前記多視点画像の各画像におけるピントが合った領域を検出するピント領域検出工程と、
距離算出部が、前記多視点画像の各画像におけるピントが合っている領域の画素について、前記三次元形状モデルを二次元平面に投影させた投影画像と、前記投影画像における視点位置との、仮想的な距離である仮想距離を算出する距離算出工程と、
スケール推定部が、前記仮想距離に対する、前記投影画像と、前記投影画像における視点位置までの実際の現実距離、の比を示すスケール値を推定するスケール推定工程と、
スケール変換部が、前記スケール値を用いて、前記仮想距離を、前記現実距離に変換するスケール変換工程と、
を含
み、
前記距離算出工程において、前記多視点画像の各画像におけるピントが合った領域の画素ごとのデプス値に応じた距離を算出し、算出した距離を前記投影画像の画素に対応させ、前記投影画像の画素に対応する距離が複数ある場合において、当該複数の距離を比較し、当該複数の距離のばらつきの度合いに応じて、前記投影画像の画素における前記仮想距離を、前記投影画像における前記仮想距離の算出に用いるか否かを判定する、
三次元形状モデル生成方法。
【請求項16】
コンピュータを、
対象物を、互いに異なる視点から撮像した複数の多視点画像から、前記対象物の三次元形状モデルを生成する三次元形状生成手段、
前記多視点画像の各画像におけるピントが合った領域を検出するピント領域検出手段、
前記多視点画像の各画像におけるピントが合っている領域の画素について、前記三次元形状モデルを二次元平面に投影させた投影画像と、前記投影画像における視点位置との、仮想的な距離である仮想距離を算出する距離算出手段と、
前記仮想距離に対する、前記投影画像と、前記投影画像における視点位置までの実際の現実距離、の比を示すスケール値を推定するスケール推定手段、
前記スケール値を用いて、前記仮想距離を、前記現実距離に変換するスケール変換手段、
として動作させるための
プログラムであって、
前記距離算出手段において、前記検出されたピントが合っている領域に含まれる画素のデプス値に応じた距離を、前記投影画像の画素ごとに対応させることにより、前記投影画像の画素ごとの前記仮想距離を算出し、前記検出されたピントが合っている領域に含まれる画素のデプス値に応じた距離を、当該距離の大きさに応じて重みづけし、重みづけした距離を前記投影画像の画素ごとに対応させることにより、前記投影画像の画素ごとの前記仮想距離を算出する、
プログラム。
【請求項17】
コンピュータを、
対象物を、互いに異なる視点から撮像した複数の多視点画像から、前記対象物の三次元形状モデルを生成する三次元形状生成手段、
前記多視点画像の各画像におけるピントが合った領域を検出するピント領域検出手段、
前記多視点画像の各画像におけるピントが合っている領域の画素について、前記三次元形状モデルを二次元平面に投影させた投影画像と、前記投影画像における視点位置との、仮想的な距離である仮想距離を算出する距離算出手段と、
前記仮想距離に対する、前記投影画像と、前記投影画像における視点位置までの実際の現実距離、の比を示すスケール値を推定するスケール推定手段、
前記スケール値を用いて、前記仮想距離を、前記現実距離に変換するスケール変換手段、
として動作させるための
プログラムであって、
前記距離算出手段において、前記ピント領域検出手段にてピントが合っていると判定された画素がエッジであるか否かの判定結果、及び前記ピント領域検出手段にてピントが合っていると判定された画素に対応する対応画素であって、前記三次元形状モデルを二次元平面に投影させた投影画像の前記対応画素がエッジであるか否かの判定結果うち、少なくとも何れか一方の判定結果に基づき、前記投影画像の前記対応画素における前記仮想距離を、前記投影画像における前記仮想距離の算出に用いるか否かを判定する、
プログラム。
【請求項18】
コンピュータを、
対象物を、互いに異なる視点から撮像した複数の多視点画像から、前記対象物の三次元形状モデルを生成する三次元形状生成手段、
前記多視点画像の各画像におけるピントが合った領域を検出するピント領域検出手段、
前記多視点画像の各画像におけるピントが合っている領域の画素について、前記三次元形状モデルを二次元平面に投影させた投影画像と、前記投影画像における視点位置との、仮想的な距離である仮想距離を算出する距離算出手段と、
前記仮想距離に対する、前記投影画像と、前記投影画像における視点位置までの実際の現実距離、の比を示すスケール値を推定するスケール推定手段、
前記スケール値を用いて、前記仮想距離を、前記現実距離に変換するスケール変換手段、
として動作させるための
プログラムであって、
前記距離算出手段において、前記検出されたピントが合っている領域に含まれる画素のデプス値に応じた距離を、前記投影画像の画素ごとに対応させることにより、前記投影画像の画素ごとの前記仮想距離を算出し、
前記ピント領域検出手段において、画素ごとにピントが合った度合いを検出し、
前記距離算出手段において、前記検出されたピントが合っている領域に含まれる画素のデプス値に応じた距離を、前記ピントが合った度合いに応じて重みづけし、重みづけした距離を前記投影画像の画素ごとに対応させることにより、前記投影画像の画素ごとの前記仮想距離を算出する、
プログラム。
【請求項19】
コンピュータを、
対象物を、互いに異なる視点から撮像した複数の多視点画像から、前記対象物の三次元形状モデルを生成する三次元形状生成手段、
前記多視点画像の各画像におけるピントが合った領域を検出するピント領域検出手段、
前記多視点画像の各画像におけるピントが合っている領域の画素について、前記三次元形状モデルを二次元平面に投影させた投影画像と、前記投影画像における視点位置との、仮想的な距離である仮想距離を算出する距離算出手段と、
前記仮想距離に対する、前記投影画像と、前記投影画像における視点位置までの実際の現実距離、の比を示すスケール値を推定するスケール推定手段、
前記スケール値を用いて、前記仮想距離を、前記現実距離に変換するスケール変換手段、
として動作させるための
プログラムであって、
前記距離算出手段において、前記検出されたピントが合っている領域に含まれる画素のデプス値に応じた距離を、前記投影画像の画素ごとに対応させることにより、前記投影画像の画素ごとの前記仮想距離を算出し、前記検出されたピントが合っている領域に含まれる画素のデプス値に応じた距離を、当該距離の大きさに応じて重みづけし、重みづけした距離を前記投影画像の画素ごとに対応させることにより、前記投影画像の画素ごとの前記仮想距離を算出する、
プログラム。
【請求項20】
コンピュータを、
対象物を、互いに異なる視点から撮像した複数の多視点画像から、前記対象物の三次元形状モデルを生成する三次元形状生成手段、
前記多視点画像の各画像におけるピントが合った領域を検出するピント領域検出手段、
前記多視点画像の各画像におけるピントが合っている領域の画素について、前記三次元形状モデルを二次元平面に投影させた投影画像と、前記投影画像における視点位置との、仮想的な距離である仮想距離を算出する距離算出手段と、
前記仮想距離に対する、前記投影画像と、前記投影画像における視点位置までの実際の現実距離、の比を示すスケール値を推定するスケール推定手段、
前記スケール値を用いて、前記仮想距離を、前記現実距離に変換するスケール変換手段、
として動作させるための
プログラムであって、
前記距離算出手段において、前記多視点画像の各画像におけるピントが合った領域の画素ごとのデプス値に応じた距離を算出し、算出した距離を前記投影画像の画素に対応させ、前記投影画像の画素に対応する距離が複数ある場合において、当該複数の距離を比較し、当該複数の距離のばらつきの度合いに応じて、前記投影画像の画素における前記仮想距離を、前記投影画像における前記仮想距離の算出に用いるか否かを判定する、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、三次元形状モデル生成装置、三次元形状モデル生成方法、及びプログラムに関する。
【背景技術】
【0002】
従来、対象物を互いに異なる視点から撮像した複数の画像(多視点画像)を用いて、対象物の三次元形状モデルを生成する三次元復元手法がある。この手法では、多視点画像ごとに対象物の見え方が異なることから、ステレオカメラの原理を用いて画像における各画素の奥行値を計算することにより対象物の三次元形状を作成(復元)することができる。三次元復元手法では、三次元形状を作成することができるが、対象物の実際の大きさ(スケール)を求めることはできない。画像に対象物が撮像されているだけでは、対象物の実際の大きさを求めることができないためである。
【0003】
画像から対象物のスケールを推定する方法の一つに、マーカを利用するものがある(例えば、特許文献1)。特許文献1には、実際の寸法(実寸)が既知のマーカを対象物と共に撮像した画像を用いて対象物の実寸を推定する技術が開示されている。
【0004】
また、画像の被写界深度を用いて対象物のスケールを推定する方法がある(例えば、特許文献2)。被写界深度は、ピント(焦点)が合っているように認識されるカメラから対象物まで実際の距離の範囲である。特許文献2では、Depth from defocus方式を用いて、ピントが合っている位置が異なる複数の画像を取得し、取得した複数の画像における互いのピントの相関値を算出することにより、カメラから対象物まで実際の距離を算出する技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2018-57532号公報
【文献】特許第5932476号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、マーカと対象物とを同時に、且つ、互いに異なる視点から複数の画像を撮像しようとすれば、対象物がマーカの影に隠れてしまう可能性がある。対象物がマーカの影に隠れてしまうと、その部分の三次元形状を精度よく作成することが困難となってしまう。
また、被写界深度には幅がある。このため、被写界深度から推定した距離には誤差が含まれており、精度よく距離を推定することができないという問題があった。
【0007】
本発明は、このような状況に鑑みてなされたもので、多視点画像を用いた三次元復元手法において作成した三次元形状の実際の寸法を、精度よく推定することができる三次元形状モデル生成装置、三次元形状モデル生成方法、及びプログラムを提供する。
【課題を解決するための手段】
【0008】
本発明の三次元形状モデル生成装置は、対象物を、互いに異なる視点から撮像した複数の多視点画像から、前記対象物の三次元形状モデルを生成する三次元形状生成部と、前記多視点画像の各画像におけるピントが合った領域を検出するピント領域検出部と、前記多視点画像の各画像におけるピントが合っている領域の画素について、前記三次元形状モデルを二次元平面に投影させた投影画像と、前記投影画像における視点位置との、仮想的な距離である仮想距離を算出する距離算出部と、前記仮想距離に対する、前記投影画像と、前記投影画像における視点位置までの実際の現実距離、の比を示すスケール値を推定するスケール推定部と、前記スケール値を用いて、前記仮想距離を、前記現実距離に変換するスケール変換部と、を備え、前記ピント領域検出部は、入力と出力とが対応づけられた学習用データセットを用いて機械学習を行うことにより生成された学習済みモデルを用いて、前記多視点画像の各画像におけるピントの合った領域を検出し、前記学習用データセットの入力は、学習用の入力画像であり、前記学習用データセットの出力は、前記入力画像におけるピントの合った領域を示す情報であることを特徴とする。
本発明の三次元形状モデル生成装置は、対象物を、互いに異なる視点から撮像した複数の多視点画像から、前記対象物の三次元形状モデルを生成する三次元形状生成部と、前記多視点画像の各画像におけるピントが合った領域を検出するピント領域検出部と、前記多視点画像の各画像におけるピントが合っている領域の画素について、前記三次元形状モデルを二次元平面に投影させた投影画像と、前記投影画像における視点位置との、仮想的な距離である仮想距離を算出する距離算出部と、前記仮想距離に対する、前記投影画像と、前記投影画像における視点位置までの実際の現実距離、の比を示すスケール値を推定するスケール推定部と、前記スケール値を用いて、前記仮想距離を、前記現実距離に変換するスケール変換部と、を備え、前記距離算出部は、前記ピント領域検出部によりピントが合っていると判定された画素がエッジであるか否かの判定結果、及び前記ピント領域検出部によりピントが合っていると判定された画素に対応する対応画素であって、前記三次元形状モデルを二次元平面に投影させた投影画像の前記対応画素がエッジであるか否かの判定結果うち、少なくとも何れか一方の判定結果に基づき、前記投影画像の前記対応画素における前記仮想距離を、前記投影画像における前記仮想距離の算出に用いるか否かを判定することを特徴とする。
本発明の三次元形状モデル生成装置は、対象物を、互いに異なる視点から撮像した複数の多視点画像から、前記対象物の三次元形状モデルを生成する三次元形状生成部と、前記多視点画像の各画像におけるピントが合った領域を検出するピント領域検出部と、前記多視点画像の各画像におけるピントが合っている領域の画素について、前記三次元形状モデルを二次元平面に投影させた投影画像と、前記投影画像における視点位置との、仮想的な距離である仮想距離を算出する距離算出部と、前記仮想距離に対する、前記投影画像と、前記投影画像における視点位置までの実際の現実距離、の比を示すスケール値を推定するスケール推定部と、前記スケール値を用いて、前記仮想距離を、前記現実距離に変換するスケール変換部と、を備え、前記距離算出部は、前記検出されたピントが合っている領域に含まれる画素のデプス値に応じた距離を、前記投影画像の画素ごとに対応させることにより、前記投影画像の画素ごとの前記仮想距離を算出し、前記ピント領域検出部は、画素ごとにピントが合った度合いを検出し、前記距離算出部は、前記検出されたピントが合っている領域に含まれる画素のデプス値に応じた距離を、前記ピントが合った度合いに応じて重みづけし、重みづけした距離を前記投影画像の画素ごとに対応させることにより、前記投影画像の画素ごとの前記仮想距離を算出することを特徴とする。
本発明の三次元形状モデル生成装置は、対象物を、互いに異なる視点から撮像した複数の多視点画像から、前記対象物の三次元形状モデルを生成する三次元形状生成部と、前記多視点画像の各画像におけるピントが合った領域を検出するピント領域検出部と、前記多視点画像の各画像におけるピントが合っている領域の画素について、前記三次元形状モデルを二次元平面に投影させた投影画像と、前記投影画像における視点位置との、仮想的な距離である仮想距離を算出する距離算出部と、前記仮想距離に対する、前記投影画像と、前記投影画像における視点位置までの実際の現実距離、の比を示すスケール値を推定するスケール推定部と、前記スケール値を用いて、前記仮想距離を、前記現実距離に変換するスケール変換部と、を備え、前記距離算出部は、前記検出されたピントが合っている領域に含まれる画素のデプス値に応じた距離を、前記投影画像の画素ごとに対応させることにより、前記投影画像の画素ごとの前記仮想距離を算出し、前記検出されたピントが合っている領域に含まれる画素のデプス値に応じた距離を、当該距離の大きさに応じて重みづけし、重みづけした距離を前記投影画像の画素ごとに対応させることにより、前記投影画像の画素ごとの前記仮想距離を算出することを特徴とする。
本発明の三次元形状モデル生成装置は、対象物を、互いに異なる視点から撮像した複数の多視点画像から、前記対象物の三次元形状モデルを生成する三次元形状生成部と、前記多視点画像の各画像におけるピントが合った領域を検出するピント領域検出部と、前記多視点画像の各画像におけるピントが合っている領域の画素について、前記三次元形状モデルを二次元平面に投影させた投影画像と、前記投影画像における視点位置との、仮想的な距離である仮想距離を算出する距離算出部と、前記仮想距離に対する、前記投影画像と、前記投影画像における視点位置までの実際の現実距離、の比を示すスケール値を推定するスケール推定部と、前記スケール値を用いて、前記仮想距離を、前記現実距離に変換するスケール変換部と、を備え、前記距離算出部は、前記多視点画像の各画像におけるピントが合った領域の画素ごとのデプス値に応じた距離を算出し、算出した距離を前記投影画像の画素に対応させ、前記投影画像の画素に対応する距離が複数ある場合において、当該複数の距離を比較し、当該複数の距離のばらつきの度合いに応じて、前記投影画像の画素における前記仮想距離を、前記投影画像における前記仮想距離の算出に用いるか否かを判定することを特徴とする。
【0012】
本発明の三次元形状モデル生成装置では、前記学習用データセットの入力は、多視点画像の各画像であり、前記学習用データセットの出力は、実際の寸法が既知であるマーカの三次元形状モデルを、前記マーカの実際の寸法に基づいてスケール補正した、補正済み三次元形状モデルを二次元平面に投影させた、補正済みの投影画像における画素ごとのデプス値に基づいて判定した、前記補正済みの投影画像におけるピントの合った領域を示す情報である。
【0014】
本発明の三次元形状モデル生成装置では、前記スケール推定部は、前記多視点画像を撮像したカメラのカメラパラメータから算出される被写界深度に基づき、前記現実距離を導出する。
【0015】
本発明の三次元形状モデル生成装置では、実際の寸法が既知であるマーカの三次元形状モデルを、実際の寸法に基づいてスケール補正した補正済み三次元形状モデルに基づいて、前記現実距離を導出するマーカスケール推定部を、更に備え、前記スケール推定部は、前記マーカスケール推定部により導出された前記現実距離を用いて、前記スケール値を推定する。
【0016】
本発明の三次元形状モデル生成装置では、前記マーカスケール推定部は、前記補正済み三次元形状モデルに基づいて、前記補正済み三次元形状モデルを二次元平面に投影させた、補正済みの投影画像における画素のうち、ピントが合っていると判定される画素のデプス値に基づき、前記現実距離を導出する。
【0017】
本発明の三次元形状モデル生成装置では、前記スケール推定部は、前記多視点画像を撮像したカメラのフォーカス機能から得られる距離に基づき、前記現実距離を導出する。
【0022】
本発明の三次元形状モデル生成方法は、コンピュータが行う三次元形状モデル生成方法であって、三次元形状生成部が、対象物を、互いに異なる視点から撮像した複数の多視点画像から、前記対象物の三次元形状モデルを生成する三次元形状生成工程と、ピント領域検出部が、前記多視点画像の各画像におけるピントが合った領域を検出するピント領域検出工程と、距離算出部が、前記多視点画像の各画像におけるピントが合っている領域の画素について、前記三次元形状モデルを二次元平面に投影させた投影画像と、前記投影画像における視点位置との、仮想的な距離である仮想距離を算出する距離算出工程と、スケール推定部が、前記仮想距離に対する、前記投影画像と、前記投影画像における視点位置までの実際の現実距離、の比を示すスケール値を推定するスケール推定工程と、スケール変換部が、前記スケール値を用いて、前記仮想距離を、前記現実距離に変換するスケール変換工程と、を含み、前記ピント領域検出工程において、入力と出力とが対応づけられた学習用データセットを用いて機械学習を行うことにより生成された学習済みモデルを用いて、前記多視点画像の各画像におけるピントの合った領域を検出し、前記学習用データセットの入力は、学習用の入力画像であり、前記学習用データセットの出力は、前記入力画像におけるピントの合った領域を示す情報であることを特徴とする。
本発明の三次元形状モデル生成方法は、コンピュータが行う三次元形状モデル生成方法であって、三次元形状生成部が、対象物を、互いに異なる視点から撮像した複数の多視点画像から、前記対象物の三次元形状モデルを生成する三次元形状生成工程と、ピント領域検出部が、前記多視点画像の各画像におけるピントが合った領域を検出するピント領域検出工程と、距離算出部が、前記多視点画像の各画像におけるピントが合っている領域の画素について、前記三次元形状モデルを二次元平面に投影させた投影画像と、前記投影画像における視点位置との、仮想的な距離である仮想距離を算出する距離算出工程と、スケール推定部が、前記仮想距離に対する、前記投影画像と、前記投影画像における視点位置までの実際の現実距離、の比を示すスケール値を推定するスケール推定工程と、スケール変換部が、前記スケール値を用いて、前記仮想距離を、前記現実距離に変換するスケール変換工程と、を含み、前記距離算出工程において、前記ピント領域検出工程にてピントが合っていると判定された画素がエッジであるか否かの判定結果、及び前記ピント領域検出工程にてピントが合っていると判定された画素に対応する対応画素であって、前記三次元形状モデルを二次元平面に投影させた投影画像の前記対応画素がエッジであるか否かの判定結果うち、少なくとも何れか一方の判定結果に基づき、前記投影画像の前記対応画素における前記仮想距離を、前記投影画像における前記仮想距離の算出に用いるか否かを判定することを特徴とする。
本発明の三次元形状モデル生成方法は、コンピュータが行う三次元形状モデル生成方法であって、三次元形状生成部が、対象物を、互いに異なる視点から撮像した複数の多視点画像から、前記対象物の三次元形状モデルを生成する三次元形状生成工程と、ピント領域検出部が、前記多視点画像の各画像におけるピントが合った領域を検出するピント領域検出工程と、距離算出部が、前記多視点画像の各画像におけるピントが合っている領域の画素について、前記三次元形状モデルを二次元平面に投影させた投影画像と、前記投影画像における視点位置との、仮想的な距離である仮想距離を算出する距離算出工程と、スケール推定部が、前記仮想距離に対する、前記投影画像と、前記投影画像における視点位置までの実際の現実距離、の比を示すスケール値を推定するスケール推定工程と、スケール変換部が、前記スケール値を用いて、前記仮想距離を、前記現実距離に変換するスケール変換工程と、を含み、前記距離算出工程において、前記検出されたピントが合っている領域に含まれる画素のデプス値に応じた距離を、前記投影画像の画素ごとに対応させることにより、前記投影画像の画素ごとの前記仮想距離を算出し、前記ピント領域検出工程において、画素ごとにピントが合った度合いを検出し、前記距離算出工程において、前記検出されたピントが合っている領域に含まれる画素のデプス値に応じた距離を、前記ピントが合った度合いに応じて重みづけし、重みづけした距離を前記投影画像の画素ごとに対応させることにより、前記投影画像の画素ごとの前記仮想距離を算出することを特徴とする。
本発明の三次元形状モデル生成方法は、コンピュータが行う三次元形状モデル生成方法であって、三次元形状生成部が、対象物を、互いに異なる視点から撮像した複数の多視点画像から、前記対象物の三次元形状モデルを生成する三次元形状生成工程と、ピント領域検出部が、前記多視点画像の各画像におけるピントが合った領域を検出するピント領域検出工程と、距離算出部が、前記多視点画像の各画像におけるピントが合っている領域の画素について、前記三次元形状モデルを二次元平面に投影させた投影画像と、前記投影画像における視点位置との、仮想的な距離である仮想距離を算出する距離算出工程と、スケール推定部が、前記仮想距離に対する、前記投影画像と、前記投影画像における視点位置までの実際の現実距離、の比を示すスケール値を推定するスケール推定工程と、スケール変換部が、前記スケール値を用いて、前記仮想距離を、前記現実距離に変換するスケール変換工程と、を含み、前記距離算出工程において、前記検出されたピントが合っている領域に含まれる画素のデプス値に応じた距離を、前記投影画像の画素ごとに対応させることにより、前記投影画像の画素ごとの前記仮想距離を算出し、前記検出されたピントが合っている領域に含まれる画素のデプス値に応じた距離を、当該距離の大きさに応じて重みづけし、重みづけした距離を前記投影画像の画素ごとに対応させることにより、前記投影画像の画素ごとの前記仮想距離を算出することを特徴とする。
本発明の三次元形状モデル生成方法は、コンピュータが行う三次元形状モデル生成方法であって、三次元形状生成部が、対象物を、互いに異なる視点から撮像した複数の多視点画像から、前記対象物の三次元形状モデルを生成する三次元形状生成工程と、ピント領域検出部が、前記多視点画像の各画像におけるピントが合った領域を検出するピント領域検出工程と、距離算出部が、前記多視点画像の各画像におけるピントが合っている領域の画素について、前記三次元形状モデルを二次元平面に投影させた投影画像と、前記投影画像における視点位置との、仮想的な距離である仮想距離を算出する距離算出工程と、スケール推定部が、前記仮想距離に対する、前記投影画像と、前記投影画像における視点位置までの実際の現実距離、の比を示すスケール値を推定するスケール推定工程と、スケール変換部が、前記スケール値を用いて、前記仮想距離を、前記現実距離に変換するスケール変換工程と、を含み、前記距離算出工程において、前記多視点画像の各画像におけるピントが合った領域の画素ごとのデプス値に応じた距離を算出し、算出した距離を前記投影画像の画素に対応させ、前記投影画像の画素に対応する距離が複数ある場合において、当該複数の距離を比較し、当該複数の距離のばらつきの度合いに応じて、前記投影画像の画素における前記仮想距離を、前記投影画像における前記仮想距離の算出に用いるか否かを判定することを特徴とする。
【0023】
本発明のプログラムは、コンピュータを、対象物を、互いに異なる視点から撮像した複数の多視点画像から、前記対象物の三次元形状モデルを生成する三次元形状生成手段、前記多視点画像の各画像におけるピントが合った領域を検出するピント領域検出手段、前記多視点画像の各画像におけるピントが合っている領域の画素について、前記三次元形状モデルを二次元平面に投影させた投影画像と、前記投影画像における視点位置との、仮想的な距離である仮想距離を算出する距離算出手段と、前記仮想距離に対する、前記投影画像と、前記投影画像における視点位置までの実際の現実距離、の比を示すスケール値を推定するスケール推定手段、前記スケール値を用いて、前記仮想距離を、前記現実距離に変換するスケール変換手段、として動作させるためのプログラムであって、前記距離算出手段において、前記検出されたピントが合っている領域に含まれる画素のデプス値に応じた距離を、前記投影画像の画素ごとに対応させることにより、前記投影画像の画素ごとの前記仮想距離を算出し、前記検出されたピントが合っている領域に含まれる画素のデプス値に応じた距離を、当該距離の大きさに応じて重みづけし、重みづけした距離を前記投影画像の画素ごとに対応させることにより、前記投影画像の画素ごとの前記仮想距離を算出するプログラムである。
本発明のプログラムは、コンピュータを、対象物を、互いに異なる視点から撮像した複数の多視点画像から、前記対象物の三次元形状モデルを生成する三次元形状生成手段、前記多視点画像の各画像におけるピントが合った領域を検出するピント領域検出手段、前記多視点画像の各画像におけるピントが合っている領域の画素について、前記三次元形状モデルを二次元平面に投影させた投影画像と、前記投影画像における視点位置との、仮想的な距離である仮想距離を算出する距離算出手段と、前記仮想距離に対する、前記投影画像と、前記投影画像における視点位置までの実際の現実距離、の比を示すスケール値を推定するスケール推定手段、前記スケール値を用いて、前記仮想距離を、前記現実距離に変換するスケール変換手段、として動作させるためのプログラムであって、前記距離算出手段において、前記ピント領域検出手段にてピントが合っていると判定された画素がエッジであるか否かの判定結果、及び前記ピント領域検出手段にてピントが合っていると判定された画素に対応する対応画素であって、前記三次元形状モデルを二次元平面に投影させた投影画像の前記対応画素がエッジであるか否かの判定結果うち、少なくとも何れか一方の判定結果に基づき、前記投影画像の前記対応画素における前記仮想距離を、前記投影画像における前記仮想距離の算出に用いるか否かを判定するプログラムである。
本発明のプログラムは、コンピュータを、対象物を、互いに異なる視点から撮像した複数の多視点画像から、前記対象物の三次元形状モデルを生成する三次元形状生成手段、前記多視点画像の各画像におけるピントが合った領域を検出するピント領域検出手段、前記多視点画像の各画像におけるピントが合っている領域の画素について、前記三次元形状モデルを二次元平面に投影させた投影画像と、前記投影画像における視点位置との、仮想的な距離である仮想距離を算出する距離算出手段と、前記仮想距離に対する、前記投影画像と、前記投影画像における視点位置までの実際の現実距離、の比を示すスケール値を推定するスケール推定手段、前記スケール値を用いて、前記仮想距離を、前記現実距離に変換するスケール変換手段、として動作させるためのプログラムであって、前記距離算出手段において、前記検出されたピントが合っている領域に含まれる画素のデプス値に応じた距離を、前記投影画像の画素ごとに対応させることにより、前記投影画像の画素ごとの前記仮想距離を算出し、前記ピント領域検出手段において、画素ごとにピントが合った度合いを検出し、前記距離算出手段において、前記検出されたピントが合っている領域に含まれる画素のデプス値に応じた距離を、前記ピントが合った度合いに応じて重みづけし、重みづけした距離を前記投影画像の画素ごとに対応させることにより、前記投影画像の画素ごとの前記仮想距離を算出するプログラムである。
本発明のプログラムは、コンピュータを、対象物を、互いに異なる視点から撮像した複数の多視点画像から、前記対象物の三次元形状モデルを生成する三次元形状生成手段、前記多視点画像の各画像におけるピントが合った領域を検出するピント領域検出手段、前記多視点画像の各画像におけるピントが合っている領域の画素について、前記三次元形状モデルを二次元平面に投影させた投影画像と、前記投影画像における視点位置との、仮想的な距離である仮想距離を算出する距離算出手段と、前記仮想距離に対する、前記投影画像と、前記投影画像における視点位置までの実際の現実距離、の比を示すスケール値を推定するスケール推定手段、前記スケール値を用いて、前記仮想距離を、前記現実距離に変換するスケール変換手段、として動作させるためのプログラムであって、前記距離算出手段において、前記検出されたピントが合っている領域に含まれる画素のデプス値に応じた距離を、前記投影画像の画素ごとに対応させることにより、前記投影画像の画素ごとの前記仮想距離を算出し、前記検出されたピントが合っている領域に含まれる画素のデプス値に応じた距離を、当該距離の大きさに応じて重みづけし、重みづけした距離を前記投影画像の画素ごとに対応させることにより、前記投影画像の画素ごとの前記仮想距離を算出するプログラムである。
本発明のプログラムは、コンピュータを、対象物を、互いに異なる視点から撮像した複数の多視点画像から、前記対象物の三次元形状モデルを生成する三次元形状生成手段、前記多視点画像の各画像におけるピントが合った領域を検出するピント領域検出手段、前記多視点画像の各画像におけるピントが合っている領域の画素について、前記三次元形状モデルを二次元平面に投影させた投影画像と、前記投影画像における視点位置との、仮想的な距離である仮想距離を算出する距離算出手段と、前記仮想距離に対する、前記投影画像と、前記投影画像における視点位置までの実際の現実距離、の比を示すスケール値を推定するスケール推定手段、前記スケール値を用いて、前記仮想距離を、前記現実距離に変換するスケール変換手段、として動作させるためのプログラムであって、前記距離算出手段において、前記多視点画像の各画像におけるピントが合った領域の画素ごとのデプス値に応じた距離を算出し、算出した距離を前記投影画像の画素に対応させ、前記投影画像の画素に対応する距離が複数ある場合において、当該複数の距離を比較し、当該複数の距離のばらつきの度合いに応じて、前記投影画像の画素における前記仮想距離を、前記投影画像における前記仮想距離の算出に用いるか否かを判定するプログラムである。
【発明の効果】
【0024】
本発明によれば、多視点画像を用いた三次元復元手法において作成した三次元形状の実際の寸法を、精度よく推定することができる。
【図面の簡単な説明】
【0025】
【
図1】第1の実施形態に係る三次元形状モデル生成装置1の構成の例を示すブロック図である。
【
図2】第1の実施形態に係るスケール情報記憶部109に記憶される情報の構成の例を示す図である。
【
図3A】第1の実施形態に係る複数の多視点画像TGの例を示す図である。
【
図3B】第1の実施形態に係る三次元形状モデルMの例を示す図である。
【
図3C】第1の実施形態に係る多視点画像TGの例を示す図である。
【
図3D】第1の実施形態に係る多視点画像TGのブラーマップBMの例を示す図である。
【
図4】第1の実施形態に係る被写界深度の関数の例を示す図である。
【
図5】第1の実施形態に係る三次元形状モデルMの投影画像の画素における仮想距離の分布の例である。
【
図6】第1の実施形態に係る三次元形状モデル生成装置1が行う処理の流れを示すフローチャートである。
【
図7】第2の実施形態に係る三次元形状モデル生成装置1Aの構成の例を示すブロック図である。
【発明を実施するための形態】
【0026】
以下、実施形態の三次元形状モデル生成装置を、図面を参照しながら説明する。
【0027】
<第1の実施形態>
まず、第1の実施形態について説明する。
図1は、第1の実施形態に係る三次元形状モデル生成装置1の構成の例を示すブロック図である。三次元形状モデル生成装置1は、例えば、画像データ取得部101と、三次元形状生成部102と、ピント領域検出部103と、距離算出部104と、スケール推定部105と、スケール変換部106と、画像データ記憶部107と、三次元形状記憶部108と、スケール情報記憶部109とを備える。
【0028】
画像データ取得部101は、多視点画像TG(
図3A参照)の画像情報を、画像データ記憶部107から取得する。多視点画像TGは、対象物Tが互いに異なる視点から撮像された画像である。対象物Tは、撮像し得る物体であって、任意の三次元形状を有する物体である。多視点画像TGの画像情報には、多視点画像TGの画素ごとの、RGB値等の色、又はグレースケールを示す情報を含む。
【0029】
画像データ取得部101は、多視点画像TGのカメラパラメータを、スケール情報記憶部109から取得する。多視点画像TGのカメラパラメータとは、多視点画像TGの属性情報であって、いわゆるExif(Exchangeable image file format)により示される情報である。例えば、カメラパラメータは、多視点画像TGを撮像した際における、視点位置(撮像時のカメラの位置)、撮像方向、画角などを示す情報である。また、カメラパラメータには、多視点画像TGを撮像した撮像装置(カメラ)に関する情報を含んでいてもよい。撮像装置に関する情報は、撮像装置の構成要素の仕様や撮像時の状態を示す情報であって、例えば、撮像時におけるレンズの焦点距離、シャッタースピード、露光状態、画像の分解能(ピクセル数)、レンズの歪曲収差係数などを示す情報である。
【0030】
画像データ取得部101は、複数の多視点画像TGにおける画像情報、及びカメラパラメータを取得し、取得した情報を三次元形状生成部102に出力する。
【0031】
三次元形状生成部102は、対象物Tの三次元形状モデルMを作成する。三次元形状生成部102は、まず、複数の多視点画像TGの画像情報、及びカメラパラメータを用いて、ステレオマッチングの原理から複数の多視点画像TGの各々のデプスマップを生成する。デプスマップは、画像の各画素の奥行き(デプス)を示す情報(マップ)である。
【0032】
三次元形状生成部102は、多視点画像TGの各々のデプスマップを統合して三次元点群を生成する。三次元点群は、対象物Tの三次元形状に対応する三次元点の集合である。三次元形状生成部102は、三次元点群を用いて、メッシュモデルを生成する。メッシュモデルは、対象物の三次元形状をポリゴン(多角形)の集合体として示す三次元形状モデルである。三次元形状生成部102は、例えば、メッシュ再構築(Poisson Surface Reconstruction)の手法を用いて、三次元点群からメッシュモデルを生成する。三次元形状生成部102は、生成したメッシュモデルを三次元形状モデルとする。
【0033】
三次元形状生成部102は、生成した三次元点群、及びメッシュモデルに関する情報を、三次元形状記憶部108に記憶させる。三次元点群に関する情報には、三次元点群の各点の座標(三次元座標)を示す情報が含まれる。また、三次元点群に関する情報には、三次元点群の各点の色(例えば、RGB値など)を示す情報が含まれてもよい。メッシュモデルに関する情報には、メッシュモデルを構成するポリゴン(多角形)の形状、座標(三次元座標)、色、テクスチャ等を示す情報が含まれる。
【0034】
ピント領域検出部103は、複数の多視点画像TGの各々における、ピントの合った領域を検出する。ピント領域検出部103は、例えば、機械学習的手法を用いて、複数の多視点画像TGの各々におけるピントの合った領域を検出する。この場合、ピント領域検出部103は、学習済みモデルに多視点画像TGを入力する。学習済みモデルは、例えば、畳み込みニューラルネットワーク(Convolutional Nueral Network、CNN)の学習モデルに、学習用データセットを学習させることにより生成されたモデルである。学習用のデータセットは、入力と出力(入力に対する答え)が組み合わされた(セットになった)情報である。
【0035】
ここでの、学習用データセットの入力は、学習用に用意した任意の対象物が撮像された画像であり、ピントが合っている部分と合っていない部分とが混在した画像である。学習用データセットの出力は、学習用の画像におけるピントが合っている部分と合っていない部分とを示す情報であり、例えば、画素ごとにピントが合っているか否かを示す情報が対応付けられたものである。学習用データセットの出力は、例えば、学習用データセットを作成する作業員により判断される。つまり、作業員が、画素ごとにピントが合っているか否かを判断し、学習用データセットの出力に設定する。
【0036】
このような学習用データセットを学習することにより、学習済みモデルは、入力された(未学習の)画像に対し、その画像における画素ごとのピントが合っている度合いを推定する(出力する)モデルとなる。
【0037】
ピント領域検出部103は、検出結果を示す情報(複数の多視点画像TGの各々における、ピントの合った領域を示す情報)を、画像データ記憶部107に記憶させる。検出結果を示す情報は、例えば、多視点画像TGの各々の画像の画素ごとに、ピントが合っている度合い(以下、ブラー量ともいう)が対応付けられた情報である。ブラー量は、例えば0から1までの実数値で表現され、0に近いとピントが合っていることを示し、1に近いとピントが合っていないことを示す。つまり、ピントが合っている方が、ブラー量が小さくなる。
【0038】
なお、上記では、ピント領域検出部103が機械学習の手法を用いて、ピントの合った領域を検出する場合を例示して説明したが、これに限定されない。ピント領域検出部103は、任意の手法を用いてピントの合った領域を検出してよい。例えば、ピント領域検出部103は、かめらのフォーカス機能により、フォーカスを合せた領域を、ピントの合った領域と判定するようにしてもよい。このフォーカスを合せた領域は、例えば、撮像時に撮像範囲を表示する背面ディスプレイに、撮像範囲の上に重ねられるようにして表示される、フォーカスされている領域を示す枠の内側の領域である。
【0039】
例えば、ピント領域検出部103は、画像処理を用いてピントの合った領域を検出してもよい。この場合、ピント領域検出部103は、画像における色の変化の度合いを、周波数解析により検出する。ピント領域検出部103は、画素ごとのRGB値について、その画素の近傍における局所領域についてフーリエ変換を行い、その局所領域における高周波数成分を抽出する。そして、ピント領域検出部103は、抽出した局所領域における高周波数成分が、所定の閾値以上であるか否かに応じてその局所領域のピントが合っているか否を判定する。ピント領域検出部103は、局所領域における高周波数成分のレベルが所定の閾値以上である場合にその局所領域のピントが合っていると判定し、局所領域における高周波数成分のレベルが所定の閾値未満である場合にその局所領域のピントが合っていないと判定する。
【0040】
距離算出部104は、仮想距離を算出する。ここでの仮想距離は、所定の位置から、三次元形状モデルを構成する三次元点群の任意の点に対応する対象物Tの対応部分までの、仮想的な距離である。所定の位置は、三次元形状モデルを二次元平面に再投影させて生成される投影画像における、仮想的な視点位置である。
【0041】
仮想距離は、実際の距離(現実距離)を定数倍した値となる。これは、距離算出部104が、仮想距離を、三次元点群の各点の奥行値(デプス値)に応じて算出するためである。三次元点群の奥行値は、多視点画像TGから各画像に撮像された対象物Tの相対的な位置関係に基づいて算出される値である。このため、現実の寸法に応じた位置関係ではなく、何らかの値を基準とした相対的な値となる。したがって、三次元点群の奥行値に応じて算出される距離は、現実距離と比例関係にある仮想的な距離となる。
【0042】
距離算出部104は、複数の多視点画像TGの各々における、ピントの合った領域に含まれる画素を用いて、仮想距離を算出する。ピントの合った領域とは、ピント領域検出部103により検出された領域である。
【0043】
距離算出部104は、例えば、ピント領域検出部103により検出された多視点画像TGの画素に対応付けられたブラー量が、所定の閾値(例えば、0.1)未満である画素をピントの合った画素とする。距離算出部104は、ピントの合った画素の奥行値(デプス値)を取得する。画素の奥行値(デプス値)は、例えば、三次元形状生成部102により三次元形状モデルMが生成される過程において算出される、画素ごとの奥行値(デプス値)そのものである。
【0044】
距離算出部104は、ピントの合った画素の奥行値(デプス値)の各々を、投影画像の各画素に対応させる。投影画像の各画素には、一つ又は複数の多視点画像TGにおけるピントの合った画素の各々の奥行値が対応付けられる。距離算出部104は、投影画像の各画素に対応する複数の多視点画像TGの画素を統合することにより、投影画像の各画素における仮想距離を算出する。
【0045】
一般に、カメラには、そのカメラパラメータに応じて決定される被写界深度(
図4参照)が存在し、ピントが合う範囲が予め定められている。この被写界深度は、画像に撮像された被写体のピントが合った部分における、視点位置から当該部分までの実際の距離に依存する。このことから、被写界深度を利用すれば、現実距離を求めることが可能である。一方、上述したとおり、仮想距離はピントの合った領域における、所定の位置から対象物Tの対応部分までの仮想的な距離である。つまり、仮想距離は、被写界深度を定数倍した値ということができ、被写界深度を介して、仮想距離に対する現実距離の比(スケール値SC)を求めることが可能である。
【0046】
しかしながら、被写界深度には、幅がある。このため、仮想距離の値は、画素ごとにばらつきが生じる(
図5参照)。このばらつきが、仮想距離の真値に対する誤差となり、仮想距離の精度が劣化する要因となり得る。また、ピント領域検出部103は、学習済みモデルを用いてピントが合うか否かを推定している。このため、学習済みモデルに学習させる学習用データセットの内容によっては、推定の精度が不十分なものとなり得る。推定の精度が悪ければ、被写界深度の範囲外の(つまりピントが合っていない範囲)の画素について、ピントが合っているとする誤った推定が行われる可能性がある。仮想距離を求めた画素に、実際にはピントが合っていないにもかかわらず、誤った推定によりピントが合っているとみなされた画素が含まれていれば、その画素における仮想距離が、仮想距離の真値に対する誤差となる。
【0047】
この対策として、本実施形態では、投影画像の各画素の仮想距離に、統計的な処理を行うことにより仮想距離の真値を探索する。
【0048】
例えば、距離算出部104は、投影画像の各画素の仮想距離にRANSAC(RANdom SAmple Consensus)を適用することにより、仮想距離の真値を探索する。RANSACでは、外れ値(アウトライア)、つまり誤差を含むデータ群に対し、ランダムに抽出したデータサンプルに最小二乗法を適用することを繰り返すことにより、外れ値を含まないデータを推定する手法である。距離算出部104は、被写界深度の範囲を、RANSACにおけるインライア(誤差の範囲)として計算することにより、仮想距離の真値を探索する。
【0049】
ただし、被写界深度が、被写体までの距離u(
図4参照)をパラメータとして算出される値である。これに対し、仮想距離は、現実距離に換算される前の仮想上の距離である。このため、距離算出部104は、RANSACにおけるインライアとして、被写界深度を用いる際、被写体までの距離uとして仮の値(例えば、200mmなど)に設定する。距離算出部104は、投影画像の各画素の仮想距離にRANSACを適用することにより求められた距離を、仮想距離の真値とする。距離算出部104は、投影画像の各画素の仮想距離、及び仮想距離の真値を、三次元形状記憶部108に記憶させる。
【0050】
なお、上記では、距離算出部104がRANSACを用いて、仮想距離の真値を算出する場合を例示して説明したが、これに限定されない。距離算出部104は、少なくとも統計的な手法を用いて、ばらつきを含む仮想距離の集合から、最も確からしい仮想距離を算出すればよい。例えば、距離算出部104は、仮想距離の集合から代表値を導出し、導出した値を仮想距離の真値としてもよい。代表値は、仮想距離の集合から統計的手法により導出される任意の値であってよいが、例えば、単純加算平均値、重みづけ平均値、中央値、最大値、最小値等である。或いは、距離算出部104は、仮想距離の集合から取捨選択した仮想距離を用いて、仮想距離の真値を算出してもよい。この場合、例えば、三次元点群の同一の点に対応する複数の画素における仮想距離のばらつきが大きい場合には、仮想距離の真値を算出しないようにしてもよい。
【0051】
スケール推定部105は、スケール値SCを推定する。スケール値SCは、仮想距離に対する現実距離である。スケール推定部105は、スケール値SCを推定する際の仮想距離として、距離算出部104により算出された仮想距離の真値を用いる。スケール推定部105は、スケール値SCを推定する際の現実距離を、カメラパラメータを用いて導出する。スケール推定部105は、多視点画像TGのExifに、被写体までの距離uそのものが記載されている場合には、その情報を現実距離として用いる。或いは、スケール推定部105は、多視点画像TGのExifに、被写界深度、焦点距離、レンズF値、許容錯乱円径が示されている場合には、
図4の関係式に基づいて、被写体までの距離uを算出し、算出した値を現実距離とする。或いは、スケール推定部105は、カメラの表示機能として、撮像時に被写体までの距離uに関する情報が、カメラの背面ディスプレイに表示される場合には、その表示に応じた値を現実距離とするようにしてもよい。スケール推定部105は、スケール値SCの推定に用いた現実距離、及び推定したスケール値SCを、スケール情報記憶部109に記憶させる。
【0052】
なお、処理を簡単にするため、三次元形状モデルMの生成に用いた複数の多視点画像TGにおけるカメラパラメータを統一(固定)するほうが望ましい。多視点画像TGごとにカメラパラメータの内容が互いに異なる設定とする場合、カメラパラメータの内容ごとに、スケール値SC等が算出されるようにする。
【0053】
スケール変換部106は、仮想距離を現実距離に換算することにより、スケール変換を行う。スケール変換部106は、距離算出部104により算出された仮想距離に、スケール推定部105により推定されたスケール値SCを乗算することにより、スケール変換を行う。また、スケール変換部106は、投影画像の各画素の三次元座標にスケール値SCを乗算することにより、三次元形状を実際の寸法に応じた座標系に対応させる。これにより、三次元形状の実際の寸法を求めることができる。
【0054】
画像データ記憶部107は、多視点画像TGに関する情報を記憶する。多視点画像TGに関する情報には、多視点画像TGの画素ごとに算出された奥行値を示す情報(デプス値)、およびピントが合っている度合いを示す情報(ブラー量)が含まれる。
三次元形状記憶部108は、三次元形状モデルに関する情報を記憶する。三次元形状モデルに関する情報には、投影画像の各画素における仮想距離、及び三次元形状モデルにおける仮想距離の真値を示す情報が含まれる。
スケール情報記憶部109は、スケール変換に関する情報を記憶する。
【0055】
図2は、第1の実施形態に係るスケール情報記憶部109に記憶される情報(スケール情報)の構成の例を示す図である。例えば、スケール情報記憶部109は、多視点画像TGごとに作成される。
図2に示すように、スケール変換に関する情報には、カメラパラメータ、及びスケール変換用パラメータ等の項目を有する。カメラパラメータには、カメラ及び撮像時の属性情報、例えばExifを示す情報が含まれる。カメラパラメータには、画像ID、カメラ機種、焦点距離、フォーカス、レンズF値、許容錯乱円径、被写界深度等を示す情報が含まれる。スケール変換用パラメータには、スケール推定部105により推定されたスケール値SC、及びスケール値SCの推定に用いられた現実距離を示す情報が含まれる。
【0056】
図3Aは、第1の実施形態に係る複数の多視点画像TGの例を示す図である。ここでの対象物Tはウッドボードに載せられたパンである。
図3Aに示すように、多視点画像TGは、対象物Tを互いに異なる視点から撮像した複数の画像から構成される。
【0057】
図3Bは、第1の実施形態に係る三次元形状モデルMの例を示す図である。
図3Bに示すように、多視点画像TGから三次元形状が復元できる。この三次元形状モデルMは、形状を復元しているが、実際の寸法は不明である。実際の寸法は、三次元形状モデルMを拡大又は縮小した大きさとなるが、その具体的な係数は、不明である。
【0058】
図3Cは、第1の実施形態に係る多視点画像TGの例を示す図である。
図3Cに示すように、多視点画像TGの一部の撮像領域、例えば、
図3Cに示す多視点画像TGに撮像されたウッドボードの左側の端部、においてピントが合っていない。また、多視点画像TGの他の一部の撮像領域、例えば、
図3Cに示す多視点画像TGに撮像されたパンの中心から右側の部分、においてピントが合っている。
【0059】
図3Dは、第1の実施形態に係る多視点画像TGのブラーマップBMの例を示す図である。ブラーマップは、画像における画素ごとにブラー量が対応付けられた画像(マップ)である。この例では、白に近づくにしたがい、ブラー量が大きい、つまりピントが合っていない度合いが高いことを示している。また、黒に近づくにしたがい、ブラー量が小さい、つまりピントが合っている度合いが高いことを示している。
【0060】
図4は、第1の実施形態に係る被写界深度の関数の例を示す図である。
図4において、DoF
fは前方被写界深度、DoF
rは後方被写界深度、NはレンズF値、cは許容錯乱円径、fは焦点距離、uは被写体までの距離である。
図4に示すように、被写界深度は、被写体までの距離uを中心とする、前方被写界深度DoF
fと後方被写界深度DoF
rとの和により求められ、所定の幅をもつ値となる。前方被写界深度DoF
fは、被写体までの距離uから視点位置に近づく方向においてピントがあう範囲である。後方被写界深度DoF
rは、被写体までの距離uから視点位置から遠ざかる方向においてピントがあう範囲である。
【0061】
図5は、第1の実施形態に係る投影画像の各画素の仮想距離の分布の例である。
図5に示すように、投影画像の各画素の仮想距離にはばらつきが生じる。このような誤差が含まれる仮想距離の集合にRANSAC等の統計処理を適用することにより、確からしい仮想距離を算出する。これにより高精度の仮想距離を求めることができ、三次元形状モデルMの実際の寸法を精度よく求めることが可能となる。
【0062】
図6は、第1の実施形態に係る三次元形状モデル生成装置1が行う処理の流れを示すフローチャートである。
ステップS101:
画像データ取得部101は、対象物Tの多視点画像TGを取得する。
ステップS102:
三次元形状生成部102は、多視点画像TGを用いて三次元形状モデルMを生成する。
ステップS103:
ピント領域検出部103は、多視点画像TGにおけるブラーマップを生成する。
ステップS104:
距離算出部104は、多視点画像TGにおいてピントの合った領域について、その領域に含まれる画素ごとの仮想距離を算出する。
ステップS105:
距離算出部104は、三次元形状モデルMの投影画像の各画素に、ステップS104で算出した多視点画像TGの画素ごとの仮想距離を対応させることにより、投影画像の各画素の仮想距離を算出する。
ステップS106:
距離算出部104は、投影画像の各画素の仮想距離のばらつきに対し、統計的な処理を行うことにより、投影画像における最も確からしい仮想距離(仮想距離の真値)を算出する。
ステップS107:
スケール推定部105は、仮想距離に対する現実距離である、スケール値SCを推定する。スケール推定部105は、例えば、カメラパラメータを用いて導出した現実距離、及びステップS106にて算出した仮想距離を用いて、スケール値SCを算出する。
ステップS108:
スケール変換部106は、現実距離を算出する。スケール変換部106は、ステップS106にて算出した仮想距離に、ステップS107にて推定したスケール値SCを乗算することにより、現実距離を算出する。
【0063】
なお、上述した実施形態では、
図6のフローチャートに示すように、三次元形状モデルを生成(ステップS102)後に、多視点画像TGにおけるブラーマップを生成する(ステップS103)を行う場合を例示して説明したが、これに限定されない。例えば、三次元形状生成部102は、ブラーの強度が小さい画像と比較して、画素ブラーの強度が強い画像の重みが小さくなるように設定することにより、多視点画像TGのピントが合う領域のみを用いて三次元形状モデルを生成するようにしてもよい。この場合、投影画像の各画素が、多視点画像TGにおけるピントが合った画素のみで構成される。この場合、ステップS105における、「三次元形状モデルMの投影画像の各画素に、ステップS104で算出した多視点画像TGの画素ごとの仮想距離を対応させる」処理を省略することができる。つまり、ステップS105では、投影画像の各画素のデプス値を、そのまま仮想距離とすることができる。
【0064】
以上説明したように、第1の実施形態に係る三次元形状モデル生成装置1は、三次元形状生成部102と、ピント領域検出部103と、距離算出部104と、スケール推定部105と、スケール変換部106とを備える。三次元形状生成部102は、対象物Tを、互いに異なる視点から撮像した複数の多視点画像TGから、対象物Tの三次元形状モデルMを生成する。ピント領域検出部103は、多視点画像TGの各画像におけるピントが合った領域を検出する。距離算出部104は、多視点画像TGの各画像におけるピントが合っている領域の画素について、三次元形状モデルMを二次元平面に投影させた投影画像と視点位置との仮想的な距離である仮想距離を算出する。スケール推定部105は、スケール値SCを推定する。スケール変換部106は、スケール値SCを用いて、仮想距離を、実際の距離に変換する。これにより、第1の実施形態の三次元形状モデル生成装置1は、ピントが合っている領域が被写界深度の範囲にあることを利用して仮想距離の精度を高めることができる。このため、多視点画像TGを用いた三次元復元手法において復元した三次元形状モデルMの実際の寸法を、精度よく推定することができる。
【0065】
また、第1の実施形態の三次元形状モデル生成装置1では、ピント領域検出部103は、多視点画像TGの各画像において、多視点画像TGを撮像したカメラのフォーカス機能を用いてフォーカスを合わせた領域に応じて、多視点画像TGの各画像におけるピントの合った領域を検出するようにしてもよい。これにより、ピントの合った領域を容易に検出することができる。
【0066】
また、第1の実施形態の三次元形状モデル生成装置1では、ピント領域検出部103は、画像処理により、多視点画像TGの各画像におけるピントの合った領域を検出するようにしてもよい。これにより、フォーカスを合せた領域が不明である場合でも、ピントの合った領域を検出することができる。
【0067】
また、第1の実施形態の三次元形状モデル生成装置1では、ピント領域検出部103は、入力と出力とが対応づけられた学習用データセットを用いて機械学習を行うことにより生成された学習済みモデルを用いて、多視点画像TGの各画像におけるピントの合った領域を検出するようにしてもよい。この場合、学習用データセットの入力は、学習用の入力画像である。学習用データセットの出力は、学習用の入力画像におけるピントの合った領域を示す情報である。これにより、複雑な画像処理を行わなくとも、ピントの合った領域を検出することができる。
【0068】
また、第1の実施形態の三次元形状モデル生成装置1では、距離算出部104は、ピント領域検出部103によりピントが合っていると判定された画素に対応する対応画素であって、三次元形状モデルMを二次元平面に投影させた投影画像の対応画素におけるデプス値を、投影画像の対応画素における仮想距離とするようにしてもよい。これにより、三次元形状モデルMを生成する過程において求めたデプス値から、容易に仮想距離を求めることができる。
【0069】
また、第1の実施形態の三次元形状モデル生成装置1では、スケール推定部105は、多視点画像TGを撮像したカメラのカメラパラメータから算出される被写界深度に基づき、現実距離を導出するようにしてもよい。これにより、現実距離を、容易に導出することができる。
【0070】
また、第1の実施形態の三次元形状モデル生成装置1では、スケール推定部105は、多視点画像TGを撮像したカメラのフォーカス機能から得られる距離に基づき、現実距離を導出するようにしてもよい。これにより、現実距離を、容易に導出することができる。
【0071】
また、第1の実施形態の三次元形状モデル生成装置1では、距離算出部104は、検出されたピントが合っている領域に含まれる画素のデプス値に応じた距離を、投影画像に対応する点に対応させることにより、投影画像の画素ごとの仮想距離を算出するようにしてもよい。これにより、現実距離を、容易に導出することができる。
【0072】
また、第1の実施形態の三次元形状モデル生成装置1では、距離算出部104は、検出されたピントが合っている領域に含まれる画素のデプス値に応じた距離を、投影画像に対応する点に対応させることにより、投影画像の画素ごとの仮想距離を算出し、算出した画素ごとの仮想距離を、統計的手法を用いて統合することにより、投影画像の仮想距離を算出するようにしてもよい。これにより、投影画像の画素ごとの仮想距離に、誤差がある場合であっても、統計的手法を用いて統合することにより誤差を低減させた、より確からしい仮想距離を算出することが可能である。
【0073】
(第1の実施形態の変形例1)
次に、第1の実施形態の変形例1について説明する。本変形例では、ピント領域検出部103によりピントが合っていると判定された画素が、エッジであるか否かに応じて、仮想距離を算出する点において、上述した実施形態と相違する。
【0074】
一般に、対象物Tのエッジに対応する画素のデプス値には、誤差が多く含まれる傾向にある。このため、画素が対象物Tのエッジに対応するか否かに応じて、仮想距離を算出すれば、算出する仮想距離の精度を向上させることが可能である。
【0075】
例えば、距離算出部104は、エッジに該当する画素のデプス値を仮想距離の算出に用いない、或いは、エッジに該当する画素のデプス値に乗算する重みづけを、他の画素と比較して小さい値に設定する。距離算出部104は、例えば、多視点画像TGにおいてピントが合っている領域の画素がエッジであるか否かを判定する。距離算出部104は、エッジであるか否かを、例えば、Canny法によるエッジ検出の手法を用いて検出する。距離算出部104は、複数の多視点画像TGの各々における、ピントの合った領域に含まれる画素のうち、エッジでないと判定された画素のデプス値のみを投影画像の画素に対応させることにより、投影画像の各画素の仮想距離を決定する。距離算出部104は、投影画像の各画素における仮想距離のそれぞれに対し、統計的な処理を行うことにより、投影画像における最も確からしい仮想距離(仮想距離の真値)を算出する。
或いは、距離算出部104は、投影画像における対応画素がエッジであるか否かを判定し、対応画素がエッジでないと判定された画素のみを用いて、投影画像における最も確からしい仮想距離(仮想距離の真値)を算出するようにしてもよい。
【0076】
以上説明したように、第1の実施形態の変形例に係る三次元形状モデル生成装置1では、距離算出部104は、ピント領域検出部103によりピントが合っていると判定された画素が、エッジであるか否かを画像処理により判定した判定結果に基づき、仮想距離を算出する。或いは、距離算出部104は、投影画像における対応画素がエッジであるか否かを判定し、対応画素がエッジでないと判定された画素のみを用いて、投影画像における最も確からしい仮想距離(仮想距離の真値)を算出するようにしてもよい。すなわち、距離算出部104は、多視点画像TGにおいてピントが合っている領域の画素がエッジであるか否かの判定結果、及び投影画像における対応画素がエッジであるか否かの判定結果の少なくとも一方の判定結果を用いて、投影画像における最も確からしい仮想距離(仮想距離の真値)を算出する。これにより、誤差が含まれる可能性が高いデプス値が、仮想距離の計算に与える影響を低減させることが可能である。
【0077】
(第1の実施形態の変形例2)
次に、第1の実施形態の変形例2について説明する。本変形例では、ピント領域検出部103によりピントが合っていると判定された画素のデプス値に重みづけをする点において、上述した実施形態と相違する。
【0078】
距離算出部104は、ピントが合っている領域に含まれる画素のデプス値に応じた距離を、ピントが合った度合いに応じて重みづけする。距離算出部104は、よりピントが合っている(ピントが合った度合いが大きい)場合に重みづけの乗算値が大きくなるように、重みづけを設定する。距離算出部104は、よりピントが合っていない(ピントが合った度合いが小さい)場合に重みづけの乗算値が小さくなるように、重みづけを設定する。距離算出部104は、重みづけした距離を、投影画像に対応する点に対応させることにより、投影画像の画素ごとの仮想距離を算出する。
【0079】
また、距離算出部104は、ピントが合っている領域に含まれる画素のデプス値に応じた距離を、その距離の大きさに応じて重みづけするようにしてもよい。距離算出部104は、距離が小さい(カメラの視点位置に近い)場合に重みづけの乗算値が大きくなるように、重みづけを設定する。距離算出部104は、距離が大きい(カメラの視点位置から遠い)場合に重みづけの乗算値が小さくなるように、重みづけを設定する。距離算出部104は、重みづけした距離を、投影画像に対応する点に対応させることにより、投影画像の画素ごとの仮想距離を算出する。
【0080】
以上説明したように、第1の実施形態の変形例2に係る三次元形状モデル生成装置1では、ピント領域検出部103は、画素ごとにピントが合った度合いを検出し、距離算出部104は、ピントが合っている領域に含まれる画素のデプス値に応じた距離を、ピントが合った度合いに応じて重みづけする。これにより、ピントが合った度合いを仮想距離の算出に反映させることができ、より精度よく仮想距離を算出することが可能となる。
【0081】
また、第1の実施形態の変形例2に係る三次元形状モデル生成装置1では、距離算出部104は、ピントが合っている領域に含まれる画素のデプス値に応じた距離を、当該距離の大きさに応じて重みづけする。一般に、カメラの視点位置から遠ざかるにしたがって、被写体までの距離uに含まれる誤差が大きくなる傾向にある。このため、視点位置からの距離に応じた重みづけを行うことにより、より精度よく仮想距離を算出することが可能となる。
【0082】
(第1の実施形態の変形例3)
次に、第1の実施形態の変形例3について説明する。本実施形態では、投影画像の1つの画素に対応する、複数の多視点画像TGの画素の奥行値のばらつきを考慮して、投影画像の仮想距離を算出する点において、上述した実施形態と相違する。
【0083】
例えば、距離算出部104は、投影画像の画素ごとに、その画素に対応する多視点画像TGの画素を抽出する。距離算出部104は、投影画像の一つの画素に対応する多視点画像TGの画素が複数ある場合、その複数の画素における奥行値のばらつきの度合いを算出する。ばらつきの度合いの算出には、分散など、任意の統計的手法が用いられてよい。距離算出部104は、多視点画像TGの画素における奥行値のばらつきの度合いが所定の閾値より大きい場合、投影画像におけるその画素の仮想距離を、投影画像の仮想距離(仮想距離の真値)の算出に用いない。一方、距離算出部104は、奥行値のばらつきの度合いが所定の閾値より小さい場合、投影画像におけるその画素の仮想距離を、投影画像の仮想距離(仮想距離の真値)の算出に用いるようにする。
【0084】
以上説明したように、第1の実施形態の変形例3に係る三次元形状モデル生成装置1では、距離算出部104は、投影画像の画素に対応する複数の多視点画像TGの画素における奥行値のばらつきの度合いに応じて、投影画像におけるその画素の仮想距離を、投影画像の仮想距離の算出に用いるか否かを判定する。これにより、画素ごとの奥行値のばらつきが大きい場合には、投影画像の仮想距離の算出に用いないようにすることができ、より精度よく投影画像の仮想距離を算出することが可能である。
【0085】
(第2の実施形態)
次に、第2の実施形態について説明する。以下の説明においては、上述した実施形態と異なる部分についてのみ説明し、同じ部分については同等の符号を付してその説明を省略する。
【0086】
本実施形態においては、スケール値SCを推定する際に用いる現実距離を、キャリブレーションにより求める点において、上述した実施形態と相違する。現実距離を、キャリブレーションにより求めることにより、より精度よく現実距離を求めることができ、三次元形状モデルMの実際の寸法を、さらに精度よく推定することが可能となる。
【0087】
図7は、第2の実施形態に係る三次元形状モデル生成装置1Aの構成の例を示すブロック図である。三次元形状モデル生成装置1Aは、マーカスケール推定部110を備える。
マーカスケール推定部110は、マーカ三次元形状モデルMMの投影画像におけるスケール値SCを推定する。マーカ三次元形状モデルMMは、マーカが付された対象物Tの三次元形状モデルである。マーカは、実際の寸法が既知の印である。
【0088】
マーカスケール推定部110は、第1の実施形態における、スケール推定部105がおこなう処理と同様の処理にて、マーカ三次元形状モデルMM(
図8参照)の投影画像におけるスケール値SCを推定する。ただし、マーカ多視点画像MTGでは、画像に撮像されたマーカを手掛かりとして実際の寸法が判る。この実際の寸法に基づいて、仮想距離ではなく、現実距離を求める。
【0089】
具体的に、画像データ取得部101は、マーカが付された対象物Tの多視点画像であるマーカ多視点画像MTGを取得する。
三次元形状生成部102は、マーカ多視点画像MTGを用いてマーカ三次元形状モデルMMを生成する。
ピント領域検出部103は、マーカ多視点画像MTGにおけるブラーマップを生成する。
距離算出部104は、マーカ多視点画像MTGにおいてピントの合った領域について、その領域に含まれる画素ごとの現実距離を算出する。
距離算出部104は、マーカ三次元形状モデルMMの投影画像の各画素に、上記で算出した画素ごとの現実距離を対応させることにより、投影画像の各画素の現実距離を算出する。
距離算出部104は、投影画像の各画素の現実距離のばらつきに対し、統計的な処理を行うことにより、投影画像における最も確からしい現実距離(現実距離の真値)を算出する。
マーカスケール推定部110は、距離算出部104により算出された現実距離(現実距離の真値)、および、第1の実施形態において距離算出部104により算出された仮想距離(仮想距離の真値)を用いて、スケール値SCを推定する。
【0090】
以上説明したように、第2の実施形態の三次元形状モデル生成装置1Aでは、マーカスケール推定部110を備える。マーカスケール推定部110は、実際の寸法が既知であるマーカの三次元形状モデルMを、実際の寸法に基づいてスケール補正した、補正済み三次元形状モデルに基づいて、現実距離を導出する。スケール推定部105は、マーカスケール推定部110により推定された現実距離を用いて、スケール値SCを推定する。これにより、より精度が高い現実距離を用いて、スケール値SCを推定することが可能である。
【0091】
(第2の実施形態の変形例1)
次に、第2の実施形態の変形例1について説明する。本変形例では、学習済みモデルに学習させる学習用データセットの内容が、上述した実施形態と相違する。
【0092】
本変形例では、学習用データセットの入力を、補正済みの投影画像とする。補正済みの投影画像は、補正済みのマーカ三次元形状モデルMMを、二次元平面に投影させた画像である。補正済みのマーカ三次元形状モデルMMとは、マーカが付された対象物Tの多視点画像であるマーカ多視点画像MTGを用いて生成された、マーカ三次元形状モデルMMを、マーカの実際の値に応じて拡大又は縮小させることにより、マーカが付された対象物Tの実際の寸法に補正したモデルである。
【0093】
また、学習用データセットの出力を、補正済みの投影画像における画素ごとのデプス値に基づいて判定した、補正済みの投影画像におけるピントの合った領域を示す情報とする。
【0094】
以上説明したように、第2の実施形態の変形例1に係る三次元形状モデル生成装置1Aでは、学習用データセットの入力は、実際の寸法が既知であるマーカの三次元形状モデルを、マーカの実際の寸法に基づいてスケール補正した補正済み三次元形状モデルに基づいて、補正済み三次元形状モデルを二次元平面に投影させた、補正済みの投影画像であり、学習用データセットの出力は、補正済みの投影画像における画素ごとのデプス値に基づいて判定した、投影画像におけるピントの合った領域を示す情報である。これにより、第2の実施形態の変形例1に係る三次元形状モデル生成装置1Aでは、補正済みの投影画像(すなわち、実際の寸法の情報をもつ投影画像)と、その補正済みの投影画像の画素ごとのデプス値(すなわち、実際の被写体までの距離)に応じて、ピントが合っているか否を学習させることができる。これにより、学習済みモデルを、被写界深度に応じてピントが合っているか否かを推測するモデルとすることができる。学習済みモデルが、被写界深度に応じてピントが合っているか否かを推測することにより、仮想距離を被写界深度の範囲内に収めて、仮想距離に含まれる誤差を低減させることが可能である。
【0095】
上述した実施形態における三次元形状モデル生成装置1の全部または一部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【0096】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0097】
1…三次元形状モデル生成装置
101…画像データ取得部
102…三次元形状生成部
103…ピント領域検出部
104…距離算出部
105…スケール推定部
106…スケール変換部
107…画像データ記憶部
108…三次元形状記憶部
109…スケール情報記憶部
110…マーカスケール推定部