YOLO v3 윈도우 설치

2020. 7. 13. 19:56

☞   문서의 내용은 가장 하단 참고문헌 및 사이트를 참고하여 필자가 보기 쉽도록 정리한 내용입니다.

☞    틀린 내용 및 저작권 관련 문의가 있는 경우 문의하시면 수정 및 삭제 조치하겠습니다.


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

COMMENT

  • BlogIcon yjs3819 2021.02.14 22:26 신고 opencv_ffmpeg348.dll가 보이질않는데 방법이있을까요?
  • BlogIcon 553 2021.03.02 14:56 opencv 4.2버전 기준opencv_videoio_ffmpeg420_64.dll
  • 3434 2021.05.18 15:40 'cudnn.h' : No such file or director 이 오류는 어떻게 해결해야하나요...?
  • BlogIcon gogo5911 2021.05.20 10:23 신고 cudnn설치를 완료하셨나요? 만약 완료했다면 경로가 잘못된 것으로 보입니다.
  • BlogIcon sibalyolo 2022.06.06 15:03 저희도 윗분처럼 cudnn.h를 열수없다고 뜨는데 경로를 어떻게 설정하면 될까요??
  • 123123 2021.07.09 10:45 Visual Studio 2019년 버전을 사용해도 무관한가요?
  • Minah Kim 2021.07.15 18:16 customization file에서 제 버전 target이 안뜨는데 제꺼 cuda는 10.0인데 여기 뜨는 cuda는 11.1이네요ㅜ 혹시 해결할 방법이 있을까요?
  • BlogIcon chaloalto 2022.01.19 13:29 신고 @123123 : 2019 버젼도 동일하게 세팅하면 되는것 확인했습니다!
    @Minah Kim : 해당 .targets 파일을 직접 찾아서 추가해줄 수 있더라구요, 저같은 경우 C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations\CUDA 11.2.targets 추가하였습니다.