(57)【要約】【課題】脈波の検出精度を向上させること。【解決手段】脈波検出装置１０は、カメラによって撮像された画像を取得し、画像に含まれる生体領域を抽出し、生体領域に含まれる画素が持つ画素値の代表値を複数の波長成分別に算出する。脈波検出装置１０は、波長成分別に算出された代表値の信号が含む周波数成分のうち信号成分の帯域および雑音成分の帯域を設定し、波長成分別に算出された代表値の信号の各々に重みを設定し、重みの更新を実行する。脈波検出装置１０は、重みが前記波長成分別の信号に付与された上で互いが合成される場合のＳＮ比を算出し、ＳＮ比が最大となる重みを用いて波長成分別の信号に重み付けを行った上で互いを合成し、合成後の信号から脈波を検出する。【選択図】図１
2015083101.tif 000002
【特許請求の範囲】
【請求項１】
カメラによって撮像された画像を取得する取得部と、
前記画像に含まれる生体領域を抽出する抽出部と、
前記生体領域に含まれる画素が持つ画素値の代表値を複数の波長成分別に算出する代表値算出部と、
前記波長成分別に算出された代表値の信号が含む周波数成分のうち信号成分の帯域および雑音成分の帯域を設定する帯域設定部と、
前記波長成分別に算出された代表値の信号の各々に重みを設定する重み設定部と、
前記重みの更新を実行する重み更新部と、
前記重みが前記波長成分別の信号に付与された上で互いが合成される場合のＳＮ比を算出するＳＮ比算出部と、
前記ＳＮ比が最大となる重みを用いて前記波長成分別の信号に重み付けを行った上で互いを合成する合成部と、
合成後の信号から脈波を検出する脈波検出部と
を有することを特徴とする脈波検出装置。
【請求項２】
前記代表値算出部によって算出された代表値の時系列データを前記波長成分別に周波数スペクトルへ変換する変換部をさらに有し、
前記ＳＮ比算出部は、前記周波数スペクトルのうち前記信号成分の帯域に含まれるパワー値と雑音成分の帯域に含まれるパワー値とから前記ＳＮ比を算出し、
前記合成部は、前記ＳＮ比が最大となる重みを用いて前記波長成分別の周波数スペクトルに重み付けを行った上で互いを合成し、
前記脈波検出部は、合成後の周波数スペクトルから脈波を検出することを特徴とする請求項１に記載の脈波検出装置。
【請求項３】
通過帯域が異なる複数のバンドパスフィルタと、
各バンドパスフィルタごとに当該バンドパスフィルタによって前記通過帯域の成分が抽出された信号から得られる統計値と、前記バンドパスフィルタの通過帯域との対応付けを各バンドパスフィルタ間で統合することによって疑似周波数スペクトルを前記波長成分別に作成する作成部とをさらに有し、
前記ＳＮ比算出部は、
前記疑似周波数スペクトルのうち前記信号成分の帯域に含まれるパワー値と雑音成分の帯域に含まれるパワー値とから前記ＳＮ比を算出し、
前記合成部は、
前記ＳＮ比が最大となる重みを用いて前記波長成分別の疑似周波数スペクトルに重み付けを行った上で互いを合成し、
前記脈波検出部は、
合成後の疑似周波数スペクトルから脈波を検出することを特徴とする請求項１に記載の脈波検出装置。
【請求項４】
前記帯域設定部によって設定される信号成分の帯域が通過帯域に設定される第１のバンドパスフィルタと、
前記帯域設定部によって設定される雑音成分の帯域が通過帯域に設定される第２のバンドパスフィルタとをさらに有し、
前記ＳＮ比算出部は、
前記第１のバンドパスフィルタによって前記信号成分の帯域に対応する成分が抽出された信号から得られる絶対値強度の統計値と、前記第１のバンドパスフィルタによって前記信号成分の帯域に対応する成分が抽出された信号から得られる絶対値強度の統計値とから前記ＳＮ比を算出することを特徴とする請求項１に記載の脈波検出装置。
【請求項５】
前記脈波には、心拍数が含まれるものであって、
前記帯域設定部は、
前記脈波検出部によって前回に検出された心拍数と、前記合成部によって前回に合成された信号のＳＮ比とを用いて、前記信号成分の帯域を設定し、
前記信号成分の帯域に設定された帯域以外の帯域を前記雑音成分の帯域に設定することを特徴とする請求項２、３または４に記載の脈波検出装置。
【請求項６】
前記帯域設定部は、
前記脈波検出部によって前回に検出された心拍数を前記信号成分の帯域の中心とし、前記合成部によって前回に合成された信号のＳＮ比の大きさにしたがって前記信号成分の帯域の幅を拡縮することによって前記信号成分の帯域を設定することを特徴とする請求項５に記載の脈波検出装置。
【請求項７】
前記合成部または前記脈波検出部は、
最大となるＳＮ比が所定の閾値未満である場合に、合成または検出を禁止することを特徴とする請求項１〜６のいずれか１つに記載の脈波検出装置。
【請求項８】
コンピュータが、
カメラによって撮像された画像を取得し、
前記画像に含まれる生体領域を抽出し、
前記生体領域に含まれる画素が持つ画素値の代表値を複数の波長成分別に算出し、
前記波長成分別に算出された代表値の信号が含む周波数成分のうち信号成分の帯域および雑音成分の帯域を設定し、
前記波長成分別に算出された代表値の信号の各々に重みを設定し、
前記重みの更新を実行し、
前記重みが前記波長成分別の信号に付与された上で互いが合成される場合のＳＮ比を算出し、
前記ＳＮ比が最大となる重みを用いて前記波長成分別の信号に重み付けを行った上で互いを合成し、
合成後の信号から脈波を検出する
処理を実行することを特徴とする脈波検出方法。
【請求項９】
コンピュータに、
カメラによって撮像された画像を取得し、
前記画像に含まれる生体領域を抽出し、
前記生体領域に含まれる画素が持つ画素値の代表値を複数の波長成分別に算出し、
前記波長成分別に算出された代表値の信号が含む周波数成分のうち信号成分の帯域および雑音成分の帯域を設定し、
前記波長成分別に算出された代表値の信号の各々に重みを設定し、
前記重みの更新を実行し、
前記重みが前記波長成分別の信号に付与された上で互いが合成される場合のＳＮ比を算出し、
前記ＳＮ比が最大となる重みを用いて前記波長成分別の信号に重み付けを行った上で互いを合成し、
合成後の信号から脈波を検出する
処理を実行させることを特徴とする脈波検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、脈波検出装置、脈波検出方法及び脈波検出プログラムに関する。
【背景技術】
【０００２】
血液の体積の変動、いわゆる脈波を検出する技術が知られている。例えば、脈波の一態様である心拍数を検出する技術の一例としては、心電計の電極を生体に装着することによって計測された心電波形のピーク、例えばＰ波やＲ波などを用いて心拍数を検出する心電図法が挙げられる。他の一例としては、指や耳たぶなどの末梢血管に赤外線を照射し、その反射光が血流および吸光特性によって周期的に変動する光学的な変化から心拍とほぼ等価な脈拍を検出する光電脈波法が挙げられる。
【０００３】
これら心電図法や光電脈波法を用いる場合には、電極を生体に装着したり、あるいは生体に感光面を密着させたりするので、計測器具が生体に接触しないと検出が困難である上、計測器具を装着した状態で日常を生活するのは煩わしいという問題がある。
【０００４】
このことから、生体に計測器具が接触しない状態で脈波を検出するために、被験者が撮影された画像を用いた脈波の検出技術が提案されている。例えば、カメラによって被験者の顔が撮影された画像の信号成分に対し、独立成分分析（ＩＣＡ：Independent  Component  Analysis）を適用することによって信号対雑音比を改善する方法が挙げられる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２０１３−５０６５２６号公報
【特許文献２】特表２００１−５１７９９１号公報
【非特許文献】
【０００６】
【非特許文献１】“Advancements  in  Non-contact、  Multiparameter  Physiological  Measurements  Using  a  Webcam”，Vol.18，No.10，2010
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記の技術は、以下に説明するように、脈波の検出精度におのずから限界がある。
【０００８】
すなわち、上記のＩＣＡを用いる技術には、周期的なノイズ、例えば体動アーティファクトに弱いという弱点がある。それ故、上記の周期的なノイズがカメラによって撮影される画像に含まれる場合には、ノイズ成分及び心拍成分を適切に分離することができず、検出精度が低下してしまう場合がある。
【０００９】
１つの側面では、本発明は、脈波の検出精度を向上させることができる脈波検出装置、脈波検出方法及び脈波検出プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
一態様の脈波検出装置は、カメラによって撮像された画像を取得する取得部と、前記画像に含まれる生体領域を抽出する抽出部と、前記生体領域に含まれる画素が持つ画素値の代表値を複数の波長成分別に算出する代表値算出部とを有する。さらに、前記脈波検出装置は、前記波長成分別に算出された代表値の信号が含む周波数成分のうち信号成分の帯域および雑音成分の帯域を設定する帯域設定部と、前記波長成分別に算出された代表値の信号の各々に重みを設定する重み設定部とを有する。さらに、前記脈波検出装置は、前記重みの更新を実行する重み更新部と、前記重みが前記波長成分別の信号に付与された上で互いが合成される場合のＳＮ比を算出するＳＮ比算出部とを有する。さらに、前記脈波検出装置は、前記ＳＮ比が最大となる重みを用いて前記波長成分別の信号に重み付けを行った上で互いを合成する合成部と、合成後の信号から脈波を検出する脈波検出部とを有する。
【発明の効果】
【００１１】
脈波の検出精度を向上させることができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施例１に係る脈波検出装置の機能的構成を示すブロック図である。
【図２】図２は、Ｓ帯域の中心を設定する方法の一例を示す図である。
【図３】図３は、Ｓ帯域の幅を設定する方法の一例を示す図である。
【図４】図４は、Ｓ帯域の幅を設定する方法の一例を示す図である。
【図５】図５は、Ｓ帯域およびＮ帯域の設定結果の一例を示す図である。
【図６】図６は、ＲＧＢ信号の一例を示す図である。
【図７】図７は、ＲＧＢ信号のパワースペクトルの一例を示す図である。
【図８】図８は、履歴の一例を示す図である。
【図９】図９は、Ｓ帯域の設定結果の一例を示す図である。
【図１０】図１０は、Ｓ帯域の設定結果の一例を示す図である。
【図１１】図１１は、ＳＮ比コンポーネントの一例を示す図である。
【図１２】図１２は、重みの初期値の一例を示す図である。
【図１３】図１３は、更新回数別のＳＮ比の一例を示す図である。
【図１４】図１４は、重みｗ１及び重みｗ２の更新結果の一例を示す図である。
【図１５】図１５は、最適重みの一例を示す図である。
【図１６】図１６は、最適パワースペクトルの一例を示す図である。
【図１７】図１７は、最適パワースペクトルの波形の一例を示す図である。
【図１８】図１８は、履歴の追加方法の一例を示す図である。
【図１９】図１９は、実施例１に係る脈波検出処理の手順を示すフローチャート１である。
【図２０】図２０は、実施例１に係る脈波検出処理の手順を示すフローチャート２である。
【図２１】図２１は、実施例２に係る脈波検出装置の機能的構成を示すブロック図である。
【図２２】図２２は、複数のＢＰＦの特性の一例を示す図である。
【図２３】図２３は、Ｒ信号の疑似パワースペクトルの一例を示す図である。
【図２４】図２４は、実施例２に係る脈波検出処理の手順を示すフローチャートである。
【図２５】図２５は、実施例３に係る脈波検出装置の機能的構成を示すブロック図である。
【図２６】図２６は、実施例３に係る脈波検出処理の手順を示すフローチャート１である。
【図２７】図２７は、実施例３に係る脈波検出処理の手順を示すフローチャート２である。
【図２８】図２８は、実施例１〜実施例４に係る脈波検出プログラムを実行するコンピュータの一例について説明するための図である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照して本願に係る脈波検出装置、脈波検出方法及び脈波検出プログラムについて説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１４】
［脈波検出装置の構成］
まず、本実施例に係る脈波検出装置の機能的構成について説明する。図１は、実施例１に係る脈波検出装置の機能的構成を示すブロック図である。図１に示す脈波検出装置１０は、カメラ１１ａによって生体の一部が撮像された画像を用いて生体の脈波を検出する脈波検出処理を実行するものである。ここで言う「脈波」とは、血液の体積の変動を指し、いわゆる心拍数や心拍波形などが含まれる。
【００１５】
一態様としては、脈波検出装置１０は、パッケージソフトウェアやオンラインソフトウェアとして提供される脈波検出プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、スマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）などの移動体通信網に接続可能な移動体通信端末に上記の脈波検出プログラムをインストールさせる。また、移動体通信網に接続可能な移動体通信端末に限らず、移動体通信網に接続する能力を持たないデジタルカメラやタブレット端末に上記の脈波検出プログラムをインストールさせてもよい。これによって、移動体通信端末やタブレット端末等の携帯端末装置を脈波検出装置１０として機能させることができる。なお、ここでは、脈波検出装置１０の実装例として携帯端末装置を例示したが、パーソナルコンピュータを始めとする据置き型の端末装置に脈波検出プログラムをインストールさせることもできる。
【００１６】
図１に示すように、脈波検出装置１０は、カメラ１１ａと、取得部１１と、抽出部１２と、代表値算出部１３と、変換部１４とを有する。さらに、脈波検出装置１０は、履歴記憶部１５ａと、帯域設定部１５と、重み設定部１６と、ＳＮ比（Signal-Noise  ratio）算出部１７と、合成部１８と、脈波検出部１９とを有する。なお、脈波検出装置１０は、図１に示した機能部以外にも既知の携帯端末が有する各種の機能部を有することとしてもかまわない。例えば、脈波検出装置１０は、タッチパネルやディスプレイなどの入出力デバイス、アンテナ、移動体通信網との接続を実行する無線通信部、ＧＰＳ（Global  Positioning  System）受信機や加速度センサなどの機能部をさらに有していてもかまわない。
【００１７】
カメラ１１ａは、ＣＣＤ（Charge  Coupled  Device）やＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）などの撮像素子を搭載する撮像装置である。例えば、カメラ１１ａには、Ｒ（red）、Ｇ（green）、Ｂ（blue）などの複数の受光素子を搭載することができる。かかるカメラ１１ａの実装例としては、既存の携帯端末装置に実装されているインカメラやアウトカメラのように、製造時からカメラが搭載されている場合には、そのカメラを流用できる。また、他の実装例としては、デジタルカメラやＷｅｂカメラを外部端子を介して接続することとしてもよい。以下では、カメラ１１ａによって撮像された画像のことを「カメラ画像」と記載する場合がある。なお、ここでは、脈波検出装置１０がカメラ１１ａを搭載する場合を例示したが、ネットワークまたは記憶デバイスを経由してカメラ画像を取得できる場合には、脈波検出装置１０がカメラ１１ａを搭載せずともよい。
【００１８】
ここで、カメラ１１ａによる撮影方法の一例を説明する。一例として、携帯端末装置に搭載されたインカメラをカメラ１１ａとして用いる場合を想定する。このように、カメラ画像の撮影にインカメラを用いる場合には、携帯端末装置上でインカメラが設置された面と同じ側の面に設置された図示しないディスプレイにインカメラが撮像する画像を表示させることができる。これによって、携帯端末装置の使用者は、インカメラで自分の顔を撮影しながら、インカメラによって撮像された自分の顔の映り具合をディスプレイで確認できる。このため、携帯端末装置の使用者は、カメラ画像の中心と顔の中心とが重なるように、携帯端末装置を上下左右に動かしたり、カメラ画像に顔が適切な大きさで映るように、携帯端末装置を前後に動かしたりすることができる。これらの調整によって、生体の一例として、携帯端末装置の使用者の顔が適切な位置および適切な大きさで映ったカメラ画像をインカメラに撮像させることができる。
【００１９】
なお、ここでは、インカメラを用いてカメラ画像を撮影する場合を例示したが、撮影方法はこれに限定されず、他のカメラ、例えばアウトカメラなどをカメラ画像の撮影に用いることもできる。また、ここでは、使用者の顔が撮影される場合を例示したが、生体の部位は顔に限定されず、他の生体の部位、例えば指などの肌が露出した部分を撮影することとしてもかまわない。
【００２０】
取得部１１は、カメラ画像を取得する処理部である。一態様としては、取得部１１は、カメラ１１ａによって撮像されたカメラ画像を取得する。このとき、取得部１１は、カメラ１１ａによってカメラ画像が撮像される度に、所定の圧縮符号化方式によってエンコードされた動画を取得することとしてもよいし、使用者の顔が映る静止画の各々を取得することとしてもよい。他の一態様としては、取得部１１は、カメラ画像を蓄積するハードディスクや光ディスクなどの補助記憶装置またはメモリカードやＵＳＢ（Universal  Serial  Bus）メモリなどのリムーバブルメディアからカメラ画像を取得することもできる。更なる一態様としては、取得部１１は、外部装置からネットワークを介して受信することによってカメラ画像を取得することもできる。なお、取得部１１は、ＣＣＤやＣＭＯＳなどの撮像素子による出力から得られる２次元のビットマップデータやベクタデータなどの画像データを用いて処理を実行する場合を例示したが、１つのディテクタから出力される信号をそのまま取得して後段の処理を実行させることとしてもよい。
【００２１】
抽出部１２は、カメラ画像から脈波の検出対象とする生体の領域を抽出する処理部である。一態様としては、抽出部１２は、取得部１１によってカメラ画像が取得される度に、当該カメラ画像にテンプレートマッチング等の画像処理を実行することによって生体が映った領域、例えば使用者の目、鼻、唇、頬や髪などの顔パーツが映った顔領域を抽出する。
【００２２】
代表値算出部１３は、生体領域に含まれる各画素が持つ画素値の代表値を算出する処理部である。一態様としては、代表値算出部１３は、カメラ画像のうち抽出部１２によって抽出された生体領域に含まれる各画素が持つ画素値に所定の統計処理を波長成分別に実行する。例えば、ＲＧＢの３種類の受光素子によってカメラ画像が撮像される場合には、代表値算出部１３は、生体領域に含まれる各画素の輝度値をＲ成分、Ｇ成分およびＢ成分ごとに平均する。かかる平均処理の一例としては、相加平均を始め、加重平均や移動平均などの平均処理全般を適用することもできる。また、上記の統計処理は、平均処理に限定されず、中央値や最頻値を計算することとしてもかまわない。これによって、生体領域に含まれる各画素が持つ輝度の平均値が当該生体領域を代表する代表値として波長成分別に算出される。なお、以下では、生体領域の代表値の信号のうちＲ成分の信号のことを「Ｒ信号」と記載し、Ｇ成分の信号のことを「Ｇ信号」と記載し、Ｂ成分の信号のことを「Ｂ信号」と記載する場合がある。また、Ｒ信号、Ｇ信号およびＢ信号の３つの信号を併記する場合には、「ＲＧＢ信号」と記載する場合がある。
【００２３】
変換部１４は、生体領域の代表値の信号を時間領域から周波数領域へ変換する処理部である。一態様としては、変換部１４は、代表値算出部１３によってＲＧＢの成分別に生体領域の代表値が所定の時間長、例えば３０秒間や１分間などにわたって算出される度に、当該時間長のＲ信号、Ｇ信号及びＢ信号の各信号にフーリエ変換を実行する。かかるフーリエ変換によって、Ｒ信号、Ｇ信号及びＢ信号が周波数スペクトルへ変換される。以下では、周波数スペクトルの一態様として、パワースペクトルが求められる場合を例示して説明を行うこととする。このように、ＲＧＢの成分ごとに得られたパワースペクトルが重み設定部１６へ出力される。なお、周波数スペクトルへの変換には、離散フーリエ変換（ＤＦＴ：Discrete  Fourier  Transform）、高速フーリエ変換（ＦＦＴ：Fast  Fourier  Transform）や離散コサイン変換（ＤＣＴ：Discrete  Cosine  Transform）などの任意の変換方法を用いることができる。
【００２４】
履歴記憶部１５ａは、脈波の検出結果の履歴を記憶する記憶部である。例えば、履歴記憶部１５ａには、後述の脈波検出部１９による脈波の検出結果である心拍数（ｂｐｍ：beats  per  minute）と、当該脈波の検出に用いられたパワースペクトル、すなわちＲＧＢの各成分ごとに後述の重み付けがなされた上で互いが合成されたパワースペクトルのＳＮ比とが対応付けられたデータが登録される。ここで言う「ＳＮ比」とは、信号の帯域、すなわちＳ帯域のパワー平均と、雑音Ｎ帯域のパワー平均との比を指す。なお、以下では、重み付け前及び合成前のＲＧＢのパワースペクトルと区別する観点から、重み付け及び合成によって最適化がなされたパワースペクトルのことを「最適パワースペクトル」と記載する場合がある。
【００２５】
一態様としては、履歴記憶部１５ａは、上記の履歴として、所定期間にわたる心拍数およびＳＮ比の履歴を記憶できる。以下では、一例として、１分間にわたってＲＧＢ信号が採取される度に変換部１４によってフーリエ変換が実行される場合を想定する。この場合、フーリエ変換が実行された最新の時刻のことを「０時刻前」、最新の時刻よりも１回前に実行された時刻のことを「１時刻前」、最新の時刻よりもＮ回前に実行された時刻のことを「Ｎ時刻前」と記載する場合がある。例えば、履歴記憶部１５ａには、１時刻前からＮ時刻前までの心拍数及びＳＮ比の履歴を記憶する。なお、Ｎ＋１時刻以前の履歴は、そのまま履歴記憶部１５ａに記憶させたままでもよいし、履歴記憶部１５ａから順次削除させることとしてもかまわない。
【００２６】
帯域設定部１５は、各波長成分別に得られた周波数スペクトルの信号の帯域および雑音の帯域を設定する処理部である。ここで、以下では、信号の帯域のことを「Ｓ（Signal）帯域」と記載するとともに、雑音の帯域のことを「Ｎ（Noise）帯域」と記載する場合がある。一態様としては、帯域設定部１５は、変換部１４によってＲＧＢ信号がパワースペクトルに変換された場合に、ＲＧＢの各パワースペクトルごとにＳ帯域の中心を決めてからＳ帯域の幅を求め、その後にＳ帯域及びＮ帯域の境界値を設定する。
【００２７】
これを具体的に説明すると、帯域設定部１５は、履歴記憶部１５ａに記憶された履歴を参照して、変換部１４によってＲＧＢ信号がパワースペクトルに変換される以前、例えば１時刻前の心拍数をＳ帯域の中心に決定する。図２は、Ｓ帯域の中心を設定する方法の一例を示す図である。図２に示すように、ＲＧＢ成分のパワースペクトルごとにＳ帯域およびＮ帯域を設定する場合には、直前に推定された心拍数がＳ帯域の中心として設定される。このように、直前に推定された心拍数をＳ帯域の設定に用いるのは、心拍が短時間の間に大きく変化する事態は起こりにくく、これから推定しようとする心拍数も直前に推定された心拍数と近い値になる公算が高いからである。このように直前に推定された心拍数を中心にして、ＲＧＢ成分のパワースペクトルごとにＳ帯域の幅が設定される。なお、初期時刻には、事前の脈波の検出結果が存在しないので、図２に示した心拍可帯域、例えば人の心拍が採り得る３０ｂｐｍ〜２４０ｂｐｍの帯域をＳ帯域として代用する。
【００２８】
このようにＳ帯域の中心が設定された後に、帯域設定部１５は、Ｓ帯域の幅を設定する。このとき、帯域設定部１５は、履歴記憶部１５ａに記憶された履歴を参照して、１時刻前の最適パワースペクトルのＳＮ比を用いる。一例として、帯域設定部１５は、Ｓ帯域の幅を算出する算出式として、下記の式（１）を用いることができる。なお、下記の式（１）では、推定確信度の一例として、最適パワースペクトルのＳＮ比を用いることができる。
【００２９】
Ｓ帯域幅＝５０−４０＊（推定確信度−０．８）・・・式（１）
【００３０】
上記の式（１）によれば、推定確信度として代入されるＳＮ比の値が高いほどＳ帯域の幅を広く設定でき、また、ＳＮ比の値が低いほどＳ帯域の幅を狭く設定できる。かかる式（１）を用いる場合には、推定確信度、すなわち最適パワースペクトルのＳＮ比の値との間で帯域の幅が線形の関係を持つＳ帯域を設定できるが、両者の関係は必ずしも線形でなく、上記の定性的な関係が維持できるのであれば非線形であってもかまわない。
【００３１】
図３及び図４は、Ｓ帯域の幅を設定する方法の一例を示す図である。図３及び図４には、１時刻前の最適パワースペクトルが点線で図示されている。図３及び図４に示すグラフの横軸は、周波数（ｂｐｍ）を指し、縦軸は、パワーを指す。図３に示すように、直前に推定された心拍数の推定確信度が高い場合には、Ｓ帯域の幅が縮小される。これは、Ｓ帯域を狭く設定しても実際の心拍数がＳ帯域に含まれる可能性が高いので、Ｓ帯域から環境光の変化や体動などのノイズ成分をできるだけ除去するためである。一方、直前に推定された心拍数の推定確信度が低い場合には、Ｓ帯域の幅が拡大される。これは、Ｓ帯域を狭く設定すると実際の心拍数がＳ帯域に含まれなくなってしまう可能性があるからである。
【００３２】
このようにＳ帯域の中心及びＳ帯域の幅が設定された後に、帯域設定部１５は、Ｓ帯域の中心及びＳ帯域の幅から、Ｓ帯域およびＮ帯域の境界値を算出する。図５は、Ｓ帯域およびＮ帯域の設定結果の一例を示す図である。図５に示すグラフの横軸は、周波数（ｂｐｍ）を指し、縦軸は、パワーを指す。図５に示すように、帯域設定部１５は、直前に推定された心拍数に対応する周波数から、式（１）によって算出されたＳ帯域の幅を減算することによってＳ帯域の最小周波数を算出する。一方、帯域設定部１５は、直前に推定された心拍数に対応する周波数に、式（１）によって算出されたＳ帯域の幅を加算することによってＳ帯域の最大周波数を算出する。これによって、帯域設定部１５は、Ｓ帯域の境界値を算出できる。その上で、帯域設定部１５は、最小周波数及び最大周波数を境界値とするＳ帯域以外の帯域をＮ帯域に設定する。これによって、帯域設定部１５は、図５に示すように、実際の心拍数が含まれる公算が高い帯域をＳ帯域に設定するとともに、それ以外の帯域をＮ帯域に設定できる。
【００３３】
重み設定部１６は、波長成分別に得られた周波数スペクトルを合成する場合に各周波数スペクトルに付与する重みを設定する処理部である。
【００３４】
ここで、ＲＧＢ信号の各パワースペクトルが周波数「ｆ」によって表される関数と定義する。さらに、Ｒ信号のパワースペクトルＰＲ（ｆ）に付与される重みをｗ１、Ｇ信号のパワースペクトルＰＧ（ｆ）に付与される重みをｗ２、Ｂ信号のパワースペクトルＰＢ（ｆ）に付与される重みをｗ３とする。この場合には、ＲＧＢ信号の各スペクトルが合成される合成スペクトルの候補Ｉ（ｆ；ｗ）は、下記の式（２）によって表すことができる。なお、上記のｗ１、ｗ２及びｗ３は、解が不定にならないように、各重みの総和、すなわち「ｗ１＋ｗ２＋ｗ３」が「１」に設定される。
【００３５】
【数１】
2015083101.tif 000003
【００３６】
また、ＳＮ比は、上記の重みｗ３が「１−ｗ１−ｗ２」で表すことができることから、上記の重みｗ１及び重みｗ２の非線形関数として下記の式（３）で表すことができる。さらに、下記の式（３）におけるＡ〜Ｆは、下記の式（３．５）で表すことができる。以下では、下記の式（３）及び式（３．５）におけるＡ〜Ｆのことを「ＳＮ比コンポーネント」と記載する場合がある。なお、下記の式（３）及び式（３．５）における「Ｓ」は、Ｓ帯域の周波数範囲を指し、また、「Ｎ」は、Ｎ帯域の周波数範囲を指す。また、「Ｎｓ」は、Ｓ帯域の周波数範囲の幅を指し、また、「ＮＮ」は、Ｎ帯域の周波数範囲の幅を指す。
【００３７】
【数２】
2015083101.tif 000004
【数３】
2015083101.tif 000005
【００３８】
これらＳＮ比コンポーネントＡ〜Ｆは、Ｓ帯域及びＮ帯域が設定された段階で全てのパラメータが既知となるので、上記の式（３．５）にしたがって算出しておくことができる。
【００３９】
このような前提の下、重み設定部１６は、ＳＮ比を最大化できる重みｗ１及び重みｗ２を求めるために、ＲＧＢ信号の各スペクトルに初期値の重みを付与し、ＲＧＢ信号の各スペクトルに付与する重みを更新する。このようにＳＮ比を最大化できる重みｗ１及び重みｗ２を解く問題は、制約なし非線形最適化問題とみなすことができる。それ故、ニュートン法や勾配法などの解法を援用することによって、重みｗ１及び重みｗ２を算出できる。
【００４０】
例えば、上記の重みｗ１及び重みｗ２の算出にニュートン法を援用する場合を例示する。かかるニュートン法とは、関数ｆ（ｗ）が０となるｗを求める解法である。このため、重みｗ１及び重みｗ２によって表されるｇ（ｗ）を最大化する問題に援用する場合には、ｇ（ｗ）の微分ｇ’（ｗ）が０となるｗを求める問題に置き換えればよい。つまり、ｆ（ｗ）として微分ｇ’（ｗ）を用いてニュートン法を実行すればよい。
【００４１】
このことから、ニュートン法における重みの更新式は、下記の式（４）によって表すことができる。これとともに、下記の式（４）における重み「ｗ（ｋ）」、一階微分「Δｇ（ｗ（ｋ））」及び二階微分「Δ２ｇ（ｗ（ｋ））」は、下記の式（４．５）によって表すことができる。なお、式（４）及び式（４．５）における上付き文字「ｋ」は、重みｗ１及び重みｗ２の更新回数を指し、初期値である場合には「１」が付与される。また、式（４）における「α」は、学習係数であり、例えば、１以下の任意の値を設定できる。
【００４２】
【数４】
2015083101.tif 000006
【数５】
2015083101.tif 000007
【００４３】
このように、重み設定部１６は、上記の式（４）にしたがって、重みｗ１及び重みｗ２を繰り返して更新することによって、更新回数が多くなるほどＳＮ比が最大値に近づくように、重みｗ１及び重みｗ２を更新できる。その後、重み設定部１６は、ｆ（ｗ）が十分に０に近づくまで、例えば｜ｆ（ｗ）｜＜εを満たすまで、重みｗ１及び重みｗ２を繰り返して更新する。なお、上記の「ε」は、一階微分Δｇ（ｗ（ｋ））が０になるまで更新を繰り返したのでは演算量が多くなるので、演算量を抑えるために設けられる閾値であるが、０に近い値を設定するほどＳＮ比も最大値に近づけることができる。
【００４４】
このとき、重み設定部１６は、重みｗ１及び重みｗ２の初期値の組合せとして、１つの初期値の組合せに限定されず、複数の初期値の組合せを初期設定しておくことができる。この場合には、重みの初期値の組合せごとに上記の式（４）を用いて重みの更新が実行されることになる。
【００４５】
ＳＮ比算出部１７は、重み設定部１６によって設定される重みの組合せごとに当該重みの組合せで各周波数スペクトルが合成される場合のＳＮ比を算出する処理部である。一態様としては、ＳＮ比算出部１７は、重み設定部１６によってＳＮ比コンポ−ネットＡ〜Ｆが算出された時点で、重みｗ１及び重みｗ２の初期値の組合せを上記の式（３）に代入することによって初期値の組合せのパワースペクトルのＳＮ比を算出できる。その後、重み設定部１６によって重みｗ１及び重みｗ２が上記の式（４）にしたがって更新される度に、重みｗ１及び重みｗ２の更新値の組合せを上記の式（３）に代入することによって合成スペクトルのＳＮ比を更新回数ごとに算出できる。
【００４６】
合成部１８は、ＲＧＢ信号の各周波数スペクトルを合成する処理部である。一態様としては、合成部１８は、重み設定部１６によって設定される重みの組合せのうちＳＮ比算出部１７によって算出されたＳＮ比が最大となる重みの組合せを抽出する。その上で、合成部１８は、先に抽出されたＳＮ比が所定の閾値以上であるか否かを判定する。このとき、ＳＮ比が閾値未満である場合には、上記の式（４）によって導出された重みが信用できる値ではないと判断できる。この場合には、ＲＧＢ信号の各パワースペクトルは合成されない。一方、ＳＮ比が閾値以上である場合には、上記の式（４）によって導出された重みが信用できると判断できる。この場合には、合成部１８は、ＳＮ比が最大となる重みの組合せをＲＧＢ信号の各パワースペクトルに付与する。その上で、合成部１８は、ＳＮ比が最大となる重みの組合せで重み付けを実行した上で重み付け後の各パワースペクトルを合成する。これによって、上記の最適パワースペクトルを得ることができる。
【００４７】
脈波検出部１９は、合成部１８によって合成された周波数スペクトルから脈波を検出する処理部である。一態様としては、脈波検出部１９は、合成部１８によって合成された最適パワースペクトルのうち、上記の心拍可帯域、すなわち下限値３０ｂｐｍ〜上限値２４０ｂｐｍの区間に対応する周波数の区間で最大のパワー値を持つ周波数を被験者の心拍数として検出する。他の一態様としては、脈波検出部１９は、合成部１８によって合成された最適パワースペクトルに逆フーリエ変換を実行することによって周波数領域から時間領域へ逆変換する。これによって、被験者の心拍波形を得ることもできる。なお、検出結果として得られた心拍数や最適パワースペクトルのＳＮ比は、互いが対応付けられた上で履歴記憶部１５ａに登録される。
【００４８】
このようにして得られた心拍数や心拍波形は、脈波検出装置１０が有する図示しない表示デバイスを始め、任意の出力先へ出力することができる。例えば、心拍数から心疾患の有無などを診断したりする診断プログラムが脈波検出装置１０にインストールされている場合には、診断プログラムを出力先とすることができる。例えば、診断プログラムでは、高血圧の人物が頻脈、例えば１００ｂｐｍ以上である場合に狭心症や心筋梗塞の疑いがあると診断したり、心拍数や心拍波形を用いて不整脈や精神疾患、例えば緊張やストレスを診断したりすることができる。また、診断プログラムをＷｅｂサービスとして提供するサーバ装置などを出力先とすることもできる。さらに、脈波検出装置１０を利用する利用者の関係者、例えば介護士、看護師や医者などが使用する端末装置を出力先とすることもできる。これによって、院外、例えば在宅や在席のモニタリングサービスも可能になる。なお、診断プログラムの測定結果や診断結果も、脈波検出装置１０を始め、関係者の端末装置に表示させることができるのも言うまでもない。
【００４９】
なお、上記の取得部１１、抽出部１２、代表値算出部１３、変換部１４、帯域設定部１５、重み設定部１６、ＳＮ比算出部１７、合成部１８及び脈波検出部１９は、ＣＰＵ（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）などが挙げられる。また、内部メモリの代わりに、ハードディスク、光ディスクなどの記憶装置を採用することとしてもよい。
【００５１】
［数値計算例］
ここでは、図６〜図１６を用いて、脈波の検出に関する数値計算の一例について説明する。図６は、ＲＧＢ信号の一例を示す図である。図７は、ＲＧＢ信号のパワースペクトルの一例を示す図である。図６には、サンプリング周波数が２０ｆｐｓ（frame  per  second）であるカメラ１１ａが撮像するカメラ画像からＲＧＢの成分別に生体領域の代表値が１分間にわたって算出されたＲＧＢ信号が図示されている。このように、カメラ１１ａのサンプリング周波数が２０ｆｐｓであるとしたとき、ＲＧＢの成分別に生体領域の代表値が１分間（＝６０秒）にわたって採取されると、図６に示すように、２０ｆｐｓ×６０ｓｅｃ＝１２００のＲＧＢの信号値を得ることができる。かかるＲＧＢ成分信号にフーリエ変換を実行すると、図７に示すように、ＲＧＢの成分別にパワースペクトルを得ることができる。なお、図７には、パワー値を１ｂｐｍ単位で求める場合を例示したが、さらにパワー値を求める周波数の粒度を細かくしたり、荒くしたりすることもできる。
【００５２】
そして、ＲＧＢ信号のパワースペクトルが得られた場合には、１時刻前に推定された心拍数及び１時刻前の最適パワースペクトルのＳＮ比がＳ帯域の設定に用いられる。図８は、履歴の一例を示す図である。図８に示すように、履歴記憶部１５ａに記憶された履歴のうち最新の履歴、すなわち１時刻前に推定された心拍数「７０ｂｐｍ」がＳ帯域の中心に設定される。その上で、１時刻前の最適パワースペクトルのＳＮ比「１．６０」を上記の式（１）に代入することによってＳ帯域の幅が設定される。例えば、本例では、５０−４０＊（１．６−０．８）を計算することによってＳ帯域の幅が「１８」と算出される。
【００５３】
このように、Ｓ帯域の中心および幅が決定すると、Ｓ帯域の境界値となる最小周波数および最大周波数が確定する。図９は、Ｓ帯域の設定結果の一例を示す図である。図９に示すように、Ｓ帯域の中心「７０ｂｐｍ」からＳ帯域の幅「１８」を減算することによってＳ帯域の最小周波数が「５２ｂｐｍ」と算出される。これとともに、Ｓ帯域の中心「７０ｂｐｍ」にＳ帯域の幅「１８」を加算することによってＳ帯域の最大周波数が「８８ｂｐｍ」と算出される。この場合、Ｎ帯域は、「５２ｂｐｍ」未満かつ「８８ｂｐｍ」超過と設定されることになる。
【００５４】
なお、初期時刻には、図１０に示す心拍可帯域がＳ帯域として設定される。図１０は、Ｓ帯域の設定結果の一例を示す図である。すなわち、初期時刻には、事前の推定結果が存在しない。このため、図１０に示すように、心拍可帯域の下限値である３０ｂｐｍがＳ帯域の最小周波数に設定されるとともに、心拍可帯域の上限値である２４０ｂｐｍがＳ帯域の最大周波数に設定される。この場合、Ｎ帯域は、「３０ｂｐｍ」未満かつ「２４０ｂｐｍ」超過と設定されることになる。
【００５５】
このように、Ｓ帯域およびＮ帯域が設定された段階で、上記のＳＮ比コンポ−ネットＡ〜Ｆの算出が可能となる。例えば、図７に示したＲ信号のパワースペクトル、Ｇ信号のパワースペクトル及びＢ信号のパワースペクトルと、図９または図１０に示したＳ帯域およびＮ帯域の設定結果とを上記の式（３．５）に代入する。これによって、図１１に示すように、ＳＮ比コンポーネントＡ〜Ｆが算出される。図１１は、ＳＮ比コンポーネントの一例を示す図である。本例では、図１１に示すように、ＳＮ比コンポ−ネットＡ「６０１２」、ＳＮ比コンポーネントＢ「３０７５」、ＳＮ比コンポーネントＣ「１０９８」、ＳＮ比コンポーネントＤ「４７７」、ＳＮ比コンポーネントＥ「３７４」、ＳＮ比コンポーネントＦ「２０１」が算出される。
【００５６】
かかるＳＮ比コンポーネントＡ〜Ｆが算出された後、ＲＧＢ信号の各パワースペクトルに付与する重みｗ１及び重みｗ２の初期値が上記の式（４）の更新式にしたがって更新される。このとき、複数の重みｗ１及び重みｗ２の初期値を用意することができる。図１２は、重みの初期値の一例を示す図である。図１２には、Ｍ個の重みｗ１及び重みｗ２の初期値が図示されている。図１２に示す上付きの括弧内の数字は、更新回数を指し、例えば、初期値を「１」とし、更新の度に値がインクリメントされる。
【００５７】
これら重みｗ１及び重みｗ２は、図１２に示すＭ個の重みの初期値ごとに更新が実行される。このとき、上記の式（４）に示す一階微分Δｇ（ｗ（ｋ））の絶対値が閾値ε、例えば「0.0001」を下回るまで、上記の式（４）の更新式にしたがって更新が繰り返し実行される。図１３は、更新回数別のＳＮ比の一例を示す図である。図１３には、図１２に示した重みの初期値のうち重み組合せ番号「１」の初期値を用いて重みが更新された場合の更新回数別のＳＮ比が図示されている。図１３に示すように、一階微分Δｇ（ｗ（ｋ））が閾値ε「0.0001」未満となるまで、すなわち一階微分Δｇ（ｗ（ｋ））の値が「0.00003」となる更新回数（ｋ＝１５）まで、上記の式（４）にしたがって重みの更新が実行される。このように、重み組合せ番号「１」の初期値がニュートン法に基づいて更新が繰り返された場合には、ＳＮ比が１．５２まで向上された重みｗ１及び重みｗ２を得ることができる。
【００５８】
このように、Ｍ個の重みの初期値ごとに実行された重みｗ１及び重みｗ２の更新結果を図１４に示す。図１４は、重みｗ１及び重みｗ２の更新結果の一例を示す図である。図１４には、重み組合せ番号「１」〜「Ｍ」別に更新後の重みおよびＳＮ比が図示されている。このようにしてＭ個の重みの初期値ごとに更新された重みの組合せのうちＳＮ比ｇ（ｗ）が最大となる重みの組合せが最適な重みとして抽出される。以下では、重みの更新結果のうち最大のＳＮ比を持つ重みとして抽出される重みのことを「最適重み」と記載する場合がある。このとき、ＳＮ比ｇ（ｗ）が最大となる重みの組合せを直ちに抽出するのではなく、重み組合せ番号「１」〜「Ｍ」のＳＮ比ｇ（ｗ）のうち最大値を持つＳＮ比ｇ（ｗ）が所定の閾値、例えば１以上である場合に絞って抽出する。これによって、ニュートン法によって導出された重みの組合せが信用できる値であるか否かをフィルタリングできる。
【００５９】
図１５は、最適重みの一例を示す図である。図１５には、図１４に示した重みｗ１及び重みｗ２の更新結果から抽出された最適重みが図示されている。本例では、図１５に示すように、全ての重み組合せ番号の間で最大値「１．５２」をとる重み組合せ番号「１」、「２」または「３」の重みが最適重みとして抽出される。すなわち、Ｒ信号のパワースペクトルの最適重みｗ１として０．３２が抽出され、Ｇ信号のパワースペクトルの最適重みｗ２として０．２５が抽出されるとともに、Ｂ信号のパワースペクトルの最適重みｗ３として０．４３が抽出される。なお、本例では、重み組合せ番号「１」、「２」及び「３」の間でＳＮ比が同値をとる場合に、重み組合せ番号が最小である重み組合せ番号「１」の重みを抽出する場合を例示したが、一階微分値が最小である重み組合せ番号の重みを抽出したり、更新回数が最小である重み組合せ番号の重みを抽出したりすることもできる。
【００６０】
このようにして最適重みが抽出された後に、最適重みを上記の式（２）に代入することによってＲＧＢ信号の各パワースペクトルに重み付けが実行される。その上で、重み付け後のＲＧＢ信号の各パワースペクトルが合成される。これによって、図１６に示す最適パワースペクトルを得ることができる。
【００６１】
図１６は、最適パワースペクトルの一例を示す図であり、図１７は、最適パワースペクトルの波形の一例を示す図である。図１７に示すグラフの縦軸は、パワーを指し、横軸は、周波数（ｂｐｍ）を指す。図１７には、図１６に示した最適パワースペクトルがグラフ上にマッピングされた折れ線波形が図示されている。図１６に示す最適パワースペクトルが得られた場合には、図１７に示すように、心拍可帯域、すなわち３０ｂｐｍ以上２４０ｂｐｍ以下内でピークとなる周波数「７６ｂｐｍ」が心拍数として推定される。
【００６２】
このように心拍数が推定されると、心拍数および最適パワースペクトルのＳＮ比が履歴記憶部１５ａに追加登録される。図１８は、履歴の追加方法の一例を示す図である。図１８には、図８に示した履歴に最新の履歴を追加する場合を例示している。図１８に示すように、「２０１３年４月２６日１０時１３分」の履歴の後に、今回推定された心拍数「７６」及びＳＮ比「１．５２」が最新の履歴「２０１３年４月２６日１０時１４分」の履歴として追加登録される。この結果、「２０１３年４月２６日１０時１３分」の履歴が２時刻前の履歴に遷移し、「２０１３年４月２６日１０時１４分」の履歴が１時刻前の履歴と遷移することになる。これによって、「２０１３年４月２６日１０時１５分」に採取されたＲＧＢ信号のスペクトルのＳ帯域およびＮ帯域を設定する場合に、「２０１３年４月２６日１０時１４分」の履歴を１時刻前の履歴として有効活用できる。
【００６３】
［処理の流れ］
図１９及び図２０は、実施例１に係る脈波検出処理の手順を示すフローチャートである。この脈波検出処理は、脈波検出装置１０のプロセッサによって脈波検出プログラムが実行されている場合に繰り返し実行される処理である。さらに、脈波検出プログラムは、一例として、ユーザインタフェースを介して起動指示を受け付けた場合に起動することとしてもよいし、脈波検出プログラムに設定された条件を満たす場合にバックグラウンドで自動的に起動することとしてもかまわない。
【００６４】
図１９に示すように、取得部１１によってカメラ画像が取得されると（ステップＳ１０１）、抽出部１２は、ステップＳ１０１で取得されたカメラ画像から生体領域を抽出する（ステップＳ１０２）。
【００６５】
続いて、代表値算出部１３は、ステップＳ１０２で抽出された生体領域に含まれる各画素が持つ画素値の代表値を波長成分、例えばＲＧＢ成分別に算出する（ステップＳ１０３）。そして、変換部１４は、ステップＳ１０３でＲＧＢ成分別に算出された代表値が所定の時間、例えば１分間にわたって蓄積されたか否かを判定する（ステップＳ１０４）。
【００６６】
このとき、ＲＧＢ成分別の代表値が所定の時間にわたって蓄積された場合（ステップＳ１０４Ｙｅｓ）には、変換部１４は、当該時間長のＲ信号、Ｇ信号及びＢ信号の各信号にフーリエ変換を実行する（ステップＳ１０５）。なお、ＲＧＢ成分別の代表値が所定の時間にわたって未だ蓄積されていない場合（ステップＳ１０４Ｎｏ）には、上記のステップＳ１０１の処理に移行する。
【００６７】
このように、フーリエ変換が実行された結果、Ｒ信号、Ｇ信号及びＢ信号の各信号が時間領域から周波数領域に変換される。これによって、Ｒ信号のパワースペクトル、Ｇ信号のパワースペクトル及びＢ信号のパワースペクトルが得られる。
【００６８】
ステップＳ１０５の処理が実行された後に、帯域設定部１５は、履歴記憶部１５ａに記憶された履歴のうち１時刻前の心拍数および１時刻前の最適パワースペクトルのＳＮ比を読み出す（ステップＳ１０６）。
【００６９】
続いて、帯域設定部１５は、ステップＳ１０６で取得された１時刻前の心拍数をＳ帯域の中心に設定するとともに、１時刻前の最適パワースペクトルのＳＮ比を上記の式（１）に代入することによって得られた算出値をＳ帯域の幅に設定する（ステップＳ１０７）。
【００７０】
その上で、帯域設定部１５は、ステップＳ１０７で決定されたＳ帯域の中心およびＳ帯域の幅からＳ帯域の最小周波数及び最大周波数を算出することによってＳ帯域の周波数範囲を設定する（ステップＳ１０８）。続いて、帯域設定部１５は、ステップＳ１０８で設定されたＳ帯域の周波数範囲を除く周波数帯をＮ帯域の周波数範囲として設定する（ステップＳ１０９）。
【００７１】
その後、重み設定部１６は、ステップＳ１０５で得られたＲＧＢ信号の各パワースペクトルと、ステップＳ１０８及びＳ１０９で設定されたＳ帯域およびＮ帯域の周波数範囲とを上記の式（３．５）に代入することによってＳＮ比コンポーネントＡ〜Ｆを算出する（ステップＳ１１０）。
【００７２】
続いて、重み設定部１６は、重みの初期値の個数ｉをカウントするレジスタの値を所定の値、例えば「０」に初期化する（ステップＳ１１１）。その後、重み設定部１６は、図２０に示すように、上記のレジスタによって保持された値を１つインクリメントする（ステップＳ１１２）。そして、重み設定部１６は、脈波検出装置１０が有する図示しない内部メモリに保存されたＭ個の重みの初期値のうち上記のレジスタによって値が保持されたｉ番目の重みの初期値を読み出す（ステップＳ１１３）。
【００７３】
その後、ＳＮ比算出部１７は、ステップＳ１１０で算出されたＳＮ比コンポーネントＡ〜Ｆ及びステップＳ１１３で読み出された重みｗ（ｋ）を上記の式（３）に代入することによってＳＮ比を算出する（ステップＳ１１４）。
【００７４】
そして、ＳＮ比算出部１７は、ステップＳ１１４で算出されたＳＮ比ｇ（ｗ（ｋ））の一階微分Δｇ（ｗ（ｋ））が所定の閾値ε、例えば「0.0001」未満であるか否かを判定する（ステップＳ１１５）。
【００７５】
ここで、一階微分Δｇ（ｗ（ｋ））が閾値ε以上である場合（ステップＳ１１５Ｎｏ）には、重み設定部１６は、ステップＳ１１３で読み出された重みの初期値を上記の式（４）の更新式にしたがって更新する（ステップＳ１１６）。これによって、重みｗ（ｋ）がｗ（ｋ＋１）へ更新される。続いて、ステップＳ１１６で更新された重みｗ（ｋ＋１）を用いて、上記のステップＳ１１４の処理、すなわちＳＮ比の算出がＳＮ比算出部１７によって実行される。
【００７６】
その後、ステップＳ１１４で算出されるＳＮ比ｇ（ｗ（ｋ））の一階微分Δｇ（ｗ（ｋ））が閾値ε未満になるまで（ステップＳ１１５Ｎｏ）、ステップＳ１１６及びステップＳ１１４の処理、すなわち重みｗ（ｋ）の更新および更新後の重みｗ（ｋ＋１）を用いたＳＮ比の算出が繰り返し実行される。
【００７７】
そして、ステップＳ１１４で算出されるＳＮ比ｇ（ｗ（ｋ））の一階微分Δｇ（ｗ（ｋ））が閾値ε未満になると（ステップＳ１１５Ｙｅｓ）、重み設定部１６は、上記のレジスタによって保持された値ｉがＭであるか否かを判定する（ステップＳ１１７）。
【００７８】
このとき、上記のレジスタによって保持された値ｉがＭでない場合、すなわちＭ未満である場合（ステップＳ１１７Ｎｏ）には、上記のステップＳ１１２〜ステップＳ１１６までの処理が繰り返し実行されることになる。
【００７９】
その後、上記のレジスタによって保持された値ｉがＭになると（ステップＳ１１７Ｙｅｓ）、合成部１８は、次のような処理を実行する。すなわち、合成部１８は、一階微分Δｇ（ｗ（ｋ））が閾値ε未満である重みのうち最大のＳＮ比を持つ重みを最適重みとして抽出する（ステップＳ１１８）。
【００８０】
その上で、合成部１８は、ステップＳ１１８で抽出された最適重みのＳＮ比が所定の閾値以上であるか否かを判定する（ステップＳ１１９）。このとき、ＳＮ比が閾値未満である場合（ステップＳ１１９Ｎｏ）には、上記の式（４）によって導出された重みが信用できる値ではないと判断できる。この場合には、ＲＧＢ信号の各パワースペクトルは合成されず、そのまま処理を終了する。
【００８１】
一方、ＳＮ比が閾値以上である場合（ステップＳ１１９Ｙｅｓ）には、上記の式（４）によって導出された重みが信用できると判断できる。この場合には、合成部１８は、ＳＮ比が最大となる重みの組合せをＲＧＢ信号の各パワースペクトルに付与する。その上で、合成部１８は、ＳＮ比が最大となる重みの組合せで重み付けを実行した上で重み付け後の各パワースペクトルを合成する（ステップＳ１２０）。これによって、上記の最適パワースペクトルを得ることができる。
【００８２】
その後、脈波検出部１９は、ステップＳ１２０の合成で得られた最適パワースペクトルから脈波、例えば心拍数や心拍波形を検出する（ステップＳ１２１）。そして、脈波検出部１９は、ステップＳ１２１で検出された心拍数及びステップＳ１２０の合成で得られた最適パワースペクトルのＳＮ比を対応付けて履歴記憶部１５ａに登録し（ステップＳ１２２）、処理を終了する。
【００８３】
［実施例１の効果］
上述してきたように、本実施例に係る脈波検出装置１０は、画像の生体領域から得たＲＧＢ成分別の信号の周波数成分にＳ帯域とＮ帯域を設定し、ＳＮ比が最大となる重みを用いてＲＧＢの各信号を互いを合成した上で脈波を検出する。このため、本実施例に係る脈波検出装置１０では、周期的なノイズ、例えば体動アーティファクトを十分に除去するとともに心拍に起因する輝度変化を残して脈波を検出できる。したがって、本実施例に係る脈波検出装置１０によれば、脈波の検出精度を向上させることができる。
【００８４】
例えば、本実施例に係る脈波検出装置１０は、ＲＧＢの各信号を最適重みで合成するので、１つの波長成分だけに依存せずに脈波の検出を実行できる。このため、本実施例に係る脈波検出装置１０では、利用者の俯き加減、カメラの撮影位置、環境光の照射方向や光量などが変化する場合でも、脈波の検出精度を維持できる。本実施例に係る脈波検出装置１０によれば、環境光の変化にロバストな脈波の検出を実現できる。
【００８５】
さらに、本実施例に係る脈波検出装置１０では、生体領域から得たＲＧＢの各信号を周波数スペクトラムへ変換し、周波数スペクトラムの演算によって脈波を検出するので、脈波の検出精度を向上させることができる。
【実施例２】
【００８６】
さて、上記の実施例１では、ＲＧＢ信号を周波数領域へ変換してから脈波を検出する場合を例示したが、必ずしもＲＧＢ信号を周波数領域へ変換せずとも、脈波の検出を実現することができる。そこで、本実施例では、ＲＧＢ信号にフーリエ変換を実行する代わりに、互いの通過帯域が異なる複数のＢＰＦ（Band-Pass  Filter）を用いてＲＧＢ信号から疑似パワースペクトルを作成する例について説明する。
【００８７】
［脈波検出装置２０の構成］
図２１は、実施例２に係る脈波検出装置の機能的構成を示すブロック図である。図２１に示す脈波検出装置２０は、図１に示した脈波検出装置１０に比べて、変換部１４の代わりに、複数のＢＰＦ２１−１〜ＢＰＦ２１−ｋと、統計値算出部２２と、作成部２３とを有する点が異なる。なお、図２１には、図１に示した脈波検出装置１０と異なる機能を発揮する機能部だけが抜粋して図示されており、図示が省略された機能部については図１に示した脈波検出装置１０と同様の機能を発揮するので、その説明は省略する。
【００８８】
ＢＰＦ２１−１〜ＢＰＦ２１−ｋは、いずれも所定の周波数帯の信号成分だけを通過させてそれ以外の周波数帯の信号成分を除去するバンドパスフィルタである。これらＢＰＦ２１−１〜ＢＰＦ２１−ｋは、ハードウェアによって実装されることとしてもよいし、ソフトウェアによって実装されることとしてもよい。なお、以下では、ＢＰＦ２１−１〜ＢＰＦ２１−ｋを区別せずに総称する場合には「ＢＰＦ２１」と記載する場合がある。
【００８９】
これらＢＰＦ２１−１〜ＢＰＦ２１−ｋには、互いに異なる通過帯域が設定される。図２２は、複数のＢＰＦの特性の一例を示す図である。図２２に示すように、各ＢＰＦ２１の通過帯域ＢＷは、周波数が小さいものから順に並べると、ＢＷ１、ＢＷ２、ＢＷ３、・・・、ＢＷｋの順となる。これらＢＰＦ２１−１〜ＢＰＦ２１−ｋには、代表値算出部１３によって波長成分別に生体領域の代表値が所定の時間長、例えば１分間などにわたって算出される度に、当該時間長にわたる代表値の時系列データ、すなわちＲＧＢ信号が入力される。このように、ＢＰＦ２１−１〜ＢＰＦ２１−ｋの間で代表値算出部１３から入力される信号は同一である。このうち、ＢＰＦ２１−１は、ＲＧＢの各信号が入力されると、ＲＧＢの各信号が含む信号成分のうち通過帯域ＢＷ１以外の成分を遮断する一方で、通過帯域ＢＷ１の成分を図示の周波数特性で通過させる。さらに、ＢＰＦ２１−２〜ＢＰＦ２１−ｋについても、ＲＧＢの各信号が含む信号成分のうち通過帯域ＢＷ２〜通過帯域ＢＷｋのいずれかの成分に絞って遮断および通過がなされる。なお、ここでは、各ＢＰＦ２１の通過帯域ＢＷが互いに重複しない場合を例示したが、一部であれば通過帯域が重複することとしてもかまわない。
【００９０】
統計値算出部２２は、ＢＰＦ２１ごとに当該ＢＰＦによって通過帯域ＢＷの成分が抽出されたＲＧＢの信号別に当該信号の統計値を算出する処理部である。例えば、統計値算出部２２は、ＢＰＦ２１−１によって通過帯域ＢＷ１の成分が抽出されたＲＧＢの各信号、すなわち上記時間長にわたる振幅（パワー値）の時系列データに所定の統計処理をＲＧＢ成分別に実行する。このとき、統計値算出部２２は、上記の統計処理によって統計値を求める場合に、統計値を絶対値で求める。以下では、絶対値で求められた統計値のことを「絶対統計値」と記載する場合がある。かかる統計処理の一例として、統計値算出部２２は、相加平均を始め、加重平均や移動平均などの平均処理全般を実行することもできるし、平均処理に限定されず、中央値や最頻値を計算することもできる。さらに、統計値算出部２２は、ＢＰＦ２１−２〜ＢＰＦ２１−ｋについても、通過帯域ＢＷ１〜通過帯域ＢＷｋの成分がそれぞれ抽出されたＲＧＢ信号に所定の統計処理をＲＧＢ成分別に実行する。
【００９１】
作成部２３は、統計値算出部２２によってＢＰＦ２１ごとに算出されたＲＧＢの各信号別の絶対統計値からＲＧＢの各信号の疑似パワースペクトルを作成する処理部である。一態様としては、作成部２３は、統計値算出部２２によってＢＰＦ２１ごとに算出されたＲＧＢの各信号別の絶対統計値Ｐと、各ＢＰＦ２１の通過帯域ＢＷとを対応付けた上で絶対統計値と通過帯域の対応付けをＲＧＢの各信号別に統合する。
【００９２】
ここでは、図２３を用いて、Ｒ信号の疑似パワースペクトルを作成する場合について例示するが、Ｇ信号やＢ信号の疑似パワースペクトルを作成する場合の処理内容についても同様の処理が実行される。図２３は、Ｒ信号の疑似パワースペクトルの一例を示す図である。図２３に示すグラフの縦軸は、パワーを指し、グラフの横軸は、周波数を指す。図２３に示すように、作成部２３は、ＢＰＦ２１−１によって出力されたＲ信号の絶対統計値Ｐ１と、ＢＰＦ２１−１の通過帯域ＢＷ１の中心周波数ｆ１とを対応付ける。さらに、作成部２３は、ＢＰＦ２１−２〜ＢＰＦ２１−ｋによって出力されたＲ信号の絶対統計値Ｐ２〜Ｐｋについても、ＢＰＦ２１−２〜ＢＰＦ２１−ｋの通過帯域ＢＷ２〜ＢＷｋの中心周波数ｆ２〜ｆｋと対応付ける。その上で、作成部２３は、Ｒ信号の絶対統計値Ｐと中心周波数ｆとが対応付けられたデータを統合する。これによって、図２３に示す疑似パワースペクトルを作成することができる。
【００９３】
作成部２３よりも後段の機能部は、ＲＧＢの各信号のパワースペクトルの代わりにＲＧＢの各信号の疑似パワースペクトルを用いることによって上記の実施例１と同様の処理を実行することができる。
【００９４】
［処理の流れ］
図２４は、実施例２に係る脈波検出処理の手順を示すフローチャートである。図２４には、図１９及び図２０に示した脈波検出処理のうちステップＳ１０４の処理以外は同様であるので、上記のステップＳ１０４の代わりに実行される処理が抜粋して図示されている。
【００９５】
図２４に示すように、図１９に示したステップＳ１０４Ｙｅｓに遷移すると、統計値算出部２２は、ＢＰＦ２１の個数ｊをカウントするレジスタの値を所定の値、例えば「０」に初期化する（ステップＳ２０１）。その後、統計値算出部２２は、上記のレジスタによって保持された値ｊを１つインクリメントする（ステップＳ２０２）。
【００９６】
続いて、統計値算出部２２は、ｊ番目のＢＰＦ２１−ｊの特性、例えば通過帯域ＢＷｊの特性などを図示しない内部メモリから取得する（ステップＳ２０３）。その後、ｊ番目のＢＰＦ２１−ｊは、ＲＧＢの各信号から通過帯域ＢＷｊの成分を抽出するとともに通過帯域ＢＷｊ以外の成分を遮断するフィルタリングをＲＧＢの各信号別に実行する（ステップＳ２０４）。
【００９７】
そして、統計値算出部２２は、上記のステップＳ２０３でフィルタリングされたＲＧＢの各信号別に当該信号の絶対パワー値を平均する（ステップＳ２０５）。その後、上記のレジスタが保持する値ｊがＫになるまで、すなわちｊ＝Ｋになるまで（ステップＳ２０６Ｎｏ）、上記のステップＳ２０２〜ステップＳ２０５までの処理が繰り返し実行される。
【００９８】
その後、上記のレジスタが保持する値ｊがＫである場合、すなわちｊ＝Ｋである場合（ステップＳ２０６Ｙｅｓ）、作成部２３は、次に説明するステップＳ２０７の処理を実行する。すなわち、作成部２３は、ＢＰＦ２１ごとに算出されたＲＧＢの各信号別の絶対パワー値Ｐと、各ＢＰＦ２１の通過帯域ＢＷとを対応付けた上で絶対パワー値と通過帯域の対応付けをＲＧＢの各信号別に統合することによってＲＧＢの各信号の疑似パワースペクトルを作成する。
【００９９】
このように、ステップＳ２０７の処理が実行された後は、図１９及び図２０に示したステップＳ１０６以降の処理と同様の処理が実行される。
【０１００】
［実施例２の効果］
上述してきたように、本実施例に係る脈波検出装置２０によれば、上記の実施例１と同様に、脈波の検出精度を向上させることができる。さらに、本実施例に係る脈波検出装置２０では、複数のＢＰＦ２１を用いて疑似パワースペクトルを作成するので、フーリエ変換を実行する場合よりも、演算量を低減できるとともに脈波の検出に用いるデータの時間長を短縮できる。
【実施例３】
【０１０１】
さて、上記の実施例２では、擬似的に脈波を周波数領域で検出する場合について説明したが、脈波を時間領域で検出することもできる。そこで、本実施例では、Ｓ帯域に対応する通過帯域が設定されたＢＰＦ３１ＳおよびＮ帯域に対応する通過帯域が設定されたＢＰＦ３１Ｎを用いて脈波を時間領域で検出する例について説明する。
【０１０２】
［脈波検出装置３０の構成］
図２５は、実施例３に係る脈波検出装置の機能的構成を示すブロック図である。図２５に示す脈波検出装置３０は、図１に示した脈波検出装置１０に比べて、変換部１４の代わりに、ＢＰＦ３１Ｓ及び３１Ｎと、統計値算出部３２とを有する点が異なる。さらに、脈波検出装置３０は、図１に示した重み設定部１６、合成部１８及び脈波検出部１９に比べて、処理内容の一部が異なる重み設定部３３、合成部３４及び脈波検出部３５を有する点が異なる。なお、図２５には、図１に示した脈波検出装置１０と同様の機能を発揮する機能部には同一の符号を付し、その説明を省略することとする。
【０１０３】
ＢＰＦ３１Ｓ及びＢＰＦ３１Ｎは、いずれも所定の周波数帯の信号成分だけを通過させてそれ以外の周波数帯の信号成分を除去するバンドパスフィルタである。これらＢＰＦ３１Ｓ及びＢＰＦ３１Ｎは、ハードウェアによって実装されることとしてもよいし、ソフトウェアによって実装されることとしてもよい。なお、以下では、ＢＰＦ３１Ｓ及びＢＰＦ３１Ｎを区別せずに総称する場合には「ＢＰＦ３１」と記載する場合がある。
【０１０４】
これらＢＰＦ３１Ｓ及びＢＰＦ３１Ｎには、互いに異なる通過帯域が設定される。ＢＰＦ３１Ｓ及びＢＰＦ３１Ｎには、代表値算出部１３によって波長成分別に生体領域の代表値が所定の時間長、例えば１分間などにわたって算出される度に、当該時間長にわたる代表値の時系列データ、すなわちＲＧＢの各信号が入力される。このように、ＢＰＦ３１Ｓ及びＢＰＦ３１Ｎの間で代表値算出部１３から入力される信号は同一である。
【０１０５】
このうち、ＢＰＦ３１Ｓには、帯域設定部１５によって設定されたＳ帯域の周波数範囲が通過帯域として設定される。よって、ＢＰＦ３１Ｓは、ＲＧＢの各信号が入力されると、ＲＧＢの各信号が含む信号成分のうちＳ帯域の周波数範囲外、すなわちＮ帯域の周波数範囲の成分を遮断する一方で、Ｓ帯域の周波数範囲の成分を通過させる。一方、ＢＰＦ３１Ｎには、帯域設定部１５によって設定されたＮ帯域の周波数範囲が通過帯域として設定される。このため、ＢＰＦ３１Ｎは、ＲＧＢの各信号が入力されると、ＲＧＢの各信号が含む信号成分のうちＮ帯域の周波数範囲外、すなわちＳ帯域の周波数範囲の成分を遮断する一方で、Ｎ帯域の周波数範囲の成分を通過させる。
【０１０６】
統計値算出部３２は、ＢＰＦ３１ごとに当該ＢＰＦ３１によって通過帯域の成分が抽出されたＲＧＢの信号別に当該信号の統計値を算出する処理部である。例えば、統計値算出部３２は、ＢＰＦ３１ＳによってＳ帯域の周波数範囲の成分が抽出されたＲＧＢの各信号、すなわち上記時間長にわたる振幅（パワー値）の時系列データに所定の統計処理をＲＧＢ成分別に実行する。このとき、統計値算出部３２は、上記の統計処理によって統計値を求める場合に、統計値を絶対値で求める。かかる統計処理の一例として、統計値算出部３２は、相加平均を始め、加重平均や移動平均などの平均処理全般を実行することもできるし、平均処理に限定されず、中央値や最頻値を計算することもできる。また、統計値算出部３２は、ＢＰＦ３１Ｎについても、Ｎ帯域の周波数範囲の成分が抽出されたＲＧＢ信号に所定の統計処理をＲＧＢ成分別に実行する。
【０１０７】
重み設定部３３は、図１に示した重み設定部１６に比べて、ＳＮ比コンポーネントの算出方法が異なる。具体的には、図１に示した重み設定部１６では、ＳＮ比コンポーネントの算出にＲＧＢ信号の各パワースペクトルを用いるが、重み設定部３３では、ＲＧＢの各信号、すなわち上記の時間長にわたる代表値の時系列データから求めた絶対統計値を用いる点が相違する。すなわち、重み設定部３３は、統計値算出部３２によってＲＧＢの各信号別に算出されたＳ帯域の絶対統計値と、統計値算出部３２によってＲＧＢの各信号別に算出されたＮ帯域の絶対統計値とを用いて、ＳＮ比コンポーネントＡ〜Ｆを算出する。なお、ＳＮ比コンポーネントＡ〜Ｆを求めた後の処理については、上記の重み設定部１６と同様の処理が実行される。
【０１０８】
合成部３４は、図１に示した合成部１８に比べて、合成する対象が異なる。具体的には、図１に示した合成部１８では、ＲＧＢ信号の各パワースペクトルを最適重みで重み付けした後に合成を実行するが、合成部３４では、ＲＧＢの各信号、すなわち上記の時間長にわたる代表値の時系列データを最適重みで重み付けした後に合成する点が異なる。この場合には、ＲＧＢの各信号が下記の式（５）によって重み付けが行われた後に合成される。これによって、上記の周波数領域の最適パワースペクトルに対応する時間領域の最適信号を得ることができる。
【０１０９】
Ｓ（ｔ）＝ｗ１Ｒ（ｔ）＋ｗ２Ｇ（ｔ）＋ｗ３Ｂ（ｔ）・・・式（５）
【０１１０】
脈波検出部３５は、図１に示した脈波検出部１９に比べて、時間領域の最適信号から脈波を検出する点が相違する。一態様としては、脈波検出部３５は、合成部３４によって合成された最適信号を、心拍可帯域、すなわち３０ｂｐｍ以上２４０ｂｐｍ以下の周波数帯が通過帯域に設定されたＢＰＦへ入力する。その上で、脈波検出部３５は、当該ＢＰＦによって出力された信号の波形をそのまま脈波波形として出力することができる。他の一態様としては、脈波検出部３５は、先のＢＰＦによって出力された信号の波形からピーク検出、例えば微分波形のゼロクロス点の検出などを実行することによって心拍数を計算することができる。例えば、脈波検出部３５は、ピーク検出によって信号からピークが検出される度に、当該ピーク、すなわち極大点が検出されたサンプリング時間を図示しない内部メモリに保存しておく。その上で、脈波検出部３５は、各ピークごとにピーク間隔を求めた上で各ピーク間隔の平均値を算出する。そして、脈波検出部３５は、ピーク間隔の平均値を周波数に換算することによって心拍数を算出することができる。なお、ここでは、ピーク間隔によって心拍数を検出する場合を例示したが、最適信号を周波数成分へ変換することによって心拍可帯域でピークをとる周波数から心拍数を検出することもできる。
【０１１１】
［処理の流れ］
図２６及び図２７は、実施例３に係る脈波検出処理の手順を示すフローチャートである。これら図２６及び図２７には、図１９及び図２０に示した脈波検出処理と同一の処理が実行されるステップに同一のステップ番号を付与し、異なる処理が実行されるステップには３００番台のステップ番号が付与されている。
【０１１２】
図２６に示すように、取得部１１によってカメラ画像が取得されると（ステップＳ１０１）、抽出部１２は、ステップＳ１０１で取得されたカメラ画像から生体領域を抽出する（ステップＳ１０２）。
【０１１３】
続いて、代表値算出部１３は、ステップＳ１０２で抽出された生体領域に含まれる各画素が持つ画素値の代表値を波長成分、例えばＲＧＢ成分別に算出する（ステップＳ１０３）。そして、変換部１４は、ステップＳ１０３でＲＧＢ成分別に算出された代表値が所定の時間、例えば１分間にわたって蓄積されたか否かを判定する（ステップＳ１０４）。
【０１１４】
このとき、ＲＧＢ成分別の代表値が所定の時間にわたって蓄積された場合（ステップＳ１０４Ｙｅｓ）には、帯域設定部１５は、履歴記憶部１５ａに記憶された履歴のうち１時刻前の心拍数および１時刻前の最適パワースペクトルのＳＮ比を読み出す（ステップＳ１０６）。なお、ＲＧＢ成分別の代表値が所定の時間にわたって未だ蓄積されていない場合（ステップＳ１０４Ｎｏ）には、上記のステップＳ１０１の処理に移行する。
【０１１５】
続いて、帯域設定部１５は、ステップＳ１０６で取得された１時刻前の心拍数をＳ帯域の中心に設定するとともに、１時刻前の最適パワースペクトルのＳＮ比を上記の式（１）に代入することによって得られた算出値をＳ帯域の幅に設定する（ステップＳ１０７）。
【０１１６】
その上で、帯域設定部１５は、ステップＳ１０７で決定されたＳ帯域の中心およびＳ帯域の幅からＳ帯域の最小周波数及び最大周波数を算出することによってＳ帯域の周波数範囲を設定する（ステップＳ１０８）。続いて、帯域設定部１５は、ステップＳ１０８で設定されたＳ帯域の周波数範囲を除く周波数帯をＮ帯域の周波数範囲として設定する（ステップＳ１０９）。
【０１１７】
その後、上記の時間長にわたって蓄積されたＲ信号、Ｇ信号及びＢ信号の各信号がＳ帯域とＮ帯域でＢＰＦ３１にかけられる（ステップＳ３０１）。これによって、ＢＰＦ３１Ｓは、ＲＧＢの各信号が含む信号成分のうちＳ帯域の周波数範囲外の成分を遮断する一方でＳ帯域の周波数範囲の成分を通過させる。これとともに、ＢＰＦ３１Ｎは、ＲＧＢの各信号が含む信号成分のうちＮ帯域の周波数範囲外の成分を遮断する一方でＮ帯域の周波数範囲の成分を通過させる。
【０１１８】
そして、重み設定部３３は、ステップＳ３０１でＲＧＢの各信号別に得たＳ帯域の絶対統計値およびＮ帯域の絶対統計値と、ステップＳ１０８及びＳ１０９で設定されたＳ帯域およびＮ帯域の周波数範囲とを用いてＳＮ比コンポーネントＡ〜Ｆを算出する（ステップＳ３０２）。
【０１１９】
続いて、重み設定部３３は、重みの初期値の個数ｉをカウントするレジスタの値を所定の値、例えば「０」に初期化する（ステップＳ１１１）。その後、重み設定部３３は、図２７に示すように、上記のレジスタによって保持された値を１つインクリメントする（ステップＳ１１２）。そして、重み設定部３３は、脈波検出装置１０が有する図示しない内部メモリに保存されたＭ個の重みの初期値のうち上記のレジスタによって値が保持されたｉ番目の重みの初期値を読み出す（ステップＳ１１３）。
【０１２０】
その後、ＳＮ比算出部１７は、ステップＳ１１０で算出されたＳＮ比コンポーネントＡ〜Ｆ及びステップＳ１１３で読み出された重みｗ（ｋ）を上記の式（３）に代入することによってＳＮ比を算出する（ステップＳ１１４）。
【０１２１】
そして、ＳＮ比算出部１７は、ステップＳ１１４で算出されたＳＮ比ｇ（ｗ（ｋ））の一階微分Δｇ（ｗ（ｋ））が所定の閾値ε、例えば「0.0001」未満であるか否かを判定する（ステップＳ１１５）。
【０１２２】
ここで、一階微分Δｇ（ｗ（ｋ））が閾値ε以上である場合（ステップＳ１１５Ｎｏ）には、重み設定部３３は、ステップＳ１１３で読み出された重みの初期値を上記の式（４）の更新式にしたがって更新する（ステップＳ１１６）。これによって、重みｗ（ｋ）がｗ（ｋ＋１）へ更新される。続いて、ステップＳ１１６で更新された重みｗ（ｋ＋１）を用いて、上記のステップＳ１１４の処理、すなわちＳＮ比の算出がＳＮ比算出部１７によって実行される。
【０１２３】
その後、ステップＳ１１４で算出されるＳＮ比ｇ（ｗ（ｋ））の一階微分Δｇ（ｗ（ｋ））が閾値ε未満になるまで（ステップＳ１１５Ｎｏ）、ステップＳ１１６及びステップＳ１１４の処理、すなわち重みｗ（ｋ）の更新および更新後の重みｗ（ｋ＋１）を用いたＳＮ比の算出が繰り返し実行される。
【０１２４】
そして、ステップＳ１１４で算出されるＳＮ比ｇ（ｗ（ｋ））の一階微分Δｇ（ｗ（ｋ））が閾値ε未満になると（ステップＳ１１５Ｙｅｓ）、重み設定部３３は、上記のレジスタによって保持された値ｉがＭであるか否かを判定する（ステップＳ１１７）。
【０１２５】
このとき、上記のレジスタによって保持された値ｉがＭでない場合、すなわちＭ未満である場合（ステップＳ１１７Ｎｏ）には、上記のステップＳ１１２〜ステップＳ１１６までの処理が繰り返し実行されることになる。
【０１２６】
その後、上記のレジスタによって保持された値ｉがＭになると（ステップＳ１１７Ｙｅｓ）、合成部１８は、次のような処理を実行する。すなわち、合成部１８は、一階微分Δｇ（ｗ（ｋ））が閾値ε未満である重みのうち最大のＳＮ比を持つ重みを最適重みとして抽出する（ステップＳ１１８）。
【０１２７】
その上で、合成部１８は、ステップＳ１１８で抽出された最適重みのＳＮ比が所定の閾値以上であるか否かを判定する（ステップＳ１１９）。このとき、ＳＮ比が閾値未満である場合（ステップＳ１１９Ｎｏ）には、上記の式（４）によって導出された重みが信用できる値ではないと判断できる。この場合には、ＲＧＢ信号の各パワースペクトルは合成されず、そのまま処理を終了する。
【０１２８】
一方、ＳＮ比が閾値以上である場合（ステップＳ１１９Ｙｅｓ）には、上記の式（４）によって導出された重みが信用できると判断できる。この場合には、合成部３４は、ＳＮ比が最大となる重みの組合せをＲＧＢの各信号に掛け合わせる。その上で、合成部３４は、ＳＮ比が最大となる重みの組合せで重み付けが実行されたＲＧＢの各信号を合成する（ステップＳ３０３）。これによって、上記の周波数領域の最適パワースペクトルに対応する時間領域の最適信号を得ることができる。
【０１２９】
その後、脈波検出部３５は、合成部３４によって合成された最適信号を、心拍可帯域、すなわち３０ｂｐｍ以上２４０ｂｐｍ以下の周波数帯が通過帯域に設定されたＢＰＦへ入力する（ステップＳ３０４）。
【０１３０】
その上で、脈波検出部３５は、ステップＳ３０４でＢＰＦによってフィルタリングされた信号の波形からピークを検出する（ステップＳ３０５）。そして、脈波検出部３５は、各ピークごとにピーク間隔を求めた上で各ピーク間隔の平均値を算出する（ステップＳ３０６）。続いて、脈波検出部３５は、ピーク間隔の平均値を周波数に換算することによって心拍数を算出する（ステップＳ３０７）。
【０１３１】
その後、脈波検出部１９は、ステップＳ３０７で検出された心拍数及びステップＳ３０３の合成で得られた最適信号のＳＮ比を対応付けて履歴記憶部１５ａに登録し（ステップＳ１２２）、処理を終了する。
【０１３２】
［実施例３の効果］
上述してきたように、本実施例に係る脈波検出装置３０によれば、上記の実施例１と同様に、脈波の検出精度を向上させることができる。さらに、本実施例に係る脈波検出装置３０では、時間領域で脈波を検出できるので、周波数領域へ変換する場合よりも、演算量を低減できるとともに脈波の検出に用いるデータの時間長を短縮できる。
【実施例４】
【０１３３】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【０１３４】
［入力信号］
上記の実施例１〜３では、入力信号としてＲＧＢ信号の三種類を用いる場合を例示したが、異なる複数の光波長成分を持つ信号であれば任意の種類の信号および任意の数の信号を入力信号とすることができる。例えば、ＨＳＶ信号を用いることとしてもよいし、あるいはＩＲおよびＮＩＲなどの信号を２つ用いることもできるし、また、３つ以上用いることもできる。
【０１３５】
［応用例１］
上記の実施例１〜３では、１分間周期で繰り返し実行される場合を例示したが、必ずしも定期間隔で実行せずともよい。例えば、光環境が変わった場合に絞って最適重みの算出を実行することとしてもよい。例えば、ＲＧＢ成分のいずれか１つの輝度変化が１時刻前に比べて閾値ｔｈよりも大きく変化した場合に最適重みの算出を実行することもできる。なお、最適重みの算出が実行されない場合には、１時刻前のＳＮ比をそのまま流用することとすればよい。
【０１３６】
［応用例２］
上記の実施例１〜３では、あらかじめ用意されたＭ個の重みの初期値を用いて重みの更新を実行する場合を例示したが、１時刻前の最適重みを次回の最適重みを更新する場合の重みの初期値として用いることもできる。これによって、最適重みの更新を効率化することができる。
【０１３７】
［他の実装例］
上記の実施例１〜実施例３では、脈波検出装置１０〜３０が上記の脈波検出処理をスタンドアローンで実行する場合を例示したが、クライアントサーバシステムとして実装することもできる。例えば、脈波検出装置１０〜３０は、脈波検出サービスを提供するＷｅｂサーバとして実装することとしてもよいし、アウトソーシングによって脈波検出サービスを提供するクラウドとして実装することとしてもかまわない。このように、脈波検出装置１０〜３０がサーバ装置として動作する場合には、スマートフォンや携帯電話機等の携帯端末装置やパーソナルコンピュータ等の情報処理装置をクライアント端末として収容することができる。これらクライアント端末からネットワークを介して被験者の顔が映った画像が取得された場合に脈波検出処理を実行し、心拍の検出結果や検出結果を用いてなされた診断結果をクライアント端末へ応答することによって脈波検出サービスを提供できる。
【０１３８】
［脈波検出プログラム］
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図２８を用いて、上記の実施例と同様の機能を有する脈波検出プログラムを実行するコンピュータの一例について説明する。
【０１３９】
図２８は、実施例１〜実施例４に係る脈波検出プログラムを実行するコンピュータの一例について説明するための図である。図２８に示すように、コンピュータ１００は、操作部１１０ａと、スピーカ１１０ｂと、カメラ１１０ｃと、ディスプレイ１２０と、通信部１３０とを有する。さらに、このコンピュータ１００は、ＣＰＵ１５０と、ＲＯＭ１６０と、ＨＤＤ１７０と、ＲＡＭ１８０とを有する。これら１１０〜１８０の各部はバス１４０を介して接続される。
【０１４０】
ＨＤＤ１７０には、図２８に示すように、上記の実施例１〜３で示した各機能部と同様の機能を発揮する脈波検出プログラム１７０ａが予め記憶される。この脈波検出プログラム１７０ａについては、図１、図２１または図２５に示した各々の構成要素と同様、適宜統合又は分離しても良い。すなわち、ＨＤＤ１７０に格納される各データは、常に全てのデータがＨＤＤ１７０に格納される必要はなく、処理に必要なデータのみがＨＤＤ１７０に格納されれば良い。
【０１４１】
そして、ＣＰＵ１５０が、脈波検出プログラム１７０ａをＨＤＤ１７０から読み出してＲＡＭ１８０に展開する。これによって、図２８に示すように、脈波検出プログラム１７０ａは、脈波検出プロセス１８０ａとして機能する。この脈波検出プロセス１８０ａは、ＨＤＤ１７０から読み出した各種データを適宜ＲＡＭ１８０上の自身に割り当てられた領域に展開し、この展開した各種データに基づいて各種処理を実行する。なお、脈波検出プロセス１８０ａは、図１、図２１または図２５に示した各機能部にて実行される処理、例えば図１９、図２０、図２４、図２６及び図２７に示す処理を含む。また、ＣＰＵ１５０上で仮想的に実現される各処理部は、常に全ての処理部がＣＰＵ１５０上で動作する必要はなく、処理に必要な処理部のみが仮想的に実現されれば良い。
【０１４２】
なお、上記の脈波検出プログラム１７０ａについては、必ずしも最初からＨＤＤ１７０やＲＯＭ１６０に記憶させておく必要はない。例えば、コンピュータ１００に挿入されるフレキシブルディスク、いわゆるＦＤ、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。そして、コンピュータ１００がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１００に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させておき、コンピュータ１００がこれらから各プログラムを取得して実行するようにしてもよい。
【符号の説明】
【０１４３】
１０    脈波検出装置
１１ａ  カメラ
１１    取得部
１２    抽出部
１３    代表値算出部
１４    変換部
１５ａ  履歴記憶部
１５    帯域設定部
１６    重み設定部
１７    ＳＮ比算出部
１８    合成部
１９    脈波検出部
【図１】
2015083101.tif 000008
【図２】
2015083101.tif 000009
【図３】
2015083101.tif 000010
【図４】
2015083101.tif 000011
【図５】
2015083101.tif 000012
【図６】
2015083101.tif 000013
【図７】
2015083101.tif 000014
【図８】
2015083101.tif 000015
【図９】
2015083101.tif 000016
【図１０】
2015083101.tif 000017
【図１１】
2015083101.tif 000018
【図１２】
2015083101.tif 000019
【図１３】
2015083101.tif 000020
【図１４】
2015083101.tif 000021
【図１５】
2015083101.tif 000022
【図１６】
2015083101.tif 000023
【図１７】
2015083101.tif 000024
【図１８】
2015083101.tif 000025
【図１９】
2015083101.tif 000026
【図２０】
2015083101.tif 000027
【図２１】
2015083101.tif 000028
【図２２】
2015083101.tif 000029
【図２３】
2015083101.tif 000030
【図２４】
2015083101.tif 000031
【図２５】
2015083101.tif 000032
【図２６】
2015083101.tif 000033
【図２７】
2015083101.tif 000034
【図２８】
2015083101.tif 000035