[AI Crew][활동]미니프로젝트/현실 속 쓰레기, 인공지능으로 분류할 수 있을까?/인공지능사관학교

2025. 7. 30. 12:17대외활동/인공지능사관학교

728x90
반응형
SMALL

 

[프로젝트 개요]

인공지능사관학교에서는 이론 수업과 함께 짧은 프로젝트 중심의 실습 학습이 병행됩니다.💪
이번 7월에는 머신러닝, 딥러닝, Java, JavaScript, AWS, HTML, React, 리눅스 등 다양한 기술들을 배웠고,
이 배운 내용을 바탕으로 2주간의 짧은 프로젝트를 팀을 꾸려서 기획하고 수행하는 시간이 있었습니다.

 

저희 팀이 선택한 주제는 분리 수거 쓰레기 구분 입니다. 

구체적인 사항은 쓰레기 이미지 분류 모델 개발을 통한 웹 사이트 구축입니다.
실생활에서 유용한 주제이며, 전이학습(Transfer Learning), 데이터 전처리, 모델 튜닝
7월에 배운 딥러닝과 웹 개발 내용을 정리하고 실제로 구현해볼 수 있는 좋은 기회라고 판단했습니다.

 

[프로젝트 목표]

  • 분리수거 대상 쓰레기(예: 플라스틱, 유리, 종이 등)를 이미지로 분류할 수 있는 AI 모델 개발
  • MobileNetV2 전이학습등을 활용한 분류 정확도 향상 (최소 70% 이상 확보/실제 이미지 포함)
  • 현실 쓰레기 이미지에서도 오작동하지 않도록 일반화된 성능 확보

 

[적용 기술]

영역 사용 기술
모델링 PyTorch, MobileNetV2, 전이학습(Transfer Learning)
데이터 Garbage Classification Dataset + 수집한 현실 이미지
성능 개선 Data Augmentation, Dropout, EarlyStopping, Learning Rate Scheduler
시스템 관리 GitHub 협업
기술 반영 7월 수업 중 배운 PyTorch 딥러닝 + springboot+ Github
 

[주요 과정 요약]

1. 데이터 수집 및 전처리

  • 클래스: cardboard, glass, metal, paper, plastic, trash
  • 데이터 불균형 문제 → Data Augmentation으로 해결
  • 현실 이미지 수집(직접 촬영 포함) → 실제 환경에서도 분류 가능하게 보완

캐글 제공
추가 이미지도 기존의 이미지와 동일한 분류로 6개로 생성

2. 모델 구성 및 성능 개선

  • MobileNetV2 기반 모델 구조 설계
  • 정확도 초기 74% → Dropout, Batch Normalization, 이상치 제거 등을 통해 개선 시도
  • 학습률 감소(LR Scheduler) 및 EarlyStopping 튜닝으로 과적합 방지

코랩 진행 모델링 코드 일부

3. 오류 해결 사례

  • EarlyStopping이 너무 빨리 작동 → patience 조정
  • Git 브랜치 충돌 → main-dev / model-dev 브랜치 전략 수립 및 README.md 기록 공유

 

[최종 결과]

  • 현실 쓰레기 이미지를 포함해도 비교적 안정적인 분류 결과 확보
  • 실제 활용 가능성은 아직 낮지만, 딥러닝 모델링 전 과정 경험에 큰 도움이 됨

 

[프로젝트를 통해 느낀 점]

이번 프로젝트는 단순히 AI 모델을 구현하는 것에 그치지 않고,
데이터 수집부터 모델링, 성능 튜닝, Git 협업까지 한 사이클을 직접 경험해볼 수 있는 의미 있는 기회였습니다.

특히, 수업에서 배운 전이학습과 하이퍼파라미터 튜닝 개념이 실제 프로젝트에 어떻게 적용되는지를 체감했고,
현실 환경에서의 일반화 성능이라는 딥러닝의 과제를 직접 겪어보며 많은 인사이트를 얻을 수 있었습니다.

 

추가적으로 정제가 잘 된 데이터로 학습하여 성능이 좋은 모델은 현실의 자료에서는 성능이 일치 하지 않을 수도 있다는 점을 느꼈습니다. 😥 배울 때는 성능을 높이는 모델을 한 두번 만들면 됐지만, 현실에서는 좋은 성능의 모델도 추가적인 학습이 지속적으로 필요하다는 점을 이번 프로젝트를 통해 배웠습니다.

 

다른 생도 분들 혹은 개발자 분들은 어떤 프로젝트로 어떤 인사이트를 얻으셨나요?

🔖 GitHub 저장소

👉 https://github.com/leemis825/garbage_recycling

 

GitHub - leemis825/garbage_recycling

Contribute to leemis825/garbage_recycling development by creating an account on GitHub.

github.com

 

※ 데이터 제공 : https://www.kaggle.com/datasets/asdasdasasdas/garbage-classification

 

Garbage Classification

6 classes: cardboard, glass, metal , paper, plastic and trash.

www.kaggle.com

 

728x90
반응형
LIST