冼 進(jìn),冼允廷,2,龐冬梅
(1.華南理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,廣東 廣州 510006;2.廣東優(yōu)算科技有限公司,廣東 佛山 528313)
電飯煲內(nèi)膽在工業(yè)高度自動(dòng)化生產(chǎn)過(guò)程中,偶爾會(huì)存在著一些瑕疵(次品),如劃痕、刮花、碰傷、麻點(diǎn)、堆油等缺陷,而其中的缺陷大部分都是極其微小,甚至是肉眼難以識(shí)別的,這些缺陷所造成的壞品率雖然不高,但是為了讓產(chǎn)品更具競(jìng)爭(zhēng)力,必然要求不良品不能最終出現(xiàn)在產(chǎn)品中,特別是在高端產(chǎn)品或銷(xiāo)往歐美等發(fā)達(dá)國(guó)家的產(chǎn)品中,更不應(yīng)該出現(xiàn)不良品。一方面,如果能提前發(fā)現(xiàn)不良的部件,提前排除,那就能打造成本優(yōu)勢(shì);另一方面,人工檢測(cè)一般在強(qiáng)燈光或者噪聲復(fù)雜的工作環(huán)境中,人容易疲勞、容易誤判,對(duì)經(jīng)驗(yàn)要求高,現(xiàn)在大部分工廠(chǎng)并不容易找到檢測(cè)工人,在各種因素驅(qū)動(dòng)下,設(shè)計(jì)開(kāi)發(fā)基于計(jì)算機(jī)視覺(jué)的電飯煲內(nèi)膽缺陷檢測(cè)系統(tǒng)代替人工檢測(cè),市場(chǎng)潛力無(wú)限[1-2]。
計(jì)算機(jī)視覺(jué)的電飯煲內(nèi)膽缺陷檢測(cè)系統(tǒng)有硬件和軟件兩大主要部分。硬件部分主要包括帶動(dòng)電飯煲內(nèi)膽移動(dòng)的生產(chǎn)線(xiàn)傳送帶、圖像采集設(shè)備及機(jī)構(gòu);軟件部分主要包括負(fù)責(zé)圖像的處理、分析和檢測(cè)功能軟件及存儲(chǔ)設(shè)備[3-4]。電飯煲內(nèi)膽外觀(guān)表面缺陷檢測(cè)采用深度學(xué)習(xí)的圖像檢測(cè)技術(shù),依靠深度學(xué)習(xí)算法訓(xùn)練出的檢測(cè)模型在檢測(cè)時(shí),模型會(huì)根據(jù)訓(xùn)練過(guò)程中自動(dòng)學(xué)習(xí)、自動(dòng)提取圖像特征,結(jié)合深度卷積神經(jīng)網(wǎng)絡(luò)模型對(duì)電飯煲內(nèi)膽缺陷智能感知,最后給出判斷結(jié)果[5]。
計(jì)算機(jī)視覺(jué)的電飯煲內(nèi)膽缺陷檢測(cè)系統(tǒng)一般包括工業(yè)快速照相機(jī)、視覺(jué)缺陷檢測(cè)軟件以及數(shù)據(jù)存儲(chǔ)器,可以代替人工質(zhì)檢,相當(dāng)于機(jī)器人的眼睛,通俗的講就是圖像處理,通過(guò)工業(yè)快速相機(jī)對(duì)需要檢測(cè)的物品或產(chǎn)品外表面進(jìn)行拍照,然后進(jìn)行圖像處理[6]。
工業(yè)相機(jī)應(yīng)用:電飯煲內(nèi)膽狀況需要全面感知,內(nèi)膽全方位的檢測(cè)需要對(duì)內(nèi)膽的里、外表面狀況進(jìn)行全面感知,單個(gè)工業(yè)攝像頭無(wú)法滿(mǎn)足感知需求,需要多攝像頭協(xié)同感知、圖像拼接。不規(guī)則內(nèi)膽需要攝像頭動(dòng)態(tài)調(diào)焦,攝像頭通常只在合適的焦距內(nèi)才能獲取清晰的圖片,而同一生產(chǎn)線(xiàn)上會(huì)生產(chǎn)尺寸各異的內(nèi)膽,不同批次、不同尺寸的產(chǎn)品需要手動(dòng)調(diào)節(jié)攝像頭焦距。硬件平臺(tái)搭建具體設(shè)計(jì)如圖1 所示。
圖1 機(jī)械結(jié)構(gòu)及現(xiàn)場(chǎng)模擬示意圖
1)在電飯煲內(nèi)膽切邊前的流水線(xiàn)上架設(shè)檢測(cè)架,用于檢測(cè)內(nèi)膽的外側(cè)缺陷。檢測(cè)架上方兩側(cè)分別架設(shè)兩個(gè)攝像頭,在檢測(cè)架后的流水線(xiàn)底加裝兩條微型滾輪使輸送帶平于外框,加裝氣動(dòng)欄桿,目的是防止內(nèi)膽跌落,加裝氣動(dòng)推出裝置。
2)對(duì)電飯煲內(nèi)膽外部進(jìn)行拍照,檢測(cè)外部是否有規(guī)定的缺陷,檢測(cè)結(jié)果返回給計(jì)算機(jī)主控制機(jī),檢測(cè)到內(nèi)膽外部有缺陷,則內(nèi)膽運(yùn)輸?shù)綒鈩?dòng)推出裝置缺口處,此時(shí)氣動(dòng)欄桿主動(dòng)打開(kāi),氣動(dòng)裝置把有瑕疵電飯煲內(nèi)膽推出至返工子線(xiàn),在返工子線(xiàn)尾及主線(xiàn)上加裝阻擋裝置,防止返工子線(xiàn)與主線(xiàn)的內(nèi)膽相互碰撞,再流到返工主線(xiàn)尾部進(jìn)行返工。
3)在電飯煲內(nèi)膽跌落翻轉(zhuǎn)后,切邊流水線(xiàn)的出口處再架設(shè)檢測(cè)架,用于檢測(cè)內(nèi)膽的內(nèi)部缺陷,檢測(cè)架上方兩側(cè)同樣架設(shè)兩個(gè)攝像頭并加裝標(biāo)識(shí)物分配器。
4)對(duì)電飯煲內(nèi)膽的內(nèi)部進(jìn)行拍照,檢測(cè)內(nèi)部是否有規(guī)定的缺陷,把檢測(cè)結(jié)果返回給主機(jī),如檢測(cè)到內(nèi)膽內(nèi)部有缺陷,則標(biāo)識(shí)物分配器將不良標(biāo)牌放到內(nèi)膽內(nèi)部。
電飯煲內(nèi)膽通過(guò)以上簡(jiǎn)單易用的全部硬件流程,配合軟件完成缺陷的檢測(cè),快速、高效、準(zhǔn)確、全自動(dòng)化得到高質(zhì)量成品。
軟件設(shè)計(jì)方案采用計(jì)算機(jī)視覺(jué)與深度學(xué)習(xí)等人工智能技術(shù)對(duì)內(nèi)膽缺陷進(jìn)行網(wǎng)絡(luò)建模,通過(guò)神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)和識(shí)別能力對(duì)缺陷進(jìn)行自動(dòng)檢測(cè)。通過(guò)機(jī)器智能實(shí)現(xiàn)檢測(cè),降低人力檢測(cè)成本和因疲勞等人力因素造成的誤檢和漏檢。檢測(cè)功能包括如下幾個(gè)部分:
1)數(shù)據(jù)采集模塊:數(shù)據(jù)采集模塊是通過(guò)協(xié)調(diào)多個(gè)攝像頭模組并結(jié)合機(jī)械臂裝置對(duì)內(nèi)膽的狀態(tài)進(jìn)行全方位的感知,抓取內(nèi)膽狀態(tài)的高清圖片或視頻,如圖2所示。
圖2 數(shù)據(jù)標(biāo)注與檢測(cè)瑕疵效果圖
2)深度學(xué)習(xí)網(wǎng)絡(luò)模塊:設(shè)計(jì)抗干擾的深度神經(jīng)網(wǎng)絡(luò)模型,利用攝像頭感知的數(shù)據(jù)進(jìn)行人工標(biāo)注,構(gòu)建內(nèi)膽缺陷數(shù)據(jù)集?;趦?nèi)膽缺陷數(shù)據(jù)集訓(xùn)練設(shè)計(jì)的抗干擾深度神經(jīng)網(wǎng)絡(luò)模型,通過(guò)訓(xùn)練使得深度神經(jīng)網(wǎng)絡(luò)模型能夠自動(dòng)檢測(cè)和識(shí)別內(nèi)膽的缺陷。
3)系統(tǒng)測(cè)試模塊:可靠的視覺(jué)檢測(cè)與識(shí)別系統(tǒng)也依賴(lài)于可靠的測(cè)試數(shù)據(jù)集。通過(guò)測(cè)試數(shù)據(jù)反向回饋神經(jīng)網(wǎng)絡(luò),進(jìn)行參數(shù)調(diào)整,以提高深度神經(jīng)網(wǎng)絡(luò)模型的檢測(cè)精度。
基于計(jì)算機(jī)視覺(jué)的電飯煲內(nèi)膽缺陷檢測(cè)系統(tǒng)包括:圖像采集和圖像處理、缺陷分類(lèi)與判斷控制幾個(gè)步驟,如圖3 所示。圖像處理是電飯煲內(nèi)膽智能缺陷檢測(cè)準(zhǔn)確性的核心前提條件,針對(duì)原始電飯煲內(nèi)膽缺陷數(shù)據(jù)為類(lèi)別不平衡的小樣本,利用深度卷積對(duì)抗網(wǎng)絡(luò)(DCGAN)對(duì)內(nèi)膽缺陷數(shù)據(jù)增強(qiáng),擴(kuò)充不同類(lèi)別缺陷樣本數(shù)據(jù),克服小樣本和不平衡問(wèn)題[7];同時(shí)考慮到電飯煲內(nèi)膽生產(chǎn)環(huán)境復(fù)雜、干擾眾多等問(wèn)題,設(shè)計(jì)基于鄰域連接空間約束的深度卷積神經(jīng)網(wǎng)絡(luò)方法,提高內(nèi)膽缺陷分類(lèi)方法及缺陷識(shí)別準(zhǔn)確率;為直觀(guān)準(zhǔn)確地評(píng)估電飯煲內(nèi)膽優(yōu)良狀態(tài),改進(jìn)網(wǎng)絡(luò)模型,用于電飯煲內(nèi)膽進(jìn)行像素級(jí)別的缺陷分割,實(shí)現(xiàn)電飯煲內(nèi)膽缺陷的準(zhǔn)確分割,精細(xì)刻畫(huà)缺陷輪廓,充分利用AI 等技術(shù)對(duì)電飯煲內(nèi)膽表面缺陷進(jìn)行檢測(cè)。通過(guò)深度學(xué)習(xí)構(gòu)建缺陷檢測(cè)模型,該模型的輸入數(shù)據(jù)即工業(yè)快速相機(jī)獲取的電飯煲內(nèi)膽圖像,經(jīng)過(guò)檢測(cè)模型的處理之后就會(huì)得到缺陷的圖像以及缺陷類(lèi)型等信息[8-9]。
圖3 電飯煲內(nèi)膽缺陷檢測(cè)過(guò)程框架圖
1)圖像處理:圖像處理包括采集原始產(chǎn)品圖像數(shù)據(jù)、圖像分析、圖像標(biāo)注、圖像識(shí)別、圖像存儲(chǔ)及輸出或顯示。充分利用人工智能技術(shù)進(jìn)行圖像采集后,被收集的圖像進(jìn)行初步標(biāo)注處理,之后會(huì)將初級(jí)階段的相關(guān)信息傳輸至控制終端進(jìn)行神經(jīng)網(wǎng)絡(luò)算法處理[10-12]。生成器對(duì)缺陷圖像進(jìn)行旋轉(zhuǎn)、縮放等操作,增強(qiáng)缺陷樣本空間多樣性,達(dá)到平衡數(shù)據(jù)[13]。判別器用來(lái)保證類(lèi)別分布空間多樣性,足夠容納全部類(lèi)別,強(qiáng)制要求類(lèi)別間的距離減小,形成顯著聚類(lèi)。在少量標(biāo)注數(shù)據(jù)場(chǎng)景下,能夠達(dá)到或者逼近充分樣本下的監(jiān)督深度學(xué)習(xí)模型性能,整個(gè)過(guò)程如圖4 所示。
圖4 基于自監(jiān)督學(xué)習(xí)方法對(duì)數(shù)據(jù)進(jìn)行增強(qiáng)
2)缺陷分類(lèi):各類(lèi)電飯煲內(nèi)膽表面情況復(fù)雜,檢測(cè)目標(biāo)的位置、大小、形狀和紋理等差異較大,對(duì)于產(chǎn)品構(gòu)建缺陷分類(lèi)數(shù)據(jù)集,利用神經(jīng)網(wǎng)絡(luò)中嵌入特征增強(qiáng)模塊獲取高級(jí)語(yǔ)義特征,運(yùn)用決策理論和結(jié)構(gòu)方法進(jìn)行圖像標(biāo)記識(shí)別,測(cè)試算法對(duì)缺陷特征提取及深度學(xué)習(xí)充分情況,對(duì)比圖像缺陷分類(lèi)識(shí)別性能效果差異,建立所選用的CNN 分類(lèi)模型及Softmax 分類(lèi)方法,如圖5 所示。
圖5 電飯煲內(nèi)膽缺陷分類(lèi)
通過(guò)訓(xùn)練使得深度神經(jīng)網(wǎng)絡(luò)模型能夠自動(dòng)檢測(cè)和識(shí)別產(chǎn)品的缺陷,此外,系統(tǒng)同時(shí)通過(guò)設(shè)備修正錯(cuò)誤結(jié)果,實(shí)時(shí)將修正結(jié)果反饋到檢測(cè)模型,讓模型得到持續(xù)學(xué)習(xí),提升缺陷判別分類(lèi)效果,使得分類(lèi)識(shí)別性能越來(lái)越好,實(shí)現(xiàn)了較高的產(chǎn)品缺陷分類(lèi)準(zhǔn)確率[14-15]。
3)缺陷分割:改進(jìn)的UperNet 深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)模型如圖6 所示。通過(guò)對(duì)已建立的數(shù)據(jù)集進(jìn)行訓(xùn)練,實(shí)現(xiàn)電飯煲內(nèi)膽表面缺陷的準(zhǔn)確分割,精細(xì)刻畫(huà)缺陷輪廓。
圖6 改進(jìn)的UperNet 深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)模型
特征融合模塊:將特征提取器獲得的不同尺度、層級(jí)的特征圖進(jìn)行融合,能有效利用多尺度的信息,從低級(jí)特征到高級(jí)特征連接,將低級(jí)的缺陷細(xì)節(jié)特征補(bǔ)充到高級(jí)語(yǔ)義特征。
空間金字塔池化模塊:為了能夠在高級(jí)特征上高效地獲取更多信息,將特征提取器獲得的最高級(jí)特征池化成4 個(gè)不同尺度,經(jīng)過(guò)卷積、上采樣后再將這4 個(gè)特征圖拼接。
完成自動(dòng)化智能缺陷檢測(cè)系統(tǒng)硬件整改及安裝調(diào)試,編寫(xiě)相應(yīng)軟件,訓(xùn)練好檢測(cè)模型,就對(duì)整個(gè)檢測(cè)系統(tǒng)進(jìn)行各項(xiàng)功能測(cè)試。首先選取一條正常生產(chǎn)線(xiàn),安裝調(diào)試圖像采集設(shè)備及各種控制設(shè)備,調(diào)試計(jì)算機(jī)主機(jī);然后對(duì)智能缺陷檢測(cè)系統(tǒng)的圖像采集功能、圖像處理、數(shù)據(jù)訓(xùn)練及檢測(cè)模型工作狀態(tài)進(jìn)行測(cè)試。
電飯煲內(nèi)膽缺陷檢測(cè)系統(tǒng)測(cè)試條件:在正常生產(chǎn)線(xiàn)上設(shè)置兩組不同數(shù)量產(chǎn)品進(jìn)行檢測(cè),記錄情況;同樣應(yīng)用這兩組數(shù)據(jù),但在其中人為更換加入不同數(shù)量、各種有瑕疵產(chǎn)品,記錄相應(yīng)測(cè)試數(shù)據(jù),見(jiàn)表1。
表1 缺陷檢測(cè)系統(tǒng)功能測(cè)試情況記錄表
選取兩條同樣的生產(chǎn)線(xiàn),一條由系統(tǒng)進(jìn)行缺陷檢測(cè),另一條還是按原來(lái)人工檢測(cè)辦法進(jìn)行,確定幾組不同的檢測(cè)數(shù)量,記錄檢測(cè)時(shí)間、次品數(shù)、誤檢及漏檢數(shù),見(jiàn)表2。
表2 檢測(cè)系統(tǒng)與人工檢測(cè)對(duì)比測(cè)試情況表
觀(guān)察表1,正常生產(chǎn)時(shí),基本未檢測(cè)出異常產(chǎn)品,這是由于現(xiàn)代生產(chǎn)線(xiàn)都比較成熟、穩(wěn)定,一般不出現(xiàn)有瑕疵產(chǎn)品,所以在短時(shí)間、少量產(chǎn)品下無(wú)法確定缺陷檢測(cè)系統(tǒng)是否達(dá)到檢測(cè)要求,人為更換有不同類(lèi)型缺陷次品時(shí),檢測(cè)系統(tǒng)能準(zhǔn)確檢測(cè)出有缺陷產(chǎn)品,系統(tǒng)提示及統(tǒng)計(jì)數(shù)據(jù)顯示正常,平均每個(gè)產(chǎn)品檢測(cè)時(shí)間基本相等,證明電飯煲內(nèi)膽缺陷檢測(cè)系統(tǒng)各項(xiàng)功能正常,系統(tǒng)完全達(dá)到設(shè)計(jì)要求。
觀(guān)察表2,機(jī)器自動(dòng)化智能缺陷檢測(cè)平均檢測(cè)時(shí)間基本固定在3 s/個(gè),大數(shù)量、長(zhǎng)時(shí)間檢測(cè)都能保證不誤檢和漏檢,人工缺陷檢測(cè)平均檢測(cè)時(shí)間基本在4 s/個(gè)以上,在數(shù)量越多、檢測(cè)時(shí)間越長(zhǎng)時(shí),平均檢測(cè)時(shí)間就越長(zhǎng),并且長(zhǎng)時(shí)間工作就會(huì)出現(xiàn)誤檢和漏檢。從記錄數(shù)據(jù)總體評(píng)估,電飯煲內(nèi)膽缺陷檢測(cè)系統(tǒng)比人工檢測(cè)優(yōu)勢(shì)明顯,系統(tǒng)能準(zhǔn)確、穩(wěn)定檢測(cè)出有缺陷產(chǎn)品,性能符合電飯煲內(nèi)膽生產(chǎn)線(xiàn)檢測(cè)缺陷需求。
以工業(yè)相機(jī)作為圖像采集工具,由計(jì)算機(jī)視覺(jué)及深度學(xué)習(xí)算法對(duì)圖像進(jìn)行智能分析,融合卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練檢測(cè)模型,實(shí)現(xiàn)電飯煲內(nèi)膽在生產(chǎn)線(xiàn)上實(shí)時(shí)、無(wú)損傷自動(dòng)缺陷檢測(cè),達(dá)到提高產(chǎn)品質(zhì)量的目的。對(duì)比實(shí)踐測(cè)試表明:電飯煲內(nèi)膽缺陷檢測(cè)能有效完成在不同生產(chǎn)線(xiàn)上進(jìn)行圖像采集、處理、運(yùn)動(dòng)控制與數(shù)據(jù)展示等多種任務(wù),有效解決了人工檢測(cè)工作中存在效率低下、檢測(cè)準(zhǔn)確度較低等問(wèn)題。根據(jù)企業(yè)及生產(chǎn)線(xiàn)情況,后期可進(jìn)一步完善后臺(tái)數(shù)據(jù)管理靈活性和數(shù)據(jù)處理效率,提升設(shè)備關(guān)聯(lián)性和智能檢測(cè)程度。系統(tǒng)完善后,在產(chǎn)品表面缺陷檢測(cè)領(lǐng)域具有更廣泛的實(shí)際應(yīng)用價(jià)值。