Few-Shot Font Style Transfer를 읽었습니다.

Samaneh Azadi, Matthew Fisher, Vladimir Kim, Zhaowen Wang, Eli Shechtman, Trevor Darrell
CVPR2018
pdf , arXiv , github
작자의 문장 내부 이미지도 사용합니다.

어떤 물건?


에서는 일부 글꼴 이미지(예: A, B, C)에서 다른 모든 글꼴 이미지(D~Z) GAN, Multi-Cent GAN(MC-GAN)을 생성합니다.

선행 연구와의 차이

  • end-to-end의 학습 방법을 제시하여 일부 이미 알려진 알파벳 이미지에서 같은 스타일의 미지의 알파벳 이미지를 생성한다.
  • 이를 실현하는 Stacked conditional GAN 구조의 네트워크를 제시했다.
  • 기술과 수법의 관건


    Multi-Cent GAN(MC-GAN)은 글꼴 모양의 마스크를 생성하는 GlyphNet과 출력 추정 글꼴 색깔과 장식을 가진 OrnaNet 두 개의 네트워크로 구성되어 있다.
    GlyphNet, OrnaNet 모두 Conditional GAN을 글꼴 이미지 생성에 적합한 모양으로 개량했습니다.

    Glyph Network


    어떤 글꼴의 소수의 알 수 없는 샘플에서 나머지 알 수 없는 문자의 특징(generalizing all 26 capital letters of a fontfrom a few example glyphs)을 포착하기 위해서는 알 수 없는 문자와 알 수 없는 문자 간의 관련성과 유사성을 포착할 필요가 있다.
    두 그림은 모두 Glyph 네트워크의 개요도입니다. 위에는 보도된 것이고 아래에는 논문의 ($D_1$의 입력은 이해하기 어렵습니다.)
  • 26자는 26개 채널의 입력 출력에 해당합니다($x_1$를 입력하면 알 수 없는 문자 부분이 비어 있지 않습니다.)
  • $G_1$의 출력 $\tilde{y_1}$는 26자 마스크(gray-scale?)입니다.
  • $G_1$은(는) [십이]이며 ResNet block 6개
  • $D_1$[십일]에서 보듯이 3개의 권적층을 가진localdiscriminator와 2개의 권적층을 가진globaldiscriminator로 구성되어 있습니다.
  • $y_1달러는 $\tilde{y_1}$와 같은 유형의 글꼴의 실제 값입니다.
  • 손실 함수는 $L_1$손실과 local, global의 least squares GAN(LSGAN) loss로 구성되어 있습니다.
  • L(G_1) = \lambda L_{L_1}(G_1) + L_{LSGAN}(G_1, D_1) \\
    L_{LSGAN} = L_{LSGAN}^{local}(G_1, D_1) + L_{LSGAN}^{global}(G_1, D_1)
    


    10K font dataset으로 이것을 배우고 각 자모 간의 관계를 배웁니다.
    다음은 1500가지 글꼴을 학습한 후 이미지와 진가 이미지를 비교하여 알파벳 사이의 structural similarity(SSIM)를 계산한 그림입니다. SSIM이 얼마인지
  • 픽셀 값(밝기)의 변화
  • 대비도 변화
  • 구조의 변화
  • http://visualize.hatenablog.com/entry/2016/02/20/144657
    distributions α|β of generating letter α when letter β is observed (in blue) vs when any other letter rather than β is given (in red).
    다섯 번째 줄에서 보면 E의 구조는 F, B와 비슷하고 I, W의 구조와 비슷하지 않다(그림의 견해는 잘 모르겠다...).

    여기까지는 Glyph Net의 pre-train이었습니다.

    Ornamentation Network


    두 그림 모두 MC-GAN의 전체 그림입니다. 각각 오른쪽은 Ornamentation Network입니다. 위에는 보도된 것이고 아래에는 논문 ($D_2$의 입력은 이해하기 어렵습니다.)
    Ornamentation Network에서 Glyph Network의 출력을 입력으로 색상과 장식합니다.
    GlyphNet은 모든 글꼴에 대해 알파벳 간의 상관성을 학습하고, OrnaNet은 특정 글꼴을 학습합니다.
    자세한 내용은 다음과 같습니다.


    End-to-End Network


    GlyphNet은 미리 pre-train을 하고 특정한 글꼴에 대해 End-to-End로 fine-tuning을 합니다.
    End-to-End에서 공부하기 위해 공을 들였다(leave-one-out approach).
    TOWER라는 자모는 이미 알고 있는 상황에서 고려한다.

  • TOWE는 알려진 출력 R(1)입니다. 이외에 25개의 채널은zeroing out입니다.
  • 역시 TOWE(4)를 출력할 수 있다. 이외에 25개의 채널은zeroing out이다.

  • Tower는 다른 21자 (1) 를 출력하는 것으로 알고 있습니다. 이외에 5개 채널은 zeroing out입니다.
  • 위의 세 항목을 동시에 고려하여 6x26x64x64(Figure2의 GlyphNet 입력도)
    손실 함수는 (Figure2 참조),
    L(G_2) = L_{LSGAN}(G_2, D_2) + \lambda_1L_{L_1}(G_2) + \lambda_2L_{MSE}(G_2) \\
    L_{LSGAN}(G_2, D_2) = L_{LSGAN}^{local}(G_2, D_2) + L_{LSGAN}^{global}(G_2, D_2)
    
    L(G_1) = \lambda_3L_{w, L_1}(G_1) + \lambda_4L_{MSE}(G_1) \\
    = \mathbb{E}_{x_1 \sim p_{data}(x_1), y_2 \sim p_{data}(y_2)}[\lambda_3 \sum_{i=1}^{26}w_i \times |G_1^i(x_1) - G_1^{'i}(x_1)| + \lambda_4(\sigma(y_2) - \sigma(T(G_1(x_1))))^2]
    
    $G_1^{'}(x)$end-to-end 학습에서 업데이트되기 전에pre-train이 완성한 GlyphNet의 출력입니다.

    유효성 확인 방법


    Img Translation[ 십일 ](pix2pix ?)의 비교와 패치 기반 방법 T-Effect[34]의 비교입니다.
    pre-train용 Font Dataset을 만듭니다.
  • 10K gray-scale Latin fonts each with 26 capital letters
  • 64x64
  • 이gray-scale 글꼴 데이터 집합을 random colorgradients에서 20K colordataset으로 설정한 것은 Font Dataset
  • 현실에 존재하지 않는 글씨체지만pre-train
  • 에 사용할 수 있는지
    다음은 10K gray-scale 글꼴 데이터 집합의 일부입니다.

    이미지 변환과 비교


    C-GAN을 학습할 때 알려진 이미지는 26자 중에서 3~8자를 무작위로 선택합니다.
    Img Translation 모델은 Font Dataset을 통해 학습됩니다.
    다음은 출력 결과입니다.
  • 사각형으로 둘러싸인 알파벳은 이미 알고 있는 이미지입니다.
  • RI는 Randomly Initialized OrnaNet, PT는 PreTrained OrnaNet.
  • $\lambda_2,\lambda_3,\lambda_4달러로 손실의 조합을 바꿨다.
  • Img Translation 결과 글씨체가 제대로 장식되지 않아 위영이 생겼다.
  • Font Dataset의 OrnaNet 초기화는 작동하지 않습니다.
  • 손실 $L_{w, L_1}(G_1) $($\lambda_3L_{w, L_1}(G_1) $) 는 학습을 추진하여 pre-train이 완료된 GlyphNet의 추정과 너무 멀리 떨어지지 않도록 하기 위한 것이지만 그렇지 않습니다. 결과적으로 trade-off가 발생했습니다. 다섯 번째 줄의 빨간색 배경의 출력이 좋지 않은 영향을 미쳤고 파란색 배경이 개선되었습니다.
  • 기타 항목($\lambda_2L_{MSE}(G_2),\lambda_4 L_{MSE} (G_1) $) 는 모호함과 잡음을 줄이는 데 도움이 됩니다.

  • T-Effect와 비교


    정확한 비교를 하기 위해서.
  • T-Effect의 입력은 pre-train이 완료한 GlyphNet의 출력입니다.
  • 비교 방법의 입력이 1장밖에 없기 때문에 입력에서 생성된 문자와 가장 비슷한 알려진 이미지를 선택합니다.
  • 인터넷에 있는 33가지 글씨체로 실험해 11명이 어떤 방법이 좋은지 대답하도록 한 결과
  • 다음은 출력 결과입니다.
    위 2행은 T-Effect 평가 상위 2자리, 아래 2행은 MC-GAN 평가 상위 2자리입니다.
  • 80%가 MC-GAN
  • 을 선택했습니다.
  • T-Effect는 예쁜 그림문자(clean glyphs)를 구현하는 기법이기 때문에 GlyphNet의 출력을 변환하면 대부분의 경우 순조롭지 못하다(비교하는 방법에 문제가 있습니까?).
  • T-Effect는 패치를 기반으로 하기 때문에 이미 알려진 이미지와 알 수 없는 이미지의 모양이 크게 다른 상황에서 잘 변환되지 않습니다(straight pattern 등). MC-GAN은 이 점에서 더 좋은 결과를 얻었습니다.

  • 정확한 입력(ground-truth for GlyphNet)을 줄 때 잘 꾸며질 수 있는지 비교합니다.
    Figure4는 T-Effect가 잘 변환되지 않는 글꼴로, Figure5는 어떤 방법으로도 잘 변환되지 않는 글꼴입니다.
  • MC-GAN은 존재하는 색깔을 평준화하여 반드시 눈과 같은 장식을 만들 수 있는 것은 아니다.
  • T-Effect는 색상 구성을 유지하지만 스타일 요소는 포착되지 않습니다.

  • 논쟁이 있습니까?

  • end-to-end의 학습 방법을 제시하여 일부 이미 알려진 알파벳 이미지에서 같은 스타일의 미지의 알파벳 이미지를 생성한다.
  • 글꼴 모양을 배우는 GlyphNet, 장식을 배우는 OrnaNet을 제시한다.
  • 글꼴 이미지는 매우 높은 해상도로 생성되어야 하며, 층별 생성과 직접적인 벡터 이미지 생성 등 확장이 필요하다
    앞으로 "소수 샘플부터 일관된 내용을 공식화"하는 다른 문제에 주력할 계획이다. 예를 들어
  • 특정 인물의 얼굴(스타일)을 바꾸어 특정한 표현(내용)을 가지도록 한다
  • 얼굴 문자 등 형태의 일치 정형
  • 옷이나 가구 같은 물체에 재료를 옮긴다
  • 다음 논문


    GAN의 의미 분할 성능 향상
    Conditional Generative Adversarial Network for Structured Domain Adaptation

    좋은 웹페이지 즐겨찾기