(57)【要約】【課題】定点カメラの位置姿勢を高効率で推定する。【解決手段】入力部１ａは、位置と向きが固定されたカメラ３ａ〜３ｃによって対象物２がそれぞれ撮影された画像５ａ〜５ｃと、カメラ４によって対象物２がそれぞれ撮像され、第１の画像順が付与された画像６ａ〜６ｊの入力を受け付ける。演算部１ｃは、画像５ａ〜５ｃと画像６ａ〜６ｊとの類似度と、第１の画像順とに基づいて、画像５ａ〜５ｃ，６ａ〜６ｊの全体における順序を示す第２の画像順を決定する。演算部１ｃは、画像５ａ〜５ｃ，６ａ〜６ｊと、決定された第２の画像順とに基づいて、カメラ３ａ〜３ｃのそれぞれの位置姿勢を推定する。【選択図】図１
2019074991.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
位置と向きが固定された複数の第１カメラによって対象物がそれぞれ撮影された複数の第１画像と、第２カメラによって前記対象物がそれぞれ撮像され、第１の画像順が付与された複数の第２画像とを取得し、
前記複数の第１画像と前記複数の第２画像との類似度と、前記第１の画像順とに基づいて、前記複数の第１画像および前記複数の第２画像の全体における順序を示す第２の画像順を決定し、
前記複数の第１画像および前記複数の第２画像と前記第２の画像順とに基づいて、前記複数の第１カメラのそれぞれの位置姿勢を推定する、
処理を実行させる画像処理プログラム。
【請求項２】
前記コンピュータに、
前記位置姿勢の推定後に、前記複数の第１カメラによって前記対象物がそれぞれ撮影された複数の第３画像を取得し、
前記複数の第３画像と前記位置姿勢とに基づいて、前記複数の第３画像に写る前記対象物の３次元形状を示す情報を生成する、
処理をさらに実行させる請求項１記載の画像処理プログラム。
【請求項３】
前記第２の画像順の決定では、前記複数の第１画像のうち一の画像と、前記複数の第２画像のそれぞれとの間の類似度に基づいて、前記複数の第２画像のうち前記第１の画像順においてそれぞれ隣接する複数の画像ペアの中から、一の画像ペアを特定し、前記一の画像ペアに含まれる画像間の位置に前記一の画像を挿入する、
請求項１または２記載の画像処理プログラム。
【請求項４】
前記位置姿勢を推定する処理は、前記複数の第１画像および前記複数の第２画像のうち前記第２の画像順において隣接する複数の画像間での、特徴点のマッチング処理を含む、
請求項１乃至３のいずれか１項に記載の画像処理プログラム。
【請求項５】
前記複数の第２画像は、前記第２カメラによって撮影された動画像から切り出された静止画像であり、前記第１の画像順は、前記複数の第２画像の撮影順を示す、
請求項１乃至４のいずれか１項に記載の画像処理プログラム。
【請求項６】
位置と向きが固定された複数の第１カメラによって対象物がそれぞれ撮影された複数の第１画像と、第２カメラによって前記対象物がそれぞれ撮像され、第１の画像順が付与された複数の第２画像とが入力される入力部と、
前記複数の第１画像と前記複数の第２画像との類似度と、前記第１の画像順とに基づいて、前記複数の第１画像および前記複数の第２画像の全体における順序を示す第２の画像順を決定し、前記複数の第１画像および前記複数の第２画像と前記第２の画像順とに基づいて、前記複数の第１カメラのそれぞれの位置姿勢を推定する演算部と、
を有する画像処理装置。
【請求項７】
コンピュータが、
位置と向きが固定された複数の第１カメラによって対象物がそれぞれ撮影された複数の第１画像と、第２カメラによって前記対象物がそれぞれ撮像され、第１の画像順が付与された複数の第２画像とを取得し、
前記複数の第１画像と前記複数の第２画像との類似度と、前記第１の画像順とに基づいて、前記複数の第１画像および前記複数の第２画像の全体における順序を示す第２の画像順を決定し、
前記複数の第１画像および前記複数の第２画像と前記第２の画像順とに基づいて、前記複数の第１カメラのそれぞれの位置姿勢を推定する、
画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理プログラム、画像処理装置および画像処理方法に関する。
【背景技術】
【０００２】
近年、対象物を撮影した複数の画像を基に対象物の３次元形状を復元する技術の研究が進んでいる。例えば、Structure from Motion（ＳｆＭ）は、複数の画像を基に各画像を撮影したカメラの位置姿勢を推定するとともに、対象物の３次元形状を復元するものである。また、推定されたカメラの位置姿勢の情報を基に、マルチビューステレオ方式によって詳細な３次元形状を復元する方法もある。
【０００３】
また、３次元形状の復元技術の例として、次のような提案がある。この提案では、ユーザにより対象物が撮影された複数のユーザ画像と、ユーザ以外のものにより対象物が撮影された複数の画像とが取得される。そして、これらの画像に基づいて各画像の撮影条件が推定され、推定された撮影条件と各画像とに基づいて、対象物の３次元形状に係る情報が生成される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−００４４６６号公報
【非特許文献】
【０００５】
【非特許文献１】Tomasi, C. and Kanade, T., “Shape and motion from image streams under orthography：a factorization method.”, Int'l. J. Computer Vision, 9(2), 1992, pp.137-154
【非特許文献２】Furukawa, Y. and Ponce, J., “Accurate, dense, and robust multiview stereopsis.”, IEEE Transactions on Pattern Analysis and Machine Intelligence, 32(8), 2010, pp.1362-1376
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、マルチビューステレオ方式を用いることで、限られた数の定点カメラからの画像を基に、比較的高精度な３次元モデルを生成できる。しかし、そのためには定点カメラの位置姿勢を正確に測定する必要があり、測定作業に手間がかかる。そこで、測定作業を省略するために、定点カメラからの画像を基にＳｆＭ技術により各定点カメラの位置姿勢を推定し、推定された位置姿勢を用いて３次元モデルを生成する方法が考えられる。しかし、定点カメラの数が少ないほど位置姿勢の推定精度が低下し、３次元モデルの復元精度も悪化する。
【０００７】
そこで、定点カメラからの画像に加え、可搬型カメラによって対象物を撮影したより多くの画像を用いて、定点カメラの位置姿勢を推定する方法が考えられる。しかし、これらの画像を単に利用した場合、定点カメラからの画像と可搬型カメラからの画像との間の関連性が不明であるため、位置姿勢の推定処理効率が悪く、その推定精度の悪化を招く可能性があるという問題がある。
【０００８】
１つの側面では、本発明は、定点カメラの位置姿勢を高効率で推定可能な画像処理プログラム、画像処理装置および画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
１つの案では、画像処理プログラムが提供される。この画像処理プログラムは、コンピュータに、位置と向きが固定された複数の第１カメラによって対象物がそれぞれ撮影された複数の第１画像と、第２カメラによって対象物がそれぞれ撮像され、第１の画像順が付与された複数の第２画像とを取得し、複数の第１画像と複数の第２画像との類似度と、第１の画像順とに基づいて、複数の第１画像および複数の第２画像の全体における順序を示す第２の画像順を決定し、複数の第１画像および複数の第２画像と第２の画像順とに基づいて、複数の第１カメラのそれぞれの位置姿勢を推定する、処理を実行させる。
【００１０】
また、１つの案では、上記の画像処理プログラムにしたがった処理と同様の処理を実行する画像処理装置が提供される。
さらに、１つの案では、上記の画像処理プログラムにしたがった処理と同様の処理をコンピュータが実行する画像処理方法が提供される。
【発明の効果】
【００１１】
１つの側面では、定点カメラの位置姿勢を高効率で推定できる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施の形態に係る画像処理装置の構成例および処理例を示す図である。
【図２】第２の実施の形態に係る計測システムの構成例を示す図である。
【図３】対象物の体積を計測する計測工程について説明するための図である。
【図４】体積計測の前工程について説明するための図である。
【図５】画像順の決定処理について説明するための図である。
【図６】前工程および計測工程を含む全体の作業手順を示す図である。
【図７】計測サーバのハードウェア構成例を示す図である。
【図８】計測サーバが備える処理機能の構成例を示すブロック図である。
【図９】前工程で実行される前処理の手順を示すフローチャートの例である。
【図１０】画像順決定処理の手順を示すフローチャートの例である。
【図１１】計測処理の手順を示すフローチャートの例である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について図面を参照して説明する。
〔第１の実施の形態〕
図１は、第１の実施の形態に係る画像処理装置の構成例および処理例を示す図である。図１に示す画像処理装置１は、対象物２を撮影するカメラ３ａ〜３ｃのそれぞれの位置姿勢を推定するための装置である。カメラ３ａ〜３ｃは、それぞれ位置と向きとが固定されている。また、カメラ３ａ〜３ｃの位置や向きは、隣接する２つのカメラ（図１の例では、カメラ３ａとカメラ３ｂ、およびカメラ３ｂとカメラ３ｃ）で撮影される画像の間において、対象物２上の撮影領域がオーバラップするように設定される。なお、推定された位置姿勢は、例えば、その後にカメラ３ａ〜３ｃによって撮影された画像を基に対象物２の３次元形状を示す情報を生成する際に、利用される。
【００１４】
画像処理装置１は、入力部１ａ、記憶部１ｂおよび演算部１ｃを有する。入力部１ａは、例えば、通信インタフェース回路、あるいは可搬型記録媒体の読み取り装置として実現される。記憶部１ｂは、例えば、ＲＡＭ（Random Access Memory）やＨＤＤ（Hard Disk Drive）など、画像処理装置１が備える記憶装置の記憶領域として実現される。演算部１ｃは、例えば、画像処理装置１が備えるプロセッサとして実現される。
【００１５】
入力部１ａには、カメラ３ａ〜３ｃによってそれぞれ撮影された画像（第１画像）５ａ〜５ｃが入力される。また、入力部１ａには、カメラ３ａ〜３ｂとは別のカメラ４によって対象物２が撮影された複数の画像（第２画像）も入力される。図１では例として、カメラ４によって撮影された１０枚の画像６ａ〜６ｊが入力される。なお、図１の例では、入力された画像５ａ〜５ｃと画像６ａ〜６ｊは、記憶部１ｂに一時的に記憶されるものとする。
【００１６】
ここで、画像６ａ〜６ｊには、画像６ａ，６ｂ，６ｃ，６ｄ，６ｅ，６ｆ，６ｇ，６ｈ，６ｉ，６ｊの順に画像順が付与されている。ここでは、画像６ａ〜６ｊにあらかじめ付与された画像順を「第１の画像順」と呼ぶ。
【００１７】
また、これらの画像６ａ〜６ｊは、例えば、次のようにして生成される。カメラ４を手に持ったユーザは、対象物２の周囲を移動しながら、対象物２が写った動画像をカメラ４に撮影させる。そして、得られた動画像から画像６ａ〜６ｊが切り出されて生成される。あるいは、ユーザが対象物２の周囲を移動しながらカメラ４に静止画像を連続的に撮影させることで、画像６ａ〜６ｊが生成されてもよい。いずれの場合でも、画像６ａ〜６ｊは、第１の画像順において隣接する２つの画像間で、対象物２における撮影領域がオーバラップするように撮影される。また、これら２つの例では、画像６ａ〜６ｊの撮影順を第１の画像順とすることができる。
【００１８】
演算部１ｃは、画像５ａ〜５ｃと画像６ａ〜６ｊとの類似度と、画像６ａ〜６ｊについての第１の画像順とに基づいて、画像５ａ〜５ｃ，６ａ〜６ｊの全体における順序を決定する（ステップＳ１）。ここでは、決定される順序を「第２の画像順」と呼ぶ。
【００１９】
例えば、演算部１ｃは、画像５ａと画像６ａ〜６ｊのそれぞれとの類似度を計算する。演算部１ｃは、画像６ａ〜６ｊのうち、第１の画像順においてそれぞれ隣接する複数の画像ペアの中から、画像５ａとの類似度が高い２つの画像を含む１つの画像ペアを特定する。演算部１ｃは、特定された画像ペアに含まれる画像間の位置に、画像５ａを挿入する。図１の例では、画像ペアとして画像６ｂ，６ｃが特定され、画像６ｂと画像６ｃとの間に画像５ａが挿入されている。
【００２０】
演算部１ｃは、上記と同様の処理を画像５ｂ，５ｃについても実行する。図１の例では、画像５ｂについて画像ペアとして画像６ｅ，６ｆが特定され、画像６ｅと画像６ｆとの間に画像５ｂが挿入されている。また、画像５ｃについて画像ペアとして画像６ｈ，６ｉが特定され、画像６ｈと画像６ｉとの間に画像５ｃが挿入されている。このような処理により、第２の画像順として、画像６ａ，６ｂ，５ａ，６ｃ，６ｄ，６ｅ，５ｂ，６ｆ，６ｇ，６ｈ，５ｃ，６ｉ，６ｊという順序が決定される。
【００２１】
次に，演算部１ｃは、画像５ａ〜５ｃ，６ａ〜６ｊと、決定された第２の画像順とに基づいて、カメラ３ａ〜３ｃのそれぞれの位置姿勢を推定する（ステップＳ２）。位置姿勢の推定は、例えば、ＳｆＭの手法を用いて実行される。
【００２２】
ここで、本実施の形態によれば、カメラ３ａ〜３ｃによる画像５ａ〜５ｃに加えて、カメラ４による画像６ａ〜６ｊも用いられることで、カメラ３ａ〜３ｃのそれぞれの位置姿勢の推定精度を向上させることができる。しかし、画像５ａ〜５ｃと画像６ａ〜６ｊとの間では、撮影の連続性などの関連性が不明であることから、これらの画像を単に利用するだけでは、位置姿勢の推定処理効率が悪く、その推定精度の悪化を招く可能性もある。
【００２３】
例えば、位置姿勢の推定のために２つの画像間で対応する特徴点（対応点）を探索する際には、対応点が画像間にできるだけ多く存在することが好ましい。しかし、画像５ａ〜５ｃと画像６ａ〜６ｊとの関連性が不明な状態では、画像５ａ〜５ｃ，６ａ〜６ｊを用いて総当たりで画像間の対応点探索を行い、対応点を多く含む画像のペアを特定する必要が生じる。このため、計算量や処理負荷が増大する。また、計算を簡略化して処理負荷を下げようとすると、位置姿勢の推定精度が低下する可能性がある。
【００２４】
これに対して、本実施の形態によれば、画像５ａ〜５ｃと画像６ａ〜６ｊとの類似度と、画像６ａ〜６ｊについての第１の画像順とに基づいて、画像５ａ〜５ｃ，６ａ〜６ｊの全体に対して第２の画像順が決定される。そして、このように決定された第２の画像順を用いることで、カメラ３ａ〜３ｃのそれぞれの位置姿勢を効率よく推定できる。
【００２５】
例えば、類似度に基づいて第２の画像順が決定されることで、第２の画像順において隣接する２つの画像には、対象物２上の同一領域が大きな面積で写っている可能性が高く、それらの画像間に対応点が多く含まれている可能性が高い。そのため、対応点の探索の際には、第２の画像順にしたがって、先頭から順に隣接する２つの画像を選択しながら対応点を探索していけばよくなる。このように、第２の画像順を用いることで処理効率を向上させることができる。
【００２６】
なお、例えば、以上の手順によりカメラ３ａ〜３ｃのそれぞれの位置姿勢が推定された後、カメラ３ａ〜３ｃによって対象物２が撮影される。この撮影は、例えば、定期的に行われる。画像処理装置１は、撮影された画像に基づき、マルチビューステレオ方式によって対象物２の３次元形状を示す情報を生成する。このとき、画像処理装置１は、上記手順で推定されたカメラ３ａ〜３ｃのそれぞれの位置姿勢を用いて、対象物２の３次元形状を示す情報を生成する。この処理では、上記手順によって高効率かつ高精度に推定された位置姿勢を用いることで、限られた数のカメラ３ａ〜３ｃからの画像だけを用いて、対象物２の３次元形状を精度よく復元できる。
【００２７】
〔第２の実施の形態〕
次に、第２の実施の形態として、上記の画像処理装置１の処理機能を用いて対象物の体積を計測できるようにした計測システムについて説明する。
【００２８】
図２は、第２の実施の形態に係る計測システムの構成例を示す図である。図２に示す計測システムは、計測サーバ１００とユーザ端末２００を含む。計測サーバ１００とユーザ端末２００との間は、ネットワーク３００によって接続されている。ネットワーク３００は、例えば、インターネットなどの広域ネットワークである。
【００２９】
計測サーバ１００は、対象物を撮影した画像を基に対象物の体積を計測する計測サービスを提供するためのサーバ装置である。ユーザ端末２００は、計測サービスを利用するユーザ側に設置される端末装置である。ユーザ端末２００は、対象物を撮影する１０台の定点カメラ２１１〜２２０から静止画像を取得し、計測サーバ１００にアップロードする。また、ユーザ端末２００は、対象物を撮影する可搬型カメラ２３０から動画像を取得し、計測サーバ１００にアップロードすることもできる。
【００３０】
なお、定点カメラの台数は、図２の例のように１０台に限定されるものではない。また、例えば、ユーザ端末２００と定点カメラ２１１〜２２０とは、有線ネットワークまたは無線ネットワークを介して接続され、ユーザ端末２００は、定点カメラ２１１〜２２０によって撮影された静止画像をこのようなネットワークを介して取得する。また、例えば、ユーザ端末２００と可搬型カメラ２３０とは、無線ネットワークを介して接続され、ユーザ端末２００は、可搬型カメラ２３０によって撮影された動画像をこのようなネットワークを介して取得する。あるいは、ユーザ端末２００は、撮影された画像を記録媒体に記憶された状態で取得してもよい。
【００３１】
図３は、対象物の体積を計測する計測工程について説明するための図である。定点カメラ２１１〜２２０は、対象物２４０の周囲に略一定間隔を置いて設置される。定点カメラ２１１〜２２０の位置および向きは、固定されている。本実施の形態では、定点カメラ２１１〜２２０はそれぞれ比較的広い画角を有し、それぞれ対象物２４０全体を撮影できるようになっている。この場合、定点カメラ２１１〜２２０は、対象物２４０をそれぞれ異なる角度から撮影する。
【００３２】
対象物２４０の体積の計測は、定期的に行われる。計測タイミングにおいて、定点カメラ２１１〜２２０によって静止画像が撮影され、それらの１０枚の静止画像がユーザ端末２００に送信される。なお、これ以後、定点カメラ２１１〜２２０によって撮影された静止画像を「定点画像」と呼ぶ。ユーザ端末２００は、受信した定点画像を計測サーバ１００にアップロードする。計測サーバ１００は、アップロードされた定点画像に基づき、マルチビューステレオ方式によって対象物２４０の３次元モデルを再現し、その３次元モデルに基づいて対象物２４０の体積を算出する。
【００３３】
定点カメラ２１１〜２２０の撮影対象は、例えば、製品製造のための原材料や資材が集積される領域とされる。例えば、製紙工場においては、原材料となる木材チップが決められた場所に集積される。この場合、集積された木材チップの山が対象物２４０となる。
【００３４】
このような領域では、集積される原材料や資材の量が時間に応じて変化する。上記のように、このような領域が定点カメラ２１１〜２２０によって定期的に撮影され、得られた定点画像に基づいて集積されている原材料や資材の体積が計測されることで、集積されている原材料や資材の量を効率的に管理できる。また、本実施の形態では、対象物２４０の３次元モデルから対象物２４０の体積を計測するが、この３次元モデルから対象物２４０の重量を推測することもできる。
【００３５】
ところで、上記のように、計測サーバ１００は、定点カメラ２１１〜２２０によって撮影された定点画像に基づき、マルチビューステレオ方式によって対象物２４０の３次元モデルを再現する。マルチビューステレオ方式を用いることにより、限られた数の定点カメラを用いて対象物２４０の３次元モデルを高精度に再現できる。しかし、そのためには、定点カメラ２１１〜２２０のそれぞれの位置姿勢を事前に正確に取得しておく必要がある。このような位置姿勢を人手によって正確に計測するためには、測量士による専用機材を用いた測量が必要となるなど、手間のかかる作業が必要となってしまう。
【００３６】
そこで、本実施の形態では、上記の計測工程に対する前工程において、対象物２４０を撮影した複数の画像に基づき、ＳｆＭ技術を用いて定点カメラ２１１〜２２０のそれぞれの位置姿勢を計算によって求める。これにより、位置姿勢の取得作業を大幅に効率化する。
【００３７】
図４は、体積計測の前工程について説明するための図である。前工程では、計測サーバ１００は、対象物２４０を撮影した複数の画像に基づき、ＳｆＭ技術を用いて定点カメラ２１１〜２２０のそれぞれの位置姿勢を示す位置姿勢を推定する。ＳｆＭでは、多くの画像を用いるほど位置姿勢を正確に推定できる。しかし、定点カメラは限られた数しか設置されていないので、これらの定点カメラ２１１〜２２０から得られた定点画像だけを用いた場合、位置姿勢の正確な推定のために画像数が十分とは言えない。
【００３８】
そこで、図４に示すように、計測サーバ１００は、定点カメラ２１１〜２２０から得られた定点画像に加えて、可搬型カメラ２３０から得られた複数の静止画像も用いて、定点カメラ２１１〜２２０のそれぞれの位置姿勢を推定する。具体的には、前工程では、定点カメラ２１１〜２２０によって定点画像が撮影されるとともに、可搬型カメラ２３０によって、対象物２４０を写した動画像が撮影される。動画像の撮影者は、可搬型カメラ２３０を手に持って対象物２４０の周囲を略一定速度で移動しながら、可搬型カメラ２３０に対象物２４０を写した動画像を撮影させる。
【００３９】
定点カメラ２１１〜２２０によって撮影された１０枚の定点画像は、ユーザ端末２００を介して計測サーバ１００にアップロードされる。また、可搬型カメラ２３０によって撮影された動画像も、ユーザ端末２００を介して計測サーバ１００にアップロードされる。計測サーバ１００は、アップロードされた動画像から静止画像を切り出し、切り出された静止画像とアップロードされた定点画像とを用いて、定点カメラ２１１〜２２０のそれぞれの位置姿勢を推定する。
【００４０】
以下の説明では、動画像から切り出された静止画像を「切り出し画像」と呼ぶ。切り出し画像は、例えば、動画像から一定間隔でフレームが抽出されることで生成される。ただし、隣接する切り出し画像の間で対象物２４０上の撮影領域がオーバラップするように、フレームが抽出される。
【００４１】
また、本実施の形態では、動画像から、定点画像より多くの数の切り出し画像が生成される。例として、切り出し画像は１００枚生成されるものとする。したがって、計測サーバ１００は、合計１１０枚の静止画像に基づいて位置姿勢を推定する。切り出し画像が多数生成されることで、可搬型カメラ２３０として、定点カメラ２１１〜２２０より狭い画角を有するカメラを使用しても、隣接する画像の間で対象物２４０上の撮影領域がオーバラップするような切り出し画像を容易に生成できるようになる。
【００４２】
なお、動画像からの切り出し画像の生成は、計測サーバ１００ではなく、ユーザ端末２００において行われてもよい。また、切り出し画像や動画像からではなく、可搬型カメラ２３０によって直接撮影されてもよい。この場合、撮影者は可搬型カメラ２３０を持って移動しながら、対象物２４０が写った静止画像（切り出し画像に相当）を可搬型カメラ２３０に間欠的に複数枚撮影させる。ただし、可搬型カメラ２３０に動画像を撮影させ、計測サーバ１００またはユーザ端末２００において動画像から切り出し画像を生成する方が、撮影者の作業負担を軽減し、作業効率を高めることができる。
【００４３】
ところで、切り出し画像は、動画像から順次切り出されて生成されるので、各切り出し画像の間には撮影順に沿った順序関係がある。一方、定点画像は切り出し画像を撮影したカメラとは別のカメラによって撮影されたものなので、定点画像と切り出し画像との間には順序関係がない。
【００４４】
ＳｆＭでは、画像を撮影順に沿って処理する方が、その処理効率を高めることができる。例えば、画像に順序関係がない場合、多数の画像の中から、対応する特徴点（対応点）を多く抽出できる適切な画像ペアを特定する必要がある。一方、画像を撮影順に処理する場合、撮影順に沿って隣接する画像間で多くの対応点を抽出できると推測されるので、適切な画像ペアを特定する必要がない。
【００４５】
そこで、本実施の形態では、計測サーバ１００は、各定点画像と各切り出し画像との類似度に基づいて、定点画像および切り出し画像の全体における画像順を決定する。そして、計測サーバ１００は、決定された画像順に沿って画像を処理しながら、定点カメラ２１１〜２２０のそれぞれの位置姿勢を推定する。これにより、位置姿勢の推定処理効率を改善する。
【００４６】
図５は、画像順の決定処理について説明するための図である。図５に例示した切り出し画像Ｐｂ１〜Ｐｂ８には、切り出し画像Ｐｂ１，Ｐｂ２，Ｐｂ３，Ｐｂ４，Ｐｂ５，Ｐｂ６，Ｐｂ７，Ｐｂ８の順に撮影順が付与されているものとする。
【００４７】
計測サーバ１００は、ある１つの定点画像Ｐａと、切り出し画像Ｐｂ１〜Ｐｂ８のそれぞれとの間の類似度を算出する。計測サーバ１００は、切り出し画像Ｐｂ１〜Ｐｂ８に含まれる、隣接する２つの切り出し画像からなる画像ペアの中から、定点画像Ｐａとの類似性が高い画像ペアを特定する。例えば、計測サーバ１００は、画像ペアのそれぞれについて、そこに含まれる各切り出し画像と定点画像Ｐａとの類似度の合算値を算出する。計測サーバ１００は、類似度の合算値が最も大きい画像ペアを、定点画像Ｐａとの類似性が高い画像ペアとして特定する。
【００４８】
図５の例では、定点画像Ｐａとの類似性の高い画像ペアとして、切り出し画像Ｐｂ４，Ｐｂ５を含む画像ペアが特定されている。この場合、計測サーバ１００は、切り出し画像Ｐｂ４と切り出し画像Ｐｂ５との間に定点画像Ｐａを挿入することで、切り出し画像Ｐｂ４、定点画像Ｐａ、切り出し画像Ｐｂ５という画像順を決定する。このような処理により、定点画像Ｐａの前後に、この定点画像Ｐａとの類似度が高く、多くの対応点を抽出できる可能性の高い切り出し画像が配置されるようになる。
【００４９】
計測サーバ１００は、上記のような処理をすべての定点画像について実行することで、定点画像および切り出し画像の全体における画像順を決定する。
図６は、前工程および計測工程を含む全体の作業手順を示す図である。まず、ステップＳ１１〜Ｓ１３の前工程が行われる。
【００５０】
［ステップＳ１１］定点カメラ２１１〜２２０のそれぞれによって、対象物２４０を写した静止画像（定点画像）が撮影される。撮影された各定点画像はユーザ端末２００に送信され、ユーザ端末２００から計測サーバ１００にアップロードされる。
【００５１】
［ステップＳ１２］可搬型カメラ２３０によって、対象物２４０を写した動画像が撮影される。撮影された動画像はユーザ端末２００に送信され、ユーザ端末２００から計測サーバ１００にアップロードされる。
【００５２】
［ステップＳ１３］計測サーバ１００によって次のような前処理が実行される。計測サーバ１００は、アップロードされた動画像から切り出し画像を生成する。計測サーバ１００は、図５に示した手順により、アップロードされた各定点画像および生成された各切り出し画像の全体における画像順を決定する。計測サーバ１００は、各定点画像および各切り出し画像と、決定された画像順とに基づき、ＳｆＭ技術を用いて定点カメラ２１１〜２２０のそれぞれの位置姿勢を推定する。計測サーバ１００は、推定された位置姿勢のデータを記憶装置に保存する。
【００５３】
その後、ステップＳ１４，Ｓ１５の計測工程が、定期的に繰り返し実行される。
［ステップＳ１４］定点カメラ２１１〜２２０のそれぞれによって、対象物２４０を写した静止画像（定点画像）が撮影される。撮影された各定点画像はユーザ端末２００に送信され、ユーザ端末２００から計測サーバ１００にアップロードされる。
【００５４】
［ステップＳ１５］計測サーバ１００によって次のような体積計測処理が実行される。計測サーバ１００は、アップロードされた各定点画像と、ステップＳ１３で推定された定点カメラ２１１〜２２０のそれぞれの位置姿勢とを用いて、マルチビューステレオ方式により対象物２４０の３次元モデルを再現する。具体的には、対象物２４０に対応する点群の３次元座標が算出される。計測サーバ１００は、算出された３次元座標と、定点カメラに関する基準位置データ（後述）とに基づいて、対象物２４０の体積を算出する。
【００５５】
次に、計測サーバ１００について説明する。
まず、図７は、計測サーバのハードウェア構成例を示す図である。計測サーバ１００は、例えば、図７に示すようなコンピュータとして実現される。
【００５６】
計測サーバ１００は、プロセッサ１０１によって装置全体が制御されている。プロセッサ１０１は、例えばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＰＬＤ（Programmable Logic Device）である。また、プロセッサ１０１は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００５７】
プロセッサ１０１には、バス１０８を介して、ＲＡＭ１０２と複数の周辺機器が接続されている。
ＲＡＭ１０２は、計測サーバ１００の主記憶装置として使用される。ＲＡＭ１０２には、プロセッサ１０１に実行させるＯＳ（Operating System）プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、プロセッサ１０１による処理に必要な各種データが格納される。
【００５８】
バス１０８に接続されている周辺機器としては、ＨＤＤ１０３、グラフィック処理装置１０４、入力インタフェース１０５、読み取り装置１０６および通信インタフェース１０７がある。
【００５９】
ＨＤＤ１０３は、計測サーバ１００の補助記憶装置として使用される。ＨＤＤ１０３には、ＯＳプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、ＳＳＤ（Solid State Drive）などの他の種類の不揮発性記憶装置を使用することもできる。
【００６０】
グラフィック処理装置１０４には、表示装置１０４ａが接続されている。グラフィック処理装置１０４は、プロセッサ１０１からの命令にしたがって、画像を表示装置１０４ａに表示させる。表示装置としては、液晶ディスプレイや有機ＥＬ（Electroluminescence）ディスプレイなどがある。
【００６１】
入力インタフェース１０５には、入力装置１０５ａが接続されている。入力インタフェース１０５は、入力装置１０５ａから出力される信号をプロセッサ１０１に送信する。入力装置１０５ａとしては、キーボードやポインティングデバイスなどがある。ポインティングデバイスとしては、マウス、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００６２】
読み取り装置１０６には、可搬型記録媒体１０６ａが脱着される。読み取り装置１０６は、可搬型記録媒体１０６ａに記録されたデータを読み取ってプロセッサ１０１に送信する。可搬型記録媒体１０６ａとしては、光ディスク、光磁気ディスク、半導体メモリなどがある。
【００６３】
通信インタフェース１０７は、ネットワーク３００を介して、ユーザ端末２００などの他の装置との間でデータの送受信を行う。
以上のようなハードウェア構成によって、計測サーバ１００の処理機能を実現することができる。
【００６４】
図８は、計測サーバが備える処理機能の構成例を示すブロック図である。計測サーバ１００は、記憶部１１０、画像入力部１２１、画像順決定部１２２、位置姿勢推定部１２３、３次元モデル再現部１２４および体積算出部１２５を有する。
【００６５】
なお、記憶部１１０は、例えば、ＲＡＭ１０２、ＨＤＤ１０３などの計測サーバ１００が備える記憶装置の記憶領域として実現される。画像入力部１２１、画像順決定部１２２、位置姿勢推定部１２３、３次元モデル再現部１２４および体積算出部１２５の処理は、例えば、プロセッサ１０１が所定のアプリケーションプログラムを実行することで実現される。
【００６６】
記憶部１１０には、順序管理テーブル１１１、位置姿勢データ１１２ａ，１１２ｂ，・・・、計測基準データ１１３が記憶される。
順序管理テーブル１１１は、前工程において定点カメラ２１１〜２２０および可搬型カメラ２３０から得られた画像の画像順を管理する。具体的には、順序管理テーブル１１１は、各画像のファイル名が登録されるレコードを有し、順序管理テーブル１１１の先頭から画像順に沿ってファイル名が登録される。
【００６７】
位置姿勢データ１１２ａ，１１２ｂ，・・・は、それぞれ定点カメラ２１１〜２２０の位置姿勢を示すデータである。
計測基準データ１１３は、対象物２４０の体積計算の際に基準となるデータである。具体的には、計測基準データ１１３には、定点カメラ２１１〜２２０のうちの２つの定点カメラ間の距離と、その距離がどの定点カメラかを示す情報とが含まれる。なお、計測基準データ１１３は、体積算出の前に（例えば、前工程で）あらかじめ記憶部１１０に登録される。
【００６８】
画像入力部１２１は、定点カメラ２１１〜２２０からユーザ端末２００を介して送信された定点画像や、可搬型カメラ２３０からユーザ端末２００を介して送信された動画像の入力を受け付ける。画像入力部１２１は、受け付けた定点画像を記憶部１１０に一時的に格納する。また、画像入力部１２１は、受け付けた動画像から切り出し画像を生成し、記憶部１１０に一時的に格納する。なお、図８では、記憶部１１０に格納された定点画像および切り出し画像の図示を省略している。
【００６９】
画像順決定部１２２および位置姿勢推定部１２３は、前工程において動作する。画像順決定部１２２は、前工程において取得された各定点画像と各切り出し画像との類似度と、各切り出し画像の撮影順とに基づいて、これらの定点画像および切り出し画像の全体における画像順を決定する。画像順決定部１２２による処理の結果、順序管理テーブル１１１には、決定された画像順にしたがって画像のファイル名が登録される。位置姿勢推定部１２３は、各定点画像および各切り出し画像と、順序管理テーブル１１１に登録された画像順とに基づき、ＳｆＭ技術を用いて定点カメラ２１１〜２２０のそれぞれの位置姿勢を推定する。これにより、位置姿勢データ１１２ａ，１１２ｂ，・・・が記憶部１１０に登録される。
【００７０】
３次元モデル再現部１２４および体積算出部１２５は、計測工程において動作する。３次元モデル再現部１２４は、計測工程において取得された各定点画像と、位置姿勢データ１１２ａ，１１２ｂ，・・・とに基づき、マルチビューステレオ方式によって対象物２４０の３次元モデルを再現する。体積算出部１２５は、再現された３次元モデルのデータと、計測基準データ１１３とに基づいて、対象物２４０の体積を算出する。
【００７１】
次に、計測サーバ１００の処理についてフローチャートを用いて説明する。
まず、図９は、前工程で実行される前処理の手順を示すフローチャートの例である。
［ステップＳ２１］画像入力部１２１は、定点カメラ２１１〜２２０によってそれぞれ撮影された定点画像を、ユーザ端末２００から受信し、記憶部１１０に格納する。
【００７２】
［ステップＳ２２］画像入力部１２１は、可搬型カメラ２３０によって撮影された動画像を、ユーザ端末２００から受信する。画像入力部１２１は、受信した動画像から所定枚数（ここでは１００枚）の切り出し画像を生成し、記憶部１１０に格納する。また、画像入力部１２１は、順序管理テーブル１１１に対して、生成された切り出し画像のファイル名を撮影順に登録する。
【００７３】
［ステップＳ２３］画像順決定部１２２は、ステップＳ２１で記憶部１１０に格納された各定点画像と、ステップＳ２２で記憶部１１０に格納された各切り出し画像との類似度と、各切り出し画像の撮影順とに基づいて、画像順の決定処理を実行する。この処理により、順序管理テーブル１１１には、決定された画像順にしたがって定点画像および切り出し画像のファイル名が登録される。なお、ステップＳ２３の処理の詳細については、後の図１０において説明する。
【００７４】
［ステップＳ２４］位置姿勢推定部１２３は、順序管理テーブル１１１に基づいて、決定された画像順において連続する３枚の画像の組み合わせを１組選択する。なお、ステップＳ２４が実行されるたびに、画像順における先頭側から順に画像の組み合わせが選択される。
【００７５】
［ステップＳ２５］位置姿勢推定部１２３は、ステップＳ２４で選択された３枚の画像間における特徴点マッチングを行い、３枚の画像間で対応する特徴点（対応点）を抽出する。位置姿勢推定部１２３は、対応点の抽出結果に基づいて、３枚の画像をそれぞれ撮影したカメラの位置姿勢を推定し、推定された位置姿勢を示す位置姿勢データを記憶部１１０に格納する。また、このとき、位置姿勢推定部１２３は、抽出された各対応点の３次元座標を示すデータ（点群データ）も算出し、記憶部１１０に格納する。
【００７６】
ここで、対応点の抽出には、例えば、オプティカルフローを利用することができる。また、対応点の抽出結果に基づく位置姿勢データおよび点群データの算出には、例えば、非特許文献１に記載の因子分解法を利用することができる。
【００７７】
また、この他に次のような方法も利用できる。例えば、隣接する画像間の対応点の位置関係から８点法などによって基礎行列を求める。そして、あらかじめ算出されたカメラの内部パラメータを利用して、位置情報（並進成分）と姿勢情報（回転成分）を含むカメラ行列を算出し、さらに三角測量法により対応点の３次元座標を算出する。この場合、例えば、選択された３枚の画像に含まれる２つの画像ペアについて上記の処理を実行し、バンドル調整により、対応点の３次元座標の誤差が最小になるようにカメラ行列を最適化していく。
【００７８】
さらに他の方法として、３枚の画像間の特徴点の位置関係を３焦点テンソルとして表記することにより、３台のカメラのカメラ行列を求めることもできる。
なお、このステップＳ２５が２回目以降に実行される際には、その直前に実行されたステップＳ２５において求められた３画像についての情報（対応点の情報、位置姿勢データおよび点群データ）のうち、１枚または２枚の画像についての情報が利用される。
【００７９】
［ステップＳ２６］位置姿勢推定部１２３は、順序管理テーブル１１１に基づき、連続する３枚の画像の組み合わせのすべてについてステップＳ２４，Ｓ２５の処理を実行したかを判定する。未実行の組み合わせがある場合、位置姿勢推定部１２３は、ステップＳ２４に処理を進め、未実行の組み合わせを対象として処理を実行する。一方、すべての組み合わせについて処理済みの場合、位置姿勢推定部１２３は、ステップＳ２５で算出された位置姿勢データのうち、定点カメラ２１１〜２２０についての位置姿勢データのみを、位置姿勢データ１１２ａ，１１２ｂ，・・・として記憶部１１０に格納する。
【００８０】
以上の図９の処理では、ステップＳ２３において定点画像および切り出し画像の全体における画像順が決定される。これにより、ステップＳ２５での特徴点マッチングに基づく位置姿勢データの算出処理を、画像順の先頭から順に連続する画像群を選択していくことによって実行できるようになる。このため、位置姿勢データの算出処理効率を向上させることができる。また、効率改善のために位置姿勢データの算出処理を簡略化する必要性が低下するので、処理の簡略化によって位置姿勢データの算出精度が低下する可能性を低減できる。
【００８１】
図１０は、画像順決定処理の手順を示すフローチャートの例である。この図１０の処理は、図９のステップＳ２３の処理に対応する。
［ステップＳ３１］画像順決定部１２２は、ステップＳ２１で記憶部１１０に格納された定点画像のうちの１つを選択する。
【００８２】
［ステップＳ３２］画像順決定部１２２は、ステップＳ３１で選択された定点画像と、ステップＳ２２で記憶部１１０に格納された各切り出し画像との類似度を算出する。
［ステップＳ３３］画像順決定部１２２は、撮影順において隣接する切り出し画像のペアの中から、ステップＳ３１で選択された定点画像との類似性が高い画像ペアを特定する。例えば、画像順決定部１２２は、画像ペアのそれぞれについて、画像ペアに含まれる各切り出し画像と定点画像との類似度の合算値を算出し、類似度の合算値が最も大きい画像ペアを、定点画像との類似性が高い画像ペアとして特定する。また、例えば、類似度の合算値が大きく、かつ、一方の類似度に対する類似度間の差分の割合が一定割合以下である画像ペアが、定点画像との類似性が高い画像ペアとして特定されてもよい。
【００８３】
［ステップＳ３４］画像順決定部１２２は、ステップＳ３３で特定された画像ペアに含まれる２枚の切り出し画像の間に、ステップＳ３１で選択された定点画像を挿入することで、定点画像の画像順を決定する。具体的には、画像順決定部１２２は、順序管理テーブル１１１に登録されている、特定された画像ペアに含まれる各切り出し画像のレコードの間に、定点画像のレコードを挿入する。
【００８４】
［ステップＳ３５］画像順決定部１２２は、ステップＳ２１で記憶部１１０に格納されたすべての定点画像についてステップＳ３１〜Ｓ３４の処理を実行したかを判定する。未実行の定点画像がある場合、画像順決定部１２２は、ステップＳ３１に処理を進め、未実行の定点画像を対象として処理を実行する。一方、すべての定点画像について処理済みの場合、画像順決定部１２２は処理を終了する。このとき、順序管理テーブル１１１は、ステップＳ２１で記憶部１１０に格納されたすべての定点画像のレコードと、ステップＳ２２で記憶部１１０に格納されたすべての切り出し画像のレコードとが、画像順にしたがって登録された状態となる。
【００８５】
図１１は、計測処理の手順を示すフローチャートの例である。
［ステップＳ４１］画像入力部１２１は、定点カメラ２１１〜２２０によってそれぞれ撮影された定点画像を、ユーザ端末２００から受信し、記憶部１１０に格納する。なお、格納される定点画像には、例えば、定点カメラ２１１，２１２，２１３，２１４，２１５，２１６，２１７，２１８，２１９，２２０によってそれぞれ撮影された順に画像順が付与されるものとする。
【００８６】
［ステップＳ４２］３次元モデル再現部１２４は、画像順において連続する３枚の定点画像の組み合わせを１組選択する。なお、ステップＳ４２が実行されるたびに、画像順における先頭側から順に定点画像の組み合わせが選択される。
【００８７】
［ステップＳ４３］３次元モデル再現部１２４は、定点カメラ２１１〜２２０のうち、ステップＳ４２で選択された定点画像をそれぞれ撮影した定点カメラに対応する位置姿勢データを、記憶部１１０に記憶された位置姿勢データ１１２ａ，１１２ｂ，・・・の中から取得する。
【００８８】
［ステップＳ４４］３次元モデル再現部１２４は、ステップＳ４２で選択された３枚の定点画像間における特徴点マッチングを行い、３枚の画像の間における対応点を抽出する。３次元モデル再現部１２４は、抽出された対応点の抽出結果と、ステップＳ４３で取得された、３枚の定点画像のそれぞれに対応する位置姿勢データとに基づいて、対象物２４０上の多数の点の３次元座標を示すデータ（点群データ）を算出し、記憶部１１０に格納する。このステップＳ４４の処理では、例えば、Patch−based Multi−View Stereo（ＰＭＶＳ）やマルチベースラインステレオ法などのマルチビューステレオ方式を用いて、ＳｆＭ技術により抽出される対応点より密な点群の３次元座標が算出される。
【００８９】
なお、このステップＳ４４が２回目以降に実行される際には、その直前に実行されたステップＳ４４において求められた３画像についての情報（対応点の情報および点群データ）のうち、１枚または２枚の画像についての情報が利用される。
【００９０】
［ステップＳ４５］３次元モデル再現部１２４は、画像順において連続する３枚の定点画像の組み合わせのすべてについてステップＳ４２〜Ｓ４４の処理を実行したかを判定する。未実行の組み合わせがある場合、３次元モデル再現部１２４は、ステップＳ４２に処理を進め、未実行の組み合わせを対象として処理を実行する。一方、すべての組み合わせについて処理済みの場合、３次元モデル再現部１２４は、処理をステップＳ４６に進める。
【００９１】
［ステップＳ４６］体積算出部１２５は、ステップＳ４４で算出された点群データと、記憶部１１０に格納された計測基準データ１１３とに基づいて、対象物２４０の体積を算出する。例えば、体積算出部１２５は、点群データの３次元座標空間におけるｘｙ平面（地平面）に等間隔のメッシュを設定し、各メッシュについて、ｘ座標およびｙ座標がメッシュに含まれる点群の高さ（ｚ座標）の平均値を算出する。体積算出部１２５は、メッシュを底面とし、算出された平均値を高さとする四角柱の体積を全メッシュについて累積加算することで、対象物２４０の体積を計算する。また、体積計算の際、計測基準データ１１３に基づいて３次元座標空間のスケールが決定される。
【００９２】
体積算出部１２５は、算出された対象物２４０の体積を、ユーザ端末２００に送信する。
以上説明した第２の実施の形態によれば、計測工程において必要となる、定点カメラ２１１〜２２０のそれぞれの位置姿勢を、測量作業を行わずに、撮影された画像から計算によって取得することができる。このため、位置姿勢取得のための前工程の作業効率を向上させることができる。しかも、前工程では、定点カメラ２１１〜２２０からの定点画像だけでなく、可搬型カメラ２３０から得られた多数の切り出し画像が用いられることで、位置姿勢の算出精度を高めることができる。したがって、限られた台数の定点カメラ２１１〜２２０を用いながらも、簡易な作業によって、対象物２４０の３次元モデルや体積を高精度に算出できる。
【００９３】
また、位置姿勢の推定処理では、定点画像および切り出し画像の全体における画像順が画像間の類似度に基づいて決定され、決定された画像順に基づいて位置姿勢が推定される。これにより、位置姿勢の算出処理効率を向上させることができる。
【００９４】
なお、上記の各実施の形態に示した装置（例えば、画像処理装置１、計測サーバ１００）の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【００９５】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００９６】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【符号の説明】
【００９７】
１  画像処理装置
１ａ  入力部
１ｂ  記憶部
１ｃ  演算部
２  対象物
３ａ〜３ｃ，４  カメラ
５ａ〜５ｃ，６ａ〜６ｊ  画像
【図１】
2019074991.tif 000003
【図２】
2019074991.tif 000004
【図３】
2019074991.tif 000005
【図４】
2019074991.tif 000006
【図５】
2019074991.tif 000007
【図６】
2019074991.tif 000008
【図７】
2019074991.tif 000009
【図８】
2019074991.tif 000010
【図９】
2019074991.tif 000011
【図１０】
2019074991.tif 000012
【図１１】
2019074991.tif 000013