欧美成人三级视频网站,国产一区国产二区国产三区,青青久久av北条麻妃黑人,亚州综合一区

訊飛智文
當前位置:首頁>AI資訊>微信里識別LOGO又快又準?背后有OCR模塊一份功勞

微信里識別LOGO又快又準?背后有OCR模塊一份功勞

文章來源:微信AI
導語
LOGO作為公司或品牌的代表性標志,具有較強的識別和推廣作用。本文將介紹微信掃一掃及長按識圖中LOGO檢測及識別的相關技術。

一、背景

掃一掃識物和長按識圖上線以來,可識別的類目已經從商品擴充到了包含植物、動物、地標、菜品、汽車、名畫等的各個垂類。隨著用戶量的上升,對于LOGO檢測和識別的需求愈發強烈,LOGO作為品牌的標識,可以讓用戶快速認識和了解品牌,同時也能更快地接入商家的服務,進入到商家的公眾號及小程序。
微信里識別LOGO又快又準?背后有OCR模塊一份功勞

二、難點分析

針對LOGO識別,最直接的解決思路就是檢測到query圖中的logo區域進行分類,或者采用檢索的方式從gallery里面找到距離最近的圖片,同時需要限制這個距離剔除庫中不存在此LOGO的情況。但在實現過程中,我們發現LOGO識別主要存在以下難點:

1、LOGO款式多,同一商家可能具有不同款LOGO,且不同款間類間差異??;

2、LOGO既有純文本的樣式,又有純圖案的樣式,還有藝術字樣式;

3、LOGO更新迭代快,商家可能不定時更換LOGO,要求模型的變通性強。

三、整體解決方案

針對以上難點,我們在設計LOGO識別方案時,為了更加靈活的迭代算法,采用了檢索的方式。同時,由于視覺檢索模型對于文本的特征表達能力不足,為了兼顧了文本和圖案類型的LOGO,我們還引入了OCR模塊來進行二次驗證,最終得到了如下圖所示的整體解決方案。
微信里識別LOGO又快又準?背后有OCR模塊一份功勞
如上圖所示,首先進行LOGO檢測獲取目標區域,再對目標進行檢索找到top1檢索距離小于一定閾值的結果作為預識別結果,根據預識別結果判斷是否為文本,如果為文本則進行OCR識別后做二次驗證,計算文本相似度,滿足一定閾值條件才輸出結果,如果不是文本則在直接輸出結果。

3.1 LOGO檢測

在進行LOGO識別前,首先需要解決的問題是在圖像中檢測到LOGO,我們起初嘗試復用多源異構數據的檢測器進行LOGO分支的開發,但實現中發現LOGO數據會與歷史遺留的大部分商品數據的存在重疊,異構模式下兩個沖突的分支對主干backbone會產生影響,由于LOGO廣泛存在于商品中,且大部分LOGO為較小的目標。
為了更好地檢測LOGO且不對主干商品和垂類檢測產生影響,我們構造了一個獨立于商品檢測器的雙流retinanet LOGO檢測器。我們將數據分為兩類,一類是具有表觀一致性的LOGO數據,另一類是無表觀一致性的數據利用全圖框來表征(如大量的背景圖及噪聲類),兩組數據獨立交替更新參數共享的檢測網絡。最后引入全圖分類模塊和梯度裁剪策略,加快模型收斂防止梯度爆炸。部署階段我們采用TensorRT int8量化模型來進行優化提速。
此外,為了解決長按識圖場景下對于部分商家圖片的LOGO大多是拼接在圖片角落的方式,或者以水印方式貼上的LOGO,我們引入了一個在線LOGO拼接的數據增強方式。對于標注好的真實樣本,將LOGO的patch作為增強樣本,隨機padding到原圖無LOGO處。在合成過程中,我們主要采用了以下兩種方式來隨機合成:

(1)mixup方式

mixup是對圖像進行混類增強的算法,可以將不同類之間的圖像進行混合,從而擴充訓練數據集。
mixed_imgx=λ?imgx+(1?λ)?logo_patch

(2)替換式

直接對目標區域位置進行圖像替換,類似構建水印的方式直接合成。
具體實現中也會采用兩種方式來選取合成區域,一種是將圖像劃分為特定子區域,在無LOGO區域內采用上述方式合成,另一種是采用特定角落區域合成LOGO。
微信里識別LOGO又快又準?背后有OCR模塊一份功勞

3.2?LOGO識別

在LOGO識別環節,我們觀察到LOGO具有樣式多且款式多的情況。LOGO的類間差異大,LOGO的形式可能有圖案等視覺表征能力強的類別,也有文本類等視覺表征能力差的類別,以及介于兩者之間的藝術字類目。另一方面,同一款商家可能具有多款LOGO,包括LOGO升級迭代帶來的多款LOGO,以及同時包含文本類和圖案類的LOGO的情況。
為了實現文本類LOGO與圖案類LOGO(包含藝術字)的區別,以中國工商銀行為例我們構建了新的LOGO體系如下圖所示。其中由于純CNN模型對于文本圖像的視覺特征表達能力不足,因此我們引入了OCR模型來對文本類的樣本進行進一步地檢驗。
微信里識別LOGO又快又準?背后有OCR模塊一份功勞
識別模型訓練過程中,我們將同一個商家的不同款式LOGO作為不同的類別來進行細粒度分類模型的訓練,沿用其他垂類基于互學習訓練的網絡(如下圖所示)來作為特征提取backbone,基于resnet152和inceptionv4的互學習結構訓練分類模型,去掉fc后通過網絡提取特征,最終構建faiss庫進行LOGO檢索。
微信里識別LOGO又快又準?背后有OCR模塊一份功勞
在LOGO體系分類中對于文本類的樣本,視覺特征表達能力有所欠缺,對于部分相似的文本容易出現誤召回,為此我們設計了OCR二次驗證模塊。我們會對query區域進行文字識別,然后計算query與召回結果的文本相似度,選取一定閾值作為輸出條件。關于OCR相關算法介紹可參考微信OCR圖片文字提取。

四、總結與展望

本文介紹了微信掃一掃中LOGO檢測及識別的相關算法。LOGO識別上線后豐富了掃一掃及識圖的場景,同時也能推送相關的商家官方區或者公眾號,更便于用戶尋求相關服務
微信里識別LOGO又快又準?背后有OCR模塊一份功勞
后續對于LOGO識別的探索還可以從更多方向進行。一方面可以在LOGO檢測端引入OCR文本檢測的相關算法,如引入dbnet[5]的分割監督,從而端到端得到LOGO的文本概率值,另一方面可以在識別過程中的特征表達中直接計算預測文本與top1的文本相似度。
?版權聲明:如無特殊說明,本站所有內容均為AIHub.cn原創發布和所有。任何個人或組織,在未征得本站同意時,禁止復制、盜用、采集、發布本站內容到任何網站、書籍等各類媒體平臺。否則,我站將依法保留追究相關法律責任的權利。 Trae
error:
主站蜘蛛池模板: 集贤县| 平陆县| 福清市| 时尚| 上林县| 三台县| 永胜县| 湘阴县| 通化市| 石柱| 邵阳县| 乌拉特中旗| 东明县| 永清县| 剑阁县| 山东省| 道孚县| 衡水市| 桂阳县| 普兰店市| 筠连县| 涿州市| 寿光市| 麻江县| 宽城| 元朗区| 多伦县| 吴江市| 德安县| 鱼台县| 吴旗县| 华池县| 武乡县| 太原市| 河北区| 随州市| 乐平市| 房产| 平罗县| 淄博市| 出国|