9oz-project
결과보고서 링크
결과보고서
-용어집-
1. 프로젝트 제목
-나인온스 스타일과 유사한 신상마켓의 최신상품을 추천하는 웹서비스 제작
2. 프로젝트 요구사항
-서비스 요구사항
- 나인온스 매장 방문고객의 구매이력을 바탕으로 판매실적이 좋은 상품과 유사한 신상품을 신상마켓에서 매칭후 목록 형태로 추천
- 나인온스 상품 및 매칭이 끝난 신상품에 대한 간단한 속성정보 제공
- 덧붙여 나인온스의 상품이미지들중 원하는 상품을 선택 가능하도록 상품코드 검색창 제공
-데이터 요구사항
1) 나인온스의 상품이미지 데이터셋
2) 나인온스의 판매정보 데이터 및 상품코드 리스트 데이터
3) 신상마켓(https://sinsangmarket.kr/) 상품이미지 데이터셋
4) 상품이미지의 속성분류를 위한 분류모델 : K-fashion
5) K-fashion의 속성분류 기준 데이터
3. 프로젝트 필요성과 목적- 프로젝트 추진 배경
-필요성
- 신상품중 나인온스의 스타일과 일치하는 상품을 신상마켓에서 빠르게 찾아올수 있다면 시간과 비용을 절약할 것으로 예상
-목표와 내용
1) 데이터 준비 및 K-fashion 모델을 활용해 속성분류를 비교한 매칭
- 나인온스의 모든 상품이미지를 K-fashion 모델을 통해 속성 분류 후 속성데이터를 DB에 저장
- 신상마켓의 상품이미지를 K-fashion모델을 통해 속성 분류 후 속성데이터를 DB에 저장
- 판매데이터 및 상품코드리스트를 DB에 저장
- 나인온스의 속성 결과값과 신상마켓의 속성 결과값 둘의 비교를 통해 속성이 비슷한 상품끼리 매칭
2) 잠재벡터의 군집화를 통한 매칭
- 속성분류가 아닌 오토인코더의 잠재벡터를 활용해 이미지의 특성 추출
- 잠재벡터 군집화 알고리즘을 이용해 그룹별로 분류
- 추천방식 및 제공 서비스는 위와 동일
3) 화면 디자인
- 나인온스의 판매데이터를 통해 판매량이 높은 나인온스 상품을 랭킹순으로 출력
- 이때 카테고리 분류별로 판매데이터 랭킹도 볼수있게 카테고리 선택지 제공
- 나인온스 상품이미지 클릭시 새창 혹은 다음창으로 신상마켓의 추천 상품이미지 출력
- 원하는 나인온스 상품을 선택가능 하도록 검색창 및 속성선택 제공
4. 문제 분석과 주요 설계
-분석과정
- 나인온스의 상품이미지 데이터셋 수집 및 판매데이터 수집
- 신상마켓 웹크롤링을 통한 특정 카테고리(남자옷 등은 제외)의 상품이미지 수집
- K-fashion 모델을 활용한 각 상품이미지의 속성 분류후 DB에 저장
- 모델에 적용할 입력값 및 출력값
- 입력값: 나인온스의 상품이미지
- 출력값: 입력값과 속성이 유사한 신상마켓의 상품이미지
-예상되는 주의점
- K-fashion을 활용한 카테고리 속성 분류만 끝내면 SQL 만으로도 비교매칭 가능
- K-fashion을 활용한 카테고리 분류는 사람이 작업한 내용(Human-Error)이 포함되어 있어 적절치 않을수 있음
- 군집화는 오토인코더의 학습상태, 군집화 알고리즘의 성능에 따라 정확도가 달라질수있음
- 오토인코더와 군집화 알고리즘은 왜 특정상품이 유사한지에 대한 직관적 해석이 어려움
- 오토인코더와 군집화 단계에서 많은 시간소요가 우려됨
-전체 구성도
-화면 (서비스)설계
해당 디자인은 샘플이며, 개발단계에서 달라질수 있음
- 첫화면은 나인온스 기간별 판매량 랭킹순으로 상품이미지 및 간단한 속성표시
- 상품이미지 클릭시: 팝업창이 뜨며 매칭된 신상마켓 상품목록 표시, 간단한 속성정보 제공, 신상마켓의 해당상품으로 바로가기 링크
- 상품코드 검색창을 통해 나인온스의 특정상품검색 후 매칭가능
- 토글키를 활용해 K-fashion 모델을 이용한 결과와 잠재벡터를 활용한 결과 둘다 화면전환으로 이용가능
-DB 설계
ID |
판매일자 |
전표번호 |
매장코드 |
상품코드 |
상품명 |
칼라 |
칼라명 |
사이즈 |
고객번호 |
판매금액 |
수량 |
1 |
2018-10-23 |
0015 |
A0006 |
AFJ3KT007 |
C-깃털자수 |
BK |
블랙 |
F |
0000052183 |
39,000 |
1 |
- 나인온스 상품코드 리스트(상품코드 : 참조키)
상품코드 |
스타일 |
서브스타일 |
대분류 |
기장 |
색상 |
서브색상 |
카테고리 |
디테일 |
소재 |
프린트 |
핏 |
소매기장 |
넥라인 |
카라 |
세이프 |
실루엣 |
AE00OP001 |
리조트 |
컨트리 |
바지 |
발목 |
블랙 |
실버 |
팬츠 |
리본 |
울V캐시미어 |
아가일 |
루즈 |
|
|
|
|
|
상품코드 |
상품명 |
TAG가 |
혼용율 |
이미지 경로 |
AE00OP001 |
레이어드OPS(2017) |
29,000 |
상의:면58% 상의:모달38% 상의:폴리우레탄4% 배색:면100% |
img_path |
ID |
스타일 |
서브스타일 |
대분류 |
기장 |
색상 |
서브색상 |
카테고리 |
디테일 |
소재 |
프린트 |
핏 |
소매기장 |
넥라인 |
카라 |
세이프 |
실루엣 |
1 |
모던 |
모던 |
상의 |
|
카키 |
그린 |
탑 |
단추 |
면 |
체크 |
노멀 |
반팔 |
유넥 |
|
|
|
- 나인온스 상품의 상품코드가 파일명인 상품이미지 데이터셋
-데이터 학습 모델 설계
- 데이터 전처리 :
- 여러옷이 한 사진에 들어가있는 상품이미지 제거여부 결정
- 상품코드에 해당하는 속성 라벨링 테이블 추가
- 판매데이터중 의류상품과 관계없는 판매이력 제거
- 속성데이터 추가
- 속성데이터에 시즌별 분류항목 등 세분화작업(필요시)
-
AI모델:
-
K-fashion
-
구조
: 옷 이미지 삽입시 옷의 속성(소재, 길이, 상의, 하의, 분위기 등)을 카테고리 별로 분류
-
속성분류체계 예시
-
잠재벡터 & 군집화
-
잠재벡터 추출
-
군집화
5. 시스템 구성도 설계
-full stack 개발 도구 및 개발 프레임워크
프론트엔드 |
JS, React Native 사용하여 웹 어플리케이션 제작 |
백엔드 |
Java, SpringBoot 프레임워크를 사용하여 서버구동 |
양성부데이터베이스 |
MySQL 을 사용하여 DB 데이터 저장 |
데이터분석 및 모델개발 |
Python, TensorFlow, Scikit-learn, Flask |
6. 프로젝트팀명과 구성원, 역할분담계획
-팀명:
-구성원:
-역할 분담:
정승길(팀장) |
데이터 전처리 및 분석 및 화면디자인 |
손병희 |
백엔드 및 DB개발 및 화면디자인 |
양성부 |
프론트엔드 개발 |
7. 프로젝트 범위
- 나인온스의 상품이미지 속성데이터와 신상마켓 상품이미지 속성데이터를 이용해 나인온스의 상품과 유사한 신상마켓의 상품들을 목록으로 제시
- 모든 이미지 데이터를 이용하는게 아닌 일부만 이용해 시작, 점진적으로 양을 늘리며 테스트
8. 프로젝트 추진 일정(주별 추진 일정)
- 1주차 : 대면회의, 요구사항 파악, 개발환경 설정, 데이터 전처리
- 2주차 : K-fashion 모델 테스트, 프론트 디자인, DB구축
- 3주차 : 백엔드 개발, 프론트엔드 개발, 모델 개발
- 4주차 : 테스트 및 피드백, 수정
- 5주차 : 배포
9. 프로젝트 기대 성과
- 나인온스의 상품을 속성분류와 학습을 통해 새로운 상품이미지와 유사점을 파악해 매칭가능, 추천 모델로 활용 가능
10. 참고문헌/자료 (인용)
AI-Hub
https://github.com/K-COORD/K-Fashion
오토인코더(Autoencoder), 합성곱 오토인코더(Convolutional Autoencoder)