当前位置:论文写作 > 写作资料 > 文章内容

软件和神经网络论文怎么写 软件和神经网络方面论文参考文献范文5000字有关写作资料

主题:软件和神经网络 下载地址:论文doc下载 原创作者:原创作者未知 评分:9.0分 更新时间: 2024-03-29

软件和神经网络论文范文

《基于卷积神经网络的生活垃圾自动分类软件的实现》

该文是关于软件和神经网络相关论文怎么写与神经网络方面在职毕业论文范文.

摘 要:图像识别技术近年来被运用得越来越广泛.应用图像识别技术进行垃圾分类成为研究的热点.该文介绍了一种基于卷积神经网络,利用Tensorflow、Android系统开发的能通过拍照自动识别垃圾类别的应用程序.

关键词:图像识别;垃圾分类;卷积神经网络

中图分类号:TP399 文献标识码:A

文章编号:1009-3044(2020)05-0203-02

开放科学(资源服务)标识码(OSID):

由于计算机运算速度的提升,近年来,图像识别技术得到了巨大的发展.一些经典的分类算法,比如,基于SVM分类器的图像分类算法[1]已逐渐被卷积神经网络[2]所替代.尽管卷积神经网络依然处于一种“黑盒”的状态,将卷积神经网络运用到图像识别的技术中有着非常好的效果.因而诞生了诸如AlexNet、GoogLeNet这样的模型,使得图像识别被广泛运用到现实生活中成为可能.

垃圾分类也是近年来比较热门的一个话题.上海在今年的7月实施了《上海市生活垃圾管理条例》,正式宣告将对垃圾分类进行严格的管制.与此同时,全国各地的其他城市也纷纷效仿,开始推行垃圾分类的相关措施.但是,市面上关于垃圾自动分类的产品依然不多.因而,本文结合基于卷积升级网络的图像识别算法,开发了一种通过拍照自动识别垃圾类别的手机应用,可对日常的垃圾分类起到一定的帮助.

1 开发思路

如果训练一个基于卷积神经网络的识别垃圾的模型,需要耗费大量的物力和人力.需要列举出大量的生活物品,并根据这些生活物品收集大量的照片;构建一个比较复杂的网络,对于类别个数多,样本个数多的数据集来说,一个较浅的网络无法训练出很好的效果;再通过高性能的计算机进行训练,由于网络的结构比较复杂,这将耗费大量的时间.这种方法是难以实施的.

生活垃圾的分类,可以看成生活中常见物体的识别.并且,现在市场上,有许多开源的,已经训练好的模型可以用于识别常见物体.这些模型已经经过了很多测试和改进,有着非常好的性能.本文采用的,即是Google的Inception-v3模型.具体的思路为:先用Inception-v3对物体进行识别,再将分类得到的结果映射到其对应的垃圾类别,即可完成垃圾的分类.

此外,考虑到应用使用的便利性,以及国内手机用户所使用的操作系统,本文决定基于Android系统开发这款应用.

2 Inception横型的介绍

Google推出Inception模型的目的是为了解决稀疏矩阵计算速度较慢的问题.深度网络存在着以下几点的问题:

1)神经网络的层数越深,将出现梯度弥散,导致前面几层的作用消失.

2)神经网络的参数越多,越容易过拟合,导致模型实际效果不好.

3)神经网络越大,计算成本也就越高.

为了解决上述这些问题,往往会采用稀疏连接,从而打破神经网络的对称特性,同时提高模型的准确率,防止过拟合的 现象出现.但是稀疏链接会导致训练模型时的计算成本大大增加,计算机的软件和硬件对于稀疏结构的计算能力都比较有限.Google为了能够找到一种方法,使得能够利用密集矩阵的高计算性能的同时,保持网络的稀疏结构以提高模型的准确率,从而提出了Inception的结构,Inception结构有如下特点:

1) Google在同- Inception层中采用了不同尺寸的卷积核,分别为1*l、3*3、5*5,才用这些尺寸了原因是为了保证图像输出时都能到达28*28的同一尺寸(只需要通过padding操作即可达到该目的).

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

3) Inception层中加入了pooling的操作,提取出较为重要的特征.

Inception-vl融合了9个Inception模型组成了一个22层的深度模型,并再最后采用了平均池化层来替代了全连接层.使得模型最终的准确率高于AlexNet.

Inception-v3则将较大的卷积核进行了拆分,考虑了n*l这种类型的卷积核,替代n*n的卷积核.即任意一个n*n的卷积核,都会通过一个l*n的卷积核卷积后接上一个n*l的卷积核卷积来替代.

这种做法可以减少很多的参数,减轻过拟合现象,同时也增加了非线性的特性.再Inception-v3的论文中提到,这种非对称的卷积结构拆分,其结果比堆成地拆分为几个相同的小卷积核效果更佳明显,可以处理更为复杂的空间特征.

与此同时,Inception模型也在Inception-v3得到了相应的优化,增加了8*8、17*17、35*35這三种不相同的卷积核尺寸.且这些模型不会再模型的前半部分出现,前半部分采用的依然是一些普通的卷积层.在模型的后半部分才开始出现改进后的Inception模型.

总的来说,将Inception-v3模型用于图像的分类和识别有着不错的效果.

3 具体实现

本文使用基于Android Studio的开发环境和Ja语言进行Android应用程序的编写.本文开发了一个ImageClassification类,专门用于做普通的图像识别.

首先,在build.gradle文件中写入如下语句,来将Tensorflow框架的移动版本加入项目中:

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

其次,调用Tensorflow模型的关键语句为:

TensorFlowlnferencelnterface inferencelnterface等于new Ten-sorFlowInferenceInterface(context.getAssetsO,M ODE L_FILE) 其中,MODEL FILE为需要调用的模型的名称,我们将Google的移动版的Inception-v3模型和其标签放入main\assests这个文件夹下,即可将模型加载到内存当中去.

再通过如下代码:

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

inferencelnterface.run(outpur_names,false);

inferencelnterface.fetch(output_name, outputs);

即可运行模型.其中input_name为模型输入Tensor的名称,floatValues为归一化后的图像RCB值,output_name为模型输出Tensor的名称.input_szie和output_size分别为模型所需要的,输入图像的尺寸.Inception-v3所需要的尺寸为224*224.图像归一化可以通过以下代码实现:

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值,可以通过读入Bitmap格式的图片获得.imageMean为假定的图像像素平均值,im-ageStd为假定的图像像素的标准差.在本应用中,将其分别设置为117和3,经试验发现这种设置有着较好的效果.在ouputs中会返回相应的编号.根据编号可以对应lmagen-et_comp_graph_label_strings.txt本文文件中的行号,查找到相应的名称.

最后,通过构造一个ImageClassification类的实例,再通过该实例调用imageclassification0方法,传人一个bitmap和当前活动的上下文即可完成分类,该方法将返回一个String类型的字符串,其内容即是分类的结果和可信度,具体代码如下所示:

ImageClassification imageClassification等于 new ImageClassifi-cation0;

String englishResult等于 imageClassification.imageclassification(bitmap, getContext0);

再将英文结果翻译为中文结果,映射到相应的垃圾类别输出即可.这是该应用最为核心的代码,其余代码较为简单,在此不多赘述.

4 结束语

基于卷积神经网络开发的垃圾自动分类应用程序,可以将手机拍摄的照片经过压缩和处理后输入到Google的Inception-v3模型中,識别出相关的结果并映射到对应的垃圾类别.该应用可以识别1000多种物体,并且不需要连接网络,使用起来十分便利.整个项目的工程文件和源代码可在Github开源社区中下载使用,地址为:https://github.com/lvl l O/RubbishRecog,

参考文献:

[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著.深度学习[Ml.赵申剑,黎或君,符天凡,李凯译,北京,人 民邮电出版社,2017:201-226.

[4]郑攀海,郭凌,丁立兵,基于TensorFlow的卷积神经网络的研究与实现[J].电子技术与软件工程,2018(18):20-22.

[5]吴健,陈豪,方武.基于计算机视觉的废物垃圾分析与识别研究[J].信息技术与信息化,2016(10):81-83.

【通联编辑:唐一东】

收稿日期:2019 -11-15

作者简介:吕文杰(1998-),男,上海人,学士,主要研究方向为模式识别;魏孝虎(1998-),男,安徽芜湖人,学士,主要研究方向为模式识别;陈众孚(1999-),男,上海人,学士,主要研究方向为模式识别;童灏(1999-),男,上海人,学士,主要研究方向为模式识别;通讯作者:马燕(1970-),女,浙江海宁人,上海师范大学信息与机电工程学院计算机系教授,主要研究方向为图像分割、模式识别和三维建模等.

此文汇总:本文是适合不知如何写神经网络方面的软件和神经网络专业大学硕士和本科毕业论文以及关于软件和神经网络论文开题报告范文和相关职称论文写作参考文献资料.

软件和神经网络引用文献:

[1] 软件和神经网络论文怎么写 软件和神经网络方面论文参考文献范文5000字
[2] 模糊神经网络和软件论文范文 关于模糊神经网络和软件相关论文如何怎么撰写2万字
[3] 神经网络论文范文 关于神经网络相关硕士论文开题报告范文2万字
《软件和神经网络论文怎么写 软件和神经网络方面论文参考文献范文5000字》word下载【免费】
软件和神经网络相关论文范文资料