JP2004341930A - パタン認識方法および装置 - Google Patents
パタン認識方法および装置 Download PDFInfo
- Publication number
- JP2004341930A JP2004341930A JP2003139109A JP2003139109A JP2004341930A JP 2004341930 A JP2004341930 A JP 2004341930A JP 2003139109 A JP2003139109 A JP 2003139109A JP 2003139109 A JP2003139109 A JP 2003139109A JP 2004341930 A JP2004341930 A JP 2004341930A
- Authority
- JP
- Japan
- Prior art keywords
- pattern
- class
- vector
- input
- identification
- 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
Images
Landscapes
- Image Analysis (AREA)
Abstract
【課題】学習パタンの作成に複雑な計算を行うことなく、学習信号から生成されるベクトルを単純に格納したデータベースを認識に用い、かつ入力信号に対して特別な前処理を行うことなく、高速なパタン認識かつ入力パタンにランダムに重畳するノイズに対してロバストなパタン認識を実現する。
【解決手段】本発明のパタン認識装置は、信号入力部11と、書誌情報格納部13と、ベクトル生成部15と、ベクトル圧縮部16と、クラス情報生成部17と、ベクトル格納部18と、インデクス生成部19と、ベクトル探索部21と、クラス識別部22と、クラス一時記憶部24と、識別結果表示装置23とから構成される。スイッチ1〜8を予め定めらた順序でON/OFF状態とする。
【選択図】 図2
【解決手段】本発明のパタン認識装置は、信号入力部11と、書誌情報格納部13と、ベクトル生成部15と、ベクトル圧縮部16と、クラス情報生成部17と、ベクトル格納部18と、インデクス生成部19と、ベクトル探索部21と、クラス識別部22と、クラス一時記憶部24と、識別結果表示装置23とから構成される。スイッチ1〜8を予め定めらた順序でON/OFF状態とする。
【選択図】 図2
Description
【0001】
【発明の属する技術分野】
本発明は、信号同士を比較することにより、入力された信号が学習されている信号のパタンに一致するか否かを判断するパタン認識方法および装置に関する。
【0002】
【従来の技術】
本明細書においては、機械に予め物事を登録することを学習と呼び、識別のために予め準備しておく信号のパタンを学習パタンと呼び、識別対象となる信号のパタンを入力パタンと呼ぶことにする。また、入力された信号が学習されている信号のパタンに一致するか否かを判断することを、パタン認識と呼ぶ。
なお、上記『信号』の例としては、画像、動画像、および数値または文字列データの流れが含まれ、具体勢には、音声認識、画像認識、動画像中の物体の認識、話者認識、データ予測、データマイニング等に用いることができる。
【0003】
従来より、パタン認識に関する研究は、幅広く行われている。基本的に、パタン認識とは、観測されたパタンを予め定められた複数の概念のうちの一つに対応させる処理である(『わかりやすいパターン認識』石井健一郎ほか、オーム社出版軍発行、ISBN4−274−13149−1(非特許文献1参照)
この『概念』をクラスと呼ぶ。また、『予め概念を定める』とは、予め準備したベクトル(これを学習ベクトルと呼ぶ)を準備して、学習ベクトルから『学習パタン』と呼ばれる概念を作成することを指す。
通常、学習パタンの一つのクラスは、複数のベクトルの集合で表現される。このベクトルを、特徴ベクトルと呼び、特徴ベクトルによって張られる空間(特徴ベクトルを網羅的に含む空間)を特徴空間と呼ぶ。
【0004】
高い精度でパタン認識を行うためには、2点の要素が重要である。
1点は、学習パタンの作り方であり、クラス間の分布が広くなるような学習パタン作り方、および特徴量の選び方が重要である。識別の対象となるパタンを良く表現するような学習パタンが準備できないと、いかなる方法によっても精度よくパタン認識を行うことはできない。学習パタンは、学習パタンを格納するために必要な主記憶容量を節約するために、学習用の信号から生成される特徴ベクトルを用いて確率モデル(学習モデルと呼ぶ)を生成する方法があり、これをパラメトリックな手法と呼ぶ。
【0005】
一方、学習用の信号から生成されるベクトルをそのままサンプルとして用いる方法は、ノンパラメトリックな方法と呼ばれ、代表的なものにNN法がある。近年の計算機における主記憶容量の飛躍的な進歩により、ベクトルをそのまま学習サンプルとして扱うNN法が見直されつつある。NN法やk−NN法などのノンパラメトリックな手法は、パラメトリックな手法に比較して技術的に平易な方法ではあるが利点もある。特に、頻繁に学習サンプルデータの追加などが行われる場合には、一々確立密度関数を求めないNN法が有利である。
k−NN法(k−th Nearest−Neighbor法)であって、k番目最近傍のような意味を有している(例えば、図1における×印から近い順にk個の点を探すこと)。
【0006】
他の1点は、入力パタンからのノイズ除去や正規化などの、前処理(preprocessing)と呼ばれる処理である。高精度な認識処理のためには、入力パタンにノイズがある場合は、それを前処理により除去する必要がある。除去が難かしてノイズの例には、突発的に重畳する短時間のノイズがある。例えば、話者認識における、入力音声に混入する他人の会話、咳払い、紙をめくる音、入力しようとするマイクに触ることにより生じる音、などである。特に、話者インデキシングにおいては、多数の話者が交替しながら発話する状況に対して話者認識を適用するため、このような突発的に重畳するノイズは問題である。
【0007】
ラインノイズのように、入力パタンに対して常に一定の周波数と音量で重畳するノイズは比較的簡単に除去できるが、突発的に、かつランダムに重畳するノイズへの対応は一般に困難であり、パタン認識精度の低下をもたらす原因の一つになっている。
また、入力パタン生成時と学習パタン生成時との環境が異なる場合、正規化が必要となる。例えば、画像の認識における画像のサイズや、音声の認識における音声のサンプリング周波数などについて、学習パタンと入力パタンとの正規化が必要である。
【0008】
【非特許文献1】
『わかりやすいパターン認識』石井健一郎ほか、オーム社出版軍発行、ISBN4−274−13149−1
【非特許文献2】
西田昌史、秋田祐哉、河原達也『討論を対象とした話者モデル選択による話者インデキシングと自動書き起こし』電子情報通信学会研究報告、SP2002−157、NLC2002−80(SLP−44−37),2002
【0009】
【発明が解決しようとする課題】
前述のように、高精度なパタン認識のためには、時間の掛かる複雑な処理により確立密度関数(PDF)などの学習パタンを作成し、かつ入力パタンに対しては前処理が必要である。しかし、頻繁に学習パタンが追加・更新されるケースでは、このような学習パタンの生成方法は不向きである上、多種類のノイズや環境の全てに対応した前処理を準備することは不可能である。
【0010】
そこで、本発明の目的は、学習パタンの作成に複雑な計算を行うことなく、学習信号から生成されるベクトルを単純に格納したデータベースを認識に用い、かつ入力信号に対して特別な前処理を行うことなく、高速なパタン認識かつ入力パタンにランダムに重畳するノイズに対してロバストなパタン認識を実現することが可能なパタン認識方法および装置を提供することにある。
【0011】
【課題を解決するための手段】
本発明のパタン認識装置は、信号入力手段と、書誌情報登録手段と、ベクトル生成手段と、ベクトル圧縮手段と、クラス生成手段と、ベクトル格納手段と、インデクス生成手段と、ベクトル探索手段と、クラス識別手段と、識別結果表示手段とから構成される。
本発明の信号入力手段は、パタン認識に用いる信号を入力する。信号とは、例えば、静止画像、動画像、音声、パケット等の単純なデータの流れ、株価・河川流量・騒音値などの時間的に変化する数値の流れ、天気・話題などの文字列の流れ、などがある。これらのデータを本発明では『信号』と呼ぶことにする。
【0012】
書誌情報登録手段は、学習パタンを作るために入力された信号に対し、その書誌情報を入力する。書誌情報は、テキストの情報である。例えば、Aという名前の話者の音声の学習パタンを生成するとき、入力する音声に対して『名前:A』というテキストを登録し、音声と関連付ける。書誌情報は、自由に記入することができる。
ベクトル生成手段は、学習用の信号から、特徴ベクトルを生成する。特徴ベクトルは、例えば、色情報(ピクセルのRGB)、動きベクトル、線形予測係数、スペクトル密度、のように、入力される信号に応じて様々な特徴ベクトルがある。
【0013】
ベクトル圧縮手段は、特徴ベクトルを圧縮する。
クラス生成手段は、学習用に入力された信号から生成される特徴ベクトルを、一つのクラスに関連付ける。
ベクトル格納手段は、生成された特徴ベクトルを記録媒体に格納する。
インデクス生成手段は、記録媒体に格納された全ての特徴ベクトルからインデクスを生成する。
【0014】
ベクトル探索手段は、記録媒体に格納された特徴ベクトルから、キーとの距離が近いものを探索する。インデクスがある場合には、インデクス情報を参照して探索する。
クラス識別手段は、ベクトル探索手段により選ばれたベクトルの所属クラスに基づいて、入力信号のクラスを識別する。このとき、キーと近傍ベクトルの距離の逆数を用いる。
識別結果表示手段は、上記手段により識別されたクラスに基づいて、識別結果を表示する。
【0015】
本発明によれば、入力信号に突発的に雑音が重畳しても、入力パタンを精度よく識別することができる。また、入力パタンに重畳する突発的なノイズを前処理により分離する必要はなく、そのまま入力パタンとして用いることができる。入力されたパタンは、予め準備された学習パタンと比較され、比較の結果、特定の学習パタンと同じであると判断がなされるか、あるいは、いずれの学習パタンにも相当しないものであるとの判断がなされる。後者の場合には、入力パタンを用いて新たに学習パタンが定義される。本発明は、特に、話者インデキシングのような、時々刻々と識別パタンが変化するような入力信号に対するパタン認識に最も適合する。
【0016】
【発明の実施の形態】
以下、本発明の原理および実施例について、図面を参照しながら詳細に説明する。
(原理)
図1は、本発明の原理の説明図である。(a)は入力パタンの音声波形を示す図、(b)は(a)で示す近傍ベクトルの空間を示す図である。
Multi−Dimensional Feature Vector Spaceとは、図1の縦横の矢印で囲まれる空間のことで、多次元特徴ベクトル空間である。図1は平面であるから2次元の空間である。パタン識別の分野では、この次元数が16次元など大きくなることがある。このような多次元を、Multi−Dimensionalと表現するのが通例である。
本発明は、前述の課題を解決するために、k−NN探索およびクラス空間への投票によるパタン認識手法を提案する。
この手法の特徴は、データベースおよびインデクスを利用しており、学習モデルの生成および入力モデルの識別の両方を短時間で行うことができる。また、突発的な雑音の重畳に対する前処理を行わず、ロバストな認識ができる、というものである。
このパタン認識方法は、時々刻々と入力パタンが変化するような入力信号に対するパタン認識に最も適する。勿論、一般のパタン認識に用いることも可能である。
本発明は、特に、話者インデキシング(西田昌史、秋田祐哉、河原達也『討論を対象とした話者モデル選択による話者インデキシングと自動書き起こし』電子情報通信学会研究報告、SP2002−157、NLC2002−80(SLP−44−37),2002(非特許文献2参照)のような、時々刻々と識別対象が変化する入力信号のパタンに対し、高速かつ高精度に認識することを実現する。
【0017】
図1(b)では、今、特徴空間に2種類の学習クラス(△と●)があり、入力パタンから生成されるキー(×)を用いて、入力パタンが学習クラスのどちらに所属するかを認識する、というケースを仮定し、キーの各々についてk=4としてk最近傍探索を行う場合を示している。
図1(a)に示すように、入力パタンは音声であり、音声から連続する5つのキーベクトルv1〜v5が生成され、それらの各々のk最近傍ベクトルを含有する空間(以下、これを超球と呼ぶ)を灰色の丸で表した。各々の灰色の丸には、k=4であるため4本のベクトルが含まれる。
【0018】
普通のk−NN法によると、近傍ベクトルのクラス毎の個数は、Class1:Class2=10:10となり、『入力パタンがどちらのクラスに所属するか不明である』識別結果を得る。しかしながら、特徴空間上におけるvi(i=1〜5)の場所を見ると、v2とv4は最近傍のベクトルにはクラス1を含むものの、クラス1の予測される境界領域より大幅に離れた位置にある。突発的な雑音により、このようなエラーが発生することがある(本来、Class2の領域に存在するべきベクトルが、突発的なノイズによってv2とv4のように離れた位置になることがある)。
【0019】
一方、v1とv2は、Class2の中心付近に存在する。このような場合、図1(b)に示すような、クラスの分布を反映するような勾配を表現するPDF(確立密度関数)を用いれば、各クラスの分布の中心付近にあるキーの確立が高く扱われるので、エラーの影響を除去することができ、識別結果は明確にClass2となるであろうが、
・頻繁にデータの更新を行う
・学習サンプルの量が、パタンにより区々である
上記のようなケースでは、PDFを求める方法は不適であると言える。
【0020】
k−NN法では、K最近傍ベクトルを含有する超球内のベクトルの確立密度は一定とするのと等価であるので、クラスの密度を反映することができない。すなわち、突発的なノイズによってクラスの周辺または外側に生じるエラーの影響を受け易い。そこで、クラスの個数の加算の際に、各キーベクトルとそのk最近傍ベクトルとの距離の逆数を用いる方法を考案した。この方法によれば、クラスのベクトルが疎の部分(すなわち、ノイズによりベクトルが突発的に発生する部分)では、超球の半径が大きいために逆数は小さくなり、クラス個数の加算への反映が弱くなる。反対に、クラス個数が密である部分においては、超球半径が小さいために、クラス個数への加算に大きく寄与する。この方法によれば、PDFを求めるのに比較して大幅に単純な処理でありながら、PDFを用いるときと同様にベクトルの密度分布を識別に反映させることができる。
【0021】
識別においては、クラス名からなる1次元の投票空間を準備し、そこへ逆数の値を加算して行く(この例では、v1〜v5まで加算)。最終的に、最大値を獲得したクラスを、識別結果とする。この方法に従えば、v1〜v5を明確にClass2であると識別できることは、図1(b)から明らかである。
上記の処理を一般的な数式を用いて表現すれば、下記のようになる。
識別クラスの集合をP、Pに含まれる任意のクラスをCp、キーベクトルをvj(j=1,2,・・Nf)、k−NN探索の結果得られるベクトルをxi(i=1,2,・・k)、ベクトルvとxとの距離をd(v,x)、xのクラス判別関数をC(x)、クラスCpに対する得票をVcpとすると、識別結果Pansは、次式で表すことができる。
【数1】
以下、この原理を実装したパタン認識装置を実現するための、信号の入力や結果の表示部分などを含んだ網羅的な動作について述べる。
【0022】
以下、本発明の実施例を説明する。
(実施例1)
本発明の動作は、『学習フェーズ』と『認識フェーズ』に分けることができる。
図2は、本発明の実施例1に係るパタン認識装置の構成図である。
図2のパタン認識装置は、入力部11と書誌情報入力部12と書誌情報格納部13と特徴量抽出部14とベクトル生成部15とベクトル圧縮部16とクラス情報生成部17とベクトル格納部18とインデクス生成部19とインデクス格納部20と検索部21とクラス識別部22と表示装置23とから構成される。
その他に、スイッチ1〜スイッチ8が備えられる。
【0023】
(学習フェーズ)
図3は、本発明の実施例1に係るパタン認識装置の学習フェーズの動作フローチャートである。
このフェーズでは、図2のスイッチ1、スイッチ3およびスイッチ5がONとなる。初めに、入力部11を通じて学習パタン生成用の信号を入力する(ステップ101)。入力された音声に関連する情報を、書誌情報として書誌情報入力部12で入力し(ステップ102)、それらは書誌情報格納部13の磁気ディスクなどの記録媒体へ格納される。書誌情報の入力後、特徴量抽出部14において、信号から特徴量を抽出し、それからベクトル生成部15で特徴ベクトルを生成する(ステップ103)。次に、ベクトル圧縮部16で特徴ベクトルを一定の個数の代表ベクトルへ圧縮し(ステップ104)、書誌情報格納部13に格納されている情報に基づいてクラスを定義し(ステップ105)、ベクトルを記録媒体18へ格納する(ステップ106)。全ての必要な学習パタンのベクトルが格納された後(ステップ107)、格納したベクトルの全てのベクトルを用いて、インデクス生成部19によりインデクスを作成し(ステップ108)、インデクスはメモリ等の記録媒体20へ格納される(ステップ109)。
【0024】
これまでの流れを、具体的な例を用いて説明する。例えば、今、『こんにちわ』の音声信号から学習パタンを生成する場合を例にする。『こんにちわ』という音声を入力すると、同時に書誌情報として『こんにちわ、Hello、あいさつ、日本語』等のテキストを自由に入力する。音声からはスペクトルの包絡情報やピッチの変化などの情報が特徴量として抽出され、それらが多数のベクトルとして生成される。生成されたベクトルは、量子化により一定の個数(例えば、128個)へと圧縮され、『こんにちわ』という音声から生成される128個のベクトルを含む『クラス1』を定義し、『クラス1』と、『こんにちわ、Hello、あいさつ、日本語』という書誌情報とを関連付け、128個のベクトルはHDD等の記録媒体へと格納する。学習する音声が他にもあり、例えば『さようなら』についても同様に行い、圧縮された特徴ベクトルのセットからなる『クラス2』を定義し、『さようなら、See you、あいさつ、日本語』という書誌情報とが関連付けられる。全学習パタンがこの『こんにちわ』と『さようなら』の2種類の信号であるならば、クラス1およびクラス2に含まれる合計128+128=256本のベクトルを用いて、インデクスを生成し、インデクスはメモリ等の記録媒体へ格納される。
【0025】
(認識フェーズ)
図4は、本発明の実施例1に係るパタン認識装置の認識フェーズの動作フローチャートである。
このフェーズでは、図2におけるスイッチ2、スイッチ3およびスイッチ7がONとなる。初めに、認識対象となる信号を入力部11から入力する(ステップ201)。特徴量抽出部14および特徴ベクトル生成部15により、信号から複数のベクトルが生成される(ステップ202)。検索部21では、それらのベクトルを用いて、検索部21でk最近傍探索を行う(ステップ203)。探索に際しては、インデクス格納部20に格納されるインデクスを参照し、ベクトル格納部18の中に格納されているベクトルから、キーの近傍にあるベクトルを効率的に探索できる。
次に、クラス識別部22において、探索により得られたベクトル逆数を求め(ステップ204)、各所属クラスの値からなる投票空間へその値を加算する(ステップ205)。加算の結果、最大値を取ったクラスに基づいて、書誌情報を参照し、それを識別結果として表示装置23に表示する(ステップ206)。
【0026】
上記の処理を具体的な例を用いて説明する。今、学習パタンとしては『おはよう』,『こんにちわ』,『さようなら』という3種類の学習音声が、クラス1、クラス2、およびクラス3という各々5本ずつのベクトルを含む3つのクラスにパタン化され、格納されているものとする。Xji(i=1〜5,j=1〜3)、識別対象となる入力信号は、初めは不明であるとする。入力音声から、特徴量抽出部14において音響特徴量であるケプストラム情報やピッチ情報を抽出し、それらを用いて複数のベクトルを生成する。仮に、入力音声からベクトルが3つVi(i=1,2,3)生成されるものとする。各ベクトルを用いて、インデクス格納部20に格納されるインデクス情報を参照しながら、検索部21においてk=2としてk最近傍ベクトル探索を行い、近傍ベクトルについて図9に示すような結果を得たとする。
【0027】
図9は、実施例1におけるk=2としてk最近傍ベクトル探索の結果の図である。
図9では、キー毎にクラス1,2,3の各ベクトルX11〜X13、X21,22、X35とそれらの距離が示されている。
図9の結果から、ベクトルのクラスおよびベクトルの距離(Distance)の逆数を求めると、図10に示すようになる。
図10は、図9の結果から、ベクトルのクラスおよびベクトルの距離の逆数を求めた結果の図である。
図10の結果から、クラス1〜3について、それぞれ逆数の値を、クラス1〜3からなる投票空間に投票すると、図11に示すようになり、総得票数はクラス1が最大となる。
【0028】
図11は、図10の結果からクラス1〜3について、逆数の値をクラス1〜3の投票空間に投票した結果の図である。
図11では、クラス1〜3について、逆数の値をV1,V2,V3毎に示されており、クラスで合計したMAX値が示されている。これによれば、総得票数はクラス1が最大である。最大クラスがClass1であり、Class1の書誌情報が『おはよう』であることから、入力音声は『おはよう』であると認識される。
【0029】
(実施例2)
図5は、本発明の実施例2に係るパタン認識装置の学習フェーズの動作フローチャートである。
実施例2では、実施例1に比べて学習フェーズが以下のようになっている。それ以外の、構成や認識フェーズの動作については実施例1と同じである。
学習フェーズにおいて、図2において、スイッチ1、スイッチ3およびスイッチ6がONになる。初めに、入力部11を通じて学習パタン生成用の信号を入力する(ステップ301)。入力された音声に関連する情報を、書誌情報として書誌情報入力部12で入力し(ステップ302)、それらは書誌情報格納部13の磁気ディスクなどの記録媒体へ格納される。書誌情報の入力後、特徴量抽出部14において、信号から特徴量を抽出し、それからベクトル生成部15で特徴ベクトルを生成する(ステップ303)。次に、特徴ベクトルの圧縮は行わず、クラス情報生成部17において、書誌情報格納部13に格納されている情報に基づいてクラスを定義し(ステップ304)、ベクトルを記録媒体18へ格納する(ステップ305)。全ての必要な学習パタンのベクトルが格納された後(ステップ306)、格納したベクトル全てのベクトルを用いて、インデクス生成部19によりインデクスを生成し(ステップ307)、生成したインデクスはメモリ等の記録媒体20へ格納される(ステップ308)。
【0030】
(実施例3)
図6は、本発明の実施例3に係るパタン認識装置の学習パタン定義フェーズの動作フローチャートである。
このように、実施例3では、実施例1に比較して、新規学習パタン定義フェーズが追加される。このフェーズは、実施例1の認識フェーズの後に、連続して行われるフェーズである。従って、図2、図3、図4については、実施例1と同じである。
このフェーズでは、図2において、スイッチ2、スイッチ4およびスイッチ8がONになる。
【0031】
初めに、図4のステップ201からステップ205までは、実施例1と全く同じである。すなわち、認識フェーズのクラス識別部22において、クラス判別閾値Tを定義し、各クラスの得票値の割合を求める(ステップ405)。最大値を取ったクラスの投票値の割合が閾値率以下である場合(ステップ406,407)、『該当クラスなし』と表示装置23に表示する。このベクトル列を、新規クラス該当ベクトルと呼ぶ(ステップ408)。次に、新規クラス該当ベクトルに対して、書誌情報入力部12により新規に書誌情報を入力する。書誌情報の入力後、ベクトル圧縮部16で、新規クラス該当ベクトルを一定の個数の代表ベクトルへ圧縮し、新規に書誌情報格納部13へ格納された情報に基づいて新規にクラスを定義し、新規クラス該当ベクトルを記録媒体18へ格納する。新規クラス該当ベクトルの格納後、新規クラス該当ベクトルを含むこれまでに格納した全てのベクトルを用いて、インデクス生成部19によりインデクスを作成し(ステップ411)、インデクスはメモリ等の記録媒体20へ格納される(ステップ412)。
【0032】
この動作について、具体的な例を用いて説明する。
図12は、実施例1の認識フェーズの結果の図である。
今、実施例1の認識フェーズの結果、クラス1〜3からなる投票空間に、図12に示すような値を得たものとする。
今、クラス判別閾値Tを、T=0.6(T=〜1.0)と設定すると、最大値を取ったClass1の得票値の割合は、14/(14+9.8+13.33)=0.38<Tである。従って、キーベクトルv1〜v3を生成した入力パタンは、Class1〜Class3のいずれにも該当しない、と判定される。
このv1〜v3を用いて、新たなクラスを定義するため、書誌情報を入力する。例えば、クラスをClass4とし、書誌情報を『こんばんわ』であると入力する。ベクトルv1〜v3を圧縮した後、HDD等の記録媒体へ格納する。その後、これまでに格納されている全ベクトルを用いてインデクスを生成し、インデクスをメモリ等の記録媒体に格納する。その他のフェーズの動作は、全て実施例1と同じである。
【0033】
(実施例4)
図7は、本発明の実施例4に係るパタン認識装置の構成図である。
図7は、図1の構成に比較して、クラス一時記憶部24が追加されただけであり、その他の構成は実施例1と同じである。
図8は、本発明の実施例4に係るパタン認識装置の識別フェーズの動作フローチャートである。
実施例4では、実施例1に比較して識別フェーズのみがステップ506〜508が追加されている。なお、学習フェーズは実施例1と同じである。
【0034】
実施例4のこのフェーズでは、図2におけるスイッチ2、スイッチ7がONになる。
初めに、認識対象となる信号を入力部11から入力する(ステップ501)。特徴量抽出部14および特徴ベクトル生成部15により、信号から複数のベクトルが生成される(ステップ502)。検索部21では、それらのベクトルを用いて、検索部21でk最近傍探索を行う(ステップ503)。探索に際しては、インデクス格納部20に格納されるインデクスを参照し、ベクトル格納部18の中に格納されているベクトルから、キーの近傍にあるベクトルを効率的に探索できる。
【0035】
次に、クラス識別部22において、探索により得られたベクトル逆数を求め(ステップ504)、各所属クラスの値から成る投票空間へその値を加算する(ステップ505)。次に、クラス識別部22において、クラス一時記憶部24に格納されている前の投票空間の値を参照する。クラス修正閾値Cを定義し、閾値に基づいてN個前のクラス識別結果を遡って修正し(ステップ506)、その結果を表示装置23に表示する。
【0036】
以上の動作について、具体的な例を用いて説明する。今、異なる話者A,BおよびCが、交替しながら会話する音声が時々刻々と入力される場合のパタン識別を想定する。また、予め話者A,BおよびCの学習パタンが個別に得られ、Class1,Class2およびClass3として定義され、格納されているものとする。識別の粒度は1秒ずつ行うものとし、クラス修正閾値を0.6とし、1個分の結果を遡って修正する場合を示す。1個の結果は、1秒の音声に対する識別結果に相当する。
【0037】
初めに、1秒分の入力音声から、音声特徴ベクトルを抽出する。具体的には、例えばLPCケプストラムなどのスペクトル包絡情報を表すベクトルを、10ms毎に生成する。その結果、1秒の音声からは、1.0/0.01=100個のキーベクトルvi(i=1〜100)ができる。各々のvを用いて、インデクス情報を参照しながらk−NN探索を行い、この100個のキーによるk−NN探索の結果をもとにClass1〜Class3からなる投票空間の値として、図13に示すように、V1−100={0.58,0.32,0.08}が得られたとする。この値を、クラス一時記憶部24に格納する。
【0038】
図13は、100個のキーベクトルを用いて、探索結果をもとにClass1〜Class3からなる投票空間の値を算出した図である。
図13では、V1〜V100について、クラス1,2,3毎に投票空間の値を算出し、累算値Σと%を算出している。すなわちクラス1の累算値は20、クラス2の累算値は11、クラス3の累算値は3であり、クラス1は0.58%、クラス2は0.32%、クラス3は0.08%である。
【0039】
続いて、次の1秒の入力に対しても同様に処理を行い、Class1〜Class3からなる投票空間の値として図14に示すようにV101〜V200={0.27,0.68,0.045}が得られたとする。
図14は、次の100個のキーベクトルを用いて、探索結果をもとにClass1〜Class3からなる投票空間の値を算出した図である。
図14では、V101〜V200について、クラス1,2,3毎に投票空間の値を算出し、Σと%を算出している。
【0040】
今、1個分の結果を遡って修正するので、V101〜V200の結果が得られた時点で、V1〜V100の結果を修正する。V101〜V200の1つ前の識別空間V1−100={0.58,0.32,0.08}による識別結果は、0.58を獲得した『Class1』であるが、クラス修正閾値C0.6>0.58より、V1〜V100の結果は信頼性が低いとみなされ、修正される。V1〜V100の結果は、V101〜V200で最大値0.68を獲得したClass2と修正される。
このような遡った修正により、話者インデキシングのように識別対象となるパタンが時々刻々と変化する場合にも、正しい識別が可能となる。
【0041】
(その他の実施例)
図15は、本発明の実施例1〜実施例7のスイッチ動作状態図である。
図15では、これまで説明した実施例1〜実施例4の他にも、実施例5〜実施例7について、学習フェーズ、認識フェーズ、新規パタン定義フェーズにおけるスイッチのON/OFF状態が示されている。実施例5では、実施例2で、新規パタン定義を行うものであり、実施例6では、実施例4で新規パタン定義を行うものであり、実施例7では、実施例6で、ベクトルを圧縮しない場合である。
【0042】
【発明の効果】
以上説明したように、本発明によれば、以下のような効果を奏する。
(1)学習パタン生成の際に複雑な処理が不要であり、学習サンプルのベクトルを単純にデータベースに格納すればよく、それを用いて突発的な雑音の重畳がある信号に対してもロバストにパタン認識を行うことが可能である。
(2)また、時々刻々と識別対象となるパタンが変化するような入力パタンに対しても、時刻を遡ってクラス識別結果を修正することで、よりよいパタン認識結果を得ることができる。
【図面の簡単な説明】
【図1】本発明の動作原理を示す説明図である。
【図2】本発明の実施例1に係るパタン認識装置の構成図である。
【図3】本発明の実施例1に係るパタン認識装置の学習フェーズの動作フローチャートである。
【図4】本発明の実施例1に係るパタン認識装置の認識フェーズの動作フローチャートである。
【図5】本発明の実施例2に係るパタン認識装置の学習フェーズの動作フローチャートである。
【図6】本発明の実施例3に係るパタン認識装置の新規学習パタン定義フェーズの動作フローチャートである。
【図7】本発明の実施例4に係るパタン認識装置の構成図である。
【図8】本発明の実施例4に係るパタン認識装置の識別フェーズの動作フローチャートである。
【図9】本発明の実施例1における検索部で最近傍ベクトル探索を行った結果の図である。
【図10】図9の結果から、ベクトルのクラスとベクトルの距離の逆数を求めた結果の図である。
【図11】図10の結果から、逆数の値をClass1〜3の投票空間に投票した場合の結果の図である。
【図12】本発明の実施例1の認識フェーズの結果の図である。
【図13】本発明の実施例4におけるk−NN探索の結果をもとにClass1〜3からなる投票空間の値として得られた結果の図である。
【図14】図13に続いて、次に1秒の入力に対しても同様の処理を行い、結果を得た場合の図である。
【図15】本発明のその他の実施例におけるスイッチのON/OFF状態の図である。
【符号の説明】
11…入力部、12…書誌情報入力部、13…書誌情報格納部、
14…特徴量抽出部、15…ベクトル生成部、16…ベクトル圧縮部、
17…クラス情報生成部、18…ベクトル格納部、19…インデクス生成部、
20…インデクス格納部、21…検索部、22…クラス識別部、
23…表示装置、24…クラス一時記憶部。
【発明の属する技術分野】
本発明は、信号同士を比較することにより、入力された信号が学習されている信号のパタンに一致するか否かを判断するパタン認識方法および装置に関する。
【0002】
【従来の技術】
本明細書においては、機械に予め物事を登録することを学習と呼び、識別のために予め準備しておく信号のパタンを学習パタンと呼び、識別対象となる信号のパタンを入力パタンと呼ぶことにする。また、入力された信号が学習されている信号のパタンに一致するか否かを判断することを、パタン認識と呼ぶ。
なお、上記『信号』の例としては、画像、動画像、および数値または文字列データの流れが含まれ、具体勢には、音声認識、画像認識、動画像中の物体の認識、話者認識、データ予測、データマイニング等に用いることができる。
【0003】
従来より、パタン認識に関する研究は、幅広く行われている。基本的に、パタン認識とは、観測されたパタンを予め定められた複数の概念のうちの一つに対応させる処理である(『わかりやすいパターン認識』石井健一郎ほか、オーム社出版軍発行、ISBN4−274−13149−1(非特許文献1参照)
この『概念』をクラスと呼ぶ。また、『予め概念を定める』とは、予め準備したベクトル(これを学習ベクトルと呼ぶ)を準備して、学習ベクトルから『学習パタン』と呼ばれる概念を作成することを指す。
通常、学習パタンの一つのクラスは、複数のベクトルの集合で表現される。このベクトルを、特徴ベクトルと呼び、特徴ベクトルによって張られる空間(特徴ベクトルを網羅的に含む空間)を特徴空間と呼ぶ。
【0004】
高い精度でパタン認識を行うためには、2点の要素が重要である。
1点は、学習パタンの作り方であり、クラス間の分布が広くなるような学習パタン作り方、および特徴量の選び方が重要である。識別の対象となるパタンを良く表現するような学習パタンが準備できないと、いかなる方法によっても精度よくパタン認識を行うことはできない。学習パタンは、学習パタンを格納するために必要な主記憶容量を節約するために、学習用の信号から生成される特徴ベクトルを用いて確率モデル(学習モデルと呼ぶ)を生成する方法があり、これをパラメトリックな手法と呼ぶ。
【0005】
一方、学習用の信号から生成されるベクトルをそのままサンプルとして用いる方法は、ノンパラメトリックな方法と呼ばれ、代表的なものにNN法がある。近年の計算機における主記憶容量の飛躍的な進歩により、ベクトルをそのまま学習サンプルとして扱うNN法が見直されつつある。NN法やk−NN法などのノンパラメトリックな手法は、パラメトリックな手法に比較して技術的に平易な方法ではあるが利点もある。特に、頻繁に学習サンプルデータの追加などが行われる場合には、一々確立密度関数を求めないNN法が有利である。
k−NN法(k−th Nearest−Neighbor法)であって、k番目最近傍のような意味を有している(例えば、図1における×印から近い順にk個の点を探すこと)。
【0006】
他の1点は、入力パタンからのノイズ除去や正規化などの、前処理(preprocessing)と呼ばれる処理である。高精度な認識処理のためには、入力パタンにノイズがある場合は、それを前処理により除去する必要がある。除去が難かしてノイズの例には、突発的に重畳する短時間のノイズがある。例えば、話者認識における、入力音声に混入する他人の会話、咳払い、紙をめくる音、入力しようとするマイクに触ることにより生じる音、などである。特に、話者インデキシングにおいては、多数の話者が交替しながら発話する状況に対して話者認識を適用するため、このような突発的に重畳するノイズは問題である。
【0007】
ラインノイズのように、入力パタンに対して常に一定の周波数と音量で重畳するノイズは比較的簡単に除去できるが、突発的に、かつランダムに重畳するノイズへの対応は一般に困難であり、パタン認識精度の低下をもたらす原因の一つになっている。
また、入力パタン生成時と学習パタン生成時との環境が異なる場合、正規化が必要となる。例えば、画像の認識における画像のサイズや、音声の認識における音声のサンプリング周波数などについて、学習パタンと入力パタンとの正規化が必要である。
【0008】
【非特許文献1】
『わかりやすいパターン認識』石井健一郎ほか、オーム社出版軍発行、ISBN4−274−13149−1
【非特許文献2】
西田昌史、秋田祐哉、河原達也『討論を対象とした話者モデル選択による話者インデキシングと自動書き起こし』電子情報通信学会研究報告、SP2002−157、NLC2002−80(SLP−44−37),2002
【0009】
【発明が解決しようとする課題】
前述のように、高精度なパタン認識のためには、時間の掛かる複雑な処理により確立密度関数(PDF)などの学習パタンを作成し、かつ入力パタンに対しては前処理が必要である。しかし、頻繁に学習パタンが追加・更新されるケースでは、このような学習パタンの生成方法は不向きである上、多種類のノイズや環境の全てに対応した前処理を準備することは不可能である。
【0010】
そこで、本発明の目的は、学習パタンの作成に複雑な計算を行うことなく、学習信号から生成されるベクトルを単純に格納したデータベースを認識に用い、かつ入力信号に対して特別な前処理を行うことなく、高速なパタン認識かつ入力パタンにランダムに重畳するノイズに対してロバストなパタン認識を実現することが可能なパタン認識方法および装置を提供することにある。
【0011】
【課題を解決するための手段】
本発明のパタン認識装置は、信号入力手段と、書誌情報登録手段と、ベクトル生成手段と、ベクトル圧縮手段と、クラス生成手段と、ベクトル格納手段と、インデクス生成手段と、ベクトル探索手段と、クラス識別手段と、識別結果表示手段とから構成される。
本発明の信号入力手段は、パタン認識に用いる信号を入力する。信号とは、例えば、静止画像、動画像、音声、パケット等の単純なデータの流れ、株価・河川流量・騒音値などの時間的に変化する数値の流れ、天気・話題などの文字列の流れ、などがある。これらのデータを本発明では『信号』と呼ぶことにする。
【0012】
書誌情報登録手段は、学習パタンを作るために入力された信号に対し、その書誌情報を入力する。書誌情報は、テキストの情報である。例えば、Aという名前の話者の音声の学習パタンを生成するとき、入力する音声に対して『名前:A』というテキストを登録し、音声と関連付ける。書誌情報は、自由に記入することができる。
ベクトル生成手段は、学習用の信号から、特徴ベクトルを生成する。特徴ベクトルは、例えば、色情報(ピクセルのRGB)、動きベクトル、線形予測係数、スペクトル密度、のように、入力される信号に応じて様々な特徴ベクトルがある。
【0013】
ベクトル圧縮手段は、特徴ベクトルを圧縮する。
クラス生成手段は、学習用に入力された信号から生成される特徴ベクトルを、一つのクラスに関連付ける。
ベクトル格納手段は、生成された特徴ベクトルを記録媒体に格納する。
インデクス生成手段は、記録媒体に格納された全ての特徴ベクトルからインデクスを生成する。
【0014】
ベクトル探索手段は、記録媒体に格納された特徴ベクトルから、キーとの距離が近いものを探索する。インデクスがある場合には、インデクス情報を参照して探索する。
クラス識別手段は、ベクトル探索手段により選ばれたベクトルの所属クラスに基づいて、入力信号のクラスを識別する。このとき、キーと近傍ベクトルの距離の逆数を用いる。
識別結果表示手段は、上記手段により識別されたクラスに基づいて、識別結果を表示する。
【0015】
本発明によれば、入力信号に突発的に雑音が重畳しても、入力パタンを精度よく識別することができる。また、入力パタンに重畳する突発的なノイズを前処理により分離する必要はなく、そのまま入力パタンとして用いることができる。入力されたパタンは、予め準備された学習パタンと比較され、比較の結果、特定の学習パタンと同じであると判断がなされるか、あるいは、いずれの学習パタンにも相当しないものであるとの判断がなされる。後者の場合には、入力パタンを用いて新たに学習パタンが定義される。本発明は、特に、話者インデキシングのような、時々刻々と識別パタンが変化するような入力信号に対するパタン認識に最も適合する。
【0016】
【発明の実施の形態】
以下、本発明の原理および実施例について、図面を参照しながら詳細に説明する。
(原理)
図1は、本発明の原理の説明図である。(a)は入力パタンの音声波形を示す図、(b)は(a)で示す近傍ベクトルの空間を示す図である。
Multi−Dimensional Feature Vector Spaceとは、図1の縦横の矢印で囲まれる空間のことで、多次元特徴ベクトル空間である。図1は平面であるから2次元の空間である。パタン識別の分野では、この次元数が16次元など大きくなることがある。このような多次元を、Multi−Dimensionalと表現するのが通例である。
本発明は、前述の課題を解決するために、k−NN探索およびクラス空間への投票によるパタン認識手法を提案する。
この手法の特徴は、データベースおよびインデクスを利用しており、学習モデルの生成および入力モデルの識別の両方を短時間で行うことができる。また、突発的な雑音の重畳に対する前処理を行わず、ロバストな認識ができる、というものである。
このパタン認識方法は、時々刻々と入力パタンが変化するような入力信号に対するパタン認識に最も適する。勿論、一般のパタン認識に用いることも可能である。
本発明は、特に、話者インデキシング(西田昌史、秋田祐哉、河原達也『討論を対象とした話者モデル選択による話者インデキシングと自動書き起こし』電子情報通信学会研究報告、SP2002−157、NLC2002−80(SLP−44−37),2002(非特許文献2参照)のような、時々刻々と識別対象が変化する入力信号のパタンに対し、高速かつ高精度に認識することを実現する。
【0017】
図1(b)では、今、特徴空間に2種類の学習クラス(△と●)があり、入力パタンから生成されるキー(×)を用いて、入力パタンが学習クラスのどちらに所属するかを認識する、というケースを仮定し、キーの各々についてk=4としてk最近傍探索を行う場合を示している。
図1(a)に示すように、入力パタンは音声であり、音声から連続する5つのキーベクトルv1〜v5が生成され、それらの各々のk最近傍ベクトルを含有する空間(以下、これを超球と呼ぶ)を灰色の丸で表した。各々の灰色の丸には、k=4であるため4本のベクトルが含まれる。
【0018】
普通のk−NN法によると、近傍ベクトルのクラス毎の個数は、Class1:Class2=10:10となり、『入力パタンがどちらのクラスに所属するか不明である』識別結果を得る。しかしながら、特徴空間上におけるvi(i=1〜5)の場所を見ると、v2とv4は最近傍のベクトルにはクラス1を含むものの、クラス1の予測される境界領域より大幅に離れた位置にある。突発的な雑音により、このようなエラーが発生することがある(本来、Class2の領域に存在するべきベクトルが、突発的なノイズによってv2とv4のように離れた位置になることがある)。
【0019】
一方、v1とv2は、Class2の中心付近に存在する。このような場合、図1(b)に示すような、クラスの分布を反映するような勾配を表現するPDF(確立密度関数)を用いれば、各クラスの分布の中心付近にあるキーの確立が高く扱われるので、エラーの影響を除去することができ、識別結果は明確にClass2となるであろうが、
・頻繁にデータの更新を行う
・学習サンプルの量が、パタンにより区々である
上記のようなケースでは、PDFを求める方法は不適であると言える。
【0020】
k−NN法では、K最近傍ベクトルを含有する超球内のベクトルの確立密度は一定とするのと等価であるので、クラスの密度を反映することができない。すなわち、突発的なノイズによってクラスの周辺または外側に生じるエラーの影響を受け易い。そこで、クラスの個数の加算の際に、各キーベクトルとそのk最近傍ベクトルとの距離の逆数を用いる方法を考案した。この方法によれば、クラスのベクトルが疎の部分(すなわち、ノイズによりベクトルが突発的に発生する部分)では、超球の半径が大きいために逆数は小さくなり、クラス個数の加算への反映が弱くなる。反対に、クラス個数が密である部分においては、超球半径が小さいために、クラス個数への加算に大きく寄与する。この方法によれば、PDFを求めるのに比較して大幅に単純な処理でありながら、PDFを用いるときと同様にベクトルの密度分布を識別に反映させることができる。
【0021】
識別においては、クラス名からなる1次元の投票空間を準備し、そこへ逆数の値を加算して行く(この例では、v1〜v5まで加算)。最終的に、最大値を獲得したクラスを、識別結果とする。この方法に従えば、v1〜v5を明確にClass2であると識別できることは、図1(b)から明らかである。
上記の処理を一般的な数式を用いて表現すれば、下記のようになる。
識別クラスの集合をP、Pに含まれる任意のクラスをCp、キーベクトルをvj(j=1,2,・・Nf)、k−NN探索の結果得られるベクトルをxi(i=1,2,・・k)、ベクトルvとxとの距離をd(v,x)、xのクラス判別関数をC(x)、クラスCpに対する得票をVcpとすると、識別結果Pansは、次式で表すことができる。
【数1】
以下、この原理を実装したパタン認識装置を実現するための、信号の入力や結果の表示部分などを含んだ網羅的な動作について述べる。
【0022】
以下、本発明の実施例を説明する。
(実施例1)
本発明の動作は、『学習フェーズ』と『認識フェーズ』に分けることができる。
図2は、本発明の実施例1に係るパタン認識装置の構成図である。
図2のパタン認識装置は、入力部11と書誌情報入力部12と書誌情報格納部13と特徴量抽出部14とベクトル生成部15とベクトル圧縮部16とクラス情報生成部17とベクトル格納部18とインデクス生成部19とインデクス格納部20と検索部21とクラス識別部22と表示装置23とから構成される。
その他に、スイッチ1〜スイッチ8が備えられる。
【0023】
(学習フェーズ)
図3は、本発明の実施例1に係るパタン認識装置の学習フェーズの動作フローチャートである。
このフェーズでは、図2のスイッチ1、スイッチ3およびスイッチ5がONとなる。初めに、入力部11を通じて学習パタン生成用の信号を入力する(ステップ101)。入力された音声に関連する情報を、書誌情報として書誌情報入力部12で入力し(ステップ102)、それらは書誌情報格納部13の磁気ディスクなどの記録媒体へ格納される。書誌情報の入力後、特徴量抽出部14において、信号から特徴量を抽出し、それからベクトル生成部15で特徴ベクトルを生成する(ステップ103)。次に、ベクトル圧縮部16で特徴ベクトルを一定の個数の代表ベクトルへ圧縮し(ステップ104)、書誌情報格納部13に格納されている情報に基づいてクラスを定義し(ステップ105)、ベクトルを記録媒体18へ格納する(ステップ106)。全ての必要な学習パタンのベクトルが格納された後(ステップ107)、格納したベクトルの全てのベクトルを用いて、インデクス生成部19によりインデクスを作成し(ステップ108)、インデクスはメモリ等の記録媒体20へ格納される(ステップ109)。
【0024】
これまでの流れを、具体的な例を用いて説明する。例えば、今、『こんにちわ』の音声信号から学習パタンを生成する場合を例にする。『こんにちわ』という音声を入力すると、同時に書誌情報として『こんにちわ、Hello、あいさつ、日本語』等のテキストを自由に入力する。音声からはスペクトルの包絡情報やピッチの変化などの情報が特徴量として抽出され、それらが多数のベクトルとして生成される。生成されたベクトルは、量子化により一定の個数(例えば、128個)へと圧縮され、『こんにちわ』という音声から生成される128個のベクトルを含む『クラス1』を定義し、『クラス1』と、『こんにちわ、Hello、あいさつ、日本語』という書誌情報とを関連付け、128個のベクトルはHDD等の記録媒体へと格納する。学習する音声が他にもあり、例えば『さようなら』についても同様に行い、圧縮された特徴ベクトルのセットからなる『クラス2』を定義し、『さようなら、See you、あいさつ、日本語』という書誌情報とが関連付けられる。全学習パタンがこの『こんにちわ』と『さようなら』の2種類の信号であるならば、クラス1およびクラス2に含まれる合計128+128=256本のベクトルを用いて、インデクスを生成し、インデクスはメモリ等の記録媒体へ格納される。
【0025】
(認識フェーズ)
図4は、本発明の実施例1に係るパタン認識装置の認識フェーズの動作フローチャートである。
このフェーズでは、図2におけるスイッチ2、スイッチ3およびスイッチ7がONとなる。初めに、認識対象となる信号を入力部11から入力する(ステップ201)。特徴量抽出部14および特徴ベクトル生成部15により、信号から複数のベクトルが生成される(ステップ202)。検索部21では、それらのベクトルを用いて、検索部21でk最近傍探索を行う(ステップ203)。探索に際しては、インデクス格納部20に格納されるインデクスを参照し、ベクトル格納部18の中に格納されているベクトルから、キーの近傍にあるベクトルを効率的に探索できる。
次に、クラス識別部22において、探索により得られたベクトル逆数を求め(ステップ204)、各所属クラスの値からなる投票空間へその値を加算する(ステップ205)。加算の結果、最大値を取ったクラスに基づいて、書誌情報を参照し、それを識別結果として表示装置23に表示する(ステップ206)。
【0026】
上記の処理を具体的な例を用いて説明する。今、学習パタンとしては『おはよう』,『こんにちわ』,『さようなら』という3種類の学習音声が、クラス1、クラス2、およびクラス3という各々5本ずつのベクトルを含む3つのクラスにパタン化され、格納されているものとする。Xji(i=1〜5,j=1〜3)、識別対象となる入力信号は、初めは不明であるとする。入力音声から、特徴量抽出部14において音響特徴量であるケプストラム情報やピッチ情報を抽出し、それらを用いて複数のベクトルを生成する。仮に、入力音声からベクトルが3つVi(i=1,2,3)生成されるものとする。各ベクトルを用いて、インデクス格納部20に格納されるインデクス情報を参照しながら、検索部21においてk=2としてk最近傍ベクトル探索を行い、近傍ベクトルについて図9に示すような結果を得たとする。
【0027】
図9は、実施例1におけるk=2としてk最近傍ベクトル探索の結果の図である。
図9では、キー毎にクラス1,2,3の各ベクトルX11〜X13、X21,22、X35とそれらの距離が示されている。
図9の結果から、ベクトルのクラスおよびベクトルの距離(Distance)の逆数を求めると、図10に示すようになる。
図10は、図9の結果から、ベクトルのクラスおよびベクトルの距離の逆数を求めた結果の図である。
図10の結果から、クラス1〜3について、それぞれ逆数の値を、クラス1〜3からなる投票空間に投票すると、図11に示すようになり、総得票数はクラス1が最大となる。
【0028】
図11は、図10の結果からクラス1〜3について、逆数の値をクラス1〜3の投票空間に投票した結果の図である。
図11では、クラス1〜3について、逆数の値をV1,V2,V3毎に示されており、クラスで合計したMAX値が示されている。これによれば、総得票数はクラス1が最大である。最大クラスがClass1であり、Class1の書誌情報が『おはよう』であることから、入力音声は『おはよう』であると認識される。
【0029】
(実施例2)
図5は、本発明の実施例2に係るパタン認識装置の学習フェーズの動作フローチャートである。
実施例2では、実施例1に比べて学習フェーズが以下のようになっている。それ以外の、構成や認識フェーズの動作については実施例1と同じである。
学習フェーズにおいて、図2において、スイッチ1、スイッチ3およびスイッチ6がONになる。初めに、入力部11を通じて学習パタン生成用の信号を入力する(ステップ301)。入力された音声に関連する情報を、書誌情報として書誌情報入力部12で入力し(ステップ302)、それらは書誌情報格納部13の磁気ディスクなどの記録媒体へ格納される。書誌情報の入力後、特徴量抽出部14において、信号から特徴量を抽出し、それからベクトル生成部15で特徴ベクトルを生成する(ステップ303)。次に、特徴ベクトルの圧縮は行わず、クラス情報生成部17において、書誌情報格納部13に格納されている情報に基づいてクラスを定義し(ステップ304)、ベクトルを記録媒体18へ格納する(ステップ305)。全ての必要な学習パタンのベクトルが格納された後(ステップ306)、格納したベクトル全てのベクトルを用いて、インデクス生成部19によりインデクスを生成し(ステップ307)、生成したインデクスはメモリ等の記録媒体20へ格納される(ステップ308)。
【0030】
(実施例3)
図6は、本発明の実施例3に係るパタン認識装置の学習パタン定義フェーズの動作フローチャートである。
このように、実施例3では、実施例1に比較して、新規学習パタン定義フェーズが追加される。このフェーズは、実施例1の認識フェーズの後に、連続して行われるフェーズである。従って、図2、図3、図4については、実施例1と同じである。
このフェーズでは、図2において、スイッチ2、スイッチ4およびスイッチ8がONになる。
【0031】
初めに、図4のステップ201からステップ205までは、実施例1と全く同じである。すなわち、認識フェーズのクラス識別部22において、クラス判別閾値Tを定義し、各クラスの得票値の割合を求める(ステップ405)。最大値を取ったクラスの投票値の割合が閾値率以下である場合(ステップ406,407)、『該当クラスなし』と表示装置23に表示する。このベクトル列を、新規クラス該当ベクトルと呼ぶ(ステップ408)。次に、新規クラス該当ベクトルに対して、書誌情報入力部12により新規に書誌情報を入力する。書誌情報の入力後、ベクトル圧縮部16で、新規クラス該当ベクトルを一定の個数の代表ベクトルへ圧縮し、新規に書誌情報格納部13へ格納された情報に基づいて新規にクラスを定義し、新規クラス該当ベクトルを記録媒体18へ格納する。新規クラス該当ベクトルの格納後、新規クラス該当ベクトルを含むこれまでに格納した全てのベクトルを用いて、インデクス生成部19によりインデクスを作成し(ステップ411)、インデクスはメモリ等の記録媒体20へ格納される(ステップ412)。
【0032】
この動作について、具体的な例を用いて説明する。
図12は、実施例1の認識フェーズの結果の図である。
今、実施例1の認識フェーズの結果、クラス1〜3からなる投票空間に、図12に示すような値を得たものとする。
今、クラス判別閾値Tを、T=0.6(T=〜1.0)と設定すると、最大値を取ったClass1の得票値の割合は、14/(14+9.8+13.33)=0.38<Tである。従って、キーベクトルv1〜v3を生成した入力パタンは、Class1〜Class3のいずれにも該当しない、と判定される。
このv1〜v3を用いて、新たなクラスを定義するため、書誌情報を入力する。例えば、クラスをClass4とし、書誌情報を『こんばんわ』であると入力する。ベクトルv1〜v3を圧縮した後、HDD等の記録媒体へ格納する。その後、これまでに格納されている全ベクトルを用いてインデクスを生成し、インデクスをメモリ等の記録媒体に格納する。その他のフェーズの動作は、全て実施例1と同じである。
【0033】
(実施例4)
図7は、本発明の実施例4に係るパタン認識装置の構成図である。
図7は、図1の構成に比較して、クラス一時記憶部24が追加されただけであり、その他の構成は実施例1と同じである。
図8は、本発明の実施例4に係るパタン認識装置の識別フェーズの動作フローチャートである。
実施例4では、実施例1に比較して識別フェーズのみがステップ506〜508が追加されている。なお、学習フェーズは実施例1と同じである。
【0034】
実施例4のこのフェーズでは、図2におけるスイッチ2、スイッチ7がONになる。
初めに、認識対象となる信号を入力部11から入力する(ステップ501)。特徴量抽出部14および特徴ベクトル生成部15により、信号から複数のベクトルが生成される(ステップ502)。検索部21では、それらのベクトルを用いて、検索部21でk最近傍探索を行う(ステップ503)。探索に際しては、インデクス格納部20に格納されるインデクスを参照し、ベクトル格納部18の中に格納されているベクトルから、キーの近傍にあるベクトルを効率的に探索できる。
【0035】
次に、クラス識別部22において、探索により得られたベクトル逆数を求め(ステップ504)、各所属クラスの値から成る投票空間へその値を加算する(ステップ505)。次に、クラス識別部22において、クラス一時記憶部24に格納されている前の投票空間の値を参照する。クラス修正閾値Cを定義し、閾値に基づいてN個前のクラス識別結果を遡って修正し(ステップ506)、その結果を表示装置23に表示する。
【0036】
以上の動作について、具体的な例を用いて説明する。今、異なる話者A,BおよびCが、交替しながら会話する音声が時々刻々と入力される場合のパタン識別を想定する。また、予め話者A,BおよびCの学習パタンが個別に得られ、Class1,Class2およびClass3として定義され、格納されているものとする。識別の粒度は1秒ずつ行うものとし、クラス修正閾値を0.6とし、1個分の結果を遡って修正する場合を示す。1個の結果は、1秒の音声に対する識別結果に相当する。
【0037】
初めに、1秒分の入力音声から、音声特徴ベクトルを抽出する。具体的には、例えばLPCケプストラムなどのスペクトル包絡情報を表すベクトルを、10ms毎に生成する。その結果、1秒の音声からは、1.0/0.01=100個のキーベクトルvi(i=1〜100)ができる。各々のvを用いて、インデクス情報を参照しながらk−NN探索を行い、この100個のキーによるk−NN探索の結果をもとにClass1〜Class3からなる投票空間の値として、図13に示すように、V1−100={0.58,0.32,0.08}が得られたとする。この値を、クラス一時記憶部24に格納する。
【0038】
図13は、100個のキーベクトルを用いて、探索結果をもとにClass1〜Class3からなる投票空間の値を算出した図である。
図13では、V1〜V100について、クラス1,2,3毎に投票空間の値を算出し、累算値Σと%を算出している。すなわちクラス1の累算値は20、クラス2の累算値は11、クラス3の累算値は3であり、クラス1は0.58%、クラス2は0.32%、クラス3は0.08%である。
【0039】
続いて、次の1秒の入力に対しても同様に処理を行い、Class1〜Class3からなる投票空間の値として図14に示すようにV101〜V200={0.27,0.68,0.045}が得られたとする。
図14は、次の100個のキーベクトルを用いて、探索結果をもとにClass1〜Class3からなる投票空間の値を算出した図である。
図14では、V101〜V200について、クラス1,2,3毎に投票空間の値を算出し、Σと%を算出している。
【0040】
今、1個分の結果を遡って修正するので、V101〜V200の結果が得られた時点で、V1〜V100の結果を修正する。V101〜V200の1つ前の識別空間V1−100={0.58,0.32,0.08}による識別結果は、0.58を獲得した『Class1』であるが、クラス修正閾値C0.6>0.58より、V1〜V100の結果は信頼性が低いとみなされ、修正される。V1〜V100の結果は、V101〜V200で最大値0.68を獲得したClass2と修正される。
このような遡った修正により、話者インデキシングのように識別対象となるパタンが時々刻々と変化する場合にも、正しい識別が可能となる。
【0041】
(その他の実施例)
図15は、本発明の実施例1〜実施例7のスイッチ動作状態図である。
図15では、これまで説明した実施例1〜実施例4の他にも、実施例5〜実施例7について、学習フェーズ、認識フェーズ、新規パタン定義フェーズにおけるスイッチのON/OFF状態が示されている。実施例5では、実施例2で、新規パタン定義を行うものであり、実施例6では、実施例4で新規パタン定義を行うものであり、実施例7では、実施例6で、ベクトルを圧縮しない場合である。
【0042】
【発明の効果】
以上説明したように、本発明によれば、以下のような効果を奏する。
(1)学習パタン生成の際に複雑な処理が不要であり、学習サンプルのベクトルを単純にデータベースに格納すればよく、それを用いて突発的な雑音の重畳がある信号に対してもロバストにパタン認識を行うことが可能である。
(2)また、時々刻々と識別対象となるパタンが変化するような入力パタンに対しても、時刻を遡ってクラス識別結果を修正することで、よりよいパタン認識結果を得ることができる。
【図面の簡単な説明】
【図1】本発明の動作原理を示す説明図である。
【図2】本発明の実施例1に係るパタン認識装置の構成図である。
【図3】本発明の実施例1に係るパタン認識装置の学習フェーズの動作フローチャートである。
【図4】本発明の実施例1に係るパタン認識装置の認識フェーズの動作フローチャートである。
【図5】本発明の実施例2に係るパタン認識装置の学習フェーズの動作フローチャートである。
【図6】本発明の実施例3に係るパタン認識装置の新規学習パタン定義フェーズの動作フローチャートである。
【図7】本発明の実施例4に係るパタン認識装置の構成図である。
【図8】本発明の実施例4に係るパタン認識装置の識別フェーズの動作フローチャートである。
【図9】本発明の実施例1における検索部で最近傍ベクトル探索を行った結果の図である。
【図10】図9の結果から、ベクトルのクラスとベクトルの距離の逆数を求めた結果の図である。
【図11】図10の結果から、逆数の値をClass1〜3の投票空間に投票した場合の結果の図である。
【図12】本発明の実施例1の認識フェーズの結果の図である。
【図13】本発明の実施例4におけるk−NN探索の結果をもとにClass1〜3からなる投票空間の値として得られた結果の図である。
【図14】図13に続いて、次に1秒の入力に対しても同様の処理を行い、結果を得た場合の図である。
【図15】本発明のその他の実施例におけるスイッチのON/OFF状態の図である。
【符号の説明】
11…入力部、12…書誌情報入力部、13…書誌情報格納部、
14…特徴量抽出部、15…ベクトル生成部、16…ベクトル圧縮部、
17…クラス情報生成部、18…ベクトル格納部、19…インデクス生成部、
20…インデクス格納部、21…検索部、22…クラス識別部、
23…表示装置、24…クラス一時記憶部。
Claims (8)
- パタン認識に用いる信号を入力する信号入力手段と、
学習パタンに関連する書誌情報を入力する書誌情報入力手段と、
上記各手段により入力された信号から特徴量を抽出し、多次元ベクトルを生成するベクトル生成手段と、
複数の特徴ベクトルを圧縮するベクトル圧縮手段と、
前記書誌情報に基づいて、複数のベクトルからなる1つのクラスを定義するクラス生成手段と、
学習パタンのベクトルを1つの木構造に管理するインデクスを生成するインデクス生成手段と、
該インデクス生成手段により生成されるインデクスの情報に基づいて、ベクトルを管理するベクトル格納手段と、
識別用に入力された入力パタンから前記ベクトル生成手段により得られる複数のベクトルをキーとして用い、前記ベクトル格納手段により記録媒体へ格納されているベクトル中から、インデクス情報を参照してk−NN探索を行うベクトル探索手段と、
該ベクトル探索手段により得られた結果に基づき、前記入力パタンを学習パタンのいずれのクラスに所属するかを決定するクラス識別手段と、
該クラス識別手段により得られた結果を表示する識別結果表示手段とを有することを特徴とするパタン識別装置。 - 請求項1に記載のパタン識別装置において、
前記クラス識別手段は、k−NN探索により得られるk個のベクトルとキーとの距離を計算し、該距離の逆数に基づいて、識別クラス名からなる投票空間に対してその値を投票し、投票の結果に基づいて、初めの入力パタンを学習パタンのいずれかのクラスへ当て篏めることを特徴とするパタン認識装置。 - 請求項1に記載のパタン識別装置において、
前記クラス識別手段は、閾値に基づいて、最終的に入力パタンが学習パタンのいずれにも当て篏まらないという判断がなされた場合に、該入力パタンを用いて、新たな学習パタンを定義することを特徴とするパタン認識装置。 - 請求項1に記載のパタン識別装置において、
前記クラス識別手段は、時間的にN番目の投票空間において、最大値を取るクラスについて、前記最大値の値を正規化し、前記閾値と前記正規化された値とを比較し、N−1番目の投票空間から得られているクラス名を修正することを特徴とするパタン認識装置。 - システムとしてパタン認識を行うパタン認識方法において、信号入力手段を介して入力された学習用の信号からベクトル生成手段により複数の特徴ベクトルを生成し、該特徴ベクトルをベクトル圧縮手段により圧縮し、クラス生成手段により書誌情報入力手段により入力された書誌情報に基づき定義されるクラスへ関連付け、インデクス生成手段により、前記圧縮または非圧縮のベクトルを木構造に管理するインデクスを生成し、ベクトル格納手段により記録媒体へベクトルを格納し、次に、識別対象となる入力パタンから前記ベクトル生成手段により得られる複数の特徴ベクトルをキーとして、インデクス情報を参照しながらベクトル探索手段により記録媒体へ格納したベクトル中から類似するベクトルを探し出し、探し出されたベクトルのクラスに基づき、前記クラス識別手段により、初めの入力パタンを学習パタンのいずれかのクラスに当て嵌め、その結果を前記識別結果表示手段により表示することを特徴とするパタン識別方法。
- 請求項5に記載のパタン識別方法において、
前記クラス識別手段において、k−NN探索により得られるk個のベクトルとキーとの距離を計算し、該距離の逆数に基づいて、識別クラス名からなる投票空間に対してその値を投票し、投票の結果に基づいて、初めの入力パタンを学習パタンのいずれかのクラスへ当て篏めることを特徴とするパタン認識方法。 - 請求項5に記載のパタン識別方法において、
前記クラス識別手段において、閾値に基づいて、最終的に入力パタンが学習パタンのいずれにも当て篏まらないという判断がなされた場合に、該入力パタンを用いて、新たな学習パタンを定義することを特徴とするパタン認識方法。 - 請求項5に記載のパタン識別方法において、
前記クラス識別手段において、時間的にN番目の投票空間において、最大値を取るクラスについて、前記最大値の値を正規化し、前記閾値と前記正規化された値とを比較し、N−1番目の投票空間から得られているクラス名を修正することを特徴とするパタン認識方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003139109A JP2004341930A (ja) | 2003-05-16 | 2003-05-16 | パタン認識方法および装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003139109A JP2004341930A (ja) | 2003-05-16 | 2003-05-16 | パタン認識方法および装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004341930A true JP2004341930A (ja) | 2004-12-02 |
Family
ID=33528293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003139109A Pending JP2004341930A (ja) | 2003-05-16 | 2003-05-16 | パタン認識方法および装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004341930A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009545045A (ja) * | 2006-07-28 | 2009-12-17 | アイイーイー インターナショナル エレクトロニクス アンド エンジニアリング エス.エイ. | パターン分類方法 |
US8560488B2 (en) | 2008-08-08 | 2013-10-15 | Nec Corporation | Pattern determination devices, methods, and programs |
-
2003
- 2003-05-16 JP JP2003139109A patent/JP2004341930A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009545045A (ja) * | 2006-07-28 | 2009-12-17 | アイイーイー インターナショナル エレクトロニクス アンド エンジニアリング エス.エイ. | パターン分類方法 |
US8560488B2 (en) | 2008-08-08 | 2013-10-15 | Nec Corporation | Pattern determination devices, methods, and programs |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5059115B2 (ja) | 音声キーワードの特定方法、装置及び音声識別システム | |
CN111046133A (zh) | 基于图谱化知识库的问答方法、设备、存储介质及装置 | |
CN110659582A (zh) | 图像转换模型训练方法、异质人脸识别方法、装置及设备 | |
CN113850162B (zh) | 一种视频审核方法、装置及电子设备 | |
CN112347223B (zh) | 文档检索方法、设备及计算机可读存储介质 | |
CN107229627B (zh) | 一种文本处理方法、装置及计算设备 | |
JP7525560B2 (ja) | 探索装置、探索方法及び探索プログラム | |
Kiktova-Vozarikova et al. | Feature selection for acoustic events detection | |
CN111508480B (zh) | 音频识别模型的训练方法、音频识别方法、装置及设备 | |
CN109582813A (zh) | 一种文物展品的检索方法、装置、设备和存储介质 | |
KR20120066462A (ko) | 얼굴 인식 방법 및 시스템, 얼굴 인식을 위한 학습용 특징 벡터 추출 장치 및 테스트용 특징 벡터 추출 장치 | |
CN113094478B (zh) | 表情回复方法、装置、设备及存储介质 | |
KR20190024148A (ko) | 음성 인식 장치 및 음성 인식 방법 | |
CN112632248A (zh) | 问答方法、装置、计算机设备和存储介质 | |
CN111816170A (zh) | 一种音频分类模型的训练和垃圾音频识别方法和装置 | |
Benamer et al. | Database for arabic speech commands recognition | |
Birla | A robust unsupervised pattern discovery and clustering of speech signals | |
CN111222005A (zh) | 声纹数据重排序方法、装置、电子设备及存储介质 | |
CN114282019A (zh) | 目标多媒体数据查找方法、装置、计算机设备、存储介质 | |
CN112633369A (zh) | 图像匹配方法、装置、电子设备、计算机可读存储介质 | |
KR101440887B1 (ko) | 영상 및 음성 정보를 이용한 명함 인식 방법 및 장치 | |
Cheng et al. | Fractal dimension pattern-based multiresolution analysis for rough estimator of speaker-dependent audio emotion recognition | |
JP2004341930A (ja) | パタン認識方法および装置 | |
CN116010545A (zh) | 一种数据处理方法、装置及设备 | |
CN115082999A (zh) | 合影图像人物分析方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050830 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080812 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081205 |