【実施例】
【0034】
以下では、生体音解析方法、プログラム、記憶媒体及び生体音解析装置の実施例について、図面を参照しながら詳細に説明する。なお、以下では、呼吸音の解析を行う生体音解析方法を例に挙げて説明する。
【0035】
<教師データ>
まず、本実施例に係る生体音解析方法で用いられる教師データについて説明する。
【0036】
教師データは、教師音声信号、教師フレーム情報、及び教師全体情報の3つの情報を1セットとするデータであり、事前に複数セット用意される。
【0037】
教師音声信号は、呼吸音の経時的変化を示す信号(例えば、時間軸波形)である。教師フレーム情報は、教師音声信号における異常音の発生タイミングを音種毎に示す情報である。教師全体情報は、教師音声信号における異常音の発生の有無を音種毎に示す情報である。
【0038】
教師データは、後述する学習動作に利用されるものであり、数が多いほど学習効果(言い換えれば、生体音解析の精度)を高めることができる。
【0039】
<フレーム判定学習>
次に、本実施例に係る生体音解析方法のフレーム判定学習について、
図1から
図7を参照して説明する。なお、フレーム判定学習とは、異常音の発生をフレーム単位で判定するフレーム判定処理の判定精度を高めるための学習動作である。
【0040】
<学習器の構成>
まず、フレーム判定学習に用いられるフレーム判定学習器の構成について、
図1を参照して説明する。
図1は、本実施例に係るフレーム判定学習器の構成を示すブロック図である。
【0041】
図1に示すように、本実施例に係るフレーム判定学習器は、教師音声信号入力部110と、教師フレーム情報入力部120と、処理部200と、学習結果出力部300とを備えて構成されている。
【0042】
教師音声信号入力部110は、教師データに含まれる教師音声信号を取得して、処理部200に出力可能に構成されている。
【0043】
教師フレーム情報入力部120は、教師データに含まれる教師フレーム情報を取得して、処理部200に出力可能に構成されている。
【0044】
処理部200は、複数の演算回路やメモリ等を含んで構成されている。処理部200は、フレーム分割部210と、第1局所特徴量算出部220と、周波数解析部230と、第2局所特徴量算出部240と、学習部250とを備えて構成されている。
【0045】
フレーム分割部210は、教師音声信号入力部110から入力された教師音声信号を複数のフレームに分割する分割処理を実行可能に構成されている。フレーム分割部210で分割された呼吸音信号は、第1局所特徴量算出部220及び周波数解析部230に出力される構成となっている。
【0046】
第1局所特徴量算出部220は、教師音声信号の波形に基づいて、第1局所特徴量を算出可能に構成されている。第1局所特徴量算出部220が実行する処理については、後に詳述する。第1局所特徴量算出部220で算出された第1局所特徴量は、学習部250に出力される構成となっている。
【0047】
周波数解析部230は、教師音声信号入力部110から入力された教師音声信号に対して時間周波数解析処理(例えば、FFT処理等)を実行可能に構成されている。時間周波数解析部230の解析結果は、第2局所特徴量算出部240に出力される構成となっている。
【0048】
第2局所特徴量算出部240は、周波数解析部230の解析結果に基づいて、第2局所特徴量を算出可能に構成されている。第2局所特徴量算出部240が実行する処理については、後に詳述する。第2局所特徴量算出部240で算出された第2局所特徴量は、学習部250に出力される構成となっている。
【0049】
学習部250は、第1局所特徴量算出部220及び第2局所特徴量算出部240で算出された局所特徴量と、教師フレーム情報入力部120から入力される教師フレーム情報との対応関係を学習可能に構成されている。学習部250が実行する処理については、後に詳述する。学習部250の学習結果は、学習結果出力部300に出力される構成となっている。
【0050】
学習結果出力部300は、学習部250の学習結果を生体音の解析に利用できるような態様で出力可能に構成されている。例えば、学習結果出力部300は、学習部250の学習結果を、生体音解析装置のメモリ等に出力可能に構成されている。
【0051】
<動作説明>
次に、上述したフレーム判定学習器で実行されるフレーム判定学習動作の流れについて、
図2を参照して説明する。
図2は、本実施例に係るフレーム判定学習動作の流れを示すフローチャートである。
【0052】
図2に示すように、本実施例に係るフレーム学習動作時には、まず学習部250が初期化される(ステップS100)。続いて、教師音声信号入力部110によって教師音声信号が取得される(ステップS101)。教師音声信号入力部110は、取得した教師音声信号を処理部200に出力する。教師音声信号は、「第1情報」の一具体例である。
【0053】
続いて、フレーム分割部210によって、呼吸音が複数のフレームに分割される(ステップS102)。以下では、呼吸音信号のフレーム分割について、
図3を参照して具体的に説明する。
図3は、教師音声信号のフレーム分割処理を示す概念図である。
【0054】
図3に示すように、教師音声信号は、所定の間隔で複数のフレームに分割される。このフレームは、後述する局所特徴量の算出処理を好適に実行するための処理単位として設定されるものであり、1フレーム当たりの期間は、例えば12msecとされている。
【0055】
図2に戻り、フレーム分割された教師音声信号は、第1局所特徴量算出部220に入力され、第1局所特徴量が算出される(ステップS103)。また、フレーム分割された教師音声信号は、周波数解析部230によって周波数解析され、第2局所特徴量算出部240に入力される。第2局所特徴量算出部240では、周波数解析された教師音声信号(例えば、周波数特性を示すスペクトラム)に基づいて、第2局所特徴量が算出される。
【0056】
以下では、第1局所特徴量算出部220による第1局所特徴量の算出処理、及び第2局所特徴量算出部240による第2局所特徴量の算出処理について、
図4から
図6を参照して詳細に説明する。
図4は、第1局所特徴量の算出処理を示すフローチャートである。
図5は、第2局所特徴量の算出処理を示すフローチャートである。
図6は、波形及びスペクトラムから得られる局所特徴量ベクトルを示す図である。
【0057】
図4に示すように、第1局所特徴量の算出時には、まず教師音声信号の波形が取得され(ステップS201)、プリフィルター処理が施される(ステップS202)。プリフィルター処理は、例えばハイパスフィルターを用いた処理であり、教師音声信号に含まれる余分な成分を除去することが可能である。
【0058】
続いて、プリフィルター処理が施された教師音声信号を用いて、局所分散値が算出される(ステップS203)。局所分散値は、例えば第1期間w1における教師音声信号のばらつきを示す第1分散値、及び第1期間w1を含む第2期間w2における教師音声信号のばらつきを示す第2分散値として算出される。このようにして算出される局所分散値は、異常音の中でも特に断続性ラ音(例えば、水泡音)を判定するための局所特徴量として機能する。
【0059】
局所分散値が算出されると、教師音声信号の各フレームにおける局所分散値の最大値が算出され(ステップS204)、第1局所特徴量として出力される(ステップS205)。
【0060】
図5に示すように、第2局所特徴量の算出時には、まず周波数解析によって得られたスペクトラムが取得され(ステップS301)、CMN(Cepstral Mean Normalization)処理が実行される(ステップS302)。CMN処理では、教師音声信号からセンサや環境等の定常的に畳み込まれている特性を除去することができる。
【0061】
CMN処理が施された教師音声信号には更に、包絡成分を抽出するためのリフタリング処理(ステップS303)及び微細成分を抽出するためのリフタリング処理(ステップS304)が実行される。リフタリング処理は、ケプストラムから所定のケフレンシー成分をカットする処理である。
【0062】
上述したCMN処理及びリフタリング処理によれば、他の生体音に埋もれてしまう連続性ラ音(例えば、類鼾音、笛声音、捻髪音等)を判別し易い状態にすることができる。なお、CMN処理及びリフタリング処理については、既存の技術であるため、ここでのより詳細な説明については省略する。
【0063】
微細成分を抽出するリフタリング処理が行われた教師音声信号については、KL情報量を用いた強調処理が実行され特徴量が算出される。KL情報量は、観測値Pと基準値Q(例えば、理論値、モデル値、予測値等)とを用いて算出されるパラメータであり、基準値Qに対して特徴のある観測値Pが現れると、KL情報量は大きな値として算出される。KL情報量を用いた処理によれば、教師音声信号に含まれているトーン性成分(即ち、連続性ラ音を判別するための成分)が強調され明確になる。
【0064】
他方、周波数解析によって得られたスペクトラムには、HAAR−LIKE特徴の算出も実行される(ステップS306)。HAAR−LIKE特徴は主に画像処理の分野で用いられる技術であるが、ここでは周波数ごとの振幅値を画像処理における画素値に対応付けることによって、同様の手法でスペクトラムから算出される。なお、HAAR−LIKE特徴の算出については、既存の技術であるため、ここでの詳細な説明は省略する。
【0065】
以上のように教師音声信号に対し各種処理を施して複数の特徴量が周波数ごとに算出されると、周波数帯域別に平均値が算出され(ステップS307)、第2局所特徴量として出力される(ステップS307)。
【0066】
図6に示すように、呼吸音信号の波形及びスペクトラムからは、上述した処理によって、複数種類の局所特徴量(即ち、第1局所特徴量及び第2局所特徴量)が得られる。これらは、フレーム毎に局所特徴量ベクトルとして出力される。
【0067】
再び
図2に戻り、局所特徴量が算出されると、続いて教師フレーム情報入力部120により、教師フレーム情報が取得される(ステップS106)。教師フレーム情報は、「第2情報」の一具体例である。取得された教師フレーム情報は、局所特徴量と共に学習部250に出力される。
【0068】
以下では、学習部250における学習動作について、
図7を参照して説明する。
図7は、局所特徴量と対応付けられる教師フレーム情報を示す図である。
【0069】
図7に示すように、学習部250では、局所特徴量と、教師フレーム情報とが、フレーム毎に対のデータとしてセットされる(ステップS107)。これにより、局所特徴量と異常音の発生タイミングとが対応付けられる。
【0070】
より具体的には、異常音が発生しているタイミングを示す教師フレーム情報と対応付けられた局所特徴量ベクトルは、異常音が発生している場合の局所特徴量として学習されることになる。他方、異常音が発生していないタイミングを示す教師フレーム情報と対応付けられた局所特徴量ベクトルは、異常音が発生していない場合の局所特徴量として学習されることになる。
【0071】
再び
図2に戻り、上述した局所特徴量と教師フレーム情報との対応づけはフレーム毎に実行されるため、セットが完了すると、全てのフレームについてセットが完了したか否かが判定され(ステップS108)、全フレームについてセットが完了していない場合には(ステップS108:NO)、未セットのフレームについて再びステップS103及びS104以降の処理が繰り返される。
【0072】
一方、全てのフレームについてセットが完了した場合には(ステップS108:YES)、複数の教師データ全てについて処理が完了したか否かが判定される(ステップS109)。そして、全ての教師データについて処理が完了していないと判定された場合には(ステップS109:NO)、ステップS101以降の処理が再び実行される。このように処理を繰り返すことで、全ての教師データの、全てのフレームについて、対応づけが行われることになる。
【0073】
その後、実際に学習部250による学習処理が実行される(ステップS110)。学習処理は、例えばAdaBoost等の機械学習アルゴリズムを利用して行われる。なお、学習処理には、上述したAdaBoostの他、既存の手法を適宜採用することができるため、ここでの詳細な説明は省略する。
【0074】
上述した学習処理は異常音の音種毎に行われるため、処理終了後には、全音種について学習処理が終了したか否かが判定され、(ステップS111)、全音種について学習処理が完了していない場合には(ステップS111:NO)、未完了の音種について再びステップS110の学習処理が実行される。
【0075】
一方、全ての音種について学習処理が完了した場合には(ステップS111:YES)、生体音解析装置に学習結果が出力される(ステップS112)。
【0076】
<フレーム判定学習による効果>
上述したフレーム判定学習の学習結果は、生体音解析装置による呼吸音の解析に利用される。呼吸音の解析時には、上述したフレーム判定学習動作における教師音声信号に対する処理と同様の処理が、解析対象である呼吸音信号に対して実行される。具体的には、入力された呼吸音信号がフレーム分割され、フレームごとに局所特徴量が算出される。
【0077】
本実施例では、上述した学習動作により、局所特徴量と異常音の発生タイミングとの関係が学習されているため、呼吸音から算出された局所特徴量を利用して、好適に異常音の発生タイミング(言い換えれば、異常音が発生しているフレームの時間的位置)を検出することができる。よって、学習動作を事前に行わない場合と比べると、極めて正確に異常音の判別を行うことができる。
【0078】
<最適閾値の決定>
次に、本実施例に係る最適閾値決定動作について、
図8及び
図10を参照して説明する、なお、最適閾値決定動作とは、異常音が発生していると判定された期間の割合に基づいて、実際の異常音の発生の有無を判定する際に用いられる閾値を、最適な値として決定するための動作である。
【0079】
<閾値決定部の構成>
まず、最適閾値決定動作を実行する閾値決定部の構成について、
図8を参照して説明する。
図8は、本実施例に係る閾値決定部の構成を示すブロック図である。
【0080】
図8に示すように、本実施例に係る閾値決定部は、フレーム判定結果入力部410と、教師全体情報入力部420と、決定部500と、閾値出力部600とを備えて構成されている。
【0081】
フレーム判定結果入力部410は、学習結果を利用した教師音声信号のフレーム判定処理(即ち、フレーム毎に異常音が発生しているか否かを判定する処理)の結果を取得して、決定部500に出力可能に構成されている。
【0082】
教師全体情報入力部120は、教師データに含まれる教師全体情報を取得して、決定部500に出力可能に構成されている。
【0083】
決定部500は、大局特徴量算出部510と、ROC解析(Receiver Operating Characteristic analysis)部520と、最適閾値算出部530とを備えて構成されている。
【0084】
大局特徴量算出部510は、フレーム判定処理の判定結果に基づいて、教師音声信号が入力された期間に対する、異常音が発生している発生時間の割合を算出可能に構成されている。大局特徴量算出部510で算出された異常音の発生時間の割合を示す情報は、ROC解析部520に出力される構成となっている。
【0085】
ROC解析部520は、異常音の発生時間の割合を示す情報と教師全体情報との関係に基づいて、異常音の発生時間の割合に対するある閾値とその閾値を用いて判別を行った場合の判別性能との関係性をROC曲線として取得するROC解析を実行可能に構成されている。なお、ROC解析については既存の技術であるため、ここでの詳細な説明は省略する。ROC解析部520の解析結果は、最適閾値算出部530に出力される構成となっている。
【0086】
最適閾値算出部530は、ROC解析部520の解析結果を利用して、異常音が発生している発生時間の割合から、異常音が実際に発生しているか否かを判定するための最適な閾値(ROC曲線において基準点(0,1)に最も近い点を与える閾値)を算出することが可能に構成されている(
図9参照)。最適閾値算出部530で算出された閾値は、閾値出力部600に出力される構成となっている。
【0087】
閾値出力部600は、最適閾値算出部530で算出された閾値を、生体音の解析に利用できるような態様で出力可能に構成されている。例えば、閾値出力部300は、最適閾値算出部530で算出された閾値を、生体音解析装置のメモリ等に出力可能に構成されている。
【0088】
<動作説明>
次に、上述した閾値決定部で実行される最適閾値決定動作の流れについて、
図10を参照して説明する。
図10は、本実施例に係る最適閾値決定動作の流れを示すフローチャートである。
【0089】
図10に示すように、本実施例に係る最適閾値決定動作時には、まずフレーム判定結果入力部410によって教師音声信号のフレーム判定結果が取得される(ステップS201)。続いて、全フレームのフレーム判定結果が取得されたか否かが判定される(ステップS202)。全フレームのフレーム判定結果が取得されていない場合には(ステップS202:NO)、未取得のフレームについて再びステップS201の処理が実行される。
【0090】
一方で、全フレームのフレーム判定結果が取得されている場合には(ステップS202:YES)、取得されたフレーム判定結果が、大局特徴量算出部510に出力され、教師音声信号の区間全体のフレーム数に対する、異常音が発生していると判定されたフレームの数の割合(即ち、大局特徴量)が算出される(ステップS203)。大局特徴量は、「第4情報」の一具体例である。
【0091】
続いて、教師全体情報入力部420によって教師データに含まれる教師全体情報が取得される(ステップS204)。教師全体情報は、「第3情報」の一具体例である。
【0092】
教師全体情報は、大局特徴量と共にROC解析部520に出力され、大局特徴量と教師全体情報が対のデータとしてセットされる(ステップS205)。即ち、異常音が発生していると判定されたフレームの数の割合と、異常音の発生の有無を示す情報とが対応づけられる。その後、全教師データについてセットが完了したか否かが判定される(ステップS206)。全教師データのセットが完了していない場合には(ステップS206:NO)、未セットの教師データについて再びステップS201以降の処理が実行される。
【0093】
一方で、全教師データのセットが完了している場合には(ステップS206:YES)、ROC解析部520によるROC解析が実行され、閾値と判別性能の関係がROC曲線として求められる(ステップS207)。ROC解析が終了すると、最適閾値算出部530によってROC解析結果に応じた最適な閾値が算出される(ステップS208)。
【0094】
上述したROC解析及び閾値算出処理は、異常音の音種毎に実行されるため、終了後には全音種について処理が終了したか否かが判定される(ステップS209)。そして、全音種について処理が完了していない場合には(ステップS209:NO)、未完了の音種について、ステップS207及びステップS208の処理が実行される。全音種について処理が完了している場合には(ステップS209:YES)、閾値が出力され(ステップS210)、一連の処理は終了する。
【0095】
<最適閾値決定による効果>
上述したように決定された閾値は、生体音解析装置による呼吸音の解析に利用される。例えば、呼吸音の解析時には、上述したフレーム判定学習動作における教師音声信号に対する処理と同様の処理が、解析対象である呼吸音信号に対して実行される。具体的には、入力された呼吸音信号のフレーム判定結果から、呼吸音の取得期間に対する、異常音が発生している期間の割合(即ち、大局特徴量)が算出される。この結果、例えば異常音が発生している期間の割合が多い場合には、実際に異常音が発生していると判定できる。一方で、異常音が発生している期間の割合が少ない場合には、フレーム単位では異常音が検出されているものの、実際には異常音が発生していないと判定できる。
【0096】
このような異常音の有無に関する判定は、上述した最適閾値決定動作によって決定された閾値との比較によって実現される。具体的には、異常音が発生している期間の割合が閾値より大きい場合には異常音が発生していると判定でき、閾値より小さい場合には異常音が発生していないと判定できる。ここで本実施例では特に、上述した最適閾値決定動作において、大局特徴量と教師全体データ(即ち、異常音の発生の有無を示す情報)との対応づけが行われ、その結果として最適な閾値が算出されている。よって、呼吸音から算出された大局特徴量に基づいて、極めて正確に異常音の発生の有無を判別することができる。
【0097】
本発明は、上述した実施形態に限られるものではなく、特許請求の範囲及び明細書全体から読み取れる発明の要旨或いは思想に反しない範囲で適宜変更可能であり、そのような変更を伴う生体音解析方法、プログラム、記憶媒体及び生体音解析装置もまた本発明の技術的範囲に含まれるものである。