• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      面向精準價格牌識別的多任務循環(huán)神經網(wǎng)絡

      2022-03-10 11:04:46牟永強范寶杰郭怡適
      自動化學報 2022年2期
      關鍵詞:多任務小數(shù)點解碼

      牟永強 范寶杰 , 孫 超 嚴 蕤 郭怡適

      傳統(tǒng)零售業(yè)抑或是近年來興起的快消新零售,渠道核查是其中的必要環(huán)節(jié).傳統(tǒng)的作業(yè)方式主要分為業(yè)務代表現(xiàn)場考察以及第三方外包核查,但都存在人工誤差大、核查周期長、核查成本高以及誤差數(shù)據(jù)無法溯源等缺點.隨著深度學習的迅速發(fā)展,AI (人工智能)已經成為高端科技的代名詞,各行各業(yè)的AI 應用層出不窮.基于深度學習的圖像識別技術憑借著高精度、高泛化性,非常適合應用于渠道核查的業(yè)務場景,是核查工作強大的助力.渠道核查主要包含兩大識別內容,SKU (Stock keeping unit),(庫存量單位)識別和價格牌識別,本文工作主要針對價格牌識別的需求.價格作為銷售數(shù)據(jù)的基石,對識別精度非常敏感,目前基于深度學習的價格牌識別技術容易受到其外觀樣式、拍攝質量等因素的影響,如模糊、傾斜、光照不均勻等.因此,如何克服實際應用中可能遇到的復雜場景,準確識別價格牌中的信息是 OCR (Optical character recognition)領域的一個重要研究目標.

      目前,應用性較廣的價格牌識別算法大多以文本識別算法為基礎.基于卷積循環(huán)神經網(wǎng)絡(Convolution recurrent neural network,CRNN)[1]的識別方法,為序列識別任務帶來了突破性的進展,也為文本識別領域打開了一扇大門.隨后基于CRNN變體和各種注意力機制的文本識別算法[2-3]層出不窮,相較于前者,增加的注意力機制主要用于關聯(lián)輸入信息的相關性,這種方式顯著提高了通用文本的識別精度.

      目前國內外的文本識別研究,普遍關注沒有符號的文字序列.對于價格牌這類帶有符號的序列識別,一些在通用文本數(shù)據(jù)集上表現(xiàn)優(yōu)異的算法[4-5],性能并不能令人滿意.為此本文提出了一種多任務的卷積神經網(wǎng)絡,有效地提高了價格牌的識別精度.

      在價格牌的識別任務中,精準地識別所占像素比例很小或直接被省略的小數(shù)點,是非常困難的一項任務,也是其區(qū)別其他文本圖像識別任務的重點.現(xiàn)有的絕大部分算法是將價格牌的整體進行無差別的識別,但是由于價格牌的種類繁多,以及一些客觀因素的影響,導致其在圖像中的特征并不明顯,即使采用基于上下文關系的序列識別算法也很難準確定位小數(shù)點的位置.為此本文提出了一種將整數(shù)部分與小數(shù)部分分開,協(xié)同識別整體的方法,實現(xiàn)對小數(shù)點的準確定位.使用端對端的多任務訓練策略進行學習,降低訓練的難度.經過實驗證明,本文提出的方法不僅在識別精度上有著優(yōu)越的指標,對于小數(shù)點的識別更是超越了以往深度學習算法的成績.

      由于已開源的數(shù)據(jù)集中暫無價格牌這一特定場景,我們將實驗中使用的價格牌數(shù)據(jù)集開源出來以供研究使用.我們的數(shù)據(jù)集采集自真實貨架場景圖像,涵蓋不同樣式,不同拍攝角度,不同光照變化等,其中包含訓練集10 000 張,測試集1 000 張,困難測試集1 000 張(包含了手寫價格、模糊價格以及其他影響因素的價格數(shù)據(jù)),訓練集及測試集的數(shù)字區(qū)域比較清晰,辨識度較高,而困難測試集的數(shù)字區(qū)域大都存在干擾項(如反光、拍攝重影、雙價格標簽等),辨識度較低.此外,為了進一步驗證本文所提出方法的泛化能力,我們在類似的車牌數(shù)據(jù)集中也進行了相關實驗,實驗結果表明了本文所提出方案的有效性.

      1 相關工作

      1.1 卷積循環(huán)神經網(wǎng)絡

      OCR (Optical character recognition,光學字符識別,現(xiàn)泛指所有圖像文字檢測和識別技術)的研究,一直是圖像識別領域的重要研究方向之一.隨著深度學習研究的飛躍,關于自然場景的圖像文本識別算法不勝枚舉,掀起了一輪又一輪的競賽狂潮.

      CRNN 主要用于圖像的序列識別問題,包含卷積層、循環(huán)層和轉錄層,結構如圖1 所示,是OCR技術的常用模型.CRNN 主要可以分為以下幾個部分:首先輸入圖像預處理后通過深層卷積神經網(wǎng)絡,得到輸出的高級特征圖(Feature map);隨后將feature map 的每一列或每幾列作為一個時間序列輸入由雙向LSTM (Bi-directional Long shortterm memory)網(wǎng)絡構成的循環(huán)層;最后輸出一個序列標簽(預測特征序列中的每一個特征向量的標簽分布——真實結果的概率列表).轉錄層采用CTC (Connectionist temporal classification),(時序連接分類)[6]或者其他高效的序列分類方法[7]進行轉錄,處理循環(huán)層所輸出的序列標簽,將所有可能的 “字符定位”結果進行整合,轉換為最終的識別結果.

      圖1 卷積循環(huán)網(wǎng)絡結構Fig.1 The structure of convolutional recurrent neural network

      雖然CRNN 的結構理論上可以預測任意的序列對應關系,但實際中編碼和解碼的準確度很大程度上依賴于語義向量.語義向量在編碼壓縮過程中存在信息丟失,而語義向量的信息偏差會嚴重影響解碼端的準確率.其次,解碼過程在每個時間步使用的內容向量是相同的,這也會對解碼準確率造成一定程度的影響.為了解決以上問題,CRNN 模型加入了注意力機制[8].

      不同的注意力機制對序列的處理方法不同,應用較廣泛的注意力機制[8]是由編碼器將輸入數(shù)據(jù)編碼成一個向量的序列后,在解碼階段的每一個時間步,注意力模型都會選擇性地從向量序列中挑選出一個子集進行輸出預測(這種選擇基于解碼階段隱層狀態(tài)與輸入序列的相關性).這種機制可以保證在產生每一個輸出的時候,都能找到當前輸入序列應該重點關注的信息,也表明每一個輸出所參考的語義向量都是不同的.

      1.2 多任務學習

      深度學習中單任務學習模型關注點通常是對某一個特定度量進行優(yōu)化,比如分類精度、識別精度或者回歸指標等.在訓練的基準模型上,我們不斷地微調模型,直到模型的結果不能繼續(xù)優(yōu)化.雖然這種方法可以得到高于基準模型的結果,但我們選擇性地忽略了可能提升特征度量指標的其他信息.

      區(qū)別于單任務模型將注意力聚焦于某個度量,多任務學習可以共享相關任務之間的表征,使模型可以更好地學習原始任務.某種程度上,多任務學習可以認為是人類學習的思維延伸,通過人類學習的先驗知識,關聯(lián)多任務之間的表征信息.從信息學的角度,可以將多任務學習視為信息歸納轉移的一種方式.

      分析價格牌數(shù)據(jù),識別過程最大的困難便是小數(shù)點的定位.如圖2 所示,小數(shù)點的位置總是模糊不清或被省略,單任務的端到端網(wǎng)絡包括針對復雜文本的[9]也很難做到定位小數(shù)點.因此,提出拆分價格牌的整數(shù)部分和小數(shù)部分,通過多任務學習的策略聯(lián)合學習小數(shù)點的特征信息,價格牌拆分示意圖如圖3 所示.這種策略需要價格牌數(shù)據(jù)結構的先驗知識,將分支結果與小數(shù)點后期拼接,得到完整的價格牌數(shù)據(jù).

      圖2 價格牌圖像Fig.2 Images of some price tag samples

      圖3 基準識別與多分支識別結果的生成方式Fig.3 Baseline method compared with multi-branch method

      在計算機視覺領域,最常見的多任務學習方法便是共享卷積層[10]參數(shù),同時獨立學習特定任務的其他層參數(shù).

      2 價格牌識別算法

      2.1 多任務模型分析

      CRNN 及其變體的結構在Coco[11]、ICDAR2015[12]等通用文本數(shù)據(jù)集上取得了優(yōu)異成績,證明了其方法的有效性.文獻[13]對近年來具有代表性的文本識別算法結構進行了總結,通過實驗分析,確定了在自然文本數(shù)據(jù)集上表現(xiàn)最優(yōu)的CRNN 結構.

      沿著CRNN 的方法,我們使用卷積網(wǎng)絡提取文本的特征,沿寬度方向切片作為輸入特征送入循環(huán)層,得到特征序列的標簽分布,之后用基于LSTM 的編碼器和解碼器將特征序列轉換為最終的識別結果,網(wǎng)絡結構如圖4 所示.

      圖4 基礎單任務識別網(wǎng)絡結構Fig.4 The structure of our basic single recognition network

      本文設計的多任務學習模型不同于一般聯(lián)合學習[14],而是基于價格牌可拆分的數(shù)據(jù)結構知識.整體結構如圖5 所示,其中IB (Integer branch)表示整數(shù)分支,DB (Decimal branch)表示小數(shù)分支,NDPB (No decimal point branch)表示去小數(shù)點的數(shù)字分支,如圖3 所示.模型分支結構完全相同,在特征提取階段后,學習序列不同感受野的信息.無小數(shù)點字符串分支作為輔助損失抑制整數(shù)分支與小數(shù)分支的過擬合,共同優(yōu)化共享的卷積塊參數(shù).三分支網(wǎng)絡結構與損失函數(shù)完全相同,通過對應不同的標簽優(yōu)化網(wǎng)絡參數(shù),極大地簡化訓練流程.這里我們之所以選擇三分支的模型,也是由于應用場景的特殊性,在實驗階段我們也會輸出不同分支組合結果進行分析.

      圖5 多任務循環(huán)卷積網(wǎng)絡結構Fig.5 The structure of multi-task RNN

      相比于單一任務的方法,我們所提出的多任務模型機制也擁有更好的可分析性:對于價格牌識別問題,我們選取多任務的結構可以數(shù)據(jù)化模型對整數(shù)部分以及小數(shù)部分的識別準確度,從而分析誤判問題.對于不同分支的識別難度有初步估計,從而制定相應的訓練策略,如去小數(shù)點分支融入的可訓練超參數(shù)權重,這種策略對模型精度有可觀的改善.

      2.2 解碼流程分析

      解碼階段以單向LSTM 作為解碼網(wǎng)絡,增加了循環(huán)層注意力機制,結構如圖6 所示.所提出的多任務模型采用相同方式解碼,分支損失函數(shù)為式(1) 所示的交叉熵函數(shù),其中M為每批次序列數(shù),N為解碼端單向LSTM 時間步長.網(wǎng)絡損失函數(shù)設置為整數(shù)損失與小數(shù)損失之和,去小數(shù)點分支損失乘以超參數(shù)η作為損失函數(shù)正則化項,整體損失函數(shù)如式(2)所示.該設計的出發(fā)點是考慮到實際場景應用中小數(shù)部分會存在很大一部分全為零的情況,網(wǎng)絡存在過擬合風險.訓練相對復雜一點的去小數(shù)點分支可以起到正則化的作用,且加入的超參數(shù)可訓練,根據(jù)驗證集的反饋自適應學習,實驗階段中我們建議的超參數(shù)值為0.5.

      圖6 注意力機制網(wǎng)絡解碼流程圖Fig.6 Flowchart of decoder network based on attention

      損失函數(shù)的改進[15]以及其他改進策略也可以一定程度上提高模型精度,后續(xù)會考慮融入到我們的工作當中.

      3 實驗與分析

      3.1 訓練網(wǎng)絡

      為提高模型性能,在訓練網(wǎng)絡之前,需要對訓練數(shù)據(jù)進行數(shù)據(jù)預處理操作.本文采集的數(shù)據(jù)集來源于真實的貨架圖像,數(shù)據(jù)豐富多樣,涵蓋不同設計樣式以及角度、光照的變化.將數(shù)據(jù)歸一化處理為相同的規(guī)格(本文規(guī)格為96×200),并處理數(shù)據(jù)標簽.例如,價格數(shù)據(jù)原標簽為79.99,處理得到整數(shù)標簽79、小數(shù)標簽99 以及去小數(shù)點標簽7 999.

      預處理后的圖像送入卷積塊,得到規(guī)格為12×25×512 的高層特征.沿寬度方向切片reshape 成25×6 144 的序列格式輸入循環(huán)層.循環(huán)層如前文所述,由雙向LSTM 堆疊組成.解碼求得每個時間步的輸出,通過與標簽計算交叉熵,反饋訓練網(wǎng)絡.對于我們的雙分支網(wǎng)絡,網(wǎng)絡的輸出結果取決于兩個分支的結果合并.以去小數(shù)點分支與整數(shù)分支為例,將去小數(shù)點分支結果沿著整數(shù)分支結果截斷即得到小數(shù)部分,通過小數(shù)點拼接輸出完整價格.

      關于模型的訓練,我們提供了一些訓練策略來提升精度.考慮到實際場景的條件影響,增加飽和度隨機調整和隨機旋轉的數(shù)據(jù)增強策略,可以很好地增強模型的泛化能力.由于整體網(wǎng)絡較深,需要較大的學習率初始值加速網(wǎng)絡收斂.通過實驗測試,學習率初始值為0.3 時,伴隨隨機梯度下降策略效果最優(yōu).

      3.2 實驗結果分析

      3.2.1 多任務結構分析

      本文實驗目的在于介紹多任務機制對于特殊結構文本的貢獻,因此對于Baseline 的選取,我們只對前沿場景文本識別算法[13]的主干結構進行實驗分析,而暫不考慮相關訓練策略.實驗結果如表1所示,ResNet 作為卷積塊,BiLSTM 作為循環(huán)層,通過注意力機制解碼的結構能夠達到最高的精度.

      表1 模塊的研究(%)Table 1 Study of modules (%)

      我們采用文獻[13] 中表現(xiàn)最優(yōu)的模型作為Baseline,實驗測試了基準方法并與我們的多任務分支進行比較分析.根據(jù)價格牌結構的切分方式,價格牌識別任務可以劃分為:去小數(shù)點的數(shù)據(jù)分支識別(NDPB)、整數(shù)分支識別(IB)以及小數(shù)分支識別(DB),實驗測試了多種分支組合方案,精度結果如表2 所示.相較于在文本識別上的突出成績,基準模型很難在價格牌數(shù)據(jù)集中取得滿意的成績,而本文提出的多任務模型則非常適用于價格牌這一特定場景,為了體現(xiàn)出多分支結果的優(yōu)點,我們將基準方案與每個分支的輸出進行了可視化分析,圖7給出了本方法是如何通過三分支識別的方式規(guī)避了困難的小數(shù)點識別并通過各分支的結果推斷出最終識別結果的機制.實驗結果表明,不同雙分支組合的結構相較于基準模型均取得較優(yōu)的成績,這便驗證了我們最初的信息拆分識別思路,通過多任務的方式獨立地識別各分支是行之有效的且對最終的結果有促進作用.整數(shù)分支與小數(shù)分支,以及去小數(shù)點分支與小數(shù)點分支的多任務模型分別在普通測試集與困難測試集上取得了最優(yōu)成績,這也是由于數(shù)據(jù)結構的最優(yōu)切分與相應多任務模型的組合.進而我們在整數(shù)分支與小數(shù)分支的基礎上以正則化的方式融入去小數(shù)點分支,也讓我們的多任務模型更進一步有所提升,在普通測試集取得了93.20 %的最好成績,困難測試集上取得了75.20 %的最好成績.

      圖7 與直接識別方法的比較Fig.7 Compared with the single-branch method

      表2 多任務模型結果(%)Table 2 Results of multitask model (%)

      實驗結果表明,多任務機制可以充分有效地解決價格牌的識別問題.在沒有其他策略的優(yōu)化下,僅以多任務機制便可取得優(yōu)異的成績.現(xiàn)階段端對端的模型已成為深度學習主流,而一些特殊的任務如價格牌中的小數(shù)點,卻很難以用單任務的端對端模型解決.因此,我們提議從數(shù)據(jù)結構上分析,以多任務結構聯(lián)合進行分離式的識別是一個可行的解決方案.

      3.2.2 模型分析

      本文提出的價格牌識別網(wǎng)絡有效地提高了價格牌的識別精度,該方法也可以應用到其他OCR 場景中,為驗證方法的遷移能力,本文通過選取類似可拆分數(shù)據(jù)結構的車牌場景[16],驗證所提方法的泛化性.我們將論文所提出的方法在目前最大的車牌數(shù)據(jù)集CCPD 中與效果優(yōu)異的TE2E[17]以及CCPD[16]網(wǎng)絡進行對比研究.在測試中,我們將車牌拆分成省、市和車牌號三個部分,使用三分支結構進行識別.CCPD 測試集合中包括各種復雜場景,例如光線不均勻、角度傾斜以及雨雪天氣等,實驗結果如表3 所示.本文所提出的方法均高于所對比的方法,尤其在復雜場景的測試集中,識別精度明顯提升.

      表3 車牌數(shù)據(jù)集實驗結果(%)Table 3 Experimental results on license plate dataset (%)

      在車牌識別的應用中,可以將漢字為切分點,多分支結構分為漢字分支、數(shù)字字母分支以及完整車牌分支.同樣地,完整車牌分支以正則化項的方式融入網(wǎng)絡中,防止其他分支訓練過擬合.表3 中的實驗結果表明,對于車牌識別這一特定場景的任務,本文的多任務模型性能明顯高于原論文,在所有測試集上,精度均有所提升.相比于在商業(yè)應用中的TE2E 以及學術研究中的CCPD,個別測試集甚至取得了高達10 %的提升,這為多任務機制聯(lián)合學習感受野的策略提供了強力依據(jù).本文提出的方法主要針對那些信息可拆分的且拆分部分具有獨立性的圖像文本,比如價格牌的整數(shù)與小數(shù)部分,車牌的漢字與字母數(shù)字部分.實驗結果表明本文提出的根據(jù)數(shù)據(jù)結構進行設計的多任務學習方法具有良好的性能,且對于復雜場景的泛化性更強,在價格牌數(shù)據(jù)集中的困難測試集以及車牌數(shù)據(jù)集中的各種復雜場景車牌集上都取得了很好的效果.

      4 結論

      本文針對新零售領域價格牌識別應用提出了基于多任務的價格牌識別網(wǎng)絡,針對特定場景圖像文本的數(shù)據(jù)結構,將整體數(shù)據(jù)分開處理,通過先識別整數(shù)分支與小數(shù)分支替代識別完整價格,最后添加小數(shù)點來解決小數(shù)點難以識別問題.我們的網(wǎng)絡采用卷積循環(huán)網(wǎng)絡的結構,以循環(huán)層注意力機制解碼序列,結合多任務學習機制,用特定的領域知識聯(lián)合學習難以定位的特征信息.本文所提出的方法在我們開源的價格牌數(shù)據(jù)集上,相比目前主流的文本識別算法有著明顯的精度提升,并且在類似數(shù)據(jù)結構的車牌數(shù)據(jù)集中也有非常好的效果.我們的工作目前只針對具有特定文本結構的圖像,對于通用文本的泛化性較差,接下來的工作將會考慮多任務機制在通用文本上的可行性研究.

      猜你喜歡
      多任務小數(shù)點解碼
      小數(shù)點添在哪兒
      《解碼萬噸站》
      解碼eUCP2.0
      中國外匯(2019年19期)2019-11-26 00:57:32
      基于中心化自動加權多任務學習的早期輕度認知障礙診斷
      NAD C368解碼/放大器一體機
      Quad(國都)Vena解碼/放大器一體機
      基于判別性局部聯(lián)合稀疏模型的多任務跟蹤
      自動化學報(2016年3期)2016-08-23 12:02:56
      基于多任務異步處理的電力系統(tǒng)序網(wǎng)絡拓撲分析
      電測與儀表(2016年5期)2016-04-22 01:13:46
      小數(shù)點移到哪去了
      自以為是的小數(shù)點
      崇仁县| 孟津县| 交口县| 宝兴县| 确山县| 拜泉县| 天峻县| 芒康县| 嫩江县| 双流县| 苗栗市| 东至县| 太白县| 唐海县| 安徽省| 丁青县| 台安县| 江陵县| 美姑县| 前郭尔| 利津县| 漳平市| 山东省| 遂溪县| 定边县| 思茅市| 札达县| 鸡东县| 抚顺县| 鄂州市| 宁阳县| 泰宁县| 盱眙县| 临安市| 昌黎县| 奉贤区| 抚松县| 九龙城区| 玉龙| 汉沽区| 亚东县|