본문 바로가기
728x90
반응형
SMALL

분류 전체보기1626

[HeartPy] 스마트 워치 PPG 신호 분석 (2) 스마트 워치 PPG 신호 분석 # let's resample to ~100Hz as well # 10Hz is low for the adaptive threshold analysis HeartPy uses from scipy.signal import resample resampled = resample(filtered, len(filtered) * 10) # don't forget to compute the new sampling rate new_sample_rate = sample_rate * 10 # run HeartPy over a few segments, fingers crossed, and plot results of each for s in [[0, 10000], [10000, 20000], .. 2022. 8. 24.
[HeartPy] 스마트 워치 PPG 신호 분석 (1) 스마트 워치 PPG 신호 분석 삼성 스마트 워치 장치에서 가져온 원시 PPG 데이터 분석에 HeartPy를 사용하는 방법이다. 측정된 신호는 손목보다 관류 측정이 훨씬 쉬운 손가락 끝이나 귓불의 일반적인 PPG 센서와 비교할 때 훨씬 더 많은 소음을 포함한다. 이러한 신호를 분석하려면 몇 가지 추가 단계가 필요하다. import numpy as np import heartpy as hp import pandas as pd import matplotlib.pyplot as plt df = pd.read_csv('raw_ppg.csv') df.keys() Index(['ppg', 'timer'], dtype='object') plt.figure(figsize=(12,6)) plt.plot(df['ppg']... 2022. 8. 24.
광혈류 측정 센서 (PPG) 광전용적맥파 측정기 (Photoplethysmography) 광전용적맥파 측정기 (photoplethysmography, 이하 PPG)는 피부 혈관 (cutaneous vessel)의 맥파형 (pulse contour)을 획득하는 비침습적 방법이다. 우리말로는 ‘광 혈류 측정’이라 부르지만, ‘광 용적 맥파 측정’이나 ‘광 용적 측정’으로 불리기도 한다. 빛을 이용해 피의 흐름을 관찰하는 기술이다. 혈액 관찰 어떻게 혈류를 관찰할 수 있을까? 호수에 돌을 던지면 파문이 이는 것처럼, 심장이 피를 보내기 위해 뛸 때도 혈관을 따라 미세한 변화가 생긴다. 이런 것을 맥파(Plethysmogram, PTG)라 부른다. 맥파가 움직이는 속도는 피가 흐르는 속도보다 훨씬 더 빠르다. 심장에서 나온 혈액이 손가락 .. 2022. 8. 24.
[HeartPy] ECG 신호 분석 ECG 신호 분석 # import packages import heartpy as hp import matplotlib.pyplot as plt sample_rate = 250 data = hp.get_data('e0103.csv') plt.figure(figsize=(12,4)) plt.plot(data) plt.show() 이것은 매우 좋고 깨끗한 신호이다. 사전 처리를 수행할 필요가 없으며 즉시 분석을 실행할 수 있다. # run analysis wd, m = hp.process(data, sample_rate) # visualise in plot of custom size plt.figure(figsize=(12,4)) hp.plotter(wd, m) # display computed measur.. 2022. 8. 24.
[HeartPy] PPG 신호 분석 PPG 신호 분석 HeartPy를 사용하여 일반 PPG 신호를 분석하는 방법을 알아본다. 이를 위해 HeartPy와 함께 패키지된 예제 데이터 세트를 사용한다. # First let's import import heartpy as hp import matplotlib.pyplot as plt # first let's load the clean PPG signal data, timer = hp.load_exampledata(0) # and visualise plt.figure(figsize=(12,4)) plt.plot(data) plt.show() HeartPy는 제공된 데이터 세트를 로드할 수 있는 함수 load_exampledata()와 함께 제공된다. 튜플 (데이터, 타이머)을 반환한다. 여기서 '.. 2022. 8. 24.
TensorFlow Lite (2) What are the quantization possibilities? TFLite가 모델 양자화를 위해 제공하는 두 가지 옵션이 있다. (i) 훈련 후 양자화 (post-training quantization) : 단순히 모델이 훈련된 후 매개변수의 양자화를 수반한다. (ii) 양자화 인식 훈련 (quantization-aware training) : 훈련 시간 동안 모델을 양자화하는 것을 수반한다. 초기 훈련 전에 네트워크 수정이 필요하고 (가짜 양자화 노드 사용) 나중에 변환이 아닌 훈련을 통해 8비트 가중치를 학습한다. 현재로서는 CNN 아키텍처의 하위 집합에 대해서만 사용할 수 있다. Post-training quantization 훈련 후 양자화는 네트워크를 수정할 필요가 없으므로 이전에 훈.. 2022. 8. 23.
TensorFlow Lite (1) What is TensorFlow lite (TFLite)? 배터리와 메모리는 모바일, edge 또는 IoT 장치에 가장 중요한 두 가지 리소스이다. 클라우드나 사내 서버에 비해 제한된 양으로 제공된다. 딥러닝 (DL) 기반 훈련된 모델을 직접 배포하면 리소스가 부족하기 때문에 작동하지 않는다. 따라서, 이러한 장치에 대한 DL 모델 기반 추론은 모델의 다음 특성을 고려해야 한다. (i) 메모리를 절약하려면 크기가 더 작아야 한다. (ii) 배터리 수명을 절약하기 위해 적은 에너지를 소비해야 하고 (iii) 사용자가 모델이 즉시 반응한다고 느낄 수 있도록 낮은 대기 시간 또는 높은 추론 시간을 가져야 한다. 요컨대, 모바일 및 에지 장치에 배포하기 위해 메모리, 에너지 및 프로세서 사용량에 대해 모델을 .. 2022. 8. 23.
[HeartPy] 심박수 분석 (Heart Rate Analysis) 심박수 분석 (Heart Rate Analysis) Python Heart Rate Analysis Toolkit은 주로 PPG 신호를 염두에 두고 설계되었다. 라즈베리파이와 아두이노 플랫폼은 합리적인 가격의 오픈 하드웨어 플랫폼을 제공함으로써 보다 다양한 데이터 수집이 가능하다. 심박수 신호 측정 심박수를 측정하는 데 자주 사용되는 두 가지 방법은 심전도 (ECG)와 광혈류계 (PPG)이다. 온라인에서 사용 가능한 많은 알고리즘은 ECG 측정을 위해 설계되었다. PPG 데이터 에 ECG 알고리즘 (유명한 Pan-Tompkins)을 적용하는 것이 반드시 의미가 있는 것은 아니다. ECG와 PPG는 모두 심장 활동에 대한 측정이지만 이를 추정하기 위해 매우 다른 구성을 측정한다. ECG는 일반적으로 가슴에.. 2022. 8. 23.
[HeartPy] 알고리즘 (2) 피크 검출 (Peak detection) 피크 감지 단계는 적응형 피크 감지 임계값을 사용하여 PPG 복합체의 진폭 변화와 형태 변화를 수용한 다음, 여러 단계의 이상값 감지 및 제거를 시도한다. 심박을 식별하기 위해 이동 평균은 각 데이터 포인트의 양쪽에서 0.75초의 창을 사용하여 계산된다. 신호의 처음 0.75초와 마지막 0.75초는 신호의 평균으로 채워지며 이 섹션에 대해서는 이동 평균이 생성되지 않는다. 관심 영역 (ROI)은 신호 진폭이 피크를 감지하는 표준 방법인 이동 평균보다 큰 두 교차 지점 사이에 표시된다. R-피크는 각 ROI의 최대값에 표시된다. 피크 추출 과정을 보여주는 그림. 이동 평균은 교차 임계값 (II)으로 사용된다. 후보 피크는 교차점 사이의 최대값에 표시된다 (III)... 2022. 8. 23.
[HeartPy] 알고리즘 (1) Clipping detection and interpolation 측정된 속성이 센서의 감도 범위를 초과할 때마다 또는 아날로그 신호를 디지털화할 때 클리핑이 발생할 수 있다. 이 경우 클리핑은 신호가 사용 중인 센서의 경계 외부에서 계속되기 때문에 피크가 평평해짐을 의미한다. 클리핑은 신호의 (거의) 평평한 부분을 최대값에 가깝게 감지하여 앞과 뒤에 양쪽 끝에서 가파른 각도가 뒤따르는 기능을 한다. '누락된' 신호 피크는 신호의 클리핑 부분의 양쪽 끝에 있는 100ms의 데이터를 고려하는 3차 스플라인을 사용하여 보간된다. 재구성된 R-피크는 원래 신호에 오버레이되어 추가 분석에 사용된다. Peak enhancement 진폭을 정규화한 다음 나머지 신호에 비해 R-피크 진폭을 증가시키는 피크 향상 기능.. 2022. 8. 23.
728x90
반응형
LIST