이번 주에는 13주차에 개발한 ONNX 기반 추론 파이프라인을 Flask 웹 서버에 통합하고, 사용자 친화적인 업로드 및 결과 페이지를 구현하였습니다. 또한 drunk ratio의 시각적 피드백 제공을 통해 사용자 UX를 개선하고, 시스템의 안정성을 높이기 위한 예외 처리 및 임시 파일 정리 로직을 추가하였습니다.
app.py
를 중심으로 업로드 → 추론 → 결과 반환 흐름 구성/upload
엔드포인트에서 비디오 저장 후, 추론 파이프라인 호출 및 결과 렌더링- 결과 영상은
/results/<filename>
경로를 통해 정적 파일로 제공
- Palantir 스타일에 기반한 모던 UI 구성
- Drag & Drop 지원
- JavaScript로 최대 업로드 용량(25MB) 검증
- 전송 전 실시간 파일 이름 표시
- Drunk Ratio 수치 출력 및 색상 기반 Progress Bar 시각화
- 50% 이상일 경우 붉은색 (
--danger
), 미만이면 초록색 (--success
)
- 50% 이상일 경우 붉은색 (
- 반응형 영상 플레이어 및 명확한 재시도 링크 제공
- 예외 처리 보강
- 영상 미선택, 용량 초과, 추론 실패 시 적절한 피드백 제공
- 파일 정리 로직 추가
/tmp/minoridui
임시 폴더 내 생성 파일 정리- 중간 결과를 재사용하지 않도록 재실행 시 항상 덮어쓰기 처리
- 브라우저 호환성 확보
- FFmpeg를 통한
H.264 + AAC
기반.mp4
재인코딩
- FFmpeg를 통한
- 사용자의 결과 데이터를 저장하고 분석할 수 있는 간단한 통계 저장 기능 추가
- 영상 분석 요청별 UID 트래킹 및 처리 로그화
- 모델 오탐·미탐 사례 수집 및 수동 라벨링 → 2학기 성능 개선용 데이터 확보
이번 주차는 단순 모델 구현을 넘어서 사용자가 실제로 사용할 수 있는 수준의 웹 기반 추론 서비스로 발전시킨 중요한 마일스톤이었습니다. 분석 결과의 시각화, UX 개선, 예외 처리 등 실사용을 위한 핵심 요소들을 구축한 점에서 의의가 큽니다.