(57)【要約】【課題】点群データのローカル座標を実座標に変換する際において、誤差の増幅を抑制し得る、測量装置、測量方法、及びプログラムを提供する。【解決手段】測量装置１０は、複数の画像それぞれから、その画像以外の画像との間で対応する特徴点が抽出されている場合に、複数の画像の中から、ペア画像を選択する、画像選択部１１と、ペア画像それぞれの対応する特徴点を用いて、ペア画像それぞれ毎に、それを撮影したカメラのカメラ行列を算出する、カメラ行列算出部１２と、ペア画像それぞれ毎に、カメラ行列から、それを撮影したカメラの位置の３次元座標と回転行列とを求め、カメラの位置の３次元座標の少なくとも一方に対して係数を乗算し、カメラの位置の３次元座標と回転行列とを用いて、ペア画像の特徴点の３次元座標を算出する、３次元座標算出部１３と、３次元座標が算出された特徴点を用いて、点群データを作成する、点群データ作成部１４と、を備えている。【選択図】図１
2020041950.tif 000002
【特許請求の範囲】
【請求項１】
対象物を含む複数の画像から前記対象物の点群データを作成するための測量装置であって、
前記複数の画像それぞれから、当該画像以外の画像との間で対応する特徴点が抽出されている場合に、前記特徴点が抽出された前記複数の画像の中から、ペア画像を選択する、画像選択部と、
選択された前記ペア画像それぞれの両者に対応する前記特徴点を用いて、前記ペア画像それぞれ毎に、当該画像を撮影したカメラのカメラ行列を算出する、カメラ行列算出部と、
前記ペア画像それぞれ毎に、算出された前記カメラ行列から、当該画像を撮影したカメラの位置の３次元座標と回転行列とを求め、更に、求めた前記カメラの位置の３次元座標の少なくとも一方に対して係数を乗算し、その後、前記カメラの位置の３次元座標と前記回転行列とを用いて、前記ペア画像それぞれの両者に対応する前記特徴点の３次元座標を算出する、３次元座標算出部と、
前記３次元座標が算出された前記特徴点を用いて、前記点群データを作成する、点群データ作成部と、
を備えている、
ことを特徴とする測量装置。
【請求項２】
請求項１に記載の測量装置であって、
前記画像選択部が、前記ペア画像を選択した後に、前記複数の画像の中から、前記ペア画像以外の画像を新たに選択し、
前記カメラ行列算出部が、前記ペア画像の１つの特徴点と、それに対応する、前記新たに選択した画像の特徴点とを用いて、前記新たに選択した画像を撮影したカメラのカメラ行列を算出し、
前記３次元座標算出部が、前記新たに選択した画像を撮影したカメラのカメラ行列から、前記新たに選択した画像を撮影したカメラの位置の３次元座標と回転行列とを求め、求めた、前記新たに選択した画像を撮影したカメラの位置の３次元座標と回転行列とを用いて、前記新たに選択した画像の特徴点の３次元座標を算出する、
ことを特徴とする測量装置。
【請求項３】
請求項１または２に記載の測量装置であって、
前記対象物が特定の領域に存在する物体であり、
前記複数の画像それぞれが前記領域の上空から撮影された画像であり、更に、
前記係数が、前記カメラの撮像素子の最大長に対する、前記領域からの前記カメラの高度の比率に基づいて設定されている、
ことを特徴とする測量装置。
【請求項４】
請求項１または２に記載の測量装置であって、
前記係数が、前記対象物の実空間でのサイズと前記対象物の前記画像中でのサイズとの関係に基づいて設定されている、
ことを特徴とする測量装置。
【請求項５】
請求項３に記載の測量装置であって、
前記特定の領域に複数の基準点が設置されている場合において、
前記３次元座標算出部が、前記係数による乗算を行わないで、前記３次元座標を算出し、
その後、前記複数の基準点それぞれに含まれる前記特徴点の３次元座標と、前記複数の基準点それぞれの実空間での位置座標とを用いて、前記係数を設定する、
ことを特徴とする測量装置。
【請求項６】
対象物を含む複数の画像から前記対象物の点群データを作成するための方法であって、（ａ）前記複数の画像それぞれから、当該画像以外の画像との間で対応する特徴点が抽出されている場合に、前記特徴点が抽出された前記複数の画像の中から、ペア画像を選択する、ステップと、
（ｂ）選択された前記ペア画像それぞれの両者に対応する前記特徴点を用いて、前記ペア画像それぞれ毎に、当該画像を撮影したカメラのカメラ行列を算出する、ステップと、
（ｃ）前記ペア画像それぞれ毎に、算出された前記カメラ行列から、当該画像を撮影したカメラの位置の３次元座標と回転行列とを求め、更に、求めた前記カメラの位置の３次元座標の少なくとも一方に対して係数を乗算し、その後、前記カメラの位置の３次元座標と前記回転行列とを用いて、前記ペア画像それぞれの両者に対応する前記特徴点の３次元座標を算出する、ステップと、
（ｄ）前記３次元座標が算出された前記特徴点を用いて、前記点群データを作成する、ステップと、
を有する、
ことを特徴とする測量方法。
【請求項７】
請求項６に記載の測量方法であって、
（ｅ）前記（ａ）のステップにおいて前記ペア画像を選択した後に、前記複数の画像の中から、前記ペア画像以外の画像を新たに選択する、ステップと、
（ｆ）前記ペア画像の１つの特徴点と、それに対応する、前記新たに選択した画像の特徴点とを用いて、前記新たに選択した画像を撮影したカメラのカメラ行列を算出する、ステップと、
（ｇ）前記新たに選択した画像を撮影したカメラのカメラ行列から、前記新たに選択した画像を撮影したカメラの位置の３次元座標と回転行列とを求め、求めた、前記新たに選択した画像を撮影したカメラの位置の３次元座標と回転行列とを用いて、前記新たに選択した画像の特徴点の３次元座標を算出する、ステップと、
を更に有する、
ことを特徴とする測量方法。
【請求項８】
請求項６または７に記載の測量方法であって、
前記対象物が特定の領域に存在する物体であり、
前記複数の画像それぞれが前記領域の上空から撮影された画像であり、更に、
前記係数が、前記カメラの撮像素子の最大長に対する、前記領域からの前記カメラの高度の比率に基づいて設定されている、
ことを特徴とする測量方法。
【請求項９】
請求項６または７に記載の測量方法であって、
前記係数が、前記対象物の実空間でのサイズと前記対象物の前記画像中でのサイズとの関係に基づいて設定されている、
ことを特徴とする測量方法。
【請求項１０】
請求項８に記載の測量方法であって、
前記特定の領域に複数の基準点が設置されている場合において、
（ｈ）前記係数による乗算を行わないで、前記３次元座標を算出し、
その後、前記複数の基準点それぞれに含まれる前記特徴点の３次元座標と、前記複数の基準点それぞれの実空間での位置座標とを用いて、前記係数を設定する、ステップを、
更に有する、
ことを特徴とする測量方法。
【請求項１１】
コンピュータによって、対象物を含む複数の画像から前記対象物の点群データを作成するためのプログラムであって、
前記コンピュータに、
（ａ）前記複数の画像それぞれから、当該画像以外の画像との間で対応する特徴点が抽出されている場合に、前記特徴点が抽出された前記複数の画像の中から、ペア画像を選択する、ステップと、
（ｂ）選択された前記ペア画像それぞれの両者に対応する前記特徴点を用いて、前記ペア画像それぞれ毎に、当該画像を撮影したカメラのカメラ行列を算出する、ステップと、
（ｃ）前記ペア画像それぞれ毎に、算出された前記カメラ行列から、当該画像を撮影したカメラの位置の３次元座標と回転行列とを求め、更に、求めた前記カメラの位置の３次元座標の少なくとも一方に対して係数を乗算し、その後、前記カメラの位置の３次元座標と前記回転行列とを用いて、前記ペア画像それぞれの両者に対応する前記特徴点の３次元座標を算出する、ステップと、
（ｄ）前記３次元座標が算出された前記特徴点を用いて、前記点群データを作成する、ステップと、
を実行させる、プログラム。
【請求項１２】
請求項１１に記載のプログラムであって、
前記コンピュータに、
（ｅ）前記（ａ）のステップにおいて前記ペア画像を選択した後に、前記複数の画像の中から、前記ペア画像以外の画像を新たに選択する、ステップと、
（ｆ）前記ペア画像の１つの特徴点と、それに対応する、前記新たに選択した画像の特徴点とを用いて、前記新たに選択した画像を撮影したカメラのカメラ行列を算出する、ステップと、
（ｇ）前記新たに選択した画像を撮影したカメラのカメラ行列から、前記新たに選択した画像を撮影したカメラの位置の３次元座標と回転行列とを求め、求めた、前記新たに選択した画像を撮影したカメラの位置の３次元座標と回転行列とを用いて、前記新たに選択した画像の特徴点の３次元座標を算出する、ステップと、
を更に実行させる、
ことを特徴とするプログラム。
【請求項１３】
請求項１１または１２に記載のプログラムであって、
前記対象物が特定の領域に存在する物体であり、
前記複数の画像それぞれが前記領域の上空から撮影された画像であり、更に、
前記係数が、前記カメラの撮像素子の最大長に対する、前記領域からの前記カメラの高度の比率に基づいて設定されている、
ことを特徴とするプログラム。
【請求項１４】
請求項１１または１２に記載のプログラムであって、
前記係数が、前記対象物の実空間でのサイズと前記対象物の前記画像中でのサイズとの関係に基づいて設定されている、
ことを特徴とするプログラム。
【請求項１５】
請求項１３に記載のプログラムであって、
前記特定の領域に複数の基準点が設置されている場合において、
前記コンピュータに、
（ｈ）前記係数による乗算を行わないで、前記３次元座標を算出し、
その後、前記複数の基準点それぞれに含まれる前記特徴点の３次元座標と、前記複数の基準点それぞれの実空間での位置座標とを用いて、前記係数を設定する、ステップを、
更に実行させる、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の画像からの対象物の点群データを作成するための、測量装置、及び測量方法に関し、更には、これらを実現するためのプログラムに関する。
【背景技術】
【０００２】
近年、画像に写っている対象の三次元形状を構築する技術が注目されている。このような技術の代表例としては、ＳｆＭ（Structure from Motion）が知られている（例えば、特許文献１参照）。ＳｆＭでは、特定の対象をカメラの視点を変えながら複数回撮影し、得られた複数枚の画像から、特定の対象の三次元形状が復元される。
【０００３】
具体的には、まず、ＳｆＭでは、画像毎に、その特徴量（例えば、SIFT特徴量、SURF特徴量）が計算され、画像の拡大縮小、回転、及び照度変化に強いロバストネスな特徴点が抽出される。次に、画像間で、抽出した特徴点のマッチングが実行され、一致する特徴点のペアが抽出される。次に、例えば、ロバスト推定（Robust Estimation）によって、特徴点ペアの幾何学的な関係が計算され、誤った特徴点ペアが除外される。
【０００４】
その後、幾つかの特徴点ペア毎に、これらの幾何学的な関係に基づいて、Fundamental行列が算出され、算出された各Fundamental行列間での差が最も少なくなるように、特徴点ペア毎の幾何学的な関係が調整される。そして、調整後の幾何学的な関係に基づいて、三次元形状（点群）が再構築される。なお、この時の誤差の調整方法としては、Bundle Adjustmentと呼ばれる処理手法が挙げられる。
【０００５】
ところで、ＳｆＭの用途として、いわゆるドローンと呼ばれる無人航空機（ＵＡＶ：Unmanned aerial vehicle）による測量が注目されている。このような測量では、まず、ドローンによって、測量対象となる領域の写真撮影が行われ、その後、コンピュータによって、撮影された多数の写真を用いたＳｆＭが実行される。この結果、測量対象となる領域の３次元点群データが作成される。
【０００６】
ところで、一般に、日本国における測量では、座標系として平面直角座標系が用いられる。平面直角座標系は、日本全土を１９の区域に分け、座標系原点を通る子午線に一致する軸をＸ軸とし、座標系原点においてＸ軸に直交する軸をＹ軸とする。また、Ｘ軸においては、真北が正とされ、Ｙ軸においては、真東が正とされる。また、平面直角座標系では、東西１３０ｋｍ以内の範囲が１区域の適用範囲とされている。
【０００７】
このため、作成された点群データを構成する各点の座標は、平面直角座標系の座標、即ち、実座標に変換される。具体的には、まず、測量対象となる領域には、予め幾つかの基準点（ＧＣＰ：Ground Control Point）が設置される。また、基準点の位置座標は、人工衛星を用いた測量によって実測される。そして、点群データ上のローカル座標で特定されたＧＣＰの位置と、実測されたＧＣＰの位置との関係が求められ、求められた関係による相似変換（スケール変換）により、点群データの座標が、平面直角座標系による実座標に変換される。この結果、点群データから、人手による測量で得られるデータと同様のデータが得られることになる。
【０００８】
このようなドローンによる測量によれば、人が立ち入ることが難しい場所での測量が可能となる。また、ドローンによる測量では、従来からの人手による測量に比べて、測量にかかる期間を半分以下とすることができる。加えて、対象となる領域で工事が行われていても、工事を止めることなく測量が可能となる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特許第５３１１４６５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述したドローンによる測量には、点群データ上のローカル座標にほんのわずかな誤差が含まれていても、変換後の実座標において大きな誤差が発生してしまうという問題がある。
【００１１】
具体的には、点群データのローカル座標は、撮影画像のピクセル単位で算出されている。これに対して、実座標は、メートル単位で表され、測量対象となる領域の範囲は、数百ｍ〜数ｋｍ程度となる。つまり、ローカル座標を実座標に変換する際のスケール変換の倍率は、数百以上となる。このため、ローカル座標において、例えば、誤差を１×１０−３ｍにまで抑えることが出来たとしても、実座標では、誤差は、スケール変換によって増幅され、倍率が５００倍であるとすると、０．５ｍにまで増幅されてしまう。
【００１２】
本発明の目的の一例は、上記問題を解消し、点群データのローカル座標を実座標に変換する際において、誤差の増幅を抑制し得る、測量装置、測量方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【００１３】
上記目的を達成するため、本発明の一側面における測量装置は、対象物を含む複数の画像から前記対象物の点群データを作成するための測量装置であって、
前記複数の画像それぞれから、当該画像以外の画像との間で対応する特徴点が抽出されている場合に、前記特徴点が抽出された前記複数の画像の中から、ペア画像を選択する、画像選択部と、
選択された前記ペア画像それぞれの両者に対応する前記特徴点を用いて、前記ペア画像それぞれ毎に、当該画像を撮影したカメラのカメラ行列を算出する、カメラ行列算出部と、
前記ペア画像それぞれ毎に、算出された前記カメラ行列から、当該画像を撮影したカメラの位置の３次元座標と回転行列とを求め、更に、求めた前記カメラの位置の３次元座標の少なくとも一方に対して係数を乗算し、その後、前記カメラの位置の３次元座標と前記回転行列とを用いて、前記ペア画像それぞれの両者に対応する前記特徴点の３次元座標を算出する、３次元座標算出部と、
前記３次元座標が算出された前記特徴点を用いて、前記点群データを作成する、点群データ作成部と、
を備えている、
ことを特徴とする。
【００１４】
また、上記目的を達成するため、本発明の一側面における測量方法は、対象物を含む複数の画像から前記対象物の点群データを作成するための方法であって、
（ａ）前記複数の画像それぞれから、当該画像以外の画像との間で対応する特徴点が抽出されている場合に、前記特徴点が抽出された前記複数の画像の中から、ペア画像を選択する、ステップと、
（ｂ）選択された前記ペア画像それぞれの両者に対応する前記特徴点を用いて、前記ペア画像それぞれ毎に、当該画像を撮影したカメラのカメラ行列を算出する、ステップと、
（ｃ）前記ペア画像それぞれ毎に、算出された前記カメラ行列から、当該画像を撮影したカメラの位置の３次元座標と回転行列とを求め、更に、求めた前記カメラの位置の３次元
座標の少なくとも一方に対して係数を乗算し、その後、前記カメラの位置の３次元座標と前記回転行列とを用いて、前記ペア画像それぞれの両者に対応する前記特徴点の３次元座標を算出する、ステップと、
（ｄ）前記３次元座標が算出された前記特徴点を用いて、前記点群データを作成する、ステップと、
を有する、
ことを特徴とする。
【００１５】
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、コンピュータによって、対象物を含む複数の画像から前記対象物の点群データを作成するためのプログラムであって、
前記コンピュータに、
（ａ）前記複数の画像それぞれから、当該画像以外の画像との間で対応する特徴点が抽出されている場合に、前記特徴点が抽出された前記複数の画像の中から、ペア画像を選択する、ステップと、
（ｂ）選択された前記ペア画像それぞれの両者に対応する前記特徴点を用いて、前記ペア画像それぞれ毎に、当該画像を撮影したカメラのカメラ行列を算出する、ステップと、
（ｃ）前記ペア画像それぞれ毎に、算出された前記カメラ行列から、当該画像を撮影したカメラの位置の３次元座標と回転行列とを求め、更に、求めた前記カメラの位置の３次元座標の少なくとも一方に対して係数を乗算し、その後、前記カメラの位置の３次元座標と前記回転行列とを用いて、前記ペア画像それぞれの両者に対応する前記特徴点の３次元座標を算出する、ステップと、
（ｄ）前記３次元座標が算出された前記特徴点を用いて、前記点群データを作成する、ステップと、
を実行させる、ことを特徴とする。
【発明の効果】
【００１６】
以上のように、本発明によれば、点群データのローカル座標を実座標に変換する際において、誤差の増幅を抑制することができる。
【図面の簡単な説明】
【００１７】
【図１】図１は、本発明の実施の形態における測量装置の構成を示すブロック図である。
【図２】図２は、本発明の実施の形態における測量装置の動作を示すフロー図である。
【図３】図３は、図２に示したステップＡ１で選択された初期ペア画像とそれらにおいて対応する特徴点のペアとの一例を示す図である。
【図４】図４は、図２に示したステップＡ２で算出されたカメラ行列から求められる、初期ペア画像のカメラの３次元座標と回転行列との一例を示す図である。
【図５】図５は、図２に示したステップＡ６で新たに選択された画像とそれから抽出された特徴点との一例を示す図である。
【図６】図６は、図２に示したステップＡ９で算出された特徴点の３次元座標の一例を示す図である。
【図７】図７は、本発明の実施の形態における測量装置を実現するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【００１８】
（実施の形態）
以下、本発明の実施の形態における、測量装置、測量方法、及びプログラムについて、図１〜図７を参照しながら説明する。
【００１９】
［装置構成］
最初に、図１を用いて、本実施の形態における測量装置の構成について説明する。図１は、本発明の実施の形態における測量装置の構成を示すブロック図である。
【００２０】
図１に示す、本実施の形態における測量装置１０は、対象物を含む複数の画像から対象物の点群データを作成するための装置である。図１に示すように、測量装置１０は、画像選択部１１と、カメラ行列算出部１２と、３次元座標算出部１３と、点群データ作成部１４とを備えている。
【００２１】
画像選択部１１は、複数の画像それぞれから、その画像以外の画像との間で対応する特徴点が抽出されている場合に、この対応する特徴点が抽出された複数の画像の中から、ペア画像を選択する。
【００２２】
カメラ行列算出部１２は、選択されたペア画像それぞれの両者に対応する特徴点を用いて、ペア画像それぞれ毎に、その画像を撮影したカメラのカメラ行列を算出する。
【００２３】
３次元座標算出部１３は、まず、ペア画像それぞれ毎に、カメラ行列算出部１２が算出したカメラ行列から、その画像を撮影したカメラの位置の３次元座標と回転行列とを求め、求めたカメラの位置の３次元座標少なくとも一方に対して係数を乗算する。次いで、３次元座標算出部１３は、ペア画像それぞれ毎に、カメラの位置の３次元座標と回転行列とを用いて、ペア画像それぞれの両者に対応する特徴点の３次元座標を算出する。
【００２４】
点群データ作成部１４は、３次元座標算出部１３によって３次元座標が算出された特徴点を用いて、点群データを作成する。
【００２５】
このように、本実施の形態では、カメラの位置の３次元座標が予め係数の乗算によって倍加されており、この倍加された３次元座標から、特徴点の３次元座標、即ち、点群データのローカル座標が求められている。つまり、本実施の形態では、点群データのローカル座標も倍加されている。このため、本実施の形態によれば、点群データのローカル座標を実座標に変換する際において、誤差の増幅を抑制することができる。
【００２６】
また、本実施の形態では、係数は、例えば、対象物の実空間でのサイズと対象物の画像中でのサイズとの関係に基づいて設定される。更に、例えば、対象物が特定の領域に存在する物体であり、複数の画像それぞれが、この特定の領域の上空から撮影された画像であるとする。この場合、係数は、カメラの撮像素子の最大長に対する、特定の領域からのカメラの高度の比率に基づいて設定される。
【００２７】
本実施の形態では、３次元座標算出部１３は、特徴点の３次元座標を算出すると、算出した３次元座標とカメラ行列とに対して、これらの誤差を最小化するバンドル調整を実行することができる。また、バンドル調整は、倍加された３次元座標に対して行われるので、この点からも、上述の誤差の増幅が抑制される。なお、バンドル調整は、ＳｆＭで採用されている既知の手法によって行われる。
【００２８】
［装置動作］
次に、本実施の形態における測量装置１０の動作について図２を用いて説明する。図２は、本発明の実施の形態における測量装置の動作を示すフロー図である。以下の説明においては、適宜図１を参酌する。また、本実施の形態では、測量装置１０を動作させることによって、測量方法が実施される。よって、本実施の形態における測量方法の説明は、以下の測量装置１０の動作説明に代える。
【００２９】
まず、前提として、測量装置１０に対して、対象物を含む複数の画像それぞれの画像データが入力される。また、複数の画像それぞれからは、その画像以外の画像との間で対応する特徴点が抽出されているとする。特徴点の抽出は、例えば、まず、全ての画像の特徴量を計算し、画像毎に、拡大、縮小、回転、照度変化に強いロバストネスな特徴点を抽出し、抽出した特徴点の画像間でのマッチングを実行することによって行われる。測量装置１０は、複数の画像それぞれの画像データが入力されると、以下のステップを実行する。
【００３０】
図２に示すように、最初に、画像選択部１１は、特徴点が抽出された複数の画像の中から初期ペア画像として、１組のペア画像を選択する（ステップＡ１）。なお、本実施の形態では、ステップＡ１において、画像選択部１１によって、各画像の特徴点の抽出処理が行われていても良い。
【００３１】
次に、カメラ行列算出部１２は、ステップＡ１において初期ペア画像それぞれの両者に対応する特徴点を特徴点ペアとして用いて、初期ペア画像それぞれ毎に、その画像を撮影したカメラのカメラ行列を算出する（ステップＡ２）。
【００３２】
次に、３次元座標算出部１３は、初期ペア画像それぞれ毎に、ステップＡ２で算出されたカメラ行列から、その画像を撮影したカメラの位置の３次元座標と回転行列とを求め、求めたカメラの位置の３次元座標の少なくとも一方に対して係数を乗算する（ステップＡ３）。
【００３３】
次に、３次元座標算出部１３は、カメラの位置の３次元座標と回転行列とを用いて、ペア画像それぞれの両者に対応する特徴点ペアの３次元座標を算出する（ステップＡ４）。
【００３４】
次に、３次元座標算出部１３は、ステップＡ４で算出した３次元座標と、ステップＡ２で算出されたカメラ行列とに対して、これらの誤差を最小化するバンドル調整を実行する（ステップＡ５）。
【００３５】
次に、画像選択部１１は、初期ペア画像以外の画像の中から、１つの画像を新たに選択し、新たに選択した画像と初期ペア画像の１つとを新たなペア画像とする（ステップＡ６）。
【００３６】
次に、カメラ行列算出部１２は、新たに選択した画像から抽出されている特徴点のうち、新たなペア画像となった初期ペア画像の１つで抽出された特徴点に対応する特徴点を特定する。そして、カメラ行列算出部１２は、新たなペア画像となった初期ペア画像の１つの特徴点と、特定した特徴点とを、新たに特徴点ペアとして用いて、新たに選択された画像を撮影したカメラのカメラ行列を算出する（ステップＡ７）。
【００３７】
次に、３次元座標算出部１３は、ステップＡ７で算出されたカメラ行列から、新たに選択された画像を撮影したカメラの位置の３次元座標と回転行列とを求める（ステップＡ８）。
【００３８】
次に、３次元座標算出部１３は、新たに選択された画像について、カメラの位置の３次元座標と回転行列とを用いて、新たに選択した画像の特徴点の３次元座標を算出する（ステップＡ９）。
【００３９】
次に、３次元座標算出部１３は、ステップＡ４及びＡ９で算出した３次元座標と、ステップＡ２及びＡ７で算出されたカメラ行列とに対して、これらの誤差を最小化するバンドル調整を実行する（ステップＡ１０）。
【００４０】
次に、３次元座標算出部１３は、初期ペア画像以外の全ての画像について、特徴点の３次元座標が算出されているか否かを判定する（ステップＡ１１）。
【００４１】
ステップＡ１１の判定の結果、初期ペア画像以外の全ての画像について、特徴点の３次元座標が算出されていない場合は、３次元座標算出部１３は、画像選択部１１に再度ステップＡ６を実行するように指示する。
【００４２】
一方、ステップＡ１１の判定の結果、初期ペア画像以外の全ての画像について、特徴点の３次元座標が算出されている場合は、３次元座標算出部１３は、３次元座標が算出された特徴点を用いて、点群データを作成する（ステップＡ１２）。また、ステップＡ１２の実行後、３次元座標算出部１３は、ステップＡ１２で作成した点群データを、実座標に変換することもできる。
【００４３】
ここで、図３〜図６を用いて、上述したステップのうち、ステップＡ１〜Ａ４、Ａ６〜Ａ９について以下に詳細に説明する。
【００４４】
［ステップＡ１］
図３は、図２に示したステップＡ１で選択された初期ペア画像とそれらにおいて対応する特徴点のペアの一例を示す図である。ステップＡ１では、図３に示すように、画像選択部１１は、初期ペア画像として画像２１と画像２２とを選択する。そして、この場合、画像２１から抽出されている特徴点（ｘ１〜ｘ５）と、画像２２から抽出されている特徴点（ｘ’１〜ｘ’５）とは対応している。ｘ１とｘ’１、ｘ２とｘ’２、ｘ３とｘ’３、ｘ４とｘ’４、ｘ５とｘ’５は、それぞれ特徴点ペアである。また、図３の例では、画像２１はカメラ３１によって撮影され、画像２２はカメラ３２によって撮影されている。図３において、Ｘ（Ｘ１〜Ｘ５）は、各特徴点に対応する対象物上の３次元座標である。
【００４５】
［ステップＡ２］
図４は、図２に示したステップＡ２で算出されたカメラ行列から求められる、初期ペア画像のカメラの３次元座標と回転行列との一例を示す図である。ステップＡ２では、カメラ行列算出部１２は、図４に示すように、初期ペア画像それぞれから抽出された特徴点ペア（ｘ１〜ｘ５、ｘ’１〜ｘ’５）を用いて、画像２１を撮影したカメラ３１のカメラ行列Ｐと、画像２２を撮影したカメラ３２のカメラ行列Ｐ’とを算出する。また、カメラ行列Ｐ及びカメラ行列Ｐ’は、カメラ３１の位置を原点とすると、それぞれ下記の数１及び数２によって表すことができる。
【００４６】
【数１】
2020041950.tif 000003
【００４７】
【数２】
2020041950.tif 000004
【００４８】
上記数１において、Ｉは、カメラ３１の回転行列である。カメラ３１の位置が原点となるので、Ｉ＝（１，１，１）となる。また、上記数２においては、図４に示すように、Ｒは、カメラ３２の回転行列である（Ｒ＝（Ｒｘ,Ｒｙ，Ｒｚ））。ｔは、カメラ３２の位置の３次元座標である（ｔ＝（ｔｘ,ｔｙ，ｔｚ））。従って、カメラ行列Ｐ及びカメラ行列Ｐ’から逆算することによって、Ｒ及びｔを算出することが出来る。
【００４９】
具体的には、カメラ行列算出部１２は、複数の特徴点の座標を用いて、下記の数３〜数６に示す方程式を解くことによって、Ｒ及びｔを算出する。数３〜数６において、ｘハットは、ｘ（ｘ１〜ｘ５）を正規化して得られた画像２１上の座標である。同様に、ｘ’ハットは、ｘ’（ｘ’１〜ｘ’５）を正規化して得られた画像２２上の座標である。Ｅは、Ｅｓｓｅｎｔｉａｌ行列、Ｋはカメラのキャリブレーション行列である。
【００５０】
【数３】
2020041950.tif 000005
【００５１】
【数４】
2020041950.tif 000006
【００５２】
【数５】
2020041950.tif 000007
【００５３】
また、キャリブレーション行列Ｋは、下記の数６及び数７から求めることができる。なお、ｘ０、ｙ０は、カメラの中心座標である。
【００５４】
【数６】
2020041950.tif 000008
【００５５】
【数７】
2020041950.tif 000009
【００５６】
［ステップＡ３］
次に、３次元座標算出部１３は、カメラ行列算出部１２によって、回転行列Ｒ及びカメラ３１の位置の３次元座標ｔと、回転行列Ｒとが算出されると、カメラ３１の位置は原点となるので、カメラ３２の位置の３次元座標ｔに対して係数ｗを乗算する。これにより、下記の数８が得られる。
【００５７】
【数８】
2020041950.tif 000010
【００５８】
［ステップＡ４］
次に、３次元座標算出部１３は、係数の乗算後のカメラの位置の３次元座標と回転行列とを用いて、抽出された特徴点の３次元座標Ｘ（Ｘ１〜Ｘ５）を算出する。具体的には、３次元座標算出部１３は、下記の数９を解くことで３次元座標Ｘを算出する。また、数９における行列Ａは数１０で示される。なお、ｐｉＴは、カメラ行列Ｐの行である。
【００５９】
【数９】
2020041950.tif 000011
【００６０】
【数１０】
2020041950.tif 000012
【００６１】
［ステップＡ６］
図５は、図２に示したステップＡ６で新たに選択された画像とそれから抽出された特徴点のペアの一例を示す図である。ステップＡ６では、画像選択部１１は、初期ペア画像以外の画像の中から、画像２３を新たに選択し、画像２３と初期ペア画像の１つである画像２２とを新たなペア画像とする。画像２３は、カメラ３３によって撮影されている。
【００６２】
［ステップＡ７］
カメラ行列算出部１２は、画像２２の特徴点に対応する画像２３の特徴点（ｘ’’１〜ｘ’’３）を特定し、画像２２の特徴点と画像２３との特徴点とを新たな特徴点ペアとする。そして、カメラ行列算出部１２は、画像２３を撮影したカメラ３３のカメラ行列Ｐｎを算出する。カメラ行列Ｐｎは、下記の数１１によって表すことができる。
【００６３】
【数１１】
2020041950.tif 000013
【００６４】
具体的には、カメラ行列算出部１２は、画像２３の特定された特徴点を用いて、下記の数１２に示す方程式を解くことによって、カメラ３３のカメラ行列ＰｎのＲｎ及びｔｎを算出する。
【００６５】
【数１２】
2020041950.tif 000014
【００６６】
数１２において、Ｘｉは、新たに選択された画像２３における画像２２と共通する特徴点の３次元座標である。ｘｉハットは、新たに選択された画像２３における特徴点の正規化された座標である。ｄｉは、下記の数１３に示すように、画像２３を撮影したカメラ３３とｘｉハットとの距離を示している。
【００６７】
【数１３】
2020041950.tif 000015
【００６８】
［ステップＡ８〜Ａ９］
ステップＡ８及びＡ９では、３次元座標算出部１３は、算出したカメラ３３のカメラ行列ＰｎのＲｎ及びｔｎを用いて、画像２３の特定された特徴点（ｘ’’１〜ｘ’’３）の３次元座標Ｘｉを算出する。具体的には、３次元座標算出部１３は、ステップＡ４と同様に、上記数９を解くことで、３次元座標Ｘ（Ｘ１〜Ｘ３）を算出する。
【００６９】
ところで、上述したように、ステップＡ３において、原点に設定されていないカメラ３２のカメラ行列Ｐ’では、３次元座標ｔはｗ倍されている。このため、上記数１２において、ｔとＸｉとが比例関係にあることから、ステップＡ９で算出される３次元座標Ｘｉも、実質的にｗ倍されている。
【００７０】
つまり、図６に示すように、本実施の形態では、初期ペア画像による３次元座標の算出後に新たに選択された画像からは、ｗ倍された３次元座標Ｘｉのみが算出されることになる。また、このことは、残りの画像についても繰り返し行われるので、最終的に、算出される全ての３次元座標Ｘｉは、ｗ倍される。図６は、図２に示したステップＡ９で算出された特徴点の３次元座標の一例を示す図である。
【００７１】
［実施の形態における効果］
以上のように、本実施の形態では、算出される特徴点の３次元座標は全てｗ倍されている。つまり、本実施の形態では、ローカル座標がｗ倍された点群データが得られることになる。本実施の形態によれば、点群データのローカル座標を実座標に変換する際において、誤差の増幅を抑制することができる。
【００７２】
［変形例］
ここで、本実施の形態における変形例について説明する。本変形例は、対象物が特定の領域に存在する物体であり、更に、特定の領域に複数の基準点（ＧＣＰ）が設置されている場合に適用される。基準点は、従来から測量分野において用いられるものであり、その位置座標は、例えば、人工衛星を用いた測量によって実測される。
【００７３】
本変形例では、３次元座標算出部１３は、まず、初期ペア画像において、係数ｗによる乗算を行わないで、全ての３次元座標を算出する。次に、３次元座標算出部１３は、各基準点に含まれる特徴点の３次元座標と、各基準点の実空間での位置座標とを用いて、係数ｗを設定する。その後、設定された係数ｗが用いられて、上述したステップＡ１〜Ａ１２が実行される。
【００７４】
このように、本変形例によれば、係数ｗの値を自動的に適切な値に設定できるので、点群データのローカル座標を実座標に変換する際において、上述した誤差の増幅をよりいっそう抑制することができる。
【００７５】
［プログラム］
本実施の形態におけるプログラムは、コンピュータに、図２に示すステップＡ１〜Ａ１２を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態における測量装置１０と測量方法とを実現することができる。この場合、コンピュータのプロセッサは、画像選択部１１、カメラ行列算出部１２、３次元座標算出部１３、及び点群データ作成部１４として機能し、処理を行なう。
【００７６】
また、本実施の形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、画像選択部１１、カメラ行列算出部１２、３次元座標算出部１３、及び点群データ作成部１４のいずれかとして機能しても良い。
【００７７】
ここで、本実施の形態におけるプログラムを実行することによって、測量装置１０を実現するコンピュータについて図７を用いて説明する。図７は、本発明の実施の形態における測量装置を実現するコンピュータの一例を示すブロック図である。
【００７８】
図７に示すように、コンピュータ１１０は、ＣＰＵ１１１と、メインメモリ１１２と、記憶装置１１３と、入力インターフェイス１１４と、表示コントローラ１１５と、データリーダ／ライタ１１６と、通信インターフェイス１１７とを備える。これらの各部は、バス１２１を介して、互いにデータ通信可能に接続される。なお、コンピュータ１１０は、ＣＰＵ１１１に加えて、又はＣＰＵ１１１に代えて、ＧＰＵ（Graphics Processing Unit）、又はＦＰＧＡ（Field-Programmable Gate Array）を備えていても良い。
【００７９】
ＣＰＵ１１１は、記憶装置１１３に格納された、本実施の形態におけるプログラム（コード）をメインメモリ１１２に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ１１２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体１２０に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス１１７を介して接続されたインターネット上で流通するものであっても良い。
【００８０】
また、記憶装置１１３の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス１１４は、ＣＰＵ１１１と、キーボード及びマウスといった入力機器１１８との間のデータ伝送を仲介する。表示コントローラ１１５は、ディスプレイ装置１１９と接続され、ディスプレイ装置１１９での表示を制御する。
【００８１】
データリーダ／ライタ１１６は、ＣＰＵ１１１と記録媒体１２０との間のデータ伝送を仲介し、記録媒体１２０からのプログラムの読み出し、及びコンピュータ１１０における処理結果の記録媒体１２０への書き込みを実行する。通信インターフェイス１１７は、ＣＰＵ１１１と、他のコンピュータとの間のデータ伝送を仲介する。
【００８２】
また、記録媒体１２０の具体例としては、ＣＦ（Compact Flash（登録商標））及びＳＤ（Secure Digital）等の汎用的な半導体記憶デバイス、フレキシブルディスク（Flexible Disk）等の磁気記録媒体、又はＣＤ−ＲＯＭ（Compact Disk Read Only Memory）など
の光学記録媒体が挙げられる。
【００８３】
なお、本実施の形態における、測量装置１０は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、測量装置１０は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
【００８４】
上述した実施の形態の一部又は全部は、以下に記載する（付記１）〜（付記１５）によって表現することができるが、以下の記載に限定されるものではない。
【００８５】
（付記１）
対象物を含む複数の画像から前記対象物の点群データを作成するための測量装置であって、
前記複数の画像それぞれから、当該画像以外の画像との間で対応する特徴点が抽出されている場合に、前記特徴点が抽出された前記複数の画像の中から、ペア画像を選択する、画像選択部と、
選択された前記ペア画像それぞれの両者に対応する前記特徴点を用いて、前記ペア画像それぞれ毎に、当該画像を撮影したカメラのカメラ行列を算出する、カメラ行列算出部と、
前記ペア画像それぞれ毎に、算出された前記カメラ行列から、当該画像を撮影したカメラの位置の３次元座標と回転行列とを求め、更に、求めた前記カメラの位置の３次元座標の少なくとも一方に対して係数を乗算し、その後、前記カメラの位置の３次元座標と前記回転行列とを用いて、前記ペア画像それぞれの両者に対応する前記特徴点の３次元座標を算出する、３次元座標算出部と、
前記３次元座標が算出された前記特徴点を用いて、前記点群データを作成する、点群データ作成部と、
を備えている、
ことを特徴とする測量装置。
【００８６】
（付記２）
付記１に記載の測量装置であって、
前記画像選択部が、前記ペア画像を選択した後に、前記複数の画像の中から、前記ペア画像以外の画像を新たに選択し、
前記カメラ行列算出部が、前記ペア画像の１つの特徴点と、それに対応する、前記新たに選択した画像の特徴点とを用いて、前記新たに選択した画像を撮影したカメラのカメラ行列を算出し、
前記３次元座標算出部が、前記新たに選択した画像を撮影したカメラのカメラ行列から、前記新たに選択した画像を撮影したカメラの位置の３次元座標と回転行列とを求め、求めた、前記新たに選択した画像を撮影したカメラの位置の３次元座標と回転行列とを用いて、前記新たに選択した画像の特徴点の３次元座標を算出する、
ことを特徴とする測量装置。
【００８７】
（付記３）
付記１または２に記載の測量装置であって、
前記対象物が特定の領域に存在する物体であり、
前記複数の画像それぞれが前記領域の上空から撮影された画像であり、更に、
前記係数が、前記カメラの撮像素子の最大長に対する、前記領域からの前記カメラの高度の比率に基づいて設定されている、
ことを特徴とする測量装置。
【００８８】
（付記４）
付記１または２に記載の測量装置であって、
前記係数が、前記対象物の実空間でのサイズと前記対象物の前記画像中でのサイズとの関係に基づいて設定されている、
ことを特徴とする測量装置。
【００８９】
（付記５）
付記３に記載の測量装置であって、
前記特定の領域に複数の基準点が設置されている場合において、
前記３次元座標算出部が、前記係数による乗算を行わないで、前記３次元座標を算出し、
その後、前記複数の基準点それぞれに含まれる前記特徴点の３次元座標と、前記複数の基準点それぞれの実空間での位置座標とを用いて、前記係数を設定する、
ことを特徴とする測量装置。
【００９０】
（付記６）
対象物を含む複数の画像から前記対象物の点群データを作成するための方法であって、（ａ）前記複数の画像それぞれから、当該画像以外の画像との間で対応する特徴点が抽出されている場合に、前記特徴点が抽出された前記複数の画像の中から、ペア画像を選択する、ステップと、
（ｂ）選択された前記ペア画像それぞれの両者に対応する前記特徴点を用いて、前記ペア画像それぞれ毎に、当該画像を撮影したカメラのカメラ行列を算出する、ステップと、
（ｃ）前記ペア画像それぞれ毎に、算出された前記カメラ行列から、当該画像を撮影したカメラの位置の３次元座標と回転行列とを求め、更に、求めた前記カメラの位置の３次元座標の少なくとも一方に対して係数を乗算し、その後、前記カメラの位置の３次元座標と前記回転行列とを用いて、前記ペア画像それぞれの両者に対応する前記特徴点の３次元座標を算出する、ステップと、
（ｄ）前記３次元座標が算出された前記特徴点を用いて、前記点群データを作成する、ステップと、
を有する、
ことを特徴とする測量方法。
【００９１】
（付記７）
付記６に記載の測量方法であって、
（ｅ）前記（ａ）のステップにおいて前記ペア画像を選択した後に、前記複数の画像の中から、前記ペア画像以外の画像を新たに選択する、ステップと、
（ｆ）前記ペア画像の１つの特徴点と、それに対応する、前記新たに選択した画像の特徴点とを用いて、前記新たに選択した画像を撮影したカメラのカメラ行列を算出する、ステップと、
（ｇ）前記新たに選択した画像を撮影したカメラのカメラ行列から、前記新たに選択した画像を撮影したカメラの位置の３次元座標と回転行列とを求め、求めた、前記新たに選択した画像を撮影したカメラの位置の３次元座標と回転行列とを用いて、前記新たに選択した画像の特徴点の３次元座標を算出する、ステップと、
を更に有する、
ことを特徴とする測量方法。
【００９２】
（付記８）
付記６または７に記載の測量方法であって、
前記対象物が特定の領域に存在する物体であり、
前記複数の画像それぞれが前記領域の上空から撮影された画像であり、更に、
前記係数が、前記カメラの撮像素子の最大長に対する、前記領域からの前記カメラの高度の比率に基づいて設定されている、
ことを特徴とする測量方法。
【００９３】
（付記９）
付記６または７に記載の測量方法であって、
前記係数が、前記対象物の実空間でのサイズと前記対象物の前記画像中でのサイズとの関係に基づいて設定されている、
ことを特徴とする測量方法。
【００９４】
（付記１０）
付記８に記載の測量方法であって、
前記特定の領域に複数の基準点が設置されている場合において、
（ｈ）前記係数による乗算を行わないで、前記３次元座標を算出し、
その後、前記複数の基準点それぞれに含まれる前記特徴点の３次元座標と、前記複数の基準点それぞれの実空間での位置座標とを用いて、前記係数を設定する、ステップを、
更に有する、
ことを特徴とする測量方法。
【００９５】
（付記１１）
コンピュータによって、対象物を含む複数の画像から前記対象物の点群データを作成するためのプログラムであって、
前記コンピュータに、
（ａ）前記複数の画像それぞれから、当該画像以外の画像との間で対応する特徴点が抽出されている場合に、前記特徴点が抽出された前記複数の画像の中から、ペア画像を選択する、ステップと、
（ｂ）選択された前記ペア画像それぞれの両者に対応する前記特徴点を用いて、前記ペア画像それぞれ毎に、当該画像を撮影したカメラのカメラ行列を算出する、ステップと、
（ｃ）前記ペア画像それぞれ毎に、算出された前記カメラ行列から、当該画像を撮影したカメラの位置の３次元座標と回転行列とを求め、更に、求めた前記カメラの位置の３次元座標の少なくとも一方に対して係数を乗算し、その後、前記カメラの位置の３次元座標と前記回転行列とを用いて、前記ペア画像それぞれの両者に対応する前記特徴点の３次元座標を算出する、ステップと、
（ｄ）前記３次元座標が算出された前記特徴点を用いて、前記点群データを作成する、ステップと、
を実行させる、プログラム。
【００９６】
（付記１２）
付記１１に記載のプログラムであって、
前記コンピュータに、
（ｅ）前記（ａ）のステップにおいて前記ペア画像を選択した後に、前記複数の画像の中から、前記ペア画像以外の画像を新たに選択する、ステップと、
（ｆ）前記ペア画像の１つの特徴点と、それに対応する、前記新たに選択した画像の特徴点とを用いて、前記新たに選択した画像を撮影したカメラのカメラ行列を算出する、ステップと、
（ｇ）前記新たに選択した画像を撮影したカメラのカメラ行列から、前記新たに選択した画像を撮影したカメラの位置の３次元座標と回転行列とを求め、求めた、前記新たに選択した画像を撮影したカメラの位置の３次元座標と回転行列とを用いて、前記新たに選択した画像の特徴点の３次元座標を算出する、ステップと、
を更に実行させる、
ことを特徴とするプログラム。
【００９７】
（付記１３）
付記１１または１２に記載のプログラムであって、
前記対象物が特定の領域に存在する物体であり、
前記複数の画像それぞれが前記領域の上空から撮影された画像であり、更に、
前記係数が、前記カメラの撮像素子の最大長に対する、前記領域からの前記カメラの高度の比率に基づいて設定されている、
ことを特徴とするプログラム。
【００９８】
（付記１４）
付記１１または１２に記載のプログラムであって、
前記係数が、前記対象物の実空間でのサイズと前記対象物の前記画像中でのサイズとの関係に基づいて設定されている、
ことを特徴とするプログラム。
【００９９】
（付記１５）
付記１３に記載のプログラムであって、
前記特定の領域に複数の基準点が設置されている場合において、
前記コンピュータに、
（ｈ）前記係数による乗算を行わないで、前記３次元座標を算出し、
その後、前記複数の基準点それぞれに含まれる前記特徴点の３次元座標と、前記複数の基準点それぞれの実空間での位置座標とを用いて、前記係数を設定する、ステップを、
更に実行させる、
ことを特徴とするプログラム。
【産業上の利用可能性】
【０１００】
以上のように、本発明によれば、点群データのローカル座標を実座標に変換する際において、誤差の増幅を抑制することができる。本発明は、画像を用いて測量を行うシステムに有用である。
【符号の説明】
【０１０１】
１０  測量装置
１１  画像選択部
１２  カメラ行列算出部
１３  ３次元座標算出部
１４  点群データ作成部
２１、２２、２３  画像
３１、３２、３３  カメラ
１１０  コンピュータ
１１１  ＣＰＵ
１１２  メインメモリ
１１３  記憶装置
１１４  入力インターフェイス
１１５  表示コントローラ
１１６  データリーダ／ライタ
１１７  通信インターフェイス
１１８  入力機器
１１９  ディスプレイ装置
１２０  記録媒体
１２１  バス
【図１】
2020041950.tif 000016
【図２】
2020041950.tif 000017
【図３】
2020041950.tif 000018
【図４】
2020041950.tif 000019
【図５】
2020041950.tif 000020
【図６】
2020041950.tif 000021
【図７】
2020041950.tif 000022