謝正璽 盧欣 李建行
摘要:本文開發(fā)了一款名為“環(huán)保圾分”的垃圾分類App,該系統(tǒng)包含常規(guī)的文字查詢、語音查詢和圖像查詢?nèi)N工作形式,其特色之處在于其圖像查詢功能運(yùn)用了目前先進(jìn)的深度學(xué)習(xí)理論和技術(shù),將神經(jīng)網(wǎng)絡(luò)模型運(yùn)用到垃圾分類圖片的識別上,大大提高了圖像識別和分類的準(zhǔn)確程度,彌補(bǔ)了目前垃圾識別App市場的不足,具有較高的社會價(jià)值。
關(guān)鍵詞:App;垃圾分類;神經(jīng)網(wǎng)絡(luò);深度學(xué)習(xí)
引言
繼上海垃圾分類新政實(shí)施后,隨著全國各地加速推行垃圾分類制度,垃圾分類APP、小程序等如雨后春筍般迅速出現(xiàn)[1]。然而這一市場充斥著不少粗制濫造,甚至收集個(gè)人信息的涉嫌的作品。僅僅2019年7月份,蘋果商城上架的垃圾分類App,就從十幾款上漲到近50款。
目前常規(guī)的垃圾分類軟件以文字查詢、語音查詢、圖片查詢?yōu)橹?。其中文字和語音檢索功能主要依靠檢索其垃圾分類數(shù)據(jù)庫。圖片識別垃圾的功能則更為實(shí)用,由用戶拍攝垃圾圖片,APP根據(jù)圖片識別功能判斷垃圾類別并告知用戶。但現(xiàn)有APP的主要問題是軟件的圖像識別準(zhǔn)確度不高,由此影響了對垃圾的分類效果。
1 項(xiàng)目研究的主要內(nèi)容
本項(xiàng)目“環(huán)保圾分”APP為2020年湖北省大學(xué)生創(chuàng)新創(chuàng)業(yè)的訓(xùn)練項(xiàng)目,旨在響應(yīng)國家垃圾分類新政,幫助普通市民在生活中做到垃圾正確分類,實(shí)現(xiàn)資源順利回收。在功能方面,本項(xiàng)目仍然提供文字查詢、語音查詢、圖片查詢這三類垃圾檢索方式,但開發(fā)的重點(diǎn)在于提高圖片識別的準(zhǔn)確性上。即以深度學(xué)習(xí)的理論和技術(shù)為基礎(chǔ),將神經(jīng)網(wǎng)絡(luò)模型運(yùn)用到垃圾分類圖片的識別上,從而更好地達(dá)到垃圾分類的要求。
本設(shè)計(jì)的垃圾分類APP將以Android studio作為開發(fā)平臺,以Java作為開發(fā)語言,搭配內(nèi)嵌的SQLite數(shù)據(jù)庫, Flask作為后臺服務(wù)器。從用戶角度,本系統(tǒng)圖像識別垃圾分類功能需求如下:
(1)可讀取本地相冊中存儲的圖片;
(2)可讀取相機(jī)拍照圖片;
(3)根據(jù)圖片判斷垃圾類別和預(yù)測概率;
(4)將分類結(jié)果顯示給用戶。
2 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
2.1 客戶端設(shè)計(jì)
(1)輪播圖:頁面中上部是一個(gè)輪播圖,以圖片形式展示最新的熱點(diǎn)信息。點(diǎn)擊不同的輪播圖頁面可以打開一個(gè)本地頁面。
(2)文字識別:點(diǎn)擊“文字識別”按鈕搜索框進(jìn)入搜索頁面,手動輸入垃圾名稱進(jìn)行搜索,下方將出現(xiàn)含有該物品或者含有該物品關(guān)鍵詞的所有物品信息,極其對應(yīng)的垃圾分類結(jié)果。
(3)語音識別:點(diǎn)擊“語音識別”按鈕,出現(xiàn)麥克風(fēng)圖標(biāo)后用戶說出想要搜索的物品名稱,語音識別成文字后,按照文字識別方式下方出現(xiàn)垃圾分類結(jié)果。
(4)圖片識別:點(diǎn)擊“圖片識別”按鈕,會出現(xiàn)圖片識別的三種選項(xiàng),分別是“網(wǎng)絡(luò)圖片”、“相冊圖片”、“拍照圖片”,方便用戶從不同來源獲得照片,進(jìn)行識別。其中網(wǎng)絡(luò)圖片選項(xiàng),要求用戶輸入圖片的準(zhǔn)確地址;相冊圖片選項(xiàng),使用戶可以從手機(jī)的本地相冊中選擇照片;拍照圖片選項(xiàng),使用戶調(diào)用手機(jī)的相機(jī)功能,拍攝現(xiàn)場照片。系統(tǒng)對所獲得的圖片進(jìn)行識別,判斷圖片中物體的類別。
(5)熱點(diǎn)新聞推送:爬取并轉(zhuǎn)發(fā)主流新聞網(wǎng)站上有關(guān)垃圾分類的新聞和發(fā)帖。
2.2 圖像垃圾識別模塊設(shè)計(jì)
根據(jù)對系統(tǒng)的主要功能和需求的分析可知,服務(wù)器端兼具了模型和web服務(wù)兩個(gè)任務(wù)。管理員在本地收集分類所需的圖片數(shù)據(jù),將數(shù)據(jù)分為訓(xùn)練集和驗(yàn)證集。將搭建模型的需要的訓(xùn)練集數(shù)據(jù)直接輸入到所搭建的模型中,保存訓(xùn)練好的模型參數(shù)在指定的本地文件夾中。手機(jī)端收集到圖片數(shù)據(jù),將訓(xùn)練好的參數(shù)加載到神經(jīng)網(wǎng)絡(luò)中,調(diào)用系統(tǒng)的分類模型來直接輸出結(jié)果。而手機(jī)端主要用于收集圖片和顯示結(jié)果。據(jù)此將系統(tǒng)結(jié)構(gòu)設(shè)計(jì)如下:
(1)用戶界面層。是系統(tǒng)和用戶之間交互的平臺,包括了上傳圖片和結(jié)果展示兩個(gè)功能。
(2)數(shù)據(jù)處理層。實(shí)現(xiàn)圖片數(shù)據(jù)讀取和將圖片數(shù)據(jù)送入加載好的分類模型來實(shí)現(xiàn)分類。
(3)數(shù)據(jù)準(zhǔn)備層。用于讀取圖片并將其轉(zhuǎn)換為標(biāo)準(zhǔn)數(shù)據(jù)形式,和存儲已經(jīng)訓(xùn)練好的模型的參數(shù)。
系統(tǒng)具體流程如下:
(1)數(shù)據(jù)預(yù)處理
在圖像分類訓(xùn)練和評估的過程中,原始圖片的長度和高度不一致,而對神經(jīng)網(wǎng)絡(luò)的模型來說,需要固定規(guī)格的數(shù)據(jù)。因此,當(dāng)圖片數(shù)據(jù)被讀取后,需要調(diào)用數(shù)據(jù)處理的方法才能讓圖片進(jìn)行模型的訓(xùn)練或評估;用戶在傳入圖片到后臺時(shí),也需要經(jīng)過數(shù)據(jù)處理才能調(diào)用模型進(jìn)行分析。系統(tǒng)使用的是深度學(xué)習(xí)框架PyTorch中 transforms 模塊進(jìn)行數(shù)據(jù)處理。
(2)模型的訓(xùn)練
使用PyTorch深度學(xué)習(xí)框架搭建了圖像分類模型,進(jìn)行模型的參數(shù)設(shè)置和初始化。
在分類模型搭建好之后,定義模型的訓(xùn)練和評估。在訓(xùn)練數(shù)據(jù)較少的情況下,使用了在圖像方面正確率較高的開源的卷積神經(jīng)網(wǎng)絡(luò)ResNeXt-101結(jié)構(gòu)作為圖像分類的預(yù)訓(xùn)練模型。首先定義好損失函數(shù)、優(yōu)化函數(shù)。輸入所調(diào)用的預(yù)訓(xùn)練網(wǎng)絡(luò)模型名稱,給定學(xué)習(xí)率的值,指定優(yōu)化器算法和迭代次數(shù)來進(jìn)行模型的訓(xùn)練。
(3)模型的評估
模型的評估與模型的訓(xùn)練大致相同。不同的是評估模型時(shí),需要加載驗(yàn)證集數(shù)據(jù),調(diào)用model.eval( )方法,沒有反向傳播和參數(shù)更新的操作。驗(yàn)證集數(shù)據(jù)進(jìn)入模型后得到預(yù)測分類結(jié)果。根據(jù)結(jié)果得到損失函數(shù),可以計(jì)算模型的正確率。
3 結(jié)語
實(shí)施垃圾分類處理引導(dǎo)人們形成綠色生活方式,可以有效改善城鄉(xiāng)環(huán)境,促進(jìn)資源回收利用。[2]設(shè)計(jì)一個(gè)便捷、高效的垃圾分類App,能提高民眾對垃圾進(jìn)行分類的意識和效率,符合國家智能化的發(fā)展需求以及建設(shè)綠色生態(tài)的發(fā)展理念。[3]
參考文獻(xiàn):
[1] 高文超,王子聰,劉昊天.垃圾分類助手APP的設(shè)計(jì)與實(shí)現(xiàn)[J].信息與電腦(理論版),2020,32(19):58-61.
[2] 楊會玲,葉利華,劉小晶. 智能垃圾分類系統(tǒng)的研究設(shè)計(jì) [J]. 電腦知識與技術(shù),2020,16(04):261-264.
[3] 王華,李健,張佳禾. 基于 Android 的智能垃圾識別 App 的設(shè)計(jì)與實(shí)現(xiàn)[J].信息記錄材料,2020,21(9):211-212.
本項(xiàng)目為2020年湖北省大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練項(xiàng)目【項(xiàng)目編號:S202013239002】,指導(dǎo)老師:楊玉蓓。
作者簡介:謝正璽、盧欣、李建行,武漢工程大學(xué)郵電與信息工程學(xué)院2018級計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)在校生,本項(xiàng)目成員。