比OCR更强大的PPT图片一键转文档重建技术
作者:熊唯,黃飛,戈揚
騰訊 PCG 應用研究員
本文介紹了 QQ 研發中心自研的 PPT ?重建技術,目前騰訊文檔在進行接入工作。當前主流辦公產品比如 office,wps,騰訊文檔會采用 AI 技術對圖片進行排版恢復還原為 doc 形式的文檔。通常針對以文字偏多,格式簡單的圖像效果比較好。如果內容豐富,圖片并茂的內容圖像在轉為 doc 文檔時,由于圖像比例,文檔排版插入,對豐富背景還原度差等問題導致很多 ppt 形式的圖片無法很好還原為電子文檔。
目前越來越多的資源信息是以圖像形式存儲,然而很多用戶在獲取圖像后需要對圖片進行編輯或者電子文檔形式進行存儲。最主流的做法是直接進行 OCR 提取,但這種方法無法滿足用戶對排版的需求。當前主流辦公產品比如 office,wps,騰訊文檔等會采用一些技術對圖片進行排版恢復還原為 doc 形式的文檔,通常針對以文字偏多,格式簡單的圖像效果比較好,但如果內容豐富,圖片并茂的 ppt 內容圖像在轉為 doc 文檔時由于圖像比例,文檔排版插入限制以及文檔適應背景單一而豐富背景還原度差等問題會導致很多 ppt 形式的圖片無法很好還原為電子文檔。
QQ 研發團隊團隊在前期已經推出了基于深度學習的文檔重建,表格重建的技術文章。產品也已經在騰迅文檔,PCQQ,手機 QQ 上線,近期我們又增加了 PPT 重建功能。小程序在搭建中,其中添加里更多子功能,比如 OCR,文檔自動選框,去摩爾紋,圖片扭曲恢復等。歡迎大家通過 QQ 小程序體驗。
下面主要給大家介紹 PPT 的重建技術,產品流程如圖 1 所示,效果圖如圖 2 所示:
圖1 圖片轉PPT 產品流程圖2 圖片轉PPT (左:原圖 右:PPT )一、圖片轉 ppt 框架
項目的技術流程主要分為三大模塊:
預處理:包括文檔檢測和矯正,圖片去摩爾紋,文檔扭曲恢復,文檔旋轉,語義分割等,主要深度學習,模型部署在 GPU。
排版分析:對各實體的恢復,以及排版處理,邏輯流程部署在 CPU。
后處理: 生成導出 PPT 文件
圖3 項目技術模塊下面給大家一一介紹我們主要模塊用到的技術細節。
二、AI 模塊
2.1 自動框選
用戶拍攝圖片一般不會是工整圖片,所以在進行提取前還需要做很多的預處理工作,其中最重要的一個模塊就是先框選出真正我們需要轉換的 PPT/文檔內容。
圖4 自動框選效果對內容的框選現有很多技術,比如圖像處理的邊緣提取,但是效果不好需要特別多的后處理,隨著 AI 的發展,也有一些深度學習的方法對邊緣進行提取,比如 HED 網絡。前期同事也基于 hed 進行了模型訓練得到了不錯的檢測效果。使用的框架圖如下圖:
其中 Decoder1 分支的簡易圖如下:
經過 HED 處理后在工程的后處理還是需要很多規則判斷,特別在候選框選取時添加過多規則,如下圖。所以我們需要進一步對模型進行優化減免后處理的繁雜工作以及優化框選準確性。
圖5 框選后處理通過 case 分析,我們預測的選框通常會多出背景區域,如果通過語義分析知道大致的文檔內容區域,再通過邊緣線條檢測準確的邊框信息,融合信息是否能得到更精確的選框。
所以在原有基礎上增加了一個分割分支,多任務學習,在 decoder 模塊分出兩個分支,一個分支學習圖像的邊緣信息,一個分支學習圖像的語義信息,如下圖所示。
圖6 多任務邊緣檢測網絡圖7 網絡示意圖兩個分支的 encoder 部分卷積層權重共享。
在邊緣檢測分支,我們還是分為多個 block 計算 loss,并通過 se 模塊融合分支。對于邊緣檢測,我們更多想得到全局信息,所以引入了 SEblock,如下圖,在 featrueMap 上做了一次 attention。
圖8 SEBlock在語義分割分支,我們采用通過的 Unet 結構。最終加權兩個分支的 loss 進行訓練。
在訓練過程中,我們的數據來源于仿真和真實數據的標注,另一部分來源于半監督方式通過檢測分支的結果獲取到文檔內容從而得到分割 mask。在 infer 過程中,檢測分支獲取得到所有可能組成的四邊形,和分割分支的結果計算 Miou,選擇 miou 最大的檢測框作為最終框選對象。
圖9 檢測結合分割獲取最佳選框通過對比可以發現,語義分割分支可以得到更精準的檢測框。
圖10 優化前后對比圖通過驗證集驗證,hed 驗證集 miou=88.38,多任務網絡 miou=90.63,多任務訓練的方式 miou 可以提升 2 個點。
2.2 圖像矯正
檢測到 PPT 文檔內容后,我們還需要對圖像質量進行提升后再進行后續處理,希望轉換后的文件還原度更高。針對圖片矯正我們主要做了,去摩爾紋,文檔旋轉矯正和扭曲恢復。
2.2.1 去摩爾紋
對于屏幕拍攝圖片,摩爾紋很影響我們后續處理的圖像質量,所以檢測到圖片后我們首先通過小的分類模型判斷是否需要對摩爾紋進行處理,如果屬于屏幕拍攝場景會調用去摩爾紋模塊。
去除摩爾紋的網絡框架和效果圖如下:
圖11 去摩爾紋網絡圖12 去摩爾紋效果(左:帶摩爾紋圖片 中:原圖 右:去摩爾紋效果)2.2.2 扭曲恢復
檢測出四邊形后,通過投影變換可以對圖片進行一步矯正,但是對于扭曲圖像,僅僅通過圖像處理是不夠的,我們通過扭曲恢復模型,對圖片扭曲恢復。這一步驟對于紙質的 PPT 拍攝以及文檔拍攝圖片比較重要。
扭曲恢復的網絡框架和效果圖:
圖13 扭曲恢復效果扭曲網絡借鑒了 Document Image Unwarping via A Stacked U-Net 論文思路,近期也做了比較大的優化,主要通過將曲線擬合算法結合到網絡結構解決了扭曲恢復后的文字在空間上存在細微抖動的問題,后續我們也會公開這塊的技術細節。
2.2.3 文本旋轉
OCR 也是我們重建的一個重要模塊,除了能夠提取圖片中的文字信息,還有一個作用是可以通過文本檢測框獲取到圖片中文本的旋轉角度。但是目前 OCR 對于角度的預測在-45---45 角度之間比較準確,對于 90 度,180 度的旋轉圖片,預判角度不太準確。
我們采用的方案是首先通過小的分類模型預測圖片的象限方向,分類類別為[0,90,180,270]。先把圖片旋轉到-45~45 之間。再通過 OCR 預測角度講圖片旋轉到 0 度。效果如下圖:
圖14 綜合分類模型和OCR 模型旋轉圖片左圖為原圖,中圖為判斷需要旋轉 180 度,右圖為通過 OCR 預測角度旋轉后圖片。
2.3 實體提取
通過以上步驟,我們可以獲取到比較干凈工整的 PPT 內容圖片,這一步我們要通過語義分割,檢測到圖片的實體部分,方面后續生成 PPT。本模塊在圖片轉 word 和圖片轉 excel 中都需要的模塊。
對于 PPT 圖片,我們主要分割的類別為文本,圖片,表格,背景。下圖為標注的語義分割類別示意圖。
圖15 語義分割示意圖對于主流框架和基礎網絡,我們使用 PPT 的分割數據做了一些實驗對比
圖15 語義分割主流框架實驗對比從基礎網絡上看,shufflenet 速度更快,resnet 效果更好。網絡結構上從性能上分析 bisenet 性價比更好。
我們在項目中使用的是 Bisenet 框架,在學習特征時并行兩條支路,一條學習空間細節信息,一條支路學習高層語義信息,然后將學到的信息融合,能夠更好學習到全局信息和局部信息特征信息。
圖16 BiseNet網絡2.4 實體恢復
在上一步我們已經知道圖片中哪塊區域是文本,圖片,表格,但是直接插入到 PPT 中會存在很多問題,比如圖片中還嵌有文本的處理,文本框直接插入的背景問題等。我們重要介紹文字和背景的恢復。
2.4.1 文本恢復
通過實體分割文本段以及 OCR 提取后,可以獲取到文本框信息。如圖 17,左圖為原圖,右圖紅框為我們獲取到的文本區域,但是無法直接獲取到字體顏色。
圖17 OCR框選文本框得到文本框后,字體顏色恢復步驟為:
截取文本框區域,如圖 18(a)
對文本框區域自適應二值化得到前景背景,如圖 18(b)
前景顏色區域計算均值得到前景和背景顏色值,如圖 18(b)上前景像素區域對應的 a 點像素值 rgb 計算均值,設置為字體顏色。
圖 18(a)的文本塊區域,背景顏色為 RGB([73.,192.,179]);前景顏色 RGB ( [207, 255,255])
圖 18(c)的文本塊區域,背景顏色為 RGB([229,250,245]);前景顏色 RGB ( [78,156,149])
得到了字體大小和顏色恢復,結合之前的背景重建,我們可以得到最終的還原效果,字體幾乎完全還原,如圖 19 所示:
圖19 字體還原效果2.4.2 背景恢復
通過語義分割模型后,我們可以獲取到前景所有實體,和剩下的背景區域。通過實體抽取直接在畫布上進行插入,效果如圖 20。
圖20 未對背景做處理插入效果直接插入效果可以看出,在文本區域塊和周圍其他背景顏色差別太多,過度顯得特別突兀,而且如果插入文本框顏色和文字顏色一致會導致文本看不清。所以我們需要通過 inpainting 算法,對背景進行重建。重建背景,圖片,文字,表格,包括圖片上的文字后就可以生成 PPT 了。
2.5 生成 PPT
通過以上步驟我們得到了各個實體模塊,并且對每個模塊進行了恢復重建。通過語義分割模塊,可以獲取到各實體(表格,圖片,文本,背景)的相對坐標位置。通過重建模塊,可以獲取:
表格:表格的樣式,行列數,單元格內文字內容
圖片:圖片抹除文字區域后,通過 impainting 重建圖片內容
文本:文本區域的字體顏色,字體大小
背景:抹除前景區域后,通過 inpainting 重建背景內容
最后可以按照 office open xml 的格式在畫布上依次插入背景,表格,圖片,文字實體,得到最終的可編輯.ppt 格式。騰訊文檔通過 http 請求獲取到.ppt 格式文件后再轉化為騰訊文檔在線電子文檔形式展示。
END 最后說個題外話,相信大家都知道視頻號了,隨著灰度范圍擴大,越來越多的小伙伴都開通了視頻號。小詹也開通了一個視頻號,會分享互聯網那些事、讀書心得與副業經驗,歡迎掃碼關注,和小詹一起向上生長!「沒有開通發布權限的盡量多互動,提升活躍度可以更快開通哦」總結
以上是生活随笔為你收集整理的比OCR更强大的PPT图片一键转文档重建技术的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 12个让您震撼的Linux终端命令
- 下一篇: 疫情期间用掉了1400亿个!二维码会被人