張建鵬,徐 云,楊承翰,林奇洲
(1.浙江理工大學(xué) 信息科學(xué)與工程學(xué)院,杭州 310018;2.浙江理工大學(xué) 機械工程學(xué)院,杭州 310018)
智能制造水平直接關(guān)乎著一個國家制造業(yè)發(fā)展的水平[1]。目前,計算機視覺、工業(yè)控制數(shù)據(jù)、物聯(lián)網(wǎng)技術(shù)等極大化地推動了制造業(yè)的發(fā)展。制造業(yè)數(shù)字化轉(zhuǎn)型、網(wǎng)絡(luò)化協(xié)同、智能化變革是制造強國建設(shè)的主攻方向。隨著智能工廠中監(jiān)控設(shè)備的普及,針對工廠監(jiān)控視頻開展生產(chǎn)流程的有效性檢測,提高工廠的生產(chǎn)質(zhì)量、生產(chǎn)效能、減少資源消耗是推動產(chǎn)業(yè)技術(shù)變革和優(yōu)化升級的必經(jīng)之路[2-7]。
空調(diào)外機結(jié)構(gòu)復(fù)雜,出廠前需人工探測空調(diào)外機中銅管焊接的可靠性,從而保障壓縮機殼體與儲液器的密封性。該過程中,人工檢測的不確定性將導(dǎo)致空調(diào)外機中銅管焊點的檢測存在漏檢、誤檢等情況的發(fā)生。利用工廠的監(jiān)控視頻設(shè)備,開展基于監(jiān)控視頻流的手持探針探測位置檢測算法的研究,利用計算機實時分析人工手持探針探測過程的有效性,對提高工廠的生產(chǎn)效能具有重要的研究意義[8-10]。
本文以空調(diào)外機氣密性探測為研究背景,利用人工智能技術(shù)和機器視覺技術(shù)對空調(diào)外機生產(chǎn)企業(yè)的工廠監(jiān)控視頻流進(jìn)行研究,采集監(jiān)控視頻流中人工手持探針的圖像并對其進(jìn)行前景和背景分離研究,構(gòu)建基于像素搜索的探針位置探測模型,對比理論應(yīng)檢測的真實位置,從而判斷人工手持探針檢測的有效性,保障出廠前空調(diào)外機銅管焊點氣密性檢測的有效性。
空調(diào)外機出廠前,機身上銅管的焊縫(如圖1(a)所示)需進(jìn)行氣密性檢測,從而保證空調(diào)外機壓縮機殼體與儲液器的密封性。一般而言,需人工對其焊縫點進(jìn)行手工探測。該過程中監(jiān)控視頻捕獲的圖像如圖1(b)所示。
圖1 空調(diào)外機焊縫檢測
圖1(a)可以看出,外機待檢測的焊縫數(shù)量多、分布零散、背景復(fù)雜,且部分待測焊點相對較密集,極大化地增加了手持探針探測的難度。圖1(b)給出的工廠監(jiān)控視頻流捕獲的圖像中,工人手持探針進(jìn)行探測時,探針細(xì)長,圖像背景復(fù)雜,探針特征難以直接提取,不利于開展手持探針探測位置的檢測。
針對上述問題,本文設(shè)計了基于前景背景分類模型和目標(biāo)檢測相融合的手持探針探測位置檢測方案,探測流程如圖2所示。
圖2 探針有效性探測算法流程
圖2所示的探測算法流程主要可分為4大部分:1)前景背景分類模型;2)探針目標(biāo)識別部分;3)探針位置推算部分;4)探測位置有效性辨別。
在前景背景分類模型中,需要提取視頻流中前100幀的圖像,然后利用KNN分類模型對該100幀圖像進(jìn)行訓(xùn)練與分析,KNN分類模型具備精度高的優(yōu)勢,利用該前景背景分類模型對實時采集的監(jiān)控視頻中前后幀視頻圖像進(jìn)行前景和背景的分離,捕獲工人手持探針的前景圖像,并將其應(yīng)用于后期探針的目標(biāo)識別。
探針目標(biāo)識別部分,旨在實現(xiàn)視頻圖像中人工手持探針的識別。基于Yolov5算法對工廠監(jiān)控視頻流采集的圖像中人工手持探針進(jìn)行目標(biāo)跟蹤與識別。該算法主要包括輸入端、主干網(wǎng)絡(luò)層、頸部層以及預(yù)測端層。根據(jù)工廠監(jiān)控視頻流采集的圖像,利用主干網(wǎng)絡(luò)層、頸部層實現(xiàn)人工手持探測的圖像特征加強,從而最終實現(xiàn)監(jiān)控視頻流采集的圖像中人工手持探測的識別與跟蹤。
探針位置推算部分是實現(xiàn)探針有效性辨別的核心。本文提出基于像素搜索的探針位置推算的算法。該算法基于像素搜索的方式對視頻圖像中人工手持探針探測位置進(jìn)行搜索與推算,在此基礎(chǔ)上利用最小二乘算法對搜索與推算獲得的探針位置進(jìn)行擬合,在保證擬合相關(guān)系數(shù)的前提下,對監(jiān)控視頻流采集的圖像中手持探針的長度進(jìn)行補償,從而實現(xiàn)監(jiān)控視頻流采集的圖像中人工手持探針探測位置的判斷。
探測位置有效性辨別根據(jù)當(dāng)前監(jiān)控視頻流采集的圖像中人工手持探針探測的位置,結(jié)合實際待檢測的位置進(jìn)行判別,求解手持探針檢測的實際位置與待檢測位置的交并比,從而實現(xiàn)人工手持探針探測位置有效性的辨別。
下面針對上述各部分的模型和算法進(jìn)行詳細(xì)闡述與分析。
前景和背景的分離旨在實現(xiàn)對監(jiān)控視頻流采集圖像進(jìn)行前景和背景的分離,從而獲得人工手持探針探測的前景圖像。根據(jù)監(jiān)控視頻流中前后幀視頻圖像的時空特征,去除復(fù)雜的工作環(huán)境背景,即可獲得工人手持探針探測的前景圖像。本文監(jiān)控視頻流中的每幀視頻圖像像素為1 920×1 080。
1) 前景、背景分類模型訓(xùn)練。提取當(dāng)前視頻圖像的前100幀視頻圖像,利用KNN分類算法對每個像素的特征做前景、背景訓(xùn)練,從而獲得視頻圖像中前景和背景的分離模型。
2) 前景提取。利用該前景、背景的分離模型對當(dāng)前視頻圖像進(jìn)行前景提取,設(shè)當(dāng)前第i幀視頻圖像中第n個像素點像素為:
(1)
第i-100到第i-1幀視頻圖像中第j幀視頻圖像中第n個像素點像素為:
(2)
分別計算第i幀圖像與前100幀圖像中第n個像素點Xin和Yjn的歐式距離:
(3)
根據(jù)式(3)計算的100幀視頻圖像的歐式距離,尋找與第i幀像素點最近鄰的像素點。應(yīng)用訓(xùn)練得到的前景背景分類模型對第i幀圖像中所有的點進(jìn)行前景和背景的分類,獲得當(dāng)前第i幀圖像中的前景圖像,并將其應(yīng)用于后續(xù)視頻圖像中的人工手持探針的識別。
針對工廠監(jiān)控視頻中的人工手持探針,開展探針探測位置的有效性檢測。基于Yolov5算法對工廠視頻中的探針探測的位置進(jìn)行跟蹤與識別,從而判斷工人進(jìn)行空調(diào)外機銅管焊縫氣密性檢測的有效性?;赮olov5算法的人工手持探針跟蹤與識別算法構(gòu)架如圖3所示。
圖3 基于Yolov5算法的人工手持探針跟蹤與識別算法構(gòu)架圖
基于Yolov5的算法具備快速高效、準(zhǔn)確率高、模型輕量化、易于部署和使用的優(yōu)點。圖3中的算法構(gòu)架主要分為4個部分。
1) 輸入端:采集監(jiān)控視頻中的圖像,并將其輸入至該算法的輸入端并進(jìn)行輸入端的前期處理。輸入端進(jìn)行前期處理的算法主要包括Mosaic數(shù)據(jù)增強算法、自適應(yīng)錨框計算、自適應(yīng)圖像縮放算法等預(yù)處理。其中,Mosaic數(shù)據(jù)增強算法通過隨機縮放、隨機裁剪、隨機排布的方式對輸入的圖像進(jìn)行拼接以增強圖像數(shù)據(jù),增加訓(xùn)練集的多樣性和難度,同時提高檢測模型的魯棒性和泛化能力,降低過擬合的風(fēng)險;在每次圖像訓(xùn)練時,自適應(yīng)錨框計算用于自適應(yīng)地計算不同訓(xùn)練集中的最佳錨框值,提高檢測的精度和魯棒性;自適應(yīng)圖像縮放算法是將原始采集的圖像自適應(yīng)地縮放到一個標(biāo)準(zhǔn)尺寸,再輸入到檢測網(wǎng)絡(luò)的主干網(wǎng)絡(luò)中進(jìn)行處理。經(jīng)過上述圖像的預(yù)處理,還能夠有效減少工廠監(jiān)控視頻因探測環(huán)境光照亮度不足對圖像采集的影響。
2) 主干網(wǎng)絡(luò):由下采樣層、卷積層、瓶頸層和池化層組成。對于輸入為608×608×3的圖像而言,經(jīng)過下采樣層的操作,可將其變?yōu)?04×304×12的特征圖。再經(jīng)過卷積層,利用32個卷積核的操作,將其變?yōu)?04×304×32的特征圖。瓶頸層為Yolov5算法的重要部分,將輸入特征圖分為兩部分,一部分進(jìn)行子網(wǎng)絡(luò)處理,先使用卷積層將輸入的特征圖像進(jìn)行壓縮,然后再進(jìn)行卷積處理,從而提取出相對較少的高層次的特征,另外一部分直接輸入頸部層進(jìn)行處理。Yolov5算法中隨著網(wǎng)絡(luò)的不斷加深,可增加網(wǎng)絡(luò)特征提取和特征融合能力,因此圖3中主干網(wǎng)絡(luò)層采用了多層網(wǎng)絡(luò)。瓶頸CSP層1的作用可有效減少網(wǎng)絡(luò)參數(shù)和計算量,提高特征提取的效率。主干網(wǎng)絡(luò)旨在實現(xiàn)輸入圖像的特征提取。
3) 頸部層:由特征金字塔網(wǎng)絡(luò)(FPN,feature pyramid network)和聚合網(wǎng)絡(luò)(PAN,path aggregation network)組成。FPN為自頂向下的設(shè)計,通過上采樣操作,將高層的特征信息和底層的特征信息進(jìn)行融合,計算出預(yù)測的特征圖。FPN中頂部信息流須通過主干網(wǎng)絡(luò)逐層往下傳遞,由于層數(shù)較多將導(dǎo)致計算量較大。PAN層在FPN層的基礎(chǔ)上提取網(wǎng)絡(luò)內(nèi)特征層次的結(jié)果,引入自底向上的路徑,經(jīng)過自頂向下的特征融合后,再進(jìn)行自底向上的特征融合,實現(xiàn)底層位置信息的深層傳遞,從而增加多個尺度的定位能力,將底層的特征信息和高層特征進(jìn)行融合,最后輸出預(yù)測的特征圖給預(yù)測端進(jìn)行預(yù)測。頸部層利用瓶頸CSP層2加強網(wǎng)絡(luò)特征的融合能力。對步驟2)中提取的有效特征進(jìn)行上采樣和下采樣的特征融合,實現(xiàn)視頻圖像中特征的加強提取。
4) 預(yù)測端:通過卷積層輸出特征后,利用CIOU_Loss損失函數(shù)計算預(yù)測框和真實框的損失值,采用加權(quán)非極大值抑制方法針對多目標(biāo)框進(jìn)行篩選,實現(xiàn)手持探針的識別與跟蹤。
基于分離的前景圖像以及目標(biāo)識別捕獲的手持探針的位置,開展人工手持探針位置探測的推算分析,本文提出基于像素搜索的探針探測位置推算算法,主要由以下5部分組成:
1) 設(shè)手持探針的初始位置為O(x,y),記背景分離后的前景圖像中探針寬度所占像素為a。根據(jù)探針的方向,分別沿x軸和y軸搜索5個檢測框,每個檢測框的像素為a×a,共9個檢測框,如圖4所示。
圖4 探針位置探測搜索示意圖
2) 根據(jù)搜索的9個檢測框,分別計算各個檢測框中的像素之和Pn:
(4)
其中:Px(i)為背景分離后各檢測框中第i個點的像素值。基于像素搜索的方式開展探針探測位置的推算。
3) 判斷Pn是否超過設(shè)定閾值,如果未超過,則在起點位置的基礎(chǔ)上增加a個像素,沿探針?biāo)诘姆较蚪軸和y軸繼續(xù)搜索。重復(fù)5次,仍然未超過設(shè)定的閾值,則跳出搜索轉(zhuǎn)向下一幀圖像處理;如果超過設(shè)定的閾值,判斷該檢測框?qū)?yīng)的原視頻圖像中的顏色與探針的顏色是否相符,若相符,則認(rèn)定該點為探針上的點,否則在起點位置的基礎(chǔ)上增加a個像素,并分別在探針?biāo)诘姆较蜓豿軸和y軸繼續(xù)搜索。
4) 當(dāng)該點判定為探針上的點時,則以當(dāng)前探針上的點為起點O(x,y),返回1)繼續(xù)搜索并進(jìn)行探針探測位置的推算。
5) 采用最小二乘法對獲得的探針探測位置上所有點進(jìn)行擬合,保證擬合的相關(guān)系數(shù)r值大于0.98。根據(jù)探針標(biāo)準(zhǔn)長度,對擬合算法獲得的探針長度進(jìn)行補償,從而最終判定人工手持探針探測的位置。
在探針位置探測推算的基礎(chǔ)上,結(jié)合實際待檢測的位置進(jìn)行判斷,求解探針位置和待檢測位置的交并比(IOU,Intersection over Union),從而判斷人工手持探針探測的位置是否有效。
(5)
其中:TP為被判定為正樣本,實際也是正樣本。FP為被判定為正樣本,但實際是負(fù)樣本。FN為被判定為負(fù)樣本,但實際為正樣本。
利用python3.7編寫探針探測有效性檢測算法的代碼,選用的主板為Inter(R) Core(TM) i7-11700,顯卡為RTX3070Ti,內(nèi)存為16 GB,操作系統(tǒng)為Windows10的計算機開展實驗測試的研究。根據(jù)工廠提供的實時監(jiān)控視頻,選取其中一段監(jiān)控視頻數(shù)據(jù),每秒提取一幀視頻圖像,共提取包含探針的1 645張圖像作為數(shù)據(jù)集。隨機劃分該數(shù)據(jù)集,其中訓(xùn)練集、驗證集和測試集的比例為8:1:1。采用精確度、召回率、F1值對本文設(shè)計的人工手持探針的有效性檢測算法進(jìn)行綜合評判。
根據(jù)人工手持探針有效性探測算法的流程,針對算法的測試效果進(jìn)行測試,主要包括前景背景分類模型的效果測試,探針探測位置的有效性測試。1)前景背景分類模型的效果測試用于對監(jiān)控視頻流中采集的圖像進(jìn)行基于KNN算法的前景和背景的分離,并對分離的效果進(jìn)行測試和分析。2)探針探測位置的有效性測試用于對監(jiān)控視頻流中手持探針探測位置的有效性進(jìn)行測試與分析。
分析監(jiān)控視頻中前后幀圖像的時序特征,去除復(fù)雜工作環(huán)境背景,采用KNN算法,獲得前景圖像。截取視頻中的一幀圖像,以圖5(a)為例,設(shè)前景圖像為白色,背景圖像為黑色,對其原視頻圖像進(jìn)行前景、背景分離,效果如圖5(b)所示。
圖5 背景分離效果圖
圖5(b)可以看出,監(jiān)控視頻中的前景和背景圖像已充分分離,能夠獲得人工手持探針的前景灰度圖像。
探針探測位置的有效性測試步驟如下:1)每秒采集監(jiān)控視頻中的圖像,基于每幀視頻圖像建立包含人工手持探針的數(shù)據(jù)集,按照Yolov5算法的要求對數(shù)據(jù)集進(jìn)行探針的標(biāo)注;2)隨機劃分?jǐn)?shù)據(jù)集,其中訓(xùn)練集、驗證集和測試集的占比為8:1:1;3)利用Yolov5算法對訓(xùn)練集進(jìn)行訓(xùn)練,利用驗證集對訓(xùn)練的模型進(jìn)行效果驗證,從而獲得最優(yōu)的人工手持探針探測位置的檢測模型;4)在測試集中,采用訓(xùn)練的人工手持探針探測位置的檢測模型進(jìn)行測試,并輸出探針探測位置的辨識結(jié)果。
根據(jù)訓(xùn)練獲得的人工手持探針探測位置的檢測模型,對工廠監(jiān)控視頻中工人手持探針探測的位置進(jìn)行實時檢測。記工人手持探針的檢測框為Tool_box,目標(biāo)概率記為Tool_score,其閾值設(shè)為0.5。篩選所有目標(biāo)概率大于0.5的檢測框,并且篩選目標(biāo)概率最大的兩個檢測框,區(qū)分左右手檢測框,并分別記為Tool_box_L和Tool_box-R,如圖6所示。
圖6 手持探針檢測效果圖
圖6可以看出,工人手持的探針能夠有效識別出該目標(biāo),為后續(xù)探針探測位置的檢測奠定了基礎(chǔ)。
根據(jù)分離的前景圖像以及基于Yolov5算法的手持探針檢測獲得的檢測框Tool_box_L和Tool_box_R,開展基于像素搜索的探針探測位置的檢測。根據(jù)1.3節(jié)給出的手持探針探測位置的推算流程,圖7給出了人工手持探針探測位置推算的示意圖。
圖7 探針探測位置推算過程圖
圖7(a)為利用分離的前景圖像,開展基于像素搜索的探針探測位置的推算過程圖。圖7(b)為搜索的檢測框與原始圖像中的探針進(jìn)行對比的效果,其中小方塊的標(biāo)注為探測的探針上的點。圖7(c)為采用最小二乘法對檢測到的探針進(jìn)行擬合和補償?shù)男Ч麍D。圖7(d)為根據(jù)擬合與補償后的探針推算出的探針檢測的位置推算結(jié)果,圖中采用圓圈標(biāo)注。
根據(jù)手持探針檢測的位置,對標(biāo)實際待檢測的位置,求解探針檢測的位置與實際待檢測位置的交并比,若交并比大于50%,則視為檢測正確,否則視為檢測錯誤,最終實現(xiàn)人工手持探針檢測位置有效性的辨別。本文采用精確度、召回率、F1值對設(shè)計的手持探針有效性檢測算法進(jìn)行綜合評判。召回率旨在評價探針探測位置為正確的待探測位置的概率,F(xiàn)1值是用于評價探針探測位置模型精確度的一種指標(biāo)。精確度、召回率越高越好,F(xiàn)1值同時考慮精確度和召回率,讓兩者同時達(dá)到最高,取得平衡,F(xiàn)1值越大越好。
針對工廠提供的監(jiān)控視頻,計算機利用計時器對探針有效性探測算法進(jìn)行測試,記錄一幀視頻圖像從采集到有效性檢測完成所需的時間,計算獲得探針有效性探測算法的平均檢測速度為9.66 fps/s。此外,對手持探針有效性的檢測進(jìn)行了10組測試,檢測結(jié)果如表1所示。
表1 探針有效性檢測結(jié)果統(tǒng)計表
表1可以看出,采用本文所提的手持探針有效性檢測算法的檢測精確度達(dá)到93.26%,召回率約81.11%,F(xiàn)1值約86.76%,實現(xiàn)了工廠監(jiān)控視頻流中人工手持探針位置的有效性檢測,檢測精度和檢測速度均能夠滿足工廠實際的生產(chǎn)需求。
工廠實際監(jiān)控視頻的測試結(jié)果可以看出:1)采用工廠監(jiān)控視頻流訓(xùn)練的基于KNN的前景背景分類模型能夠有效地實現(xiàn)視頻流中采集圖像的前景和背景分離,獲得人工手持探針的前景灰度圖像,為后續(xù)開展探針探測位置的檢測奠定了良好的基礎(chǔ);2)探針探測位置的有效性測試中,根據(jù)分離的人工手持探針的前景灰度圖像,基于像素搜索的探針探測位置推算算法,結(jié)合最小二乘擬合算法能夠有效實現(xiàn)探針的擬合和補償,在此基礎(chǔ)上獲得人工手持探針探測位置的推算;3)基于人工手持探針探測位置推算的結(jié)果,結(jié)合實際待檢測的位置進(jìn)行分析,最終實現(xiàn)了工廠監(jiān)控視頻中手持探針探測位置的有效性檢測。
以空調(diào)出廠前空調(diào)外機中銅管焊縫的氣密性檢測為研究背景,開展基于工廠監(jiān)控視頻中人工手持探針探測位置的有效性檢測算法的設(shè)計研究。首先,采用KNN算法對監(jiān)控視頻中前后幀圖像的時空特征進(jìn)行提取,實現(xiàn)視頻圖像中前景和背景圖像的分離;其次,基于Yolov5算法開展探針探測位置的檢測模型研究,提出基于像素搜索的探針探測位置推算算法,結(jié)合最小二乘擬合算法實現(xiàn)探針檢測位置的有效推算;最后,對標(biāo)實際待檢位置,判斷工人手持探針探測的有效性。工況實檢測試結(jié)果表明,本文設(shè)計的手持探針檢測算法的檢測速度可達(dá)9.66 fps/s,平均檢測精確度約為93.26%,召回率約81.11%,F(xiàn)1值約86.76%,能夠滿足工廠實際應(yīng)用的需求。