야생동물 감시 시스템

Deep Learning 기반 농작물 피해 방지 솔루션

야생동물에 의한 농작물 피해를 방지하기 위해 딥러닝 기반의 능동형 감시 체계를 구축하여 멧돼지, 고라니, 너구리, 노루 등 주요 유해 조수와 사람을 실시간으로 식별하는 시스템 개발

YOLOv7 NVIDIA Jetson Nano DeepStream SDK Vue.js Node.js MongoDB

야생동물 감시 시스템 프로젝트 영상

영상 재생

프로젝트 개요

프로젝트 목표

야생동물에 의한 농작물 피해를 방지하기 위해 딥러닝 기반의 능동형 감시 체계를 구축하여, 멧돼지, 고라니, 너구리, 노루 등 주요 유해 조수와 사람을 실시간으로 식별하는 시스템 개발

나의 역할

팀 조장 & Deep Learning 파트 리드
전체 아키텍처 설계, 객체 탐지 모델 개발 및 최적화, 엣지 디바이스 배포, 팀원 간 기술 조율 및 외부 멘토링 주도

10,000

학습 데이터셋 (이미지)

90%+

mAP(0.5) 정확도

5

탐지 클래스 (야생동물 4종 + 사람)

시스템 아키텍처

Full-Stack AI 솔루션의 전체 구조

Frontend

  • • Vue.js 프레임워크
  • • 실시간 영상 모니터링
  • • WebSocket 통신
  • • 통계 대시보드
  • • 차트 및 테이블 시각화

Backend

  • • Node.js 환경
  • • Spawn 비동기 처리
  • • RTSP 스트리밍
  • • Socket.io 양방향 통신
  • • 이벤트 로깅 시스템

Deep Learning

  • • YOLOv7-Tiny 모델
  • • NVIDIA Jetson Nano
  • • DeepStream 6.0 SDK
  • • 하드웨어 가속 추론
  • • 실시간 객체 탐지

개발 과정

데이터 수집부터 배포까지의 여정

Phase 1: 데이터 수집 및 전처리

데이터셋 구축: Open Images Dataset V7(사람) 및 AI-Hub(야생동물 4종)에서 각 클래스당 2,000장씩 총 10,000장의 이미지 수집

라벨링 최적화: JSON 형식의 라벨링 데이터에서 필수 좌표값만 추출하여 .txt 형식으로 변환하는 파싱 작업 수행

데이터 분할: Roboflow를 활용하여 Train:Validation:Test = 70:20:10 비율로 데이터셋 분할

Phase 2: 모델 학습 및 검증

베이스 모델: 당시 SOTA 모델인 YOLOv7 Base 모델을 선택하여 학습 진행

성능 달성: mAP@0.5 기준 90%, mAP@0.5:0.95 기준 70%의 우수한 정확도 확보

90%
mAP@0.5
70%
mAP@0.5:0.95
5
Classes

Phase 3: 엣지 최적화 (Critical Challenge)

⚠️ 병목 구간 발견:

NVIDIA Jetson Nano의 제한적인 연산 자원으로 인해 YOLOv7 베이스 모델의 실시간 프레임 처리에 한계 발생

문제 해결 접근: 팀원들과의 주간 미팅 및 산학 멘토링 AI 전문가와 직접 자문을 통해 해결 방향 모색

최적화 전략: 현장 적용성을 최우선으로 고려하여 YOLOv7-Tiny 아키텍처로 전환 결정

✓ 최적화 결과:

YOLOv7-Tiny 모델로 재학습 완료: mAP@0.5 85%, mAP@0.5:0.95 60% 달성

엣지 환경에서 실시간 처리 가능 + 충분히 유효한 성능 확보

85%
mAP@0.5
60%
mAP@0.5:0.95
5
Classes

Phase 4: 시스템 통합 및 배포

모델 배포: PyTorch(.pt) 가중치를 DeepStream 6.0 SDK 파이프라인에 탑재하여 하드웨어 가속 추론 구현

백엔드 통합: Node.js spawn 함수를 이용한 비동기 처리로 딥러닝 프로세스 독립 실행

실시간 통신: RTSP 프로토콜 기반 영상 스트리밍 + WebSocket(Socket.io) 양방향 통신 구현

데이터베이스 구축 (MongoDB)

실시간 객체 탐지 정보의 영구 저장 및 통계 시각화를 위해 NoSQL 기반 MongoDB를 메인 데이터베이스로 채택

저장 데이터:
  • 탐지 객체 정보 (멧돼지, 고라니, 사람 등)
  • 정확도 (Confidence Score: 0.0 ~ 1.0)
  • 타임스탬프 (날짜 및 시간)
  • 카메라 위치 정보 (다중 CCTV 지원)
MongoDB 선정 이유:

① 비정형 데이터 처리 최적화: JSON 형식의 추론 결과를 BSON으로 직접 저장하여 파싱 과정 불필요

② 실시간 대용량 로그 처리: 초당 수십 프레임의 탐지 이벤트를 고속 쓰기로 지연 없이 처리

③ Node.js 완벽 호환: JSON 기반 구조로 데이터 변환 오버헤드 최소화

④ 유연한 확장성: 스키마 변경 없이 새로운 필드(센서 데이터 등) 추가 가능

기술 스택

프로젝트에 사용된 주요 기술들

YOLOv7-Tiny

객체 탐지 모델

Jetson Nano

엣지 디바이스

DeepStream SDK

비디오 파이프라인

Vue.js

프론트엔드 프레임워크

Node.js

백엔드 런타임

Socket.io

실시간 통신

RTSP

영상 스트리밍

Roboflow

데이터 관리

MongoDB

NoSQL 데이터베이스

주요 기능

실시간 감시 및 경고 시스템의 핵심 기능들

실시간 객체 탐지

RTSP 프로토콜을 통한 끊김 없는 영상 스트리밍과 YOLOv7-Tiny 모델 기반의 실시간 야생동물 탐지 (멧돼지, 고라니, 너구리, 노루, 사람)

즉각적인 경고 시스템

WebSocket 양방향 통신을 통해 객체 탐지 시 프론트엔드에 즉시 알림을 전송하여 신속한 대응 가능

통계 대시보드

탐지된 객체의 종류, 시간대별 분포, 정확도 등을 차트와 테이블로 시각화하여 직관적인 데이터 분석 제공

엣지 최적화 추론

DeepStream SDK의 하드웨어 가속을 통한 병렬 처리로 Jetson Nano에서도 실시간 성능 보장

성과 및 수상

프로젝트를 통해 얻은 결과와 인정

동상

한국정보기술학회

대학생 논문경진대회

딥러닝 기반 야생동물 감시 시스템의 학술적 가치와 기술적 우수성을 인정받음

SW산학협력 단장상

대구가톨릭대학교

캡스톤 디자인 EXPO

산학 협력 우수 프로젝트로 선정되어 실용성과 완성도를 인정받음

프로젝트 핵심 성과

Full-Stack AI 솔루션

데이터 수집부터 엣지 배포, 웹 대시보드까지 전 과정 구현

엣지 최적화 경험

제한된 리소스 환경에서의 모델 경량화 및 배포 노하우 습득

리더십 발휘

조장으로서 팀 조율, 외부 멘토링 주도, 통합 테스트 리드

프로젝트 회고

프로젝트를 통해 배운 점과 성장

핵심 학습 포인트

본 프로젝트는 단순히 높은 정확도의 모델을 학습하는 것을 넘어, 실제 현장에서 동작하는 엔드투엔드 AI 시스템을 구축하는 경험이었습니다. 특히 GPU 서버 환경에서 검증된 모델을 엣지 디바이스에 이식하는 과정에서 발생한 병목 구간을 해결하기 위해, 팀원들과의 협업과 외부 전문가 멘토링을 적극 활용하여 YOLOv7-Tiny로의 경량화를 성공적으로 수행했습니다.

기술적 성장

데이터 수집 및 전처리부터 모델 학습, 최적화, 배포까지의 전체 파이프라인을 직접 설계하고 구현하면서, MLOps 전반에 대한 이해를 쌓았습니다. 또한 DeepStream SDK와 같은 하드웨어 가속 프레임워크를 활용하여 실시간 추론 성능을 확보하는 방법을 학습했으며, RTSP와 WebSocket을 통한 실시간 통신 아키텍처 설계 경험을 쌓았습니다.

리더십 및 협업

조장으로서 Front-end, Back-end, Deep Learning 세 파트로 팀을 구성하고, 각 팀원의 기술적 간극을 조율하며 주간 미팅을 통해 진행 상황을 공유하고 문제를 해결했습니다. 특히 학부 수준에서 정보가 부족했던 모델 최적화 문제를 산학 멘토와의 직접 소통을 통해 해결하면서, 외부 자원을 적극 활용하는 능력을 키웠습니다. 최종적으로 두 개의 학술대회에서 수상하며 프로젝트의 완성도와 실용성을 인정받았습니다.