前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >目标检测(一)概述

目标检测(一)概述

原创
作者头像
不想读paper
修改2021-02-01 11:07:40
6140
修改2021-02-01 11:07:40
举报
文章被收录于专栏:不想读Paper不想读Paper
  1. 深度学习和传统目标检测的区别
  2. 1-stage 目标检测和 2-stage 目标检测
  3. anchor-based 和 anchor-free 目标检测
  4. 典型模型简介

相关论文:

Li Liu et al.: Deep Learning for Generic Object Detection: A Survey

深度学习和传统目标检测的区别

为什么目标检测很难
为什么目标检测很难

目标检测解决的是(图片)数据中有什么,在哪里的问题,也就是分类,定位,和确定范围,可以由confidence置信度,中心位置坐标 x,y和范围 w, h表示结果。

如上图所示,很难确定由哪些特征来决定结果,传统的目标检测方法会手工设定一些比如Haar-like特征:

这些基本的黑白块对于人脸很高效,但是不通用

而深度学习是由AI自己学习目标的特征。以下面的LeNet为例, 用卷积核(检测器)遍历图片,每个卷积核生成一张特征图,再在特征图上接着重复池化卷积,提取到的就是越来越高级的特征(特征图的特征),最后用全连接网络作为分类器输出10个置信度confidence(0~9)。

经典的手写数字识别网络LeNet-5
经典的手写数字识别网络LeNet-5
CNN的常规操作
CNN的常规操作

1-stage 目标检测和 2-stage 目标检测

虽然深度神经网络很善于从处理高维数据提取特征,但是对于五花八门的真实照片来说还是很困难。目前同时期比较精确的方法都是2-stage两步:

  1. 先找出可能存在目标的候选框 Regional Proposal,筛选掉了大部分背景无用的特征
  2. 逐个对候选框 区域内的特征 进行分类

这样做本质上就是先解决了可能在哪里的问题,然后再考虑是什么,和具体的位置范围。2-stage 确实准确率更高,但是一张图片的候选框多达上千个,所以没有这个步骤的1-stage要快很多,两种方法其实是在速度和精度上做取舍。

anchor-base 和anchor-free

另外目标检测又可以分为anchor-based 和 anchor-free的, Anchor 是锚的意思,最早出现在Faster RCNN 中,用来生成锚框,和候选区是可能存在目标的区域不同,锚框是相对锚点设置的一系列固定的,不同尺度和长宽比的框,也就是说是跟具体图片没有关系。

anchor 也是用来辅助分类的, 请想象任何一个模型,原图是海底, 上边我们层层的特征图组成海洋(不同尺寸), 从海面丢下锚,虽然我们锚和特征图上绑定在一起,但是锚框的位置信息 (mx,my,mw,mh) 是对应在原图上的,我们学习的其实是锚框和标准答案Ground Truth之间平移和缩放的关系。而多个锚框的设置使得挨得很近的多个目标也能被捕捉到。相对于让模型直接学习(x,y,w,h),学习关于锚框的offset就要更轻松一些。

anchor机制的思想
anchor机制的思想

可是锚框的各种参数设置又很麻烦了,有违我们一切交给AI的主旨,近两年也出现了很多很多Anchor-free的方法,比如逐个像素处理的FCOS,预测Bbox两个角的CornerNet和预测两个角加中心点的CenterNet等等。

经典检测框架

好啦!大部分目标检测就这么回事啦 ,具体方法都可以用两两组合来概述了。

在具体讲模型之前, 这里先介绍神经网络模型相关的三个词: 

backbone 主干网络, 用于提取特征,

head 头,负责检测,

neck 颈, 顾名思义是衔接特征和检测的部分。

接下来长图预警!

RCNN在原图上获取候选区,对每个候选区进行特征提取;而Fast RCNN只获取一次特征,根据投影截取特征矩阵的对应部分
RCNN在原图上获取候选区,对每个候选区进行特征提取;而Fast RCNN只获取一次特征,根据投影截取特征矩阵的对应部分
FastRCNN使用一个小型CNN获取候选框,至此整个框架实现端对端的学习,RFCN改进了会丢失信息的RoIPooling
FastRCNN使用一个小型CNN获取候选框,至此整个框架实现端对端的学习,RFCN改进了会丢失信息的RoIPooling
MaskRCNN使用的是RoIAlign,比RoIPooling更觉却的对齐方式,另外在检测head再分出一路来预测掩膜Mask进行图像分割
MaskRCNN使用的是RoIAlign,比RoIPooling更觉却的对齐方式,另外在检测head再分出一路来预测掩膜Mask进行图像分割
1-stage的两个代表,不用候选区,YOLO在特征图上平均分割格子,SSD直接基于特征图每个像素上进行预测
1-stage的两个代表,不用候选区,YOLO在特征图上平均分割格子,SSD直接基于特征图每个像素上进行预测
FCOS用不同抽象级别的的特征层构造了一个特征金字塔,每一层都配备不同的检测头来检测每一个像素相对bbox的offset和类别
FCOS用不同抽象级别的的特征层构造了一个特征金字塔,每一层都配备不同的检测头来检测每一个像素相对bbox的offset和类别
CenterNet是基于热图的关键点检测
CenterNet是基于热图的关键点检测

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 深度学习和传统目标检测的区别
相关产品与服务
图像识别
腾讯云图像识别基于深度学习等人工智能技术,提供车辆,物体及场景等检测和识别服务, 已上线产品子功能包含车辆识别,商品识别,宠物识别,文件封识别等,更多功能接口敬请期待。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档