YOLO v3 윈도우 설치

Yolo(You only look once)란 무엇인가?

 

  • Yolo는 합성곱 신경망(Convolutional Neural Network) 기반의  모델 중 하나이다.
  • Yolo는 아래의 그림에서 보이는 것 처럼 이전에 나온 다른 CNN보다 최적화가 잘되어 있다.
  • 2020.07.13을 기준으로 Yolo v4가 나와있다.
  • Yolo를 활용하면 특정 물체를 찾고자 하는 다양한 프로그램을 제작할 수 있다.
  • Yolo의 좀 더 자세한 설명이 필요하시면 다음 링크를 참고해주세요.

 

 

 


Yolo v3 설치하기

윈도우 버전 Yolo를 설치하기 전 미리 설치되어 있어야 하는 프로그램


Visual Studio (https://visualstudio.microsoft.com/ko/vs/older-downloads/)

NVIDIA CUDA (https://developer.nvidia.com/cuda-downloads)

NVIDIA cuDNN (https://developer.nvidia.com/rdp/cudnn-archive)

OpenCV 2.4 이상 (https://opencv.org/releases/)

 

※ 주의 사항

CUDA와 cuDNN은 서로 호환이 되는 버전으로 설치해야 합니다. (예를 들어 CUDA 10.1을 설치했다면 cuDNN은 뒤에(for CUDA 10.1) 형태의 cuDNN을 설치해야 합니다.) CPU버전은 cuda와 cuDNN을 설치할 필요가 없습니다.

CUDA는 Visual Studio를 먼저 설치한 후에 설치해야 합니다. 만약 CUDA를 먼저 설치하셨다면 다음 링크를 이동해 오류를 해결하시거나 CUDA를 제거 후 다시 설치해주세요.


필자가 사용한 버전


Visual Studio 2015

CUDA 10.1

cuDnn v7.6.4

OpenCV 3.4.8 (https://github.com/opencv/opencv/tree/3.4.8)


 

 

 


Darknet Project 다운로드

YOLO를 학습 및 검출을 위해서는 Darknet Project를 다운로드하여야 합니다.

다운로드는 (https://github.com/AlexeyAB/darknet)에서 할 수 있습니다.

 

 

 

 


Darknet 빌드

다운로드한 darknet-master -> Build -> darknet 경로로 들어가 darknet.sln을 실행합니다.

 

 

 

빌드 환경을 Releas / x64로 변경합니다.

 

 

 

Build Dependencies -> Build Customization Files에서 Cuda버전을 환경에 따라 변경해줍니다. 필자는 CUDA 10.1을 사용할 것임으로 10.1을 선택했습니다.

 

 

 

 

OpenCV, CUDA, cuDNN 경로 설정을 위해서 프로젝트 속성으로 들어갑니다. 그리고 C/C++ -> General -> Additional Include Directories에서 경로를 수정해줍니다.

※ 환경변수로 넣어주셔도 되고 경로로 직접 입력해주셔도 됩니다.

※ 필자의 경우 OpenCV의 경우 환경변수 세팅이 안되어 있어 경로를 변경했습니다.

 

 

 

 

CUDA Compute Capability 확인(https://developer.nvidia.com/cuda-gpus) 후 CUDA C/C++ -> Device -> Code Generation을 수정한다. 필자의 경우 TITAN RTX로 compute_75, sm_75로 변경했다. 

 

 

 

 

OpenCV, CUDA, cuDNN 링크 설정을 위해서 Linker-> General -> Additional Library Directories에서 링크 경로를 수정해줍니다.

 

 

 

 

OpenCV관련 dll(Opencv_world348.dll, opencv_ffmpeg348.dll)을 darknet-master-> build -> darknet -> x64에 복사해줍니다.

※ opencv뒤에 붙은 숫자의 경우 본인 버전에 해당하는 숫자입니다. (ver 3.4.8 ->348)

 

 

 

모든 설정을 끝낸 후 빌드를 해줍니다.

 

 

 

 

빌드가 성공했다면 이제 샘플인 darknet_yolo_v3.cmd를 실행하기 위해서 이미 훈련된 weight파일(https://pjreddie.com/media/files/yolov3.weights)을 다운로드하여야 합니다. 다운로드한 yolov3.weights파일을 darknet-master-> build -> darknet -> x64에 넣어줍니다. 그리고 darknet_yolo_v3.cmd를 실행하면 그림과 같이 실행됩니다.

 

 

 

 


참고자료

 

Signal Processing Engineer's Blog: [Open Source] YOLO v3 윈도우 버전 설치 및 튜토리얼 한방에 정리

yolo v3 설치하는 방법과 간단한 튜토리얼을 제공합니다.

studyingcoder.blogspot.com