(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022188989
(43)【公開日】2022-12-22
(54)【発明の名称】情報処理装置、情報処理方法およびプログラム
(51)【国際特許分類】
H04N 5/369 20110101AFI20221215BHJP
H04N 5/3745 20110101ALI20221215BHJP
G03B 15/00 20210101ALI20221215BHJP
G03B 7/091 20210101ALI20221215BHJP
【FI】
H04N5/369
H04N5/3745 500
G03B15/00 Q
G03B7/091
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2021097308
(22)【出願日】2021-06-10
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【弁理士】
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100124442
【弁理士】
【氏名又は名称】黒岩 創吾
(72)【発明者】
【氏名】内藤 祥子
【テーマコード(参考)】
2H002
5C024
【Fターム(参考)】
2H002GA15
5C024CY26
5C024GX02
5C024GY45
5C024HX29
5C024HX55
(57)【要約】
【課題】 本発明によれば、イベントベースセンサを用いた場合に、被写体を追尾できる。
【解決手段】 上記課題を解決する本発明にかかる情報処理装置は、輝度の変化が発生した画素の位置と時刻とを示すアドレスイベント信号に基づいて、撮影範囲に含まれる追尾対象を検出する検出手段と、前記検出された追尾対象の動きを推定する推定手段と、前記推定された追尾対象の動きに基づいて、前記撮影範囲を変更させるための制御値を決定する決定手段と、を有する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
輝度の変化が発生した画素の位置と時刻とを示すアドレスイベント信号に基づいて、撮影範囲に含まれる追尾対象を検出する検出手段と、
前記検出された追尾対象の動きを推定する推定手段と、
前記推定された追尾対象の動きに基づいて、前記撮影範囲を変更させるための制御値を決定する決定手段と、を有する情報処理装置。
【請求項2】
前記決定手段は、前記追尾対象を検出可能な前記撮影範囲になるように前記制御値を決定することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記アドレスイベント信号は、画素ごとに単位時間当たりの輝度の変化を検出するセンサによって出力され、輝度の変化が検出されない場合には、前記アドレスイベント信号は出力されない、または、輝度の変化がないことを示すことを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記アドレスイベント信号に基づいて、所定の期間において輝度の変化が発生した画素を示すフレームデータを取得する取得手段を更に有し、
前記検出手段は、前記フレームデータにおいて輝度の変化が発生した画素の連結数が閾値以上の場合に前記追尾対象を検出すること、を特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
前記追尾対象を示す特徴を記憶する記憶手段を更に有し、
前記検出手段は、前記アドレスイベント信号に基づいて取得された特徴と、前記記憶された特徴とを比較することによって、前記追尾対象を検出すること、を特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
【請求項6】
前記決定手段は、前記追尾対象の速度よりも速いあるいは遅い速度で追尾するように前記制御値を決定すること、を特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
【請求項7】
前記決定手段は、前記追尾対象の進行方向と異なる方向に前記撮影範囲を変更するような前記制御値を決定すること、を特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。
【請求項8】
前記決定手段は、前記追尾対象の速度の大きさに応じて、前記制御値の大きさを決定すること、を特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。
【請求項9】
前記決定手段は、前記追尾対象の動きに基づいて、特定の方向に前記撮影範囲を変更するように前記制御値を決定すること、を特徴とする請求項1乃至8のいずれか1項に記載の情報処理装置。
【請求項10】
前記決定手段は、前記追尾対象の動きに基づいて、前記追尾対象が現在の撮影範囲において所定の範囲より外側に移動する場合に、前記追尾対象が映るように前記撮影範囲に変更するよう前記制御値を決定すること、を特徴とする請求項1乃至8のいずれか1項に記載の情報処理装置。
【請求項11】
前記決定手段は、前記追尾対象の動きに基づいて、前記フレームデータより後に生成されるフレームデータに前記追尾対象が映るように前記制御値を決定すること、を特徴とする請求項4に記載の情報処理装置。
【請求項12】
前記決定手段は、前記追尾対象の進行方向に対して、前記撮影範囲を所定の振幅で変更するような前記制御値を決定すること、を特徴とする請求項1乃至11のいずれか1項に記載の情報処理装置。
【請求項13】
前記決定手段は、前記追尾対象が検出されなくなった場合に、より速い速度で前記撮影範囲を変更するよう前記制御値を決定すること、を特徴とする請求項1乃至12のいずれか1項に記載の情報処理装置。
【請求項14】
輝度の変化が発生した画素の位置と時刻とを示すアドレスイベント信号に基づいて、撮影範囲に含まれる追尾対象を検出する検出工程と、
前記検出された追尾対象の動きを推定する推定工程と、
前記推定された追尾対象の動きに基づいて、前記撮影範囲を変更させるための制御値を決定する決定工程と、を有する情報処理方法。
【請求項15】
コンピュータを、請求項1乃至13のいずれか1項に記載の情報処理装置が有する各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、イベントベースセンサを用いた被写体追尾に関する。
【背景技術】
【0002】
画素ごとの輝度の変化をアドレスイベント信号としてリアルタイムに出力するイベントベースセンサが知られている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明が解決しようとする課題は、イベントベースセンサを用いた場合に、被写体を追尾することを目的とする。
【課題を解決するための手段】
【0005】
上記課題を解決する本発明にかかる情報処理装置は、輝度の変化が発生した画素の位置と時刻とを示すアドレスイベント信号に基づいて、撮影範囲に含まれる追尾対象を検出する検出手段と、前記検出された追尾対象の動きを推定する推定手段と、前記推定された追尾対象の動きに基づいて、前記撮影範囲を変更させるための制御値を決定する決定手段と、を有する。
【発明の効果】
【0006】
本発明によれば、イベントベースセンサを用いた場合に、被写体を追尾できる。
【図面の簡単な説明】
【0007】
【
図1】情報処理装置のハードウェア構成例を示すブロック図
【
図5】情報処理装置が実行する処理を説明するフローチャート
【
図7】情報処理装置が実行する処理を説明するフローチャート
【発明を実施するための形態】
【0008】
以下に、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明する。なお、以下の実施形態に示す構成は一例にすぎず、本発明は図示された構成に限定されるものではない。
【0009】
<実施形態1>
従来、垂直同期信号などの同期信号に同期して画像データ(フレーム)を撮像する同期型の光電変換素子が撮像装置などにおいて用いられている。この一般的な同期型の光電変換素子では、同期信号の周期(例えば、1/60秒)ごとにしか画像データを取得することができないため、高速な処理が要求された場合に対応することが困難になる。そこで、画素アドレスごとに、輝度の変化をアドレスイベントとしてリアルタイムに検出する非同期型の光電変換素子が提案されている。このような画素アドレスごとにイベントを検出する光電変換素子はDynamic Vision Sensor(DVS、以下イベントベースセンサ)と呼ばれている。イベントベースセンサを用いた撮像装置は、被写体の動きを高感度に検出することが可能であるため、検出した動体を追尾するユースケースが考えられる。
【0010】
しかしながら、動体の輝度変化を検出するイベントベースセンサを用いた撮像装置によって追尾すると、動体と同じ速度で追尾するため輝度変化が生じにくくなるという課題がある。本実施形態では、イベントベースセンサを用いた撮像装置において、被写体の動きに応じて撮影範囲を制御することによって、輝度変化が起こる状況を発生させるため、精度よく被写体を追尾することを可能とする。
【0011】
<撮像装置100のハードウェア構成:
図1>
図1は、撮像装置(情報処理装置)100のハードウェア構成例を示すブロック図である。
【0012】
撮像装置100は、撮像光学系1010と光電変換素子1011とから成る撮像部101、CPU102、メモリ103、表示部104、操作部105とを有する。光電変換素子1011は、受光した入射光に応じたアドレスイベント信号を出力するイベントベースセンサである。イベントベースセンサは、画素毎に輝度の変化をイベントとして検出し、アドレスイベント信号は、輝度の変化が発生した画素の位置と時刻とを示す。撮像光学系1010は、具体的には受光レンズであって、入射光を受光し、光電変換素子1011に結像する。CPU102は、メモリ103に格納されたOSやその他プログラムを読みだして実行し、接続された各構成を制御して、各種処理の演算や論理判断などを行う。CPU102が実行する処理には、本実施形態にかかる情報処理が含まれる。また、CPU102は、撮像光学系1010のフォーカスの駆動や絞りの駆動、光電変換素子1011の駆動等の制御を行う。メモリ103は、例えば、ハードディスクドライブや外部記憶装置などであり、実施形態の情報処理にかかるプログラムや各種データを記憶する。表示部104は、例えば、CPU102からの指示に従って撮像装置100の演算結果等を表示する表示装置である。なお、表示装置は液晶表示装置やプロジェクタ、LEDインジケータなど、種類は問わない。操作部105は、例えば、タッチパネルやキーボード、マウス、ロボットコントローラーであり、ユーザーによる入力指示を受け付けるユーザーインターフェースである。なお、撮像装置100は、ここに挙げたハードウェア構成以外の機構を有していてもよいし、画像処理を行う機能と画像に対する解析処理(追尾)を実行する機能は別々の装置が備えていても良い。
【0013】
<光電変換素子1011:
図2>
本実施形態にかかる光電変換素子(イベントベースセンサ)の一例を説明する。イベントベースセンサは、入射した光子の数をカウントし、カウントした光子の数が所定の閾値を超えたタイミングを判定する。またイベントベースセンサは、画素毎に光子の数が第1の閾値以上になるまでの所要時間(クロック数)を計測しており、その所要時間を比較することによって輝度の変化を検出する。具体的には、前回計測された所要時間をT0、最新の所要時間をTとしたとき、差分T-T0が第2の閾値以上の場合は、マイナス方向の輝度の変化を検出する。差分T0-Tが第2の閾値以上の場合は、プラス方向の輝度の変化を検出する。そして、TとT0の差分が第2の閾値未満であれば輝度の変化を検出しない。なお、第2の閾値はゼロ以上の値で、予め設定された値や他のパラメータに応じて設定される値を用いる。
【0014】
以下に、詳細な構成を説明する。
図2(A)は、光電変換素子1011の構成例を示す図である。光電変換素子1011は、画素部110と周辺回路120から構成される。周辺回路120は、垂直調停回路121、水平読み出し回路122を備える。
【0015】
図2(B)は、イベントベースセンサを構成する各画素部の構成例を示す図である。画素部110は、光電変換部111、画素カウンタ112、時間カウンタ113、第1の判定回路114、メモリ115、比較器116、第2の判定回路117、応答回路118、選択回路119を備える。光電変換部111は、ガイガーモードで動作するアバランシェフォトダイオード(SPAD)を備えており、光電変換部111に入射した光子の数を、画素カウンタ112でカウントするように構成される。時間カウンタ113では、光子が光電変換部111に入射した時間をカウントしている。SPADを用いてイベントベースセンサを構成することによって、光子1個レベルの輝度変化を検出することができる。光子1個レベルの輝度変化を検出することで、夜間などの暗視状態においても、アドレスイベント信号を取得することができる。
【0016】
画素カウンタ112でカウントした光子の数が第1の閾値に達すると、第1の判定回路114によって、時間カウンタ113での時間のカウントを止める。メモリ115には、過去の時間カウンタ113のカウント値が記憶されており、比較器116を用いて、現在の時間カウンタ113のカウント値と、過去の時間カウンタ113のカウント値の差分のカウント値を求める。
【0017】
第2の判定回路117は、差分のカウント値が第2の閾値以上の場合に、応答回路118を介して垂直調停回路121に、リクエスト信号を送る。応答回路118は、垂直調停回路121から、アドレスイベントデータの出力の許可または不許可を表す応答を受ける。差分のカウント値が第2の閾値未満の場合には、リクエスト信号を送付しない。
【0018】
応答回路118が出力の許可を表す応答を受けると、選択回路119により時間カウンタ回路113のカウント値が、水平出力回路122に出力される。水平出力回路122は、受け取ったカウント値を出力信号として光電変換素子1011から検知部201に出力する。
【0019】
比較器116によって算出された差分のカウント値は、光子の入射頻度の逆数に相当するため、本実施形態にかかる光電変換素子1011は、「光子の入射頻度の変化」、すなわち輝度の変化を計測する機能を有している。また、第2の判定回路117を用いて、入射した光子の数が第1の閾値に達した時間の間隔の差異が、第2の閾値以上の場合のみ、アドレスイベントを出力している。即ち、入射頻度の差異が第2の閾値以上の場合には入射頻度を出力し、差異が閾値未満の場合には入射頻度を出力しない、光電変換素子となっている。以上のような構成とすることで、画素アドレスごとに、輝度の変化をアドレスイベントとしてリアルタイムに検出する非同期型の光電変換素子が実現できる。
【0020】
<光電変換素子のバリエーション>
以上では、光電変換部にSPADを用い、光子が入射した時間を計測することで、光子の入射頻度の変化を検出する光電変換素子を使用する場合を示した。しかし、輝度の変化をアドレスイベントとしてリアルタイムに検出する非同期型の光電変換素子であれば、
図2の構成でなくてもよい。例えば、特許文献1に記載されているように、輝度の変化を電圧変化として検出する光電変換素子を使用してもよい。
【0021】
<撮像装置100の機能構成例:
図3>
図3は、撮像装置(情報処理装置)100が有する機能構成例を示すブロック図である。撮像装置100は、撮像光学系1010および光電変換素子1011から成る撮像部101、画像取得部301、制御部302、駆動部305、検出部303、演算部304を有する。
【0022】
撮像部101は、撮像光学系1010と光電変換素子1011とを有し、撮像光学系1010を透過した光は個体撮像素子103で結像して電気的な信号に変換され、画像取得部301によって画像信号として出力される。つまり、画像取得部301は、輝度の変化が発生した画素の位置と時刻とを示すアドレスイベント信号を取得する。撮像部101は特にレンズ筐体を指す。撮像光学系1010は、複数のレンズや保持部材から構成され、絞り、ズーム、フォーカス制御のための機械的な構造を有し、不図示の撮像光学系制御部にて制御される構成を有してもよい。光電変換素子1011は、被写体の輝度値変化を検出し、変化があった場合にのみ信号を出力する。画像取得部301は、光電変換素子1011で変換された電気信号に対して補正処理や現像処理を行い、一定時間の出力信号を積分してフレームデータに変換した画像信号を出力する。すなわち、画像取得部301は、輝度の変化が発生した画素の位置と時刻とを示すアドレスイベント信号に基づいて、所定の期間に輝度変化が生じた画素の位置を示す画像(所定の期間において輝度の変化が発生した画素を示すフレームデータ)を取得する。検出部303は、この画像信号により追尾対象を検出する。すなわち、検出部303は、輝度の変化が発生した画素の位置と時刻とを示すアドレスイベント信号に基づいて、撮影範囲に含まれる追尾対象を検出する。追尾対象は、動体と判断されたものとしてもよいし、動体と判断されたもののうちあらかじめ追尾対象として記憶されていた外形と合致するものとしてもよい。具体的には、人や車両等の自ら移動するような動体を追尾対象の被写体として検出するとよい。検出部303における検出方法については、後述する。演算部304は、検出部303で追尾対象が検出された場合に、その追尾対象の動きベクトル(速さ、移動方向を示す情報)を推定する。制御部302は、推定された追尾対象の動きベクトルに基づいて、撮像装置100の駆動方向を制御する駆動角度を決定する。なお、撮影範囲を変更するための制御値は演算部304によって決定されてもよい。動きベクトル及び駆動角度の算出方法については後述する。制御部302は、演算部304より受け取った駆動角度に基づいて駆動部306に制御信号を送信する。つまり、制御部302は、追尾対象の動きに基づいて、撮影範囲を変更させるための制御値を決定する。ここで、制御信号(制御値)は、撮像装置100の撮影範囲(画角)を変更するための制御パラメータであって、具体的には、駆動角度や速度の数値である。従って、以下の説明においては、撮像装置の撮影範囲(画角)を変更するために、駆動部の位置(移動量)や姿勢(駆動方向)を変更する制御について説明する。駆動部306は、制御部302から受け取った制御信号(制御値)に基づいて撮像装置100の撮影方向(撮影範囲)を変更可能な少なくとも一軸の駆動機構を有す。撮像装置の駆動機構は、例えば、地面に対して垂直方向である垂線を軸として、0~360度の所定の範囲で回転可能な機構である。駆動機構は、この例に限らず、PTZ機構を有していても良いし、撮像装置自体が移動可能であってもよい。
【0023】
<検出部303>
検出部303にてまず被写体の動きの有無を検出する方法について詳細に述べる。
【0024】
まず画素出力を検出すると、動き情報が第一のしきい値N1以上の連結数かどうかを比較し、第一のしきい値N1以上である場合にはノイズではないと判断し、特徴点データとの照合処理へと進む。ここで連結数とは、同一タイムスタンプ(任意の期間としても良い)における画素出力を有する画素が二次元平面において結合(隣接)している個数を指す。以上の方法によって、検出した動体を追尾対象とすることができる。
【0025】
また、検出された動体のうち、あらかじめ追尾対象の特徴(例えば、外形)と合致するものとしてもよい。この場合、撮像装置100は追尾対象の特徴をあらかじめ格納する不図時の記憶部を有す。動体が検出された画像取得部301で取得した画像信号の輝度値変化に対して、既存のエッジ解析処理などによって画像信号から被写体の外形を示す特徴を抽出し、機械学習などの画像認識処理によって、記憶部に格納された追尾対象と比較し、類似度が閾値以上であるものを、追尾対象として認識する。解析の際に使用する画像は、画像取得部301にてフレームデータに変換された積分画像である。
【0026】
<駆動方法>
図4は実施形態1における撮像装置の駆動部306の駆動角度の決定方法を示す模式図を示す。イベントベースセンサを用いた撮像装置は、被写体の動きによる輝度変化を取得して出力するため、追尾のために被写体と同じ動きで撮像装置を駆動させると、撮像装置と追尾対象との動きの差がなくなり、輝度変化が生じなくなり追尾対象を取得できない。したがって、実施形態1では、
図4を参照して、追尾対象に対して駆動部306の駆動速度、または駆動角度の少なくともどちらか一方が異なるように追尾する方法について述べる。
【0027】
図4は、撮像装置100が点Pを中心に撮影した撮影画像200を示しており、撮像画像200に対して、点Oを原点としてx軸、y軸を定義する。つまり、xyの2次元で撮像装置100の撮影範囲を示す。ここで撮影画像200のx軸方向の画素数をX、y軸方向の画素数をYとする。点αと点βは、それぞれ時間tα、tβ(tα<tβ)において検出部303で検出された追尾対象201の特徴点の一つを表している。点α及び点βは、画素数を用いてそれぞれ点α(xα、yα)、点β(xβ、yβ)とで表せる。すなわち
図4は、撮像装置100が点Pを中心に撮影した、追尾対象201が時間tβ―tα間に点αから点βに移動した様子を示している。
【0028】
<駆動方法のバリエーション:追尾対象と同じ方向、異なる速度で追尾する>
まず、追尾対象201の移動速度と異なる駆動速度で駆動部306を駆動させ、輝度変化を生じさせて追尾精度を向上させる方法について説明する。撮像装置100がx軸方向の画角θX、y軸方向の画角θYで撮影しているとすると、画素数X、Yを用いて、1画素あたりの角度はそれぞれθX/X、θY/Y、となる。ここで、追尾対象201の動きベクトル
【0029】
【0030】
は、式(1)で表せる。
【0031】
【0032】
1画素あたりの角度はθX/X、θY/Yなので、式(1)を角度φx、φyに変換すると、式(2)のように表せる。
【0033】
【0034】
駆動部306は
【0035】
【0036】
と異なる速度で追尾するために、tβ―tα間に式(3)に示すAx、Ay(Ax=Ay≠0かつAx=Ay≠1)を用いて表せる駆動角度θx、θyで駆動させればよい。
【0037】
【0038】
<駆動方法のバリエーション:追尾対象と異なる方向に駆動させて追尾する〔1〕>
制御部302は、撮影装置100が追尾対象201の進行方向とは異なる方向で追尾するように駆動角度(制御値)を決定してもよい。追尾対象201と追尾速度は異なるものの進行方向は同じである前述の方法よりも、駆動部306と追尾対象201の動きが異なるため、より輝度変化が生じ、追尾精度を向上させることが可能になる。式(3)において、Ax≠Ayとすることで、追尾対象201の進行方向とは異なる方向に駆動させて追尾することができる。
【0039】
<駆動方法のバリエーション:追尾対象と異なる方向に駆動させて追尾する〔2〕>
制御部302は、追尾対象の移動方向と異なる方向に撮影範囲を変更するように制御値を決定してもよい。前述の式(3)においてAx≠Ayとする処理方法では、追尾対象201がx軸に対して平行、あるいはy軸に対して平行に移動する場合、進行方向を変更して追尾することができない。そこで、tβ―tα間に式(4)に示す角度Bx、By(Bx≠0、By≠0)を用いて表せる駆動角度θ’x、θ’yで駆動させればよい。
【0040】
【0041】
<駆動方法のバリエーション:変数の決定方法>
制御部302は、駆動部306を動かす量(制御値)を、追尾対象の速度の大きさ(速さ)に応じて決定してもよい。追尾対象201の速度が速い場合、駆動部306の駆動角度の差が小さいと相対的に輝度変化が小さくなってしまうため、追跡精度を向上させるためには、駆動角度を大きくするすなわち|Log(A)|を1より大きくすることが好ましい。また、追尾対象201の速度が遅い場合、駆動角度を大きいままにすると、追尾対象201との距離が離れやすくなり、追尾対象201を見失う頻度が高くなるため、これを軽減するために駆動角度を大きくするすなわち|Log(A)|を1に近づけることが好ましい。Ax及びAyは、撮像装置100があらかじめ追尾対象201の速度と駆動角度の関係を表すテーブルを有し、その中から選択してもよいし、追尾対象201の速度の比から算出してもよい。Bx、Byについても同様に決定できる。
【0042】
<駆動方法のバリエーション:一軸のみ動かす>
制御部302は、複数の制御方向のうち選択した制御方向についての制御値を決定してもよい。つまり、制御部302は、追尾対象の動きに基づいて、特定の方向に撮影範囲を変更するように制御値を決定する。前述の方法では主に、複数の駆動軸を有する駆動部306が複数の駆動軸を同時に駆動させる場合について説明しているが、演算部304が1軸を選択して駆動させてもよい。この場合、輝度変化を大きくするために、駆動させる軸は、動きが小さい方向を選択することが望ましい。例えば
図4のように、追尾対象201がx軸に平行に移動している場合、y軸方向には動きがないため輝度変化が生じにくい。この場合は、y軸方向を選択して駆動部306を駆動させる。すなわち、xβ-xα<yβ-yαの場合はx軸を駆動することを選択し、xβ-xα>yβ-yαの場合はy軸を駆動することを選択する。xβ-xα=yβ-yαの場合は、どちらの軸を選択しても構わないが、追尾対象201を見失頻度の低い、画角が広い方(
図4ではx軸)を選択して駆動するのが好ましい。またこの際の駆動角度は任意であるが、追尾対象201を見失う頻度を小さくするために、画角の広いx軸方向を選択する場合よりも画角の狭いy軸を選択した時のほうが駆動角度を小さくすることが望ましい。
【0043】
<追尾対象をフレームアウトさせない方法>
制御部302は、前記追尾対象の動きに基づいて、前記追尾対象が現在の撮影範囲において所定の範囲より外側に移動する場合に、追尾対象が映るように撮影範囲に変更するよう制御値を決定する。実施形態1において、撮像装置100は追尾対象とは異なる速度で駆動するため、一定時間後には追尾対象が撮像装置100の画角外に出てしまい、追尾ができなくなる。そこで、撮像装置100で取得できる画角よりも内側に閾値を設け、式(1)で表せる追尾対象201の進行方向側の、画角端の閾値を追尾対象201の特徴点が超えた場合、追尾対象201の進行方向逆側の画角端にその特徴点が写るように撮影方向を変更することが望ましい。
図4(b)を用いて説明する。簡単のために、追尾対象201はx軸に平行に移動していることとする。
【0044】
撮影画像200において、破線210を画角端を定義する閾値とする。閾値210は画素数で定義することができ、
図4(b)ではCx、Cyとする。撮影画像211は、フレームアウトしないように撮像装置100を駆動方向212の方向に駆動させた後の撮影画像を示している。駆動後の閾値を追尾対象201の特徴点の一つを示す点γの座標を(xγ、yγ)とし、xγ>X-Cxとなるように追尾対象201が移動した場合、駆動部306の駆動角度θ’’xは式(5)と表せる。
【0045】
【0046】
xγ<Cxとなるように追尾対象201が移動した場合は、式(6)のように駆動させればよい。
【0047】
【0048】
追尾対象201の速度が速い場合は、見失いにくくするために閾値をより大きくすることが好ましい。
【0049】
<追尾対象の動きを予測して追尾する>
制御部302は、追尾対象の動きに基づいて、次のフレーム画像において追尾対象が映るように制御値を決定する。駆動角度を決定し、駆動部306を駆動する間に、2(tβ-tα)の時間がかかり、追尾対象201は駆動角度決定後より移動するため、追尾対象201の動きを予測して駆動部306の駆動角度を決定することが望ましい。追尾対象201の移動量が2倍になると考えればよいため、上記(3)、(4)のφx、φyに、それぞれ2φx、2φyを代入するとよい。すなわち、下記式(7)、(8)で表される。
【0050】
【0051】
<フローチャート>
図5には実施形態1を実現するフローチャートの一例を示す。
図5のフローチャートに示した処理は、コンピュータである
図1のCPU101によりメモリ103に格納されているコンピュータプログラムに従って実行される。以下の説明では、各工程(ステップ)について先頭にSを付けて表記することで、工程(ステップ)の表記を省略する。
【0052】
まず、S501では、検出部303が、画像取得部301で取得した画像から追尾対象を検出する追尾対象が検出されるまで(S501)を繰り返し、追尾対象が検出された場合は、(S502)に移る。
【0053】
S502では、追尾対象が検出された場合は、演算部304が追尾対象の動きベクトルを推定する。演算部304は、今までの追尾対象の位置の履歴から追尾対象の動きを推定する。
【0054】
S503では、制御部302が、推定された動きベクトルから駆動部306の制御値を決定する。制御値を決定方法は、上述した方法を用いる。
【0055】
S504では、制御部302が、決定した制御値を、駆動部306に駆動信号として送信し、駆動部306は制御信号に応じて駆動する。
【0056】
S505では、検出部303が、駆動部306駆動後に追尾対象の画角内の位置を確認する。動きベクトル方向の画角端に追尾対象がないと判断された場合は、(S501)に戻る。動きベクトル方向の画角端に追尾対象があると判断された場合は、(S506)に移る。
【0057】
S506では、動きベクトル方向の画角端に追尾対象があると判断された場合、制御部302が動きベクトルと反対方向の画角端に被写体が写るように駆動角度を決定する。この駆動角度を制御部302に送信し、制御部302はその駆動角度に基づいて駆動部306を駆動させる。その後、(S506)に戻り、以下同様に繰り返す。
【0058】
以上によって追尾対象とは異なる速度で駆動部306を駆動させて追尾することができるため、追尾精度が精度を向上させることができる。すなわち、イベントベースセンサを用いた撮像装置において追尾の精度を向上させることができる。
【0059】
<実施形態2>
実施形態1では、速度の大きさまたは向きの少なくとも一方が異なるように追尾する方法を述べたが、実施形態2では駆動部を常時ゆすりながら追尾する方法について説明する。ゆするとは、実施形態1よりも駆動部306の駆動頻度を上げることを示す。つまり、制御部302は、追尾対象の進行方向に対して、撮影範囲を所定の振幅で変更するような制御値を決定する。特に、1枚の画像を作るよりも大きい頻度で駆動することを指す。ゆすることで実施形態1の方法よりも、輝度変化を頻度高く起こすことが可能であるため、追尾対象の追尾精度がより向上することが期待できる。
【0060】
図6は、本発明の実施形態2における追尾方法を示す模式図である。簡単のため追尾対象201がx軸に対して平行に移動する場合を用いて説明する。追尾対象201の動きベクトル
【0061】
【0062】
を算出するまでは
図4と同様だが、
図6(a)の波線400は、駆動部306を
【0063】
【0064】
に対して、周期的にゆすりながら駆動させることを示している。
図6(b)(c)はそれぞれ、駆動部306をゆする方向を示している。
まず、
図6(b)に示すように、駆動部306を追尾対象201の進行方向に対して
前後にゆすりながら追尾する方法がある。追尾対象201の動きベクトル
【0065】
【0066】
に対してD(D≠0)と時間tを用いて式(9)及び式(10)をtβ―tα間で繰り返す。
【0067】
【0068】
動きの差を大きくし、輝度変化を大きく生じさせるために、進行方向に駆動させる式(9)におけるDは式(10)に比べて大きくすることが好ましい。
【0069】
次に
図6(c)に示すように、駆動部306を追尾対象201の進行方向に対して垂直方向にゆすりながら追尾する方法がある。追尾対象201の動きのない方向に対してゆすりながら追尾するため、輝度変化が大きく表れ、追尾精度を向上させることができる。駆動部306の駆動角度は、振幅E1、変数E2を用いて、式(11)で表せる。
【0070】
【0071】
振幅E1は
図6(b)に示した閾値を超えないように設定されることが望ましい。また、変数E2はなるべく大きいほうが好ましく、具体的には1/(tβ―tα)の2倍以上に設定されることが望ましい。平行がx方向でない場合も同様となる。
【0072】
図7には実施形態2を実現するフローチャートの一例を示す。
図7のフローチャートに示した処理は、コンピュータである
図1のCPU101によりメモリ103に格納されているコンピュータプログラムに従って実行される。以下の説明では、各工程(ステップ)について先頭にSを付けて表記することで、工程(ステップ)の表記を省略する。実施形態1と異なり、フレームアウトの恐れがないため、フローは(S701)から(S704)に移動し、繰り返すことで実行できる。S701は、S501と同様に、検出部303は、画像取得部301で取得した画像から追尾対象を検出する追尾対象が検出されるまで(S701)を繰り返し、追尾対象が検出された場合は、(S702)に移る。S702では、S502と同様に、追尾対象が検出された場合は、演算部304が追尾対象の動きベクトルを推定する。S703では、制御部302は、推定された動きベクトルから駆動部306の制御値を決定する。ここで、制御値は撮影範囲を所定の振幅で一定時間ゆするように決定する。S704では、S504と同様に、制御部302は、決定した制御値を、駆動部306に駆動信号として送信し、駆動部306は制御信号に応じて駆動する。以上、駆動部306をゆすりながら追尾することによって、追尾精度を向上することが可能になる。
【0073】
<実施形態3>
実施形態3では、追尾対象201を見失ってしまった場合の解決方法について述べる。
【0074】
追尾対象201がフレームアウトしてしまった場合、追尾対象201はこれまでの進行方向上に存在する可能性が高いため、方向を予測して駆動部306を制御することが望ましい。例えば、駆動部306が追尾対象201よりも遅い速度で駆動していた場合は進行方向に対して追尾対象201よりも速い速度で駆動部306を駆動させる。駆動部306が追尾対象201よりも速い速度で駆動していた場合は、進行方向に対して速度を下げて駆動するか、進行方向逆側に駆動させるとよい。この方法によって、追尾対象201がフレームアウトしてしまった場合でも、すぐに追尾対象を補足することができ、追尾精度を向上できる。
【0075】
追尾対象201が停止した場合、輝度変化が生じなくなり追尾対象を見失ってしまう。検出部303で追尾対象が停止したことを検出した場合、駆動部306をゆするように制御することが望ましい。
【0076】
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、データ通信用のネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。また、そのプログラムをコンピュータが読み取り可能な記録媒体に記録して提供してもよい。
【符号の説明】
【0077】
100 撮像装置
101 撮像部
1010 撮像光学系
1011 光電変換素子
301 画像取得部
302 制御部
306 駆動部
303 検出部
304 演算部