999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于NVIDIA TX2的噴碼字符檢測算法

2022-07-13 01:51:50胡維平劉北北劉雨戈
計算機工程與應用 2022年13期
關鍵詞:嵌入式檢測模型

李 帆,胡維平,劉北北,2,劉雨戈

1.廣西師范大學 電子工程學院,廣西 桂林 541000

2.中國科學院 自動化研究所 蘇州研究院,江蘇 蘇州 215000

隨著人民生活水平的提高,人們對食品藥品安全的把控越來越嚴格,生產日期、產品批號等信息作為消費者唯一判斷的標準,其作用尤為重要。大部分生產廠家都是通過字符噴印技術將信息打印到產品的外包裝上,由于噴印機機械震動、噴頭堵塞、缺墨等因素,噴印字符時不可避免的會出現字符漏噴、缺失或重疊等現象,嚴重影響產品的質量問題。近年來,一些公司嘗試采用機器視覺檢測方案,極大地提高了商品生產的質檢速率。但由于商品背景顏色各異、噴碼信息復雜多樣、形態大小不一,且常含有相似的干擾字體,極大地增加了噴碼字符的檢測難度。

噴碼質檢行業中廠家需求各不相同,有的廠商只要求檢測噴碼的有無,這類任務可采用目標檢測算法,將噴碼字符區域看作一個待檢的整體。此方法準確率高,檢測速度快,但是無法滿足高質量的字符級質檢要求,因此基于字符識別的檢測算法逐漸被應用于噴碼質檢行業中[1]。

傳統的字符檢測算法主要過程是:圖像預處理,提取目標區域,字符區域二值化,水平投影行分割,垂直投影字符分割,最后使用SVM、AdaBoost等分類器進行字符分類[2]。傳統算法存在理論性強、訓練及推理速度快等特點,但是需要手工設計特征,無法應對復雜的背景環境,魯棒性不強。隨著深度學習技術在視覺檢測方向的普遍應用,基于深度學習的字符識別算法也相繼被提出[3]。

目前,基于深度學習的字符識別技術普遍采用字符檢測加字符識別的方法。其中字符檢測算法主要有連接文本提議網絡CTPN[4]和目標檢測網絡(如YOLO、SSD、R-CNN 系列等)。CTPN 算法將檢測區域拆分成細窄的檢測框,引入RNN提取序列特征,同時設計Siderefinement 來提升預測邊界框的精確度,但對于傾斜文本的檢測效果不好,且網絡推理速度較慢,無法滿足嵌入式端實時檢測的需求。兩階段目標檢測算法先生成候選區域再進行目標檢測,準確率很高但網絡推理速度較慢。單階段的目標檢測算法雖然精度略低,但檢測速度快,其中YOLO[5]系列的v5版本不僅在速度上優勢明顯,而且模型體積小,部署方便,但應用于噴碼字符定位時,其目標邊界框回歸精度仍不能完全滿足字符識別的要求,同時為了在嵌入式端完成實時檢測效果,模型推理速度也有待提高。

字符識別的算法主要包括分割的單字符識別和不分割的文本識別等方法。其中分割的單字符分類識別將字符串切割成單個字符,再使用圖像分類網絡對其進行分類識別[6],但每個字符的切割效果會直接影響字符識別的準確率,噴碼字符點狀不連續的特征,無疑是字符分割的最大障礙,另外背景復雜,字符較小,噴印不清晰等因素都會影響分割效果。不分割的文本識別一般用Seq2Seq[7]+Attention[8]和CRNN+CTC[9-10]兩種方法,Seq2Seq+Attention 的算法包括encoder 和decoder 兩部分,encoder 網絡通過CNN 提取圖片特征,BLSTM 得到橫向序列,decoder解碼部分采用LSTM和注意力機制。CRNN 算法將序列標注算法嵌套在深度卷積神經網絡中,支持端到端的梯度反向傳播,在IIIT5K、SVT 以及ICDAR系列標準數據集中取得了優于現有算法的結果。

在分析研究現有算法的基礎上,本文提出采用基于YOLOv5+CRNN的字符識別技術,免去字符分割步驟,直接實現對定位后的整行噴碼字符識別,提高整體系統的噴碼識別準確率。文字檢測網絡采用改進的YOLOv5網絡,字符識別網絡采用CRNN 網絡,其主要創新和貢獻包含以下內容:對YOLOv5文字檢測網絡增加注意力機制[11],改進損失函數,進行模型剪枝壓縮[12-13],以提高字符定位精度和檢測速度;針對噴碼字符區域背景復雜且字符存在傾斜的問題,進行背景擦除和透視變換等預處理任務后再送入CRNN字符識別網絡。此外,為了提高深度學習算法的推理速度,方便嵌入式等邊緣設備的算法部署,本系統還對訓練后的模型進行了模型量化和裁剪。實驗表明,本文所采用的方法具有高精度、高速度和良好的魯棒性,對噴碼字符的檢測有著重要的意義和應用價值,并且可實際應用于工業生產線部署。

1 噴碼字符檢測系統

噴碼字符檢測系統由硬件和軟件兩部分組成。硬件系統主要包括工業相機及支架、環形光源、嵌入式設備、顯示器等。針對噴碼識別需求,選擇海康MV-CA003-21UC 工業相機,最高幀率可達814.5 frame/s,最短曝光時間40 μs,可滿足噴碼圖像的采集。嵌入式平臺采用NVIDIA TX2,共2 塊CPU 和1 塊有256 個CUDA 核心的GPU,8 GB 的運行內存,32 GB Flash 存儲器。工作在最大性能時功耗不超過15 W,可在有限的條件下實現高性能的并行計算。

軟件系統采用Ubuntu18.04 操作系統,為了加快模型推理速度,更好地適配嵌入式底層硬件,選取Tengine嵌入式輕量級AI 推理框架。該框架將程序體積壓縮至3 MB 左右,并且支持嵌入式端NPU、GPU(CUDA/TensorRT)等加速。

本文所設計的噴碼字符檢測系統主要應用于噴碼生產線噴碼機后端,是一種在線實時檢測系統,其工作流程是流水線商品觸發工業相機采集單張圖片信息,系統完成噴碼字符質檢任務并剔除噴碼有缺陷的商品,整體工作流程如圖1所示。

圖1 噴碼檢測系統流程圖Fig.1 Flow chart of coding inspection system

2 噴碼字符檢測算法

對于噴碼字符的識別,首先要定位商品圖像中噴碼字符的位置,因此識別任務需要包括兩個步驟,即字符檢測(字符定位)和字符識別,并將輸出字符與欲噴印字符進行對比。噴碼檢測任務如圖2所示。

圖2 噴碼檢測任務圖Fig.2 Inkjet inspection task map

2.1 YOLOv5定位算法原理與改進

2.1.1 YOLOv5算法原理

YOLOv5結合了大量計算機視覺相關技術,網絡模型小、推理速度快。網絡結構主要改進了Backbone 與Neck部分,同時對輸入端的數據預處理也做了大量細節的改進。網絡采用了Mosaic數據增強的方法,隨機選取4張圖像縮放其比例并重新組合成一張圖像,提高了小目標的識別效果,還有助于減少對顯卡內存的需求,提高模型訓練效率。YOLOv5使用CSP-Darknet作為特征提取網絡,在很大程度上避免了網絡中梯度重復的問題,在特征圖中融合梯度信息,既提高了檢測速度,又保證了準確率。Neck特征金字塔結構,增強了不同大小目標的檢測效果。YOLOv5網絡結構主要包含以下三部分:

(1)Backbone主干網絡提取圖像的高維特征信息;(2)Neck融合圖像不同維度的特征信息;

(3)Head是預測層,生成邊界框并預測類別。

本文選擇YOLOv5 網絡寬度最小、復雜度最低、檢測速度最快的YOLOv5s 版本并加以改進,YOLOv5s 網絡檢測流程如圖3所示。

圖3 YOLOv5s網絡結構Fig.3 YOLOv5s network structure

2.1.2 結合注意力機制的YOLOv5s模型

注意力機制(attention mechanism)是一種資源分配機制,其思想是在原始數據中找到內在的相關性,突出關聯性強而忽略掉一些關聯性弱的特征信息。本文希望網絡只關注點狀的噴碼區域特征,因此在特征提取網絡中加入注意力機制,可有效提高字符檢測算法的準確率。

本文采用輕量級的注意力模塊ECA-Net[14],它只涉及少量的參數,在降低復雜度的同時能保持較高的檢測性能,既避免了特征維度的縮減,又增加了通道間信息的交互。ECA-Net的注意力權重計算過程分為兩步:首先通過對特征圖進行全局平均池化產生向量,再通過一維卷積來完成跨通道間的信息交互,得到每個通道的權重。在計算通道特征yi的權重wi時,只需考慮和它相鄰的k個值之間的信息,計算公式如下:

本文采用的注意力模塊參數確定為k=5,C=8,其結構如圖4所示。

注意力模塊的作用在于對信息進行細化分配和處理,所以本文在YOLOv5s 的特征提取網絡Backbone 之后、Head之前添加ECA-attention模塊,讓網絡更加關注點狀字符特征的提取。改進后的網絡結構如5所示。

2.1.3 損失函數的改進

Yolov5s 作為字符定位算法,其邊界框回歸區域的正確率直接影響到字符識別的正確率。YOLOv5s的回歸損失采用GIoU 損失函數,雖然考慮到了預測框和真實框的非重合區域,但如果標注的真實框完全包圍預測框時,此時損失函數無法回歸,使得網絡收斂速度變慢。因此,本文采用CIoU 損失函數[15]計算邊界框回歸損失,不僅考慮了中心點之間的距離,還添加了寬高比因子,能夠更準確地回歸預測框。CIoU 損失函數的值用LCIoU表示,計算公式如式(6)所示:

原始的YOLOv5s 模型權重大小為21 MB,本文經過稀疏訓練、裁剪部分卷積核后模型大小11 MB 左右。模型參數量越少,計算所需的時間越短,因此裁剪后的模型在嵌入式等低算力平臺可以有更快的推理速度。

2.2 CRNN字符識別算法原理與改進

CRNN 首先由卷積神經網絡(CNN)提取圖像卷積特征,再利用長短時記憶網絡(LSTM)進一步提取圖像卷積特征中的序列特征,最后使用CTC 算法[17]代替Softmax解決樣本無法對齊的問題。

CRNN 網絡由卷積層、循環層和轉錄層三部分組成,網絡結構框架如圖6所示。輸入圖像分辨率為100×32,網絡首先采用CNN 提取圖片中噴碼字符區域的特征,轉換為特征序列后再由循環神經網絡(RNN)進行單幀預測,最后由轉錄層將預測結果翻譯為字符序列,輸出識別結果。

圖6 CRNN網絡結構圖Fig.6 CRNN network structure diagram

2.1.4 稀疏訓練

對于一個訓練好的模型,通常會存在部分卷積核參數值趨近于零的情況,這部分卷積核的貢獻實質上是很小的,倘若裁剪這些卷積核后再進行微調是可以恢復到之前的檢測精度[16]。如果對權重參數加以限制,如L1正則化,訓練得到的參數結果就會比較稀疏,更加利于裁剪。本文選擇BN 層的尺度因子作為裁剪channel 的衡量指標,在訓練時,對BN 層的尺度因子添加L1 正則化,達到稀疏化的作用,這樣就可以通過BN層的尺度因子是否趨于零來識別不重要的channel。引入一個尺度因子γ,與每一個channel的輸出相乘,聯合訓練權重和尺度因子,對尺度因子稀疏正則化,最后裁剪掉較小的尺度因子及其對應的channel。訓練的損失函數如下:

噴碼字符識別相較于其他文本識別任務,不同之處在于噴碼定位區域背景復雜,且由于噴碼機噴頭的震動,傳送帶的運動導致部分待檢字符存在傾斜現象。針對此問題,本文在對定位后的噴碼區域進行背景擦除和透視變換處理后,再送入CRNN字符識別網絡。

透視變換(perspective transformation)是指將透視面繞透視軸旋轉某一角度,即將原始圖片按照指定的坐標規則變換到新的位置,在保證固定區域變換的過程中,可以忽略整幅圖像其他位置的形狀和坐標信息。變換規則通過標注原圖上任意四個坐標點和與之相對應的預設位置坐標計算得到一個變換矩陣,再通過變換矩陣將原圖變換成新的圖片,通用的變換公式為:

本文將送入噴碼識別的照片進行坐標信息的判斷,當坐標相差一定的閾值(旋轉超過3°),則視為字符傾斜過度,采用透視變換,將定位到的傾斜字符區域拉升回正確位置,圖7是透視變換的結果。

圖7 透視變換矯正字符Fig.7 Perspective transformation to correct characters

3 實驗及結果分析

3.1 數據集介紹

實驗采用的數據集為桂林金雞嶺德君旺食品有限公司生產的12類糕點盒子,其中每類200張,共2 400張包含點狀生產日期信息的.jpg格式圖片,均為MV-CA003-21UC工業相機在生產流水線并且環形補光燈環境下拍攝,并進行手工標注。本文將2 000張作為訓練集,字符定位數據集通過隨機裁剪、色彩空間調整和馬賽克增強等方式擴充得到4 000張。字符識別數據集通過批量提取噴碼字符區域,對其增加Alpha 透明通道,然后設定區域范圍后隨機粘貼組合產生不同生產日期字符,最終擴充得到6 000張訓練集。

3.2 實驗環境

為了在短時間內得到好的訓練效果,本實驗訓練和測試過程均在電腦端完成。利用GPU加速訓練和推理,硬件上搭載GTX1060 MAX GPU,英特爾i7 8700處理器,使用Ubuntu18.04系統,配置PyTorch1.8+python3.8的虛擬環境,最后將訓練好的模型部署到NVIDIA TX2上測試,并進行工廠生產線實測。PC 端和NVIDIA TX2的配置對比如表1所示。

表1 PC和NVIDIA TX2配置對比Table 1 Comparison of PC and NVIDIA TX2 configuration

3.3 實驗設置與訓練過程

對YOLOv5s字符定位網絡和CRNN字符識別網絡分別訓練,并進行相關測試。部署時利用字符定位網絡輸出的字符區域坐標在原圖上進行裁剪,再將裁剪后只包含字符區域的圖片送入CRNN網絡進行字符識別。

字符定位網絡實驗優化算法采用Adam優化器,初始化學習率設置為1E?4,batch size為16,epoch為100;所有權重初始化均值為0,標準差為0.01的高斯分布,訓練過程如圖8 所示。字符識別網絡實驗優化算法采用Adam 優化器,初始化學習率設置為1E-4、batch size 為64,epoch為5 000。

圖8 訓練參數曲線Fig.8 Training parameter curves

3.4 實驗結果及分析

為了驗證本文提出的YOLOv5s+CRNN 的噴碼字符檢測方法,在500 張測試數據集上進行實驗,并分別對各網絡的字符定位效果和字符識別效果進行性能評價。字符定位準確率表示在信度閾值為0.6 時,正確檢測出噴碼字符區域的個數除以檢測總數。字符識別率的評價指標采用字符準確度(char accuracy)來表示。字符準確度指預測的字符串與真實字符串相比得到的準確率,對于英文單詞“g-o-o-d”來說,如果預測序列為“g-o-a-d”,則在評估的時候逐字對照,4個字符預測對了3 個,因此該字符串預測序列的準確率為75%。模型推理時間表示測試一張照片所耗時間,單位為毫秒(ms),實時檢測速度采用幀率來表示,即每秒檢測圖片的張數。實驗的檢測速度均是各模型在PC端利用1060 GPU設備加速檢測得到。

表2 展示了YOLOv5s 定位算法改進部分的消融實驗結果。本文對其增加ECA注意力模塊和改進損失函數,分別能提升2.8 個百分點和1.2 個百分點的檢測精度;再對網絡進行稀疏訓練和通道剪枝后模型減小了6.7 MB,檢測時間縮短了6.5 ms。表3 對比了在CRNN模型前加入透視變換矯正和背景擦除等預處理后,對字符識別精度的影響。

表2 改進定位算法消融實驗Table 2 Ablation experiments with improved positioning algorithms

表3 改進識別算法消融實驗Table 3 Ablation experiments with improved recognition algorithms

表4 對比了幾種常見的不分割字符檢測方案。其中將字符定位和識別網絡合在一起的端到端算法最常見的是ABCNet 和FOTS 檢測算法,特點是網絡模型復雜,雖然檢測精度很高但是推理速度極慢,不適合低算力設備的部署。目前常用的CPTN+CRNN 字符檢測方法在定位時采用連接文本提議網絡CPTN,將文字沿文本方向切割成更小且寬度固定的Proposal,極大地提高了檢測定位的精度,在本文所用數據集上達到了99.8%的定位準確率,但由于其網絡模型復雜,導致參數量很大,推理時間極慢,在搭載1060 顯卡的PC 端檢測速度只有每秒4.5幀左右。

表4 不同方案的效果對比Table 4 Comparison of Effects of different programs

本文提出將YOLOv5s目標檢測網絡與CRNN網絡相結合,在未作任何改進的情況下,驗證其檢測精度和速度,結果如表4 所示,定位精度與CPTN 相比下降了3.6 個百分點,由于定位區域的偏差不同影響導致了字符識別率下降了4.4 個百分點,但是模型參數量減小了173 MB,檢測速度高達每秒32幀。最后,針對噴碼字符檢測的特定任務,本文從網絡結構、特征提取以及模型裁剪等地方加以改進,并對定位后的字符區域做相應的透視變換矯正處理,提高了CRNN字符識別精度。最終在PC 端測試結果,字符定位精度和識別率分別為99.6%和95.5%,總模型大小僅有21 MB,在大大降低了模型參數量的情況下還提高了識別率。

3.5 嵌入式的部署

為了節省硬件成本,加速算法的快速落地,解決工廠生產線的實際檢測需求,本系統將改進后的算法進一步量化與裁剪,利用Tengine嵌入式端的深度學習框架,結合QT5 利用C++編寫端側推理代碼,部署至NVIDIA TX2嵌入式平臺,并利用TensorRT7.1加速推理計算。

在移動設備上計算sigmoid 函數的代價要比ReLU等線性激活函數更大,因此使用線性的激活函數分段近似,使計算更容易,可以大大提高推理效率。YOLOv5s采用Swish激活函數,計算公式如下:

雖然這種非線性激活函數可以提高計算精確度,但是它在低算力的嵌入式環境中耗時嚴重,因此本文使用hard-Swish代替Swish激活函數,再部署至嵌入式平臺,可以大大提高模型推理運算速度。

為了驗證改進算法的有效性和可行性,系統采用海康工業相機在桂林某食品加工包裝廠實際環境中進行實時測試,并在TX2 平臺利用TensorRT 調用GPU 進行推理,檢測效果如圖9所示。

圖9 在線識別效果Fig.9 Online recognition effect

本文在工廠流水線自然環境下,固定光源與相機,真實噴印場景下測試1 000 個商品,統計得到的檢測性能數據如表5所示。

表5 TX2平臺測試結果Table 5 TX2 platform test results

測試結果表明,本文所提方法最終可在NVIDIA TX2嵌入式平臺實現了每秒28幀的檢測速度。對比PC端的檢測效果,由于部署前再次裁剪和替換了一些網絡結構,但對檢測性能影響不大,其定位精度僅下降了0.2個百分點,識別率降低了0.5 個百分點。經在某食品加工廠測試,噴碼流水線的速度大約在160 m/min,每秒噴印20 個商品左右,因此在嵌入式設備上的實時檢測速度(每秒檢測28 個)能夠滿足工廠的實際檢測需求,并且所使用的嵌入式設備在功耗、體積以及成本上與工控機、電腦、顯卡等昂貴的設備相比都具有巨大的優勢。

4 結論

本文結合深度學習中的字符識別方法,提出了一種基于嵌入式平臺的不分割的噴碼字符檢測算法,提高了字符檢測的精準度與速度。將YOLOv5 與注意力機制相結合,有利于點狀字符特征的提取,有效地提高了噴碼字符區域的定位精度,對定位后的圖像區域采用透視變換和擦除背景等處理,提高了字符識別率。最后裁剪掉對嵌入式端不友好的結構后,利用Tengine AI推理框架實現了算法在嵌入式設備NVIDIA TX2 上的部署。算法檢測速度可達到28 frame/s,滿足了實時性的要求,最終在噴碼工廠流水線實測字符識別率可達95%。下一步將繼續優化算法,提升噴碼字符的識別率,同時嘗試訓練更多的噴碼字符數據集,以滿足在更多不同類型字體的噴碼字符產品上的應用,使得算法更具有普適性。

猜你喜歡
嵌入式檢測模型
一半模型
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
搭建基于Qt的嵌入式開發平臺
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
3D打印中的模型分割與打包
小波變換在PCB缺陷檢測中的應用
主站蜘蛛池模板: 欧美午夜视频| 波多野结衣第一页| 思思热在线视频精品| 米奇精品一区二区三区| 欧美成人午夜在线全部免费| 不卡无码网| 国产一区二区三区免费观看| 亚洲小视频网站| 日本草草视频在线观看| 爽爽影院十八禁在线观看| 亚洲免费播放| 重口调教一区二区视频| 国产亚洲视频播放9000| 亚洲国产成熟视频在线多多| 天天综合天天综合| 亚洲中文字幕在线一区播放| 国产精品jizz在线观看软件| 99ri国产在线| 亚洲无码在线午夜电影| 一级毛片高清| 久久亚洲天堂| 91av国产在线| 成人午夜天| 久久精品人妻中文系列| 91在线国内在线播放老师| 亚洲第一精品福利| 国产精品99久久久| 97国产成人无码精品久久久| 日韩成人在线一区二区| 在线无码九区| 91精品福利自产拍在线观看| 国产成人高清精品免费5388| 本亚洲精品网站| 嫩草国产在线| 精品视频一区二区观看| 成年看免费观看视频拍拍| 亚洲免费人成影院| 欧美一级特黄aaaaaa在线看片| 久久 午夜福利 张柏芝| 999精品视频在线| 日韩成人免费网站| 色九九视频| 99热这里只有免费国产精品 | 99热这里只有精品在线播放| www.99在线观看| 亚洲高清免费在线观看| 72种姿势欧美久久久大黄蕉| 国产成年女人特黄特色毛片免 | 欧美午夜网| 欧美国产日本高清不卡| 国产Av无码精品色午夜| 欧美三级视频网站| 亚洲三级网站| 国产午夜人做人免费视频中文| 在线毛片网站| 欧美视频免费一区二区三区| 日日摸夜夜爽无码| 欧美国产综合视频| 91最新精品视频发布页| 日韩午夜片| 久久人搡人人玩人妻精品一| 日韩一区二区三免费高清| av一区二区无码在线| 999精品在线视频| 亚洲精品制服丝袜二区| 98精品全国免费观看视频| 欧美三级日韩三级| 91精品亚洲| 婷婷六月天激情| 国产成人无码综合亚洲日韩不卡| 伊人久久青草青青综合| 精品福利视频导航| 亚洲精品视频在线观看视频| 日韩国产亚洲一区二区在线观看| a欧美在线| 欧美午夜视频在线| av性天堂网| 国产小视频网站| 中文字幕在线播放不卡| 亚洲男人天堂久久| 欧美翘臀一区二区三区| 园内精品自拍视频在线播放|