(国赛) 第七届工创赛之智能垃圾分类

前言

省赛博客(k210)

比赛成绩:全国一等奖

有需要代码资料请+扣扣:1287073476(备注来意)

继上次省赛,更换如下配置:

1. 开发板:    jeston nano

2. 摄像头:  USB广角摄像头  

3. 算法:      yolov3换成yolov4-tiny   cpu训练模型换成了gpu训练模型

4. 硬件:      串口屏换成了与英伟达配套的屏幕


核心技术:jeston nano

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5bS95bS954ix5pWy5Luj56CB,size_20,color_FFFFFF,t_70,g_se,x_16

基本环境配置以及使用方法可跳转    

这里


垃圾模型训练

 环境搭载完毕后,针对比赛而言,就需要开始制作自己的垃圾数据集开始训练了:

使用yolov4-tiny进行模型训练

安装VS2019 及c++,python(有pycharm就不用装了,没有就装),下载darknet源代码

安装好OpenCV4.0以上的版本后配置环境变量:

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5bS95bS954ix5pWy5Luj56CB,size_15,color_FFFFFF,t_70,g_se,x_16

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5bS95bS954ix5pWy5Luj56CB,size_20,color_FFFFFF,t_70,g_se,x_16

安装完成后将

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5bS95bS954ix5pWy5Luj56CB,size_19,color_FFFFFF,t_70,g_se,x_16这两个文件移动到darknet-master\build\darknet\x64中用记事本打开darknet.vcxproj查找替换中的CUDA版本为对应的版本(这里为11.1)

,打开darknet-master\build\darknet\darknet.sln 点开属性(alt+enter)后第一步:

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5bS95bS954ix5pWy5Luj56CB,size_20,color_FFFFFF,t_70,g_se,x_16  

第二步:添加包含库、库目录

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5bS95bS954ix5pWy5Luj56CB,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5bS95bS954ix5pWy5Luj56CB,size_20,color_FFFFFF,t_70,g_se,x_16

第三步:添加依赖

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5bS95bS954ix5pWy5Luj56CB,size_20,color_FFFFFF,t_70,g_se,x_16

第四步: CUDA C/C++选项中,修改device  compute值:

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5bS95bS954ix5pWy5Luj56CB,size_20,color_FFFFFF,t_70,g_se,x_16

确定保存后运行生成,将生成后的yolo_cpp_dll.lib拷贝至darknet-master\build\darknet\x64目录下即可。

参考:Windows10下编译opencv以及yolov4、yolov4_cpp_dll.dll_kai_io的博客-CSDN博客

Yolov4-tiny垃圾训练步骤

将图片和xml标签文件准备好,参考:

使用yolov3训练自己的数据--详细过程及问题总结_weixin_41813620的博客-CSDN博客_yolov3 训练

为目标检测制作PASCAL VOC2007格式的数据集_hitzijiyingcai的博客-CSDN博客_voc2007数据集格式

我的步骤:图片准备用python摄像头拍照程序,拍完照片后重命名,用labelImg软件标注类别:watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5bS95bS954ix5pWy5Luj56CB,size_18,color_FFFFFF,t_70,g_se,x_16

(ps:kitchen 笔误,以下kittchen均为笔误,抱歉各位看官)

完成后将所有图片放入D:\Myproject\darknetmaster\build\darknet\x64\object\VOCdevkit\VOC2021\JPEGImages中

所有xml标签文件放入Annotations中。watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5bS95bS954ix5pWy5Luj56CB,size_19,color_FFFFFF,t_70,g_se,x_16

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5bS95bS954ix5pWy5Luj56CB,size_17,color_FFFFFF,t_70,g_se,x_16 (涉及这些文件等)

Python txt.py 生成txt文件

修改voc_label.py文件中的class类名称与要识别的垃圾名称对应

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5bS95bS954ix5pWy5Luj56CB,size_20,color_FFFFFF,t_70,g_se,x_16

Python voc_label.py 生成labels训练文件(数量与xml标签文件一致)

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5bS95bS954ix5pWy5Luj56CB,size_19,color_FFFFFF,t_70,g_se,x_16

修改yolov4-tiny-train.cfg和yolov4-tiny-test.cfg文件中的class变量和 filter=(class+5)*3变量(有两处)

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5bS95bS954ix5pWy5Luj56CB,size_13,color_FFFFFF,t_70,g_se,x_16

 修改coco.data文件中class变量与识别种类数量一致

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5bS95bS954ix5pWy5Luj56CB,size_17,color_FFFFFF,t_70,g_se,x_16

修改coco.name文件中的识别名称与voc-label.py中的名称顺序一致(注意最后不要加回车)

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5bS95bS954ix5pWy5Luj56CB,size_11,color_FFFFFF,t_70,g_se,x_16

WIN+R  打开命令行

D:      转到D盘

cd : D:\Myproject\darknet-master\build\darknet\x64\object    转到工程路径

cd .. 转到上一级目录

Darknet detector train object/coco.data object/yolov4-tiny-train.cfg yolov4-tiny.conv.29开始训练

 

生成权重文件后,将权重文件复制粘贴到jeston nono中,通过程序进行垃圾识别分类。


英伟达垃圾识别程序

部分代码如下:

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5bS95bS954ix5pWy5Luj56CB,size_20,color_FFFFFF,t_70,g_se,x_16


比赛收获总结

       国赛的经历相比省赛给了我更多的收获,通过学习图像识别的相关知识,从yolov3到yolov4等算法的相关知识,到最终采用的yolov4-tiny来进行目标检测识别垃圾。有了省赛的经验,在准备国赛的时候不急不躁,一直慢慢来,本着求稳不求快的原则在备赛期一直顺顺利利,和队友默契配合,有效沟通,不断解决出现的问题,暑期留校的一个月内,深入的学习了英伟达的使用,准备了两套备用方案,以备不时之需。最终成功的完成了国赛的挑战。三天的比赛期间,结交了很多志同道合的朋友,见识到了大家的比赛热情以及强劲的实力,也意识到了自己的不足,比赛虽然结束,却是一个新的开始,一年的经历,感谢队友一路陪伴,家人女友的鼓励,让我重新燃起斗志,不断鼓励我永不放弃。这次的比赛也让我深深意识到,每个人都可以成功,前提是要相信自己,把你的工作变成你的热爱,投入你的热情。只要相信你可以成功,那么你就已经成功一大半了。谨以此博客致敬努力的自己,致敬一起努力的大家。博客如有不准确还请指教,感谢大家阅读,加油,朋友!欢迎大家评论区交流学习。

 

 

### 中的垃圾分类垃圾桶视觉分类模型 #### 模型开发教程与实现方案 在中,针对垃圾分类垃圾桶的视觉分类模型可以借鉴基于PaddleX框架的成功案例。此类项目通常涉及以下几个核心环节: 1. **环境搭建** 安装并配置必要的软件包,如PaddlePaddle及其扩展库PaddleX,这是构建高效、稳定的深度学习应用的基础[^1]。 2. **数据收集与预处理** 收集足够的图片样本作为训练素材,这些素材应覆盖各种类型的垃圾物品(可回收物、其他垃圾、厨余垃圾、有害垃圾)。接着对原始图像执行标准化操作,比如调整尺寸、裁剪以及色彩校正等,确保输入的一致性和质量。 3. **模型选择与定制化** 使用经过优化的经典卷积神经网络结构——ResNet50_vd_ssld来初始化模型权重,并根据具体需求微调超参数设置。这种做法不仅能够加速收敛速度还能提高泛化能力。 4. **训练过程监控** 利用可视化具VisualDL跟踪损失函数的变化趋势以及其他重要性能指标的表现情况,及时发现潜在问题并作出相应调整。 5. **部署与测试** 将最终版本的模型集成到实际的产品环境中去,例如嵌入式的硬件设备或是云端服务平台;同时开展一系列严格的单元测试和集成测试以验证其稳定性和准确性。 #### 案例分享 一个具体的实例是在微信小程序“慧眼识垃圾”里实现了类似的视觉识别功能。该项目依托于国内自主研发的人智能平台PaddlePaddle,结合多种先进技术手段打造出了一款易于使用的移动应用程序。它允许用户上传照片或录制视频片段来进行即时分析判断所属类别,并且具备高达90%以上的预测精确率,极大地促进了公众对于环保事业的认知和支持力度[^3]。
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数码战士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值