스마트 안전 관제 시스템
AI 영상분석 기반 이상행위 탐지
1. 프로젝트 기획 및 방향성
- 핵심 타겟: 병원, 공원 등 공공시설 및 기관의 '안전 담당자'
- 플랫폼 형태: 안전 담당자에게만 선별적으로 알림을 보내는 관제 플랫폼
- 주요 시나리오: 낙상, 실신, 폭행 감지 등
💡 개발 마인드셋
"영상 처리와 개발은 별개다!"
AI 모델링에만 지나치게 힘을 쏟기보다, 서버와 인프라를 튼튼하게 구현하는 데 집중할 것.
AI 모델링에만 지나치게 힘을 쏟기보다, 서버와 인프라를 튼튼하게 구현하는 데 집중할 것.
2. AI 모델링 및 영상 데이터 처리
- 이상 행동 감지의 한계: 쓰러짐 등 이상 행동의 인식 기준이 애매함. 흡연 데이터셋 등의 경우 오탐률이 높으므로, 알고리즘을 변경하거나 다른 접근법(2안) 도입을 고려해야 함.
- 오탐(False Positive) 개선: 난동이나 폭행 모델의 경우 어깨동무, 인사 등을 오탐할 수 있음.
- 단일 프레임 추론은 정확성이 떨어짐. RNN 등 연속성을 가진 모델을 사용하여 영상의 Context(맥락)를 파악해야 함.
- 학습 시 오탐을 유발할 수 있는 데이터(AI 허브 등 활용)를 의도적으로 넣어주어 강건함을 높여야 함.
- 학습 데이터 구성 전략:
- 학습 데이터와 훈련/테스트 데이터를 단순히 8:2로 나누어 같은 데이터를 쓰면 안 됨. 아예 다른 데이터를 사용해야 함.
- 배경 이미지, 타겟, 등장할 만한 이벤트 및 객체를 종합적으로 학습시켜야 함.
- 자원 최적화(트레이드오프): 모델의 정확도와 GPU 사용량 간의 조율이 필요. 이미지/영상 크기가 커질수록 자원 부하가 심해지며, 작은 객체를 잡고 싶다면 그만큼 시스템적 제약사항을 늘려야 함.
🧑💻 AI 개발자의 태도
철저한 변인 통제가 생명. 변수와 파라미터를 수정했을 때의 결과값 변화를 지속적으로 실험하고 기록해야 함.
3. 파이프라인 및 룰 엔진 (Rule Engine) 설계
🔄 데이터 전처리 파이프라인: 전처리기 ➡️ 디텍터(Detector) ➡️ 트래커(Tracker)
- 객체 식별 및 추적: Bounding Box와 Tracking ID를 통해 객체를 식별하고, 이를 바탕으로 룰 엔진에서 행동을 판단함 (예: 특정 ROI에서 배회 중).
- ROI (관심 구역) 설정:
- ROI 표현 방식은 폴리곤(다각형) 형태를 추천.
- 자원 절약을 위해 카메라당 설정 가능한 ROI 개수에 제한을 두는 것이 좋음.
- 사용자가 직접 설정할 수 있는 파라미터와 계층 구조를 제공.
- 룰 엔진 로직의 어려움: '사람이 ROI의 어느 좌표에 도달했을 때 진입한 것으로 볼 것인가?' 등 명확한 인식 기준과 정확한 로직을 설계하는 것이 난건.
4. 백엔드 및 인프라 구축 (Backend & Infra)
- 스트리밍 서버 (RTSP): 윈도우 환경에서는 구축이 까다로우므로 리눅스(Linux) 환경에서 진행.
- 도커(Docker) 활용: AI 분석 서버와 웹 서버를 도커로 띄워 환경을 분리. 도커 환경에서 영상 데이터 처리 시 딜레이가 발생할 수 있으므로, 올린 영상이 실제로 지연 없이 송출되는지 테스트 필수.
- 서버 안정성 및 복원력 최적화:
- 백엔드 통신 시 재시도(Retry) 로직, 헬스체크(Health Check), 무중단 배포 및 스냅샷에 대한 고민 필요.
- 데이터 처리에 있어 레디스(Redis)의 활용이 매우 중요함.
- FastAPI 사용 시 동기(Sync)와 비동기(Async)의 차이점을 명확히 이해하고 적절히 도입할 것.
- 보안성 확보: 시스템 내 데이터 보안성을 위해 인증 권한 처리와 SSL 적용 필수.
5. 프론트엔드 및 데이터 연동
🎥 영상 스트리밍 구현 팁: 프론트엔드에서 카메라 라이브를 직접 수신/처리하는 것은 까다로움. GStreamer는 난이도가 높으므로 OpenCV 사용을 추천.
- 실시간성 및 신뢰성 검증:
- 실시간성이 잘 지켜지는지, 데이터 충돌(Collision)은 없는지 확인.
- 웹 브라우저 창을 2개 띄워두고 동시에 ROI를 수정/확인하는 테스트 진행.
- 연동 및 밸리데이션: 프론트-백엔드 연동은 지연되지 않게 미리미리 구현해 둘 것. 데이터 신뢰성을 위한 밸리데이션(Validation) 필수.
6. 포트폴리오 및 회고 작성 전략
- 기술 스택 선정의 근거: 프로젝트 문서 작성 시, '어떤 대안(후보)들이 있었는데, 왜 이 기술/모델을 선택했는지' 명확한 이유를 적을 것.
- 한계 경험과 개선 과정 어필:
- 서버 가용성 등 자원의 한계를 직접 겪어보고 극복해 본 경험이 포트폴리오에서 매우 중요함.
- 실시간성을 지키기 위해 데이터 처리 방식을 어떻게 경량화하고 개선했는지 최신 트렌드를 반영하여 작성.
- 회고록 및 발표 자료 구성:
- 발표 후반부: 처음 기획과 달라진 점, 프로젝트 중 발생한 문제점, 그리고 그 해결 과정 포함.
- 해결하지 못한 부분(한계점)도 솔직하게 정리하되, "향후 어떤 방식으로 해결할 수 있을 것으로 보인다"는 방향성을 제시.
- 개발 블로그 작성 시 잘못된 정보가 올라가지 않도록 교차 검증 주의.
'SK쉴더스 루키즈[개발 5기]' 카테고리의 다른 글
| [SK쉴더스 루키즈] 5회차 멘토링 (7/17) (0) | 2026.07.20 |
|---|---|
| [SK쉴더스 루키즈] 4회차 멘토링 (7/4) (0) | 2026.07.04 |
| [SK쉴더스 루키즈] 3회차 멘토링 (6/27) (0) | 2026.06.27 |
| [SK쉴더스 루키즈] 2회차 멘토링 (6/13) (0) | 2026.06.16 |