從單一圖像中提取文檔圖像:ICCV2019論文解讀
DewarpNet: Single-Image Document Unwarping With Stacked 3D and 2D Regression Networks
論文鏈接:
摘要
在非結構化環境中使用手持設備捕獲文檔圖像是當今的一種常見做法。然而,文檔的“偶然”照片通常不適合自動提取信息,這主要是由於文檔紙張的物理失真,以及相機的各種位置和照明條件。在這項工作中,本文提出了DewarpNet,一種從單一圖像中提取文檔圖像的深度學習方法。本文的見解是,文檔的三維幾何結構不僅決定了其紋理的扭曲,還導致了照明效果。因此,本文的創新之處在於在端到端管道中對文檔紙張的三維形狀進行顯式建模。此外,本文還提供了迄今為止最大、最全面的文檔圖像數據集——Doc3D。該數據集具有多個地面真值注釋,包括3D形狀、曲面法線、UV貼圖、反照率圖像等。使用Doc3D進行訓練,通過大量的定性和定量評估,本文展示了DewarpNet的最新性能。本文的網絡還顯著提高了OCR在捕獲的文檔圖像上的性能,平均降低了42%的字符錯誤率。代碼和數據集都被開放。
1. Introduction
紙質文件承載着寶貴的信息,在本文的日常工作和生活中發揮着不可或缺的作用。數字化文檔可以方便、安全、高效地存檔、檢索和共享。隨着便攜式相機和智能手機的日益普及,通過拍照,用戶可以更方便地獲取文檔數字化。一旦捕獲,文檔圖像可以轉換為電子格式,例如PDF文件,以便進一步處理、交換、信息提取和內容分析。在拍攝圖像時,最好以盡可能高的精度保存文檔上的信息,與flifbedscanted版本的信息差別最小。然而,由於紙張的物理變形、相機位置的變化和不受限制的照明條件等不可控制的因素,使用移動設備拍攝的隨意照片常常會受到不同程度的扭曲。
因此,這些原始圖像往往不適合於自動信息提取和內容分析。以往的文獻對文獻的盜用問題進行了多方面的研究。傳統的方法[26,46]通常依賴於紙張的幾何特性來恢復粗紗。這些方法首先估計紙張的三維形狀,可以用一些參數形狀表示法[9,47]或一些非參數形狀表示法[35,45]。之后,他們使用優化技術從扭曲圖像和估計的形狀計算出反射圖像。
這些方法的一個共同缺點是,由於優化過程的原因,它們通常計算量大且速度慢。Ma等人最近的工作 [23]提出了一個深度學習系統,該系統直接從變形的文檔圖像中回歸出不可逆操作。他們的方法極大地提高了文檔取消系統的速度。然而,他們的方法並沒有遵循紙張翹曲的三維幾何特性——訓練數據是用一組二維變形創建的——因此在測試中常常會產生不現實的結果。
紙張折疊是在3D中發生的:具有不同紋理但具有相同3D形狀的紙張可以在相同的變形場中取消折疊。因此,三維形狀可以說是恢復未翻動紙張的最關鍵線索。基於這一思想,本文提出了一種新的數據驅動的去毛刺框架DewarpNet,該框架利用顯式的三維形狀表示來學習去毛刺操作。
DewarpNet分兩個階段工作,有兩個子網絡:
i) “形狀網絡”使用變形文檔的圖像,並輸出一個三維坐標圖,該圖已被證明足以完成取消掃描任務[45]。
ii)“紋理映射網絡”將變形的文檔圖像反向映射到平滑的文檔圖像。
本文結合中間三維形狀的回歸損失和最終的失步結果來訓練兩個子網絡(圖1)。在那之后,本文提供“增強網絡”消除了矩形圖像的陰影效果,進一步提高了結果的感知質量。為了使用明確的中間3D表示來訓練這個取消掃描網絡,本文創建了Doc3D數據集,這是迄今為止用於文檔圖像取消掃描的最大和最全面的數據集。
本文以混合的方式收集Doc3D,結合
(1) 從自然扭曲的紙張中捕獲三維形狀(網格)
(2) 大量文檔內容的真實照片級呈現。
每個數據點都帶有豐富的注釋,包括三維坐標貼圖、曲面法線、UV紋理貼圖和反照率貼圖。總共,Doc3D包含了大約100000個帶有豐富注釋的真實照片圖像。
本文的貢獻總結如下:
首先,本文貢獻Doc3D數據集。據本文所知,這是第一個和最大的文檔圖像數據集,在三維和二維領域具有多個地面真實性標注。
第二,本文提出了一種新的端到端深度學習架構DewarpNet。該網絡實現了高質量的文檔圖像的實時取消抓取。
第三,使用Doc3D數據集中豐富的注釋進行訓練后,DewarpNet顯示出與最新技術相比的優越性能[23]。通過對真實文檔掃描的感知相似度評估,本文將多尺度結構相似度(MS-SSIM)提高了15%,將局部失真降低了36%。
此外,本文證明了本文的方法的實際意義,降低了42%的OCR字符錯誤率。
2. Previous Work
基於變形的建模方法,現有的兩組文檔反抽工作是:參數化的變形模型和非參數化的變形模型。
基於參數化形狀的方法假設文檔變形是由低維參數化模型表示的,並且這些模型的參數可以通過視覺線索推斷出來。圓柱面是最流行的參數化模型[8,16,19,26,41,46]。其他模型包括非均勻有理B樣條(NURBS)[10,44]、分段自然三次樣條(NCS)[36]、Coon面片[9]等。用於估計模型參數的視覺提示包括文本行[25]、文檔邊界[5]或來自外部設備的激光束[27]。Shafait和Breuel[33]在一個只有透視和卷曲變形的小數據集上報道了幾種基於參數形狀的方法。然而,這種低維模型很難模擬復雜的表面變形。
相反,基於非參數化形狀的方法不依賴於低維參數化模型。這種方法通常假定變形文檔的網格表示,並直接估計網格上每個頂點的位置。用於估計頂點位置的方法,包括參考圖像[29]、文本行[21、35、39]和卷積神經網絡(CNN)[30]。許多方法都是從估計或捕獲的三維紙張形狀信息中重建網格。值得注意的例子是根據立體視覺[38]、多視圖圖像[45]、結構光[4]、激光測距掃描儀[47]等估計的點雲。
還有一些工作是直接使用紋理信息來完成這個任務[11,24,43]。然而,借助於外部設備或多視圖圖像使得該方法不太實用。本地文本行功能無法處理將文本與圖形混合的文檔。此外,這些方法往往涉及復雜和耗時的優化。最近,Ma等人 [23]提出了“DocUNet”,這是第一個數據驅動的方法,用深度學習來解決文檔丟失問題。與以往的方法相比,DocUNet在推理過程中速度更快,但在真實圖像上的表現並不總是很好,這主要是因為合成訓練數據集只使用了2D變形。
3. The Doc3D Dataset
本文使用真實的文檔數據和渲染軟件以混合的方式創建了Doc3D數據集。本文首先捕獲了自然變形的真實文檔紙張的三維形狀(網格)。之后,本文在Blender[1]中使用路徑跟蹤[40]來渲染具有真實文檔紋理的圖像。本文在渲染中使用了不同的相機位置和不同的照明條件。本文的方法的一個顯著好處是,數據集是用真實感渲染的方式大規模創建的。同時,本文的方法生成了多種類型的像素級文檔圖像地面真實度,包括三維坐標圖、反照率圖、法線、深度圖和紫外線圖。這樣的圖像形成變化對本文的任務很有用,但通常在實際的采集場景中很難獲得。與文獻[23]中僅在2D中建模3D變形的數據集[28]相比,本文的數據集以物理上固定的方式模擬文檔變形。因此,本文有理由期望,與在[23]的數據集上訓練的模型相比,在本文的數據集上訓練的深度學習模型在現實世界的圖像上測試時能夠更好地泛化。本文直觀地比較了圖2中的數據集樣本。
3.1. Capturing Deformed Document 3D Shape
三維點雲捕捉
本文的變形文檔形狀捕獲工作站(圖3(I))由一個桌面、一個機架、一個深度攝影機和一個桌面架組成。機架保持深度攝像頭水平,面向桌面,高度58厘米。在這個高度上,深度攝影機在保留變形細節的同時捕獲整個文檔。浮雕架有64個單獨控制的插腳,提高了文件的高度,使其與桌面隔離。高度差使從深度圖的背景中提取文檔變得更容易。支架模擬文檔的復雜靜止曲面,還支持變形文檔以保持卷曲或折痕。本文使用經過校准的Intel RealSense D415深度攝像頭來捕捉深度圖。假設沒有遮擋,則通過X(3D)=K-1[i,j,dij]T獲得文檔的點雲,其中dij是深度貼圖中像素位置i,j處的深度值。從攝像機上讀取了內稟矩陣K。本文平均6幀以減少零均值噪聲,並應用帶有高斯核的移動最小二乘(MLS)[32]來平滑點雲。
本文使用真實的文檔數據和渲染軟件以混合的方式創建了Doc3D數據集。本文首先捕獲了自然變形的真實文檔紙張的三維形狀(網格)。之后,本文在Blender[1]中使用路徑跟蹤[40]來渲染具有真實文檔紋理的圖像。本文在渲染中使用了不同的相機位置和不同的照明條件。本文的方法的一個顯著好處是,數據集是用真實感渲染的方式大規模創建的。
同時,本文的方法生成了多種類型的像素級文檔圖像地面真實度,包括三維坐標圖、反照率圖、法線、深度圖和紫外線圖。這樣的圖像形成變化對本文的任務很有用,但通常在實際的采集場景中很難獲得。與文獻[23]中僅在2D中建模3D變形的數據集[28]相比,本文的數據集以物理上固定的方式模擬文檔變形。
因此,本文有理由期望,與在[23]的數據集上訓練的模型相比,在本文的數據集上訓練的深度學習模型在現實世界的圖像上測試時能夠更好地泛化。本文直觀地比較了圖2中的數據集樣本。
網格創建
本文使用球旋轉算法從捕獲的點雲中提取網格[3]。網格有130000個頂點和270000個面覆蓋所有頂點。然后,本文將每個網格子采樣到一個100×100的均勻網格,以便於網格增強、對齊和渲染。由於本文廉價傳感器的精度限制,即使是更高分辨率的網格也無法提供精細的細節,如細微的折痕。每個頂點都有一個UV位置,用於指示紋理坐標,用於渲染步驟中的紋理映射。將(u,v)={(0,0),(0,1),(1,0),(1,1)}指定給網格的4個角點,本文為所有頂點插值UV值[37]。
網格增強和對齊
為了進一步開發每個網格,本文首先沿着x、y、z軸分別映射網格,得到8個網格,並以不同的縱橫比隨機裁剪出4個從65×65到95×95的小網格。本文將所有網格插值到100×100的相同分辨率。這些額外的網格顯著增加了數據集的多樣性。通過解決絕對方向問題[13]來統一縮放、旋轉和平移,所有網格都與模板網格對齊。該步驟確保了一個唯一的變形具有唯一的三維坐標表示。總共,本文生成了40000個不同的網格。
3.2. Document Image Rendering
配置
為了增加數據集的多樣性,本文在渲染過程中更改了相機、燈光和紋理的配置。對於每幅圖像,相機隨機放置在球形蓋上,在[-30°和30°范圍內呈“向上”方向。攝影機方向被限制在虛擬世界原點周圍的一個小區域內。
使用從高溫室內HDR數據集的2100個環境地圖中隨機抽樣的照明環境渲染了70%的圖像[12]。本文還使用隨機采樣的點光源在簡單照明條件下渲染了30%的圖像。網格上的紋理是從真實的文檔圖像中獲取的。本文收集了7200張學術論文、雜志、海報、書籍等的圖片,包含多種布局的文本和圖片。
豐富的注釋
對於每個圖像,本文生成了三維坐標貼圖、深度貼圖、法線、UV貼圖和反照率貼圖。本文展示了如何將這些地面真實圖像融入到本文的網絡中。
4. DewarpNet
DewarpNet,如圖4所示,由學習脫蠟的兩個子網組成:
形狀網絡和紋理映射網絡。此外,本文還提出了一個用於光照效果調整的后處理增強模塊,該模塊可以在視覺上改善未旋轉的圖像。
形狀網絡
DewarpNet首先回歸輸入文檔圖像的三維形狀。本文將此回歸任務表述為圖像到圖像的轉換問題:
給定輸入圖像I,形狀網絡將I的每個像素轉換為3D坐標圖
,其中每個像素值(X,Y,Z)對應於文檔形狀的3D坐標,如圖4所示。本文使用U-Net[31]風格的編碼器-解碼器架構,在shape網絡中使用跳躍連接。
紋理映射網絡
紋理映射網絡以三維坐標映射C為輸入
,輸出后向映射B。在紋理映射網絡中,采用了一種多DenseNet[14]塊的編解碼結構。此任務是從C中的三維坐標到B中的紋理坐標的坐標轉換。本文在紋理映射網絡中應用坐標卷積(CoordConv),因為它被證明可以提高網絡對坐標轉換任務的泛化能力[18,22]。本文的實驗證明了該技術在Sec5.5中的有效性。
Refinement Network
Re-fiment network是本文系統的后處理組件,用於調整矩形圖像中的照明效果。該網絡不僅提高了結果的感知質量,而且提高了OCR的性能。本文利用Doc3D數據集中的其他地面真實信息(即地表法線和反照率圖)來訓練增強網絡。Refinement Network有兩個U-Net[31]型編碼器-解碼器,如圖5所示:
一個用於預測給定輸入圖像I的曲面法線N∈
;
另一個以I和相應的N為輸入,估計一個陰影映射S∈
。S描述陰影強度和顏色。然后,本文基於內稟圖像分解[2]:I = A ⊙ S, S來恢復無陰影圖像A,⊙是Hadamard乘積算符。
Training Loss Functions
培訓過程分為兩個階段。在第一階段,分別訓練形狀網絡和紋理映射網絡進行初始化。在第二階段,對兩個子網進行聯合訓練,以提高解擴效果。
本文在包含100000張圖像的Doc3D數據集上訓練模型,將它們分成訓練集和驗證集,這樣它們就沒有共同的網格。在初始化訓練的第一階段,紋理映射網絡以地面真值三維坐標映射C為輸入。隨后,在第二階段的聯合訓練中,每個子網絡都用最好的單獨訓練模型初始化。
5. Experiments
在[23]的130幅圖像基准上進行了多次實驗,並對[45]的真實圖像進行了定性分析。作為基線,在新的Doc3D數據集上訓練DocUNet[23]取消抓取方法。此外,從文檔分析的角度來評估本文的方法的OCR性能。最后,提供了一個詳細的融合研究,以顯示坐標卷積的使用[22],以及損耗LD如何影響不旋轉性能。定性評價如圖7所示。
基准
為了定量評估,本文將130個圖像基准[23]分為六類,表示六種不同程度的變形復雜性(見表1)。基准數據集包含各種文檔,包括圖像、圖形和多語言文本。
評價指標
基於(a)圖像相似性和(b)光學字符識別(OCR)性能,本文采用了兩種不同的評價方案。
本文使用兩種圖像相似性度量:
多尺度結構相似性(MS-SSIM)[42]和局部畸變(LD)[45]作為定量評價標准,見[23]。SSIM計算每個圖像塊內的平均像素值和方差的相似性,並對圖像中的所有塊進行平均。MS-SSIM使用高斯金字塔在多個尺度上應用SSIM,更適合於評估結果與基本事實之間的全局相似性。
LD計算從未翻閱文檔到相應文檔掃描的密集篩選流[20],從而集中於本地細節的直接定位。LD的參數設置為[23]提供的實現的默認值。為了進行公平的比較,所有未旋轉的輸出和目標平面掃描圖像都按照[23]中的建議調整為598400像素區域。
通過在本文的數據集Doc3D上訓練DocUNet[23]中的網絡架構,本文提出了對所提出的Doc3D數據集的基線驗證。架構由兩個堆疊的unet組成。DocUNet將二維圖像作為輸入並輸出正向映射(每個像素表示紋理圖像中的坐標)。
監控信號僅基於地面真值正向映射。與直接輸出未扭曲圖像的DewarpNet不同,DocUNet需要幾個后處理步驟將前向映射轉換為后向映射(每個像素代表扭曲輸入圖像中的坐標),然后對輸入圖像進行采樣以得到未扭曲的結果。
表2中的結果顯示,當本文在Doc3D上訓練DocUNet而不是在[23]中的2D合成數據集上訓練DocUNet時,有了顯著的改進。LD的顯著降低(14.08到10.85)意味着局部細節更清晰。
這種改進是(1)DewarpNet體系結構和(2)與[23]中的二維合成數據集相比,使用更實際的Doc3D數據集進行訓練的結果。
本文在DocUNet基准數據集上評估DewarpNet和DewarpNet(ref)(即DewarpNet與后處理增強網絡)。
本文提供了兩者的比較
(1) 整個基准數據集(表2)和
(2) 基准測試中的每個類(圖6)。后者提供了對本文的方法相對於以前方法的改進的詳細見解。
從(a)級到(e)級,本文的模型持續改進了MM-SSIM和LD,超過了以前的最新水平。在最具挑戰性的類(f)中,當圖像通常呈現多個皺褶和隨機變形時,本文的方法獲得了可比且稍好的結果。
本文使用PyTesseract(v0.2.6)[34]作為OCR引擎來評估本文從圖像中識別文本的工作的效用。文本地面真值(reference)由DocUNet【23】中的25幅圖像生成。在所有這些圖片中,超過90%的內容是文本。補充材料包含了本文的OCR測試集的一些樣本。表3所示的OCR性能比較顯示了方法的性能優於[23],在所有指標上都有很大的裕度。特別是,與DocUNet相比,DewarpNet減少了33%的CER,re-fiment網絡減少了42%。 融合研究
坐標卷積(CoordConv)。研究了CoordConv對紋理映射網絡性能的影響。Doc3D驗證集上的實驗(表4)表明,使用CoordConv可使ˆB上的誤差減少16%,並使ˆD上的SSIM從0.9260略微提高到0.9281。丟失身份證。紋理映射網絡從使用LD(未修復的視覺質量損失)中受益匪淺。如表4所示,與僅使用絕對像素坐標損失LB相比,使用LB+LD可顯著減少ˆB上的“2”誤差71%,並將ˆD上的SSIM提高9%。
定性評價
對於定性評估,本文比較了圖7中的DewarpNet和DocUNet以及You等人。圖8中的 [45]提出的方法利用多視圖圖像來取消對變形文檔的掃描。即使只有一張圖片,DewarpNet也顯示出競爭性的不敗結果。此外,本文在圖9中證明了所提出的方法對光照變化和相機視點變化具有魯棒性。為了評估光照的穩健性,本文使用固定的相機視點對多個圖像進行測試,但從文檔的前、后、左、右和環境光照角度不同。本文還測試了DewarpNet對多個攝像機視點的魯棒性,在一系列由[45]提供的多視點圖像上。結果表明,在所有情況下,脫蠟網產生的DewarpNet圖像幾乎相同。
6. Conclusions and Future Work
在這項工作中,本文提出了一個新的深度學習架構DewarpNet。本文的方法對文檔內容、光照、陰影或背景都很穩健。通過對三維形狀的顯式建模,DewarpNet顯示出比以前的最先進的性能。此外,本文還提供了Doc3D數據集,這是用於文檔圖像取消掃描的最大、最全面的數據集,具有多個2D和3D地面真值注釋。
本文的工作存在一些局限性:
首先,廉價的深度傳感器無法捕捉變形的細節,比如紙張褶皺上的細微褶皺。因此,本文的數據缺乏具有高度復雜紙張皺折的樣本。在未來的工作中,本文計划構建一個具有更好細節和更復雜結構的數據集。
第二,DewarpNet對遮擋相對敏感:當部分圖像被遮擋時,結果會降低。
在未來的工作中,本文計划通過數據增強和對抗性訓練來解決這一難題。