CVPR 2018 | 曠視科技Face++率先提出DocUNet 可復原扭曲的文檔圖像

CVPR 2018 | 曠視科技Face++率先提出DocUNet 可復原扭曲的文檔圖像

21 人贊了文章

全球計算機視覺頂會 CVPR 2018 (Conference on Computer Vision and Pattern Recognition,即IEEE國際計算機視覺與模式識別會議)將於6月18日至22日在美國鹽湖城舉行。作為大會鑽石贊助商,曠視科技Face++研究院也將在孫劍博士的帶領下重磅出席此次盛會。而在盛會召開之前,曠視將針對 CVPR 2018 收錄論文集中進行系列解讀。本次第 5 篇的解讀主題是DocUNet(《DocUNet: Document Image Unwarping via A Stacked U-Net》),它由曠視科技Face++率先提出,可復原扭曲的文檔圖像,填補了計算機視覺領域的一項技術空白。

論文鏈接:

www3.cs.stonybrook.edu/

目錄

  • 導語
  • 設計思想
  • 數據集
    • 2D 扭曲圖像合成
  • DocUNet
    • 網路架構
    • 損失函數
  • 實驗
    • 基準
    • 結果
  • 結論
  • 參考文獻

導語

由於移動攝像頭數量劇增,隨手拍照已成為一種對物理文檔進行數字化記錄的普遍方式,並可據此展開後續操作,比如文字識別。但是,由於物理文檔時常存在扭曲或變形,以及光線條件差等情況,文字識別難以達到理想效果。針對這一問題,曠視科技Face++首次提出一種基於學習的堆疊式 U-Net,稱之為 DocUNet,可以平整和復原扭曲變形的文檔圖像。DocUNet 填補了深度學習領域的一項技術空白。由於平整變形文檔圖像的有效和效率,DocUNet 可大幅降低文字識別的難度,優化 OCR 技術發展,進而推動真實、網路等不同場景下的文本識別和檢索能力,從底層技術的維度為辦公自動化、智慧零售、無人超市甚至是自動駕駛的革新添磚加瓦、鋪平道路。

設計思想

文檔數字化是保存現有列印文檔的一種重要方式,可以隨時隨地訪問。傳統方法藉助平板式掃描儀數字化文檔,但是不易攜帶,成本高昂。最近,隨著移動攝像頭日益增多,拍攝物理文檔成為最便捷的一種文檔掃描方式。一旦拍攝,圖像可由文本檢測和識別技術進一步處理,實現內容分析和信息提取。

拍攝文檔圖像常見的一個實際問題是文檔頁的掃描條件不理想:它們可能彎曲、摺疊、弄皺,或者放在非常複雜的背景上。試想一張從錢包取出的褶皺收據。所有這些因素都可能為文檔圖像的自動分析流程帶來嚴重問題,如圖 1 所示。因此存在數字化平整拍攝圖像中扭曲文檔的需求。

圖 1:文檔圖像的平整化及其用途。(a) 展示了本文工作的一些成果。上面是輸入圖像,下面是輸出圖像。(b) 本文網路顯著提升了當前最優文本檢測系統的效能:相較於上面的扭曲圖像,下面的復原文檔圖像可以檢測出更多單詞(綠色)。

文檔圖像的平整化不是一個新問題,已有多種解決方案。一些視覺系統依賴於精心設計和校準的硬體,比如立體攝像頭,或者結構光投影儀以測量文檔的 3D 扭曲;它們表現很好,但額外的硬體限制了其應用;其他工作吸取這一教訓,通過多視角圖像重建扭曲文檔圖像的 3D 形狀。一些人則致力於通過各種低層的手工特徵(比如明暗度,文本行等)分析單一圖像而復原文檔圖像。

本文給出一種基於學習的全新方法,來複原任意彎曲和摺疊的文檔拍攝圖像。不同於先前方法,本文提出首個端到端學習方法,可以直接預測文檔扭曲。先前方法只使用學習提取特徵,而最後的圖像復原仍基於傳統的優化技術;本文方法則藉助卷積神經網路(CNNs)端到端復原圖像。相較於優化方法,前饋網路的測試表現非常搶眼。此外,如果具備合適的訓練數據,這一數據驅動的方法還可以更好地泛化至其他文檔類型(文本、數字、手寫體等)。

該方法把這一問題轉化為尋找合適的 2D 映射,以復原失真圖像文檔。它預測一個映射域,把扭曲的源圖像 S(u, v) 中的像素移動到結果圖像 D 中的 (x, y) 。

由此本文發現該任務與語義分割有一些共性;對於後者而言,網路為每個像素分配一類標籤。相似地,本文網路則為每個像素分配一個 2D 向量。這啟發作者在網路結構中使用語義分割領域家喻戶曉的 U-Net 解決本文的回歸問題,並定義一個全新的損失函數以驅動網路為 S 中的每個像素回歸 D 中的坐標 (x, y)。

獲取帶有標籤的海量數據是深度監督學習面臨的首個挑戰。為訓練網路,作者需要扭曲程度不同的大量文檔圖像及相應的變形圖像作為輸入以實現完美復原。可惜目前這樣的數據集不存在。獲取真實的變形標籤圖像非常難,所以本文最後選擇合成數據。通過隨機扭曲平整的文檔圖像,本文合成了 100K 張圖像,以便把擾動圖像作為輸入,而本文用來扭曲圖像的網路則是旨在復原的逆變形。

同樣也沒有評估文檔平整化的可用公共基準。先前方法要麼在少量圖像上進行評估,要麼數據集只包含若干個扭曲類型。作者創作了一個包含 130 張圖像的基準填補了這一空白,在文檔類型、扭曲程度及類型以及拍攝條件方面差異巨大。

數據集

本文方法基於 CNN,需要大量訓練數據。在該任務中,文檔變形可以表徵為 3D 網格、曲面法線、2D 流動等,在現實世界中以任意形式精確地拍攝它非常困難,需要諸如深度攝像頭(range camera)或者標定立體視覺系統等額外硬體,同時預估變形的精確度通常依賴於硬體成本。此外,通過手動扭曲/變形文檔文件以涵蓋全部實際情形是很不現實的。

本文考慮使用合成數據進行訓練,這在最近的深度學習中很常見,並允許完全掌控數據集的變化。

一個直觀的想法是在 3D 渲染文檔中直接渲染扭曲的文檔,但由於下述原因這是不切實際的。首先,通過物理模擬生成物理上正確的 3D 網格非常難且慢。第二,通過路徑追蹤渲染同樣非常費時。渲染 100K 圖像耗時將超過兩月。

2D 扭曲圖像合成

本文直接合成 2D 訓練圖像。儘管已忽略基礎的物理建模,但操縱 2D 網格相當簡單,且生成圖像也很快。由於本文目的是把扭曲紙張映射到復原紙張,因此數據合成是反向過程,即,把復原圖像進行多種類型的扭曲。

當創建扭曲圖時,本文遵循以下實證原則:i)一張真實的紙張是局部剛性的,不會延展或壓縮。一點上的扭曲將帶來空間上的改變。ii)存在兩類扭曲:摺疊和彎曲,分別產生紙張的摺痕和捲曲。實際情形通常是這兩類扭曲的結合。

本文首先搜集大量平整的數字文檔,包括論文、書籍和雜誌頁面等;接著扭曲這些圖像,如圖 2 所示。

圖 2:2D 合成扭曲文檔圖像。

擾動網格生成:給定圖像 I,本文在其上放置一個 m x n 網格 M 以為扭曲提供控制點。在 M 上選擇一個隨機頂點 p 作為初始變形點。變形的方向和強度標記為 v,且也隨機生成。最後,基於 i),v 通過權重 w 傳播至其他頂點。扭曲網格上的頂點被計算為 p_i + wv, ?i。

擾動圖像生成:擾動網格提供一個稀疏的變形域。本文以線性方式對其進行插值,以從像素層面構建密集的扭曲圖,接著把扭曲圖應用到原始圖像以生成擾動圖像。作者通過這種方式在單塊 CPU 上合成了 100K 張圖像。每張圖像最多包含 19 種合成變形(30% 是彎曲,70% 是摺疊)。彎曲需要保證高斯曲率在任意位置都應為 0,摺疊則隨意。樣本如圖 5 所示。

圖 5:合成數據中的樣本圖像。

DocUNet

網路架構

類似於語義分割,本文自行設計網路以強化逐像素的監督。出於其在語義分割任務上的簡潔性和有效性,本文選擇 U-Net 作為基礎模型,它基本上是一個全卷積網路,包含一系列的下採樣層和隨後的上採樣層,特徵映射在上、下採樣層之間連接。

但是,單一 U-Net 的輸出並不令人滿意,應該進行優化,因此在第一個 U-Net 的輸出上堆疊另外一個 U-Net 作為 refiner。如圖 3 所示。

?圖 3:網路架構。該網路由兩個 U-Net 堆疊而成。該網路從第一個 U-Net 的輸出中分割和輸出一個前向映射 y_1。應用在 y_2 的同一損失也應用在 y_1。接著 y_1 連接到第一個 U-Net 的輸出特徵映射,並作為第二個U-Net 的輸入。y_2 可直接用於生成復原圖像。

本文有一個層負責把去卷積特徵轉化為最後的輸出 (x, y)。第一個 U-Net 在最後一個去卷積層之後分叉為兩支。把第一個 U-Net 的去卷積特徵和中間預測 y_1 連接起來作為第二個 U-Net 的輸入。第二個 U-Net 最後給出一個優化的預測 y_2 ,作者將其用作網路的最後輸出。本文在訓練時把同一損失函數應用於 y_1 和 y_2。但是在測試時,只把 y_2 用作網路的輸出。

不同於語義分割本質上是一個像素分類問題,該網路輸出(為映射 F)的計算是一個回歸的過程。語音分割的輸出通常有 C 個通道,其中 C 是語義類別的數量。該網路只為 (x, y) 坐標輸出 2 個通道。

損失函數

損失函數包含兩個部分:1. 輸出的映射 y 和其對應的 groundtruth 映射 y^star 之間的絕對誤差(element-wise loss)。2. 輸出的不同點的映射的相對位置 y_1 - y_2 和它們對應的 groundtruth 映射相對位置 y_1^star - y_2^star 之間的相對誤差(shift invarient loss)。

其中絕對誤差本文表示為:

相對誤差表示為:

假設 d_i = y_i - y_i^star,Eq. 5 可表示為:

本文同時發現 L1 (Eq. 7)優於 L2(Eq. 6),因此損失函數可重寫為:

F 中與 S 的背景像素相對應的元素是常數 -1,因此 Eq. 7 中的部分損失來自背景。實際上網路沒有必要把這些元素精確回歸到 -1。任意負值都應該足夠。因此本文把 hinge loss 用於背景像素:

同時 Eq. 7 只用於前景像素。

實驗

本文首先介紹評估單一圖像上扭曲文檔復原的基準;接著評估本文提出的基於學習的方法,並與先前非學習方法的結果作對比。

基準

圖像:基準之中的圖像是手機拍攝的物理紙張文檔的圖像。搜集 65 個各種內容/形式的紙張文檔,其中每個文檔拍照兩張,共有 130 張圖像。基準包含原始圖像和剪裁框正的圖像(document centered cropped images ),實驗使用後者,因為本文的重點是平整化紙張而不是定點陣圖像中的文檔。基準的創建基於以下考量:

i)文檔類型:選擇的文檔類型各不相同,有收據、信件、文件、雜誌、論文、書籍等;

ii)扭曲:原始的平整紙張文檔由不同的人進行物理扭曲;

iii)環境:圖像由兩個人用兩部不同的手機在室內、室外不同的光照條件下拍攝。

Groundtruth:在摺疊已選擇的紙張文檔之前,通過平板式掃描儀對其掃描。調整已獲取圖像的大小和整體顏色以儘可能地匹配原始的平整文檔。圖 6 是基準中的一些實例。

圖 6:基準樣本。

結果

基準評估表明該方法優於先前的 Tian et al. [27]。具體而言,該方法的成績在 MS-SSIM 和 LD 分別是 0.41 和 14.08,相比之下,[27] 的成績分別為 0.13 和 33.69。這是因為 [27] 主要針對文本行文檔而設計,嚴重依賴於文本行追蹤的質量,因此無法處理更為複雜的文檔,比如混合文本行和數字,或者文本行追蹤失敗的區域,如圖 10 所示。

圖 10:對比Tian et al. [27]。

在計算效率方面,[27] 藉助 Matlab 實現在 1 塊 CPU 處理 1 張圖像耗時 3 到 4 分鐘。相比之下,本文網路在 GTX 1080 Ti GPU 上的運行速度是 28 fps,雖然這種對比有點不公平。瓶頸在於從映射中生成復原圖像。本文未優化的 Matlab 實現在 CPU 上大約耗時 3 到 4 秒。整體上該方法快 [27] 一個數量級,如下表所示:

更多對比結果請見圖 8 和 圖 9:

圖 8:對比 You et al. [36]。儘管 [36] 使用 5 到 10 張圖像,本文方法依然相當有競爭力。

圖 9:對比 Das et al. [6]。[6] 的方法專門針對摺疊兩次的文檔而設計。這種情況下本文方法同樣表現良好。上圖中的實例圖像來自 [6]。

結論

本文展現了首個平整和復原扭曲文檔圖像的端到端神經網路。作者提出一個帶有中間監督的堆疊式 U-Net,並對它進行端到端訓練以直接預測可以移除圖像扭曲的映射。作者還創建了合成訓練數據,以及一個包含在各種條件下拍攝的真實圖像的基準。實驗結果證實了該方法的有效和效率。

在未來工作中,作者將應用 GAN 把這一網路更好地泛化至實際圖像上,並希望加入亮度模型以移除復原圖像上的高光或陰影。另一方面,作者還會優化從映射中生成復原圖像的代碼,並在移動端實現整個流程的實時部署。

參考文獻

[6] S. Das, G. Mishra, A. Sudharshana, and R. Shilkrot. The Common Fold: Utilizing the Four-Fold to Dewarp Printed Documents from a Single Image. In Proceedings of the 2017 ACM Symposium on Document Engineering, DocEng 』17, pages 125–128. ACM, 2017.

[7] D. Eigen, C. Puhrsch, and R. Fergus. Depth map prediction from a single image using a multi-scale deep network. In Advances in Neural Information Processing Systems, 2014.

[21] G. Meng, Y. Wang, S. Qu, S. Xiang, and C. Pan. Active flattening of curved document images via two structured beams. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. IEEE, 2014.

[25] O. Ronneberger, P. Fischer, and T. Brox. U-net: Convolutional networks for biomedical image segmentation. In Proceedings of the International Conference on Medical Image Computing and Computer Assisted Intervention. Springer, 2015.

[27] Y. Tian and S. G. Narasimhan. Rectification and 3D recon- struction of curved document images. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. IEEE, 2011.

?[28] Y.-C. Tsoi and M. S. Brown. Multi-view document rectification using boundary. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. IEEE, 2007.

[36] S.You,Y.Matsushita,S.Sinha,Y.Bou,andK.Ikeuchi.Multiview Rectification of Folded Documents. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017.

推薦閱讀:

她不知道楊超越、不知道101,但她喜歡——寫代碼
公開課總結:深度學習之視頻圖像壓縮
一次有趣的面試(上)
深度學習的可解釋性研究(二)——不如打開箱子看一看
如何進行更細緻的圖像到圖像翻譯? | CVPR 2018

TAG:深度學習DeepLearning | CVPR | 計算機視覺 |