摘要:研究并設(shè)計(jì)了一種基于機(jī)器視覺的玻璃透鏡缺陷檢測(cè)系統(tǒng)。首先,通過分析玻璃透鏡缺陷檢測(cè)系統(tǒng)的需求,構(gòu)建了一套完整的自動(dòng)化檢測(cè)流程。系統(tǒng)能夠?qū)崿F(xiàn)對(duì)玻璃透鏡表面多種典型缺陷的準(zhǔn)確識(shí)別和分類,具有較高的檢測(cè)效率和準(zhǔn)確性,為玻璃透鏡生產(chǎn)過程中的質(zhì)量控制提供了有效的技術(shù)支撐,也為未來的研究和發(fā)展提供了有益的參考。
關(guān)鍵詞:機(jī)器視覺;缺陷檢測(cè);玻璃檢測(cè);檢測(cè)系統(tǒng)
一、前言
隨著現(xiàn)代工業(yè)技術(shù)的飛速發(fā)展,玻璃透鏡作為光學(xué)系統(tǒng)的重要組件,在精密儀器、醫(yī)療設(shè)備、通信等領(lǐng)域中發(fā)揮著舉足輕重的作用。然而,在生產(chǎn)過程中,由于材料、工藝等多種因素的影響,玻璃透鏡表面往往會(huì)出現(xiàn)劃痕、氣泡、裂紋等缺陷,這些缺陷不僅影響透鏡的光學(xué)性能,還可能對(duì)使用安全造成潛在威脅。因此,開發(fā)一種高效、準(zhǔn)確的玻璃透鏡缺陷檢測(cè)系統(tǒng)對(duì)于保障產(chǎn)品質(zhì)量、提高生產(chǎn)效率具有重要意義?;跈C(jī)器視覺的玻璃透鏡缺陷檢測(cè)系統(tǒng)通過采集透鏡表面圖像,利用圖像處理和分析技術(shù),實(shí)現(xiàn)對(duì)透鏡缺陷的自動(dòng)識(shí)別和分類。相較于傳統(tǒng)的人工檢測(cè)方法,該系統(tǒng)不僅提高了檢測(cè)效率和準(zhǔn)確性,而且降低了人工成本,具有良好的應(yīng)用前景[1]。故本文探討了基于機(jī)器視覺的玻璃透鏡缺陷檢測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。
二、系統(tǒng)設(shè)計(jì)
(一)系統(tǒng)需求
目前,國內(nèi)玻璃透鏡廠家對(duì)基于機(jī)器視覺的玻璃透鏡缺陷檢測(cè)系統(tǒng)的要求主要有:
第一,圖像采集裝置能夠提供全方位的穩(wěn)定照明,能夠采集玻璃透鏡原圖像,并設(shè)置圖像傳感器參數(shù)。
第二,能夠?qū)ΣA哥R的典型缺陷(如劃痕、邊緣破損)進(jìn)行檢測(cè)并標(biāo)記。
第三,檢測(cè)準(zhǔn)確率需大于93%,能夠?qū)θ毕菪畔⑦M(jìn)行統(tǒng)計(jì)保存與查詢。
基于上述需求,主要從以下幾個(gè)方面來完成基于機(jī)器視覺的玻璃透鏡缺陷檢測(cè)系統(tǒng)的實(shí)現(xiàn):
第一,分析缺陷檢測(cè)系統(tǒng)的整體架構(gòu),設(shè)計(jì)系統(tǒng)的軟硬件構(gòu)成。
第二,結(jié)合深度學(xué)習(xí)技術(shù)設(shè)計(jì)通用檢測(cè)模式下的檢測(cè)算法。
第三,根據(jù)所設(shè)計(jì)軟硬件系統(tǒng),實(shí)現(xiàn)符合要求的玻璃透鏡缺陷檢測(cè)系統(tǒng)。
(二)系統(tǒng)整體架構(gòu)
設(shè)計(jì)的基于機(jī)器視覺的玻璃透鏡缺陷檢測(cè)系統(tǒng)主要分為兩部分:硬件系統(tǒng)和軟件系統(tǒng)。硬件系統(tǒng)重點(diǎn)負(fù)責(zé)采集圖像。軟件系統(tǒng)主要負(fù)責(zé)接收硬件系統(tǒng)傳輸?shù)拇郎y(cè)圖像,完成缺陷檢測(cè)工作。
硬件系統(tǒng)由圖像傳感器、鏡頭、照明光源系統(tǒng)以及運(yùn)行玻璃透鏡缺陷檢測(cè)軟件系統(tǒng)的計(jì)算機(jī)組成。
軟件系統(tǒng)則由圖像獲取、參數(shù)設(shè)置、缺陷檢測(cè)以及缺陷統(tǒng)計(jì)四個(gè)模塊構(gòu)成,如圖1所示。
(三)硬件系統(tǒng)設(shè)計(jì)
在玻璃透鏡缺陷檢測(cè)的機(jī)器視覺系統(tǒng)中,硬件系統(tǒng)中的圖像采集模塊非常重要,收集到的圖像質(zhì)量會(huì)直接影響接下來的缺陷檢測(cè)結(jié)果,因此,本文針對(duì)玻璃透鏡缺陷檢測(cè)的硬件系統(tǒng)設(shè)計(jì)主要從圖像傳感器的選擇、照明光源系統(tǒng)兩個(gè)方面來展開。
1.圖像傳感器
當(dāng)前用于工業(yè)檢測(cè)的機(jī)器視覺系統(tǒng)中的圖像傳感器主要有兩種,一種是基于CCD的,稱作CCD相機(jī)[2];另一種是基于CMOS的,稱作CMOS相機(jī)。CCD相機(jī)傳輸信息是通過電荷傳遞,若其中一個(gè)像素不工作,則會(huì)導(dǎo)致整排信息無法讀取,而CMOS的電信號(hào)無需逐行讀取,取像靈活。此外,CCD取像系統(tǒng)的外設(shè)電路耗電量大,而CMOS的耗電量很小,且其成本低于CCD相機(jī)。基于這些優(yōu)勢(shì),本系統(tǒng)選擇CMOS相機(jī)。
2.照明光源系統(tǒng)
當(dāng)前常用的機(jī)器視覺檢測(cè)光源包括鹵素?zé)?、熒光燈和LED光源。鹵素?zé)艉桶谉霟舻牧炼容^好,但是成本高且壽命短。熒光燈的成本較低,但是穩(wěn)定性較差。LED光源功耗低、單色性能好、壽命長且穩(wěn)定性強(qiáng),因此系統(tǒng)選擇LED光源作為照明光源。
在此基礎(chǔ)上,設(shè)計(jì)玻璃透鏡缺陷檢測(cè)的照明光源系統(tǒng)時(shí),首先在光散射暗場(chǎng)照明的方式下對(duì)不同類型光源的照明效果進(jìn)行實(shí)驗(yàn),對(duì)比分析發(fā)現(xiàn),在條形光源和同軸光源下采集到的圖像很難將玻璃與背景分離出來;環(huán)形光源在低角度散射暗場(chǎng)照明的方式下采集到的缺陷圖像,由于受到光斑干擾,嚴(yán)重影響檢測(cè)效果。
與暗場(chǎng)照明方式不同的是明場(chǎng)照明,明場(chǎng)照明方式下的LED光源與相機(jī)處于異側(cè),可以更好地取得高對(duì)比度的圖像。
3.硬件系統(tǒng)整體設(shè)計(jì)
通過前面對(duì)圖像傳感器的分析,對(duì)不同光源和照明方法的理論分析和實(shí)驗(yàn)對(duì)比,可以發(fā)現(xiàn)采用環(huán)形LED光源和明場(chǎng)照明方式,一方面可以全方位照明,大大減少陰影;另一方面可以利用不完全均勻的光照增強(qiáng)邊緣及缺陷特征,提高對(duì)比度。因此,系統(tǒng)中圖像傳感器可以采用CMOS工業(yè)相機(jī),照明光源系統(tǒng)可以通過環(huán)形LED光源明場(chǎng)照明的方式進(jìn)行設(shè)計(jì)。
(四)軟件系統(tǒng)設(shè)計(jì)
針對(duì)前述國內(nèi)玻璃透鏡廠家對(duì)玻璃透鏡缺陷檢測(cè)系統(tǒng)的需求,對(duì)玻璃透鏡缺陷檢測(cè)的軟件系統(tǒng)功能層次結(jié)構(gòu)的設(shè)計(jì)如圖2所示。系統(tǒng)主要包括圖像獲取、參數(shù)設(shè)置、缺陷檢測(cè)和缺陷統(tǒng)計(jì)四個(gè)模塊,各個(gè)模塊的具體描述如下:
圖像獲取模塊:獲取玻璃的實(shí)時(shí)圖像信息,實(shí)現(xiàn)對(duì)圖像采集環(huán)境中相機(jī)的控制,具體包括打開相機(jī)、捕獲圖像、錄入數(shù)據(jù)和關(guān)閉相機(jī)。
參數(shù)設(shè)置模塊:對(duì)相機(jī)的曝光、對(duì)比度、亮度等參數(shù)進(jìn)行調(diào)節(jié)。
缺陷檢測(cè)模塊:實(shí)現(xiàn)對(duì)玻璃的缺陷檢測(cè)并在圖像中標(biāo)記出缺陷位置。
缺陷統(tǒng)計(jì)模塊:主要是將缺陷檢測(cè)模塊檢測(cè)到的玻璃缺陷信息存儲(chǔ)到數(shù)據(jù)庫中,并提供查詢功能。
當(dāng)前,在工業(yè)領(lǐng)域的自動(dòng)缺陷檢測(cè)中,對(duì)于通用檢測(cè)方法,研究人員多會(huì)利用深度學(xué)習(xí)技術(shù)[3],在缺陷檢測(cè)部分加入大量的缺陷樣本進(jìn)行訓(xùn)練,從而提高算法的通用性。目標(biāo)檢測(cè)作為深度學(xué)習(xí)的一個(gè)重要應(yīng)用,其經(jīng)典模型包括R-CNN[4]、Fast R-CNN[5]和Faster R-CNN[6]。其中,F(xiàn)aster R-CNN是在R-CNN和Fast R-CNN積淀之后提出來的,它采用區(qū)域生成網(wǎng)絡(luò)RPN取代選擇性搜索方法,將目標(biāo)檢測(cè)中的多個(gè)步驟整合在了一個(gè)網(wǎng)絡(luò)中,極大地提升了檢測(cè)速度。
鑒于Faster R-CNN網(wǎng)絡(luò)優(yōu)越的檢測(cè)效率,基于Faster R-CNN來實(shí)現(xiàn)玻璃缺陷的通用檢測(cè)方法。實(shí)驗(yàn)數(shù)據(jù)集包括2000張玻璃缺陷圖像,圖像主要包括邊緣破損、氣泡、劃痕和臟污霉斑四類典型缺陷。首先對(duì)數(shù)據(jù)集進(jìn)行標(biāo)記,實(shí)驗(yàn)中將數(shù)據(jù)集按6:2:2的比例隨機(jī)生成了訓(xùn)練集、驗(yàn)證集和測(cè)試集。其次在GTX 1080Ti服務(wù)器上搭建的TensorFlow框架下進(jìn)行訓(xùn)練,得到玻璃透鏡缺陷檢測(cè)模型。最后用得到的模型對(duì)待檢測(cè)的玻璃缺陷圖像進(jìn)行測(cè)試。
三、實(shí)驗(yàn)與分析
(一)系統(tǒng)開發(fā)環(huán)境
本系統(tǒng)是在64位的Windows10環(huán)境下開發(fā)實(shí)現(xiàn)的,算法開發(fā)工具為Visual Studio 2019,采用的計(jì)算機(jī)視覺庫為OpenCV3.4.3,基于深度學(xué)習(xí)的通用檢測(cè)算法使用TensorFlow框架。
(二)硬件系統(tǒng)實(shí)現(xiàn)
基于前面對(duì)硬件系統(tǒng)的分析和設(shè)計(jì),實(shí)驗(yàn)過程中硬件系統(tǒng)選用的CMOS相機(jī)為映美精DFK72BUC02,相機(jī)采用USB2.0接口技術(shù)。照明系統(tǒng)的環(huán)形LED光源選用樂視LTS-RN15045-W,顏色為白色。
實(shí)驗(yàn)中通過明場(chǎng)照明方式實(shí)現(xiàn)的硬件系統(tǒng)由六大部件構(gòu)成,包括環(huán)形LED光源、置物臺(tái)、觀察板、CMOS相機(jī)、遮光罩和機(jī)架。其中環(huán)形LED光源散發(fā)的光能夠通過觀察板照射到待測(cè)玻璃透鏡上,然后透射光線會(huì)進(jìn)入到待檢測(cè)玻璃透鏡上方的CMOS相機(jī)中,最后CMOS相機(jī)將采集到的圖像通過數(shù)據(jù)線傳輸給運(yùn)行玻璃缺陷檢測(cè)軟件系統(tǒng)的計(jì)算機(jī)以供處理。本系統(tǒng)的優(yōu)點(diǎn)在于構(gòu)造簡(jiǎn)單,成本低,采集到的缺陷圖像對(duì)比度高,可清晰分辨出透鏡邊緣和透鏡內(nèi)部缺陷。
(三)軟件系統(tǒng)實(shí)現(xiàn)
圖像獲取模塊的實(shí)現(xiàn)是完成對(duì)相機(jī)的控制,包括打開相機(jī)、捕獲圖像和關(guān)閉相機(jī)。該部分的核心代碼如下:
VideoCapture cap;
Mat frame;
cap.open(0);
cap gt;gt; frame;
if (frame.empty()) {
MessageBox(_T(\"攝像頭無法讀??!\"));
return;
}
cap.release();
通用檢測(cè)模塊是將TensorFlow框架下訓(xùn)練好的模型保存成.pd文件,然后在OpenCV中導(dǎo)入dnn模塊,采用readNetFromTensorflow函數(shù)加載.pd文件,然后通過blobFromImage函數(shù)計(jì)算待測(cè)圖像的blob特征,并傳入神經(jīng)網(wǎng)絡(luò)進(jìn)行計(jì)算,最后通過forward方法獲得預(yù)測(cè)結(jié)果并輸出,該部分核心代碼如下:
//加載模型
String weights = \"../../Glass/tf-faster-rcnn/glass.pb\";
dnn::Net net = cv::dnn::readNetFromTensorflow (weights);
//計(jì)算blob特征
Mat blob = dnn::blobFromImage(frame, 1.0, Size(600, 600), Scalar(), 1,1);
//傳入神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)結(jié)果
net.setInput(blob, \"data\");
Mat output = net.forward();
通用檢測(cè)的效果圖如圖3所示。
(四)系統(tǒng)測(cè)試結(jié)果
1.功能測(cè)試
通過黑盒測(cè)試法對(duì)玻璃透鏡缺陷檢測(cè)系統(tǒng)的主要功能進(jìn)行測(cè)試,測(cè)試各個(gè)功能模塊是否符合期望結(jié)果,測(cè)試結(jié)果見表1。
2.檢測(cè)速度及檢測(cè)準(zhǔn)確率測(cè)試
系統(tǒng)對(duì)采集到的50個(gè)缺陷透鏡真實(shí)圖像進(jìn)行測(cè)試,通用檢測(cè)測(cè)試的總耗時(shí)為727.491s,表2為具體缺陷的檢測(cè)結(jié)果。
由表2可以計(jì)算出通用檢測(cè)總的準(zhǔn)確率為94.95%,大于93%,滿足前述的玻璃透鏡缺陷檢測(cè)需求。
四、結(jié)語
在本文中,完成了基于機(jī)器視覺的玻璃透鏡缺陷檢測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。通過系統(tǒng)的設(shè)計(jì)和實(shí)驗(yàn)證明了該系統(tǒng)能夠有效地識(shí)別和分類玻璃透鏡表面的各種缺陷,包括劃痕、氣泡、邊緣破損等。這一成果不僅展示了機(jī)器視覺技術(shù)在工業(yè)自動(dòng)化領(lǐng)域的強(qiáng)大潛力,也為玻璃透鏡生產(chǎn)過程中的質(zhì)量控制提供了新的解決方案。在未來的研究中,將進(jìn)一步優(yōu)化系統(tǒng)的性能,提高檢測(cè)的準(zhǔn)確性和效率,為工業(yè)自動(dòng)化領(lǐng)域的發(fā)展貢獻(xiàn)更多的力量。
參考文獻(xiàn)
[1]楊鑫.基于機(jī)器視覺的玻璃缺陷檢測(cè)與分類[D].福州:福建工程學(xué)院,2021.
[2]Zhao S, Sun L, Li G, et al. A CCD based machine vision system for real-time text detection[J]. Frontiers of Optoelectronics, 2019,7:1-7.
[3]Wang T, Chen Y, Qiao M, et al. A fast and robust convolutional neural network-based defect detection model in product quality control[J]. The International Journal of Advanced Manufacturing Technology, 2018,94:3465-3471.
[4]Girshick R, Donahue J, Darrell T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]//Proceedings of 2014 IEEE International Conference on Computer Vision and Pattern Recognition on Columbus.Columbus: IEEE, 2014:580-587
[5]Girshick R. Fast R-CNN[C]//IEEE International Conference on Computer Vision. Santiago:IEEE, 2015:1440-1448.
[6]Ren S, He K, Girshick R, et al. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(06): 1137-1149.
基金項(xiàng)目:陜西工業(yè)職業(yè)技術(shù)學(xué)院校級(jí)科研計(jì)劃自然科學(xué)類一般項(xiàng)目(項(xiàng)目編號(hào):2024YKYB-027)
作者單位:陜西工業(yè)職業(yè)技術(shù)學(xué)院
責(zé)任編輯:王穎振、鄭凱津