CN112149665A - 一种基于深度学习的高性能多尺度目标检测方法 - Google Patents
一种基于深度学习的高性能多尺度目标检测方法 Download PDFInfo
- Publication number
- CN112149665A CN112149665A CN202010920608.1A CN202010920608A CN112149665A CN 112149665 A CN112149665 A CN 112149665A CN 202010920608 A CN202010920608 A CN 202010920608A CN 112149665 A CN112149665 A CN 112149665A
- Authority
- CN
- China
- Prior art keywords
- image block
- training
- scale
- area
- detection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 79
- 238000013135 deep learning Methods 0.000 title claims abstract description 11
- 238000012549 training Methods 0.000 claims abstract description 76
- 238000000034 method Methods 0.000 claims abstract description 68
- 230000008569 process Effects 0.000 claims abstract description 36
- 238000012216 screening Methods 0.000 claims abstract description 15
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 4
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 4
- 230000006870 function Effects 0.000 claims description 34
- 238000011176 pooling Methods 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 14
- 238000013527 convolutional neural network Methods 0.000 claims description 12
- 238000006073 displacement reaction Methods 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 8
- 230000009466 transformation Effects 0.000 claims description 6
- 230000010339 dilation Effects 0.000 claims description 4
- 230000007246 mechanism Effects 0.000 claims description 4
- 238000013528 artificial neural network Methods 0.000 claims description 3
- 238000010923 batch production Methods 0.000 claims description 3
- 238000011478 gradient descent method Methods 0.000 claims description 3
- 238000005192 partition Methods 0.000 claims description 3
- 230000001629 suppression Effects 0.000 claims description 3
- 238000013519 translation Methods 0.000 claims description 3
- 230000000903 blocking effect Effects 0.000 claims description 2
- 238000005457 optimization Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 6
- 238000010187 selection method Methods 0.000 abstract description 2
- 238000012360 testing method Methods 0.000 description 9
- 238000002474 experimental method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000005764 inhibitory process Effects 0.000 description 3
- 230000002401 inhibitory effect Effects 0.000 description 2
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 1
- 240000008574 Capsicum frutescens Species 0.000 description 1
- 241000238631 Hexapoda Species 0.000 description 1
- 108091092878 Microsatellite Proteins 0.000 description 1
- 102100029469 WD repeat and HMG-box DNA-binding protein 1 Human genes 0.000 description 1
- 101710097421 WD repeat and HMG-box DNA-binding protein 1 Proteins 0.000 description 1
- 241000607479 Yersinia pestis Species 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 231100001261 hazardous Toxicity 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4084—Scaling of whole images or parts thereof, e.g. expanding or contracting in the transform domain, e.g. fast Fourier transform [FFT] domain scaling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/187—Segmentation; Edge detection involving region growing; involving region merging; involving connected component labelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
一种基于深度学习的高性能多尺度目标检测方法,所述方法包括训练过程和检测过程,所述训练过程如下:1.1、输入图片,生成图像块;1.2、筛选正图像块;1.3、筛选负图像块;1.4、输入图像块,训练模型;所述检测过程如下:2.1、预测焦点像素集;2.2、生成焦点图像块;2.3、RoI阶段;2.4、分类和回归;2.5、焦点合成。本发明针对训练过程提出一种全新的候选区域选取方法,同时针对检测流程,采用一种由浅入深的方法,忽略不可能包含目标的区域,相对于过往检测算法处理整个图像金字塔,该发明显著得减少多尺度检测方法的计算量,大幅提高检测速率,突破了以往多尺度检测算法无法投入实际应用的瓶颈。
Description
技术领域
本发明涉及信息技术领域,具体涉及一种基于深度学习的高性能多尺度目标检测方法。
背景技术
从车辆的识别到疫情期间佩戴口罩识别,各种目标检测算法在当今社会中被广泛地使用,如Fast RCNN(快速的基于区域推荐的卷积网络方法),Faster RCNN,YOLOv3,YOLOv4。衡量目标检测最重要的两个性能就是精度(mAP)和速度(FPS)。而现有的目标检测算法,要么注重mAP的结果,如Faster RCNN系列的two-stage算法,精度高,共享计算量但速度慢、训练时间长、误报率高。要么就是强调精度和速度之间的平衡,例如YOLOv4系列的one-stage算法,速度快,避免产生背景错误(false positives),能够学到物体的泛化特征但精度低、对小物体的检测效果不好。
目标检测已被政府及许多企业应用于各个行业,例如智慧城市、指挥交通、智慧安防、智慧工业、智慧农业、智慧体育等行业。其中,智慧安防中安全帽识别、安检仪危险品识别,智慧农业中的辣椒病虫害识别应用受到了政府的极大重视。对于目标检测应用,应用的实时性以及可靠性是关注的重点,实时性意味着降低检测出目标的时间,即提高检测结果的速度。可靠性意味着高精度,对复杂环境下的目标也能够得到理想的结果(极高的准确度)。而从过去的结果来看,高精度就意味着低速度,高速度意味着低精度,这样的结果很难达到应用所需的级别。
在two-stage算法中,基本流程是线性的,基本上可以分为两个部分,一是产生候选区域CNN特征,二是区域分类、位置精修。现在大多数训练算法处理图像金字塔(图像多尺度表达的一种,是一种以多分辨率来解释图像的有效但概念简单的结构)时考虑所有像素,例如一张图片在三个尺度下时,需要处理的像素量就达到了14倍,大大减慢了训练的速度。同样的情况出现在检测过程中,这样最终导致候选区域的数量过多,且大部分候选区域的质量也存在着问题,降低了检测速度。
发明内容
为了克服现有技术的不足,本发明针对训练过程提出一种全新的候选区域选取方法,同时针对检测流程,采用一种由浅入深的方法,忽略不可能包含目标的区域,相对于过往检测算法处理整个图像金字塔,该发明显著得减少多尺度检测方法的计算量,大幅提高检测速率,突破了以往多尺度检测算法无法投入实际应用的瓶颈。
本发明提供如下的技术方案:
一种基于深度学习的高性能多尺度目标检测方法,所述方法包括训练过程和检测过程,
所述训练过程如下:
1.1、输入图片,生成图像块;
1.2、筛选正图像块;
1.3、筛选负图像块;
1.4、输入图像块,训练模型;
所述检测过程如下:
2.1、预测焦点像素集;
2.2、生成焦点图像块;
2.3、RoI阶段;
2.4、分类和回归;
2.5、焦点合成。
进一步,所述1.1中,所述图像块是指在任一尺度下,某图片上一系列固定大小的(K*K像素)以恒定间隔(d像素)排布的窗口,每个窗口都可能包含一个或几个目标,在尺度{S1,S2,...,Sn}下生成的图像块记作Ci,其中Sn表示第n个尺度。
所述1.2中,图像的正确的标注框ground-truth boxes随着图像尺度的变化进行对应的缩放,因此对于每一个尺度i,需要指定理想检测面积为i∈[1,n],分别表示理想检测面积的最小值与最大值,若某个ground-truth boxes完全位于一个图像块内,则该ground-truth boxes被图像块包围;采用贪心算法,根据图像块包围的ground-truth boxes数量,从每个尺度i中筛选图像块作为正图像块,记作其中贪心算法是一种每一步选择上都要保证能获得局部最优解的算法。
所述1.3包括以下步骤:
步骤1.3.1使用步骤1.2中筛选得到的正图像块训练一个仅有几个epochs的RPN,epochs指代所有的数据送入网络中完成一次前向计算及反向传播的过程,其中RPN是在Faster RCNN中首次提出的深度全卷积网络,该RPN仅用来选择负图像块,因此即使精度不高也几乎不会对模型最终性能产生影响;
步骤1.3.2使用该RPN检测整个训练集,根据检测结果选择负图像块,选择过程如下:
b)在每个尺度i下使用贪心算法选择至少包含M个区域提议的图像组成负图像块池;
所述1.4包括以下步骤:
步骤1.4.1使用ImageNe初始化共享的卷积层,包括kernel(卷积核的尺寸)、stride(卷积步长)、padding(输入的每一条边补充0的层数)、dilation(卷积核元素之间的间距)、group(从输入通道到输出通道的阻塞连接数)、bias(偏置)、in_channels(输入信号的通道)、out_channels(输出信号的通道)参数,初始化RPN网络中卷积核部分,通过步骤1.3中筛选出的正负图像块训练RPN,训练之后,共享的卷积层以及RPN的边框回归(Bounding-box regression)函数被更新,边框回归函数指的是一种关系使得输入的原始窗口P经过映射得到一个跟ground-truth box更接近的回归窗口P1,该函数通过梯度下降法(一种寻找目标函数最小化的方法)实现参数的更新;
步骤1.4.2用ImageNet重新初始化共享的卷积层,初始化Fast-RCNN网络的池化层以及卷积层,通过使用训练过的RPN计算得到区域提议,计算步骤包括使用滑动窗口机制生成区域提议,并进行分类与回归,再将生成的区域提议重新训练Fast-RCNN,根据步骤1.4.1设置的参数,重复步骤1.4.1,训练结束之后,共享的卷积层以及Fast-RCNN的权重参数都会被更新;
步骤1.4.3使用步骤1.4.2中训练完成的共享卷积层初始化RPN网络,随后,第二次训练RPN网络,通过初始化后的RPN网络计算得到区域提议,计算步骤与步骤1.4.2相同,训练结束之后,RPN中边框回归函数被更新;
步骤1.4.4保持步骤1.4.3中的共享卷积层不变,再次训练Fast-RCNN网络,计算步骤与步骤1.4.2相同,训练完毕,得到最终的一个统一网络。
再进一步,所述2.1中,焦点像素集位于卷积神经网络特征图(feature map)的粒度之上,由带ReLU的两层卷积层(3*3和1*1)以及一个二分类器softmax组成,特征图上某个与小目标重叠的像素记为焦点像素,对于输入的面积为X*Y的图片,经过一个步长为s的全卷积神经网络(FCN,Full Convolutional Networks),得到一个特征图标签集L的大小为X′与Y′分别代表经过全卷积神经网络后输出的特征图标签集的长和宽,对每一个大小为s*s的标签l(l∈L),作如下的定义:
其中,1代表标注正,0代表标注负,-1表示无效(即忽略的区域),GTArea表示实际边界框经过缩放后的面积,即ground-truth boxes区域面积,其中a、b、c皆为判定的阈值,IoU为重叠度,即两个矩形框重叠面积占其并集的面积比例;
在训练时,焦点像素集标注为正,忽略与极小目标、中等目标重叠的像素,其他像素标注为负,同时,同一目标的标记可能随着训练尺度的变化而发生改变。
更进一步,所述2.2中,由于存在某在图像块面积过小,缺少检测的必要信息,为了保证检测效率,需要指定图像块最小面积为k,输入为预测分支输出的焦点像素集预测结果P、设定的阈值t、膨胀系数d以及图像块最小面积k,焦点图像块生成算法的步骤如下:
步骤2.2.1用阈值t将P二值化;
步骤2.2.2使用d*d的过滤器对P进行膨胀操作;
步骤2.2.3从P中获得连通域集合S;
步骤2.2.4对每个在S中的连通域,生成多个最小面积大于k的图像块C;
步骤2.2.5合并重叠的图像块C;
基于焦点图像块,级联推断过程如下:
a)在最低分辨率检测并生成焦点图像块;
b)在当前最低分辨率图像块上检测,并进一步生成下一尺度的焦点图像块
c)重复步骤b,仅将可能存在目标的区域即焦点图像块传递给下一尺度检测。
所述2.3中,ROI指的是从目标图像中识别出的候选识别区域,也就是步骤二中生成的焦点图像块,ROI Pooling的作用是把大小形状各不相同的候选识别区域归一化为固定尺寸的目标识别区域,不同于CNN网络中的池化层,ROI Pooling通过如下的方法得到固定尺寸的输出,过程如下:
步骤2.3.1对于ROI Pooling层,首先确定输出大小,然后确定内核大小、步幅和填充值,将ROI Pooling层的输出大小表示为w2*h2,输入候选区域的大小为w*h;
步骤2.3.3对步骤2.3.1中每个子窗口取最大元素作为输出,从而得到大小为w2*h2的输出。
所述2.4中,将步骤2.2生成的焦点图像块送入全连接层;焦点图像块经过softmax层被分类成具体目标对象,其位置(ground-truth boxes)所在坐标在regression层中进行优化,其中softmax层的作用为将分类结果进行归一化,regression层则修正区域提议边框的位置,通过上述优化使得(Px,Py,Pw,Ph)(输入的区域提议的边框)与(Gx,Gy,Gw,Gh)(GroundTruth box)尽可能得接近,其中(x,y)为边框的中心位置,(w,h)表示边框的宽和高,中心位置通过平移的方式进行修正,边框的宽和高则通过缩放进行修正;
在训练网络的时候同时对候选区域进行一个分类与回归,Softmax损失函数用于对区域提议的分类,smooth L1损失函数用于区域提议边界的回归,损失函数如下所示:
其中,为Softmax损失函数,为smooth L1损失函数,Ncls和Nreg分别表示训练时候批处理数量和区域提议框的数量,λ表示损失权衡函数,ai表示预测一个候选框是否为目标的可能性,表示其真实值,ti表示预测一个区域提议和真实值之间的相对位移, 表示预测的区域提议中心位置相对位移值,表示预测的区域提议长度相对差值,表示一个区域提议和真实值之间得坐标转换,这个坐标转换通过如下的公式进行计算:
所述2.5中,步骤2.2中使用d*d的过滤器对P进行膨胀操作可以有效避免应在下一尺度检测的物体出现在焦点图像块的边界上,因此可以忽略所有出现在图像块边界上的检测框;对其他位置的目标,有如下规则:对于处在原图边界上的目标,则检查其是否整体位于某图像块中,如果整体位于某图像块中,保留其检测结果,否则忽略。本发明运用上述规则成功过滤各尺度不符合上述规则的检测,在检测过程的最后,使用非极大值抑制方法(即搜索局部IoU极大值,抑制非极大值元素。非极大值元素指的是同一检测中,非置信度得分最高的冗余边界框)合并各尺度检测结果,获得最终结果。
本发明为基于深度学习的高性能多尺度性能检测方法,首先通过滑窗方法对输入图像做图像块的提取;随后在生成的图像块中筛选出正图像块与负图像块;再将筛选出的正负图像块用于RPN网络与R-CNN网络的训练,得到最终的网络参数;对输入图像进行预测焦点像素集,并生成焦点像素块;焦点像素块经过分类检测与回归处理,并使用非极大值抑制方法合并各尺度检测结果;与现有方法相比,本发明所述方法在保证模型准确度的基础上,减少了像素数据的处理量,大幅度提高了训练速度及检测速度。
与现有技术相比,本发明具有以下优点:
1.本发明使用多尺度算法解决小目标检测问题,传统的多尺度训练算法会严重影响训练速度,而本发明采用的筛选图像块方法大幅度提高了训练速度。
2.检测过程采用一种由浅入深的方法,忽略不可能包含目标的区域,显著地减少多尺度检测方法的计算量,大幅度提高检测速率,突破了以往多尺度检测算法无法投入实际应用的瓶颈。
3.训练时,从原图裁剪出筛选得到的图像块,获得一系列大小固定的子图,这些子图为后续的训练样本。由于得到的图像块尺寸较小(可能不到某些高分别率图像的1/10),因此可以显著减小训练的时间与空间复杂度。并且,每个实际边界框均被合适尺寸的图像块包围,这使得模型更加容易收敛。
附图说明
图1本发明方法的流程图。
具体实施方式:
下面将结合附图和具体实施方式对本发明做进一步说明。
参照图1,一种基于深度学习的高性能多尺度目标检测方法,包括训练过程和检测过程,
所述训练过程如下:
1.1、输入图像、生成图像块
这里的图像块,是指在任一尺度下,某图片上一系列固定大小的(K*K像素)以恒定间隔(d像素)排布的窗口。每个窗口都可能包含一个或几个目标(类似滑动窗口机制)。在尺度{S1,S2,...,Sn}下生成的图像块记作Ci,其中Sn表示第n个尺度。例如选定最优值K为512,d最优值为32。在图像金字塔的某个大小为Wi*Hi的图像上,通过步长为32的滑窗方法得到约个大小为512*512像素的图像块。因此整个图像金字塔生成的图像块总数约为:
1.2、筛选正图像块
图像的ground-truth boxes(正确的标注框)随着图像尺度的变化进行对应的缩放。因此对于每一个尺度i,需要指定理想检测面积(desired area range)为i∈[1,n]。分别表示理想检测面积的最小值与最大值。若某个ground-truth boxes完全位于一个图像块内,则该ground-truth boxes被图像块包围。采用贪心算法,根据图像块包围的ground-truth boxes数量,从每个尺度i中筛选图像块作为正图像块,记作其中pos指的是positive,其中贪心算法是一种每一步选择上都要保证能获得局部最优解的算法。
1.3、筛选负图像块,包括以下步骤:
步骤1.3.1使用步骤二中筛选得到的正图像块训练一个仅有几个epochs(指代所有的数据送入网络中完成一次前向计算及反向传播的过程)的弱RPN。其中RPN是在FasterRCNN中首次提出的深度全卷积网络。该RPN仅用来选择负图像块,因此即使精度不高也几乎不会对模型最终性能产生影响。
步骤1.3.2使用该RPN检测整个训练集,根据检测结果(即RPN提议的区域)选择负图像块,选择过程如下:
b)在每个尺度i下贪心算法选择至少包含M个区域提议的图像组成负图像块池。
步骤1.4、输入图像块,训练模型,包括以下步骤:
步骤1.4.1使用ImageNet(一个庞大的开源数据集)初始化共享的卷积层(包括kernel(卷积核的尺寸)、stride(卷积步长)、padding(输入的每一条边补充0的层数)、dilation(卷积核元素之间的间距)、group(从输入通道到输出通道的阻塞连接数)、bias(偏置)、in_channels(输入信号的通道)、out_channels(输出信号的通道)参数),部分初始化RPN网络,即初始化RPN网络中如卷积核部分。通过步骤三中筛选出的正负图像块训练RPN,训练之后,共享的卷积层以及RPN的边框回归(Bounding-box regression)函数被更新,边框回归函数指的是一种关系使得输入的原始窗口P经过映射得到一个跟ground-truth box更接近的回归窗口P1,该函数通过梯度下降法(一种寻找目标函数最小化的方法)实现参数的更新。
步骤1.4.2用ImageNet重新初始化共享的卷积层,部分初始化Fast-RCNN网络,即网络中的池化层以及卷积层。通过使用训练过的RPN计算区域提议,计算步骤包括使用类似滑动窗口机制生成区域提议,并进行简单的分类与回归,再将生成的区域提议重新训练Fast-RCNN。根据步骤1.4.1设置的参数,重复步骤1.4.1。训练结束之后,共享的卷积层以及Fast-RCNN的权重参数都会被更新。
步骤1.4.3使用步骤1.4.2中训练完成的共享卷积层初始化RPN网络,随后,第二次训练RPN网络,通过初始化后的RPN网络计算得到区域提议,计算步骤与步骤1.4.2相同,训练结束之后,RPN中边框回归函数被更新。
步骤1.4.4保持步骤1.4.3中的共享卷积层不变,再次训练Fast-RCNN网络,具体步骤与步骤1.4.2相同。训练完毕,得到最终的一个统一网络。
检测过程如下:
2.1、预测焦点像素集
焦点像素集位于卷积神经网络特征图(feature map)的粒度之上,特征图上某个与小目标(面积在5*5像素到64*64像素之间)重叠的像素记为焦点像素。对于输入的面积为X*Y的图片,经过一个步长为s的全卷积神经网络(FCN,Full Convolutional Networks)。得到一个特征图标签集L的大小为X′*Y′对每一个大小为s*s的标签l(l∈L),作如下的定义:
其中,1代表标注正,0代表标注负,-1表示无效(即忽略的区域)。GTArea表示实际边界框经过缩放后的面积,即ground-truth boxes区域面积。
例如,a,b,c取值分别是5,64,90。以上公式可表述为:在训练时,焦点像素集标注为正,忽略与极小目标(面积小于5*5像素)、中等目标(面积在64*64像素与90*90像素之间)重叠的像素,其他像素标注为负。同时,同一目标的标记可能随着训练尺度的变化而发生改变。
以上标记仅用来训练本发明训练过程中用于预测焦点像素集的分支。该分支位于conv5(一个卷积层)顶部,由带ReLU的两层卷积层(3*3和1*1)以及一个二分类器SoftMax组成。
2.2、生成焦点图像块
由于存在某在图像块面积过小,缺少检测的必要信息,为了保证检测效率,需要指定图像块最小面积为k,焦点图像块生成算法的具体步骤如下:
输入为预测分支输出的焦点像素集预测结果P、设定的阈值t、膨胀系数d以及图像块最小面积k。
步骤2.2.1用阈值t将P二值化;
步骤2.2.2使用d*d的过滤器对P进行膨胀操作(增强图像的亮部);
步骤2.2.3从P中获得连通域集合S;
步骤2.2.4对每个在S中的连通域,生成多个最小面积大于k的图像块C;
步骤2.2.5合并重叠的图像块C;
基于焦点图像块,本发明的级联推断过程如下:
a)在最低分辨率检测并生成焦点图像块;
b)在当前最低分辨率图像块上检测,并进一步生成下一尺度的焦点图像块;
c)重复步骤b,仅将可能存在目标的区域(即焦点图像块)传递给下一尺度检测。
2.3、ROI阶段
ROI(Region Of Interest,感兴趣区域)指的是从目标图像中识别出的候选识别区域,也就是步骤二中生成的焦点图像块。ROI Pooling的作用是把大小形状各不相同的候选识别区域归一化为固定尺寸的目标识别区域。不同于CNN网络中的池化层,ROI Pooling通过如下的方法得到固定尺寸的输出,过程如下:
步骤2.3.1对于ROI Pooling层,首先确定输出大小,然后确定内核大小、步幅和填充值。将ROI Pooling层的输出大小表示为w2*h2,输入候选区域的大小为w*h。
步骤2.3.3对步骤3.1中每个子窗口取最大元素作为输出,从而得到大小为w2*h2的输出。
2.4、分类和回归
将步骤2.2生成的焦点图像块送入全连接层;焦点图像块经过softmax层被分类成具体目标对象,其位置(ground-truth boxes)所在坐标在regression层中进行优化,其中softmax层的作用为将分类结果进行归一化,regression层则修正区域提议边框的位置。通过上述优化使得(Px,Py,Pw,Ph)(输入的区域提议的边框)与(Gx,Gy,Gw,Gh)(Ground Truthbox)尽可能得接近,其中(x,y)为边框的中心位置,(w,h)表示边框的宽和高。中心位置通过平移的方式进行修正,边框的宽和高则通过缩放进行修正。
在训练网络的时候同时对候选区域进行一个分类与回归。Softmax损失函数用于对区域提议的分类,smooth L1损失函数用于区域提议边界的回归,损失函数如下所示:
其中,为Softmax损失函数,为smooth L1损失函数,Ncls和Nreg分别表示训练时候批处理数量和区域提议框的数量,λ表示损失权衡函数,ai表示预测一个候选框是否为目标的可能性,表示其真实值。ti表示预测一个区域提议和真实值之间的相对位移,(表示预测的区域提议中心位置相对位移值,表示预测的区域提议长度相对差值)。表示一个区域提议和真实值之间得坐标转换,这个坐标转换可以通过如下的公式进行计算:
2.5、焦点合成
步骤2.2中使用d*d的过滤器对P进行膨胀操作可以有效避免应在下一尺度检测的物体出现在焦点图像块的边界上(图像块与原图共享边界除外),因此可以忽略所有出现在图像块边界上的检测框。对其他位置的目标,有如下规则:
对于处在原图边界上的目标,则检查其是否整体位于某图像块中,如果整体位于某图像块中,保留其检测结果,否则忽略。
本发明运用上述规则成功过滤各尺度不符合上述规则的检测,在检测过程的最后,使用非极大值抑制方法(即搜索局部IoU极大值,抑制非极大值元素。非极大值元素指的是同一检测中,非置信度得分最高的冗余边界框)合并各尺度检测结果,获得最终结果。
具体实施例2:
以英伟达GPU作为计算平台,采用CUDA作为GPU加速器,选取MXNET作为CNN框架。
步骤一、数据准备:
本实验中使用通过网络爬取的30199张图片作为数据集。其中标注为“hat”的目标有59428个,标注为“person”的目标有125892个。以符合学术标准的8:2比例将数据集分为训练集与测试集,其中训练集24159张图片,测试集6040张图片。不存在同时出现在训练集和测试集中的图片。
步骤二、模型训练:
步骤2.1:本实验的模型采用随机梯度下降算法(SGD),批处理数量(batchsize)为4,epochs的个数为6,每个epoch包含110000次迭代。
步骤2.2:本实验的学习率设置如下:前五个epoch的学习率设置为0.025,第五次epoch训练结束时减小学习率(learning rate)为0.015。
步骤2.3:图像块大小(chip size)设置为(512,512),训练尺度(trainingscales)设置为(480,512)、(800,1280)、(1400,2000)。
步骤2.4:最佳检测面积Ri(desired area ranges)设置为(0,802)、(322,1502)、(1202,inf)。
步骤2.5:模型训练过程中生成的.states文件可用于模型的继续训练,.params文件可用于接下来的模型测试。
步骤三、模型测试:
步骤3.1:用上述模型训练生成的.param文件来进行测试。
步骤3.2:本实验采用贪心的非极大值抑制策略对测试生成的预测结果进行处理,消除高重叠度和低分数的预测结果。非极大值抑制的阈值设置为0.99999,分数的阈值设置为0.25。
步骤四、模型评估:
模型的评估采用mAP@0.5的值作为最终评估的结果。
步骤五、训练环境配置:
具体训练环境配置说明参照表1:
品名 | 型号 | 数量 |
CPU | INTEL I5 9700K | 1 |
主板 | 微星Z390 GAMING PLUS | 1 |
内存 | 海盗船复仇者16GB/3200 | 1 |
显卡 | NVIDIA GTX2060 6G骁将 | 1 |
固态硬盘 | 西数500GB | 1 |
硬盘 | 希捷1TB | 1 |
表1
具体实施步骤叙述完毕,在上述实验参数设置下,最终训练时间约为42小时,训练用于筛选负图像块的RPN的时间大约为12小时。测试处理一张图片的平均时间约0.09秒,即平均每秒约11.1张图片。本实验训练下表给出本发明在mAP@0.5在上述实验设置的测试结果,并在相同条件下,给出利用其他方法的测试结果对比,参照表2。
算法 | Hat(%) | Person(%) | mAP@0.5(%) |
HOG+SVM | 77.49 | 60.94 | 69.45 |
YOLO | 84.01 | 66.08 | 75.05 |
SSD | 81.77 | 64.03 | 73.16 |
Faster R-CNN | 89.47 | 70.60 | 80.04 |
ours | 90.15 | 89.23 | 89.69 |
表2。
Claims (10)
1.一种基于深度学习的高性能多尺度目标检测方法,其特征在于,所述方法包括训练过程和检测过程,
所述训练过程如下:
1.1、输入图片,生成图像块;
1.2、筛选正图像块;
1.3、筛选负图像块;
1.4、输入图像块,训练模型;
所述检测过程如下:
2.1、预测焦点像素集;
2.2、生成焦点图像块;
2.3、RoI阶段;
2.4、分类和回归;
2.5、焦点合成。
2.如权利要求1所述的一种基于深度学习的高性能多尺度目标检测方法,其特征在于,所述1.1中,所述图像块是指在任一尺度下,某图片上一系列固定大小的(K*K像素)以恒定间隔(d像素)排布的窗口,每个窗口都可能包含一个或几个目标,在尺度{S1,S2,…,Sn}下生成的图像块记作Ci,其中Sn表示第n个尺度。
4.如权利要求3所述的一种基于深度学习的高性能多尺度目标检测方法,其特征在于,所述1.3包括以下步骤:
步骤1.3.1使用步骤1.2中筛选得到的正图像块训练一个仅有几个epochs的RPN,epochs指代所有的数据送入网络中完成一次前向计算及反向传播的过程,其中RPN是在Faster RCNN中首次提出的深度全卷积网络,该RPN仅用来选择负图像块,因此即使精度不高也几乎不会对模型最终性能产生影响;
步骤1.3.2使用该RPN检测整个训练集,根据检测结果选择负图像块,选择过程如下:
b)在每个尺度i下使用贪心算法选择至少包含M个区域提议的图像组成负图像块池;
5.如权利要求1或2所述的一种基于深度学习的高性能多尺度目标检测方法,其特征在于,所述1.4包括以下步骤:
步骤1.4.1使用ImageNe初始化共享的卷积层,包括kernel(卷积核的尺寸)、stride(卷积步长)、padding(输入的每一条边补充0的层数)、dilation(卷积核元素之间的间距)、group(从输入通道到输出通道的阻塞连接数)、bias(偏置)、in_channels(输入信号的通道)、out_channels(输出信号的通道)参数,初始化RPN网络中卷积核部分,通过步骤三中筛选出的正负图像块训练RPN,训练之后,共享的卷积层以及RPN的边框回归(Bounding-boxregression)函数被更新,边框回归函数指的是一种关系使得输入的原始窗口P经过映射得到一个跟ground-truth box更接近的回归窗口P1,该函数通过梯度下降法(一种寻找目标函数最小化的方法)实现参数的更新;
步骤1.4.2用ImageNet重新初始化共享的卷积层,初始化Fast-RCNN网络的池化层以及卷积层,通过使用训练过的RPN计算得到区域提议,计算步骤包括使用滑动窗口机制生成区域提议,并进行分类与回归,再将生成的区域提议重新训练Fast-RCNN,根据步骤1.4.1设置的参数,重复步骤1.4.1,训练结束之后,共享的卷积层以及Fast-RCNN的权重参数都会被更新;
步骤1.4.3使用步骤4.2中训练完成的共享卷积层初始化RPN网络,随后,第二次训练RPN网络,通过初始化后的RPN网络计算得到区域提议,计算步骤与步骤1.4.2相同,训练结束之后,RPN中边框回归函数被更新;
步骤1.4.4保持步骤1.4.3中的共享卷积层不变,再次训练Fast-RCNN网络,计算步骤与步骤1.4.2相同,训练完毕,得到最终的一个统一网络。
6.如权利要求1或2所述的一种基于深度学习的高性能多尺度目标检测方法,其特征在于,所述2.1中,焦点像素集位于卷积神经网络特征图(feature map)的粒度之上,由带ReLU的两层卷积层(3*3和1*1)以及一个二分类器softmax组成,特征图上某个与小目标重叠的像素记为焦点像素,对于输入的面积为X*Y的图片,经过一个步长为s的全卷积神经网络(FCN,FullConvolutionalNetworks),得到一个特征图标签集L的大小为X′*Y′X′与Y′分别代表经过全卷积神经网络后输出的特征图标签集的长和宽,对每一个大小为s*s的标签l(l∈L),作如下的定义:
其中,1代表标注正,0代表标注负,-1表示无效,GTArea表示实际边界框经过缩放后的面积,即ground-truth boxes区域面积,其中a、b、c皆为判定的阈值,IoU为重叠度,即两个矩形框重叠面积占其并集的面积比例;
在训练时,焦点像素集标注为正,忽略与极小目标、中等目标重叠的像素,其他像素标注为负,同时,同一目标的标记可能随着训练尺度的变化而发生改变。
7.如权利要求1或2所述的一种基于深度学习的高性能多尺度目标检测方法,其特征在于,所述2.2中,由于存在某在图像块面积过小,缺少检测的必要信息,为了保证检测效率,需要指定图像块最小面积为k,输入为预测分支输出的焦点像素集预测结果P、设定的阈值t、膨胀系数d以及图像块最小面积k,焦点图像块生成算法的步骤如下:
步骤2.2.1用阈值t将P二值化;
步骤2.2.2使用d*d的过滤器对P进行膨胀操作;
步骤2.2.3从P中获得连通域集合S;
步骤2.2.4对每个在S中的连通域,生成多个最小面积大于k的图像块C;
步骤2.2.5合并重叠的图像块C;
基于焦点图像块,级联推断过程如下:
a)在最低分辨率检测并生成焦点图像块;
b)在当前最低分辨率图像块上检测,并进一步生成下一尺度的焦点图像块
c)重复步骤b,仅将可能存在目标的区域即焦点图像块传递给下一尺度检测。
8.如权利要求1或2所述的一种基于深度学习的高性能多尺度目标检测方法,其特征在于,所述2.3中,ROI指的是从目标图像中识别出的候选识别区域,也就是步骤二中生成的焦点图像块,ROI Pooling的作用是把大小形状各不相同的候选识别区域归一化为固定尺寸的目标识别区域,不同于CNN网络中的池化层,ROI Pooling通过如下的方法得到固定尺寸的输出,过程如下:
步骤3.1对于ROI Pooling层,首先确定输出大小,然后确定内核大小、步幅和填充值,将ROI Pooling层的输出大小表示为w2*h2,输入候选区域的大小为w*h;
步骤3.3对步骤3.1中每个子窗口取最大元素作为输出,从而得到大小为w2*h2的输出。
9.如权利要求1或2所述的一种基于深度学习的高性能多尺度目标检测方法,其特征在于,所述2.4中,将步骤2.2生成的焦点图像块送入全连接层;焦点图像块经过softmax层被分类成具体目标对象,其位置(ground-truth boxes)所在坐标在regression层中进行优化,其中softmax层的作用为将分类结果进行归一化,regression层则修正区域提议边框的位置,通过上述优化使得(Px,Py,Pw,Ph)(输入的区域提议的边框)与(Gx,Gy,Gw,Gh)(GroundTruth box)尽可能得接近,其中(x,y)为边框的中心位置,(w,h)表示边框的宽和高,中心位置通过平移的方式进行修正,边框的宽和高则通过缩放进行修正;
在训练网络的时候同时对候选区域进行一个分类与回归,Softmax损失函数用于对区域提议的分类,smooth L1损失函数用于区域提议边界的回归,损失函数如下所示:
其中,为Softmax损失函数,为smooth L1损失函数,Ncls和Nreg分别表示训练时候批处理数量和区域提议框的数量,λ表示损失权衡函数,ai表示预测一个候选框是否为目标的可能性,表示其真实值,ti表示预测一个区域提议和真实值之间的相对位移, 表示预测的区域提议中心位置相对位移值,表示预测的区域提议长度相对差值,表示一个区域提议和真实值之间得坐标转换,这个坐标转换通过如下的公式进行计算:
10.如权利要求1或2所述的一种基于深度学习的高性能多尺度目标检测方法,其特征在于,所述2.5中,步骤2.2中使用d*d的过滤器对P进行膨胀操作可以有效避免应在下一尺度检测的物体出现在焦点图像块的边界上,因此可以忽略所有出现在图像块边界上的检测框;对其他位置的目标,有如下规则:对于处在原图边界上的目标,则检查其是否整体位于某图像块中,如果整体位于某图像块中,保留其检测结果,否则忽略,检测过程的最后,使用非极大值抑制方法合并各尺度检测结果,获得最终结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010920608.1A CN112149665B (zh) | 2020-09-04 | 2020-09-04 | 一种基于深度学习的高性能多尺度目标检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010920608.1A CN112149665B (zh) | 2020-09-04 | 2020-09-04 | 一种基于深度学习的高性能多尺度目标检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112149665A true CN112149665A (zh) | 2020-12-29 |
CN112149665B CN112149665B (zh) | 2024-05-07 |
Family
ID=73890505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010920608.1A Active CN112149665B (zh) | 2020-09-04 | 2020-09-04 | 一种基于深度学习的高性能多尺度目标检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112149665B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113077426A (zh) * | 2021-03-23 | 2021-07-06 | 成都国铁电气设备有限公司 | 一种实时在线检测夹板螺栓缺陷的方法 |
CN113095418A (zh) * | 2021-04-19 | 2021-07-09 | 航天新气象科技有限公司 | 一种目标检测方法及系统 |
CN113139540A (zh) * | 2021-04-02 | 2021-07-20 | 北京邮电大学 | 背板检测方法及设备 |
CN114049627A (zh) * | 2022-01-11 | 2022-02-15 | 浙江华是科技股份有限公司 | 可智能选择缩放尺度的船牌检测方法、装置及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107003834A (zh) * | 2014-12-15 | 2017-08-01 | 北京市商汤科技开发有限公司 | 行人检测设备和方法 |
CN111027547A (zh) * | 2019-12-06 | 2020-04-17 | 南京大学 | 一种针对二维图像中的多尺度多形态目标的自动检测方法 |
WO2020164270A1 (zh) * | 2019-02-15 | 2020-08-20 | 平安科技(深圳)有限公司 | 基于深度学习的行人检测方法、系统、装置及存储介质 |
-
2020
- 2020-09-04 CN CN202010920608.1A patent/CN112149665B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107003834A (zh) * | 2014-12-15 | 2017-08-01 | 北京市商汤科技开发有限公司 | 行人检测设备和方法 |
WO2020164270A1 (zh) * | 2019-02-15 | 2020-08-20 | 平安科技(深圳)有限公司 | 基于深度学习的行人检测方法、系统、装置及存储介质 |
CN111027547A (zh) * | 2019-12-06 | 2020-04-17 | 南京大学 | 一种针对二维图像中的多尺度多形态目标的自动检测方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113077426A (zh) * | 2021-03-23 | 2021-07-06 | 成都国铁电气设备有限公司 | 一种实时在线检测夹板螺栓缺陷的方法 |
CN113077426B (zh) * | 2021-03-23 | 2022-08-23 | 成都国铁电气设备有限公司 | 一种实时在线检测夹板螺栓缺陷的方法 |
CN113139540A (zh) * | 2021-04-02 | 2021-07-20 | 北京邮电大学 | 背板检测方法及设备 |
CN113095418A (zh) * | 2021-04-19 | 2021-07-09 | 航天新气象科技有限公司 | 一种目标检测方法及系统 |
CN114049627A (zh) * | 2022-01-11 | 2022-02-15 | 浙江华是科技股份有限公司 | 可智能选择缩放尺度的船牌检测方法、装置及系统 |
CN114049627B (zh) * | 2022-01-11 | 2022-04-08 | 浙江华是科技股份有限公司 | 可智能选择缩放尺度的船牌检测方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112149665B (zh) | 2024-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111401201B (zh) | 一种基于空间金字塔注意力驱动的航拍图像多尺度目标检测方法 | |
CN109902677B (zh) | 一种基于深度学习的车辆检测方法 | |
CN112149665B (zh) | 一种基于深度学习的高性能多尺度目标检测方法 | |
Gao et al. | A real-time defect detection method for digital signal processing of industrial inspection applications | |
CN113592845A (zh) | 一种电池涂布的缺陷检测方法及装置、存储介质 | |
CN112149664B (zh) | 一种优化分类与定位任务的目标检测方法 | |
CN111027493A (zh) | 一种基于深度学习多网络软融合的行人检测方法 | |
CN110610210B (zh) | 一种多目标检测方法 | |
Li et al. | Pixel-anchor: A fast oriented scene text detector with combined networks | |
CN115661943B (zh) | 一种基于轻量级姿态评估网络的跌倒检测方法 | |
Lan et al. | An improved YOLOv3 method for PCB surface defect detection | |
CN111368634B (zh) | 基于神经网络的人头检测方法、系统及存储介质 | |
WO2024032010A1 (zh) | 一种基于迁移学习策略的少样本目标实时检测方法 | |
CN113780145A (zh) | 精子形态检测方法、装置、计算机设备和存储介质 | |
CN111738164B (zh) | 一种基于深度学习的行人检测方法 | |
CN113609895A (zh) | 基于改进Yolov3的获取道路交通信息方法 | |
Liu et al. | Defect detection of the surface of wind turbine blades combining attention mechanism | |
CN113887455B (zh) | 一种基于改进fcos的人脸口罩检测系统及方法 | |
CN118279320A (zh) | 基于自动提示学习的目标实例分割模型建立方法及其应用 | |
Raj et al. | Steel strip quality assurance with yolov7-csf: a coordinate attention and siou fusion approach | |
CN116311387B (zh) | 一种基于特征交集的跨模态行人重识别方法 | |
Zhang et al. | Tfdet: Target-aware fusion for rgb-t pedestrian detection | |
CN111986233A (zh) | 基于特征自学习的大场景极小目标遥感视频跟踪方法 | |
CN112597842B (zh) | 基于人工智能的运动检测面瘫程度评估系统 | |
Lv et al. | An image rendering-based identification method for apples with different growth forms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |