(57)【要約】【課題】計算処理能力があまり高くない装置で手軽に合成画像等を生成でき、合成画像が表現する被写体の再現性の低下を抑制できる画像生成装置を提供する。【解決手段】飛行体により撮像された複数の撮像画像に基づいて、合成画像を生成する画像生成装置であって、合成画像の生成に関する処理を行う処理部を備える。処理部は、飛行体が備える撮像装置により撮像された複数の撮像画像を取得し、複数の撮像画像に基づいて、３次元モデルを生成し、複数の撮像画像を撮像した際の撮像装置の各姿勢を取得し、撮像装置の各姿勢と３次元モデルとに基づいて、複数の撮像画像を撮像した際の撮像装置の各位置と３次元モデルとの距離を算出し、撮像装置の各位置と３次元モデルとの距離に基づいて、複数の撮像画像のサイズを調整し、サイズ調整された複数の撮像画像を合成し、合成画像を生成する。【選択図】図６
2020088821.tif 000002
【特許請求の範囲】
【請求項１】
飛行体により撮像された複数の撮像画像に基づいて、合成画像を生成する画像生成装置であって、
前記合成画像の生成に関する処理を行う処理部を備え、
前記処理部は、
前記飛行体が備える撮像装置により撮像された複数の撮像画像を取得し、
前記複数の撮像画像に基づいて、３次元モデルを生成し、
前記複数の撮像画像を撮像した際の前記撮像装置の各姿勢を取得し、
前記撮像装置の前記各姿勢と前記３次元モデルとに基づいて、前記複数の撮像画像を撮像した際の前記撮像装置の各位置と前記３次元モデルとの距離を算出し、
前記撮像装置の各位置と前記３次元モデルとの距離に基づいて、前記複数の撮像画像のサイズを調整し、
サイズ調整された前記複数の撮像画像を合成し、前記合成画像を生成する、
画像生成装置。
【請求項２】
前記処理部は、
前記複数の撮像画像を撮像した際の前記撮像装置の各位置及び前記各姿勢を取得し、
前記撮像装置の前記各位置及び前記各姿勢と前記３次元モデルとに基づいて、前記撮像装置の各位置と前記３次元モデルとの距離を算出する、
請求項１に記載の画像生成装置。
【請求項３】
前記処理部は、前記撮像装置の各位置で撮像される撮像範囲毎に、前記撮像装置と前記撮像範囲に対応する前記３次元モデルの第１部分までの距離を算出する、
請求項１または２に記載の画像生成装置。
【請求項４】
前記処理部は、
前記撮像装置の各位置で撮像される撮像範囲を分割して、前記撮像範囲の分割領域を生成し、
前記分割領域に対応する前記３次元モデルの第２部分を算出し、
前記分割領域毎に、前記撮像装置と前記分割領域に対応する前記３次元モデルの第２部分との距離を算出する、
請求項１または２に記載の画像生成装置。
【請求項５】
前記距離は、前記撮像装置の各位置と前記３次元モデルとの間の、鉛直方向に沿った距離である、
請求項１〜４のいずれか１項に記載の画像生成装置。
【請求項６】
前記距離は、前記撮像装置の各位置と前記３次元モデルとの間の、前記撮像装置による撮像方向に沿った距離である、
請求項１〜４のいずれか１項に記載の画像生成装置。
【請求項７】
前記処理部は、
前記複数の撮像画像に基づいて、疎な点群データを生成し、
前記疎な点群データに基づいて、３次元モデルを生成する、
請求項１〜６のいずれか１項に記載の画像生成装置。
【請求項８】
前記処理部は、
前記疎な点群データに含まれる複数の３次元点を、２次元平面に投影し、
投影されて前記２次元平面において隣接する複数の２次元点を１つの組として指定し、前記組を複数指定し、
前記組毎に、指定された隣接する前記複数の２次元点に対応する前記疎な点群データに含まれる複数の３次元点を接続して、複数の面データを生成し、
前記複数の面データに基づいて、前記３次元モデルを生成する、
請求項７に記載の画像生成装置。
【請求項９】
飛行体により撮像された複数の撮像画像に基づいて、合成画像を生成する画像生成方法であって、
前記飛行体が備える撮像装置により撮像された複数の撮像画像を取得するステップと、
前記複数の撮像画像に基づいて、３次元モデルを生成するステップと、
前記複数の撮像画像を撮像した際の前記撮像装置の各姿勢を取得するステップと、
前記撮像装置の前記各姿勢と前記３次元モデルとに基づいて、前記撮像装置の各位置と前記３次元モデルとの距離を算出するステップと、
前記撮像装置の各位置と前記３次元モデルとの距離に基づいて、前記複数の撮像画像のサイズを調整するステップと、
サイズ調整された前記複数の撮像画像を合成し、前記合成画像を生成するステップと、
を有する画像生成方法。
【請求項１０】
前記姿勢を取得するステップは、前記複数の撮像画像を撮像した際の前記撮像装置の各位置及び前記各姿勢を取得するステップを含み、
前記距離を算出するステップは、前記撮像装置の前記各位置及び前記各姿勢と前記３次元モデルとに基づいて、前記撮像装置の各位置と前記３次元モデルとの距離を算出するステップを含む、
請求項９に記載の画像生成方法。
【請求項１１】
前記距離を算出するステップは、前記撮像装置の各位置で撮像される撮像範囲毎に、前記撮像装置と前記撮像範囲に対応する前記３次元モデルの第１部分までの距離を算出するステップを含む、
請求項９または１０に記載の画像生成方法。
【請求項１２】
前記距離を算出するステップは、
前記撮像装置の各位置で撮像される撮像範囲を分割して、前記撮像範囲の分割領域を生成するステップと、
前記分割領域に対応する前記３次元モデルの第２部分を算出するステップと、
前記分割領域毎に、前記撮像装置と前記分割領域に対応する前記３次元モデルの第２部分との距離を算出するステップと、を含む、
請求項９または１０に記載の画像生成方法。
【請求項１３】
前記距離は、前記撮像装置の各位置と前記３次元モデルとの間の、鉛直方向に沿った距離である、
請求項９〜１２のいずれか１項に記載の画像生成方法。
【請求項１４】
前記距離は、前記撮像装置の各位置と前記３次元モデルとの間の、前記撮像装置による撮像方向に沿った距離である、
請求項９〜１２のいずれか１項に記載の画像生成方法。
【請求項１５】
前記３次元モデルを生成するステップは、
前記複数の撮像画像に基づいて、疎な点群データを生成するステップと、
前記疎な点群データに基づいて、３次元モデルを生成するステップと、を含む、
請求項９〜１４のいずれか１項に記載の画像生成方法。
【請求項１６】
前記３次元モデルを生成するステップは、
前記疎な点群データに含まれる複数の３次元点を、２次元平面に投影するステップと、
投影されて前記２次元平面において隣接する複数の２次元点を１つの組として指定し、前記組を複数指定するステップと、
前記組毎に、指定された隣接する前記複数の２次元点に対応する前記疎な点群データに含まれる複数の３次元点を接続して、複数の面データを生成するステップと、
前記複数の面データに基づいて、前記３次元モデルを生成するステップと、を含む、
請求項１５に記載の画像生成方法。
【請求項１７】
飛行体により撮像された複数の撮像画像に基づいて、合成画像を生成する画像生成装置に、
前記飛行体が備える撮像装置により撮像された複数の撮像画像を取得するステップと、
前記複数の撮像画像に基づいて、３次元モデルを生成するステップと、
前記複数の撮像画像を撮像した際の前記撮像装置の各姿勢を取得するステップと、
前記撮像装置の前記各姿勢と前記３次元モデルとに基づいて、前記複数の撮像画像を撮像した際の前記撮像装置の各位置と前記３次元モデルとの距離を算出するステップと、
前記撮像装置の各位置と前記３次元モデルとの距離に基づいて、前記複数の撮像画像のサイズを調整するステップと、
サイズ調整された前記複数の撮像画像を合成し、前記合成画像を生成するステップと、
を実行させるためのプログラム。
【請求項１８】
飛行体により撮像された複数の撮像画像に基づいて、合成画像を生成する画像生成装置に、
前記飛行体が備える撮像装置により撮像された複数の撮像画像を取得するステップと、
前記複数の撮像画像に基づいて、３次元モデルを生成するステップと、
前記複数の撮像画像を撮像した際の前記撮像装置の各姿勢を取得するステップと、
前記撮像装置の前記各姿勢と前記３次元モデルとに基づいて、前記複数の撮像画像を撮像した際の前記撮像装置の各位置と前記３次元モデルとの距離を算出するステップと、
前記撮像装置の各位置と前記３次元モデルとの距離に基づいて、前記複数の撮像画像のサイズを調整するステップと、
サイズ調整された前記複数の撮像画像を合成し、前記合成画像を生成するステップと、
を実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、飛行体により撮像された複数の撮像画像に基づいて、合成画像を生成する画像生成装置、画像生成方法、プログラム、及び記録媒体に関する。
【背景技術】
【０００２】
従来、予め設定された固定経路を通りながら撮像を行うプラットフォーム（無人機）が知られている。このプラットフォームは、地上基地から撮像指示を受け、撮像対象を撮像する。このプラットフォームは、撮像対象を撮像する場合、固定経路を飛行しながら、プラットフォームと撮像対象との位置関係により、プラットフォームの撮像機器を傾けて撮像する（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−６１２１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の無人機で撮像された複数の画像を合成し、合成画像を生成することが可能である。また、特許文献１の無人機で撮像された複数の画像に基づいて、３次元復元技術によって密な３次元点群を２次元平面に投影し、オルソ画像を生成することが可能である。前者の合成画像を生成する場合、全ての画像を参照画像に合わせるため、参照画像のスケール（サイズ）を事前に認識する必要がある。各画像のサイズを加味せずに合成画像を生成すると、合成画像が表現する被写体の再現性が低下する。後者のオルソ画像の生成では、密な３次元点群を生成するが、密な３次元点群を生成するための計算は複雑であり、計算コストが高い。例えば、３次元復元を行ってオルソ画像を生成する処理では、素点生成（例えばｓｆｍ：Structure from Motion）、密点生成（例えばｍｖｓ：Multi-View Stereo）、メッシュ生成、テクスチャ生成、等を順に行う必要があり、オルソ画像を生成するための処理負荷が高い。そのため、計算処理能力があまり高くないタブレット端末等で手軽に合成画像やオルソ画像を生成することは困難である。
【課題を解決するための手段】
【０００５】
一態様において、画像生成装置は、飛行体により撮像された複数の撮像画像に基づいて、合成画像を生成する画像生成装置であって、合成画像の生成に関する処理を行う処理部を備え、処理部は、飛行体が備える撮像装置により撮像された複数の撮像画像を取得し、複数の撮像画像に基づいて、３次元モデルを生成し、複数の撮像画像を撮像した際の撮像装置の各姿勢を取得し、撮像装置の各姿勢と３次元モデルとに基づいて、複数の撮像画像を撮像した際の撮像装置の各位置と３次元モデルとの距離を算出し、撮像装置の各位置と３次元モデルとの距離に基づいて、複数の撮像画像のサイズを調整し、サイズ調整された複数の撮像画像を合成し、合成画像を生成する。
【０００６】
前記処理部は、前記複数の撮像画像を撮像した際の前記撮像装置の各位置及び前記各姿勢を取得し、前記撮像装置の前記各位置及び前記各姿勢と前記３次元モデルとに基づいて、前記撮像装置の各位置と前記３次元モデルとの距離を算出してよい。
【０００７】
処理部は、撮像装置の各位置で撮像される撮像範囲毎に、撮像装置と撮像範囲に対応する３次元モデルの第１部分までの距離を算出してよい。
【０００８】
処理部は、撮像装置の各位置で撮像される撮像範囲を分割して、撮像範囲の分割領域を生成し、分割領域に対応する３次元モデルの第２部分を算出し、分割領域毎に、撮像装置と分割領域に対応する３次元モデルの第２部分との距離を算出してよい。
【０００９】
距離は、撮像装置の各位置と３次元モデルとの間の、鉛直方向に沿った距離でよい。
【００１０】
距離は、撮像装置の各位置と３次元モデルとの間の、撮像装置による撮像方向に沿った距離でよい。
【００１１】
前記処理部は、前記複数の撮像画像に基づいて、疎な点群データを生成し、疎な点群データに基づいて、３次元モデルを生成してよい。
【００１２】
処理部は、疎な点群データに含まれる複数の３次元点を、２次元平面に投影し、投影されて２次元平面において隣接する複数の２次元点を１つの組として指定し、組を複数指定し、組毎に、指定された隣接する複数の２次元点に対応する疎な点群データに含まれる複数の３次元点を接続して、複数の面データを生成し、複数の面データに基づいて、３次元モデルを生成してよい。
【００１３】
一態様において、画像生成方法は、飛行体により撮像された複数の撮像画像に基づいて、合成画像を生成する画像生成方法であって、飛行体が備える撮像装置により撮像された複数の撮像画像を取得するステップと、複数の撮像画像に基づいて、３次元モデルを生成するステップと、複数の撮像画像を撮像した際の撮像装置の各姿勢を取得するステップと、撮像装置の各姿勢と３次元モデルとに基づいて、複数の撮像画像を撮像した際の撮像装置の各位置と３次元モデルとの距離を算出するステップと、撮像装置の各位置と３次元モデルとの距離に基づいて、複数の撮像画像のサイズを調整するステップと、サイズ調整された複数の撮像画像を合成し、合成画像を生成するステップと、を有する。
【００１４】
前記姿勢を取得するステップは、前記複数の撮像画像を撮像した際の前記撮像装置の各位置及び前記各姿勢を取得するステップを含んでよい。前記距離を算出するステップは、前記撮像装置の前記各位置及び前記各姿勢と前記３次元モデルとに基づいて、前記撮像装置の各位置と前記３次元モデルとの距離を算出するステップを含んでよい。
【００１５】
距離を算出するステップは、撮像装置の各位置で撮像される撮像範囲毎に、撮像装置と撮像範囲に対応する３次元モデルの第１部分までの距離を算出するステップを含んでよい。
【００１６】
距離を算出するステップは、撮像装置の各位置で撮像される撮像範囲を分割して、撮像範囲の分割領域を生成するステップと、分割領域に対応する３次元モデルの第２部分を算出するステップと、分割領域毎に、撮像装置と分割領域に対応する３次元モデルの第２部分との距離を算出するステップと、を含んでよい。
【００１７】
距離は、撮像装置の各位置と３次元モデルとの間の、鉛直方向に沿った距離でよい。
【００１８】
距離は、撮像装置の各位置と３次元モデルとの間の、撮像装置による撮像方向に沿った距離でよい。
【００１９】
前記３次元モデルを生成するステップは、前記複数の撮像画像に基づいて、疎な点群データを生成するステップと、前記疎な点群データに基づいて、３次元モデルを生成するステップと、を含んでよい。
【００２０】
３次元モデルを生成するステップは、疎な点群データに含まれる複数の３次元点を、２次元平面に投影するステップと、投影されて２次元平面において隣接する複数の２次元点を１つの組として指定し、組を複数指定するステップと、組毎に、指定された隣接する複数の２次元点に対応する疎な点群データに含まれる複数の３次元点を接続して、複数の面データを生成するステップと、複数の面データに基づいて、３次元モデルを生成するステップと、を含んでよい。
【００２１】
一態様において、プログラムは、飛行体により撮像された複数の撮像画像に基づいて、合成画像を生成する画像生成装置に、飛行体が備える撮像装置により撮像された複数の撮像画像を取得するステップと、複数の撮像画像に基づいて、３次元モデルを生成するステップと、複数の撮像画像を撮像した際の撮像装置の各姿勢を取得するステップと、撮像装置の各姿勢と３次元モデルとに基づいて、複数の撮像画像を撮像した際の撮像装置の各位置と３次元モデルとの距離を算出するステップと、撮像装置の各位置と３次元モデルとの距離に基づいて、複数の撮像画像のサイズを調整するステップと、サイズ調整された複数の撮像画像を合成し、合成画像を生成するステップと、を実行させるためのプログラムである。
【００２２】
一態様において、記録媒体は、飛行体により撮像された複数の撮像画像に基づいて、合成画像を生成する画像生成装置に、飛行体が備える撮像装置により撮像された複数の撮像画像を取得するステップと、複数の撮像画像に基づいて、３次元モデルを生成するステップと、複数の撮像画像を撮像した際の撮像装置の各姿勢を取得するステップと、撮像装置の各姿勢と３次元モデルとに基づいて、複数の撮像画像を撮像した際の撮像装置の各位置と３次元モデルとの距離を算出するステップと、撮像装置の各位置と３次元モデルとの距離に基づいて、複数の撮像画像のサイズを調整するステップと、サイズ調整された複数の撮像画像を合成し、合成画像を生成するステップと、を実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体である。
【００２３】
なお、上記の発明の概要は、本開示の特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【００２４】
【図１】実施形態１における飛行システムの第１構成例を示す模式図
【図２】実施形態１における飛行システムの第２構成例を示す模式図
【図３】無人航空機の具体的な外観の一例を示す図
【図４】無人航空機のハードウェア構成の一例を示すブロック図
【図５】端末のハードウェア構成の一例を示すブロック図
【図６】画像合成処理手順の一例を示すフローチャート
【図７】撮像部の各位置と３次元モデルの対応部分との距離の一例を示す図
【図８】撮像部の位置と３次元モデルとの距離の導出例を示す図
【図９】撮像範囲毎の距離の導出例を示す図
【図１０】撮像範囲が分割された分割領域毎の距離の導出例を示す図
【図１１】サイズ調整量の補正例を示す図
【図１２】３次元モデルの生成処理の一例を示すフローチャート
【図１３】３次元点群と２次元点群との一例を示す図
【図１４】比較例で生成された３次元モデルを示す図
【図１５】実施形態１で生成された３次元モデルの一例を示す図
【発明を実施するための形態】
【００２５】
以下、発明の実施形態を通じて本開示を説明するが、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須とは限らない。
【００２６】
特許請求の範囲、明細書、図面、及び要約書には、著作権による保護の対象となる事項が含まれる。著作権者は、これらの書類の何人による複製に対しても、特許庁のファイル又はレコードに表示される通りであれば異議を唱えない。ただし、それ以外の場合、一切の著作権を留保する。
【００２７】
以下の実施形態では、飛行体として、無人航空機（ＵＡＶ：Unmanned Aerial Vehicle）を例示する。本明細書に添付する図面では、無人航空機を「ＵＡＶ」とも表記する。画像生成システムとして、無人航空機及び端末を有する飛行システムを例示する。画像生成装置として、無人航空機を主に例示するが、端末であってもよい。端末は、スマートフォン、タブレット端末、ＰＣ（Personal Computer）、又はその他の装置を含んでよい。画像生成方法は、画像生成装置における動作が規定されたものである。また、記録媒体は、プログラム（例えば画像生成装置に各種の処理を実行させるプログラム）が記録されたものである。
【００２８】
（実施形態１）
図１は、実施形態１における飛行システム１０の第１構成例を示す図である。飛行システム１０は、無人航空機１００及び端末８０を備える。無人航空機１００及び端末８０は、相互に有線通信又は無線通信（例えば無線ＬＡＮ（Local Area Network））により通信可能である。図１では、端末８０が携帯端末（例えばスマートフォン、タブレット端末）であることを例示している。
【００２９】
なお、飛行システムは、無人航空機、送信機（プロポ）、及び携帯端末を備えた構成であってよい。送信機を備える場合、送信機の前面に配置された左右の制御棒を使って、ユーザは、無人航空機の飛行を制御可能である。また、この場合、無人航空機、送信機、及び携帯端末は、相互に有線通信又は無線通信により通信可能である。
【００３０】
図２は、実施形態１における飛行システム１０の第２構成例を示す模式図である。図２では、端末８０がＰＣであることを例示している。図１及び図２のいずれであっても、端末８０が有する機能は同じでよい。
【００３１】
図３は、無人航空機１００の具体的な外観の一例を示す図である。図３には、無人航空機１００が移動方向ＳＴＶ０に飛行する場合の斜視図が示される。無人航空機１００は移動体の一例である。
【００３２】
図３に示すように、地面と平行であって移動方向ＳＴＶ０に沿う方向にロール軸（ｘ軸参照）が設定される。この場合、地面と平行であってロール軸に垂直な方向にピッチ軸（ｙ軸参照）が設定され、更に、地面に垂直であってロール軸及びピッチ軸に垂直な方向にヨー軸（ｚ軸参照）が設定される。
【００３３】
無人航空機１００は、ＵＡＶ本体１０２と、ジンバル２００と、撮像部２２０と、複数の撮像部２３０とを含む構成である。
【００３４】
ＵＡＶ本体１０２は、複数の回転翼（プロペラ）を備える。ＵＡＶ本体１０２は、複数の回転翼の回転を制御することにより無人航空機１００を飛行させる。ＵＡＶ本体１０２は、例えば４つの回転翼を用いて無人航空機１００を飛行させる。回転翼の数は、４つに限定されない。また、無人航空機１００は、回転翼を有さない固定翼機でよい。
【００３５】
撮像部２２０は、所望の撮像範囲に含まれる被写体（例えば、空撮対象となる上空の様子、山や川等の景色、地上の建物）を撮像する撮像用のカメラである。
【００３６】
複数の撮像部２３０は、無人航空機１００の飛行を制御するために無人航空機１００の周囲を撮像するセンシング用のカメラである。２つの撮像部２３０が、無人航空機１００の機首である正面に設けられてよい。さらに、他の２つの撮像部２３０が、無人航空機１００の底面に設けられてよい。正面側の２つの撮像部２３０はペアとなり、いわゆるステレオカメラとして機能してよい。底面側の２つの撮像部２３０もペアとなり、ステレオカメラとして機能してよい。複数の撮像部２３０により撮像された画像に基づいて、無人航空機１００の周囲の３次元空間データが生成されてよい。なお、無人航空機１００が備える撮像部２３０の数は４つに限定されない。無人航空機１００は、少なくとも１つの撮像部２３０を備えていればよい。無人航空機１００は、無人航空機１００の機首、機尾、側面、底面、及び天井面のそれぞれに少なくとも１つの撮像部２３０を備えてよい。撮像部２３０で設定できる画角は、撮像部２２０で設定できる画角より広くてよい。撮像部２３０は、単焦点レンズ又は魚眼レンズを有してよい。
【００３７】
図４は、無人航空機１００のハードウェア構成の一例を示すブロック図である。無人航空機１００は、ＵＡＶ制御部１１０と、通信インタフェース１５０と、メモリ１６０と、ストレージ１７０と、ジンバル２００と、回転翼機構２１０と、撮像部２２０と、撮像部２３０と、ＧＰＳ受信機２４０と、慣性計測装置（ＩＭＵ：Inertial Measurement Unit）２５０と、磁気コンパス２６０と、気圧高度計２７０と、超音波センサ２８０と、レーザー測定器２９０と、を含む構成である。
【００３８】
ＵＡＶ制御部１１０は、例えばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）又はＤＳＰ（Digital Signal Processor）を用いて構成される。ＵＡＶ制御部１１０は、無人航空機１００の各部の動作を統括して制御するための信号処理、他の各部との間のデータの入出力処理、データの演算処理及びデータの記憶処理を行う。
【００３９】
ＵＡＶ制御部１１０は、メモリ１６０に格納されたプログラムに従って無人航空機１００の飛行を制御する。ＵＡＶ制御部１１０は、飛行を制御してよい。ＵＡＶ制御部１１０は、画像を空撮してよい。
【００４０】
ＵＡＶ制御部１１０は、無人航空機１００の位置を示す位置情報を取得する。ＵＡＶ制御部１１０は、ＧＰＳ受信機２４０から、無人航空機１００が存在する緯度、経度及び高度を示す位置情報を取得してよい。ＵＡＶ制御部１１０は、ＧＰＳ受信機２４０から無人航空機１００が存在する緯度及び経度を示す緯度経度情報、並びに気圧高度計２７０から無人航空機１００が存在する高度を示す高度情報をそれぞれ位置情報として取得してよい。ＵＡＶ制御部１１０は、超音波センサ２８０による超音波の放射点と超音波の反射点との距離を高度情報として取得してよい。
【００４１】
ＵＡＶ制御部１１０は、磁気コンパス２６０から無人航空機１００の向きを示す向き情報を取得してよい。向き情報は、例えば無人航空機１００の機首の向きに対応する方位で示されてよい。
【００４２】
ＵＡＶ制御部１１０は、撮像部２２０が撮像すべき撮像範囲を撮像する時に無人航空機１００が存在すべき位置を示す位置情報を取得してよい。ＵＡＶ制御部１１０は、無人航空機１００が存在すべき位置を示す位置情報をメモリ１６０から取得してよい。ＵＡＶ制御部１１０は、無人航空機１００が存在すべき位置を示す位置情報を、通信インタフェース１５０を介して他の装置から取得してよい。ＵＡＶ制御部１１０は、３次元地図データベースを参照して、無人航空機１００が存在可能な位置を特定して、その位置を無人航空機１００が存在すべき位置を示す位置情報として取得してよい。
【００４３】
ＵＡＶ制御部１１０は、撮像部２２０及び撮像部２３０のそれぞれの撮像範囲を示す撮像範囲情報を取得してよい。ＵＡＶ制御部１１０は、撮像範囲を特定するためのパラメータとして、撮像部２２０及び撮像部２３０の画角を示す画角情報を撮像部２２０及び撮像部２３０から取得してよい。ＵＡＶ制御部１１０は、撮像範囲を特定するためのパラメータとして、撮像部２２０及び撮像部２３０の撮像方向を示す情報を取得してよい。ＵＡＶ制御部１１０は、例えば撮像部２２０の撮像方向を示す情報として、ジンバル２００から撮像部２２０の姿勢の状態を示す姿勢情報を取得してよい。撮像部２２０の姿勢情報は、ジンバル２００のピッチ軸及びヨー軸の基準回転角度からの回転角度を示してよい。
【００４４】
ＵＡＶ制御部１１０は、撮像範囲を特定するためのパラメータとして、無人航空機１００が存在する位置を示す位置情報を取得してよい。ＵＡＶ制御部１１０は、撮像部２２０及び撮像部２３０の画角及び撮像方向、並びに無人航空機１００が存在する位置に基づいて、撮像部２２０が撮像する地理的な範囲を示す撮像範囲を画定し、撮像範囲情報を生成することで、撮像範囲情報を取得してよい。
【００４５】
ＵＡＶ制御部１１０は、メモリ１６０から撮像範囲情報を取得してよい。ＵＡＶ制御部１１０は、通信インタフェース１５０を介して撮像範囲情報を取得してよい。
【００４６】
ＵＡＶ制御部１１０は、ジンバル２００、回転翼機構２１０、撮像部２２０及び撮像部２３０を制御する。ＵＡＶ制御部１１０は、撮像部２２０の撮像方向又は画角を変更することによって、撮像部２２０の撮像範囲を制御してよい。ＵＡＶ制御部１１０は、ジンバル２００の回転機構を制御することで、ジンバル２００に支持されている撮像部２２０の撮像範囲を制御してよい。
【００４７】
撮像範囲とは、撮像部２２０又は撮像部２３０により撮像される地理的な範囲をいう。撮像範囲は、緯度、経度、及び高度で定義される。撮像範囲は、緯度、経度、及び高度で定義される３次元空間データにおける範囲でよい。撮像範囲は、緯度及び経度で定義される２次元空間データにおける範囲でよい。撮像範囲は、撮像部２２０又は撮像部２３０の画角及び撮像方向、並びに無人航空機１００が存在する位置に基づいて特定されてよい。撮像部２２０及び撮像部２３０の撮像方向は、撮像部２２０及び撮像部２３０の撮像レンズが設けられた正面が向く方位と俯角とから定義されてよい。撮像部２２０の撮像方向は、無人航空機１００の機首の方位と、ジンバル２００に対する撮像部２２０の姿勢の状態とから特定される方向でよい。撮像部２３０の撮像方向は、無人航空機１００の機首の方位と、撮像部２３０が設けられた位置とから特定される方向でよい。
【００４８】
ＵＡＶ制御部１１０は、複数の撮像部２３０により撮像された複数の画像を解析することで、無人航空機１００の周囲の環境を特定してよい。ＵＡＶ制御部１１０は、無人航空機１００の周囲の環境に基づいて、例えば障害物を回避して飛行を制御してよい。
【００４９】
ＵＡＶ制御部１１０は、無人航空機１００の周囲に存在するオブジェクトの立体形状（３次元形状）を示す立体情報（３次元情報）を取得してよい。オブジェクトは、例えば、建物、道路、車、木等の風景の一部でよい。立体情報は、例えば、３次元空間データである。ＵＡＶ制御部１１０は、複数の撮像部２３０から得られたそれぞれの画像から、無人航空機１００の周囲に存在するオブジェクトの立体形状を示す立体情報を生成することで、立体情報を取得してよい。ＵＡＶ制御部１１０は、メモリ１６０又はストレージ１７０に格納された３次元地図データベースを参照することにより、無人航空機１００の周囲に存在するオブジェクトの立体形状を示す立体情報を取得してよい。ＵＡＶ制御部１１０は、ネットワーク上に存在するサーバが管理する３次元地図データベースを参照することで、無人航空機１００の周囲に存在するオブジェクトの立体形状に関する立体情報を取得してよい。
【００５０】
ＵＡＶ制御部１１０は、回転翼機構２１０を制御することで、無人航空機１００の飛行を制御する。つまり、ＵＡＶ制御部１１０は、回転翼機構２１０を制御することにより、無人航空機１００の緯度、経度、及び高度を含む位置を制御する。ＵＡＶ制御部１１０は、無人航空機１００の飛行を制御することにより、撮像部２２０の撮像範囲を制御してよい。ＵＡＶ制御部１１０は、撮像部２２０が備えるズームレンズを制御することで、撮像部２２０の画角を制御してよい。ＵＡＶ制御部１１０は、撮像部２２０のデジタルズーム機能を利用して、デジタルズームにより、撮像部２２０の画角を制御してよい。
【００５１】
撮像部２２０が無人航空機１００に固定され、撮像部２２０を動かせない場合、ＵＡＶ制御部１１０は、特定の日時に特定の位置に無人航空機１００を移動させることにより、所望の環境下で所望の撮像範囲を撮像部２２０に撮像させてよい。あるいは撮像部２２０がズーム機能を有さず、撮像部２２０の画角を変更できない場合でも、ＵＡＶ制御部１１０は、特定された日時に、特定の位置に無人航空機１００を移動させることで、所望の環境下で所望の撮像範囲を撮像部２２０に撮像させてよい。
【００５２】
通信インタフェース１５０は、端末８０と通信する。通信インタフェース１５０は、任意の無線通信方式により無線通信してよい。通信インタフェース１５０は、任意の有線通信方式により有線通信してよい。通信インタフェース１５０は、撮像画像（例えば空撮画像）や撮像画像に関する付加情報（メタデータ）を、端末８０に送信してよい。
【００５３】
メモリ１６０は、ＵＡＶ制御部１１０がジンバル２００、回転翼機構２１０、撮像部２２０、撮像部２３０、ＧＰＳ受信機２４０、慣性計測装置２５０、磁気コンパス２６０、気圧高度計２７０、超音波センサ２８０、及びレーザー測定器２９０を制御するのに必要なプログラム等を格納する。メモリ１６０は、コンピュータ読み取り可能な記録媒体でよく、ＳＲＡＭ（Static Random Access Memory）、ＤＲＡＭ（Dynamic Random Access Memory）、ＥＰＲＯＭ（Erasable Programmable Read Only Memory）、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）、及びＵＳＢ（Universal Serial Bus）メモリ等のフラッシュメモリの少なくとも１つを含んでよい。メモリ１６０は、無人航空機１００から取り外し可能であってよい。メモリ１６０は、作業用メモリとして動作してよい。
【００５４】
ストレージ１７０は、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）、ＳＤカード、ＵＳＢメモリ、その他のストレージの少なくとも１つを含んでよい。ストレージ１７０は、各種情報、各種データを保持してよい。ストレージ１７０は、無人航空機１００から取り外し可能であってよい。ストレージ１７０は、撮像画像を記録してよい。
【００５５】
メモリ１６０又はストレージ１７０は、端末８０又は無人航空機１００により生成された撮像位置や撮像経路の情報を保持してよい。撮像位置や撮像経路の情報は、無人航空機１００により予定された撮像に係る撮像パラメータ、又は、無人航空機１００により予定された飛行に係る飛行パラメータ、の１つとして、ＵＡＶ制御部１１０により設定されてよい。この設定情報は、メモリ１６０又はストレージ１７０に保持されてよい。
【００５６】
ジンバル２００は、ヨー軸、ピッチ軸、及びロール軸を中心に撮像部２２０を回転可能に支持してよい。ジンバル２００は、ヨー軸、ピッチ軸、及びロール軸の少なくとも１つを中心に撮像部２２０を回転させることで、撮像部２２０の撮像方向を変更してよい。
【００５７】
回転翼機構２１０は、複数の回転翼と、複数の回転翼を回転させる複数の駆動モータと、を有する。回転翼機構２１０は、ＵＡＶ制御部１１０により回転を制御されることにより、無人航空機１００を飛行させる。回転翼２１１の数は、例えば４つでよいし、その他の数でよい。また、無人航空機１００は、回転翼を有さない固定翼機でよい。
【００５８】
撮像部２２０は、所望の撮像範囲の被写体を撮像して撮像画像のデータを生成する。撮像部２２０の撮像により得られた画像データ（例えば撮像画像）は、撮像部２２０が有するメモリ、又はストレージ１７０に格納されてよい。
【００５９】
撮像部２３０は、無人航空機１００の周囲を撮像して撮像画像のデータを生成する。撮像部２３０の画像データは、ストレージ１７０に格納されてよい。
【００６０】
ＧＰＳ受信機２４０は、複数の航法衛星（つまり、ＧＰＳ衛星）から発信された時刻及び各ＧＰＳ衛星の位置（座標）を示す複数の信号を受信する。ＧＰＳ受信機２４０は、受信された複数の信号に基づいて、ＧＰＳ受信機２４０の位置（つまり、無人航空機１００の位置）を算出する。ＧＰＳ受信機２４０は、無人航空機１００の位置情報をＵＡＶ制御部１１０に出力する。なお、ＧＰＳ受信機２４０の位置情報の算出は、ＧＰＳ受信機２４０の代わりにＵＡＶ制御部１１０により行われてよい。この場合、ＵＡＶ制御部１１０には、ＧＰＳ受信機２４０が受信した複数の信号に含まれる時刻及び各ＧＰＳ衛星の位置を示す情報が入力される。
【００６１】
慣性計測装置２５０は、無人航空機１００の姿勢を検出し、検出結果をＵＡＶ制御部１１０に出力する。慣性計測装置２５０は、無人航空機１００の姿勢として、無人航空機１００の前後、左右、及び上下の３軸方向の加速度と、ピッチ軸、ロール軸、及びヨー軸の３軸方向の角速度とを検出してよい。
【００６２】
磁気コンパス２６０は、無人航空機１００の機首の方位を検出し、検出結果をＵＡＶ制御部１１０に出力する。
【００６３】
気圧高度計２７０は、無人航空機１００が飛行する高度を検出し、検出結果をＵＡＶ制御部１１０に出力する。
【００６４】
超音波センサ２８０は、超音波を放射し、地面や物体により反射された超音波を検出し、検出結果をＵＡＶ制御部１１０に出力する。検出結果は、無人航空機１００から地面までの距離つまり高度を示してよい。検出結果は、無人航空機１００から物体（被写体）までの距離を示してよい。
【００６５】
レーザー測定器２９０は、物体にレーザー光を照射し、物体で反射された反射光を受光し、反射光により無人航空機１００と物体（被写体）との間の距離を測定する。レーザー光による距離の測定方式は、一例として、タイムオブフライト方式でよい。
【００６６】
図５は、端末８０のハードウェア構成の一例を示すブロック図である。端末８０は、端末制御部８１、操作部８３、通信部８５、メモリ８７、表示部８８、及びストレージ８９を備える。端末８０は、無人航空機１００の飛行制御を希望するユーザに所持され得る。
【００６７】
端末制御部８１は、例えばＣＰＵ、ＭＰＵ又はＤＳＰを用いて構成される。端末制御部８１は、端末８０の各部の動作を統括して制御するための信号処理、他の各部との間のデータの入出力処理、データの演算処理及びデータの記憶処理を行う。
【００６８】
端末制御部８１は、通信部８５を介して、無人航空機１００からのデータや情報を取得してよい。端末制御部８１は、操作部８３を介して入力されたデータや情報（例えば各種パラメータ）を取得してよい。端末制御部８１は、メモリ８７に保持されたデータや情報を取得してよい。端末制御部８１は、通信部８５を介して、無人航空機１００へ、データや情報（例えば位置、速度、飛行経路の情報）を送信させてよい。端末制御部８１は、データや情報を表示部８８に送り、このデータや情報に基づく表示情報を表示部８８に表示させてよい。
【００６９】
操作部８３は、端末８０のユーザにより入力されるデータや情報を受け付けて取得する。操作部８３は、ボタン、キー、タッチスクリーン、マイクロホン、等の入力装置を含んでよい。ここでは、主に、操作部８３と表示部８８とがタッチパネルにより構成されることを例示する。この場合、操作部８３は、タッチ操作、タップ操作、ドラック操作等を受付可能である。操作部８３は、各種パラメータの情報を受け付けてよい。操作部８３により入力された情報は、無人航空機１００へ送信されてよい。
【００７０】
通信部８５は、各種の無線通信方式により、無人航空機１００との間で無線通信する。この無線通信の無線通信方式は、例えば、無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、又は公衆無線回線を介した通信を含んでよい。通信部８５は、任意の有線通信方式により有線通信してよい。
【００７１】
メモリ８７は、例えば端末８０の動作を規定するプログラムや設定値のデータが格納されたＲＯＭと、端末制御部８１の処理時に使用される各種の情報やデータを一時的に保存するＲＡＭを有してよい。メモリ８７は、ＲＯＭ及びＲＡＭ以外のメモリが含まれてよい。メモリ８７は、端末８０の内部に設けられてよい。メモリ８７は、端末８０から取り外し可能に設けられてよい。プログラムは、アプリケーションプログラムを含んでよい。
【００７２】
表示部８８は、例えばＬＣＤ（Liquid Crystal Display）を用いて構成され、端末制御部８１から出力された各種の情報やデータを表示する。表示部８８は、アプリケーションの実行に係る各種データや情報を表示してよい。
【００７３】
ストレージ８９は、各種データ、情報を蓄積し、保持する。ストレージ８９は、ＨＤＤ、ＳＳＤ、ＳＤカード、ＵＳＢメモリ、等でよい。ストレージ８９は、端末８０の内部に設けられてよい。ストレージ８９は、端末８０から取り外し可能に設けられてよい。ストレージ８９は、無人航空機１００から取得された撮像画像やその付加情報を保持してよい。付加情報は、メモリ８７に保持されてよい。
【００７４】
次に、飛行システム１０の動作について説明する。飛行システム１０の無人航空機１００又は端末８０は、無人航空機１００により撮像された複数の撮像画像に基づいて、合成画像の生成に関する処理を行う。無人航空機１００のＵＡＶ制御部１１０又は端末８０の端末制御部８１は、合成画像の生成に関する処理を行う処理部の一例である。ここでは、無人航空機１００が主導して合成画像に関する処理を行うことを例示する。
【００７５】
本実施形態では、計算能力が不十分なプロセッサにより、合成画像の生成を行うことを想定してよい。合成画像は、地図画像やオルソ画像として利用されてよい。計算能力が不十分なプロセッサとは、例えば密な点群生成を含む合成画像の生成をリアルタイムで実施することが困難なプロセッサを含んでよい。
【００７６】
図６は、画像合成処理手順の一例を示すフローチャートである。一例として、この処理は、端末８０の端末制御部８１がメモリ８７に記憶されたプログラムを実行することによって行われてよい。また、無人航空機１００は、画像合成処理を補助する動作を行ってよい。例えば、無人航空機１００は、撮像部２２０により撮像された撮像画像及びその付加情報を端末８０へ提供したり、各種パラメータ（例えば無人航空機１００の飛行に関する飛行パラメータや撮像部２２０による撮像に関する撮像パラメータ）を提供したりしてよい。
【００７７】
端末制御部８１は、飛行範囲と各種パラメータを取得する（Ｓ１）。この場合、ユーザが、端末８０に対し、飛行範囲とパラメータを入力してよい。端末制御部８１は、操作部８３を介してユーザ入力を受け付け、入力された飛行範囲とパラメータを取得してよい。
【００７８】
端末制御部８１は、通信部８５を介して、外部サーバから地図情報を取得してよい。飛行範囲の情報は、例えば、飛行範囲を矩形の範囲に設定する場合、ユーザが地図情報における矩形の四隅の位置（緯度,経度）を入力することで得られてよい。また、飛行範囲の情報は、飛行範囲を円形の範囲に設定する場合、ユーザが飛行位置を中心とする円の半径を入力することで得られてよい。また、飛行範囲の情報は、ユーザが地域や特定の地名（例えば東京）等の情報を入力することで、地図情報を基に得られてよい。また、端末制御部８１は、メモリ８７やストレージ８９に保持された飛行範囲を、メモリ８７やストレージ８９から取得してよい。飛行範囲は、無人航空機１００が飛行する予定の範囲でよい。
【００７９】
パラメータは、撮像部２２０による撮像に関する撮像パラメータや無人航空機１００の飛行に関する飛行パラメータでよい。撮像パラメータは、撮像位置、撮像日時、被写体までの距離、撮像画角、撮像時の無人航空機１００の姿勢、撮像方向、撮像条件、カメラパラメータ（シャッタスピード、露出値、撮像モード、等）を含んでよい。飛行パラメータは、飛行位置（３次元位置又は２次元位置）、飛行高度、飛行速度、飛行加速度、飛行経路、飛行日時、等を含んでよい。端末制御部８１は、メモリ８７やストレージ８９に保持された各種パラメータを、メモリ８７やストレージ８９から取得してよい。
【００８０】
端末制御部８１は、通信部８５を介して、外部サーバや無人航空機１００から飛行範囲と各種パラメータを取得してよい。無人航空機１００では、飛行範囲と各種パラメータがメモリ１６０から取得されたり、無人航空機１００内の各センサ（例えばＧＰＳ受信機２４０、慣性計測装置２５０）から取得されたり、導出（例えば算出）されたりしてよい。端末制御部８１は、取得した飛行範囲と各種パラメータを基に、無人航空機１００の飛行経路や撮像位置を決定してよい。端末制御部８１は、決定された無人航空機１００の飛行経路や撮像位置を、通信部８５を介して無人航空機１００に通知してよい。
【００８１】
無人航空機１００では、ＵＡＶ制御部１１０は、決定された飛行経路に従って飛行を制御し、撮像部２２０に画像を撮像（例えば空撮）させる。この場合、ＵＡＶ制御部１１０は、飛行中に異なる位置及び姿勢で、複数の撮像画像を取得してよい。ＵＡＶ制御部１１０は、通信インタフェース１５０を介して、撮像画像を端末８０へ送信してよい。端末８０では、端末制御部８１は、通信部８５を介して、撮像画像を取得し、ストレージ８９に保持させる（Ｓ２）。
【００８２】
この撮像は、飛行経路に沿った各撮像位置において行われ、複数の撮像画像がストレージ８９に保持されてよい。また、端末制御部８１は、通信部８５を介して、撮像画像に関する付加情報を取得し、ストレージ８９に保持させてよい。この付加情報は、上記の各種パラメータ（例えば飛行パラメータ、撮像パラメータ）と同様の情報を含んでよい。よって、端末制御部８１は、各撮像画像を撮像した際の撮像部２２０（つまり無人航空機１００）の撮像位置、撮像時の姿勢、撮像方向、等の情報を取得してよい。
【００８３】
なお、複数の撮像画像は、同じ撮像部２２０により撮像されてもよいし、異なる撮像部２２０により撮像されてもよい。つまり、異なる複数の無人航空機１００により複数の画像が撮像されてよい。
【００８４】
端末制御部８１は、通信部８５又はストレージ８９から複数の撮像画像を取得してよい。端末制御部８１は、各撮像画像に含まれる複数の特徴点を抽出してよい。特徴点は、撮像画像上の任意の位置の点でよい。端末制御部８１は、各撮像画像に含まれる複数の特徴点に対し、同じ特徴点同士を対応させるマッチング処理を行い、対応する特徴点としての対応点を生成してよい。
【００８５】
マッチング処理では、端末制御部８１は、各特徴点が撮像画像上に投影された実際の観測位置と、各特徴点が撮像部２２０の位置及び姿勢等のパラメータを基に撮像画像上に再現された再現位置と、の差分（再投影誤差）を考慮してよい。端末制御部８１は、再投影誤差を最小化するためのバンドル調整（ＢＡ：Bundle Adjustment）を行ってよい。端末制御部８１は、バンドル調整の結果、各撮像画像における特徴点の対応関係を導出し、対応点を導出してよい。
【００８６】
端末制御部８１は、複数の対応点を含む疎な点群を生成してよい。端末制御部８１は、例えばｓｆｍに従って、疎な点群を生成してよい。疎な点群の数は、例えば１画像当たり数１００点程でよい。疎な点群に含まれる点のデータには、３次元位置を示すデータが含まれてよい。つまり、ここでの疎な点群は、３次元点群である。このように、端末制御部８１は、取得された複数の撮像画像を基に、疎な点群を生成する（Ｓ３）。
【００８７】
端末制御部８１は、疎な点群を基に、３次元モデルＭを生成する（Ｓ４）。この場合、端末制御部８１は、疎な点群に含まれる隣接する複数の点を頂点とする複数のサーフェスｓｆ（面）を生成し、複数のサーフェスｓｆにより表現された３次元モデルＭを生成してよい。３次元モデルＭは、例えば、地面の形状を示す地形モデルであってよい。この３次元モデルＭは、疎な点群に基づいて形成されるので、疎な３次元モデル（大まかな３次元モデル）となる。生成された３次元モデルＭは、ストレージ８９に保持されてよい。
【００８８】
端末制御部８１は、撮像時の撮像部２２０の各位置（３次元位置）及び各姿勢の少なくとも一方と３次元モデルＭとに基づいて、撮像部２２０の各位置と３次元モデルＭとの距離Ｄを導出（例えば算出）する（Ｓ５）。つまり、飛行中には無人航空機１００が移動するので、撮像部２２０の位置と３次元モデルＭとの距離Ｄが複数導出される。３次元モデルＭは、３次元位置の情報を有する疎な点群を基に生成されるので、３次元空間における３次元モデルＭの位置や形状を特定可能である。また、３次元モデルＭが存在する座標空間と、無人航空機１００の撮像部２２０が存在する座標空間は、同じ座標空間である。よって、撮像部２２０の各位置と３次元モデルＭにおける所定の位置との間の距離Ｄは、導出可能である。なお、端末制御部８１は、撮像部２２０の位置情報に基づいて距離Ｄを算出するだけでなく、時間情報を利用して、各時間に対する撮像部２２０の姿勢情報（時間毎の撮像部２２０の姿勢）に基づいて、距離Ｄを算出することも可能である。この場合、端末制御部８１は、撮像部２２０の位置の情報を取得せずに、姿勢の情報だけを取得してよい。
【００８９】
端末制御部８１は、取得された距離Ｄに基づいて、撮像部２２０により各位置で撮像された各撮像画像のサイズ（スケール）を調整する（Ｓ６）。この場合、端末制御部８１は、取得された距離Ｄに基づいて、撮像部２２０により各位置で撮像された各撮像画像のサイズを算出してよい。端末制御部８１は、算出されたサイズとなるように、各撮像画像を拡大したり縮小したりしてよい。各撮像画像のサイズは、合成画像の生成に用いられる各撮像画像の拡大率や縮小率を示す指標である。各撮像画像（取得された複数の撮像画像）の中に、基準となる撮像画像（拡大や縮小が行われない撮像画像）が存在してよい。
【００９０】
例えば、端末制御部８１は、撮像部２２０と３次元モデルＭとの距離Ｄが長い程、この撮像部２２０により撮像された撮像画像に含まれる撮像対象物（例えば地面、建物、オブジェクト）が小さくなるので、撮像画像の拡大率を大きくしてよい。端末制御部８１は、撮像部２２０と３次元モデルＭとの距離Ｄが短い程、この撮像部２２０により撮像された撮像画像に含まれる撮像対象物が大きくなるので、撮像画像の拡大率を小さくしてよい。
【００９１】
例えば、端末制御部８１は、撮像部２２０と３次元モデルＭとの距離Ｄが長い程、この撮像部２２０により撮像された撮像画像に含まれる撮像対象物が小さくなるので、撮像画像の縮小率を小さくしてよい。端末制御部８１は、撮像部２２０と３次元モデルＭとの距離Ｄが短い程、この撮像部２２０により撮像された撮像画像に含まれる撮像対象物が大きくなるので、撮像画像の縮小率を大きくしてよい。
【００９２】
端末制御部８１は、サイズ調整された各撮像画像を合成し、合成画像を生成する（Ｓ７）。この場合、端末制御部８１は、合成画像において隣接する複数の撮像画像では、撮像画像に描画される被写体が重複している部分について、隣接する複数の撮像画像のうち１つの撮像画像を除いて、重複部分を削除してよい。つまり、重複部分については、いずれか１つの撮像画像が代表して、被写体を描画してよい。また、端末制御部８１は、サイズ調整された複数の撮像画像を基に、公知の合成手法に従って、合成画像を生成してよい。
【００９３】
このように、端末８０は、各撮像画像のサイズを調整することで、各撮像画像に含まれる特徴点や対応点の位置関係をほぼ等しくできる。そのため、端末８０は、合成画像に含まれる被写体（物体）のサイズが、元の撮像画像によって異なり、合成画像に含まれる撮像画像毎に被写体の大きさにばらつきが生じることを抑制できる。例えば、端末８０は、合成画像に写り込んだ被写体（例えば、地形、建物等の物体）のスケールを複数の撮像画像において合わせることができ、複数の撮像画像における同一又は対応する物体のサイズのばらつきを低減して、合成画像を生成できる。
【００９４】
また、端末８０は、疎な点群を生成し、疎な３次元モデルを生成して、各撮像画像のサイズ調整を行うので、密な点群の生成を不要にできる。よって、端末８０は、処理能力の高いプロセッサを設けることが必須ではなく、合成画像を生成するための処理負荷や処理時間を低減できる。
【００９５】
なお、撮像部２２０により撮像された撮像画像ではなく、撮像部２３０により撮像された撮像画像を基に、距離導出、サイズ調整、合成画像生成、等されてもよい。
【００９６】
なお、図６の画像生成処理の少なくとも一部の処理が、無人航空機１００により実行されてもよい。例えば、ＵＡＶ制御部１１０は、Ｓ１において飛行範囲や各種パラメータを端末８０から取得し、撮像画像の取得（Ｓ２）、疎な点群の生成（Ｓ３）、３次元モデルの生成（Ｓ４）、距離Ｄの導出（Ｓ５）、サイズ調整（Ｓ６）、合成画像の生成（Ｓ７）、等を行ってよい。また、無人航空機１００と端末８０とで、画像合成処理を分担して実施してもよい。
【００９７】
次に、距離Ｄの導出例について説明する。
【００９８】
図７は、撮像部２２０の各位置（つまり無人航空機１００の各位置）と３次元モデルＭの対応部分（例えば撮像範囲ＣＲに含まれる部分）との距離の一例を示す図である。図７では、各位置での撮像部２２０の符号を、２２０ａ、２２０ｂ、２２０ｃ、・・・、としている。
【００９９】
撮像部２２０ａとの距離Ｄは、距離ｈａである。撮像部２２０ｃと３次元モデルＭとの距離Ｄは、距離ｈｃである。つまり、図７では、距離Ｄは、撮像部２２０の各位置で異なる。よって、サイズ調整せずに各撮像画像を合成すると、各撮像画像に写り込んだ被写体のサイズが統一されていない合成画像が作成されることになる。これに対し、本実施形態では、端末制御部８１は、距離Ｄに応じたサイズ調整量(例えば拡大率又は縮小率)で、各撮像画像をサイズ調整し、サイズ調整された各撮像画像を合成する。よって、端末８０は、各撮像画像に写り込んだ被写体のサイズが統一された合成画像が生成可能である。
【０１００】
図８は、距離Ｄの導出例を示す図である。
【０１０１】
図８に示すように、撮像部２２０の位置と３次元モデルＭとの距離Ｄは、鉛直方向（水平方向と垂直な方向）に沿った方向の距離ｈ１でよい。つまり、端末制御部８１は、撮像部２２０と、撮像部２２０を通り鉛直方向に平行な直線Ｌ１と３次元モデルＭとの交点Ｃ１と、を結ぶ距離ｈ１を、距離Ｄとしてよい。なお、撮像部２２０の位置は、撮像部２２０の撮像面、撮像部２２０により撮像される撮像画像の画像中心、であってよい。
【０１０２】
これにより、端末８０は、撮像画像が撮像された際の無人航空機の飛行高度を加味して、撮像画像のサイズ調整を実施できる。
【０１０３】
図８に示すように、撮像部２２０の位置と３次元モデルＭとの距離Ｄは、撮像部２２０の撮像方向に沿った方向の距離ｈ２でよい。つまり、端末制御部８１は、撮像部２２０と、撮像部２２０を通り撮像部２２０の姿勢により規定される撮像方向に平行な直線Ｌ２と３次元モデルＭとの交点Ｃ２と、の距離ｈ２を、距離Ｄとしてよい。これにより、鉛直方向からの撮像方向の傾きが考慮される。
【０１０４】
これにより、端末８０は、撮像画像が撮像された際の撮像画像に映り込んだ被写体と無人航空機１００との距離を加味して、撮像画像のサイズ調整を実施できる。
【０１０５】
また、撮像部２２０により画像が撮像される撮像範囲ＣＲには、３次元モデルＭの少なくとも一部が含まれる。したがって、撮像部２２０により撮像された撮像画像の画像範囲には、３次元モデルＭの少なくとも一部が含まれる。１つの撮像範囲ＣＲや１つの画像範囲は、１つの撮像画像に対応する。
【０１０６】
撮像部２２０の位置と３次元モデルＭとの距離Ｄは、撮像画像毎に導出されてよい。つまり、端末制御部８１は、１つの撮像範囲ＣＲ毎や１つの画像範囲毎に、撮像範囲ＣＲや画像範囲に含まれる３次元モデルＭの部分に対する距離Ｄを１つ導出してよい。
【０１０７】
具体的には、端末制御部８１は、撮像画像ＧＭＡを撮像した撮像部２２０の位置ＰＡと、位置ＰＡでの撮像部２２０の撮像範囲ＣＲＡに含まれる３次元モデルＭの部分ＭＡ（３次元モデルの第１部分の第１例）と、の距離ＤＡを算出してよい。端末制御部８１は、撮像画像ＧＭＢを撮像した撮像部２２０の位置ＰＢと、位置ＰＢでの撮像部２２０の撮像範囲ＣＲＢに含まれる３次元モデルＭの部分ＭＢ（３次元モデルの第１部分の第２例）と、の距離ＤＢを算出してよい。
【０１０８】
図９は、撮像範囲ＣＲ毎の距離Ｄの導出例を示す図である。図９では、撮像画像ＧＭ１が撮像される撮像範囲ＣＲ１では、撮像部２２０と３次元モデルＭの部分ＭＡとの距離Ｄが距離「１」である。撮像画像ＧＭ２が撮像される撮像範囲ＣＲ２では、撮像部２２０と３次元モデルＭの部分ＭＢとの距離Ｄが距離「２」である。この場合、端末制御部８１は、例えば、撮像範囲ＣＲ２の場合の撮像画像ＧＭ２を２倍に拡大し、撮像画像ＧＭ１と２倍に拡大された撮像画像ＧＭ２とを合成してよい。なお、距離「２」の場合に２倍に拡大することは一例であり、距離に応じて拡大率や縮小率などのサイズ調整量が決定されればよい。
【０１０９】
このように、端末８０は、撮像画像毎に１つの距離が対応し、撮像部２２０の位置（カメラ位置）と撮像対象（３次元モデルＭ）との距離Ｄをおおまかに導出できる。よって、端末８０は、距離Ｄを導出するための処理負荷が比較的小さく、処理時間を比較的短くできる。
【０１１０】
また、撮像部２２０の位置と３次元モデルＭとの距離Ｄは、撮像画像の分割領域ＤＲ毎に導出されてよい。つまり、距離Ｄは、撮像画像に対応する撮像範囲ＣＲや画像範囲ＧＲの分割領域ＤＲ毎に導出されてよい。この場合、端末制御部８１は、撮像範囲ＣＲや画像範囲ＧＲを分割し、複数の分割領域ＤＲを生成してよい。端末制御部８１は、各分割領域ＤＲと各分割領域ＤＲに対応する３次元モデルＭの部分との各距離を、距離Ｄとして算出してよい。したがって、距離Ｄが分割領域ＤＲ毎に導出されるので、１つの撮像画像に対して分割数に対応する数だけ、異なる距離Ｄが導出され得る。
【０１１１】
具体的には、端末制御部８１は、撮像画像ＧＭＣを撮像した撮像部２２０の位置ＰＣと、位置ＰＣでの撮像部２２０の撮像範囲ＣＲＣの分割領域ＤＲＣ１に含まれる３次元モデルＭの部分ＭＣ１（３次元モデルの第２部分の一例）と、の距離ＤＣ１を算出してよい。端末制御部８１は、位置ＰＣと、撮像範囲ＣＲＣの分割領域ＤＲＣ２に含まれる３次元モデルＭの部分ＭＣ２（３次元モデルの第２部分の一例）と、の距離ＤＣ２を算出してよい。つまり、撮像範囲ＣＲＣの各分割領域ＤＲについて、距離ＤＣ１、ＤＣ２、・・・が算出されてよい。また、分割領域ＤＲ毎の距離Ｄの導出が、複数の撮像画像に対応する複数の撮像範囲ＣＲについて行われてよい。
【０１１２】
図１０は、撮像範囲ＣＲが分割された分割領域ＤＲ毎の距離Ｄの導出例を示す図である。
【０１１３】
図１０では、撮像部２２０ａにより撮像画像ＧＭ１１が撮像される撮像範囲ＣＲ１１には、分割領域ＤＲ１１〜１９が含まれる。分割領域ＤＲ１１では、撮像画像ＧＭ１１を撮像した撮像部２２０の位置と３次元モデルＭの対応する部分Ｍ１１（３次元モデルＭの部分Ｍ１１）との距離Ｄ１１は、距離「１」である。分割領域ＤＲ１２では、撮像画像ＧＭ１１を撮像した撮像部２２０の位置と３次元モデルＭの対応する部分Ｍ１２との距離Ｄ１２は、距離「０．５」である。分割領域ＤＲ１３では、撮像画像ＧＭ１１を撮像した撮像部２２０の位置と３次元モデルＭの対応する部分Ｍ１３との距離Ｄ１２は、距離「１」である。分割領域ＤＲ１４では、撮像画像ＧＭ１１を撮像した撮像部２２０の位置と３次元モデルＭの対応する部分Ｍ１４との距離Ｄ１４は、距離「２」である。分割領域ＤＲ１５では、撮像画像ＧＭ１１を撮像した撮像部２２０の位置と３次元モデルＭの対応する部分Ｍ１５との距離Ｄ１５は、距離「２」である。分割領域ＤＲ１６では、撮像画像ＧＭ１１を撮像した撮像部２２０の位置と３次元モデルＭの対応する部分Ｍ１６との距離Ｄ１６は、距離「１．５」である。分割領域ＤＲ１７では、撮像画像ＧＭ１１を撮像した撮像部２２０の位置と３次元モデルＭの対応する部分Ｍ１７との距離Ｄ１７は、距離「１」である。分割領域ＤＲ１８では、撮像画像ＧＭ１８を撮像した撮像部２２０の位置と３次元モデルＭの対応する部分Ｍ１８との距離Ｄ１８は、距離「２．５」である。分割領域ＤＲ１９では、撮像画像ＧＭ１９を撮像した撮像部２２０の位置と３次元モデルＭの対応する部分Ｍ１９との距離Ｄ１９は、距離「１」である。
【０１１４】
図１０では、撮像部２２０ｂにより撮像画像ＧＭ２１が撮像される撮像範囲ＣＲ２１には、分割領域ＤＲ２１〜２９が含まれる。分割領域ＤＲ２１では、撮像画像ＧＭ２１を撮像した撮像部２２０の位置と３次元モデルＭの対応する部分Ｍ２１との距離Ｄ２１は、距離「２」である。以下同様に、分割領域ＤＲ２２に対応する距離Ｄ２２は、距離「１．５」である。分割領域ＤＲ２３に対応する距離Ｄ２３は、距離「２」である。分割領域ＤＲ２４に対応する距離Ｄ２４は、距離「３」である。分割領域ＤＲ２５に対応する距離Ｄ２５は、距離「３」である。分割領域ＤＲ２６に対応する距離Ｄ２６は、距離「２．５」である。分割領域ＤＲ２７に対応する距離Ｄ２７は、距離「２」である。分割領域ＤＲ２８に対応する距離Ｄ２８は、距離「３．５」である。分割領域ＤＲ２９に対応する距離Ｄ２９は、距離「２」である。
【０１１５】
この場合、端末制御部８１は、例えば、距離「１」に対応する撮像画像ＧＭ１１の部分（分割領域ＤＲ１１に対応する部分）をそのまま（１倍）にし（拡大及び縮小無し）、距離「０．５」に対応する撮像画像ＧＭ１２の部分（分割領域ＤＲ１２に対応する部分）を０．５倍に拡大し、距離「１」に対応する撮像画像ＧＭ１３の部分（分割領域ＤＲ１３に対応する部分）をそのまま（１倍）にする。端末制御部８１は、距離「２」に対応する撮像画像ＧＭ１４の部分（分割領域ＤＲ１４に対応する部分）を２倍に拡大し、距離「２」に対応する撮像画像ＧＭ１５の部分（分割領域ＤＲ１５に対応する部分）を２倍に拡大し、距離「１．５」に対応する撮像画像ＧＭ１６の部分（分割領域ＤＲ１６に対応する部分）を１．５倍に拡大する。端末制御部８１は、距離「１」に対応する撮像画像ＧＭ１７の部分（分割領域ＤＲ１７に対応する部分）をそのままにし、距離「２．５」に対応する撮像画像ＧＭ１８の部分（分割領域ＤＲ１８に対応する部分）を２．５倍に拡大し、距離「１」に対応する撮像画像ＧＭ１９の部分（分割領域ＤＲ１９に対応する部分）をそのままにする。このようにして、端末制御部８１は、撮像画像ＧＭ１１における各分割領域ＤＲ１１〜ＤＲ１９に対応する領域のサイズを調整する。
【０１１６】
同様に、端末制御部８１は、距離「２」に対応する撮像画像ＧＭ２１の部分を２倍に拡大し、距離「１．５」に対応する撮像画像ＧＭ２２の部分を１．５倍に拡大し、距離「２」に対応する撮像画像ＧＭ２３の部分を２倍に拡大する。端末制御部８１は、距離「３」に対応する撮像画像ＧＭ２４の部分を３倍に拡大し、距離「３」に対応する撮像画像ＧＭ２５の部分を３倍に拡大し、距離「２．５」に対応する撮像画像ＧＭ２６の部分を２．５倍に拡大する。端末制御部８１は、距離「２」に対応する撮像画像ＧＭ２７の部分を２倍に拡大し、距離「３．５」に対応する撮像画像ＧＭ２８の部分を３．５倍に拡大し、距離「２」に対応する撮像画像ＧＭ２９の部分を２倍に拡大する。このようにして、端末制御部８１は、撮像画像ＧＭ２１における各分割領域ＤＲ２１〜ＤＲ２９に対応する領域のサイズを調整する。
【０１１７】
このように、端末８０は、撮像範囲ＣＲが分割された分割領域ＤＲ毎に１つの距離が対応し、撮像部２２０の位置（カメラ位置）と撮像対象（３次元モデルＭ）との距離Ｄを細かい範囲で導出できる。よって、端末８０は、カメラ位置と３次元モデルＭとの距離Ｄの精度を向上できる。よって、端末８０は、距離に基づくサイズ調整を高精度に実施でき、合成画像に含まれる被写体の再現性を向上できる。
【０１１８】
また、端末８０は、例えば、３次元モデルＭで近似される地形の形状が複雑であり、高低差が激しい場合でも、撮像範囲ＣＲが分割された分割領域ＦＲ毎に３次元モデルＭとの間の距離Ｄを導出できる。よって、端末８０は、分割領域ＤＲ毎に、距離Ｄに応じて撮像画像をサイズ調整でき、サイズ調整された複数の撮像画像を合成して、合成画像を生成できる。また、端末８０は、分割領域毎に距離Ｄを導出する場合、撮像範囲毎に距離Ｄを導出する場合と比較すると、一層細かくスケール調整を実施できる。
【０１１９】
なお、距離とサイズ調整量（ここでは拡大率）との関係は一例であり、距離に応じてサイズ調整量が決定されればよい。
【０１２０】
図９に示すように撮像範囲ＣＲ毎にスケール調整することで、撮像範囲ＣＲにおける分割領域ＤＲ毎にスケール調整する場合と比較すると、計算量が少なくて済む。一方、端末８０は、図１０に示すように分割領域ＤＲ毎にスケール調整することで、撮像範囲ＣＲ毎にスケール調整する場合と比較すると、スケール調整をきめ細やかに実施できる。この場合、例えば１つの撮像範囲ＣＲにおいて地形の高低差が激しく、１つの距離で示すことが困難でも、端末８０は、頻繁に変化する高低差に応じたスケール調整を実現でき、合成画像における元の撮像画像のスケールのばらつきを低減できる。よって、端末８０は、合成画像の生成精度を向上できる。
【０１２１】
なお、疎な点群に含まれる点毎に撮像部２２０と３次元モデルＭとの距離を導出することも考えられるが、この場合、異なる距離の情報が多数出現し、正確なスケールが分かり難くなる。端末８０は、１つの撮像画像の範囲つまり撮像範囲ＣＲ毎に距離Ｄを導出したり、撮像範囲ＣＲがいくつかに分割された分割領域ＤＲ毎に距離Ｄを導出したりすることで、サイズ調整量の把握が困難にならずに、距離Ｄを考慮しない画一的なサイズの複数の撮像画像を基に合成画像が生成されることを抑制できる。また、端末８０は、疎な点群の点毎に距離Ｄを導出せずに、多少大まかに距離を導出することで、演算量を低減でき、演算時間を短縮できる。
【０１２２】
次に、距離Ｄが異なる境界付近でのサイズ調整量ＳＡの補正について説明する。
【０１２３】
端末制御部８１は、サイズ調整された複数の撮像画像ＧＭを基に、合成画像ＳＧを生成する。合成画像ＳＧにおいて、合成画像ＳＧの基となる撮像画像ＧＭの撮像範囲ＣＲ又は分割領域ＤＲに対応する距離Ｄが異なる境界付近では、距離Ｄに応じて決定されるサイズ調整量ＳＡが異なることにより、不連続領域が発生し得る。この場合でも、境界付近において、サイズ調整量ＳＡが隣り合う領域で滑らかに変化するように、端末制御部８１は、境界付近のサイズ調整量ＳＡを補正してよい。
【０１２４】
境界付近とは、例えば、隣り合う撮像範囲ＣＲの境界から所定範囲にあるそれぞれの撮像範囲ＣＲの部分でもよい。この所定範囲は、隣り合う撮像範囲ＣＲが重複する場合、隣り合う撮像範囲ＣＲが重複する重複領域の少なくとも一部であってもよい。隣り合う撮像範囲ＣＲに対応する撮像画像ＧＭ同士は、合成画像ＳＧにおいて隣り合う。同様に、境界付近とは、例えば、隣り合う分割領域ＤＲの境界から所定範囲にあるそれぞれの分割領域ＤＲの部分でよい。隣り合う分割領域ＤＲに対応する撮像画像ＧＭの部分同士は、合成画像ＳＧにおいて隣り合う。
【０１２５】
例えば、撮像範囲ＣＲ毎に距離Ｄが導出されてサイズ調整される場合、端末制御部８１は、隣り合う撮像範囲ＣＲの境界付近において、サイズ調整量ＳＡを滑らかに変化させてよい。例えば、撮像範囲ＣＲ３１では距離Ｄが１であり、撮像範囲ＣＲ３１に隣り合う撮像範囲ＣＲ３２では距離Ｄが２である場合、端末制御部８１は、境界付近においてサイズ調整量（例えば拡大率）が１から２にスムーズに変化するように、サイズ調整量ＳＡを補正してよい。
【０１２６】
図１１は、サイズ調整量ＳＡの補正例を示す図である。図１１では、撮像範囲ＣＲ３１では距離Ｄが１であり、撮像範囲ＣＲ３２では距離Ｄが２である。よって、サイズ調整量ＳＡを補正しない場合、撮像範囲ＣＲ３１に対応する撮像画像ＧＭ３１ではサイズ調整量ＳＡ（例えば拡大率）が１であり、撮像範囲ＣＲ３２に対応する撮像画像ＧＭ３２ではサイズ調整量ＳＡが２でよい。また、サイズ調整量ＳＡを補正する場合、撮像画像ＧＭ３１では、境界付近以外においてサイズ調整量ＳＡが１であり、撮像画像ＧＭ３１では、境界付近以外においてサイズ調整量ＳＡが２でよい。そして、端末制御部８１は、合成画像ＳＧにおいて隣り合う撮像画像ＧＭ３１から撮像画像ＧＭ３２に向かって、境界付近においてサイズ調整量ＳＡが１から２となるように、滑らかに変化するように補正してよい。この場合、端末制御部８１は、境界付近において、サイズ調整量ＳＡを線形に変化させてもよいし（グラフｇ１参照）、非線形に変化させてもよい（グラフｇ２参照）。
【０１２７】
これにより、端末８０は、サイズ調整量ＳＡが異なる複数の撮像画像ＧＭの端部付近（境界付近）において、サイズ調整量ＳＡが異なることに起因する不連続領域が発生し、合成画像ＳＧの画質が劣化することを抑制できる。このことは、分割領域ＤＲ毎に距離Ｄが導出されてサイズ調整される場合も同様である。
【０１２８】
次に、３次元モデルＭの生成例について説明する。ここでは、３次元モデルＭとして地形モデルを生成することを例示する。端末制御部８１は、撮像範囲ＣＲに対応するグリッドｇｄを用いて３次元モデルを生成してよい。ここでの地形には、例えば、飛行中の無人航空機１００が備える撮像部２２０により撮像される撮像対象（例えば地面、建物、オブジェクト）の形状が広く含まれてよい。
【０１２９】
グリッドｇｄについて説明する。グリッドｇｄは、メッシュパターンで形成されてよい。グリッドｇｄには、３次元モデルＭとしての撮像範囲の地形が仮想的に表現される。グリッドｇｄは、撮像範囲ＣＲと同じ範囲、又は撮像範囲ＣＲに含まれる範囲に設定されてよい。グリッドｇｄは、格子状、三角形、その他の多角形、その他の形状でよく、グリッドｇｄの頂点であるグリッド点ｇｐを含む。
【０１３０】
各グリッド点ｇｐの間隔（グリッド間隔）は、所定の値でもよいし、端末制御部８１によって任意に設定されてもよい。グリッド間隔は、１ｍ、２ｍ、等であってよい。例えば、端末制御部８１が、操作部８３を介してグリッド間隔を指定してよい。なお、疎な点群の２次元平面における位置（３次元空間における高度を考慮しない位置）は、グリッド点ｇｐの２次元平面における位置（グリッド高度を考慮しない位置）と一致しなくてよい。
【０１３１】
図１２は、３次元モデルＭの生成処理の一例を示すフローチャートである。なお、図１２に示す３次元モデルＭの生成は一例であり、他の手法に従って３次元モデルが生成されてもよい。
【０１３２】
端末制御部８１は、３次元空間（ＸＹＺ座標系）における疎な点群（３次元点群ＰＧ３）を、２次元平面（ＸＹ平面）に投影し、２次元平面に投影された疎な点群（２次元点群ＰＧ２）を生成する（Ｓ１１）。端末制御部８１は、３次元点群ＰＧ３の高度（Ｚ座標）を値０とし、２次元点群ＰＧ２を生成してよい。なお、ここでの疎な点群は、図６のＳ３で生成された疎な点群でよい。
【０１３３】
端末制御部８１は、２次元点群ＰＧ２に含まれる隣接する複数の点を指定する（Ｓ１２）。そして、端末制御部８１は、指定された複数の点について、２次元平面に投影される前の３次元点群ＰＧ３の高度を加味して、抽出された２次元平面上の点に対応する複数の３次元空間上の点を接続し、サーフェス（面）ｓｆを生成する（Ｓ１３）。複数の点の指定は、２次元点群ＰＧ２の全体又は一部にわたって実施されてよい。サーフェスｓｆを生成するための複数の点を有する複数の組が形成され、複数の組のそれぞれでサーフェスｓｆが生成されてよい。この場合、端末制御部８１は、２次元点群ＰＧ２に含まれる隣接する３点について、対応する３次元点群ＰＧ３に含まれる３点を用いて三角化し、三角形のサーフェスｓｆを生成してよく、つまり三角化（ドロネー三角化：Delaunay triangulation）してよい。なお、端末制御部８１は、ドロネー三角化以外の手法に従って、サーフェスｓｆを生成してもよい。
【０１３４】
生成された各サーフェスｓｆが２次元平面に投影された範囲内、つまり２次元点群ＰＧ２で指定された複数の点で包囲された範囲内には、１つ以上のグリッド点ｇｐが存在し得る。端末制御部８１は、各グリッド点ｇｐにおける高度（グリッド高度）を、グリッド点におけるサーフェスｓｆの位置に設定する。つまり、端末制御部８１は、グリッド点ｇｐを通り鉛直方向に沿う直線とサーフェスｓｆとの交点の高度を、グリッド高度としてよい。このようにして、端末制御部８１は、各グリッド点ｇｐ（網状点）の３次元位置を算出する（Ｓ１４）。
【０１３５】
端末制御部８１は、各グリッド点ｇｐの３次元位置を基に、３次元モデルＭを生成する（Ｓ１５）。３次元モデルＭの形状は、各グリッド点ｇｐの３次元位置で規定されてよい。なお、各グリッド点ｇｐの３次元位置は、各サーフェスｓｆの３次元位置と位置するので、３次元モデルＭの形状は、各サーフェスｓｆを組み合わせた形状となってよい。このようにして、端末８０は、グリッドｇｄにおける各グリッド点ｇｐの３次元位置により、３次元モデルＭを生成し、３次元モデルＭを決定できる。
【０１３６】
このように、端末制御部８１は、疎な点群（疎な点群データの一例）に含まれる複数の３次元点を、２次元平面に投影してよい。端末制御部８１は、投影されて２次元平面において隣接する複数の２次元点を１つの組として指定してよい。端末制御部８１は、このような組を複数指定してよい。端末制御部８１は、組毎に、指定された隣接する複数の２次元点に対応する疎な点群に含まれる複数の３次元点を接続して、複数のサーフェスｓｆ（面データの一例）を生成してよい。端末制御部８１は、複数のサーフェスｓｆに基づいて、３次元モデルＭを生成してよい。
【０１３７】
これにより、端末８０は、一旦、３次元点群ＰＧ３を２次元平面に投影して２次元点群ＰＧ２を生成し、２次元点群ＰＧ２の隣接関係を基にサーフェスを生成する。そのため、端末８０は、３次元点群ＰＧ３の隣接関係を基にサーフェスｓｆを生成するよりも、滑らかな形状を得やすい。よって、端末８０は、２次元点群ＰＧ２の隣接関係を基に３次元モデルＭの形状を導出することで、実際の地形の再現精度を向上できる。
【０１３８】
図１３は、３次元点群ＰＧ３と２次元点群ＰＧ２との一例を示す図である。
【０１３９】
端末制御部８１は、３次元点群ＰＧ３を基に、２次元点群ＰＧ２を生成する。端末制御部８１は、３次元空間（ＸＹＺ空間）の３次元点群ＰＧ３に含まれる各点を、２次元平面（ＸＹ平面）に投影して、２次元点群ＰＧ２に含まれる各点を生成する。端末制御部８１は、例えば２次元点群Ｇ２に含まれる隣接する点Ｐ２１〜Ｐ２３（２次元点の一例）を指定する。Ｐ２１〜Ｐ２３に対応する３次元点群ＰＧ３における点Ｐ３１〜Ｐ３３（３次元点の一例）は、点Ｐ２１〜Ｐ２３が２次元平面に射影される前の点であり、１つのサーフェスｓｆ１を生成するための隣接する複数の点となる。
【０１４０】
よって、端末８０は、２次元平面において隣接する複数の点を指定して、指定された複数の点に対応する３次元点群ＰＧ３内の複数の点を結んで１つのサーフェスｓｆを生成するので、３次元空間においてサーフェスｓｆ同士が交差したり不連続となったりすることを抑制できる。よって、端末８０は、地形形状に一層フィットした形状を有する３次元モデルＭを生成できる。
【０１４１】
次に、比較例と本実施形態との３次元モデルＭの生成結果について説明する。
【０１４２】
比較例では、Ｓｃｒｅｅｎｅｄ  Ｐｏｉｓｓｏｎ表面生成アルゴリズムに従って、疎な点群データを基に、疎な３次元モデルが生成されることを想定する。Ｓｃｒｅｅｅｎｅｄ  Ｐｏｉｓｓｏｎ表面生成アルゴリズムは、以下の参考非特許文献１に記載されている。
（参考非特許文献１：Michael Kazhdan, Hugues Hoppe, "Screened poisson surface reconstruction." ACM Transactions on Graphics (ToG), Volume 32, Issue 3, June 2013, Article No.29）
【０１４３】
図１４は、比較例としてのＳｃｒｅｅｎｅｄ  Ｐｏｉｓｓｏｎ表面生成アルゴリズムに従って生成された疎な３次元モデルを示す図である。
【０１４４】
図１４では、地形Ｇ１，Ｇ２が、水平方向に突出した形状を有しており、現実の地形とは異なる形状となっている。これは、比較例では、３次元空間の鉛直方向に沿う垂直線と、疎な点群（３次元点群）から導出されたサーフェスとの間に複数の交差点が存在するためと考えられる。また、比較例では、疎な点群を用いることで３次元モデルの再現性が低く、サーフェスを生成するための３次元点群に含まれる点の接続関係の正確性が低下しているためと考えられる。
【０１４５】
図１５は、本実施形態の３次元モデルＭの生成処理で生成された３次元モデルＭの一例を示す図である。
【０１４６】
本実施形態では、端末制御部８１は、疎な点群（３次元点群ＰＧ３）を２次元平面に射影して、例えば三角化する。つまり、２次元平面において連続な三角形を生成することが可能である。よって、端末８０は、３次元空間においても、２次元平面に沿う方向において連続な三角形を生成可能であり、３次元空間の鉛直方向に沿う垂直線と、疎な点群から導出されたサーフェスｓｆとの間に複数の交差点が出現することを抑制できる。例えば、図１４では、水平方向に突出した地形Ｇ１，Ｇ２が存在していたが、図１５では、地形Ｇ１、Ｇ２に対応する部分が、滑らかな地形Ｇ３となっている。このように、一旦２次元平面に３次元点群ＰＧ３が射影されることで、各点を接続して形成される３次元空間上のサーフェスｓｆの連続性が保証される。サーフェスｓｆの３次元空間における高さは、３次元点群の２次元平面への射影前の高さに基づいてよい。
【０１４７】
このように、無人航空機１００（画像生成装置の一例）は、無人航空機１００（飛行体）により撮像された複数の撮像画像ＧＭに基づいて、合成画像ＳＧを生成してよい。端末８０は、合成画像ＳＧの生成に関する処理を行う端末制御部８１（処理部の一例）を備えてよい。端末制御部８１は、無人航空機１００が備える撮像部２２０（撮像装置の一例）により撮像された複数の撮像画像ＧＭを取得してよい。端末制御部８１は、複数の撮像画像ＧＭに基づいて、３次元モデルＭを生成してよい。複数の撮像画像ＧＭを撮像した際の撮像部２２０の各位置及び各姿勢の少なくとも一方を取得してよい。端末制御部８１は、撮像部２２０の各位置及び各姿勢の少なくとも一方と３次元モデルＭとに基づいて、撮像部２２０の各位置と３次元モデルＭとの距離Ｄを導出してよい。端末制御部８１は、撮像部２２０の各位置と３次元モデルＭとの距離Ｄに基づいて、複数の撮像画像ＧＭのサイズを調整してよい。端末制御部８１は、サイズ調整された複数の撮像画像ＧＭを合成し、合成画像ＳＧを生成してよい。なお、端末制御部８１は、複数の撮像画像ＧＭに基づいて、疎な点群データを生成し、前記疎な点群データに基づいて、３次元モデルＭを生成してよい。
【０１４８】
これにより、端末８０は、各撮像画像ＧＭに映り込んだ被写体のサイズを合わせるように、各撮像画像ＧＭのサイズを調整して合成するので、合成画像が表現する被写体の再現性を向上できる。また、端末８０は、合成画像を生成するために、素点生成、密点生成、メッシュ生成、テクスチャ生成、等の処理の全てを順に行う必要がない。そのため、端末８０は、合成画像の生成を行うための処理負荷を低減でき、処理時間を短縮できる。よって、端末８０は、計算処理能力があまり高くないタブレット端末等で手軽に合成画像を生成できる。また、端末８０は、合成画像の他に、オルソ画像等の生成も可能である。
【０１４９】
以上、実施形態を用いて本開示を説明したが、本開示の技術的範囲は上述した実施形態に記載の範囲には限定されない。上述した実施形態に、多様な変更又は改良を加えることが当業者に明らかである。その様な変更又は改良を加えた形態も本開示の技術的範囲に含まれ得ることが、特許請求の範囲の記載からも明らかである。
【０１５０】
特許請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現可能である。特許請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「先ず、」、「次に」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【０１５１】
１０  飛行システム
８０  端末
８１  端末制御部
８３  操作部
８５  通信部
８７  メモリ
８８  表示部
８９  ストレージ
１００  無人航空機
１１０  ＵＡＶ制御部
１５０  通信インタフェース
１６０  メモリ
１７０  ストレージ
２００  ジンバル
２１０  回転翼機構
２２０，２３０  撮像部
２４０  ＧＰＳ受信機
２５０  慣性計測装置
２６０  磁気コンパス
２７０  気圧高度計
２８０  超音波センサ
２９０  レーザー測定器
ＣＲ  撮像範囲
ＤＲ  分割領域
ＧＭ  撮像画像
ＳＧ  合成画像
【図１】
2020088821.tif 000003
【図２】
2020088821.tif 000004
【図３】
2020088821.tif 000005
【図４】
2020088821.tif 000006
【図５】
2020088821.tif 000007
【図６】
2020088821.tif 000008
【図７】
2020088821.tif 000009
【図８】
2020088821.tif 000010
【図９】
2020088821.tif 000011
【図１０】
2020088821.tif 000012
【図１１】
2020088821.tif 000013
【図１２】
2020088821.tif 000014
【図１３】
2020088821.tif 000015
【図１４】
2020088821.tif 000016
【図１５】
2020088821.tif 000017