RoboMaster 目标检测训练(官方数据集)附完整Demo代码

RM雷达站数据集汇总&雷达站开源 官方数据集存在的问题官方于2019年开源了DJI ROCO目标检测数据集。该数据集具有以下缺陷:1、数据集均为赛场高清摄像机拍摄,与机器人视角的工业相机拍摄差异较大;2、模糊图片很多,带来了大量噪声,致使训练中模型无法较好收敛;3、图片拍摄视角均为俯拍和第三视角;4、小目标很多。另外在实验室实际测试中,光线和场景变化都很大。仅使用官方提供的数据训练的模型鲁棒性很差,无法适应实际环境,且较多的小目标极易造成误检,模型检测精度较低。 阅读详情
AI摘要

本指南介绍如何使用PyTorch和zisan包在个人电脑上轻松训练YoloV3模型,即使设备配置较低也能高效运行。文章详细展示了从数据准备到模型训练的全过程,包括代码示例和参数调整建议。

参考: Yolov3 训练自己的数据集 Pytorch 最简单 最少代码 最易调参

名言:大部分人都是死在了调参和配置的路上。。。。。然后归咎于设备不行。好了,现在你不需要再担心这些问题了,因为下面这个教程一般来说都不会怎么报错。
首先声明,以下训练是在我的笔记本上完成的,我的是那种很菜鸡的轻薄本,市面上任何一款游戏本都可以吊打它,显卡型号:MX150 2048MB。读者完全可以迁移到更高级设备上进行训练,请留意本文关于迁移到其他设备的说明。

下载数据集

Robomaster2019 数据集上官网就有的下载,文件名称:DJCOCO.zip
数据集官网下载地址:https://terra-1-g.djicdn.com/b2a076471c6c4b72b574a977334d3e05/resources/DJI%20ROCO.zip
数据集百度云下载地址:链接:https://pan.baidu.com/s/1Ezh1ip8ZOLJeVzhBD9JuOQ 提取码:ytls

安装第三方快速训练包:芷山

使用这个zisan包之前确保你已经配置好PyTorch+CUDA+CUDNN环境,如果你还没配置环境,移步到这里:Pytorch+CUDA+CUDNN配置教程
然后安装如下包:

pip install numpy pillow matplotlib opencv-python

然后安装zisan:

pip install zisan

一般来说不会有任何报错,如果报错那就是之前的环境配置出现问题,请仔细检查。因为我们使用的深度学习框架是Pytorch,不像tensorflow会有那么多api接口版本迭代问题,pytorch非常简洁优美。
这里提供 ‘zisan芷山’ 的官网:http://jintupersonal.com/zisan/
相关文档资料:http://jintupersonal.com/zisan/doc/1.html
这个第三方包是开源的,可以到Github自取(求点一个star):https://github.com/JintuZheng/zisan
目前迭代版本1.0.11,更新频率比较快,我也来不及写文档,有的接口用法请读者自行浏览源码理解使用。

训练示例

(1)数据集和本次训练目标

dataset
数据集非常大,一共9.8GB,作为本次演示我不会训练完所有数据集,设备也不允许嘛,作为演示,我先实现识别annotations标签里面的car识别,就是把车子抠出来。
如下图,只把黄色car标签训练识别出来。
在这里插入图片描述
另外说一句,zisan里面底层使用的是Yolov3的Pytorch版本复现代码,是优化过的版本。

(2)打造一个训练目录

首先,我们下载预训练权重文件和zisan的目标检测配置文件,下载地址:
百度云:https://pan.baidu.com/s/1qj-Lpe4OKV0L-w9uKO8EFw
提取码:x9wl
它有图像语义分割权重和目标检测权重,我们只需要完成训练数据集的目标检测任务,只需要Yolov3的权重,找到 runBox.zip (475 MB)下载:
runBox.zip
把runBox解压到一个没有中文路径的地方,里面的文件如下:
runbox inside
此时,cfgs和weights文件夹是有权重和网络配置文件的,我们不要也不需要取改动它。
然后,我们跑回到我们之前下载的那个Robomaster2019数据集里面,任意选一个比赛的文件夹,在image文件选246张图片
注意,我这里为了演示才选那么少,不过迭代30次已经有一定效果了,很明显的,设备好一点的可以选择1000-2000张左右一次训练,下次训练我们使用冷却的权重再训练其他更多的图片。
我们把image的图片选246张复制到刚才runBox/data/images/文件夹下面,然后把相应的246个xml标签文件复制到runBox/data/Annotations/文件夹下面,睁大你的卡斯兰大眼睛!!别复制错了,只是两个文件夹,其余的文件夹不要管也千万不要删除。
在这里插入图片描述
至此,我们的训练目录打造完成,接下来我们只需要很少量的代码就能完成训练。

(3)编写train.py

我们在runBox文件夹新建一个py文件
newtrain
train.py:

from zisan.ObjDetect.Interface import ObjDetect_train, ObjDetect_Preprocess
import os

if __name__ == "__main__":  

    pr=ObjDetect_Preprocess(classnames=['car'],currentpath='D:/xxx/runBox') # cuurentpath is needed, it is your runBox path, car是我们需要训练的类别名称
    #pr.clear_data() #clear all data  
    trainModel=ObjDetect_train(currentpath='D:/xxx/runBox')
    trainModel.Run(cfg='yolov3-tiny.cfg',epochs=35,img_size=(1920/3,1080/3)) # 开始训练,训练好的权重文件保存在 weights文件夹里面

解释:
(1)classnames=[‘class1’,‘class2’],这里是描述你annotation里面xml文件标签的类别名字,我这里只训练一类,就识别所有的车,所以classnames=['car'],必须和xml文件里面的类名字保持一致。

(2)Yolov3版本选择:
zisan一共提供三种版本:Yolov3-tiny,Yolov3-spp,Yolov3,其中要求最低配置的就是tiny了。我也说过了我这个破机器就只能跑tiny了。如果你有更好的机器,你可以把cfg参数cfg='yolov3-tiny.cfg'换成:

  • ‘yolov3-spp.cfg’
  • ‘yolov3.cfg’

(小心引号别漏了)

(4)其他参数说明:
如果你不熟悉调参,请不要随意调参数。使用默认参数即可(我已经调过了)

epochs: The times you loop training.
batch_size: The sum of once you
put into training. cfg: You can choose ‘yolov3-tiny.cfg’,
‘yolov3-spp.cfg’ and ‘yolov3.cfg’, you must sure the weights folder
has the corresponding weight.
img_size: You can set as (height,width),
also like above 416 means (416,416)
resume: Due to the limitation of device resources, you may not be able to train too much data at a time. At this time, you can use resume to continue training for the weight of last cooling
num_workers: Multithreading, you must use main to use this nosave: if save each epoch weight

(5)关于图片放缩参数问题:

img_size=(1920/3,1080/3)
YOLOV4 windows10系统训练自己的图片数据集(robomaster官方数据集) 首先,当然是要配置好环境啦,这里相信屏幕前的你已经配置好了,如果没有配置好也不用着急。可以看一下本博主另一篇保姆教程,请移步:https://blog.youkuaiyun.com/weixin_39954922/article/details/105785460,,,,啊哈哈哈哈 一、配置好之后,最重要的就是数据集,因为博主报名参加了RM比赛,所以就用大疆给的官方数据集试验了一下,首先准备两个数据集,一个... 阅读详情

相关推荐

RoboMaster 目标检测实战:从官方数据集到Demo部署全流程解析

本文详细解析了RoboMaster目标检测从官方数据集准备到Demo部署的全流程实战。通过使用简化工具包,即使是新手也能快速上手,完成模型训练与测试,为机器人视觉识别提供核心技术支持。

terraform7cloud的博客 444

RoboMaster装甲板识别:实时视觉算法设计与部署

装甲板识别是机器人视觉中的典型实时感知任务,其核心在于在强干扰、低延迟、嵌入式资源受限条件下实现鲁棒检测。原理上依赖HSV色彩分割、形态学滤波、轮廓几何约束与LED时序分析等轻量手工特征,而非端到端深度学习;技术价值体现在20ms内完成ID识别+角度解算+置信度输出,支撑100Hz云台闭环控制;广泛应用于机甲大师赛、智能对抗机器人、工业高动态目标跟踪等场景。本文聚焦camera_calib标定精度与main.cpp裸机级优化两大关键实践,揭示真实物理系统中视觉算法的工程落地边界。

weixin_30219613的博客 308

Robomaster装甲板识别:HSV+几何约束的实时视觉方案

装甲板识别是机器人视觉中的典型工业级目标检测任务,其核心在于利用颜色空间特性(如HSV色域分离)、刚性几何约束(固定长宽比与直角结构)和时序动态特征(LED闪烁)构建轻量鲁棒 pipeline。相比通用深度学习模型,基于物理先验的传统视觉方法在强光干扰、高速抖动、小目标等实战场景下具备更低延迟与更高稳定性,尤其适合嵌入式平台部署。该技术广泛应用于机甲大师赛、智能车竞赛及边缘AI巡检系统,是理解‘算法适配硬件约束’工程思维的关键案例。

weixin_29192141的博客 295

RoboMaster装甲板识别算法实战解析

装甲板识别是机器人视觉中的典型工业级目标定位任务,其核心在于强干扰环境下对微小、高反光、几何约束明确的目标进行实时鲁棒检测。原理上依赖红外LED构型的物理先验与传统图像处理流水线,结合状态机调度、几何验证(EPnP)和轨迹滤波,实现低延迟(<80ms)、高可信度的空间坐标输出。技术价值体现在嵌入式平台上的确定性推理、抗光照突变能力及失效降级机制,广泛应用于机甲大师赛、智能云台系统与自主移动机器人目标跟踪场景。本文聚焦RoboMaster赛事中真实落地的C++/OpenCV方案,深入剖析装甲板识别的工程实现逻

weixin_32288959的博客 291

Robomaster比赛数据集

资源下载链接为: https://pan.quark.cn/s/d0de8661b2ce Robomaster比赛数据集(最新、最全版本!打开链接下载即可用!)

数据集增强(对标自己的robomaster数据集)

数据集增强(对标自己的robomaster数据集)

RoboMaster目标检测数据集.zip

RoboMaster目标检测数据集 一、数据集基础信息 • 数据集名称:RoboMaster目标检测数据集 • 图片数量:训练集:12,639张图片;验证集:2,091张图片;测试集:1,342张图片;总计:16,072张图片 • 分类类别:共10个类别,包括10DeadCar(无效或损坏的汽车目标)、6OvalArmorCyan(青色椭圆形装甲板)、7Redbase(红色基地)、8Bluebase(蓝色基地)、9_DeadKit(损坏的工具包目标)、OvalArmorBlue(蓝色椭圆形装甲板)、OvalArmorRed(红色椭圆形装甲板)、RoboMaster(RoboMaster机器人)、RoundArmorBlue(蓝色圆形装甲板)、RoundArmorRed(红色圆形装甲板) • 标注格式:YOLO格式,包含边界框坐标和类别标签,适用于目标检测任务 • 数据格式:JPEG图像文件,来源于RoboMaster竞赛场景 二、数据集适用场景 1. RoboMaster AI视觉系统开发:用于构建自动识别装甲板、基地和机器人等目标的AI模型,支持机器人在竞赛中的自主决策和实时目标追踪。 1. 机器人竞赛算法训练:帮助优化机器人的目标检测和导航算法,提升在RoboMaster等竞赛中的性能和鲁棒性。 1. 计算机视觉教育与研究:适用于高校或培训机构,作为目标检测任务的实践数据集,支持机器人视觉和AI算法的教学与研究。 1. 游戏与模拟环境集成:用于开发游戏AI或模拟器,训练智能代理在虚拟竞赛场景中的目标识别能力。 三、数据集优势 1. 精准标注与真实性:每张图像均经过专业标注,边界框定位精确,类别标签清晰;数据来源于真实RoboMaster竞赛场景,确保高度真实性和实用性。 1. 类别多样性与覆盖全面:包含10个关键类别,涵盖装甲板、基地、机器人及损坏目标等,增强模型在复杂

Robomaster比赛数据集.zip

比赛项目源码

RoboMaster智能数据集标注工具.zip

RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具 RoboMaster智能数据集标注工具

YOLO目标检测+鸟类数据集已标注可以直接使用(数据集+对应已标注文件).rar

1、资源描述:YOLO目标检测+鸟类数据集已标注可以直接使用(数据集+对应已标注文件).rar 2、资源内容:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 3、适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 4、更多数据集合和仿真源码下载列表(自行寻找自己需要的):https://blog.youkuaiyun.com/m0_62143653?type=download 5、作者介绍:某大厂资深算法工程师,从事Matlab、Python、C/C++、Java、YOLO算法仿真工作10年;擅长计算机视觉、目标检测模型、智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、智能控制、路径规划、无人机等多种领域的算法仿真实验,欢迎交流学习。

飞鸟检测数据集+3300数据

1、飞鸟检测数据集,从COCO2017数据集中提取得到,并分别转成了txt和xml两种格式的标签,可用于YOLO等算法飞鸟检测; 2、目标类别名:bird; 3、数量:3362 4、https://blog.youkuaiyun.com/weixin_51154380/article/details/124480876

DNF单机版搭建全攻略:从零开始到局域网联机(含常见问题解决)

本文提供详细的DNF单机版搭建指南,从环境配置到局域网联机设置,涵盖服务端安装、数据库配置及常见问题解决方案。适合新手和有经验的玩家,帮助快速搭建专属游戏服务器,重温经典游戏体验。

weixin_30832143的博客 844

分析方法—temporal receptive field(TRF)

总结来说,时间感受野其实就是一个 filter!课程中的描述—.(使用时间感受野与刺激进行卷积来描述)时间感受野一般是听觉计算中使用的,在视觉中,有另一种分析叫做空间感受野(spatial receptive fields)。回归权重(Regression weights)是指在回归分析中用于估计自变量与因变量之间关系的权重或系数。回归分析是一种统计方法,用于建立自变量与因变量之间的关联模型,并通过拟合数据来估计模型中的参数。在简单线性回归中,只有一个自变量与一个因变量之间的关系被建模。

m0_51474171的博客 1601

数字图像处理第九章笔记

目录一、腐蚀与膨胀1、腐蚀2、膨胀3、对偶性4、开操作与闭操作二、一些基本的形态学算法1、边界提取2、孔洞填充3、连通分量提取4、凸壳5、细化6、粗化7、骨架8、形态学重建三、灰度级形态学1、腐蚀和膨胀2、开运算和闭运算3、灰度级形态学算法 一、腐蚀与膨胀 1、腐蚀 腐蚀可以去除图像的某些部分。 2、膨胀 膨胀可以连接裂缝。 3、对偶性 膨胀和腐蚀彼此关于集合求补运算和反射运算是对偶的 4、开操作与闭操作 开操作:B对A先腐蚀,再进行膨胀 可以平滑物体轮廓,断开较窄的狭颈并消除较细的突出物。 闭操作

方悔读书迟 1373

固定资产报废的损失鉴定怎么做?

在社会生产的日常中,企业经常会遇到固定资产报废的损失鉴定,那么怎么去做鉴定?哪些情况下能申请固定资产报废损失鉴定呢? 今天,华碧鉴定就和大家说一说固定资产报废损失鉴定那些事儿。 符合下列条件之一的固定资产可申请报废: 1、使用年限过长,功能丧失,完全失去使用价值,或不能使用并无修复价值的; 2、产品技术落后,质量差,耗能高,效率低,已属淘汰且不适于继续使用,或技术指标已达不到使用要求的; 3、严重损坏,无法修复的或虽能修复,但累计修理费已接近或超过市场价值的; 4、主要附件损坏,无.

weixin_50362670的博客 2114

如何使用obspy下载地震波形数据

如果你是地震研究学者,或者需要进行地震方面的研究,那么地震数据下载是一个必不可少的流程,本文将告诉你如何使用obspy下载想要的地震数据

monsterk1的博客 2074

损失函数大汇总(五十三)(Boundary Loss附公式推导与代码)

摘要 Boundary Loss是一种针对图像分割任务的新型损失函数,特别适用于高度类别不平衡的细粒度分割场景。与传统的区域型损失(如Dice、交叉熵)不同,它通过计算预测边界与真实边界之间的距离来优化模型,更关注边界精度而非区域重叠。核心思想是利用距离图(distance map)将边界约束转化为区域积分形式,实现端到端训练。具体实现中,损失函数为预测概率与距离图的点积,梯度仅取决于距离图,具有明确的空间引导性。相比区域型损失,Boundary Loss能更好处理小目标、细长结构等边界敏感任务,可与Dic

悦学共鸣,温柔以待,汇聚光芒,共同成长 237

6.4 实战项目:基于Agent内核构建Code Review智能体

本文介绍了一个基于Agent内核构建的智能Code Review系统实战项目。系统采用多Agent协作架构,包含代码质量分析、安全漏洞识别、性能优化建议等核心功能模块。文章详细展示了系统架构设计,采用协调器Agent管理多个专业Agent协同工作,并提供了基础Agent框架和协调器Agent的TypeScript实现代码。项目结合了AI Agent核心原理和多Agent协作机制,实现了自动化的代码审查流程,能够生成详细的审查报告,帮助开发者提升代码质量和安全性。

yonggeit的博客 3104

微信小程序 - 实现嵌套H5页面唤起微信支付的实现方案+完整流程源码,微信小程序webview(H5页面)调用微信小程序支付,嵌套h5页面怎么实现小程序支付(Vue2/3移动端H5网页、公众号网页等)

h5嵌入微信小程序微信支付,H5网页嵌入到微信小程序内如何支付,微信小程序webview组件交互,内联h5页面并网页实现微信支付,微信H5页面实现微信小程序支付,微信小程序嵌套webview实现小程序微信支付,小程序中内嵌H5网页支付怎么办,用网页的支付还是小程序的支付?支付没反应,支付报错怎么办,微信小程序内嵌h5,h5调用小程序支付功能解决方案,H5网页cors跨域,真机测试无法唤起支付,无法唤起支付,uniapp微信小程序,h5小程序调用微信支付,微信小程序内嵌H5页面,如何实现微信支付功能,微信小程

🏆 前端领域优质创作者 1万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

上一篇: Pytorch 疑案之:优化器和损失函数是如何关联起来的?
下一篇: 股票成交量预测(Pytorch基础练习)
JintuZheng
博客等级 码龄11年 1483粉丝 109原创
评论 58
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值