JPWO2011037097A1 - パターン認識方法及び該方法を用いたパターン認識装置 - Google Patents
パターン認識方法及び該方法を用いたパターン認識装置 Download PDFInfo
- Publication number
- JPWO2011037097A1 JPWO2011037097A1 JP2011532991A JP2011532991A JPWO2011037097A1 JP WO2011037097 A1 JPWO2011037097 A1 JP WO2011037097A1 JP 2011532991 A JP2011532991 A JP 2011532991A JP 2011532991 A JP2011532991 A JP 2011532991A JP WO2011037097 A1 JPWO2011037097 A1 JP WO2011037097A1
- Authority
- JP
- Japan
- Prior art keywords
- pattern recognition
- histogram
- feature
- vector
- coefficient vector
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000003909 pattern recognition Methods 0.000 title claims abstract description 29
- 238000012567 pattern recognition method Methods 0.000 title claims abstract description 16
- 239000013598 vector Substances 0.000 claims abstract description 72
- 238000012545 processing Methods 0.000 claims abstract description 23
- 230000015654 memory Effects 0.000 abstract description 15
- 238000004364 calculation method Methods 0.000 description 13
- 239000000872 buffer Substances 0.000 description 12
- 238000001514 detection method Methods 0.000 description 10
- 238000011156 evaluation Methods 0.000 description 9
- 230000010354 integration Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 7
- 238000007796 conventional method Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000011840 criminal investigation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/50—Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/758—Involving statistics of pixels or of feature values, e.g. histogram matching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
Abstract
画像や音声等のパターン認識に用いられるパターン認識装置の高速化及び省メモリ化の方法、及び該方法を実装したパターン認識装置を提供する。本発明に係るパターン認識方法は、ヒストグラムの生成と線形SVMによる判別を組み合わせることにより、演算の高速化と省メモリ化を解決したものである。具体的には、特徴ベクトルFの各要素のヒストグラムに値を1加算する代わりに、この要素に対応する係数ベクトルwの要素を加算していく(ステップB5)ことにより、w・Fの内積計算を加算演算のみで行っている。これにより、ハードウェア実装の際に、回路規模を大きくすることなく並列処理による高速化が可能になると共に、特徴ベクトルFの各要素を保持するためのメモリが不要になる。
Description
本発明は、画像や音声等のパターン認識に用いられるパターン認識装置の高速化と省メモリ化の方法、及び該方法を実装したパターン認識装置に関する。
コンピュータによるパターン認識は、認証、監視、検索、ロボット、自動車の運転補助等における重要な技術として盛んに研究されるようになっている。これらのパターン認識では、画像や音声等の各種データから、目的とするパターンの識別に適した複数種類の特徴量を抽出し、この抽出された特徴量に目的のパターンが含まれているかを学習・判別する、ということが行われる。
抽出する特徴量としては識別すべきパターンに応じて様々なものが用いられるが、近年、特徴量をヒストグラムで表す手法が多く用いられるようになってきている。例えば非特許文献1には、生体認識や犯罪捜査等に用いられる顔検出において、光の周波数スペクトルのヒストグラムを特徴量とする手法が提案されている。また、非特許文献2には、音の周波数スペクトルのヒストグラムを特徴量とする音楽の分類方法が記載されている。非特許文献3には、監視や車載用途で用いられる歩行者検出において、輝度勾配ヒストグラム(Histograms of Oriented Gradients:HOG)を特徴量とする手法が記載されている。非特許文献4には、HOGをより発展させた輝度勾配共起ヒストグラム(Co-occurrence Histograms of Oriented Gradients:CoHOG)を特徴量として用いる手法が提案されている。
一方、抽出された特徴量に対する学習・判別には、サポートベクタマシン(Support Vector Machine:SVM)が用いられることが多い。SVMとは、各特徴量パラメータを座標軸とする特徴空間において、学習データを正解集合と不正解集合に分類する超平面(判別平面)を、マージン(超平面と該超平面に最近接するデータ点との距離)を最大化させるように最適化計算により導出するという方法である。ここで、特徴量の数(特徴空間の次元数)をL、特徴空間上の任意の点をx(L次元の位置ベクトル)とすると、前記の判別平面は次式により表される。
ここで、wとbはそれぞれL次元係数ベクトルとスカラー定数であり、学習データから導出された値である。従って、データから抽出された特徴量が正解集合に含まれるか否かは、抽出された特徴量に対応する特徴ベクトルxに対して、
で表される判別関数g(x)の正負を判定することにより判別できる。
また、特徴空間において判別平面を導出できない場合、該特徴空間を別の写像空間に変換し、この写像空間上で判別平面を導出することも行われる。特徴空間上で判別平面を導出するものは線形SVM、写像空間上で判別平面を導出するものは非線形SVMと呼ばれる。
C. Shan, S. Gong, and P.W. McOwan, "Robust facial expression recognition using local binary pattern", IEEE International Conference on Image Processing, vol.2, pp.370-373, 2005.
T. Li, M. Ogihara, and Q. Li, "A comparative study on content-based music genre classification", the 26th annual international ACM SIGIR conference on Research and development in informaion retrieval, pp.282-289, 2003.
N. Dalai, B. Triggs, I. Rhone-Alps, and F. Montbonnot, "Histograms of oriented gradients for human detection", IEEE Computer Society Conference on Computer Vision and Pattern Recognition, vol.1, pp.886-893, 2005.
T. Watanabe, S. Ito, and K. Yokoi, "Co-occurrence histograms of oriented gradients for pedestrian detection", the 3rd IEEE Pacific-Rim Symposium Image and Video Technology, pp. 37-47, 2009.
コンピュータによるパターン認識では、大量のデータから識別すべきパターンを検出することになるため、高速化が要求されることが多い。例えば、上記の歩行者検出では、毎秒数十フレームという短い時間間隔で、リアルタイムで歩行者を識別することが要求される。
しかしながら、高精度に目的のパターンを検出し、かつ誤検出を避けるためには、膨大な数の特徴量を扱う必要がある。歩行者検出のCoHOG特徴量を例に説明すると、扱う特徴量の次元数は数万から十数万という規模になる。このような規模の特徴量を短い時間間隔で、かつリアルタイムで処理することは、ソフトウェアによる実装のみではたとえ最新のプロセッサを用いても困難である。
また、監視カメラやロボット、自動車の運転補助システム等の用途では、パターン認識装置はそれぞれの機器の内部に組み込んで使用することになる。このように装置を組み込んで使用する場合、物理的なサイズや消費電力等の制約が厳しく、動作周波数の高い最新のプロセッサや大規模なマルチプロセッサ等を利用することが難しい。
以上の理由から、パターン認識装置の高速化のためには、専用のハードウェア(回路)による実装が必要となる。
以上の理由から、パターン認識装置の高速化のためには、専用のハードウェア(回路)による実装が必要となる。
しかしながら、従来の方法では、特徴量をデータから抽出した後、パターンの判別を行うため、抽出した特徴量を一旦メモリに格納する必要がある。上記のように特徴量の数が膨大である場合、これを保持するためのメモリも大量に用意する必要がある。そのため回路規模が大きくなり、ハードウェアに実装する際の障害となってしまう。
また、パターン判別のための計算も高速化の障害となる。例えば、式(2)に示すような線形SVMによる判別では、係数ベクトルwと特徴ベクトルxの内積演算のために、特徴ベクトルの次元数に応じた多数の乗算演算が必要となる。ハードウェア実装においてこの内積演算を高速に行うには、回路に乗算器を多数並列に並べる必要がある。しかしながら、これはやはり回路規模の増大を招いてしまう。一方、回路規模の増大を抑えようとすると、乗算演算の並列化が十分に行えなくなり、判別計算を高速に行うことができなくなる。
本発明が解決しようとする課題は、画像や音声等のパターン認識に用いられるパターン認識装置の高速化及び省メモリ化の方法、及び該方法を実装したパターン認識装置を提供することである。
本願発明者は、ヒストグラムに基づく特徴量(以下、「ヒストグラム特徴量」と呼ぶ)と線形SVMによる判別とを組み合わせたパターン認識方法に着目した。ヒストグラム特徴量は、データ内に対応する特徴量が1つ見つかる毎に、該特徴量のヒストグラムに値を1ずつ加算していくことで計算される。このヒストグラムに値を1ずつ加算していく演算と、式(2)の判別関数における内積演算とを統合することにより、メモリの削減と乗算演算の削減とを同時に解決する方法を見出した。
すなわち、上記課題を解決するために成された本発明に係るパターン認識方法は、
L種類のヒストグラム特徴量から成る特徴ベクトルFに対し、パターン認識を行うための判別関数g(F)=w・F+b(ただし、w及びbはそれぞれL次元係数ベクトル及びスカラー値を表す。)のw及びbが、線形SVMにより前もって導出されているパターン認識方法において、
前記特徴ベクトルFの各要素のヒストグラムに値を1加算する際、その代わりに該特徴ベクトルFの要素に対応する係数ベクトルwの要素を加算することにより、前記判別関数におけるw・Fの内積演算を加算演算のみで行うことを特徴とする。
L種類のヒストグラム特徴量から成る特徴ベクトルFに対し、パターン認識を行うための判別関数g(F)=w・F+b(ただし、w及びbはそれぞれL次元係数ベクトル及びスカラー値を表す。)のw及びbが、線形SVMにより前もって導出されているパターン認識方法において、
前記特徴ベクトルFの各要素のヒストグラムに値を1加算する際、その代わりに該特徴ベクトルFの要素に対応する係数ベクトルwの要素を加算することにより、前記判別関数におけるw・Fの内積演算を加算演算のみで行うことを特徴とする。
また、上記課題を解決するために成された本発明に係るパターン認識装置は、
L種類のヒストグラム特徴量から成る特徴ベクトルFに対し、パターン認識を行うための判別関数g(F)=w・F+b(ただし、w及びbはそれぞれL次元係数ベクトル及びスカラー値を表す。)のw及びbが、線形SVMにより前もって導出されているパターン認識装置において、
前記特徴ベクトルFの各要素のヒストグラムに値を1加算する際、その代わりに該特徴ベクトルFの要素に対応する係数ベクトルwの要素を加算することにより、前記判別関数におけるw・Fの内積演算を加算演算のみで行う係数ベクトル加算手段を有していることを特徴とする。
L種類のヒストグラム特徴量から成る特徴ベクトルFに対し、パターン認識を行うための判別関数g(F)=w・F+b(ただし、w及びbはそれぞれL次元係数ベクトル及びスカラー値を表す。)のw及びbが、線形SVMにより前もって導出されているパターン認識装置において、
前記特徴ベクトルFの各要素のヒストグラムに値を1加算する際、その代わりに該特徴ベクトルFの要素に対応する係数ベクトルwの要素を加算することにより、前記判別関数におけるw・Fの内積演算を加算演算のみで行う係数ベクトル加算手段を有していることを特徴とする。
本発明に係るパターン認識方法及びパターン認識装置は、ヒストグラム生成と内積演算の2つの処理を統合したものである。これらの処理を統合したことにより、ヒストグラム特徴量を保持するためのメモリが不要になり、ハードウェアに実装する際に大幅なメモリ削減を行うことが可能となる。また、内積演算を全て加算演算で行うことができるため、並列化の際に乗算器を多数並べる必要がなくなる。以上から、ハードウェアの回路規模を大幅に削減することができ、これによって製造コストを削減することもできる。また、並列化が容易になることから、計算時間を削減することもできる。
本発明に係るパターン認識方法は、ヒストグラム特徴量と線形SVMとを組み合わせた方法であれば、どのようなパターン認識方法に対しても適用可能であるが、以下では、CoHOG特徴量を用いた歩行者検出を例に説明することにする。
まず、CoHOG特徴量について簡単に説明を行う。CoHOG特徴量は、歩行者検出に有効な特徴量としてよく利用されている輝度勾配ヒストグラム(HOG)を拡張した特徴量であり、輝度勾配方向のペアの共起(Co-occurrence)ヒストグラムを用いることにより、HOG特徴量より複雑な形状を表現することができるものである。
まず、入力された可視画像に対する各画素の輝度勾配方向θは、以下のように求められる。
ここでv, hはそれぞれ垂直及び水平方向の輝度勾配であり、入力画像に適切なフィルタをかけることにより求めることができる。上式より求められたθは、所定の角度毎に複数のクラスに分類され、それぞれのクラスにラベリングが施される。以下では簡単のため、θを45度おきに8つのクラスに分類し、図1に示すように、各クラスに1〜8のラベルを与えることにする。また、画素の位置を2次元ベクトル(p,q)で表し、位置(p,q)の輝度勾配方向のラベル(以下、これを「輝度勾配方向画像」と呼ぶ)をI(p,q)で表すことにする。なお、pは水平方向の画素の位置を、qは垂直方向の画素の位置を表しており、それぞれ整数で与えられる。
次に、輝度勾配方向のペアに対する共起行列(Co-occurrence matrix)のヒストグラムを、図2に示すように生成する。図2の共起行列は、次式で表されるCi,jを要素とする行列Cとして求められる。
ここで、n及びmはそれぞれ水平方向及び垂直方向の画素数であり、(x,y)は(p,q)に対する画素ペアの位置を示すオフセットである。また、i及びjはそれぞれ位置(p,q)及び(p+x,q+y)の輝度勾配方向のラベルを表している。上述のように、輝度勾配方向のラベルは8個あるため、この共起行列Cの次元数は8×8=64となる。
また、オフセット(x,y)としては、図3に示す31種類((x,y)=(0,0)も含む)を用いることにする。なお、オフセットとして図3に示したもの以外のものも用いることができるが、対称性の観点から、位置(p,q)から一定半径内に含まれる円の下半分のみで良い。
上記の共起行列のヒストグラム(共起ヒストグラム)は、入力画像中の候補領域を分割した小領域と上記のオフセットとの全ての組み合わせに対して計算される(図4)。以下、候補領域全体をサブウィンドウ、小領域をブロックと呼ぶことにする。ここで、ブロックのインデックスをkとすると、ブロックk、オフセット(x,y)に対する共起行列Cは、64次元のベクトルfk,x,yで表すことができる。従って、全てのブロック、全てのオフセットに対してベクトルfk,x,yを算出し、さらに算出されたベクトルfk,x,yを全て連結することで、最終的なCoHOG特徴量の特徴ベクトルFを得ることができる。なお、この特徴ベクトルFの次元数Lは、ブロックの総数をKとすると、L=K×31×64である。
CoHOG特徴量は強力な特徴量であるため、線形SVMを用いても高精度な歩行者検出が実現できる。式(2)で示したように、線形SVMでは特徴ベクトルFに対して、
で表される判別関数gの正負を判定することにより、特徴量ベクトルFが正解集合に含まれるか否かを判別することができる。
以下、用語の簡単化のため、線形SVMによる判別のことを「SVM予測」と呼ぶことにする。また、式(5)の係数ベクトルw及びスカラー定数bは、予め学習により算出されているものとする。
以下、用語の簡単化のため、線形SVMによる判別のことを「SVM予測」と呼ぶことにする。また、式(5)の係数ベクトルw及びスカラー定数bは、予め学習により算出されているものとする。
上記の例では、CoHOG特徴量の次元数はL=K×31×64となっている。従って、サブウィンドウ内の水平方向のブロック数を6、垂直方向のブロック数を12とすると、ブロックの総数はK=6×12となり、CoHOG特徴量の次元数は約14万という非常に膨大な数になってしまう。しかしながら、従来の方法ではヒストグラム生成後にSVM予測を行うため、一時的にこのL次元の長大なベクトルFを保持する必要があった。そのため、ハードウェア実装の際に、メモリの量、すなわち回路の規模が増大してしまっていた。また、SVM予測では、式(5)に示したようにベクトルの内積を計算しなければならないため、ベクトルの次元数に応じた多数の乗算が必要となる。ハードウェア実装においてSVM予測を高速に行うためには、多数の乗算器を並列に並べる必要があり、これも回路規模の増大を招いてしまっていた。
これに対し、本願研究者は、ヒストグラム生成とSVM予測のそれぞれの性質に着目し、これらの処理を統合することにより上記の問題点を解決する方法を見出した。以下、ヒストグラム生成とSVM予測の両処理を統合した、本発明に係るパターン認識方法について説明を行う。
上述したCoHOG特徴量の特徴ベクトルFの各要素をfk,x,y(i,j)で表し、この要素に対応する式(5)の係数ベクトルwの要素をwk,x,y,i,jとすると、式(5)の右辺の内積は以下の式で表すことができる。
ここで、特徴ベクトルFの要素fk,x,y(i,j)は、式(4)から
で表される。従って、
とすると、次式が成立する。
式(9)は、従来、(i,j)の値に対応するヒストグラムに1を加算していた処理の代わりに、wk,x,y,i,jの値を加算していけば良いことを意味している。
以上を、図5及び図6に示す従来例及び本実施例のフローチャートを比較することにより説明する。
従来の方法は、予め線形SVMによって学習・算出された判別関数の係数ベクトルw及びスカラー定数bを入力設定するパラメータ設定ステップ(ステップA1)と、検出対象となる画像を入力する画像入力ステップ(ステップA2)と、入力された画像から輝度勾配画像を生成する輝度勾配画像生成ステップ(ステップA3)と、生成された輝度勾配画像から共起ヒストグラムの生成を行うヒストグラム生成ステップ(ステップA4〜A6)と、共起ヒストグラムを連結することにより特徴ベクトルFを生成するベクトル生成ステップ(ステップA7)と、特徴ベクトルFと係数ベクトルwとの内積演算を行う内積演算ステップ(ステップA8)と、内積演算ステップで得られたw・Fの値と-bとの大小を比較することにより、特徴ベクトルFが正解集合に含まれるか否かを判別する判別ステップ(ステップA9)と、に分かれている。
従来の方法は、予め線形SVMによって学習・算出された判別関数の係数ベクトルw及びスカラー定数bを入力設定するパラメータ設定ステップ(ステップA1)と、検出対象となる画像を入力する画像入力ステップ(ステップA2)と、入力された画像から輝度勾配画像を生成する輝度勾配画像生成ステップ(ステップA3)と、生成された輝度勾配画像から共起ヒストグラムの生成を行うヒストグラム生成ステップ(ステップA4〜A6)と、共起ヒストグラムを連結することにより特徴ベクトルFを生成するベクトル生成ステップ(ステップA7)と、特徴ベクトルFと係数ベクトルwとの内積演算を行う内積演算ステップ(ステップA8)と、内積演算ステップで得られたw・Fの値と-bとの大小を比較することにより、特徴ベクトルFが正解集合に含まれるか否かを判別する判別ステップ(ステップA9)と、に分かれている。
この従来例の方法では、ステップA4〜A6において、計算途中のfk,x,y(i,j)をメモリ内に格納しておく必要がある。そのため、k, x, y, i, jの組み合わせの数(次元数L)だけメモリが必要となってしまう。また、ステップA8の内積演算を行うために多数の乗算演算が必要になってしまうという問題もある。
これに対し、本実施例では、従来例のヒストグラム生成ステップと内積演算ステップを統合した。具体的には、fk,x,y(i,j)に値を1加算する代わりに、fk,x,y(i,j)に対応する係数ベクトルwの要素wk,x,y,i,jをSVM評価値αに加算する構成とした(ステップB5)。全てのk, p, q, x, yに対してそれぞれ(i,j)の組を決定してSVM評価値αに加算することにより、最終的な加算値がw・Fに一致することは、式(9)より明らかである。これにより、従来の方法におけるステップA4〜A8を、本実施例ではステップB4〜B6に削減できる。また、本実施例の方法ではfk,x,y(i,j)を計算しないため、これを保持するメモリを削減できる。さらに、w・Fの計算に乗算演算を用いていないため、乗算器を多数並べる必要がなくなる。以上から、ハードウェア実装の際に回路規模を大幅に削減できると共に、並列処理による高速化が可能となる。
第1実施例に示したパターン識別方法を実装したパターン識別装置の一実施例を図7のブロック図を用いて説明する。なお、本実施例においても、第1実施例と同様、CoHOG特徴量を対象に説明を行う。
本実施例のCoHOG特徴量に対するパターン識別装置は、図7に示す画像入力部10、輝度勾配画像生成部11、サブウィンドウ決定部12、ヒストグラム生成・SVM予測統合部13、判定部14、を有している。また、ヒストグラム生成・SVM予測統合部13は輝度勾配方向ペア決定部15、係数ベクトル読み出し部16、パラメータ記憶部17、係数ベクトル加算部18を有している。
本実施例のパターン識別装置の各部の動作を以下に説明する。
画像入力部10から入力された画像は、輝度勾配画像生成部11において輝度勾配画像に変換される。輝度勾配画像生成部11で得られた輝度勾配画像に対し、サブウィンドウ決定部12においてサブウィンドウ(候補領域)が決定され、該サブウィンドウ内の輝度勾配画像のデータがヒストグラム生成・SVM予測統合部13に送られる。一方、前記のサブウィンドウは複数のブロックに分けられ、ブロックk内の画素(p,q)とそのオフセット(x,y)に対する輝度勾配方向の組(i,j)が、輝度勾配方向ペア決定部15で決定される。この輝度勾配方向ペア決定部15で決定された輝度勾配方向の組(i,j)に対し、前もってパラメータ記憶部17に設定・記憶された係数ベクトルwの対応する要素wk,x,y,i,jが係数ベクトル読み出し部16で読み出され、画素(p,q)の走査と共に係数ベクトル加算部18で加算されていく。この加算処理が全てのブロックk、オフセット(x,y)に対して行われた後、サブウィンドウ内に目的とするパターンが含まれているか否かが、係数ベクトル加算部18で得られた加算値とパラメータ記憶部から読み出された-bとの大小を判定する判定部14により判定される。
画像入力部10から入力された画像は、輝度勾配画像生成部11において輝度勾配画像に変換される。輝度勾配画像生成部11で得られた輝度勾配画像に対し、サブウィンドウ決定部12においてサブウィンドウ(候補領域)が決定され、該サブウィンドウ内の輝度勾配画像のデータがヒストグラム生成・SVM予測統合部13に送られる。一方、前記のサブウィンドウは複数のブロックに分けられ、ブロックk内の画素(p,q)とそのオフセット(x,y)に対する輝度勾配方向の組(i,j)が、輝度勾配方向ペア決定部15で決定される。この輝度勾配方向ペア決定部15で決定された輝度勾配方向の組(i,j)に対し、前もってパラメータ記憶部17に設定・記憶された係数ベクトルwの対応する要素wk,x,y,i,jが係数ベクトル読み出し部16で読み出され、画素(p,q)の走査と共に係数ベクトル加算部18で加算されていく。この加算処理が全てのブロックk、オフセット(x,y)に対して行われた後、サブウィンドウ内に目的とするパターンが含まれているか否かが、係数ベクトル加算部18で得られた加算値とパラメータ記憶部から読み出された-bとの大小を判定する判定部14により判定される。
なお、ヒストグラム生成・SVM予測統合部13における輝度勾配方向ペア決定部15、係数ベクトル読み出し部16、パラメータ記憶部17、係数ベクトル加算部18の各動作は、並列処理により高速化できる。以下、実際に集積回路等のチップにハードウェア実装し、さらに並列処理を施したCoHOG特徴量に対するパターン識別装置について説明を行う。
図7の装置に対して実際にハードウェア実装を行い、並列処理による高速化を施したパターン識別装置の構成の一例を図8に示す。図8のパターン識別装置では、図示しない画像入力部からW×Hの大きさの画像が入力され、長さWのラインバッファに3ライン分格納される。その後、輝度勾配画像生成部11において、3ライン分の入力画像にSobelフィルタを作用させ、水平、垂直方向の輝度勾配を計算し、これに基づき輝度勾配の方向を8方向に分類する。なお、上記の輝度勾配算出を行っている間も入力画像を休み無く受け取るために、ラインバッファは4ライン分用意している。
各画素に対して算出された8種類の輝度勾配方向は輝度勾配画像用のフレームバッファに格納される。フレームバッファのサイズは入力画像と同じW×Hである。輝度勾配画像を生成した後、候補領域としてサブウィンドウが決定され、サブウィンドウ内のデータがヒストグラム生成・SVM予測統合部13に転送される。このヒストグラム生成・SVM予測統合部13では31種類のオフセット及びサブウィンドウ内のブロック横一行分を並列に処理する。最終的に、SVM予測により得られた評価値(SVM評価値α)とサブウィンドウの座標が出力され、図示しない判定部により該サブウィンドウ内に目的とするパターンが含まれているか否かが判定される。
以下、図8の輝度勾配画像生成部11、ヒストグラム生成・SVM予測統合部13の詳細について述べる。
[輝度勾配画像生成部]
本実施例の輝度勾配画像生成部11では、水平、垂直方向の輝度勾配を求めるためにSobelフィルタを使用している。Sobelフィルタとは、対象画素の周囲3×3画素に対して以下の行列をそれぞれ作用させることにより、水平、垂直方向の輝度勾配h, vを得るものである。
本実施例の輝度勾配画像生成部11では、水平、垂直方向の輝度勾配を求めるためにSobelフィルタを使用している。Sobelフィルタとは、対象画素の周囲3×3画素に対して以下の行列をそれぞれ作用させることにより、水平、垂直方向の輝度勾配h, vを得るものである。
輝度勾配h, vが得られた後、式(3)に従って勾配方向を求め、それを45度おきの8つのクラスに分類する。この際、θを求めるために逆正接演算を行う必要があるが、ここでは8つのクラスに分類することが目的であるので、これらを全て比較演算に置換する。例えば、対象とする輝度勾配画像がπ/8<θ<3π/8のクラスに属するかどうかを判定するには、
の比較を行えばよい。さらに、式(12)のtan(π/8)やtan(3π/8)は定数であるため、これらの値を前もって計算しておけば、正接演算も不要となる。
この輝度勾配画像生成部11では上記のような比較演算により勾配方向を8つのクラスに分類し、次段のフレームバッファへと出力する。
この輝度勾配画像生成部11では上記のような比較演算により勾配方向を8つのクラスに分類し、次段のフレームバッファへと出力する。
[ヒストグラム生成・SVM予測統合部]
一方、図8に示したヒストグラム生成・SVM予測統合部13では、並列化により、輝度勾配方向ペアの決定、係数ベクトルを記憶するROMからの係数ベクトルの読み出し、係数ベクトルの各要素の加算の動作の高速化を行う。なお、今回の実装ではサブウィンドウのサイズを60×120、ブロックサイズを10×10とし、サブウィンドウ内に6×12個のブロックが並んでいるものとした。
一方、図8に示したヒストグラム生成・SVM予測統合部13では、並列化により、輝度勾配方向ペアの決定、係数ベクトルを記憶するROMからの係数ベクトルの読み出し、係数ベクトルの各要素の加算の動作の高速化を行う。なお、今回の実装ではサブウィンドウのサイズを60×120、ブロックサイズを10×10とし、サブウィンドウ内に6×12個のブロックが並んでいるものとした。
まず、単一のブロックに注目した際の処理内容及びハードウェア構成について述べる。ブロックk内の各画素を図9に示すようにラスタ順に走査し、各画素に対して図3に示した各々のオフセットの画素を参照して、それらの画素のペアの勾配方向の組(i,j)を決定する。(i,j)が求まると、予め学習済みの係数ベクトルwを格納したROM(係数ベクトル用ROM)から対応するwk,x,y,i,jが読み出され、加算器によりこの読み出されたwk,x,y,i,jがSVM評価値αに加算され、累算器にαのデータが保持される。この際、対象の画素と該画素を中心とする下半円状の領域内のデータさえあれば、31種類全てのオフセットに対する画素ペアの勾配方向の組(i,j)の決定と、SVM評価値の加算を並列に行うことができる。各オフセットに対する係数ベクトルwの要素を同時に(並列に)読み出せるようにするため、係数ベクトル用ROMをオフセット毎に分割し、それぞれのオフセット(x,y)に対する係数ベクトル用ROMに、ブロックk、オフセット(x,y)における64種の係数ベクトルの要素wk,x,y,i,jを保持することで、図10のように31並列で輝度勾配方向ペアの決定と係数ベクトルの各要素の加算を実行できるようにした。
ここで、図3の領域の形状からも分かるように、各ブロックに対して上記の処理を行う場合、自身のブロック内の画素だけでなく隣接するブロックに含まれる画素のデータも必要となる。従って、隣接するブロックをまとめてレジスタアレイ上に読み出し、同時に処理することによってフレームバッファからのデータ読み出しを減らすことができる。本実施例では、図11のように横方向に並んだ6ブロックを同時に処理する構成とした。この場合、5ライン分のデータを読み出した時点で処理を開始できる。1サイクルに各ブロック内の1画素に対して処理を行うとすると、1ラインを処理するのに要するサイクル数は6並列なので10サイクルとなる。この10サイクルの間にフレームバッファから次の1ライン分60画素のデータを転送することにより、無駄なデータ転送を行うこと無く連続処理を実現する。ラインバッファは走査に適するよう、シフトレジスタにより実装し、次ラインのバッファを含め60画素分を6本搭載した。
上記の処理をサブウィンドウの高さである120ライン分繰り返し、31オフセット及び6ブロックの全て出力結果の総和を加算することにより、最終的なSVM評価値を得ることができる。
なお、上記の例では、ブロックに対する並列処理を水平方向に対して行ったが、垂直方向に並列処理を行っても良い。また、水平方向と垂直方向の両方向に対して同時に並列処理を行うこともできる。
本実施例のパターン認識装置において1サブウィンドウを処理するのに必要なサイクル数を計算する。上述の通り、オフセットに対し31並列、横方向のブロックに対し6並列で実行するため、1ライン処理するのに10サイクル要する。サブウィンドウの高さは120であるため、総サイクル数は10×120=1200となる。
なお、輝度勾配画像の生成に画像サイズW×H分のサイクル数を要するが、1フレーム当たりのサブウィンドウ数が十分大きいため、これらは無視できる値となる。また、上記の他にSVM評価値の加算等に若干のサイクル数を要するが、これらの処理は全てパイプライン化されているため、定常的には前述の通り1サブウィンドウ当たり1200サイクルで処理を継続することができる。
次に、図8に示したパターン識別装置の回路規模及び動作速度を評価するため、FPGA上に実装を行った。評価に用いたFPGAはXilinx社Virtex-5 XC5VLX330T-2である。論理合成及び配置配線にはXilinx社のISE 11.1を利用した。実装結果は表1の通りである。
なお、最大遅延は5.977ns、最大動作周波数は167MHzとなった。
表1に示すように、図8に示したパターン識別装置の回路規模は、ロジック、メモリ共に単一のFPGAデバイスに十分収まっている。また、最大利用率が18%であるため同FPGAを用いれば提案ハードウェアを4, 5個搭載することも可能である。なお、本実施例のパターン識別装置における入力ラインバッファ及びフレームバッファはブロックRAMで、サブウィンドウのラインバッファはレジスタで、それぞれ実装している。
さらに、図8に示したパターン識別装置と汎用CPUの処理速度の比較を行った。ここでは比較対象のCPUとしてIntel Core i7 CPU3.2GHzを使用する。非特許文献4のCoHOGの原論文の手法をそのままソフトウェアにより実装しCPU上で実行させた結果、処理速度は毎秒約1100サブウィンドウであった。一方、本実施例のパターン識別装置は1サブウィンドウあたり1200サイクルで処理可能であり、最大動作周波数が167MHzであるため、毎秒139166サブウィンドウを処理可能である。これはCPUによる実行の100倍以上高速である。
ここで、実際の歩行者検出に即した条件を用いて処理速度を評価する。入力画像から実際に歩行者検出を行うためには、まず画像からサブウィンドウを抽出し、それに対してCoHOG特徴を求め、SVMによる識別を行う必要がある。サブウィンドウは全画面をラスタスキャン順に走査することにより得られるが、画像サイズをW×H、サブウィンドウのサイズをw×h、サブウィンドウのスキャン間隔をpとすると、サブウィンドウの総数Sは、
となる。より大きなサイズの歩行者にも対応するため、入力画像をs倍に縮小して同様にスキャンを行うため、1フレームあたりの総数はこれの全縮尺についての和となり、
となる。例として、320×240の入力画像から60×120の大きさのサブウィンドウを抽出する場合を考えると、ステップ間隔を4ピクセル、縮尺を1.2倍ずつ変更した時、Sframe=3615となる。従って、CPUによる実行では上記の条件では1フレーム当たり約3秒要することになるが、本実施例のパターン識別装置は同条件で毎秒38フレームの実時間処理を達成可能である。また、さらに高解像度の640×480を8ピクセル間隔でスキャンした場合は毎秒17フレームで、4ピクセル間隔でスキャンした場合でも毎秒4.2フレームで処理可能である。
10…画像入力部
11…輝度勾配画像生成部
12…サブウィンドウ決定部
13…ヒストグラム生成・SVM予測統合部
14…判定部
15…輝度勾配方向ペア決定部
16…係数ベクトル読み出し部
17…パラメータ記憶部
18…係数ベクトル加算部
11…輝度勾配画像生成部
12…サブウィンドウ決定部
13…ヒストグラム生成・SVM予測統合部
14…判定部
15…輝度勾配方向ペア決定部
16…係数ベクトル読み出し部
17…パラメータ記憶部
18…係数ベクトル加算部
Claims (8)
- L種類のヒストグラム特徴量から成る特徴ベクトルFに対し、パターン認識を行うための判別関数g(F)=w・F+b(ただし、w及びbはそれぞれL次元係数ベクトル及びスカラー値を表す。)のw及びbが、線形SVMにより前もって導出されているパターン認識方法において、
前記特徴ベクトルFの各要素のヒストグラムに値を1加算する際、その代わりに該特徴ベクトルFの要素に対応する係数ベクトルwの要素を加算することにより、前記判別関数におけるw・Fの内積演算を加算演算のみで行うことを特徴とするパターン認識方法。 - 前記加算演算を、並列処理により行っていることを特徴とする請求項1に記載のパターン認識方法。
- 前記ヒストグラム特徴量がCoHOG特徴量であることを特徴とする請求項1に記載のパターン認識方法。
- 前記加算演算を、1次元又は2次元に並べたM個のブロック領域と、各ブロックにおけるN個のオフセットとの、計M×N個の並列処理により行っていることを特徴とする請求項3に記載のパターン認識方法。
- L種類のヒストグラム特徴量から成る特徴ベクトルFに対し、パターン認識を行うための判別関数g(F)=w・F+b(ただし、w及びbはそれぞれL次元係数ベクトル及びスカラー値を表す。)のw及びbが、線形SVMにより前もって導出されているパターン認識装置において、
前記特徴ベクトルFの各要素のヒストグラムに値を1加算する際、その代わりに該特徴ベクトルFの要素に対応する係数ベクトルwの要素を加算することにより、前記判別関数におけるw・Fの内積演算を加算演算のみで行う係数ベクトル加算手段を有していることを特徴とするパターン認識装置。 - 前記加算演算を、並列処理により行っていることを特徴とする請求項5に記載のパターン認識装置。
- 前記ヒストグラム特徴量がCoHOG特徴量であることを特徴とする請求項5に記載のパターン認識装置。
- 前記加算演算を、1次元又は2次元に並べたM個のブロック領域と、各ブロックにおけるN個のオフセットとの、計M×N個の並列処理により行っていることを特徴とする請求項7に記載のパターン認識装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009219546 | 2009-09-24 | ||
JP2009219546 | 2009-09-24 | ||
PCT/JP2010/066246 WO2011037097A1 (ja) | 2009-09-24 | 2010-09-17 | パターン認識方法及び該方法を用いたパターン認識装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2011037097A1 true JPWO2011037097A1 (ja) | 2013-02-21 |
Family
ID=43795845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011532991A Pending JPWO2011037097A1 (ja) | 2009-09-24 | 2010-09-17 | パターン認識方法及び該方法を用いたパターン認識装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2011037097A1 (ja) |
WO (1) | WO2011037097A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101725126B1 (ko) * | 2011-12-14 | 2017-04-12 | 한국전자통신연구원 | 특징 벡터 분류기 및 이를 이용하는 인식 장치 |
JP5924735B2 (ja) * | 2012-06-28 | 2016-05-25 | 国立大学法人九州工業大学 | 画像特徴抽出及び画像処理のためのシステム、方法及びプログラム |
JP6656988B2 (ja) * | 2016-03-30 | 2020-03-04 | 株式会社エクォス・リサーチ | 画像処理装置、半導体装置、画像認識装置、移動体装置、及び画像処理方法 |
WO2018070032A1 (ja) * | 2016-10-14 | 2018-04-19 | 富士機械製造株式会社 | 画像処理装置 |
US11256950B2 (en) * | 2017-01-31 | 2022-02-22 | Aisin Corporation | Image feature amount output device, image recognition device, the image feature amount output program, and image recognition program |
JP7147292B2 (ja) * | 2018-06-29 | 2022-10-05 | 株式会社デンソー | 勾配方向算出装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4970381B2 (ja) * | 2008-08-08 | 2012-07-04 | 株式会社東芝 | 特徴抽出装置、特徴抽出方法、画像処理装置、及び、プログラム |
-
2010
- 2010-09-17 WO PCT/JP2010/066246 patent/WO2011037097A1/ja active Application Filing
- 2010-09-17 JP JP2011532991A patent/JPWO2011037097A1/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2011037097A1 (ja) | 2011-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jin et al. | Pixel-in-pixel net: Towards efficient facial landmark detection in the wild | |
CN110738207B (zh) | 一种融合文字图像中文字区域边缘信息的文字检测方法 | |
Su et al. | Accurate recognition of words in scenes without character segmentation using recurrent neural network | |
Koyun et al. | Focus-and-Detect: A small object detection framework for aerial images | |
Hiromoto et al. | Hardware architecture for high-accuracy real-time pedestrian detection with CoHOG features | |
Kumar et al. | Efficient feature extraction techniques for offline handwritten Gurmukhi character recognition | |
WO2011037097A1 (ja) | パターン認識方法及び該方法を用いたパターン認識装置 | |
US20200279166A1 (en) | Information processing device | |
JP6656988B2 (ja) | 画像処理装置、半導体装置、画像認識装置、移動体装置、及び画像処理方法 | |
JP2018206252A (ja) | 画像処理システム、評価モデル構築方法、画像処理方法及びプログラム | |
CN114724133B (zh) | 文字检测和模型训练方法、装置、设备及存储介质 | |
Kaur et al. | Brahmi character recognition based on SVM (support vector machine) classifier using image gradient features | |
Chen et al. | Page segmentation for historical handwritten document images using conditional random fields | |
US11481919B2 (en) | Information processing device | |
Wasala et al. | Real-time HOG+ SVM based object detection using SoC FPGA for a UHD video stream | |
Guo et al. | UDTIRI: An online open-source intelligent road inspection benchmark suite | |
Guan et al. | MAN and CAT: mix attention to nn and concatenate attention to YOLO | |
Zhou et al. | A pipeline architecture for traffic sign classification on an FPGA | |
KR20240013085A (ko) | 기계 시각을 위한 이미지 데이터 처리 방법들 및 장치 | |
Jiang et al. | Flexible sliding windows with adaptive pixel strides | |
KR101733288B1 (ko) | 방향정보를 이용한 객체 검출기 생성 방법, 이를 이용한 객체 검출 장치 및 방법 | |
WO2023011606A1 (en) | Training method of live body detection network, method and apparatus of live body detectoin | |
CN114387489A (zh) | 电力设备识别方法、装置和终端设备 | |
Jhuang et al. | Deeppear: Deep pose estimation and action recognition | |
Naosekpam et al. | A hybrid scene text script identification network for regional Indian languages |