YOLOv2 darkflow on python(1)

1 minute read

빠른 속도의 object detection을 제공하는 YOLO의 파이선 버전인 darkflow를 windows10 호스트에 설치하는 과정을 기록하려고합니다. 가상환경을 만들어 그 통 안에서만 작업하도록 하기위해 아래와 같은 순서대로 해줍니다.

  1. 아나콘다 설치
    이미 설치 되었다고 가정하고 진행합니다.

  2. CUDA Toolkit 설치
    cuda_10.0.130_411.31_win10을 설치해주세요.
    https://developer.nvidia.com/cuda-10.0-download-archive

  3. cuDNN SDK 설치
    cuDNN v7.6.5 (November 5th, 2019), for CUDA 10.0을 설치해주세요.
    https://developer.nvidia.com/rdp/cudnn-download

  4. 가상환경 생성 및 활성화
    이 곳을 참고해주세요 하지만 tf설치의 경우 버전을 지정해서 설치할 것이므로 이 글을 참고해주시기 바랍니다.

  5. tensorflow 1.* 설치
    conda install -c anaconda tensorflow-gpu=1.15.0

버전을 잘 맞춰 설치해주셔야합니다. darknet은 tensorflow \1.*에서 사용이 가능하기 때문에 호환 고려해서 설치해주면 위와 같이 됩니다.

2~3번 과정에서 쿠다 툴키트를 설치한 이후에 cuDNN 압축해제를 해보게되면 안쪽에 bin, include, lib 디렉토리가 보이실 겁니다. 그들을 복사해서 툴키트 다운받은 디렉토리쪽으로 덮어씌워주세요!

또한 여기까지 잘 따라해주셨다면 시스템 환경변수에 cudnn path도 추가해줍니다.

6.dependencies 설치
python3, tf1.0 외에도 darkflow를 이용하기 위해서는 numpy, opencv3를 이용한다고 기술되어있습니다.
cython은 파이선 컴파일러로서 darkflow 빌드를 위해서 함께 설치해줍니다.

conda install numpy
conda install -c conda-forge opencv
conda install -c anaconda cython

7.YOLO darkflow 다운로드 및 빌드 GitHub : https://github.com/thtrieu/darkflow

git에서 다운받거나, clone하여 로컬 내 가상환경 폴더 안으로 이동해서 다운로드합니다. 저는 클론해오도록 하겠습니다.

git clone https://github.com/thtrieu/darkflow

혹시나 이 과정에서 오류가 난다면

Conda install -c anaconda git

이 명령어를 입력하신 후 다시 시도해보세요!

폴더 내에 darkflow라는 디렉토리가 생성되었으면 완료되었습니다.

그 다음은 빌드할 차례인데요. darkflow 폴더로 들어가보면 setup.py파일이 있을 겁니다.
그 파일을 빌드시켜주면 됩니다.

python3 setup.py build_ext --inplace

위 명령어를 입력하고 나면 build라는 디렉토리가 생성되었음을 확인할 수 있습니다.

그 다음 단계는 weights file을 다운로드 하는 것입니다.
darkflow 테스트를 위하여 이미 학습되어있는 가중치 파일을 다운로드하는 것이죠.
여기 Darknet 사이트에서 제공되는 YOLOv2 608x608 weights file을 다운받도록 하겠습니다.

다운이 완료되었다면 darkflow 폴더 내에 bin이라는 디렉토리를 새로 생성하고, 그 안에 조금 전 다운받았던 yolov2.weights 파일을 넣어주세요.

한 번 테스트로 실행 시켜보도록 합시다!

python flow --imgdir sample_img/ --model cfg/yolo.cfg --load bin/yolov2.weights --gpu 1.0

이미지 경로를 sample_img로 지정하고, bin/yolov2.weights라는 weight를 불러와 gpu 100%로 가동한다는 의미의 명령어 입니다.

위 명령어를 입력하게 되면 뭔가가 호다닥 지나가버릴건데요


이렇게 나와서 당황하실 필요가 없습니다ㅎㅎ

파일탐색기를 통해 darkflow/sample_img/out/으로 들어가 보시면 여러분께서 실행했던 결과로 json파일과 이미지 파일이 한쌍으로 확인 되실겁니다!
json에는 object detect 결과가 직렬화되어 저장되었을 것이니 에디터를 통해 열어서 확인해보시면 될 것 같아요!
이미지들도 한번 열어볼까요?

이렇게 나오면 아주 성공적으로 설치한 것 입니다!

이상 YOLOv2 darkflow 튜토리얼이었습니다.

개인이 공부하고 포스팅하는 블로그입니다. 작성한 글 중 오류나 틀린 부분이 있을 경우 과감한 지적 환영합니다!