在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

AI時代文檔識別技術之表格圖像識別詳解

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-12-10 19:30 ? 次閱讀
本文主要介紹基于深度神經網絡的表格圖像識別解決方案。作者系騰訊QQ研發中心——CV應用研究組的yonke
來源:騰訊技術工程微信號

1.前言

1.1背景

大多數人日常辦公處理的文件,無非就是表格和文檔,其中表格的重要性毋庸置疑。在各行各業的桌面辦公場景中,Excel和WPS是電子表格的事實標準。我們經常遇到這種需求:將一個表格圖片的內容導入Excel。

以前我們只能對著圖片把內容一點點敲進excel,既低效又容易出錯。近年來,在深度學習的加持下,OCR (Optical Character Recognition,光學字符識別)的可用性不斷提升,大量用戶借助OCR軟件,從圖片中自動提取文本信息

然而對于表格場景,只是提取文本依然不夠,用戶還需反復手動復制粘貼以還原出電子表格,這依然耗費大量時間。因此我們實現了一種識別表格圖像的解決方案,并與騰訊文檔結合,切實提升用戶辦公效率。

下面是我們的識別效果展示:

1.2 業界方案

表格圖像識別有較高的商業價值,一般都在付費的專業OCR軟件中才能體驗到:比如ABByy fine reader。這些軟件所用的技術,并沒有完全公開。

比如ABByy公開的論文中,也只是簡略介紹主要原理,無法復現,且距今已久,后期的技術進步無法得知。因此我們難以從商業軟件中得到啟示。
遍閱近幾年比較有實操價值的論文,可分為以下三種思路:

1)利用OCR檢測文本,從文本框的空間排布信息推導出有哪些行、有哪些列、哪些單元格需合并,由此生成電子表格;
2)運用圖像形態學變換、紋理提取、邊緣檢測等手段,提取表格線,再由表格線推導行、列、合并單元格的信息;
3)神經網絡端到端學習,代表工作是TableBank,使用image to text技術,將表格圖片轉為某種結構化描述語言(比如html定義表格結構的標簽)。

經過實驗,發現以上三種思路都有不便落地的缺陷:

思路1)極度依賴OCR檢測結果和人工設計的規則,對于不同樣式的表格,需做針對性開發,推廣性差;
思路2)依賴傳統圖像處理算法,在魯棒性方面較欠缺,并且對于沒有可見線的表格,傳統方法很吃力,很難把所有行/列間隙提取出來;
思路3)解決方案沒有次第,一旦出現bad case,無法從中間步驟快速干預修復,只能重新調整模型(還不一定能調好),看似省事,實則不適合工程落地。

2.基于深度圖像分割的方案

針對已有方案的缺點和優點,我們提出一套更具可行性的解決方案。流程如下:

1) 對表格圖片應用深度學習進行圖像分割,分割的目的是對表格線部分進行標注,分割類別是4類:橫向的線,豎向的線,橫向的不可見線,豎向的不可見線,類間并不互斥,也就是每個像素可能同時屬于多種類別,這是因為線和線之間有交點,交點處的像素是同屬多條線的。

2)對分割圖分別做幾何分析,即先提取連通區域,再對連通區域擬合折線,再對游離的線段根據距離和傾角進行合并形成框線。由于拍攝角度或者紙張的彎曲,一般原圖表格會有一些傾斜,可使用投影變換(perspective transformation)對原圖進行校正,使得橫框線校至水平,豎框線校至豎直。

3) 對校正后的圖調用OCR,識別其中的文本內容,以及每個字符的坐標。

4) 根據第2)步得到的框線,計算出有哪些行,哪些列,其中哪些單元格跨行列合并了。由此得到每個單元格在圖中的位置(top_left, top_right, bottom_left, bottom_right)四點坐標。

5) 將單元格位置,與字符坐標進行匹配,決定每個字符在哪個單元格中。最后計算每個單元格的字號大小,對齊方式等格式信息。

下面對每個步驟進行詳細剖析。

2.1 圖像分割模型

圖像分割(segmentation)旨在對圖像的每個像素賦予標簽。在這里,我們的分割任務有多標簽,每個像素可能屬于橫線、豎線、不可見橫線、不可見豎線。

為了提取上述各種線所在的像素,我們嘗試了多種圖像分割算法和二值化算法:OTSU二值化、adaptiveThreshold二值化、Canny算子、SED(Structural Edge Detection)算法、深度學習圖像分割。深度學習在準確性和魯棒性有壓倒性優勢,我們最后專注于深度學習方法,而拋棄所有傳統算法。

目前較常用的深度學習圖片分割模型有DeepLab系列,fcn,Unet,SegNet等,經過實驗對比我們發現在這個問題中,以上方法最后收斂效果幾乎是一樣的,故我們選擇收斂速度最快的Unet。

為了更快的速度,對于backbone的設計,我們參考mobilenet,使用depthwise+pointwise替代常規卷積。表格線是細長型物體,角度要么基本水平,要么基本豎直,并且有的線會很長,在橫豎方向上更大的感受野將帶來更多好處。故我們選用的卷積核形狀為5x1和1x5,實測比常用的3x3能達到更好的性能,MIOU指標有2%的提升。由于標簽不互斥,我們不用softmax做輸出,而是用4個sigmoid,分別表示4個標簽的概率。由于各類像素數量不平衡,我們的損失函數采用加權交叉熵,迭代到后期收斂速度變慢后可用Dice Coeff Loss。訓練數據我們采用人工標注+仿真生成結合。下圖是我們訓練收斂后的效果,直觀看擬合得還不錯。

2.2 分割結果幾何分析

對分割結果設定閾值0.5進行二值化,轉成幾張二值化圖,分別表示每種線所屬的像素。接著對每個二值化圖求連通區域。對連通區域進行過濾,長度太小的丟棄。對剩下的每個有效連通區域,分別擬合折線,即得到大量線段。對線段的角度進行統計,橫、豎兩種線段與x軸的夾角均值應接近0和90度,若否,則認為識別失敗并終止。在橫、豎線段中,若有角度偏離均值3個標準差以上的,則過濾掉。對于剩下的線段,應用DisjointSet算法進行合并,被合并的線段構成一條新的長直線,這些直線代表框線。兩線段合并的判定條件是:夾角小于15度,并且一條線段的端點到另一條線段的距離小于一定閾值。

最終得到的若干直線,就是表格的框線。但是手機拍攝的照片一般都有一些傾斜,為便于后續處理和提高OCR結果的質量,我們將對圖片進行傾斜校正。校正方法使用投影變換,也即擬合一個單應矩陣H,使得HX=X',X的每一列是在每條直線上以固定距離采樣的點的齊次坐標,X'的對應列是該點校正后的齊次坐標。橫線校正至水平,也即線上所有點的y坐標一致;豎線校正至豎直,也即線上所有點的x坐標一致。最后將求得的投影變換應用到原圖中,將圖片也校正。

2.3 OCR

將校正后的圖片送去OCR,可得到圖中每個字符的坐標。注意我司幾個OCR平臺返回的結果都是一串文字的文本框,這個文本框不一定與表格單元格能一一對應,有可能一個文本框里包含多個單元格,也可能一個單元格里檢測出多個文本框。每個文本框中有若干字符,附帶的字符坐標對判斷其所屬單元格就十分重要了。下圖是我司某個OCR平臺所返回的識別結果。

2.4 識別表格結構

接下來需要識別表格的結構,以跟OCR結果進行匹配。我們對一個完整的表格定義如下:

1)所有單元格,單元格定義為[起始行,結束行,起始列,結束列]
2)每一行的行高(像素)
3)每一列的列寬(像素)
4)每個單元格的字號大小(像素)
5)每個單元格的對齊方式(left/right/center)
6)每個單元格的文字內容

表格的結構是指1),2)和3)。我們提出一套高效的算法從表格線推導出每行(列)的高(寬)和所有單元格的坐標。

由表格框線推導行(列)的高(寬)比較容易,只需對所有的橫(豎)線按從上(左)到下(右)排序,相臨框線形成一行(列),所以只需計算相臨框線的y坐標(x坐標)差即可。

由表格框線推導單元格坐標就不太容易了。因為現實中存在很多單元格合并的情況,一個單元格可能跨了若干行和若干列。對此我們的思路是列舉所有的單元格候選,每個單元格表示為(起始行,結束行,起始列,結束列),然后對所有單元格按面積從小到大排序。接著遍歷排序好的候選單元格,去判斷其上下左右的框線是否都真實存在,若存在,則此單元格就在原圖存在。注意到,每當確立一個單元格存在,所有與其共享起始行和起始列的其他單元格則不可能再存在,因為我們不考慮單元格中套著單元格的情況。所以雖然單元格候選集很大,但我們可以利用這一性質在遍歷過程中進行剪枝,所以會很高效。

2.5 匹配文字內容,確定字號和對齊方式

2.4定義的表格還有4)5)6)沒有識別。經過以上步驟,我們已經得到每個單元格的坐標和每個字符的坐標。接下來就只需進行對號入座就可得到每個單元格中的文本,也即解決了6)。字號可由OCR文本高度確定,但是由于返回的高度總有一些不一樣,實際表格中常常不會有太多字號,經常是同一列的單元格用一樣的字號。因此我們對所有得到的文本高度進行聚類,當兩行文本高度比例在[0.91, 1.1]之間,就可以認為是同個高度。聚好類后,對類內高度求平均值,以平均值做為此類所有文本的真實高度。最后將文本高度換算為字號,由此4)也解決了。最后根據文本在單元格中的位置,判斷每個單元格的對齊方式,對于對齊方式,也采取類似的聚類方法來去除噪音。由此5)也解決了。

至此,表格的所有單元格,每一行的行高,每一列的列寬,每個單元格的字號大小,每個單元格的對齊方式,每個單元格的文字內容都已經識別出來了。只需將單位換成Excel、WPS或者騰訊文檔的標準單位,就可以轉成電子表格了!

3.實現與部署

3.1 整體流程

我們實現的這套表格識別方案,擁有客戶端實時檢測表格和后臺識別生成表格兩個部分。上文介紹的是后臺識別生成的部分。客戶端實時檢測所用的模型是SSD(Single Shot MultiBox Detector),可實時框選表格所在的區域,協助用戶調整拍攝角度。系統流程如下圖所示:

我們的方案目前集成在騰訊文檔中,大家可以體驗。

3.2 訓練數據仿真

我們人工采集標注了數萬樣本。做為補充,我們也程序仿真生成樣本。仿真方法是先對背景圖要放表格的區域進行紋理檢測,將高頻部分去掉,再做Inpainting,這樣既保留的背景,又留出了空白。接著隨機生成表格結構,在背景留白處畫出表格,在畫線,放文字之后,還需在線和文字的像素周圍將高斯噪聲加上,以模擬相機傳感器的成像特點。最后對生成的圖和標注圖進行mesh warp,模仿紙張扭曲。

4.性能指標

4.1 深度學習分割模型性能

我們的深度學習表格線分割模型和其他傳統的算法對比如下。測試數據是人工標注的真實表格圖片,數量4w張。可以看出我們的模型大大優于傳統算法。

name 精確率(Precision) 召回率(Recall) MIOU
我們的深度學習模型 95.03% 97.54% 90.22%
OTSU 59.67% 63.84% 55.26 %
adaptiveThreshold 63.93% 88.45% 50.21%
Canny 71.75% 70.33% 63.85%
SED 81.35% 86.16% 64.03%

4.2 表格結構識別的性能指標

為了客觀評價我們整套表格識別方案的性能。我們構造一個數據集,并建立一個評價指標系統。表格識別結果好不好,不能只靠肉眼判定,要量化評價。表格結構識別過程,可看成是對單元格的檢測,我們關注檢測的precision和recall指標。為計算precision和recall,需計算true positive,false positive,false negative樣本,計算策略如下:

在2w張表格圖片樣本中驗證,以下是目前為止我們的性能

name 指標的意義
平均準確率 0.8736 反映了重建結果中,有多少單元格是真實存在的,有多少是錯置的
平均召回率 0.9241 反映了重建結果中,漏掉了多少單元格
adaptiveThreshold 63.93% 88.45% 50.21%
TP樣本平均IOU 0.8212 反映了重建結果中,那些我們認為正確重建的單元格,跟圖片的本來樣子有多像



推薦閱讀:

更多騰訊AI相關技術干貨,請關注專欄騰訊技術工程

審核編輯:符乾江
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 人工智能
    +關注

    關注

    1791

    文章

    47279

    瀏覽量

    238513
  • 計算機視覺
    +關注

    關注

    8

    文章

    1698

    瀏覽量

    45994
收藏 人收藏

    評論

    相關推薦

    AI圖像識別攝像機

    隨著科技的迅猛發展,人工智能(AI)在各個領域的應用越來越廣泛,其中圖像識別技術尤為引人注目。AI圖像識別攝像機作為這一
    的頭像 發表于 11-08 10:38 ?245次閱讀
    <b class='flag-5'>AI</b><b class='flag-5'>圖像識別</b>攝像機

    AI大模型在圖像識別中的優勢

    大模型借助高性能的計算硬件和優化的算法,能夠在短時間內完成對大量圖像數據的處理和分析,顯著提高了圖像識別的效率。 識別準確性 :通過深度學習和計算機視覺技術
    的頭像 發表于 10-23 15:01 ?669次閱讀

    圖像檢測和圖像識別的原理、方法及應用場景

    圖像檢測和圖像識別是計算機視覺領域的兩個重要概念,它們在許多應用場景中發揮著關鍵作用。 1. 定義 1.1 圖像檢測 圖像檢測(Object Detection)是指在
    的頭像 發表于 07-16 11:19 ?4199次閱讀

    圖像識別算法都有哪些方法

    圖像識別算法是計算機視覺領域的核心任務之一,它涉及到從圖像中提取特征并進行分類、識別和分析的過程。隨著深度學習技術的不斷發展,圖像識別算法已
    的頭像 發表于 07-16 11:14 ?5584次閱讀

    圖像識別算法的提升有哪些

    引言 圖像識別是計算機視覺領域的核心任務之一,旨在使計算機能夠自動地識別和理解圖像中的內容。隨著計算機硬件的發展和深度學習技術的突破,圖像識別
    的頭像 發表于 07-16 11:12 ?660次閱讀

    圖像識別算法的優缺點有哪些

    圖像識別算法是一種利用計算機視覺技術圖像進行分析和理解的方法,它在許多領域都有廣泛的應用,如自動駕駛、醫療診斷、安全監控等。然而,圖像識別算法也存在一些優缺點。 一、
    的頭像 發表于 07-16 11:09 ?1640次閱讀

    圖像識別算法的核心技術是什么

    圖像識別算法是計算機視覺領域的一個重要研究方向,其目標是使計算機能夠像人類一樣理解和識別圖像中的內容。圖像識別算法的核心技術包括以下幾個方面
    的頭像 發表于 07-16 11:02 ?644次閱讀

    圖像識別技術包括自然語言處理嗎

    圖像識別技術與自然語言處理是人工智能領域的兩個重要分支,它們在很多方面有著密切的聯系,但也存在一些區別。 一、圖像識別技術與自然語言處理的關系 1.1
    的頭像 發表于 07-16 10:54 ?838次閱讀

    圖像識別技術在醫療領域的應用

    一、引言 圖像識別技術是一種利用計算機視覺技術圖像進行分析和處理的技術。隨著計算機技術、人工智
    的頭像 發表于 07-16 10:48 ?896次閱讀

    圖像識別技術的原理是什么

    圖像識別技術是一種利用計算機視覺和機器學習技術圖像進行分析和理解的技術。它可以幫助計算機識別
    的頭像 發表于 07-16 10:46 ?1024次閱讀

    圖像識別屬于人工智能嗎

    屬于。圖像識別是人工智能(Artificial Intelligence, AI)領域的一個重要分支。 一、圖像識別概述 1.1 定義 圖像識別是指利用計算機
    的頭像 發表于 07-16 10:44 ?1131次閱讀

    如何利用CNN實現圖像識別

    卷積神經網絡(CNN)是深度學習領域中一種特別適用于圖像識別任務的神經網絡結構。它通過模擬人類視覺系統的處理方式,利用卷積、池化等操作,自動提取圖像中的特征,進而實現高效的圖像識別。本文將從CNN的基本原理、構建過程、訓練策略以
    的頭像 發表于 07-03 16:16 ?1386次閱讀

    神經網絡在圖像識別中的應用

    隨著人工智能技術的飛速發展,神經網絡在圖像識別領域的應用日益廣泛。神經網絡以其強大的特征提取和分類能力,為圖像識別帶來了革命性的進步。本文將詳細介紹神經網絡在圖像識別中的應用案例,包括
    的頭像 發表于 07-01 14:19 ?683次閱讀

    圖像識別技術原理 圖像識別技術的應用領域

    圖像識別技術是一種通過計算機對圖像進行分析和理解的技術。它借助計算機視覺、模式識別、人工智能等相關技術
    的頭像 發表于 02-02 11:01 ?2463次閱讀

    如何使用Python進行圖像識別的自動學習自動訓練?

    如何使用Python進行圖像識別的自動學習自動訓練? 使用Python進行圖像識別的自動學習和自動訓練需要掌握一些重要的概念和技術。在本文中,我們將介紹如何使用Python中的一些常用庫和算法來實現
    的頭像 發表于 01-12 16:06 ?593次閱讀
    主站蜘蛛池模板: 欧美精品影院| 看黄在线| 国产成人经典三级在线观看| 天天澡天天干| h视频免费在线| 久久精品国产99国产精品免费看| 色视频大全| 日本吻胸抓胸激烈视频网站| 最色网在线观看| 久色tv| 色噜噜久久| 亚州色图欧美色图| 性xxx中文视频| 男女爱爱视频免费看| 最新欧美一级视频| ass日本69| 欧美三级日韩三级| 日本黄色录象| 一道精品视频一区二区三区男同| 99久久精品费精品国产一区二区| 毛片免费网站| 国产爽视频| 五月婷婷在线观看| 久久婷婷国产综合精品| 狠狠干天天射| 四虎在线最新永久免费| 黄色短视频免费看| 69ww免费视频播放器| 日韩图区| 免费看国产一级片| 亚洲网在线| 6080伦理久久亚洲精品| 一级毛片日韩a欧美| 精品伊人久久大香线蕉网站| 2019天天干| 日本高清视频色wwwwww色| 欧美黑人换爱交换乱理伦片| 亚洲成熟| 色视频日本| 国产高清在线观看| 国产精品伦理一区二区三区|