以下、発明の実施形態を通じて本開示を説明するが、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須とは限らない。
特許請求の範囲、明細書、図面、及び要約書には、著作権による保護の対象となる事項が含まれる。著作権者は、これらの書類の何人による複製に対しても、特許庁のファイル又はレコードに表示される通りであれば異議を唱えない。ただし、それ以外の場合、一切の著作権を留保する。
(実施形態)
以下の実施形態では、理解を容易とするため、移動体である無人航空機(UAV:Unmanned Aerial Vehicle)に搭載されたカメラのレンズを合焦するという前提で、本開示を詳述する。しかしながら、これにより特許請求の範囲に記載の主題を限定することは意図されていない。
図1は、実施形態における自動合焦を行うカメラを搭載した飛行体システムの一例を示す模式図である。飛行体システムは、無人航空機100及び遠隔操縦機50を備える。無人航空機100及び遠隔操縦機50は、相互に有線通信又は無線通信(例えば無線LAN(Local Area Network))により通信可能である。図1の例では、遠隔操縦機50は、ユーザが把持する遠隔操縦機本体52と、ユーザに画像情報等を提示するモニタ54とを備えた送信機(プロポ)である。しかし、遠隔操縦機50はこれには限られず、例えばスマートフォンやPC等であってもよい。
無人航空機100は、UAV本体102と、ジンバル200と、カメラ220と、複数の撮像装置230とを含む構成である。図示されているように、カメラ220はアームに回転自在に配置されており、例えば空中の移動中に外観を撮影することができる。本例においては、カメラ220が備えるレンズを自動合焦する。
UAV本体102は複数の回転翼(プロペラ)を備える。UAV本体102は、複数の回転翼の回転を制御することにより無人航空機100を飛行させる。UAV本体102は、例えば4つの回転翼を用いて無人航空機100を飛行させる。
カメラ220は、所望の撮像範囲に含まれる被写体(例えば、空撮対象となる上空の様子、山や川等の景色、地上の建物)を撮像する撮像用のカメラでよい。すなわち、カメラ220は無人航空機100と共に移動するため、被写体との間の距離(被写体距離)は変動し得る。また被写体との間の相対速度も変動し得る。
複数の撮像装置230は、無人航空機100の飛行を制御するために無人航空機100の周囲を撮像するセンシング用のカメラでよい。2つの撮像装置230が、無人航空機100の機首である正面に設けられてよい。さらに、他の2つの撮像装置230が、無人航空機100の底面に設けられてよい。正面側の2つの撮像装置230はペアとなり、いわゆるステレオカメラとして機能してよい。底面側の2つの撮像装置230もペアとなり、ステレオカメラとして機能してよい。複数の撮像装置230により撮像された画像に基づいて、無人航空機100の周囲の3次元空間データ(3次元形状データ)が生成されてよい。なお、無人航空機100が備える撮像装置230の数は4つに限定されない。無人航空機100は、無人航空機100の機首、機尾、側面、底面、及び天井面のそれぞれに少なくとも1つの撮像装置230を備えてよい。撮像装置230で設定できる画角は、カメラ220で設定できる画角より広くてよい。撮像装置230は、単焦点レンズ又は魚眼レンズを有してよい。
図2は、無人航空機100のハードウェア構成の一例を示すブロック図である。無人航空機100は、UAV制御部110と、通信インタフェース150と、メモリ160と、ジンバル200と、回転翼機構210と、1以上の撮像装置230と、GPS受信機240と、慣性計測装置(IMU:Inertial Measurement Unit)250と、磁気コンパス260と、気圧高度計270と、TOF(Time of Flight)センサ280とを含む構成である。
UAV制御部110は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)又はDSP(Digital Signal Processor)を用いて構成される。UAV制御部110は、無人航空機100の各部の動作を統括して制御するための信号処理、他の各部との間のデータの入出力処理、データの演算処理及びデータの記憶処理を行う。
UAV制御部110は、メモリ160に格納されたプログラムに従って無人航空機100の飛行を制御する。UAV制御部110は、飛行を制御してよい。UAV制御部110は、画像を空撮してよい。
UAV制御部110は、無人航空機100の位置を示す位置情報を取得する。UAV制御部110は、GPS受信機240から、無人航空機100が存在する緯度、経度及び高度を示す位置情報を取得してよい。UAV制御部110は、GPS受信機240から無人航空機100が存在する緯度及び経度を示す緯度経度情報、並びに気圧高度計270から無人航空機100が存在する高度を示す高度情報をそれぞれ位置情報として取得してよい。
UAV制御部110は、磁気コンパス260から無人航空機100の向きを示す向き情報を取得してよい。向き情報は、例えば無人航空機100の機首の向きに対応する方位で示されてよい。
UAV制御部110は、カメラ220が撮像すべき撮像範囲を撮像する時に無人航空機100が存在すべき位置を示す位置情報を取得してよい。UAV制御部110は、無人航空機100が存在すべき位置を示す位置情報をメモリ160から取得してよい。UAV制御部110は、無人航空機100が存在すべき位置を示す位置情報を、通信インタフェース150を介して他の装置から取得してよい。UAV制御部110は、3次元地図データベースを参照して、無人航空機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は、複数の撮像装置230により撮像された複数の画像を解析することで、無人航空機100の周囲の環境を特定してよい。UAV制御部110は、無人航空機100の周囲の環境に基づいて、例えば障害物を回避して飛行を制御してよい。
UAV制御部110は、無人航空機100の周囲に存在するオブジェクトの立体形状(3次元形状)を示す立体情報(3次元情報)を取得してよい。オブジェクトは、例えば、建物、道路、車、木等の風景の一部でよい。立体情報は、例えば、3次元空間データである。UAV制御部110は、複数の撮像装置230から得られたそれぞれの画像から、無人航空機100の周囲に存在するオブジェクトの立体形状を示す立体情報を生成することで、立体情報を取得してよい。UAV制御部110は、メモリ160に格納された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は、遠隔操縦機50と通信する。通信インタフェース150は、任意の無線通信方式により無線通信してよい。通信インタフェース150は、任意の有線通信方式により有線通信してよい。通信インタフェース150は、空撮画像や空撮画像に関する付加情報(メタデータ)を、遠隔操縦機50に送信してよい。
メモリ160は、UAV制御部110がジンバル200、回転翼機構210、カメラ220、撮像装置230、GPS受信機240、慣性計測装置250、磁気コンパス260、気圧高度計270、及びTOFセンサ280を制御するのに必要なプログラム等を格納する。メモリ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から取り外し可能であってよい。メモリ160は、作業用メモリとして動作してよい。
ジンバル200は、ヨー軸、ピッチ軸、及びロール軸を中心にカメラ220を回転可能に支持してよい。ジンバル200は、ヨー軸、ピッチ軸、及びロール軸の少なくとも1つを中心にカメラ220を回転させることで、カメラ220の撮像方向を変更してよい。
カメラ220は、所望の撮像範囲の被写体を撮像して撮像画像のデータを生成する。カメラ220の撮像により得られた画像データ(例えば空撮画像)は、カメラ220が有するメモリ13に、または図示を省略するストレージに格納されてよい。
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軸方向の角速度とを検出してよい。また、慣性計測装置250が検出した加速度等の値から、無人航空機100の速度を検出してもよい。
磁気コンパス260は、無人航空機100の機首の方位を検出し、検出結果をUAV制御部110に出力する。
気圧高度計270は、無人航空機100が飛行する高度を検出し、検出結果をUAV制御部110に出力する。
TOF(Time of Flight)センサ280は、赤外線等の光を被写体へ照射し、被写体から反射してきた光を受光し、被写体までの距離(被写体距離)や被写体との間の相対速度を測定する外部測距センサである。なお、図2の例においては、TOFセンサ280が無人航空機100に設けられているが、ジンバル200に支持されるカメラ220自体にTOFセンサを設けてもよい。
次に、カメラ220側の構成を説明する。カメラ220はカメラボディ221とカメラレンズ222を備える。カメラボディ221とカメラレンズ222は一体型であってよい。
カメラボディ221は、撮像制御部11と、撮像素子12と、メモリ13と、加速度センサ14とを備える。なお、シャッタ駆動部やゲイン制御部、フラッシュ等の、追加の構成を備えてもよい。
撮像制御部11は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等のマイクロプロセッサ、MCU(Micro Control Unit)等のマイクロコントローラなどにより構成されていてよい。撮像制御部11は、カメラ220による撮像を制御する。この制御は、UAV制御部110からの動作命令に応じて行ってもよい。また、撮像制御部11は、露光時間、絞り(アイリス)などの撮像条件を決定する。撮像制御部11は、撮像素子12に撮像の指示を送出してよい。
カメラレンズ222を通って入射した光は、撮像素子12の撮像面上に結像する。撮像素子12は、撮像面上に結像した光学像を光電変換し、画像信号として出力する。撮像素子12には、CCD(Charge Coupled Device:電荷結合素子)イメージセンサやCMOS(Complementary Metal Oxide Semiconductor:相補型MOS)イメージセンサが用いられてよい。
撮像制御部11は、画像信号に対し、アナログデジタル変換を行って画像データを生成してよい。撮像制御部11は、シェーディング補正、色補正、輪郭強調、ノイズ除去、ガンマ補正、ディベイヤ、圧縮等の各種の画像処理を行ってよい。
メモリ13は、各種データや画像データを記憶する記憶媒体である。メモリ13は、コンピュータ読み取り可能な記録媒体でよく、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)メモリなどであってよい。メモリ13は、カメラボディ221から取り外し可能に設けられてよい。メモリ13は、撮像制御部11が撮像素子12等を制御するのに必要なプログラム等を格納してよい。メモリ13は、例えば、シャッタスピードS、F値、ISO感度、ND値を基に露光量を算出するための露光制御情報を保持してよい。ISO感度は、ゲインに対応する値である。ND値は減光フィルタによる減光度を表す。露光制御情報は、AEアルゴリズムを含む。なお、同様のメモリ20をカメラレンズ2側に設けてよい。メモリ20は、主に、レンズ制御部19による処理に有用なデータを保存しておくことができる。
加速度センサ14は、カメラ220の加速度を検出する。加速度センサ14は、カメラレンズ222に設けられてもよい。加速度センサ14は、3軸加速度センサでよい。
カメラレンズ222は、絞り15および絞り駆動部16、レンズ群17およびレンズ駆動部18、レンズ制御部19、メモリ20を備える。レンズ群17は、被写体からの光を集光して撮像素子12に結像する。レンズ群17は、フォーカスレンズ、ズームレンズ、像振れ補正用レンズ等を含む。レンズ群17は、レンズ駆動部18によって駆動される。レンズ駆動部18は、モータ(図示せず)を有し、レンズ制御部19からの制御信号を入力すると、ズームレンズ及びフォーカスレンズを含むレンズ群17を光軸方向に移動させてよい。レンズ駆動部18は、ズームレンズを移動させてズーム倍率を変更するズーミング動作を行う場合、レンズ群17を収容する鏡筒を前後方向に伸縮させてよい。なお、フォーカスレンズによる自動合焦処理については、図3を参照しつつ下記にて詳述する。
絞り15は、絞り駆動部16によって駆動される。絞り駆動部16はモータ(図示せず)を備え、レンズ制御部19からの制御信号を入力すると、絞り15の開口を拡縮する。
図3は、実施形態における自動合焦処理を説明するフロー図である。以下、無人航空機100に支持されたカメラ220についての、本開示の実施形態による自動合焦の例を示す。理解を容易とするため、この例においては、被写体は静止しているものとする。しかし、本開示はこれに限定されるものではない。例えば、カメラが三脚等に固定されている一方で、被写体が動くスポーツイベントの場合等のように、カメラと被写体との間に相対速度が生じるような他の場合においても、本開示は適用可能である。また、情報処理の主体として、カメラ220が備える撮像制御部11が処理主体であるという前提で説明する。しかし処理主体はこれに限られない。例えば、UAV制御部110等が処理主体になってもよい。
ステップS302において、無人航空機100が備えるカメラ220が、被写体を含んだ画像を取得する。ステップS304において、カメラ220の撮像制御部11が、取得した前記画像からコントラスト評価値(Cost1)を算出する。
ステップS306において、撮像制御部11が、被写体との間の距離情報を取得する。この距離情報の取得は、無人航空機100のTOFセンサ280による測定値を、UAV制御部110経由で撮像制御部11が取得してよい。撮像制御部11は、画像処理によって対象となる被写体を識別して決定してよい。被写体は指定された合焦枠に対応してもよい。なお、距離情報の取得の仕方は上記には限定されず、測距手段をカメラ220側に設けて、そこから前記距離情報を取得してもよい。なお、本願において、情報の取得は、情報の算出を含み得る。
続いて、同じステップS306において、撮像制御部11が、前記距離情報の取得ができたか否かを判断し、取得できなかった場合はステップS314へと分岐し、取得できた場合はステップS308へと分岐する。
ステップS308において、撮像制御部11が、被写体との間の相対速度情報を取得する。この相対速度情報の取得は、無人航空機100のTOFセンサ280による測定値に基づいて、UAV制御部110や撮像制御部11が取得してよい。
なお、相対速度情報の取得方法は、上記には限定されない。図示を省略する相対速度センサを無人航空機100あるいはカメラ220に設けて、そこから相対速度情報を取得してもよい。
さらに、被写体が静止している前提であれば、カメラレンズを備えた物体の移動速度が、この例ではカメラ220を備えた無人航空機100の移動速度が、被写体との間の相対速度となる。この場合、無人航空機100の慣性計測装置250等の手段により、無人航空機100の移動速度情報を取得し、撮像制御部11が、この速度情報をUAV制御部110経由で、相対速度情報として取得してもよい。
ステップS310において、撮像制御部11が、前記取得した相対速度が所定の速度以下であるかどうかを判断する。所定の速度以下である場合には、コントラスト評価値に基づく合焦処理である、後述のステップS312以降の処理へと分岐する。所定の速度を超える場合には、距離情報に基づく合焦を行う後述のステップS322以降の処理へと分岐する。所定の速度の一例は7.5m/sであるが、この数値には限定されない。
なお、ステップS310では、所定の速度以下か、該速度を超えるかによって分岐を行っている。しかし、所定の速度未満であるか、該速度以上であるかによって当該分岐を行ってもよいことは明らかである。
次に、取得した画像のコントラストに基づくカメラレンズの合焦処理である、ステップS312以降の処理について、図3に併せて図4も参照しつつ詳述する。
ステップS312において、撮像制御部11は、取得した距離情報に基づいてフォーカスレンズの移動方向を決定し、山登りオートフォーカス処理を、コントラスト評価値(Cost1)に基づいて実行する。
図4は、レンズの光軸方向の位置(横軸)と、取得した画像のコントラストに基づく評価値(縦軸)との関係を示すグラフ図である。なお、評価値の一番高い、曲線の頂点が、合焦位置となる。すなわちレンズの位置を、E1、E2、E3と、山を登るように少しずつ移動させて合焦する。
現在のフォーカスレンズ位置が、焦点距離1mの位置にあったと仮定する。この時の評価値を(Cost1)とする。ステップS306によって、被写体との間の距離がおよそ2mであると判明している場合、曲線の頂点は、現在の位置よりも、焦点距離の大きい方向(図4の右方向)にあることが分かる。よって、フォーカスレンズの位置は、焦点距離の値を増やす方向へと移動すべきであると決定することができる。このように、距離情報に基づいてフォーカスレンズの移動方向を決定することができる。
フォーカスレンズの移動方向が決定したら、ステップS314において、撮像制御部11によるレンズ制御部19の制御の下、フォーカスレンズを所定量(Δpulse)だけ移動する。この移動方向は、ステップS312を経由してきた場合は既に決定している。なお、ステップS312を経由せず、ステップS306からステップS314へと直接分岐してきた場合(距離情報が取得できなかった場合)は、図4における右側方向、左側方向の両方向に向かって、フォーカスレンズを所定量移動する処理を試行することになるであろう。この事からわかるように、距離情報を用いることで、山登りオートフォーカス処理の計算量を削減することが可能となる。
続いて、ステップS316において、撮像制御部11が画像を取得し、その画像から新たなコントラスト評価値(Cost2)を算出する。
続いて、ステップS318において、撮像制御部11が、コントラスト評価値が減少しているか否かを判断する。この判断は、先に取得済みのコントラスト評価値(Cost1)と、新たに取得したコントラスト評価値(Cost2)との比較によって行ってよい。
ステップS318において、コントラスト評価値が所定量減少していない場合は、山登りオートフォーカスのピーク(図4の山頂部分)を越えていない場合に相当する。そのため、処理はステップS314へと戻り、ステップS314からステップS318までの処理を繰り返す。
ステップS318において、コントラスト評価値が所定量減少した場合は、山登りオートフォーカスのピーク(図4の山頂部分)を越えている場合に相当する。この場合、撮像制御部11によるレンズ制御部19の制御の下、フォーカスレンズをコントラスト評価値のピークに相当するフォーカスレンズ位置へと移動させ(S320)、合焦処理が終了する。
以上のように、取得した相対速度が所定の速度以下である場合(ステップS310)には、取得した画像のコントラストに基づくカメラレンズの合焦を行うものである。
次に、距離情報に基づくカメラレンズの合焦位置について、図3に併せて図5も参照しつつ詳述する。この距離情報に基づく合焦処理は、取得した相対速度が所定の速度を超える場合(ステップS310)に行われる。すなわち、図3におけるステップS322以降の処理に相当する。上述のように、所定の速度の一例は7.5m/sであるが、この数値には限定されない。
ステップS322において、撮像制御部11が、フォーカスレンズが合焦可能な範囲か否かを判断する。この判断は、例えば被写体距離に応じたフォーカスレンズの合焦位置を示すデータをメモリ13、メモリ20等に格納しておき、このデータを参照して行ってよい。例えば、前記合焦位置を示すデータは、被写体距離とフォーカスレンズの合焦位置との関係式(図5参照)を示すデータであってよい。また、前記合焦位置を示すデータは、被写体距離とフォーカスレンズの合焦位置との対応を示す対応表であってもよい。ただし、これらの態様には限定されない。
図5は、被写体距離とフォーカスレンズの合焦位置との関係式を示すグラフ図である。グラフの横軸は被写体距離を、縦軸はフォーカスレンズの合焦位置を、それぞれ示している。図5に示されているように、被写体距離が大きい場合(図5の右側、無限遠側)には、フォーカスレンズ位置の許容移動範囲は広い。被写体距離が小さい場合(図5の左側、至近端側)には、フォーカスレンズ位置の許容移動範囲は狭い。無人航空機100にカメラ220を備える例においては、無人航空機100の移動に伴う被写体距離の、至近端側での小さな変動(グラフの横軸)が、フォーカスレンズの合焦位置の大きな変動となる(図5のグラフの縦軸)。そのため、カメラ220が備えるフォーカスレンズの移動速度が、この大きな変動に追いつかなくなることもあり得る。
本実施形態においては、前述のステップS322において、フォーカスレンズが合焦可能な範囲に無い場合は、S302に戻る。一方、フォーカスレンズが合焦可能な範囲にある場合は、距離情報に基づいてフォーカスレンズを移動して合焦する(S324)。
以上、図3から図5を参照し、取得した画像のコントラストに基づくカメラレンズの合焦処理(ステップS312以降)を行うか、被写体距離に基づくカメラレンズの合焦処理(ステップS322以降)を行うかを、ステップS308で取得した相対速度に応じて切り換える処理を詳述した。この合焦方式の切換えは、上記2つの合焦方式の性質の違いに基づいている。
速距センサは誤差を生じることがある。そのため、カメラレンズの合焦の精度という点では、取得した画像のコントラストに基づくカメラレンズの合焦処理の方が好ましい。しかし、コントラスト基づく合焦処理は、カメラと被写体との間の距離が急速に変動する場合(相対速度が速い場合)に、フォーカスを見失うことがある。その点、本開示においては、相対速度が所定の速度を超える場合(ステップS310)に、被写体距離に基づくカメラレンズの合焦処理へと合焦方式を切換えることが可能となる。その結果、相対速度に応じて適切な方式で合焦できるため、精度の高い合焦制御を実行できるという利点が得られる。
図6は、本開示の第2の実施形態における自動合焦処理を示すフロー図である。第2の実施形態では、取得した相対速度に応じて、取得した画像のコントラストに基づくカメラレンズの合焦処理と、被写体距離に基づくカメラレンズの合焦処理との双方を、重み付けを行った上で適用して合焦する。図7は、重み付けを説明する概念図である。以下、図6および図7を参照して、第2の実施形態を詳述する。
図6のステップS502〜S506およびステップS508〜S514は、図3のステップS302〜S306およびS314〜S320とほぼ同様の処理であり、取得した画像のコントラストに基づくカメラレンズの合焦処理を行っている。すなわち、以下の通りである。
ステップS502において、無人航空機100が備えるカメラ220が、被写体を含んだ画像を取得する。ステップS504において、カメラ220の撮像制御部11が、取得した前記画像からコントラスト評価値(Cost1)を算出する。
ステップS506において、撮像制御部11が、被写体との間の距離情報を取得する。この距離情報の取得は、無人航空機100のTOFセンサ280による測定値を、UAV制御部110経由で撮像制御部11が取得してよい。撮像制御部11は、画像処理によって対象となる被写体を識別して決定してよい。被写体は指定された合焦枠に対応してもよい。なお、距離情報の取得方法は上記には限定されず、測距手段をカメラ220側に設けて、そこから距離情報を取得してもよい。
続いて、同じステップS506において、撮像制御部11が、距離情報の取得ができたか否かを判断し、取得できなかった場合はステップS508へと分岐し、取得できた場合はステップS516およびステップS524へと分岐する。以下、ステップS508以降の処理を先に説明する。ステップS516以降、およびステップS524以降の処理については後述する。
ステップS508以降で、山登りオートフォーカス処理を行う。まず、ステップS508において、撮像制御部11によるレンズ制御部19の制御の下、フォーカスレンズを所定量(Δpulse)だけ移動する。
続いて、ステップS510において、撮像制御部11が画像を取得し、その画像から新たなコントラスト評価値(Cost2)を算出する。
続いて、ステップS512において、撮像制御部11が、コントラスト評価値が減少しているか否かを判断する。この判断は、先に取得済みのコントラスト評価値(Cost1)と、新たに取得したコントラスト評価値(Cost2)との比較によって行ってよい。
ステップS512において、コントラスト評価値が所定量減少していない場合は、山登りオートフォーカスのピーク(図4の山頂部分)を越えていない場合に相当する。そのため、処理はステップS508へと戻り、ステップS508からステップS512までの処理を繰り返す。
ステップS512において、コントラスト評価値が所定量減少した場合は、山登りオートフォーカスのピーク(図4の山頂部分)を越えている場合に相当する。この場合、撮像制御部11によるレンズ制御部19の制御の下、フォーカスレンズをコントラスト評価値のピークに相当するフォーカスレンズ位置へと移動させ(S514)、合焦処理が終了する。
上述のステップS508〜S514の処理は、ステップS506で距離情報の取得ができなかった場合に行われる。つまり、距離情報に基づくカメラレンズの合焦を関与させる余地が無い状況であるため、取得した画像のコントラストに基づくカメラレンズの合焦処理を行う。次に、上述のステップS506で距離情報の取得ができた場合の処理である、ステップS516以降、およびステップS524以降の処理について詳述する。
第2の実施形態においては、ステップS516〜ステップS522で行われる処理は、ステップS508〜S514で行われる処理と同様である。すなわち、取得した画像のコントラストに基づく合焦処理(山登りオートフォーカス)を行っている。
ステップS516の時点では、距離情報が取得できている(S506)。そのため、図3で示したステップS312と同様に、距離情報に基づいてフォーカスレンズの移動方向を決定する処理を、追加で行ってもよい。この追加処理を行うことで、図4における右側方向、左側方向の両方向に向かってフォーカスレンズを所定量移動する処理を試行しなくともよくなる。そのため、山登りオートフォーカス処理の計算量を削減することができる。
ここで、ステップS514とステップS522を比較すると、フォーカスレンズをその時点で実際に移動させるか否かが相違している。ステップS522においては、撮像制御部11が、コントラスト評価値のピークに相当するフォーカスレンズの位置X1を算出する。算出された位置X1は、後述の重み付け処理に用いるパラメータとなる。
また、ステップS524において、撮像制御部11が、距離情報に対応するフォーカスレンズ位置X2を算出(図5参照)する。この算出は、図3のステップS322〜S324の処理とほぼ同様である。算出された位置X2は、後述の重み付け処理に用いるパラメータとなる。なお、ステップS524においては、この時点でフォーカスレンズを実際に動かすものではないため、フォーカスレンズが合焦可能な範囲であるかの判断(ステップS322相当)は不要である。
以上のように、ステップS516〜S522によって、取得した画像のコントラストに基づくフォーカスレンズの位置X1が得られる。また、ステップS524によって、距離情報に対応するフォーカスレンズ位置X2が得られる。
続いて、ステップS526において、撮像制御部11が、被写体との間の相対速度情報を取得する。この相対速度情報の取得は、無人航空機100のTOFセンサ280による測定値に基づいて、UAV制御部110または撮像制御部11が計算して求めて良い。
なお、相対速度情報の取得方法は、上記には限定されない。図示を省略する相対速度センサを無人航空機100あるいはカメラ220に設けて、そこから相対速度情報を取得してもよい。
さらに、被写体が静止している前提であれば、カメラレンズを備えた物体の移動速度が、この例ではカメラ220を備えた無人航空機100の移動速度が、被写体との間の相対速度となる。この場合、無人航空機100の慣性計測装置250等の手段により、無人航空機100の移動速度情報を取得し、撮像制御部11が、この速度情報をUAV制御部110経由で、相対速度情報として取得してもよい。
続いて、ステップS528において、撮像制御部11が、フォーカスレンズ位置X1と、フォーカスレンズ位置X2に対して重み付けを実行し、フォーカスレンズ位置X3を算出する。算出された位置X3が、フォーカスレンズの合焦位置に相当する。重み付けについては、図7に基づき後述する。
続いて、ステップS530において、撮像制御部11によるレンズ制御部19の制御の下、フォーカスレンズ位置X3へとフォーカスレンズを移動させ、合焦処理が終了する。
図7は、上記のステップS528において行われる重み付けを説明する概念図である。図7に示したグラフは、横軸が被写体との間の相対速度(m/s)を示しており、ステップS526で取得した相対速度情報に相当する。グラフの縦軸は重み付け(ウェイト)Wを示している。ウェイトの最大は1である。グラフ中の破線および鎖線は、取得した画像のコントラストに基づく合焦(位置X1)のウェイトw1と、距離情報に基づく合焦(位置X2)のウェイトw2とを示している。このとき、w1+w2=1である。
例えば、カメラ220を支持した無人航空機100がホバリングしており、被写体も静止している場合は、ステップS526で取得した相対速度は0である。この場合、ウェイトw1=1、ウェイトw2=0となるため、実質的に、取得した画像のコントラストに基づく合焦が行われる。すなわち、フォーカスレンズの合焦位置X3=X1となる。
一方、カメラ220を搭載した無人航空機100が高速(図7に示した速度S以上)で移動しており、被写体が静止している場合には、ウェイトw1=0、ウェイトw2=1となるため、実質的に、距離情報に基づく合焦が行われる。すなわち、フォーカスレンズの合焦位置X3=X2となる。
一方、カメラ220を支持した無人航空機100が高速(図7に示した速度S)に満たない速度で移動しており、被写体が静止している場合には、取得した画像のコントラストに基づく合焦と、距離情報に基づく合焦とを、ウェイトw1、ウェイトw2の値に基づいて混入して用いて、合焦を行う。例えば、X3=w1*X1+w2*X2となる。
以上のように、第2の実施形態の場合は、被写体との間の相対速度に応じて、取得した画像のコントラストに基づく合焦と、距離情報に基づく合焦とを併せて用いて、カメラレンズの合焦を行うことができる。その結果、種々変化する被写体との間の相対速度に応じて、精度的にも合焦速度的にも好適な合焦を行うことができる。
なお、上述の合焦処理における処理主体は、カメラ220が備える撮像制御部11であるとして説明した。しかしながら、処理主体はこれに限られない。例えば無人航空機100のUAV制御部110が処理主体となって処理を行ってよい。
また、上記は、カメラ220を支持する無人航空機100が移動し、被写体が静止している、と仮定して実施形態を説明した。しかし、本開示はこれに限られるものではない。例えば、カメラ220自体は移動せず、被写体が移動する場合(スポーツイベント等)や、カメラ220と被写体の両方が移動する場合であっても、本開示の合焦を行い得る。
上述の各実施形態では、移動体として無人航空機を示した。しかし本開示はこれに限らず、例えば人が移動しながら把持する、カメラをマウント可能なジンバル装置等にも適用することが可能である。なお、カメラは、無人航空機やジンバル装置にマウントするための接続部を備えていてよい。
以上、本開示を、実施形態を用いて説明したが、本開示の技術的範囲は上述した実施形態に記載の範囲には限定されない。上述した実施形態に、多様な変更又は改良を加えることが当業者に明らかである。その様な変更又は改良を加えた形態も本開示の技術的範囲に含まれ得ることが、特許請求の範囲の記載からも明らかである。
特許請求の範囲、明細書、及び図面中において示した装置、方法、およびプログラムにおける動作、手順、ステップ、及び段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現可能である。特許請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「先ず」、「次に」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。