# 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 빌드 ★
위 링크에서 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__
[ML] Python AutoML 사용해서 모델 비교하기 - pycaret 라이브러리 (0) | 2023.06.11 |
---|---|
[Machine Learning] 분류 (Star dataset to predict star types dataset) (1) | 2021.01.01 |
댓글 영역