📌 대회 소개
[ 대회 명 ]
2024 데이터 크리에이터 캠프 (DATA CREATOR CAMP) 대학부
[ 주제 ]
인공지능은 사람의 마음을 이해할 수 있을까?
(패션데이터셋 분류 및 추천 시스템 구축)
[ 기간 ]
2024.09.23 ~ 2024.11.30
[ 참가자 ]
4~5인으로 구성된 팀 · 전공 무관, 빅데이터 및 인공지능에 관심있는 전국의 대학생
[ 스타터 문제 ]
AI Hub의 “연도별 패션 스타일 이미지 및 추천 데이터”를 활용하여
- 패션 스타일 이미지 분류
- 아이템 기반 협업 필터링 추천 시스템 구축
이때, 다음의 조건을 따라야 함
- - Image Classifier 및 Image Feature Vector의 아키텍처는 ResNet-18을 사용한다.
- - Pre-trained Weights 사용할 수 없다
- - Tensorflow, Keras, PyTorch 등 에서 제공하는 전이학습 네트워크를 사용할 수 없다.
- - 추천 시스템 구축시 이미지의 1.의 과정에서 추출한 feature vector만을 활용한다.
[ 본선 문제 ]
AI Hub의 “연도별 패션 스타일 이미지 및 추천 데이터”를 활용하여 강화된 아이템 기반 협업 필터링 추천 시스템 구축
(feature vector 외의 다양한 데이터 활용 가능)
📌 스타터 과정 문제 제기 및 방향성 탐색
주최측에서는 문제를 다음과 같은 단계별 미션 형태로 제시함
『
Mission 1. 데이터 전처리 & 이미지 분류
: AI Hub의 메타 데이터에서 필요한 타겟 데이터를 추출한 후 이미지 분류 수행
Mission 2. 데이터 전처리
: 추천 시스템을 위한 메타 데이터 전처리 수행
Mission 3. 선호 여부 예측
: 아이템 기반 협업 필터링 추천 시스템 구축 후 선호 여부 예측
』
이때, 큰 주제인 인공지능은 사람의 마음을 이해할 수 있는가?를 보아, 최종 목표는 Mission 1.의 모델(인공지능)에서 추출한 Feature vector를 기반으로 사람의 패션 선호 여부를 잘 예측할 수 있는가 확인하는 것으로 판단함
⏬
[ 🎯 추천 시스템에서 잘 작용할 설명력있는 벡터 공간을 만들자 ]
이미지, 데이터, 모델 구조는 타 참가자와 동일한 조건이었기에 이미지 전처리에 집중한 후, 마지막에 하이퍼파라미터 최적화를 수행하기로 결정
[ 🖼️ 이미지 전처리에서의 다양한 시도 ]
① 데이터 EDA
다채롭고 다양한 배경 (야외, 패션쇼, 무지 등)
남/여 체격 차이 존재
다인원 이미지 존재
스타일(타겟)의 특징이 뚜렷한 경우, 육안으로도 스타일 파악 가능
스타일(타겟) 내의 패션이 다양한 경우, 육안으로 보기에도 스타일 파악 어려움
② Grad-CAM
기본 이미지로 학습시킨 후 Grad-CAM을 확인해보니, 모델이 사람의 옷보다는 배경에 집중하는 경향을 보임
배경 제거의 필요성 존재
③ Segmentation
검정색, 흰색 세그멘테이션 수행
흰색 세그멘테이션에서의 성능 향상 (▲0.028)
그러나 세그멘테이션 성능 이슈로 배경으로 설정한 색과 유사한 색상의 옷을 제거하는 경우 발생
해당 리스크를 줄이기 위해 블러처리 수행
블러 세그멘테이션에서의 성능 향상 (▲0.042)
④ Detection
크롭만 해보기도 하고, 세로 길이를 기반으로 244*244로 확장시켜 적정 정사각형으로도 만들어 수행해보았으나 성능을 저하시킴
(Train dataset과 Test dataset의 스타일별 사진 구도 및 배경 분위기가 비슷한 것으로 추측)
⑤ Augmentation
다양한 Augmentation을 수행해보았으나 성능을 저하시킴
(Train dataset과 Test dataset의 스타일별 사진 구도 및 배경 분위기가 비슷한 것으로 추측)
최종적으로 Blur를 수행한 Segmentation과 하이퍼파라미터 최적화를 통해 최적의 벡터 공간을 만들어내고, 해당 벡터를 활용하여 KNN + Cosine유사도 기반 아이템 베이스 협업 필터링 추천 시스템을 구축하였음
이를 통해 다양한 데이터 및 방법론에 따라 오르고 내리는 성능을 보아, 적절한 데이터와 방법론이 존재한다면 인공지능은 사람의 마음을 이해할 수 있을 것이라는 결론에 도달함
📌 본선 과정 문제 제기 및 방향성 탐색
주최측에서는 과거 Feature vector만을 활용한 스타터 추천 시스템에서 더 나아가 다양한 데이터를 활용한 개선된 추천 시스템을 문제로 제시함
우리는 스타터의 추천시스템에서 더 나아가, 인공지능에게 사람의 마음을 이해시키기 위해 메타데이터, 이미지의 픽셀 정보 등 다양한 특징들을 활용해보기로 함
[ 🎯 벡터 외에도 유의미한 다양한 데이터들을 활용해보자 ]
메타 데이터에 있던 사용자 설문 정보와 이미지 픽셀 데이터에서 추출할 수 있는 색, 명도, 질감, 패턴 등을 추가로 추출하여 적절히 활용하고자 함
[ 💽 추가 데이터 ]
① 설문 데이터 활용
메타 데이터에 존재하는 설문 데이터 중, 유효성 검증을 통해 유의미한 피처들을 추출하여 이를 활용 (▲ 0.063)
② 이미지 픽셀 데이터 활용
이미지 자체에서 추출할 수 있는 대표 색(K-Means), 명도(R,G,B 가중평균), 질감(Gabor 필터), 패턴(퓨리에 변환) 정보를 추출하여 이를 활용 (▲ 0.063)
[ ❓ 이를 어떻게 Feature vector와 함께 활용할 것인가 ]
ResNet에서 추출한 이미지의 Feature vector, 설문 데이터, 픽셀 데이터의 경우 Modality가 다르다고 판단하여 함께 활용할 방법을 모색함
→ Auto Encoder를 거쳐 Concat 후 KNN + Cosine유사도 기반 아이템 베이스 협업 필터링 추천 시스템을 구축하였음 (▲0.119)
최종적으로 우리는 이미지와 인간의 평가를 융합하여 적절하게 수치로 나타내주면 인공지능은 객관적인 수치와 인간의 시선을 함께 참고할 수 있기에, 객관적이고 연속적인 수치 데이터에만 의존하는 접근법을 넘어 인간의 평가와 경험이 축적된 데이터를 적극적으로 활용할 필요가 있다는 결론에 도달함
📌 최종 파이프라인
위의 각종 고민과 실험을 통해 아래의 파이프라인이 최종으로 사용됨
① 데이터 전처리
이미지 / 타겟 데이터 생성
이미지 : Blur Segmentation 수행
② ResNet-18 학습
하이퍼파라미터 튜닝을 통한 최적화
Feature vector 추출
③ 픽셀 데이터 추출
색, 명도, 질감 패턴 추출
④ 설문 데이터 추출
유의미한 설문 데이터 추출
⑤ 데이터 융합
AutoEncoder를 통한 차원 축소 및 Concat 수행
⑥ 아이템 베이스 협업 필터링 추천 시스템 구축
KNN + Cosine 유사도 기반 추천 시스템 구축
📌 결과
[ 스타터 ]
⏩ 14 : 1 경쟁률을 뚫고 본선 진출 🎉
[ 본선 ]
⏩ 우수상 수상 🎉
📌 느낀 점
졸업 전 대학생 신분의 전국 대회에 출전해보고 싶어 출전하게 된 대회였는데, 과정도 결과도 좋아 뿌듯한 대회였다.
대회 특성상 기간도 어느정도 있고, 타 팀의 점수도 실시간으로 확인할 수 없기에 잘못하면 의욕이 사그라들지 모른다는 걱정이 있었는데, 이번 팀원들과 과정을 진행하며 해당 걱정은 불필요했다는 것을 느꼈다. 다들 한마음 한뜻으로 꾸준하고 다양한 시도를 해주며 좋은 결과를 만들어냈고, 좋은 결과에까지 다다를 수 있었다. 덕분에 팀워크의 중요성을 다시금 깨달았다.
또 잘 알지 못하던 분야인 추천시스템을 개발해보며, 본 분야의 확장성을 느꼈다. 단어는 “예측”이지만 사실상 이를 통해 시장의 현황을 수치적으로 파악할 수 있다는 점이 인상깊었다.
계속해서 새로운 것을 배울 수 있는 본 분야에 감사하며, 앞으로도 항상 배우는 자세로 다양한 경험에 임하고 싶다.
'[프로젝트 후기]' 카테고리의 다른 글
[프로젝트 후기] SeoulPOT : 서울시 공간(음식점/카페) 분석 웹서비스 (0) | 2025.01.22 |
---|---|
[프로젝트 후기] DACON 생성 AI의 Fake 음성 검출 및 탐지 (3) | 2024.07.20 |