6. - 패션에 관심이 없던 사람들에게 자신이 원하는 의상과 어울리는 의상이나, 자신에
게 어울리는 스타일을 추천해줌으로써 바쁜 현대인들이 아침마다 의상에 할애하
는 시간을 줄여줌
- 새로운 의상을 구매할 때에도 가지고 있는 의상과 어울리는 의상을 알 수 있기 때
문에 의사결정에 도움을 줌
- 패션에 관심이 있던 사람들은 이전에 선호하던 스타일 이외에도 새로운 스타일 또
한 추천 받을 수 있으므로 패션에 대한 도전정신을 불러일으킬 수 있음
2. 기대되는 효과
8. 1. 제안 시스템 개요
1) 블록 다이어그램 개요도
연구 프로세스 개요도 이며 연구들 끼리 관계를 보여줌
Big Data Processing Crowd Sourcing’s Data
CNN Algorithm
Coordination Attribute
Valued Matrix
Android Application
① ② ③
④ ⑤
9. 1. 제안 시스템 개요
1) 블록 다이어그램 개요도 - ①
Big Data Processing을 통해 Big Data에서 가치 있는 데이터를 추출
& 처리된 데이터를 활용 하여 CNN에 적용하여 영상 분류기 추출
☞ 결론 : Shape, Texture 분류기를 추출
Big Data Processing Crowd Sourcing’s Data
CNN Algorithm
Coordination Attribute
Valued Matrix
Android Application
② ③
④ ⑤
10. 1. 제안 시스템 개요
1) 블록 다이어그램 개요도 - ②
Big Data Processing Crowd Sourcing’s Data
CNN Algorithm
Coordination Attribute
Valued Matrix
Android Application
① ③
④ ⑤
CrowdSourcing을 통해서 각 Data를 스타일별로 Data를 분류
& 처리된 데이터를 활용 하여 CNN에 적용하여 영상 분류기 추출
☞ 결론 : Style 분류기를 추출
11. 1. 제안 시스템 개요
1) 블록 다이어그램 개요도 - ③
Crowd sourcing을 통해 어울리는 상의, 하의 쌍 Data
☞ 결론 : Coordination Attribute-values Matrix 만듦
Big Data Processing Crowd Sourcing’s Data
CNN Algorithm
Coordination Attribute
Valued Matrix
Android Application
① ②
④ ⑤
12. 1. 제안 시스템 개요
1) 블록 다이어그램 개요도 - ④ & ⑤
Big Data Processing Crowd Sourcing’s Data
CNN Algorithm
Coordination Attribute
Valued Matrix
Android Application
① ② ③
영상 분류기는 Android Application에서 사용자의 의상을 분류
& Coordination Attribute values Matrix로 사용자 의상을 기반으로 다른 의상을 추천
☞ 결론 : Android Application 구현
13. 1. 제안 시스템 개요
2) 의상 추천 알고리즘
이미지 인식 알고리즘
인식 결과물
1. Texture : Abstract
2. Shape : Sweater
3. Style : Dandy
인식 결과물
1. Texture : Abstract
2. Shape : Sweater
3. Style : Dandy
코디 알고리즘
추천 결과물
1. Texture : Abstract
2. Shape : Jean
3. Style : Dandy
14. 1. 제안 시스템 개요
2) 의상 추천 알고리즘 순서도
- 사용자의 성별, 선호 스타일, 날씨를 입력
받고 이를 기반으로 사용자의 의상과 어
울리는 의상을 추천해주는 알고리즘
- 사용자의 의상이 어떤 의상인지, 어떤 스
타일인지 알아내는데 CNN을 이용해 추
출한 영상 분류기를 사용하고 이 의상과
어울리는 의상을 찾는데 Coordination
Attribute-values Matrix를 이용
15. 2. Bigdata processing
1) 데이터 수집
- 수집 경로
: Deep Fashion Dataset from the Multimedia laboratory,
Chinese University of Hongkong
- 데이터 소개
: 약 29만장의 의상 영상 데이터.
대략 5천장의 폴더로 분류되어 있는 상태.
분류 기준은 데이터셋에서 임의로 정한
의상의 패턴, 형태 기준.
데이터셋을 다운받은 구글 드라이브에
각 사진에 대한 정보를 담은 텍스트 파일
존재.
16. 2. Bigdata processing
2) 데이터 분류
Attribute_list.txtPhotograph_attribute.txt
데이터 분류
위해
코드 작성
Deep fashion dataset에서 제공하는 각 사진에 대한
정보를 담은 text 파일을 기반으로 데이터 분류.
Texture, Fabric, Shape 총 3개의 속성으로 데이터 분류.
17. 2. Bigdata processing
3) 데이터 선별 – Face & pedestrian detection
<Face Detection> <Pedestrian detection>
: OpenCV Haar/HOG cascade 방법을 이용하여 Face & Pedestrian detection 진행.
-> 얼굴과 사람의 몸 전체가 나온 사진을 골라내기 위함
(Shape Classifier로 러닝시켰을 때 정확도를 높이기 위해)
Face, Pedestrian detection 코드 작성
18. 2. Bigdata processing
3) 데이터 선별 과정
약 29만장의 의상 영상 데이터
▶ 선별 (face&pedestrian detection)
약 9만장의 데이터 남음
▶ 선별 (부정확한 데이터들은 손으로 정리)
최종적으로 약 4만장의 사진에 의상만 존재하는 데이터 얻음
①
②
19. 3. Crowdsourcing
1) 설문조사 홈페이지 구현
: ‘대중’ (Crowd)과 ‘외부 자원 활용’
(Outsourcing)의 합성어로, 전문가 대신
비전문가인 고객과 대중에게 문제의 해결책을
아웃소싱하는 것.
크라우드소싱을 이용하여 의상의 스타일과 의상
끼리의 어울림 정도를 설문조사를 통해 조사하
기 위해 asp로 설문조사 홈페이지 제작
http://165.246.34.25:8080
/crowd_sourcing.asp
20. 3. Crowdsourcing
2) 설문조사 페이지의 구체적인 구성과 쓰임
각 파트는 5문항 씩 전체 총 20문항으로 구성
(1) 첫 번째 파트는 의상 사진이 주어지고
가장 어울리는 의상 스타일을 고르는 문제
=>Style classifier에서 이용
(2) 두 번째 파트는 상의(혹은 하의)의 사진을 주고
그에 어울리는 하의(혹은 상의)를 고르는 문제
=> Attribute-values Matrix를 통해 의상의
어울림 정도를 계산하는 데에 이용
21. (3) 세 번째 파트는 전체적으로 의상 코디가
완료된 사진에 어울리는 스타일을 고르는 문제
=> 어플에서 사용자의 선호도 기반으로 코디를
추천해줄 때 이용
(4) 마지막 파트는 주어진 상황에 어울리는
의상을 고르는 문제
=> 어떠한 상황의 어떤 style의 의상을 사람들이
선호하는지에 대한 정보를 바탕으로 어플에서
상황기반으로 의상을 추천할 때에 이용됨
3. Crowdsourcing
2) 설문조사 페이지의 구체적인 구성과 쓰임
22. 3. Crowdsourcing
3) 설문조사 결과 데이터
: 2017.04.21 ~ 2017.05.04 기간 동안 MYSQL로 구축한 Database에 총 400명의 데이터 확보.
<조사자 정보 database table (일부)> <의상 매칭 정보 database table (일부)>
23. 4. 영상 분류기
1) 영상 분류기란?
- 사용자의 의상이 어떤 의상인지를 알기 위해 사용
- 영상을 입력하면 결과로 키워드가 추출
분류 결과물
1. Texture : Abstract
2. Shape : Sweater
3. Style : Dandy
24. 4. 영상 분류기
2) Deep Learning Framework - Tensorflow
Tensorflow 사용
25. 4. 영상 분류기
3) 사용 모델 – Inception-V3
Inception-V3 구조
① Convolutional Neural Network
- 하나 이상의 Convolutional Layer와 일반적인 인공 신경망 Layer들로 이루어지는 인공
신경망으로, 일종의 Deep Learning
② Inception-V3 model
- CNN 모델의 일종
26. 4. 영상 분류기
4) 구현 과정 – 러닝 환경 (AWS T2)
소요시간이 오래 걸려 실패
29. 4. 영상 분류기
4) 구현 과정 – 러닝 환경 (AWS P2)
Tensorflow CPU 버전으로 학습
약 4000개
소요시간 20분
30. 4. 영상 분류기
4) 구현 과정 – 러닝 환경 결과
실행 환경 빌드 방식 소요 시간
AWS T2 Source 10000장당 24시간 이상
VM Ububtu Bazel 27000장당 6시간
AWS P2 Source 10000장당 20분
AWS P2 Bazel 40000장당 1시간 20분
31. 4. 영상 분류기
4) 구현 과정 – 러닝 환경 결과
실행 환경 빌드 방식 10000장당 소요 시간
AWS T2 Source 24시간 이상
VM Ububtu Bazel 2시간
AWS P2 Source 20분
AWS P2 Bazel 20분
32. 4. 영상 분류기
4) 구현 과정 – 영상 분류기 구현 과정 (① 생성)
- 영상 처리로 Texture, Fabric, Shape 속성별로 100개 이상의 데이터를 확보
Texture
- 24개 속성 (10102)
- 소요시간: 30분 Accuracy=54.2%
Paisley Floral Stripes
- 속성끼리 특징이 뚜렷하지 않기 때문
33. 4. 영상 분류기
- 영상 처리로 속성별로 100개 이상의 데이터를 확보
Fabric
- 소요시간: 65분 Accuracy=32.5%
- 23개 속성 (17190) Velvet Silk Cotton
- 속성끼리 특징이 비슷하여 낮은 정확도
4) 구현 과정 – 영상 분류기 구현 과정 (① 생성)
34. 4. 영상 분류기
- 영상 처리로 속성별로 100개 이상의 데이터를 확보
Shape
- 6개 속성 (39081)
- 소요시간: 80분 Accuracy=85.1%
Knit Pants Skirt
- 속성끼리 특징이 뚜렷하여 높은 정확도
4) 구현 과정 – 영상 분류기 구현 과정 (① 생성)
35. 4. 영상 분류기
- Crowd Sourcing으로 속성별로 100개 이상의 데이터를 확보
Shape
- 5개 속성 (1500)
- 소요시간: 10분 Accuracy=55%
Dandy Elegance Romantic
- 속성끼리 특징이 뚜렷하여 높은 정확도
4) 구현 과정 – 영상 분류기 구현 과정 (① 생성)
36. 4. 영상 분류기
4) 구현 과정 – 영상 분류기 구현 과정 (② 수정 및 보완)
- 문제점 : Texture 54%로 Low accuracy → Label별로 균등하지 못한 image 수
- 12개 속성 (14706)
- 옷의 Shape가 아닌 무늬만 보기 때문에 얼굴이 있는
사진들을 추가하여 Image 확보
37. 4. 영상 분류기
4) 구현 과정 – 영상 분류기 구현 과정 (② 수정 및 보완)
- Texture 속성별로 균등하게 1000개 내외 → Accuracy=74%
38. 4. 영상 분류기
4) 구현 과정 – 영상 분류기 구현 과정 (③ 결과)
- Learning rate 적당, overfitting도 발생하지 않음
39. 4. 영상 분류기
4) 구현 과정 – 영상 분류기 구현 과정 (③ 결과 – 테스트 예시)
Chevron_Knit Pattern_Shirt
40. 4. 영상 분류기
4) 구현 과정 – 영상 분류기 구현 과정 (③ 결과 – 테스트 예시)
Graphic_Top Floral_Skirt
41. 4. 영상 분류기
4) 구현 과정 – 영상 분류기 구현 과정 (③ 결과 – 테스트 예시)
Sports Casual Romantic
42. 4. 영상 분류기
4) 구현 과정 – 영상 분류기 구현 과정 (③ 결과)
분류기 정확도 비고
Shape 81.5 %
Texture
54.2 % →
74 %
이미지 정규화로 보완
Fabric 32.5 % 속성 별 특징이 뚜렷하지 않아 사용하지 않기로 결정
Style 55 %
추상적인 개념이지만 러닝이 잘 되었고, 임의의 데이터
셋으로 테스트해보니 예상보다 더욱 좋은 결과 도출
44. 5. Attribute values Matrix
1) Attribute value matrix 생성
남성의 경우 lace Texture와 skirt Shape 속성은 제외하였다.
45. 6. Android Application
1) Tensorflow Classifier 사용
Inception 모델을 사용해 얻은 graph, txt 파일을 Android Studio에서 사용
Optimize for inference
Optimize Graph(.pb)Retrained Graph(.pb)
모바일에서 사용할 수 있게 모바일에서 읽지 못하는 Operation을 제거
53. 1. 결론
① 의의
- 사용자의 선호 스타일을 기반으로 사용자의 의상과 어울리는 의상을 추천하는 새로운 추천
알고리즘을 구축
- Deep Learning을 이용해 사용자의 의상을 명확한 키워드로 분류한다는 점에서 임의의 의
상을 Labeling 할 수 있는 성과
- Crowd Souring을 활용해 여러명의 의견이 들어간 의상 추천이기에 의상 추천 알고리즘에
의 결과가 명확한 정당성을 가짐
- Style 같은 추상적인 개념에도 Deep Learning이 적용되어 훌륭한 결과를 도출
② 추가 연구 가능성
- 의상을 더 자세한 키워드로 Labeling 하고 더욱 큰 Data를 활용하며, 이 Data들이 최신 동
향에 맞추어 변경될 수 있다면 의상 추천에 Deep Learning을 적용할 수 있을 것