Custom YOLO V3 Object Detection을 이용한 페트병 라벨 자동 분리기기
올바른 페트병 분리 배출 방법은 병뚜껑과 라벨을 제거하는 것이다. 이 중에서 라벨제거의 자동화를 통한 편의성 향상을위해 기기를 제작하였습니다.
- 크롤링 (BeautifulSoup)
- 딥러닝 (Yolo V3, colab, pythorch)
- 임베디드 (아두이노, 라즈베리파이 4)
- 어플리케이션 (iOS)
- 서버 (Firebase)
- 유저가 ios 어플리케이션에서 페트병을 인식합니다.
- 페트병에 라벨이 없다면 바로 분리수거 함으로 배출합니다.
- 페트병에 라벨이 있다면 기기 위에 페트병을 놓아 라즈베리 카메라로 라벨의 위치를 detect 합니다. (yolo v3 사용)
- 페트병의 라벨의 위치가 절단기의 위치와 다르다면 모터를 돌려서 절단기의 위치로 옮깁니다.
- 라벨과 절단기의 위치가 같아지면 절단기로 라벨을 제거합니다.
- 라벨을 제거후 분리수거 함으로 배출합니다.
라즈베리 파이에서 main.py를 작동시킨 후 application을 작동해야 합니다. 위치 조정 및 테스트는 CAMERA_TEST.py에서 진행하였습니다.
train_data.py
yolov3_custom2_last.weights - 딥러닝 모델
yolov3_custom2.cfg - configure file
coco.names - names file
main.py - 전체 control tower, server 그리고 arduino와 연동 CAMERA_TEST.py - real time detect 테스트, 좌표값 위치 맞추기 테스트
do_motor.ino - Serial 1 , left right motor 담당 cut_motor.ino - Serial 2, cut motor 담당
LiveCapturingApp.zip