一种基于视觉识别的自动分类垃圾桶及分类方法

文档序号:1401632 发布日期:2020-03-06 浏览:5次 >En<

阅读说明:本技术 一种基于视觉识别的自动分类垃圾桶及分类方法 (Automatic classification garbage can based on visual identification and classification method ) 是由 王拓 吴蓬勃 王贵选 刘正波 于 2019-11-28 设计创作,主要内容包括:本发明公开了一种基于视觉识别的自动分类垃圾桶及分类方法。该垃圾桶包括垃圾投放口、第一光电开关传感器、识别分类托盘、第二光电开关传感器、子垃圾桶、图像识别组件、STM32控制器、双路步进电机驱动器和垃圾桶外壳;垃圾桶外壳的侧壁开有垃圾投放口;第一光电开关传感器放置于垃圾投放口处;垃圾桶外壳内放置有若干子垃圾桶,每个子垃圾桶的桶口位置均安装有第二光电开关传感器;识别分类托盘放置于垃圾桶外壳内,位于子垃圾桶的上方;识别分类托盘包括垃圾托盘、V型挡板步进电机、摄像头、V型挡板、支架、旋转挡板步进电机和旋转挡板。本垃圾桶通过摄像头采集垃圾图像,采用TensorFlow深度学习框架,经过模型的迁移训练,提高了垃圾识别的准确率。(The invention discloses an automatic classification garbage can based on visual identification and a classification method. The garbage can comprises a garbage throwing port, a first photoelectric switch sensor, an identification and classification tray, a second photoelectric switch sensor, a sub-garbage can, an image identification assembly, an STM32 controller, a two-way stepping motor driver and a garbage can shell; the side wall of the shell of the garbage can is provided with a garbage throwing opening; the first photoelectric switch sensor is placed at the garbage throwing port; a plurality of sub-garbage cans are arranged in the garbage can shell, and a second photoelectric switch sensor is arranged at the opening of each sub-garbage can; the recognition and classification tray is placed in the garbage can shell and is positioned above the sub garbage cans; the recognition and classification tray comprises a garbage tray, a V-shaped baffle stepping motor, a camera, a V-shaped baffle, a bracket, a rotating baffle stepping motor and a rotating baffle. This garbage bin passes through the camera and gathers rubbish image, adopts the TensorFlow degree of depth learning frame, through the migration training of model, has improved the rate of accuracy of rubbish discernment.)

一种基于视觉识别的自动分类垃圾桶及分类方法

技术领域

本发明涉及垃圾分类领域,具体是一种基于视觉识别的自动分类垃圾桶及分类方法。

背景技术

我国的垃圾量大,其中有很多是具有再次利用价值的可回收垃圾,实现生活垃圾资源化,将会对经济、社会、环境等方面产生巨大的效益。垃圾分类处理体系是一个复杂的系统,从结构上看,它包括垃圾分类收集、垃圾分类运输、垃圾分类处理以及垃圾分类回收四个环节。实现垃圾分类处理需从源头做起,垃圾自动分类收集是解决垃圾分类问题的有效对策之一。目前,可回收垃圾的分拣还是主要依靠人工进行,属于劳动密集型行业,劳动效率低。

文献《叶广源,熊正烨,李铭士,陈旭然.物联监控智能垃圾分类桶的设计[J].数字技术与应用,2017(01):136-138.》检测垃圾通过电容式传感器进行垃圾识别,通过检测不同垃圾的介电常数实现垃圾分类,存在采样困难、识别种类有限、错误率高的缺点,难以根据实际垃圾投放增加垃圾识别种类,尚未实现垃圾分拣和投放,同时电容传感器安装位置需要人工调试无法适应大规模投放,实用性不强。

发明内容

针对现有技术的不足,本发明拟解决的技术问题是,提供一种基于视觉识别的自动分类垃圾桶及分类方法。

本发明解决所述垃圾桶技术问题的技术方案是,提供一种基于视觉识别的自动分类垃圾桶,其特征在于该垃圾桶包括垃圾投放口、第一光电开关传感器、识别分类托盘、第二光电开关传感器、子垃圾桶、图像识别组件、STM32控制器、双路步进电机驱动器和垃圾桶外壳;

所述垃圾桶外壳的侧壁开有垃圾投放口;第一光电开关传感器放置于垃圾投放口处,用于检测是否有垃圾投入垃圾桶中;所述垃圾桶外壳内放置有若干子垃圾桶,每个子垃圾桶的桶口位置均安装有第二光电开关传感器,第二光电开关传感器用于检测子垃圾桶的容量情况;识别分类托盘放置于垃圾桶外壳内,位于子垃圾桶的上方;

所述识别分类托盘包括垃圾托盘、V型挡板步进电机、摄像头、V型挡板、支架、旋转挡板步进电机和旋转挡板;所述垃圾托盘固定于垃圾桶外壳的内壁上;所述摄像头通过支架安装于垃圾托盘上,摄像头的拍摄视角范围覆盖垃圾托盘内部的垃圾识别区,用于采集垃圾图像;V型挡板放置于垃圾托盘中,其中心处的转轴可转动地安装于垃圾托盘的中心处,两端边缘均与垃圾托盘的内壁接触;V型挡板步进电机的输出端与V型挡板的转轴连接,带动V型挡板以垃圾托盘的中心为轴转动,把垃圾推动到相应的垃圾投放口上方;旋转挡板上具有开口,其中心处的转轴可转动地安装于垃圾托盘的中心处;旋转挡板步进电机的输出端与旋转挡板的转轴连接,带动旋转挡板以垃圾托盘的中心为轴转动,打开相应的垃圾投放口使垃圾掉落到相应的子垃圾桶中;

第一光电开关传感器、第二光电开关传感器和双路步进电机驱动器均与STM32控制器连接;STM32控制器与图像识别组件连接;V型挡板步进电机和旋转挡板步进电机均与双路步进电机驱动器连接;摄像头与图像识别组件连接。

本发明解决所述方法技术问题的技术方案是,提供一种基于视觉识别的自动分类垃圾桶的垃圾分类方法,其特征在于该方法包括以下步骤:

步骤一、图像识别组件的训练;

(1)图像识别训练集制作:

①训练图片采集;收集各种垃圾物体的图片,得到训练图片;

②训练图片筛选;对训练图片进行人工筛选,得到训练图片集;训练图片集中的图片含有物体的清晰图像、具备物体的典型特征且物体背景多样化;

③标注训练图片;对训练图片集中的图片进行图片标注,识别图片中的垃圾,输出为XML标注文件;

④生成TFRecord格式的数据集;使用TensorFlow的目标检测库的程序将XML标注文件生成为统一的TFRecord格式文件,得到TFRecord格式的数据集;

(2)开始训练,训练过程如下:

①下载预训练模型;下载预训练模型到TensorFlow的目标检测库的object_detection文件夹中;

②修改物体种类文件;依据垃圾的实际物体种类,增加或删除object_detection/data文件夹中相应lable map文件包含的物体种类;

③修改object_detection/samples/configs中的模型配置文件:根据实际训练的垃圾种类,修改物体种类数量;指定训练和验证的TFRecord格式的数据集的文件路径;指定lable map文件存放路径;

④根据计算机硬件CPU和内存配置情况,调整预训练模型每次训练的批次大小;开始训练,在图像识别组件的Vision Bonnet神经网络运算卡中,将预训练模型训练为训练好的模型;

⑤将训练好的模型转换为PB模型;通过TensorFlow的目标检测库的模型文件输出程序,将训练好的模型转换为可独立运行的PB模型;

⑥测试训练结果;通过TensorFlow的目标检测库的测试程序对PB模型进行测试,通过增加每种物体标注图片数量以及调整模型配置文件中的参数值,使得PB模型对图片的识别率提高到预定值;

(3)图像识别组件的运行环境配置的具体步骤是:

①配置PB模型;将PB模型、lable map文件和模型配置文件拷贝到TensorRT的data目录下;

②增加对新添加的PB模型的支持;在TensorRT的utils目录下,将模型及其模型配置文件路径修改为新添加的PB模型及其模型配置文件路径,实现对新添加的PB模型的支持;

③修改模型名称与路径;打开TensorRT中的camera_tf_trt.py文件,将默认模型名称修改为新添加的PB模型名称,将lable map文件路径修改为新添加的lable map文件路径;

④配置串口实现识别结果输出;修改TensorRT的utils目录下的visualization.py文件的结果输出部分,增加串口数据输出,实现对识别结果的串口输出;

步骤二、训练完成后,开始垃圾分类:

①垃圾投放;用户通过垃圾投放口将垃圾投入,垃圾投入时触发第一光电开关传感器,垃圾掉落到识别分类托盘中,此触发信号唤醒处于休眠状态的STM32控制器,STM32控制器唤醒图像识别组件;

②垃圾图像采集;光线传感器检测光照强度,并将光照强度信息发送给STM32控制器,STM32控制器控制环形补光灯的开闭以及调节照明强度,为摄像头采集垃圾图像提供合适的光照强度;摄像头进行垃圾图像采集;

③垃圾识别;摄像头将采集到的垃圾图像发送给图像识别组件的Vision Bonnet神经网络运算卡对垃圾图像进行特征识别,图像识别组件将识别结果传送给STM32控制器;

④垃圾分类并投放;STM32控制器根据识别结果对垃圾进行分类并根据分类结果控制V型挡板将垃圾运送到相应的垃圾投放区;与此同时,STM32控制器通过第二光电开关传感器检测子垃圾桶的容量情况;如果相应的子垃圾桶已满,进行人工清理;如果相应的子垃圾桶未满,旋转挡板的开口旋转到相应的垃圾投放口处,打开相应的垃圾投放口,垃圾掉落到子垃圾桶中,V型挡板和旋转挡板回到初始位置;完成垃圾分类过程。

与现有技术相比,本发明有益效果在于:

(1)本垃圾桶将AI技术运用到垃圾识别中,将深度学习视觉分类技术应用到垃圾分拣中,通过摄像头采集垃圾图像,采用TensorFlow深度学习框架,经过MobileNet SSD模型的迁移训练,极大地提高了垃圾识别的准确率。STM32单片机处理识别结果,控制步进电机将垃圾准确投入相应的子垃圾桶中,实现了垃圾的搬运和投放,无需人工参与,提高了工作效率和准确率,极大地降低了人力成本。

(2)采用挡板与步进电机配合进行垃圾分类代替人工投放垃圾,提高工作效率,降低运行成本,同时简化系统机械结构,提高系统稳定性。

(3)基于TensorFlow深度学习框架,实现了在工作中学习,识别的垃圾种类逐渐增加,准确率逐步提高。

(4)采用了更加易于在嵌入式设备上运行的识别速度更高的MoblieNet SSD模型,减少了参数数量,运算量更小,性能更高,实现了垃圾的快速、准确识别。采用谷歌的VisionBonnet神经网络运算卡进行图像识别的神经网络运算,降低了系统CPU运算负担,提高了系统神经网络运算效率。

(5)视觉识别组件采用开源代码,便于用户后期升级与二次开发。可自行增加训练图片集与图片训练量,后期只需通过训练的方式即可增加垃圾识别种类与识别量,降低了运行成本。

(6)摄像头位置无需特别调试,便于大规模生产与投放。

(7)本垃圾桶的工作场景为公共场所,居民将垃圾投入垃圾桶后即可实现自动垃圾分类,提高了分类效率,降低了运行成本,从垃圾投放的源头实现垃圾分类,更具实用性和可推广性。

附图说明

图1为本发明一种实施例的整体结构***示意图;

图2为本发明一种实施例的识别分类托盘轴测示意图;

图3为本发明一种实施例的识别分类托盘另一视角的轴测示意图;

图4为本发明一种实施例的识别分类托盘俯视示意图;

图5为本发明实施例1的使用图像数据集对模型进行训练的识别率图。

图6为本发明实施例1的使用图像数据集对模型进行训练的总损失率图。

图7为本发明实施例1的使用图像数据集对模型训练11026次后的识别效果图。

图中:1、垃圾投放口;2、第一光电开关传感器;3、识别分类托盘;4、第二光电开关传感器;5、子垃圾桶;6、图像识别组件;7、STM32控制器;8、双路步进电机驱动器;9、垃圾桶外壳;31、垃圾托盘;32、V型挡板步进电机;33、摄像头;34、环形补光灯;35、V型挡板(L型挡板);36、支架;37、旋转挡板步进电机;38、旋转挡板;310、湿垃圾投放区;311、湿垃圾投放口;312、可回收垃圾投放区;313、可回收垃圾投放口;314、干垃圾投放口;315、干垃圾投放区;316、有害垃圾投放口;317、有害垃圾投放区;

具体实施方式

下面结合实施例及附图对本发明作进一步说明。具体实施例仅用于进一步详细说明本发明,不限制本申请权利要求的保护范围。

本发明提供了一种基于视觉识别的自动分类垃圾桶(简称垃圾桶),其特征在于该垃圾桶包括垃圾投放口1、第一光电开关传感器2、识别分类托盘3、第二光电开关传感器4、子垃圾桶5、图像识别组件6、STM32控制器7、双路步进电机驱动器8和垃圾桶外壳9;

所述垃圾桶外壳9的侧壁开有垃圾投放口1;第一光电开关传感器2放置于垃圾投放口1处,用于检测是否有垃圾投入垃圾桶中;所述垃圾桶外壳9内放置有若干子垃圾桶5,每个子垃圾桶5的桶口位置均安装有第二光电开关传感器4,第二光电开关传感器4用于检测子垃圾桶5的容量情况;图像识别组件6、STM32控制器7、双路步进电机驱动器8放置于垃圾桶外壳9内;识别分类托盘3放置于垃圾桶外壳9内,位于子垃圾桶5的上方、垃圾投放口1下方,与垃圾投放口1连通;

所述识别分类托盘3包括垃圾托盘31、V型挡板步进电机32、摄像头33、环形补光灯34、V型挡板35、支架36、旋转挡板步进电机37、旋转挡板38和光线传感器(图中未画出);所述垃圾托盘31固定于垃圾桶外壳9的内壁上;所述摄像头33通过支架36安装于垃圾托盘31上,安装高度由摄像头的拍摄视角范围决定,使摄像头33的拍摄视角范围覆盖垃圾托盘31内部的整个垃圾识别区,用于采集垃圾图像;环形补光灯34通过支架36安装于垃圾托盘31上,位于摄像头33上方,为摄像头33采集垃圾图像提供充足的光照;光线传感器安装于支架36上,位于环形补光灯34的光照范围内,光线传感器检测光照强度,并将光照强度信息发送给STM32控制器7,STM32控制器7根据光照强度信息控制环形补光灯34的开闭以及照明强度,为摄像头33采集垃圾图像提供合适的光照强度,保障垃圾桶全天候运行;V型挡板35放置于垃圾托盘31中,其中心处的转轴可转动地安装于垃圾托盘31的中心处,两端边缘均与垃圾托盘31的内壁接触;V型挡板步进电机32的输出端与V型挡板35的转轴连接,带动V型挡板35以垃圾托盘31的中心为轴转动,把垃圾推动到相应的垃圾投放口上方;旋转挡板38位于垃圾托盘31外、V型挡板35的另一侧,其上具有开口,其中心处的转轴可转动地安装于垃圾托盘31的中心处;旋转挡板步进电机37的输出端与旋转挡板38的转轴连接,带动旋转挡板38以垃圾托盘31的中心为轴转动,打开相应的垃圾投放口使垃圾掉落到相应的子垃圾桶5中;

第一光电开关传感器2、环形补光灯34、第二光电开关传感器4、双路步进电机驱动器8和光线传感器通过信号线均与STM32控制器7连接;STM32控制器7与图像识别组件6通过串口线连接;V型挡板步进电机32和旋转挡板步进电机37通过导线均与双路步进电机驱动器8连接;摄像头33通过USB线与图像识别组件6连接。

子垃圾桶5可以为四个且分别用于盛放“湿垃圾”、“可回收垃圾”、“干垃圾”和“有害垃圾”,符合国家标准的四种垃圾的准确分类。识别分类托盘3的垃圾识别区可划分为湿垃圾投放区310、湿垃圾投放口311、可回收垃圾投放区312、可回收垃圾投放口313、干垃圾投放口314、干垃圾投放区315、有害垃圾投放口316和有害垃圾投放区317;

图像识别组件6由Vision Bonnet神经网络运算卡和树莓派Raspberry Pi ZeroWH微型电脑组成;Vision Bonnet神经网络运算卡用于进行图像识别的神经网络运算和加载MobileN et SSD模型用于垃圾识别;树莓派Raspberry Pi Zero WH微型电脑安装乌班图系统用以支持TensorFlow深度学习框架和处理神经网络运算结果。

树莓派Raspberry Pi Zero WH微型电脑具有以下功能:1.收集训练图像。拍摄不同场景、不同光照条件、各种角度的垃圾照片。2.手动标记每张图像。3.准备训练数据集将标签转换为适当的格式,制作标签映射档,并将图像分成大型训练集和较小的评估集。4.在对象检测配置档中设置正确的参数。5.准备TensorFlow环境。6.训练并生成模型。7.将模型固化。8.在Ubuntu中使用Bonnet Compiler编译模型。9.将编译后的模型加载到Vision Kit上。10.调整示例代码以使其与编译模型一起工作。

STM32控制器7的型号可采用STM32F103ZET6;

本发明同时提供了一种基于视觉识别的自动分类方法(简称方法),其特征在于该方法包括以下步骤:

步骤一、图像识别组件6的训练;

(1)图像识别训练集制作:

①训练图片采集;为提高准确率,收集在不同背景、不同光线、不同角度、不同垃圾数量等情况下拍摄的、通过网络爬虫等工具获取的以及从MS COCO数据集中筛选的各种垃圾物体的图片,得到训练图片;

优选地,从MS COCO数据集中筛选各种垃圾物体的图片的具体方法是:从MS COCO数据集中筛选出相应的物体分类列表,根据分类列表从MS COCO数据集的train和val文件夹中提取训练图片;

②训练图片筛选;对训练图片进行人工筛选,删除部分不合格的图片,得到训练图片集;训练图片集中的图片必须含有物体的清晰图像、具备物体的典型特征且物体背景要多样化;

③标注训练图片;采用LableImg软件对训练图片集中的图片进行图片标注即识别图片中的垃圾,软件输出为Pascal VOC格式的XML标注文件;

④生成TFRecord格式的数据集;使用TensorFlow的目标检测库(ObjectDetection API)的程序creat_pascal_tf_record.py将XML标注文件生成为统一的TFRecord格式文件,得到TFRecord格式的数据集;至此完成图像识别训练集的制作;

(2)开始训练,训练过程如下:

①下载MobileNet SSD预训练模型;下载预训练模型ssd_mobilenet到TensorFlow的目标检测库的object_detection(目标检测)文件夹中;

②修改物体种类文件;依据垃圾的实际物体种类,增加或删除object_detection/data文件夹中相应lable map文件(物体标签号码与物体名称的映射文件)包含的物体种类;

③修改object_detection/samples/configs中的模型配置文件ssd_mobilenet_v1_coco.config:即根据实际训练的垃圾种类,修改物体种类数量num_classes;指定训练和验证的TFRecord格式的数据集的文件路径input_path(即:训练和验证的TFRecord文件路径);指定lable map文件存放路径;

④根据计算机硬件CPU和内存配置情况,调整预训练模型每次训练的批次大小batch_size;开始训练,在图像识别组件6的Vision Bonnet神经网络运算卡中,将预训练模型训练为训练好的模型;

⑤将训练好的模型转换为PB模型(PB,protocol buffer,协议缓冲);通过TensorFlow的目标检测库的模型文件输出程序export_inference_graph.py,将训练好的模型转换为可独立运行的PB模型(垃圾识别模型);

⑥测试训练结果;通过TensorFlow的目标检测库的测试程序object_detection_tutorial.py对训练好的PB模型进行测试,通过增加每种物体标注图片数量(一般每个物体不少于1000张)以及调整模型配置文件ssd_mobilenet_v1_coco.config中的参数值,使得PB模型对图片的识别率提高到预定值;至此完成训练工作;

(3)图像识别组件6的运行环境配置的具体方法/步骤是:

①配置PB模型;将PB模型、lable map文件和模型配置文件ssd_mobilenet_v1_coco.config拷贝到TensorRT的data目录下;

②增加对新添加的PB模型的支持;在TensorRT的utils目录下的egohands_models.py文件中,将模型及其模型配置文件路径修改为新添加的PB模型及其模型配置文件路径,实现对新添加的PB模型的支持;

③修改模型名称与路径;打开TensorRT中的camera_tf_trt.py文件,将默认模型名称修改为新添加的PB模型名称,将lable map文件路径修改为新添加的lable map文件路径;

④配置串口实现识别结果输出;修改TensorRT的utils目录下的visualization.py文件的结果输出部分,增加串口数据输出,实现对识别结果的串口输出;

步骤二、训练完成后,开始基于视觉的垃圾分类:

①垃圾投放;图像识别组件6和STM32控制器7在无垃圾投入时为降低功耗处于休眠状态;用户通过垃圾投放口1将垃圾投入,垃圾投入时触发第一光电开关传感器2,垃圾掉落到识别分类托盘3的V型挡板35中,此触发信号唤醒处于休眠状态的STM32控制器7,STM32控制器7唤醒图像识别组件6;

②垃圾图像采集;光线传感器检测光照强度,并将光照强度信息发送给STM32控制器7,STM32控制器7控制环形补光灯34的开闭以及调节照明强度,为摄像头33采集垃圾图像提供合适的光照强度;摄像头33进行垃圾图像采集;

③垃圾识别;摄像头33将采集到的垃圾图像发送给图像识别组件6的VisionBonnet神经网络运算卡通过神经网络运算对垃圾图像进行特征识别,图像识别组件6将识别结果通过串口传送给STM32控制器7;

④垃圾分类并投放;STM32控制器7根据识别结果对垃圾进行分类(“湿垃圾”、“可回收垃圾”、“干垃圾”、“有害垃圾”)并根据分类结果控制V型挡板35将垃圾运送到相应的垃圾投放区;与此同时,STM32控制器7通过第二光电开关传感器4检测子垃圾桶5的容量情况;如果相应的子垃圾桶5已满,STM32控制器7中的扬声器发出“垃圾桶已满,请及时清理”的提示音,进行人工清理;如果相应的子垃圾桶5未满,则扬声器发出相应倾倒垃圾提示音,旋转挡板38的开口旋转到相应的垃圾投放口处,打开相应的垃圾投放口,垃圾掉落到子垃圾桶5中,V型挡板35和旋转挡板38回到初始位置(本实施例是V型挡板35回到湿垃圾投放区310,旋转挡板38的开口回到有害垃圾投放区317);然后STM32控制器7和图像识别组件6进入休眠状态,补光灯34关闭;完成垃圾分类过程。

实施例1

通过本垃圾桶对有害垃圾-药片板进行识别分类,药片板的图像数据集共319张图片;由图5可以看出,通过图像数据集对模型训练9817次后,模型的识别率(mAP值)达到了80%。由图6可以看出,通过图像数据集对模型训练11026次后,总损失率降低到了10%。由图7可以看出,通过图像数据集对模型训练11026次后,已能够识别出全部的药片板。

本发明未述及之处适用于现有技术。

17页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:视觉与触觉相结合的智能垃圾分类方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!