Skip to content

kookmin-sw/capstone-2024-11

 
 

Repository files navigation

header



2024 캡스톤 11조 Only You

사람마다 어울리는 색과 머리스타일이 있다는 사실을 아시나요?
저희 서비스는 퍼스널 컬러 검출과 얼굴형 검출을 통해
본인에게 맞는 퍼스널 컬러와 헤어스타일을 추천해드립니다.


프로젝트 소개

본인에게 맞는 헤어스타일과 퍼스널 컬러를 찾기 위해서는 다양한 헤어스타일을 시도해보고 전문가의 도움을 구하여 퍼스널 컬러를 진단받아야 했습니다. 이러한 과정은 많은 비용과 시간을 요구하기 때문에 접근하기에 어려움이 존재하였습니다. 그렇기 때문에 저희는 이러한 비용과 시간을 줄이고 나에게 맞는 색상과 스타일을 빠르게 알 수 있는 서비스를 제공하는 것을 목표로 하고 있습니다.

캡스톤 11조 Only You 팀이 개발한 프로젝트는 개인 맞춤형 뷰티 솔루션을 제공합니다. 본 프로젝트는 다음과 같은 세 가지 주요 기능을 중심으로 설계되었습니다.


1. 퍼스널 컬러 검출

퍼스널 컬러란?

퍼스널 컬러는 개인의 피부 톤, 눈동자 색, 머리카락 색 등을 종합적으로 고려하여 가장 잘 어울리는 색상을 찾아주는 개념입니다.
이는 사람이 특정 색상과 조화를 이룰 때 얼굴이 더 밝고 생기 있어 보이게 하는 색상들을 의미합니다.
퍼스널 컬러는 크게 봄, 여름, 가을, 겨울 네 가지 타입으로 분류됩니다.

기존에는 전문가의 진단을 받아야 했던 이 과정을 저희의 AI 기술을 통해 자동화하였습니다.
사용자는 간단한 셀카 한 장만으로도 자신의 퍼스널 컬러를 손쉽게 알 수 있습니다.
이로 인해 시간과 비용을 절감할 수 있으며, 전문가의 도움 없이도 자신에게 맞는 색상을 빠르게 찾아볼 수 있습니다.


2. 얼굴형 분석 및 헤어스타일 추천

각 개인의 얼굴형에 어울리는 헤어스타일을 찾는 것은 쉽지 않은 일입니다.
저희 프로젝트는 얼굴형을 분석하여 가장 잘 어울리는 헤어스타일을 추천해줍니다.
얼굴의 윤곽과 비율을 AI가 정밀하게 분석하여 둥근형, 각진형, 타원형 등 다양한 얼굴형에 최적화된 헤어스타일을 제안합니다.
이를 통해 사용자는 자신의 얼굴형에 맞는 스타일을 쉽게 찾을 수 있습니다.


3. 생성형 이미지를 통한 헤어스타일 합성

저희의 생성형 이미지 생성 기술은 앞서 검출된 퍼스널 컬러와 얼굴형 분석 결과를 종합하여 사용자에게 맞춤형 헤어스타일을 합성해줍니다. 생성형 이미지를 통해 자신의 얼굴형에 어울리는 헤어스타일이 무엇인지 알려주며 미용실에 가기 전 자신에게 어울리는 스타일을 미리 시도해볼 수 있는 기회를 제공합니다.

저희 프로젝트는 사용자가 시간과 비용을 절약하면서도 자신의 퍼스널 컬러와 얼굴형에 맞는 최적의 헤어스타일을 찾을 수 있도록 돕습니다. AI와 이미지 생성 기술을 결합하여 누구나 쉽게 접근할 수 있는 맞춤형 뷰티 솔루션을 제공하며, 뷰티 선택에 어려움을 겪는 사람들에게 실질적인 도움을 주고자 합니다. 저희의 목표는 더 많은 사람들이 자신에게 어울리는 스타일을 쉽게 발견하고, 이를 통해 더욱 자신감 있는 일상을 보낼 수 있도록 지원하는 것입니다.


Abstract

To find the right hairstyle and personal color, one typically needed to try various hairstyles and consult professionals for a personal color analysis. However, this process demanded significant costs and time, making it difficult to access.
Therefore, we aim to provide a service that reduces these costs and time, enabling individuals to quickly discover their personal colors and styles.


프로젝트 중심 기능

1️⃣ 얼굴형 분석

  • cv2와 dlib을 사용하여 이미지속 사람의 얼굴을 인식합니다.
  • 인식된 얼굴의 81개의 랜드마크 좌표를 활용하여 얼굴의 비율을 구합니다.
  • 학습된 얼굴형 분류 모델을 통해서 얼굴형을 판단합니다.

2️⃣ 퍼스널 컬러 분석

  • FaRL 딥러닝 모델을 활용하여 이미지 속 사람의 얼굴을 인식하여 Face Parsing 작업을 수행합니다.
  • 검출한 영역의 피부 정보를 담고있는 특정 영역들을 하나의 Mask로 재구성합니다.
  • 재구성된 Mask를 이용하여 조명을 조절한 이미지를 통해서 다양한 색정보를 추출합니다.
  • 추출된 데이터를 이용하여 학습된 퍼스널 컬러 분류 모델을 통해서 퍼스널 컬러를 판단합니다.
  • 퍼스널 컬러 결과가 도출된 과정을 시각화된 자료로 제공합니다.

3️⃣ 생성형 이미지

  • 입력한 이미지를 latent vector로 임베딩합니다.
  • w+ 공간 벡터로 임베딩한 이미지를 finetuning style 벡터로 다시 임베딩하여 정확한 특징을 잡습니다.
  • 임베딩한 벡터에 segmentation을 실시하여 머리부분을 제거합니다.
  • 새로운 헤어스타일을 합성한 후 오차가 발생한 부분을 생성하여 alignment를 완료하여 이미지를 생성합니다.


😄 팀 소개

정태성 전병우 전기정 오홍석
****1668 ****1660 ****1659 ****1627
Leader, AI FrontEnd AI AI, BackEnd


😄 기술 스택

AI

Pytorch Python NumPy Pandas scikit-learn

Back-end

Spring Boot Flask

Front-end

React Styled Components Axios


📚기술 보고서 및 노션

중간보고서 중간 발표 팀 노션


Commit Convention

  1. feat: 새로운 기능 추가
  2. fix: 버그 수정
  3. docs: 문서 수정
  4. style: 코드 포맷팅 → Code Convention
  5. refactor: 코드 리팩토링
  6. test: 테스트 코드
  7. chore: 빌드 업무 수정, 패키지 매니저 수정
  8. comment: 주석 추가 및 수정

Branch Naming Convention

브랜치를 새롭게 만들 때, 브랜치 이름은 항상 위 Commit Convention의 Header와 함께 작성되어야 합니다.

예시

feat/On_you
refactor/On_you

Releases

No releases published

Packages

No packages published

Languages

  • Python 64.4%
  • JavaScript 24.5%
  • Cuda 6.7%
  • C++ 2.5%
  • Java 1.2%
  • HTML 0.3%
  • Other 0.4%