실시간 칼 감지 시스템

프로젝트 동기 및 기획의도

2023년부터 공공장소에서의 칼부림 사건과 가정 내에서의 날카로운 물건으로 인한 위험성이 증가함에 따라, 위험한 물체(칼)을 실시간으로 감지하여 사전에 위험을 방지하는 기술의 필요성을 느껴 이 프로젝트를 진행하게 되었습니다.

사용 환경 및 라이브러리

사용 환경: vscode (Python)
라이브러리: OpenCV, PIL, NumPy, ultralytics (YOLOv8), MacBook 내장 카메라

프로젝트 설명

이 프로젝트는 YOLOv8 모델을 활용하여 실시간으로 카메라 영상에서 칼을 비롯한 다양한 물체를 탐지하고 인식하는 시스템을 구현하였습니다. 특히 칼(knife)에 대한 신뢰도 임계값을 정밀하게 설정하여, 칼이 감지될 경우 경고 메시지를 띄워 사용자가 빠르게 위험을 인식하고 대응할 수 있도록 하였습니다.

핵심코드 사진 및 설명

YOLO 모델을 활용한 실시간 객체 탐지 코드
YOLO 모델을 활용하여 실시간 객체 탐지를 수행하는 핵심 코드
칼 탐지 임계값 적용 코드
칼 전용 임계값을 설정하여 위험을 감지하는 코드
YOLO 모델 로드 코드
사전 학습된 YOLO 모델을 로드하는 코드
실시간 객체 탐지 및 결과 표시 코드
탐지된 객체에 경계상자와 텍스트를 표시하여 위험 상황을 알리는 코드

개선방안 모색

현재, 고성능 GPU가 탑재된 장비를 활용하여 최대한 많은 데이터셋을 학습시켜 모델의 정밀도를 높이는 것이 필요합니다. 또한, 데이터셋 보완 및 증강 기법을 적용해 데이터 다양성을 확보하고, 위험 감지 시 소리로도 경고를 제공하는 기능을 추가하는 방안을 고려 중입니다.

감상

이 프로젝트를 진행하면서 YOLOv8을 활용한 실시간 객체 탐지 기술에 대해 많은 것을 배웠습니다. FPS 최적화와 실시간 성능 향상 등 여러 측면에서 도전과제를 경험했으며, 칼 이미지 데이터셋으로 모델을 정밀하게 학습시키는 데 어려움이 있었지만, 이를 통해 향후 더욱 발전된 모델을 개발할 수 있는 밑거름을 마련할 수 있었습니다.

시연영상

실시간 객체 탐지 시연영상