본문 바로가기
AI/pose with style

tryondiffusion - google

by wenect 2023. 7. 21.

프로젝트: https://tryondiffusion.github.io/?ref=louisbouchard.ai
논문: https://arxiv.org/pdf/2306.08276.pdf

소스: https://tryondiffusion.github.io/ 

영상: https://youtu.be/nMwBVLjRdcc

 몇 년 전 VOGUE 라는 이 가상 시승 작업을 처음으로 수행한 훌륭한 연구 접근 방식을 다루었습니다.. VOGUE는 훌륭한 결과를 얻었지만 완벽함과는 거리가 멀었고 대부분 훈련 데이터에서 볼 수 있는 옷과 사람들과 함께 작업했습니다. 따라서 누구나 자신의 이미지를 업로드하고 티셔츠의 핏을 볼 수 있도록 하기 때문에 상업적으로 사용할 수 없습니다. 다행스럽게도 Luyang Zhu et al. Google Research에서 이 작업을 계속 수행하고 있으며 이제 막 CVPR 2023 컨퍼런스에서 발표된 TryOnDiffusion이라는 새로운 접근 방식으로 그 어느 때보다 개선되었습니다.

TryOnDiffusion 결과 예시. 프로젝트 웹 사이트 의 이미지 .

이 가상 체험 작업은 아마도 우리가 가장 쉽게 이해할 수 있는 제너레이티브 AI의 상업적 사용일 수 있지만 가장 어려운 사용 사례 중 하나이기도 합니다. 세상의 물리학을 거의 완벽하게 이해하고 그 사람의 체형과 옷의 질감 및 특징을 존중하여 이를 정확하게 표시하고 환급이나 불만족스러운 고객을 마주하지 않아야 합니다. 셔츠가 제대로 맞지 않고 사이트에서 다르게 보였기 때문에 여전히 셔츠를 반환해야 하는 경우 이러한 AI는 어디에 사용됩니까? 거의 완벽해야 합니다. TryOnDiffusion은 아직 완벽에 도달하지 못했지만 아직까지 현실적인 가상 시도에 가장 근접한 AI입니다. 영상 시작부터 보셨듯이 결과는 환상적이지만 더 멋진 것은 작동 방식입니다…

하지만 먼저 AI 관련 콘텐츠를 즐기고 밤에 잠드는 데 도움이 되거나 출퇴근 중에 들을 수 있는 것이 필요한 경우 Louis Bouchard의 내 팟캐스트 What's AI를 추천하고 싶습니다 . Spotify 또는 Apple 팟캐스트와 같은 모든 스트리밍 플랫폼 또는 채널을 구독하는 경우 여기 YouTube에서 찾을 수 있습니다. 나는 매주 새로운 에피소드를 해당 분야의 전문가와 공유하여 그들의 열정에 뛰어들고 AI와 관련된 많은 놀라운 통찰력을 공유하지만 종종 당신의 삶과 모든 산업에도 적용됩니다. 예를 들어, 지난 주에 제가 가장 좋아하는 온라인 AI 교육자인 Luis Serrano와 대화할 기회가 있었는데 그는 의사 소통 및 교육 기술을 향상시키기 위한 놀라운 팁을 공유했습니다.

 

팟캐스트에 관심이 없고 TryOnDiffusion 모델이 어떻게 작동하는지 이해하고 싶은 경우에도 완벽하게 괜찮습니다. 그것에 뛰어 들자!

TryOnDiffusion 모델 개요의 입력 및 첫 번째 부분. 프로젝트 페이지 의 이미지 .

먼저, 우리가 가진 것과 이 문제에 대해 원하는 것이 무엇인지 알아야 합니다. 우리 사진과 가상으로 입어보고 싶은 옷이 있습니다. 우리가 원하는 것은 이와 같이 새 옷을 입은 우리의 현실적이고 고품질 사진입니다.

그럼 거기서 무엇을 할까요? 입력 이미지를 모두 이해하고 옷과 사람을 구별할 수 있는 모델을 훈련해야 합니다. 우리의 경우 옷을 분리하여 첫 번째 이미지에 정확하게 배치하려고 합니다. 그래서 모든 것보다 먼저 Segment Anything Model by Meta 예제와 같이 이미 훈련된 세분화 모델이 필요합니다 . 그런 다음 사람과 의복 이미지 모두에 실행하고 이미지에서 원하는 의복만 추출합니다. 생성할 대상을 알기 위해 사람의 이미지(여기서는 의류에 구애받지 않는 이미지라고 함)를 위해 그것을 완전히 제거하고 세그먼트화된 의류라고 하는 생성을 위해 의류 이미지를 위해 저장합니다. 이제 이 옷을 가져와 옷에 구애받지 않는 새로운 이미지에 추가하려면 어떻게 해야 할까요?

 

당연히 U-Net 모델을 사용하므로 이미지를 더 낮은 해상도로 인코딩한 다음 다시 새 이미지로 되돌리는 모델입니다. 여기서는 확산 과정에 익숙하지 않은 분들을 위해 이전 영상에서 소개해드린 확산 기반의 U-Net입니다. 신속하게 확산 모델은 데이터를 가져와 매우 흐릿하고 인식할 수 없게 될 때까지 반복적으로 임의의 노이즈를 추가하여 작동합니다. 그런 다음 이 프로세스를 되돌리도록 모델을 훈련합니다. GAN보다 훨씬 더 안정적이고 더 나은 결과를 생성하므로 이제 어디에서나 GAN을 볼 수 있습니다. 따라서 모델은 기본적으로 노이즈 또는 임의의 픽셀이 있는 이미지를 사용하고 더 많은 노이즈를 적용하는 방법을 배웠지만 올바른 노이즈를 적용하여 궁극적으로 실제 이미지를 생성합니다. 이것을 테니스 서브와 같은 것을 배우는 것으로 볼 수 있습니다. 동작을 계속 반복하면 됩니다. 당신이 마침내 필드 내부에 그것을 칠 때까지 꽤 무작위로 시작합니다. 그런 다음 더 많은 서브로 연습을 계속하지만 힘을 더합니다. 모두 매우 무작위적이지만 항상 방금 수행한 작업을 기반으로 하므로 결국 실제로 무작위적이지는 않습니다. 여기서는 동일한 반복 프로세스이지만 완벽한 시속 150마일 서브를 향해 수렴하는 것처럼 이미지를 향해 점진적으로 수렴하는 이미지에 있습니다! UNet을 사용하여 최종 이미지를 재구성하기 전에 정보를 작업하고 결합하기 위해 먼저 정보를 더 작고 관리하기 쉬운 표현으로 인코딩합니다. 동일한 반복 프로세스이지만 완벽한 시속 150마일 서비스를 향해 수렴하는 것처럼 점진적으로 이미지를 향해 수렴하는 이미지에 적용됩니다! UNet을 사용하여 최종 이미지를 재구성하기 전에 정보를 작업하고 결합하기 위해 먼저 정보를 더 작고 관리하기 쉬운 표현으로 인코딩합니다. 동일한 반복 프로세스이지만 완벽한 시속 150마일 서비스를 향해 수렴하는 것처럼 점진적으로 이미지를 향해 수렴하는 이미지에 적용됩니다! UNet을 사용하여 최종 이미지를 재구성하기 전에 정보를 작업하고 결합하기 위해 먼저 정보를 더 작고 관리하기 쉬운 표현으로 인코딩합니다.

병렬 UNet 개요. 프로젝트 페이지 의 이미지 .

그리고 더 정확하게는 Parallel-UNet이라고 불렀는데, 이것이 그들의 논문의 주요 기여입니다. 여기 마법이 일어나는 곳입니다. Parallel-UNet이라는 이름에서 알 수 있듯이 두 개의 UNet으로 구성됩니다. 첫 번째는 시끄러운 초기 이미지와 의류에 구애받지 않는 이미지를 모두 가져와서 인코딩합니다. 그런 다음 우리가 가지고 있는 분할된 의복에만 두 번째 UNet을 사용합니다. 마지막으로 두 정보를 결합하고 포즈를 첫 번째 UNet에 추가하여 최종 이미지를 재구성합니다.

 

 

그래서 그것은 우리의 모든 개인 및 의복 정보의 인코딩된 버전을 취하여 제가 다른 비디오에서도 소개한 어텐션 메커니즘을 사용하여 결합할 것입니다. 지능적이고 학습된 가중치 시스템을 사용하여 다양한 입력의 정보를 병합하는 방법을 학습하여 유용한 정보에 더 많은 가중치를 부여하며 단순히 값을 더하거나 연결하는 것과 비교할 때 특히 강력합니다. 우리는 두 입력 이미지의 4가지 처리된 버전 덕분에 각 이미지의 옷에서 포즈 정보를 분리하고 관련 정보를 적절하게 추출하고 사실적으로 결합하도록 알고리즘을 가르치는 긴 훈련 과정을 통해 이를 수행합니다.

TryOnDiffusion 모델 개요. 프로젝트 페이지 의 이미지 .

그러나 여기서 끝이 아닙니다. 최종 결과를 얻었지만 고화질 이미지를 생성하는 데 필요한 계산 때문에 여전히 품질이 매우 낮습니다. 최종 아름다운 이미지를 얻기 위해 우리는 이미 첫 번째 모델에 보낸 모든 처리된 정보와 함께 매우 유사한 Parallel-UNet 모델로 보내고 더 많은 픽셀로 동일한 이미지를 다시 생성하는 데 집중하면서 다시 시작합니다. 우리는 비슷한 모델을 사용하지만 이미 있는 것을 기반으로 이미지에 픽셀을 추가하는 것뿐만 아니라 우리가 가진 입력에서 약간을 외삽하는 다른 목표를 요청하여 단순히 첫 번째 시도 버전을 업스케일링하려고 시도하는 것과 비교하여 결과를 개선합니다.

지금은 이미 훨씬 나아졌지만 여전히 상당히 낮은 품질입니다. 256x256 이미지에 충분한 세부 정보가 있으므로 적절한 업스케일러를 사용하는 곳입니다. 여기에서 그들은 적절한 고품질의 최종 이미지를 만들기 위해 다른 사전 훈련된 모델을 사용합니다. 기본적으로 MidJourney, Imagen 및 기타 생성 AI에서 사용하는 것과 동일한 업스케일러입니다. 이러한 확산 초해상도 모델의 내부 구조가 궁금하시다면 이전 영상에서도 소개해 드린 바 있습니다! 그리고 짜잔! 이제 새 옷이 포함된 최종 고화질 이미지를 가지고 있어 자신에게 얼마나 잘 맞는지 확인할 수 있습니다!

 

결과는 확실히 완벽하지 않으며 시도할 각 조각에 대해 매번 완벽한 사실감으로 작동할 것이라고 기대하지는 않지만 이전의 모든 접근 방식보다 확실히 인상적이며 현실에 더 가깝습니다! 한 가지 주요 제한 사항은 우리가 본 것처럼 세그멘터 및 업스케일러와 같이 사용되는 다양한 사전 훈련된 모델에 따라 접근 방식이 달라지며, 이는 각각의 작업에서 실패할 경우 결과에 큰 영향을 미칠 수 있다는 것입니다.

어려운 경우에 대한 정성적 비교(극단적인 신체 포즈 및 모양 차이). 프로젝트 페이지 의 이미지 .

다행스럽게도 SAM 모델과 마찬가지로 이제는 매우 강력하며 기본 모델에서 분리하면 작업이 훨씬 쉬워집니다. 또 다른 제한은 그들이 생성하는 의복에 구애받지 않는 이미지에서 비롯되며, 이는 정확하게 표시되지 않고 의복 본체와 조금 더 닮을 수 있는 문신 및 근육과 같은 개인적인 신체 특징을 존중할 때 몇 가지 문제를 일으킬 수 있습니다. 따라서 핏이 완벽하지는 않지만 시착의 시각화에 중점을 두었다고 언급했으며 거의 ​​완벽에 가까운 것을 볼 수 있습니다. 나는 핏과 사람의 신체 측면에 초점을 맞춘 이 작업의 후속 작업을 보게 되어 매우 기쁩니다.

'AI > pose with style' 카테고리의 다른 글

Outfit Anyone  (0) 2023.12.17
SMPLitex  (0) 2023.09.07
Refacer: One-Click Deepfake Multi-Face Swap Tool  (0) 2023.07.17
PanoHead: 360°에서 형상 인식 3D 풀 헤드 합성  (0) 2023.06.29
패션업계에 적용된 사래  (1) 2023.05.18

댓글