草庐IT

17届全国大学生智能汽车竞赛 中国石油大学(华东)智能视觉组 --模型训练篇

硕硕石页石页 2024-04-08 原文

17届全国大学生智能汽车竞赛 中国石油大学(华东)智能视觉组 --模型训练篇

如果你习惯使用jupyter notebook编写代码,这里也提供了jupyter版本的代码。在目录下的example.ipynb,有所有内容的完整代码。
这部分的代码已上传到我的GitHub仓库

模型的精度在比赛中非常关键,毕竟分类错误的罚时是非常狠的。
在这里分享下我们的经验:

摄像头放置

摄像头的高度跟你的镜头有关,也跟你模型输入的尺寸有关。一个简单的标准是,让实际输入的图像的尺寸大于等于模型输入的尺寸。
在art上,我们可以打印find_rect得到的矩形的roi值,根据这个矩形的长宽来确定你的摄像头高度是否满足要求。

模型选择

不建议自行搭建模型,因为自己搭建的模型通常都是答辩,又大又臭,或者是太过简单,深度不够。
我们很难超过那些优秀论文所提出的模型,比如mobilenet系列,它是由Google提出的;shufflenet系列,由旷视提出。这些大公司的模型的优越性经过了大量的验证,我们完全可以借鉴。
所以,更应该做的是借鉴别人的模型,用别人的模型进行迁移学习,把更多的精力放在数据集的制作上面。

数据集制作

一个好的数据集对模型的精度提升特别大。我们需要使用适合的增强手段。
增强不是增得越多越好,比如对一张图片进行360度的增强得到360张图片,这样你虽然能得到大量的数据,但这样的数据过于臃肿,意义不大。
我们希望增强后的图片可以接近真实情况下得到的图片(这样可以省下我们拍摄数据集的时间),但比真实图片的情况更恶劣些,但又不至于恶劣使得我们的网络学习不到特征。
一个好的增强效果如下图:

当然,如果有条件,还是最好手拍图片,然后配合增强可以达到非常好的效果。

模型评价

我们通常通过验证集或者说是测试集上的准确率来判断模型的好坏。但有时候你会发现你在验证集的正确率都接近百分百了,实际效果还是很不好。这样的原因是你的验证集过于简单了。所以我们需要一个符合要求的验证集。
我们可以通过将车实际运行时art识别的图片保存到sd卡上作为验证集(这些图片也可以作为数据增强的根据和目标),或者用art进行拍摄。总而言之,需要与真实情况相符,这样验证集的准确率才会具有说服力。
另一方面,我们可以通过混淆矩阵来判断每一小类的分类情况。混淆矩阵在eiq中是自带的,这里的例子也用plt进行了简单的可视化。

好模型的标准

我们需要将模型训练到多高的精度才可以去摸鱼?
假设我们有了一个符合要求的验证集,我们的这上面的精度可以达到0.95,那么这是否够了呢?
我们可以大致计算下,17届线下决赛的图片数量为18张,那么一次发车全部识别正确的概率是多少呢?不到百分之40( 0.9 5 18 0.95^{18} 0.9518)。你的车可能在行进途中还会出其它问题,所以一次完美的发车(不罚时)出现的概率似乎不容乐观。事实上也确实如此,在线下决赛时许多队伍都没能完美发车,包括我们也是状况频出,当然这也有场地与灯光的原因。
所以,模型的精度要尽可能高,要到0.97以上可能才是较为稳妥的。

有关17届全国大学生智能汽车竞赛 中国石油大学(华东)智能视觉组 --模型训练篇的更多相关文章

  1. ruby - 无法激活 susy-2.1.1,因为 sass-3.2.17 与 sass 冲突 (~> 3.3.0) - 2

    我已经安装了最新版本的compass、sass和susy。但我仍然收到此错误:Unabletoactivatesusy-2.1.1,becausesass-3.2.17conflictswithsass(~>3.3.0)有人知道这个Ruby是如何工作的吗?这是我安装的gem的列表:***LOCALGEMS***CFPropertyList(2.2.0)chunky_png(1.3.0)compass(0.12.4)compass-core(1.0.0.alpha.19)compass-import-once(1.0.4)compass-rails(1.1.3)fssm(0.2.10)l

  2. ruby - 在 Ruby 中训练神经网络 - 2

    在神经网络方面,我完全是个初学者。我整天都在与ruby​​-fann和ai4r搏斗,不幸的是我没有任何东西可以展示,所以我想我会来到StackOverflow并询问这里的知识渊博的人。我有一组样本——每天都有一个数据点,但它们不符合我能够找出的任何明确模式(我尝试了几次回归)。不过,我认为看看是否有任何方法可以仅从日期预测future的数据会很好,而且我认为神经网络将是生成希望表达这种关系的函数的好方法.日期是DateTime对象,数据点是十进制数,例如7.68。我一直在将DateTime对象转换为float,然后除以10,000,000,000得到一个介于0和1之间的数字,我一直在将

  3. ruby - 在 Ruby 中为 XOR 训练神经网络 - 2

    我正在尝试训练一个前馈网络来使用Ruby库AI4R执行异或运算。然而,当我在训练后评估XOR时。我没有得到正确的输出。有没有人以前使用过这个库并得到它来学习异或运算。我使用了两个输入神经元,一个隐藏层中的三个神经元,一个输出层,正如我看到的预计算XOR前馈神经网络就像这样。require"rubygems"require"ai4r"#Createthenetworkwith:#2inputs#1hiddenlayerwith3neurons#1outputsnet=Ai4r::NeuralNetwork::Backpropagation.new([2,3,1])example=[[0,

  4. 关于yolov5训练时参数workers和batch-size的理解 - 2

    关于yolov5训练时参数workers和batch-size的理解yolov5训练命令workers和batch-size参数的理解两个参数的调优总结yolov5训练命令python.\train.py--datamy.yaml--workers8--batch-size32--epochs100yolov5的训练很简单,下载好仓库,装好依赖后,只需自定义一下data目录中的yaml文件就可以了。这里我使用自定义的my.yaml文件,里面就是定义数据集位置和训练种类数和名字。workers和batch-size参数的理解一般训练主要需要调整的参数是这两个:workers指数据装载时cpu所使

  5. NEUQ-acm 预备队训练Week4—BFS/DFS - 2

    1.深度优先搜索(DFS)深度优先遍历主要思路是从图中一个未访问的顶点V开始,沿着一条路一直走到底,然后从这条路尽头的节点回退到上一个节点,再从另一条路开始走到底…,不断递归重复此过程,直到所有的顶点都遍历完成。例题P1605迷宫题目描述给定一个N×MN\timesMN×M方格的迷宫,迷宫里有TTT处障碍,障碍处不可通过。在迷宫中移动有上下左右四种方式,每次只能移动一个方格。数据保证起点上没有障碍。给定起点坐标和终点坐标,每个方格最多经过一次,问有多少种从起点坐标到终点坐标的方案。输入格式第一行为三个正整数N,M,TN,M,TN,M,T,分别表示迷宫的长宽和障碍总数。第二行为四个正整数SX,S

  6. Nature Neuroscience:高家红团队首次发布中国人脑连接组计划研究成果及其大数据资源 - 2

    人类生活在充满多样性的世界里。长久以来的研究发现,人类的脑与行为受到基因、环境和文化及其相互作用的塑造,然而这种影响发生的机制始终缺乏系统性探索与研究。近年来,前沿神经影像技术方法飞速进步,推动着多模态脑成像大数据集的产生和融合性探索,并让学界得以深入探究人脑宏观结构与功能连接组架构,为包括上述主题在内的许多有趣而重要的科学问题带来了新的启发和思路。2022年12月20日,北京大学物理学院、IDG麦戈文脑科学研究所高家红团队在《NatureNeuroscience》在线发表了题为“IncreasingdiversityinconnectomicswiththeChineseHumanConne

  7. ruby - Fedora 17 上的 Heroku Toolbelt - 2

    我正在尝试执行教程的heroku设置部分http://ruby.railstutorial.org/.但是在https://toolbelt.heroku.com/,我注意到Fedora没有.rpm,所以我尝试分别安装Foreman和HerokuCLI。Foreman和Git安装正常,但我在使用HerokuCLI时遇到问题。当我尝试做的时候:$yuminstallrubygem-heroku然后简单地做$heroku我得到错误:/usr/share/rubygems/rubygems/dependency.rb:247:in`to_specs':Couldnotfindheroku(>

  8. 中国民用飞机制造行业市场现状规模及发展战略规划报告2021-2027年 - 2

    中国民用飞机制造行业市场现状规模及发展战略规划报告2021-2027年详情内容请咨询鸿晟信合研究院!【全新修订】:2022年2月【撰写单位】:鸿晟信合研究研究【报告目录】第1章:中国民用飞机制造行业发展综述1.1民用飞机制造行业概述1.1.1民用飞机的概念1.1.2飞机制造的概念1.1.3民用飞机的分类1.2民机制造行业周期特性1.2.1影响行业周期的因素(1)GDP增速分析(2)运量增量分析(3)飞机更替分析(4)航空公司获利水平1.2.2行业现阶段周期分析1.2.3行业现阶段景气分析1.3民机制造信息化分析1.3.1信息化技术应用状况分析(1)MDO技术应用分析(2)供应链协同研发分析(3

  9. 正式开赛|2023年“桂林银行杯”数据建模大赛暨全国大学生数学建模竞赛广西赛区热身赛 - 2

    为学习贯彻党的二十大工作报告中关于加快发展数字经济、促进数字经济和实体经济深度融合的重要指示,不断推进数字化转型与金融科技创新,桂林银行联合全国大学生数学建模竞赛广西赛区组委会、广西应用数学中心(广西大学)共同主办2023年“桂林银行杯”数据建模大赛暨全国大学生数学建模竞赛广西赛区热身赛。本次大赛旨在向学科专业竞赛靠拢,鼓励大学生向创新型、应用型、复合型人才发展,更好地提升大学生的创新意识和金融科技能力,为数据分析与建模人才提供更广阔的发挥平台,为建设数字中国、数字广西提供新动能。赛道说明:赛道A:个人消费贷款申贷客户识别。此赛道面向本科及以下学历的高校在校生。赛道B:Z世代的信用卡消费行为分

  10. 山东大学项目实训(二十七)—— 微信小程序开发总结,一年时间真的可以改变一个人很多 - 2

    智慧医院不良事件精细化管理平台——微信小程序总结一、实现的功能二、项目收获三、总结(经历分享)一、实现的功能到目前为止,微信小程序开发,到此就算是结束了,其中实现了不少功能,如下:1.1角色与权限(后端同学实现的,写这个方便介绍后面的功能)平台可以配置不同的用户角色并授予其不同的操作权限。每个用户在使用平台时都需要指定一个角色。1.2可视范围——根据角色绑定的权限菜单全体职工可以查看自己上报的事件(待审核、已通过、被驳回)。质控人员可以查看所有的事件(待审核、待评价、已通过、已驳回、已评价)。职能人员可以查看自己/自己部门负责的事件(待整改、待评价、已评价)。各科室医务人员可以查看本科室相关的

随机推荐