心拍数・呼吸数検出装置,方法およびプログラム
【課題】 心拍数・呼吸数検出装置で,顔を含む画像データから高精度に心拍数,呼吸数を検出することを目的とする。
【解決手段】 心拍数・呼吸数検出装置1では,光波長成分取得部11が画像データ2のRGB成分を取得し,顔認識処理部12が画像データ2から顔領域を抽出する。RGB平均値算出部13は,顔領域のRGB成分の平均値を算出し,独立成分分析部14は,RGB成分の平均値から3個の独立信号の成分を分離する。独立信号ソート部15は,サンプリングされた顔領域の独立信号ごとのスペクトル分布を求め,スペクトル分布の波形類似度をもとに,類似度が高い独立信号のスペクトル分布をペアリングして,区分化する。心拍数・呼吸数検出部16は,区分化されたスペクトル分布それぞれのピーク周波数を追跡し,一定時間経過後に周波数値軸上で出現位置が収束したピーク周波数の周波数値をもとに心拍数を推定する。
【解決手段】 心拍数・呼吸数検出装置1では,光波長成分取得部11が画像データ2のRGB成分を取得し,顔認識処理部12が画像データ2から顔領域を抽出する。RGB平均値算出部13は,顔領域のRGB成分の平均値を算出し,独立成分分析部14は,RGB成分の平均値から3個の独立信号の成分を分離する。独立信号ソート部15は,サンプリングされた顔領域の独立信号ごとのスペクトル分布を求め,スペクトル分布の波形類似度をもとに,類似度が高い独立信号のスペクトル分布をペアリングして,区分化する。心拍数・呼吸数検出部16は,区分化されたスペクトル分布それぞれのピーク周波数を追跡し,一定時間経過後に周波数値軸上で出現位置が収束したピーク周波数の周波数値をもとに心拍数を推定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は,人体に非接触で心拍数や呼吸数を検出する技術に関する。
【背景技術】
【0002】
カメラで撮影した顔画像などから非接触で心拍数を検出する方式が知られている。例えば,首や顔などをカメラで撮影し,設定した領域の画像濃度を連続して算出し,その濃度の時間応答波形をFFT(高速フーリエ変換)処理で求めたスペクトルの極大値を呼吸数や心拍数とする方法が知られている。また,顔画像の領域内のRGBの各平均値を算出して独立成分分析(ICA)で処理した後に,1つの成分波形(第2成分波形)の周波数分析で得たピーク周波数から心拍数を推定する方法が知られている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−218507号公報
【非特許文献】
【0004】
【非特許文献1】M.Z.Poh,D.J.McDuff, and R.W.Picard,“Non−contact, Automated Cardiac Pulse Measurements Using Video Imaging and Blind Source Separation”, Opt Express, vol.18, pp.10762−10774, 2010年5月7日
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし,従来技術では,以下のような課題があることが知られている。
【0006】
(1)カラー画像のRGBの時間応答波形を用いて周波数成分分析をした場合に,心拍信号を示す周波数成分が検出されない場合があった。
【0007】
(2)RGB波形に独立成分分析を適用すると,算出されたどの成分に心拍信号が含まれているかが不明であった。
【0008】
(3)周波数分析で求めたスペクトル分布において,どのピーク周波数が心拍信号に起因するかを自動的に特定することができなかった。
【0009】
上記の課題に鑑み,本発明は,人体に非接触で心拍・呼吸数の検出を図り,特に,画像データから抽出した時系列信号のスペクトル分布の中から,心拍信号または呼吸信号に起因するピーク周波数を特定して,心拍数や呼吸数を精度よく自動的に検出する装置を実現することを目的とする。
【課題を解決するための手段】
【0010】
本発明の一態様として開示する装置は,画像データから心拍数または呼吸数を検出する装置であって,1)検出対象者が撮像された画像データから複数の光波長成分の時系列データを取得する光波長成分取得部と,2)前記光波長成分の時系列データをもとに各光波長成分の平均値を算出する平均値算出部と,3)前記算出した平均値に独立成分分析を適用して複数の独立信号を求める独立成分分析部と,4)前記求めた複数の独立信号を,各独立信号の特徴が一貫して保持されるように並べ替えて区分化する独立信号ソート部と,5)前記区分化された独立信号のスペクトル分布に含まれる複数のピーク周波数の中から,一定の時間経過後に周波数値の変動が一定の範囲内に収まるピーク周波数を含む独立信号を特定して,心拍信号または呼吸信号に起因するピーク周波数を含む独立信号とする心拍数・呼吸数検出部とを備える。
【発明の効果】
【0011】
開示される装置によれば,人間の顔などを撮像した画像データの光波長成分の時間応答波形から心拍信号や呼吸信号に起因するピーク周波数を特定し,心拍数や呼吸数を精度よく自動的に検出することができる。
【図面の簡単な説明】
【0012】
【図1】本発明の一態様として開示する心拍数・呼吸数検出装置の一実施例における構成例を示す図である。
【図2】一実施例において顔認識処理で抽出される顔領域例を示す図である。
【図3】一実施例において顔領域のRGB平均値に独立成分分析を適用する例を示す図である。
【図4】一実施例において連続してサンプリングした際の第n−1番目サンプリング時の光波長成分もとづく独立成分分析の結果(独立信号)とそのスペクトル分布の例を示す図である。
【図5】一実施例において連続してサンプリングした際の第n番目サンプリング時の光波長成分もとづく独立成分分析の結果(独立信号)とそのスペクトル分布の例を示す図である。
【図6】一実施例における重なり率の概念を示す図である。
【図7】一実施例における独立信号のスペクトル分布の区分化の例を示す図である。
【図8】一実施例における粒子フィルタによる心拍信号の周波数の検出処理を説明するための図である。
【図9】一実施例における尤度初期値関数による粒子フィルタの粒子配置の概念を示す図である。
【図10】一実施例における心拍数・呼吸数検出装置の心拍数推定処理の処理フロー図である。
【図11】一実施例における心拍数・呼吸数検出装置の尤度初期値関数設定処理の処理フロー図である。
【発明を実施するための形態】
【0013】
以下,本発明の一態様として開示する心拍数・呼吸数検出装置について説明する。
【0014】
図1は,本発明の一態様として開示する心拍数・呼吸数検出装置の一実施例における構成例を示す図である。
【0015】
心拍数・呼吸数検出装置1は,対象者の顔を含む画像データ2の光波長成分の各成分の時系列データを用いて,信号源である心拍信号または呼吸信号を特定して,対象者の心拍数または呼吸数を自動的に検出する。そのため,心拍数・呼吸数検出装置1は,光波長成分取得部11,顔認識処理部12,RGB平均値算出部13,独立成分分析(ICA)部14,独立信号ソート部15,心拍数・呼吸数検出部16,尤度初期値関数記憶部17,尤度関数設定部18を備える。
【0016】
光波長成分取得部11は,カメラなどで検出対象者が撮影された画像データ2を入力し,画像データ2の複数の光波長成分の時系列データを取得する手段である。
【0017】
光波長成分取得部11は,ビデオカメラなどから出力される画像データ2を入力する。なお,画像データ2を入力するデバイスはカメラ以外でもよく,また,画像データ2は,ビデオ,DVDなどのメデイアやハードディスク上に格納されている動画ファイルから切り出した画像データであってもよい。
【0018】
画像データ2は,例えば,横320画素×縦240画素の矩形で与えられる。1つの画素は,明るさの階調値(輝度)で与えられ,例えば,整数i,jで示される座標(i,j)の画素の輝度(I)の階調値は,8bitのディジタル値I(i,j)などで与えられる。画像データ2がカラー画像である場合には,1つの画素は,赤成分(R),緑成分(G),青成分(B)の階調値で与えられ,例えば,整数i,jで示される座標(i,j)の画素の赤成分(R),緑成分(G),青成分(B)の階調値は,それぞれ,ディジタル値R(i,j),G(i,j),B(i,j)などで与えられる。
【0019】
なお,画像データ2の階調値は,RGBの組み合わせ,またはRGB値を変換して求まる他の表色系(HSV表色系,YUV表色系など)を使用してもよい。
【0020】
顔認識処理部12は,光波長成分取得部11によって取得された画像データ2に含まれている人の顔の位置や大きさを検出して,顔を含む顔領域を抽出する手段である。
【0021】
顔認識処理部12は,既知の顔認識処理を実行するものであり,特に1つの顔認識処理に限定されない。既知の顔認識処理では,一般的に,画像データ中に含まれる顔の位置と大きさを検出し,検出した顔の領域を矩形で抽出する。
【0022】
図2は,顔認識処理で抽出される顔領域例を示す図である。
【0023】
画像データ2から顔領域として抽出される矩形は,例えば,図2に示すように,4個の頂点座標で表現される。例えば,顔領域は,{(i1,j1),(i1,j2),(i2,j1),(i2,j2)}と表される。
【0024】
RGB平均値算出部13は,画像データから検出された顔領域の赤成分(R),緑成分(G),青成分(B)の各色成分について平均値を算出する手段である。
RGB平均値算出部13は,例えば以下の式(1)〜(3)を用いて平均値を算出する。
【0025】
【数1】
【0026】
式(1)〜(3)において,Aは顔領域であり,Nは顔領域中の画素数を表し,Aのとる値は,i1≦i<i2,j1≦j<j2であり,Nのとる値は,(i2−i1)×(j2−j1)である。
【0027】
独立成分分析部14は,RGB平均値算出部13によって得られたRGB平均値の時間応答波形に独立成分分析(ICA)を適用して独立信号を求める手段である。
【0028】
独立成分分析部14が実行する独立成分分析は,多変量解析の一手法であって,情報源となる信号が独立であると仮定し,複数の観測値の信号から,信号源を独立な成分に分離して抽出する計算手法である。独立成分分析の中で,例えばブラインド信号分離法では,次のように定式化される。
【0029】
時刻tにおけるn個の信号源s(t)=[s1(t),s2(t),…,sn(t)]Tは,未知とする。また,観測値x(t)が,m×nの未知の混合行列Aを用いて,信号源s(t)から生成されるものとする。すなわち,
x(t)=[x1(t),x2(t),…,xm(t)]T
x(t)=As(t)
とする。時刻t=1,2,…において,観測値の系列x(1),x(2),…が観測された場合に,信号源の系列s(1),s(2),…を推定する。
【0030】
すなわち,独立成分分析では,信号源の独立性を仮定し,混合行列の推定値A'を用いて,分離信号yを求める。推定分離信号y'は,以下の式(4)で与えられる。
【0031】
【数2】
【0032】
式(4)において,行列A'を正しく推定できれば,A'−1Aは単位行列となるため,信号源sと一致する。
【0033】
図3は,画像データから抽出された顔領域のRGB平均値に独立成分分析を適用する例を示す図である。
【0034】
図3(A)に示すR,G,Bの各データは,画像データから検出された顔領域の3つの光波長成分,すなわちR成分,G成分,B成分それぞれの平均値の時系列データを示す。
【0035】
図3(B)は,図3(A)に示す3つの成分(R成分,G成分,B成分)の平均値の時系列データを観測値として独立成分分析を適用した場合に得られる3個の独立信号の例である。図3(B)に示すICA1,ICA2,ICA3の各データは,図3(A)に示す光波長成分の時系列データに対応する,独立信号の第1成分,第2成分,第3成分の時系列データである。なお,図3(B)に示す例では,独立信号の第3成分(ICA3)に心拍信号が分離されているとする。
【0036】
独立信号ソート部15は,検出対象である心拍信号または呼吸信号が,常に同一の独立信号に含まれるように,独立成分分析で分離された独立信号をその特徴の一貫性が保たれるよう並べ替えて区分化する手段である。
【0037】
独立信号分析では,分離された独立信号の出現する順番が不定となる性質がある。すなわち,心拍信号を最も多く含むと推定される独立信号が,独立成分分析により分離された複数の成分(第1成分〜第3成分)のいずれであるかを特定することができない。そこで,独立信号ソート部15は,独立成分分析で得られた独立信号の各成分(第1成分〜第3成分)をスペクトル分析してスペクトル分布を求め,各成分のスペクトル分布間の波形類似度をもとに,特定の信号(心拍信号)が含まれる独立信号の成分が常に同じグループに属するように,分離された独立信号のスペクトル分布を並び替える処理を行う。
【0038】
図4および図5は,連続してサンプリングした際の第n−1番目および第n番目のサンプリング時の光波長成分にもとづく独立成分分析の結果(独立信号)とそのスペクトル分布の例を示す図である。
【0039】
図4(A)に示すデータは,第n−1番目(現サンプリングの1つ前のサンプリング)の光波長成分に対する独立成分分析の適用により分離された独立信号ICA1n−1,ICA2n−1,ICA3n−1である。図4(B)に示すデータは,独立信号ICA1n−1,ICA2n−1,ICA3n−1それぞれのスペクトル分布SD−ICA1n−1,SD−ICA2n−1,SD−ICA3n−1である。図5(A)に示すデータは,同じく,第n番目(現サンプリング)の光波長成分に対する独立成分分析の適用により分離された独立信号例ICA1n,ICA2n,ICA3nである。図5(B)に示すデータは,独立信号ICA1n,ICA2n,ICA3nそれぞれのスペクトル分布SD−ICA1n,SD−ICA2n,SD−ICA3nである。
【0040】
独立信号ソート部15は,連続してサンプリングされた独立信号を取り出して,現サンプリング時とその1つ前のサンプリング時の独立信号のスペクトル分布を求め,求めたスペクトル分布同士の波形類似度を求める。
【0041】
波形類似度は,以下に示す式(5)により重なり率Rpqをもとに算出される。
【0042】
【数3】
【0043】
式(5)において,
Sp(n−1)は,第n−1番目サンプリング時の第p成分のスペクトル分布,
Sq(n)は,第n番目サンプリング時の第q成分のスペクトル分布,
max()は,カッコ()内の大きい値を出力する関数,
min()は,カッコ()内の小さい値を出力する関数
を表す。
【0044】
図6は,上記の重なり率の概念を示す図である。
【0045】
重なり率Rpqは,図6に示すように,2つの波形が重なった部分の面積で与えられ,形状が類似していると,その値が1に近くなる。
【0046】
独立信号ソート部15は,第n−1番目サンプリングで得た各成分のスペクトル分布の波形と第n番目サンプリングで得た各成分のスペクトル分布の波形との重なり率Rpqを算出し,重なり率Rpqの値が高いスペクトル分布同士をペアリングして,n番目サンプリング時のスペクトル分布を並び替える。
【0047】
図7は,独立信号のスペクトル分布の区分化の例を示す図である。
【0048】
図7(A)は,第n−1番目サンプリングで得た各成分のスペクトル分布SD−ICA1n−1,SD−ICA2n−1,SD−ICA3n−1の出力例を示す図であり,図7(B)は,第n番目サンプリングで得た各成分のスペクトル分布SD−ICA1n,SD−ICA2n,SD−ICA3nの出力例を示す図である。
【0049】
図7(A)および(B)に示すように,ある独立信号が,第n−1番目サンプリングによる光波長成分の独立成分分析では第3成分(ICA3n−1)に表れ,第n番目サンプリングによる光波長成分の独立成分分析では第2成分(ICA2n)に表れる場合がある。したがって,心拍信号が,第n−1番目サンプリングでは第3成分(ICA3n−1)に分離され,第n番目サンプリングでは第2成分(ICA2n)として分離されているため,特定の独立信号(ここでは,心拍信号)を扱いたい場合に,何番目に出力された独立信号に着目すればよいかを自動的に決めることができなかった。
【0050】
独立信号ソート部15は,各独立信号のスペクトル分布を求め,求めたスペクトル分布の波形類似度を算出して,よく類似する同士を対応づけることによって独立成分分析の結果を並べ替え,波形として表れる独立信号の特徴が一貫して保持されるように,スペクトル分布を区分けする。
【0051】
独立信号ソート部15は,例えば,第n−1番目サンプリングで得た成分ICA1n−1のスペクトル分布SD−ICA1n−1と,第n番目サンプリングで得た各成分のスペクトル分布SD−ICA1n,SD−ICA2n,SD−ICA3nそれぞれとの重なり率Rpqを計算して,最も高い値となるスペクトル分布を特定する。ここで,スペクトル分布SD−ICA1n−1について,SD−ICA3nとの重なり率Rpqが最も高い値であったとする。独立信号ソート部15は,スペクトル分布SD−ICA1n−1とSD−ICA3nとをペアリングする。独立信号ソート部15は,同様に,SD−ICA2n−1,SD−ICA3n−1についても重なり率Rpqが高い第n番目サンプリング時のスペクトル分布を特定して,ペアリングする。
【0052】
さらに,独立信号ソート部15は,ペアリングをもとに第n番目サンプリング時のスペクトル分布の順序を並べ替える。これにより,図7(C)に示すように,第n番目サンプリングで得た成分のスペクトル分布の並びが,SD−ICA3n,SD−ICA1n,SD−ICA2nの順に並び替えられる。
【0053】
よって,図7(C)に示すように,特定の独立信号(心拍信号)について,第n−1番目サンプリング時の第3成分(ICA3n−1),第n番目サンプリング時の第2成分(ICA2n)を特定することができる。
【0054】
心拍数・呼吸数検出部16は,独立信号のスペクトル分布から,心拍または呼吸に起因するピーク周波数を特定して,心拍数または呼吸数を検出する手段である。
【0055】
画像データ2から抽出した顔領域から独立信号の成分を求める処理を一定時間繰り返して独立信号のスペクトル分布を求めていくと,心拍信号のピーク周波数は,ピーク値の大きさや周波数値に変動はあるものの,周波数軸上のほぼ同一位置に出現する。一方,ノイズに起因するピーク周波数は,時間経過と共にランダムに出現と消滅とを繰り返す。
【0056】
そこで,心拍数・呼吸数検出部16は,時間経過に伴うスペクトル分布のピーク周波数の遷移を粒子フィルタによって追跡し,適当な時間範囲の間に出現する尤度の最も高いピーク周波数を心拍信号であると推定する。
【0057】
粒子フィルタは,粒子の分布を尤度(=適応度)に応じて変更することによって,パラメータを推定する手法の1つである。一例として,最適解を求めるためにモンテカルロ法を用いる。粒子フィルタのアルゴリズムは,粒子の配置,移動予測,重み付け,状態推定からなる。粒子の配置では,粒子を所定の範囲に配置し,粒子の移動予測では,粒子を状態方程式にもとづいて移動させる。重み付けでは,現在の観測と粒子の状態をもとに,粒子の尤度(適用度)を計算して,重み付けを行う。すなわち,重み付けは,確率的な尤度の最大化であり,粒子の分布は確率密度を示す。 状態推定では,粒子の分布をもとに現在の状態を推定する。
【0058】
心拍数・呼吸数検出部16は,粒子フィルタによって,顔領域から分離された各独立信号のスペクトル分布からピーク周波数の検出を行い,一定時間経過後にピーク周波数の周波数値軸上での変動が一定の範囲内の位置に収束するような独立信号を含むスペクトル分布(ピーク周波数が一定の周波数値内となるようなスペクトル分布)に対する検出処理のみを続行し,その他の独立信号のスペクトル分布に対する検出処理を停止する。
【0059】
具体的には,心拍数・呼吸数検出部16は,以下の式(6)により,第n番目(現)サンプリングと一定時間前の第m番目サンプリング時とのピーク周波数差の最大値fDmaxおよび最小値fDminをもとに,その成分のピーク周波数の周波数値が収束している独立信号の成分を決定する。
【0060】
fDmax=max(fn−m,fn−m+1,…,fn)
fDmin=min(fn−m,fn−m+1,…,fn)
|fDmax−fDmin|<Fth ……式(6)
式(6)において,
max()は,カッコ()内の大きい値を出力する関数,
min()は,カッコ()内の小さい値を出力する関数,
Fthは,閾値
を表す。
【0061】
これにより,心拍数・呼吸数検出部16は,独立成分分析部14によって分離された複数の独立成分の中から,着目する信号(ここでは,心拍信号)が含まれる独立成分を特定することができ,さらに,後述する処理により,特定した独立成分のスペクトル分布から心拍信号を検出して心拍数を推定することが可能となる。
【0062】
図8は,粒子フィルタによる心拍信号の周波数の検出処理を説明するための図である。
【0063】
図8(A)は,第n−1番目サンプリング時に得られた,ある独立成分のスペクトル分布を示す図である。図8(A)に示すスペクトル分布では,心拍数・呼吸数検出部16は,着目区間uにおいてピーク周波数(心拍信号の周波数)を検出して,検出したピーク周波数が心拍信号の周波数であると推定している。
【0064】
図8(B)は,粒子フィルタの粒子配置例を示す図である。心拍数・呼吸数検出部16は,図8(A)に示すスペクトル分布においてピーク周波数を検出している場合に,図8(B)の上部に示すように,粒子フィルタの粒子を配置済みであるとする。
【0065】
図8(C)は,第n番目サンプリングにおけるスペクトル分布を示す図である。心拍数・呼吸数検出部16は,図8(C)に示す第n番目サンプリングにおけるスペクトル分布から,ピーク周波数(心拍信号の周波数)を検出する。
【0066】
心拍数・呼吸数検出部16は,図8(B)の上部に示すように,第n−1番目サンプリングにおけるスペクトル分布のピーク周波数の位置に配置されている粒子フィルタの粒子1個を選択し,同粒子の周波数軸上の位置を中心とする着目区間uを決定する(図8(A)参照)。次に,心拍数・呼吸数検出部16は,図8(B)の下部に示すように,正規乱数に従って粒子の遷移先を決定する。
【0067】
心拍数・呼吸数検出部16は,遷移先の粒子の位置を中心とする切り出し区間vを,第n番目サンプリングのスペクトル分布上で設定する。そして,心拍数・呼吸数検出部16は,図8(A)に示す第n−1番目サンプリングにおけるスペクトル分布でのピーク周波数から定めた着目区間uと,図8(C)に示す第n番目サンプリングにおけるスペクトル分布でのピーク周波数から定めた切り出し区間vとに含まれるスペクトル波形を,図8(D)に示すようにそれぞれ抽出し,抽出した波形同士の類似度を算出する。
【0068】
抽出した波形の類似度の算出方法は,独立信号ソート部15が実行する類似度算出手法と同一の処理を実行する。心拍数・呼吸数検出部16は,求めた類似度を,遷移先の粒子の尤度とする。第a個目の粒子の尤度(a)Ruvは,以下の式(7)で算出される。
【0069】
【数4】
【0070】
心拍数・呼吸数検出部16は,全粒子(個数A)について同じ処理を繰り返し,全ての粒子について尤度(a)Ruvを求める。
【0071】
そして,心拍数・呼吸数検出部16は,全ての粒子の尤度の総和が1になるように正規化し,各粒子の尤度(a)Ruvを,重み(a)wへ変換する。以下の式(8)により,各粒子の周波数軸上の位置と重みから,重み付き平均Ftを求める。
【0072】
【数5】
【0073】
式(8)において,
(a)wは,第a個目の粒子の重み,
(a)fは,第a個目の粒子の遷移先の周波数(心拍数),
fminは,心拍数の下限,
fmaxは,心拍数の上限
を表す。
【0074】
心拍数・呼吸数検出部16は,式(8)で求めた重み付平均Ftを,第n番目(現)サンプリングにおける心拍信号の周波数の推定値とする。
【0075】
最後に,心拍数・呼吸数検出部16は,第n+1番目(次)サンプリング時に使用する粒子フィルタの粒子の配置を決定する。粒子の重みと全粒子数Aを用いて粒子数を,以下の式(9)で与える。
【0076】
(a)n=N・(a)w …… 式(9)
式(9)において,心拍数・呼吸数検出部16は,粒子の尤度が大きい順に上記の式を用いて粒子数を増加させる。または,心拍数・呼吸数検出部16は,この処理を合計粒子数がA個になるまで繰り返し,もし,得られた粒子の個数がA個以下の場合には,A個になるまで粒子を発生させる。
【0077】
以上の粒子フィルタの処理によって,第n+1番目(次)サンプリング時には,粒子フィルタの粒子が,現状態のピーク周波数(心拍信号の周波数)付近に多く配置されて存在することになる。したがって,次サンプリングにおいても,粒子フィルタの粒子が多数の粒子が存在する心拍信号周波数付近から遷移するので,心拍数・呼吸数検出部16は,着目している周波数を高精度に追跡することができる。
【0078】
尤度初期値関数記憶部17は,心拍数・呼吸数検出部16の粒子フィルタの尤度初期値関数を,検出対象となるユーザまたは画像データの撮像時間帯に対応づけて保持する記憶手段である。本例では,尤度初期値関数記憶部17は,例えば,第1記憶部または第2記憶部であり,尤度初期値関数テーブルとして実施される。
【0079】
尤度関数設定部18は,検出対象となる画像データに撮像されているユーザまたは撮像時間帯をもとに,尤度初期値関数記憶部17から尤度初期値関数を選択して粒子フィルタに設定する手段である。
【0080】
なお,尤度初期値関数記憶部17により,ユーザ別に尤度初期値関数が設定される場合には,予め,ユーザの識別情報と,その顔領域の特徴情報とが対応づけられて保持されているものとする。
【0081】
尤度初期値関数記憶部17を備えて,検出対象のユーザまたは撮像時間帯に応じた尤度初期値関数を粒子フィルタに与えることによって,心拍信号のピーク周波数を特定するときの検出精度を向上させることができる。
【0082】
図9は,尤度初期値関数による粒子フィルタの粒子配置の概念を示す図である。
【0083】
図9(A)は,尤度初期値関数が特に指定されない場合の粒子フィルタの粒子配置の概念を示す図である。
【0084】
心拍数・呼吸数検出部16は,処理開始時には,スペクトル分布においてピーク周波数の出現位置が不明であるため,図9(A)に示すように,粒子フィルタの処理の初期状態として,粒子を周波数軸上に均一に配置する。
【0085】
図9(B)は,ユーザ別に尤度初期値関数を設定する場合の尤度初期値関数記憶部17を概念的に示す図である。
【0086】
尤度初期値関数記憶部17では,ユーザの識別情報と,そのユーザに設定されている尤度関数の初期値とが対応づけて記憶されている。
【0087】
検出対象のユーザ別に尤度初期値関数が設定されている場合は,顔認識処理部12は,
入力された画像データ2から顔領域を検出し,その顔領域から検出対象となっているユーザ(識別情報)を特定する。そして,尤度関数設定部18は,尤度初期値関数記憶部17から,特定されたユーザの識別情報に対応する尤度初期値関数を選択し,粒子フィルタに与える尤度関数を決定する。
【0088】
図9(C)は,ユーザ別および時間帯別に尤度初期値関数を設定する場合の尤度初期値関数記憶部17を概念的に示す図である。
【0089】
図9(C)に示す尤度初期値関数記憶部17では,ユーザの識別情報と時間帯に対応付けて尤度関数の初期値が記憶されている。ここでは,午前,午後,夜間の3時間帯に区分されているが,この例に限らず,より細かい時間帯に区分されていてもよい。
【0090】
検出対象のユーザ別および画像データが撮像された時間帯別に尤度初期値関数が設定されている場合は,顔認識処理部12が,画像データ2から検出した顔領域をもとにユーザ(識別情報)を特定し,尤度関数設定部18が,時間帯を以下のようにして決定する。
【0091】
尤度関数設定部18は,光波長成分取得部11が,画像データ2がカメラなどによってリアルタイムに測定されているものである場合には測定中の時刻をもとに時間帯を決定し,画像データ2がメディアで取得されているものである場合には画像データ2に付加されている撮像時刻をもとに時間帯を決定して,ユーザの識別情報と時間帯とに対応する尤度初期値関数を選択する。
【0092】
図10は,心拍数・呼吸数検出装置1の心拍数推定処理の処理フロー図である。
【0093】
光波長成分取得部11は,カメラなどで撮像された画像データ2を入力する(ステップS1)。次に,顔認識処理部12は,顔認識処理により,入力された画像データ2のサンプリングフレームから顔領域(矩形領域)を検出する(ステップS2)。そして,RGB平均値算出部13は,検出された顔領域内のRGB成分各々の平均値を算出する(ステップS3)。
【0094】
独立成分分析部14は,RGB成分の平均値に独立成分分析(ICA)を適用して,3個の独立信号(成分)を算出する(ステップS4)。次に独立信号ソート部15は,独立成分分析で求めた3個の独立信号のスペクトル分布を算出する(ステップS5)。さらに,独立信号ソート部15は,前サンプリング(第n−1番目サンプリング)と現サンプリング(第n番目サンプリング)の3個の独立信号の間で,それぞれのスペクトル分布の類似度を求め,類似度が最も高いもの同士でペアリングし,独立信号のスペクトル分布を区分化する(ステップS6)。
【0095】
心拍数・呼吸数検出部16は,区分化されたスペクトル分布ごとに,粒子フィルタでピーク周波数をトラッキングし(ステップS7),ピーク周波数の周波数値が収束したものを特定する(ステップS8)。さらに,心拍数・呼吸数検出部16は,特定した独立信号のスペクトル分布でのピーク周波数の周波数値をもとに心拍数を推定し,出力する(ステップS9)。
【0096】
図11は,心拍数・呼吸数検出装置1の尤度初期値関数設定処理の処理フロー図である。
【0097】
顔認識処理部12は,入力された画像データ2のサンプリングフレームから検出した顔領域(矩形領域)をもとに,ユーザID(識別情報)を取得する(ステップS10)。尤度関数設定部18は,尤度初期値関数記憶部17から該当するユーザIDの尤度初期値関数を読み込み(ステップS11),心拍数・呼吸数検出部16の粒子フィルタの初期状態として,読み込んだ尤度初期値関数を設定する(ステップS12)。
【0098】
以上の実施例として,心拍数・呼吸数検出装置1により心拍数を検出する場合の処理を説明したが,心拍数・呼吸数検出装置1は,心拍数の検出の処理と同様の処理によって呼吸数を検出することも可能である。
【0099】
また,心拍数・呼吸数検出装置1は,CPUおよびメモリ等を有するハードウェアとソフトウェアプログラムとを備えるコンピュータ・システム,または,専用ハードウェアによって実現することができる。すなわち,心拍数・呼吸数検出装置1は,演算装置(CPU),一時記憶装置(DRAM,フラッシュメモリ等)および永続性記憶装置(HDD,フラッシュメモリ等)を有し,外部とデータの入出力をするコンピュータによって実施することができる。
【0100】
また,心拍数・呼吸数検出装置1は,このコンピュータが実行可能なプログラムによっても実施することができる。この場合に,心拍数・呼吸数検出装置1が有すべき機能の処理内容を記述したプログラムが提供される。提供されたプログラムを上記コンピュータが実行することによって,上記説明した心拍数・呼吸数検出装置1の処理機能がコンピュータ上で実現される。なお,上記コンピュータは,可搬型記録媒体から直接プログラムを読み取り,そのプログラムに従った処理を実行することもできる。さらに,上記プログラムは,コンピュータで読み取り可能な記録媒体に記録しておくことができる。
【0101】
以上説明したように,開示する心拍数・呼吸数検出装置1によれば,以下のような効果を奏する。
【0102】
(1) 複数の信号および各信号のスペクトル分布の中から,心拍信号や呼吸信号に起因するピーク周波数を特定し,心拍数や呼吸数を精度よく検出することができる。
【0103】
(2) カラー画像の撮影可能な小型カメラによる画像データ2の取得が可能であり,検出対象者に非接触にデータを取得できるため,装置を安価に構成することができる。
【符号の説明】
【0104】
1 心拍数・呼吸数検出装置
11 光波長成分取得部
12 顔認識処理部
13 RGB平均値算出部
14 独立成分分析部
15 独立信号ソート部
16 心拍数・呼吸数検出部
17 尤度初期値関数記憶部
18 尤度関数設定部
【技術分野】
【0001】
本発明は,人体に非接触で心拍数や呼吸数を検出する技術に関する。
【背景技術】
【0002】
カメラで撮影した顔画像などから非接触で心拍数を検出する方式が知られている。例えば,首や顔などをカメラで撮影し,設定した領域の画像濃度を連続して算出し,その濃度の時間応答波形をFFT(高速フーリエ変換)処理で求めたスペクトルの極大値を呼吸数や心拍数とする方法が知られている。また,顔画像の領域内のRGBの各平均値を算出して独立成分分析(ICA)で処理した後に,1つの成分波形(第2成分波形)の周波数分析で得たピーク周波数から心拍数を推定する方法が知られている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−218507号公報
【非特許文献】
【0004】
【非特許文献1】M.Z.Poh,D.J.McDuff, and R.W.Picard,“Non−contact, Automated Cardiac Pulse Measurements Using Video Imaging and Blind Source Separation”, Opt Express, vol.18, pp.10762−10774, 2010年5月7日
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし,従来技術では,以下のような課題があることが知られている。
【0006】
(1)カラー画像のRGBの時間応答波形を用いて周波数成分分析をした場合に,心拍信号を示す周波数成分が検出されない場合があった。
【0007】
(2)RGB波形に独立成分分析を適用すると,算出されたどの成分に心拍信号が含まれているかが不明であった。
【0008】
(3)周波数分析で求めたスペクトル分布において,どのピーク周波数が心拍信号に起因するかを自動的に特定することができなかった。
【0009】
上記の課題に鑑み,本発明は,人体に非接触で心拍・呼吸数の検出を図り,特に,画像データから抽出した時系列信号のスペクトル分布の中から,心拍信号または呼吸信号に起因するピーク周波数を特定して,心拍数や呼吸数を精度よく自動的に検出する装置を実現することを目的とする。
【課題を解決するための手段】
【0010】
本発明の一態様として開示する装置は,画像データから心拍数または呼吸数を検出する装置であって,1)検出対象者が撮像された画像データから複数の光波長成分の時系列データを取得する光波長成分取得部と,2)前記光波長成分の時系列データをもとに各光波長成分の平均値を算出する平均値算出部と,3)前記算出した平均値に独立成分分析を適用して複数の独立信号を求める独立成分分析部と,4)前記求めた複数の独立信号を,各独立信号の特徴が一貫して保持されるように並べ替えて区分化する独立信号ソート部と,5)前記区分化された独立信号のスペクトル分布に含まれる複数のピーク周波数の中から,一定の時間経過後に周波数値の変動が一定の範囲内に収まるピーク周波数を含む独立信号を特定して,心拍信号または呼吸信号に起因するピーク周波数を含む独立信号とする心拍数・呼吸数検出部とを備える。
【発明の効果】
【0011】
開示される装置によれば,人間の顔などを撮像した画像データの光波長成分の時間応答波形から心拍信号や呼吸信号に起因するピーク周波数を特定し,心拍数や呼吸数を精度よく自動的に検出することができる。
【図面の簡単な説明】
【0012】
【図1】本発明の一態様として開示する心拍数・呼吸数検出装置の一実施例における構成例を示す図である。
【図2】一実施例において顔認識処理で抽出される顔領域例を示す図である。
【図3】一実施例において顔領域のRGB平均値に独立成分分析を適用する例を示す図である。
【図4】一実施例において連続してサンプリングした際の第n−1番目サンプリング時の光波長成分もとづく独立成分分析の結果(独立信号)とそのスペクトル分布の例を示す図である。
【図5】一実施例において連続してサンプリングした際の第n番目サンプリング時の光波長成分もとづく独立成分分析の結果(独立信号)とそのスペクトル分布の例を示す図である。
【図6】一実施例における重なり率の概念を示す図である。
【図7】一実施例における独立信号のスペクトル分布の区分化の例を示す図である。
【図8】一実施例における粒子フィルタによる心拍信号の周波数の検出処理を説明するための図である。
【図9】一実施例における尤度初期値関数による粒子フィルタの粒子配置の概念を示す図である。
【図10】一実施例における心拍数・呼吸数検出装置の心拍数推定処理の処理フロー図である。
【図11】一実施例における心拍数・呼吸数検出装置の尤度初期値関数設定処理の処理フロー図である。
【発明を実施するための形態】
【0013】
以下,本発明の一態様として開示する心拍数・呼吸数検出装置について説明する。
【0014】
図1は,本発明の一態様として開示する心拍数・呼吸数検出装置の一実施例における構成例を示す図である。
【0015】
心拍数・呼吸数検出装置1は,対象者の顔を含む画像データ2の光波長成分の各成分の時系列データを用いて,信号源である心拍信号または呼吸信号を特定して,対象者の心拍数または呼吸数を自動的に検出する。そのため,心拍数・呼吸数検出装置1は,光波長成分取得部11,顔認識処理部12,RGB平均値算出部13,独立成分分析(ICA)部14,独立信号ソート部15,心拍数・呼吸数検出部16,尤度初期値関数記憶部17,尤度関数設定部18を備える。
【0016】
光波長成分取得部11は,カメラなどで検出対象者が撮影された画像データ2を入力し,画像データ2の複数の光波長成分の時系列データを取得する手段である。
【0017】
光波長成分取得部11は,ビデオカメラなどから出力される画像データ2を入力する。なお,画像データ2を入力するデバイスはカメラ以外でもよく,また,画像データ2は,ビデオ,DVDなどのメデイアやハードディスク上に格納されている動画ファイルから切り出した画像データであってもよい。
【0018】
画像データ2は,例えば,横320画素×縦240画素の矩形で与えられる。1つの画素は,明るさの階調値(輝度)で与えられ,例えば,整数i,jで示される座標(i,j)の画素の輝度(I)の階調値は,8bitのディジタル値I(i,j)などで与えられる。画像データ2がカラー画像である場合には,1つの画素は,赤成分(R),緑成分(G),青成分(B)の階調値で与えられ,例えば,整数i,jで示される座標(i,j)の画素の赤成分(R),緑成分(G),青成分(B)の階調値は,それぞれ,ディジタル値R(i,j),G(i,j),B(i,j)などで与えられる。
【0019】
なお,画像データ2の階調値は,RGBの組み合わせ,またはRGB値を変換して求まる他の表色系(HSV表色系,YUV表色系など)を使用してもよい。
【0020】
顔認識処理部12は,光波長成分取得部11によって取得された画像データ2に含まれている人の顔の位置や大きさを検出して,顔を含む顔領域を抽出する手段である。
【0021】
顔認識処理部12は,既知の顔認識処理を実行するものであり,特に1つの顔認識処理に限定されない。既知の顔認識処理では,一般的に,画像データ中に含まれる顔の位置と大きさを検出し,検出した顔の領域を矩形で抽出する。
【0022】
図2は,顔認識処理で抽出される顔領域例を示す図である。
【0023】
画像データ2から顔領域として抽出される矩形は,例えば,図2に示すように,4個の頂点座標で表現される。例えば,顔領域は,{(i1,j1),(i1,j2),(i2,j1),(i2,j2)}と表される。
【0024】
RGB平均値算出部13は,画像データから検出された顔領域の赤成分(R),緑成分(G),青成分(B)の各色成分について平均値を算出する手段である。
RGB平均値算出部13は,例えば以下の式(1)〜(3)を用いて平均値を算出する。
【0025】
【数1】
【0026】
式(1)〜(3)において,Aは顔領域であり,Nは顔領域中の画素数を表し,Aのとる値は,i1≦i<i2,j1≦j<j2であり,Nのとる値は,(i2−i1)×(j2−j1)である。
【0027】
独立成分分析部14は,RGB平均値算出部13によって得られたRGB平均値の時間応答波形に独立成分分析(ICA)を適用して独立信号を求める手段である。
【0028】
独立成分分析部14が実行する独立成分分析は,多変量解析の一手法であって,情報源となる信号が独立であると仮定し,複数の観測値の信号から,信号源を独立な成分に分離して抽出する計算手法である。独立成分分析の中で,例えばブラインド信号分離法では,次のように定式化される。
【0029】
時刻tにおけるn個の信号源s(t)=[s1(t),s2(t),…,sn(t)]Tは,未知とする。また,観測値x(t)が,m×nの未知の混合行列Aを用いて,信号源s(t)から生成されるものとする。すなわち,
x(t)=[x1(t),x2(t),…,xm(t)]T
x(t)=As(t)
とする。時刻t=1,2,…において,観測値の系列x(1),x(2),…が観測された場合に,信号源の系列s(1),s(2),…を推定する。
【0030】
すなわち,独立成分分析では,信号源の独立性を仮定し,混合行列の推定値A'を用いて,分離信号yを求める。推定分離信号y'は,以下の式(4)で与えられる。
【0031】
【数2】
【0032】
式(4)において,行列A'を正しく推定できれば,A'−1Aは単位行列となるため,信号源sと一致する。
【0033】
図3は,画像データから抽出された顔領域のRGB平均値に独立成分分析を適用する例を示す図である。
【0034】
図3(A)に示すR,G,Bの各データは,画像データから検出された顔領域の3つの光波長成分,すなわちR成分,G成分,B成分それぞれの平均値の時系列データを示す。
【0035】
図3(B)は,図3(A)に示す3つの成分(R成分,G成分,B成分)の平均値の時系列データを観測値として独立成分分析を適用した場合に得られる3個の独立信号の例である。図3(B)に示すICA1,ICA2,ICA3の各データは,図3(A)に示す光波長成分の時系列データに対応する,独立信号の第1成分,第2成分,第3成分の時系列データである。なお,図3(B)に示す例では,独立信号の第3成分(ICA3)に心拍信号が分離されているとする。
【0036】
独立信号ソート部15は,検出対象である心拍信号または呼吸信号が,常に同一の独立信号に含まれるように,独立成分分析で分離された独立信号をその特徴の一貫性が保たれるよう並べ替えて区分化する手段である。
【0037】
独立信号分析では,分離された独立信号の出現する順番が不定となる性質がある。すなわち,心拍信号を最も多く含むと推定される独立信号が,独立成分分析により分離された複数の成分(第1成分〜第3成分)のいずれであるかを特定することができない。そこで,独立信号ソート部15は,独立成分分析で得られた独立信号の各成分(第1成分〜第3成分)をスペクトル分析してスペクトル分布を求め,各成分のスペクトル分布間の波形類似度をもとに,特定の信号(心拍信号)が含まれる独立信号の成分が常に同じグループに属するように,分離された独立信号のスペクトル分布を並び替える処理を行う。
【0038】
図4および図5は,連続してサンプリングした際の第n−1番目および第n番目のサンプリング時の光波長成分にもとづく独立成分分析の結果(独立信号)とそのスペクトル分布の例を示す図である。
【0039】
図4(A)に示すデータは,第n−1番目(現サンプリングの1つ前のサンプリング)の光波長成分に対する独立成分分析の適用により分離された独立信号ICA1n−1,ICA2n−1,ICA3n−1である。図4(B)に示すデータは,独立信号ICA1n−1,ICA2n−1,ICA3n−1それぞれのスペクトル分布SD−ICA1n−1,SD−ICA2n−1,SD−ICA3n−1である。図5(A)に示すデータは,同じく,第n番目(現サンプリング)の光波長成分に対する独立成分分析の適用により分離された独立信号例ICA1n,ICA2n,ICA3nである。図5(B)に示すデータは,独立信号ICA1n,ICA2n,ICA3nそれぞれのスペクトル分布SD−ICA1n,SD−ICA2n,SD−ICA3nである。
【0040】
独立信号ソート部15は,連続してサンプリングされた独立信号を取り出して,現サンプリング時とその1つ前のサンプリング時の独立信号のスペクトル分布を求め,求めたスペクトル分布同士の波形類似度を求める。
【0041】
波形類似度は,以下に示す式(5)により重なり率Rpqをもとに算出される。
【0042】
【数3】
【0043】
式(5)において,
Sp(n−1)は,第n−1番目サンプリング時の第p成分のスペクトル分布,
Sq(n)は,第n番目サンプリング時の第q成分のスペクトル分布,
max()は,カッコ()内の大きい値を出力する関数,
min()は,カッコ()内の小さい値を出力する関数
を表す。
【0044】
図6は,上記の重なり率の概念を示す図である。
【0045】
重なり率Rpqは,図6に示すように,2つの波形が重なった部分の面積で与えられ,形状が類似していると,その値が1に近くなる。
【0046】
独立信号ソート部15は,第n−1番目サンプリングで得た各成分のスペクトル分布の波形と第n番目サンプリングで得た各成分のスペクトル分布の波形との重なり率Rpqを算出し,重なり率Rpqの値が高いスペクトル分布同士をペアリングして,n番目サンプリング時のスペクトル分布を並び替える。
【0047】
図7は,独立信号のスペクトル分布の区分化の例を示す図である。
【0048】
図7(A)は,第n−1番目サンプリングで得た各成分のスペクトル分布SD−ICA1n−1,SD−ICA2n−1,SD−ICA3n−1の出力例を示す図であり,図7(B)は,第n番目サンプリングで得た各成分のスペクトル分布SD−ICA1n,SD−ICA2n,SD−ICA3nの出力例を示す図である。
【0049】
図7(A)および(B)に示すように,ある独立信号が,第n−1番目サンプリングによる光波長成分の独立成分分析では第3成分(ICA3n−1)に表れ,第n番目サンプリングによる光波長成分の独立成分分析では第2成分(ICA2n)に表れる場合がある。したがって,心拍信号が,第n−1番目サンプリングでは第3成分(ICA3n−1)に分離され,第n番目サンプリングでは第2成分(ICA2n)として分離されているため,特定の独立信号(ここでは,心拍信号)を扱いたい場合に,何番目に出力された独立信号に着目すればよいかを自動的に決めることができなかった。
【0050】
独立信号ソート部15は,各独立信号のスペクトル分布を求め,求めたスペクトル分布の波形類似度を算出して,よく類似する同士を対応づけることによって独立成分分析の結果を並べ替え,波形として表れる独立信号の特徴が一貫して保持されるように,スペクトル分布を区分けする。
【0051】
独立信号ソート部15は,例えば,第n−1番目サンプリングで得た成分ICA1n−1のスペクトル分布SD−ICA1n−1と,第n番目サンプリングで得た各成分のスペクトル分布SD−ICA1n,SD−ICA2n,SD−ICA3nそれぞれとの重なり率Rpqを計算して,最も高い値となるスペクトル分布を特定する。ここで,スペクトル分布SD−ICA1n−1について,SD−ICA3nとの重なり率Rpqが最も高い値であったとする。独立信号ソート部15は,スペクトル分布SD−ICA1n−1とSD−ICA3nとをペアリングする。独立信号ソート部15は,同様に,SD−ICA2n−1,SD−ICA3n−1についても重なり率Rpqが高い第n番目サンプリング時のスペクトル分布を特定して,ペアリングする。
【0052】
さらに,独立信号ソート部15は,ペアリングをもとに第n番目サンプリング時のスペクトル分布の順序を並べ替える。これにより,図7(C)に示すように,第n番目サンプリングで得た成分のスペクトル分布の並びが,SD−ICA3n,SD−ICA1n,SD−ICA2nの順に並び替えられる。
【0053】
よって,図7(C)に示すように,特定の独立信号(心拍信号)について,第n−1番目サンプリング時の第3成分(ICA3n−1),第n番目サンプリング時の第2成分(ICA2n)を特定することができる。
【0054】
心拍数・呼吸数検出部16は,独立信号のスペクトル分布から,心拍または呼吸に起因するピーク周波数を特定して,心拍数または呼吸数を検出する手段である。
【0055】
画像データ2から抽出した顔領域から独立信号の成分を求める処理を一定時間繰り返して独立信号のスペクトル分布を求めていくと,心拍信号のピーク周波数は,ピーク値の大きさや周波数値に変動はあるものの,周波数軸上のほぼ同一位置に出現する。一方,ノイズに起因するピーク周波数は,時間経過と共にランダムに出現と消滅とを繰り返す。
【0056】
そこで,心拍数・呼吸数検出部16は,時間経過に伴うスペクトル分布のピーク周波数の遷移を粒子フィルタによって追跡し,適当な時間範囲の間に出現する尤度の最も高いピーク周波数を心拍信号であると推定する。
【0057】
粒子フィルタは,粒子の分布を尤度(=適応度)に応じて変更することによって,パラメータを推定する手法の1つである。一例として,最適解を求めるためにモンテカルロ法を用いる。粒子フィルタのアルゴリズムは,粒子の配置,移動予測,重み付け,状態推定からなる。粒子の配置では,粒子を所定の範囲に配置し,粒子の移動予測では,粒子を状態方程式にもとづいて移動させる。重み付けでは,現在の観測と粒子の状態をもとに,粒子の尤度(適用度)を計算して,重み付けを行う。すなわち,重み付けは,確率的な尤度の最大化であり,粒子の分布は確率密度を示す。 状態推定では,粒子の分布をもとに現在の状態を推定する。
【0058】
心拍数・呼吸数検出部16は,粒子フィルタによって,顔領域から分離された各独立信号のスペクトル分布からピーク周波数の検出を行い,一定時間経過後にピーク周波数の周波数値軸上での変動が一定の範囲内の位置に収束するような独立信号を含むスペクトル分布(ピーク周波数が一定の周波数値内となるようなスペクトル分布)に対する検出処理のみを続行し,その他の独立信号のスペクトル分布に対する検出処理を停止する。
【0059】
具体的には,心拍数・呼吸数検出部16は,以下の式(6)により,第n番目(現)サンプリングと一定時間前の第m番目サンプリング時とのピーク周波数差の最大値fDmaxおよび最小値fDminをもとに,その成分のピーク周波数の周波数値が収束している独立信号の成分を決定する。
【0060】
fDmax=max(fn−m,fn−m+1,…,fn)
fDmin=min(fn−m,fn−m+1,…,fn)
|fDmax−fDmin|<Fth ……式(6)
式(6)において,
max()は,カッコ()内の大きい値を出力する関数,
min()は,カッコ()内の小さい値を出力する関数,
Fthは,閾値
を表す。
【0061】
これにより,心拍数・呼吸数検出部16は,独立成分分析部14によって分離された複数の独立成分の中から,着目する信号(ここでは,心拍信号)が含まれる独立成分を特定することができ,さらに,後述する処理により,特定した独立成分のスペクトル分布から心拍信号を検出して心拍数を推定することが可能となる。
【0062】
図8は,粒子フィルタによる心拍信号の周波数の検出処理を説明するための図である。
【0063】
図8(A)は,第n−1番目サンプリング時に得られた,ある独立成分のスペクトル分布を示す図である。図8(A)に示すスペクトル分布では,心拍数・呼吸数検出部16は,着目区間uにおいてピーク周波数(心拍信号の周波数)を検出して,検出したピーク周波数が心拍信号の周波数であると推定している。
【0064】
図8(B)は,粒子フィルタの粒子配置例を示す図である。心拍数・呼吸数検出部16は,図8(A)に示すスペクトル分布においてピーク周波数を検出している場合に,図8(B)の上部に示すように,粒子フィルタの粒子を配置済みであるとする。
【0065】
図8(C)は,第n番目サンプリングにおけるスペクトル分布を示す図である。心拍数・呼吸数検出部16は,図8(C)に示す第n番目サンプリングにおけるスペクトル分布から,ピーク周波数(心拍信号の周波数)を検出する。
【0066】
心拍数・呼吸数検出部16は,図8(B)の上部に示すように,第n−1番目サンプリングにおけるスペクトル分布のピーク周波数の位置に配置されている粒子フィルタの粒子1個を選択し,同粒子の周波数軸上の位置を中心とする着目区間uを決定する(図8(A)参照)。次に,心拍数・呼吸数検出部16は,図8(B)の下部に示すように,正規乱数に従って粒子の遷移先を決定する。
【0067】
心拍数・呼吸数検出部16は,遷移先の粒子の位置を中心とする切り出し区間vを,第n番目サンプリングのスペクトル分布上で設定する。そして,心拍数・呼吸数検出部16は,図8(A)に示す第n−1番目サンプリングにおけるスペクトル分布でのピーク周波数から定めた着目区間uと,図8(C)に示す第n番目サンプリングにおけるスペクトル分布でのピーク周波数から定めた切り出し区間vとに含まれるスペクトル波形を,図8(D)に示すようにそれぞれ抽出し,抽出した波形同士の類似度を算出する。
【0068】
抽出した波形の類似度の算出方法は,独立信号ソート部15が実行する類似度算出手法と同一の処理を実行する。心拍数・呼吸数検出部16は,求めた類似度を,遷移先の粒子の尤度とする。第a個目の粒子の尤度(a)Ruvは,以下の式(7)で算出される。
【0069】
【数4】
【0070】
心拍数・呼吸数検出部16は,全粒子(個数A)について同じ処理を繰り返し,全ての粒子について尤度(a)Ruvを求める。
【0071】
そして,心拍数・呼吸数検出部16は,全ての粒子の尤度の総和が1になるように正規化し,各粒子の尤度(a)Ruvを,重み(a)wへ変換する。以下の式(8)により,各粒子の周波数軸上の位置と重みから,重み付き平均Ftを求める。
【0072】
【数5】
【0073】
式(8)において,
(a)wは,第a個目の粒子の重み,
(a)fは,第a個目の粒子の遷移先の周波数(心拍数),
fminは,心拍数の下限,
fmaxは,心拍数の上限
を表す。
【0074】
心拍数・呼吸数検出部16は,式(8)で求めた重み付平均Ftを,第n番目(現)サンプリングにおける心拍信号の周波数の推定値とする。
【0075】
最後に,心拍数・呼吸数検出部16は,第n+1番目(次)サンプリング時に使用する粒子フィルタの粒子の配置を決定する。粒子の重みと全粒子数Aを用いて粒子数を,以下の式(9)で与える。
【0076】
(a)n=N・(a)w …… 式(9)
式(9)において,心拍数・呼吸数検出部16は,粒子の尤度が大きい順に上記の式を用いて粒子数を増加させる。または,心拍数・呼吸数検出部16は,この処理を合計粒子数がA個になるまで繰り返し,もし,得られた粒子の個数がA個以下の場合には,A個になるまで粒子を発生させる。
【0077】
以上の粒子フィルタの処理によって,第n+1番目(次)サンプリング時には,粒子フィルタの粒子が,現状態のピーク周波数(心拍信号の周波数)付近に多く配置されて存在することになる。したがって,次サンプリングにおいても,粒子フィルタの粒子が多数の粒子が存在する心拍信号周波数付近から遷移するので,心拍数・呼吸数検出部16は,着目している周波数を高精度に追跡することができる。
【0078】
尤度初期値関数記憶部17は,心拍数・呼吸数検出部16の粒子フィルタの尤度初期値関数を,検出対象となるユーザまたは画像データの撮像時間帯に対応づけて保持する記憶手段である。本例では,尤度初期値関数記憶部17は,例えば,第1記憶部または第2記憶部であり,尤度初期値関数テーブルとして実施される。
【0079】
尤度関数設定部18は,検出対象となる画像データに撮像されているユーザまたは撮像時間帯をもとに,尤度初期値関数記憶部17から尤度初期値関数を選択して粒子フィルタに設定する手段である。
【0080】
なお,尤度初期値関数記憶部17により,ユーザ別に尤度初期値関数が設定される場合には,予め,ユーザの識別情報と,その顔領域の特徴情報とが対応づけられて保持されているものとする。
【0081】
尤度初期値関数記憶部17を備えて,検出対象のユーザまたは撮像時間帯に応じた尤度初期値関数を粒子フィルタに与えることによって,心拍信号のピーク周波数を特定するときの検出精度を向上させることができる。
【0082】
図9は,尤度初期値関数による粒子フィルタの粒子配置の概念を示す図である。
【0083】
図9(A)は,尤度初期値関数が特に指定されない場合の粒子フィルタの粒子配置の概念を示す図である。
【0084】
心拍数・呼吸数検出部16は,処理開始時には,スペクトル分布においてピーク周波数の出現位置が不明であるため,図9(A)に示すように,粒子フィルタの処理の初期状態として,粒子を周波数軸上に均一に配置する。
【0085】
図9(B)は,ユーザ別に尤度初期値関数を設定する場合の尤度初期値関数記憶部17を概念的に示す図である。
【0086】
尤度初期値関数記憶部17では,ユーザの識別情報と,そのユーザに設定されている尤度関数の初期値とが対応づけて記憶されている。
【0087】
検出対象のユーザ別に尤度初期値関数が設定されている場合は,顔認識処理部12は,
入力された画像データ2から顔領域を検出し,その顔領域から検出対象となっているユーザ(識別情報)を特定する。そして,尤度関数設定部18は,尤度初期値関数記憶部17から,特定されたユーザの識別情報に対応する尤度初期値関数を選択し,粒子フィルタに与える尤度関数を決定する。
【0088】
図9(C)は,ユーザ別および時間帯別に尤度初期値関数を設定する場合の尤度初期値関数記憶部17を概念的に示す図である。
【0089】
図9(C)に示す尤度初期値関数記憶部17では,ユーザの識別情報と時間帯に対応付けて尤度関数の初期値が記憶されている。ここでは,午前,午後,夜間の3時間帯に区分されているが,この例に限らず,より細かい時間帯に区分されていてもよい。
【0090】
検出対象のユーザ別および画像データが撮像された時間帯別に尤度初期値関数が設定されている場合は,顔認識処理部12が,画像データ2から検出した顔領域をもとにユーザ(識別情報)を特定し,尤度関数設定部18が,時間帯を以下のようにして決定する。
【0091】
尤度関数設定部18は,光波長成分取得部11が,画像データ2がカメラなどによってリアルタイムに測定されているものである場合には測定中の時刻をもとに時間帯を決定し,画像データ2がメディアで取得されているものである場合には画像データ2に付加されている撮像時刻をもとに時間帯を決定して,ユーザの識別情報と時間帯とに対応する尤度初期値関数を選択する。
【0092】
図10は,心拍数・呼吸数検出装置1の心拍数推定処理の処理フロー図である。
【0093】
光波長成分取得部11は,カメラなどで撮像された画像データ2を入力する(ステップS1)。次に,顔認識処理部12は,顔認識処理により,入力された画像データ2のサンプリングフレームから顔領域(矩形領域)を検出する(ステップS2)。そして,RGB平均値算出部13は,検出された顔領域内のRGB成分各々の平均値を算出する(ステップS3)。
【0094】
独立成分分析部14は,RGB成分の平均値に独立成分分析(ICA)を適用して,3個の独立信号(成分)を算出する(ステップS4)。次に独立信号ソート部15は,独立成分分析で求めた3個の独立信号のスペクトル分布を算出する(ステップS5)。さらに,独立信号ソート部15は,前サンプリング(第n−1番目サンプリング)と現サンプリング(第n番目サンプリング)の3個の独立信号の間で,それぞれのスペクトル分布の類似度を求め,類似度が最も高いもの同士でペアリングし,独立信号のスペクトル分布を区分化する(ステップS6)。
【0095】
心拍数・呼吸数検出部16は,区分化されたスペクトル分布ごとに,粒子フィルタでピーク周波数をトラッキングし(ステップS7),ピーク周波数の周波数値が収束したものを特定する(ステップS8)。さらに,心拍数・呼吸数検出部16は,特定した独立信号のスペクトル分布でのピーク周波数の周波数値をもとに心拍数を推定し,出力する(ステップS9)。
【0096】
図11は,心拍数・呼吸数検出装置1の尤度初期値関数設定処理の処理フロー図である。
【0097】
顔認識処理部12は,入力された画像データ2のサンプリングフレームから検出した顔領域(矩形領域)をもとに,ユーザID(識別情報)を取得する(ステップS10)。尤度関数設定部18は,尤度初期値関数記憶部17から該当するユーザIDの尤度初期値関数を読み込み(ステップS11),心拍数・呼吸数検出部16の粒子フィルタの初期状態として,読み込んだ尤度初期値関数を設定する(ステップS12)。
【0098】
以上の実施例として,心拍数・呼吸数検出装置1により心拍数を検出する場合の処理を説明したが,心拍数・呼吸数検出装置1は,心拍数の検出の処理と同様の処理によって呼吸数を検出することも可能である。
【0099】
また,心拍数・呼吸数検出装置1は,CPUおよびメモリ等を有するハードウェアとソフトウェアプログラムとを備えるコンピュータ・システム,または,専用ハードウェアによって実現することができる。すなわち,心拍数・呼吸数検出装置1は,演算装置(CPU),一時記憶装置(DRAM,フラッシュメモリ等)および永続性記憶装置(HDD,フラッシュメモリ等)を有し,外部とデータの入出力をするコンピュータによって実施することができる。
【0100】
また,心拍数・呼吸数検出装置1は,このコンピュータが実行可能なプログラムによっても実施することができる。この場合に,心拍数・呼吸数検出装置1が有すべき機能の処理内容を記述したプログラムが提供される。提供されたプログラムを上記コンピュータが実行することによって,上記説明した心拍数・呼吸数検出装置1の処理機能がコンピュータ上で実現される。なお,上記コンピュータは,可搬型記録媒体から直接プログラムを読み取り,そのプログラムに従った処理を実行することもできる。さらに,上記プログラムは,コンピュータで読み取り可能な記録媒体に記録しておくことができる。
【0101】
以上説明したように,開示する心拍数・呼吸数検出装置1によれば,以下のような効果を奏する。
【0102】
(1) 複数の信号および各信号のスペクトル分布の中から,心拍信号や呼吸信号に起因するピーク周波数を特定し,心拍数や呼吸数を精度よく検出することができる。
【0103】
(2) カラー画像の撮影可能な小型カメラによる画像データ2の取得が可能であり,検出対象者に非接触にデータを取得できるため,装置を安価に構成することができる。
【符号の説明】
【0104】
1 心拍数・呼吸数検出装置
11 光波長成分取得部
12 顔認識処理部
13 RGB平均値算出部
14 独立成分分析部
15 独立信号ソート部
16 心拍数・呼吸数検出部
17 尤度初期値関数記憶部
18 尤度関数設定部
【特許請求の範囲】
【請求項1】
画像データから心拍数または呼吸数を検出する装置であって,
検出対象者が撮像された画像データから複数の光波長成分の時系列データを取得する光波長成分取得部と,
前記光波長成分の時系列データをもとに各光波長成分の平均値を算出する平均値算出部と,
前記算出した平均値に独立成分分析を適用して複数の独立信号を求める独立成分分析部と,
前記求めた複数の独立信号を,各独立信号の特徴が一貫して保持されるように並べ替えて区分化する独立信号ソート部と,
前記区分化された独立信号のスペクトル分布に含まれる複数のピーク周波数の中から,一定の時間経過後に周波数値の変動が一定の範囲内に収まるピーク周波数を含む独立信号を特定して,心拍信号または呼吸信号に起因するピーク周波数を含む独立信号とする心拍数・呼吸数検出部とを備える
ことを特徴とする心拍数・呼吸数検出装置。
【請求項2】
前記心拍数・呼吸数検出部が,前記特定された独立信号のスペクトル分布に含まれるピーク周波数の周波数値をもとに,前記検出対象者の心拍数または呼吸数を推定する
ことを特徴とする請求項1に記載の心拍数・呼吸数検出装置。
【請求項3】
前記独立信号ソート部が,時系列上前後に取得された前記独立信号のスペクトル分布の波形類似度を求め,波形類似度が高いスペクトル分布をペアリングして,前記求めた複数の独立信号を区分化する
ことを特徴とする請求項1または請求項2に記載の心拍数・呼吸数検出装置。
【請求項4】
前記心拍数・呼吸数検出部が,心拍信号または呼吸信号に起因するピーク周波数を特定する際に,スペクトル分布の所定の周波数値の範囲内に含まれる波形を用いる
ことを特徴とする請求項1ないし請求項3のいずれか一項に記載の心拍数・呼吸数検出装置。
【請求項5】
前記心拍数・呼吸数検出部が,前記区分化された独立信号のスペクトル分布に含まれる複数のピーク周波数の変動を粒子フィルタにより追跡し,前記粒子フィルタにおいて前記スペクトル分布における波形の重なり率を尤度とする
ことを特徴とする請求項1ないし請求項4のいずれか一項に記載の心拍数・呼吸数検出装置。
【請求項6】
尤度初期値関数をユーザに対応づけて記憶する第1記憶部を備えて,
前記心拍数・呼吸数検出部が,前記検出対象者に該当するユーザの尤度初期値関数を前記第1記憶部から選択する
ことを特徴とする請求項4または請求項5に記載の心拍数・呼吸数検出装置。
【請求項7】
尤度初期値関数を前記画像データの撮像時間帯に対応づけて記憶する第2記憶部を備えて,
前記心拍数・呼吸数検出部が,前記画像データの撮像時間帯に対応する尤度初期値関数を前記第2記憶部から選択する
ことを特徴とする請求項4ないし請求項6のいずれか一項に記載の心拍数・呼吸数検出装置。
【請求項8】
画像データから心拍数または呼吸数を検出する方法であって,
コンピュータが,
検出対象者が撮像された画像データから複数の光波長成分の時系列データを取得し,
前記光波長成分の時系列データをもとに各光波長成分の平均値を算出し,
前記算出した平均値に独立成分分析を適用して複数の独立信号を求め,
前記求めた複数の独立信号を,各独立信号の特徴が一貫して保持されるように並べ替えて区分化し,
前記区分化された独立信号のスペクトル分布に含まれる複数のピーク周波数の中から,一定の時間経過後に周波数値の変動が一定の範囲内に収まるピーク周波数を含む独立信号を特定して,心拍信号または呼吸信号に起因するピーク周波数を含む独立信号とする
ことを特徴とする心拍数・呼吸数検出方法。
【請求項9】
画像データから心拍数または呼吸数を検出するプログラムであって,
コンピュータに,
検出対象者が撮像された画像データから複数の光波長成分の時系列データを取得し,
前記光波長成分の時系列データをもとに各光波長成分の平均値を算出し,
前記算出した平均値に独立成分分析を適用して複数の独立信号を求め,
前記求めた複数の独立信号を,各独立信号の特徴が一貫して保持されるように並べ替えて区分化し,
前記区分化された独立信号のスペクトル分布に含まれる複数のピーク周波数の中から,一定の時間経過後に周波数値の変動が一定の範囲内に収まるピーク周波数を含む独立信号を特定して,心拍信号または呼吸信号に起因するピーク周波数を含む独立信号とする
処理を実行させるための心拍数・呼吸数検出プログラム。
【請求項1】
画像データから心拍数または呼吸数を検出する装置であって,
検出対象者が撮像された画像データから複数の光波長成分の時系列データを取得する光波長成分取得部と,
前記光波長成分の時系列データをもとに各光波長成分の平均値を算出する平均値算出部と,
前記算出した平均値に独立成分分析を適用して複数の独立信号を求める独立成分分析部と,
前記求めた複数の独立信号を,各独立信号の特徴が一貫して保持されるように並べ替えて区分化する独立信号ソート部と,
前記区分化された独立信号のスペクトル分布に含まれる複数のピーク周波数の中から,一定の時間経過後に周波数値の変動が一定の範囲内に収まるピーク周波数を含む独立信号を特定して,心拍信号または呼吸信号に起因するピーク周波数を含む独立信号とする心拍数・呼吸数検出部とを備える
ことを特徴とする心拍数・呼吸数検出装置。
【請求項2】
前記心拍数・呼吸数検出部が,前記特定された独立信号のスペクトル分布に含まれるピーク周波数の周波数値をもとに,前記検出対象者の心拍数または呼吸数を推定する
ことを特徴とする請求項1に記載の心拍数・呼吸数検出装置。
【請求項3】
前記独立信号ソート部が,時系列上前後に取得された前記独立信号のスペクトル分布の波形類似度を求め,波形類似度が高いスペクトル分布をペアリングして,前記求めた複数の独立信号を区分化する
ことを特徴とする請求項1または請求項2に記載の心拍数・呼吸数検出装置。
【請求項4】
前記心拍数・呼吸数検出部が,心拍信号または呼吸信号に起因するピーク周波数を特定する際に,スペクトル分布の所定の周波数値の範囲内に含まれる波形を用いる
ことを特徴とする請求項1ないし請求項3のいずれか一項に記載の心拍数・呼吸数検出装置。
【請求項5】
前記心拍数・呼吸数検出部が,前記区分化された独立信号のスペクトル分布に含まれる複数のピーク周波数の変動を粒子フィルタにより追跡し,前記粒子フィルタにおいて前記スペクトル分布における波形の重なり率を尤度とする
ことを特徴とする請求項1ないし請求項4のいずれか一項に記載の心拍数・呼吸数検出装置。
【請求項6】
尤度初期値関数をユーザに対応づけて記憶する第1記憶部を備えて,
前記心拍数・呼吸数検出部が,前記検出対象者に該当するユーザの尤度初期値関数を前記第1記憶部から選択する
ことを特徴とする請求項4または請求項5に記載の心拍数・呼吸数検出装置。
【請求項7】
尤度初期値関数を前記画像データの撮像時間帯に対応づけて記憶する第2記憶部を備えて,
前記心拍数・呼吸数検出部が,前記画像データの撮像時間帯に対応する尤度初期値関数を前記第2記憶部から選択する
ことを特徴とする請求項4ないし請求項6のいずれか一項に記載の心拍数・呼吸数検出装置。
【請求項8】
画像データから心拍数または呼吸数を検出する方法であって,
コンピュータが,
検出対象者が撮像された画像データから複数の光波長成分の時系列データを取得し,
前記光波長成分の時系列データをもとに各光波長成分の平均値を算出し,
前記算出した平均値に独立成分分析を適用して複数の独立信号を求め,
前記求めた複数の独立信号を,各独立信号の特徴が一貫して保持されるように並べ替えて区分化し,
前記区分化された独立信号のスペクトル分布に含まれる複数のピーク周波数の中から,一定の時間経過後に周波数値の変動が一定の範囲内に収まるピーク周波数を含む独立信号を特定して,心拍信号または呼吸信号に起因するピーク周波数を含む独立信号とする
ことを特徴とする心拍数・呼吸数検出方法。
【請求項9】
画像データから心拍数または呼吸数を検出するプログラムであって,
コンピュータに,
検出対象者が撮像された画像データから複数の光波長成分の時系列データを取得し,
前記光波長成分の時系列データをもとに各光波長成分の平均値を算出し,
前記算出した平均値に独立成分分析を適用して複数の独立信号を求め,
前記求めた複数の独立信号を,各独立信号の特徴が一貫して保持されるように並べ替えて区分化し,
前記区分化された独立信号のスペクトル分布に含まれる複数のピーク周波数の中から,一定の時間経過後に周波数値の変動が一定の範囲内に収まるピーク周波数を含む独立信号を特定して,心拍信号または呼吸信号に起因するピーク周波数を含む独立信号とする
処理を実行させるための心拍数・呼吸数検出プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2012−239661(P2012−239661A)
【公開日】平成24年12月10日(2012.12.10)
【国際特許分類】
【出願番号】特願2011−113001(P2011−113001)
【出願日】平成23年5月20日(2011.5.20)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成24年12月10日(2012.12.10)
【国際特許分類】
【出願日】平成23年5月20日(2011.5.20)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]