以下、添付の図面を参照しながら、本発明による呼吸数計測装置、および呼吸数計測装置を有する呼吸数モニタリング装置の実施形態を説明する。
(実施の形態1)
図1は、本実施の形態による呼吸数モニタリング装置30を含む、モニタリングシステム100の構成を示す。
モニタリングシステム100は、カメラ10と、マウス20と、呼吸数モニタリング装置30と、表示装置40とを含む。図1には被験者1が示されているが、被験者1はモニタリングシステム100に含まれない。
モニタリングシステム100は、被験者1を撮影した動画像から、その被験者1の呼吸数を計測するために利用される。以下の各実施形態において、呼吸数とは、一定期間内に被験者1が現実に行った呼吸の回数を意味する。本実施の形態においては、1呼吸に要する時間を求め、その時間と動画像のフレームレートとの関係から、単位時間あたりの呼吸の回数を求める。
カメラ10は、被験者1を撮影して動画像のデジタルデータを生成し、出力する。説明の都合上、1枚1枚のフレーム画像単位でデータが生成され、出力されるとする。なお、フレーム画像に分離可能であれば、そのデータ形式は任意である。たとえば、H.264規格等の動画像圧縮処理を利用して動画像のデジタルデータを生成し、出力してもよい。
マウス20は、モニタリングシステム100の操作者が呼吸数モニタリング装置30に指示を入力するために利用される入力装置である。より具体的には、マウス20は、呼吸数モニタリング装置30が呼吸数を計測する際に動画像のどの領域を利用するかを指定するために利用される。なお、マウス20は入力装置の一例であり、他の周知の入力装置、たとえばトラックボール、キーボード、タッチペン、タッチスクリーンパネル、ディジタイザであってもよい。
マウス20に代表される入力装置は典型的にはハードウェアであるが、ソフトウェア的に指示を受け付ける態様を含めてもよい。たとえば呼吸数モニタリング装置30の実体がコンピュータであるとする。そして、そのコンピュータ上で動作する画像処理プログラムが、動画像を受け取り、その動画像の輝度の変化が大きい領域を識別し、その領域を、呼吸数を計測する領域として出力するとする。マウス20等に代えて、このような画像処理プログラムの処理の結果を、呼吸数モニタリング装置30上のその後の処理への入力(指示)として利用することもできる。このようなデータの受け渡しのためのインタフェースは、アプリケーション・プログラム・インターフェース(API)と呼ばれる。すなわち、APIが、マウス等のハードウェアとしての入力装置に変わる入力インタフェースとして機能し得る。このような構成の一例が後述する図21に示されている。上述の領域の識別処理が呼吸数モニタリング装置30外で行われる場合には、外部機器との通信に用いられる通信端子が入力装置として機能し、または、通信端子から得られた領域の識別結果を、呼吸数モニタリング装置30の主要な処理プログラムへ引き渡すためのAPIが、ソフトウェア的な入力装置として機能する。
呼吸数モニタリング装置30は、典型的にはコンピュータである。呼吸数モニタリング装置30は、カメラ10によって撮影された動画像の信号と、マウス20を利用して指定された領域の情報とを受け取り、指定された領域における動画像のデータを利用して、その被験者1の呼吸数を計測する。その処理の詳細は後に詳述する。
表示装置40は、たとえば液晶ディスプレイであり、呼吸数モニタリング装置30の処理結果、たとえば、計測した被験者1の呼吸数の情報、または呼吸数を取得できなかったことを示す情報を出力する。なお、液晶ディスプレイは一例であり、他の周知の表示装置、たとえばプラズマディスプレイ、有機ELディスプレイ、プロジェクタであってもよい。なお、表示装置40として、液晶ディスプレイ等を備えたタブレット、スマートフォンなどの携帯デバイスも含まれ得る。
表示装置40は、典型的にはハードウェアであるが、本質的には情報を操作者、被験者等に提示することができる情報提示手段であればよい。たとえば、Windows(登録商標)等で利用できる仮想画面もまた、情報提示手段の一例である。また、呼吸数の情報、または呼吸数を取得できなかったことを示す情報として、音声自体または音声を出力するスピーカもまた情報提示手段の一例である。
図2は、呼吸数モニタリング装置30のハードウェア構成を示す。本実施の形態では、呼吸数モニタリング装置30は、上述のように、カメラ10、マウス20および表示装置40と接続されている。なお、本明細書においては、インタフェース装置を「I/F」と略記する。図2に示されるように、I/Fは典型的には接続端子(コネクタ)などのハードウェアであるが、ソフトウェア的にデータを授受する仕組み(たとえばソケット、ポート、データ構造、プロトコル)もまたI/Fの範疇である。
呼吸数モニタリング装置30は、カメラ10から、撮影された動画像のデータを受け取る。またディスプレイ40は、処理の結果である、被験者1の呼吸数の計測結果を表示する。
呼吸数モニタリング装置30は、CPU301と、ROM302と、RAM303と、ハードディスクドライブ(HDD)304と、画像処理回路305と、映像入力I/F306と、USB I/F307と、出力I/F308とを有する。
CPU301は呼吸数モニタリング装置30の動作を制御する。ROM302は、コンピュータプログラムを格納している。コンピュータプログラムは、たとえば後述するフローチャートによって示される処理またはその変形例にかかる処理をCPU301または画像処理回路305に行わせるための命令群である。コンピュータプログラムは、たとえばCD−ROMのような光学的記録媒体に記録されていてもよいし、メモリカードのような半導体記録媒体に記憶されてもよいし、磁気記録媒体に記録されてもよい。コンピュータプログラムは、電気通信回線を通じて伝送され得る。
RAM303は、CPU301による実行にあたって、コンピュータプログラムを展開するためのワークメモリである。HDD304は、カメラ10から受信した動画像のデータ、または計測された被験者1の呼吸数のデータを格納する記憶装置である。
映像入力I/F306は、呼吸数モニタリング装置30がカメラ10から動画像のデータを受け取るためのインタフェースである。映像入力I/F306として、たとえばHDMI(登録商標)規格、DVI−D規格、DisplayPort(登録商標)規格の端子が利用され得る。
USB I/F307は、マウス20と呼吸数モニタリング装置30とを接続する端子の一例である。他の例として、PS/2 I/Fを利用し得る。
出力I/F308は、呼吸数モニタリング装置30が表示装置40に表示するためのデータを出力するためのインタフェースである。出力I/F308として、たとえばHDMI(登録商標)規格、DVI規格の端子が利用され得る。出力I/F308は、表示装置40に表示されるテキストデータのみを出力してもよい。
なお、映像入力I/F306および/または出力I/F308は、映像専用のI/Fである必要はない。たとえばカメラ10またはカメラ10から映像データを受け取った他の機器(図示せず)が、TCP/IPプロトコルの通信を行うことが可能であれば、映像入力I/F306は、イーサネット(登録商標)端子であってもよい。または、無線通信によって動画像データの送信および/または受信を行う場合には、映像入力I/F306および/または出力I/F308は、たとえばWi-Fi(登録商標)規格に準拠した通信を行う通信回路として実現され得る。
画像処理回路305は、動画像のデータを解析する、いわゆるグラフィックスプロセッサである。画像処理回路305は、HDD304から読み出した動画像のデータを利用して被験者1の呼吸数を算出する。本実施の形態では主として画像処理回路305が呼吸数を算出する演算を行うとして説明する。しかしながら、これは一例である。画像処理回路305の処理を、CPU301が行ってもよい。本明細書では、CPU301および画像処理回路305を総称して、「演算回路」と呼ぶことがある。図2には、演算回路309が示されている。
呼吸数モニタリング装置30の演算回路309の動作の概要は、以下の通りである。すなわち演算回路309は、HDD304などの記憶装置から、動画像の連続するN(N:2以上の整数)枚のフレーム画像で構成された第1画像群、および第1画像群の先頭フレーム画像(典型的には最新のフレーム画像)からS(S:1以上の整数)枚のフレーム画像だけずれた、連続するN枚のフレーム画像で構成された第2画像群を読み出す。そして演算回路309は、第1画像群の画像特徴量と第2画像群の画像特徴量との相関係数を計算する。なお、本実施の形態では、第1画像群のフレーム画像数および第2画像群のフレーム画像数はいずれもN枚であるとしている。
「画像特徴量」は、一例として、被験者1の呼吸による変化が画像上存在する領域(以下「呼吸領域」と呼ぶ。)における、画素値に基づいて算出される。例えば、画像フレームの輝度値や緑成分の画素値の平均値あるいは中央値である。本実施の形態においては、呼吸領域は、呼吸数モニタリング装置30の操作者によって指定されるが、後述する他の実施の形態においては、呼吸領域は所定の画像処理を実行した装置によって認識される。演算回路309は、相関係数が予め定められた閾値以上であるとき、S枚のフレーム画像に対応する時間を被験者の呼吸の周期として特定する。
従来の技術と異なり、本実施の形態による呼吸数モニタリング装置30は、想定される最小呼吸数(周波数の最も低い呼吸)に合わせて第1および第2画像群のフレーム画像数Nを設定すればよい。具体的な設定方法は後述する。
Nの値を相対的に小さく設定すれば、第1画像群の画像特徴量と第2画像群の画像特徴量との相関係数を計算する処理、および被験者の呼吸の周期の検出処理が相対的に早くなる。よって、呼吸数が変動した場合でもその変動に素早く追従することができる。ただし、呼吸周期が上述のN枚の画像よりも長い場合には、そのような1呼吸周期を検出することは困難であると考えられる。
一方、Nの値を相対的に大きく設定すれば、第1画像群の画像特徴量と第2画像群の画像特徴量との相関係数を計算する処理、および被験者の呼吸の周期の検出処理に相対的に時間を要する。これは、呼吸数が変動した場合には、その変動への追従に時間を要することを意味する。ただし、Nの値を大きくすることにより、呼吸周期が比較的長くなっても追従することができる。
ここで、第1および第2画像群のフレーム画像数Nを決めておくことによる利点を説明する。第1および第2画像群のフレーム画像を利用してそれらの画像群の間に相関があると判断できた場合には、呼吸数モニタリング装置30は、その時点で処理を打ち切ることができる。これは、たとえばコンピュータを用いた高速フーリエ変換によって呼吸数を測定する既知の技術よりも有利である。高速フーリエ変換を利用する場合には、想定される全ての呼吸周期に対応する周波数範囲を設定し、その全ての周波数範囲に関するパワースペクトルを求め、求めたパワースペクトルに基づいて、呼吸に対応する周波数を特定する必要がある。たとえば、被検者の呼吸周期が早く、呼吸の周波数が高かったとしても、より低い周波数に関しても計算を行う必要がある。
一方、本実施の形態によれば、相関係数が後述の閾値条件に合致すれば、その時点で処理を打ち切ることができる。毎回、予め定められた全ての処理を行う必要はなく、必要最小限の処理に抑えることができる。よって、平均的に見て従来よりも効率的に呼吸数計算を行うことができる。
図3Aは、主として呼吸数モニタリング装置30の構成例を示す。
呼吸数モニタリング装置30は、呼吸数計測装置102と、フレーム画像データ受信I/F103と、呼吸領域指定データ受信I/F104と、フレーム画像データバッファ106と、呼吸領域指定データバッファ107と、呼吸波形データ生成処理部108とを有している。そして呼吸数計測装置102は、呼吸波形データバッファ109と、呼吸数演算処理部110と、呼吸数データバッファ111とを有している。呼吸数演算処理部110は、演算処理に利用されるデータを一時的に格納するバッファ112を有している。
これらと、図2の各構成要素との対応関係は以下のとおりである。呼吸数モニタリング装置30の呼吸波形データ生成処理部108および呼吸数計測装置102の呼吸数演算処理部110は、演算回路309(CPU301および/または画像処理回路305)に対応する。フレーム画像データ受信I/F103は、映像入力I/F306に対応する。呼吸領域指定データ受信I/F104は、USB I/F307に対応する。またはソフトウェア的なインタフェース(API)であってもよい。フレーム画像データバッファ106、呼吸領域指定データバッファ107、呼吸波形データバッファ109と、呼吸数データバッファ111は、RAM303、またはHDD304に対応する。なお、CPU301および/または画像処理回路305は、キャッシュメモリと呼ばれる記憶装置を内蔵していることが多い。そのようなキャッシュメモリが、上述した各バッファの全部または一部として利用されてもよい。
図3Bは、図3Aの呼吸数モニタリング装置30の詳細な構成例を示している。より具体的には、図3Bは、図3Aにおけるフレーム画像データバッファ106、呼吸波形データ生成処理部108、および呼吸数演算処理部110の詳細な構成例を示している。
フレーム画像データバッファ106は、第1画像群取得処理部106aおよび第2画像群取得処理部106bを有している。第1および第2画像群取得処理部106aおよび106bは、それぞれ上述の第1画像群および第2画像群のデータを取得する。ここで言う「取得する」とは、典型的には、フレーム画像データ受信I/F103を介して、上述した第1画像群および第2画像群のデータを受け取ることを言う。
なお、第1画像群取得処理部106aおよび第2画像群取得処理部106bは、必ずしもフレーム画像データバッファ106の一部として設けられなくてもよい。たとえば、第1および第2画像群を含む動画像が既にHDD304(図2)に格納されている場合には、第1および第2画像群取得処理部106aおよび106bは、HDD304から第1および第2画像群のデータを読み出すための処理回路であってもよい。
呼吸波形データ生成処理部108は、第1画像特徴量群作成処理部108aおよび第2画像特徴量群作成処理部108bを有している。第1画像特徴量群作成処理部108aは、第1画像群の各フレーム画像の画像特徴量を算出し、当該画像特徴量の集合である第1画像特徴量群を作成する。第2画像特徴量群作成処理部108aも同様に、第2画像群の各フレーム画像の画像特徴量を算出し、当該画像特徴量の集合である第2画像特徴量群を作成する。画像特徴量の例は上述の通りである。
呼吸数演算処理部110は、相関係数演算処理部110aと、呼吸周期特定処理部110bと、パラメータ再設定処理部110cとを有している。
相関係数演算処理部110aは、第1画像特徴量群と第2画像特徴量群との相関係数を計算する。呼吸周期特定処理部110bは、第1画像群と第2画像群との差であるフレーム画像の枚数Sを変化させたときの相関係数の推移により、呼吸周期を特定できるかどうかを判定する。パラメータ再設定処理部110cは、呼吸周期が特定できない場合、フレーム枚数Sの値を再設定する。さらにパラメータ再設定処理部110cは、第1および第2画像群のフレーム画像の枚数Nを変化させることもできる。「再設定する」とは、たとえば各画像群を構成するフレーム画像の枚数Nの値および/または変更後のフレーム枚数Sの値に基づいて第1および第2画像群のデータを取得するよう、第1画像群取得処理部106aおよび第2画像群取得処理部106bに指示することをいう。
以下では、図3Aの構成に基づいて、呼吸数モニタリング装置30の動作を説明する。適宜、図3Bの詳細な構成についても言及する。なお、上述した図2のハードウェアとの対応関係の記載により、たとえば、以下の記載における「呼吸波形データ生成処理部108」または「呼吸数演算処理部110」は、そのまま「演算回路309」と読み替えてもよいし、「CPU301」または「画像処理回路305」と読み替えてもよい。
図4は、呼吸数モニタリング装置30の処理手順を示すフローチャートである。以下の説明において、適宜他の図面も参照しながら、各処理を説明する。
まずステップS1において、フレーム画像データ受信I/F103は、カメラ10から送信されてきた動画像データを受信する。そしてフレーム画像データ受信I/F103は、その動画像データをフレーム画像データバッファ106に格納する。この処理によってフレーム画像データバッファ106には、少なくとも後述する処理が可能な枚数分のフレーム画像のデータが格納される。
なお、圧縮符号化された動画像データがカメラ10から受信した場合も、少なくとも後述する処理が可能な枚数分のフレーム画像がフレーム画像データバッファ106に保持されていればよい。圧縮符号化された動画像データには、たとえば圧縮されたそのデータのみで完全な1枚のピクチャが構築可能なデータ(Iピクチャデータ)と、圧縮されたそのデータのみでは完全な1枚のピクチャが構築できないが、他のピクチャのデータを参照することによって完全な1枚のピクチャが構築可能なデータ(P、Bピクチャデータ)とが存在する。画像処理回路305は、I、P、Bピクチャデータを復号化することにより、必要な枚数分のフレーム画像をフレーム画像データバッファ106に格納することができる。
図3Bの例との関係では、ステップS1において、第1画像群取得処理部106aおよび第2画像群取得処理部106bは、それぞれ第1画像群および第2画像群の動画像データを取得する。
ステップS2において、呼吸領域指定データ受信I/F104は、操作者によって指定された、フレーム画像中の一部の領域を特定する情報(領域指定情報)を受け取る。領域指定情報は、呼吸領域を特定する情報である。そして呼吸領域指定データ受信I/F104は、その情報を呼吸領域指定データバッファ107に格納する。
図5は、あるフレーム画像200に指定された呼吸領域202を示す。縦方向および横方向に伸びる複数の直線およびそれらによって囲まれる矩形の小領域群は、操作者に特定の小領域を指定させるために、表示装置40上のフレーム画像200上に仮想的に示されているに過ぎない。本明細書では、被験者1の呼吸に伴う体動の変化が含まれる小領域が、呼吸領域として指定される。使用者は、その中からマウス20を利用して呼吸領域202を指定する。図5には、上下方向に隣接する2つの小領域を1つの呼吸領域として指定する例が示されている。呼吸領域は、フレーム画像内の絶対的な位置である。複数のフレーム画像にわたって、同じ位置の呼吸領域の画像特徴量が求められる。
図6(a)〜(d)は、複数のフレーム画像にわたる、呼吸領域202内の画像の時系列的な変化の一例を示す。図6(a)を参照すると、呼吸領域202には2つのオブジェクトが存在する。被験者1を含む被験者オブジェクト204と、背景オブジェクト206である。オブジェクト204は被験者の衣服等の色の影響により相対的に明るい。すなわち輝度値が大きい。一方の背景オブジェクト206は、相対的に暗い。すなわち輝度値が小さい。
図6(a)〜(d)に示されるように、被験者1の呼吸に同期して、固定された呼吸領域202を占める被験者オブジェクト204の面積が変化する。このような小領域が、操作者によって呼吸領域202としてとして指定され得る。
なお、図6(a)〜(d)は、連続するフレーム画像とは限らない。たとえば、被験者1が1回の呼吸に2秒を要している場合には、図6(a)〜(d)は、たとえば0.5秒間隔の4枚のフレーム画像である。
次に、図4のステップS3において、呼吸波形データ生成処理部108は、フレーム画像データバッファ106からフレーム画像データを読み出し、呼吸領域指定データバッファ107から呼吸領域指定データを読み出して、呼吸領域202における呼吸波形データを生成する。呼吸波形データ生成処理部108は、生成した呼吸波形データを呼吸波形データバッファ109に格納する。
呼吸波形データを生成する処理は、呼吸領域202における、輝度値の平均値の時系列データを求める処理である。図6(a)〜(d)に示されるように、被験者オブジェクト204の面積および背景オブジェクト206の面積が呼吸に同期して変化するため、呼吸領域202全体の輝度値の平均値も時間的に変動する。呼吸波形データ生成処理部108は、この輝度値の平均値をフレーム画像毎に求めることにより、被験者1の呼吸に伴って変動する情報、すなわち呼吸波形を得ることができる。
なお、図1および図5によれば、カメラ10は、被検者1の斜め上の位置から水平に近い位置までの間に設置されている。しかしながらこの配置は一例である。カメラ10が被検者1を撮影する角度は任意である。たとえば被検者1の真上に設置されていてもよい。カメラ10が被検者1の真上から被検者1を撮影した場合は、図6(a)等に示す背景オブジェクト206が含まれないことがあり得る。しかしながら、そのような場合であっても、被検者1の呼吸波形を得ることができる。それは、呼吸に伴って被験者1が動くことにより、光の反射方向が刻々と変化することに起因する。輝度値を継続的に測定することにより、呼吸波形を得ることができる。
図7は、取得された呼吸波形の一例を示す。図7では輝度値の変化を連続関数として示しているが、これは理解の便宜のためである。実際には離散値として得られることに留意されたい。なお、画像処理回路305が、離散値として得られた各フレーム画像の輝度値の平均値を、たとえばスプライン曲線で補間することにより、より緻密な波形を得ることも可能である。
図3Bの例との関係では、ステップS3において、第1および第2画像特徴量群作成処理部108aおよび108bが、画像特徴量の集合である画像特徴量群(呼吸波形)を作成する。
ステップS4において、呼吸波形データバッファ109は、得られた呼吸波形データを格納する。
ステップS5において、呼吸数演算処理部110は、呼吸波形データバッファ109から呼吸波形データを読み込み、呼吸波形データから被験者1の呼吸数を求める。被験者1の呼吸数は、ステップS6において呼吸数データバッファ111に格納される。
呼吸数の算出処理は下記の(1)〜(3)のデータを利用して行われる。
(1)特定のフレーム画像から起算して、連続する過去N(N:2以上の整数)枚のフレーム画像(第1画像群)から生成された呼吸波形のデータ。
(2)特定のフレーム画像から起算してS(S:1以上の整数)枚前のフレーム画像を先頭フレーム画像として含む、連続する過去N枚のフレーム画像(第2画像群)から生成された呼吸波形のデータ。
(3)第1画像群から求められた呼吸波形のデータおよび第2画像群から求められた呼吸波形のデータの相関の強さを示す相関係数。
なお、上記(1)および(2)における「特定のフレーム画像」の一例は、最新のフレーム画像である。
この相関係数に関し、予め、第1画像群および第2画像群の相関が有意に高いと判断され得る値を設定しておく。つまり、第2画像群が、第1画像群の1呼吸前に撮影されたと判断され得るような、相関の高さを有すると判断し得る値を、予め設定しておく。呼吸数演算処理部110は、相関係数がそのような設定値以上になったか否かを判定し、相関係数が設定値以上になると、そのときの第1画像群および第2画像群の間隔に対応する値Sを、呼吸間隔として特定する。たとえばフレームレートが毎秒f枚であるとすると、呼吸数演算処理部110は、1呼吸に要する時間TをT=(S/f)秒であると求める。そして呼吸数演算処理部110は、1分あたりの呼吸数を60/T回であると求める。呼吸数演算処理部110は、呼吸数の情報を呼吸数データとして呼吸数データバッファ111に格納する。
以下、呼吸数演算処理の詳細を説明する。
図8は、N枚のフレーム画像を含む第1画像群と、第1画像群の先頭フレーム画像からS枚ずれた位置のフレーム画像を先頭とする、連続するN枚のフレーム画像を含む第2画像群と、呼吸波形との関係を示す。図8における(1)および(2)は、それぞれ上述の第1画像群および第2画像群に対応する。
本願発明者らは、以下の知見に基づいて、呼吸数演算処理部110を動作させることとした。
まず、第1画像群に関するNの値は検出する呼吸波形の周期の長さにより決定する必要がある。周期が長ければNの値を大きく、周期が短ければNの値を小さくする必要がある。仮に、想定される呼吸の波形の周期のうち、長い周期を基準としてNの値を決定すると、呼吸が速くなった場合には、N枚のフレーム画像に対応する撮影期間中に複数回の呼吸が行われることになる。これは、呼吸が速くなったり遅くなったりする場合において、呼吸が速くなったときも同様である。長い周期を基準としてNの値を決定すると、N枚の第1画像群とN枚の第2画像群とから求められる相関係数が後述の閾値条件に合致しにくくなり、相関があると判断されるまで時間がかかる。よって追従性の問題が生じ得ることが分かった。
一方、本願発明者らの研究により、呼吸のように周期が変化する波形の相関を求める場合は、Nの値を一定にすると、適切な相関が取れない場合があることも分かった。
そこで本願発明者らは、Nフレームとして最初に設定される値(N0)は、呼吸が速い(周期が短い)場合を基準として設定し、相関を計算できるようにした。さらに本願発明者らは、呼吸が遅い(呼吸の周期が長い)場合への対応として、(a)第1画像群と第2画像群との間の間隔Sの値をインクリメントさせる、(b)上記(a)に加え、第1画像群の枚数Nおよび第2画像群の枚数Nをも変化させることにした。これにより、呼吸が遅くなっても、第1画像群と、第2画像群との相関の有無を判断できる。
上記(a)または(b)のいずれにおいても、どのように変化させるかは予め規則を設けておけばよい。たとえば重複率である。「重複率」とは、たとえば第1画像群と第2画像群とに共通して含まれるフレーム画像の枚数と、第1画像群(または第2画像群)に含まれるフレーム画像の総数Nとの関係である。「重複率」を、第1画像群と第2画像群とに共通して含まれるフレーム画像の枚数と、最新のフレーム画像から最古のフレーム画像までの枚数との関係として定義してもよい。なお、後者の「最新のフレーム画像」は、第1フレーム画像群(図8における(1))の先頭フレーム画像であり、「最古のフレーム画像」は第2フレーム画像群(図8における(2))の最後のフレーム画像である。
以下、相関係数の具体的な計算方法を説明する。ただし以下の説明は一例であり、異なる方法を用いたとしても相関を求めることが可能であればその方法を用いてもよい。
なお、上述のように、第1画像群の枚数、および第2画像群の枚数(いずれもN)を用いて、下記数1に基づいて相関係数を求めることができる。
数1に含まれる関数f(i)は、i番目のフレーム画像に対応する呼吸波形の値である。
呼吸数演算処理部110は、初期値としてS=S0を設定して数1によって相関係数coef(S)を求める。たとえば、30回/分の呼吸を短い呼吸のターゲットとしたとき、初期値S0は、2秒間分のフレーム数以上の値に設定すればよい。すなわち1回の呼吸に要する時間以上のフレーム数に設定すればよい。
図3Bの例との関係では、相関係数演算処理部110aが上述の相関係数を演算する。
呼吸数演算処理部110は、相関係数coef(S)と、予め設定されている相関係数閾値coefThとを比較し、予め定められた閾値条件のもとで、相関係数coef(S)が相関係数閾値coefTh以上になったか否かを判定する。これはすなわち、呼吸数演算処理部110が、呼吸周期を特定できるかどうかを判定することを意味する。この処理は図3Bの例における呼吸周期特定処理部110bの動作に対応する。
呼吸数演算処理部110は、相関係数coef(S)が相関係数閾値coefTh以上になると、Sフレーム画像に対応する時間(上述のS/f)を、1呼吸に要する時間として算出する。なお、相関係数閾値coefThは0以上1以下の任意の定数であればよい。本明細書では相関係数閾値coefTh=0.7とする。
1呼吸に要する時間を算出すると、その時点で値Sをインクリメントする処理は終了する。呼吸数演算処理部110は、1呼吸に要する時間から、呼吸数を算出する。
呼吸数演算処理部110は、相関係数の計算に用いるデータ数を、呼吸周期が長い(周波数が低い)場合には大きく、呼吸周期が短い(周波数が高い)場合には小さくなるように動的に変化させる。相関係数の計算に用いるデータ数を動的に変化させる理由は、呼吸数変動への追従性を高めるためである。ここでいうデータ数とは、第1画像群を構成するフレーム画像の数、および第2画像群を構成するフレーム画像の数であり、いずれもN枚である。
呼吸数を評価するためには、1回の呼吸に対応する呼吸波形のデータ(つまり1呼吸に対応するデータ)が必要である。当該呼吸波形のデータを求めるためのフレーム画像の数を、呼吸波形の大きさに比べて大きく取り過ぎ、さらにその全てのフレーム画像を用いて呼吸数を評価すると、上述の理由により、呼吸数の変動に迅速に追従できない可能性が生じる。含まれる呼吸波形の数が増えるほど、全体の波形間に相関があると判断するまでに時間を要することは明らかである。そのため、上述のように相関係数の計算に用いるデータ数を動的に変化させることが適切である。また、図9に示すように、Nの最大値(Nmax)を設定してもよい。
例えば、図9は、第1画像群と第2画像群との間で、最小データ重複率P(%)を下回らないように各画像群のフレーム画像数および重複するフレーム画像を変化させた例を示す。第1画像群を構成するフレーム画像および第2画像群を構成するフレーム画像の数はそれぞれN枚である。
図9に示すように、呼吸数演算処理部110は、Nを初期値N0として最小データ重複率を用いて、最初N0個で演算を行う。そして呼吸数演算処理部110は、データ重複率が最小データ重複率を下回らないように、Sが大きくなるとNを大きく設定していく。ここでいう最小データ重複率とは、相関係数の演算に用いる呼吸波形データ数に対する、相関係数を計算する2つの画像群に共通するフレーム画像の枚数の割合(%)のうち、予め定められた最小値をいう。最小データ重複率は、たとえば30%である。
重複率についてさらに説明する。評価には周期以上のデータが必要になるため、最も少ないサンプル数で評価を行おうとする場合には、重複率を0%に設定すればよい。これは、ずらす前のサンプル(第1画像群)とずらした後のサンプル(第2画像群)とが間を開けずに連続していることを意味する。第1画像群と第2画像群とが重複せず、それらの間に、1または複数枚のフレーム画像が存在しているような画像群の設定方法は適切ではない。評価しようとしている周期より短い時間のデータしか存在しないことになるからである。
上述した、間隔Sの値を変化させる処理、およびNを大きく設定する処理は、図3Bのパラメータ再設定処理部110cの動作に対応する。
次に、相関係数coef(S)と、予め設定している相関係数閾値coefThとの比較処理をより詳しく説明する。以下の説明における「呼吸数演算処理部110」は、相関係数を求める処理に関しては相関係数演算処理部110a(図3B)の処理に対応し、相関係数と閾値との比較による呼吸周期判定処理に関しては呼吸周期特定処理部110b(図3B)に対応し、パラメータであるSおよび/またはNの調整処理に関してはパラメータ再設定処理部110cに(図3B)に対応する。
図10は、呼吸数を計算する閾値条件を模式的に示す。図10の横軸はずらしたフレーム数Sを示し、縦軸は相関係数値を示す。図10には予め設定されている相関係数閾値coefTh(>0)が示されている。
本実施の形態では、呼吸数演算処理部110は、以下の閾値条件を満たす場合に、相関係数coef(S)が、予め設定している相関係数閾値coefTh以上になったと判断する。すなわち、図10に示すように、呼吸数演算処理部110は、相関係数coef(S)のフレーム数Sを順次大きくしながら順次相関係数を求めてゆく。Sが小さいとき、相関係数は正となる。その後、Sを増加させ初めて相関係数coef(S)が負になってから(S=S1)、次に正に推移し(S=S2)、それから次に負になる(S=S3)までフレーム数Sを大きくする。そして呼吸数演算処理部110は、フレーム数SがS2からS3の間に、相関係数coef(S)が閾値coefTh以上になったとき、閾値条件が満たされたと判断する。
なお、「負」は0未満の数、「正」は0より大きい数を想定している。しかしながら、0を排除する必要は無い。たとえば「負」は0以下の数、「正」は0より大きい数と解釈してもよい。または、「負」は0未満の数、「正」は0以上の数と解釈してもよい。本明細書において、「負(0未満または0以下)」と「正(0以上または0より大きい)」とが列記されているときは、「負」は0未満の数で、かつ「正」は0以上の数、または「負」は0以下の数で、かつ「正」は0より大きい数であることを意味する。
いま、相関係数coef(S)が予め設定している相関係数閾値coefTh以上になっている部分400および402に注目する。上述の閾値条件により、呼吸数演算処理部110は、部分400において得られるフレーム数Sは利用しない。より具体的には、係数部分400は、相関係数閾値coefTh以上になっているものの、上述の相関係数coef(S)が負になり(S=S1)、次に正に推移し(S=S2)、それから次に負になる(S=S3)ことを経ていない。よって部分400で得られるフレーム数Sは利用しない。
一方、呼吸数演算処理部110は、部分402において得られる相関係数値coef(S)が極大値となるフレーム数Sを、1呼吸に要する時間に対応するフレーム数として利用する。
なお、1呼吸に要する時間に対応するフレーム数とするのは、部分402の相関係数値が連続して閾値以上の区間内であればどのフレーム数Sを用いてもよい。例えば、前記区間の中央に当たるフレーム数S、あるいは前記区間の先頭、又は最後のフレーム数としてもよい。また、前記区間内の相関係数値coef(S)が最大となるフレーム数Sとしてもよい。
なお、本明細書内に出てくる相関係数値coef(S)の極大値を取るフレーム数Sは、いずれも注目位置(本実施例での部分402に相当)の連続して閾値以上の区間内であればどのフレーム数を用いてもよい。例えば、前記区間の中央に当たるフレーム数S、あるいは前記区間の先頭、又は最後のフレーム数としてもよい。また、前記区間内の相関係数値coef(S)が最大となるフレーム数Sとしてもよい。
上述の例では、相関係数値の正負が3回反転した上で、相関係数値が相関係数閾値coefTh以上になることを閾値条件として説明した。しかしながら他の閾値条件を採用してもよい。たとえば、図10に示す各フレーム数S1およびS2の前後で、相関係数値の正負が2回反転し、その後に相関係数値が相関係数閾値coefTh以上になった時点で、ずらしたフレーム数S(>S2)を特定してもよい。
なお、上述の閾値条件が満たされない場合には、呼吸数演算処理部110は呼吸数を計算できない。この状態は、呼吸数を取得できない状況であることを意味する。呼吸数演算処理部110はこの期間を無呼吸状態と判定してもよい。
図11は、呼吸数演算処理の例を示す。この処理は、呼吸数演算処理部110によって行われる。
ステップS11において、呼吸数演算処理部110は、第1画像群および第2画像群を抽出する。このときの初期値は予め定められた値(N=N0、S=S0)である。
ステップS12において、呼吸数演算処理部110は、数1に基づいて相関係数coef(S)を算出する。
ステップS13において、呼吸数演算処理部110は、第1画像群および第2画像群の先頭フレーム画像同士の差分(差分フレーム画像数)S、および各画像群を構成するフレーム画像数Nを増加させながら、繰り返し相関係数coef(S)を算出する。このとき、図9に関連して説明したように、呼吸数演算処理部110は、予め定められた最小データ重複率を下回らないよう、パラメータであるSおよびNを調整する。
ステップS14において、呼吸数演算処理部110は、得られた複数の相関係数coef(S)が、閾値条件を満たすか否かを判定する。閾値条件を満たす場合には処理はステップS15に進み、満たさない場合には処理はステップS16に進む。
ステップS15において、呼吸数演算処理部110は、第1画像群および第2画像群との差に対応するフレーム画像数Sから1呼吸に要する時間を算出し、さらに呼吸数を算出する。
ステップS16において、呼吸数演算処理部110は、被験者1は無呼吸状態であると判断し、呼吸数を0とする。
ステップS17において、呼吸数演算処理部110は、得られた呼吸数のデータを呼吸数データバッファ111に格納し、処理を終了する。
上述した処理によれば、相関係数を計算に用いるデータ数は、呼吸周期が長い(周波数が低い)場合には大きくなり、呼吸周期が短い(周波数が高い)場合には、高速にその呼吸周期を特定することができる。これにより、呼吸数が変動した場合でもその変動への追従性が高くなる。
(実施の形態2)
本実施の形態では、実施の形態1における閾値条件と異なる閾値条件を利用する例を説明する。なお、モニタリングシステム100に含まれる各装置の構成は同じである。よって、実施の形態1の説明を援用し、再度の説明は省略する。特に、図11に示すフローチャートでは、ステップS14に示す処理の具体的な内容が変わるだけであり、他の処理は同じである。すなわち、呼吸数演算処理部110の呼吸周期特定処理部110b(図3B)の処理が変わるだけである。
実施の形態1で説明した閾値条件は、1つの相関係数閾値coefThを利用する例であった(図10)。
本実施の形態においては、2つの閾値条件を用いる。具体的には、第1の閾値coefThに加え第2の閾値(−coefTh)を設定する。
図12は、本実施の形態における呼吸数を計算する閾値条件を模式的に示す。図12の横軸はずらした差分フレーム数Sを示し、縦軸は相関係数値を示す。図10には予め設定されている相関係数閾値coefTh(>0)および相関係数閾値−coefTh(<0)が示されている。
呼吸数演算処理部110は、以下の閾値条件を満たす場合に、相関係数coef(S)が、予め設定している相関係数閾値coefTh以上になったと判断し、フレーム画像数Sから1呼吸に要する時間を算出する。具体的に説明する。まず呼吸数演算処理部110は、フレーム数Sを大きくしながら相関係数coef(S)を求めてゆく。そして、初めて相関係数coef(S)が負になってから(S=S11)、相関係数coef(S)が負の状態を保持しながら−coefTh以下になり(S=S12)、次にcoef(S)が正になって(S=S13)から、正の状態を保持しながら相関係数閾値coefTh以上になり(S=S14)、更にその後負になる(S=S15)と、閾値条件が満たされたと判断する。
一方、図13および図14はいずれも、上述の閾値条件が満足されない呼吸波形例を示す。たとえば図13は、相関係数coef(S)が−coefTh以下になっていない。また図14は、図12におけるS=S14に対応する条件が満たされていない。
上述の閾値条件が満たされない場合には、呼吸数演算処理部110は呼吸数を計算できない。この状態は、呼吸数を取得できない状況であることを意味する。呼吸数演算処理部110はこの期間を無呼吸状態と判定してもよい。
以下に、本実施の形態の2つの変形例を説明する。
(実施の形態2の変形例1)
図12を参照する。呼吸数演算処理部110のパラメータ再設定処理部110c(図3B)が、差分フレーム数Sが大きくなるよう変化させ、その変化に同期して相関係数演算処理部110a(図3B)が相関係数coef(S)を求めてゆく。そして、呼吸周期特定処理部110b(図3B)の判定処理により、初めて相関係数coef(S)が負になってから(S=S11)、相関係数coef(S)が負の状態を保持しながら−coefTh以下になり(S=S12)、フレーム数S=S21において相関係数coef(S)の極小値が得られたとする。このとき、呼吸周期特定処理部110b(図3B)は、差分フレーム数Sの大きさが呼吸の半周期であり、そのフレーム数Sを2倍した値が1周期であると推定してもよい。
なお、相関係数coef(S)の極小値が得られるフレーム数Sは、注目位置で相関係数値が連続して閾値以上の区間内(本実施例ではS11〜S13)であればどのフレーム数Sを用いてもよい。例えば、当該区間の中央に当たるフレーム数S、あるいは前記区間の先頭、又は最後のフレーム数を用いてもよい。または、当該区間内の相関係数値coef(S)が最大となるフレーム数Sを用いてもよい。
なお、本明細書で言及する相関係数値coef(S)の極小値を取るフレーム数Sは、いずれも注目位置の連続して閾値以下の区間内であればどのフレーム数を用いてもよい。例えば、前記区間の中央に当たるフレーム数S、あるいは前記区間の先頭、又は最後のフレーム数を用いてもよい。また、前記区間内の相関係数値coef(S)が最小となるフレーム数Sを用いてもよい。
この処理によれば、呼吸の周期性を積極的に利用して1周期に対応する差分フレーム数Sを推定するため、相関係数の演算に用いるデータ数が減り、処理を高速化することが可能となる。
(実施の形態2の変形例2)
図12を参照する。呼吸数演算処理部110のパラメータ再設定処理部110cで差分フレーム数Sが大きくなるよう変化させ、その変化に同期して相関係数演算処理部110aが相関係数coef(S)を求めてゆく。そして、呼吸周期特定処理部110bの判定処理により、初めて相関係数coef(S)が負になってから(S=S11)、相関係数coef(S)が負の状態を保持しながら−coefTh以下になり(S=S12)、相関係数coef(S)の極小値が得られる。呼吸周期特定処理部110bは、この極小値に対応するフレーム数S21を保持しておく。
そしてパラメータ再設定処理部110cが引き続き差分フレーム数Sを大きくしながら、相関係数演算処理部110aが相関係数coef(S)を求める。そして、次にcoef(S)が正になって(S=S13)から、正の状態を保ちながら相関係数閾値coefTh以上になり(S=S14)、その後相関係数coef(S)の極大値が得られる。呼吸周期特定処理部110bは、極小値に対応する差分フレーム数S21が極大値に対応するフレーム数S22の50±10%の範囲内に入っていれば、閾値条件が満足されたと判定する。入っていなければ、そのデータは呼吸数の演算に利用しない。なお、この数値範囲は一例に過ぎない。当該範囲は適宜変更し得る。
この処理によれば、呼吸の周期性を利用して、1周期に対応するフレーム数Sをより高い精度で求めることが可能になる。
(実施の形態3)
本実施の形態では、実施の形態1および2における閾値条件と異なる閾値条件を利用する例を説明する。なお、モニタリングシステム100に含まれる各装置の構成は同じである。よって、実施の形態1の説明を援用し、再度の説明は省略する。特に、図11に示すフローチャートでは、ステップS14に示す処理の具体的な内容が変わるだけであり、他の処理は概ね同じである。主として、呼吸数演算処理部110の呼吸周期特定処理部110bの処理が変わる。
実施の形態2で説明した閾値条件は、2つの相関係数閾値coefThおよび(−coefTh)を利用する例であった(図12)。
本実施の形態においては、4つの相関係数閾値が用いられる。具体的には、第1の相関係数閾値coefTh1、第2の相関係数閾値(−coefTh1)、第3の相関係数閾値coefTh2、第2の相関係数閾値(−coefTh2)を設定する。
図15は、本実施の形態における呼吸数を計算する閾値条件を模式的に示す。図15の横軸はずらしたフレーム数Sを示し、縦軸は相関係数値を示す。図15には予め設定されている相関係数閾値coefTh1(>0)、coefTh2(>0)、−coefTh1(<0)および−coefTh2(<0)が示されている。また、coefTh1>coefTh2であり、−coefTh2>−coefTh1である。これらは、coefTh1および(−coefTh1)を一組(第1組み合わせ)とし、およびcoefTh2および(−coefTh2)を他の一組(第2組み合わせ)として用いられる。
実施の形態1においては、相関係数の値が0.7より大きくなると相関が強いと説明した。続いて、相関係数が0.4から0.7の範囲内にある場合には、相関が中程度に強いと言われる。そこで、相関係数閾値coefTh1を0.7とし、coefTh2を0.6とするが、それぞれ0以上1以下の任意の値を設定すればよい。
相関係数閾値が高いほど、第1画像群および第2画像群との間により強い相関が求められることになる。つまり、相関認定に関しては、第1組み合わせに係る相関係数閾値は、第2組み合わせに係る相関係数閾値よりも厳しい条件であると言える。
呼吸周期特定処理部110bは、以下の閾値条件を満たす場合に、相関係数coef(S)が、予め設定している相関係数閾値coefTh以上になったと判断する。まずパラメータ再設定処理部110cが、フレーム数Sを大きくし、それに同期して相関係数演算処理部110aは相関係数coef(S)を求めてゆく。
閾値条件(a):初めて相関係数coef(S)が負になってから(S=S11)、相関係数coef(S)が負の状態を保持して−coefTh1以下になり(S=S12)、次にcoef(S)が正になって(S=S13)から、正の状態を保持して相関係数閾値coefTh1以上になったとする(S=S14)。このとき、呼吸周期特定処理部110bは、閾値条件を満たすと判断し、フレーム画像数Sから1呼吸に要する時間を算出する。このときの処理は概ね1周期目で完了する。
一方、上述の閾値条件(a)が満たされない場合には、呼吸周期特定処理部110bは次の閾値条件(b)が満たされるか否かを判断する。これは、厳しい閾値条件(a)が満たされない場合であっても、呼吸周期特定処理部110bは無呼吸状態であると判断しないことを意味する。
閾値条件(b):呼吸周期特定処理部110bは、第1組み合わせに係る相関係数閾値を、第2組み合わせに係る相関係数閾値に切り替える。閾値条件(b)は、実施の形態2における相関係数閾値coefThおよび(−coefTh)を、それぞれcoefTh2および(−coefTh2)に読み替えればよい。既に、相関係数閾値coefTh1に関する処理が終わっているため、たとえば呼吸周期特定処理部110bは、フレーム画像数Sを変化させて得られた相関係数値をバッファ112に保持している。それまでに得られている相関係数値、およびさらに閾値条件(b)を満足するか否かを判定するためのデータを追加的に取得すれば、呼吸周期特定処理部110bは、閾値条件(b)が満たされているか否かを判断できる。その結果、閾値条件(b)が満たされているか否かは、概ね1.5周期目で完了する。
さらに、上述の閾値条件(b)が満たされない場合には、呼吸周期特定処理部110bはさらに次の閾値条件(c)が満たされるか否かを判断する。これは、閾値条件(a)よりも緩やかな閾値条件(b)が満たされない場合であっても、呼吸周期特定処理部110bは無呼吸状態であると判断しないことを意味する。
閾値条件(c):呼吸周期特定処理部110bは、第2組み合わせに係る相関係数閾値coefTh1および(−coefTh1)を、相関係数閾値coefTh1のみに切り替える。閾値条件(c)は、実施の形態1における相関係数閾値coefThを、coefTh2に読み替えればよい。つまり、閾値条件(c)では、呼吸周期特定処理部110bは、相関係数閾値(−coefTh)を利用せずに相関係数閾値coefThのみを利用する。
閾値条件(c)の判断に当たっても、パラメータ再設定処理部110cが、フレーム画像数Sを変化させることによってそれまでに得られていた相関係数値を利用できる。既に、相関係数閾値coefTh2に関する処理が終わっており、相関係数値がバッファ112に保持されているからである。その結果、閾値条件(c)が満たされているか否かもまた、概ね1.5周期目で完了する。
なお、上述の閾値条件(a)〜(c)が満足されない場合には、呼吸周期特定処理部110bは呼吸数を計算できない。この状態は、呼吸数を取得できない状況であることを意味する。呼吸周期特定処理部110bはこの期間を無呼吸状態と判定してもよい。
(実施の形態3の変形例)
上述の処理の変形例を説明する。
図15に示すように、呼吸周期特定処理部110bは、S=S20およびS22における極大値間の中間付近に、極小値を与えるS=S21が入っているか否かを判定してもよい。この条件を閾値条件(a)に加重することにより、より厳しい条件を課すことができる。
または、呼吸周期特定処理部110bは、S=S20および/またはS=S22における極大値(>0)と、S=S21における極小値の絶対値とが、所定の範囲(たとえば±10%)内に入っているか否かを判定してもよい。この条件を閾値条件(a)に加重することにより、同様により厳しい条件を課すことができる。
上述の2つの変形例にかかる条件を同時に閾値条件(a)に加重してもよい。
上述した実施の形態2および3(変形例も含む。)では、相関係数閾値として、±coefTh、および、±coefThx(x:1または2)を挙げたが、絶対値が等しいことは必須ではない。たとえば±coefThに代えて、絶対値が異なる2つの正の値および負の値を独立して設定してもよい。
(実施の形態4)
実施の形態1〜3では、呼吸波形(図7)を求め、第1画像群および第2画像群の各フレーム画像の輝度値を利用して相関係数を演算した。
本願発明者らは、最小データ重複率を下回らないよう第1画像群および第2画像群を設定したとしても、外的要因等により、相関係数に好ましくない影響を与える事象が存在し得ることを見出した。
たとえば、ドアの開閉や部屋に差し込む日射量の変化に伴い、第2画像群には光が徐々に増加した影響が含まれ、一方、第1画像群には光が徐々に減少した影響が含まれる場合を考える。図16(a)および(b)はそれぞれ、第2画像群および第1画像群から得られた呼吸波形を示す。
図16(a)に示す呼吸波形には、徐々に大きくなるトレンド500aが重畳されており、図16(b)に示す呼吸波形には、徐々に小さくなるトレンド500bが重畳されている。トレンドは、外乱による影響であると言える。
図16(a)および(b)に示す波形を利用して相関係数を求めると、その値は上述した閾値条件を満たすことが困難であることが容易に推測される。数1に示す相関係数の計算式は、それぞれの波形の平均値からの上下変化を求めているからである。図17(a)および(b)は、各呼吸波形と、その平均値(横方向の実線)とを示す。
呼吸波形にトレンドが重畳されている場合には、呼吸数を迅速に、かつより正確に算出することが困難である。そこで本願発明者らは、トレンドが重畳された場合であっても適切な相関係数を算出するために、相関係数を求める前に呼吸波形からトレンドを除去する対応を検討した。
図18は、本実施の形態による呼吸数計測装置502の機能的な構成を示す。呼吸数計測装置502は、たとえば図3Aにおいて、呼吸数計測装置102に代えて呼吸数モニタリング装置30に設けられ得る。なお、呼吸数計測装置502は、図2に示すハードウェア構成によって実現され得る。また呼吸数計測装置502以外の、呼吸数モニタリング装置30、および呼吸数モニタリング装置30を含むモニタリングシステム100における他の機能および動作は同じである。よって実施の形態1〜3に関する説明を援用し、本実施の形態における再度の説明は省略する。
呼吸数計測装置502と呼吸数計測装置102との相違点は、呼吸数計測装置502には、呼吸波形のトレンドを除去するための新たな構成要素が設けられていることである。具体的には呼吸数計測装置502は、新たな構成要素として、部分波形抽出処理部510と、第1および第2部分波形バッファ512−1および512−2と、近似データ生成処理部514と、第1および第2データバッファ516−1および516−2と、トレンド除去処理部518と、第1および第2呼吸波形データバッファ520−1および520−2とを有している。
まず、これらと、図2の各構成要素との対応関係は以下のとおりである。呼吸数計測装置502の部分波形抽出処理部510、近似データ生成処理部514およびトレンド除去処理部518は、演算回路309(CPU301および/または画像処理回路305)に対応する。第1および第2部分波形バッファ512−1および512−2、第1および第2データバッファ516−1および516−2、第1および第2呼吸波形データバッファ520−1および520−2は、RAM303、またはHDD304に対応する。なお、CPU301および/または画像処理回路305は、キャッシュメモリと呼ばれる記憶装置を内蔵していることが多い。そのようなキャッシュメモリが、上述した各バッファの全部または一部として利用されてもよい。
以下、図19を参照しながら、各構成要素の動作を説明する。
図19は、呼吸数計測装置502によるトレンド除去処理の手順を示すフローチャートである。この処理は、たとえば図4のステップS4およびS5の間に行われる処理である。
ステップS21において、部分波形抽出処理部510は、呼吸波形データバッファ109に格納された呼吸波形データから、第n画像群に対応する第n部分波形データを抽出する(n:1または2、以下同じ)。
ステップS22において、部分波形抽出処理部510は、抽出した第n画像群に対応する第n部分波形データを第n部分波形バッファ512−nに格納する。
ステップS23において、近似データ生成処理部514は、第n部分波形データから一次近似直線の係数を算出する。本実施の形態では、近似データ生成処理部514は、最小二乗法を利用して一次近似直線の係数を算出する。
いま、第n部分波形データに、K個の輝度値が含まれるとする。フレーム画像番号Sと、その値IS(S:1〜Kの整数)を、(S,IS)という座標で表すとする。このとき、K個の輝度値の分布がI(S)=a・S+b に従うと仮定して、以下の数2に示すJを最小化する係数aおよびbを求めればよい。なお加算はS=1からKまでで行われる。
(数2)
J=Σ(IS−I(S))2
このようにして求められた係数aおよびbにより、トレンドである一次近似直線I(S)=a・S+bを特定することができる。なお演算処理を高速化するため、第n部分波形データにK個の輝度値が含まれる場合に、K個全てを利用しなくてもよい。
ステップS24において、近似データ生成処理部514は、第n部分波形から生成した係数aおよびbを第nデータバッファ516−nに格納する。
ステップS25において、トレンド除去処理部518は、第n画像群に対応する呼吸波形データから、一次近似直線を減算する。これにより、第n画像群に対応する、トレンドが除去された第n呼吸波形データが得られる。
ステップS26において、トレンド除去処理部518は、算出した第n呼吸波形データを、第n呼吸波形データバッファ520−nに格納する。
以上の処理により、トレンドが除去された呼吸波形データが得られる。この呼吸波形データを利用して図4に示す処理を行えば、呼吸数を迅速に、かつより正確に算出することができる。
(実施の形態5)
実施の形態1〜4では、呼吸数モニタリング装置の操作者が、入力装置(たとえばマウス20)を利用して呼吸領域を指定するとした(図5)。
本実施の形態では、呼吸領域を認識して、自動的に呼吸領域を設定する呼吸数モニタリング装置を説明する。なお、呼吸領域を自動化する以外の処理は、実施の形態1〜4のいずれかと同じである。以下では、自動的に呼吸領域を設定する処理の詳細を説明する。
図20は、呼吸領域を自動的に取得する呼吸数モニタリング装置31を有するモニタリングシステム101の構成を示す。
図20に示すモニタリングシステム101では、光源50が赤外光51を放射する。光源50の光軸とカメラ10の光軸とは近接して配置されている。被験者1の胸部周辺には、リフレクタ60が設置されている。リフレクタ60は再帰性反射材で構成されており、少なくとも赤外光を再帰反射させる。
再帰性反射材は、入射してきた光を、その入射方向に向けて反射する光学特性を有する。つまり、再帰性反射材に入射する光の入射角と、再帰性反射材によって反射された光の出射角とは等しい。ただしこの性質は理想的であり、実際には入射方向とは異なる方向にも反射され得る。
本実施の形態では、光源50の光軸とカメラ10の光軸とを近接して配置させている。これにより、光源50から放射された赤外光51はリフレクタ60の再帰性反射材で反射され、その多くが赤外光52としてカメラ10に入射する。よって、カメラ10は十分な光量で被験者1を撮影することができる。本実施形態では、再帰性反射材として、ガラスビーズを塗布した布を用いた。
なお、再帰性反射材を利用することにより、再帰性反射材に入射した外乱光53は、反射光54としてその入射してきた方向に反射される。反射光54は実質的にカメラ10に入射しないため、カメラ10によって撮影される動画像は外乱光の影響を受けにくくなる。ただし、外乱光53の中には、カメラ10に直接入射する光、および、リフレクタ60以外で反射されて間接的にカメラ10に入射する光も存在する。したがって、外乱光53の影響を完全に除去することは困難である。
本実施の形態では、カメラ10が十分な光量で撮影を行うために再帰性反射材を利用するが、これは一例である。再帰性反射材を利用することは必須ではない。
図21は、主として、呼吸領域を自動的に取得する呼吸数モニタリング装置31の機能的な構成を示す。
呼吸数モニタリング装置31と呼吸数モニタリング装置30(図3A)との相違点は、呼吸領域指定データ受信I/F104に代えて、呼吸領域を自動的に特定する呼吸領域選択部120を有することにある。呼吸領域選択部120は、演算回路309(CPU301および/または画像処理回路305)に対応する。以下、呼吸領域選択部120の動作を説明する。
図22は、呼吸領域を自動的に取得する処理に関する呼吸数モニタリング装置30の処理手順を示すフローチャートである。
ステップS31において、呼吸領域選択部120は、フレーム画像データバッファ106に格納された複数のフレーム画像のデータを読み出し、各フレーム画像を複数の小領域に分割する。複数の小領域は、図5においてメッシュ状に区画された領域を意味する。個々の小領域は、たとえば横64画素、縦64画素の大きさを有する。なお「分割する」とは、実際の動作として分割する必要はない。たとえば画像を切り出す単位または処理を行う単位として部分領域のサイズを設定する、という動作も、ここで言う「分割する」動作に含まれ得る。
ステップS32において、呼吸領域選択部120は、各小領域の輝度値に基づいて、再帰性反射材が存在する領域、および生体反応による体動箇所を含む領域を特定する。
以下、図23(a)〜23(c)を参照しながらより詳細に説明する。
図23(a)および(b)は、異なる時刻に撮影された2枚のフレーム画像における部分領域Qの例を示す。図23(a)および(b)に示す領域Rは、リフレクタからの反射光が検出されている高輝度領域であるとする。呼吸に伴う体動により、部分領域Qが、高輝度領域になったりならなかったりする。
図23(c)は、このときの部分領域Qの輝度値の変化を示す。複数のフレーム画像にわたって時系列的に部分領域Qの輝度を観測すると、ある閾値Tを超えるフレーム画像群と、超えないフレーム画像群とが交互に存在する。画像処理回路305は、このような変化が現れる部分領域群を、複数のフレーム画像を利用して特定する。なお部分領域群を特定する理由は、本実施の形態では、輝度値の差分を演算するために必要だからである。
リフレクタ60が存在する部分領域は、各フレーム画像内で特定され得る。一方、体動箇所を含む部分領域は、複数のフレーム画像にわたって、すなわち複数のフレーム画像間で特定され得る。
リフレクタが存在する部分領域は以下の処理によって特定される。たとえば、呼吸領域選択部120は、リフレクタが存在する場合に観測される小領域の輝度値の情報を、予めROM302に保持している。この情報を輝度値の閾値として利用し、閾値以上の輝度値を有する部分領域を、リフレクタが存在する部分領域として特定する。
このときの輝度値は、小領域に含まれる各画素の輝度値の和であってもよいし、平均値であってもよい。輝度値の和および平均値のいずれを採用するかに応じて、閾値もまた変化し得る。平均値を算出する演算処理よりも和を算出する演算処理の方が、計算負荷が小さく高速化が可能であるため、本実施の形態では小領域に含まれる各画素の輝度値の和であるとする。
一方、体動箇所を含む小領域は以下の処理によって特定される。上述のように、リフレクタからの反射光が観測される領域は、生体反応(呼吸)による体動により変動する。各フレーム画像に関して、ある共通の座標位置に存在する小領域Qに着目する。図23(a)および(b)は、より一般的な例として、異なる時刻に撮影された2枚のフレーム画像における小領域Qの例を示す。図23(a)および(b)に示す領域Rは、リフレクタからの反射光が検出されている高輝度領域であるとする。呼吸に伴う体動により、小領域Qが、高輝度領域になったりならなかったりする。
図23(c)は、このときの小領域Qの輝度値の変化を示す。複数のフレーム画像にわたって時系列的に小領域Qの輝度を観測すると、ある閾値Tを超えるフレーム画像群と、超えないフレーム画像群とが交互に存在する。呼吸領域選択部120は、このような変化が現れる小領域群を、複数のフレーム画像を利用して特定する。なお小領域群を特定する理由は、本実施の形態では、輝度値の差分を演算するために必要だからである。
以上の処理により、体動箇所を含む小領域Qを特定することができる。以後、呼吸数モニタリング装置31が行う処理は、実施の形態1における呼吸数モニタリング装置30が、呼吸領域指定データ受信I/F104を介して呼吸領域が指定された後に行う処理と同じである。
以上、実施の形態を説明した。上述の実施の形態1〜5では、呼吸数モニタリング装置がカメラ10から逐次送信されてくる動画像の信号を受信して処理することを想定していた。しかしながら、呼吸数モニタリング装置は、必ずしもリアルタイムで動画像の信号を受信する必要はない。
図24は、動画像がハードディスクドライブ(HDD)に保存され、そのHDDから呼吸数モニタリング装置30が画像データを取得するモニタリングシステム100の構成を示す。動画像のデータをHDDに一旦保存し、呼吸数モニタリング装置30が必要な動画像の情報をHDDから読み出して処理を行うことも可能である。
上述の実施形態においては、呼吸数とは、一定期間内に被験者1が現実に行った呼吸の回数を意味するとした。ただしこれは一例である。他の例として、一定期間中に被験者1が現実に行った呼吸の回数を計測し、その呼吸の回数から推測される、被験者1の1分あたりの呼吸の回数であってもよい。たとえば10秒間で被験者1が3回の呼吸をしたと計測された場合に、呼吸数モニタリング装置30は呼吸数を18回/分として出力してもよい。3回の呼吸の計測において、上述した各実施の形態の処理が行われればよい。
上述の実施の形態では、人である被験者の呼吸数をモニタリングする例を説明した。しかしながら、呼吸によって体動が生じる限り、上述の各実施の形態は任意の動物の呼吸数をモニタリングするために利用することが可能である。たとえば、各実施の形態は、犬、猫などのペット動物、豚、マウスなどの実験動物の呼吸数をモニタリングする際に適用可能である。本明細書では、呼吸のモニタリングを行う対象として、人および人以外の動物を総称して「被験体」と呼ぶことがある。
本明細書では、相関係数が相関係数閾値以上であるか否かに基づいて、呼吸周期を特定できたか否かを判定した。しかしながら境界値を含めるかどうかは厳密ではなく、適宜選択することができる。たとえば「ある値以下」を「ある値未満」と読み替えてもよい。「ある値以上」を「ある値より大きい」と読み替えてもよい。よって、相関係数が相関係数閾値より大きいか否かに基づいて、呼吸周期を特定できるか否かを判定してもよい。
本明細書は、以下の項目に記載の呼吸モニタリング装置、呼吸数計測装置、呼吸数計測方法およびコンピュータプログラムを開示している。
[項目1]
呼吸する被験体が撮影された動画像の特定フレーム画像から起算して連続するN(N:2以上の整数)枚のフレーム画像で構成された第1画像群のデータを取得する第1画像群取得処理部と、
前記特定フレーム画像からS(S:1以上の整数)枚だけ過去のフレーム画像から起算して、連続するN枚のフレーム画像で構成された第2画像群のデータを取得する第2画像群取得処理部と、
前記第1画像群の各フレーム画像の画像特徴量を算出し、当該画像特徴量の集合である第1画像特徴量群を作成する第1画像特徴量群作成処理部と、
前記第2画像群の各フレーム画像の画像特徴量を算出し、当該画像特徴量の集合である第2画像特徴量群を作成する第2画像特徴量群作成処理部と、
前記第1画像特徴量群と前記第2画像特徴量群との相関係数を計算する相関係数演算処理部と、
前記第1画像群と前記第2画像群との差であるフレーム画像の枚数Sと前記相関係数の関係により、呼吸周期の特定を試みる呼吸周期特定処理部と、
前記呼吸周期特定判定処理部で呼吸周期が特定できない場合、前記フレーム枚数Sを再設定するパラメータ再設定処理部と
を備えた呼吸数モニタリング装置。
[項目2]
前記フレーム画像中の、一部の領域を指定する領域指定情報を受け取るインタフェースをさらに備え、
前記第1画像特徴量群作成処理部は、前記一部の領域の画像特徴量を算出して前記第1画像特徴量群を作成し、
前記第2画像特徴量群作成処理部は、前記一部の領域の画像特徴量を算出して前記第2画像特徴量群を作成する、項目1に記載の呼吸数モニタリング装置。
[項目3]
前記パラメータ再設定処理部は、前記N枚のフレーム画像より多くならないように前記S枚のフレーム画像を設定する、項目1または2に記載の呼吸数モニタリング装置。
[項目4]
前記パラメータ再設定処理部は、前記N枚のフレーム画像より多くならないように前記S枚のフレーム画像及び前記N枚のフレーム画像を設定する、項目1または2に記載の呼吸数モニタリング装置。
[項目5]
前記呼吸周期特定処理部は、前記相関係数が予め定められた閾値よりも大きい、または閾値以上である場合に、前記S枚のフレーム画像に対応する期間を呼吸周期として特定する、項目1から4のいずれかに記載の呼吸数モニタリング装置。
[項目6]
前記パラメータ再設定処理部は、前記特定フレーム枚数SをK(K:1以上の整数)枚増加させる、項目1から5のいずれかに記載の呼吸数モニタリング装置。
[項目7]
前記パラメータ再設定処理部は、前記第1画像群と前記第2画像群に共通して含まれるフレーム画像の割合を、予め定めた最小データ重複率よりも大きい、または以上に保持しながら、前記Nの値を等しく増加させる、項目1から6のいずれかに記載の呼吸数モニタリング装置。
[項目8]
前記呼吸周期特定処理部は、前記第1画像群と前記第2画像群との差であるフレーム画像の枚数Sの増加に伴い、前記相関係数が負、正および負に順次推移したときにおいて、正の値が前記予め定められた閾値よりも大きい、または閾値以上であるときは、前記S枚のフレーム画像に対応する時間を前記被験体の呼吸の周期として特定する、項目1から7のいずれかに記載の呼吸数モニタリング装置。
[項目9]
前記呼吸周期特定処理部は、前記第1画像群と前記第2画像群との差であるフレーム画像の枚数Sの増加に伴い、前記相関係数が負、正および負に順次推移したときにおいて、最初の負の値が第1閾値よりも小さい、または以下であり、正の値が前記予め定められた閾値よりも大きい、または閾値以上であるときは、前記S枚のフレーム画像に対応する時間を前記被験体の呼吸の周期として特定する、項目1から7のいずれかに記載の呼吸数モニタリング装置。
[項目10]
前記画像特徴量は、画素値に基づいた値である、項目1から9のいずれかに記載の呼吸数モニタリング装置。
[項目11]
前記画像特徴量は、輝度値に基づいた値である、項目1から10のいずれかに記載の呼吸数モニタリング装置。
[項目12]
前記第1画像群の画像特徴量および前記第2画像群の画像特徴量に最小二乗法を適用することにより、前記呼吸波形に重畳されている外乱であるトレンドの一次近似直線を求める近似データ生成処理部と、
前記呼吸波形から前記一次近似直線を減算することにより、前記呼吸波形から前記トレンドを除去するトレンド除去処理部と
をさらに備えた、項目1から11のいずれかに記載の呼吸数モニタリング装置。
[項目13]
呼吸する被験体が撮影された動画像の特定フレーム画像から起算して連続するN(N:2以上の整数)枚のフレーム画像で構成された第1画像群のデータを取得する第1取得ステップと、
前記特定フレーム画像からS(S:1以上の整数)枚だけ過去のフレーム画像から起算して、連続するN枚のフレーム画像で構成された第2画像群のデータを取得する第2取得ステップと、
前記第1画像群の各フレーム画像の画像特徴量を算出し、当該画像特徴量の集合である第1画像特徴量群を作成する第1作成ステップと、
前記第2画像群の各フレーム画像の画像特徴量を算出し、当該画像特徴量の集合である第2画像特徴量群を作成する第2作成ステップと、
前記第1画像特徴量群と前記第2画像特徴量群との相関係数を計算するステップと、
前記第1画像群と前記第2画像群との差であるフレーム画像の枚数Sと前記相関係数の関係により、呼吸周期の特定を試みるステップと、
前記呼吸周期が特定できない場合、前記フレーム枚数Sを再設定するステップと
を包含する、呼吸数のモニタリング方法。
[項目14]
コンピュータによって実行されるコンピュータプログラムであって、前記コンピュータプログラムは、前記コンピュータに対し、
呼吸する被験体が撮影された動画像の特定フレーム画像から起算して連続するN(N:2以上の整数)枚のフレーム画像で構成された第1画像群のデータを取得する第1取得ステップと、
前記特定フレーム画像からS(S:1以上の整数)枚だけ過去のフレーム画像から起算して、連続するN枚のフレーム画像で構成された第2画像群のデータを取得する第2取得ステップと、
前記第1画像群の各フレーム画像の画像特徴量を算出し、当該画像特徴量の集合である第1画像特徴量群を作成する第1作成ステップと、
前記第2画像群の各フレーム画像の画像特徴量を算出し、当該画像特徴量の集合である第2画像特徴量群を作成する第2作成ステップと、
前記第1画像特徴量群と前記第2画像特徴量群との相関係数を計算するステップと、
前記第1画像群と前記第2画像群との差であるフレーム画像の枚数Sと前記相関係数の関係により、呼吸周期の特定を試みるステップと、
前記呼吸周期が特定できない場合、前記フレーム枚数Sを再設定するステップと
を実行させる、コンピュータプログラム。
[項目15]
項目14に記載のコンピュータプログラムを格納した記録媒体。