상세 컨텐츠

본문 제목

[YOLO-darknet] Window 10에서 YOLO 사용하기

Implement/__Process

by 2_54 2020. 8. 29. 05:37

본문

# Window 10 환경에서 YOLO 사용하기

 

3학년 1학기 작품을 하던 도중

노트북의 문제인지 알 수 없는 이유로 우분투가 날아갔다 ㅠㅁㅠ

그리고 다시 돌아오지않음 ㅋ.

 

어쩔 수 없이 Window로 대회 작품 제작을 진행하는중..

 

아무튼!

대회 작품을 위해 아파트의 문 호수와 같은 번호판과 안에 쓰여있는 숫자들을 인식해야했다.

나는 예전부터 해보고싶었던 YOLO를 사용하기로 했다!

 

[나의 환경]
OS: Windows 10
Graphic Card: GForce GTX 1050 Ti

CUDA : 10.1

cuDNN : 7.6.5

그리고 Visual studio 2015

 

CUDA, cuDNN, Visual studio는 다운되어있었으므로 이 세 가지 설치는 생략

// CUDA와 cuDNN은 자신의 그래픽 카드에 맞게 설치해야한다.

 

 ★ 1. opencv 설치 ★

 

다른 블로그에서 어느버전은 Webcam으로 Object Detection이 안된다더라.. 하는 말이 있었는데

어떤 분이 3.2.0버전으로 하셨다고해서 나도 3.2.0으로 설치했다.

 

sourceforge.net/projects/opencvlibrary/files/opencv-win/

이 링크에 들어가서 자신이 원하는 버전을 다운받아서 설치하면 된다.

경로는 C드라이브에 바로 설치하였다. (C:\opencv 이렇게)

 

그러고나서 환경설정을 해주어야한다.

 

[시스템 환경 변수 편집] - [환경 변수]에 들어간다.

↓

그리고 사용자 변수에 있는 Path를 선택한 후 [편집]에 들어간다.

 

/* 시스템 변수에 추가해도된다.

사용자 변수에 추가하면 해당 사용자의 계정으로 로그인 했을 시에만 적용되고,

시스템 변수는 시스템 전반적으로 적용된다. */

아래와 같이 C:\opencv\build\x64\vc14\bin를 추가해주면 된다.

-- opencv 설치 끝 --


 ★ 2. Darknet 빌드 ★

 

github.com/AlexeyAB/darknet

위 링크에서 darknet-master 파일을 다운로드 받아서 C드라이브로 옮겼다.

 

C드라이브로 들어가서

[darknet-master] - [build] - [darknet] - darknet.sln

다음의 솔루션 파일을 Visual studio 2015로 열어준다.

// gpu를 사용하지 않을 경우 darknet_no_gpu.sln

빌드하기에 앞서 몇 가지 설정해주어야 하는게 있다.

[프로젝트] - [속성] 에 들어간다.

 

우선 Release에서

[C/C++] - [일반] - [추가 포함 디렉터리] 에다가

 C:\opencv\build\include 를 추가해준다.

[링커] - [일반] - [추가 라이브러리 디렉터리] 에다가

 C:\opencv\build\x64\vc14\lib 를 추가해준다.

[링커] - [입력] - [추가 종속성] 에다가

 opencv_world320.lib 를 추가해준다.

/* dll파일인데 lib으로 이름을 바꿔서 써준다.

320은 opencv 버전마다 숫자가 다르다 난 3.2.0버전이라 320*/

이렇게 한 후 빌드했더니 에러가 떴다. ㅇㅁㅇ

 

그래서 해결하기 위해 이것저것 해봤다. 

 

위에서는 Release에서 세팅을 해주었는데, Debug에서도 세팅을 해주었다.

[C/C++] - [일반], [링커] - [일반]

Release에서 했던 것과 똑같이 하면되고

 

[링커] - [입력] 부분이 조금 다르다.

opencv_world320d.lib 와 opencv_ffmpeg320_64.lib

두 가지를 입력해준다.

 

 C:\darknet-master\build\darknet\x64 안에

즉, darknet.exe 파일이 생성되는 폴더안에

C:\opencv\build\x64\vc14\bin에 있는 모든 dll파일을 복사해주었다.

이제 될 것 같으니 빌드를 해준다 ᕕ( ᐛ )ᕗ

이렇게 darknet.exe 파일이 생성되면 성공~!

--darknet 빌드 끝--


★ 3. 예제 실행 ★

 

본격적으로 예제를 돌려보기 위해서는 명령 프롬포트를 사용해야한다.

나는 도구에 vs 명령 프롬포트가 없어서 추가를 해야했다.

 

[도구] - [외부 도구] 에 들어간다.

[추가]를 눌러서 다음과 같이 입력한다.

// 인수 부분은 경로가 다를 수 있다. 나의 경우는 이랬음!

제목 : VS 명령 프롬포트
명령 : C:\Windows\System32\cmd.exe
인수 : /k "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\VsDevCmd.bat"
초기 디렉터리 : $ (SolutionDir)

명령 프롬포트가 추가 되었으니

예제를 위해 이제 실행시키자!

darknet.exe 파일이 x64폴더 안에 있어서 그 폴더 안으로 들어갔다.

그리고 아래와 같은 명령을 입력한다.

darknet detector test data/coco.data yolov3.cfg yolov3.weights data/dog.jpg

아래와 같이 인식된 사진이 뜨면 성공이다~!~!

https://pjreddie.com/darknet/yolo/ 

학습된 가중치 파일은 여기서 다운받을 수 있다.


YOLO_Mark로 학습시키는거 까지 적으려했는데 이만큼 적는 것도 힘드눼..

다음에 해야겠다ㅎㅎ

 

__END__

반응형

관련글 더보기

댓글 영역