(57)【要約】  【課題】  特徴量の非線形変換を高速に行う特徴量変換装置を提供する。  【解決手段】  特徴量変換装置１０は、入力された二値の特徴ベクトルの要素をそれぞれ異なる配列に再配列した再配列ビット列を生成する複数のビット再配列器１１１〜１１Ｎと、複数の再配列ビット列の各々と入力された特徴ベクトルとの論理演算をそれぞれ行って、それぞれ論理演算ビット列を生成する複数の論理演算器１２１〜１２Ｎと、生成された複数の論理演算ビット列を統合して、非線形変換特徴ベクトルを生成する特徴統合部１３とを備えている。【選択図】  図１２
2015015014.tif 000002
【特許請求の範囲】
【請求項１】
入力された二値の特徴ベクトルの要素をそれぞれ異なる配列に再配列した複数の再配列ビット列を生成するビット再配列部と、
前記複数の再配列ビット列の各々と入力された前記特徴ベクトルとの論理演算をそれぞれ行って、複数の論理演算ビット列を生成する論理演算部と、
生成された複数の前記論理演算ビット列を統合して、非線形変換特徴ベクトルを生成する特徴統合部と、
を備えたことを特徴とする特徴量変換装置。
【請求項２】
前記特徴統合部は、さらに、入力された前記特徴ベクトルの要素も生成された複数の前記論理演算ビット列とともに統合することを特徴とする請求項１に記載の特徴量変換装置。
【請求項３】
前記論理演算部は、前記再配列ビット列と、入力された前記特徴ベクトルとの排他的論理和を計算することを特徴とする請求項１又は２に記載の特徴量変換装置。
【請求項４】
前記ビット再配列部は、入力された前記特徴ベクトルの要素に対して、キャリーなしローテートシフトを行うことで前記再配列ビット列を生成することを特徴とする請求項１ないし３のいずれかに記載の特徴量変換装置。
【請求項５】
入力された前記特徴ベクトルがｄ次元であるときに、ｄ／２個の前記ビット再配列部を備えたことを特徴とする請求項４に記載の特徴量変換装置。
【請求項６】
前記ビット再配列部は、入力された前記特徴ベクトルの要素に対して、ランダムな再配列を行うことを特徴とする請求項１ないし３のいずれかに記載の特徴量変換装置。
【請求項７】
入力された実数の特徴ベクトルを二値化して前記二値の特徴ベクトルを生成する複数の二値化部と、
前記複数の前記二値化部の各々に対応する複数の共起要素生成部と、
を備え、
前記複数の共起要素生成部の各々は、前記複数のビット再配列部と前記複数の論理演算部とを備え、
前記複数の共起要素生成部の各々には、対応する前記二値化部から前記二値の特徴ベクトルが入力され、
前記特徴統合部は、複数の前記共起要素生成部の複数の前記論理演算部の各々によって生成された前記論理演算ビット列のすべてを統合して、前記非線形変換ベクトルを生成することを特徴とする請求項１ないし６のいずれかに記載の特徴量変換装置。
【請求項８】
前記二値の特徴ベクトルはＨＯＧ特徴量を二値化して得られた特徴ベクトルであることを特徴とする請求項１ないし７のいずれかに記載の特徴量変換装置。
【請求項９】
入力された二値の特徴ベクトルの要素を再配列して再配列ビット列を生成するビット再配列部と、
前記再配列ビット列と入力された前記特徴ベクトルとの論理演算を行って、論理演算ビット列を生成する論理演算部と、
前記特徴ベクトルの要素と生成された前記論理演算ビット列を統合して、非線形変換特徴ベクトルを生成する特徴統合部と、
を備えたことを特徴とする特徴量変換装置。
【請求項１０】
入力された二値の特徴ベクトルの要素をそれぞれ異なる配列に再配列した再配列ビット列を生成する複数のビット再配列部と、
前記複数のビット再配列部にて生成されたそれぞれの前記再配列ビット列どうしの論理演算を行って、論理演算ビット列を生成する論理演算部と、
前記特徴ベクトルの要素と生成された複数の前記論理演算ビット列を統合して、非線形変換特徴ベクトルを生成する特徴統合部と、
を備えたことを特徴とする特徴量変換装置。
【請求項１１】
入力された二値の特徴ベクトルの要素をそれぞれ異なる配列に再配列した再配列ビット列を生成する複数のビット再配列部と、
前記複数のビット再配列部にて生成されたそれぞれの前記再配列ビット列どうしの論理演算を行って、それぞれ論理演算ビット列を生成する複数の論理演算部と、
生成された複数の前記論理演算ビット列を統合して、非線形変換特徴ベクトルを生成する特徴統合部と、
を備えたことを特徴とする特徴量変換装置。
【請求項１２】
請求項１ないし１１のいずれかに記載の特徴量変換装置と、
前記特徴量変換装置にて生成された前記非線形変換特徴ベクトルを用いて学習を行う学習部と、
を備えたことを特徴とする学習装置。
【請求項１３】
請求項１ないし１１のいずれかに記載の特徴量変換装置と、
前記特徴量変換装置にて生成された前記非線形変換特徴ベクトルを用いて認識を行う認識部と、
を備えたことを特徴とする認識装置。
【請求項１４】
前記認識部は、前記認識における重みベクトルと前記非線形変換特徴ベクトルのとの内積計算において、分布の広い順又はエントロピーの値が高い順に計算をして、前記内積が認識のための所定の閾値より大きくなる、又は小さくなると判断できる時点で、前記内積の計算を打ち切ることを特徴とする請求項１３に記載の認識装置。
【請求項１５】
コンピュータを、
入力された二値の特徴ベクトルの要素をそれぞれ異なる配列に再配列してそれぞれ再配列ビット列を生成する複数のビット再配列部、
前記複数の再配列ビット列の各々と入力された前記特徴ベクトルとの論理演算をそれぞれ行って、それぞれ論理演算ビット列を生成する複数の論理演算部、及び
生成された複数の前記論理演算ビット列を統合して、非線形変換特徴ベクトルを生成する特徴統合部、
として機能させることを特徴とする特徴量変換プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象の認識に用いる特徴量を変換する特徴量変換装置、それを含む学習装置及び認識装置、並びに特徴量変換プログラムに関するものである。
【背景技術】
【０００２】
従来、画像検索、音声認識、文章検索などの多くの分野で機械学習によって対象を認識する認識装置が実用化されている。この認識のために、画像、音声、文章などの情報から特徴量が抽出される。画像から特定の対象を認識する場合には、画像の特徴量として、例えばＨＯＧ特徴量を用いることができる（例えば、非特許文献１を参照）。特徴量は、計算機で扱いやすいように特徴ベクトルの形式で扱われる。すなわち、画像、音声、文章などの情報は、対象認識のために特徴ベクトルに変換される。
【０００３】
認識装置は、特徴ベクトルを認識モデルに適用することで対象を認識する。例えば、線形識別器の認識モデルは、式（１）で与えられる。
ｆ（ｘ）＝ｗTｘ＋ｂ    ・・・（１）
ここで、ｘは特徴ベクトルであり、ｗは重みベクトルであり、ｂはバイアスである。線形識別器は、特徴ベクトルｘが与えられたときに、ｆ（ｘ）がゼロより大きいか小さいかによって、二値分類を行う。
【０００４】
このような認識モデルは、学習用に準備された多数の特徴ベクトルを用いて学習を行うことによって決定される。上記の線形識別器の例では、多数の正例と負例を学習データとして用いることで、重みベクトルｗ及びバイアスｂが決定される。具体的な方法としては、例えば、ＳＶＭ（support vector machine）による学習を採用できる。
【０００５】
線形識別器は、学習及び識別に要する計算が速いため、特に有用である。しかしながら、線形識別器は、線形判別（二値分類）しかできないため、識別能力に乏しいという欠点がある。そこで、特徴量に予め非線形変換をかけておくことで、特徴量の記述能力を向上させる試みがされている。例えば、特徴量の共起性を用いることで、識別能力を強化する試みが行われている。具体的には、ＦＩＮＤ（Feature Interaction Descriptor）特徴量がこれに相当する（例えば、非特許文献２を参照）。
【０００６】
ＦＩＮＤ特徴量は、特徴ベクトルの各要素のすべての組み合わせに関して調和平均をとることで、共起要素とし、特徴量の識別能力を高めるものである。具体的には、Ｄ次元の特徴ベクトルｘ＝（ｘ1，ｘ2，・・・，ｘD）Tが与えられたときに、すべての要素の組み合わせに対して、式（２）の非線形な計算を行う。
ｙij＝ｘiｙj／（ｘi＋ｙj）    ・・・（２）
このとき、ＦＩＮＤ特徴量は、ｙ＝（ｙ11，ｙ12，・・・，ｙDD）Tで与えられる。
【０００７】
例えば、特徴ベクトルｘが３２次元であるとき、組み合わせの重複を取り除いたＦＩＮＤ特徴量は５２８次元となる。なお、必要に応じて、ｙは長さが１となるように正規化されてよい。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】Navneet Dalal and Bill Triggs, "Histograms of Oriented Gradients for Human Detection", CVPR '05 Proceedings of the 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05) - Volume 1 - Volume 01, Pages 886-893
【非特許文献２】Hui CAO, Koichiro YAMAGUCHI, Mitsuhiko OHTA, Takashi NAITO, and Yoshiki NINOMIYA, "Feature Interaction Descriptor for Pedestrian Detection", IEICE TRANSACTIONS on Information and Systems Vol.E93-D No.9 pp.2656-2659
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、ＦＩＮＤ特徴量を求めるには、特徴ベクトルの要素のすべての組み合わせの計算が必要であり、この計算量は次元数に対して二乗のオーダーになる。また、各要素の計算において割り算が発生するため、きわめて遅いという問題がある。さらに、特徴量の次元数が大きいため、メモリの消費量が大きくなるという問題もある。
【００１０】
本発明は、上記の問題に鑑みてなされたものであり、特徴量が二値であるときに、特徴量の非線形変換を高速に行う特徴量変換装置を提供することを目的とする。
【００１１】
本発明の他の目的は、特徴ベクトルが二値でない場合にも、これを二値に変換する特徴量変換装置を提供することである。
【課題を解決するための手段】
【００１２】
本発明の第一の態様の特徴量変換装置は、入力された二値の特徴ベクトルの要素をそれぞれ異なる配列に再配列した複数の再配列ビット列を生成するビット再配列部と、前記複数の再配列ビット列の各々と入力された前記特徴ベクトルとの論理演算をそれぞれ行って、複数の論理演算ビット列を生成する論理演算部と、生成された複数の前記論理演算ビット列を統合して、非線形変換特徴ベクトルを生成する特徴統合部とを備えた構成を有している。この構成により、入力された特徴ベクトルの共起要素を、入力された特徴ベクトルの再配列と論理演算によって算出するので、共起要素の演算を高速にできる。
【００１３】
前記特徴統合部は、さらに、入力された前記特徴ベクトルの要素も生成された複数の前記論理演算ビット列とともに統合してよい。この構成によれば、もとの特徴ベクトルの要素も利用することで、演算量を増大させることなくより記述能力の高い非線形変換特徴ベクトルを得ることができる。
【００１４】
前記論理演算部は、前記再配列ビット列と、入力された前記特徴ベクトルとの排他的論理和を計算してよい。排他的論理和は、調和平均と等価であり、「＋１」と「−１」の出現確率も同じであるので、この構成によれば、ＦＩＮＤ相当の高い特徴記述能力をもつ共起要素を算出できる。
【００１５】
前記ビット再配列部は、入力された前記特徴ベクトルの要素に対して、キャリーなしローテートシフトを行うことで前記再配列ビット列を生成してよい。この構成によれば、特徴記述能力の高い共起要素を効率よく算出できる。
【００１６】
前記特徴量変換装置は、入力された前記特徴ベクトルがｄ次元であるときに、ｄ／２個の前記ビット再配列部を備えていてよい。この構成によれば、各ビット再配列部が１ビットずつずらしたキャリーなしローテートシフトを行うことで、複数のビット再配列部によって、入力された特徴ベクトルの要素のすべての組み合わせを生成できる。
【００１７】
前記ビット再配列部は、入力された前記特徴ベクトルの要素に対して、ランダムな再配列を行ってよい。この構成によっても、特徴記述能力の高い共起要素を算出できる。
【００１８】
前記特徴量変換装置は、入力された実数の特徴ベクトルを二値化して前記二値の特徴ベクトルを生成する複数の二値化部と、前記複数の前記二値化部の各々に対応する複数の共起要素生成部とを備え、前記複数の共起要素生成部の各々は、前記複数のビット再配列部と前記複数の論理演算部とを備え、前記複数の共起要素生成部の各々には、対応する前記二値化部から前記二値の特徴ベクトルが入力され、前記特徴統合部は、複数の前記共起要素生成部の複数の前記論理演算部の各々によって生成された前記論理演算ビット列のすべてを統合して、前記非線形変換ベクトルを生成してよい。この構成によれば、特徴ベクトルの要素が実数である場合にも、特徴記述能力の高い二値の特徴ベクトルを高速に得ることができる。
【００１９】
前記二値の特徴ベクトルはＨＯＧ特徴量を二値化して得られた特徴ベクトルであってよい。
【００２０】
本発明の第二の態様の特徴量変換装置は、入力された二値の特徴ベクトルの要素を再配列して再配列ビット列を生成するビット再配列部と、前記再配列ビット列と入力された前記特徴ベクトルとの論理演算を行って、論理演算ビット列を生成する論理演算部と、前記特徴ベクトルの要素と生成された前記論理演算ビット列を統合して、非線形変換特徴ベクトルを生成する特徴統合部とを備えた構成を有している。この構成によっても、入力された特徴ベクトルの共起要素を、入力された特徴ベクトルの再配列と論理演算によって算出するので、共起要素の演算を高速にできる。
【００２１】
本発明の第三の態様の特徴量変換装置は、入力された二値の特徴ベクトルの要素をそれぞれ異なる配列に再配列した再配列ビット列を生成する複数のビット再配列部と、前記複数のビット再配列部にて生成されたそれぞれの前記再配列ビット列どうしの論理演算を行って、論理演算ビット列を生成する論理演算部と、前記特徴ベクトルの要素と生成された複数の前記論理演算ビット列を統合して、非線形変換特徴ベクトルを生成する特徴統合部とを備えた構成を有している。この構成によっても、入力された特徴ベクトルの共起要素を、入力された特徴ベクトルの再配列と論理演算によって算出するので、共起要素の演算を高速にできる。
【００２２】
本発明の第四の態様の特徴量変換装置は、入力された二値の特徴ベクトルの要素をそれぞれ異なる配列に再配列した再配列ビット列を生成する複数のビット再配列部と、前記複数のビット再配列部にて生成されたそれぞれの前記再配列ビット列どうしの論理演算を行って、それぞれ論理演算ビット列を生成する複数の論理演算部と、生成された複数の前記論理演算ビット列を統合して、非線形変換特徴ベクトルを生成する特徴統合部とを備えた構成を有している。この構成によっても、入力された特徴ベクトルの共起要素を、入力された特徴ベクトルの再配列と論理演算によって算出するので、共起要素の演算を高速にできる。
【００２３】
本発明の学習装置は、上記の特徴量変換装置と、前記特徴量変換装置にて生成された前記非線形変換特徴ベクトルを用いて学習を行う学習部とを備えた構成を有している。この構成によっても、入力された特徴ベクトルの共起要素を、入力された特徴ベクトルの再配列と論理演算によって算出するので、共起要素の演算を高速にできる。
【００２４】
本発明の認識装置は、上記の特徴量変換装置と、前記特徴量変換装置にて生成された前記非線形変換特徴ベクトルを用いて認識を行う認識部とを備えた構成を有している。この構成によっても、入力された特徴ベクトルの共起要素を、入力された特徴ベクトルの再配列と論理演算によって算出するので、共起要素の演算を高速にできる。
【００２５】
上記の認識装置において、前記認識部は、前記認識における重みベクトルと前記非線形変換特徴ベクトルのとの内積計算において、分布の広い順又はエントロピーの値が高い順に計算をして、前記内積が認識のための所定の閾値より大きくなる、又は小さくなると判断できる時点で、前記内積の計算を打ち切ってよい。この構成により、認識処理を高速化できる。
【００２６】
本発明の特徴量変換プログラムは、コンピュータを、入力された二値の特徴ベクトルの要素をそれぞれ異なる配列に再配列してそれぞれ再配列ビット列を生成する複数のビット再配列部、前記複数の再配列ビット列の各々と入力された前記特徴ベクトルとの論理演算をそれぞれ行って、それぞれ論理演算ビット列を生成する複数の論理演算部、及び生成された複数の前記論理演算ビット列を統合して、非線形変換特徴ベクトルを生成する特徴統合部として機能させる。この構成によっても、入力された特徴ベクトルの共起要素を、入力された特徴ベクトルの再配列と論理演算によって算出するので、共起要素の演算を高速にできる。
【発明の効果】
【００２７】
本発明によれば、入力された特徴ベクトルの共起要素を、入力された特徴ベクトルの再配列と論理演算によって算出するので、共起要素の演算を高速にできる。
【図面の簡単な説明】
【００２８】
【図１】本発明の第１の実施の形態における二値の特徴ベクトルの要素の例を示す図
【図２】本発明の第１の実施の形態におけるＸＯＲと調和平均との関係を示す表
【図３】本発明の第１の実施の形態における二値の特徴ベクトルのすべて要素の組み合わせのＸＯＲを示す表
【図４】本発明の第１の実施の形態におけるキャリーなしローテートシフトによる共起要素の計算を示す図
【図５】本発明の第１の実施の形態における二値の特徴ベクトルのすべて要素の組み合わせのＸＯＲを示す表
【図６】本発明の第１の実施の形態におけるキャリーなしローテートシフトによる共起要素の計算を示す図
【図７】本発明の第１の実施の形態における二値の特徴ベクトルのすべて要素の組み合わせのＸＯＲを示す表
【図８】本発明の第１の実施の形態におけるキャリーなしローテートシフトによる共起要素の計算を示す図
【図９】本発明の第１の実施の形態における二値の特徴ベクトルのすべて要素の組み合わせのＸＯＲを示す表
【図１０】本発明の第１の実施の形態におけるキャリーなしローテートシフトによる共起要素の計算を示す図
【図１１】本発明の第１の実施の形態における二値の特徴ベクトルのすべて要素の組み合わせのＸＯＲを示す表
【図１２】本発明の第１の実施の形態における特徴量変換装置の構成を示すブロック図
【図１３】本発明の第２の実施の形態における画像の１ブロック分のＨＯＧ特徴量とそれを二値化した結果を示す図
【図１４】本発明の第２の実施の形態における多重閾値による特徴記述能力の強化を説明する図
【図１５】本発明の第２の実施の形態における特徴量変換を説明する図
【図１６】本発明の第２の実施の形態における特徴量変換装置の構成を示すブロック図
【図１７】比較例のプログラムコード
【図１８】実施例のプログラムコード
【図１９】学習によって認識モデルを生成した後に認識装置にて認識を行ったときの誤検出と検出率との関係を示すグラフ
【発明を実施するための形態】
【００２９】
以下、本発明の実施の形態の特徴量変換装置について、図面を参照しながら説明する。なお、以下に説明する実施の形態は、本発明を実施する場合の一例を示すものであって、本発明を以下に説明する具体的構成に限定するものではない。本発明の実施にあたっては、実施の形態に応じた具体的構成が適宜採用されてよい。
【００３０】
（第１の実施の形態）
第１の実施の形態の特徴量変換装置は、二値のＨＯＧ特徴量である特徴ベクトルが与えられたときに、この特徴ベクトルに対して非線形変換を行うことで、識別力の向上した特徴ベクトル（以下、「非線形変換特徴ベクトル」という。）を得る。例えば、８ピクセル×８ピクセルを１単位とした領域をセルと定義したとき、ＨＯＧ特徴量は、２×２のセルで構成されるブロックごとに３２次元のベクトルとして得られる。また、本実施の形態では、このＨＯＧ特徴量が二値化されたベクトルとして得られているものとする。本実施の形態の特徴量変換装置の構成を説明する前に、二値の特徴ベクトルに対して非線形変換を行ってＦＩＮＤ相当の共起要素を有する非線形変換特徴ベクトルを求める原理について説明する。
【００３１】
図１は、二値の特徴ベクトルの要素の例を示す図である。特徴ベクトルの各要素は、「＋１」か「−１」の値をとる。図１において、縦軸は各要素の値を示しており、横軸は要素数（次元数）を示している。図１の例では、要素数は３２である。
【００３２】
ＦＩＮＤ特徴量を求める場合には、これらの要素を用いて、式（２）による調和平均を計算する。
ａ×ｂ／（｜ａ｜＋｜ｂ｜）    ・・・（２）
ここで、ａ、ｂは各要素の値（「＋１」か「−１」）である。ａ、ｂは、「＋１」又は「−１」のいずれかであるので、その組み合わせは４通りに限られる。よって、特徴ベクトルの要素が「＋１」か「−１」の二値である場合には、この調和平均はＸＯＲと等価になる。
【００３３】
図２は、ＸＯＲと調和平均との関係を示す表である。図２に示すように、ＸＯＲと調和平均との関係は、（−１／２）×ＸＯＲ＝調和平均という関係にある。よって、「＋１」及び「−１」に二値化された特徴量については、それらのすべての組み合わせの調和平均を求める代わりに、それらのすべての組み合わせのＸＯＲを求めても、ＦＩＮＤ特徴量と同等に識別力が向上した特徴量に変換できる。そこで、本実施の形態の特徴量変換装置は、「＋１」及び「−１」の値をとる二値の特徴ベクトルに対して、それらの組み合わせのＸＯＲをとることで、識別力を向上させる。
【００３４】
図３は、「１」及び「−１」の値をとる二値の特徴ベクトルのすべて要素の組み合わせのＸＯＲを示す表である。図３では、図の簡略化のために、二値の特徴ベクトルの次元数が８である場合を示している。１行目の数列及び１行目の数列は特徴ベクトルである。図３の例では、特徴ベクトルは（＋１，＋１，−１，−１，＋１，＋１，−１，−１）である。
【００３５】
式（２）から明らかなように、ａとｂとはこれを入れ替えても調和平均は変わらないため、図３の表の太線で囲った部分が、この特徴ベクトルの要素のすべての組み合わせのＸＯＲのうちの重複部分を除いた部分となる。よって、本実施の形態では、この部分を共起要素として採用する。なお、同じ要素同士によるＸＯＲは必ず「−１」となるので、本実施の形態ではこれらを共起要素として採用しない。
【００３６】
本実施の形態のもとの特徴ベクトルの要素と、図３の太線で囲った部分の要素（共起要素）とを並べるとＦＩＮＤ相当の特徴量が得られる。このとき、もとの特徴ベクトルにキャリーなしローテートシフトを行って各要素同士のＸＯＲを計算することで、高速に共起要素を計算できる。
【００３７】
図４は、キャリーなしローテートシフトによる共起要素の計算を示す図である。もとの特徴ベクトルのビット列１００を右に１ビットシフトして、最右のビットは１ビット目（最左）に持ってくることでキャリーなしローテートシフトを行って、再配列ビット列１０１を用意する。ビット列１００と再配列ビット列１０１のＸＯＲをとると、論理演算ビット列１０２が得られる。この論理演算ビット列１０２が共起要素となる。
【００３８】
図５に再び二値の特徴ベクトルのすべて要素の組み合わせのＸＯＲを示す。図４の論理演算ビット列１０２は、図５において太枠で囲った部分に相当する。要素Ｅ８１は、要素Ｅ１８と同じである。
【００３９】
図６は、キャリーなしローテートシフトによる共起要素の計算を示す図である。もとの特徴ベクトルのビット列１００を右に２ビットシフトして、最右の２ビットは１ビット目及び２ビット目にシフトすることでキャリーなしローテートシフトを行って、再配列ビット列２０１を用意する。ビット列１００と再配列ビット列２０１のＸＯＲをとると、論理演算ビット列２０２が得られる。この論理演算ビット列２０２が共起要素となる。
【００４０】
図７に二値の特徴ベクトルのすべて要素の組み合わせのＸＯＲを示す。図６の論理演算ビット列２０２は、図７において太枠で囲った部分に相当する。要素Ｅ７１、Ｅ８２は、要素Ｅ１７、Ｅ２８とそれぞれ同じである。
【００４１】
図８は、キャリーなしローテートシフトによる共起要素の計算を示す図である。もとの特徴ベクトルのビット列１００を右に３ビットシフトして、最右の３ビットは１ビット目２ビット目、及び３ビット目にシフトすることでキャリーなしローテートシフトを行って、再配列ビット列３０１を用意する。ビット列１００と再配列ビット列３０１のＸＯＲをとると、論理演算ビット列３０２が得られる。この論理演算ビット列３０２が共起要素となる。
【００４２】
図９に二値の特徴ベクトルのすべて要素の組み合わせのＸＯＲを示す。図８の論理演算ビット列３０２は、図９において太枠で囲った部分に相当する。要素Ｅ６１、Ｅ７２、Ｅ８３は、要素Ｅ１６、Ｅ２７、Ｅ３８とそれぞれ同じである。
【００４３】
図１０は、キャリーなしローテートシフトによる共起要素の計算を示す図である。もとの特徴ベクトルのビット列１００を右に４ビットシフトして、右側の４ビットは１ビット目、２ビット目、３ビット目、４ビット目にシフトすることでキャリーなしローテートシフトを行って、再配列ビット列４０１を用意する。ビット列１００と再配列ビット列４０１のＸＯＲをとると、論理演算ビット列４０２が得られる。この論理演算ビット列４０２が共起要素となる。
【００４４】
図１１に二値の特徴ベクトルのすべて要素の組み合わせのＸＯＲを示す。図１０の論理演算ビット列４０２は、図１１において太枠で囲った部分に相当する。要素Ｅ５１、Ｅ６２、Ｅ７３、Ｅ８１は、それぞれ要素Ｅ１５、Ｅ２６、Ｅ３７、Ｅ４８と同じであり、いずれか一方は不要であるが、計算の都合上、これをこのまま用いることとする。
【００４５】
図４、図６、図８、図１０の計算を行うことで、図３において太線で囲った部分の要素がすべて計算できることになる。即ち、ビット数が８である特徴ベクトルの共起要素の計算は、４回のキャリーなしローテートシフト及びＸＯＲの計算によって得ることができる。同様に、二値の特徴ベクトルのビット数（次元数）が３２である場合には、１６回のキャリーなしローテートシフト及びＸＯＲの計算によって得ることができ、一般的には、二値の特徴ベクトルのビット数（次元数）がｄである場合には、ｄ／２回のキャリーなしローテートシフト及びＸＯＲの計算によって得ることができる。
【００４６】
特徴量変換装置は、上記のようにして求めた共起要素に、もとの特徴ベクトルの要素を加えて、非線形変換特徴ベクトルを得る。よって、３２次元の二値の特徴ベクトルを変換すると、得られる非線形変換特徴ベクトルの次元数は、３２×１６＋３２＝５４４次元となる。以下では、上記のような特徴ベクトルの変換を実現する特徴量変換装置の構成を説明する。
【００４７】
図１２は、本発明の実施の形態の特徴量変換装置の構成を示すブロック図である。特徴量変換装置１０は、Ｎ個のビット再配列器１１１〜１１Ｎと、ビット再配列器と同数（Ｎ個）の論理演算器１２１〜１２Ｎと、特徴量統合器１３を備えている。これらのビット再配列器１１１〜１１Ｎ、論理演算器１２１〜１２Ｎ、及び特徴量統合器１３の一部又は全部は、コンピュータが特徴量変換プログラムを実行することによって実現されてよく、又はハードウェアによって実現されてもよい。
【００４８】
本実施の形態では、特徴量変換装置１０に、変換すべき特徴量として、二値化された特徴ベクトルが入力される。特徴ベクトルは、Ｎ個のビット再配列器１１１〜１１Ｎ及びＮ個の論理演算器１２１〜１２Ｎにそれぞれ入力される。Ｎ個の論理演算器１２１〜１２Ｎにはさらに対応するビット配列器１１１〜１１Ｎの出力が入力される。
【００４９】
ビット再配列器１１１〜１１Ｎは、入力された二値の特徴ベクトルに対して、キャリーなしローテートシフトによる再配列を行って、再配列ビット列を生成する。具体的には、ビット再配列器１１１は、特徴ベクトルを右に１ビットのキャリーなしローテートシフトを行い、ビット再配列器１１２は、特徴ベクトルを右に２ビットのキャリーなしローテートシフトを行い、ビット再配列器１１３は特徴ベクトルを右に３ビットのキャリーなしローテートシフトを行い、ビット再配列器１１Ｎは特徴ベクトルを右にＮビットのキャリーなしローテートシフトを行う。
【００５０】
本実施の形態では、入力される二値の特徴ベクトルをｄ次元とすると、Ｎ＝ｄ／２とする。これにより、特徴ベクトルのすべての要素のすべての組み合わせについてＸＯＲを計算することができる。
【００５１】
論理演算器１２１〜１２Ｎは、それぞれ対応するビット再配列器１１１〜１１Ｎから出力された再配列ビット列ともとの特徴ベクトルのビット列とのＸＯＲを計算する。具体的には、論理演算器１２１は、ビット再配列器１１１から出力された再配列ビット列ともとの特徴ベクトルのビット列とのＸＯＲを計算し（図４参照）、論理演算器１２２は、ビット再配列器１１２から出力された再配列ビット列ともとの特徴ベクトルのビット列とのＸＯＲを計算し（図６参照）、論理演算器１２３は、ビット再配列器１１３から出力された再配列ビット列ともとの特徴ベクトルのビット列とのＸＯＲを計算し（図８参照）、論理演算器１２Ｎは、ビット再配列器１１Ｎから出力された再配列ビット列ともとの特徴ベクトルのビット列とのＸＯＲを計算する。
【００５２】
特徴統合器１１３は、もとの特徴ベクトルと、論理演算器１２１〜１２Ｎからの出力（論理演算ビット列）を並べて、それらを要素とする非線形変換特徴ベクトルを生成する。上述のように、入力される特徴ベクトルが３２次元であるとき、特徴統合器１１３で生成される非線形変換特徴ベクトルは５４４次元となる。
【００５３】
以上のように、本実施の形態の特徴量変換装置１０によれば、二値化された特徴ベクトルの要素にそれらの共起要素（論理演算ビット列の要素）を付け足して特徴ベクトルの次元を増加させるので、特徴ベクトルの識別力を向上できる。
【００５４】
また、本実施の形態の特徴量変換装置１０は、もとの特徴ベクトルの要素が「＋１」及び「−１」であるのでＦＩＮＤ特徴量のようにそれらの調和平均を共起要素とすることと各要素のＸＯＲを共起要素とすることが等価であることに着目して、各要素のすべての組み合わせのＸＯＲを計算して、それらを共起要素とするので、共起要素の計算を高速に行うことができる。
【００５５】
さらに、本実施の形態の特徴量変換装置１０は、各要素のＸＯＲを計算するために、もとの特徴ベクトルのビット列と、それに対してキャリーなしローテートシフトを行ったビット列とのＸＯＲを計算するので、計算機のレジスタの幅がもとの特徴ベクトルのビット数（ＸＯＲの計算の数）以下である場合には、このＸＯＲの計算を同時に行うことができ、従って共起要素の計算を高速に行うことができる。
【００５６】
（第２の実施の形態）
次に、第２の実施の形態として、ＨＯＧ特徴量が二値ベクトルではなく、実数ベクトルとして得られている場合について、それを識別力の高い二値ベクトルに変換する特徴量変換装置について説明する。
【００５７】
図１３は、画像の１ブロック分のＨＯＧ特徴量とそれを二値化した結果を示す図である。本実施の形態のＨＯＧ特徴量は、３２次元の特徴ベクトルとして得られる。図１３の上段は、この特徴ベクトルの各要素を示しており、縦軸は各要素の大きさ、横軸は要素数を示している。
【００５８】
各要素は、二値化されて、下段の二値化された特徴ベクトルが得られる。具体的には、各要素のレンジの所定の位置に二値化のための閾値を設け、要素の値が設定された閾値以上である場合は、その要素を「＋１」とし、要素の値が設定された閾値より小さい場合は、その要素を「−１」とする。なお、各要素のレンジはそれぞれ異なるため、要素ごとに異なる閾値（３２種類）が設定される。特徴ベクトルの３２個の実数の要素をそれぞれ二値化することで、３２個の要素を持つ二値化された特徴ベクトル（３２ビット）に変換できる。
【００５９】
ここで、多重閾値を用いることによって、特徴ベクトルの特徴記述能力を強化（情報量を増大）させることができる。即ち、ｋ種類の異なる閾値を設定して、各閾値について、図１３に示した二値化を行うことで二値化された特徴ベクトルの次元数を増やすことが可能である。
【００６０】
図１４は、多重閾値による特徴記述能力の強化を説明する図である。この例では、４種類の閾値を用いて二値化を行っている。３２次元の実数ベクトルの各要素が、そのレンジの２０％位置を閾値として二値化されて、３２ビット分の要素が生成される。同様に、３２次元の実数ベクトルの各要素が、そのレンジの４０％位置、６０％位置、８０％位置をそれぞれ閾値として二値化されて、各々３２ビット分の要素が再生される。これらの要素を統合すると、二値化された１２８次元の特徴ベクトル（１２８ビット）が得られる。
【００６１】
特徴ベクトルが実数ベクトルとして与えられた場合に、図１４に示すように多重閾値による二値化を行って特徴ベクトルの特徴記述能力を向上させた上で、第１の実施の形態として説明した特徴量変換装置１０によって非線形変換を行い、さらに情報量を増加させることができる。
【００６２】
ここで、ＨＯＧ特徴量の二値化を高速化する工夫について説明する。一般に、ＨＯＧ特徴量はブロック単位で長さを１に正規化しなければならない。この正規化によって、明るさに対して頑健（ロバスト）になるからである。
【００６３】
正規化前の３２次元の実数のＨＯＧ特徴量を
【数１】
2015015014.tif 000003
とおく。また、正規化後の３２次元の実数のＨＯＧ特徴量を
【数２】
2015015014.tif 000004
とおく。このとき、
【数３】
2015015014.tif 000005
である。
【００６４】
二値化後の３２次元のＨＯＧ特徴量を
【数４】
2015015014.tif 000006
とする。このとき、
【数５】
2015015014.tif 000007
である。
【００６５】
この二値化は、平方根の演算、及び割り算が一度ずつ発生するため、非常に遅い。そこで、ＨＯＧ特徴量が非負であることに着目し、上記の不等式
【数６】
2015015014.tif 000008
の両辺を二乗し、左辺の分母を右辺に移項して、下式を得る。
【数７】
2015015014.tif 000009
【００６６】
このように変形することで、平方根の演算、及び割り算を行うことなく、下式によって実数のＨＯＧ特徴量を二値化することができる。
【数８】
2015015014.tif 000010
【００６７】
ここで、例えば、レンジの２０％位置を閾値として二値化した結果「−１」（閾値より小さい）と判断された要素は、レンジの４０％位置、６０％位置、８０％位置を閾値として二値化した場合にも当然に「−１」となる。この意味で、多重閾値による二値化によって得られた１２８ビットの二値化ベクトルは冗長な要素を含んでいる。従って、この１２８ビットの二値化ベクトルをそのまま第１の実施の形態の特徴量変換装置１０に適用して共起要素を求めることは効率的でない。そこで、本実施の形態では、このような冗長性を軽減してより効率よく共起要素を求めることができる特徴量変換装置を提供する。
【００６８】
図１５は、本実施の形態の特徴量変換を説明する図である。本実施の形態の特徴量変換装置は、実数ベクトルとして得られている特徴ベクトルを、ｋ種類の異なる閾値で二値化する。図１５の例では、レンジの２０％位置、４０％位置、６０％位置、８０％位置の４種類の閾値でもって、３２次元の実数ベクトルをそれぞれ二値化することで、それぞれ３２個の要素を持つビット列を得る。ここまでは、図１４の例と同様である。
【００６９】
本実施の形態の特徴量変換装置では、各閾値によって得られたビット列を統合する前に、それらのビット列を用いて、それぞれ共起要素を求める。これによって、図１５に示すように、各３２ビットのビット列から５４４ビットのビット列を得ることができる。最終的には、これらの４つのビット列を統合して、２１７６ビットの二値化された非線形変換特徴ベクトルが得られる。
【００７０】
図１６は、本実施の形態の特徴量変換装置の構成を示すブロック図である。特徴量変換装置２０は、Ｎ個の二値化器２１１〜２１Ｎと、二値化器と同数（Ｎ個）の共起要素生成器２２１〜２２Ｎと、特徴量統合器２３を備えている。これらの二値化器２１１〜２１Ｎ、共起要素生成器２２１〜２２Ｎ、及び特徴量統合器２３の一部又は全部は、コンピュータが特徴量変換プログラムを実行することによって実現されてよく、又はハードウェアによって実現されてもよい。
【００７１】
本実施の形態では、特徴量変換装置２０に実数の特徴ベクトルが入力される。特徴ベクトルは、Ｎ個の二値化器２１１〜２１Ｎにそれぞれ入力される。二値化器２１１〜２１Ｎは、それぞれ異なる閾値で実数の特徴ベクトルを二値化する。二値化された特徴ベクトルは、それぞれ対応する共起要素生成器２２１〜２２Ｎに入力される。
【００７２】
共起要素生成器２２１〜２２Ｎは、それぞれ、第１の実施の形態で説明した特徴量変換装置１０と同じ構成を有している。すなわち、各共起要素生成器２２１〜２２Ｎは、複数のビット再配列器１１１〜１１Ｎと、複数の論理演算器１２１〜１２Ｎと、特徴統合器１３を備え、キャリーなしローテートシフト及びＸＯＲ演算によって共起要素を算出し、それらと入力されたビット列とを統合する。
【００７３】
各共起要素生成器２２１〜２２Ｎに３２ビットのビット列が入力されると、各共起要素生成器２２１〜２２Ｎからはそれぞれ５４４ビットのビット列が出力される。特徴統合器２３は、共起要素生成器２２１〜２２Ｎからの出力を並べて、それらを要素とする非線形変換特徴ベクトルを生成する。上述のように、入力される特徴ベクトルが３２次元であるとき、特徴統合器２１３で生成される特徴ベクトルは２１７６次元（２１７６ビット）となる。
【００７４】
以上のように、本実施の形態の特徴量変換装置２０によれば、特徴量が実数ベクトルとして得られた場合にも、それを二値化するとともにその二値化ベクトルの情報量を多くすることができる。
【００７５】
第１の実施の形態の特徴量変換装置１０及び第２の実施の形態の特徴量変換装置２０は、多数の学習用データから認識モデルを決定する際に、学習用データとして入力される特徴ベクトルに対して上記の非線形変換を行って、非線形変換特徴ベクトルを取得する。この非線形変換特徴ベクトルが、学習装置によるＳＶＭ等による学習処理に用いられて、認識モデルが確定する。すなわち、特徴量変換装置１０、２０は、学習装置に用いられ得る。また、特徴量変換装置１０、２０は、認識モデルが確定した後に、認識を行うべきデータが学習用データと同様の形式の特徴ベクトルとして入力されたときにも、その特徴ベクトルに対して上記の非線形変換を行って非線形変換特徴ベクトルを取得する。この非線形変換特徴ベクトルが、認識装置による線形識別等に用いられて、認識結果が得られる。すなわち、特徴量変換装置１０、２０は、認識装置に用いられ得る。
【００７６】
なお、論理演算器１２１〜１２Ｎでは、必ずしも論理演算としてＸＯＲを計算しなくてもよく、例えばＡＮＤやＯＲを計算してもよい。但し、上述のように、ＸＯＲはＦＩＮＤ特徴量を求める際の調和平均と等価であり、かつ、図２の表から明らかなように、特徴ベクトルが任意である場合には、ＸＯＲの値として「＋１」と「−１」とが等確率で出現するため、共起要素のエントロピーが高くなり（情報量が多くなり）、非線形変換特徴ベクトルの記述能力が向上するので、論理演算器１２１〜１２ＮがＸＯＲを計算することは有利である。
【００７７】
また、特徴量変換装置１０及び共起要素生成器２２１〜２２Ｎは、特徴ベクトルの次元数ｄに対して、ｄ／２個のビット再配列器１１１〜１１Ｎを備えていたが、ビット再配列器の個数は、これより少なくてもよく（Ｎ＝１でもよく）、これより多くてもよい。また、論理演算器１２１〜１２Ｎの個数も、ｄ／２より少なくてもよく（Ｎ＝１でもよく）、ｄ／２より多くてもよい。
【００７８】
また、ビット再配列器１１１〜１１Ｎは、それぞれもとの特徴ベクトルのビット列に対してキャリーなしローテートシフトをすることで新たなビット列を生成したが、各再配列器１１１〜１１Ｎは、例えばもとの特徴ベクトルのビット列をランダムに並び替えることで新たなビット列を生成してもよい。但し、シフトなしキャリーローテートは、最小のビット数ですべての組み合わせを網羅できるとともに、ロジックがシンプルで処理速度が速いという点で有利である。
【００７９】
また、論理演算器１２１〜１２Ｎは、もとの特徴ベクトルのビット列とビット再配列器で再配列されたビット列との論理演算を行ったが、一部又はすべての論理演算器が、ビット再配列器で再配列されたビット列どうしの論理演算を行ってもよい。このとき、ビット再配列器で得られるビット列の次元数ともとの特徴ベクトルの次元数とが異なっていてもよい。また、二値化器２１１〜２１Ｎの入力と出力とで次元が異なっていてもよい。さらに、特徴統合器１３は、もとの特徴ベクトルの要素も用いて非線形変換特徴ベクトルを生成したが、もとの特徴ベクトルは用いなくてもよい。
【００８０】
また、上記の第２の実施の形態では、各共起要素生成器２２１〜２２Ｎが第１の実施の形態の特徴量変換装置１０と同様の構成を有し、すなわち複数のビット再配列器１１１〜１１Ｎ、複数の論理演算器１２１〜１２Ｎ、及び特徴統合器１３を備えていたが、各共起要素生成器２２１〜２２Ｎが、特徴統合器１３を備えずに、複数の論理演算器１２１〜１２Ｎから出力される複数の論理演算ビット列を直接特徴統合器２３に出力して、特徴統合器２３がこられを統合して非線形変換特徴ベクトルを生成してもよい。
【００８１】
また、上記の第１及び第２の実施の形態では、画像の識別を行う例を説明したが、識別の対象は音声、文章等の他のデータであってもよい。また、認識処理は線形識別ではない他の認識処理であってもよい。
【００８２】
また、上記の第１及び第２の実施の形態では、複数のビット再配列器１１１〜１１Ｎがそれぞれ再配列ビット列を生成することで複数の再配列ビット列を生成し、複数の論理演算器１２１〜１２Ｎがそれぞれ論理演算を行うことで、複数の再配列ビット列の各々ともとの特徴ベクトルのビット列とのＸＯＲを計算した。これらの複数のビット再配列器１１１〜１１Ｎ、複数の論理演算器１２１〜１２Ｎは、それぞれ本発明のビット再配列部及び論理演算部に相当する。本発明のビット再配列部及び論理演算部は、上記の実施の形態に限られず、例えば、ソフトウェアの処理によって複数の再配列ビットの生成及び複数の論理演算を行ってもよい。
【００８３】
次に、本発明の実施の形態の特徴量変換装置を用いた実施例を説明する。図１７は、比較例のプログラムコードであり、図１８は実施例のプログラムコードである。比較例は、３２次元の実数の要素を持つ特徴量をＦＩＮＤ特徴量に変換するプログラムである。実施例は、３２次元の二値化された要素を持つ特徴量に対して、第１の実施の形態の特徴量変換装置１０によって非線形変換を行うプログラムである。以下、説明の便宜を図るため、ｋは二値化の閾値の段階数である。
【００８４】
比較例及び実施例のプログラムによって、同一の擬似データを変換した。その結果、比較例では、１ブロックあたりの計算時間は、７２１２．７１ナノ秒となった。これに対して、実施例で、同一の擬似データを変換した場合の１ブロックあたりの計算時間は、ｋ＝１のときに２２．０４ナノ秒（比較例の３２７．３２倍の速度）、ｋ＝２のときに３３．２０ナノ秒（比較例の２１７．２２倍の速度）、ｋ＝３のときに４２．１４ナノ秒（比較例の１７１．１７倍の速度）、ｋ＝４のときに５３．７６ナノ秒（比較例の１３４．１６倍の速度）となった。このように、実施例の非線形変換は、比較例と比較して十分に高速であった。
【００８５】
図１９は、学習によって認識モデルを生成した後に認識装置にて認識を行ったときの誤検出と検出率との関係を示すグラフである。横軸は誤検出を示し、縦軸は検出率を示している。認識装置においては、誤検出が小さく、かつ検出率が高いことが望ましい。即ち、図１９のグラフでは、左上の角に近いグラフほど認識性能が高い。
【００８６】
図１９において、破線は、Ｄａｌａｌ氏のオリジナルの実装によるＨＯＧ特徴量をそのまま用いて学習及び認識を行った場合のグラフであり、一点鎖線は、Ｃパラメータを最適にチューニングして得られたＦＩＮＤ特徴量を用いて学習及び認識を行った場合のグラフであり、実線は、実施例を示しており、具体的には、ｋ＝４として本発明の第２の実施の形態によって得られた非線形変換特徴ベクトルを用いて学習及び認識を行った場合のグラフである。
【００８７】
図１９から明らかなように、ＦＩＮＤ特徴量及び実施例は、ＨＯＧ特徴量をそのまま用いた場合と比較して、認識性能が高い。実施例は、二値化をしているのでＦＩＮＤ特徴量よりも認識性能が劣るが、その劣化は僅かである。以上の結果から、本発明の実施の形態によれば、ＦＩＮＤ特徴量と比較して、処理速度は格段に向上する一方で、認識性能はほとんど劣らないことが確認された。
【００８８】
本発明のさらなる実施の形態を説明する。本実施の形態は、実数の特徴量をｋ種類の閾値で二値化した場合における識別器での認識をカスケード処理によって高速化する。実数の特徴量Ｘをｋ種類の閾値で二値化して得られるベクトルを、
【数９】
2015015014.tif 000011
とおく。識別などの目的の場合には、下式のｗTｂを計算し、閾値Ｔｈと比較するという操作が行われる。ここで、ｗは識別のための重みベクトルである。
【数１０】
2015015014.tif 000012
【００８９】
例えば、ｋ＝４で、ｂ1は２０％、ｂ2は４０％、ｂ3は６０％、ｂ4は８０％の位置で二値化されているものとする。このとき、明らかにｂ2及びｂ3は、ｂ1及びｂ4よりもエントロピーが高くなる。従って、ｗ2Tｂ2及びｗ3Tｂ3は、ｗ1Tｂ1及びｗ4Tｂ4よりも広い値の分布を持つことになる。
【００９０】
これに着目し、本実施の形態では、ｗ2Tｂ2、ｗ3Tｂ3、ｗ1Tｂ1、ｗ4Tｂ4という順序で計算し、途中でｗTｂが所定の閾値Ｔｈよりも確実に大きくなる、もしくは小さくなると判断できる場合は、その時点で処理を打ち切る。これにより処理が高速化できる。すなわち、カスケードの順序は、ｗiTｂiの分布の広い順、もしくはエントロピーの値が高い順に並べる。
【産業上の利用可能性】
【００９１】
本発明は、入力された特徴ベクトルの共起要素を、入力された特徴ベクトルの再配列と論理演算によって算出するので、共起要素の演算を高速にできるという効果を有し、対象の認識に用いる特徴量を変換する特徴量変換装置等として有用である。
【符号の説明】
【００９２】
１０、２０  特徴量変換装置
１１１〜１１Ｎ  ビット再配列器
１２１〜１２Ｎ  論理演算器
１３、２３  特徴統合器
２１１〜２１Ｎ  二値化器
２２１〜２２Ｎ  共起要素生成器
１００  特徴ベクトルのビット列
１０１、２０１、３０１、４０１  再配列ビット列
１０２、２０２、３０２、４０２  論理演算ビット列
【図１】
2015015014.tif 000013
【図２】
2015015014.tif 000014
【図３】
2015015014.tif 000015
【図４】
2015015014.tif 000016
【図５】
2015015014.tif 000017
【図６】
2015015014.tif 000018
【図７】
2015015014.tif 000019
【図８】
2015015014.tif 000020
【図９】
2015015014.tif 000021
【図１０】
2015015014.tif 000022
【図１１】
2015015014.tif 000023
【図１２】
2015015014.tif 000024
【図１３】
2015015014.tif 000025
【図１４】
2015015014.tif 000026
【図１５】
2015015014.tif 000027
【図１６】
2015015014.tif 000028
【図１７】
2015015014.tif 000029
【図１８】
2015015014.tif 000030
【図１９】
2015015014.tif 000031