基于图像的目标检测与定位方法概述

您所在的位置:网站首页 判断污点存在的位置的方法 基于图像的目标检测与定位方法概述

基于图像的目标检测与定位方法概述

2024-07-13 01:45:44| 来源: 网络整理| 查看: 265

目录 1. 目标检测与定位概念2. 目标检测与定位方法2.1 传统目标检测流程2.2 two-stage检测算法2.2.1 R-CNN2.2.2 two-stage其他算法2.2.2.1 Spatial Pyramid Pooling(空间金字塔池化)2.2.2.2 Fast-RCNN2.2.2.3 P11 Faster RCNN 2.3 One-Stage2.3.1 YOLO2.3.2 SSD 参考 本文简单介绍基于图像的目标检测与定位相关概念,R-CNN和YOLO等算法基本思想。本文为学习笔记,参考了许多优秀博文,如有错误还望指正。

1. 目标检测与定位概念

目标检测与定位的任务是判断图片中目标类别, 并且在图片中用边框标记出它的位置。 图1 目标检测与定位案例 具体来说,首先需要进行图像识别(Classification)。该阶段输入图像,输出物体的类别,可以通过准确度进行评估。第二步是定位(Localization)。该阶段输入图片,输出圈出目标的方框在图片中的位置。

2. 目标检测与定位方法 传统的目标检测算法:Cascade + HOG/DPM + Haar/SVM以及上述方法的诸多改进、优化;two-stage算法,采用候选区域/框深度学习分类:通过提取候选区域,并对相应区域进行以深度学习方法为主的分类的方案,如:R-CNN(Selective Search + CNN + SVM),SPP-net(ROI Pooling),Fast R-CNN(Selective Search + CNN + ROI)和Faster R-CNN(RPN + CNN + ROI)等系列方法;One-stage算法,基于深度学习的回归方法:YOLO/SSD等方法; 图2是各类算法出现时间及性能。FPS指每秒传输帧数(Frames Per Second),mAP是均值平均精度。 图2 各类算法出现时间及性能 2.1 传统目标检测流程

1)区域选择 穷举策略:采用滑动窗口,且设置不同的大小,不同的长宽比对图像进行遍历,时间复杂度高; 2)特征提取 有SIFT、HOG等方法。即尺度不变特征转换(Scale-invariant feature transform,SIFT),是用于图像处理领域的一种描述子。这种描述具有尺度不变性,可在图像中检测出关键点,是一种局部特征描述子。方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。HOG特征通过计算和统计图像局部区域的梯度方向直方图来构成特征。 形态多样性、光照变化多样性、背景多样性使得特征鲁棒性差; 3)分类器分类 主要有SVM、Adaboost等。支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器。

2.2 two-stage检测算法 2.2.1 R-CNN

该算法预先找出图中目标可能出现的位置,即候选区域(Region Proposal),然后利用卷积神经网络(Convolutional Neural Networks)进行分类。相对于传统的检测算法,不需要额外的训练分类器。 候选区域(Region Proposal)的选择利用了图像中的纹理、边缘、颜色等信息,可以保证在选取较少窗口(几千甚至几百)的情况下保持较高的召回率(Recall),召回率指的是在所有存在目标的区域样本中,被正确识别为候选区域的比例。 在这里插入图片描述 卷积神经网络CNN参考了生物视觉原理。从原始信号摄入开始(瞳孔摄入像素 Pixels),接着做初步处理(大脑皮层某些细胞发现边缘和方向),然后抽象(大脑判定,眼前的物体的形状,是圆形的),然后进一步抽象(大脑进一步判定该物体类别),示意图如图4。对于不同的物体,人类视觉也是通过这样逐层分级,来进行认知的。 在这里插入图片描述 卷积神经网络组成大致如下图。 在这里插入图片描述

卷积层(Convolutional layer),卷积运算的目的是提取输入的不同特征,第一层卷积层可能只能提取一些低级的特征如边缘、线条和角等层级,更多层的网络能从低级特征中迭代提取更复杂的特征。在具体应用中,往往有多个卷积核。卷积核就是图像处理时,给定输入图像,输入图像中一个小区域中像素加权平均后成为输出图像中的每个对应像素,其中权值由一个函数定义,这个函数称为卷积核。可以认为,每个卷积核代表了一种图像模式,如果某个图像块与此卷积核卷积出的值大,则认为此图像块十分接近于此卷积核。 在这里插入图片描述 池化层(Pooling layer),通常在卷积层之后会得到维度很大的特征,将特征切成几个区域,取其最大值或平均值,得到新的、维度较小的特征。原始图片是20×20的,我们对其进行下采样,采样窗口为10×10,最终将其下采样成为一个2×2大小的特征图。 在这里插入图片描述 全连接层( Fully-Connected layer), 把所有局部特征结合变成全局特征,用来计算最后每一类的得分。 R-CNN的实现步骤(1) 输入测试图像,(2) 利用选择性搜索Selective Search算法在图像中从下到上提取2000个左右的可能包含物体的候选区域Region Proposal,(3) 因为取出的区域大小各自不同,所以需要将每个Region Proposal缩放成统一的227x227的大小并输入到CNN,将CNN的输出作为特征,将每个Region Proposal提取到的CNN特征输入到SVM进行分类。 在这里插入图片描述 R-CNN虽然不再像传统方法那样穷举,但R-CNN流程的第一步中对原始图片通过Selective Search提取的候选框region proposal多达2000个左右,而这2000个候选框每个框都需要进行CNN提特征+SVM分类,计算量很大,导致R-CNN检测速度很慢,一张图都需要47s。

2.2.2 two-stage其他算法 2.2.2.1 Spatial Pyramid Pooling(空间金字塔池化)

在普通的CNN机构中,输入图像的尺寸往往是固定的(比如224*224像素),输出则是一个固定维数的向量。SPP Net在普通的CNN结构中加入了ROI池化层(ROI Pooling),使得网络的输入图像可以是任意尺寸的,输出则不变,同样是一个固定维数的向量。 只对原图进行一次卷积计算,便得到整张图的卷积特征,然后找到每个候选框在特征上的映射,将此映射作为每个候选框的卷积特征输入到SPP layer和之后的层,完成特征提取工作。 R-CNN要对每个区域计算卷积,而SPPNet只需要计算一次卷积,从而节省了大量的计算时间,比R-CNN有一百倍左右的提速。

在这里插入图片描述

2.2.2.2 Fast-RCNN

R-CNN有一些相当大的缺点,把这些缺点都改掉了,就成了Fast R-CNN。由于每一个候选框都要独自经过CNN,这使得花费的时间非常多。解决方案是共享卷积层,现在不是每一个候选框都当做输入进入CNN了,而是输入一张完整的图片,在第五个卷积层再得到每个候选框的特征。 流程为1.在图像中确定约1000-2000个候选框 (使用选择性搜索);2.对整张图片输进CNN,得到feature map;3.找到每个候选框在feature map上的映射,选出候选框;4.对候选框中提取出的特征,使用分类器判别是否属于一个特定类;5.对于属于某一类别的候选框,用回归器进一步调整其位置。

2.2.2.3 P11 Faster RCNN

Fast R-CNN存在的问题:选择性搜索,找出所有的候选框,这个也非常耗时。能不能找出一个更加高效的方法来求出这些候选框呢?解决方案为加入一个提取边缘的神经网络,也就说找到候选框的工作也交给神经网络来做了。 所以,在Fast R-CNN中引入Region Proposal Network(RPN)替代Selective Search。 在这里插入图片描述 流程为1.对整张图片输进CNN,得到feature map;2.卷积特征输入到RPN,得到候选框的特征信息;3.对候选框中提取出的特征,使用分类器判别是否属于一个特定类。

2.3 One-Stage 2.3.1 YOLO

Faster R-CNN的方法目前是主流的目标检测方法,但是速度上并不能满足实时的要求。YOLO一类的方法慢慢显现出其重要性,这类方法使用了回归的思想,利用整张图作为网络的输入,直接在图像的多个位置上回归出这个位置的目标边框,以及目标所属的类别。 YOLO的目标检测的流程图如下, 在这里插入图片描述 (1) 给个一个输入图像,首先将图像划分成7*7的网格; (2) 对于每个网格,都预测2个边框(包括每个边框是目标的置信度,每个边框区域在多个类别上的概率) (3) 根据上一步可以预测出772个目标窗口,然后根据阈值去除可能性比较低的目标窗口,最后去除冗余窗口即可。 整个过程非常简单,不再需要中间的region proposal找目标,直接回归便完成了位置和类别的判定。总的来说,YOLO将目标检测任务转换成一个回归问题,大大加快了检测的速度,使得YOLO可以每秒处理45张图像。 但是YOLO也存在问题:没有了Region Proposal机制,只使用7*7的网格回归会使得目标不能非常精准的定位,这也导致了YOLO的检测精度并不是很高。

2.3.2 SSD

YOLO存在的问题在于使用整图特征在7*7的粗糙网格内回归对目标的定位并不是很精准。那是不是可以结合region proposal的思想实现精准一些的定位?SSD结合YOLO的回归思想以及Faster R-CNN的anchor机制做到了这点。Anchor指的是框定目标的方框。

在这里插入图片描述 上图是SSD的一个框架图,首先SSD获取目标位置和类别的方法跟YOLO一样,都是使用回归,但是YOLO预测某个位置使用的是全图的特征,SSD预测某个位置使用的是这个位置周围的特征。 如何建立某个位置和其特征的对应关系呢?可以使用Faster R-CNN的anchor机制。如SSD的框架图所示,假如某一层特征图大小是88,那么就使用33的滑窗提取每个位置的特征,然后这个特征回归得到目标的坐标信息和类别信息。 Anchor机制是说,根据预定义的Anchor,Feature Map上的一点为中心,就可以在原图上生成多种不同形状不同大小的边框,如下图: 在这里插入图片描述 感受野指特征图上的某个点能看到的输入图像的区域,即特征图上的点是由输入图像中感受野大小区域的计算得到的。根据CNN的感受野,一个特征图上的点对应于原图的16×1616×16的正方形区域,仅仅利用该区域的边框进行目标定位,其精度无疑会很差,甚至根本“框”不到目标。 而加入了Anchor后,一个特征图上的点可以生成9种不同形状不同大小的框,这样“框”住目标的概率就会很大,就大大的提高了检查的召回率;再通过后续的网络对这些边框进行调整,其精度也能大大的提高。 不同于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帧每秒。

参考

[1] https://easyai.tech/ai-definition/cnn/ [2] https://blog.csdn.net/l2181265/article/details/88072497 [3] https://blog.csdn.net/qq_36396104/article/details/85230012 [4] https://cloud.tencent.com/developer/news/281788 [5] https://blog.csdn.net/qq_25762497/article/details/51052861 [6] https://zhuanlan.zhihu.com/p/33544892



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭