이 섹션에서는 프로젝트에 사용된 원본 모델 CatVTON의 주요 설정을 명시한다
https://github.com/Zheng-Chong/CatVTON license: cc-by-nc-sa-4.0
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
-
전체 서비스 소개 (Part1 + Part2)
- 프로젝트 개요
- 시스템 아키텍처
- 기능 설명
-
Usage (Part2)
- Environment
- 터미널 명령어
-
Poster
DressMyFit은 생성형 AI 기반 2D 이미지 합성 모델을 이용한 가상 피팅 서비스이다. 사용자는 입력한 신체 정보를 바탕으로 생성된 맞춤형 아바타 이미지 또는 업로드한 이미지(Target Image)에 대해 의류 이미지(Inference Image)를 선택/업로드하여 가상 피팅 결과를 확인할 수 있다. 또한, 이 과정에서 사용자는 의류 피팅 정도를 Fit, Standard, Loose 중에서 선택할 수 있다. 이를 통해 사용자들은 자신에게 맞는 의류를 아바타를 통해 시도하고, 실제로 착용한듯한 경험을 할 수 있다.
- 사용자 정보 입력
- BMI/키에 따른 맞춤형 아바타 이미지 생성
- 사용자 사진 업로드 기능 (Target Image 업로드)
- 의류 및 피팅 타입 선택
- 의류 사진 업로드 기능 (Inference Image 업로드)
- 진행 상황 표시 (Progress Bar)
- 피팅 결과 생성 및 출력
사용자의 bmi와 성별, 키 정보를 반영한 아바타를 Unity 엔진에서 Ready Player Me SDK를 이용하여 생성하였다. BMI 4구간과, 성별 2개, 키 5구간(140cm~190cm) 에 따라 총 40개의 남녀 아바타 이미지가 있으며, 사용자가 자신의 키, 몸무게, 성별을 입력하면 해당 정보에 맞는 아바타가 웹 페이지에 디스플레이된다.
해당 프로젝트는 CatVTON이라는 의류 합성 생성형 모델을 기반으로 하는 서비스이다. 기존 모델의 경우, target image가 avatar 이미지인 경우, 기존 코드에서 사용되는 automasker로는 마스크가 정확히 생성되지 않고, 따라서 합셩결과가 정확하지 않은 것을 확인하였다.
따라서 이러한 경우에 대해서, Automasker가 아닌, 신체 사이즈가 좀 더 반영된 마스크를 이용하고자 하였으며, 이를 위해 SAM 모델을 통해 얻은 이미지에 morphological operation을 수행하여, 마스크 생성 기능을 개선하였다.
해당 프로젝트는 CatVTON이라는 의류 합성 생성형 모델을 기반으로 하는 서비스이다. 기존 모델에는, fitting type을 선택할 수 있는 기능이 없었기에, 해당 기능을 추가하였다. Fit, Standard, Loose의 세 가지 피팅 타입을 사용자가 설정할 수 있도록 하였고, 그에 따른 가상 피팅 결과도 달라지게 하였다. OpenCV 연산을 통해 마스크가 피팅 타입에 맞춰 자동 조절되어, 각기 다른 스타일의 착용감을 제공한다.
- NVIDIA GeForce RTX 2080 Ti
- Conda 환경 사용
- 필요한 패키지는
requirements.txt파일 참고
-
환경 설정
conda create -n dressmyfit python=3.10.13 conda activate dressmyfit pip install -r requirements.txt
-
로컬 서버 실행
uvicorn api2:app --reload --ws websockets --port 3000 --host 0.0.0.0













