Computer vision (電腦視覺)

https://github.com/Deep-Learning-101/Computer-Vision-Paper
主要用來自己做記錄,看到那測試到那就寫到那

Document Layout Analysis (文件結構分析)

Abstract

首先說明了關於文字識別/Document Layout Analysis (文件結構分析),最常見的是透過CNN來做圖像理解以及透過RNN來處理字符級別(char-level跟word-level在英文和中文是不同的);這篇論文主要提出了TrOCR是一個端到端基於預訓練的image Transformer和text Transformer(Transformer中文應該也只能叫變型金剛?)的文字識別,來平衡圖像理解跟字元級別的文字生成。另外就是可以使用大規模合成數據進行預訓練,並使用人工標記的數據集進行微調,剩的就是說目前是SOTA?還有,更關鍵的是這篇主要針對文檔圖像的文本識別任務,至於文本檢測則是另一件事了;也就是說你必需先知道那裡有文字 XD


Introduction

做了不少介紹,包括了圖像Transformer等等,但重點就是其中這幾句;其中搭配上方的架構圖(TrOCR architecture. Taken from the original paper.)應該是可以蠻清楚的理解論文中這段說明:首先將輸入文本圖像的大小調整為 384×384,然後將圖像分割成一系列 16×16,用作圖像的輸入。


編碼器使用預訓練的 ViT 模型做初始化 (參考這幾篇)

Alexey Dosovitskiy, Lucas Beyer, Alexander Kolesnikov, Dirk Weissenborn, Xiaohua Zhai, Thomas Unterthiner, Mostafa Dehghani, Matthias Minderer, Georg Heigold, Sylvain Gelly, Jakob Uszkoreit, and Neil Houlsby. 2021. An image is worth 16x16 words: Transformers for image recognition at scale. ICLR.

Hugo Touvron, Matthieu Cord, Matthijs Douze, Francisco Massa, Alexandre Sablayrolles, and Hervé Jégou. 2021a. Training data-efficient image transformers & distillation through attention. In International Conference on Machine Learning, pages 10347–10357. PMLR.

Hangbo Bao, Li Dong, and Furu Wei. 2021. Beit: Bert pre-training of image transformers.


解碼器使用預訓練的 BERT 模型做初始化 (參考這幾篇)

Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. 2019. Bert: Pre-training of deep bidirectional transformers for language understanding.

Yinhan Liu, Myle Ott, Naman Goyal, Jingfei Du, Mandar Joshi, Danqi Chen, Omer Levy, Mike Lewis, Luke Zettlemoyer, and Veselin Stoyanov. 2019. Roberta: A robustly optimized bert pretraining approach.

Li Dong, Nan Yang, Wenhui Wang, Furu Wei, Xiaodong Liu, Yu Wang, Jianfeng Gao, Ming Zhou, and Hsiao-Wuen Hon. 2019. Unified language model pre-training for natural language understanding and generation.


TrOCR 使用預訓練圖像 Transformer 和文本 Transformer ,利用大規模未標記數據進行圖像理解和語言建模,無需外部語言模型。

TrOCR 不需要任何復雜的捲積網絡作為backbone,模型易於實作和維護。

TrOCR 可以在沒有任何打印和手頭文本的複雜性任務的情況下完成OCR 基準數據任務。


TrOCR

Encoder

the encoder decomposes the input image into a batch of N = HW/P2 foursquare patches with a fixed size of (P,P), while the width W and the height H of the resized image are guaranteed to be divisible by the patch size P. After that, the patches are flattened into vectors and linearly projected to D-dimension vectors, which are the patch embeddings and D is the hidden size of the Transformer through all of its layers.

這一段是基於encoder無法直接處理圖像,所以將其長(H)跟寬(W)轉成都可以被P整除的長度大小的方型,然後再拉長(研展)成D維的向量。嗯?為什麼?這裡就需要認真再去瞭解一下Transformer (Transformer 架构逐层功能介绍和详细解释)


Decoder


Model Initialization

Encoder Initialization

Decoder Initialization


Task Pipeline


Pre-training


Fine-tuning

這裡簡單介紹說是針對印刷 (printed) 和手寫 (hand written) 等文字識別做Fine-tuning。


Data Augmentation

最後數據增強的部份就是一貫的對圖像做旋轉等隨機旋轉(-10 到 10 度)、高斯模糊、圖像膨脹、圖像侵蝕、縮小、下劃線或保持原始圖像來增強輸入圖像等等。


Experiments


TrOCR architecture. Taken from the original paper.

DeepFake Detection (深度偽造偵測)