상세 컨텐츠

본문 제목

[논문] ANYTEXT: MULTILINGUAL VISUAL TEXT GENERATION AND EDITING (CVPR'23)

논문

by 수타. 2024. 1. 10. 21:49

본문

Contents

  • Abstract
  • Introduction
  • Methodology
  • Dataset and Benchmark
  • Conclusion and limitations

 

Abstract

이 논문에서는 현재 이미지를 합성하는 기술은 고도로 발전되어 높은 화질로 이미지를 생성할 수 있지만 합성된 텍스트에는 종종 흐릿하거나 읽을 수 없거나 잘못된 문자가 포함되어 있어 생성된 이미지에서 텍스트 영역에 초점을 맞추면 어색한것을 확인할 수 있습니다. 본 논문의 AnyText는 보조 잠재 모듈과 텍스트 임베딩 모듈의 두 가지 주요 요소로 구성된 Diffusion 파이프라인으로 구성됩니다. 전자는 텍스트 글리프, 위치 및 마스킹 이미지와 같은 입력을 사용하여 텍스트 생성 또는 편집을 위한 latent features를 생성합니다. 후자는 스트로크 데이터를 임베딩으로 인코딩하는 OCR 모델을 사용하며, 이는 이미지 캡션 임베딩과 혼합되어 배경과 원활하게 통합되는 텍스트를 생성합니다.

 

 

Introduction

관련 기존 모델들과의 비교.

 

생성 diffusion 모델의 이미지 품질에 상당한 진전이 있었음에도 불구하고, 대부분의 현재 오픈 소스 모델과 상용 서비스는 잘 형성되고 잘 읽을 수 있는 시각적 텍스트를 생성하는 데 어려움을 겪고 있습니다.

기존 오픈소스 Diffusion 기반 모델의 성능이 떨어지는 데는 여러 가지 요인이 있습니다.

첫째, 대규모 이미지-텍스트 쌍 데이터의 부족이 있습니다. LAION-5B (Stable diffusion) 같은 기존 데이터 세트에는 텍스트 콘텐츠에 대한 주석이나 OCR 결과가 없습니다.

둘째, CLIP 텍스트 인코더와 같은 오픈 소스 Diffusion 모델에 사용되는 텍스트 인코더는 문자에 대한 직접적인 접근이 없는 어휘 기반 Tokenizer를 사용하여 개별 문자에 대한 민감도를 감소시킵니다.

더보기

CLIP (Contrastive Language-Image Pretraining)은 OpenAI가 개발한, 이미지와 텍스트를 연결하는 데 사용되는 기계 학습 모델인데, 예를 들어 'I am a teacher' 이라는 문장이 있을 때, 어휘 기반의 토크나이저는 이를 'I' , 'am' , 'a', 'teacher'으로 네 개의 토큰으로 분리되고, 문자 기반은 'i' ,'a', 'm', 'a', 't', 'e', 'a', 'c', 'h', 'e', 'r'로 분리됩니다.
만약 마지막 단어인 'teacher'에서 'teachre'로 오타가 났을 때 ,
문자 기반 토크나이저에서는 이 오타가 큰 문제가 될 수 있습니다. 왜냐하면 모든 문자가 중요하고, 하나의 문자 변경이 전체 의미를 바꿀 수 있기 때문입니다. 그러나 어휘 기반 토크나이저에서는 " teachre "라는 단어를 " teacher "으로 인식할 가능성이 높습니다. 왜냐하면 토크나이저는 단어 전체의 패턴을 인식하고, 작은 오타나 문자 순서의 변화에 덜 민감하기 때문입니다.

그래서 어휘 기반 토크나이저를 사용하는 기존의 CLIP 텍스트 인코더는 문자 하나에 접근하기 더 어렵습니다.

마지막으로, 대부분의 Diffusion 모델의 손실 함수는 전반적인 이미지 생성 품질을 개선하도록 설계되어서, 텍스트 영역에 대한 dedicated supervision이 부족합니다.

AnyText는 텍스트 제어 확산 파이프라인으로 구성되어 있으며, 보조 잠재 모듈과 텍스트 임베딩 모듈로 구성됩니다.

 

METHODOLOGY

  • AUXILIARY LATENT MODULE

글꼴 스타일과 text를 나타내는 glyph lg , text의 위치를 나타내는 position lp , 그리고 position이 masked 된 masked image lm 입니다. Training 단계에서는 OCR 감지 또는 수동 주석을 통해 위 정보들을 얻으며, 생성과정 에서는 사용자의 입력에서 사용자가 지정해줍니다.  masked image는 생성 과정에서 어떤 부분을 보존해야 하는지 알려주는 역할을 합니다.

이미지 조건을 통합하기 위해 글리프 블록과 위치 블록을 사용하여 글리프 lg와 위치 lp를 다운샘플링하고 VAE 인코더 ε를 사용하여 마스킹된 이미지 lm을 다운샘플링합니다. 이러한 이미지 기반 조건을 zt의 공간 크기와 일치하는 특징 맵으로 변환합니다. 즉 lg, lp 및 lm을 병합하여 Za로 표시되는 생성된 특징 맵을 생성합니다

이미지를 생성할 때 사용자가 직접 Text의 위치를 정해주는 모습입니다.

 

  • TEXT EMBEDDING MODULE

원래 사용하던 텍스트 인코더는 주어진 문장의 의미 정보를 추출하는 데 탁월하지만 생성할 텍스트의 의미 정보는 무시할 수 있습니다. 또한 대부분의 Train된 텍스트 인코더는 라틴 기반 데이터로 train 되었기 때문에, 다른 언어를 잘 이해하지 못합니다. AnyText에서는 다국어 텍스트 생성 문제를 해결하기 위한 새로운 접근 방식을 제안합니다.

글리프 라인을 이미지로 렌더링하고 글리프 정보를 인코딩하며 캡션 토큰에서 임베딩을 대체합니다. 풀어 말하면 텍스트를 이미지로 표현하여 시각적인 정보를 포함한 텍스트의 특성을 캡처합니다. 이후 텍스트의 시각적 특성을 임베딩으로 변환합니다. 언어별 텍스트 인코더에만 의존하는 대신 텍스트에 대한 이미지 렌더링을 활용하기 때문에, 우리의 접근 방식은 다국어 텍스트 생성을 크게 향상시킵니다.

다양한 언어로 만들어진 이미지

 

텍스트 글리프와 캡션 의미 정보를 모두 결합한 표현 c_te는 다음과 같이 정의됩니다.

e_g는 텍스트 라인을 이미지로 렌더링한 결과, 𝛾는 OCR인식모델, ξ는 선형변환을 뜻하며, y'은 입력 택스트,  ϕ는 토크나이저,τ: CLIP 텍스트 인코더입니다.

 

 

  • TEXT-CONTROL DIFFUSION PIPELINE

사진 X0로 부터 VAE( Variational autoencoder) 를 적용해서 latent representation 인 Z0를 생성하는데, 텍스트 및 이미지 생성 및 편집을 위한 초기 단계로, latent feature(잠재 특징)을 학습하고 표현하기 위함입니다. 이때 크기는 f배로 다운 샘플링 되며, 차원은 3차원(RGB)에서 latent feature(잠재 특징)의 차원으로 바뀝니다. 그 후 latent diffusion 알고리즘이 점진적으로 시간에 따라 노이즈를 추가해 Zt를 만듭니다. (노이즈를 추가하는 이유는 생성된 이미지가 더 다양하게,  텍스트 부분을 더 자연스럽게 생성할 수 있고, 이미지를 더욱 일반화 하여 다양한 입력에 대해 더 잘 대응하기 위해서입니다.) 
그래서 Zt와 Auxiliary Latent Module에서 Za를 Text Embedding Module에서 Cte를 잡음 예측 네트워크 ϵθ 를 통해 잡음 ϵt 를 생성합니다. (만들어진 잡음은 이미지 생성에서 잡음을 추가하여 텍스트의 시각적인 특성을 결정하고, 이를 통해 원하는 텍스트를 이미지에 효과적으로 표현할 수 있고, 텍스트 편집에서 역시 특정 텍스트 영역을 수정하거나 새로운 텍스트를 추가하는 과정에서 잡음을 조절하여 원하는 효과를 얻을 수 있습니다. 그리고 이때 발생하는 Ltd 는 " 텍스트 제어 확산 손실"을 나타내는데, 이는 텍스트를 이미지에 쓰거나 수정하는 과정에서 발생하는 손실을 나타내며, 이를 최소화하여 텍스트의 정확성과 일관성을 향상시킵니다.)


은 표준 정규 분포에서 샘플링된 잡음이며 오른쪽에 있는것이 모델이 Zt,Za,Cte를 통해 예측한 ϵt 입니다. 이 둘의  차이를 제곱한 값의 기대값이며, 이를 최소화함으로써 모델이 잠재 이미지에 추가한 잡음을 더 정확하게 예측하도록 학습됩니다.

 

  • TEXT PERCEPTUAL LOSS

텍스트 생성의 정확도를 더욱 향상시키기 위해 텍스트 지각 손실을 제안합니다.

위 수식에서 각각  p는 텍스트 영역의 위치 , φ(t): 시간 단계 t에서의 가중치 조정 함수 ˆm_p, ˆm'_p: 는 각각 원본이미지와, 텍스트 생성 모델에서 생성한 이미지에서 위치 p에서 추출된 텍스트 영역 입니다. 따라서, Ltp는 위치 p에서 추출된 텍스트 영역의 MSE 손실을 계산하고, t에서의 가중치 조정 함수를 적용하여 텍스트 인식의 정확성을 평가합니다. 이를 통해 텍스트 생성 모델이 생성한 이미지에서 텍스트 영역을 정확하게 인식하고, 텍스트 인식의 정확성을 높일 수 있습니다.

 

 

DATASET AND BENCHMARK

 

엄격한 필터링 규칙과 꼼꼼한 후처리를 통해 900만 줄 이상의 텍스트와 2천만 개 이상의 문자 또는 라틴어 단어로 총 3,034,486개의 이미지를 얻었습니다. 1000개의 이미지를 무작위로 추출하여 AnyText-benchmark라는 평가 세트를 만들었습니다. 이 두 평가 세트는 특히 중국어 및 영어 생성의 정확도와 품질을 각각 평가하는 데 사용됩니다. 나머지 이미지는 AnyWord-3M이라는 Train 세트로 사용되며, 이 중 중국어는 약 160만 개, 영어는 139만 개, 일본어, 한국어, 아랍어, 방글라, 힌디어를 포함한 기타 언어의 이미지는 만개가 사용되었습니다.

문장 정확도(Sen), 두 문자열 간의 유사성(NED),  이미지 간의 분포 불일치(FID)

 

CONCLUSION AND LIMITATIONS

본 논문에서는 텍스트-이미지 합성 분야에서 광범위하게 연구된 텍스트 생성 문제를 탐구합니다. 이 문제를 해결하기 위해 확산 기반 다중 언어 텍스트 생성 및 편집 프레임워크인 AnyText라는 새로운 접근 방식을 제안합니다. 우리의 접근 방식은 텍스트 글리프, 위치 및 마스킹 이미지를 결합하는 보조 잠재 모듈을 잠재 공간에 통합합니다. 또한 텍스트 임베딩 모듈에서는 OCR 모델을 활용하여 글리프 정보를 추출하고 이미지 캡션의 의미론적 세부 정보와 병합하여 텍스트와 배경 간의 일관성을 향상시킵니다. 쓰기 정확도를 향상시키기 위해 교육 중 텍스트 제어 확산 손실과 텍스트 지각 손실을 사용합니다.
훈련 데이터 측면에서, 우리는 OCR 주석이 있는 다국어로 300만 개의 텍스트-이미지 쌍으로 구성된 AnyWord-3M 데이터 세트를 제시합니다. AnyText의 우수한 성능을 입증하기 위해 제안된 AnyText 벤치마크에 대한 포괄적인 실험을 수행하여 기존 방법에 비해 우수한 성능을 보여줍니다. 앞으로 우리의 향후 작업은 매우 작은 글꼴의 생성을 탐구하고 제어 가능한 속성을 가진 텍스트 생성을 조사하는 데 중점을 둘 것입니다.

관련글 더보기