以下、図面を参照しながら、本発明の実施形態を詳細に説明する。
<<第1の実施形態>>
まず、本発明の第1の実施形態について説明する。第1の実施形態に係る脈波検出装置11は、脈波を検出する装置である。脈波を検出するとは、具体的には、脈波により変化する信号を、検出することである。以下、脈波を検出することを、脈波検出とも呼ぶ。
脈波検出装置11は、脈波を検出することにより、脈波の情報を導出する。脈波の情報とは、脈波により変化する信号の時系列データ、および脈拍数を含む。
[構成]
図1は、脈波検出装置11の構成を示すブロック図である。第1の実施形態では、脈波検出装置11と撮像装置30とが通信可能に接続される。脈波検出装置11は、撮像装置30により撮像された人物の脈波を検出する。また、脈波検出装置11は、検出された脈波を用いて、脈拍数を推定する。脈波検出装置11は、記憶部110、顔検出部111、信頼領域設定部112、脈波情報導出部113、および出力部114を含む。
<撮像装置30>
撮像装置30は、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等の撮像素子を搭載する撮像装置である。例えば、撮像装置30は、R(Red)、G(Green)、およびB(Blue)等の光を検出する複数の受光素子を搭載する。撮像装置30は、既存の携帯端末装置に実装されているインカメラおよびアウトカメラのように、脈波検出装置11に一体となって搭載されているカメラでもよい。あるいは、撮像装置30は、外部端子を介して脈波検出装置11に接続された、デジタルカメラまたはウェブカメラ等でもよい。
撮像装置30は、脈波の検出の対象となる人物の顔の動画像を撮像する。撮像装置30は、所定のフレームレートで対象の人物を一定時間(例えば数秒間または数分間)、連続的に撮像することで、動画像を取得する。以下、撮像により得られる、時間的に連続した複数の顔画像のデータを、動画像データと称す。
動画像データの各フレームは、一例として、横640画素×縦480画素の矩形である。フレームに含まれる各画素は、色の輝度の情報を有する。輝度の情報は、階調値で与えられる。例えば、動画像データがグレースケールの動画像である場合は、画素は、輝度を表す階調値を有する。動画像データがカラーの動画像である場合は、画素は、例えば三原色であるR、G、およびBのそれぞれの成分の輝度の階調値を有する。階調値は、例えば、8bitの情報で表される。なお、画素の階調値は、RGB表色系に基づくRGB値ではなく、RGB値と互いに変換可能な関係にある、他の表色系(HSV表色系,YUV表色系等)に基づく値により、表されてもよい。
以下の説明において、画素に与えられた各色の輝度の階調値を、「画素値」とも称する。色の階調値は、輝度値とも呼ばれることがある。
なお、変更例として、撮像装置30は、動画像データを脈波検出装置11に出力する、撮像装置以外のデバイスに置き換えられてもよい。上記デバイスは、例えば、動画像データを記憶する記憶媒体から動画像データを読み取る読み取り装置、または記憶装置等である。また、他の変更例として、脈波検出装置11は、脈波検出装置11に備わるドライブによって動画像データを記憶媒体から読み出してもよい。あるいは、脈波検出装置11は、脈波検出装置11内の記憶領域において記憶されている動画像データを読み出してもよい。
<記憶部110>
記憶部110は、脈波検出装置11が用いる情報、および、脈波検出装置11による処理の結果を記憶する。以下の説明では、記憶部110が記憶するデータの形式として表形式が例示されるが、記憶部110が記憶するデータの形式は表形式に限られない。
記憶部110は、例えば、撮像装置30から出力された動画像データを記憶してもよい。
<顔検出部111>
顔検出部111は、撮像装置30から動画像データを入力として受け付ける。顔検出部111は、顔領域検出部1111と特徴点検出部1112とを含む。
顔領域検出部1111は、動画像データの各フレームに対して顔検出を行う。顔検出とは、動画像データにおける人の顔の領域(「顔領域」)を抽出することである。顔検出には、既存の顔検出の技術が用いられればよい。
特徴点検出部1112は、顔検出によって検出された顔領域に対して顔特徴点検出を行う。顔特徴点検出とは、顔領域から顔の特徴点(「顔特徴点」)を検出することである。例えば、特徴点検出部1112は、顔特徴点として、目、鼻、口、及び、顔の輪郭を構成する点等を検出する。なお、顔特徴点検出には、既存の顔特徴点検出の手法が用いられればよい。顔特徴点検出の手法としては、例えば、Haar−like特徴の検出とAdaBoost(Adaptive Boosting)による学習とを組み合わせた検出手法が挙げられる。特徴点検出部1112は、顔領域からN点(Nは1以上の整数)の顔特徴点の座標(un,vn)(ただし、n=1,2,・・・,N)を検出する。
特徴点検出部1112は、検出された顔特徴点を、それぞれ、顔のどの部分に相当する点であるかを示す情報に関連づけてもよい。
なお、変更例として、顔検出部111は、顔検出および顔特徴点検出を、所定数のフレームごとに行ってもよい。すなわち、顔検出および顔特徴点検出が行われないフレームがあってもよい。その場合、顔検出部111は、そのフレームにおける顔特徴点の座標を、例えば、そのフレームの前および/または後に撮像された、顔特徴点検出が行われたフレームにおける顔特徴点の情報を用いて決定すればよい。例えば、フレームF2が、顔特徴点検出が行われないフレームであり、フレームF1が、フレームF2の前に撮像された、顔特徴点検出が行われたフレームのうち、撮影時刻がフレームF2に最も近いフレームであるとする。また、フレームF3は、フレームF2の後に撮像された、顔特徴点検出が行われたフレームのうち、撮影時刻がフレームF2に最も近いフレームであるとする。顔検出部111は、フレームF2における顔特徴点の座標として、フレームF1における顔特徴点の座標と同じ座標を決定してもよい。あるいは、顔検出部111は、フレームF2における顔特徴点の座標として、フレームF1における顔特徴点の座標と、フレームF3における顔特徴点の座標とを結ぶ線分上の点の座標を決定してもよい。
顔検出部111は、検出された顔領域と顔特徴点との情報を信頼領域設定部112に出力する。顔検出部111は、検出された顔領域と顔特徴点との情報を、記憶部110に記憶させてもよい。その場合、顔検出部111は、顔検出と顔特徴点検出とが完了したことの通知を、信頼領域設定部112に行えばよい。
<信頼領域設定部112>
信頼領域設定部112は、動画像データと、顔検出部111により検出された顔領域および顔特徴点の情報を入力として受け付ける。信頼領域設定部112は、例えば、顔検出部111から顔検出と顔特徴点検出とが完了したことの通知を受けた場合に、動画像データと、検出された顔領域および顔特徴点の情報を記憶部110から読み出してもよい。信頼領域設定部112は、部分領域設定部1121と、関連づけ部1122とを含む。
部分領域設定部1121は、動画像データの各フレームにおいて、顔領域の部分である複数の部分領域を設定する。信頼領域設定部112は、例えば、顔検出部により検出された顔特徴点の一部または全部の座標に基づいて、M個(Mは2以上の整数)の部分領域を抽出する。
部分領域を設定する方法の一例を、図2を参照しながら説明する。図2は、部分領域の例を示す図である。図2において、顔特徴点の一部が、白い円によって表されている。部分領域は、破線によって表されている。例えば、部分領域設定部1121は、図2に示すように、複数の顔特徴点を頂点とする多角形を、部分領域として抽出してもよい。領域A1は、口の右端、鼻の右端、および右目の下側の中央、を頂点とする三角形の領域である。なお、画像における左右は、被測定者側から見た左右である。領域A2は、右眉の左端、右目の左端、左目の右端、および左眉の右端を頂点とする四角形の領域である。領域A3は、口の左端、鼻の左端、および左目の下側の中央、を頂点とする三角形の領域である。
顔特徴点に基づく部分領域は、顔特徴点を頂点とする多角形の領域に限られない。例えば、部分領域は、顔特徴点の座標を用いた演算によって算出された座標を頂点とする多角形の領域でもよい。部分領域の形は、円等、曲線を含む形でもよい。
図3は、さらに部分領域設定部1121が抽出する部分領域の例を示す。図3では、部分領域A4、A5、A6、A7およびA8が例示されている。
部分領域A4およびA5のように、離れた複数の領域が1つの部分領域として設定されてもよい。また、共通の画素を含む複数の部分領域があってもよい。例えば、部分領域A1と部分領域A4とは、共通の画素を含んでいるが、部分領域設定部1121は、部分領域A1と部分領域A4との両方を、同一の動画像データに対して設定してもよい。
部分領域設定部1121は、複数の部分領域を設定した後、顔領域のうちいずれの部分領域にも含まれない領域を、もう1つの部分領域として設定してもよい。
部分領域設定部1121は、顔検出部111により検出された顔領域を、複数の領域に分割し、分割によって生成する領域をそれぞれ部分領域として設定してもよい。
部分領域設定部1121は、抽出された部分領域と、部分領域の識別子とを、記憶部110に記憶させる。記憶部110は、部分領域を、例えば、画素の集合を記憶することにより、または領域の範囲の特定方法を記憶することにより、記憶すればよい。例えば、部分領域が矩形であれば、記憶部110は、部分領域が矩形であること、ならびに、基準となる点(例えば中心または頂点の1つ等)の位置、横の長さおよび縦の長さを記憶すればよい。
以上のようにして、部分領域設定部1121は、部分領域を設定する。
関連づけ部1122は、部分領域設定部1121により設定された部分領域の各々に対して、信頼性を関連づける。具体的には、関連づけ部1122は、部分領域の各々に対して、信頼性を示す値である信頼度を関連づける。
信頼度は、安定して脈波の情報が得られる領域としての信頼性の高さを示す。言い換えれば、信頼度は、その信頼度が関連づけられた部分領域から取得される画素値の変動が、脈波を表すデータとしてどれだけ信頼できるかを示す。すなわち、信頼度は、脈波の情報のとりやすさを示す。信頼度は、その信頼度が関連づけられた部分領域から脈波の情報が安定してとれることの期待の高さを示す、ともいえる。
後述する脈波情報導出部113による処理において、各部分領域から得られるデータは、信頼度に基づいて補正される。後述されるように、信頼度が高いほど、その部分領域から得られるデータの重みは大きくなる。
関連づけることは、具体的には、例えば、部分領域と信頼度とを関連づけた情報を生成することである。関連づけ部1122は、例えば、部分領域と信頼度とを関連づけた情報を、記憶部110に記憶させる。
例えば、動画像データに対して設定された部分領域の情報が、記憶部110によりテーブル形式で記憶されているとする。関連づけ部1122は、そのテーブル形式の情報に、信頼度の情報を加える。そのようにして、関連づけ部1122は、設定された部分領域に信頼度を関連づける。
関連づけ部1122は、予め用意された信頼度の情報を、設定された部分領域に関連づければよい。例えば、関連づけ部1122は、顔の領域の種類と信頼度とを関連づける情報である関連づけ情報を保持していてもよい。この場合、関連づけ部1122は、設定された部分領域が、関連づけ情報において用意された顔の領域の種類のどれに相当するかを特定する。そして、関連づけ部1122は、設定された部分領域に、特定された領域の種類に関連づけられた信頼度を、関連づける。
関連づけ情報において、顔の領域の種類は、顔特徴点に基づいて定義される。例えば、顔の領域の種類は、眉の最上部の点よりも上の、肌が露出している部分が「額(ひたい)の領域」、下唇の最下部よりも下の部分が「顎の領域」である、というように、定義される。関連づけ部1122は、設定された部分領域が、どの種類の領域に一致するまたは含まれるかを、顔特徴点と当該部分領域の位置との関係に基づいて特定する。そして、関連づけ部1122は、設定された部分領域を含む、又は設定された部分領域に一致する、領域の種類を、設定された部分領域が相当する領域の種類として特定する。そして、関連づけ部1122は、設定された部分領域に、特定された領域の種類に関連づけられた信頼度を、関連づける。
関連づけ部1122は、部分領域設定部1121に含まれていてもよい。言い換えれば、部分領域設定部1121と関連づけ部1122とは、1つのモジュールにより構成されてもよい。つまり、部分領域を設定する処理自体が、信頼度を関連づける処理を含んでいてもよい。
例えば、部分領域設定部1121は、関連づけ情報に基づいて部分領域を抽出してもよい。さらに具体的には、部分領域設定部1121は、関連づけ情報において定義されている顔の領域の種類に一致するような部分領域を抽出してもよい。すなわち、部分領域設定部1121が、関連づけ情報において定義されている顔の領域の定義(すなわち、抽出方法)に従って、被測定者の顔の部分領域を抽出してもよい。この場合、部分領域設定部1121は、抽出された部分領域と、使用した抽出方法により定義された領域に関連づけられた信頼度と、を、部分領域と信頼度とが関連づけられた状態になるように記憶部110に記憶させればよい。この場合、部分領域が設定されるのと同時に部分領域と信頼度とは関連づけられる。
関連づけ情報は、プログラムでもよい。例えば、信頼領域設定部112がプロセッサによるプログラムの実行により実現される場合、信頼領域設定部112がそれぞれの部分領域を抽出するためのプログラムの中に、抽出された部分領域に信頼度を関連づけるプログラムが含まれていてもよい。そして、そのプログラムの中で、直接、信頼度の値が設定されていてもよい。この場合、プログラムが、部分領域と信頼度とを関連づけている関連づけ情報である、といえる。
関連づけ情報において予め用意される信頼度の値は、例えば、信頼領域設定部112の設計者により、または信頼度を決定するアルゴリズムにより、設定される。関連づけ情報において設定される信頼度は、知見、学習または動画像データの分析等、様々な情報に基づいて設定され得る。一例として、本実施形態では、信頼度が、知見に基づいて設定される例を説明する。
以下に示す例では、信頼度として、0から1までの値を用いる。「0」が最も低い信頼度を示し、「1」が最も高い信頼度を示すとする。
信頼度は、例えば、顔領域のうち、脈波を高精度に検出できると期待される部分領域の信頼度が、脈波の検出の精度が低いと考えられる部分領域の信頼度よりも高くなるように設定される。なお、脈波の検出の精度の良さは、ノイズ(外乱による信号の強さ)に対する、脈波による信号の強さ、いわゆるS/N比である。
上記のように信頼度が関連づけ情報において設定されることにより、関連づけ部1122は、顔領域のうち、脈波を高精度に検出できると期待される部分領域に対し、脈波の検出の精度が低いと考えられる部分領域の信頼度よりも高い信頼度を関連づける。
例えば、関連づけ部1122は、脈波を高精度に検出できると期待される部分領域に対して、「比較的高い」信頼度を関連づけるよう構成されていてもよい。本開示において、「(信頼度が)比較的高い」とは、例えば、少なくとも1つの他の部分領域の信頼度よりも高いことである。あるいは、「比較的高い」とは、例えば、他の部分領域の信頼度の平均値(中央値または最頻値でもよい)よりも大きいことでもよい。
脈波を高精度に検出できると期待される領域の例を、以下説明する。
脈波を高精度に検出できると期待される領域は、例えば、脈波による画素値の変化が起こりやすいと考えられる領域である。脈波による画素値の変化が起こりやすいと期待される領域は、例えば、顔面動脈が通る領域、および、皮膚の厚さが顔の皮膚の厚さの平均よりも薄い領域である。
図4は、一般的な人間の顔面動脈の一部の位置を示す図である。図2と図4とを比較すると、部分領域A1および部分領域A3は、図4に示された顔面動脈が通る領域である。従って、関連づけ部1122は、部分領域A1および部分領域A3に対して比較的高い信頼度を関連づけてもよい。
皮膚の厚さが顔の皮膚の厚さの平均よりも薄い領域の例は、まぶたおよび目の下の領域である。まぶたおよび目の下の領域の皮膚の厚さは、顔の他の領域の皮膚の厚さと比較して4分の1から2分の1程度であることが知られている。つまり、まぶたおよび目の下の領域の皮膚の厚さは、顔の皮膚の厚さの平均よりも薄い。図3に示される部分領域A4は、目の下の領域に相当する。図3に示される部分領域A5は、まぶたの領域に相当する。したがって、関連づけ部1122は、部分領域A4および部分領域A5に対して比較的高い信頼度を関連づけてもよい。
脈波を高精度に検出できると期待される領域の他の例は、額(ひたい)の領域である。額の領域は、顔の他の部分に比べて凹凸が少なく、被測定者の動きによる輝度変化が生じにくいと考えられるからである。
図3に示される部分領域A6は、額に含まれる領域である。従って、関連づけ部1122は、部分領域A6に対して比較的高い信頼度を関連づけてもよい。
関連づけ部1122は、全ての部分領域に対して信頼度を関連づけたあと、各部分領域の信頼度の総和が1になるように、各信頼度を正規化してもよい。
図5は、関連づけ部1122により図2および3で例示された部分領域A1〜A8に関連づけられた、信頼度の情報の例を示す図である。図5では、領域名と正規化前の信頼度と正規化後の信頼度との関係が表形式で示されている。
関連づけ部1122は、例えば、図5のように、顔面動脈が通る領域である部分領域A1およびA3、皮膚の厚さが顔の皮膚の厚さの平均よりも薄い領域である部分領域A4およびA5、ならびに、額の領域に含まれる部分領域A6に対し、比較的高い信頼度を関連づける。
正規化後の信頼度の値は、例えば、それぞれの信頼度を、各部分領域の正規化前の信頼度の総和で割ることにより求められる。
なお、信頼度が“0”である部分領域があってもよい。信頼度が“0”であることは、その部分領域からのデータが脈波の検出に使われないことを意味する。
なお、本開示では、信頼度が比較的高い部分領域を、「信頼領域」と称する。図5の例においては、部分領域A1、A3、A4、A5、およびA6が、信頼領域である。部分領域設定部1121および関連づけ部1122の処理は、信頼領域を設定する処理であるとも言える。
信頼領域設定部112は、比較的高い信頼度が関連づけられるような部分領域が部分領域設定部1121により設定されるように、設計されていてもよい。
<脈波情報導出部113>
脈波情報導出部113は、信頼領域設定部112により設定された部分領域と、部分領域それぞれの信頼度とを、入力として受け付け、脈波の情報を導出する。脈波情報導出部113は、時系列生成部1131と、重みづけ部1132と、合成部1133と、変換部1134と、脈拍数算出部1135とを含む。
時系列生成部1131は、動画像データから、部分領域ごとに時系列データを生成する。具体的には、時系列生成部1131は、フレームごとに部分領域から得られる値の、変動データを生成する。例えば、時系列生成部1131は、各フレームの部分領域ごとに、その部分領域に含まれる各画素の画素値の代表値を、各色について算出する。これにより、時系列生成部1131は、部分領域ごとの、各色の画素値の代表値の時系列データを生成する。動画像データの画素値がR、G、およびBの3色のそれぞれの階調値で表される場合は、時系列生成部1131は、R成分、G成分およびB成分のそれぞれについて、各部分領域に含まれる画素の階調値の代表値の時系列データを生成する。以下、色成分の画素値の代表値を、「画素代表値」とも称す。
代表値は、部分領域内の各画素の画素値を代表する値である。代表値は、例えば、平均値、中央値、最頻値、もしくは最大値または最小値等である。なお、平均値は、算術平均でもよいし、幾何平均や調和平均でもよい。
動画像データにおけるt番目(t=1,2,3,・・・)のフレームをフレームtとする。フレームtの座標(i, j)におけるR、G、およびBの階調値をそれぞれRt(i, j)、Gt(i, j)、およびBt(i, j)とする。画素代表値を算出する対象の部分領域をAk(kは部分領域を識別する番号)とする。例として、当該部分領域内の画素のG成分の画素代表値Gt_rep(Ak)は、下記の式で算出される。
ただし、記号「S」は、部分領域A
kの面積、すなわち、部分領域A
kに含まれる画素の数である。この算出例は、画素代表値として各画素の算術平均が採用される場合の例である。特に、部分領域が矩形であり、i
s≦i≦i
e、j
s≦j≦j
eを満たす点(i, j)の集合である場合、Gt_rep(A
k)は、下記の式で算出される。
R成分の画素代表値Rt_rep(Ak)、およびB成分の画素代表値Bt_rep(Ak)の算出方法も、同様である。
時系列生成部1131は、各フレームにおいて、各部分領域Ak(k=1,2,3,…,M)のRt_rep(Ak)、Gt_rep(Ak)、およびBt_rep(Ak)を算出する。時系列生成部1131は、それぞれのフレームの画素代表値を時系列に並べることで、各部分領域Akの、各色の画素代表値の時系列データR_rep(Ak)、G_rep(Ak)、およびB_rep(Ak)を生成する。
時系列生成部1131は、各部分領域の時系列データのスケールを統一してもよい。すなわち、時系列生成部1131は、時系列データの合成(後述)の時に部分領域ごとに画素値の大きさが与える影響が異ならないように、時系列全体の値を補正してもよい。例えば、時系列生成部1131は、部分領域間で、画素代表値の平均値(中央値または最頻値等でもよい)が同一になるように、各時系列データに含まれる値を補正してもよい。時系列生成部1131は、各時系列データのデータ値を補正するにあたり、時系列データの各データ値に適当な値を足してもよいし、時系列データの各データ値に適当な係数をかけてもよい。
重みづけ部1132は、部分領域から得られるデータを、信頼度に基づいて重みづけする。重みづけを行う対象のデータは、[変形例]で後述されるように、様々考えられる。本実施形態の説明においては、まず一例として、重みづけ部1132が時系列データのデータ値(画素代表値)に対して重みづけを行う例を説明する。
重みづけ部1132は、各部分領域における画素代表値を、信頼度に基づいて補正することで、各部分領域における画素代表値の重みづけを行う。具体的には、例えば、重みづけ部1132は、各部分領域の各色の画素代表値の時系列データのそれぞれの値(Rt_rep(Ak)、Gt_rep(Ak)、Bt_rep(Ak))に対し、その部分領域の信頼度をかけることで、重みづけされた画素代表値を得る。
例として、信頼領域設定部112により設定された部分領域は、図2および図3で例示された部分領域A1〜A8であるとする。各部分領域の信頼度は図5の通りであるとする。この場合、重みづけ部1132は、部分領域A1、A3、およびA6において算出された画素代表値には“1.0”をかけ、部分領域A4およびA5において算出された画素代表値には“0.7”をかけ、部分領域A2、A7、およびA8において算出された画素代表値には“0.2”をかける。
こうして、信頼度により補正された、各色の画素代表値の時系列データが得られる。
合成部1133は、重みづけ部1132により重みづけされたデータを合成する。時系列データが重みづけされた場合、合成部1133は、重みづけされた複数の時系列データを足し合わせることで、1つの時系列データを得る。あるいは、合成部1133は、時間ごと(すなわち、フレームごと)に、複数の時系列データ内の画素値の平均(平均の種類は問わない)を算出することにより、1つの時系列データを得てもよい。
合成部1133は、色成分ごとに時系列データを合成する。すなわち、合成部1133は、例えば、R成分の時系列データ、G成分の時系列データ、およびB成分の時系列データを、それぞれ1つずつ生成する。
以上のようにして生成される時系列データは、脈波を示す時系列データである。合成部1133によれば、信頼度が高い部分領域の画素代表値の寄与が大きい、脈波の時系列データが生成する。この脈波の時系列データ自体が、脈波の情報の1つである。
変換部1134は、画素代表値の時系列データに対し、周波数スペクトルに変換する変換処理を実行する。周波数スペクトルへの変換処理の例としては、離散フーリエ変換(DFT:Discrete Fourier Transform)、高速フーリエ変換(FFT)、および離散コサイン変換(DCT:Discrete Cosine Transform)等がある。
変換処理の対象となる範囲は、動画像データの一部または全部である。例えば、変換部1134は、30秒間の長さに相当する時系列データを変換処理の対象とする。変換処理の対象となる範囲が動画像データよりも短い場合、変換部1134は、複数の範囲について(例えば1秒ごとに範囲をずらしながら)変換処理を実行してもよい。
変換部1134は、変換処理によって、周波数スペクトルを生成する。以下の説明では、周波数スペクトルの一態様として、パワースペクトルを想定する。
脈拍数算出部1135は、変換部1134により生成した周波数スペクトルに基づき、脈拍推定を行う。脈拍推定とは、脈波の情報の1つである脈拍数を算出することである。
具体的には、脈拍数算出部1135は、まず、周波数スペクトルの、被測定者の脈拍数が取りうる範囲(例えば、50〜180[bpm])に相当する周波数領域(約0.83〜3[Hz])において、強度が最大値をとる周波数を特定する。そして、脈拍数算出部1135は、特定された周波数を、脈拍数として決定する。脈拍数算出部1135は、周波数の単位を[bpm]へと換算してもよい。
脈拍数の算出に用いる周波数スペクトルは、各色の画素代表値から得られる周波数スペクトルでもよいし、G成分の画素代表値から得られる周波数スペクトルのみでもよい。
脈拍数算出部1135は、各色の画素代表値から得られる周波数スペクトルから、それぞれ上述の方法で脈拍数を算出してもよい。この場合、複数の脈拍数が算出されるので、脈拍数算出部1135は、得られた複数の脈拍数の代表値(平均値、中央値、または最頻値等)を、推定された脈拍数として決定してもよい。G成分は他の色成分よりもよく血液に吸収されるため、脈拍数算出部1135は、G成分に対して重みを与えて代表値を算出してもよい。
脈波情報導出部113は、以上のようにして導出された脈波の情報(すなわち、脈波の時系列データ、または脈拍数の少なくともいずれか)を出力する。
[変形例1−1]
脈波の情報の導出の過程で、非特許文献1に記載されるような独立成分分析が適用されてもよい。例えば、変換部1134は、各色の画素代表値の時系列データに対して独立成分分析を行うことで、独立成分を導出してもよい。そして、変換部1134は、得られた独立成分を周波数スペクトルに変換してもよい。脈拍数算出部1135は、独立成分の周波数スペクトルから、脈拍数を算出してもよい。
<出力部114>
出力部114は、脈波情報導出部113により生成された脈波の情報を出力する。出力部114による出力の出力先は、例えば、表示装置、記憶装置、および通信ネットワーク等である。例えば、出力部114が脈波の情報を表示装置に出力する場合、出力部114は、表示装置が脈波の情報を表示できるように、脈波の情報を示すデータを変換してもよい。なお、上記した表示装置および記憶装置は、脈波検出装置11の外部のデバイスであってもよいし、脈波検出装置11に含まれる構成要素であってもよい。
[動作]
脈波検出装置11の動作について説明する。図6は、脈波検出装置11の動作の流れを示すフローチャートである。
まず、脈波検出装置11は、撮像装置30から動画像データを取得する(ステップS61)。取得された動画像データは、顔検出部111および信頼領域設定部112へと入力される。
次に、顔検出部111は、入力された動画像データに基づいて、所定数のフレームごとに(例えば、1フレームごとに)、顔領域と顔特徴点とを検出する(ステップS62)。
次に、信頼領域設定部112の部分領域設定部1121が、顔特徴点に基づき、部分領域を設定する(ステップS63)。そして、関連づけ部1122が、部分領域のそれぞれに信頼度を関連づける(ステップS64)。
次に、脈波情報導出部113の時系列生成部1131が、各部分領域の時系列データを生成する(ステップS65)。生成される時系列データは、例えば、各色の画素代表値の時系列データである。そして、重みづけ部1132が、生成された時系列データに対して、その部分領域の信頼度に基づく重みづけを行う(ステップS66)。合成部1133は、重みづけされた時系列データを合成する(ステップS67)。変換部1134が、合成された時系列データを周波数スペクトルに変換する(ステップS68)。脈拍数算出部1135は、周波数スペクトルに基づき、脈拍数を算出する(ステップS69)。そして、出力部114が、算出された脈拍数を、脈波の情報として出力する(ステップS70)。出力部114は、ステップS67の合成によって生成した時系列データを、脈波の情報として出力してもよい。
なお、脈波検出装置11は、時系列データの生成を、動画像データが取得されている時にリアルタイムに行ってもよい。すなわち、脈波検出装置11は、フレームが取得される毎に、そのフレームに関して、ステップS61からステップS63の処理を行い、各部分領域の画素代表値を算出し、その画素代表値を時系列データに追加していってもよい。この場合、脈波検出装置11は、ステップS64の処理を、初めに部分領域が設定された時に1回だけ行えばよい。脈波検出装置11は、ステップS66およびS67の処理を、フレームが取得される度に行ってもよいし、時系列データが周波数スペクトルへの変換処理の対象の長さになった後に行ってもよい。脈波検出装置11は、ステップS68の処理を、時系列データが周波数スペクトルへの変換処理の対象の長さになった場合に行う。例えば、変換部1134が、取得されたフレームの数が所定の数に達したかを判断し、取得されたフレームの数が所定の数に達したと判断された場合に、ステップS68の処理を行う。
上記の処理の順番は一例である。各処理の順番は、本開示において開示される技術思想を逸脱しない限りにおいて自由に変更され得る。
[変形例1−2]
上記説明では、重みづけ部1132により重みづけが行われる対象は、時系列生成部1131により算出された画素代表値である。しかし、重みづけを行う対象のデータは、画素代表値の他、各画素の画素値、変換処理後のスペクトル、または部分領域ごとに算出された脈拍数でもよい。
例えば、重みづけ部1132は、各フレームの各画素の画素値を重みづけしてもよい。そのような例では、時系列生成部1131は、重みづけされた画素値の平均を算出する。この場合によっても、重みづけされた画素代表値と同じ画素代表値が得られる。なお、この場合、合成部1133は、時系列生成部1131により算出された画素代表値の時系列を合成する。
重みづけ部1132は、変換処理後のスペクトルを重みづけしてもよい。そのような例では、変換部1134は、部分領域ごとに、画素代表値の時系列データを変換する。そして、重みづけ部1132は、変換処理後のスペクトルを重みづけする。その後、合成部1133が、重みづけされたスペクトルを合成し、1つの色成分に関する1つのスペクトルを得る。
重みづけ部1132は、部分領域ごとに算出される脈拍数を重みづけしてもよい。そのような例では、変換部1134は、部分領域ごとに、画素代表値の時系列データを変換する。そして、脈拍数算出部1135は、部分領域ごとに、脈拍数を算出する。そして、重みづけ部1132は、算出された脈拍数を重みづけする。その後、合成部1133が、重みづけされた脈拍数を合成し、1つの脈拍数を得る。
[効果]
第1の実施形態に係る脈波検出装置11によれば、より精度の良い脈波の情報が得られる。
その理由は、部分領域ごとに信頼度が関連づけられることにより、信頼性が高い部分領域のデータが、導出される脈波の情報においてより大きく寄与するからである。
比較的高い信頼度が関連づけられる領域として、脈波による画素値の変化が起こりやすいと考えられる領域、および、被験者の動きの変化の影響を受けにくい領域等が採用されることにより、推定の精度が高くなることが期待される。
上記効果を裏付ける実験のデータを紹介する。この実験は、額、右頬、左頬、および鼻の部分領域からそれぞれ脈波を検出し、検出された脈波から部分領域ごとに脈拍数を算出する実験である。
図7は、本実験に使用された部分領域を示す図である。部分領域E1は額(眉よりも上、前髪よりも下の部分)に含まれる領域、部分領域E2は右側の頬(目よりも下、鼻の外側、顔の輪郭よりも内側で、唇の領域と唇の下の領域とを除く部分)に含まれる領域、部分領域E3は左側の頬に含まれる領域、そして部分領域E4は鼻(鼻の輪郭の内側部分)に含まれる領域である。各部分領域の大きさは、いずれも約1200ピクセルである。
被測定者は、5分間、撮像されると同時に、心電計によっても計測された。心電計によって計測された脈波および心拍数は、正しいデータとして扱われる。
脈波から脈拍数を算出する方法は、重みづけと合成とを行わない点を除き、脈波情報導出部113による方法と同様の方法である。すなわち、各部分領域から得られた5分間の画素代表値の時系列データは、周波数スペクトルに変換された。そして、それぞれの部分領域について、得られた周波数スペクトルの、脈拍数の範囲に相当する範囲において最も強度の高い周波数に基づき、脈拍数が算出された。各時系列データにおいて、変換の対象となった範囲は、30秒間分(900フレーム)であり、対象の範囲を1秒ずつずらしながら変換処理が実行された。変換処理の結果として得られた周波数スペクトルのそれぞれに基づき、計271個の脈拍数が算出された。
図8は、各部分領域において算出された脈拍数(心拍数)と、同じ30秒間の範囲の心電図から取得される正しい心拍数とを比較した結果のデータを表す表を示す図である。図8の表には、脈拍推定の精度の指標として、算出された心拍数(271個)の、中央値の誤差、正しい心拍数との間の相関係数、および平均絶対誤差が示されている。平均絶対誤差は、算出された心拍数の、正しい心拍数からのずれ(誤差)の絶対値の算術平均である。なお、心電計により計測された心拍数の中央値は65であった。
図8の表によれば、額の領域(E1)は、他の領域に比べ、中央値の誤差が少なく、相関も高く、平均絶対誤差も小さいことがわかる。すなわち、本実験の結果は、額領域(E1)から精度の高い脈拍推定が行えることを示している。
また、図8によれば、両頬の領域(E2およびE3)も、鼻の領域(E4)に比べると、中央値の誤差および平均絶対誤差の値は小さい。頬の領域には、顔面動脈が通っているためと考えられる。鼻の領域については、平均絶対誤差が他の領域と比較して2倍以上であり、脈拍推定の精度が低いことがわかる。
以上のように、額および頬の領域に比較的高い信頼度が関連づけられることで、精度の高い脈拍推定が行えることがわかる。また、額および頬の領域に比較的高い信頼度が関連づけられることで、高精度に脈波を検出できることがわかる。
[変形例1−3]
信頼度を設定するための知見は、画像からの脈拍推定と別の計測方法との比較によって取得されてもよい。以下、変形例として、学習装置40によって、信頼度を適切に(推定精度が高くなるように)設定するための知見を取得する例を説明する。
図9は、本変形例の構成を示すブロック図である。
被測定者は、撮像装置30により撮像されるのと同時に、計測器31によっても脈拍数(心拍数でもよい)を計測される。計測器31は、例えば、心電計、脈拍計である。計測器31による脈拍の測定の精度は、十分に高いとする。
脈波検出装置11は、合成部1133による合成を行わず、部分領域ごとに、脈拍数を算出する。
学習装置40は、計測器31により取得された脈拍数(以下、「真の脈拍数」と称す)と、脈波検出装置11により取得された各部分領域からの脈拍数とを比較する。
学習装置40は、比較の結果に基づき、各部分領域の信頼度を決定する。例えば、学習装置40は、真の脈拍数と各部分領域からの脈拍数との間の相関係数を計算する。そして、学習装置40は、相関係数に応じた信頼度を決定する。例えば、学習装置40は、相関係数の値を信頼度として決定してもよい。ただし、学習装置40は、相関係数が負の値である部分領域に対しては、信頼度を“0”と決定してもよい。学習装置40が信頼度を決定する方法は、相関係数の値が大きい部分領域ほど高い値が信頼度として決定される方法であれば、どのような方法でもよい。
学習装置40は、様々な、信頼度の割り当てパターンを用いた、脈拍推定の結果を学習することにより、精度の良い信頼度の割り当てパターンを特定してもよい。以下、割り当てパターンとは、部分領域のそれぞれに関連づけられる信頼度のパターン、すなわち、部分領域と信頼度との組み合わせである。脈波検出装置11において、関連づけ部1122は、各部分領域への信頼度の割り当てパターンを、複数用意する。関連づけ部1122は、用意された信頼度の割り当てパターンごとに、各部分領域に信頼度を関連づける。重みづけ部1132は、信頼度が関連づけられたデータを重みづけし、合成部1133は信頼度の割り当てパターンごとにデータを合成する。そして、脈拍数算出部1135は、信頼度の割り当てパターンごとに、脈拍数を算出する。そして、学習装置40は、算出された脈拍数と真の脈拍数とを比較することにより、信頼度の割り当てパターンに対して精度の指標(例えば相関係数)を得る。学習装置40は、信頼度の割り当てパターンを説明変数とし、精度の指標を目的変数とする学習を行う。学習装置40は、例えば、ニューラルネットワーク等を用いて学習を行う。学習により、学習装置40は、相関係数が高くなる割り当てパターンを知見として得る。
以上のような学習装置40によれば、信頼度をより適切に(推定の精度が高くなるように)設定するための知見が得られる。
学習装置40は、同一の被測定者に対して複数回、学習を行えば、その人固有の信頼度の高い領域を得られる。学習装置40は、複数の被測定者に対して学習を行えば、複数の被測定者に共通の、すなわち一般性がより高い、信頼度の高い領域が得られる。
関連づけ部1122が、学習装置40によって得られた知見に基づく信頼度を、部分領域に関連づけることにより、脈波検出装置11はより精度の高い脈拍推定が行える。
<<第2の実施形態>>
第1の実施形態の説明では、関連づけ部1122が、信頼度を、予め用意された情報に基づいて部分領域に関連づける例を説明した。以下、第2の実施形態として、信頼度を、動画像データに基づいて動的に関連づける例を説明する。
図10は、第2の実施形態に係る脈波検出装置12の構成を示すブロック図である。脈波検出装置12は、第1の実施形態の脈波検出装置11と同様、撮像装置30に通信可能に接続される。撮像装置30、ならびに、脈波検出装置12の記憶部110、顔検出部111、脈波情報導出部113および出力部114は、第1の実施形態の撮像装置30、記憶部110、顔検出部111、脈波情報導出部113および出力部114と同様でよい。
脈波検出装置12の信頼領域設定部122は、部分領域設定部1221と、分析部1222と、関連づけ部1223とを含む。
部分領域設定部1221の機能は、第1の実施形態の部分領域設定部1121の機能と同様でよい。
<分析部1222>
分析部1222は、動画像データに関する分析を行う。本実施形態では、分析部1222は、各部分領域における、外乱の程度を分析する。
外乱は、脈波以外に画素値に変化を与える作用である。外乱は、脈波の検出の精度を下げる要因である。外乱は、例えば、被測定者の動き、表情の変化等である。
外乱の程度は、例えば、部分領域の変化の大きさを示す尺度により与えられる。なお、部分領域の変化とは、部分領域の形状および位置の変化である。
分析部1222は、例えば、部分領域を規定する顔特徴点の位置の変動を分析する。部分領域を規定する顔特徴点とは、その部分領域を抽出するために用いられた顔特徴点である。
1つの例として、分析部1222は、各部分領域について、動画像データのうち任意の2枚のフレームの、当該部分領域を規定する顔特徴点の位置の変動の大きさを算出する。
例えば、部分領域A1を規定する顔特徴点は、口の右端、鼻の右端、および右目の下側の中央である。分析部1222は、任意に抽出した2枚のフレームにおける、上記顔特徴点のそれぞれの位置の差分を算出する。位置の差分は、例えば、2点間のユークリッド距離である。
部分領域を規定する顔特徴点のそれぞれの点の位置の差分が算出されたら、分析部1222は、部分領域の変化の大きさを算出する。分析部1222は、例えば、部分領域の変化の大きさとして、当該部分領域を規定する顔特徴点のそれぞれの点の位置の差分の平均を算出する。平均は、算術平均、幾何平均、調和平均のいずれでもよい。例として、部分領域A1を規定する顔特徴点のそれぞれの位置の差分が、5ピクセル、10ピクセル、18ピクセルであった場合、部分領域A1の変化の大きさは、11ピクセルと算出される。この値は、平均として算術平均を用いた場合の値である。
別の例として、分析部1222は、動画像データのうち任意の3つ以上のフレームにおける、各顔特徴点の位置の変動の大きさを算出してもよい。3つ以上のフレームにおける顔特徴点の位置の変動の大きさは、例えば、顔特徴点の位置の変動の分散である。
例えば、分析部1222は、動画像データから、0.2秒おきのフレームを抽出する。そして、分析部1222は、抽出されたフレームにおける各顔特徴点の位置を取得する。ある顔特徴点C1の位置が、P(uk,vk)(k=1,2,3,…,k_max)である時、分析部1222は、当該顔特徴点C1の位置の変動の大きさを、算出式Σk=1→k_max |P(uE,vE)-P(uk,vk)|2 / n により求める。ただしP(uE,vE)は基準の位置であり、例えばP(u1,v1)、Σk=1→k_max P(uk,vk) / k_maxである。P(uE,vE)は、P(uk,vk)の中央値または最頻値でもよい。
そして、分析部1222は、各部分領域について、当該部分領域を規定する顔特徴点の位置の分散に基づき、当該部分領域の変化の大きさを算出する。部分領域の変化の大きさは、例えば、当該部分領域を規定する顔特徴点の位置の分散の平均である。分析部1222は、算出された当該部分領域の変化の大きさを、外乱の程度として決定する。
<関連づけ部1223>
関連づけ部1223は、分析部1222による分析に基づいて、各部分領域に信頼度を関連づける。具体的には、関連づけ部1223は、外乱の程度を示す値が小さい部分領域ほど信頼度が高くなるように、各部分領域に信頼度を関連づける。分析部1222により各部分領域の変化の大きさが算出された場合は、関連づけ部1223は、変化の大きさが小さい部分領域ほど信頼度が高くなるように、各部分領域に信頼度を関連づける。
例として、部分領域設定部1221により設定された部分領域が部分領域A1、A2、およびA3であり、部分領域A1、A2、およびA3の変化の大きさがそれぞれ、11ピクセル、15ピクセル、そして6ピクセルであると算出されたとする。この場合において、関連づけ部1223は、例えば、部分領域A1、A2、およびA3に対して、それぞれ“21/32”、“17/32”、および“26/32”を、信頼度として関連づける。上記信頼度の値は、各々の変化の大きさを、変化の大きさの総和(32)で除した値を1から引いた値である。
関連づける信頼度の算出方法は、上記の方法に限られない。例えば、関連づけ部1223は、外乱の程度を示す値の逆数を信頼度として算出してもよい。ただし、この算出方法において、外乱の程度を示す値が0であった場合は、関連づけ部1223は、信頼度を“1”とする。また、例えば、関連づけ部1223は、外乱の程度の偏差値を算出し、偏差値の逆数を信頼度として算出してもよい。
また、関連づけ部1223は、外乱の程度を示す値が所定値を超える部分領域に対しては一律に“0”を信頼度として関連づけてもよい。
関連づけ部1223は、外乱の程度を示す値が所定の閾値を超える場合に第1の数値D1を関連づけ、外乱の程度を示す値が所定の閾値を超えない場合に第2の数値D2を関連づける、という方法を用いてもよい。この場合、D1はD2よりも小さい値である。
関連づけ部1223は、全ての部分領域に対して信頼度を関連づけたあと、各部分領域の信頼度の総和が1になるように、各信頼度を正規化してもよい。
信頼領域設定部122は、以上のようにして部分領域と信頼度とが関連づけられた情報を、出力する。
[効果]
第2の実施形態に係る脈波検出装置12によれば、より精度良く脈波の情報が取得できる。関連づけ部1223が、外乱がより大きかった部分領域から得られるデータの寄与が低くなるように、部分領域に信頼度を関連づけるからである。外乱がより少なかった部分領域から得られるデータの寄与は、より高くなる。
したがって、撮像時に被測定者の表情の変化等の乱れが生じた場合であっても、脈波検出装置12は精度の良い脈波検出が行える。
また、脈波検出装置12によれば、脈波検出装置11のように、動きが大きいと考えられる部分領域の信頼度を予め低く設定した関連づけ情報や領域情報を用意しておく必要が無い。動きが大きかった部分領域に対しては、実際に動きが大きかった場合に、低い信頼度が関連づけられる。
[変形例2−1]
外乱の程度を算出するために用いるフレームの数は、部分領域ごとに異なっていてもよい。例えば、分析部1222は、変動が大きい可能性が高いと考えられる部分領域を規定する顔特徴点については、より多くのフレームから位置を取得してもよい。逆に、分析部1222は、変動が小さい可能性が高いと考えられる部分領域を規定する顔特徴点については、より少ないフレームから位置を取得してもよい。そのような構成により、精度の悪化を抑えながら計算量を削減することができる。
[変形例2−2]
分析部1222による分析の後に、部分領域設定部1221が部分領域を設定してもよい。
部分領域設定部1221は、各顔特徴点の位置の変動の大きさに基づいて、部分領域を設定してもよい。例えば、分析部1222が、複数枚のフレームから、各顔特徴点の位置の変動の大きさを算出し、その結果を部分領域設定部1221が受け取る。位置の変動が小さいほど、その顔特徴点に近い領域は外乱の程度が小さいと考えられる。従って、部分領域設定部1221は、位置の変動の大きさが小さい顔特徴点を抽出する。値が小さい点は、例えば、値が所定値以内である点、値が最も小さい点から所定番目以内である点、特定のパーツにおける顔特徴点の内最も値が小さい点、等の定義に基づいて特定される。そして、部分領域設定部1221は、抽出した顔特徴点に基づいて抽出される領域を、部分領域として設定する。
本変形例の部分領域設定部1221によれば、比較的高い信頼度が関連づけられるような部分領域が設定され得る。すなわち、部分領域設定部1221は、脈波の検出の高精度化に寄与する部分領域を設定することができる。
[変形例2−3]
関連づけ部1223が、動画像データに対する分析に基づいて信頼度を関連づける別の例を説明する。
以下の例は、関連づけ部1223が、分析部1222により「平らな領域」として判定された部分領域に対して、比較的高い信頼度を関連づける例である。
分析部1222は、動画像データのうちの任意の1つの画像内の各部分領域における、画素値のばらつきの大きさを算出する。画素値のばらつきの大きさは、例えば、画素値の分散である。そして、分析部1222は、画素値のばらつきの大きさが第1の閾値以下である部分領域を、「平らな領域」であると判定する。
分析部1222は、輝度勾配に基づいて、部分領域が「平らな領域」であるかを判定してもよい。輝度勾配とは、各画素に対して算出される、隣り合う画素との間の画素値の勾配である。例えば、分析部1222は、動画像データのうちの任意の1つの画像内の部分領域に含まれる各画素の輝度勾配を算出する。そして、分析部1222は、それぞれの部分領域における、輝度勾配の最大値を特定する。分析部1222は、輝度勾配の最大値が第2の閾値以下である部分領域を、「平らな領域」であると判定する。
分析部1222は、画素値のばらつきの大きさが第1の閾値以下であり、かつ、輝度勾配の最大値が第2の閾値以下である部分領域を、「平らな領域」であると判定してもよい。
分析部1222により「平らな領域」として判定された部分領域からは、脈波を高精度に検出できることが期待される。部分領域内の画素値のばらつきの大きさが小さいほど、また、領域内の画素の輝度勾配が小さいほど、被測定者の動きによって生じる輝度変化がその領域においては小さいことが期待されるからである。
分析部1222は、輝度勾配のばらつきの大きさを算出してもよい。そして、分析部1222は、輝度勾配のばらつきの大きさが第3の閾値以下である部分領域を、「平らな領域」であると判定してもよい。領域内の画素の輝度勾配のばらつきの大きさも、凹凸の少なさを示す指標である。
関連づけ部1223は、以上のようにして分析部1222により「平らな領域」として判定された部分領域に対して、比較的高い信頼度を関連づける。
本変形例の方法によれば、脈波を高精度に検出できることが期待される領域の知見が予め無くても、脈波を高精度に検出できることが期待される領域からのデータの寄与を大きくすることができる。
[変形例2−4]
部分領域設定部1221は、輝度勾配に基づいて、部分領域の設定を行ってもよい。以下の例は、部分領域設定部1221が、分析部1222により「平らな領域」であるとして特定された領域を、部分領域として設定する例である。
例えば、分析部1222は、動画像データのうちの任意の1つの画像において、各画素の輝度勾配を算出する。そして、分析部1222は、輝度勾配が第2の閾値以下である画素を特定する。分析部1222は、輝度勾配が第2の閾値以下である画素からなる領域を、「平らな領域」であるとして特定する。そして、部分領域設定部1221は、特定された領域に含まれるような部分領域を設定する。
分析部1222は、輝度勾配のばらつきの大きさが所定値以下である領域を「平らな領域」であるとして特定してもよい。そして、部分領域設定部1221は、特定された領域に含まれるような部分領域を設定する。
部分領域設定部1221がこのように部分領域を設定することにより、脈波を高精度に検出できることが期待される部分領域が設定される。
関連づけ部1223は、上述のように設定された部分領域に、比較的高い信頼度を関連づける。そうすることで、脈波を高精度に検出できることが期待される領域から得られるデータが、導出される脈波の情報に大きく寄与し、脈波検出および脈拍推定の精度が向上する。
本変形例の方法によっても、脈波を高精度に検出できることが期待される領域の知見が予め無くても、脈波を高精度に検出できることが期待される領域からのデータの寄与を大きくすることができる。
[変形例2−5]
関連づけ部1223は、以上に説明された、信頼度を関連づける方法のうち、複数の方法を用いて、部分領域に対する信頼度を、複数個、仮の値として導出してもよい。そして、関連づけ部1223は、仮の値どうしをかけあわせることにより算出された値を、信頼度として、部分領域に関連づけてもよい。
[変形例2−6]
部分領域の信頼度は、変換される時系列データにおいて常に一定でなくてもよい。つまり、部分領域の信頼度は、フレームごとに変化してもよい。以下、変形例として、関連づけ部1223が、同じ部分領域に必ずしも一定でない信頼度を関連づける例を説明する。
分析部1222は、例えば、フレームごと、または数フレームごとに、各部分領域の変化の大きさを算出する。部分領域の変化の大きさは、上述した通り、当該部分領域を規定する顔特徴点の位置の変動の大きさに基づき求められる。顔特徴点の位置の変動の大きさは、当該フレームにおける位置の、基準の位置(例えば、上述したP(uE,vE))からの差分(位置のずれ)により求められる。基準の位置は、当該フレームの直前の数フレームにおける位置の平均、中央値または最頻値等でもよい。
関連づけ部1223は、各部分領域の変化の大きさが算出されたフレームのそれぞれに対して、信頼度を関連づける。関連づけ部1223は、信頼度を、既に述べた通り、部分領域の変化の大きさが大きいほど低くなるように、信頼度を関連づける。
関連づけ部1223は、各部分領域の変化の大きさが算出されなかったフレームの信頼度については、信頼度が関連づけられたフレームの信頼度に基づいた信頼度を関連づければよい。例えば、関連づけ部1223は、各部分領域の変化の大きさが算出されなかったフレームに対しては、撮影時刻がそのフレームに最も近い、信頼度が関連づけられたフレームと同じ値を、関連づける。
上記のような処理により、信頼度がフレームごとに関連づけられる。すなわち、動画像データのうちの少なくとも2つの画像における同一の部分領域に対し、それぞれの変化の大きさに応じた異なる信頼度が関連づけられる。
関連づけ部1223は、各フレームにおいて、各部分領域の信頼度の総和が1になるように正規化する。関連づけ部1223は、正規化された信頼度を、以後に使用される信頼度として更新する。以上のような処理により、信頼度がフレームごとに関連づけられる。
以下、信頼度がフレームごとに関連づけられた場合の、脈波の情報を導出する方法の一例を説明する。
時系列生成部1131は、各部分領域における画素代表値の時系列データを生成する。このとき、時系列生成部1131は、時系列データのスケールを部分領域間で統一する。例えば、時系列生成部1131は、それぞれの部分領域において、画素代表値の平均値(中央値または最頻値でもよい)が同一になるように、時系列データの各データ値を補正する。時系列生成部1131は、時系列データの各データ値に適当な値を足し、または適当な係数をかけることによって、時系列データの各データ値を補正する。
重みづけ部1132は、補正された各時系列データに対して、正規化された信頼度をかけることによって、各時系列データを重みづけする。
合成部1133は、重みづけされたデータを足し合わせることにより、1つの時系列データへと合成する。
これにより、各フレームの信頼度が反映され、かつ、信頼度の変化がフレーム間の値の関係に影響しない、脈波の時系列データが得られる。
変換部1134は、合成された時系列データを周波数スペクトルに変換する。そして、脈拍数算出部1135は、周波数スペクトルから、脈拍数を算出する。
本変形例によれば、各部分領域から得られる画素値の、脈波の情報に対する寄与を、フレームごとに調整することができる。
部分領域に対して信頼度として一定の値が関連づけられる構成では、一時的に外乱が大きいフレームがあるだけで、その部分領域に関連づけられる信頼度は一律に低くなってしまう。それに対し、本変形例では、外乱が大きいフレームに対して局所的に信頼度が下げられるため、外乱が小さいフレームでは、当該フレームにおける当該部分領域の信頼度は影響されず、外乱が小さいフレームから得られるデータが有効に利用される。
したがって、本変形例の脈波検出装置11によれば、より精度の高い脈波検出および脈拍推定が可能になる。
[変形例2−6−1]
上記の変形例2−6において外乱の程度を算出するために用いるフレームの数は、部分領域ごとに異なっていてもよい。例えば、分析部1222は、変動が大きい可能性が高いと考えられる領域を規定する顔特徴点については、より狭い時間間隔でフレームを抽出してもよい。例えば、分析部1222は、口元や目における顔特徴点については、全てのフレームから位置を取得してもよい。逆に、分析部1222は、変動が小さい可能性が高いと考えられる領域を規定する顔特徴点については、より長い時間間隔でフレームを抽出してもよい。例えば、分析部1222は、鼻や輪郭における顔特徴点については、3秒に1フレームの割合で位置を取得してもよい。そのような構成により、精度の悪化を抑えながら計算量を削減することができる。
<<第3の実施形態>>
本発明の第3の実施形態として、上記各実施形態で説明された機能に加えて被験者の状態を示す指標を算出する機能を備える、脈波検出装置13について説明する。
図11は、脈波検出装置13の構成を示すブロック図である。脈波検出装置13は、撮像装置30と通信可能に接続され、記憶部110、顔検出部111、信頼領域設定部112、脈波情報導出部113、出力部114および状態指標算出部131を備える。
撮像装置30、記憶部110、顔検出部111、信頼領域設定部112、脈波情報導出部113および出力部114は、それぞれ、第1の実施形態の撮像装置30、記憶部110、顔検出部111、信頼領域設定部112、脈波情報導出部113および出力部114と同じでよい。信頼領域設定部112は、第2の実施形態の信頼領域設定部122でもよい。
状態指標算出部131は、被測定者の状態を示す指標である状態指標を算出する。被測定者の状態の例としては、眠気や疲労度、ストレス、感情等である。以下、状態指標算出部131が、ストレスの指標を算出する例を説明する。
脈波情報導出部113における脈波の導出により、心拍間隔(RR Interval;RRI)の時系列である心拍変動時系列が得られる。心拍変動時系列は、例えば、導出された脈波の時系列データにおいて検出される心拍(ピーク)の間隔を、時間軸に沿ってプロットすることによって得られる。あるいは、脈波情報導出部113が、脈拍数の算出の対象となる時系列データの時間の範囲をずらしながら脈拍数を算出することで脈拍数の時系列データを生成する場合、心拍変動時系列は、その時系列データにおける脈拍数を逆数に変換することによっても得られる。
状態指標算出部131は、心拍変動時系列を、フーリエ変換等を用いて、周波数領域のパワースペクトルのデータに変換する。そして、状態指標算出部131は、得られた周波数領域のデータにおいて、測定対象者のLF(Low Frequency)値と、測定対象者のHF(High Frequency)値を特定する。LF値は、例えば、0.04Hzから0.15Hzまでの範囲の信号強度の積分値、HF値は、例えば、0.15Hzから0.40Hzまでの範囲の信号強度の積分値である。なお、LF値は、被測定者の交感神経の働きを示す値、HF値は被測定者の副交感神経の働きを示す値、として知られている。そして、状態指標算出部131は、LF値をHF値で除した値であるLF/HF値を算出する。
LF/HF値は、ストレスの1つの指標である。LF/HF値が高いほど、被測定者がリラックスしていることを意味する。
状態指標算出部131は、算出されたLF/HF値と、LF/HF値の基準値とを比較した結果に基づいて、被測定者のストレスの高さを判定してもよい。例えば、状態指標算出部131は、LF/HF値が2.0以上である場合には「ストレスが高い」、0.8〜2である場合には「正常」、0.8以下である場合には「ストレスが低い」と判定してもよい。
出力部114は、状態指標算出部131により算出されたLF/HF値、および判定されたストレスの高さを示す、情報を出力する。
脈波検出装置13によれば、撮像画像から、より精度の高い検出方法により検出された脈波に基づき、被測定者の状態指標を得ることができる。
<<第4の実施形態>>
図12は、本発明の一実施形態に係る脈波検出装置10の構成を示すブロック図である。脈波検出装置10は、脈波情報導出部101と出力部102とを備える。
脈波情報導出部101は、動画像における被測定者の顔の複数の部分領域の各々に関連づけられた信頼性に基づき、複数の部分領域の各々から取得される画素値から、被測定者の脈波の情報を導出する。上記各実施形態における脈波情報導出部113は、脈波情報導出部101の一例である。
信頼性は、安定して脈波の情報が得られる領域としての信頼性である。信頼性は、一例として、部分領域から取得される画素値の変動と他の計測機器により計測された脈波との関係に基づいて算出された値で与えられる。
部分領域から取得される画素値は、部分領域に含まれる画素値から導出される画素値である。部分領域から取得される画素値は、部分領域に含まれるいずれかの画素値に一致する必要はない。部分領域から取得される画素値の例は、第1の実施形態の説明において説明された「画素代表値」である。
出力部102は、脈波情報導出部101により導出された脈波の情報を出力する。上記各実施形態における出力部114は、出力部102の一例である。
図13は、脈波検出装置10による動作の流れを示すフローチャートである。まず、脈波情報導出部101が、動画像における被測定者の顔の複数の部分領域の各々に関連づけられた信頼性に基づき、複数の部分領域の各々から取得される画素値から、被測定者の脈波の情報を導出する(ステップS101)。そして、出力部102が、脈波の情報を出力する(ステップS102)。
本実施形態の脈波検出装置10によれば、被測定者の撮像画像から、より精度よく脈波の情報を取得することができる。その理由は、脈波情報導出部101が、部分領域の各々に関連づけられた信頼性に基づいて、脈波の情報を導出するからである。
<実施形態の各部を実現するハードウェアの構成>
以上、説明した本発明の各実施形態において、各装置の各構成要素は、機能単位のブロックを示している。
各構成要素の処理は、たとえば、コンピュータシステムが、コンピュータ読み取り可能な記憶媒体により記憶された、その処理をコンピュータシステムに実行させるプログラムを、読み込み、実行することによって、実現されてもよい。「コンピュータ読み取り可能な記憶媒体」は、たとえば、光ディスク、磁気ディスク、光磁気ディスク、および不揮発性半導体メモリ等の可搬媒体、ならびに、コンピュータシステムに内蔵されるROM(Read Only Memory)およびハードディスク等の記憶装置である。「コンピュータ読み取り可能な記憶媒体」は、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントにあたるコンピュータシステム内部の揮発性メモリのように、プログラムを一時的に保持しているものも含む。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、更に前述した機能をコンピュータシステムにすでに記憶されているプログラムとの組み合わせで実現できるものであってもよい。
「コンピュータシステム」とは、一例として、図14に示されるようなコンピュータ900を含むシステムである。コンピュータ900は、以下のような構成を含む。
・CPU(Central Processing Unit)901
・ROM902
・RAM(Random Access Memory)903
・RAM903へロードされるプログラム904Aおよび記憶情報904B
・プログラム904Aおよび記憶情報904Bを格納する記憶装置905
・記憶媒体906の読み書きを行うドライブ装置907
・通信ネットワーク909と接続する通信インタフェース908
・データの入出力を行う入出力インタフェース910
・各構成要素を接続するバス911
たとえば、各実施形態における各装置の各構成要素は、その構成要素の機能を実現するプログラム904AをCPU901がRAM903にロードして実行することで実現される。各装置の各構成要素の機能を実現するプログラム904Aは、例えば、予め、記憶装置905やROM902に格納される。そして、必要に応じてCPU901がプログラム904Aを読み出す。記憶装置905は、たとえば、ハードディスクである。プログラム904Aは、通信ネットワーク909を介してCPU901に供給されてもよいし、予め記憶媒体906に格納されており、ドライブ装置907に読み出され、CPU901に供給されてもよい。なお、記憶媒体906は、たとえば、光ディスク、磁気ディスク、光磁気ディスク、および不揮発性半導体メモリ等の、可搬媒体である。
各装置の実現方法には、様々な変形例がある。例えば、各装置は、構成要素毎にそれぞれ別個のコンピュータ900とプログラムとの可能な組み合わせにより実現されてもよい。また、各装置が備える複数の構成要素が、一つのコンピュータ900とプログラムとの可能な組み合わせにより実現されてもよい。
また、各装置の各構成要素の一部または全部は、その他の汎用または専用の回路、コンピュータ等やこれらの組み合わせによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。
各装置の各構成要素の一部または全部が複数のコンピュータや回路等により実現される場合には、複数のコンピュータや回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、コンピュータや回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
本願発明は以上に説明した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
上記実施形態の一部または全部は以下の付記のようにも記載され得るが、以下には限られない。
<<付記>>
[付記1]
動画像における被測定者の顔の複数の部分領域の各々に関連づけられた、安定して脈波の情報が得られる領域としての信頼性に基づき、前記複数の部分領域の各々から取得される画素値から、前記被測定者の脈波の情報を導出する脈波情報導出手段と、
前記脈波の情報を出力する出力手段と、
を備える脈波検出装置。
[付記2]
前記部分領域に関連づけられる前記信頼性は、当該部分領域から取得される前記画素値の変動と計測機器により計測された脈波との関係に基づいて導出された値で与えられる、
付記1に記載の脈波検出装置。
[付記3]
前記顔から抽出される特徴点の位置に基づき、前記部分領域を設定する部分領域設定手段をさらに備える、付記1または2に記載の脈波検出装置。
[付記4]
前記部分領域設定手段は、前記動画像のうちの複数の画像における、前記特徴点の位置の変動の大きさに基づき、前記部分領域を設定する、付記3に記載の脈波検出装置。
[付記5]
前記変動の大きさを算出するために用いられる前記画像の数が、前記特徴点に応じて異なる、付記4に記載の脈波検出装置。
[付記6]
前記部分領域に対して、前記動画像のうちの複数の画像における、前記部分領域の変化の大きさに基づく、前記信頼性を関連づける、関連づけ手段をさらに備える、
付記1から5のいずれか一つに記載の脈波検出装置。
[付記7]
前記変動の大きさを算出するために用いられる前記画像の数が、前記部分領域に応じて異なる、付記6に記載の脈波検出装置。
[付記8]
前記関連づけ手段は、前記動画像のうちの少なくとも2つの画像における同一の前記部分領域に対し、異なる前記複数の画像の前記変化の大きさに基づいた、異なる前記信頼性を関連づける、
付記6に記載の脈波検出装置。
[付記9]
前記動画像のうちの少なくとも1つの画像における各画素に対して算出される、隣り合う画素との間の画素値の勾配が閾値以下である複数の画素から成る、前記部分領域に対して、少なくとも1つの他の前記部分領域の前記信頼性よりも高い前記信頼性を関連づける、関連づけ手段をさらに備える、
付記1から3のいずれか一つに記載の脈波検出装置。
[付記10]
人間の顔のひたいの領域、顔面動脈が通る領域、または皮膚の厚さが人間の顔の皮膚の厚さの平均よりも薄い領域の、いずれかに含まれる少なくとも1つの前記部分領域の前記信頼性が、少なくとも1つの他の前記部分領域の前記信頼性よりも高い、
付記1に記載の脈波検出装置。
[付記11]
前記脈波情報導出手段は、
前記部分領域の各々から取得される前記画素値の時系列データを前記信頼性に基づいて重みづけする重みづけ手段と、
重みづけされた前記時系列データを合成することで合成時系列データを生成する合成手段と、
前記脈波の情報として、前記合成時系列データに基づく脈拍数を算出する脈拍数算出手段と、を含む、
付記1から10のいずれか一つに記載の脈波検出装置。
[付記12]
前記脈波の情報に基づき前記被測定者の状態を表す指標を算出する状態指標算出手段をさらに備える、付記1から11のいずれか一つ記載の脈波検出装置。
[付記13]
動画像における被測定者の顔の複数の部分領域の各々に関連づけられた、安定して脈波の情報が得られる領域としての信頼性に基づき、前記複数の部分領域の各々から取得される画素値から、前記被測定者の脈波の情報を導出し、
前記脈波の情報を出力する、
脈波検出方法。
[付記14]
前記部分領域に関連づけられる前記信頼性は、当該部分領域から取得される前記画素値の変動と計測機器により計測された脈波との関係に基づいて導出された値で与えられる、
付記13に記載の脈波検出方法。
[付記15]
前記顔から抽出される特徴点の位置に基づき、前記部分領域を設定する、付記13または14に記載の脈波検出方法。
[付記16]
前記動画像のうちの複数の画像における、前記特徴点の位置の変動の大きさに基づき、前記部分領域を設定する、付記15に記載の脈波検出方法。
[付記17]
前記変動の大きさを算出するために用いられる前記画像の数が、前記特徴点に応じて異なる、付記16に記載の脈波検出方法。
[付記18]
前記部分領域に対して、前記動画像のうちの複数の画像における、前記部分領域の変化の大きさに基づく、前記信頼性を関連づける、
付記13から17のいずれか一つに記載の脈波検出方法。
[付記19]
前記変動の大きさを算出するために用いられる前記画像の数が、前記部分領域に応じて異なる、付記18に記載の脈波検出方法。
[付記20]
前記動画像のうちの少なくとも2つの画像における同一の前記部分領域に対し、異なる前記複数の画像の前記変化の大きさに基づいた、異なる前記信頼性を関連づける、
付記18に記載の脈波検出方法。
[付記21]
前記動画像のうちの少なくとも1つの画像における各画素に対して算出される、隣り合う画素との間の画素値の勾配が閾値以下である複数の画素から成る、前記部分領域に対して、少なくとも1つの他の前記部分領域の前記信頼性よりも高い前記信頼性を関連づける、
付記13から15のいずれか一つに記載の脈波検出方法。
[付記22]
人間の顔のひたいの領域、顔面動脈が通る領域、または皮膚の厚さが人間の顔の皮膚の厚さの平均よりも薄い領域の、いずれかに含まれる少なくとも1つの前記部分領域の前記信頼性が、少なくとも1つの他の前記部分領域の前記信頼性よりも高い、
付記13に記載の脈波検出方法。
[付記23]
前記部分領域の各々から取得される前記画素値の時系列データを前記信頼性に基づいて重みづけし、
重みづけされた前記時系列データを合成することで合成時系列データを生成し、
前記脈波の情報として、前記合成時系列データに基づく脈拍数を算出する、
付記13から22のいずれか一つに記載の脈波検出方法。
[付記24]
前記脈波の情報に基づき前記被測定者の状態を表す指標を算出する、付記13から23のいずれか一つ記載の脈波検出方法。
[付記25]
コンピュータに、
動画像における被測定者の顔の複数の部分領域の各々に関連づけられた、安定して脈波の情報が得られる領域としての信頼性に基づき、前記複数の部分領域の各々から取得される画素値から、前記被測定者の脈波の情報を導出する脈波情報導出処理と、
前記脈波の情報を出力する出力処理と、
を実行させるプログラム。
[付記26]
前記部分領域に関連づけられる前記信頼性は、当該部分領域から取得される前記画素値の変動と計測機器により計測された脈波との関係に基づいて導出された値で与えられる、
付記25に記載のプログラム。
[付記27]
前記顔から抽出される特徴点の位置に基づき、前記部分領域を設定する部分領域設定処理を、コンピュータに実行させる、付記25または26に記載のプログラム。
[付記28]
前記部分領域設定処理は、前記動画像のうちの複数の画像における、前記特徴点の位置の変動の大きさに基づき、前記部分領域を設定する、付記27に記載のプログラム。
[付記29]
前記変動の大きさを算出するために用いられる前記画像の数が、前記特徴点に応じて異なる、付記28に記載のプログラム。
[付記30]
前記部分領域に対して、前記動画像のうちの複数の画像における、前記部分領域の変化の大きさに基づく、前記信頼性を関連づける、関連づけ処理を、コンピュータに実行させる、
付記25から29のいずれか一つに記載のプログラム。
[付記31]
前記変動の大きさを算出するために用いられる前記画像の数が、前記部分領域に応じて異なる、付記30に記載のプログラム。
[付記32]
前記関連づけ処理は、前記動画像のうちの少なくとも2つの画像における同一の前記部分領域に対し、異なる前記複数の画像の前記変化の大きさに基づいた、異なる前記信頼性を関連づける、
付記30に記載のプログラム。
[付記33]
前記動画像のうちの少なくとも1つの画像における各画素に対して算出される、隣り合う画素との間の画素値の勾配が閾値以下である複数の画素から成る、前記部分領域に対して、少なくとも1つの他の前記部分領域の前記信頼性よりも高い前記信頼性を関連づける、関連づけ処理を、コンピュータに実行させる、
付記25から27のいずれか一つに記載のプログラム。
[付記34]
人間の顔のひたいの領域、顔面動脈が通る領域、または皮膚の厚さが人間の顔の皮膚の厚さの平均よりも薄い領域の、いずれかに含まれる少なくとも1つの前記部分領域の前記信頼性が、少なくとも1つの他の前記部分領域の前記信頼性よりも高い、
付記25に記載のプログラム。
[付記35]
前記脈波情報導出処理は、
前記部分領域の各々から取得される前記画素値の時系列データを前記信頼性に基づいて重みづけする重みづけ処理と、
重みづけされた前記時系列データを合成することで合成時系列データを生成する合成処理と、
前記脈波の情報として、前記合成時系列データに基づく脈拍数を算出する脈拍数算出処理と、を含む、
付記25から34のいずれか一つに記載のプログラム。
[付記36]
前記脈波の情報に基づき前記被測定者の状態を表す指標を算出する状態指標算出処理を、コンピュータに実行させる、付記25から35のいずれか一つ記載のプログラム。