工程经验记录yolo框下移引发的思考
事件叙述:
缘起:yolo检测框,在项目开始之前由于在一些场景下观察到yolo的框在大车检测的时候,回归的位置不好,一些车辆的尾部会被漏掉,特别是车牌部分,恰好被框在外面的时候,在后续就无法进行车牌检测与识别等操作,因此为了临时解决,将yolo的框进行了1/15的下移操作;
改观:首先车牌的问题在很早的时候就解决掉了,方法是在进行车牌检测+识别时对yolo框进行下移,其他模块不进行该操作(因此这里需要注意,在车牌识别的模块(不仅仅是这个模块,其他类似的操作)在设计接口的时候,一定不要设计成单张图片传入的形式,而是要传入原图+rect的形式,这样在做后续操作的时候就会更灵活),车牌检测与识别的部分在训练的时候也需要进行下移,这样可以保证在工程中可以达到训练时的效果;
后续发酵:后面面临着yolo模型的优化与更新,这时问题就显露出来了,因为前序模块的训练全都是基于老的yolo出来的图片进行训练的,如果yolo进行了更新,那么其得出的框的分布就会有分布上的改变,如果后续模块在训练的时候没有针对这里做专门的扩增等操作的话,在替换模型之后很可能后续模块的效果就会变差;
建议解决方法:
1、在训练的时候考虑各种随机增益与数据扩充(最好是在线增益),摆脱对于前序模块的依赖;
2、使用多个yolo模型输出的结果结合起来对于后续模型进行训练(有滞后性);
3、基础模块的训练一定要先行。
工程经验记录yolo框下移引发的思考的更多相关文章
- MyBatis 学习记录7 一个Bug引发的思考
主题 这次学习MyBatis的主题我想记录一个使用起来可能会遇到,但是没有经验的话很不好解决的BUG,在特定情况下很容易发生. 异常 java.lang.IllegalArgumentExceptio ...
- Rails工程实战记录
项目git:https://github.com/yixiaoyang/ruby 为熟悉Rails的基本特性创建的工程,本博文仅作更新记录. (1)2013.10.1-2013.10.5 Ruby基本 ...
- Spring之LoadTimeWeaver——一个需求引发的思考---转
原文地址:http://www.myexception.cn/software-architecture-design/602651.html Spring之LoadTimeWeaver——一个需求引 ...
- 由SecureCRT引发的思考和学习
由SecureCRT引发的思考和学习 http://mp.weixin.qq.com/s?__biz=MzAxOTAzMDEwMA==&mid=2652500597&idx=1& ...
- 解决一道leetcode算法题的曲折过程及引发的思考
写在前面 本题实际解题过程是 从 40秒 --> 24秒 -->1.5秒 --> 715ms --> 320ms --> 48ms --> 36ms --> ...
- 曲演杂坛--一条DELETE引发的思考
原文:曲演杂坛--一条DELETE引发的思考 场景介绍: 我们有一张表,专门用来生成自增ID供业务使用,表结构如下: CREATE TABLE TB001 ( ID ,) PRIMARY KEY, D ...
- 由一个emoji引发的思考
由一个emoji引发的思考 从毕业以来,基本就一直在做移动端,但是一直就关于移动端的开发,各种适配问题的解决,在日常搬砖中处理了就过了,也没有把东西都沉淀下来,觉得甚是寒颜.现就一个小bug,让我们来 ...
- 一个ScheduledExecutorService启动的Java线程无故挂掉引发的思考
2018年12月12日18:44:53 一个ScheduledExecutorService启动的Java线程无故挂掉引发的思考 案件现场 不久前,在开发改造公司一个端到端监控日志系统的时候,出现了一 ...
- SQLAlchemy并发写入引发的思考
背景 近期公司项目中加了一个积分机制,用户登录签到会获取登录积分,但会出现一种现象就是用户登录时会增加双倍积分,然后生成两个积分记录.此为问题 问题分析 项目采用微服务架构,下图为积分机制流程 ...
随机推荐
- C++入门篇三
引用:& &放在左边就是引用,放在右边就是取地址 int main() { //引用的类型必须相同,一经引用,不可以在被引用 ; int &b = a;//b引用a之后,两个同 ...
- 三十分钟学会 Less
每一门技术的出现都是为了解决现存的问题,同样的,Less 的出现是为了解决 CSS 中过于呆板的写法.Less 官方文档 中对 Less 的使用有详细的介绍,总结一下为:Less = 变量 + 混合 ...
- 使用numpy 将0-1000 中所有偶数转成0 所有奇数转成1
- mybatis 保存对象 参数类型
简单介绍:保存单个对象 ,参数类型的设置,正常的话应该设置成对应的pojo,我想起了以前,不懂事时候的一个做法,其实那时候刚接触到mabatis,做新增的时候,直接就是把需要插入表中的值,放到map里 ...
- 小程序 wx.request
wx.request({ url: 'https://hanwslh5.qcloud.la/weapp/HelloWorld', 对于 GET 方法的数据,会将数据转换成 query string(e ...
- [原创]FPGA JTAG工具设计(二)
经过前期打样 基于FT2232H的JTAG &UART板级已经初步形成 在Viado环境和ISE(13.2+)环境可以使用 速度支持10MHz/15MHz/30MHz 在ISE iMpact下 ...
- 深入理解Java虚拟机阅读心得(二)
垃圾收集 程序计数器.虚拟机栈.本地方法栈三个区域随线程而生,随线程而灭:这几个区域的内存分配和回收都具备稳定性,不需要过多的考虑回收的问题.而Java堆和方法区则不一样. Java堆中存储了几乎所有 ...
- 【spring】-- 手写一个最简单的IOC框架
1.什么是springIOC IOC就是把每一个bean(实体类)与bean(实体了)之间的关系交给第三方容器进行管理. 如果我们手写一个最最简单的IOC,最终效果是怎样呢? xml配置: <b ...
- 潭州课堂25班:Ph201805201 tornado 项目 第七课 界面美化和静态文件处理(课堂笔记)
tornado 相关说明 使用 Bootstrap 前端框架 可以在 bootCDN 这里找 jquery ,poppe.js 文件 美化项目 twittel 的开源项目, 在 static 目录下 ...
- centos安装svn并创建版本库配置用户分组权限
1.设置aliyun安装源// 本步骤非必须, 使用aliyun安装源后, 执行yum update速度明显提升 wget -O /etc/yum.repos.d/CentOS-Base.repo h ...