• <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ò)的生活垃圾自動(dòng)分類軟件的實(shí)現(xiàn)

    2020-04-24 14:50:40呂文杰魏孝虎陳眾孚童灝馬燕
    電腦知識(shí)與技術(shù) 2020年5期
    關(guān)鍵詞:垃圾分類卷積神經(jīng)網(wǎng)絡(luò)圖像識(shí)別

    呂文杰 魏孝虎 陳眾孚 童灝 馬燕

    摘要:圖像識(shí)別技術(shù)近年來(lái)被運(yùn)用得越來(lái)越廣泛。應(yīng)用圖像識(shí)別技術(shù)進(jìn)行垃圾分類成為研究的熱點(diǎn)。該文介紹了一種基于卷積神經(jīng)網(wǎng)絡(luò),利用Tensorflow、Android系統(tǒng)開發(fā)的能通過(guò)拍照自動(dòng)識(shí)別垃圾類別的應(yīng)用程序。

    關(guān)鍵詞:圖像識(shí)別;垃圾分類;卷積神經(jīng)網(wǎng)絡(luò)

    中圖分類號(hào):TP399 文獻(xiàn)標(biāo)識(shí)碼:A

    文章編號(hào):1009-3044(2020)05-0203-02

    開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):

    由于計(jì)算機(jī)運(yùn)算速度的提升,近年來(lái),圖像識(shí)別技術(shù)得到了巨大的發(fā)展。一些經(jīng)典的分類算法,比如,基于SVM分類器的圖像分類算法[1]已逐漸被卷積神經(jīng)網(wǎng)絡(luò)[2]所替代。盡管卷積神經(jīng)網(wǎng)絡(luò)依然處于一種“黑盒”的狀態(tài),將卷積神經(jīng)網(wǎng)絡(luò)運(yùn)用到圖像識(shí)別的技術(shù)中有著非常好的效果。因而誕生了諸如AlexNet、GoogLeNet這樣的模型,使得圖像識(shí)別被廣泛運(yùn)用到現(xiàn)實(shí)生活中成為可能。

    垃圾分類也是近年來(lái)比較熱門的一個(gè)話題。上海在今年的7月實(shí)施了《上海市生活垃圾管理?xiàng)l例》,正式宣告將對(duì)垃圾分類進(jìn)行嚴(yán)格的管制。與此同時(shí),全國(guó)各地的其他城市也紛紛效仿,開始推行垃圾分類的相關(guān)措施。但是,市面上關(guān)于垃圾自動(dòng)分類的產(chǎn)品依然不多。因而,本文結(jié)合基于卷積升級(jí)網(wǎng)絡(luò)的圖像識(shí)別算法,開發(fā)了一種通過(guò)拍照自動(dòng)識(shí)別垃圾類別的手機(jī)應(yīng)用,可對(duì)日常的垃圾分類起到一定的幫助。

    1 開發(fā)思路

    如果訓(xùn)練一個(gè)基于卷積神經(jīng)網(wǎng)絡(luò)的識(shí)別垃圾的模型,需要耗費(fèi)大量的物力和人力。需要列舉出大量的生活物品,并根據(jù)這些生活物品收集大量的照片;構(gòu)建一個(gè)比較復(fù)雜的網(wǎng)絡(luò),對(duì)于類別個(gè)數(shù)多,樣本個(gè)數(shù)多的數(shù)據(jù)集來(lái)說(shuō),一個(gè)較淺的網(wǎng)絡(luò)無(wú)法訓(xùn)練出很好的效果;再通過(guò)高性能的計(jì)算機(jī)進(jìn)行訓(xùn)練,由于網(wǎng)絡(luò)的結(jié)構(gòu)比較復(fù)雜,這將耗費(fèi)大量的時(shí)間。這種方法是難以實(shí)施的。

    生活垃圾的分類,可以看成生活中常見物體的識(shí)別。并且,現(xiàn)在市場(chǎng)上,有許多開源的,已經(jīng)訓(xùn)練好的模型可以用于識(shí)別常見物體。這些模型已經(jīng)經(jīng)過(guò)了很多測(cè)試和改進(jìn),有著非常好的性能。本文采用的,即是Google的Inception-v3模型。具體的思路為:先用Inception-v3對(duì)物體進(jìn)行識(shí)別,再將分類得到的結(jié)果映射到其對(duì)應(yīng)的垃圾類別,即可完成垃圾的分類。

    此外,考慮到應(yīng)用使用的便利性,以及國(guó)內(nèi)手機(jī)用戶所使用的操作系統(tǒng),本文決定基于Android系統(tǒng)開發(fā)這款應(yīng)用。

    2 Inception橫型的介紹

    Google推出Inception模型的目的是為了解決稀疏矩陣計(jì)算速度較慢的問(wèn)題。深度網(wǎng)絡(luò)存在著以下幾點(diǎn)的問(wèn)題:

    1)神經(jīng)網(wǎng)絡(luò)的層數(shù)越深,將出現(xiàn)梯度彌散,導(dǎo)致前面幾層的作用消失。

    2)神經(jīng)網(wǎng)絡(luò)的參數(shù)越多,越容易過(guò)擬合,導(dǎo)致模型實(shí)際效果不好。

    3)神經(jīng)網(wǎng)絡(luò)越大,計(jì)算成本也就越高。

    為了解決上述這些問(wèn)題,往往會(huì)采用稀疏連接,從而打破神經(jīng)網(wǎng)絡(luò)的對(duì)稱特性,同時(shí)提高模型的準(zhǔn)確率,防止過(guò)擬合的 現(xiàn)象出現(xiàn)。但是稀疏鏈接會(huì)導(dǎo)致訓(xùn)練模型時(shí)的計(jì)算成本大大增加,計(jì)算機(jī)的軟件和硬件對(duì)于稀疏結(jié)構(gòu)的計(jì)算能力都比較有限。Google為了能夠找到一種方法,使得能夠利用密集矩陣的高計(jì)算性能的同時(shí),保持網(wǎng)絡(luò)的稀疏結(jié)構(gòu)以提高模型的準(zhǔn)確率,從而提出了Inception的結(jié)構(gòu),Inception結(jié)構(gòu)有如下特點(diǎn):

    1) Google在同- Inception層中采用了不同尺寸的卷積核,分別為1*l、3*3、5*5,才用這些尺寸了原因是為了保證圖像輸出時(shí)都能到達(dá)28*28的同一尺寸(只需要通過(guò)padding操作即可達(dá)到該目的)。

    2)采用不同尺寸的卷積核的初衷,即是使用不同大小的局部感受野,并將不容尺寸的特征融合在一起。

    3) Inception層中加入了pooling的操作,提取出較為重要的特征。

    Inception-vl融合了9個(gè)Inception模型組成了一個(gè)22層的深度模型,并再最后采用了平均池化層來(lái)替代了全連接層。使得模型最終的準(zhǔn)確率高于AlexNet。

    Inception-v3則將較大的卷積核進(jìn)行了拆分,考慮了n*l這種類型的卷積核,替代n*n的卷積核。即任意一個(gè)n*n的卷積核,都會(huì)通過(guò)一個(gè)l*n的卷積核卷積后接上一個(gè)n*l的卷積核卷積來(lái)替代。

    這種做法可以減少很多的參數(shù),減輕過(guò)擬合現(xiàn)象,同時(shí)也增加了非線性的特性。再Inception-v3的論文中提到,這種非對(duì)稱的卷積結(jié)構(gòu)拆分,其結(jié)果比堆成地拆分為幾個(gè)相同的小卷積核效果更佳明顯,可以處理更為復(fù)雜的空間特征。

    與此同時(shí),Inception模型也在Inception-v3得到了相應(yīng)的優(yōu)化,增加了8*8、17*17、35*35這三種不相同的卷積核尺寸。且這些模型不會(huì)再模型的前半部分出現(xiàn),前半部分采用的依然是一些普通的卷積層。在模型的后半部分才開始出現(xiàn)改進(jìn)后的Inception模型。

    總的來(lái)說(shuō),將Inception-v3模型用于圖像的分類和識(shí)別有著不錯(cuò)的效果。

    3 具體實(shí)現(xiàn)

    本文使用基于Android Studio的開發(fā)環(huán)境和Java語(yǔ)言進(jìn)行Android應(yīng)用程序的編寫。本文開發(fā)了一個(gè)ImageClassification類,專門用于做普通的圖像識(shí)別。

    首先,在build.gradle文件中寫入如下語(yǔ)句,來(lái)將Tensorflow框架的移動(dòng)版本加入項(xiàng)目中:

    implementation 'org.tensorflow:tensorflow-android:+'

    其次,調(diào)用Tensorflow模型的關(guān)鍵語(yǔ)句為:

    TensorFlowlnferencelnterface inferencelnterface=new Ten-sorFlowInferenceInterface(context.getAssetsO,M ODE L_FILE) 其中,MODEL FILE為需要調(diào)用的模型的名稱,我們將Google的移動(dòng)版的Inception-v3模型和其標(biāo)簽放入main\assests這個(gè)文件夾下,即可將模型加載到內(nèi)存當(dāng)中去。

    再通過(guò)如下代碼:

    inferencelnterface. feed(input_name, floatValues, 1, in-put_size_width, input_size_height,3);

    inferencelnterface.run(outpur_names,false);

    inferencelnterface.fetch(output_name, outputs);

    即可運(yùn)行模型。其中input_name為模型輸入Tensor的名稱,floatValues為歸一化后的圖像RCB值,output_name為模型輸出Tensor的名稱。input_szie和output_size分別為模型所需要的,輸入圖像的尺寸。Inception-v3所需要的尺寸為224*224。圖像歸一化可以通過(guò)以下代碼實(shí)現(xiàn):

    for (int i=0;i

    final int val= intValues[i];

    floatValues[i*3+0]=《(val>>16)& OxFF) - imageMean)/imageStd;

    floatValues[i*3+1】=《(val>>8)&OxFF) - imageMean)/imageStd;

    floatValues[i*3+2】=《val& OxFF) - imageMean)/imageS-td;}

    其中,inValues為原圖像的RGB值,可以通過(guò)讀入Bitmap格式的圖片獲得。imageMean為假定的圖像像素平均值,im-ageStd為假定的圖像像素的標(biāo)準(zhǔn)差。在本應(yīng)用中,將其分別設(shè)置為117和3,經(jīng)試驗(yàn)發(fā)現(xiàn)這種設(shè)置有著較好的效果。在ouputs中會(huì)返回相應(yīng)的編號(hào)。根據(jù)編號(hào)可以對(duì)應(yīng)lmagen-et_comp_graph_label_strings.txt本文文件中的行號(hào),查找到相應(yīng)的名稱。

    最后,通過(guò)構(gòu)造一個(gè)ImageClassification類的實(shí)例,再通過(guò)該實(shí)例調(diào)用imageclassification0方法,傳人一個(gè)bitmap和當(dāng)前活動(dòng)的上下文即可完成分類,該方法將返回一個(gè)String類型的字符串,其內(nèi)容即是分類的結(jié)果和可信度,具體代碼如下所示:

    ImageClassification imageClassification= new ImageClassifi-cation0;

    String englishResult= imageClassification.imageclassification(bitmap, getContext0);

    再將英文結(jié)果翻譯為中文結(jié)果,映射到相應(yīng)的垃圾類別輸出即可。這是該應(yīng)用最為核心的代碼,其余代碼較為簡(jiǎn)單,在此不多贅述。

    4 結(jié)束語(yǔ)

    基于卷積神經(jīng)網(wǎng)絡(luò)開發(fā)的垃圾自動(dòng)分類應(yīng)用程序,可以將手機(jī)拍攝的照片經(jīng)過(guò)壓縮和處理后輸入到Google的Inception-v3模型中,識(shí)別出相關(guān)的結(jié)果并映射到對(duì)應(yīng)的垃圾類別。該應(yīng)用可以識(shí)別1000多種物體,并且不需要連接網(wǎng)絡(luò),使用起來(lái)十分便利。整個(gè)項(xiàng)目的工程文件和源代碼可在Github開源社區(qū)中下載使用,地址為:https://github.com/lvl l O/RubbishRecog,

    參考文獻(xiàn):

    [1] Liu L F,Ma Y,Zhang X F,et aI.High discriminative SIFT fea-ture and feature pair selection to improve the bag of visualwords modeI[Jl.IET Image Processing, 2017,11(11):994-1001.

    [2]郭霖.第一行代碼Android[Ml.北京:人民郵電出版社,2014.

    [3](美)Ian Goodfellow,(加)Yoshua Bengio,(加)Aaron Courville著.深度學(xué)習(xí)[Ml.趙申劍,黎或君,符天凡,李凱譯,北京,人 民郵電出版社,2017:201-226.

    [4]鄭攀海,郭凌,丁立兵,基于TensorFlow的卷積神經(jīng)網(wǎng)絡(luò)的研究與實(shí)現(xiàn)[J].電子技術(shù)與軟件工程,2018(18):20-22.

    [5]吳健,陳豪,方武.基于計(jì)算機(jī)視覺的廢物垃圾分析與識(shí)別研究[J].信息技術(shù)與信息化,2016(10):81-83.

    【通聯(lián)編輯:唐一東】

    收稿日期:2019 -11-15

    作者簡(jiǎn)介:呂文杰(1998-),男,上海人,學(xué)士,主要研究方向?yàn)槟J阶R(shí)別;魏孝虎(1998-),男,安徽蕪湖人,學(xué)士,主要研究方向?yàn)槟J阶R(shí)別;陳眾孚(1999-),男,上海人,學(xué)士,主要研究方向?yàn)槟J阶R(shí)別;童灝(1999-),男,上海人,學(xué)士,主要研究方向?yàn)槟J阶R(shí)別;通訊作者:馬燕(1970-),女,浙江海寧人,上海師范大學(xué)信息與機(jī)電工程學(xué)院計(jì)算機(jī)系教授,主要研究方向?yàn)閳D像分割、模式識(shí)別和三維建模等。

    猜你喜歡
    垃圾分類卷積神經(jīng)網(wǎng)絡(luò)圖像識(shí)別
    基于Resnet-50的貓狗圖像識(shí)別
    電子制作(2019年16期)2019-09-27 09:34:50
    高速公路圖像識(shí)別技術(shù)應(yīng)用探討
    圖像識(shí)別在物聯(lián)網(wǎng)上的應(yīng)用
    電子制作(2018年19期)2018-11-14 02:37:04
    圖像識(shí)別在水質(zhì)檢測(cè)中的應(yīng)用
    電子制作(2018年14期)2018-08-21 01:38:16
    基于深度卷積神經(jīng)網(wǎng)絡(luò)的物體識(shí)別算法
    小學(xué)校本課程《垃圾分類》智慧教育案例研究
    淺析我國(guó)農(nóng)村垃圾處理難題
    日本城市垃圾分類的做法
    青春歲月(2016年22期)2016-12-23 16:15:10
    高校環(huán)境教育非課堂教學(xué)模式的探索
    深度學(xué)習(xí)算法應(yīng)用于巖石圖像處理的可行性研究
    兴义市| 海口市| 三亚市| 大安市| 沭阳县| 徐州市| 岗巴县| 泗阳县| 长岛县| 科尔| 那曲县| 登封市| 云阳县| 宁海县| 诸暨市| 阳曲县| 信丰县| 车险| 固镇县| 梧州市| 宜州市| 云梦县| 洪江市| 荆门市| 上蔡县| 兴山县| 奉新县| 花垣县| 临朐县| 十堰市| 长泰县| 原阳县| 桦甸市| 邢台县| 奎屯市| 大渡口区| 湄潭县| 井研县| 十堰市| 丹寨县| 习水县|