[심화캡스톤] SMPL을 이용한 3D 스타일 피팅 서비스

2026. 7. 5. 02:27·프로젝트 회고

논문: https://ki-it.or.kr/conference/summer26/notice/article/1077

 

2026년 한국정보기술학회 하계종합학술대회 및 대학생논문경진대회

학술대회 논문집 총괄본 하계종합학술대회 논문집 총괄본입니다

ki-it.or.kr

해당 pdf의 1486페이지부터

 

주제 선정과 전체 회고는 이전글에서

https://chanhuy.tistory.com/32

 

기초/심화 캡스톤 디자인 프로젝트 회고

4학년에 학교에서 졸업을 하려면 기초/심화 캡스톤 디자인 수업을 모두 들어야 한다고 해서부랴부랴 4학년 1학기에 두 수업을 모두 듣게 되었다...심화캡스톤은 다행히 같이할 사람이 한명 있었

chanhuy.tistory.com

 

이전 글에 이어서 심화캡스톤에서 진행했던 'SMPL을 이용한 3D 스타일 피팅 서비스' 프로젝트의 자세한 회고를 쓰려고 한다.

이 프로젝트의 자세한 내용은 위 논문 내용을 참고하길 바란다.

 

 

이 프로젝트는 주제 선정 후 어떻게 구현할지 조사를 했었다.

그리고 조사를 통해 SMPL을 이용해 사용자의 체형을 반영한 마네킹을 생성하고

IDM-VTON 모델을 이용해 2d 합성 이미지를 구한 뒤

Depth Anything 모델을 이용해 3d 모델로서 깊이맵을 구해 마네킹 위에 투영하는 방식을 찾아냈다.

 

그리고 내가 찾은 방법이라 내가 구현을 맡았는데 하다보니 문제가 발생했다.

일단 SMPL 모델을 만드는 것은 모델 다운로드 후 4D-Humans 모델을 통해 꽤 쉽게 구현헀지만

문제는 IDM-VTON 부터였다.

이 모델이 상당히 무거운 모델이었기 때문에 당시 테스팅으로 구현중이던 Colab에서는

환경 구성이 너무나도 어려웠다.

그래서 어쩔수 없이 Hugging face에서 제공하는 playground에서 데모용 데이터를 만들어서

테스트를 진행했다. 그런데...

Depth Anything을 적용하기 위해 생성된 2d이미지를  3d 마네킹 위에 투영하는 작업을 하는데

이게 상당히 고역이었다. 정확히 투영이 안될 뿐더러 위치를 잡는 것도 계속 틀렸다.

문제는 이걸 매번 수작업을 할 수 없기 때문에 자동화를 해야 하는데

이런 식이면 자동화는 기간 내에 절대 불가능 할 것 같았다.

 

그래서 주제를 바꿔야 하나 고민을 하던 중

교수님이 재생성 모델을 이용해보는 방법을 제시해 주었다.

즉 2D로 생성된 이미지를 3D 재생성 모델을 통해 3d 객체를 바로 받는 것이었다.

현실적으로 기간 내에 수행하기 위해서 이 방식을 채택하였다.

근데 찾아보니 생성된 3d 객체의 매쉬 데이터를 조절할 수 있어서

기존에 생성했던 마네킹의 매쉬 데이터를 이용해 AI의 환각 문제를 해결할 수 있을 것 같아서

문제가 될 듯했던 정확성 문제도 어느 정도 해결되었다.

 

근데 또 재생성 모델을 선택하는데에도 꽤 어려웠다.

일단 2d이미지는 단면 뿐이라 후면을 반영할 수 없었는데

이를 반영하려면 CRM이란 모델을 써야 했는데

문제는 너무 예전 모델이고 유지보수가 안되어 있어서 호환성 문제로 인해 환경 구성에 실패했다

그래서 어쩔수 없이 시간 관계상 쉽게 사용이 가능하고 성능이 좋은 Tripo3d를 이용하기로 했다.

최종 시스템 아키텍처

 

그 이후로는 꽤 준수한 결과가 나오면서 테스트를 끝내고 실제 서비스 구현에 돌입했다.

그런데, 아키텍처와 api 명세를 작성해둬서 그 이후로는 금방 끝낼 줄 알았는데

시험이랑 논문 이슈로 시간이 없기도 했고 생각보다 미리 만들어둔 명세가 의미가 없어서

이걸 새로 협의하느라 생각보다 오래 걸렸다.

 

그리고 이전에 패스해뒀던 IDM-VTON 기능을 구현해야 했는데

내 컴퓨터의 그래픽카드로는 너무 오래 걸려서 그냥 배포된 서버 위에서 테스트 하면서 구현했는데

막상 다 환경 설정해서 테스트 해보니 너무나도 결과가 별로여서 왜인지 찾아보니

hugging face에서 제공한 playground와 똑같이 하려면 IDM-VTON 뿐만 아니라

누끼를 따는 Human Parsing와 수학적으로 3d 굴곡을 계산하는 DensePose 모델을 추가해야 했다.

문제는 docker 환경에서 진행중이었는데 DensePose를 docker위에 구성하는 것이 매우 까다로워서

결국 API를 이용하는 방식으로 변환했다.

 

 

고성능 GPU를 이용해서 실제 AI모델을 활용한 기능을 구현해보는 경험을 해보긴 했지만

결국 엄청난 환경 구성 문제에 결국 패배해 버렸다.

그래도 SMPL 마네킹 생성 기능을 고성능 GPU와 내 PC의 GPU와 비교하면서 확실한 성능 차이를 확인했다.

 

최종적으로 우리 팀은 사람의 이미지를 넣으면 사용자의 체형이 반영된 마네킹을 생성하고

해당 마네킹에 선택한 옷을 합성하여 3d 피팅룸(뷰어)에서 다각도에서 확인할 수 있는 서비스를 개발했다

이를 통해 사용자는 입체감 있는 피팅 모습을 확인할 수 있었다.

 

다만 역시 api 요금을 절약하기 위해서는 기존에 하려던대로 모델을 직접 서버 구축하고

더 나은 결과를 위해 모델 튜닝과 후면 이미지까지 반영을 하면 더 좋았을 것이다.

 

그래도 3D 객체를 다루는 프로젝트였기에 창의적이고 꽤 고난이도의 프로젝트였다고 생각한다.

이번 프로젝트를 통해 다양한 모델을 경험하고 모델을 비교하며

어떻게 시스템을 구축하는지 경험하는 기회가 되었다.

 

 

 

아래는 프로젝트의 주요 기능들의 설명이다

 

해당 프로젝트의 github 주소

https://github.com/chanhi/RealFit

 

GitHub - chanhi/RealFit: KGU 심화 캡스톤디자인 프로젝트

KGU 심화 캡스톤디자인 프로젝트. Contribute to chanhi/RealFit development by creating an account on GitHub.

github.com

 

'프로젝트 회고' 카테고리의 다른 글

기초/심화 캡스톤 디자인 프로젝트 회고  (1) 2026.07.05
오픈소스 SW 프로젝트 후기  (0) 2025.11.23
'프로젝트 회고' 카테고리의 다른 글
  • 기초/심화 캡스톤 디자인 프로젝트 회고
  • 오픈소스 SW 프로젝트 후기
chanhuy
chanhuy
  • chanhuy
    차늬
    chanhuy
  • 전체
    오늘
    어제
    • 분류 전체보기 (34)
      • algorithm (9)
      • Python (2)
      • database (8)
      • csts (3)
      • Operating System (0)
      • 오픈소스SW (1)
      • Git & Github (4)
      • 프로젝트 회고 (3)
      • 정보처리기사 (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    dynamic programming
    Git
    index
    D&C
    pl/sql
    시간복잡도
    algorithm
    recursion
    COMMIT
    알고리즘
    오픈소스SW
    프로젝트후기
    Reduction
    graph algorithms
    backtracking
    Python
    greedy
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
chanhuy
[심화캡스톤] SMPL을 이용한 3D 스타일 피팅 서비스
상단으로

티스토리툴바