(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0020】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0021】
特許請求の範囲、明細書、図面、及び要約書には、著作権による保護の対象となる事項が含まれる。著作権者は、これらの書類の何人による複製に対しても、特許庁のファイルまたはレコードに表示される通りであれば異議を唱えない。ただし、それ以外の場合、一切の著作権を留保する。
【0022】
本発明の様々な実施形態は、フローチャートおよびブロック図を参照して記載されてよい。各ブロックは、(1)操作が実行されるプロセスの段階または(2)操作を実行する役割を持つ装置の「部」を表わしてよい。特定の段階および「部」が、専用回路、プロセッサ、及び/又はプログラマブル回路によって実装されてよい。専用回路は、デジタル及び/又はアナログハードウェア回路を含んでよい。専用回路は、集積回路(IC)及び/又はディスクリート回路を含んでよい。プロセッサは、コンピュータが可読な媒体に格納されるコンピュータが可読な命令と共に用いられてよい。プログラマブル回路は、コンピュータが可読な媒体に格納されるコンピュータ可読命令と共に用いられてよい。プログラマブル回路は、再構成可能なハードウェア回路を含んでよい。再構成可能なハードウェア回路は、論理AND、論理OR、論理XOR、論理NAND、論理NOR、および他の論理操作、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)等のようなメモリ要素等を含んでよい。
【0023】
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよい。その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を構成すべく実行され得る命令を含む、製品の少なくとも一部を構成することになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(RTM)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0024】
コンピュータが可読な命令は、1または複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードの何れかを含んでよい。1または複数のプログラミング言語は、従来の手続型プログラミング言語を含む。1または複数のプログラミング言語は、Smalltalk、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語でよい。コンピュータが可読な命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、または状態設定データを含む。コンピュータが可読な命令は、汎用コンピュータ、特殊用途のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサまたはプログラマブル回路に、提供されてよい。コンピュータが可読な命令は、ローカルにまたはローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して、提供されてよい。プロセッサまたはプログラマブル回路は、フローチャートまたはブロック図で指定された操作を実行するための手段を構成すべく、コンピュータが可読な命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0025】
図1は、無人航空機(UAV)100及びコントローラ50を備える撮像システム10の一例を概略的に示す。UAV100は、UAV本体101、ジンバル110、複数の第1撮像装置230、及び第2撮像装置220を備える。第2撮像装置220は、レンズ装置160及び撮像部140を備える。UAV100は、撮像装置を備えて移動する移動体の一例である。移動体とは、UAVの他、空中を移動する他の航空機、地上を移動する車両、水上を移動する船舶等を含む概念である。
【0026】
UAV本体101は、複数の回転翼を備える。UAV本体101は、複数の回転翼の回転を制御することでUAV100を飛行させる。UAV本体101は、例えば、4つの回転翼を用いてUAV100を飛行させる。回転翼の数は、4つには限定されない。UAV100は、回転翼を有さない固定翼機でもよい。
【0027】
第2撮像装置220は、所望の撮像範囲に含まれる被写体を撮像する撮像用のカメラである。複数の第1撮像装置230は、UAV100の飛行を制御するためにUAV100の周囲を撮像するセンシング用のカメラである。第1撮像装置230は、UAV本体101に固定されていてよい。
【0028】
2つの第1撮像装置230が、UAV100の機首である正面に設けられてよい。さらに他の2つの第1撮像装置230が、UAV100の底面に設けられてよい。正面側の2つの第1撮像装置230はペアとなり、いわゆるステレオカメラとして機能してよい。底面側の2つの第1撮像装置230もペアとなり、ステレオカメラとして機能してよい。複数の第1撮像装置230により撮像された画像に基づいて、UAV100の周囲の3次元空間データが生成されてよい。第1撮像装置230により撮像された被写体までの距離は、複数の第1撮像装置230によるステレオカメラにより特定され得る。
【0029】
UAV100が備える第1撮像装置230の数は4つには限定されない。UAV100は、少なくとも1つの第1撮像装置230を備えていればよい。UAV100は、UAV100の機首、機尾、側面、底面、及び天井面のそれぞれに少なくとも1つの第1撮像装置230を備えてもよい。第1撮像装置230は、単焦点レンズ又は魚眼レンズを有してもよい。UAV100に係る説明において、複数の第1撮像装置230を、単に第1撮像装置230と総称する。
【0030】
コントローラ50は、表示部54と操作部52を備える。操作部52は、UAV100の姿勢を制御するための入力操作をユーザから受け付ける。コントローラ50は、操作部52が受け付けたユーザの操作に基づいて、UAV100を制御するための信号を送信する。
【0031】
コントローラ50は、第1撮像装置230及び第2撮像装置220の少なくとも一方が撮像した画像を受信する。表示部54は、コントローラ50が受信した画像を表示する。表示部54はタッチ式のパネルであってよい。コントローラ50は、表示部54を通じて、ユーザから入力操作を受け付けてよい。表示部54は、第2撮像装置220において追尾対象となる特定の被写体が写り込んでいる位置を指定するユーザ操作等を受け付けてよい。
【0032】
図2は、UAV100の機能ブロックの一例を示す。UAV100は、インタフェース102、制御部104、メモリ106、ジンバル110、撮像部140、及びレンズ装置160を備える。
【0033】
インタフェース102は、コントローラ50と通信する。インタフェース102は、コントローラ50から各種の命令を受信する。制御部104は、コントローラ50から受信した命令に従って、UAV100の飛行を制御する。制御部104は、ジンバル110、撮像部140、及びレンズ装置160を制御する。制御部104は、CPU又はMPUなどのマイクロプロセッサ、MCUなどのマイクロコントローラなどにより構成されてよい。メモリ106は、制御部104がジンバル110、撮像部140、及びレンズ装置160を制御するのに必要なプログラムなどを格納する。
【0034】
メモリ106は、コンピュータが可読な記録媒体でよい。メモリ106は、SRAM、DRAM、EPROM、EEPROM、及びUSBメモリなどのフラッシュメモリの少なくとも1つを含んでよい。メモリ106は、UAV100の筐体に設けられてよい。UAV100の筐体から取り外し可能に設けられてよい。
【0035】
ジンバル110は、制御部112、ドライバ114、ドライバ116、ドライバ118、駆動部124、駆動部126、駆動部128、及び支持機構130を有する。駆動部124、駆動部126及び駆動部128は、モータであってよい。
【0036】
支持機構130は、第2撮像装置220を支持する。支持機構130は、第2撮像装置220の撮像方向を可動に支持する。支持機構130は、撮像部140及びレンズ装置160をヨー軸、ピッチ軸、及びロール軸を中心に回転可能に支持する。支持機構130は、回転機構134、回転機構136、及び回転機構138を含む。回転機構134は、駆動部124を用いてヨー軸を中心に撮像部140及びレンズ装置160を回転させる。回転機構136は、駆動部126を用いてピッチ軸を中心に撮像部140及びレンズ装置160を回転させる。回転機構138は、駆動部128を用いてロール軸を中心に撮像部140及びレンズ装置160を回転させる。
【0037】
制御部112は、制御部104からのジンバル110の動作命令に応じて、ドライバ114、ドライバ116、及びドライバ118に対して、それぞれの回転角度を示す動作命令を出力する。ドライバ114、ドライバ116、及びドライバ118は、回転角度を示す動作命令に従って駆動部124、駆動部126、及び駆動部128を駆動させる。回転機構134、回転機構136、及び回転機構138は、駆動部124、駆動部126、及び駆動部128によりそれぞれ駆動されて回転し、撮像部140及びレンズ装置160の姿勢を変更する。
【0038】
撮像部140は、制御部222、撮像素子221及びメモリ223を備える。制御部222は、CPU又はMPUなどのマイクロプロセッサ、MCUなどのマイクロコントローラなどにより構成されてよい。制御部222は、制御部104からの撮像部140及びレンズ装置160に対する動作命令に応じて、撮像部140及びレンズ装置160を制御する。メモリ223は、コンピュータが可読な記録媒体でよく、SRAM、DRAM、EPROM、EEPROM、及びUSBメモリなどのフラッシュメモリの少なくとも1つを含んでよい。メモリ223は、撮像部140の筐体の内部に設けられてよい。撮像部140の筐体から取り外し可能に設けられてよい。
【0039】
撮像素子221は、撮像部140の筐体の内部に保持され、レンズ装置160を介して結像された光学像の画像データを生成して、制御部222に出力する。制御部222は、撮像素子221から出力された画像データをメモリ223に格納する。制御部222は、画像データを、制御部104を介してメモリ106に出力して格納してもよい。
【0040】
レンズ装置160は、制御部162、レンズ164、レンズ166、及びレンズ168を有する。レンズ164、レンズ166、及びレンズ168は、レンズ装置160の鏡筒の内部に配置される。レンズ164、レンズ166、及びレンズ168の一部又は全部は、光軸に沿って移動可能に配置されてよい。制御部162は、制御部222からのレンズ動作命令に従って、レンズ164、レンズ166、及びレンズ168の少なくとも一つを光軸に沿って移動させる。
【0041】
レンズ装置160は、撮像部140と一体的に設けられてよい。レンズ装置160は、いわゆる交換レンズであってよい。レンズ装置160は、撮像部140に対して着脱可能に設けられてよい。
【0042】
第1撮像装置230は、制御部232、制御部234、撮像素子231、メモリ233、及びレンズ235を備える。制御部232は、CPU又はMPUなどのマイクロプロセッサ、MCUなどのマイクロコントローラなどにより構成されてよい。制御部222は、制御部104からの撮像素子231の動作命令に応じて、撮像素子231を制御する。
【0043】
制御部234は、CPU又はMPUなどのマイクロプロセッサ、MCUなどのマイクロコントローラなどにより構成されてよい。制御部234は、制御部104からの撮像素子231の動作命令に応じて、レンズ235を制御する。制御部234は、レンズ235の焦点距離を制御する。制御部234は、レンズ235の絞りを制御してよい。
【0044】
メモリ223は、コンピュータが可読な記録媒体であってよい。メモリ223は、SRAM、DRAM、EPROM、EEPROM、及びUSBメモリなどのフラッシュメモリの少なくとも1つを含んでよい。
【0045】
撮像素子231は、レンズ235を介して結像された光学像の画像データを生成して、制御部232に出力する。制御部232は、撮像素子221から出力された画像データをメモリ233に格納する。
【0046】
本実施形態では、UAV100が、制御部104、制御部112、制御部222、制御部232、制御部234、及び制御部162を備える例について説明する。しかし、制御部104、制御部112、制御部222、制御部232、制御部234、及び制御部162のうちの複数で実行される処理をいずれか1つの制御部が実行してよい。制御部104、制御部112、制御部222、制御部232、制御部234、及び制御部162で実行される処理を1つの制御部で実行してもよい。本実施形態では、UAV100が、メモリ106、メモリ223、及びメモリ233を備える例について説明する。メモリ106、メモリ223、及びメモリ233のうちの少なくとも1つに記憶される情報は、メモリ106、メモリ223、及びメモリ233のうちの他の1つ又は複数のメモリに記憶してよい。
【0047】
第2撮像装置220は、第1撮像装置230の撮像範囲より狭い範囲を撮像する。第1撮像装置230で設定できる画角は、第2撮像装置220で設定できる画角より広くてよい。第1撮像装置230で設定できる最も狭い画角は、第2撮像装置220で設定できる最も広い画角より広くてよい。
【0048】
メモリ106は、第2撮像装置220で予め定められた被写体を撮像している場合における第2撮像装置220の撮像条件を記憶する。制御部104は、第2撮像装置220により撮像された画像から被写体が検出できなくなった後、第1撮像装置230により撮像された画像から被写体が検出された場合に、メモリ106に記憶されている撮像条件に基づいて、被写体を第2撮像装置220に撮像させる。メモリ106に記憶される撮像条件は、第2撮像装置220の画角を含んでよい。画角は、レンズ装置160の焦点距離により表されてよい。
【0049】
制御部104は、メモリ106に記憶されている第1の撮像条件と、被写体と第2撮像装置220の間の第1の位置関係及び第2の位置関係とに基づいて、第2の撮像条件を決定する。第1の位置関係は、メモリ106に記憶されている撮像条件で被写体を撮像していたときの位置関係である。第2の位置関係は、被写体が検出できなくなった後に第1撮像装置230により撮像された画像から被写体が検出されたときの位置関係である。第2の撮像条件は、第1撮像装置230により撮像された画像から被写体が検出された後に被写体を第2撮像装置220に撮像させるための撮像条件である。第2の撮像条件は、第2撮像装置220の画角を含む。そして、制御部104は、決定した撮像条件で被写体を第2撮像装置220に撮像させる。位置関係は、被写体と第2撮像装置220との間の距離であってよい。
【0050】
メモリ106に記憶される撮像条件は、第2撮像装置220の画角を含んでよい。制御部104は、第1撮像装置230により撮像された画像から被写体が検出された後に被写体を第2撮像装置220に撮像させる場合に、メモリ106に記憶されている撮像条件で被写体を撮像していたときの第2撮像装置220の撮像範囲と実質的に同じ広さの範囲を第2撮像装置220が撮像するように、第2撮像装置220の画角を決定してよい。
【0051】
メモリ106は、第2撮像装置220で予め定められた被写体を撮像している場合における移動体から被写体までの距離を記憶する。制御部104は、第1撮像装置230により撮像された画像から被写体が検出された後に被写体を第2撮像装置220に撮像させる場合に、第1撮像装置230により撮像された画像から被写体が検出されたときにおける移動体から被写体までの距離と、メモリ106に記憶されている撮像条件とに基づいて、メモリ106に記憶されている撮像条件で被写体を撮像していたときの第2撮像装置220の撮像範囲と実質的に同じ広さの範囲を第2撮像装置220が撮像するように、第2撮像装置220の画角を決定してよい。
【0052】
制御部104は、第2撮像装置220により撮像された画像から被写体が検出できなくなった後、第1撮像装置230により撮像された画像から被写体が検出された場合に、メモリ106に記憶されている撮像条件で被写体を撮像させてよい。これにより、メモリ106に記憶されている撮像条件と同じ条件で、被写体を撮像することができる。
【0053】
制御部104は、第1撮像装置230により撮像された画像及び第2撮像装置220により撮像された画像の少なくとも一方から被写体が検出されている場合、第2撮像装置220の撮像範囲に被写体の位置が含まれるように、少なくとも第2撮像装置220の撮像方向を制御してよい。制御部104は、第1撮像装置230により撮像された画像及び第2撮像装置220により撮像された画像のいずれからも被写体が検出できなくなった場合に、被写体が検出されていたときの被写体の位置を含む予め定められた範囲を第2撮像装置220に撮像させてよい。
【0054】
以上に説明した制御によれば、特定の被写体が検出された場合に速やかに撮像することができる。そのため、被写体を効率よく撮像することができる。
【0055】
図3は、特定の被写体が検出されている場合における第1撮像装置230及び第2撮像装置220の撮像範囲の一例を示す。被写体300は、特定の被写体である。被写体300は、ユーザが撮像を希望する被写体である。本実施形態において、被写体300は鯨である。被写体300は、見え隠れする被写体の一例である。被写体300が海上から出ている場合、上空から被写体300を撮像することができる。被写体300が海面下に没している場合、上空から被写体300を撮像することができない。
【0056】
制御部104は、第1撮像装置230が撮像した画像から被写体300を検出する。制御部104は、第2撮像装置220が撮像した画像から被写体300を検出する。被写体300を検出するための情報は、メモリ106に記憶されている。被写体300を検出するための情報は、被写体300が有する特徴部のパターンであってよい。被写体300を検出するための情報は、例えば、鯨の尾部のパターン情報等であってよい。制御部104は、第1撮像装置230及び第2撮像装置220の少なくとも一方が撮像した画像から、パターンマッチング等により被写体300を検出してよい。被写体300を検出するための情報は、被写体300の画像から抽出した特徴量であってよい。制御部104は、第1撮像装置230及び第2撮像装置220の少なくとも一方が撮像した画像から特徴量を抽出する。制御部104は、抽出した特徴量とメモリ106に記憶されている特徴量との一致度が予め定められた閾値より高い場合に、被写体300が存在することを検出してよい。被写体300は、ユーザにより指定されてよい。例えば、ユーザがコントローラ50を通じて特定の被写体を手動で撮像させた場合、当該被写体を検出するための情報が画像から抽出されて、メモリ106に記憶されてよい。
【0057】
制御部104は、第1撮像装置230が撮像した画像から被写体300が検出された場合、制御部104は、第2撮像装置220に被写体300を追尾させる。例えば、制御部104は、第2撮像装置220の向きが被写体300の位置に向かうように、ジンバル110を制御する。制御部104は、第2撮像装置220の撮像範囲320内に被写体300の全体が入るように、第2撮像装置220の画角を制御する。制御部104は、第2撮像装置220による撮像範囲320内で被写体300が占める割合が予め定められた最小値以上になるように、第2撮像装置220の画角を狭くしてよい。制御部104は、第2撮像装置220による撮像範囲320内で被写体300が占める割合が予め定められた最大値以下になるように、第2撮像装置220の画角を広げてよい。
【0058】
UAV100のユーザは、コントローラ50を操作して第2撮像装置220の向き及び画角の少なくとも一方を指定する情報をUAV100に送信してよい。ユーザは、例えば、被写体300の一部又は全体が第2撮像装置220の撮像範囲320内に入るように、第2撮像装置220の向き及び画角の少なくとも一方を指定してよい。制御部104は、コントローラ50から受信した情報に基づいて、第2撮像装置220の向き及び画角の少なくとも一方を調整してよい。制御部104は、ユーザの指示による画角の調整に応じて、撮像範囲320内で被写体300が占める割合を算出して、基準値としてメモリ106に格納してよい。制御部104は、撮像範囲320内で被写体300が占める割合が、当該基準値を含む予め定められた範囲内に含まれるように、第2撮像装置220の画角を調整してよい。これにより、ユーザが指定した大きさで被写体300が撮像されるように、第2撮像装置220を制御することができる。
【0059】
このように、第2撮像装置220の撮像条件は、制御部104による自動制御又はユーザによる手動制御により調整される。第2撮像装置220が撮像した画像から被写体300が検出されている間、制御部104は、第2撮像装置220の撮像条件を、メモリ106に記憶する。例えば、制御部104は、第2撮像装置220の画角をメモリ106に記憶してよい。制御部104は、レンズ装置160の焦点距離を示す情報をメモリ106に記憶してよい。制御部104は更に、第2撮像装置220から被写体300までの距離L1を示す情報を、メモリ106に記憶してよい。制御部104は、第2撮像装置220から被写体300までの距離を、第1撮像装置230により得られた3次元空間情報から特定してよい。
【0060】
制御部104は、第2撮像装置220が撮像した画像から被写体300が検出されている間、第1撮像装置230による撮像範囲310が撮像範囲320を含むように、第1撮像装置230の画角を制御する。制御部104は、撮像範囲310が撮像範囲320を含むように、第1撮像装置230の向きを制御してよい。制御部104は、UAV100の姿勢を制御することにより、第1撮像装置230の向きを制御してよい。
【0061】
図4は、被写体300が検出されていない場合における第1撮像装置230及び第2撮像装置220の撮像範囲の一例を示す。例えば被写体300が海面下に没した場合、第1撮像装置230により撮像された画像及び第2撮像装置220により撮像された画像のいずれからも、被写体300が検出されなくなる。この場合、制御部104は、被写体300が検出されている間における第2撮像装置220の撮像条件及び距離L1を示す情報を、メモリ106に保持する。撮像条件には画角を示す情報が含まれる。画角を示す情報は、レンズ装置160の焦点距離を示す情報であってよい。
【0062】
被写体300が検出されなくなると、制御部104は、第2撮像装置220による被写体300の追尾を停止する。被写体300が検出されなくなると、制御部104は、第1撮像装置230による撮像範囲410が、被写体300が検出されていたときの撮像範囲320を含むように、第1撮像装置230の画角及び向きの少なくとも一方を制御する。
【0063】
被写体300が検出されていない間、ユーザは、コントローラ50を通じて、第2撮像装置220の向き及び画角の少なくとも一方を自由に制御できる。例えば、ユーザは、コントローラ50を操作して、第2撮像装置220の向き及び画角を変えて、被写体300とは異なる被写体400を第2撮像装置220に撮像させる。
【0064】
制御部104は、第2撮像装置220で被写体400を撮像し始めた後も、第1撮像装置230による撮像範囲410が撮像範囲320を含むように、第1撮像装置230の画角及び向きの少なくとも一方を制御し続ける。そして、制御部104は、第2撮像装置220で撮像された画像から、被写体300の存在を検出し続ける。これにより、被写体300が撮像範囲320付近の海面から現れた場合に、被写体300を検出し損ねる可能性を低減することができる。
【0065】
図5は、被写体300が再び検出された場合における第1撮像装置230及び第2撮像装置220の撮像範囲の一例を示す。制御部104は、第1撮像装置230の撮像範囲410内から被写体300を検出すると、UAV100に対する被写体300の位置を特定する。制御部104は、第2撮像装置220の向きを制御して、第2撮像装置220の向きを、特定した被写体300の位置に向ける。ここで、制御部104は、メモリ106に保持されている第2撮像装置220の撮像条件を用いて、第2撮像装置220の撮像条件を制御する。
【0066】
例えば、制御部104は、メモリ106に保持されている情報が示す焦点距離に基づいて、レンズ装置160の焦点距離を制御してよい。制御部104は、メモリ106に保持されている情報が示す焦点距離に、レンズ装置160の焦点距離を一致させてよい。
【0067】
ここで、メモリ106に保持されている情報が示す焦点距離をf1とし、再び検出された被写体300までの距離をL2とし、再び検出された被写体300を撮像するためのレンズ装置160の焦点距離をf2とする。この場合、制御部104は、L2に対するf2の比が、L1に対するf1の比に略一致するように、f2を制御してよい。制御部104は、L2に対するf2の比が、L1に対するf1の比に一致するように、f2を制御してよい。制御部104は、L2に対するf2の比と、L1に対するf1の比との差が予め定められた閾値以下になるように、f2を制御してよい。これにより、第2撮像装置220は、撮像範囲520の広さが撮像範囲320の広さと略一致するように、第2撮像装置220の撮像条件を制御することができる。
【0068】
図6は、被写体300の追従撮像を行うための制御手順の一例を示すフローチャートである。制御部104は、第1撮像装置230により撮像された画像から被写体300を探索する(S600)。例えば、制御部104は、第1撮像装置230により撮像された画像から被写体300のパターンを検出する処理を繰り返す。
【0069】
制御部104は、被写体300が検出されたか否かを判断する(S610)。制御部104は、第1撮像装置230により撮像された画像から予め定められた被写体300のパターンが検出された場合に、被写体300が検出されたと判断してよい。被写体300が検出されていない場合は、S610の判断を繰り返す。
【0070】
S610において、被写体300が検出されたと判断した場合、制御部104は、第2撮像装置220による被写体300の追尾動作に切り替える(S620)。例えば、制御部104は、第2撮像装置220の向きを被写体300の位置に向ける。そして、制御部104は、第2撮像装置220により撮像される画像から被写体300を検出して、被写体300が検出された画像内の位置に基づいて、第2撮像装置220の向きが被写体300に向かうように制御する。
【0071】
制御部104は、第2撮像装置220の撮像条件を調整する(S630)。例えば、制御部104は、被写体300が予め定められた大きさで撮像されるように、第2撮像装置220の画角等を調整する。
【0072】
制御部104は、第2撮像装置220の撮像条件を記憶する(S640)。例えば、制御部104は、第2撮像装置220の撮像条件をメモリ106に記憶する。続いて、制御部104は、被写体300が検出されなくなったか否かを判断する(S650)。例えば、制御部104は、第2撮像装置220により撮像された画像及び第1撮像装置230により撮像された画像のいずれからも、予め定められた被写体300のパターンが検出されなくなった場合に、被写体300が検出されなくなったと判断してよい。被写体300が検出されていると判断した場合、S630に戻る。被写体300が検出されなくなったと判断した場合、S660に進む。
【0073】
S660において、制御部104は、第1撮像装置230による被写体300の探索に切り替える。制御部104は、被写体300が検出されたか否かを判断する(S670)。S660及びS670の手順は、S600及びS610の手順に対応する。
【0074】
S670において、被写体300が検出されたと判断した場合、制御部104は、メモリ106に記憶されている撮像条件に基づいて、第2撮像装置220の撮像条件を設定する。例えば、制御部104は、メモリ106に記憶されている焦点距離を示す情報に基づいて、レンズ装置160の焦点距離を設定する。そして、制御部104は、第2撮像装置220による被写体300の追尾動作に切り替えて(S690)、S630に戻る。S690の手順は、S620の手順に対応する。
【0075】
S670において、被写体300が検出されていないと判断した場合、制御部104は、UAV100による撮像を終了するか否かを判断する(S672)。例えば、制御部104は、撮像を終了する旨の指示をコントローラ50から受信した場合、UAV100による撮像を終了すると判断する。UAV100による撮像を終了しないと判断した場合、S670に戻る。なお、
図4等に関連して説明したように、S670の判断を繰り返している間、制御部104は、ユーザの指示等に基づいて第2撮像装置220に撮像させてよい。例えば、制御部104は、第1撮像装置230が被写体300を探索している撮像範囲410とは異なる範囲を第2撮像装置220に撮像させてよい。
【0076】
S672において、UAV100による撮像を終了すると判断した場合、被写体300の追従撮像に係る制御を終了する。
【0077】
図7は、被写体300が検出されていない場合における第2撮像装置220の撮像範囲の他の一例を示す。
図4等に関連して、ユーザの指示等に基づいて、第1撮像装置230の撮像範囲410とは異なる範囲を第2撮像装置220に撮像させる場合を説明した。ここでは、第2撮像装置220の撮像範囲410内の範囲を第2撮像装置220に撮像させ続ける場合について説明する。
【0078】
上述したように、被写体300が検出されていない間、制御部104は、第1撮像装置230の撮像範囲410が、被写体300が検出されていたときの第2撮像装置220の撮像範囲320を含むように、第1撮像装置230の画角及び向きの少なくとも一方を制御する。
【0079】
被写体300が検出されていない間、制御部104は、第2撮像装置220の撮像範囲1020が撮像範囲320を含むように、撮像範囲1020を設定する。撮像範囲1020は、撮像範囲410に含まれる範囲である。撮像範囲1020は、撮像範囲320より広く、撮像範囲410より狭くてよい。撮像範囲320の面積に対する撮像範囲1020の面積の比は、撮像範囲1020の面積に対する撮像範囲410の面積に比より小さくてよい。
【0080】
制御部104は、第1撮像装置230により撮像された画像から被写体300の存在を検出し続けると共に、第2撮像装置220により撮像された画像からも被写体300の存在を検出し続ける。これにより、被写体300が撮像範囲320付近の海面から現れた場合に、被写体300を速やかに撮像し始めることができる。そのため、撮影機会を逃してしまう可能性を低くすることができる。
【0081】
図8は、被写体300が検出されていない間にUAV100が移動した場合における第2撮像装置220の撮像範囲の一例を示す。
図8は、UAV100が撮像範囲320から遠ざかった場合を示す。
【0082】
制御部104は、UAV100が移動した場合でも、第2撮像装置220の撮像範囲が撮像範囲1020に一致するように、第2撮像装置220の向き及び画角の少なくとも一方を制御する。これにより、被写体300が撮像範囲320付近の海面から現れた場合に、被写体300を速やかに撮像し始めることができる。
【0083】
UAV100が移動した場合、制御部104は、第1撮像装置230の撮像範囲が、移動前の撮像範囲410を含むように第1撮像装置230又はUAV100の姿勢を制御してよい。しかし、第1撮像装置230の撮像範囲1110が撮像範囲1020及び撮像範囲320の少なくとも一方を含んでいる場合は、制御部104は、第1撮像装置230の撮像範囲が撮像範囲410を含むように制御しなくてもよい。例えば、第1撮像装置230がUAV本体101に固定された単焦点カメラである場合において、UAV100が移動したときに第1撮像装置230の撮像範囲が撮像範囲410を含むように制御するためには、UAV100の姿勢の制御が必要になる場合がある。第1撮像装置230の撮像範囲の制御ためにUAV100の姿勢を制御することが好ましくない場合は、第1撮像装置230の撮像範囲が撮像範囲410を含むように制御しなくてよい。
【0084】
図9は、被写体300が再び検出された場合における第2撮像装置220の撮像範囲の一例を示す。制御部104は、第1撮像装置230の撮像範囲410又は第2撮像装置220の撮像範囲1020内から被写体300を検出すると、第2撮像装置220の向きを、特定した被写体300の位置に向ける。制御部104は、メモリ106に保持されている第2撮像装置220の撮像条件を用いて、第2撮像装置220の撮像条件を制御する。例えば、制御部104は、第1撮像装置230の撮像範囲1220が、再び検出された被写体300を含むように、レンズ装置160の焦点距離を制御してよい。第2撮像装置220の撮像範囲1220の制御については、
図5等に関連して説明した処理と同様の処理を適用できるので、説明を省略する。
【0085】
以上に説明した制御によれば、被写体300が検出されていないときでも、被写体300を追従していたときの第2撮像装置220の情報をメモリ106に保持する。そして、被写体300が再び現れた場合には、メモリ106に保持している情報を利用して、第2撮像装置220で被写体300を撮像する。これにより、被写体を効率よく撮像することができる。例えば、上記で例示したように、鯨のように海から見え隠れする被写体300を撮像する場合において、被写体300が再び現れたときに、撮像条件等の撮像情報を一から設定しなくて済む。したがって、UAV100によれば、特定の被写体が検出された場合に速やかに撮像することができる。また、限られた時間内で効率よく被写体を撮像することができる。そのため、上述した制御は、UAV100等の移動体で撮像するシステムに好適である。
【0086】
図10は、スタビライザ800の一例を示す外観斜視図である。スタビライザ800は、移動体の一例である。第2撮像装置220は、UAV100以外の移動体に搭載されてよい。例えば、スタビライザ800が備えるカメラユニット813が、第2撮像装置220を備えてよい。
【0087】
スタビライザ800は、カメラユニット813、ジンバル820、及び持ち手部803を備える。ジンバル820は、カメラユニット813を回転可能に支持する。ジンバル820は、パン軸809、ロール軸810、及びチルト軸811を有する。ジンバル820は、パン軸809、ロール軸810、及びチルト軸811を中心に、カメラユニット813を回転可能に支持する。ジンバル820は、支持機構の一例である。
【0088】
カメラユニット813は、撮像装置の一例である。カメラユニット813は、メモリを挿入するためのスロット812を有する。ジンバル820は、ホルダ807を介して持ち手部803に固定される。
【0089】
持ち手部803は、ジンバル820、カメラユニット813を操作するための各種ボタンを有する。持ち手部803は、シャッターボタン804、録画ボタン805、及び操作ボタン806を含む。シャッターボタン804が押下されることで、カメラユニット813により静止画を記録することができる。録画ボタン805が押下されることで、カメラユニット813により動画を記録することができる。
【0090】
デバイスホルダ801が持ち手部803に固定されている。デバイスホルダ801は、スマートフォンなどのモバイルデバイス802を保持する。モバイルデバイス802は、WiFiなどの無線ネットワークを介してスタビライザ800と通信可能に接続される。これにより、カメラユニット813により撮像された画像をモバイルデバイス802の画面に表示させることができる。モバイルデバイス802は、撮像装置を有してよい。モバイルデバイス802が有する撮像装置が、広角の第1撮像装置として機能してよい。
【0091】
スタビライザ800によれば、特定の被写体が検出された場合に速やかに撮像することができる。また、限られた時間内で効率よく被写体を撮像することができる。
【0092】
図11は、本発明の複数の態様が全体的又は部分的に具現化されてよいコンピュータ2000の例を示す。コンピュータ2000にインストールされたプログラムは、コンピュータ2000に、本発明の実施形態に係る装置に関連付けられる操作又は当該装置の1又は複数の「部」として機能させることができる。当該プログラムは、コンピュータ2000に当該操作又は当該1又は複数の「部」を実行させることができる。当該プログラムは、コンピュータ2000に、本発明の実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ2000に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつか又はすべてに関連付けられた特定の操作を実行させるべく、CPU2012によって実行されてよい。
【0093】
本実施形態によるコンピュータ2000は、CPU2012、及びRAM2014を含み、それらはホストコントローラ2010によって相互に接続されている。コンピュータ2000はまた、通信インタフェース2022、入力/出力ユニットを含み、それらは入力/出力コントローラ2020を介してホストコントローラ2010に接続されている。コンピュータ2000は、ROM2030を含む。CPU2012は、ROM2030およびRAM2014内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。
【0094】
通信インタフェース2022は、ネットワークを介して他の電子デバイスと通信する。ROM2030は、アクティブ化時にコンピュータ2000によって実行されるブートプログラム等、及び/又はコンピュータ2000のハードウェアに依存するプログラムを格納する。プログラムは、CD−ROM、DVD−ROM、USBメモリまたはメモリカードのようなコンピュータが可読な記録媒体又はネットワークを介して提供される。RAM2014、またはROM2030は、コンピュータが可読な記録媒体の例である。プログラムは、RAM2014、またはROM2030にインストールされ、CPU2012によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ2000に読み取られ、プログラムと上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コンピュータ2000の使用に従い情報の操作または処理を実現することによって構成されてよい。
【0095】
例えば、通信がコンピュータ2000および外部デバイス間で実行される場合、CPU2012は、RAM2014にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース2022に対し、通信処理を命令してよい。通信インタフェース2022は、CPU2012の制御下、RAM2014、またはUSBメモリのような記録媒体内に提供される送信バッファ処理領域に格納された送信データを読み取る。通信インタフェース2022は、読み取った送信データをネットワークに送信する。通信インタフェース2022は、ネットワークから受信された受信データを記録媒体上に提供される受信バッファ処理領域等に書き込んでよい。
【0096】
また、CPU2012は、USBメモリ等のような外部記録媒体に格納されたファイルまたはデータベースの全部または必要な部分がRAM2014に読み取られるようにし、RAM2014上のデータに対し様々なタイプの処理を実行してよい。CPU2012は次に、処理されたデータを外部記録媒体にライトバックする。
【0097】
様々なタイプのプログラム、データ、テーブル、およびデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU2012は、RAM2014から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプの操作、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM2014に対しライトバックする。また、CPU2012は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU2012は、第1の属性の属性値が指定される、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0098】
上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ2000上またはコンピュータ2000近傍のコンピュータが可読な媒体に格納されてよい。専用通信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハードディスクまたはRAMのような記録媒体が、コンピュータ可読媒体として使用可能である。コンピュータが可読な媒体に格納されたプログラムを、ネットワークを介してコンピュータ2000に提供してよい。
【0099】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0100】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現可能である。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【解決手段】撮像システムは、第1撮像部を備える。撮像システムは、第1撮像部の撮像範囲より狭い範囲を撮像する第2撮像部を備えてよい。撮像システムは、第2撮像部で予め定められた被写体を撮像している場合における第2撮像部の撮像条件を記憶する記憶部を備えてよい。撮像システムは、第2撮像部により撮像された画像から被写体が検出できなくなった後、第1撮像部により撮像された画像から被写体が検出された場合に、記憶部に記憶されている撮像条件に基づいて、被写体を第2撮像部に撮像させる制御部を備えてよい。