張志芬 孫繼磊
(濱州學院信息工程學院 山東濱州 256603)
在汽車輪轂生產過程中,各種輪轂混合生產,不同型號的輪轂經過某些相同的工序,混合出現在傳送帶上。此時,需要對這些輪轂按照型號進行分類,再分揀到不同的地方。現有的輪轂生產廠家,對于輪轂分揀大部分還停留在人工操作階段,由人眼識別輪轂型號,并人力推動或者搬運到不同的類別堆。目前的分揀方式,純人工分揀方式人力成本很高,增加了企業生產成本,降低了利潤。
針對上述情況,本文提出一種低成本全自動輪轂分類系統。該系統利用計算機視覺進行識別和分類,利用推動桿和傳送帶進行輪轂分揀,全程不需要人工參與。該輪轂自動分類系統能夠提高生產效率,很好地滿足輪轂生產企業實際需求。
為了滿足工廠實際需求,通過對汽車輪轂企業進行需求調研,確定本系統除了識別和分類的核心功能外,還需要配套一些輔助功能。整個輪轂分揀系統包括以下功能:
(1)模板管理:添加、刪除、修改、瀏覽、查找輪轂模板,輪轂模板中主要包括輪轂的型號、名稱、圖片、說明信息。
(2)圖像抓拍:輪轂到達生產線傳送帶指定位置時自動啟動攝像頭對當前位置的輪轂進行拍照。
(3)啟動識別:啟動系統識別程序根據拍攝到的當前位置輪轂照片,與模板進行比對識別出當前圖片所對應的輪轂型號,實現輪轂的類型自動識別。

圖1 物理結構示意圖

圖2 軟件架構圖

圖3 系統主界面

圖4 輪轂識別界面

圖5 模板管理界面
(4)分揀功能:對于識別分類后的輪轂,啟用相應的推動桿,分別推送到不同的分支傳送帶上,實現輪轂的自動分揀。
(5)數據保存:將經過識別的所有輪轂的數量、型號、時間等信息保存到數據庫。
(6)生產數據統計:能夠根據日期、型號等信息統計輪轂產量信息。
(7)用戶管理:查看、添加、刪除、修改用戶。
(8)用戶登錄:用戶需登錄才能使用該系統,然后進行操作。

圖6 產量統計界面
(9)修改密碼:用戶可以修改登錄密碼,修改時先輸入舊密碼,再輸入兩次新密碼。密碼要符合一定強度要求,至少要包含大小寫字母數字和標點符號。
汽車輪轂分揀系統物理結構如圖1所示。輪轂從生產線上傳送過來(圖中從左往右)到達攝像頭下方時,觸發傳感器,傳感器將信號發送給計算機,調用攝像頭進行拍照,然后對所拍攝的照片進行識別[1],再根據識別的類型,啟動相應類型的推動桿,將輪轂根據類型分別推送到不同的傳送帶上[2],從而實現輪轂的自動分揀。
汽車輪轂分揀系統軟件架構分為表示層、服務層、數據庫層三個層次。表示層主要負責與用戶進行交互,接收用戶輸入、顯示數據和圖像;服務層主要進行數據訪問服務和圖像識別服務;數據庫層主要用于數據的存儲。系統軟件架構如圖2所示。
(1)編程語言及框架:系統中用戶界面部分要界面簡單美觀、用戶交互效果好,使用C#語言和WPF框架。圖像處理和識別部分要性能好、圖像處理功能要強大,使用C++,調用OpenCV。通過將C++封裝成dll,通過C#調用,可以實現用戶界面與圖像處理識別功能的接口。數據訪問結構使用LINQ + Entity Framework。
(2)開發環境:Visual Studio 2017。
(3)數據庫:MS SQL Server 2014。
(4)系統運行環境:Windows7以上,.NET Framework 4.6以上。
系統主要包括輪轂識別分類、模板維護、參數設計、統計報表、數據備份、用戶管理、修改密碼等功能。系統主界面如圖3所示。現就部分功能進行介紹。
在取得待識別的輪轂圖片后,首先對其進行預處理,然后逐個與模塊進行比對,確定輪轂類別。具體來說包括以下3個步驟[3]。
(1)圖像預處理。
為了提高輪轂圖像識別性能,需要先對攝像頭所拍攝的原始圖像進行預處理。主要進行灰度化、去噪、邊緣提取這3個預處理操作[4]。
(2)特征提取。
為了識別輪轂,需要提取其主要特征,本系統中主要提取輪轂外圓半徑、輪轂輻數及輪輻形狀這3個典型特征[3],實現方法如下。
①外圓半徑:系統中通過Canny算法得到圖像的邊緣信息后,采用霍夫梯度算法檢測出輪轂圖像的外輪廓圓,進而得到圓心坐標和外圓半徑長度[4]。
②輪轂輻數:系統利用濾波法在輪轂的圖像中遍歷圓周得到的黑白像素點跳變次數來判斷輻軸個數。濾波后,沿圓周方向依次檢測像素亮暗,連續亮暗跳變處即為輪輻[5]。
③輪輻形狀:通過以s為步長,以r為半徑(r值介于0.2到0.9倍輪轂半徑)沿圓周進行掃描,根據連續區域的寬度來得到輪輻形狀[6]。
(3)模板匹配。
系統對待識別圖像進行預處理后,提取出其特征,然后將提取出的特征與各個輪轂模板圖像特征進行比對,得出圖片相似度,判定輪轂所屬類別[7]。若滿足以下兩個條件之一,則認為該輪轂屬于相應的模板型號。
(1)待識別圖像與模板的匹配相似度超過一個較高的閾值,該值一般可以取0.9左右。
(2)待識別圖像與某一模板的匹配相似度在所有模板中最高,且超過某一閾值,該值一般可以取0.75左右。
輪轂識別分類的運行界面如圖4所示。
輪轂模板即為輪轂型號,生產線上所拍攝得到的輪轂圖片通過與模板進行對比,從而確定輪轂型號[8]。為了滿足不同的企業實際生產需要,為了能夠靈活的添加、刪除、修改模板,為此設計實現了模板管理功能模塊。每個模板包括輪轂的代碼、名稱、圖片、備注等信息。模板管理模塊運行界面如圖5所示。
在生產統計模塊,用于查詢指定日期范圍各生產線生產的各種輪轂的數量,常量統計界面圖6所示。在該功能中選擇要查詢的日期范圍,然后單擊“查詢”按鈕即可查詢出該日期范圍內各生產線的輪轂數據,單擊“打印”按鈕可以打印該統計信息[9]。
針對汽車輪轂生產企業的輪轂分類問題,以計算機視覺為核心技術,綜合運用W PF、OpenCV、EntityFramework等技術,設計開發了輪轂分類管理系統。該系統全自動運行,無需人工參與,具有較好的實際應用價值。