일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- KoGPT
- SKT
- deeplearning
- nlp
- 딥러닝
- 인공지능
- AIVLE
- 생성형 AI
- ML
- LLM
- TRANSFORMER
- GPT4
- naver
- 네이버
- AI
- GPT-3.5
- Meta
- ChatGPT
- 3기
- GPT-4
- Stable Diffusion
- SearchGPT
- 생성형
- KT
- generative
- hyperclovaX
- LLaMA
- gpt
- OpenAI
Archives
- Today
- Total
Ttoro_Tech
[AIVLE_3기]_8주차_Mini_project_1st 본문
3차 미니프로젝트 1번째 주제
차량 공유업체의 차량 파손 여부를 분류하자
sub : ResNet18, VGG-16, Image Classification Task
1. DataSets
- 주어진 데이터는 실제 차량 파손 이미지를 구하기 어려움으로,
DALL-E 라는 이미지 생성 모델을 통해 학습 데이터를 생성한다. (정상 이미지 302개, 비정상 이미지 303개)
- train, validation, test 데이터 셋 추출
- splitfolders 모듈을 사용
- train:validation:test = 0.6:0.2:0.2의 비율로 나눔
- 각각 Car_Images_train, Car_Images_val, Car_Images_test라는 새로운 폴더에 저장하였음.
- 각 폴더 안에는 abnormal / normal 폴더가 별개로 존재함.
2. Input Data 전처리
- 학습에 용이하기 위해 이미지 크기를 280 * 280으로 변환한다.
- Min_Max Scale을 통해 범위를 일정하게 유지하게 해, 학습에 안정화를 줌.
- 추가로 다양한 이미지 전처리 필터를 통해, 실험을 진행함.
2.1 추가적인 실험
- RGB를 Gray Scale로 변환
OpenCV의 Contour 함수 적용
3. 모델
VGG-16[paper]
- 이미지 분류를 위해, 기존 ImageNet으로 Pretrained된 VGG-16 모델을 사용함.
- 모델 구조는 변경하지 않고, 마지막 FC layer에 노드 수가 128개인 hidden layer를 추가
- Output layer는 우리의 문제에 맞게 이진 분류 layer로 수정함.
ResNet18[paper]
- 데이터가 적어, 큰 모델은 Overfitting이 발생하는 것을 발견하고 ResNet 중 가벼운 모델인 ResNet18을 선택
- 이번 학습에는 이미지 크기를 기존 논문에서 사용한 이미지 크기인 (224 * 224)로 변환해서 진행
- VGG-16 모델과 동일하게, Transfer Learning을 사용하였으며, 마지막 layer를 이진 분류 layer로 변경함.
4. 결과
VGG-16과 ResNet18을 사용하여, Transfer Learning한 결과 약 95% 이상의 정확한 분류를 보여주었다.
5. 결론
- 모델을 학습하던 중 Validation Accuracy가 0.5에 갇혀서 빠져나오지 못하는 경우가 다수 발생하였다.
- 원인 1.
- validation data에는 train data와 달리, 데이터 증강 (Data Augmentation)을 적용할 경우 이러한 문제가 발생한다.
- 원인 2.
- 다양한 실험 중 사용한 모델이 데이터 수에 비해 큰 모델들(ResNet50, EfficientNet 등)을 사용하여, 과적합이 발생해 이와 같은 문제가 발생하였다.
- 이에 실제 Task에서는 더 많은 사고 차량의 데이터를 수집하여 학습한다면, 더 정확한 분류 모델 개선에 힘쓸 수 있을 것으로 기대된다.
6. 마무리
- 다양한 방법으로 차량 파손 여부 분류 문제 해결 모델을 작성하였다.
- 하지만 데이터가 충분하지 않아, 큰 모델(층이 깊을수록, Parameter가 많을 수록)일수록 오히려 성능이 떨어지는 모습을 보여주었다
- 따라서 사전학습 모델 중 작은 모델인 VGG16과 ResNet18을 선택하였으며, 두 모델 모두 95%이상의 정확도를 보여주었다.
- 이후 쏘카에서 사용하는 방법인 이미지 필터링이나, 파손 부위를 감지하여 분석하는 Image Detection 문제로 확장할 수 있을 것으로 기대된다.
'KT AIVLE School 3기 기자단 > Mini Project' 카테고리의 다른 글
[AIVLE_3기]_10주차_Bareun 형태소 분석 (0) | 2023.04.04 |
---|---|
[AIVLE_3기]_6주차_Mini_project_2nd (1) | 2023.03.28 |
[AIVLE_3기]_6주차_Mini_project_1st (0) | 2023.03.28 |
[AIVLE_3기]_8주차_Mini_project_2nd (0) | 2023.03.27 |
[AIVLE_3기]_3주차 첫 미니 프로젝트 (0) | 2023.02.21 |