JP2013164643A - 画像認識装置、画像認識方法および画像認識プログラム - Google Patents

画像認識装置、画像認識方法および画像認識プログラム Download PDF

Info

Publication number
JP2013164643A
JP2013164643A JP2012025874A JP2012025874A JP2013164643A JP 2013164643 A JP2013164643 A JP 2013164643A JP 2012025874 A JP2012025874 A JP 2012025874A JP 2012025874 A JP2012025874 A JP 2012025874A JP 2013164643 A JP2013164643 A JP 2013164643A
Authority
JP
Japan
Prior art keywords
window
image
temporary
image recognition
raster scan
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.)
Pending
Application number
JP2012025874A
Other languages
English (en)
Inventor
Hiroyuki Akimoto
広幸 秋元
Junji Kanemoto
淳司 金本
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.)
Nidec Elesys Corp
Original Assignee
Honda Elesys Co Ltd
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 Honda Elesys Co Ltd filed Critical Honda Elesys Co Ltd
Priority to JP2012025874A priority Critical patent/JP2013164643A/ja
Priority to US13/761,705 priority patent/US9323999B2/en
Publication of JP2013164643A publication Critical patent/JP2013164643A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/255Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/446Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering using Haar-like filters, e.g. using integral image techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/08Detecting or categorising vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Abstract

【課題】画像認識の効率化を図ることができる画像認識装置、画像認識方法および画像認識プログラムを提供する。
【解決手段】画像認識装置(例えば、画像認識装置の一例であるカメラECU1)は、画像を取得する画像取得部12と、前記画像取得部12により取得された画像について特徴点を抽出し、抽出した特徴点について3次元空間座標系の座標を検出し、当該検出結果に基づいて、目標物体を認識するために使用するラスタスキャン領域を決定する物体認識部13と、を備えることを特徴とする。
【選択図】図1

Description

本発明は、画像認識装置、画像認識方法および画像認識プログラムに関する。
近年、車両の運転支援装置や予防安全装置として、車間距離制御装置(ACC:Adaptive Cruise Control)や前方車両衝突警報装置(FCW:Forward Collision Warning)や歩行者衝突警報装置などがあり、車載カメラを用いる安価な装置の普及が期待されている。
車載カメラを用いる物体の認識には、パターン認識が多く用いられている(例えば、特許文献1参照。)。
パターン認識による物体認識アルゴリズムは、Haar−likeやHOG(Histograms of Oriented Gradients)などの特徴量に、AdaBoostやSVM(Support Vector Machine)などの識別器を組み合わせて構成する。
また、パターン認識では、撮像した画像の中から目標物体(目標物体の画像)を抽出するために、物体認識する画像の領域(ウィンドウ)を各サイズで設定し、そのウィンドウ毎に前記した物体認識のアルゴリズムの処理を施す。
他のアプロ―チとして、車載ステレオカメラや単眼カメラからの画像に基づいて走行環境の3次元構造を推定し、物体の検知を行う方式が考えられている。
例えば、車載の単眼カメラを例にすると、得られる時系列画像を用いる手法(本願において、3D解析手法と呼ぶ)がある(例えば、特許文献2参照。)。
3D解析手法では、時間差がある画像(例えば、時刻tの画像、時刻t−1の画像など)から特徴点とオプティカルフロー等を計算し、自車両の運動を推定した後に、目標物体や障害物等の検出を行う。但し、目標物体を認識する性能は パターン認識の方が有利である。
なお、図18を参照して、背景技術に係る物体認識部(例えば、図1に示される物体認識部13に対応する処理部)により行われるパターン認識の処理について説明する。
図18は、背景技術に係る物体認識部により行われる処理の手順の一例を示すフローチャート図である。
この例では、HOG特徴量とReal AdaBoostの識別器により、認識アルゴリズムを構成している。
まず、物体認識部は、取得した全ての輝度画像に対して、勾配方向と勾配強度を算出し、それぞれの勾配方向毎に勾配強度を積分する処理を行い、この結果である積分勾配画像(インテグラルヒストグラム)を算出する(ステップS1001)。これにより、勾配方向数枚の積分勾配画像が算出される。
次に、物体認識部は、ラスタスキャンにより、勾配方向毎の各積分勾配画像の任意の領域を、あらかじめ設定した任意のスケール(サイズ)の座標領域(ウィンドウ)をスライドさせながら抽出する(ステップS1002)。
なお、積分勾配画像を用いる場合には、ラスタスキャンする画像が勾配方向の枚数分必要となるため、例えば、Haar−like特徴量を用いる積分画像(インテグラルイメージ)をラスタスキャンする場合以上に処理負荷が重くなる。
このように、HOG特徴量の代わりにHaar−like特徴量を用いる場合には、積分勾配画像の代わりに通常の積分輝度画像を用いることから、1つの積分画像の作成で済ませることができるため処理を節減することが可能となるが、例えば、特定領域の輝度差の特徴のみを捉えられるだけに限られ、勾配方向毎で特徴を捉えることができない。
次に、物体認識部は、抽出した座標領域(ウィンドウ)について、HOG特徴量(ベクトル)を算出する(ステップS1003)。これにより、セル単位で勾配ヒストグラムを作成する。
次に、物体認識部は、算出したHOG特徴量(ベクトル)を用いて、Real AdaBoostの識別器による識別を行い、あらかじめ目標(ターゲット)として学習している物体(物体の画像)を認識する(ステップS1004)。
ここで、物体認識部は、一連のラスタスキャンが終了したか否かを確認する(ステップS1005)。
そして、物体認識部は、一連のラスタスキャンが終了したと判定した場合には、本処理を終了する。
一方、物体認識部は、一連のラスタスキャンが終了していないと判定した場合には、ラスタスキャンの領域において、ウィンドウをずらして(スライドさせて)、ステップS1002の処理へ移行する。
これにより、物体認識部は、一連のラスタスキャンが終了するまで、ラスタスキャンの領域に対して、順次、ウィンドウをスライドさせて、ステップS1002〜ステップS1004の処理を繰り返して行う。
なお、一連のラスタスキャンでは、例えば、任意の画像領域に対して、同一のスケール(大きさ)のウィンドウを順次スライドさせて前記の処理を繰り返して行うことが終了した後に、ウィンドウのスケールや移動ステップ(スキャンステップ)を変化させて、再び、ウィンドウを順次スライドさせて前記の処理を繰り返して行うことを、あらかじめ定められた分だけ実行する。これにより、特徴ベクトル化を行う。
また、勾配ヒストグラムを作成する処理の方法としては、積分勾配画像を使用しない方法もあるが、積分勾配画像を使用する方法の方が処理時間を速くすることができるため有効である。
図18に示される物体認識の処理に関し、画像取得からラスタスキャンまでの処理の概略的な一例を示す。
図2は、画像取得からラスタスキャンまでの処理の概略的な一例を示す図である。
背景技術に係るカメラ(例えば、図1に示されるカメラ11に対応するもの)により撮像される画像のデータが、背景技術に係る画像取得部(例えば、図1に示される画像取得部12に対応する処理部)により入力画像101のデータとして取得される。
例えば、この画像には、道路と前方の車両が映っている。
背景技術に係る物体認識部(例えば、図1に示される物体認識部13に対応する処理部)では、勾配強度画像102に示されるように、複数の勾配方向(この例では、方向1〜方向8の8方向)のそれぞれについて、勾配強度を算出する。
そして、物体認識部では、勾配方向毎に、勾配強度の積分画像を、積分勾配画像103として作成する(図18に示されるステップS1001の処理)。
次に、物体認識部では、ラスタスキャンの領域104において、ウィンドウのスキャンを行う(図18に示されるステップS1002の処理)。
ここで、このラスタスキャンでは、全方向の積分勾配画像をラスタスキャンする必要があるため、処理負荷が大きくなる。
図18に示されるステップS1002の処理におけるラスタスキャンに関し、スケールの可変と移動ステップ(ステップ幅)の可変について示す。
ラスタスキャンでは、例えば、スケールSCと移動ステップdx、dyを可変に変化させてスキャンする。
図3(A)、(B)は、ラスタスキャンのスケールと移動ステップの例を示す図である。
この例では、ラスタスキャンのスケールと移動ステップの組み合わせのパターンが4個以上あるとする。
図3(A)は、第1のパターンにおけるラスタスキャンのスケールSC1と移動ステップdx1、dy1の一例を示す図である。
この例では、ラスタスキャン領域201において、横(水平)方向のx軸方向と縦(垂直)方向のy軸方向とのそれぞれについてスケールSC1の長さを有する正方形のウィンドウ202を、あらかじめ定められた初期位置に、設定する。そして、このウィンドウ202を、x軸方向に移動ステップdx1ずつスライドさせていくことと、y軸方向に移動ステップdy1ずつスライドさせていくことを行う。
図3(B)は、第4のパターンにおけるラスタスキャンのスケールSC4と移動ステップdx4、dy4の一例を示す図である。
この例では、ラスタスキャン領域211において、横(水平)方向のx軸方向と縦(垂直)方向のy軸方向とのそれぞれについてスケールSC4の長さを有する正方形のウィンドウ212を、あらかじめ定められた初期位置に、設定する。そして、このウィンドウ212を、x軸方向に移動ステップdx4ずつスライドさせていくことと、y軸方向に移動ステップdy4ずつスライドさせていくことを行う。
ここで、この例では、第1のパターンにおけるラスタスキャンのスケールSC1および移動ステップdx1、dy1の値と、第4のパターンにおけるラスタスキャンのスケールSC4および移動ステップdx4、dy4の値とは異なっている。
この例では、一例として、それぞれのパターンにおけるラスタスキャンのスケールSCが異なっており、そのスケールSCに比例した大きさを有する移動ステップdx、dyを用いている。また、この例では、一例として、それぞれのパターンにおけるx軸方向の移動ステップdxとy軸方向の移動ステップdyとを同じ値にしている。
なお、他の構成例として、正方形以外の形状(例えば、正方形ではない矩形)を有するウィンドウが用いられてもよい。ここで、本願では、矩形は、長方形ばかりでなく、正方形も含む。
また、他の構成例として、あるパターンにおけるx軸方向の移動ステップdxとy軸方向の移動ステップdyとを異なる値としてもよい。
特開2007−310805号公報 特開2011−146017号公報
山口他、「車載単眼カメラによる車両前方の障害物検出」、2005−CVIM−151(10) 「ディジタル画像処理」、CG−ARTS協会、p.252−267 David A.Forsyth,Jean Ponce,"Computer Vision A Modern Approach",Prentice Hall
しかしながら、パターン認識による物体認識アルゴリズムは、特徴量の数や識別器の種類による差異はあるものの、一般的に、比較的、演算処理時間を要する(つまり、演算負荷が重い)処理である。
しかも、撮像画像の中の目標物体(目標物体の画像)を認識するためのウィンドウを、画像中でラスタスキャンする必要がある。また、ラスタスキャンの範囲としては、物体が存在する可能性のある領域を抜け漏れなく走査する必要があるため、ほぼ撮像画像の全領域に近い領域についてラスタスキャンを行うことになる。
また、パターン認識の結果の精度を上げるためには、ラスタスキャンの移動ステップやウィンドウのスケール(例えば、物体の大きさや距離に依存する)を細かく設定することが必要になるため、ウィンドウの数が増える。
一例として、車載用の物体認識アプリケーションを実行する場合には、目標物体の種類にもよるが、通常は、目標物体の数が100個以上となることはない。このため、実際には目標物体が存在しないウィンドウの方がその数が膨大となり、処理時間的には、ほとんどのウィンドウによる処理の時間が結果的に無駄な時間となってしまう。具体例として、1万回スキャンすると、9千9百回以上が不要となってしまう。
このように、パターン認識による物体認識アルゴリズムの処理時間は、ラスタスキャンするウィンドウの数に対して、単純には、掛け算の関係で増大することとなるため、例えば、高速のCPU(Central Processing Unit)を搭載したパーソナルコンピュータ(PC:Personal Computer)等での処理をそのまま車載用などの装置に実装(組み込み)することは困難であった。
本発明は、このような事情を考慮して為されたものであり、画像認識の効率化を図ることができる画像認識装置、画像認識方法および画像認識プログラムを提供することを目的としている。
(1)上述した課題を解決するために、本発明に係る画像認識装置は、画像を取得する画像取得部と、前記画像取得部により取得された画像について特徴点を抽出し、抽出した特徴点について3次元空間座標系の座標を検出し、当該検出結果に基づいて、目標物体を認識するために使用するラスタスキャン領域を決定する物体認識部と、を備えることを特徴とする。
(2)本発明は、上記した(1)に記載の画像認識装置において、前記物体認識部は、抽出した複数の特徴点のそれぞれに関して検出した3次元空間座標系の座標における距離の情報と、前記抽出した複数の特徴点のそれぞれに関する前記距離以外の位置の情報に基づいて、仮のウィンドウを生成して、生成した仮のウィンドウの統合を行って、ラスタスキャン領域を作成する、ことを特徴とする。
(3)本発明は、上記した(2)に記載の画像認識装置において、前記物体認識部は、前記仮のウィンドウの統合の最終的な結果として得られる仮のウィンドウの領域をラスタスキャン領域として決定する、ことを特徴とする。
(4)本発明は、上記した(2)または上記した(3)に記載の画像認識装置において、前記物体認識部は、抽出した複数の特徴点のそれぞれに関して検出した3次元空間座標系の座標における距離の情報に基づいて仮のウィンドウのサイズを設定するとともに、前記抽出した複数の特徴点のそれぞれに関する前記距離以外の位置の情報に基づいて当該仮のウィンドウの位置を設定し、サイズおよび位置が設定された複数の仮のウィンドウの統合を、あらかじめ定められた条件式を用いて、行う、ことを特徴とする。
(5)本発明は、上記した(4)に記載の画像認識装置において、前記物体認識部は、前記複数の仮のウィンドウの統合において、2つの仮のウィンドウの関係が前記条件式の条件を満たす場合には、当該2つの仮のウィンドウの両方を含む新たな仮のウィンドウに統合する、ことを特徴とする。
(6)本発明は、上記した(2)から上記した(5)のいずれか1つに記載の画像認識装置において、前記物体認識部は、前記仮のウィンドウの統合の最終的な結果として得られる仮のウィンドウの元となったそれぞれの仮のウィンドウのウィンドウ幅に基づいてラスタスキャンの移動ステップを決定する、ことを特徴とする。
(7)本発明は、上記した(2)から上記した(6)のいずれか1つに記載の画像認識装置において、前記物体認識部は、前記仮のウィンドウの統合の最終的な結果として得られる仮のウィンドウの元となったそれぞれの仮のウィンドウのウィンドウ幅に基づいてラスタスキャンで使用するウィンドウのスケールを決定する、ことを特徴とする。
(8)本発明は、上記した(1)から上記した(7)のいずれか1つに記載の画像認識装置において、前記物体認識部は、抽出した複数の特徴点のそれぞれに関して検出した3次元空間座標系の座標における高低の情報に基づいて、当該高低の情報があらかじめ定められた条件を満たす特徴点については、ラスタスキャン領域を決定する処理の対象から除外する、ことを特徴とする。
(9)上述した課題を解決するために、本発明に係る画像認識方法は、画像取得部が、画像を取得し、物体認識部が、前記画像取得部により取得された画像について特徴点を抽出し、抽出した特徴点について3次元空間座標系の座標を検出し、当該検出結果に基づいて、目標物体を認識するために使用するラスタスキャン領域を決定する、ことを特徴とする。
(10)上述した課題を解決するために、本発明に係る画像認識プログラムは、画像取得部が、画像を取得する手順と、物体認識部が、前記画像取得部により取得された画像について特徴点を抽出し、抽出した特徴点について3次元空間座標系の座標を検出し、当該検出結果に基づいて、目標物体を認識するために使用するラスタスキャン領域を決定する手順と、をコンピュータに実行させるためのプログラムである。
以上説明したように、本発明によれば、画像認識の効率化を図ることができる画像認識装置、画像認識方法および画像認識プログラムを提供することが可能になる。
本発明の一実施形態に係る画像認識システムの構成(ハードウェア構成)を示す概略ブロック図である。 画像取得からラスタスキャンまでの処理の概略的な一例を示す図である。 (A)、(B)は、ラスタスキャンのスケールと移動ステップの例を示す図である。 本発明の一実施形態に係る物体認識部により行われる処理の手順の一例を示すフローチャート図である。 本発明の一実施形態に係る物体認識部により行われるラスタスキャン領域推定処理の手順の一例を示すフローチャート図である。 特徴点のカメラ座標における距離Zの値と仮のウィンドウ幅との関係(相関)を表す特性のグラフの一例を示す図である。 (A)および(B)は特徴点の位置と仮のウィンドウの位置との関係の例を示す図である。 仮のウィンドウのグルーピングを行う処理の様子の例を示す図である。 本発明の一実施形態に係る物体認識部により行われる仮のウィンドウのグルーピング(統合)の処理の手順の一例を示すフローチャート図である。 (A)、(B)、(C)はグルーピング(統合)の処理の例を示す図である。 グルーピングウィンドウの元となった仮のウィンドウのウィンドウ幅とステップ幅との関係(相関)を表す特性のグラフの一例を示す図である。 グルーピングウィンドウの元となった仮のウィンドウのウィンドウ幅とスケールとの関係(相関)を表す特性のグラフの一例を示す図である。 ラスタスキャンの様子の例を示す図である。 (A)はオリジナル画像の一例を示す図であり、(B)は累積行加算の結果の一例を示す図であり、(C)は積分画像の一例を示す図である。 (A)および(B)はHaar−like特徴量を説明するための図である。 (A)は輝度画像の一例を示す図であり、(B)は勾配の一例を示す図であり、(C)は勾配強度の一例を示す図であり、(D)は勾配方向の一例を示す図である。 (A)および(B)はHOG特徴量を説明するための図である。 背景技術に係る物体認識部により行われる処理の手順の一例を示すフローチャート図である。
[用語の説明]
勾配方向特徴量は、画像の輝度の勾配方向と勾配強度に関する特徴量のことである。なお、勾配強度は、情報量を低減した公知の勾配度数を用いることもできる。本願において、勾配強度と勾配度数を含む、広義の勾配値を勾配量と定義する。
本願において、積分勾配画像(インテグラルヒストグラム)は、画像の輝度について勾配方向と勾配量(勾配強度、または、勾配度数)を算出して、それぞれの勾配方向毎に勾配量(勾配強度、または、勾配度数)を積分した結果(積分勾配値)のことである。ここで、この積分は、例えば、積分勾配画像を求める対象となる領域に含まれる全ての画素(pixel(ピクセル))について行われる。
また、識別器としては、Real AdaBoostの識別器や、AdaBoostの識別器や、SVMの識別器など、様々なものを含む。
また、識別器の下位概念として、アンサンブル学習を行う識別器があり、その下位概念として、Boostingの識別器があり、その下位概念として、Real AdaBoostの識別器などがある。
ここで、Boostingは、複数の弱識別器を使用してアンサンブル学習を行うものである。
[実施形態]
本実施形態では、車両に搭載される車載用の画像認識システムを例として説明する。
図1は、本発明の一実施形態に係る画像認識システムの構成(ハードウェア構成)を示す概略ブロック図である。
本実施形態に係る画像認識システムは、カメラECU(Electronic Control Unit)1と、警報装置2と、ACC−ECU3と、を備える。
なお、カメラECU1は、画像認識装置の一例である。
カメラECU1は、カメラ11と、画像取得部12と、物体認識部13と、制御部14と、を備える。
物体認識部13は、本実施形態では、FPGA(Field Programmable Gate Array)21の機能と、マイクロコンピュータ22の機能と、を用いて構成される。
なお、FPGA21の機能の代わりに、または、FPGA21の機能と共に、DSP(Digital Signal Processor)の機能が用いられてもよい。
制御部14は、本実施形態では、マイクロコンピュータ22の機能を用いて構成される。
また、物体認識部13および制御部14のメモリおよび周辺回路は、FPGA、DSP、マイクロコンピュータ内の集積回路に格納されているものを使用するか、もしくはそれらの外部に設けても良い。
ここで、物体認識部13および制御部14において、FPGA、DSP、マイクロコンピュータといったデバイスについては、任意の数のデバイスが用いられてもよく、例えば、全てのデバイスが用いられてもよく、または、必ずしも全てのデバイスが必要ではなく、1つのデバイスあるいは2つのデバイスに全ての処理の機能を実装することも可能である。
本実施形態に係る画像認識システムに備えられる各処理部の概要を説明する。
カメラ11は、本実施形態では、車両の前方、側方または後方等のようにあらかじめ定められた方向の画像を撮像する車両位置に設けられる。
カメラ11は、画像を撮像し、撮像した画像の信号を画像取得部12に出力する。
画像取得部12は、カメラ11からの画像を画像データとして取り込み、取り込んだ画像データを物体認識部13に出力する。
物体認識部13は、画像取得部12から入力される画像データについて、FPGA21やマイクロコンピュータ22により、物体認識のために、画像処理およびパターン認識の演算を行い、物体認識の処理の結果の情報を制御部14に出力する。この画像処理としては、例えば、前処理のフィルタリング処理などが行われる。
また、パターン認識の結果の情報としては、例えば、画像データの画像中における目標物体の情報が用いられる。
制御部14は、物体認識部13から入力される物体認識の処理の結果の情報に基づいて、あらかじめ定められた処理を行い、その結果の情報を警報装置2やACC−ECU3に出力する。
具体例として、制御部14は、物体認識部13から入力される物体認識の処理の結果の情報である目標物体の情報に基づいて、あらかじめ定められた処理として、目標物体との間のTTC(Time to Collision)や距離を算出する処理や、目標物体のトラッキングを行う処理や、他の装置やECU(本実施形態では、警報装置2やACC−ECU3)のアプリケーション機能と通信する処理などを行う。
警報装置2やACC−ECU3は、カメラECU1の制御部14を介して各アプリケーション機能を実行するように設けられる。
警報装置2は、制御部14から入力される情報に基づいて、例えば、目標物体が前方の車両である場合における前方車両衝突警報や、目標物体が歩行者である場合における歩行者衝突警報などを行う。
ACC−ECU3は、制御部14から入力される情報に基づいて、例えば、目標物体が前方の車両である場合における車間距離制御などを行う。
図4を参照して、本実施形態に係る物体認識部13により行われる処理について説明する。
図4は、本実施形態に係る物体認識部13により行われる処理の手順の一例を示すフローチャート図である。
この例では、HOG特徴量とReal AdaBoostの識別器により、認識アルゴリズムを構成している。
なお、概略的には、図4に示される本実施形態に係るフローチャートにおけるステップS101の処理、ステップS103の処理、ステップS104の処理、ステップS105の処理、ステップS106の処理は、それぞれ、図18に示されるフローチャートにおけるステップS1001の処理、ステップS1002の処理、ステップS1003の処理、ステップS1004の処理、ステップS1005の処理と同様である。
そして、図4に示される本実施形態に係るフローチャートでは、ステップS101の処理とステップS103の処理との間に、ステップS102の処理(ラスタスキャン領域推定の処理)が追加されている。本実施形態では、この処理(ラスタスキャン領域推定の処理)は、ラスタスキャンによるパターン認識のループの処理(ステップS103の処理〜ステップS106の処理)を開始する前に行われる。
図4に示される本実施形態に係るフローチャートにおいて、まず、物体認識部13は、取得した輝度画像に対して、輝度画像から勾配方向と勾配強度を算出して勾配方向毎に勾配強度を積分する処理を行い、この結果である積分勾配画像(インテグラルヒストグラム)を算出する(ステップS101)。
なお、積分勾配画像(インテグラルヒストグラム)を算出する処理は、積分勾配画像を利用して後の演算処理の時間を短縮するためであり、必ずしも行われなくてもよい。つまり、以降の処理において、積分勾配画像を利用せずに同じ結果が得られる演算を用いてもよい。
次に、物体認識部13は、ラスタスキャン領域推定の処理を行う(ステップS102)。
これにより、本実施形態では、物体認識部13は、ラスタスキャンを行う対象とする領域(ラスタスキャン領域)と、ラスタスキャンするウィンドウのスケールと、ラスタスキャンするウィンドウのステップ幅(移動ステップ)を決定する。
次に、物体認識部13は、ラスタスキャンにより、積分勾配画像の領域を、あらかじめ設定した座標領域(ウィンドウ)で抽出する(ステップS103)。
このラスタスキャンの処理に関し、物体認識部13は、ラスタスキャン領域推定の処理(ステップS102の処理)により決定された、ラスタスキャンを行う対象とする領域(ラスタスキャン領域)と、ラスタスキャンするウィンドウのスケールと、ラスタスキャンするウィンドウのステップ幅(移動ステップ)を使用するように設定する。
次に、物体認識部13は、抽出した座標領域(ウィンドウ)について、あらかじめ定められたHOG特徴量(ベクトル)を算出する(ステップS104)。
次に、物体認識部13は、算出したHOG特徴量(ベクトル)を用いて、Boostingの一例であるReal AdaBoostの識別器による識別を行い、あらかじめ目標(ターゲット)としている物体(物体の画像)を認識する(ステップS105)。
ここで、物体認識部13は、一連のラスタスキャンが終了したか否かを確認する(ステップS106)。
そして、物体認識部13は、一連のラスタスキャンが終了したと判定した場合には、本処理を終了する。
一方、物体認識部13は、一連のラスタスキャンが終了していないと判定した場合には、ラスタスキャン領域において、ウィンドウをずらして(スライドさせて)、ステップS103の処理へ移行する。
これにより、物体認識部13は、一連のラスタスキャンが終了するまで、ラスタスキャン領域に対して、順次、ウィンドウをスライドさせて、ステップS103〜ステップS105の処理を繰り返して行う。
なお、一連のラスタスキャンでは、例えば、任意の画像領域に対して、同一のスケール(大きさ)のウィンドウを順次スライドさせて前記の処理を繰り返して行うことが終了した後に、ウィンドウのスケールや移動ステップ(スキャンステップ)を変化させて、再び、ウィンドウを順次スライドさせて前記の処理を繰り返して行うことを、あらかじめ定められた分だけ実行する。これにより、特徴ベクトル化を行う。
本実施形態では、物体認識部13は、ステップS102の処理において、ラスタスキャン領域、ウィンドウのスケール、ウィンドウの移動ステップを決定し、決定したものをラスタスキャンで使用する。
ここで、識別器の機能は、本実施形態では、物体認識部13により実現される。つまり、物体認識部13が識別器を備える、と捉えることができる。
また、本実施形態に係る物体認識部13では、一例として、積分勾配画像を算出する処理の機能をFPGA21により実現し、物体認識部13により行われる他の処理の機能をマイクロコンピュータ22により実現する。
図5を参照して、本実施形態に係る物体認識部13により行われるラスタスキャン領域推定処理(図4に示されるステップS102の処理)について説明する。
図5は、本実施形態に係る物体認識部13により行われるラスタスキャン領域推定処理の手順の一例を示すフローチャート図である。
まず、物体認識部13は、画像(例えば、算出された積分勾配画像、または、元の画像など)について、1つ以上の特徴点を抽出し、オプティカルフローを計算する(ステップS201)。
ここで、画像中で処理する領域としては、例えば、撮像画像の全ての領域が用いられてもよく、または、撮像画像の中で目標物体が存在し得る領域に限定してもよい。
なお、パターン認識と共に、単眼カメラによる3D解析を用いる場合には、例えば、特許文献2に係る技術による処理の結果や、非特許文献1に係る技術による処理の結果を利用することもできる。
また、特徴点については、指定した数だけ出力してからオプティカルフロー計算を行う。また、特徴点とオプティカルフローとしては、一例として、非特許文献1に示されるように、Harrisオペレータの特徴量や、Lucus−Kanade法によるオプティカルフローを用いることができる。
次に、物体認識部13は、抽出した特徴点の画像座標(x、y)からカメラ座標(X、Y、Z)への変換を行う(ステップS202)。
本実施形態では、物体認識部13は、特徴点毎に、その画像座標(x、y)の値をカメラ座標(X、Y、Z)の値へ変換する。
ここで、画像座標(x、y)の値は、画像における2次元の直交座標系における座標の値を表す。xは横(水平)方向の値を表し、yは縦(垂直)方向の値を表す。
また、カメラ座標(X、Y、Z)の値は、カメラ(本実施形態では、例えば、カメラ11)を基準とした3次元の直交座標系における座標の値を表す。Zは、例えば、カメラとの距離を表す。Z軸に対して直交する平面において、Xは横(水平)方向の値を表し、Yは縦(垂直)方向の値を表す。
ステップS202の処理における座標変換としては、例えば、ステップS201の処理の場合と同様に、特許文献2や非特許文献1に係る3D解析の技術を利用することができる。
また、座標変換については、一般的な原理が非特許文献2や非特許文献3等に示されており、例えば、射影変換を用いた諸々の手法を用いることができる。
また、ステップS201の処理やステップS202の処理は、例えば、非特許文献2に係るステレオカメラによる変換を用いて実現されてもよい。
可能であれば、ステップS201の処理やステップS202の処理における演算(計算)については、ラスタスキャン領域推定処理において新規に行うのではなく、既に3D解析処理やステレオカメラでの処理が同時に行われているような場合には、このような別の既存処理で用いられる演算結果を引用すると、処理時間の増加にならない。
このように、ステップS201の処理やステップS202の処理により得られる値は、例えば、単眼3D解析またはステレオ画像による演算値から引用することが可能である。
なお、ステップS201の処理やステップS202の処理としては、様々な処理が用いられてもよく、ステップS203〜ステップS205の処理に引き継ぐことができればよい。
本実施形態では、物体認識部13は、ステップS201の処理およびステップS202の処理により、3Dの情報を取得する。
ここで、本実施形態では、3次元(3D)の座標系の座標として、カメラ座標系の座標(X、Y、Z)を用いるが、他の様々な3次元の座標系の座標が用いられてもよい。一般に、カメラ座標系と他の座標系とは、互いに変換することが可能であり、例えば、カメラ座標系以外の3次元の座標系が用いられる場合には、その座標系に応じて、本実施形態と実質的に同様な処理が実行されるようにすればよい。
具体的には、例えば、3次元の座標系において、所定の視点(カメラ座標系の場合には、カメラの位置)から特徴点(あるいは、それに対応するあらかじめ定められた他のもの)を見た場合における距離の情報をカメラ座標(X、Y、Z)における距離Zの情報の代わりとして使用することができ、所定の視点(カメラ座標系の場合には、カメラの位置)から特徴点(あるいは、それに対応するあらかじめ定められた他のもの)を見た場合における距離以外の位置(例えば、平面上の位置)の情報をカメラ座標(X、Y、Z)における距離以外の位置(X、Y)の情報の代わりとして使用することができる。
次に、物体認識部13は、特徴点のカメラ座標(X、Y、Z)におけるZの値から、仮のウィンドウサイズ(ウィンドウスケール)への変換を行う(ステップS203)。そして、物体認識部13は、仮のウィンドウを設定する。
次に、物体認識部13は、仮のウィンドウサイズ(ウィンドウスケール)の変換の結果に基づいて、設定した仮のウィンドウのグルーピングを行う(ステップS204)。
次に、物体認識部13は、仮のウィンドウのグルーピングの結果に基づいて、ラスタスキャンを行う対象とする領域(ラスタスキャン領域)と、ラスタスキャンするウィンドウのスケールと、ラスタスキャンするウィンドウのステップ幅(移動ステップ)を決定する(ステップS205)。
ここで、本実施形態では、ラスタスキャンで使用するウィンドウサイズ(ウィンドウスケール)を有するウィンドウを決定する処理の過程において、これとは異なるウィンドウを処理するため、このようなウィンドウを仮のウィンドウと呼び、仮のウィンドウに関する事項に「仮の」と付記して説明する。
図6〜図13を参照して、図5に示されるステップS203〜ステップS205の処理について詳しく説明する。
図6を参照して、物体認識部13により、特徴点のカメラ座標(X、Y、Z)におけるZの値に基づいて、仮のウィンドウサイズ(ウィンドウスケール)を決定する処理(ステップS203の処理)について説明する。
ここで、本実施形態では、特徴点のカメラ座標(X、Y、Z)におけるZの値は、カメラとの距離を表す。
図6は、特徴点のカメラ座標における距離Zの値と、仮のウィンドウ幅との関係(相関)を表す特性301のグラフの一例を示す図である。本実施形態では、この特性301の情報が、物体認識部13により記憶されて使用される。
図6のグラフでは、横軸は距離Z[m]を表し、縦軸は仮のウィンドウ幅[pixel]を表す。
また、図6のグラフでは、特性301を示してあり、また、この特性301において、距離Zの値が小さい方から大きい方への順で、距離Zから変換される仮のウィンドウ幅の例(A)、(B)、(C)を示してある。
本実施形態では、特性301として、式(1)で表される特性を用いている。
式(1)において、定数としては、任意の値が用いられてもよい。
ここで、本実施形態では、仮のウィンドウ(およびラスタスキャンで使用するウィンドウ)の形状を正方形としており、仮のウィンドウの横(水平)方向の長さ(ウィンドウ幅)と縦(垂直)方向の長さ(ウィンドウ幅)は等しい。このため、本実施形態では、各特徴点について、カメラ座標に変換したときの距離Zの値から図6のグラフにより仮のウィンドウ幅の値が決定されると、等価的に、仮のウィンドウのサイズ(スケール)が決定される。
なお、図6のグラフにおいて、縦軸で表されるウィンドウ幅としては、一例として、画像座標(x、y)における、xの値が用いられてもよく、または、yの値が用いられてもよく、他の例として、カメラ座標(X、Y、Z)における、Xの値が用いられてもよく、または、Yの値が用いられてもよい。
他の構成例として、仮のウィンドウ(およびラスタスキャンで使用するウィンドウ)の形状を長方形とする場合には、例えば、距離Zの値と仮のウィンドウの横(水平)方向の長さ(ウィンドウ幅)との関係を規定しておくとともに、距離Zの値と仮のウィンドウの縦(垂直)方向の長さ(ウィンドウ幅)との関係を規定しておく。または、他の構成例として、これら2つの関係のうちの一方のみを規定しておいて、仮のウィンドウの横(水平)方向の長さ(ウィンドウ幅)と縦(垂直)方向の長さ(ウィンドウ幅)との比を規定しておくこともできる。
そして、このような構成により、距離Zの値から、仮のウィンドウのサイズ(スケール)を決定することができる。
このように、本実施形態では、各特徴点について、カメラ座標(X、Y、Z)におけるZの値が小さいほど(つまり、カメラから近いほど)、仮のウィンドウ幅を大きくする一方、カメラ座標(X、Y、Z)におけるZの値が大きいほど(つまり、カメラから遠いほど)、仮のウィンドウ幅を小さくする。
なお、特徴点のカメラ座標における距離Zの値と仮のウィンドウ幅との関係(相関)を表す特性としては、図6に示される特性301に限られず、様々な特性が用いられてもよい。
図7(A)および図7(B)は、特徴点の位置と仮のウィンドウの位置との関係の例を示す図である。
ここで、特徴点の位置に対する仮のウィンドウの位置としては、任意に設定されてもよく、本実施形態では、例えば、目標物体が仮のウィンドウの中に収まりやすい配置となるように、あらかじめユーザ(人)などにより設定される。
物体認識部13は、この設定の内容に従って、特徴点の位置に対して、決定された仮のウィンドウの位置を設定する。
図7(A)および図7(B)は、特徴点のカメラ座標(X、Y、Z)におけるZの値から決定された仮のウィンドウ幅を有する仮のウィンドウを、当該特徴点の画像座標(x、y)において設ける位置について、異なる例を示してある。
図7(A)の例では、物体認識部13は、特徴点401の画像座標の値(x1、y1)に対して、仮のウィンドウ402の外枠が左右(横)と上下(縦)でそれぞれ等間隔となるように、仮のウィンドウ402を設定する。つまり、物体認識部13は、特徴点401の位置が仮のウィンドウ402の中心の位置になるように、仮のウィンドウ402を設定する。
具体的には、仮のウィンドウ402が正方形であり、仮のウィンドウ402の一辺の長さ(ウィンドウ幅)がWbであるとき、特徴点401の画像座標の値(x1、y1)に対して、仮のウィンドウ402の左右の辺までの距離はそれぞれWb/2となり、仮のウィンドウ402の上下の辺までの距離はそれぞれWb/2となる。
図7(B)の例では、物体認識部13は、特徴点411の画像座標の値(x1、y1)に対して、仮のウィンドウ412の外枠が左右(横)と上下(縦)でそれぞれ所定の比率の間隔となるように、仮のウィンドウ412を設定する。
図7(B)の例では、この左右(横)における比率を1:1に設定してあり、この上下(縦)における比率を8:2(=4:1)に設定してある。
具体的には、仮のウィンドウ412が正方形であり、仮のウィンドウ412の一辺の長さ(ウィンドウ幅)がWbであるとき、特徴点411の画像座標の値(x1、y1)に対して、仮のウィンドウ412の左右の辺までの距離はそれぞれWb/2となり、仮のウィンドウ412の上の辺までの距離は(Wb×0.8)となり、仮のウィンドウ412の下の辺までの距離は(Wb×0.2)となる。
図8を参照して、物体認識部13により、仮のウィンドウサイズ(ウィンドウスケール)の変換の結果に基づいて、仮のウィンドウのグルーピング(統合)を行う処理(ステップS204の処理)について説明する。
図8は、仮のウィンドウのグルーピング(統合)を行う処理の様子の例を示す図である。
ここで、物体認識部13は、抽出された全ての特徴点について、仮のウィンドウサイズ(ウィンドウスケール)を決定して、仮のウィンドウを各特徴点に対して設定する。また、ここでは、複数の特徴点が抽出されたとする。
物体認識部13は、各特徴点から変換した仮のウィンドウ(ここでは、複数の仮のウィンドウ)をグルーピング(統合)する処理を行う。
本実施形態では、物体認識部13は、複数の特徴点から得られた仮のウィンドウについて、あらかじめ定められた条件に基づいて、画像座標(x、y)における位置の差が小さく、且つ、仮のウィンドウサイズの差が小さいと判定した2つの仮のウィンドウを、同じまとまり(グループ)にグルーピングする。この場合に、本実施形態では、物体認識部13は、仮のウィンドウサイズが小さい方から大きい方への順で、特徴点から得られた仮のウィンドウをまとまり(グループ)に割り付けていく。
ここで、2つの仮のウィンドウについて、画像座標(x、y)における位置の差が小さいと判定する条件としては、一例として、2つの仮のウィンドウの位置(または、それぞれの仮のウィンドウに対応する2つの特徴点の位置)について、xの差の絶対値とyの差の絶対値とを加えた結果が所定の閾値(xの差の絶対値とyの差の絶対値とを加えた結果に関する閾値)以下である、という条件を用いることができる。
また、2つの仮のウィンドウについて、画像座標(x、y)における位置の差が小さいと判定する条件としては、他の一例として、2つの仮のウィンドウの位置(または、それぞれの仮のウィンドウに対応する2つの特徴点の位置)について、xの値の差が所定の閾値(xの値に関する閾値)以下であり、且つ、yの値の差が所定の閾値(yの値に関する閾値)以下である、という条件を用いることができる。なお、xの値に関する閾値と、yの値に関する閾値としては、例えば、同じ値が用いられてもよく、または、異なる値が用いられてもよい。
また、2つの仮のウィンドウについて、画像座標(x、y)における位置の差が小さいと判定する条件としては、他の一例として、2つの仮のウィンドウの位置(または、それぞれの仮のウィンドウに対応する2つの特徴点の位置)の間の距離が所定の閾値(距離に関する閾値)以下である、という条件を用いることができる。
2つの仮のウィンドウの位置(または、それぞれの仮のウィンドウに対応する2つの特徴点の位置)の間の距離としては、例えば、ユークリッド距離など、任意の手法で定められる距離を用いることができる。
なお、ウィンドウ(ここでは、仮のウィンドウを含む)の画像座標(x、y)におけるx座標の値やy座標の値を指定する場合における当該ウィンドウの位置(当該x座標の値および当該y座標の値に対応する位置)としては、一例として、当該ウィンドウの中心の位置を用いることができ、他の例として、当該ウィンドウにおける所定の頂点の位置などのように、当該ウィンドウにおけるあらかじめ定められた特定の位置を用いることができる。
また、2つの仮のウィンドウについて、仮のウィンドウサイズの差が小さいと判定する条件としては、一例として、仮のウィンドウサイズの比(サイズ比)が所定の閾値(仮のウィンドウサイズに関する閾値)以下である、という条件を用いることができる。
また、仮のウィンドウの形状が正方形ではなく長方形である場合には、仮のウィンドウサイズの比としては、例えば、仮のウィンドウの面積の比を用いることができ、あるいは、2つの異なる辺の長さ(ウィンドウ幅)のうちの一方または両方について前記したサイズ比に関する条件を満たすことを条件とすることができる。
また、本実施形態では、このようなグルーピングの条件を、画像座標(x、y)を用いて、判定するが、他の構成例として、グルーピングの条件を、カメラ座標(X、Y、Z)における距離Zと位置X、Yの状態を用いて、判定し、その結果に基づいて、まとまり(グループ)を生成してもよい。
図8に示される(A)、(B)、(C)は、2つの仮のウィンドウについて、画像座標(x、y)における位置の差および仮のウィンドウサイズの差の例を示してある。
図8に示される(A)の状態では、2つの仮のウィンドウについて、画像座標(x、y)における位置の差および仮のウィンドウサイズの差が条件を満たすため、これらの仮のウィンドウを同じまとまり(グループ)に統合する。
図8に示される(B)の状態では、2つの仮のウィンドウについて、仮のウィンドウサイズの差が条件を満たさないため、これらの仮のウィンドウを統合しない。
図8に示される(C)の状態では、2つの仮のウィンドウについて、画像座標(x、y)における位置の差(この例では、横や縦の座標値の差)が条件を満たさないため、これらの仮のウィンドウを統合しない。
また、図8には、横軸に仮のウィンドウサイズ(例えば、ウィンドウ幅)[pixel]を表し、縦軸に画像座標(x、y)における横(水平)方向の位置x[pixel]を表し、そこに、複数の特徴点を示し、また、仮のウィンドウのグルーピング(統合)により得られる(1)、(2)、(3)のまとまり(グループ)502、512、522を示してある。それぞれのまとまり(グループ)502、512、522の枠の内側に含まれる特徴点が、当該それぞれのまとまり(グループ)502、512、522に含まれる。
なお、図示の都合上、図8では、複数の特徴点のうち、特徴点501、511、521のみに符号を付してあるが、他の特徴点についても同様である。
また、この例では、画像座標(x、y)における横(水平)方向の位置x[pixel]のみを考慮したが、例えば、画像座標(x、y)における縦(垂直)方向の位置y[pixel]も考慮される。
このように、本実施形態では、物体認識部13は、仮のウィンドウサイズが小さい方から順に、画像座標(x、y)における位置が近く、且つ、仮のウィンドウサイズが近い、2つの仮のウィンドウを同じまとまり(グループ)にグルーピング(統合)する。
なお、グルーピング(統合)の手法としては、他の様々な手法が用いられてもよい。
図9を参照して、本実施形態に係る物体認識部13により行われる仮のウィンドウのグルーピング(統合)の処理について説明する。
図9は、本実施形態に係る物体認識部13により行われる仮のウィンドウのグルーピング(統合)の処理の手順の一例を示すフローチャート図である。
この例では、物体認識部13は、N(Nは、2以上の整数)個の特徴点を抽出し、各特徴点から変換されたN個の仮のウィンドウを得ているとする。また、この例では、仮のウィンドウの形状が正方形であり、1つのウィンドウ幅によりサイズが特定されるとする。
また、この例では、a=1、2、・・・、Nとして、W(a)はa番目の仮のウィンドウを表し、W(a+1)は(a+1)番目の仮のウィンドウを表し、W(1)は1番目(最小)の仮のウィンドウを表し、W(N)はN番目(最大)の仮のウィンドウを表し、Wb(a)はa番目の仮のウィンドウの幅を表し、Wb(a+1)は(a+1)番目の仮のウィンドウの幅を表し、Wx(a)はa番目の仮のウィンドウの位置の画像座標(x、y)におけるx座標の値を表し、Wx(a+1)は(a+1)番目の仮のウィンドウの位置の画像座標(x、y)におけるx座標の値を表し、Wy(a)はa番目の仮のウィンドウの位置の画像座標(x、y)におけるy座標の値を表し、Wy(a+1)は(a+1)番目の仮のウィンドウの位置の画像座標(x、y)におけるy座標の値を表す。
まず、物体認識部13は、N個の仮のウィンドウについて、仮のウィンドウサイズが小さい方から順に、W(1)、W(2)、・・・、W(N)を割り付ける(ステップS301)。
次に、物体認識部13は、変数aの値をa=1に設定して、割り付けの1番目とする(ステップS302)。
次に、物体認識部13は、W(a)に対応する仮のウィンドウとW(a+1)に対応する仮のウィンドウについて、式(2)および式(3)の両方が満たされることが成り立つか否かを判定する(ステップS303)。
ここで、式(2)は、仮のウィンドウのウィンドウ幅(本実施形態では、ウィンドウサイズ)に関する条件の例を示す。式(2)における閾値TH1としては、様々な値が設定されてもよい。
具体的には、式(2)では、a番目の仮のウィンドウのウィンドウ幅Wb(a)と(a+1)番目の仮のウィンドウのウィンドウ幅Wb(a+1)との比を求め、その比があらかじめ定められた閾値TH1より大きいか否かを判断する。ここで、aについて仮のウィンドウのウィンドウサイズは小さい順であるため、Wb(a)<Wb(a+1)である。つまり、式(2)の条件は、隣接する仮のウィンドウのウィンドウサイズが近い場合には統合するという条件である。
また、式(3)は、仮のウィンドウの位置に関する条件の例を示す。式(3)において、Abs(P)は、Pの絶対値を表す。式(3)における閾値TH2としては、様々な値が設定されてもよい。
具体的には、式(3)では、a番目の仮のウィンドウの位置のx座標Wx(a)と(a+1)番目の仮のウィンドウの位置のx座標Wx(a+1)との差の絶対値と、a番目の仮のウィンドウの位置のy座標Wy(a)と(a+1)番目の仮のウィンドウの位置のy座標Wy(a+1)との差の絶対値との加算結果を求め、この加算結果があらかじめ定められた閾値TH2より小さいか否かを判断する。つまり、式(3)の条件は、隣接する仮のウィンドウの位置が近い場合には統合するという条件である。
そして、式(2)の条件と式(3)の条件とのAND論理で、2つの仮のウィンドウを統合するか否かが決まる。
ステップS303の処理における判定の結果、物体認識部13は、W(a)に対応する仮のウィンドウとW(a+1)に対応する仮のウィンドウについて、式(2)および式(3)の両方が満たされることが成り立つと判定した場合には、W(a)に対応する仮のウィンドウとW(a+1)に対応する仮のウィンドウをグルーピング(統合)する(ステップS304)。
そして、物体認識部13は、変数aの値をインクリメントすることで、aの値に1を加える(ステップS305)。
一方、ステップS303の処理における判定の結果、物体認識部13は、W(a)に対応する仮のウィンドウとW(a+1)に対応する仮のウィンドウについて、式(2)および式(3)の両方が満たされることが成り立たない(つまり、少なくとも一方が満たされない)と判定した場合には、グルーピング(統合)を行わずに、変数aの値をインクリメントすることで、aの値に1を加える(ステップS305)。
ここで、ステップS305の処理においてaの値をインクリメントするのは、ステップS303〜ステップS306のループの処理において、次回のループの処理へ移行させるためである。
次回のループの処理では、今回のW(a+1)がW(a)となり、今回のW(a+1)に対応する仮のウィンドウより次にサイズが大きい仮のウィンドウがW(a+1)となる。
物体認識部13は、ステップS305の処理の後に、a=Nになったか否かを判定する(ステップS306)。
ステップS306の処理における判定の結果、物体認識部13は、a=Nになっていないと判定した場合には、ステップS303の処理へ移行して、次回のループの処理を行う。
一方、ステップS306の処理における判定の結果、物体認識部13は、a=Nになったと判定した場合には、本フローの処理を終了する。このように、a=Nになるまで、ループの処理が繰り返して行われる。
図10(A)、図10(B)、図10(C)を参照して、図9に示されるステップS304の処理(グルーピング(統合)の処理)の例を示す。
図10(A)は、グルーピング(統合)の処理の一例を示す図である。
この例では、W(a)に対応する仮のウィンドウとW(a+1)に対応する仮のウィンドウとをグルーピング(統合)する場合、物体認識部13は、両方の仮のウィンドウの最外殻で統合化し、具体的には、両方の仮のウィンドウが重ならない領域の最外殻(本実施形態では、四角形)を引いて1つのウィンドウ(仮のウィンドウ)として生成する。また、物体認識部13は、グルーピング(統合)により生成したウィンドウ(仮のウィンドウ)を元のW(a+1)に対応する仮のウィンドウと入れ替えする。
ここで、グルーピング(統合)により生成したウィンドウ(仮のウィンドウ)について、当該ウィンドウ(仮のウィンドウ)の位置の画像座標(x、y)におけるx座標の値やy座標の値としては、一例として、物体認識部13は、元のW(a+1)に対応する仮のウィンドウの位置のx座標の値Wx(a+1)やy座標の値Wy(a+1)を用いる。
なお、グルーピング(統合)により生成したウィンドウ(仮のウィンドウ)について、当該ウィンドウ(仮のウィンドウ)に対応するとする特徴点の画像座標(x、y)におけるx座標の値やy座標の値としても、同様に、一例として、物体認識部13は、元のW(a+1)に対応する仮のウィンドウの位置のx座標の値Wx(a+1)やy座標の値Wy(a+1)を用いることができ、他の例として、元のW(a+1)に対応する仮のウィンドウに対応する特徴点の画像座標(x、y)におけるx座標の値やy座標の値を用いることができる。
図10(B)は、グルーピング(統合)の処理の具体的な様子の一例を示す図である。
まず、物体認識部13は、W(1)に対応する仮のウィンドウ601とW(2)に対応する仮のウィンドウ602とをグルーピング(統合)して、新たなW(2)に対応する仮のウィンドウ603を生成する。
次に、物体認識部13は、生成した新たなW(2)に対応する仮のウィンドウ603とW(3)に対応する仮のウィンドウ611とをグルーピング(統合)して、新たなW(3)に対応する仮のウィンドウ612を生成する。
また、W(4)以降の処理についても、同様である。
図10(C)は、グルーピング(統合)により生成したウィンドウ(仮のウィンドウ)について、当該ウィンドウ(仮のウィンドウ)の位置の画像座標(x、y)におけるx座標の値やy座標の値を決定する手法の他の一例を示す。この例では、W(a)に対応する仮のウィンドウとW(a+1)に対応する仮のウィンドウとをグルーピング(統合)する場合、物体認識部13は、元のW(a)に対応する仮のウィンドウの位置のx座標の値と元のW(a+1)に対応する仮のウィンドウの位置のx座標の値との平均値を、統合後のウィンドウ(仮のウィンドウ)の位置の画像座標(x、y)におけるx座標の値とし、また、元のW(a)に対応する仮のウィンドウの位置のy座標の値と元のW(a+1)に対応する仮のウィンドウの位置のy座標の値との平均値を、統合後のウィンドウ(仮のウィンドウ)の位置の画像座標(x、y)におけるy座標の値とする。
式(4)は、x座標の値について、このような演算を実現する式の例を示す。
なお、グルーピング(統合)により生成したウィンドウ(仮のウィンドウ)に対応するとする特徴点の画像座標(x、y)におけるx座標の値やy座標の値としても、同様に、W(a)に対応する仮のウィンドウとW(a+1)に対応する仮のウィンドウとをグルーピング(統合)する場合、物体認識部13は、元のW(a)に対応する仮のウィンドウの位置のx座標の値と元のW(a+1)に対応する仮のウィンドウの位置のx座標の値との平均値を、統合後のウィンドウ(仮のウィンドウ)に対応するとする特徴点の画像座標(x、y)におけるx座標の値とし、また、元のW(a)に対応する仮のウィンドウの位置のy座標の値と元のW(a+1)に対応する仮のウィンドウの位置のy座標の値との平均値を、統合後のウィンドウ(仮のウィンドウ)に対応するとする特徴点の画像座標(x、y)におけるy座標の値とすることもできる。
また、他の例として、W(a)に対応する仮のウィンドウとW(a+1)に対応する仮のウィンドウとをグルーピング(統合)する場合、物体認識部13は、元のW(a)に対応する仮のウィンドウに対応する特徴点の画像座標(x、y)におけるx座標の値と元のW(a+1)に対応する仮のウィンドウに対応する特徴点の画像座標(x、y)におけるx座標の値との平均値を、統合後のウィンドウ(仮のウィンドウ)に対応するとする特徴点の画像座標(x、y)におけるx座標の値とし、また、元のW(a)に対応する仮のウィンドウに対応する特徴点の画像座標(x、y)におけるy座標の値と元のW(a+1)に対応する仮のウィンドウに対応する特徴点の画像座標(x、y)におけるy座標の値との平均値を、統合後のウィンドウ(仮のウィンドウ)に対応するとする特徴点の画像座標(x、y)におけるy座標の値とすることもできる。
ここで、本実施形態では、図10(A)および図10(B)に示されるように、W(a)に対応する仮のウィンドウとW(a+1)に対応する仮のウィンドウとをグルーピング(統合)する場合に、両方の仮のウィンドウの最外殻で統合化するが、他の構成例として、統合後の仮のウィンドウのサイズを、統合前における一方の仮のウィンドウのサイズ(W(a)に対応する仮のウィンドウとW(a+1)に対応する仮のウィンドウとのうちの一方のサイズ)に設定すること、または、統合前における2つの仮のウィンドウ(W(a)に対応する仮のウィンドウとW(a+1)に対応する仮のウィンドウ)のサイズの平均値に設定すること、なども可能である。
本実施形態では、物体認識部13により仮のウィンドウのグルーピング(統合)を行って、最終的に得られた仮のウィンドウ(グルーピング(統合)の結果となる仮のウィンドウ)をグルーピングウィンドウと呼ぶ。
そして、本実施形態では、物体認識部13は、グルーピングウィンドウをラスタスキャン領域として決定して設定する(図5に示されるステップS205の処理の一部)。
なお、グルーピング(統合)の対象となる一連の仮のウィンドウから、複数の異なるグルーピングウィンドウが得られることもある。
図11を参照して、物体認識部13により、グルーピング(統合)により得られた各グルーピングウィンドウ(各ラスタスキャン領域)について、ステップ幅(移動ステップ)を決定する処理(図5に示されるステップS205の処理の一部)について説明する。
図11は、グルーピングウィンドウの元となった仮のウィンドウのウィンドウ幅と、ステップ幅との関係(相関)を表す特性701のグラフの一例を示す図である。本実施形態では、この特性701の情報が、物体認識部13により記憶されて使用される。
図11のグラフでは、横軸は仮のウィンドウ幅[pixel]を表し、縦軸はステップ幅(ステップ幅dx、ステップ幅dy)[pixel]を表す。
ここで、図11のグラフにおいて、横軸で表されるウィンドウ幅としては、グルーピングウィンドウの元となった仮のウィンドウのウィンドウ幅が用いられる。
本実施形態では、仮のウィンドウの形状を正方形としており、仮のウィンドウの横(水平)方向の長さ(ウィンドウ幅)と縦(垂直)方向の長さ(ウィンドウ幅)は等しい。
なお、ウィンドウ幅としては、一例として、画像座標(x、y)における、xの値が用いられてもよく、または、yの値が用いられてもよく、他の例として、カメラ座標(X、Y、Z)における、Xの値が用いられてもよく、または、Yの値が用いられてもよい。
また、本実施形態では、物体認識部13は、画像座標(x、y)におけるx座標のステップ幅dxとy座標のステップ幅dyとで、共通の同じ値を用いる。
この場合に、他の構成例として、仮のウィンドウの形状が長方形であるときには、物体認識部13は、一例として、仮のウィンドウの横(水平)方向の長さ(ウィンドウ幅)と縦(垂直)方向の長さ(ウィンドウ幅)とのうちで、あらかじめ定められた一方の長さ(ウィンドウ幅)を用いることができ、他の一例として、仮のウィンドウの横(水平)方向の長さ(ウィンドウ幅)と縦(垂直)方向の長さ(ウィンドウ幅)との平均値を用いることができる。
他の構成例として、物体認識部13は、画像座標(x、y)におけるx座標のステップ幅dxとy座標のステップ幅dyとで、異なる値を用いることもできる。
この場合には、物体認識部13は、一例として、仮のウィンドウの横(水平)方向の長さ(ウィンドウ幅)に基づいて画像座標(x、y)におけるx座標のステップ幅dxを決定し、仮のウィンドウの縦(垂直)方向の長さ(ウィンドウ幅)に基づいて画像座標(x、y)におけるy座標のステップ幅dyを決定することができる。
また、他の一例として、物体認識部13は、図11に示されるような特性701として、画像座標(x、y)におけるx座標のステップ幅dxとy座標のステップ幅dyとで異なる特性を記憶して使用することもできる。この場合には、物体認識部13は、例えば、仮のウィンドウの横(水平)方向の長さ(ウィンドウ幅)に基づいて画像座標(x、y)におけるx座標のステップ幅dxを決定し、仮のウィンドウの縦(垂直)方向の長さ(ウィンドウ幅)に基づいて画像座標(x、y)におけるy座標のステップ幅dyを決定することができ、または、仮のウィンドウの横(水平)方向の長さ(ウィンドウ幅)と縦(垂直)方向の長さ(ウィンドウ幅)とのうちで、あらかじめ定められた一方の長さ(ウィンドウ幅)に基づいて、画像座標(x、y)におけるx座標のステップ幅dxとy座標のステップ幅dyとの両方を決定することもできる。
本実施形態では、物体認識部13は、各グルーピングウィンドウについて、そのグルーピングウィンドウの元となった全ての仮のウィンドウ(本実施形態では、図5に示されるステップS203の処理により生成された最初の仮のウィンドウであって、グルーピング(統合)の途中で生成された仮のウィンドウを除く)のウィンドウ幅に基づいて決定されるステップ幅dx、dyについて、最小のステップ幅と最大のステップ幅との間の範囲を、ラスタスキャンで使用するステップ幅の範囲として設定する。そして、物体認識部13は、設定した範囲内のステップ幅を使用する。
具体的な一例として、物体認識部13は、あるグルーピングウィンドウについて、x座標のステップ幅dxまたはy座標のステップ幅dyに関し、そのグルーピングウィンドウの元となった全ての仮のウィンドウのウィンドウ幅に基づいて決定されたステップ幅の最小値(最小のステップ幅)がA1(例えば、A1=5)で、最大値(最大のステップ幅)がB1(例えば、B1=10)であるときには、当該最小値から当該最大値まであらかじめ定められた変化量Δ1(例えば、Δ1=1)ずつ変化させて得られるステップ幅(例えば、5、6、7、8、9、10)を、当該グルーピングウィンドウ(ラスタスキャン領域)におけるラスタスキャンで使用する。
図11には、物体認識部13により決定される3つの異なるステップ幅の範囲の例(1)、(2)、(3)を示してある。
なお、グルーピングウィンドウの元となった仮のウィンドウのウィンドウ幅とステップ幅との関係(相関)を表す特性としては、図11に示される特性701に限られず、様々な特性が用いられてもよい。
図12を参照して、物体認識部13により、グルーピング(統合)により得られた各グルーピングウィンドウ(各ラスタスキャン領域)について、スケール(ウィンドウスケールの幅)を決定する処理(図5に示されるステップS205の処理の一部)について説明する。
図12は、グルーピングウィンドウの元となった仮のウィンドウのウィンドウ幅と、スケールとの関係(相関)を表す特性801のグラフの一例を示す図である。本実施形態では、この特性801の情報が、物体認識部13により記憶されて使用される。
図12のグラフでは、横軸は仮のウィンドウ幅[pixel]を表し、縦軸はスケールSC[pixel]を表す。
ここで、図12のグラフにおいて、横軸で表されるウィンドウ幅としては、グルーピングウィンドウの元となった仮のウィンドウのウィンドウ幅が用いられる。
本実施形態では、仮のウィンドウの形状を正方形としており、仮のウィンドウの横(水平)方向の長さ(ウィンドウ幅)と縦(垂直)方向の長さ(ウィンドウ幅)は等しい。
なお、ウィンドウ幅としては、一例として、画像座標(x、y)における、xの値が用いられてもよく、または、yの値が用いられてもよく、他の例として、カメラ座標(X、Y、Z)における、Xの値が用いられてもよく、または、Yの値が用いられてもよい。
また、本実施形態では、物体認識部13は、画像座標(x、y)におけるx座標のスケールSCxとy座標のスケールSCyとで、共通の同じ値を用いる。つまり、本実施形態では、物体認識部13は、ラスタスキャンにおいて、正方形の形状を有するウィンドウを使用する。
この場合に、他の構成例として、仮のウィンドウの形状が長方形であるときには、物体認識部13は、一例として、仮のウィンドウの横(水平)方向の長さ(ウィンドウ幅)と縦(垂直)方向の長さ(ウィンドウ幅)とのうちで、あらかじめ定められた一方の長さ(ウィンドウ幅)を用いることができ、他の一例として、仮のウィンドウの横(水平)方向の長さ(ウィンドウ幅)と縦(垂直)方向の長さ(ウィンドウ幅)との平均値を用いることができる。
他の構成例として、物体認識部13は、画像座標(x、y)におけるx座標のスケールSCxとy座標のスケールSCyとで、異なる値を用いることもできる。
この場合には、物体認識部13は、一例として、仮のウィンドウの横(水平)方向の長さ(ウィンドウ幅)に基づいて画像座標(x、y)におけるx座標のスケールSCxを決定し、仮のウィンドウの縦(垂直)方向の長さ(ウィンドウ幅)に基づいて画像座標(x、y)におけるy座標のスケールSCyを決定することができる。
また、他の一例として、物体認識部13は、図12に示されるような特性801として、画像座標(x、y)におけるx座標のスケールSCxとy座標のスケールSCyとで異なる特性を記憶して使用することもできる。この場合には、物体認識部13は、例えば、仮のウィンドウの横(水平)方向の長さ(ウィンドウ幅)に基づいて画像座標(x、y)におけるx座標のスケールSCxを決定し、仮のウィンドウの縦(垂直)方向の長さ(ウィンドウ幅)に基づいて画像座標(x、y)におけるy座標のスケールSCyを決定することができ、または、仮のウィンドウの横(水平)方向の長さ(ウィンドウ幅)と縦(垂直)方向の長さ(ウィンドウ幅)とのうちで、あらかじめ定められた一方の長さ(ウィンドウ幅)に基づいて、画像座標(x、y)におけるx座標のスケールSCxとy座標のスケールSCyとの両方を決定することもできる。
本実施形態では、物体認識部13は、各グルーピングウィンドウについて、そのグルーピングウィンドウの元となった全ての仮のウィンドウ(本実施形態では、図5に示されるステップS203の処理により生成された最初の仮のウィンドウであって、グルーピング(統合)の途中で生成された仮のウィンドウを除く)のウィンドウ幅に基づいて決定されるスケールSC(スケールSCx、スケールSCy)について、最小のスケールと最大のスケールとの間の範囲を、ラスタスキャンで使用するスケールの範囲として設定する。そして、物体認識部13は、設定した範囲内のスケールを使用する。
具体的な一例として、物体認識部13は、あるグルーピングウィンドウについて、スケールSC(x座標のスケールSCxまたはy座標のスケールSCy)に関し、そのグルーピングウィンドウの元となった全ての仮のウィンドウのウィンドウ幅に基づいて決定されたスケールの最小値(最小のスケール)がA2(例えば、A2=2)で、最大値(最大のスケール)がB2(例えば、B2=6)であるときには、当該最小値から当該最大値まであらかじめ定められた変化量Δ2(例えば、Δ2=2)ずつ変化させて得られるスケール(例えば、2、4、6)を、当該グルーピングウィンドウ(ラスタスキャン領域)におけるラスタスキャンで使用する。
図12には、物体認識部13により決定される3つの異なるスケールの範囲の例(1)、(2)、(3)を示してある。
なお、グルーピングウィンドウの元となった仮のウィンドウのウィンドウ幅とスケールとの関係(相関)を表す特性としては、図12に示される特性801に限られず、様々な特性が用いられてもよい。
このように、本実施形態では、物体認識部13は、仮のウィンドウのグルーピングの結果に基づいて、ラスタスキャンを行う対象とする領域(ラスタスキャン領域)と、ラスタスキャンするウィンドウのスケールと、ラスタスキャンするウィンドウのステップ幅(移動ステップ)を決定する(図5に示されるステップS205の処理)。
図13を参照して、従来例と本案(本実施形態)について、ラスタスキャンの様子を示す。
この例では、従来例として、従来例に係る図18に示されるフローチャートの処理を実行する場合を示す。
また、この例では、本案として、本実施形態に係る図4および図5に示されるフローチャートの処理を実行する場合を示す。
図13は、ラスタスキャンの様子の例を示す図である。
図13には、カメラ(例えば、図1に示されるカメラ11またはそれに対応するもの)により撮像された画像の全体(全撮像画像)901と、従来例に係るラスタスキャン領域911と、本案における第1の例(1)に係るラスタスキャン領域921と、本案における第2の例(2)に係るラスタスキャン領域922と、本案における第3の例(3)に係るラスタスキャン領域923を示してある。
また、図13には、各ラスタスキャン領域911、921〜923の中に、移動させるウィンドウの例を点線で示してある。
本案における第1の例(1)に係るラスタスキャン領域921は、比較的、遠距離に存在する特徴点についてグルーピング(統合)を行った場合に得られるラスタスキャン領域である。
本案における第2の例(2)に係るラスタスキャン領域922は、比較的、遠距離から中距離の間に存在する特徴点についてグルーピング(統合)を行った場合に得られるラスタスキャン領域である。
本案における第3の例(3)に係るラスタスキャン領域923は、比較的、中距離から近距離の間に存在する特徴点についてグルーピング(統合)を行った場合に得られるラスタスキャン領域である。
従来例に係るラスタスキャンでは、通常、ラスタスキャン領域が広く、且つ、その広いラスタスキャン領域に対してウィンドウのスケールと移動ステップを調整して順次スキャンする必要があるため、無駄になるウィンドウの処理(無駄になるウィンドウの数)が多くなってしまう。
これに対して、本案に係るラスタスキャンでは、仮のウィンドウのグルーピングの結果に基づいて、ラスタスキャンを行う対象とする領域(ラスタスキャン領域)と、ラスタスキャンするウィンドウのスケールと、ラスタスキャンするウィンドウのステップ幅(移動ステップ)を決定する。このため、本案に係るラスタスキャンでは、例えば、従来例に係るラスタスキャンと比べて、ラスタスキャン領域を小さくすることができ、且つ、その小さいラスタスキャン領域に対して、ウィンドウのスケールや移動ステップを小さくすることができ、これにより、無駄になるウィンドウの処理(無駄になるウィンドウの数)を削減することができる。
このように、本実施形態では、物体認識部13は、例えば、ラスタスキャン領域推定の処理を行うことにより、ラスタスキャンする領域(ラスタスキャン領域)を絞り込むことができ、且つ、絞り込んだラスタスキャン領域に対して、さらにスケールの範囲とステップ幅(移動ステップ)の範囲を絞り込むことができるため、従来例に係るラスタスキャンよりも大幅に、スキャンするウィンドウの処理(スキャンするウィンドウの数)を削減することができる。
ここで、特徴点から得られる仮のウィンドウについて行われるグルーピング(統合)について、一構成例として、物体認識部13は、抽出された複数の特徴点の中で、あらかじめ定められた条件を満たす特徴点についてはグルーピング(統合)の処理の前に除外して、グルーピング(統合)の処理に使用しない。これにより、さらにグルーピング(統合)の効率化を図り、グルーピング(統合)の精度を向上させることが可能である。
具体的に、除外する特徴点を規定するあらかじめ定められた条件としては、例えば、カメラ座標などのように3次元空間の座標系における点(特徴点)の座標(X、Y、Z)について、高さを表す座標(例えば、座標Y)の値が所定の閾値(高さに関する第1の閾値)以上となる場合にグルーピング(統合)の対象から除外するという条件(高さに関する第1の条件)、または、高さを表す座標(例えば、座標Y)の値が所定の閾値(高さに関する第2の閾値)以下となる場合にグルーピング(統合)の対象から除外するという条件(高さに関する第2の条件)、または、これら両方の条件を用いることができる。
高さに関する第1の条件では、例えば、目標物体が存在しないほどに高い位置(例えば、空など)に存在する特徴点については、グルーピング(統合)の対象から除外して、グルーピング(統合)を行わないようにすることができる。
高さに関する第2の条件では、例えば、目標物体が存在しないほどに低い位置(例えば、地下など)に存在する特徴点については、グルーピング(統合)の対象から除外して、グルーピング(統合)を行わないようにすることができる。
これにより、グルーピング(統合)の対象とする特徴点の数を合理的に減らすことができ、グルーピング(統合)の効率化を図り、グルーピング(統合)の精度を向上させることができる。
図14(A)、図14(B)、図14(C)を参照して、積分画像(インテグラルイメージ)について説明する。
図14(A)は、オリジナル画像の一例を示す図である。
この例では、オリジナル画像として、輝度画像2001を示す。
輝度画像2001について、横(水平)方向のx軸、縦(垂直)方向のy軸に関し、画素位置(x、y)の輝度値をi(x、y)とする。
図14(B)は、累積行加算の結果の一例を示す図である。
この例では、枠内の左上から右下まで、繰り返して積分する。
累積行加算の結果2002において、位置(x、y)の累積行加算値s(x、y)は、式(5)により表される。
図14(C)は、積分画像の一例を示す図である。
この例では、枠内の左上から右下まで、繰り返して積分する。
積分画像2003において、位置(x、y)の積分値ii(x、y)は、式(6)により表される。
図15(A)および図15(B)を参照して、Haar−like特徴量を説明する。
図15(A)は、2矩形2011を示す。
2矩形2011の特徴として、左右の矩形の特徴量の差分を用いる。
図15(B)は、2矩形特徴の求め方を示す。この例では、積分画像から部分領域の積分値を計算する。
a、b、c、d,e、fを、それぞれ、各点における積分勾配値とする。
右側の領域(領域1)の単矩形特徴量は、式(7)により表され、4点で算出することができる。
左側の領域(領域2)の単矩形特徴量は、式(8)により表され、4点で算出することができる。
領域1の特徴量と領域2の特徴量との差分である2矩形特徴量は、式(9)により表され、6点で算出することができる。
このような積分画像の応用として、インテグラルヒストグラム(勾配積分ヒストグラム)がある。
具体的には、勾配画像について、勾配方向毎に積分を行う。
これにより、容易に、セル単位のヒストグラムを作成することができる。
図16(A)〜図16(D)を参照して、勾配方向および勾配強度の算出例を説明する。
図16(A)は、輝度画像の一例を示す図である。
この例では、横(水平)方向のx軸の画素位置をuで表しており、右へ行くほど座標値が大きくなる。また、縦(垂直)方向のy軸の画素位置をvで表しており、下へ行くほど座標値が大きくなる。
x−y直交座標の平面上における画素位置は、座標(u、v)で表される。
図16(B)は、勾配の一例を示す図である。
この例では、座標(u、v)の画素位置における輝度をI(u、v)で表す。
座標(u、v)の画素位置における横(水平)方向の輝度の勾配をIxで表し、Ixを式(10)で表す。また、座標(u、v)の画素位置における縦(垂直)方向の輝度の勾配をIyで表し、Iyを式(11)で表す。
図16(C)は、勾配強度の一例を示す図である。
この例では、座標(u、v)の画素位置における勾配強度をm(u、v)で表し、m(u、v)を式(12)で表す。
図16(D)は、勾配方向の一例を示す図である。
この例では、座標(u、v)の画素位置における勾配方向をθ(u、v)で表し、θ(u、v)を式(13)で表す。
ここで、画像における輝度の勾配は、微分画像に対応する。また、例えば、輝度の勾配が所定の閾値より大きい画素位置のつながりを勾配として検出することが可能である。
また、勾配を算出する手法としては、例えば、ソーベルフィルタを用いる手法などのように、他の手法を用いることもできる。
また、積分勾配画像は、例えば、HOG特徴量を算出する際によく用いられる。
図17(A)および図17(B)を参照して、HOG特徴量を説明する。
図17(A)は、セルによるヒストグラム化の一例を示す。
画像の中に設定されるセル2021と、3×3の計9個のセルから構成されるブロック2022を示す。
また、1個のセルが横(水平)方向に5画素(5pixel)、縦(垂直)方向に5画素(5pixel)から構成される場合を示す。
そして、セル2021について、セル単位での輝度勾配分布2023を示す。また、これについて、9方向を例として、方向を横軸とし且つ勾配強度を縦軸とした勾配方向ヒストグラムを示す。
また、この例では、ブロック2022の単位で、その領域で、セル内の輝度勾配を正規化する。
図17(B)は、ブロック領域により正規化された、HOG特徴量を算出する例を示す。
9方向を例として、1個のセル2031の特徴ベクトルFj,kは、式(14)により表される。各方向(方向1〜方向9)の特徴ベクトルの成分fをf〜fとする。ここで、kはセルの横(水平)方向の位置を表し、jは縦(垂直)方向の位置を表す。
ブロック2032の特徴ベクトルVは、式(15)により表される。
この特徴ベクトルVの大きさにより正規化した結果vは、式(16)により表される。
この例では、HOG特徴ベクトルは、9セル×9次元×4ブロック数=324次元となる。
以上のように、本実施形態に係る画像認識システムにおけるカメラECU(画像認識装置の一例)1の物体認識部13は、取得した画像における特徴点(例えば、複数の特徴点)の画像座標(x、y)を求め、求めた特徴点の画像座標(x、y)から3次元空間座標系(例えば、カメラ座標系)の座標(X、Y、Z)に変換し、この3次元空間座標系の座標(X、Y、Z)を元にラスタスキャン領域を推定する。そして、本実施形態に係る物体認識部13は、この推定により決定したラスタスキャン領域に対してパターン認識を実行して、目標物体を認識する。
なお、物体認識部13は、例えば、特徴点の画像座標(x、y)と3次元空間座標系の座標(X、Y、Z)を元にラスタスキャン領域を推定してもよい。
一構成例として、本実施形態に係る物体認識部13は、複数の特徴点に関する3次元空間座標系における距離Zの情報と、その位置X、Yの情報または特徴点の画像座標(x、y)の情報を元に、仮のウィンドウをグルーピング(統合)して、推定するラスタスキャン領域を作成する。
一構成例として、本実施形態に係る物体認識部13は、仮のウィンドウのグルーピング(統合)の最終的な結果として得られる仮のウィンドウ(グルーピングウィンドウ)の領域をラスタスキャン領域として決定する。
一構成例として、本実施形態に係る物体認識部13は、仮のウィンドウのグルーピング(統合)として、複数の特徴点に関する3次元空間座標系における距離Zの情報を元に変換した画像座標(x、y)での仮のウィンドウのサイズ(例えば、仮のウィンドウ幅)と、前記特徴点の画像座標(x、y)の値に基づく関係式(条件式)を用いて、グルーピング(統合)を行う。
一構成例として、本実施形態に係る物体認識部13は、仮のウィンドウのグルーピング(統合)において、前記関係式(条件式)の条件が成り立つ場合には、該当するそれぞれの仮のウィンドウの領域が重なる最外側を引き延ばして、より広い領域に拡張する。
一構成例として、本実施形態に係る物体認識部13は、推定したラスタスキャン領域でラスタスキャンするときにおけるステップ幅(移動ステップ)として、グルーピング(統合)を行った最終的な結果であるグルーピングウィンドウの元となったそれぞれの仮のウィンドウのサイズ(例えば、ウィンドウ幅)により規定されるステップ幅(移動ステップ)を当てはめて使用する。
一構成例として、本実施形態に係る物体認識部13は、推定したラスタスキャン領域でラスタスキャンするときにおけるスケールとして、グルーピング(統合)を行った最終的な結果であるグルーピングウィンドウの元となったそれぞれの仮のウィンドウのサイズ(例えば、ウィンドウ幅)により規定されるスケールを当てはめて使用する。
一構成例として、本実施形態に係る物体認識部13は、特徴点の画像座標(x、y)から3次元空間座標系の座標(X、Y、Z)に変換したものにおける高低の情報(例えば、Yの値の情報)を用いて、目標物体が存在しない高さまたは低さにあるものについては、ラスタスキャン領域推定の処理で使用する特徴点には加えないように、除外する。
このように、本実施形態に係る画像認識システムにおけるカメラECU(画像認識装置の一例)1の物体認識部13では、3D解析からの情報(または、3D解析処理の一部を行うこと)により、無駄となるラスタスキャン時のウィンドウの数を削減することができ、パターン認識の処理時間を短縮することができる。
具体例として、本実施形態に係る物体認識部13では、それぞれのグループ(グルーピングウィンドウ)毎に最適なステップ幅(移動ステップ)の範囲とスケールの範囲を選ぶ(決定する)ことができ、従来のラスタスキャンよりも、ラスタスキャンするウィンドウの数を削減することができる。
なお、通常、3D解析により抽出される特徴点は、目標物体以外についても多く存在するが、それを含めても、本実施形態に係るラスタスキャンの方が、従来のラスタスキャンよりも、ラスタスキャンするウィンドウの数を少なくすることが可能である。
また、本実施形態に係る物体認識部13では、例えば、画面座標(x、y)から3次元空間座標系の座標(例えば、カメラ座標(X、Y、Z))に変換する精度があまり高くない場合においても、従来のラスタスキャンと比べて、ラスタスキャンするウィンドウの数を必ず削減することができるという点で、有効である。
このような場合には、例えば、図8および図9を参照して説明したグルーピング(統合)の条件を緩めるのも好ましく、つまり閾値を緩めに設定するのも好ましい。
ここで、閾値を緩めに設定する仕方としては、具体的には、図9に示されるステップS303の処理では、例えば、閾値TH1を小さく設定する仕方や、閾値TH2を大きく設定する仕方がある。
以上のように、本実施形態に係る画像認識システムにおけるカメラECU(画像認識装置の一例)1の物体認識部13によると、画像認識の効率化を図ることができる。
本実施形態に係る画像認識システムにおけるカメラECU(画像認識装置の一例)1の物体認識部13によると、例えば、車載用の装置に実装(組み込み)することが可能である。
このように、本実施形態に係る画像認識システムにおけるカメラECU(画像認識装置の一例)1の物体認識部13によると、例えば、識別性能を維持した上で、車載用の装置に実装(組み込み)することができる程度に十分な演算処理速度が得られるため、1つの装置で、車間距離制御装置(ACC)や前方車両衝突警報装置(FCW)や歩行者衝突警報装置などの適用が可能となる効果を有する。
本実施形態では、ターゲット(目標)とする物体の認識に好適な装置や、方法や、これらに用いるコンピュータプログラムなどを提供することができる。
[本実施形態に係る構成例]
(構成例1)画像認識装置(本実施形態では、カメラECU1)は、画像を取得する画像取得部12と、画像取得部12により取得された画像について特徴点を抽出し、抽出した特徴点について3次元空間座標系の座標を検出し(本実施形態では、当該座標への変換を行い)、当該検出結果に基づいて、目標物体を認識するために使用するラスタスキャン領域を決定する物体認識部13と、を備える。
(構成例2)画像認識装置において、物体認識部13は、抽出した複数の特徴点のそれぞれに関して検出した3次元空間座標系の座標(本実施形態では、カメラ座標(X、Y、Z))における距離(本実施形態では、距離Z)の情報と、前記抽出した複数の特徴点のそれぞれに関する前記距離以外の位置(本実施形態では、X、Y)の情報に基づいて、仮のウィンドウを生成して、生成した仮のウィンドウの統合を行って、ラスタスキャン領域を作成する。
(構成例3)画像認識装置において、物体認識部13は、仮のウィンドウの統合の最終的な結果として得られる仮のウィンドウ(グルーピングウィンドウ)の領域をラスタスキャン領域として決定する。
(構成例4)画像認識装置において、物体認識部13は、抽出した複数の特徴点のそれぞれに関して検出した3次元空間座標系の座標における距離の情報に基づいて仮のウィンドウのサイズを設定するとともに、前記抽出した複数の特徴点のそれぞれに関する前記距離以外の位置の情報に基づいて当該仮のウィンドウの位置を設定し、サイズおよび位置が設定された複数の仮のウィンドウの統合を、あらかじめ定められた条件式(本実施形態では、図9に示されるフローチャートの処理における条件式であり、式(2)、式(3))を用いて、行う。
(構成例5)画像認識装置において、物体認識部13は、複数の仮のウィンドウの統合において、2つの仮のウィンドウの関係が前記条件式の条件を満たす場合には、当該2つの仮のウィンドウの両方を含む新たな仮のウィンドウに統合する。
(構成例6)画像認識装置において、物体認識部13は、仮のウィンドウの統合の最終的な結果として得られる仮のウィンドウ(グルーピングウィンドウ)の元となったそれぞれの仮のウィンドウのウィンドウ幅に基づいてラスタスキャンの移動ステップを決定する。
(構成例7)画像認識装置において、物体認識部13は、仮のウィンドウの統合の最終的な結果として得られる仮のウィンドウ(グルーピングウィンドウ)の元となったそれぞれの仮のウィンドウのウィンドウ幅に基づいてラスタスキャンで使用するウィンドウのスケールを決定する。
(構成例8)画像認識装置において、物体認識部13は、抽出した複数の特徴点のそれぞれに関して検出した3次元空間座標系の座標における高低(本実施形態では、高さを表すY)の情報に基づいて、当該高低の情報があらかじめ定められた条件を満たす特徴点については、ラスタスキャン領域を決定する処理の対象から除外する。
[以上の実施形態についてのまとめ]
なお、図1に示される本実施形態に係る画像認識システムにおける任意の構成部(例えば、物体認識部13など)により行われる処理の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、処理を行ってもよい。ここで言う「コンピュータシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは、表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことを言う。さらに、「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM(Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことを言う。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
また、上記に限られず、マイクロコンピュータのほか、例えば、FPGA、あるいは、DSPなどのデバイスを用いて、図1に示される本実施形態に係る画像認識システムにおける任意の構成部により行われる処理を実現することも可能である。
以上、本発明の実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
1…カメラECU、2…警報装置、3…ACC−ECU、11…カメラ、12…画像取得部、13…物体認識部、14…制御部、21…FPGA(または、DSP)、22…マイクロコンピュータ、
101…画像、102…勾配強度画像、103…積分勾配画像、104…ラスタスキャン領域、
201、211…ラスタスキャン領域、202、212…ウィンドウ、
301…特性
401、411…特徴点、402、412…仮のウィンドウ、
501、511、521…特徴点、502、512、522…まとまり(グループ)、
601〜603、611、612…仮のウィンドウ、
701…特性、
801…特性
901…全撮像画像、911、921〜923…ラスタスキャン領域、
2001…輝度画像、2002…累積行加算の結果、2003…積分画像、
2011…2矩形、
2021、2031…セル、2022、2032…ブロック、2023…輝度勾配分布

Claims (10)

  1. 画像を取得する画像取得部と、
    前記画像取得部により取得された画像について特徴点を抽出し、抽出した特徴点について3次元空間座標系の座標を検出し、当該検出結果に基づいて、目標物体を認識するために使用するラスタスキャン領域を決定する物体認識部と、
    を備えることを特徴とする画像認識装置。
  2. 前記物体認識部は、抽出した複数の特徴点のそれぞれに関して検出した3次元空間座標系の座標における距離の情報と、前記抽出した複数の特徴点のそれぞれに関する前記距離以外の位置の情報に基づいて、仮のウィンドウを生成して、生成した仮のウィンドウの統合を行って、ラスタスキャン領域を作成する、
    ことを特徴とする請求項1に記載の画像認識装置。
  3. 前記物体認識部は、前記仮のウィンドウの統合の最終的な結果として得られる仮のウィンドウの領域をラスタスキャン領域として決定する、
    ことを特徴とする請求項2に記載の画像認識装置。
  4. 前記物体認識部は、抽出した複数の特徴点のそれぞれに関して検出した3次元空間座標系の座標における距離の情報に基づいて仮のウィンドウのサイズを設定するとともに、前記抽出した複数の特徴点のそれぞれに関する前記距離以外の位置の情報に基づいて当該仮のウィンドウの位置を設定し、サイズおよび位置が設定された複数の仮のウィンドウの統合を、あらかじめ定められた条件式を用いて、行う、
    ことを特徴とする請求項2または請求項3に記載の画像認識装置。
  5. 前記物体認識部は、前記複数の仮のウィンドウの統合において、2つの仮のウィンドウの関係が前記条件式の条件を満たす場合には、当該2つの仮のウィンドウの両方を含む新たな仮のウィンドウに統合する、
    ことを特徴とする請求項4に記載の画像認識装置。
  6. 前記物体認識部は、前記仮のウィンドウの統合の最終的な結果として得られる仮のウィンドウの元となったそれぞれの仮のウィンドウのウィンドウ幅に基づいてラスタスキャンの移動ステップを決定する、
    ことを特徴とする請求項2から請求項5のいずれか1項に記載の画像認識装置。
  7. 前記物体認識部は、前記仮のウィンドウの統合の最終的な結果として得られる仮のウィンドウの元となったそれぞれの仮のウィンドウのウィンドウ幅に基づいてラスタスキャンで使用するウィンドウのスケールを決定する、
    ことを特徴とする請求項2から請求項6のいずれか1項に記載の画像認識装置。
  8. 前記物体認識部は、抽出した複数の特徴点のそれぞれに関して検出した3次元空間座標系の座標における高低の情報に基づいて、当該高低の情報があらかじめ定められた条件を満たす特徴点については、ラスタスキャン領域を決定する処理の対象から除外する、
    ことを特徴とする請求項1から請求項7のいずれか1項に記載の画像認識装置。
  9. 画像取得部が、画像を取得し、
    物体認識部が、前記画像取得部により取得された画像について特徴点を抽出し、抽出した特徴点について3次元空間座標系の座標を検出し、当該検出結果に基づいて、目標物体を認識するために使用するラスタスキャン領域を決定する、
    ことを特徴とする画像認識方法。
  10. 画像取得部が、画像を取得する手順と、
    物体認識部が、前記画像取得部により取得された画像について特徴点を抽出し、抽出した特徴点について3次元空間座標系の座標を検出し、当該検出結果に基づいて、目標物体を認識するために使用するラスタスキャン領域を決定する手順と、
    をコンピュータに実行させるための画像認識プログラム。
JP2012025874A 2012-02-09 2012-02-09 画像認識装置、画像認識方法および画像認識プログラム Pending JP2013164643A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012025874A JP2013164643A (ja) 2012-02-09 2012-02-09 画像認識装置、画像認識方法および画像認識プログラム
US13/761,705 US9323999B2 (en) 2012-02-09 2013-02-07 Image recoginition device, image recognition method, and image recognition program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012025874A JP2013164643A (ja) 2012-02-09 2012-02-09 画像認識装置、画像認識方法および画像認識プログラム

Publications (1)

Publication Number Publication Date
JP2013164643A true JP2013164643A (ja) 2013-08-22

Family

ID=49175977

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012025874A Pending JP2013164643A (ja) 2012-02-09 2012-02-09 画像認識装置、画像認識方法および画像認識プログラム

Country Status (2)

Country Link
US (1) US9323999B2 (ja)
JP (1) JP2013164643A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016020718A1 (en) * 2014-08-07 2016-02-11 Hitachi Automotive Systems, Ltd. Method and apparatus for determining the dynamic state of a vehicle
US9830363B2 (en) 2015-02-12 2017-11-28 Kabushiki Kaisha Toshiba Image evaluation apparatus, image evaluation method, and computer program product

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3270352B1 (en) * 2015-03-10 2023-02-22 JVC Kenwood Corporation Alert device, alert method, and alert program
CN112568935B (zh) * 2019-09-29 2024-06-25 中慧医学成像有限公司 基于三维追踪相机的三维超声成像方法和系统
JP2021177144A (ja) * 2020-05-08 2021-11-11 キヤノン株式会社 情報処理装置、情報処理方法及びープログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002024807A (ja) * 2000-07-07 2002-01-25 National Institute Of Advanced Industrial & Technology 物体運動追跡手法及び記録媒体
JP2007310805A (ja) 2006-05-22 2007-11-29 Matsushita Electric Ind Co Ltd 物体認識装置
JP4670976B2 (ja) * 2008-10-03 2011-04-13 ソニー株式会社 学習装置および方法、認識装置および方法、プログラム、並びに記録媒体
JP5361530B2 (ja) * 2009-05-20 2013-12-04 キヤノン株式会社 画像認識装置、撮像装置及び画像認識方法
JP4958992B2 (ja) 2010-01-15 2012-06-20 株式会社ホンダエレシス 運動算出装置及び運動算出方法
US8447139B2 (en) * 2010-04-13 2013-05-21 International Business Machines Corporation Object recognition using Haar features and histograms of oriented gradients
JP5975598B2 (ja) * 2010-08-26 2016-08-23 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
CN103201769B (zh) * 2011-08-29 2016-09-07 松下电器(美国)知识产权公司 图像处理装置、图像处理方法、集成电路
JP2013161126A (ja) * 2012-02-01 2013-08-19 Honda Elesys Co Ltd 画像認識装置、画像認識方法および画像認識プログラム
JP5950441B2 (ja) * 2012-02-01 2016-07-13 日本電産エレシス株式会社 画像認識装置、画像認識方法および画像認識プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016020718A1 (en) * 2014-08-07 2016-02-11 Hitachi Automotive Systems, Ltd. Method and apparatus for determining the dynamic state of a vehicle
US9830363B2 (en) 2015-02-12 2017-11-28 Kabushiki Kaisha Toshiba Image evaluation apparatus, image evaluation method, and computer program product

Also Published As

Publication number Publication date
US20130279746A1 (en) 2013-10-24
US9323999B2 (en) 2016-04-26

Similar Documents

Publication Publication Date Title
US10872262B2 (en) Information processing apparatus and information processing method for detecting position of object
US9245200B2 (en) Method for detecting a straight line in a digital image
JP5950441B2 (ja) 画像認識装置、画像認識方法および画像認識プログラム
US7660436B2 (en) Stereo-vision based imminent collision detection
JP4613994B2 (ja) 動態推定装置、動態推定方法、プログラム
US20130287251A1 (en) Image recognition device, image recognition method, and image recognition program
US8836812B2 (en) Image processing device, image processing method, and image processing program
EP3168810A1 (en) Image generating method and apparatus
US20100034465A1 (en) Method and apparatus for calculating pixel features of image data
JP2013109760A (ja) 対象検知方法及び対象検知システム
US10839529B2 (en) Image processing apparatus and image processing method, and storage medium
JP2012038318A (ja) ターゲット検出方法及び装置
JP2013164643A (ja) 画像認識装置、画像認識方法および画像認識プログラム
TW202004664A (zh) 影像處理裝置、影像處理方法、及影像處理程式
JP5349622B2 (ja) パターン識別装置
JP2009182624A (ja) 目標追尾装置
CN103714528B (zh) 物体分割装置和方法
JP5166335B2 (ja) 特徴を抽出する装置、方法およびプログラム
KR20090083184A (ko) 영상을 이용한 전후방 차량 검출 방법
Hemmat et al. Fast planar segmentation of depth images
JP2013250868A (ja) 画像認識装置、画像認識方法および画像認識プログラム
JP2018010359A (ja) 情報処理装置、情報処理方法、およびプログラム
KR101437228B1 (ko) 입체영상에서의 외곽선 가중치 기반 장애물 영역 검출 장치 및 방법
CN112101139A (zh) 人形检测方法、装置、设备及存储介质
JP2021051530A (ja) 画像処理プログラム及び画像処理装置