(57)【特許請求の範囲】
【請求項１】
撮像手段によって撮像された画像に基づいて脈波を計測する脈波検出装置であって、
前記画像を脈拍取得に用いるモードである場合に、エッジ量が所定の上限および下限の範囲内か、重心が中心から所定の範囲内にあるか、の少なくともいずれか一方から所定の状態であるかを判定する判定部と、
前記判定部の判定結果が、所定の状態でない場合にエラーの旨を出力し、所定の状態である場合に前記画像から得られる信号に基づいて脈拍を算出し、算出結果を出力する出力部と、
を有することを特徴とする脈波検出装置。
【請求項２】
前記判定部が、前記重心を、画像フレームの縦方向と横方向との輝度値総和から算出すること、
を特徴とする請求項１に記載の脈波検出装置。
【請求項３】
撮像手段によって撮像された画像に基づいて脈波を計測することをコンピュータに実行させる脈波検出プログラムであって、
前記画像を脈拍取得に用いるモードである場合に、エッジ量が所定の上限および下限の範囲内か、重心が中心から所定の範囲内にあるか、の少なくともいずれか一方から所定の状態であるかを判定する判定手順と、
前記判定手順の判定結果が、所定の状態でない場合にエラーの旨を出力し、所定の状態である場合に前記画像から得られる信号に基づいて脈拍を算出し、算出結果を出力する出力手順と、
をコンピュータに実行させることを特徴とする脈波検出プログラム。
【請求項４】
撮像手段によって撮像された画像に基づいて脈波を計測する脈波検出装置に適した脈波検出方法であって、
前記画像を脈拍取得に用いるモードである場合に、エッジ量が所定の上限および下限の範囲内か、重心が中心から所定の範囲内にあるか、の少なくともいずれか一方から所定の状態であるかを判定する判定工程と、
前記判定工程の判定結果が、所定の状態でない場合にエラーの旨を出力し、所定の状態である場合に前記画像から得られる信号に基づいて脈拍を算出し、算出結果を出力する出力工程と、
を含んだことを特徴とする脈波検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、脈波検出装置、脈波検出プログラムおよび脈波検出方法に関する。
【背景技術】
【０００２】
近年、健康管理のための器具に興味を持つ人が増えており、体脂肪計や脈波計だけでなく、簡易に心電を計測できる心電計測器など、個人で所有できる様々な健康管理器具が増えている。例えば、脈波計としては、指や耳たぶなどに挟んで計測するクリップ式のセンサなどがある。
【０００３】
上述した脈波計については、当該脈波計そのもの、脈波センサが付属されたエアロバイク、万歩計（登録商標）などのいずれかの健康管理器具を購入する必要がある。よって、最近では、携帯電話機やＰＤＡ（Personal  Digital  Assistants）などの携帯端末に装備されたカメラによって脈波を計測する技術が望まれている。
【０００４】
一般的な脈波センサは、発光素子や受光素子などを組み合わせたアクティブセンサであり、かつ、指にベルトを巻いたり指や耳をクリップで挟んだりして、外光を遮る機構があるので外光の影響を受けにくい。同様に、上記携帯端末に装備されたカメラによって脈波を計測する場合においても、外光の影響を受けにくくするために、指を適切な位置に置く必要がある。
【０００５】
ユーザの指をカメラの適切な位置に置かせるための技術としては、ＣＣＤ（Charge  Coupled  Devices）カメラのカバーに指を接触させ、押圧面を可動にして押し込んだ状態（押圧がかかった状態）で指紋を採取する技術が開示されている（特許文献１参照）。つまり、開示の技術は、押圧面を可動にした構造を利用することにより、ユーザの指が置かれる位置を適切に導いている。
【０００６】
【特許文献１】特開平１１−２２５９９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来技術では、高精度に脈波を計測することができないという課題があった。具体的には、上記従来技術は、指紋採取を目的とし、採取するための時間が一瞬であるために、複数のサイクルが必要となる脈波の計測に利用する場合に、高精度に脈波を計測することができない。
【０００８】
そこで、本発明は、上述した従来技術の課題を解決するためになされたものであり、高精度に脈波を計測することが可能である脈波検出装置、脈波検出プログラムおよび脈波検出方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するため、本願の開示する脈波検出装置は、撮像手段によって撮像された画像に基づいて脈波を計測する脈波検出装置であって、前記画像を脈拍取得に用いるモードである場合に、前記画像の状態を輝度、エッジ量および画像フレームの縦方向と横方向との輝度値総和の重心のいずれか、または、複数が所定の状態であるかを判定する判定部と、前記判定部の判定結果が、所定の状態でない場合にエラーの旨を出力し、所定の状態である場合に前記画像から得られる信号に基づいて脈拍を算出し、算出結果を出力する出力部と、を有することを要件とする。
【発明の効果】
【００１０】
本願の開示する脈波検出装置、脈波検出プログラムおよび脈波検出方法によれば、高精度に脈波を計測することが可能であるという効果を奏する。
【発明を実施するための最良の形態】
【００１１】
以下に添付図面を参照して、本発明に係る脈波検出装置の実施例を詳細に説明する。
【実施例１】
【００１２】
［脈波検出装置の概要］
最初に、実施例１に係る脈波検出装置の概要を説明する。本願の開示する脈波検出装置は、例えば、カメラ付きの携帯電話機やＰＤＡなどの携帯端末に配設される。通常は、このような携帯端末に配設されたカメラは、例えば、一般的なカメラの用途であって風景などを撮影する通常撮影モードと、本実施例で開示するように、脈波取得の用途でカメラを用いる脈波取得モードとの少なくとも二種類のモードを有する。もちろん、脈拍取得の用途専用にカメラを用いる場合には、脈波取得モードの１種類のモードのみを有しても構わない。
【００１３】
また、脈波取得モードについては、カメラに予め設定されていなくてもよく、例えば、脈波検出プログラムからカメラの設定（露光時間やフレームレートなど）を変更することにより、脈波取得用に適した設定にした状態を脈波取得モードとみなしても構わない。また、例えば、フレームレートが固定されていても、通常撮影用途にも脈波取得用途にも利用できる場合には、明に通常撮影モードと脈波取得モードとを区別しなくても良い。
【００１４】
そして、脈波検出装置は、カメラのレンズにユーザの指が置かれて撮影された画像に基づいて脈波を計測するものであり、特に、カメラのレンズに置かれるユーザの指の位置を適切に指示することにより高精度に脈波を計測することができる。
【００１５】
上述した構成において、脈波検出装置は、カメラのレンズに指を置いて撮影された画像を脈拍取得に用いるモードである場合に、当該画像の状態を輝度、エッジ量および画像フレームの縦方向と横方向との輝度値総和の重心のいずれか、または、複数が所定の状態であるかを判定する。そして、脈波検出装置は、判定結果が、所定の状態でない場合にエラーの旨を出力し、所定の状態である場合に前記画像から得られる信号に基づいて脈拍を算出し、算出結果を出力する。
【００１６】
具体的には、脈波検出装置は、カメラのレンズにユーザの指が置かれて撮影された入力画像を受け付ける。そして、脈波検出装置は、入力画像の輝度総和から輝度平均を算出する。続いて、脈波検出装置は、カメラのフリッカの方向が縦の場合に横方向、フリッカが横の場合に縦方向のエッジ量を算出する。
【００１７】
また、脈波検出装置は、入力画像の輝度平均から輝度分布の評価値を算出する。また、脈波検出装置は、入力画像の縦方向の輝度値総和と横方向の輝度値総和とから、縦方向および横方向それぞれの重心位置を算出して、算出された重心に基づいて評価値を算出する。なお、上記各特性（輝度平均、エッジ量、輝度分布および重心）の算出は、入力画像それぞれ（１フレームごと）に対して実施される。
【００１８】
その後、脈波検出装置は、算出された輝度平均、エッジ量、輝度分布および重心について、それぞれを所定の閾値と比較して評価点を算出する。そして、脈波検出装置は、算出されたそれぞれの評価点に基づいて、ユーザの指の置き方が良い状態であるか、さらに輝度平均に基づいて、周辺光が適切な状態であるかを判定する。
【００１９】
続いて、脈波検出装置は、ユーザの指の置き方が悪い状態、若しくは、外光が適切でない状態である場合にエラーの旨を出力し、ユーザの指の置き方が良い状態である場合に入力画像から得られる信号に基づいて脈拍を算出して出力する。なお、ユーザの指の置き方の状態の判定は、入力画像１フレームごとに算出された各特性の累積、つまり、複数フレーム分の各特性が利用される。
【００２０】
また、取得する画像のフレームレートが十分に高い場合には、各特性を１フレームごとに算出せずに、１フレームおきにするなど、処理対象とするフレームを間引いても良い。また、各特性の累積は、計測開始からの累積でも良いし、累積を計算するタイミングから規定時間前までの特性でも良い。
【００２１】
上述したように、脈波検出装置は、カメラによって撮影された画像に基づいて脈波を計測する場合に、入力される画像の特性に基づいてカメラのレンズに対するユーザの指の置き方が良いか否かを判定し、ユーザの指の置き方が悪い場合にエラーを出力することができる結果、高精度に脈波を計測することが可能である。
【００２２】
また、携帯端末などに配設される脈波検出装置は、ユーザの指を透過する外光をカメラで受光するパッシブセンサであり、指の軽微な動きなどにより指の位置が悪いと外界が映り込み、光の透過量が大きく変動して脈波情報がノイズに埋もれてしまう。つまり、脈波を正確に計測するためには、指が置かれる位置が重要となる。言い換えると、脈波検出装置は、指が置かれた際に撮影された画像の各特性を評価することにより、指の置き方が良いか否かを判定し、指の置き方が悪い場合にエラーを出力することができる結果、高精度に脈波を計測することが可能である。
【００２３】
［脈波検出装置の構成］
次に、図１を用いて、実施例１に係る脈波検出装置の構成を説明する。図１は、実施例１に係る脈波検出装置の構成例を示す図である。
【００２４】
図１に示すように、脈波検出装置１０は、出力部２０と、記憶部３０と、制御部４０とを有し、例えば、カメラ付きの携帯電話機やＰＤＡなどの携帯端末に配設され、当該カメラのレンズにユーザの指が置かれることにより撮影された画像に基づいて脈波を計測する。
【００２５】
出力部２０は、モニタ（若しくはディスプレイ、タッチパネルなど）やスピーカを有し、各種の情報を出力するとともに、特に、エラー表示部２１と、脈拍数表示部２２と、ファイル２３と、脈動表示部２４とを有する。例えば、出力部２０は、制御部４０による各種処理結果をユーザに表示・通知したり、制御部４０による各種処理から得られるデータをファイルとして出力したりする。
【００２６】
エラー表示部２１は、制御部４０による各種処理の結果、エラーが発生した場合に、当該エラー内容を表示する。例えば、エラー表示部２１は、後述するエラー判定部４２ａによって携帯端末のカメラに置かれるユーザの指の位置が悪いと判定された場合に、「指が置かれていない」、「指の置き方が悪い」などのエラー内容を表示する。
【００２７】
脈拍数表示部２２は、後述する脈拍数計算部４２ｃによって算出された脈拍数を表示する。また、ファイル２３は、後述する脈拍数計算部４２ｃによって算出された脈拍数のデータをファイルとして出力する。また、脈動表示部２４は、後述するピーク検出部４２ｂによって検出された脈動を表示する。
【００２８】
記憶部３０は、制御部４０による各種処理に必要なデータや、制御部４０による各種処理結果を記憶するとともに、特に、輝度情報記憶部３１と、エラー情報記憶部３２と、ピーク情報記憶部３３とを有する。例えば、記憶部３０は、後述する画像処理部４１によって処理された画像一枚ごとの画像処理結果を記憶したり、後述する波形処理部４２によって処理された波形データやエラー情報などを記憶したりする。
【００２９】
輝度情報記憶部３１は、後述する輝度平均計算部４１ｂによって算出された入力画像の輝度平均を記憶する。また、エラー情報記憶部３２は、後述する評価点計算部４１ｆによって算出された入力画像ごとの評価点を記憶する。また、ピーク情報記憶部３３は、後述するピーク検出部４２ｂによって検出された入力画像に基づいた脈波情報を記憶する。
【００３０】
制御部４０は、制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有するとともに、特に、画像処理部４１と、波形処理部４２とを有し、これらによって種々の処理を実行する。
【００３１】
画像処理部４１は、入力される画像一枚ごとに画像処理を実施し、特に、前処理部４１ａと、輝度平均計算部４１ｂと、エッジ量計算部４１ｃと、輝度分布計算部４１ｄと、重心計算部４１ｅと、評価点計算部４１ｆとを有する。
【００３２】
前処理部４１ａは、携帯端末のカメラのレンズにユーザの指が置かれることにより撮影された画像を受け付けて、受け付けた画像から輝度成分を抽出したり、受け付けた画像を縮小したりする。
【００３３】
具体的に説明すると、前処理部４１ａは、携帯端末のカメラのレンズにユーザの指が置かれることにより撮影された画像データ「Ｇ０」を受け付けて、受け付けた画像データ「Ｇ０」から輝度成分を抽出する。また、前処理部４１ａは、受け付けた画像データ「Ｇ０」を縮小して画像データ「Ｇ１」を生成する。なお、利用されるデータは、脈波を捉えられるものであれば、輝度成分に限られるものではなく、例えば、ＲＧＢ（Red‐Green‐Blue）のＲ成分やＹＵＶ（輝度信号：Ｙ、輝度信号と青色成分との差：Ｕ、輝度信号と赤色成分との差：Ｖ）のＶ成分などでもよい。
【００３４】
ここで、携帯端末のカメラのレンズに指を置く置き方に対応する画像の特徴を、図２を用いて説明する。図２は、指の置き方と画像の特徴とを説明するための図である。なお、図２では、（１）暗め、（２）普通、（３）明るい、（４）指の置き方が悪い、（５）指の置き方が非常に悪い、（６）指を置いていない、場合の画像それぞれについての（ａ）元画像、（ｂ）輝度情報、（ｃ）縦エッジ、（ｄ）横エッジ、（ｅ）８×８領域平均（画像を８×８画素のブロック単位に分割し、分割後の各領域の平均）、を例示している。
【００３５】
（１）暗め
携帯端末のカメラのレンズにユーザの指が置かれることにより撮影された画像（元画像）が、図２の（１）の（ａ）に示すような輝度が暗めの画像である場合には、（ｂ）〜（ｅ）においても全体的に暗くなり、また、輝度成分は一様で、エッジが殆どないといった特性が見られる。なお、画像が暗めである場合は、携帯端末のカメラのレンズに指を置く位置は適切であるが、照明が暗いなど周辺光が弱いということになる。
【００３６】
（２）普通
携帯端末のカメラのレンズにユーザの指が置かれることにより撮影された画像が、図２の（２）の（ａ）に示すような輝度が普通の（適切な）画像である場合には、（ｂ）〜（ｅ）において、特に、全体的に暗めになり、また、輝度成分はほぼ一様で、エッジが殆どないといった特性が見られる。なお、画像が普通である場合は、携帯端末のカメラのレンズに指が置かれる位置と周辺光とが適切であるということになる。
【００３７】
（３）明るい
携帯端末のカメラのレンズにユーザの指が置かれることにより撮影された画像が、図２の（３）の（ａ）に示すような明るい画像である場合には、（ｂ）〜（ｅ）において、特に、横方向のエッジでフリッカ（画像における「ちらつき」）の影響が目立つ場合がある。なお、画像が明るい場合は、携帯端末のカメラのレンズに指が置かれる位置は適切であるが、照明の直下や炎天下など周辺光が強いということになる。
【００３８】
（４）指の置き方が悪い
携帯端末のカメラのレンズにユーザの指が置かれることにより撮影された画像が、図２の（４）の（ａ）に示すような画像である場合には、（ｂ）〜（ｅ）において、特に、８×８領域の一部が明るくなる。なお、画像が図２の（４）である場合は、携帯端末のカメラのレンズに指が置かれる位置が適切ではないために、外光（外界の光）が映りこむために、上述したように一部分が明るくなる。
【００３９】
（５）指の置き方が非常に悪い
携帯端末のカメラのレンズにユーザの指が置かれることにより撮影された画像が、図２の（５）の（ａ）に示すような画像である場合には、（ｂ）〜（ｅ）において、特に、８×８領域の一部が明るくなるとともにエッジも多くなる。なお、画像が図２の（５）である場合は、携帯端末のカメラのレンズに指が置かれる位置が適切ではないために、外光が映りこむ（図２の（４）と比較してさらに外光が映りこむ）ために、上述したように一部分が明るくなるとともにエッジも多くなる。
【００４０】
（６）指を置いていない
撮影された画像が、図２の（６）の（ａ）に示すような画像である場合には、（ｂ）〜（ｅ）において、特に、全体的に明るく、エッジが非常に多くなる。なお、画像が図２の（６）である場合は、カメラのレンズに指を置いていないために、全領域において外光が映りこむために、上述したように全体的に明るい画像となるとともにエッジも非常に多くなる。
【００４１】
そして、図２に示した様々な状況での画像パターンから、図３に示すような指の置き方の状態を判定するポイントを導くことができる。図３は、指の置き方の状態を判定するポイントを説明するための図である。
【００４２】
例えば、カメラのレンズに置かれる指の位置が正常（適切）である場合には、図３に示すように、明るさ「暗め」、分布（輝度分布）「一様」、エッジ「フリッカ以外では殆どない」、重心「中心（にある）」という傾向になる。
【００４３】
また、例えば、カメラのレンズに置かれる指の位置が悪い場合には、図３に示すように、明るさ「明るめ」、分布「一部分が明るい」、エッジ「少ない」、重心「偏る」という傾向になる。
【００４４】
また、例えば、カメラのレンズに指が置かれていない場合（外界が撮影される場合）には、図３に示すように、明るさ「明るい」、分布「全体が明るい」、エッジ「多い」、重心「傾向なし」という傾向になる。
【００４５】
また、指の置き方が悪い場合（図２または図３参照）の波形は、図４に示すように、画像の左側の指が置かれていない領域のように外光が映りこむために明るくなる部分と、指が置かれているために暗めになる部分とが存在するので、時間ごとの輝度平均に差が出る波形になる。なお、図４は、カメラのレンズに置く指の置き方が悪い場合の画像と波形との例を示す図である。
【００４６】
さらに、外光の強さと画像における傾向とを図５−１〜図５−５を用いて詳細に説明する。これらの図においては、縦軸は輝度値を、横軸は時間を表している。まず、カメラ周辺の照度と輝度平均とについて、図５−１および図５−２を用いて説明する。なお、図５−１は、カメラ周辺の照度例を示す図であり、図５−２は、カメラ周辺の照度に対応する画像の輝度平均例を示す図である。
【００４７】
例えば、図５−２の（Ａ）に示した輝度平均が高い（明るい）部分の波形は、図５−３に示すように、綺麗な波形になる。また、例えば、図５−２の（Ｂ）に示した輝度平均が非常に低い（暗い）部分と、図５−２の（Ｃ）に示した輝度平均が低い（暗めの）部分との波形は、それぞれ図５−４と図５−５とに示すように、図５−３と比較して汚い波形になる。なお、図５−３は、画像が明るい場合の波形例を示す図であり、図５−４は、画像が暗い場合の波形例を示す図であり、図５−５は、画像が暗めである場合の波形例を示す図である。
【００４８】
要するに、携帯端末などに配設される脈波検出装置１０は、指を透過する外光をカメラで受光するパッシブセンサであり、光の透過量が少ない場合には、ノイズが多くなるので、脈拍数の計算が困難になる。
【００４９】
図１に戻り、輝度平均計算部４１ｂは、前処理部４１ａによって生成された画像データの輝度平均を算出する。上述した例で具体的に説明すると、輝度平均計算部４１ｂは、前処理部４１ａによって生成された画像データ「Ｇ１」の輝度総和「ｔｔｌＹ」を算出する。そして、輝度平均計算部４１ｂは、算出された画像データ「Ｇ１」の輝度総和「ｔｔｌＹ」から、当該画像データ「Ｇ１」の輝度平均「ＹＭｅａｎ」を算出し、輝度情報記憶部３１に格納する。
【００５０】
なお、輝度平均計算部４１ｂによって算出される輝度平均「ＹＭｅａｎ」は、輝度総和「ｔｔｌＹ」や当該輝度総和「ｔｔｌＹ」の定数倍であってもよく、輝度総和「ｔｔｌＹ」を利用した場合には、処理負荷を軽減することができる。
【００５１】
エッジ量計算部４１ｃは、前処理部４１ａによって生成された画像データの縦方向または横方向のエッジ量の総和を算出する。上述した例で具体的に説明すると、エッジ量計算部４１ｃは、前処理部４１ａによって生成された画像データ「Ｇ１」において、フリッカが縦に出る場合に横エッジ「Ｅｄｇｅ＿Ｘ」、フリッカが横に出る場合に縦エッジ「Ｅｄｇｅ＿Ｙ」を算出する。そして、エッジ量計算部４１ｃは、算出された横エッジ「Ｅｄｇｅ＿Ｘ」または縦エッジ「Ｅｄｇｅ＿Ｙ」のエッジ量の総和「ＳＥｄｇｅ」を算出する。
【００５２】
上記フリッカは、カメラのモジュールによって予め決まっているため、エッジ量計算部４１ｃは、フリッカに基づいて、横エッジ「Ｅｄｇｅ＿Ｘ」または縦エッジ「Ｅｄｇｅ＿Ｙ」のうち、必要となるどちらか一方のエッジ量の総和「ＳＥｄｇｅ」を算出する。なお、フリッカは、蛍光灯などの真下で撮影された場合に現れることがある（例えば、図２（３）参照）。
【００５３】
輝度分布計算部４１ｄは、前処理部４１ａによって生成された画像データを所定領域に分割して、各領域の輝度平均を算出するとともに、輝度分布の評価値を算出する。上述した例で具体的に説明すると、輝度分布計算部４１ｄは、前処理部４１ａによって生成された画像データ「Ｇ１」をＭ×Ｎ領域に分割して、各領域の輝度平均Ｙ（ｍ，ｎ）を算出する。
【００５４】
そして、輝度分布計算部４１ｄは、算出された輝度平均Ｙ（ｍ，ｎ）全てから最大値「ＹＭａｘ」と、最小値「ＹＭｉｎ」と、Ｙ（ｍ，ｎ）全ての平均である輝度平均「ＹＭｅａｎ」とを算出し、輝度分布の評価値「Ｄｓｔ＝（ＹＭａｘ−ＹＭｉｎ）×Ｍ×Ｎ÷ＹＭｅａｎ」を算出する。なお、輝度分布計算部４１ｄにおいて利用される輝度平均ＹＭｅａｎは、輝度平均計算部４１ｂによって算出された輝度平均の算出結果を利用してもよい。
【００５５】
また、評価値「Ｄｓｔ」は、適当な定数「Ｋ」を利用して、
Ｄｓｔ＝（ＹＭａｘ−ＹＭｉｎ）×Ｋ
Ｄｓｔ＝（ＹＭａｘ−ＹＭｉｎ）×Ｋ÷ＹＭｅａｎ
Ｄｓｔ＝ＹＭａｘ×Ｋ
Ｄｓｔ＝ＹＭａｘ×Ｋ÷ＹＭｅａｎ
などのように算出することとしてもよい。
【００５６】
重心計算部４１ｅは、前処理部４１ａによって生成された画像データの横方向と縦方向とのそれぞれについて重心位置を算出する。そして、重心計算部４１ｅは、算出された横方向と縦方向とのそれぞれの重心位置から評価値を算出する。
【００５７】
上述した例で具体的に説明すると、重心計算部４１ｅは、図６に示すように、前処理部４１ａによって生成された画像データ「Ｇ１」の横方向と縦方向とのそれぞれについて（式１）および（式２）から重心位置「Ｃｘ」（横方向）、「Ｃｙ」（縦方向）を算出する。また、（式１）および（式２）において、「ＧＮ」は、「画素数＝（Ｗ１＋Ｗ２＋１）×（Ｈ１＋Ｈ２＋１）」、「Ｇ（ｉ，ｊ）」は、輝度（０〜１）である。なお、図６は、画像の重心の求め方を説明するための図である。
【００５８】
【数１】
0005266895.tif 000002
【００５９】
【数２】
0005266895.tif 000003
【００６０】
続いて、重心計算部４１ｅは、算出された横方向の重心位置「Ｃｘ」と、縦方向の重心位置「Ｃｙ」とから、（式３）を用いて画像データ「Ｇ１」の重心の評価値「ｃＰｏｓ」を算出する。なお、横方向の重心位置「Ｃｘ」と縦方向の重心位置「Ｃｙ」との原点は、図６に示した画像の中心（０，０）である。
【００６１】
【数３】
0005266895.tif 000004
【００６２】
なお、画像データ「Ｇ１」の横方向の重心位置「Ｃｘ」と、縦方向の重心位置「Ｃｙ」とは、横方向の輝度の和「Ｓｘ（ｉ）」（式４）と縦方向の輝度の和「Ｓｙ（ｉ）」（式５）とから算出するようにしてもよい（（式６）および（式７））。
【００６３】
【数４】
0005266895.tif 000005
【００６４】
【数５】
0005266895.tif 000006
【００６５】
【数６】
0005266895.tif 000007
【００６６】
【数７】
0005266895.tif 000008
【００６７】
評価点計算部４１ｆは、輝度平均計算部４１ｂ、エッジ量計算部４１ｃ、輝度分布計算部４１ｄおよび重心計算部４１ｅそれぞれによって算出された値と、別途定められた閾値とを比較して評価点を算出してエラー情報記憶部３２に格納する。
【００６８】
上述した例で具体的に説明すると、評価点計算部４１ｆは、エッジ量計算部４１ｃによって算出されたエッジ量の総和「ＳＥｄｇｅ」と、閾値「Ｔｈ＿Ｅｄｇｅ１」（エッジ量の閾値）とを比較して、エッジ量の総和が閾値よりも大きい場合に評価点「Ｐ１＿１」とする。
【００６９】
そして、評価点計算部４１ｆは、エッジ量の総和「ＳＥｄｇｅ」が閾値「Ｔｈ＿Ｅｄｇｅ１」よりも小さい場合に、輝度平均計算部４１ｄによって算出された輝度平均「ＹＭｅａｎ」と、閾値「Ｔｈ＿ｙＤ１」（暗いかどうかの閾値）とを比較する。続いて、評価点計算部４１ｆは、輝度平均が閾値よりも小さい場合に評価点「Ｐ１＿２」とする。
【００７０】
その後、評価点計算部４１ｆは、輝度平均「ＹＭｅａｎ」が閾値「Ｔｈ＿ｙＤ１」よりも大きい場合に、輝度平均計算部４１ｂによって算出された輝度平均「ＹＭｅａｎ」と、閾値「Ｔｈ＿ｙＢ１」（明るいかどうかの閾値）とを比較する。そして、評価点計算部４１ｆは、輝度平均が閾値よりも小さい場合に評価点「Ｐ１＿３」とする。
【００７１】
続いて、評価点計算部４１ｆは、輝度平均「ＹＭｅａｎ」が閾値「Ｔｈ＿ｙＢ１」よりも大きい場合に、輝度分布計算部４１ｄによって算出された輝度分布の評価値「Ｄｓｔ」と、閾値「Ｔｈ＿Ｄｓｔ１」（輝度分布の閾値）とを比較する。その後、評価点計算部４１ｆは、輝度分布の評価値が閾値よりも大きい場合に評価点「Ｐ１＿４」とする。
【００７２】
そして、評価点計算部４１ｆは、輝度分布の評価値「Ｄｓｔ」が閾値「Ｔｈ＿Ｄｓｔ１」よりも小さい場合に、重心計算部４１ｅによって算出された重心の評価値「ｃＰｏｓ」と、閾値「Ｔｈ＿ｃＰｏｓ１」（重心の閾値）とを比較する。続いて、評価点計算部４１ｆは、重心の評価値が閾値よりも大きい場合に評価点「Ｐ１＿５」とする。また、評価点計算部４１ｆは、重心の評価値「ｃＰｏｓ」が閾値「Ｔｈ＿ｃＰｏｓ１」よりも小さい場合に評価点「Ｐ＿ＯＫ」とする。
【００７３】
なお、評価点計算部４１ｆによる評価点は、上述のような一段階での決定ではなく、数段階に分割してさらに評価点を決定することも可能であり、その場合には、より精度良く評価点を決定できる。
【００７４】
また、評価点計算部４１ｆで利用される各閾値は、脈波取得に利用されるカメラの特性に合わせて求めることが望ましい。各閾値の設定方法としては、脈波取得に利用されるカメラ（と同じ特性を持つカメラ）に指を図２の（１）〜（３）のような状態になるように置き、脈波が採りにくくなる明るさを求める。そして、図２の（１）〜（３）のように指が適切に置かれた場合の画像群（画像群「Ａ」とする）と、図２の（４）〜（６）のように指が適切に置かれていない場合の画像群（画像群「Ｂ」とする）とに分けて、データを複数取得する。
【００７５】
続いて、エッジ量、輝度分布、重心のデータを画像群「Ａ」と画像群「Ｂ」とで比較し、その中間に閾値を設定して分離性の良いものほどポイント（評価点）を高くする。なお、複数の画像評価の組み合わせで指の置き方が適切か否かを判定する場合には、指が置かれているにも関わらず、「指が置かれていない」と判定されないように、それぞれの閾値を画像群「Ｂ」寄りにすることが望ましい。
【００７６】
波形処理部４２は、エラー情報や波形データなどを処理し、特に、エラー判定部４２ａと、ピーク検出部４２ｂと、脈拍数計算部４２ｃとを有する。
【００７７】
エラー判定部４２ａは、エラー情報記憶部３２に記憶された輝度、エッジ量および重心のいずれか、または、複数が所定の状態であるかを判定する。また、以下のエラー判定部４２ａで利用される各閾値は、例えば、「Ｔｈ＿ｅ１」（指を置いていない）、「Ｔｈ＿ｅ２」（指の置き方が悪い）、「Ｔｈ＿ｙＢ２」（明るすぎる）、「Ｔｈ＿ｙＤ２」（暗すぎる）、「Ｔｈ＿ｙＢ３」（明るい）、「Ｔｈ＿ｙＤ３」（暗い）との判定基準である。
【００７８】
上述した例で具体的に説明すると、エラー判定部４２ａは、画像処理部４１によって所定（複数）「Ｎ１」フレーム以上画像処理された場合に、過去「Ｎ２」フレーム分の評価点の累積値「ＳＥｒｒＰ」を算出する。
【００７９】
なお、エラー判定部４２ａは、画像処理部４１によって画像処理されたフレーム数が所定「Ｎ１」フレーム未満である場合に、「ＹＭｅａｎ」と所定値「Ｔｈ＿ｙＤ２」とを比較する。そして、エラー判定部４２ａは、「ＹＭｅａｎ」が所定値「Ｔｈ＿ｙＤ２」よりも小さい場合に暗すぎると判定してエラー表示部２１に異常を通知する。また、エラー判定部４２ａは、「ＹＭｅａｎ」が所定値「Ｔｈ＿ｙＤ２」よりも大きい場合に正常終了する。
【００８０】
そして、エラー判定部４２ａは、算出された「ＳＥｒｒＰ」が規定値「Ｔｈ＿ｅ１」よりも小さい場合に、指が置かれていないと判定してエラー表示部２１に異常を通知する。続いて、「ＳＥｒｒＰ」が規定値「Ｔｈ＿ｅ１」よりも大きい場合に、当該「ＳＥｒｒＰ」と規定値「Ｔｈ＿ｅ２」とを比較する。その後、エラー判定部４２ａは、「ＳＥｒｒＰ」が規定値「Ｔｈ＿ｅ２」よりも小さい場合に、指の置き方が悪いと判定してエラー表示部２１に異常を通知する。
【００８１】
そして、エラー判定部４２ａは、「ＳＥｒｒＰ」が規定値「Ｔｈ＿ｅ２」よりも大きい場合に、「ＹＭｅａｎ」と規定値「Ｔｈ＿ｙＢ２」とを比較する。続いて、エラー判定部４２ａは、「ＹＭｅａｎ」が規定値「Ｔｈ＿ｙＢ２」よりも大きい場合に明るすぎると判定してエラー表示部２１に異常を通知する。
【００８２】
その後、エラー判定部４２ａは、「ＹＭｅａｎ」が規定値「Ｔｈ＿ｙＢ２」よりも小さい場合に、「ＹＭｅａｎ」と規定値「Ｔｈ＿ｙＤ２」とを比較する。そして、エラー判定部４２ａは、「ＹＭｅａｎ」が規定値「Ｔｈ＿ｙＤ２」よりも小さい場合に暗すぎると判定してエラー表示部２１に異常を通知する。
【００８３】
続いて、エラー判定部４２ａは、「ＹＭｅａｎ」が規定値「Ｔｈ＿ｙＤ２」よりも大きい場合に、「ＹＭｅａｎ」と規定値「Ｔｈ＿ｙＢ３」とを比較する。その後、エラー判定部４２ａは、「ＹＭｅａｎ」が規定値「Ｔｈ＿ｙＢ３」よりも大きい場合に明るいと判定してエラー表示部２１に警告を通知する。
【００８４】
そして、エラー判定部４２ａは、「ＹＭｅａｎ」が規定値「Ｔｈ＿ｙＢ３」よりも小さい場合に、「ＹＭｅａｎ」と規定値「Ｔｈ＿ｙＤ３」とを比較する。続いて、エラー判定部４２ａは、「ＹＭｅａｎ」が規定値「Ｔｈ＿ｙＤ３」よりも小さい場合に暗いと判定してエラー表示部２１に警告を通知する。なお、エラー判定部４２ａは、「ＹＭｅａｎ」が規定値「Ｔｈ＿ｙＤ３」よりも大きい場合に正常に処理を終了する。
【００８５】
上記エラー判定部４２ａによる処理については、指の置き方が適切でなく、異常を通知する場合に、脈波を検出しても精度が悪いため処理を中断し、指の置き方が適切ではないが、警告を通知する程度の場合に、処理を中断することなく脈波を検出することとなる。
【００８６】
また、上記エラー判定部４２ａによる処理順序については、「明るすぎる」と「暗すぎる」との判定、「明るい」と「暗い」との判定を逆順序にしても良いし、「暗すぎる」のかどうかの判定を指の置き方の判定の前に実施しても良い。なお、指の置き方が悪くて明るいのか、外光が強いために画像が明るいのかの区別が不要である場合には、明るすぎるかどうかの判定を指の置き方の判定の前に実施することとしても良い。
【００８７】
そして、エラー判定部４２ａによって異常が検出された場合には、ユーザに指の置き直しや明るい場所若しくは暗い場所への移動を促す。また、エラー判定部４２ａによって警告が発せられた場合には、ユーザへの警告を発する。また、エラー判定部４２ａによって異常が検出されなかった場合には、記憶部３０に蓄えられた輝度情報を解析して出力部２０に脈拍数を通知する（脈拍数計算部４２ｃなどの処理参照）。
【００８８】
また、エラー判定部４２ａで利用される各閾値の設定方法としては、例えば、「Ｔｈ＿ｙＤ１」よりも暗い状態から「Ｔｈ＿ｙＢ１」を超える状態まで、指を置いた場合、指の置き方が悪い場合、および、指を置いていない場合それぞれの評価点累積データを複数取得する。
【００８９】
そして、指を置いた場合、指の置き方が悪い場合、および、指を置いていない場合それぞれを比較し、それぞれの間に閾値「Ｔｈ＿ｅ２」と「Ｔｈ＿ｅ１」とを設定する。また、指を置いているデータのうち、脈波が採れなくなる明るさを「Ｔｈ＿ｙＢ２」と「Ｔｈ＿ｙＤ２」とに設定する。さらに、指を置いているデータのうち、脈波が採りにくくなる明るさを「Ｔｈ＿ｙＢ３」と「Ｔｈ＿ｙＤ３」とに設定する。なお、閾値「Ｔｈ＿ｙＢ３」と「Ｔｈ＿ｙＤ３」とは、閾値「Ｔｈ＿ｙＤ１」と「Ｔｈ＿ｙＢ１」と同じものでもよい。
【００９０】
ピーク検出部４２ｂは、輝度情報記憶部３１に記憶された画像データの輝度情報から、当該画像データの波形におけるピークを検出する。上述した例で具体的に説明すると、ピーク検出部４２ｂは、輝度情報記憶部３１に記憶された画像データ「Ｇ１」の時系列の輝度情報から、極大値と極小値とを算出して、当該画像データ「Ｇ１」の波形におけるピーク（ピーク間隔）を検出してピーク情報記憶部３３に格納する。
【００９１】
脈拍数計算部４２ｃは、ピーク情報記憶部３３に記憶されたピーク間隔に基づいて、脈拍数を算出する。上述した例で具体的に説明すると、脈拍数計算部４２ｃは、ピーク情報記憶部３３に記憶されたピーク間隔から脈拍数を計算して、脈拍数表示部２２やファイル２３などに出力する。
【００９２】
脈拍数を計算する簡単な例としては、フレームレート１５ＦＰＳ（Frame  Per  Second）、ピーク情報記憶部３３に記憶されたピーク間隔の平均値が１８である場合に、「１８÷１５×６０＝７２拍／分」となる。なお、ピーク情報記憶部３３に記憶されたピーク間隔からノイズを除外する処理などを行った後に、脈拍数を算出することとしても良い。
【００９３】
［輝度平均算出処理］
次に、図７を用いて、実施例１に係る輝度平均算出処理を説明する。図７は、実施例１に係る輝度平均算出処理を説明するためのフローチャートである。
【００９４】
図７に示すように、脈波検出装置１０は、画像データ「Ｇ１」の輝度総和「ｔｔｌＹ」を算出する（ステップＳ１０１）。そして、脈波検出装置１０は、算出された画像データ「Ｇ１」の輝度総和「ｔｔｌＹ」から、当該画像データ「Ｇ１」の輝度平均「ＹＭｅａｎ」を算出して、輝度情報記憶部３１に格納する（ステップＳ１０２）。
【００９５】
［エッジ量算出処理］
次に、図８を用いて、実施例１に係るエッジ量算出処理を説明する。図８は、実施例１に係るエッジ量算出処理を説明するためのフローチャートである。
【００９６】
図８に示すように、脈波検出装置１０は、画像データ「Ｇ１」において、フリッカが縦に出る場合に（ステップＳ２０１縦方向）、横エッジ「Ｅｄｇｅ＿Ｘ」を算出する（ステップＳ２０２）。そして、脈波検出装置１０は、算出された横エッジ「Ｅｄｇｅ＿Ｘ」について閾値以下を「０」とみなして（ステップＳ２０３）、当該横エッジ「Ｅｄｇｅ＿Ｘ」のエッジ量の総和「ＳＥｄｇｅ」を算出する（ステップＳ２０４）。
【００９７】
また、脈波検出装置１０は、画像データ「Ｇ１」において、フリッカが横方向に出る場合に（ステップＳ２０１横方向）、縦エッジ「Ｅｄｇｅ＿Ｙ」を算出する（ステップＳ２０５）。そして、脈波検出装置１０は、算出された縦エッジ「Ｅｄｇｅ＿Ｙ」について閾値以下を「０」とみなして（ステップＳ２０６）、当該縦エッジ「Ｅｄｇｅ＿Ｙ」のエッジ量の総和「ＳＥｄｇｅ」を算出する（ステップＳ２０７）。
【００９８】
上記ステップＳ２０３やステップＳ２０６などの処理については、ノイズを拾わないようにするための処理であるので、ノイズが十分に抑えられるカメラである場合には、当該処理を必須とする必要はない。また、フリッカを十分に抑えられる場合には、縦横両方のエッジを利用し、評価点計算部４１ｆにおいて個別に評価することとしてもよいし、横エッジ「Ｅｄｇｅ＿Ｘ」と縦エッジ「Ｅｄｇｅ＿Ｙ」との和や二乗和を評価することとしてもよい。
【００９９】
［輝度分布算出処理］
次に、図９を用いて、実施例１に係る輝度分布算出処理を説明する。図９は、実施例１に係る輝度分布算出処理を説明するためのフローチャートである。
【０１００】
図９に示すように、脈波検出装置１０は、画像データ「Ｇ１」をＭ×Ｎ領域に分割する（ステップＳ３０１）。そして、脈波検出装置１０は、分割されたＭ×Ｎ領域それぞれの輝度平均Ｙ（ｍ，ｎ）を算出する（ステップＳ３０２）。
【０１０１】
続いて、脈波検出装置１０は、算出された輝度平均Ｙ（ｍ，ｎ）全てから最大値「ＹＭａｘ」と、最小値「ＹＭｉｎ」と、Ｙ（ｍ，ｎ）全ての平均である輝度平均「ＹＭｅａｎ」とを算出する（ステップＳ３０３、ステップＳ３０４）。その後、脈波検出装置１０は、算出された最大値「ＹＭａｘ」と「ＹＭｉｎ」と「ＹＭｅａｎ」とから、輝度分布の評価値となる「Ｄｓｔ」を算出する（ステップＳ３０５）。
【０１０２】
［重心評価値算出処理］
次に、図１０を用いて、実施例１に係る重心評価値算出処理を説明する。図１０は、実施例１に係る重心評価値算出処理を説明するためのフローチャートである。
【０１０３】
図１０に示すように、脈波検出装置１０は、画像データ「Ｇ１」の横方向の輝度の和を算出して（ステップＳ４０１）、当該横方向の重心位置「Ｃｘ」を算出する（ステップＳ４０２）。そして、脈波検出装置１０は、画像データ「Ｇ１」の縦方向の輝度の和を算出して（ステップＳ４０３）、当該縦方向の重心位置「Ｃｙ」を算出する（ステップＳ４０４）。
【０１０４】
続いて、脈波検出装置１０は、算出された横方向と縦方向との重心位置「Ｃｘ」と「Ｃｙ」とから、画像データ「Ｇ１」の重心の評価値「ｃＰｏｓ」を算出する（ステップＳ４０５）。なお、横方向と縦方向との重心位置の算出の順序については、どちらを先に算出してもよい。さらに、横方向と縦方向とのそれぞれの輝度の和について、最大値と最小値との差が所定閾値を下回る場合には、「Ｃｘ」若しくは「Ｃｙ」を「０」とみなして処理を行うこととしてもよい。
【０１０５】
また、図２の（２）の（ａ）は、ほぼ一様な画像であるように見えるが、実際には、図１１に示す強度分布を強調した画像（図１１の右図）のように、周辺光の条件や指の置き方が適切である場合に、中心部分が明るくなり、周囲が暗くなるため、重心計算部４１ｅにおいて画像データ「Ｇ１」の重心についての評価値を算出している。なお、図１１は、輝度分布を持った画像の例を示す図である。
【０１０６】
［評価点算出処理］
次に、図１２を用いて、実施例１に係る評価点算出処理を説明する。図１２は、実施例１に係る評価点算出処理を説明するためのフローチャートである。
【０１０７】
図１２に示すように、脈波検出装置１０は、エッジ量の総和「ＳＥｄｇｅ」と、閾値「Ｔｈ＿Ｅｄｇｅ１」とを比較して（ステップＳ５０１）、エッジ量の総和が閾値よりも大きい場合に（ステップＳ５０１肯定）、評価点「Ｐ１＿１」とする（ステップＳ５０２）。
【０１０８】
そして、脈波検出装置１０は、エッジ量の総和「ＳＥｄｇｅ」が閾値「Ｔｈ＿Ｅｄｇｅ１」よりも小さい場合に（ステップＳ５０１否定）、輝度平均「ＹＭｅａｎ」と、閾値「Ｔｈ＿ｙＤ１」とを比較する（ステップＳ５０３）。続いて、脈波検出装置１０は、輝度平均が閾値よりも小さい場合に（ステップＳ５０３肯定）、評価点「Ｐ１＿２」とする（ステップＳ５０４）。
【０１０９】
その後、脈波検出装置１０は、輝度平均「ＹＭｅａｎ」が閾値「Ｔｈ＿ｙＤ１」よりも大きい場合に（ステップＳ５０３否定）、輝度平均「ＹＭｅａｎ」と、閾値「Ｔｈ＿ｙＢ１」とを比較する（ステップＳ５０５）。そして、脈波検出装置１０は、輝度平均が閾値よりも小さい場合に（ステップＳ５０５肯定）、評価点「Ｐ１＿３」とする（ステップＳ５０６）。
【０１１０】
続いて、脈波検出装置１０は、輝度平均「ＹＭｅａｎ」が閾値「Ｔｈ＿ｙＢ１」よりも大きい場合に（ステップＳ５０５否定）、輝度分布の評価値「Ｄｓｔ」と、閾値「Ｔｈ＿Ｄｓｔ１」とを比較する（ステップＳ５０７）。その後、脈波検出装置１０は、輝度分布の評価値が閾値よりも大きい場合に（ステップＳ５０７肯定）、評価点「Ｐ１＿４」とする（ステップＳ５０８）。
【０１１１】
そして、脈波検出装置１０は、輝度分布の評価値「Ｄｓｔ」が閾値「Ｔｈ＿Ｄｓｔ１」よりも小さい場合に（ステップＳ５０７否定）、重心の評価値「ｃＰｏｓ」と、閾値「Ｔｈ＿ｃＰｏｓ１」とを比較する（ステップＳ５０９）。続いて、脈波検出装置１０は、重心の評価値が閾値よりも大きい場合に（ステップＳ５０９肯定）、評価点「Ｐ１＿５」とする（ステップＳ５１０）。
【０１１２】
その後、脈波検出装置１０は、重心の評価値「ｃＰｏｓ」が閾値「Ｔｈ＿ｃＰｏｓ１」よりも小さい場合に（ステップＳ５０９否定）、エッジ量の総和「ＳＥｄｇｅ」と、閾値「Ｔｈ＿Ｅｄｇｅ２」とを比較する（ステップＳ５１１）。そして、脈波検出装置１０は、エッジ量の総和が閾値よりも大きい場合に（ステップＳ５１１肯定）、評価点「Ｐ２＿１」とする（ステップＳ５１２）。
【０１１３】
続いて、脈波検出装置１０は、エッジ量の総和「ＳＥｄｇｅ」が閾値「Ｔｈ＿Ｅｄｇｅ２」よりも小さい場合に（ステップＳ５１１否定）、輝度平均「ＹＭｅａｎ」と、閾値「Ｔｈ＿ｙＤ２」とを比較する（ステップＳ５１３）。その後、脈波検出装置１０は、輝度平均が閾値よりも小さい場合に（ステップＳ５１３肯定）、評価点「Ｐ２＿２」とする（ステップＳ５１４）。
【０１１４】
そして、脈波検出装置１０は、輝度平均「ＹＭｅａｎ」が閾値「Ｔｈ＿ｙＤ２」よりも大きい場合に（ステップＳ５１３否定）、輝度平均「ＹＭｅａｎ」と、閾値「Ｔｈ＿ｙＢ２」とを比較する（ステップＳ５１５）。続いて、脈波検出装置１０は、輝度平均が閾値よりも小さい場合に（ステップＳ５１５肯定）、評価点「Ｐ２＿３」とする（ステップＳ５１６）。
【０１１５】
その後、脈波検出装置１０は、輝度平均「ＹＭｅａｎ」が閾値「Ｔｈ＿ｙＢ２」よりも大きい場合に（ステップＳ５１５否定）、輝度分布の評価値「Ｄｓｔ」と、閾値「Ｔｈ＿Ｄｓｔ２」とを比較する（ステップＳ５１７）。そして、脈波検出装置１０は、輝度分布の評価値が閾値よりも大きい場合に（ステップＳ５１７肯定）、評価点「Ｐ２＿４」とする（ステップＳ５１８）。
【０１１６】
続いて、脈波検出装置１０は、輝度分布の評価値「Ｄｓｔ」が閾値「Ｔｈ＿Ｄｓｔ２」よりも小さい場合に（ステップＳ５１７否定）、重心の評価値「ｃＰｏｓ」と、閾値「Ｔｈ＿ｃＰｏｓ２」とを比較する（ステップＳ５１９）。その後、脈波検出装置１０は、重心の評価値が閾値よりも大きい場合に（ステップＳ５１９肯定）、評価点「Ｐ２＿５」とする（ステップＳ５２０）。
【０１１７】
そして、脈波検出装置１０は、重心の評価値「ｃＰｏｓ」が閾値「Ｔｈ＿ｃＰｏｓ２」よりも小さい場合に（ステップＳ５１９否定）、評価点「Ｐ＿ＯＫ」とする（ステップＳ５２１）。
【０１１８】
なお、上記評価点の決定については、評価点「Ｐ１」から悪い順に決定し、処理負荷削減のために、一つの評価項目ポイントを決定すると、その時点で処理を終了したが、全ての評価項目について評価し、合計ポイントを算出することとしてもよい。但し、一つの評価項目においてマイナス点がある場合には、他の評価項目についても影響してマイナス点が決定される場合が多い。
【０１１９】
また、評価項目の順序は、どの順序で評価しても良く、評価項目の数も上記実施例に限られるものではない。そこで、以下では、上述した実施例以外の評価点の決定例を図１３〜図１６を用いて説明する。
【０１２０】
（指の置き方の評価点１）
まず、図１３と図１４とを用いて、指の置き方による評価点の決定例を説明する。図１３は、指の置き方による評価点決定の例を示す図であり、図１４は、評価点計算部４１ｆにおける処理を説明するためのフローチャートである。
【０１２１】
例えば、図１３に示すように、明るさとエッジ量との組み合わせのみを用いる場合には、適正な明るさとエッジ量とである時に「０点」、暗いまたは明るい、および、エッジ量が多い時に「−１点」、暗すぎるまたは明るすぎる、および、エッジ量が多すぎる時に「−２点」として評価点が決定される。
【０１２２】
次に、上記図１３のような評価点を決定する場合の処理の流れを説明する。図１４に示すように、評価点計算部４１ｆは、輝度平均「ＹＭｅａｎ」と、閾値「Ｔｈ＿ｙＤ１」とを比較して（ステップＳ６０１）、輝度平均が閾値よりも小さい場合に（ステップＳ６０１肯定）、評価点「−２」とする（ステップＳ６０２）。
【０１２３】
そして、評価点計算部４１ｆは、輝度平均「ＹＭｅａｎ」が閾値「Ｔｈ＿ｙＤ１」よりも大きい場合に（ステップＳ６０１否定）、輝度平均「ＹＭｅａｎ」と、閾値「Ｔｈ＿ｙＢ１」とを比較する（ステップＳ６０３）。続いて、評価点計算部４１ｆは、輝度平均が閾値よりも大きい場合に（ステップＳ６０３肯定）、評価点「−２」とする（ステップＳ６０４）。
【０１２４】
その後、評価点計算部４１ｆは、輝度平均「ＹＭｅａｎ」が閾値「Ｔｈ＿ｙＢ１」よりも小さい場合に（ステップＳ６０３否定）、エッジ量の総和「ＳＥｄｇｅ」と、輝度平均「ＹＭｅａｎ」に基づいて決定される閾値「Ｔｈ＿Ｅｄｇｅ１（ＹＭｅａｎ）」とを比較する（ステップＳ６０５）。そして、評価点計算部４１ｆは、エッジ量の総和が閾値よりも大きい場合に（ステップＳ６０５肯定）、評価点「−２」とする（ステップＳ６０６）。
【０１２５】
続いて、評価点計算部４１ｆは、エッジ量の総和「ＳＥｄｇｅ」が輝度平均「ＹＭｅａｎ」に基づいて決定される閾値「Ｔｈ＿Ｅｄｇｅ１（ＹＭｅａｎ）」よりも小さい場合に（ステップＳ６０５否定）、輝度平均「ＹＭｅａｎ」と、閾値「Ｔｈ＿ｙＤ２」とを比較する（ステップＳ６０７）。その後、評価点計算部４１ｆは、輝度平均が閾値よりも小さい場合に（ステップＳ６０７肯定）、評価点「−１」とする（ステップＳ６０８）。
【０１２６】
そして、評価点計算部４１ｆは、輝度平均「ＹＭｅａｎ」が閾値「Ｔｈ＿ｙＤ２」よりも大きい場合に（ステップＳ６０７否定）、輝度平均「ＹＭｅａｎ」と、閾値「Ｔｈ＿ｙＢ２」とを比較する（ステップＳ６０９）。続いて、評価点計算部４１ｆは、輝度平均が閾値よりも大きい場合に（ステップＳ６０９肯定）、評価点「−１」とする（ステップＳ６１０）。
【０１２７】
その後、評価点計算部４１ｆは、輝度平均「ＹＭｅａｎ」が閾値「Ｔｈ＿ｙＢ２」よりも小さい場合に（ステップＳ６０９否定）、エッジ量の総和「ＳＥｄｇｅ」と、輝度平均「ＹＭｅａｎ」に基づいて決定される閾値「Ｔｈ＿Ｅｄｇｅ２（ＹＭｅａｎ）」とを比較する（ステップＳ６１１）。そして、評価点計算部４１ｆは、エッジ量の総和が閾値よりも大きい場合に（ステップＳ６１１肯定）、評価点「−１」とする（ステップＳ６１２）。なお、評価点計算部４１ｆは、エッジ量の総和が閾値よりも小さい場合に（ステップＳ６１１否定）、評価点「０」として処理を終了する（ステップＳ６１３）。
【０１２８】
なお、本実施例は、上記説明に限られるものではなく、例えば、図１４のステップＳ６０５の閾値「Ｔｈ＿Ｅｄｇｅ１（ＹＭｅａｎ）」を、輝度総和「ｔｔｌＹ」に基づいて決定される閾値「Ｔｈ＿Ｅｄｇｅ１（ｔｔｌＹ）」に置き換えて判定を行なうこととしても良い。また、例えば、図１４のステップＳ６１１の閾値「Ｔｈ＿Ｅｄｇｅ２（ＹＭｅａｎ）」を、輝度総和「ｔｔｌＹ」に基づいて決定される閾値「Ｔｈ＿Ｅｄｇｅ２（ｔｔｌＹ）」に置き換えて判定を行なうこととしても良い。また、例えば、ステップＳ６０１、ステップＳ６０３、ステップＳ６０７、ステップＳ６０９の左辺の輝度平均「ＹＭｅａｎ」を、輝度総和「ｔｔｌＹ」に置き換えて判定を行なうこととしても良い。
【０１２９】
（指の置き方の評価点２）
次に、図１５と図１６とを用いて、指の置き方による評価点の決定例を説明する。図１５は、指の置き方による評価点の例を示す図であり、図１６は、評価点計算部４１ｆにおける処理を説明するためのフローチャートである。
【０１３０】
例えば、図１５に示すように、明るさを評価点の決定に用いる場合には、明るさによって指の置き方が正常である時に「＋１点」、指の置き方が悪い時に「−１点」、指を置いていない時に「−２点」として評価点が決定される。また、重心を評価点の決定に用いる場合には、重心によって指の置き方が正常である時に「＋１点」、指の置き方が悪い時に「０点」、指を置いていない時に「−１点」として評価点が決定される。また、エッジ量を評価点の決定に用いる場合には、エッジ量によって指の置き方が正常である時に「＋１点」、指の置き方が悪い時に「−１点」、指を置いていない時に「−２点」として評価点が決定される。
【０１３１】
次に、上記図１５のような評価点を決定する場合の処理の流れを説明する。図１６に示すように、評価点計算部４１ｆは、輝度平均「ＹＭｅａｎ」と、閾値「Ｔｈ＿ｙＢ１」とを比較して（ステップＳ７０１）、輝度平均が閾値よりも小さい場合に（ステップＳ７０１肯定）、評価点「−２」とする（ステップＳ７０２）。
【０１３２】
そして、評価点計算部４１ｆは、輝度平均「ＹＭｅａｎ」が閾値「Ｔｈ＿ｙＢ１」よりも大きい場合に（ステップＳ７０１否定）、エッジ量の総和「ＳＥｄｇｅ」と、閾値「Ｔｈ＿Ｅｄｇｅ１」とを比較する（ステップＳ７０３）。続いて、評価点計算部４１ｆは、エッジ量の総和が閾値よりも大きい場合に（ステップＳ７０３肯定）、評価点「−２」とする（ステップＳ７０４）。
【０１３３】
その後、評価点計算部４１ｆは、エッジ量の総和「ＳＥｄｇｅ」が閾値「Ｔｈ＿Ｅｄｇｅ１」よりも小さい場合に（ステップＳ７０３否定）、重心の評価値「ｃＰｏｓ」と、閾値「Ｔｈ＿ｃＰｏｓ１」とを比較する（ステップＳ７０５）。そして、評価点計算部４１ｆは、重心の評価値が閾値よりも大きい場合に（ステップＳ７０５肯定）、評価点「−１」とする（ステップＳ７０６）。
【０１３４】
続いて、評価点計算部４１ｆは、重心の評価値「ｃＰｏｓ」が閾値「Ｔｈ＿ｃＰｏｓ１」よりも小さい場合に（ステップＳ７０５否定）、輝度平均「ＹＭｅａｎ」と、閾値「Ｔｈ＿ｙＢ２」とを比較する（ステップＳ７０７）。その後、評価点計算部４１ｆは、輝度平均が閾値よりも小さい場合に（ステップＳ７０７肯定）、評価点「−１」とする（ステップＳ７０８）。
【０１３５】
そして、評価点計算部４１ｆは、輝度平均「ＹＭｅａｎ」が閾値「Ｔｈ＿ｙＢ２」よりも大きい場合に（ステップＳ７０７否定）、エッジ量の総和「ＳＥｄｇｅ」と、閾値「Ｔｈ＿Ｅｄｇｅ２」とを比較する（ステップＳ７０９）。続いて、評価点計算部４１ｆは、エッジ量の総和が閾値よりも大きい場合に（ステップＳ７０９肯定）、評価点「−１」とする（ステップＳ７１０）。
【０１３６】
その後、評価点計算部４１ｆは、エッジ量の総和「ＳＥｄｇｅ」が閾値「Ｔｈ＿Ｅｄｇｅ２」よりも小さい場合に（ステップＳ７０９否定）、重心の評価値「ｃＰｏｓ」と、閾値「Ｔｈ＿ｃＰｏｓ２」とを比較する（ステップＳ７１１）。そして、評価点計算部４１ｆは、重心の評価値が閾値よりも大きい場合に（ステップＳ７１１肯定）、評価点「０」とする（ステップＳ７１２）。なお、評価点計算部４１ｆは、重心の評価値が閾値よりも小さい場合に（ステップＳ７１１否定）、評価点「＋１」として処理を終了する（ステップＳ７１３）。
【０１３７】
［エラー判定処理］
次に、図１７を用いて、実施例１に係るエラー判定処理を説明する。図１７は、実施例１に係るエラー判定処理を説明するためのフローチャートである。
【０１３８】
図１７に示すように、脈波検出装置１０は、所定「Ｎ１」フレーム以上画像処理された場合に（ステップＳ８０１肯定）、過去「Ｎ２」フレーム分の評価点の累積値「ＳＥｒｒＰ」を算出する（ステップＳ８０２）。
【０１３９】
なお、脈波検出装置１０は、画像処理されたフレーム数が所定「Ｎ１」フレーム未満である場合に（ステップＳ８０１否定）、「ＹＭｅａｎ」と所定値「Ｔｈ＿ｙＤ２」とを比較する（ステップＳ８０９）。そして、脈波検出装置１０は、「ＹＭｅａｎ」が所定値「Ｔｈ＿ｙＤ２」よりも小さい場合に（ステップＳ８０９肯定）、暗すぎると判定して異常を通知する。また、脈波検出装置１０は、「ＹＭｅａｎ」が所定値「Ｔｈ＿ｙＤ２」よりも大きい場合に（ステップＳ８０９否定）、正常終了する。
【０１４０】
そして、脈波検出装置１０は、算出された「ＳＥｒｒＰ」が規定値「Ｔｈ＿ｅ１」よりも小さい場合に（ステップＳ８０３肯定）、指が置かれていないと判定して異常を通知する。続いて、「ＳＥｒｒＰ」が規定値「Ｔｈ＿ｅ１」よりも大きい場合に（ステップＳ８０３否定）、当該「ＳＥｒｒＰ」と規定値「Ｔｈ＿ｅ２」とを比較する（ステップＳ８０４）。その後、脈波検出装置１０は、「ＳＥｒｒＰ」が規定値「Ｔｈ＿ｅ２」よりも小さい場合に（ステップＳ８０４肯定）、指の置き方が悪いと判定して異常を通知する。
【０１４１】
そして、脈波検出装置１０は、「ＳＥｒｒＰ」が規定値「Ｔｈ＿ｅ２」よりも大きい場合に（ステップＳ８０４否定）、「ＹＭｅａｎ」と規定値「Ｔｈ＿ｙＢ２」とを比較する（ステップＳ８０５）。続いて、脈波検出装置１０は、「ＹＭｅａｎ」が規定値「Ｔｈ＿ｙＢ２」よりも大きい場合に（ステップＳ８０５肯定）、明るすぎると判定して異常を通知する。
【０１４２】
その後、脈波検出装置１０は、「ＹＭｅａｎ」が規定値「Ｔｈ＿ｙＢ２」よりも小さい場合に（ステップＳ８０５否定）、「ＹＭｅａｎ」と規定値「Ｔｈ＿ｙＤ２」とを比較する（ステップＳ８０６）。そして、脈波検出装置１０は、「ＹＭｅａｎ」が規定値「Ｔｈ＿ｙＤ２」よりも小さい場合に（ステップＳ８０６肯定）、暗すぎると判定して異常を通知する。
【０１４３】
続いて、脈波検出装置１０は、「ＹＭｅａｎ」が規定値「Ｔｈ＿ｙＤ２」よりも大きい場合に（ステップＳ８０６否定）、「ＹＭｅａｎ」と規定値「Ｔｈ＿ｙＢ３」とを比較する（ステップＳ８０７）。その後、脈波検出装置１０は、「ＹＭｅａｎ」が規定値「Ｔｈ＿ｙＢ３」よりも大きい場合に（ステップＳ８０７肯定）、明るいと判定して警告を通知する。
【０１４４】
そして、脈波検出装置１０は、「ＹＭｅａｎ」が規定値「Ｔｈ＿ｙＢ３」よりも小さい場合に（ステップＳ８０７否定）、「ＹＭｅａｎ」と規定値「Ｔｈ＿ｙＤ３」とを比較する（ステップＳ８０８）。続いて、脈波検出装置１０は、「ＹＭｅａｎ」が規定値「Ｔｈ＿ｙＤ３」よりも小さい場合に（ステップＳ８０８肯定）、暗いと判定して警告を通知する。なお、脈波検出装置１０は、「ＹＭｅａｎ」が規定値「Ｔｈ＿ｙＤ３」よりも大きい場合に（ステップＳ８０８否定）、正常に処理を終了する。
【０１４５】
［実施例１による効果］
上述したように、実施例１に係る脈波検出装置１０は、カメラが搭載された携帯端末などによって撮影された画像の各特性に基づいて、当該カメラで撮影する指の置き方を適切に判定するので、高精度に脈波を計測することが可能である。
【０１４６】
例えば、脈波検出装置１０は、カメラのレンズに指を置いて撮影された入力画像を受け付ける。そして、脈波検出装置１０は、入力画像の輝度総和から輝度平均を算出し、当該入力画像の横方向または縦方向のエッジ量を算出する。続いて、脈波検出装置１０は、入力画像の輝度平均から輝度分布の評価値を算出する。その後、脈波検出装置１０は、入力画像の縦方向の輝度値総和と横方向の輝度値総和とから、横方向および縦方向それぞれの重心位置を算出し、算出された重心に基づいて重心の評価値を算出する。そして、脈波検出装置１０は、算出された輝度平均、エッジ量、輝度分布および重心について、それぞれを所定の閾値と比較して評価点を算出する。続いて、脈波検出装置１０は、算出されたそれぞれの評価点に基づいて、指の置き方が良い状態であるか否か、さらに、輝度平均に基づいて、周辺光が適切な状態であるかを判定する。その後、脈波検出装置１０は、指の置き方が悪い状態、若しくは、周辺光が適切でない状態である場合にはエラーの旨を出力し、指の置き方が良い状態である場合には入力画像から得られる信号に基づいて脈拍を算出して出力する。この結果、脈波検出装置１０は、高精度に脈波を計測することが可能である。
【実施例２】
【０１４７】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも
種々の異なる形態にて実施されてよいものである。そこで、（１）脈波検出装置の構成、（２）評価点算出処理の順序、（３）エラー判定に利用する値、（４）プログラム、において異なる実施例を説明する。
【０１４８】
（１）脈波検出装置の構成
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメタを含む情報（例えば、図１に示した「エラー情報記憶部３２」などに記憶される情報）については、特記する場合を除いて任意に変更することができる。
【０１４９】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、例えば、エラー判定部４２ａを有する波形処理部４２として記載したが、当該エラー判定部４２ａを画像処理部４１に組み込んだり、当該エラー判定部４２ａを「エラー処理部」として独立させたりするなど、その全部または一部を、各種の負担や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合することができる。さらに、各装置にて行われる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１５０】
（２）評価点算出処理の順序
また、上記実施例１では、エッジ量、輝度平均（暗い）、輝度平均（明るい）、輝度分布、重心の評価値の順序で評価点を決定することとして説明したが、本発明はこれに限定されるものではなく、決定される評価点の点数（ポイント）が同様であれば順序を変更することもできる。例えば、脈波検出装置１０は、輝度平均（明るい）、エッジ量、輝度平均（暗い）、重心の評価値、輝度分布の順序で評価点を決定する。
【０１５１】
（３）エラー判定に利用する値
また、上記実施例１では、エッジ量、輝度平均、輝度分布、重心の評価値から決定された評価点を利用して、エラー判定処理を実施することとして説明したが、本発明はこれに限定されるものではなく、上記各特性のうち少なくとも一つ（または複数）を利用してエラー判定処理を実施することもできる。例えば、脈波検出装置１０は、エッジ量と重心の評価値の組み合わせや輝度分布とエッジ量との組み合わせを利用してエラー判定処理を実施する。
【０１５２】
（４）プログラム
ところで、上記の実施例では、ハードウェアロジックによって各種の処理を実現する場合を説明したが、本発明はこれに限定されるものではなく、あらかじめ用意されたプログラムをコンピュータで実行することによって実現するようにしてもよい。そこで、以下では、図１８を用いて、上記実施例に示した脈波検出装置１０と同様の機能を有する脈波検出プログラムを実行するコンピュータの一例を説明する。図１８は、脈波検出プログラムを実行するコンピュータを示す図である。
【０１５３】
図１８に示すように、脈波検出装置としてのコンピュータ１１０は、ＨＤＤ１３０、ＣＰＵ１４０、ＲＯＭ１５０およびＲＡＭ１６０をバス１８０などで接続される。
【０１５４】
ＲＯＭ１５０には、上記実施例１に示した脈波検出装置１０と同様の機能を発揮する脈波検出プログラム、つまり、図１８に示すように判定プログラム１５０ａと、出力プログラム１５０ｂとが、あらかじめ記憶されている。なお、これらのプログラム１５０ａ〜プログラム１５０ｂについては、図１に示した脈波検出装置１０の各構成要素と同様、適宜統合または、分散してもよい。
【０１５５】
そして、ＣＰＵ１４０がこれらのプログラム１５０ａ〜プログラム１５０ｂをＲＯＭ１５０から読み出して実行することで、図１８に示すように、プログラム１５０ａ〜プログラム１５０ｂは、判定プロセス１４０ａと、出力プロセス１４０ｂとして機能するようになる。なお、プロセス１４０ａ〜プロセス１４０ｂは、図１に示した、エラー判定部４２ａと、エラー表示部２１とに対応する。
【０１５６】
そして、ＣＰＵ１４０はＲＡＭ１６０に記録されたデータに基づいて脈波検出プログラムを実行する。
【０１５７】
なお、上記各プログラム１５０ａ〜プログラム１５０ｂについては、必ずしも最初からＲＯＭ１５０に記憶させておく必要はなく、例えば、コンピュータ１１０に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」、またはコンピュータ１１０の内外に備えられるＨＤＤなどの「固定用の物理媒体」、さらには公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１１０に接続される「他のコンピュータ（またはサーバ）」などに各プログラムを記憶させておき、コンピュータ１１０がこれから各プログラムを読み出して実行するようにしてもよい。
【図面の簡単な説明】
【０１５８】
【図１】実施例１に係る脈波検出装置の構成例を示す図である。
【図２】指の置き方と画像の特徴とを説明するための図である。
【図３】指の置き方の状態を判定するポイントを説明するための図である。
【図４】カメラのレンズに置く指の置き方が悪い場合の画像と波形との例を示す図である。
【図５−１】カメラ周辺の照度例を示す図である。
【図５−２】カメラ周辺の照度に対応する画像の輝度平均例を示す図である。
【図５−３】画像が明るい場合の波形例を示す図である。
【図５−４】画像が暗い場合の波形例を示す図である。
【図５−５】画像が暗めである場合の波形例を示す図である。
【図６】画像の重心の求め方を説明するための図である。
【図７】実施例１に係る輝度平均算出処理を説明するためのフローチャートである。
【図８】実施例１に係るエッジ量算出処理を説明するためのフローチャートである。
【図９】実施例１に係る輝度分布算出処理を説明するためのフローチャートである。
【図１０】実施例１に係る重心評価値算出処理を説明するためのフローチャートである。
【図１１】輝度分布を持った画像の例を示す図である。
【図１２】実施例１に係る評価点算出処理を説明するためのフローチャートである。
【図１３】指の置き方による評価点決定の例を示す図である。
【図１４】評価点計算部における処理を説明するためのフローチャートである。
【図１５】指の置き方による評価点の例を示す図である。
【図１６】評価点計算部における処理を説明するためのフローチャートである。
【図１７】実施例１に係るエラー判定処理を説明するためのフローチャートである。
【図１８】脈波検出プログラムを実行するコンピュータを示す図である。
【符号の説明】
【０１５９】
１０  脈波検出装置
２０  出力部
２１  エラー表示部
２２  脈拍数表示部
２３  ファイル
２４  脈動表示部
３０  記憶部
３１  輝度情報記憶部
３２  エラー情報記憶部
３３  ピーク情報記憶部
４０  制御部
４１  画像処理部
４１ａ  前処理部
４１ｂ  輝度平均計算部
４１ｃ  エッジ量計算部
４１ｄ  輝度分布計算部
４１ｅ  重心計算部
４１ｆ  評価点計算部
４２  波形処理部
４２ａ  エラー判定部
４２ｂ  ピーク検出部
４２ｃ  脈拍数計算部
【図１】
0005266895.tif 000009
【図２】
0005266895.tif 000010
【図３】
0005266895.tif 000011
【図４】
0005266895.tif 000012
【図５−１】
0005266895.tif 000013
【図５−２】
0005266895.tif 000014
【図５−３】
0005266895.tif 000015
【図５−４】
0005266895.tif 000016
【図５−５】
0005266895.tif 000017
【図６】
0005266895.tif 000018
【図７】
0005266895.tif 000019
【図８】
0005266895.tif 000020
【図９】
0005266895.tif 000021
【図１０】
0005266895.tif 000022
【図１１】
0005266895.tif 000023
【図１２】
0005266895.tif 000024
【図１３】
0005266895.tif 000025
【図１４】
0005266895.tif 000026
【図１５】
0005266895.tif 000027
【図１６】
0005266895.tif 000028
【図１７】
0005266895.tif 000029
【図１８】
0005266895.tif 000030