1612第三周学习笔记

基于视觉的目标检测与跟踪综述

1 目标检测
1.1 背景建模
Sobral等基于Opencv搭建的背景减除方法通用框架(Background Substraction Library, BGSLibrary),包含37 种背景建模算法的实现。
GitHub源: https://github.com/andrewssobral/bgslibrary
https://handong1587.github.io/computer_vision/2015/10/09/recognition-detection-segmentation-tracking.html
https://handong1587.github.io/deep_learning/2015/10/09/segmentation.html
ChangeDetection.Net(A Video Database for testing change detection algorithms)
IEEE Change Detection Workshop in conjunction with CVPR 2014
http://changedetection.net/
1.2 前景目标建模
通用框架:“特征表达”+“分类器”
特征表达分为人工设计特征与学习特征
目前,人工设计的特征按视觉特性与特征计算的不同可以大致分为四类;梯度特征、模式特征、形状特征以及颜色特征。
图像所具有的信息:颜色、纹理、形状、梯度与方向
常用人工设计的特征:梯度特征–SIFT(2004)、HOG(2005);模式特征–Gabor(1997)、LBP(2004)、Haar-Like(2001);形状特征–DPM(2010,HOG+Latent SVM)、Shape Context(2002)、kAS(2008);颜色特征–Color Name(2009)、基于熵的显著性特征(2004)
目标检测典型数据集:
(1)MIT CBCL Pedestrian Database;共 924 张图片,64 × 128,PM 格式;未标注;人体目标处于图像正中间,且图像视角限定为正向或背向; http://cbcl.mit.edu/software-datasets/PedestrianData.html;2000
(2)USC Pedestrian Detection Test Set;共 359 张图片,816 个人;标注;包含单视角下无遮挡、部分遮挡以及多视角下无遮挡的行人检测数据; http://iris.usc.edu/Vision-Users/OldUsers/bowu/DatasetWebpage/dataset.html;2005/2007
(3)INRIA Person Dataset;共1805张图片,64×128;标注;包含了各种各样的应用背景,对行人的姿势没有特别的要求; http://pascal.inrialpes.fr/data/human/;2005
(4)ChangeDetection.Net;共51段视频,约140000帧图片;标注;包含了动态背景、目标运动、夜晚及阴影影响等多种挑战;2012/2014
(5)Caltech Pedestrian Dataset;10小时视频,640×480;标注;视频为城市交通环境下驱车拍摄所得,行人之间存在一定的遮挡; http://www.vision.caltech.edu/Image_Datasets/CaltechPedestrians/;2009
(6)CVC Datasets;CVC Datasets;部分标注;提供了多种应用场景,如城市、红外等场景,行人间存在部分遮挡; http://www.cvc.uab.es/adas/site/?q=node/7;2007/2010/2013∼2015
(7)PASCAL VOC共11540张图,Datasets含20个类;标注;该比赛包括分类、检测、分割、动作分类以及人体布局检测等任务; http://host.robots.ox.ac.uk/pascal/VOC/
(8)ImageNet;共14197122张图片;标注;大规模目标识别比赛,包括目标检测、定位以及场景分类等任务; http://image-net.org/;2010~2015
(9)Microsoft COCO;约328000张图片,含91个类;标注;自然场景下的图像分类、检测、场景理解等,不仅标注了不同的类别,还对类中个例进行了标注; http://mscoco.org/;2014
2 目标跟踪
2.1 方法分类及数据集
运动目标跟踪的一般处理流程由目标状态初始化、表观建模、运动估计及目标定位4部分组成;运动估计方法主要有线性回归、均值漂移 、隐马尔科夫模型 、卡尔曼滤波以及粒子滤波等。
目标跟踪按有无检测过程的参与,可以分为生成式跟踪与判别式跟踪。生成式表观模型的建立可以分为基于核的方法、基于子空间的方法以及基于稀
疏表示的方法三类。目前,判别式跟踪方法可以分为基于在线Boosting的方法、基于支持向量机的方法、基于随机学习的方法以及基于判别分析的方法4类。
目标跟踪数据集:
https://archive.ics.uci.edu/ml/datasets.html
http://www.cvpapers.com/datasets.html
http://homepages.inf.ed.ac.uk/cgi/rbf/CVONLINE/entries.pl?TAG363
http://www.computervisiononline.com/datasets
http://riemenschneider.hayko.at/vision/dataset/
(1)Visual Tracker Benchmark;100段序列;标记;来源于现有文献,包括了光照及尺度变化、遮挡、形变等9种挑战; http://www.visual-tracking.net;2013
(2)VIVID;9 段序列;标记;主要任务为航拍视角下的车辆目标跟踪 , 具有表观微小、相似等特点; http://vision.cse.psu.edu/data/vividEval/datasets/datasets.html;2005
(3)CAVIAR;28 段序列;标记;主要用于人体目标跟踪 , 视频内容包含行走、会面、进出场景等行为; http://homepages.inf.ed.ac.uk/rbf/CAVIARDATA1/;2003 / 2004
(4)BIWI Walking Pedestrians Dataset;1 段序列;标记;主要任务为鸟瞰视角下的行人跟踪 , 可用于评测多目标跟踪算法; http://www.vision.ee.ethz.ch/datasets/;2009
(5)“Central” Pedestrian Crossing Sequences;3 段序列;标记;行人过街序列 , 每 4 帧标定一次; http://www.vision.ee.ethz.ch/datasets/;2007
(6)MOT16;14 段序列;标记;无约束环境的多目标跟踪 , 有不同视角、相机运动、天气影响等挑战; http://motchallenge.net/;2016
(7)PETS2015;7 段序列;标记;关于停车场中车辆旁边不同活动序列 , 可用于目标检测与跟踪、动作识别、场景分析等; http://www.tucowsdomains.com/;2015
(8)VOT Challenge;60 段序列 (2015 年);标记;主要用于短视频跟踪算法的评测 ,该比赛从 2013 年开始举办;2013 ∼ 2015

3 基于深度学习的目标检测研究进展
3.1 传统目标检测方法
1612第三周学习笔记_第1张图片
(1) 区域选择. 目标的大小、长宽比例;(2) 特征提取. 由于目标的形态多样性,光照变化多样性,背景多样性等因素使得设计一个鲁棒的特征并不是那么容易。然而提取特征的好坏直接影响到分类的准确性.(这个阶段常用的特征有SIFT、HOG等).(3)主要有SVM, Adaboost等。(4)总结:传统目标检测存在的两个主要问题:一个是基于滑动窗口的区域选择策略没有针对性,时间复杂度高,窗口冗余;二是手工设计的特征对于多样性的变化并没有很好的鲁棒性。
3.2 基于Region Proposal的深度学习目标检测算法
region proposal(候选区域)是预先找出图中目标可能出现的位置。比较常用的region proposal算法有selective Search和edge Boxes.推荐论文: What makes for effective detection proposals?.
有了候选区域,剩下的工作实际就是对候选区域进行图像分类的工作(特征提取+分类)。对于图像分类,不得不提的是2012年ImageNet大规模视觉识别挑战赛(ILSVRC)上,机器学习泰斗Geoffrey Hinton教授带领学生Krizhevsky使用卷积神经网络将ILSVRC分类任务的Top-5 error降低到了15.3%,而使用传统方法的第二名top-5 error高达 26.2%。此后,卷积神经网络占据了图像分类任务的绝对统治地位,微软最新的ResNet和谷歌的Inception V4模型的top-5 error降到了4%以内多,这已经超越人在这个特定任务上的能力。所以目标检测得到候选区域后使用CNN对其进行图像分类是一个不错的选择。
2014年,RBG(Ross B. Girshick)大神使用region proposal+CNN代替传统目标检测使用的滑动窗口+手工设计特征,设计了R-CNN框架,使得目标检测取得巨大突破,并开启了基于深度学习目标检测的热潮。
(1) R-CNN (CVPR2014, TPAMI2015): Region-based Convolution Networks for Accurate Object detection and Segmentation
1612第三周学习笔记_第2张图片
上面的框架图清晰的给出了R-CNN的目标检测流程:输入测试图像;利用selective search算法在图像中提取2000个左右的region proposal;将每个region proposal缩放(warp)成227x227的大小并输入到CNN,将CNN的fc7层的输出作为特征;将每个region proposal提取到的CNN特征输入到SVM进行分类。
小结:R-CNN在PASCAL VOC2007上的检测结果从DPM HSC的34.3%直接提升到了66%(mAP)。如此大的提升使我们看到了region proposal+CNN的巨大优势。但是R-CNN框架也存在着很多问题:训练分为多个阶段,步骤繁琐: 微调网络+训练SVM+训练边框回归器;训练耗时,占用磁盘空间大:5000张图像产生几百G的特征文件;速度慢: 使用GPU, VGG16模型处理一张图像需要47s;针对速度慢的这个问题,SPP-NET给出了很好的解决方案。
(2)SPP-NET (ECCV2014, TPAMI2015): Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
每个region proposal的尺度不一样,直接这样输入全连接层肯定是不行的,因为全连接层输入必须是固定的长度。SPP-NET恰好可以解决这个问题:
1612第三周学习笔记_第3张图片
小结:使用SPP-NET相比于R-CNN可以大大加快目标检测的速度,但是依然存在着很多问题:训练分为多个阶段,步骤繁琐: 微调网络+训练SVM+训练边框回归器;SPP-NET在微调网络的时候固定了卷积层,只对全连接层进行微调,而对于一个新的任务,有必要对卷积层也进行微调。(分类模型提取的特征更注重高层语义,而目标检测任务除了语义信息还需要目标的位置信息);针对这两个问题,RBG又提出Fast R-CNN, 一个精简而快速的目标检测框架。
(3)Fast R-CNN(ICCV2015): Fast R-CNN
1612第三周学习笔记_第4张图片
与R-CNN框架图对比,可以发现主要有两处不同:一是最后一个卷积层后加了一个ROI pooling layer,二是损失函数使用了多任务损失函数(multi-task loss),将边框回归直接加入到CNN网络中训练。(a) ROI pooling layer实际上是SPP-NET的一个精简版,SPP-NET对每个proposal使用了不同大小的金字塔映射,而ROI pooling layer只需要下采样到一个7x7的特征图。对于VGG16网络conv5_3有512个特征图,这样所有region proposal对应了一个7*7*512维度的特征向量作为全连接层的输入。(b) R-CNN训练过程分为了三个阶段,而Fast R-CNN直接使用softmax替代SVM分类,同时利用多任务损失函数边框回归也加入到了网络中,这样整个的训练过程是端到端的(除去region proposal提取阶段)。(c) Fast R-CNN在网络微调的过程中,将部分卷积层也进行了微调,取得了更好的检测效果。
小结:Fast R-CNN融合了R-CNN和SPP-NET的精髓,并且引入多任务损失函数,使整个网络的训练和测试变得十分方便。在Pascal VOC2007训练集上训练,在VOC2007测试的结果为66.9%(mAP),如果使用VOC2007+2012训练集训练,在VOC2007上测试结果为70%(数据集的扩充能大幅提高目标检测性能)。使用VGG16每张图像总共需要3s左右。
缺点:region proposal的提取使用selective search,目标检测时间大多消耗在这上面(提region proposal 2~3s,而提特征分类只需0.32s),无法满足实时应用,而且并没有实现真正意义上的端到端训练测试(region proposal使用selective search先提取处来)。那么有没有可能直接使用CNN直接产生region proposal并对其分类?Faster R-CNN框架就是符合这样需要的目标检测框架。
(4)Faster R-CNN(NIPS2015): Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
在region proposal + CNN分类的这种目标检测框架中,region proposal质量好坏直接影响到目标检测任务的精度。如果找到一种方法只提取几百个或者更少的高质量的预选窗口,而且召回率很高,这不但能加快目标检测速度,还能提高目标检测的性能(假阳例少)。RPN(Region Proposal Networks)网络应运而生。
1612第三周学习笔记_第5张图片
RPN的核心思想是使用卷积神经网络直接产生region proposal,使用的方法本质上就是滑动窗口。RPN的设计比较巧妙,RPN只需在最后的卷积层上滑动一遍,因为anchor机制和边框回归可以得到多尺度多长宽比的region proposal。
1612第三周学习笔记_第6张图片
我们直接看上边的RPN网络结构图(使用了ZF模型),给定输入图像(假设分辨率为600*1000),经过卷积操作得到最后一层的卷积特征图(大小约为40*60)。在这个特征图上使用3*3的卷积核(滑动窗口)与特征图进行卷积,最后一层卷积层共有256个feature map,那么这个3*3的区域卷积后可以获得一个256维的特征向量,后边接cls layer和reg layer分别用于分类和边框回归(跟Fast R-CNN类似,只不过这里的类别只有目标和背景两个类别)。3*3滑窗对应的每个特征区域同时预测输入图像3种尺度(128,256,512),3种长宽比(1:1,1:2,2:1)的region proposal,这种映射的机制称为anchor。所以对于这个40*60的feature map,总共有约20000(40*60*9)个anchor,也就是预测20000个region proposal。
这样设计的好处是什么呢?虽然现在也是用的滑动窗口策略,但是:滑动窗口操作是在卷积层特征图上进行的,维度较原始图像降低了16*16倍(中间经过了4次2*2的pooling操作);多尺度采用了9种anchor,对应了三种尺度和三种长宽比,加上后边接了边框回归,所以即便是这9种anchor外的窗口也能得到一个跟目标比较接近的region proposal。
NIPS2015版本的Faster R-CNN使用的检测框架是RPN网络+Fast R-CNN网络分离进行的目标检测,整体流程跟Fast R-CNN一样,只是region proposal现在是用RPN网络提取的(代替原来的selective search)。同时作者为了让RPN的网络和Fast R-CNN网络实现卷积层的权值共享,训练RPN和Fast R-CNN的时候用了4阶段的训练方法:(a) 使用在ImageNet上预训练的模型初始化网络参数,微调RPN网络;(b) 使用(a)中RPN网络提取region proposal训练Fast R-CNN网络;(c) 使用(b)的Fast R-CNN网络重新初始化RPN, 固定卷积层进行微调;(d) 固定(b)中Fast R-CNN的卷积层,使用(c)中RPN提取的region proposal微调网络。权值共享后的RPN和Fast R-CNN用于目标检测精度会提高一些。
使用训练好的RPN网络,给定测试图像,可以直接得到边缘回归后的region proposal,根据region proposal的类别得分对RPN网络进行排序,并选取前300个窗口作为Fast R-CNN的输入进行目标检测,使用VOC07+12训练集训练,VOC2007测试集测试mAP达到73.2%(selective search + Fast R-CNN是70%),目标检测的速度可以达到每秒5帧(selective search+Fast R-CNN是2~3s一张)。需要注意的是,最新的版本已经将RPN网络和Fast R-CNN网络结合到了一起——将RPN获取到的proposal直接连到ROI pooling层,这才是一个真正意义上的使用一个CNN网络实现端到端目标检测的框架。
小结:Faster R-CNN将一直以来分离的region proposal和CNN分类融合到了一起,使用端到端的网络进行目标检测,无论在速度上还是精度上都得到了不错的提高。然而Faster R-CNN还是达不到实时的目标检测,预先获取region proposal,然后在对每个proposal分类计算量还是比较大。比较幸运的是YOLO这类目标检测方法的出现让实时性也变的成为可能。
总的来说,从R-CNN, SPP-NET, Fast R-CNN, Faster R-CNN一路走来,基于深度学习目标检测的流程变得越来越精简,精度越来越高,速度也越来越快。可以说基于region proposal的R-CNN系列目标检测方法是当前目标检测最主要的一个分支。
3.3 基于回归方法的深度学习目标检测算法
Faster R-CNN的方法目前是主流的目标检测方法,但是速度上并不能满足实时的要求。YOLO一类的方法慢慢显现出其重要性,这类方法使用了回归的思想,既给定输入图像,直接在图像的多个位置上回归出这个位置的目标边框以及目标类别。
(1)YOLO (CVPR2016, oral): You Only Look Once: Unified, Real-Time Object Detection
1612第三周学习笔记_第7张图片
我们直接看上面YOLO的目标检测的流程图:(a) 给定一个输入图像,首先将图像划分成7*7的网格;(b) 对于每个网格,我们都预测2个边框(包括每个边框是目标的置信度以及每个边框区域在多个类别上的概率);(c)根据上一步可以预测出7*7*2个目标窗口,然后根据阈值去除可能性比较低的目标窗口,最后NMS去除冗余窗口即可。可以看到整个过程非常简单,不需要中间的region proposal查找目标,直接回归便完成了位置和类别的判定。
1612第三周学习笔记_第8张图片
那么如何才能做到直接在不同位置的网格上回归出目标的位置和类别信息呢?上面是YOLO的网络结构图,前边的网络结构跟GoogLeNet的模型比较类似,主要的是最后两层的结构,卷积层之后接了一个4096维的全连接层,然后后边又全连接到一个7*7*30维的张量上。实际上这7*7就是划分的网格数,现在要在每个网格上预测目标两个可能的位置以及这个位置的目标置信度和类别,也就是每个网格预测两个目标,每个目标的信息有4维坐标信息(中心点坐标+长宽),1个是目标的置信度,还有类别数20(VOC上20个类别),总共就是(4+1)*2+20 = 30维的向量。这样可以利用前边4096维的全图特征直接在每个网格上回归出目标检测需要的信息(边框信息加类别)。
小结:YOLO将目标检测任务转换成一个回归问题,大大加快了检测的速度,使得YOLO可以每秒处理45张图像。而且由于每个网络预测目标窗口时使用的是全图信息,使得false positive比例大幅降低(充分的上下文信息)。但是YOLO也存在问题:没有了region proposal机制,只使用7*7的网格回归会使得目标不能非常精准的定位,这也导致了YOLO的检测精度并不是很高。
(2)SSD: SSD: Single Shot MultiBox Detector
上面分析了YOLO存在的问题,使用整图特征在7*7的粗糙网格内回归对目标的定位并不是很精准。那是不是可以结合region proposal的思想实现精准一些的定位?SSD结合YOLO的回归思想以及Faster R-CNN的anchor机制做到了这点。
1612第三周学习笔记_第9张图片
上图是SSD的一个框架图,首先SSD获取目标位置和类别的方法跟YOLO一样,都是使用回归,但是YOLO预测某个位置使用的是全图的特征,SSD预测某个位置使用的是这个位置周围的特征(感觉更合理一些)。那么如何建立某个位置和其特征的对应关系呢?可能你已经想到了,使用Faster R-CNN的anchor机制。如SSD的框架图所示,假如某一层特征图(图b)大小是8*8,那么就使用3*3的滑窗提取每个位置的特征,然后这个特征回归得到目标的坐标信息和类别信息(图c)。不同于Faster R-CNN,这个anchor是在多个feature map上,这样可以利用多层的特征并且自然的达到多尺度(不同层的feature map 3*3滑窗感受野不同)。
小结:SSD结合了YOLO中的回归思想和Faster R-CNN中的anchor机制,使用全图各个位置的多尺度区域特征进行回归,既保持了YOLO速度快的特性,也保证了窗口预测的跟Faster R-CNN一样比较精准。SSD在VOC2007上mAP可以达到72.1%,速度在GPU上达到58帧每秒。
总结:YOLO的提出给目标检测一个新的思路,SSD的性能则让我们看到了目标检测在实际应用中真正的可能性。
3.4 提高目标检测方法
R-CNN系列目标检测框架和YOLO目标检测框架给了我们进行目标检测的两个基本框架。除此之外,研究人员基于这些框架从其他方面入手提出了一系列提高目标检测性能的方法。
(1)难分样本挖掘(hard negative mining)
R-CNN在训练SVM分类器时使用了难分样本挖掘的思想,但Fast R-CNN和Faster R-CNN由于使用端到端的训练策略并没有使用难分样本挖掘(只是设置了正负样本的比例并随机抽取)。CVPR2016的 Training Region-based Object Detectors with Online Hard Example Mining(oral)将难分样本挖掘(hard example mining)机制嵌入到SGD算法中,使得Fast R-CNN在训练的过程中根据region proposal的损失自动选取合适的region proposal作为正负例训练。实验结果表明使用OHEM(Online Hard Example Mining)机制可以使得Fast R-CNN算法在VOC2007和VOC2012上mAP提高 4%左右。
(2)多层特征融合
Fast R-CNN和Faster R-CNN都是利用了最后卷积层的特征进行目标检测,而由于高层的卷积层特征已经损失了很多细节信息(pooling操作),所以在定位时不是很精准。HyperNet( HyperNet: Towards Accurate Region Proposal Generation and Joint Object Detection)等一些方法则利用了CNN的多层特征融合进行目标检测,这不仅利用了高层特征的语义信息,还考虑了低层特征的细节纹理信息,使得目标检测定位更精准。
(3)使用上下文信息
在提取region proposal特征进行目标检测时,结合region proposal上下文信息,检测效果往往会更好一些。( Object detection via a multi-region & semantic segmentation-aware CNN model以及 Inside-Outside Net: Detecting Objects in Context with Skip Pooling and Recurrent Neural Networks等论文中都使用了上下文信息)

4 目标跟踪理论方法小结
4.1 引言
在需要监控的环境里,如何能够判断出进入特定区域的目标,并且能够跟踪目标的轨迹。分为两种情况:一是静态背景下的目标跟踪;二是动态背景下的目标跟踪。
4.2 静态背景下的目标跟踪方法
(1)单目标:单目标的静态背景下的目标跟踪指的是摄像头是固定在某一方位,其所观察的视野也是静止的。通常采用背景差分法,对于目标的描述,通常用目标连通区域的像素数目的多少来表达目标的大小,或者用目标区域的高宽比等。目标的位置信息可采用投影的方式来定位。
(2)多目标:静态环境下的多目标跟踪,需要确定每个目标的特征,位置,运动方向,速度等信息。
(3)预处理:由于获得的图像总会有着噪声,需要对图像做一些预处理,如高斯平滑,均值滤波,或者进行一些灰度拉伸等图像增强的操作。
4.3 动态背景下的目标跟踪
例子: 跟踪过程中采用的各种方法说明. 1)在0-360度不同偏角时,获得背景图片,可进行混合高斯背景建模,建立图片库,以俯仰角和偏转角不同标志每张背景图片,以备匹配使用;2)背景差分获得目标后,对差分图像需要进行平滑、去噪等处理,去除干扰因素;3)对目标采用多颜色空间(HSV、YUV)特征提取,对不同颜色空间的特征相与(AND),得到目标特征,以更好的在当前帧图片中找到目标;4)实时得到的当前帧图片,进行混合高斯建模,排除树叶摇动等引起的背景变化;5)跟踪算法可采用多子块匹配方法、camshift方法等。
4.4 相关理论介绍
(1)CamShift跟踪算法
近几年来,一种名为CamShift的跟踪算法凭借其在实时性和鲁棒性方面良好的表现,正受到越来越多的关注。现阶段CamShift算法已经广泛应用到感知用户界面中的人脸跟踪中,以及一些半自动的运动目标跟踪。一方面,CamShift算法应该属于基于区域的方法,它利用区域内的颜色信息对目标进行跟踪;另一方面,CamShift算法却是一种非参数技巧,它是通过聚类的方式搜寻运动目标的。
简单的说,CamShift算法利用目标的颜色特征在视频图像中找到运动目标所在的位置和大小,在下一帧视频图像中,用运动目标当前的位置和大小初始化搜索窗口,重复这个过程就可以实现对目标的连续跟踪。在每次搜寻前将搜索窗口的初始值设置为运动目标当前的位置和大小,由于搜索窗口就在运动目标可能出现的区域附近进行搜寻,这样就可以节省大量的搜寻时间,使CamShift算法具有了良好的实时性。同时,CamShift算法是通过颜色匹配找到运动目标,在目标运动的过程中,颜色信息变化不大,所以CamShift算法具有良好的鲁棒性。由于RGB颜色空间对光照亮度变化比较敏感,为了减少光照亮度变化对跟踪效果的影响,CamShift 算法将图像由RGB 颜色空间转化到HSV 颜色空间进行后续处理。
(2)混合高斯模型
背景中当树叶在摇动时,它会反复地覆盖某像素点然后又离开,此像素点的值会发生剧烈变化,为有效地提取感兴趣的运动目标,应该把摇动的树叶也看作背景。这时任何一个单峰分布都无法描述该像素点的背景,因为使用单峰分布就表示己经假定像素点的背景在除了少量噪声以外是静止的,单模态模型无法描述复杂的背景。在现有效果较好的背景模型中有些为像素点建立了多峰分布模型(如混合高斯模型),有些对期望的背景图像进行预测,这些算法的成功之处在于定义了合适的像素级稳态(Stationarity )准则,满足此准则的像素值就认为是背景,在运动目标检测时予以忽略。对于特定的应用场景,要想对特定算法的弱点与优势进行评价,必须明确这种像素级稳态准则。对于混乱的复杂背景,不能使用单高斯模型估计背景,考虑到背景像素值的分布是多峰的,可以根据单模态的思想方法,用多个单模态的集合来描述复杂场景中像素点值的变化,混合高斯模型正是用多个单高斯函数来描述多模态的场景背景。
混合高斯模型的基本思想是:对每一个像素点,定义K个状态来表示其所呈现的颜色,K值一般取3-5之间(取决于计算机内存及对算法的速度要求),K值越大,处理波动能力越强,相应所需的处理时间也就越长。K个状态中每个状态用一个高斯函数表示,这些状态一部分表示背景的像素值,其余部分则表示运动前景的像素值。
4.5 图像分割,背景消除和阴影去除
在视频中获取移动目标,这涉及到图像分割,背景消除和阴影去除;主要思想是去除背景,获取前景。备注:此处是除了采用分类器训练以外的常见算法总结.
(1)基于模板的图像分割: 将边缘点聚类成线,Hough变换,RANSAC.
(2)背景消除. (a)基于像素方法: 帧差法(frame differencing);均值-阈值方法(mean-threshold method);混合高斯模型(Gaussian mixture model);非参数模型(non-parametric). (b)基于区域方法: LBP纹理(LBP-texture);共生矩阵(co-occurrence matrices);协方差矩阵(covariance matrices);直方图方法(accumulated histogram). (c)其它方法: 向量分解法(eigenspace decomposition).

5 HyperNet: Towards Accurate Region Proposal Generation and Joint Object Detection
5.1 引言
该论文提出了一种Proposal提取和目标检测一体的HyperNet模型,Faster-rcnn中的proposal提取网络RPN由于特征图的粗糙,在小目标及大IOU阈值情况下的检测率低。Hyper特征是将各层featuremaps的特征聚集然后统一到一个空间,综合低层,中间层和高层特征获得了较高的recall率。在cpu上处理速度是5fps。相比与faster rcnn,hypernet更擅长处理小物体,并且产生更高质量的proposal。
1612第三周学习笔记_第10张图片
定义 B
1612第三周学习笔记_第11张图片
(1) Network for Hyper Feature Extraction:RCNN之后的framework在做小物体检测时有一个通病,就是物体的的信息会损失的非常厉害,比如原来32*32的物体,到最后一层feature map 只剩下了2*2,所以本文为了处理这个问题提出了两种方法,第一种,放大feature map,第二种,skip layer。按照标配输入1000*600的图最后的map size 会是62*37, 这样的话信息损失非常严重,所以作者想办法把最后的map放大到250*150,把第一层的map做一个max pooling, 把最后一层的map做一个deconv,然后把1,3,5层的map LRN之后连在一起。LRN是必要的,因为不同层的feature resolution 不同,如果不做正则norm大的feature会压制住norm小的feature。在产生hyper feature map之前,这些resize过的map会各自通过一层卷积,一方面缩小维度,另一方面增强语义。
(2) Region Proposal Generation:设计了一个轻量型的卷积网用于生成proposal,这个卷积网包括一个ROI池化层,一个卷积层和一个全连接层,输出层有两个子层,计算存在物体的可信度和bbox的回归。
(3) 检测的标准框架FC-Dropout-FC-Dropout,在FC层之前,增加一个卷积层,检测网络输出也有两个子层。

你可能感兴趣的:(学习笔记Blogs,深度学习笔记,目标检测,目标跟踪)