본문 바로가기
[프로젝트 후기]

[프로젝트 후기] 데이터크리에이터캠프 대학부(스타터, 본선) : 패션데이터 분류 및 추천시스템

by seom-j 2025. 1. 11.

📌 대회 소개

[ 대회 명 ]

2024 데이터 크리에이터 캠프 (DATA CREATOR CAMP) 대학부

 

[ 주제 ]

인공지능은 사람의 마음을 이해할 수 있을까?

(패션데이터셋 분류 및 추천 시스템 구축)

 

[ 기간 ]

2024.09.23 ~ 2024.11.30

 

[ 참가자 ]

4~5인으로 구성된 팀 · 전공 무관, 빅데이터 및 인공지능에 관심있는 전국의 대학생

 

[ 스타터 문제 ]

 AI Hub의 “연도별 패션 스타일 이미지 및 추천 데이터”를 활용하여

  1. 패션 스타일 이미지 분류
  2. 아이템 기반 협업 필터링 추천 시스템 구축

 이때, 다음의 조건을 따라야 함

  • - 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 경쟁률을 뚫고 본선 진출 🎉

[ 본선 ]

⏩ 우수상 수상 🎉

 

 

📌 느낀 점

 졸업 전 대학생 신분의 전국 대회에 출전해보고 싶어 출전하게 된 대회였는데, 과정도 결과도 좋아 뿌듯한 대회였다.

 

 대회 특성상 기간도 어느정도 있고, 타 팀의 점수도 실시간으로 확인할 수 없기에 잘못하면 의욕이 사그라들지 모른다는 걱정이 있었는데, 이번 팀원들과 과정을 진행하며 해당 걱정은 불필요했다는 것을 느꼈다. 다들 한마음 한뜻으로 꾸준하고 다양한 시도를 해주며 좋은 결과를 만들어냈고, 좋은 결과에까지 다다를 수 있었다. 덕분에 팀워크의 중요성을 다시금 깨달았다.

 

 또 잘 알지 못하던 분야인 추천시스템을 개발해보며, 본 분야의 확장성을 느꼈다. 단어는 “예측”이지만 사실상 이를 통해 시장의 현황을 수치적으로 파악할 수 있다는 점이 인상깊었다.

 

 계속해서 새로운 것을 배울 수 있는 본 분야에 감사하며, 앞으로도 항상 배우는 자세로 다양한 경험에 임하고 싶다.