以下、発明の実施形態を通じて本開示を説明するが、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須とは限らない。
特許請求の範囲、明細書、図面、及び要約書には、著作権による保護の対象となる事項が含まれる。著作権者は、これらの書類の何人による複製に対しても、特許庁のファイル又はレコードに表示される通りであれば異議を唱えない。ただし、それ以外の場合、一切の著作権を留保する。
以下の実施形態では、モバイルプラットフォームとして、無人航空機(UAV:Unmanned Aerial Vehicle)を主に例示する。無人航空機は、飛行体の一例であり、空中を移動する航空機を含む。本明細書に添付する図面では、無人航空機を「UAV」とも表記する。また、モバイルプラットフォームは、無人航空機以外の装置でもよく、例えば端末、PC(Personal Computer)、又はその他の装置でもよい。情報出力方法は、モバイルプラットフォームにおける動作が規定されたものである。記録媒体は、プログラム(例えば、モバイルプラットフォームに各種の処理を実行させるためのプログラム)が記録されたものである。
(第1の実施形態)
図1は、第1の実施形態における情報出力システム10の第1構成例を示す模式図である。情報出力システム10は、無人航空機100及び端末80を備える。無人航空機100及び端末80は、相互に有線通信又は無線通信(例えば無線LAN(Local Area Network))により通信可能である。図1Aでは、端末80が携帯端末(例えばスマートフォン、タブレット端末)であることを例示している。
図2は、第1の実施形態における情報出力システム10の第2構成例を示す模式図である。図1Bでは、端末80がPCであることを例示している。図1A及び図1Bのいずれであっても、端末80が有する機能は同じでよい。
図3は、無人航空機100のハードウェア構成の一例を示すブロック図である。無人航空機100は、UAV制御部110と、通信インタフェース150と、メモリ160と、ストレージ170と、ジンバル200と、回転翼機構210と、撮像部220と、撮像部230と、GPS受信機240と、慣性計測装置(IMU:Inertial Measurement Unit)250と、磁気コンパス260と、気圧高度計270と、超音波センサ280と、レーザー測定器290と、を含む構成である。
UAV制御部110は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)又はDSP(Digital Signal Processor)を用いて構成される。UAV制御部110は、無人航空機100の各部の動作を統括して制御するための信号処理、他の各部との間のデータの入出力処理、データの演算処理及びデータの記憶処理を行う。
UAV制御部110は、メモリ160に格納されたプログラムに従って無人航空機100の飛行を制御する。UAV制御部110は、通信インタフェース150を介して端末80から空撮経路の情報を取得し、この空撮経路に従って無人航空機100の飛行を制御してよい。空撮は、撮像の一例である。
UAV制御部110は、無人航空機100の位置を示す位置情報を取得する。UAV制御部110は、GPS受信機240から、無人航空機100が存在する緯度、経度及び高度を示す位置情報を取得してよい。UAV制御部110は、GPS受信機240から無人航空機100が存在する緯度及び経度を示す緯度経度情報、並びに気圧高度計270から無人航空機100が存在する高度を示す高度情報をそれぞれ位置情報として取得してよいUAV制御部110は、超音波センサ280による超音波の放射点と超音波の反射点との距離を高度情報として取得してよい。
UAV制御部110は、磁気コンパス260から無人航空機100の向きを示す向き情報を取得してよい。向き情報は、例えば無人航空機100の機首の向きに対応する方位で示されてよい。
UAV制御部110は、撮像部220が撮像すべき撮像範囲を撮像する時に無人航空機100が存在すべき位置を示す位置情報を取得してよい。UAV制御部110は、無人航空機100が存在すべき位置を示す位置情報をメモリ160から取得してよい。UAV制御部110は、無人航空機100が存在すべき位置を示す位置情報を、通信インタフェース150を介して他の装置から取得してよい。UAV制御部110は、地図データベース(3次元地図データベース又は2次元地図データベース)を参照して、無人航空機100が存在可能な位置を特定して、その位置を無人航空機100が存在すべき位置を示す位置情報として取得してよい。
UAV制御部110は、撮像部220及び撮像部230のそれぞれの撮像範囲を示す撮像範囲情報を取得してよい。UAV制御部110は、撮像範囲を特定するためのパラメータとして、撮像部220及び撮像部230の画角を示す画角情報を撮像部220及び撮像部230から取得してよい。UAV制御部110は、撮像範囲を特定するためのパラメータとして、撮像部220及び撮像部230の撮像方向を示す情報を取得してよい。UAV制御部110は、例えば撮像部220の撮像方向を示す情報として、ジンバル200から撮像部220の姿勢の状態を示す姿勢情報を取得してよい。撮像部220の姿勢情報は、ジンバル200のピッチ軸及びヨー軸の基準回転角度からの回転角度を示してよい。
UAV制御部110は、撮像範囲を特定するためのパラメータとして、無人航空機100が存在する位置を示す位置情報を取得してよい。UAV制御部110は、撮像部220及び撮像部230の画角及び撮像方向、並びに無人航空機100が存在する位置に基づいて、撮像部220が撮像する地理的な範囲を示す撮像範囲を画定し、撮像範囲情報を生成することで、撮像範囲情報を取得してよい。
UAV制御部110は、メモリ160から撮像範囲情報を取得してよい。UAV制御部110は、通信インタフェース150を介して撮像範囲情報を取得してよい。
UAV制御部110は、ジンバル200、回転翼機構210、撮像部220及び撮像部230を制御する。UAV制御部110は、撮像部220の撮像方向又は画角を変更することによって、撮像部220の撮像範囲を制御してよい。UAV制御部110は、ジンバル200の回転機構を制御することで、ジンバル200に支持されている撮像部220の撮像範囲を制御してよい。
撮像範囲とは、撮像部220又は撮像部230により撮像される地理的な範囲をいう。撮像範囲は、緯度、経度、及び高度で定義される。撮像範囲は、緯度、経度、及び高度で定義される3次元空間データにおける範囲でよい。撮像範囲は、緯度及び経度で定義される2次元空間データにおける範囲でもよい。撮像範囲は、撮像部220又は撮像部230の画角及び撮像方向、並びに無人航空機100が存在する位置に基づいて特定されてよい。撮像部220及び撮像部230の撮像方向は、撮像部220及び撮像部230の撮像レンズが設けられた正面が向く方位と俯角とから定義されてよい。撮像部220の撮像方向は、無人航空機100の機首の方位と、ジンバル200に対する撮像部220の姿勢の状態とから特定される方向でよい。撮像部230の撮像方向は、無人航空機100の機首の方位と、撮像部230が設けられた位置とから特定される方向でよい。
UAV制御部110は、撮像部220又は撮像部230により撮像された撮像画像(空撮画像)に対して、この空撮画像に関する情報を付加情報(メタデータの一例)として付加してよい。付加情報は、各種パラメータを含んでよい。各種パラメータは、空撮時の無人航空機100の飛行に関するパラメータ(飛行パラメータ)と空撮時の撮像部220又は撮像部230による撮像に関する情報(撮像パラメータ)とを含んでよい。飛行パラメータは、空撮位置情報、空撮経路情報、空撮時刻情報、その他の情報のうち少なくとも1つを含んでよい。撮像パラメータは、空撮画角情報、空撮方向情報、空撮姿勢情報、撮像範囲情報、及び被写体距離情報、のうち少なくとも1つを含んでよい。飛行パラメータと撮像パラメータとを合わせて、空撮パラメータと称してもよい。
空撮経路情報は、空撮画像が空撮された経路(空撮経路)を示す。空撮経路情報は、空撮時に無人航空機100が飛行した経路の情報であり、空撮位置が連続的に連なる空撮位置の集合により構成されてよい。空撮位置は、GPS受信機240により取得された位置に基づいてよい。空撮時刻情報は、空撮画像が空撮された時刻(空撮時刻)を示す。空撮時刻情報は、UAV制御部110が参照するタイマの時刻情報に基づいてよい。
空撮画角情報は、空撮画像が空撮された際の撮像部220又は撮像部230の画角情報を示す。空撮方向情報は、空撮画像が空撮された際の撮像部220又は撮像部230の撮像方向(空撮方向)を示す。空撮姿勢情報は、空撮画像が空撮された際の撮像部220又は撮像部230の姿勢情報を示す。撮像範囲情報は、空撮画像が空撮された際の撮像部220又は撮像部230の撮像範囲を示す。被写体距離情報は、撮像部220又は撮像部230から被写体までの距離の情報を示す。被写体距離情報は、超音波センサ280又はレーザー測定器290による検出情報に基づいてよい。
UAV制御部110は、複数の撮像部230により撮像された複数の画像を解析することで、無人航空機100の周囲の環境を特定してよい。UAV制御部110は、無人航空機100の周囲の環境に基づいて、例えば障害物を回避して飛行を制御してよい。
UAV制御部110は、無人航空機100の周囲に存在するオブジェクトの立体形状(3次元形状)を示す立体情報(3次元情報)を取得してよい。オブジェクトは、例えば、建物、道路、車、木等の風景の一部でよい。立体情報は、例えば、3次元空間データである。UAV制御部110は、複数の撮像部230から得られたそれぞれの画像から、無人航空機100の周囲に存在するオブジェクトの立体形状を示す立体情報を生成することで、立体情報を取得してよい。UAV制御部110は、メモリ160又はストレージ170に格納された3次元地図データベースを参照することにより、無人航空機100の周囲に存在するオブジェクトの立体形状を示す立体情報を取得してよい。UAV制御部110は、ネットワーク上に存在するサーバが管理する3次元地図データベースを参照することで、無人航空機100の周囲に存在するオブジェクトの立体形状に関する立体情報を取得してよい。
UAV制御部110は、回転翼機構210を制御することで、無人航空機100の飛行を制御する。つまり、UAV制御部110は、回転翼機構210を制御することにより、無人航空機100の緯度、経度、及び高度を含む位置を制御する。UAV制御部110は、無人航空機100の飛行を制御することにより、撮像部220の撮像範囲を制御してよい。UAV制御部110は、撮像部220が備えるズームレンズを制御することで、撮像部220の画角を制御してよい。UAV制御部110は、撮像部220のデジタルズーム機能を利用して、デジタルズームにより、撮像部220の画角を制御してよい。
撮像部220が無人航空機100に固定され、撮像部220を動かせない場合、UAV制御部110は、特定の日時に特定の位置に無人航空機100を移動させることにより、所望の環境下で所望の撮像範囲を撮像部220に撮像させてよい。あるいは撮像部220がズーム機能を有さず、撮像部220の画角を変更できない場合でも、UAV制御部110は、特定された日時に、特定の位置に無人航空機100を移動させることで、所望の環境下で所望の撮像範囲を撮像部220に撮像させてよい。
通信インタフェース150は、端末80と通信する。通信インタフェース150は、任意の無線通信方式により無線通信してよい。通信インタフェース150は、任意の有線通信方式により有線通信してもよい。通信インタフェース150は、空撮画像や空撮画像に関する付加情報を、端末80に送信してよい。
メモリ160は、UAV制御部110がジンバル200、回転翼機構210、撮像部220、撮像部230、GPS受信機240、慣性計測装置250、磁気コンパス260、気圧高度計270、超音波センサ280、及びレーザー測定器290を制御するのに必要なプログラム等を格納する。メモリ160は、コンピュータ読み取り可能な記録媒体でよく、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read-Only Memory)、及びUSB(Universal Serial Bus)メモリ等のフラッシュメモリの少なくとも1つを含んでよい。メモリ160は、無人航空機100から取り外し可能であってもよい。
ストレージ170は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、SDカード、USBメモリ、その他のストレージの少なくとも1つを含んでよい。ストレージ170は、各種情報、各種データを保持してよい。ストレージ170は、無人航空機100から取り外し可能であってもよい。ストレージ170は、例えば、空撮画像を記録してよい。
ジンバル200は、ヨー軸、ピッチ軸、及びロール軸を中心に撮像部220を回転可能に支持してよい。ジンバル200は、ヨー軸、ピッチ軸、及びロール軸の少なくとも1つを中心に撮像部220を回転させることで、撮像部220の撮像方向を変更してよい。
ヨー軸、ピッチ軸、及びロール軸は、以下のように定められてよい。例えば、水平方向(地面と平行な方向)にロール軸が定義されたとする。この場合、地面と平行であってロール軸に垂直な方向にピッチ軸が定められ、地面に垂直であってロール軸及びピッチ軸に垂直な方向にヨー軸(z軸参照)が定められる。
回転翼機構210は、複数の回転翼と、複数の回転翼を回転させる複数の駆動モータと、を有する。回転翼機構210は、UAV制御部110により回転を制御されることにより、無人航空機100を飛行させる。回転翼211の数は、例えば4つでもよいし、その他の数でもよい。また、無人航空機100は、回転翼を有さない固定翼機でもよい。
撮像部220は、所望の撮像範囲に含まれる被写体(例えば、空撮対象となる上空の様子、山や川等の景色、地上の建物)を撮像する撮像用のカメラでよい。撮像部220は、所望の撮像範囲の被写体を撮像して撮像画像のデータを生成する。撮像部220の撮像により得られた画像データ(例えば空撮画像)は、撮像部220が有するメモリ、又はストレージ170に格納されてよい。撮像部220により複数の箇所で撮像範囲の一部を重複して撮像された画像に基づいて、無人航空機100の周囲の3次元空間データ(3次元形状データ)が生成されてよい。
撮像部230は、無人航空機100の飛行を制御するために無人航空機100の周囲を撮像するセンシング用のカメラでよい。2つの撮像部230が、無人航空機100の機首である正面に設けられてよい。さらに、他の2つの撮像部230が、無人航空機100の底面に設けられてよい。正面側の2つの撮像部230はペアとなり、いわゆるステレオカメラとして機能してよい。底面側の2つの撮像部230もペアとなり、ステレオカメラとして機能してよい。複数の撮像部230により撮像された画像に基づいて、無人航空機100の周囲の3次元空間データ(3次元形状データ)が生成されてよい。なお、無人航空機100が備える撮像部230の数は4つに限定されない。無人航空機100は、少なくとも1つの撮像部230を備えてよい。無人航空機100は、無人航空機100の機首、機尾、側面、底面、及び天井面のそれぞれに少なくとも1つの撮像部230を備えてよい。撮像部230で設定できる画角は、撮像部220で設定できる画角より広くてよい。撮像部230は、単焦点レンズ又は魚眼レンズを有してよい。撮像部230は、無人航空機100の周囲を撮像して撮像画像のデータを生成する。撮像部230の画像データは、ストレージ170に格納されてよい。
GPS受信機240は、複数の航法衛星(つまり、GPS衛星)から発信された時刻及び各GPS衛星の位置(座標)を示す複数の信号を受信する。GPS受信機240は、受信された複数の信号に基づいて、GPS受信機240の位置(つまり、無人航空機100の位置)を算出する。GPS受信機240は、無人航空機100の位置情報をUAV制御部110に出力する。なお、GPS受信機240の位置情報の算出は、GPS受信機240の代わりにUAV制御部110により行われてよい。この場合、UAV制御部110には、GPS受信機240が受信した複数の信号に含まれる時刻及び各GPS衛星の位置を示す情報が入力される。
慣性計測装置250は、無人航空機100の姿勢を検出し、検出結果をUAV制御部110に出力する。慣性計測装置250は、無人航空機100の姿勢として、無人航空機100の前後、左右、及び上下の3軸方向の加速度と、ピッチ軸、ロール軸、及びヨー軸の3軸方向の角速度とを検出してよい。
磁気コンパス260は、無人航空機100の機首の方位を検出し、検出結果をUAV制御部110に出力する。
気圧高度計270は、無人航空機100が飛行する高度を検出し、検出結果をUAV制御部110に出力する。
超音波センサ280は、超音波を放射し、地面や物体により反射された超音波を検出し、検出結果をUAV制御部110に出力する。検出結果は、無人航空機100から地面までの距離つまり高度を示してよい。検出結果は、無人航空機100から物体(被写体)までの距離を示してよい。
レーザー測定器290は、物体にレーザー光を照射し、物体で反射された反射光を受光し、反射光により無人航空機100と物体(被写体)との間の距離を測定する。レーザー光による距離の測定方式は、一例として、タイムオブフライト方式でよい。
図4は、端末80のハードウェア構成の一例を示すブロック図である。端末80は、端末制御部81、操作部83、通信部85、メモリ87、表示部88、及びストレージ89を備えてよい。端末80は、情報(例えば警告情報)の出力を希望するユーザに所持され得る。なお、表示部88は、提示部の一例である。
端末制御部81は、例えばCPU、MPU又はDSPを用いて構成される。端末制御部81は、端末80の各部の動作を統括して制御するための信号処理、他の各部との間のデータの入出力処理、データの演算処理及びデータの記憶処理を行う。
端末制御部81は、通信部85を介して、無人航空機100からのデータや空撮画像や情報を取得してよい。端末制御部81は、操作部83を介して入力されたデータや情報を取得してよい。端末制御部81は、メモリ87に保持されたデータや空撮画像や情報を取得してよい。端末制御部81は、通信部85を介して、無人航空機100へ、データや情報(例えば各種パラメータ)を送信させてよい。端末制御部81は、データや情報(例えば各種パラメータ)や空撮画像や地図データを表示部88に送り、このデータや情報や空撮画像や地図データに基づく表示情報を表示部88に表示させてよい。
端末制御部81は、情報出力アプリケーションを実行してよい。端末制御部81は、アプリケーションで用いられる各種のデータを生成してよい。
操作部83は、端末80のユーザにより入力されるデータや情報を受け付けて取得する。操作部83は、ボタン、キー、タッチパネル、マイクロホン、等を含んでよい。ここでは、主に、操作部83と表示部88とがタッチパネルにより構成されることを例示する。この場合、操作部83は、タッチ操作、タップ操作、ドラック操作等を受付可能である。操作部83は、各種パラメータの情報を受け付けてよい。操作部83により入力された情報は、無人航空機100へ送信されてよい。各種パラメータは、地図データを生成するための空撮パラメータを含んでよい。
通信部85は、各種の無線通信方式により、無人航空機100との間で無線通信する。この無線通信の無線通信方式は、例えば、無線LAN、Bluetooth(登録商標)、又は公衆無線回線を介した通信を含んでよい。通信部85は、任意の有線通信方式により有線通信してもよい。
メモリ87は、例えば端末80の動作を規定するプログラムや設定値のデータが格納されたROMと、端末制御部81の処理時に使用される各種の情報やデータを一時的に保存するRAMを有してよい。メモリ87は、ROM及びRAM以外のメモリが含まれてよい。メモリ87は、端末80の内部に設けられてよい。メモリ87は、端末80から取り外し可能に設けられてよい。プログラムは、アプリケーションプログラムを含んでよい。
表示部88は、例えばLCD(Liquid Crystal Display)を用いて構成され、端末制御部81から出力された各種の情報やデータや空撮画像や地図データを表示する。表示部88は、情報出力アプリケーションの実行に係る各種データや情報を表示してよい。
ストレージ89は、各種データ、情報を蓄積し、保持する。ストレージ89は、HDD、SSD、SDカード、USBメモリ、等でよい。ストレージ89は、端末80の内部に設けられてよい。ストレージ89は、端末80から取り外し可能に設けられてよい。ストレージ89は、無人航空機100から取得された空撮画像や付加情報を保持してよい。付加情報は、メモリ87に保持されてもよい。ストレージ89は、地図データを蓄積する地図データベースを保持してもよい。
次に、端末80の端末制御部81が有する情報出力に関する機能について説明する。端末制御部81は、処理部の一例である。端末制御部81は、情報出力に関する処理を行う。
端末制御部81は、地図データCD1を取得する。地図データCD1は、過去に空撮された空撮画像G1を基に生成された地図データでよく、既存地図でよい。地図データCD1は、複数の空撮画像G1が合成されて生成された地図データでよい。地図データCD1は、1つの空撮画像G1とあってもよい。端末制御部81は、通信部85を介して、地図データベースを有する地図サーバから、地図データCD1を取得してよい。端末制御部81は、地図データベースを有するストレージ89から、地図データCD1を取得してよい。なお、地図データCD1は、第1の地図データの一例である。空撮画像G1は、第1の空撮画像の一例である。地図データは、地図領域の地図画像を含んでよく、地図画像とともに地図画像に関する付加情報を含んでもよい。
端末制御部81は、地図データCD1に基づいて、地図データCD2を生成するための1つ以上の空撮経路AP21を生成する。空撮経路AP21は、地図データCD2の生成に用いられる空撮画像G2を撮像するための空撮経路でよい。空撮経路AP21は、例えば、地図データCD2に含まれる地理的な領域(地図領域)においてスキャンするように飛行するための経路でよい。空撮経路AP21は、地図データCD1の元となった空撮画像G1が空撮された空撮経路と一致してもよい。空撮経路AP21は、これら以外の経路でもよい。空撮経路AP21は、空撮画像G2が空撮される1つ以上の空撮位置AP22を通る。なお、地図データCD2は、第2の地図データの一例である。空撮画像G2は、第2の空撮画像の一例である。空撮経路AP21は、空撮経路の一例である。空撮位置AP22は、第1の空撮位置の一例である。
端末制御部81は、地図データCD1に含まれる地理的な領域(地図データCD1の地図領域)と一致する地図データCD2を生成可能となるように、空撮経路AP21を生成してよい。つまり、地図データCD2に含まれる地理的な領域(地図データCD2の地図領域)は、地図データCD1の地図領域と同じでもよい。
端末制御部81は、地図データCD1の地図領域の一部と一致する地図データCD2を生成可能となるように、空撮経路AP21を生成してよい。つまり、地図データCD2の地図領域は、地図データCD1の地図領域の一部でもよい。この場合、端末制御部81は、操作部83を介して、地図データCD2の地図領域を指定するための入力情報を取得し、この入力情報に基づいて、地図データCD2の地図範囲を決定してよい。これにより、端末80は、ユーザ所望の地図範囲の地図データCD2を取得できる。
端末制御部81は、空撮経路AP21において空撮された1つ以上の空撮画像G2を取得する。端末制御部81は、通信部85を介して、無人航空機100から空撮画像G2を取得してよい。端末制御部81は、1つ以上の空撮画像G2を基に、地図データCD2を生成する。地図データCD2は、過去に撮像されたものではなく、生成された空撮経路AP21に従って得られるので、リアルタイム地図であってよい。地図データCD2は、複数の空撮画像G2が合成されて生成された地図データでよい。地図データCD1は、1つの空撮画像G2であってもよい。
端末制御部81は、地図データCD1と地図データCD2との差分Dを算出する。差分Dは、例えば差分D1又は差分D2でよい。差分Dは、差分D1及び差分D2のいずれか一方であることもあるし、差分D1及び差分D2の双方を含むこともある。なお、差分D1は、第1の差分の一例である。差分D2は、第2の差分の一例である。
差分D1は、地図データCD1と地図データCD2との全体的な変形を示す。つまり、差分D1では、地図データCD1を基準とした地図データCD2の変形が、地図データCD2の全体に及んでいる。差分1は、例えば、既存地図の精度不足又は空撮画像G2を撮像した無人航空機100の各種センサの精度不足、無人航空機100の各構成部の動作の精度不足、等に起因する。無人航空機100の各種センサは、GPS受信機240、慣性計測装置250、磁気コンパス260、気圧高度計270、超音波センサ280、レーザー測定器290、等を含んでよい。例えば、姿勢の検出精度が劣化すると、正確な姿勢を維持することが困難となり、撮像部220又は撮像部230により空撮される空撮画像が意図したものとずれる。差分D1は、例えば、このようなずれによる差分でよい。
端末制御部81は、差分D1が存在する場合、位置合わせ手法(レジストレーション)によって地図データCD1と地図データCD2との差分D(変形場)を算出してよい。変形場は、移動場を含んでよい。移動場は、地図データCD1と地図データCD2との全体的な移動差分を示す。差分D1が移動場である場合、差分D1は、地図データCD1を基準とした地図データCD2の平行移動を示してよい。そして、差分D1の値は、地図データCD1を基準とした地図データCD2の平行移動の量や方向を示してよい。端末制御部81は、所定の手法に従って、変形場を算出してよい。この所定の手法は、例えば、アフィン変換、TPS(Thin Plate Spline)、transformation, LDDMM(Large Deformation Diffeomorphisms Metric Mapping),又はFFD(Free-Form Deformable)を含んでよい。変形場の算出は、差分Dの値の算出の一例である。
差分D1が移動場の場合つまり平行移動の場合、地図データCD1の地図領域と地図データCD2の地図領域とが平行移動の関係にあることを示す。よって、地図領域を平行移動することによって、全体的な変形の差分が解消され得る。
なお、差分D1(変形場)は、平行移動(translation)による差分以外もあり得る。例えば、差分D1は、拡大縮小(differential scaling)、回転(rotation)、せん断(skew)、その他の全体的な変形であってもよい。また、線形変換、射影変換、非線形変換、等の各種演算を用いて、差分D1の値を算出し得る。
図5Aは、平行移動を説明するための既存地図としての地図データCD1の一例を示す図である。図5Bは、平行移動を説明するためのリアルタイム地図としての地図データCD2の一例を示す図である。図5Aの地図データCD1を平行移動すると、図5Bの地図データCD2に一致する。例えば、地図データCD1において山の中を走行する道路R11は、平行移動すると、地図データCD2において山の中を走行する道路R12と一致する。端末制御部81は、このような差分Dを、差分D1であると判定する。
差分D2は、地図データCD1と地図データCD2と部分的な差分を示す。つまり、差分D2では、地図データCD1を基準とした地図データCD2の差分が、地図データCD2の一部であり、局所的である。差分D2は、例えば、地図データCD2において地図データCD1と差分を有する領域が経時的に変化していることに起因する。経時的な変化は、新たなビルが建築された、土砂崩れが発生した、渋滞が発生した、等を含んでよい。差分D2は、例えば、このような経時的変化による差分でよい。
端末制御部81は、差分D2が存在する場合、地図データCD1及び地図データCD2を画素毎に差分Dを算出してよい(単純差分)。例えば、新たにビルが建築された場合、このビルの領域に限り差分が存在し、ビルの領域以外では差分が存在しない。画素毎の差分の算出は、差分Dの値の算出の一例である。
端末制御部81は、差分Dが差分D1であるか差分D2であるかを分析し、判別してよい。例えば、端末制御部81は、地図データCD1及び地図データCD2の差分Dの特徴検出(例えばエッジ検出)を行ってよい。端末制御部81は、地図データCD1又は地図データCD2の特徴検出(例えばエッジ検出)を行ってよい。端末制御部81は、差分Dの特徴(例えばエッジ)と地図データCD1又は地図データCD2の特徴(例えばエッジ)とが近似している場合(例えば両者の特徴の値の差分が所定値以下である場合)、差分Dが差分D2であると判別してよい。
端末制御部81は、地図データCD1及び地図データCD2の一部に、集中的に差分Dが存在する場合、差分Dが差分D2であると判定してよい。集中的に差分Dが発生しているとは、地図データCD2の所定面積以内の範囲において、差分Dの値が所定値以上であることを示してよい。この差分Dの値は、地図データCD1及び地図データCD2における同一画素での画素値の差分でよい。
端末制御部81は、差分Dに基づいて、様々な処理(付加処理)を実行する。
次に、差分Dが差分D1である場合の付加処理について説明する。
端末制御部81は、地図データCD1を基に生成された空撮経路AP21を、変形場の算出結果に基づいて修正し、新たな空撮経路AP31を生成してよい。例えば、端末制御部81は、空撮経路AP21に、変形場(移動場)の算出結果の値を加算又は減算することで、空撮経路AP21を平行移動し、空撮経路AP31を生成してよい。例えば、端末制御部81は、地図データCD1に対する地図データCD2の平行移動の移動方向とは逆方向に、移動量が同量となるように、空撮経路AP21を移動させて、空撮経路AP31を生成してよい。
端末制御部81は、空撮経路AP31の情報を、通信部85を介して無人航空機100へ送信してよい。これにより、無人航空機100は、修正された空撮経路AP31において空撮し、空撮画像G3を取得できる。端末制御部81は、通信部85を介して、無人航空機100から空撮画像G3を取得し、空撮画像G3に基づいて地図データCD3を生成できる。空撮経路AP31は、地図データCD3を生成するための空撮画像G3を生成するための空撮パラメータの1つである。空撮画像G3は、空撮画像G2の空撮後に再空撮により得られる空撮画像でよい。なお、地図データCD3は、第3の地図データの一例である。
これにより、端末80は、地図データCD2では地図データCD1に対して全体的な変形が存在していたが、地図データCD1に対して全体的な変形が抑制された地図データCD3を取得できる。よって、端末80は、地図データCD2に基づいて生成された空撮経路AP21を修正することで、ユーザが所望する空撮画像を得られる可能性を高くできる。
また、端末制御部81は、地図データCD2の元となった空撮画像G2が空撮された1つ以上の空撮位置AP22を取得してよい。この空撮位置AP22は、地図データCD2に関する付加情報、又は空撮画像G2に関する付加情報に含まれていてよい。端末制御部81は、地図データCD2に関する付加情報、又は空撮画像G1に関する付加情報を、例えば通信部85を介して、空撮画像G2を空撮した無人航空機100から取得してよい。付加情報は、空撮位置AP22の情報を含んでよい。
端末制御部81は、空撮位置AP22を変形場の算出結果に基づいて移動させて、地図データCD3の元となる空撮画像G3が空撮される空撮位置AP32を決定してよい。例えば、端末制御部81は、地図データCD1に対する地図データCD2の平行移動の移動方向とは逆方向に、移動量が同量となるように、空撮位置AP22を移動させて、空撮位置AP32を決定してよい。端末制御部81は、空撮位置AP32を通る空撮経路AP31を生成してよい。空撮位置AP32は、地図データCD3を生成するための空撮画像G3を生成するための空撮パラメータの1つである。
これにより、端末80は、地図データCD2は地図データCD1に対して平行移動していたが、地図データCD1に対する平行移動が抑制された地図データCD3を取得できる。よって、端末80は、地図データCD2の元となった空撮画像G2が空撮された空撮位置AP22を修正することで、ユーザが所望する空撮画像を得られる可能性を高くできる。
次に、差分Dが差分D2である場合の付加処理について説明する。
端末制御部81は、差分Dが差分D2である場合、地図データCD2における差分Dの値が所定閾値th以上である領域(差分領域)を画像認識し、差分領域に存在するオブジェクトを認識する。オブジェクトは、道路、山、ビル、等を含んでよい。
端末制御部81は、地図データCD1及び地図データCD2における差分領域の経時的変化に基づいて、イベントを検出してもよい。イベントは、渋滞の発生、渋滞の解消、事故の発生、災害の発生(例えば、土砂崩れの発生、噴火の発生)、新たなビルの建築、ビルの取り壊し、等を含んでよい。
オブジェクトが道路である場合、地図データCD1における道路では車両数が少なく(車両数が所定数未満)、地図データCD2における道路では車両数が多い(車両数が所定数以上)ために、差分Dとして検出されることが考えらえる。この場合、端末制御部81は、渋滞の発生というイベントを検出してよい。道路における車両数は、車両のライトの数により検出されてよい。車両のライトは、ブレーキランプの赤色の検出によって検出されてよい。道路における車両数は、車両が存在しない道路の色(例えば灰色)成分のサイズに対する地図データCD2における道路の色のサイズの割合に基づいて、検出されてよい。
図6Aは、既存地図としての地図データCD1において渋滞がないことを示す図である。図6Aでは、差分領域R1において道路が認識されており、比較的少ない車両が存在している。図6Bは、リアルタイム地図としての地図データCD2において渋滞があることを示す図である。図6Bでは、差分領域R2において道路が認識されており、道路には比較的多くの車両が存在している。端末制御部81は、図6Aから図6Bへの変化を検出した場合、差分領域において渋滞の発生のイベントを検出する。
オブジェクトが道路である場合、地図データCD2における道路では車両数が少なく(車両数が所定数未満)、地図データCD1における道路では車両数が多い(車両数が所定数以上)ために、差分Dとして検出されることが考えらえる。この場合、端末制御部81は、渋滞の解消というイベントを検出してよい。
オブジェクトが道路である場合、地図データCD1における道路では車両の速度が速く(車速が所定閾値以上)、地図データCD2における道路では車両の速度が遅い(車速が所定閾値未満、例えば車速0km)ために、差分Dとして検出されることが考えらえる。この場合、端末制御部81は、事故の発生というイベントを検出してよい。端末制御部81は、車両の速度を検出してよい。車両の速度は、例えば、地図データを時間的に連続して生成し、地図データが生成された時間差と同一車両の位置の差に基づいて、検出されてよい。
オブジェクトが山である場合、地図データCD1における山の面積が小さく、地図データCD2における同じ位置にある山の面積が大きいために、差分Dとして検出されることが考えられる。この場合、端末制御部81は、土砂崩れの発生というイベントを検出してよい。また、端末制御部81は、差分領域の色を認識することで、土砂崩れの発生というイベントを検出してもよい。この場合、端末制御部81は、差分領域における土砂の色として茶色の割合が所定閾値以上である場合に、土砂崩れの発生というイベントを検出してよい。
図7Aは、既存地図としての地図データCD1において土砂崩れがないことを示す模式図である。図7Aでは、差分領域において山M1が認識されており、差分領域の画素の大部分が緑色を有してよい。図7Bは、リアルタイム地図としての地図データCD2において土砂崩れがあることを示す模式図である。図7Bでは、差分領域において山M1が認識されており、差分領域において土砂崩れにより土砂堆積領域VS1が発生している。土砂堆積領域VS1は、土砂が堆積した領域でよく、例えば茶色の領域でよい。図7Bでは、差分領域のサイズが大きくなっており、差分領域における茶色の画素の割合も増加している。端末制御部81は、図7Aから図7Bへの変化を検出した場合、差分領域において土砂崩れの発生のイベントを検出する。
オブジェクトが山である場合、地図データCD1における山の色と、地図データCD2における山の色とが変化したために、差分Dとして検出されることが考えられる。この場合、端末制御部81は、噴火の発生というイベントを検出してよい。この場合、地図データCD1における山の色では緑色(木の歯の色)の割合が高く、地図データCD2における山の色では赤色(マグマの色)の割合が高いことが考えられる。
オブジェクトがビルである場合、地図データCD1ではビルが検出されず、地図データCD2ではビルが検出された場合、差分Dとして検出されることが考えられる。この場合、端末制御部81は、地図データCD2におけるビルにおいて、新たなビルの建築というイベントを検出してよい。ビルの存在の有無は、画像認識により判別可能である。なお、地図データCD1では高さh11のビルが検出され、地図データCD2では高さはh12(h12>h11)のビルが検出された場合に、差分Dとして検出されてもよい。この場合、端末制御部81は、ビルの建築が進行していると認識可能である。
図8Aは、既存地図としての地図データCD1においてビルがないことを示す模式図である。図8Aでは、差分領域BL0においてビルが認識されておらず、ビルが建築されていない空間が存在している。図8Bは、リアルタイム地図としての地図データCD2においてビルがあることを示す模式図である。図8Bでは、差分領域BL1においてビルが認識されている。端末制御部81は、図8Aから図8Bへの変化を検出した場合、差分領域において新たなビルの建築のイベントを検出する。
オブジェクトがビルである場合、地図データCD2ではビルが検出されず、地図データCD1ではビルが検出された場合、差分Dとして検出されることが考えられる。この場合、端末制御部81は、ビルの取り壊しというイベントを検出してよい。ビルの存在の有無は、画像認識により判別可能である。なお、地図データCD1では高さh21のビルが検出され、地図データCD1では高さはh22(h22<h21)のビルが検出された場合に、差分Dとして検出されてもよい。この場合、端末制御部81は、ビルの解体が進行していると認識可能である。
端末制御部81は、イベントが発生した場合、イベントに関する情報であるイベント付加情報を生成してよい。
例えば、端末制御部81は、イベントの程度(規模)を算出し、算出結果をイベント付加情報としてもよい。
イベントの程度は、渋滞の長さ、土砂崩れの規模(地図上の土砂崩れが発生した面積)、建築されたビルの高さ、等を含んでよい。端末制御部81は、差分領域において、道路上に所定間隔で配列された車両のライトを認識し、車両のライトが存在する領域の長さを基に、3次元空間における渋滞の長さを算出してよい。端末制御部81は、差分領域において、元の山の大きさ(地図データCD1における山の領域の大きさ)と、土砂崩れ後の山の大きさ(地図データCD2における山の領域の大きさ)と、の差を算出し、この差に基づいて、3次元空間における土砂崩れの規模を算出し、数値化してよい。
端末制御部81は、地図データCD2の元となった複数の空撮画像G2に基づいて、差分領域に存在するビルの三次元形状データを算出してよい。これにより、端末制御部81は、イベントの程度として、ビルの高さを認識できる。
また、端末制御部81は、オブジェクトとして山と道路を認識し、土砂崩れのイベントを検出した場合、道路が通行可能であるか否かを判定してよい。例えば、端末制御部81は、地図データCD1における差分領域において道路が2車線であり、地図データCD2における差分領域において道路が1車線である場合、土砂崩れにより通行が制限されていると判定してよい。例えば、端末制御部81は、地図データCD1における差分領域において道路が2車線であり、地図データCD2における差分領域において道路が存在しない場合、土砂崩れにより通行不能であると判定してよい。この場合、端末制御部81は、通信部85を介して、警告情報を、道路を管理する管理センター等に通知してもよい。道路が通行可能であるか否かが、イベントの程度を示してもよい。
また、端末制御部81は、土砂崩れのイベントを検出した場合、地図データCD1における差分領域において道路の道幅を算出してよい。道路の道幅は、オブジェクトとして認識された道路の幅でよく、色によって識別されてもよい。端末制御部81は、道路の幅が所定幅未満の場合、道路が通行不能であると判定してよい。
また、端末制御部81は、土砂崩れのイベントを検出した場合、地図データCD2における差分領域における山の三次元形状データを算出し、土砂崩れ後の山の高さを算出してよい。端末制御部81は、イベントの程度として、土砂崩れ前後の山の高さの差を算出してよい。
端末制御部81は、災害や事故のイベントを検出した場合、災害や事故のイベントの発生している領域である差分領域の情報を、無人航空機100へ送信してよい。無人航空機100では、UAV制御部110が、通信インタフェース150を介して差分領域の情報を取得してよい。UAV制御部110は、差分領域に対応する実空間の領域に向かって、無人航空機100を飛行させてよい。UAV制御部110は、差分領域に対応する実空間の領域において、撮像部220又は撮像部230に画像を空撮させてよい。UAV制御部110は、通信インタフェース150を介して、空撮された画像を端末80へ送信してよい。端末80では、端末制御部81が、通信部85を介して、空撮された画像を受信してよい。
これにより、無人航空機100は、災害や事故のイベントが発生した場所へ飛行し、画像を空撮できる。よって、無人航空機100は、実際の災害現場や事故現場の状況を確認可能な画像を取得できる。端末80は、無人航空機100による災害や事故が発生した場所での空撮を支援できる。また、端末80は、無人航空機100により空撮された画像を確認でき、空撮された画像を、災害や事故に対応するための判断材料とすることができる。
次に、端末80による警告情報の表示例について説明する。
端末制御部81は、差分Dが差分D1又は差分D2である場合の付加処理の一例として、警告情報の生成や表示の制御を実施してよい。
端末制御部81は、地図データCD1及び地図データCD2の差分Dの値が所定閾値th以上であるか否かを判定してよい。差分Dの値は、差分Dが差分D1である場合の変形場の算出結果の値でもよいし、差分D2である場合の画素毎の差分値でもよい。
差分Dの値が所定閾値th以上である場合、警告情報を生成してよい。警告情報は、差分Dに基づく様々な情報を通知したり警告したりするための情報でよい。警告情報は、警告画像、警告音、警告メッセージ、等の情報を含んでよい。端末制御部81は、表示部88に、警告情報を表示させてよい。端末制御部81は、警告情報を、端末80が備えるLEDの点灯や点滅等により表示してよい。端末制御部81は、表示部88に、警告情報を単独で表示させてもよいし、地図データCD1又は地図データCD2とともに警告情報を表示させてもよいし、その他の情報とともに警告情報を表示させてもよい。警告情報の表示は、警告情報の出力の一例であり、警告情報の提示の一例である。警告情報の提示は、警告情報の音声出力やその他の提示方法による提示を含んでよい。
警告情報は、差分領域の位置を示す情報を含んでよい。例えば、差分領域の位置を示す情報は、地図データCD1及び地図データCD2の差分領域の枠でよい。領域の枠の形状は任意であり、例えば矩形でよい。この場合、端末制御部81は、例えば、地図データCD2を表示させ、地図データCD2の差分領域を示す枠を表示させてよい。差分領域の枠は、例えば、図8で示された差分領域BL1の外周を示す矩形の枠でよい。図8の地図データCD2及び差分領域BL1の外周を示す矩形の枠が表示部88に表示されることが、警告情報の表示例となる。なお、差分領域の枠は、差分が所定閾値th以上である領域の位置情報の一例である。
端末80が差分領域を示す情報を表示することで、ユーザは、地図データCD1及び地図データCD2の変化が存在する位置を明確に視認できる。
警告情報は、差分領域において認識されたオブジェクトに基づく情報を含んでよい。つまり、端末制御部81は、オブジェクトに基づいて、表示部88に警告情報を表示させてよい。端末制御部81は、オブジェクトが変化している旨を示す警告メッセージを生成してよい。警告メッセージは、「道路が変化しています」、「山が変化しています」、「ビルが変化しています」、等のメッセージを含んでよい。また、端末制御部81は、オブジェクト毎に、警告音やLEDによる表示態様(表示色、点滅パターン)を変更してよい。図9は、警告情報の第1表示例を示す図である。
端末80がオブジェクトに基づく警告情報を表示することで、ユーザは、地図データCD1及び地図データCD2の差分領域で、どのようなオブジェクトに変化が発生しているかを容易に視認できる。
警告情報は、差分領域において検出されたイベントに基づく情報を含んでよい。つまり、端末制御部81は、イベントに基づいて、表示部88に警告情報を表示させてよい。警告情報は、イベントが発生している旨を示す警告メッセージを生成してよい。警告メッセージは、「渋滞が発生しています」、「土砂崩れが発生しています」、「ビルが新たに建築されています」、等のメッセージを含んでよい。また、端末制御部81は、イベント毎に、警告音やLEDによる表示態様(表示色、点滅パターン)を変更してよい。図10は、警告情報の第2表示例を示す図である。
端末80がイベントに基づく警告情報を表示することで、ユーザは、地図データCD1及び地図データCD2の差分領域で、どのようなイベントが発生しているかを容易に視認できる。
警告情報は、差分領域において検出されたイベント(例えば事故や災害)の程度(規模)に基づく情報を含んでよい。つまり、端末制御部81は、イベントの程度に基づいて、表示部88に警告情報を表示させてよい。警告情報は、イベントの程度を示す警告メッセージを生成してよい。警告メッセージは、「〇〇kmの渋滞が発生しています」、「土砂崩れが半径〇〇kmの範囲で発生しています」、「高さ〇〇mのビルが新たに建築されています」、等のメッセージを含んでよい。また、端末制御部81は、イベントの程度に応じて、警告音やLEDによる表示態様(表示色、点滅パターン)を変更してよい。図11は、警告情報の第3表示例を示す図である。
端末80がイベントの程度に基づく警告情報を表示することで、ユーザは、地図データCD1及び地図データCD2の差分領域で、イベントがどの程度の規模で発生しているかを容易に視認できる。よって、ユーザは、イベントの内容を具体的に認識できる。
警告情報は、差分Dの値に基づく情報を含んでよい。つまり、端末制御部81は、差分Dの値に基づいて、表示部88に警告情報を表示させてよい。差分Dの値は、変形場の算出により得られる変形場の値(例えば平行移動の移動量や移動方向を示す値)を含んでよい。警告情報は、差分の値を示す警告メッセージを生成してよい。警告メッセージは、「既存地図から〇〇m平行移動しています」、「既存地図と〇〇mずれています」、「既存地図から〇〇%拡大されています」、「既存地図から〇〇度回転されています」、「リアルタイム地図が歪んでいます」、等のメッセージを含んでよい。また、端末制御部81は、差分の値に応じて、警告音やLEDによる表示態様(表示色、点滅パターン)を変更してよい。図12は、警告情報の第4表示例を示す図である。
端末80が差分Dの値に基づく警告情報を表示することで、ユーザは、地図データCD1と比較して地図データCD2が地図領域の全域にわたってどのように変化したかを容易に視認できる。
なお、所定閾値thの値は、固定値であっても可変値であってもよい。端末制御部81は、所定閾値thの値を変更してよい。所定閾値thは、例えば、平行移動5m、拡大率5%、画素値の差異が値x、等でよい。
次に、地図データCD3を空撮するための空撮パラメータの生成例について説明する。
端末制御部81は、差分Dが差分D1である場合の付加処理の一例として、地図データCD3を空撮するための空撮パラメータを生成してよい。空撮パラメータは、地図データCD3の元となる、空撮予定の空撮画像G3を空撮するためのパラメータでよい。空撮パラメータは、空撮画像G3の空撮時の無人航空機100の飛行に関するパラメータ(飛行パラメータ)と空撮画像G3の空撮時の撮像部220又は撮像部230による撮像に関する情報(撮像パラメータ)とを含んでよい。飛行パラメータは、空撮位置情報、空撮経路情報、その他の情報のうち少なくとも1つを含んでよい。撮像パラメータは、空撮画角情報、空撮方向情報、空撮姿勢情報、撮像範囲情報、及び被写体距離情報、のうち少なくとも1つを含んでよい。
空撮経路情報は、空撮画像G3を空撮するための空撮経路AP31を示す。空撮経路情報は、空撮位置情報は、空撮画像G3を空撮するための空撮位置AP32を示す。空撮画角情報は、空撮画像G3を空撮するための撮像部220又は撮像部230の画角情報を示す。空撮方向情報は、空撮画像G3を空撮するための撮像部220又は撮像部230の撮像方向(空撮方向)を示す。空撮姿勢情報は、空撮画像G3を空撮するための無人航空機100、撮像部220、又は撮像部230の姿勢情報を示す。撮像範囲情報は、空撮画像G3を空撮するための撮像部220又は撮像部230の撮像範囲を示す。被写体距離情報は、空撮画像G3を空撮する際の撮像部220又は撮像部230から被写体までの距離の情報を示す。
端末制御部81は、地図データCD1と地図データCD2との差分Dの値に基づいて、空撮パラメータの少なくとも1つを生成してよい。端末制御部81は、差分Dが差分D1である場合に、差分Dの値に基づいて、空撮パラメータの少なくとも1つを生成してよい。
例えば、端末制御部81は、差分Dの値が、地図データCD1を基準として地図データCD2が10m平行移動していることを示す場合、この10mの平行移動を解消し、地図データCD1の地図範囲と地図データCD2の地図範囲とが一致するように、空撮パラメータの少なくとも1つを生成してよい。例えば、端末制御部81は、10mの平行移動を解消するよう、空撮経路AP21や空撮位置AP22を、ずれの方向と逆方向に10m平行移動させた空撮経路AP31の情報や空撮位置AP32の情報を生成してよい。端末制御部81は、10mの平行移動を解消するよう、空撮画像G3を空撮するための無人航空機100、撮像部220、又は撮像部230の姿勢を変更するための空撮姿勢情報を生成してよい。空撮姿勢は、ジンバル200の回転角度によって特定されてよい。したがって、端末制御部81は、10mの平行移動を解消するよう、空撮画像G3を空撮するためのジンバル200の回転角度の情報を生成してよい。なお、10mは一例であり、他の数値でもよい。
また、端末制御部81は、差分Dの値が、地図データCD1を基準として地図データCD2が10%拡大されていることを示す場合、この10%の拡大を解消し、地図データCD1の地図範囲と地図データCD2の地図範囲とが一致するように、空撮パラメータの少なくとも1つを生成してよい。例えば、端末制御部81は、10%の拡大を解消するよう、空撮画像G2の空撮時よりも空撮高度を高くした空撮位置情報を生成してよい。端末制御部81は、10%の拡大を解消するよう、空撮画像G2の空撮時よりも画角を広くした空撮画像情報を生成してよい。端末制御部81は、10%の拡大を解消するよう、空撮画像G2の空撮時よりも被写体距離を長くした被写体距離情報を生成してよい。なお、10%の拡大は一例であり、他の数値でもよい。
また、端末制御部81は、三次元形状データに基づいて差分領域におけるオブジェクトの高さを認識し、オブジェクトの高さに応じて、空撮パラメータにおける空撮高度を決定してよい。これにより、端末80は、差分領域に存在するオブジェクトの高さを加味して、空撮画像G3の空撮時の無人航空機100の危険を軽減したり、オブジェクトを好適な距離から撮像させたりできる。
このように、端末80は、差分D(差分Dの値や差分Dの方向)に基づいて、空撮画像G3の空撮時の空撮パラメータを生成することで、地図データCD2において発生した地図データCD1に対する全体的な変形を抑制して、新たな地図データCD3を生成できる。
また、端末80は、操作部83を介して、ユーザから空撮パラメータを調整するための入力情報を取得し、この入力情報に基づいて、空撮パラメータを調整してよい。これにより、端末80は、差分Dに基づいて生成された空撮パラメータを、ユーザが希望する通りに微調整できる。また、端末80は、ユーザが希望する通りに空撮パラメータの値を入力し、調整できる。この場合、端末80は、差分Dに基づく空撮パラメータの生成を省略できる。
次に、端末80のUI(User Interface)を介した入力例及び表示例について説明する。端末80のUIは、例えば、操作部83及び表示部88を含む。
端末制御部81は、表示部88を介して、差分Dに関する情報(例えば、差分領域の情報、差分領域で認識されたオブジェクトの情報、差分領域で検出されたイベントの情報)を表示させてよい。端末制御部81は、表示部88を介して、警告情報を表示させてよい。
端末制御部81は、操作部83を介して、地図データCD2における差分領域の一部を削除してよい。この場合、端末制御部81は、削除された差分領域では、所定閾値th以上の差分Dが存在しなかったとしてよい。つまり、端末制御部81は、操作部83を介して、差分領域の少なくとも1つを、警告情報の出力対象から除外してよい。
また、端末制御部81は、操作部83を介して、地図データCD2における差分領域を追加してよい。この場合、端末制御部81は、追加された差分領域では、所定閾値th以上の差分Dが存在したとしてよい。つまり、端末制御部81は、操作部83を介して、差分領域の少なくとも1つを、警告情報の出力対象に追加してよい。
図13は、差分領域の一部の削除を説明するための図である。図13では、地図データCD2において、3つの差分領域DR1,DR2,DR3が検出されている。ユーザは、操作部83を介して、指FGを用いて、差分領域DR3を除外するための入力を行っている。端末制御部81は、差分領域DR3を除外するための入力の情報を取得し、この入力の情報に応じて、警告情報の表示対象から除外してよい。
これにより、端末80は、差分領域が誤検出された場合でも、誤検出された差分領域を検出されなかった状態とすることができるので、差分領域の存在を微調整できる。また、端末80は、差分領域が検出されるべきところ検出されなかった場合でも、差分領域が検出された状態とすることができるので、差分領域の存在を微調整できる。したがって、端末80による差分領域の検出精度が比較的低い場合でも、UI(例えば操作部83)を介してユーザが実際の差分領域の存否を指示できる。この場合、ユーザは、表示部88に表示された差分領域の位置を確認しながら、操作部83を介した入力を行ってよい。
端末制御部81は、表示部88を介して、空撮経路AP21と空撮経路AP31とを表示させてよく、例えば同時に表示させてよい。端末制御部81は、操作部83を介して、空撮経路AP31の位置を修正して空撮経路AP41を生成してよい。空撮経路AP41は、空撮画像G4を空撮するための空撮経路であり、空撮画像G4を基に地図データCD4が生成され得る。空撮経路AP41における1つ以上の位置に、空撮画像G4を空撮するための空撮位置AP42が配置される。
これにより、端末80は、空撮経路AP21を基に演算により生成された新たな空撮経路AP31を、操作部83を介してユーザが指示して、更に新たな空撮経路AP41を生成できる。つまり、ユーザは、端末80の演算により自動調整された空撮経路AP31を、UIを介して手動で微調整できる。よって、端末80は、更にユーザの意図に沿った空撮経路AP41を生成できる。
図14は、各地図データの元となる各空撮画像を生成するための各空撮経路の生成例を示す図である。端末制御部81は、差分Dに基づいて、地図データCD2の元となる空撮画像G2を生成するための空撮経路AP21から、地図データCD3の元となる空撮画像G3を生成するための空撮経路AP31を生成してよい。これにより、空撮経路AP21から差分Dを修正可能な空撮経路AP31を生成できる。
また、図14に示すように、ユーザは、例えば指FGを用いて、操作部83を介して、空撮経路AP31の位置を修正するための修正情報を入力してよい。端末制御部81は、入力された修正情報に基づいて空撮経路AP31を修正し、空撮経路AP41を生成してよい。これにより、端末80は、端末80による差分Dに基づく空撮経路の修正に対して、ユーザの意図に即した微修正を実施できる。
なお、上記以外の情報について、操作部83を介した入力や表示部88を介した表示がされてもよい。
次に、情報出力システム10の動作例について説明する。
図15は、情報出力システム10の第1動作例を示すシーケンス図である。第1動作例では、警告情報を出力することを想定する。
まず、端末80では、端末制御部81は、地図データCD1を取得する(S201)。端末制御部81は、端末制御部81は、地図データCD1に基づいて、空撮経路AP21を生成する(S202)。端末制御部81は、通信部85を介して、空撮経路AP21の情報を無人航空機100へ送信する。
無人航空機100では、UAV制御部110は、通信インタフェース150を介して、空撮経路AP21の情報を受信する。UAV制御部110は、空撮経路AP21に従って飛行を制御し、撮像部202又は撮像部203に空撮させ、空撮画像G2を得る(S101)。UAV制御部110は、通信インタフェース150を介して、空撮画像G2を端末80へ送信する。UAV制御部110は、通信インタフェース150を介して、空撮画像G2とともに、空撮画像G2に関する付加情報を端末80へ送信してもよい。
端末80では、端末制御部81は、通信部85を介して、空撮画像G2を取得する(S203)。端末制御部81は、通信部85を介して、空撮画像G2とともに、空撮画像G2に関する付加情報を取得してもよい。
端末制御部81は、空撮画像G2を基に、地図データCD2を生成する(S204)。端末制御部81は、地図データCD1と地図データCD2との差分Dを算出する(S205)。
端末制御部81は、差分Dの値が所定閾値th以上であるか否かを判定する(S206)。差分Dの値が所定閾値th以上である場合、端末制御部81は、表示部88に警告情報を表示させる(S207)。一方、差分Dの値が所定閾値th未満である場合、端末制御部81は、表示部88に警告情報を表示させずに、図15の処理を終了する。
図15に示した第1動作例によれば、端末80は、地図データCD2が地図データCD1と比較して、所定基準以上の全体的な差分D(変形)がある場合や所定基準以上の部分的な差分D(変形)がある場合、警告情報を提示できる。よって、ユーザは、所定基準以上の差分Dが有る旨を把握できる。例えば、地図データCD1の地図領域において経時的変化があった場合でも、ユーザは、所望する空撮画像を得られない可能性があることを認識できる。例えば、無人航空機100が備える様々な機器(例えばセンサ、カメラ)の精度が不十分であり誤差がある場合でも、ユーザは、所望する空撮画像を得られない可能性があることを認識できる。ユーザは、警告情報を確認することで、差分Dに対して必要な対応(例えば、差分Dを加味した測量、差分Dを考慮した無人航空機100による空撮画像の再撮像)を実施することができる。
図16は、情報出力システム10の第2動作例を示すシーケンス図である。第2動作例では、地図データCD3を生成するための空撮パラメータを生成することを想定する。
まず、端末80及び無人航空機100は、S101,S201〜S205の処理を実施する。
端末80では、端末制御部81は、差分Dの種類を識別する(S211)。つまり、端末制御部81は、差分Dが差分D1であるか差分D2であるかを識別する。
差分Dが差分D1である場合(S212のYES)、つまり差分Dが地図データCD1,CD2における全体的な変形を示す場合、端末制御部81は、差分Dに基づいて、空撮画像G3を空撮するための空撮パラメータの少なくとも1つを生成する(S213)。一方、差分Dが差分D2である場合(S212のNo)、つまり差分Dが地図データCD1,CD2における部分的な変形を示す場合、端末制御部81は、上記の空撮パラメータを生成せず、図16の処理を終了する。
図16に示した第2動作例によれば、端末80は、地図データCD2が地図データCD1と比較して、所定基準以上の全体的な差分D(変形)がある場合や所定基準以上の部分的な差分D(変形)がある場合、地図データを再生成するための空撮パラメータを取得できる。これにより、端末80は、生成された空撮パラメータを、無人航空機100へ提供できる。よって、無人航空機100は、提供された空撮パラメータに基づいて空撮することで、空撮時の空撮位置、空撮経路、空撮姿勢、等を改善して、空撮画像G3を取得できる。したがって、端末80は、空撮画像G3の提供を受けることで、空撮画像G3を基に、差分Dが抑制された地図データCD3を生成できる。更に、端末80は、差分Dが抑制された地図データCD3を用いることで、地図データCD2を用いるよりも精度を向上させて、オブジェクト認識、イベント検出、その他の地図データCD3を利用した応用(例えば測量)を実施できる。
なお、S204の処理を、無人航空機100により実施してもよい。つまり、UAV制御部110が、得られた空撮画像G2を基に地図データCD2を生成してよい。UAV制御部110は、通信インタフェース150を介して、生成された地図データCD2を端末80へ送信してよい。
なお、第1の動作例と第2の動作例とが組み合わせて実施されてもよい。
(第2の実施形態)
第1の実施形態では、端末が、警告情報を出力(提示)することを例示した。第2の実施形態では、無人航空機が、警告情報を出力(端末へ送信)することを例示する。なお、第2の実施形態において、第1の実施形態と同様の構成や動作については、説明を省略又は簡略化する。
図17は、第2の実施形態における情報出力システム10Aの構成例を示す模式図である。情報出力システム10Aは、無人航空機100A及び端末80Aを備える。無人航空機100A及び端末80Aは、相互に有線通信又は無線通信(例えば無線LAN)により通信可能である。
図18は、無人航空機100Aのハードウェア構成の一例を示すブロック図である。無人航空機100Aは、第1の実施形態における無人航空機100と比較すると、UAV制御部110の代わりにUAV制御部110Aを備える。なお、図18の無人航空機100Aにおいて、図3に示した無人航空機100の構成と同様の構成については、同一の符号を付し、その説明を省略又は簡略化する。
UAV制御部110Aは、無人航空機100のUAV制御部110が有する機能とともに、情報出力に関する機能を有する。
図19は、端末80Aのハードウェア構成の一例を示すブロック図である。端末80Aは、第1の実施形態における端末80と比較すると、端末制御部81の代わりに端末制御部81Aを備える。なお、図19の端末80Aにおいて、図4に示した端末80の構成と同様の構成については、同一の符号を付し、その説明を省略又は簡略化する。
端末制御部81Aは、通信部85を介して、無人航空機100Aから警告情報を取得する。端末制御部81Aは、通信部85を介して、無人航空機100Aから地図データCD1,CD2の少なくとも一方を取得してよい。端末制御部81Aは、警告情報を表示部88に表示させてよい。端末制御部81Aは、地図データCD1,CD2の少なくとも一方ととともに、警告情報を表示部88に表示させてよい。警告情報の表示は、警告情報の提示の一例である。警告情報の提示は、警告情報の音声出力やその他の提示方法による提示を含んでよい。
なお、端末80AのUI(例えば操作部83、表示部88)を介した入力及び表示については、第1の実施形態と同様でよい。
次に、無人航空機100AのUAV制御部110Aが有する情報出力に関する機能について説明する。UAV制御部110Aは、処理部の一例である。UAV制御部110Aは、情報出力に関する処理を行う。なお、第1の実施形態における端末80の端末制御部81が有する情報出力に関する処理と同様の処理については、その説明を省略又は簡略化する。
UAV制御部110Aは、地図データCD1を取得する。UAV制御部110Aは、地図データCD1に基づいて、空撮経路AP21を生成する。UAV制御部110Aは、空撮経路AP21において、撮像部220又は撮像部230に画像を空撮させ、1つ以上の空撮画像G2を取得する。UAV制御部110Aは、1つ以上の空撮画像G2を基に、地図データCD2を生成する。UAV制御部110Aは、地図データCD1、地図データCD2、空撮画像G2、空撮画像G2に関する付加情報、の少なくとも1つを、通信インタフェース150を介して端末80Aへ送信してよい。UAV制御部110Aは、地図データCD1と地図データCD2との差分Dを算出する。
UAV制御部110Aは、差分Dの性質に基づいて、つまり差分Dが差分D1か差分D2かに基づいて、様々な処理(付加処理)を実行する。
UAV制御部110Aは、地図データCD1を基に生成された空撮経路AP21を、変形場の算出結果に基づいて修正し、新たな空撮経路AP31を生成してよい。
UAV制御部110Aは、地図データCD2の元となった空撮画像G2が空撮された1つ以上の空撮位置AP22を取得してよい。UAV制御部110Aは、空撮位置AP22を変形場の算出結果に基づいて移動させて、空撮位置AP32を決定してよい。
UAV制御部110Aは、差分Dが差分D2である場合、地図データCD2における差分領域を画像認識し、差分領域に存在するオブジェクトを認識してよい。UAV制御部110Aは、地図データCD1及び地図データCD2における差分領域の経時的変化に基づいて、イベントを検出してもよい。
UAV制御部110Aは、イベントが発生した場合、イベントに関する情報であるイベント付加情報を生成してよい。例えば、UAV制御部110Aは、イベントの程度(規模)を算出し、算出結果をイベント付加情報としてもよい。UAV制御部110Aは、オブジェクトとして山と道路を認識し、土砂崩れのイベントを検出した場合、道路が通行可能であるか否かを判定してよい。
UAV制御部110Aは、災害や事故のイベントを検出した場合、災害や事故のイベントの発生している差分領域に対応する実空間の領域に向かって、無人航空機100Aを飛行させてよい。UAV制御部110Aは、差分領域に対応する実空間の領域において、撮像部220又は撮像部230に画像を空撮させてよい。UAV制御部110Aは、通信インタフェース150を介して、空撮された画像を端末80Aへ送信してよい。端末80Aでは、端末制御部81Aが、通信部85を介して、空撮された画像を受信してよい。
UAV制御部110Aは、差分Dの値が所定閾値th以上であるか否かを判定してよい。差分Dの値が所定閾値th以上である場合、警告情報を生成してよい。UAV制御部110Aは、通信インタフェース150を介して、警告情報を端末80Aに送信してよい。端末80Aでは、端末制御部81Aは、通信部85を介して警告情報を受信し、第1の実施形態と同様に、警告情報を表示部88に表示させてよい。
UAV制御部110Aは、差分Dの値に基づいて、空撮パラメータの少なくとも1つを生成してよい。UAV制御部110Aは、差分Dが差分D1である場合に、差分Dの値に基づいて、空撮パラメータの少なくとも1つを生成してよい。
また、UAV制御部110Aは、端末80Aの操作部83を介して入力された情報を取得してよい。UAV制御部110Aは、端末80Aの表示部88等を介して情報を提示させてよい。これにより、無人航空機100Aは、無人航空機100Aが主導して情報出力に関する処理を行う場合でも、端末80Aと連携し、端末80Aによる情報出力に関する支援(例えば操作部83を介した情報の入力、表示部88を介した情報の表示)を受けることができる。
次に、情報出力システム10Aの動作例について説明する。
図20は、情報出力システム10Aの第1動作例を示すシーケンス図である。第1動作例では、警告情報を送信することを想定する。
まず、無人航空機100Aでは、UAV制御部110Aは、地図データCD1を取得する(S121)。UAV制御部110Aは、地図データCD1に基づいて、空撮経路AP21を生成する(S122)。UAV制御部110Aは、空撮経路AP21に従って飛行を制御し、撮像部202又は撮像部203に空撮させ、空撮画像G2を得る(S123)。
UAV制御部110Aは、空撮画像G2を基に、地図データCD2を生成する(S124)。UAV制御部110Aは、地図データCD1と地図データCD2との差分Dを算出する(S125)。
UAV制御部110Aは、差分Dの値が所定閾値th以上であるか否かを判定する(S126)。差分Dの値が所定閾値th以上である場合、UAV制御部110Aは、通信インタフェース150を介して、警告情報を送信する(S127)。UAV制御部110Aは、通信インタフェース150を介して、警告情報とともに、地図データCD1,CD2の少なくとも一方を端末80Aへ送信してもよい。一方、差分Dの値が所定閾値th未満である場合、UAV制御部110Aは、警告情報を送信せず、図20の処理を終了する。
端末80Aでは、端末制御部81Aは、通信部85を介して、警告情報を受信する(S221)。端末制御部81Aは、通信部85を介して、警告情報とともに、地図データCD1,CD2の少なくとも一方を受信してもよい。端末制御部81Aは、表示部88に警告情報を表示させる(S222)。
図20に示した第1動作例によれば、無人航空機100Aは、地図データCD2が地図データCD1と比較して、所定基準以上の全体的な差分D(変形)がある場合や所定基準以上の部分的な差分D(変形)がある場合、警告情報を出力(端末80Aへ送信)できる。端末80Aは、無人航空機100Aからの警告情報を受けて、警告情報を提示できる。よって、ユーザは、所定基準以上の差分Dが有る旨を把握できる。例えば、地図データCD1の地図領域において経時的変化があった場合でも、ユーザは、所望する空撮画像を得られない可能性があることを認識できる。例えば、無人航空機100Aが備える様々な機器(例えばセンサ、カメラ)の精度が不十分であり誤差がある場合でも、ユーザは、所望する空撮画像を得られない可能性があることを認識できる。ユーザは、警告情報を確認することで、差分Dに対して必要な対応(例えば、差分Dを加味した測量、差分Dを考慮した無人航空機100Aによる空撮画像の再撮像)を実施できる。
図21は、情報出力システム10Aの第2動作例を示すシーケンス図である。第2動作例では、地図データCD3を生成するための空撮パラメータを生成することを想定する。第2動作例は、端末80Aが関与せず、無人航空機100Aの単独で実施されてよい。
まず、無人航空機100Aは、S121〜S125の処理を実施する。
無人航空機100Aでは、UAV制御部110Aは、差分Dの種類を識別する(S131)。つまり、UAV制御部110Aは、差分Dが差分D1であるか差分D2であるかを識別する。
差分Dが差分D1である場合(S132のYES)、つまり差分Dが地図データCD1,CD2における全体的な変形を示す場合、UAV制御部110Aは、差分Dに基づいて、空撮画像G3を空撮するための空撮パラメータの少なくとも1つを生成する(S133)。一方、差分Dが差分D2である場合(S132のNo)、つまり差分Dが地図データCD1,CD2における部分的な変形(相違)を示す場合、UAV制御部110Aは、上記の空撮パラメータを生成せず、図20の処理を終了する。
図21に示した第2動作例によれば、無人航空機100Aは、地図データCD2が地図データCD1と比較して、所定基準以上の全体的な差分D(変形)がある場合や所定基準以上の部分的な差分D(変形)がある場合、地図データを再生成するための空撮パラメータを取得できる。よって、無人航空機100Aは、取得された空撮パラメータに基づいて空撮することで、空撮時の空撮位置、空撮経路、空撮姿勢、等を改善して、空撮画像G3を取得できる。したがって、無人航空機100Aは、空撮画像G3を基に、差分Dが抑制された地図データCD3を生成できる。更に、無人航空機100Aは、差分Dが抑制された地図データCD3を用いることで、地図データCD2を用いるよりも精度を向上させて、オブジェクト認識、イベント検出、その他の地図データCD3を利用した応用(例えば測量)を実施できる。
なお、第1の動作例と第2の動作例とが組み合わせて実施されてもよい。
以上、本開示を実施形態を用いて説明したが、本開示の技術的範囲は上述した実施形態に記載の範囲には限定されない。上述した実施形態に、多様な変更又は改良を加えることが当業者に明らかである。その様な変更又は改良を加えた形態も本開示の技術的範囲に含まれ得ることが、特許請求の範囲の記載からも明らかである。
特許請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現可能である。特許請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「先ず、」、「次に」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。