HandRefiner: Refining Malformed Hands in Generated Images by Diffusion-based Conditional Inpainting

곽태욱·2024년 3월 18일
0

논문 번역

목록 보기
2/4

https://ar5iv.labs.arxiv.org/html/2311.17957

HandRefiner: Diffusion 기반 조건부 inpainting을 통해 생성된 이미지의 어색한 손 모양을 개선하기

Abstract

Diffusion 모델은 사실적인 이미지를 생성하는 데 놀라운 성공을 거두었지만 잘못된 손가락 수나 불규칙한 모양과 같이 사람의 손을 정확하게 생성하는 데 어려움을 겪습니다. 3차원 공간의 손이 2차원 이미지로 투영되면서 광범위한 변형과 손가락 맞물림 현상이 일어난 훈련 이미지에서 손의 물리적 구조와 포즈를 학습하기 어렵기 때문에 발생합니다. 올바른 손 생성을 위해 저희 논문에서는 HandRefiner라는 경량 후처리 솔루션을 소개합니다. HandRefiner는 이미지의 다른 부분을 그대로 두면서 기형적인 손을 교정하는 조건부 inpainting 접근법을 사용합니다. 우리는 생성된 이미지에서 원하는 손 포즈를 맞출 수 있는 동시에 정확한 손가락 수와 손 모양을 일관되게 유지하는 hand mesh 재구성 모델을 활용합니다. 잘못된 손 모양이 나온 이미지가 주어지면 해당 이미지에 올바른 손 정보를 주입하기 위해 ControlNet 모듈을 사용합니다. 또한 control strength를 변경함에 따라 ControlNet 내에서 phase transition 현상을 발견합니다. 이 control strength를 변화시켜 현실적인 손과 생성된 손 사이의 어색함을 줄여 보다 쉽게 자연스러운 이미지를 생성할 수 있습니다. 실험을 통해 HandRefiner가 정량적, 정성적으로 생성 이미지의 품질을 크게 향상시킬 수 있음을 입증했습니다. 코드는 https://github.com/wenquanlu/HandRefiner 에서 확인할 수 있습니다.

Introduction

최근 Diffusion 기반 모델은 텍스트-이미지 생성 작업, 즉 텍스트 프롬프트에 따라 현실적인 이미지를 생성하는 데 큰 성공을 거두었습니다. 이러한 모델은 충분한 데이터로 훈련될 때 다양한 설명에 해당하는 일관된 구조를 생성하고 텍스트 단서에 따라 적절한 이미지를 생성하는데 놀라운 능력을 보여줍니다.

그림 1

Diffusion 기반 모델은 다양한 객체를 생성하는 데 탁월한 성능을 발휘함에도 불구하고 실제 사람의 손 이미지를 생성하는 데 어려움을 겪습니다. 예를 들어 그림 1에서 볼 수 있듯이 첫 번째 행의 여성은 손가락 수가 잘못된 반면 가장 오른쪽 열의 남성은 손 모양이 잘못되었습니다. 이러한 어려움은 소규모 Stable Diffusion 모델과 대규모 Stable Diffusion XL 모델 모두에서 지속됩니다.

손이 잘못 나오는 주된 이유는 다음 두 가지 요인에 기인할 수 있습니다.

(a) 사람 손의 본질적으로 복잡한 구조: 손의 운동학적 모델은 16개의 관절과 27개의 자유도를 포함합니다. 이는 사람 손이 작은 공간에서 여러 모습으로 변할 수 있고 되게 정교하기에 손 이미지 생성 과정에서 조금이라도 오류가 발생하면 일반 사람들은 바로 어색함을 느낄 수 있습니다.

(b) 사람의 손은 3D 물체입니다. 따라서 2D 이미지 공간에 투영될 때 손가락 사이가 겹치는 현상이 발생할 수 있습니다. 손 자세와 보기 관점에 따라 다양한 손가락 수와 다양한 모양을 관찰할 수 있습니다. 일부 방법은 2D 인체 골격과 같은 추가 제어 신호를 도입하여 생성 품질을 향상시키려고 했습니다. 그러나 입력 이미지에서 정확한 손 골격을 얻는 것은 손 영역이 잘 보이지 않으면 문제가 됩니다. 또한 추정된 2D 골격은 깊이 정보가 부족하여 정확한 손 구조를 정의하기 애매합니다. 예를 들어, 손가락이 서로 교차할 때 어떤 손가락이 앞에 있는지 확인하는 것은 어려울 수 있습니다.

현실적인 사람의 손을 생성하는 기존 방법을 개선하기 위해, 정확한 사람 손 모양을 지침으로 사용할 것을 제안합니다. 우리의 접근 방식은 재구성된 hand mesh를 활용하여 손 모양과 위치에 대한 필수 정보를 제공하는 것입니다. 그런 다음 이 정보는 추론하는 동안 Diffusion 모델 내에서 사람의 손을 생성하는 데 사용됩니다. 또한 전체 이미지를 처음부터 생성하는 것이 아니라 inpainting 파이프라인을 사용하여 나머지 이미지를 그대로 유지하면서 손 영역만 재구성합니다. 이 방법을 사용하면 기존 Diffusion 모델을 다시 학습시킬 필요가 없습니다.

먼저 hand mesh 재구성 모델을 사용하여 생성된 손 이미지의 필수 손 포즈와 모양 정보를 추론해 depth map을 만듭니다. 이 depth map은 ControlNet을 통해 Diffusion 모델 내에서 사용됩니다. 또한, 모델 학습을 위해 비싸고 구하기 힘든 실제 데이터셋에 의존하기 보다, control strength를 변화시킬 때 ControlNet 내에서 나타나는 phase transition 현상을 활용하면, 생성된 데이터로 학습한 모델의 손 모양과 질감의 품질을 검증할 수 있습니다.

요약하면, 저희는 다음과 같은 기여를 합니다. (1) 저희는 생성된 이미지에서 변형된 사람의 손을 수정하기 위한 새로운 inpainting 파이프라인 HandRefiner를 제안합니다. (2) 저희는 훈련을 위한 합성 데이터 사용에 도움이 되는 ControlNet 내의 phase transition 현상을 발견합니다. (3) HandRefiner는 정성적 측정과 정량적 측정의 개선을 보여주는 포괄적인 실험을 통해 입증된 바와 같이 손 생성의 품질을 크게 향상시킵니다.

profile
이유와 방법을 알려주는 메모장 겸 블로그. 블로그 내용에 대한 토의나 질문은 언제나 환영합니다.

0개의 댓글