心拍数と血行評価装置

2024年技術ブログ集

その1 カメラ動画からの血流情報について 

以前、カルテコアプリの調査 https://twinkletec.org/2024/02/01/carteco-healthcare/ で、USBカメラで手のひら動画からRGBのG成分を抽出して フィルター処理した心拍ピークから心拍数を測定する方法について報告しました。今回は、更に機能を拡張して血流状態の面内分布を求め血行の良し悪しを評価するシステムを検討しました。

血流情報として心拍に同期したヘモグロビン量の変化が、G成分の変化として現れます各画素単位でG成分の最大値と最小値の差を抽出します。元画像はVGA(640×480)で処理が重いため10×10を単位セルとして64×48の最大値-最小値を求めました。

前処理をした画像データを読み込み、画素単位で血流(ヘモグロビン)変化を抽出します。血行分布を表示するプログラムコードを示します。

手のひら全体領域でG成分の最大値を示した画像とG成分の最小値を示した画像を示しました。RGB画像では変化は判りませんが、画素間で2つの画像のG成分差をマップにしました。白色が平均値に近い画素で、赤色が平均値より大きい画素、青色が平均値より小さい画素を示しました。

カルテコアプリの追試システム(NQ02)は、手のひらの画像と心拍洞調律を抽出します。GUIプログラムは開発済なので、次回はこのGUIプログラムに血行マップ生成コードを追加したGUIシステム(NQ03)を説明します。

その2 手のひら測定装置(NQ03)の開発 

血行マップを生成する場合、画素単位でデータを作るため外光影響を避ける必要があります。本体測定装置を遮光ケースで囲みました。まず、NQ02のGUIを使用し動画ファイルを保存します。NQ03用のGUIプログラムは血行マップの出来を見て開発したいと思います。

血行を比較するため、中指を輪ゴムで止血した状態と止血してない状態の2つの動画を準備しました。それぞれの動画と心拍波形、心拍洞調律を示します。

次に、ゴム止血が無い場合とある場合の血行マップを示します。判りづらいマップですが止血ゴムがある場合、中指の付け根より先の血行が悪化していることが判ります。

今回の実験では、止血ゴム有りなしでの血行分布差が観察されました。しかし、色区別した点描マップでは期待した血行の良し悪しを判別できません。また、150フレームの画像からG成分の最大画像と最小画像を抽出する前処理作業に非常に時間が掛かることも問題です。アルゴリズムを変更する必要があります。

その3 血行画像のアルゴリズム変更 

これまでの血行マップ生成のアルゴリズムは、動画を150枚の画像に分解し画像平均のG成分変化グラフから最大値位置と最小値位置を検出し、最大画像と最小画像の画素毎のG成分差を抽出して色でマップ化するものでした。問題点は2つあり、点描マップでは血行不良個所が判りにくいことと前処理で150枚の画像を扱うので時間が掛かることです。血行の測定は脈拍間隔より大きければよいので1秒程度(10~20フレーム)の動画で十分です。初期の10フレームから、画素毎にG成分最大最小値差を抽出する方法とが齟齬音のG成分時系列データの平均値と偏差値から平均値で規格化した%偏差を抽出する方法を検討しました。またマップ表示も点描ではなくpcolor()を使用しました。

変更アルゴリズムをテストするプログラムコードを示します。

変更アルゴリズムで生成した画像を示します。処理時間は大幅に短縮され5秒程度でした。以前の点描マップに比べ大幅な改善が見られました。G成分最大最小値差マップはカメラ画像の部分的な輝度バラツキの影響を受けるためか、血行不良個所は中指の第二間接にあるなということは判りますが明瞭ではありませんでした。一方で%偏差マップは画像内輝度バラツキの影響を受けないためか、よりコントラストがめいりょうになり血行不良個所も明確になりました。画像情報としては使えそうなレベルだと思います。

ゴム止血有無での血行マップの比較を行いました。止血ゴムが無い場合は、ある場合に比べ濃淡差が少ないことが判ります。

画素毎のG成分%偏差マップが血行表示に有効なアルゴリズムであることが判りました。また、カメラがあれば血行分布を短時間で測定できることが判りました。手のひらだけでなく体の他の部位へお応用も容易ですが、まずNQ03としてGUIプログラムに組み込み、「手のひら写真」「心拍数/心拍洞調律」「手のひらの血行マップ」を測定するシステムとして完成させたいと思います。
足の裏の血行マップを測定してみました。撮影方法などを工夫すれば他の部位の血行マップも測定可能と思われます。

その4 NQ03向けGUIプログラムの開発 

カルテコアプリの機能確認追試装置としてNQ02システムを製作しましたが、血行マップを表示する機能を追加したシステムをNQ03と呼ぶことにしました。カメラ設置については外光遮断BOX等を付加しました。GUIソフトは、NQ02で開発したものに、血行解析のサブプログラムを乗せて、血行マップ1,2のタブを追加しました。一から作り直すよりも短い時間で完成しました。

プログラムコードは煩雑なので割愛させていただきます。GUI操作について説明します。

動画保存ファイル名(任意)とカメラ番号を入力し測定します。ここまでで、動画10秒分(150フレームのVGA)の元データが保存されます。次に解析開始ボタンで心拍系の信号抽出を行い一番重要な心拍洞調律グラフを生成します。

そして、今回追加した血行解析ボタンを押します。動画データを使って画素単位でG成分信号を抽出し血行マップを生成します。G成分は血液中ヘモグロビンに吸収されやすいため心拍に同期信号を抽出するのに適しているためです。部分部分でG成分の時間変化が大きい場合は、血行が良好と判断します。

私の右指の血行を観察するとボーリングを行っているためなのかどうかは不明ですが、中指と薬指の血行が良いようです。

タイトルとURLをコピーしました