基于深度学习的目标检测研究综述

摘要:深度学习是机器学习的一个研究领域,近年来受到越来越多的关注。最近几年,深度学习在目标检测领域取得了不少突破性的进展,已经运用到具体的目标检测任务上。本文首先详细介绍了基于候选区域和基于回归这两大主流的目标检测模型,并简述了后来的改进方法。其次详细介绍了目标检测面临的挑战,并给出了解决方案。最后介绍了目标检测可以使用的辅助性方法,可以提高目标检测模型的准确率。在论文的总结部分,给出了目前以及未来目标检测主要研究的热点。

关键字:深度学习 目标检测 候选区域模型 回归模型

A Survey of Research on Object Detection Based on Deep Learning

Abstract:Deep learning is a research field of machine learning and has received more and more attention in recent years.In recent years, deep learning has made many breakthroughs in the field of object detection, and has been applied to specific object detection tasks.This paper first introduces the object detection models based on region proposal and regression-based mainstream, and briefly describes the subsequent improvement methods.Secondly, the challenges of target detection are introduced in detail, and the solution is given.Finally, the auxiliary method that can be used for object detection is introduced, which can improve the accuracy of the object detection model.In the summary part of the paper, the main research topics of current and future object detection are given.

Keywords:Deep learning, object detection, region proposal model, regression-based model

1.引言

一直以来,目标检测(Object Detection)都是计算机视觉领域的核心问题,目标检测不仅要找出一张图片的多个的目标,还要识别出每个目标的真实边界框。这并不是一件简单的事情,首先目标是多类别的,不少目标在视觉或语义上具有一定的相似性。其次,目标的尺寸变化范围很大,旋转和翻转的角度不定,并且可以出现在图片中的任何一个位置。最后,在目标检测的过程中会受到各种各样干扰,比如角度、遮挡、光线强度等因素,这些因素会导致目标发生畸变[36]。目标检测是要提取出图像中的特征,并进行分类和定位。

传统的特征提取方法如尺度不变特征变换匹配算法(Scale Invariant Feature Transform,SIFT)[1,2]、方向梯度直方图特征(Histogram of Oriented Gradient,HOG)[3,4]、加速稳健特征(Speeded Up Robust Features,SURF)[5]、Haar-like特征[6,7]等等,这些方法提取的特征属性多依靠人工设计,然而手动设计的特征对于目标的多样性并没有很好的鲁棒性[8]。建立在这些传统的特征提取方法之上,两种流行的目标检测模型是形变组件模型(Deformable Parts Model,DPM [9])与其变种[10,11],特征袋(Bag-of-Features,BOF)[12,13]。这些模型使用传统的特征提取方法提取到的特征,在整个图片上扫描来寻找与该特征具有最大响应的区域,这样需要大量的计算开销必然效率很低下并且检测的准确率也不高。

早在20世纪90年代初,LeCun等人就设计了多层人工神经网络自己学习特征去识别手写邮政编码[18]和手写数字[19],仅有1%的错误率和9%的无法识别率。由于没有大规模的数据集和高性能的计算机处理能力,导致在对更复杂的问题上表现不佳[123]。并且此时多层神经网络训练很困难导致在实际运用中基本用的只有一层的隐层节点的浅层学习模型,而浅层卷积神经网络(convolutional neural network,CNN)在大规模图像上效果不好,所以当时没有引起重视[35]。2006年,出生于英国的多伦多大学教授Hinton在顶尖学术刊物《科学》发表了一篇文章[14],说明了特征提取可以通过多层人工神经网络逐层学习来获得并且多层神经网络训练的困难可以通过“逐层预训练”(Layer-by-layer pretraining )来解决,开启了深度学习在学术界和工业界的浪潮。2012年,Hinton使用深层的CNN在ImageNet大规模视觉识别挑战赛(ImageNet Large Scale Visual Recognition Competition,ILSVRC)中取得了巨大的成功[15],使CNN受到了越来越多研究者的关注,CNN的繁荣来自其丰富的表示能力和强大的图像识别泛化能力[49]。得益于高性能的计算机系统如图形处理器(Graphics Processing Unit,GPU)、大规模分布式计算机群(large-scale distributed computer clusters)[20],大规模的高分辨率图像的数据集如Imagenet[17],和更好的学习算法如ReLU激活函数[16]、Dropout算法[21]的出现,2012年开始深度学习进入了爆发式增长期。

目前主流的目标检测算法主要是基于深度学习模型。基于深度学习的目标检测主要是利用深度神经网络模型来对目标进行识别与定位,其中主要用到深度神经网络是卷积神经网络CNN。目前可以将现有主流的基于深度学习的目标检测与识别算法大致分为以下两大类:基于候选区域(Region Proposal)的目标检测模型,如R-CNN[22]系列和R-FCN[23]系列;基于回归的目标检测模型,如YOLO[24]系列和SSD[25]系列。

2.基于候选区域的目标检测模型

基于候选区域的目标检测模型主要由两阶段(two-stage)组成,第一阶段是对存在目标的区域生成候选目标区域的稀疏集合,可以选择的提取可能是目标的感兴趣区域的(region-of-interest,RoI)候选区域算法如:Exhaustive Search[9,31],Selective Search [26],EdgeBoxes [27],MultiBox[32,33],DeepMask [28,29]和RPN [30]。先前提取候选区域的算法性能比较可以查看[34],目前比较流行的方法是RPN [30]。提取感兴趣的候选区域是很重要的,如果在提取目标候选区域这个阶段中丢失了某个目标,则目标检测系统肯定丢失了该目标。比较容易丢失的目标,如和背景很相似的目标、被遮挡的目标和比例很异常的目标等。所以,提取可能是目标的候选区域算法是基于深度学习的目标检测的一个重要研究方向。

第二阶段是使用CNN对第一阶段生成的RoI给出准确的边界框和相应的类别标签。这个阶段主要是使用非极大值抑制算法(non-maximum suppression,NMS),分类器算法和边界框回归算法。第一阶段生成的RoI不都是准确的,存在着大量的冗余的框,所以需要使用NMS以及它的改进版Soft-NMS[71]来抑制负样本。分类器算法是对RoI进行类别的鉴定,边界框回归算法是要准确定位目标,这两个算法也是深度学习的目标检测很重要的研究方向。

2.1 R-CNN系列候选区域的目标检测模型

R-CNN系列是目标级别的检测,目前R-CNN系列的目标检测与识别算法主要包括R-CNN[22],SPP-net[44],Fast R-CNN[45],Faster R-CNN[46],Mask R-CNN[48]。

2.1.1 R-CNN[22]网络模型

Ross在CVPR2014年的会议上提出了第一个使用候选区域和CNN网络想相结合做目标检测的R-CNN[22]模型,是R-CNN系列目标检测模型的开山之作,也是第一个广泛使用的用于一般目标检测的深度学习模型。R-CNN的成功主要有两个方面,一是使用CNN网络自己学习特征来代替之前的人工设计的特征,二是使用了选择性搜索(Selective Search) [26]代替了之前的穷举性搜索。R-CNN目标检测工作流程如下:(1)对输入的每一张图片使用选择性搜索[26]产生大约2K的候选区域。(2)对每一个候选区域归一化到统一的227*227大小。(3)使用AlexNet网络[15]进行特征提取。(4)对每一个候选区域使用SVM(Support Vector Machines)分类器识别出目标的类别,并使用NMS来抑制负样本。(5)对剩下的每一个候选区域使用边界框回归(Bbox Regression)来准确定位目标。这种简单的流水线大大超过了以前发布的所有目标检测模型性能,流程图如图一所示:

R-CNN模型取得了不错的成绩,但是选择性搜索产生了大量的目标候选区域,这大量地拖延了训练的时间。为此,segDeepM[37]利用目标分割(Object Segmentation)和上下文信息(contextual information)对选择性搜索产生的RoI再进一步筛选和调整准确的位置,使用这些少量精确的目标候选区域来显着提高目标检测性能。Gonzalez-Garcia等人提出一种主动搜索(active search strategy)策略[39],它依靠之前收集的上下文信息,吸引搜索窗口到得分值高的区域再进行下一次窗口选择,极大地减少了候选区域。其次,选择性搜索在多个紧密相邻的目标区域中表现不佳,所以ME R-CNN[31]利用穷举搜索(Exhaustive Search)和选择性搜索的互补组合来增强RoI的训练集。加入穷举搜索一是可以识别到这些目标,二是可以增加难分样本(hard example)和准确的目标样本的数量。

R-CNN出现的最常见误报类型是错误的定位。Gidaris等人提出了基于多区域的CNN (multi-region CNN)[50]来捕获多种区别性外观因素,通过把焦点放在目标的不同区域上,迫使网络捕捉目标外观的各个互补方面,从而导致更加丰富和更强大的目标特征表示,以及对不准确定位更敏感。Yuting Zhang等人[40]使用了贝叶斯优化(Bayesian optimization)提升Selective Search方法得到更准确的目标候选区域,使用了结构化的SVM模型训练CNN分类器,目的是同时进行分类和定位,并提高了准确率。

R-CNN使用IoU(intersection over union)来判别检测框和真实的目标框的拟合程度,定位的时候IoU越大性能越好,检测的时候IoU越大性能越差,原因是IoU过大,训练样本大大减少会导致过拟合的问题。Cai等人[78]通过实验证明了只有定位和检测的IoU较为接近的时候,性能才是最佳的,实验还表明新输入一个IoU经过定位之后会产生更大新的IoU。为了解决这个问题,作者提出Cascade R-CNN模型[78]。Cascade R-CNN模型是通过级联多个RCNN模型,按照顺序来使用一个阶段的输出来训练下一阶段,这样就不会丢失正样本并且得到的检测准确率会更高。

还有通过超像素(superpixel)[41]来改善R-CNN模型的提取候选区域阶段[42]和分类和边界框回归阶段[43]。超像素是利用像素之间特征的相似性将像素进行分组,用少量的超像素代替大量的像素来表达图片特征,从而可以大量减少计算量。

2.1.2 SPP-net[44]网络模型

CNN特征提取网络中最后一层是全连接层(Full Connection Layer),该层要求有统一大小的尺寸,所以R-CNN采用裁剪或变形等方法将RoI归一化到统一的大小,这会丢失了信息并且会影响准确率。Kaiming等人提出了SPP-net[44]网络,在CNN特征提取网络中最后一层做空间金字塔池化,形成特征候选区域的一个固定长度表示,所以对图片就不需要将RoI归一化到统一尺寸并且还实现了多尺寸训练。SPP-net[44]目标检测工作流程如图二所示,与R-CNN[22]对每张图片中的上千个RoI反复调用CNN不同,SPP-net[44]只需要在整张图片上运行一次特征提取网络。获取候选区域的方法换为当时性能更好的EdgeBoxes [27]。

SPP-net[44]网络模型和其他CNN网络模型是正交的,即可以嵌入到提取网络模型中使用,之后的目标检测模型就不需要统一大小的图片。

2.1.3 Fast R-CNN[45]网络模型

Fast R-CNN[45]是主要在R-CNN[22]和SPP-net[44]的基础上进行改进。Fast R-CNN[45]的工作流程如图三所示:(1)将整个图像和获得的所有候选框作为输入,用CNN产生卷积特征图;(2)ROI Pooling层是把每个RoI被池化到固定大小的特征图中;(3)通过全连接(fully connected,FC)层映射到特征向量;(4)使用softmax函数进行分类,并和边界框回归共同训练。

Fast R-CNN中放弃使用R-CNN中二元分类器SVM损失函数,改用了多类交叉熵损失(multi-class cross-entropy loss)函数,简称为softmax。两个函数区别在于,softmax函数更多关注学习类间方差,而学习类别内方差则很弱,在分类阶段如果存在许多背景样本就会使得特征表示捕获更少的类内方差和更多的类别间方差,会导致相似类别之间的许多误报。SVM损失函数则更多地关注类内方差,而学习类间方差很弱,也就是能够准确识别出外观相似或语义相关类别的目标。所以Yang等人结合了softmax和SVM,提出CRAFT[49]模型,即在候选区域生成阶段,RPN网络[46]之后再级联一个二值的Fast RCNN网络来进一步缩减候选区域数量并提高候选区域质量,二值的Fast RCNN网络相当于SVM函数;在目标分类阶段,softmax函数关注了学习类间方差,所以级联了一个SVM分类器以更多地关注类内方差。

SVM、softmax、结构化SVM[40]和卷积特征映射网络(network on convolutional feature maps,NoCs)[58]这些分类器纯粹是完全可区分的方法,是直接学习从CNN特征到所需分类输出的最佳映射,但是缺乏利用深度特征的复杂结构的能力,所以Wang等人提出字典对分类层(Dictionary Pair Classifier Layer,DPCL)[57]来做深度学习的目标检测分类器,性能优于上述的分类器。

2.1.4 Faster R-CNN[46]网络模型

Faster R-CNN[46]基于全卷积网络(fully convolutional network,FCN)提出了新的候选区域网络(Region Proposal Networks,RPN),RPN在GPU上运行,所以速度很快并且计算量也很少。Faster R-CNN[46]可以看做RPN网络+Fast R-CNN[45],工作流程如图四所示。RPN网络依靠滑动窗口的位置得到了目标的大体位置信息,使用框的回归提供了框更精确的位置,并采取“锚”(Anchor)机制来实现多尺寸检测,再通过NMS算法筛选候选区域,最后输出得分较高的ROI候选区域。

最近的分类方法表明,高阶(high-order)统计表示可以捕获比一阶(first-order)分类更多的区分信息。所以Wang等人[83]通过引入高阶统计量并克服了它的缺点来提高Faster R-CNN[46]的性能。他们提出了一个位置感知多项式内核表示(Multi-scale Location-aware Kernel Representation,MLKP)模型,MLKP具有位置保持性和敏感性,能够更好的产生RoI,从而能够使提高目标检测的准确率。最重要的是,MLKP模型是独立的,它可以嵌入到其它目标检测系统。

MS-CNN[91]在Faster R-CNN[46]特征提取网络中的多个输出层分别执行反卷积(deconvoltion)操作来增加特征图的分辨率,这样网络可以覆盖大范围的目标尺寸。用于改善了之前基于候选区域目标检测只使用最后一层特征图在小目标方面性能不佳的问题。

1.1.5 Mask R-CNN[48]网络模型

Mask R-CNN[48]主要是Faster R-CNN[46]和全卷积网络(fully convolutional networks,FCN)[53]的基础上进行改进。充分利用了FCN网络中的语义分割,添加一个分割掩码分支来提取目标更精细的空间布局。改善了Faster R-CNN中网络输入和输出之间的像素到像素不对齐的问题,提出使用双线性插值方法的ROI Align层代替之前的ROI Pooing层。Mask R-CNN[48]目标检测工作流程如图五所示:

PANet[112]是在FPN[102]和Mask RCNN[48]的基础上,通过缩短了高低层特征融合的路径来加强了FPN的结构;作者的实验表明,某个尺寸的候选区域检测都利用了多个层次的特征,所以融合了所有尺度上的特征图再进行自适应特征池化(Adaptive Feature Pooling)来改善FPN特征提取;分割的时候FCN主要依靠局部感受野,而全连接能够组合多个局部的信息,所以在Mask RCNN预测掩码的时候添加一个全连接层辅助全卷积分割支路。

2.2 R-FCN系列候选区域的目标检测模型

R-FCN系列是像素级的检测。目前R-FCN系列候选区域的目标检测模型主要包括R-FCN[52],FCIS[55]。

2.2.1 R-FCN[52]网络模型

目标的分类需要平移不变性(translation invariance),即目标通过扭曲等之后还能识别出目标,深的网络对平移不变性具有很好的鲁棒性;但是,在目标的定位时需要平移可变性(translation variance),即目标经过平移之后,检测目标的位置就要发生变化,而深的网络对位置的变化就不那么敏感了。R-FCN[52]是在InstaceFCN[54]和Faster R-CNN[46]的基础上解决深层网络位置不敏感这个问题并提高了速度和准确率。R-FCN[52]利用InstaceFCN[54]网络的位置敏感得分图(Instance-sensitive score maps)的位置信息融入到ROI Pooing中来解决平移可变性。R-FCN[52]目标检测工作流程如图六所示:

R-FCN[52]需要提供比较大的敏感位置得分图,需要消耗很多的时间和储存空间。Light-Head R-CNN[88]将R-FCN得分图的数目从K*K(C+1)减小到K*K*10,10是一个与类别无关的数字,这样通道数目从3969降到490个,减少了大量的计算和内存。所以预测的时候不能直接投票,而是通过全连接层去预测,但速度和准确率都提升了很多。

R-FCN构建一组位置敏感得分图来对目标检测模型中RoI的子区域信息进行编码,如处于边界的子区域需要描绘边缘和轮廓的特征,而中心的子区域则需要描绘分类的纹理特征。R-FCN为每个子区域充分执行多个回归策略,但子区域的特征都是独立提取的,未能将不同子区域的信息组合在一起。所以,R-FCN很好地保持了局部特征,但很难保持目标的全局结构信息。CoupleNet[82]和FSN[79]是为了弥补R-FCN这一个缺陷而提出的。FSN[79]首先从最后的特征提取层减少特征维数,再根据RPN生产的RoIs来为整个图片生成具有相对位置的子区域attention组和能够感知宽高比的宽高比attention组,通过选择性地合并这两个attention特征图和压缩的RoI特征来生成最终选定的RoI特征。CoupleNet[82]则由RPN获得的目标候选区域被送到由两个分支组成的耦合模块中,一个分支还是原来的R-FCN网络用于捕获目标的局部信息,增加了采用Faster-RCNN[46]的RoI pooling层对全局和上下文信息进行编码的另一个分支。

R-FCN-3000[99]使用超类(super-class)的方法使将R-FCN的分类类别数延伸至3000类。具体是使用K-means方法从C个类中得到K个超类,自然界很多类别之间的差异很小,因此类型相近的一些类可以看成是一个超类,将原来R-FCN中的分类支路的类别数替换成了这里的超类数量。R-FCN-3000采用两个分支,一个分支检测每个ROI属于哪个超类的概率,另一条支路输出每个ROI属于某个超类的哪个具体类别的概率,将这两个概率相乘就可以得到具体的目标类别。

2.2.2 FCIS[55]网络模型

FCIS[55]是在InstaceFCN[54]和FCN[53]的基础上改进,实现了全卷积端到端解决目标检测和分割问题。FCN[53]存在目标重叠时,相同的像素点,对于一个目标是前景,但对于其它的目标是后景,使用单个得分图不足以区别这种情况。另外,InstaceFCN[54]的像素在不同相对位置就有不同的得分。所以FCIS[55]利用了这两个模型的优点在InstaceFCN[54]网络的位置敏感得分图的基础上再加入前景掩码(foreground mask)和后景掩码(background mask)。最重要的是FCIS[55]对于每一个像素的语义分割和语义分类是共同训练的,享有共同的位置敏感得分图,第一个实现了语义分割和检测的端到端训练。FCIS[55]目标检测工作流程如图七所示:

3. 基于回归的目标检测模型

基于回归的目标检测与识别算法是没有候选区域生成阶段,直接在目标位置,大小和纵横比的规则下密集采样,把目标检测重新看作单一的回归问题,直接从图像像素到边界框坐标和类概率。OverFeat[70]是第一个基于回归方法的目标检测模型,使用CNN穷举搜索整个图并通过在多个尺度下一次对整个图像进行分类和定位。目前基于回归的目标检测模型主要有YOLO[24]系列和SSD[25]系列。

3.1  YOLO[24]系列目标检测模型

YOLO[24]继承了OverFeat[70]这种基于回归的目标检测与识别算法的优点,由于其速度的优势迅速引起了研究者的关注。YOLO[24]目标检测工作流程如图八所示:(1)对输入的图片通过裁剪等方式统一图片大小;(2)把整个图片分成S×S个单元格,每个单元格都要预测B个边界框、边界框的置信度(confidence scores)和C个类别,信度分数表示了该类出现在框中的概率以及预测框拟合目标的程度;(3)可以得到目标的类别和对应的边界框;(4)使用NMS来抑制负样本。由于每个格子只会给出一个概率分布预测,而且选择的是概率最大的那个类别,所以如果一个格子还存在的小尺寸的目标,必然会被过滤掉。

G-CNN[108]是通过减少了候选区域的数量来进一步提高YOLO的速度,它将多尺度规则网格叠加在图像上,通过不断迭代更新网格中的方框,每次迭代都会将方框推向图像中感兴趣的目标来极大地减少候选区域。

YOLO定位准确率低且召回(recall)率不高,Redmon等人提出YOLO 9000和YOLO v2网络模型[56]。YOLO v2通过在YOLO的所有卷积层上添加批标准化(Batch Normalization)、使用高分辨率分类网络、使用维度聚类(Dimension Clusters)作为RPN[46]中的anchor boxes去代替YOLO的全连接层预测边界框、提出了一种新的Darknet-19特征提取网络、添加一个直通层(passthrough layer)从更低层网络中提取特征去定位较小目标、多尺度训练等策略去提高检测的速度和准确率。YOLO 9000是采用WordTree的方法将ImageNet数据集和COCO数据集组合在一起,在分类和检测上联合训练,使之可以实时识别超过9000种目标。当然,YOLO 9000和YOLO v2网络模型诞生晚于SPP-net[44],所以输入的图片可以是任意尺寸。

Mehta等人[84]在YOLO v2的基础上设计出一种深而窄的架构F-Yolo,更深的架构能够实现更高的准确率,而狭窄的层能够控制网络的复杂性。F-Yolo使用了特征融合的方式,但是是让大的特征图重新调整大小(resize)后再去和小尺寸的特征图进行融合;使用蒸馏损失(distillation loss)将更准确复杂网络的知识转移到轻量级简单网络,另外使用FM-NMS(feature map NMS)算法去过滤含有背景区域的候选框以防止流到简单网络中导致网络难于收敛;最后,在蒸馏损失的基础上,使用复杂网络的软标签对未标记的数据和标注的数据同时进行训练。通过以上的技巧让最终网络比基于VGG的目标检测网络少10倍的参数,它的速度可达到200 FPS以上,并且将Pascal数据集上的基线检测精度提高了14 mAP。

在YOLO v2的基础上,YOLO v3[59]提出了比YOLO v2更深的Darknet-53特征提取网络、使用独立的多个logistic分类器代替Softmax分类器去预测每一个边界框可能包含的类、使用逻辑回归(logistic regression)预测每个边界框、使用多尺度预测方法去提高小目标检测的准确率等策略进一步改善YOLO v2,在保证准确率的同时提高了速度,并且在检测小目标时具有很好的鲁棒性。

3.2  SSD[25]系列目标检测模型

YOLO的速度增加是以显着降低检测精度为代价的,所以提出了SSD[25]模型在兼顾实时性的同时提高检测的精度。SSD[25]模型不仅取消了候选区域生成阶段,还取消了YOLO系列目标检测模型的ROI Pooing这些阶段,它结合了YOLO中的回归思想和Faster-RCNN[46]中的Anchor机制,使用不断卷积后得到的多个尺度特征进行回归,既保持了YOLO速度快的特性,也保证了窗口预测的跟Faster-RCNN一样的精准。目标检测工作流程如图九所示:SSD模型在基础网络的末端添加了几个特征层,它预测了不同尺度和长宽比的默认边界框的偏移量及其相关的置信度。同时还设置使用了默认边界框与实际边界的匹配策略、困难样本挖掘(Hard negative mining)和数据增强(Data augmentation)等策略来训练。

SSD采用多尺度的特征图来预测目标,每个尺度的特征图都专注于预测某一尺度的目标,如使用具有较大感受野的高层特征图预测大的目标,较小感受野的低层特征图预测小的目标。同样的,Yang等人[111]提出一个对应尺寸池化层(scale-dependent pooling,SDP),是根据候选区域的尺寸大小来提取不同CNN卷积层特征,小的候选区域就选择浅层CNN特征,而大的候选区域就选择高层CNN卷积特征。这样就存在着一些问题,比如在检测小尺寸的目标时缺乏高层语义的信息,检测大尺寸的目标时缺乏低层丰富的位置信息。

在DSSD[60]模型中,由SSD生成的不同尺度的特征图不是直接进行回归预测,而是进入DSSD[60]模型中的把浅层和深层的特征图融合到反卷积(deconvolution)模型里,然后在对应的信道上做元素点积(element-wise product)运算,来增加上下文信息(contextual information)。DSSD[60]模型准确率虽然提高了很多,但是速度却极大地下降,因为反卷积层需要大量的计算。为此ESSD[63]只将前三个浅层特征图送入反卷积模型来为浅层特征图添加上下文信息,准确率稍微降低一点但是速度提高很多。

Feature-Fused SSD[74]、MDSSD[64]、FSSD[61]和DSSD[60]一样去解决SSD多尺度的特征图的特征融合问题,以获取更多的上下文信息。但FSSD[61]是让浅层和深层的特征图串联在一起,然后进行不同的下采样(pooing)操作生成新的特征金字塔,再进入预测。MDSSD[64]是将高层的特征图进行反卷积到和某低层的特征图相同的尺寸,然后将它们分别与该低层的特征图合并以形成新的融合模块特征图,一共生成3个新的融合模块特征图,然后和原始的4个SSD特征图一起进行回归预测。Feature-Fused SSD[74]设计了连接模块(concatenation module)和元素和(element-sum module)模块这两种不同的特征融合方式来引入上下文信息,这两种模块都能够加强目标检测性能。论文[73]则是利用循环滚动卷积(Recurrent Rolling Convolution,RRC)结构来获取上下文信息到边界框回归来改进SSD方法。

另外,Rainbow SSD[62]是让低层的特征图再进行下采样操作,同时让高层的特征图再进行反卷积操作来生成更多的特征图,使其可以检测到更多小尺寸的目标。RFB-SSD[65]是利用一些技巧使用轻量级CNN模型将RFB模块组装到SSD顶部达到速度和精度并举的检测器,RFB模块借鉴于GoogLeNet[66]的Inception模型和ResNet[67] 跳跃层传递特征来构建新的特征提取模块。DSOD[101]在SSD的基础上采用DenseNet[104]特征提取网络实现了在基于回归的目标检测模型中即使在有限的数据集的情况下,也不需要进行预训练。

由于基于回归的目标检测模型具有速度快的优势,可以运用于边缘计算(edge computing)设备做实时性目标检测的在线决策,边缘设备通常是单薄的客户端和物联网(internet of things,IoT)系统,功率和内存预算有限,比如智能监控[138]。边缘计算设备内存有限则需要轻量级的特征提取网络,比如ShiftNet[105],SqueezeNet [69],MobileNet [75],ShuffleNet [76]。Fire SSD是为了边缘计算设备而设计了网络,它在SSD网络的基础上改用残差连接的SqueezeNet,具体来说是用3×3的分组卷积(grouped convolution)代替3×3的扩展卷积(expand convolution)来改进了SqueezeNet [69]中的Fire模块,并使用残差连接(residual connection)、批量标准化(batch normalization)和丢弃(dropout)来提高网络性能。Tiny-SSD[68]也是一款适合用于嵌入式的实时目标检测的模型,Tiny-SSD是利用SqueezeNet网络[69]的Fire体系结构对SSD模型进行压缩其神经网络模型的大小。

4. 目标检测面临的挑战

4.1 目标的尺度变化很大

各种尺度的目标可能出现在图像的任何位置,强大的目标检测系统必须能够同时检测具有不同位置/尺寸/长宽比的目标。为了检测不同尺度的物体,一个基本的策略是使用图像金字塔[100]来获得不同尺度的特征,图像金字塔的核心思想是不同尺寸的特征图识别不同尺寸的目标。这是因为检测器基本上是学习模板和图像区域之间的点积,因此模板必须与要识别的目标空间相匹配[91],而一个固定的接受区域网络层不能覆盖物体出现在图片的多个尺度目标。为了提高检测多尺寸目标的准确率,通常有三种方法可以使用[103]:(1)融合了不同层的信息再去检测目标;(2)各层独立地去检测对应尺寸的目标;(3)前两种方法的结合体。

第一种方法是要融合低层特征图中的丰富位置信息和高层特征图中的丰富语义信息去检测目标,如ION[93]使用跳跃层提取多个尺度和抽象层次上的信息来检测目标。

第二种方法是某个特征图固定去检测与它对应尺寸的目标,如SSD[25],MS-CNN[91]使用低层特征图去检测小目标,使用高层特征图去检测大目标。这种方法毫无疑问是有问题的,因为低层特征图去检测小尺寸目标缺乏高层特征图的语义信息,高层特征图去检测大尺寸目标缺乏低层特征图的位置信息。当然,也不能完全否认这种方法,要看具体的数据集。

第三种是前两种的结合体,是用多个尺度特征图去检测不同尺寸的目标,但是每一个尺度特征图都是结合了其他尺度特征图的信息。如FPN[102]使用了自顶向下融合了不同特征图的信息再去分别检测对应尺寸的目标;STDN[103]使用DenseNet[104]来结合不同层次的特征图,并使用比例传输(Scale-Transfer Module,STM)模块来获得不同分辨率的特征图,最后再检测。

4.2 小目标检测很困难

高层的特征图拥有大的接受域和丰富的语义信息,所以大目标在高层特征图中很容易就可以检测到,最多是得到比较粗糙的位置。但是小目标在高层特征图中存在着非常低的分辨率和噪声,在低层特征图中的语义信息又特别弱,所以可能检测不到。在R-CNN系列方法中,它依靠最后一个卷积层的检测小目标和大目标,使用高层的特征图对于检测小目标可能是有问题的,因为在低分辨率特征图中表示小目标的细节的特征可能很弱,如MDSSD[64]的实验中,绵羊的图片在第七层卷积后细节的信息全部丢失。低层的特征图拥有丰富的位置信息,高层的特征图拥有丰富的语义信息,如何融合高低层的特征信息去识别小尺寸目标是一个很重要的问题。为了能够检测到小尺寸的目标,通常可以通过多尺寸特征融合和使用额外的技巧,如反卷积、上采样。

近年来不少工作表明,多尺度特征融合对检测小尺寸目标很鲁棒,从而提高目标检测的准确率。如HyperNet[141]、TDM[113]、ION[93]、FPN[102]使用低层特征图和高层特征图结合来达到从粗到细的特征映射来识别小目标,结合了高层语义信息和低层细节信息的上下文,从而提高目标检测的准确率。MS-CNN[91]通过实验证明了增加一个反卷积层可显着提高检测性能,特别是对于小目标。SNIP[77]通过实验验证了上采样(upsampling)对于小目标检测的重要性,上采样提高了小目标的检测效果。

另外,Perceptual GAN[89]是找到每个类别的小尺度和大尺度目标之间的内在结构相关性,通过缩小小目标与大目标之间的表示差异来识别小目标。具体来说,它添加了生成器网络(generator network)和感知鉴别器网络(perceptual discriminator network),生成器网络使用较低层的细粒度细节的特征作为输入生成了超分辨率特征以提高检测精度,鉴别器网络充当监督者,并提供关于生成的细粒度细节的质量和优点的指导。

4.3 目标与非目标样本比例失衡

目标检测是一项基本的计算机视觉任务,它与图像分类的不同之处在于,背景样本的数量远远大于目标样本的数量,这导致训练期间正负样本比例出现不平衡。

虽然基于区域的目标检测方法是通过RPN在一定的程度上缓解了目标与非目标样本之间的比例失衡问题,但不平衡比率仍然很高(例如70:1)[87]。在早期的工作中就已经表明了级联网络可以用于逐步地拒绝含有背景的区域[143],基于区域的目标检测也可以通过级联网络(Cascade Network)逐步减少不准确的候选区域。级联可以在训练和测试阶段的早期拒绝明显的负样本,还不需要设计更深或更宽的特征提取层。前期的网络可以处理简单的样本,后期的网络可以集中精力去处理比较困难的样本,并且前期网络可以作为后期网络的先验知识,每一阶段的网络是可以共同训练的。如CC-Net[81]是经过级联多个网络分阶段地过滤掉不准确RoI。Yang等人[111]通过在CNN的多层建立级联抑制分类器(cascaded rejection classifiers,CRC)来以级联的方式逐步减少不准确的候选区域。

基于回归的目标检测与识别算法在准确率方面处于劣势,一个很重要的原因就是训练时正负样本比例不平衡的问题[80],训练的时候检测到大量图像中仅有小部分是目标。由于目标的图像占少部分会导致训练效率低下,并且负样本太多就可能掩盖掉目标样本的作用。为此,[80]提出一个动态缩放的交叉熵损失(dynamically scaled cross entropy loss)函数来解决基于回归的方法中训练时正负样本不平衡的问题,比如降低正分类样本的损失权重,该函数简称为Focal Loss。RefineDet[72]使用了anchor优化模块在SSD方法中每一层产生的密集的anchor中过滤掉不正确的anchor以减少分类器的搜索空间,以及粗略地调整anchor的位置和大小以为随后的回归器提供更好的初始化。RON[90]是采用负样本挖掘(negative sample mining),具体是为基于回归的目标检测提供目标先验(objectness prior)知识来显著减少目标的搜索空间。

4.4 训练的数据集

在深度学习中,根据训练数据是否拥有标记信息,学习任务可以分为监督学习、弱监督学习和无监督学习。深度学习的成功,很大的一部分归功于大规模的数据集。目标检测对数据集的要求是高分辨率的,这是因为高分辨率的输入图片可以更好的解析小目标,而低分辨率的输入图片会导致低的识别准确率[142],这无疑加大了数据集的难度。

监督学习是要使用像素级别(pixel-level)的标注,无监督学习则不需要任何标注学习就可以训练。弱监督学习的目标检测就是用弱的信息来定位和分类,如图像层面(image-level)的标签和边界框级别(bounding box level)的标签。像素级别的标注需要目标的具体轮廓和类别,边界框级别的标注需要包含目标的矩形框和类别,图像级别的标注只需要知道一张图片中包含了哪些类别的实例。对于目标检测来说,图像层面标签的信息要弱于边界框级别标签的信息。所以这三种标注方式由强到弱排序为像素级别的标注、边界框级别的标注和图像级别的标注。

目前的深度学习的目标检测都需要大量的标注数据才能得到较好的模型,而像素级别的标注是个很费时间和很费金钱的事情,另外大多数大型物体识别数据集(如ImageNet [17]和PASCAL VOC [96])仅提供边界框级别注释。目前弱监督目标检测已经取得了不错的研究进展,如Papadopoulos等人[109]不需要画出边界框,只需要注释者来验证学习算法自动产生的边界框,从而快速生成高质量的边界框标注。WSDDN[110]是对预训练(pre-trained)的CNN进行修改使其能够执行弱监督检测。伪掩模增强(Pseudo-Mask Augmented Detection,PAD)[97]目标检测模型仅使用边界框注释中生成的目标掩码来增强目标检测器,也就是使用弱监督的信号来提高掩码生产的质量。

生成对抗网络(Generative Adversarial Nets,GAN)[131]的出现为无监督学习注入了一股新鲜的活力。对偶学习(Dual learning )[126]的出现更是推进了无监督学习的发展,这一年(2016年)无监督学习开始进入实质性发展阶段。可以通过对偶学习(Dual learning )来进行无监督学习,对偶学习属于机器学习中强化学习(reinforcement learning)的范畴。对偶学习最早用于解决句子翻译中标注问题[126],即利用了中翻英和英翻中这两个任务的相关性来从没有标注的数据中学习,对偶学习同样也可以运用于图像处理,如DualGAN[127]为两个不同无标签的数据集分别加一个GAN,运用对偶学习来对数据集进行无监督训练。

弱监督的目标检测可以减轻了获取图像标注的成本,无监督的目标检测不需要图像标注的成本,但是有一些图片(如罕见病变细胞图)是很难获取到大量的数据集。对于这种问题有两种解决的思路,一是设计更好的网络来训练,如神经胶囊网络(Capsule networks)[128,129]和一次学习(One-Shot Learning)[135,136]可以使用小量的数据集就可以得到很好的效果;二是使用数据增强(Data Augmentation)[130]和生成对抗网络[131]来生成更多的数据集。

4.5 类内变异、类间相似和环境干扰

在目标检测的过程中会受到各种各样干扰,环境干扰比较常见的就是遮挡,类内变异比较常见的就是形变和旋转,类间相似就是不同类别的外观或者语义方面比较接近。解决这三类的问题一个通用的方法就是使用大规模的数据集和数据增强的方法去训练,这种方法也是很昂贵的并且数据集中绝大部分都是简单的样本,所以需要更多相应的困难样本训练和设计更好的算法来提高检测的鲁棒性。

对抗网络(Adversary network)可以获取到相应的困难样本。如A-Fast-RCNN[85]是通过对抗网络生成遮挡和变形的样本来训练目标检测网络,从而使得网络能够对遮挡和变形问题有更好的鲁棒性,针对遮挡和形变两种情况,A-Fast-RCNN[85]在Fast RCNN的RoI pooling之后分别设计了ASDN (Adversarial Spatial Dropout Network)和ASTN (Adversarial Spatial Transformer Network)两个网络,这两个网络在训练期间是和Fast-RCNN网络共同训练的。ASDN网络生成一个掩码,要删除的特征图的某些部分,相当于在输入的图片上做了遮挡。ASTN使用了Spatial Transformer Network(STN)[86]来使特征变形,相当于在输入的图片上做了变形。A-Fast-RCNN与Fast-RCNN相比,VOC2007数据集上提高2.3%mAP的准确率。

Cheng等人提出了RIFD-CNN模型[51],是在CNN架构的全连接层中依次加入学习旋转不变层(RI-CNN)和Fisher判别层(FD-CNN)来实现的。在RI-CNN模型的目标函数中结合正则化约束条件来训练这个旋转不变层,其在旋转之前和之后执行训练样本以共享相似特征表示并因此实现旋转不变性。Fisher判别层是通过对CNN特征施加Fisher判别准则来训练的,以便它们具有小的类内散射和大的类间分离。

传统的目标检测DPM[9]在处理目标形变方面取得较好效果,目前基于深度学习的DPM方法在形变目标检测方面也取得不错的成绩,如DeepID-Net[114]和DCN[115]。DeepID-Net[114]是由一个新的形变约束池(def-pooling)层用几何约束和惩罚来模拟目标部件的变形,它通过在任何信息抽象层次上学习目标部分的形变来丰富深层模型,def-pooling层可以用于替换最大合并层并学习部件的形变特性。DCN[115]是让CNN学习目标空间几何形变来应对目标形变问题。

解决类间相似问题可以采用细粒度(Fine-Grained)方法,细粒度是对于视觉上非常相似的目标进行区分,是目标检测的一个子领域。在这些相似类别中大部分区域是相同的,所以重点是能找出区别性的区域特征来分类。如RA-CNN[116]通过迭代式地从粗到细找到有区别性的特征图像并同时对提取出该图像的特征进行分类;M-CNN[92]在整个图片、目标的区域、有区别性的目标子区域分别进行特征提取,综合这些信息再对目标进行分类和定位。

5. 目标检测可以使用的辅助性方法

5.1 特征提取网络架构

1989年诞生了第一个CNN模型[18],特征提取网络主要经历了LeNet-5[124],AlexNet[15],VGG[125]和GoogLeNet[66],ResNet[67],DenseNet[104]。特征提取网络的设计有两大趋势:一是网络越来越深和越来越宽;二是使用跳层连接(skip-connnections)来缩短信息流动的路径。特征提取网络是用来描述数据的,这显然很重要,它会影响到模型的最终性能。在ResNet网络出现之后到DenseNet网络出现之前的这一段时间,目标检测模型的特征提取网络几乎都是采用ResNet网络,可见特征提取网络的重要性。

从最开始的LeNet-5有7层到ResNet有超过了100层,特征提取网络设计得越深[125]和越宽[66],网络就可以学习到更高级的特征,就越有利于分类。可是随着深度的增加,训练时间随着增加,训练会越困难,并且会发生退化(degradation)问题[67]。为此,highway networks[133]通过门控机制(gating mechanism)管理跳层连接来解决深层网络训练困难问题,ResNet[67]是通过跳层连接的恒等映射来解决深层网络退化和训练困难问题。

但是DenseNet[104]不是通过更深或更宽的架构来获取更强的表示学习能力,而是通过特征重用来提高模型的性能。DenseNet分成多个密集块(dense block),每一个密集块的特征图有相同大小尺寸,在块中的每一层特征图直接连接到该块中后面的所有层,块中的最后一层特征图通过跳层连接到后续的所有块。这样每一层只生成小量的特征,但是通过连接之后最后一层就可以得到很多的特征图,更好了实现特征重用。

在目标检测中,减少模型的计算代价和提高模型的准确率是同等重要[132],减少模型的计算代价意味着可以提高最终模型的速度和减少内存。减少模型的计算代价可以通过减少模型的复杂度和计算量来实现。如Light-Head R-CNN[88]将卷积核大小为k*k的卷积操作用1*k和k*1的两层卷积来代替的思想,计算结果是一致的,但是却可以减少计算量;Stochastic Depth[140]通过在训练期间随机丢弃层来改进ResNet,这表明并非所有层都需要,在残余网络中存在大量冗余,所以DenseNet [104]是通过减少每层特征图的数量和特征重用来减少冗余。

5.2 上下文

在目标被遮挡或特征变化很大时,往往需要上下文信息推断目标的具体位置和类别,在早期的目标检测中就已经表明了上下文信息对目标检测的鲁棒性[94,95]。上下文信息对于目标检测来说是很重要的,获取上下文的方式可以通过递归神经网络(recurrent neural network,RNN)、空间金字塔池化(spatial pyramid pooling)和扩张卷积(dilated convolutions)。

RNN是由多个有一定顺序的CNN组成,前一个CNN可以为下一个CNN提供上下文信息,因此RNN在获取目标的上下文信息中较CNN有独特的优势。如ION[93]利用RNN在图像上的横向和纵向传递空间变化获取上下文信息;RACDNN[98]使用RNN迭代地处理不同尺寸的图像子区域,前面迭代训练中的子区域可以为当前迭代中的子区域显著性(saliency)细化提供上下文信息。

金字塔的结构可以提取出不同尺寸的特征信息,从而空间金字塔池化可以捕获到多个尺寸的上下文。如PSPNet[117]提出了一个金字塔池化模块(pyramid pooling module,PPM),它通过聚合不同区域的上下文信息来得到全局图像层面的上下文信息;PSMNet[120]也提出空间金字塔池化(spatial pyramid pooling)模块,它通过聚合不同尺寸和不同区域的上下文来得到全局上下文信息

扩张卷积是通过不同的接受域(receptive field)来获取不同尺寸的特征图,相当于以多个比例捕捉图像的上下文,如论文[118]使用扩张卷积成倍数地扩大接受域来系统地聚合多尺度上下文信息;DeepLabv3[119]使用扩张卷积以多个扩张速率来捕获多个尺度的上下文信息。

5.3 目标分割

目标检测要使用边界框标定每一个目标并分类,目标分割要检测目标类别并对目标进行语义分割,语义分割是在不区分目标的情况下表示每像素的类别。所以,目标分割既是语义分割,又是另一种形式的检测[48]。目标检测和目标分割这两项任务是密切相关,目标分割可以有利于目标检测[48,55]。将粗糙的高层信息与精细的低层信息结合起来可以进行语义分割[47],这可以弥补位置空间上的信息。Gidaris等人[38]基于R-CNN添加了语义分割结果以提高定位精度。Mask RCNN[48]在Faster R-CNN[46]上添加了一支掩码分支来提取目标更精细的空间布局。另外,DES网络[106]为基于回归的目标检测添加了一个掩码分割分支,它通过弱监督生成的掩码为低层特征图增加强语义信息和通过全局激活模型(global activation module)以自我监督的方式丰富各个层次的语义信息。

5.4 困难样本训练

训练样本集总是包含较多简单样本而相对较少困难样本,数据集越大和越困难对检测越有利。很早就已经有困难样本用于训练[107,9],不训练简单的样本而只训练比较难的样本,是因为简单的样本训练时产生很少的损失,所以反向传播时作用不大,用困难样本来训练就可以减少训练的时间。A-Fast-RCNN[85]是通过对抗网络在特征空间产生具有部分遮挡和形变的困难样本。现在的模型基本都是通过SGD在线训练,OHEM[87]与其改进版本S-OHEM[122]是要在线从RoI中挑选出困难的样本来训练。选择困难样本来训练不仅可以减少训练的时间,还可以提高目标检测的准确率,如OHEM可以使得Fast R-CNN算法在VOC2007提高大约 3%mAP。另外A-Fast-RCNN[85]与OHEM[87]是正交的,可以同时使用提高准确率。

另外,Yuan等人[121]认为样本的难度是由网络模型的复杂度决定的,即对于复杂模型来说大多数样本将被视为简单样本;对于简单的模型来说大多数样本将被视为困难样本。所以他们提出了HDC模型[121],是通过级联了不同复杂性的网络来能够自适应地挖掘多个层次的困难样本。

6. 总结

机器学习中有一个叫“没有免费的午餐”定理,意思是没有存在一个算法在所有的问题集上都能得到最优[134]。“没有免费的午餐”定理告诉我们,我们需要根据具体的问题集和具体的数据集来选择和制定合适的深度学习模型。

目前和未来针对深度学习的目标检测任务的研究主要集中在以下四个部分:一是研究更好的模型和更好的技巧来提高目标检测模型的准确率和速度;二是降低深度学习对数据量的需求(小样本学习甚至One-Shot Learning)和数据标注的成本(弱监督甚至无监督);三是推广深度学习的目标检测来解决具体的问题,如生成对抗网络运用于高分辨率图像的重建[137];四是深度学习融合了其他学科知识和其他技术来做目标检测,如使用红外成像和深度网络来检测空转车辆(Idling vehicles)[139]。

参考文献:

[1]Lowe D G. Distinctive image features from scale-invariant keypoints[J]. International journal of computer vision, 2004, 60(2): 91-110.

[2]Ke Y, Sukthankar R. PCA-SIFT: A more distinctive representation for local image descriptors[C]//Computer Vision and Pattern Recognition, 2004. CVPR 2004. Proceedings of the 2004 IEEE Computer Society Conference on. IEEE, 2004, 2: II-II.

[3]Dalal N, Triggs B. Histograms of oriented gradients for human detection[C]//Computer Vision and Pattern Recognition, 2005. CVPR 2005. IEEE Computer Society Conference on. IEEE, 2005, 1: 886-893.

[4]Zhu Q, Yeh M C, Cheng K T, et al. Fast Human Detection Using a Cascade of Histograms of Oriented Gradients[J]. 2006, 2:1491-1498.

[5]Bay H, Tuytelaars T, Van Gool L. Surf: Speeded up robust features[C]//European conference on computer vision. Springer, Berlin, Heidelberg, 2006: 404-417.

[6]Viola P, Jones M J. Robust real-time face detection[J]. International journal of computer vision, 2004, 57(2): 137-154.

[7]Viola P. Rapid Object Detection Using Boosted Cascade of Simple Features[J]. Proc.ieee Conf.on Computer Vision & Pattern Recognition, 2001.

[8]周晓彦,王珂,李凌燕.基于深度学习的目标检测算法综述[J].电子测量技术,2017,40(11):89-93.

[9]Felzenszwalb P F, Girshick R B, McAllester D, et al. Object detection with discriminatively trained part-based models[J]. IEEE transactions on pattern analysis and machine intelligence, 2010, 32(9): 1627-1645.

[10]Azizpour H, Laptev I. Object detection using strongly-supervised deformable part models[C]//European Conference on Computer Vision. Springer, Berlin, Heidelberg, 2012: 836-849.

[11]Dollár P, Appel R, Belongie S, et al. Fast feature pyramids for object detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2014, 36(8): 1532-1545.

[12]Csurka G, Dance C, Fan L, et al. Visual categorization with bags of keypoints[C]//Workshop on statistical learning in computer vision, ECCV. 2004, 1(1-22): 1-2.

[13]Nowak E, Jurie F, Triggs B. Sampling strategies for bag-of-features image classification[C]//European conference on computer vision. Springer, Berlin, Heidelberg, 2006: 490-503.

[14]Hinton G E, Salakhutdinov R R. Reducing the dimensionality of data with neural networks[J]. science, 2006, 313(5786): 504-507.

[15]Krizhevsky A, Sutskever I, Hinton G E. Imagenet classification with deep convolutional neural networks[C]//Advances in neural information processing systems. 2012: 1097-1105.

[16]Nair V, Hinton G E. Rectified linear units improve restricted boltzmann machines[C]//Proceedings of the 27th international conference on machine learning (ICML-10). 2010: 807-814.

[17]Deng J, Dong W, Socher R, et al. Imagenet: A large-scale hierarchical image database[C]//Computer Vision and Pattern Recognition, 2009. CVPR 2009. IEEE Conference on. IEEE, 2009: 248-255.

[18]LeCun Y, Boser B, Denker J S, et al. Backpropagation applied to handwritten zip code recognition[J]. Neural computation, 1989, 1(4): 541-551.

[19]LeCun Y, Boser B E, Denker J S, et al. Handwritten digit recognition with a back-propagation network[C]//Advances in neural information processing systems. 1990: 396-404.

[20]Dean J, Corrado G, Monga R, et al. Large scale distributed deep networks[C]//Advances in neural information processing systems. 2012: 1223-1231.

[21]Hinton G E, Srivastava N, Krizhevsky A, et al. Improving neural networks by preventing co-adaptation of feature detectors[J]. arXiv preprint arXiv:1207.0580, 2012.

[22]Girshick R, Donahue J, Darrell T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2014: 580-587.

[23]Dai J, Li Y, He K, et al. R-fcn: Object detection via region-based fully convolutional networks[C]//Advances in neural information processing systems. 2016: 379-387.

[24]Redmon J, Divvala S, Girshick R, et al. You only look once: Unified, real-time object detection[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 779-788.

[25]Liu W, Anguelov D, Erhan D, et al. Ssd: Single shot multibox detector[C]//European conference on computer vision. Springer, Cham, 2016: 21-37.

[26]Uijlings J R R, Van De Sande K E A, Gevers T, et al. Selective search for object recognition[J]. International journal of computer vision, 2013, 104(2): 154-171.

[27]Zitnick C L, Dollár P. Edge boxes: Locating object proposals from edges[C]//European Conference on Computer Vision. Springer, Cham, 2014: 391-405.

[28]Pinheiro P O, Collobert R, Dollár P. Learning to segment object candidates[C]//Advances in Neural Information Processing Systems. 2015: 1990-1998.

[29]Pinheiro P O, Lin T Y, Collobert R, et al. Learning to refine object segments[C]//European Conference on Computer Vision. Springer, Cham, 2016: 75-91.

[30]Ren S, He K, Girshick R, et al. Faster r-cnn: Towards real-time object detection with region proposal networks[C]//Advances in neural information processing systems. 2015: 91-99.

[31]Lee H, Eum S, Kwon H. ME R-CNN: multi-expert region-based CNN for object detection[J]. arXiv preprint arXiv:1704.01069, 2017.

[32]Erhan D, Szegedy C, Toshev A, et al. Scalable object detection using deep neural networks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2014: 2147-2154.

[33]Szegedy C, Reed S, Erhan D, et al. Scalable, high-quality object detection[J]. arXiv preprint arXiv:1412.1441, 2014.

[34]Hosang J, Benenson R, Dollár P, et al. What makes for effective detection proposals?[J]. IEEE transactions on pattern analysis and machine intelligence, 2016, 38(4): 814-830.

[35]余凯, 贾磊, 陈雨强, 等. 深度学习的昨天, 今天和明天[J]. 计算机研究与发展, 2013, 50(9): 1799-1804.

[36]周晓彦, 王珂, 李凌燕. 基于深度学习的目标检测算法综述[J]. 电子测量技术, 2017, 11: 020.

[37]Zhu Y, Urtasun R, Salakhutdinov R, et al. segdeepm: Exploiting segmentation and context in deep neural networks for object detection[C]//Computer Vision and Pattern Recognition (CVPR), 2015 IEEE Conference on. IEEE, 2015: 4703-4711.

[38]Gidaris S, Komodakis N. Object detection via a multi-region and semantic segmentation-aware cnn model[C]//Proceedings of the IEEE International Conference on Computer Vision. 2015: 1134-1142.

[39]Gonzalez-Garcia A, Vezhnevets A, Ferrari V. An active search strategy for efficient object class detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2015: 3022-3031.

[40]Zhang Y, Sohn K, Villegas R, et al. Improving object detection with deep convolutional networks via bayesian optimization and structured prediction[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2015: 249-258.

[41]Ren X, Malik J. Learning a classification model for segmentation[C]//null. IEEE, 2003: 10.

[42]Chen X, Ma H, Wang X, et al. Improving object proposals with multi-thresholding straddling expansion[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2015: 2587-2595.

[43]Yan J, Yu Y, Zhu X, et al. Object detection by labeling superpixels[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2015: 5107-5116.

[44]He K, Zhang X, Ren S, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition[C]//european conference on computer vision. Springer, Cham, 2014: 346-361.

[45]Girshick R. Fast r-cnn[J]. arXiv preprint arXiv:1504.08083, 2015.

[46]Ren S, He K, Girshick R, et al. Faster r-cnn: Towards real-time object detection with region proposal networks[C]//Advances in neural information processing systems. 2015: 91-99.

[47]Long J, Shelhamer E, Darrell T. Fully convolutional networks for semantic segmentation[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2015: 3431-3440.

[48]He K, Gkioxari G, Dollár P, et al. Mask r-cnn[C]//Computer Vision (ICCV), 2017 IEEE International Conference on. IEEE, 2017: 2980-2988.

[49]Yang B, Yan J, Lei Z, et al. Craft objects from images[J]. arXiv preprint arXiv:1604.03239, 2016.

[50]Gidaris S, Komodakis N. Object detection via a multi-region and semantic segmentation-aware cnn model[C]//Proceedings of the IEEE International Conference on Computer Vision. 2015: 1134-1142.

[51]Cheng G, Zhou P, Han J. Rifd-cnn: Rotation-invariant and fisher discriminative convolutional neural networks for object detection[C]//Computer Vision and Pattern Recognition (CVPR), 2016 IEEE Conference on. IEEE, 2016: 2884-2893.

[52]Dai J, Li Y, He K, et al. R-fcn: Object detection via region-based fully convolutional networks[C]//Advances in neural information processing systems. 2016: 379-387.

[53]Long J, Shelhamer E, Darrell T. Fully convolutional networks for semantic segmentation[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2015: 3431-3440.

[54]Dai J, He K, Li Y, et al. Instance-sensitive fully convolutional networks[C]//European Conference on Computer Vision. Springer, Cham, 2016: 534-549.

[55]Li Y, Qi H, Dai J, et al. Fully convolutional instance-aware semantic segmentation[J]. arXiv preprint arXiv:1611.07709, 2016.

[56]Redmon J, Farhadi A. YOLO9000: better, faster, stronger[J]. arXiv preprint, 2017.

[57]Wang K, Lin L, Zuo W, et al. Dictionary pair classifier driven convolutional neural networks for object detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016: 2138-2146.

[58]Ren S, He K, Girshick R, et al. Object detection networks on convolutional feature maps[J]. IEEE transactions on pattern analysis and machine intelligence, 2017, 39(7): 1476-1481.

[59]Redmon J, Farhadi A. Yolov3: An incremental improvement[J]. arXiv preprint arXiv:1804.02767, 2018.

[60]Fu C Y, Liu W, Ranga A, et al. DSSD: Deconvolutional single shot detector[J]. arXiv preprint arXiv:1701.06659, 2017.

[61]Li Z, Zhou F. FSSD: Feature Fusion Single Shot Multibox Detector[J]. arXiv preprint arXiv:1712.00960, 2017.

[62]Jeong J, Park H, Kwak N. Enhancement of SSD by concatenating feature maps for object detection[J]. arXiv preprint arXiv:1705.09587, 2017.

[63]Zheng L, Fu C, Zhao Y. Extend the shallow part of Single Shot MultiBox Detector via Convolutional Neural Network[J]. arXiv preprint arXiv:1801.05918, 2018.

[64]Cui L. MDSSD: Multi-scale Deconvolutional Single Shot Detector for small objects[J]. arXiv preprint arXiv:1805.07009, 2018.

[65]Liu S, Huang D, Wang Y. Receptive Field Block Net for Accurate and Fast Object Detection[J]. arXiv preprint arXiv:1711.07767, 2017.

[66]Szegedy C, Liu W, Jia Y, et al. Going deeper with convolutions[C]. Cvpr, 2015.

[67]He K, Zhang X, Ren S, et al. Deep residual learning for image recognition[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 770-778.

[68]Wong A, Shafiee M J, Li F, et al. Tiny SSD: A Tiny Single-shot Detection Deep Convolutional Neural Network for Real-time Embedded Object Detection[J]. arXiv preprint arXiv:1802.06488, 2018.

[69]Iandola F N, Han S, Moskewicz M W, et al. SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and< 0.5 MB model size[J]. arXiv preprint arXiv:1602.07360, 2016.

[70]Sermanet P, Eigen D, Zhang X, et al. Overfeat: Integrated recognition, localization and detection using convolutional networks[J]. arXiv preprint arXiv:1312.6229, 2013.

[71]Bodla N, Singh B, Chellappa R, et al. Improving object detection with one line of code[J]. arXiv preprint arXiv:1704.04503, 2017.

[72]Zhang S, Wen L, Bian X, et al. Single-Shot Refinement Neural Network for Object Detection[J]. arXiv preprint arXiv:1711.06897, 2017.

[73]Ren J, Chen X, Liu J, et al. Accurate single stage detector using recurrent rolling convolution[C]//Computer Vision and Pattern Recognition (CVPR), 2017 IEEE Conference on. IEEE, 2017: 752-760.

[74]Cao G, Xie X, Yang W, et al. Feature-fused SSD: fast detection for small objects[C]//Ninth International Conference on Graphic and Image Processing (ICGIP 2017). International Society for Optics and Photonics, 2018, 10615: 106151E.

[75]Howard A G, Zhu M, Chen B, et al. Mobilenets: Efficient convolutional neural networks for mobile vision applications[J]. arXiv preprint arXiv:1704.04861, 2017.

[76]Zhang X, Zhou X, Lin M, et al. Shufflenet: An extremely efficient convolutional neural network for mobile devices[J]. arXiv preprint arXiv:1707.01083, 2017.

[77]Singh B, Davis L S. An Analysis of Scale Invariance in Object Detection-SNIP[J]. arXiv preprint arXiv:1711.08189, 2017.

[78]Cai Z, Vasconcelos N. Cascade R-CNN: Delving into High Quality Object Detection[J]. arXiv preprint arXiv:1712.00726, 2017.

[79]Zhai Y, Fu J, Lu Y, et al. Feature Selective Networks for Object Detection[J]. arXiv preprint arXiv:1711.08879, 2017.

[80]Lin T Y, Goyal P, Girshick R, et al. Focal loss for dense object detection[J]. arXiv preprint arXiv:1708.02002, 2017.

[81]Ouyang W, Wang K, Zhu X, et al. Chained Cascade Network for Object Detection[C]//2017 IEEE International Conference on Computer Vision (ICCV). IEEE, 2017: 1956-1964.

[82]Zhu Y, Zhao C, Wang J, et al. Couplenet: Coupling global structure with local parts for object detection[C]//Proc. of Int’l Conf. on Computer Vision (ICCV). 2017.

[83]Wang H, Wang Q, Gao M, et al. Multi-scale Location-aware Kernel Representation for Object Detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 1248-1257.

[84]Mehta R, Ozturk C. Object detection at 200 Frames Per Second[J]. arXiv preprint arXiv:1805.06361, 2018.

[85]Wang X, Shrivastava A, Gupta A. A-fast-rcnn: Hard positive generation via adversary for object detection[J]. arXiv preprint arXiv:1704.03414, 2017, 2.

[86]Jaderberg M, Simonyan K, Zisserman A. Spatial transformer networks[C]//Advances in neural information processing systems. 2015: 2017-2025.

[87]Shrivastava A, Gupta A, Girshick R. Training region-based object detectors with online hard example mining[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016: 761-769.

[88]Li Z, Peng C, Yu G, et al. Light-Head R-CNN: In Defense of Two-Stage Object Detector[J]. arXiv preprint arXiv:1711.07264, 2017.

[89]Li J, Liang X, Wei Y, et al. Perceptual generative adversarial networks for small object detection[C]//IEEE CVPR. 2017.

[90]Kong T, Sun F, Yao A, et al. Ron: Reverse connection with objectness prior networks for object detection[C]//IEEE Conference on Computer Vision and Pattern Recognition. 2017, 1: 2.

[91]Cai Z, Fan Q, Feris R S, et al. A unified multi-scale deep convolutional neural network for fast object detection[C]//European Conference on Computer Vision. Springer, Cham, 2016: 354-370.

[92]Wei X S, Xie C W, Wu J. Mask-cnn: Localizing parts and selecting descriptors for fine-grained image recognition[J]. arXiv preprint arXiv:1605.06878, 2016.

[93]Bell S, Lawrence Zitnick C, Bala K, et al. Inside-outside net: Detecting objects in context with skip pooling and recurrent neural networks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016: 2874-2883.

[94]Divvala S K, Hoiem D, Hays J H, et al. An empirical study of context in object detection[C]//Computer Vision and Pattern Recognition, 2009. CVPR 2009. IEEE Conference on. IEEE, 2009: 1271-1278.

[95]Torralba A. Contextual priming for object detection[J]. International journal of computer vision, 2003, 53(2): 169-191.

[96]Everingham M, Van Gool L, Williams C K I, et al. The pascal visual object classes (voc) challenge[J]. International journal of computer vision, 2010, 88(2): 303-338.

[97]Zhao X, Liang S, Wei Y. Pseudo Mask Augmented Object Detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 4061-4070.

[98]Kuen J, Wang Z, Wang G. Recurrent attentional networks for saliency detection[J]. arXiv preprint arXiv:1604.03227, 2016.

[99]Singh B, Li H, Sharma A, et al. R-FCN-3000 at 30fps: Decoupling Detection and Classification[J]. arXiv preprint arXiv:1712.01802, 2017.

[100]Adelson E H, Anderson C H, Bergen J R, et al. Pyramid methods in image processing[J]. RCA engineer, 1984, 29(6): 33-41.

[101]Shen Z, Liu Z, Li J, et al. Dsod: Learning deeply supervised object detectors from scratch[C]//The IEEE International Conference on Computer Vision (ICCV). 2017, 3(6): 7.

[102]Lin T Y, Dollár P, Girshick R, et al. Feature pyramid networks for object detection[C]//CVPR. 2017, 1(2): 4.

[103]Zhou P, Ni B, Geng C, et al. Scale-Transferrable Object Detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 528-537.

[104]Huang G, Liu Z, Weinberger K Q, et al. Densely connected convolutional networks[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2017, 1(2): 3.

[105]Wu B, Wan A, Yue X, et al. Shift: A Zero FLOP, Zero Parameter Alternative to Spatial Convolutions[J]. arXiv preprint arXiv:1711.08141, 2017.

[106]Zhang Z, Qiao S, Xie C, et al. Single-Shot Object Detection with Enriched Semantics[R]. Center for Brains, Minds and Machines (CBMM), 2018.

[107]Sung K K. Learning and example selection for object and pattern detection[J]. 1996.

[108]Najibi M, Rastegari M, Davis L S. G-cnn: an iterative grid based object detector[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016: 2369-2377.

[109]Papadopoulos D P, Uijlings J R R, Keller F, et al. We don't need no bounding-boxes: Training object class detectors using only human verification[J]. arXiv preprint arXiv:1602.08405, 2016.

[110]Bilen H, Vedaldi A. Weakly supervised deep detection networks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016: 2846-2854.

[111]Yang F, Choi W, Lin Y. Exploit all the layers: Fast and accurate cnn object detector with scale dependent pooling and cascaded rejection classifiers[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016: 2129-2137.

[112]Liu S, Qi L, Qin H, et al. Path aggregation network for instance segmentation[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 8759-8768.

[113]Shrivastava A, Sukthankar R, Malik J, et al. Beyond skip connections: Top-down modulation for object detection[J]. arXiv preprint arXiv:1612.06851, 2016.

[114]Ouyang W, Wang X, Zeng X, et al. Deepid-net: Deformable deep convolutional neural networks for object detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2015: 2403-2412.

[115]Dai J, Qi H, Xiong Y, et al. Deformable convolutional networks[J]. CoRR, abs/1703.06211, 2017, 1(2): 3.

[116]Fu J, Zheng H, Mei T. Look closer to see better: Recurrent attention convolutional neural network for fine-grained image recognition[C]//CVPR. 2017, 2: 3.

[117]Zhao H, Shi J, Qi X, et al. Pyramid scene parsing network[C]//IEEE Conf. on Computer Vision and Pattern Recognition (CVPR). 2017: 2881-2890.

[118]Yu F, Koltun V. Multi-scale context aggregation by dilated convolutions[J]. arXiv preprint arXiv:1511.07122, 2015.

[119]Chen L C, Papandreou G, Schroff F, et al. Rethinking atrous convolution for semantic image segmentation[J]. arXiv preprint arXiv:1706.05587, 2017.

[120]Chang J R, Chen Y S. Pyramid Stereo Matching Network[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 5410-5418.

[121]Yuan Y, Yang K, Zhang C. Hard-aware deeply cascaded embedding[J]. arXiv preprint, 2017.

[122]Li M, Zhang Z, Yu H, et al. S-OHEM: Stratified Online Hard Example Mining for Object Detection[C]//CCF Chinese Conference on Computer Vision. Springer, Singapore, 2017: 166-177.

[123]Gu J, Wang Z, Kuen J, et al. Recent advances in convolutional neural networks[J]. arXiv preprint arXiv:1512.07108, 2015.

[124]LeCun Y, Bottou L, Bengio Y, et al. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11): 2278-2324.

[125]Simonyan K, Zisserman A. Very deep convolutional networks for large-scale image recognition[J]. arXiv preprint arXiv:1409.1556, 2014.

[126]He D, Xia Y, Qin T, et al. Dual learning for machine translation[C]//Advances in Neural Information Processing Systems. 2016: 820-828.

[127]Yi Z, Zhang H, Tan P, et al. Dualgan: Unsupervised dual learning for image-to-image translation[J]. arXiv preprint, 2017.

[128]Sabour S, Frosst N, Hinton G E. Dynamic routing between capsules[C]//Advances in Neural Information Processing Systems. 2017: 3856-3866.

[129]Gritsevskiy A, Korablyov M. Capsule networks for low-data transfer learning[J]. arXiv preprint arXiv:1804.10172, 2018.

[130]Zhong Z, Zheng L, Kang G, et al. Random erasing data augmentation[J]. arXiv preprint arXiv:1708.04896, 2017.

[131]Goodfellow I, Pouget-Abadie J, Mirza M, et al. Generative adversarial nets[C]//Advances in neural information processing systems. 2014: 2672-2680.

[132]Hong S, Roh B, Kim K H, et al. PVANet: lightweight deep neural networks for real-time object detection[J]. arXiv preprint arXiv:1611.08588, 2016.

[133]Srivastava R K, Greff K, Schmidhuber J. Training very deep networks[C]//Advances in neural information processing systems. 2015: 2377-2385.

[134]Ho Y C, Pepyne D L. Simple explanation of the no-free-lunch theorem and its implications[J]. Journal of optimization theory and applications, 2002, 115(3): 549-570.

[135]Keren G, Schmitt M, Kehrenberg T, et al. Weakly Supervised One-Shot Detection with Attention Siamese Networks[J]. arXiv preprint arXiv:1801.03329, 2018.

[136]Fei-Fei L, Fergus R, Perona P. One-shot learning of object categories[J]. IEEE transactions on pattern analysis and machine intelligence, 2006, 28(4): 594-611.

[137]Ledig C, Theis L, Huszár F, et al. Photo-realistic single image super-resolution using a generative adversarial network[J]. arXiv preprint, 2017.

[138]Nikouei S Y, Chen Y, Song S, et al. Real-Time Human Detection as an Edge Service Enabled by a Lightweight CNN[J]. arXiv preprint arXiv:1805.00330, 2018.

[139]Bastan M, Yap K H, Chau L P. Remote Detection of Idling Cars Using Infrared Imaging and Deep Networks[J]. arXiv preprint arXiv:1804.10805, 2018.

[140]Huang G, Sun Y, Liu Z, et al. Deep networks with stochastic depth[C]//European Conference on Computer Vision. Springer, Cham, 2016: 646-661.

[141]Kong T, Yao A, Chen Y, et al. Hypernet: Towards accurate region proposal generation and joint object detection[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 845-853.

[142]Huang J, Rathod V, Sun C, et al. Speed/accuracy trade-offs for modern convolutional object detectors[C]//IEEE CVPR. 2017, 4.

[143]Viola P, Jones M. Rapid object detection using a boosted cascade of simple features[C]//Computer Vision and Pattern Recognition, 2001. CVPR 2001. Proceedings of the 2001 IEEE Computer Society Conference on. IEEE, 2001, 1: I-I.

基于深度学习的目标检测研究综述相关推荐

  1. 病虫害模型算法_基于深度学习的目标检测算法综述

    sigai 基于深度学习的目标检测算法综述 导言 目标检测的任务是找出图像中所有感兴趣的目标(物体),确定它们的位置和大小,是机器视觉领域的核心问题之一.由于各类物体有不同的外观,形状,姿态,加上成像 ...

  2. 基于深度学习的目标检测算法综述(一)

    基于深度学习的目标检测算法综述(一) 基于深度学习的目标检测算法综述(二) 基于深度学习的目标检测算法综述(三) 本文内容原创,作者:美图云视觉技术部 检测团队,转载请注明出处 目标检测(Object ...

  3. 基于深度学习的目标检测算法综述(二)

    转自:https://zhuanlan.zhihu.com/p/40020809 基于深度学习的目标检测算法综述(一) 基于深度学习的目标检测算法综述(二) 基于深度学习的目标检测算法综述(三) 本文 ...

  4. 基于深度学习的目标检测算法综述(从R-CNN到Mask R-CNN)

    深度学习目标检测模型全面综述:Faster R-CNN.R-FCN和SSD 从RCNN到SSD,这应该是最全的一份目标检测算法盘点 基于深度学习的目标检测算法综述(一) 基于深度学习的目标检测算法综述 ...

  5. 基于深度学习的目标检测研究进展

    前言 开始本文内容之前,我们先来看一下上边左侧的这张图,从图中你看到了什么物体?他们在什么位置?这还不简单,图中有一个猫和一个人,具体的位置就是上图右侧图像两个边框(bounding-box)所在的位 ...

  6. 【深度学习】基于深度学习的目标检测研究进展

    原文出处:http://chuansong.me/n/353443351445 开始本文内容之前,我们先来看一下上边左侧的这张图,从图中你看到了什么物体?他们在什么位置?这还不简单,图中有一个猫和一个 ...

  7. 基于深度学习的目标检测论文综述Paper Reading:A Survey of Deep Learning-based Object Detection(中文)

    摘要 介绍了文章的大致思路和结构: 1.介绍,经典的目标检测算法,数据集 2.分析比对,各种目标检测算法,包括一阶段和两阶段的 3.介绍,传统和新的应用,以及一些目标检测的其他分支 4.讨论,用目前这 ...

  8. AI综述专栏 | 基于深度学习的目标检测算法综述

    https://www.toutiao.com/a6685618909275488780/ 2019-04-30 17:35:53 关注微信公众号:人工智能前沿讲习, 重磅干货,第一时间送达 AI综述 ...

  9. 基于深度学习的目标检测算法综述

    其它机器学习.深度学习算法的全面系统讲解可以阅读<机器学习-原理.算法与应用>,清华大学出版社,雷明著,由SIGAI公众号作者倾力打造. 书的购买链接 书的勘误,优化,源代码资源 导言 目 ...

最新文章

  1. Python正则表达式,看这一篇就够了
  2. python3 random函数_Python3 中 random模块
  3. 前缀、中缀、后缀表达式(转载)
  4. G - 数据结构实验之排序七:选课名单
  5. Python基础01-变量及数据类型
  6. ajax jq 图片上传请求头_Jquery ajaxsubmit上传图片实现代码
  7. VC2010“添加资源-引入JPG图片”会改变图片大小
  8. C语言判断某个字符串中 是否存在子字符串
  9. 只显示小方格_魔力科学小实验 | 只能剪一刀,如何将图片中的红白方块分开?...
  10. 【Android开发】之编译脚本Makefile编写
  11. 红外接收头图片_亿光红外线接收头IRM-56384内部构造原理图
  12. 数据库与hadoop_OLTP,MPP和Hadoop
  13. ribbon基于接口配置超时_Spring Cloud第二篇:服务消费者RestTemplate+Ribbon
  14. k3梅林刷官改变砖_K3 op强刷回官改变砖,TTL救砖也不行,请大神分析下是不是要换内存了...
  15. 禁忌搜索算法求解TSP问题python实现
  16. [ZJOI2015]醉熏熏的幻想乡
  17. 7-1 判断两个数是否互质
  18. 用python依赖地图公司的API接口和SDK实现道路数据可视化分析
  19. java form的时间格式_java date日期格式
  20. H3C_S5500配置DHCP服务

热门文章

  1. 生物信息学_分子数据库(三)蛋白质数据库
  2. (C语言)BinarySearch二分搜索/折半查找 --- 递归、非递归
  3. linux设备负责执行计划任务,linux下定时执行计划任务
  4. 《SMPTE 291M - 1998 辅助数据包与辅助空间格式化》 阅读整理
  5. 【笔记整理】通信原理第四章复习——数字基带传输
  6. 使用docsify构建专业文档网站(上)
  7. HQChart使用教程22-如何创建移动筹码图
  8. 表头显示后怎么提交php,添加表头工具栏
  9. OpenCV系列之级联分类器训练 | 六十二
  10. 图像分类丨ILSVRC历届冠军网络「从AlexNet到SENet」