以下、本開示の実施形態について、図面に基づいて詳細に説明する。なお、以下の実施形態において、同一の部位には同一の符号を付することにより、重複する説明を省略する。
以下、本開示の実施形態について、下記の順序に従って説明する。
1.本開示の各実施形態に係る構成例
2.本開示に適用可能な既存技術の例
2−1.ローリングシャッタの概要
2−2.グローバルシャッタの概要
2−3.DNN(Deep Neural Network)について
2−3−1.CNN(Convolutional Neural Network)の概要
2−3−2.RNN(Recurrent Neural Network)の概要
2−4.駆動速度について
3.本開示の概要
4.第1の実施形態
4−1.認識処理部による動作例
4−2.認識処理部による動作の具体例
4−3.第1の実施形態の応用例
5.第2の実施形態
5−0−1.第2の実施形態に係る構成例
5−0−2.第2の実施形態に係る認識処理部における処理の例
5−0−3.第2の実施形態に係る認識処理の詳細
5−0−4.第2の実施形態に係る読み出しおよび認識処理の制御例
5−1.第2の実施形態の第1の変形例
5−2.第2の実施形態の第2の変形例
5−3.第2の実施形態の第3の変形例
5−4.第2の実施形態の第4の変形例
5−5.第2の実施形態の第5の変形例
5−6.第2の実施形態の第6の変形例
5−7.第2の実施形態の第7の変形例
5−8.第2の実施形態の第8の変形例
5−9.第2の実施形態の第9の変形例
5−10.第2の実施形態の第10の変形例
6.第3の実施形態
6−0−1.読出単位パターン、読出順パターンの決定方法
6−0−1−1.読出単位パターン、読出順パターンの例
6−0−1−2.読出単位パターンの優先度設定方法の具体例
6−0−1−3.読出順パターンの優先度設定方法の具体例
6−1.第3の実施形態の第1の変形例
6−2.第3の実施形態の第2の変形例
6−3.第3の実施形態の第3の変形例
7.第4の実施形態
7−1.第4の実施形態の第1の変形例
7−2.第4の実施形態の第2の変形例
7−3.第4の実施形態の第3の変形例
8.第5の実施形態
[1.本開示の各実施形態に係る構成例]
本開示に係る撮像装置の構成について、概略的に説明する。図1は、本開示の各実施形態に適用可能な撮像装置の一例の構成を示すブロック図である。図1において、撮像装置1は、センサ部10と、センサ制御部11と、認識処理部12と、メモリ13と、視認処理部14と、出力制御部15と、を含み、これら各部がCMOS(Complementary Metal Oxide Semiconductor)を用いて一体的に形成されたCMOSイメージセンサ(CIS)である。なお、撮像装置1は、この例に限らず、赤外光による撮像を行う赤外光センサなど、他の種類の光センサであってもよい。
センサ部10は、光学部30を介して受光面に照射された光に応じた画素信号を出力する。より具体的には、センサ部10は、少なくとも1つの光電変換素子を含む画素が行列状に配列される画素アレイを有する。画素アレイに行列状に配列される各画素により受光面が形成される。センサ部10は、さらに、画素アレイに含まれる各画素を駆動するための駆動回路と、各画素から読み出された信号に対して所定の信号処理を施して各画素の画素信号として出力する信号処理回路と、を含む。センサ部10は、画素領域に含まれる各画素の画素信号を、デジタル形式の画像データとして出力する。
以下、センサ部10が有する画素アレイにおいて、画素信号を生成するために有効な画素が配置される領域を、フレームと呼ぶ。フレームに含まれる各画素から出力された各画素信号に基づく画素データにより、フレーム画像データが形成される。また、センサ部10の画素の配列における各行をそれぞれラインと呼び、ラインに含まれる各画素から出力された画素信号に基づく画素データにより、ライン画像データが形成される。さらに、センサ部10が受光面に照射された光に応じた画素信号を出力する動作を、撮像と呼ぶ。センサ部10は、後述するセンサ制御部11から供給される撮像制御信号に従い、撮像の際の露出や、画素信号に対するゲイン(アナログゲイン)を制御される。
センサ制御部11は、例えばマイクロプロセッサにより構成され、センサ部10からの画素データの読み出しを制御し、フレームに含まれる各画素から読み出された各画素信号に基づく画素データを出力する。センサ制御部11から出力された画素データは、認識処理部12および視認処理部14に渡される。
また、センサ制御部11は、センサ部10における撮像を制御するための撮像制御信号を生成する。センサ制御部11は、例えば、後述する認識処理部12および視認処理部14からの指示に従い、撮像制御信号を生成する。撮像制御信号は、上述した、センサ部10における撮像の際の露出やアナログゲインを示す情報を含む。撮像制御信号は、さらに、センサ部10が撮像動作を行うために用いる制御信号(垂直同期信号、水平同期信号、など)を含む。センサ制御部11は、生成した撮像制御信号をセンサ部10に供給する。
光学部30は、被写体からの光をセンサ部10の受光面に照射させるためのもので、例えばセンサ部10に対応する位置に配置される。光学部30は、例えば複数のレンズと、入射光に対する開口部の大きさを調整するための絞り機構と、受光面に照射される光の焦点を調整するためのフォーカス機構と、を含む。光学部30は、受光面に光が照射される時間を調整するシャッタ機構(メカニカルシャッタ)をさらに含んでもよい。光学部30が有する絞り機構やフォーカス機構、シャッタ機構は、例えばセンサ制御部11により制御するようにできる。これに限らず、光学部30における絞りやフォーカスは、撮像装置1の外部から制御するようにもできる。また、光学部30を撮像装置1と一体的に構成することも可能である。
認識処理部12は、センサ制御部11から渡された画素データに基づき、画素データによる画像に含まれるオブジェクトの認識処理を行う。本開示においては、例えば、DSP(Digital Signal Processor)が、教師データにより予め学習されメモリ13に学習モデルとして記憶されるプログラムを読み出して実行することで、DNN(Deep Neural Network)を用いた認識処理を行う、機械学習部としての認識処理部12が構成される。認識処理部12は、認識処理に必要な画素データをセンサ部10から読み出すように、センサ制御部11に対して指示することができる。認識処理部12による認識結果は、出力制御部15に渡される。
視認処理部14は、センサ制御部11から渡された画素データに対して、人が視認するために適した画像を得るための処理を実行し、例えば一纏まりの画素データからなる画像データを出力する。例えば、ISP(Image Signal Processor)が図示されないメモリに予め記憶されるプログラムを読み出して実行することで、当該視認処理部14が構成される。
例えば、視認処理部14は、センサ部10に含まれる各画素にカラーフィルタが設けられ、画素データがR(赤色)、G(緑色)、B(青色)の各色情報を持っている場合、デモザイク処理、ホワイトバランス処理などを実行することができる。また、視認処理部14は、視認処理に必要な画素データをセンサ部10から読み出すように、センサ制御部11に対して指示することができる。視認処理部14により画素データが画像処理された画像データは、出力制御部15に渡される。
出力制御部15は、例えばマイクロプロセッサにより構成され、認識処理部12から渡された認識結果と、視認処理部14から視認処理結果として渡された画像データと、のうち一方または両方を、撮像装置1の外部に出力する。出力制御部15は、画像データを、例えば表示デバイスを有する表示部31に出力することができる。これにより、ユーザは、表示部31により表示された画像データを視認することができる。なお、表示部31は、撮像装置1に内蔵されるものでもよいし、撮像装置1の外部の構成であってもよい。
図2Aおよび図2Bは、各実施形態に係る撮像装置1のハードウェア構成の例を示す模式図である。図2Aは、1つのチップ2に対して、図1に示した構成のうちセンサ部10、センサ制御部11、認識処理部12、メモリ13、視認処理部14および出力制御部15が搭載される例である。なお、図2Aにおいて、メモリ13および出力制御部15は、煩雑さを避けるため省略されている。
図2Aに示す構成では、認識処理部12による認識結果は、図示されない出力制御部15を介してチップ2の外部に出力される。また、図2Aの構成においては、認識処理部12は、認識に用いるための画素データを、センサ制御部11から、チップ2の内部のインタフェースを介して取得できる。
図2Bは、1つのチップ2に対して、図1に示した構成のうちセンサ部10、センサ制御部11、視認処理部14および出力制御部15が搭載され、認識処理部12およびメモリ13(図示しない)がチップ2の外部に置かれた例である。図2Bにおいても、上述した図2Aと同様に、メモリ13および出力制御部15は、煩雑さを避けるため省略されている。
この図2Bの構成においては、認識処理部12は、認識に用いるための画素データを、チップ間の通信を行うためのインタフェースを介して取得することになる。また、図2Bでは、認識処理部12による認識結果が、認識処理部12から直接的に外部に出力されるように示されているが、これはこの例に限定されない。すなわち、図2Bの構成において、認識処理部12は、認識結果をチップ2に戻し、チップ2に搭載される不図示の出力制御部15から出力させるようにしてもよい。
図2Aに示す構成は、認識処理部12がセンサ制御部11と共にチップ2に搭載され、認識処理部12とセンサ制御部11との間の通信を、チップ2の内部のインタフェースにより高速に実行できる。その一方で、図2Aに示す構成では認識処理部12の差し替えができず、認識処理の変更が難しい。これに対して、図2Bに示す構成は、認識処理部12がチップ2の外部に設けられるため、認識処理部12とセンサ制御部11との間の通信を、チップ間のインタフェースを介して行う必要がある。そのため、認識処理部12とセンサ制御部11との間の通信は、図2Aの構成と比較して低速となり、制御に遅延が発生する可能性がある。その一方で、認識処理部12の差し替えが容易であり、多様な認識処理の実現が可能である。
以下、特に記載の無い限り、撮像装置1は、図2Aの、1つのチップ2にセンサ部10、センサ制御部11、認識処理部12、メモリ13、視認処理部14および出力制御部15が搭載される構成を採用するものとする。
上述した図2Aに示す構成において、撮像装置1は、1つの基板上に形成することができる。これに限らず、撮像装置1を、複数の半導体チップが積層され一体的に形成された積層型CISとしてもよい。
一例として、撮像装置1を半導体チップを2層に積層した2層構造により形成することができる。図3Aは、各実施形態に係る撮像装置1を2層構造の積層型CISにより形成した例を示す図である。図3Aの構造では、第1層の半導体チップに画素部20aを形成し、第2層の半導体チップにメモリ+ロジック部20bを形成している。画素部20aは、少なくともセンサ部10における画素アレイを含む。メモリ+ロジック部20bは、例えば、センサ制御部11、認識処理部12、メモリ13、視認処理部14および出力制御部15と、撮像装置1と外部との通信を行うためのインタフェースと、を含む。メモリ+ロジック部20bは、さらに、センサ部10における画素アレイを駆動する駆動回路の一部または全部を含む。また、図示は省略するが、メモリ+ロジック部20bは、例えば視認処理部14が画像データの処理のために用いるメモリをさらに含むことができる。
図3Aの右側に示されるように、第1層の半導体チップと、第2層の半導体チップとを電気的に接触させつつ貼り合わせることで、撮像装置1を1つの固体撮像素子として構成する。
別の例として、撮像装置1を、半導体チップを3層に積層した3層構造により形成することができる。図3Bは、各実施形態に係る撮像装置1を3層構造の積層型CISにより形成した例を示す図である。図3Bの構造では、第1層の半導体チップに画素部20aを形成し、第2層の半導体チップにメモリ部20cを形成し、第3層の半導体チップにロジック部20b’を形成している。この場合、ロジック部20b’は、例えば、センサ制御部11、認識処理部12、視認処理部14および出力制御部15と、撮像装置1と外部との通信を行うためのインタフェースと、を含む。また、メモリ部20cは、メモリ13と、例えば視認処理部14が画像データの処理のために用いるメモリを含むことができる。メモリ13は、ロジック部20b’に含めてもよい。
図3Bの右側に示されるように、第1層の半導体チップと、第2層の半導体チップと、第3層の半導体チップとを電気的に接触させつつ貼り合わせることで、撮像装置1を1つの固体撮像素子として構成する。
図4は、各実施形態に適用可能なセンサ部10の一例の構成を示すブロック図である。図4において、センサ部10は、画素アレイ部101と、垂直走査部102と、AD(Analog to Digital)変換部103と、画素信号線106と、垂直信号線VSLと、制御部1100と、信号処理部1101と、を含む。なお、図4において、制御部1100および信号処理部1101は、例えば図1に示したセンサ制御部11に含まれるものとすることもできる。
画素アレイ部101は、それぞれ受光した光に対して光電変換を行う、例えばフォトダイオードによる光電変換素子と、光電変換素子から電荷の読み出しを行う回路と、を含む複数の画素回路100を含む。画素アレイ部101において、複数の画素回路100は、水平方向(行方向)および垂直方向(列方向)に行列状の配列で配置される。画素アレイ部101において、画素回路100の行方向の並びをラインと呼ぶ。例えば、1920画素×1080ラインで1フレームの画像が形成される場合、画素アレイ部101は、少なくとも1920個の画素回路100が含まれるラインを、少なくとも1080ライン、含む。フレームに含まれる画素回路100から読み出された画素信号により、1フレームの画像(画像データ)が形成される。
以下、センサ部10においてフレームに含まれる各画素回路100から画素信号を読み出す動作を、適宜、フレームから画素を読み出す、などのように記述する。また、フレームに含まれるラインが有する各画素回路100から画素信号を読み出す動作を、適宜、ラインを読み出す、などのように記述する。
また、画素アレイ部101には、各画素回路100の行および列に対し、行毎に画素信号線106が接続され、列毎に垂直信号線VSLが接続される。画素信号線106の画素アレイ部101と接続されない端部は、垂直走査部102に接続される。垂直走査部102は、後述する制御部1100の制御に従い、画素から画素信号を読み出す際の駆動パルスなどの制御信号を、画素信号線106を介して画素アレイ部101へ伝送する。垂直信号線VSLの画素アレイ部101と接続されない端部は、AD変換部103に接続される。画素から読み出された画素信号は、垂直信号線VSLを介してAD変換部103に伝送される。
画素回路100からの画素信号の読み出し制御について、概略的に説明する。画素回路100からの画素信号の読み出しは、露出により光電変換素子に蓄積された電荷を浮遊拡散層(FD;Floating Diffusion)に転送し、浮遊拡散層において転送された電荷を電圧に変換することで行う。浮遊拡散層において電荷が変換された電圧は、アンプを介して垂直信号線VSLに出力される。
より具体的には、画素回路100において、露出中は、光電変換素子と浮遊拡散層との間をオフ(開)状態として、光電変換素子において、光電変換により入射された光に応じて生成された電荷を蓄積させる。露出終了後、画素信号線106を介して供給される選択信号に応じて浮遊拡散層と垂直信号線VSLとを接続する。さらに、画素信号線106を介して供給されるリセットパルスに応じて浮遊拡散層を電源電圧VDDまたは黒レベル電圧の供給線と短期間において接続し、浮遊拡散層をリセットする。垂直信号線VSLには、浮遊拡散層のリセットレベルの電圧(電圧Aとする)が出力される。その後、画素信号線106を介して供給される転送パルスにより光電変換素子と浮遊拡散層との間をオン(閉)状態として、光電変換素子に蓄積された電荷を浮遊拡散層に転送する。垂直信号線VSLに対して、浮遊拡散層の電荷量に応じた電圧(電圧Bとする)が出力される。
AD変換部103は、垂直信号線VSL毎に設けられたAD変換器107と、参照信号生成部104と、水平走査部105と、を含む。AD変換器107は、画素アレイ部101の各列(カラム)に対してAD変換処理を行うカラムAD変換器である。AD変換器107は、垂直信号線VSLを介して画素回路100から供給された画素信号に対してAD変換処理を施し、ノイズ低減を行う相関二重サンプリング(CDS:Correlated Double Sampling)処理のための2つのディジタル値(電圧Aおよび電圧Bにそれぞれ対応する値)を生成する。
AD変換器107は、生成した2つのディジタル値を信号処理部1101に供給する。信号処理部1101は、AD変換器107から供給される2つのディジタル値に基づきCDS処理を行い、ディジタル信号による画素信号(画素データ)を生成する。信号処理部1101により生成された画素データは、センサ部10の外部に出力される。
参照信号生成部104は、制御部1100から入力される制御信号に基づき、各AD変換器107が画素信号を2つのディジタル値に変換するために用いるランプ信号を参照信号として生成する。ランプ信号は、レベル(電圧値)が時間に対して一定の傾きで低下する信号、または、レベルが階段状に低下する信号である。参照信号生成部104は、生成したランプ信号を、各AD変換器107に供給する。参照信号生成部104は、例えばDAC(Digital to Analog Converter)などを用いて構成される。
参照信号生成部104から、所定の傾斜に従い階段状に電圧が降下するランプ信号が供給されると、カウンタによりクロック信号に従いカウントが開始される。コンパレータは、垂直信号線VSLから供給される画素信号の電圧と、ランプ信号の電圧とを比較して、ランプ信号の電圧が画素信号の電圧を跨いだタイミングでカウンタによるカウントを停止させる。AD変換器107は、カウントが停止された時間のカウント値に応じた値を出力することで、アナログ信号による画素信号を、デジタル値に変換する。
AD変換器107は、生成した2つのディジタル値を信号処理部1101に供給する。信号処理部1101は、AD変換器107から供給される2つのディジタル値に基づきCDS処理を行い、ディジタル信号による画素信号(画素データ)を生成する。信号処理部1101により生成されたディジタル信号による画素信号は、センサ部10の外部に出力される。
水平走査部105は、制御部1100の制御の下、各AD変換器107を所定の順番で選択する選択走査を行うことによって、各AD変換器107が一時的に保持している各ディジタル値を信号処理部1101へ順次出力させる。水平走査部105は、例えばシフトレジスタやアドレスデコーダなどを用いて構成される。
制御部1100は、センサ制御部11から供給される撮像制御信号に従い、垂直走査部102、AD変換部103、参照信号生成部104および水平走査部105などの駆動制御を行う。制御部1100は、垂直走査部102、AD変換部103、参照信号生成部104および水平走査部105の動作の基準となる各種の駆動信号を生成する。制御部1100は、例えば、撮像制御信号に含まれる垂直同期信号または外部トリガ信号と、水平同期信号とに基づき、垂直走査部102が画素信号線106を介して各画素回路100に供給するための制御信号を生成する。制御部1100は、生成した制御信号を垂直走査部102に供給する。
また、制御部1100は、例えば、センサ制御部11から供給される撮像制御信号に含まれる、アナログゲインを示す情報をAD変換部103に渡す。AD変換部103は、このアナログゲインを示す情報に応じて、AD変換部103に含まれる各AD変換器107に垂直信号線VSLを介して入力される画素信号のゲインを制御する。
垂直走査部102は、制御部1100から供給される制御信号に基づき、画素アレイ部101の選択された画素行の画素信号線106に駆動パルスを含む各種信号を、ライン毎に各画素回路100に供給し、各画素回路100から、画素信号を垂直信号線VSLに出力させる。垂直走査部102は、例えばシフトレジスタやアドレスデコーダなどを用いて構成される。また、垂直走査部102は、制御部1100から供給される露出を示す情報に応じて、各画素回路100における露出を制御する。
このように構成されたセンサ部10は、AD変換器107が列毎に配置されたカラムAD方式のCMOS(Complementary Metal Oxide Semiconductor)イメージセンサである。
[2.本開示に適用可能な既存技術の例]
本開示に係る各実施形態の説明に先んじて、理解を容易とするために、本開示に適用可能な既存技術について、概略的に説明する。
(2−1.ローリングシャッタの概要)
画素アレイ部101による撮像を行う際の撮像方式として、ローリングシャッタ(RS)方式と、グローバルシャッタ(GS)方式とが知られている。まず、ローリングシャッタ方式について、概略的に説明する。図5A、図5Bおよび図5Cは、ローリングシャッタ方式を説明するための模式図である。ローリングシャッタ方式では、図5Aに示されるように、フレーム200の例えば上端のライン201からライン単位で順に撮像を行う。
なお、上述では、「撮像」を、センサ部10が受光面に照射された光に応じた画素信号を出力する動作を指す、と説明した。より詳細には、「撮像」は、画素において露出を行い、画素に含まれる光電変換素子に露出により蓄積された電荷に基づく画素信号をセンサ制御部11に転送するまでの一連の動作を指すものとする。また、フレームは、上述したように、画素アレイ部101において、画素信号を生成するために有効な画素回路100が配置される領域を指す。
例えば、図4の構成において、1つのラインに含まれる各画素回路100において露出を同時に実行する。露出の終了後、露出により蓄積された電荷に基づく画素信号を、当該ラインに含まれる各画素回路100において一斉に、各画素回路100に対応する各垂直信号線VSLを介してそれぞれ転送する。この動作をライン単位で順次に実行することで、ローリングシャッタによる撮像を実現することができる。
図5Bは、ローリングシャッタ方式における撮像と時間との関係の例を模式的に示している。図5Bにおいて、縦軸はライン位置、横軸は時間を示す。ローリングシャッタ方式では、各ラインにおける露出がライン順次で行われるため、図5Bに示すように、各ラインにおける露出のタイミングがラインの位置に従い順にずれることになる。したがって、例えば撮像装置1と被写体との水平方向の位置関係が高速に変化する場合、図5Cに例示されるように、撮像されたフレーム200の画像に歪みが生じる。図5Cの例では、フレーム200に対応する画像202が、撮像装置1と被写体との水平方向の位置関係の変化の速度および変化の方向に応じた角度で傾いた画像となっている。
ローリングシャッタ方式において、ラインを間引きして撮像することも可能である。図6A、図6Bおよび図6Cは、ローリングシャッタ方式におけるライン間引きを説明するための模式図である。図6Aに示されるように、上述した図5Aの例と同様に、フレーム200の上端のライン201からフレーム200の下端に向けてライン単位で撮像を行う。このとき、所定数毎にラインを読み飛ばしながら撮像を行う。
ここでは、説明のため、1ライン間引きにより1ラインおきに撮像を行うものとする。すなわち、第nラインの撮像の次は第(n+2)ラインの撮像を行う。このとき、第nラインの撮像から第(n+2)ラインの撮像までの時間が、間引きを行わない場合の、第nラインの撮像から第(n+1)ラインの撮像までの時間と等しいものとする。
図6Bは、ローリングシャッタ方式において1ライン間引きを行った場合の撮像と時間との関係の例を模式的に示している。図6Bにおいて、縦軸はライン位置、横軸は時間を示す。図6Bにおいて、露出Aは、間引きを行わない図5Bの露出と対応し、露出Bは、1ライン間引きを行った場合の露出を示している。露出Bに示すように、ライン間引きを行うことにより、ライン間引きを行わない場合に比べ、同じライン位置での露出のタイミングのズレを短縮することができる。したがって、図6Cに画像203として例示されるように、撮像されたフレーム200の画像に生ずる傾き方向の歪が、図5Cに示したライン間引きを行わない場合に比べ小さくなる。一方で、ライン間引きを行う場合には、ライン間引きを行わない場合に比べ、画像の解像度が低くなる。
上述では、ローリングシャッタ方式においてフレーム200の上端から下端に向けてライン順次に撮像を行う例について説明したが、これはこの例に限定されない。図7Aおよび図7Bは、ローリングシャッタ方式における他の撮像方法の例を模式的に示す図である。例えば、図7Aに示されるように、ローリングシャッタ方式において、フレーム200の下端から上端に向けてライン順次の撮像を行うことができる。この場合は、フレーム200の上端から下端に向けてライン順次に撮像した場合に比べ、画像202の歪の水平方向の向きが逆となる。
また、例えば画素信号を転送する垂直信号線VSLの範囲を設定することで、ラインの一部を選択的に読み出すことも可能である。さらに、撮像を行うラインと、画素信号を転送する垂直信号線VSLと、をそれぞれ設定することで、撮像を開始および終了するラインを、フレーム200の上端および下端以外とすることも可能である。図7Bは、幅および高さがフレーム200の幅および高さにそれぞれ満たない矩形の領域205を撮像の範囲とした例を模式的に示している。図7Bの例では、領域205の上端のライン204からライン順次で領域205の下端に向けて撮像を行っている。
(2−2.グローバルシャッタの概要)
次に、画素アレイ部101による撮像を行う際の撮像方式として、グローバルシャッタ(GS)方式について、概略的に説明する。図8A、図8Bおよび図8Cは、グローバルシャッタ方式を説明するための模式図である。グローバルシャッタ方式では、図8Aに示されるように、フレーム200に含まれる全画素回路100で同時に露出を行う。
図4の構成においてグローバルシャッタ方式を実現する場合、一例として、各画素回路100において光電変換素子とFDとの間にキャパシタをさらに設けた構成とすることが考えられる。そして、光電変換素子と当該キャパシタとの間に第1のスイッチを、当該キャパシタと浮遊拡散層との間に第2のスイッチをそれぞれ設け、これら第1および第2のスイッチそれぞれの開閉を、画素信号線106を介して供給されるパルスにより制御する構成とする。
このような構成において、露出期間中は、フレーム200に含まれる全画素回路100において、第1および第2のスイッチをそれぞれ開、露出終了で第1のスイッチを開から閉として光電変換素子からキャパシタに電荷を転送する。以降、キャパシタを光電変換素子と見做して、ローリングシャッタ方式において説明した読み出し動作と同様のシーケンスにて、キャパシタから電荷を読み出す。これにより、フレーム200に含まれる全画素回路100において同時の露出が可能となる。
図8Bは、グローバルシャッタ方式における撮像と時間との関係の例を模式的に示している。図8Bにおいて、縦軸はライン位置、横軸は時間を示す。グローバルシャッタ方式では、フレーム200に含まれる全画素回路100において同時に露出が行われるため、図8Bに示すように、各ラインにおける露出のタイミングを同一にできる。したがって、例えば撮像装置1と被写体との水平方向の位置関係が高速に変化する場合であっても、図8Cに例示されるように、撮像されたフレーム200の画像206には、当該変化に応じた歪が生じない。
グローバルシャッタ方式では、フレーム200に含まれる全画素回路100における露出タイミングの同時性を確保できる。そのため、各ラインの画素信号線106により供給する各パルスのタイミングと、各垂直信号線VSLによる転送のタイミングとを制御することで、様々なパターンでのサンプリング(画素信号の読み出し)を実現できる。
図9Aおよび図9Bは、グローバルシャッタ方式において実現可能なサンプリングのパターンの例を模式的に示す図である。図9Aは、フレーム200に含まれる、行列状に配列された各画素回路100から、画素信号を読み出すサンプル208を市松模様状に抽出する例である。また、図9Bは、当該各画素回路100から、画素信号を読み出すサンプル208を格子状に抽出する例である。また、グローバルシャッタ方式においても、上述したローリングシャッタ方式と同様に、ライン順次で撮像を行うことができる。
(2−3.DNNについて)
次に、各実施形態に適用可能なDNN(Deep Neural Network)を用いた認識処理について、概略的に説明する。各実施形態では、DNNのうち、CNN(Convolutional Neural Network)と、RNN(Recurrent Neural Network)とを用いて画像データに対する認識処理を行う。以下、「画像データに対する認識処理」を、適宜、「画像認識処理」などと呼ぶ。
(2−3−1.CNNの概要)
先ず、CNNについて、概略的に説明する。CNNによる画像認識処理は、一般的には、例えば行列状に配列された画素による画像情報に基づき画像認識処理を行う。図10は、CNNによる画像認識処理を概略的に説明するための図である。認識対象のオブジェクトである数字の「8」を描画した画像50の全体の画素情報51に対して、所定に学習されたCNN52による処理を施す。これにより、認識結果53として数字の「8」が認識される。
これに対して、ライン毎の画像に基づきCNNによる処理を施し、認識対象の画像の一部から認識結果を得ることも可能である。図11は、この認識対象の画像の一部から認識結果を得る画像認識処理を概略的に説明するための図である。図11において、画像50’は、認識対象のオブジェクトである数字の「8」を、ライン単位で部分的に取得したものである。この画像50’の画素情報51’を形成する例えばライン毎の画素情報54a、54bおよび54cに対して順次、所定に学習されたCNN52’による処理を施す。
例えば、第1ライン目の画素情報54aに対するCNN52’による認識処理で得られた認識結果53aは、有効な認識結果ではなかったものとする。ここで、有効な認識結果とは、例えば、認識された結果に対する信頼度を示すスコアが所定以上の認識結果を指す。CNN52’は、この認識結果53aに基づき内部状態の更新55を行う。次に、第2ライン目の画素情報54bに対して、前回の認識結果53aにより内部状態の更新55が行われたCNN52’により認識処理が行われる。図11では、その結果、認識対象の数字が「8」または「9」の何れかであることを示す認識結果53bが得られている。さらに、この認識結果53bに基づき、CNN52’の内部情報の更新55を行う。次に、第3ライン目の画素情報54cに対して、前回の認識結果53bにより内部状態の更新55が行われたCNN52’により認識処理が行われる。図11では、その結果、認識対象の数字が、「8」または「9」のうち「8」に絞り込まれる。
ここで、この図11に示した認識処理は、前回の認識処理の結果を用いてCNNの内部状態を更新し、この内部状態が更新されたCNNにより、前回の認識処理を行ったラインに隣接するラインの画素情報を用いて認識処理を行っている。すなわち、この図11に示した認識処理は、画像に対してライン順次に、CNNの内部状態を前回の認識結果に基づき更新しながら実行されている。したがって、図11に示す認識処理は、ライン順次に再帰的に実行される処理であり、RNNに相当する構造を有していると考えることができる。
(2−3−2.RNNの概要)
次に、RNNについて、概略的に説明する。図12Aおよび図12Bは、時系列の情報を用いない場合の、DNNによる識別処理(認識処理)の例を概略的に示す図である。この場合、図12Aに示されるように、1つの画像をDNNに入力する。DNNにおいて、入力された画像に対して識別処理が行われ、識別結果が出力される。
図12Bは、図12Aの処理をより詳細に説明するための図である。図12Bに示されるように、DNNは、特徴抽出処理と、識別処理とを実行する。DNNにおいて、入力された画像に対して特徴抽出処理により特徴量を抽出する。また、DNNにおいて、抽出された特徴量に対して識別処理を実行し、識別結果を得る。
図13Aおよび図13Bは、時系列の情報を用いた場合の、DNNによる識別処理の第1の例を概略的に示す図である。この図13Aおよび図13Bの例では、時系列上の、固定数の過去情報を用いて、DNNによる識別処理を行う。図13Aの例では、時間Tの画像[T]と、時間Tより前の時間T−1の画像[T−1]と、時間T−1より前の時間T−2の画像[T−2]と、をDNNに入力する。DNNにおいて、入力された各画像[T]、[T−1]および[T−2]に対して識別処理を実行し、時間Tにおける識別結果[T]を得る。
図13Bは、図13Aの処理をより詳細に説明するための図である。図13Bに示されるように、DNNにおいて、入力された画像[T]、[T−1]および[T−2]それぞれに対して、上述の図12Bを用いて説明した特徴抽出処理を1対1に実行し、画像[T]、[T−1]および[T−2]にそれぞれ対応する特徴量を抽出する。DNNでは、これら画像[T]、[T−1]および[T−2]に基づき得られた各特徴量を統合し、統合された特徴量に対して識別処理を実行し、時間Tにおける識別結果[T]を得る。
この図13Aおよび図13Bの方法では、特徴量抽出を行うための構成が複数必要になると共に、利用できる過去の画像の数に応じて、特徴量抽出を行うための構成が必要になり、DNNの構成が大規模になってしまうおそれがある。
図14Aおよび図14Bは、時系列の情報を用いた場合の、DNNによる識別処理の第2の例を概略的に示す図である。図14Aの例では、内部状態が時間T−1の状態に更新されたDNNに対して時間Tの画像[T]を入力し、時間Tにおける識別結果[T]を得ている。
図14Bは、図14Aの処理をより詳細に説明するための図である。図14Bに示されるように、DNNにおいて、入力された時間Tの画像[T]に対して上述の図12Bを用いて説明した特徴抽出処理を実行し、画像[T]に対応する特徴量を抽出する。DNNにおいて、時間Tより前の画像により内部状態が更新され、更新された内部状態に係る特徴量が保存されている。この保存された内部情報に係る特徴量と、画像[T]における特徴量とを統合し、統合された特徴量に対して識別処理を実行する。
この図14Aおよび図14Bに示す識別処理は、例えば直前の識別結果を用いて内部状態が更新されたDNNを用いて実行されるもので、再帰的な処理となる。このように、再帰的な処理を行うDNNをRNN(Recurrent Neural Network)と呼ぶ。RNNによる識別処理は、一般的には動画像認識などに用いられ、例えば時系列で更新されるフレーム画像によりDNNの内部状態を順次に更新することで、識別精度を向上させることが可能である。
本開示では、RNNをローリングシャッタ方式の構造に適用する。すなわち、ローリングシャッタ方式では、画素信号の読み出しがライン順次で行われる。そこで、このライン順次で読み出される画素信号を時系列上の情報として、RNNに適用させる。これにより、CNNを用いた場合(図13B参照)と比較して小規模な構成で、複数のラインに基づく識別処理を実行可能となる。これに限らず、RNNをグローバルシャッタ方式の構造に適用することもできる。この場合、例えば隣接するラインを時系列上の情報と見做すことが考えられる。
(2−4.駆動速度について)
次に、フレームの駆動速度と、画素信号の読み出し量との関係について、図15Aおよび図15Bを用いて説明する。図15Aは、画像内の全ラインを読み出す例を示す図である。ここで、認識処理の対象となる画像の解像度が、水平640画素×垂直480画素(480ライン)であるものとする。この場合、14400[ライン/秒]の駆動速度で駆動することで、30[fps(frame per second)]での出力が可能となる。
次に、ラインを間引いて撮像を行うことを考える。例えば、図15Bに示すように、1ラインずつ読み飛ばして撮像を行う、1/2間引き読み出しにて撮像を行うものとする。1/2間引きの第1の例として、上述と同様に14400[ライン/秒]の駆動速度で駆動する場合、画像から読み出すライン数が1/2になるため、解像度は低下するが、間引きを行わない場合の倍の速度の60[fps]での出力が可能となり、フレームレートを向上できる。1/2間引きの第2の例として、駆動速度を第1の例の半分の7200[fps]として駆動する場合、フレームレートは間引かない場合と同様に30[fps]となるが、省電力化が可能となる。
画像のラインを読み出す際に、間引きを行わないか、間引きを行い駆動速度を上げるか、間引きを行い駆動速度を間引きを行わない場合と同一とするか、は、例えば、読み出した画素信号に基づく認識処理の目的などに応じて選択することができる。
[3.本開示の概要]
以下、本開示の各実施形態について、より詳細に説明する。先ず、本開示の各実施形態に係る処理について、概略的に説明する。図16は、本開示の各実施形態に係る認識処理を概略的に説明するための模式図である。図16において、ステップS1で、各実施形態に係る撮像装置1(図1参照)により、認識対象となる対象画像の撮像を開始する。
なお、対象画像は、例えば手書きで数字の「8」を描画した画像であるものとする。また、メモリ13には、所定の教師データにより数字を識別可能に学習された学習モデルがプログラムとして予め記憶されており、認識処理部12は、メモリ13からこのプログラムを読み出して実行することで、画像に含まれる数字の識別を可能とされているものとする。さらに、撮像装置1は、ローリングシャッタ方式により撮像を行うものとする。なお、撮像装置1がグローバルシャッタ方式で撮像を行う場合であっても、以下の処理は、ローリングシャッタ方式の場合と同様に適用可能である。
撮像が開始されると、撮像装置1は、ステップS2で、フレームをライン単位で、フレームの上端側から下端側に向けて順次に読み出す。
ある位置までラインが読み出されると、認識処理部12により、読み出されたラインによる画像から、「8」または「9」の数字が識別される(ステップS3)。例えば、数字「8」および「9」は、上半分の部分に共通する特徴部分を含むので、上から順にラインを読み出して当該特徴部分が認識された時点で、認識されたオブジェクトが数字「8」および「9」の何れかであると識別できる。
ここで、ステップS4aに示されるように、フレームの下端のラインまたは下端付近のラインまで読み出すことで認識されたオブジェクトの全貌が現れ、ステップS2で数字の「8」または「9」の何れかとして識別されたオブジェクトが数字の「8」であることが確定される。
一方、ステップS4bおよびステップS4cは、本開示に関連する処理となる。
ステップS4bに示されるように、ステップS3で読み出しを行ったライン位置からさらにラインを読み進め、数字「8」の下端に達する途中でも、認識されたオブジェクトが数字の「8」であると識別することが可能である。例えば、数字「8」の下半分と、数字「9」の下半分とは、それぞれ異なる特徴を有する。この特徴の差異が明確になる部分までラインを読み出すことで、ステップS3で認識されたオブジェクトが数字の「8」および「9」の何れであるかが識別可能となる。図16の例では、ステップS4bにおいて、当該オブジェクトが数字の「8」であると確定されている。
また、ステップS4cに示されるように、ステップS3のライン位置から、ステップS3の状態においてさらに読み出すことで、ステップS3で識別されたオブジェクトが数字の「8」または「9」の何れであるかを見分けられそうなライン位置にジャンプすることも考えられる。このジャンプ先のラインを読み出すことで、ステップS3で識別されたオブジェクトが数字の「8」または「9」のうち何れであるかを確定することができる。なお、ジャンプ先のライン位置は、所定の教師データに基づき予め学習された学習モデルに基づき決定することができる。
ここで、上述したステップS4bまたはステップS4cでオブジェクトが確定された場合、撮像装置1は、認識処理を終了させることができる。これにより、撮像装置1における認識処理の短時間化および省電力化を実現することが可能となる。
なお、教師データは、読出単位毎の入力信号と出力信号の組み合わせを複数保持したデータである。一例として、上述した数字を識別するタスクでは、入力信号として読出単位毎のデータ(ラインデータ、サブサンプルされたデータなど)を適用し、出力信号として「正解の数字」を示すデータを適用することができる。他の例として、例えば物体を検出するタスクでは、入力信号として読出単位毎のデータ(ラインデータ、サブサンプルされたデータなど)を適用し、出力信号として物体クラス(人体/車両/非物体)や物体の座標(x,y,h,w)などを適用することができる。また、自己教師学習を用いて入力信号のみから出力信号を生成してもよい。
[4.第1の実施形態]
次に、本開示の第1の実施形態について説明する。
(4−1.認識処理部による動作例)
第1の実施形態に係る撮像装置1において、認識処理部12は、上述したように、所定の教師データに基づき予め学習された学習モデルとしてメモリ13に記憶されるプログラムを読み出して実行することで、DNNを利用した認識器として機能する。
図17は、第1の実施形態に係る認識処理部12による認識処理を示す一例のフローチャートである。図17において、ステップS121で、撮像装置1において、認識処理部12を構成するDSPは、メモリ13から学習モデルを読み出して実行する。これにより、当該DSPが認識処理部12として機能する。
次に、ステップS122で、撮像装置1において認識処理部12は、センサ制御部11に対してセンサ部10からのフレーム読み出しを開始するように指示する。このフレーム読出しでは、例えば、1フレーム分の画像データがライン単位(行単位ともいう)で順次読み出される。認識処理部12は、1フレームにおける所定ライン数の画像データが読み出されたか否かを判定する。
認識処理部12は、1フレームにおける所定ライン数の画像データが読み出されたと判定すると(ステップS123、「YES」)、処理をステップS124に移行させる。ステップS124で、認識処理部12は、読み出された所定ライン数分の画像データに対して、CNNを利用した機械学習処理としての認識処理を実行する。すなわち、認識処理部12は、所定ライン数の画像データを単位領域として、学習モデルを用いた機械学習処理を実行する。また、CNNを利用した機械学習処理では、例えば、顔検出、顔認証、視線検出、表情認識、顔方向検出、物体検出、物体認識、動き(動物体)検出、ペット検出、シーン認識、状態検出、回避対象物認識、などの認識処理や検出処理が実行される。
ここで、顔検出とは、画像データに含まれる人物の顔を検出する処理である。顔認証とは、生体認証の一つであって、画像データに含まれる人物の顔が予め登録された人物の顔と一致するか否かを認証する処理である。視線検出とは、画像データに含まれる人物の視線の方向を検出する処理である。表情認識とは、画像データに含まれる人物の表情を認識する処理である。顔方向検出とは、画像データに含まれる人物の顔の上下方向を検出する処理である。物体検出とは、画像データに含まれる物体を検出する処理である。物体認識とは、画像データに含まれる物体が何であるかを認識する処理である。動き(動物体)検出とは、画像データに含まれる動物体を検出する処理である。ペット検出とは、画像データに含まれる犬や猫などのペットを検出する処理である。シーン認識とは、撮影しているシーン(海や山等)を認識する処理である。状態検出とは、画像データに含まれる人物等の状態(通常の状態か異常の状態か等)を検出する処理である。回避対象物認識とは、自身が移動する場合のその進行方向前方に存在する回避対象の物体を認識する処理である。認識処理部12により実行される機械学習処理は、これらの例に限定されない。
ステップS125で、認識処理部12は、ステップS124によるCNNを利用した機械学習処理が成功したか否かを判定する。認識処理部12は、CNNを利用した機械学習処理に成功したと判定した場合(ステップS125、「YES」)、処理をステップS129に移行させる。一方、認識処理部12は、ステップS124によるCNNを利用した機械学習処理に失敗したと判定した場合(ステップS125、「NO」)、処理をステップS126に移行させる。ステップS126で、認識処理部12は、センサ制御部11から次の所定ライン数の画像データが読み出されるのを待機する(ステップS126、「NO」)。
なお、本説明において、機械学習処理に成功するとは、例えば、上記において例示したような顔検出や顔認証等において、一定の検出結果や認識結果や認証が得られたことを意味する。一方、機械学習処理に失敗するとは、例えば、上記において例示したような顔検出や顔認証等において、十分な検出結果や認識結果や認証が得られなかったことを意味する。
次に、ステップS126において、次の所定ライン数の画像データ(単位領域)が読み出されると(ステップS126、「YES」)、認識処理部12は、ステップS127で、読み出された所定ライン数の画像データに対して、RNNを利用した機械学習処理を実行する。RNNを利用した機械学習処理では、例えば、同一フレームの画像データに対してこれまでに実行したCNNまたはRNNを利用した機械学習処理の結果も利用される。
ステップS128で、認識処理部12は、ステップS127におけるRNNを利用した機械学習処理に成功したと判定した場合(ステップS128、「YES」)、処理をステップS129に移行させる。
ステップS129で、認識処理部12は、ステップS124またはステップS127で成功した機械学習結果が、例えば、認識処理部12から出力制御部15に供給される。このステップS129で出力される機械学習結果は、例えば認識処理部12による有効な認識結果である。認識処理部12は、当該機械学習結果をメモリ13に格納してもよい。
また、認識処理部12は、ステップS128で、ステップS127におけるRNNを利用した機械学習処理に失敗したと判定した場合(ステップS128、「NO」)、処理をステップS130に移行させる。ステップS130で、認識処理部12は、1フレーム分の画像データの読出しが完了したか否かを判定する。認識処理部12は、1フレーム分の画像データの読出しが完了していないと判定した場合(ステップS130、「NO」)、処理をステップS126に戻し、次の所定ライン数の画像データに対する処理が実行される。
一方、認識処理部12は、ステップS130で1フレーム分の画像データの読出しが完了していると判定した場合(ステップS130、「YES」)、例えば、認識処理部12は、ステップS131で、この図17のフローチャートによる一連の処理を終了するか否かを判定する。認識処理部12は、終了しないと判定した場合(ステップS131、「NO」)、処理をステップS122に戻し、次のフレームに対して同様の動作を実行する。また、認識処理部12は、終了すると判定した場合(ステップS131、「YES」)、この図17のフローチャートによる一連の処理を終了させる。
なお、ステップS131による次のフレームへ移行するか否かの判定は、例えば、撮像装置1の外部から終了の指示が入力されたか否かに基づいて行ってもよいし、予め定めておいた所定フレーム数の画像データに対する一連の処理が完了したか否かに基づいて行ってもよい。
また、顔検出や顔認証や視線検出や表情認識や顔方向検出や物体検出や物体認識や動き(動物体)検出やシーン認識や状態検出等の機械学習処理を連続して行なう場合、直前の機械学習処理に失敗している場合には、次の機械学習処理がスキップされてもよい。例えば、顔検出の次に顔認証を実行する場合に、顔検出に失敗している場合には、次の顔認証がスキップされてもよい。
(4−2.認識処理部による動作の具体例)
次に、図17を用いて説明した機械学習部の動作を、具体例を用いて説明する。なお、以下では、DNNを利用して顔検出を実行する場合を例示する。
図18は、1フレーム分の画像データの一例を示す図である。図19は、第1の実施形態に係る認識処理部12が実行する機械学習処理の流れを説明するための図である。
図18に示すような画像データに対して機械学習により顔検出を実行する場合、図19のセクション(a)に示すように、認識処理部12には、まず、所定ライン数分の画像データが入力される(図17のステップS123に相当)。認識処理部12は、入力された所定ライン数分の画像データに対してCNNを利用した機械学習処理を実行することで、顔検出を実行する(図17のステップS124に相当)。ただし、図19のセクション(a)の段階では、未だ顔全体の画像データが入力されていないため、認識処理部12は、顔検出に失敗する(図17のステップS125の「NO」に相当)。
つづいて、図19のセクション(b)に示すように、認識処理部12には、次の所定ライン数分の画像データが入力される(図17のステップS126に相当)。認識処理部12は、図19のセクション(a)で入力された所定ライン数分の画像データに対して実行したCNNを利用した機械学習処理の結果を用いつつ、新たに入力された所定ライン数分の画像データに対してRNNを利用した機械学習処理を実行することで、顔検出を実行する(図17のステップS127に相当)。
図19のセクション(b)の段階では、図19のセクション(a)の段階で入力された所定ライン数分の画素データと合せて、顔全体の画像データが入力されている。したがって、図19のセクション(b)の段階において、認識処理部12は、顔検出に成功する(図17のステップS128の「YES」に相当)。すると、本動作では、次以降の画像データ(図19セクション(c)〜(f)の画像データ)が読み出されることなく、顔検出の結果が出力される(図17のステップS129に相当)。
このように、所定ライン数ずつの画像データに対してDNNを利用した機械学習処理を実行することで、顔検出に成功した時点以降の画像データに対する読出しや機械学習処理の実行を省略することが可能となる。それにより、短時間で検出や認識や認証等の処理を完了することが可能となるため、処理時間の短縮および消費電力の低減を実現することが可能となる。
なお、所定ライン数は、学習モデルのアルゴリズムが要求するフィルタの大きさによって決定されるライン数であり、その最小数は1ラインである。
また、センサ制御部11によりセンサ部10から読み出される画像データは、列方向および行方向のうち少なくとも一方に間引かれた画像データであってもよい。その場合、例えば、列方向に1行置きに画像データを読み出す場合には、2(N−1)(Nは1以上の整数)ライン目の画像データが読み出される。
また、学習モデルのアルゴリズムが要求するフィルタがライン単位でなく、例えば、1×1画素や5×5画素などの画素単位の矩形領域である場合には、所定ライン数の画像データに代えて、そのフィルタの形状やサイズに応じた矩形領域の画像データを、認識処理部12が機械学習処理を実行する単位領域の画像データとして、認識処理部12に入力されてもよい。
さらに、上述では、DNNの例としてCNNとRNNとを例示したが、これらに限定されず、他の学習モデルを利用することも可能である。
(4−3.第1の実施形態の応用例)
次に、第1の実施形態の応用例について説明する。ここでは、第1の実施形態の応用例として、例えば図17のフローチャートのステップS124でのCNNによる機械学習処理の結果や、ステップS127でのRNNによる機械学習処理の結果に基づき、次に読み出しを行う所定ライン数における露出を制御する例について説明する。図20Aおよび図20Bは、第1の実施形態の応用例について説明するための模式図である。
図20Aのセクション(a)は、露出オーバーの画像60aの例を示す模式図である。画像60aは、露出オーバーのため、画像60aが全体的に白っぽくなり、例えば画像60aに含まれるオブジェクトとしてのモニタ62は、画面内が所謂白飛びしており人の目には細部の判別が困難となっている。一方、画像60aに含まれるオブジェクトとしての人61は、露出オーバーのため若干白っぽくなっているが、モニタ62と比較すると、人の目には識別が容易に見える。
図20Aのセクション(b)は、露出アンダーの画像60bの例を示す模式図である。画像60bは、露出アンダーのため、画像60bが全体的に黒っぽくなり、例えば画像60aでは見えていた人61が人の目に識別困難となってしまっている。一方、画像60bに含まれるモニタ62は、画像60aと比較して、人の目には細部まで詳細に識別可能となっている。
図20Bは、第1の実施形態の応用例に係る読み出し方法を説明するための模式図である。図20Bのセクション(a)および(b)では、上述した図17のフローチャートのステップS122において、フレーム読み出しを露出アンダーの状態で開始する場合について示されている。
図20Bのセクション(a)は、第1の実施形態の応用例における第1の例による読み出し方法を示している。図20Bのセクション(a)の画像60cにおいて、例えばフレームの先頭のラインL#1のステップS124によるCNNを利用した認識処理が失敗、あるいは、認識結果の信頼度を示すスコアが所定以下であったものとする。この場合、認識処理部12は、ステップS126で読み出すラインL#2の露出を、認識処理に適した露出に設定(この場合、露出量を多く設定)するように、センサ制御部11に指示する。なお、図20Bにおいて、ラインL#1、L#2、…は、それぞれ1本のラインであってもよいし、互いに隣接する複数ラインであってもよい。
図20Bのセクション(a)の例では、ラインL#2の露出量をラインL#1の露出量より多くしている。その結果、ラインL#2が露出オーバーになり、例えばステップS127によるRNNを利用した認識処理が失敗あるいはスコアが所定以下であったものとする。認識処理部12は、ステップS130からステップS126に処理が戻されて読み出されるラインL#3の露出量をラインL#2の露出量よりも少なく設定するように、センサ制御部11に指示する。ラインL#4、…、L#m、…についても、同様に、認識処理の結果に応じて次のラインの露出量を順次に設定していく。
このように、あるラインの認識結果に基づき次に読み出しを行うラインの露出量を調整することで、より高精度に認識処理を実行することが可能となる。
また、上述の応用例のさらなる応用として、図20Bのセクション(b)に示されるように、所定のラインまで読み出した時点で露出を再設定し、再びフレームの先頭のラインから読み出しを実行する方法も考えられる。図20Bのセクション(b)に示されるように、認識処理部12は、上述したセクション(a)と同様にして、フレームの先頭のラインL#1から例えばラインL#mまで読み出しを行い(1st)、その認識結果に基づき露出を再設定する。認識処理部12は、再設定された露出に基づき再びフレームの各ラインL#1、L#2、…の読み出しを行う(2nd)。
このように、所定数のラインの読み出しを行った結果に基づき露出を再設定し、再設定された露出に基づき再びフレームの先頭からラインL#1、L#2、…を読み直すことで、さらに高精度に認識処理を実行することが可能となる。
[5.第2の実施形態]
(5−0−1.第2の実施形態に係る構成例)
次に、本開示の第2の実施形態について説明する。第2の実施形態は、上述した第1の実施形態による認識処理を拡張したものである。図21は、第2の実施形態に係る撮像装置の機能を説明するための一例の機能ブロック図である。なお、図21において、図1に示される光学部30、センサ部10、メモリ13および表示部31は、省略されている。また、図21において、図1の構成に対してトリガ生成部16が追加されている。
図21において、センサ制御部11は、読出部110と読出制御部111とを含む。認識処理部12は、特徴量計算部120と、特徴量蓄積制御部121と、読出決定部123と、認識処理実行部124と、を含み、特徴量蓄積制御部121は、特徴量蓄積部122を含む。また、視認処理部14は、画像データ蓄積制御部140と、読出決定部142と、画像処理部143と、を含み、画像データ蓄積制御部140は、画像データ蓄積部141を含む。
センサ制御部11において、読出制御部111は、認識処理部12に含まれる読出決定部123から、認識処理部12において読み出しを行う読出領域を示す読出領域情報を受け取る。読出領域情報は、例えば、1または複数のラインのライン番号である。これに限らず、読出領域情報は、1つのライン内の画素位置を示す情報であってもよい。また、読出領域情報として、1以上のライン番号と、ライン内の1以上の画素の画素位置を示す情報とを組み合わせることで、様々なパターンの読出領域を指定することが可能である。なお、読出領域は、読出単位と同等である。これに限らず、読出領域と読出単位とが異なっていてもよい。
同様に、読出制御部111は、視認処理部14に含まれる読出決定部142から、視認処理部14において読み出しを行う読出領域を示す読出領域情報を受け取る。
読出制御部111は、これら読出決定部123および142に基づき、実際に読み出しを行う読出領域を示す読出領域情報を読出部110に渡す。例えば、読出制御部111は、読出決定部123から受け取った読出領域情報と、読出決定部142から受け取った読出領域情報と、にコンフリクトが生じている場合、調停を行い読出部110に渡す読出領域情報を調整することができる。
また、読出制御部111は、読出決定部123、あるいは、読出決定部142から露出やアナログゲインを示す情報を受け取ることができる。読出制御部111は、受け取った露出やアナログゲインを示す情報を、読出部110に渡す。
読出部110は、読出制御部111から渡された読出領域情報に従い、センサ部10からの画素データの読み出しを行う。例えば、読出部110は、読出領域情報に基づき、読み出しを行うラインを示すライン番号と、当該ラインにおいて読み出す画素の位置を示す画素位置情報と、を求め、求めたライン番号と画素位置情報と、をセンサ部10に渡す。読出部110は、センサ部10から取得した各画素データを、読出領域情報と共に、認識処理部12および視認処理部14に渡す。
また、読出部110は、読出制御部111から受け取った露出やアナログゲインを示す情報に従い、センサ部10に対して露出やアナログゲイン(AG)を設定する。さらに、読出部110は、垂直同期信号および水平同期信号を生成し、センサ部10に供給することができる。
認識処理部12において、読出決定部123は、特徴量蓄積制御部121から、次に読み出しを行う読出領域を示す読出情報を受け取る。読出決定部123は、受け取った読出情報に基づき読出領域情報を生成し、読出制御部111に渡す。
ここで、読出決定部123は、読出領域情報に示される読出領域として、例えば、所定の読出単位に、当該読出単位の画素データを読み出すための読出位置情報が付加された情報を用いることができる。読出単位は、1つ以上の画素の集合であり、認識処理部12や視認処理部14による処理の単位となる。一例として、読出単位がラインであれば、ラインの位置を示すライン番号[L#x]が読出位置情報として付加される。また、読出単位が複数の画素を含む矩形領域であれば、当該矩形領域の画素アレイ部101における位置を示す情報、例えば左上隅の画素の位置を示す情報が読出位置情報として付加される。読出決定部123は、適用される読出単位が予め指定される。これに限らず、読出決定部123は、例えば読出決定部123の外部からの指示に応じて、読出単位を決定することもできる。したがって、読出決定部123は、読出単位を制御する読出単位制御部として機能する。
なお、読出決定部123は、後述する認識処理実行部124から渡される認識情報に基づき次に読み出しを行う読出領域を決定し、決定された読出領域を示す読出領域情報を生成することもできる。
同様に、視認処理部14において、読出決定部142は、例えば画像データ蓄積制御部140から、次に読み出しを行う読出領域を示す読出情報を受け取る。読出決定部142は、受け取った読出情報に基づき読出領域情報を生成し、読出制御部111に渡す。
認識処理部12において、特徴量計算部120は、読出部110から渡された画素データおよび読出領域情報に基づき、当該読出領域情報に示される領域における特徴量を算出する。特徴量計算部120は、算出した特徴量を、特徴量蓄積制御部121に渡す。
特徴量計算部120は、後述するように、読出部110から渡された画素データと、特徴量蓄積制御部121から渡された、過去の特徴量と、に基づき特徴量を算出してもよい。これに限らず、特徴量計算部120は、例えば読出部110から露出やアナログゲインを設定するための情報を取得し、取得したこれらの情報をさらに用いて特徴量を算出してもよい。
認識処理部12において、特徴量蓄積制御部121は、特徴量計算部120から渡された特徴量を、特徴量蓄積部122に蓄積する。また、特徴量蓄積制御部121は、特徴量計算部120から特徴量が渡されると、次の読み出しを行う読み出し領域を示す読出情報を生成し、読出決定部123に渡す。
ここで、特徴量蓄積制御部121は、既に蓄積された特徴量と、新たに渡された特徴量とを統合して蓄積することができる。また、特徴量蓄積制御部121は、特徴量蓄積部122に蓄積された特徴量のうち、不要になった特徴量を削除することができる。不要になった特徴量は、例えば前フレームに係る特徴量や、新たな特徴量が算出されたフレーム画像とは異なるシーンのフレーム画像に基づき算出され既に蓄積された特徴量などが考えられる。また、特徴量蓄積制御部121は、必要に応じて特徴量蓄積部122に蓄積された全ての特徴量を削除して初期化することもできる。
また、特徴量蓄積制御部121は、特徴量計算部120から渡された特徴量と、特徴量蓄積部122に蓄積される特徴量と、に基づき認識処理実行部124が認識処理に用いるための特徴量を生成する。特徴量蓄積制御部121は、生成した特徴量を認識処理実行部124に渡す。
認識処理実行部124は、特徴量蓄積制御部121から渡された特徴量に基づき認識処理を実行する。認識処理実行部124は、認識処理により物体検出、顔検出などを行う。認識処理実行部124は、認識処理により得られた認識結果を出力制御部15に渡す。認識処理実行部124は、認識処理により生成される認識結果を含む認識情報を読出決定部123に渡すこともできる。なお、認識処理実行部124は、例えばトリガ生成部16により生成されたトリガを切掛に特徴量蓄積制御部121から特徴量を受け取って認識処理を実行することができる。
一方、視認処理部14において、画像データ蓄積制御部140は、読出部110から、読出領域から読み出された画素データと、当該画像データに対応する読出領域情報と、を受けとる。画像データ蓄積制御部140は、これら画素データおよび読出領域情報と、を関連付けて画像データ蓄積部141に蓄積する。
画像データ蓄積制御部140は、読出部110から渡された画素データと、画像データ蓄積部141に蓄積された画像データと、に基づき、画像処理部143が画像処理を行うための画像データを生成する。画像データ蓄積制御部140は、生成した画像データを画像処理部143に渡す。これに限らず、画像データ蓄積制御部140は、読出部110から渡された画素データを、そのまま画像処理部143に渡すこともできる。
また、画像データ蓄積制御部140は、読出部110から渡された読出領域情報に基づき、次の読み出しを行う読み出し領域を示す読出情報を生成し、読出決定部142に渡す。
ここで、画像データ蓄積制御部140は、既に蓄積された画像データと、新たに渡された画素データとを、例えば加算平均などにより統合して蓄積することができる。また、画像データ蓄積制御部140は、画像データ蓄積部141に蓄積された画像データのうち、不要になった画像データを削除することができる。不要になった画像データは、例えば前フレームに係る画像データや、新たな画像データが算出されたフレーム画像とは異なるシーンのフレーム画像に基づき算出され既に蓄積された画像データなどが考えられる。また、画像データ蓄積制御部140は、必要に応じて画像データ蓄積部141に蓄積された全ての画像データを削除して初期化することもできる。
さらに、画像データ蓄積制御部140は、読出部110から露出やアナログゲインを設定するための情報を取得し、取得したこれらの情報を用いて補正した画像データを、画像データ蓄積部141に蓄積することもできる。
画像処理部143は、画像データ蓄積制御部140から渡された画像データに対して所定の画像処理を施す。例えば、画像処理部143は、当該画像データに対して所定の高画質化処理を施すことができる。また、渡された画像データがライン間引きなどにより空間的にデータが削減された画像データである場合、補間処理により間引きされた部分に画像情報を補填することも可能である。画像処理部143は、画像処理を施した画像データを出力制御部15に渡す。
なお、画像処理部143は、例えばトリガ生成部16により生成されたトリガを切掛に画像データ蓄積制御部140から画像データを受け取って画像処理を実行することができる。
出力制御部15は、認識処理実行部124から渡された認識結果と、画像処理部143から渡された画像データと、のうち一方または両方を出力する。出力制御部15は、例えばトリガ生成部16により生成されたトリガに応じて、認識結果および画像データのうち一方または両方を出力する。
トリガ生成部16は、認識処理部12から渡される認識処理に係る情報と、視認処理部14から渡される画像処理に係る情報とに基づき、認識処理実行部124に渡すトリガと、画像処理部143に渡すトリガと、出力制御部15に渡すトリガと、を生成する。トリガ生成部16は、生成した各トリガを、それぞれ所定のタイミングで認識処理実行部124と、画像処理部143と、出力制御部15と、に渡す。
(5−0−2.第2の実施形態に係る認識処理部における処理の例)
図22は、第2の実施形態に係る認識処理部12における処理の例について、より詳細に示す模式図である。ここでは、読出領域がラインとされ、読出部110が、画像60のフレーム上端から下端に向けて、ライン単位で画素データを読み出すものとする。読出部110にライン単位で読み出されたラインL#xのライン画像データ(ラインデータ)が特徴量計算部120に入力される。
特徴量計算部120では、特徴量抽出処理1200と、統合処理1202とが実行される。特徴量計算部120は、入力されたラインデータに対して特徴量抽出処理1200を施して、ラインデータから特徴量1201を抽出する。ここで、特徴量抽出処理1200は、予め学習により求めたパラメータに基づき、ラインデータから特徴量1201を抽出する。特徴量抽出処理1200により抽出された特徴量1201は、統合処理1202により、特徴量蓄積制御部121により処理された特徴量1212と統合される。統合された特徴量1210は、特徴量蓄積制御部121に渡される。
特徴量蓄積制御部121では、内部状態更新処理1211が実行される。特徴量蓄積制御部121に渡された特徴量1210は、認識処理実行部124に渡される共に、内部状態更新処理1211を施される。内部状態更新処理1211は、予め学習されたパラメータに基づき特徴量1210を削減してDNNの内部状態を更新し、更新された内部状態に係る特徴量1212を生成する。この特徴量1212が統合処理1202により特徴量1201と統合される。この特徴量蓄積制御部121による処理が、RNNを利用した処理に相当する。
認識処理実行部124は、特徴量蓄積制御部121から渡された特徴量1210に対して、例えば所定の教師データを用いて予め学習されたパラメータに基づき認識処理1240を実行し、認識結果を出力する。
上述したように、第2の実施形態に係る認識処理部12では、特徴量抽出処理1200と、統合処理1202と、内部状態更新処理1211と、認識処理1240と、において、予め学習されたパラメータに基づき処理が実行される。パラメータの学習は、例えば想定される認識対象に基づく教師データを用いて行われる。
なお、上述した特徴量計算部120、特徴量蓄積制御部121、読出決定部123および認識処理実行部124の機能は、例えば、撮像装置1が備えるDSPに、メモリ13などに記憶されるプログラムが読み込まれて実行されることで実現される。同様に、上述した画像データ蓄積制御部140、読出決定部142および画像処理部143の機能は、例えば、撮像装置1が備えるISPに、メモリ13などに記憶されるプログラムが読み込まれて実行されることで実現される。これらのプログラムは、予めメモリ13に記憶されていてもよいし、外部から撮像装置1に供給してメモリ13に書き込んでもよい。
(5−0−3.第2の実施形態に係る認識処理の詳細)
次に、第2の実施形態についてより詳細に説明する。図23は、第2の実施形態に係る機能を説明するための一例の機能ブロック図である。第2の実施形態では、認識処理部12による認識処理が主となるので、図23では、上述した図21の構成に対して、視認処理部14、出力制御部15およびトリガ生成部16を省略している。また、図23では、センサ制御部11において、読出制御部111が省略されている。
図24は、第2の実施形態に係るフレームの読み出し処理を説明するための模式図である。第2の実施形態では、読出単位がラインとされ、フレームFr(x)に対してライン順次で画素データの読み出しが行われる。図24の例では、第mのフレームFr(m)において、フレームFr(m)の上端のラインL#1からライン順次でラインL#2、L#3、…とラインの読み出しが行われる。フレームFr(m)におけるライン読み出しが完了すると、次の第(m+1)のフレームFr(m+1)において、同様にして上端のラインL#1からライン順次でラインの読み出しが行われる。
図25は、第2の実施形態に係る認識処理を概略的に示す模式図である。図25に示されるように、認識処理は、CNN52’による処理および内部情報の更新55を、各ラインL#1、L#2、L#3…の画素情報54それぞれに対して順次に実行することで行われる。そのため、CNN52’には1ライン分の画素情報54を入力すればよく、認識器56を極めて小規模に構成することが可能である。なお、認識器56は、順次に入力される情報に対してCNN52’による処理を実行し内部情報の更新55を行うことから、RNNとしての構成を有する。
ライン順次の認識処理を、RNNを用いて行うことで、フレームに含まれる全てのラインを読み出さなくても、有効な認識結果が得られる場合がある。この場合、認識処理部12は、有効な認識結果が得られた時点で、認識処理を終了させることができる。図26および図27を用いて、フレーム読み出しの途中で認識処理を終了させる例について説明する。
図26は、認識対象が数字の「8」である場合の例を示す図である。図26の例では、フレーム70において、垂直方向の3/4程度の範囲71が読み出された時点で数字「8」が認識されている。したがって、認識処理部12は、この範囲71が読み出された時点で数字の「8」が認識された旨を示す有効な認識結果を出力し、フレーム70に対するライン読み出しおよび認識処理を終了させることができる。
図27は、認識対象が人である場合の例を示す図である。図27の例では、フレーム72において、垂直方向の1/2程度の範囲73が読み出された時点で、人74が認識されている。したがって、認識処理部12は、この範囲73が読み出された時点で人74が認識された旨を示す有効な認識結果を出力し、フレーム72に対するライン読み出しおよび認識処理を終了させることができる。
このように、第2の実施形態では、フレームに対するライン読み出しの途中で有効な認識結果が得られた場合に、ライン読み出しおよび認識処理を終了させることができる。そのため、認識処理における省電力化が可能となると共に、認識処理に要する時間を短縮することが可能となる。
上述では、ライン読み出しをフレームの上端側から下端側に向けて行っているが、これはこの例に限定されない。例えば、ライン読み出しをフレームの下端側から上端側へ向けて行ってもよい。すなわち、撮像装置1に対して遠方にある物体によるオブジェクトは、一般的には、ライン読み出しをフレームの上端側から下端側に向けて行うことで、より早期に認識することが可能である。一方、撮像装置1に対して手前側にある物体によるオブジェクトは、一般的には、ライン読み出しをフレームの下端側から上端側に向けて行うことで、より早期に認識することが可能である。
例えば、当該撮像装置1を車載用として前方を撮像するように設置することを考える。この場合、手前の物体(例えば自車の前方の車両や歩行者)は、撮像される画面の下の部分に存在するため、ライン読み出しをフレームの下端側から上端側に向けて行うと、より効果的である。また、ADAS(Advanced driver-assistance systems)において即時停止が必要な場合は、該当する物体が少なくとも1つ認識されればよく、1つの物体が認識された場合に、再びフレームの下端側からライン読み出しを実行することが、より効果的であると考えられる。さらに、例えば高速道路などでは、遠方の物体が優先される場合がある。この場合には、フレームの上端側から下端側に向けてライン読み出しを実行することが好ましい。
さらに、読出単位を、画素アレイ部101における行列方向のうち列方向としてもよい。例えば、画素アレイ部101において1列に並ぶ複数の画素を、読出単位とすることが考えられる。撮像方式としてグローバルシャッタ方式を適用することで、列を読出単位とする列読み出しが可能である。グローバルシャッタ方式では、列読み出しとライン読み出しとを切り替えて実行することが可能である。読み出しを列読み出しに固定的とする場合、例えば画素アレイ部101を90°回転させ、ローリングシャッタ方式を用いることが考えられる。
例えば、撮像装置1に対して左側にある物体のオブジェクトは、列読み出しによりフレームの左端側から順次に読み出しを行うことで、より早期に認識することが可能である。同様に、撮像装置1に対して右側にある物体のオブジェクトは、列読み出しによりフレームの右端側から順次に読み出しを行うことで、より早期に認識することが可能である。
当該撮像装置1を車載用として用いる例では、例えば車両が旋回している際には、旋回側にある物体のオブジェクトが優先される場合がある。このような場合、旋回側の端から列読み出しにより読み出しを行うことが好ましい。旋回方向は、例えば車両のステアリング情報に基づき取得することができる。これに限らず、例えば撮像装置1に対して3方向の角速度を検知可能なセンサを設け、このセンサの検知結果に基づき旋回方向を取得することが可能である。
図28は、第2の実施形態に係る認識処理を示す一例のフローチャートである。この図28のフローチャートによる処理は、例えばフレームからの読出単位(例えば1ライン)の画素データの読み出しに対応する処理である。ここでは、読出単位がラインであるものとして説明を行う。例えば、読出領域情報は、読出を行うラインを示すライン番号を用いることができる。
ステップS100で、認識処理部12は、フレームの読出ラインで示されるラインからラインデータの読み出しを行う。より具体的には、認識処理部12において読出決定部123は、次に読み出しを行うラインのライン番号をセンサ制御部11に渡す。センサ制御部11において、読出部110は、渡されたライン番号に従い、センサ部10から、当該ライン番号に示されるラインの画素データをラインデータとして読み出す。読出部110は、センサ部10から読み出したラインデータを特徴量計算部120に渡す。また、読出部110は、画素データの読み出しを行った領域を示す読出領域情報(例えばライン番号)を、特徴量計算部120に渡す。
次のステップS101で、特徴量計算部120は、読出部110から渡された画素データに基づき、ラインデータに基づく特徴量を計算し、ラインの特徴量を算出する。次のステップS102で、特徴量計算部120は、特徴量蓄積制御部121から、特徴量蓄積部122に蓄積されている特徴量を取得する。次のステップS103で、特徴量計算部120は、ステップS101で算出された特徴量と、ステップS102で特徴量蓄積制御部121から取得した特徴量と、を統合する。統合された特徴量は、特徴量蓄積制御部121に渡される。特徴量蓄積制御部121は、特徴量計算部120から渡された統合された特徴量を、特徴量蓄積部122に蓄積する(ステップS104)。
なお、ステップS100からの一連の処理がフレームの先頭のラインに対する処理であり、且つ、特徴量蓄積部122が例えば初期化されている場合には、ステップS102およびステップS103による処理を省略することができる。またこのとき、ステップS104による処理は、当該先頭のラインに基づき計算されたライン特徴量を特徴量蓄積部122に蓄積する処理となる。
また、特徴量蓄積制御部121は、特徴量計算部120から渡された統合された特徴量を、認識処理実行部124にも渡す。ステップS105で、認識処理実行部124は、特徴量蓄積制御部121から渡された、統合された特徴量を用いて認識処理を実行する。次のステップS106で、認識処理実行部124は、ステップS105の認識処理による認識結果を出力する。
ステップS107で、認識処理部12において読出決定部123は、特徴量蓄積制御部121から渡された読出情報に従い次の読み出しを行う読出ラインを決定する。例えば、特徴量蓄積制御部121は、特徴量計算部120から、特徴量と共に、読出領域情報を受けとる。特徴量蓄積制御部121は、この読出領域情報に基づき、例えば予め指定された読出パターン(この例ではライン順次)に従い、次に読み出しを行う読出ラインを決定する。この決定された読出ラインに対して、ステップS100からの処理が再び実行される。
(5−0−4.第2の実施形態に係る読み出しおよび認識処理の制御例)
次に、第2の実施形態に係る読み出しおよび認識処理の制御の例について説明する。図29Aおよび図29Bは、第2の実施形態に係る読み出しおよび認識処理の制御の例を示す一例のタイムチャートである。図29Aおよび図29Bの例は、1撮像周期(1フレーム周期)内に撮像動作を行わないブランク期間blkを設ける例である。図29Aおよび図29Bにおいて、右方向に時間が進行することを示している。
図29Aは、撮像周期の例えば1/2の期間を連続的にブランク期間blkに割り当てる例である。図29Aにおいて、撮像周期は、フレーム周期であって、例えば1/30[sec]である。センサ部10からのフレームの読み出しは、このフレーム周期で行われる。撮像時間は、フレームに含まれる全てのラインの撮像を行うために要する時間である。図29Aの例では、フレームがn本のラインを含むものとし、ラインL#1〜ラインL#nのn本のラインの撮像を、1/30[sec]のフレーム周期に対して1/2の期間の1/60[sec]で完了している。1ラインの撮像に割り当てられる時間は、1/(60×n)[sec]となる。フレームにおいて最後のラインL#nを撮像したタイミングから、次のフレームの先頭のラインL#1を撮像するタイミングまでの1/30[sec]の期間は、ブランク期間blkとされている。
例えばラインL#1の撮像が終了したタイミングで、次のラインL#2の撮像が開始されると共に、認識処理部12により、当該ラインL#1に対するライン認識処理、すなわち、ラインL#1に含まれる画素データに対する認識処理が実行される。認識処理部12は、ラインL#1に対するライン認識処理を、次のラインL#2の撮像が開始される前に終了させる。認識処理部12は、ラインL#1に対するライン認識処理が終了されると、当該認識処理の認識結果を出力する。
次のラインL#2についても同様に、ラインL#2の撮像が終了したタイミングで次のラインL#3の撮像が開始されると共に、認識処理部12により、当該ラインL#2に対するライン認識処理が実行され、実行されたライン認識処理が次のラインL#3の撮像の開始前に終了される。図29Aの例では、このように、ラインL#1、L#2、#3、…、L#m、…の撮像が順次に実行される。そして、各ラインL#1、L#2、L#3、…、L#m、…それぞれにおいて、撮像の終了のタイミングで、撮像が終了されたラインの次のラインの撮像が開始されると共に、撮像が終了したラインに対するライン認識処理が実行される。
このように、読み出し単位(この例ではライン)毎に、逐次に認識処理を実行することで、認識器(認識処理部12)にフレームの画像データを全て入力しなくても、認識結果を逐次に得ることができ、認識結果が得られるまでの遅延を低減させることが可能となる。また、あるラインで有効な認識結果が得られた場合、その時点で、認識処理を終了させることができ、認識処理の時間の短縮や、省電力化が可能となる。また、各ラインの認識結果などに対し、時間軸で情報伝播を行い統合することで、認識精度を徐々に向上させていくことが可能となる。
なお、図29Aの例では、フレーム周期内のブランク期間blkにおいて、フレーム周期内に実行されるべき他の処理(例えば認識結果を用いた視認処理部14における画像処理)を実行することができる。
図29Bは、1ラインの撮像毎にブランク期間blkを設ける例である。図29Bの例では、フレーム周期(撮像周期)が図29Aの例と同様の1/30[sec]とされている。一方、撮像時間は、撮像周期と同一の1/30[sec]とされている。また、図29Bの例では、1フレーム周期において、ラインL#1〜ラインL#nのn本のラインの撮像が1/(30×n)[sec]の時間間隔で実行され、1ライン分の撮像時間が1/(60×n)[sec]であるものとする。
この場合、各ラインL#1〜L#nの撮像毎に、1/(60×n)[sec]のブランク期間blkを設けることが可能となる。この各ラインL#1〜L#nのブランク期間blkそれぞれにおいて、対応するラインの撮像画像に対して実行されるべき他の処理(例えば認識結果を用いた視認処理部14における画像処理)を実行することができる。このとき、この他の処理に対して、対象のラインの次のラインの撮像が終了する直前までの時間(この例では略1/(30×n)[sec])を、割り当てることができる。この図29Bの例では、この他の処理の処理結果をライン毎に出力することができ、他の処理による処理結果をより迅速に取得することが可能となる。
図30は、第2の実施形態に係る読み出しおよび認識処理の制御の別の例を示す一例のタイムチャートである。上述した図29の例では、フレームに含まれる全ラインL#1〜L#nの撮像を、フレーム周期の1/2の期間で完了させ、フレーム周期の残りの1/2の期間をブランク期間としていた。これに対して、図30に示す例では、フレーム周期内にブランク期間を設けずに、フレームに含まれる全ラインL#1〜L#nの撮像をフレーム周期の全期間を用いて行う。
ここで、1ラインの撮像時間を図29Aおよび図29Bと同一の1/(60×n)[sec]とし、フレームに含まれるライン数を、図29Aおよび図29Bと同一のn本とした場合、フレーム周期すなわち撮像周期は、1/60[sec]となる。したがって、図30に示すブランク期間blkを設けない例では、上述した図29Aおよび図29Bの例に対して、フレームレートを高速化することができる。
[5−1.第2の実施形態の第1の変形例]
次に、第2の実施形態に係る第1の変形例について説明する。第2の実施形態に係る第1の変形例は、読出単位を順次に隣接する複数のラインとした例である。なお、第2の実施形態の第1の変形例、および、後述する第2の実施形態の第2〜第7の変形例では、図23を用いて説明した構成をそのまま適用できるので、構成に関する詳細な説明を省略する。
図31は、第2の実施形態の第1の変形例に係るフレームの読み出し処理を説明するための模式図である。図31に示されるように、第2の実施形態の第1の変形例では、それぞれ順次に隣接する複数のラインを含むライン群が読出単位とされ、フレームFr(m)に対してライン群順次で画素データの読み出しが行われる。認識処理部12において、読出決定部123は、例えば予め指定されたライン数を含むライン群Ls#xを読出単位として決定する。
読出決定部123は、ライン群Ls#xとして決定された読出単位を示す情報に、当該読出単位の画素データを読み出すための読出位置情報を付加した読出領域情報を、読出制御部111に渡す。読出制御部111は、読出決定部123から渡された読出領域情報を読出部110に渡す。読出部110は、読出制御部111から渡された読出領域情報に従い、センサ部10からの画素データの読み出しを行う。
図31の例では、第mのフレームFr(m)において、フレームFr(m)の上端のライン群Ls#1からライン順次でライン群Ls#2、Ls#3、…、Ls#p、…とライン群Ls#xの読み出しが行われる。フレームFr(m)におけるライン群Ls#xの読み出しが完了すると、次の第(m+1)のフレームFr(m+1)において、同様にして上端のライン群Ls#1からライン順次でライン群Ls#2、Ls#3、…の読み出しが行われる。
このように、複数ラインを含むライン群Ls#xを読出単位として画素データの読み出しを行うことで、ライン順次で読み出しを行う場合と比べて、1フレーム分の画素データをより高速に読み出すことが可能となる。また、認識処理部12は、一度の認識処理により多くの画素データを用いることが可能になり、認識の応答速度を向上させることが可能である。さらに、ライン順次の読み出しに対して1フレームにおける読み出し回数が少なくて済むため、センサ部10の撮像方式がローリングシャッタ方式の場合に、撮像されたフレーム画像の歪を抑制することが可能である。
なお、この第2の実施形態の第1の変形例でも、上述した第2の実施形態と同様に、ライン群Ls#xの読み出しを、フレームの下端側から上端側に向けて実行してもよい。また、フレームに対するライン群Ls#xの読み出しの途中で有効な認識結果が得られた場合に、ライン群の読み出しおよび認識処理を終了させることができる。そのため、認識処理における省電力化が可能となると共に、認識処理に要する時間を短縮することが可能となる。
[5−2.第2の実施形態の第2の変形例]
次に、第2の実施形態の第2の変形例について説明する。第2の実施形態の第2の変形例は、読出単位を1本のラインの一部とする例である。
図32は、第2の実施形態の第2の変形例に係るフレームの読み出し処理を説明するための模式図である。図32に示されるように、第2の実施形態の第2の変形例では、ライン順次で行われるライン読み出しにおいて、各ラインの一部(部分ラインと呼ぶ)が読出単位とされ、フレームFr(m)に対して、ライン順次で、各ラインにおける部分ラインLp#xに対して画素データの読み出しが行われる。認識処理部12において、読出決定部123は、例えばラインに含まれる画素のうち、順次に隣接する、ラインに含まれる全画素数より数が少ない複数の画素を、読出単位として決定する。
読出決定部123は、部分ラインLp#xとして決定された読出単位を示す情報に、当該部分ラインLp#xの画素データを読み出すための読出位置情報を付加した読出領域情報を、読出制御部111に渡す。ここで、読出単位を示す情報は、例えば部分ラインLp#xの1ライン内での位置と、部分ラインLp#xに含まれる画素数と、により構成することが考えられる。また、読出位置情報は、読み出しを行う部分ラインLp#xが含まれるラインの番号を用いることが考えられる。読出制御部111は、読出決定部123から渡された読出領域情報を読出部110に渡す。読出部110は、読出制御部111から渡された読出領域情報に従い、センサ部10からの画素データの読み出しを行う。
図32の例では、第mのフレームFr(m)において、フレームFr(m)の上端のラインに含まれる部分ラインLp#1から、ライン順次で、各ラインに含まれる部分ラインLp#2、Lp#3、…と各部分ラインLp#xの読み出しが行われる。フレームFr(m)におけるライン群の読み出しが完了すると、次の第(m+1)のフレームFr(m+1)において、同様にして上端のラインに含まれる部分ラインLp#1から、ライン順次で部分ラインLp#xの読み出しが行われる。
このように、ライン読み出しにおいて、読み出しを行う画素をラインの一部に含まれる画素に限定することで、ライン全体から画素データを読み出す場合に比べて狭い帯域で画素データの転送が可能となる。第2の実施形態の第2の変形例に係る読出方法では、ライン全体から画素データを読み出す場合に比べて画素データの転送量が少なくなるため、省電力化が可能となる。
なお、この第2の実施形態の第2の変形例でも、上述した第2の実施形態と同様に、部分ラインの読み出しを、フレームの下端側から上端側に向けて実行してもよい。また、フレームに対する部分ラインの読み出しの途中で有効な認識結果が得られた場合に、部分ラインLp#xの読み出しおよび認識処理を終了させることができる。そのため、認識処理における省電力化が可能となると共に、認識処理に要する時間を短縮することが可能となる。
[5−3.第2の実施形態の第3の変形例]
次に、第2の実施形態の第3の変形例について説明する。第2の実施形態の第3の変形例は、読出単位をフレーム内における所定サイズのエリアとした例である。
図33は、第2の実施形態の第3の変形例に係るフレーム読み出し処理を説明するための模式図である。図33に示されるように、第2の実施形態の第3の変形例では、フレーム内において、ライン方向および垂直方向のそれぞれに対して順次に隣接する複数の画素を含む所定サイズのエリアAr#x−yが読出単位とされ、フレームFr(m)に対して、当該エリアAr#x−yが例えばライン方向に順次に読み出され、さらに、このエリアAr#x−yのライン方向の順次の読み出しが垂直方向に順次に繰り返される。認識処理部12において、読出決定部123は、例えばライン方向のサイズ(画素数)と、垂直方向のサイズ(ライン数)と、により定義されるエリアAr#x−yを読出単位として決定する。
読出決定部123は、エリアAr#x−yとして決定された読出単位を示す情報に、当該エリアAr#x−yの画素データを読み出すための読出位置情報を付加した読出領域情報を、読出制御部111に渡す。ここで、読出単位を示す情報は、例えば上述したライン方向のサイズ(画素数)と、垂直方向のサイズ(ライン数)と、により構成することが考えられる。また、読出位置情報は、読み出しを行うエリアAr#x−yに含まれる所定の画素の位置、例えば当該エリアAr#x−yの左上隅の画素の画素位置を用いることが考えられる。読出制御部111は、読出決定部123から渡された読出領域情報を読出部110に渡す。読出部110は、読出制御部111から渡された読出領域情報に従い、センサ部10からの画素データの読み出しを行う。
図33の例では、第mのフレームFr(m)において、フレームFr(m)の左上隅に位置するエリアAr#1−1からライン方向に順次に、エリアAr#2−1、Ar#3−1、…と、各エリアAr#x−yの読み出しが行われる。フレームFr(m)において、ライン方向の右端まで読み出しが行われると、垂直方向の読み出し位置が移動され、再びフレームFr(m)の左端からライン方向に順次に、エリアAr#1−2、Ar#2−2、Ar#3−2、…と、各エリアAr#x−yの読み出しが行われる。
図34は、第2の実施形態の第3の変形例に係る認識処理を概略的に示す模式図である。図34に示されるように、認識処理は、CNN52’による処理および内部情報の更新55を、各エリアAr#1−1、Ar#2−1、Ar#3−1、…の画素情報54それぞれに対して順次に実行することで行われる。そのため、CNN52’には1エリア分の画素情報54を入力すればよく、認識器56を極めて小規模に構成することが可能である。なお、認識器56は、順次に入力される情報に対してCNN52’による処理を実行し内部情報の更新55を行うことから、RNNとしての構成を有する。
ライン順次の認識処理を、RNNを用いて行うことで、フレームに含まれる全てのラインを読み出さなくても、有効な認識結果が得られる場合がある。この場合、認識処理部12は、有効な認識結果が得られた時点で、認識処理を終了させることができる。図35および図36を用いて、読出単位がエリアAr#x−yである場合に、フレーム読み出しの途中で認識処理を終了させる例について説明する。
図35は、認識対象が数字の「8」である場合の例を示す図である。図35の例では、フレーム80において、全体の2/3程度の範囲81が読み出された時点の位置P1において、数字の「8」が認識されている。したがって、認識処理部12は、この範囲81が読み出された時点で数字の「8」が認識された旨を示す有効な認識結果を出力し、フレーム80に対するライン読み出しおよび認識処理を終了させることができる。
図36は、認識対象が人である場合の例を示す図である。図36の例では、フレーム82において、垂直方向の1/2程度の範囲83が読み出された時点の位置P2において、人84が認識されている。したがって、認識処理部12は、この範囲83が読み出された時点で人84が認識された旨を示す有効な認識結果を出力し、フレーム82に対するライン読み出しおよび認識処理を終了させることができる。
このように、第2の実施形態の第3の変形例では、フレームに対するエリア読み出しの途中で有効な認識結果が得られた場合に、エリア読み出しおよび認識処理を終了させることができる。そのため、認識処理における省電力化が可能となると共に、認識処理に要する時間を短縮することが可能となる。また、第2の実施形態の第3の変形例では、例えば上述した第2の実施形態や第2の実施形態の第1の変形例による、ライン方向の全幅にわたって読み出しを行う例に対して、冗長な読み出しが減り、認識処理に要する時間を短縮することが可能となる。
上述では、エリアAr#x−yの読み出しを、ライン方向に対して左端側から右端側に向けて行い、垂直方向に対してはフレームの上端側から下端側に向けて行っているが、これはこの例に限定されない。例えば、ライン方向の読み出しを右端側から左端側に向けて行ってもよいし、垂直方向の読み出しをフレームの下端側から上端側に向けて行ってもよい。
[5−4.第2の実施形態の第4の変形例]
次に、第2の実施形態の第4の変形例について説明する。第2の実施形態の第4の変形例は、読出単位を、隣接しない画素を含む複数の画素からなるパターンとする例である。
図37は、第2の実施形態の第4の変形例に係るフレームの読み出し処理を説明するための模式図である。図37に示されるように、第2の実施形態の第4の変形例では、例えばライン方向および垂直方向のそれぞれに対して離散的および周期的に配置される複数の画素により構成されるパターンPφ#x−yが読出単位とされる。図37の例では、ライン方向に所定の間隔毎に配置される3つの画素と、当該3つの画素に対してライン方向の位置をそれぞれ対応させて垂直方向に所定の間隔で配置される3つの画素と、の周期的に配置される6つの画素によりパターンPφ#x−yが構成されている。認識処理部12において、読出決定部123は、このパターンPφ#x−yに従い配列される複数の画素を、読出単位として決定する。
なお、上述では、パターンPφ#x−yが離散的な複数の画素により構成されるように説明したが、これはこの例に限定されない。例えば、互いに隣接する複数の画素を含む画素群の複数を離散的に配置して、パターンPφ#x−yを構成してもよい。例えば互いに隣接する2画素×2画素の4画素からなる画素群の複数を、図37に示されるように離散的且つ周期的に配置して、パターンPφ#x−yを構成することができる。
読出決定部123は、パターンPφ#x−yとして決定された読出単位を示す情報に、当該パターンPφ#x−yを読み出すための読出位置情報を付加した読出領域情報を、読出制御部111に渡す。ここで、読出単位を示す情報は、例えばパターンPφ#x−yを構成する画素のうち所定の画素(例えばパターンPφ#x−yを構成する画素のうち左上隅の画素)と、パターンPφ#x−yを構成する他の画素それぞれと、の位置関係を示す情報により構成することが考えられる。また、読出位置情報は、読み出しを行うパターンPφ#x−yに含まれる所定の画素の位置を示す情報(ライン内での位置を示す情報、および、ライン番号)を用いることが考えられる。読出制御部111は、読出決定部123から渡された読出領域情報を読出部110に渡す。読出部110は、読出制御部111から渡された読出領域情報に従い、センサ部10からの画素データの読み出しを行う。
図37の例では、第mのフレームFr(m)において、例えば左上隅の画素がフレームFr(m)の左上隅に位置するパターンPφ#1−1からライン方向に順次に例えば1画素ずつ位置をずらしながら、パターンPφ#2−1、Pφ#3−1、…と、各パターンPφ#x−yの読み出しが行われる。例えばパターンPφ#x−yの右端がフレームFr(m)の右端に達すると、フレームFr(m)の左端から、垂直方向に1画素分(1ライン分)位置をずらして、同様にしてパターンPφ#1−2、Pφ#2−2、Pφ#3−2、…と、各パターンPφ#x−yの読み出しが行われる。
パターンPφ#x−yは、画素が周期的に配置されて構成されているため、パターンPφ#x−yを1画素ずつずらす動作は、パターンPφ#x−yの位相をずらす動作であるといえる。すなわち、第2の実施形態の第4の変形例では、パターンPφ#x−yをライン方向に位相Δφずつずらしながら、各パターンP#x−yの読み出しを行う。パターンPφ#x−yの垂直方向への移動は、例えばライン方向の最初のパターンPφ#1−yの位置に対して垂直方向に位相Δφ’をずらして行う。
図38は、第2の実施形態の第4の変形例に適用可能な認識処理を概略的に示す模式図である。図38では、水平方向(ライン方向)および垂直方向にそれぞれ1画素を置いて離れた4つの画素によりパターンPφ#zが構成されている例を示している。図38のセクション(a)、(b)、(c)および(d)に示されるように、水平方向および垂直方向にそれぞれ1画素分の位相をずらした4個の画素によるパターンPφ#1、Pφ#2、Pφ#3およびPφ#4により、4画素×4画素のエリアに含まれる16個の全ての画素を重複せずに読み出すことができる。パターンPφ#1、Pφ#2、Pφ#3およびPφ#4それぞれに従い読み出された各4個の画素は、4画素×4画素のサンプル領域に含まれる16個の画素を互いに重複しないように抽出したサブサンプルSub#1、Sub#2、Sub#3およびSub#4である。
図38のセクション(a)〜(d)の例では、認識処理は、CNN52’による処理および内部情報の更新55を、サブサンプルSub#1、Sub#2、Sub#3およびSub#4それぞれに対して実行することで行われる。そのため、CNN52’には、一度の認識処理に対して4個の画素データのみを入力すればよく、認識器56を極めて小規模に構成することが可能である。
図39は、第2の実施形態の第4の変形例に係る読み出しおよび制御の例を示す一例のタイムチャートである。図39において、撮像周期は、フレーム周期であって、例えば1/30[sec]である。センサ部10からのフレームの読み出しは、このフレーム周期で行われる。撮像時間は、フレームに含まれる全てのサブサンプルSub#1〜Sub#4の撮像を行うために要する時間である。図39の例では、撮像時間は、撮像周期と同一の1/30[sec]とされている。なお、1つのサブサンプルSub#xの撮像を、サブサンプル撮像と呼ぶ。
第2の実施形態の第4の変形例では、撮像時間を4つの期間に分割し、それぞれの期間において、各サブサンプルSub#1、Sub#2、Sub#3およびSub#4のサブサンプル撮像を実行する。
より具体的には、センサ制御部11は、撮像時間を分割した第1〜第4の期間のうち、第1の期間において、サブサンプルSub#1によるサブサンプル撮像を、フレーム全体にわたり実行する。センサ制御部11は、例えば、4画素×4画素のサンプル領域を、互いに重複しないようにライン方向に移動させながらサブサンプルSub#1の抽出を行う。センサ制御部11は、このライン方向にサンプル領域を移動させながらサブサンプルSub#1の抽出を行う動作を、垂直方向に繰り返し実行する。
1フレーム分のサブサンプルSub#1の抽出が終了すると、認識処理部12は、例えば抽出された1フレーム分のサブサンプルSub#1を、サブサンプルSub#1毎に認識器56に入力して認識処理を実行する。認識処理部12は、1フレーム分の認識処理の終了後に認識結果を出力する。これに限らず、認識処理部12は、1フレーム分の認識処理の途中で有効な認識結果が得られた場合に認識結果を出力し、当該サブサンプルSub#1に対する認識処理を終了させてもよい。
以降、第2、第3および第4の期間それぞれにおいて、同様にして、サブサンプルSub#2、Sub#3およびSub#4による、フレーム全体にわたるサブサンプル撮像をそれぞれ実行する。
図40および図41を用いて、第2の実施形態の第4の変形例に係るフレーム読み出し処理について、より具体的に説明する。図40は、認識対象が数字の「8」であり、大きさの異なる3つの数字「8」が1フレームに含まれている場合の例を示す図である。図40のセクション(a)、(b)および(c)において、フレーム90に対して、それぞれ数字の「8」を示し、大きさの異なる3つのオブジェクト93L、93Mおよび93Sが含まれている。これらのうち、オブジェクト93Lが最も大きく、オブジェクト93Sが最も小さい。
図40のセクション(a)において、サンプル領域92においてサブサンプルSub#1が抽出されている。フレーム90に含まれる各サンプル領域92においてサブサンプルSub#1を抽出することで、図40のセクション(a)に示されるように、フレーム90から、水平および垂直方向それぞれに対して1画素おきの間隔で、格子状に画素が読み出される。図40のセクション(a)の例では、認識処理部12は、この格子状に読み出された画素の画素データに基づき、オブジェクト93L、93Mおよび93Sのうち最も大きなオブジェクト93Lを認識している。
フレーム90からのサブサンプルSub#1の抽出が終了すると、次に、サンプル領域92におけるサブサンプルSub#2の抽出が行われる。サブサンプルSub#2は、サブサンプルSub#1に対して、サンプル領域92内において水平および垂直方向にそれぞれ1画素ずつずれた画素からなる。認識器56は、サブサンプルSub#1の認識結果に基づき内部状態が更新されているので、サブサンプルSub#2の抽出に応じた認識結果は、サブサンプルSub#1の認識処理の影響を受けたものとなる。そのため、サブサンプルSub#2の抽出に応じた認識処理は、図40のセクション(b)に示されるように、市松模様状に読み出された画素の画素データに基づき行われたと考えることができる。したがって、図40のセクション(b)に示す、サブサンプルSub#2をさらに抽出した状態は、図40のセクション(a)に示すサブサンプルSub#1のみを抽出した状態に対して、画素データに基づく解像度が向上し、より高精度の認識処理が可能となる。図40のセクション(b)の例では、上述したオブジェクト93Lの次に大きなオブジェクト93Mが、さらに認識されている。
図40のセクション(c)は、フレーム90において、サンプル領域92に含まれる全てのサブサンプルSub#1〜Sub#4の抽出が終了した状態を示している。この図40のセクション(c)では、フレーム90に含まれる全ての画素が読み出されることになり、サブサンプルSub#1およびSub#2の抽出で認識されたオブジェクト93Lおよび93Mに加え、最も小さいオブジェクト93Sが認識されている。
図41は、認識対象が人であって、当該撮像装置1からそれぞれ異なる距離にいる3人の画像が1フレームに含まれている場合の例を示す図である。図41のセクション(a)、(b)および(c)において、フレーム95に対して、それぞれ人の画像であって、大きさの異なる3つのオブジェクト96L、96Mおよび96Sが含まれている。これらのうち、オブジェクト96Lが最も大きく、フレーム95に含まれる3人のうち、当該オブジェクト96Lに対応する人が当該撮像装置1の最も近距離にいることになる。また、オブジェクト96L、96Mおよび96Sのうち最も小さいオブジェクト96Sは、フレーム95に含まれる3人のうち、当該オブジェクト96Sに対応する人が当該撮像装置1に対して最も遠距離にいる人を表している。
図41において、セクション(a)は、図40のセクション(a)に対応し、上述したサブサンプルSub#1の抽出を行い認識処理を実行し、最も大きなオブジェクト96Lが認識された例である。図41のセクション(b)は、図40のセクション(b)に対応し、図41のセクション(a)の状態に対して、さらにサブサンプルSub#2の抽出を行い認識処理を実行し、次に大きなオブジェクト96Mが認識された例である。また、図41のセクション(c)は、図40のセクション(c)に対応し、図41のセクション(b)の状態に対して、さらにサブサンプルSub#3およびSub#4の抽出を行い認識処理を実行し、フレーム95に含まれる全画素の画素データに基づき認識処理を実行した例である。図41のセクション(c)では、オブジェクト96Lおよび96Mに加え、最も小さなオブジェクト96Sが認識された様子が示されている。
このように、サブサンプルSub#1、Sub#2、…と抽出を行い認識処理を繰り返すことで、順次、より遠方にいる人を認識できるようになる。
図40および図41の例において、例えば認識処理に割り当て可能な時間に応じて、フレーム読み出しおよび認識処理を制御することができる。一例として、認識処理に割当可能な時間が短い場合、フレーム90におけるサブサンプルSub#1の抽出が終了し、オブジェクト93Lが認識された時点で、フレーム読み出しおよび認識処理を終了することが考えられる。一方、認識処理に割り当て可能な時間が長い場合、全てのサブサンプルSub#1〜Sub#4の抽出が終了するまで、フレーム読み出しおよび認識処理の実行を継続させることが考えられる。
これに限らず、認識処理部12は、認識結果の信頼度(スコア)に応じてフレーム読み出しおよび認識処理を制御してもよい。例えば、認識処理部12は、図41のセクション(b)において、サブサンプルSub#2の抽出および認識処理に基づく認識結果に対するスコアが所定以上であれば、認識処理を終了させ、次のサブサンプルSub#3の抽出を実行しないようにできる。
このように、第2の実施形態の第4の変形例では、所定の認識結果が得られた時点で認識処理を終了させることができ、認識処理部12における処理量の削減や、省電力化が可能となる。
また、第2の実施形態の第4の変形例では、フレーム内のサイズが大きなオブジェクトに対する認識応答速度を高速化でき、フレームレートを上げることが可能となる。
[5−5.第2の実施形態の第5の変形例]
次に、第2の実施形態の第5の変形例について説明する。第2の実施形態の第5の変形例は、読出単位を、隣接しない画素を含む複数の画素がランダム的に配置されたパターンとする例である。
図42は、第2の実施形態の第5の変形例に係るフレーム読み出し処理を説明するための模式図である。図42に示されるように、第2の実施形態の第5の変形例では、例えばフレームFr(m)内に離散的および非周期的に配置される複数の画素により構成されるパターンRd#m_xが読出単位とされる。すなわち、第2の実施形態の第5の変形例に係る読出単位は、フレームの全体が対象とされる。
第2の実施形態の第5の変形例では、上述した図39を参照し、1フレーム周期を複数の期間に分割し、期間毎にパターンを切り替える。図42の例では、第mのフレームFr(m)のフレーム周期が分割された最初の期間において、認識処理部12は、フレームFr(m)内の、離散的および非周期的に配置される複数の画素によるパターンRd#m_1に従い画素を読み出して認識処理を実行する。一例として、認識処理部12は、フレームFr(m)に含まれる全画素数がs、フレーム周期の分割数がDとした場合、フレームFr(m)内の、離散的および非周期的に配置される(s/D)個の画素を選択し、パターンRd#m_1を構成する。
当該フレーム周期が分割された次の期間において、認識処理部12は、フレームFr(m)においてパターンRd#m_1とは異なる画素が選択されたパターンRd#m_2に従い画素を読み出して認識処理を実行する。
次の第(m+1)のフレームFr(m+1)においても同様に、フレームFr(m+1)のフレーム周期が分割された最初の期間において、認識処理部12は、フレームFr(m+1)内の、離散的および非周期的に配置される複数の画素によるパターンRd#(m+1)_1に従い画素を読み出して認識処理を実行する。認識処理部12は、次の期間において、パターンRd#(m+1)_1とは異なる画素が選択されたパターンRd#(m+1)_2に従い画素を読み出して認識処理を実行する。
認識処理部12において、読出決定部123は、例えば、フレームFr(m)のフレーム周期が分割された最初の期間において、フレームFr(m)に含まれる全画素から、疑似乱数に基づき所定数の画素を選択して読出単位としてのパターンRd#m_1を決定する。読出決定部123は、次の期間において、例えばフレームFr(m)に含まれる全画素からパターンRd#m_1で選択した画素を除いた画素から、疑似乱数に基づき所定数の画素を選択して、読出単位としてのパターンRd#m_2を決定する。これに限らず、認識処理部12は、再びフレームFr(m)に含まれる全画素から疑似乱数に基づき所定数の画素を選択して、読出単位としてのパターンRd#m_2を決定してもよい。
読出決定部123は、パターンRd#m_xとして決定された読出単位を示す情報に、当該パターンRd#m_xの画素データを読み出すための読出位置情報を付加した読出領域情報を、読出制御部111に渡す。読出制御部111は、読出決定部123から渡された読出領域情報を読出部110に渡す。読出部110は、読出制御部111から渡された読出領域情報に従い、センサ部10からの画素データの読み出しを行う。
ここで、読出単位を示す情報は、例えば当該パターンRd#m_1に含まれる各画素の、フレームFr(m)内における位置情報(例えばライン番号およびライン内での画素位置を示す情報)により構成することが考えられる。また、この場合の読出単位は、フレームFr(m)の全体を対象としてるため、読出位置情報を省略することが可能である。読出位置情報として、フレームFr(m)内の所定の画素の位置を示す情報を用いてもよい。
第2の実施形態の第5の変形例では、このように、フレーム読み出し処理を、フレームFr(m)の全画素から離散的且つ非周期的に配置される複数の画素によるパターンRd#m_xを用いて行っている。そのため、周期的なパターンを用いた場合と比較して、サンプリングのアーティフィクトを減少させることが可能である。例えば、第2の実施形態の第5の変形例に係るフレーム読み出し処理によれば、認識処理において、時間的な周期パターン(例えばフリッカ)に対して誤検出や未検出を抑制できる。また、当該フレーム読み出し処理によれば、認識処理において、空間的な周期パターン(柵や網目状の構造物など)に対する誤検出や未検出の抑制も可能である。
さらに、当該フレーム読み出し処理によれば、時間の経過に伴い認識処理に用いることができる画素データが増加していくため、例えばフレームFr(m)内のサイズが大きなオブジェクトに対する認識応答速度を高速化でき、フレームレートを上げることが可能となる。
なお、上述では、認識処理部12が、各パターンRd#m_xを、その都度生成するように説明したが、これはこの例に限定れない。例えば、各パターンRd#m_xを予め生成してメモリなどに記憶しておき、読出決定部123は、この記憶された各パターンRd#m_xからメモリから読み出して用いてもよい。
[5−6.第2の実施形態の第6の変形例]
次に、第2の実施形態の第6の変形例について説明する。第2の実施形態の第6の変形例は、認識処理の結果に応じて読出単位の構成を変更する例である。図43は、第2の実施形態の第6の変形例に係るフレームの読み出し処理を説明するための模式図である。ここでは、図37を用いて説明した、隣接しない画素を含む複数の画素からなるパターンによる読出単位を例にとって説明を行う。
図43において、第mのフレームFr(m)で、図37を用いて説明したパターンPφ#x−yと同様に、読出決定部123は、ライン方向および垂直方向のそれぞれに対して離散的および周期的に配置される複数の画素により構成されるパターンPt#x−yを生成し、初期の読出単位とする。読出決定部123は、パターンPt#x−yとして決定された読出単位を示す情報に、当該パターンPt#x−yを読み出すための読出位置情報を付加した読出領域情報を、読出制御部111に渡す。読出制御部111は、読出決定部123から渡された読出領域情報を読出部110に渡す。読出部110は、読出制御部111から渡された読出領域情報に従い、センサ部10からの画素データの読み出しを行う。
認識処理部12は、図43に示すように、フレームFr(m)において、左端側から水平方向に位相Δφで位置をずらしつつパターンPt#1−1、Pt#2−1、Pt#3−1と、読み出しおよび認識処理を行い、パターンPt#x−yの右端がフレームFr(m)の右端に達すると、再びフレームFr(m)の右端側から、垂直方向に位相Δφ’で位置をずらし、水平方向に位相Δφで位置をずらしつつパターンPt#1−2、…と読み出しおよび認識処理を行う。
フレームFr(m)における認識結果に応じて、認識処理部12は、新たなパターンPt’#x−yを生成する。一例として、認識処理部12は、フレームFr(m)に対する認識処理において、フレームFr(m)の中央部に対象のオブジェクト(例えば人)を認識したものとする。認識処理部12において、読出決定部123は、この認識結果に応じて、新たな読出単位として、フレームFr(m)の中央部の画素に集中して読み出しを行うパターンPt’#x−yを生成する。
読出決定部123は、パターンPt’#x−1を、パターンPt#x−yと比較してより少ない画素により生成することができる。また、読出決定部123は、パターンPt’#x−yの画素配置を、パターンPt#x−yにおける画素配置に対してより密集させたものとすることができる。
読出決定部123は、パターンPt’#x−yとして決定された読出単位を示す情報に、当該パターンPt’#x−yを読み出すための読出位置情報を付加した読出領域情報を、読出制御部111に渡す。ここで、読出決定部123は、このパターンPt’#x−yを次のフレームFr(m+1)に適用する。読出制御部111は、読出決定部123から渡された読出領域情報を読出部110に渡す。読出部110は、読出制御部111から渡された読出領域情報に従い、センサ部10からの画素データの読み出しを行う。
図43の例では、認識処理部12は、フレームFr(m+1)において、先ずフレームFr(m+1)の中央部においてパターンPt’#1−1による読み出しおよび認識処理を行い、次に水平方向に例えば位相Δφで位置をずらしてパターンPt’#2−1による読み出しおよび認識処理を行う。さらに、認識処理部12は、パターンPt’#1−1の位置から垂直方向に位相Δφ’で位置をずらし、さらに水平方向に位相Δφで位置をずらしつつ、パターンPt’#1−2およびPt’#2−2の読み出しを行う。
第2の実施形態の第6の変形例では、このように、初期パターンであるパターンPt#x−yに基づくフレームFr(m)における認識結果に基づき、次のフレームFr(m+1)で画素の読み出しに用いるパターンPt’#x−yを生成する。これにより、より高精度の認識処理が可能となる。また、認識処理の結果に応じて生成する新たなパターンPt’#x−yを用いて、オブジェクトが認識された部分に絞り込んで認識処理を実行することで、認識処理部12における処理量の削減、省電力化、フレームレートの向上などが実現可能となる。
(第6の変形例の他の例)
次に、第2の実施形態の第6の変形例の他の例について説明する。図44は、第2の実施形態の第6の変形例に係る読み出しおよび認識処理をおこなうパターンの例を示す図である。図44に示されるパターンCc#xは、環状の形状とされ、時間の経過に伴い環状の半径が変化するようにされた読出単位である。図44の例では、フレームFr(m)のフレーム周期が分割された最初の期間において、半径の小さいパターンCc#1とされ、次の期間でパターンCc#1より半径の大きなパターンCc#2とされ、その次の期間でパターンCc#2よりさらに半径の大きなパターンCc#3とされている。
例えば、認識処理部12は、上述の図43に示すように、フレームFr(m)において、左端側から水平方向に位相Δφで位置をずらしつつパターンPt#1−1、Pt#2−1、Pt#3−1と、読み出しおよび認識処理を行い、パターンPt#x−yの右端がフレームFr(m)の右端に達すると、再びフレームFr(m)の右端側から、垂直方向に位相Δφ’で位置をずらし、水平方向に位相Δφで位置をずらしつつパターンPt#1−2、…と読み出しおよび認識処理を行う。
フレームFr(m)における認識結果に応じて、認識処理部12は、環状の形状を有する新たなパターンCc#1を生成する。一例として、認識処理部12は、フレームFr(m)に対する認識処理において、フレームFr(m)の中央部に対象のオブジェクト(例えば人)を認識したものとする。認識処理部12において、読出決定部123は、この認識結果に応じて、パターンCc#1、Cc#2、…を生成し、このパターンCc#1、Cc#2、…に基づき読み出しおよび認識処理を行う。
なお、図44では、パターンCc#mの半径を時間の経過に伴い大きくしているが、これはこの例に限定されず、パターンCc#mの半径を時間の経過に伴い小さくしていってもよい。
第2の実施形態の第6の変形例のさらに他の例として、読み出しを行うパターンにおける画素の粗密を変化させてもよい。また、図44に示したパターンCc#mでは、環状形状の中心から外周に向けて、あるいは、外周から中心に向けて大きさを変化させているが、これはこの例に限定されない。
[5−7.第2の実施形態の第7の変形例]
次に、第2の実施形態の第7の変形例について説明する。上述した第2の実施形態、および、第2の実施形態の第1〜第4の変形例では、画素の読み出しを行うライン、エリアおよびパターンを、フレーム内の座標の順序(ライン番号、ライン内の画素の順番など)に従い順次に移動させていた。これに対して、第2の実施形態の第7の変形例では、フレーム内の画素を短時間でより均一に読み出せるように、画素の読み出しを行うライン、エリアおよびパターンを設定する。
図45は、第2の実施形態の第7の変形例に係るフレームの読み出し処理の第1の例を説明するための模式図である。なお、図45では、説明のため、説明のため、フレームFr(m)がラインL#1、L#2、L#3、L#4、L#5、L#6、L#7、L#8の8ラインを含むものとしている。
図45のセクション(a)に示す読み出し処理は、第2の実施形態において図24を用いて説明した読み出し処理に対応するもので、読出単位がラインとされ、フレームFr(m)に対して、ラインL#1、L#2、…、L#8の順に、ライン順次で画素データの読み出しを行う例を示している。このセクション(a)の例では、フレームFr(m)の読み出しを開始してから、フレームFr(m)の下部の画素データが得られるまでの遅延が大きい。
図45のセクション(b)は、第2の実施形態の第7の変形例に係る読み出し処理の例を示している。このセクション(b)でも、上述した図45のセクション(a)と同様に、読出単位がラインとされている。このセクション(b)の例では、フレームFr(m)において、奇数ライン番号の各ラインと、偶数ライン番号の各ラインと、のそれぞれについて、ライン間の距離がフレームFr(m)のライン数の1/2だけ離れた2本のラインを組としている。そして、この組のうち奇数ライン番号の組を順次読み出し、次に偶数ライン番号の組を順次読み出すようにしている。
より具体的には、図45のセクション(b)の例では、フレーム周期の前半において、例えばフレームFr(m)に含まれる各ラインL#xのうち、奇数ライン番号のラインL#1、L#3、L#5およびL#7について、読み出し順を入れ替えて、ラインL#1、L#5、L#3、L#7の順に読み出している。フレーム周期の後半についても同様に、フレームFr(m)に含まれる各ラインL#xのうち、偶数ライン番号のラインL#2、L#4、L#6およびL#8について、読み出し順を入れ替えて、ラインL#2、L#6、L#4、L#8の順に読み出している。
このような各ラインL#xの読み出し順の制御は、読出決定部123が、読出位置情報を図45のセクション(b)に示されるような読み出し順に応じて順次に設定することで、実現することが可能である。
このように読み出し順を決めることで、フレームFr(m)の読み出しを開始してから、フレームFr(m)の下部の画素データが得られるまでの遅延を、セクション(a)の例と比較して、短縮することが可能である。また、第2の実施形態の第7の変形例では、フレーム内のサイズが大きなオブジェクトに対する認識応答速度を高速化でき、フレームレートを上げることが可能となる。
なお、図45のセクション(b)を用いて説明した各ラインL#xの読み出し順は一例であって、想定するオブジェクトの認識が容易なように、読出領域を設定することができる。例えば、読出決定部123は、撮像装置1の外部から与えられた外部情報に基づきフレーム内で認識処理を優先的に実行する領域を設定し、この領域に対する読出領域の読み出しを優先的に実行するように、読出位置情報を決定することができる。また、読出決定部123は、フレーム内において撮像されるシーンに応じて、フレーム内で認識処理を優先的に実行する領域を設定することもできる。
また、この第2の実施形態の第7の変形例においても、上述した第2の実施形態と同様に、フレームに対する各ラインの読み出しの途中で有効な認識結果が得られた場合に、ラインの読み出しおよび認識処理を終了させることができる。これにより、認識処理における省電力化が可能となると共に、認識処理に要する時間を短縮することが可能となる。
(第2の実施形態の第7の変形例の第1の他の例)
次に、第2の実施形態の第7の変形例の第1の他の例ついて説明する。上述した第2の実施形態の第7の変形例では、1本のラインを読出単位としていたが、これはこの例に限定されない。この第1の他の例では、隣接しない2本のラインを読出単位としている。
図46は、第2の実施形態の第7の変形例の第1の他の例によるフレームの読み出し処理を説明するための模式図である。図46の例では、図45のセクション(b)において説明した、フレームFr(m)において、ライン番号が奇数の各ラインと、ライン番号が偶数の各ラインと、のそれぞれについて組にした、ライン間の距離がライン数の1/2だけ離れた2本のラインを、読出単位としている。より具体的には、ラインL#1およびL#5の組、ラインL#3およびL#7の組、ラインL#2およびL#6の組、ならびに、ラインL#4およびL#8の組、がそれぞれ読出単位とされている。そして、この組のうちライン番号が奇数の組を順次読み出し、次にライン番号が偶数の組を順次読み出すようにしている。
この第1の他の例では、読出単位が2本のラインを含むため、認識処理に要する時間を、上述した第2の実施形態の第7の変形例に対して、より短縮することが可能である。
(第2の実施形態の第7の変形例の第2の他の例)
次に、第2の実施形態の第7の変形例の第2の他の例ついて説明する。この第2の他の例は、図33を用いて説明した、第2の実施形態の第3の変形例による、読出単位をフレーム内における所定サイズのエリアとした例に、フレーム内の画素を短時間でより均一に読み出せるように読出単位の読み出しを行う読出領域を設定する例を適用させたものである。
図47は、第2の実施形態の第7の変形例の第2の他の例によるフレームの読み出し処理を説明するための模式図である。図47の例では、図33を用いて説明した各エリアAr#x−yの位置を、フレームFr(m)において離散的に指定して、フレームFr(m)の読み出しを行う。一例として、フレームFr(m)の左上隅のエリアAr#1−1の読み出しおよび認識処理の後に、フレームFr(m)において当該エリアAr#1−1と同じラインを含み、フレームFr(m)のライン方向の中央部に位置するエリアAr#3−1の読み出しおよび認識処理を行う。次に、フレームFr(m)の下部の1/2の領域の左上隅のエリアAr#1−3の読み出しおよび認識処理を行い、フレームFr(m)において当該エリアAr#1−3と同じラインを含み、フレームFr(m)のライン方向の中央部に位置するエリアAr#3−3の読み出しおよび認識処理を行う。
エリアAr#2−2およびAr#4−2、ならびに、エリアAr#2−4およびAr#4−4も同様にして、読み出しおよび認識処理を行う。
このように読み出し順を決めることで、フレームFr(m)の読み出しをフレームFr(m)の左端側から開始してから、フレームFr(m)の下部および右端側の画素データが得られるまでの遅延を、図33の例と比較して、短縮することが可能である。また、この第2の他の例では、フレーム内のサイズが大きなオブジェクトに対する認識応答速度を高速化でき、フレームレートを上げることが可能となる。
また、この第2の他の例においても、上述した第2の実施形態と同様に、フレームに対する各エリアAr#x−yの読み出しの途中で有効な認識結果が得られた場合に、エリアAr#x−yの読み出しおよび認識処理を終了させることができる。これにより、認識処理における省電力化が可能となると共に、認識処理に要する時間を短縮することが可能となる。
(第2の実施形態の第7の変形例の第3の他の例)
次に、第2の実施形態の第7の変形例の第3の他の例ついて説明する。この第3の他の例は、図37を用いて説明した、第2の実施形態の第3の変形例による、読出単位をライン方向および垂直方向のそれぞれに対して離散的および周期的に配置される複数の画素により構成されるパターンとした例に、フレーム内の画素を短時間でより均一に読み出せるように読出単位の読み出しを行う読出領域を設定する例を適用させたものである。
図48は、第2の実施形態の第7の変形例の第3の他の例によるフレームの読み出し処理を説明するための模式図である。図48の例では、パターンPφ#zを図37を用いて説明したパターンPφ#x−yと同等の構成とし、パターンPφ#zの位置を、フレームFr(m)において離散的に指定して、フレームFr(m)の読み出しを行う。
一例として、認識処理部12は、フレームFr(m)の左上隅を開始位置として、当該左上隅に位置するパターンPφ#1の読み出しおよび認識処理を行う。次に、パターンPφ#1における画素のライン方向および垂直方向それぞれの間隔の1/2の距離だけ位置をずらしたパターンPφ#2の読み出しおよび認識処理を行う。次に、パターンPφ#1の位置に対してライン方向の間隔の1/2だけ位置をずらしたパターンPφ#3の読み出しおよび認識処理を行い、次にパターンPφ#1の位置に対して垂直方向の間隔の1/2だけ位置をずらしたパターンPφ#4の読み出しおよび認識処理を行う。これらパターンPφ#1〜Pφ#4の読み出しおよび認識処理を、パターンPφ#1の位置を例えば1画素ずつライン方向にずらしながら繰り返し実行し、さらに1画素ずつ垂直方向にずらしながら、繰り返して実行する。
このように読み出し順を決めることで、フレームFr(m)の読み出しをフレームFr(m)の左端側から開始してから、フレームFr(m)の下部および右端側の画素データが得られるまでの遅延を、図37の例と比較して、短縮することが可能である。また、この第3の他の例では、フレーム内のサイズが大きなオブジェクトに対する認識応答速度を高速化でき、フレームレートを上げることが可能となる。
また、この第3の他の例においても、上述した第2の実施形態と同様に、フレームに対する各パターンPφ#zの読み出しの途中で有効な認識結果が得られた場合に、パターンPφ#zの読み出しおよび認識処理を終了させることができる。これにより、認識処理における省電力化が可能となると共に、認識処理に要する時間を短縮することが可能となる。
[5−8.第2の実施形態の第8の変形例]
次に、第2の実施形態の第8の変形例について説明する。第2の実施形態の第8の変形例は、センサ部10における露出およびアナログゲインのうち少なくとも一方を、予め定められたパターンに従い制御する例である。なお、以下では、アナログゲインを適宜「AG」と略して説明を行う。
図49は、第2の実施形態の第8の変形例に係る機能を説明するための一例の機能ブロック図である。図49において、読出決定部123aは、特徴量蓄積制御部121から渡される読出情報に基づき、読出領域情報と、露出時間およびアナログゲインを示す情報と、を生成する。これに限らず、読出決定部123aは、露出時間およびアナログゲインに関して、これらのうち少なくとも一方を生成するようにしてもよい。読出決定部123aは、生成した読出領域情報、露出時間およびアナログゲインを、読出部110に渡す。
図50は、第2の実施形態の第8の変形例に係る認識処理を示す一例のフローチャートである。この図50のフローチャートによる処理は、例えばフレームからの読出単位(例えば1ライン)の画素データの読み出しに対応する処理である。なお、ここでは、読出単位がラインであるものとして説明を行い、読出領域情報は、読出を行うラインを示すライン番号であるものとする。
図50のフローチャートにおいて、ステップS100〜ステップS107の処理は、第2の実施形態で説明した図28のフローチャートにおけるステップS100〜ステップS107の処理と同等である。
すなわち、ステップS100で、認識処理部12は、フレームの読出ラインで示されるラインからラインデータの読み出しを行う。次のステップS101で、特徴量計算部120は、読出部110から渡されたラインデータに基づきラインの特徴量を算出する。次のステップS102で、特徴量計算部120は、特徴量蓄積制御部121から、特徴量蓄積部122に蓄積されている特徴量を取得する。次のステップS103で、特徴量計算部120は、ステップS101で算出された特徴量と、ステップS102で特徴量蓄積制御部121から取得した特徴量と、を統合して特徴量蓄積制御部121に渡す。
次のステップS104で、特徴量蓄積制御部121は、統合された特徴量を、特徴量蓄積部122に蓄積する(ステップS104)。次のステップS105で、認識処理実行部124は、統合された特徴量を用いて認識処理を実行する。次のステップS106で、認識処理実行部124は、ステップS105の認識処理による認識結果を出力する。ステップS107で、認識処理部12において読出決定部123は、特徴量蓄積制御部121から渡された読出情報に従い次の読み出しを行う読出ラインを決定する。
ステップS107の処理の後、処理がステップS1070に移行される。ステップS1070で、読出決定部123は、予め定められた露出パターン従い次の読み出しにおける露出時間を決定する。次のステップS1071で、読出決定部123は、予め定められたAGパターンに従い次の読み出しにおけるアナログゲインを決定する。
ステップS107で決定された読出ラインに対して、ステップS1070およびステップS1071でそれぞれ決定された露出時間およびアナログゲインを適用して、ステップS100からの処理が再び実行される。
なお、ステップS107〜ステップS1071の順序は、上述の順序に限られない。また、ステップS1070およびステップS1071の処理のうち一方は、省略することができる。
(読み出しおよび認識処理の第1の例)
次に、第2の実施形態の第8の変形例に係る読み出しおよび認識処理の第1の例について、図51Aおよび図51Bを用いて説明する。図51Aは、第2の実施形態の第8の変形例に適用可能な露出バターンの例を示す模式図である。図51Aにおいて、縦軸はライン、横軸は時間を示している。図51Aの例では、露出パターンは、ラインL#1、L#2、…毎に交互に、第1の露出時間と、第1の露出時間よりも短い第2の露出時間と、が適用されるパターンとなっている。したがって、ライン番号が奇数のラインL#1、L#3、…、L#(2n−1)において第1の露出時間により露出が行われ、ライン番号が偶数のラインL#2、L#4、…、L#2nにおいて第1の露出時間より時間が短い第2の露出時間により行われる。なお、ラインデータの転送時間は、露出時間に関わらず一定とされる。
図51Bは、図51Aの露出パターンに従い撮像を行った場合の撮像画像の例を示す図である。この例では、ライン番号が奇数のラインL#1、L#3、…、L#(2n−1)では露出オーバーになるように第1の露出時間が設定され、ライン番号が偶数のラインL#2、L#4、…、L#2nでは露出アンダーになるように第2の露出時間が設定されている。
ここで、認識処理部12、より詳細には、図22を参照し、特徴量抽出処理1200、統合処理1202、内部状態更新処理1211および認識処理1240は、それぞれ、図51Bに示したような、予め、ライン毎に明暗が切り替わる画像に基づき学習を行い求めたパラメータにより実行される。これに限らず、認識処理部12は、一般的な画像を用いて学習を行ってもよい。
このように、1フレーム内においてライン毎に交互に異なる露出を設定することで、認識処理部12は、1フレームにおける認識処理において明るいオブジェクトおよび暗いオブジェクトをそれぞれ認識可能となる。
なお、図51Aの例では、所定の露出パターンに従い、ライン毎に交互に露出時間を切り替えているが、これはこの例に限定されない。すなわち、所定のAGパターンに従い、ライン毎に交互にアナログゲインを切り替えてもよいし、所定の露出パターンおよびAGパターンにそれぞれ従い、露出時間およびアナログゲインをそれぞれ切り替えてもよい。
また、図51Aの例では、読出単位をラインとし、ライン毎に交互に第1の露出時間と第2の露出時間とを設定しているが、これはこの例に限定されない。例えば、上述した第2の実施形態の第1〜第7の変形例の各読出単位に対して、第2の実施形態の第8の変形例による、読出単位毎の露出時間およびアナログゲインの設定を適用することも可能である。
[5−9.第2の実施形態の第9の変形例]
次に、第2の実施形態の第9の変形例について説明する。第2の実施形態の第9の変形例は、フレームにおいて、露出時間の長短を、空間的に粗密を異ならせて設定する例である。なお、第2の実施形態の第9の変形例では、図49を用いて説明した構成をそのまま適用できるので、構成に関する詳細な説明を省略する。
図52は、第2の実施形態の第9の変形例に係る露出パターンの例を示す図である。図52のセクション(a)〜(c)において、各マスは例えば複数画素を含むエリアである。図52の各セクション(a)〜(c)において、白抜きのマスは、露出を行わない、あるいは、読み出しを行わないエリアである。また、図52においては、マスの濃淡で3段階に露出時間を表現しており、露出時間が短いマスは、より濃く塗り潰されている。以下、白抜きのマスは露出を行わないエリアを示すものとする。また、塗り潰しがなされているマスは、塗り潰しの濃淡に応じて、短時間、中時間および長時間の露出時間で露出が行われるエリアであるものとして説明を行う。なお、中時間は、短時間より長く長時間より短い時間である。図52の各セクション(a)〜(c)のそれぞれにおいて、例えば塗り潰しがなされたマスの集合により読出単位が構成される。
具体的には、セクション(a)に示すフレーム210aは、露出時間が短時間に設定されたエリアが、中央部において密とされ、周辺部に向かうに連れ疎となっていく例(第1のパターンとする)である。また、セクション(b)に示すフレーム210bは、露出時間が中時間に設定されたエリアが、フレーム210bの全体に略均一に配置された例(第2のパターンとする)である。さらに、セクション(c)に示すフレーム210cは、露出時間が長時間に設定されたエリアが、周辺部において密とされ、中央部に向かうに連れ疎となっていく例(第3のパターンとする)である。
認識処理部12において読出決定部123は、例えば特徴量蓄積制御部121から渡された読出情報や、認識処理実行部124から渡された認識情報(図示しない)に応じたパターンを、上述の第1〜第3のパターンから選択する。これに限らず、読出決定部123は、例えばユーザ操作など外部からの制御情報に従い、第1〜第3のパターンからから1つのパターンを選択してもよい。
読出決定部123は、選択されたパターンの露出時間と、各エリアの位置と、を含む読出領域情報を生成し、生成した読出領域情報をセンサ制御部11に渡す。センサ制御部11において、読出部110は、渡された読出領域情報に従い、センサ部10から画素データの読み出しを行う。なお、上述の第1〜第3のパターンによる読み出しは、グローバルシャッタ方式に適用することが好ましい。
ここで、第2の実施形態の第9の変形例に係る撮像装置1を車載用として前方を撮像するように設置する場合について考える。この場合、夜間などはヘッドライトにより、撮像画像において空間的に明暗差が生じる。具体的には、撮像画像の輝度値が中央部で高くなり、周辺部の向かうに連れ、低くなると考えられる。そこで、暗所においてヘッドライトを点灯した場合には、第1のパターン(図52のセクション(a))を選択する。
また、露出時間の異なるエリアを、上述した第1〜第3のパターンとは異なるパターンで配置することもできる。例えば、露出時間が長時間に設定されたエリアが、中央部において密とされ、周辺部に向かうに連れ疎となっていく第4のパターンと、露出時間が短時間に設定されたエリアが、周辺部において密とされ、中央部に向かうに連れ疎となっていく第5のパターンを考える。
上述の車載の例において、当該撮像装置1が搭載される車両が前方に移動している場合、車両の移動により撮像画像にボケが発生する。このボケは、画像中心部において少なく、周辺に向かうに連れ大きくなる。そのため、画像中心部に対して認識処理を実行したい場合には、第4のパターンを選択し、画像の周辺部に対して認識処理を実行したい場合には、第5のパターンを選択する事が考えられる。
このように、露出時間の長短を、フレーム内において空間的に粗密を異ならせて設定することで、認識処理部12は、1フレームにおける認識処理において明るいオブジェクトおよび暗いオブジェクトをそれぞれ認識可能となる。また、フレーム内の位置に応じて露出を行うエリアの粗密を変えているため、明るいオブジェクトや暗いオブジェクトの空間的な出現頻度を検出可能である。
[5−10.第2の実施形態の第10の変形例]
次に、第2の実施形態の第10の変形例について説明する。第2の実施形態の第10の変形例は、特徴量蓄積制御部121において生成される特徴量に基づき、次に読出単位の読み出しを行う読出領域を決定する例である。
図53は、第2の実施形態の第10の変形例に係る機能を説明するための一例の機能ブロック図である。図53のセクション(a)において、特徴量蓄積制御部121aは、特徴量計算部120から渡された特徴量と、特徴量蓄積部122に蓄積された特徴量とを統合し、統合した特徴量を、読出情報と共に読出決定部123bに渡す。読出決定部123bは、特徴量蓄積制御部121aから渡された特徴量と読出情報とに基づき、読出領域情報と、露出時間およびアナログゲインを示す情報と、を生成する。これに限らず、読出決定部123bは、露出時間およびアナログゲインに関して、これらのうち少なくとも一方を生成するようにしてもよい。読出決定部123a読出決定部123bは、生成した読出領域情報、露出時間およびアナログゲインを、読出部110に渡す。
図53のセクション(b)は、第2の実施形態の第10の変形例に係る読出決定部123bの機能をより詳細に説明するための一例の機能ブロック図である。図53のセクション(b)において、読出決定部123bは、読出領域決定部1230と、露出時間決定部1231と、AG量決定部1232と、を含む。
特徴量蓄積制御部121から読出決定部123bに渡された読出情報および特徴量は、これら読出領域決定部1230、露出時間決定部1231およびAG量決定部1232にそれぞれ入力される。読出領域決定部1230は、入力された読出情報および特徴量に基づき、次に読み出しを行う読出領域を示す読出領域情報(例えばライン番号)を生成し、出力する。露出時間決定部1231は、入力された特徴量に基づき、次の撮像における露出時間を示す情報を生成し、出力する。また、AG量決定部1232は、入力された特徴量に基づき、次の撮像におけるアナログゲインを示す情報を生成し、出力する。
図54は、第2の実施形態の第10の変形例に係る処理を示す一例のフローチャートである。この図54のフローチャートによる処理は、例えばフレームからの読出単位(例えば1ライン)の画素データの読み出しに対応する処理である。なお、ここでは、読出単位がラインであるものとして説明を行い、読出領域情報は、読出を行うラインを示すライン番号であるものとする。
図54のフローチャートにおいて、ステップS100〜ステップS106の処理は、第2の実施形態で説明した図28のフローチャートにおけるステップS100〜ステップS107の処理と同等である。
すなわち、ステップS100で、認識処理部12は、フレームの読出ラインで示されるラインからラインデータの読み出しを行う。次のステップS101で、特徴量計算部120は、読出部110から渡されたラインデータに基づきラインの特徴量を算出する。次のステップS102で、特徴量計算部120は、特徴量蓄積制御部121から、特徴量蓄積部122に蓄積されている特徴量を取得する。次のステップS103で、特徴量計算部120は、ステップS101で算出された特徴量と、ステップS102で特徴量蓄積制御部121から取得した特徴量と、を統合して特徴量蓄積制御部121に渡す。
次のステップS104で、特徴量蓄積制御部121は、統合された特徴量を、特徴量蓄積部122に蓄積する。次のステップS105で、認識処理実行部124は、統合された特徴量を用いて認識処理を実行する。次のステップS106で、認識処理実行部124は、ステップS105の認識処理による認識結果を出力する。
次のステップS1080で、読出決定部123bにおいて読出領域決定部1230は、特徴量蓄積制御部121から渡された、読出情報と、ステップS101で算出された特徴量とステップS102で特徴量蓄積制御部121から取得した特徴量とを統合した特徴量と、を用いて次に読み出しを行う読出ラインを決定する。次のステップS1081で、読出決定部123bにおいて露出時間決定部1231は、特徴量蓄積制御部121から渡された、統合された特徴量に基づき次の読み出しにおける露出時間を決定する。次のステップS1082で、読出決定部123bにおいてAG量決定部1232は、特徴量蓄積制御部121から渡された、統合された特徴量に基づき次の読み出しにおけるアナログゲインを決定する。
ステップS1080で決定された読出ラインに対して、ステップS1081およびステップS1082でそれぞれ決定された露出時間およびアナログゲインを適用して、ステップS100からの処理が再び実行される。
なお、ステップS1080〜ステップS1082の順序は、上述の順序に限られない。また、ステップS1081およびステップS1082の処理のうち一方は、省略することができる。
(第1の処理)
先ず、第2の実施形態の第10の変形例に係る第1の処理について説明する。図55は、第2の実施形態の第10の変形例に係る第1の処理を説明するための模式図である。なお、図55に示す処理は、上述した図16のステップS1〜ステップS4cの処理に対応する。また、ここでは、読出単位をラインとし、ローリングシャッタ方式により撮像を行うものとする。
図55において、ステップS1で、撮像装置1(図1参照)により、認識対象となる対象画像(手書きの数字の「8」)の撮像を開始する。ここで、メモリ13には、所定の教師データにより数字を識別可能に学習された学習モデルがプログラムとして予め記憶されており、認識処理部12は、メモリ13からこのプログラムを読み出して実行することで、画像に含まれる数字の識別を可能とされているものとする。
撮像が開始されると、ステップS2で、センサ制御部11は、認識処理部12から渡される読出領域情報に従い、フレームをライン単位で、フレームの上端側から下端側に向けて順次に読み出す。
ある位置までラインが読み出されると、認識処理部12により、読み出されたラインによる画像から、「8」または「9」の数字が識別される(ステップS3)。認識処理部12において、読出決定部123bは、特徴量蓄積制御部121から渡された統合された特徴量に基づき、ステップS3で識別されたオブジェクトが数字の「8」または「9」の何れであるかを識別可能と予測されるラインL#mを指定する読出領域情報を生成し、読出部110に渡す。そして、認識処理部12は、読出部110によりそのラインL#mを読み出した画素データに基づき認識処理を実行する(ステップS4c)。
ここで、上述したステップS4cでオブジェクトが確定された場合、認識処理部12は、認識処理を終了させることができる。これにより、認識処理の短時間化および省電力化を実現することが可能となる。
(第2の処理)
次に、第2の実施形態の第10の変形例に係る第2の処理について説明する。図56は、第2の実施形態の第10の変形例に係る第2の処理を説明するための模式図である。なお、図56に示す処理は、上述した図55の処理に対応するものである。この第2の処理では、フレームのライン単位での読み出しを、ラインを間引きしながら実行する。
図56において、ステップS10で、撮像装置1により、認識対象となる対象画像(手書きの数字の「8」)の撮像を開始する。ここで、上述と同様に、メモリ13には、例えば、所定の教師データによりライン単位で読み出しを行った場合に数字を識別可能に学習された学習モデルがプログラムとして予め記憶されており、認識処理部12は、メモリ13からこのプログラムを読み出して実行することで、画像に含まれる数字の識別を可能とされているものとする。
撮像が開始されると、ステップS11で、センサ制御部11は、認識処理部12から渡される読出領域情報に従い、フレームをライン単位で、フレームの上端側から下端側に向けてラインを間引きしながら読み出す。図56の例では、センサ制御部11は、読出領域情報に従い、先ずフレームの上端のラインL#1を読み出し、次に所定本のラインを間引きしたラインL#pを読み出す。認識処理部12は、ラインL#1およびL#pの各ラインデータに対して、読み出し毎に認識処理を実行する。
ここで、さらに間引きによりライン単位での読み出しを行い、ラインL#qを読み出したラインデータに対して認識処理部12による認識処理を実行した結果、「8」または「0」の数字が認識されたものとする(ステップS12)。読出決定部123bは、特徴量蓄積制御部121から渡された統合された特徴量に基づき、ステップS12で識別されたオブジェクトが数字の「8」または「0」の何れであるかを識別可能と予測されるラインL#rを指定する読出領域情報を生成し、読出部110に渡す。このとき、ラインL#rの位置は、ラインL#qに対してフレームの上端側でもよいし、下端側でもよい。
認識処理部12は、読出部110によりそのラインL#rを読み出した画素データに基づき認識処理を実行する(ステップS13)。
この第2の処理では、フレームのライン読み出しをラインを間引きしながら行うため、認識処理のさらなる短時間化および省電力化を実現することが可能となる。
(第3の処理)
次に、第2の実施形態の第10の変形例に係る第3の処理について説明する。この第2の実施形態の第10の変形例に係る第3の処理では、読出単位による読み出しを行いながら、露出時間やアナログゲインを適応的に設定する例である。
図57Aおよび図57B、図58Aおよび図58B、ならびに、図59Aおよびず59Bは、第2の実施形態の第10の変形例に係る第3の処理を説明するための模式図である。以下では、露出時間およびアナログゲインのうち、露出時間を適応的に設定する場合について説明する。
図57Aおよび図57Bは、上述した図51Aおよび図51Bと対応する図であって、露出時間の適応的な設定を行わない場合の例を示している。図57Aに示される露出パターンは、上述した図51Aに示す露出パターンに対して、第1の露出時間と、第1の露出時間より時間が短い第2の露出時間と、の時間の差がより大きくされている。露出パターンは、図51Aの例と同様に、第1の露出時間と第2の露出時間とがラインL#1、L#2、…毎に交互に適用されるパターンとなっている。
図57Bは、図57Aの露出パターンに従い撮像を行った場合の撮像画像200aの例を示す図である。この例では、奇数ライン番号のラインL#1、L#3、…、L#(2n−1)では露出オーバーになるように第1の露出時間が設定され、偶数ライン番号のラインL#2、L#4、…、L#2nでは露出アンダーになるように第2の露出時間が設定されている。
図58Aおよび図58Bは、図57Aの露出パターンに従い撮像を行い、各ラインL#1、L#2、…、L#(2n−1)から読み出した画素データに応じた、統合された特徴量に基づき、各ラインL#2、L#3、…、L#2nの露出時間を設定した場合の例を示している。
ラインL#1からの読み出しが行われると、読出決定部123bは、このラインL#1から読み出した画素データに基づき特徴量計算部120により算出された特徴量と、特徴量蓄積部122に蓄積された特徴量と、を特徴量蓄積制御部121が統合した特徴量に基づき、次の奇数ライン番号のラインL#3の露出時間(露出時間(L#3とする)を設定する。図58Aの例では、露出時間(L#3)は、ラインL#1の露出時間に対して短くされている。読出決定部123bは、この露出時間(L#3)を保持する。なお、読出決定部123bによる露出時間の設定の処理は、例えば次のライン(この場合はラインL#2)の転送期間中に実行される。
次に偶数ライン番号のラインL#2からの読み出しが行われる。読出決定部123bは、ラインL#2から読み出した画素データに基づき特徴量計算部120により算出された特徴量と、特徴量蓄積部122に蓄積された特徴量と、を特徴量蓄積制御部121が統合した特徴量に基づき、次の偶数ライン番号のラインL#4の露出時間(L#4)を設定し、保持する。図58Aの例では、露出時間(L#4)は、ラインL#2の露出時間に対して短くされている。
ラインL#2の読み出しおよび認識処理が終了すると、読出決定部123bは、保持している露出時間(L#3)と、次のラインL#3の読み出しを指示するための読出領域情報と、を読出部110に渡す。
ラインL#3の読み出しについても同様に、読出決定部123bは、ラインL#3から読み出した画素データに基づき次の奇数ライン番号のラインL#5の露出時間(L#5)を設定する。図58Aの例では、露出時間(L#5)は、ラインL#3の露出時間に対して短くされている。読出決定部123bは、この露出時間(L#5)を保持する。次に偶数ライン番号のラインL#4からの読み出しが行われ、読出決定部123bは、ラインL#4から読み出した画素データに基づき次の偶数ライン番号のラインL#6の露出時間(L#6)を設定する。図58Aの例では、露出時間(L#6)は、ラインL#4の露出時間に対して短くされている。読出決定部123bは、この露出時間(L#6)を保持する。
このようにして、ライン読み出しおよび露出設定を、奇数ライン番号のラインと、偶数ライン番号のラインとで交互に繰り返していく。これにより、図58Bに示されるように、露出オーバに設定される奇数ライン番号のラインL#1、L#3、…、L#(2n−1)と、露出アンダーに設定される偶数ライン番号のラインL#2、L#4、…、L#2nと、のそれぞれにおいて、露出時間が適切に設定されるようになる。
ここで、読出決定部123bは、露出時間を、ラインから読み出した画素状情報に基づき得られた特徴量を用いて設定している。そのため、読出決定部123bは、認識処理実行部124が認識処理を実行するために適した露出時間を設定することが可能である。
図57Bと図58Bとを比較すると、図58Bの例では、露出オーバーとされる奇数ライン番号のラインL#1、L#3、…では輝度が抑えられ、露出アンダーとされる偶数ライン番号のラインL#2、L#4、…では輝度が高くされている。そのため、図58Bの例は、奇数ライン番号のラインおよび偶数ライン番号のラインのそれぞれにおいて、図57Bの例に対してより高精度に認識処理が実行されることが期待される。
なお、フレームの下端部において奇数ライン番号のラインおよび偶数ライン番号のラインにそれぞれ設定された露出時間を用いて、次のフレームにおける奇数ライン番号のラインおよび偶数ライン番号のラインそれぞれの露出時間を設定することができる。
上述した図58Aおよび図58Bの例では、フレームの全ラインを読み出すようにしているが、これはこの例に限定されない。例えば、フレームの途中までライン読み出しを行い、その結果に応じて読み出し位置を戻すようにできる。
図59Aおよび図59Bを用いて説明する。図59Aおよび図59Bは、上述の図58Aおよび図58Bの例と同様に、図57Aの露出パターンに従い撮像を行い、各ラインL#1、L#2、…、L#(2n−1)から読み出した画素データに応じた、統合された特徴量に基づき、各ラインL#2、L#3、…、L#2nの露出時間を設定した場合の例を示している。
図59Aの例において、例えばラインL#2から読み出した画素データに基づく認識処理実行部124による認識処理により、所定のオブジェクト(人とする)が認識されたものとする。例えば、認識処理実行部124は、人が認識されたことを示す認識情報を読出決定部123bに渡す。読出決定部123bは、この認識情報に応じて、次のフレームにおける当該ラインL#2に対応するラインL#2’の露出時間を設定する。図59Aの例では、読出決定部123bは、ラインL#2’の露出時間を、ラインL#2の露出時間に対して長く設定している。
読出決定部123bは、ラインL#2’の露出時間を設定すると、ラインL#2’を示す読出領域情報と、ラインL#2’に対して設定された露出時間と、を読出部110に渡す。読出部110は、この読出領域情報および露出時間に従い、例えばラインL#3の転送処理の終了後、ラインL#2’の露出を開始する。
読出決定部123bは、ラインL#3以降について、図58Aと同様にして奇数ライン番号のラインL#3、L#5、…、および、偶数ライン番号のラインL#4、L#6それぞれの露出時間を設定する。ここで、図59Aの例では、ラインL#7の転送処理の終了の直後に、ラインL#2’の露出が終了し、ラインL#2’から読み出された画素データの転送が開始されている。
図59Bに示されるように、ラインL#2’は、図58Bに示したラインL#2と比較して高輝度とされ、より高精度の認識が可能となることが期待される。
なお、読出決定部123bは、ラインL#2’と同一のフレームに含まれる、ラインL#2’以降の各ラインL#3’、L#4’、…に対して、図58Aおよび図58Bを用いて説明した処理と同様にして、それぞれ露出時間が設定され、読出が行われる。
ラインL#2’は、前フレームのラインL#2から読み出した画素データに基づく認識情報に応じて露出時間が設定されている。そのため、認識処理実行部124は、ラインL#2’に基づく認識処理を、ラインL#2に基づく認識処理と比較してより高精度に実行することが可能となる。
なお、第2の実施形態の第10の変形例の第3の処理では、ラインの読み出し結果に基づきラインの露出時間を設定しているが、これはこの例に限定されず、ラインのアナログゲインを設定するようにしてもよい。
ここで、露出時間を長くすると、高い輝度値での撮像が可能となると共に、ノイズを低減させることが可能となる。一方で、露出時間を長くすると、例えば動的なシーンにおいてブラーが増加するおそれがある。これに対して、アナログゲインを調整してもブラーに変化が生じることが無い一方で、アナログゲインを上げると、ノイズが増加するおそれがある。
したがって、認識処理の目的や、撮像対象に応じて露出時間とアナログゲインとの何れを設定するかを選択することが好ましい。例えば、撮像対象が動的なシーンである場合にはアナログゲインを上げてブラーを抑え、撮像対象が静的なシーンである場合には露出時間を長くして明るく撮像し、ノイズを抑える、などの応用が考えられる。
図60は、第2の実施形態の第10の変形例に係る認識処理部12における処理の例についてより詳細に示す模式図である。図60に示される構成では、上述した図22に示した構成に対して、読出決定部123bが追加されている。読出決定部123bは、内部状態更新処理1211により更新された、内部状態に係る特徴量1212が入力される。
読出決定部123bにおける処理は、次ライン決定処理1233と、次露出決定処理1234と、次AG決定処理1235と、を含む。これら次ライン決定処理1233、次露出決定処理1234および次AG決定処理1235は、それぞれ、図53のセクション(b)を用いて説明した読出領域決定部1230、露出時間決定部1231およびAG量決定部1232それぞれにおいて実行される処理である。
次ライン決定処理1233、次露出決定処理1234および次AG決定処理1235は、それぞれ、予め学習されたパラメータに基づき処理が実行される。パラメータの学習は、例えば想定される読出パターンや認識対象に基づく教師データを用いて行われる。上述の例では、想定される読出パターンは、例えば露出オーバーのラインと露出アンダーのラインとを交互に読み出すパターンを用いることができる。
なお、上述した図57Aおよび図57B、図58Aおよび図58B、ならびに、図59Aおよび図59Bでは、読出単位がラインであるものとして説明を行ったが、これはこの例に限定されない。すなわち、第2の実施形態の第10の変形例に対して、順次隣接する複数ラインなど他の読出単位を適用させてもよい。
なお、上述した第2の実施形態およびその各変形例に係る撮像装置1は、読出単位の読み出し毎に、認識処理部12による認識処理を行っているが、これはこの例に限定されない。例えば、読出単位毎の認識処理と、通常の認識処理、すなわちフレーム全体に対する読み出しを行い、フレーム全体から読み出された画素の画素データに基づく認識処理と、を切り替え可能としてもよい。すなわち、通常の認識処理は、フレーム全体の画素に基づき実行されるため、読出単位毎の認識処理と比較してより高精度な認識結果を得ることが可能である。
例えば、読出単位毎の認識処理に対して、一定時間毎に通常の認識処理を行うことができる。また、読出単位毎の認識処理に対して、緊急時に通常の認識処理を行い認識の安定度を向上させるようしてもよい。また、読出単位毎の認識処理から通常の認識処理に切り替える場合、通常の認識処理は読出単位毎の認識処理に対して速報性が低下するため、通常の認識処理において、装置を動作させるためのクロックをより高速のクロックに切り替えてもよい。さらに、読出単位毎の認識処理による信頼度が低い場合に、通常の認識処理に切り替えるようにし、認識処理の信頼度が高くなった場合に、読出単位毎の認識処理に戻すようにしてもよい。
[6.第3の実施形態]
次に、本開示の第3の実施形態について説明する。第3の実施形態は、フレーム読み出しの際のパラメータを適応的に設定する例である。フレーム読み出しの際のパラメータとしては、読出単位、読出単位によるフレーム内での読み出し順、読出領域、露出時間、アナログゲイン、などが考えられる。なお、第3の実施形態に係る撮像装置1は、全体としての機能は、図21を用いて説明した機能を適用できるので、全体の構成の説明については省略する。
図61は、第3の実施形態に係る機能を説明するための一例の機能ブロック図である。第3の実施形態では、認識処理部12による認識処理が主となるので、図61のセクション(a)に示される構成は、上述した図21の構成に対して、視認処理部14、出力制御部15およびトリガ生成部16と、センサ制御部11における読出制御部111と、が省略されている。
一方、図61のセクション(a)に示される構成は、図21の構成に対して外部情報取得部17が追加されていると共に、読出決定部123cに対して読出部110から画素データが渡される。また、読出決定部123cは、認識処理実行部124から認識情報を渡される。
さらに、外部情報取得部17は、当該撮像装置1の外部において発生する外部情報を取得し、取得した外部情報を読出決定部123cに渡す。
具体的には、外部情報取得部17は、所定の形式の信号の送受信を行うインタフェースを用いることができる。外部情報は、例えば当該撮像装置1が車載用である場合は、車両情報を適用できる。車両情報は、例えば車両のシステムから取得される情報であって、例えばステアリング情報や速度情報である。環境情報は、当該撮像装置1の周囲の環境を示す情報であって、例えば周囲の明るさである。以下では、特に記載の無い限り、当該撮像装置1が車載用として用いられ、外部情報は、当該撮像装置1が搭載される車両から取得される車両情報であるものとして説明を行う。
図61のセクション(b)は、第3の実施形態に係る読出決定部123cの機能をより詳細に説明するための一例の機能ブロック図である。図61のセクション(b)において、読出決定部123cは、読出単位パターン選択部300と、読出順パターン選択部302と、読出決定処理部304と、を含む。読出単位パターン選択部300は、異なる複数の読出パターンが予め格納された読出単位パターンDB(データベース)301を含む。また、読出順パターン選択部302は、複数の異なる読出順パターンが予め格納された読出順パターンDB303を含む。
読出決定部123cは、渡された認識情報、画素データ、車両情報および環境情報のうち1以上の情報に基づき、読出単位パターンDB301に格納される各読出単位パターンと、読出順パターンDB303に格納される各読出順パターンと、に対してそれぞれ優先度を設定する。
読出単位パターン選択部300は、読出単位パターンDB301に格納される各読出単位パターンのうち、最も優先度が高く設定された読出単位パターンを選択する。読出単位パターン選択部300は、読出単位パターンDB301から選択した読出単位パターンを、読出決定処理部304に渡す。同様に、読出順パターン選択部302は、読出順パターンDB303に格納される各読出順パターンのうち、最も優先度が高く設定された読出順パターンを選択する。読出順パターン選択部302は、読出順パターンDB303から選択した読出順パターンを、。読出決定処理部304に渡す。
読出決定処理部304は、特徴量蓄積制御部121から渡された読出情報と、読出単位パターン選択部300から渡された読出単位パターンと、読出順パターン選択部302から渡された読出順パターンと、に従い、フレームから次に読み出しを行う読み出し領域を決定し、決定された読出領域を示す読出領域情報を読出部110に渡す。また、読出決定処理部304は、読出決定部123cに渡された画素データ、認識情報、車両情報および環境情報のうち1以上の情報に基づき、フレームから次の読み出しを行う際の露出時間およびアナログゲインそれぞれを示す情報を生成し、生成したこれら各情報を、読出部110に渡す。
(6−0−1.読出単位パターン、読出順パターンの設定方法)
図61のセクション(a)および(b)に示した構成による、第3の実施形態に係る読出単位パターンおよび読出順パターンの設定方法の例について説明する。
(6−0−1−1.読出単位パターン、読出順パターンの例)
ここで、第3の実施形態に適用可能な読出単位パターンおよび読出順パターンの例について説明する。図62は、第3の実施形態に適用可能な読出単位パターンの例を示す模式図である。図62の例では、読出単位パターン410、411、412、413および414の5つの読出単位パターンが示されている。
読出単位パターン410は、上述した図24に対応し、ラインを読出単位とし、フレーム400においてライン毎に読み出しを行う読出単位パターンである。読出単位パターン411は、上述した図33に対応し、フレーム400において所定サイズのエリアを読出単位とし、フレーム400においてエリア毎に読み出しを行う読出パターンである。
読出単位パターン412は、上述した図37に対応し、隣接しない画素を含み、且つ周期的に配置された複数の画素による画素セットを読み出し単位とし、フレーム400においてこの複数の画素毎に読み出しを行う読出単位パターンである。読出単位パターン413は、上述した図42に対応し、離散的および非周期的に配置された複数の画素(ランダムパターン)を読み出し単位とし、フレーム400においてランダムパターンを更新しながら読み出しを行う読出単位パターンである。これら読出単位パターン412および413は、フレーム400からより均一に画素をサンプリング可能とされる。
また、読出単位パターン414は、上述した図43に対応し、認識情報に基づきパターンを適応的に生成するようにした読出単位パターンである。
図62を用いて説明した各読出単位パターン410〜414は、図61のセクション(b)に示した読出単位パターンDB301に予め記憶される。
なお、第3の実施形態に係る読出単位パターンとして適用可能な読出単位は、図62に示した例に限定されない。例えば、第2の実施形態およびその各変形例で説明した各読出単位を、第3の実施形態に係る読出単位パターンとして適用可能である。
図63は、第3の実施形態に適用可能な読出順パターンの例を示す模式図である。図63のセクション(a)は、読出単位がラインとされた場合の読出順パターンの例を示す。セクション(b)は、読出単位がエリアとされた場合の読出順パターンの例を示す。セクション(c)は、読出単位が上述した画素セットとされた場合の読出順パターンの例を示す。
また、図63のセクション(a)、(b)および(c)それぞれにおいて、左側の読出順パターン420a、430aおよび440aは、それぞれ、ライン順あるいは画素順に逐次に読み出しを行う読出順パターンの例を示している。
ここで、セクション(a)の読出順パターン420aは、フレーム400の上端側から下端側に向けてライン順次に読み出しを行う例である。セクション(b)および(c)の読出順パターン430aおよび440aは、それぞれ、フレーム400の左上隅からライン方向に沿ってエリアまたは画素セット毎に順次に読み出しを行い、このライン方向の読み出しを、フレーム400の垂直方向に繰り返して行う例である。これら読出順パターン420a、430aおよび440aを、順方向の読出順パターンと呼ぶ。
一方、セクション(a)の読出順パターン420bは、フレーム400の下端側から上端側に向けてライン順次に読み出しを行う例である。セクション(b)および(c)の読出順パターン430bおよび440bは、それぞれ、フレーム400の右下隅からライン方向に沿ってエリアまたは画素セット毎に順次に読み出しを行い、このライン方向の読み出しを、フレーム400の垂直方向に繰り返して行う例である。これら読出順パターン420b、430bおよび440bを、逆方向の読出順パターンと呼ぶ。
さらに、セクション(a)の読出順パターン420cは、ラインを間引きしながらフレーム400の上端側から下端側に向けて読み出しを行う例である。セクション(b)および(c)の読出順パターン430cおよび440cは、それぞれ、フレーム400内においてエリアを離散的な位置および読出順で読み出しを行う例である。読出順パターン430cでは、例えば4つの画素により読出単位が構成されている場合、図中に矢印で示される順序で各画素の読み出しを行う。読出順パターン440cでは、例えば図中の領域442に示すように、パターンの基準となる画素を、画素位置のライン方向および列方向の順序とは異なる順序で、離散的な位置に移動させながら各画素の読み出しを行う。
図63を用いて説明した各読出順パターン420a〜420c、読出順パターン430a〜430c、および、読出順パターン420a〜420cは、図61のセクション(b)に示した読出順パターンDB303に予め記憶される。
(6−0−1−2.読出単位パターンの設定方法の具体例)
上述した図62および図63を参照し、第3の実施形態に係る読出単位パターンの設定方法の例についてより具体的に説明する。
先ず、画像情報(画素データ)に基づく読出単位パターンの設定方法について説明する。読出決定部123cは、読出部110から渡された画素データに含まれるノイズを検出する。ここで、複数の画素が固めて配置された方が、単独の画素が散逸して配置された場合に比べてノイズに対する耐性が高い。そのため、読出決定部123cは、読出部110から渡された画素データに所定以上のノイズが含まれる場合に、読出単位パターンDB301に格納される各読出単位パターン410〜414のうち、読出単位パターン410または411の優先度を、他の読出単位パターンの優先度よりも高く設定する。
次に、認識情報に基づく読出単位パターンの設定方法について説明する。第1の設定方法は、認識処理実行部124から渡された認識情報に基づき、フレーム400に所定以上に大きなオブジェクトが多く認識された場合の例である。この場合、読出決定部123cは、読出単位パターンDB301に格納される各読出単位パターン410〜414のうち、読出単位パターン412または413の優先度を、他の読出単位パターンの優先度よりも高く設定する。これは、フレーム400の全体を均一的にサンプリングすることで、速報性をより高めることが可能となるためである。
第2の設定方法は、例えば画素データに基づき撮像された画像にフリッカが検知された場合の例である。この場合、読出決定部123cは、読出単位パターンDB301に格納される各読出単位パターン410〜414のうち、読出単位パターン413の優先度を、他の読出単位パターンの優先度よりも高く設定する。これは、フリッカに対しては、ランダムパターンによりフレーム400の全体をサンプリングすることで、フリッカによるアーティフィクトを抑制できるためである。
第3の設定方法は、認識情報に基づき読出単位の構成を適応的に変更する場合において、より効率的に認識処理を実行可能であると考えられる構成が生成された場合の例である。この場合、読出決定部123cは、読出単位パターンDB301に格納される各読出単位パターン410〜414のうち、読出単位パターン414の優先度を、他の読出単位パターンの優先度よりも高く設定する。
次に、外部情報取得部17により取得された外部情報に基づく読出単位パターンの設定方法について説明する。第1の設定方法は、外部情報に基づき、当該撮像装置1が搭載されている車両が左右何れかの方向に旋回した場合の例である。この場合、読出決定部123cは、読出単位パターンDB301に格納される各読出単位パターン410〜414のうち、読出単位パターン410または411の優先度を、他の読出単位パターンの優先度よりも高くする。
ここで、この第1の設定方法において、読出決定部123cは、読出単位パターン410に対しては、画素アレイ部101における行列方向のうち列方向を読出単位とし、フレーム400のライン方向に列順次に読み出しを行う設定とする。また、読出単位パターン411に対しては、エリアを列方向に沿って読み出し、それをライン方向に向けて繰り返す設定とする。
読出決定部123cは、車両が左方向に旋回する場合には、列順次の読み出し、あるいは、エリアの列方向に沿っての読み出しを、フレーム400の左端側から開始するように、読出決定処理部304に対して設定する。一方、車両が右方向に旋回する場合には、列順次の読み出し、あるいは、エリアの列方向に沿っての読み出しを、フレーム400の右端側から開始するように、読出決定処理部304に対して設定する。
なお、読出決定部123cは、車両が直進している場合には、通常のライン順次、あるいは、エリアのライン方向に沿っての読み出しとし、車両が左旋回または右旋回した場合に、例えば特徴量蓄積部122に蓄積された特徴量を初期化して、上述の列順次の読み出し、あるいは、エリアを列方向に沿っての読み出しにより、読み出し処理を再開することができる。
外部情報に基づく読出単位パターンの第2の設定方法は、外部情報に基づき、当該撮像装置1が搭載されている車両が高速道路走行を行っている場合の例である。この場合、読出決定部123cは、読出単位パターンDB301に格納される各読出単位パターン410〜414のうち、読出単位パターン410または411の優先度を、他の読出単位パターンの優先度よりも高く設定する。高速道路走行の場合、遠方の小物体によるオブジェクトの認識が重要であると考えられる。そこで、フレーム400の上端側から順次に読み出しを行うことで、遠方の小物体によるオブジェクトに対する速報性をより向上させることが可能となる。
(6−0−1−3.読出順パターンの設定方法の具体例)
上述した図62および図63を参照し、第3の実施形態に係る読出順パターンの設定方法の例についてより具体的に説明する。
先ず、画像情報(画素データ)に基づく読出順パターンの設定方法について説明する。読出決定部123cは、読出部110から渡された画素データに含まれるノイズを検出する。ここで、認識処理の対象となる領域の変化が少ない程、認識処理がノイズの影響を受け難く、認識処理が容易となる。そのため、読出決定部123cは、読出部110から渡された画素データに所定以上のノイズが含まれる場合に、読出順パターンDB303に格納される各読出順パターン420a〜420c、430a〜430c、および、440a〜440cのうち、読出順パターン420a、430aおよび440aの何れかの優先度を、他の読出順パターンの優先度よりも高く設定する。これに限らず、読出順パターン420b、430bおよび440bの何れかの優先度を、他の読出順パターンの優先度よりも高く設定してもよい。
なお、読出順パターン420a、430aおよび440a、ならびに、読出順パターン420b、430bおよび440b、のうち何れの優先度を高く設定するかは、例えば、読出単位パターン選択部300において読出単位パターン410〜414のうち何れの優先度を高く設定しているか、および、フレーム400の上端側および下端側の何れから読み出しを介しているか、に基づき決めることができる。
次に、認識情報に基づく読出順パターンの設定方法について説明する。読出決定部123cは、認識処理実行部124から渡された認識情報に基づき、フレーム400に所定以上に大きなオブジェクトが多く認識された場合に、読出順パターンDB303に格納される各読出順パターン420a〜420c、430a〜430c、および、440a〜440cのうち、読出順パターン420c、430cおよび440cの何れかの優先度を、他の読出順パターンの優先度よりも高く設定する。これは、フレーム400の全体を順次に読み出すよりも、均一的にサンプリングした方が、速報性をより高めることが可能となるためである。
次に、外部情報に基づく読出順パターンの設定方法について説明する。第1の設定方法は、外部情報に基づき、当該撮像装置1が搭載されている車両が左右何れかの方向に旋回した場合の例である。この場合、読出決定部123cは、読出順パターンDB303に格納される各読出順パターン420a〜420c、430a〜430c、および、440a〜440cのうち、読出順パターン420a、430aおよび440aのうち何れかの優先度を、他の読出単位パターンの優先度よりも高くする。
ここで、この第1の設定方法において、読出決定部123cは、読出順パターン420aに対しては、画素アレイ部101における行列方向のうち列方向を読出単位とし、フレーム400のライン方向に列順次に読み出しを行う設定とする。また、読出順パターン430aに対しては、エリアを列方向に沿って読み出し、それをライン方向に向けて繰り返す設定とする。さらに、読出順パターン440aに対しては、画素セットを列方向に沿って読み出し、それをライン方向に向けて繰り返す設定とする。
読出決定部123cは、車両が左方向に旋回する場合には、列順次の読み出し、あるいは、エリアの列方向に沿っての読み出しを、フレーム400の左端側から開始するように、読出決定処理部304に対して設定する。一方、車両が右方向に旋回する場合には、列順次の読み出し、あるいは、エリアの列方向に沿っての読み出しを、フレーム400の右端側から開始するように、読出決定処理部304に対して設定する。
なお、読出決定部123cは、車両が直進している場合には、通常のライン順次、あるいは、エリアのライン方向に沿っての読み出しとし、車両が左旋回または右旋回した場合に、例えば特徴量蓄積部122に蓄積された特徴量を初期化して、上述の列順次の読み出し、あるいは、エリアを列方向に沿っての読み出しにより、読み出し処理を再開することができる。
外部情報に基づく読出順パターンの第2の設定方法は、外部情報に基づき、当該撮像装置1が搭載されている車両が高速道路走行を行っている場合の例である。この場合、読出決定部123cは、読出順パターンDB303に格納される各読出順パターン420a〜420c、430a〜430c、および、440a〜440cのうち、読出順パターン420a、430aおよび440aのうち何れの優先度を、他の読出順パターンの優先度よりも高くする。高速道路走行の場合、遠方の小物体によるオブジェクトの認識が重要であると考えられる。そこで、フレーム400の上端側から順次に読み出しを行うことで、遠方の小物体によるオブジェクトに対する速報性を向上させることができる。
ここで、上述したように、読出単位パターンや読出順パターンの優先度を、複数の異なる情報(画像情報、認識情報、外部情報)に基づき設定する場合、異なる読出単位パターン同士、あるいは、異なる読出順パターン同士で衝突してしまう可能性がある。この衝突を回避するためには、例えば、それぞれの情報に基づき設定される各優先度を予め異ならせておくことが考えられる。
[6−1.第3の実施形態の第1の変形例]
次に、第3の実施形態の第1の変形例について説明する。第3の実施形態の第1の変形例は、フレーム読み出しを行う場合の読出領域を適応的に設定する例である。
図64は、第3の実施形態の第1の変形例に係る機能を説明するための一例の機能ブロック図である。第3の実施形態の第1の変形例では、認識処理部12による認識処理が主となるので、図64のセクション(a)に示される構成は、上述した図21の構成に対して、視認処理部14、出力制御部15およびトリガ生成部16と、センサ制御部11における読出制御部111と、が省略されている。また、図64のセクション(a)および(b)に示す読出決定部123dは、図61に示した第3の実施形態に係る読出決定部123cと機能が異なる。
図64のセクション(b)において、読出決定部123bは、上述した図53のセクション(b)に示される読出決定部123bと対応する構成を有し、読出領域決定部1230’と、露出時間決定部1231’と、AG量決定部1232’と、を含む。
特徴量蓄積制御部121から読出決定部123dに渡された読出情報および特徴量は、これら読出領域決定部1230’、露出時間決定部1231’およびAG量決定部1232’にそれぞれ入力される。また、読出部110から渡された画素データと、認識処理実行部124から渡された認識情報と、外部情報取得部17から渡された車両情報および環境情報と、が読出領域決定部1230’、露出時間決定部1231’およびAG量決定部1232’にそれぞれ入力される。
読出領域決定部1230’は、入力された読出情報、特徴量、画素データ、認識情報、車両情報および環境情報と、のうち少なくとも1つの情報に基づき、次に読み出しを行う読出領域を示す読出領域情報(例えばライン番号)を生成し、出力する。露出時間決定部1231’は、入力された読出情報、特徴量、画素データ、認識情報、車両情報および環境情報と、のうち少なくとも1つの情報に基づき、次の撮像における露出時間を示す情報を生成し、出力する。また、AG量決定部1232’は、入力された読出情報、特徴量、画素データ、認識情報、車両情報および環境情報と、のうち少なくとも1つの情報に基づき、次の撮像におけるアナログゲインを示す情報を生成し、出力する。
(読出領域の適応的な設定方法)
次に、第3の実施形態の第1の変形例に係る、読出領域の適応的な設定方法について、より具体的に説明する。なお、ここでは、当該撮像装置1が車載用として用いられるものとして説明を行う。
(読出領域を認識情報に基づき設定する例)
先ず、読出領域を認識情報に基づき適応的に設定する第1の設定方法について説明する。第1の設定方法では、読出決定部123dは、認識処理実行部124の認識処理により検出された領域やクラスを用いてフレーム内の領域を適応的に設定し、次に読み出しを行う読出領域を限定する。この第1の設定方法について、図65を用いてより具体的に説明する。
図65は、第3の実施形態の第1の変形例の第1の設定方法を説明するための模式図である。図65のセクション(a)において、フレーム500aに対して、読出単位をラインとして、ライン順次、且つ、ライン間引きによりライン読み出しを行っている。図65のセクション(a)の例では、認識処理実行部124は、ライン読み出しにより読み出された画素データに基づく認識処理をフレーム500a全体に対して実行している。その結果、認識処理実行部124は、フレーム500a内の領域501に特定のオブジェクト(この例では人)を検出している。認識処理実行部124は、この認識結果を示す認識情報を読出決定部123dに渡す。
読出決定部123dにおいて、読出領域決定部1230’は、認識処理実行部124から渡された認識情報に基づき、次に読み出しを行う読出領域を決定する。例えば、読出領域決定部1230’は、認識された領域501および当該領域501の周辺部を含む領域を、次に読み出しを行う読出領域を決定する。読出領域決定部1230’は、領域502による読出領域を示す読出領域情報を読出部110に渡す。
読出部110は、読出領域決定部1230’から渡された読出領域情報に従い、例えばライン間引きを行わずにフレーム読み出しを行い、読み出された画素データを認識処理部12に渡す。図65のセクション(b)は、当該読出領域に従い読み出された画像の例を示す。この例では、フレーム500aの例えば次のフレームであるフレーム500bにおいて、読出領域情報に示される領域502の画素データが取得され、領域502の外部は無視されている。認識処理部12において、認識処理実行部124は、領域502に対して認識処理を行う。これにより、領域501から検出された人が歩行者であると認識される。
このように、認識処理実行部124により検出された領域に基づき、次に読み出しを行う読出領域を限定することで、高精度の認識処理をより高速に実行可能となる。
これに限らず、この第1の決定方法において、フレーム500aにおいて認識されたオブジェクトが静止体および動物体の何れかに応じて、当該オブジェクトの次のフレーム500bでの位置を予測し、予測された位置に基づき次に読み出しを行う読出領域を限定することもできる。またこのとき、認識されたオブジェクトが動物体である場合には、その速度をさらに予測することで、次に読み出しを行う読出領域をより高精度に限定することが可能となる。
また、この第1の決定方法において、認識されたオブジェクトの種類に応じて、次に読み出しを行う読出領域を限定することも可能である。例えば、読出決定部123dは、フレーム500aにおいて認識されたオブジェクトが信号機であれば、次のフレーム500bで読み出しを行う読み出し領域を、当該信号機のランプ部分に限定することができる。また、読出決定部123dは、フレーム500aにおいて認識されたオブジェクトが信号機であれば、フレーム読み出しの方法をフリッカの影響を低減させる読み出し方法に変更して、次のフレーム500bでの読み出しを行うこともできる。フリッカの影響を低減させる読み出し方法の例としては、上述した第2の実施形態の第5の変形例に係るパターンRd#m_xを適用できる。
次に、読出領域を認識情報に基づき適応的に設定する第2の設定方法について説明する。第2の設定方法では、読出決定部123dは、認識処理実行部124における認識処理の途中の認識情報を用いて、次に読み出しを行う読出領域を限定する。この第2の設定方法について、図66を用いてより具体的に説明する。
図66は、第3の実施形態の第1の変形例の第2の設定方法を説明するための模式図である。この例では、認識対象のオブジェクトが車両のナンバープレートであるものとする。図66のセクション(a)は、フレーム500cに対するフレーム読み出しに応じた認識処理の途中の領域503において、バス車両を示すオブジェクトが認識された例を示す図である。この図66のセクション(a)は、例えば、上述の図65のセクション(b)に示した、読出領域を領域502に限定して読み出しおよび認識処理を行う例に対応させることができる。
ここで、読出領域決定部1230’は、認識処理の途中の領域503において、オブジェクトがバス車両であることが認識された場合、領域503から認識された内容に基づき、当該バス車両のナンバープレートの位置を予測することができる。読出領域決定部1230’は、予測されたナンバープレートの位置に基づき、次に読み出しを行う読出領域を決定し、決定した読出領域を示す読出領域情報を読出部110に渡す。
読出部110は、読出領域決定部1230’から渡された読出領域情報に従い、フレーム500cの例えば次のフレーム500dの読み出しを行い、読み出された画素データを認識処理部12に渡す。図66のセクション(b)は、当該読出領域に従い読み出された画像の例を示す。この例では、フレーム500dにおいて、読出領域情報に示される、予測されたナンバープレートの位置を含む領域504の画素データが取得されている。認識処理部12において、認識処理実行部124は、領域504に対して認識処理を行う。これにより、領域504に含まれるオブジェクトとしてのナンバープレートに対する認識処理が行われ、例えば領域503に対する認識処理で検出されたバス車両の車両ナンバーを取得することができる。
この第2の設定方法では、認識処理実行部124によるフレーム500cの読み出しに応じた対象となるオブジェクトの全体に対する認識処理の途中で、次のフレーム500dの読出領域を決定しているため、高精度の認識処理をより高速に実行可能となる。
なお、図66のセクション(a)に示すフレーム500cに対する認識処理において、読出決定部123dは、認識処理実行部124から認識途中において渡された認識情報に示される信頼度が所定以上である場合に、領域504を次に読み出しを行う読出領域に決定し、図66のセクション(b)に示す読み出しを行うようにできる。この場合、当該認識情報に示される信頼度が所定未満である場合には、フレーム500cにおいてオブジェクトの全体に対する認識処理を実行する。
次に、読出領域を認識情報に基づき適応的に設定する第3の設定方法について説明する。第3の設定方法では、読出決定部123dは、認識処理実行部124における認識処理の信頼度を用いて、次に読み出しを行う読出領域を限定する。この第3の設定方法について、図67を用いてより具体的に説明する。
図67のセクション(a)において、フレーム500eに対して、読出単位をラインとして、ライン順次、且つ、ライン間引きによりライン読み出しを行っている。図67のセクション(a)の例では、認識処理実行部124は、ライン読み出しにより読み出された画素データに基づく認識処理をフレーム500a全体に対して実行し、フレーム500e内の領域505aに特定のオブジェクト(この例では人)を検出している。認識処理実行部124は、この認識結果を示す認識情報を読出決定部123dに渡す。
読出決定部123dにおいて、読出領域決定部1230’は、認識処理実行部124から渡された認識情報に示される信頼度が所定以上であれば、例えばフレーム500eの次のフレームに対する読み出しを行わないことを示す読出領域情報を生成する。読出領域決定部1230’は、生成された読出領域情報を読出部110に渡す。
一方、読出領域決定部1230’は、認識処理実行部124から渡された認識情報に示される信頼度が所定未満であれば、フレーム500eの次のフレームに対する読み出しを行うように、読出領域情報を生成する。例えば、読出領域決定部1230’は、フレーム500eで特定のオブジェクト(人)が検出された領域505aに対応する領域を読出領域として指定する読出領域情報を生成する。読出領域決定部1230’は、生成した読出領域情報を読出部110に渡す。
読出部110は、読出領域決定部1230’から渡された読出領域情報に従い、フレーム500eの次のフレームの読み出しを行う。ここで、読出領域決定部1230’は、フレーム500eの次のフレームの、領域505aに対応する領域を、間引きを行わずに読み出す指示を、読出領域情報に付加することができる。読出部110は、この読出領域情報に従いフレーム500eの次のフレームの読み出しを行い、読み出された画素データを認識処理部12に渡す。
図67のセクション(b)は、当該読出領域情報に従い読み出された画像の例を示す。この例では、フレーム500eの例えば次のフレームであるフレーム500fにおいて、読出領域情報に示される、領域505aに対応する領域505bの画素データが取得されている。フレーム500fにおける領域505b以外の部分は、例えば読み出しを行わずフレーム500eの画素データをそのまま用いることができる。認識処理部12において、認識処理実行部124は、領域505bに対して認識処理を行う。これにより、領域501から検出された人が歩行者であることを、より高い信頼度により認識することができる。
(読出領域を外部情報に基づき適応的に設定する例)
次に、読出領域を外部情報に基づき適応的に設定する、第1の設定方法について説明する。第1の設定方法では、読出決定部123dは、外部情報取得部17から渡された車両情報に基づきフレーム内の領域を適応的に設定し、次に読み出しを行う読出領域を限定する。これにより、車両の走行に適した認識処理を実行することができる。
例えば、読出決定部123dにおいて読出領域決定部1230’は、車両情報に基づき車両の傾きを取得し、取得した傾きに応じて読出領域を決定する。一例として、読出領域決定部1230’は、車両情報に基づき、車両が段差などに乗り上げて、フロント側が持ち上がった状態であることを取得した場合、読出領域をフレームの上端側に向けて補正する。また、読出領域決定部1230’は、車両情報に基づき車両が旋回している状態を取得した場合、旋回方向における未観測領域(例えば左旋回であれば左端側の領域)を読出領域に決定する。
次に、読出領域を外部情報に基づき適応的に設定する、第2の設定方法について説明する。第2の設定方法では、外部情報として現在位置を逐次に反映可能な地図情報を用いる。この場合、読出領域決定部1230’は、現在位置が車両による走行に注意が必要なエリア(例えば学校や保育園の周辺)である場合に、例えばフレームの読み出し頻度を上げることを指示する読出領域情報を生成する。これにより、子供の飛び出しなどによる事故を防ぐことが可能である。
次に、読出領域を外部情報に基づき適応的に設定する、第3の設定方法について説明する。第3の設定方法では、外部情報として他のセンサによる検出情報を用いる。他のセンサの例としては、LiDAR(Laser Imaging Detection and Ranging)方式のセンサが考えられる。読出領域決定部1230’は、この他のセンサによる検出情報の信頼度が所定以上の領域の読み出しをスキップする読出領域情報を生成する。これにより、フレーム読み出しおよび認識処理の省電力化および高速化が可能となる。
[6−2.第3の実施形態の第2の変形例]
次に、第3の実施形態の第2の変形例について説明する。第3の実施形態の第2の変形例は、フレーム読み出しを行う場合の露出時間およびアナログゲインのうち少なくとも一方を適応的に設定する例である。
(露出時間およびアナログゲインを画像情報に基づき適応的に設定する例)
先ず、露出時間およびアナログゲインを、画像情報(画素データ)に基づき適応的に設定する方法について説明する。読出決定部123dは、読出部110から渡された画素データに含まれるノイズを検出する。読出部110から渡された画素データに所定以上のノイズが含まれる場合に、露出時間決定部1231’は露出時間をより長く設定し、AG量決定部1232’はアナログゲインをより高く設定する。
(露出時間およびアナログゲインを認識情報に基づき適応的に設定する例)
次に、露出時間およびアナログゲインを、認識情報に基づき適応的に設定する方法について説明する。認識処理実行部124から渡された認識情報に示される信頼度が所定未満の場合、読出決定部123dにおいて露出時間決定部1231’およびAG量決定部1232’は、それぞれ、露出時間およびアナログゲインを調整する。読出部110は、この調整された露出時間およびアナログゲインにより、例えば次のフレームの読み出しを行う。
(露出時間およびアナログゲインを外部情報に基づき適応的に設定する例)
次に、露出時間およびアナログゲインを、外部情報に基づき適応的に設定する方法について説明する。ここでは、外部情報として車両情報を用いる。
第1の例として、読出決定部123dにおいて露出時間決定部1231’およびAG量決定部1232’は、外部情報取得部17から渡された車両情報がヘッドライトの点灯を示している場合に、フレームの中央部と周辺部とで露出時間およびアナログゲインを異ならせる。すなわち、車両においてヘッドライトが点灯されている場合、フレームの中央部は輝度値が高く、周辺部は輝度値が低くなる。そこで、ヘッドライトが点灯されている場合には、フレーム中央部に対して、露出時間決定部1231’は露出時間をより短くし、AG量決定部1232’はアナログゲインをより高くする。一方、ヘッドライトが点灯されている場合には、フレーム周辺部に対して、露出時間決定部1231’は露出時間をより長くし、AG量決定部1232’はアナログゲインをより低くする。
第2の例として、読出決定部123dにおいて露出時間決定部1231’およびAG量決定部1232’は、外部情報取得部17から渡された車両情報に示される車両の速度に基づき、露出時間およびアナログゲインを適応的に設定する。例えば、フレーム中央部では、車両移動によるボケが少ない。そのため、フレーム中央部において、露出時間決定部1231’は露出時間をより長く設定し、AG量決定部1232’はアナログゲインをより低く設定する。一方、フレーム周辺部では、車両移動によるボケが大きくなる。そのため、フレーム周辺部において、露出時間決定部1231’は露出時間をより短く設定し、AG量決定部1232’はアナログゲインをより高く設定する。
ここで、車両情報に基づき車両の速度がより高速に変化した場合、フレーム中央部において、露出時間決定部1231’は露出時間をより短い時間に変更し、AG量決定部1232’はアナログゲインをより高いゲインに変更する。
このように、露出時間およびアナログゲインを適応的に設定することで、認識処理における撮像環境の変化の影響を抑制することができる。
[6−3.第3の実施形態の第3の変形例]
次に、第3の実施形態の第3の変形例について説明する。第3の実施形態の第3の変形例は、読出領域、露出時間、アナログゲインおよび駆動速度を、所定に指示された優先モードに応じて設定する例である。なお、駆動速度は、センサ部10を駆動する速度であって、駆動速度をセンサ部10に許容される範囲内で高速にすることで、例えばフレーム読み出しの速度を高速化できる。
図68は、第3の実施形態の第3の変形例に係る撮像装置の機能を説明するための一例の機能ブロック図である。図68のセクション(a)に示す構成は、図64のセクション(a)に示す構成に対して、優先モード指示部2020が追加されている。また、読出決定部123eは、図64に示した読出決定部123dとは異なる機能を含む。
図68のセクション(b)は、3の実施形態の第3の変形例に係る読出決定部123eの機能をより詳細に説明するための一例の機能ブロック図である。図68のセクション(b)において、読出決定部123eは、リソース調整部2000を有し、リソース調整部2000は、読出領域決定部2010と、露出時間決定部2011と、AG量決定部2012と、駆動速度決定部2013と、を含む。
特徴量蓄積制御部121から読出決定部123eに渡された読出情報および特徴量は、読出領域決定部2010、露出時間決定部2011、AG量決定部2012および駆動速度決定部2013にそれぞれ入力される。また、外部情報取得部17から渡された車両情報および環境情報と、読出部110から渡された画素データと、が読出領域決定部2010、露出時間決定部2011、AG量決定部2012および駆動速度決定部2013にそれぞれ入力される。
読出領域決定部2010は、入力された各情報に基づき、次に読み出しを行う読出領域を示す読出領域情報(例えばライン番号)を生成し、出力する。露出時間決定部2011は、入力された各情報に基づき、次の撮像における露出時間を示す情報を生成し、出力する。AG量決定部2012は、入力された各情報に基づき、次の撮像におけるアナログゲインを示す情報を生成し、出力する。
また、駆動速度決定部2013は、入力された各情報に基づき、センサ部10の駆動速度を調整するための駆動速度情報を生成し、出力する。駆動速度決定部2013による駆動速度の調整方法の一つとして、例えばセンサ部10のクロック信号の周波数を変更する方法がある。この方法では、駆動速度に応じてセンサ部10における消費電力が変わることになる。また、駆動速度の他の調整方法として、センサ部10における消費電力を固定的として駆動速度を調整する方法がある。例えば、駆動速度決定部2013は、センサ部10から読み出す画素データのビット数を変更することで、駆動速度を調整することができる。駆動速度決定部2013は、生成した駆動速度情報を読出部110に渡す。読出部110は、駆動速度情報を撮像制御情報に含めてセンサ部10に渡す。
優先モード指示部2020は、ユーザ操作に応じた指示や上位システムからの指示に応じて、優先モードを設定するための優先モード設定情報を出力する。優先モード設定情報は、リソース調整部2000に入力される。リソース調整部2000は、入力された優先モード設定情報に従い、読出領域決定部2010による読出領域情報の生成と、露出時間決定部2011による露出時間の生成と、AG量決定部2012によるアナログゲインの生成と、駆動速度決定部2013による駆動速度情報の生成と、を調整する。
優先モード指示部2020では、様々な優先モードを指示することができる。優先モードの例としては、認識精度を優先させる精度優先モード、消費電力を優先させる省電力モード、認識結果の速報性を優先する速報性優先モード、広い領域に対する認識処理を優先する広領域優先モード、暗所の環境での撮像に対する認識処理を優先する暗所モード、小物体に対する認識処理を優先する小物体優先モード、高速で移動する物体に対する認識処理を優先する高速物体優先モード、など、様々に考えられる。優先モード指示部2020は、これら各優先モードから1つの優先モードを指示してもよいし、各優先モードから複数の優先モードを指示してもよい。
(優先モードの動作例)
優先モードの動作の例について説明する。第1の例として、リソース調整部2000が、優先モード指示部2020に指示された優先モードに該当する設定を採用する例について説明する。例えば、第1の設定が、撮像環境が暗所環境であり、撮像された画素データに所定以上のノイズが含まれている場合を想定した設定であって、露出時間が10[msec]、アナログゲインが1倍であるものとする。また、第2の設定が、第3の実施形態の第3の変形例に係る撮像装置1が搭載される車両が所定以上の高速で走行するなど、撮像装置1が高速に移動し、撮像画像にボケが多い場合を想定した設定であって、露出時間が1[msec]、アナログゲインが10倍であるものとする。
この場合において、優先モード指示部2020によりリソース調整部2000に対して暗所優先モードが指示されている場合には、リソース調整部2000は、第1の設定を採用する。リソース調整部2000は、採用した第1の設定に従い、露出時間決定部2011およびAG量決定部2012に対して露出時間=10[msec]およびアナログゲイン=1倍を設定するように指示する。露出時間決定部2011およびAG量決定部2012は、それぞれ、指示された露出時間およびアナログゲインを、読出部110に渡す。読出部110は、露出時間決定部2011およびAG量決定部2012から渡された露出時間およびアナログゲインを、センサ部10に設定する。
第2の例として、リソース調整部2000が、優先モード指示部2020に指示された優先モードに対して採用する設定を、重み付けを行って決定する例について説明する。一例として、上述の第1の設定および第2の設定を例に取ると、リソース調整部2000は、優先モード指示部2020に指示された優先モードに応じて、第1の設定および第2の設定それぞれに重み付けを行う。リソース調整部2000は、重み付けを行った第1の設定および第2の設定に従い、指示された優先モードによる設定を決定する。なお、例えば、設定を行う対象(露出時間、アナログゲインなど)と、当該対象に応じた重み付けの値は、優先モード指示部2020により指示可能な各優先モードについて、予め設定し記憶しておくことができる。
第3の例として、リソース調整部2000が、優先モード指示部2020に指示された優先モードに対して採用する設定の頻度に重み付けを行い、当該優先モードに対する設定を決定する例について説明する。一例として、フレームの全体を略均一に読み出す均一読み出しを行う第3の設定と、フレームの周辺部分を重点的に読み出す周辺読み出しを行う第4の設定と、を考える。ここで、第3の設定を、通常時の読み出し設定とする。また、第4の設定を、信頼度が所定未満のオブジェクトが認識された場合の読み出し設定とする。
この場合において、例えば、優先モード指示部2020によりリソース調整部2000に対して広領域優先モードが指示されている場合には、リソース調整部2000は、第3の設定による読み出しおよび認識処理の頻度を、第4の設定による読み出しおよび認識処理の頻度に対して高くすることができる。具体的な例として、リソース調整部2000は、例えばフレーム単位の時系列で、「第3の設定」、「第3の設定」、「第4の設定」、「第3の設定」、「第3の設定」、「第4の設定」、…のように指定し、第3の設定による動作の頻度を、第4の設定による動作の頻度に対して高くする。
別の例として、例えば、優先モード指示部2020によりリソース調整部2000に対して精度優先モードが指示されている場合には、リソース調整部2000は、第4の設定による読み出しおよび認識処理の頻度を、第3の設定による読み出しおよび認識処理の頻度に対して高くすることができる。具体的な例として、リソース調整部2000は、例えばフレーム単位の時系列で、「第4の設定」、「第4の設定」、「第3の設定」、「第4の設定」、「第4の設定」、「第3の設定」、…のように実行し、第4の設定による動作の頻度を、第3の動作の頻度に対して高くする。
このようにして優先モードによる動作を決定することで、様々な状況において適切なフレーム読み出しおよび認識処理を実行することが可能となる。
(駆動速度の調整例)
駆動速度決定部2013は、読出決定部123dに渡される各情報に基づき、センサ部10を駆動する駆動速度を調整することができる。例えば、駆動速度決定部2013は、例えば車両情報が緊急時を示している場合には、認識処理の精度や即応性を向上させるため、駆動速度を上げるようにできる。駆動速度決定部2013は、認識情報に基づき認識処理の信頼度が所定以下であり、フレームの読み直しが必要な場合は、駆動速度を上げるようにできる。また、駆動速度決定部2013は、車両情報に基づき車両が旋回しているとされ、且つ、認識情報に基づきフレームに未観測領域が出現したとされた場合は、当該未観測領域の読み出しが終了するまで、駆動速度を上げるようにできる。さらに、駆動速度決定部2013は、例えば現在位置を逐次に反映可能な地図情報に基づき、現在位置が車両による走行に注意が必要なエリアである場合に、駆動速度を上げるようにできる。
一方、優先モード指示部2020により省電力モードが指示されている場合には、上述した車両情報が緊急時を示している場合以外は、駆動速度を上げないようにできる。また、同様に省電力モードが指示されている場合には、読出領域決定部2010によりフレーム内において物体が認識されることが予測される領域を読出領域に決定し、駆動速度決定部2013は、駆動速度を下げるようにできる。
[7.第4の実施形態]
次に、本開示の第4の実施形態について説明する。上述した第1〜第3の実施形態、および、それらの各変形例では、本開示に係る認識処理の様々な形態について説明した。ここで、例えば機械学習を用いた画像認識処理用に処理した画像は、人による視認に適していない場合が多い。この第4の実施形態では、フレーム読み出しを行った画像に対する認識処理を行いつつ、人の視認に耐え得る画像を出力可能とする。
図69は、第4の実施形態に係る撮像装置の機能を説明するための一例の機能ブロック図である。この図69に示される撮像装置では、上述の図21に示した撮像装置に対して、視認処理部14における読出決定部142aに対して、認識処理実行部124から認識情報が供給される点が異なっている。
図70は、第4の実施形態に係る画像処理を概略的に説明するための模式図である。ここでは、フレーム読み出しを、図33を用いて説明した、所定サイズのエリアAr#zを読出単位として、フレームの水平方向および垂直方向に順次に読み出すことで行うものとする。図70のセクション(a)は、読出部110により各エリアAr#10、Ar#11、…、Ar#15それぞれの画素データが順次に読み出される様子を模式的に示している。本開示に係る認識処理部12は、この順時に読み出された各エリアAr#10、Ar#11、…、Ar#15それぞれの画素データに基づき認識処理を実行することができる。
視認処理部14では、例えば、この順次に読み出された各エリアAr#10、Ar#11、…、Ar#15それぞれの画素データにより、図70のセクション(b)に示されるように、例えばフレームの画像を逐次に更新していく。これにより、視認に適した画像を生成することができる。
より具体的には、視認処理部14は、読出部110により順に読み出された各エリアAr#10、Ar#11、…、Ar#15それぞれの画素データを、画像データ蓄積制御部140における画像データ蓄積部141に蓄積する。画像データ蓄積制御部140は、このとき、同一のフレームから読み出された各エリアAr#10、Ar#11、…、Ar#15それぞれの画素データについて、フレーム内での位置関係を維持した状態で、画像データ蓄積部141に蓄積する。すなわち、画像データ蓄積制御部140は、各画素データを、当該各画素データがフレーム内での各位置にマッピングされた画像データとして、画像データ蓄積部141に蓄積する。
画像データ蓄積制御部140は、例えば画像処理部143からの要求に応じて、画像データ蓄積部141に蓄積された、同一フレームの各エリアAr#10、Ar#11、…、Ar#15それぞれの画素データを、当該フレームの画像データとして画像データ蓄積部141から読み出す。
ここで、本開示では、認識処理部12において、フレーム読み出しの途中で例えば所望の認識結果が得られた場合に、その時点でフレームの読み出しを終了させることができる(第2の実施形態、図26および図27など参照)。また、認識処理部12において、フレーム読み出しの途中で所定の認識結果が得られた場合に、その認識結果に基づき、フレーム読み出しを行う位置を、所望の認識結果が得られると予測される位置にジャンプさせることもできる(第2の実施形態の第10の変形例、図55、図56など参照)。これらの場合、認識処理の終了と共にフレーム読み出しが終了し、フレーム画像において画像の欠落部分が生じる可能性がある。
そのため、第4の実施形態では、視認処理部14は、認識処理部12による認識処理が終了した時点でフレームにおいて読み出されていない未処理領域が存在する場合に、認識処理の終了後にこの未処理領域の読み出しを行い、フレーム画像の欠落部分を補填する。
図71は、第4の実施形態に係る読み出し処理の例を示す図である。上述した図55の例を参照しながら、第4の実施形態に係る読出処理について説明する。図71のステップS20は、図55のステップS4cの処理に対応する。すなわち、図55を参照し、ステップS1で、撮像装置1により、認識対象となる対象画像(手書きの数字の「8」)の撮像を開始する。ステップS2で、センサ制御部11は、認識処理部12から渡される読出領域情報に従い、フレームをライン単位で、フレームの上端側から下端側に向けて順次に読み出す。ある位置までラインが読み出されると、認識処理部12により、読み出されたラインによる画像から、「8」または「9」の数字が識別される(ステップS3)。
なお、ステップS2において読出部110により読み出された画素データは、認識処理部12に渡されると共に、視認処理部14にも渡される。視認処理部14において、画像データ蓄積制御部140は、読出部110から渡された画素データを逐次、画像データ蓄積部141に蓄積する。
認識処理部12において、読出決定部123fは、ステップS3までの認識処理の結果に基づき、ステップS3で識別されたオブジェクトが数字の「8」または「9」の何れであるかを識別可能と予測される予測ラインを指定する読出領域情報を生成し、読出部110に渡す。読出部110は、この読出領域情報に従い読み出された予測ラインを認識処理部12に渡すと共に、視認処理部14に渡す。視認処理部14において画像データ蓄積制御部140は、読出部110から渡された予測ラインの画素データを画像データ蓄積部141に蓄積する。
認識処理部12は、読出部110により渡された予測ラインの画素データに基づき認識処理を実行する(ステップS20)。認識処理部12は、ステップS20でオブジェクトが確定されると、認識結果を出力する(ステップS21)。
認識処理部12において、認識処理実行部124は、ステップS21で認識結果が出力されると、認識処理の終了を示す認識情報を視認処理部14に渡す。視認処理部14は、認識処理実行部124から渡されたこの認識情報に応じて、ステップS20の時点における未処理領域の読み出しを行う(ステップS22)。
より具体的には、視認処理部14に渡された、認識処理の終了を示す認識情報を読出決定部142aに渡す。読出決定部142aは、渡された認識情報に応じて、未処理領域に対する読み出しを行うための読出領域を設定する。読出決定部142aは、設定した読出領域を示す読出領域情報を読出部110に渡す。読出部110は、渡された読出領域情報に従いフレームにおける未処理領域の読み出しを行い、読み出された画素データを視認処理部14に渡す。視認処理部14において画像データ蓄積制御部140は、読出部110から渡された未処理領域の画素データを画像データ蓄積部141に蓄積する。
読出部110によるフレームの未処理領域の読み出しが終了することで、フレームの全体の読み出しが完了する。画像データ蓄積部141には、認識処理のために読み出された画素データと、認識処理の終了後に未処理領域から読み出された画素データと、が蓄積されている。したがって、例えば画像データ蓄積制御部140は、画像データ蓄積部141から同一フレームの画素データを読み出すことで、フレーム画像の全体による画像データを出力することができる(ステップS23)。
なお、図71で説明したステップS1〜ステップS23の一連の処理は、1フレーム周期内で実行されると、視認処理部14により撮像のタイミングに対して略リアルタイムの動画像を出力可能となり、好ましい。
なお、ステップS20までの認識処理のための読み出しと、ステップS22による視認処理のための読み出しと、がフレームのライン順次の読み出しと異なる順序で行われる。そのため、例えばセンサ部10の撮像方式がローリングシャッタ方式の場合、読み出し順が分断された各ライン群において、読み出し順と時間との不整合によるズレ(時刻ズレと呼ぶ)が発生する。この時刻ズレは、例えば各ライン群のライン番号と、フレーム周期とに基づき画像処理により補正することができる。
また、撮像装置1が被写体に対して移動している場合、この時刻ズレはより顕著となる。この場合には、例えば撮像装置1に3方向の角速度を検知可能なジャイロが搭載されていれば、このジャイロの検知出力に基づき撮像装置1の移動方法および速度を求め、この移動方向および速度をさらに用いて、時刻ズレを補正することができる。
図72は、第4の実施形態に係る処理を示す一例のフローチャートである。この図72のフローチャートにおいて、ステップS200〜ステップS206の処理は、上述した図54のフローチャートにおけるステップS100〜ステップS1080の処理と同等の処理となる。
すなわち、ステップS200で、読出部110は、対象のフレームの読出ラインで示されるラインからラインデータの読み出しを行う。読出部110は、読み出したラインの各画素データによるラインデータを認識処理部12および視認処理部14に渡す。
ステップS200の処理が終了すると、処理がステップS201およびステップS211に移行される。ステップS201〜ステップS208の処理は、認識処理部12における処理である。一方、ステップS211〜ステップS214の処理は、視認処理部14における処理である。これら認識処理部12における処理と、視認処理部14における処理とは、並列して実行することが可能である。
先ず、ステップS201からの認識処理部12による処理について説明する。ステップS201で、認識処理部12は、対象のフレームに対する認識処理が終了しているか否かを判定する。認識処理部12は、終了していると判定した場合(ステップS201、「Yes」)、ステップS202以下の処理を実行しない。一方、認識処理部12は、終了していないと判定した場合(ステップS201、「No」)、処理をステップS202に移行させる。
ステップS202〜ステップS208の処理は、図54のステップS101〜ステップS1080の処理と同等である。すなわち、ステップS202で、認識処理部12において特徴量計算部120は、読出部110から渡されたラインデータに基づきラインの特徴量を算出する。次のステップS203で、特徴量計算部120は、特徴量蓄積制御部121から、特徴量蓄積部122に蓄積されている特徴量を取得する。次のステップS204で、特徴量計算部120は、ステップS202で算出された特徴量と、ステップS203で特徴量蓄積制御部121から取得した特徴量と、を統合して特徴量蓄積制御部121に渡す。
次のステップS205で、特徴量蓄積制御部121は、統合された特徴量を、特徴量蓄積部122に蓄積する。次のステップS206で、認識処理実行部124は、統合された特徴量を用いて認識処理を実行する。次のステップS207で、認識処理実行部124は、ステップS206の認識処理による認識結果を出力する。ここで、認識処理実行部124は、当該認識結果を含む認識情報を、視認処理部14の読出決定部142aに渡す。
次のステップS208で、読出決定部123fにおいて読出領域決定部1230は、特徴量蓄積制御部121から渡された、読出情報と、ステップS202で算出された特徴量とステップS203で特徴量蓄積制御部121から取得した特徴量とを統合した特徴量と、を用いて次に読み出しを行う読出ラインを決定する。読出決定部123fは、決定された読出ラインを示す情報(読出領域情報)を、センサ制御部11における読出制御部111に渡す。ステップS208の処理が終了されると、処理がステップS220に移行される。
次に、ステップS211からの視認処理部14による処理について説明する。ステップS211で、視認処理部14において画像データ蓄積制御部140は、読出部110から渡されたラインデータを画像データ蓄積部141に蓄積する。次のステップS212で、視認処理部14において画像処理部143は、例えば画像データ蓄積部141に蓄積されたラインデータによる画像データに対して視認用の画像処理を施す。次のステップS213で、画像処理部143は、視認用の画像処理を施した画像データを出力する。
これに限らず、画像処理部143は、ステップS213で、視認用の画像処理を施した画像データを、再び画像データ蓄積部141に蓄積してもよい。また、画像処理部143は、ステップS212における画像処理を、画像データ蓄積部141に対象フレーム全体の画像データが蓄積された場合に、当該画像データに対する画像処理を施してもよい。
次のステップS214で、視認処理部14において読出決定部142aは、ステップS200で読み出されたラインデータを示すライン情報と、ステップS207において認識処理実行部124から渡された認識情報と、に基づき、次に読み出しを行う読出ラインを決定する。読出決定部142aは、決定された読出ラインを示す情報(読出領域情報)を、読出制御部111に渡す。ステップS214の処理が終了すると、処理がステップS220に移行される。
ステップS220で、読出制御部111は、ステップS208で認識処理部12から渡された読出ラインと、ステップS214で視認処理部14から渡された読出ラインと、のうち何れかの読出ラインを示す読出領域情報を、読出部110に渡す。ここで、認識処理部12において認識処理が行われている場合(ステップS201、「No」)には、ステップS208で認識処理部12から渡された読出ラインと、ステップS214で視認処理部14から渡された読出ラインと、が一致する。そのため、読出制御部111は、認識処理部12から渡された読出ラインと、視認処理部14から渡された読出ラインと、の何れを示す読出領域情報を読出部110に渡してもよい。一方、認識処理部12において認識処理が行われていない場合には(ステップS201、「Yes」)、読出制御部111は、視認処理部14から渡された読出領域情報を読出部110に渡す。
このように、第4の実施形態では、認識処理の終了後にフレームの未処理領域を読み出すようしていているため、認識処理が途中で終了した場合や、認識処理において読み出し位置のジャンプが発生した場合であっても、フレーム全体の画像を取得することができる。
なお、上述では、視認処理部14は、フレーム読み出しで読み出された画素データにより、フレームの画像を逐次に更新するように説明したが、これはこの例に限定されない。例えば、視認処理部14は、フレーム読み出しで読み出された画素データを例えば画像データ蓄積部141に蓄積し、蓄積された同一フレームの画素データの量が閾値を超えた場合に、画像データ蓄積部141から当該同一フレームの画素データを纏めて読み出してもよい。また、例えばフレーム読み出しをライン間引きにより行う場合、間引きされた部分を周囲の画素データにより補間してもよい。
(画像データの出力のトリガ例)
なお、視認処理部14は、画像データの出力がフレーム単位で行われる場合には、画像データ蓄積部141にフレーム分の画像データが蓄積されてから、画像データの出力を行う。一方、画像データの出力がフレーム単位ではない場合には、視認処理部14は、例えば読出部110から渡されたラインデータを逐次に出力することができる。
(画像データの蓄積制御)
次に、第4の実施形態に適用可能な、画像データ蓄積部141の制御の例について説明する。画像データ蓄積部141の制御の第1の例として、画像データ蓄積制御部140は、画像データ蓄積部141に蓄積される画像データが不足している場合に、読出部110から渡されたラインデータを画像データ蓄積部141に蓄積する。
一例として、画像処理部143が画像処理を行う単位分の画像データが画像データ蓄積部141に蓄積されていない場合には、読出部110から渡されたラインデータを画像データ蓄積部141に蓄積する。より具体的な例としては、画像処理部143がフレーム単位で画像処理を行う場合に、画像データ蓄積部141に蓄積される対象フレームの画像データが1フレームに満たない場合に、読出部110から渡された画素データを画像データ蓄積部141に蓄積することが考えられる。
画像データ蓄積部141の制御の第2の例として、撮像対象におけるシーンが変化した場合に、画像データ蓄積部141に蓄積されている画像データを破棄する。撮像対象におけるシーンの変化は、例えば撮像対象の明暗、動き、画面構成などの急変により発生する。当該撮像装置1が車両に搭載されて用いられる場合、当該車両がトンネルなどに入った場合、あるいは、トンネルから出た場合に撮像対象の明暗が急変し、シーンの変化が発生する。また、当該車両が急加速、急停車した場合、あるいは、当該車両が急旋回した場合に、撮像対象の動きが急変し、シーンの変化が発生する。さらに、当該車両が込み入った場所から突然開けた場所に出た場合、撮像対象の画面構成が急変し、シーンの変化が発生する。撮像対象におけるシーンの変化は、読出部110から渡された画素データに基づき判定することができる。これに限らず、認識処理実行部124から視認処理部14に渡される認識情報に基づき、撮像対象におけるシーンの変化を判定することも可能である。
画像データ蓄積部141の制御の第3の例として、読出部110から渡されたラインデータを画像データ蓄積部141に蓄積しない。図73を用いて、第4の実施形態に係る画像データ蓄積部141の制御の第3の例について説明する。図73において、ステップS30は、人が認識された領域511が含まれるフレーム510において、フレーム510に含まれる全ての画素データが読み出された状態を示している。
次のステップS31で、認識処理部12は、ステップS30から一定時間経過後に読出部110によりフレーム読み出しを行い、ステップS30で認識された領域511において認識結果に変化が生じていないか否かを判定する。この例では、認識処理部12は、人が認識された領域511の一部(この例ではラインL#tgt)に対して認識処理を実行することで、判定を行う。例えば、認識処理部12は、ステップS31において認識処理を実行した部分の認識スコアの、ステップS30の状態に対する変化量が閾値以下の場合に、認識結果に変化が無いと判定できる。認識処理部12は、認識結果に変化が無いと判定した場合、ステップS31で読み出したラインデータの画像データ蓄積部141への蓄積を行わない。
例えば、領域511に含まれる人の髪の揺れだけが認識され、人の位置に変化が無いような場合、認識スコアが閾値より低くなり、認識結果としては変化が無いとされる場合がある。この場合、ステップS31で読み出した画素データの蓄積を行わなくても、視認性の観点から、画像データの一貫性を保つことができる。このように、画像としては変化があるが、認識結果としては変化が無い場合に読み出した画素データの蓄積を行わないようにすることで、画像データ蓄積部141の容量を節約することができる。
[7−1.第4の実施形態の第1の変形例]
次に、第4の実施形態の第1の変形例について説明する。第4の実施形態の第1の変形例は、フレーム読み出しを行った画像を出力する際に、特定のオブジェクトが認識された、あるいは、認識されると予測される領域をマスクする例である。
図74を用いて、第4の実施形態の第1の変形例について説明する。図74において、認識処理部12は、ステップS41で、フレーム520の上端からラインL#mの位置までラインデータの読み出しを行った時点で、領域521aにおいて特定のオブジェクト(この例では人)の一部を認識している。視認処理部14は、このラインL#mまでのラインデータによる画像を出力する。あるいは、視認処理部14は、このラインL#mまでのラインデータを画像データ蓄積部141に蓄積する。
ここで、認識処理部12は、当該特定のオブジェクトの一部を認識した時点で、当該特定のオブジェクトの全体(ステップS42に領域521bとして示す)を予測することができる。認識処理部12は、特定のオブジェクトが認識および予測された領域521bの情報を含む認識情報を、視認処理部14に渡す。また、認識処理部12は、認識処理を当該特定のオブジェクトが認識されたラインL#mの位置で終了させる。
視認処理部14は、ラインL#m以降もフレーム520からのラインデータの読み出しを継続し、読み出したラインデータによる画像を出力、あるいは、読み出したラインデータを画像データ蓄積部141に蓄積する。このとき、視認処理部14は、特定のオブジェクトが含まれると予測された領域521bにおいて、ラインL#m以降に読み出された部分をマスクする(ステップS42)。例えば、視認処理部14において、画像処理部143は、この領域521bの一部をマスクして出力する。これに限らず、画像処理部143は、この領域521bの一部をマスクしたフレーム画像を、画像データ蓄積部141に蓄積してもよい。また、視認処理部14は、この領域521bにおけるラインL#m以降の画素データを読み出さないようにしてもよい。
また、視認処理部14は、ステップS43に示されるように、特定のオブジェクトが含まれると予測された領域521bの全てをマスクしてもよい。この場合、マスクの対象は、視認処理部14が出力するための画素データであり、例えば認識処理部12が認識処理に用いる画素データについては、マスクを行わない。
上述では、フレーム520において、特定のオブジェクトが認識された領域521bをマスクし、それ以外の部分の画像を例えば出力している。これはこの例に限定されず、例えば領域521b以外の部分をマスクし、領域521b内の画像を例えば出力することもできる。
このように、視認用の画像において特定のオブジェクトが認識された領域521bをマスクすることで、プライバシーの保護を実現することが可能である。例えば、第4の実施形態の第1の変形例に係る撮像装置1が道路監視カメラ、ドライブレコーダ、ドローン搭載用などに適用される場合、撮像された画像データ(例えば同画像データ)から個人情報のみを消去し、扱いが容易な形式にすることができる。このような用途の場合のマスク対象となる特定のオブジェクトとしては、人、顔、車両、車両のナンバなどが挙げられる。
[7−2.第4の実施形態の第2の変形例]
次に、第4の実施形態の第2の変形例について説明する。第4の実施形態の第2の変形例は、他の方式で物体検出などを行うセンサの出力と、当該撮像装置1による出力画像とを統合して表示させるような場合に、フレームにおける、表示に適した領域を優先的に読み出すようにした例である。
図75を用いて、第4の実施形態の第2の変形例について説明する。ここでは、他の方式のセンサとして、LiDAR方式のセンサ(以下、LiDARセンサと呼ぶ)を適用する。これに限らず、他の方式のセンサとして、レーダなどを適用することもできる。図示は省略するが、第4の実施形態の第2の変形例に係る撮像装置1は、この他の方式のセンサによる検知結果を、例えば認識処理実行部124からの認識情報の代わりに、読出決定部142aに入力するものとする。
図75において、セクション(a)は、LiDARセンサにより取得された画像530の例を示している。このセクション(a)において、領域531がLiDARセンサから所定距離(例えば10[m]〜数10[m])以内の範囲で取得された画像であるものとする。
図75において、セクション(b)は、第4の実施形態の第2の変形例に係る撮像装置1により撮像されるフレーム540の例を示している。このフレーム540において、斜線を付して示す領域541が、セクション(a)の領域531に対応し、当該撮像装置1から所定距離以内の範囲にある物体などのオブジェクトを含む。一方、領域542は、当該撮像装置1から所定距離以遠が撮像される領域であって、例えば空や遠方の風景が含まれる。
図75のセクション(a)において、LiDARセンサおよび当該撮像装置1から所定距離以内の範囲に対応する領域531は、オブジェクトが密であり、表示に適する領域であると考えられる。一方、領域531以外の部分は、オブジェクトが疎であり、重点的に表示を行う必要性が薄い領域であると考えられる。そこで、視認処理部14において、読出決定部142aは、領域541および542のうち、フレーム540の読み出しを、当該領域531に対応する領域541に対して優先的に実行する。例えば、読出決定部142aは、領域541の読み出しを間引きをせずに高解像度にて実行する。一方、読出決定部142aは、領域542に対しては、例えば間引き読み出しなどにより低解像度の読み出しを行うか、あるいは読み出しを行わない。
このように、第4の実施形態の第2の変形例に係る撮像装置1は、他の方式のセンサによる検知結果に応じてフレーム読み出しの解像度を設定することで、フレーム540の読み出しを最適化することが可能である。
[7−3.第4の実施形態の第3の変形例]
次に、第4の実施形態の第3の変形例について説明する。第4の実施形態の第3の変形例は、認識処理部12および視認処理部14によるフレーム読み出しを適応的に行う例である。第4の実施形態の第3の変形例の第1の例は、特定のオブジェクトが認識された領域の読み出しを優先して行い、その後、未処理領域の読み出しを行う。このとき、未処理領域の読み出しは、間引き読み出しなど低解像度の読み出し方法にて行う。
図76を用いて、第4の実施形態の第3の変形例における第1の例について説明する。図76において、認識処理部12は、ステップS50で、フレーム540の上端からラインL#mの位置までラインデータの読み出しを行った時点で、領域541において特定のオブジェクト(この例では人)を認識している。視認処理部14は、このラインL#mまでのラインデータによる画像を出力する。あるいは、視認処理部14は、このラインL#mまでのラインデータを画像データ蓄積部141に蓄積する。
なお、この図76のステップS50では、上述した図74のステップS40と同様に、認識処理部12は、当該特定のオブジェクトの一部(ラインL#mまでの領域)を認識した時点で、当該特定のオブジェクトの全体の領域541を予測している。
次のステップS51で、認識処理部12は、フレーム540のラインL#mより下の部分において、ステップS50で認識された領域541を優先して読み出す。認識処理部12は、領域541から読み出した画素データに基づきより詳細な認識処理を実行することが可能である。認識処理部12は、領域541における特定のオブジェクトの認識がなされると、認識処理を終了させる。また、視認処理部14は、この領域541の画素データによる画像を出力する。あるいは、視認処理部14は、この領域541の画素データを画像データ蓄積部141に蓄積する。
次のステップS52で、視認処理部14は、フレーム540のラインL#m以降の領域の読み出しを行う。このとき、視認処理部14は、ラインL#m以降の領域の読み出しを、ラインL#m以前の読み出しに対して低解像度で行うことができる。図76の例では、視認処理部14は、ラインL#m以降の読み出しを、間引き読み出しにより行っている。なお、視認処理部14は、この読み出しを例えば領域541の部分を除いて行うことができる。
視認処理部14は、間引き読み出しにより読み出した、フレーム540のラインL#m以降のラインデータによる画像を出力する。この場合、視認処理部14において画像処理部143は、間引きされたラインデータをライン間で補間して出力することができる。あるいは、視認処理部14は、ラインL#m以降のラインデータを画像データ蓄積部141に蓄積する。
このように、第4の実施形態の第3の変形例の第1の例では、認識処理部12により特定のオブジェクトが認識された後は、未処理領域を視認処理部14により低解像度により読み出している。そのため、特定のオブジェクトに対するより高精度の認識処理が可能となると共に、フレーム全体の画像をより高速に出力することが可能となる。
次に、第4の実施形態の第3の変形例の第2の例について説明する。この第2の例では、認識処理用と視認処理用とで読み出しの条件を変える。一例として、認識処理用と視認処理用とで、露出時間およびアナログゲインのうち少なくとも一方を異ならせる。具体的な例として、認識処理部12は、アナログゲインを最大限に上げた撮像によりフレーム読み出しを行う。一方、視認処理部14は、露出時間を適切に設定した撮像によりフレーム読み出しを行う。
このとき、認識処理部12によるフレーム読み出しと、視認処理部14によるフレーム読み出しと、をフレーム毎に交互に実行することができる。これに限らず、認識処理部12によるフレーム読み出しと、視認処理部14によるフレーム読み出しと、を読出単位(例えばライン)毎に切り替えて実行することもできる。これにより、認識処理および視認処理を、それぞれ適切な条件で実行することが可能となる。
[8.第5の実施形態]
次に、第5の実施形態として、本開示に係る、第1〜第4の実施形態および各変形例による撮像装置1の適用例について説明する。図77は、上述の第1〜第4の実施形態および各変形例による撮像装置1を使用する使用例を示す図である。
上述した撮像装置1は、例えば、以下のように、可視光や、赤外光、紫外光、X線等の光をセンシングする様々なケースに使用することができる。
・ディジタルカメラや、カメラ機能付きの携帯機器等の、鑑賞の用に供される画像を撮影する装置。
・自動停止等の安全運転や、運転者の状態の認識等のために、自動車の前方や後方、周囲、車内等を撮影する車載用センサ、走行車両や道路を監視する監視カメラ、車両間等の測距を行う測距センサ等の、交通の用に供される装置。
・ユーザのジェスチャを撮影して、そのジェスチャに従った機器操作を行うために、TVや、冷蔵庫、エアーコンディショナ等の家電に供される装置。
・内視鏡や、赤外光の受光による血管撮影を行う装置等の、医療やヘルスケアの用に供される装置。
・防犯用途の監視カメラや、人物認証用途のカメラ等の、セキュリティの用に供される装置。
・肌を撮影する肌測定器や、頭皮を撮影するマイクロスコープ等の、美容の用に供される装置。
・スポーツ用途等向けのアクションカメラやウェアラブルカメラ等の、スポーツの用に供される装置。
・畑や作物の状態を監視するためのカメラ等の、農業の用に供される装置。
[本開示に係る技術のさらなる適用例]
本開示に係る技術(本技術)は、様々な製品へ適用することができる。例えば、本開示に係る技術は、自動車、電気自動車、ハイブリッド電気自動車、自動二輪車、自転車、パーソナルモビリティ、飛行機、ドローン、船舶、ロボットといった各種の移動体に搭載される装置に対して適用されてもよい。
図78は、本開示に係る技術が適用され得る移動体制御システムの一例である車両制御システムの概略的な構成例を示すブロック図である。
車両制御システム12000は、通信ネットワーク12001を介して接続された複数の電子制御ユニットを備える。図78に示した例では、車両制御システム12000は、駆動系制御ユニット12010、ボディ系制御ユニット12020、車外情報検出ユニット12030、車内情報検出ユニット12040、および統合制御ユニット12050を備える。また、統合制御ユニット12050の機能構成として、マイクロコンピュータ12051、音声画像出力部12052、および車載ネットワークI/F(インタフェース)12053が図示されている。
駆動系制御ユニット12010は、各種プログラムにしたがって車両の駆動系に関連する装置の動作を制御する。例えば、駆動系制御ユニット12010は、内燃機関又は駆動用モータ等の車両の駆動力を発生させるための駆動力発生装置、駆動力を車輪に伝達するための駆動力伝達機構、車両の舵角を調節するステアリング機構、および、車両の制動力を発生させる制動装置等の制御装置として機能する。
ボディ系制御ユニット12020は、各種プログラムにしたがって車体に装備された各種装置の動作を制御する。例えば、ボディ系制御ユニット12020は、キーレスエントリシステム、スマートキーシステム、パワーウィンドウ装置、あるいは、ヘッドランプ、バックランプ、ブレーキランプ、ウィンカー又はフォグランプ等の各種ランプの制御装置として機能する。この場合、ボディ系制御ユニット12020には、鍵を代替する携帯機から発信される電波又は各種スイッチの信号が入力され得る。ボディ系制御ユニット12020は、これらの電波又は信号の入力を受け付け、車両のドアロック装置、パワーウィンドウ装置、ランプ等を制御する。
車外情報検出ユニット12030は、車両制御システム12000を搭載した車両の外部の情報を検出する。例えば、車外情報検出ユニット12030には、撮像部12031が接続される。車外情報検出ユニット12030は、撮像部12031に車外の画像を撮像させるとともに、撮像された画像を受信する。車外情報検出ユニット12030は、受信した画像に基づいて、人、車、障害物、標識又は路面上の文字等の物体検出処理又は距離検出処理を行ってもよい。車外情報検出ユニット12030は、例えば、受信した画像に対して画像処理を施し、画像処理の結果に基づき物体検出処理や距離検出処理を行う。
撮像部12031は、光を受光し、その光の受光量に応じた電気信号を出力する光センサである。撮像部12031は、電気信号を画像として出力することもできるし、測距の情報として出力することもできる。また、撮像部12031が受光する光は、可視光であっても良いし、赤外線等の非可視光であっても良い。
車内情報検出ユニット12040は、車内の情報を検出する。車内情報検出ユニット12040には、例えば、運転者の状態を検出する運転者状態検出部12041が接続される。運転者状態検出部12041は、例えば運転者を撮像するカメラを含み、車内情報検出ユニット12040は、運転者状態検出部12041から入力される検出情報に基づいて、運転者の疲労度合い又は集中度合いを算出してもよいし、運転者が居眠りをしていないかを判別してもよい。
マイクロコンピュータ12051は、車外情報検出ユニット12030又は車内情報検出ユニット12040で取得される車内外の情報に基づいて、駆動力発生装置、ステアリング機構又は制動装置の制御目標値を演算し、駆動系制御ユニット12010に対して制御指令を出力することができる。例えば、マイクロコンピュータ12051は、車両の衝突回避あるいは衝撃緩和、車間距離に基づく追従走行、車速維持走行、車両の衝突警告、又は車両のレーン逸脱警告等を含むADAS(Advanced Driver Assistance System)の機能実現を目的とした協調制御を行うことができる。
また、マイクロコンピュータ12051は、車外情報検出ユニット12030又は車内情報検出ユニット12040で取得される車両の周囲の情報に基づいて駆動力発生装置、ステアリング機構又は制動装置等を制御することにより、運転者の操作に拠らずに自律的に走行する自動運転等を目的とした協調制御を行うことができる。
また、マイクロコンピュータ12051は、車外情報検出ユニット12030で取得される車外の情報に基づいて、ボディ系制御ユニット12020に対して制御指令を出力することができる。例えば、マイクロコンピュータ12051は、車外情報検出ユニット12030で検知した先行車又は対向車の位置に応じてヘッドランプを制御し、ハイビームをロービームに切り替える等の防眩を図ることを目的とした協調制御を行うことができる。
音声画像出力部12052は、車両の搭乗者又は車外に対して、視覚的又は聴覚的に情報を通知することが可能な出力装置へ音声および画像のうちの少なくとも一方の出力信号を送信する。図78の例では、出力装置として、オーディオスピーカ12061、表示部12062およびインストルメントパネル12063が例示されている。表示部12062は、例えば、オンボードディスプレイおよびヘッドアップディスプレイの少なくとも一つを含んでいてもよい。
図79は、撮像部12031の設置位置の例を示す図である。図79では、車両12100は、撮像部12031として、撮像部12101、12102、12103、12104および12105を有する。
撮像部12101、12102、12103、12104および12105は、例えば、車両12100のフロントノーズ、サイドミラー、リアバンパ、バックドアおよび車室内のフロントガラスの上部等の位置に設けられる。フロントノーズに備えられる撮像部12101および車室内のフロントガラスの上部に備えられる撮像部12105は、主として車両12100の前方の画像を取得する。サイドミラーに備えられる撮像部12102、12103は、主として車両12100の側方の画像を取得する。リアバンパ又はバックドアに備えられる撮像部12104は、主として車両12100の後方の画像を取得する。撮像部12101および12105で取得される前方の画像は、主として先行車両又は、歩行者、障害物、信号機、交通標識又は車線等の検出に用いられる。
なお、図79には、撮像部12101〜12104の撮影範囲の一例が示されている。撮像範囲12111は、フロントノーズに設けられた撮像部12101の撮像範囲を示し、撮像範囲12112および12113は、それぞれサイドミラーに設けられた撮像部12102および12103の撮像範囲を示し、撮像範囲12114は、リアバンパ又はバックドアに設けられた撮像部12104の撮像範囲を示す。例えば、撮像部12101〜12104で撮像された画像データが重ね合わせられることにより、車両12100を上方から見た俯瞰画像が得られる。
撮像部12101〜12104の少なくとも1つは、距離情報を取得する機能を有していてもよい。例えば、撮像部12101〜12104の少なくとも1つは、複数の撮像素子からなるステレオカメラであってもよいし、位相差検出用の画素を有する撮像素子であってもよい。
例えば、マイクロコンピュータ12051は、撮像部12101〜12104から得られた距離情報を基に、撮像範囲12111〜12114内における各立体物までの距離と、この距離の時間的変化(車両12100に対する相対速度)を求めることにより、特に車両12100の進行路上にある最も近い立体物で、車両12100と略同じ方向に所定の速度(例えば、0km/h以上)で走行する立体物を先行車として抽出することができる。さらに、マイクロコンピュータ12051は、先行車の手前に予め確保すべき車間距離を設定し、自動ブレーキ制御(追従停止制御も含む)や自動加速制御(追従発進制御も含む)等を行うことができる。このように運転者の操作に拠らずに自律的に走行する自動運転等を目的とした協調制御を行うことができる。
例えば、マイクロコンピュータ12051は、撮像部12101〜12104から得られた距離情報を元に、立体物に関する立体物データを、2輪車、普通車両、大型車両、歩行者、電柱等その他の立体物に分類して抽出し、障害物の自動回避に用いることができる。例えば、マイクロコンピュータ12051は、車両12100の周辺の障害物を、車両12100のドライバが視認可能な障害物と視認困難な障害物とに識別する。そして、マイクロコンピュータ12051は、各障害物との衝突の危険度を示す衝突リスクを判断し、衝突リスクが設定値以上で衝突可能性がある状況であるときには、オーディオスピーカ12061や表示部12062を介してドライバに警報を出力することや、駆動系制御ユニット12010を介して強制減速や回避操舵を行うことで、衝突回避のための運転支援を行うことができる。
撮像部12101〜12104の少なくとも1つは、赤外線を検出する赤外線カメラであってもよい。例えば、マイクロコンピュータ12051は、撮像部12101〜12104の撮像画像中に歩行者が存在するか否かを判定することで歩行者を認識することができる。かかる歩行者の認識は、例えば赤外線カメラとしての撮像部12101〜12104の撮像画像における特徴点を抽出する手順と、物体の輪郭を示す一連の特徴点にパターンマッチング処理を行って歩行者か否かを判別する手順によって行われる。マイクロコンピュータ12051が、撮像部12101〜12104の撮像画像中に歩行者が存在すると判定し、歩行者を認識すると、音声画像出力部12052は、当該認識された歩行者に強調のための方形輪郭線を重畳表示するように、表示部12062を制御する。また、音声画像出力部12052は、歩行者を示すアイコン等を所望の位置に表示するように表示部12062を制御してもよい。
以上、本開示に係る技術が適用され得る車両制御システムの一例について説明した。本開示に係る技術は、以上説明した構成のうち、例えば、撮像部12031に適用され得る。本開示に係る撮像装置1を撮像部12031に適用することで、歩行者や障害物などの認識をより高速に実行することが可能となり、また、省電力化が可能となる。
なお、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。
なお、本技術は以下のような構成も取ることができる。
(1)
複数の画素が配列された画素領域を有する撮像部と、
前記画素領域に含まれる画素からの画素信号の読み出しを制御する読出制御部と、
前記読出制御部が前記読み出しを行う、前記画素領域に複数が設定される読出単位を制御する読出単位制御部と、
前記読出単位毎の教師データを学習した認識部と、
を備え、
前記認識部は、
前記読出単位毎の前記画素信号に対して認識処理を行い、該認識処理の結果の認識結果を出力する、
撮像装置。
認識処理における省電力化が可能となると共に、認識処理に要する時間を短縮することが可能となる。
(2)
前記認識部は、
同一フレーム画像における複数の前記読出単位の画素データに対してRNNを用いた機械学習処理を実行し、該機械学習処理の結果に基づき前記認識処理を実行する
前記(1)に記載の撮像装置。
認識処理における省電力化が可能となると共に、認識処理に要する時間を短縮することが可能となる。
(3)
前記読出単位制御部は、
前記認識部により所定の条件を満たす前記認識結果が出力された場合に、前記読出制御部に対して前記読み出しの終了を指示する、
前記(1)または(2)に記載の撮像装置。
認識処理における省電力化が可能となると共に、認識処理に要する時間を短縮することが可能となる。
(4)
前記読出単位制御部は、
前記認識部により所定の条件を満たす前記認識結果の候補が取得された場合に、前記所定の条件を満たす前記認識結果の取得が期待される位置の前記読出単位の読み出しを行うように、前記読出制御部に指示する、
前記(1)乃至(3)の何れかに記載の撮像装置。
認識処理における省電力化が可能となると共に、認識処理に要する時間を短縮することが可能となる。
(5)
前記読出単位制御部は、
前記読出制御部に対し、前記画素領域に含まれる前記画素を前記読出単位で間引きを行って前記画素信号を読み出すように指示し、前記認識部により所定の条件を満たす前記認識結果の候補が取得された場合に、前記間引きを行った前記読出単位のうち該所定の条件を満たすことが期待される読出単位の読み出しを行うように指示する、
前記(1)乃至(4)の何れかに記載の撮像装置。
認識処理における省電力化が可能となると共に、認識処理に要する時間を短縮することが可能となる。
(6)
前記読出単位制御部は、
前記認識結果に基づき、前記画素領域に含まれる前記画素における露出と、前記画素領域に含まれる前記画素から読み出された前記画素信号に対するゲインと、のうち少なくとも一方を制御するように、前記読出制御部に指示する、
前記(1)乃至(5)の何れかに記載の撮像装置。
1フレームにおける認識処理において明るいオブジェクトおよび暗いオブジェクトをそれぞれ認識可能となる。
(7)
前記読出単位制御部は、
前記画素信号に基づく画素情報と、前記認識処理により生成される認識情報と、外部から取得される外部情報と、のうち少なくとも1つに基づき前記読出単位を制御する、
前記(1)乃至(6)の何れかに記載の撮像装置。
高精度の認識処理をより高速に実行可能となる。
(8)
前記読出単位制御部は、
前記配列の1つの行に整列される複数の前記画素からなるラインを前記読出単位に設定する、
前記(1)乃至(7)の何れかに記載の撮像装置。
フレームに対するライン読み出しの途中で有効な認識結果が得られた場合に、ライン読み出しおよび認識処理を終了させることができ、認識処理における省電力化が可能となると共に、認識処理に要する時間を短縮することが可能となる。
(9)
前記読出単位制御部は、
隣接しない前記画素を含む複数の前記画素からなるパターンを前記読出単位に設定する、
前記(1)乃至(7)の何れかに記載の撮像装置。
所定の認識結果が得られた時点で認識処理を終了させることができ、認識処理における処理量の削減や、省電力化が可能となる。
(10)
前記読出単位制御部は、
複数の前記画素を所定の規則に従い配置して前記パターンを形成する、
前記(9)に記載の撮像装置。
所定の認識結果が得られた時点で認識処理を終了させることができ、認識処理における処理量の削減や、省電力化が可能となる。
(11)
前記読出単位制御部は、
前記画素信号に基づく画素情報と、前記認識処理により生成される認識情報と、外部から取得される外部情報と、のうち少なくとも1つに基づき、複数の前記読出単位それぞれに対して優先度を設定する、
前記(1)乃至(10)の何れかに記載の撮像装置。
認識結果の速報性を向上させることができる。
(12)
前記読出単位制御部は、
前記認識処理で取得される認識情報に基づき前記認識結果に示される前記画素領域内の領域を取得し、取得した該領域に基づき前記読出単位を制御して、前記認識部が次に前記認識処理を行う領域を決定する、
前記(1)乃至(11)の何れかに記載の撮像装置。
認識処理の短時間化および省電力化を実現することが可能となる。
(13)
前記読出単位制御部は、
前記認識処理で取得される認識情報に基づき取得した前記領域の、前記認識結果の信頼度に応じて、前記認識部が該領域に対する前記認識処理をさらに行うための前記画素信号の読み出しを行うか否かを前記読出制御部に指示する、
前記(1)乃至(12)の何れかに記載の撮像装置。
認識対象をより高い信頼度により認識することができる。
(14)
前記読出単位制御部は、
前記画素信号に基づく画素情報と、前記認識処理により生成される認識情報と、外部から取得される外部情報と、のうち少なくとも1つに基づき、前記画素領域に含まれる前記画素における露出と、前記画素領域に含まれる前記画素から読み出された前記画素信号に対するゲインと、のうち少なくとも一方を制御して、前記画素領域に含まれる画素それぞれからの画素信号の読み出しを行うように、前記読出制御部に指示する、
前記(1)乃至(13)の何れかに記載の撮像装置。
露出時間およびアナログゲインを適応的に設定することで、認証処理における撮像環境の変化の影響を抑制することができる。
(15)
前記読出単位制御部は、
外部から指示された動作モードに応じて、前記読出単位と、前記画素領域に含まれる前記画素における露出と、前記画素領域に含まれる前記画素から読み出された前記画素信号に対するゲインと、のうち少なくとも1つを制御して、前記画素領域に含まれる画素それぞれからの画素信号の読み出しを行うように、前記読出制御部に指示する、
前記(1)乃至(14)の何れかに記載の撮像装置。
様々な状況において適切なフレーム読み出しおよび認識処理を実行することが可能となる。
(16)
前記撮像部と、前記読出制御部と、前記読出単位制御部と、前記認識部と、が一体的に形成される
前記(1)乃至(15)の何れかに記載の撮像装置。
認識処理部とセンサ制御部との間の通信を、チップの内部のインタフェースにより高速に実行できる。
(17)
前記撮像部と、前記読出制御部と、前記読出単位制御部と、が一体的に形成された構造とされ、前記認識部が該一体的に形成された構造の外部に置かれる
前記(1)乃至(15)の何れかに記載の撮像装置。
認識処理部の差し替えが容易であり、多様な認識処理の実現が可能である。
(18)
前記画素は、前記画素領域に行列状に配列され、
前記読出単位制御部は、
前記画素領域に含まれる前記画素に対して、前記配列の行および列のうち一方を単位として、前記露出および前記ゲインのうち少なくとも一方を制御するように、前記読出制御部に指示する、
前記(6)に記載の撮像装置。
認識処理を実行するために適した露出時間を設定することが可能である。
(19)
前記画素は、前記画素領域に行列状に配列され、
前記読出単位制御部は、
前記画素領域に含まれる前記画素に対して、前記配列の行および列の両方を単位として、前記露出および前記ゲインのうち少なくとも一方を制御するように、前記読出制御部に指示する、
前記(6)に記載の撮像装置。
1のフレーム画像における認識処理において明るいオブジェクトおよび暗いオブジェクトをそれぞれ認識可能となる。
(20)
前記読出単位制御部は、
前記画素領域において想定される下端から順次に前記ラインを読み出すように前記読出制御部に指示する、
前記(8)に記載の撮像装置。
手前側にある物体によるオブジェクトをより早期に認識することが可能となる。
(21)
前記読出単位制御部は、
前記画素領域に含まれる前記ラインのうち順次に隣接する複数のラインを前記読出単位に設定する、
前記(8)または(20)に記載の撮像装置。
1フレーム分の画素データをより高速に読み出すことが可能となると共に、一度の認識処理により多くの画素データを用いることが可能になり、認識の応答速度を向上させることが可能となる。
(22)
前記読出単位制御部は、
前記画素領域に含まれる前記ラインのうち互いに隣接しない複数のラインを前記読出単位に設定する、
前記(8)または(20)に記載の撮像装置。
認識処理をより高速化することが可能となる。
(23)
前記読出単位制御部は、
前記ラインの一部を前記読出単位に設定する
前記(8)または(20)または(22)に記載の撮像装置。
より狭い帯域で画素データの転送が可能となると共に、省電力化、認識処理の高速化が可能となる。
(24)
前記画素は、前記画素領域に行列状に配列され、
前記読出単位制御部は、
前記配列の列の方向に整列される複数の前記画素を前記読出単位に設定する、
前記(1)乃至(6)の何れかに記載の撮像装置。
フレームの左右端にある物体のオブジェクトをより早期に認識することが可能となる。
(25)
前記読出単位制御部は、
互いに隣接する複数の前記画素を含む領域を前記読出単位に設定する、
前記(1)乃至(6)の何れかに記載の撮像装置。
冗長な読み出しを抑制することができ、認識処理における省電力化が可能となると共に、認識処理に要する時間を短縮することが可能となる。
(26)
前記読出単位制御部は、
前記画素領域に含まれる前記画素から複数の画素を非周期に選択して前記パターンを形成する、
前記(10)に記載の撮像装置。
サンプリングのアーティフィクトを減少させることが可能である。
(27)
前記読出単位制御部は、
前記認識部による第1のパターンに基づく前記認識結果に応じて、該第1のパターンと異なる第2のパターンを前記読出単位として設定する、
前記(10)に記載の撮像装置。
より高精度の認識処理が可能となると共に、認識処理における処理量の削減、省電力化、フレームレートの向上などが実現可能となる。
(28)
前記読出単位制御部は、
互いに隣接しない前記読出単位を順次に読み出すように、前記読出制御部に指示する
前記(1)乃至(25)の何れかに記載の撮像装置。
フレームの下部の画素データが得られるまでの遅延を短縮することが可能となると共に、フレーム内のサイズが大きなオブジェクトに対する認識応答速度を高速化でき、フレームレートを上げることが可能となる。
(29)
前記読出単位制御部は、
前記画素情報に基づき前記画素信号に所定以上のノイズが含まれる場合に、互いに隣接する前記画素からなる前記読出単位の前記優先度を、隣接しない前記画素を含む前記読出単位の前記優先度に対して高く設定する、
前記(11)に記載の撮像装置。
認識処理をより高精度に実行することが可能となる。
(30)
前記読出単位制御部は、
前記認識情報に基づき所定以上の大きさでオブジェクトが認識された場合に、隣接しない前記画素を含む前記読出単位の前記優先度を、互いに隣接する前記画素からなる前記読出単位の前記優先度に対して高く設定する、
前記(11)または(29)に記載の撮像装置。
認識処理結果の速報性をより高めることが可能となる。
(31)
前記画素は、前記画素領域に行列状に配列され、
前記読出単位制御部は、
前記外部情報に基づき当該撮像装置が前記配列における行の方向に旋回しているとされた場合に、互いに隣接し、且つ、前記配列の列の方向に整列される複数の前記画素からなり、さらに、前記画素領域内を前記旋回の方向に対し先頭から末尾に向けて位置が順次に更新される前記読出単位、の前記優先度を他の読出単位の前記優先度に対して高く設定する、
前記(11)または(29)または(30)に記載の撮像装置。
旋回方向に対する認証結果の速報性を向上させることが可能となる。
(32)
前記読出単位制御部は、
前記画素信号に基づく画素情報と、前記認識処理により生成される認識情報と、外部から取得される外部情報と、のうち少なくとも1つに基づき、前記画素領域に含まれる画素それぞれから前記画素信号を読み出す際の駆動速度を制御するように、前記読出制御部に指示する、
前記(1)乃至(31)の何れかに記載の撮像装置。
フレーム読み出しの速度を高速化できる。
(33)
複数の画素が配列された画素領域を有する撮像部と、
前記画素領域に含まれる画素からの画素信号の読み出しを制御する読出制御部と、
前記読出制御部が前記読み出しを行う、前記画素領域に複数が設定される読出単位を制御する読出単位制御部と、
を備える撮像装置と、
前記読出単位毎の教師データを学習した認識部、
を備える情報処理装置と、
を含み、
前記認識部は、
前記読出単位毎の前記画素信号に対して認識処理を行い、該認識処理の結果の認識結果を出力する、
撮像システム。
(34)
プロセッサにより実行される、
撮像部が有する、複数の画素が配列された画素領域に含まれる画素からの画素信号の読み出しを制御する読出制御ステップと、
前記読出制御ステップにより前記読み出しを行う、前記画素領域に複数が設定される読出単位を制御する読出制御ステップと、
前記読出単位毎の教師データを学習した認識ステップと、
を含み、
前記認識ステップは、
前記読出単位毎の前記画素信号に対して認識処理を行い、該認識処理の結果の認識結果を出力する、
撮像方法。
(35)
撮像部が有する、複数の画素が配列された画素領域に含まれる画素からの画素信号の読み出しを制御する読出制御ステップと、
前記読出制御ステップにより前記読み出しを行う、前記画素領域に複数が設定される読出単位を制御する読出単位制御ステップと、
前記読出単位毎の教師データを学習した認識ステップと、
をプロセッサに実行させ、
前記認識ステップは、
前記読出単位毎の前記画素信号に対して認識処理を行い、該認識処理の結果の認識結果を出力する、
ための撮像プログラム。
さらに、本技術は以下のような構成も取ることができる。
(36)
画像データを生成する撮像部と、
前記撮像部から読み出された単位領域ごとの画像データに対して学習モデルを用いた機械学習処理を実行する機械学習部と、
前記機械学習処理の結果に基づいて、所定の機能を実行する機能実行部と、
を備える電子機器。
(37)
前記機械学習部は、同一フレームの画像データにおける最初に入力された単位領域の画像データに対してCNN(Convolution Neural Network)を利用した機械学習処理を実行する前記(36)に記載の電子機器。
(38)
前記機械学習部は、前記最初に入力された単位領域の画像データに対する前記CNNを利用した機械学習処理に失敗した場合、前記同一フレームの画像データにおける次に入力された単位領域の画像データに対してRNN(Recurrent Neural Network)を利用した機械学習処理を実行する前記(37)に記載の電子機器。
(39)
前記撮像部からライン単位で画像データを読み出すコントロール部をさらに備え、
前記機械学習部には、前記ライン単位で前記画像データが入力される
前記(36)〜(38)の何れかに記載の電子機器。
(40)
前記単位領域の画像データは、所定ライン数の画像データである前記(36)〜(39)の何れかに記載の電子機器。
(41)
前記単位領域の画像データは、矩形領域の画像データである前記(36)〜(39)の何れかに記載の電子機器。
(42)
前記学習モデルのプログラムを記録するメモリをさらに備え、
前記機械学習部は、前記メモリから前記プログラムを読み出して実行することで、前記機械学習処理を実行する
前記(36)〜(41)の何れかに記載の電子機器。