CN111462235A - 基于yolo v3算法的倾斜目标检测方法、装置及存储介质 - Google Patents

基于yolo v3算法的倾斜目标检测方法、装置及存储介质 Download PDF

Info

Publication number
CN111462235A
CN111462235A CN202010241146.0A CN202010241146A CN111462235A CN 111462235 A CN111462235 A CN 111462235A CN 202010241146 A CN202010241146 A CN 202010241146A CN 111462235 A CN111462235 A CN 111462235A
Authority
CN
China
Prior art keywords
algorithm
yolo
target
detection
theta
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.)
Pending
Application number
CN202010241146.0A
Other languages
English (en)
Inventor
黄炎
李磊
倪彦朝
姜炳强
王天玮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Mechanical And Electrical Engineering General Design Department
Wuhan Zmvision Technology Co ltd
Original Assignee
Beijing Mechanical And Electrical Engineering General Design Department
Wuhan Zmvision Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Mechanical And Electrical Engineering General Design Department, Wuhan Zmvision Technology Co ltd filed Critical Beijing Mechanical And Electrical Engineering General Design Department
Priority to CN202010241146.0A priority Critical patent/CN111462235A/zh
Publication of CN111462235A publication Critical patent/CN111462235A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Abstract

本发明提供了一种基于yolo v3算法的倾斜目标检测方法、装置及存储介质,该方法包括以下步骤:获取包含检测目标的图片,分别生成训练集合A和验证集合B;将训练集合A和验证集合B中的检测目标用任意角度矩形框进行逐一标注;使用训练集合A对改进后的yolo v3算法进行训练,所述改进后的yolo v3算法为在原始yolo v3算法的基础上对anchor框、IOU计算以及边框回归进行改进以适应倾斜目标检测后的算法;然后通过验证集合B来选择效果最好、泛化能力最佳的权重模型;将改进后的yolo v3算法移植到NVIDIA Jetson TX2,并加载训练好的最佳权重来对图片中目标进行实时检测。本发明既能够处理常见垂直目标检测,同时也能够处理倾斜目标的检测。

Description

基于yolo v3算法的倾斜目标检测方法、装置及存储介质
技术领域
本发明涉及计算机视觉、机器学习领域,尤其涉及一种基于yolo v3算法的倾斜目标检测方法、装置及存储介质。
背景技术
目标检测是一件比较实际的且具有挑战性的计算机视觉任务,其可以看成图像分类与定位的结合,给定一张图片,目标检测系统要能够识别出图片的目标并给出其位置,由于图片中目标数是不定的,且要给出目标的精确位置,目标检测相比分类任务更复杂。
近几年来,目标检测算法取得了很大的突破。比较流行的算法可以分为两类,一类是基于Region Proposal的R-CNN系算法(R-CNN,Fast R-CNN,Faster R-CNN,Mask R-CNN),它们是二阶段网络,需要先使用selective search的方法或者RPN来产生RegionProposal,然后再在Region Proposal上做分类与回归。而另一类是Yolo,SSD这类一阶段算法,其仅仅使用一个CNN网络直接预测不同目标的类别与位置。前一类算法的检测速度较慢,目前没办法做到实时环境的目标检测。
Yolo如今已经有v1、v2、v3三个版本,YOLOv1执行速度很快,可以达到每秒钟50-60帧,但是检测目标在图片中定位误差很大,导致检测精度不高。v2是在v1版本上做出的改进,包括新的基础网络、更细的网格划分、多尺度训练、全卷积网络、使用Faster-RCNN的anchor机制、Batch Normalization等等,使得v2提高了召回率,减少了定位错误,同时提高了分类精度,而v3对v2进行了更细微的设计调整,调整了网络结构Darknet-53、利用多尺度特征进行目标检测、目标分类用Logistic取代了softmax,更加提高了检测的精度。并且能够达到我们实时检测的目的。
由于现实情况,上述的算法做的都是水平或者垂直目标的检测,并非所有的检测目标都是水平或者垂直的,如果将此类算法应用到倾斜目标的检测上去,那么检测结果并不精确,达不到我们需要的检测精度,因而我们基于yolo v3网络设计一种倾斜目标检测的方法。
发明内容
为解决现有技术存在的上述技术问题,本发明提供一种基于yolo v3算法的倾斜目标检测方法、装置及存储介质。
本发明是这样实现的:
第一方面,本发明提供一种基于yolo v3算法的倾斜目标检测方法,包括以下步骤:
获取包含检测目标的图片,分别生成训练集合A和验证集合B;
将训练集合A和验证集合B中的检测目标用任意角度矩形框进行逐一标注,每个目标对应一个矩形框坐标(x,y,w,h,θ)和矩形框中所包含目标的种类,其中x、y分别表示矩形框中心点相对于图片左上角的水平和竖直偏移,w表示矩形框的宽度,h表示矩形框的高,θ表示矩形框倾斜的角度;
使用训练集合A对改进后的yolo v3算法进行训练,所述改进后的yolo v3算法为在原始yolo v3算法的基础上对anchor框、IOU计算以及边框回归进行改进以适应倾斜目标检测后的算法;然后通过验证集合B来选择效果最好、泛化能力最佳的权重模型;
将改进后的yolo v3算法移植到NVIDIA Jetson TX2,并加载训练好的最佳权重来对图片中目标进行实时检测,检测图片中是否存在被测目标以及目标类别和包含目标的倾斜矩形框的坐标信息(x,y,w,h,θ)。
进一步地,所述在原始yolo v3算法的基础上对anchor框、IOU计算以及边框回归进行改进以适应倾斜目标检测具体包括:
使用(x,y,w,h,θ)来代表新的anchor框,θ定义为与x轴的夹角,w为与x轴相交的那条边的长度,h为另一条边的长度,x、y分别表示anchor框中心点相对于图片左上角的水平和竖直偏移,θ默认为-pi/2;
将原始yolo v3算法中的IOU计算改变为旋转IOU计算;
在原始yolo v3算法的边框回归中增加对参数θ的学习。
进一步地,所述旋转IOU计算的方法如下:
首先将其中一个候选框anchorA(xa,ya,wa,haa)转变为((xa,ya),(wa,ha),θa),另外一个候选框anchorB(xb,yb,wb,hbb)转变为((xb,yb),(wb,hb),θb);
定义:
r1=((xb,ya),(wa,ha),θa),
r2=((xb,yb),(wb,hb),θb),
InterSectArea=cv2.rotatedRectangleIntersection(r1,r2),
TotalArea=wa*ha+wb*hb-InterSectArea;
则两个候选框的交并比IOU=InterSectArea/TotalArea。
进一步地,所述在原始yolo v3算法的边框回归中增加对参数θ的学习具体包括:
给定一个锚框(xa,ya,wa,haa),寻找一种映射f,使得f(xa,ya,wa,haa)=(x'a,y'a,w'a,h'a,θ'a)并且(x'a,y'a,w'a,h'a,θ'a)≈(x,y,w,h,θ);
f映射就是对锚框(xa,ya,wa,haa)的中心点先做x方向的平移变换Δx,然后做y方向的平移变换Δy,然后对锚框的宽wa做缩放变换Sw,对高ha做缩放变换Sh,最后对θa做旋转变换,得到(x'a,y'a,w'a,h'a,θ'a),使得(x'a,y'a,w'a,h'a,θ'a)≈(x,y,w,h,θ);
Δx=wa*t‘x,Δy=ha*t‘y,Sw=exp(t‘w),Sh=exp(t‘h),Sθ=t‘θ,而(t‘x,t‘y,t‘w,t‘h,t‘θ)为模型根据锚框(xa,ya,wa,haa)预测的参数值,然后根据(t‘x,t‘y,t‘w,t‘h,t‘θ)计算出(Δx,Δy,Sw,Sh,Sθ),然后根据以下式子算出(x'a,y'a,w'a,h'a,θ'a):
x'a=Δx+xa
y'a=Δy+ya
w'a=wa*Sw
h'a=ha*Sh
θ'a=θa+Sθ
而根据(x,y,w,h,θ)计算的实际的参数值为:
tx=(x-xa)/wa
ty=(y-ya)/ha
tw=log(w/wa)
th=log(h/ha)
tθ=θ-θa
目标函数可以表示为
Figure BDA0002432610870000042
Figure BDA0002432610870000043
为输入锚框a的特征向量,
Figure BDA0002432610870000044
表示需要学习的参数,*表示x,y,w,h,θ,t‘*为模型预测的参数值;
要让预测值和真实的参数值t*=(tx,ty,tw,th,θ)的差距最小,得到损失函数为:
Figure BDA0002432610870000041
其中N表示region proposal的个数,λ1表示平衡因子,t‘n是一个二进制值,t‘n=1表示前景,t‘n=0表示背景,背景无回归;v‘*j表示预测的偏移矢量,vnj表示根据真实框实际的偏移矢量,最后将两组参数送入SmoothL1损失函数中去进行计数,最后得到Loss后再进行反向传播,对模型的参数进行更新。
进一步地,所述获取包含检测目标的图片,分别生成训练集合A和验证集合B之后还包括:
对训练集合A采取数据增广,增加训练集合A的图片个数;所述数据增广包括旋转、反射变换、翻转变换、缩放变换、平移变换、尺度变换、对比度变换、噪声扰动和颜色变换中的至少一种。
进一步地,所述将训练集合A和验证集合B中的检测目标用任意角度矩形框进行逐一标注采用的是LabelMe标注软件。
第二方面,本发明还提供一种基于yolo v3算法的倾斜目标检测装置,包括:
训练集合生成模块,用于获取包含检测目标的图片,分别生成训练集合A和验证集合B;
检测目标标注模块,用于将训练集合A和验证集合B中的检测目标用任意角度矩形框进行逐一标注,每个目标对应一个矩形框坐标(x,y,w,h,θ)和矩形框中所包含目标的种类,其中x、y分别表示矩形框中心点相对于图片左上角的水平和竖直偏移,w表示矩形框的宽度,h表示矩形框的高,θ表示矩形框倾斜的角度;
改进算法训练模块,用于使用训练集合A对改进后的yolo v3算法进行训练,所述改进后的yolo v3算法为在原始yolo v3算法的基础上对anchor框、IOU计算以及边框回归进行改进以适应倾斜目标检测后的算法;然后通过验证集合B来选择效果最好、泛化能力最佳的权重模型;
目标实时检测模块,用于将改进后的yolo v3算法移植到NVIDIA Jetson TX2,并加载训练好的最佳权重来对图片中目标进行实时检测,检测图片中是否存在被测目标以及目标类别和包含目标的倾斜矩形框的坐标信息(x,y,w,h,θ)。
进一步地,所述在原始yolo v3算法的基础上对anchor框、IOU计算以及边框回归进行改进以适应倾斜目标检测具体包括:
使用(x,y,w,h,θ)来代表新的anchor框,θ定义为与x轴的夹角,w为与x轴相交的那条边的长度,h为另一条边的长度,x、y分别表示anchor框中心点相对于图片左上角的水平和竖直偏移,θ默认为-pi/2;
将原始yolo v3算法中的IOU计算改变为旋转IOU计算;
在原始yolo v3算法的边框回归中增加对参数θ的学习。
第三方面,本发明还提供一种基于yolo v3算法的倾斜目标检测装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时执行上述方法的步骤。
第四方面,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述的方法。
与现有技术相比,本发明具有以下有益效果:
本发明提供的这种基于yolo v3算法的倾斜目标检测方法、装置及存储介质,既能够处理常见垂直目标检测,同时也能够处理倾斜目标的检测,可以实现对任何场景下任意倾斜角度的目标进行实时监控,得到目标类别、目标坐标等信息,并且根据检测结果来应用到真实的需求上去,有助于解决现实问题。在计算预测框和GT框重叠时,采用了旋转IOU计算,这样提升了预测准确率;算法在anchor设定的地方只加入了θ,没有改变anchor的数量,因此在速度上依然很够达到47FPS;在边框回归中增加了对参数θ的学习,提高了目标检测的效率以及准确率。本发明在进行倾斜目标检测时,与其他二阶段方法进行对比,能够达到近似的效果并且速度是其3-4倍。
附图说明
图1为本发明实施例提供的一种基于yolo v3算法的倾斜目标检测方法的流程图;
图2为本发明实施例提供的边框回归示意图;
图3为本发明实施例提供的一种基于yolo v3算法的倾斜目标检测装置的方框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例提供一种基于yolo v3算法的倾斜目标检测方法,该方法执行之前,首先要对数据进行采集,以车辆目标检测为例,数据采集方法可以为:用摄像机高空录制多个场景车辆的视频(包含:停车场、十字路口、高架桥等等),然后将其逐帧抽出每一张图片,用于生成训练集合A,使用相机拍摄多个场景的汽车照片(场景尽可能的多),用于生成验证集合B。
如图1所示,为本发明实施例提供的一种基于yolo v3算法的倾斜目标检测方法的流程图。
在步骤S1中,获取前面采集的包含检测目标的图片,分别生成训练集合A和验证集合B。
优选地,所述步骤S1之后还包括:对训练集合A采取数据增广,增加训练集合A的图片个数,提高模型识别能力和泛化能力;所述数据增广包括旋转、反射变换、翻转变换、缩放变换、平移变换、尺度变换、对比度变换、噪声扰动和颜色变换中的至少一种。数据增强使数据集中包括同一张图片在不同角度、不同尺度的各种数据,增加了数据集中图片的个数。通过扩充数据集,可以防止图像样本过少导致的过拟合问题。
在步骤S2中,将训练集合A和验证集合B中的检测目标用任意角度矩形框进行逐一标注,每个目标对应一个矩形框坐标(x,y,w,h,θ)和矩形框中所包含目标的种类,倾斜矩形框尽可能贴近目标,其中x、y分别表示矩形框中心点相对于图片左上角的水平和竖直偏移,w表示矩形框的宽度,h表示矩形框的高,θ表示矩形框倾斜的角度;每个图片还对应一个txt文件,txt文件中每一行包含该图中目标对应的矩形框的坐标(x,y,w,h,θ)以及目标类别。该过程中优选采用LabelMe标注软件进行标注。
在步骤S3中,使用训练集合A对改进后的yolo v3算法进行训练,所述改进后的yolo v3算法为在原始yolo v3算法的基础上对anchor框(候选框)、IOU(交并比)计算以及边框回归进行改进以适应倾斜目标检测后的算法;然后通过验证集合B来选择效果最好、泛化能力最佳的权重模型,同时可以防止生成的权重模型的过拟合。
优选地,所述在原始yolo v3算法的基础上对anchor框、IOU计算以及边框回归进行改进以适应倾斜目标检测具体包括:
(1)使用(x,y,w,h,θ)来代表新的anchor框,为了与OpenCv保持一致,θ定义为与x轴的夹角,w为与x轴相交的那条边的长度,h为另一条边的长度,x、y分别表示anchor框中心点相对于图片左上角的水平和竖直偏移,θ默认为-pi/2;该方法只是在原始的anchor上多加一个参数,没有改变anchor的数量,不会增加过多计算。
(2)将原始yolo v3算法中的IOU计算改变为旋转IOU计算;在删除重复的预测框以及计算预测框和GT框的重叠时都要使用IOU计算,原始yolo v3算法中IOU的计算是运用在两个直框上的,但是现在的预测框和GT框都是旋转矩形,如果使用原始IOU计算方法计算两个旋转矩形的重叠部分,那么计算的值是非常不准确的,并且会破坏预测的准确性,使用旋转的IOU计算可以克服这一问题。
因为每个anchor的设置为(x,y,w,h,θ),于是我们使用opencv2里面的一个函数rotatedRectangleIntersection来计算两个anchor的相交面积,然后再计算两个anchor的相并面积,最后得到两个anchor的旋转IOU。具体计算方法如下:
首先将其中一个候选框anchorA(xa,ya,wa,haa)转变为((xa,ya),(wa,ha),θa),另外一个候选框anchorB(xb,yb,wb,hbb)转变为((xb,yb),(wb,hb),θb);
定义:
r1=((xa,ya),(wa,ha),θa),
r2=((xb,yb),(wb,hb),θb),
InterSectArea=cv2.rotatedRectangleIntersection(r1,r2),
TotalArea=wa*ha+wb*hb-InterSectArea;
则两个候选框的交并比IOU=InterSectArea/TotalArea。
(3)在原始yolo v3算法的边框回归中增加对参数θ的学习。因为在原始的yolo v3算法中是没有对角度的回归的,直接使用会导致预测效率低以及结果不准确,在原始yolov3算法的边框回归中增加对参数θ的学习可以提高目标检测的效率以及准确度。
参见图2所示,在一个实施例中,所述在原始yolo v3算法的边框回归中增加对参数θ的学习具体包括:
给定一个锚框(xa,ya,wa,haa),寻找一种映射f,使得f(xa,ya,wa,haa)=(x'a,y'a,w'a,h'a,θ'a)并且(x'a,y'a,w'a,h'a,θ'a)≈(x,y,w,h,θ);
f映射就是对锚框(xa,ya,wa,haa)的中心点先做x方向的平移变换Δx,然后做y方向的平移变换Δy,然后对锚框的宽wa做缩放变换Sw,对高ha做缩放变换Sh,最后对θa做旋转变换,得到(x'a,y'a,w'a,h'a,θ'a),使得(x'a,y'a,w'a,h'a,θ'a)≈(x,y,w,h,θ);
Δx=wa*t‘x,Δy=ha*t‘y,Sw=exp(t‘w),Sh=exp(t‘h),Sθ=t‘θ,而(t‘x,t‘y,t‘w,t‘h,t‘θ)为模型根据锚框(xa,ya,wa,haa)预测的参数值,然后根据(t‘x,t‘y,t‘w,t‘h,t‘θ)计算出(Δx,Δy,Sw,Sh,Sθ),然后根据以下式子算出(x'a,y'a,w'a,h'a,θ'a):
x'a=Δx+xa
y'a=Δy+ya
w'a=wa*Sw
h'a=ha*Sh
θ'a=θa+Sθ
而根据(x,y,w,h,θ)计算的实际的参数值为:
tx=(x-xa)/wa
ty=(y-ya)/ha
tw=log(w/wa)
th=log(h/ha)
tθ=θ-θa
目标函数可以表示为
Figure BDA0002432610870000101
Figure BDA0002432610870000102
为输入锚框a的特征向量,
Figure BDA0002432610870000103
表示需要学习的参数,*表示x,y,w,h,θ,也就是每一个变换对应一个目标函数,t‘*为模型预测的参数值;
要让预测值和真实的参数值t*=(tx,ty,tw,th,θ)的差距最小,得到损失函数为:
Figure BDA0002432610870000111
其中N表示regionproposal的个数,λ1表示平衡因子,t‘n是一个二进制值,t‘n=1表示前景,t‘n=0表示背景,背景无回归;v‘*j表示预测的偏移矢量,vnj表示根据真实框实际的偏移矢量,最后将两组参数送入SmoothL1损失函数中去进行计数,最后得到Loss后再进行反向传播,对模型的参数进行更新。
在步骤S4中,将改进后的yolov3算法移植到NVIDIA Jetson TX2,并加载训练好的最佳权重来对图片中目标进行实时检测,检测图片中是否存在被测目标以及目标类别和包含目标的倾斜矩形框的坐标信息(x,y,w,h,θ)。
本发明实施例提供的这种基于yolov3算法的倾斜目标检测方法,既能够处理常见垂直目标检测,同时也能够处理倾斜目标的检测,可以实现对任何场景下任意倾斜角度的目标进行实时监控,得到目标类别、目标坐标等信息,并且根据检测结果来应用到真实的需求上去,有助于解决现实问题。在计算预测框和GT框重叠时,采用了旋转IOU计算,这样提升了预测准确率;算法在anchor设定的地方只加入了θ,没有改变anchor的数量,因此在速度上依然很够达到47FPS;在边框回归中增加了对参数θ的学习,提高了目标检测的效率以及准确率。本发明在进行倾斜目标检测时,与其他二阶段方法进行对比,能够达到近似的效果并且速度是其3-4倍。
基于同一发明构思,本发明实施例还提供一种基于yolo v3算法的倾斜目标检测装置,由于该装置解决技术问题的原理与上述方法实施例相似,故该装置的实施可以参照上述方法的实施,重复之处不再赘述。
如图3所示,为本发明实施例提供的一种基于yolo v3算法的倾斜目标检测装置,用于实现上述方法实施例,该装置包括:
训练集合生成模块,用于获取包含检测目标的图片,分别生成训练集合A和验证集合B;
检测目标标注模块,用于将训练集合A和验证集合B中的检测目标用任意角度矩形框进行逐一标注,每个目标对应一个矩形框坐标(x,y,w,h,θ)和矩形框中所包含目标的种类,其中x、y分别表示矩形框中心点相对于图片左上角的水平和竖直偏移,w表示矩形框的宽度,h表示矩形框的高,θ表示矩形框倾斜的角度;
改进算法训练模块,用于使用训练集合A对改进后的yolo v3算法进行训练,所述改进后的yolo v3算法为在原始yolo v3算法的基础上对anchor框、IOU计算以及边框回归进行改进以适应倾斜目标检测后的算法;然后通过验证集合B来选择效果最好、泛化能力最佳的权重模型;
目标实时检测模块,用于将改进后的yolo v3算法移植到NVIDIA Jetson TX2,并加载训练好的最佳权重来对图片中目标进行实时检测,检测图片中是否存在被测目标以及目标类别和包含目标的倾斜矩形框的坐标信息(x,y,w,h,θ)。
本发明实施例还提供另一种基于yolo v3算法的倾斜目标检测装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时执行上述各方法实施例的步骤,例如图1所示的步骤S1~S4。该装置可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该装置可包括,但不仅限于,处理器、存储器,还可以包括输入输出设备、网络接入设备、总线等。
上述装置集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述计算机程序可存储于一计算机可读存储介质中,该计算机程序被处理器执行时,可实现上述各个方法实施例的步骤。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于yolo v3算法的倾斜目标检测方法,其特征在于,包括以下步骤:
获取包含检测目标的图片,分别生成训练集合A和验证集合B;
将训练集合A和验证集合B中的检测目标用任意角度矩形框进行逐一标注,每个目标对应一个矩形框坐标(x,y,w,h,θ)和矩形框中所包含目标的种类,其中x、y分别表示矩形框中心点相对于图片左上角的水平和竖直偏移,w表示矩形框的宽度,h表示矩形框的高,θ表示矩形框倾斜的角度;
使用训练集合A对改进后的yolo v3算法进行训练,所述改进后的yolo v3算法为在原始yolo v3算法的基础上对anchor框、IOU计算以及边框回归进行改进以适应倾斜目标检测后的算法;然后通过验证集合B来选择效果最好、泛化能力最佳的权重模型;
将改进后的yolo v3算法移植到NVIDIA Jetson TX2,并加载训练好的最佳权重来对图片中目标进行实时检测,检测图片中是否存在被测目标以及目标类别和包含目标的倾斜矩形框的坐标信息(x,y,w,h,θ)。
2.如权利要求1所述的基于yolo v3网络的倾斜目标检测方法,其特征在于,所述在原始yolo v3算法的基础上对anchor框、IOU计算以及边框回归进行改进以适应倾斜目标检测具体包括:
使用(x,y,w,h,θ)来代表新的anchor框,θ定义为与x轴的夹角,w为与x轴相交的那条边的长度,h为另一条边的长度,x、y分别表示anchor框中心点相对于图片左上角的水平和竖直偏移,θ默认为-pi/2;
将原始yolo v3算法中的IOU计算改变为旋转IOU计算;
在原始yolo v3算法的边框回归中增加对参数θ的学习。
3.如权利要求2所述的基于yolo v3网络的倾斜目标检测方法,其特征在于,所述旋转IOU计算的方法如下:
首先将其中一个候选框anchorA(xa,ya,wa,ha,θa)转变为((xa,ya),(wa,ha),θa),另外一个候选框anchorB(xb,yb,wb,hb,θb)转变为((xb,yb),(wb,hb),θb);
定义:
r1=((xa,ya),(wa,ha),θa),
r2=((xb,yb),(wb,hb),θb),
InterSectArea=cv2.rotatedRectangleIntersection(r1,r2),
TotalArea=wa*ha+wb*hb-InterSectArea;
则两个候选框的交并比IOU=InterSectArea/TotalArea。
4.如权利要求2所述的基于yolo v3网络的倾斜目标检测方法,其特征在于,所述在原始yolo v3算法的边框回归中增加对参数θ的学习具体包括:
给定一个锚框(xa,ya,wa,ha,θa),寻找一种映射f,使得f(xa,ya,wa,ha,θa)=(x′a,y′a,w′a,h′a,θ′a)并且(x′a,y′a,w′a,h′a,θ′a)≈(x,y,w,h,θ);
f映射就是对锚框(xa,ya,wa,ha,θa)的中心点先做x方向的平移变换Δx,然后做y方向的平移变换Δy,然后对锚框的宽wa做缩放变换Sw,对高ha做缩放变换Sh,最后对θa做旋转变换,得到(x′a,y′a,w′a,h′a,θ′a),使得(x′a,y′a,w′a,h′a,θ′a)≈(x,y,w,h,θ);
Δx=wa*t‘x,Δy=ha*t‘y,Sw=exp(t‘w),Sh=exp(t‘h),Sθ=t‘θ,而(t‘x,t‘y,t‘w,t‘h,t‘θ)为模型根据锚框(xa,ya,wa,ha,θa)预测的参数值,然后根据(t‘x,t‘y,t‘w,t‘h,t‘θ)计算出(Δx,Δy,Sw,Sh,Sθ),然后根据以下式子算出(x′a,y′a,w′a,h′a,θ′a):
x′a=Δx+Xa
y′a=Δy+ya
w′a=wa*Sw
h′a=ha*Sh
θa=θa+Sθ
而根据(x,y,w,h,θ)计算的实际的参数值为:
tx(x-xa)/wa
ty=(Y-Ya)/ha
tw=log(w/wa)
th=log(h/ha)
tθ=θ-θa
目标函数可以表示为
Figure FDA0002432610860000031
Figure FDA0002432610860000032
为输入锚框a的特征向量,
Figure FDA0002432610860000033
表示需要学习的参数,*表示x,y,w,h,θ,t‘*为模型预测的参数值;
要让预测值和真实的参数值t*=(tx,ty,tw,th,θ)的差距最小,得到损失函数为:
Figure FDA0002432610860000034
其中N表示region proposal的个数,λ1表示平衡因子,t‘n是一个二进制值,t‘n=1表示前景,t‘n=0表示背景,背景无回归;v‘*j表示预测的偏移矢量,vnj表示根据真实框实际的偏移矢量,最后将两组参数送入SmoothL1损失函数中去进行计数,最后得到Loss后再进行反向传播,对模型的参数进行更新。
5.如权利要求1所述的基于yolo v3网络的倾斜目标检测方法,其特征在于,所述获取包含检测目标的图片,分别生成训练集合A和验证集合B之后还包括:
对训练集合A采取数据增广,增加训练集合A的图片个数;所述数据增广包括旋转、反射变换、翻转变换、缩放变换、平移变换、尺度变换、对比度变换、噪声扰动和颜色变换中的至少一种。
6.如权利要求1所述的基于yolo v3网络的倾斜目标检测方法,其特征在于:所述将训练集合A和验证集合B中的检测目标用任意角度矩形框进行逐一标注采用的是LabelMe标注软件。
7.一种基于yolo v3算法的倾斜目标检测装置,其特征在于,包括:
训练集合生成模块,用于获取包含检测目标的图片,分别生成训练集合A和验证集合B;
检测目标标注模块,用于将训练集合A和验证集合B中的检测目标用任意角度矩形框进行逐一标注,每个目标对应一个矩形框坐标(x,y,w,h,θ)和矩形框中所包含目标的种类,其中x、y分别表示矩形框中心点相对于图片左上角的水平和竖直偏移,w表示矩形框的宽度,h表示矩形框的高,θ表示矩形框倾斜的角度;
改进算法训练模块,用于使用训练集合A对改进后的yolo v3算法进行训练,所述改进后的yolo v3算法为在原始yolo v3算法的基础上对anchor框、IOU计算以及边框回归进行改进以适应倾斜目标检测后的算法;然后通过验证集合B来选择效果最好、泛化能力最佳的权重模型;
目标实时检测模块,用于将改进后的yolo v3算法移植到NVIDIA Jetson TX2,并加载训练好的最佳权重来对图片中目标进行实时检测,检测图片中是否存在被测目标以及目标类别和包含目标的倾斜矩形框的坐标信息(x,y,w,h,θ)。
8.如权利要求7所述的基于yolo v3网络的倾斜目标检测装置,其特征在于,所述在原始yolo v3算法的基础上对anchor框、IOU计算以及边框回归进行改进以适应倾斜目标检测具体包括:
使用(x,y,w,h,θ)来代表新的anchor框,θ定义为与x轴的夹角,w为与x轴相交的那条边的长度,h为另一条边的长度,x、y分别表示anchor框中心点相对于图片左上角的水平和竖直偏移,θ默认为-pi/2;
将原始yolo v3算法中的IOU计算改变为旋转IOU计算;
在原始yolo v3算法的边框回归中增加对参数θ的学习。
9.一种基于yolo v3算法的倾斜目标检测装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时执行如权利要求1-6任一所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1-6任一所述的方法。
CN202010241146.0A 2020-03-31 2020-03-31 基于yolo v3算法的倾斜目标检测方法、装置及存储介质 Pending CN111462235A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010241146.0A CN111462235A (zh) 2020-03-31 2020-03-31 基于yolo v3算法的倾斜目标检测方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010241146.0A CN111462235A (zh) 2020-03-31 2020-03-31 基于yolo v3算法的倾斜目标检测方法、装置及存储介质

Publications (1)

Publication Number Publication Date
CN111462235A true CN111462235A (zh) 2020-07-28

Family

ID=71685753

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010241146.0A Pending CN111462235A (zh) 2020-03-31 2020-03-31 基于yolo v3算法的倾斜目标检测方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN111462235A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112509033A (zh) * 2020-11-25 2021-03-16 国网四川省电力公司阿坝供电公司 一种基于图像处理的铁塔倾斜自动检测方法和装置
CN112884738A (zh) * 2021-02-18 2021-06-01 国网江苏省电力有限公司扬州供电分公司 一种基于斜框标注的悬垂线夹倾斜故障检测方法
CN113723217A (zh) * 2021-08-09 2021-11-30 南京邮电大学 一种基于yolo改进的物体智能检测方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110674674A (zh) * 2019-08-01 2020-01-10 杭州电子科技大学 一种基于yolo v3的旋转目标检测方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110674674A (zh) * 2019-08-01 2020-01-10 杭州电子科技大学 一种基于yolo v3的旋转目标检测方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
KUN FU等: "Rotation-aware and multi-scale convolutional neural network for object detection in remote sensing images", vol. 161, pages 298 *
SHIJIE LIN等: "Development of an Autonomous Unmanned Aerial Manipulator Based on a Real-Time Oriented-Object Detection Method", vol. 19, no. 10, pages 10 *
XUE YANG等: "SCRDet: Towards More Robust Detection for Small, Cluttered and Rotated Objects", pages 8231 - 8240 *
周翔宇;高仲合: "基于YOLO的自然场景倾斜文本定位方法研究", vol. 56, no. 09, pages 213 - 220 *
张晓男: "基于深度学习的光学遥感影像信息提取技术研究", no. 08, pages 4 - 6 *
陈海虹: "《机器学习原理及应用》", 成都:电子科技大学出版社, pages: 22 - 25 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112509033A (zh) * 2020-11-25 2021-03-16 国网四川省电力公司阿坝供电公司 一种基于图像处理的铁塔倾斜自动检测方法和装置
CN112509033B (zh) * 2020-11-25 2024-04-09 国网四川省电力公司阿坝供电公司 一种基于图像处理的铁塔倾斜自动检测方法和装置
CN112884738A (zh) * 2021-02-18 2021-06-01 国网江苏省电力有限公司扬州供电分公司 一种基于斜框标注的悬垂线夹倾斜故障检测方法
CN113723217A (zh) * 2021-08-09 2021-11-30 南京邮电大学 一种基于yolo改进的物体智能检测方法及系统

Similar Documents

Publication Publication Date Title
CN111462235A (zh) 基于yolo v3算法的倾斜目标检测方法、装置及存储介质
CN108805898B (zh) 视频图像处理方法和装置
CN111144242B (zh) 一种三维目标检测方法、装置及终端
CN110751620B (zh) 估算体积和重量的方法、电子设备及计算机可读存储介质
Han et al. CAD-based 3D objects recognition in monocular images for mobile augmented reality
US10573040B2 (en) Image modification using detected symmetry
CN110533039A (zh) 一种车牌的真伪检测方法、装置及设备
CN111046746A (zh) 一种车牌检测方法及装置
CN112836698A (zh) 一种定位方法、装置、存储介质及电子设备
CN113112542A (zh) 一种视觉定位方法、装置、电子设备及存储介质
CN111767947A (zh) 目标检测模型、应用方法及相关装置
WO2023016182A1 (zh) 位姿确定方法、装置、电子设备和可读存储介质
WO2023284358A1 (zh) 相机标定方法、装置、电子设备及存储介质
US20220114813A1 (en) Detecting obstacle
US20230087261A1 (en) Three-dimensional target estimation using keypoints
CN114972492A (zh) 一种基于鸟瞰图的位姿确定方法、设备和计算机存储介质
US11158122B2 (en) Surface geometry object model training and inference
KR20220044156A (ko) 골프공 오버헤드 검출방법, 시스템 및 저장매체
CN114898306B (zh) 一种检测目标朝向的方法、装置及电子设备
CN110956131A (zh) 单目标追踪方法、装置及系统
CN112529943B (zh) 一种物体检测方法、物体检测装置及智能设备
He et al. A cylindrical shape descriptor for registration of unstructured point clouds from real-time 3D sensors
CN112767477A (zh) 一种定位方法、装置、存储介质及电子设备
JP6996200B2 (ja) 画像処理方法、画像処理装置、および画像処理プログラム
CN113240736A (zh) 基于yolo6d改进网络的位姿估计方法及装置

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