【深度学习】——物体检测的难点

目录

一、小物体检测

1、降采样率减小 +空洞卷积

2、anchor设计

1)统计方法

2)anchor边框聚类

3、多尺度训练(multi scale training——MST)

4、 特征融合


一、小物体检测

        在分类任务中,一般物体的大小都差不多,这也使得单纯的分类任务不需要考虑物体的大小等因素,但是在目标检测中,因为在同一个图像中,可能会出现多个目标,有的目标像素占比大,有的目标像素占比小,比如远处的人高度只有30个像素,近处的人却有几百个像素,这导致在深度学习的前向传播过程中,由于下降样的因素,会导致小目标在降采样的过程中直接丢失。

        一般解决的方法有以下几种:降采样率减小、anchor设计、多尺寸训练、特征融合、尺度归一化(SNIP)

1、降采样率减小 +空洞卷积

       将采样率下降的话就可以使得更小的物体能够保留下来,而不至于在下采样后一个像素点都不保留,但是减小下采样率会导致模型的感受野减小,这样对于模型是不利的,因此为了平衡二者之间的关系,一般我们可以使用空洞卷积来维持感受野的大小。

2、anchor设计

1)统计方法

        设计多组anchor,然后将每一组anchor和真实框进行对比,以IOU和正样本数作为指标。取一组性能指标指示最好的anchor作为训练的anchor。

        同一类物体虽然在单一尺寸上有很大的区别,但是在宽高比例上可能差别不大。

2)anchor边框聚类

        利用k-means等聚类算法对训练集的真实框的长宽进行聚类,得到k个中心,将这些中心的值作为anchor生成的比例。具体可以参考yolov3模型。

3、多尺度训练(multi scale training——MST)

        训练的时候将图像缩放成指定的尺度,然后进行训练。为了实现多尺度,先设置多组不同的尺度,然后每次迭代训练的时候都是先随机选取一个尺度,然后将输入图像缩放到这个尺度后再进行训练,虽然在同一次的迭代时,尺度是一样的,但是不同的迭代会有不一样的尺度,这样得到的模型就会有较高的鲁棒性。

        测试的时候则将图像放大4倍或者其他倍数后,再进行检测,这样有利于小物体的检测。

4、 特征融合

        一个图像在深度学习模型前向传播的过程中,图像会逐渐减小,导致图像的细节丢失,语义信息增加。即浅层的图像细节多,深层的图像语义信息多,因此可以将深层的上采样回来和浅层的进行融合。常见的有FPN、DetNet、彩虹融合、dssd等等

 5、

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/255782.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ABB 机器人 通信指令(人机对话):

(1)清屏指令:TPErase (2)写屏指令:PWrite String   tring:显示的字符串。(string)在示教器显示屏上显示字符串数据,也可以用“……”形式直接定义字符串,每一个写屏…

hadoop streaming编程小demo(python版)

大数据团队搞数据质量评测。自动化质检和监控平台是用django,MR也是通过python实现的。(后来发现有orc压缩问题,python不知道怎么解决,正在改成java版本) 这里展示一个python编写MR的例子吧。 抄一句话:Hadoop Streaming是Hadoop提…

Asp.net在IE10、IE11下事件丢失经验总结

asp.net4.0出生得比IE10早,所以asp.net4.0以前版本不认识IE10 的 User-Agent 标头,导致的后果就是ASP.NET 特定功能失效,例如:页面报错__doPostBack找不到,不支援 Cookies 功能等等。这属于.net的Bug,微软也…

第6章 循环结构

循环语句: 可以让一部分代码,反复执行 1.1 循环语句while while循环: 编写格式:while(条件){ 循环体 } 条件: 当条件是true,就执行循环体,执行完循环体后 程序再次执行while中的条件,如果条件还是true,继续执行循环体 直到条件是false的时候,循环就结束 public class WhileDem…

【深度学习】——pytorch搭建模型及相关模型

目录 1、搭建模型的流程 1)步骤 2)完整代码——手写minist数据集为例(这里使用的数据集是自带的) 2、搭建模型的四种方法 1)方法一——利用nn.Sequential() 2)方法二——利用co…

ABB robot 与 Fronius 设备 IO

ABB robot 与 Fronius 设备 IO

初次使用cocoapods注意事项

在仅仅用cocoapods时可能会遇到各种各样的错误和问题 这里中总结下: 1.首先使用cocoapods有非常多优点,在github上非常多优秀的开源项目都用到了它;假设你不会使用它,那么非常多优秀的开源项目你下载下来了也发现跑不起来,假设发现有Profile,Profile.lock,Pods等cocoapods相关…

MongoDB复制集技术

为什么使用MongogDB复制集技术? mysql中:一主一从,一主多从结构存在的问题 1、 fileover(故障转移)a) 选主投票b) 切换 2、 是否对就用透明化 3、 数据补偿的问题a) 两阶段数据补偿 4、 解决方法 mysql中使用MHAVIP b…

Linux文件系统的实现 (图文并茂,比较好)

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! Linux文件管理从用户的层面介绍了Linux管理文件的方式。Linux有一个树状结构来组织文件。树的顶端为根目录(/),节点为目录&#xff0…

【深度学习】——如何处理输入图像大小不一样的情况

这里一般有常见的几种方法: 1)将图像缩放成大小一致后再输入,如RCNN算法 2)roi pooling:这里允许输入图像的大小不一样,后续根据指定的固定大小来求解池化的核大小,以此来得到相同大小的特征图&…

ROS探索总结(一)——ROS简介

随着机器人领域的快速发展和复杂化,代码的复用性和模块化的需求原来越强烈,而已有的开源机器人系统又不能很好的适应需求。2010年Willow Garage公司发布了开源机器人操作系统ROS(robot operating system),很快在机器人…

微信浏览器取消缓存的方法

摘要:做微信公家号以及调试手机页面的时辰,防止不了页面要跳转到微信阅读器打开,调试阶段,android版微信阅读器一直都默许缓存html静态资本,每一次静态资本变革乃至新内容发布的时辰在微信阅读器上都极有可能不克不及更新&#xf…

【机器视觉】——裂纹检测笔记

目录 传统算法处理裂缝的基本思路: 第一种思路 第二种思路: 第三种思路 CPP代码 halcon代码 python代码 Matlab代码 深度学习缺陷检测 裂缝检测文献 传统算法处理裂缝的基本思路: 第一种思路 1.先转换彩色图为灰度图 2.进行自适应…

利用union判断系统的大小端

int checkCPUendian()//返回1,为小端;反之,为大端; { union{ unsigned int a; unsigned char b; }c; c.a 1; return 1 c.b; }大端模式(Big-endian),是指数据的高字节保存在内存的低地址中,而数据…

Filter(过滤器) 和 interceptor(拦截器)的区别

Filter(过滤器) 和 interceptor(拦截器)的区别 1.拦截器是基于java反射机制的,而过滤器是基于函数回调的。 2.过滤器依赖于Servlet容器,而拦截器不依赖于Servlet容器。 3.拦截器只对Action请求起作用&#…

ROS探索总结(二)——ROS总体框架

一、 总体结构 根据ROS系统代码的维护者和分布来标示,主要有两大部分:(1)main:核心部分,主要由Willow Garage公司和一些开发者设计、提供以及维护。它提供了一些分布式计算的基本工具,以及整个…

python 阿狸的进阶之路(4)

装饰器 #1、开放封闭原则:对扩展开放,对修改是封闭#2、装饰器:装饰它人的,器指的是任意可调用对象,现在的场景装饰器-》函数,被装饰的对象也是-》函数#原则:1、不修改被装饰对象的源代码 2、不修…

【深度学习】——利用pytorch搭建一个完整的深度学习项目(构建模型、加载数据集、参数配置、训练、模型保存、预测)

目录 一、深度学习项目的基本构成 二、实战(猫狗分类) 1、数据集下载 2、dataset.py文件 3、model.py 4、config.py 5、predict.py 一、深度学习项目的基本构成 一个深度学习模型一般包含以下几个文件: datasets文件夹:存放…

二叉树的序遍历

时间限制: 1 s空间限制: 32000 KB题目等级 : 白银 Silver题目描述 Description求一棵二叉树的前序遍历,中序遍历和后序遍历 输入描述 Input Description第一行一个整数n,表示这棵树的节点个数。 接下来n行每行2个整数L和R。第i行的两个整数Li和Ri代表编号…

GUI登录界面

在这次的作业中,我先使用单选按钮,输入框,复选框设计了一个简单地登录界面。接着我使用了MouseListener将登陆按钮与下一个“查询界面”连接起来。最后我使用了我们本周所学的JFrame框架与事件处理机制设计了一个简单地界面。我所设计的登录界…