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

基于輕量級網絡的PCB元器件檢測

2020-10-28 01:44:00產世兵劉寧鐘沈家全
計算機技術與發展 2020年10期
關鍵詞:特征檢測模型

產世兵,劉寧鐘,沈家全

(南京航空航天大學 計算機科學與技術學院,江蘇 南京 211106)

0 引 言

近年來電子工業技術發展迅速,PCB(printed circuit board)電路板從簡單板向現在的高密度、高精度、多層化和多樣化板方向發展。同時,在體積縮小、性能提高、污染減少、品種增多等方面也在不斷進步,這些使得電路板在未來還會保持強大的市場潛力以及生命力。

目前大多數工業流水線上都是由人工配合機器進行生產,這種生產方式可能會因為人類的視覺疲勞等因素,造成電路板上出現一些缺陷,例如元器件誤插和漏插等問題。但是,在嚴密的工業和國防應用的領域中,為了實現信息化和智能化的要求,需要大量的PCB電路板,這種精密的部件不能容忍半點差錯,否則會導致系統運行不暢甚至是無法運行。所以,在PCB電路板投入使用之前必須對其進行缺陷檢測。

對于PCB電路板的傳統檢測方式有人工檢測和自動光學設備檢測等。PCB電路板作為大批量生產的產品,需要一種與之契合的快速的、高效的檢測方式。隨著制造技術的高速發展,傳統的檢測方式根本無法滿足生產的高效性要求。為了提高元器件檢測的準確度和速度,該文提出了一個輕量級的目標檢測網絡,實現了對PCB電路板元器件的快速識別與精確定位。

1 相關工作

自動光學檢測設備[1],用于在生產過程中對PCB板的品質檢測。自動光學檢測設備集光學、精密機械、識別診斷算法和計算機技術于一體。檢測時,設備通過電荷耦合器件或激光自動掃描PCB,采集圖像后,利用計算機處理,再與數據庫中的標準數據進行對比,檢測出PCB板上的缺陷。盡管自動光學檢測能夠解決人類檢測的一些弊端,但是該技術的可靠性仍然不夠,嚴重依賴于計算機圖像處理技術,如果圖像處理算法不夠有效,將導致誤判。

在機器視覺方面,主要包括傳統的圖像檢測算法和基于深度學習的目標檢測算法。傳統的圖像檢測算法主要包括圖像預處理、特征提取、ROI提取[2]等步驟,實現待檢測元器件的提取。圖像預處理是對圖像進行灰度化、增強和平滑的處理;特征提取是利用Harris[3]算子的角點檢測算法來提取角點;ROI提取是一種根據角點坐標確定ROI區域的方法,能提取出待檢測元器件所在區域的圖像。

深度學習作為計算機科學研究領域的一個熱點,受到了學術界和工業界的廣泛關注,并取得了一系列顯著的成果,近年來,深度神經網絡在目標檢測領域表現出了巨大的優勢。

近年來,一系列基于深度卷積神經網絡的目標檢測算法被開發出來,例如,Faster RCNN[4]、YOLO[5]、SSD[6]和RefineDet[7]。Faster RCNN采用區域建議網絡(RPN)從候選框中確定目標,然后通過分類定位來進行分類。Faster RCNN是一種端到端的目標檢測方法,實現了接近實時的速率和最優的性能。在YOLO中,目標檢測任務被視為回歸任務,邊界框的坐標和框中包含的目標的置信度以及各個類別的概率都是直接從整個圖像的所有像素獲得。使用YOLO,每個圖像只需要“瞥一眼”就可以知道圖像中包含的目標類別以及位置分布。SSD在整個圖像上采用了多尺度的局部特征回歸,在保持快速檢測的同時保證高精確度。在RefineDet中,它在檢測框架中引入了傳輸連接塊和對象檢測模塊,可以在保持高效率的同時提高精度。

這些基于深度卷積神經網絡的檢測模型已經實現了很高的檢測精度。但是,深度卷積模型附帶大量參數,并且會產生大量計算成本,從而無法有效地進行實時檢測。由于處理資源有限,因此將CNNs用于實時應用需要高效的計算方法。最近,在學術界出現了大量的輕量級網絡,例如GoogleNet[8]、MobileNet-v2[9]、ShuffleNets[10-11]、PeleeNet[12]和Xception[13]。與CNNs相比,它們都具有較低的計算成本,同時保持了相近的甚至更高的精確度。ShuffleNet-v1[10]使用逐點分組卷積和通道混合的方式來減少計算成本,與使用Faster RCNN檢測算法的MobileNet-v2相比,具有優越的性能。ShuffleNet-v2[11]提出了輕量級網絡的四個設計標準。根據這些設計,作者指出了ShuffleNet-v1的一些缺點,并在此基礎上進行了改進。在PeleeNet中,作者提出了DenseNet[14]體系結構的一種變體,稱為PeleeNet,它改用傳統的卷積運算方式,該模型旨在滿足對內存和計算預算上的嚴格約束。

2 模型和方法

該文提出的基于Faster R-CNN和PeleeNet網絡結合實現的輕量級小目標檢測網絡,可以用于快速準確地定位PCB電路板上的元器件并且進行準確識別。

受PeleeNet和Faster RCNN的啟發,建立了一個用于小目標檢測的輕量級網絡,該網絡可以有效地從小目標中提取特征,同時減小網絡開銷。輕量級小目標檢測網絡總體結構如圖1所示,該結構一共包含五個階段。前四個階段是特征提取網絡,不同于原本的PeleeNet結構,舍棄了原文結構的最后一個階段,并且舍棄了階段3的平均池化層,獲得一個256維的特征圖用于區域建議網絡和ROI Pooling。

圖1 網絡結構

2.1 模 型

PeleeNet是一種輕量型的卷積神經網絡,如圖2所示,它主要由兩種結構組成:stem block和dense block。stem block結構,在增加很少的額外計算量的前提下,增強了網絡的特征表達能力,使特征圖的語義信息更加豐富。它利用雙通道的方式進行特征提取并進行融合。不同于原始的stem block結構,該文首先在max pool前添加一個1×1 conv層,這是因為在越深的網絡層中語義信息更加抽象,感受野更大,普通的3×3卷積核無法提取小物體的特征,使用1×1卷積核來提取特征,該特征具有相對較小的感受野,在深層網絡對提取小目標特征有利。而且1×1卷積核執行非線性運算,可以大大提高模型的非線性特征表達能力。另一個通道使用1×1大小和3×3大小的卷積核來提取特征,然后對兩個通道進行融合。其中,3×3卷積核在小物體特征提取的初始階段具有較大的視野,可以減少特征提取初始階段的信息丟失。

圖2 PeleeNet

其次,受到shuffleNet-v2的啟發,相同的網絡結構,卷積層的輸入輸出通道數會大大影響模型的速度。假設一個1×1卷積層的輸入特征通道數是c1,輸出特征尺寸是h和w,輸出特征通道數是c2,那么經過1×1卷積層的浮點計算量(float-point operations,FLOPs)的公式如下:

FLOPs=hwc1c2

(1)

接下來計算內存訪問消耗時間(memory access cost,MAC),經過1×1的卷積后,輸入和輸出的特征的尺寸大小并不變化,那么計算公式如下:

MAC=hw(c1+c2)+c1c2

(2)

根據均值不等式,可以得到式(3):

(3)

把式(1)和式(2)代入式(3),可以得到(c1-c2)2≥0,該等式的成立條件是c1=c2,也就是輸入輸出特征通道數相等時,在FLOPs給定的前提下,MAC可以達到最小值。shuffleNet-v2通過實驗證明輸入輸出特征通道數相同時,模型的檢測速度最快。這也就表明了輸入輸出通道數相同時,內存訪問消耗時間最小,模型的速度最快。所以為了提升模型的檢測速度,分別統一了stem block和dense layer中的輸入輸出特征通道數。

最后,在PeleeNet中,作者結合SSD構建目標檢測網絡,但是SSD在小目標檢測中表現并不好,所以該文結合Faster RCNN構建目標檢測網絡。在原始的Faster RCNN中,作者利用ROI Pooling層使生成的候選框映射成固定大小的特征圖。但是,ROI Pooling會使小目標在pooling之后導致物體結構失真,會影響后層的目標框的回歸定位,對于大目標的檢測準確率影響不大,但對小目標的影響很大。為了解決小目標在ROI Pooling時結構失真的問題,受SINet[15]的啟發,使用Context-Aware ROI Pooling代替原文中的ROI Pooling層。如圖3所示,分別為原文ROI Pooling和CAROI Pooling的結果,其中(1)為原圖;(2)為原圖的建議區域;(3)為ROI Pooling的結果,會有重影;(4)為CAROI Pooling的結果,沒有重影。

圖3 ROI Pooling和CAROI Pooling的結果

該文使用Context-Aware ROI Pooling代替ROI Pooling層,解決了Pooling后物體失真的問題,明顯提升了小目標檢測的精度。

2.2 訓練過程

RPN區域建議網絡將優化的PeleeNet網絡提取的特征圖作為輸入,文中特征圖大小為原圖大小的1/16,輸出為一系列的建議框,每個建議框都有得分。為了生成區域建議框,通過3×3的窗口在特征圖上滑動,每個窗口都映射到256維的特征向量,然后對特征向量進行目標分類和回歸。如圖4所示,每個滑動窗口都預測9個不同長寬比例和尺度的建議框。

圖4 RPN層

在Faster RCNN原文中,特征圖的大小為原圖大小的1/32,也就是特征圖上的每個點對應原圖上的32×32個像素點,原文采用的建議框比例和尺度分別為(0.5,1,2)和(8,16,32),建議框映射到原圖上的大小也就是(256,512,1 024)。該文前面提到了用作RPN網絡輸入的特征圖大小為原圖大小的1/16,所以將建議框的尺度改為(16,32,64),映射到原圖上的大小為(256,512,1 024)。但是這樣的建議框的大小用在文中的數據集上并不合適,根據先驗知識和實驗表明,文中的數據集最適合的建議框的比例和尺度為(0.5,1,2)和(8,16,32),映射到原圖上的大小為(128,256,512)。

在使用ImageNet與訓練模型初始化文中的網絡時,實驗結果表現并不好,這是由于ImageNet數據分布和文中的PCB板元器件數據集分布完全不同,差異較大。所以在網絡初始化時,利用Kaiming[16]初始化方式,實驗結果表明效果很好。

在訓練時,模型的迭代次數為300 k,區域建議網絡的批量大小為256,在每次迭代中,模型都會預測建議框的類別和邊界框。然后將預測框Bp與真實框Bg的交并比大于0.7的作為正樣本,將交并比小于0.3的作為負樣本,拋棄交并比在0.3~0.7之間的樣本,并且保證正負樣本的數量比例為1∶1。IOU的定義如下:

(4)

其中,area(Bp∩Bg)表示Bp與Bg的交集,area(Bp∪Bg)表示Bp與Bg的并集。

將所有的正樣本和負樣本都輸入到損失函數中。另外使用多任務損失函數來訓練網絡,其目的是使得分類和定位的誤差最小。多任務損失函數定義如下:

L(pi,loci)=Lcls+λLreg

(5)

其中,i表示每個迭代中預測框的索引,Lcls是分類的softmax損失函數,Lreg是預測框的回歸損失函數,使用的是smoothL1損失。Ncls和Nreg分別表示每個迭代批次的圖片區域的個數和預測框的數量。在這里,設置λ=2,是為了使Lcls和Lreg的權重一樣。損失函數定義如下:

(6)

該網絡模型通過隨機梯度下降來訓練。在訓練階段,使用0.000 1的權重衰減和0.9的動量。對于前100k迭代,學習率設置為0.001,對于接下來的200k迭代,學習率設置為0.000 1。RPN批量大小設置為256。為了抑制冗余框,基于置信度得分對建議框采用了非極大值抑制算法。

3 實驗結果及分析

3.1 小目標

在該數據集中具有很多小目標,小目標大小占據整個圖片的比例很小,難以檢測。小目標難以檢測的原因包括:分辨率低,圖像模糊,攜帶的信息少。由此導致特征表達能力弱,也就是在提取特征的過程中,能提取到的特征非常少,這不利于對小目標的檢測。在MS COCO數據集中,對小目標、中目標和大目標的定義如表1所示。

表1 MS COCO小、中、大目標的定義

為了解決小目標檢測精度不高的問題,在小目標數據集上做出了兩點改進。第一點,通過對包含小目標的圖像進行oversampling操作。第二點,通過在每個包含小目標的圖像中多次復制粘貼小目標來處理,復制目標時,確保不會和已經存在的目標有任何交疊。這增加了小目標位置的多樣性,同時確保這些目標出現在正確的上下文中。

3.2 數據集

該數據集是從PCB板生產線上通過高精度相機拍照而得到的,一般為CCD相機或者是CMOS相機。原圖大小為2 048×2 048的分辨率,為了獲取更多小目標的特征信息,將原圖切割成1 024×1 024大小的圖片作為訓練集。但是,PCB的數據集很難獲取,能獲取到的數據量很少,很難滿足本章提出的網絡訓練達到收斂的需求,并且容易出現過擬合的狀況。為了解決訓練時所需的數據量,采用深度學習中數據增廣的方式來增加訓練數據集,讓數據集盡可能多樣化,使得訓練的模型具有更強的泛化能力。

使用的數據增廣的方法主要包括:水平或垂直翻轉,旋轉,縮放,裁剪,平移,對比度調整,色彩抖動和添加噪聲等。經過數據增廣過后的數據集,用作訓練數據的有20 664張,用作測試數據的一共有3 036張。數據集一共包含元器件11類,總的分為電容、芯片、電阻、三極管和二極管五個大類,每個大類下有若干個小類,其中小目標類為第7類,它們的最大尺寸不超過32×32。

3.3 結果及分析

這部分將在提供的數據集上測試結果。同時,對提出的模型性能進行分析,并與其他方法進行了比較。實驗環境為基于Caffe深度學習框架,CPU為i7-8700k,顯卡為RTX 2080 Ti 11 GB顯存,物理內存為16 GB,操作系統為Ubuntu 16.04。

在該模型中,使用廣泛應用的召回率、準確率和mAP標準來評估性能。召回率表示總樣本中有多少個正例被分為正例,定義為:

(7)

準確率表示被分為正例的目標中實際為正例的比率,定義為:

(8)

其中,TP表示將正樣本預測為正的數量,FP表示將負樣本預測為正的數量,FN表示將正樣本預測為負的數量。

平均均值精度mAP是反映整體性能的檢測指標,定義為:

(9)

如表2所示,通過消融實驗表現了模型各個部分的重要性,統一通道數可以很大提升檢測速度,其他各個組件對mAP的提高有不錯的效果。

表2 各個組件的表現

實驗結果如表3所示,在該數據集上運行了VGG16[17]模型、ResNet50[18]模型以及文中利用PeleeNet改進后的模型。

表3 實驗結果對比

通過表中數據對比可以看到,文中模型在保證mAP沒有多少降低的前提下,在速度上有很大的提升。同時,在小目標的檢測精度上也有不錯的結果。部分實驗結果如圖5所示。

圖5 檢測結果

4 結束語

基于PeleeNet網絡和Faster RCNN目標檢測模型設計了一個輕量級卷積神經網絡檢測模型,該模型在PCB板元器件數據集上具有較好的精度和較高的速度。

該檢測模型在PeleeNet的基礎上改變stem block的結構,統一通道數量,并且結合Faster RCNN和CAROI Pooling,同時通過先驗知識設計了anchor box的大小來提高檢測速度和保持檢測精度。實驗結果表明,該檢測模型在PCB板元器件檢測上有很好的效果。

在小目標的問題上,對小目標數據集進行了增廣,提升了小目標的檢測精度。但是,該檢測模型仍然存在一些缺陷。例如,雖然模型速度有提高,但提高的幅度不夠大,而且精度也有下降。在以后的工作中,將把工作重心放在提升模型速度和精度上。

猜你喜歡
特征檢測模型
一半模型
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
抓住特征巧觀察
3D打印中的模型分割與打包
主站蜘蛛池模板: 久久狠狠色噜噜狠狠狠狠97视色| 久草网视频在线| 日韩视频福利| 99伊人精品| 夜夜操狠狠操| 久久国产乱子伦视频无卡顿| 国外欧美一区另类中文字幕| 欧美亚洲一二三区| 久久久久国产一级毛片高清板| 国产偷倩视频| 日韩毛片基地| 伊人久久精品无码麻豆精品| 深夜福利视频一区二区| 天堂av高清一区二区三区| 99国产精品国产高清一区二区| 在线高清亚洲精品二区| 国产精女同一区二区三区久| 日韩不卡免费视频| A级毛片无码久久精品免费| 中文字幕1区2区| 成人免费黄色小视频| 黄色污网站在线观看| 在线观看91精品国产剧情免费| 久久久久人妻一区精品色奶水| 国产迷奸在线看| 无码啪啪精品天堂浪潮av| 永久毛片在线播| 666精品国产精品亚洲| 国产91蝌蚪窝| 99久久人妻精品免费二区| 国产精品分类视频分类一区| 手机精品福利在线观看| 国产日韩欧美在线播放| 色窝窝免费一区二区三区 | 国产无吗一区二区三区在线欢| 多人乱p欧美在线观看| 欧美一级大片在线观看| 一本一道波多野结衣一区二区| 亚洲综合精品香蕉久久网| 无码日韩视频| 91免费观看视频| 中文字幕精品一区二区三区视频| 激情亚洲天堂| 中文一区二区视频| 操国产美女| 亚欧成人无码AV在线播放| 亚亚洲乱码一二三四区| 欧美不卡在线视频| 爽爽影院十八禁在线观看| 亚洲无码一区在线观看| 欧美激情视频一区| 国产在线高清一级毛片| 青青国产成人免费精品视频| 国产成a人片在线播放| 日韩无码白| 亚洲欧洲综合| 亚洲区一区| 日韩精品欧美国产在线| 99视频精品在线观看| 国产成人AV综合久久| 久久天天躁夜夜躁狠狠| 国产精品自在线天天看片| 国产在线精品人成导航| 亚洲精品中文字幕无乱码| 亚洲国产日韩欧美在线| 9久久伊人精品综合| a级毛片免费网站| 91无码人妻精品一区| 啪啪永久免费av| 亚洲a免费| 免费人成黄页在线观看国产| 91久久夜色精品国产网站| 99精品这里只有精品高清视频| 亚洲无码高清一区| 亚洲中文精品人人永久免费| 呦视频在线一区二区三区| 欧洲亚洲欧美国产日本高清| 麻豆a级片| 久久精品66| 国产无码网站在线观看| 欧美日韩国产在线人成app| 亚洲日韩每日更新|