热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

目标检测框架网络模型分析(三王者归来)

 前言我很长一段时间一直都在做自动驾驶的物体检测性能调优,所以想总结整理一些小网络和检测框架的经验。文章会分成三个部分:第一部分将参照知乎@YaqiLYU对小网络(经典

 前言

  我很长一段时间一直都在做自动驾驶的物体检测性能调优,所以想总结整理一些小网络和检测框架的经验。

  文章会分成三个部分:

[email protected] 对小网络(经典网络)的分析并且结合的自己的理解。

  第二部分详细介绍目前state-of-art的主流检测框架。

       第三部分介绍了目标检测的问题及解决方案,目标检测在其他领域的拓展应用 


2. 解决方案

本部分针对小物体检测、不规则形状物体检测、检测算法中正负样本不均衡问题、物体被遮挡、检测算法的mini-batch过小、物体之间的关联信息被忽略等问题提出了解决方案。在这个部分最后本篇综述将介绍四篇改进网络结构以提升检测效果(包括准确率和速度)的论文,如改进基础网络以提升准确率的DetNet和针对移动端优化速度的Pelee网络等。



2.1 小物体检测


2.1.1 Feature Pyramid Networks for Object Detection

论文链接:https://arxiv.org/abs/1612.03144

开源代码:https://github.com/unsky/FPN

录用信息:CVPR2017

论文目标:

引入Top-Down 结构提升小物体检测效果。

核心思想:

Feature Pyramid Networks (FPN) 是比较早提出利用多尺度特征和Top-Down结构做目标检测的网络结构之一,虽然论文中整个网络是基于Faster R-CNN 检测算法构建,但其整体思想可以广泛适用于目前常见的大部分目标检测算法甚至分类等的其他任务中。

整体来讲, FPN 解决的问题如下:只用网络高层特征去做检测,虽然语义信息比较丰富,但是经过层层pooling等操作,特征丢失太多细节信息,对于小目标检测这些信息往往是比较重要的。所以,作者想要将语义信息充分的高层特征映射回分辨率较大、细节信息充分的底层特征,将二者以合适的方式融合来提升小目标的检测效果。


上图中作者首先介绍了四种常见的特征利用的方式,这里我们一一说明。图中a部分展示了利用图像特征金字塔的方式做预测的方法,即通过将预测图片变换为不同尺寸的图片输入网络,得到不同尺寸的特征进行预测。这种方法行之有效,可以提升对各个尺寸目标的检测效果。


上图是imageNet 数据集中各个物体的尺寸分布,可以看到大部分物体尺寸集中在40-140像素之间。当我们采用imageNet 的pretrain参数初始化我们的基础网络时,网络实际上对40-140像素间的物体是较为敏感的。所以当物体目标过大过小的时候效果都会打折扣。而图像多尺度金字塔预测的方法也解决了这一问题。这个方法虽然行之有效但是缺点是效率低下。尤其是应用于类似于Faster R-CNN 这样的网络,迫于速度和显存的压力,端对端的训练难以实现。通常这种方法只应用于网络预测的阶段

图中b部分展示的方法为利用单一尺度图片的最高层信息进行预测的方法,是平时最广泛被使用的一种方法,简单高效。但是缺点是由于尺度单一,应对多尺度的目标效果受限。

 图中c部分展示了利用特征金字塔来做预测的方法。即采用不同尺寸不同深度的特征层分别进行预测,每层的感受野和特征信息的丰富程度都不一样,对不同尺寸的目标响应也有所区别。其中高层特征更适合用于检测大目标,而低层特征细节信息更加丰富,感受野也偏小,更适合用于检测小目标。我们经常使用的SSD检测算法即使用了这种思路。该方法的缺点是低层的特征信息因为层数较浅,语义信息不太丰富,所以小目标的检测效果仍然不尽如人意。

图中d部分即为FPN的解决方案,利用Top-Down结构,融合了高层和底层的特征信息,使得底层的语义信息仍然很丰富的同时保持较大的分辨率,提升小物体的检测效果。


 

上图展示了FPN网络的特征融合方式,其中高层特征通过最近邻差值的方式增大两倍的尺寸,而底层的特征经过一个1*1的卷积做降维操作,这两层特征分别作像素级的相加完成融合。融合之后的特征可以经过一个3*3的卷积层之后输入用来预测,也可以再重复上面的操作,和更低层的特征进行融合。

算法效果:


 

上图展示了各个算法在COCO数据集上的对比。

 


2.1.2 Beyond Skip Connections Top Down Modulation for Object Detection

论文链接:https://arxiv.org/abs/1612.06851

开源代码:无

录用信息:CVPR2017

论文目标:

1. 有效利用网络前层信息。使其既包含小物体细节信息,又包含高层抽象语义信息,提高小物体召回率。

2. 避免直接特征叠加导致维度过高。

核心思想:

本文是Google 对标Facebook FPN的一个算法,用与FPN不同的方式实现了Top Down结构,主要是为了融合低层的细节特征和高层语义特征来提升小物体检测效果的一个方法。

本论文提出的Top Down modulation的结构主要关键点在于modulation这一过程,在该算法中,高底层的信息融合不是像FPN一样像素级叠加,而是通过卷积进行融合。由神经网络自主的选择选择哪些特征进行融合,实现这一“调制”过程。

一、整体网络结构:

 

首先对自下而上的CNN网络加入一个自上而下的Top Down网络,使用 lateral connections连接起来。通过这些connections 筛选合适的特征,通过Top Down 网络进行特征融合。

二、Top Down Modulation (TDM)网络基础模块:

未完

 



推荐阅读
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 3年半巨亏242亿!商汤高估了深度学习,下错了棋?
    转自:新智元三年半研发开支近70亿,累计亏损242亿。AI这门生意好像越来越不好做了。近日,商汤科技已向港交所递交IPO申请。招股书显示& ... [详细]
  • 本文详细解析了JavaScript中相称性推断的知识点,包括严厉相称和宽松相称的区别,以及范例转换的规则。针对不同类型的范例值,如差别范例值、统一类的原始范例值和统一类的复合范例值,都给出了具体的比较方法。对于宽松相称的情况,也解释了原始范例值和对象之间的比较规则。通过本文的学习,读者可以更好地理解JavaScript中相称性推断的概念和应用。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 面试经验分享:华为面试四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试
    最近有朋友去华为面试,面试经历包括四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试。80%的人都在第一轮电话面试中失败,因为缺乏基础知识。面试问题涉及 ... [详细]
  • {moduleinfo:{card_count:[{count_phone:1,count:1}],search_count:[{count_phone:4 ... [详细]
  • 深入理解线程、进程、多线程、线程池
    本文以QT的方式来走进线程池的应用、线程、进程、线程池、线程锁、互斥量、信号量、线程同步等的详解,一文让你小白变大神!为什么要使用多线程、线程锁、互斥量、信号量?为什么需要线程 ... [详细]
  • Imdevelopinganappwhichneedstogetmusicfilebystreamingforplayinglive.我正在开发一个应用程序,需要通过流 ... [详细]
  • JavaScript和Python是用于构建各种应用程序的两种有影响力的编程语言。尽管JavaScript多年来一直是占主导地位的编程语言,但Python的迅猛发展有 ... [详细]
  • 热点追踪深度探讨实地探访商务合作当一个哲学家遇到大数据分析会发生什么?如果告诉你,这个组合曾帮助美国“猎杀拉登”,你是否会惊讶到瞪眼睛。在 ... [详细]
author-avatar
兔子狗530_772
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有