(58)【調査した分野】(Int.Cl.,DB名)
前記第2時点での前記撮像装置の画角、高度、及び撮像方向は、前記第2時点より前に特定される前記第2時点での前記撮像装置の画角、高度、及び撮像方向に対応する、請求項2に記載の制御装置。
【発明を実施するための形態】
【0022】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施の形態は請求の範囲に係る発明を限定するものではない。また、実施の形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。以下の実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。
【0023】
請求の範囲、明細書、図面、及び要約書には、著作権による保護の対象となる事項が含まれる。著作権者は、これらの書類の何人による複製に対しても、特許庁のファイルまたはレコードに表示される通りであれば異議を唱えない。ただし、それ以外の場合、一切の著作権を留保する。
【0024】
本発明の様々な実施形態は、フローチャート及びブロック図を参照して記載されてよく、ここにおいてブロックは、(1)操作が実行されるプロセスの段階または(2)操作を実行する役割を持つ装置の「部」を表わしてよい。特定の段階及び「部」が、プログラマブル回路、及び/またはプロセッサによって実装されてよい。専用回路は、デジタル及び/またはアナログハードウェア回路を含んでよい。集積回路(IC)及び/またはディスクリート回路を含んでよい。プログラマブル回路は、再構成可能なハードウェア回路を含んでよい。再構成可能なハードウェア回路は、論理AND、論理OR、論理XOR、論理NAND、論理NOR、及び他の論理操作、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)等のようなメモリ要素等を含んでよい。
【0025】
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよい。その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(RTM)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0026】
コンピュータ可読命令は、1または複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードの何れかを含んでよい。ソースコードまたはオブジェクトコードは、従来の手続型プログラミング言語を含む。従来の手続型プログラミング言語は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語または同様のプログラミング言語でよい。コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサまたはプログラマブル回路に対し、ローカルにまたはローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して提供されてよい。プロセッサまたはプログラマブル回路は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0027】
図1は、無人航空機(UAV)10及び遠隔操作装置300の外観の一例を示す。UAV10は、UAV本体20、ジンバル50、複数の撮像装置60、及び撮像装置100を備える。ジンバル50、及び撮像装置100は、撮像システムの一例である。UAV10は、推進部により推進される移動体の一例である。移動体とは、UAVの他、空中を移動する他の航空機などの飛行体、地上を移動する車両、水上を移動する船舶等を含む概念である。
【0028】
UAV本体20は、複数の回転翼を備える。複数の回転翼は、推進部の一例である。UAV本体20は、複数の回転翼の回転を制御することでUAV10を飛行させる。UAV本体20は、例えば、4つの回転翼を用いてUAV10を飛行させる。回転翼の数は、4つには限定されない。また、UAV10は、回転翼を有さない固定翼機でもよい。
【0029】
撮像装置100は、所望の撮像範囲に含まれる被写体を撮像する撮像用のカメラである。ジンバル50は、撮像装置100を回転可能に支持する。ジンバル50は、支持機構の一例である。例えば、ジンバル50は、撮像装置100を、アクチュエータを用いてピッチ軸で回転可能に支持する。ジンバル50は、撮像装置100を、アクチュエータを用いて更にロール軸及びヨー軸のそれぞれを中心に回転可能に支持する。ジンバル50は、ヨー軸、ピッチ軸、及びロール軸の少なくとも1つを中心に撮像装置100を回転させることで、撮像装置100の姿勢を変更してよい。
【0030】
複数の撮像装置60は、UAV10の飛行を制御するためにUAV10の周囲を撮像するセンシング用のカメラである。2つの撮像装置60が、UAV10の機首である正面に設けられてよい。更に他の2つの撮像装置60が、UAV10の底面に設けられてよい。正面側の2つの撮像装置60はペアとなり、いわゆるステレオカメラとして機能してよい。底面側の2つの撮像装置60もペアとなり、ステレオカメラとして機能してよい。複数の撮像装置60により撮像された画像に基づいて、UAV10の周囲の3次元空間データが生成されてよい。UAV10が備える撮像装置60の数は4つには限定されない。UAV10は、少なくとも1つの撮像装置60を備えていればよい。UAV10は、UAV10の機首、機尾、側面、底面、及び天井面のそれぞれに少なくとも1つの撮像装置60を備えてもよい。撮像装置60で設定できる画角は、撮像装置100で設定できる画角より広くてよい。撮像装置60は、単焦点レンズまたは魚眼レンズを有してもよい。
【0031】
遠隔操作装置300は、UAV10と通信して、UAV10を遠隔操作する。遠隔操作装置300は、UAV10と無線で通信してよい。遠隔操作装置300は、UAV10に上昇、下降、加速、減速、前進、後進、回転などのUAV10の移動に関する各種命令を示す指示情報を送信する。指示情報は、例えば、UAV10の高度を上昇させるための指示情報を含む。指示情報は、UAV10が位置すべき高度を示してよい。UAV10は、遠隔操作装置300から受信した指示情報により示される高度に位置するように移動する。指示情報は、UAV10を上昇させる上昇命令を含んでよい。UAV10は、上昇命令を受け付けている間、上昇する。UAV10は、上昇命令を受け付けても、UAV10の高度が上限高度に達している場合には、上昇を制限してよい。
【0032】
図2は、UAV10の機能ブロックの一例を示す。UAV10は、UAV制御部30、メモリ32、通信インタフェース34、推進部40、GPS受信機41、慣性計測装置42、磁気コンパス43、気圧高度計44、ジンバル50、及び撮像装置100を備える。
【0033】
通信インタフェース34は、遠隔操作装置300などの他の装置と通信する。通信インタフェース34は、遠隔操作装置300からUAV制御部30に対する各種の命令を含む指示情報を受信してよい。メモリ32は、UAV制御部30が、推進部40、GPS受信機41、慣性計測装置(IMU)42、磁気コンパス43、気圧高度計44、ジンバル50、撮像装置60、及び撮像装置100を制御するのに必要なプログラム等を格納する。メモリ32は、コンピュータ読み取り可能な記録媒体でよく、SRAM、DRAM、EPROM、EEPROM、及びUSBメモリ等のフラッシュメモリの少なくとも1つを含んでよい。メモリ32は、UAV本体20の内部に設けられてよい。UAV本体20から取り外し可能に設けられてよい。
【0034】
UAV制御部30は、メモリ32に格納されたプログラムに従ってUAV10の飛行及び撮像を制御する。UAV制御部30は、CPUまたはMPU等のマイクロプロセッサ、MCU等のマイクロコントローラ等により構成されてよい。UAV制御部30は、通信インタフェース34を介して遠隔操作装置300から受信した命令に従って、UAV10の飛行及び撮像を制御する。推進部40は、UAV10を推進させる。推進部40は、複数の回転翼と、複数の回転翼を回転させる複数の駆動モータとを有する。推進部40は、UAV制御部30からの命令に従って複数の駆動モータを介して複数の回転翼を回転させて、UAV10を飛行させる。
【0035】
GPS受信機41は、複数のGPS衛星から発信された時刻を示す複数の信号を受信する。GPS受信機41は、受信された複数の信号に基づいてGPS受信機41の位置、つまりUAV10の位置を算出する。IMU42は、UAV10の姿勢を検出する。IMU42は、UAV10の姿勢として、UAV10の前後、左右、及び上下の3軸方向の加速度と、ピッチ、ロール、及びヨーの3軸方向の角速度とを検出する。磁気コンパス43は、UAV10の機首の方位を検出する。気圧高度計44は、UAV10が飛行する高度を検出する。気圧高度計44は、UAV10の周囲の気圧を検出し、検出された気圧を高度に換算して、高度を検出する。
【0036】
撮像装置100は、撮像部102及びレンズ部200を備える。レンズ部200は、レンズ装置の一例である。撮像部102は、イメージセンサ120、撮像制御部110、及びメモリ130を有する。イメージセンサ120は、CCDまたはCMOSにより構成されてよい。イメージセンサ120は、複数のレンズ210を介して結像された光学像の画像データを撮像制御部110に出力する。撮像制御部110は、CPUまたはMPUなどのマイクロプロセッサ、MCUなどのマイクロコントローラなどにより構成されてよい。撮像制御部110は、UAV制御部30からの撮像装置100の動作命令に応じて、撮像装置100を制御してよい。メモリ130は、コンピュータ可読可能な記録媒体でよく、SRAM、DRAM、EPROM、EEPROM、及びUSBメモリなどのフラッシュメモリの少なくとも1つを含んでよい。メモリ130は、撮像制御部110がイメージセンサ120などを制御するのに必要なプログラム等を格納する。メモリ130は、撮像装置100の筐体の内部に設けられてよい。メモリ130は、撮像装置100の筐体から取り外し可能に設けられてよい。
【0037】
レンズ部200は、複数のレンズ210、レンズ移動機構212、及びレンズ制御部220を有する。複数のレンズ210は、ズームレンズ、バリフォーカルレンズ、及びフォーカスレンズとして機能してよい。複数のレンズ210の少なくとも一部または全部は、光軸に沿って移動可能に配置される。レンズ部200は、撮像部102に対して着脱可能に設けられる交換レンズでよい。レンズ移動機構212は、複数のレンズ210の少なくとも一部または全部を光軸に沿って移動させる。レンズ制御部220は、撮像部102からのレンズ制御命令に従って、レンズ移動機構212を駆動して、1または複数のレンズ210を光軸方向に沿って移動させる。レンズ制御命令は、例えば、ズーム制御命令、及びフォーカス制御命令である。
【0038】
このように構成されたUAV10に搭載された撮像装置100は、地面または海面と空とを含む画像を撮影する場合がある。UAV10の移動、またはジンバル50による撮像装置100の姿勢制御などにより、画面内で地面または海面、及び空のそれぞれが占める割合は、大きく変化する。撮像装置100による自動露出制御がこの変化に追従できず、撮像装置100により撮像される画像が一時的に明る過ぎたり、暗過ぎたりする場合がある。そこで、本実施形態では、撮像装置100の高度、画角、及び撮影方向に基づいて地面または海面と、空との境界である水平線を推定する。撮像装置100により撮像される画像を水平線の上方である上方領域と水平線の下方である下方領域とに分割する。そして、画像の明るさの評価値を上方領域及び下方領域のそれぞれについて導出し、それぞれの評価値に基づいて上方領域及び下方領域の露出の制御値を決定する。これにより、撮像装置100は、適切に露出制御を実行する。
【0039】
上記のような露出制御を実現すべく、撮像制御部110は、分割部112、導出部114、決定部116、及び露出制御部118を含む。分割部112は、撮像装置100により撮像される画像を、撮像装置100の画角、撮像装置100の高度、及び撮像装置100の撮像方向に基づいて、複数の領域に分割する。分割部112は、撮像装置100の画角、撮像装置100の高度、及び撮像装置100の撮像方向に基づいて、画像を、上方領域及び下方領域に分割してよい。分割部112は、撮像装置100の画角、撮像装置100の高度、及び撮像装置100の撮像方向に基づいて、画像内の水平線の位置を推定する。分割部112は、推定された水平線の上方を上方領域、推定された水平線の下方を下方領域として、画像を分割してよい。画像内の上方領域及び下方領域は、画像が撮像される時点での撮像装置100の姿勢によって異なる。例えば、撮像装置100の姿勢が水平状態の場合、上方領域は、画像内において鉛直方向上側の領域でよく、下方領域は、画像内において鉛直方向下側の領域でよい。上方領域は、地面または海面と、空とを含む画像内の空側の領域でよい。下方領域は、地面または海面と、空とを含む画像内の地面または海面側の領域でよい。
【0040】
導出部114は、撮像装置100により撮像される画像の明るさの評価値を複数の領域ごとに導出する。導出部114は、撮像装置100により撮像される画像の輝度値を明るさの評価値として、複数の領域ごとに導出してよい。導出部114は、それぞれの領域に含まれるそれぞれの画素の輝度値に基づいて、それぞれの領域の輝度値を導出してよい。導出部114は、それぞれの領域に含まれるそれぞれの画素の輝度値の平均値を、それぞれの領域の輝度値として導出してよい。導出部114は、それぞれの領域に含まれるそれぞれの画素の輝度値に対して予め定められた重み付けをして、重み付けされたそれぞれの輝度値に基づいて、それぞれの領域の輝度値を導出してよい。導出部114は、分割部112により分割された上方領域及び下方領域のそれぞれの明るさの評価値を導出してよい。
【0041】
決定部116は、複数の領域ごとに撮像装置100の露出の制御値を決定する。決定部116は、複数の領域のそれぞれの評価値に基づいて、複数の領域ごとに露出の制御値を決定してよい。決定部116は、複数の領域のそれぞれの輝度値に基づいて、複数の領域ごとに露出の制御値を決定してよい。決定部116は、複数の領域のそれぞれの制御値として、複数の領域ごとに露出値(EV値)を決定してよい。決定部116は、上方領域及び下方領域のそれぞれの明るさの評価値に基づいて、上方領域及び下方領域のそれぞれの露出の制御値を決定してよい。
【0042】
露出制御部118は、撮像装置100の露出を複数の領域ごとに制御する。露出制御部118は、複数の領域のそれぞれの露出の制御値に基づいて、撮像装置100の露出を複数の領域ごとに制御してよい。露出制御部118は、制御部の一例である。露出制御部118は、イメージセンサ120が露光量に応じて出力する電気信号のゲインを制御することにより、撮像装置100の露出を複数の領域ごとに制御してよい。露出制御部118は、複数の領域のそれぞれの露出の制御値に基づいて、イメージセンサ120のゲインを複数の領域ごとに制御することで、撮像装置100の露出を複数の領域ごとに制御してよい。露出制御部118は、複数の領域ごとに露光時間を制御することで、撮像装置100の露出を複数の領域ごとに制御してよい。
【0043】
分割部112は、第1時点での撮像装置100の画角、高度、及び撮像方向に基づいて、第1時点で撮像装置100に撮像される第1画像を、第1上方領域及び第1下方領域に分割してよい。導出部114は、第1画像に基づいて第1上方領域及び第1下方領域の明るさの評価値を導出してよい。分割部112は、第1時点より後の第2時点での撮像装置100の画角、高度、及び撮像方向に基づいて、撮像装置100により第2時点で撮像される第2画像を第2上方領域及び第2下方領域に分割してよい。第2時点での撮像装置100の画角、高度、及び撮像方向は、第2時点より前に特定される第2時点での撮像装置100の画角、高度、及び撮像方向でよい。第2時点での撮像装置100の画角及び撮像方向は、第2時点で撮像装置100に設定されるべき目標の画角及び撮像方向に対応してよい。第2時点での撮像装置100の高度は、第2時点で撮像装置100が位置すべき目標の高度に対応してよい。
【0044】
第2時点での撮像装置100の高度は、第2時点より前に特定される第2時点でのUAV10の高度に対応してよい。UAV10は、遠隔操作装置300から上昇命令を受け付けている間、上昇命令に応じた速度で上昇してよい。この場合、分割部112は、上昇命令に基づいてUAV10の現在の上昇速度を特定してよい。そして、分割部112は、現在の上昇速度、及び現在の高度に基づいて、現在より後の第2時点でのUAV10の高度を、第2時点より前に特定してよい。第2時点での撮像装置100の高度は、第2時点でUAV10が位置すべき目標の高度に対応してよい。目標の高度は、UAV10に対する指示情報に示されるUAV10が位置すべき高度に対応してよい。目標の高度は、現時点から予め定められた時間経過後に、UAV10が位置すべき高度に対応してよい。目標の画角及び撮像方向は、現時点から予め定められた時間経過後に、UAV10が位置すべき高度で撮像装置100が撮像する際に設定されるべき画角及び撮像方向でよい。撮像装置100の撮像方向は、ジンバル50が撮像装置100の姿勢を制御するための制御値、及びUAV制御部30がUAV10の姿勢を制御するための制御値に基づいて決定されてよい。決定部116は、第1時点の第1上方領域の評価値に基づいて、第2時点の第2上方領域の露出の制御値を決定してよい。決定部116は、第1時点の第1下方領域の評価値に基づいて、第2時点の第2下方領域の露出の制御値を決定してよい。
【0045】
分割部112は、画像を、上方領域、下方領域、及び上方領域と下方領域との間の少なくとも1つの中間領域に分割してよい。決定部116は、少なくとも1つの中間領域の露出の制御値を、上方領域の露出の制御値と、下方領域の露出の制御値との間の値に決定してよい。露出の制御値が上方領域と下方領域とで大きく異なると、撮像装置100により撮像される画像の上方領域と下方領域との境界付近で線状のノイズが現れる可能性がある。そこで、上方領域と下方領域との間に中間領域を設けて、露出の制御値の変化が緩やかになるようにする。これにより、画像内に線状のノイズが現れることを防止できる。
【0046】
図3に示すように、撮像装置100により撮像される画像500に、水平線が含まれる場合、決定部116は、水平線より上方の上方領域502を空、水平線より下方の下方領域504を地面または海面と判断する。そして、決定部116は、上方領域502の露出値が下方領域503の露出値より高くなるように上方領域502及び下方領域504の露出値を決定してよい。
【0047】
ここで、分割部112が撮像装置100により撮像される画像を上方領域と下方領域とに分割する手順の一例についてより具体的に説明する。
【0048】
図4に示すように、撮像装置100の焦点距離fとイメージセンサ120のサイズ(幅)Sとにより定められる撮像装置100の画角をθとする。
図5に示すように、地球の半径をRとする。UAV10の高度をhとする。高度hのUAV10から見える水平線の位置とUAV10とを結ぶ仮想線404と、高度hのUAV10から鉛直方向に延びる仮想線406とが成す角度をγとする。このような位置にUAV10が存在する場合に、撮像装置100により撮像される画像に水平線が含まれる角度範囲は、
図6に示すように、仮想線406を基準としてγ−θ/2からγ+θ/2の範囲である。撮像装置100の光軸と、仮想線406との成す角度が、γ−θ/2からγ+θ/2の範囲に含まれるという条件を満たす場合、撮像装置100により撮像される画像に水平線が含まれる。露出制御部118は、撮像装置100の姿勢が当該条件を満たす場合、分割部112により分割された領域ごとに露出を制御してよい。撮像制御部110が、例えば、撮像装置60により撮像された画像に基づいて障害物を検知した場合には、分割部112により分割された領域ごとの露出制御を露出制御部118に実行させなくてもよい。
【0049】
図7は、分割部112により実行される画像の分割の手順の一例を示すフローチャートである。
図8は、撮像装置100が水平方向を向いている場合に、画像内に含まれる水平線の位置を推定するために用いられる各パラメータについて説明するための図である。
図9は、撮像装置100が水平方向に対して上方に角度αだけ傾いている場合に、画像内に含まれる水平線の位置を推定するために用いられる各パラメータについて説明するための図である。
【0050】
分割部112は、UAV10の飛行高度hを取得する(S100)。分割部112は、UAV10から水平線までの距離dを導出する(S102)。距離dは、地球の半径R及び距離dから次式により導出される。
【数1】
【0051】
分割部112は、UAV10から水平方向に延びる仮想線410と、水平線420を通り仮想線410に垂直な仮想線412との交点414と、UAV10との間の距離を示す水平距離Dを導出する(S104)。分割部112は、仮想線410と、距離dに沿った仮想線416との成す角度である水平角度βを導出する(S106)。水平距離Dは、次式により導出される。
【数2】
【0052】
水平角度βは、次式により導出される。
【数3】
【0053】
続いて、分割部112は、画角θで撮像装置100が撮像した場合の投影範囲Wを導出し(S108)、投影範囲Wの下部418から水平線420までの高さVを導出する。
【0054】
図8に示すように、撮像装置100が水平方向を向いている場合、投影範囲Wは、次式により導出される。
【数4】
【0055】
この場合、投影範囲Wの下部418から水平線420までの高さVは、次式により導出される。
【数5】
【0056】
一方、
図9に示すように、撮像装置100が水平方向に対して角度(姿勢角度)αだけ傾いている場合、投影範囲Wは、次式により導出される。撮像装置100が水平方向に対して上方に向いている場合、姿勢角度αは、正の値とする。
【数6】
【0057】
この場合、投影範囲Wの下部418から水平線420までの高さVは、次式により導出される。
【数7】
【0058】
分割部112は、導出された高さVに基づいて上方領域及び下方領域を特定する(S112及びS114)。例えば、
図10に示すように、イメージセンサ120により撮像される画像510のライン数がM[pixel]である場合、分割部112は、上方領域を、画像の垂直方向上方側のM×(W−V)/W[pixel]に設定する。分割部112は、下方領域を、画像の垂直方向下側のM×V/M[pixel]に設定する。
【0059】
決定部116は、上方領域の輝度値に基づいて、上方領域の露出値を例えば10[EV]に決定する。決定部116は、下方領域の輝度値に基づいて、下方領域の露出値を例えば6[EV]に決定する。
【0060】
以上の通り、上記の手順により、分割部112は、撮像装置100の画角、高度、及び撮像方向に基づいて画像内の水平線の位置を推定し、推定された水平線の上方を上方領域、下方を下方領域として画像を分割できる。
【0061】
図11は、画像全体に対する下方領域の割合と飛行高度hとの関係を示す。飛行高度hが同一でも、撮像装置100の焦点距離fが長いほど、つまり画角θが狭いほど、下方領域の割合は少なくなる。
【0062】
図12は、画像全体に対する下方領域の割合と姿勢角度αとの関係を示す。姿勢角度αが同一でも、撮像装置100の焦点距離fが長いほど、つまり画角θが狭いほど、下方領域の割合は少なくなる。
【0063】
図13は、撮像装置100による露出制御の手順の一例を示すフローチャートである。まず、UAV10の主電源をオンすることで、撮像装置100をオンする(S300)。撮像装置100の電源がオンした直後は、UAV10は飛行していない。露出制御部118は、画像を分割せずに、通常通り、画像全体を単一領域として撮像装置100の露出を制御する(S302)。その後、撮像制御部110は、UAV10が飛行の指示情報を受信したか否かを判定する(S304)。
【0064】
飛行の指示情報を受信すると、UAV10は、飛行を開始する(S306)。分割部112は、UAV10の現在の高度、撮像装置100の画角、及び撮像装置100の撮像方向を特定する(S308)。分割部112は、UAV10の現在の高度、撮像装置100の画角、及び撮像装置100の撮像方向に基づいて、撮像装置100により撮像される画像の現在の上方領域及び下方領域を特定する(S310)。導出部114は、現在の上方領域及び下方領域のそれぞれの明るさの評価値として、例えば、輝度値を導出する。決定部116は、現在の上方領域の輝度値、及び現在の下方領域の輝度値に基づいて、現在の上方領域の露出値、及び現在の下方領域の露出値を決定する(S312)。
【0065】
露出制御部118は、決定された現在の上方領域の露出値、及び現在の下方領域の露出値に基づいて、撮像装置100の露出を上方領域及び下方領域ごとに制御する(S314)。
【0066】
次いで、分割部112は、指示情報に基づいて次の時点のUAV10の高度、撮像装置100の画角、及び撮像装置100の撮像方向を特定する(S316)。分割部112は、指示情報に基づいて、現時点から予め定められた期間経過後に、UAV10が位置すべき目標の高度を特定し、その目標の高度を次の時点のUAV10の高度として特定してよい。分割部112は、指示情報に基づいてUAV10の現在の上昇速度を特定してよい。そして、分割部112は現在の上昇速度及び現在の高度に基づいて、現時点から予め定められた期間経過後にUAV10が位置すべき目標の高度を特定し、その目標の高度を次の時点のUAV10の高度として特定してよい。分割部112は、指示情報に示される撮像条件に基づいて、次の時点の画角及び撮像方向を特定してよい。
【0067】
続いて、分割部112は、次の時点の高度、画角、及び撮像方向に基づいて、次の時点の上方領域及び下方領域を特定する(S318)。分割部112は、次の時点の高度、画角、及び撮像方向に基づいて、
図7に示す手順に従って上方領域及び下方領域を特定してよい。次いで、決定部116は、前回の上方領域及び下方領域の露出値に基づいて、次の時点の上方領域及び下方領域の露出値を決定する(S320)。決定部116は、撮像装置100により撮像されている現在の画像に基づいて、現在の上方領域及び下方領域に対して決定されたそれぞれの露出値に基づいて、次の時点の上方領域及び下方領域の露出値を決定してよい。決定部116は、現在の上方領域及び下方領域に対して導出されたそれぞれの輝度値に基づいて、次の時点の上方領域及び下方領域の露出値を決定してよい。露出制御部118は、UAV10が次の時点までに目標の高度まで上昇する過程において、次の時点の上方領域及び下方領域の露出値に基づいて、撮像装置100の露出を上方領域及び下方領域ごとに制御する(S322)。
【0068】
UAV10が飛行中であれば(S324)、撮像制御部110は、ステップS316以降の処理を繰り返す。UAV10が飛行中でなければ、ステップS316以降の処理を一旦中断して、UAV10が電源オフしていれば(S326)、一連の処理を終了する。UAV10の電源がオンであれば、ステップS302以降の処理を繰り返す。
【0069】
撮像制御部110は、UAV10の高度が、予め定められた高度以上になった時点で、ステップS308以降の処理を実行してもよい。予め定められた高度は、撮像装置100により撮像される画像に水平線が含まれる可能性が高い下限の高度でよい。また、撮像制御部110は、撮像制御部110の高度が予め定められた高度以下になった時点で、ステップS316以降の処理を一旦中断してもよい。
【0070】
以上の通り、分割部112は、UAV10が飛行中に、現時点から予め定められた期間経過後の将来の時点におけるUAV10の目標の高度、撮像装置100の目標の画角、及び目標の撮像方向を特定する。分割部112は、将来の時点におけるUAV10の目標の高度、撮像装置100の目標の画角、及び目標の撮像方向に基づいて、将来の時点に撮像装置100により撮像される画像の上方領域及び下方領域を特定する。そして、決定部116は、現時点の画像の上方領域及び下方領域の露出値または輝度値に基づいて、将来の時点の上方領域及び下方領域の露出値を事前に決定する。これにより、UAV10が、上昇、または下降中に、地面または海面の領域と空の領域との割合が大きく変化することで、撮像装置100により撮像される画像の明るさが大きく変化して、撮像装置100が適切に露出制御を行えなくなることを防止できる。
【0071】
露出制御部118は、イメージセンサ120が露光量に応じて出力する電気信号のゲインを制御することで、複数の領域ごとに露出を制御する例を中心に説明した。しかし、露出制御部118は、他の方法で、複数の領域ごとに露出を制御してもよい。
【0072】
図14は、UAV10の機能ブロックの他の一例を示す。
図14に示すUAV10は、撮像部102が光学フィルタ140を備える点で、
図2に示すUAV10と異なる。光学フィルタ140は、イメージセンサ120の前方に設けられ、予め定められた複数の領域ごとに光の透過率を変更可能な光学フィルタである。光学フィルタ140は、予め定められた領域ごとに光の透過率を変更可能な可変式NDフィルタでよい。
【0073】
例えば、光学フィルタ140は、
図15に示すように、複数の水平領域600ごとに光の透過率を変更可能な可変式NDフィルタでよい。光学フィルタ140は、複数の水平領域600ごとに一対の電極を有してよい。露出制御部118は、複数の領域ごとの露出値に基づいて、複数の水平領域600ごとに一対の電極に印加する電圧を制御する。これにより、露出制御部118は、複数の領域ごとに露出を制御できる。例えば、露出制御部118は、画像の上方領域に対応する複数の水平領域602に露出値10[EV]を実現できる電圧を印加する。露出制御部118は、画像の中間領域に対応する複数の水平領域606にそれぞれ露出値9[EV]、8[EV]及び7[EV]を実現できる電圧を印加する。露出制御部118は、画像の下方領域に対する複数の水平領域604に露出値6[EV]を実現できる電圧を印加する。これにより、露出制御部118は、上方領域、下方領域、及び少なくとも1つの中間領域のそれぞれの露出を制御できる。
【0074】
図16は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ1200の一例を示す。コンピュータ1200にインストールされたプログラムは、コンピュータ1200に、本発明の実施形態に係る装置に関連付けられるオペレーションまたは当該装置の1または複数の「部」として機能させることができる。または、当該プログラムは、コンピュータ1200に当該オペレーションまたは当該1または複数の「部」を実行させることができる。当該プログラムは、コンピュータ1200に、本発明の実施形態に係るプロセスまたは当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。
【0075】
本実施形態によるコンピュータ1200は、CPU1212、及びRAM1214を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、入力/出力ユニットを含み、それらは入力/出力コントローラ1220を介してホストコントローラ1210に接続されている。コンピュータ1200はまた、ROM1230を含む。CPU1212は、ROM1230及びRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。
【0076】
通信インタフェース1222は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブが、コンピュータ1200内のCPU1212によって使用されるプログラム及びデータを格納してよい。ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、及び/またはコンピュータ1200のハードウェアに依存するプログラムを格納する。プログラムが、CR−ROM、USBメモリまたはICカードのようなコンピュータ可読記録媒体またはネットワークを介して提供される。プログラムは、コンピュータ可読記録媒体の例でもあるRAM1214、またはROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コンピュータ1200の使用に従い情報のオペレーションまたは処理を実現することによって構成されてよい。
【0077】
例えば、通信がコンピュータ1200及び外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース1222に対し、通信処理を命令してよい。通信インタフェース1222は、CPU1212の制御の下、RAM1214、またはUSBメモリのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、またはネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
【0078】
また、CPU1212は、USBメモリ等のような外部記録媒体に格納されたファイルまたはデータベースの全部または必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。
【0079】
様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、第1の属性の属性値が指定される、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0080】
上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ1200上またはコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハードディスクまたはRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。
【0081】
請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。