일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 마이크로소프트 ai 스클
- 마이크로소프트 ai 스쿨
- msai
- microsoft ai school
- 마이크로소프트 ai school 6기
- MS
- micsrosoft ai
- microsoft ai school 6기
- 마이크로소프트
- microsoft ai
- microsoft
- 마이크로소프트 AI
- 마이크로소프트 ai 스쿨 6기
- Today
- Total
연랩
머신러닝과 커스텀비전을 활용한 퍼스널컬러 기반 중고 거래 플랫폼(모바일 앱) : Personal 본문
머신러닝과 커스텀 비전을 활용한 퍼스널컬러 기반 중고 거래 플랫폼(모바일 앱)
: Personal
프로젝트 배경
개발 환경
위와 같이 다양한 개발 환경을 사용하였다. 이외에도 postman 등의 다양한 개발 환경을 사용하였다
주요 역할과 경험
- Backend 개발 담당
- CustomVision을 이용한 객체 탐지 모델 학습 및 REST API 배포하여 활용
- Azure Storage(Blob container)를 이용하여 이미지 데이터 저장
- 이미지 전처리: OpenCV를 활용하여 객체 탐지한 이미지 크롭 및 배경 제거
- K-means 군집 모델을 활용한 색 추출 모델 수립
- 색 추출 군집 모델 선정을 위한 모델 컨테스트 개최
- Hex Code를 이용하여 색을 12가지 퍼스널 컬러로 분리하는 알고리즘 구현
- Azure 가상 머신 위 배포를 위한 코드 정리
- FAST API를 이용하여 모델 배포
- Swagger UI와 Postman을 활용한 API 연결 확인
- Azure MySQL 서버를 이용하여 데이터 베이스 구성
- Azure 가상 머신을 사용하여 배포 및 데이터 베이스 연결
- PPT 제작 및 발표
프로젝트 내용
시스템 구조도
Data Base Schema
- Azure MySQL Server 위에 구성
기술 설계
사용자가 이미지 업로드
-> 선택적으로 White Balance를 이용하여 색감을 보정
-> Custom Vision 이용하여 객체를 탐지 -> 카테고리 분류(Top, Outer, Pants, Skirt, Dress)
-> 객체를 Crop하여 배경 제거
-> meanshift를 사용하여 컬러 군집화
-> hex code를 활용하여 12가지 퍼스널 컬러로 분류
-> 게시물 등록
Backend 개발 프로세스
데이터 수집 및 전처리
무신사에서 웹 크롤링 사용 -> 이미지 데이터 Azure Blob Storage에 정리
객체 탐지
- 옷 카테고리 탐지
Azure Custom Vision 사용
-> 여러번의 학습을 통해 부족한 이미지를 보충, 모델을 개선
Quick train, Advanced train 등 다양한 기능 이용
Quick train, Advanced train 비교
Custom Vision으로 생성한 객체 탐지 모델을 REST API로 배포 하여 사용
색상 추출을 위한 이미지 전처리
- OpenCV의 모듈을 사용
Outline Crop
: GrabCut, Gaussian Blur
White Balancing
: LUT, cvtColor
- 이미지 전처리를 하여 색 추출의 정확도를 높였다
색상 추출 군집화 모델
K-means, PCA(주성분 분석), DBSCAN, MeanShift
모델로 색을 군집화하여 추출하는 모델 컨테스트 개최
-> 최종으로 MeanShift 알고리즘을 투표로 선정
-> 결과 정확도가 가장 우수하여 meanshift로 색 추출 군집화 모델 선정
- MeanShift Clustering
-> 데이터 분포도에 기반하여 자동으로 군집 개수 선정
컬러 군집화 프로세스
- 이미지 데이터를 사용자가 업로드
-> 크롭 및 이미지 전처리
-> meanshift 알고리즘 내에서 N = H(height)*W(Width) 데이터와 3(RGB) 데이터를 2D로 매핑
-> 범위를 추청하는 Bandwith(클러스터링에 사용할 탐색 반경)과 하이퍼 파라미터 설정
-> 컬러 클러스터링 결과 도출
로그인 기능 구현
로그인 및 회원가입 기능을 구현하여 fast API로 배포
->받은 user 정보를 데이터 베이스에 연결하여 해당 데이터를 게시물을 게시할 때 사용
API 및 데이터베이스 연결
- Fast API를 이용하여 모델 배포
-> Swagger UI와 Postman을 활용하여 연결 확인
Frontend 개발
애플리케이션 설계
애플리케이션 화면 디자인
- Figma 이용
- 로그인 화면, 회원가입 화면, 게시물 게시 화면, 찜(좋아요) 화면 등을 구현
애플리케이션 화면 및 기능 구현
- Flutter, Android Studio를 이용하여 프론트엔드 기능 구현
[UX 기능] - 메인화면: 필터링
- 퍼스널 컬러 카테고리로 필터링하여 중고 옷을 볼 수 있음
- 옷 카테고리 -> 퍼스널 컬러 상위 분류 -> 퍼스널 컬러 하위 분류 순으로 카테고리 선정
[UX 기능] - 찜 화면: 필터링
- 사용자가 찜한 옷들을 퍼스널 컬러 별로 필터링하여 볼 수 있음
[UX 기능] - 내 퍼스널 화면(마이페이지): 필터링
- 마이페이지에서 보고 싶은 퍼스널 컬러를 설정하여 놓으면, 해당 퍼스널 컬러에 맞는 게시물 만을 선정하여 볼 수 있음
[UX 기능] - 게시물 등록: 퍼스널 컬러 추출
게시물 등록 > 사진 올리기 -> 이미지 파일 업로드
색감 보정 -> 화이트 밸런스 보정 선택적으로 반영
퍼컬 진단 -> 색 추출 및 컬러 판별
---> 이미지 좌측 하단에 퍼스널 컬러 표시
활용 방안 및 기대 효과
-> 퍼스널컬러 고려 -> 퍼스널컬러 서비스 기대 매출액: 5조원*54.4%*1% = 27억2천만원
색 인지가 어려운 사람(색약, 색맹 등)에게 스타일링 도움
책임 있는 인공 지능

아쉬웠던 점: 기능
- 색 분류를 hex 분류 알고리즘이 아니라 지도 학습으로 시도 하였으나 정확도가 너무 낮아 실패
- 옷 배경 제거 기능 중 너무 적은 면적의 옷(위 사진에서는 바지)의 경우 인식이 잘 되지 않음
-> 그러나, 중고 플랫폼 특성상 판매하려는 옷을 중심으로 찍는 경우가 많으므로 해당 기능은 사용
자체 의견 평가
간단한 후기
다양한 애저의 기능을 사용할 수 있는 프로젝트였다. 팀원분들도 다 적극적으로 참여하여 주셔서 굉장히 보람있는 프로젝트가 되었던 것 같다. 시간이 있었으면 더 발전 시킬 수 있었을 것 같은 아쉬움이 있다. 실제 애플리케이션과 같이 체계적으로 구성하여 배포할 수 있으면 정말 좋을 것 같다.
출처
[1] GeeksforGeeks, "ML | Mean Shift Clustering," *GeeksforGeeks*, https://www.geeksforgeeks.org/ml-mean-shift-clustering (accessed Feb. 26, 2025).
[2] 이데일리, "기사 제목 또는 요약," *이데일리*, https://www.edaily.co.kr/News/Read?newsId=01574406635604984&mediaCodeNo=257 (accessed Feb. 26, 2025).
[3] 무신사, "추천 페이지," *무신사*, https://www.musinsa.com/main/musinsa/recommend (accessed Feb. 26, 2025).
[4] 당근마켓, "당근마켓 공식 홈페이지," *당근마켓*, https://www.daangn.com/kr/ (accessed Feb. 26, 2025).
옷 사진의 출처는 무신사 홈페이지 입니다(무신사 옷 및 리뷰 사진 참조)
본문의 내용은 학습과 개인 profile 이외의 다른 목적이 없습니다
출처 관련 문제 있을 시 말씀 부탁드립니다
상업적인 용도로 사용하는 것을 금합니다
깃허브 소스코드의 내용을 담고 있습니다
Microsoft에서 제공하는 자료와 정보를 담고 있습니다
본문의 내용은 MS AI School 6기의 강의 자료 및 수업 내용을 담고 있습니다
'프로젝트' 카테고리의 다른 글
Azure Open AI를 활용한 독립 운동 관련 공익성 웹서비스 : 독립해결사 (0) | 2025.04.18 |
---|---|
데이터 분석: 날씨(기온, 습도)와 스포츠 관중 수와의 관계 (3) | 2024.11.28 |
AI 번역 기능을 탑재한 예약 관리형 챗봇(ChatBot): Space Chat (5) | 2024.11.01 |
AWS cloud를 이용한 데이터 마이그레이션(Data Migration) (8) | 2024.10.14 |
Data Augmentation(데이터 증강) (4) | 2024.10.06 |