今天下午,小米創辦人雷軍介紹小米自研的一套表格識別算法,該算法高效準確地將圖片中的表格轉化為可編輯的Excel文件,大幅提升使用體驗。表格識別是指將圖片中的表格結構和文字信息識別成計算機可以理解的數據格式,在辦公、商務、教育等場景中有著廣泛的實用價值,也一直是文檔分析研究中的熱點問題。
圍繞這個問題,小米研發一套表格識別算法,該算法高效準確地提取圖片中的表格,轉化為可編輯的Excel 文件。目前算法已經成功落地於小米10S系列、MIX Fold 2等旗艦機型,大傢可以從相冊-更多-表格識別,或者掃一掃進入體驗。
表格檢測算法
小米表示,表格檢測算法主要是從圖片中準確的提取表格區域,並對表格進行矯正,得到平整的表格圖片以便下一步的表格識別;
表格識別算法主要是從圖片中提取表格結構和表格文字內容,然後將這些信息有效的結合在一起,輸出可編輯的Excel表格。
表格檢測有以下難點:一方面是手機上的算法和內存有限,另一方面是對表格檢測結果要求非常高,表格周圍往往包含其他文字,如果檢測結果不準,會對後面的識別結果造成負面影響。
小米的表格檢測算法會同時檢測到表格區域和表格的四個角點,通過透視變換和我們自研的抗扭曲算法得到隻有表格區域的平整表格,效果如圖所示。
由於算法運行在手機端,需要保證運行速度和模型大小,小米采用一個非常輕便的一階段檢測框架,backbone采用shuffleNetV2;
在檢測出表格框的同時,回歸出關鍵點信息,便於表格的透視矯正,並用Wing loss代替L1 loss讓關鍵點回歸更加準確;
數據方面,用算法低成本地從公開數據中挖掘大量表格檢測數據,顯著性地提高表格檢測效果。最終模型大小為1M左右,順暢地運行在小米手機上。
表格識別算法
表格識別算法在服務端運行,主要包含的模塊有:文本檢測、文本識別、表格結構預測、單元格匹配、對齊算法、Excel導出。
目前主流的方法是將表格用HTML的超文本表示,然後對HTML進行編碼,預測HTML序列和對應的坐標信息。
該方法在開源數據集上取得不錯的效果,中國平安科技和百度也采用這種方案,但是HTML 的標簽過多導致表格結構識別容易出錯。
針對該方法的不足,我們對表格采用全新的編碼方式,僅用四個標簽就能表示任意結構的表格,極大地提高表格結構識別準確率。
表格識別在部署過程中,采用Fastertransformer推理框架進行加速,官方稱小米的推理速度提升大約20倍,明顯改善用戶體驗。
總結
該算法能高效方便地從圖片中提取表格,極大地提高辦公效率。小米表示,工程師們將持續提升小米手機中文檔類圖片的識別體驗。