본문 바로가기

Capstone design

(6)
Theft Chaser : Yolo를 활용한 도둑탐지 - darknet 코드 수정으로 알람 만들기 이전 포스팅에서 학습 및 테스트를 통해 제한적이지만 도둑질을 인식할 수 있다는 것을 보았습니다. 이번엔 도둑질 하는 상황이 포착되면 시스템 상에서 알람을 울리게 하는 부분에 대해 다뤄보겠습니다. 이전 포스팅까지 프로젝트를 진행하며 가장 많이 받은 질문 중에 하나가 '다른 의도로 같은 행동을 하는 사람을 어떻게 잡아낼 것인가?' 입니다. 저희는 그 문제를 해결해나가기 위해 여러 단계를 생각하고 있는데 1. 의심스러운 사람과 아닌사람을 구분하는 척도를 만든다. 2. 잠깐의 오탐으로 도둑으로 몰리지 않게 만든다. 이 두 가지를 먼저 해야겠다고 생각했습니다. 그래서 먼저 만들어본 부분이 2번을 보완할 수 있다 생각하고 개발해 보았습니다. system architecture는 이렇습니다. image.c에서 The..
Theft Chaser : Yolo를 활용한 도둑탐지 - Labeling, Yolo 학습 저번 포스팅에선 Yolo 설치와 실행까지 다뤄보았습니다. 이번엔 Yolo mark를 이용해 직접 데이터를 학습시키는 것을 포스팅하려 합니다. 먼저 Yolo mark를 다운받아줍니다. git clone https://github.com/AlexeyAB/Yolo_mark 다운을 받고 Yolo_mark 폴더로 들어가 make를 해줍니다. cmake . make make까지 완료가 되면 Yolo mark를 실행시켜봅니다. ./linux_mark.sh 위 명령어를 입력했을 때 권한이 없다며 실행이 안된다면 change mode로 chmod +x linux_mark.sh 를 입력해 권한을 변경해줍니다. Yolo mark를 실행시키게 되면 위와 같은 사진이 아닌 비행기 사진들이 나올겁니다. 사진에서 빨간색, 파란색,..
Theft Chaser : Yolo를 활용한 도둑탐지 - Yolo 설치 앞의 글에서 GPU를 사용해 학습시키기 위한 환경을 구성해주었습니다. 이제 Yolo를 다운받아줍니다. git clone https://github.com/pjreddie/darknet 다운을 받고 darknet 폴더로 이동해 Makefile을 열어줍니다 vi Makefile nano Makefile Makefile을 열게되면 제일 위에 있는 항목들부터 수정해줍니다. 이전에 GPU 사용을 위해 CUDA와 CUDNN을 설치해 주었으니 GPU와 CUDNN의 값을 0에서 1로 바꿔줍니다. (0 = 사용하지 않음, 1 = 사용) OPENCV도 0이라 써있다면 1로 고쳐줍니다. 그 다음 밑으로 내려와서 'ifeq ($(GPU), 1)' 항목을 찾아줍니다. 찾으셨다면 COMMON+ 와 LDFLAGS+ 에 써있는 경로..
Theft Chaser : Yolo를 활용한 도둑탐지 - 학습환경 설정(그래픽 드라이버, CUDA, CUDNN) 앞의 글에서 Yolo를 사용하기 전 opencv를 설치하고 빌드하는 것까지 살펴봤습니다. 이제 본격적으로 Yolo를 사용하기 위해 GPU사용을 위한 그래픽 드라이버, CUDA와 CUDNN설치에 대해 알아보겠습니다. 제일 먼저 본인의 그래픽카드에 맞는 쿠다 버전과 쿠다에 맞는 그래픽 드라이버의 버전을 확인해야 합니다. 그 다음 본인의 그래픽카드에 맞는 그래픽 드라이버를 설치해주어야 합니다. sudo apt-get install software-properties-common sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt-get update 위 명령어를 입력하고 설치 및 업데이트가 완료되면 Settings로 들어가 Software & Updates항목..
Theft Chaser : Yolo를 활용한 도둑탐지 - 개발환경 구축(가상머신, opencv) 앞서 도둑탐지를 주제로 채택하게된 이유에 대해 설명했고 지금부터는 개발에 관한 이야기입니다. Yolo를 활용해 이미지를 학습시켜야 하지만 윈도우 환경의 컴퓨터와 그래픽카드 성능의 한계로 학습용 컴퓨터의 사용을 허가받아 Portainer를 통해 Docker에 접근하여 학습을 진행하였습니다. (학습용 컴퓨터엔 RTX-2080Ti 2장이 장착되어 있습니다.) Portainer를 통해 작업을 하면 GUI가 지원이 되지 않아 라벨링 및 코딩을 위해 컴퓨터에 virtual machine을 설치해서 사용했습니다. 그러므로 가상머신 화면으로 개발환경 구축과정을 설명드리겠습니다. (리눅스 환경을 사용중이라면 밑으로 가서 바로 opencv 설치부터 진행하시면 됩니다.) 가상환경 설정 저는 Oracle의 VirtualBox..
Theft Chaser (도둑탐지)는 무엇? 도둑을 잡는다. 쉬우면서도 어려운 말입니다. yolo를 사용한 졸업작품 아이디어를 찾던 중 지도교수님이 한번 해보겠냐고 주신 주제였습니다. 마침 주변에 편의점 도난사고가 발생해 범인을 찾는다는 문구를 보고 온 때에 이 주제를 들으니 흥미가 생겨 도둑 탐지를 주제로 졸업작품을 진행해보게 되었습니다. 먼저 도둑탐지의 필요성과 피해량을 알아보기 위해 자료조사를 시작했습니다. 위의 사진과 같이 매장 안에 CCTV를 설치하고 주인이 눈을 부릅뜨고 보고 있어도 아래 사진과 같이 도둑질에 의한 피해가 눈에 띄게 줄기보다 늘어나고 있습니다. 아래 영상은 일본의 스타트업 '바크(VAAK)'가 개발한 도둑을 잡아내는 AI 소프트웨어 입니다. 이렇게 국내뿐만이 아니라 세계적으로 소액 절도에 대한 대비를 하고 있다는 걸 알게..