[DeepLearning] 과수화상병 CV project

Heesu Ahn·2022년 10월 28일
1

project

목록 보기
1/2
post-thumbnail

깃블로그 작성일 : 2022-08-03

개발 레포 - B-oPy github

서비스 아이콘 이미지

개요

이어드림스쿨 2기 CV 미니프로젝트 과정에서 자유주제 과수화상병 이미지분류 프로젝트를 진행하였습니다. AIhub에서 과수화상병에 대한 데이터 셋을 구하여 딥러닝 모델로 CV image classification 질병 예측 모델을 만들었습니다. 과일을 케어해서 푸릇푸릇 하게 해보자는 의미로 프로젝트 이름은 FruitFroot으로 정하였습니다.

프로젝트 수행 절차

데이터셋

AI-hub 과수화상병 데이터셋 에서 제공된 사과, 배 질병 이미지 데이터를 바탕으로 이미지 분류 서비스를 구축하였습니다

  • 딥러닝 학습에 맞게 사이즈를 (224, 224) 로 줄이고, 데이터셋에 포함된 증강데이터 대신 tenserflow.keras.preprocessing.imageImageDataGenerator를 사용하여 총 사과 이미지 37024개와 배 이미지 22991개의 이미지 데이터들을 augmentation 하여 딥러닝 학습을 진행하였습니다.

데이터셋에서 분류가 가능한 사과와 배 질병 목록

Modeling

  • 처음에는 정상 배, 배검은병무늬병, 배과수화상병, 정상 사과, 사과갈색무늬병, 사과과수화상병, 사과부란병, 사과점무늬낙엽병, 사과탄저병의 9개의 클래스로 구분하여 Multi-Class Image Classification을 진행하였습니다. 그러나 테스트 이미지를 넣으면 사과와 배를 정확히 구분하지 못하였습니다.

  • 배와 사과를 구분하여 각각의 질병에 대해서 배는 MobileNetV2, 사과는 VGG19로 모델을 구축하고 아래의 결과를 얻었습니다. 이 모델들을 저장하여 테스트 이미지를 적용 시켰더니 잘 판단하는 모습을 보였습니다.
사과
MobileNetVGG19
Validation Loss0.05950.0922
Validation Accuracy0.97740.9705
  • VGG19 모델 개요

  • MobileNetV2 모델 개요

Flask API

Flask API와 html, JS, CSS 등을 활용하여 Front-End를 구축하였고, 로컬서버에서 테스트를 진행하였습니다.

데스크탑 화면

모바일 화면

자세히 보기 화면

reference

profile
AI로 데이터를 말하는 개발자

0개의 댓글