Big-Brother
여러 CCTV의 위험 상황을 찾고 VLM이 자연어로 설명하는 관제 시스템 — 4명 캡스톤 프로젝트
배경
Big-Brother는 여러 대의 CCTV 영상에서 위험 상황을 찾고, VLM이 그 상황을 말로 설명해 주는 관제 시스템입니다. 세종대학교 캡스톤 프로젝트로 4명이 만들고 있습니다.
역할은 풀스택, 클라우드·문서, VLM, YOLO 탐지로 나눴습니다. 다만 애자일로 움직여서, 손이 빈 사람이 다음 일을 맡습니다. 저는 풀스택을 맡아 프론트엔드와 백엔드를 연결했고, 여러 카메라의 결과를 합치는 융합 벤치도 만들었습니다.
맡은 역할
- 프론트엔드 — React·Vite, TanStack Query, 관제 화면
- 백엔드 연동 — Spring Boot API, AI 결과를 WebSocket으로 받는 흐름
- 다중 시점 융합 벤치 — 카메라 여러 대의 결과를 합치는 설정을 비교·평가하는 도구
- 지식 볼트 도입 — 회의 녹취로 세컨드브레인을 세우고, 과제물 초안을 뽑아 팀이 검토
일한 방식
디테일 · HOW I WORK ↑
늦게 오는 Alert는 Alert가 아니니까.
경고가 늦게 뜨던 창에, 경고 카드를 바로 띄웠습니다.
- 상황관제원 창의 사건 목록은 AI 설명이 만들어진 뒤에야 사건을 보여 줬습니다. 메인 화면은 경고 순간 바로 깜빡이는데, 관제원 창만 보는 사람은 첫 경고를 늦게 알았습니다.
- 한 일관제원 창 위쪽에 지금 경고 중인 카메라를 실제 화면 카드로 띄웠습니다. 처음엔 경고가 있을 때만 카드 줄이 나타났는데, 그 순간 영상이 아래로 약 200px 밀렸습니다. 그래서 카드 자리를 늘 비워 두고, 경고가 없으면 "경고 중인 카메라 없음"을 보여 주게 했습니다.
- 결과카드가 생기거나 사라져도 영상 위치가 그대로입니다. 이 흐름은 요구사항 문서에 넣어 팀 제출본에 담겼습니다.
백엔드 구현은 AI 서브에이전트들이 나눠 맡았습니다.
- 한 일AI 결과를 실시간으로 받는 백엔드 작업을 여섯 단계로 나누고, 단계마다 구현 에이전트와 리뷰 에이전트를 따로 두었습니다.
- 제 몫에이전트가 정할 수 없는 제품 판단을 내렸습니다. VLM 담당 팀원의 샘플 데이터를 쓰고, 추정값은 화면에 추정이라고 표시하기로 했습니다.
배운 점
- 생겼다 사라지는 화면 요소는 자리를 미리 잡아 둡니다. 판단하는 중에 화면이 튀면, 누르려던 버튼이 옮겨가 잘못 누를 수 있습니다.