본문 바로가기

My Project

[코드스테이츠 / 딥러닝] 도배 하자 이미지 분류 (ResNet, EfficientNet)

1. 개요

  • 기간 : 2023.5.10 ~ 5.15 (총 6일)
  • 과제 : 직접 선택한 데이터셋을 사용해 머신러닝 예측 모델 구축, 성능 평가 및 인사이트 공유
  • 코드 보러가기
 

GitHub - HeeYoung-code/Codestates-Project

Contribute to HeeYoung-code/Codestates-Project development by creating an account on GitHub.

github.com

 

도배 하자 유형 분류

한솔데코 도배 하자 유형 분류 모델 구축 Deep Learning Image Classification AI 18기 박희영

docs.google.com

 

 1-1. 문제 정의

  • 국토부, 2020년 11월부터 ‘도배 하자 판정 기준’ 강화
  • 시공사인 한솔데코로 하자 문의 급증해 이전보다 빠르고 효율적인 고객 대처 방안이 필요하다

  • 이에 인공지능을 통한 도배 하자 분류 시스템을 적용하고자 한다
  • 고객이 문자 또는 메신저로 도배 하자를 카메라로 찍어 전송하면 딥러닝 모델을 통해 자동 분류하고 해당 부서 또는 현장인력에게 전달하여 대응하는 시스템 구상

1-2 데이터

  • 데이터 : 3300여개의 도배 하자 이미지와 라벨
  • 출처 : 데이콘 (https://dacon.io/competitions/official/236082/data)
  • 문제 유형 : 딥러닝 / 지도 학습 / 이미지 처리 / 다중 분류
  • 예측 대상 :  이미지로 도배 하자 유형 분류. 수정, 면불량, 오염, 울음, 곰팡이, 녹오염, 반점 등 19가지 유형

  • 타겟 클래스 불균형 확인. Image Augment를 통해 부족한 클래스의 데이터를 늘리고 싶었지만 프로젝트 기간이 짧아 모델 구축부터 진행했다

클래스별 이미지 갯수

2. 모델 학습 및 선정

2-1. Custom CNN 

  • 대표적 이미지 분류 알고리즘
  • 장점 : 단순하고 빠르다
  • 단점 : 레이어를 직접 쌓고 훈련을 zero-base에서 시작해야 한다
  • 구성 : 3개의 Convolution층과 2개의 Dense 층
  • 학습 : 전체 레이어의 가중치 업데이트 / early stopping 적용
  • 학습 시간 : 총 40분
  • 기준 모델로 이용

2-2. ResNet

  • 대표적 이미지 분류 사전학습모델
  • 2015년 이미지넷 챌린지 우승
  • 장점 : 어려운 학습에서도 좋은 성능을 보인다
  • 단점 : 복잡한 구조로 메모리 사용량이 크고 학습이 느리다
  • 현재 GPU 환경에 가장 적합한 ResNet50V2 선택
  • 구성 : 기존 ResNet 모델에 2개의 Custom Dense 층을 추가
  • 학습 : 사전학습모델 가중치는 freeze, 추가한 custom layer 가중치만 업데이트 / early stopping 적용
  • 학습 시간 : 총 28분

2-3. EfficientNet

  • 대표적 이미지 분류 사전학습모델
  • 2019년 이미지넷 챌린지 우승
  • 장점 : 적은 파라미터로 높은 성능을 보인다
  • 단점 : ResNet보다 파라미터수가 많아 학습시간이 길고 튜닝이 까다롭다
  • 현재 GPU 환경에 가장 적합한 EfficientNetV2B2 선택
  • 구성 : 기존 EfficientNet 모델의 층을 2개의 Custom Dense 층을 추가
  • 학습 : 사전학습모델 가중치는 freeze, 추가한 custom layer 가중치만 업데이트 / early stopping 적용
  • 학습 시간 : 총 33분

2-4. 모델 학습 후 결과 비교

Validation set을 적용했을 때, loss가 가장 적고 Accuracy가 가장 높은 ResNet 선택

 

3. 성능 향상

3-1. Fine Tuning

  • 사전학습모델 190개 레이어 중 160개 고정
  • 나머지 30개 레이어와 커스텀 레이어를 train set에 맞게 가중치 업데이트

3-2. Hyperparameter Tuning

  • Learning Rate, Batch_size, Optimizer 탐색
  • 베이지안 서치 이용

4. 최종 테스트 

  • 직접 촬영한 이미지를 통해 모델 시험
  • 의도한대로 이미지 분류하며 잘 작동함을 확인
  • 결과 : 3개 중 2개만 맞히고 1개 틀림

5. 모델 적용 기대효과

  • 고객 서비스 만족도 상승으로 시장 점유율 상승
  • 하자 유형 자동 분류로 유관 부서 단순 노동 업무 감소
  • 문자 또는 메신저 응대로 고객지원센터 피로도 감소
  • 효율적인 데이터 수집 파이프라인 구축

6. 개선 방향

  • 클래스 불균형 해결 : 이미지를 기울이고 뒤집고 밝기를 낮추는 방식의 왜곡으로 이미지를 늘려 모델 재학습
  • EifficinetNet 개선 : 해당 모델의 결과가 예상과 다르게 매우 낮음. 원인을 찾아보고 바로 잡아 다시 비교하는 과정 필요
  • Post Processing 시스템 구축 : 모델이 결과와 함께 '확신 정도'를 함께 반환해 확신 정도가 낮을 경우 유관부서에 전송해 직원이 직접 분류하는 시스템 추가