• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

    2020-09-04 07:56:10余東敬超
    科學(xué)技術(shù)創(chuàng)新 2020年26期
    關(guān)鍵詞:錄音語音神經(jīng)網(wǎng)絡(luò)

    余東 敬超*

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

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

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

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

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

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

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

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

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

    訓(xùn)練前需對數(shù)據(jù)進(jìn)行預(yù)處理,將圖片等比例縮放到1:1,然后再進(jìn)行中心剪切,尺寸為224*224,最后對圖片進(jìn)行水平翻轉(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ù)進(jìn)行打亂、增強(qiáng),其中數(shù)據(jù)增強(qiáng)的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 類圖片進(jìn)行分類,其構(gòu)建過程的Python 相關(guān)代碼如下:

    (3)模型訓(xùn)練。這個(gè)過程中涉及定義優(yōu)化器和損失函數(shù)、是否斷點(diǎn)續(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 批次之后,損失值和準(zhǔn)確率變化如圖1 所示,其中損失函數(shù)值最低為0.248,驗(yàn)證集準(zhǔn)確率最高為90.8%。

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

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

    2 軟件實(shí)現(xiàn)

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

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

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

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

    AudioButton 按鈕具有三種狀態(tài):未按住按鈕的正常狀態(tài)、一直按住的錄音狀態(tài)和手指移動到按鈕范圍之外的取消錄音狀態(tài),其中后兩者分別對應(yīng)onTouchEvent 的ACTION_DOWN 和ACTION_MOVE 事件,不同的狀態(tài)會觸發(fā)不同的事件和彈窗效果。按鈕按下時(shí),觸發(fā)錄音彈窗并開始錄音,實(shí)時(shí)將錄音發(fā)送到訊飛開放平臺進(jìn)行語音識別,通過對語音識別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é)果展示給用戶。具體實(shí)現(xiàn)如圖2 所示。

    圖2 智能垃圾分類界面

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

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

    圖3 文字檢索頁面

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

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

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

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

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

    圖4 生活垃圾百科頁面

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

    猜你喜歡
    錄音語音神經(jīng)網(wǎng)絡(luò)
    Listen and Paint, etc.
    Funny Phonics
    神經(jīng)網(wǎng)絡(luò)抑制無線通信干擾探究
    電子制作(2019年19期)2019-11-23 08:42:00
    魔力語音
    基于MATLAB的語音信號處理
    電子制作(2019年14期)2019-08-20 05:43:38
    基于MQ3與MP3的價(jià)廉物美的酒駕語音提醒器
    電子制作(2019年9期)2019-05-30 09:42:10
    對方正在輸入……
    小說界(2018年5期)2018-11-26 12:43:42
    Colorful Seasons多彩四季
    A New Term
    基于神經(jīng)網(wǎng)絡(luò)的拉矯機(jī)控制模型建立
    庄河市| 崇左市| 博兴县| 黑河市| 临城县| 德惠市| 郸城县| 广西| 麻江县| 淮安市| 南陵县| 泰和县| 铅山县| 新野县| 大理市| 黑水县| 越西县| 江口县| 涪陵区| 荆州市| 灌阳县| 陆良县| 柳江县| 大安市| 涞源县| 华池县| 当阳市| 汝阳县| 济南市| 榆社县| 拉萨市| 昌乐县| 定州市| 万州区| 伊金霍洛旗| 定日县| 蚌埠市| 舒城县| 北辰区| 仙桃市| 固阳县|