matlab垃圾分类的具体实现

本文介绍了实验室垃圾识别系统的三个关键模块:颜色初步检测、形态学去干扰和BP神经网络分类。通过颜色检测定位、形态学处理消除干扰,然后使用BP神经网络对垃圾进行高效分类,确保系统具有良好的扩展性和准确性。
摘要由CSDN通过智能技术生成

1垃圾分类的具体实现
本文经过软件总体规划和设计将整个实验室垃圾识别系统根据其功能划分为三个最主要的功能模块——初步颜色检测定位、形态学去干扰和垃圾分类识别。每个模块基本上做到了相互独立,互不干扰,这样对其中某一模块进行功能扩充时便不会影响到其它模块;因此,整个系统具有良好的可扩展性。这一章将着重介绍初步检测预处理、颜色初步定位和形态学去干扰模块。

1.1初步颜色检测定位

为了达到统计实验室垃圾识别的目的,本文通过综合分析,设计运用了许多数字图像处理技术。将目标初步检测与背景区域分离,是实现实验室垃圾识别的先决步骤。
本设计是利用实验室垃圾的颜色进行定位工作。这里选择几种常见颜色的实验室垃圾作为测试.以下为检测颜色的流程图。

3.2实验室垃圾区域二值图
1.2形态学处理干扰
这里简要说明数学形态学处理在初步检测检测模块中的应用。上述过程中,已经完成了疑似实验室垃圾区域的二值化定位,但是它们终究属于小面积区域。这里将要对二值化的图像进行形态学处理,利用MATLAB库函数bwareaopen处理掉被一些被噪声或者其他背景色引入的非目标点或区域;

1.3 分割目标

1.4 bp神经网络实现分类识别
(一)BP神经网络的基本概念
BP神经网络包括两部分:
(1)训练过程;
(2)学习过程。
其中学习过程包括:
(1)信号的训练过程;
(2)误差的反向传播。
正向传播时,我们需要从输入层传入输入样本,然后这里的隐含层接收到样本后开始逐层处理。处理完之后再传递到输出层。如果实际输出跟期望输出不符合,则转入误差的反向传播阶段[19]。
反向传播时,通过隐含层向输入层进行反方向的传递。通过将误差传给每一层的单元,然后再获取每个单元的误差信号。通过这些误差信号来完成对各单元的权值的修改。
训练过程的步骤:
(1)输入层接收外界信号并将其传递到中间层的每个神经元;
(2)信息按照不同的隐含层结构进行变换;
(3)信息传递到输出层。
这样就完成了一次正向传播处理的学习过程[20]。
如果误差过大的话,实际输出会通过反向传播过程继续循环来减小误差。主要步骤就是:(1)隐含层反传误差到输入层;(2)各层根据各单元权值进行调整;(3)进行训练;(4)满足条件时终止[21]。
图 循环训练减少误差
(二)BP神经网络的训练过程
训练BP神经网络,其实就是对网络的权重以及偏置的数值进行不断的调整调整,我们简单把训练过程归纳为:前向传输:输出值逐层传递;逆向反馈:权重和偏置的反向调整;
(1)、前向传输
训练网络之前,需要对权重和偏置进行随机初始化,即需要为每个权重取在[−1,1]中的一个随机实数,再为每个偏置取在[0,1]中随机数,然后开始前向传输。
神经网络的训练就是通过多次的迭代完成,在每次的迭代过程中,都要用到训练集的全部记录。代码描述如下:
while终止条件未满足:
forrecord:dataset:
trainModel(record)
(2)、逆向反馈
从输出层开始进行反方向反馈,目的是让输出层可以得出数据的类别。
逆向反馈类似于一个二分类的问题:输出层输出两个神经单元,根据输出神经单元的大小进行数据记录类别的判断,前者大就属于第一类,后者大就属于第二类。
(三) BP神经网络的学习过程
首先需要初始化网络,然后输入样本,最后计算误差,满足终止条件之后完成学习过程。具体如图3-1所示。
图3-11BP神经网络学习流程图
先要设置输入层的值。除输入层外的值外,其他数值都是由上一层的值根据权重累加的值加上偏置所得的结果,而结点的输出值由该结点的输入值作变换[22]。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值