JP5126124B2 - 画像処理装置 - Google Patents

画像処理装置 Download PDF

Info

Publication number
JP5126124B2
JP5126124B2 JP2009055401A JP2009055401A JP5126124B2 JP 5126124 B2 JP5126124 B2 JP 5126124B2 JP 2009055401 A JP2009055401 A JP 2009055401A JP 2009055401 A JP2009055401 A JP 2009055401A JP 5126124 B2 JP5126124 B2 JP 5126124B2
Authority
JP
Japan
Prior art keywords
image
feature point
block
frame
stored
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009055401A
Other languages
English (en)
Other versions
JP2010211398A (ja
Inventor
晃弘 山口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2009055401A priority Critical patent/JP5126124B2/ja
Publication of JP2010211398A publication Critical patent/JP2010211398A/ja
Application granted granted Critical
Publication of JP5126124B2 publication Critical patent/JP5126124B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Analysis (AREA)

Description

本発明は、画像の特徴点の移動状態に基づいて画像を処理する画像処理装置に関する。
従来より、車両の周囲の画像を撮影して処理する画像処理装置として、動画の動きベクトルを利用する装置が知られている。この動きベクトルを検出する方法としては、動きベクトルの誤検出を減らすため、一度画像メモリに格納した画像から特徴点を決定し、その特徴点を取り囲むテンプレート画像が、1フレーム後の画像上のどこに移動したかを示す動きベクトルを算出する方法が提案されている(例えば、特許文献1、2、3参照)。
これらの従来技術は、各画像ブロック(動き検出する画像の単位)上で特徴点を抽出し、その特徴点を利用して動きベクトルを算出するものである。
また、近年では、本発明者によって、動きベクトルの算出を速めて、画像処理を高速化するための技術が提案されている(特許文献4参照)。
この技術は、画像取り込み時に生成する特徴点マップに基づいて、ラスタ方向に画像ブロックのデータ転送を最適化することで、高速処理を実現するものである。詳しくは、特徴点マップ上の特徴点間の距離に応じてデータの転送方法を切り替えるものである。
特開平8−242453号公報 特開平9−55943号公報 特開平9−55944号公報 特開2008−192060号公報
前記引用文献4の技術では、2フレーム間の動きについて述べているので、この技術を複数フレームに跨る特徴点を含む画像ブロックの動き検出する場合を考えると、動き情報テーブル(特徴点座標と動きベクトルの算出結果が格納されているテーブル)に、次追跡の開始点を記憶しておくことが考えられる。
しかし、動き情報テーブルには、ラスタ方向の順番に次追跡の開始点が格納されていないので、ラスタ方向にデータ転送できるように、次追跡の座標を探索する必要があり、この探索時間が高速化のボトルネックになることが考えられる。
本発明は、上記問題点を解決するためになされたものであり、複数フレームに跨る画像ブロックの動き検出する場合に、その動き検出の算出を速めて、画像処理を高速化できる画像処理装置を提供することを目的とする。
(1)上記課題を解決するためになされた請求項1の画像処理装置は、過去の画像上の特徴となる画素である特徴点を抽出して、その特徴点を含む所定の大きさを持つテンプレート画像が、複数のフレーム間に渡って、現在の画像上のどこに移動したかを示す移動情報(次追跡座標、動きベクトル)を算出する画像処理装置であって、所定のフレームと該フレームの次のフレームに対応して、それぞれ、前記画像処理装置に取り込まれた画像上の特徴点が、動き検出する画像単位である画像ブロック単位でどこに存在するかを、識別番号で区分して示す特徴点マップと、前記移動情報を算出する際に用いるデータ(特徴点、又は、次追跡座標と次追跡ブロックID)を格納するテーブルブロック(動き情報テーブルの要素)を、前記特徴点マップの識別番号順に設定した動き情報テーブルと、を備え、前記次のフレームに対応した前記動き情報テーブルには、各テーブルブロック毎に、前記画素単位で抽出された特徴点の位置のデータ(特徴点座標X)と、前記特徴点の移動後の位置のデータである次追跡点の位置のデータ(次追跡座標Y)と、次に処理するデータを格納したテーブルブロックを示す次追跡ブロック識別番号と、を記憶しており、且つ、前記次のフレームに対応した特徴点マップにおける前記所定のフレームと前記次のフレームとの間に移動した特徴点の移動後の画像ブロックの位置に、移動前の特徴点の識別番号α(例えば3)を格納する機能を備えるとともに、前記特徴点の移動後の位置に該当する前記次のフレームに対応した特徴点マップの画像ブロックに記憶されていた識別番号β(例えば2)を、前記次追跡ブロック識別番号として格納する機能を備え、前記次のフレームに対応した特徴点マップにおける前記特徴点の移動後の位置に該当する画像ブロックに格納された前記移動前の特徴点の識別番号α(例えば3)を索引として、前記次のフレームに対応した動き情報テーブルにおいて処理すべきテーブルブロックを決定し、更に、該テーブルブロックに記憶された次追跡ブロック識別番号β(例えば2)を索引として、次に処理すべきテーブルブロックを決定することを特徴とする。
本発明では、特徴点マップに記憶された画像ブロックの識別番号を索引として、動き情報テーブルにおいて処理すべきテーブルブロックを決定し、更に、そのテーブルブロックに記憶された次追跡ブロック識別番号を索引として、次に処理すべきテーブルブロックを決定することができる。
つまり、本発明では、動き検出を行うべき順番を、特徴点マップに記憶された画像ブロックの識別番号や、動き情報テーブルに記憶された次追跡ブロック識別番号を索引として、順次決定することができるので、次追跡点の位置のデータがラスタ方向の順番で格納されていなくても、複数のフレーム間に渡る移動情報を算出する際に、その演算処理を高速化することができる。
なお、ここで画像ブロックの特徴点とは、画像上の特徴となる画素(即ち該当する画像ブロックを他の画像ブロックと区別可能とする画素のデータ)である。
(2)請求項2の発明は、前記動き情報テーブルにおいて処理すべきテーブルブロックを決定した場合には、該テーブルブロックに格納された次追跡点の位置のデータと、次追跡点決定以降の移動前後の画像データとを用いて、前記移動情報(例えば(T−1の)次追跡座標の移動後の(Tの)次追跡座標)を算出することを特徴とする。
本発明は、動き情報テーブルにおいて処理すべきテーブルブロックを決定した場合の後の処理を示したものである。これにより、速やかに移動情報を算出することができる。
(3)請求項3の発明は、前記画像の1フレーム目から2フレーム目の変化に応じて、過去の画像上の特徴点を含むテンプレート画像が現在の画像上でどこに移動したかを示す移動情報を算出し、その算出結果を、過去の画像の特徴点座標を格納した第1の動き情報テーブルに格納する第1の処理を実施し、前記画像の2フレーム目以降は、特徴点マップに記憶された画像ブロックの識別番号を索引として、前記第1の動き情報テーブルから次追跡点の位置のデータ(次追跡座標)と次追跡ブロック識別番号(次追跡ブロック識別番号ID)を抽出し、その次追跡点の位置のデータを基に移動情報を算出し、その算出結果を、過去の画像の特徴点座標を格納した第2の動き情報テーブルに格納する第2の処理を実施することを特徴とする。
本発明は、処理の手順を時系列に沿って、示したものである。
つまり、複数の動き情報テーブルを用いて、順次データを書き込むことにより、順次そのデータを用いて、容易に移動情報の演算を行うことができる。
(4)請求項4の発明は、次追跡ブロック識別番号が0を示す値(例えばNULL)になるまで、前記第2の処理を繰り返すことを特徴とする。
本発明は、処理の終了を示したものである。これにより、必要な演算のみを行うことができる。
・なお、特徴点マップとして、現在画像(最新の画像)における特徴点マップ及び過去画像(最新の画像より例えば1フレーム前の画像)における特徴点マップが挙げられるが、それより多くの特徴点マップを使用してもよい。
・前記特徴点マップには、1フレーム目と2フレーム目の移動情報を算出する際には、画像ブロック単位の特徴点の存在有無(画像においてどの部分に画像ブロックが存在するかを示すデータ)を記憶できる(図2参照)。また、2フレーム目以降(例えば2フレーム目と3フレーム目の移動)の移動情報を算出する際には、特徴点の移動前の画像ブロック単位の識別番号を、特徴点の移動後の位置に記憶することができる(図5〜図8参照)。なお、画像ブロックは複数の画素により構成される。
・なお、前記請求項1〜4の発明は、本発明者が提案した特開2008−192060号公報に記載の請求項1〜20の発明に適用することができる。
具体的には、例えば、画像処理装置に取り込まれた画像データを記憶する画像記憶部と、画像データ上の特徴点を抽出するため、及び動きベクトルを算出するために、必要な画像データを作成する前処理部と、画像データ上の特徴点が、動き検出する画像単位である画像ブロック単位で、どこに存在するかを示す特徴点マップと、画素単位で抽出された特徴点の位置のデータと動きベクトルのデータとを記憶する動き情報テーブルと、前処理部から得られる画像データから画像ブロック単位で特徴点を抽出し、特徴点が抽出できた場合には、画像ブロックに特徴点が存在することを示すフラグを特徴点マップに立て、かつ、特徴点の位置を動き情報テーブルに格納する特徴点抽出部と、画像記憶部に記憶された画像データと、特徴点マップに記憶された画像ブロック単位の特徴点のデータと、動き情報テーブルに記憶された画素単位の特徴点の位置のデータとに基づいて、動きベクトルを算出する動き検出部と、を備えた画像処理装置に適用することができる。
なお、前記動き検出部としては、動き検出するのに必要な過去の画像データと現在の画像データを記憶する動き検出用画像記憶部と、画像記憶部に格納された画像データを、動き検出用画像記憶部に転送する画像データ転送部と、動き検出用画像記憶部を使用して、過去の画像上の特徴点を含むテンプレート画像が現在の画像上でどこに移動したかを示す動きベクトルを算出し、その算出結果を過去の画像が入力されたときに特徴点座標を格納した過去の動き情報テーブルに格納する動き検出演算部と、過去の画像が入力されたときにフラグを立てた過去の特徴点マップを参照して、特徴点が存在する全ての画像ブロックをラスタ方向に処理するために、現時点で動きベクトルの算出を終えた画像ブロックとその画像ブロックライン上の特徴点が存在する次の画像ブロックまでの距離を計算し、その距離の値から、既に動き検出用画像記憶部に転送している画像データが、特徴点が存在する次の画像ブロックにおいて、動きベクトルの算出に使用できるかを判定し、不足している画像データのみを転送するように画像データ転送部に命令する動き検出制御部と、を備えた構成を採用できる。
実施例1の画像処理装置を示すブロック図である。 特徴点マップを示す説明図(STEP0の処理結果)である。 動き情報テーブルを示す説明図である。 3フレーム間の追跡の全体の流れを示す説明図である。 STEP1における処理の手順を示す説明図である。 STEP2における処理の手順を示す説明図である。 STEP3における処理の手順を示す説明図である。 STEP4における処理の手順を示す説明図である。 実施例1における1〜2フレーム間の追跡に関する処理等を説明するフローチャートである。 実施例1における2フレーム以降の追跡に関する処理等を説明するフローチャートである。
以下に本発明の実施例を図面と共に説明する。
a)まず、本実施例の画像処理装置の構成を説明する。
図1に示すように、画像処理装置1は、カメラ3によって撮影された動画の動きベクトルを検出する装置である。
この画像処理装置1は、画像を取り込む画像入力I/F部5と、入力画素を平滑化する平滑化処理部7と、平滑化処理された入力画素をX微分するY微分処理部9と、同様に平滑化処理された入力画素をY微分するY微分処理部11と、X微分された入力画素とY微分された入力画素から画像上の特徴となる画素である特徴点を抽出する特徴点抽出部13と、動き検出する画像単位である画像ブロック単位で特徴点がどこにあるかを示す特徴点マップ15と、画素単位の特徴点の座標位置や後に詳述する次追跡座標などを記憶する動き情報テーブル17と、画像データを記憶する画像記憶部19と、次追跡座標及び動きベクトルを算出する動き検出部21などによって構成される。
このうち、前記動き検出部21は、次追跡座標や動きベクトルの算出に必要な画像記憶部19に格納された画像データを転送する画像データ転送部21aと、転送した画像データを記憶しておく動き検出用画像記憶部21bと、動き検出用画像記憶部21bを使用して、次追跡座標や動きベクトル(1フレーム前の画像上の特徴点を含むテンプレート画像が現在の画像上でどこに移動したかを示すベクトル)を算出し、算出結果を動き情報テーブル17に格納する動き検出演算部21cと、画像上の特徴点の次追跡座標や動きベクトルを算出するために、画像データ転送部21aと動き検出演算部21cを制御する動き検出制御部21dによって構成される。
なお、この画像処理装置1のうち、画像記憶部19、動き検出用画像記憶部21b、特徴点マップ15、動き情報テーブル17が、各種のデータを記憶するメモリ部分であり、それ以外の、平滑化処理部7、X微分処理部9、Y微分処理部11、特徴点抽出部13、動き検出演算部21cが、各種データによる演算処理を行う演算処理部分である。なお、平滑化処理部7とY微分処理部9とY微分処理部11とにより前処理部22が構成されている。
ここで、画像ブロック単位の特徴点とは、画像上の特徴となる画素(例えば、X微分画像とY微分画像のエッジの交点)を示すものであり、後述する様に、特徴点マップとは、画像が複数の画像ブロックで区分された場合に、画像ブロック単位で特徴点の有無等が示してあるマップである。
なお、カメラ3によって取り込まれた画像データや演算結果等は、特徴点マップ15や動き情報テーブル17や画像記憶部19等のメモリに記憶され、前記各部7〜13、21による画像データを処理する際などの各種の演算はコンピュータにより実行される。
b)次に、図1における各ブロックの動作を説明する。
カメラ3は、モノクロ画像データを出力し、ここでは画像サイズを640×480画素のVGAサイズとする。ただし、画像サイズはこの限りではない。また、カラー画像でも問題はなく、その場合には、輝度画像を変換する機能を画像入力I/F部5に追加する必要がある。
画像入力I/F部5は、カメラ3からの出力信号から、各画素の輝度値、x座標、y座標を取り出し、平滑化処理部7に出力する。また、ここで画像データを1画素ずつ間引いて処理画像サイズを縮小してもよい。
平滑化処理部7は、内部に4ライン分のバッファを保持しており、座標値(x,y)の画素データが入力されたとき、5×5の平滑フィルタ係数に基づく畳み込み演算により、座標値(x−2,y−2)の平滑画素データを、X微分処理部9とY微分処理部11、画像記憶部19に出力する。
X微分処理部9は、平滑化処理部7と同様に、内部に4ライン分のバッファを保持しており、座標値(x,y)の画素データが入力されたとき、5×5のX微分フィルタ係数に基づく畳み込み演算により、座標値(x−2,y−2)のX微分画素データを、特徴点抽出部3、画像記録部19に出力する。
Y微分処理部11は、平滑化処理部7と同様に、内部に4ライン分のバッファを保持しており、座標値(x,y)の画素データが入力されたとき、5×5のY微分フィルタ係数に基づく畳み込み演算により、座標値(x−2,y−2)のY微分画素データを、特徴点抽出部13、画像記録部19に出力する。
なお、平滑化、X微分、Y微分のフィルタサイズの大きさは、これに限る必要は無いことは言うまでもない。
特徴点抽出部13は、動き検出する画像単位である画像ブロックの大きさを8×8画素とした場合には、8ライン分のX微分画像とY微分画像のラインバッファを2つ備えている。そして、一方のX微分画像とY微分画像のラインバッファに画像データを書き込んでいる間、他方のX微分画像とY微分画像のラインバッファを使用して、8×8画素の画像ブロックの中で最もコーナーらしい画素を抽出する。
具体的には、Harrisコーナー検出と呼ばれる周知の手法により、各画素のコーナーらしさを示す指標を計算し、その画像ブロックの中で、任意のしきい値より大きく、かつ最も高い値の画素を特徴点とする。
特徴点マップ15は、図2(B)に示す様に、どこの画像ブロックに特徴点が存在するかを示す表である。特徴点が検出できた場合には、例えば、フラグとして1を立て、検出できなかった場合にはフラグとして0を立てることができる記憶手段である。なお、特徴点マップ15は、T−1フレームの過去の画像用とTフレームの現在の画像用に2バンクの構成となっているが、それ以上のバンク構成としてもよい。
ここでの処理画像の画像ブロックは、図2(A)に示すように(図2では一部の画像ブロックのみを記載してある)、横80個×縦60個であり、外周部分の1列分の画像ブロックは、特徴点抽出に使用しない。従って、処理領域の画像ブロックは、縦78個×横58個である。なお、各画像ブロックを区別するために、ラスタ方向に沿って、1〜4524までの識別番号が順次設定してある。
動き情報テーブル17は、図3に示す様に、各画像ブロックに割り当てられた識別番号(1〜4524)を索引として、画像ブロック上の特徴点の位置や移動に関する情報などが参照できるようになっている。なお、ここでは、特徴点マップの各識別番号に対応した動き情報テーブル17の各メモリの内容をテーブルブロックと称する。なお、動き情報テーブル17は、T−1フレームの過去の画像用とTフレームの現在の画像用に2バンクの構成となっているが、それ以上のバンク構成としてもよい。
詳しくは、動き情報テーブル17には、特徴点のデータとして、特徴点の座標データ(特徴点座標:画素のx、yの座標のデータ)が記憶されている。
また、次追跡座標(即ち1フレーム前の移動ベクトルの終点:例えば連続する1、2フレーム間で特徴点が移動した座標)が記憶されている。
更に、次追跡ブロックIDが記憶されている。この次追跡ブロックIDとは、動き情報テーブル17をリスト構造とするための次オブジェクト(テーブルブロック)を指すものである。つまり、後述する様に(図6参照)、例えば識別番号3に対応したテーブルブロックに、次追跡ブロックIDとして2が記憶されていると、次に、識別番号2に対応したテーブルブロックに進み、識別番号2に対応した特徴点について、必要な演算(例えば次追跡座標や動きベクトルを算出する演算)が行われる。
画像記憶部19には、画像ブロック単位で画像データが格納される。例えば、1画素8ビット、1ワード32ビットのメモリを使用した場合には、4画素単位でデータが格納され、8×8画素の画像ブロックの場合、16ワード単位で格納される。
動き検出部21は、後に詳述するが、平滑化処理部7、X微分処理部9、Y微分処理部11の出力画素を、画像ブロック単位で画像データを記憶する画像記憶部(画像メモリ)19と、画像記憶部19に格納された1フレーム前の画像データ(平滑画像、X微分画像、Y微分画像)、現在の画像データ(平滑画像、X微分画像、Y微分画像)、特徴点マップ15、動き情報テーブル17を用いて、次追跡座標や動きベクトルを算出する処理を行う。
c)次に、本実施例の画像処理装置1にて行われる主要な処理の手順について説明する。
本実施例では、複数フレームに跨る特徴点の動きを検出するものである。
(1)ここでは、図4に示す様に、3フレーム(1〜3フレーム、3〜5フレーム・・)間における特徴点の追跡を例に挙げて説明する。なお、以下では複数の特徴点マップや動き情報テーブルを使用して説明するので、それらを、A、B、C、Dに分けて説明した。
<1〜3フレーム>
・まず、1フレーム目の画像から、その特徴点を抽出する(STEP0)。
そして、その1フレーム目の特徴点が存在する画像ブロックを特徴点マップAに記憶する。つまり、該当する画像ブロックのフラグを1に設定する。
また、1フレーム目の特徴点の座標を、動き情報テーブルAに記憶する。なお、この時には、この動き情報テーブルAには、特徴点の座標しか記憶されていない。
・次に、1、2フレームの画像データを用い、1、2フレーム間の動き検出(特徴点の動きを検出する処理)を行う(STEP1、2)。
具体的には、1、2フレームの画像データと、特徴点マップA及び動き情報テーブルAのデータ(ここでは1フレーム目の特徴点の座標データ)を用いて、1、2フレーム間で移動した特徴点の座標(次追跡座標)を求める処理を行う。つまり、1フレーム目の特徴点を有する画像ブロックが、2フレーム目のどこに移動したかを、公知の画像処理の技術によって求め、これにより、移動後の特徴点の座標である次追跡座標を求める。なお、同時に移動ベクトルを求める処理を行ってもよい。
なお、この動き検出処理については、例えば特開2008−192060号公報に記載の様な公知の手法、即ち、勾配法の一種であるKanade−Lucas−Tomasi法(KLT法)やブロックマッチング等を利用することができる。
・次に、2フレーム目の次追跡座標が存在する画像ブロックを特徴点マップBに記憶する。
また、(1フレーム目の)特徴点座標と(前記動き検出によって求めた)次追跡座標を、動き情報テーブルBに記憶する。なお、この(1フレーム目の)特徴点座標は、動き情報テーブルAからコピーする。
・次に、2、3フレームの画像データを用い、2、3フレーム間の動き検出を行う(STEP3、4)。
具体的には、2、3フレームの画像データと、特徴点マップB及び動き情報テーブルBのデータ(ここでは2フレーム目の次追跡座標のデータ)を用いて、2、3フレーム間で移動した次追跡座標を求める処理を行う。
・次に、3フレーム目の次追跡座標が存在する画像ブロックを特徴点マップAに記憶する。なお、このとき、以前の特徴点マップAや動き情報テーブルAのデータはクリアされる。
また、(1フレーム目の)特徴点座標と(前記動き検出によって求めた)次追跡座標を、動き情報テーブルAに記憶する。なお、この(1フレーム目の)特徴点座標は、動き情報テーブルBからコピーする。
・そして、2フレーム目と3フレーム目の動き検出が終了した後、1〜3フレーム間における動きベクトルの算出結果(即ち、動き情報テーブルAの各テーブルブロックの次追跡座標と特徴点座標の間のベクトル)を出力する。
<3〜5フレーム>
・まず、3フレーム目の画像から、その特徴点を抽出する。
そして、その3フレーム目の特徴点が存在する画像ブロックを特徴点マップCに記憶する。
また、3フレーム目の特徴点の座標を、動き情報テーブルCに記憶する。
・次に、3、4フレームの画像データを用い、3、4フレーム間の動き検出を行う。
具体的には、3、4フレームの画像データと、特徴点マップC及び動き情報テーブルCのデータを用いて、3、4フレーム間で移動した次追跡座標を求める処理を行う。
・次に、4フレーム目の次追跡座標が存在する画像ブロックを特徴点マップDに記憶する。
また、(3フレーム目の)特徴点座標と(前記動き検出によって求めた)次追跡座標を、動き情報テーブルDに記憶する。なお、この(3フレーム目の)特徴点座標は、動き情報テーブルCからコピーする。
・次に、4、5フレームの画像データを用い、4、5フレーム間の動き検出を行う。
具体的には、4、5フレームの画像データと、特徴点マップD及び動き情報テーブルDのデータを用いて、4、5フレーム間で移動した次追跡座標を求める処理を行う。なお、同時に移動ベクトルを求める処理を行ってもよい。
・次に、5フレーム目の次追跡座標が存在する画像ブロックを特徴点マップCに記憶する。
また、(3フレーム目の)特徴点座標と(前記動き検出によって求めた)次追跡座標を、動き情報テーブルCに記憶する。なお、この(3フレーム目の)特徴点座標は、動き情報テーブルDからコピーする。
・そして、3〜5フレーム間における動きベクトルの算出結果(即ち、動き情報テーブルCの各テーブルブロックの次追跡座標と特徴点座標の間のベクトル)を出力する。
(2)次に、前記<1〜3フレーム>の処理について、時系列に沿って更に詳細に説明する。
<STEP1>
本処理は、1フレームと2フレーム間の処理である。
図5(左図)に示す様に、例えば画像ブロック2の特徴点が画像ブロック80に移動した場合を考える。
ここで、画像ブロック2の特徴点から画像ブロック80の特徴点への動きベクトルは、1、2フレームの画像データと、特徴点マップAと動き情報テーブルAのデータ(1フレーム目の特徴点座標)を用いて算出することができる。また、次追跡点とは、画像ブロック80に移動した特徴点である。
図5(右図)に示す様に、次特徴点の存在有無は特徴点マップBに記憶される。即ち、(1フレーム目における特徴点の存在する画像ブロックを示す)画像ブロックの識別番号2が、特徴点が移動した画像ブロック80の位置に記憶される。
また、動き情報テーブルBのうち、(1フレーム目における特徴点の存在する画像ブロックを示す)画像ブロックの識別番号2に対応するテーブルブロック2には、特徴点座標X、次追跡座標Y、次追跡ブロックID Zが記憶される。
つまり、特徴点座標(即ち1フレーム目の特徴点座標)は、動き情報テーブルAからコピーされて記憶される。また、次追跡座標は、動き検出処理によって算出された値(2フレーム目に移動した特徴点の座標)が記憶される。更に、次追跡ブロックIDは、上述した様に、動き情報テーブル17をリスト構造とするための次オブジェクトを指すもの、即ち、特徴点マップBから得られた特徴点の識別番号2に対応するテーブルブロック2の次に進むテーブルブロックを指すものであり、ここで、特徴点マップBに記憶するブロックが0であれば、データの終了を示すNULLとする。
<STEP2>
本処理も、1フレームと2フレーム間の処理である。
図6(左図)に示す様に、例えば画像ブロック3の特徴点がSTEP1と同じ画像ブロック80に移動した場合を考える。
図6(右図)に示す様に、次特徴点は特徴点マップBに記憶される。即ち、(1フレーム目における別の特徴点の存在する)画像ブロックの識別番号3が、特徴点が移動した画像ブロック80の位置に記憶される。
また、動き情報テーブルBのうち、画像ブロックの識別番号3に対応するテーブルブロック3には、特徴点座標X、次追跡座標Y、次追跡ブロックID Zが記憶される。
つまり、特徴点座標は、動き情報テーブルAからコピーされて記憶され、次追跡座標は、動き検出処理によって算出された値が記憶される。また、次追跡ブロックIDは、特徴点マップBに記憶するブロックが既に2であったので、2とする。
<STEP3>
本処理は、2フレームと3フレーム間の処理である。
図7(左図)に示す様に、例えば画像ブロック80の特徴点が更に移動した場合を考える。なお、ここでは、次追跡点は、画像ブロック2の特徴点と画像ブロック3の特徴点の2つある。
特徴点マップB(図6 右図)を見ると、ラスタ方向に検索した場合に3と記載してあるので、3を索引番号として動き情報テーブルBからテーブルブロック3を取り出し、そのデータを用いて動き検出処理を行って、次追跡座標や動きベクトルを算出する。
図7(右図)に示す様に、次特徴点は(クリア後の)特徴点マップAに記憶される。即ち、(1フレーム目における別の特徴点の存在する画像ブロックを示す)画像ブロックの識別番号3が、特徴点が移動した画像ブロック158の位置に記憶される。
また、(クリア後の)動き情報テーブルAのうち、画像ブロックの識別番号3に対応するテーブルブロック3には、特徴点座標X、次追跡座標Y、次追跡ブロックID Zが記憶される。
つまり、特徴点座標は、動き情報テーブルBからコピーされて記憶され、次追跡座標は、動き検出処理によって算出された値が記憶される。また、次追跡ブロックIDは、特徴点マップAに記憶するブロックが0であれば、データの終了を示すNULLとする。
<STEP4>
本処理も、2フレームと3フレーム間の処理である。
図8(左図)に示す様に、動き情報テーブルBのテーブルブロック3の次追跡ブロックIDは2である。従って、この2を索引番号としてデータを取り出し、そのデータを用いて動き検出処理を行って、次追跡座標や動きベクトルを算出する。
図8(右図)に示す様に、次特徴点は(クリア後の)特徴点マップAに記憶される。即ち、(1フレーム目における特徴点の存在する画像ブロックを示す)画像ブロックの識別番号2が、特徴点が移動した画像ブロック157の位置に記憶される。
また、(クリア後の)動き情報テーブルAのうち、画像ブロックの識別番号2に対応するテーブルブロック2には、特徴点座標X、次追跡座標Y、次追跡ブロックIDZが記憶される。
つまり、特徴点座標は、動き情報テーブルBからコピーされて記憶され、次追跡座標は、動き検出処理によって算出された値が記憶される。また、次追跡ブロックIDは、特徴点マップAに記憶するブロックが0であれば、データの終了を示すNULLとする。
この様に、本実施例では、特徴点マップ15をラスタ方向に検索し、そこに特徴点が存在している場合には、その特徴点の識別番号を利用し、動き情報テーブル17の識別番号に該当するテーブルブロックを見出す。このテーブルブロックには、次追跡ブロックID(即ち次に処理すべきテーブルブロックを示す番号)が記憶されているので、次に、次追跡ブロックIDが示すテーブルブロックのデータ(特徴点座標や次追跡座標)を利用して、更に次追跡座標や動きベクトルを算出することができる。
従って、動き情報テーブルの検索が不要になり、複数フレームに跨る画像ブロックの動き検出する場合に、その動き検出の算出を速めて画像処理を高速化するという課題を解決できる。
次に、前記ステップ1〜4の処理を含む全体の画像処理について、図9及び図10に基づいて説明する。
この処理は、過去の画像上の特徴となる画素である特徴点を抽出して、その特徴点を含む所定の大きさを持つテンプレート画像が、現在の画像上のどこに移動したかを示す次追跡座標や動きベクトルを算出するための処理などである。
なお、図9及び図10では、処理の流れを実線で示すとともに、データの流れを破線で示している。
(1)まず、図9に基づいて、1、2フレーム間の特徴点の追跡に関する処理等について説明する。なお、本処理は、画像データが入力される毎に実施される。
図9に示すように、ステップ(S)100では、カメラ3で撮影した画像データを取り込む(画像入力I/F処理)。
続くステップ110では、取り込んだ画像データの前処理を行う。具体的には、上述した平滑化処理、X微分処理、Y微分処理を行う。
続くステップ120では、特徴点を抽出する処理を行う(特徴点抽出処理)。この特徴点抽出処理とは、前処理から得られる画像から画像ブロック単位で特徴点を抽出し、かつ、特徴点が抽出できた場合には、画像ブロックに特徴点が存在するフラグを特徴点マップに立て、特徴点の位置を動き情報テーブルに格納する処理である。
また、この特徴点抽出処理とは別に(並列に)、平滑化した画像データを画像記憶部19に記憶する処理を行う。
続くステップ130では、特徴点が存在する全ての画像ブロックの次追跡座標や動きベクトルの算出を終了したかを判断する(終了判定処理)。ここで肯定判断されると本処理を終了し、否定判断されるとステップ140に進む。
ステップ140では、画像データ転送量判断処理を行う。この画像データ転送量判断処理とは、過去の画像が入力されたときにフラグを立てた他方(過去)の特徴点マップ(ここでは(T−2フレーム)の特徴点マップ)を参照して、特徴点が存在する全ての画像ブロックをラスタ方向に処理するために、現時点で動きベクトルの算出を終えた画像ブロックとその画像ブロックライン上の特徴点が存在する次の画像ブロックまでの距離を計算し、距離の値から、既に動き検出用画像記憶部21bに転送している画像データが、特徴点が存在する次の画像ブロックにおいて、動きベクトルの算出に使用できるか判定し、不足している画像データ量を明らかにする処理である。
なお、ここでは、(T−2フレーム目)の特徴点マップと(T−2フレーム目)の動き情報テーブルが、前記図4の特徴点マップAと動き情報テーブルAに相当し、(T−1フレーム目)の特徴点マップと(T−1フレーム目)の動き情報テーブルが、前記図4の特徴点マップBと動き情報テーブルBに相当する(なお、ここでは、T=3フレームとしたときの例を挙げる)。
続くステップ150では、上記画像データ量分だけ、画像記憶部19から動き検出用画像記憶部21に転送する(画像データ転送処理)。
続くステップ160では、動き検出演算処理を行う。この動き検出演算処理とは、動き検出用画像記憶部21bを使用して、過去の画像上の特徴点を含むテンプレート画像が現在の画像上でどこに移動したかを示す次追跡座標や動きベクトルを算出し、算出結果を動き情報テーブルに格納する処理である。なお、上述した説明では次追跡座標を格納する例について説明した。
ここで、前記ステップ130〜160の処理が、動き検出部21にて行われる動き検出処理(次追跡座標や動きベクトルを算出する処理)であり、この動き検出処理が、前記図4のSTEP1、2に相当する。
なお、前記ステップ100〜120の処理と、ステップ130〜160の処理は、並列して処理される。
従って、上述した処理によって、特徴点を含む所定の大きさを持つテンプレート画像が、現在の画像上のどこに移動したかを示す次追跡座標や動きベクトルを算出することができる。
(2)次に、図10に基づいて、2フレーム以降の特徴点の追跡に関する処理等について説明する。
図10に示すように、ステップ200では、特徴点が存在する全ての画像ブロックの次追跡座標や動きベクトルの算出を終了したかを判断する(終了判定処理)。ここで肯定判断されると本処理を終了し、否定判断されるとステップ210に進む。
ステップ210では、画像データ転送量判断処理を行う。この画像データ転送量判断処理は、(T−2フレーム)の特徴点マップを参照して、特徴点が存在する全ての画像ブロックをラスタ方向に処理するために、現時点で動きベクトルの算出を終えた画像ブロックとその画像ブロックライン上の特徴点が存在する次の画像ブロックまでの距離を計算し、距離の値から、既に動き検出用画像記憶部21bに転送している画像データが、特徴点が存在する次の画像ブロックにおいて、動きベクトルの算出に使用できるか判定し、不足している画像データ量を明らかにする処理である。
なお、ここでは、(T−2フレーム目)の特徴点マップと(T−2フレーム目)の動き情報テーブルが、前記図4の特徴点マップBと動き情報テーブルBに相当し、(T−1フレーム目)の特徴点マップと(T−1フレーム目)の動き情報テーブルが、前記図4の特徴点マップAと動き情報テーブルAに相当する(なお、ここでは、T=4フレームとしたときの例を挙げる)。
続くステップ220では、上記画像データ量分だけ、画像記憶部19から動き検出用画像記憶部21bに転送する(画像データ転送処理)。
続くステップ230では、動き検出演算処理を行う。この動き検出演算処理とは、動き検出用画像記憶部21bを使用して、過去の画像上の特徴点を含むテンプレート画像が現在の画像上でどこに移動したかを示す次追跡座標や動きベクトルを算出し、算出結果を動き情報テーブルに格納する処理である。
続くステップ240では、継続判定処理を行う。即ち、他に次追跡点があるか否かを判定する。ここで肯定判断されると前記ステップ230に戻り、一方否定判断されると前記ステップ200に戻る。
つまり、次追跡ブロックIDを確認し、それがNULLでない場合には、他に次追跡点があるとみなされるので、次追跡ブロックIDの示すテーブルブロックのデータを利用して、再度ステップ200に進んで、動き検出演算処理を行うのである。
ここで、前記ステップ200〜240の処理が、動き検出部21にて行われる動き検出処理(次追跡座標や動きベクトルを算出する処理)であり、この動き検出処理が、前記図4のSTEP3、4に相当する。
従って、上述した処理によって、特徴点を含む所定の大きさを持つテンプレート画像が、現在の画像上のどこに移動したかを示す次追跡座標や動きベクトルを算出することができる。
なお、上述した処理のうち、各画像ブロックラインの処理については、特開平2008−192060号公報の図14のステップ200〜320の処理と同様な内容であり、現在の処理ブロックと次の特徴点が存在する画像ブロックまでの距離を特徴点マップから求め、その値から、既に転送している画像データが次の動き検出演算に使用できるかどうか判定し、不足しているデータのみを転送するようにデータ転送を最小とするように制御する。
具体的には、現在処理を終えた画像ブロックと次の特徴点が存在する画像ブロックまでの距離(単位:画像ブロック)を求める。そして、例えば距離値が3画像ブロック以下であれば、隣り合う画像ブロックのデータを利用できるので、動き検出処理するのに不足している画像データ(3個×6枚の画像データ)のみを転送(バースト転送)し、4画像ブロック以上であれば9個×6枚の画像データを転送(スキップ転送)する。なお、画像データの個数とは画像ブロックの個数であり、6枚の画像データとは、T−1,Tの、平滑化画像、X微分画像、Y微分画像である。
同様の処理を、同じ画像ブロックライン上の特徴点が存在する画像ブロックについて、全て処理するまで繰り返す。さらに、これらの処理を全画像ブロックラインに対して適用する。
以上の構成により、特徴点が存在する画像ブロックを処理するために必要な画像データのみを転送し、高速に動きベクトルを検出することができる。
尚、本発明は上記実施例に限定されるものではなく、様々な態様にて実施することが可能である。
例えば動き情報テーブルには、次追跡座標だけでなく、動きベクトルを記憶してもよい。また、動きベクトルは、次追跡座標の算出とは(画像処理の際の必要に応じて)別のタイミングで行ってもよい。なお、移動前後の次追跡座標などから、動きベクトルを算出することができる。
1…画像処理装置
3…カメラ
5…画像入力I/F部
7…平滑化処理部
9…X微分処理部
11…Y微分処理部
13…特徴点抽出部
15…特徴点マップ
17…動き情報テーブル
19…画像記憶部
21…動き検出部

Claims (4)

  1. 過去の画像上の特徴となる画素である特徴点を抽出して、その特徴点を含む所定の大きさを持つテンプレート画像が、複数のフレーム間に渡って、現在の画像上のどこに移動したかを示す移動情報を算出する画像処理装置であって、
    所定のフレームと該フレームの次のフレームに対応して、それぞれ、
    前記画像処理装置に取り込まれた画像上の特徴点が、動き検出する画像単位である画像ブロック単位でどこに存在するかを、識別番号で区分して示す特徴点マップと、
    前記移動情報を算出する際に用いるデータを格納するテーブルブロックを、前記特徴点マップの識別番号順に設定した動き情報テーブルと、
    を備え、
    前記次のフレームに対応した前記動き情報テーブルには、各テーブルブロック毎に、前記画素単位で抽出された特徴点の位置のデータと、前記特徴点の移動後の位置のデータである次追跡点の位置のデータと、次に処理するデータを格納したテーブルブロックを示す次追跡ブロック識別番号と、を記憶しており、
    且つ、前記次のフレームに対応した特徴点マップにおける前記所定のフレームと前記次のフレームとの間に移動した特徴点の移動後の画像ブロックの位置に、移動前の特徴点の識別番号αを格納する機能を備えるとともに、
    前記特徴点の移動後の位置に該当する前記次のフレームに対応した特徴点マップの画像ブロックに記憶されていた識別番号βを、前記次追跡ブロック識別番号として格納する機能を備え、
    前記次のフレームに対応した特徴点マップにおける前記特徴点の移動後の位置に該当する画像ブロックに格納された前記移動前の特徴点の識別番号αを索引として、前記次のフレームに対応した動き情報テーブルにおいて処理すべきテーブルブロックを決定し、更に、該テーブルブロックに記憶された次追跡ブロック識別番号βを索引として、次に処理すべきテーブルブロックを決定することを特徴とする画像処理装置。
  2. 前記動き情報テーブルにおいて処理すべきテーブルブロックを決定した場合には、
    該テーブルブロックに格納された次追跡点の位置のデータと、次追跡点決定以降の移動前後の画像データとを用いて、前記移動情報を算出することを特徴とする請求項1に記載の画像処理装置。
  3. 前記画像の1フレーム目から2フレーム目の変化に応じて、過去の画像上の特徴点を含むテンプレート画像が現在の画像上でどこに移動したかを示す移動情報を算出し、その算出結果を、過去の画像の特徴点座標を格納した第1の動き情報テーブルに格納する第1の処理を実施し、
    前記画像の2フレーム目以降は、特徴点マップに記憶された画像ブロックの識別番号を索引として、前記第1の動き情報テーブルから次追跡点の位置のデータと次追跡ブロック識別番号を抽出し、その次追跡点の位置のデータを基に移動情報を算出し、その算出結果を、過去の画像の特徴点座標を格納した第2の動き情報テーブルに格納する第2の処理を実施することを特徴とする請求項1又は2に記載の画像処理装置。
  4. 次追跡ブロック識別番号が0を示す値になるまで、前記第2の処理を繰り返すことを特徴とする請求項3に記載の画像処理装置。
JP2009055401A 2009-03-09 2009-03-09 画像処理装置 Expired - Fee Related JP5126124B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009055401A JP5126124B2 (ja) 2009-03-09 2009-03-09 画像処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009055401A JP5126124B2 (ja) 2009-03-09 2009-03-09 画像処理装置

Publications (2)

Publication Number Publication Date
JP2010211398A JP2010211398A (ja) 2010-09-24
JP5126124B2 true JP5126124B2 (ja) 2013-01-23

Family

ID=42971512

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009055401A Expired - Fee Related JP5126124B2 (ja) 2009-03-09 2009-03-09 画像処理装置

Country Status (1)

Country Link
JP (1) JP5126124B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110033476A (zh) * 2018-01-11 2019-07-19 富士通株式会社 目标速度估计方法、装置和图像处理设备
CN110428445B (zh) * 2019-06-26 2023-06-27 西安电子科技大学 一种分块跟踪方法及其装置、设备、存储介质
CN114155561B (zh) * 2022-02-08 2022-09-09 杭州迪英加科技有限公司 一种幽门螺杆菌定位方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006172064A (ja) * 2004-12-15 2006-06-29 Nissan Motor Co Ltd 物体追跡装置、および方法
JP4775277B2 (ja) * 2007-02-07 2011-09-21 株式会社デンソー 画像処理装置及び画像処理方法

Also Published As

Publication number Publication date
JP2010211398A (ja) 2010-09-24

Similar Documents

Publication Publication Date Title
CN109409366B (zh) 基于角点检测的畸变图像校正方法及装置
CN109376681B (zh) 一种多人姿态估计方法及系统
JP4775277B2 (ja) 画像処理装置及び画像処理方法
US8792727B2 (en) Image processing device, image processing method, and program
JP5445467B2 (ja) クレジット情報区間検出方法、クレジット情報区間検出装置及びクレジット情報区間検出プログラム
EP3376470B1 (en) Moving body tracking method, moving body tracking device, and program
US20200082544A1 (en) Computer vision processing
CN103279952A (zh) 一种目标跟踪方法和装置
CN104508680A (zh) 改善之视讯追踪
US9256792B2 (en) Image processing apparatus, image processing method, and program
CN112580447B (zh) 一种基于边缘二阶统计与融合的电力线检测方法
JP5126124B2 (ja) 画像処理装置
JP4649559B2 (ja) 3次元物体認識装置、並びに3次元物体認識プログラム及びこれが記録されたコンピュータ読み取り可能な記録媒体
US20100014716A1 (en) Method for determining ground line
CN110517285B (zh) 基于运动估计me-cnn网络的大场景极小目标跟踪
JP3936683B2 (ja) 道路位置検出装置及びプログラム
CN109977740B (zh) 一种基于深度图的手部跟踪方法
JP4842301B2 (ja) 歩行者検出装置及びプログラム
CN114550062A (zh) 图像中运动对象的确定方法、装置、电子设备和存储介质
JP4133246B2 (ja) 画像変形情報生成装置、画像変形情報生成方法及び画像変形情報生成プログラム
JP2000132692A (ja) 曲線の特徴点抽出方法及びこの方法を記録した記録媒体
JP2017027363A (ja) 映像処理装置、映像処理方法、及びプログラム
CN111222514A (zh) 一种基于视觉定位的局部地图优化方法
CN113033593A (zh) 基于深度学习的文本检测训练方法及装置
KR101727432B1 (ko) 단계별 영상을 이용한 객체 인식 성능 향상 장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110524

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120803

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121002

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121015

R151 Written notification of patent or utility model registration

Ref document number: 5126124

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151109

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees