徐 麗,劉易知,王澤龍,郭金帥,丁稼綺
(長沙理工大學(xué)電氣與信息工程學(xué)院,湖南長沙 410014)
垃圾圍城是我國當(dāng)前城市管理的一大難題,僅2020年新增可回收垃圾總量便超過30億t。填埋、焚燒等傳統(tǒng)垃圾處理方式占用大量土地資源,影響空氣質(zhì)量,容易對環(huán)境造成二次污染。因此可回收垃圾的減量化、無害化、資源化已成社會(huì)亟待解決的重要課題[1]。
現(xiàn)有的機(jī)械自動(dòng)化雖然可以提高分揀效率,但無法識(shí)別垃圾種類。在當(dāng)前人工智能盛行的大背景下,“深度學(xué)習(xí)算法”的提出,基于大數(shù)據(jù)的大規(guī)模計(jì)算、視覺分析等一系列技術(shù)的不斷創(chuàng)新,人工智能分揀設(shè)備應(yīng)運(yùn)而生[2]。目前國外處于研究階段的可回收垃圾前、后端分揀的智能設(shè)備比較多樣,前端如美國CleanRobotics 公司開發(fā)的Trashbot 智能垃圾桶;后端如麻省理工計(jì)算機(jī)科學(xué)和人工智能實(shí)驗(yàn)室2019年開發(fā)的Rocycle 垃圾回收分揀機(jī)器人。國內(nèi),上海的一款前端GPS 垃圾回收機(jī)器人已實(shí)現(xiàn)了垃圾的智能識(shí)別,但對后端分類的研究,國內(nèi)還處于一片空白。
為響應(yīng)國家建設(shè)綠色、生態(tài)中國的號(hào)召,團(tuán)隊(duì)研發(fā)的產(chǎn)品針對我國可回收垃圾的后端處理問題,完成了可回收垃圾重新生產(chǎn)利用環(huán)節(jié)的最后一塊拼圖。在保證了商業(yè)價(jià)值的基礎(chǔ)上,兼顧了社會(huì)效益,為可持續(xù)發(fā)展做出了實(shí)質(zhì)性的貢獻(xiàn)。
整套分類系統(tǒng)由卸貨斗、震動(dòng)喂料機(jī)、攝像頭、主副傳送帶、機(jī)械臂、包裝機(jī)、收集器組成。其中,垃圾順著卸貨斗進(jìn)入震動(dòng)喂料機(jī),在此處進(jìn)行初篩,實(shí)現(xiàn)垃圾的初步分離。然后通過喂料機(jī)出口的識(shí)別掃描儀,被攝像頭進(jìn)行拍攝,圖像通過視覺系統(tǒng)完成識(shí)別。當(dāng)系統(tǒng)無法識(shí)別出垃圾種類時(shí),垃圾會(huì)經(jīng)主傳送帶運(yùn)輸?shù)侥┒说氖占髦小H缦到y(tǒng)成功識(shí)別垃圾,則其會(huì)隨著主傳送帶進(jìn)行運(yùn)動(dòng),當(dāng)移動(dòng)至對應(yīng)類別的機(jī)械臂分揀區(qū)后,機(jī)械臂會(huì)夾取該垃圾至對應(yīng)類別的副傳送帶上,再由副傳送帶運(yùn)輸?shù)桨b機(jī)處。
團(tuán)隊(duì)以越疆MG400為基礎(chǔ),對該機(jī)械臂機(jī)身以及爪形等硬件配置進(jìn)行升級,機(jī)身主體部分更換為更高強(qiáng)度的金屬復(fù)合材料,體積增大三倍,有效荷重從12 kg 提升至18 kg,提高50%,工作耐溫極限從55 ℃提高到90 ℃,提高64%,最高功耗可到1 000 W。
該機(jī)械臂采用四軸結(jié)構(gòu),其大小臂和底座三部分實(shí)現(xiàn)機(jī)械爪在X、Y、Z 三軸的位置定位,末端舵機(jī)的旋轉(zhuǎn)R 軸,則可以使爪子從多個(gè)不同角度對垃圾進(jìn)行抓取。如圖1所示為機(jī)械爪結(jié)構(gòu)圖。
圖1 機(jī)械爪結(jié)構(gòu)圖
機(jī)械爪部分采用一臂多爪設(shè)計(jì),單個(gè)機(jī)械臂上搭載有多個(gè)規(guī)格不同的機(jī)械爪,根據(jù)視覺系統(tǒng)識(shí)別的結(jié)果,底座旋轉(zhuǎn),選取最適的爪型。如圖1機(jī)械爪結(jié)構(gòu)圖中1、2部分所示,采用基礎(chǔ)的外夾式爪型,可對常見形態(tài)的垃圾進(jìn)行抓取,區(qū)別在于1號(hào)爪尺寸較小,對小體積垃圾有更好的拾取效果。3號(hào)爪采用真空吸盤結(jié)構(gòu),吸盤中間留有氣孔,當(dāng)吸盤貼合片狀垃圾表面時(shí),氣泵工作,通過管道將接觸面的空氣抽空,對垃圾進(jìn)行拾取。測試極限狀態(tài)下,該吸盤可穩(wěn)定吸附起21 kg 金屬板。
此外,機(jī)械臂整體以及卸貨斗、喂料機(jī)和收集器都會(huì)進(jìn)行特殊防銹、防腐處理,例如酸洗磷化處理,防止金屬在長期潮濕的環(huán)境中生銹,或被垃圾液腐蝕,延長使用壽命[3]。
(1)震動(dòng)喂料機(jī):主體部分為電動(dòng)機(jī),振動(dòng)臺(tái)以及緩沖器。裝置使能后,電動(dòng)機(jī)帶動(dòng)傾斜的振動(dòng)臺(tái)工作,使堆疊著的垃圾分散開,并送至主傳送帶前端。緩沖器安裝在振動(dòng)臺(tái)和基座之間,穩(wěn)定振動(dòng)臺(tái)的運(yùn)動(dòng)[4]。
(2)攝像頭:對垃圾進(jìn)行攝像掃描,將數(shù)據(jù)傳輸至后臺(tái)進(jìn)行分析。
(3)傳送帶:分為主傳送帶和副傳送帶。主傳送帶將初篩后的垃圾運(yùn)輸至機(jī)械臂分揀區(qū),再由相對應(yīng)類別程序的機(jī)械臂將垃圾夾取至該類垃圾的副傳送帶上,通過副傳送帶運(yùn)輸至包裝機(jī)進(jìn)行包裝。
(4)收集器:副傳送帶末端的漏斗型金屬裝置,將各類垃圾收集運(yùn)輸?shù)桨b機(jī)中。
(5)包裝機(jī):主體結(jié)構(gòu)為壓縮裝置、打包系統(tǒng)、液壓系統(tǒng)及機(jī)架。包裝機(jī)將收集器匯集的垃圾進(jìn)行壓縮,縮減固體垃圾的體積,壓縮后的垃圾塊將傳送至打包系統(tǒng)自動(dòng)打包。
系統(tǒng)最初設(shè)想:收集足量數(shù)據(jù)集,訓(xùn)練出多個(gè)模型,再根據(jù)試驗(yàn)結(jié)果選擇最終模型。
由于可回收垃圾分類并無相關(guān)數(shù)據(jù)集,因而系統(tǒng)最初數(shù)據(jù)集是由網(wǎng)絡(luò)爬蟲爬取,再進(jìn)行數(shù)據(jù)篩選與清洗后所得。測試時(shí),系統(tǒng)識(shí)別準(zhǔn)確率極低。采用更換模型、圖像增強(qiáng)、調(diào)整訓(xùn)練參數(shù)、增加訓(xùn)練輪次等方式,也都收效甚微。這違背了深度學(xué)習(xí)獨(dú)立同分布[5]的假設(shè)。深度學(xué)習(xí)對大規(guī)模訓(xùn)練數(shù)據(jù)極其依賴,需要大量數(shù)據(jù)去理解潛在的數(shù)據(jù)模式[6][7]。即:模型對未來數(shù)據(jù)的預(yù)測與模擬,是建立在對現(xiàn)有數(shù)據(jù)的訓(xùn)練學(xué)習(xí)上的。
于是使用遷移學(xué)習(xí)的方法,放寬了獨(dú)立同分布的假設(shè),目標(biāo)域中的模型無需從頭訓(xùn)練,可顯著降低目標(biāo)域?qū)τ?xùn)練數(shù)據(jù)與訓(xùn)練時(shí)間的需求,前后共自主拍攝五萬多張五類可回收垃圾的數(shù)據(jù)集。
系統(tǒng)識(shí)別準(zhǔn)確率不穩(wěn)定,存在波動(dòng),有時(shí)甚至呈直線式下降、降至隨機(jī)水平。
于是使用圖像降噪的方法進(jìn)行處理。因傳送帶近似于黑色,對應(yīng)RGB 3個(gè)通道的數(shù)字較小,故設(shè)定一個(gè)背景噪聲處理機(jī)制,即先使已固定好方位及角度的攝像頭對未運(yùn)載垃圾的傳送帶不間斷地拍照,再利用OpenCV 庫將拍攝到的傳送帶及傳送帶外的背景環(huán)境進(jìn)行分離,并使用RGB 值為(235,235,235)的顏色填充背景環(huán)境。當(dāng)傳送帶運(yùn)載垃圾時(shí),繼續(xù)沿用此機(jī)制即可。
一次偶然的試驗(yàn)中,系統(tǒng)出現(xiàn)誤將傳送帶識(shí)別成垃圾的情況。由于此情況發(fā)生概率極低,因而試驗(yàn)前期并未發(fā)現(xiàn)此問題,以下是解決方法的優(yōu)化過程:①拍攝大量傳送帶圖像并為其建立數(shù)據(jù)集,再將傳送帶圖像數(shù)據(jù)與可回收垃圾圖像數(shù)據(jù)一起進(jìn)行訓(xùn)練。最終的試驗(yàn)結(jié)果證明了此種方法的可行性。②優(yōu)化代碼結(jié)構(gòu)。采用閾值管理的方法。即通過試驗(yàn)確定一個(gè)閾值,當(dāng)識(shí)別系統(tǒng)給出的關(guān)于每類垃圾的置信度存在于此閾值范圍內(nèi)時(shí),激發(fā)機(jī)械臂控制程序;反之則不激發(fā),識(shí)別系統(tǒng)繼續(xù)處理下一張垃圾圖像。該方法不僅繼承了上述兩種方法的優(yōu)點(diǎn),還具有代碼更簡潔、使用參數(shù)更少、適用場景更多、可根據(jù)不同的需求進(jìn)行相應(yīng)調(diào)整的優(yōu)點(diǎn)。
4.4.1 圖像處理
利用OpenCV 中的resize 函數(shù)將圖像調(diào)節(jié)為預(yù)定大小。反復(fù)試驗(yàn)確定降噪閾值,當(dāng)圖像背景的RGB平均值低于100 時(shí),將背景顏色改為(235,235,
235)。
基于Python 語言并結(jié)合其自帶的GUI—Tkinter編寫了一個(gè)可對圖像亮度與對比度數(shù)值大小進(jìn)行可視化調(diào)節(jié)的界面。當(dāng)外界燈光環(huán)境變化導(dǎo)致識(shí)別準(zhǔn)確率下降時(shí)可調(diào)用此界面對拍攝到的垃圾圖像進(jìn)行調(diào)節(jié)。
此功能原理如下。其中,a 代表對比度的數(shù)值,b 代表亮度的數(shù)值,img_original 表示原圖,img_new表示調(diào)節(jié)后的圖片。
img_new=a*img_original+b
圖像經(jīng)過處理后會(huì)被送入預(yù)先訓(xùn)練好的模型中進(jìn)行識(shí)別。
4.4.2 識(shí)別系統(tǒng)
訓(xùn)練數(shù)據(jù)利用了Keras庫中的ImageDataGenerator函數(shù)進(jìn)行數(shù)據(jù)增強(qiáng),每輪的batch_size 為128,并運(yùn)用了遷移學(xué)習(xí)的方法將預(yù)訓(xùn)練好的CNN 模型——InceptionResNetV2 及其權(quán)重作為起點(diǎn),再加上GlobalAveragePooling2D 層和Dense 層對可回收垃圾的數(shù)據(jù)集進(jìn)行訓(xùn)練。訓(xùn)練好的模型以H5文件的格式被存儲(chǔ)在了系統(tǒng)中,系統(tǒng)運(yùn)行時(shí)將自動(dòng)載入此H5文件。模型編譯語句如下:
model.compile(optimizer=Adam(1e-4),
loss='categorical_crossentropy',metrics=['acc'])
模型訓(xùn)練10個(gè)epoch 后的準(zhǔn)確率及損失率的變化曲線如圖2所示。
圖2 準(zhǔn)確率及損失率變化曲線
試驗(yàn)時(shí)測試的所有模型及其準(zhǔn)確率,如表1所示。其中每種模型每種垃圾分別試驗(yàn)750 次,合計(jì)試驗(yàn)750×5×5=18750次。
表1 各模型的實(shí)驗(yàn)準(zhǔn)確率(%)
經(jīng)過各方面綜合分析與比較,最終選定InceptionResNetV2。模型識(shí)別完成后將輸出一個(gè)關(guān)于五類可回收垃圾的結(jié)果向量。
4.4.3 決策程序
利用Numpy 庫中的argmax 函數(shù)取出結(jié)果向量中的最大值,并判斷此最大值是否在[0.7,1]的區(qū)間內(nèi)。是,則舍棄此垃圾;否,則返回此最大值所對應(yīng)的索引并根據(jù)最終輸出的索引控制相應(yīng)的機(jī)械臂進(jìn)行抓取,0到4分別對應(yīng)塑料、布料、廢紙、玻璃和金屬。當(dāng)返回的索引值為-1(用戶摁下鍵盤上的“q”鍵退出了程序)與-2(傳送帶停止運(yùn)動(dòng))時(shí),模型將被關(guān)閉、程序也將停止運(yùn)行。當(dāng)以上兩個(gè)因素都調(diào)整好之后重新運(yùn)行main.py 文件,系統(tǒng)即可再次進(jìn)入工作狀態(tài)。
裝置應(yīng)用了深度學(xué)習(xí)原理,利用多層神經(jīng)網(wǎng)絡(luò)和視覺系統(tǒng)來對可回收垃圾的種類進(jìn)行識(shí)別,并控制機(jī)械臂的運(yùn)動(dòng)來對垃圾進(jìn)行自動(dòng)分揀。大大提高了可回收垃圾分揀的效率,實(shí)現(xiàn)了智能化分揀,對于綠色城市建設(shè)將有很大的經(jīng)濟(jì)與社會(huì)效益。