要約
生体細胞や生体組織にとって、酸素が十分に供給されるのは極めて重要なことです。その供給度合いの指標としては、血中酸素飽和度(SpO2)が使われます。SpO2 の測定には、数十年にわたりパルス・オキシメトリという手法が使われてきました。パルス・オキシメトリは、人の健康を維持する上で不可欠な生理学的なモニタリング手法だと言えるでしょう。アナログ・デバイセズは、ウェアラブル機器によって SpO2 を正確に測定できるようにするために、アルゴリズムを最適化した高感度の光学センサーを提供しています。代表的な製品としては、生体センサー・ハブ IC「MAX32664」が挙げられます。本稿では、まず光電式容積脈波記録法(PPG:Photoplethysmography)による SpO2の測定方法について説明します。その上で、アナログ・デバイセズが提供するアルゴリズムのキャリブレーション方法について解説します。具体的には、キャリブレーション用の係数を算出する方法の詳細を示します。このキャリブレーションの工程は、アナログ・デバイセズのセンサーを様々な光学シールドやフォーム・ファクタと組み合わせて使用する際、アルゴリズムの精度を高めるために必須のものとなります。更に、LOOCV(Leave-one-out Cross-validation:1 個抜き交差検証)によって、アルゴリズムの性能を評価する例を示します。このような評価を行えば、医療分野で求められる精度が得られるか否かを確認することができます。
はじめに
パルス・オキシメトリは、血中の SpO2を測定する手法です。SpO2は、数十年にわたって健康状態を表す重要な指標として使われてきました。パルス・オキシメトリに関する最初の学術的な開発は 1935 年に行われました。現在、SpO2 の測定は光源と光センサーを使用して実施されます。その基本原理は、1972 年に青柳卓雄氏と岸道男氏によって考案されました。商用レベルで実現された SpO2 の測定機器は、医療分野において大きな成果を上げてきました。1987 年以降、全身麻酔を受けた人を管理するための標準治療(SoC:Standard of Care)には、パルス・オキシメトリが含まれるようになりました。若干の変更は加えられていますが、現在の病院でベッドの側に配備されている機器には、青柳氏らの原理に基づく SpO2の測定モジュールが実装されています。
しかし、上述したタイプの機器は大型かつ高価です。したがって、その利用場所は病院、診療所、一部の医院に限られます。一方で、SpO2 は健康状態を表す重要な指標です。個人のレベルでも、その値を追跡したいと考える人は少なくありません。そうした人が SpO2 を手軽に測定できるようにするにはどうすればよいでしょうか。そのためには、身体に快適に装着できるよう小型化、軽量化が図られた機器が必要です。もちろん、一般消費者が購入できるレベルまで価格も下げなければなりません。
アナログ・デバイセズは、手首に装着するヘルス・バンドや指に装着するパルス・オキシメトリ機器向けの製品群を提供しています。それらの製品は、各機器にドロップイン・モジュールとして適用して機能させることができます。本稿では、まずパルス・オキシメトリの原理について説明します。その上で、当社のソリューションを様々なウェアラブル機器に組み込む際に必要となる事柄について解説を加えます。具体的には、一般的な設計例とキャリブレーションの工程について詳述します。
SpO2の測定原理
まずは SpO2の測定原理の解説から始めます。
SpO2とは何か?
赤血球に含まれる酸素は、ヘモグロビン(Hb)というタンパク質によって運ばれます。Hb は、血液中では主に 2 つの形態で存在しています。1 つは酸素化ヘモグロビン(オキシヘモグロビン:HbO2)、もう 1 つは脱酸素化ヘモグロビン(デオキシヘモグロビン:RHb)です。
SpO2は、末梢毛細血管の酸素飽和度を表します。毛細血管血中の酸素量の推定値が SpO2として扱われます。SpO2 は、ヘモグロビンの総量に対するオキシヘモグロビンの量の割合として表されます。すなわち、次式によって算出されます。
ここで、C[HbO2]と C[RHb]は、それぞれ HbO2と RHb の濃度です。
ランベルト・ベールの法則
光が物質を透過する際には、その物質の特性に応じて光の減衰が生じます。この現象は、ランベルト・ベールの法則として以下の式で表すことができます。
この式は、以下のように書き直すことも可能です。
ここで、A は減衰量、I0 は入射光の強度、I は受光強度、ε(λ)はモル吸光係数、C は物質の濃度、d は光路長です。
組織の分子化合物について考えると、ランベルト・ベールの法則は次のように拡張することができます。
このランベルト・ベールの法則に基づき、HbO2 と RHb のモル吸光係数を使用することで、SpO2 の値を測定することができます。
パルス・オキシメトリ
パルス・オキシメトリは、SpO2の非侵襲的な測定に使用される手法です。この手法は、2つの事柄に基づいて成り立っています。1 つは、拍動性動脈血に吸収されることによる透過光の変調です。もう 1 つは、異なる波長に対する HbO2と RHb の吸収特性の違いです。
パルス・オキシメトリは、透過式と反射式の 2 つに分類することができます。それぞれの概要は以下のようなものになります。
- 透過式パルス・オキシメトリ:この手法では、人体(指など)を挟む形でフォトダイオードとLED を配置します。光の一部は身体の組織によって吸収されます。身体を透過した残りの光をフォトダイオードによって検出します。
- 反射式パルス・オキシメトリ:この手法では、フォトダイオードと LED を身体の同じ側に配置します。フォトダイオードは、皮下の様々な深さからの反射光を検出します。アナログ・デバイセズが提供する SpO2 の測定用ソリューションは、この反射式パルス・オキシメトリの手法に対応しています。
図 1 は、拍動性動脈血、その他の血液、組織の構成要素について説明したものです。
図 1. 拍動性動脈血、その他の血液、組織の構成要素
拍動性動脈血は、組織を透過してきた入射光を吸収すると共に、入射光に変調を生じさせます。その結果、PPG(光電脈波)信号が生じます(図 2)。PPG 信号の AC 成分は、拍動性動脈血で吸収された光を表します。この AC 成分は、他の血液や組織の構成要素(静脈血や毛細血管血、骨、水など)で吸収された光の影響を表す DC 信号に重畳されています。その DC レベルに対する AC 信号の比率を潅流指数(PI:Perfusion Index)と呼びます。
なお、受信した PPG 信号の DC 成分と AC 成分は、LED の波長に応じて異なります。その波長に対する HbO2、RHb、その他の組織の構成要素の吸光特性が異なるからです(図 2)。
図 2. PPG 信号の例。赤色 LED と赤外線 LED からの光をフォトダイオードで検出しました。
図 3 に、HbO2 と RHb のモル吸光係数と光の波長の関係を示しました。SpO2 の測定には、波長の異なる 2 種類の LED が必要になります。波長については、HbO2 と RHb のモル吸光係数に十分な差がある2 種類を選択しなければなりません。一般に、パルス・オキシメトリでは波長が 660nm の赤色 LED と同 880nm の赤外線 LED が使用されます。
図 3. HbO2と RHb のモル吸光係数と光の波長の関係
パルス・オキシメトリと SpO2 を非侵襲で測定する方法の詳細については、稿末に示した参考資料 1 をご覧ください。
光学設計のガイド
アナログ・デバイセズは、お客様向けに以下に示す 2 種類の光学設計ガイドを提供しています。
- モジュール・レベルの設計ガイド:アプリケーション・ノート 68473、「Guidelines for the Opto-Mechanical Integration of Heart Rate Monitors in Wearable Earbud Devices(イヤフォン型のウェアラブル機器に心拍数モニタを光学的/機械的に統合する)」
- コンポーネント・レベルの設計ガイド:アプリケーション・ノート68464、「Guidelines for the Opto-Mechanical Integration of Heart-Rate Monitors in Wearable Wrist Devices(手首装着型のウェアラブル機器に心拍数モニタを光学的/機械的に統合する)」
SpO2の測定に使用するアルゴリズムのキャリブレーション
SpO2の測定値は、次の式を使うことによって得ることができます。
ここで、R の値は次の式で決まります。
また、a、b、c はキャリブレーション用の係数です。以下、これらの係数の値を求める方法について説明していきます。
なお、いったんセッションが開始された後は、デバイスは HNP を使用できる場合とできない場合があります。
キャリブレーションが必要な理由
SpO2 の測定機器を開発したら、発売前に性能を検証する必要があります。米 FDA(Food and Drug Administration)は、以下に示す規格に従うことを推奨しています。
- ISO 80601-2-61: 2017(医用電気機器 -- 第 2-61 部:パルス・オキシメータの基礎安全及び基本性能に関する個別要求事項)
- Pulse Oximeters - Premarket Notification Submissions [510(k)s]: Guidance for Industry and Food and Drug Administration Staff(パルス・オキシメータ -- 市販前通知提出 [510(k)]:業界および食品医薬品局職員向けのガイダンス)
これらの規格によれば、SpO2 の測定機器を製造するメーカーは、キャリブレーションの範囲、リファレンス、精度、キャリブレーション方法、SpO2 の表示範囲を申告しなければなりません。また、性能評価について、FDA は SpO2 の値が 70%~100%の範囲にわたり、少なくとも 200 のデータ・ポイントを等間隔で取得することを求めています。加えて、被験者の年齢、性別、肌の色は様々でなければなりません。例えば、FDA は、被験者のうち少なくとも 30%は肌の色が濃い人であることを求めています。総合誤差または 2 乗平均平方根誤差(RMSE:Root Mean Square Error)は、透過式パルス・オキシメトリでは 3.0%未満、反射式パルス・オキシメトリでは 3.5%未満に抑えなければなりません。
一般消費者向けに提供される SpO2 の測定機器は、指や手首を対象として使用されます。指を対象とした機能は、様々な携帯電話機に実装されています。一方、手首を対象としたものは腕時計型の機器として提供されています。アナログ・デバイセズのハードウェアとアルゴリズムを使用すれば、それら両方において FDA が求めるグレードの測定性能を達成できます。但し、FDA は、SpO2 の測定性能の分析は、センサー単体ではなく、システム全体を対象として実施する必要があるとしています。したがって、お客様は、アナログ・デバイセズ製のセンサーの前面に光学シールドを設置した状態で、最終製品における SpO2の測定性能を確認する必要があります。それにより、FDA のグレードに達しているか否かを検証しなければなりません。実際、FDA の規制に従うのは重要なことです。ただ、それだけでは十分ではありません。
先ほど、SpO2と R の理論的な関係を表す式を示しました。その式に注目するだけでは、SpO2の測定精度として必要なレベルを達成することはできません。なぜなら、パルス・オキシメトリの性能を表す式は理想的な状態を仮定として用いているからです。実際には、ハードウェアの様々な光学特性(光学シールドや LED の広範な光スペクトルなど)による影響が生じます。図 4 に、理論的な R 曲線とキャリブレーション後の R 曲線の例を示しました。この図から、理論的な R 曲線を使用したのでは、現実のシステムにおいて正確な SpO2 の測定値は得られないことがわかります。
図 4. 理論的な R 曲線とキャリブレーション後の R 曲線の例。各携帯電話機はすべて同じセンサーを使用しています。しかし、光学シールドに違いがあるため、R 曲線に差が生じています。
また、図 4 には、センサーの前面のカバー・シールドの影響も現れています。いずれの携帯電話機も同じセンサーを使用していますが、キャリブレーション後の R 曲線には差があります。逆説的になりますが、このことからキャリブレーションの工程が必要になることがわかります。つまり、ランベルト・ベールの法則からのずれとハードウェアの理想からのずれを補正しなければなりません。具体的には、測定精度を向上させることが可能なキャリブレーション係数を取得する必要があります。それらの係数は、校正に関する第三者機関で包括的なデータを収集した後に取得することになります。
校正機関では、適切な管理下にある方法を用いて被験者の SpO2 のレベルを変化させます。その状態で、被験者の PPG 信号を測定して記録します。データの収集中には、被験者がガス・マスクを使用した状態で SpO2 のレベルを制御します。具体的には、ガス・マスクによって、被験者の酸素のレベルを SpO2が 100%から 70%まで下がるように変化させます。つまり、血液中の酸素含量を段階的に低下させます。FDA の規則に従って十分なデータを収集したら、記録済みの PPG 信号を基にして R の値を求めます。次に、図 5 に示すようにして 2 次(または 1 次)のライン・フィッティングを行います。それにより、SpO2の測定アルゴリズムで使用するキャリブレーション係数 a、b、c を求めます。
図 5. 校正機関で収集したデータに基づく R 曲線。各色は異なる被験者に対応しています。
アナログ・デバイセズのアルゴリズムは R の値を出力します。上述した以外に、記録した PPG 信号を基にして R の値を求めるための作業を行う必要はありません。対応するリファレンスの SpO2 の値によって R の値を求められたら、キャリブレーション係数は簡単に算出できます。
データ収集の手順
- 様々な年齢、性別、肌の色の健康な被験者を集めます。被験者の多様性が高いほど、アルゴリズムの精度を向上させることができます。キャリブレーションに向けては、20 種類の被験者を集めることをお勧めします。
- 各被験者に対して手順の詳細を説明します。
- 被験者にアナログ・デバイセズ製のセンサーを装着します。その際には、センサーが適切に装着されていることを確認してください。例えば、センサーが腕時計型の機器の内部に実装されている場合には、肌に密着させる必要があります。きつすぎても緩すぎても良好な結果は得られません。
- データを収集する際、被験者には長椅子に横たわってもらいます。被験者がリラックスできていることを確認してください。
- センサーを装着したのと同じ手の人差し指または中指に、リファレンス機器の指クリップを 取り付けます。
- 被験者にガス・マスクを装着してもらいます。被験者が苦痛を感じていないことを確認してください。
- データを記録する前に、被験者の PPG 信号の品質についての検証を行います。被験者の PPG 信号のパルスを明確に観測できることを確認してください。確認できない場合には、腕時計型の機器のベルトを締めたり、緩めたり、位置を変えたりすると共に、アプリケーションの再起動を行ってください。赤色光と赤外光の両方に対応する明確な PPG 信号が得られるようになるまで調整を続けます。
- 赤色光と赤外光の PPG 信号の DC レベルを確認します。DC レベルは、アナログ・デバイセズのセンサーを実装した手首用の機器では 300K を超えているはずです。一方、アナログ・デバイセズのセンサーを実装した指先用の機器では 150K を超えていなければなりません。これらの値が満たされていない場合には、DC レベルが適切なレベルを超えるまで、装着用のベルト/クリップを締めたり、緩めたり、位置を変えたりしてアプリケーションを再起動します。
- データを記録する前に、被験者には酸素の豊富な混合気を吸引してもらいます。それにより、SpO2のレベルが 100%になるようにします。
- アナログ・デバイセズのアプリケーションをキャリブレーション・モードで使用し、R の値とリファレンス機器による SpO2の測定値の記録を開始します。値の記録は、手順がすべて終了するまで続けてください。
- SpO2 が 100%のレベルから開始したら、被験者に酸素含有量の少ない混合気を吸ってもらい、SpO2の値を徐々に低下させていきます。具体的には 5%刻みで 70%まで低下するまで酸素の量を制限します。SpO2が5%刻みの各値に達したら、その状態を少なくとも30秒間維持します。
- SpO2 が 70%に達したら、被験者に酸素の豊富な混合気を吸ってもらいます。それにより、SpO2のレベルを 100%まで増加させます。
- ステップ 11 とステップ 12 をもう一度繰り返します。
- データ収集の手順を終了する際には、データの記録を停止し、ログ・ファイルを保存します。そのファイル名には日付と被験者の情報(氏名や固有の ID 番号など)を盛り込んでください。その上で、被験者から機器を取り外します。
図 6. 校正機関でデータを収集している様子
図 7. 被験者の手元の様子。腕時計型の機器にはアナログ・デバイセズのセンサーが実装されています。 人差し指と中指には 2 つのリファレンス機器の指クリップを装着しています。
収集したデータからキャリブレーション係数を導出する
続いて、収集したデータを基にキャリブレーション係数を導出する手順を説明します。その詳細は以下のようになります。
- アプリケーションは、R の値を毎秒ファイルに記録します。ここで、R の値とリファレンス機器で測定した SpO2の値のアライメントを実施します。そのためには、リファレンス機器から出力される SpO2の値(以下、リファレンスの SpO2の値)を 1 サンプル/秒のレートにアップサンプリングまたはダウンサンプリングします。
- 記録した R の値とリファレンスの SpO2の値が、図 8 に示すように正しくアライメントされていることを確認してください。R の値とリファレンスの SpO2 の値は、負の相関関係を持っているはずです。
- データの収集中に、SpO2のレベルは大きなステップ(約 4%~6%)で変化します。ただ、被験者の SpO2 の測定値は、そのレベルにすぐに到達するとは限りません。SpO2 の各レベル間の過渡応答が原因で、キャリブレーションの工程における判断に誤りが生じる可能性があります。より適切なキャリブレーションを実施するためには、リファレンスの SpO2の値に、一定のレベルで安定する平坦部が検出されるようにします(図 9)。
- リファレンスの SpO2の値に現れる平坦部にはいくつかのデータ・ポイントが含まれます。それらを対象とし、R の値とそれに対応する SpO2の値を収集します(図 10)。
- 全被験者を対象とし、リファレンスの SpO2 の値に対応する R の値の散布図を作成します(図11)。各色は、異なる被験者に対応しています。
- SpO2 のキャリブレーション係数を求める前に、キャリブレーション用のデータセットの中から外れ値のポイントを除去します。そのためには、以下のステップを実行します。
- SpO2が 100%の場合に対応する R の値を見いだします。
- a で取得した R の値の平均値(μ)と標準偏差(σ)を求めます。
- μ±2σ の範囲外のポイントを排除します。
- SpO2の各レベル(つまり、100%、99%、98%、……、70%)についてステップ a~c を繰り返します。
- データの収集中に、SpO2のレベルは大きなステップ(約 4%~6%)で変化します。ただ、被験者の SpO2 の測定値は、そのレベルにすぐに到達するとは限りません。SpO2 の各レベル間の過渡応答が原因で、キャリブレーションの工程における判断に誤りが生じる可能性があります。より適切なキャリブレーションを実施するためには、リファレンスの SpO2の値に、一定のレベルで安定する平坦部が検出されるようにします(図 9)。
- 回帰法を使用して、収集したデータに対して 2 次(または 1 次)のライン・フィッティングを適用します。図 12 の青色の実線は、外れ値を除去した後の検量線(キャリブレーション・カーブ)です。
- 必要なキャリブレーション係数 a、b、c を出力します。それらの係数を使用し、アナログ・デバイセズのアルゴリズムによって SpO2の測定を行います。つまり、次式を使用して値を求めます。
図 8. 出力された R の値とリファレンスの SpO2の値
図 9. リファレンスの SpO2の値に現れる平坦部
図 10. リファレンスの SpO2の値に現れる平坦部とそれに対応する R の値
図 11. 外れ値を除去する前のリファレンスの SpO2の値。校正機関で収集したデータを使って計算した R の値に対応しています。
図 12. リファレンスの SpO2の値の中で見つかった外れ値。校正機関で収集したデータを使って計算した R の値に対応しています。
表 1 に示したのは、「MAX30101」と「MAX86140/MAX86141」用のデフォルトの係数です。
センサー | 光学シールドがない場合のデフォルトのキャリブレーション係数 | ||
a | b | c | |
MAX30101 | 1.5958422 | −34.6596622 | 112.6898759 |
MAX86140/MAX86141 (フォトダイオードと LED の間の距離が特定の値である場合に対応) | −16.666666 | 8.333333 | 100 |
LOOCV によるアルゴリズムの評価
最後に、LOOCV によってアルゴリズムの性能を評価する手順を紹介します。
- キャリブレーションを実施後の R 曲線(またはキャリブレーション係数)のテスト・セットについて、キャリブレーション・セットの中から 1 人の被験者を除外します。
- 「収集したデータからキャリブレーション係数を導出する」のセクションで説明した手順を繰り返し、キャリブレーション係数を求めます。
- 得られたキャリブレーション係数をアルゴリズムにインポートします。
- 図 10 に示したように、SpO2 の安定な平坦部だけを対象とし、除外した被験者に対して、記録した R の値を使用して SpO2の値を推定します。
- 推定した SpO2の値と記録したリファレンスの SpO2の値を使用し、次式のようにして RMSE を計算します。
- 各被験者に対してステップ 1~5 を繰り返します。
- 次式に示すように、アルゴリズムのトータルの RMSE を計算します。
- トータルの RMSE が 3.5%未満である場合、最終製品では全データセットで得られたキャリブレーション係数を使用します。そうでない場合には、ノイズの多いデータや外れ値を排除してキャリブレーションをやり直すことをお勧めします。
校正機関で取得した SpO2に基づくキャリブレーション係数の使用
3 つのキャリブレーション係数が得られたら、初期化のプロセスを行う際、I2C インターフェースを介してそれらを「MAX32664」にロードします。コマンドのリストと初期化用の命令の詳細については、MAX32664 のユーザ・ガイド 2と各デバイスに関連するアプリケーション・ノートをご覧ください。
{{modalTitle}}
{{modalDescription}}
{{dropdownTitle}}
- {{defaultSelectedText}} {{#each projectNames}}
- {{name}} {{/each}} {{#if newProjectText}}
-
{{newProjectText}}
{{/if}}
{{newProjectTitle}}
{{projectNameErrorText}}