杏彩体育_杏彩体育登录注册专业生产:垃圾桶、不锈钢垃圾桶、分类垃圾桶、公共场所垃圾箱等系列环保产品!
垃圾桶、不锈钢垃圾桶、分类垃圾桶源头生产厂家专业从事环保研发、生产、销售一体化服务企业。
全国咨询热线:15534828823
杏彩体育登录注册
155-3482-8823

联系人:韩经理

手机:15534828823

邮箱:zhang@www.sddianlan.com

QQ:472920401

地址:山西省运城市万荣县恒磁路以西

当前位置:首页 > 垃圾桶 > 分类垃圾桶

杏彩体育:Yolov5案例实践—基于Aidlux平台的垃圾桶

发布日期:2024-02-11 15:05:34

来源:杏彩体育注册 作者:杏彩体育登录注册

浏览量:1

产品详情

  随着智慧城市发展的脚步加快,城市在发展过程中必不可少的会产生大量垃圾,尤其是在商业区、居民区等区域。这些区域由垃圾站使用垃圾车定时清理垃圾桶内的垃圾,但这些区域的人流量大、垃圾更新速度快等特点使得定时清理垃圾的方式很难保证垃圾桶内的垃圾不会溢出或散落到地上。当垃圾桶内的垃圾发生溢出时,会影响到城市的市容市貌和市民的日常生活。现有基于NB检测技术中进行垃圾桶溢出检测的成本较高,检测结果可靠性较低,出现误检。

  为了更好地解决垃圾桶溢出及散落的问题,基于计算机图像视觉的方式,实现垃圾桶的目标检测、垃圾桶的溢出识别和垃圾桶溢出的误检测过滤,使垃圾站或管理人员能够及时检测垃圾桶的状态,为确保垃圾桶内的垃圾在溢出前被有效清理,解决城市或园区内垃圾桶溢出的问题。

  2、一台安卓系统手机(建议版本在安卓10以内)并安装Aidlux APP,用来部署模型进行推理。

  (1)数据收集。 由于本次垃圾桶及垃圾的检测没有开放直接可用的数据集,需要手动进行收集和整理,数据集的数据来源主要是利用互联网上各类网站发布的相关图片,另外也有一部份是本人在实际的应用场景进行手机拍照收集,这个数据的收集过程比较浪费时间,最后经过清洗可用的数据一共有1200多张。部份数据通过Python代码进行在线对摄像头进行截图保存,组成数据集。

  (2)图片编号。为了方便后期的数据标注和训练模型时的数据管理,对清洗后的图片进行自动编号,统一图片的命名格式以及类型,统一使用JPG格式的图片。

  (3)数据标注。虽然目前数据集只有1200多张,但是如果都由人工全部标注,需要浪费大量的精力进行重复又费时的工作,最先想到是找自动标注工具,事实上没有这方面的工具可用。后来找到百度的BML平台,可以 对数据进行半自动化标注,也就是说数据先人工标注一部份,后面由平台通过自动化的方式进行4轮的标注和修正,这样下来大大节省了数据标注的时间和人力。对于百度的BML来说,这个平台的功能比较丰富,基本上涉及到的数据集管理,模型的训练,云端部置等全流程都可以实现,但是部份功能使用要收费,目前数据集管理部份(清洗、标注)是免费的,有喜欢的可以试用一下。

  (4)数据和标签文件下载。 通过百度的BML平台完成图像标注后,可以从平台导出带有标签的图像和数据,导出格式支持多种,可以根据实际模型训练需要的格式进行导出。本次案例导出格式为XML,在进行训练前需要对标注的格式转换为txt适合yolov5的训练格式用数据。

  在进行模型训练前需要对图⽚和标签⽂件进行检查,确保图像和标签能一一对应,没有问题后,还需要对标注好的数据划分成训练集和验证集。 这⾥按照8:2的⽅式来切分,即80%是训练集,20%是验证集。 这些工作都可以通过代码来完成。主要是train_data_split.py中,按第个阶段的功能分别执行任务。当然我们需要注意,运行某一阶段的任务时,需要把阶段的任务代码都注释掉。

  另外,在进行训练模型之前还需要配置参数。新建garbage.yaml 因为训练的是垃圾检测模型,所以在yolov5_code/data⽂件夹中,新增⼀个garbage.yaml的配置文件。

  注: 训练过程可能会出现一个报错,主要原因是由于tqdm功能库的版本不匹配导致,需要进行pip uninstall tqdm删除重装才可以使用。

  所有工作都准备好了就可以开始进行模型的训练了,模型训练要使用GPU来计算速度快,用CPU等的时间可能会很久,如果没有GPU电脑可以找云平台,有免费测试的。

  经过200次的epochs训练后,会生成2个可以用来做推理的模型,一个是综合每次训练最好的best.pt(即epoch迭代的过程中,map精度对⽐⽐较好的模型),另一个是最后的一次训练的last.pt模型,一般会选择best.pt模型进行推理。

  通过前面对垃圾桶和垃圾的检测模型训练好就可以用来进行推理测试,以便验证检测的效果以及准确性了。从训练的电脑或服务器将best.pt模型下载下来,修改成yolov5_best.pt。并放到资料包代码⽂件夹中。

  当我们训练出检测模型时,⽐如得到最轻量型的yolov5n.pt⽂件。先在PC端电脑上,⽤训练好的检测模型针对 图⽚和视频进⾏效果测试。

  从检测的结果来看,对垃圾桶的识别还是有一部份没有完全识别出来,需要用 实际场景的图片加到数据集进行再训练,提高检测识别的精度。

  安装好手机端的的Aidlux 软件就可以进行AI的推理,APP上有演示的案例,可以直接打开example使用。当然为了方面后面的程序调试和文件的上传,我们还是要用PC来操作会更好一点,通过以下方式可以用PC连接到手机上的aidlux,后面的操作就在电脑上就可以完成了,非常的方便。

  下面我们看看通过什么方法可以连接手机上的AIDLUX,点击APP上页面最上方的Cloud_ip。找到手机当前网络的IP,电脑就可以通过IP来连接手机进行远程的管理和测试了 (注意,这里要求手机和电脑要连接同一个网络下,比如可以同时连接家里的无线路由器或手机发热点给电脑用)

  电脑端安装 Vscode的用于连接手机端的AIDLUX进行代码修改和调试,方便好用。下载VScode软件 点击官网,选择Download按钮进行下载,

  经过前面的模型优化后,最终的推理模型就可以部署到手机上进行测试了,这个手机终端可以理解为实际项目落地的边缘计算网关,所有与模型推理都在这台手机上完成,检测的数据将上传到服务器或触发条件进行消息的推送提醒。

  在PC端测试完之后,要部署到边缘端Aidlux上进⾏使⽤,需要进行模型的转换,在前⾯有介绍过,Aidlux主要针对应用在推理阶段,在底层进⾏了加速优化,在Aidlux中主要运⾏的是tflite的⽅式,模型转换的⽂件是export.py

  经过模型转换后会生成一个tflite的文件,将文件和其他代码放到aidlux上就可以进行检测了,以下是使用手机运行的效果视频。

  为了能及时通知到相关人员关注垃圾桶溢出,影响环境卫生,项目增加了喵提醒功能,当检测到垃圾后,系统会触发推送一条通知提醒到关联的微信。

  1、由于本次案例的数据集是从0开始,前期花了比较多的时间来收集,整理和标注,后来找到百度的BML平台后,通过半自动的方式,效率高了好多,另外,前期训练用的数据集都是网上找来的,到实际环境检测后,识别检测的精度会较差,建议增加对实际应用场景的数据来训练,检测效果会更好。另外在进行数据标注时,一定要最少化原则,垃圾较多时,可以细分多做几个标注,千万不要一个框会标上,训练出来的模型效果会不好。

  2、Aidlux是基于ARM架构的跨生态(Android/鸿蒙+Linux)一站式AIOT应用开发平台安卓的应用商店都可以下载到,装到手机上就可以模拟出开发环境,用来搭建AI测试环境还是很快的。

  3、通过Aidlux部署边缘网关设备,利用园区或道路已有的视频监控摄像头进行垃圾桶溢出的检测,具有成本低,见效快,有较好的应用价值。


联系方式

杏彩体育_杏彩体育登录注册

电话:15534828823

QQ:472920401

电邮:zhang@www.sddianlan.com

地址:山西省运城市万荣县恒磁路以西


相关产品/ RELATED PRODUCTS