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

基于OpenCV的芯片IMEI碼的檢測與識別

2022-08-23 07:16:54朱德意孫晴藝董思凡麻勝恒王耀雄
計算機技術與發展 2022年8期
關鍵詞:區域檢測

朱德意,孫晴藝,董思凡,麻勝恒,王耀雄,高 放*

(1.廣西大學 電氣工程學院,廣西 南寧 530004;2.廣西中科阿爾法科技有限公司,廣西 南寧 530201;3.中國科學院合肥智能機械研究所,安徽 合肥 230031)

0 引 言

運動目標檢測與跟蹤是計算機視覺領域的一個研究熱點,其核心主要包括目標檢測、提取及跟蹤三個部分。工業生產流水線上芯片IMEI[1]碼的檢測與識別是一個典型的運動目標檢測與跟蹤問題。識別并寫入IMEI碼是芯片制造流水線上的重要一環,傳統的依靠人工記錄IMEI碼的方式枯燥乏味且效率低下,因此有必要開發智能算法自動識別流水線上芯片的IMEI碼。

目前還沒有關于芯片IMEI碼檢測與識別的相關研究,但是關于檢測其他字符的研究有很多。通常識別字符主要有深度學習和圖像處理兩種方式。胡逸龍等[2]通過改進的YOLO算法檢測中文車牌位置,再通過改進的CRNN算法識別車牌;張瑞紅等[3]基于HOG特征的級聯檢測器結合多角度檢測方法實現對奶牛標牌定位,通過神經網絡訓練字符實現對奶牛標牌識別;李榮遠等[4]通過KNN對電子秤數碼管字符進行識別。國外也有相關的字符識別研究。L. T. Akin Sherly等[5]利用HOG和LIFT提取場景字符信息特征,利用貝葉斯交互搜索算法(BISA)對基于AdaBoost的卷積神經網絡(BISA和AdaBoost-CNN)進行場景字符識別;Faisel Mushtaq等[6]提出了一種用于識別手寫烏爾都語字符與數字的算法,通過大量的訓練,在識別的兩萬多的手寫字符中,準確率近99%。這類通過深度學習對字符進行識別的方法識別結果的準確率高但是需要大量的時間和大量的訓練樣本,且需要用圖像處理的方法對訓練樣本和待識別的樣本圖像進行預處理。

通過圖像處理來識別字符的研究也很多。楊新年等[7]通過高斯去噪和灰度化等方式處理車牌,通過垂直和水平投影結合割車牌字符成功識別車牌;Ravi Kiran Varma P等[8]通過高斯濾波、形態學處理等處理印度車牌,同時通過邊界跟蹤分割字符輪廓,并根據字符尺寸、空間定位處理感興趣區,識別了印度車牌;Minhuz Uddin Ahmed Abu Jar等[9]也用類似方法對孟加拉的山地車車牌進行識別。常江等[10]使用全局閾值分割方法對塑料袋上的印刷字符進行分割,其對大字符的識別效果較為準確,但對小字符的識別提取有待提高;楊蕊等[11]在Web端插入OpenCV.js開源圖形數據庫對發票圖像進行灰度二值化、降噪、矯正以及分割等圖片在線預處理操作,引入Tesseract.js字符庫用于訓練和識別操作,從而將發票信息電子化;牛智星等[12]對水尺圖像進行處理,通過識別水尺上的字符實現水位監控。通過圖像處理對字符進行識別的方法處理時間短、速度快,但是識別的準確率偏低。

針對芯片字符識別,該文提出一種基于OpenCV[13-14]的芯片IMEI碼的檢測與識別的方法。該方法流程簡潔,對視頻進行簡單的處理后,利用Tesseract-OCR實現對芯片IMEI識別。識別之后的芯片IMEI碼出現在編譯框內,也可以將其保存在文本文件之中。

1 算法流程

該文識別芯片IMEI碼,最主要的是識別并提取芯片的IMEI碼區域。只有提取了區域才能夠合成包含芯片IMEI碼的視頻。

由于識別視頻背景復雜且一直處于移動狀態,常規的目標提取算法如幀間差分法和背景分離法需要保持背景不變,而本視頻的背景(如黑色底架、芯片等)一直處于移動狀態,所以不能夠有效地提取芯片IMEI碼,而光流法對每個點都進行標記,通過計算對點前后的比較可以得到移動的部分,但是該視頻移動部分遠大于靜止部分且光流法對計算能力要求過高,難以應用到實際的芯片IMEI碼識別。因此后續的對比實驗采用CRNN神經網絡進行芯片IMEI碼識別。

該文使用的方法不同于主流的算法。主流的算法是將運動目標與背景分離,從而達到提取運動目標的目的。而該文的想法是提取運動目標區域與原視頻合成,從而獲得運動目標。識別芯片IMEI碼的大致流程分為三步,具體步驟如圖1所示:①圖像預處理部分;②篩選芯片IMEI碼部分;③芯片IMEI碼識別部分。先對視頻進行預處理,得到只含有芯片IMEI碼的區域的視頻,再將該視頻與原視頻合成,得到一個新的包含少量干擾的芯片IMEI碼的視頻。之后將新的視頻灰度化、二值化后,使用Tesseract-OCR識別芯片IMEI碼。Tesseract-OCR處理所得到的字符,即芯片IMEI碼,提取芯片IMEI碼的特征信息,根據特征信息與語言包中的字符進行比較,將最符合特征信息的字符作為識別結果。

圖1 芯片IMEI碼識別流程

2 圖像預處理

2.1 預處理流程

本次識別的視頻為實際流水線上生產芯片的視頻,時長39秒,視頻中物體包括三塊芯片,黑色底架及桌子。為了識別芯片的IMEI碼,需要對視頻進行預處理,其主要作用是提取芯片IMEI碼區域。具體見圖1中的圖像預處理部分。首先讀取視頻并將其灰度化,然后對視頻進行邊緣檢測,視頻中的邊緣包括:芯片輪廓、黑色底架、桌面、芯片IMEI碼及各種印在芯片上的字符。邊緣檢測之后進行形態學處理,便于提取芯片IMEI碼的輪廓。

2.2 灰度圖轉換

該文處理的視頻共有39秒,其中包含三塊芯片(并不是同時出現的芯片),芯片裝載在的流水線的黑色底架上,每兩塊芯片之間存在間隔。由于拍攝場景光線變化問題,圖像中會存在一定的噪聲干擾。芯片如圖2(a)所示,黑色底架如圖2(b)所示。

圖2 灰度圖

讀取視頻之后,將視頻灰度化。把圖像中白色與黑色之間按對數關系分為若干等級,稱為灰度。灰度分為256階。灰度轉換通常有四種方法,取平均法、取分量法、取最大值法、取加權平均法[15]。現分別介紹如下:

取平均值法是將RGB的值相加除以三取平均值,公式如下:

(1)

取分量法即取RGB中其中的一種顏色的強度值作為其灰度值,公式如下:

(2)

取最大值法即取RGB三種顏色中強度值最大的作為其灰度值,公式如下:

g(x,y)=max[R(x,y),G(x,y),B(x,y)]

(3)

取權平均值法即取RGB三種顏色中強度值的加權平均值作為其灰度值,公式如下:

g(x,y)=0.30R(x,y)+0.59G(x,y)+

0.11B(x,y)

(4)

上述四種方法都可實現圖像灰度化,具體使用那種需根據具體情況而定。因為OpenCV函數默認為第四種方法,為了使程序簡潔,所以使用了第四種方法。

圖像轉化為灰度圖后,可通過框選輪廓和邊緣檢測進行輪廓提取。框選輪廓采用編碼的思想,給不同的邊界賦予不同的整數值,從而可以確定邊界類型及層次關系。輸入的二值圖像的像素值用f(i,j)表示。每次行掃描遇到以下兩種情況終止:

(1)外邊界的開始點,滿足f(i,j-1)=0,f(i,j)=1;

(2)孔邊界的開始點,滿足f(i,j)≥1,f(i,j+1)=0。

終止后從起始點開始,標記邊界上像素。記新發現的邊界為NBD(number of borders,邊界數),初始時NBD=1,每次發現一個新邊界其數值加1。在此過程中,遇到f(i,j)=1;f(i,j+1)=0時,將f(i,j)置為NBD。就是右邊邊界的終止點。

整個芯片制造流水線中存在很多的輪廓,包括①各類字符的輪廓如LOGO、制造商、IMEI碼、型號、名稱、二維碼等;②芯片的輪廓;③黑色底架的輪廓;④噪聲。芯片輪廓如圖3(a)所示,黑色底架輪廓如圖3(b)所示。

圖3 輪廓圖

2.3 形態學處理

從輪廓圖可以看出圖像的背景度已經消失,但同時出現了各種小斑點、小噪聲。通過圖像膨脹和腐蝕的形態學處理在剔除小噪聲的同時保持IMEI碼區域聯通且獨立,即IMEI碼不會與其他圖形混搭在一起。

圖像膨脹,是將設定的膨脹結構在二值化圖像中逐點掃描,當在某個點時膨脹結構與二值化圖像有一個點重疊就可保留該點,否則刪除該點。圖像膨脹會使圖像目標變大,但邊界會清晰。與輪廓圖相比較,膨脹圖變的整齊了很多,同時小噪聲去除了很多。但整個輪廓膨脹了幾乎一圈,使得整體布局擁擠,不同輪廓之間出現明顯的連接現象,這對提取目標IMEI碼更加是個挑戰。

為了減少這種牽連現象,可將圖片腐蝕。圖像腐蝕是將設定的腐蝕結構在二值化圖像中逐點掃描,當在某個點時腐蝕結構與二值化圖像完全重疊,保留該點,否則刪除該點。圖像腐蝕后,目標會變小,邊界可能會消失。通過腐蝕操作可以消除小噪聲,但會使邊界模糊。由于不少小噪聲本身就是字符的一部分,貿然消除可能會出現問題。因此,將圖像腐蝕,既能消除小噪聲,又能維持字符本身。

經過腐蝕的圖片整體相對暗淡,不同輪廓邊界大致分明,且各類字符輪廓依舊完好保存在圖像中。但由于存在各種線條干擾,需要通過多次開操作來消除線條。開操作是形態學操作中的一種,其原理是將圖像先腐蝕后膨脹。形態處理后圖像如圖4所示。

圖4 芯片3開操作圖

形態學操作之后,圖像效果明顯增強,同時噪聲也消除了很多,余留下的噪聲也是呈規則的矩形,同時芯片的IMEI碼依舊保留在圖像中。因此,圖像預處理基本完成,后續需要對形狀規則的矩形噪聲及除芯片IMEI碼之外的區域進行篩除,只留下芯片的IMEI碼區域。

3 篩選芯片IMEI碼

3.1 芯片IMEI碼區域提取

芯片IMEI碼區域并未能夠被提取出來,因此需要將其他干擾排除。為了能夠得到更好的篩選效果,需要對各個輪廓篩選,盡可能多地排除干擾。

由于圖像各區域形狀基本類似于矩形(也存在不規則圖形),因此可以以面積作為篩選條件將面積太大、面積太小的部分先排除;同時由于圖像存在一定的不規則圖像,只是面積篩選無法準確篩選出芯片IMEI碼部分。因此需要進行面積篩選,將周長太短、周長太長的部分進行篩選排除以選到合適圖形(即芯片的IMEI碼)。經過多次嘗試,最終面積篩選的條件為:面積最小值為4 700,面積最大值定為5 100;面積加周長的篩選條件為:面積最小值為4 700,面積最大值為5 100,周長最小值為580,周長最大值為640。此條件下芯片的IMEI被全部提取,但是存在部分干擾項,干擾主要是篩選時未能排除掉的干擾,其中主要的干擾分為四類,如圖5所示:①芯片上的制造商字符;②芯片的IMEI碼與制造商字符二者同時存在;③芯片高光背景;④黑色底架的輪廓。

圖5 四種干擾類型

為比較效果,將兩種條件篩選后的每一幀保存并統計只含有芯片IMEI干擾的圖形,結果如表1所示。

表1 兩種篩選結果比較

從表1可知,面積加周長篩選在排除大多干擾的同時只減少了一些芯片IMEI碼的圖像,所以選擇面積加周長篩選作為篩選方式。

3.2 提取芯片IMEI碼

在以上處理中,IMEI區域被成功提取出來,然后將原視頻幀與芯片IMEI碼區域合成只含有芯片IMEI碼的視頻。從圖6(a)可知有且僅有芯片的IMEI碼被提取出來,因此芯片IMEI碼提取成功。

圖6 芯片處理圖

芯片IMEI碼被提取后,需要將其灰度化并轉為二值化以便于芯片IMEI碼的識別。因為芯片IMEI碼是豎向的,所以需要將芯片IMEI碼旋轉,使其盡可能與水平面平行,為此統一向右旋轉90°。芯片旋轉處理后的圖形如圖6(b)所示。

4 識別芯片IMEI碼

4.1 Tesseract-OCR介紹

在OpenCV中并不存在已經訓練好的OCR(opti-cal character recognition),光學字符識別。若想識別芯片的IMEI碼,要么自己訓練并使用OCR對字符識別;要么運用現有的OCR軟件對字符進行識別。該文使用后一種方法。OpenCV是一款開源軟件,它可以運用很多的開源OCR軟件,如:Tesseract-OCR、百度paddle、easy-ocr等。該文使用了比較成熟的Tesseract-OCR。

三個芯片IMEI碼分別是 : 866431040005356、866431040005720和866431040005316。

4.2 識別結果

識別的圖像為3.2節所旋轉后的圖像,即圖6(b)。視頻需通過自適應閾值分割。自適應閾值分割能夠根據圖像不同區域亮度分布,計算其局部閾值,所以對于圖像不同區域,能夠自適應計算不同的閾值,可以盡量多地提取到視頻特征信息。但是自適應閾值分割并不能保證每一幀圖像都十分清晰,只能使整體清晰。所以有一些圖像上的字符并不能完全識別,識別的過程中會出現一些亂碼。因為對視頻的每一幀都會進行識別,所以挑選部分具有代表性(多次識別為同一個結果)的識別進行分析。三塊芯片識別結果如表2典型識別所示。

表2 芯片識別結果

由于空間有限,便只選部分具有代表性的結果進行展示。從前面的圖像預處理的過程中可以清晰地看到芯片的IMEI碼,芯片1的IMEI碼為:866431040005356,芯片2的IMEI碼為:866431040005720,芯片3的IMEI碼為:866431040005316。從表2中可以看出,在芯片IMEI碼的識別過程中,盡管部分識別結果的準確率不高,但是數字部分完全識別成功。準確率不高的原因是字母部分識別不是很準確。可能是圖像預處理時沒有處理好,導致字母部分出現了一些殘缺。

作為對比,利用CRNN神經網絡來識別字符[16]。CRNN可以進行端到端訓練,并且可以識別較長的文本。首先用生成器函數構造了一個由不同字母、數字和冒號組成的數據集(如圖7(a)所示)來模擬IMEI碼的序列,該數據集有12 800張圖片,圖片尺寸為512×32,按照8∶1∶1比例隨機分成訓練集、驗證集、測試集。在TITAN V顯卡上訓練了200個epoch,學習率為1e-2,在生成數據集中識別精度為95.7%。在之前預訓練模型的基礎上,將學習率設置成1e-3,用圖7(b)所示的IMEI碼的小樣本數據集(包含15張IMEI碼的圖片)進行遷移學習。識別結果如表2中CRNN識別結果所示。

圖7 CRNN神經網絡用到的數據集

使用CRNN網絡識別的芯片IMEI碼,準確率并不高,不僅在字母部分識別不全,甚至在數字部分也識別有誤。與該文的方法相比較,使用CRNN網絡識別芯片IMEI碼,會出現多種問題。如:①識別不全,部分字母及冒號未被識別;②識別有誤,數字及字母均出現識別錯誤的現象,甚至字母被識別為數字。所以該文提出來的方法再識別芯片IMEI碼優于CRNN網絡。

5 結束語

通過提取芯片IMEI碼區域,將其與原視頻合成,得到只含有芯片IMEI碼的視頻,變相實現了目標的檢測與跟蹤,在此基礎上通過處理含有芯片的IMEI碼視頻實現了對流水線上的IMEI碼的檢測與識別。由于沒有訓練識別芯片IMEI碼的OCR,識別準確率有待提高,故識別IMEI碼的程序不能直接應用于生產,需要進一步優化強化。深度學習方法方面結合預訓練和遷移學習測試了CRNN網絡,發現準確率不如該文提出的方法。今后可以在以下幾個方面進行進一步的工作。

(1)圖像處理的篩選條件。

芯片的IMEI碼與制造商的名稱相似。芯片的IMEI碼與制造商的名稱長度相似,在提取芯片IMEI碼區域容易錯誤提取到制造商的名稱。由于該文的篩選條件為面積加周長,后續處理的過程中為避免錯誤提取目標可以選用不同的篩選條件。

(2)芯片字庫的建立。

由于該文沒有訓練芯片IMEI碼對應的字庫,只是使用Tesseract-OCR本身自帶的英文及中文語言包,只是能夠識別,但是由于缺少專業性,故會出現字母“IMEI”錯誤識別、亂碼及空格等問題。后續研究為了提高識別芯片IMEI碼的準確率,可以建立專屬于芯片IMEI碼字符的字庫,實現“術業有專攻”,提高識別。

(3)建立并擴充真實環境下IMEI碼的數據集。

眾所周知,神經網絡擁有著強大的計算能力。由于深度學習缺少芯片IMEI碼的數據集,訓練所用的圖片和真實環境下采集的IMEI碼圖片差距過大,而遷移學習用的真實IMEI碼數據集中只含有15張IMEI碼圖片,導致神經網絡識別IMEI碼的結果較差。以后可以通過建立并擴充IMEI碼在真實環境下的數據集來提高深度學習方法在識別IMEI碼上的精確度。

猜你喜歡
區域檢測
永久基本農田集中區域“禁廢”
今日農業(2021年9期)2021-11-26 07:41:24
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
分割區域
“幾何圖形”檢測題
“角”檢測題
小波變換在PCB缺陷檢測中的應用
關于四色猜想
分區域
主站蜘蛛池模板: 午夜国产理论| 午夜人性色福利无码视频在线观看| 久热精品免费| 午夜激情婷婷| 久久精品中文字幕少妇| 狼友av永久网站免费观看| 免费人成黄页在线观看国产| 97国产精品视频人人做人人爱| 日韩免费成人| 无码免费的亚洲视频| 无码电影在线观看| 日本伊人色综合网| 特级欧美视频aaaaaa| 欧美午夜在线观看| 国产美女精品在线| 亚洲欧美一区二区三区图片| JIZZ亚洲国产| 青青操国产| 久操线在视频在线观看| 久久成人18免费| 亚洲美女操| 国内精品小视频在线| 天堂av高清一区二区三区| 久久综合色视频| 一级毛片视频免费| 国产人免费人成免费视频| 五月天久久综合| 亚洲日韩精品欧美中文字幕| 久久综合色视频| 亚洲男人的天堂久久香蕉| 国产精品视频公开费视频| 国产午夜人做人免费视频| 成年看免费观看视频拍拍| 日本在线亚洲| 五月婷婷丁香综合| 毛片三级在线观看| 大乳丰满人妻中文字幕日本| 91福利在线观看视频| 亚洲欧美日韩另类在线一| 狠狠色成人综合首页| 欧美精品高清| 亚洲最新地址| 国产精品无码翘臀在线看纯欲| 日日拍夜夜操| 丝袜高跟美脚国产1区| 亚洲国产系列| 精品视频在线一区| 欧美一级99在线观看国产| 亚洲毛片在线看| 97久久超碰极品视觉盛宴| 日本亚洲成高清一区二区三区| 国产女人综合久久精品视| 欧美第二区| 欧美激情一区二区三区成人| 日韩无码视频网站| 四虎影视国产精品| 欧美精品v日韩精品v国产精品| 国产超碰在线观看| 97在线观看视频免费| 欧美a网站| 97在线国产视频| 成人国产三级在线播放| 久久这里只有精品23| 久久青青草原亚洲av无码| 黄色在线不卡| 国产精欧美一区二区三区| 国产真实自在自线免费精品| 在线精品视频成人网| 免费观看男人免费桶女人视频| 最新国语自产精品视频在| 欧美一区二区自偷自拍视频| 亚洲水蜜桃久久综合网站| 日韩人妻精品一区| 亚洲精品国产精品乱码不卞| 亚洲综合狠狠| 五月天久久综合| 亚洲中文字幕手机在线第一页| 亚洲伊人久久精品影院| 成年女人a毛片免费视频| 日韩欧美国产综合| 国产精品手机在线观看你懂的| 国产免费黄|