趙一 陳震
摘要:目前,全國對于“互聯(lián)網+”智能垃圾分類系統(tǒng)、智能垃圾桶等軟硬件需求已處于白熱化狀態(tài)。垃圾分類機器人依靠計算機視覺來識別不同材料之間的差異,其背后應用了AI系統(tǒng)來賦予機器識別的規(guī)范和技術。通過深度學習技術,機器人可采用多層神經網絡和視覺系統(tǒng),以與人的方式類似的方式查看和識別物體。
關鍵詞:智能分類;AI體貼;深度學習;CNN神經網絡
我國每年產生近10億噸垃圾,且每年以5%~8%的倍速遞增,全國約2/3的城市,正在被垃圾“大軍”包圍。生活垃圾中有30%~40%都可以變廢為寶,通過垃圾分類,既能減少占地,又能減少環(huán)境污染。傳統(tǒng)上填埋和焚燒處理垃圾并不是優(yōu)化的處理方式,如果經過垃圾分類,我們能大大提高垃圾資源的利用率。在現(xiàn)實生活中,大部分人對垃圾分類知識的了解并不全面,對于垃圾分類的意識較為薄弱,而傳統(tǒng)的垃圾分類箱需要用戶對垃圾分類的知識有一定的了解,它并不能高效地進行垃圾分類,也難以提高用戶的分類意識,導致實際垃圾分類的效果并不如預期。而隨著計算機科學技術、人工智能技術、圖像分類等技術的產生和發(fā)展,讓垃圾分類的智能化成為可能。針對以上垃圾分類存在的問題,本小組將開發(fā)一款基于圖像分類的智能分類垃圾箱,同時配套小程序輔助,幫助人們高效地進行垃圾分類,同時在分類的過程中提高人們的環(huán)保意識。
一、深度學習
(一)數(shù)據(jù)集采集與整理
(1)前期:對CSDN、GitHub等中現(xiàn)成垃圾數(shù)據(jù)集進行下載,同時采取網上爬蟲和線下手機拍照的形式擴充數(shù)據(jù)集,令每張圖片重新處理至同一分辨率和大小,數(shù)據(jù)集分成一定數(shù)量類別,對每個類別的垃圾重量范圍進行手動標注。
(2)后期:垃圾箱攝像頭拍照后上傳用戶丟人垃圾的圖片,并對每張圖片進行標注與手工分類,形成標準數(shù)據(jù)集。
(二)模型輸入
(1)模型訓練輸入:垃圾數(shù)據(jù)集。
(2)模型部署輸入:攝像頭和壓力傳感器分別獲取垃圾的圖像和重量。
(三)數(shù)據(jù)預處理
對圖像進行水平/垂直翻轉、旋轉、縮放、裁剪、剪切、平移等數(shù)據(jù)增廣技術。
(四)模型網絡結構
服務端:CNN的圖像分類性能與其網絡深度存在著重要的關系,網絡越深,CNN的擬合能力就越強,但進一步增加CNN的深度不但不能提高網絡的精準度,反而會因為梯度消失而產生更高的訓練誤差,使CNN的圖像分類性能降低。殘差網絡緩解在深度神經網絡中增加深度帶來了梯度消失的問題,它是目前應用最為廣泛的CNN特征提取網絡之一,由此也產生了許多Resnet變種網絡。本模型以ResNeSt為基礎結構,它結合了許多ResNet變種結構的優(yōu)點:
(1)ResNeXt網絡的切片思想,對輸入的通道進行切片,均分每組的通道數(shù),不同于Inception的需要人工設計每個分支,ResNeXt的每個分支的拓撲結構是相同的,即采用分組卷積。
(2)SENet注意力模塊,可以自動學習到不同channel的重要程度,然后依照這個重要程度去提升有用的特征并抑制對當前任務用處不大的特征。
(3)SKNet的選擇核模塊,其靈感來源是,我們在看不同尺寸、不同遠近的物體時,視覺皮層神經元接受域大小是會根據(jù)刺激來進行調節(jié)的。對應于CNN網絡來說,就是可以根據(jù)輸入信息的多個尺度自適應的調節(jié)接受域大小,與傳統(tǒng)人工設計卷積核大小相比,讓網絡學會找到適合自己的卷積核可以增強網絡的泛化能力。
硬件端:以MobileNetV3為基本網絡結構,它綜合了V1的深度可分離卷積和v2的具有線性瓶頸的逆殘差結構的特點,同時加入了輕量集的注意力模型,保證了在極小Params和Flops的情況下,模型擁有較高的準確率。最后加上邏輯回歸層和softmax層,一層用于學習網絡輸出和垃圾重量的權重,另一層對輸出進行分類,最終從多類到四類(可回收垃圾、有害垃圾、廚余垃圾、其他垃圾)的映射表中輸出垃圾類目。
(五)模型訓練
(1)前期:輸入“前期”收集到的圖片,得到準確率并進行分析,進一步修改超參數(shù)優(yōu)化模型。
(2)后期:不斷收集到垃圾箱上傳的圖片數(shù)據(jù)后,輸入之前的模型中,進一步訓練、提高模型的準確率。
(六)測試
基于python的垃圾分類程序,用戶丟人垃圾后,調用python程序對圖片進行拍照并分類,同時導入request庫將圖片上傳至服務器。通過Pyqt5設計一套圖形化界面對垃圾分類程序進行測試,能夠完成對上傳圖片進行識別并把識別結果進行輸出的功能。
二、程序開發(fā)
基于微信框架設計的WXML語法、WXS語法、WXSS語法,使用微信web開發(fā)工具對垃圾分類小程序進行開發(fā)。使用小程序第三方組件庫以及自定義組件進行頁面搭建。調用小程序API實現(xiàn)網絡請求、圖片上傳、獲取位置(騰訊位置服務)等功能。后端服務器使用HTTPS請求調用的API,完成各類數(shù)據(jù)分析、管理和查詢等操作。采用云開發(fā)提供的云函數(shù)、數(shù)據(jù)庫、存儲、云調用,盡可能輕松地完成后端的操作和管理。
(一)運用深度學習模型
區(qū)別于傳統(tǒng)的淺層學習,深度學習的不同在于強調了模型結構的深度,明確特征學習的重要性。通過逐層特征變換,將樣本在原空間的特征表示變換到一個新特征空間,從而使分類和預測更容易。與傳統(tǒng)的人工規(guī)則構造特征的方法相比,利用大數(shù)據(jù)來學習數(shù)據(jù)的特征值,更能夠刻畫數(shù)據(jù)豐富的內在信息。
(二)軟硬件結合
本項目結合了硬件設施(智能分類垃圾箱)、軟件端(垃圾分類小程序)研發(fā)形成了一套完整的體系。智能分類垃圾箱通過CNN進行圖像分類,識別出垃圾的類別,并投放到對應的垃圾桶,簡化傳統(tǒng)分類垃圾的過程。而在小程序端,用戶可進行垃圾分類知識的學習,我們通過積分制的方式調動用戶使用智能分類垃圾箱和學習垃圾分類知識的積極性,從而在潛移默化中提高人們對于垃圾分類的意識。
三、硬件設施
(一)硬件結構
(1)人性化:將分揀模塊置后,與市場的垃圾桶相比,無須等待垃圾分類完成后才能投入垃圾;無須記憶太多垃圾對應類目,做到解放人類大腦,垃圾即丟即走,方便快捷,無須煩惱。
(2)語音播報功能:經過圖像識別出垃圾類別后,經揚聲器播報垃圾類別。
(3)結構化創(chuàng)新:由1:1全金屬打造,擁有四種垃圾分類,可拆卸式垃圾桶。本產品采用氧焊電焊鐵絲等技術實現(xiàn)模塊拼接。具有高度自動化、能自動開合、自動識別、精準投放垃圾的功能。
(二)硬件關聯(lián)客戶端
(1)可隨時隨地通過圖像識別垃圾進行分類,瀏覽垃圾分類小知識。
(2)可根據(jù)地圖查找附近的智能垃圾箱。
(3)設置積分制,用戶可通過使用垃圾箱積累使用記錄、辨別垃圾類別提高自己的“段位”,同時開設游戲問答模塊,使積分制度引導用戶潛移默化地掌握垃圾分類知識。
(三)開發(fā)步驟
(1)進行需求分析以及系統(tǒng)的整體設計,并收集數(shù)據(jù)。
(2)搭建深度學習模型,構建神經網絡并訓練模型;垃圾分類小程序界面的UI設計;智能分類垃圾箱整體結構設計及優(yōu)化。
(3)小程序后臺與深度學習對接并測試;硬件模型實現(xiàn)。
(4)樹莓派后臺與深度學習對接并測試;小程序拓展功能實現(xiàn)。
(5)項目整體完善,提高垃圾識別類目精度;小程序端體驗優(yōu)化。
作者簡介:趙一(1984— ),男,漢族,湖北武漢人,博士,副教授,研究方向:人工智能;陳震(2001— ),男,漢族,廣東河源人,本科在讀,研究方向:人工智能。