画像処理装置
【課題】全ての認識対象に対して画像認識処理を実施でき、且つ画像の取り込みや転送の負荷を軽減できる画像処理装置を提供する。
【解決手段】撮像素子にて撮像された画像情報を取り込む画像取込み部と、画像情報に対して、複数の処理領域を設定する処理領域設定部と、設定された複数の処理領域の各画像情報の取り込む順番,頻度、及びタイミングのいずれか少なくとも1つ、及び各画像情報の処理の順序,頻度、及びタイミングのいずれか少なくとも1つを決定する処理順序頻度決定部と、決定された順番,頻度,タイミングで処理領域毎に画像情報を取り込み、取り込んだ画像情報を決定された順序,頻度,タイミングで画像処理を行う画像処理部と、を有する。
【解決手段】撮像素子にて撮像された画像情報を取り込む画像取込み部と、画像情報に対して、複数の処理領域を設定する処理領域設定部と、設定された複数の処理領域の各画像情報の取り込む順番,頻度、及びタイミングのいずれか少なくとも1つ、及び各画像情報の処理の順序,頻度、及びタイミングのいずれか少なくとも1つを決定する処理順序頻度決定部と、決定された順番,頻度,タイミングで処理領域毎に画像情報を取り込み、取り込んだ画像情報を決定された順序,頻度,タイミングで画像処理を行う画像処理部と、を有する。
【発明の詳細な説明】
【技術分野】
【0001】
画像の取り込み,転送,処理を行う画像処理装置に関する。
【背景技術】
【0002】
近年、運転支援を目的とした車載カメラや、犯罪防止や犯罪捜査の支援を目的とした監視カメラなどが開発され普及しつつある。これらのカメラは、撮像した画像をユーザに見せるだけでなく、画像処理により車線や車両、人や人の動きなどを自動的に検出する機能が搭載されてきている。画像処理は、一般的に数十万画素以上の大量の画素のデータを撮像素子から取り込み、転送し、処理する必要がある。さらに近年では、撮像素子の高解像度化が進んでおり、画像の取り込み,転送,処理の負荷がさらに増大する傾向にある。また、2台のカメラを用いて3次元を計測するステレオカメラや、車両の前方,後方や側方にカメラを複数台設置して周辺を監視するシステム,複数台のカメラを異なった位置に設置する監視カメラシステムなどでは、複数の画像を処理する必要があるため、画像の取り込み,転送,処理の負荷がさらに増大する。
【0003】
そこで、画像の取り込み,転送,処理する領域を制限する技術が必要となる。画像を処理する領域を制限する技術としては、特許文献1に記載された方法が提案されている。これは、近距離に車両が存在しない場合は画像の中心部分を間引かずに処理し、近距離に車両が存在する場合は画像を間引いて全体を処理する技術であって、間引かない中心部分の画像と間引いた画像全体の画像を車両の有無によって一方を選択するものである。または、画像の右側の領域,画像の左側の領域のいずれかをウィンカー情報に基づいて選択するものである。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2000−251080号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、特許文献1の手法では、車両が存在するか否かで画像を間引いて全体を処理するか、画像の中央部分を間引かずに処理するかを選択するため、車線や歩行者,車両など様々な認識対象が存在する場合に、使用したい画像が異なり一部の画像認識処理を実施できなくなるといった問題が生じる。また、CPUが処理するデータを格納しているメモリに撮像画像全体を取り込み、処理領域のみを制限しているため、画像の取り込みや転送の負荷を軽減することはできないといった問題がある。
【0006】
本発明の目的は、複数の認識対象が存在する場合に、全ての認識対象に対して画像認識処理を実施でき、且つ画像の取り込みや転送の負荷を軽減できる画像処理装置を提供することである。
【課題を解決するための手段】
【0007】
前記課題を解決するために、本発明の画像処理装置は、撮像素子にて撮像された画像情報を取り込む画像取込み部と、画像情報に対して、複数の処理領域を設定する処理領域設定部と、設定された複数の処理領域の各画像情報の取り込む順番,頻度、及びタイミング、及び各画像情報の処理の順序,頻度、及びタイミング、のいずれか少なくとも1つを決定する処理順序頻度決定部と、処理順序頻度決定部で決定された順番,頻度,タイミングで処理領域毎に画像情報を取り込み、取り込んだ画像情報を処理順序頻度決定部で決定された順序,頻度、及びタイミングで画像処理を行う画像処理部と、を有する構成とする。
【発明の効果】
【0008】
複数の認識対象が存在する場合に、全ての認識対象に対して画像認識処理を実施でき、且つ画像の取り込みや転送の負荷を軽減できる画像処理装置を提供できる。
【図面の簡単な説明】
【0009】
【図1】本発明に係る画像処理装置の第1の実施の形態を示すブロック図である。
【図2】本発明に係る画像処理装置の第1の実施の形態を示すブロック図である。
【図3】本発明に係る画像処理装置の他の実施の形態を示すブロック図である。
【図4】本発明の画像処理装置における処理領域の設定,処理領域の取り込みに関する一例を示す図である。
【図5】本発明の画像処理装置における処理領域の取り込み,取り込んだ処理領域の処理をパイプライン処理する一例を示す図である。
【図6】本発明に係る画像処理装置の第1の実施の形態の処理フローを示す図である。
【図7】本発明の画像処理装置の各処理領域を処理する順序,頻度,タイミングを決定する表の一例を示す図である。
【図8】本発明に係る画像処理装置の第2の実施の形態を示すブロック図である。
【図9】本発明に係る画像処理装置の第2の実施の形態を示すブロック図である。
【図10】本発明の画像処理装置が、2台のカメラにより距離を計測する原理を示す図である。
【図11】本発明の画像処理装置の第2の実施例における処理領域の設定,処理領域の取り込みに関する一例を示す図である。
【図12】本発明に係る画像処理装置の第2の実施の形態の処理フローを示す図である。
【図13】本発明に係る画像処理装置の第2の実施の形態における、各処理領域の処理をパイプライン処理する一例を示す図である。
【図14】本発明に係る画像処理装置の画像処理機能と各処理領域の対応関係の一例を示す図である。
【図15】本発明に係る画像処理装置の第2の実施の形態における、各処理領域の処理をパイプライン処理する他の例を示す図である。
【発明を実施するための形態】
【0010】
以下、図面を参照して、本発明の実施の形態について説明する。
【0011】
(第1の実施の形態)
図2は、本発明の第1の実施の形態における画像処理装置1の基本構成の例を示したブロック図である。
【0012】
第1の実施の形態は、撮像装置であるカメラから取り込む画像の処理領域,頻度,順序,タイミングのいずれか少なくとも1つ、取り込んだ画像を処理する処理領域,頻度,順序,タイミングのいずれか少なくとも1つを制御する画像処理装置及び画像処理装置制御方法である。
【0013】
本発明に係る画像処理制御は、図2に示すような撮像装置である画像処理装置1に適用されて、この画像処理装置1が備えるカメラ4(撮像素子)により周囲の環境を撮像し、撮像した画像を処理する機能を実現する。このとき、カメラは2つ以上備えていても良い。以降、図2の構成を例に説明する。
【0014】
この画像処理装置1は、撮像素子であるカメラ4と、このカメラ4にて撮像した画像を処理するための処理手段であるCPU6,CPU6用の記録手段であるメモリ9,プログラムやデータの記録手段であるROM7と、カメラ4を制御するとともに画像を取り込む画像入力手段5で構成され、これらがバス11で接続されている。ただし、この構成は必須な要件ではなく、CPU6に加え、さらに画像処理LSIを搭載して処理の一部を専用のLSIで処理する構成や、1つのRAMのみでなく画像処理LSI用のRAMなど複数のRAMを用いる構成でも良い。
【0015】
また、画像処理装置1は、図3に示すようにカメラ4,画像入力手段5を備えたカメラユニット2と、CPU6,メモリ9,ROM7を備えた処理ユニット3に分離された構成でも良い。この場合は、カメラユニット2と処理ユニット3の各々に、互いにデータを通信可能なI/F12,I/F13を備え、I/F12とI/F13間をデータ伝送手段14で接続された構成としても良い。
【0016】
本画像処理装置1のカメラ4は、例えばCCDやCMOS撮像素子を搭載する。その撮像素子の画素数が200万画素で、1画素のデータがR(赤),G(緑),B(青)の合計3バイトとすると1枚の画像データは6メガバイトとなる。このとき、画像処理の処理を1秒間に60回実行すると撮像画像をメモリに格納するためのバス11のデータ転送量は360メガバイト/秒となる。バス11は、画像の取り込み以外にCPU6がメモリに格納されているデータを処理する場合等においてもデータを転送する必要があり、バス11の転送負荷が問題となる。また、組込み機器ではPCに比べCPU性能が低いため、バス転送負荷以外に、メモリ9に格納された画像データが大きいと、CPUで所定時間以内で処理できないといった問題も発生する。
【0017】
ただし、上記の画像1枚あたりのデータサイズは、画像の画素数,1画素あたりのデータサイズ,画像のフォーマット等によって異なり、バス転送負荷は画像を転送し、処理する周期によって異なるため、上記の数値は一例である。
【0018】
このバス転送負荷を軽減するためには、画像全体を取り込む代わりに、画像の所定の領域や、元の画像を縮小した画像を取り込む必要がある。
【0019】
またCPUの処理負荷は、画像全体を取り込む代わりに、画像の所定の領域や、元の画像を縮小した画像を取り込むことに加え、画像をいくつかの領域に分割して取り込み、ある領域を取り込んでいる間に取り込み済みの画像を処理することで軽減することができる。
【0020】
本発明を適用する画像処理装置1は、これらを実現するために、ROM7に本実施の形態に関する撮像装置の制御プログラムが格納されており、電源をONにするとCPU6がこれらのプログラムを実行することで、画像処理装置1を制御するとともに、撮像した画像を処理する一連の機能が実現される。
【0021】
図1に画像処理装置1のCPU6の詳細なブロック図を記す。図2の画像入力手段5は、画像取込み部20を有し、CPU6は、処理順序・頻度制御部21,処理領域決定部22,画像処理部23を有する構成である。これらの処理により一連の機能は実行される。
【0022】
画像取込み部20は、撮像装置であるカメラ4で撮像された画像を取り込んでメモリ9に格納する機能に加え、例えばカメラ4の撮像素子のうち画像を取り込む領域を指定する機能,撮像のシャッターやゲインといった露光に関する設定およびタイミングの調整を行う機能を有するものである。また、画像取込み部20は、カメラから取り込んだ画像をメモリ9に格納する前に画像のエッジ強調やノイズ除去,輝度の補正などを行う機能を持っていても良い。また、画像取込み部20は、画像を取り込んだ際に、取り込んだ画像を縮小した画像,縮小しない画像,部分的に切り出した画像など複数の画像に分割して、それらの画像をメモリ9に格納しても良い。
【0023】
処理順序・頻度制御部21は、カメラ4で撮像した画像の複数の処理領域に対して、処理領域中の画像を取り込んでメモリ9に格納する順番,頻度やタイミングのいずれか少なくとも1つ、CPU6がメモリ9に保存されている画像を処理する順序,頻度やタイミングのいずれか少なくとも1つを制御する機能を有するものである。
【0024】
処理領域決定部22は、後述する画像処理部23の画像処理結果や、画像処理の機能に応じて求めることができる領域あるいは予め設定した領域、等に基づいて処理に用いる画像の領域を決定する機能を有するものである。
【0025】
画像処理部23は、前記処理領域決定部22により決定した処理領域を、前記処理順序・頻度制御部21で決定した順序,頻度,タイミングで、処理領域決定部22によりメモリ9に取り込んだ画像を処理する機能を有するものである。画像処理としては、撮像素子固有のノイズ,夜間等の暗い環境下で撮像したさいに生じるノイズ等を除去する処理や、背景差分等の公知の技術により画素の値に変化が生じた部分のみを抽出する処理や、公知のパターン識別処理により人を検出処理などがある。
【0026】
これらの機能を用いることで、例えば図4(a)に示すように、トンネルの出口付近で画像中央を第1の処理領域、画像全体を縮小した領域を第2の処理領域として設定し、図4(c)のように時刻tで第1の処理領域をメモリ9に取り込み、その後時刻t+1で画像全体を縮小した画像をメモリ9に取り込むことができる。例えば第1の処理領域で横幅,縦幅を画像全体の1/2に設定し、第2の処理領域で画像全体を1/2に縮小したとすると、全体の画像を取り込む場合に比べ、バス転送負荷,CPU6の処理負荷を半分に低減することができる。
【0027】
また、図4(b)のように時刻tより前にシャッターを切って露光を開始し、次のシャッターを時刻t+1より後に切るようにし、各画素に蓄積された電荷を転送すること等により画像を取り込むと、第1の処理領域以外の画素の電荷は蓄積され続けるため、第1の処理領域は暗い画像、第2の処理領域は第1の処理領域で画像を取り込み済みの領域は暗い画像でその他の部分は明るい画像を取り込むことができる。これにより、トンネルの出口で画素に蓄積された電荷が飽和してしまうといった現象抑制できるとともに、車線などが映っている領域は露光開始から時刻t+1まで蓄積した明るい画像を撮像することができる。また、各画素に蓄積された電荷を転送することで画像を取り込む代わりに、各画素に蓄積された電荷の電圧を読み取る等により画像を取り込むことができる撮像素子を用いれば、画像取込み処理により蓄積された電荷がリセットされないため第2の処理領域の全体を同じ露光時間で撮像した画像として取り込むことができる。このように、1回の撮像周期の間に異なったタイミングで各処理領域を取り込むことで、1回の撮像時間で複数の処理領域の画像を、複数の露光時間で撮像できるといった利点がある。
【0028】
図5は、画像処理装置1における処理領域の取り込み,取り込んだ処理領域の処理をパイプライン処理する一例を示した図である。この図5では、第1の処理領域を用いてヘッドランプやテールランプのランプ検知処理を行い、第2の処理領域を用いて車線(レーン)認識処理を行う場合の一例について記載している。
【0029】
この例では、第1の処理領域を取り込み、第1の処理領域の画像を画像処理部が処理している間に、第2の処理領域を取り込むことで画像の取り込み、画像の処理に要する時間を低減することができる。ただし、第1の処理領域を取り込んでいる間は、過去に取り込んだ画像等を処理することができること、処理領域も3つ以上であっても良いことは明らかである。
【0030】
以上のように構成される画像処理装置1は、上述したように、CPU6が画像処理装置の制御プログラムを実行することで、取り込む画像の領域,取り込むタイミング,頻度,順序のいずれか少なくとも1つ、取り込み済みの画像を処理するタイミング,頻度,順序のいずれか少なくとも1つを制御することができる。ただし、前述の通り画像取込み部20,処理順序・頻度制御部21,処理領域決定部22,画像処理部23の一部あるいはすべてを処理ユニット3で実行しても良い。
【0031】
ここで、以上のような画像処理装置1および画像処理装置の制御方法において、画像処理装置を制御する一連の処理の流れをフローチャートを参照しながら説明する。
【0032】
図6に示す一連の処理は、電源がオンとなったときにスタートし、電源がオフとなるまで繰り返し行われる。あるいは、画像処理を所定回数実行した後、画像処理を終了する構成や、図示しない外部機器によりプログラムを実行した際に一連の処理をスタートし、外部機器により停止処理を行った際にプログラムを停止構成などであっても良い。
【0033】
まず、電源がオンとなると、画像処理装置1により画像処理装置の制御処理および画像処理プログラムが実行され、メモリ9の初期化など起動時の初期化処理を実行する(ステップ101)。図6の例での画像処理部23では、先行車検出処理、および車線検出処理を行う。次に、プログラムの実行途中の初期化タイミングか否かを判定し(ステップ102)、ステップ103で初期化を実行するタイミングであればステップ110に移行し、初期化処理を実行するタイミングでなければステップ104の処理を実行する。この初期化処理では、第1の処理領域と第2の処理領域の座標や画像サイズ,画像の縮小・拡大率などを初期化する(ステップ111)。
【0034】
この初期化処理のタイミング判定は、例えば本画像処理装置1を車両などの移動体に取り付け、図示しないハンドル角センサや車輪速センサ,車速センサ,ジャイロセンサ,ヨーレートセンサ,GPSセンサ,地図データベース等により現在走行中の道路を推定し、初期化処理のタイミングであるか否かを判定する。例えば、ハンドル角センサから得られた情報を基に、自車の左折あるいは右折を判定し、自車が左折あるいは右折した際に初期化処理とする。これは、自車が右折,左折すると走行していた道路環境と異なる道路を走行することから、処理領域を初期化することが有効であるためである。また、本画像処理装置は、車両以外に搭載しても良く、例えばビル内やエレベータ内等に設置しても良い。カメラの視野内の人,車,障害物等が視野から外れたタイミングや、エレベータやビルから人が出たタイミング等を初期化タイミングと判定しても良い。
【0035】
そして、カメラ4により撮像した画像のうちどの領域を処理するかを処理領域決定部22により決定する(ステップ104)。この処理では、例えば画像処理装置1を起動した直後は初期化処理により予めROM7やプログラム内に定数として保存されている処理領域の始点の座標,終点の座標,縮小率等を用いて決定し、その後は画像処理部23の画像処理結果等を用いて処理領域を決定することができる。例えば、前回の画像処理により車両を検出した場合、前回検出した車両の画像上の位置,サイズを基に処理領域を決定することができる。画像処理結果を用いて処理領域を決定する処理はステップ110である。
【0036】
その後、カメラ4により撮像した画像の各処理領域を処理する順序,頻度,タイミングのいずれか少なくとも1つを処理順序・頻度制御部21により決定する(ステップ105)。順序,頻度,タイミングは、例えば図7の表に示すように各処理領域の露光時間,始点・終点の座標,取り込み時間,処理時間,縮小・拡大率等から決定することができる。
【0037】
例えば、露光時間の短い処理領域を時刻tで取り込み、露光時間の長い処理領域を時刻t+1で取り込む。前述の通り、1回の露光期間中に、図4のように第1の処理領域を先に取り込むことで暗い画像を取り込み、その後第2の処理領域を明るい画像として取り込むことができる。つまり、1回の露光期間中に異なった露光の処理領域の画像情報を複数取り込むことができる。第1の処理領域の露光時間をT1、第2の処理領域の露光時間をT2とすると、T1<T2であれば第1の処理領域を露光開始からT1経過したタイミングで取り込み、その後第2の処理領域を露光開始からT2経過したタイミングで取り込むように順序とタイミングを決定する。また、例えば処理領域1を過去に画像処理した結果、車両が検出されていなければ、処理領域1の取り込み、処理頻度を下げ、第1の処理領域を今回の露光では取り込まないように設定しても良い。
【0038】
次にステップ104で決定した第1の処理領域をステップ105で決定した順序,頻度,タイミングで取り込む(ステップ106)。例えば、図4(a)のように第1の処理領域を画像中央に設定し、前述の通り露光開始からT1経過したタイミングで取り込む。あるいは、図4(b)のように第1の処理領域を画像上部に設定し、信号機などの発光体を露光時間の短い画像として取り込む構成とすることもできる。
【0039】
そして、取り込んだ画像を処理して先行車を検出する(ステップ107)。この処理では、例えば画像の輝度値基づくパターン識別,過去の画像と現在の画像から各画素の移動ベクトルを求めるオプティカルフローを用いて検出する。
【0040】
その後、ステップ106と同様にステップ108で第2の領域をメモリ9に取り込み、取り込んだ画像を処理して車線を検出する(ステップ109)。車線は、公知の技術により検出することができる。
【0041】
最後に、画像処理結果を元に、次の撮像画像で処理する第1の処理領域と第2の処理領域を更新する(ステップ110)。これは例えば、ステップ107で車両が検出されていれば、検出した車両の画像上での座標,大きさ等から決定できる。具体的には、車両の領域の視点の座標がCx,Cyで、サイズがCw,Chとすると第1の処理領域の視点を、Cx−α1,Cy−α2,Cw+α3,Ch+α4とし、車両の領域を含むようにしています。ただし、α1からα4は車両の領域の周辺のマージンであり、定数としても良く、または先行車を時間方向に追跡処理した移動量や、前記ハンドル角センサ,車速センサ,ジャイロセンサ,ヨーレートセンサ等を用いて求めた自車両の動きを基に計算しても良い。
【0042】
以上までに述べた方法は、カメラを1台用いるカメラに関して説明したが、カメラが2台以上存在する場合でも本実施の形態を適用することができるのは明らかである。カメラが2台以上存在する場合は、カメラが1台の場合よりも画像のデータサイズの合計が大きくなるため、本発明の効果が大きい。また2台以上存在する場合は、処理領域決定部が複数のカメラで撮像した画像に対して処理領域を設定すれば良い。
【0043】
(第2の実施の形態)
次に、本発明の画像処理装置1の第2の実施の形態について、図面を参照して詳細に説明する。
【0044】
なお、第2の実施の形態に拘わる画像処理装置及び画像処理装置の制御方法の構成について、上述した第1の実施の形態と同様の構成については図中同一の符号を付して、重複した説明は省略する。
【0045】
第2の実施の形態における、画像処理装置1の基本構成の例を図9に示す。詳細は後述する。
【0046】
第2の実施の形態は、カメラ4aとカメラ4bから画像を一時記憶用のメモリ8に取り込み、取り込んだ画像を段階的に画像処理用のメモリ9に転送する画像処理装置1である。カメラ4a,4bは、例えば車両に取り付けて前方を撮像するように取り付けられている例について説明するが、必ずしも車両である必要はなく、建物等に取り付けても良い。
【0047】
画像処理装置1は、第1の実施の形態の構成に加え、図9に記載の通り、カメラ4aとカメラ4bの2台のカメラを具備し、メモリ8と画像処理転送手段12,画像入力手段5とメモリ8と画像処理転送手段12を接続するバス10をさらに具備する構成である。また、第2の実施の形態では、カメラを2台の場合を例に説明するが、カメラは1台でも3台以上であっても良い。
【0048】
第1の実施の形態と同様、図3のように、カメラユニット2とPC等の処理ユニット3とで分ける構成にしても良い。例えば、カメラ4a,カメラ4b,画像入力手段5,メモリ8,画像処理転送手段12をカメラユニット2に設け、CPU6,メモリ9,ROM7を処理ユニット3に設ける構成としても良い。そのとき画像処理転送手段12は処理ユニット3にも設け、カメラユニット2とのデータ通信を実行しても良い。
【0049】
本画像処理装置1は、例えば図10に示すようにカメラの視野が重複するようにとりつけて、それぞれのカメラで画像を撮像した際の見え方の差δ(視差)を求め、距離を計測する装置として利用することができる。ただし、Zは各計測点までの距離(各画素に撮像されている点までの距離)、fは焦点距離、bはカメラ間の距離である。
【0050】
本実施の形態は、図8の画像処理装置1に示す機能ブロック図のように図1の第1の実施の形態に比べ、カメラ4a,カメラ4b,画像転送部24をさらに具備することを特徴としている。
【0051】
本画像処理装置1は、電源を入れると画像処理と画像処理を制御するためのプログラムが実行され、画像処理装置1が図8の画像処理装置1の機能ブロック図のように画像取込み部20,画像転送部24,処理順序・頻度制御部21,処理領域決定部22,画像処理部23として機能するようになっている。
【0052】
画像取込み部20は、第1の実施の形態の画像取込み部と動作が異なり、2つのカメラ(カメラ4a,カメラ4b)から画像を取り込んで、バス10を経由してメモリ8に画像を格納する機能を有するものである。
【0053】
画像転送部24は、メモリ8に取り込み済みの画像をバス11を経由してメモリ9に転送する機能を有するものである。このとき、カメラ4aとカメラ4bで撮像された左右の画像にそれぞれ処理領域を設定しておき、同時に画像転送部がそれらの処理領域をメモリ9から読み込んで視差を求める演算を行い、求めた視差データと読み込んだ処理領域の画像の少なくともいずれかをメモリ8に転送する構成であっても良い。画像転送部24が実施する視差算出処理以外に、エッジ検出処理,差分処理,オプティカルフロー算出処理,フィルタ処理,画像の加算・減算処理等の各種画像処理を実施した結果、あるいは実施した結果と実施する前の処理領域内の画像の両方をメモリ8に転送する。
【0054】
画像転送部24は、画像取込み部20でメモリ8に取り込んだ画像を、バス11を通って処理順序・頻度制御部21で決定した順序,頻度,タイミングで、処理領域決定部22で決定したそれぞれの処理領域をバス11によりメモリ9に転送する機能を有するものである。
【0055】
以上のような画像処理装置1は、例えば図11のように画像処理制御プログラムの制御のもと動作する。まず時刻tにメモリ8にカメラの撮像画像全体あるいは一部がバス10により保存される。その後時刻t+1にメモリ8に保存されている画像全体を縮小した第1の処理領域の画像をメモリ9に転送し、時刻t+2にメモリ8に保存されている画像の中央部分付近を切出した第2の処理領域の画像をメモリ9に転送し、時刻t+3にメモリ8に保存されている画像の左側の部分の第3の処理領域を切出した画像をメモリ9に転送する。そして、時刻t+4にメモリ8に保存されている画像の中央部分の上に位置する第4の処理領域の画像をメモリ9に転送する。
【0056】
これにより、データサイズの大きな画像を一括してメモリ9に取り込む場合に比べ、転送する画像データのサイズを小さくすることができるとともに、ある処理領域をメモリ9に転送している間に転送済みの処理領域の画像を処理することができるため、処理時間を削減できる。
【0057】
第2の実施の形態の処理フローを図12に示す。ただし、ステップ101からステップ103,ステップ111は第1の実施の形態と共通であるため説明を省略する。
【0058】
ステップ112では、図7に示す各処理領域の始点座標,終点座標,取り込み時間,処理時間の少なくともいずれか一つを用いて、処理領域の始点座標,終点座標,縮小・拡大率,タイミング,頻度,順序の少なくともいずれか1つを決定する。例えば、図7に示す各処理用域の情報に基づいて、まず処理領域の始点座標,終点座標からカメラの視野を最も広くカバーしつつ、縮小・拡大率の値が画像を1/2に縮小する処理領域を初めに転送するように設定する。そして、ステップ113で、ステップ112で設定した各処理領域の始点座標,終点座標,縮小・拡大率,タイミング,頻度,順序に従って画像を取り込む。
【0059】
例えば、第1の処理領域が初めに転送されるとする。次に、第1の処理領域の処理時間の間に、転送処理が完了する処理領域を選択(第2の処理領域が選択されたとする)し2番目に転送する。そして、同様に第2の処理領域の処理時間の間に、転送処理が完了する処理領域を選択(第3の処理領域が選択されたとする)し3番目に転送する。さらに、同様に第3の処理領域の処理時間の間に、転送処理が完了する処理領域を選択(第4の処理領域が選択されたとする)し4番目に転送する。このとき、例えば、第4の処理領域が第3の処理領域を含むとすると、第3の処理領域の処理領域と重複している部分は転送せずに残りの第4の処理領域のみを転送するようにしても良い。または、例えば第4の処理領域が第3の処理領域、あるいは第2と第3の処理領域に含まれる場合(1つ以上の処理領域に含まれる場合)は、第4の処理領域の転送は行わず、先に第2の処理領域,第3の処理領域を転送しておくことで、第4の処理領域の転送を省略することができる。
【0060】
そして、ステップ114で、第1の処理領域をメモリ8からメモリ9に転送し、ステップ115でメモリ9に格納された第1の処理領域の画像を処理し、車線検出処理を行う。さらに、ステップ116で第1の処理領域の画像を処理して、先行車と標識の候補を検出する。このとき、先行車と標識の候補の座標,大きさを基に第2の処理領域,第3の処理領域を決定する構成としても良い。
【0061】
その後、ステップ117で第2の処理領域を転送し、ステップ118で第2の処理領域の画像を用いて先行車を検出する。ステップ118では、ステップ116の結果を基に先行車の位置を大まかに特定して処理する領域を制限するとより効率の良い処理が可能である。
【0062】
ステップ119では、第3の処理領域を転送し、ステップ120で標識の検出を行う。そして、ステップ121で、第4の処理領域を転送し、ステップ122で信号機の検出処理を実行する。このとき、メモリ9に格納されている第3の処理領域と第4の処理領域の両方を用いて信号検出処理を実行することでより広い範囲の信号機を検出することができる。そして、最後に車線,先行車,標識,信号機の検出結果を基に、次の撮像画像で処理する第1から第4の処理領域の始点座標,終点座標,頻度,タイミング,順序を更新する(ステップ123)。
【0063】
以上、説明したように第2の実施の形態を適用した画像処理装置および画像処理装置の制御方法では、例えば高解像度の撮像素子を用いた場合に、撮像素子の全画素をCPUが処理する画像を格納するメモリ9に取り込まないため、バス11の転送負荷,CPU6の処理負荷を軽減することができる。このとき、第1の処理領域のように画像の広い領域を縮小する処理領域と、第2〜第4の処理領域のように画像を縮小せずに画像を切り出す処理領域とを設定することで、視野角の広いセンシングと、解像度の高いセンシングを同時に、効率良く実現することができる。例えば、図13に示すように時刻t+1で画像の広い領域を縮小した処理領域を取り込み、時刻t+2でその縮小した画像を処理し、車線を検出するとともに、車両,標識,信号機が存在しそうな候補領域を検出する。この処理と並行して、画像中央部を縮小しない処理領域を取り込み、時刻t+3で前記車両が存在しそうな候補領域に基づいて車両の検知処理を行い、その処理と並行して標識の候補領域を含む処理領域を縮小せずに取り込む。そして時刻t+4で標識の検知処理を行うとともに、画像中央の上部に位置する処理領域を縮小せずに取り込む。その後、取り込んだ画像を処理して信号を検知する。
【0064】
また、図14(a)に示すように、ヘッドライトやテールランプ等のランプ検出の処理に用いる処理領域ではモノクロとカラーを同じ縮小・拡大率に設定し、図14(b)のように標識検知処理ではモノクロを解像度が高く、カラーの解像度が低くなるように、モノクロとカラー成分で異なる縮小・拡大率を設定しても良い。これは、例えば標識検知は、標識を見つける処理で色情報は重要であるものの色情報の分解能は低くても良く、標識を識別(最高速度40kmと差高速度60kmの識別など)する処理では、色情報よりも数字などが鮮明に映っている必要があるためである。また、図14(c)(d)のように車両検知,歩行者検知では車両や歩行者の輝度変化を詳細に捉えるためにモノクロは高解像度に取り込み、カラーは低解像度な情報を取り込む。また、図14(e)のように車線検知では、モノクロのみを取り込む。このとき車線の色を判定する場合は、カラー情報を取り込んでも良い。図14(f)のように信号検知では、遠方の信号を検知する場合は、モノクロとカラーの両方を高解像度のまま取り込む。最後に図14(g)のように画像全体を処理するための画像はモノクロとカラーともに低解像度化して取り込む。認識対象に応じてカラー,モノクロの解像度を変えることでより効率的に処理することができる。
【0065】
また、カメラを取り付ける移動体は、車の他に、ロボット,建設機械,農業用機械など移動する物体であれば良い。画像処理部23の処理は、画像を人間に見せるために暗い画像を明るい画像に補正する処理,カメラの始点を変換する処理,画像のノイズを低減する処理,画像のコントラストを向上する処理,画像のぼけを補正する処理,画像をエッジ画像などに変換する処理などであっても良い。また、画像処理部23で画像中から物体等を検出処理では、人間を含む動物,車などの移動体,壁や電柱などの立体物,画像中で変化のあった領域,人間の異常な行動(犯罪など),大勢の人間が右に移動している場合に一人だけ左に移動しているなど動きの異なる領域,車線や横断歩道等の道路標示,ヘッドライト,テールランプ,信号機などのランプなどがあげられる。
【0066】
このように、画像処理部で実行する画像処理の種類(ランプ検出処理,標識検知処理,車両処理,歩行者検知処理,車線検知処理,信号検知処理等)に応じて処理領域が設定される。図14の通り、その画像処理の種類によって、処理領域が異なる位置(座標)に設定されることもある。
【0067】
処理順序・頻度制御部21は、図15に示す通り、処理時間の長い処理領域を先に取り込み、取り込みと転送時間の合計時間が長い処理領域を後に取り込むことで、処理時間の長い処理領域を処理中に、取り込み、転送時間の長い処理領域を取り込み、転送することで処理の効率化を行うことができる。また、このとき第1の発明の形態のように画像転送部24を持たない場合は、処理領域の取り込み時間と処理時間とから順序,タイミング,頻度を決定すれば良い。取り込みに時間がかかる処理領域は、処理領域中の画像のデータサイズが大きい場合や、画像を取り込む際に画像取込み部が輝度の補正等を行う処理の計算に時間を要する場合などである。転送に時間がかかる処理領域も同様に、転送する処理領域中の画像のデータサイズが大きい場合や、画像転送部24で画像を処理してから転送する際に画像処理の計算に時間をようする場合である。
【0068】
例えば、図15のように時刻t+1で第1の処理領域を取り込み、時刻t+2で転送し、時刻t+3で処理する。この処理は、例えば画像全体を処理し、車両,歩行者,車線,標識,信号およびそれらの候補などを検出する処理である。そして、時刻t+2と時刻t+3で第2の処理領域を取り込み転送する。そして時刻t+4で転送した画像を処理する。この処理は例えば、高解像度の画像を取り込み、歩行者や遠方の車両を検出する処理である。そして第2の処理領域の取り込みが終わった後に、第3の処理領域を取り込み、転送し処理する。この処理は、標識検知や信号検知などの処理である。このように、取り込み時間,転送時間,処理時間を考慮して、順序,タイミング等を制御することでCPUが動作していない時間を短くすることができる。
【符号の説明】
【0069】
1 画像処理装置
2 カメラユニット
4 カメラ
5 画像入力手段
6 CPU
7 ROM
8,9 メモリ
20 画像取込み部
21 処理順序・頻度制御部
22 処理領域決定部
23 画像処理部
24 画像転送部
【技術分野】
【0001】
画像の取り込み,転送,処理を行う画像処理装置に関する。
【背景技術】
【0002】
近年、運転支援を目的とした車載カメラや、犯罪防止や犯罪捜査の支援を目的とした監視カメラなどが開発され普及しつつある。これらのカメラは、撮像した画像をユーザに見せるだけでなく、画像処理により車線や車両、人や人の動きなどを自動的に検出する機能が搭載されてきている。画像処理は、一般的に数十万画素以上の大量の画素のデータを撮像素子から取り込み、転送し、処理する必要がある。さらに近年では、撮像素子の高解像度化が進んでおり、画像の取り込み,転送,処理の負荷がさらに増大する傾向にある。また、2台のカメラを用いて3次元を計測するステレオカメラや、車両の前方,後方や側方にカメラを複数台設置して周辺を監視するシステム,複数台のカメラを異なった位置に設置する監視カメラシステムなどでは、複数の画像を処理する必要があるため、画像の取り込み,転送,処理の負荷がさらに増大する。
【0003】
そこで、画像の取り込み,転送,処理する領域を制限する技術が必要となる。画像を処理する領域を制限する技術としては、特許文献1に記載された方法が提案されている。これは、近距離に車両が存在しない場合は画像の中心部分を間引かずに処理し、近距離に車両が存在する場合は画像を間引いて全体を処理する技術であって、間引かない中心部分の画像と間引いた画像全体の画像を車両の有無によって一方を選択するものである。または、画像の右側の領域,画像の左側の領域のいずれかをウィンカー情報に基づいて選択するものである。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2000−251080号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、特許文献1の手法では、車両が存在するか否かで画像を間引いて全体を処理するか、画像の中央部分を間引かずに処理するかを選択するため、車線や歩行者,車両など様々な認識対象が存在する場合に、使用したい画像が異なり一部の画像認識処理を実施できなくなるといった問題が生じる。また、CPUが処理するデータを格納しているメモリに撮像画像全体を取り込み、処理領域のみを制限しているため、画像の取り込みや転送の負荷を軽減することはできないといった問題がある。
【0006】
本発明の目的は、複数の認識対象が存在する場合に、全ての認識対象に対して画像認識処理を実施でき、且つ画像の取り込みや転送の負荷を軽減できる画像処理装置を提供することである。
【課題を解決するための手段】
【0007】
前記課題を解決するために、本発明の画像処理装置は、撮像素子にて撮像された画像情報を取り込む画像取込み部と、画像情報に対して、複数の処理領域を設定する処理領域設定部と、設定された複数の処理領域の各画像情報の取り込む順番,頻度、及びタイミング、及び各画像情報の処理の順序,頻度、及びタイミング、のいずれか少なくとも1つを決定する処理順序頻度決定部と、処理順序頻度決定部で決定された順番,頻度,タイミングで処理領域毎に画像情報を取り込み、取り込んだ画像情報を処理順序頻度決定部で決定された順序,頻度、及びタイミングで画像処理を行う画像処理部と、を有する構成とする。
【発明の効果】
【0008】
複数の認識対象が存在する場合に、全ての認識対象に対して画像認識処理を実施でき、且つ画像の取り込みや転送の負荷を軽減できる画像処理装置を提供できる。
【図面の簡単な説明】
【0009】
【図1】本発明に係る画像処理装置の第1の実施の形態を示すブロック図である。
【図2】本発明に係る画像処理装置の第1の実施の形態を示すブロック図である。
【図3】本発明に係る画像処理装置の他の実施の形態を示すブロック図である。
【図4】本発明の画像処理装置における処理領域の設定,処理領域の取り込みに関する一例を示す図である。
【図5】本発明の画像処理装置における処理領域の取り込み,取り込んだ処理領域の処理をパイプライン処理する一例を示す図である。
【図6】本発明に係る画像処理装置の第1の実施の形態の処理フローを示す図である。
【図7】本発明の画像処理装置の各処理領域を処理する順序,頻度,タイミングを決定する表の一例を示す図である。
【図8】本発明に係る画像処理装置の第2の実施の形態を示すブロック図である。
【図9】本発明に係る画像処理装置の第2の実施の形態を示すブロック図である。
【図10】本発明の画像処理装置が、2台のカメラにより距離を計測する原理を示す図である。
【図11】本発明の画像処理装置の第2の実施例における処理領域の設定,処理領域の取り込みに関する一例を示す図である。
【図12】本発明に係る画像処理装置の第2の実施の形態の処理フローを示す図である。
【図13】本発明に係る画像処理装置の第2の実施の形態における、各処理領域の処理をパイプライン処理する一例を示す図である。
【図14】本発明に係る画像処理装置の画像処理機能と各処理領域の対応関係の一例を示す図である。
【図15】本発明に係る画像処理装置の第2の実施の形態における、各処理領域の処理をパイプライン処理する他の例を示す図である。
【発明を実施するための形態】
【0010】
以下、図面を参照して、本発明の実施の形態について説明する。
【0011】
(第1の実施の形態)
図2は、本発明の第1の実施の形態における画像処理装置1の基本構成の例を示したブロック図である。
【0012】
第1の実施の形態は、撮像装置であるカメラから取り込む画像の処理領域,頻度,順序,タイミングのいずれか少なくとも1つ、取り込んだ画像を処理する処理領域,頻度,順序,タイミングのいずれか少なくとも1つを制御する画像処理装置及び画像処理装置制御方法である。
【0013】
本発明に係る画像処理制御は、図2に示すような撮像装置である画像処理装置1に適用されて、この画像処理装置1が備えるカメラ4(撮像素子)により周囲の環境を撮像し、撮像した画像を処理する機能を実現する。このとき、カメラは2つ以上備えていても良い。以降、図2の構成を例に説明する。
【0014】
この画像処理装置1は、撮像素子であるカメラ4と、このカメラ4にて撮像した画像を処理するための処理手段であるCPU6,CPU6用の記録手段であるメモリ9,プログラムやデータの記録手段であるROM7と、カメラ4を制御するとともに画像を取り込む画像入力手段5で構成され、これらがバス11で接続されている。ただし、この構成は必須な要件ではなく、CPU6に加え、さらに画像処理LSIを搭載して処理の一部を専用のLSIで処理する構成や、1つのRAMのみでなく画像処理LSI用のRAMなど複数のRAMを用いる構成でも良い。
【0015】
また、画像処理装置1は、図3に示すようにカメラ4,画像入力手段5を備えたカメラユニット2と、CPU6,メモリ9,ROM7を備えた処理ユニット3に分離された構成でも良い。この場合は、カメラユニット2と処理ユニット3の各々に、互いにデータを通信可能なI/F12,I/F13を備え、I/F12とI/F13間をデータ伝送手段14で接続された構成としても良い。
【0016】
本画像処理装置1のカメラ4は、例えばCCDやCMOS撮像素子を搭載する。その撮像素子の画素数が200万画素で、1画素のデータがR(赤),G(緑),B(青)の合計3バイトとすると1枚の画像データは6メガバイトとなる。このとき、画像処理の処理を1秒間に60回実行すると撮像画像をメモリに格納するためのバス11のデータ転送量は360メガバイト/秒となる。バス11は、画像の取り込み以外にCPU6がメモリに格納されているデータを処理する場合等においてもデータを転送する必要があり、バス11の転送負荷が問題となる。また、組込み機器ではPCに比べCPU性能が低いため、バス転送負荷以外に、メモリ9に格納された画像データが大きいと、CPUで所定時間以内で処理できないといった問題も発生する。
【0017】
ただし、上記の画像1枚あたりのデータサイズは、画像の画素数,1画素あたりのデータサイズ,画像のフォーマット等によって異なり、バス転送負荷は画像を転送し、処理する周期によって異なるため、上記の数値は一例である。
【0018】
このバス転送負荷を軽減するためには、画像全体を取り込む代わりに、画像の所定の領域や、元の画像を縮小した画像を取り込む必要がある。
【0019】
またCPUの処理負荷は、画像全体を取り込む代わりに、画像の所定の領域や、元の画像を縮小した画像を取り込むことに加え、画像をいくつかの領域に分割して取り込み、ある領域を取り込んでいる間に取り込み済みの画像を処理することで軽減することができる。
【0020】
本発明を適用する画像処理装置1は、これらを実現するために、ROM7に本実施の形態に関する撮像装置の制御プログラムが格納されており、電源をONにするとCPU6がこれらのプログラムを実行することで、画像処理装置1を制御するとともに、撮像した画像を処理する一連の機能が実現される。
【0021】
図1に画像処理装置1のCPU6の詳細なブロック図を記す。図2の画像入力手段5は、画像取込み部20を有し、CPU6は、処理順序・頻度制御部21,処理領域決定部22,画像処理部23を有する構成である。これらの処理により一連の機能は実行される。
【0022】
画像取込み部20は、撮像装置であるカメラ4で撮像された画像を取り込んでメモリ9に格納する機能に加え、例えばカメラ4の撮像素子のうち画像を取り込む領域を指定する機能,撮像のシャッターやゲインといった露光に関する設定およびタイミングの調整を行う機能を有するものである。また、画像取込み部20は、カメラから取り込んだ画像をメモリ9に格納する前に画像のエッジ強調やノイズ除去,輝度の補正などを行う機能を持っていても良い。また、画像取込み部20は、画像を取り込んだ際に、取り込んだ画像を縮小した画像,縮小しない画像,部分的に切り出した画像など複数の画像に分割して、それらの画像をメモリ9に格納しても良い。
【0023】
処理順序・頻度制御部21は、カメラ4で撮像した画像の複数の処理領域に対して、処理領域中の画像を取り込んでメモリ9に格納する順番,頻度やタイミングのいずれか少なくとも1つ、CPU6がメモリ9に保存されている画像を処理する順序,頻度やタイミングのいずれか少なくとも1つを制御する機能を有するものである。
【0024】
処理領域決定部22は、後述する画像処理部23の画像処理結果や、画像処理の機能に応じて求めることができる領域あるいは予め設定した領域、等に基づいて処理に用いる画像の領域を決定する機能を有するものである。
【0025】
画像処理部23は、前記処理領域決定部22により決定した処理領域を、前記処理順序・頻度制御部21で決定した順序,頻度,タイミングで、処理領域決定部22によりメモリ9に取り込んだ画像を処理する機能を有するものである。画像処理としては、撮像素子固有のノイズ,夜間等の暗い環境下で撮像したさいに生じるノイズ等を除去する処理や、背景差分等の公知の技術により画素の値に変化が生じた部分のみを抽出する処理や、公知のパターン識別処理により人を検出処理などがある。
【0026】
これらの機能を用いることで、例えば図4(a)に示すように、トンネルの出口付近で画像中央を第1の処理領域、画像全体を縮小した領域を第2の処理領域として設定し、図4(c)のように時刻tで第1の処理領域をメモリ9に取り込み、その後時刻t+1で画像全体を縮小した画像をメモリ9に取り込むことができる。例えば第1の処理領域で横幅,縦幅を画像全体の1/2に設定し、第2の処理領域で画像全体を1/2に縮小したとすると、全体の画像を取り込む場合に比べ、バス転送負荷,CPU6の処理負荷を半分に低減することができる。
【0027】
また、図4(b)のように時刻tより前にシャッターを切って露光を開始し、次のシャッターを時刻t+1より後に切るようにし、各画素に蓄積された電荷を転送すること等により画像を取り込むと、第1の処理領域以外の画素の電荷は蓄積され続けるため、第1の処理領域は暗い画像、第2の処理領域は第1の処理領域で画像を取り込み済みの領域は暗い画像でその他の部分は明るい画像を取り込むことができる。これにより、トンネルの出口で画素に蓄積された電荷が飽和してしまうといった現象抑制できるとともに、車線などが映っている領域は露光開始から時刻t+1まで蓄積した明るい画像を撮像することができる。また、各画素に蓄積された電荷を転送することで画像を取り込む代わりに、各画素に蓄積された電荷の電圧を読み取る等により画像を取り込むことができる撮像素子を用いれば、画像取込み処理により蓄積された電荷がリセットされないため第2の処理領域の全体を同じ露光時間で撮像した画像として取り込むことができる。このように、1回の撮像周期の間に異なったタイミングで各処理領域を取り込むことで、1回の撮像時間で複数の処理領域の画像を、複数の露光時間で撮像できるといった利点がある。
【0028】
図5は、画像処理装置1における処理領域の取り込み,取り込んだ処理領域の処理をパイプライン処理する一例を示した図である。この図5では、第1の処理領域を用いてヘッドランプやテールランプのランプ検知処理を行い、第2の処理領域を用いて車線(レーン)認識処理を行う場合の一例について記載している。
【0029】
この例では、第1の処理領域を取り込み、第1の処理領域の画像を画像処理部が処理している間に、第2の処理領域を取り込むことで画像の取り込み、画像の処理に要する時間を低減することができる。ただし、第1の処理領域を取り込んでいる間は、過去に取り込んだ画像等を処理することができること、処理領域も3つ以上であっても良いことは明らかである。
【0030】
以上のように構成される画像処理装置1は、上述したように、CPU6が画像処理装置の制御プログラムを実行することで、取り込む画像の領域,取り込むタイミング,頻度,順序のいずれか少なくとも1つ、取り込み済みの画像を処理するタイミング,頻度,順序のいずれか少なくとも1つを制御することができる。ただし、前述の通り画像取込み部20,処理順序・頻度制御部21,処理領域決定部22,画像処理部23の一部あるいはすべてを処理ユニット3で実行しても良い。
【0031】
ここで、以上のような画像処理装置1および画像処理装置の制御方法において、画像処理装置を制御する一連の処理の流れをフローチャートを参照しながら説明する。
【0032】
図6に示す一連の処理は、電源がオンとなったときにスタートし、電源がオフとなるまで繰り返し行われる。あるいは、画像処理を所定回数実行した後、画像処理を終了する構成や、図示しない外部機器によりプログラムを実行した際に一連の処理をスタートし、外部機器により停止処理を行った際にプログラムを停止構成などであっても良い。
【0033】
まず、電源がオンとなると、画像処理装置1により画像処理装置の制御処理および画像処理プログラムが実行され、メモリ9の初期化など起動時の初期化処理を実行する(ステップ101)。図6の例での画像処理部23では、先行車検出処理、および車線検出処理を行う。次に、プログラムの実行途中の初期化タイミングか否かを判定し(ステップ102)、ステップ103で初期化を実行するタイミングであればステップ110に移行し、初期化処理を実行するタイミングでなければステップ104の処理を実行する。この初期化処理では、第1の処理領域と第2の処理領域の座標や画像サイズ,画像の縮小・拡大率などを初期化する(ステップ111)。
【0034】
この初期化処理のタイミング判定は、例えば本画像処理装置1を車両などの移動体に取り付け、図示しないハンドル角センサや車輪速センサ,車速センサ,ジャイロセンサ,ヨーレートセンサ,GPSセンサ,地図データベース等により現在走行中の道路を推定し、初期化処理のタイミングであるか否かを判定する。例えば、ハンドル角センサから得られた情報を基に、自車の左折あるいは右折を判定し、自車が左折あるいは右折した際に初期化処理とする。これは、自車が右折,左折すると走行していた道路環境と異なる道路を走行することから、処理領域を初期化することが有効であるためである。また、本画像処理装置は、車両以外に搭載しても良く、例えばビル内やエレベータ内等に設置しても良い。カメラの視野内の人,車,障害物等が視野から外れたタイミングや、エレベータやビルから人が出たタイミング等を初期化タイミングと判定しても良い。
【0035】
そして、カメラ4により撮像した画像のうちどの領域を処理するかを処理領域決定部22により決定する(ステップ104)。この処理では、例えば画像処理装置1を起動した直後は初期化処理により予めROM7やプログラム内に定数として保存されている処理領域の始点の座標,終点の座標,縮小率等を用いて決定し、その後は画像処理部23の画像処理結果等を用いて処理領域を決定することができる。例えば、前回の画像処理により車両を検出した場合、前回検出した車両の画像上の位置,サイズを基に処理領域を決定することができる。画像処理結果を用いて処理領域を決定する処理はステップ110である。
【0036】
その後、カメラ4により撮像した画像の各処理領域を処理する順序,頻度,タイミングのいずれか少なくとも1つを処理順序・頻度制御部21により決定する(ステップ105)。順序,頻度,タイミングは、例えば図7の表に示すように各処理領域の露光時間,始点・終点の座標,取り込み時間,処理時間,縮小・拡大率等から決定することができる。
【0037】
例えば、露光時間の短い処理領域を時刻tで取り込み、露光時間の長い処理領域を時刻t+1で取り込む。前述の通り、1回の露光期間中に、図4のように第1の処理領域を先に取り込むことで暗い画像を取り込み、その後第2の処理領域を明るい画像として取り込むことができる。つまり、1回の露光期間中に異なった露光の処理領域の画像情報を複数取り込むことができる。第1の処理領域の露光時間をT1、第2の処理領域の露光時間をT2とすると、T1<T2であれば第1の処理領域を露光開始からT1経過したタイミングで取り込み、その後第2の処理領域を露光開始からT2経過したタイミングで取り込むように順序とタイミングを決定する。また、例えば処理領域1を過去に画像処理した結果、車両が検出されていなければ、処理領域1の取り込み、処理頻度を下げ、第1の処理領域を今回の露光では取り込まないように設定しても良い。
【0038】
次にステップ104で決定した第1の処理領域をステップ105で決定した順序,頻度,タイミングで取り込む(ステップ106)。例えば、図4(a)のように第1の処理領域を画像中央に設定し、前述の通り露光開始からT1経過したタイミングで取り込む。あるいは、図4(b)のように第1の処理領域を画像上部に設定し、信号機などの発光体を露光時間の短い画像として取り込む構成とすることもできる。
【0039】
そして、取り込んだ画像を処理して先行車を検出する(ステップ107)。この処理では、例えば画像の輝度値基づくパターン識別,過去の画像と現在の画像から各画素の移動ベクトルを求めるオプティカルフローを用いて検出する。
【0040】
その後、ステップ106と同様にステップ108で第2の領域をメモリ9に取り込み、取り込んだ画像を処理して車線を検出する(ステップ109)。車線は、公知の技術により検出することができる。
【0041】
最後に、画像処理結果を元に、次の撮像画像で処理する第1の処理領域と第2の処理領域を更新する(ステップ110)。これは例えば、ステップ107で車両が検出されていれば、検出した車両の画像上での座標,大きさ等から決定できる。具体的には、車両の領域の視点の座標がCx,Cyで、サイズがCw,Chとすると第1の処理領域の視点を、Cx−α1,Cy−α2,Cw+α3,Ch+α4とし、車両の領域を含むようにしています。ただし、α1からα4は車両の領域の周辺のマージンであり、定数としても良く、または先行車を時間方向に追跡処理した移動量や、前記ハンドル角センサ,車速センサ,ジャイロセンサ,ヨーレートセンサ等を用いて求めた自車両の動きを基に計算しても良い。
【0042】
以上までに述べた方法は、カメラを1台用いるカメラに関して説明したが、カメラが2台以上存在する場合でも本実施の形態を適用することができるのは明らかである。カメラが2台以上存在する場合は、カメラが1台の場合よりも画像のデータサイズの合計が大きくなるため、本発明の効果が大きい。また2台以上存在する場合は、処理領域決定部が複数のカメラで撮像した画像に対して処理領域を設定すれば良い。
【0043】
(第2の実施の形態)
次に、本発明の画像処理装置1の第2の実施の形態について、図面を参照して詳細に説明する。
【0044】
なお、第2の実施の形態に拘わる画像処理装置及び画像処理装置の制御方法の構成について、上述した第1の実施の形態と同様の構成については図中同一の符号を付して、重複した説明は省略する。
【0045】
第2の実施の形態における、画像処理装置1の基本構成の例を図9に示す。詳細は後述する。
【0046】
第2の実施の形態は、カメラ4aとカメラ4bから画像を一時記憶用のメモリ8に取り込み、取り込んだ画像を段階的に画像処理用のメモリ9に転送する画像処理装置1である。カメラ4a,4bは、例えば車両に取り付けて前方を撮像するように取り付けられている例について説明するが、必ずしも車両である必要はなく、建物等に取り付けても良い。
【0047】
画像処理装置1は、第1の実施の形態の構成に加え、図9に記載の通り、カメラ4aとカメラ4bの2台のカメラを具備し、メモリ8と画像処理転送手段12,画像入力手段5とメモリ8と画像処理転送手段12を接続するバス10をさらに具備する構成である。また、第2の実施の形態では、カメラを2台の場合を例に説明するが、カメラは1台でも3台以上であっても良い。
【0048】
第1の実施の形態と同様、図3のように、カメラユニット2とPC等の処理ユニット3とで分ける構成にしても良い。例えば、カメラ4a,カメラ4b,画像入力手段5,メモリ8,画像処理転送手段12をカメラユニット2に設け、CPU6,メモリ9,ROM7を処理ユニット3に設ける構成としても良い。そのとき画像処理転送手段12は処理ユニット3にも設け、カメラユニット2とのデータ通信を実行しても良い。
【0049】
本画像処理装置1は、例えば図10に示すようにカメラの視野が重複するようにとりつけて、それぞれのカメラで画像を撮像した際の見え方の差δ(視差)を求め、距離を計測する装置として利用することができる。ただし、Zは各計測点までの距離(各画素に撮像されている点までの距離)、fは焦点距離、bはカメラ間の距離である。
【0050】
本実施の形態は、図8の画像処理装置1に示す機能ブロック図のように図1の第1の実施の形態に比べ、カメラ4a,カメラ4b,画像転送部24をさらに具備することを特徴としている。
【0051】
本画像処理装置1は、電源を入れると画像処理と画像処理を制御するためのプログラムが実行され、画像処理装置1が図8の画像処理装置1の機能ブロック図のように画像取込み部20,画像転送部24,処理順序・頻度制御部21,処理領域決定部22,画像処理部23として機能するようになっている。
【0052】
画像取込み部20は、第1の実施の形態の画像取込み部と動作が異なり、2つのカメラ(カメラ4a,カメラ4b)から画像を取り込んで、バス10を経由してメモリ8に画像を格納する機能を有するものである。
【0053】
画像転送部24は、メモリ8に取り込み済みの画像をバス11を経由してメモリ9に転送する機能を有するものである。このとき、カメラ4aとカメラ4bで撮像された左右の画像にそれぞれ処理領域を設定しておき、同時に画像転送部がそれらの処理領域をメモリ9から読み込んで視差を求める演算を行い、求めた視差データと読み込んだ処理領域の画像の少なくともいずれかをメモリ8に転送する構成であっても良い。画像転送部24が実施する視差算出処理以外に、エッジ検出処理,差分処理,オプティカルフロー算出処理,フィルタ処理,画像の加算・減算処理等の各種画像処理を実施した結果、あるいは実施した結果と実施する前の処理領域内の画像の両方をメモリ8に転送する。
【0054】
画像転送部24は、画像取込み部20でメモリ8に取り込んだ画像を、バス11を通って処理順序・頻度制御部21で決定した順序,頻度,タイミングで、処理領域決定部22で決定したそれぞれの処理領域をバス11によりメモリ9に転送する機能を有するものである。
【0055】
以上のような画像処理装置1は、例えば図11のように画像処理制御プログラムの制御のもと動作する。まず時刻tにメモリ8にカメラの撮像画像全体あるいは一部がバス10により保存される。その後時刻t+1にメモリ8に保存されている画像全体を縮小した第1の処理領域の画像をメモリ9に転送し、時刻t+2にメモリ8に保存されている画像の中央部分付近を切出した第2の処理領域の画像をメモリ9に転送し、時刻t+3にメモリ8に保存されている画像の左側の部分の第3の処理領域を切出した画像をメモリ9に転送する。そして、時刻t+4にメモリ8に保存されている画像の中央部分の上に位置する第4の処理領域の画像をメモリ9に転送する。
【0056】
これにより、データサイズの大きな画像を一括してメモリ9に取り込む場合に比べ、転送する画像データのサイズを小さくすることができるとともに、ある処理領域をメモリ9に転送している間に転送済みの処理領域の画像を処理することができるため、処理時間を削減できる。
【0057】
第2の実施の形態の処理フローを図12に示す。ただし、ステップ101からステップ103,ステップ111は第1の実施の形態と共通であるため説明を省略する。
【0058】
ステップ112では、図7に示す各処理領域の始点座標,終点座標,取り込み時間,処理時間の少なくともいずれか一つを用いて、処理領域の始点座標,終点座標,縮小・拡大率,タイミング,頻度,順序の少なくともいずれか1つを決定する。例えば、図7に示す各処理用域の情報に基づいて、まず処理領域の始点座標,終点座標からカメラの視野を最も広くカバーしつつ、縮小・拡大率の値が画像を1/2に縮小する処理領域を初めに転送するように設定する。そして、ステップ113で、ステップ112で設定した各処理領域の始点座標,終点座標,縮小・拡大率,タイミング,頻度,順序に従って画像を取り込む。
【0059】
例えば、第1の処理領域が初めに転送されるとする。次に、第1の処理領域の処理時間の間に、転送処理が完了する処理領域を選択(第2の処理領域が選択されたとする)し2番目に転送する。そして、同様に第2の処理領域の処理時間の間に、転送処理が完了する処理領域を選択(第3の処理領域が選択されたとする)し3番目に転送する。さらに、同様に第3の処理領域の処理時間の間に、転送処理が完了する処理領域を選択(第4の処理領域が選択されたとする)し4番目に転送する。このとき、例えば、第4の処理領域が第3の処理領域を含むとすると、第3の処理領域の処理領域と重複している部分は転送せずに残りの第4の処理領域のみを転送するようにしても良い。または、例えば第4の処理領域が第3の処理領域、あるいは第2と第3の処理領域に含まれる場合(1つ以上の処理領域に含まれる場合)は、第4の処理領域の転送は行わず、先に第2の処理領域,第3の処理領域を転送しておくことで、第4の処理領域の転送を省略することができる。
【0060】
そして、ステップ114で、第1の処理領域をメモリ8からメモリ9に転送し、ステップ115でメモリ9に格納された第1の処理領域の画像を処理し、車線検出処理を行う。さらに、ステップ116で第1の処理領域の画像を処理して、先行車と標識の候補を検出する。このとき、先行車と標識の候補の座標,大きさを基に第2の処理領域,第3の処理領域を決定する構成としても良い。
【0061】
その後、ステップ117で第2の処理領域を転送し、ステップ118で第2の処理領域の画像を用いて先行車を検出する。ステップ118では、ステップ116の結果を基に先行車の位置を大まかに特定して処理する領域を制限するとより効率の良い処理が可能である。
【0062】
ステップ119では、第3の処理領域を転送し、ステップ120で標識の検出を行う。そして、ステップ121で、第4の処理領域を転送し、ステップ122で信号機の検出処理を実行する。このとき、メモリ9に格納されている第3の処理領域と第4の処理領域の両方を用いて信号検出処理を実行することでより広い範囲の信号機を検出することができる。そして、最後に車線,先行車,標識,信号機の検出結果を基に、次の撮像画像で処理する第1から第4の処理領域の始点座標,終点座標,頻度,タイミング,順序を更新する(ステップ123)。
【0063】
以上、説明したように第2の実施の形態を適用した画像処理装置および画像処理装置の制御方法では、例えば高解像度の撮像素子を用いた場合に、撮像素子の全画素をCPUが処理する画像を格納するメモリ9に取り込まないため、バス11の転送負荷,CPU6の処理負荷を軽減することができる。このとき、第1の処理領域のように画像の広い領域を縮小する処理領域と、第2〜第4の処理領域のように画像を縮小せずに画像を切り出す処理領域とを設定することで、視野角の広いセンシングと、解像度の高いセンシングを同時に、効率良く実現することができる。例えば、図13に示すように時刻t+1で画像の広い領域を縮小した処理領域を取り込み、時刻t+2でその縮小した画像を処理し、車線を検出するとともに、車両,標識,信号機が存在しそうな候補領域を検出する。この処理と並行して、画像中央部を縮小しない処理領域を取り込み、時刻t+3で前記車両が存在しそうな候補領域に基づいて車両の検知処理を行い、その処理と並行して標識の候補領域を含む処理領域を縮小せずに取り込む。そして時刻t+4で標識の検知処理を行うとともに、画像中央の上部に位置する処理領域を縮小せずに取り込む。その後、取り込んだ画像を処理して信号を検知する。
【0064】
また、図14(a)に示すように、ヘッドライトやテールランプ等のランプ検出の処理に用いる処理領域ではモノクロとカラーを同じ縮小・拡大率に設定し、図14(b)のように標識検知処理ではモノクロを解像度が高く、カラーの解像度が低くなるように、モノクロとカラー成分で異なる縮小・拡大率を設定しても良い。これは、例えば標識検知は、標識を見つける処理で色情報は重要であるものの色情報の分解能は低くても良く、標識を識別(最高速度40kmと差高速度60kmの識別など)する処理では、色情報よりも数字などが鮮明に映っている必要があるためである。また、図14(c)(d)のように車両検知,歩行者検知では車両や歩行者の輝度変化を詳細に捉えるためにモノクロは高解像度に取り込み、カラーは低解像度な情報を取り込む。また、図14(e)のように車線検知では、モノクロのみを取り込む。このとき車線の色を判定する場合は、カラー情報を取り込んでも良い。図14(f)のように信号検知では、遠方の信号を検知する場合は、モノクロとカラーの両方を高解像度のまま取り込む。最後に図14(g)のように画像全体を処理するための画像はモノクロとカラーともに低解像度化して取り込む。認識対象に応じてカラー,モノクロの解像度を変えることでより効率的に処理することができる。
【0065】
また、カメラを取り付ける移動体は、車の他に、ロボット,建設機械,農業用機械など移動する物体であれば良い。画像処理部23の処理は、画像を人間に見せるために暗い画像を明るい画像に補正する処理,カメラの始点を変換する処理,画像のノイズを低減する処理,画像のコントラストを向上する処理,画像のぼけを補正する処理,画像をエッジ画像などに変換する処理などであっても良い。また、画像処理部23で画像中から物体等を検出処理では、人間を含む動物,車などの移動体,壁や電柱などの立体物,画像中で変化のあった領域,人間の異常な行動(犯罪など),大勢の人間が右に移動している場合に一人だけ左に移動しているなど動きの異なる領域,車線や横断歩道等の道路標示,ヘッドライト,テールランプ,信号機などのランプなどがあげられる。
【0066】
このように、画像処理部で実行する画像処理の種類(ランプ検出処理,標識検知処理,車両処理,歩行者検知処理,車線検知処理,信号検知処理等)に応じて処理領域が設定される。図14の通り、その画像処理の種類によって、処理領域が異なる位置(座標)に設定されることもある。
【0067】
処理順序・頻度制御部21は、図15に示す通り、処理時間の長い処理領域を先に取り込み、取り込みと転送時間の合計時間が長い処理領域を後に取り込むことで、処理時間の長い処理領域を処理中に、取り込み、転送時間の長い処理領域を取り込み、転送することで処理の効率化を行うことができる。また、このとき第1の発明の形態のように画像転送部24を持たない場合は、処理領域の取り込み時間と処理時間とから順序,タイミング,頻度を決定すれば良い。取り込みに時間がかかる処理領域は、処理領域中の画像のデータサイズが大きい場合や、画像を取り込む際に画像取込み部が輝度の補正等を行う処理の計算に時間を要する場合などである。転送に時間がかかる処理領域も同様に、転送する処理領域中の画像のデータサイズが大きい場合や、画像転送部24で画像を処理してから転送する際に画像処理の計算に時間をようする場合である。
【0068】
例えば、図15のように時刻t+1で第1の処理領域を取り込み、時刻t+2で転送し、時刻t+3で処理する。この処理は、例えば画像全体を処理し、車両,歩行者,車線,標識,信号およびそれらの候補などを検出する処理である。そして、時刻t+2と時刻t+3で第2の処理領域を取り込み転送する。そして時刻t+4で転送した画像を処理する。この処理は例えば、高解像度の画像を取り込み、歩行者や遠方の車両を検出する処理である。そして第2の処理領域の取り込みが終わった後に、第3の処理領域を取り込み、転送し処理する。この処理は、標識検知や信号検知などの処理である。このように、取り込み時間,転送時間,処理時間を考慮して、順序,タイミング等を制御することでCPUが動作していない時間を短くすることができる。
【符号の説明】
【0069】
1 画像処理装置
2 カメラユニット
4 カメラ
5 画像入力手段
6 CPU
7 ROM
8,9 メモリ
20 画像取込み部
21 処理順序・頻度制御部
22 処理領域決定部
23 画像処理部
24 画像転送部
【特許請求の範囲】
【請求項1】
撮像素子にて撮像された画像情報を取り込む画像取込み部と、
前記画像情報に対して、複数の処理領域を設定する処理領域設定部と、
設定された前記複数の処理領域の各画像情報の取り込む順番,頻度、及びタイミングのいずれか少なくとも1つ、及び前記各画像情報の処理の順序,頻度、及びタイミングのいずれか少なくとも1つを決定する処理順序頻度決定部と、
前記処理順序頻度決定部で決定された順番,頻度,タイミングで処理領域毎に画像情報を取り込み、取り込んだ前記画像情報を前記処理順序頻度決定部で決定された順序,頻度,タイミングで画像処理を行う画像処理部と、を有する画像処理装置。
【請求項2】
請求項1記載の画像処理装置において、
前記処理順序頻度決定部で決定された順番,頻度,タイミングは、前記処理領域設定部で設定された各処理領域の露光時間,始点座標,終点座標,取り込み時間,処理時間,縮小・拡大率に基づいて決定される画像処理装置。
【請求項3】
請求項1記載の画像処理装置において、
前記画像取込み部は、前記撮像素子の露光情報であるシャッター又はゲインを設定する機能を有する画像処理装置。
【請求項4】
請求項1記載の画像処理装置において、
前記画像取込み部は、取り込んだ前記画像情報に対してエッジ強調処理,ノイズ除去処理,輝度補正処理の少なくとも1つの処理を実行する機能を有する画像処理装置。
【請求項5】
請求項1記載の画像処理装置において、
前記処理領域設定部は、前記画像処理部で実行する画像処理の種類に応じて処理領域が設定される画像処理装置。
【請求項6】
請求項5記載の画像処理装置において、
前記処理領域設定部は、前記画像処理部で実行する画像処理の種類に応じて異なる位置に処理領域が設定される画像処理装置。
【請求項7】
請求項6記載の画像処理装置において、
前記処理領域設定部は、前記画像処理部で実行する画像処理が標識検知処理と歩行者検知処理とで、異なる位置に処理領域が設定される画像処理装置。
【請求項8】
請求項1記載の画像処理装置において、
前記画像取込み部は、前記処理順序頻度決定部で決定された順序,頻度、及びタイミング前記画像処理部が第1の処理領域の画像情報を画像処理中に、前記処理順序頻度決定部で決定された順番,頻度,タイミングで前記第1の処理領域とは異なる第2の処理領域の画像情報を取り込む画像処理装置。
【請求項9】
請求項1記載の画像処理装置において、
前記画像取込み部で取り込んだ画像情報を前記処理順序頻度決定部で決定された順番,頻度,タイミングで前記画像処理部へ転送する画像転送部を有する画像処理装置。
【請求項10】
請求項9記載の画像処理装置において、
前記画像転送部は、前記画像処理部が前記処理時間の長い前記処理領域の画像処理中に、複数の処理領域のうち転送時間の長い処理領域を前記画像処理部へ転送させる画像処理装置。
【請求項11】
請求項1記載の画像処理装置において、
前記画像取込み部は、1回の露光期間中に異なった露光の処理領域の画像情報を複数取り込む画像処理装置。
【請求項1】
撮像素子にて撮像された画像情報を取り込む画像取込み部と、
前記画像情報に対して、複数の処理領域を設定する処理領域設定部と、
設定された前記複数の処理領域の各画像情報の取り込む順番,頻度、及びタイミングのいずれか少なくとも1つ、及び前記各画像情報の処理の順序,頻度、及びタイミングのいずれか少なくとも1つを決定する処理順序頻度決定部と、
前記処理順序頻度決定部で決定された順番,頻度,タイミングで処理領域毎に画像情報を取り込み、取り込んだ前記画像情報を前記処理順序頻度決定部で決定された順序,頻度,タイミングで画像処理を行う画像処理部と、を有する画像処理装置。
【請求項2】
請求項1記載の画像処理装置において、
前記処理順序頻度決定部で決定された順番,頻度,タイミングは、前記処理領域設定部で設定された各処理領域の露光時間,始点座標,終点座標,取り込み時間,処理時間,縮小・拡大率に基づいて決定される画像処理装置。
【請求項3】
請求項1記載の画像処理装置において、
前記画像取込み部は、前記撮像素子の露光情報であるシャッター又はゲインを設定する機能を有する画像処理装置。
【請求項4】
請求項1記載の画像処理装置において、
前記画像取込み部は、取り込んだ前記画像情報に対してエッジ強調処理,ノイズ除去処理,輝度補正処理の少なくとも1つの処理を実行する機能を有する画像処理装置。
【請求項5】
請求項1記載の画像処理装置において、
前記処理領域設定部は、前記画像処理部で実行する画像処理の種類に応じて処理領域が設定される画像処理装置。
【請求項6】
請求項5記載の画像処理装置において、
前記処理領域設定部は、前記画像処理部で実行する画像処理の種類に応じて異なる位置に処理領域が設定される画像処理装置。
【請求項7】
請求項6記載の画像処理装置において、
前記処理領域設定部は、前記画像処理部で実行する画像処理が標識検知処理と歩行者検知処理とで、異なる位置に処理領域が設定される画像処理装置。
【請求項8】
請求項1記載の画像処理装置において、
前記画像取込み部は、前記処理順序頻度決定部で決定された順序,頻度、及びタイミング前記画像処理部が第1の処理領域の画像情報を画像処理中に、前記処理順序頻度決定部で決定された順番,頻度,タイミングで前記第1の処理領域とは異なる第2の処理領域の画像情報を取り込む画像処理装置。
【請求項9】
請求項1記載の画像処理装置において、
前記画像取込み部で取り込んだ画像情報を前記処理順序頻度決定部で決定された順番,頻度,タイミングで前記画像処理部へ転送する画像転送部を有する画像処理装置。
【請求項10】
請求項9記載の画像処理装置において、
前記画像転送部は、前記画像処理部が前記処理時間の長い前記処理領域の画像処理中に、複数の処理領域のうち転送時間の長い処理領域を前記画像処理部へ転送させる画像処理装置。
【請求項11】
請求項1記載の画像処理装置において、
前記画像取込み部は、1回の露光期間中に異なった露光の処理領域の画像情報を複数取り込む画像処理装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2012−222762(P2012−222762A)
【公開日】平成24年11月12日(2012.11.12)
【国際特許分類】
【出願番号】特願2011−89702(P2011−89702)
【出願日】平成23年4月14日(2011.4.14)
【出願人】(509186579)日立オートモティブシステムズ株式会社 (2,205)
【Fターム(参考)】
【公開日】平成24年11月12日(2012.11.12)
【国際特許分類】
【出願日】平成23年4月14日(2011.4.14)
【出願人】(509186579)日立オートモティブシステムズ株式会社 (2,205)
【Fターム(参考)】
[ Back to top ]