李 祺, 曾 明, 盧向哲, 聶為之
(天津大學(xué)a.電氣自動(dòng)化與信息工程學(xué)院;b.電氣工程與自動(dòng)化國(guó)家級(jí)虛擬仿真實(shí)驗(yàn)教學(xué)中心,天津 300072)
由于垃圾物品的種類(lèi)繁多垃圾分類(lèi)處理勢(shì)在必行[1-3],不同國(guó)家和地區(qū)的分類(lèi)標(biāo)準(zhǔn)也存在一定的差異,這給民眾掌握全面、細(xì)節(jié)的垃圾分類(lèi)知識(shí)帶來(lái)了極大的挑戰(zhàn)。目前針對(duì)垃圾的前端收集,國(guó)內(nèi)外已有一些公司研制出了具有分類(lèi)功能的智能垃圾桶。例如,中國(guó)阿爾飛思公司研發(fā)的人工智能垃圾桶[4],在用戶投入垃圾后,桶內(nèi)頂端的攝像頭拍攝照片自動(dòng)識(shí)別垃圾類(lèi)別,然后將垃圾投放至相應(yīng)類(lèi)別的垃圾桶。美國(guó)Clean Robotics公司研發(fā)的一款自動(dòng)垃圾分類(lèi)機(jī)器人TrashBot[5],其先通過(guò)攝像頭識(shí)別投入垃圾桶的垃圾,再通過(guò)智能算法將物品按類(lèi)別歸到各自屬于廢物還是可回收類(lèi)垃圾桶中。這兩款先進(jìn)的垃圾桶雖然都可以通過(guò)桶內(nèi)的視覺(jué)系統(tǒng)識(shí)別垃圾種類(lèi),并進(jìn)行垃圾分類(lèi)投放,但這類(lèi)一體化“封閉式”設(shè)計(jì)的智能垃圾桶存在諸多問(wèn)題:①分類(lèi)種類(lèi)限制太大,一般只能實(shí)現(xiàn)二分類(lèi);②由于受內(nèi)部視覺(jué)檢測(cè)空間的限制,只允許投放小尺寸的垃圾物品;③視覺(jué)檢測(cè)裝置占用了很多的空間,垃圾桶的容量受到一定的限制,增加收集的頻次;④垃圾溢滿時(shí),很難實(shí)現(xiàn)垃圾自動(dòng)的轉(zhuǎn)運(yùn),需要人工打開(kāi)垃圾箱取出溢滿的垃圾;⑤被智能垃圾桶所取代的傳統(tǒng)垃圾桶得不到充分利用。此外,在算法方面,目前基于深度學(xué)習(xí)的方法已被應(yīng)用于垃圾分類(lèi)中[6-9],但這些方法中所用到的網(wǎng)絡(luò)層數(shù)較淺,提取圖像高維特征的能力有限[10],同時(shí)在訓(xùn)練網(wǎng)絡(luò)中使用單一的損失函數(shù)難以獲得更優(yōu)的模型[11]。
本文提出采用可分離式的機(jī)構(gòu)設(shè)計(jì)方案和云邊協(xié)同的電控系統(tǒng)設(shè)計(jì)方案,擴(kuò)展了垃圾分類(lèi)種數(shù)和垃圾桶的容量,且便于垃圾轉(zhuǎn)運(yùn)。在此基礎(chǔ)上,應(yīng)用基于遷移學(xué)習(xí)的垃圾分類(lèi)方法,提升了系統(tǒng)對(duì)圖像高維特征的提取能力。依托該平臺(tái)開(kāi)展實(shí)驗(yàn)教學(xué),推動(dòng)了教育技術(shù)的革新,更好地培養(yǎng)了學(xué)生工程實(shí)踐能力與創(chuàng)新意識(shí)。
智能垃圾分類(lèi)實(shí)驗(yàn)平臺(tái)(以下簡(jiǎn)稱為“實(shí)驗(yàn)平臺(tái)”)主要由視覺(jué)檢測(cè)分類(lèi)模塊和多個(gè)桶蓋分離的智能垃圾桶模塊構(gòu)成,如圖1 所示。針對(duì)目前國(guó)內(nèi)外一體化智能垃圾桶存在的問(wèn)題,實(shí)驗(yàn)平臺(tái)采用可分離式的設(shè)計(jì)方案,即“視覺(jué)檢測(cè)與智能桶分離”“桶蓋與桶身分離”。
(1)視覺(jué)檢測(cè)與智能桶分離。視覺(jué)檢測(cè)分類(lèi)模塊主體結(jié)構(gòu)包含支架部分、檢測(cè)部分和控制箱,如圖2 所示。其中,支架部分由載物臺(tái)和支撐立柱組成,載物臺(tái)用于盛放被測(cè)物品,通過(guò)調(diào)節(jié)支撐立柱可確保檢測(cè)部分的識(shí)別范圍覆蓋整個(gè)載物臺(tái);檢測(cè)部分由超聲傳感器和視覺(jué)攝像頭組成,超聲傳感器用于檢測(cè)視覺(jué)攝像頭與載物臺(tái)之間是否有待檢測(cè)的垃圾,攝像頭用于采集垃圾的圖像信息;控制箱內(nèi)部署實(shí)驗(yàn)平臺(tái)的電氣控制系統(tǒng)。
圖1 智能垃圾分類(lèi)實(shí)驗(yàn)平臺(tái)
圖2 視覺(jué)檢測(cè)分類(lèi)模塊結(jié)構(gòu)
通過(guò)具有獨(dú)立的支架部分的結(jié)構(gòu)設(shè)計(jì),實(shí)現(xiàn)視覺(jué)檢測(cè)分類(lèi)模塊與智能垃圾桶模塊分離,可使實(shí)驗(yàn)平臺(tái)具備以下優(yōu)點(diǎn):①分類(lèi)垃圾種類(lèi)數(shù)不受限制,可以是2分類(lèi)、4 分類(lèi),甚至更多類(lèi);②方便檢測(cè)和投放尺寸較大的垃圾物品;③不含視覺(jué)檢測(cè)的智能桶的垃圾容量增大,減少了收運(yùn)頻次;④垃圾分類(lèi)過(guò)程可以實(shí)現(xiàn)可視化,有很好的引導(dǎo)和教育效果。
(2)桶蓋與桶身分離。智能垃圾桶模塊由分離的智能桶蓋結(jié)構(gòu)、伸縮支撐結(jié)構(gòu)及移動(dòng)垃圾桶3 部分組成,如圖3 所示。智能桶蓋結(jié)構(gòu)包含活動(dòng)蓋板、固定蓋板、紅外探測(cè)器和料位高度超聲探測(cè)器;伸縮支撐結(jié)構(gòu)包含伸縮立柱、開(kāi)蓋電動(dòng)推桿、伸縮立柱頂推電動(dòng)推桿和T型立柱;移動(dòng)垃圾桶選用普通公共垃圾桶即可。
分離的智能桶蓋采用小蓋套大蓋的雙桶蓋設(shè)計(jì),活動(dòng)蓋板的開(kāi)蓋動(dòng)力由開(kāi)蓋電動(dòng)推桿提供,開(kāi)蓋電動(dòng)推桿上下運(yùn)動(dòng)時(shí)帶動(dòng)活動(dòng)蓋板繞轉(zhuǎn)軸翻轉(zhuǎn),實(shí)現(xiàn)智能桶的自動(dòng)開(kāi)、關(guān)蓋功能;固定蓋板通過(guò)連接伸縮立柱頂推電動(dòng)推桿進(jìn)行上下運(yùn)動(dòng),實(shí)現(xiàn)自動(dòng)封蓋不同高度尺寸的垃圾桶。智能桶蓋內(nèi)側(cè)的料位高度超聲探測(cè)器用于實(shí)時(shí)監(jiān)測(cè)垃圾桶的剩余容量,紅外探測(cè)器則用于方便熟知垃圾類(lèi)別用戶直接掃描開(kāi)蓋投放垃圾。
圖3 智能垃圾桶模塊結(jié)構(gòu)
“桶蓋與桶身分離”設(shè)計(jì)的優(yōu)點(diǎn)體現(xiàn)在:①由于桶蓋是分離的,使得垃圾桶溢滿后可以很方便的轉(zhuǎn)運(yùn);②可伸縮懸空智能桶蓋可以將容量為60 ~240 L的普通垃圾桶快速升級(jí)為智能垃圾桶,充分利用現(xiàn)有資源。
實(shí)驗(yàn)平臺(tái)的電控系統(tǒng)采用“上位機(jī)+下位機(jī)”的硬件結(jié)構(gòu)[12]。其中,上位機(jī)選用樹(shù)莓派CM4,用于讀取并處理攝像頭采集的圖像信息和下位機(jī)上傳的數(shù)據(jù)信息;下位機(jī)基于STM32F103 芯片構(gòu)建控制器,用于采集傳感器的數(shù)據(jù)信息、執(zhí)行上位機(jī)回傳的策略指令,并控制機(jī)構(gòu)執(zhí)行相應(yīng)動(dòng)作。
在此基礎(chǔ)上,將每個(gè)垃圾分類(lèi)實(shí)驗(yàn)平臺(tái)視作一個(gè)智能終端,依據(jù)物聯(lián)網(wǎng)架構(gòu),開(kāi)發(fā)云端服務(wù)平臺(tái)用于搭建卷積神經(jīng)網(wǎng)絡(luò)、訓(xùn)練垃圾分類(lèi)模型;與此同時(shí),樹(shù)莓派CM4 成為系統(tǒng)中的邊緣計(jì)算節(jié)點(diǎn),運(yùn)行優(yōu)化后的垃圾分類(lèi)模型,并將新采集的垃圾圖像信息上傳云平臺(tái),以供擴(kuò)展垃圾圖像數(shù)據(jù)集。從而形成云邊協(xié)同的智能垃圾分類(lèi)系統(tǒng)架構(gòu),如圖4 所示。
圖4 云邊協(xié)同的智能垃圾分類(lèi)系統(tǒng)架構(gòu)
當(dāng)用戶將待檢測(cè)的物品放置在載物臺(tái)上,超聲傳感器會(huì)檢測(cè)到位置信息的變化從而觸發(fā)視覺(jué)檢測(cè)裝置工作:電氣控制柜內(nèi)的樹(shù)莓派主控板調(diào)用視覺(jué)攝像頭對(duì)待檢測(cè)的垃圾物品進(jìn)行拍照,并運(yùn)行分類(lèi)模型進(jìn)行預(yù)測(cè),從而完成垃圾物品的檢測(cè)和識(shí)別任務(wù),預(yù)測(cè)的垃圾分類(lèi)結(jié)果及圖像信息最終會(huì)上傳云平臺(tái)。在此基礎(chǔ)上,通過(guò)下位機(jī)控制打開(kāi)相應(yīng)類(lèi)別的智能垃圾桶的活動(dòng)蓋板,并點(diǎn)亮該桶蓋的LED 燈帶,引導(dǎo)用戶進(jìn)行垃圾投放。此外,考慮到部分常見(jiàn)垃圾(例如礦泉水瓶、金屬易拉罐等)的類(lèi)別歸屬為大眾所熟知,用戶可通過(guò)直接掃描每個(gè)智能桶蓋前端設(shè)置的紅外探測(cè)裝置,進(jìn)行開(kāi)蓋投放。每次投放結(jié)束后,桶蓋下方的超聲傳感器回傳距離信息并計(jì)算桶內(nèi)剩余空間發(fā)送到上位機(jī);當(dāng)垃圾桶接近溢滿時(shí),上位機(jī)會(huì)將溢滿信息發(fā)送至管理中心或保潔員提醒及時(shí)清運(yùn)處理。
大數(shù)據(jù)是深度學(xué)習(xí)的基礎(chǔ)[13]。研究表明,深度學(xué)習(xí)計(jì)算的性能隨著訓(xùn)練數(shù)據(jù)的數(shù)量級(jí)呈線性增加的趨勢(shì),數(shù)據(jù)量的大小直接影響深度學(xué)習(xí)的性能,數(shù)據(jù)量太小會(huì)導(dǎo)致訓(xùn)練出的模型泛化能力弱、容易過(guò)擬合,無(wú)法應(yīng)用到現(xiàn)實(shí)生活。許多圖像領(lǐng)域任務(wù)(如圖像分類(lèi)、目標(biāo)檢測(cè)、圖像分割等)的完成,都離不開(kāi)巨大的數(shù)據(jù)集。Razali等[14]自行采集的200 張垃圾圖像數(shù)據(jù)集(未公開(kāi));Sakr等[15]自行采集的2 000 張垃圾圖像數(shù)據(jù)集(未公開(kāi));Chu等[16]構(gòu)建的總數(shù)為2 527 張垃圾圖像數(shù)據(jù)集TrashNet(公開(kāi))。由此可見(jiàn),目前公開(kāi)的垃圾圖像數(shù)據(jù)集數(shù)據(jù)量少,無(wú)法滿足深度學(xué)習(xí)模型的訓(xùn)練要求,大規(guī)模生活垃圾目標(biāo)檢測(cè)圖像數(shù)據(jù)集成為應(yīng)用深度學(xué)習(xí)進(jìn)行垃圾分類(lèi)的重大挑戰(zhàn)。
本課題組于2018 年開(kāi)始進(jìn)行人工構(gòu)建垃圾圖像數(shù)據(jù)的工作,用于分類(lèi)算法的研究。首先對(duì)課題組自行采集的真實(shí)垃圾圖片和從網(wǎng)上獲取的垃圾圖像數(shù)據(jù)集進(jìn)行整合,共得到33 萬(wàn)張單物品垃圾圖像;然后組員們對(duì)其進(jìn)行人工清洗與分類(lèi),去除圖像模糊、類(lèi)型重復(fù)及信息殘缺的數(shù)據(jù);最終,經(jīng)人工數(shù)據(jù)清洗與分類(lèi),共篩選得到19 萬(wàn)張的高質(zhì)量大規(guī)模單物品垃圾圖像數(shù)據(jù)集GarbageNet,包含10 個(gè)大類(lèi)(廚余垃圾、可回收塑料、不可回收塑料、可回收紙、不可回收紙、金屬、電子產(chǎn)品、玻璃、紡織物、危險(xiǎn)有害垃圾)、34 個(gè)超類(lèi)(見(jiàn)圖5)、767 個(gè)小類(lèi)。
為使實(shí)驗(yàn)平臺(tái)克服現(xiàn)有淺層卷積神經(jīng)網(wǎng)絡(luò)(CNN)垃圾分類(lèi)方法存在的高維特征提取能力有限等問(wèn)題,應(yīng)用基于深度跨連接網(wǎng)絡(luò)的垃圾分類(lèi)算法,實(shí)現(xiàn)更深層次的特征提取;同時(shí)通過(guò)設(shè)計(jì)新的損失函數(shù),進(jìn)一步提升垃圾分類(lèi)的準(zhǔn)確率。
基于深度跨連接網(wǎng)絡(luò)的垃圾分類(lèi)算法首先應(yīng)用深度跨連接網(wǎng)絡(luò)DenseNet[17]在大型數(shù)據(jù)集ImageNet 上預(yù)訓(xùn)練提高網(wǎng)絡(luò)的特征提取能力;然后在自行構(gòu)建的垃圾圖像數(shù)據(jù)集GarbageNet 上對(duì)網(wǎng)絡(luò)部分參數(shù)進(jìn)行微調(diào),實(shí)現(xiàn)將網(wǎng)絡(luò)前期在ImageNet 上學(xué)習(xí)到的特征提取能力遷移到GarbageNet 上;在此基礎(chǔ)上,訓(xùn)練網(wǎng)絡(luò)的垃圾分類(lèi)能力,在這部分訓(xùn)練中引入新的損失函數(shù)。具體步驟如下:
(1)搭建深度跨連接網(wǎng)絡(luò)DenseNet(配置見(jiàn)表1),初始化網(wǎng)絡(luò)模型參數(shù),并在數(shù)據(jù)集ImageNet 訓(xùn)練全部網(wǎng)絡(luò)參數(shù),直到網(wǎng)絡(luò)的特征提取能力達(dá)到最優(yōu)。
(2)將步驟(1)中訓(xùn)練好的網(wǎng)絡(luò)替換最后的全連接分類(lèi)器,分類(lèi)數(shù)由ImageNet 的1000 類(lèi)變成GarbageNet的10 類(lèi);固定低層網(wǎng)絡(luò)參數(shù),只允許訓(xùn)練高層的網(wǎng)絡(luò)參數(shù),設(shè)經(jīng)過(guò)改進(jìn)的深度跨連接網(wǎng)絡(luò)為A。
圖5 34個(gè)超類(lèi)包含的小類(lèi)個(gè)數(shù)
表1 深度跨連接網(wǎng)絡(luò)的配置說(shuō)明
(3)對(duì)圖片數(shù)據(jù)進(jìn)行預(yù)處理。根據(jù)DenseNet 的網(wǎng)絡(luò)配置,設(shè)置參數(shù)batch size =64,讀取64 個(gè)圖片數(shù)據(jù)和對(duì)應(yīng)的標(biāo)簽,通過(guò)隨機(jī)左右翻轉(zhuǎn)、隨機(jī)上下翻轉(zhuǎn)、隨機(jī)亮度和隨機(jī)飽和度,對(duì)圖片做數(shù)據(jù)增強(qiáng);在此基礎(chǔ)上,將每個(gè)圖片的RGB 像素值進(jìn)行歸一化處理(在0 ~1 的范圍內(nèi)),之后將數(shù)據(jù)減去0.5、乘以2 使數(shù)據(jù)處于(-1,1)之間,以滿足激活函數(shù)要求。
(4)將步驟(3)中處理后的圖片數(shù)據(jù)輸入網(wǎng)絡(luò)A,通過(guò)網(wǎng)絡(luò)A前向傳播后得到維度為(64,10)的概率矩陣,每一行代表該圖片屬于10 個(gè)類(lèi)別的概率。
(5)根據(jù)類(lèi)別標(biāo)簽y和概率矩陣y^(網(wǎng)絡(luò)輸出)之間的交叉熵?fù)p失函數(shù)L(y,y^)= -∑ylgy^,計(jì)算總的損失函數(shù)[18]
式中:L(ymat,y^mat)是材質(zhì)交叉熵?fù)p失函數(shù);ymat是材質(zhì)標(biāo)簽;y^mat是材質(zhì)概率;L(yrec,y^rec)是回收交叉熵?fù)p失函數(shù);R為可回收類(lèi)別集;U 為不可回收類(lèi)別集;m為可回收類(lèi)別數(shù)量;n為不可回收類(lèi)別數(shù)量;yrec是回收標(biāo)簽;yR是可回收標(biāo)簽;yU是不可回收標(biāo)簽;y^rec是回收概率;pR是可回收概率;pU是不可回收概率;α是權(quán)重因子(用來(lái)分配兩個(gè)交叉熵?fù)p失的重要性),量綱為1。
通過(guò)反向傳播計(jì)算損失對(duì)每個(gè)參數(shù)的導(dǎo)數(shù),進(jìn)而更新參數(shù)。其中,優(yōu)化器選擇帶動(dòng)量的SGD,動(dòng)量參數(shù)設(shè)置為0.9,初始學(xué)習(xí)率為0.01,每訓(xùn)練10 epoch下降為原來(lái)的0.1,weighted decay設(shè)置為0.000 04。
(6)重復(fù)步驟(1)~(5),直到網(wǎng)絡(luò)A在測(cè)試集上的性能不再提高為止。
基于深度跨連接網(wǎng)絡(luò)的垃圾分類(lèi)算法在測(cè)試集中取得了97.2%的準(zhǔn)確率;與采用單一損失函數(shù)相比,雙交叉損失函數(shù)設(shè)計(jì)對(duì)準(zhǔn)確率提高了0.7%,如圖6所示。該算法的高準(zhǔn)確性是智能垃圾分類(lèi)實(shí)驗(yàn)平臺(tái)可靠運(yùn)行的重要保障。
圖6 兩種算法準(zhǔn)確率對(duì)比圖
為將最新的人工智能科研成果轉(zhuǎn)化為教學(xué)應(yīng)用,保證教學(xué)內(nèi)容與時(shí)俱進(jìn),課題組依據(jù)“圖像處理”課程大綱,在實(shí)踐教學(xué)環(huán)節(jié)中引入智能垃圾分類(lèi)實(shí)驗(yàn)平臺(tái),使學(xué)生在了解深度學(xué)習(xí)理論知識(shí)的基礎(chǔ)上,通過(guò)設(shè)計(jì)垃圾分類(lèi)程序,理解CNN 的網(wǎng)絡(luò)結(jié)構(gòu)和模型訓(xùn)練過(guò)程,并且有能力進(jìn)行實(shí)際工程應(yīng)用。
面向?qū)嶒?yàn)教學(xué)需求,課題組基于Python3.7&PyTorch1.1&TorchVision0.3. 0 環(huán)境,開(kāi)發(fā)了一個(gè)通用圖像分類(lèi)模型框架。該架構(gòu)集成了包含ResNet[19]、 DenseNet、 ResNeXt[20]、 MobileNet[21]、EfficientNet[22]5 種圖像分類(lèi)常用網(wǎng)絡(luò),同時(shí)可以根據(jù)需要利用TorchVision擴(kuò)展其他的分類(lèi)算法。此外,該框架包含SVM、RF、MLP、KNN 4 種經(jīng)典分類(lèi)器供學(xué)生實(shí)驗(yàn)使用,從而使學(xué)生掌握不同分類(lèi)算法的特點(diǎn)及使用方法。
在此基礎(chǔ)上,為解決實(shí)驗(yàn)平臺(tái)數(shù)量有限、多組學(xué)生在1 套上位機(jī)運(yùn)行模型影響教學(xué)進(jìn)程的問(wèn)題,課題組采用云計(jì)算的方式,將分類(lèi)模型部署到云端,并基于Flask 框架將模型的推理過(guò)程封裝為1 個(gè)可調(diào)用的API(應(yīng)用程序接口)。具體步驟如下:
(1)云端配置模型運(yùn)行所需的運(yùn)行環(huán)境;
(2)采用Flask 框架構(gòu)建應(yīng)用實(shí)例(所有的云端API的響應(yīng)服務(wù)均由這個(gè)示例對(duì)象進(jìn)行處理);
(3)將整個(gè)函數(shù)的操作封裝為一個(gè)類(lèi),模型的讀取過(guò)程作為類(lèi)對(duì)象的私有化初始函數(shù),算法的推理過(guò)程作為類(lèi)成員函數(shù);
(4)基于gunicorn 服務(wù)器和gevent 庫(kù),構(gòu)建多線程的可調(diào)用服務(wù)API。
實(shí)驗(yàn)過(guò)程中,每組學(xué)生分配有特定的IP 地址,系統(tǒng)首先依據(jù)IP 地址調(diào)用API,將圖像上傳至云服務(wù)器;然后,云端調(diào)用相應(yīng)的分類(lèi)模型進(jìn)行數(shù)據(jù)處理;最終,系統(tǒng)將處理得到的類(lèi)別結(jié)果回傳到實(shí)驗(yàn)平臺(tái)上位機(jī),即設(shè)備接收到云端返回的垃圾類(lèi)別并執(zhí)行相應(yīng)控制指令,實(shí)驗(yàn)流程如圖7 所示。在此基礎(chǔ)上,以垃圾運(yùn)輸為主題,引導(dǎo)學(xué)生設(shè)計(jì)與實(shí)驗(yàn)平臺(tái)協(xié)作的垃圾轉(zhuǎn)運(yùn)機(jī)器人,從而拓展實(shí)驗(yàn)教學(xué)內(nèi)容,激發(fā)學(xué)生的創(chuàng)新意識(shí)。
實(shí)驗(yàn)內(nèi)容圍繞垃圾分類(lèi)的主題開(kāi)展。學(xué)生需掌握智能垃圾分類(lèi)實(shí)驗(yàn)平臺(tái)的系統(tǒng)結(jié)構(gòu)以及“通用圖像分類(lèi)模型實(shí)驗(yàn)架構(gòu)”的使用方法,并結(jié)合PyTorch圖像分類(lèi)器例程,研習(xí)“基于深度跨連接網(wǎng)絡(luò)的垃圾分類(lèi)算法”。在此基礎(chǔ)上,以組為單位,開(kāi)發(fā)智能垃圾分類(lèi)實(shí)驗(yàn)平臺(tái)的控制程序;同時(shí),應(yīng)用遷移學(xué)習(xí)的方法,在云端構(gòu)建基于CNN的垃圾分類(lèi)模型,并與經(jīng)典分類(lèi)器的分類(lèi)效果進(jìn)行對(duì)比。具體步驟如下:
圖7 實(shí)驗(yàn)流程示意圖
(1)準(zhǔn)備實(shí)驗(yàn)數(shù)據(jù)集。了解垃圾圖像數(shù)據(jù)集GarbageNet的數(shù)據(jù)結(jié)構(gòu),并按照2∶1∶1的比例,將其劃分為訓(xùn)練數(shù)據(jù)集、驗(yàn)證數(shù)據(jù)集和測(cè)試數(shù)據(jù)集。
(2)對(duì)3 個(gè)數(shù)據(jù)集的圖像進(jìn)行裁剪,將大小調(diào)整為224 ×224,并對(duì)圖像進(jìn)行標(biāo)準(zhǔn)化處理,使其符合輸入神經(jīng)網(wǎng)絡(luò)所需的特定格式。
(3)應(yīng)用ImageFolder(加載圖像函數(shù))和DataLoader(批量傳遞圖像函數(shù))為每個(gè)數(shù)據(jù)集創(chuàng)建加載器。
(4)分析ResNet、DenseNet、ResNeXt、MobileNet、EfficientNet 各自的特點(diǎn),從中自行選取一個(gè)基于ImageNet的預(yù)訓(xùn)練網(wǎng)絡(luò)B,并應(yīng)用TorchVision 完成加載。
(5)凍結(jié)B的部分卷積層,利用垃圾圖像訓(xùn)練數(shù)據(jù)集和驗(yàn)證數(shù)據(jù)集對(duì)其進(jìn)行訓(xùn)練,得到基于CNN的垃圾分類(lèi)模型M。
(6)利用垃圾測(cè)試數(shù)據(jù)集檢驗(yàn)M 的圖像分類(lèi)的準(zhǔn)確性。
(7)去掉M的全連接層,將提取到的特征保存為“.pkl”文件,并利用這些特征訓(xùn)練經(jīng)典分類(lèi)器(SVM、RF、MLP、KNN),得到模型N。
(8)利用垃圾測(cè)試數(shù)據(jù)集檢驗(yàn)N 的圖像分類(lèi)的準(zhǔn)確性。
(9)對(duì)比M和N的垃圾圖像分類(lèi)準(zhǔn)確率,分析2種分類(lèi)算法的特點(diǎn)。
(10)在云端部署相應(yīng)的分類(lèi)模型,并設(shè)計(jì)垃圾分類(lèi)實(shí)驗(yàn)平臺(tái)的控制策略。
此外,指導(dǎo)教師鼓勵(lì)學(xué)生研習(xí)“基于深度跨連接網(wǎng)絡(luò)的垃圾分類(lèi)算法”的設(shè)計(jì)思路,從網(wǎng)絡(luò)結(jié)構(gòu)、模型參數(shù)、損失函數(shù)設(shè)計(jì)以及數(shù)據(jù)集選取等方面進(jìn)一步完善垃圾分類(lèi)模型,提升分類(lèi)準(zhǔn)確率。
基于機(jī)器視覺(jué)的智能垃圾分類(lèi)實(shí)驗(yàn)平臺(tái)源于實(shí)際工程問(wèn)題。通過(guò)可分離式的結(jié)構(gòu)設(shè)計(jì),解決了分類(lèi)垃圾種類(lèi)數(shù)受限、垃圾桶溢滿后不易轉(zhuǎn)運(yùn)等問(wèn)題;同時(shí),依托實(shí)驗(yàn)平臺(tái)的云邊協(xié)同的控制系統(tǒng)架構(gòu),開(kāi)展了基于遷移學(xué)習(xí)的垃圾分類(lèi)研究,取得良好的分類(lèi)效果,10大類(lèi)識(shí)別率達(dá)97.2%。在此基礎(chǔ)上,課程團(tuán)隊(duì)將科研成果轉(zhuǎn)化為教學(xué)應(yīng)用,保證實(shí)踐教學(xué)內(nèi)容與時(shí)俱進(jìn),加深學(xué)生對(duì)專業(yè)知識(shí)的理解,激發(fā)學(xué)生的科研熱情,進(jìn)而探索工程引領(lǐng)人才培養(yǎng)的方法和路徑。