來一波技術流:文字識別技術在內容安全場景應用實踐

來一波技術流:文字識別技術在內容安全場景應用實踐

在近日召開的智慧風控技術峰會上,同盾科技旗下業務安全品牌小盾安全演算法專家在內容安全分論壇上帶來了“文字識別技術在內容安全場景應用實踐”的主題演講。

小盾安全演算法專家重點介紹了文字識別領域當前最前沿的演算法和小盾安全實踐方案,並透過CPU、GPU和系統級三個層面的最佳化部署,探究內容識別如何尋找到識別效果和執行速度“兩全其美”的解決方案。

文字是人們傳遞資訊和知識的重要方式,經歷了幾千年演化的中文更是世界最複雜的語言之一。進入人工智慧時代,文字識別應用的重要性更加凸顯出來,不論是學術界還是工業界,文字識別就像是一片深邃又迷人的海洋,它具有廣闊探索空間,有無數未知的寶藏等待挖掘。

小盾安全演算法專家的主題演講以學術視角聚焦圖片文字識別,這也是黑產及欺詐分子最常利用的場景。

他指出,常見圖片文字違規風險,主要分為涉黃、涉暴、涉政、涉賭以及廣告這幾個典型類別。

比如一些圖片中含有“加V、加Q”等資訊,一些圖片中含有“線上發牌”等涉賭內容;以及在一些網際網路平臺釋出含有個人或公司ID水印廣告的圖片來進行導流等。

這些在網路生活中已經無孔不入了,相信幾乎每個人或多或少都會看到過類似的內容,這對個人和網路平臺來說都帶來了一定的困擾。

識別圖片中的文字,需要分幾步?

小盾安全專家指出,要想真正對違規圖片進行識別和防控,重點工作是要對圖片中的文字進行有效識別。一般來說我們會透過文字檢測、字條矯正、文字識別三個階段,對圖片中的文字進行提取,並對識別出的文字通過後續NLP模型以及敏感詞規則,完成內容風控的決策。

在檢測環節,當一張原始的影象透過檢測的環節輸入到系統裡,系統會定位到影象中具體文字的位置。透過字條矯正模組,系統會對這些字條進行方向的調整,統一成水平方向的字條文字,最終將其輸入到文字識別模型。

文字識別模型接收到矯正後的字條,最終將圖片翻譯成具體的文字。

可以看出,從圖片到文字的轉換過程中,文字的定位和識別是關鍵的兩步。流程上看似非常簡單,但簡單的背後運用了很多先進的演算法作為支撐。

文字檢測演算法

小盾安全專家介紹,進入深度學習時代,文字檢測演算法主要分為基於迴歸和基於分割的兩大類。

基於迴歸的演算法,主要是基於通用目標檢測的方案,透過網路直接回歸文字行包圍框的資訊,主要的演算法有CTPN、SegLink、Textboxes/Textboxes++、EAST等,這些演算法的優點是,在規則形狀文字上效果較好;而在那些不規則文字或長文字上效果則相對差,比如在字型比較長的時候,兩端的定位不是很精準,進而影響最終的文字識別效果。

另外一類是基於分割的方案,基於分割的文字檢測網路中,借鑑語義分割的思想,對每個畫素進行一個是否為文字區域的二分類預測,再透過一個二值化過程得到文字區域,結合形狀分析,得到最終的文字例項包圍框。這類演算法對不規則文字有較好的檢測效果,但通常會有比較複雜的後處理過程,造成整個識別流程耗時增加。

當前,工業領域比較流行的一個演算法是DBNet,這項技術的論文發表於2020年,它的具體流程如下圖箭頭所示。

來一波技術流:文字識別技術在內容安全場景應用實踐

文字定位演算法DBNet

DBNet圍繞後處理流程進行最佳化,引入threshold map分支和DB運算元,透過增加更多的監督資訊,將二值化過程整合到網路訓練流程中,使得最終得到的機率圖邊界更加清晰。論文也透過實驗發現,最終推理階段中可直接採用標準的二值化運算元,完成二值化。DBNet對整個文字檢測流程進行了簡化,實現了文字檢測模組速度的提升。

文字識別演算法

接下來我們看文字識別的基本流程。

來一波技術流:文字識別技術在內容安全場景應用實踐

文字識別基本流程

如圖所示,一張輸入的影象會首先經過一個矯正的模組,輸入到影象視覺特徵提取模組,然後結合序列資訊,並以此為依據最終預測得到識別結果。序列資訊主要是利用文字上下文資訊,做出更符合人類語言習慣的預測。舉例來說,我們看到這裡有一個含有“生命重於泰山”的圖片,用人類肉眼看起來圖片中的字型是非常模糊的,尤其是“於”字,如果是機器很容易就識別為“千”或“幹”字。而透過CRNN演算法再結合上下文語義,就能很準確地輸出更符合人類認知的“於”字。

來一波技術流:文字識別技術在內容安全場景應用實踐

文字識別演算法當前以CRNN為主,該演算法可以說是綜合了效能和速度後的一個折中方案。

CRNN到底有什麼神奇之處呢?

接下來我們著重介紹一下CRNN演算法,它是由CNN+RNN+CTC三部分結合而成,它充分吸收了三者的精髓,將文字識別變成一個影象序列的預測,CRNN演算法的創新之處在於引入了RNN模型,增強了特徵的表達能力,引入了CTC識別模組,簡化了整體預測流程,極大地降低了資料標註的成本。

CRNN演算法具有“劃時代”的意義,它首次將文字識別從單字的預測跨入到了文字行預測的時代。

CRNN演算法出現之前,文字的識別都需要完成單個文字的精確定位,然後再進行單字的預測。CRNN演算法出現之後整個字條的輸入成為可能,從單字到整句,效率得到極大的提升,標註流程也得到了極大的促進。

來一波技術流:文字識別技術在內容安全場景應用實踐

文字識別演算法CRNN

三重最佳化 讓效果和速度齊頭並進

技術的價值還是要在應用中得以體現價值的,人工智慧也是如此。事實上,歷史上有很多技術陷入“過於先進,卻無法使用”的尷尬局面。

對於很多AI技術而言,制約技術落地的重要因素是識別效果和速度之間的微妙關係。

為了更好的讓技術落地,我們還要在部署方面上進行全面的最佳化。

小盾安全在自資料集上進行了一個OCR應用耗時分佈的統計,透過統計發現檢測模型推理和識別模型推理佔據了最主要的耗時,同時圖片的解碼和檢測模型的預處理也大概佔到8%的耗時。

因此,最佳化的重點放在以下這幾項上,小盾安全的最佳化手段主要分為三類。

第一部分主要發生在CPU上的計算,透過大量的調研比較發現,在影象解碼環節,廣泛應用的opencv更加傾向於利用多執行緒並行的能力,對CPU的simd等指令加速利用不夠充分,另外在解碼階段也做了較多的冗餘操作,導致解碼過程變慢。最終我們從眾多解碼庫中挑選出最高效的庫來實現影象解碼。

另外一個最佳化是在預處理。包括影象的縮放,以及輸入影象的歸一化操作。比如,將影象的歸一化過程,合併到第一層卷積引數中。

第二部分是GPU的最佳化,主要方法是模型的簡化壓縮。我們對模型的網路部分進行通道數量的最佳化壓縮,在保證效能沒有降低的情況下,提升速度。同時,小盾安全也採用了高效的推理引擎進行部署,該引擎內部進行了大量的OP融合操作,並基於當前部署的硬體資源選擇OP的最佳實現方式,從而最大效率利用當前顯示卡的硬體資源。另外我們也採用了低精度推理,進一步提升運算速度。

第三部分是系統級的整體最佳化。包括模型輸入解析度調整,我們要結合整體的識別效果,在檢測階段和識別階段的輸入都可以進行解析度的調優。圖片中通常會出現多條文字行,我們還可以利用多batch的方案提高整張圖片的推理效率。同時也結合多個例項,充分提升顯示卡的利用率。

透過運用上述最佳化手段,QPS效率提升一倍以上。此外,我們也會遇到一些有對抗的場景,這些相對來說是非常棘手的。比如一張“鮮豔”的圖片,我們不僅看到它的各種顏色,裡面還有藝術字體、有一些部分缺失、對比度低以及特殊的字型,這些都對文字的識別和定位帶來了更大的挑戰。

下面這個是手寫體的識別案例,手寫體的識別難度也是非常大,尤其是一些連筆或者草書非常嚴重的字型,這張圖片即便是人們認真識別都很困難,但透過我們的文字識別技術,可以非常準確和完整的“讀”了出來。

來一波技術流:文字識別技術在內容安全場景應用實踐

總之,文字安全防控體系是內容安全智慧平臺的重要組成部分,小盾安全結合深度學習演算法、政策權威指令等能全面解決諸如跳詞檢測、誤匹配矯正、火星文識別、組合詞識別、同音詞識別、形近字識別等問題。

小盾安全內容安全智慧平臺基於自然語言處理、語言識別、語義理解、影象分類、目標檢測、深度學習等核心技術,面向網際網路、電商、大型企業、金融等客戶群體,提供包括文字、影象、音訊、影片等泛內容安全識別,全面提升企業智慧化、批次化UGC等內容綜合處理能力,為企業構建牢不可破的安全基礎設施。

TAG: 識別演算法文字小盾