안녕하세요 키노코더입니다.
AI (인공지능)이나 Machine Learning 등에 관심이 있으신 분들은 한번쯤 직접 결과물을 보고싶다는 생각을 많이 하실 수 있는데요. 그러한 SW Engineer들을 위해 오늘은 윈도우 환경에서 간단(?)하게 Machine Learning을 경험해보도록 하겠습니다.
오늘의 목표: 이미지에서 사물 인식하기
결과물 미리보기
이걸 잘 활용하면 이런 결과물도 얻을 수 있습니다.
전체적인 Flow는 다음과 같습니다. Visual Studio로 빌드를 해본 경험이 있다면 쉽게 따라하실 수 있으며, 초보자도 충분히 따라할 만한 작업입니다.
- git hub에서 Windows용 darknet pull하기 (혹은 다운로드): Windows용 darknet (github)
- CUDA SDK 8.0 설치하기 (CUDA Toolkit)
- OpenCV 2.4.9 설치하기 (OpenCV library)
- Visual Studio에서 darknet 빌드하기
- 명령창에서 darknet 실행하여 이미지 내의 객체 인식하기
Windows용 Darknet 설치하기
CUDA SDK 설치하기
OpenCV 설치하기
Darknet 빌드하기
프로젝트 속성 - C/C++ - 일반 - 추가 포함 디렉터리
- CUDA SDK의 include 폴더 추가 (예: c:\cuda\include)
- OpenCV의 include 폴더 추가 (예: c:\opencv_2.4.9\opencv\build\include)
프로젝트 속성 - C/C++ - 전처리기 - 전처리기 정의
- CUDA를 사용한다면 'CUDNN' 추가
- CUDA를 사용하지 않는다면 'CUDNN' 추가 X
프로젝트 속성 - 링커 - 일반 - 추가 라이브러리 디렉터리
- CUDA SDK의 library 폴더 추가 (예: c:\cuda\lib\x64)
- OpenCV의 library 폴더 추가
(예: c:\opencv_2.4.9\opencv\build\x64\vc14\lib, c:\opencv_2.4.9\opencv\build\x64\vc12\lib)
빌드 - 솔루션 빌드하기 실행
- source 코드가 있는 폴더의 x64 폴더(혹은 x86)에 darknet.exe 파일이 생성된다.
Yolo 실행하여 결과 얻기
darknet.exe detector test data/coco.data tiny-yolo.cfg tiny-yolo.weights -i 0 -thresh 0.2
윈도우 명령창에서 위의 Command를 입력한 결과
이미지로 'data/person.jpg'를 입력한 결과
참고 사이트
YOLO: Real-Time Object Detection 실습해보기
우분투에서 YOLO를 수행할 때 참고하시면 좋을 것 같습니다.
'D 개발 이야기 > Image Processing' 카테고리의 다른 글
[OpenCV] 파이썬(python)으로 얼굴 검출 (Face Detection) 맛보기 (1) | 2017.07.04 |
---|---|
[OpenCV] 라즈베리파이 (Raspberry Pi) 3에서 웹캠 (WebCAM) 영상 가져오기 (1) | 2017.04.12 |
AWS (아마존 웹 서비스)에서 Darknet YOLO 사용해보기 (0) | 2017.04.02 |
[OpenCV] 라즈베리파이(Raspberry Pi) 3에 OpenCV 설치하여 Python에서 사용하기 (2) | 2017.03.28 |