Tue Nov 3 6:42 PM(ing : 0s)
Video Analysis Program
프로젝트 개요로컬 비디오 분석을 통해 rPPG 기반 생체 신호를 추출하고, 네트워크 없이 건강 상태를 측정 및 리포트하는 오프라인 건강 모니터링 서비스
프로젝트 과정2인 팀으로 프로젝트를 구성하여 설계, 디자인, 개발 등 전반적인 과정에 직접 참여하였으며, 기획부터 배포까지 모든 단계에서 주도적으로 역할을 수행.
기술 스택Electron, React, Vite를 기반으로, TensorFlow.js, face-api, FFmpeg, OpenCV.js를 활용하여 비디오 분석 및 rPPG 신호 추출, 건강 리포트 생성을 지원하는 고성능 로컬 데스크탑 애플리케이션
담당 업무

- 비디오 화면에서 사용자가 선택한 인물을 기준으로, 얼굴 감지 및 다중 인물 식별 기능 개발

- 지정된 인물의 rPPG 신호만을 추출하는 기능 구현

- 추출된 신호를 기반으로 TensorFlow 모델 및 자체 정의한 분석 함수를 활용하여 생체 데이터 정밀 분석 및 계산 수행

- 분석 결과를 시각화하여 사용자에게 제공하는 기능 개발

- 전체 기능을 통합하여 Electron 기반 데스크탑 앱으로 패키징 및 배포 전 과정 단독 수행

트러블 슈팅
portfolio_video_troubleshooting_trouble_title1문제

기존 시스템은 단일 구간만 스트레스 측정이 가능했음.

측정 기능 확장 과정에서 사용자가 여러 구간을 선택하거나 구간별 측정 시간이 달라질 수 있는 상황이 발생.

한 구간이 15초 미만/이상인지에 따라 신호 처리 로직이 달라져야 했지만, 기존 단일 배열(flat structure) 관리 방식으로는 유연한 처리가 어려워, 구간별 데이터 혼합 및 구분 오류 문제가 발생함.

문제 해결 및 성과

데이터 구조를 '배열의 배열(array of arrays)' 형태로 변경하여 구간별 데이터 분리 저장

→ 각 구간 데이터를 별도 배열에 독립적으로 저장하고 관리

구간마다 개별 분석 및 처리 로직 적용 가능하도록 구조 개선

→ 15초 기준에 따른 조건 분기 및 구간별 결과 해석을 안정적으로 수행

여러 구간을 동시에 측정하고, 시간 길이에 따라 정확한 데이터 처리가 가능해짐

→ 측정 기능의 확장성과 데이터 정확성 모두 향상

portfolio_video_troubleshooting_trouble_title2문제

다중 구간 측정 기능이 추가되고, 구간별 측정 시간이 달라지면서 각 구간의 데이터 길이(length)가 제각각 달라짐.

TensorFlow 모델 입력 시, 모델이 기대하는 입력 데이터 형태(shape)와 실제 전달하는 데이터가 불일치하여 input shape mismatch 오류가 발생함.

문제 해결 및 성과

구간별로 데이터 길이를 사전에 검사하여, 특정 기준 이상 길이를 가진 데이터만 모델에 입력하도록 분기 처리

→ TensorFlow 모델 입력 조건을 충족시켜 안정적인 분석 가능

짧은 구간 데이터는 별도 관리하거나 제외하여 오류를 예방

→ 데이터 길이와 무관하게 구간별로 유연하고 안정적인 분석 로직 구현

다양한 구간과 측정 시간에 대응하면서도, 모델이 오류 없이 정상 작동할 수 있도록 시스템 안정성 확보

해당 프로젝트는 보안상의 문제로샘플 이미지 제공이 어렵습니다.