您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > AI人工智能 > AI人工智能培训课件-目标检测概述-7.2
目标检测01目标检测简介输入图片目标检测简介输入图片目标检测简介问题:图片中的车在哪里?输入图片目标检测简介问题:图片中的车在哪里?目标检测简介目标检测(ObjectDetection)的任务是找出图像中所有感兴趣的目标(物体),确定它们的类别和位臵,是计算机视觉领域的核心问题之一。由于各类物体有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具有一定挑战性的问题。目标检测简介目标检测的核心问题:图像识别+定位定位方面的问题:目标可能出现在图像的任何位臵。目标有各种不同的大小。目标可能有各种不同的形状。目标检测简介图像识别:目标检测简介定位:目标检测简介定位思路一:将定位转换为分类问题,遍历所有可能的区域catdeer目标检测简介定位思路一:将定位转换为分类问题,遍历所有可能的区域CNNdeer?cat?background?目标检测简介定位思路一:将定位转换为分类问题,遍历所有可能的区域CNNdeer?cat?background?目标检测简介定位思路一:将定位转换为分类问题,遍历所有可能的区域CNNdeer?cat?background?目标检测简介定位思路一:将定位转换为分类问题,遍历所有可能的区域目标检测简介定位思路一:滑动窗算法(使用固定尺寸和固定步长)目标检测简介定位思路一:滑动窗算法(使用多种尺寸+步长)3x257x2570.5分类概率(猫)目标检测简介定位思路一:滑动窗算法(使用多种尺寸+步长)3x257x2570.50.75分类概率(猫)目标检测简介定位思路一:滑动窗算法(使用多种尺寸+步长)3x257x2570.50.750.6分类概率(猫)目标检测简介定位思路一:滑动窗算法(使用多种尺寸+步长)3x257x2570.50.750.60.8分类概率(猫)目标检测简介定位思路一:滑动窗算法(使用多种尺寸+步长)3x257x2570.50.750.60.8分类概率(猫)3x257x257目标检测简介定位思路二:回归狗(x,y,w,h)猫(x,y,w,h)猫(x,y,w,h)鸭(x,y,w,h)16个数目标检测简介定位思路二:回归狗(x,y,w,h)猫(x,y,w,h)8个数目标检测简介定位思路二:回归猫(x,y,w,h)猫(x,y,w,h)猫(x,y,w,h)….网络需要对变动的目标输出个数进行刻画目标检测简介定位思路二:回归和图像分类网络一样,我们需要一个提取图像特征的网络在上述卷积神经网络的尾部作出改进,加上分类模块和回归模块回归模块用欧氏距离度量损失,网络使用梯度下降进行训练在预测阶段合并分类模块和回归模块的结果目标检测简介定位思路二:回归目标检测简介目标检测分类:1.Twostage目标检测算法先进行候选区域生成(一个有可能包含待检物体的预选框),再通过卷积神经网络进行样本分类。任务:特征提取—生成候选区域—分类/定位回归。常见的twostage目标检测算法有:R-CNN、SPP-Net、FastR-CNN、FasterR-CNN和R-FCN等。目标检测简介目标检测分类:2.Onestage目标检测算法不生成候选区域,直接在网络中提取特征来预测物体分类和位臵。任务:特征提取—分类/定位回归。常见的onestage目标检测算法有:OverFeat、YOLOv1、YOLOv2、YOLOv3、SSD和RetinaNet等。目标检测简介目标检测简介目标检测的应用:目标检测具有巨大的实用价值和应用前景。应用领域包括人脸检测、行人检测、车辆检测、飞机航拍或卫星图像中道路的检测、车载摄像机图像中的障碍物检测、医学影像在的病灶检测等。还有在安防领域中,可以实现比如安全帽、安全带等动态检测,移动侦测、区域入侵检测、物品看护等功能。02TwoStage目标检测算法RCNNRCNN(论文:Richfeaturehierarchiesforaccurateobjectdetectionandsemanticsegmentation)是将CNN方法引入目标检测领域,提高了目标检测效果,改变了目标检测领域的主要研究思路,是当之无愧的开山之作。RCNNR-CNN的创新点使用CNN(ConvNet)对regionproposals计算featurevectors。从经验驱动特征(SIFT、HOG)到数据驱动特征(CNNfeaturemap),提高特征对样本的表示能力。采用大样本下(ILSVRC)有监督预训练和小样本(PASCAL)微调(fine-tuning)的方法解决小样本难以训练甚至过拟合等问题。注:ILSVRC其实就是众所周知的ImageNet的挑战赛,数据量极大;PASCAL数据集(包含目标检测和图像分割等),相对较小。RCNNR-CNN介绍R-CNN作为R-CNN系列的第一代算法,其实没有过多的使用深度学习的思想,而是将深度学习和传统的计算机视觉的知识相结合。比如R-CNN流程中第二步和第四步其实就属于传统的计算机视觉技术。使用selectivesearch提取regionproposals,再使用SVM实现分类。RCNNR-CNN介绍R-CNN算法进行目标检测的简要步骤:将图像输入到网络中利用选择性搜索SelectiveSearch算法在图像中从下到上提取2000个左右的可能包含物体的候选区域RegionProposal取出的区域大小各自不同,所以需要将每个RegionProposal缩放(warp)成统一的227x227的大小并输入到CNN,将CNN的fc7层的输出作为特征将每个RegionProposal提取到的CNN特征输入到SVM进行分类RCNNR-CNN算法训练步骤1)使用预训练模型RCNNR-CNN算法训练步骤1)使用预训练模型RCNNR-CNN算法训练步骤2)对该模型进行微调在VOC数据集上,将分类数从1000改为20,比如20个物体类别+1个背景去掉最后一个全连接层RCNNR-CNN算法训练步骤3)特征提取提取图像的所有候选框(使用选择性搜索SelectiveSearch方法)对于每一个区域:调整区域大小以适合CNN的输入,做一次前向运算,将第五个池化层的输出(就是对候选框提取到的特征)存到硬盘RCNNR-CNN算法训练步骤4)训练一个SVM分类器(二分类)判断这个候选框里物体的类别每个类别对应一个SVM,判断是不是属于这个类别,是就是positive,反之nagativeRCNNR-CNN算法训练步骤5)使用回归器精修候选框位臵对于每一个类,训练一个线性回归模型去判定这个框是否预测准确SPPNetSPP-Net是出自论文《SpatialPyramidPoolinginDeepConvolutionalNetworksforVisualRecognition》,SPP即空间金字塔池化(SpatialPyramidPooling)。SPPNet加速RCNN在RCNN中,2000个regionproposal都是图像的一部分,完全可以对图像提一次卷积层特征,然后只需要将regionproposal在原图的位臵映射到卷积层特征图上,这样对于一张图像我们只需要提一次卷积层特征,然后将每个regionproposal的卷积层特征输入到全连接层做后续操作。不过每个regionproposal的尺度不一样,而全连接层输入必须是固定的长度,SPPNet论文恰好解决了这个问题。SPPNet解决全连接层固定尺寸输入当全连接层面对各种尺寸的输入数据时,就需要对输入数据进行crop(crop就是从一个大图扣出网络输入大小的patch),或warp(把一个边界框boundingbox的内容resize成227×227)等一系列操作以统一图片的尺寸大小,比如224*224(ImageNet)、32*32(LenNet)等。SPPNet解决全连接层固定尺寸输入SPPNet解决全连接层固定尺寸输入warp和crop这种预处理,导致图片要么被拉伸变形、要么物体不全,限制了识别精确度。比如一张16:9比例的图片Resize成1:1的图片,图片将会失真。既然由于全连接FC层的存在,普通的CNN需要通过固定输入图片的大小来使得全连接层的输入固定。那借鉴卷积层可以适应任何尺寸,在卷积层的最后加入spatialpyramidpoolinglayer,使得后面全连接层得到的输入变得固定。SPPNet下图是R-CNN和SPPNet检测流程对比图:SPPNetSSP层的特点结合空间金字塔方法实现CNN的多尺度输入在普通的CNN结构中加入了ROI池化层(ROIPooling),使得网络的输入图像可以是任意尺寸的,输出尺寸则不变ROI池化层一般跟在卷积层后面,在SPPlayer中每一个pooling的filter会根据输入调整大小,而SPP的输出则是固定尺寸的向量,然后给到全连接FC层。SPPNetFastR-CNNFastR-CNN的创新点借用SPPNet的思路,用RoIpooling替换最后一层的maxpooling,用RoIpoolinglayer将featuremaps下采样到一个7x7的特征图。流程上只对整幅图像进行一次特征提取,避免R-CNN中的冗余特征提取。FastR-CNN直接使用softmax替代SVM分类,同时利用多任务损失函数将边框回归也加入到了网络中,这样整个的训练过程是端到端的(除去RegionProposal提取阶段)。采用SVD对FastR-CNN网络末尾并行的全连接层进行分解,减少计算复杂度,加快检测速度。FastR-CNNFastR-CNN的流程图FastR-CNNRoIPooling层详解因为FastR-CNN使用全连接层,所以应用RoIPooling将不同大小的ROI转换为固定大小。RoIPooling是Pooling层的一种,而且是针对RoI的Pooling,其特点是输入特征图尺寸不固定,但是输出特征图尺寸固定(如7x7)。RoI是RegionofInterest的简写,一般是指图像上的区域框,但这里指的是由SelectiveSearch提取的候选框。FastR-CNNRoIPooling层详解FastR-CNNRoIPooling的输入输入有两部分组成:特征图(featuremap):指的是上面所示的特征图,在FastR-CNN中,它位于RoIPooling之前RoIs:其表示所有RoI的N*5的矩阵。其中N表示RoI的数量,第一列表示图像index,其余四列表示其余的左上角和右下角坐标。FastR-CNNRoIPooling示例FasterR-CNNFasterR-CNN的创新点FastR-CNN依赖于外部候选区域方法,如选择性搜索。但这些算法在CPU上运行且速度很慢。在测试中,FastR-CNN需要2.3秒来进行预测,其中2秒用于生成2000个ROI。FasterR-CNN采用与FastR-CNN相同的设计,只是它用内部深层网络代替了候选区域方法。新的候选区域网络(RPN)在生成ROI时效率更高,并且以每幅图像10毫秒的速度运行。FasterR-CNNFasterR-CNN的创新点技术成就梦想
本文标题:AI人工智能培训课件-目标检测概述-7.2
链接地址:https://www.777doc.com/doc-6762861 .html