陳 緒,陳志瀾,2
(1.上海海洋大學(xué) 工程學(xué)院,上海 201306;2.上海建橋?qū)W院 機(jī)電學(xué)院,上海 201306)
隨著計(jì)算機(jī)技術(shù)的發(fā)展,計(jì)算機(jī)視覺作為人工智能的一個(gè)重要分支,已經(jīng)被廣泛應(yīng)用于各行各業(yè),其中基于視覺的零件識(shí)別方法已成為智能制造的研究熱點(diǎn)之一,基于以上背景,本文深入研究了基于遷移學(xué)習(xí)的零部件識(shí)別方法,拓寬了遷移學(xué)習(xí)的應(yīng)用領(lǐng)域。
在零件識(shí)別領(lǐng)域中,傳統(tǒng)方法基本采用特征提取的方法來處理圖像信息,即設(shè)計(jì)者針對(duì)要識(shí)別的工程零件問題進(jìn)行人工特征提?。ɡ邕吘壧卣?、顏色特征等、圓特征、形狀特征等)[1,2],但該方法常受到目標(biāo)物體的形狀、大小、角度變化、外部光照等因素的影響,因而所提取特征的泛化能力不強(qiáng),魯棒性能較差。
深度學(xué)習(xí)的概念由Hinton等人于2006年首先提出[3],直到Krizhevsky等人使用深度學(xué)習(xí)的方法[4]在2012年的 ImageNet比賽中取得突破性成績(jī)后,深度學(xué)習(xí)呈現(xiàn)出了爆發(fā)式發(fā)展。近幾年深度學(xué)習(xí)不但被廣泛的應(yīng)用于語音識(shí)別、圖像識(shí)別、機(jī)器翻譯等領(lǐng)域,而且在工程、醫(yī)藥、物流、檢索等工程項(xiàng)目上成功應(yīng)用。深度學(xué)習(xí)在其機(jī)理上是模仿生物神經(jīng)元的運(yùn)作機(jī)制,在其處理圖像、文本等信息時(shí),通過一層層的網(wǎng)絡(luò),將原始信息一層層的進(jìn)行由簡(jiǎn)單到復(fù)雜,低階到高階的描述。相較傳統(tǒng)的人工提取特征的方法,深度學(xué)習(xí)的優(yōu)勢(shì)在于特征提取環(huán)節(jié)不需要使用者預(yù)先選定提取何種特征,而是采用一種通用的學(xué)習(xí)過程使模型從大規(guī)模數(shù)據(jù)中學(xué)習(xí)進(jìn)而學(xué)得目標(biāo)具備的特征[5,6]。遷移學(xué)習(xí)是以深度卷積神經(jīng)網(wǎng)絡(luò)為基礎(chǔ),通過修改一個(gè)已經(jīng)經(jīng)過完整訓(xùn)練的深度卷積神經(jīng)網(wǎng)絡(luò)模型的最后幾層連接層,再使用針對(duì)特定問題而建立的小數(shù)據(jù)集進(jìn)行訓(xùn)練,以使其能夠適用于一個(gè)新問題。
本文針對(duì)產(chǎn)品裝配過程中經(jīng)常使用的標(biāo)準(zhǔn)件,即螺母、螺栓、螺釘和墊片四種零件的識(shí)別。在建立螺母、螺栓、螺釘和墊片數(shù)據(jù)集基礎(chǔ)上,分別構(gòu)建遷移學(xué)習(xí)深度卷積神經(jīng)網(wǎng)絡(luò)識(shí)別模型和普通深度卷積神經(jīng)網(wǎng)絡(luò)識(shí)別模型,并使用螺母、螺栓、螺釘和墊片數(shù)據(jù)集對(duì)兩種模型進(jìn)行訓(xùn)練,最后將兩種識(shí)別模型的訓(xùn)練過程和結(jié)果進(jìn)行比較與分析。
本文設(shè)計(jì)的螺母、螺栓、螺釘和墊片四種零件的識(shí)別模型整體框架如圖1所示,四種零件通過圖片預(yù)處理的方式在輸入層進(jìn)行圖片預(yù)處理,經(jīng)過預(yù)處理的四種零件圖片數(shù)據(jù)集放入到深度卷積神經(jīng)網(wǎng)經(jīng)網(wǎng)絡(luò)識(shí)別模型中。四種零件的圖片經(jīng)過深度卷積神經(jīng)網(wǎng)絡(luò)模型的每一層的網(wǎng)絡(luò)時(shí),先是通過低層特征的組合,經(jīng)由簡(jiǎn)單的描述(邊緣信息、顏色信息、亮度信息等)然后再將低層特征轉(zhuǎn)為更加抽象的高層特征,直至復(fù)雜抽象的描述,最終完成特征值的提取。
圖1 零件識(shí)別模型整體框架
零件識(shí)別模型整體框架由輸入層、卷積層、池化層、全連接層組成以及最后的Softmax層組成。在本文實(shí)驗(yàn)的兩類識(shí)別模型中,進(jìn)入輸入層的螺母、螺栓、螺釘和墊片四種零件的圖片大小經(jīng)過預(yù)處理,轉(zhuǎn)化為299×299×3的像素矩陣。卷積層是卷積神經(jīng)網(wǎng)絡(luò)中最為重要的部分,卷積層中每一個(gè)節(jié)點(diǎn)的輸入只是上一層神經(jīng)網(wǎng)絡(luò)的一小塊,稱為卷積核。本文實(shí)驗(yàn)的兩種識(shí)別模型,其卷積核的大小均為3×3、5×5和1×3,卷積層的目的是試圖將上一層螺母、螺栓、螺釘和墊片四種零件圖片的處理結(jié)果(原始圖片或已經(jīng)過特征提?。┓譃槊恳恍K進(jìn)行更加深入的分析而得到抽象程度更高的特征。本文實(shí)驗(yàn)的兩種識(shí)別模型均采用3×3的最大池化層,其可以通俗理解為將高分辨率零件圖片轉(zhuǎn)化為低分辨率,且不喪失過多的特征信息。全連接層采用的是傳統(tǒng)全連接神經(jīng)網(wǎng)絡(luò),在整個(gè)卷積神經(jīng)網(wǎng)絡(luò)的最后一般都會(huì)有1到2個(gè)全連接層與Softmax層給出最后的分類結(jié)果,在本文實(shí)驗(yàn)的兩種識(shí)別模型均為兩層,最后以4096個(gè)神經(jīng)元與Softmax層相連。Softmax層主要用于分類問題,通過Softmax層,可以得到當(dāng)前測(cè)試零件圖片屬于不同種類的概率分布情況。假設(shè)Softmax層上一層輸出為y1,y2,y3,…,yn,經(jīng)過Softmax回歸處理之后的輸出為:
式(1)表示上層神經(jīng)網(wǎng)絡(luò)的輸出被用作置信度來生成新的輸出,新的輸出滿足概率分布的所有要求,因此成為一個(gè)概率分布,因此推導(dǎo)出一張零件圖片為不同類別的概率分別有多大,從而完成最終的分類。
作為遷移學(xué)習(xí)的代表Inception V3模型是GoogLeNet[7]模型的第三代改進(jìn)模型,Inception V3模型的特點(diǎn)與傳統(tǒng)的非GoogLeNet模型相比,它不是簡(jiǎn)單的采用卷積層的層層疊加方式,而是采用Inception模塊進(jìn)行層層疊加,如圖2所示,Inception模塊可以同時(shí)將螺母、螺栓、螺釘和墊片四種零件圖片所提取的特征值進(jìn)行邊卷積和邊池化,一個(gè)模塊內(nèi)可以進(jìn)行多次的卷積和池化,可以說每一模塊將卷積神經(jīng)網(wǎng)絡(luò)多個(gè)模塊的特征結(jié)合起來,不僅使零件識(shí)別模型的精度大大提高,而且減少了大量的復(fù)雜計(jì)算工作量,從而提高運(yùn)算效率[8]。
圖2 Inception v3的Inception模塊
與傳統(tǒng)網(wǎng)絡(luò)使用SGD(Stochastic Gradient Descent)反向傳播算法不同的是Inception V3模型在訓(xùn)練過程中使用基于Adam(adaptive moment estimation)反向傳播算法來基于訓(xùn)練數(shù)據(jù)迭代更新神經(jīng)網(wǎng)絡(luò)權(quán)重。此外,用于評(píng)判訓(xùn)練誤差的損失函數(shù)使用的是交叉熵(cross entropy):
式(2)是通過概率分布q來表達(dá)概率分布p的困難程度,兩個(gè)概率分布的距離,其值越小,兩個(gè)概率分布越接近。當(dāng)使用交叉熵作為神經(jīng)網(wǎng)絡(luò)的損失函數(shù)時(shí),p代表的是正確答案,q代表的是預(yù)測(cè)值,這兩個(gè)概率分布距離越短說明預(yù)測(cè)值越靠近正確答案。
遷移學(xué)習(xí)是將一個(gè)問題上訓(xùn)練好的模型通過簡(jiǎn)單的調(diào)整使其適用于一個(gè)新的問題,可以保留訓(xùn)練好的Inception V3模型中所有卷積層的參數(shù),只需要建立一個(gè)或幾個(gè)全連接層將最后的全連接層替換[9]。一個(gè)新的圖片通過使用大數(shù)據(jù)集訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò)直到瓶頸層(全連接層之前的網(wǎng)絡(luò)層稱之為瓶頸層(bottleneck))的過程可以看成是對(duì)圖像進(jìn)行特征提取的過程。由于在訓(xùn)練好的Inception V3模型上,瓶頸層的輸出在通過全連接層神經(jīng)網(wǎng)絡(luò)可以很好的區(qū)分原先數(shù)據(jù)集上1000種類別的圖像,所以有理由認(rèn)為瓶頸層輸出的節(jié)點(diǎn)向量可以被視為任何圖像的一個(gè)更加精簡(jiǎn)且表達(dá)能力更強(qiáng)的特征向量[10]。所以在本文自建的數(shù)據(jù)集上可以直接利用這個(gè)訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型對(duì)圖像進(jìn)行特征提取,然后再將提取到的特征向量作為輸入來訓(xùn)練一個(gè)新的單層全連接神經(jīng)網(wǎng)絡(luò)處理四種零件的分類問題。一般來說遷移學(xué)習(xí)不如完全重新訓(xùn)練,但所需的時(shí)間和訓(xùn)練樣本遠(yuǎn)小于訓(xùn)練完整的模型。所以考慮對(duì)本文的問題和現(xiàn)有條件,使用遷移學(xué)習(xí)解決四種零件分類問題將是一個(gè)很好的選擇。
本文提出了一種基于深度卷積神經(jīng)網(wǎng)絡(luò)模型對(duì)零件進(jìn)行分類的方法,采用的是一種由多層卷積層和全連接層以及一些用于優(yōu)化網(wǎng)絡(luò)的層或方法組成的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),使用遷移學(xué)習(xí)的方法訓(xùn)練模型,其主要次數(shù) 包括:
1)預(yù)訓(xùn)練好模型并用自建零件數(shù)據(jù)集進(jìn)一步微調(diào):使用的是在ImageNet數(shù)據(jù)集上預(yù)訓(xùn)練完成的網(wǎng)絡(luò)模型,這里使用的是在以上數(shù)據(jù)集上得到訓(xùn)練的Inception V3模型,再使用自建的零件數(shù)據(jù)集進(jìn)行微調(diào)。
2)建立零件圖像的特征庫:一般在卷積神經(jīng)網(wǎng)絡(luò)內(nèi)部進(jìn)行的,可以理解為每一步卷積乘之后所得到的權(quán)重與偏差都是特征提取的一部分,整個(gè)網(wǎng)絡(luò)輸出可以理解為正在建立零件圖像的特征庫。
3)輸入所需查詢的零件圖像進(jìn)行圖像識(shí)別:每次輸入圖像進(jìn)行識(shí)別時(shí)都是在使用此網(wǎng)絡(luò)調(diào)用訓(xùn)練過程所保留的權(quán)重和偏差進(jìn)行一次前向傳播計(jì)算,以得到識(shí)別結(jié)果。
在相同迭代次數(shù)條件下,使用同樣的螺母、螺栓、螺釘和墊片四種零件數(shù)據(jù)集進(jìn)行訓(xùn)練,本文所使用的遷移學(xué)習(xí)深度卷積神經(jīng)網(wǎng)絡(luò)模型與普通深度卷積神經(jīng)網(wǎng)絡(luò)模型,對(duì)訓(xùn)練過程和訓(xùn)練結(jié)果進(jìn)行對(duì)比。
本文實(shí)驗(yàn)電腦配置為Intel Core i5 CPU,裝載Windows10系統(tǒng),通過Python調(diào)用由谷歌開發(fā)的一種完全開源的深度學(xué)習(xí)庫Tensorflow進(jìn)行訓(xùn)練,分別訓(xùn)練本文所構(gòu)建的遷移學(xué)習(xí)深度卷積神經(jīng)網(wǎng)絡(luò)模型和普通深度卷積神經(jīng)網(wǎng)絡(luò)模型。最后使用Python編寫螺母、螺栓、螺釘和墊片專用測(cè)試程序,對(duì)上述兩類模型的訓(xùn)練結(jié)果進(jìn)行實(shí)驗(yàn)測(cè)試。
本文以螺母、螺栓、螺釘和墊片四種零件作為識(shí)別對(duì)象和訓(xùn)練對(duì)象,實(shí)驗(yàn)數(shù)據(jù)集的自建原始圖片通過手工拍攝或網(wǎng)上圖片庫搜集完成。四類零件的各種圖片共計(jì)1474張,其中螺栓207張、螺母261張、螺釘507張、墊片499張,四類零件的部分自建數(shù)據(jù)集圖片如圖3所示。
訓(xùn)練過程中的數(shù)據(jù)集按所規(guī)定的比例,分別建成訓(xùn)練集(train set)和驗(yàn)證集(validation set)。兩類模型在完成上述訓(xùn)練過程后,為定量確定兩類模型的最終識(shí)別精度,本文還建立了螺母、螺栓、螺釘和墊片的測(cè)試集(test set)。
圖3 自建數(shù)據(jù)集圖片
訓(xùn)練集:以學(xué)習(xí)樣本數(shù)據(jù)集作為訓(xùn)練模型。
驗(yàn)證集:每個(gè)迭代步數(shù)完成后用來測(cè)試當(dāng)前模型的準(zhǔn)確率。
測(cè)試集:測(cè)試訓(xùn)練好的模型分辨能力和精確度。
以四類零件總圖片1474張的80%圖片作為訓(xùn)練集的數(shù)據(jù)采集,驗(yàn)證集為四類零件總圖片1474張的20%圖片作為驗(yàn)證數(shù)據(jù)采集,測(cè)試集為四類零件總圖片1474張以外的120張圖片作為測(cè)試數(shù)據(jù)采集。圖4、圖5和圖6分別為兩類模型訓(xùn)練過程的訓(xùn)練精度對(duì)比、驗(yàn)證精度對(duì)比和損失函數(shù)值對(duì)比圖,其中橫坐標(biāo)X軸為迭代步數(shù),圖4(a)、圖4(b)、圖5(a)、圖5(b)的縱坐標(biāo)Y軸為精度值(%),圖6(a)、圖6(b)的縱坐標(biāo)Y軸為損失函數(shù)值。
圖4(a)表示普通模型的訓(xùn)練精度,在迭代500次數(shù)時(shí),其訓(xùn)練精度達(dá)到74%。迭代1800步時(shí),訓(xùn)練精度已達(dá)到82%。當(dāng)?shù)螖?shù)繼續(xù)增加時(shí),訓(xùn)練精度與迭代次數(shù)的變化已呈現(xiàn)收斂趨勢(shì),其訓(xùn)練精度基本維持在90%左右,在迭代4000終止次數(shù)時(shí),其訓(xùn)練精度仍保持在94%。圖4(b)為遷移學(xué)習(xí)模型的訓(xùn)練精度,在迭代200次數(shù)時(shí),其訓(xùn)練精度達(dá)到95%。迭代500步時(shí),訓(xùn)練精度已達(dá)到96%。當(dāng)?shù)螖?shù)繼續(xù)增加時(shí),訓(xùn)練精度與迭代次數(shù)的變化同樣出現(xiàn)收斂趨勢(shì),其訓(xùn)練精度基本維持在99%左右,在迭代4000終止次數(shù)時(shí),其訓(xùn)練精度仍保持在99%。由圖4(a)和圖4(b)對(duì)比可知,其一,在達(dá)到同樣訓(xùn)練精度時(shí),遷移學(xué)習(xí)模型的迭代次數(shù)要比普通模型的迭代次數(shù)少得多,這表明遷移學(xué)習(xí)模型的訓(xùn)練效率較高。其二,普通模型在迭代1800次數(shù)時(shí)進(jìn)入收斂趨勢(shì),訓(xùn)練精度為90%,遷移學(xué)習(xí)模型在迭代500次數(shù)時(shí)就進(jìn)入收斂趨勢(shì),訓(xùn)練精度為96%。訓(xùn)練精度在同樣收斂迭代次數(shù)時(shí),遷移學(xué)習(xí)模型的訓(xùn)練精度值遠(yuǎn)比普通模型的訓(xùn)練精度高10%。
圖4 兩類模型的訓(xùn)練精度對(duì)比
圖5 兩類模型的驗(yàn)證精度對(duì)比
圖5(a)表示普通模型的驗(yàn)證精度,在迭代500次數(shù)時(shí),其訓(xùn)練驗(yàn)證精度只有60%。迭代1800步時(shí),訓(xùn)練驗(yàn)證精度已達(dá)到71%。當(dāng)?shù)螖?shù)繼續(xù)增加時(shí),訓(xùn)練驗(yàn)證精度與迭代次數(shù)的變化已呈現(xiàn)收斂趨勢(shì),其訓(xùn)練驗(yàn)證精度基本維持在70%左右,在迭代4000終止次數(shù)時(shí),其驗(yàn)證精度仍保持在75%。圖5(b)為遷移學(xué)習(xí)模型的訓(xùn)練精度,在迭代50次數(shù)時(shí),其訓(xùn)練驗(yàn)證精度已達(dá)到90%。迭代500步時(shí),訓(xùn)練驗(yàn)證精度達(dá)到92%。當(dāng)?shù)螖?shù)繼續(xù)增加時(shí),訓(xùn)練驗(yàn)證精度與迭代次數(shù)的變化同樣出現(xiàn)收斂趨勢(shì),其訓(xùn)練驗(yàn)證精度基本維持在92%左右,在迭代4000終止次數(shù)時(shí),其訓(xùn)練驗(yàn)證精度仍保持在94%。由圖5(a)和圖5(b)對(duì)比可知,其一在達(dá)到同樣訓(xùn)練驗(yàn)證精度時(shí),遷移學(xué)習(xí)模型的迭代次數(shù)要比普通模型的迭代次數(shù)少得多,這表明遷移學(xué)習(xí)模型的訓(xùn)練效率高于普通模型的訓(xùn)練。其二普通模型在迭代1800次數(shù)時(shí)進(jìn)入收斂趨勢(shì),訓(xùn)練驗(yàn)證精度為71%,遷移學(xué)習(xí)模型在迭代500次數(shù)時(shí)就進(jìn)入收斂趨勢(shì),訓(xùn)練驗(yàn)證精度為92%。表明遷移學(xué)習(xí)模型比普通模型更快進(jìn)入收斂趨勢(shì)。其三普通模型在迭代4000步驗(yàn)證精度為75%,遷移學(xué)習(xí)模型在第4000步驗(yàn)證精度為94%,這表明訓(xùn)練驗(yàn)證精度在同樣收斂迭代次數(shù)后,遷移學(xué)習(xí)模型的訓(xùn)練驗(yàn)證精度值遠(yuǎn)比普通模型的訓(xùn)練驗(yàn)證精度高19%。
圖6 兩類模型的損失函數(shù)值對(duì)比
損失函數(shù)采用的是交叉熵函數(shù)方法所獲得的,具體見式(2)所述。圖6(a)表示普通模型的損失函數(shù)值,在迭代1000次時(shí),其訓(xùn)練的損失函數(shù)值為0.33。迭代次數(shù)為2000步時(shí),損失函數(shù)值為0.23。當(dāng)?shù)螖?shù)繼續(xù)增加時(shí),損失函數(shù)值與迭代次數(shù)的變化已呈現(xiàn)收斂趨勢(shì),其損失函數(shù)值基本維持在0.18左右,在迭代4000終止次數(shù)時(shí),其損失函數(shù)值仍保持在0.2047。圖5(b)為遷移學(xué)習(xí)模型的損失函數(shù)值,在迭代250次時(shí),其損失函數(shù)值下降到0.27。迭代1000步時(shí),損失函數(shù)值保持在0.14左右。當(dāng)?shù)螖?shù)繼續(xù)增加時(shí),損失函數(shù)值與迭代次數(shù)的變化同樣出現(xiàn)收斂趨勢(shì),其損失函數(shù)值基本維持在0.05左右,在迭代4000終止次數(shù)時(shí),其損失函數(shù)值仍保持在0.0475。由圖5(a)和圖5(b)對(duì)比可知,其一在達(dá)到同樣損失函數(shù)值時(shí),遷移學(xué)習(xí)模型的迭代次數(shù)要比普通模型的迭代次數(shù)少得多,這表明使用遷移學(xué)習(xí)模型具有較少迭代次數(shù)即可達(dá)到迅速收斂的效果,普通模型卻需要花費(fèi)較長(zhǎng)時(shí)間的迭代次數(shù)才能達(dá)到收斂趨勢(shì)。其二普通模型在迭代2000次數(shù)時(shí)進(jìn)入收斂趨勢(shì),損失函數(shù)值為0.23。遷移學(xué)習(xí)模型在迭代1000次數(shù)時(shí)就進(jìn)入收斂趨勢(shì),損失函數(shù)值保持在0.14左右。這表明損失函數(shù)值在同樣收斂迭代次數(shù)時(shí),遷移學(xué)習(xí)模型的損失函數(shù)值遠(yuǎn)比普通模型的損失函數(shù)值要低得多,即預(yù)測(cè)值也更加接近真實(shí)值。
表1為遷移學(xué)習(xí)模型的訓(xùn)練精度和驗(yàn)證精度所構(gòu)成的識(shí)別精度與迭代次數(shù)的關(guān)系,由表1所獲取的數(shù)據(jù)來看,隨著迭代次數(shù)增加,訓(xùn)練樣本與測(cè)試樣本的識(shí)別精度均呈現(xiàn)增加的趨勢(shì)。但當(dāng)訓(xùn)練的迭代次數(shù)達(dá)到500次左右,模型的識(shí)別精度已加入收斂階段,此時(shí)訓(xùn)練精度已達(dá)到96%、驗(yàn)證精度也達(dá)到92%,其識(shí)別精度基本與迭代次數(shù)的增幅沒有太大關(guān)系。由此可知,當(dāng)?shù)螖?shù)達(dá)到收斂階段后,繼續(xù)通過增加訓(xùn)練次數(shù)來提高識(shí)別精度是不現(xiàn)實(shí)的。另外,遷移學(xué)習(xí)模型在迭代500次收斂之后,其訓(xùn)練精度和驗(yàn)證精度依然分別在96%和92%有少許波動(dòng)和微量幅度變化,由此推論該遷移學(xué)習(xí)模型在訓(xùn)練過程中并未出現(xiàn)過擬合現(xiàn)象。
表1 識(shí)別精度與迭代次數(shù)關(guān)系
本文建立了包含螺母、螺栓、螺釘和墊片圖片每類30張共計(jì)120張所組成的測(cè)試集,分別對(duì)遷移學(xué)習(xí)模型和普通模型進(jìn)行測(cè)試。
圖7和圖8分別是遷移學(xué)習(xí)模型測(cè)試結(jié)果和普通模型測(cè)試結(jié)果,圖7和圖8中的每張圖片標(biāo)號(hào)解釋如下:圖中第一行NO.為圖片在測(cè)試集中第幾張的編號(hào),圖中的第二行至第五行分別為螺母、螺栓、螺釘和墊片的拼音標(biāo)注,score表示判斷為螺母、螺栓、螺釘和墊片的具體概率值,第六行分別為螺母、螺栓、螺釘、墊片的最終判定結(jié)果。
圖7 遷移學(xué)習(xí)模型測(cè)試結(jié)果
圖8 普通模型測(cè)試結(jié)果
由圖7和圖8為兩類模型的NO.3墊片測(cè)試結(jié)果,遷移學(xué)習(xí)模型判定墊片的概率非常大,其概率達(dá)到99.639%,普通模型判定墊片的概率僅為33.333%。NO.5為螺釘測(cè)試結(jié)果,遷移學(xué)習(xí)模型判定螺釘?shù)母怕蕿?3.663%,普通模型判定螺釘?shù)母怕蕿?9.062%。NO.9為螺母測(cè)試結(jié)果,遷移學(xué)習(xí)模型判定螺母的概率為99.992%,普通模型判定螺母的概率為0%。NO.12為螺栓測(cè)試結(jié)果,遷移學(xué)習(xí)模型判定螺栓的概率為68.205%,普通模型判定螺栓的概率為0.01%。兩種模型對(duì)于螺釘?shù)呐卸ǜ怕驶鞠嗤?,其概率統(tǒng)計(jì)值接近100%。但對(duì)于螺栓和螺母,遷移學(xué)習(xí)模型的實(shí)際判定結(jié)果遠(yuǎn)遠(yuǎn)高于普通模型判定結(jié)果,遷移學(xué)習(xí)模型判定分別為68.205%和99.992%,普通模型幾乎無法判定準(zhǔn)確。
此外,為更深入研究模型識(shí)別錯(cuò)誤的原因,本文還建立了遷移學(xué)習(xí)模型測(cè)試結(jié)果的混淆矩陣,如圖9所示,墊片、螺釘、螺母和螺栓的recall值(召回率:TP/(TP+FN))分別為93.3%、96.7%、86.7%和83.3%。對(duì)于墊片和螺母而言,墊片僅有的兩次錯(cuò)判被錯(cuò)判別為螺母,螺母有四次錯(cuò)判中有三次錯(cuò)判為墊片;對(duì)于螺釘和螺栓而言,螺釘僅有的一次錯(cuò)判被錯(cuò)判為螺栓,而螺栓的五次錯(cuò)判都是錯(cuò)判為螺釘;分析原因如下:從這四種零件形態(tài)上看,墊片與螺母具有很高的相似性,螺釘與螺栓也具有極高的相似性,因此模型判別錯(cuò)誤原因有一定的程度的可解釋性。
圖9 遷移學(xué)習(xí)模型混淆矩陣
表2 遷移學(xué)習(xí)模型與普通模型對(duì)比表
表2構(gòu)建了兩類模型的迭代次數(shù)、訓(xùn)練精度、驗(yàn)證精度和訓(xùn)練時(shí)長(zhǎng)等比較值,同時(shí)建立了包含螺母、螺栓、螺釘和墊片圖片各類30張共計(jì)120張所構(gòu)建的測(cè)試集,分別對(duì)遷移學(xué)習(xí)模型和普通模型進(jìn)行測(cè)試,測(cè)試精度如表2最后一欄所示。
由表2可知,訓(xùn)練精度上大數(shù)據(jù)模型的遷移學(xué)習(xí)精度較高于小數(shù)據(jù)模型的完整訓(xùn)練;訓(xùn)練過程驗(yàn)證精度和測(cè)試過程測(cè)試精度上遷移學(xué)習(xí)遠(yuǎn)遠(yuǎn)高于普通模型;且由這兩種模型的訓(xùn)練時(shí)間可知,遷移學(xué)習(xí)模型遠(yuǎn)遠(yuǎn)快于一個(gè)完整訓(xùn)練的普通模型。由此可見,使用遷移學(xué)習(xí)將會(huì)以較小的代價(jià)達(dá)到較高的目標(biāo)。
針對(duì)機(jī)械產(chǎn)品裝配過程中,大量使用典型標(biāo)準(zhǔn)件螺母、螺栓、螺釘和墊片的識(shí)別問題,研究了遷移學(xué)習(xí)深度卷積神經(jīng)網(wǎng)絡(luò)模型和普通深度卷積神經(jīng)網(wǎng)絡(luò)模型的零部件識(shí)別方法。
1)通過實(shí)驗(yàn)對(duì)兩類模型在訓(xùn)練精度、驗(yàn)證精度和損失函數(shù)值三個(gè)方面與迭代次數(shù)的比較,驗(yàn)證了采用較小樣本量,使用遷移學(xué)習(xí)模型在訓(xùn)練時(shí)間上所花費(fèi)的時(shí)間僅為普通模型的八分之一。
2)與普通模型相比,遷移學(xué)習(xí)模型在訓(xùn)練精度、驗(yàn)證精度和損失函數(shù)值均使用較少的迭代次數(shù)即可進(jìn)入收斂階段,但當(dāng)?shù)螖?shù)達(dá)到收斂階段時(shí),再提高模型的識(shí)別精度較為困難。
3)遷移學(xué)習(xí)模型在整體方面的識(shí)別精度值遠(yuǎn)遠(yuǎn)高于普通模型的識(shí)別精度值,并能有效防止過擬合現(xiàn)象。