特許第6041641号(P6041641)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 三菱スペース・ソフトウエア株式会社の特許一覧

特許6041641寸法推定装置、寸法推定プログラムおよび寸法推定方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6041641
(24)【登録日】2016年11月18日
(45)【発行日】2016年12月14日
(54)【発明の名称】寸法推定装置、寸法推定プログラムおよび寸法推定方法
(51)【国際特許分類】
   G01B 11/02 20060101AFI20161206BHJP
   G06T 1/00 20060101ALI20161206BHJP
【FI】
   G01B11/02 H
   G06T1/00 315
【請求項の数】23
【全頁数】49
(21)【出願番号】特願2012-262394(P2012-262394)
(22)【出願日】2012年11月30日
(65)【公開番号】特開2014-109440(P2014-109440A)
(43)【公開日】2014年6月12日
【審査請求日】2015年10月26日
(73)【特許権者】
【識別番号】591102095
【氏名又は名称】三菱スペース・ソフトウエア株式会社
(74)【代理人】
【識別番号】100099461
【弁理士】
【氏名又は名称】溝井 章司
(74)【代理人】
【識別番号】100122035
【弁理士】
【氏名又は名称】渡辺 敏雄
(72)【発明者】
【氏名】青木 佳史
【審査官】 岸 智史
(56)【参考文献】
【文献】 特開2010−008352(JP,A)
【文献】 特開2004−219255(JP,A)
【文献】 特開2010−266202(JP,A)
【文献】 特開2012−194002(JP,A)
【文献】 米国特許出願公開第2009/0039167(US,A1)
【文献】 T. Shakunaga and H. Kaneko,Shape from angles under perspective projection,Proceedings of International Conference on Computer Vision 1988,IEEE,1988年,pp. 671-678
(58)【調査した分野】(Int.Cl.,DB名)
G01B 11/00−11/30
(57)【特許請求の範囲】
【請求項1】
対象物を斜め方向から撮像した対象画像に映っている前記対象物の幅方向と高さ方向と奥行き方向とに沿う3つの基準線分を前記対象画像の二次元の座標値を用いて表す基準線分情報を生成する基準線分情報生成部と、
前記基準線分情報生成部によって生成された前記基準線分情報と、前記対象画像の撮像パラメータとに基づいて、前記対象物の前記幅方向と前記高さ方向と前記奥行き方向とを三次元のベクトル値を用いて表す3つの基準軸ベクトルを算出する基準軸ベクトル算出部と、
前記基準軸ベクトル算出部によって算出された前記3つの基準軸ベクトルのうち少なくともいずれかの基準軸ベクトルを用いて、前記対象画像に映っている前記対象物のうち長さが既知の線分であるリファレンス線分のベクトル値を、リファレンス線分ベクトルとして算出するリファレンス線分ベクトル算出部と、
前記基準軸ベクトル算出部によって算出された前記3つの基準軸ベクトルのうち少なくともいずれかの基準軸ベクトルを用いて、前記対象画像に映っている前記対象物のうち長さが未知の線分である計測線分のベクトル値を、計測線分ベクトルとして算出する計測線分ベクトル算出部と、
前記リファレンス線分の既知の長さと、前記リファレンス線分ベクトル算出部によって算出された前記リファレンス線分ベクトルと、前記計測線分ベクトル算出部によって算出された前記計測線分ベクトルとを用いて、前記計測線分の長さを算出する計測線分長算出部と
を備えることを特徴とする寸法推定装置。
【請求項2】
前記リファレンス線分ベクトル算出部は、
前記対象画像が撮像された位置を示す座標点Pから前記リファレンス線分の一方の端点Pへの向きを有する単位ベクトルVを算出し、
前記座標点Pから前記リファレンス線分の他方の端点Pへの向きを有する単位ベクトルVを算出し、
前記単位ベクトルVと、前記単位ベクトルVと、前記3つの基準軸ベクトルのうち少なくともいずれかの基準軸ベクトルとを用いて、前記リファレンス線分ベクトルを算出する
ことを特徴とする請求項1記載の寸法推定装置。
【請求項3】
前記リファレンス線分ベクトル算出部は、
前記座標点Pから前記リファレンス線分の前記端点PへのベクトルVを得るための媒介変数tを、前記3つの基準軸ベクトルのうちいずれかの基準軸ベクトルを用いて算出し、
前記座標点Pから前記リファレンス線分の前記端点PへのベクトルVを得るための媒介変数tを、前記いずれかの基準軸ベクトルを用いて算出し、
前記ベクトルVと前記ベクトルVとを用いて、前記リファレンス線分ベクトルを算出する
ことを特徴とする請求項2記載の寸法推定装置。
【請求項4】
前記リファレンス線分ベクトル算出部は、以下の式(101)を計算して前記リファレンス線分ベクトルLを算出する、ことを特徴とする請求項3記載の寸法推定装置。
【数101】
【請求項5】
前記リファレンス線分ベクトル算出部は、前記3つの基準軸ベクトルの原点Pの座標値を用いると共に基準軸ベクトルOzを前記いずれかの基準軸ベクトルとして用いて以下の式(102)を計算し、前記媒介変数tと前記媒介変数tとを算出する、ことを特徴とする請求項4記載の寸法推定装置。
【数102】
【請求項6】
前記計測線分ベクトル算出部は、
前記対象画像が撮像された位置を示す座標点Pから前記計測線分の一方の端点Pmsへの向きを有する単位ベクトルVmsを算出し、
前記座標点Pから前記リファレンス線分の他方の端点Pmeへの向きを有する単位ベクトルVmeを算出し、
前記単位ベクトルVmsと、前記単位ベクトルVmeと、前記3つの基準軸ベクトルのうち少なくともいずれかの基準軸ベクトルとを用いて、前記計測線分ベクトルを算出する
ことを特徴とする請求項1から請求項5のいずれかに記載の寸法推定装置。
【請求項7】
前記計測線分ベクトル算出部は、
前記座標点Pから前記計測線分の前記端点PmsへのベクトルVmsmsを得るための媒介変数tmsを、前記3つの基準軸ベクトルのうちいずれかの基準軸ベクトルを用いて算出し、
前記座標点Pから前記計測線分の前記端点PmeへのベクトルVmemeを得るための媒介変数tmeを、前記いずれかの基準軸ベクトルを用いて算出し、
前記ベクトルVmsmsと前記ベクトルVmemeとを用いて、前記リファレンス線分ベクトルを算出する
ことを特徴とする請求項6記載の寸法推定装置。
【請求項8】
前記計測線分ベクトル算出部は、以下の式(103)を計算して前記計測線分ベクトルLを算出する、ことを特徴とする請求項7記載の寸法推定装置。
【数103】
【請求項9】
前記計測線分ベクトル算出部は、前記3つの基準軸ベクトルの原点Pの座標値を用いると共に基準軸ベクトルOxを前記いずれかの基準軸ベクトルとして用いて以下の式(104)を計算し、前記媒介変数tmsと前記媒介変数tmeとを算出する、ことを特徴とする請求項8記載の寸法推定装置。
【数104】
【請求項10】
前記計測線分長算出部は、前記リファレンス線分ベクトルに対する前記計測線分ベクトルの大きさの比率に前記リファレンス線分の既知の長さを乗じた値を前記計測線分の長さとして算出する
ことを特徴とする請求項1から請求項9のいずれかに記載の寸法推定装置。
【請求項11】
前記基準軸ベクトル算出部は、
前記基準線分情報と前記撮像パラメータとに基づいて、前記対象物の前記幅方向と前記高さ方向と前記奥行き方向とを表す3つの単位ベクトルであって、FPM(First Perspective Moving)座標系またはSPM(Second Perspective Moving)座標系の3つの単位ベクトルを算出し、
FPM座標系またはSPM座標系の前記3つの単位ベクトルを用いて、ワールド座標系の3つのベクトルを前記3つの基準軸ベクトルとして算出する
ことを特徴とする請求項1から請求項10のいずれかに記載の寸法推定装置。
【請求項12】
対象物を斜め方向から撮像した対象画像に映っている前記対象物の幅方向と高さ方向と奥行き方向とに沿う3つの基準線分を前記対象画像の二次元の座標値を用いて表す基準線分情報を生成する基準線分情報生成処理と、
前記基準線分情報生成処理によって生成された前記基準線分情報と、前記対象画像の撮像パラメータとに基づいて、前記対象物の前記幅方向と前記高さ方向と前記奥行き方向とを三次元のベクトル値を用いて表す3つの基準軸ベクトルを算出する基準軸ベクトル算出処理と、
前記基準軸ベクトル算出処理によって算出された前記3つの基準軸ベクトルのうち少なくともいずれかの基準軸ベクトルを用いて、前記対象画像に映っている前記対象物のうち長さが既知の線分であるリファレンス線分のベクトル値を、リファレンス線分ベクトルとして算出するリファレンス線分ベクトル算出処理と、
前記基準軸ベクトル算出処理によって算出された前記3つの基準軸ベクトルのうち少なくともいずれかの基準軸ベクトルを用いて、前記対象画像に映っている前記対象物のうち長さが未知の線分である計測線分のベクトル値を、計測線分ベクトルとして算出する計測線分ベクトル算出処理と、
前記リファレンス線分の既知の長さと、前記リファレンス線分ベクトル算出処理によって算出された前記リファレンス線分ベクトルと、前記計測線分ベクトル算出処理によって算出された前記計測線分ベクトルとを用いて、前記計測線分の長さを算出する計測線分長算出処理と
をコンピュータに実行させるための寸法推定プログラム。
【請求項13】
前記リファレンス線分ベクトル算出処理は、
前記対象画像が撮像された位置を示す座標点Pから前記リファレンス線分の一方の端点Pへの向きを有する単位ベクトルVを算出する処理と、
前記座標点Pから前記リファレンス線分の他方の端点Pへの向きを有する単位ベクトルVを算出する処理と、
前記単位ベクトルVと、前記単位ベクトルVと、前記3つの基準軸ベクトルのうち少なくともいずれかの基準軸ベクトルとを用いて、前記リファレンス線分ベクトルを算出する処理とを含む
ことを特徴とする請求項12記載の寸法推定プログラム。
【請求項14】
前記リファレンス線分ベクトル算出処理は、
前記座標点Pから前記リファレンス線分の前記端点PへのベクトルVを得るための媒介変数tを、前記3つの基準軸ベクトルのうちいずれかの基準軸ベクトルを用いて算出する処理と、
前記座標点Pから前記リファレンス線分の前記端点PへのベクトルVを得るための媒介変数tを、前記いずれかの基準軸ベクトルを用いて算出する処理と、
前記ベクトルVと前記ベクトルVとを用いて、前記リファレンス線分ベクトルを算出する処理とを含む
ことを特徴とする請求項13記載の寸法推定プログラム。
【請求項15】
前記リファレンス線分ベクトル算出処理は、以下の式(101)を計算して前記リファレンス線分ベクトルLを算出する処理を含む、ことを特徴とする請求項14記載の寸法推定プログラム。
【数105】
【請求項16】
前記リファレンス線分ベクトル算出処理は、前記3つの基準軸ベクトルの原点Pの座標値を用いると共に基準軸ベクトルOzを前記いずれかの基準軸ベクトルとして用いて以下の式(102)を計算し、前記媒介変数tと前記媒介変数tとを算出する処理を含む、ことを特徴とする請求項15記載の寸法推定プログラム。
【数106】
【請求項17】
前記計測線分ベクトル算出処理は、
前記対象画像が撮像された位置を示す座標点Pから前記計測線分の一方の端点Pmsへの向きを有する単位ベクトルVmsを算出する処理と、
前記座標点Pから前記リファレンス線分の他方の端点Pmeへの向きを有する単位ベクトルVmeを算出する処理と、
前記単位ベクトルVmsと、前記単位ベクトルVmeと、前記3つの基準軸ベクトルのうち少なくともいずれかの基準軸ベクトルとを用いて、前記計測線分ベクトルを算出する処理とを含む
ことを特徴とする請求項12から請求項16のいずれかに記載の寸法推定プログラム。
【請求項18】
前記計測線分ベクトル算出処理は、
前記座標点Pから前記計測線分の前記端点PmsへのベクトルVmsmsを得るための媒介変数tmsを、前記3つの基準軸ベクトルのうちいずれかの基準軸ベクトルを用いて算出する処理と、
前記座標点Pから前記計測線分の前記端点PmeへのベクトルVmemeを得るための媒介変数tmeを、前記いずれかの基準軸ベクトルを用いて算出する処理と、
前記ベクトルVmsmsと前記ベクトルVmemeとを用いて、前記リファレンス線分ベクトルを算出する処理とを含む
ことを特徴とする請求項17記載の寸法推定プログラム。
【請求項19】
前記計測線分ベクトル算出処理は、以下の式(103)を計算して前記計測線分ベクトルLを算出する処理を含む、ことを特徴とする請求項18記載の寸法推定プログラム。
【数107】
【請求項20】
前記計測線分ベクトル算出処理は、前記3つの基準軸ベクトルの原点Pの座標値を用いると共に基準軸ベクトルOxを前記いずれかの基準軸ベクトルとして用いて以下の式(104)を計算し、前記媒介変数tmsと前記媒介変数tmeとを算出する処理を含む、ことを特徴とする請求項19記載の寸法推定プログラム。
【数108】
【請求項21】
前記計測線分長算出処理は、前記リファレンス線分ベクトルに対する前記計測線分ベクトルの大きさの比率に前記リファレンス線分の既知の長さを乗じた値を前記計測線分の長さとして算出する処理を含む
ことを特徴とする請求項12から請求項20のいずれかに記載の寸法推定プログラム。
【請求項22】
前記基準軸ベクトル算出処理は、
前記基準線分情報と前記撮像パラメータとに基づいて、前記対象物の前記幅方向と前記高さ方向と前記奥行き方向とを表す3つの単位ベクトルであって、FPM(First Perspective Moving)座標系またはSPM(Second Perspective Moving)座標系の3つの単位ベクトルを算出する処理と、
FPM座標系またはSPM座標系の前記3つの単位ベクトルを用いて、ワールド座標系の3つのベクトルを前記3つの基準軸ベクトルとして算出する処理とを含む
ことを特徴とする請求項12から請求項21のいずれかに記載の寸法推定プログラム。
【請求項23】
基準線分情報生成部が、対象物を斜め方向から撮像した対象画像に映っている前記対象物の幅方向と高さ方向と奥行き方向とに沿う3つの基準線分を前記対象画像の二次元の座標値を用いて表す基準線分情報を生成し、
基準軸ベクトル算出部が、前記基準線分情報生成部によって生成された前記基準線分情報と、前記対象画像の撮像パラメータとに基づいて、前記対象物の前記幅方向と前記高さ方向と前記奥行き方向とを三次元のベクトル値を用いて表す3つの基準軸ベクトルを算出し、
リファレンス線分ベクトル算出部が、前記基準軸ベクトル算出部によって算出された前記3つの基準軸ベクトルのうち少なくともいずれかの基準軸ベクトルを用いて、前記対象画像に映っている前記対象物のうち長さが既知の線分であるリファレンス線分のベクトル値を、リファレンス線分ベクトルとして算出し、
計測線分ベクトル算出部が、前記基準軸ベクトル算出部によって算出された前記3つの基準軸ベクトルのうち少なくともいずれかの基準軸ベクトルを用いて、前記対象画像に映っている前記対象物のうち長さが未知の線分である計測線分のベクトル値を、計測線分ベクトルとして算出し、
計測線分長算出部が、前記リファレンス線分の既知の長さと、前記リファレンス線分ベクトル算出部によって算出された前記リファレンス線分ベクトルと、前記計測線分ベクトル算出部によって算出された前記計測線分ベクトルとを用いて、前記計測線分の長さを算出する
ことを特徴とする寸法推定方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、写真に映っている被写体の寸法を計測するための寸法推定装置、寸法推定プログラムおよび寸法推定方法に関するものである。
【背景技術】
【0002】
写真に映った被写体の寸法を計測する方法としてステレオ計測が知られている。ステレオ計測とは、被写体を異なる方向から撮影し、撮影時の視差を利用して三角測量の原理で被写体の寸法を計測する方法である。
しかし、海上の不審船などを監視する監視業務のように監視対象を撮影する回数または角度が限定される場合、適当な視差を確保しながら監視対象を異なる方向から撮影することができない。そのため、ステレオ計測によって監視対象の正確な寸法を計測することは困難である。
【0003】
また、大きさが既知である比較部分を含んだ被写体が写真に映っている場合、被写体の計測部分と比較部分との大きさを比較することによって、被写体の計測部分の寸法を計測することができる。
但し、被写体が斜め方向から撮影されている場合、被写体の手前側の部分と奥側の部分とで写真に映る大きさが異なるため、被写体の計測部分の寸法を正確に計測することができない。
【0004】
図36は、従来の寸法計測方法の概要図である。
例えば、被写体の円部分の直径「2メートル」が既知であるものとする(図36の(a))。ここで、被写体は正面から撮像されているものとする(図36の(b))。
この場合、被写体の円部分の画素数「20」と被写体の高さ方向の画素数「40」との比率「2(=40/20)」と、被写体の円部分の直径「2メートル」とを用いて、被写体の高さ「4メートル(=2×2メートル)」を算出することができる(図36の(c)(d))。
同様に、被写体の円部分の画素数「20」と被写体の幅方向の画素数「120」との比率「6(=120/20)」と、被写体の円部分の直径「2メートル」とを用いて、被写体の幅「12メートル(=6×2メートル)」を算出することができる(図36の(c)(d))。
但し、被写体が斜め方向から撮像されている場合(図36の(e))、被写体の手前側の部分d2と奥側の部分d1とで写真に映る大きさが異なるため、被写体の高さまたは幅を正確に計測することができない。
【0005】
非特許文献1には、斜め方向から撮影された被写体が映っている1枚の写真から被写体が映っている向きを表す三次元の姿勢ベクトルを算出する方法が開示されている。
しかし、被写体が映っている向きを表す三次元の姿勢ベクトルに基づいて被写体の寸法を計測する方法は開示も示唆もされていない。
【0006】
特許文献1には、視覚に基づく三次元位置および姿勢の認識方法が開示されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開平7−98214号公報
【非特許文献】
【0008】
【非特許文献1】T.Shakunaga,H.Kaneko, ‘Perspective angle transform: Principle for shape from angles’, International Journal of Computer Vision, vol.3, no.3, pp.239−254, 1989.
【発明の概要】
【発明が解決しようとする課題】
【0009】
本発明は、例えば、対象物を斜め方向から撮像した対象画像を用いて対象物の寸法を正確に計測できるようにすることを目的とする。
【課題を解決するための手段】
【0010】
本発明の寸法推定装置は、
対象物を斜め方向から撮像した対象画像に映っている前記対象物の幅方向と高さ方向と奥行き方向とに沿う3つの基準線分を前記対象画像の二次元の座標値を用いて表す基準線分情報を生成する基準線分情報生成部と、
前記基準線分情報生成部によって生成された前記基準線分情報と、前記対象画像の撮像パラメータとに基づいて、前記対象物の前記幅方向と前記高さ方向と前記奥行き方向とを三次元のベクトル値を用いて表す3つの基準軸ベクトルを算出する基準軸ベクトル算出部と、
前記基準軸ベクトル算出部によって算出された前記3つの基準軸ベクトルのうち少なくともいずれかの基準軸ベクトルを用いて、前記対象画像に映っている前記対象物のうち長さが既知の線分であるリファレンス線分のベクトル値を、リファレンス線分ベクトルとして算出するリファレンス線分ベクトル算出部と、
前記基準軸ベクトル算出部によって算出された前記3つの基準軸ベクトルのうち少なくともいずれかの基準軸ベクトルを用いて、前記対象画像に映っている前記対象物のうち長さが未知の線分である計測線分のベクトル値を、計測線分ベクトルとして算出する計測線分ベクトル算出部と、
前記リファレンス線分の既知の長さと、前記リファレンス線分ベクトル算出部によって算出された前記リファレンス線分ベクトルと、前記計測線分ベクトル算出部によって算出された前記計測線分ベクトルとを用いて、前記計測線分の長さを算出する計測線分長算出部とを備える。
【0011】
前記リファレンス線分ベクトル算出部は、
前記対象画像が撮像された位置を示す座標点Pから前記リファレンス線分の一方の端点Pへの向きを有する単位ベクトルVを算出し、
前記座標点Pから前記リファレンス線分の他方の端点Pへの向きを有する単位ベクトルVを算出し、
前記単位ベクトルVと、前記単位ベクトルVと、前記3つの基準軸ベクトルのうち少なくともいずれかの基準軸ベクトルとを用いて、前記リファレンス線分ベクトルを算出する。
【0012】
前記リファレンス線分ベクトル算出部は、
前記座標点Pから前記リファレンス線分の前記端点PへのベクトルVを得るための媒介変数tを、前記3つの基準軸ベクトルのうちいずれかの基準軸ベクトルを用いて算出し、
前記座標点Pから前記リファレンス線分の前記端点PへのベクトルVを得るための媒介変数tを、前記いずれかの基準軸ベクトルを用いて算出し、
前記ベクトルVと前記ベクトルVとを用いて、前記リファレンス線分ベクトルを算出する。
【0013】
前記リファレンス線分ベクトル算出部は、以下の式(101)を計算して前記リファレンス線分ベクトルLを算出する。
【0014】
【数1】
【0015】
前記リファレンス線分ベクトル算出部は、前記3つの基準軸ベクトルの原点Pの座標値を用いると共に基準軸ベクトルOzを前記いずれかの基準軸ベクトルとして用いて以下の式(102)を計算し、前記媒介変数tと前記媒介変数tとを算出する。
【0016】
【数2】
【0017】
前記計測線分ベクトル算出部は、
前記対象画像が撮像された位置を示す座標点Pから前記計測線分の一方の端点Pmsへの向きを有する単位ベクトルVmsを算出し、
前記座標点Pから前記リファレンス線分の他方の端点Pmeへの向きを有する単位ベクトルVmeを算出し、
前記単位ベクトルVmsと、前記単位ベクトルVmeと、前記3つの基準軸ベクトルのうち少なくともいずれかの基準軸ベクトルとを用いて、前記計測線分ベクトルを算出する。
【0018】
前記計測線分ベクトル算出部は、
前記座標点Pから前記計測線分の前記端点PmsへのベクトルVmsmsを得るための媒介変数tmsを、前記3つの基準軸ベクトルのうちいずれかの基準軸ベクトルを用いて算出し、
前記座標点Pから前記計測線分の前記端点PmeへのベクトルVmemeを得るための媒介変数tmeを、前記いずれかの基準軸ベクトルを用いて算出し、
前記ベクトルVmsmsと前記ベクトルVmemeとを用いて、前記リファレンス線分ベクトルを算出する。
【0019】
前記計測線分ベクトル算出部は、以下の式(103)を計算して前記計測線分ベクトルLを算出する。
【0020】
【数3】
【0021】
前記計測線分ベクトル算出部は、前記3つの基準軸ベクトルの原点Pの座標値を用いると共に基準軸ベクトルOxを前記いずれかの基準軸ベクトルとして用いて以下の式(104)を計算し、前記媒介変数tmsと前記媒介変数tmeとを算出する。
【0022】
【数4】
【0023】
前記計測線分長算出部は、前記リファレンス線分ベクトルに対する前記計測線分ベクトルの大きさの比率に前記リファレンス線分の既知の長さを乗じた値を前記計測線分の長さとして算出する。
【0024】
前記基準軸ベクトル算出部は、
前記基準線分情報と前記撮像パラメータとに基づいて、前記対象物の前記幅方向と前記高さ方向と前記奥行き方向とを表す3つの単位ベクトルであって、FPM(First Perspective Moving)座標系またはSPM(Second Perspective Moving)座標系の3つの単位ベクトルを算出し、
FPM座標系またはSPM座標系の前記3つの単位ベクトルを用いて、ワールド座標系の3つのベクトルを前記3つの基準軸ベクトルとして算出する。
【0025】
本発明の寸法推定プログラムは、
対象物を斜め方向から撮像した対象画像に映っている前記対象物の幅方向と高さ方向と奥行き方向とに沿う3つの基準線分を前記対象画像の二次元の座標値を用いて表す基準線分情報を生成する基準線分情報生成処理と、
前記基準線分情報生成処理によって生成された前記基準線分情報と、前記対象画像の撮像パラメータとに基づいて、前記対象物の前記幅方向と前記高さ方向と前記奥行き方向とを三次元のベクトル値を用いて表す3つの基準軸ベクトルを算出する基準軸ベクトル算出処理と、
前記基準軸ベクトル算出処理によって算出された前記3つの基準軸ベクトルのうち少なくともいずれかの基準軸ベクトルを用いて、前記対象画像に映っている前記対象物のうち長さが既知の線分であるリファレンス線分のベクトル値を、リファレンス線分ベクトルとして算出するリファレンス線分ベクトル算出処理と、
前記基準軸ベクトル算出処理によって算出された前記3つの基準軸ベクトルのうち少なくともいずれかの基準軸ベクトルを用いて、前記対象画像に映っている前記対象物のうち長さが未知の線分である計測線分のベクトル値を、計測線分ベクトルとして算出する計測線分ベクトル算出処理と、
前記リファレンス線分の既知の長さと、前記リファレンス線分ベクトル算出処理によって算出された前記リファレンス線分ベクトルと、前記計測線分ベクトル算出処理によって算出された前記計測線分ベクトルとを用いて、前記計測線分の長さを算出する計測線分長算出処理と
をコンピュータに実行させる。
【0026】
前記リファレンス線分ベクトル算出処理は、
前記対象画像が撮像された位置を示す座標点Pから前記リファレンス線分の一方の端点Pへの向きを有する単位ベクトルVを算出する処理と、
前記座標点Pから前記リファレンス線分の他方の端点Pへの向きを有する単位ベクトルVを算出する処理と、
前記単位ベクトルVと、前記単位ベクトルVと、前記3つの基準軸ベクトルのうち少なくともいずれかの基準軸ベクトルとを用いて、前記リファレンス線分ベクトルを算出する処理とを含む。
【0027】
前記リファレンス線分ベクトル算出処理は、
前記座標点Pから前記リファレンス線分の前記端点PへのベクトルVを得るための媒介変数tを、前記3つの基準軸ベクトルのうちいずれかの基準軸ベクトルを用いて算出する処理と、
前記座標点Pから前記リファレンス線分の前記端点PへのベクトルVを得るための媒介変数tを、前記いずれかの基準軸ベクトルを用いて算出する処理と、
前記ベクトルVと前記ベクトルVとを用いて、前記リファレンス線分ベクトルを算出する処理とを含む。
【0028】
前記リファレンス線分ベクトル算出処理は、以下の式(101)を計算して前記リファレンス線分ベクトルLを算出する処理を含む。
【0029】
【数5】
【0030】
前記リファレンス線分ベクトル算出処理は、前記3つの基準軸ベクトルの原点Pの座標値を用いると共に基準軸ベクトルOzを前記いずれかの基準軸ベクトルとして用いて以下の式(102)を計算し、前記媒介変数tと前記媒介変数tとを算出する処理を含む。
【0031】
【数6】
【0032】
前記計測線分ベクトル算出処理は、
前記対象画像が撮像された位置を示す座標点Pから前記計測線分の一方の端点Pmsへの向きを有する単位ベクトルVmsを算出する処理と、
前記座標点Pから前記リファレンス線分の他方の端点Pmeへの向きを有する単位ベクトルVmeを算出する処理と、
前記単位ベクトルVmsと、前記単位ベクトルVmeと、前記3つの基準軸ベクトルのうち少なくともいずれかの基準軸ベクトルとを用いて、前記計測線分ベクトルを算出する処理とを含む。
【0033】
前記計測線分ベクトル算出処理は、
前記座標点Pから前記計測線分の前記端点PmsへのベクトルVmsmsを得るための媒介変数tmsを、前記3つの基準軸ベクトルのうちいずれかの基準軸ベクトルを用いて算出する処理と、
前記座標点Pから前記計測線分の前記端点PmeへのベクトルVmemeを得るための媒介変数tmeを、前記いずれかの基準軸ベクトルを用いて算出する処理と、
前記ベクトルVmsmsと前記ベクトルVmemeとを用いて、前記リファレンス線分ベクトルを算出する処理とを含む。
【0034】
前記計測線分ベクトル算出処理は、以下の式(103)を計算して前記計測線分ベクトルLを算出する処理を含む。
【0035】
【数7】
【0036】
前記計測線分ベクトル算出処理は、前記3つの基準軸ベクトルの原点Pの座標値を用いると共に基準軸ベクトルOxを前記いずれかの基準軸ベクトルとして用いて以下の式(104)を計算し、前記媒介変数tmsと前記媒介変数tmeとを算出する処理を含む。
【0037】
【数8】
【0038】
前記計測線分長算出処理は、前記リファレンス線分ベクトルに対する前記計測線分ベクトルの大きさの比率に前記リファレンス線分の既知の長さを乗じた値を前記計測線分の長さとして算出する処理を含む。
【0039】
前記基準軸ベクトル算出処理は、
前記基準線分情報と前記撮像パラメータとに基づいて、前記対象物の前記幅方向と前記高さ方向と前記奥行き方向とを表す3つの単位ベクトルであって、FPM(First Perspective Moving)座標系またはSPM(Second Perspective Moving)座標系の3つの単位ベクトルを算出する処理と、
FPM座標系またはSPM座標系の前記3つの単位ベクトルを用いて、ワールド座標系の3つのベクトルを前記3つの基準軸ベクトルとして算出する処理とを含む。
【0040】
本発明の寸法推定方法は、
基準線分情報生成部が、対象物を斜め方向から撮像した対象画像に映っている前記対象物の幅方向と高さ方向と奥行き方向とに沿う3つの基準線分を前記対象画像の二次元の座標値を用いて表す基準線分情報を生成し、
基準軸ベクトル算出部が、前記基準線分情報生成部によって生成された前記基準線分情報と、前記対象画像の撮像パラメータとに基づいて、前記対象物の前記幅方向と前記高さ方向と前記奥行き方向とを三次元のベクトル値を用いて表す3つの基準軸ベクトルを算出し、
リファレンス線分ベクトル算出部が、前記基準軸ベクトル算出部によって算出された前記3つの基準軸ベクトルのうち少なくともいずれかの基準軸ベクトルを用いて、前記対象画像に映っている前記対象物のうち長さが既知の線分であるリファレンス線分のベクトル値を、リファレンス線分ベクトルとして算出し、
計測線分ベクトル算出部が、前記基準軸ベクトル算出部によって算出された前記3つの基準軸ベクトルのうち少なくともいずれかの基準軸ベクトルを用いて、前記対象画像に映っている前記対象物のうち長さが未知の線分である計測線分のベクトル値を、計測線分ベクトルとして算出し、
計測線分長算出部が、前記リファレンス線分の既知の長さと、前記リファレンス線分ベクトル算出部によって算出された前記リファレンス線分ベクトルと、前記計測線分ベクトル算出部によって算出された前記計測線分ベクトルとを用いて、前記計測線分の長さを算出する。
【発明の効果】
【0041】
本発明によれば、例えば、対象物を斜め方向から撮像した対象画像を用いて対象物の寸法を正確に計測することができる。
【図面の簡単な説明】
【0042】
図1】実施の形態1における画像寸法推定装置100の機能構成図である。
図2】実施の形態1における画像寸法推定方法を示すフローチャートである。
図3】実施の形態1における写真画像101の一例を示す図である。
図4】実施の形態1における姿勢基準軸[lx,ly,lz]の一例を示す図である。
図5】実施の形態1における姿勢基準軸[lx,ly,lz]の一例を示す図である。
図6】実施の形態1における撮影パラメータ139の関係図である。
図7】実施の形態1における撮影パラメータ設定処理(S130)の一例を示すフローチャートである。
図8】実施の形態1におけるリファレンス設定部150の構成図である。
図9】実施の形態1におけるリファレンス設定処理(S150)を示すフローチャートである。
図10】実施の形態1における基準軸ベクトル投影処理(S151)の概要図である。
図11】実施の形態1における基準軸ベクトル移動処理(S153)の概要図である。
図12】実施の形態1におけるリファレンス線分設定処理(S154)の概要図である。
図13】実施の形態1におけるリファレンス線分設定処理(S155)の概要図である。
図14】実施の形態1におけるリファレンス線分ベクトル算出処理(S156)の概要図である。
図15】実施の形態1における寸法推定部160の構成図である。
図16】実施の形態1における寸法推定処理(S160)を示すフローチャートである。
図17】実施の形態1におけるS161からS165の概要図である。
図18】実施の形態1におけるS166の概要図である。
図19】実施の形態1における基準軸ベクトル推定処理(S140)を示すフローチャートである。
図20】実施の形態1における基準軸ベクトル算出処理[FPM座標系](S142)を示すフローチャートである。
図21】実施の形態1における端点単位ベクトル算出処理(S142A)の概要図である。
図22】実施の形態1における交点単位ベクトル算出処理(S142B)の概要図である。
図23】実施の形態1におけるFPM座標面算出処理(S142C)の概要図である。
図24】実施の形態1におけるFPM座標面ベクトル算出処理(S142D)の概要図である。
図25】実施の形態1におけるFPM座標系の単位ベクトル算出処理(S142E)の概要図である。
図26】実施の形態1における被写体座標系の基準軸ベクトルの関係図である。
図27】実施の形態1における基準軸ベクトル算出処理[SPM座標系](S143)を示すフローチャートである。
図28】実施の形態1における交点単位ベクトル算出処理(S143A)の概要図である。
図29】実施の形態1におけるSPM座標面算出処理(S143B)の概要図である。
図30】実施の形態1における姿勢基準軸投影処理(S143C)の概要図である。
図31】実施の形態1におけるSPM座標系の単位ベクトル算出処理(S143D)の概要図である。
図32】実施の形態1におけるSPM座標面内の姿勢基準軸の関係図である。
図33】実施の形態1における基準原点算出処理(S143F)の概要図である。
図34】実施の形態1における画像寸法推定装置100のハードウェア資源の一例を示す図である。
図35】実施の形態1における被写体102の三次元モデルを表す図である。
図36】従来の寸法計測方法の概要図である。
【発明を実施するための形態】
【0043】
実施の形態1.
被写体を斜め方向から撮像した一枚の画像を用いて被写体の寸法を正確に計測する形態について説明する。
【0044】
図1は、実施の形態1における画像寸法推定装置100の機能構成図である。
実施の形態1における画像寸法推定装置100の機能構成について、図1に基づいて説明する。
【0045】
画像寸法推定装置100(寸法推定装置の一例)は、写真画像表示部110、姿勢基準軸設定部120(基準線分情報生成部の一例)、撮影パラメータ設定部130、基準軸ベクトル推定部140(基準軸ベクトル算出部の一例)、リファレンス設定部150(リファレンス線分ベクトル算出部の一例)、寸法推定部160(計測線分ベクトル算出部、計測線分長算出部の一例)および推定結果出力部170を備える。
また、画像寸法推定装置100は、写真画像データベース180、装置記憶部190および入力機器109を備える。
【0046】
写真画像表示部110は、入力機器109を用いて入力される写真画像101をディスプレイに表示する。
姿勢基準軸設定部120は、写真画像101に映っている被写体の姿勢基準軸を写真画像101の二次元の座標値を用いて示す姿勢基準軸データ129を生成する。
撮影パラメータ設定部130は、写真画像101を撮影した際にカメラに設定された撮影パラメータ139を取得する。
基準軸ベクトル推定部140は、姿勢基準軸データ129と撮影パラメータ139とを用いて、写真画像101に映っている被写体の姿勢を表す三次元の基準軸ベクトル149を算出する。
リファレンス設定部150は、基準軸ベクトル149を用いて、写真画像101に映っている被写体のうち長さが既知の線分であるリファレンス線分を表す三次元のリファレンス線分ベクトル159aを算出する。また、リファレンス設定部150は、リファレンス線分の既知の長さとしてリファレンス線分長159bを取得する。
寸法推定部160は、基準軸ベクトル149とリファレンス線分ベクトル159aとリファレンス線分長159bとを用いて、写真画像101に映っている被写体のうち長さが未知の線分である計測線分の長さを示す計測線分長169を算出する。
推定結果出力部170は、計測線分長169を出力する。
【0047】
写真画像データベース180は、写真画像101と計測線分長169とを対応付けて記憶するデータベースである。
【0048】
装置記憶部190は、画像寸法推定装置100で使用するデータを記憶する。
例えば、写真画像101、姿勢基準軸データ129、撮影パラメータ139、基準軸ベクトル149、リファレンス線分ベクトル159a、リファレンス線分長159bおよび計測線分長169は、装置記憶部190に記憶されるデータの一例である。
【0049】
図2は、実施の形態1における画像寸法推定方法を示すフローチャートである。
実施の形態1における画像寸法推定方法について、図2に基づいて説明する。
【0050】
S110において、利用者は、キーボードまたはマウスなどの入力機器109を用いて写真画像101を指定する。
写真画像表示部110は、利用者の指定に従って、CDドライブまたはスキャナなどの入力機器109から写真画像101を取得する。例えば、写真画像表示部110は、CDドライブに挿入されたCD(コンパクトディスク)から写真画像101を読み出す。または、写真画像表示部110は、写真画像101を読み取ったスキャナから写真画像101を受け取る。但し、写真画像表示部110は、CDドライブまたはスキャナ以外の入力機器109から写真画像101を取得しても構わない。
写真画像表示部110は、取得した写真画像101をディスプレイに表示する。
図3は、実施の形態1における写真画像101の一例を示す図である。
図3に示すように、写真画像101は、被写体102を斜めの方向から撮像して得られた画像である。
S110の後、処理はS120に進む。
【0051】
S120において、利用者は、入力機器109を用いて、写真画像101に映っている被写体102の姿勢を表す3つの線分を被写体102の姿勢基準軸として指定する。
被写体102の姿勢を表す3つの線分とは、被写体102の幅方向を表す線分と、被写体102の奥行き方向を表す線分と、被写体102の高さ方向を表す線分との3つの線分のことである。
姿勢基準軸設定部120は、指定された姿勢基準軸を写真画像101の二次元の座標値を用いて特定し、姿勢基準軸を表す姿勢基準軸データ129を生成する。写真画像101の二次元の座標値とは、写真画像101の横方向の座標値および写真画像101の縦方向の座標値である。
図4図5は、実施の形態1における姿勢基準軸[lx,ly,lz]の一例を示す図である。
図4に示すように、利用者は、マウスを操作することによってマウスカーソル109aを移動し、被写体102の高さ方向の辺に沿った線分lxと、被写体102の奥行き方向の辺に沿った線分lyと、被写体102の幅方向の辺に沿った線分lzとを指定する。但し、利用者は、マウス以外の入力機器109(例えば、キーボード)を用いて3つの線分lx、ly、lzを指定しても構わない。
例えば、姿勢基準軸設定部120は、線分lxの両端の二次元の座標値と、線分lyの両端の二次元の座標値と、線分lzの両端の二次元の座標値とを特定し、特定した各座標値を含んだデータを姿勢基準軸データ129として生成する。
利用者は、図4に示すように1点で交わっている3つの線分lx、ly、lzを指定してもよいし、図5に示すように1点で交わっていない3つの線分lx、ly、lzを指定してもよい。
S120の後、処理はS130に進む。
但し、S120はS130の後に実行してもよいし、S130と並行して実行しても構わない。
【0052】
S130において、撮影パラメータ設定部130は、写真画像101を撮像したカメラの焦点距離、CCD(Charge Coupled Device)の縦方向のサイズまたはレンズの縦方向の視野角などを撮影パラメータ139として取得する。CCDはイメージセンサの一例である。
以下、CCDの縦方向のサイズを縦方向CCDサイズという。また、レンズの縦方向の視野角を縦方向視野角という。
図6は、実施の形態1における撮影パラメータ139の関係図である。焦点距離、縦方向CCDサイズおよび縦方向視野角は、図6に示すような関係にある。
撮影パラメータ設定部130は、焦点距離、縦方向CCDサイズまたは縦方向視野角に相当する他の撮影パラメータ139を取得しても構わない。
【0053】
図7は、実施の形態1における撮影パラメータ設定処理(S130)の一例を示すフローチャートである。
実施の形態1における撮影パラメータ設定処理(S130)について、図7に基づいて説明する。
【0054】
S131において、撮影パラメータ設定部130は、撮影パラメータ139に関する付加情報が写真画像101に付加されているか否かを判定する。
例えば、Exif(Exchangeable image file format)は、写真画像101に付加される付加情報の一例である。
写真画像101に付加情報が付加されている場合(YES)、処理はS132に進む。
写真画像101に付加情報が付加されていない場合(NO)、処理はS136aに進む。
【0055】
S132において、撮影パラメータ設定部130は、写真画像101の付加情報に焦点距離が含まれているか否かを判定する。
写真画像101の付加情報に焦点距離が含まれている場合(YES)、処理はS133aに進む。
写真画像101の付加情報に焦点距離が含まれていない場合(NO)、処理はS133bに進む。
【0056】
S133aにおいて、撮影パラメータ設定部130は、写真画像101の付加情報から焦点距離を取得する。
S133aの後、処理はS134に進む。
【0057】
S133bにおいて、撮影パラメータ設定部130は、焦点距離の入力を要求するメッセージをディスプレイに表示する。
そして、利用者は入力機器109を用いて焦点距離を入力し、撮影パラメータ設定部130は入力された焦点距離を取得する。
S133bの後、処理はS134に進む。
【0058】
S134において、撮影パラメータ設定部130は、写真画像101の付加情報に縦方向CCDサイズが含まれているか否かを判定する。
写真画像101の付加情報に縦方向CCDサイズが含まれている場合(YES)、処理はS135aに進む。
写真画像101の付加情報に縦方向CCDサイズが含まれていない場合(NO)、処理はS135bに進む。
【0059】
S135aにおいて、撮影パラメータ設定部130は、写真画像101の付加情報から縦方向CCDサイズを取得する。
S135aの後、処理はS137に進む。
【0060】
S135bにおいて、撮影パラメータ設定部130は、縦方向CCDサイズの入力を要求するメッセージをディスプレイに表示する。
そして、利用者は入力機器109を用いて縦方向CCDサイズを入力し、撮影パラメータ設定部130は入力された縦方向CCDサイズを取得する。
但し、写真画像101の付加情報に焦点距離が含まれる場合、撮影パラメータ設定部130は、焦点距離に基づいて縦方向CCDサイズを算出してもよい。例えば、焦点距離が35mm換算の値である場合、縦方向CCDサイズは35mmである(mm:ミリメートル)。
S135bの後、処理はS137に進む。
【0061】
S136aにおいて、撮影パラメータ設定部130は、S135bと同様に、利用者によって入力された縦方向CCDサイズを取得する。
S136aの後、処理はS136bに進む。
【0062】
S136bにおいて、撮影パラメータ設定部130は、S133bと同様に、利用者によって入力された焦点距離を取得する。
S136bの後、処理はS137に進む。
【0063】
S137において、撮影パラメータ設定部130は、縦方向CCDサイズと焦点距離とを用いて、縦方向視野角を算出する。
例えば、撮影パラメータ設定部130は、以下の式(1)を計算することによって縦方向視野角を算出する。
【0064】
【数9】
【0065】
但し、写真画像101の付加情報に縦方向視野角が含まれる場合、撮影パラメータ設定部130は写真画像101の付加情報から縦方向視野角を取得してもよい。また、撮影パラメータ設定部130は、縦方向視野角の入力を要求するメッセージを表示し、利用者によって入力された縦方向視野角を取得してもよい。
S137により、撮影パラメータ設定処理(S130)は終了する。
【0066】
図2に戻り、画像寸法推定方法の説明を続ける。
S130の後、処理はS140に進む。
【0067】
S140において、基準軸ベクトル推定部140は、S120で生成された姿勢基準軸データ129と、S130で取得された撮影パラメータ139とを用いて、写真画像101に映っている被写体102の姿勢を表す基準軸ベクトル149を算出する。基準軸ベクトル149とは、被写体102の姿勢を表す三次元のベクトル値である。
例えば、基準軸ベクトル推定部140は、非特許文献1に開示されている技術を適用して基準軸ベクトル149を算出する。
非特許文献1の技術を利用する基準軸ベクトル推定処理(S140)については、別途説明する。
S140の後、処理はS150に進む。
【0068】
S150において、リファレンス設定部150は、基準軸ベクトル149を用いて、写真画像101に映っている被写体102のリファレンス線分を表すリファレンス線分ベクトル159aを算出する。リファレンス線分とは、被写体102のうち長さが既知である線分である。例えば、リファレンス線分は利用者によって指定される。
さらに、リファレンス設定部150は、リファレンス線分の長さ(リファレンス線分長159b)を取得する。
【0069】
リファレンス設定部150およびリファレンス設定処理(S150)の詳細について、以下に説明する。
【0070】
図8は、実施の形態1におけるリファレンス設定部150の構成図である。
実施の形態1におけるリファレンス設定部150の構成について、図8に基づいて説明する。
【0071】
リファレンス設定部150は、基準軸ベクトル投影部151、リファレンス線分設定部152、リファレンス線分ベクトル算出部153(リファレンス線分ベクトル算出部の一例)およびリファレンス線分長取得部154を備える。
基準軸ベクトル投影部151は、写真画像101に映っている被写体102に基準軸ベクトル149を投影して表示する。
リファレンス線分設定部152は、リファレンス線分の情報を取得し、写真画像101に映っている被写体102にリファレンス線分を描画する。
リファレンス線分ベクトル算出部153は、被写体102に投影された基準軸ベクトル149を用いて、リファレンス線分ベクトル159aを算出する。
リファレンス線分長取得部154は、既知であるリファレンス線分長159bを取得する。
【0072】
図9は、実施の形態1におけるリファレンス設定処理(S150)を示すフローチャートである。
実施の形態1におけるリファレンス設定処理(S150)について、図9に基づいて説明する。
【0073】
S151において、基準軸ベクトル投影部151は、写真画像101に映っている被写体102に、基準軸ベクトル149を投影して表示する(図10参照)。
写真画像101への投影とは、三次元の基準軸ベクトル149を写真画像面の二次元のベクトルに変換することである。写真画像面とは、カメラから焦点距離だけ離れた座標点を含んでカメラの視線方向と直交する平面である。また、写真画像面に被写体102を投影した画像が写真画像101に相当する。
例えば、基準軸ベクトル投影部151は、被写体102の3つの線分(姿勢基準軸)の交点、またはいずれかの線分の端点に基準軸ベクトル149を投影する。
以下、基準軸ベクトル149を表す3つのベクトル[Ox,Oy,Oz]のうち2つのベクトル(例えば、OyとOz)が成す平面を「基準平面」という。
また、被写体102のうち大きさが分かっている部分を「リファレンス」という。
図10は、実施の形態1における基準軸ベクトル投影処理(S151)の概要図である。図10の「P」は基準軸ベクトル149の原点を示している。
S151の後、処理はS152に進む。
【0074】
S152において、利用者は、被写体102のうち大きさが分かっているリファレンスに基準軸ベクトル149が投影されているか否かを判定する。
基準軸ベクトル149がリファレンスに投影されている場合(YES)、処理はS156に進む。
基準軸ベクトル149がリファレンスに投影されていない場合、つまり、基準軸ベクトル149がリファレンス以外の部分に投影されている場合(NO)、処理はS153に進む。
【0075】
S153において、利用者は、マウスを操作し、マウスカーソル109aを用いて基準軸ベクトル149を被写体102のリファレンスに移動させる。但し、利用者は、マウス以外の入力機器109(例えば、キーボード)を用いて、基準軸ベクトル149を移動させても構わない。
基準軸ベクトル投影部151は、利用者による基準軸ベクトル149の移動に従って、基準軸ベクトル149を被写体102のリファレンスに投影して表示する。
【0076】
図11は、実施の形態1における基準軸ベクトル移動処理(S153)の概要図である。
例えば、利用者は、図11の(1)(2)に示す手順で、基準軸ベクトル149を被写体102のリファレンスに移動させる。移動前の基準軸ベクトル149を点線で記し、移動後の基準軸ベクトル149を実線で記す。
(1)利用者は、基準平面(Oy−Oz平面)内で基準軸ベクトル149を移動させる。
基準軸ベクトル投影部151は、基準平面内の移動先に基準軸ベクトル149を投影する。
(2)利用者は、基準平面と直交する法線ベクトル(Ox)の方向に基準軸ベクトル149を移動させる。
基準軸ベクトル投影部151は、移動先のリファレンスに基準軸ベクトル149を投影する。
以下、リファレンスに移動後の基準軸ベクトル149が表す基準平面(Oy−Oz平面)を「リファレンス平面」という。
S153(図9)の後、処理はS154に進む。
【0077】
S154において、利用者は、マウスを操作し、マウスカーソル109aを用いて被写体102のリファレンスにリファレンス線分を指定する。リファレンス線分とは、リファレンスのうち長さが既知である線分である。利用者は、マウス以外の入力機器109を利用してリファレンス線分を指定しても構わない。
リファレンス線分設定部152は、利用者の指定に従ってリファレンス線分を描画する(図12参照)。
図12は、実施の形態1におけるリファレンス線分設定処理(S154)の概要図である。
S154の後、処理はS156に進む。
【0078】
S155において、利用者は、S154と同様に、被写体102のリファレンスにリファレンス線分を指定する。
リファレンス線分設定部152は、利用者の指定に従ってリファレンス線分を描画する(図13参照)。
図13は、実施の形態1におけるリファレンス線分設定処理(S155)の概要図である。
S155の後、処理はS156に進む。
【0079】
S156において、リファレンス線分ベクトル算出部153は、基準軸ベクトル149を用いてリファレンス線分ベクトル159aを算出する。
リファレンス線分ベクトル159aは、リファレンス線分を表す三次元のベクトル値である。
【0080】
図14は、実施の形態1におけるリファレンス線分ベクトル算出処理(S156)の概要図である。
例えば、リファレンス線分ベクトル算出部153は、図14の(1)(2)に示す手順で、リファレンス線分ベクトルLrを算出する。
(1)リファレンス線分ベクトル算出部153は、写真画像面lv(Ez)内のリファレンス線分の端点Psおよび端点Peの座標値を取得する。
そして、リファレンス線分ベクトル算出部153は、カメラの中心点Pcから端点Psまたは端点Peへの向きを示す単位ベクトルVsおよび単位ベクトルVeを算出する。カメラの中心点Pcは、写真画像101を撮像したときのカメラの位置を示す座標点、つまり、写真画像101が撮像された位置を示す座標点である。
(2)リファレンス線分ベクトル算出部153は、単位ベクトルVsおよび単位ベクトルVeを用いてリファレンス線分ベクトルLrを算出する。
リファレンス線分ベクトルLrは、以下の各式を用いて算出することができる。
【0081】
リファレンスが成すリファレンス平面Γrは、以下の式(2)で表すことができる。
【0082】
【数10】
【0083】
カメラの座標点Pcとリファレンス線分の端点Psとを通る直線lsは、単位ベクトルVsを用いて、以下の式(3s)で表すことができる。
同様に、カメラの座標点Pcとリファレンス線分の端点Peとを通る直線leは、単位ベクトルVeを用いて、以下の式(3e)で表すことができる。
【0084】
【数11】
【0085】
上記の直線lsの式(3s)をxyz成分に分解すると以下の式(4s)が得られる。
同様に、上記の直線leの式(3e)をxyz成分に分解すると以下の式(4e)が得られる。
【0086】
【数12】
【0087】
上記の直線lsの分解式(4s)を上記のリファレンス平面Γrの式(2)に代入して展開すると、以下の式(5s)が得られる。
同様に、直線leの分解式(4e)を上記のリファレンス平面Γrの式(2)に代入して展開すると、以下の式(5e)が得られる。
【0088】
【数13】
【0089】
但し、上記の式(5s)(5e)において、リファレンス平面ΓrがOx−Oy平面でなく、Ox−Oz平面である場合、基準軸ベクトルOz(xoz,yoz,zoz)は基準軸ベクトルOy(xoy,yoy,zoy)に置き換わる。
同様に、リファレンス平面がOy−Oz平面である場合、基準軸ベクトルOz(xoz,yoz,zoz)は基準軸ベクトルOx(xox,yox,zox)に置き換わる。
【0090】
リファレンス線分ベクトル算出部153は、上記の式(5s)を計算して媒介変数tを算出し、上記の式(5e)を計算して媒介変数tを算出する。
【0091】
媒介変数tは端点Psを得るための変数値である。つまり、媒介変数tはカメラの中心点Pcから端点PsへのベクトルVを得るための変数値である。
同様に、媒介変数tは端点Peを得るための変数値である。つまり、媒介変数tはカメラの中心点Pcから端点PeへのベクトルVを得るための変数値である。
【0092】
リファレンス線分ベクトル算出部153は、媒介変数値tと媒介変数値tとを以下の式(6)に代入し、リファレンス線分ベクトルLrを算出する。
【0093】
【数14】
【0094】
上記のS156により、リファレンス線分ベクトル159a(Lr)が算出される。
S156(図9)の後、処理はS157に進む。
【0095】
S157において、利用者は、入力機器109を用いて、既知であるリファレンス線分長159bを入力する。
リファレンス線分長取得部154は、入力されたリファレンス線分長159bを取得する。
S157の後、リファレンス設定処理(S150)は終了する。
【0096】
図2に戻り、画像寸法推定方法の説明を続ける。
リファレンス設定処理(S150)の後、処理はS160に進む。
【0097】
S160において、寸法推定部160は、リファレンス設定処理(S150)と同様に、基準軸ベクトル149を用いて計測線分ベクトルを算出する。
そして、寸法推定部160は、計測線分ベクトルと、リファレンス線分ベクトル159aと、リファレンス線分長159bとを用いて、計測線分長169を算出する。
計測線分ベクトルとは、計測線分を表す三次元のベクトル値である。計測線分とは、被写体102のうち長さが未知である線分、つまり、計測する対象部分の線分である。例えば、計測線分は利用者によって指定される。
【0098】
寸法推定部160および寸法推定処理(S160)の詳細について、以下に説明する。
【0099】
図15は、実施の形態1における寸法推定部160の構成図である。
実施の形態1における寸法推定部160の構成について、図15に基づいて説明する。
【0100】
寸法推定部160は、基準軸ベクトル投影部161、計測線分設定部162、計測線分ベクトル算出部163(計測線分ベクトル算出部の一例)および計測線分長算出部164(計測線分長算出部の一例)を備える。
基準軸ベクトル投影部161は、写真画像101に映っている被写体102に基準軸ベクトル149を投影して表示する。
計測線分設定部162は、計測線分の情報を取得し、写真画像101に映っている被写体102に計測線分を描画する。
計測線分ベクトル算出部163は、被写体102に投影された基準軸ベクトル149を用いて、計測線分ベクトルを算出する。
計測線分長算出部164は、計測線分ベクトルと、リファレンス線分ベクトル159aと、リファレンス線分長159bとを用いて、計測線分長169を算出する。
【0101】
図16は、実施の形態1における寸法推定処理(S160)を示すフローチャートである。
実施の形態1における寸法推定処理(S160)について、図16に基づいて説明する。
【0102】
寸法推定処理(S160)のS161からS166は、リファレンス設定処理(S150)(図9参照)のS151からS156と同様である。
つまり、S151からS156の「リファレンス」を「計測部分」に置き換え、「リファレンス平面」を「計測平面」に置き換え、「リファレンス線分」を「計測線分」に置き換えた処理がS161からS166である。
【0103】
図17は、実施の形態1におけるS161からS165の概要図である。
S161からS165の処理概要を図17に示す。図17はS151からS155の概要図(図11から図13)に相当する。
基準軸ベクトル投影部161は、写真画像101に映っている被写体102に基準軸ベクトル149を投影して表示する(S161)。
基準軸ベクトル149が被写体102の計測部分に投影されていない場合(S162:YES)、基準軸ベクトル投影部161は、基準軸ベクトル149を被写体102の計測部分に移動する(S163)。
計測線分設定部162は、利用者の指定に従って計測線分を描画する(S164、S165)。
【0104】
図18は、実施の形態1におけるS166の概要図である。
S166の処理概要を図18に示す。図18はS156の概要図(図14)に相当する。
計測線分ベクトル算出部163は、計測部分に投影された基準軸ベクトル149を用いて、計測線分ベクトルLmを算出する(S166)。
【0105】
つまり、計測線分ベクトル算出部163は、カメラの中心点Pcから計測線分の端点Pmsへの単位ベクトルVmsと、カメラの中心点Pcから計測線分の端点Pmeへの単位ベクトルVmeとを算出する。
また、計測線分ベクトル算出部163は、以下の式(7s)を計算して媒介変数tmsを算出し、以下の式(7e)を計算して媒介変数tmeを算出する。
そして、計測線分ベクトル算出部163は、媒介変数tmsと媒介変数tmeとを用いて以下の式(7m)を計算し、計測線分ベクトルLmを算出する。
【0106】
【数15】
【0107】
但し、上記の式(7s)(7e)において、計測平面ΓmがOy−Oz平面でなく、Ox−Oz平面である場合、基準軸ベクトルOx(xox,yox,zox)は基準軸ベクトルOy(xoy,yoy,zoy)に置き換わる。
同様に、リファレンス平面がOx−Oy平面である場合、基準軸ベクトルOx(xox,yox,zox)は基準軸ベクトルOz(xoz,yoz,zoz)に置き換わる。
【0108】
媒介変数tmsは端点Pmsを得るための変数値である。つまり、媒介変数tmsはカメラの中心点Pcから端点PmsへのベクトルVmsmsを得るための変数値である。
同様に、媒介変数tmeは端点Pmeを得るための変数値である。つまり、媒介変数tmeはカメラの中心点Pcから端点PmeへのベクトルVmemeを得るための変数値である。
【0109】
S167(図16参照)において、計測線分長算出部164は、S166で算出した計測線分ベクトルと、リファレンス設定部150によって算出されたリファレンス線分ベクトル159aと、リファレンス設定部150によって取得されたリファレンス線分長159bとを用いて、計測線分長169を算出する。
【0110】
以下に、計測線分長lm_trueを算出するための式(8)を示す。
以下の式(8)において、「Lm」は計測線分ベクトルであり、「Lr」はリファレンス線分ベクトル159aであり、「lr_true」はリファレンス線分長159bである。
【0111】
【数16】
【0112】
つまり、計測線分長算出部164は、リファレンス線分ベクトルに対する計測線分ベクトルの大きさの比率をリファレンス線分長に乗じた値を計測線分長169として算出する。
S167の後、寸法推定処理(S160)は終了する。
【0113】
図2に戻り、画像寸法推定方法の説明を続ける。
寸法推定処理(S160)の後、処理はS170に進む。
【0114】
S170において、推定結果出力部170は、S160で算出された計測線分長169を出力する。
例えば、推定結果出力部170は、計測線分長169をディスプレイ911に表示する。
また、推定結果出力部170は、計測線分長169と写真画像101(計測線分または計測線分ベクトルなどの情報を含む)とを対応付けて写真画像データベース180に記憶する。
計測部分は新たなリファレンスとして利用することができ、計測線分長169は新たな既知のリファレンス線分長として利用することができる。
【0115】
次に、非特許文献1の技術を利用する基準軸ベクトル推定処理(S140)について説明する。
【0116】
図19は、実施の形態1における基準軸ベクトル推定処理(S140)を示すフローチャートである。
実施の形態1における基準軸ベクトル推定処理(S140)について、図19に基づいて説明する。
【0117】
S141において、基準軸ベクトル推定部140は、姿勢基準軸データ129に基づいて、被写体102の姿勢基準軸[lx,ly,lz]が図4のように一点で交わっているか、または図5のように一点で交わっていないか判定する。
姿勢基準軸[lx,ly,lz]が一点で交わる場合(YES)、処理はS142に進む。
姿勢基準軸[lx,ly,lz]が一点で交わらない場合(NO)、処理はS143に進む。
【0118】
S142において、基準軸ベクトル推定部140は、非特許文献1で定義されたFPM座標系を用いて基準軸ベクトル149を算出する。
FPMはFirst Perspective Movingの略である。
基準軸ベクトル算出処理[FPM座標系](S142)の詳細については別途説明する。
S142の後、基準軸ベクトル推定処理(S140)は終了する。
【0119】
S143において、基準軸ベクトル推定部140は、非特許文献1で定義されたSPM座標系を用いて基準軸ベクトル149を算出する。
SPMはSecond Perspective Movingの略である。
基準軸ベクトル推定処理[SPM座標系](S143)の詳細については別途説明する。
S143の後、基準軸ベクトル推定処理(S140)は終了する。
【0120】
図20は、実施の形態1における基準軸ベクトル算出処理[FPM座標系](S142)を示すフローチャートである。
FPM座標系を用いる基準軸ベクトル算出処理(S142)について、図20に基づいて説明する。
【0121】
S142Aにおいて、基準軸ベクトル推定部140は、カメラの中心点Pcから写真画像面lv(Ez)内の姿勢基準軸[lx,ly,lz]の端点への単位ベクトル[Ex,Ey,Ez]を算出する(図21参照)。
以下、単位ベクトル[Ex,Ey,Ez]を「端点単位ベクトル」という。
図21は、実施の形態1における端点単位ベクトル算出処理(S142A)の概要図である。
S142Aの後、処理はS142Bに進む。
【0122】
S142Bにおいて、基準軸ベクトル推定部140は、カメラの中心点Pcから写真画像面lv(Ez)内の姿勢基準軸の交点lへの単位ベクトルEcを算出する(図22参照)。
以下、単位ベクトルEcを「交点単位ベクトル」という。
図22は、実施の形態1における交点単位ベクトル算出処理(S142B)の概要図である。
S142Bの後、処理はS142Cに進む。
【0123】
S142Cにおいて、基準軸ベクトル推定部140は、カメラの中心点Pcから交点単位ベクトルEcの方向に焦点距離fだけ離れた座標点Pfを算出する(図23の(1)参照)。
基準軸ベクトル推定部140は、座標点Pfを含んで交点単位ベクトルEcと直交する平面lv(Ec)を算出する(図23の(2)参照)。つまり、交点単位ベクトルEcは平面lv(Ec)の法線ベクトルになる。
以下、平面lv(Ec)を「FPM座標面」という。また、座標点Pfを「FPM座標原点」という。
図23は、実施の形態1におけるFPM座標面算出処理(S142C)の概要図である。
S142Cの後、処理はS142Dに進む。
【0124】
S142Dにおいて、基準軸ベクトル推定部140は、端点単位ベクトル[Ex,Ey,Ez]を含んだ直線とFPM座標面lv(Ec)との交点[Px’,Py’,Pz’]を算出する(図24の(1)参照)。
基準軸ベクトル推定部140は、FPM座標原点Pfから交点[Px’,Py’,Pz’]へのベクトル[Gx,Gy,Gz]を算出する(図24の(2)参照)。
以下、ベクトル[Gx,Gy,Gz]を「FPM座標面ベクトル」という。
図24は、実施の形態1におけるFPM座標面ベクトル算出処理(S142D)の概要図である。
S142Dの後、処理はS142Eに進む。
【0125】
S142Eにおいて、基準軸ベクトル推定部140は、FPM座標面ベクトル[Gx,Gy,Gz]のいずれかのベクトル(例えば、Gx)を選択する。
基準軸ベクトル推定部140は、選択したFPM座標面ベクトル(Gx)の単位ベクトルEa(=Gx/|Gx|)を算出する(図25参照)。
基準軸ベクトル推定部140は、交点単位ベクトルEcと単位ベクトルEaとの外積ベクトルEb(=Ec×Ea)を算出する(図25参照)。
単位べクトルEaはFPM座標系のA軸の単位ベクトルであり、外積ベクトルEbはFPM座標系のB軸の単位ベクトルであり、交点単位ベクトルEcはFPM座標系のC軸の単位ベクトルである。単位ベクトル[Ea,Eb,Ec]は「正規直交基底」ともいう。
図25は、実施の形態1におけるFPM座標系の単位ベクトル算出処理(S142E)の概要図である。
S142Eの後、処理はS142Fに進む。
【0126】
S142Fにおいて、基準軸ベクトル推定部140は、FPM座標面ベクトル[Gx,Gy,Gz]を用いて、被写体座標系の基準軸ベクトル[E1,E2,E3]を算出する。
被写体座標系とは被写体102に設定したローカル座標系である。また、基準軸ベクトル[E1,E2,E3]は、被写体座標系の単位ベクトル(正規直交基底)である。
図26は、実施の形態1における被写体座標系の基準軸ベクトルの関係図である。
図26において、GzとGyとが成す見かけの角度Δβ、GxとGyとが成す見かけの角度βおよびGxとGzとが成す見かけの角度βは、以下の式(11)で表すことができる。
【0127】
【数17】
【0128】
さらに、E1とE2とが成す実際の角度ΔαのtanΔαは、E3とFPM座標系のC軸とが成す角度ψとを用いて、以下の式(12)で表すことができる。
【0129】
【数18】
【0130】
ここで、被写体102の基準軸ベクトル[E1,E2]が成す角度Δαは90度であるから、上記の式(12)は、以下の式(13)に展開することができる。
【0131】
【数19】
【0132】
そして、被写体座標系の基準軸ベクトル[E1,E2,E3]は、上記の式(11)と式(13)との関係により、以下の式(14)で表すことができる。
以下の式(14)において、αはE3とE1とが成す実際の角度であり、αはE3とE2とが成す実際の角度である。
【0133】
【数20】
【0134】
S142F(図20)の後、処理はS142Gに進む。
【0135】
S142Gにおいて、基準軸ベクトル推定部140は、被写体座標系の基準軸ベクトル[E1,E2,E3]をワールド座標系の基準軸ベクトル[O,O,O]に変換するための変換行列Mを算出する。変換行列Mは以下の式(15)を用いて表すことができる。
【0136】
【数21】
【0137】
上記の式(15)で用いている符号の意味は以下の通りである。
(xEa,yEa,zEa)は、FPM座標系のA軸の単位ベクトルEa(図25参照)をワールド座標系で表したベクトル値である。
(xEb,yEb,zEb)は、FPM座標系のB軸の単位ベクトルEb(図25参照)をワールド座標系で表したベクトル値である。
(xEc,yEc,zEc)は、FPM座標系のC軸の単位ベクトルEc(図25参照)をワールド座標系で表したベクトル値である。
(aE1,bE1,cE1)は、被写体座標系の基準軸ベクトルE1(図26参照)をFPM座標系で表したベクトル値である。
(aE2,bE2,cE2)は、被写体座標系の基準軸ベクトルE2(図26参照)をFPM座標系で表したベクトル値である。
(aE3,bE3,cE3)は、被写体座標系の基準軸ベクトルE3(図26参照)をFPM座標系で表したベクトル値である。
【0138】
そして、基準軸ベクトル推定部140は、上記の変換行列Hを用いて、被写体座標系の基準軸ベクトル[E1,E2,E3]をワールド座標系の基準軸ベクトル[O,O,O]に変換し、ワールド座標系の基準軸ベクトル[O,O,O]を被写体102の基準軸ベクトル149として出力する。
以下に、被写体座標系の基準軸ベクトル[E1,E2,E3]をワールド座標系の基準軸ベクトル[O,O,O]に変換するための式(16)を示す。
【0139】
【数22】
【0140】
S142Gにより、基準軸ベクトル算出処理[FPM座標系](S142)は終了する。
【0141】
図27は、実施の形態1における基準軸ベクトル算出処理[SPM座標系](S143)を示すフローチャートである。
SPM座標系を用いる基準軸ベクトル算出処理(S143)について、図27に基づいて説明する。
【0142】
S143Aにおいて、基準軸ベクトル推定部140は、写真画像面lv(Ez)内の姿勢基準軸[lx,ly,lz]から2つの姿勢基準軸(例えば、lxとly)を選択する。
基準軸ベクトル推定部140は、選択した2つの姿勢基準軸(lx,ly)の延長上の交点Pxyを算出する(図28の(1)参照)。
基準軸ベクトル推定部140は、カメラの中心点Pcから交点Pxyへの単位ベクトルExyを算出する(図28の(2)参照)。以下、単位ベクトルExyを「交点単位ベクトル」という。
図28は、実施の形態1における交点単位ベクトル算出処理(S143A)の概要図である。
S143Aの後、処理はS143Bに進む。
【0143】
S143Bにおいて、基準軸ベクトル推定部140は、カメラの中心点Pcから交点単位ベクトルExyの方向に焦点距離fだけ離れた座標点Pfを算出する(図29の(1)参照)。
基準軸ベクトル推定部140は、座標点Pfを含んで交点単位ベクトルExyと直交する平面lv(Ec)を算出する(図29の(2)参照)。つまり、交点単位ベクトルExyは平面lv(Ec)の法線ベクトルになる。
以下、平面lv(Ec)を「SPM座標面」という。また、座標点Pfを「SPM座標原点」という。
図29は、実施の形態1におけるSPM座標面算出処理(S143B)の概要図である。
S143Bの後、処理はS143Cに進む。
【0144】
S143Cにおいて、基準軸ベクトル推定部140は、姿勢基準軸[lx,ly,lz]を写真画像面lv(Ez)からSPM座標面lv(Ec)に投影する(図30参照)。
以下、SPM座標面lv(Ec)に投影した姿勢基準軸を[lx’,ly’,lz’]と記す。
図30は、実施の形態1における姿勢基準軸投影処理(S143C)の概要図である。
S143Cの後、処理はS143Dに進む。
【0145】
S143Dにおいて、基準軸ベクトル推定部140は、SPM座標面lv(Ec)に投影した姿勢基準軸[lx’,ly’,lz’]のうち、S143Aで選択した姿勢基準軸(lx,ly)を投影後の姿勢基準軸(lx’,ly’)を選択する。
基準軸ベクトル推定部140は、選択した姿勢基準軸(lx’,ly’)が成す角の二等分線をSPM座標系のS軸に決定する(図31の(1)参照)。
さらに、基準軸ベクトル推定部140は、SPM座標面lv(Ec)の法線ベクトルExyをSPM座標面のC軸に決定し、S軸とC軸とに直交する軸をSPM座標系のT軸に決定する(図31の(1)参照)。
そして、基準軸ベクトル推定部140は、SPM座標系のS軸の単位ベクトルEsと、T軸の単位ベクトルEtと、C軸の単位ベクトルEcとを算出する(図31の(2)参照)。
図31は、実施の形態1におけるSPM座標系の単位ベクトル算出処理(S143D)の概要図である。
【0146】
以下に、SPM座標系の単位ベクトル[Es,Et,Ec]を算出する式(21)を示す。
以下の式(21)で用いている「Gx’」は姿勢基準軸lx’と同じ向きを有する単位ベクトルである。また、「Gy’」は姿勢基準軸ly’と同じ向きを有する単位ベクトルである。
【0147】
【数23】
【0148】
S143Dの後、処理はS143Eに進む。
【0149】
S143Eにおいて、基準軸ベクトル推定部140は、以下のように、SPM座標面内の姿勢基準軸[lx’,ly’,lz’]を用いて被写体座標系の基準軸ベクトル[E1,E2,E3]を算出する。
被写体座標系とは被写体102に設定したローカル座標系である。また、基準軸ベクトル[E1,E2,E3]は、被写体座標系の単位ベクトル(正規直交基底)である。
【0150】
図32は、実施の形態1におけるSPM座標面内の姿勢基準軸の関係図である。
図32に示すPAT曲線は非特許文献1で定義されている曲線である。PATはPerspective Angle Transformの略である。
PAT曲線は、lx’とly’とが成す角度Δβと焦点距離fとを用いて、以下の式(22)で表すことができる。
【0151】
【数24】
【0152】
また、lz’を含んだ直線の式は、変数γおよび変数δを用いて以下の式(23)で表すことができる。
【0153】
【数25】
【0154】
PAT曲線と直線lz’との交点P1の極座標値は、上記の式(22)と上記の式(23)とを用いて、以下の式(24)で算出することができる。
【0155】
【数26】
【0156】
また、PAT曲線と直線lz’との交点P1の極座標値は、PfからP1までの直線の長さaと、PfからP1までの直線とS軸とが成す角度ηとを用いて、(acosη,asinη)で表すことができる。
【0157】
ここで、被写体座標系の基準軸ベクトル[E1,E2,E3]は、以下の式(25)で表すことができる。
【0158】
【数27】
【0159】
基準軸ベクトル推定部140は、上記の式(25)を計算することにより、被写体座標系の基準軸ベクトル[E1,E2,E3]を算出する。
S143E(図27)の後、処理はS143Fに進む。
【0160】
S143Fにおいて、基準軸ベクトル推定部140は、写真画像面lv(Ez)から基準点lを選択する。例えば、基準軸ベクトル推定部140は、姿勢基準軸lxの端点を基準点lとして選択する(図33の(1)参照)。
基準軸ベクトル推定部140は、カメラの中心点Pcから基準点lへの単位ベクトルEを算出する(図33の(2)参照)。
基準軸ベクトル推定部140は、単位ベクトルEを用いて、カメラの中心点Pcから基準点lへの方向に焦点距離fだけ離れた座標点Pを算出する(図33の(2)参照)。
以下、座標点Pを「基準原点」という。
図33は、実施の形態1における基準原点算出処理(S143F)の概要図である。
S143Fの後、処理はS143Gに進む。
【0161】
S143Gにおいて、基準軸ベクトル推定部140は、被写体座標系の基準軸ベクトル[E1,E2,E3]をワールド座標系の基準軸ベクトル[O,O,O]に変換するための変換行列Mを算出する。変換行列Mは以下の式(26)で表すことができる。
【0162】
【数28】
【0163】
上記の式(26)で用いている符号の意味は以下の通りである。
(xp0,yp0,zp0)は、基準原点P図33の(2)参照)をワールド座標系(x,y,z)で表した座標値である。
(xEs,yEs,zEs)は、SPM座標系のS軸の単位ベクトルEs(図31の(2)参照)をワールド座標系で表したベクトル値である。
(xEt,yEt,zEt)は、FPM座標系のT軸の単位ベクトルEt(図31の(2)参照)をワールド座標系で表したベクトル値である。
(xEc,yEc,zEc)は、FPM座標系のC軸の単位ベクトルEc(=Exy)をワールド座標系で表したベクトル値である。
(aE1,bE1,cE1)は、被写体座標系の基準軸ベクトルE1(式(25)参照)をFPM座標系で表したベクトル値である。
(aE2,bE2,cE2)は、被写体座標系の基準軸ベクトルE2(式(25)参照)をFPM座標系で表したベクトル値である。
(aE3,bE3,cE3)は、被写体座標系の基準軸ベクトルE3(式(25)参照)をFPM座標系で表したベクトル値である。
【0164】
そして、基準軸ベクトル推定部140は、上記の変換行列Hを用いて、被写体座標系の基準軸ベクトル[E1,E2,E3]をワールド座標系の基準軸ベクトル[O,O,O]に変換し、ワールド座標系の基準軸ベクトル[O,O,O]を被写体102の基準軸ベクトル149として出力する。
以下に、被写体座標系の基準軸ベクトル[E1,E2,E3]をワールド座標系の基準軸ベクトル[O,O,O]に変換するための式(27)を示す。
【0165】
【数29】
【0166】
S143Gにより、基準軸ベクトル算出処理[SPM座標系](S143)は終了する。
【0167】
図34は、実施の形態1における画像寸法推定装置100のハードウェア資源の一例を示す図である。
図34において、画像寸法推定装置100(コンピュータの一例)は、CPU901(Central Processing Unit)を備えている。CPU901は、バス902を介してROM903、RAM904、通信ボード905(通信装置)、ディスプレイ911(表示装置)、キーボード912、マウス913、ドライブ914、磁気ディスク装置920などのハードウェアデバイスと接続され、これらのハードウェアデバイスを制御する。ドライブ914は、FD(Flexible Disk)、CD(Compact Disc)、DVD(Digital Versatile Disc)などの記憶媒体を読み書きする装置である。
ROM903、RAM904、磁気ディスク装置920およびドライブ914は記憶装置の一例である。キーボード912、マウス913および通信ボード905は入力装置の一例である。ディスプレイ911および通信ボード905は出力装置の一例である。
【0168】
通信ボード905は、有線または無線で、LAN(Local Area Network)、インターネット、電話回線などの通信網に接続している。
【0169】
磁気ディスク装置920には、OS921(オペレーティングシステム)、プログラム群922、ファイル群923が記憶されている。
【0170】
プログラム群922には、実施の形態において「〜部」として説明する機能を実行するプログラムが含まれる。プログラム(例えば、寸法推定プログラム)は、CPU901により読み出され実行される。すなわち、プログラムは、「〜部」としてコンピュータを機能させるものであり、また「〜部」の手順や方法をコンピュータに実行させるものである。
【0171】
ファイル群923には、実施の形態において説明する「〜部」で使用される各種データ(入力、出力、判定結果、計算結果、処理結果など)が含まれる。
【0172】
実施の形態において構成図およびフローチャートに含まれている矢印は主としてデータや信号の入出力を示す。
フローチャートなどに基づいて説明する実施の形態の処理はCPU901、記憶装置、入力装置、出力装置などのハードウェアを用いて実行される。
【0173】
実施の形態において「〜部」として説明するものは「〜回路」、「〜装置」、「〜機器」であってもよく、また「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ファームウェア、ソフトウェア、ハードウェアまたはこれらの組み合わせのいずれで実装されても構わない。
【0174】
実施の形態1により、被写体102を斜めの方向から映している一枚の写真画像101を用いて、被写体102の正しい寸法を計測することができる。
例えば、海上を撮像した写真画像101に被写体として不審船が映っている場合、実施の形態1により不審船の寸法を計測することができる。この場合、不審船に取り付けられている浮き輪をリファレンスとして使用することができる。船に搭載される浮き輪は一般的に規格化され、大きさが決まっているためである。
さらに、各国で使用されている船の寸法を含んだデータベースを用意しておき、計測した不審船の寸法とデータベースに記録された寸法とを比較することにより、不審船がどの国の船であるかを特定することもできる。
但し、船は被写体102の一例であり、浮き輪はリファレンスの一例である。つまり、実施の形態1によって船以外の被写体102の寸法を計測してもよいし、浮き輪以外のリファレンスを利用してもよい。
【0175】
また、被写体102(例えば、本)の各部分の寸法を算出することにより、被写体102の三次元モデルを生成することができる(図35の(1)参照)。
さらに、被写体102の三次元モデルを用いて、異なる方向から見た被写体102を表示することができる(図35の(2)から(5)参照)。
なお、被写体102の三次元モデルに写真画像101の画素をテクスチャとして張り付けることにより、被写体102の三次元モデルをより鮮明に描くことができる。
図35は、実施の形態1における被写体102の三次元モデルを表す図である。
【0176】
実施の形態1において、例えば、以下のような寸法推定装置(100)について説明した。括弧内に対応する構成の符号または名称を記す。
前記寸法推定装置は、基準線分情報生成部(120)と、基準軸ベクトル算出部(140)と、リファレンス線分ベクトル算出部(153)と、計測線分ベクトル算出部(163)と、計測線分長算出部(164)とを備える。
前記基準線分情報生成部は、対象物(102)を斜め方向から撮像した対象画像(101)に映っている前記対象物の幅方向と高さ方向と奥行き方向とに沿う3つの基準線分を前記対象画像の二次元の座標値を用いて表す基準線分情報(129)を生成する。
前記基準軸ベクトル算出部は、前記基準線分情報生成部によって生成された前記基準線分情報と、前記対象画像の撮像パラメータ(撮影パラメータ)とに基づいて、前記対象物の前記幅方向と前記高さ方向と前記奥行き方向とを三次元のベクトル値を用いて表す3つの基準軸ベクトル(149)を算出する。
前記リファレンス線分ベクトル算出部は、前記基準軸ベクトル算出部によって算出された前記3つの基準軸ベクトルのうち少なくともいずれかの基準軸ベクトルを用いて、前記対象画像に映っている前記対象物のうち長さが既知の線分であるリファレンス線分のベクトル値を、リファレンス線分ベクトル(159a)として算出する。
前記計測線分ベクトル算出部は、前記基準軸ベクトル算出部によって算出された前記3つの基準軸ベクトルのうち少なくともいずれかの基準軸ベクトルを用いて、前記対象画像に映っている前記対象物のうち長さが未知の線分である計測線分のベクトル値を、計測線分ベクトルとして算出する。
前記計測線分長算出部は、前記リファレンス線分の既知の長さ(159b)と、前記リファレンス線分ベクトル算出部によって算出された前記リファレンス線分ベクトルと、前記計測線分ベクトル算出部によって算出された前記計測線分ベクトルとを用いて、前記計測線分の長さ(169)を算出する。
【符号の説明】
【0177】
100 画像寸法推定装置、101 写真画像、102 被写体、109 入力機器、109a マウスカーソル、110 写真画像表示部、120 姿勢基準軸設定部、129 姿勢基準軸データ、130 撮影パラメータ設定部、139 撮影パラメータ、140 基準軸ベクトル推定部、149 基準軸ベクトル、150 リファレンス設定部、151 基準軸ベクトル投影部、152 リファレンス線分設定部、153 リファレンス線分ベクトル算出部、154 リファレンス線分長取得部、159a リファレンス線分ベクトル、159b リファレンス線分長、160 寸法推定部、161 基準軸ベクトル投影部、162 計測線分設定部、163 計測線分ベクトル算出部、164 計測線分長算出部、169 計測線分長、170 推定結果出力部、180 写真画像データベース、190 装置記憶部、901 CPU、902 バス、903 ROM、904 RAM、905 通信ボード、911 ディスプレイ、912 キーボード、913 マウス、914 ドライブ、920 磁気ディスク装置、921 OS、922 プログラム群、923 ファイル群。
図1
図2
図3
図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
図31
図32
図33
図34
図35
図36