PyTorch 로 YOLO v3 구현한 것을 Colaboratory 에서 돌려보자
목표
- 구현 및 학습된 YOLOv3 를 Colaboratory 에 가져와서 예측을 해보자
개요
YOLOv3 는빠른 Object Detection 을 하는 딥러닝 모델
- 웹페이지: https://pjreddie.com/darknet/yolo/
PyTorch 로 구현한 것을 참고했음
- Github: https://github.com/eriklindernoren/PyTorch-YOLOv3
Colaboratory 에서 가져와 예측해봄
- Github: https://github.com/nicewook/datascience_exercise/blob/master/PyTorch_YOLOv3.ipynb
실습
PyTorch-YOLOv3 깃헙의 README.md 파일만 따라해도 큰 어려움없이 동작함
- Colaboratory 의 GPU 옵션을 켜고, 끄고 실습하여 속도를 비교해볼 수도 있겠음 (런타임 >> 런타임 유형변경 >> 하드웨어 가속기 >> GPU)
준비작업
1) 깃헙에서 소스를 내려받고
2) 필요한 파이썬 패키지를 설치해준다
- 이때 Pillow 패키지 버전 이슈가 있으므로
- 기존 Pillow 패키지를 uninstall 해준 다음 다시 Install 해준다.
* 에러 메시지 참고
- torchvision 0.2.1 has requirement pillow>=4.1.1, but you’ll have pillow 4.0.0 which is incompatible.
3) 학습이 된 weight 를 다운로드 받는다
!git clone https://github.com/eriklindernoren/PyTorch-YOLOv3cd PyTorch-YOLOv3/!pip3 uninstall Pillow -y!pip3 install Pillowcd weights/!bash download_weights.sh
학습된 모델로 예측 (predict)을 해보자
predict 에 이용할 이미지는 /content/PyTorch-YOLOv3/data/samples/ 에 있으며
predict 결과는 /content/PyTorch-YOLOv3/output/ 에 저장된다.
예측은 detect.py 파일을 실행하며 이미지 폴더 경로를 옵션에 설정해주면 된다.
!python3 detect.py — image_folder data/samples
예측 이미지 몇몇을 보자
아래는 구글에서 가져온 이미지를 돌려본 결과이다.
학습데이터에 없는지 주사위는 인식하지 못하였음