首页 > 其他分享 >性能大幅度提升(速度&遮挡) | 基于区域分解&集成的目标检测

性能大幅度提升(速度&遮挡) | 基于区域分解&集成的目标检测

时间:2022-10-18 16:04:15浏览次数:47  
标签:集成 候选 区域 特征 遮挡 目标 分解 检测 CNN

性能大幅度提升(速度&遮挡) | 基于区域分解&集成的目标检测_特征提取

计算机视觉研究院专栏

作者:Edison_G

今天我们一起探讨下接下来讲述的技术框架,主要涉及深度学习及目标检测领域!



公众号ID|ComputerVisionGzq




1

 研究背景


目标检测其实就是查找给定图像的一个或多个目标类的所有实例。

近年来,目标检测已经被研究很长一段时间,并取得了很大的进步且部分都已经应用到实际生活当中,好比人流量统计、刷脸支付、危险人物监测等技术。其中最著名的框架属R-CNN[1](2014年),首先使用选择性搜索生成目标区域候选[2](2013年),提取这些区域的CNN特征[3],并将其用特殊类的SVMs分类。然后,出现了Fast R-CNN[4],使用特征共享和RoI池化提高R-CNN的速度。最近的研究是将外部区域候选模块整合到CNN中,以进一步提高训练和检测速度。

因此,通过对区域候选和分类模块的联合学习,也可以提高检测精度。

  • [1] Girshick, R. B.; Donahue, J.; Darrell, T.; and  Malik, J. 2014. Rich feature hierarchies for accurate object detection  and semantic segmentation. In CVPR, 580–587.
  • [2] Uijlings, J. R. R.; van de Sande, K. E. A.; Gevers,  T.; and Smeulders, A. W. M. 2013. Selective search for object  recognition. IJCV 104(2):154–171.
  • [3] Krizhevsky, A.;  Sutskever, I.; and Hinton, G. E. 2012. Imagenet classification with  deep convolutional neural networks. In NIPS, 1106–1114.
  • [4] Girshick, R. B. 2015. Fast R-CNN. In ICCV,  1440–1448.

现代检测器通常在固定的输入尺度下简化特征提取和目标检测过程。但是,即使在尺度变化下具有鲁棒性,区域候选的精度也经常会因所产生的候选和目标区域的变化而降低。此外,对于小目标检测错误会增加。为了提高候选的精度,采用特征金字塔的多尺度特征表示来生成更强的综合特征图。然而,图像金字塔的每层都显著增加了推理时间。


2

 动机


一般情况下,检测错误经常由于目标遮挡造成。在这种情况下,由于目标的某些部分细节在区域中缺失,因此该目标的CNN特征大量减少,意味着对整个目标区域进行全局外观特征的挖掘不足以对目标进行准确的分类和定位。具体例子如下:

性能大幅度提升(速度&遮挡) | 基于区域分解&集成的目标检测_特征提取_02


3

 新框架分析


接下来直接进入主题——区域分解和集成的检测器(R-DAD)。在下图的框架中,首先是将一个目标区域划分为多个小区域,为了联合捕获目标的整体外观和部分细节,在整个目标区域和分解区域中提取CNN特征;然后将多区域特征逐步与区域集成块相结合,学习目标与其部件之间的语义关系,并利用组合的和高级语义特征进行目标分类和定位。

性能大幅度提升(速度&遮挡) | 基于区域分解&集成的目标检测_特征提取_03

为了更准确地提出区域候选,提出了一个多尺度的候选层,可以生成不同尺度的目标候选,将R-DAD集成到多个特征中,并且在VOC2017、VOC2012和MSCOCO数据集上进行实验,发现有了显著的性能提升。

该框架主要由3小部分组成:1)特征提取,2)基于多尺度的区域候选(MRP,Multi-Scale Region Proposal),3)目标区域分解与集成阶段(RDA,Region Decomposition and Assembly)。

性能大幅度提升(速度&遮挡) | 基于区域分解&集成的目标检测_计算机视觉_04

特征提取

这部分主要基于Faster R-CNN的流程,我们主要说说第二步骤(MRP)及第三部分内容(RDA)。

性能大幅度提升(速度&遮挡) | 基于区域分解&集成的目标检测_计算机视觉_04

MRP

性能大幅度提升(速度&遮挡) | 基于区域分解&集成的目标检测_计算机视觉_06

上图中的MRP模块主要作用是用来改善RPN生成的Region Proposals的准确率。看过的同学应该都知道,该思想特别简单,就是利用传统的RPN生成一些候选框,然后再用不同的缩放因子(该技术使用了5种缩放因子作为一组:s = [0.5, 0.7, 1, 1.2, 1.5])对生成出的候选框进行不同比例的缩小及放大,从而提高了区域候选的多样性。

性能大幅度提升(速度&遮挡) | 基于区域分解&集成的目标检测_计算机视觉_07

 如上,就生成了不同尺度的区域,有部分仅仅是局部区域,有部分是大于目标本身的区域,其实这也有一个问题:原来的区域候选已经有很大数量级,再乘以五个尺寸,也就是乘以五倍,想要该框架完全利用生成的候选框感觉很吃力啊!

所以最后添加了RoI的采样层,对得分较低的和跟GT重叠率较低的进行了筛选。由MRP网络生成的各种Region Proposals可以进一步适应目标之间因为空间变化所导致的特征变化,提高结构的鲁棒性。

性能大幅度提升(速度&遮挡) | 基于区域分解&集成的目标检测_计算机视觉_04

RDA

性能大幅度提升(速度&遮挡) | 基于区域分解&集成的目标检测_计算机视觉_09

一般来说,特征的强烈响应是识别目标最重要的方法之一。因此,对于来自MRP网络的每一个候选,都会通过结合多个区域的逐阶段特征来进行强的再加工,如上图。为此,需要学习能够表示不同部分特征之间语义关系的权重,并利用这些权重来控制下一层特征的数量。上图还显示了学习的R-DAD的几个层的语义特性。目标内部的一些强特征响应是由R-DAD提取的。

先用线性插值两倍上采样之后再分解,这样效果会更好。左右刚好是特征图的左右一半,上下也同理,都会输入到RAB模块,RAB模块如下图所示:

性能大幅度提升(速度&遮挡) | 基于区域分解&集成的目标检测_计算机视觉_10

通过上图可以发现,RAB模块类似于一个Maxout的单元,它可以逼近任何连续函数,所以该框架最终选择了RAB而不是直接使用常用的ReLU函数,这表明各种各样的目标特征构造可以通过分层的RABs表示,此外该网络生成的各种区域候选可以进一步提高目标间空间配置变化所产生的特征变化的鲁棒性。


4

 实验


提出的多尺度区域候选和目标区域分解/集成方法的效果

性能大幅度提升(速度&遮挡) | 基于区域分解&集成的目标检测_目标检测_11


不同区域集成块的检测比较

性能大幅度提升(速度&遮挡) | 基于区域分解&集成的目标检测_计算机视觉_12

在VOC数据集上与Faster R-CNN比较

性能大幅度提升(速度&遮挡) | 基于区域分解&集成的目标检测_计算机视觉_13

在MSCOCO数据集上的结果比较

性能大幅度提升(速度&遮挡) | 基于区域分解&集成的目标检测_特征提取_14

实验效果图

性能大幅度提升(速度&遮挡) | 基于区域分解&集成的目标检测_目标检测_15

© THE END 



计算机视觉研究院主要涉及深度学习领域,主要致力于人脸检测、人脸识别,多目标检测、目标跟踪、图像分割等研究方向。研究院接下来会不断分享最新的论文算法新框架,我们这次改革不同点就是,我们要着重”研究“。之后我们会针对相应领域分享实践过程,让大家真正体会摆脱理论的真实场景,培养爱动手编程爱动脑思考的习惯!

性能大幅度提升(速度&遮挡) | 基于区域分解&集成的目标检测_计算机视觉_16


标签:集成,候选,区域,特征,遮挡,目标,分解,检测,CNN
From: https://blog.51cto.com/u_15726357/5766900

相关文章

  • 基于Gitlab+Gitlab-CI+Docker的持续集成部署(含.gitlab-ci.yml说明)
    ​安装gitlabhttps://www.gitlab.com.cn/yuminstallcurlpolicycoreutilsopenssh-serveropenssh-clientsyuminstallpostfixsystemctlenablepostfixsystemctlstart......
  • Nginx集成LDAP统一认证
    编译安装nginxgitclonehttps://github.com/kvspb/nginx-auth-ldap.gitwgethttp://nginx.org/download/nginx-1.18.0.tar.gzyum-yinstallopenldap-develpcre-develop......
  • springboot集成minio及服务安装
    @​​TOC​​​​​​本文只介绍如何将minio做成服务​​1.将minio做成服务将MinioServer.exe放在minio安装目录中同目录下创建MinioServer.xml。特别注意,xml和exe必须同名......
  • 持续集成下接口自动化测试实践
    目前很多持续集成项目都需要执行接口层的测试,当你了解其基本概念,理解了接口协议、如何传参、测试原理后,无需掌握程序语言,使用行业内成熟的接口测试工具,就可以快速地......
  • wangEditor集成Word导入功能
    ​项目需求可发布文章需求涉及到富文本编辑器经过查阅我选择了较为简便不需要后端支持可独立完成的tinymce框架官方文档也是相当完整虽然都是全英文但是有强大的谷......
  • windows minio服务安装以及springboot集成
    @​​TOC​​​​​​本文只介绍如何将minio做成服务​​1.将minio做成服务将MinioServer.exe放在minio安装目录中同目录下创建MinioServer.xml。特别注意,xml和exe必须同名......
  • 在数字化转型的大背景下,还有企业用ESB来做IT系统集成吗?
    数字化转型确切的说是数字企业、数字工厂的建设,实质上就是物理形式的工厂在数字空间的投射,并基于此来实现的以人机物(Human,Machines,Things)泛在互联为基础上,深度感知为支撑,智......
  • 【Django-rest-framework框架】 第12回 simpleui 集成监控大屏与restframework-jwt执
    目录1.后台管理simplui的介绍和使用1.后台管理simplui的介绍和使用1.djangoadmin自带了权限控制,但是是前后端混合的,我们可以二次开发,如开发出公司内部的自动化运行,自......
  • GitlabSSO集成SonarQube配置
    1.gitlab创建应用http://192.168.164.158:9000/oauth2/callback/gitlab  2.配置sonarqube1)启用gitlab认证  2)配置gitlab应用信息 ......
  • 在集成开发环境当中开发Servlet程序
    在集成开发环境当中开发Servlet程序集成开发工具很多,其中目前使用比较多的是:IntelliJIDEA(这个居多,IDEA在提示功能方面要强于Eclipse,也就是说IDEA使用起来比Eclipse更加......