Controllable Clothing: Precise Labels and Generation for Virtual Try-On with Latent Diffusion Models
이 논문은 잠재 확산 모델(Latent Diffusion Models)과 정밀한 의류 라벨을 통합하기 위해 학습된 어댑터를 사용하여, 소매업체가 소비자 오인을 방지할 수 있는 다양하고 사용자 제어가 가능하며 정확한 의류 이미지를 생성할 수 있게 하는 새로운 가상 피팅 방법을 제시한다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
당신이 로봇에게 옷 입는 법을 가르치려 한다고 상상해 보세요. 당신은 사람의 사진 한 장과 멋진 새 재킷 사진 한 장을 보여주며 이렇게 묻습니다. "이 재킷을 이 사람에게 입혀줄래?" 이것이 바로 컴퓨터 비전의 한 분야인 **가상 피팅(VITON)**의 세계입니다. 여기서 기계는 옷이 다양한 체형의 몸에 어떻게 보이는지에 대한 퍼즐을 풀려고 노력합니다. 이를 위해 로봇은 **확산 모델(diffusion model)**이라는 특별한 종류의 "두뇌"를 사용합니다. 확산 모델을 마치 마법 같은 화가라고 생각해보세요. 이 화가는 TV 노이즈 같은 정적(static)으로 가득 찬 캔버스에서 시작하여, 단계별로 노이즈를 서서히 제거하며 그림을 드러내는 작업을 합니다. 만약 당신이 이 화가에게 "빨간색 셔츠"라는 텍스트 설명을 준다면, 화가는 그것을 그려낼 수 있습니다. 하지만 만약 당신이 정확히 그 특정 셔츠를, 소매가 팔꿈치에서 끝나고 깃이 딱 맞게 그 특정 사람에게 입히고 싶다면, 화가는 종종 혼란에 빠집니다. 셔츠를 너무 길거나 짧게 그리거나, 색상을 잘못 칠할 수도 있습니다. 이는 온라인 쇼핑몰에 큰 문제입니다. 왜냐하면 고객이 가짜 사진을 보고 셔츠를 샀는데 실제와 다르다면, 고객은 불만족스러울 것이기 때문입니다.
Max Rehman Linder의 이 보고서는 그 혼란을 다룹니다. 저자는 이렇게 질문합니다. "만약 우리가 로봇에게 막연한 설명 대신 자(ruler)와 일련의 지침을 줄 수 있다면 어떨까?" 이 논문은 ControlableClothing이라는 새로운 방법을 제안합니다. 단순히 로봇에게 사진을 보여주는 대신, 저자의 팀은 수학적 정밀도로 옷과 사람의 신체를 측정합니다. 어깨가 얼마나 덮이는지, 네크라인이 얼마나 깊은지, 그리고 소매 길이는 얼마인지를 정확하게 계산하는 것입니다. 그들은 이 측정값들을 비밀 코드(레이블)로 변환하여 이미지와 함께 로봇에게 입력합니다. 그 결과, 이 시스템은 단순히 옷이 어디에 갈지 추측하는 것이 아니라, 지도를 따르는 시스템이 됩니다. 논문은 이러한 정밀한 측정값과 특별한 "어댑터"(코드를 이해하도록 돕는 도구)를 사용함으로써 생성된 이미지가 훨씬 더 제어 가능해진다고 제안합니다. 그러나 저자는 로봇이 이제 규칙을 따를 수는 있지만, 모든 미세한 디테일을 완벽하게 구현하기 위해서는 여전히 더 많은 연습이 필요하며, 그들이 만든 새로운 도구 중 일부는 여전히 의도한 대로 잘 작동하는지 테스트 중이라는 점을 주의 깊게 언급합니다.
"노이즈를 제거하는" 화가의 마법
이것이 어떻게 작동하는지 이해하기 위해 로봇의 두뇌를 살펴봅시다. 이 논문은 **잠재 확산 모델(latent diffusion model)**이라는 유형의 AI를 사용합니다. 진흙탕물을 상상해 보세요. 계속 저으면 저을수록 점점 더 지저분해져서 결국 갈색 진흙 덩어리가 됩니다. 확산 모델은 그 반대로 하는 법을 배웁나다. 즉, 그 갈색 진흙을 가져와서 물에서 흙을 천천히, 조심스럽게 분리하여 다시 깨끗한 그림을 만드는 법을 배우는 것입니다. 컴퓨터 세계에서 "진흙"은 무작위 노이즈이며, "깨끗한 그림"은 옷을 입은 사람의 사진입니다.
오랫동안 이 로봇들은 무에서 새로운 그림을 만드는 데는 뛰어났지만, 엄격한 규칙을 따르는 데는 서툴렀습니다. 만약 당신이 소매가 정확히 팔꿈치에서 끝나는 셔츠를 요청한다면, 로봇은 그냥 추측할 뿐입니다. 이는 아이에게 문 너비가 정확히 3인치인 집을 그려달라고 하는 것과 같습니다. 아이는 문을 그리겠지만, 당신이 원하는 정확한 크기로 그리기는 매우 어렵습니다. 이전의 해결 시도들은 GAN(또 다른 유형의 AI)을 사용하는 것이었으나, 이들은 종종 경직되어 있었고 사실적인 주름이나 조명을 만들어내지 못했습니다. 그 후 확산 모델이 등장했는데, 이는 사물을 훨씬 더 실감 나게 만드는 데 뛰어나지만, 여전히 "정확한 배치" 문제로 어려움을 겪었습니다.
새로운 해결책: 로봇에게 자를 쥐여주기
저자의 핵심 아이디어는 간단합니다. 추측을 멈추고 측정을 시작하는 것입니다.
과거에는 셔츠를 입히고 싶다면 로봇에게 셔츠와 사람을 그냥 보여주기만 했습니다. 로봇은 셔츠를 몸에 맞게 "왜곡(warp)"하려고 시도할 것입니다. 하지만 저자는 제대로 하려면 로봇이 셔츠가 어떻게 맞는지 알아야 한다는 것을 깨달았습니다. 꽉 끼는지? 헐렁한지? 소매가 손목에서 끝나는지 아니면 팔꿈치에서 끝나는지 말입니다.
그래서 팀은 전처리 파이프라인을 구축했습니다. 로봇이 사진을 보기 전에, 다른 스마트한 도구들을 사용하여 다음을 수행합니다:
- 옷을 잘라내기: 새로운 셔츠가 들어갈 사람의 부분을 숨기기 위해 "마스크"를 사용합니다.
- 모든 것을 측정하기: 컴퓨터 비전을 사용하여 사람의 골반부터 셔츠 밑단까지의 거리, 목 너비, 그리고 어깨가 얼마나 덮이는지를 측정합니다.
- "성적표" 만들기: 이 측정값들을 숫자와 레이블로 변환합니다. 예를 들어, 단순히 "긴 소매"라고 말하는 대신, "소매가 팔 길이의 0.8 지점에서 끝남"이라고 말할 수 있습니다.
"어댑터" 도구: 번역가
로봇의 두뇌(확산 모델)는 이미 그림을 그리는 데 매우 능숙하지만, "측정값"의 언어는 구사하지 못합니다. 이를 해결하기 위해 저자는 **어댑터(adapter)**라고 불리는 특별한 도구를 만들었습니다. 이 어댑터를 번역가라고 생각하세요.
이 번역가는 "성적표"(측정값과 레이블)와 셔츠 사진을 가져와서 로봇이 이해할 수 있는 언어로 변환합니다. 그런 다음 로봇이 그림을 그리는 동안 이 지침들을 로봇의 귀에 속삭여 줍니다.
- IP-Adapter: 이 부분은 로봇이 셔츠의 외형(패턴, 색상)을 이해하도록 돕습니다.
- T2I-Adapter: 이 부분은 로봇이 세부 사항을 이해하고 그것들을 어디에 배치해야 할지 이해하도록 돕습니다.
저자는 그림의 "업샘플링(up-sampling)" 단계, 즉 로봇이 직물의 질감이나 빛이 접힌 부분에 닿는 방식과 같은 미세한 디테일을 추가하는 단계에 특화된 새로운 커스텀 버전의 번역기를 만들었습니다. 이 단계에 측정 데이터를 주입함으로써, 로봇은 자의 지침에 따라 디테일을 조정할 수 있습니다.
실험 결과가 보여준 것
저자는 이 새로운 시스템을 수천 장의 사람과 옷 이미지를 통해 학습시켰습니다. 결과는 다음과 같습니다:
- 작동하지만, 진행 중인 작업입니다: "다이얼"(측정 레이블)을 돌렸을 때, 로봇은 실제로 옷을 변화시켰습니다. 예를 들어, 네크라인을 더 깊게 만들라고 명령하면(숫자를 1에서 -2로 변경), 로봇은 더 깊은 네크라인을 그렸습니다. 한쪽 어깨만 덮도록 명령해도 그렇게 수행했습니다.
- 숫자가 단어보다 낫습니다: 저자는 로봇에게 특정 숫자(실수 값)를 주는 것이 카테기(예: "긴 소매")를 주는 것보다 훨씬 효과적이라는 것을 발견했습니다. 이는 요리사에게 "소금을 조금 넣으세요"라고 하는 대신 "소금 5그램을 넣으세요"라고 말하는 것과 같습니다. 로봇은 숫자를 훨씬 더 정밀하게 따를 수 있었습니다.
- "마스크" 기술: 팀은 또한 로봇에게 마스크 뒤에 숨겨진 이미지 부분을 무시하도록 가르쳤습니다. 그들은 만약 로봇에게 "마스크는 여기서 끝나지만, 그 위쪽은 그려도 좋다"라고 말하면, 로봇이 마스크 라인 위쪽에 새로운 천을 생성한다는 것을 발견했습니다. 이는 매우 중요한데, 긴 셔츠를 입은 사람의 사진을 가져와서 크롭 탑(crop top)으로 바꾸라고 명령하면, 로봇이 누락된 복부 영역을 그려낼 줄 알게 된다는 것을 의미하기 때문입니다.
- 한계점: 논문은 로봇이 아직 완벽하지 않다는 점을 인정합니다. 옷의 패턴이나 디테일이 매우 복잡할 경우, 로봇은 가끔 이를 놓치곤 했습니다. 저자는 이것이 새로운 "업샘플링" 도구가 충분히 학습되지 않았기 때문이라고 추측합니다. 로봇은 여전히 자신의 새로운 자를 사용하는 법을 배우는 중입니다.
저자가 "아니오"라고 말하는 것들
저자는 무엇이 작동하지 않는지, 혹은 무엇이 초점이 아닌지에 대해 명확히 밝혔습니다:
- 텍리 텍스트 프롬프트만으로는 충분하지 않습니다: 단순히 단어만 사용하여 "소매를 더 길게 만들어줘"라고 요청했을 때, 로봇은 이를 무시하거나 틀리게 처리하는 경우가 많았습니다. 측정값이 반드시 필요했습니다.
- 원핫 인코딩(One-hot encoding)은 이상적이지 않습니다: 소매 길이와 같은 항목에 대해 "긴가요? 예/아니오"와 같은 단순한 온/오프 스위치를 사용해 보았으나, 연속적인 숫자(0에서 1 사이의 슬라이더와 같은 값)를 사용하는 것이 훨씬 더 나은 제어를 제공한다는 것을 발견했습니다.
- 모든 것에 대한 마법 같은 해결책은 아닙니다: 저자는 만약 로봇이 이미 정답을 암기한 데이터셋에서 학습되었다면, 새로운 지침을 추가하는 것이 도움이 되지 않을 수 있다고 언급했습니다. 새로운 시스템이 작동하게 하려면 처음부터 다시 시작해야 했습니다.
결론
이 논문은 정밀한 측정값과 스마트한 "어댑터" 도구를 결합함으로써, 가상 피팅 시스템에 훨씬 더 많은 제어력을 부여할 수 있음을 시사합니다. 이것이 완전히 해결된 문제는 아닙니다. 로봇은 미세한 디테일을 완벽하게 만들기 위해 더 많은 훈련이 필요하며, 새로운 도구들도 더 많은 테스트가 필요합니다. 하지만 그 방향은 유망합니다. 저자는 AI에게 자와 지침을 준다면, AI가 추측을 멈추고 명령을 따를 수 있으며, 실제 고객이 보게 될 것과 매우 유사한 이미지를 생성할 수 있다는 것을 보여줍니다. 이는 여러분이 온라인에서 옷을 입어볼 때, 보이는 그림이 실제로 배송받을 상품과 정확히 일치하게 되는 미래를 향한 한 걸음입니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.