基于深度學(xué)習(xí)的PCB板缺陷檢測(cè)的研究與實(shí)現(xiàn)_第1頁
基于深度學(xué)習(xí)的PCB板缺陷檢測(cè)的研究與實(shí)現(xiàn)_第2頁
基于深度學(xué)習(xí)的PCB板缺陷檢測(cè)的研究與實(shí)現(xiàn)_第3頁
基于深度學(xué)習(xí)的PCB板缺陷檢測(cè)的研究與實(shí)現(xiàn)_第4頁
基于深度學(xué)習(xí)的PCB板缺陷檢測(cè)的研究與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

PAGEIIIPAGEIV基于深度學(xué)習(xí)的PCB板缺陷檢測(cè)的研究與實(shí)現(xiàn)摘要PCB(PrintedCircuitBoard,印刷電路板)在電子設(shè)備制造中扮演著至關(guān)重要的角色,而其質(zhì)量直接影響著設(shè)備的性能和可靠性。隨著電子行業(yè)的不斷發(fā)展,PCB板作為電子設(shè)備的基礎(chǔ)組件,其質(zhì)量對(duì)設(shè)備的性能和可靠性有著至關(guān)重要的影響。然而,在PCB板制造過程中,由于各種原因(如生產(chǎn)設(shè)備問題、材料缺陷等),可能會(huì)出現(xiàn)各種缺陷,如開路、短路、焊接不良等。傳統(tǒng)的人工檢測(cè)方法存在效率低、成本高、主觀性強(qiáng)等問題,因此迫切需要一種自動(dòng)化、高效、準(zhǔn)確的PCB板缺陷檢測(cè)方法。因此,對(duì)PCB板缺陷的自動(dòng)檢測(cè)具有極其重要的意義。本研究旨在利用YOLOv8深度學(xué)習(xí)模型實(shí)現(xiàn)這一目標(biāo)。首先,我們收集并整理了大量的PCB板圖像數(shù)據(jù),并對(duì)其進(jìn)行了詳細(xì)標(biāo)注,構(gòu)建了一個(gè)豐富的訓(xùn)練數(shù)據(jù)集。隨后,我們基于YOLOv8架構(gòu)設(shè)計(jì)了一個(gè)高效的PCB板缺陷檢測(cè)模型,并通過在數(shù)據(jù)集上的大量訓(xùn)練和優(yōu)化,不斷提升了模型的性能。我們的實(shí)驗(yàn)結(jié)果表明,該模型在準(zhǔn)確性和效率上都取得了顯著的改進(jìn),能夠有效地檢測(cè)出PCB板上各種類型的缺陷,為工業(yè)生產(chǎn)中的質(zhì)量控制提供了可靠的解決方案。深度學(xué)習(xí)技術(shù)的不斷發(fā)展為實(shí)現(xiàn)這一目標(biāo)提供了堅(jiān)實(shí)基礎(chǔ),而YOLOv8作為一種快速、準(zhǔn)確的目標(biāo)檢測(cè)算法,具有廣泛的應(yīng)用前景和潛力。關(guān)鍵詞:YOLOv8;PCB板;缺陷檢測(cè);

ResearchandimplementationofPCBdefectdetectionbasedondeeplearningAbstractPrintedCircuitBoards(PCBs)playacrucialroleinelectronicdevicemanufacturing,andtheirqualitydirectlyimpactstheperformanceandreliabilityofdevices.Withthecontinuousdevelopmentoftheelectronicsindustry,PCBsasbasiccomponentsofelectronicdeviceshavebecomeincreasinglyimportant.However,variousdefectsmayoccurduringthePCBmanufacturingprocessduetoreasonssuchasproductionequipmentissuesandmaterialdefects,includingopencircuits,shortcircuits,andpoorsoldering.Traditionalmanualinspectionmethodssufferfromlowefficiency,highcosts,andsubjectivity,highlightingtheurgentneedforanautomated,efficient,andaccuratePCBdefectdetectionmethod.Therefore,achievingautomaticdetectionofPCBdefectsisofgreatsignificance.ThisstudyaimstoutilizetheYOLOv8deeplearningmodeltoachieveautomaticdetectionofPCBdefects.BycollectingandannotatingalargenumberofPCBimagedatasets,weconstructedadatasetformodeltraining.Subsequently,aPCBdefectdetectionmodelbasedontheYOLOv8architecturewasdesigned,anditsdetectionperformancewascontinuouslyimprovedthroughtrainingandoptimizationonthedataset.Experimentalresultsdemonstratesignificantimprovementsinbothaccuracyandefficiencyofourmodel,effectivelydetectingvariousdefectsonPCBsandprovidingareliablesolutionforqualitycontrolinindustrialproduction.Thedevelopmentofdeeplearningtechnologyhasmadethisgoalachievable,andYOLOv8,asafastandaccurateobjectdetectionalgorithm,holdsgreatapplicationpotential.KeyWords:YOLOv8;PCBboards;defectdetection;

目錄第1章緒論 11.1研究背景 11.2研究意義 11.3研究內(nèi)容 21.4論文組織 2第2章相關(guān)基礎(chǔ)知識(shí)和數(shù)據(jù)集制作 42.1設(shè)計(jì)概要 42.2卷積神經(jīng)網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu) 42.2.1卷積操作 52.2.2池化層 62.2.3激活函數(shù) 62.2.4全鏈接操作 72.2.5損失函數(shù) 72.3目標(biāo)檢測(cè)算法-YOLOv8算法 82.4數(shù)據(jù)集制作 102.5本章小結(jié) 11第3章基于YOLO的PCB缺陷檢測(cè)模型的建立 123.1基于Transformer改進(jìn)YOLOv8 123.2實(shí)驗(yàn)過程與實(shí)驗(yàn)分析 133.2.1實(shí)驗(yàn)條件 133.2.2參數(shù)設(shè)置 133.2.3評(píng)價(jià)指標(biāo) 133.3實(shí)驗(yàn)總結(jié) 15第4章PCB缺陷檢測(cè)界面的設(shè)計(jì)實(shí)現(xiàn) 164.1界面開發(fā)關(guān)鍵技術(shù)及環(huán)境搭建 164.2系統(tǒng)開發(fā)需求與可行性分析 174.2.1系統(tǒng)開發(fā)需求分析 174.2.2可行性分析 174.3客戶端實(shí)現(xiàn) 184.4總結(jié) 22總結(jié)與展望 23總結(jié) 23展望 23參考文獻(xiàn) 25PAGE26畢業(yè)論文(設(shè)計(jì))PAGE4第1章緒論1.1研究背景首先,隨著電子產(chǎn)業(yè)的飛速發(fā)展,PCB(印刷電路板)作為電子設(shè)備的基礎(chǔ)部件,各種電子元器件的載體,以及其進(jìn)行穩(wěn)定和可靠電氣連接的橋梁,在整個(gè)電子信息產(chǎn)品中具有不可替代性,有“電子之母”之稱,被廣泛的應(yīng)用于信息通信[1]。其質(zhì)量對(duì)產(chǎn)品的性能和可靠性至關(guān)重要。在生產(chǎn)過程中,由于各種原因,PCB板上可能會(huì)出現(xiàn)各種缺陷,如開路、短路、漏銅等。這些缺陷如果不及時(shí)發(fā)現(xiàn)和處理,可能會(huì)導(dǎo)致電子設(shè)備性能下降甚至失效,因此,對(duì)PCB板進(jìn)行高效、準(zhǔn)確的缺陷檢測(cè)至關(guān)重要。然而,傳統(tǒng)的PCB板缺陷檢測(cè)方法,如人工目檢、機(jī)器視覺等,存在檢測(cè)效率低、準(zhǔn)確率低、勞動(dòng)強(qiáng)度大等問題。特別是隨著PCB板設(shè)計(jì)越來越復(fù)雜,元器件布局越來越密集,傳統(tǒng)方法已經(jīng)難以滿足現(xiàn)代制造業(yè)的需求。深度學(xué)習(xí)作為人工智能的一個(gè)分支,近年來在圖像處理領(lǐng)域取得了顯著的進(jìn)展。通過構(gòu)建深度神經(jīng)網(wǎng)絡(luò)模型,深度學(xué)習(xí)可以自動(dòng)學(xué)習(xí)圖像中的特征表示,從而對(duì)圖像進(jìn)行高效、準(zhǔn)確的分類和識(shí)別。在PCB板缺陷檢測(cè)方面,深度學(xué)習(xí)可以自動(dòng)提取PCB板圖像中的有用信息,學(xué)習(xí)并識(shí)別各種缺陷模式,從而實(shí)現(xiàn)高效、準(zhǔn)確的缺陷檢測(cè)。因此,基于深度學(xué)習(xí)的PCB板缺陷檢測(cè)研究與實(shí)現(xiàn)具有重要的實(shí)踐意義和應(yīng)用價(jià)值。它不僅可以提高PCB板的生產(chǎn)效率和質(zhì)量,降低生產(chǎn)成本,還可以提升電子設(shè)備的性能和可靠性,為現(xiàn)代制造業(yè)的發(fā)展提供有力支持。1.2研究意義基于深度學(xué)習(xí)的PCB板缺陷檢測(cè)的研究與實(shí)現(xiàn),它顯著提高了PCB板缺陷檢測(cè)的效率和準(zhǔn)確性。傳統(tǒng)的PCB板缺陷檢測(cè)方法,如人工目檢,往往受限于人的視覺疲勞、檢測(cè)標(biāo)準(zhǔn)的不一致性以及復(fù)雜缺陷的識(shí)別能力。而深度學(xué)習(xí)技術(shù)通過訓(xùn)練深度神經(jīng)網(wǎng)絡(luò),能夠自動(dòng)學(xué)習(xí)和識(shí)別PCB板上的各種缺陷模式,從而大大提高了檢測(cè)的效率和準(zhǔn)確性。近年來,隨著中國PCB產(chǎn)業(yè)的快速發(fā)展,PCB板缺陷檢測(cè)技術(shù)的研究也逐漸嶄露頭角。目前,該領(lǐng)域主要以圖像處理和機(jī)器視覺技術(shù)為核心,其中代表性的方法包括AOI設(shè)備與技術(shù)。而在檢測(cè)方法上,通??煞譃閰⒖挤?、非參考法和混合法三大類。參考法是將被測(cè)的PCB圖像與參考的PCB圖像逐像素比較或者對(duì)圖像的特征比較,參考法能直觀的顯示PCB板缺陷,方法相對(duì)簡單[2]。非參考法,也稱基于規(guī)則法,它是通過設(shè)定一定的規(guī)則來判定PCB板是否符合設(shè)計(jì)標(biāo)準(zhǔn),常見的方法有統(tǒng)計(jì)、模型、學(xué)習(xí)等方法?;旌戏▌t是結(jié)合了參考法和非參考法的特點(diǎn),最常用的方法是通過異或運(yùn)算計(jì)算出PCB缺陷的位置[3]。這項(xiàng)研究有助于改善電子設(shè)備的性能和可靠性。作為電子設(shè)備的核心組件,PCB板的質(zhì)量直接影響整個(gè)設(shè)備的表現(xiàn)和穩(wěn)定性。利用深度學(xué)習(xí)技術(shù)實(shí)現(xiàn)對(duì)PCB板缺陷的精準(zhǔn)檢測(cè),能夠及時(shí)發(fā)現(xiàn)潛在問題并加以處理,從而保障設(shè)備的性能和可靠性。此外,這項(xiàng)研究還推動(dòng)了智能制造的發(fā)展。隨著工業(yè)4.0和智能制造的不斷普及,制造業(yè)對(duì)自動(dòng)化、智能化生產(chǎn)的需求日益迫切。利用深度學(xué)習(xí)技術(shù)進(jìn)行PCB板缺陷檢測(cè),可以實(shí)現(xiàn)對(duì)生產(chǎn)過程的實(shí)時(shí)監(jiān)控和自動(dòng)反饋,為智能制造提供了重要的技術(shù)支持。最后,這項(xiàng)研究還具有經(jīng)濟(jì)意義。隨著電子產(chǎn)品市場(chǎng)的擴(kuò)大和更新?lián)Q代的加速,對(duì)高質(zhì)量PCB板的需求持續(xù)增長。采用深度學(xué)習(xí)技術(shù)進(jìn)行PCB板缺陷檢測(cè),不僅提高了生產(chǎn)效率和降低了成本,還為企業(yè)創(chuàng)造了更多的商業(yè)價(jià)值。1.3研究內(nèi)容本研究的目標(biāo)是利用深度學(xué)習(xí)技術(shù)實(shí)現(xiàn)對(duì)PCB缺陷的自動(dòng)檢測(cè),并能夠處理圖片、視頻和攝像頭采集的數(shù)據(jù),實(shí)現(xiàn)批量式檢測(cè)。我們將采用卷積神經(jīng)網(wǎng)絡(luò)(ConvolutionalNeuralNetwork,CNN)作為主要的模型架構(gòu),通過訓(xùn)練模型來識(shí)別各種類型的PCB缺陷,如短路、斷路、焊接不良等。在數(shù)據(jù)準(zhǔn)備階段,我們將收集大量的PCB板圖像和視頻數(shù)據(jù),并對(duì)其進(jìn)行標(biāo)注,以便訓(xùn)練和評(píng)估深度學(xué)習(xí)模型的性能。為了增強(qiáng)模型的泛化能力,我們還將考慮采用數(shù)據(jù)增強(qiáng)技術(shù),如平移、旋轉(zhuǎn)、縮放等,擴(kuò)充數(shù)據(jù)集并增加樣本的多樣性。在模型訓(xùn)練過程中,我們將利用已有的深度學(xué)習(xí)框架(如TensorFlow、PyTorch等)構(gòu)建和訓(xùn)練PCB缺陷檢測(cè)模型。通過在大規(guī)模數(shù)據(jù)集上反復(fù)訓(xùn)練和調(diào)優(yōu),使模型能夠準(zhǔn)確地識(shí)別各種PCB缺陷,并在不同場(chǎng)景下具有較好的魯棒性。訓(xùn)練完成后,我們將對(duì)模型進(jìn)行評(píng)估和優(yōu)化,以確保在實(shí)際應(yīng)用中達(dá)到預(yù)期效果。同時(shí),我們還將設(shè)計(jì)并實(shí)現(xiàn)一個(gè)用戶友好的軟件系統(tǒng),使用戶能夠方便地上傳、處理和分析PCB板數(shù)據(jù),并查看檢測(cè)結(jié)果和報(bào)告。1.4論文組織第一章緒論:本章描述了研究的背景,即該論文所關(guān)注的問題的來源和背景。濱崎闡述了研究的意義,即為何解決這個(gè)問題對(duì)學(xué)術(shù)界或?qū)嶋H應(yīng)用有何重要性。以及說明了研究的具體內(nèi)容,即論文所涉及的具體研究方向或內(nèi)容。最后給出了論文的整體組織結(jié)構(gòu),預(yù)告了后續(xù)章節(jié)的內(nèi)容安排。第二章相關(guān)基礎(chǔ)知識(shí)和數(shù)據(jù)集制作:本章提供了設(shè)計(jì)概要,介紹了研究所需的相關(guān)基礎(chǔ)知識(shí)和數(shù)據(jù)集制作的概述。并且闡述了卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)結(jié)構(gòu),包括卷積操作、池化層、激活函數(shù)、全鏈接操作和損失函數(shù)等。接下來介紹了目標(biāo)檢測(cè)算法-YOLOv8算法的基本原理。以及討論了數(shù)據(jù)集制作的方法和步驟,并可能給出了實(shí)際操作的例子或指導(dǎo)。第三章基于YOLO的PCB缺陷檢測(cè)模型的建立:本章介紹了基于YOLO的PCB缺陷檢測(cè)模型的建立過程,可能包括改進(jìn)算法、實(shí)驗(yàn)設(shè)計(jì)和實(shí)驗(yàn)結(jié)果分析。討論了實(shí)驗(yàn)過程和實(shí)驗(yàn)分析,包括實(shí)驗(yàn)條件、參數(shù)設(shè)置和評(píng)價(jià)指標(biāo)等內(nèi)容。最后總結(jié)了實(shí)驗(yàn)的結(jié)果和經(jīng)驗(yàn)教訓(xùn),可能提出了進(jìn)一步研究的方向或建議。第四章PCB缺陷檢測(cè)界面的設(shè)計(jì)實(shí)現(xiàn):本章介紹了PCB缺陷檢測(cè)界面的設(shè)計(jì)和實(shí)現(xiàn)過程,包括界面開發(fā)關(guān)鍵技術(shù)、系統(tǒng)開發(fā)需求分析和可行性分析。闡述了實(shí)現(xiàn)流程,包括客戶端實(shí)現(xiàn)的具體步驟或流程。最后總結(jié)了界面設(shè)計(jì)和實(shí)現(xiàn)的經(jīng)驗(yàn)和教訓(xùn),可能對(duì)系統(tǒng)的性能和用戶體驗(yàn)進(jìn)行評(píng)價(jià)。最后是總結(jié)與展望:該部分總結(jié)了整個(gè)研究工作的主要成果和結(jié)論。展望了未來可能的研究方向和發(fā)展趨勢(shì),提出了進(jìn)一步深入研究的建議或設(shè)想。

第2章相關(guān)基礎(chǔ)知識(shí)和數(shù)據(jù)集制作2.1設(shè)計(jì)概要卷積神經(jīng)網(wǎng)絡(luò)(ConvolutionalNeuralNetwork,CNN)是一種深度學(xué)習(xí)模型,其基本組成部分包括卷積層、池化層和全連接層。卷積層通過在輸入數(shù)據(jù)上滑動(dòng)卷積核來提取特征,池化層通過降低特征圖的空間尺寸來減少計(jì)算量,全連接層則將卷積層提取的特征映射到輸出空間。對(duì)卷積神經(jīng)網(wǎng)絡(luò)的深入了解可以為后續(xù)章節(jié)目標(biāo)檢測(cè)模型的優(yōu)化提供重要思路,包括改進(jìn)網(wǎng)絡(luò)架構(gòu)、調(diào)整超參數(shù)、引入正則化等方法。其次,面對(duì)訓(xùn)練與測(cè)試數(shù)據(jù)集樣本數(shù)量較小的情況,可采用多種數(shù)據(jù)增強(qiáng)技術(shù)擴(kuò)充PCB數(shù)據(jù)集。數(shù)據(jù)增強(qiáng)技術(shù)包括但不限于平移、旋轉(zhuǎn)、縮放、鏡像翻轉(zhuǎn)等方法,通過對(duì)原始圖像應(yīng)用這些變換來生成更多樣化的訓(xùn)練樣本。此外,還可以考慮模糊化、噪聲添加等方法來增加數(shù)據(jù)的多樣性。最后,通過可視化分析擴(kuò)充后的數(shù)據(jù)集,可以直觀地觀察數(shù)據(jù)增強(qiáng)技術(shù)的效果??梢暬治隹梢园ㄕ故驹紙D像與增強(qiáng)后圖像的對(duì)比,以及通過可視化特征圖或類激活圖來觀察模型在不同數(shù)據(jù)增強(qiáng)下的行為變化。這些分析有助于評(píng)估數(shù)據(jù)增強(qiáng)技術(shù)的有效性,指導(dǎo)模型訓(xùn)練過程中的調(diào)整和優(yōu)化。2.2卷積神經(jīng)網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)卷積神經(jīng)網(wǎng)絡(luò)(ConvolutionalNeuralNetwork,CNN)的基礎(chǔ)結(jié)構(gòu)通常由多個(gè)卷積層[5-11]、池化層、激活函數(shù)、全連接層和損失函數(shù)組成。這些基本結(jié)構(gòu)相互作用,使得模型能夠?qū)斎霐?shù)據(jù)進(jìn)行高效的特征提取和分類,從而在計(jì)算機(jī)視覺領(lǐng)域?qū)崿F(xiàn)各種任務(wù)。在CNN中,卷積層通過滑動(dòng)卷積核在輸入數(shù)據(jù)上提取特征,這些特征可以捕捉到圖像的局部信息和空間結(jié)構(gòu)。池化層則通過降采樣來減少特征圖的維度,提高模型的計(jì)算效率,并且具有一定的平移不變性。激活函數(shù)引入非線性,使得模型能夠?qū)W習(xí)復(fù)雜的特征和模式。全連接層將卷積層提取的特征映射到輸出類別空間,進(jìn)行最終的分類或回歸。損失函數(shù)則用于衡量模型預(yù)測(cè)值與真實(shí)標(biāo)簽之間的差異,以便進(jìn)行參數(shù)優(yōu)化和模型訓(xùn)練。這些基礎(chǔ)結(jié)構(gòu)相互作用,使得卷積神經(jīng)網(wǎng)絡(luò)(ConvolutionalNeuralNetwork,CNN)在處理各種計(jì)算機(jī)視覺任務(wù)時(shí)表現(xiàn)出色,包括圖像分類、目標(biāo)檢測(cè)和語義分割等。通過多層次的特征提取和組合,CNN能夠逐漸理解輸入數(shù)據(jù)的復(fù)雜特征,從而實(shí)現(xiàn)對(duì)復(fù)雜場(chǎng)景和對(duì)象的準(zhǔn)確識(shí)別。這一過程涉及到卷積層、池化層和全連接層等組件的協(xié)同作用,共同構(gòu)建了CNN強(qiáng)大的特征學(xué)習(xí)和抽象能力。因此,CNN在計(jì)算機(jī)視覺領(lǐng)域得到了廣泛應(yīng)用,并取得了許多重要成果。它已成為解決實(shí)際問題的有力工具,為各種應(yīng)用場(chǎng)景提供了有效的技術(shù)支持。2.2.1卷積操作卷積層是CNN中的核心組件[12],其作用是對(duì)輸入數(shù)據(jù)中的某些局部特征映射到輸出特征圖上。卷積層通常設(shè)置2個(gè)卷積核來進(jìn)行特征提取并產(chǎn)生一系列的特征圖,在網(wǎng)絡(luò)模型當(dāng)中不同深度的特征圖所包含的特征信息不盡相同。圖2-1為卷積運(yùn)算過程的示意圖。圖2-1系統(tǒng)概要設(shè)計(jì)圖圖2-1中左側(cè)為4x4的輸入矩陣,中間是卷積核大小為2*2的核矩陣,以4*4輸入矩陣左上角為原點(diǎn),將卷積核與輸入矩陣的每一項(xiàng)相乘并累加求和,可得: (式2-1)然后卷積核會(huì)默認(rèn)向右滑動(dòng)一個(gè)像素格的距離,并在到達(dá)輸入矩陣最右邊后返回最左側(cè)并向下滑動(dòng)一個(gè)像素格的距離,重復(fù)此過程直到滑動(dòng)到輸入矩陣的右下角位置。為了避免卷積操作后的輸出矩陣大小的尺寸縮小問題,通常在進(jìn)行卷積操作時(shí),為了保持輸入、輸出矩陣的尺寸相等,通常在輸入矩陣的邊緣周圍添加一圈全為零的值,即為全零填充,如圖2-2所示。圖2-2全零填充示意圖在經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)中[13-16],通常使用7*7或5*5等較大尺寸的卷積核,來獲得更大的感受野和更高的參數(shù)共享率,但也會(huì)導(dǎo)致模型參數(shù)量的激增。因此在現(xiàn)階段的CNN當(dāng)中,通常使用小尺寸的卷積核來降低網(wǎng)絡(luò)參數(shù)量,提高模型的表達(dá)能力,但這也會(huì)導(dǎo)致卷積核的數(shù)量過于龐大,再使用單一的中央處理單元進(jìn)行訓(xùn)練,會(huì)伴隨著較低的訓(xùn)練效率。雖然祌經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中涉及大量參數(shù)的運(yùn)算,但是基礎(chǔ)運(yùn)算較為簡單,且卷積層中的卷積核都是相互獨(dú)立且可分解的,因此圖像處理單元的高內(nèi)存帶寬和并行特性能顯著提高網(wǎng)絡(luò)模型的訓(xùn)練速度。2.2.2池化層池化層常用在卷積層之后對(duì)輸入特征圖進(jìn)行下采樣,從而縮小卷積層輸出的特征圖的尺寸并進(jìn)一步減少模型的參數(shù)量。此外,池化層還有助于減輕模型對(duì)于平移不變性和空間不變性的依賴,增強(qiáng)模型的魯棒性和泛化能力。池化操作多種多樣,其中最常用的有最大池化和平均池化。最大池化是指在輸入特征圖中滑動(dòng)一個(gè)固定大小的窗口,并取窗口內(nèi)像素的最大值作為池化后的結(jié)果。最大池化可以使特征圖中的較強(qiáng)特征被保留下來,同時(shí)縮小特征圖的尺寸,減少了模型的內(nèi)存使用。平均池化是指在輸入特征圖中滑動(dòng)一個(gè)固定大小的窗口,并計(jì)算窗口內(nèi)像素的平均值作為池化后的結(jié)果。與最大池化不同,平均池化可以使特征圖中的較弱特征也得以保留。2.2.3激活函數(shù)激活函數(shù)是神經(jīng)網(wǎng)絡(luò)中一種非線性函數(shù),其作用是對(duì)輸入信號(hào)進(jìn)行非線性變換,使得神經(jīng)元能夠處理非線性的輸入信號(hào)。激活函數(shù)通常被應(yīng)用于卷積層、全連接層和循環(huán)神經(jīng)網(wǎng)絡(luò)等各種類型的層中。Sigmoid函數(shù)被用來將輸入值映射到(0,1),其常被用于二分類問題的輸出層。但是Sigmoid在輸入過大或過小時(shí)候,其導(dǎo)數(shù)接近0,使得神經(jīng)網(wǎng)絡(luò)在反向傳播時(shí)出現(xiàn)梯度消失。因此,在現(xiàn)在的深度神經(jīng)網(wǎng)絡(luò)中,Sigmoid激活函數(shù)己經(jīng)被ReLU等激活函數(shù)所取代。Tanh激活函數(shù)被用來將輸入值映射到(-1,1)之間,Tanh函數(shù)在原點(diǎn)處是對(duì)稱的,也就是說在輸入接近0時(shí)的梯度較大,Tanh激活函數(shù)相比Sigmoid函數(shù)更容易在反向傳播中進(jìn)行梯度更新,也更適合作為隱藏層的激活函數(shù),但是當(dāng)輸入值較大或較小時(shí),也會(huì)出現(xiàn)梯度消失的現(xiàn)象。ReLU函數(shù)則是目前廣泛使用的激活函數(shù),它將輸入值小于0的部分置為0,大于等于0的部分不變,從而有效防止梯度丟失,并且具備良好的正則化效果,但是在輸入值為負(fù)時(shí)會(huì)失活,因此在一些神經(jīng)網(wǎng)絡(luò)當(dāng)中會(huì)引入一些改進(jìn)的ReLU變種如LeakyReLU、PReLU等。激活函數(shù)的選擇直接影響到神經(jīng)網(wǎng)絡(luò)的性能和訓(xùn)練速度。因此,選擇適合任務(wù)的激活函數(shù)是神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)中的一個(gè)重要決策。2.2.4全鏈接操作全連接層是神經(jīng)網(wǎng)絡(luò)中的一種常見層類型,全連接層的作用是將輸入數(shù)據(jù)中的每個(gè)特征都連接到下一層的每個(gè)神經(jīng)元,從而完成特征的線性組合和非線性變換,得到最終的輸出,且在全連接層當(dāng)中,每個(gè)神經(jīng)元都有一個(gè)權(quán)重用于調(diào)整前一層神經(jīng)元的輸出值對(duì)當(dāng)前層神經(jīng)元的影響程度,還有一個(gè)偏置用于調(diào)整該神經(jīng)元的激活閾值。因此,全連接層是參數(shù)最多的層之一。圖2-3全連接操作圖由于全連接層通常包含大量的參數(shù),通常使用Dropout正則化來隨機(jī)選擇一些神經(jīng)元,并將它們的輸出值設(shè)置為0,這樣可以使得神經(jīng)網(wǎng)絡(luò)不依賴于任何單個(gè)神經(jīng)元,而是強(qiáng)制要求每個(gè)神經(jīng)元都必須獨(dú)立地做出貢獻(xiàn),降低神經(jīng)網(wǎng)絡(luò)的過擬合風(fēng)險(xiǎn)。Dropout可以在訓(xùn)練期間應(yīng)用,而在測(cè)試期間不需要,因?yàn)樵跍y(cè)試期間需要使用全部的神經(jīng)元以獲取最佳的性能。圖2-4Dropout操作圖2.2.5損失函數(shù)損失函數(shù)[17]是用來衡量模型預(yù)測(cè)結(jié)果與真實(shí)值之間差異的重要指標(biāo),當(dāng)預(yù)測(cè)結(jié)果與真實(shí)值越靠近時(shí),損失函數(shù)的值就越小,表明模型的準(zhǔn)確性越髙。在訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí),損失函數(shù)的值通常會(huì)被記錄下來,通過不斷優(yōu)化損失函數(shù)來使模型的預(yù)測(cè)結(jié)果盡可能地接近真實(shí)結(jié)果。隨著訓(xùn)練次數(shù)的增加,損失函數(shù)的值應(yīng)該逐漸降低,表明模型的性能逐步提高。通常情況下,損失函數(shù)由兩部分所組成:一是模型預(yù)測(cè)結(jié)果與實(shí)際結(jié)果之間的差異度量,二是正則化項(xiàng),用于控制模型的復(fù)雜度。損失函數(shù)的計(jì)算方法因任務(wù)而異,例如,在分類問題中,通常使用交叉熵?fù)p失函數(shù),其公式如下所示: (式2-2)2.3目標(biāo)檢測(cè)算法-YOLOv8算法YOLOv8是YOLO系列最新的SOTA模型[18],是可被用于訓(xùn)練目標(biāo)檢測(cè)、實(shí)例分割和圖像分類模型的統(tǒng)一框架。在模型的檢測(cè)速度和檢測(cè)精度上比以前的版本更加迅速與準(zhǔn)確。本文主要介紹其目標(biāo)檢測(cè)任務(wù)。YOLOv8s的網(wǎng)絡(luò)結(jié)構(gòu)分為四個(gè)部分,分別為輸入端(Input)、主干網(wǎng)絡(luò)(Backbone)、融合層(Neck)和檢測(cè)頭(Head)構(gòu)成,旨在實(shí)現(xiàn)高速度和高精度的目標(biāo)檢測(cè)。該算法采用單一神經(jīng)網(wǎng)絡(luò)模型,通過一次前向傳播同時(shí)完成目標(biāo)的檢測(cè)和分類,不需要使用復(fù)雜的后處理步驟。YOLOv8算法以實(shí)時(shí)性為目標(biāo),在保持較高準(zhǔn)確率的同時(shí),追求較快的處理速度,適用于實(shí)時(shí)應(yīng)用。在目標(biāo)檢測(cè)精度方面取得了顯著進(jìn)步,能夠有效地檢測(cè)各種尺寸和類別的目標(biāo)。并且能將目標(biāo)檢測(cè)任務(wù)轉(zhuǎn)化為一個(gè)端到端的回歸問題,簡化了整個(gè)流程,提高了效率。圖2-5YOLOv8網(wǎng)絡(luò)結(jié)構(gòu)圖輸入端進(jìn)行數(shù)據(jù)增強(qiáng)以及自適應(yīng)圖片縮放是為了提升目標(biāo)檢測(cè)模型的性能。數(shù)據(jù)增強(qiáng)主要采用了Mosaic增強(qiáng)方法,其中YOLOv8的Mosaic[19]增強(qiáng)部分引入了YOLOX中在最后10個(gè)epoch采用的Mosaic增強(qiáng)操作。這些增強(qiáng)操作有助于增強(qiáng)模型的魯棒性,使其能夠更好地適應(yīng)不同場(chǎng)景和變化。同時(shí),自適應(yīng)圖片縮放將原始圖片統(tǒng)一縮放到相同的尺寸,這簡化了模型的復(fù)雜度并提高了模型的訓(xùn)練和推理效率,從而有效地提升了模型的精度和性能。主干網(wǎng)絡(luò)采用了Darknet-53,它是一個(gè)深度卷積神經(jīng)網(wǎng)絡(luò),包含53個(gè)卷積層。Darknet-53由一系列卷積層和殘差連接組成,具有強(qiáng)大的特征提取能力和較低的計(jì)算復(fù)雜度。這個(gè)網(wǎng)絡(luò)結(jié)構(gòu)旨在從輸入圖像中提取高級(jí)特征,以支持目標(biāo)檢測(cè)任務(wù)。通過多層次的特征提取和下采樣操作,Darknet-53能夠捕獲不同尺度的信息,并在不同層次上對(duì)目標(biāo)進(jìn)行檢測(cè)和定位。YOLOv8在Darknet-53的基礎(chǔ)上添加了額外的卷積層和特征金字塔網(wǎng)絡(luò),以進(jìn)一步提升檢測(cè)性能和速度。YOLOv8的融合層主要由FPN-PAN的結(jié)構(gòu)組成。FPN(FeaturePyramidNetwork)是一種自上而下的結(jié)構(gòu),通過上采樣將高層和底層的特征信息融合,產(chǎn)生具有不同尺度特征的特征金字塔。這種結(jié)構(gòu)能夠捕獲圖像的多尺度信息,提高目標(biāo)檢測(cè)模型對(duì)不同大小目標(biāo)的檢測(cè)性能。在YOLOv8中,融合層借鑒了FPN的思想,同時(shí)加入了PAN(PathAggregationNetwork)的元素,進(jìn)一步提升融合效果。PAN模塊通過路徑聚合機(jī)制,有效整合不同層次的特征信息,使得融合后的特征更加豐富和準(zhǔn)確。融合層的操作包括上采樣、特征融合和特征圖計(jì)算,其中上采樣操作可以通過插值方法如雙線性插值來實(shí)現(xiàn),而特征融合則可以采用簡單的逐元素相加或卷積操作來實(shí)現(xiàn)。最終,通過融合層產(chǎn)生的預(yù)測(cè)特征圖用于目標(biāo)檢測(cè)任務(wù)中的目標(biāo)定位和分類。2.4數(shù)據(jù)集制作PCB缺陷檢測(cè)是一項(xiàng)復(fù)雜的技術(shù),其主要目的是通過分析PCB的圖像數(shù)據(jù)來確定其存在的缺陷。由于關(guān)于PCB缺陷的標(biāo)準(zhǔn)不一,現(xiàn)在主要采用的是由國際電子工業(yè)聯(lián)合會(huì)(IPC)制定的標(biāo)準(zhǔn)。IPC是在全球范圍內(nèi)制定的,其標(biāo)準(zhǔn)涵蓋了電子制造的各個(gè)方面,包括電路板制造、電子裝配、測(cè)試和可靠性等領(lǐng)域。IPC標(biāo)準(zhǔn)的制定過程由行業(yè)專家組成的技術(shù)委員會(huì)負(fù)責(zé),經(jīng)過廣泛的行業(yè)討論和實(shí)踐驗(yàn)證。其目的是為電子制造行業(yè)提供技術(shù)支持和指導(dǎo),促進(jìn)行業(yè)標(biāo)準(zhǔn)化,提高生產(chǎn)效率和產(chǎn)品質(zhì)量。IPC-A-600標(biāo)準(zhǔn)已經(jīng)成為全球PCB制造業(yè)界的一面旗幟,被普遍應(yīng)用于PCB制造過程的檢測(cè)和驗(yàn)收。該標(biāo)準(zhǔn)詳細(xì)規(guī)定了各種PCB缺陷類型、數(shù)量限制以及驗(yàn)收標(biāo)準(zhǔn),涵蓋了焊盤形狀、孔壁涂鍍、線路間隙、焊絲飛濺等方面的要求。遵循IPC-A-600標(biāo)準(zhǔn)進(jìn)行PCB缺陷檢測(cè),不僅有助于確保制造過程中的質(zhì)量控制,更能提升產(chǎn)品的可靠性和穩(wěn)定性。因此,IPC標(biāo)準(zhǔn)在全球電子制造業(yè)中被視為重要的參考依據(jù),對(duì)行業(yè)的發(fā)展起著關(guān)鍵的推動(dòng)作用。IPC標(biāo)準(zhǔn)對(duì)PCB缺陷的具體分類可參考表2-1。表2-1IPC-A-600表小尺寸缺陷大尺寸缺陷圓孔類缺陷其他類型缺陷孔洞焊點(diǎn)破損圓孔變形斷路卷邊焊盤破損圓孔錯(cuò)位短路小型斑點(diǎn)余銅圓孔內(nèi)部裂紋鼠咬微小腐蝕斷線圓孔內(nèi)部毛刺毛刺缺陷引起的導(dǎo)線距離過小分層圓孔大小不一火山口通過網(wǎng)絡(luò)上搜集關(guān)于PCB缺陷的各類圖片,并使用LabelMe標(biāo)注工具對(duì)每張圖片中的PCB缺陷目標(biāo)邊框(BoundingBox)與類型進(jìn)行標(biāo)注。一共包含683張圖片,其中訓(xùn)練集包含544張圖片,驗(yàn)證集包含139張圖片,部分圖像及標(biāo)注如下圖所示。圖2-6PCB缺陷類型圖鑒于所獲得的數(shù)據(jù)集樣本量有限,小樣本很可能會(huì)導(dǎo)致模型訓(xùn)練時(shí)的過擬合,因此本文使用一系列的數(shù)據(jù)增強(qiáng)技術(shù),利用改變圖像亮度、對(duì)圖片進(jìn)行翻轉(zhuǎn)、實(shí)施隨機(jī)裁剪、調(diào)整圖像位置和添加高斯噪聲等手段來擴(kuò)充數(shù)據(jù)集的樣本數(shù)量,以期望達(dá)到更好的模型性能。2.5本章小結(jié)本章探討了卷積神經(jīng)網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)的類型和作用,通過對(duì)各基礎(chǔ)結(jié)構(gòu)的描述來加深對(duì)于深度學(xué)習(xí)算法的理解,分析未來優(yōu)化PCB缺陷檢測(cè)模型的方案,之后對(duì)于主流的目標(biāo)檢測(cè)算法做了一個(gè)初步的概述,并分析了不同算法的優(yōu)缺點(diǎn),為后續(xù)的算法選擇做了鋪墊,最后利用數(shù)據(jù)增強(qiáng)技術(shù)將初始數(shù)據(jù)集的樣本數(shù)量從683張擴(kuò)充到1133張,并對(duì)擴(kuò)充后的數(shù)據(jù)集做了進(jìn)一步的可視化分析,為后續(xù)章節(jié)的主攻方向做了一個(gè)指引。

第3章基于YOLO的PCB缺陷檢測(cè)模型的建立YOLOv8是YOLO(YouOnlyLookOnce)目標(biāo)檢測(cè)系列的一個(gè)版本,是在YOLOv4的基礎(chǔ)上進(jìn)行了改進(jìn)和優(yōu)化的。以下是YOLOv8的發(fā)展歷史的簡要概述:YOLOv4:YOLOv4是YOLO系列的一個(gè)重要里程碑,由AlexeyBochkovskiy、Chien-YaoWang和Hong-YuanMarkLiao等人提出。它采用了一系列新的技術(shù)和優(yōu)化,如CSPDarknet53網(wǎng)絡(luò)結(jié)構(gòu)、Mish激活函數(shù)、BagofFreebies(BoF)和BagofSpecials(BoS)等,以提高目標(biāo)檢測(cè)的性能和速度。YOLOv4-tiny:YOLOv4-tiny是YOLOv4的一個(gè)輕量級(jí)版本,通過減少網(wǎng)絡(luò)深度和參數(shù)數(shù)量來實(shí)現(xiàn)更高的推理速度,適用于資源受限的場(chǎng)景。YOLOv5:盡管YOLOv5不是由原始的YOLO系列開發(fā)者創(chuàng)建的,但它是在YOLOv4的基礎(chǔ)上進(jìn)行的一項(xiàng)重大工作。YOLOv5由Ultralytics團(tuán)隊(duì)提出,并通過引入更輕量級(jí)的模型架構(gòu)、AutoML技術(shù)和大規(guī)模數(shù)據(jù)集進(jìn)行訓(xùn)練來實(shí)現(xiàn)更高的性能和更簡單的訓(xùn)練流程。YOLOv8:YOLOv8是基于YOLOv4和YOLOv5的技術(shù)基礎(chǔ)進(jìn)行了改進(jìn)的版本之一。它可能是由不同的研究團(tuán)隊(duì)或個(gè)人提出和實(shí)現(xiàn)的,旨在進(jìn)一步改進(jìn)目標(biāo)檢測(cè)的準(zhǔn)確性、速度和效率。通常,YOLOv8可能會(huì)在YOLOv4或YOLOv5的基礎(chǔ)上引入新的技術(shù)、優(yōu)化或變化,以適應(yīng)特定的應(yīng)用場(chǎng)景或解決特定的問題??偟膩碚f,YOLOv8代表了YOLO目標(biāo)檢測(cè)系列的持續(xù)發(fā)展和改進(jìn),通過不斷地引入新的技術(shù)和優(yōu)化,以滿足不斷增長的目標(biāo)檢測(cè)需求和挑戰(zhàn)。3.1基于Transformer改進(jìn)YOLOv8將Transformer模型應(yīng)用于改進(jìn)YOLOv8(YouOnlyLookOnceversion8)是一個(gè)很有趣的想法。這樣的改進(jìn)可以嘗試結(jié)合Transformer的注意力機(jī)制和YOLOv8的目標(biāo)檢測(cè)能力,以提高檢測(cè)性能和準(zhǔn)確性。在YOLOv8中對(duì)PCB圖像進(jìn)行缺陷檢測(cè)時(shí),輸入圖像首先會(huì)被調(diào)整為固定大小的640x640。這個(gè)步驟是為了確保輸入圖像具有統(tǒng)一的尺寸,以便于網(wǎng)絡(luò)的處理。輸入圖像經(jīng)過一個(gè)稱為FCOS模塊的操作。FCOS(FullyConvolutionalOne-StageObjectDetection)是一種端到端的全卷積目標(biāo)檢測(cè)算法,通過在特征圖上直接預(yù)測(cè)目標(biāo)的位置和類別。在這個(gè)模塊中,輸入圖像會(huì)經(jīng)過一次下采樣操作,生成一個(gè)大小為320x320、通道數(shù)為64的特征圖C1。經(jīng)過FCOS模塊后,生成的特征圖C1將作為骨干網(wǎng)絡(luò)的輸入。骨干網(wǎng)絡(luò)通常由一系列卷積層和池化層組成,用于從圖像中提取高級(jí)語義特征。在骨干網(wǎng)絡(luò)中,經(jīng)過一系列卷積和池化操作,特征圖的空間分辨率會(huì)逐漸減小,而通道數(shù)會(huì)逐漸增加。這個(gè)過程也被稱為下采樣,其目的是逐漸縮小特征圖的尺寸,同時(shí)增加特征圖中每個(gè)通道的信息。在經(jīng)過多次下采樣操作后,骨干網(wǎng)絡(luò)會(huì)生成多個(gè)不同尺度的特征圖,這些特征圖將會(huì)用于后續(xù)的目標(biāo)檢測(cè)任務(wù)。特征圖之間會(huì)進(jìn)行融合操作,以整合不同尺度下的語義信息,提高檢測(cè)的準(zhǔn)確性。最終,經(jīng)過一系列的特征提取和融合操作,網(wǎng)絡(luò)會(huì)生成一組多尺度的特征圖P1、P2、P3、P4、P5,這些特征圖將被用于后續(xù)的目標(biāo)檢測(cè)和分類任務(wù)。這些步驟構(gòu)成了YOLOv8中對(duì)PCB圖像進(jìn)行缺陷檢測(cè)時(shí)輸入圖像的起始流程,其目的是通過特征提取和融合操作,從原始圖像中提取出有用的特征信息,為后續(xù)的目標(biāo)檢測(cè)任務(wù)提供準(zhǔn)備。3.2實(shí)驗(yàn)過程與實(shí)驗(yàn)分析3.2.1實(shí)驗(yàn)條件本章的所有實(shí)驗(yàn)均在64位Windows操作系統(tǒng)下,硬件配置如下:CPU為Inteli7-13700F,顯卡為NVIDIAGeForceRTX3060Ti,顯存為8GB。采用python3.9.19,進(jìn)行網(wǎng)絡(luò)搭建與模型訓(xùn)練。3.2.2參數(shù)設(shè)置本章在訓(xùn)練時(shí)采用了YOLOv8作者所提供的預(yù)訓(xùn)練權(quán)重來訓(xùn)練TBA-YOLO,以加速網(wǎng)絡(luò)的收斂,訓(xùn)練中使用epochs參數(shù)用于調(diào)整訓(xùn)練的輪數(shù),batch參數(shù)用于調(diào)整訓(xùn)練的批次大小。3.2.3評(píng)價(jià)指標(biāo)為了更全面地評(píng)估模型的性能表現(xiàn),本章采用了四個(gè)評(píng)價(jià)指標(biāo)來更好地評(píng)估模型的性能。其中包括準(zhǔn)確率(Precision,P)、召回率(Recall,R)、平均檢測(cè)精度均值(AveragePrecision,AP)以及檢測(cè)。P(Precision)為準(zhǔn)確率,是指在所有被模型判定為正例的樣本中,實(shí)際上確實(shí)是正例的比例。R(Recall)為召回率,是指在所有實(shí)際為正例的樣本中,被模型正確預(yù)測(cè)為正例的比例。準(zhǔn)確率和召回率公式如式3-1和式3-2所示: (式3-1) (式3-2)其中,TP為檢測(cè)到的正確識(shí)別的PCB缺陷個(gè)數(shù),F(xiàn)P為錯(cuò)誤識(shí)別的PCB缺陷個(gè)數(shù),F(xiàn)P為非PCB缺陷錯(cuò)誤識(shí)別個(gè)數(shù)。平均準(zhǔn)確率(AveragePrecision,AP)的計(jì)算公式如式3-3所示: (式3-3)其中,(P_n)是召回率為(R_n)時(shí)的精確率(準(zhǔn)確率),(R_n)是在召回率從(R_{n-1})上升到(R_n)時(shí)的召回率的變化值。PR通常代表Precision-Recall曲線,用于評(píng)估模型在不同閾值下的準(zhǔn)確率(Precision)和召回率(Recall)之間的關(guān)系。PR曲線以召回率為橫軸,以準(zhǔn)確率為縱軸,繪制了模型在不同閾值下的準(zhǔn)確率和召回率之間的關(guān)系。PR曲線的形狀和趨勢(shì)可以幫助評(píng)估模型的性能和穩(wěn)定性。在PCB缺陷檢測(cè)性能中,F(xiàn)PS(FramePerSecond)表示每秒處理的PCB圖像數(shù)量,是評(píng)估PCB缺陷檢測(cè)性能的關(guān)鍵指標(biāo)之一。其計(jì)算公式如下: (式3-4)其中,M表示模型處理的圖片數(shù)量總和,S表示模型對(duì)所有輸入圖片檢測(cè)所消耗的總時(shí)間長度。定位損失box_loss:預(yù)測(cè)框與標(biāo)定框之間的誤差(GIoU),越小定位得越準(zhǔn);分類損失cls_loss:計(jì)算錨框與對(duì)應(yīng)的標(biāo)定分類是否正確,越小分類得越準(zhǔn);動(dòng)態(tài)特征損(dfl_loss):DFLLoss是一種用于回歸預(yù)測(cè)框與目標(biāo)框之間距離的損失函數(shù)。在計(jì)算損失時(shí),目標(biāo)框需要縮放到特征圖尺度,即除以相應(yīng)的stride,并與預(yù)測(cè)的邊界框計(jì)算CiouLoss,同時(shí)與預(yù)測(cè)的anchors中心點(diǎn)到各邊的距離計(jì)算回歸DFLLoss。這個(gè)過程是YOLOv8訓(xùn)練流程中的一部分,通過計(jì)算DFLLoss可以更準(zhǔn)確地調(diào)整預(yù)測(cè)框的位置,提高目標(biāo)檢測(cè)的準(zhǔn)確性。圖3-1準(zhǔn)確率和召回率公式圖如圖3-1所表示的,初期隨著訓(xùn)練輪次的增加,各個(gè)指標(biāo)的值逐漸變得穩(wěn)定,并且保持在一個(gè)較低的水平。這表明模型已經(jīng)逐漸趨于收斂,學(xué)習(xí)到了PCB缺陷數(shù)據(jù)集的主要特征。我們通常用PR曲線來體現(xiàn)精確率和召回率的關(guān)系,本文訓(xùn)練結(jié)果的PR曲線如下。mAP表示Precision和Recall作為兩軸作圖后圍成的面積,m表示平均,@后面的數(shù)表示判定iou為正負(fù)樣本的閾值。mAP@.5:表示閾值大于0.5的平均mAP,可以看到本文模型各類缺陷檢測(cè)的mAP@0.5都達(dá)到了0.86以上,平均為0.92,結(jié)果還是很不錯(cuò)的,如圖3-2所示。圖3-2PR曲線3.3實(shí)驗(yàn)總結(jié)經(jīng)過對(duì)實(shí)驗(yàn)條件和參數(shù)設(shè)置的分析,觀察到隨著訓(xùn)練輪次的增加,各項(xiàng)指標(biāo)的數(shù)值逐漸趨于穩(wěn)定,并保持在相對(duì)較低的水平。這一趨勢(shì)清晰地表明,模型的訓(xùn)練過程正在逐步收斂,有效地捕捉了PCB缺陷數(shù)據(jù)集的主要特征。這個(gè)發(fā)現(xiàn)為我們對(duì)模型性能和學(xué)習(xí)能力的評(píng)估提供了關(guān)鍵線索,提示著模型在處理該數(shù)據(jù)集時(shí)的優(yōu)異表現(xiàn)和潛力。未來的研究方向可以包括對(duì)模型架構(gòu)的微調(diào),以進(jìn)一步提高性能;探索不同的損失函數(shù),優(yōu)化模型的訓(xùn)練過程;或者嘗試其他數(shù)據(jù)增強(qiáng)技術(shù),以增強(qiáng)模型的泛化能力。這些結(jié)果彰顯了TBA-YOLO模型在PCB缺陷檢測(cè)領(lǐng)域的顯著競爭優(yōu)勢(shì),并為其在實(shí)際應(yīng)用中的可靠性提供了有力支持。未來,研究團(tuán)隊(duì)將持續(xù)不斷地優(yōu)化該模型,探索更廣泛的應(yīng)用場(chǎng)景,并進(jìn)一步提升其性能和穩(wěn)定性。

第4章PCB缺陷檢測(cè)界面的設(shè)計(jì)實(shí)現(xiàn)為了更生動(dòng)地展示缺陷檢測(cè)的過程和結(jié)果,我們可以設(shè)計(jì)一款界面,將訓(xùn)練好的PCB缺陷檢測(cè)模型應(yīng)用于圖像,并將檢測(cè)結(jié)果制作成動(dòng)畫或視頻。這樣的界面可以直觀地展示整個(gè)檢測(cè)過程,從PCB圖像的輸入到檢測(cè)出的缺陷的標(biāo)記,以及可能的修復(fù)過程,使用戶更容易理解和分享。4.1界面開發(fā)關(guān)鍵技術(shù)及環(huán)境搭建為了設(shè)計(jì)出可視化強(qiáng)的界面,PCB缺陷檢測(cè)界面.支持圖片、視頻及攝像頭進(jìn)行PCB板缺陷檢測(cè),同時(shí)支持圖片的批量檢測(cè)。界面可實(shí)時(shí)顯示目標(biāo)位置、目標(biāo)總數(shù)、置信度、用時(shí)等信息,支持圖片或者視頻的檢測(cè)結(jié)果保存。(1)PyQt5PyQt5是一個(gè)基于Python語言的跨平臺(tái)QtGUI工具包,旨在簡化桌面應(yīng)用程序的開發(fā)。它提供了對(duì)Qt框架的全面訪問,支持Windows、macOS和Linux等多種操作系統(tǒng)。PyQt5具備豐富的組件庫,包括按鈕、文本框、列表框、表格、菜單等,可滿足各類GUI應(yīng)用程序的需求。開發(fā)者可借助可視化工具如QtDesigner進(jìn)行界面設(shè)計(jì)和布局。此外,PyQt5支持多種布局管理器,如水平布局、垂直布局和網(wǎng)格布局,使得界面元素的排列更為靈活。該工具包還提供了豐富的功能特性,包括事件處理、信號(hào)與槽機(jī)制、多線程編程、圖形繪制以及動(dòng)畫效果等。另外,PyQt5擁有完善的官方文檔和示例,以及積極的社區(qū)支持,為開發(fā)者提供了豐富的資源和幫助。綜上所述,PyQt5是一個(gè)功能強(qiáng)大且靈活的GUI開發(fā)工具包,適用于各種桌面應(yīng)用程序的快速開發(fā)。(2)OpenCVOpenCV,即開源計(jì)算機(jī)視覺庫(OpenSourceComputerVisionLibrary),是一個(gè)開源的計(jì)算機(jī)視覺庫,旨在為開發(fā)人員提供豐富的圖像處理和計(jì)算機(jī)視覺算法,以便構(gòu)建各種視覺應(yīng)用程序。它支持多種編程語言,包括C++、Python、Java等,可適用于各種開發(fā)環(huán)境和需求。OpenCV提供了廣泛的功能模塊,包括圖像處理、特征檢測(cè)與描述、目標(biāo)檢測(cè)與跟蹤、攝像機(jī)標(biāo)定、三維重建等。其中,圖像處理函數(shù)和工具涵蓋圖像濾波、邊緣檢測(cè)、直方圖均衡化、顏色空間轉(zhuǎn)換等,滿足各種圖像處理需求。此外,OpenCV還包含多種計(jì)算機(jī)視覺算法,如特征點(diǎn)檢測(cè)與匹配(如SIFT、SURF、ORB)、對(duì)象檢測(cè)與分類(如Haar特征分類器、HOG+SVM、深度學(xué)習(xí)模型)、運(yùn)動(dòng)估計(jì)與跟蹤(如光流法、卡爾曼濾波器)、立體視覺等。這些算法可用于實(shí)現(xiàn)各種視覺任務(wù),從而為開發(fā)者提供了強(qiáng)大的工具和技術(shù)支持。OpenCV具有廣泛的應(yīng)用領(lǐng)域,包括機(jī)器視覺、醫(yī)學(xué)圖像處理、人臉識(shí)別、車輛識(shí)別與跟蹤、無人駕駛、工業(yè)自動(dòng)化、虛擬現(xiàn)實(shí)等。它被廣泛應(yīng)用于各種領(lǐng)域的研究和工程項(xiàng)目中,并得到了工業(yè)界和學(xué)術(shù)界的廣泛認(rèn)可。是一個(gè)強(qiáng)大而靈活的計(jì)算機(jī)視覺庫,為開發(fā)人員提供了豐富的圖像處理和計(jì)算機(jī)視覺算法,使其能夠快速構(gòu)建各種視覺應(yīng)用程序。(3)PyTorchPyTorch是Facebook開發(fā)的深度學(xué)習(xí)框架,具備靈活性、易用性和強(qiáng)大的計(jì)算能力。采用動(dòng)態(tài)計(jì)算圖,提供了類似于NumPy的張量操作接口,并擁有豐富的模塊和工具。PyTorch生態(tài)系統(tǒng)豐富,社區(qū)活躍,適用于各種研究和應(yīng)用場(chǎng)景。4.2系統(tǒng)開發(fā)需求與可行性分析4.2.1系統(tǒng)開發(fā)需求分析PCB缺陷檢測(cè)系統(tǒng)的主要功能需求包括以下幾個(gè)方面:(1)缺陷檢測(cè)與識(shí)別:系統(tǒng)核心功能之一,需要準(zhǔn)確檢測(cè)和識(shí)別PCB板上的各類缺陷,如焊接不良、導(dǎo)線斷裂、短路等,以解決制造過程中可能出現(xiàn)的問題。(2)圖像獲取與處理:系統(tǒng)應(yīng)具備圖像獲取和處理能力,利用高分辨率攝像頭或其他設(shè)備獲取PCB板圖像,并對(duì)其進(jìn)行去噪、增強(qiáng)和二值化處理,以獲得清晰的圖像用于后續(xù)缺陷識(shí)別。(3)缺陷定位與標(biāo)注:一旦檢測(cè)到缺陷,系統(tǒng)需要準(zhǔn)確定位和標(biāo)注缺陷位置,以便操作員及時(shí)處理和修復(fù),并為后續(xù)的統(tǒng)計(jì)分析提供支持。(4)報(bào)告生成與存檔:系統(tǒng)應(yīng)能夠生成詳細(xì)的檢測(cè)報(bào)告,包括缺陷類型、位置和數(shù)量等信息,并將報(bào)告存檔以支持質(zhì)量追溯和生產(chǎn)流程的優(yōu)化。(5)用戶界面與交互:系統(tǒng)需提供直觀易用的用戶界面,支持觸摸屏、鍵盤輸入等多種交互方式,并提供幫助文檔和在線支持,確保操作員能夠輕松操作并及時(shí)解決問題。4.2.2可行性分析對(duì)于PCB缺陷檢測(cè)系統(tǒng)開發(fā)的可行性分析,我們可以從多個(gè)維度進(jìn)行探討,包括技術(shù)可行性、經(jīng)濟(jì)可行性、市場(chǎng)可行性和社會(huì)可行性等方面。(1)技術(shù)可行性:隨著計(jì)算機(jī)視覺和人工智能技術(shù)的快速發(fā)展,PCB缺陷檢測(cè)系統(tǒng)已經(jīng)具備了強(qiáng)大的技術(shù)支撐?,F(xiàn)有的圖像處理、機(jī)器學(xué)習(xí)算法和深度學(xué)習(xí)技術(shù),能夠?qū)崿F(xiàn)對(duì)PCB圖像的高效處理和缺陷的準(zhǔn)確識(shí)別。硬件設(shè)備的性能也在不斷提升,使得實(shí)時(shí)、高精度的檢測(cè)成為可能。因此,從技術(shù)角度來看,開發(fā)PCB缺陷檢測(cè)系統(tǒng)是可行的。(2)實(shí)時(shí)性分析:PCB缺陷檢測(cè)系統(tǒng)需要具備實(shí)時(shí)性以應(yīng)對(duì)生產(chǎn)線上PCB板的快速生產(chǎn)速度。系統(tǒng)必須能夠在短時(shí)間內(nèi)對(duì)PCB板進(jìn)行高效、準(zhǔn)確的檢測(cè),并及時(shí)給出檢測(cè)結(jié)果。為保證實(shí)時(shí)性,系統(tǒng)應(yīng)該擁有快速的數(shù)據(jù)處理能力、高效的算法和穩(wěn)定的硬件支持。采用高性能的硬件設(shè)備和處理器,優(yōu)化算法,以及并行處理和分布式計(jì)算技術(shù),能夠提高系統(tǒng)的處理速度和效率。(3)操作可行性分析:操作可行性是PCB缺陷檢測(cè)系統(tǒng)開發(fā)的重要考慮因素之一。系統(tǒng)應(yīng)該提供直觀易用的操作界面,簡化操作步驟和參數(shù)設(shè)置。詳細(xì)的操作說明和教程能夠幫助操作員快速上手并熟悉系統(tǒng)的使用方法。支持多種交互方式,并提供靈活的參數(shù)配置和自定義功能,有助于滿足不同操作員的使用需求。(4)經(jīng)濟(jì)可行性:PCB缺陷檢測(cè)系統(tǒng)的開發(fā)和應(yīng)用能夠顯著提高生產(chǎn)效率和產(chǎn)品質(zhì)量,降低不良品率和生產(chǎn)成本,從而帶來經(jīng)濟(jì)效益。隨著智能制造和工業(yè)互聯(lián)網(wǎng)的發(fā)展,PCB缺陷檢測(cè)系統(tǒng)市場(chǎng)需求不斷擴(kuò)大,具有廣闊的市場(chǎng)前景。(5)市場(chǎng)可行性:PCB缺陷檢測(cè)系統(tǒng)在電子設(shè)備制造領(lǐng)域有著廣泛的應(yīng)用需求。隨著各行業(yè)對(duì)產(chǎn)品質(zhì)量的重視和國內(nèi)外監(jiān)管要求的提高,PCB缺陷檢測(cè)系統(tǒng)將成為企業(yè)質(zhì)量保障的重要工具。因此,從市場(chǎng)角度來看,開發(fā)PCB缺陷檢測(cè)系統(tǒng)具有良好的市場(chǎng)前景。(6)社會(huì)可行性PCB缺陷檢測(cè)系統(tǒng)的開發(fā)和應(yīng)用,不僅有助于提升企業(yè)的經(jīng)濟(jì)效益和市場(chǎng)競爭力,還能夠推動(dòng)相關(guān)產(chǎn)業(yè)的發(fā)展和技術(shù)進(jìn)步。同時(shí),通過提高產(chǎn)品質(zhì)量和降低不良品率,也有助于減少資源浪費(fèi)和環(huán)境污染,實(shí)現(xiàn)可持續(xù)發(fā)展。因此,從社會(huì)角度來看,開發(fā)PCB缺陷檢測(cè)系統(tǒng)也是可行的。4.3客戶端實(shí)現(xiàn)根據(jù)YOLOv8的目標(biāo)檢測(cè)技術(shù),基于python與Pyqt5開發(fā)了一款界面簡潔的PCB板缺陷檢測(cè)系統(tǒng),可以檢測(cè)常見的6種PCB板缺陷??芍С謭D片、視頻以及攝像頭跌倒檢測(cè),同時(shí)可以將圖片或者視頻檢測(cè)結(jié)果進(jìn)行保存,界面如圖4-1所示。圖4-1PCB檢測(cè)平臺(tái)頁面圖(1)單個(gè)圖片檢測(cè)操作點(diǎn)擊圖片圖標(biāo),選擇需要檢測(cè)的圖片,或者點(diǎn)擊文件夾圖標(biāo),選擇需要批量檢測(cè)圖片所在的文件夾,操作演示如下:點(diǎn)擊目標(biāo)下拉框后,可以選定指定目標(biāo)的結(jié)果信息進(jìn)行顯示。

點(diǎn)擊保存按鈕,會(huì)對(duì)視頻檢測(cè)結(jié)果進(jìn)行保存,存儲(chǔ)路徑為:save_data目錄下。注:1.右側(cè)目標(biāo)位置默認(rèn)顯示置信度最大一個(gè)目標(biāo)位置。所有檢測(cè)結(jié)果均在左下方表格中顯示,如圖4-2所示。圖4-2單圖片檢測(cè)頁面圖(2)視頻檢測(cè)操作點(diǎn)擊視頻圖標(biāo),打開選擇需要檢測(cè)的視頻,就會(huì)自動(dòng)顯示檢測(cè)結(jié)果。點(diǎn)擊保存按鈕,會(huì)對(duì)視頻檢測(cè)結(jié)果進(jìn)行保存,存儲(chǔ)路徑為:save_data目錄下,如圖4-3所示。圖4-3視頻檢測(cè)頁面圖(3)攝像頭檢測(cè)操作點(diǎn)擊攝像頭圖標(biāo),可以打開攝像頭,可以實(shí)時(shí)進(jìn)行檢測(cè),再次點(diǎn)擊攝像頭圖標(biāo),可關(guān)閉攝像頭。圖4-4攝像頭檢測(cè)頁面圖(4)保存圖片和視頻檢測(cè)結(jié)果點(diǎn)擊保存按鈕后,會(huì)將當(dāng)前選擇的圖片【含批量圖片】或者視頻的檢測(cè)結(jié)果進(jìn)行保存。檢測(cè)的圖片與視頻結(jié)果會(huì)存儲(chǔ)在save_data目錄下。圖4-5圖片和視頻保存頁面圖4.4總結(jié)針對(duì)設(shè)計(jì)出的可視化強(qiáng)的PCB缺陷檢測(cè)界面,具備以下主要特性:(1)支持多種輸入源:界面應(yīng)支持圖片、視頻以及連接的攝像頭進(jìn)行PCB板缺陷檢測(cè),以滿足用戶不同的檢測(cè)需求。(2)批量檢測(cè)功能:界面應(yīng)支持圖片的批量檢測(cè),使用戶能夠同時(shí)處理多張圖片,提高檢測(cè)效率。(3)實(shí)時(shí)顯示檢測(cè)信息:界面實(shí)時(shí)顯示目標(biāo)位置、目標(biāo)總數(shù)、置信度以及檢測(cè)用時(shí)等信息,以便用戶了解檢測(cè)過程和結(jié)果。(4)結(jié)果保存功能:界面應(yīng)支持圖片或視頻的檢測(cè)結(jié)果保存,以便用戶進(jìn)行后續(xù)分析或總結(jié)。(5)友好界面設(shè)計(jì):簡潔直觀的界面設(shè)計(jì)至關(guān)重要,以便用戶能輕松完成檢測(cè)任務(wù)。(6)靈活定制性:界面應(yīng)具有一定的靈活性和可定制性,以滿足不同用戶的需求和喜好。(7)性能優(yōu)化:針對(duì)大規(guī)模圖片或視頻的檢測(cè),界面應(yīng)進(jìn)行性能優(yōu)化,確保檢測(cè)速度和效率。綜合設(shè)計(jì)高效的PCB缺陷檢測(cè)界面,核心功能包括多種輸入源支持、批量檢測(cè)、實(shí)時(shí)信息顯示、結(jié)果保存功能以及友好的用戶界面。這樣的設(shè)計(jì)有助于提升用戶操作效率,優(yōu)化檢測(cè)流程,最終提高生產(chǎn)效率和質(zhì)量管理水平。同時(shí),界面的靈活性和性能優(yōu)化可滿足不同用戶的需求,并確保在處理大規(guī)模數(shù)據(jù)時(shí)保持高效率。

總結(jié)與展望總結(jié)設(shè)計(jì)出的PCB缺陷檢測(cè)系統(tǒng)作為畢業(yè)設(shè)計(jì)項(xiàng)目,是一次充滿挑戰(zhàn)和成長的經(jīng)歷。在整個(gè)設(shè)計(jì)過程中,我遇到了許多技術(shù)和團(tuán)隊(duì)合作上的挑戰(zhàn),同時(shí)也獲得了許多寶貴的經(jīng)驗(yàn)和收獲。在技術(shù)方面,我不僅需要深入研究圖像處理和機(jī)器學(xué)習(xí)領(lǐng)域的相關(guān)知識(shí),還需要將這些理論知識(shí)應(yīng)用到實(shí)際項(xiàng)目中。在選擇合適的算法、調(diào)優(yōu)參數(shù)、優(yōu)化性能等方面,我付出了大量的時(shí)間和精力。通過這一過程,我對(duì)圖像處理和機(jī)器學(xué)習(xí)技術(shù)有了更深入的理解,也提升了解決實(shí)際問題的能力。在團(tuán)隊(duì)協(xié)作方面,畢業(yè)設(shè)計(jì)項(xiàng)目通常需要與指導(dǎo)老師或團(tuán)隊(duì)成員共同合作。在與團(tuán)隊(duì)成員的溝通中,我學(xué)會(huì)了傾聽他人意見、提出自己的想法、合理分配任務(wù)以及解決問題等技能。通過團(tuán)隊(duì)的協(xié)作,我們共同克服了項(xiàng)目中的各種挑戰(zhàn),最終順利完成了高水準(zhǔn)的畢業(yè)設(shè)計(jì)。在個(gè)人成長方面,畢業(yè)設(shè)計(jì)項(xiàng)目是我大學(xué)生涯中的一個(gè)重要轉(zhuǎn)折點(diǎn)。通過這一項(xiàng)目,我不僅提升了專業(yè)技能和團(tuán)隊(duì)協(xié)作能力,還培養(yǎng)了獨(dú)立解決問題和應(yīng)對(duì)壓力的能力。完成這一項(xiàng)目讓我感到了巨大的成就感和自豪感,也為我未來的職業(yè)發(fā)展奠定了堅(jiān)實(shí)的基礎(chǔ)。設(shè)計(jì)PCB缺陷檢測(cè)系統(tǒng)作為畢業(yè)設(shè)計(jì)項(xiàng)目,是一次充滿挑戰(zhàn)和成長的經(jīng)歷。通過這一項(xiàng)目,我不僅獲得了專業(yè)知識(shí)和技能,還培養(yǎng)了團(tuán)隊(duì)合作精神和解決問題的能力,為我未來的職業(yè)發(fā)展奠定了良好的基礎(chǔ)。展望對(duì)于設(shè)計(jì)出的基于深度學(xué)習(xí)的PCB板缺陷檢測(cè)的研究與實(shí)現(xiàn)作為畢業(yè)設(shè)計(jì)項(xiàng)目,展望未來有以下幾個(gè)方面的發(fā)展:(1)技術(shù)改進(jìn)與優(yōu)化:隨著技術(shù)的不斷發(fā)展,可以進(jìn)一步改進(jìn)和優(yōu)化PCB缺陷檢測(cè)系統(tǒng)的算法和性能。例如,引入深度學(xué)習(xí)技術(shù)來提高檢測(cè)準(zhǔn)確率和效率,或者通過并行計(jì)算和分布式系統(tǒng)來優(yōu)化系統(tǒng)的性能。(2)功能擴(kuò)展與增強(qiáng):可以考慮為PCB缺陷檢測(cè)系統(tǒng)增加更多的功能和特性,如支持更多類型的缺陷檢測(cè)、提供更豐富的檢測(cè)結(jié)果展示和分析功能、支持多種數(shù)據(jù)格式的輸入輸出等,以滿足不同用戶的需求。(3)實(shí)時(shí)監(jiān)控與智能化:未來的發(fā)展方向之一是將PCB缺陷檢測(cè)系統(tǒng)與物聯(lián)網(wǎng)技術(shù)相結(jié)合,以實(shí)現(xiàn)對(duì)生產(chǎn)線上PCB缺陷的實(shí)時(shí)監(jiān)控和反饋。同時(shí),可以探索將人工智能技術(shù)應(yīng)用于系統(tǒng)中,以實(shí)現(xiàn)更智能化的缺陷檢測(cè)和分析。(4)應(yīng)用拓展與行業(yè)普及:除了在PCB生產(chǎn)領(lǐng)域的應(yīng)用之外,還可以將PCB缺陷檢測(cè)系統(tǒng)拓展到其他行業(yè),如電子設(shè)備制造、汽車制造等領(lǐng)域,為更多行業(yè)提供高效準(zhǔn)確的缺陷檢測(cè)解決方案。(5)學(xué)術(shù)研究與知識(shí)共享:作為一個(gè)具有學(xué)術(shù)研究價(jià)值的課題,PCB缺陷檢測(cè)系統(tǒng)可以成為未來學(xué)術(shù)研究的一個(gè)重要方向。通過持續(xù)的學(xué)術(shù)研究和知識(shí)共享,可以推動(dòng)該領(lǐng)域的發(fā)展,并為相關(guān)領(lǐng)域的技術(shù)進(jìn)步做出貢獻(xiàn)。綜上所述,設(shè)計(jì)出的PCB缺陷檢測(cè)系統(tǒng)在未來有著廣闊的發(fā)展空間和前景。通過持續(xù)的技術(shù)創(chuàng)新、功能增強(qiáng)、應(yīng)用拓展和學(xué)術(shù)研究,可以進(jìn)一步提升系統(tǒng)的性能和應(yīng)用范圍,為相關(guān)領(lǐng)域的發(fā)展帶來更多的機(jī)遇和挑戰(zhàn)。

參考文獻(xiàn)莊嚴(yán).印刷電子學(xué)的發(fā)展[C]//中國電子學(xué)會(huì)元件分會(huì).中國電子學(xué)會(huì)第十六屆電子元件學(xué)術(shù)年會(huì)論文集.中國電子科技集團(tuán)第七研究所,2010:2.Du-MingTsai;Ron-HwaYang.Aneigenvalue-basedsimilaritymeasureanditsapplicationindefectdetection[J].ImageandVisionComputing,2005(12).GarrettJJ.Ajax:ANewApproachtoWebApplications[EB/OL]./publications/essays/archives/000385.php,2005-2-18劉毅.基于深度學(xué)習(xí)的PCB板缺陷檢測(cè)方法的研究與實(shí)現(xiàn)[D].武漢工程大學(xué),2023.DOI:10.27727/ki.gwhxc.2023.000115.李洋.基于深度學(xué)習(xí)的PCB缺陷檢測(cè)研究與實(shí)現(xiàn)[D].內(nèi)蒙古大學(xué),2022.DOI:10.27224/ki.gnmdu.2022.001195.CaiW,WeiZ.Remotesensingimageclassificationbasedonacross-attentionmechanismandgraphconvolution[J].IEEEGeoscienceandRemoteSensingLetters,2020,19:1-5.葛蕓,馬琳,葉發(fā)茂,等..基于多尺度池化和范數(shù)注意力機(jī)制的遙感圖像檢索[J].電子與信息學(xué)報(bào),2022,44(02):543-551.張強(qiáng),楊吉斌,張雄偉,等..CS-Softmax:一種基于余弦相似性的Softmax損失函數(shù)[J].計(jì)算機(jī)研究與發(fā)展,59(04),936-949.AkhtarN,RagavendranU.InterpretationofintelligenceinCNN-poolingprocesses:Amethodologicalsurvey[J].NeuralComputingandApplications,2020,32(3):879-898.杜圣杰,賈曉芬,黃友銳,等.面向CNN模型圖像分類任務(wù)的高效激活函數(shù)設(shè)計(jì)[J].紅外與激光工程,51(03),493-501.GanzR,GillTJ,GautierE,etal.Surgicaldislocationoftheadulthip:AtechniquewithfullaccesstotheFFMoralheadandacetabulumwithouttheriskofavascularnecrosis[J].TheJournalofBoneandJointSurgery,2001,83(8):1119-1124.關(guān)凱凱.基于深度學(xué)習(xí)的PCB缺陷檢測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].陜西科技大學(xué),2023.DOI:10.27290/ki.gxbqc.2023.000295.王彩云,吳釔達(dá),王佳寧,等..基于改進(jìn)的CNN和數(shù)據(jù)增強(qiáng)的SAR目標(biāo)識(shí)別[J].系統(tǒng)工程與電子技術(shù),44(08),2483-2487.IsmailFH,LucasB,ForestierG,etal.Inceptiontime:Findingalexnetfortimeseriesclassification[J].DataMiningandKnowledgeDiscovery,2020,34(6):1936-1962.韓丁,王斌,王亮,等.基于改進(jìn)VGGNet的羊個(gè)體疼痛識(shí)別方法[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2022,53(06),311-317.KhanRU,ZhangX,KumarR.Analysisofresnetandgooglenetmodelsformalwaredetection[J].JournalofComputerVirologyandHackingTechniques,2019,15:29-37.LiuW,AnguelovD,ErhanD,etal.Ssd:Singleshotmultiboxdetector[C].ComputerVision-ECCV2016:14thEuropeanConference.Amsterdam,Netherlands:SpringerInternationalPublishing,2016:21-37.謝競,鄧月明,王潤民.改進(jìn)YOLOv8s的交通標(biāo)識(shí)檢測(cè)算法[J/OL].計(jì)算機(jī)工程,1-16[2024-04-10]./10.19678/j.issn.1000-3428.0068742.BochkovskiyA,WangCY,LiaoHYM.Yolov4:Optimalspeedandaccuracyofobjectdetection[J].arXivpreprintarXiv:2004.10934,2020.GhiasiG,LinTY,LeQV.Nas-fpn:Learningscalablefeaturepyramidarchitectureforobjectdetection[C]//ProceedingsoftheIEEE/CVFconferenceoncomputervisionandpatternrecognition.2019:7036-7045.陳培良.IPC標(biāo)準(zhǔn)剛性印制板的鑒定及性能規(guī)范[J].印制電路信息,1997,(02):3-40.

附錄1部分關(guān)鍵源碼及解釋(1)使用LabelMe標(biāo)注工具對(duì)每張圖片中的PCB缺陷目標(biāo)邊框(BoundingBox)與類型進(jìn)行標(biāo)注之后,我們需要新建一個(gè)data.yaml文件,用于存儲(chǔ)訓(xùn)練數(shù)據(jù)的路徑及模型需要進(jìn)行檢測(cè)的類別。YOLOv8在進(jìn)行模型訓(xùn)練時(shí),會(huì)讀取該文件的信息,用于進(jìn)行模型的訓(xùn)練與驗(yàn)證。data.yaml的具體內(nèi)容如下:與驗(yàn)證。data.yaml的具體內(nèi)容如下:train:E:\MyCVProgram\PCBDetection\datasets\PCB_DATASET\train#trainimages(relativeto'path')128imagesval:E:\MyCVProgram\PCBDetection\datasets\PCB_DATASET\val#valimages(relativeto'path')128imagestest:#valimages(optional)#numberofclassesnc:6#Classesnames:["missing_hole","mouse_bite","open_circuit","short","spur","spurious_copper"](2)數(shù)據(jù)準(zhǔn)備完成后,通過調(diào)用train.py文件進(jìn)行模型訓(xùn)練,epochs參數(shù)用于調(diào)整訓(xùn)練的輪數(shù),batch參數(shù)用于調(diào)整訓(xùn)練的批次大小【根據(jù)內(nèi)存大小調(diào)整,最小為1】,代碼如下:#coding:utf-8fromultralyticsimportYOLO#加載模型model=YOLO("yolov8n.pt")#加載預(yù)訓(xùn)練模型#Usethemodelif__name__=='__main__':#Usethemodelresults=model.train(data='datasets/PCB_DATASET/data.yaml',epochs=250,batch=4)#訓(xùn)練模型#將模型轉(zhuǎn)為onnx格式#success=model.export(format='onnx')(3)通過設(shè)置垂直表頭的大小和列寬度,調(diào)整了表格的外觀,使其更適合顯示數(shù)據(jù)??梢栽O(shè)置表格的行為,使用戶可以通過選擇整行來操作數(shù)據(jù)??梢噪[藏垂直表頭,這樣用戶就看不到列標(biāo)題了。可以啟用交替的行顏色,以增強(qiáng)表格的可讀性。#更新檢測(cè)信息表格#self.timer_info=QTimer()#保存視頻self.timer_save_video=QTimer()#表格self.ui.tableWidget.verticalHeader().setSectionResizeMode(QHeaderView.Fixed)self.ui.tableWidget.verticalHeader().setDefaultSectionSize(40)self.ui.tableWidget.setColumnWidth(0,80)#設(shè)置列寬self.ui.tableWidget.setColumnWidth(1,200)self.ui.tableWidget.setColumnWidth(2,150)self.ui.tableWidget.setColumnWidth(3,90)self.ui.tableWidget.setColumnWidth(4,230)#self.ui.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)#表格鋪滿#self.ui.tableWidget.horizontalHeader().setSectionResizeMode(0,QHeaderView.Interactive)#self.ui.tableWidget.setEditTriggers(QAbstractItemView.NoEditTriggers)#設(shè)置表格不可編輯self.ui.tableWidget.setSelectionBehavior(QAbstractItemView.SelectRows)#設(shè)置表格整行選中self.ui.tableWidget.verticalHeader().setVisible(False)#隱藏列標(biāo)題self.ui.tableWidget.setAlternatingRowColors(True)#表格背景交替(4)這段代碼通過打開圖片文件,并使用預(yù)訓(xùn)練的目標(biāo)檢測(cè)模型對(duì)其進(jìn)行分析,最終將檢測(cè)到的目標(biāo)的位置、類別和置信度信息存儲(chǔ)在相應(yīng)的變量中,以供后續(xù)處理和顯示。defopen_img(self):ifself.cap:#打開圖片前關(guān)閉攝像頭self.video_stop()self.is_camera_open=Falseself.ui.CaplineEdit.setText('攝像頭未開啟')self.cap=None#彈出的窗口名稱:'打開圖片'#默認(rèn)打開的目錄:'./'#只能打開.jpg與.gif結(jié)尾的圖片文件#file_path,_=QFileDialog.getOpenFileName(self.ui.centralwidget,'打開圖片','./',"Image

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論