一种水面光学小目标快速检测与跟踪方法与流程

文档序号:16680214发布日期:2019-01-19 00:20阅读:185来源:国知局
一种水面光学小目标快速检测与跟踪方法与流程

本发明属于计算机视觉技术领域,尤其涉及一种水面光学小目标快速检测与跟踪方法。



背景技术:

计算机视觉应用多种传感器代替视觉感官作为输入,而计算机作为对大脑的模拟处理输入。随着计算机计算能力的飞速发展,人类愈加依赖于通过计算机视觉分析视频内容,获取视频中有用的信息。其中,目标检测和跟踪是计算机视觉中极其重要的部分。目前,港口安全防御、无人艇障碍物检测、海上交通监控等领域都需要通过计算机视觉完成水面目标的检测与跟踪。在光照变化大、视野中存在多个水面目标时,如何对多个不同尺度的目标进行准确且快速的检测与跟踪是当前研究热点和难点问题。

目前,目标检测的主流算法大多基于深度学习算法,其大体分为两类。第一类基于regionproposal,包括spp-net、fastr-cnn、fasterr-cnn等多类算法,其中fasterr-cnn的map高达78.8%,处理速度是三种算法中最快的,大约为5fps,但仍然无法满足实时性要求;第二类是基于回归的预测,包括yolo、ssd等多类算法,该类算法具有受背景干扰小、检测速度快等优点,适合开放环境下目标的实时检测,但map略低于第一类算法。

检测不同尺度的目标是计算机视觉的一个挑战。早期解决方法是利用建立在图像金字塔上的特征金字塔,即特征图像金字塔。具体方法为将图像缩放成不同尺度,再生成对应的特征映射来预测目标信息。但该方法的耗时随着图像尺度的增加成倍增长,在训练时吃显存,只能在测试时使用,导致训练和测试结果不一致。随着深度卷积神经网络的发展,spp-net、fasterr-cnn和yolo等检测系统更趋向于仅利用最后一个单一尺度的特征映射层做预测。这种方式对尺度变化更加鲁棒,但由于未利用包含高分辨率的低层特征,导致达到的结果不是最准确的。ssd首次尝试基于convnets的金字塔特征层。从不同网络层抽取不同尺度的特征做预测,再将各预测结果做融合。但ssd从最高层构建金字塔,而避免使用已经计算好的低层特征的方式导致错过了对小目标很重要的高分辨率映射的机会。

目标跟踪根据有无检测过程的参与,分为生成式跟踪与判别式跟踪。生成式跟踪在第一帧进行目标检测,在后续帧用选定的算法寻找当前帧目标的最优位置。判别式跟踪在每一帧对目标进行检测。

目前水面光学小目标快速检测与跟踪面临的问题主要体现在:在实现港口安全防御等任务时,固定在岸边的摄像机距离目标相对较远,拍摄到的目标中包含较多小目标,如何在不增加计算量的前提下结合低层特征和高层特征来检测目标,尤其是小目标是水面小目标面临的问题;目前存在的核函数带宽自适应目标跟踪算法的带宽更新几乎都是各向同性的,对于刚出现和慢慢消失或旋转的目标跟踪缺少准确性和稳定性,在长时间的目标跟踪时容易造成误差不断累积,导致目标漂移甚至丢失。



技术实现要素:

本发明的目的在于公开跟踪速度快,准确率高的一种水面光学小目标快速检测与跟踪方法。

本发明的目的是这样实现的:

一种水面光学小目标快速检测与跟踪方法,包含如下步骤:

步骤(1):水面小目标快速检测;

步骤(1.1):根据水面目标检测任务制作水面目标数据集,并添加标签,然后用水面目标数据集训练神经网络;

步骤(1.2):设计包含自底向上路径、自顶向下路径和横向连接、独立预测三个过程的特征金字塔网络,再设计基于特征金字塔网络的水面目标检测系统,用梯度下降法训练特征金字塔网络参数,直到损失函数达到收敛;

步骤(1.2.1):设计特征金字塔网络的自底向上路径:

将去掉最后一个卷积层的darknet19作为自底向上的基础网络,将自底向上的基础网络中产生的网络输出尺度相同的许多层视为同一个网络阶段,共有{c1,c2,c3,c4,c5}五个网络阶段;用每个网络阶段的最后一层的输出创建特征金字塔层;且在特征金字塔层中剔除c1网络阶段的输出;

步骤(1.2.2):设计特征金字塔网络的自顶向下路径和横向连接:

自顶向下模块tj,i用放大倍数为2的最近邻插值法采样在空间上更粗糙、语义上更强的高金字塔层得到横向连接模块li是一个1×1的卷积层,处理后得到然后将对应的融合得到后加入3×3的卷积层;加入1×1×256的卷积层将特征金字塔层的深度固定为256;生成最终的特征映射层{p2,p3,p4};

步骤(1.2.3):设计特征金字塔网络的独立预测:

在p2、p3、p4三种尺度不同的特征映射层后分别添加卷积层,并共享添加的卷积层的参数;每个特征映射层定义三种尺度的锚点,并在大尺度特征映射层使用小尺度特征映射层的锚点;每个锚点在原图上的宽高固定,并按比例缩小到特征映射层;

步骤(1.2.4):对于每个金字塔层,根据训练中得到的目标信息与真实目标信息计算损失函数:

上式中,当标注目标的中心点落在金字塔层的第i个格子上,且格子i上的第j个锚点与目标iou最大,则该锚点负责预测目标,此时取1,否则取0;l代表金字塔层的序列号;l.w,l.h代表金字塔层的宽度和高度,l.n代表每个格子的锚点个数;(x,y)是目标实际中心点坐标,w是目标实际宽,h是目标实际高;ci是置信度;pi(c)是类条件概率;

然后用梯度下降法调整神经网络中参数的取值,直至损失函数达到收敛。

步骤(1.3):进行水面小目标快速检测,每隔n帧,将视频中的关键帧输入基于特征金字塔网络的水面目标检测系统中检测水面目标,保留结果中置信度大于阈值的目标,并用非极大抑制剔除重叠目标,得到关键帧目标,并记录关键帧目标的位置和类别信息。

步骤(2):关键帧目标模型生成;

步骤(2.1):设矩形框的宽度为2a、高度为2b;设核函数作用区域为椭圆形,且是与矩形框内切的最大椭圆;将核函数作用区域的颜色空间从rgb转换到luv,转换公式为:

上式中,cons=x+15×y+3×z;

步骤(2.2):将luv量化为m个等级,计算水面目标区域中每个等级对应的特征子模型概率密度:

上式中,u是量化等级,取值范围为1至m之间的整数包括1和m;k()是核剖面函数;b()是计算位置x对应的颜色等级的函数;δ(x)是kroneckerdelta函数;

c是归一化常数,

步骤(3):关键帧间各向异性带宽自适应目标快速跟踪。

步骤(3.1):设n1为目标区域的像素数,nh是目标候选区域的像素数,且每一帧图像的初始尺度参数都为(1,1)t,然后用前一次迭代的尺度参数和归一化常数当前迭代的尺度参数(h1,h2)t表示当前迭代的归一化常数,则nh=πabn1,用黎曼积分可得出:

则当前迭代的归一化常数ch:

步骤(3.2):将当前迭代的归一化常数代入目标模型和目标候选模型之间的相似度函数,并泰勒展开后得:

引入梯度上升法使相似度函数值达到最大,泰勒展开后的第二项是用核剖面函数k(x)估计当前帧y处的核密度;

计算meanshift向量得到核密度,meanshift向量表示将窗口中心移动到窗口重心的大小和方向;窗口中心移动后,重心又重新移动,迭代计算新的meanshift向量;

meanshift向量的迭代计算式:

上式中,

取学习率为用梯度上升法迭代更新后:

步骤(3.3):引入正则化参数rs和rb修正尺度参数,并更新最终的尺度参数;

惩罚变化过大的尺度参数:

引入正则化参数rb强制核函数作用区域包含背景像素:

上式中,ρ是核函数作用区域中应该包含的背景像素的比例;b(y,h)是目标模型中的像素点在目标候选模型中的和与目标模型中所有像素点的的和之比;

更新最终的尺度参数:

步骤(3.4):利用步骤(3.2)搜索当前帧目标所在的位置:当漂移距离小于阈值或迭代次数超过阈值时,输出该帧目标位置,尺度参数、核函数带宽;

步骤(3.5):当达到迭代次数阈值时,若目标候选模型与目标模型的相似度仍然低于阈值,则判定目标在关键帧间因丢失或消失在视野内,提取结束该目标的跟踪,若所有水面目标均提前结束时返回步骤(1.1)重新检测目标;当迭代次数小于阈值时,视目标跟踪在帧间顺利进行,重复步骤(3.1)至步骤(3.4),未出现所有目标均提前结束时,跟踪在下一个关键帧结束。

本发明的有益效果为:

本发明实现了自主作业,不需要人为干预;本发明检测速度快,且训练中只含正样本,降低了背景误检率;本发明网络结构简单,检测速度快;本发明对小目标检测准确度高;本发明融合了高语义的高层特征金字塔层和特征信息丰富的低层特征金字塔层,且每个特征映射层都加入独立预测,提高了小目标的检测准确率;本发明减少了迭代次数,准确率高且跟踪速度快。

附图说明

图1是一种水面光学小目标快速检测与跟踪方法的整体流程图;

图2是实施例目标检测的特征金字塔网络;

图3是水面小目标检测阶段效果图;

图4是水面小目标跟踪阶段效果图。

具体实施方式

下面结合附图来进一步描述本发明:

实施例1:

如图1,一种水面光学小目标快速检测与跟踪方法,包含如下步骤:

步骤(1):水面小目标快速检测:

对输入的视频进行关键帧水面小目标检测,在网络中加入由顶至下金字塔层和横向连接,且与其他方法不同的是,在yolov2的每一个网络阶段本发明都加入了独立预测,充分结合低分辨率、高语义的高层特征和高分辨率、低语义的低层特征,增强了yolov2对小目标的检测能力

步骤(1.1):根据水面目标检测任务制作水面目标数据集,并添加标签,然后用水面目标数据集训练神经网络;

步骤(1.2):如图2,设计包含自底向上路径、自顶向下路径和横向连接、独立预测三个过程的特征金字塔网络,再设计基于特征金字塔网络的水面目标检测系统,用梯度下降法训练特征金字塔网络参数,直到损失函数达到收敛;

步骤(1.2.1):设计特征金字塔网络的自底向上路径:

将去掉最后一个卷积层的darknet19作为自底向上的基础网络,该网络中存在许多层产生的网络输出尺度相同,本发明将多层视为同一个网络阶段,共有{c1,c2,c3,c4,c5}五个网络阶段。用每个阶段最后一层的输出创建特征金字塔层。为了减少内存占用,特征金字塔层将不包含c1的输出;

步骤(1.2.2):设计特征金字塔网络的自顶向下路径和横向连接:

自顶向下模块tj,i用放大倍数为2的最近邻插值法采样在空间上更粗糙、语义上更强的高金字塔层得到横向连接模块li是一个1×1的卷积层,用于降低的深度,处理后得到然后将对应的融合得到后加入3×3的卷积层;加入1×1×256的卷积层将特征金字塔层的深度固定为256;生成最终的特征映射层{p2,p3,p4};

步骤(1.2.3):设计特征金字塔网络的独立预测:

在p2、p3、p4三种尺度不同的特征映射层后分别添加卷积层,并共享添加的卷积层的参数,卷积层的输出用于目标的位置、置信度和类别预测;每个特征映射层定义三种尺度的锚点,为了提高小尺度目标的检测能力,在大尺度特征映射层使用小尺度特征映射层的锚点;每个锚点在原图上的宽高固定,并按比例缩小到特征映射层:

以p4为例说明以上信息。在p4特征映射层中,当输入图像为416×416时,p4的尺度为13×13×256,定义p4有13×13个格子,每个格子预测相对于三个锚点的目标位置,设其中一个锚点的高度和宽度同比例缩小到ph和pw,则:

bx=σ(tx)+cx,

by=σ(ty)+cy,

pr(object)*iou(b,object)=σ(to);

上式中,(bx,by)是目标中心点的坐标,(cx,cy)是格子左上角点的坐标,bw是宽度,bh是高度;σ(x)是sigmoid函数,tx,ty,tw,th和to是网络预测的每个格子的五个坐标;假设水面目标数据集中包含n类目标,则p4预测出13×13×[3*(5+n)]个量;

步骤(1.2.4):对于每个金字塔层,根据训练中得到的目标信息与真实目标信息计算损失函数:

上式中,当标注目标的中心点落在金字塔层的第i个格子上,且格子i上的第j个锚点与目标iou最大,则该锚点负责预测目标,此时取1,否则取0;l代表金字塔层的序列号;l.w,l.h代表金字塔层的宽度和高度,l.n代表每个格子的锚点个数,l.n=3;(x,y)是目标实际中心点坐标,w是目标实际宽,h是目标实际高;ci是置信度;pi(c)是类条件概率;

然后用梯度下降法调整神经网络中参数的取值,直至损失函数达到收敛。

步骤(1.3):进行水面小目标快速检测,每隔n帧,将视频中的关键帧输入基于特征金字塔网络的水面目标检测系统中检测水面目标,保留结果中置信度大于阈值的目标,找出pi(c)×ci大于阈值的边界框,并用非极大抑制剔除重叠目标,得到关键帧目标,并记录关键帧目标的位置和类别信息。

水面小目标快速检测效果如图3所示,可见检测结果较为准确清晰。

步骤(2):关键帧目标模型生成;

步骤(2.1):设矩形框的宽度为2a、高度为2b;设核函数作用区域为椭圆形,且是与矩形框内切的最大椭圆;将核函数作用区域的颜色空间从rgb转换到luv,luv色彩空间与视觉的一致性更强,转换公式为:

上式中,cons=x+15×y+3×z;

步骤(2.2):将luv量化为m个等级,计算水面目标区域中每个等级对应的特征子模型概率密度:

上式中,u是量化等级,取值范围为1至m之间的整数包括1和m;k()是核剖面函数;b()是计算位置x对应的颜色等级的函数;δ(x)是kroneckerdelta函数;

c是归一化常数,

步骤(3):关键帧间各向异性带宽自适应目标快速跟踪。

步骤(3.1):为了得出同一帧两次迭代之间归一化常数的关系,设n1为目标区域的像素数,nh是目标候选区域的像素数,且每一帧图像的初始尺度参数都为(1,1)t,然后用前一次迭代的尺度参数和归一化常数当前迭代的尺度参数(h1,h2)t表示当前迭代的归一化常数,则nh=πabn1,用黎曼积分可得出:

则当前迭代的归一化常数ch:

步骤(3.2):将当前迭代的归一化常数代入目标模型和目标候选模型之间的相似度函数,并泰勒展开后得:

引入梯度上升法使相似度函数值达到最大,泰勒展开后的第二项是用核剖面函数k(x)估计当前帧y处的核密度;

计算meanshift向量得到核密度,meanshift向量表示将窗口中心移动到窗口重心的大小和方向;窗口中心移动后,重心又重新移动,迭代计算新的meanshift向量;

meanshift向量的迭代计算式:

上式中,

取学习率为用梯度上升法迭代更新后:

步骤(3.3):引入正则化参数rs和rb修正尺度参数,并更新最终的尺度参数;

目前的摄像机帧率都足够大,目标物在帧间不会产生巨大的变化;

惩罚变化过大的尺度参数:

因偏小的尺度参数会使目标模型和目标候选模型之间的相似度更高,所以引入正则化参数rb强制核函数作用区域包含背景像素,强制核函数作用区域包含背景像素:

上式中,ρ是核函数作用区域中应该包含的背景像素的比例;b(y,h)是目标模型中的像素点在目标候选模型中的和与目标模型中所有像素点的的和之比,也就是实际包含的背景像素百分比;

更新最终的尺度参数:

步骤(3.4):利用步骤(3.2)搜索当前帧目标所在的位置:当漂移距离小于阈值或迭代次数超过阈值时,输出该帧目标位置,尺度参数、核函数带宽;

步骤(3.5):当达到迭代次数阈值时,若目标候选模型与目标模型的相似度仍然低于阈值,则判定目标在关键帧间因丢失或消失在视野内,提取结束该目标的跟踪,若所有水面目标均提前结束时返回步骤(1.1)重新检测目标;当迭代次数小于阈值时,视目标跟踪在帧间顺利进行,重复步骤(3.1)至步骤(3.4),未出现所有目标均提前结束时,跟踪在下一个关键帧结束。水面小目标跟踪效果如图4所示,由近到远的多帧图像中,目标跟踪清晰准确。

与现有技术相比,本发明实现了自主作业,不需要人为干预;本发明检测速度快,且训练中只含正样本,降低了背景误检率;本发明网络结构简单,检测速度快;本发明对小目标检测准确度高;本发明融合了高语义的高层特征金字塔层和特征信息丰富的低层特征金字塔层,且每个特征映射层都加入独立预测,提高了小目标的检测准确率;本发明减少了迭代次数,准确率高且跟踪速度快。

以上所述并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1