以下、本発明に係る生体情報推定装置及び生体情報推定方法を具体的に開示した各実施形態について、図面を参照して説明する。各実施形態の生体情報推定装置は、例えば接触タイプの専用の脈拍数測定器を用いることなく、対象物(例えば人。以下同様。)が撮像された画像データを用いて、生体情報の一例として、人の脈拍数を非接触で推定する。
より具体的には、各実施形態の生体情報推定装置は、人が撮像された画像データのフレームを入力し、入力された画像データの所定範囲(例えば肌色領域)の信号(画素値)を抽出し、異なるフィルタ係数を用いて、抽出された所定範囲の信号のうち異なる係数に対応する各信号を各フィルタ部において出力する。また、生体情報推定装置は、各フィルタ部の少なくとも1周期分の出力信号と少なくとも1周期分の出力信号に対応する画像データのフレームの入力間隔とを基に、人の脈拍値を各フィルタ部に対応する推定モジュール部において推定し、各フィルタ部の出力信号に応じて、複数の推定モジュール部において推定された複数の脈拍値からいずれかを選択して出力する。
各実施形態の生体情報推定装置は、例えばデスクトップ型又はラップトップ型のPC(Personal Computer)、スマートフォン、携帯電話機、タブレット端末、PDA(Personal Digital Assistant)等のデータ通信端末であり、対象物の一例としての人を撮像するためのカメラ機能を有していてもよい。
先ず、各実施形態の生体情報推定装置における脈拍数の推定原理について、図1(A)及び(B)を参照して説明する。図1(A)は、人の心臓の収縮と光の血管における吸収量との関係の一例を模式的に示す図である。図1(B)は、光の強度の時系列変化の一例を示す図である。
図1(A)では、人の心臓の収縮(systole)に同期して血管の容積が変化することが示されている。心臓の収縮に応じて血管の容積が増大すると、光(例えば図2に示す特定波長域の光)の吸収量が増大するので、光の強度(Light intensity)も減少する(図1(B)参照)。なお、脈波とは、血液が心臓の収縮により大動脈に押し出された時に発生した血管内の圧力変化が末梢方向に伝わっていく時の波の動きを示す。
図1(B)では、横軸は時間を示し、縦軸は光の吸収量の変化によって得られた信号(光電脈波)の強度を示す。つまり、図1(B)において、ピークが現れている時は光の吸収量が少ないので血管の容積が増大していない状態になっており、極小値が現れている時には光の吸収量が多いので血管の容積が増大している状態となっている。なお、心臓と末梢部分との距離によって完全には同期しておらず多少の遅延は見られるが、心臓の収縮と光電脈波の強度の変化とは基本的に同期して変動している。
図2は、ヘモグロビンにおける光の波長毎の吸収率の一例を示す図である。図2では、例えばヘモグロビン(血液)は400nmの波長(つまり緑色)を吸収し易いことが示されている。なお、以下の各実施形態では緑色の光の成分の吸収率が高いことを利用して説明するが、他には例えば赤色の光(例えば1000nmを超える波長)の成分の反射率が高いことを利用して説明してもよい。
(第1の実施形態)
以下、第1の実施形態の生体情報推定装置の構成について、図3(A)を参照して説明する。図3(A)は、第1の実施形態の生体情報推定装置10の内部構成の一例を示すブロック図である。図3(B)は、各実施形態の生体情報推定装置10,10Aの動作概要の一例を模式的に示す図である。
図3(A)に示す生体情報推定装置10は、カメラCMと、画像入力部1と、肌色抽出部2と、複数(例えば3個)のフィルタF1,F2,F3と、複数(例えば3個)の推定モジュール部M1,M2,M3と、信頼度判定部5と、セレクタ6と、脈拍出力部7とを含む構成である。推定モジュール部M1はフィルタF1に対応して設けられ、推定モジュール部M2はフィルタF2に対応して設けられ、推定モジュール部M3はフィルタF3に対応して設けられている。
カメラCMは、所定のフレームレート(例えば10fps:frame per second)で対象物である人を撮像して画像入力部1に出力する。なお、カメラCMは生体情報推定装置10の内部に含まれなくてもよく、例えば生体情報推定装置10とはネットワークを介して接続されてもよい。ネットワークは、無線ネットワーク又は有線ネットワークをインターフェースとして接続されるインターネット又はイントラネットである。無線ネットワークは、例えば無線LAN(Local Area Network)、無線WAN(Wide Area Network)、3G、LTE(Long Term Evolution)又はWiGig(Wireless Gigabit)である。有線ネットワークは、例えばIEEE802.3又はイーサネット(登録商標)(ETHERNET(登録商標))である。
画像入力部1は、所定のフレームレートでカメラCMにより人が撮像された画像データのフレームをカメラCMから連続的に入力(取得)して肌色抽出部2に出力する。なお、カメラCMと生体情報推定装置10とが別体で構成されている場合には、画像入力部1は、カメラCMから送信された画像データのフレームを連続的に受信する。
抽出部の一例としての肌色抽出部2は、画像入力部1により入力された画像データの各フレーム内の所定範囲(例えば図3(B)に示す肌色領域FL1)の信号(例えば画素値、輝度値)を、少なくとも1周期(周期は既知)分のフレーム数を用いて抽出する。ここで、肌色抽出部2により抽出された時系列の信号は、例えば図3(B)に示す人の顔の紙面下側に示されたノイズ信号が含まれた原信号である。肌色抽出部2は、抽出された所定範囲の信号を各フィルタ部F1〜F3に出力する。
フィルタ部F1,F2,F3は、それぞれ異なるフィルタ係数を用いたバンドパスフィルタを用いて構成され、それぞれの動作はフィルタ係数が異なること以外は共通であるため、フィルタ部F1の動作を例示して説明する。フィルタ部F1は、肌色抽出部2から出力された所定範囲の信号(画素値)を平均化することで、例えばカメラCMの撮像時に含まれたノイズ信号を除去する。
この平均化により人の脈波が抽出され得るが、まだ身体の動き成分やノイズの残留成分が含まれている可能性が高いので、フィルタ部F1は、フィルタ部F1に対応するフィルタ係数を用いて、脈波の基本周波数以外の周波数成分をカットする。フィルタ部F1の出力は、推定モジュール部M1に入力される。
フィルタ部F1のフィルタ係数は、例えば30〜60bpmの信号がフィルタ部F1を通過するように予め設定されている。なお、フィルタ部F2のフィルタ係数は、例えば50〜90bpmの信号がフィルタ部F2を通過するように予め設定されている。また、フィルタ部F3のフィルタ係数は、例えば70〜120bpmの信号がフィルタ部F3を通過するように予め設定されている。
一般に安静時の成人の脈拍は60〜80bpmであるが、被験者が徐脈又は頻脈を有する場合や、運動や緊張時の影響も考慮し、各フィルタ部F1〜F3では通過対象範囲が30〜120bpmと設定されている。また、3個のフィルタ部F1〜F3を用いて各フィルタ部F1〜F3の出力信号の帯域が3個に分割されていることで、各フィルタ部F1〜F3の出力信号が正弦波に近づき(図3(B)に示すマルチバンドフィルタの各波形参照)、各フィルタ部F1〜F3の出力を用いた脈波の推定精度を向上することができる。
推定モジュール部M1は、波形検定部M1aと脈拍推定部M1bとを含む構成である。以下、推定モジュール部M1,M2,M3の構成は同様であるため、推定モジュール部M1の動作を例示して説明する。
検定部の一例としての波形検定部M1aは、フィルタ部F1の少なくとも1周期分の出力信号が入力され、フィルタ部F1においてカットできなかったノイズ信号の区間を検出するために、入力された少なくとも1周期分の出力信号のうち所定条件(つまり、数式(1)、数式(2))を満たす信号(つまり、ノイズ信号)の区間があるか否かを判断する(図7参照)。波形検定部M1aは、所定条件を満たすと判断した出力信号の区間を無効(invalid)区間として排除する。図7は、各推定モジュール部M1,M2,M3内の波形検定部の動作例を示す説明図である。
図7では、例えばフィルタ部F1の少なくとも1周期分の出力信号の振幅の時系列的な変化が示されており、P1,P2,P3,P4,P5,P6,P7は、例えば波形検定部M1aに含まれるADC(Analog Digital Converter)によりAD変換されたサンプル値である。MPA(Mean peak to peak amplitude)は、各サンプル値P1〜P7のピーク間の振幅の平均値を示す。PPA(Peak to peak amplitude)は、各サンプル値P1〜P7のピーク間の振幅の最大値を示す。
数式(1)によれば、波形検定部M1aは、フィルタ部F1の少なくとも1周期分の出力信号の振幅が所定値(例えばゼロ)に比べて極端に大きい信号を排除することができる。また、数式(2)によれば、波形検定部M1aは、フィルタ部F1の少なくとも1周期分の出力信号の振幅が所定値(例えばゼロ)に比べて極端に小さい信号を排除することができる。波形検定部M1aは、所定条件(つまり、数式(1)、数式(2))を満たす信号の区間があると判断した場合には、該当する信号の区間を排除した少なくとも1周期分の信号を脈拍推定部M1b及び信頼度判定部5に出力する。
一方、波形検定部M1aは、所定条件(つまり、数式(1)、数式(2))を満たす信号の区間がないと判断した場合には、フィルタ部F1の少なくとも1周期分の出力信号をそのまま脈拍推定部M1b及び信頼度判定部5に出力する。波形検定部M1aの処理は、人の脈波の振幅が一定幅の中で緩やかに変化するという知見を利用しており、数式(1)、数式(2)を満たす信号は外乱ノイズである可能性が高いことになる。なお、他の推定モジュール部F2,F3内の波形検定部(不図示)からも同様な出力信号が信頼度判定部5に入力される。
推定部の一例としての脈拍推定部M1bは、フィルタ部F1の少なくとも1周期分の出力信号又は波形検定部M1aの少なくとも1周期分の出力信号を基に、数式(3)に従って、人の脈拍値(Pulse rate)を算出してセレクタ6に出力する(図6参照)。図6は、第1の実施形態の生体情報推定装置10における脈拍算出方法の一例を示す図である。
ここで、従来のカメラを用いた脈拍算出方法の課題について、図4及び図5を参照して説明する。図4は、従来のカメラを用いた脈拍算出方法の一例を示す図である。図5は、図4に示す脈拍算出方法における課題の説明図である。
図4では、横軸は時間を示し、縦軸(不図示)はカメラにより撮像された画像の肌色領域の緑色の1周期分の信号WV0(つまり、画素値)を示し、例えば8ビットで示す場合には0〜255で示される。また、図4及び図5では、例えば各サンプル値の差分(つまり、直前のサンプル値との差分)との算出結果を用いて、単調増加時のゼロ点通過時点から次の単調増加時のゼロ点通過時点までの信号が1周期分の信号WV0として抽出されている。
図4に示す脈拍数の算出例として、カメラのフレームレートが10fps、1周期分の信号WV0に対応するフレームカウント(つまり、1周期分の信号WV0が得られるために必要な画像データのフレーム数)が9であった場合、脈拍数は10×60÷9≒67bpmとなる。
図5では、図4と同様に、横軸は時間を示し、縦軸(不図示)はカメラにより撮像された画像の肌色領域の緑色の1周期分の信号WV0(つまり、画素値)を示し、例えば8ビットで示す場合には0〜255で示される。ここで、カメラから渡される画像データのフレームのコマ落ち(つまり、フレームの取得側における受信ロス又はフレーム欠落)が発生した場合には、1周期分の信号WV0に対応するフレームカウントが8となり、本来算出されるべき脈拍数とは異なる脈拍数が算出されてしまい、誤差が発生する。つまり、コマ落ちが発生すると、脈拍数は10×60÷8=75bpmとなり、67bpmとの差分(8bpm)が誤差として発生する。
そこで、本実施形態を含む各実施形態の生体情報推定装置10,10Aは、脈拍推定部M1bにおいて、1周期分の信号WV0に対応するフレームカウントを用いず、1周期分の信号WV0が得られるまでに画像入力部1が入力する画像データのフレームの入力間隔(例えばカメラCMからの入力間隔又は受信間隔)の和を用いて、数式(3)に従って、脈拍数を算出する。
図6では、図4と同様に、横軸は時間を示し、縦軸(不図示)は肌色抽出部2により抽出された信号を示す。言い換えると、図6に示す信号は、カメラCMにより撮像された画像の肌色領域の緑色の1周期分の信号WV0(つまり、画素値)を示し、例えば8ビットで示す場合には0〜255で示される。脈拍推定部M1bは、1周期分の信号WV0が得られるために必要な画像データのフレームの入力間隔t0,t1,t2,t3,t4,t5,t6,t7の和(=0.01+0.01+0.02+0.01+0.01+0.01+0.01+0.01)を上述した数式(3)に示すPWI(Pulse Wave Interval、脈波間隔)として用いる。
従って、図6において第3番目のフレームのコマ落ちが発生した場合には、1周期分の信号WV0が得られるために必要な画像データのフレーム数が8になるが、脈拍推定部M1bは、第2番目のフレームを入力してから次のフレーム(図6に示す第4番目のフレーム)を入力するまでの入力間隔t2を含む、1周期分の信号WV0が得られるために必要な画像データのフレームの入力間隔t0,t1,t2,t3,t4,t5,t6,t7の和を用いることで、図4においてコマ落ちが発生していない場合と同様に適正な脈拍数を算出することができる(数式(3)参照)。
判定部の一例としての信頼度判定部5は、所定条件(数式(2)、数式(3))を満たす各々のフィルタ部F1,F2,F3の出力信号の区間が排除された各々の推定モジュール部M1,M2、M3からの少なくとも1周期分の出力信号、又は所定条件を満たさない各々のフィルタ部F1,F2,F3の出力信号(言い換えると、各々のフィルタ部F1,F2,F3の出力信号がそのまま各々の推定モジュール部M1,M2,M3から出力された信号)を基に、無効区間の最も少ない推定モジュール部からの少なくとも1周期分の出力信号を判定する。信頼度判定部5は、判定結果(即ち、いずれかの推定モジュール部に関する情報)をセレクタ6に出力する。
信頼度判定部5は、信頼度として例えば、無効区間がない場合に信頼度「100」を付与し、数式(1)を満たす無効区間の数、数式(2)を満たす無効区間の数、又は数式(1)及び数式(2)の両方を満たす無効区間の数に応じて、所定の算出方法(例えば無効区間の数と無効区間の判断の元になった数式(1)、数式(2)毎の所定の重み係数(既知)を用いて乗算して「100」から減点する方法)に従って信頼度を付与する。
出力部の一例としてのセレクタ6は、信頼度判定部5から出力された判定結果を基に、各々の推定モジュール部M1,M2,M3からの出力(即ち、各々の推定モジュール部M1,M2,M3において推定された各脈拍数に関する情報)のうち、信頼度判定部5の判定結果に対応する推定モジュール部の出力(脈拍数に関する情報)を選択して脈拍出力部7に出力する。
例えば図3(B)に示すように、推定モジュール部M1において推定された脈拍数が「70」で信頼度判定部5により判定された信頼度が「60」であり、推定モジュール部M2において推定された脈拍数が「76」で信頼度判定部5により判定された信頼度が「80」であり、推定モジュール部M3において推定された脈拍数が「78」で信頼度判定部5により判定された信頼度が「70」であるとする。この場合、セレクタ6は、最も信頼度が高い「80」が得られた脈拍数「76」を脈拍出力部7に出力する。
出力部の一例としての脈拍出力部7は、セレクタ6により選択された脈拍数に関する情報を出力する。脈拍出力部7は、例えば生体情報推定装置10がディスプレイ(不図示)を有する場合には、セレクタ6により選択された脈拍数に関する情報をディスプレイに表示させる。また、脈拍出力部7は、例えば生体情報推定装置10がスピーカ(不図示)を有する場合には、セレクタ6により選択された脈拍数に関する情報をスピーカから出力させる。
次に、本実施形態の生体情報推定装置10の動作手順の一例について、図8を参照して説明する。図8は、第1の実施形態の生体情報推定装置10の動作手順の一例を説明するフローチャートである。
図8において、画像入力部1は、所定のフレームレートでカメラCMにより人が撮像された画像データのフレームをカメラCMから連続的に入力(取得)して肌色抽出部2に出力する(ST1)。肌色抽出部2は、画像入力部1により入力された画像データの各フレーム内の所定範囲(例えば図3(B)に示す肌色領域FL1)の信号(例えば画素値、輝度値)を、少なくとも1周期(周期は既知)分のフレーム数を用いて抽出する(ST2)。肌色抽出部2は、抽出された所定範囲の信号を各フィルタ部F1〜F3に出力する。
ステップST3では、フィルタ部F1〜F3におけるフィルタ係数が選択される(ST3)。なお、上述したように、フィルタ部F1には、例えば30〜60bpmの信号がフィルタ部F1を通過するようにフィルタ係数が予め設定されている。フィルタ部F2には、例えば50〜90bpmの信号がフィルタ部F2を通過するようにフィルタ係数が予め設定されている。同様に、フィルタ部F3には、例えば70〜120bpmの信号がフィルタ部F3を通過するようにフィルタ係数が予め設定されている。図3では、説明を分かり易くするために、ステップST3からステップST7までの処理が時系列となるように示されているが、生体情報推定装置10ではこれらの各処理はパラレル(並行)に行われている。
フィルタ部F1は、フィルタ処理の一例として、肌色抽出部2から出力された所定範囲の信号(画素値)を平均化することで、例えばカメラCMの撮像時に含まれたノイズ信号を除去する(ST4)。また、フィルタ部F1は、フィルタ処理の他の一例として、フィルタ部F1に対応するフィルタ係数を用いて、脈波の基本周波数以外の周波数成分をカットする(ST4)。フィルタ部F1の出力は、推定モジュール部M1に入力される。
波形検定部M1aは、フィルタ部F1の少なくとも1周期分の出力信号を基に、フィルタ部F1においてカットできなかったノイズ信号の区間を検出するために、入力された少なくとも1周期分の出力信号のうち所定条件(つまり、数式(1)、数式(2))を満たす信号の区間があるか否かの判断により波形を検定する(ST5)。
波形検定部M1aは、所定条件を満たすと判断した出力信号の区間を無効(invalid)区間として排除し、該当する信号の区間を排除した少なくとも1周期分の信号を脈拍推定部M1b及び信頼度判定部5に出力する。一方、波形検定部M1aは、所定条件(つまり、数式(1)、数式(2))を満たす信号の区間がないと判断した場合には、フィルタ部F1の少なくとも1周期分の出力信号をそのまま脈拍推定部M1b及び信頼度判定部5に出力する。
脈拍推定部M1bは、フィルタ部F1の少なくとも1周期分の出力信号又は波形検定部M1aの少なくとも1周期分の出力信号を基に、数式(3)に従って、人の脈拍値(Pulse rate)を算出してセレクタ6に出力する(ST6)。
ステップST7において、各フィルタ部F1〜F3及び各推定モジュール部M1〜M3においてそれぞれの処理が終了していない場合には(ST7、NO)、各フィルタ部F1〜F3及び各推定モジュール部M1〜M3においてそれぞれの処理が終了するまで、ステップST3〜ステップST7までの処理が終了するまで、生体情報推定装置10の動作は待機状態となる。
一方、各フィルタ部F1〜F3及び各推定モジュール部M1〜M3においてそれぞれの処理が終了した場合には(ST7、YES)、信頼度判定部5は、所定条件(数式(2)、数式(3))を満たす各々のフィルタ部F1,F2,F3の出力信号の区間が排除された各々の推定モジュール部M1,M2、M3からの少なくとも1周期分の出力信号、又は所定条件を満たさない各々のフィルタ部F1,F2,F3の出力信号を基に、無効区間の最も少ない推定モジュール部からの少なくとも1周期分の出力信号を判定する(ST8)。信頼度判定部5は、判定結果(即ち、いずれかの推定モジュール部に関する情報)をセレクタ6に出力する。
セレクタ6は、信頼度判定部5から出力された判定結果を基に、各々の推定モジュール部M1,M2,M3からの出力(即ち、各々の推定モジュール部M1,M2,M3において推定された各脈拍数に関する情報)のうち、信頼度判定部5の判定結果に対応する推定モジュール部の出力(脈拍数に関する情報)を選択して脈拍出力部7に出力する(ST9)。脈拍出力部7は、セレクタ6により選択された脈拍数に関する情報を出力する(ST9)。
以上により、本実施形態の生体情報推定装置10は、入力された画像データの所定範囲(例えば人の肌色領域FL1)の信号を抽出し、異なる係数(例えばフィルタ係数)を用いて、抽出された所定範囲の信号のうち異なる係数に対応する各信号を複数のフィルタ部F1〜F3において出力する。生体情報推定装置10は、各フィルタ部F1〜F3に対応して設けられた各推定モジュール部M1〜M3において、対応するフィルタ部の少なくとも1周期分の出力信号と少なくとも1周期分の出力信号に対応する画像データのフレームの入力間隔とを基に、人の脈拍値を推定し、複数のフィルタ部F1〜F3の出力信号に応じて、推定された複数の脈拍値からいずれかを選択して出力する。
これにより、生体情報推定装置10は、ユーザが撮像された画像データのフレームがコマ落ちした場合でも、画像データに含まれるユーザの肌色領域の画像処理(例えば所定のフィルタ係数を用いたノイズ除去処理)により得られた少なくとも1周期の信号に対応する画像データの複数のフレームの入力間隔と血液が特定波長域の光を吸収する性質とを用いて、ユーザの脈拍数を推定するので、例えば接触タイプの専用の脈拍数測定器を用いることなく、ユーザの脈拍数を非接触で高精度に推定することができる。
また、生体情報推定装置10は、各フィルタ部に対応する推定モジュール部において、所定条件を満たすフィルタ部の出力信号の区間を無効区間として排除し、無効区間が排除された少なくとも1周期の出力信号と少なくとも1周期の出力信号に対応する画像データのフレームの入力間隔とを基に、人の脈拍値を推定する。
これにより、生体情報推定装置10は、所定条件を満たすフィルタ部の出力信号の区間(例えば振幅が所定値に比べて極端に大きい信号や極端に小さい信号の区間)を無効区間として排除することができるので、例えば外乱ノイズによる影響を抑制することができ、無効区間が排除された少なくとも1周期分の出力信号に対応する画像データのフレームの入力間隔を用いて、人の脈拍値を高精度に推定することができる。
また、生体情報推定装置10は、所定条件を満たす各フィルタ部の出力信号の区間が排除された少なくとも1周期分の出力信号を基に、無効区間の最も少ない、少なくとも1周期分の出力信号を判定し、この判定された少なくとも1周期分の出力信号に対応して推定された人の脈拍値を選択する。
これにより、生体情報推定装置10は、無効区間の最も少ない(言い換えると、外乱ノイズの影響を最も受けていない)少なくとも1周期分の出力信号を用いた人の脈拍値を選択することができる。
(第2の実施形態)
図9は、第2の実施形態の生体情報推定装置10Aの内部構成の一例を示すブロック図である。図10は、1周期分の観測波形のピークがサンプリング位置から外れている場合の課題の説明図である。図9に示す生体情報推定装置10Aでは、図3(A)に示す生体情報推定装置10の各部と同一の構成については同一の符号を用いて説明を簡略化又は省略し、異なる内容について説明する。
図9に示す生体情報推定装置10Aは、カメラCMと、画像入力部1と、肌色抽出部2と、複数(例えば3個)のフィルタF1,F2,F3と、複数(例えば3個)の推定モジュール部M1R,M2R,M3Rと、信頼度判定部5と、セレクタ6と、脈拍出力部7とを含む構成である。推定モジュール部M1RはフィルタF1に対応して設けられ、推定モジュール部M2RはフィルタF2に対応して設けられ、推定モジュール部M3RはフィルタF3に対応して設けられている。
推定モジュール部M1Rは、補間部M1cと波形検定部M1aと脈拍推定部M1bとを含む構成である。補間部M1cは、フィルタ部F1の少なくとも1周期分の出力信号が入力され、フィルタ部F1の少なくとも1周期分の出力信号を基に、フィルタ部F1の少なくとも1周期分の出力信号が所定値(例えばゼロ)となる位置(時刻)の差分(時間差)を補間(例えば線形補間)し、補間後の少なくとも1周期分の出力信号を波形検定部M1a及び脈拍推定部M1bに出力する。本実施形態では、波形検定部M1a及び脈拍推定部M1bでは、補間部M1cの出力が用いられる。以下、推定モジュール部M1R,M2R,M3Rの構成は同様であるため、推定モジュール部M1Rの動作を例示して説明する。
ここで、図10を参照し、1周期分の観測波形のピークがサンプリング位置から外れている場合の課題について説明する。図10では、横軸は時間を示し、縦軸(不図示)は肌色抽出部2により抽出された信号WV0を示す。言い換えると、図10に示す信号は、カメラCMにより撮像された画像の肌色領域FL1の緑色の1周期分の信号WV0(つまり、画素値)を示し、例えば8ビットで示す場合には0〜255で示される。
図10において、S1,S2,S3,S4,S5,S6,S7は、例えば波形検定部M1aに含まれるADCによりAD変換されたサンプル値であり、T1,T2,T3,T4,T5,T6,T7はADCによりAD変換されたサンプリング時刻である。図10に示す信号WV0の1周期は、正確に言うと、信号WV0のピークと次のピークとの間の時間(直線AS1参照)であるが、信号WV0のピークがサンプリング位置(サンプリング時刻におけるサンプル値)から外れていると誤差が発生してしまう。具体的には、図10に示す信号WV0の1周期は、ピーク値であるサンプル値S2のサンプリング時刻T2と次のピーク値であるサンプル値S7のサンプリング時刻T7との間の時間(直線NT1参照)となってしまうので、直線AS1と直線NT1との差分に応じた誤差が発生することになり、フィルタ部F1〜F3に入力される信号に誤差が生じているので、人の脈拍の推定精度が劣化することになる。
そこで、本実施形態では、各々の推定モジュール部M1R〜MR3は、上述した数式(3)に示すPWI(脈波間隔)をより正確に求めるために、各々の推定モジュール部M1R〜MR3に入力された信号(即ち、各々のフィルタ部F1〜F3の出力信号)を補間することで、1周期分の信号WV0を導出する(図11、図12、図13参照)。
(第1の補間例)
図11は、各推定モジュール部の補間部M1cの動作の第1例を示す説明図である。図11では、横軸は時間を示し、縦軸(不図示)は肌色抽出部2により抽出された信号WV1を示す。言い換えると、図11に示す信号は、カメラCMにより撮像された画像の肌色領域FL1の緑色の1周期分の信号WV1(つまり、画素値)を示し、例えば8ビットで示す場合には0〜255で示される。
図11に示す第1の補間例では、補間部M1cは、例えば単調増加時又は単調減少時の信号WV1が所定値(例えばゼロ)を通過する横軸上の少なくとも2個の位置(時刻)の差分(時間差)を補間(即ち、線形補間処理)し、少なくとも1周期分の信号WV1を推定する。図11に示す直線AS1及び直線NT1は、図10に示す直線AS1及び直線NT1と同一であるため、説明を省略し、図12及び図13においても同様である。
より具体的には、補間部M1cは、例えば単調増加時の信号WV1がゼロを通過する位置と次の単調増加時の信号WV1がゼロを通過する位置との差分(直線PR1参照)を推定するために、第1番目の単調増加時の信号WV1の少なくとも2個の位置(点A0(0,a0)と点A1(1,a1))を通過する直線がゼロを通過する位置(直線PR1の左端)と、第2番目の単調増加時の信号WV1の少なくとも2個の位置(点B0(0,b0)と点B1(1,b1))を通過する直線がゼロを通過する位置(直線PR1の右端)とを求める。a0,a1,b0,b1は、それぞれ信号WV1上の位置であってサンプル値である。図11では、単調増加時の信号WV1上の点を用いて説明しているが、単調減少時の信号WV1上の点を用いても同様である。
点A0の横軸上の位置と直線PR1の左端との間の距離p0は、補間部M1cの線形補間によって、数式(4)により示される。同様に、点B0の横軸上の位置と直線PR1の右端との間の距離p1は、補間部M1cの線形補間によって、数式(5)により示される。これにより、補間部M1cは、直線PR1の長さを算出することができ、直線AS1との誤差が大きい直線NT1に比べて、直線AS1との誤差を低減することができるので、脈拍数の推定精度を向上することができる。
(第2の補間例)
図12は、各推定モジュール部の補間部M1cの動作の第2例を示す説明図である。図12では、横軸は時間を示し、縦軸(不図示)は肌色抽出部2により抽出された信号WV1を示す。言い換えると、図11に示す信号は、カメラCMにより撮像された画像の肌色領域FL1の緑色の1周期分の信号WV1(つまり、画素値)を示し、例えば8ビットで示す場合には0〜255で示される。
図12に示す第2の補間例では、補間部M1cは、例えば最初のピークが得られる単調増加時又は単調減少時の信号WV1上の2点を通過する直線と、その直線の傾きを反転させた傾きと単調減少時又は単調増加時の信号WV1上の1点を通過する直線との交点を求める。更に、補間部M1cは、同様に次のピークが得られる単調増加時又は単調減少時の信号WV1上の2点を通過する直線と、その直線の傾きを反転させた傾きと単調減少時又は単調増加時の信号WV1上の1点を通過する直線との交点を求める。補間部M1cは、これら2個の交点を用いて補間(即ち、等角直線フィッティング)し、少なくとも1周期分の信号WV1を推定する。
より具体的には、補間部M1cは、例えば単調増加時の信号WV1上の2点(点A0(0,a0)と点A1(1,a1))を通過する直線L0と、その直線L0の傾きを反転させた傾きと単調減少時の信号WV1上の1点(点A2(2,a2))を通過する直線L1との交点を求める。更に、補間部M1cは、同様にして、例えば単調増加時の信号WV1上の2点(点B0(0,b0)と点B1(1,b1))を通過する直線M0と、その直線M0の傾きを反転させた傾きと単調減少時の信号WV1上の1点(点B2(2,b2))を通過する直線M1との交点を求める。a0,a1,a2,b0,b1,b2は、それぞれ信号WV1上の位置であってサンプル値である。図12では、直線L0,MOに対しては単調増加時、直線L1,M1に対しては単調減少時の信号WV1上の点を用いて説明しているが、単調増加時を単調減少時に読み替えても同様である。
点A1の横軸上の位置と直線L0と直線L1との交点の横軸上の位置との間の距離p0は、補間部M1cの等角直線フィッティングによって、数式(6)により示される。同様に、直線M0と直線M1との交点の横軸上の位置と点B1の横軸上の位置との間の距離p1は、補間部M1cの等角直線フィッティングによって、数式(7)により示される。これにより、補間部M1cは、直線PR2の長さを算出することができ、直線AS1との誤差が大きい直線NT1に比べて、直線AS1との誤差を低減することができるので、脈拍数の推定精度を向上することができる。
(第3の補間例)
図13は、各推定モジュール部の補間部M1cの動作の第3例を示す説明図である。図13では、横軸は時間を示し、縦軸(不図示)は肌色抽出部2により抽出された信号WV1を示す。言い換えると、図13に示す信号は、カメラCMにより撮像された画像の肌色領域FL1の緑色の1周期分の信号WV1(つまり、画素値)を示し、例えば8ビットで示す場合には0〜255で示される。
図13に示す第3の補間例では、補間部M1cは、最初のピークが得られる信号WV1上の3点を通過する2次曲線の頂点と、次のピークが得られる信号WV1上の3点を通過する2次曲線の頂点を用いて補間(即ち、パラボラフィッティング)し、少なくとも1周期分の信号WV1を推定する。
より具体的には、補間部M1cは、例えば最初のピークが得られる信号WV1上の3点(点A0(0,a0)と点A1(1,a1)と点A2(2,a2))を通過する2次曲線R0の頂点の横軸上の位置と、次のピークが得られる信号WV1上の3点(点B0(0,b0)と点B1(1,b1)と点B2(2,b2))を通過する2次曲線R1の頂点の横軸上の位置とを求める。a0,a1,a2,b0,b1,b2は、それぞれ信号WV1上の位置であってサンプル値である。
点A1の横軸上の位置と2次曲線R0の頂点の横軸上の位置との間の距離p0は、補間部M1cのパラボラフィッティングによって、数式(8)により示される。同様に、2次曲線R1の頂点の横軸上の位置と点B1の横軸上の位置との間の距離p1は、補間部M1cの等角直線フィッティングによって、数式(9)により示される。これにより、補間部M1cは、直線PR3の長さを算出することができ、直線AS1との誤差が大きい直線NT1に比べて、直線AS1との誤差を低減することができるので、脈拍数の推定精度を向上することができる。
図14は、第2の実施形態の生体情報推定装置10Aの動作手順の一例を説明するフローチャートである。図14では、第1の実施形態の生体情報推定装置10の動作手順と異なる内容について説明し、同一の動作については同一のステップ番号を付与して説明を簡略化又は省略する。
図14において、ステップST4の後、補間部M1cは、フィルタ部F1の少なくとも1周期分の出力信号が入力され、フィルタ部F1の少なくとも1周期分の出力信号を基に、フィルタ部F1の少なくとも1周期分の出力信号が所定値(例えばゼロ)となる位置(時刻)の差分(時間差)を補間(例えば線形補間)し、補間後の少なくとも1周期分の出力信号を波形検定部M1a及び脈拍推定部M1bに出力する(ST10)。波形検定部M1a及び脈拍推定部M1bでは、補間部M1cの出力が用いられる。
例えば、波形検定部M1aは、補間部M1cからの少なくとも1周期分の出力信号が入力され、フィルタ部F1においてカットできなかったノイズ信号の区間を検出するために、入力された少なくとも1周期分の出力信号のうち所定条件(つまり、数式(1)、数式(2))を満たす信号(つまり、ノイズ信号)の区間があるか否かを判断する(ST5)。また、脈拍推定部M1bは、補間部M1cからの少なくとも1周期分の出力信号又は波形検定部M1aの少なくとも1周期分の出力信号を基に、数式(3)に従って、人の脈拍値(Pulse rate)を算出してセレクタ6に出力する(ST6)。ステップST5やステップST6の処理の詳細については第1の実施形態と同一であるため、説明を省略する。ステップST6以降の処理については、図8と同様であるため、説明を省略する。
以上により、本実施形態の生体情報推定装置10Aは、各推定モジュール部M1R,M2R,M3Rに対応する各フィルタ部F1,F2,F3の少なくとも1周期分の出力信号を基に、フィルタ部F1,F2,F3の少なくとも1周期分の出力信号が所定値(例えばゼロ)となる時間差を補間し、補間後のフィルタ部の少なくとも1周期分の出力信号を出力する。
これにより、生体情報推定装置10Aは、フィルタ部F1,F2,F3の少なくとも1周期分の出力信号を高精度に得ることができるので、1周期分の出力信号のピークがサンプリング位置から外れている場合でも、本来得られるべき正確な出力信号のピーク間の時間差と実際に得られたフィルタ部の出力信号のピーク間の時間差との誤差を極小化することができるので、より正確な人の脈拍値を推定することができる。
最後に、本発明に係る生体情報推定装置及び生体情報推定方法の構成、作用、効果についてそれぞれ列挙する。
本発明の一実施形態は、人が撮像された画像データを入力する画像入力部と、前記画像入力部により入力された前記画像データの所定範囲の信号を抽出する抽出部と、異なる係数を用いて、前記抽出部により抽出された前記所定範囲の信号のうち前記異なる係数に対応する各信号を出力する複数のフィルタ部と、各々の前記フィルタ部に対応して設けられ、対応する前記フィルタ部の少なくとも1周期分の出力信号と前記少なくとも1周期分の出力信号に対応する前記画像データのフレームの入力間隔とを基に、前記人の脈拍値を推定する複数の推定部と、前記複数のフィルタ部の出力信号に応じて、前記複数の推定部により推定された前記複数の脈拍値からいずれかを選択して出力する出力部と、を備える、生体情報推定装置である。
この構成では、生体情報推定装置は、入力された画像データの所定範囲(例えば人の肌色領域)の信号を抽出し、異なる係数(例えばフィルタ係数)を用いて、抽出された所定範囲の信号のうち異なる係数に対応する各信号を複数のフィルタ部において出力する。生体情報推定装置は、各フィルタ部に対応して設けられた各推定部において、対応するフィルタ部の少なくとも1周期分の出力信号と少なくとも1周期分の出力信号に対応する画像データのフレームの入力間隔とを基に、人の脈拍値を推定し、複数のフィルタ部の出力信号に応じて、推定された複数の脈拍値からいずれかを選択して出力する。
これにより、生体情報推定装置は、ユーザが撮像された画像データのフレームがコマ落ちした場合でも、画像データに含まれるユーザの肌色領域の画像処理(例えば所定のフィルタ係数を用いたノイズ除去処理)により得られた少なくとも1周期の信号に対応する画像データの複数のフレームの入力間隔と血液が特定波長域の光を吸収する性質とを用いて、ユーザの脈拍数を推定するので、例えば接触タイプの専用の脈拍数測定器を用いることなく、ユーザの脈拍数を非接触で高精度に推定することができる。
また、本発明の一実施形態は、前記推定部は、前記推定部に対応する前記フィルタ部の少なくとも1周期分の出力信号のうち、所定条件を満たす前記フィルタの出力信号の区間を無効区間として排除する検定部と、前記無効区間が排除された前記検定部の少なくとも1周期分の出力信号と前記検定部の少なくとも1周期分の出力信号に対応する前記画像データのフレームの入力間隔とを基に、前記人の脈拍値を推定する脈拍推定部と、を有する、生体情報推定装置である。
この構成では、生体情報推定装置は、各フィルタ部に対応する推定部において、所定条件を満たすフィルタ部の出力信号の区間を無効区間として排除し、無効区間が排除された少なくとも1周期の出力信号と少なくとも1周期の出力信号に対応する画像データのフレームの入力間隔とを基に、人の脈拍値を推定する。
これにより、生体情報推定装置は、所定条件を満たすフィルタ部の出力信号の区間(例えば振幅が所定値に比べて極端に大きい信号や極端に小さい信号の区間)を無効区間として排除することができるので、例えば外乱ノイズによる影響を抑制することができ、無効区間が排除された少なくとも1周期分の出力信号に対応する画像データのフレームの入力間隔を用いて、人の脈拍値を高精度に推定することができる。
また、本発明の一実施形態は、前記所定条件を満たす各々の前記フィルタの出力信号の区間が排除された各々の前記検定部の少なくとも1周期分の出力信号を基に、前記無効区間の最も少ない前記検定部の少なくとも1周期分の出力信号を判定する判定部、を更に備え、前記出力部は、前記無効区間の最も少ない前記検定部の少なくとも1周期分の出力信号に対応して前記脈拍推定部により推定された前記人の脈拍値を選択する、生体情報推定装置である。
この構成では、生体情報推定装置は、所定条件を満たす各フィルタ部の出力信号の区間が排除された少なくとも1周期分の出力信号を基に、無効区間の最も少ない、少なくとも1周期分の出力信号を判定し、この判定された少なくとも1周期分の出力信号に対応して推定された人の脈拍値を選択する。
これにより、生体情報推定装置は、無効区間の最も少ない(言い換えると、外乱ノイズの影響を最も受けていない)少なくとも1周期分の出力信号を用いた人の脈拍値を選択することができる。
また、本発明の一実施形態は、前記推定部は、前記推定部に対応する前記フィルタ部の少なくとも1周期分の出力信号を基に、前記フィルタ部の少なくとも1周期分の出力信号が所定値となる時間差を補間し、補間後の前記フィルタ部の少なくとも1周期分の出力信号を出力する補間部、を更に有する、生体情報推定装置である。
この構成では、生体情報推定装置は、各推定部に対応する各フィルタ部の少なくとも1周期分の出力信号を基に、フィルタ部の少なくとも1周期分の出力信号が所定値(例えばゼロ)となる時間差を補間し、補間後のフィルタ部の少なくとも1周期分の出力信号を出力する。
これにより、生体情報推定装置は、フィルタ部の少なくとも1周期分の出力信号を高精度に得ることができるので、1周期分の出力信号のピークがサンプリング位置から外れている場合でも、本来得られるべき正確な出力信号のピーク間の時間差と実際に得られたフィルタ部の出力信号のピーク間の時間差との誤差を極小化することができるので、より正確な人の脈拍値を推定することができる。
また、本発明の一実施形態は、生体情報推定装置における生体情報推定方法であって、人が撮像された画像データを入力するステップと、入力された前記画像データの所定範囲の信号を抽出するステップと、異なる係数を有する複数のフィルタ部を用いて、抽出された前記所定範囲の信号のうち前記異なる係数に対応する各信号を出力するステップと、各々の前記フィルタ部の少なくとも1周期分の出力信号と前記少なくとも1周期分の出力信号に対応する前記画像データのフレームの入力間隔とを基に、前記人の脈拍値を推定するステップと、前記複数のフィルタ部の出力信号に応じて、推定された前記複数の脈拍値からいずれかを選択して出力するステップと、を有する、生体情報推定方法である。
この方法では、生体情報推定装置は、入力された画像データの所定範囲(例えば人の肌色領域)の信号を抽出し、異なる係数(例えばフィルタ係数)を用いて、抽出された所定範囲の信号のうち異なる係数に対応する各信号を複数のフィルタ部において出力する。生体情報推定装置は、各フィルタ部に対応して設けられた各推定部において、対応するフィルタ部の少なくとも1周期分の出力信号と少なくとも1周期分の出力信号に対応する画像データのフレームの入力間隔とを基に、人の脈拍値を推定し、複数のフィルタ部の出力信号に応じて、推定された複数の脈拍値からいずれかを選択して出力する。
これにより、生体情報推定装置は、ユーザが撮像された画像データのフレームがコマ落ちした場合でも、画像データに含まれるユーザの肌色領域の画像処理(例えば所定のフィルタ係数を用いたノイズ除去処理)により得られた少なくとも1周期の信号に対応する画像データの複数のフレームの入力間隔と血液が特定波長域の光を吸収する性質とを用いて、ユーザの脈拍数を推定するので、例えば接触タイプの専用の脈拍数測定器を用いることなく、ユーザの脈拍数を非接触で高精度に推定することができる。
以上、図面を参照して各種の実施形態について説明したが、本開示はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本開示の技術的範囲に属するものと了解される。