JP6923159B2 - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP6923159B2
JP6923159B2 JP2017185477A JP2017185477A JP6923159B2 JP 6923159 B2 JP6923159 B2 JP 6923159B2 JP 2017185477 A JP2017185477 A JP 2017185477A JP 2017185477 A JP2017185477 A JP 2017185477A JP 6923159 B2 JP6923159 B2 JP 6923159B2
Authority
JP
Japan
Prior art keywords
identification
image
feature amount
data
unit
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.)
Active
Application number
JP2017185477A
Other languages
English (en)
Other versions
JP2019061496A (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.)
Kyushu Institute of Technology NUC
Equos Research Co Ltd
Original Assignee
Kyushu Institute of Technology NUC
Equos Research 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 Kyushu Institute of Technology NUC, Equos Research Co Ltd filed Critical Kyushu Institute of Technology NUC
Priority to JP2017185477A priority Critical patent/JP6923159B2/ja
Priority to PCT/JP2018/035608 priority patent/WO2019065703A1/ja
Priority to CN201880062241.5A priority patent/CN111133471A/zh
Priority to US16/649,751 priority patent/US20200279166A1/en
Priority to EP18862940.6A priority patent/EP3690804A4/en
Publication of JP2019061496A publication Critical patent/JP2019061496A/ja
Application granted granted Critical
Publication of JP6923159B2 publication Critical patent/JP6923159B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • 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/50Extraction 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Description

本発明は、情報処理装置に関し、例えば、学習した対象を識別するものに関する。
近年、カメラで撮影した画像から、特定の対象を認識し、これを識別する技術が急速に進展しており、例えば、自動車の運転支援や医療の診断支援など、多方面で利用されつつある。
これら、画像認識技術では、何らかの手法により画像データから特徴量を抽出し、これを識別対象(例えば、人物)の特徴量と比較することにより、当該画像データに識別対象が存在するか否かを判断している。
このような画像認識を行うものに非特許文献1、及び非特許文献2の技術がある。
これらの技術は、画像からHOG特徴量と呼ばれる特徴量を抽出し、これを予め識別対象が写った画像から学習したHOG特徴量と比較することにより識別対象を検出するものである。
この他に画像から特徴量を抽出する技術には、HOG特徴量より頑健性を有するCoHOG特徴量や、更に頑健性を有するMRCoHOG特徴量などがある。
ところで、画像認識に低次元の特徴量を用いる場合に識別精度が低下するため、これを以下に高めるかが課題となっていた。
低次元の特徴量は小さい回路で抽出できるため、これによる識別精度が向上できれば、容易に半導体チップに実装することができる。
この画像認識技術が半導体チップに実装できれば、車両や航空機などの移動体に搭載したり、あるいは携帯端末やウェアラブル端末に搭載したりなど、あらゆる場面での利用が見込まれる。
一方、ニューラルネットワークに対象を学習させ、これによる学習結果(ニューラルネットワーク)を用いて、入力されたデータで対象を認識し、これを識別する技術が急速に進展している。
しかし、ニューラルネットワークは、教師信号を使用したバックプロパゲーションなどにより学習が行われるが、この学習処理は膨大な計算処理が必要であり、入力データ数(特徴量の次元数)が多くなると、莫大な量の計算が必要になるという問題がある。
また、ニューラルネットワークをハードウェアに実装する場合にも、入力データ数の増加は、回路の複雑化・大規模化が問題となる。
Tomoki Watanabe, Satoshi Ito etc.;"Co−occurrence Histograms of Oriented Gradients for Human Detection", IPSJ Transactions on Computer Vision and Applications, Vol.2 pp.39−47, 2010 Navneet Dalal, Bill Triggs.:"Histgrams of Oriented Gradients for Human Detection", IEEE Computer Society Conference on Computer Vision & Pattern Recognition, Vol.1 pp.886−893, 2005
本発明は、識別精度を向上させることを目的とする。
(1)本発明は、前記目的を達成するために、請求項1に記載の発明では、識別対象を記録した画像データにおける輝度勾配の共起の分布を当該識別対象の特徴量として取得する特徴量取得手段と、多値化した重み付けを用いて識別対象を学習した識別手段と、前記特徴量取得手段が取得した特徴量を複製する複製手段と、前記特徴量取得手段が取得した特徴量と、前記複製手段が複製した特徴量を前記識別手段に入力する入力手段と、前記識別手段が、前記入力手段が入力した特徴量を用いて識別した識別結果を出力する出力手段と、を具備したことを特徴とする情報処理装置を提供する。
(2)請求項2に記載の発明では、前記識別手段は、2値化された重み付けにより前記識別対象の学習が行われている、ことを特徴とする請求項1に記載の情報処理装置を提供する。
(3)請求項3に記載の発明では、前記識別手段は、バイナリニューラルネットワークである、ことを特徴とする請求項1、又は請求項2に記載の情報処理装置を提供する。
(4)請求項に記載の発明では、前記バイナリニューラルネットワークは、前記複製手段が複製した特徴量を多値化して加算する加算器と、前記加算器の出力を計数するカウンタを用いて構成されていることを特徴とする請求項3に記載の情報処理装置を提供する。
本発明は、識別対象データを複製することにより、識別精度を向上させることができる。
画像認識装置を実装したコンピュータの構成の一例を示した図である。 BNNの仕組みを説明するための図である。 領域の部分を示した図である。 領域の部分を示した図である。 識別装置を説明するための図である。 実験結果を示した図である。 実験結果を示した図である。 実験結果を示した図である。 回路規模を比較した表である。 メモリの容量を比較した表である。 画像認識装置の動作を説明するためのフローチャートである。 識別装置を説明するための図である。 特徴量の複製による識別精度の向上について考察した図である。 実験結果を示した図である。 画像認識装置の動作を説明するためのフローチャートである。 識別装置を説明するための図である。 画像認識装置の動作を説明するためのフローチャートである。 HOG特徴量の概念を説明するための図である。 CoHOG特徴量の概念を説明するための図である。 MRCoHOG特徴量の概念を説明するための図である。 計算方法を説明するための図である。 画像処理装置の回路構成を示した図である。 解像度変換処理を説明するための図である。 勾配方向算出部などの動作を説明するための図である。 垂直方向のデータ延ばし処理を説明するための図である。 水平方向のデータ延ばし処理を説明するための図である。 共起行列を計算する仕組みを説明するための図である。 画像処理手順を説明するためのフローチャートである。 半導体装置の構成例を示した図である。
(1)実施形態の概要
画像認識装置200(図1)は、カメラ84で撮像した画像から特徴量を取得する画像処理装置21と、取得した特徴量を用いて、画像に所定の識別対象が存在するか否かを判定して、これを識別する識別装置201を備えている。
画像処理装置21は、画像から特徴量として、HOG特徴量、CoHOG特徴量、MRCoHOG特徴量、Haar−like特徴量等の各種特徴量を取得する。
識別装置201は、予め識別対象を学習したBNN(バイナリニューラルネットワーク
)を備えており、画像処理装置21が取得した特徴量をBNNで2値計算することにより識別処理を行う。BNNによる識別対象の学習は、画像処理装置21が画像から取得した特徴量を入力データとし、当該画像から認識されるべき結果を教師信号として、ネットワークの重み付けを最適化したものである。
カメラ84で撮像した画像は、当該画像から画像処理装置21で高次元特徴量が取得され、学習済みのBNNに入力されることで、当該画像に対する認識結果が出力される。
第1実施形態では、この学習済みのBNNに対して、画像処理装置21が出力する高次元特徴量の全てを入力対象とするのではなく、高次元特徴量のうち識別に有効な部分を選択することで、識別処理に用いる次元(入力対象データ数)を減らしている。また、第2実施形態では、画像処理装置21が出力する低次元特徴量を複製して次元(入力対象データ数)を増やしている。第3実施形態では、第1実施形態と第2実施形態を組み合わせたもので、画像処理装置21が出力する高次元の特徴量のうち識別に有利部分を選択すると共に、選択した特徴量を複製することで増やしている。
浮動小数点を用いた乗算などを要する一般のニューラルネットワークに比べて、BNNは、2値による加算で計算を行うことができ、また、特徴量の次元を選択・複製することにより、要求される識別精度を担保しつつ、識別に用いる特徴量の次元を適度に調節できるため、識別装置201を小規模で低消費電力のハードウェア回路に実装することができる。
(2)実施形態の詳細
図1は、本実施形態に係る画像認識装置200を実装したコンピュータ80の構成の一例を示した図である。
コンピュータ80は、例えば、車両に搭載されて、自動運転やナビゲーションなどの運転支援に用いられる。
なお、以下ではコンピュータ80が画像認識処理を行う場合について説明するが、この技術は、音声認識や医療診断など、人工知能が行う識別処理に広く適用することができる。
コンピュータ80は、CPU(Central Processing Unit)81、ROM(Read Only Memory)82、RAM(Random Access Memory)83、カメラ84、画像認識装置200、記憶装置85、入力装置87、出力装置88などから構成されている。
CPU81は、記憶装置85に記憶されたアプリケーションプログラムに従って所望の処理を行うほか、コンピュータ80の各部の制御などを行う。
ROM82は、CPU81がコンピュータ80を動作させるための基本的なプログラムやパラメータなどを記憶した読み取り専用のメモリである。
RAM83は、CPU81がアプリケーション機能を発揮するためのワーキングメモリを提供する読み書きが可能なメモリである。
画像認識装置200が行った画像認識の識別結果は、RAM83に記憶され、アプリケーションプログラムに従って利用される。
カメラ84は、動画撮影カメラであって、被写体を動画撮影して動画フレームからなる画像データを時系列に従って画像認識装置200に出力する。当該画像データは、識別対象を記録した記録データとして機能している。
画像認識装置200は、画像データから画像認識対象である人物(ここでは、特定の人物ではなく一般の歩行者などを意味する)を識別し、その識別結果を出力するハードウェア装置で構成された情報処理装置であり、画像データから特徴量を抽出して取得する画像処理装置21と、当該抽出した特徴量から識別対象を認識して識別する識別装置201を備えている。画像処理装置21は、特徴記述部として機能している。
このように、一般的に、画像認識システムは、特徴量を取得するモジュールと、特徴量を識別するモジュールの2つがワンセットになって構成されている。
画像処理装置21は、半導体装置71によって半導体チップ化(ICチップ化)されており、当該ICチップは、ビデオキャプチャボード86に実装されている。画像処理装置21の回路構成の詳細については後述する(図22等を参照)。
ところで、画像認識技術には、画像から特徴量として輝度勾配分布を抽出し、これを予め学習した画像の輝度勾配分布と比較することにより対象を認識するものがある。
輝度勾配分布による特徴量としては、HOG特徴量(Histograms of Oriented Gradients)が有名であり、盛んに研究されている。
HOG特徴量を発展させた特徴量にCoHOG特徴量(Co−occurrence HOG)があり、HOG特徴量よりも頑健性(ロバスト性)を有している。
そして、近年、CoHOG特徴量よりも更に頑健性を有するMRCoHOG特徴量(Multi Resolution CoHOG)が提案されている。
MRCoHOG特徴量は、極めて高い頑健性を有していることが実験により明らかになってきている。
更に、別の特徴としてHaar−like特徴量というのも存在する。
画像処理装置21には、これらの特徴量を適用することができる。一例として、本明細書の後半部分でMRCoHOG特徴量を用いた画像処理装置21のハードウェア的な構成例について説明する。
識別装置201は、予め識別対象を学習したBNN(Binarized Neural Networks、日本ではバイナリニューラルネットワークとも呼ばれる)であり、画像処理装置21が出力した特徴量の入力を受けて、画像データに識別対象が存在するか否かを識別する。
識別装置201もICチップ化されている。図示しないが、識別装置201も半導体装置71と共にビデオキャプチャボード86に実装し、画像認識装置200を一体のビデオキャプチャボード86で実現することもできる。
また、画像処理装置21と識別装置201を半導体装置71に一体形成し、これをビデオキャプチャボード86に実装することもできる。
記憶装置85は、例えば、ハードディスクや半導体メモリなどの記憶媒体を用いた記憶装置であり、CPU81に画像認識による識別結果を用いた応用処理を行わせるためのアプリケーションプログラムなどを記憶している。
また、記憶装置85は、アプリケーションプログラムの動作設定などを記憶するデータ記憶部も備えている。
この動作設定は、例えば、画像認識装置200が人物を検出した場合に、ドライバにアラームを発するか否かといった内容がユーザによってなされたものである。
入力装置87は、コンピュータ80に各種の情報を入力する装置であり、ユーザがコンピュータ80を操作するための操作ボタンなどの入力デバイスで構成されている。
出力装置88は、コンピュータ80が各種の情報を出力する装置であり、例えば、操作画面を表示したり、カメラ84が撮影した動画上で画像認識装置200が検知した人物を矩形で囲って表示したりする液晶ディスプレイなどの出力デバイスで構成されている。
次に、識別装置201について説明する。
識別装置201は、BNN、即ち、2値化したニューラルネットワークによって特徴量を識別する。後述するように、識別装置201は、多値化した重み付けを用いて識別対象を学習した識別手段として機能する識別部231(図5、図12、図16)を備えている。
識別装置201で、BNNを用いたのは、一般の浮動小数点を用いたニューラルネットワークでは、乗算などを行うためハードウェア回路が大面積となってしまい、半導体装置への実装が困難なためである。
後述するように、BNNは、重みを1と−1の2値とし、加算器とカウンタなどを用いて構成できるため、回路面積が、例えば、浮動小数点を用いた場合の100分の1程度になり、ハードウェアへの実装が容易であると共に消費電力も小さくなる。更に、後述するように小規模な回路構成にもかかわらず、実用に十分耐えうる識別性能を発揮する。
図2は、識別装置201が用いるBNNの仕組みを説明するための図である。
BNN210は、入力ユニット211−i(i=1、2、3)からなる入力層と、隠れユニットを構成する中間ユニット213−j(j=1、2)からなる中間層(隠れ層)と、出力ユニット215−k(k=1、2、3)からなる出力層を有している。
なお、入力層、中間層、出力層を構成するユニットの数は、一例であって、任意の数とすることができる。
これらユニットは、ニューラルネットワークのノードを構成する計算ユニット(パーセプトロン)であって、各相間で各ユニットを全結合することによりニューラルネットワークを形成している。
以下では、入力ユニット211−iを特に区別しない場合は、単に入力ユニット211と記すことにし、中間ユニット213と出力ユニット215についても同様とする。
入力ユニット211−iから中間ユニット213−jへの出力に対しては、{−1、1}の2値の何れかの値をとる計算の重みWjiが設定されている。
また、中間ユニット213−jから出力ユニット215−kへの出力に対しても、{−1、1}の2値の何れかの値をとる計算の重みWkjが設定されている。
なお、図ではi、j、kを下付の添え字で表しているが、明細書中では文字化けを防止するため通常の大きさで記す。他の要素についても同様とする。
また、図では、変数x、y、z、wを小文字で記しているが、明細書中では、変数と添え字の視認性をよくするために、これらをX、Y、Z、Wの大文字で記す。
入力ユニット211−iへの入力Xiは、画像処理装置21が出力した特徴量の成分である。
中間ユニット213の活性化関数は{−1、1}に2値化されており、中間ユニット213−jの出力Yjは、{−1、1}の2値の何れかをとる。
出力ユニット215−kは、中間ユニット213の出力を合計し、その符号を{−1、1}の2値で出力する。
出力ユニット215−kの出力Zkは、k番目の識別対象に対応している。例えば、出力ユニット215−1は、人物に対応しており、人物を識別した場合は、Z1=1を出力し、人物を検出しなかった場合は、Z1=−1を出力する。他の出力ユニット215も同様である。以下に、これらの演算について説明する。
図3は、図2の部分220(入力層と中間層の一部)を示した図である。
入力ユニット211−iは、入力されたXiにWjiに基づく演算f(Xi、Wji)を行って中間ユニット213−jに出力する。この演算は、Xiの符号をWjiの符号に揃えるものであって、Wjiが1ならf(Xi、Wji)=Xiとなり、Wjiが−1ならf(Xi、Wji)=−Xiとなる。
図の例では、入力ユニット211−2、211−3が、それぞれf(X2、W22)とf(X3、W23)を計算して中間ユニット213−2に出力している。
これに対して中間ユニット213−jは、各入力ユニット211−iが中間ユニット213−jに対して出力した値を式225に従って加算し、合計値が0以上ならYj=1を出力し、それ以外ならYj=−1を出力することによりその符号を出力する。このように、中間ユニット213は、入力ユニット211に対して加算器として機能する。
図の例では、中間ユニット213−2は、入力ユニット211−2、211−3の出力値を加算している。
図4は、図2の部分221を示した図である。
中間ユニット213−jは、式226中のXnor(Yj、Wkj)従ってYjとWkjの否定排他的論理和をとり、その結果を出力ユニット215−kに出力する。
具体的には、(Yj、Wkj)が(1、1)及び(−1、−1)の場合には、中間ユニット213−jは、出力ユニット215−kに1を出力し、その他の場合には−1を出力する。
一方、出力ユニット215−kは、カウンタを用いて構成されており、各中間ユニット213−jから送られてきた2値の値を式226に従って加算し、0以上だったらZk=1を出力し、それ以外ならZk=−1を出力することによりその符号を出力する。出力層には、活性化関数を適用しない。
図の例では、出力ユニット215−2は、中間ユニット213−1、213−2の出力値を式226で計算している。
以上、図2〜4を用いてBNN210について説明したが、これら重みWji、Wkjは、学習により設定されたものである。
例えば、入力層から入力した特徴量が人物の場合は、出力ユニット215−1が1で他の出力ユニット215が−1となり、背景の場合は、出力ユニット215−2が1で他の出力ユニット215が−1となり、他の対象物(例えば猫)の場合は、出力ユニット215−3が1で他の出力ユニット215が−1となるように設定されている。
先に述べたように、一般の浮動小数点を用いたニューラルネットワークの場合、重みなどが実数となるため、浮動小数点の乗算の計算が必要であるが、BNN210は、加算器とカウンタを用いた加算(減算も加算の一種である)回路で構成することができる。
このため、BNN210は、浮動小数点を用いた乗算を行う必要がなく、加算で済むため、回路構成が単純で回路面積を小さくすることができる。
このように、バイナリニューラルネットワーク(BNN210)は、特徴量を2値化して加算する加算器と、当該加算器の出力を計数するカウンタを用いて構成されている。
以上に説明したBNN210は、中間層が1層であるが、更に多層とすることもできる。この場合、中間層は、全て中間ユニット213と同様の2値の活性化関数による計算を行う。
また、中間層のユニット数を入力層や出力層よりも少なく設定しているが、多く設定することもできる。中間層が少ない場合は、入力された特徴量をより絞り込むことができ、多い場合は、特徴量の次元が増えて識別対象が分離しやすくなる。中間層のユニット数は、このような性質を持っており、試行錯誤などにより適正な数が求められる。
また、BNN210は、2値で計算したが、3値以上の離散値で計算するように構成することも可能である。
(第1実施形態)
図5は、本実施形態に係る識別装置201を説明するための図である。
識別装置201は、選択部230と識別部231を備えている。
画像処理装置21は、動画フレームの画像データから高次元の特徴量を抽出し、これを選択部230に出力する。
このように、画像処理装置21は、識別対象データ(画像データ)の特徴量を取得する特徴量取得手段として機能している。
ここでは、一例として、特徴量をMRCoHOG特徴量とする。MR−CoHOG特徴量は、32592次元を有する高次元のベクトルデータ(所定の順序で成分を並べたもの、具体的には後述するようにヒストグラム)であって、32592個の成分から構成されている。
なお、特徴量を高次元としたのは、高次元の場合に特に画像認識装置200が有効であるためであって、高次元でない特徴量を用いることも可能である。
選択部230は、画像処理装置21から入力された選択前特徴量233から、予め指定された所定の部分からなる成分を選択し、選択した選択後特徴量234を識別部231に入力する。
このように、選択部230は、抽出により取得した特徴量から識別に使用する予め指定された部分を選択する選択手段として機能している。
高次元の特徴量を選択して間引くことにより、識別に用いる特徴量の成分を少なくすることができる。これによって、識別装置201の回路が小型化され、回路面積を低減することができる。また、これに伴って消費電力も小さくなる。
特徴量の選択する部分は、ランダムに指定してもよいが、本実施形態では、識別性能を高めるべく、識別精度(正しく対象を検出できる検出精度)の向上に有効な部分を選択用に指定している。
そして、本実施形態では、識別精度の向上に資する特徴量の部分をReal AdaBoost(以下、RAdBという)と呼ばれる識別器のアルゴリズムを用いて決定した。
RAdBは、識別器用に広く用いられているアルゴリズムであるが、本実施形態では、識別用ではなく、特徴量を選択するのに用いている。
RAdBは、選択する特徴量の成分の個数を指定すると、その個数分の成分を自動的に指定して出力する。このように本願発明者は、RAdBの新たな使用方法を開拓した。
ここで、選択手段は、RAdBなどの識別アルゴリズムにより予め指定された部分を特徴量から選択している。
そして、選択手段は、識別アルゴリズムにより予め指定された、識別手段による識別精度が高くなる部分を特徴量から選択している。
なお、選択する部分の指定手段は、これに限定するものではなく、各特徴記述の特性から決定してもよい。
また、選択前特徴量233の入力端子列を入力層と見なし、選択後特徴量234の出力端子列と、入力ユニット211からなる入力層を2層からなる中間層と見なすことも可能であるため、学習の一環として、選択する成分を変化させながら識別精度が高くなる部分を探索してもよい。
このように、選択する成分を指定する段階では、選択部230にRAdBを利用するが、一度指定された後は、これを固定して使用するため、選択前特徴量233の端子と、選択後特徴量234の端子を結線し、選択前特徴量233の他の端子は結線しないで終端しておくことで、選択機能を実現することができる。
また、以上の例では、識別に際して効果の大きい成分を指定するという視点から選択する部分を決定したが、更に、画像処理装置21の回路を簡素化するという視点から選択する成分を決定することもできる。
即ち、特徴量のある成分の集合が、画像処理装置21のある回路に依存しており、その成分の集合を選択しなくても識別性能に与える影響が小さく、かつ、その回路を省略しても画像処理装置21が他の特徴量を計算できる場合、その集合に属する成分を、これを計算する回路ごと画像処理装置21から省略することができる。
例えば、MR−CoHOG特徴量では、低解像度画像、中解像度画像、高解像度画像の間で輝度勾配の共起のヒストグラムを特徴量とするが、低解像度画像と高解像度画像の間の共起を取れば所望の識別精度が得られる場合、中解像度画像は、必要なく、中解像度画像を生成したり、生成した中解像度画像の輝度勾配を計算したり、中解像度画像と低解像度画像、及び高解像度画像との間の輝度勾配の共起を計測する回路構成を画像処理装置21から省くことが可能となる。
そこで、識別精度に寄与する成分を選択するという視点と、画像処理装置21の回路構成を簡略化するという視点の双方から所望の識別精度が得られる特徴量の部分を追い込んでいき、これによって選択する成分を設定することも可能である。
この場合、特徴量取得手段は、特徴量抽出手段が識別対象データである画像データから抽出した輝度勾配の共起の分布に基づく特徴量を取得し、選択手段は、識別アルゴリズムにより予め指定された、特徴量抽出手段による抽出処理又は抽出回路構成を簡略化する部分を特徴量から選択している。
識別部231は、BNN210を用いており、選択前特徴量233の端子列から選択された選択後特徴量234を用いて識別処理を行う。
このように、識別部231は、選択した部分を識別手段に入力する入力手段を備えており、2値化された重み付けにより識別対象(この例では、人物と背景)の学習が既に行われているバイナリニューラルネットワークで構成されている。
識別部231は、識別処理により、対象を人物と識別した場合は、出力ユニット215−1を1に設定すると共に出力ユニット215−2を−1に設定して識別結果を出力し、対象を背景(人物が写っていない=背景)と識別した場合には、出力ユニット215−1を−1に設定すると共に出力ユニット215−2を1に設定して識別結果を出力する。
このように、識別部231は、入力した部分を識別手段が用いて識別した識別結果を出力する出力手段を備えている。
このような画像認識装置200を構成した後、本願発明者は、どの程度まで特徴量の成分数を選択によって絞り込むことができ、また、識別部231の回路構成を簡略化することが可能であるか、各種の実験を行った。
次に、これらの実験について説明する。何れの実験もMR−CoHOG特徴量を用いて行った。
図6は、特徴量の選択を行わずに入力次元数を32592次元のままで(即ち、入力ユニット211は、32592個ある)、中間層の中間ユニット213のユニット数を削減した場合の識別精度の変化を示した実験結果である。
比較のために、識別装置201をRAdBで構成した場合の識別精度も記してある。
図に示したように、RAdBの場合の識別精度は、97.59%であった。
一方、中間層のユニット数を、1024、256、64、16、4、2、1と順次減らしていった場合の識別精度は、それぞれ、98.32%、98.29%、98.41%、98.31%、98.26%、98.12%、98.29%であった。
実験結果から分かるように、中間ユニット213の数が1個でも識別精度が98%以上有り、十分実用に耐えることができる。
図7は、特徴量を選択することにより入力次元を500次元に減らした状態で(即ち、入力ユニット211は、500個ある)、中間ユニット213のユニット数を削減した場合の識別精度の変化を示した実験結果である。
図に示したように、RAdBの場合の識別精度は、97.59%であった。
一方、中間層のユニット数を、1024、256、64、16、4、2、1と順次減らしていった場合の識別精度は、それぞれ、98.37%、98.37%、97.97%、97.74%、97.39%、97.39%、97.05%であった。
実験結果から分かるように、中間ユニット213の数が1個でも識別精度が97%以上有り、十分実用に耐えることができる。
図8は、中間ユニット213を1個にし、選択する特徴量の入力次元を500から順次削減していった場合(即ち、入力ユニット211を500から削減していった場合)の識別精度の変化を示した実験結果である。
図に示したように、入力次元を、500、200、100、64、32、16、8、4と減らしていった場合の識別精度は、それぞれ、97.13%、95.79%、94.52%、93.30%、91.79%、90.03%、88.57%、83.96%であった。
実験結果から分かるように、入力次元が4次元で中間ユニット213が1個でも識別精度が83%以上有り、用途によっては実用に耐えることができる。また、入力次元が16次元以上では、識別精度が90%以上有り、十分に実用に耐えることができる。
以上、図6〜図8を用いて実験結果について説明したが、学習は、入力次元やユニット数を変化させるごとに行った。
図9は、識別装置をRAdBで構成した場合と識別装置201で構成した場合との回路規模を比較した表である。識別装置201に関しては、中間ユニット213が1個の場合を示している。
Resisterは小容量のメモリであって、RAdBの場合は、137個のResisterを必要とするのに対し、識別装置201の場合は16個で足りる。
LUTsは、ルックアップテーブルであって、複雑な計算処理を単純な配列の参照処理で置き換えるものである。
RAdBの場合は、1226個のLUTsを要するのに対し、識別装置201の場合は、8個で足りる。
DSPは、デジタル信号プロセッサであって、RAdBの場合は、20個のDSPを必要とするのに対し、識別装置201の場合は、必要ない。
Block RAMは、大容量のメモリであって、RAdBの場合は、2個のBlock RAMが必要であるのに対し、識別装置201の場合は、必要ない。
以上のように、従来から識別器として使用されているRAdBに比べて識別装置201は、小規模の回路で構成することができ、半導体装置化、即ち、ICチップ化に適している。
図10は、識別装置をRAdBで構成した場合と、中間ユニットを1個とする識別装置201で構成した場合に必要なメモリの容量を比較した表である。
表に示したように、RAdBは、1024キロビットを要するのに対し、識別装置201は、0.5キロビット(選択する特徴量を500次元とした場合)で済む。
図11は、本実施形態の画像認識装置200の動作を説明するためのフローチャートである。
以下の処理は、画像処理装置21と識別装置201のハードウェア回路が行うものである。
まず、画像処理装置21が、カメラ84が出力した動画フレームの入力を受け付ける(ステップ105)。
次に、画像処理装置21が、回路に従って動画フレームを処理し、動画フレームの選択前特徴量233を抽出して識別装置201に出力する(ステップ110)。
一方、識別装置201は、画像処理装置21から入力を受け付けた選択前特徴量233を選択部230で選択し(ステップ115)、選択後特徴量234を識別部231に入力する(ステップ120)。
次に、識別装置201は、選択後特徴量234をBNN210で計算することにより識別処理を行い、計算の結果得られた識別結果を出力する(ステップ125)。
次に、画像認識装置200は、処理を終了するか否かを判断し、処理を終了する場合は(ステップ130;Y)、画像認識処理を終了し、処理を終了しない場合は(ステップ130;N)、ステップ105に戻って、次の動画フレームに対して画像認識処理を行う。
この処理を終了するか否かの判断は、例えば、図示しないメニュー画面からユーザが終了を指示したか否かにより判断する。
以上に述べた第1実施形態によれば、次のような効果を得ることができる。
(1)画像認識装置200は、BNN210を用いて識別を行う際に、高次元の特徴量から識別に重要な特徴を選択し、これをBNN210の入力層へ入力することができる。
非特許文献1の従来技術では、高次元特徴量を全て用いて計算を行っているため、処理コストが大きくなってしまうが、このように入力する特徴量の選択を行うことで、計算コスト・ハードウェアリソースを削減できる。
(2)識別部231にBNN210を用い、中間層(中間層への入力と中間層からの出力)に対する重みと活性化関数を2値化することにより処理コストの低減を図ることができる。また、BNN210はハードウェアに実装する際、加算器及びカウンタで計算できるため、小コストで実装することができる。
(3)識別に重要な特徴量の選択をRAdBを用いて指定することができる。これによって識別精度に有効に作用する特徴量の部分を選択するため、次元数と中間ユニット213の大幅な削減が可能となる。
(4)特徴量を選択して入力した場合でも高い識別性能を保つことができ、回路規模においてもRAdBより軽量に実装することができる。
(5)本実施形態では、識別装置201をハードウェアで実現したが、ソフトウェアで実現する場合も構築が容易となる。
(第2実施形態)
画像処理装置21によっては、低次元の特徴量を用いる場合がある。
例えば、非特許文献2の技術では、低次元な特徴量(例えば約500次元)から識別を行うため、人物の検出精度に限界がある。
より高精度な検出を行う場合、高次元の特徴量を計算する必要があるが、そのまま全ての特徴量を計算すると計算コストが増大してしまう。
また、必要な識別精度を確保するために、BNNを更に多値化する研究も行われている。
しかし、特徴量を高次元化したり、ニューラルネットワークを多値化すると、回路が複雑化し、回路面積が増大してしまう。
これに対して、本願発明者は、ニューラルネットワークは2値化のままで、低次元の特徴量を複製することにより識別精度を高めることに成功した。
以下、当該複製による画像認識処理について説明する。
図12は、本実施形態に係る識別装置201を説明するための図である。
画像認識装置200は、画像処理装置21と識別装置201から構成されており、識別装置201は、複製部240と識別部231を備えている。
画像処理装置21は、動画フレームから抽出した特徴量を複製部240に出力する。
一例として、画像処理装置21は、動画フレームから、100次元程度の低次元のHOG特徴量(即ち、成分が100個程度存在する)を抽出して複製部240に出力するものとする。
ここで、画像処理装置21は、識別対象を記録した記録データ(動画フレームの画像データ)から当該識別対象の特徴量を取得する特徴量取得手段として機能しており、識別装置201は、当該特徴量を識別対象データとして取得する識別対象データ取得手段を備えている。
そして、特徴量取得手段は、当該画像データにおける例えばHOG特徴量による輝度勾配の共起の分布を特徴量として取得している。
複製部240は、画像処理装置21から入力された複製前特徴量243を所定の数だけ複製して複製後特徴量244を生成し(図の例では2倍に複製している)、これを識別部231に入力する。
このように、複製部240は、識別対象データを複製する複製手段を備えている。
複製は、例えば、複製前特徴量243の出力端子を複数の複製後特徴量244の入力端子に並列に結線することにより行われる。
また、複製前特徴量243の出力先を複数の複製後特徴量244の端子にリダイレクトすることにより、複製前特徴量243を順次出力することによって各成分を複数回識別部231に入力してもよく、この場合も複製に含まれるものとする。
識別部231は、BNN210を用いており、複製前特徴量243から選択された複製後特徴量244を用いて識別処理を行う。
このように、識別部231は、複製した識別対象データを識別手段に入力する入力手段を備えており、2値化された重み付けにより識別対象(この例では、次に述べるように人物と背景)の学習が既に行われているバイナリニューラルネットワークで構成されている。
そして、このバイナリニューラルネットワークを構成するBNN210は、複製した識別対象データを多値化して加算する加算器と、加算器の出力を計数するカウンタを用いて構成されている。
識別部231は、識別処理により、対象を人物と識別した場合は、出力ユニット215−1を1に設定すると共に出力ユニット215−2を−1に設定する識別結果が出力され、対象を背景(人物の写っていない=背景)と識別した場合には、出力ユニット215−1を−1に設定すると共に出力ユニット215−2を1に設定して識別結果を出力する。
このように、識別部231は、入力した識別対象データを用いて識別した識別結果を出力する出力手段を備えている。
図13は、特徴量の複製による識別精度の向上について考察した図である。
後の実験結果が示すように、特徴量を複製することにより次元を増やして識別部231に入力すると識別精度が向上する。
これは、複製しない場合は、図13の左図に示したように、中間層での計算を重みと活性化関数を2値化するため、特徴量の1つの成分からネットワーク内部で表現できる値が{−X、X}に限られてしまうのに対し、2倍に複製した場合は、右図に示したように、表現できる値が{−2X、0、2X}というように増えるためである。3倍以上に複製すると、更に、表現できる値が増える。
図14は、複製による識別精度の変化を示した実験結果である。
オリジナルの画像データから取得した特徴量が100次元で複製を行わない場合、これを2倍に複製(1回複製)して200次元にした場合、更に、3倍に複製(2回複製)して300次元にした場合、4倍(3回複製)に複製して400次元にした場合、5倍に複製(4回複製)して500次元にした場合、及び、特徴量が500次元で複製を行わない場合の識別精度は、それぞれ、94.52%、95.56%、95.81%、96.18%、96.09%、97.13%であった。
このように、複製の数を増やすごとに識別精度が向上し、94.5%〜96%程度の識別精度を確保できるため、十分に実用に耐えることができる。
この実験により、高次元の特徴量を用いたり、ニューラルネットワークを3値以上に多値化したりしなくても、低次元の特徴量を複製するという簡単な処理により、識別精度が向上することが分かった。
図15は、本実施形態の画像認識装置200の動作を説明するためのフローチャートである。
以下の処理は、画像処理装置21と識別装置201のハードウェア回路が行うものである。
まず、画像処理装置21が、カメラ84が出力した動画フレームの入力を受け付ける(ステップ105)。
次に、画像処理装置21が、回路に従って動画フレームを処理し、動画フレームの特徴量(複製前特徴量243)を抽出して識別装置201に出力する(ステップ110)。
一方、識別装置201は、画像処理装置21から入力を受け付けた複製前特徴量243を複製し(ステップ150)、生成した複製後特徴量244を識別部231に入力する(ステップ120)。
次に、識別装置201は、入力された複製後特徴量244に対して識別部231で計算し、計算の結果得られた識別結果を出力する(ステップ125)。
次に、画像認識装置200は、処理を終了するか否かを判断し、処理を終了する場合は(ステップ130;Y)、画像認識処理を終了し、処理を終了しない場合は(ステップ130;N)、ステップ105に戻って、次の動画フレームに対して画像認識処理を行う。
この処理を終了するか否かの判断は、例えば、図示しないメニュー画面からユーザが終了を指示したか否かにより判断する。
なお、本実施形態では、動画フレームの画像データから特徴量を抽出したが、画像認識装置200に画像処理装置21を備えず、動画フレームの画像データを直接識別装置201に入力することも可能である。
この場合、識別データ取得手段が取得する識別対象データは、動画フレームの画像データ(記録データに相当)となる。
また、特徴量の第1成分は、2個に複製し、第2成分は4個に複製し、といったように、成分ごとに複製する個数を変化させてもよい。
以上に述べた第2実施形態によれば、次のような効果を得ることができる。
(1)BNN210を用いて識別を行う際、特徴量の複製を行い、これをBNN210の入力層へ入力する。入力する特徴量の複製を行うことでネットワーク内部で表現できる値を増やし、識別部231の識別性能の向上を図ることができる。
(2)識別部231にBNN210を用い、中間層での計算を重みと活性化関数を2値化することにより処理コストの低減を図ることができる。また、BNN210はハードウェアに実装する際、加算器及びカウンタで計算できるため、小コストで実装することができる。
(3)低次元な特徴量を入力する場合においても、新規に別の特徴量を抽出することなく複製を行うため、画像処理装置21における計算コストを削減することができる。
(4)BNN210は、ハードウェアに実装する際、加算器およびカウンタで構成できるため、特徴量の複製により入力を増やしたとしても低コストで実装することができる。
(5)本実施形態では、識別装置201をハードウェアで実現したが、ソフトウェアで実現する場合も構築が容易となる。
(第3実施形態)
図16は、本実施形態に係る識別装置201を説明するための図である。
本実施形態の識別装置201は、第1実施形態と第2実施形態を組み合わせたものである。
識別装置201は、選択部230、複製部240、及び識別部231を備えており、これらの構成は、上の実施形態で説明したものと同様である。
画像処理装置21は、特徴量を選択部230に出力し、選択部230は、識別に用いる成分を選択して複製部240に入力する。
これに応じて、複製部240は、選択部230から入力された特徴量を複製して識別部231に入力する。
そして、識別部231は、複製された特徴量を計算して画像認識対象を識別する。
なお、複製後特徴量244を設けずに、識別装置201内に配線を設け、識別装置201の入力手段が複製を行ってもよい。
このように、本実施形態の画像認識装置200は、特徴量から識別に使用する予め指定された部分を選択する選択手段と、当該選択手段が選択した部分を複製する複製手段と、選択手段が選択した部分と複製手段が複製した部分を識別手段に入力する入力手段を備えている。
図17は、本実施形態の画像認識装置200の動作を説明するためのフローチャートである。
以下の処理は、画像処理装置21と識別装置201のハードウェア回路が行うものである。
まず、画像処理装置21が、カメラ84が出力した動画フレームの入力を受け付ける(ステップ105)。
次に、画像処理装置21が、回路に従って動画フレームを処理し、動画フレームの特徴量(選択前特徴量233)を抽出して識別装置201に出力する(ステップ110)。
一方、識別装置201は、画像処理装置21から入力を受け付けた選択前特徴量233を選択部230で選択し(ステップ115)、選択後特徴量234を複製部240に入力する。
複製部240は、選択部230から入力された選択後特徴量234を複製前特徴量243として受け付け、これを複製して(ステップ150)、複製後特徴量244を識別部231に入力する(ステップ120)。
次に、識別装置201は、複製された特徴量を識別部231のBNN210で計算することにより識別処理を行い、計算の結果得られた識別結果を出力する(ステップ125)。
次に、画像認識装置200は、処理を終了するか否かを判断し、処理を終了する場合は(ステップ130;Y)、画像認識処理を終了し、処理を終了しない場合は(ステップ130;N)、ステップ105に戻って、次の動画フレームに対して画像認識処理を行う。
この処理を終了するか否かの判断は、例えば、図示しないメニュー画面からユーザが終了を指示したか否かにより判断する。
以上のように、選択の後に複製を行ったが、複製部240と選択部230の順番を入れ替えて、特徴量の複製後に選択を行ってもよい。
以上に述べた、第1実施形態〜第3実施形態については、次のように構成することができる。
(第11構成)
識別対象データの特徴量を取得する特徴量取得手段と、前記特徴量取得手段が取得した特徴量から、識別に使用する予め指定された部分の特徴量を選択する選択手段と、多値化した重み付けを用いて識別対象を学習した識別手段と、前記選択手段が選択した部分の特徴量を前記識別手段に入力する入力手段と、前記識別手段が、前記入力手段が入力した部分の特徴量を用いて識別した識別結果を出力する出力手段と、を具備したことを特徴とする情報処理装置。
(第12構成)
前記識別手段は、2値化された重み付けにより前記識別対象の学習が行われている、ことを特徴とする第11構成に記載の情報処理装置。
(第13構成)
前記選択手段は、RAdBなどの識別アルゴリズムにより予め指定された部分の特徴量を前記特徴量取得手段が取得した特徴量から選択する、ことを特徴とする第11構成又は第12構成に記載の情報処理装置。
(第14構成)
前記選択手段は、前記識別アルゴリズムにより予め指定された、前記識別手段による識別精度が高くなる部分の特徴量を前記特徴量取得手段が取得した特徴量から選択する、ことを特徴とする第13構成に記載の情報処理装置。
(第15構成)
前記特徴量取得手段は、特徴量抽出手段が識別対象データである画像データから抽出した輝度勾配の共起の分布に基づく特徴量を取得し、前記選択手段は、前記識別アルゴリズムにより予め指定された、前記特徴量抽出手段による抽出処理又は抽出回路構成を簡略化する部分の特徴量を前記特徴量取得手段が取得した特徴量から選択する、ことを特徴とする第13構成に記載の情報処理装置。
(第16構成)
前記識別手段は、バイナリニューラルネットワークである、ことを特徴とする第11構成から第15構成までのうちの何れか1構成に記載の情報処理装置。
(第17構成)
前記バイナリニューラルネットワークは、前記部分の特徴量を2値化して加算する加算器と、前記加算器の出力を計数するカウンタを用いて構成されていることを特徴とする第16構成に記載の情報処理装置。
(第18構成)
前記選択手段が選択した部分の特徴量を複製する複製手段を具備し、前記入力手段は、前記選択手段が選択した部分の特徴量と前記複製手段が複製した部分の特徴量を前記識別手段に入力する、ことを特徴とする第11構成から第16構成までのうちの何れか1の構成に記載の情報処理装置。
(第21構成)
識別対象データを取得する識別対象データ取得手段と、多値化した重み付けを用いて識別対象を学習した識別手段と、前記識別対象データ取得手段が取得した識別対象データを複製する複製手段と、前記複製手段が複製した識別対象データを前記識別手段に入力する入力手段と、前記識別手段が、前記入力手段が入力した識別対象データを用いて識別した識別結果を出力する出力手段と、を具備したことを特徴とする情報処理装置。
(第22構成)
前記識別手段は、2値化された重み付けにより前記識別対象の学習が行われている、ことを特徴とする第21構成に記載の情報処理装置。
(第23構成)
前記識別手段は、バイナリニューラルネットワークである、ことを特徴とする第21構成、又は第22構成に記載の情報処理装置。
(第24構成)
識別対象を記録した記録データから当該識別対象の特徴量を取得する特徴量取得手段を具備し、前記識別対象データ取得手段は、前記特徴量取得手段が取得した特徴量を識別対象データとして取得することを特徴とする第21構成、第22構成、又は第23構成に記載の情報処理装置。
(第25構成)
前記記録データは、画像データであり、前記特徴量取得手段は、前記画像データにおける輝度勾配の共起の分布を前記特徴量として取得することを特徴とする第24構成に記載の情報処理装置。
(第26構成)
前記バイナリニューラルネットワークは、前記複製手段が複製した識別対象データを多値化して加算する加算器と、前記加算器の出力を計数するカウンタを用いて構成されていることを特徴とする第23構成に記載の情報処理装置。
(画像処理装置21の構成)
以上、識別装置201について3つの実施形態について説明したが、以下では、画像認識装置200を構成するもう一つの要素である画像処理装置21について説明する。
(1)識別装置201の概要
画像処理装置21(図22)は、高解像度画像から輝度勾配方向を抽出する3ラインバッファ25a〜バッファ28aから構成された高解像度画像用の処理ライン、中解像度画像から輝度勾配方向を抽出する中解像度部24b〜バッファ28bから構成された中解像度画像用の処理ライン、及び低解像度画像から輝度勾配方向を抽出する低解像度部24c〜バッファ28cから構成された低解像度画像用の処理ラインを並列に配設しており、これら3つの解像度の画像から並行して同時に輝度勾配方向を画素ごとに抽出する。
共起行列作成部30a、30b、30cは、これら3つの解像度の画像から抽出した輝度勾配方向を用いて共起行列を作成し、ヒストグラム作成部31がこれを用いてヒストグラムをMRCoHOG特徴量として出力する。
3つの解像度の画像を同時に処理するため、高速に処理でき、カメラから出力される動画をリアルタイムで処理することができる。
(2)識別装置201の詳細
まず、HOG特徴量、CoHOG特徴量、及びMRCoHOG特徴量について簡単に説明する。
図18は、HOG特徴量の概念を説明するための図である。
HOG特徴量は、次の手順により画像から抽出される。
図18(a)左図に示した画像101は、対象を観測する観測窓などによる注目画像領域とする。
まず、画像101を矩形のセル102a、102b、・・・に分割する。
次に、図18(a)右図に示したように、セル102ごとに各画素(ピクセル)の輝度勾配方向(低輝度から高輝度に向かう方向)を例えば8方向に量子化する。
次に、図18(b)に示したように、量子化した輝度勾配の方向を階級とし、出現回数を度数とするヒストグラムを生成することにより、セル102に含まれる輝度勾配のヒストグラム106をセル102ごとに作成する。
そして、セル102をいくつか集めたブロック単位でヒストグラム106の合計度数が1となるように正規化する。
図18(a)左図の例では、セル102a、102b、102c、102dから1ブロックが形成されている。
このようにして正規化したヒストグラム106a、106b、・・・を図18(c)のように一列に並べたヒストグラムが画像101のHOG特徴量107である。
図19は、CoHOG特徴量を説明するための図である。
CoHOG特徴量は、局所領域における2画素間の勾配ペアに着目した特徴量であり、次の手順により画像から抽出される。
図19(a)に示したように、画像101を矩形のセル102a、102b、・・・に分割する。なお、セルは、ブロックとも呼ばれる。
CoHOG特徴量では、セル102a、102b、・・・に注目画素110を設定し、注目画素110の輝度勾配方向と、注目画素110から距離1〜4にある画素の輝度勾配方向との組合せにより共起行列(注目画素110に関するヒストグラム)を作成する。なお、注目画素110との組合せに係る画素はオフセットと呼ばれる。
例えば、注目画素110からの距離は、数式で表されるが、当該数式を適用すると、図19(a)に示したように、距離1の画素として、注目画素110に隣接する画素1a〜1dが得られる。
なお、注目画素110の上と左の画素が組合せに含まれないのは、一番上の画素行の左端から右方向に向けて順に注目画素110を設定して処理していくため、既に処理が終了しているからである。
次に、注目画素110と画素1aの輝度勾配方向を観察する。輝度勾配方向は、例えば8方向に量子化されており、図では方向を矢線で示してある。
注目画素110の輝度勾配方向は、右方向で画素1aの輝度勾配方向は、右上方向である。
そこで、図19(b)の共起行列113で、(行番号、列番号)=(右方向、右上方向)の要素に一票を投じる。
図19(b)の例では、注目画素110と画素1aの輝度勾配方向の組みとして、行番号として右方向の矢印が記載された行と、列番号として右上方向の矢印が記載された列の要素に1が加算された結果、当該要素の値が10になっている。
なお、本来は、共起行列113を立体的なヒストグラムで描き、票数を高さ方向の棒グラフで表すべきであるが、図を簡略化するため票数を数値で表している。
以下、同様に注目画素110と画素1b、1c、1dとの組合せによる投票(計数)を行う。
図19(c)に示したように、注目画素110を中心に、距離2の画素は画素1a〜1dの外周にある画素2a〜2f、距離3の画素は更にその外周の画素3a〜3h、距離4の画素は更にその外周の画素4a〜4lと規定されている。
これらについても同様に注目画素110と組合せて共起行列113に投票する。
以上の投票処理をセル102を構成する全画素について行い、画素ごとの共起行列が得られる。
更に、これを全てのセル102で行い、全ての共起行列の成分を図19(d)に示したように一列に並べたヒストグラムが画像101のCoHOG特徴量117である。
図20は、MRCoHOG特徴量を説明するための図である。
MRCoHOG特徴量は、同じ画像の異なる解像度間で共起をみることでオフセット数を大幅に削減する。
まず、図20(a)に示したように、元画像から解像度(画像サイズ)の異なる画像を生成することにより高解像度画像120(元画像)、中解像度画像121、低解像度画像122を得る。画像中の升目は、画素を表している。図示しないが、これら各解像度画像にもセル(ブロックとも呼ばれる)が設定されている。
そして、高解像度画像120、中解像度画像121、及び低解像度画像122のそれぞれの画素について量子化した輝度勾配方向を計算する。
MRCoHOG特徴量の抽出には、中解像度画像121、低解像度画像122を用いるが、分かり易くするために、図20(b)に示したように、中解像度画像121と低解像度画像122を中解像度画像121aと低解像度画像122aに引き延ばし、高解像度画像120と同じサイズにする。
次に、図20(c)に示したように、CoHOG特徴量と同様に、高解像度画像120の注目画素125における輝度勾配方向と、その周囲の高解像度画像120の画素1a〜1dの輝度勾配方向との共起(輝度勾配方向の組合せ)を取って、図示しない共起行列に投票する。
次に、高解像度画像120の注目画素125と、画素1a〜1dの外周にある中解像度画像121aの画素2a〜2dとの共起に従って共起行列に投票し、更に、注目画素125と、画素2a〜2dの外周にある低解像度画像122aの画素3a〜3dとの共起に従って共起行列に投票する。
このようにして、高解像度画像120の注目画素125に対して、高解像度画像120内での組合せ、中解像度画像121aとの組合せ、低解像度画像122aとの組合せで共起を取った共起行列が得られる。
この処理を、高解像度画像120のセル内の各画素に対して行い、更に、全てのセルについて行う。
これにより、高解像度画像120の画素ごとの共起行列が得られる。
同様にして、更に、中解像度画像121aに注目画素を設定した場合の各解像度画像との共起行列、低解像度画像122aに注目画素を設定した場合の各解像度画像との共起行列を計算し、全ての共起行列の成分を図20(d)に示したように一列に並べたヒストグラムが高解像度画像120のMRCoHOG特徴量127である。
なお、この例では、高解像度画像120に注目画素を設定した場合の共起行列、中解像度画像121aに注目画素を設定した場合の共起行列、低解像度画像122aに注目画素を設定した場合の共起行列を連結したヒストグラムをMRCoHOG特徴量としたが、何れか1つ、例えば、高解像度画像120に注目画素を設定した場合の共起行列によるヒストグラムをMRCoHOG特徴量とすることも可能である。
また、何れか2つを組合せてもよいし、更に、解像度を増やして4種類以上の解像度画像で共起をとってもよい。
MRCoHOG特徴量によって、CoHOGより大幅に特徴量を減らすことができる一方、頑健性がCoHOGよりもよいことが発明者等による実験から明らかになっている。
これは、解像度を低下させることによりノイズが低減することと、注目画素から離れた部分との共起を見るためではないかと推測されている。
次に、数学的な計算式のハードウェアへの適用形態について説明する。
MRCoHOG特徴量を算出するためには、平方根、除算、逆正接を計算する必要がある。
ところが、コンピュータは、加算によって平方根などの各種計算をするため、これらの演算は、負荷が大きい。
そのため、計算速度を高速化したり、ICチップ化できるように回路規模を適正なものにするためには、ハードウェアに適した計算方法を考案する必要がある。
図21は、本実施形態で用いる計算方法を説明するための図である。
図21(a)の式(1)のm(x、y)は、座標(x、y)にある画素の輝度勾配の勾配強度の計算式を示している。
なお、文字化け防止のために、下付の小文字は、全角文字で表す。
fx(x、y)、fy(x、y)は、それぞれ、x方向(水平方向・横方向)とy方向(垂直方向・縦方向)の輝度の勾配強度である。
fx(x、y)、fy(x、y)は、数学的には、輝度をx方向、y方向に偏微分して求めるが、本実施形態では、fx(x、y)を着目画素の水平方向(左右横方向)両隣に隣接する画素の輝度の差分で表し、fy(x、y)を着目画素の垂直方向(上下縦方向)両隣に隣接する画素の輝度の差分で表す。
式(1)に示したように、勾配強度は、平方根を含んでいるが、ユーグリッド距離をマンハッタン距離に置き換えることにより、式(1)を式(2)の加算式で近似する。
この置き換えは、図21(a)の右図に示したように、地点TU間のユーグリッド距離である(t自乗+u自乗)の平方根を、マンハッタン距離であるt+uで近似するものである。名称のマンハッタンは、米国都市のマンハッタンの街路が碁盤の目状であることに由来する。
勾配強度は、輝度勾配に係る輝度の高低差が大きいほど大きくなる量であり、ゼロオフセットに用いられる。
勾配強度が所定の閾値に達しないものに関しては、例えば、共起を取らないなどの所定の処理を行うが、画像の識別精度に与える影響が小さいため、本実施形態では、当該処理については説明を省略する。
実験の結果、ユーグリッド距離をマンハッタン距離で置き換えても画像認識能力には、殆ど影響しないことが確認された。
図21(b)の式(3)は、一般に使用される輝度勾配方向θの計算式を示している。
式(3)は、fx(x、y)によるfy(x、y)の除算と、逆正接(arctangent)の計算が含まれているため、計算に必要な処理負荷が大きくなる。
そこで、本実施形態では、MRCoHOG特徴量の計算で必要なのは、式(3)による正確な値ではなく、量子化された輝度勾配方向であることに着目し、式(3)を用いずに、fx(x、y)とfy(x、y)の組と輝度勾配方向を対応させた対応テーブルを用意し、これによってfx(x、y)とfy(x、y)の組を量子化された輝度勾配方向に写像する。
図21(c)は、角度θの範囲と量子化した輝度勾配方向θとの関係を表したものである。
本実施形態では、一例として、輝度勾配方向を8方向に量子化するものとする。
ここでは、図21(c)に示すように、輝度勾配方向θが0°≦θ<45°のものは0°に量子化し、45°≦θ<90°のものは45°に量子化し、他の角度も同様に、90°、135°、180°、225°、270°、315°に量子化するものとする。
この手法では、まず、分類11に従って、fx(x、y)とfy(x、y)の正負の組合せをa〜dに分類する。
分類aはfx(x、y)とfy(x、y)が共に正の場合、分類bはfx(x、y)とfy(x、y)が共に負の場合、分類cはfx(x、y)か正でfy(x、y)が負の場合、分類dは、fx(x、y)が負でfy(x、y)が正の場合である。
次に、fx(x、y)とfy(x、y)の大小関係を比較し、分類12に従って、量子化された輝度勾配方向に対応させる。
分類がaで、yがx以下の場合は、0°に対応させ、yがxより大きい場合は、45°に対応させる。
分類がbで、−yがx以下の場合は、90°に対応させ、−yがxより大きい場合は、135°に対応させる。
分類がcで、yがx以上の場合は、180°に対応させ、yがxより小さい場合は、225°に対応させる。
分類がdで、−yがx以上の場合は、270°に対応させ、−yがxより小さい場合は、315°に対応させる。
このように、本実施形態では、分類11、12によって構成される対応テーブルを参照することにより、逆正接や除算を使用せずに、高速に量子化された輝度勾配方向を得ることができる。
このように、本実施形態の画像処理装置は、注目画素の隣接画素の輝度を用いて注目画素の水平方向の輝度勾配強度fx(x、y)、及び垂直方向の輝度勾配強度fy(x、y)を取得し、当該取得した水平方向の輝度勾配強度と垂直方向の輝度勾配強度を、水平方向の輝度勾配強度と垂直方向の輝度勾配強度の正負及び大小と、量子化した勾配方向と、を対応させた対応テーブルで参照して量子化した勾配方向を出力している。
図22は、本実施形態の画像処理装置の回路構成を示した図である。
画像処理装置21は、半導体装置として、例えば、半導体チップの上に形成されている。
画像処理装置21は、3ラインバッファ25a〜バッファ28aから構成された高解像度画像処理ラインと、中解像度部24b〜バッファ28bから構成された中解像度画像処理ラインと、低解像度部24c〜バッファ28cから構成された低解像度画像処理ラインを備えている。
これらのパイプラインは、並列に配設されており、高中低解像度の画像を同時に並行処理するため、高速に処理することができる。
ここで、高解像度画像処理ライン、中解像度画像処理ライン、及び低解像度画像処理ラインの組合せから成る回路は、順次出力される輝度を用いて、複数の解像度における各画素の輝度の勾配方向を解像度別に並行して順次出力する勾配方向出力手段として機能している。
そして、高解像度画像処理ライン、中解像度画像処理ライン、及び低解像度画像処理ラインは、それぞれ、複数の解像度ごとに並列して設けられ、後述の画像入力部23から順次出力される輝度から当該解像度の画素における輝度の勾配方向を出力する複数の解像度別勾配方向出力手段として機能している。
画像処理装置21は、クロックに同期して、これらの解像度別勾配方向出力手段を同時に動作させることにより、解像度別の勾配方向を並行して順次出力することができる。
以下、画像処理装置21を構成する各回路について説明する。
MRCoHOG特徴量を計算するには、画像を構成する各画素の輝度データが有ればよい。
そのため、本実施形態では、YUYV形式で形成された画像から、画素のY(輝度)を抽出してこれを輝度データとして画像処理装置21に入力する。
以下では、画像のi行目j列の画素の輝度データや後述の勾配方向データを(i−j)などと対応する画素の行番号と列番号で表すことにする。
画像入力部23は、動画カメラから送信されてくるフレームの画像の輝度データを画素順(当該画素が画像で配置されている順序)に基づいて順次出力する回路であり、画像を構成する画素の輝度を当該画素の順番に基づいて順次出力する輝度出力手段として機能する。
なお、本実施形態では、予めYUYV形式の画像から輝度データYを抽出し、これを画像として画像入力部23に入力するが、画像入力部23、あるいは、勾配方向算出部26a、26b、26cで画素データから輝度成分を抽出するように構成してもよい。
画像40は、図24(a)に示したように、1行目の輝度データ(0−0)、(0−1)、(0−2)、・・・、(0−n)、2行目の輝度データ(1−0)、(1−1)、(1−2)、・・・、・・・、(1−n)、m行目の輝度データ(m−0)、(m−1)、(m−2)、・・・、(m−n)から構成されている。
画像入力部23は、動画カメラから送られてくる画像40から輝度データを上の行から右方向に順に読み出し、輝度データ(0−0)、(0−1)、(0−2)、・・・、(0−n)、(1−0)、(1−1)、・・・の順に出力する。
図22に戻り、画像入力部23の出力線は、3ラインバッファ25a、中解像度部24b、低解像度部24cに配線されており、画像入力部23が出力した輝度データは、3ラインバッファ25a、中解像度部24b、低解像度部24cのそれぞれに同時に出力される。
なお、図22では、高解像度の輝度データの配線を太線の矢線で表し、中解像度の輝度データの配線を細線の矢線で表し、低解像度の輝度データの配線を点線で示している。
中解像度部24bと低解像度部24cは、それぞれ、画像40の解像度(サイズ)を1/2と1/4に変換する解像度変換回路である。
これらの解像度変換回路により、画像40から解像度が1/2、1/4の画像が生成される。
なお、画像40は、解像度を変換せずにそのまま高解像度画像としても使用される。
解像度を変換する(リサイズする)方法には、最近隣接補間、バイリニア補間、バイキュビック補間などがある。
最近隣接補間は、リサイズ前の画素を抜き出してそのまま使う方法であり、バイリニア補間は、対象画素を中心とする2×2の領域を加重平均する方法であり、バイキュビック補間は、対象画素を中心とする4×4の領域を3次関数によって補完する方法である。
画像処理装置21では、計算が単純で、更に、検出精度が高まる(後述)最近隣接補間を採用した。
図23は、中解像度部24b、低解像度部24cによる解像度変換処理を説明するための図である。
中解像度部24bは、図23(a)の画像40bに示したように、画像入力部23が送信してくる画像40の輝度データのうち、斜線で示した1つおきの頻度で輝度データを読み込み、その他の輝度データを読み飛ばすことにより、垂直方向・水平方向の輝度データが1つおきとなった解像度1/2の画像データを生成する。
低解像度部24cは、画像40cに示したように、画像入力部23が送信してくる画像40の輝度データのうち、斜線で示した3つおきの頻度で輝度データを読み込み、その他の輝度データを読み飛ばすことにより、垂直方向・水平方向の輝度データが3つおきとなった解像度1/4の画像データを生成する。
このような輝度データの間引きを行うことによって、中解像度部24bは、解像度が1/2となった中解像度画像を生成・出力し、低解像度部24cは、解像度が1/4となった低解像度画像を生成・出力する。
最近隣接補間を採用したため、不要なデータを読み飛ばし、必要なデータを拾うという計算負荷の小さい簡単な処理によって解像度を変更することができる。
このように画像処理装置21は、輝度出力手段(画像入力部23)から順次出力される輝度を当該解像度に基づく頻度によって選択することにより、当該解像度の輝度を順次出力する。
より詳細には、高解像度画像処理ライン(3ラインバッファ25a〜バッファ28a)は、高解像度に基づく頻度(全部選択するので頻度は全部)によって画素(の輝度)を選択して出力し、中解像度画像処理ライン(中解像度部24b〜バッファ28b)では、中解像度部24bが中解像度に基づく頻度(1つおき)によって画素(の輝度)を選択して出力し、低解像度画像処理ライン(低解像度部24c〜バッファ28c)では、低解像度部24cが低解像度に基づく頻度(3つおき)によって画素(の輝度)を選択して出力している。
これらの処理ラインは、これらの輝度データを用いて各解像度における勾配方向を出力する。
図23(b)は、最近隣接補間を使用した場合の識別率と、バイリニア補間を用いた場合の識別率の実験結果を示したROC(Receiver Operating Characteristic)曲線図である。
縦軸と横軸は、それぞれ再現率と誤検出率となっており、曲線の下側の面積が大きいほど識別率がよいことを示している。
図に示したように、最近隣接補完を用いた場合の識別率は、バイリニア補完を用いた場合の識別率よりも圧倒的によい性能を示している。これは、バイリニア補間と比べてエッジがはっきりとしているため、精度が向上したと考えられる。
このように最近隣接補間は、処理が簡単なのでハードウェア実装に向いているのに加えて、識別率も大いに向上する。
図22に戻り、3ラインバッファ25aは、高解像度画像の輝度データを蓄えて、3行分を並列して勾配方向算出部26aに出力する回路である。
勾配方向算出部26aは、3行分の輝度データを用いて高解像度画像における注目画素の輝度勾配方向を表す勾配方向データを出力する回路である。
3ラインバッファ25bは、中解像度画像の輝度データを蓄えて、3行分を並列して勾配方向算出部26bに出力する回路である。
勾配方向算出部26bは、3行分の輝度データを用いて中解像度画像における注目画素の輝度勾配方向を表す勾配方向データを出力する回路である。
3ラインバッファ25cは、低解像度画像の輝度データを蓄えて、3行分を並列して勾配方向算出部26cに出力する回路である。
勾配方向算出部26cは、3行分の輝度データを用いて低解像度画像における注目画素の輝度勾配方向を表す勾配方向データを出力する回路である。
図24は、3ラインバッファ25aと勾配方向算出部26aの詳細な動作を説明するための図である。
図24(a)を用いて先に説明したように、画像入力部23からは、高解像度画像の画像40の輝度データが(0−0)、(0−1)、・・・と出力される。
3ラインバッファ25aは、図24(b)に示したように、これら輝度データを行別に3行分蓄えて、これら3行分を並列して勾配方向算出部26aに出力する。
図24(b)の例では、画像40の2行目の輝度データ(1−0)、(1−1)、(1−2)、・・・と、3行目の輝度データ(2−0)、(2−1)、(2−2)、・・・と、4行目の輝度データ(2−0)、(2−1)、(2−2)、・・・を画素の列を揃えながら並行して勾配方向算出部26aに出力している場合を表している。
勾配方向算出部26aは、並列して出力される3行分の輝度データの入力を受け付けて、量子化された輝度勾配方向を出力する。
図に示したように、勾配方向算出部26aは、3行3列の記憶素子の配列を備えており、3ラインバッファ25aの出力に同期して3行3列分の輝度データを取り込んで、これら輝度データによる輝度を読み取る。
図に示したように、勾配方向算出部26は、3行3列の輝度データのうち、中央の輝度データを注目画素に設定する。図の例では、太線の矩形で囲った輝度データ(2−1)が注目画素の輝度データとなる。
そして、勾配方向算出部26aは、注目画素と水平方向に隣接する輝度データ(2−2)、(2−0)の輝度の差分から水平方向の輝度勾配強度fx(x、y)を算出し、注目画素と垂直方向に隣接する輝度データ(1−1)、(3−1)の輝度の差分から垂直方向の輝度勾配強度fy(x、y)を算出する。
勾配方向算出部26aは、fx(x、y)とfy(x、y)を求めると、これを図21の式(2)に代入してm(x、y)を求め、m(x、y)が閾値に達していない場合は、所定の処理を行う。
m(x、y)が閾値に達している場合は、fx(x、y)、fy(x、y)を対応テーブルで参照して、当該画素の量子化した輝度勾配方向を表す勾配方向データ(2−1)を出力する。
このように、勾配方向データは、輝度データと同様に画素に対応して生成される。
次のクロックでは、輝度データの列が1つ移動し、勾配方向算出部26a2に示したように、次の輝度データ(2−2)が注目画素となって、勾配方向データ(2−2)が出力される。
このように、勾配方向算出部26aは、クロックごとに勾配方向データを順次出力する。
また、勾配方向算出部26aは、最後の列に達すると、行が1つ分進み、次の行の輝度データを注目画素とする勾配方向データを出力する。
同様に、3ラインバッファ25bと勾配方向算出部26bは、中解像度画像の勾配方向データを出力し、3ラインバッファ25cと勾配方向算出部26cは、低解像度画像の勾配方向データを出力する。
このように、勾配方向算出部26aに配設された3行3列の記憶素子の配列には、注目画素の位置と、これに隣接する隣接画素の位置が対応づけられており、この位置の対応を用いて、クロックに従って順次送られてくる輝度データにおいて、注目画素の輝度データと隣接画素の輝度データを順次特定していく。
これら注目画素の位置や隣接画素の位置を通過する順序は、画像入力部23が輝度データを出力した順序によって定まる。
これは、バケツリレー式に順次送られてくる輝度データの経路上に、注目画素用の窓と隣接画素用の窓を設け、これらの窓で観察することにより、注目画素の輝度データと隣接画素の輝度データを特定しているのと論理的に同じである。
画像処理装置21では、エッジの処理や回路構成が簡単となるため、輝度データを3行分バッファリングして、これを3行3列の配列に順次送り出す構成としたが、これは一例であって、画像入力部23が出力した順序に基づいて注目画素と隣接画素の輝度データを特定する各種の変形が可能である。
同様に、勾配方向算出部26b、26cは、それぞれ、中解像度部24b、低解像度部24cが画像40をダウンサンプリングして輝度データを出力した順序に基づいて注目画素と隣接画素の輝度データを特定している。
このように、解像度別勾配方向出力手段は、当該解像度の輝度の出力順序に基づいて注目画素の水平方向、及び垂直方向に隣接する隣接画素の輝度を特定し、当該特定した隣接画素の輝度を用いて注目画素の勾配方向を出力する。
そして、解像度別勾配方向出力手段は、隣接画素の位置が対応づけられた配列に、当該解像度の輝度の出力順序に基づいて輝度を配置することにより、隣接画素の輝度を特定している。
また、当該配列は、注目画素の属する画素行と、当該画素行と垂直方向に隣接する2つの画素行の3つの画素行に対応する3つの配列から構成されており、解像度別勾配方向出力手段は、3つの画素行の輝度を、それぞれ対応する3つの配列に配置し、当該輝度が配置された位置によって隣接画素の輝度を特定している。
図22に戻り、縦方向2倍部27bと縦方向4倍部27cは、それぞれ、中解像度画像と低解像度画像について、垂直方向の勾配方向データを垂直方向に2倍、4倍に延ばす回路である。
この処理は、後に共起行列作成部30aなどで共起を読み取る際のタイミングを合わせるためのものである。
図25は、垂直方向のデータ延ばし処理を説明するための図である。
データ51は、データ延ばし前の勾配方向データの構成を示している。各升目が各勾配方向データを表しており、これらが対応する画素の順に並べられている。
データ51の各行を複製して、複製元の行と隣接させて配置すると、垂直方向に2倍に伸ばしたデータ52と、4倍に伸ばしたデータ53が得られる。
この手法により、縦方向2倍部27bは、勾配方向算出部26bから出力された中解像度画像の勾配方向データを行ごとに複製して縦方向(垂直方向)に2倍に延ばす。
また、縦方向4倍部27cは、勾配方向算出部26cから出力された低解像度画像の勾配方向データを行ごとに複製して縦方向に4倍に延ばす。
図22に戻り、バッファ28a、28b、28cは、それぞれ、勾配方向算出部26a、縦方向2倍部27b、縦方向4倍部27cから出力される高解像度画像の勾配方向データ、中解像度画像の勾配方向データ、低解像度画像の勾配方向データを一時的に記憶しておくバッファである。
タイミングコントローラ29は、高解像度画像、中解像度画像、低解像度画像の勾配方向データを共起行列作成部30a、30b、30cに送出するタイミングを制御する制御回路である。
タイミングコントローラ29は、これら各解像度画像の勾配方向データがバッファ28a、28b、28cに揃うまで待機し、これらが揃ったら出力する。
これにより、解像度変更によってずれてしまった各解像度画像ごとの出力タイミングを揃えることができる。
高解像度画像の勾配方向データは図の太線、中解像度画像の勾配方向データは図の細線、低解像度画像の勾配方向データは図の点線、といったように、各解像度画像の勾配方向データは、それぞれ異なる配線から出力される。
これらの配線は、それぞれ、共起行列作成部30a、30b、30cと接続しており、これによって、解像度画像別の勾配方向データが共起行列作成部30a、30b、30cに送信される。
更に、タイミングコントローラ29は、共起行列作成部30a、30b、30cが共起を取るタイミングを合わせるために、中解像度画像と低解像度画像の勾配方向データを、それぞれ水平(横)方向に2倍、4倍に延ばす。
図26は、水平方向のデータ延ばし処理を説明するための図である。
データ列55、56、57は、それぞれ、タイミングコントローラ29が、高解像度画像、中解像度画像、低解像度画像の勾配方向データを出力するタイミングを表している。
例えば、タイミングコントローラ29は、データ列55に示されるように、高解像度画像の勾配方向データに対して、1番目のデータから順次30番目のデータまで1回ずつ出力する。
これに対して、中解像度画像の勾配方向データに対しては、データ列56に示されるように、1番目のデータを1回、2番目のデータから15番目のデータをそれぞれ2回ずつ、16番目のデータを1回、高解像度の出力タイミングに合わせて出力する。
また、低像度画像の勾配方向データに対しては、データ列57に示されるように、1番目のデータを3回、2番目のデータから7番目のデータを4回ずつ、8番目のデータを3回、高解像度の出力タイミングに合わせて出力する。
なお、データ列55とデータ56の最初と最後における出力回数がそれぞれ2回ずつ、4回ずつでないのは、データ列55による幅と同じ幅に調整するためである。
これにより、中解像度画像、低解像度画像の勾配方向データが水平方向に、それぞれ2倍、4倍に伸ばされる。
図22に戻り、共起行列作成部30a、30b、30cは、それぞれ、タイミングコントローラ29から出力された勾配方向データを用いて共起による投票を行って共起行列を作成する回路である。
共起行列作成部30a、30b、30cは、それぞれ、高解像度画像、中解像度画像、低解像度画像の画素を注目画素とする共起行列を作成する。
ヒストグラム作成部31は、共起行列作成部30a、30b、30cから出力される共起行列からMRCoHOG特徴量を作成する回路である。
なお、画像処理装置21をICチップ化する場合には、ヒストグラム作成部31を画像処理装置21に含めずに外部の回路とし、ICチップとヒストグラム作成部31を接続するように構成してもよい。
これにより、共起行列作成部30a、30b、30cから出力される共起行列を選択するなど、より柔軟な運用が可能となり、汎用性が向上する。
図27は、共起行列作成部30aが共起行列を計算する仕組みを説明するための図である。
共起行列作成部30aは、タイミングコントローラ29から送信されてくる勾配データを解像度別に2行に渡って記憶する、高解像度画像用の2ラインバッファ61a、中解像度画像用の2ラインバッファ61b、低解像度画像用の2ラインバッファ61cを備えている。
2ラインバッファ61a、61b、61cの右側には、それぞれ、各2ラインバッファ61a、61b、61cに記憶された勾配方向データの配置を示している。
勾配方向データの位置を示す符号は、図20(c)の位置の符号に対応させてある(勾配方向は対応していない)。また、注目画素に対応する勾配方向データを太線の矩形で囲み、投票のためにこれと組合せる相手の画素の勾配方向データを○で囲んである。
図に示したように、2ラインバッファ61a、61b、61cには、それぞれ、高解像度画像、中解像度画像、低解像度画像の勾配方向データが2行3列分配置される。
なお、画像入力部23が輝度データを出力した順に配置するため、2ラインバッファ61a、61b、61cでの配置は、図20(c)と左右が逆になっている。
共起行列記憶部62は、共起による投票を受け付けて共起行列の度数(票数)をインクリメントしていくことにより、注目画素125に対する共起行列を作成する回路である。
まず、共起行列作成部30aは、注目画素125の勾配方向データと画素1a〜1dの勾配方向データとの組合せに基づいて共起行列記憶部62に投票する。
更に、共起行列作成部30aは、注目画素125の勾配方向データと、画素2a〜2dの勾配方向データとの組合せに基づいて共起行列記憶部62に投票し、注目画素125の勾配方向データと、画素3a〜3dの勾配方向データとの組合せに基づいて共起行列記憶部62に投票する。
共起行列作成部30aは、当該注目画素125の投票が完了すると、ヒストグラム作成部31に出力して、共起行列を投票数0にリセットし、2ラインバッファ61a、61b、61cに記憶している勾配方向データの列を1つ進める。
これにより、共起行列作成部30aは、画素1aに対応する勾配方向データを注目画素125の位置に配置し、これを用いた投票を共起行列記憶部62に対して行う。
共起行列作成部30aは、以上の動作を繰り返すことにより、高解像度画像の各画素に対する共起行列を共起行列記憶部62で完成させてヒストグラム作成部31に出力する。
出力された共起行列によるヒストグラムは、ヒストグラム作成部31にて連結され、高解像度画像の画素を注目画素とした場合のMRCoHOG特徴量となる。
図22に戻り、共起行列作成部30b、30cも共起行列作成部30aと同様にして、それぞれ、中解像度画像の画素を注目画素とした場合の共起行列と、低解像度画像の画素を注目画素とした場合の共起行列を出力する。
これにより、中解像度画像の画素を注目画素とした場合のMRCoHOG特徴量と、低解像度画像の画素を注目画素とした場合のMRCoHOG特徴量が得られ、ヒストグラム作成部31は、高中低画像のこれら3つのMRCoHOG特徴量を連結して、MRCoHOG特徴量を完成させる。
画像処理装置21は、以上のように構成されており、各回路は、クロックに同期して同時に動作し、流れ作業にて順次処理を行う。
このようにして動画カメラから出力される画像をリアルタイムで処理することができる。
このように、共起行列作成部30a、30b、30cは、順次出力される解像度別の勾配方向を順次組合せることにより、異なる解像度間における勾配方向の共起に基づく共起行列を作成する共起行列作成手段と、当該作成した共起行列を当該画像の画像特徴量として出力する共起行列出力手段として機能している。
また、共起行列作成部30a、30b、30cは、勾配方向データが出力され順にこれらを2ラインバッファ61a、61b、61cに配置することにより、共起をとる組合せを特定するため、勾配方向出力手段から順次出力される勾配方向の解像度別出力順序に基づいて、注目画素の勾配方向と、当該注目画素と組合せる画素の勾配方向を順次特定し、当該特定した勾配方向の組合せに基づいて共起行列に順次投票することにより共起行列を作成している。
また、2ラインバッファ61a、61b、61cは、共起対象となる勾配方向データを特定する配列として機能しているため、共起行列作成部30a、30b、30cは、注目画素と、当該注目画素と組合せる画素の位置が対応づけられると共に解像度別に設けられた(分けられた)配列に、解像度別出力順序に基づいて勾配方向を解像度別に配置することにより、共起対象として組合せる勾配方向を特定している。
そして、当該配列は、それぞれの解像度について垂直方向に隣接する2つの画素行に対応する6つの配列から構成され、(高解像度画像用のバッファ2つ、中解像度画像用のバッファ2つ、低解像度画像用のバッファ2つの計6つ)、共起行列作成部30a、30b、30cは、それぞれの解像度の2つの画素行の勾配方向を、それぞれ対応する2つの配列に配置し、当該勾配方向が配置された位置によって組合せる勾配方向を特定している。
図28は、画像処理装置21が行う画像処理手順を説明するためのフローチャートである。
まず、画像入力部23が画像40の輝度データを出力し、中解像度部24bと低解像度部24cが、中解像度、低解像度に解像度を変換した輝度データを出力する(ステップ5)。
また、3ラインバッファ25a、25b、25cが、それぞれ、高解像度画像、中解像度画像、低解像度画像の輝度データを3行分バッファリングする(ステップ10)。
また、勾配方向算出部26a、26b、26cが、それぞれ、高解像度画像、中解像度画像、低解像度画像の画素の勾配方向を算出し、勾配方向データを出力する(ステップ15)。
なお、ステップ5、10、15の各処理は並行して同時に行われる。
次に、縦方向2倍部27b、縦方向4倍部27cが、それぞれ、中解像度画像と低解像度画像の勾配方向データを垂直方向に2倍、4倍に延ばす(ステップ20)。
高解像度画像の勾配方向データ、2倍に垂直に伸ばされた中解像度画像の勾配方向データ、及び4倍に垂直に伸ばされた低解像度画像の勾配方向データは、それぞれ、バッファ28a、28b、28cにバッファリングされる。
次に、タイミングコントローラ29が、タイミングを揃えて各解像度の勾配方向データを出力する。
タイミングコントローラ29は、この際に、中解像度画像と低解像度画像の勾配方向データを水平方向に2倍、4倍に伸ばして出力する(ステップ25)。
共起行列作成部30a、30b、30cは、タイミングコントローラ29から出力された各解像度の勾配方向データを用いて、共起行列の要素を計算し、共起行列を作成する(ステップ30)。
更に、ヒストグラム作成部31が、作成された共起行列からヒストグラムを作成し、これをMRCoHOG特徴量として出力する(ステップ35)。
以上、各回路の動作を個別に説明したが、各回路は、クロックに同期して一斉に動作しており、左から流れてきたデータを順次(逐次)処理して右に流す流れ作業を同時に行っている。
図29は、画像処理装置21を用いて半導体装置を構成した例を示した図である。
半導体装置71は、例えば、ICチップによって構成されており、プロセッサ、RAM、MRCoHOGアクセラレータ72、アフィンアクセラレータ、ヒストグラムアクセラレータ、ビデオ入力インターフェース73、ビデオ出力インターフェース74、入出力インターフェース75などが内部に形成されている。
MRCoHOGアクセラレータ72は、画像処理装置21の回路構成が組み込まれており、画像から共起行列を生成して出力する。あるいは、ヒストグラムの作成までやってMRCoHOG特徴量を抽出するように構成してもよい。
半導体装置71は、ビデオ入力インターフェース73から動画データの入力を受け付けて、MRCoHOGアクセラレータ72などにより各フレーム画像のMRCoHOG特徴量を抽出し、これを用いて対象の画像認識をプロセッサで行うことができる。
あるいは、ビデオ出力インターフェース74から動画データを出力すると共にMRCoHOG特徴量を入出力インターフェース75から出力して、外部機器により対象の画像認識を行ってもよい。
1a〜4l 画素
11、12 分類
21 画像処理装置
23 画像入力部
24b 中解像度部
24c 低解像度部
25a、25b、25c 3ラインバッファ
26a、26b、26c 勾配方向算出部
27b 縦方向2倍部
27c 縦方向4倍部
28a、28b、28c バッファ
29 タイミングコントローラ
30a、30b、30c 共起行列作成部
31 ヒストグラム作成部
40 画像
51、52、53 データ
55、56、57 データ列
61a、61b、61c 2ラインバッファ
62 共起行列記憶部
71 半導体装置
72 MRCoHOGアクセラレータ
73 ビデオ入力インターフェース
74 ビデオ出力インターフェース
75 入出力インターフェース
80 コンピュータ
81 CPU
82 ROM
83 RAM
84 カメラ
85 記憶装置
86 ビデオキャプチャボード
87 入力装置
88 出力装置
101 画像
102 セル
106 ヒストグラム
107 HOG特徴量
109a、109b、109c ベクトル
110 注目画素
113 共起行列
117 CoHOG特徴量
120 高解像度画像
121 中解像度画像
122 低解像度画像
125 注目画素
127 MRCoHOG特徴量
200 画像認識装置
201 識別装置
210 BNN
211 入力ユニット
213 中間ユニット
215 出力ユニット
220、221 部分
225、226 式
230 選択部
231 識別部
233 選択前特徴量
234 選択後特徴量
240 複製部
243 複製前特徴量
244 複製後特徴量

Claims (4)

  1. 識別対象を記録した画像データにおける輝度勾配の共起の分布を当該識別対象の特徴量として取得する特徴量取得手段と、
    多値化した重み付けを用いて識別対象を学習した識別手段と、
    前記特徴量取得手段が取得した特徴量を複製する複製手段と、
    前記特徴量取得手段が取得した特徴量と、前記複製手段が複製した特徴量を前記識別手段に入力する入力手段と、
    前記識別手段が、前記入力手段が入力した特徴量を用いて識別した識別結果を出力する出力手段と、
    を具備したことを特徴とする情報処理装置。
  2. 前記識別手段は、2値化された重み付けにより前記識別対象の学習が行われている、
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記識別手段は、バイナリニューラルネットワークである、
    ことを特徴とする請求項1、又は請求項2に記載の情報処理装置。
  4. 前記バイナリニューラルネットワークは、前記複製手段が複製した特徴量を多値化して加算する加算器と、前記加算器の出力を計数するカウンタを用いて構成されていることを特徴とする請求項3に記載の情報処理装置。
JP2017185477A 2017-09-26 2017-09-26 情報処理装置 Active JP6923159B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2017185477A JP6923159B2 (ja) 2017-09-26 2017-09-26 情報処理装置
PCT/JP2018/035608 WO2019065703A1 (ja) 2017-09-26 2018-09-26 情報処理装置
CN201880062241.5A CN111133471A (zh) 2017-09-26 2018-09-26 信息处理装置
US16/649,751 US20200279166A1 (en) 2017-09-26 2018-09-26 Information processing device
EP18862940.6A EP3690804A4 (en) 2017-09-26 2018-09-26 INFORMATION PROCESSING DEVICE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017185477A JP6923159B2 (ja) 2017-09-26 2017-09-26 情報処理装置

Publications (2)

Publication Number Publication Date
JP2019061496A JP2019061496A (ja) 2019-04-18
JP6923159B2 true JP6923159B2 (ja) 2021-08-18

Family

ID=65903391

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017185477A Active JP6923159B2 (ja) 2017-09-26 2017-09-26 情報処理装置

Country Status (5)

Country Link
US (1) US20200279166A1 (ja)
EP (1) EP3690804A4 (ja)
JP (1) JP6923159B2 (ja)
CN (1) CN111133471A (ja)
WO (1) WO2019065703A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11436471B2 (en) * 2017-10-13 2022-09-06 Panasonic Intellectual Property Corporation Of America Prediction model sharing method and prediction model sharing system
CN111382832A (zh) * 2018-12-29 2020-07-07 佳能株式会社 多层神经网络模型的训练和应用方法、装置及存储介质
JP7178323B2 (ja) * 2019-05-23 2022-11-25 日本電信電話株式会社 学習装置、学習方法、および、学習プログラム
JP7459138B2 (ja) * 2019-06-03 2024-04-01 エスアールアイ インターナショナル フォトニックニューラルネットワーク
CN110377773B (zh) * 2019-07-17 2022-03-15 Oppo广东移动通信有限公司 图片处理方法、装置、移动终端以及存储介质
JP6856950B2 (ja) * 2019-07-25 2021-04-14 国立研究開発法人理化学研究所 変換装置、変換方法、プログラム、ならびに、情報記録媒体
JP7385417B2 (ja) * 2019-10-11 2023-11-22 日立造船株式会社 情報処理装置、情報処理方法、および情報処理プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4362537B2 (ja) * 2007-06-06 2009-11-11 シャープ株式会社 画像処理装置、画像形成装置、画像送信装置、画像読取装置、画像処理システム、画像処理方法、画像処理プログラムおよびその記録媒体
JP2012244395A (ja) * 2011-05-19 2012-12-10 Sony Corp 学習装置および方法、画像処理装置および方法、プログラム、並びに記録媒体
JP6266238B2 (ja) * 2013-07-03 2018-01-24 クラリオン株式会社 接近物検出システム、及び車両
JP6234234B2 (ja) * 2014-01-14 2017-11-22 キヤノン株式会社 情報処理装置、情報処理方法、プログラム
CN105118048B (zh) * 2015-07-17 2018-03-27 北京旷视科技有限公司 翻拍证件图片的识别方法及装置

Also Published As

Publication number Publication date
EP3690804A1 (en) 2020-08-05
CN111133471A (zh) 2020-05-08
JP2019061496A (ja) 2019-04-18
US20200279166A1 (en) 2020-09-03
WO2019065703A1 (ja) 2019-04-04
EP3690804A4 (en) 2021-05-05

Similar Documents

Publication Publication Date Title
JP6923159B2 (ja) 情報処理装置
CN111950453B (zh) 一种基于选择性注意力机制的任意形状文本识别方法
CN110717851A (zh) 图像处理方法及装置、神经网络的训练方法、存储介质
Hsu et al. Adaptive fusion of multi-scale YOLO for pedestrian detection
Xiong et al. AI-NET: Attention inception neural networks for hyperspectral image classification
JP6656988B2 (ja) 画像処理装置、半導体装置、画像認識装置、移動体装置、及び画像処理方法
CN110070115B (zh) 一种单像素攻击样本生成方法、装置、设备及存储介质
CN103544504B (zh) 一种基于多尺度图匹配核的场景字符识别方法
JP6967201B2 (ja) 情報処理装置
CN113284088A (zh) 一种csm图像分割方法、装置、终端设备及存储介质
CN111275126A (zh) 样本数据集生成方法、装置、设备及存储介质
Bacea et al. Single stage architecture for improved accuracy real-time object detection on mobile devices
CN111582057B (zh) 一种基于局部感受野的人脸验证方法
Verma et al. Enhanced character recognition using surf feature and neural network technique
CN111968154A (zh) 一种融合hog-lbp和kcf的行人跟踪方法
CN108960285B (zh) 一种分类模型生成方法、舌体图像分类方法及装置
Huang et al. Rotation and scale-invariant object detector for high resolution optical remote sensing images
WO2020196917A1 (ja) 画像認識装置、及び画像認識プログラム
CN114387489A (zh) 电力设备识别方法、装置和终端设备
Zhang et al. Multi-level Feature Fusion Network for Single Image Super-Resolution
CN115049824A (zh) 一种图像识别方法及相关设备
Codex Advancements in Multi-Scale Feature Extraction for Object Recognition and Segmentation
Wang et al. Braille Detection Model Based on Foreground Attention and Semantic Learning
Hajian Single image super-resolution using capsule generative adversarial network
CN116485675A (zh) 图像校正方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200925

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210108

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: 20210618

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210716

R150 Certificate of patent or registration of utility model

Ref document number: 6923159

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150