羅澤建 王美林 肖文 邱海桓
摘? 要:皮革表面缺陷檢測是PVC人造皮革行業(yè)生產(chǎn)過程中保障皮革質(zhì)量的重要環(huán)節(jié)。針對PVC人造皮革生產(chǎn)企業(yè)存在人工檢測皮革效率低、漏檢率高的問題,結(jié)合計算機視覺技術和視覺分析目標檢測算法,設計一套PVC皮革表面缺陷檢測系統(tǒng),對系統(tǒng)組成、工作原理和關鍵技術進行詳細闡述。經(jīng)測試,系統(tǒng)穩(wěn)定運行,在工業(yè)傳送帶的速度為60 m/min的情況下,系統(tǒng)對缺陷的檢出率能滿足工業(yè)生產(chǎn)要求。
關鍵詞:PVC皮革;缺陷檢測系統(tǒng);計算機視覺
中圖分類號:TP311? ? ? ? 文獻標識碼:A文章編號:2096-4706(2021)23-0145-06
Design and Implementation of PVC Leather Defect Detection System Based on Visual Analysis
LUO Zejian, WANG Meilin, XIAO Wen, QIU Haihuan
(Guangdong University of Technology, Guangzhou 510006, China)
Abstract: The detection of Leather surface defect is an important link to ensure leather quality in the production process of PVC artificial leather industry. Aiming at the problems of low efficiency and high missed detection rate of manual leather detection in PVC artificial leather production enterprises, combined with computer vision technology and visual analysis target detection algorithm, a set of PVC leather surface defect detection system is designed, and the system composition, working principle and key technologies are described in detail. After testing, the system operates stably. When the speed of industrial conveyor belt is 60 m/min, the detection rate of defects of system can meet the requirements of industrial production.
Keywords: PVC leather; defect detection system; computer vision
0? 引? 言
隨著人工智能時代的到來和人工智能技術的不斷普及,越來越多的智能技術運用到了現(xiàn)代化生產(chǎn)中。而PVC制革作為我國優(yōu)勢傳統(tǒng)產(chǎn)業(yè),現(xiàn)有的自動化、智能化程度還處于起步階段[1],在皮革表面的缺陷檢測的研究中,也廣泛應用了計算機視覺技術和視覺檢測技術[2]。然而對于皮革缺陷檢測方法仍處于理論研究階段,并沒有應用到實際生產(chǎn)環(huán)節(jié)當中,在實際的PVC皮革生產(chǎn)領域中,皮革表面缺陷檢測大多數(shù)采用的是產(chǎn)后人工檢測方式。這種人工檢測的方式一方面會存在人為主觀判斷不準確的問題,另一方面產(chǎn)后檢測會存在生產(chǎn)浪費的問題。本文針對以上問題,采用深度學習的目標檢測算法和C++編程語言,研究并開發(fā)了一個基于視覺分析的PVC皮革表面瑕疵檢測系統(tǒng)。
1? 系統(tǒng)設計
1.1? 系統(tǒng)需求
基于視覺分析的PVC皮革缺陷檢測系統(tǒng)為了能夠在工業(yè)環(huán)境下完成生產(chǎn)要求,通過對現(xiàn)場勘測和與廠家溝通,得到以下系統(tǒng)需求:
(1)系統(tǒng)操作員分為不同角色,每種角色有不同的操作權限。
(2)檢測缺陷要求具有時效性,對于一條PVC皮革生產(chǎn)線而言,產(chǎn)中的PVC皮革滾動速度是變動的,且速度在20~60 m/min之間(最快1 m/s),這需要對長和寬為1 m的PVC皮革表面圖片的檢測頻率至少要達到1 Hz。此外,需要盡可能檢出率高,誤檢率低。對于指定類別的缺陷,可以通過設置即時輸出報警。
(3)系統(tǒng)需要對缺陷檢測模型具有靈活的管理,根據(jù)檢測環(huán)境、PVC皮革產(chǎn)品類型的不同,需要配置多個缺陷檢測模型,在檢測作業(yè)開始前根據(jù)針對不同的環(huán)境和PVC皮革產(chǎn)品選擇最匹配的缺陷檢測模型,以達到檢測的最佳效果。
(4)系統(tǒng)需要能加載不同的工業(yè)相機,能夠靈活調(diào)整相機參數(shù),能夠控制和調(diào)試工業(yè)相機采集PVC皮革圖片。
(5)系統(tǒng)對檢測作業(yè)信息能夠進行詳細的統(tǒng)計,保存和檢索作業(yè)信息、日志信息等。
1.2? 系統(tǒng)架構(gòu)
根據(jù)系統(tǒng)需求分析搭建的系統(tǒng)結(jié)構(gòu)如圖1所示。
首先是UI交互模塊,包含在線檢測界面、作業(yè)統(tǒng)計界面、產(chǎn)品管理界面和相機管理界面,在線檢測界面給用戶呈現(xiàn)當前作業(yè)檢測狀態(tài),包括缺陷檢出分布和統(tǒng)計、當前產(chǎn)品線傳動帶移動速度、作業(yè)操作日志等等。作業(yè)統(tǒng)計界面提供給用戶方便查詢歷史作業(yè)信息。產(chǎn)品管理頁面用來管理產(chǎn)品信息的修改、增加、刪除操作,包括為產(chǎn)品配置缺陷檢測模型。相機管理頁面用來管理和操作相機,生成相機設置模板供產(chǎn)品管理選擇。
相機控制模塊,此模塊分成相機配置和相機調(diào)試兩部分,相機配置包括加載相機驅(qū)動,掃描本地相機,加載相機等操作,相機調(diào)試包括設置相機參數(shù),啟動和關閉相機采集圖像等操作。
視覺分析模塊,此模塊分為驅(qū)動管理、模型加載、檢測缺陷三部分,驅(qū)動管理用來加載多個視覺分析模塊驅(qū)動,模型加載即通過驅(qū)動加載不同的視覺分析模型,缺陷檢測即使用已加載的視覺分析模型進行PVC皮革表面缺陷檢測。
報警模塊,此模塊用來控制報警器輸出報警,通過網(wǎng)絡傳輸協(xié)議給下位機PLC模塊輸出固定格式指令,執(zhí)行啟動/關閉報警器操作。
系統(tǒng)管理模塊,包括系統(tǒng)設置、用戶管理和操作日志信息管理,主要配置系統(tǒng)的運行環(huán)境以及管理用戶和對系統(tǒng)的運行日志進行記錄。
2? 系統(tǒng)實現(xiàn)
2.1? 平面掃描平臺
本文所述系統(tǒng)接入的是一個基于Dalsa線陣相機的平面采集平臺,平臺展示如圖2所示。
平臺由三路線陣相機、編碼器、白色線性光源,傳送帶和平臺固定支架組成。平臺的傳動帶帶動編碼器旋轉(zhuǎn)產(chǎn)生脈沖,根據(jù)單位時間內(nèi)編碼器產(chǎn)生的脈沖數(shù)量計算出傳送帶的滾動速度。軟件接入該平臺,通過GigE接口控制多個相機采集圖像。
2.2? 缺陷檢測控制軟件
下面對系統(tǒng)主要模塊進行介紹。
2.2.1? UI交互模塊
本文設計多個UI界面,通過DirectUI界面庫實現(xiàn)的主要UI界面如圖3所示,包含在線檢測、作業(yè)統(tǒng)計、產(chǎn)品管理、相機管理四個主要界面。
2.2.2? 相機控制模塊
相機控制模塊在進入主系統(tǒng)時初始化,完成相機驅(qū)動加載,掃描本地已連接的相機。以DALSA千兆網(wǎng)(Gige)工業(yè)相機為例,該種相機與PC通過千兆網(wǎng)線連接,連接后使用局域網(wǎng)配置工具為相機配置一次IP即可通過本系統(tǒng)的相機控制模塊識別和加載。本文為相機定義了一個C++公共接口ICamera,接口成員函數(shù)如表1所示。
通過加載DALSA相機驅(qū)動模塊,使用模塊的createCamera()函數(shù)創(chuàng)建一個ICamera對象,在ICamera初始化成一個對象后,可以直接用對象操作DALSA系列的相機,比如執(zhí)行startWork()將啟動相機采圖操作,執(zhí)行setParam()將修改相機當前參數(shù)設置。
2.2.3? 視覺分析模塊
視覺分析模塊執(zhí)行兩種操作:
一是加載模型驅(qū)動,在進入主系統(tǒng)后,根據(jù)預先設置好的路徑加載該路徑下所有的模型驅(qū)動。本文使用的模型驅(qū)動有兩種,一種基于Fast RCNN算法,另一種基于YOLOv5算法,這兩種驅(qū)動都以動態(tài)鏈接庫(.dll后綴文件)的方式存放在本地磁盤上。
二是加載模型,初始化模型驅(qū)動后,可以加載指定類型的模型進行缺陷目標檢測。以YOLOv5算法為例,通過深度學習訓練得到一個YOLOv5算法的模型文件,轉(zhuǎn)換成統(tǒng)一格式后一般以.onnx為后綴的文件格式存放在本地磁盤,系統(tǒng)加載該算法的驅(qū)動,尋找本地磁盤上該類對應的算法模型,將該模型初始化成一個缺陷檢測對象即可完成模型加載。
為了便于靈活加載不同的缺陷檢測模型,本文定義了統(tǒng)一的C++公共接口IDetetor,接口函數(shù)成員如表2所示。
IOutput是一個封裝了缺陷信息的類,成員包括缺陷類別Class,缺陷置信度Conf和缺陷坐標Rect(x,y,w,h)。執(zhí)行Detect()函數(shù),如果有缺陷信息,將返回一個不為空的Vector<IOutput>數(shù)組,通過遍歷該數(shù)組即可訪問PVC皮革圖像的缺陷信息。
2.2.4? 系統(tǒng)在線檢測流程
在線檢測是將系統(tǒng)使用到的資源的綜合利用,在線檢測步驟為:
(1)在線檢測任務開始前,配置產(chǎn)品參數(shù),配置相機參數(shù)和配置模型參數(shù)。
(2)開始在線檢測任務,加載相機控制模塊的采集圖像功能和視覺分析模塊的缺陷檢測功能。
(3)采集到一幀圖片,對該圖片進行缺陷檢測,當檢測到缺陷時,執(zhí)行步驟(4),未檢測到缺陷時,跳過步驟(4)直接執(zhí)行步驟(5)。
(4)獲取圖片的所有缺陷信息,將存在缺陷的圖片和缺陷信息保存到本地,存在需要報警的缺陷類別則輸出報警。
(5)將當前檢測任務信息記錄成一條日志信息保存到本地,在線檢測任務還在繼續(xù)時重復步驟(3)~(5)。
系統(tǒng)的在線檢測任務流程如圖4所示。
3? 關鍵技術
3.1? DirectUI界面庫
DirectUI界面庫取名自微軟的一個窗口類名“DirectUIHWND”,該界面庫創(chuàng)建的子窗口不以窗口句柄的形式創(chuàng)建,只是邏輯上的窗口,繪制在父窗口之上,易于二次開發(fā),是一張廣泛的應用Windows系統(tǒng)的開源界面庫[3]。本文使用DirectUI界面庫開發(fā)了2個主窗口和5個子窗口,各個窗口的設計和功能描述如表3所示。
主窗口繼承的類是WindowImplBase,重寫了該類的初始化函數(shù)。主窗口本質(zhì)上是一個真實的窗口,每一個主窗口都有一個窗口句柄,而子窗口繼承的類是CNotifyPump,本質(zhì)上是一個虛擬窗口,隸屬于主窗口的子窗口可以共享主窗口的資源,利用這一機制可以實現(xiàn)多種復雜的操作,比如截獲發(fā)送到主窗口的消息,當相機采集到一幀圖像時,將給主窗口發(fā)送一條消息,而在線檢測窗口可以截獲該消息對圖像進行缺陷檢測。此外本文還利用DirectUI的繪圖機制自定義了多個復雜控件,以滿足系統(tǒng)需求。
3.2? 圖像處理
本文在設計系統(tǒng)初始階段對視覺分析算法做過測試,包括但不限于對圖像進行灰度化、拼接、裁剪、縮放等進行操作以達到最佳檢測效果,圖像處理基本流程如圖5所示。
3.2.1? 圖像拼接
圖像拼接是指將拍攝到的具有重疊區(qū)域的若干圖像拼接成一張無縫全景圖的技術[4]。本文所述系統(tǒng)需要用到一個或者多個相機采集高分辨率圖像,當相機水平按順序排列擺放時,需要用到水平圖像拼接技術,將重疊部分拼縫,得到一張更寬的圖像。
3.2.2? 圖像灰度化
圖像灰度化的原理是將圖像的通道數(shù)由多通道變?yōu)閱瓮ǖ?。本文通過實驗比較得出對于PVC皮革的圖像,對其灰度圖像的檢測速度快于彩色圖像的檢測速度,而檢測精度變化不大,因此對PVC皮革圖像進行了灰度化。
3.2.3? 圖像裁剪
工業(yè)圖像采集的圖像裁剪技術即通過裁剪,去掉由于環(huán)境等因素引入的圖像邊界空洞。本文中圖像裁剪的作用就是對一幀圖像的邊緣裁剪,去掉非PVC皮革的部分,只對PVC皮革區(qū)域進行瑕疵目標檢測,以提高檢測效率和檢測精度。
3.2.4? 圖像縮放
圖像縮放是對圖像進行分辨率放大或縮小操作,本文使用圖像縮放技術對圖像進行處理,對于缺陷檢測的精度、速度具有較大影響,且對圖像進行縮小再存儲至磁盤,可以有效減少磁盤占用量,本文權衡缺陷檢測效果和磁盤占用量,將圖像縮放特定的比例。
對于上述四中圖像處理技術,本文使用的是OpenCV開源庫進行操作,對于上述圖像處理方法,本文通過封裝OpenCV庫函數(shù)實現(xiàn)如表4所示。
3.3? 瑕疵目標檢測
本文使用由團隊其他學習小組訓練得到的YOLOv5[5]模型做測試,該模型將瑕疵類型分為hole(孔洞)、ribbon(色線)、dirt(臟污)、bubble(氣泡)、stripe(條紋)五個類別,經(jīng)過測試,本次訓練出來的模型對各個類別的檢測效果,如表5所示。
工業(yè)PVC皮革生產(chǎn)過程中對檢出的不同缺陷類別各有側(cè)重,在本文所展示的類別中,側(cè)重的缺陷類別bubble>hole>dirt>ribbon>stripe,可以看出對于主要類別bubble和hole均能達到80%以上,因此使用YOLOv5算法進行缺陷檢測,檢測精度能滿足工業(yè)生產(chǎn)要求。
本文對視覺分析技術——YOLOv5深度學習算法進行了推理加速機制做了相關研究,為了能在大分辨率圖像下檢測小目標,本文在基于YOLOv5x模型,通過不斷地測試和反饋,對模型本身進行模型剪枝、參數(shù)量化以減小模型體積。對于推理過程,使用TensorRT工具對推理層進行加速,最終達到在不同分辨率下的檢測速度,如表6所示。
在工業(yè)相機的加持下采集圖像來到的分辨率達到了8 k,8 k×8 k分辨率的圖像所表示的PVC皮革實際面積是1 m2(1 m×1 m),因此,8 k×8 k分辨率下,理論上能夠進行實時檢測的PVC皮革產(chǎn)線最大線速度是230 m/min,能滿足線速度60 m/min的PVC皮革產(chǎn)線需求。
4? 結(jié)? 論
在PVC皮革生產(chǎn)過程中,最重要的是避免對PVC皮革缺陷檢出的不及時而造成生產(chǎn)浪費。本文研究一種基于視覺分析的PVC皮革檢測系統(tǒng)。該系統(tǒng)使用DirectUI界面庫技術開發(fā)人機交互界面,使用C++編程語言開發(fā)相機控制模塊、視覺分析模塊和報警模塊。經(jīng)測試,本文所設計的系統(tǒng)完全能夠滿足PVC皮革生產(chǎn)過程中表面缺陷檢測需求,有利于PVC皮革表面缺陷檢測向智能化發(fā)展。
參考文獻:
[1] 林煒,張龍,劉曉虎,等.我國皮革產(chǎn)業(yè)信息化、數(shù)字化建設現(xiàn)狀調(diào)研與分析 [J].皮革科學與工程,2021,31(5):28-32.
[2] 冉詩雅,趙義紅,王巍,等.數(shù)字化技術在皮革行業(yè)的應用現(xiàn)狀及展望 [J].中國皮革,2021,50(4):29-33.
[3] 趙文強,景建恩,楊杰,等.基于Duilib庫的海洋可控源電磁數(shù)據(jù)預處理軟件開發(fā) [J].物探化探計算技術,2021,43(2):261-268.
[4] 王浪.全景圖像拼接算法的研究與實現(xiàn) [D].北京:北京郵電大學,2020.
[5] REDMON J,DIVVALA S,GIRSHICK R,et al. You Only Look Once:Unified,Real-Time Object Detection [C]//2016 IEEE Conference on Computer Vision and Pattern Recognition(CVPR).Las Vegas:IEEE,2016:779-788.
作者簡介:羅澤建(1996—),男,漢族,廣西北海人,碩士研究生在讀,研究方向:計算機應用、深度學習;王美林(1975—),男,漢族,湖南安化人,副教授,博士,研究方向:物聯(lián)網(wǎng)技術、制造執(zhí)行系統(tǒng)及應用、面向新工科教育的智慧學習工場技術;肖文(1997—),男,漢族,湖南株洲人,碩士研究生在讀,研究方向:計算機應用、深度學習;邱?;福?999—),男,漢族,廣東惠州人,碩士研究生在讀,研究方向:計算機應用、深度學習。