object detection 분야에서 유명한 yolo의 설치법 및 사용법을 작성한다.
모든 딥러닝 라이브러리가 마찬가지겠지만 yolo를 효율적으로 사용하기 위해서는 gpu를 사용하는 것이 좋다.
그래픽 드라이버와 Cuda설치 참고
2020/04/17 - [잡다한 것] - Ubuntu 18.04 그래픽 드라이버, Cuda 10.0 설치
2020/04/17 - [잡다한 것] - 그래픽 드라이버 440, cuda 10.2 오류 관련
드라이버와 Cuda설치가 끝났으면 본격적으로 darknet설치를 진행해보자.
darknet을 사용하는 yolo는 현재 github에 alexab의 darknet과 pjreddie의 darknet이 올라와 있다.
alexab의 darknet이 업데이트도 되어있고 편리기능이 추가되어서 사용하기 훨씬 좋지만, 베이직하게 darknet project홈페이지에 기재된 prjreddie의 darknet으로 설치하여 사용하는 방법을 알아보도록 한다.
설치하기
먼저 원하는 디렉토리에 들어가 darknet을 다운받아 준다.
git clone https://github.com/pjreddie/darknet.git
darknet을 클론하면 해당 디렉토리에 darknet디렉토리가 생성되는데 make를 통해 darknet을 개인의 컴퓨터에서 사용할 수 있게 해준다. 그러나 make하기 전에 dakrnet폴더에 Makefile을 수정 해주자.
gedit Makefile
Makefile을 열면 설정할 수 있는 부분이 있는데 맨위의 세 줄을 변경해주자
GPU=0
CUDNN=0
OPENCV=0
OPENMP=0
DEBUG=0
이렇게 설정되어 있는 것을
GPU=1
CUDNN=1
OPENCV=1
OPENMP=0
DEBUG=0
이렇게 변경해주자. 그 다음 훈련이 진행되면서 weight파일이 출력되는 주기를 변경해주자. yolo의 초기 셋팅은 weight파일이 1000iter까지는 100번에 한번씩 weight파일을 내뱉지만 그 이후 부터는 10000번에 한번씩 출력이 되기 때문에 1000iter이 후 매우 오래 기다려야하는 현상이 생긴다..
(이 부분은 make이 후에 진행하여도 문제없다. 하지만 까먹기 때문에 초기에 셋팅할 때 미리미리 해주자)
gedit examples/detector.c
detector.c의 138번째 줄을 보면 weight파일이 빠져나오는 주기를 확인할 수 있다. 그 부분을 필자는 1000번에 한번씩 빠져나오도록 수정해주었다.
if(i%10000==0 || (i < 1000 && i%100 == 0)){
이렇게 적혀 있는 부분을
if(i%1000==0){
이렇게 수정해주면 1000번에 한번씩 출력이 된다. 그 다음에 make명령어를 통해 darknet을 설치해주자.
make
make가 끝나고 나면 darknet파일들이 생성된 것을 확인할 수 있다.
yolo v3의 weight파일을 다운로드 받아서 test를 해보자.
wget https://pjreddie.com/media/files/yolov3.weights
다운로드 받은 뒤 yolo의 유명한 example을 직접 돌려보자.
./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
그 다음 웹캠으로 test를 해보자!
./darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights
만약, test나 example 돌렸는데 opencv관련 오류가 나타나거나, 새로운 창에 화면이 안뜨고 이미지만 저장되는 경우 opencv 에 대한 오류를 해결 해주어야한다. 이런 문제가 나타난 경우 해당 글을 참조하길 바란다.
2020/04/21 - [잡다한 것] - darknet, Yolo v3 설치 시 Opencv 오류 관련
참조 : https://pjreddie.com/darknet/yolo/
'Computer Vision > Object detection' 카테고리의 다른 글
Object detection mAP 측정방법 (2) | 2020.12.18 |
---|---|
YOLO v4 , Opencv를 이용해서 간단한 위치판독기 만들기 (12) | 2020.05.20 |
YOLO v4 custom데이터 훈련하기 (23) | 2020.05.19 |
Ubuntu 18.04 에서 Yolo v4 설치하기 (11) | 2020.05.19 |
Yolo v3 custom 데이터 훈련하기 (4) | 2020.04.17 |