人工智能之目标检测系列综述

前言

参考 https://blog.youkuaiyun.com/jiaoyangwm/article/details/89111539
在这里插入图片描述
时间线
在这里插入图片描述

慢慢补充

正文

1.传统目标检测

在深度学习出现之前,传统的目标检测方法大概分为区域选择(滑窗)、特征提取(SIFT、HOG等)、**分类器(SVM、Adaboost等)**三个部分,其主要问题有两方面:一方面滑窗选择策略没有针对性、时间复杂度高,窗口冗余;另一方面手工设计的特征鲁棒性较差。
参考 https://blog.youkuaiyun.com/eternity1118_/article/details/88894617

2.目标检测-神经网络

参考:https://blog.youkuaiyun.com/electech6/article/details/95240278

概要记录:
改文章主要描述的是基于神经网络的目标检测模型
一类是基于Region Proposal的R-CNN系算法(R-CNN,Fast R-CNN, Faster R-CNN等),它们是two-stage的,需要先算法产生目标候选框,也就是目标位置,然后再对候选框做分类与回归。而另一类是Yolo,SSD这类one-stage算法,其仅仅使用一个卷积神经网络CNN直接预测不同目标的类别与位置。第一类方法是准确度高一些,但是速度慢,但是第二类算法是速度快,但是准确性要低一些。这可以在下图中看到。

2-1. R-CNN

【算法流程】

  1. 输入一张图片,通过指定算法从图片中提取 2000 个类别独立的候选区域(可能目标区域)
  2. 对于每个候选区域利用卷积神经网络来获取一个特征向量
  3. 对于每个区域相应的特征向量,利用支持向量机SVM 进行分类,并通过一个bounding box regression调整目标包围框的大小

【贡献】
在2014年R-CNN横空出世的时候,颠覆了以往的目标检测方案,精度大大提升。对于R-CNN的贡献,可以主要分为两个方面:

  1. 使用了卷积神经网络进行特征提取
  2. 使用bounding box regression进行目标包围框的修正

【缺陷】

  1. 耗时的selective search,对一张图像,需要花费2s
  2. 耗时的串行式CNN前向传播,对于每一个候选框,都需经过一个AlexNet提取特征,为所有的候选框提取特征大约花费47s
  3. 三个模块(CNN特征提取、SVM分类和边框修正)是分别训练的,并且在训练的时候,对于存储空间的消耗很大

2-2. Fast R-CNN

【算法流程】

  1. 首先还是采用selective search提取2000个候选框RoI
  2. 使用一个卷积神经网络对全图进行特征提取
  3. 使用一个RoI Pooling Layer在全图特征上摘取每一个RoI对应的特征
  4. 分别经过为21和84维的全连接层(并列的,前者是分类输出,后者是回归输出)

【贡献】
Fast R-CNN的贡献可以主要分为两个方面:

  1. 取代R-CNN的串行特征提取方式,直接采用一个CNN对全图提取特征(这也是为什么需要RoI Pooling的原因)。
  2. 除了selective search,其他部分都可以合在一起训练。

Fast R-CNN通过CNN直接获取整张图像的特征图,再使用RoI Pooling Layer在特征图上获取对应每个候选框的特征,避免了R-CNN中的对每个候选框串行进行卷积(耗时较长)

【缺陷】
Fast R-CNN也有缺点,体现在耗时的selective search还是依旧存在。

2-3. Faster R-CNN

【算法流程】
Faster R-CNN由共享卷积层、RPN、RoI pooling以及分类和回归四部分组成:

  1. 首先使用共享卷积层为全图提取特征feature maps
  2. 将得到的feature maps送入RPN,RPN生成待检测框(指定RoI的位置),并对RoI的包围框进行第一次修正
  3. RoI Pooling Layer根据RPN的输出在feature map上面选取每个RoI对应的特征,并将维度置为定值
  4. 使用全连接层(FC Layer)对框进行分类,并且进行目标包围框的第二次修正。

尤其注意的是,Faster R-CNN真正实现了端到端的训练(end-to-end training)。Faster R-CNN最大特色是使用了RPN取代了SS算法来获取RoI。

2-4.Mask R-CNN

【算法流程】
Mask R-CNN可以分解为如下的3个模块:Faster-RCNN、RoI Align和Mask。

2-5.Yolo

Yolo创造性的提出了one-stage,也就是将物体分类和物体定位在一个步骤中完成。Yolo直接在输出层回归bounding box的位置和bounding box所属类别,从而实现one-stage。通过这种方式,Yolo可实现45帧每秒的运算速度

【算法流程】
主要分为三个部分:卷积层,目标检测层,NMS筛选层

【缺陷】
Yolo算法开创了one-stage检测的先河,它将物体分类和物体检测网络合二为一,都在全连接层完成。故它大大降低了目标检测的耗时,提高了实时性。但它的缺点也十分明显

  1. 每个网格只对应两个bounding box,当物体的长宽比不常见(也就是训练数据集覆盖不到时),效果很差。
  2. 原始图片只划分为7x7的网格,当两个物体靠的很近时,效果很差
  3. 最终每个网格只对应一个类别,容易出现漏检(物体没有被识别到)。
  4. 对于图片中比较小的物体,效果很差。这其实是所有目标检测算法的通病,SSD对它有些优化,我们后面再看。

2-6.SSD

Faster R-CNN准确率mAP较高,漏检率recall较低,但速度较慢。而Yolo则相反,速度快,但准确率和漏检率不尽人意。SSD综合了他们的优缺点,对输入300x300的图像,在voc2007数据集上test,能够达到58 帧每秒( Titan X 的 GPU ),72.1%的mAP。

【算法流程】
和Yolo一样,也分为三部分:卷积层,目标检测层和NMS筛选层。SSD和Yolo一样都是采用一个CNN网络来进行检测,但是却采用了多尺度的特征图。

ps:从以上了解来看,对于微小目标检测,面临两个问题,
一是,神经网络卷积过程中的下采样,会不断忽略细节,微小物体比如10x10这样的size,使用多层卷积可能出现检测不了的情况。
二是,准确率相较大目标,会低很多

作  者:万卫兵 等编著 出 版 社:上海交通大学出版社 出版时间:2010-1-1 本书系统介绍了智能视频监控中目标检测与识别的基本问题及其相关处理技术。主要内容包括智能视频监控的理论、算法和典型应用实例。包括计算机视觉基本理论、运动目标检测技术、运动目标跟踪和分类技术、运动的场景分析及行为理解技术。其中目标的检测与识别技术在资助的科研项目中有成熟可行的应用实例。本书内容由浅入深、循序渐进,着重于经典内容和最新进展的结合,并辅以较多的应用范例。 上篇 智能视频监控中目标检测与识别概论 第1章 绪论 1.1 智能视频监控概述 1.1.1 智能视频监控的发展 1.1.2 智能视频监控中的关键问题 1.2 智能视频监控的研究内容 1.2.1 智能视频监控的系统结构 1.2.2 智能视频监控的难题 1.3 研究现状与应用前景 参考文献 第2章 计算机运动视觉相关理论 2.1 摄像机的标定 2.1.1 坐标系的变换 2.1.2 摄像机的标定 2.2 双目立体视觉 2.2.1 特征匹配关键技术 2.2.2 特征匹配算法分类与立体成像 2.3 运动视觉 2.3.1 运动视觉的研究内容 2.3.2 运动视觉处理框架 2.4 场景理解 2.4.1 场景理解认知框架 2.4.2 静态场景理解 2.4.3 动态场景理解 参考文献 第3章 运动目标检测技术 3.1 运动目标检测概述 3.1.1 光流法 3.1.2 相邻帧差法 3.1.3 背景差法 3.1.4 边缘检测方法 3.1.5 其他重要的相关方法 3.2 视频监控中的背景建模 3.2.1 背景提取与更新算法概述 3.2.2 基于GMM的背景提取与更新算法 3.2.3 基于AKGMM的背景提取与更新算法 3.2.4 去除阴影 3.3 ROI面积缩减车辆检测搜索算法 3.3.1 改进的帧差法 3.3.2 图像的腐蚀与膨胀 3.3.3 车辆目标分割识别 3.3.4 实验结果与分析 参考文献 第4章 运动目标跟踪技术 4.1 目标跟踪的分类 4.2 目标跟踪方法 4.2.1 基于特征的跟踪方法 4.2.2 基于3D的跟踪方法 4.2.3 基于主动轮廓的跟踪方法 4.2.4 基于运动估计的跟踪方法 4.3 粒子滤波器 4.3.1 离散贝叶斯滤波系统 4.3.2 蒙特卡洛采样(Monte Carlo Sampling) 4.3.3 贝叶斯重要性采样(Bayesian Importance Sampling) 4.3.4 序列化重要性采样(Sequential Importance Sampling) 4.3.5 粒子滤波(Particle Filte)一般算法描述 4.3.6 粒子数目N的选取 4.4 多视角目标跟踪 4.4.1 目标交接 4.4.2 多摄像机的协同 4.4.3 摄像机之间的数据通讯 4.4.4 多摄像机系统总体设计与集成 参考文献 第5章 运动目标分类技术 5.1 目标分类方法 5.1.1 基于形状信息的分类 5.1.2 基于运动特性的分类 5.1.3 混合方法 5.2 分类的特征提取 5.2.1 视频图像的两种特征 5.2.2 分类特征选择 5.3 分类器构造 5.3.1 支持向量机理论 5.3.2 多类支持向量机 5.3.3 特征训练 5.4 训练和分类方案 5.4.1 静态图像训练分类模型 5.4.2 动态视频中运动对象的分类 5.4.3 训练和分类的实验结果 参考文献 第6章 行为理解技术 6.1 行为理解的特征选择与运动表征 6.1.1 特征选择 6.1.2 运动表征 6.2 场景分析 6.2.1 场景结构 6.2.2 场景知识库的建立和更新 6.3 行为建模 6.3.1 目标描述 6.3.2 约束表达 6.3.3 分层的行为模型结构 6.4 行为识别 6.4.1 基于模板匹配方法 6.4.2 基于状态转移的图模型方法 6.4.3 行为识别的实现 6.5 高层行为与场景理解 6.6 行为理解存在的问题与发展趋势 参考文献 下篇 智能视频监控应用实例 第7章 白天车辆检测实例 7.1 道路交通样本库的采集与组织 7.1.1 样本的采集 7.1.2 样本库元信息和组织 7.2 车辆检测系统结构设计 7.2.1 基于视频的车辆检测方法概述 7.2.2 虚拟线圈车辆检测法的算法流程 7.2.3 系统框图 7.3 背景重构 7.3.1 视频背景重构技术回顾 7.3.2 基于IMFKGMM的背景提取与更新算法 7.4 灰度空间阴影检测算法研究 7.4.1 彩色图像的灰度变换 7.4.2 算法原理 7.4.3 试验结果 7.5 虚拟线圈车辆检测法 7.5.1 数学形态学后处理与状态机 7.5.2 交通参数的测量 第8章 夜间车辆检测实例 8.1 夜间视频车辆检测系统框架 8.2 摄像机配置 8.2.1 摄像机安装和标定 8.2.2 车灯在路面上的投影与视野的设置 8.3 车灯提取配对跟踪算法 8.3.1 车灯提取与车灯形状特征 8.3.2 配对跟踪算法 8.3.3 交通参数计算与实验结果和分析 第9章 昼夜亮度变化及切换方法 9.1 离线亮度变化建模 9.1.1 交通视频亮度变化实例与S型曲线 9.1.2 离线曲线拟合 9.1.3 在线亮度变化识别 9.2 昼夜检测算法的切换方法 9.2.1 亮度模型分析与切换时间选取策略 9.2.2 过渡时段的切换方法 9.2.3 切换方法试验结果 9.3 仿真试验平台 第10章 距离测量实例 10.1 摄像机标定及距离测量 10.1.1 OpenCV中的标定方法 10.1.2 测距算法 10.2 实验与结果分析 10.2.1 内参数矩阵与场景无关性 10.2.2 标定平面上两点间距离测量 10.2.3 垂直于标定平面轴线上两点间距离测量 10.2.4 双视角同时标定,任意两点间距离测量 第11章 客流检测系统实例 11.1 视频图像采集与数据结果传输 11.1.1 视频图像采集系统设置 11.1.2 视频文件 11.1.3 数据结果的传输 11.2 基于背景检测的行人检测 11.2.1 背景分割 11.2.2 行人检测 11.3 基于blob检测的行人跟踪与计数策略 11.3.1 基于blob的跟踪方法 11.3.2 计数策略 11.4 算法的工程实现与实验结果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值