施徐偉,丁書藝,儲(chǔ)妤,鄭思婕,韋樸
(南京工程學(xué)院 信息與通信工程學(xué)院,江蘇南京,211167)
我國垃圾產(chǎn)量年增長(zhǎng)率超過百分之十,每年產(chǎn)生城市垃圾近1.5億噸。我國雖已推廣垃圾分類,但也有多數(shù)人與地方?jīng)]有具備垃圾分類意識(shí)或條件,這也導(dǎo)致垃圾分揀環(huán)節(jié)的任務(wù)加重,對(duì)分揀工人的身體健康產(chǎn)生更多不良影響。如何處理好垃圾分揀問題,隨著機(jī)器視覺技術(shù)的發(fā)展得到了解決方案。深度學(xué)習(xí)概念的提出,卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)等算法的推廣應(yīng)用,訓(xùn)練后的機(jī)器可以自主建立識(shí)別邏輯,大幅度提升了圖像識(shí)別的準(zhǔn)確率。國外Ziatdinov等人就使用機(jī)器視覺讀取和識(shí)別表面上復(fù)雜的分子組件,構(gòu)建函數(shù)關(guān)系,應(yīng)用于電子和其他微觀測(cè)量。機(jī)器視覺的發(fā)展逐漸完善了垃圾分揀的自動(dòng)化,自動(dòng)化的垃圾分揀節(jié)省了人力物力,提高資源利用率。
本文設(shè)計(jì)的一種垃圾分揀機(jī)器以傳送帶系統(tǒng)為框架,配置上工業(yè)相機(jī)進(jìn)行物體的拍攝,運(yùn)用舵機(jī)撥動(dòng)物體。機(jī)器視覺部分采用Tensorflow與LabVIEW系統(tǒng)進(jìn)行訓(xùn)練與識(shí)別,樹莓派連接起上位機(jī)與下位機(jī)[1],實(shí)現(xiàn)了垃圾的自動(dòng)分揀。
本文裝置以傳送帶(亞克力板搭建)、3B+型樹莓派和USB彩色工業(yè)相機(jī)為基礎(chǔ),配置上一套基于機(jī)器視覺的分揀系統(tǒng)。實(shí)驗(yàn)過程首先放置物體于傳送帶平臺(tái)上,第一紅外接近開關(guān)感應(yīng),發(fā)送低電平給樹莓派,樹莓派接收后通過TCP通信發(fā)送信息給上位機(jī)LabVIEW系統(tǒng),系統(tǒng)控制相機(jī)拍攝圖片,并做出處理、匹配與判斷[2]。LabVIEW系統(tǒng)將判斷結(jié)果信號(hào)傳送回樹莓派,樹莓派控制第一舵機(jī)將物體打至傳送帶上,待第二紅外接近開關(guān)感應(yīng)物體后,樹莓派再根據(jù)信號(hào)結(jié)果控制第二舵機(jī)將物體打入對(duì)應(yīng)的盒中,完成分揀。
基于機(jī)器視覺的垃圾分揀系統(tǒng)包含識(shí)別算法單元和機(jī)電控制單元兩個(gè)部分,系統(tǒng)整體流程圖如圖1所示。
圖1 系統(tǒng)整體流程圖
機(jī)器視覺識(shí)別系統(tǒng),需對(duì)相機(jī)采集到的圖像進(jìn)行預(yù)處理[3],減少干擾要素,優(yōu)化算法,提高計(jì)算機(jī)處理效率。首先灰度化處理,將彩色圖像轉(zhuǎn)化為灰度圖,避免了圖像失真,也減少了后續(xù)對(duì)圖像的計(jì)算?;叶确秶鸀?-255,光照強(qiáng)度的變動(dòng),會(huì)對(duì)數(shù)據(jù)產(chǎn)生較大影響。進(jìn)行二值化處理將像素減少至0與255,設(shè)定閾值將圖像劃分像素群,便于從多值的數(shù)字圖像中直接提取出目標(biāo)物體。接著填充孔洞,使目標(biāo)物體像素群連成一個(gè)整體,避免目標(biāo)物體特征被濾除。最后顆粒濾波,根據(jù)目標(biāo)物體像素面積選定范圍,濾除干擾。得到的二值圖與灰度圖進(jìn)行掩膜,實(shí)現(xiàn)圖像的預(yù)處理。
圖2 可樂瓶圖片預(yù)處理流程
深度學(xué)習(xí)采用Tensorflow訓(xùn)練目標(biāo)檢測(cè)模型,以Fast R-CNN算法實(shí)現(xiàn)目標(biāo)檢測(cè),將RCNN眾多步驟整合在一起,提高了檢測(cè)速度和準(zhǔn)確性。首先輸入目標(biāo)物體10~20幅完成預(yù)處理的圖像,利用Selective Search算法在輸入圖像中提取出候選區(qū)域,并把這些候選區(qū)域按照空間位置關(guān)系映射到最后的卷積特征層,再對(duì)卷積特征層上的每個(gè)候選區(qū)域進(jìn)行RoI Pooling操作,得到固定維度的特征,最后將提取到的特征輸入全連接層,然后用Softmax進(jìn)行分類,對(duì)候選區(qū)域的位置進(jìn)行回歸,進(jìn)行對(duì)目標(biāo)檢測(cè)的訓(xùn)練。
在tensorboard中觀察損失(loss)訓(xùn)練圖,隨著訓(xùn)練次數(shù)的增加,loss曲線逐漸平滑并趨近于一個(gè)數(shù),不斷改變算法,實(shí)現(xiàn)更小的loss,完成模型的訓(xùn)練。
表1 Loss值變化效果
機(jī)械裝置搭建在120cm×40cm×3cm的木板平臺(tái)上,主要構(gòu)建材料為亞克力板,主從動(dòng)輪架在四塊木板之間作為承載構(gòu)件,配置上軸承減少摩擦力,連接兩動(dòng)輪的牽引布料保持一定張力與垂度,形成一個(gè)穩(wěn)定運(yùn)行的傳送帶系統(tǒng)。安置在主動(dòng)輪一側(cè)的450g.cm力矩直流電機(jī)作為驅(qū)動(dòng)裝置,通電后帶動(dòng)傳送帶勻速轉(zhuǎn)動(dòng)。傳送帶兩側(cè)安裝的兩對(duì)紅外接近開關(guān)、兩個(gè)舵機(jī)與樹莓派電路板焊接,實(shí)現(xiàn)信號(hào)傳遞與機(jī)械控制。
圖3 系統(tǒng)裝置
主控MPC采用PCA9685舵機(jī)控制板,樹莓派Linux系統(tǒng)中使用Python進(jìn)行編程,實(shí)現(xiàn)對(duì)下位機(jī)的控制。引入Adafruit_PCA9685模塊,設(shè)置相應(yīng)角度與旋轉(zhuǎn)方向,使兩個(gè)舵機(jī)在上位機(jī)發(fā)送命令后進(jìn)行相應(yīng)的轉(zhuǎn)動(dòng)。引入GPIO模塊,在BOARD編碼方式下設(shè)置16號(hào)與18號(hào)為輸入模式,紅外接近開關(guān)檢測(cè)到有物體時(shí),檢測(cè)到GPIO口中值的變化,成為舵機(jī)轉(zhuǎn)動(dòng)的條件。引入socket模塊,通過輸入目的地址和端口號(hào),將樹莓派Linux作為客戶端與上位機(jī)進(jìn)行TCP通信。
圖4 MPC電路板
圖像采集使用的是一臺(tái)USB彩色工業(yè)相機(jī),通過工業(yè)相機(jī)來獲取圖像信息,并將圖像由USB線傳遞至計(jì)算機(jī)。要想提高最終判斷的準(zhǔn)確性,需要一套合適的打光方案。第一,選擇一個(gè)恰當(dāng)光源:光源可以分為自然光源和人造光源,在機(jī)器視覺中,需要依據(jù)待檢測(cè)目標(biāo)的顏色、材質(zhì)和形狀考慮所需光源的強(qiáng)度、光路和光譜等特性。由于垃圾種類繁多,因此選擇LED光源, LED光源具有發(fā)熱少、功耗低、壽命長(zhǎng)、光譜范圍寬、發(fā)光強(qiáng)度高等優(yōu)點(diǎn);第二,選擇最優(yōu)的打光方案:打光方式有許多,例如前面打光法、后面打光法、結(jié)構(gòu)光打光法、混合多方式照明、特殊式等,采用半球積分照明法,確保圖像照度均勻。
LabVIEW系統(tǒng)作為主程序聯(lián)通各個(gè)環(huán)節(jié)。主vi采用Master/Slave Design Pattern模式,當(dāng)Master循環(huán)接收到樹莓派發(fā)出的信號(hào)后,發(fā)送指令給Slave循環(huán)。Slave循環(huán)中子vi控制相機(jī)拍攝圖片,經(jīng)過由視覺助手生成的圖片預(yù)處理程序,完成圖片預(yù)處理,再調(diào)用Tensorflow訓(xùn)練模型進(jìn)行檢測(cè),匹配出結(jié)果,生成相應(yīng)字符串,發(fā)送給Master循環(huán)。Master循環(huán)根據(jù)字符串用TCP通信傳送結(jié)果信號(hào)給樹莓派,完成一次循環(huán)。
本文基于LabVIEW平臺(tái),設(shè)計(jì)并實(shí)現(xiàn)了基于機(jī)器視覺的垃圾分揀系統(tǒng)。系統(tǒng)采用機(jī)器視覺算法,獲取被測(cè)物的圖像特征,通過Tensorflow設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)算法,實(shí)現(xiàn)對(duì)特征的學(xué)習(xí)和識(shí)別。識(shí)別結(jié)果傳輸至機(jī)電控制單元,實(shí)現(xiàn)對(duì)垃圾的分揀。該方案匹配成功率大于90%,實(shí)現(xiàn)了垃圾精準(zhǔn)分揀,對(duì)提高資源利用率,減輕分揀工人工作負(fù)擔(dān),具有重要意義。