Wed Oct 1 9:28 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 모델 입력 조건을 충족시켜 안정적인 분석 가능

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

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

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

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