본문으로 건너뛰기
r/computervision조회 2

웹캠 영상에서 rPPG로 실시간 심박수를 추출하는 프로젝트

Eulerian Video Magnification과 rPPG로 웹캠 영상의 미세한 피부색 변화를 BPM으로 변환합니다.

이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.

TL;DR

이 프로젝트는 일반 웹캠 영상에서 혈류에 따른 피부색 변화를 Eulerian Video Magnification으로 증폭해 rPPG 맥박 신호와 BPM을 추출합니다. 추출한 신호는 FFT를 거쳐 시간 영역과 주파수 영역에서 확인되며, 화면에는 얼굴 영상과 파형·주파수 그래프가 실시간으로 표시됩니다. Gemini Code Assist를 활용해 Signal Quality 임계값과 smoothedQualityRatio를 조정하면서 잡음, 조명 변화, 움직임 아티팩트에 대응하는 디버깅 흐름도 함께 구성했습니다.

실용적 조언

  • 웹캠 기반 심박수 추정에서는 피부색 변화만 읽지 말고 조명 변화와 움직임 아티팩트가 신호 품질에 미치는 영향을 함께 다뤄야 합니다. 게시물의 구현처럼 smoothedQualityRatio와 Signal Quality 임계값을 조정하면 잡음이 섞인 구간을 판별하는 처리 흐름을 구성할 수 있습니다. 실제 적용 전에는 다양한 조명과 움직임 조건에서 품질 지표가 어떻게 변하는지 확인해야 합니다.
  • 맥박 신호를 시간 영역에만 두지 않고 FFT로 주파수 영역까지 변환하면 특정 주기 성분과 BPM 산출 과정을 함께 확인할 수 있습니다. 입력 영상에서 피부색 변화를 추출하고 증폭한 뒤 주파수 성분을 계산하는 순서를 유지해야 신호 처리 단계별 문제를 추적하기 쉽습니다. Gemini Code Assist는 이 과정에서 임계값과 평활화 로직을 반복 조정하는 개발 보조 도구로 활용됩니다.

섹션별 상세

01
이 애플리케이션은 일반 웹캠 영상에서 심박수를 추출하기 위해 rPPG와 Eulerian Video Magnification을 결합합니다. 혈류에 따라 피부색이 미세하게 변하는 현상을 영상에서 증폭한 뒤 맥박 신호를 분리하고, FFT를 적용해 시간 영역과 주파수 영역의 특성을 확인합니다. 별도 센서 대신 표준 웹캠을 입력으로 사용해 BPM을 실시간으로 산출하는 신호 처리 흐름이 핵심입니다.
02
게시물의 또 다른 초점은 Gemini Code Assist를 이용한 실시간 디버깅입니다. 시연 과정에서 Signal Quality 지표의 수학적 임계값과 smoothedQualityRatio를 조정해 잡음, 조명 변화, 움직임으로 생기는 아티팩트에 대응하도록 처리 로직을 다듬습니다. 라이브 디버깅과 전체 구현·로직 공개를 함께 구성해 신호 품질 판정값을 조정하는 개발 과정을 기술적 사례로 제시합니다.

이미지 분석

웹캠 얼굴 영상 위에 실시간 BPM과 신호 품질이 표시되고, 오른쪽 패널에 맥박 파형과 주파수 성분 그래프가 함께 나타난 화면입니다.
Screenshot

화면 왼쪽에는 얼굴 영상과 BPM·품질 표시가 있고, 오른쪽에는 시간에 따른 파형과 주파수 영역 그래프가 배치되어 있습니다. 이 시각화는 게시물의 rPPG 처리 결과가 얼굴 영상에서 맥박 신호를 추출한 뒤 시간·주파수 영역으로 변환되는 흐름과 직접 연결됩니다.

웹캠 얼굴 영상 위에 실시간 BPM과 신호 품질이 표시되고, 오른쪽 패널에 맥박 파형과 주파수 성분 그래프가 함께 나타난 화면입니다.

용어 해설

원격 광용적맥파(rPPG)
rPPG는 일반 카메라 영상에서 혈류에 따른 피부색의 미세한 변화를 읽어 맥박 신호를 복원하는 방식입니다. 별도 센서 없이 얼굴 영상과 신호 처리만으로 심박수 추정에 활용됩니다.
Eulerian Video Magnification
Eulerian Video Magnification은 영상의 미세한 색상이나 움직임 변화를 시간적으로 증폭하는 기법입니다. 이 구현에서는 혈류로 생기는 피부색 변화를 키워 웹캠 영상에서 맥박 성분을 분리하는 데 사용됩니다.
고속 푸리에 변환(FFT)
FFT는 시간에 따라 기록된 신호를 주파수 성분으로 변환하는 계산 방법입니다. 게시물의 애플리케이션은 이를 이용해 맥박 신호를 시간 영역과 주파수 영역에서 확인하고 BPM을 산출합니다.

언급된 도구

Gemini Code Assist추천

Gemini Code Assist는 라이브 디버깅 과정에서 Signal Quality 지표의 수학적 임계값을 조정하는 데 사용됩니다. 특히 smoothedQualityRatio를 다듬어 잡음, 조명 변화, 움직임 아티팩트에 대한 처리 결과를 개선하는 작업에 관여합니다. 게시물에서는 rPPG 신호 처리 로직을 조정하는 개발 보조 도구로 활용됩니다.

언급된 리소스

AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 08. 24.수집 2026. 08. 24.출처 타입 REDDIT

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.