본문 바로가기

Capstone design/Theft Chaser

Theft Chaser : Yolo를 활용한 도둑탐지 - darknet 코드 수정으로 알람 만들기

이전 포스팅에서 학습 및 테스트를 통해 제한적이지만 도둑질을 인식할 수 있다는 것을 보았습니다.

이번엔 도둑질 하는 상황이 포착되면 시스템 상에서 알람을 울리게 하는 부분에 대해 다뤄보겠습니다.

 

이전 포스팅까지 프로젝트를 진행하며 가장 많이 받은 질문 중에 하나가

'다른 의도로 같은 행동을 하는 사람을 어떻게 잡아낼 것인가?' 입니다.

저희는 그 문제를 해결해나가기 위해 여러 단계를 생각하고 있는데

 

1. 의심스러운 사람과 아닌사람을 구분하는 척도를 만든다.

2. 잠깐의 오탐으로 도둑으로 몰리지 않게 만든다.

 

이 두 가지를 먼저 해야겠다고 생각했습니다.

그래서 먼저 만들어본 부분이 2번을 보완할 수 있다 생각하고 개발해 보았습니다.

 

system architecture는 이렇습니다.

image.c에서 Theft_count.txt를 호출하여 defualt값이 0인 Theft_detect를 받아오게 됩니다.

그리고 영상에서 학습시킨 객체가 탐지될때마다(도둑질) 값을 추가하게 되고 일정 이상 값이 오르게 되면 알람이 울리게 됩니다.

 

코드 수정 부분입니다.

darknet/src 폴더로 이동해서 image.c 파일을 열어줍니다.

//add code start ~ //add code end 부분이 추가한 부분입니다.

 

코드 내에서 텍스트파일을 읽어 문자열로 받아오면 그것을 정수형으로 변환하여 증가시켜가며 일정 크기 이상이 되면 알람 파일을 실행하는 방식으로 구성되어 있습니다.

 

theft_detect를 15까지밖에 설정하지 않아 너무 금방 잡힐거라 생각할수도 있지만 프로젝트 테스트용으로 쓰고있는 노트북의 성능 문제로 프레임 저하가 심하게 일어나 15까지만 해도 적당한 시간으로 판단했습니다.

 

아래 영상은 웹캠을 이용해 실시간으로 테스트를 해보는 영상입니다.

 

 

참고 사이트

주니 https://juni-94.tistory.com/12?category=802791

개발자 이상현 https://pgmrlsh.tistory.com/9?category=766787