화재 탐지 Human-in-the-Loop 검수 백엔드
영상 감시 카메라의 AI 화재 탐지 결과를 사람이 최종 검수하고 오탐/확정을 판정하는 백엔드 API 서버
개요
AI 기반 화재 탐지 시스템에서 발생한 이벤트를 사람이 최종 검수(Human-in-the-Loop)하는 워크플로를 관리하는 백엔드 시스템입니다. 디바이스와 카메라에서 전송된 화재 탐지 이벤트를 접수하고, 검수 담당자가 오탐 또는 실제 화재 여부를 판정할 수 있는 API를 제공합니다. 일정 시간 이상 처리되지 않은 건은 스케줄러가 자동으로 감지하여 관리하며, 푸시 알림과 외부 시스템 연동을 통해 실시간 대응 체계를 지원합니다. JWT 기반 인증, S3 호환 스토리지를 통한 이미지 관리, PostgreSQL 기반 데이터 영속화를 포함합니다.
담당 역할
화재 감시 시스템의 HITL 워크플로 설계 및 백엔드 API 전체 개발을 담당했으며, 이벤트 상태 관리, 스케줄러 기반 자동 처리, 외부 연동 및 스토리지 통합을 구현했습니다.
아키텍처 다이어그램
레포지토리 분석 결과를 바탕으로 자동 생성된 구조도입니다.
HITL 시스템 전체 아키텍처
디바이스/카메라로부터 화재 탐지 이벤트를 접수하고, 검수자가 판정하며, 외부 시스템 및 스토리지와 연동하는 전체 흐름을 보여줍니다.
HITL 이벤트 처리 흐름
화재 탐지 이벤트가 생성되고, 검수자가 판정하며, 상태가 전이되는 과정을 시퀀스 다이어그램으로 나타냅니다.
HITL 상태 다이어그램
HITL 이벤트가 가질 수 있는 상태와 전이 조건을 나타냅니다.
기술스택
각 기술을 이 프로젝트에서 어떤 용도로 썼는지 정리했습니다.
언어
- Java백엔드 애플리케이션 로직 구현 언어
프레임워크
- Spring BootREST API 서버 프레임워크 및 의존성 관리
백엔드
- Spring SecurityJWT 기반 인증 및 인가 처리
- Spring Data JPA도메인 엔티티와 데이터 접근 계층 구현
- Firebase Admin SDK모바일 푸시 알림 전송
데이터베이스
- PostgreSQLHITL 이벤트, 디바이스, 검수자 정보 영속화
- Flyway데이터베이스 스키마 마이그레이션 관리
인프라
- AWS S3화재 탐지 이미지 저장 및 다운로드 (SDK v1)
DevOps
- Docker멀티스테이지 빌드를 통한 컨테이너 이미지 생성
핵심 포인트
- HITL 이벤트 상태를 대기/오탐/확정으로 관리하고, 스케줄러가 지연 건을 자동 감지하는 워크플로 구현
- JWT 인증, JPA 엔티티 필드 암호화 컨버터, 외부 API 클라이언트 서비스 등 보안 및 연동 계층 설계
- S3 호환 스토리지 연동으로 최대 10GB 이미지 업로드 지원 및 장시간 요청 타임아웃 설정
- Flyway 마이그레이션과 Hibernate JPA를 활용한 PostgreSQL 스키마 버전 관리
- Firebase Admin SDK를 통한 모바일 푸시 알림 및 외부 시스템 로그인 API 통합
문제와 해결
문제대용량 이미지 업로드 시 타임아웃 및 메모리 부족 문제 발생
해결서버 타임아웃을 확장하고, S3 SDK v1 멀티파트 업로드 옵션을 적용하여 최대 10GB 파일 처리 가능하도록 조정
문제일정 시간 이상 미처리된 HITL 건을 자동으로 관리해야 하는 요구사항
해결Spring Scheduler를 구성하여 주기적으로 PENDING 상태 건을 점검하고, 임계 시간 초과 시 알림 또는 상태 전이 트리거
레포지토리 정보
- 생성
- 2026년 7월 27일
- 최근 커밋
- 2026년 7월 27일
- 크기
- 89 KB
- 라이선스
- 없음
언어 구성
- Java99.6%
- Dockerfile0.4%
이 문서는 2026년 7월 28일 에 자동 분석으로 생성되었습니다.