本发明专利技术属于图像识别技术领域,具体地说,是一种基于ResNet50的垃圾识别与分类方法,包括:选取涵盖有实际生活中常见的多种垃圾图片的公开数据集,创建成适合垃圾分类研究所需要的数据集,然后将数据集分为训练集与测试集,对训练集中的图像进行预处理操作;搭建网络模型,选取ResNet50卷积神经网络模型作为基准模型,引入深度可分离卷积,添加CBMA和SE两种注意力机制,从而创建出新型卷积神经网络模型;设置网络模型的超参数,选择损失函数和优化方法对创建出的网络模型进行训练,可得到训练好的模型;利用训练好的卷积神经网络模型去识别测试集中的图片,最后得到识别的精度。最后得到识别的精度。
【技术实现步骤摘要】
基于ResNet50的垃圾识别与分类方法
[0001]本专利技术属于图像识别
,具体地说,是一种基于ResNet50的垃圾识别与分类方法。
技术介绍
[0002]近年来,随着社会生活水平的逐渐提高,相应的垃圾产量也在迅速增长,因此对垃圾进行合理的分类以及实行相应的回收利用操作,是具有非常重大意义的,同时对于目前提倡的绿色发展以及可持续发展也起到至关重要的作用。然而事实证明,针对实际我们生活中的垃圾的分类来说,仍然具有很多的困难,尽管目前我国很多的省份已经颁布了垃圾分类的强制性政策,但是由于人们长期以来对于垃圾分类的认识是不够充分的,甚至对垃圾能够正确分类的知识也是不足的,以至于垃圾分类在目前的生活中实现的不是很理想的。因为对不同种类的垃圾应该采取属于它们的分类方法,如果分类不当,不仅会使得回收利用收到阻碍,还可能会导致各种环境污染问题,所以对垃圾进行合理的分类是刻不容缓的。
[0003]同时,随着深度学习的快速发展,深度学习方法已经在图像分类领域以及图像检测领域达到了十分广泛的应用,多类别的图像分类问题被有效地解决,其最基础的研究目标之一就是对若干不完全相关的类别图像进行分类。该技术已被逐步转化成以数据为驱动的一种新型深度学习技术,并且得到很大的改善和发展。像我们现有的经典网络,如VGG、ResNet、SENet等也都是在此基础上进行研究而来的。虽然目前关于图像识别分类的研究已较为成熟,但较少研究是针对垃圾图像进行分类的。
[0004]所以目前为止,针对基于ResNet50的垃圾识别与分类技术而言,如何在网络层次相对较深的网路模型的基础上,进行优化改进,从而去适应图像背景信息更丰富、规模更大的数据集,如何在保证较高的识别准确率的前提下,去降低模型复杂度,减少算法所需要的时间和所使用到的计算资源,更好地满足实时性应用和需求等方面,未来仍然需要进行大量的研究工作。
技术实现思路
[0005]本专利技术的目的对于选用的ResNet50模型进行优化改进从而进一步地提高垃圾识别的速度以及分类的准确度。其方案是:1.对选用的图片进行预处理的操作,2.选用ResNet50作为基准模型进行优化改进,首先是在残差结构中采用深度可分离卷积,3.其次同时添加两种注意力机制:CBMA注意力机制和SE注意力机制,在ResNet50第一个Block前添加CBMA注意力机制,在最后一个Block后添加SE注意力机制;4.学习中通过采用余弦退火学习率衰减政策,开始增大学习率跳过局部最优,之后使学习率缓慢的下降,使用小学习率,来使网络逐渐收敛,从而提高图像的识别速率与图像分类的准确度。
[0006]为了实现上述目的,本专利技术采用的具体技术方案如下:
[0007]基于ResNet50的垃圾识别与分类方法,包括以下步骤:
[0008]步骤1:选取涵盖有实际生活中常见的多种垃圾图片的公开数据集,创建成适合垃圾分类研究所需要的数据集,然后将数据集分为训练集与测试集,并对训练集中的图像进行预处理操作。
[0009]步骤2:选取ResNet50网络作为基准模型,在残差结构中添加深度可分离卷积,在网络中添加注意力机制,从而搭建出新型网络模型;
[0010]步骤3:设置网络模型超参数,选择损失函数和优化方法对训练集中图像进行训练,经过不断验证以及训练的过程,然后获得训练好的网络模型;
[0011]步骤4:使用训练好的网络模型去检测没有训练过的测试集中的垃圾图片,最终得到垃圾识别以及分类的结果。
[0012]在上述技术方案中,图像分类是对输入图像经过一些操作,最终输出一组描述了该图像内容的分类或是该图像内容分类的概率;图像分类的输入是图片的分辨率和尺寸,即输入x=h
×
w
×
c的像素值数组,h、w和c分别表示图像的各个属性,即高度,宽度和深度。深度就是色彩通道的数量。例如,RGB图像的深度为3,而灰度图像的深度为1。对应的数组就有h
×
w
×
c个元素,其中每个数字的值,从0到255不等,描述了对应那一点的像素灰度。输出则是描述该图像属于某一特定分类的概率的数字。
[0013]本专利技术的进一步改进,步骤1对于图像进行预处理操作的方法具体包括:
[0014]步骤1.1,首先将输入图片的尺寸转化成512
×
512的输入特征图;
[0015]步骤1.2,将步骤1.1转化后的图像进行随机旋转,旋转的角度可由自己设定,例如设置为15度;
[0016]步骤1.3,将步骤1.2随机旋转后获得的图像,进行随机的水平翻转;
[0017]步骤1.4,将步骤1.3随机水平翻转后获得的图像,进行中心裁剪的操作;
[0018]步骤1.5,将步骤1.4中心裁剪后获得的图像,转换为张量;
[0019]步骤1.6,将步骤1.5获得的张量,进行归一化处理。
[0020]本专利技术的进一步改进,对图像预处理操作使用的是工具集torchvision中的转换函数transforms,具体方法如下:
[0021]步骤1.1的图片尺寸转化的方法:transforms.Resize([h,w]),其中的h和w分别代表图片的高度和宽度;
[0022]步骤1.2的图片随机旋转的方法:transforms.RandomRotation(degrees),其中degrees表示角度,即按degrees随机旋转一定的角度;
[0023]步骤1.3的图片随机水平翻转的方法:transforms.RandomHorizontalFlip();
[0024]步骤1.4的图片进行中心裁剪的方法:transforms.CenterCrop(crop_size),其中crop_size表示将图片裁剪成的大小,即以输入图片的中心点为中心做指定crop_size的裁剪操作;
[0025]步骤1.5的图片转换为张量的方法:transforms.ToTensor(),将数据从[0,255]范围转换到[0,1],具体做法就是将原始数据除以255;同时将尺寸为(h,w,c)的图片转为尺寸为(c,h,w),其中的h、w和c分别代表图片的高度、宽度和深度;
[0026]步骤1.6进行归一化处理的方法:transforms.Normalize(mean,std),使用公式对数据按通道进行标准化,即先减均值mean,再除以标准差std,将每个元素分布到
(
‑
1,1)。
[0027]本专利技术的进一步改进,步骤2中所述的ResNet50结构分为5个阶段,第一个阶段较为简单,后面四个阶段都由Bottleneck组成,第二、三、四和五个阶段分别包含3、4、6和3个Bottleneck。
[0028]ResNet50的第一阶段输入x先后经过卷积层、BN层、ReLU激活函数、MaxPooling层得到输出。
[0029]①
卷积层的计算方法:输出其中x表示输入x=h<本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于ResNet50的垃圾识别与分类方法,其特征在于,包括以下步骤:步骤1:选取涵盖有实际生活中常见的多种垃圾图片的公开数据集,创建成适合垃圾分类研究所需要的数据集,然后将数据集分为训练集与测试集,并对训练集中的图像进行预处理操作;步骤2:选取ResNet50网络作为基准模型,在残差结构中添加深度可分离卷积,在网络中添加注意力机制,从而搭建出新型网络模型;步骤3:设置网络模型超参数,选择损失函数和优化方法对训练集中图像进行训练,经过不断验证以及训练的过程,然后获得训练好的网络模型;步骤4:使用训练好的网络模型去检测没有训练过的测试集中的垃圾图片,最终得到垃圾识别以及分类的结果。2.根据权利要求1所述的基于ResNet50的垃圾识别与分类方法,其特征在于,所述步骤1对于图像进行预处理操作的方法具体包括:步骤1.1,首先将输入图片的尺寸转化成512
×
512的输入特征图;步骤1.2,将步骤1.1转化后的图像进行随机旋转;步骤1.3,将步骤1.2随机旋转后获得的图像,进行随机的水平翻转;步骤1.4,将步骤1.3随机水平翻转后获得的图像,进行中心裁剪的操作;步骤1.5,将步骤1.4中心裁剪后获得的图像,转换为张量;步骤1.6,将步骤1.5获得的张量,进行归一化处理。3.根据权利要求2所述的基于ResNet50的垃圾识别与分类方法,其特征在于,所述步骤1中对图像预处理操作使用的是工具集torchvision中的转换函数transforms,具体方法如下:步骤1.1的图片尺寸转化的方法:transforms.Resize([h,w]),其中的h和w分别代表图片的高度和宽度;步骤1.2的图片随机旋转的方法:transforms.RandomRotation(degrees),其中degrees表示角度,即按degrees随机旋转一定的角度;步骤1.3的图片随机水平翻转的方法:transforms.RandomHorizontalFlip();步骤1.4的图片进行中心裁剪的方法:transforms.CenterCrop(crop_size),其中crop_size表示将图片裁剪成的大小,即以输入图片的中心点为中心做指定crop_size的裁剪操作;步骤1.5的图片转换为张量的方法:transforms.ToTensor(),将数据从[0,255]范围转换到[0,1],具体做法就是将原始数据除以255;同时将尺寸为(h,w,c)的图片转为尺寸为(c,h,w),其中的h、w和c分别代表图片的高度、宽度和深度;步骤1.6进行归一化处理的方法:transforms.Normalize(mean,std),使用公式对数据按通道进行标准化,即先减均值mean,再除以标准差std,将每个元素分布到(
‑
1,1)。4.根据权利要求1所述的基于ResNet50的垃圾识别与分类方法,其特征在于,步骤2中所述的ResNet50结构分为5个阶段:第一阶段:输入x先后经过卷积层、BN层、ReLU激活函数、MaxPooling层得到输出:
①
卷积层的计算方法:输出其中x表示输入x=h
×
w
×
c的像素值数组,h、w和c分别表示图像的各个属性,即高度,宽度和深度,padding表示输入的每一条边补充0的层数,高、宽都增加2
×
paddi...
【专利技术属性】
技术研发人员:倪晓军,刘玲,
申请(专利权)人:南京邮电大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。