안녕하세요!!
이번에는 제가 darknet을 통한 yolo 알고리즘으로 Deep Learning을 공부해보려고 하기 때문에 오늘은 간단한 설치 방법에 대해서 포스팅 해보겠습니다!!
(darknet 소스코드를 다운 받아서 빌드 하는 과정까지 포스팅을 진행하겠습니다. ㅎㅎㅎ)
<no_gpu 버전입니다!!! gpu버전과 CUDA를 제외하면 차이가 없지만 gpu버전은 https://github.com/unsky/yolo-for-windows-v2 을 참고하시는걸 추천 드립니다!!!!!>
먼저
설치 환경은
Windows 10 64bit
VIsual Studio 2015
입니다.
먼저 darknet을 다운받을 수 있는 (물론 windows 환경 소스코드입니다~!) github 주소는 바로 아래의 주소입니다.
https://github.com/unsky/yolo-for-windows-v2
이곳에서 git을 이용하시거나 download를 통해서 파일을 원하시는 경로에 다운로드를 받아주시면 됩니다!!
저는 그냥 C:\users\()\Desktop(바탕화면) 경로에 파일을 다운로드 받고 압축을 풀었습니다.
압축을 풀고 나면 이제 Visual Studio 2015 를 켜주시면 됩니다!!
Visual Studio 2015를 실행 한 뒤 Open을 통해서 우리가 방금 다운로드 받은 폴더안에 darknet-master\build\darknet 경로 안에 있는 darknet_no_gpu.sln 프로젝트 파일을 open 해주시면 됩니다.
여기서 프로젝트 우클릭을 통하여 빌드를 하면 빌드가 완료되고 오늘의 포스팅이 끝이납니다!!!!
<But!!>
처음 하시는 분들의 경우 아마 빌드가 정상적으로 성공하지 않을 것입니다!! ㅠㅠ
빌드가 되지 않는 원인은 정상적인 경우라면 OpenCv와 pthread가 설치가 되지 않은 경우가 가장 많을 것 이라고 생각합니다.(오류 내용이 opencv와 pthread가 아닌 다른 프로그램에 대해서 오류가 났을 경우 해당 라이브러리가 현재 내 PC에 존재하는지를 파악하고 존재한다면 64bit, 32bit인지를 확인해보시는 것을 추천드립니다!!!)
자 그럼 지금부터는 OpenCv와 pthread로 인해 오류가 발생한 것으로 가정하고 포스팅을 진행하겠습니다.
1. OPenCV
OPenCV는 영상처리 관련해서 주로 사용하는 오픈소스코드 입니다. 해당 소스코드를 사용하기 위해서는 설치가 필요합니다.
저는 visual studio 2015를 사용하기 때문에 OpenCV vc14 버전이 필요했습니다. 해당 버전은 visual studio version에 따라 다르기 때문에 version에 맞춰서 다운로드를 진행하여야 합니다. Visual Studio 2015를 사용하시는 경우 vc14가 필요하고 vc14는 OpenCV 3.2 Vesrion을 다운로드 받으시면 됩니다. 다운로드를 받을 수 있는 경로는 아래와 같습니다.
https://sourceforge.net/projects/opencvlibrary/
해당 URL에 접속 한 후 File 탭을 누르게 되면 아래의 화면을 볼 수 있습니다.
저희는 Windows 운영체제를 사용하고 있기 때문에 opencv-win을 눌러주면
다음 화면을 볼 수 있고 여기서 Visual Stduio 2015과 호환이되는 vc14를 지원하는 OpenCV 3.2 버전을 다운로드 받아주시면 됩니다. 다운로드가 완료된 후 파일을 실행하면 압축해제 경로를 설정할 수가 있는데 해당 경로는 임의로 정해주시면 됩니다!! 저 같은 경우에는 C:\ 경로(C드라이버)에 압축해제를 진행했습니다.
압축해제까지 끝나셨으면 Visual Stduio 2015를 실행시켜 주고 darkent_no_gpu.sln 프로젝트를 다시 open 시켜줍니다!!
다음으로는 프로젝트 속성 창을 열어줍니다(아래 사진 우측부분에 있는 프로젝트이름(darknet_no_gpu)를 우클릭 해주시고 속성을 눌러주시면 됩니다!!!!
속성창을 오픈하면 다음과 같은 화면을 보실 수 있습니다. 여기서 'C/C++ -> 일반 -> 추가 포함 디렉터리'에 방금 압축을 해제한 opencv폴더 안의 build 안의 include 경로를 추가 해 줍니다.
저는 opencv 설치 시 압축을 C:\에 해제했기 때문에 다음의 경로가 나타나게 되지만 여러분이 다른 경로에 압축을 해제했다면 해당 경로\opencv\build\include 가 되어야 합니다!! <include 폴더의 절대 경로를 넣어주시면 됩니다>
다음 작업으로는 링커 -> 일반 -> 추가라이브러리 디렉터리 부분에 압축 해제한 opencv\build\x64\vc14\lib의 경로를 추가 해주면 됩니다!!
마찬가지로 저는 C:\경로이기 때문에 C:\opencv\build\x64\vc14\lib이 되었습니다 이 때 64bit가 아니신 경우 x86을 이용하시면 됩니다!!
다음으로는 링커 -> 입력 -> 추가종속성 부분에 opencv_world320d.lib을 추가해줍니다!!
여기까지 설정을 완료했으면 프로젝트 속성부분을 확인 버튼을 눌러서 닫아주시면 됩니다!
마지막으로 OpenCv를 사용하기 위해서 darknet 소스코드 폴더인
darknet-master\build\darknet\x64 경로에 Debug 폴더를 만들고 해당 폴더 아네
c:\opencv\build\x64\vc14\bin 경로에 있는 파일들을 모두 복사를 하면 OpenCV를 정상적으로 사용 할 수 있습니다!!
2. Pthread
Pthread의 경우 기존에 설치가 되어있지만 __imp_pthread_create 로 인한 오류가 발생된다면 32bit/64bit 환경을 체크해볼 필요성이 있습니다.
참고로 pthread의 경우 64bit에서는 __imp_pthread_create 32bit에서는 __imp__pthread_create를 사용합니다!!!!
그럼 Phtread 설치방법을 진행하겠습니다.
Pthread의 경우 ftp://sourceware.org/pub/pthreads-win32 에서 다운로드를 받으 실 수 있습니다.
<ftp 서버 다운로드를 받는 방법은 윈도우 탐색기 즉 아무폴더나 여시고 폴더 경로에 위 주소를 입력하시면 서버와 연동되어 파일을 다운로드 할 수 있습니다!!!>
다운받을 파일은 windows 10 64bit로 진행하기 때문에 최신버전인 prebuilt-dll-2-9-1-release/ 안의 include, dll, lib 3개의 폴더만 다운로드 받아주시면 됩니다!! 다운로드한 폴더는 darknet-master 폴더 안에 pthread라는 새로운 폴더를 만들고 해당 폴더 안에 넣어두겠습니다!!
그럼 이제 visual studio를 실행하고 darknet_no_gpu.snl 프로젝트를 open 하겠습니다!!
그리고 프로젝트 속성을 연후 위의 OpenCV 셋팅과 마찬가지로 C/C++ -> 일반 -> 추가 포함 디렉터리 에 방금 다운로드 받은 pthread include 폴더의 절대경로를 추가시켜 줍니다!!
다음으로는 링커 -> 일반 -> 추가 라이브러리 디렉터리에 pthread lib 안에 x64 폴더의 절대경로를 추가시켜 줍니다!!
다음으로 링커 -> 입력 -> 추가 종속성에 lib 안에 존재하는 모든 라이브러리파일(.lib)을 추가 합니다!!
제 경우에는 pthreadVC2.lib 파일 하나만 존재했기 때문에 해당 파일 하나만 추가했습니다.(opencv_world320d.lib은 위의 OpenCv사용을 위해 추가한 라이브러리 파일 입니다!!)
이렇게 visual studio의 옵션을 셋팅을 완료한 뒤 마지막으로 pthread dll 폴더안에 존재하는 모든 파일을 C:\Windows\System32 폴더안에 복사를 하면 됩니다! 32bit pthread를 설치하시는 경우 C:\Windows\SysWOW64 안에 복사 해주시면 됩니다!!
Open CV와 pthread 셋팅 작업이 모두 완료 되면 해당 프로젝트를 재빌드 (그냥 빌드하면 에러 날 때가 가끔 있기 때문에 재빌드를 추천합니다!!)를 해주시면 정상적으로 성공하는 것을 볼 수 있습니다!!!
오늘은 Windows 10 Visual Studio 2015 환경에서의 간단한 설치에 대해서 포스팅이 이루어졌습니다.
다음에는 이제 설치된 환경을 바탕으로 직접 프로젝트를 진행해보고 진행내용 들을 바탕으로 포스팅을 진행하겠습니다!!
'OS > Windows' 카테고리의 다른 글
[Windows] Windows PE (0) | 2021.10.31 |
---|---|
[Windows] ADS (2) | 2018.07.01 |
[Windows] 윈도우 문자열 처리 (0) | 2018.03.19 |
[Windows] WS2_32 라이브러리 (2) | 2018.01.15 |