(57)【特許請求の範囲】
【請求項１】
筋肉の活動電位である筋電パターンから特徴パターンを抽出し、その特徴パターンをビットパターンに符号化し、そのビットパターンのパターン識別を行うことによって出力制御信号を生成する筋電パターン識別装置において、ビットパターンへの符号化に冗長符号を用いる筋電パターン識別装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、筋肉の活動電位（筋電パターン）をインタフェースとする方法、装置における筋電パターン識別方法及び装置に関する。
【０００２】
【従来の技術】
図２は、従来技術の筋電パターンから特徴量を抽出して、制御対象を操作する装置を説明するための図である。図中、▲１▼は筋電パターン、▲２▼は表面電極群、▲３▼は増幅、平滑化装置、▲４▼は特徴パターン抽出装置  （ＦＦＴ、逆写像など）、▲５▼は符号化装置（バイナリ符号・グレイ符号）、▲６▼はパターン識別器、▲７▼は制御対象（例：モータ、ロボット、福祉機器、リハビリテーション機器、筋電義手、ゲームなど）をそれぞれ示している。
【０００３】
図示したように、複数の筋肉の協調活動から発生する活動電位である筋電パターン▲１▼は、皮膚表面上の一つ、または複数個の電極群  ▲２▼（表面電極群）で測定される。ここで測定されるのは、複数の筋肉から発生した活動電位の和である。次に、それらは、増幅、平滑化装置▲３▼によって増幅、平滑化を施される。特徴パターン抽出装置▲４▼では、特徴パターンを抽出する。符号化装置（バイナリ符号・グレイ符号）▲５▼では、それらを、バイナリ符合やグレイ符号を用いて、ビット列に符号化する。パターン識別器▲６▼では、それらの識別を行い、制御対象▲７▼の制御信号を生成する。ここでは、論理回路などの論理値フィルタが用いられる。
【０００４】
このような従来技術は、符号化にバイナリ符号、グレイ符号（表１）を用いるために、パターン識別器の設計に時間がかかる場合や、複雑なパターン識別器が必要な場合がある。このために、小型化、低価格化が妨げられ、筋電パターンをインタフェースとする装置の普及が妨げられてきた。
【表１】
0003610455.tif 000002
また、バイナリ符号、グレイ符号の場合は、自発的でない筋張力変化による筋電パターンの変化によって、正確なパターン識別が困難になる場合があり、このために、適用可能な応用が限られてきた。
【０００５】
【発明が解決しようとする課題】
そこで、本発明は、かかる問題点を解決して、冗長符号化法を用いることで、単純な演算処理装置や、表引き装置によって実現可能にして、小型化、低価格化を図ることを目的としている。
さらに、これを用いることによって識別精度を改善し、筋電をインタフェースとする装置の普及を促進することを目的としている。
【０００６】
【課題を解決するための手段】
本発明の筋電パターン識別方法は、複数の筋肉の協調活動から発生する活動電位である筋電パターンを皮膚表面上で表面電極群により測定し、測定された筋電パターンから特徴パターンを抽出し、抽出された特徴パターンを冗長符号によってビットパターンに符号化し、符号化されたビットパターンのパターン識別を行って出力制御信号を生成することから成る。
【０００７】
また、本発明の筋電パターン識別装置は、複数の筋肉の協調活動から発生する活動電位である筋電パターンを皮膚表面上で測定する表面電極群と、測定された筋電パターンから特徴パターンを抽出する特徴パターン抽出装置と、抽出された特徴パターンを冗長符号によってビットパターンに符号化する符号化装置と、符号化されたビットパターンの識別を行って出力制御信号を生成するパターン識別器とから成る。
【０００８】
【発明の実施の形態】
図１は、本発明の筋電パターンから特徴量を抽出して、制御対象を操作する装置を説明するための図である。図中、▲１▼は筋電パターン、▲２▼は表面電極群、▲３▼は増幅、平滑化装置、▲４▼は特徴パターン抽出装置、▲８▼は符号化装置（冗長符号）、▲６▼はパターン識別器、▲７▼はモータ群をそれぞれ示している。
【０００９】
冗長符号の符号化装置▲８▼を除いて、前述した従来技術と同じである。図示したように、複数の筋肉の協調活動から発生する活動電位である筋電パターン▲１▼は、皮膚表面上の一つ、または複数個の電極群  ▲２▼（表面電極群）で測定される。ここで測定されるのは、複数の筋肉から発生した活動電位の和である。次に、それらは、増幅、平滑化装置▲３▼によって増幅、平滑化を施される。（ただし、平滑化を行わない場合もある。）。特徴パターン抽出装置▲４▼では、特徴パターンを抽出する。パターン識別器▲６▼では、それらの識別を行い、制御対象▲７▼の制御信号を生成する。ここでは、論理回路などの論理値フィルタが用いられる。
【表２】
0003610455.tif 000003
【００１０】
【実施例】
ここでは、本手法の効果を示すために、筋電義手の動作決定に本手法を用いることによって、識別精度を改善した例を示す。
筋電は数μＶ〜数ｍＶ程度の微弱な信号であるため、その測定においては、一般的に、２個の電極で測定した信号を差動増幅することによって、電源やその他の機器から発生するノイズの影響を小さくする必要がある。そこで、ここでは、図３に示す８個（４組）の電極を前腕周りの４ヶ所に張り付けて筋電を測定する。本装置は、これらの他に、１個のアース電極、測定した筋電を差動増幅する増幅器、ノート型パーソナルコンピュータ（ノートＰＣ）、ＡＤ変換器からなり、ＡＤ変換器とノートＰＣはＳＣＳＩインタフェースで接続する。このＡＤ変換器では、４ヶ所で測定した筋電を、それぞれ１０００Ｈｚで離散化し、１２ビットのデジタル信号に変換してノートＰＣに取り込む。また、この測定においては、商用電源から発生するノイズを取り除くために、商用電源周波数（５０Ｈｚ）を遮断するアナログフィルタを用いた。
【００１１】
以下の説明では、時刻  ｔ  で測定した信号の組を、数１であらわすことにする。
【数１】
0003610455.tif 000004
ここでは、６つの動作（前腕の回内、回外、手首の屈曲、伸展、手先の開閉）を意図しながら筋肉を収縮させたときに、筋電を測定する。つまり、図４（ａ）に示す筋収縮（２秒間の脱力の後に３秒間筋収縮を維持する）を６つの動作毎に２０回（合計１２０回）繰り返しているときに筋電を測定する。ただし、前腕切断者の場合は、切断前の動作イメージをもとに筋肉を収縮したときの筋電を測定する。図４（ｂ）に、手首を屈曲した時に前腕の屈筋群上の皮膚表面で測定した筋電の例を示す。
【００１２】
測定した筋電信号は、高周波成分を取り除くために平滑化処理を施す。一般的に、この平滑化処理にはアナログローパスフィルタを用いることが多いが、本測定では、情報を失わないためにローパスフィルタをかけずにＰＣに取り込んだので、ＰＣ上で平滑化処理を施す。具体的には、時刻  ｔ  における平滑整流値を数２に示す計算によって求める。図４（ｃ）に平滑整流した筋電の例を示す。
【数２】
0003610455.tif 000005
【００１３】
義手の動作決定に用いる筋電の特徴パターンの抽出では、一般的に、（１）筋収縮開始時に測定した筋電、（２）筋収縮を維持した状態（以下では定常状態と呼ぶ）で測定した筋電から抽出する方式が用いられる。（１）の場合、筋肉を収縮しはじめてから義手が動き出すまでの遅れが小さい利点がある。ところが、動作識別率に関しては（１）よりも、（２）の方式の方が良いことが知られているので、ここでは、定常状態の筋電から特徴パターンを抽出する。
抽出する特徴パターンとしては、定常状態の筋電の平滑整流値を用いる。この平滑化においても、一般的にはアナログローパスフィルタを用いるが、ここでは、ＰＣ上で数２で求めた値の１秒間の平均値を計算し、これを特徴パターンとする。
【００１４】
この特徴パターンの抽出においては、筋電測定時の被験者の疲労を小さくするために、１回の筋収縮から１０個の平均値を求める。つまり、図５に示すように、１秒毎の平均値を、動作開始１秒後から１００ミリ秒づつずらして、数３に示す計算によって求める。ここで  ｉ  は動作を開始した時間、つまり数４で求めた値が、あらかじめ設定された閾値を越えた時間とする。
【数３】
0003610455.tif 000006
【数４】
0003610455.tif 000007
【００１５】
しかしながら、実際には、筋肉の収縮の仕方によっては数４の値が閾値を越えない場合もある。このため、動作毎２０回の筋収縮のすべてから数３を計算できるわけではない。そこで、パターン識別器を学習させるために用いるトレーニングパターンとしては、数４の値が敷居値を越えた筋収縮のうち５回から抽出した数３の値（５  ［回の筋収縮］  ×  １０  ［パターン］  ×  ６  ［種類の動作］  ＝  ３００  ［パターン］）を用いる。その他の５回の筋収縮から抽出した数３の値は、パターン識別器を評価するためのテストパターンとして用いる。以下の説明では、作成したトレーニングパターンを、数５で表し、作成したテストパターンを、数６で表す。
【数５】
0003610455.tif 000008
【数６】
0003610455.tif 000009
【００１６】
図６に、作成したトレーニングパターンの第１成分をＸ軸、第２成分をＹ軸としてプロットした例を示す。
ここでは、さらに、別出願した対数変換を用いて筋電パターンから特徴パターンを抽出する。具体的には、以下の数７、数８を用いて対数変換を行う。
【数７】
0003610455.tif 000010
【数８】
0003610455.tif 000011
【００１７】
以下では、数５、数７で求めたトレーニングパターン、それぞれを用いてパターン識別器の訓練を行い、数６、数８で求めたテストパターンを用いて識別器の評価を行う。また、以下では、説明を簡単にするために、トレーニングパターン、テストパターンを、数９を用いてあらわす。
【数９】
0003610455.tif 000012
【００１８】
ここでは、論理回路によって筋電パターンの識別を行うので、識別に用いるパターン識別器としては、進化型チップを用いる。この進化型チップの特徴は、従来のハードウェアは回路構成がその設計プロセスによって固定的であるのに対し、その回路構成を動的に、かつ、自律的に変更可能な能力によって、仕様の変更や動作環境の変化に対して適応できるように設計されている。
【００１９】
進化型チップは、回路構成を何度でも変更可能なハードウェア（再構成可能ハードウェア）と、その回路構成を適応的に変更する回路から構成される。この再構成可能ハードウェアの回路構成は、コンフィグレーションビット列と呼ばれるソフトウェアビット列をダウンロードすることによって、何度でも変更できる。また、回路構成の適応的な書き換えには、遺伝的アルゴリズム（Ｇｅｎｅｔｉｃ  Ａｌｇｏｒｉｔｈｍ；以下ではＧＡと略す）と呼ばれる探索手法を高速に実行する回路を用いる。ＧＡは、生物の進化に発想を得た探索手法で、複数の解の候補をそれぞれ０、１のビット列に符号化することによって、並列に最適解を探索する。つまり、これらのビット列を染色体と見なし、交叉や突然変異と呼ぶ操作を施して変化させることで、新しい解の候補を作る。そこで、あらかじめ決められた評価関数によって、各染色体（＝解の候補）がどれだけ解に近いかを評価する。この評価結果に基づき、解から遠いものを削除し、解に近いものを残す操作を繰り返すことによって、解を探索する。
【００２０】
進化型チップでは、再構成可能ハードウェアの回路構成を指定するコンフィグレーションビット列を染色体と見なす。そこでＧＡを適用して染色体を進化させることによって、評価関数が適切に設定されていれば、最適な回路構成を指定するコンフィグレーションビット列を得ることができる。
この進化型チップは、（１）  ＧＡ操作用回路、（２）  再構成可能ハードウェア、（３）  染色体を保存するメモリ（染色体用メモリ）、（４）  トレーニングパターンを保存するメモリ（トレーニングパターン用メモリ）、（５）  入出力インタフェースからなる。
【００２１】
再構成可能ハードウェアとしては、Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ａｒｒａｙ  （以下ではＰＬＡと略す）が用いられている。ＰＬＡは、図７に示す例のように、ＡＮＤアレイ（接続している入力信号の論理積を作る）とＯＲアレイ（接続しているＡＮＤアレイの出力信号の論理和を作る）からなる。この図では、黒丸と白丸が、それぞれ、入力と出力間の接続を決定するスイッチを示しており（黒丸が接続を意味する）、このスイッチのＯＮ／ＯＦＦをコンフィグレーションビット列で指定することによって、任意の論理回路を構成できる。
【００２２】
進化型チップによるパターン識別では、論理回路によって識別を行うため、識別パターンを０、１のビット列に変換しなければならない。そこで、ここでは、筋電の特徴パターンを数１０、数１１に示す計算で０〜１５の実数に変換し、それらを整数化したものを４ビットのビット列に符号化する。
【数１０】
0003610455.tif 000013
【数１１】
0003610455.tif 000014
【００２３】
従来、このビット列への符号化では表１に示すバイナリ符号や、グレイ符号が用いられてきた。ところが、この符号化法を用いる場合、次に示す問題がある。つまり、筋電の特徴パターンは、図６に示した例のように、動作毎に任意の連続的な領域に分布していることが多い。
そのため、この特徴パターンを論理回路によって識別するには、任意の連続した特徴量の値に対して１を出力する回路が必要である。しかしながら、グレイ符号の場合は、連続した値に対して１を出力するために、複雑な回路が必要な場合がある。以下に示す例では、符号化したビット列、つまり回路の入力信号を数１２と表すことにする。
【数１２】
0003610455.tif 000015
【００２４】
例えば、連続区間０〜７に対してのみ１を出力する場合は、数１３で表される回路によって、この区間の値に対して１を出力できる。
【数１３】
0003610455.tif 000016
ところが、連続区間５〜１２の時だけ１を出力する場合は、３つの積項（入力信号の論理積）から成る回路（数１４）が必要である。進化型チップによる回路合成では、一般的に、構成する入力信号の数が多い積項（例：４つの入力信号からなり、数１２で表される積項や、上の例に示した積項（数１５）や積項（数１６）など）を多く必要とする回路の合成に時間がかかることが知られている。
【数１４】
0003610455.tif 000017
【数１５】
0003610455.tif 000018
【数１６】
0003610455.tif 000019
【００２５】
このため、グレイ符号を用いた場合、識別回路の合成に時間がかかる場合があり、これが、識別精度を下げる一因になっていると考えられる。これに対して、冗長符合を用いて符号化を行うことにより、識別回路を単純な論理回路で実現できるため、進化型チップによる識別回路の合成を高速化でき、識別精度を改善できる。
そこで、作成したトレーニングパターンを用いて進化型チップの回路を合成し、トレーニングパターンによって識別精度の評価を行ったところ、冗長符号を用いることによって、識別精度を、１３人の平均で３．１％、最大で１０．５％改善できることを実証した。
【００２６】
さらに、回路合成に要した時間として、トレーニングパターンを用いて回路を評価した回数の、１３人の平均値を比較すると、冗長符号を用いない場合に４５１５８２．７１回必要であったのに対し、冗長符号を用いた場合には３１４３３３．９１回であった。つまり、提案手法によって６９．６％にまで短縮した。
本発明の特徴とする符号化装置（冗長符号）▲８▼では、特徴パターンを表２に示す符号を用いて、ビットパターンに符号化する。この符号はジョンソンカウンタの出力パターンとして用いられている符号であるが、冗長な符号化法であるため、４ビットの場合は０〜７までしか符号化できない。
【００２７】
この冗長符号の特徴は、任意の連続的な値に対して、単純な回路だけで１を出力できることである。つまり、この符号では、２つの値の差が１である場合（区間長２）に、それらの符号は常に１ビットだけ異なり、差が２の場合は２ビット、差が３の場合は３ビットだけ異なるように設計されている。
例えば、１の冗長符号は０００１、２の冗長符号は００１１であるので、これらは１ビットしか異ならない。また、１と３の場合は、それらの符号が０００１と０１１１であるので２ビットだけ異なる。このため、区間長２の任意の連続的な値に対して１を出力する場合は、３つの入力信号で構成される積項を持つ回路が必要である。例えば、区間１〜２の場合は数１７で表される積項を持つ回路によって、これらの区間に対して１を出力可能である。
【数１７】
0003610455.tif 000020
【００２８】
同様に、区間長３の場合は２つ、区間長４の場合は１つの入力信号で構成される積項だけで、それらの区間の値に対して１を出力する識別回路を実現できる。さらに、区間長が５〜７の場合は、区間長４の場合に必要な積項を２つ組み合わせることによって実現できる。
例えば、区間１〜６（区間長６）の場合は区間１〜４に対して１を出力する積項（数１８）と、区間３〜６に対して１を出力する積項（数１９）の論理和（数２０）によって、この区間の値に対して１を出力する回路を実現できる。
【数１８】
0003610455.tif 000021
【数１９】
0003610455.tif 000022
【数２０】
0003610455.tif 000023
【００２９】
【発明の効果】
このように、本発明は、連続的な領域に分布する筋電パターンを識別する識別器を簡単な回路で実現できる。
また、本発明は、冗長符号化法を用いることで、単純な演算処理装置や、表引き装置によって実現できるため、小型化、低価格化が可能である。
これによって、さらに、制御可能な制御対象の数を増やすことが可能となり、このため、筋電をインタフェースとする装置の普及を促進することが可能となる。
【図面の簡単な説明】
【図１】本発明を説明するための図。
【図２】従来技術を説明するための図。
【図３】筋電測定装置を説明するための図である。
【図４】測定した筋電の例。
【図５】特徴パターンの抽出方法を説明するための図。
【図６】筋電の特徴パターンの分布図。
【図７】ＰＬＡの構造を説明するための図。
【図１】
0003610455.tif 000024
【図２】
0003610455.tif 000025
【図３】
0003610455.tif 000026
【図４】
0003610455.tif 000027
【図５】
0003610455.tif 000028
【図６】
0003610455.tif 000029
【図７】
0003610455.tif 000030