(57)【要約】  脈波検出装置（１０）は、画像を取得する。さらに、脈波検出装置（１０）は、画像に顔検出を実行する。さらに、脈波検出装置（１０）は、画像が取得されたフレームとフレームよりも前のフレームに対し、顔検出の結果にしたがって同一の関心領域を設定する。さらに、脈波検出装置（１０）は、フレーム及び前のフレームの間で得られる輝度差から脈波信号を検出する。
2016006027.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが、
画像を取得し、
前記画像に顔検出を実行し、
前記画像が取得されたフレームと前記フレームよりも前のフレームに対し、前記顔検出の結果にしたがって同一の関心領域を設定し、
前記フレーム及び前記前のフレームの間で得られる輝度差から脈波信号を検出する
処理を実行することを特徴とする脈波検出方法。
【請求項２】
前記コンピュータが、
前記関心領域が設定された場合に、前記関心領域と、前記関心領域が設定される前に設定されていた関心領域との間で重複する部分の画素に、重複しない部分の画素よりも大きい重みを付与し、
前記フレーム及び前記前のフレームごとに、前記関心領域内の各画素に付与された重みにしたがって前記関心領域内の各画素の輝度値に対する平均処理を行う処理をさらに実行することを特徴とする請求項１に記載の脈波検出方法。
【請求項３】
前記コンピュータが、
前記関心領域が設定された場合に、前記関心領域を形成する外周の境界部分に存在する画素と、前記関心領域を形成する中心部分に存在する画素との間で異なる重みを付与し、
前記フレーム及び前記前のフレームごとに、前記関心領域内の各画素に付与された重みにしたがって前記関心領域内の各画素の輝度値に対する平均処理を行う処理をさらに実行することを特徴とする請求項１に記載の脈波検出方法。
【請求項４】
前記コンピュータが、
前記関心領域をブロックに分割し、
前記フレーム及び前記前のフレームの間で同一の位置にあるブロック同士の輝度の代表値の差分が所定の閾値未満である場合に当該ブロックを抽出し、
前記フレーム及び前記前のフレームごとに、抽出されたブロック内の各画素の輝度値を用いて、前記関心領域内の輝度の代表値を算出する処理をさらに実行することを特徴とする請求項１に記載の脈波検出方法。
【請求項５】
コンピュータに、
画像を取得し、
前記画像に顔検出を実行し、
前記画像が取得されたフレームと前記フレームよりも前のフレームに対し、前記顔検出の結果にしたがって同一の関心領域を設定し、
前記フレーム及び前記前のフレームの間で得られる輝度差から脈波信号を検出する
処理を実行させることを特徴とする脈波検出プログラム。
【請求項６】
前記コンピュータに、
前記関心領域が設定された場合に、前記関心領域と、前記関心領域が設定される前に設定されていた関心領域との間で重複する部分の画素に、重複しない部分の画素よりも大きい重みを付与し、
前記フレーム及び前記前のフレームごとに、前記関心領域内の各画素に付与された重みにしたがって前記関心領域内の各画素の輝度値に対する平均処理を行う処理をさらに実行させることを特徴とする請求項５に記載の脈波検出プログラム。
【請求項７】
前記コンピュータに、
前記関心領域が設定された場合に、前記関心領域を形成する外周の境界部分に存在する画素と、前記関心領域を形成する中心部分に存在する画素との間で異なる重みを付与し、
前記フレーム及び前記前のフレームごとに、前記関心領域内の各画素に付与された重みにしたがって前記関心領域内の各画素の輝度値に対する平均処理を行う処理をさらに実行させることを特徴とする請求項５に記載の脈波検出プログラム。
【請求項８】
前記コンピュータに、
前記関心領域をブロックに分割し、
前記フレーム及び前記前のフレームの間で同一の位置にあるブロック同士の輝度の代表値の差分が所定の閾値未満である場合に当該ブロックを抽出し、
前記フレーム及び前記前のフレームごとに、抽出されたブロック内の各画素の輝度値を用いて、前記関心領域内の輝度の代表値を算出する処理をさらに実行させることを特徴とする請求項５に記載の脈波検出プログラム。
【請求項９】
画像を取得する取得部と、
前記画像に顔検出を実行する顔検出部と、
前記画像が取得されたフレームと前記フレームよりも前のフレームに対し、前記顔検出の結果にしたがって同一の関心領域を設定する設定部と、
前記フレーム及び前記前のフレームの間で得られる輝度差から脈波信号を検出する脈波検出部と
を有することを特徴とする脈波検出装置。
【請求項１０】
前記関心領域が設定された場合に、前記関心領域と、前記関心領域が設定される前に設定されていた関心領域との間で重複する部分の画素に、重複しない部分の画素よりも大きい重みを付与する重み付け部と、
前記フレーム及び前記前のフレームごとに、前記関心領域内の各画素に付与された重みにしたがって前記関心領域内の各画素の輝度値に対する平均処理を行う算出部とをさらに有することを特徴とする請求項９に記載の脈波検出装置。
【請求項１１】
前記関心領域が設定された場合に、前記関心領域を形成する外周の境界部分に存在する画素と、前記関心領域を形成する中心部分に存在する画素との間で異なる重みを付与する重み付け部と、
前記フレーム及び前記前のフレームごとに、前記関心領域内の各画素に付与された重みにしたがって前記関心領域内の各画素の輝度値に対する平均処理を行う算出部とをさらに有することを特徴とする請求項９に記載の脈波検出装置。
【請求項１２】
前記関心領域をブロックに分割する分割部と、
前記フレーム及び前記前のフレームの間で同一の位置にあるブロック同士の輝度の代表値の差分が所定の閾値未満である場合に当該ブロックを抽出する抽出部と、
前記フレーム及び前記前のフレームごとに、抽出されたブロック内の各画素の輝度値を用いて、前記関心領域内の輝度の代表値を算出する算出部とをさらに有することを特徴とする請求項９に記載の脈波検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、脈波検出方法、脈波検出プログラム及び脈波検出装置に関する。
【背景技術】
【０００２】
血液の体積の変動、いわゆる脈波を検出する技術の一例として、利用者が撮影された画像から心拍を測定する心拍測定方法が提案されている。かかる心拍測定方法では、Ｗｅｂカメラによって撮像された画像から顔領域を検出し、顔領域内の輝度平均値をＲＧＢ成分ごとに算出する。そして、心拍測定方法では、ＲＧＢごとの輝度平均値の時系列データにＩＣＡ（Independent  Component  Analysis）を適用した上でＩＣＡの実行後の３つの成分波形のうち１つの成分波形にＦＦＴ（Fast  Fourier  Transform）を適用する。その上で、心拍測定方法では、ＦＦＴで求めたピーク周波数から心拍数を推定する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−３３１２６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の技術には、次に説明するように、脈波の検出精度が低下する場合がある。【０００５】
すなわち、画像から心拍数を測定する場合、脈波による輝度変化が現れる生体の部分を関心領域として抽出するために、Ｗｅｂカメラが撮像する画像に対し、テンプレートマッチング等を用いた顔検出が実行される。ところが、顔検出では、顔領域が検出される位置に誤差が生じる上、画像上で顔に動きがない場合であっても必ずしも画像上の同一の位置に顔領域が検出されるとは限らない。このため、顔の動きがなくとも、画像のフレーム間で顔領域が検出される位置にバラツキが生じる場合がある。この場合、画像から採取される輝度平均値の時系列データには、脈波による輝度変化よりも顔領域が検出される位置のバラツキによる輝度変化の方が大きく現れる結果、脈波の検出精度が低下する。【０００６】
１つの側面では、脈波の検出精度の低下を抑制できる脈波検出方法、脈波検出プログラム及び脈波検出装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
一態様の脈波検出方法は、コンピュータが、画像を取得し、前記画像に顔検出を実行し、前記画像が取得されたフレームと前記フレームよりも前のフレームに対し、前記顔検出の結果にしたがって同一の関心領域を設定し、前記フレーム及び前記前のフレームの間で得られる輝度差から脈波信号を検出する処理を実行する。
【発明の効果】
【０００８】
脈波の検出精度の低下を抑制できる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施例１に係る脈波検出装置の機能的構成を示すブロック図である。
【図２】図２は、ＲＯＩの配置位置の算出例を示す図である。
【図３】図３は、実施例１に係る脈波検出処理の手順を示すフローチャートである。
【図４】図４は、ＲＯＩの位置変化と輝度変化との関係の一例を示す図である。
【図５】図５は、ＲＯＩの位置変化と輝度変化との関係の一例を示す図である。
【図６】図６は、顔の位置変化による輝度変化の一例を示す図である。
【図７】図７は、脈拍に伴う輝度変化の一例を示す図である。
【図８】図８は、輝度の時間変化の一例を示す図である。
【図９】図９は、実施例２に係る脈波検出装置の機能的構成を示すブロック図である。
【図１０】図１０は、重み付け方法の一例を示す図である。
【図１１】図１１は、重み付け方法の一例を示す図である。
【図１２】図１２は、実施例２に係る脈波検出処理の手順を示すフローチャートである。
【図１３】図１３は、実施例３に係る脈波検出装置の機能的構成を示すブロック図である。
【図１４】図１４は、ＲＯＩの遷移例を示す図である。
【図１５】図１５は、ブロックの抽出例を示す図である。
【図１６】図１６は、実施例３に係る脈波検出処理の手順を示すフローチャートである。
【図１７】図１７は、実施例１〜実施例４に係る脈波検出プログラムを実行するコンピュータの一例について説明するための図である。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して本願に係る脈波検出方法、脈波検出プログラム及び脈波検出装置について説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１１】
［脈波検出装置の構成］
図１は、実施例１に係る脈波検出装置の機能的構成を示すブロック図である。図１に示す脈波検出装置１０は、太陽光や室内光などの一般の環境光の下で人体に計測器具を接触させずに、生体が撮影された画像を用いて、脈波、すなわち心臓の拍動に伴う血液の体積の変動を測定する脈波検出処理を実行するものである。【００１２】
一実施形態として、脈波検出装置１０は、上記の脈波検出処理がパッケージソフトウェアやオンラインソフトウェアとして提供される脈波検出プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、スマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）などの移動体通信端末のみならず、デジタルカメラ、タブレット端末やスレート端末を含む携帯端末装置全般に上記の脈波検出プログラムをインストールさせる。これによって、携帯端末装置を脈波検出装置１０として機能させることができる。なお、ここでは、脈波検出装置１０が携帯端末装置として実装される場合を例示したが、パーソナルコンピュータを始めとする据置き型の端末装置が脈波検出装置１０として実装されることとしてもかまわない。【００１３】
図１に示すように、脈波検出装置１０は、表示部１１と、カメラ１２と、取得部１３と、画像記憶部１４と、顔検出部１５と、ＲＯＩ（Region  of  Interest）設定部１６と、算出部１７と、脈波検出部１８とを有する。【００１４】
表示部１１は、各種の情報を表示する表示デバイスである。【００１５】
一実施形態として、表示部１１には、モニタやディスプレイを採用したり、入力デバイスと一体化することによってタッチパネルとして実装したりすることもできる。例えば、表示部１１には、脈波検出装置１０上で動作するＯＳ（Operating  System）やアプリケーションプログラムが出力する画像、あるいは外部装置から供給される画像などが表示される。【００１６】
カメラ１２は、ＣＣＤ（Charge  Coupled  Device）やＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）などの撮像素子を搭載する撮像装置である。【００１７】
一実施形態として、カメラ１２には、携帯端末装置に標準装備されるインカメラやアウトカメラを流用できる。他の実施形態として、Ｗｅｂカメラやデジタルカメラを外部端子を介して接続することによってカメラ１２を実装することもできる。なお、ここでは、脈波検出装置１０がカメラ１２を搭載する場合を例示したが、ネットワークまたは記憶メディアを含む記憶デバイスを経由して画像を取得できる場合には、必ずしも脈波検出装置１０がカメラ１２を有さずともよい。【００１８】
例えば、カメラ１２は、横３２０画素×縦２４０画素の矩形の画像を撮像することができる。例えば、グレースケールの場合、各画素は、明るさの階調値（輝度）で与えられる。例えば、整数ｉ，ｊで示される座標（ｉ，ｊ）の画素の輝度（Ｌ）の階調値は、８ｂｉｔのディジタル値Ｌ（ｉ，ｊ）などで与えられる。また、カラー画像の場合、各画素は、Ｒ（red）成分、Ｇ（green）成分およびＢ（blue）成分の階調値で与えられる。例えば、整数ｉ，ｊで示される座標（ｉ，ｊ）の画素のＲ、Ｇ、Ｂの階調値は、それぞれディジタル値Ｒ（ｉ，ｊ）、Ｇ（ｉ，ｊ）、Ｂ（ｉ，ｊ）などで与えられる。なお、ＲＧＢの組み合わせ、あるいはＲＧＢ値を変換して求まる他の表色系、例えばＨＳＶ（Hue  Saturation  Value）表色系やＹＵＶ表色系などを使用してもかまわない。【００１９】
ここで、脈波の検出に用いる画像が撮像される場面の一例について説明する。一例として、脈波検出装置１０が携帯端末装置として実装されており、携帯端末装置が有するインカメラによって利用者の顔が撮影される場合を想定する。一般に、インカメラは、表示部１１のスクリーンが存在する側と同じ側に設置される。このため、利用者が表示部１１に表示された画像を閲覧する場合には、利用者の顔が表示部１１のスクリーンと向き合う形になる。このように、利用者がスクリーンの表示画像を閲覧する場合には、利用者の顔が表示部１１だけでなく、表示部１１と同じ側に設けられたカメラ１２とも向き合うこととなる。【００２０】
このような状況で撮影が実施される場合、カメラ１２が撮像する画像には、一例として、次のような傾向が現れる。例えば、カメラ１２によって撮像される画像には、利用者の顔が映る可能性が高い傾向にある。また、画像に利用者の顔が映る場合、スクリーンに対する利用者の顔の向きが正面であるケースが多い傾向にある。これに加え、スクリーンとの距離が一定の距離で撮影された画像が多く得られる傾向にある。このため、画像に映る利用者の顔の大きさも、フレーム間で一定もしくは一定とみなすことができる程度の変化であることが期待できる。これらのことから、画像から検出された顔領域から脈波の検出に用いる関心領域、いわゆるＲＯＩを設定する場合に、ＲＯＩを設定する画像上の位置はともかく、ＲＯＩのサイズは一定とすることもできる。【００２１】
また、上記の脈波検出プログラムが脈波検出装置１０のプロセッサ上で実行される条件としては、次のような条件を挙げることができる。例えば、図示しない入力デバイスを介して起動操作がなされたことを契機に起動することもできるし、表示部１１にコンテンツが表示されたことを契機にバックグラウンドで起動することもできる。【００２２】
例えば、上記の脈波検出プログラムがバックグラウンドで動作する場合には、表示部１１にコンテンツを表示させながら、そのバックグラウンドでカメラ１２が撮像を開始する。これによって、利用者が表示部１１のスクリーンに顔を向けてコンテンツを閲覧する様子が画像として撮像される。かかるコンテンツは、文書、映像、動画などを始め、任意の種類の表示物であってよく、脈波検出装置１０に保存されたものであってもよいし、Ｗｅｂサーバなどの外部装置から取得されたものであってもかまわない。このように、コンテンツが表示されると、コンテンツの閲覧が終了するまで利用者が表示部１１を注視する可能性が高いので、利用者の顔が映った画像、すなわち脈波の検出に適用可能な画像が継続して取得されることが期待できる。さらに、表示部１１にコンテンツが表示されるバックグラウンドでカメラ１２が撮像する画像から脈波を検出することができれば、脈波検出装置１０の利用者に意識させずに、健康管理を行ったり、静止画や動画を含むコンテンツを評価したりすることができる。【００２３】
また、上記の脈波検出プログラムが利用者の起動操作によって起動される場合には、表示部１１による画像表示や図示しないスピーカからの音声出力などを通じて、撮影手順を案内できる。例えば、脈波検出プログラムは、入力デバイスを介して起動されると、カメラ１２を起動する。これを受けて、カメラ１２は、カメラ１２の撮像範囲に収容された被写体の撮像を開始する。このとき、脈波検出プログラムは、カメラ１２が撮像する画像を表示部１１に表示させつつ、表示部１１が表示する画像上に利用者の鼻を映す目標位置を照準として表示させることもできる。これによって、利用者の眼、耳、鼻や口などの顔パーツの中でも鼻が撮像範囲の中心部分に収まった状態で撮影できるようにする。【００２４】
取得部１３は、画像を取得する処理部である。【００２５】
一実施形態として、取得部１３は、カメラ１２によって撮像される画像を取得する。他の実施形態として、取得部１３は、ＨＤＤ（Hard  Disk  Drive）、ＳＳＤ（Solid  State  Drive）や光ディスクなどの補助記憶装置またはメモリカードやＵＳＢ（Universal  Serial  Bus）メモリなどのリムーバブルメディアを経由して画像を取得することもできる。更なる実施形態として、取得部１３は、外部装置からネットワークを介して受信することによって画像を取得することもできる。なお、取得部１３は、ＣＣＤやＣＭＯＳなどの撮像素子による出力から得られる２次元のビットマップデータやベクタデータなどの画像データを用いて処理を実行する場合を例示したが、１つのディテクタから出力される信号をそのまま取得して後段の処理を実行させることとしてもよい。【００２６】
画像記憶部１４は、画像を記憶する記憶部である。【００２７】
一実施形態として、画像記憶部１４には、カメラ１２によって撮像が実行される度に、当該撮像で得られた画像が保存される。このとき、画像記憶部１４には、所定の圧縮符号化方式によってエンコードされた動画が保存されることとしてもよいし、利用者の顔が映る静止画の集合が保存されることとしてもよい。また、画像記憶部１４は、必ずしも画像を恒久的に記憶せずともかまわない。例えば、画像が登録されてから所定の期間が経過した場合に、当該画像を画像記憶部１４から削除することができる。また、画像記憶部１４へ登録された最新のフレームから所定フレーム前までの画像は、画像記憶部１４に保存する一方で、それ以前に登録されたフレームは画像記憶部１４から削除することもできる。なお、ここでは、カメラ１２によって撮像された画像が保存される場合を例示したが、ネットワークを介して受信した画像が保存されることとしてもかまわない。【００２８】
顔検出部１５は、取得部１３によって取得される画像に顔検出を行う処理部である。【００２９】
一実施形態としては、顔検出部１５は、画像にテンプレートマッチング等の顔認識を実行することによって眼、耳、鼻や口などの顔の器官、いわゆる顔パーツを認識する。そして、顔検出部１５は、取得部１３によって取得された画像のうち顔パーツ、例えば両眼、鼻及び口を含む所定の範囲の領域を顔領域として抽出する。その上で、顔検出部１５は、画像上における顔領域の位置を後段の処理部、すなわちＲＯＩ設定部１６へ出力する。例えば、顔領域として抽出する領域の形状を矩形とする場合、顔検出部１５は、顔領域を形成する４つの頂点の座標をＲＯＩ設定部１６へ出力することができる。このとき、顔検出部１５は、顔領域を形成する４つの頂点のうちいずれか１つの頂点の座標と顔領域の高さ及び幅とをＲＯＩ設定部１６へ出力することもできる。なお、顔検出部１５は、顔領域の代わりに、画像に含まれる顔パーツの位置を出力することもできる。【００３０】
ＲＯＩ設定部１６は、ＲＯＩを設定する処理部である。【００３１】
一実施形態として、ＲＯＩ設定部１６は、取得部１３によって画像が取得される度に、前後に連続するフレーム間で同一のＲＯＩを設定する。例えば、取得部１３によってＮ番目のフレームが取得されたとしたとき、ＲＯＩ設定部１６は、当該Ｎ番目のフレームに対応する画像を基準に、Ｎ番目のフレーム及びＮ−１番目のフレームに設定するＲＯＩの配置位置を算出する。かかるＲＯＩの配置位置は、一例として、Ｎ番目のフレームに対応する画像の顔検出結果から算出することができる。また、ＲＯＩの形状として矩形が採用される場合、ＲＯＩの配置位置は、一例として、矩形の頂点のいずれかの座標または重心の座標によって表すことができる。なお、以下では、一例として、ＲＯＩのサイズが固定される場合を例示するが、顔検出結果によってＲＯＩのサイズを拡大または縮小することができるのは言うまでもない。また、以下では、Ｎ番目のフレームのことを「フレームＮ」と記載する場合がある。加えて、他の順番、例えばＮ−１番目のフレームなどについてもＮ番目のフレームの表記に準じて記載する場合がある。【００３２】
具体的には、ＲＯＩ設定部１６は、顔領域に含まれる両眼よりも鉛直下方向の位置をＲＯＩの配置位置として算出する。図２は、ＲＯＩの配置位置の算出例を示す図である。図２に示す符号２００は、取得部１３によって取得された画像を指し、符号２１０は、画像２００から顔検出された顔領域を指す。図２に示すように、ＲＯＩの配置位置は、一例として、顔領域２１０に含まれる左目２１０Ｌ及び右目２１０Ｒよりも鉛直下方向の位置に算出される。このように両眼２１０Ｌ及び２１０Ｒよりも鉛直下方向の位置をＲＯＩの配置位置とするのは、ＲＯＩに眼を含めることによって瞬きによる輝度変化が脈波信号に現れるのを抑制するためである。さらに、ＲＯＩの水平方向の幅を両眼２１０Ｌ及び２１０Ｒの幅と同程度とするのは、両眼の外側で顔の輪郭が両眼の内側よりも大きく変化することが原因となって照明等の反射方向が大きく異なり、ＲＯＩに大きな輝度勾配が含まれる可能性も高まるからである。このようにＲＯＩの配置位置が算出された後に、ＲＯＩ設定部１６は、フレームＮの画像及びフレームＮ−１の画像に対し、先に算出された配置位置に同一のＲＯＩを設定する。【００３３】
算出部１７は、画像のフレーム間でＲＯＩの輝度差を算出する処理部である。【００３４】
一実施形態として、算出部１７は、フレームＮ及びフレームＮ−１の各フレームごとに、当該フレームに設定されたＲＯＩ内の輝度の代表値を算出する。このとき、過去に取得されたフレームＮ−１においてＲＯＩ内の輝度の代表値を求める場合、画像記憶部１４に記憶されたフレームＮ−１の画像を用いることができる。このように輝度の代表値を求める場合、一例として、ＲＧＢ成分のうちヘモグロビンの吸光特性が高いＧ成分の輝度値を用いる。例えば、算出部１７は、ＲＯＩに含まれる各画素が持つＧ成分の輝度値を平均する。この他、平均以外にも、中央値や最頻値を計算することとしてもよく、また、上記の平均処理として、相加平均を実行することとしてもよいし、他の任意の平均処理、例えば加重平均や移動平均などを実行することもできる。また、Ｇ成分以外のＲ成分またはＢ成分の輝度値を用いることとしてもよいし、ＲＧＢの各波長成分の輝度値を用いることとしてもかまわない。これによって、フレームごとにＲＯＩを代表するＧ成分の輝度値が得られる。その後、算出部１７は、フレームＮ及びフレームＮ−１の間でＲＯＩの代表値の差分を算出する。例えば、算出部１７は、フレームＮにおけるＲＯＩの代表値からフレームＮ−１におけるＲＯＩの代表値を減算する計算によってフレーム間におけるＲＯＩの輝度差を求める。【００３５】
脈波検出部１８は、フレーム間におけるＲＯＩの輝度差から脈波を検出する処理部である。【００３６】
一実施形態として、脈波検出部１８は、連続する各フレーム間で算出されたＲＯＩの輝度差を積算する。これによって、カメラ１２が撮像する画像のフレーム周波数に対応するサンプリング周期でＲＯＩのＧ成分の輝度の変化量がサンプリングされる脈波信号を生成することができる。例えば、脈波検出部１８は、算出部１７によってＲＯＩの輝度差が算出される度に、次のような処理を実行する。すなわち、脈波検出部１８は、フレームＮの画像が取得されるまでの間に各フレーム間におけるＲＯＩの輝度差が積算された積算値、すなわちフレーム１からフレームＮ−１までの各フレーム間で算出されたＲＯＩの輝度差が積算された積算値に、フレームＮ及びフレームＮ−１の間におけるＲＯＩの輝度差を積算する。これによって、Ｎ番目のフレームが取得されたサンプリング時刻までの脈波信号を生成できる。なお、Ｎ−１番目のフレームまでの振幅値には、フレーム１から各サンプリング時刻に対応するフレームまでの区間の各フレーム間で算出されたＲＯＩの輝度差が積算された積算値が用いられる。【００３７】
このようにして得た脈波信号から人の脈波に対応する周波数帯から外れた成分を除去してもよい。例えば、除去方法の一例として、所定の閾値の間の周波数成分のみを抽出するバンドパスフィルタを用いることができる。かかるバンドパスフィルタのカットオフ周波数の一例としては、人の脈波周波数の下限である３０ｂｐｍに対応する下限周波数と上限である２４０ｂｐｍに対応する上限周波数とを設定することができる。【００３８】
また、ここでは、Ｇ成分を用いて脈波信号を検出する場合を例示したが、Ｇ成分以外のＲ成分またはＢ成分の輝度値を用いることとしてもよいし、ＲＧＢの各波長成分の輝度値を用いることとしてもかまわない。【００３９】
例えば、脈波検出部１８は、３つの波長成分、すなわちＲ成分、Ｇ成分およびＢ成分のうち血液の吸光特定が異なるＲ成分とＧ成分の２つの波長成分の代表値の時系列データを用いて、脈波信号を検出する。【００４０】
これを具体的に説明すると、血液の吸光特性の異なる２種類以上の波長、例えば吸光特性が高いＧ成分（５２５ｎｍ程度）、吸光特性が低いＲ成分（７００ｎｍ程度）で脈波を検出する。心拍は、０．５Ｈｚ〜４Ｈｚ、１分あたりに換算すれば３０ｂｐｍ〜２４０ｂｐｍの範囲であるので、それ以外の成分はノイズ成分とみなすことができる。ノイズには、波長特性は無い、あるいはあっても極小であると仮定すると、Ｇ信号およびＲ信号の間で０．５Ｈｚ〜４Ｈｚ以外の成分は等しいはずであるが、カメラの感度差により大きさが異なる。それゆえ、０．５Ｈｚ〜４Ｈｚ以外の成分の感度差を補正して、Ｇ成分からＲ成分を減算すれば、ノイズ成分は除去されて脈波成分のみを取り出すことができる。【００４１】
例えば、Ｇ成分及びＲ成分は、下記の式（１）および下記の式（２）によって表すことができる。下記の式（１）における「Ｇｓ」は、Ｇ信号の脈波成分を指し、「Ｇｎ」は、Ｇ信号のノイズ成分を指し、また、下記の式（２）における「Ｒｓ」は、Ｒ信号の脈波成分を指し、「Ｒｎ」は、Ｒ信号のノイズ成分を指す。また、ノイズ成分は、Ｇ成分およびＲ成分の間で感度差があるので、感度差の補正係数ｋは、下記の式（３）によって表される。【００４２】
Ｇａ＝Ｇｓ＋Ｇｎ・・・（１）
Ｒａ＝Ｒｓ＋Ｒｎ・・・（２）
ｋ＝Ｇｎ／Ｒｎ・・・（３）【００４３】
感度差を補正してＧ成分からＲ成分を減算すると、脈波成分Ｓは、下記の式（４）となる。これを上記の式（１）及び上記の式（２）を用いて、Ｇｓ、Ｇｎ、Ｒｓ及びＲｎによって表される式へ変形すると、下記の式（５）となり、さらに、上記の式（３）を用いて、ｋを消し、式を整理すると下記の式（６）が導出される。【００４４】
Ｓ＝Ｇａ−ｋＲａ・・・（４）
Ｓ＝Ｇｓ＋Ｇｎ−ｋ（Ｒｓ＋Ｒｎ）・・・（５）
Ｓ＝Ｇｓ−（Ｇｎ／Ｒｎ）Ｒｓ・・・（６）【００４５】
ここで、Ｇ信号およびＲ信号は、ヘモグロビンの吸光特性が異なり、Ｇｓ＞（Ｇｎ／Ｒｎ）Ｒｓである。したがって、上記の式（６）によってノイズが除去された脈波成分Ｓを算出することができる。【００４６】
このようにして脈波信号が得られた後、脈波検出部１８は、脈波の検出結果の一態様として、先に得られた脈波信号の波形をそのまま出力することもできるし、脈波信号から求めた脈拍数を出力することもできる。【００４７】
例えば、脈拍数を計算する方法の一例として、脈波信号の振幅値が出力される度に、脈波信号の波形のピーク検出、例えば微分波形のゼロクロス点の検出などを実行する。このとき、脈波検出部１８は、ピーク検出によって脈波信号の波形のピークが検出された場合に、当該ピーク、すなわち極大点が検出されたサンプリング時刻を図示しない内部メモリに保存する。その上で、脈波検出部１８は、ピークが出現した時点で、所定のパラメータｎ個前の極大点との時刻差を求め、それをｎで除算することによって脈拍数を検出することができる。なお、ここでは、ピーク間隔によって脈拍数を検出する場合を例示したが、脈波信号を周波数成分へ変換することによって脈波に対応する周波数帯、例えば４０ｂｐｍ以上２４０ｂｐｍ以下の周波数帯でピークをとる周波数から脈拍数を算出することもできる。【００４８】
このようにして得られる脈拍数や脈波波形は、表示部１１を始め、任意の出力先へ出力することができる。例えば、脈拍数や脈拍周期のゆらぎから自律神経の働きを診断したり、脈波信号から心疾患等を診断したりする診断プログラムが脈波検出装置１０にインストールされている場合には、診断プログラムを出力先とすることができる。また、診断プログラムをＷｅｂサービスとして提供するサーバ装置などを出力先とすることもできる。さらに、脈波検出装置１０を利用する利用者の関係者、例えば介護士や医者などが使用する端末装置を出力先とすることもできる。これによって、院外、例えば在宅や在席のモニタリングサービスも可能になる。なお、診断プログラムの測定結果や診断結果も、脈波検出装置１０を始め、関係者の端末装置に表示させることができるのも言うまでもない。【００４９】
なお、上記の取得部１３、顔検出部１５、ＲＯＩ設定部１６、算出部１７及び脈波検出部１８は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などに脈波検出プログラムを実行させることによって実現できる。また、上記の各処理部は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などのハードワイヤードロジックによっても実現できる。【００５０】
また、上記の画像記憶部１４や各処理部がワークエリアとして用いる内部メモリには、一例として、半導体メモリ素子を採用できる。例えば、半導体メモリ素子の一例としては、ＶＲＡＭ（Video  Random  Access  Memory）、ＲＡＭ（Random  Access  Memory)、ＲＯＭ（Read  Only  Memory）やフラッシュメモリ（flash  memory）などが挙げられる。また、主記憶装置の代わりに、ＳＳＤ、ＨＤＤや光ディスクなどの外部記憶装置を採用することとしてもよい。【００５１】
また、脈波検出装置１０は、図１に示した機能部以外にも既知のコンピュータが有する各種の機能部を有することとしてもかまわない。例えば、脈波検出装置１０が据置き端末として実装される場合には、キーボード、マウスやディスプレイなどの入出力デバイスをさらに有することとしてもよい。また、脈波検出装置１０がタブレット端末やスレート端末として実装される場合には、加速度センサや角速度センサなどのモーションセンサをさらに有することとしてもよい。また、脈波検出装置１０が移動体通信端末として実装される場合には、アンテナ、移動体通信網に接続する無線通信部、ＧＰＳ（Global  Positioning  System）受信機などの機能部をさらに有していてもかまわない。【００５２】
［処理の流れ］
次に、本実施例に係る脈波検出装置１０の処理の流れについて説明する。図３は、実施例１に係る脈波検出処理の手順を示すフローチャートである。この処理は、脈波検出プログラムがアクティブな状態にある場合に実行することもできるし、脈波検出プログラムがバックグラウンドで動作している場合にも実行することができる。【００５３】
図３に示すように、取得部１３によってフレームＮの画像が取得されると（ステップＳ１０１）、顔検出部１５は、ステップＳ１０１で取得されたフレームＮの画像に顔検出を実行する（ステップＳ１０２）。【００５４】
続いて、ＲＯＩ設定部１６は、ステップＳ１０２で検出されたフレームＮの画像に対する顔検出結果から、フレームＮ及びフレームＮ−１に対応する画像に設定するＲＯＩの配置位置を算出する（ステップＳ１０３）。その上で、ＲＯＩ設定部１６は、フレームＮ及びフレームＮ−１の両画像に対し、ステップＳ１０３で算出された配置位置に同一のＲＯＩを設定する（ステップＳ１０４）。【００５５】
そして、算出部１７は、フレームＮ及びフレームＮ−１の各フレームごとに、当該フレームの画像に設定されたＲＯＩ内の輝度の代表値を算出する（ステップＳ１０５）。続いて、算出部１７は、フレームＮ及びフレームＮ−１の間でＲＯＩの輝度差を算出する（ステップＳ１０６）。【００５６】
その後、脈波検出部１８は、フレーム１からフレームＮ−１までの各フレーム間で算出されたＲＯＩの輝度差が積算された積算値に、フレームＮ及びフレームＮ−１の間におけるＲＯＩの輝度差を積算する（ステップＳ１０７）。これによって、Ｎ番目のフレームが取得されたサンプリング時刻までの脈波信号を得ることができる。【００５７】
そして、脈波検出部１８は、ステップＳ１０７の演算の結果から、Ｎ番目のフレームが取得されたサンプリング時刻までの脈波信号、あるいは脈拍数などの脈波を検出し（ステップＳ１０８）、処理を終了する。【００５８】
［効果の一側面］
上述してきたように、本実施例に係る脈波検出装置１０は、カメラ１２で撮像された画像の顔検出結果から輝度差を計算するＲＯＩを設定する場合にフレーム間で同一のＲＯＩを設定し、ＲＯＩ内の輝度差から脈波信号を検出する。したがって、本実施例に係る脈波検出装置１０によれば、脈波の検出精度の低下を抑制できる。さらに、本実施例に係る脈波検出装置１０では、顔領域の座標の出力にローパスフィルタを適用することによってＲＯＩの位置変化を安定化させずとも、脈波の検出精度の低下を抑制できる。このため、リアルタイム処理にも適用できる結果、汎用性も高めることができる。【００５９】
ここで、フレーム間で同一のＲＯＩを設定する技術的意義の一側面について説明する。図４及び図５は、ＲＯＩの位置変化と輝度変化との関係の一例を示す図である。図４には、顔検出結果にしたがってフレーム間でＲＯＩを更新させる場合の輝度変化が示されるとともに、図５には、フレーム間でＲＯＩの移動量が閾値以下である場合にＲＯＩの更新を制限する場合の輝度変化が示されている。図４及び図５に示す破線は、Ｇ成分の輝度値の時間変化を表し、図４及び図５に示す実線は、ＲＯＩを形成する矩形の左上の頂点におけるＹ座標（鉛直方向）の時間変化を表すこととする。【００６０】
図４に示すように、フレーム間でのＲＯＩの更新に制限を設けない場合、脈波信号の振幅以上のノイズが発生することがわかる。例えば、図４の領域３００では、ＲＯＩの座標値が数ピクセル変化すると、Ｇ成分の輝度値が４〜５にわたって変化している。一般に、脈波による輝度変化が１〜２の振幅であるので、ＲＯＩの更新が脈波信号の数倍のノイズとなっていることがわかる。【００６１】
一方、図５に示すように、フレーム間でのＲＯＩの更新に制限を設ける場合にも、脈波信号の振幅以上のノイズが発生することがわかる。すなわち、図５の領域３１０では、ＲＯＩの移動量が閾値を超え、ＲＯＩの更新が実施されている。この場合、図４の領域３００と同様に、ＲＯＩの座標値が数ピクセル変化し、これに伴ってＧ成分の輝度値が４〜５にわたって変化してしまう。【００６２】
このようなＲＯＩの更新に伴うノイズは、上述のように、フレーム間で同一のＲＯＩを設定することによって低減できる。すなわち、前後のフレームの画像内の同一ＲＯＩにおいて、脈拍の輝度変化が、顔の位置変動による輝度変化よりも相対的に大きくなるという知見を利用することで、低ノイズの脈拍信号を検出できる。【００６３】
以下に、典型的な状況における両者の変化量の具体例を示す。【００６４】
図６は、顔の位置変化による輝度変化の一例を示す図である。図６には、顔検出結果から算出されたＲＯＩの配置位置を同一の画像上で水平方向、すなわち図中の左から右へ移動させた場合のＧ成分の輝度変化が示されている。図６に示す縦軸は、Ｇ成分の輝度値を指し、横軸は、ＲＯＩを形成する矩形の左上の頂点におけるＸ座標（水平方向）の移動量、例えばオフセット値を指す。【００６５】
図６に示すように、オフセットが０ピクセル付近の輝度変化は、１ピクセル当たり、０．２程度である。つまり、顔が１ピクセル移動したときの輝度変化は、「０．２」であると言える。これとは別に、下記の条件で利用者が移動すると想定したとき、１フレーム当たりの移動量は実測で「０．５ピクセル」程度となる。すなわち、カメラ１２のフレームレートが２０ｆｐｓであり、カメラ１２の解像度がＶＧＡ（Video  Graphics  Array）の規格に従う場合の顔の移動量を想定する。このとき、カメラ１２及び利用者の顔の距離が３０ｃｍである状況下で利用者の頭部が５ｍｍ／ｓの速度で移動するとしたとき、利用者の顔は、実測で１フレームにつき０．５ピクセルの割合で移動する。【００６６】
これらのことから、利用者の顔が５ｍｍ／ｓの速度で移動すると、前後のフレーム間で輝度の変化量は、０．１（＝０．２×０．５）程度となる。【００６７】
一方、脈拍による輝度変化の振幅は２程度である。そこで、脈拍数が６０拍／分、すなわち１秒間に１拍である場合における輝度差の波形を正弦波で表した時の変化量を求める。【００６８】
図７は、脈拍に伴う輝度変化の一例を示す図である。図７に示す縦軸は、Ｇ成分の輝度差を指し、図７に示す横軸は、時間（秒）を指す。図７に示すように、カメラ１２のフレームレートが２０ｆｐｓであるとしたとき、０秒から０．１秒の付近で輝度変化が最も大きく０．５程度となることがわかる。従って、前後フレーム間でＲＯＩの輝度差は、最も大きい場合で０．５程度である。【００６９】
以上のことから、前後のフレームでＲＯＩを固定したとき、顔の位置が変化する場合における輝度変化は、０．１程度である一方で、脈拍変化による輝度変化は、０．５程度であると言える。したがって、本実施例では、Ｓ／Ｎ比は、５程度となるので、顔の位置が変化したとしても、その影響をある程度除去できることが期待できる。【００７０】
続いて、本実施例に係る脈波検出処理を適用することによって得られた脈波信号の波形を例示し、これをＲＯＩの更新を制限しない場合に得られる脈波信号と比較する。図８は、輝度の時間変化の一例を示す図である。図８に示す縦軸は、Ｇ成分の輝度差を指し、図８に示す横軸は、フレーム数を指す。図８には、本実施例に係る脈波信号が実線で示される一方で、従来技術、すなわちＲＯＩの更新の制限なしに係る脈波信号を破線で示されている。【００７１】
図８に示すように、従来技術に係る脈波信号には、輝度変化が５前後であり、脈拍では現れないノイズが現れていることがわかる。一方、本実施例に係る脈波信号には、従来技術に係る脈波信号で現れているノイズが低減されていることがわかる。それ故、本実施例では、脈波の検出精度の低下を抑制できる。
【実施例２】
【００７２】
さて、上記の実施例１では、フレーム間でＲＯＩの輝度差を求める場合にＲＯＩに含まれる画素の輝度値の重みを一律にして代表値を算出する場合を例示したが、ＲＯＩに含まれる画素の間で重みを変えることもできる。そこで、本実施例では、一例として、ＲＯＩに含まれる画素のうち特定の領域に含まれる画素とそれ以外の領域に含まれる画素との間で重みを変えて輝度の代表値を算出する場合について説明する。【００７３】
［脈波検出装置２０の構成］
図９は、実施例２に係る脈波検出装置２０の機能的構成を示すブロック図である。図９に示す脈波検出装置２０は、図１に示した脈波検出装置１０に比べて、ＲＯＩ記憶部２１と、重み付け部２２とをさらに有し、算出部２３の処理内容の一部が算出部１７と異なる点に相違点がある。なお、ここでは、図１に示す機能部と同様の機能を発揮する機能部には同一の符号を付し、その説明を省略することとする。【００７４】
ＲＯＩ記憶部２１は、ＲＯＩの配置位置を記憶する記憶部である。【００７５】
一実施形態として、ＲＯＩ記憶部２１には、ＲＯＩ設定部１６によってＲＯＩが設定される度に、画像が取得されたフレームにＲＯＩの配置位置が対応付けて登録される。かかるＲＯＩ記憶部２１は、一例として、ＲＯＩに含まれる画素に重みを付与する場合に、過去にフレームが取得された場合にその前後のフレームに設定されたＲＯＩの配置位置が参照される。【００７６】
重み付け部２２は、ＲＯＩに含まれる画素に重みを付与する処理部である。【００７７】
一実施形態として、重み付け部２２は、ＲＯＩに含まれる画素のうち境界部分の画素に他の部分の画素よりも小さい重みを付与する。例えば、重み付け部２２は、図１０や図１１に示す重み付けを実行することができる。図１０及び図１１は、重み付け方法の一例を示す図である。図１０及び図１１に示す塗りつぶしのうち、濃い方の塗りつぶしは、薄い塗りつぶしに比べて大きい重みｗ１が付与される画素を表す一方で、薄い方の塗りつぶしは、濃い塗りつぶしに比べて小さい重みｗ２が付与される画素を表す。なお、図１０には、フレームＮで算出されたＲＯＩとともに、フレームＮ−１で算出されていたＲＯＩが図示されている。【００７８】
例えば、図１０に示す重み付けの場合、重み付け部２２は、フレームＮが取得された場合にＲＯＩ設定部１６によって算出されたＲＯＩのうち、フレームＮ−１のＲＯＩ及びフレームＮのＲＯＩの間で互いが重複する部分、すなわち濃い塗りつぶしに含まれる画素に重みｗ１（＞ｗ２）を付与する。一方、重み付け部２２は、フレームＮ−１のＲＯＩ及びフレームＮのＲＯＩの間で互いが重複しない部分、すなわち薄い塗りつぶしに含まれる画素に重みｗ２（＞ｗ１）を付与する。これによって、フレーム間でＲＯＩが重複する部分の重みを重複しない部分よりも大きくすることができる結果、顔上の同一の箇所から積算に用いる輝度変化を採取できる公算を高めることができる。【００７９】
また、図１１に示す重み付けの場合、重み付け部２２は、フレームＮが取得された場合にＲＯＩ設定部１６によって算出されたＲＯＩのうち、ＲＯＩを形成する各辺から所定の範囲内の領域、すなわち薄い塗りつぶしの領域に含まれる画素に重みｗ２（＞ｗ１）を付与する。一方、重み付け部２２は、フレームＮが取得された場合にＲＯＩ設定部１６によって算出されたＲＯＩのうち、ＲＯＩを形成する各辺から所定の範囲外の領域、すなわち濃い塗りつぶしの領域に含まれる画素に重みｗ１（＞ｗ２）を付与する。これによって、ＲＯＩの境界部分の重みを中心部分の重みよりも小さくできる結果、図９の例と同様に、顔上の同一の箇所から積算に用いる輝度変化を採取できる公算を高めることができる。【００８０】
算出部２３は、重み付け部２２によってフレームＮ及びフレームＮ−１ごとにＲＯＩ内の各画素に付与された重みｗ１及び重みｗ２にしたがってＲＯＩ内の各画素の画素値を加重平均する処理をフレームごとに実行する。これによって、フレームＮにおけるＲＯＩ内の輝度の代表値と、フレームＮ−１におけるＲＯＩ内の輝度の代表値とを算出する。これ以外の処理については、算出部２３は、図１に示した算出部１７と同様の処理を実行する。【００８１】
［処理の流れ］
図１２は、実施例２に係る脈波検出処理の手順を示すフローチャートである。この処理は、図３に示した場合と同様に、脈波検出プログラムがアクティブな状態にある場合に実行することもできるし、脈波検出プログラムがバックグラウンドで動作している場合にも実行することができる。なお、図１２には、重み付け方法のうち図１０に示した重み付けが適用された場合のフローチャートが図示されており、図３に示したフローチャートと処理内容が異なる部分に異なる符号が付与されている。【００８２】
図１２に示すように、取得部１３によってフレームＮの画像が取得されると（ステップＳ１０１）、顔検出部１５は、ステップＳ１０１で取得されたフレームＮの画像に顔検出を実行する（ステップＳ１０２）。【００８３】
続いて、ＲＯＩ設定部１６は、ステップＳ１０２で検出されたフレームＮの画像に対する顔検出結果から、フレームＮ及びフレームＮ−１に対応する画像に設定するＲＯＩの配置位置を算出する（ステップＳ１０３）。その上で、ＲＯＩ設定部１６は、フレームＮ及びフレームＮ−１の両画像に対し、ステップＳ１０３で算出された配置位置に同一のＲＯＩを設定する（ステップＳ１０４）。【００８４】
そして、重み付け部２２は、ステップＳ１０３で算出されたＲＯＩのうち、フレームＮ−１のＲＯＩ及びフレームＮのＲＯＩの間で互いが重複する部分の画素を特定する（ステップＳ２０１）。【００８５】
続いて、重み付け部２２は、フレームＮ−１及びフレームＮのうちフレームを１つ選択する（ステップＳ２０２）。その上で、重み付け部２２は、ステップＳ２０２で選択されたフレームのＲＯＩに含まれる画素のうちステップＳ２０１で重複部分と特定された画素に重みｗ１（＞ｗ２）を付与する（ステップＳ２０３）。さらに、重み付け部２２は、ステップＳ２０２で選択されたフレームのＲＯＩに含まれる画素のうちステップＳ２０１で重複部分として特定されなかった非重複部分の画素に重みｗ２（＞ｗ１）を付与する（ステップＳ２０４）。【００８６】
その後、算出部２３は、ステップＳ２０３及びステップＳ２０４で付与された重みｗ１及び重みｗ２にしたがってステップＳ２０２で選択されたフレームのＲＯＩに含まれる各画素の輝度値を加重平均する（ステップＳ２０５）。これによって、ステップＳ２０２で選択されたフレームにおけるＲＯＩ内の輝度の代表値が算出されることになる。【００８７】
そして、フレームＮ−１及びフレームＮの各フレームについてＲＯＩ内の輝度の代表値が算出されるまで（ステップＳ２０６Ｎｏ）、上記のステップＳ２０３〜ステップＳ２０５の処理を繰返し実行する。【００８８】
その後、フレームＮ−１及びフレームＮの各フレームについてＲＯＩ内の輝度の代表値が算出された場合（ステップＳ２０６Ｙｅｓ）、算出部２３は、次のような処理を実行する。すなわち、算出部２３は、フレームＮ及びフレームＮ−１の間でＲＯＩの輝度差を算出する（ステップＳ１０６）。【００８９】
その後、脈波検出部１８は、フレーム１からフレームＮ−１までの各フレーム間で算出されたＲＯＩの輝度差が積算された積算値に、フレームＮ及びフレームＮ−１の間におけるＲＯＩの輝度差を積算する（ステップＳ１０７）。これによって、Ｎ番目のフレームが取得されたサンプリング時刻までの脈波信号を得ることができる。【００９０】
そして、脈波検出部１８は、ステップＳ１０７の演算の結果から、Ｎ番目のフレームが取得されたサンプリング時刻までの脈波信号、あるいは脈拍数などの脈波を検出し（ステップＳ１０８）、処理を終了する。【００９１】
［効果の一側面］
上述してきたように、本実施例に係る脈波検出装置２０においても、カメラ１２で撮像された画像の顔検出結果から輝度差を計算するＲＯＩを設定する場合にフレーム間で同一のＲＯＩを設定し、ＲＯＩ内の輝度差から脈波信号を検出する。したがって、本実施例に係る脈波検出装置２０によれば、上記の実施例１と同様に、脈波の検出精度の低下を抑制できる。【００９２】
さらに、本実施例に係る脈波検出装置２０では、フレーム間でＲＯＩが重複する部分の重みを重複しない部分よりも大きくすることができる結果、顔上の同一の箇所から積算に用いる輝度変化を採取できる公算を高めることができる。
【実施例３】
【００９３】
さて、上記の実施例１では、フレーム間でＲＯＩの輝度差を求める場合にＲＯＩに含まれる画素の輝度値の重みを一律にして代表値を算出する場合を例示したが、ＲＯＩに含まれる全ての画素を輝度の代表値の算出に用いずともよい。そこで、本実施例では、一例として、ＲＯＩをブロックに分割し、ブロックのうち所定の条件を満たすブロックをＲＯＩ内の輝度の代表値の算出に用いる場合について説明する。【００９４】
［脈波検出装置３０の構成］
図１３は、実施例３に係る脈波検出装置３０の機能的構成を示すブロック図である。図１３に示す脈波検出装置３０は、図１に示した脈波検出装置１０に比べて、分割部３１と、抽出部３２とをさらに有し、算出部３３の処理内容の一部が算出部１７と異なる点に相違点がある。なお、ここでは、図１に示す機能部と同様の機能を発揮する機能部には同一の符号を付し、その説明を省略することとする。【００９５】
分割部３１は、ＲＯＩを分割する処理部である。【００９６】
一実施形態として、分割部３１は、ＲＯＩ設定部１６によって設定されたＲＯＩを所定数のブロック、例えば縦６個×横９個のブロックに分割する。ここでは、ＲＯＩがブロックに分割される場合を例示したが、必ずしもブロック状に分割されずともよく、他の任意の形状で分割することができる。【００９７】
抽出部３２は、分割部３１によって分割されたブロックのうち所定の条件を満たすブロックを抽出する処理部である。【００９８】
一実施形態として、抽出部３２は、分割部３１によって分割されたブロックのうちブロックを１つ選択する。続いて、抽出部３２は、フレームＮ及びフレームＮ-１の間で同一の位置にあるブロックごとに当該ブロックの輝度の代表値の差分を算出する。その上で、抽出部３２は、画像上で同一の位置にあるブロック間で輝度の代表値の差分が所定の閾値未満である場合に、当該ブロックを輝度変化の算出対象として抽出する。そして、抽出部３２は、分割部３１によって分割された全てのブロックが選択されるまで、上記の閾値判定を繰返し実行する。【００９９】
算出部３３は、分割部３１によって分割されたブロックのうち抽出部３２によって抽出されたブロック内の各画素の輝度値を用いて、ＲＯＩ内の輝度の代表値をフレームＮ及びフレームＮ−１ごとに算出する。これによって、フレームＮにおけるＲＯＩ内の輝度の代表値と、フレームＮ−１におけるＲＯＩ内の輝度の代表値とを算出する。これ以外の処理については、算出部３３は、図１に示した算出部１７と同様の処理を実行する。【０１００】
図１４は、ＲＯＩの遷移例を示す図である。図１５は、ブロックの抽出例を示す図である。図１４に示すように、フレームＮで算出されたＲＯＩの配置位置がフレームＮ−１で算出されていたＲＯＩの配置位置よりも鉛直上方向へ遷移した場合、輝度変化を算出する箇所のずれが生じるとともに、顔上で輝度勾配が大きい箇所がＲＯＩに含まれることなる。すなわち、左目４００Ｌ、右目４００Ｒ、鼻４００Ｃや口４００Ｍの一部がＲＯＩに含まれる。これら輝度勾配が大きい顔パーツは、ノイズの原因となるが、抽出部３３による閾値判定によって、図１５に示すように、左目４００Ｌ、右目４００Ｒ、鼻４００Ｃや口４００Ｍなどの顔パーツの一部が含まれるブロックはＲＯＩ内の輝度の代表値の算出対象から除外できる。この結果、脈拍よりも大きい顔パーツの輝度変化がＲＯＩに含まれる事態を抑制できる。【０１０１】
なお、同一の位置にあるブロック間で輝度の代表値の差分が閾値以上であるブロックの割合が所定の割合、例えば３分の２以上となったとき、フレームＮ−１のＲＯＩからの位置移動量が大きい時は、カレントであるフレームＮのＲＯＩの配置位置が信用できない公算が高いので、フレームＮ−１で算出されたＲＯＩの配置位置をフレームＮで算出されたＲＯＩの配置位置の代わりに使用することとしてもかまわない。また、フレームＮ−１のＲＯＩからの移動量が小さい時は、処理を中止することとしてもよい。【０１０２】
［処理の流れ］
図１６は、実施例３に係る脈波検出処理の手順を示すフローチャートである。この処理は、図３に示した場合と同様に、脈波検出プログラムがアクティブな状態にある場合に実行することもできるし、脈波検出プログラムがバックグラウンドで動作している場合にも実行することができる。なお、図１３には、図３に示したフローチャートと処理内容が異なる部分に異なる符号が付与されている。【０１０３】
図１６に示すように、取得部１３によってフレームＮの画像が取得されると（ステップＳ１０１）、顔検出部１５は、ステップＳ１０１で取得されたフレームＮの画像に顔検出を実行する（ステップＳ１０２）。【０１０４】
続いて、ＲＯＩ設定部１６は、ステップＳ１０２で検出されたフレームＮの画像に対する顔検出結果から、フレームＮ及びフレームＮ−１に対応する画像に設定するＲＯＩの配置位置を算出する（ステップＳ１０３）。その上で、ＲＯＩ設定部１６は、フレームＮ及びフレームＮ−１の両画像に対し、ステップＳ１０３で算出された配置位置に同一のＲＯＩを設定する（ステップＳ１０４）。【０１０５】
そして、分割部３１は、ステップＳ１０４で設定されたＲＯＩをブロックに分割する（ステップＳ３０１）。続いて、抽出部３２は、ステップＳ３０１で分割されたブロックのうちブロックを１つ選択する（ステップＳ３０２）。【０１０６】
その後、抽出部３２は、フレームＮ及びフレームＮ-１の間で同一の位置にあるブロックごとに当該ブロックの輝度の代表値の差分を算出する（ステップＳ３０３）。その上で、抽出部３２は、画像上で同一の位置にあるブロック間で輝度の代表値の差分が所定の閾値未満であるか否かを判定する（ステップＳ３０４）。【０１０７】
ここで、画像上で同一の位置にあるブロック間で輝度の代表値の差分が閾値未満である場合（ステップＳ３０４Ｙｅｓ）には、顔パーツなどの輝度勾配が大きいものがブロックに含まれていない可能性が高いと推定できる。この場合、抽出部３２は、当該ブロックを輝度変化の算出対象として抽出する（ステップＳ３０５）。一方、画像上で同一の位置にあるブロック間で輝度の代表値の差分が閾値以上である場合（ステップＳ３０４Ｎｏ）には、顔パーツなどの輝度勾配が大きいものがブロックに含まれている可能性が高いと推定できる。この場合、当該ブロックは輝度変化の算出対象として抽出されず、ステップＳ３０６へ移行する。【０１０８】
そして、抽出部３２は、ステップＳ３０１で分割された各ブロックが選択されるまで（ステップＳ３０６Ｎｏ）、上記のステップＳ３０２〜ステップＳ３０５までの処理を繰返し実行する。【０１０９】
その後、ステップＳ３０１で分割された各ブロックが選択されると（ステップＳ３０６Ｙｅｓ）、ステップＳ３０１で分割されたブロックのうちステップＳ３０５で抽出されたブロック内の各画素の輝度値を用いて、ＲＯＩ内の輝度の代表値をフレームＮ及びフレームＮ−１ごとに算出する（ステップＳ３０７）。続いて、算出部２３は、フレームＮ及びフレームＮ−１の間でＲＯＩの輝度差を算出する（ステップＳ１０６）。【０１１０】
そして、脈波検出部１８は、フレーム１からフレームＮ−１までの各フレーム間で算出されたＲＯＩの輝度差が積算された積算値に、フレームＮ及びフレームＮ−１の間におけるＲＯＩの輝度差を積算する（ステップＳ１０７）。これによって、Ｎ番目のフレームが取得されたサンプリング時刻までの脈波信号を得ることができる。【０１１１】
そして、脈波検出部１８は、ステップＳ１０７の演算の結果から、Ｎ番目のフレームが取得されたサンプリング時刻までの脈波信号、あるいは脈拍数などの脈波を検出し（ステップＳ１０８）、処理を終了する。【０１１２】
［効果の一側面］
上述してきたように、本実施例に係る脈波検出装置３０においても、カメラ１２で撮像された画像の顔検出結果から輝度差を計算するＲＯＩを設定する場合にフレーム間で同一のＲＯＩを設定し、ＲＯＩ内の輝度差から脈波信号を検出する。したがって、本実施例に係る脈波検出装置３０によれば、上記の実施例１と同様に、脈波の検出精度の低下を抑制できる。【０１１３】
さらに、本実施例に係る脈波検出装置３０では、ＲＯＩをブロックに分割し、同一の位置にあるブロック間で輝度の代表値の差分が所定の閾値未満である場合に当該ブロックを輝度変化の算出対象として抽出する。それ故、本実施例に係る脈波検出装置３０によれば、顔パーツの一部が含まれるブロックをＲＯＩ内の輝度の代表値の算出対象から除外できる結果、脈拍よりも大きい顔パーツの輝度変化がＲＯＩに含まれる事態を抑制できる。
【実施例４】
【０１１４】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。【０１１５】
［応用例］
上記の実施例１〜３では、ＲＯＩのサイズを固定とする場合を例示したが、輝度変化を算出する度にＲＯＩのサイズを変更することができる。例えば、フレームＮ及びフレームＮ−１の間でＲＯＩの移動量が所定の閾値以上である場合、フレームＮ−１のＲＯＩを、上記の実施例２で説明した重みｗ１の部分に絞り込むこととしてもよい。【０１１６】
［他の実装例］
上記の実施例１〜３では、脈波検出装置１０〜３０が上記の脈波検出処理をスタンドアローンで実行する場合を例示したが、クライアントサーバシステムとして実装することもできる。例えば、脈波検出装置１０〜３０は、脈波検出処理を実行するＷｅｂサーバとして実装することとしてもよいし、脈波検出処理が実現するサービスをアウトソーシングによって提供するクラウドとして実装することとしてもかまわない。このように、脈波検出装置１０〜３０をサーバ装置として動作する場合には、スマートフォンや携帯電話機等の携帯端末装置やパーソナルコンピュータ等の情報処理装置をクライアント端末として収容することができる。これらクライアント端末からネットワークを介して画像が取得された場合に上記の脈波検出処理を実行し、脈波の検出結果や検出結果を用いてなされた診断結果をクライアント端末へ応答することによって脈波検出サービスを提供できる。【０１１７】
［脈波検出プログラム］
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１７を用いて、上記の実施例と同様の機能を有する脈波検出プログラムを実行するコンピュータの一例について説明する。【０１１８】
図１７は、実施例１〜実施例４に係る脈波検出プログラムを実行するコンピュータの一例について説明するための図である。図１７に示すように、コンピュータ１００は、操作部１１０ａと、スピーカ１１０ｂと、カメラ１１０ｃと、ディスプレイ１２０と、通信部１３０とを有する。このコンピュータ１００は、ＣＰＵ１５０と、ＲＯＭ１６０と、ＨＤＤ１７０と、ＲＡＭ１８０とを有する。これら１１０〜１８０の各部はバス１４０を介して接続される。【０１１９】
ＨＤＤ１７０には、図１７に示すように、上記の実施例１〜３で示した各処理部と同様の機能を発揮する脈波検出プログラム１７０ａが記憶される。この脈波検出プログラム１７０ａについても、図１、図９または図１３に示した各処理部と同様、統合又は分離してもよい。すなわち、ＨＤＤ１７０に格納される各データは、常に全てのデータがＨＤＤ１７０に格納されずともよく、処理に用いるデータがＨＤＤ１７０に格納されればよい。【０１２０】
そして、ＣＰＵ１５０が、脈波検出プログラム１７０ａをＨＤＤ１７０から読み出してＲＡＭ１８０に展開する。これによって、図１７に示すように、脈波検出プログラム１７０ａは、脈波検出プロセス１８０ａとして機能する。この脈波検出プロセス１８０ａは、ＨＤＤ１７０から読み出した各種データをＲＡＭ１８０上の自身に割り当てられた領域に展開し、この展開した各種データに基づいて各種処理を実行する。この脈波検出プロセス１８０ａには、図１、図９または図１３に示した各処理部にて実行される処理、例えば図３、図１２または図１６に示す処理が含まれる。また、ＣＰＵ１５０上で仮想的に実現される各処理部は、常に全ての処理部がＣＰＵ１５０上で動作されずともよく、処理に用いる処理部が仮想的に実現されればよい。【０１２１】
なお、上記の脈波検出プログラム１７０ａは、必ずしも最初からＨＤＤ１７０やＲＯＭ１６０に記憶させておかずともかまわない。例えば、コンピュータ１００に挿入されるフレキシブルディスク、いわゆるＦＤ、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。そして、コンピュータ１００がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１００に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させておき、コンピュータ１００がこれらから各プログラムを取得して実行するようにしてもよい。
【符号の説明】
【０１２２】
１０    脈波検出装置
１１    表示部
１２    カメラ
１３    取得部
１４    画像記憶部
１５    顔検出部
１６    ＲＯＩ設定部
１７    算出部
１８    脈波検出部
【図１】
2016006027.tif 000003
【図２】
2016006027.tif 000004
【図３】
2016006027.tif 000005
【図４】
2016006027.tif 000006
【図５】
2016006027.tif 000007
【図６】
2016006027.tif 000008
【図７】
2016006027.tif 000009
【図８】
2016006027.tif 000010
【図９】
2016006027.tif 000011
【図１０】
2016006027.tif 000012
【図１１】
2016006027.tif 000013
【図１２】
2016006027.tif 000014
【図１３】
2016006027.tif 000015
【図１４】
2016006027.tif 000016
【図１５】
2016006027.tif 000017
【図１６】
2016006027.tif 000018
【図１７】
2016006027.tif 000019
【手続補正書】
【提出日】平成29年1月13日(2017.1.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータが、
画像を取得し、
前記画像に顔検出を実行し、
前記画像が取得されたフレームと前記フレームよりも前のフレームに対し、前記顔検出の結果にしたがって同一の関心領域を設定し、
前記フレーム及び前記前のフレームの間で得られる輝度差から脈波信号を検出する
処理を実行することを特徴とする脈波検出方法。
【請求項２】
前記コンピュータが、
前記関心領域が設定された場合に、前記関心領域と、前記関心領域が設定される前に設定されていた関心領域との間で重複する部分の画素に、重複しない部分の画素よりも大きい重みを付与し、
前記フレーム及び前記前のフレームごとに、前記関心領域内の各画素に付与された重みにしたがって前記関心領域内の各画素の輝度値に対する平均処理を行う処理をさらに実行することを特徴とする請求項１に記載の脈波検出方法。
【請求項３】
前記コンピュータが、
前記関心領域が設定された場合に、前記関心領域を形成する外周の境界部分に存在する画素と、前記関心領域を形成する中心部分に存在する画素との間で異なる重みを付与し、
前記フレーム及び前記前のフレームごとに、前記関心領域内の各画素に付与された重みにしたがって前記関心領域内の各画素の輝度値に対する平均処理を行う処理をさらに実行することを特徴とする請求項１に記載の脈波検出方法。
【請求項４】
前記コンピュータが、
前記関心領域をブロックに分割し、
前記フレーム及び前記前のフレームの間で同一の位置にあるブロック同士の輝度の代表値の差分が所定の閾値未満である場合に当該ブロックを抽出し、
前記フレーム及び前記前のフレームごとに、抽出されたブロック内の各画素の輝度値を用いて、前記関心領域内の輝度の代表値を算出する処理をさらに実行することを特徴とする請求項１に記載の脈波検出方法。
【請求項５】
コンピュータに、
画像を取得し、
前記画像に顔検出を実行し、
前記画像が取得されたフレームと前記フレームよりも前のフレームに対し、前記顔検出の結果にしたがって同一の関心領域を設定し、
前記フレーム及び前記前のフレームの間で得られる輝度差から脈波信号を検出する
処理を実行させることを特徴とする脈波検出プログラム。
【請求項６】
画像を取得する取得部と、
前記画像に顔検出を実行する顔検出部と、
前記画像が取得されたフレームと前記フレームよりも前のフレームに対し、前記顔検出の結果にしたがって同一の関心領域を設定する設定部と、
前記フレーム及び前記前のフレームの間で得られる輝度差から脈波信号を検出する脈波検出部と
を有することを特徴とする脈波検出装置。
【国際調査報告】
2016006027.tif 000020
2016006027.tif 000021