일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 생성형
- deeplearning
- AI
- KoGPT
- ChatGPT
- LLM
- gpt
- Stable Diffusion
- generative
- LLaMA
- hyperclovaX
- naver
- Meta
- AIVLE
- ML
- 딥러닝
- OpenAI
- SearchGPT
- KT
- GPT-4
- 네이버
- GPT-3.5
- 3기
- GPT4
- 인공지능
- 생성형 AI
- nlp
- TRANSFORMER
- SKT
Archives
- Today
- Total
Ttoro_Tech
[AIVLE_3기]_16주차_Dacon_도배 하자 유형 분류 AI 경진대회 본문
https://dacon.io/competitions/official/236082/overview/description
도배 하자 유형 분류 AI 경진대회 - DACON
분석시각화 대회 코드 공유 게시물은 내용 확인 후 좋아요(투표) 가능합니다.
dacon.io
AIVLE 세번째 공모전 참여
최대 인원이 5명으로, 기존 4인과 한 분을 더 모집하여 이미지 분류 문제에 참가함
목표
이미지 데이터를 기반으로 도배의 하자 유형을 정확하게 분류해 낼 수 있는 AI 모델을 개발하자
지도 학습 + 컴퓨터비전
Classification : 가장 쉽게 접근할 수 있는 문제 정의로 이미지 전체를 보고 분류함
Segmentation : Object Detection 문제로 벽지의 하자는 이미지 전체를 보는 것이 아니라, 문제인 부분만 학습하여, 문제 부분을 탐지하는 문제
'23.05.22. 최종 F1-Score 0.604151907
문제 접근 방법
Classification CNN
- 처음 문제를 해결하기 위해, 먼저 가장 쉽게 접근할 수 있는 classification 문제로 접근하였다.
- 다양한 pre-trained 된 CNN 모델을 사용하였고(EifficientNet, ResNet, VGG 등), 이미지 불균형으로 인한 과대적합을 방지하기 위해 Augmentation 작업을 진행하였다.
- 하지만 수직, 수평 변환 및 약간의 줌을 주는 정도로 이미지 증강을 처리했기 때문에, 최소 약 28%의 score와 강제로 이미지 수를 모두 일정하게 맞췄을 때 Score는 약 50%의 score로 더 이상 성능의 향상이 보이지 않았다.
- 또한 하자 중 틈이나, 벽지 내에서 색 때문에 잘 보이지 않는 특징을 눈에 띄게 하기 위해 Sobel filter 역시 적용하였으나, 이미지 내에서 하자 부분을 학습하기 보단 이미지 내에 다른 부분의 특징을 학습하는 것을 확인할 수 있었다.
- 따라서 이를 해결하기 위해 다음 문제로 새로 정의하였다.
Segmentation CNN
- 해당 이미지는 벽지 하자 이미지로, 이미지 내에 하자가 하나 또는 하나 이상의 유사한 하자가 존재하는 이미지이다.
- 하지만 대회에서는 detection boxing 데이터를 제공하지 않았기 때문에, 약 3,000 장의 이미지를 폴더별 label을 보면서 5명이 직접 라벨링 작업을 시작했다.
- 팀원들끼리 각자 라벨을 맡아 약 600장을 직접 눈으로 보면서, 라벨링 작업을 시작했으나 많은 어려움이 있었다.
- 라벨링된 폴더 내 이미지가 유사한 특징을 보여야 하는데 그렇지 않은 데이터도 존재하였고, 심지어 가장 데이터가 많은 훼손에서는 팀원들과 상의를 해도 분류하기 어려운 이미지들이 다수 존재하였다.
- 또한 하나의 이미지 내에서도 하나 이상의 특징이 들어나, 이것은 하나의 라벨로 보기 어려운 이미지도 많이 있었다.
- 우리는 이와 같은 데이터를 학습하기 보다는 빼는 방향으로 진행하였으나, 실제 회사에서 상용화하기 위해서는 도메인에서 장기간 일해오신 분과의 협업을 통해 해결해야할 문제이다.
- 우리는 정확도는 조금 포기해야 하지만, 빠르게 결과를 확인할 수 있는 Yolo모델을 채택하였고, yolo_v5s, v5m, v5l, v8s, v8m, v8l 등 다양한 크기의 모델을 사용하여 학습시켰다.
- 어느 정도 벽지의 하자를 잘 탐지하는 것을 확인할 수 있다.
- 하지만 다음과 같은 문제도 발생하였다.
- 해당 문제를 해결하기 위해 라벨링 작업을 검수하였으나, 실제로 겹치는 부분도 많이 존재하였고 작업자가 아닌 이상 판별하기 애매한 부분이 많이 존재하였다.
- 라벨링 작업에 많은 시간이 소모되어 대회 기간내에 성능 향상을 하지는 못했지만, 초기 약 28%의 Score에서 약 60%까지 올린 것은 충분히 가치있는 결과였다.
- 추후 더 정확한 프로젝트를 진행하기 위해 속도는 느리지만 정확도가 좋은 2-Stage 방식 모델을 선정하거나, 최근 많이 사용되는 Multi-Modal 모델을 활용하여 벽지 이미지를 설명하는 데이터와 이미지를 함께 학습하여 분류하는 것도 좋은 방향일 것으로 예상된다.
- 또한 양질의 라벨링 데이터가 존재한다면 지금보다 더 좋은 데이터셋을 구성하여 분류에 높은 정확도를 기대할 수 있을 것 같다.
마무리
- 이번 프로젝트를 통해 실제 벽지 이미지 데이터를 보고, 다양한 하자에 대해 공부할 수 있었고 해당 증상이 어떤 증상인지를 분류하는 방법에 대해 고민해볼 수 있었다.
- 짧은 시간내에 라벨링하는 작업이 많은 시간이 소모되어 모델을 학습하는 시간이 많이 부족하였다.
- 단순한 이미지 분류 모델을 사용하는 것은 실제 하자 이미지 데이터를 분류하는데 많은 한계가 있는 것을 확인할 수 있었다.
- 데이터를 더 많이 수집하여 학습한 후 모델을 일반화 하는 작업을 수행한다면 더 높은 정확도를 기대해볼 수 있을 것 같다.
- Multi Modal 모델에 대해 공부하여 해당 Task를 다시 시도해보면 좋을 것 같다.
'Data Projects' 카테고리의 다른 글
[한국철도999_5위]_AIFactory_철도 인공지능 대회 (0) | 2023.09.12 |
---|---|
[LG Aimers 3기]_온라인 채널 제품 판매량 예측 AI 온라인 해커톤 (0) | 2023.08.31 |
[AIVLE_3기]_15주차_AI_SPARK_CHALLENGE(2탄) (0) | 2023.05.09 |
[AIVLE_3기]_12주차_AI_SPARK_CHALLENGE (0) | 2023.04.18 |