目标检测综述
无人机影像处理中的目标检测算法综述

无人机影像处理中的目标检测算法综述目标检测在无人机影像处理中扮演着关键的角色,其能够识别并定位图像中的特定目标,为无人机提供精确的导航和监测功能。
随着无人机技术的快速发展,目标检测算法也在不断演进和改进。
本文将对无人机影像处理中的目标检测算法进行综述,包括传统方法和深度学习方法。
一、传统目标检测算法1. 基于图像特征的传统目标检测算法基于图像特征的传统目标检测算法主要包括颜色特征、纹理特征和形状特征等。
其中,颜色特征算法通过提取目标物体的颜色信息进行检测,如基于颜色空间变换和阈值分割的方法。
纹理特征算法则利用目标物体的纹理信息进行检测,如基于纹理描述符和局部二值模式的方法。
形状特征算法则利用目标物体的形状信息进行检测,如基于轮廓描述和边缘检测的方法。
传统方法在目标检测中取得了一定的成果,但其鲁棒性和通用性相对较差,难以应对复杂的场景和光照变化。
2. 基于模型的传统目标检测算法基于模型的传统目标检测算法通过构建目标物体的模型来进行检测,主要包括模板匹配法和统计模型法。
模板匹配法通过将目标物体的模板与待检测图像进行匹配来进行检测,如基于相关滤波器和灰度共生矩阵的方法。
统计模型法则通过对目标物体进行统计特征建模来进行检测,如基于隐马尔可夫模型和高斯混合模型的方法。
基于模型的传统方法在某些场景下能够获得较好的检测效果,但对目标物体的先验知识依赖较高,对目标形状和尺度变化敏感。
二、深度学习目标检测算法随着深度学习技术的发展,深度学习目标检测算法在无人机影像处理中逐渐取得了突破性的进展。
1. 基于卷积神经网络的深度学习目标检测算法基于卷积神经网络的深度学习目标检测算法主要包括R-CNN、Fast R-CNN、Faster R-CNN和YOLO等。
R-CNN通过首先生成候选框,再对候选框进行卷积特征提取和分类,实现目标检测。
Fast R-CNN将分类和定位任务融合到一个网络中,提高了检测速度。
Faster R-CNN则引入了区域建议网络,同时实现了准确的目标检测和高效的候选框生成。
基于transformer的目标检测综述

基于Transformer的目标检测综述一、引言目标检测是计算机视觉领域中的一个重要研究方向,旨在从图像中准确地检测并定位出各类物体。
近年来,随着深度学习和神经网络技术的不断发展,目标检测领域也取得了显著的进步。
特别是基于Transformer的目标检测方法,凭借其强大的建模能力和并行计算能力,在目标检测任务中展现出了优越的性能。
本文将对基于Transformer的目标检测方法进行综述,探讨其发展历程、主要技术、优缺点等方面的内容。
二、基于Transformer的目标检测方法发展历程自Transformer架构被提出以来,其在自然语言处理领域取得了巨大的成功。
随后,研究人员开始尝试将Transformer应用于计算机视觉任务,特别是在目标检测领域。
早期的研究工作主要集中在将Transformer与传统的目标检测算法相结合,以改进检测性能。
例如,将Transformer用于特征提取或位置编码,以增强传统算法的表示能力和定位精度。
随着研究的深入,一些更具创新性的基于Transformer的目标检测方法逐渐被提出。
这些方法摒弃了传统算法中的某些组件,如CNN的特征提取部分,转而完全依赖于Transformer来提取特征和完成检测任务。
这些方法通常采用类似于自回归的思想,通过多阶段、多尺度的预测来提高检测精度。
三、基于Transformer的目标检测方法主要技术1.特征提取:基于Transformer的目标检测方法通常采用类似于自回归的方式进行多阶段预测。
在每个阶段,模型首先使用Transformer对图像进行特征提取,然后根据提取的特征进行物体分类和位置回归。
Transformer中的自注意力机制能够有效地捕捉图像中的长距离依赖关系,从而更好地提取物体的特征。
2.位置编码:在传统的CNN-based目标检测方法中,位置编码是一个重要的步骤,旨在为模型提供空间信息。
然而,在基于Transformer的方法中,位置编码的实现方式略有不同。
目标检测综述

如上图所示,传统目标检测的方法一般分为三个阶段:首先在给定的图像上选择一些候选的区域,然后对这些区域提取特征,最后使用训练的分类器进行分类。
下面我们对这三个阶段分别进行介绍。
(1) 区域选择这一步是为了对目标的位置进行定位。
由于目标可能出现在图像的任何位置,而且目标的大小、长宽比例也不确定,所以最初采用滑动窗口的策略对整幅图像进行遍历,而且需要设置不同的尺度,不同的长宽比。
这种穷举的策略虽然包含了目标所有可能出现的位置,但是缺点也是显而易见的:时间复杂度太高,产生冗余窗口太多,这也严重影响后续特征提取和分类的速度和性能。
(实际上由于受到时间复杂度的问题,滑动窗口的长宽比一般都是固定的设置几个,所以对于长宽比浮动较大的多类别目标检测,即便是滑动窗口遍历也不能得到很好的区域)(2) 特征提取由于目标的形态多样性,光照变化多样性,背景多样性等因素使得设计一个鲁棒的特征并不是那么容易。
然而提取特征的好坏直接影响到分类的准确性。
(这个阶段常用的特征有 SIFT、 HOG 等)(3) 分类器主要有 SVM, Adaboost 等。
总结:传统目标检测存在的两个主要问题:一是基于滑动窗口的区域选择策略没有针对性,时间复杂度高,窗口冗余;二是手工设计的特征对于多样性的变化并没有很好的鲁棒性。
对于传统目标检测任务存在的两个主要问题,我们该如何解决呢?对于滑动窗口存在的问题, region proposal 提供了很好的解决方案。
region proposal (候选区域) 是预先找出图中目标可能出现的位置。
但由于 regionproposal 利用了图像中的纹理、边缘、颜色等信息,可以保证在选取较少窗口(几千个甚至几百个) 的情况下保持较高的召回率。
这大大降低了后续操作的时间复杂度,并且获取的候选窗口要比滑动窗口的质量更高(滑动窗口固定长宽比) 。
比较常用的 region proposal 算法有selective Search 和 edge Boxes ,如果想具体了解 region proposal 可以看一下PAMI2015 的“What makes for effective detection proposals?”有了候选区域,剩下的工作实际就是对候选区域进行图像分类的工作 (特征提取 +分类)。
目标检测难点问题最新研究进展综述

目标检测作为计算机视觉的基础任务之一,需要对物体进行分类,并预测其所在位置。
目标检测广泛应用于人脸检测、航空图像检测、视频监控及自动驾驶等领域。
随着深度卷积神经网络在目标检测[1]领域的应用,当前目标检测算法相较于传统方法已经取得了相当不错的效果,但是在一些特殊的检测问题上,其检测精度仍然不能满足应用需求,目标检测研究仍然存在大量的挑战和难题[2-6]。
传统的目标检测算法[7-8]主要有三个步骤:滑动窗口遍历整个图像产生候选框,提取候选框特征,使用支持向量机(Support Vector Machine,SVM[9])等分类器对候选框进行分类。
传统方法存在时间复杂度高、冗余大和鲁棒性差等问题。
随着卷积神经网络的应用,这些问题逐渐得到了解决。
近年来,目标检测算法主要分为两大类:基于边框回归的一阶段网络和基于候选区域的两阶段网络。
一阶段网络在产生候选框的同时进行分类和回归,如YOLO[10]系列和SSD[11]系列网络。
而两阶段网络首先产生区域候选框,然后提取每个候选框的特征,产生最终的位置框并预测其类别,代表性网络有R-CNN[12]、Fast R-CNN[13]和Faster R-CNN[14]。
在目标检测研究的综述[15]方面,Chahal等人[16]主要探讨了一阶段和两阶段各种检测算法、质量指标、速度/目标检测难点问题最新研究进展综述罗会兰,彭珊,陈鸿坤江西理工大学信息工程学院,江西赣州341000摘要:目标检测是计算机视觉领域最基本的问题之一,已经被广泛地探讨和研究。
虽然近年来基于深度卷积神经网络的目标检测方法使得检测精度有了很大提升,但是在实际应用中仍然存在较多挑战。
综述了目标检测领域的最新研究趋势,针对不同的目标检测挑战和难题:目标尺度变化范围大、实时检测问题、弱监督检测问题和样本不均衡问题,从四个方面综述了最近的目标检测研究方法,分析了不同算法之间的关系,阐述了新的改进方法、检测过程和实现效果,并详细比较了不同算法的检测精度、优缺点和适用场景。
深度学习驱动下的目标检测研究进展综述

深度学习驱动下的目标检测研究进展综述1. 深度学习驱动下的目标检测综述在过去的几年里,深度学习已经迅速成为人工智能领域最热门的技术之一,并且在计算机视觉领域取得了巨大的成功。
特别是在目标检测方面,深度学习的应用已经带来了革命性的进步。
目标检测是计算机视觉领域的一个重要任务,旨在识别和定位图像中的物体。
这一任务具有极大的挑战性,因为需要处理复杂的背景、不同的物体形状和尺寸、光照变化等因素。
随着深度学习的兴起,卷积神经网络(CNN)已经成为目标检测领域的核心组件。
通过构建多层次的神经网络结构,CNN能够自动学习图像中的特征表示,大大提高了目标检测的准确性。
在此基础上,一系列的目标检测算法被提出并持续优化,包括RCNN系列、YOLO(You Only Look Once)、SSD(Single Shot MultiBox Detector)等。
这些算法的发展推动了目标检测技术的不断进步。
RCNN系列算法通过区域提议和卷积神经网络相结合,实现了较高的检测准确率。
YOLO和SSD则通过单阶段的检测方式,大大提高了检测速度,并且保持了较高的准确性。
还有一些算法结合了多种技术,如锚框机制、非极大值抑制等,进一步优化了目标检测的性能。
在深度学习驱动下,目标检测技术在许多领域得到了广泛应用。
在安防领域,目标检测可以用于人脸识别、行人检测等;在自动驾驶领域,目标检测用于车辆、行人、道路标志等的识别;在医疗领域,目标检测可以用于病变识别、细胞检测等。
随着技术的不断发展,目标检测的应用场景将越来越广泛。
尽管深度学习在目标检测方面取得了显著进展,但仍面临一些挑战。
如数据的标注成本高昂、模型的复杂度高、计算资源需求大等问题。
如何进一步提高目标检测的准确性、速度和泛化能力,以及如何降低模型复杂度和计算成本,仍然是目标检测领域需要关注和研究的重要问题。
1.1 目标检测的背景和意义随着计算机视觉技术的迅速发展,目标检测作为其重要分支之一,在众多领域中发挥着越来越重要的作用。
目标检测文献综述

目标检测文献综述目标检测是计算机视觉领域中的一项重要技术,其应用场景主要包括自动驾驶、安防监控、农业智能等。
目标检测的目的是在图像或视频中自动识别并定位感兴趣的目标,如人、车、动物等。
目前目标检测技术主要分为两大类:基于传统图像处理方法的目标检测和基于深度学习的目标检测。
传统图像处理方法主要采用特征提取、物体检测等算法,目前已经逐渐被基于深度学习的目标检测技术所替代。
深度学习技术主要采用卷积神经网络(CNN)和循环神经网络(RNN)等结构进行目标检测,其中以CNN为主。
近些年,在基于深度学习的目标检测技术中,YOLO系列(YouOnly Look Once)的方法备受关注。
YOLO系列的方法具有快速、高效、较优的检测性能优点,具体包括YOLOv1、YOLOv2和YOLOv3。
其中,YOLOv3在速度和准确度上都取得了显著的提升,引起了广泛的关注。
除了YOLO系列,还有一些其他深度学习方法也获得了不错的检测性能,如SSD(Single Shot MultiBox Detector)、Faster R-CNN、RetinaNet等。
这些方法不同于YOLO系列的方法,它们采用了更为复杂的网络结构和特征提取方式,主要是从提高检测性能方面入手。
目标检测技术的应用场景越来越广泛,不仅在自动驾驶、安防监控等领域中得到了广泛应用,还在农业智能中得到了广泛探索。
例如,在农业领域,目标检测可以应用于作物病虫害的检测、农田监测等方面,为农业生产提高生产效率和生产质量提供了可靠的技术支持。
然而,目前目标检测技术还存在一些问题和挑战。
例如,对于复杂场景下的遮挡等问题,目标检测算法仍有一定误检和漏检率。
此外,对于小目标检测和深度解析等问题,目前的算法还有待进一步完善和优化。
针对目标检测技术存在的问题和挑战,需要进一步研究和优化算法,以适应各种场景下的目标检测需求。
我们相信,在研究人员不断探索和努力下,目标检测技术一定会取得更加优秀的性能和更加广泛的应用。
复杂背景下小目标检测方法综述

复杂背景下小目标检测方法综述复杂背景下的小目标检测在计算机视觉领域中受到广泛关注,其挑战主要来自于小目标在复杂背景中的低对比度、模糊、遮挡等问题。
本综述将介绍几种常见的复杂背景下小目标检测方法,包括基于传统特征的方法和基于深度学习的方法。
基于传统特征的方法主要利用图像的低层次特征,如颜色、纹理、边缘等来进行小目标检测。
其中,颜色特征是最常用的特征之一、例如,使用颜色直方图可以对图像进行颜色统计,并利用颜色分布差异来进行目标检测。
纹理特征是另一个常用的特征,可以通过提取图像的纹理信息,如Gabor滤波器响应等来进行目标检测。
边缘特征则是通过检测图像中的边缘信息来进行目标检测,如Canny边缘检测等。
这些传统特征方法在一定程度上可以应对复杂背景下的小目标检测问题,但是由于传统特征的局限性,其检测性能有限。
基于深度学习的方法在近年来取得了显著的突破,为复杂背景下的小目标检测提供了更好的解决方案。
其中,卷积神经网络(CNN)是最常用的深度学习模型之一、通过训练大规模图像数据集,CNN可以自动学习图像中的特征表示,从而提升小目标检测的性能。
例如,Faster R-CNN是一种基于CNN的目标检测方法,通过引入区域提议网络(RPN)来生成候选目标框,并在候选框上进行目标分类和位置回归。
这种方法在复杂背景下能够取得较好的检测性能。
另外,一些改进的CNN模型,如YOLO(You Only Look Once)和SSD(Single Shot MultiBox Detector)等,还可以实现实时的小目标检测。
除了CNN模型,借鉴目标跟踪的思想也可以用于复杂背景下的小目标检测。
目标跟踪可以将当前帧中的目标位置信息传递给下一帧,从而提供额外的上下文信息,有助于提升小目标检测的准确性。
例如,一种常见的方法是将目标跟踪器和目标检测器结合起来,利用目标跟踪的结果来引导目标检测。
这种方法既能够充分利用目标跟踪的鲁棒性和实时性,又能够减少目标检测中的误检问题。
《2024年特殊天气条件下的目标检测方法综述》范文

《特殊天气条件下的目标检测方法综述》篇一一、引言随着科技的不断进步,目标检测技术在众多领域中得到了广泛应用,如自动驾驶、安防监控、无人机航拍等。
然而,在特殊天气条件下,如雨雪、雾霾、强光等,目标检测的准确性和稳定性往往面临巨大的挑战。
本文旨在综述特殊天气条件下的目标检测方法,分析其发展现状与未来趋势。
二、特殊天气条件下的目标检测技术概述特殊天气条件下的目标检测主要涉及到在恶劣环境因素影响下,通过图像处理和机器学习等技术手段,实现对目标的准确识别和定位。
这些技术主要包括基于传统图像处理的方法、基于深度学习的方法以及融合多种技术的混合方法。
(一)基于传统图像处理的方法传统图像处理方法主要依赖于图像的色彩、纹理、边缘等特征进行目标检测。
在特殊天气条件下,这些方法可能需要对图像进行预处理或增强,以改善图像质量,提高目标检测的准确性。
(二)基于深度学习的方法深度学习在目标检测领域取得了显著的成果。
基于深度学习的目标检测方法主要包括卷积神经网络(CNN)和循环神经网络(RNN)等。
这些方法能够自动提取图像中的特征,实现端到端的检测,具有较强的鲁棒性。
在特殊天气条件下,深度学习方法能够通过学习大量数据中的特征信息,提高目标检测的准确性。
(三)混合方法混合方法主要结合了传统图像处理和深度学习的优点,针对特定问题设计出具有针对性的解决方案。
这种方法能够充分利用各种技术的优势,提高目标检测的准确性和稳定性。
三、特殊天气条件下的目标检测技术分析(一)雨雪天气下的目标检测雨雪天气对目标检测的挑战主要在于图像的模糊和遮挡。
针对这一问题,可以采用去噪、增强等图像预处理方法改善图像质量。
同时,结合深度学习技术,可以自动提取出目标特征,实现准确的目标检测。
(二)雾霾天气下的目标检测雾霾天气下,能见度低、对比度差是主要的挑战。
可以通过优化图像滤波和色彩校正等方法提高图像质量。
此外,利用深度学习技术对特征进行自动提取和筛选,能够进一步提高目标检测的准确性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、传统目标检测方法如上图所示,传统目标检测的方法一般分为三个阶段:首先在给定的图像上选择一些候选的区域,然后对这些区域提取特征,最后使用训练的分类器进行分类。
下面我们对这三个阶段分别进行介绍。
(1) 区域选择这一步是为了对目标的位置进行定位。
由于目标可能出现在图像的任何位置,而且目标的大小、长宽比例也不确定,所以最初采用滑动窗口的策略对整幅图像进行遍历,而且需要设置不同的尺度,不同的长宽比。
这种穷举的策略虽然包含了目标所有可能出现的位置,但是缺点也是显而易见的:时间复杂度太高,产生冗余窗口太多,这也严重影响后续特征提取和分类的速度和性能。
(实际上由于受到时间复杂度的问题,滑动窗口的长宽比一般都是固定的设置几个,所以对于长宽比浮动较大的多类别目标检测,即便是滑动窗口遍历也不能得到很好的区域)(2) 特征提取由于目标的形态多样性,光照变化多样性,背景多样性等因素使得设计一个鲁棒的特征并不是那么容易。
然而提取特征的好坏直接影响到分类的准确性。
(这个阶段常用的特征有SIFT、HOG等)(3) 分类器主要有SVM, Adaboost等。
总结:传统目标检测存在的两个主要问题:一是基于滑动窗口的区域选择策略没有针对性,时间复杂度高,窗口冗余;二是手工设计的特征对于多样性的变化并没有很好的鲁棒性。
二、基于Region Proposal的深度学习目标检测算法对于传统目标检测任务存在的两个主要问题,我们该如何解决呢?对于滑动窗口存在的问题,region proposal提供了很好的解决方案。
regionproposal(候选区域)是预先找出图中目标可能出现的位置。
但由于region proposal 利用了图像中的纹理、边缘、颜色等信息,可以保证在选取较少窗口(几千个甚至几百个)的情况下保持较高的召回率。
这大大降低了后续操作的时间复杂度,并且获取的候选窗口要比滑动窗口的质量更高(滑动窗口固定长宽比)。
比较常用的region proposal算法有selective Search和edge Boxes,如果想具体了解region proposal可以看一下PAMI2015的“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 d etection and Segmentation)上面的框架图清晰的给出了R-CNN的目标检测流程:(1)输入测试图像(2)利用selective search算法在图像中提取2000个左右的region proposal。
(3)将每个region proposal缩放(warp)成227x227的大小并输入到CNN,将CNN的fc7层的输出作为特征。
(4)将每个region proposal提取到的CNN特征输入到SVM进行分类。
上面的框架图是测试的流程图,要进行测试我们首先要训练好提取特征的CNN模型,以及用于分类的SVM:使用在ImageNet上预训练的模型(AlexNet/VGG16)进行微调得到用于特征提取的CNN模型,然后利用CNN模型对训练集提特征训练SVM。
对每个region proposal缩放到同一尺度是因为CNN全连接层输入需要保证维度固定。
上图少画了一个过程——对于SVM分好类的region proposal做边框回归(bounding-box regression),边框回归是对region proposal进行纠正的线性回归算法,为了让region proposal提取到的窗口跟目标真实窗口更吻合。
因为region proposal提取到的窗口不可能跟人手工标记那么准,如果region proposal跟目标位置偏移较大,即便是分类正确了,但是由于IoU(region proposal与Ground Truth 的窗口的交集比并集的比值)低于0.5,那么相当于目标还是没有检测到。
小结:R-CNN在PASCAL VOC2007上的检测结果从DPM HSC的34.3%直接提升到了66%(mAP)。
如此大的提升使我们看到了region proposal+CNN的巨大优势。
但是R-CNN框架也存在着很多问题:(1) 训练分为多个阶段,步骤繁琐: 微调网络+训练SVM+训练边框回归器(2) 训练耗时,占用磁盘空间大:5000张图像产生几百G的特征文件(3) 速度慢: 使用GPU, VGG16模型处理一张图像需要47s。
针对速度慢的这个问题,SPP-NET给出了很好的解决方案。
2. SPP-NET (ECCV2014, TPAMI2015) (Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition) 先看一下R-CNN为什么检测速度这么慢,一张图都需要47s!仔细看下R-CNN 框架发现,对图像提完region proposal(2000个左右)之后将每个proposal当成一张图像进行后续处理(CNN提特征+SVM分类),实际上对一张图像进行了2000次提特征和分类的过程!有没有方法提速呢?好像是有的,这2000个region proposal不都是图像的一部分吗,那么我们完全可以对图像提一次卷积层特征,然后只需要将region proposal在原图的位置映射到卷积层特征图上,这样对于一张图像我们只需要提一次卷积层特征,然后将每个region proposal的卷积层特征输入到全连接层做后续操作。
(对于CNN来说,大部分运算都耗在卷积操作上,这样做可以节省大量时间)。
现在的问题是每个region proposal的尺度不一样,直接这样输入全连接层肯定是不行的,因为全连接层输入必须是固定的长度。
SPP-NET恰好可以解决这个问题:上图对应的就是SPP-NET的网络结构图,任意给一张图像输入到CNN,经过卷积操作我们可以得到卷积特征(比如VGG16最后的卷积层为conv5_3,共产生512张特征图)。
图中的window是就是原图一个region proposal对应到特征图的区域,只需要将这些不同大小window的特征映射到同样的维度,将其作为全连接的输入,就能保证只对图像提取一次卷积层特征。
SPP-NET使用了空间金字塔采样(spatial pyramid pooling):将每个window划分为4*4, 2*2, 1*1的块,然后每个块使用max-pooling下采样,这样对于每个window经过SPP层之后都得到了一个长度为(4*4+2*2+1)*512维度的特征向量,将这个作为全连接层的输入进行后续操作。
小结:使用SPP-NET相比于R-CNN可以大大加快目标检测的速度,但是依然存在着很多问题:(1) 训练分为多个阶段,步骤繁琐: 微调网络+训练SVM+训练训练边框回归器(2) SPP-NET在微调网络的时候固定了卷积层,只对全连接层进行微调,而对于一个新的任务,有必要对卷积层也进行微调。
(分类的模型提取的特征更注重高层语义,而目标检测任务除了语义信息还需要目标的位置信息)针对这两个问题,RBG又提出Fast R-CNN, 一个精简而快速的目标检测框架。
3. Fast R-CNN(ICCV2015)有了前边R-CNN和SPP-NET的介绍,我们直接看Fast R-CNN的框架图:与R-CNN框架图对比,可以发现主要有两处不同:一是最后一个卷积层后加了一个ROI pooling layer,二是损失函数使用了多任务损失函数(multi-task loss),将边框回归直接加入到CNN网络中训练。
(1) ROI pooling layer实际上是SPP-NET的一个精简版,SPP-NET对每个proposal使用了不同大小的金字塔映射,而ROI pooling layer只需要下采样到一个7x7的特征图。
对于VGG16网络conv5_3有512个特征图,这样所有region proposal对应了一个7*7*512维度的特征向量作为全连接层的输入。
(2) R-CNN训练过程分为了三个阶段,而Fast R-CNN直接使用softmax替代SVM分类,同时利用多任务损失函数边框回归也加入到了网络中,这样整个的训练过程是端到端的(除去region proposal提取阶段)。
(3) 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框架就是符合这样需要的目标检测框架。