Windows에서 Tensorflow Object Detection API 설치하기!

Windows에서 각종 개발 환경을 설정하다보면 애로사항이 많습니다.

그 중에서 삽질(?)을 많이 했던 Tensorflow Object Detection API 에 대해서 설명할까 합니다.

설치하기 앞서 Python용 Tensorflow는 설치되었다고 가정합니다.

혹시 아직 설치하지 않으셨다면 다음을 참고하세요.

Tensorflow Pip install

모든 python version을 지원하는 것이 아니니 python version 확인을 해주세요!!

자, 이제 본격적으로 Tensorflow Object Detection API를 설치해보도록 합시다.

1. Tensorflow Object Detection API 다운로드

  • https://github.com/tensorflow/models 에서 다운로드 합니다.

  • 혹은 git이 설치되어 있다면
     C:\>git clone https://github.com/tensorflow/models
    
  • 앞으로의 설명 편의를 위해 압축 해제 폴더를 C:\models로 가정합니다.

2. protobuffer 다운로드

  • Windows 환경에서 protobuf 3.5.x version은 설치 문제가 있으므로 3.1 version으로 다운로드 합니다. 다운로드 가능 링크는 다음과 같습니다.

    protoc-3.1.0-win32.zip

  • 편의상 압축 해제 폴더를 C:\protoc-3.1.0-win32로 가정합니다.

3. 필요 라이브러리 설치

  • Python distribution(ex. Anaconda)로 Python을 설치하였으면 생략 가능합니다.

      C:\User\Musma>pip install pillow
      C:\User\Musma>pip install lxml
      C:\User\Musma>pip install jupyter
      C:\User\Musma>pip install matplotlib
    

4. proto files compile

  • API의 사용을 위해서는 다운로드 받은 protoc로 models 폴더 안의 proto 파일을 컴파일 해줘야합니다.

  • C:\models\research 디렉토리로 이동한 뒤에 다음 명령어를 실행합니다.
      C:\models\research> C:\protoc-3.1.0-win32\bin\protoc.exe object_detection\protos\*.proto --python_out=.  
    
    

    pb

  • 에러가 발생하지 않았으면 compile 성공이며 결과는 해당 폴더에 pb2.py들이 생성된 것으로 확인할 수 있습니다.

5. Object Detection API install

  • C:\models\research 디렉토리로 이동하여 다음의 명령어를 실행해 install 합니다.

      C:\models\research>python setup.py build
      C:\models\research>python setup.py install
    

6. 환경 변수 설정

  • install 이후 다음과 같이 환경 변수 설정을 해줘야합니다.

    Variable : PYTHONPATH
    Value : C:\models\research\slim , C:\models\research

  • 다음 스크린샷을 참고하세요. path

7. 설치 확인!

  • 다음 명령어로 설치를 확인해봅시다. 아래와 비슷한 메세지가 뜨면 설치가 제대로 된 것입니다.

      C:\models\research>python object_detection\builders\model_builder_test.py  
      Ran 22 tests in 0.102s
      OK
    
  • 가끔 이 과정에서 error가 나긴 합니다. NVIDIA CUDA toolkit을 설치하셨다면 설치 버전을 우선 확인하세요. 저는 멋모르고 v10.0을 설치하였다가 tensorflow가 지원하지 않는 버전이라 고생을 좀 했습니다.
  • Tensorflow가 지원하는 GPU 버전은 여기에서 확인 가능합니다.

8. Tutorial을 해보자!

  • C:\models\research\object_detection 디렉토리에 보면 python notebook 형식의 tutorial 파일 object_detection_tutorial.ipynb 이 있습니다.
  • 파일을 불러와 실행시키면 다음과 같은 결과를 확인할 수 있습니다.

result

if result is 'success':
    return '(づ。◕‿‿◕。)づ'
elif result is 'error':
    return 'ლ(ಠ益ಠლ)'
else:
    return '¯\_(ツ)_/¯'

[Reference]