YOLO 개발자의 사이트입니다 ( 여기도 설명 잘 되어있습니다 ) -> https://pjreddie.com/darknet/yolo/
바로 설명 들어가도록 하겠습니다.
(1) 터미널을 켜서 이 경로에서 작업을 해야 한다. ~/opencv/opencv-3.2.0/build
(2) ~/opencv/opencv-3.2.0/build 폴더(build)에서 아래 코드를 차례대로 입력한다.
sudo apt install git // git 설치
git clone https://github.com/pjreddie/darknet.git cd darknet //darknet 폴더로 이동
make
(3) vi Makefile // Makefile 이란 파일을 열어준다. 아래 사진의 빨간 네모 박스와 같이 1로 수정해주고 저장한다.
(4) 수정이 끝났으면 다시 make 명령어를 입력해준다.
(5) YOLO 기본 가중치 데이터( 파일 확장자에 .weights 가 붙음 )를 가져오자. 다운 받는데 시간이 좀 걸릴 것이다.
// 버전 중에 가벼운 버전인 tiny 버전이 있다.
// 이미지 파일은 결과가 괜찮게 나와도, 동영상이나 웹캠 테스트시 fps만 잘 뽑힐뿐,
// 객체 인식에는 영 아니다...
wget https://pjreddie.com/media/files/yolov3.weights // 기본 버전
wget https://pjreddie.com/media/files/yolov3-tiny.weights // tiny(가벼운) 버전
(6) 그다음엔 이 명령어를 실행해보자. 이미 학습된 가중치 데이터를 가져와서 객체(물체)에 대한 인식 결과를 보여준다.
./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg // 기본 버전
./darknet detect cfg/yolov3-tiny.cfg yolov3-tiny.weights data/dog.jpg // tiny 버전으로 실행시
*(6 - 1) 만약 아래와 같은 오류가 난다면,
./darknet: error while loading shared libraries: libopencv_highgui.so.3.2: cannot open shared object file: No such file or directory
아래 코드를 차례대로 입력해주자. 그 다음 실행해보자.
sudo find / -name "libopencv_core.so.3.2*"
sudo ldconfig -v
*(6 - 2) 그런데! 또 아래와 같은 오류가 생긴다면??? 그래픽 카드 성능이 안 좋은 것이다. 물론 해결책이 있다.
CUDA Error: out of memory
darknet: ./src/cuda.c:36: check_error: Assertion `0' failed.
중지됨 (core dumped)
- 터미널에서 현재 디렉토리인 darknet에서 cd cfg( cfg 폴더에 들어간다 ) 입력.
- vi yolov3.cfg ( yolov3.cfg 파일을 열어준다 ) 입력.
- 그러면 아래와 같은 사진이 나온다.
- 여기서 잠깐 설명!
[ batch : 한 번에 몇 장을 처리할지 정한다. 웬만하면 건드리지 말자. ]
[ subdivisions : batch를 이 값만큼 나누어서 처리한다. 이 부분을 적절히 수정해줄 필요가 있다. ]
[ height, width : 입력되는 이미지의 크기다. ]
[ learning_rate=0.001 : 그래픽 카드가 1개 그대로 두자. 만약 2개를 사용한다면 0.0005 가 된다. 4개는 0.00025]
- 난 여기서 subdivisions, height, width를 건드려주었다.
- height, width의 해상도가 낮을수록 fps는 더더욱 올라간다.
- 적절히 수정이 끝났다면 esc 후 :wq 혹은 shift+z+z 입력 후에 빠져나온다.
(7) cd .. 입력 후에, 다시 darknet 폴더로 돌아와 준다. 그리고 아래 명령어를 쳐서 예제를 다시 실행해보자.
./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
(8) 아래와 같은 사진들이 나오면 성공한 것이다. 인식률이 %로 나온다.
(9) 종료는 터미널에서 키보드 Ctrl + c 를 눌러주면 된다.
(10) 실행이 끝나면 darknet 폴더에 predictions.jpg 파일이 생성된다. 아까 실행한 dog.jpg 이미지다.
// 띄어쓰기 조심!!!
* 동영상 실행 시 : ./darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights [동영상 이름.확장자]
* 웹캠 실행 시 : ./darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights
다음 포스팅에는 YOLO 및 Darknet 폴더와 파일에 대한 간략한 분석을 하겠습니다.
'졸업 작품 (Capstone) > Theft Chaser (YOLO)' 카테고리의 다른 글
[10] Yolo_mark labeling(라벨링) & 경로 설정 (6) | 2019.06.22 |
---|---|
[9] darknet(YOLOv3) 폴더 및 파일에 대한 간단한 분석 (0) | 2019.06.22 |
[7] 우분투(Ubuntu) 16.04.1 LTS 에 OpenCV 3.2.0 설치하기 (8) | 2019.06.16 |
[6] 우분투(Ubuntu) 16.04.1 LTS / Nvidia 그래픽 드라이버 / CUDA 8.0 / cuDNN 5.1 설치하기 (5) | 2019.06.16 |
[5] 우분투(Ubuntu) 16.04.1 LTS 기본 설정 팁 (5) | 2019.06.16 |
댓글