Skip to content
@strangeRookies

strangeRookies

🚨 이상행 - AI 기반 스마트 안전 관제 시스템

SK쉴더스 루키즈 지능형 애플리케이션 개발 5기 최종 프로젝트 - 2조 이상행

이상행은 CCTV 영상을 실시간으로 분석해 쓰러짐·실신과 같은 이상 행동을 탐지하고, 관제 담당자와 보호자가 빠르게 대응할 수 있도록 지원하는 End-to-End 스마트 안전 관제 플랫폼입니다.

  • RTSP 영상에서 YOLO Pose와 LSTM을 활용한 실시간 쓰러짐·실신 탐지
  • 낙상 상황에 특화된 객체 추적 및 ID 재연결로 분석 시퀀스 안정화
  • MQTT와 WebSocket/STOMP 기반 실시간 경보 및 관제 대시보드
  • 사고 전후 5초씩 총 10초 클립 저장과 얼굴 비식별화
  • Gemini VLM 기반 사고 요약 및 768차원 벡터 자연어 검색
  • 개인 사용자부터 요양원·병원·복지관 등 기관까지 지원하는 통합 관제
  • AWS EKS, Terraform, GitHub Actions 기반의 확장 가능한 운영 환경

🎬 시연 영상

SK쉴더스 지능형 애플리케이션 개발 5기 2조 시연영상

▶ YouTube에서 시연 영상 재생

 

📌 Application

실시간 AI 관제 및 사고 영상 검색
실시간 AI 관제 및 사고 영상 검색
이벤트 영상 재생
사고 전후 10초 이벤트 영상 재생

 

✨ Main Features

1. AI 이상 행동 탐지 - YOLO Pose + LSTM

AI 이상 행동 탐지 파이프라인

  • AI Hub의 실제 CCTV 환경 기반 영상에서 NORMALFAINT 데이터를 구성하고, 사람·장소·촬영 조건이 다양한 데이터를 학습에 활용
  • YOLO26n-Pose로 사람의 17개 관절 좌표를 실시간 추출
  • 단일 자세가 아닌 약 1초 동안의 변화를 분석하기 위해 30프레임 시퀀스를 LSTM에 입력
  • 17개 관절의 51차원 특징에 center_drop, velocity, torso_angle을 추가한 54차원 특징 벡터로 낙상 전이를 학습
  • RNN보다 장기 시점 정보 유지에 유리하고 ST-GCN보다 가벼운 LSTM을 사용해 실시간성과 시계열 표현력을 확보
  • 순간적으로 누운 자세만 판단하지 않고 하강 → 쓰러짐 → 누움의 시간적 변화를 분석하여 오탐과 미탐을 감소

LSTM 54차원 모델 성능

 

2. 낙상 특화 객체 추적 및 ID 재연결

낙상 특화 객체 추적 및 ID 재연결

  • 낙상 순간 자세와 Bounding Box 형태가 급변하면서 ByteTrack ID가 끊기고 LSTM 입력 시퀀스가 분리되는 문제를 보완
  • IoU와 중심점 거리를 활용한 Hard Match로 정상 추적을 유지
  • frame gap, center ratio, velocity를 활용한 Soft Relink로 짧게 끊긴 Track을 재연결
  • 단일 인물 상황의 Sole Candidate Match와 일시 검출 누락을 허용하는 Grace Period를 적용
  • TrackSelector의 Strict/Fallback 전략으로 분석 대상을 안정적으로 선택
  • 내부 추적 ID와 화면 표시 ID를 분리하고, 영상 종료·소스 변경 시 상태를 초기화
  • 자체 평가에서 Track 연속성 및 재연결 품질을 약 19.7% 개선

 

3. 실시간 영상 송출 및 경보 전달

영상 송출 및 실시간 경보 데이터 흐름

  • CCTV의 RTSP 영상을 AI Worker가 분석하고, 분석 영상은 MJPEG/HTTP로 송출
  • 탐지 이벤트는 MQTT QoS 1로 전송하여 ACK 수신 전까지 메시지를 보관하고 최소 한 번 이상 전달
  • Backend는 MQTT 이벤트를 저장한 뒤 WebSocket/STOMP로 관제 대시보드에 즉시 브로드캐스트
  • 개인·기업 대시보드의 실시간 팝업과 사이렌, 모바일 FCM 푸시 알림을 지원
  • 쓰러짐 이벤트는 10초, 이탈 이벤트는 60초의 쿨다운을 적용해 중복 경보로 인한 관제 피로도를 완화
  • 최신 프레임을 우선 처리하고 최대 3장만 유지하는 백프레셔 전략으로 과거 프레임 누적과 영상 지연을 방지
  • 장애 발생 시 1초 이내 감지, 2초 간격 재시도로 8초 이내 화면 자동 복구

 

4. VLM 기반 사고 요약 및 자연어 검색

VLM 기반 사고 요약 및 자연어 검색 파이프라인

  • 사고 전후 클립에서 사건의 시작·중간·종료를 고르게 포함하는 8개 Keyframe을 추출
  • 외부 API 전송 전 얼굴을 비식별화하고 Gemini 2.5 Flash로 사고 상황을 텍스트로 요약
  • 사고 설명을 768차원 Embedding으로 변환해 PostgreSQL pgvector에 저장
  • 단순 이벤트 코드 검색을 넘어 복장·장소·자세·상황을 자연어로 설명하여 유사 사고 기록을 검색
  • VLM은 탐지 모델을 대체하지 않고, 이미 탐지된 이벤트의 사후 요약과 검색을 돕는 보조 기능으로 활용

 

5. 10초 사고 클립과 개인정보 보호

얼굴 비식별화 및 스냅샷 보호

  • 이상 행동 감지 시 사고 전 5초와 사고 후 5초를 결합해 총 10초·300프레임 클립을 생성
  • Keypoint 기반 얼굴 영역, 어깨·골반 장축 기반 머리 추정, 전신 Bounding Box 상단 영역의 3단계 폴백으로 비식별화 누락을 최소화
  • GPU 서버에서 즉시 얼굴 블러를 적용해 원본 얼굴 영상의 외부 유출을 방지
  • 비공개 S3 버킷에 저장하고 Public Access를 차단
  • 권한 검증을 통과한 사용자에게만 15분 제한 Presigned URL을 제공

 

📊 Performance

최종 AI 모델

지표 51D 모델 최종 54D 모델 개선
Accuracy 89.20% 93.45% +4.25%p
Precision 88.10% 92.80% +4.70%p
Recall 90.50% 94.20% +3.70%p
F1-score 89.29% 93.49% +4.20%p
False Positive 132건 81건 38.6% 감소
False Negative 108건 66건 38.9% 감소

TensorRT 추론 최적화

PyTorch와 TensorRT 추론 성능 비교

검증 항목 PyTorch TensorRT 개선
YOLO 평균 지연 9.454ms 4.723ms 50.0% 감소
최악 카메라 p95 지연 14.719ms 7.159ms 51.4% 감소
전체 처리 지연 11.789ms 6.101ms 48.2% 감소
Dropped Frames 40건 34건 15.0% 감소
추정 Drop 비율 1.10% 0.94% 0.16%p 감소
  • End-to-End 알림 지연은 평균 20.9ms, 최대 27ms로 모든 알림을 30ms 이내 전달
  • TensorRT 적용으로 전체 처리 지연을 약 절반으로 줄이고 프레임 누락과 Drop 비율을 함께 개선

 

⚙️ System Flow & Core Technologies

서비스 구성도

스마트 안전 관제 서비스 구성도

  1. CCTV 또는 샘플 영상에서 RTSP 스트림을 AI Engine Server로 전달
  2. 카메라별 AI Worker가 YOLO Pose, Tracking, LSTM 분석을 수행
  3. 분석 영상은 MJPEG/HTTP로, 탐지 이벤트는 MQTT로 분리 전송
  4. Spring Boot Backend가 이벤트를 저장하고 WebSocket/STOMP 및 FCM으로 알림을 전달
  5. React Web Dashboard와 Android 앱에서 실시간 영상·경보·이벤트 이력을 확인
  6. 사고 클립과 Keyframe은 VLM 요약 및 자연어 검색 파이프라인으로 연계

 

🚀 Infrastructure & Deployment

AWS 인프라 아키텍처

AWS 네트워크 및 서비스 구성

  • CloudFront와 ACM을 통해 HTTPS/WSS 통신과 CDN 기반 정적 콘텐츠 전송
  • Public Subnet에는 ALB, NAT Gateway, SSM 관리용 Bastion을 배치
  • Private Subnet에는 EKS 애플리케이션, EMQX MQTT Broker, RDS PostgreSQL, Redis를 배치하여 외부 직접 접근을 제한
  • 온프레미스 GPU 서버와 AWS VPC를 Site-to-Site VPN으로 연결해 RTSP·MQTT·MJPEG 트래픽을 암호화
  • S3 Gateway Endpoint를 통해 인터넷을 거치지 않고 비공개 스토리지에 접근
  • Backend와 Frontend 이미지는 ECR에서 관리하고 EKS에 배포

GitOps 기반 CI/CD

  • GitHub Push를 기준으로 GitHub Actions가 테스트와 빌드를 자동 수행
  • Docker Image를 생성해 Amazon ECR에 저장
  • Kubernetes Manifest의 이미지 태그를 자동 갱신
  • 선언된 인프라와 애플리케이션 배포 구성을 Git으로 추적
  • Terraform으로 VPC, Subnet, Security Group 등 인프라 정책을 코드화

Security

보안 아키텍처

  • Spring Security와 JWT를 적용해 REST API 전 구간의 인증·인가를 처리
  • Redis에 Refresh Token을 저장·검증해 세션 탈취 위험을 완화
  • SSM Session Manager를 사용해 SSH 포트 개방과 SSH Key 관리 부담을 제거
  • DB 비밀번호와 JWT Secret 등 민감 정보는 Kubernetes Secret으로 분리
  • TLS/SSL, CloudFront, Site-to-Site VPN, VPC 망 분리로 외부 공격 표면을 최소화

 

🔧 Tech Stack

Frontend

React TypeScript Vite Zustand Capacitor STOMP

Backend

Java Spring Boot Spring Security REST API WebSocket MQTT Firebase

AI / ML

Python PyTorch Ultralytics LSTM TensorRT OpenCV Gemini

Database & Storage

PostgreSQL pgvector Redis Amazon S3

Streaming & Messaging

RTSP MediaMTX MJPEG EMQX

Infrastructure

AWS Docker Kubernetes Amazon EKS Amazon ECR CloudFront Terraform GitHub Actions

 

🔗 Repository

 

👤 Developers

안진경 김연아 임서연 민병주 이채현
안진경 (팀장) 김연아 임서연 민병주 이채현
AI Full-Stack Full-Stack Full-Stack Infra
YOLO·LSTM, Tracking, 최적화 관리자, Snapshot 개인·기업, ROI 인증, 알림, DB, App AWS, IaC, GitOps

Popular repositories Loading

  1. infra infra Public

    HCL

  2. back back Public

    Java

  3. front front Public

    TypeScript

  4. ai ai Public

    Python

  5. .github .github Public

    AI 기반 스마트 안전 관제 시스템 - 이상행 조직 프로필

Repositories

Showing 5 of 5 repositories

Top languages

Loading…

Most used topics

Loading…