Skip to content

dbtjr1103/CV_Plastic-R

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

프로젝트 진행기간 : 2022. 12. 07 ~ 2022. 12. 16

개요 및 주제 선정 배경

카페에서 사용하는 일회용품 인식 모델 구현

주제 선정 배경 :

환경부 일회용품 규제 (2022.11.24)

일회용품의 종류에 따른 주별 평균 사용량을 바탕으로 가장 빈번하게 사용되는 카페의 일회용 컵을 아이템으로 선정. 카페 매장 내에서 사용되는 플라스틱/종이 일회용 컵과 빨대를 인식함으로써 본 규제가 잘 시행되는지 확인하는 데 도움이 되는 프로그램을 구현하고자 함.

구현 예시

Image Detection 방식을 이용하여 위와 같이 컵과 빨대를 인식할 수 있게끔 설정. 카페 매장 내 cctv에 찍힌 이미지 데이터를 프로그램에 넣으면 매장 내 일회용품 여부를 확인할 수 있게 함.

사용한 모델

  • YOLOv4 custom (darknet)

데이터 수집 및 전처리

데이터 수집

1차 : roboflow의 TACO 데이터셋을 참조하여 데이터를 수집하고 라벨링하기로 함.

데이터 수집 방법 : 상기된 roboflow TACO 데이터셋을 비롯한 roboflow 데이터셋 활용 또는 Google Chrome의 크롤링 도구 확장 프로그램 활용. 키워드 검색* 을 통해서 Naver, Google, GettyImages, Pinterest, iClickart 등 각종 사이트의 이미지를 크롤링.

* 한글 키워드 '카페 일회용품 규제', '카페 테이크아웃 컵', '카페 플라스틱 컵' 등... * 알파벳(영어) 키워드 'cafe high angle', 'cafe ice cup', 'plastic straw' 등...

2차 : 라벨을 일회용품 규제대상(플라스틱 컵, 종이컵, 플라스틱 빨대)와 비교군(유리컵, 머그컵, 텀블러, 종이 빨대)로 나누어 설정하고, 관련된 데이터를 수집 한 라벨당 최소 500개 이상의 Bounding Box 생성을 목표로 함.

3차 : 라벨을 정한 뒤, 수집한 데이터를 roboflow workspace에 업로드. 업로드한 이미지 각각의 객체에 직접 Bounding Box를 지정.

Bounding Example

4차 : 데이터를 학습시킨 뒤 모델을 시험하여 mAP (Mean Average Precision)을 기준으로 모델의 성능 평가. 데이터셋을 분석하여 라벨링 수정, 이미지 수집 기준 강화, 이미지 사이즈 조절, 이미지 종류 변경* 으로 인한 이미지 재수집 등의 데이터 정제 과정을 시행

* 컵/빨대가 크게 찍힌(큰 객체, 좁은 이미지)에서 cctv 사진(넓은 이미지, 작은 객체)로 변경하여 이미지 재수집.

5차 : 위 과정을 성능(mAP 기준)이 최대한 향상되도록 반복하여 시행

최종 데이터셋 : 이미지 1,867장

일회용품 규제대상 : 플라스틱 컵 702개, 종이컵 1,016개, 빨대 775개 일회용품 비교군 : 유리컵 748개, 머그컵 777개

Label 분류

초기 레이블 (from TACO Dataset)

  • 11 Disposable plastic cup
  • 33 Other plastic cup
  • 34 Other plastic wrapper
  • 36 Paper cup
  • 37 Paper straw
  • 42 Plastic lid
  • 43 Plastic straw
  • 45 Polypropylene bag

최종 레이블

  • cup_plastic
  • cup_glass
  • cup_paper
  • cup_mug
  • straw

모델 시행 과정

총 14차 시행.

1차, 2차 시행

  • 1차시행
  • 2차시행 컵과 빨대를 잘 Detection할 수 있는지에 초점을 맞춤.

일회용 컵과 빨대 종류를 확인.

2차시행 : rotation augmentation 추가실행, 이미지 사이즈 증가

  • 문제점 및 해결방안 모든 컵을 종류불문 Disposable로 인식 - 비교군 설정으로 해결 빨대 종류 구별이 어려움 - 빨대 라벨은 한종류로 통일, 빨대 객체 사이즈 키우기 2차시행시 mAP가 대폭 하락 : 불필요한 증강 및 데이터셋의 정제가 온전치 않았음.
  • 증강을 하지 않고, 기본적인 데이터 핸들링에 집중하기로 함.

3차 시행

  • 빨대 라벨 하나로 합침.
  • 컵을 일회용품(paper, plastic)과 비교군(glass, tumbler, mug)으로 나누고, 컵 라벨을 5가지로 세분화.
  • 문제점 및 해결방안 텀블러의 AP가 유독 낮았음 - 이미지에서 쉽게 판독 가능, 라벨이 지나치게 많다고 판단하여 텀블러 라벨 삭제 객체가 클수록 인식 성능 오름 - cctv 이미지에서도 성능을 좋게 하기 위해 이미지 사이즈를 늘려야 할 것으로 정함.

4차, 5차 시행

  • 4차시행
  • 5차시행 텀블러 라벨 삭제, 약간의 데이터 핸들링을 거친 후, 이미지 사이즈를 608 x 608, 416 x 416 으로 나누어 비교하기로 함.
  • 문제점 및 해결방안 mAP는 개선되었으나, 실제 test 결과 배경에 객체가 있는 것으로 인식하거나 인식하지 못함 - test 사이즈를 학습시킨 이미지 사이즈와 같게 맞춰주지 않았음. 빨대(straw)의 AP가 다른 라벨들에 비해 유독 낮음 - 빨대 객체의 Bounding Box 형태가 크게 차이나는 것 때문으로 파악. 빨대 라벨을 제거하고 진행해 보기로 함.

6, 7, 8 차 시행

: 라벨 이진분류 test(disposable vs reusable) 라벨분류와 데이터셋 정제를 위한 단순 test 분류임.

9차, 11차 시행

  • 9차시행
  • 11차시행

라벨 이진분류 test, 데이터 재수집 및 핸들링 진행 이미지 size가 416 x 416일 때보다 608 x 608일 때 mAP가 향상됨을 확인 - 이미지 size는 608 x 608로 정함.

10차, 12차 시행

  • 10차시행 9차시행과 동일한 데이터로 수행. 프로젝트 목적에 좀 더 부합한 데이터셋을 구축하기 위해 라벨을 4가지로 세분화시키고 모델을 구동시킴.
  • 12차시행 프로젝트 목적에 맞도록 빨대 라벨 다시 추가 빨대 라벨의 AP가 여전히 낮음 - 빨대 라벨 데이터를 비롯해 전반적인 데이터의 양을 늘리기로 함.

13차 시행

라벨별 객체 개수를 라벨당 최소 700개로 잡음. - 라벨별 AP가 대체로 향상되는 것 확인.

14차 (최종) 시행

  • 이미지 데이터, 라벨 별 객체 개수 추가
  • Mosaic Augmentation 수행 (from roboflow) mAP를 상용화 수준(over 80%)까지 끌어올릴 수 있었음.
  • 14차 시행의 loss-mAP 그래프
  • 14차 시행 실제 test 적용 결과

남은 문제점 및 해결방안

  • 빨대의 종류, 유리컵과 플라스틱컵을 혼동하기 쉽다 - 추가 테스트 및 실제 상용화를 거쳐 데이터를 지속적으로 추가 수집하며 성능 개선을 할 수 있을 것으로 기대.
  • 실제 이미지로 test한 결과가 (아래 그림과 같이) 예상보다 부정확함
    • 객체의 질감 요소 등 추가 정보를 주어 데이터를 개선할 수 있을 것으로 판단.

활용 계획 및 기대 효과

활용 계획

  1. cctv 영상 1200 frame 단위로 나누어 이미지 저장
  2. 1시간 당 3장, 12시간 영업시 36장 -> 한달 1,000장 이상
  3. 본 프로젝트에서 구축한 프로그램을 사용하여 매장 내 일회용품 사용량을 계산 후 분류, 실제 단속 시 참조

기대 효과

  1. 현장 감독 인원을 최소화하여 노동력의 낭비를 막음.
  2. 이를 바탕으로 단속의 효율을 높여 일회용품 쓰레기 배출량 감소 촉진, 제도의 실효성을 확대시킬 수 있음.
  3. 상용화를 통한 프로그램의 검증으로 다른 업종에도 적용하거나 프로그램을 해외에 수출하여 추가 수익을 얻을 수 있을 것으로도 기대됨.
  4. 지속적인 학습으로 프로그램을 꾸준히 개선하여, 2024년 UN 플라스틱 규제 협약안에 제안 가능

About

object detection project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors