[paper] Inpaint Anything

Jomii·2024년 6월 7일
0

Computer Vision

목록 보기
16/23

Inpaint Anything 논문은 23년 4월에 발표되었습니다. 이 논문은 Segment Anything Model(SAM)을 기반으로 한 이미지 인페인팅 시스템을 소개합니다.

이 프레임워크는 다음과 같은 주요 기능을 제공합니다.

Remove Anything: 사용자가 이미지를 클릭하여 특정 객체를 제거할 수 있으며, SAM이 해당 객체를 분할하고 인페인팅 모델이 생성된 구멍을 배경 정보로 채워줍니다.

Fill Anything: 객체를 제거한 후, 사용자가 텍스트 프롬프트를 제공하면 인페인팅 모델이 텍스트 프롬프트에 기반하여 구멍을 새로운 콘텐츠로 채워줍니다.

Replace Anything: 사용자가 지정한 객체를 유지하면서 배경을 새로운 장면으로 대체할 수 있습니다. 이 기능은 SAM과 인페인팅 모델을 결합하여 시각적으로 일관된 배경을 생성합니다.



Motivation and Observation


Why do we need Inpaint Anything?

먼저 논문에서 제시한 배경입니다.

  • 최신 이미지 인페인팅 기법(LaMa, Repaint, MAT, ZITS 등)은 큰 영역을 성공적으로 채우고 복잡한 반복 구조를 잘 처리하지만, 각 마스크에 대한 세밀한 주석이 필요합니다.

  • Segment Anything Model (SAM)은 포인트나 박스 같은 입력 프롬프트로부터 고품질의 객체 마스크를 생성할 수 있습니다.

  • 기존 인페인팅 방법은 제거된 영역을 문맥으로만 채울 수 있지만, AIGC(AI generated content) 모델은 새로운 콘텐츠를 생성할 수 있는 기회를 제공합니다.

    	AIGC(AI generated content) 모델: 인공지능 기술을 사용하여 디지털 콘텐츠를 생성하는 모델
    	ex) chatgpt, stable diffusion, LaMa
  • SAM, SOTA inpainting, AIGC 모델의 장점을 결합하여 객체 제거, 새로운 콘텐츠 채우기, 배경 교체와 같은 일반적인 인페인팅 문제를 해결하는 강력하고 사용하기 쉬운 파이프라인을 제공합니다.

What Inpaint Anything can do?

  • SAM + SOTA 인페인팅 모델로 모든 것을 제거(Remove Anything): 사용자는 클릭만으로 인터페이스에서 특정 객체를 쉽게 제거할 수 있고, 명확한 객체 영역을 지정할 수 있으며, 이는 인페인팅 모델의 입력으로 사용됩니다.
  • SAM + AIGC 모델로 모든 것을 채우거나 교체(Fill Anything & Replace Anything): 객체 제거 후, 사용자는 텍스트 프롬프트를 제공하여 "새로운 콘텐츠"로 원하는 영역을 채울 수 있습니다. 예를 들어, "dog" 또는 "a cute dog, sitting on the bench"와 같은 프롬프트를 사용해 새로운 객체를 생성합니다. 또 사용자는 클릭 선택된 객체를 유지하면서 나머지 배경을 새로 생성된 장면으로 교체할 수도 있습니다.

정리하자면 segment anything으로 segment 주석을 알아서 하게 하고, 그 뒤에 inpainting 모델을 사용해서 객체를 지우거나 배경을 생성할 수 있는 프레임워크를 제시한 것의 논문의 주 내용입니다.



Methodology


모델 구성

Segment Anything Model (SAM):
SAM은 최근에 출시된 대규모 비주얼 트랜스포머(ViT) 기반 모델로, 대형 visual corpus(SA-1B)에서 훈련되었습니다. 다양한 시나리오에서 뛰어난 segmentation 능력을 보여줍니다.

SOTA Inpainters:
이미지 인페인팅은 손상된 이미지의 특정 부분을 시각적으로 그럴듯한 구조와 텍스처로 대체하는 태스크입니다. 최신 딥러닝 기법들은 LaMa, Repaint, MAT, ZITS 등 다양한 방법이 있습니다. 특히 LaMa는 빠른 푸리에 합성(FFCs), perceptual loss, 공격적인 훈련 마스크 생성 전략을 결합하여 좋은 성능을 보입니다.

AIGC Models:
ChatGPT 및 기타 생성형 AI(GAI) 기술은 인공지능을 사용하여 디지털 콘텐츠(이미지, 음악, 자연어 등)를 생성합니다. Inpaint Anything(IA)에서는 Stable Diffusion과 같은 강력한 AIGC 모델을 사용하여 텍스트 프롬프트를 기반으로 원하는 콘텐츠를 생성합니다.

위 모델들로 구성된 segment anything의 세가지 주요 기능을 위에서 얘기했었는데, 아래는 그 예시입니다.

  1. Remove Anything
    사용자가 클릭한 객체를 제거하고, SAM이 생성한 마스크를 사용하여 해당 영역을 배경 정보로 채웁니다.

  2. Fill Anything
    객체 제거 후 텍스트 프롬프트를 입력하면, AIGC 모델(예: Stable Diffusion)이 해당 프롬프트에 따라 구멍을 새로운 콘텐츠로 채웁니다.

  3. Replace Anything
    선택한 객체를 유지하고, 나머지 배경을 새로 생성된 장면으로 교체합니다.



"Inpaint Anything" 논문은 Segmentation Anything, 최신 인페인팅 모델, AIGC 모델의 강점을 결합하여 객체 제거, 객체 변경, 배경 교체 등의 태스크를 효과적으로 해결할 수 있는 방법을 제시했습니다. 또, 고해상도와 다양한 비율의 이미지를 처리할 수 있는 유연성을 가지고 있어 적용 가능성이 높을 것 같습니다.

읽어주셔서 감사합니다.



Reference
[paper] Inpaint Anything: Segment Anything Meets Image Inpainting
Inpaint Anything Github

profile
📩 qtly_u@naver.com

0개의 댓글