基于STM32和OpenCV的垃圾分类系统设计

收藏和点赞,您的关注是我创作的动力

概要

    本文首先分析了垃圾分类国内外研究现状,针对我国的垃圾分类情况,本文先采用OpenCV将载入的垃圾图像进行滤波,边缘化,找外接矩形等操作;再采用mobilenetv3_Small模型对716张垃圾图像进行训练,得到训练模型,同时利用Tensorboard可视化,展示训练过程;然后进行垃圾图像识别与分类;最后采用串口通信将垃圾图像识别的结果传输给STM32,在LCD液晶显示屏上显示结果,实现垃圾分类。
关键词:图像识别;STM32;垃圾分类;深度学习;OpenCV

一、课题研究主要内容

课题研究主要内容

  分析完国内外垃圾分类研究现状后,鉴于我国垃圾分类设备还不完善,本课题设计了一种垃圾分类系统,能实现垃圾图像的自动识别,分类。采用OpenCV图像处理功能提取图像的主要特征,缩小识别范围,实现图像的分割[19],再基于MobileNet V3模型实现图像识别与分类[20]。本课题研究的主要内容包括:
(1)基于OpenCV的图像处理算法
  采用OpenCV对图像进行分割,完成对载入图片的滤波和边缘检测,对图片进行二值化,完成外接矩形轮廓的寻找,最终在图片上分割出物体所在位置。
(2)卷积神经网络图像识别与分类
  运用MobileNetV3_Small模型进行垃圾识别、分类,将常见垃圾分为可回收垃圾、厨余垃圾、有害垃圾和其它垃圾四大类,利用Python和TensorFlow搭建实验环境[21],用MobileNetV3_Small预训练模型训练自己制作的数据集并保存,得到训练的准确率和损失值,最后完成图像的识别与分类[22]。
(3)垃圾分类硬件系统
  硬件系统采用STM32开发板,选用STM32F103ZET6作为主芯片,根据功能要求确定器件的选型,设计程序,用ST-LINK/V2调试器下载程序到开发板,实现计算机与开发板之间的数据通信,最终将图像分类结果展示在LCD显示屏上

二、系统总方案设计

2.1 系统总体方案确定及分析

2.1.1 系统总体方案概述

根据课题设计要求,在学习OpenCV基本操作方法和卷积神经网络基本知识后,采用OpenCV进行垃圾图像分割[23],将提供的图片特征提取出来,确定物体在图像中的区域;然后训练模型,用CNN卷积神经网络实现垃圾图像的识别与分类[24];最后将识别的结果传送给STM32,

2.1.2 系统总体框图设计

系统的具体组成主要包括OpenCV图像分割模块,CNN卷积神经网络图像识别模块,系统总体结构框图如下图2.1所示。
  在这里插入图片描述
图2.1 系统总体结构框图

2.1.3 主芯片的选择

进行硬件系统设计前要考虑诸多因素,如设计成本,设计时间,设计项目的难易程度等,选择合适的芯片是至关重要的。经过性能,价格和功能对比,本课题硬件设计模块开发板用的是STM32F103ZET6芯片。
  STM32F103ZET6是一个基于ARM Cortex-M3内核的32位通用微控制器,它拥有256到512KB的闪存,还有高达72Hz的工作频率,它的3个12位模数转换器可以实现三倍采样和保持功能。

2.2 系统主要模块介绍

2.2.1 OpenCV垃圾图像分割

OpenCV是一个开源计算机视觉库,它是在VC++编译环境下运行的,可以实现物体识别和图像分割等功能。OpenCV分割垃圾图像包括以下几个步骤:加载图像、显示图像、处理图像[25]。加载图像即将图像数据从文件夹中加载进来,显示图像由namedWindow和imshow函数实现,在创建的窗口上显示加载进来的图片,处理图像就是运用一些基本算法完成对图像的转换,如色彩转换,形态学操作,阈值化操作和膨胀腐蚀操作等。

2.2.2 CNN卷积神经网络识别垃圾图像

一个卷积神经网络一般由5种结构组成,分别是输入层、卷积层、池化层、全连接层和Softmax层[26]。输入层是用来输入数据的,一般是图片的像素矩阵;卷积层在卷积神经网络中占据了重要地位,卷积层工作是先定义一个卷积核,一般为33或55的卷积核,用定义的卷积核提取原图像中的像素值,进行矩阵对应相乘在相加,得到卷积层输出,在卷积层的计算过程中每层的神经元都只会和上一层中的部分神经元相连;池化层用来提取图像的主要特征,池化有两种常见的形式,分别是最大池化和均值池化。最大池化就是在每个选定的区域内选取最大的数值来代替这片区域,最终得到一个全新的图像,而均值池化就是取区域里的平均值;全连接层则是起一个分类器的作用,使用激活函数,用梯度下降算法将参数优化,传入下一层,进行损失值计算,并将分类结果输出;softmax层是用来输出物体概率的,即将神经网络的输出转变为概率的输出,因此,softmax层所有输出的概率和为1,其计算公式如
2-1所示:
在这里插入图片描述

卷积神经网络的出现解决了传统神经网络不能解决的问题,它的出现加深了神经网络层数,使深度学习由此展开。本课题就是基于深度学习的垃圾图像识别。

2.2.3 硬件系统简介

垃圾分类硬件系统采用了ALIENTEK精英STM32F103开发板,该开发板资源充分,小巧精致&#

  • 6
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值