本文主要介紹小米表單(小米表單app),下面一起看看小米表單(小米表單app)相關資訊。
小米創(chuàng)始人、董事長兼首席執(zhí)行官雷軍通過社交媒體表示,小米工程師開發(fā)了一套表格識別算法,高效準確地將圖片中的表格轉(zhuǎn)化為可編輯的excel文件,極大地改善了體驗。
同時,小米技術官方也發(fā)文解讀了表格識別算法的一些技術實現(xiàn)原理,涉及整體框架、表格檢測算法、表格識別算法、對齊算法等。
以下為小米科技官方解讀:
表格識別是指將圖片中的表格結構和文本信息識別成計算機能夠理解的數(shù)據(jù)格式。在辦公、商務、教育等場景中具有廣泛的實用價值,一直是文檔分析和研究的熱點問題。圍繞這個問題,我們開發(fā)了一套表格識別算法,高效準確地從圖片中提取表格,轉(zhuǎn)換成可編輯的excel文件。目前該算法已成功落地小米10s系列、mix fold 2等旗艦機型??梢詮南鄡愿啾砀裰凶R別,也可以掃描進入體驗。
▲圖1雷軍在mix fold 2發(fā)布會上介紹小米表格識別算法。
一、背景大部分人在日常辦公中都會和文檔打交道,主要是表格和文檔,其中表格的重要性毋庸置疑。excel和wps是各行各業(yè)桌面辦公場景下電子表格的事實標準。我們經(jīng)常會遇到需要將表格圖片的內(nèi)容導入excel的情況。
以前只能對著圖片一點一點的把內(nèi)容輸入excel,效率低,容易出錯。近年來,隨著技術的發(fā)展,ocr(光學字符識別)的可用性不斷提高,用戶可以使用ocr軟件從圖片中自動提取文本信息。
但是對于表格場景,僅提取文本是不夠的,用戶需要反復手動復制粘貼來恢復電子表格,仍然需要大量的時間。因此,我們實現(xiàn)了一套表格圖像提取方案,可以有效提高用戶的辦公效率。圖2顯示了我們的識別效果:
▲圖2表格識別效果展示
二、總體框架圖3展示了我們目前算法的一個總體框架,主要包括手機端的表格檢測算法和服務器端的表格識別算法。
▲圖3表格識別技術框架
桌子檢測算法主要是從圖片中準確提取出桌子區(qū)域,并對桌子進行校正,得到平整的桌子圖片,用于下一步的桌子識別;表格識別算法主要是從圖片中提取表格結構和表格文本內(nèi)容,然后將這些信息有效組合輸出可編輯的excel表格。下面將詳細介紹表格檢測算法和表格識別算法。
三、表格檢測算法表格檢測有以下幾個難點:一方面手機上的算法和內(nèi)存有限,另一方面對表格檢測結果的要求很高,表格中往往包含其他單詞。如果不正確的檢測結果會對后續(xù)的識別結果產(chǎn)生負面影響。我們的表格檢測算同時檢測出表格區(qū)域和表格的四個角,通過透視變換和我們自研的反扭曲算法得到一個只有表格區(qū)域的平面表格。效果如圖4所示。
▲圖4表格檢測算法的效果
表檢測算法的框架如圖5所示。因為算法在手機上運行,需要保證運行速度和模型大小,所以我們采用了非常輕量級的一階段檢測框架,主干采用shufflenetv2;當檢測到桌子框架時,返回關鍵點信息,便于對桌子進行透視校正,并使用機翼損失代替l1損失,使關鍵點回歸更加準確。在數(shù)據(jù)方面,利用算法從公共數(shù)據(jù)中低成本挖掘出大量的表格檢測數(shù)據(jù),顯著提高了表格檢測效果。最終模型大小約1m,在小米手機上運行流暢。
▲圖5表格檢測算法框架
四。表格識別算法表格識別算法如圖3所示。算法運行在服務器端,主要包括文本檢測、文本識別、表格結構預測、單元格匹配、對齊算法、excel導出等模塊。文本檢測識別模塊采用的是我們之前已經(jīng)推出的ocr服務,這里不再重點介紹。下面將主要介紹表格結構預測算法和單元格坐標聚合算法。數(shù)據(jù)方面,由于表格數(shù)據(jù)標注困難,我們完成了一套表格渲染工具,可以合成各種樣式的表格數(shù)據(jù),大大降低了標注成本。
桌子的形式多種多樣,有有線桌子、無線桌子、水平桌子等。,而且表格中有很多復雜的合并單元格;此外,圖片中含有陰影、光照、扭曲、變形,也增加了表格預測的難度。以前有很多關于表結構預測的研究。在傳統(tǒng)算法的基礎上,提取表格行,然后從表格行中推導出行、列和合并單元格的信息。在目標檢測的基礎上,檢測單元格,然后用后處理方法組織單元格,恢復表格結構;基于語義分割,分割表格行,然后對分割結果進行后處理,恢復表格結構;上述算法都有一個共同的問題,如后處理復雜、魯棒性差,通常需要針對具體表格進行算法適配。
目前主流的方法是用html超文本表示表格,然后對html進行編碼,預測html序列和對應的坐標信息。這種方法在開源數(shù)據(jù)集上取得了很好的效果,平安科技和百度也采用了這種方案,但是html中標簽過多導致表格結構識別錯誤。針對這種方法的缺點,我們采用了一種全新的表格編碼方法,只需要四個標簽就可以表示任意結構的表格,大大提高了表格結構識別的準確率。
如圖6所示,表格被定義為由m*n個單元格和內(nèi)部合并單元格組成的矩陣。 0 :表示普通單元格。 1 意味著將單元格合并到左邊2 意味著向上合并單元格;并且每個單元格對應一個坐標框,這樣ocr識別的結果可以在后面與之匹配。這個定義的優(yōu)點是:沒有人為的語法規(guī)則;數(shù)據(jù)組織具有天然的二維排列屬性,網(wǎng)絡更不容易漂移;幾個標簽就可以恢復任何表結構,不存在開集分類問題。
▲圖6表格結構定義
我們采用如圖7所示的表結構預測框架。該方法基于cnn變換解碼器的圖像序列學習網(wǎng)絡,在解碼階段包括兩個預測頭,分別預測表格序列和表格單元的坐標信息。
▲圖7表格結構預測框架
表格結構效果如圖8所示。表格結構識別算法預測每個單元的位置信息和對應于每個位置的順序信息。圖8中左右兩張圖片一一對應,同色的檢測框?qū)疫叺募毎鹀ell,細胞是有順序的。
▲圖8表格結構識別效果展示
在表格識別的部署過程中,使用了fastertransformer推理框架進行加速,我們的推理速度提高了20倍左右,明顯改善了用戶體驗。
單元格坐標聚合算法主要是將文本檢測到的內(nèi)容與表格預測的單元格正確匹配,算法流程如圖9所示。文本框匹配單元格框,首先匹配iou最大的一個,如果iou=0,則匹配中心距離最近的兩個框。如果一個單元格包含多個文本框的結構,則應該在單元格內(nèi)按閱讀順序輸出,并實現(xiàn)智能換行,提高用戶體驗。
▲圖9單元坐標聚合算法流程
最終,我們的算法在表結構提取和端到端表恢復的準確率上領先于業(yè)內(nèi)主要競爭對手。
動詞 (verb的縮寫)對齊算法上面的算法已經(jīng)基本恢復了表格信息,但是同一個表格中單元格的對齊不同,可能會有 左對齊, 右對齊 和 中心對齊和同時。我們設計了一套對齊算法,通過分析表格中單元格的位置信息實現(xiàn)自動對齊,完整還原真實表格,明顯提升用戶體驗。對齊算法的效果如圖10所示:
▲圖10對齊算法的效果
了解更多小米表單(小米表單app)相關內(nèi)容請關注本站點。