999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于神經(jīng)網(wǎng)絡(luò)的智能垃圾分類軟件設(shè)計與實現(xiàn)

2020-09-04 07:56:10余東敬超
科學(xué)技術(shù)創(chuàng)新 2020年26期
關(guān)鍵詞:分類功能模型

余東 敬超*

(桂林理工大學(xué)信息科學(xué)與工程學(xué)院,廣西 桂林541004)

我國垃圾分類始于20 世紀90 年代,但垃圾分類仍然處于原地踏步的窘境,沒有被居民接受,長期處于“試行”狀態(tài)。直到2019 年1 月31 日,《上海市生活垃圾管理條例》正式成為地方性法規(guī),并于2019 年7 月1 日起強制實施,當?shù)乩诸惒湃〉蔑@著效果。2020 年初,桂林市就宣布開始在全市全面啟動生活垃圾分類工作,垃圾分類已成為居民日常生活中所必須面對的問題。

本文設(shè)計的是一款運行在Android 手機系統(tǒng)的APP[1],通過在 Android 應(yīng) 用 本 地 部 署 預(yù) 訓(xùn) 練 神 經(jīng) 網(wǎng) 絡(luò)ResNeXt-101-32x16d-wsl 模型,實現(xiàn)視頻實時智能垃圾分類,同時在APP 中構(gòu)建生活中常見的垃圾物品,具有6800 多條數(shù)據(jù)信息的數(shù)據(jù)庫,從而實現(xiàn)語音和文字查詢垃圾類別功能。最后整體采用CS 模式,使用Flask 構(gòu)建遠程服務(wù)器,實現(xiàn)客戶端和服務(wù)器之間的數(shù)據(jù)傳輸。經(jīng)過單元測試和確認測試,AI 識別準確率在90%以上,APP 各個功能模塊運行正常,性能穩(wěn)定可靠。Android 程序設(shè)計采用MVVM 模式,實現(xiàn)數(shù)據(jù)驅(qū)動、低耦合度、可復(fù)用性,同時做到了垃圾分類離線識別,大大提供了用戶體驗。

1 神經(jīng)網(wǎng)絡(luò)設(shè)計

1.1 神經(jīng)網(wǎng)絡(luò)概述[2]

在缺乏大規(guī)模數(shù)據(jù)標注數(shù)據(jù)集的情況下,本文設(shè)計采用遷移學(xué)習來獲得能夠提取特征的CNN 網(wǎng)絡(luò),采用的是神經(jīng)網(wǎng)絡(luò)ResNeXt-101-32x16d-wsl 預(yù)訓(xùn)練模型,該模型對Instagram(9.4億)數(shù)據(jù)集進行弱監(jiān)督訓(xùn)練,對ImageNet-1k 中finetune 的參數(shù)進行微調(diào),具有很強的圖片特征提取能力。

首先根據(jù)圖片類別數(shù)目確定神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),然后制作數(shù)據(jù)集,對獲取數(shù)據(jù)進行清洗、增強,確定超參數(shù)之后,開始訓(xùn)練神經(jīng)網(wǎng)絡(luò),在訓(xùn)練過程中記錄損失函數(shù)值和驗證集通過率,用于參數(shù)調(diào)優(yōu),最后將神經(jīng)網(wǎng)絡(luò)部署到其他平臺進行應(yīng)用,實現(xiàn)AI識別功能。

1.2 構(gòu)建數(shù)據(jù)集

本文設(shè)計的神經(jīng)網(wǎng)絡(luò)可以識別生活中常見的4 大類40 小類垃圾物品,收集到的網(wǎng)上開源數(shù)據(jù)有14000 張圖片左右。此外,使用多線程爬蟲爬取百度圖片17 萬張圖片,爬取的圖片是根據(jù)關(guān)鍵詞搜索出來的結(jié)果圖片,除了我們需要的圖片,還有許多相關(guān)圖片,如搜索“煙頭”的圖片,會有煙蒂柱、戒煙圖片等臟數(shù)據(jù),此外,還有圖片是非RGB 三通道圖片,也是臟數(shù)據(jù),都需要進行數(shù)據(jù)清洗。進行數(shù)據(jù)清洗之后,一共還有73600 張圖片,按照8:2 的比例對數(shù)據(jù)進行劃分為訓(xùn)練集和驗證集。

訓(xùn)練前需對數(shù)據(jù)進行預(yù)處理,將圖片等比例縮放到1:1,然后再進行中心剪切,尺寸為224*224,最后對圖片進行水平翻轉(zhuǎn),高斯噪聲,旋轉(zhuǎn)角度等。

1.3 模型訓(xùn)練及部署

在本節(jié)主要過程為加載數(shù)據(jù)集,構(gòu)建神經(jīng)網(wǎng)絡(luò),訓(xùn)練神經(jīng)網(wǎng)絡(luò)及神經(jīng)網(wǎng)絡(luò)部署。

(1)加載數(shù)據(jù)集。使用Torch 的DataLoader 接口,加載本地磁盤已經(jīng)經(jīng)過清洗的數(shù)據(jù)集,在加載過程中,對數(shù)據(jù)進行打亂、增強,其中數(shù)據(jù)增強的Python 相關(guān)代碼如下:

(2) 構(gòu)建神經(jīng)網(wǎng)絡(luò)。 這里采用預(yù)訓(xùn)練模型ResNeXt-101-32x16d-wsl,加載預(yù)訓(xùn)練參數(shù)之后,凍結(jié)網(wǎng)絡(luò)參數(shù),最后修改網(wǎng)絡(luò)的全連接層,使神經(jīng)網(wǎng)絡(luò)能夠做到對40 類圖片進行分類,其構(gòu)建過程的Python 相關(guān)代碼如下:

(3)模型訓(xùn)練。這個過程中涉及定義優(yōu)化器和損失函數(shù)、是否斷點續(xù)訓(xùn)、參數(shù)保存等等,整體訓(xùn)練的Python 相關(guān)代碼如下:def train_network(**arg):

經(jīng)過測試確定模型訓(xùn)練的超參數(shù),對預(yù)訓(xùn)練模型ResNeXt-101-32x16d-wsl 訓(xùn)練了16 批次之后,損失值和準確率變化如圖1 所示,其中損失函數(shù)值最低為0.248,驗證集準確率最高為90.8%。

(4)模型部署。本設(shè)計需要將神經(jīng)網(wǎng)絡(luò)部署到Android 客戶端,這里使用PyTorch 官方在PyTorch 版本1.3 以上提供的模型轉(zhuǎn)化工具PyTorchMobile。

圖1 損失函數(shù)值和驗證集通過率變化圖

2 軟件實現(xiàn)

2.1 AI 識別垃圾類別功能實現(xiàn)

通過 Jetpack CameraX 組件調(diào)用手機攝像頭,在PreviewView 控件中實現(xiàn)畫面預(yù)覽,自定義一個Image analysis圖像分析器,CameraX 會將視頻畫面的每一幀圖片傳入這個圖像分析器,在圖像分析器中,調(diào)用神經(jīng)網(wǎng)絡(luò)模型對圖片進行識別,對識別結(jié)果進行解析之后,通過回調(diào),將識別結(jié)果也就是圖片中物品所屬的垃圾類別返回并顯示在手機頁面上,同時為了防止光線過暗,添加了手電筒功能。

2.2 語音查詢垃圾類別功能實現(xiàn)

在科大訊飛官網(wǎng)注冊一個賬號并創(chuàng)建一個具有語音識別功能的應(yīng)用,拿到APPID 用于初始化語音識別API。自定義一個按鈕控件AudioButton 和錄音彈窗AudioDialog,重載錄音按鈕的onTouchEvent()函數(shù),并實現(xiàn)錄音動畫。

AudioButton 按鈕具有三種狀態(tài):未按住按鈕的正常狀態(tài)、一直按住的錄音狀態(tài)和手指移動到按鈕范圍之外的取消錄音狀態(tài),其中后兩者分別對應(yīng)onTouchEvent 的ACTION_DOWN 和ACTION_MOVE 事件,不同的狀態(tài)會觸發(fā)不同的事件和彈窗效果。按鈕按下時,觸發(fā)錄音彈窗并開始錄音,實時將錄音發(fā)送到訊飛開放平臺進行語音識別,通過對語音識別API 的SpeechRecognizer 設(shè)置,使得返回的結(jié)果是已經(jīng)經(jīng)過了分詞處理。如:“西瓜皮是什么垃圾”,返回的結(jié)果為:西瓜皮、是、什么、垃圾,經(jīng)過簡單的字符串匹配,確定用戶要查詢的關(guān)鍵詞為“西瓜皮”,在得到語音識別結(jié)果和關(guān)鍵詞之后,通過回調(diào)將信息傳給AudioButton,再回調(diào)給Fragment,之后通過關(guān)鍵詞查詢數(shù)據(jù)庫,最后將語音識別結(jié)果和查詢結(jié)果展示給用戶。具體實現(xiàn)如圖2 所示。

圖2 智能垃圾分類界面

2.3 文字檢索垃圾類別功能實現(xiàn)

將SearchView和RecyclerView控件結(jié)合構(gòu)成一個帶下拉列表的搜索框,在搜索框SearchView 中輸入垃圾物品的名稱或關(guān)鍵詞,會實時對數(shù)據(jù)庫進行查詢并將搜索結(jié)果顯示在下拉列表RecyclerView 中。 實時搜索主要是重載 SearchView.OnQueryTextListener 中的onQueryTextChange()方法,每當搜索框SearchView 中內(nèi)容發(fā)生改變時,都會被onQueryTextChange()方法監(jiān)聽到,在onQueryTextChange()方法中根據(jù)搜索框里的內(nèi)容對數(shù)據(jù)庫進行模糊查詢,并將查詢結(jié)果顯示在RecyclerView中。文字檢索頁面效果圖如3 所示。

圖3 文字檢索頁面

2.4 生活垃圾百科功能實現(xiàn)

該功能主要是對垃圾數(shù)據(jù)庫數(shù)據(jù)分類展示的效果,主要是將TabLayout 和ViewPager2 控件結(jié)合起來實現(xiàn)不同類別垃圾數(shù)據(jù)頁面可以左右滑動和點擊TabLayout 進行切換[3],在每個頁面中都是通過RecyclerView 和PagedListAdapter 對數(shù)據(jù)進行展示的。實現(xiàn)界面如圖4 所示。

2.5 分享與反饋功能實現(xiàn)

分享功能是通過Android 自身提供的底層API 實現(xiàn)的,可以將要分享的內(nèi)容分享到手機上可以被分享的軟件。相關(guān)代碼如下:

反饋功能是通過第三方庫okhttp3 實現(xiàn)服務(wù)器和客戶端之間的數(shù)據(jù)傳輸,主要是將用戶輸入到文本框EditText 中的信息發(fā)送到遠程服務(wù)器,服務(wù)器在成功接收信息之后向客戶端返回一個成功標志,并將反饋信息記錄到服務(wù)器數(shù)據(jù)庫中。

圖4 生活垃圾百科頁面

本文基于Android 平臺設(shè)計了一款具有實時AI 識別、語音查詢、文字檢索等對垃圾進行分類的功能的移動應(yīng)用軟件[4],能夠滿足居民日常垃圾分類的需要。一方面能夠及時且有效解決居民因垃圾分類知識儲備不足而難以對垃圾物品進行正確垃圾的問題;另一方面從長期來看,潛移默化中提高居民垃圾分類的本領(lǐng),同時也是對我國環(huán)保事業(yè)的一份助力。

猜你喜歡
分類功能模型
一半模型
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
分類算一算
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
分類討論求坐標
數(shù)據(jù)分析中的分類討論
教你一招:數(shù)的分類
關(guān)于非首都功能疏解的幾點思考
3D打印中的模型分割與打包
主站蜘蛛池模板: 日韩欧美综合在线制服| 四虎免费视频网站| 亚洲色精品国产一区二区三区| 亚洲大学生视频在线播放| 精品一区二区三区波多野结衣 | 亚洲欧洲日本在线| 午夜精品久久久久久久无码软件| 91久久偷偷做嫩草影院电| 97色伦色在线综合视频| 日本日韩欧美| 国产精品香蕉| 另类欧美日韩| 2019年国产精品自拍不卡| 国产精品偷伦视频免费观看国产| 1769国产精品视频免费观看| 日韩国产黄色网站| 欧美α片免费观看| 免费看a毛片| 亚洲欧美精品在线| 人妖无码第一页| 中文字幕无码av专区久久| 97亚洲色综久久精品| 福利姬国产精品一区在线| 国产精品蜜臀| 制服无码网站| 日本成人福利视频| 亚洲精品欧美日韩在线| 91亚洲免费视频| 国产精品无码作爱| 亚洲制服中文字幕一区二区| 91午夜福利在线观看| 亚洲V日韩V无码一区二区| 日韩成人高清无码| 黄色网页在线观看| julia中文字幕久久亚洲| 五月婷婷激情四射| 色综合五月婷婷| 高清精品美女在线播放| 国产精品视频公开费视频| 国产精品成人观看视频国产| 在线播放国产一区| 日本欧美精品| 国产国产人成免费视频77777 | 免费国产好深啊好涨好硬视频| 色婷婷亚洲综合五月| 国产永久无码观看在线| 国产乱人伦精品一区二区| 先锋资源久久| 日韩免费无码人妻系列| 日a本亚洲中文在线观看| 欧美中文字幕在线视频| 日韩亚洲综合在线| 久久精品中文字幕少妇| 极品国产在线| 亚洲第一成年人网站| 国产亚洲精久久久久久无码AV | 国产成人久久777777| 性69交片免费看| 天天摸夜夜操| 欧美日韩国产系列在线观看| 美女高潮全身流白浆福利区| 在线日韩日本国产亚洲| 国产精品任我爽爆在线播放6080| 久久不卡国产精品无码| 熟妇人妻无乱码中文字幕真矢织江| 久久99国产视频| 69av免费视频| 国产精品福利社| 国产福利影院在线观看| 在线观看国产黄色| 国产资源免费观看| 亚洲区第一页| 亚洲视频色图| 免费A级毛片无码无遮挡| 爆操波多野结衣| 97超级碰碰碰碰精品| 欧美A级V片在线观看| 日韩资源站| 亚洲人成网站18禁动漫无码| 国产三级国产精品国产普男人| 国产成人免费高清AⅤ| 97免费在线观看视频|