一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于主动学习和神经网络的高空抛物检测方法

2023-02-06 10:46:02 来源:中国专利 TAG:


1.本发明涉及目标检测技术领域,尤其是涉及一种基于主动学习和神经网络的高空抛物检测方法。


背景技术:

2.随着近年来城市化进程的进一步加快,一座座高楼大厦拔地而起,随之带来的高空抛物问题也愈演愈烈。作为城市不文明现象,它所带来的社会危害(安全隐患、财产损失、环境破坏等)十分巨大,严重影响了人民的安全感与幸福感,也因此成为了人们“悬在城市上空的痛”。
3.目前通用的解决方案是通过部署镜头向上的安防摄像机,基于动态的目标检测和目标跟踪,通过设置过滤条件来排除干扰物体的高空抛物检测方法。
4.传统视觉中的动态目标检测方法有帧差法或者光流检测法,但其都存在许多局限性。例如,帧差法无法避免对树叶的误检,在摄像头有轻微摇晃时也有许多误检现象;光流检测法也是类似帧差法的问题,另外还有一个最大的问题是其基于稀疏特征点匹配的算法,因此实际上并不能很好的解决目标划分的问题。尽管有稠密光流检测算法,但是耗时较长,且仍存在其他问题,因此不予考虑。传统的跟踪算法,一种是根据hog特征,另一种是根据特征点来进行跟踪。但因为高空抛物的目标很小,而且移动速度很快,所以不能用传统的基于特征的方式进行跟踪。
5.除此之外,现有技术也采用了深度学习的方法,通过采集大量的训练数据,将模型部署在服务器中。以深度学习为代表的监督分类方法和无监督的背景差分法、光流法相比性能确实更好。但基于yolo、rcnn系列的目标检测需要大量的先验数据,高空抛物中的坠物层出不穷,较高楼层的抛物也小之又小,数据集收集难度较大。此类算法泛化能力差,实现成本较高。且和无监督方法相比,缺乏足够的理论保证,可解释性较差。
6.现有专利一《一种高空抛物监测方法》,cn111539388a、对获取的图像进行前后图片帧的对比,再通过时间戳找到第一次出现高空抛物目标的图片帧,使用二值化处理得到对应的二值化图像,最后使用几何学方法,结合相机标定位置和抛物坐标,解算出抛物的最终位置,以此进行跟踪。
7.现有专利一主要在运动物体的目标检测上存在以下问题、该设计只提出了前后帧的对比以及二值化的图像处理操作来检测高空抛物,没有提出具体行之有效的抛物跟踪模型。从目标检测的技术角度来看,我们可以认为其只能进行初步的运动目标识别,不能很好的实现后续运动轨迹的获取以及运动物体的动态目标跟踪。
8.现有专利二《一种高空抛物动目标检测方法、检测设备和检测系统》,cn202010598843.1、通过对获取的图像进行预处理,利用帧间差分运算来获得差分图像,之后再对差分结果进行二值化处理和形态学图像操作,最终对形态学图像进行连通域分析,识别和跟踪目标。
9.现有专利二主要在运动物体的目标跟踪上存在以下问题、该技术采用了改进的帧
差法以及使用形态学操作和连通域进行图像分析。不仅在高空抛物的数据集里面计算n张差分图像的计算量较大,而且仅根据连通区域来分析运动物体的形态、尺寸,仍是难以实现运动目标的轨迹跟踪。
10.现有专利三《一种高空抛物坠物的识别方法、系统及计算机可读介质》,cn114639075a、首先对监控图像采用隔帧帧差法进行处理,利用改进的nms进行去重操作,得到前景检测物。通过改进的sort算法使用卡尔曼滤波进行运动物体的轨迹预测,最后根据自由落体规律过滤干扰物体。
11.现有专利三主要在过滤干扰物体的过程中存在以下问题、该专利提出了改进的nms去重操作以及改进的sort算法,可以在一定程度上实现动态目标检测和目标跟踪。但存在的局限性在于sort算法中,遮挡物会出现id switch次数很高,无法有效解决遮挡跟踪问题,从而不能很好的过滤干扰物体。


技术实现要素:

12.本发明的目的是提供一种基于主动学习和神经网络的高空抛物检测方法,通过查询策略选择少量样本进行标记,从而利用标注的信息来改善预测模型,主要是针对高空抛物的数据标签较少而设计的;可缓解因部分遮挡导致的检测信息变化;可解决高空抛物场景中对飞鸟、飞虫、树叶的误检测问题,从而降低跟踪成本。
13.为实现上述目的,本发明提供了一种基于主动学习和神经网络的高空抛物检测方法,包括以下步骤:
14.s1、采集高空抛物的下落物体数据:采集并获取真实楼宇间的视频流数据,将视频流进行抽帧并解码处理,对得到的运动物体图像帧数据进行标注;
15.s2、构建主动目标检测模型:采用基网为resnet-50的retinanet的神经网络作为目标检测器,通过基于主动学习方法的查询策略选择样本进行标记,利用标注的信息改善预测模型;
16.s3、进行运动物体的目标跟踪:采用动态目标跟踪算法进行预测,通过级联匹配和iou匹配关联运动帧信息,使用滤波器进行预测和更新,得到运动目标的跟踪序号、运动轨迹以及对应帧的编号信息;
17.s4、构建图像分类神经网络模型:进行图像分类网络模型部署,从imagenet和openimages获取数据集,对干扰物体进行分类;
18.s5、利用图像分类网络过滤干扰物体:进行神经网络的训练和分类预测,对获取的运动目标图像进行分类网络的模型应用,根据cnn模型的分类结果,将干扰物体从输出图像中过滤;
19.s6、排除非高空抛物的运动轨迹:对运动物体的轨迹特征设定过滤条件,根据目标的移动距离和自由落体规律来判断抛物轨迹,排除高空抛物中非正常的运动轨迹。
20.优选的,所述步骤s1中,采集高空抛物的下落物体数据,具体包括以下步骤:
21.s1-1、通过摄像头获取真实视频数据,得到包含rgb三层颜色通道的图像;
22.s1-2、对视频抽帧解码处理,将视频数据解析为连续的图像帧数据;
23.s1-3、对每一帧图像中的运动目标的类别进行标注,形成该帧图像的类别标签{yi,i=1,...,n}。
24.优选的,步骤s2中,构建主动目标检测模型,具体包括以下步骤:
25.s2-1、对步骤s1-2中的运动物体的图像帧数据进行标注;
26.s2-2、选择基网为resnet-50的retinanet的神经网络作为基础检测器;
27.s2-3、将步骤s2-1中标注好的图像帧数据输入主动学习的网络框架中;
28.s2-4、定义主动学习器active learner;
29.s2-5、应用目标检测模型获取运动目标的bounding box。
30.优选的,所述步骤s2-4中定义主动学习器active learner具体包括以步骤:
31.s2-4-1、定义模型参数和应用于请求标注的查询策略;
32.s2-4-1-1、对于预测的bounding boxbj的紧密度定义如下;
33.t(bj)=iou(bj,rj)
34.其中,rj为当网络预测未经调整前的候选区域region;
35.s2-4-1-2、根据样本的紧密度t(bj)和置信度p
max
的不同,采用如下选择策略来更新bounding box;
[0036][0037][0038]
s2-4-1-3、通过如下公式计算当前模型对噪声的稳定度s(bj);
[0039][0040]
s2-4-1-4、若该稳定度s(bj)达到了稳定值,无需对未标记图像进行标记;
[0041]
s2-4-1-5、对步骤s2-4-1-3中未达到稳定值的s(bj),采用如下公式进行更新;
[0042][0043]
s2-4-2、使用基于不确定性的主动学习方法,返回策略选择出需要标注的数据;
[0044]
s2-4-3、判断模型精度是否达到要求,利用查询函数选取对提高模型精度最有用的数据进行人工标注;
[0045]
s2-4-4、将步骤s2-4-3中的数据按照查询标准加到训练集样本中循环查询。
[0046]
优选的,所述步骤s3中,进行运动物体的目标跟踪,包括以下步骤:
[0047]
s3-1、计算当前t时刻运动目标的检测框bounding box与上一时刻的检测框交并比iou;
[0048]
s3-2、判断计算结果是否小于预设的阈值,如果是,则认为匹配失败,进行卡尔曼滤波预测;
[0049]
s3-3、初始化一个新的卡尔曼滤波器,记录当前运动目标的跟踪序号以及对应帧的编号信息;
[0050]
s3-4、利用卡尔曼滤波器预测运动目标在当前帧的位置以及跟踪框track和检测框detection;
[0051]
s3-5、使用卡尔曼滤波器基于前一个状态对运动目标当前的状态进行预测,计算
当前帧和下一帧之间的信息差;
[0052]
s3-6、使用匹配算法进行级联匹配,将当前帧中的跟踪框track与下一帧中的检测框detection进行关联;
[0053]
s3-7、使用卡尔曼滤波基于步骤s3-2中的detection来更新预测的位置;
[0054]
s3-8、获得运动物体的跟踪轨迹path-pred∈r
tx4xn
,同时获取非正常运动目标的运动图像数据path-abpred∈r
tx4xn

[0055]
优选的,所述步骤s4中,构建图像分类网络训练模型,具体包括以下步骤:
[0056]
s4-1、使用imagenet和谷歌openimages,获取干扰物体的数据集dataset_one;
[0057]
s4-2、进行数据预处理和数据增强;
[0058]
s4-3、定义图像分类的cnn模型,共7层神经网络,其中1、3、5层为卷积层conv2d,2、4层为池化层,后2层为全连接层dense。
[0059]
s4-3-1、卷积层c1使用6个大小为5
×
5的卷积核,步长stride=1,对输入层进行卷积运算,使用激活函数tanh,并为模型提供输入形状,产生6个大小为28
×
28的特征图map
one

[0060]
s4-3-2、池化层s2采用max_pool进行池化,步长stride=2,通过上述池化减小数据维度,池化size=2
×
2,经池化后得到6个14
×
14的特征图map
two
,作为下一层神经元的输入;
[0061]
s4-3-3、卷积层c3使用16个大小为5
×
5的卷积核,步长stride=1,输出为16个10
×
10的特征图map
three

[0062]
s4-3-4、池化层s4采用max_pool池化,步长stride=2,池化大小为2
×
2,输出16个5
×
5的特征图map
four
,神经元个数减少至16
×5×
5=400;
[0063]
s4-3-5、卷积层c5继续使用5
×
5大小的卷积核对s4层的输出进行卷积,卷积核数量增加120,步长stride=1,输出120个1
×
1的特征图map
five

[0064]
s4-3-6、全连接层f6与c5层全连接,输出84张特征图map
six

[0065]
s4-3-7、全连接层f7输出长度为5的张量,代表所抽取的特征所属干扰物体,干扰物体为飞鸟、飞虫、树叶、被子、衣服。
[0066]
优选的,所述步骤s5中,所述利用图像分类网络排序干扰物体,具体包括以下步骤:
[0067]
s5-1、定义训练参数和输入;
[0068]
s5-2、进行神经网络模型训练;
[0069]
s5-3、使用神经网络模型预测;
[0070]
s5-4、应用图像分类网络,对步骤s3-9的运动目标进行图像分类;
[0071]
s5-5、若输出类别为飞鸟、飞虫、树叶等干扰物体,则将该图像从数据图像中过滤删除,保留高空抛物中的运动目标,避免误检误报事件。
[0072]
优选的,所述步骤s6中,所述排除非高空抛物的运动轨迹,具体包括以下步骤:
[0073]
s6-1、根据高空抛物的判断条件进行轨迹选择,设置运动物体的轨迹纵坐标阈值为m,跟踪帧数阈值t;
[0074]
s6-2、排除满足s6-1判断条件的运动轨迹,同时给出高空抛物中运动物体的位置和轨迹信息。
[0075]
因此,本发明采用上述一种基于主动学习和神经网络的高空抛物检测方法,通过查询策略选择少量样本进行标记,从而利用标注的信息来改善预测模型,主要是针对高空抛物的数据标签较少而设计的;动态目标跟踪算法通过对检测器获取的bounding box进行预测,利用滤波器更新运动目标的跟踪框以及检测框,采用级联匹配和匹配关联运动帧信息,可缓解因部分遮挡导致的检测信息变化;分类网络通过模型的训练和分类结果,将干扰物体从检测结果中过滤,可以解决高空抛物场景中对飞鸟、飞虫、树叶的误检测问题,从而降低跟踪成本。
[0076]
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
[0077]
图1为本发明一种基于主动学习和神经网络的高空抛物检测方法的流程图;
[0078]
图2为本发明一种基于主动学习和神经网络的高空抛物检测方法的高空抛物辨识系统结构图;
[0079]
图3为本发明一种基于主动学习和神经网络的高空抛物检测方法的主动目标检测模型的结构图;
[0080]
图4为本发明一种基于主动学习和神经网络的高空抛物检测方法的动态目标跟踪算法的流程图;
[0081]
图5为本发明一种基于主动学习和神经网络的高空抛物检测方法的图像分类网络模型训练流程;
[0082]
图6为本发明一种基于主动学习和神经网络的高空抛物检测方法的卷积神经网络模型结构图;
[0083]
图7为本发明一种基于主动学习和神经网络的高空抛物检测方法的树叶遮挡和误检测实施图,a为树叶遮挡抛物图;b为主动目标检测图;c为改善跟踪结果图;d为树叶误检测图;e为应用图像分类网络图;f为排除误检测图。
具体实施方式
[0084]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
[0085]
本发明提供了一种基于主动学习和神经网络的高空抛物检测方法,包括以下步骤:
[0086]
s1、采集高空抛物的下落物体数据
[0087]
s1-1、通过摄像头获取真实视频数据,得到包含rgb三层颜色通道的图像;
[0088]
s1-2、对视频抽帧解码处理,将视频数据解析为连续的图像帧数据;
[0089]
s1-3、对每一帧图像中的运动目标的类别进行标注,形成该帧图像的类别标签{yi,i=1,...,n};
[0090]
s2、构建主动目标检测模型
[0091]
s2-1、对步骤s1-2中的运动物体的图像帧数据进行标注;
[0092]
s2-2、选择基网为resnet-50的retinanet的神经网络作为基础检测器;
[0093]
s2-3、将步骤s2-1中标注好的图像帧数据输入主动学习的网络框架中;
[0094]
s2-4、定义主动学习器active learner;
[0095]
s2-4-1、定义模型参数和应用于请求标注的查询策略;
[0096]
s2-4-1-1、对于预测的bounding boxbj的紧密度定义如下;
[0097]
t(bj)=iou(bj,rj)
[0098]
其中,rj为当网络预测未经调整前的候选区域region;
[0099]
s2-4-1-2、根据样本的紧密度t(bj)和置信度p
max
的不同,采用如下选择策略更新bounding box;
[0100][0101][0102]
s2-4-1-3、通过如下公式计算当前模型对噪声的稳定度s(bj);
[0103][0104]
s2-4-1-4、若该稳定度s(bj)达到了稳定值,无需对该未标记图像进行标记;
[0105]
s2-4-1-5、对步骤s2-4-1-3中未达到稳定值的s(bj),采用如下公式进行更新;
[0106][0107]
s2-4-2、使用基于不确定性的主动学习方法,返回策略选择出需要标注的数据;
[0108]
s2-4-3、判断模型精度是否达到要求,利用查询函数选取对提高模型精度最有用的数据进行人工标注;
[0109]
s2-4-4、将步骤s2-4-3中的数据按照查询标准加到训练集样本中循环查询;
[0110]
s2-5、应用目标检测模型获取运动目标的bounding box。
[0111]
s3、进行运动物体的目标跟踪
[0112]
s3-1、计算当前t时刻运动目标的检测框bounding box与上一时刻的检测框交并比iou;
[0113]
s3-2、判断计算结果是否小于预设的阈值,如果是,则认为匹配失败,进行卡尔曼滤波预测;
[0114]
s3-3、初始化一个新的卡尔曼滤波器,记录当前运动目标的跟踪序号以及对应帧的编号信息;
[0115]
s3-4、利用卡尔曼滤波器预测运动目标在当前帧的位置以及跟踪框track和检测框detection;
[0116]
s3-5、使用卡尔曼滤波器基于前一个状态对运动目标当前的状态进行预测,计算当前帧和下一帧之间的信息差;
[0117]
s3-6、使用匹配算法进行级联匹配,将当前帧中的跟踪框track与下一帧中的检测框detection进行关联;
[0118]
s3-7、使用卡尔曼滤波基于步骤s3-2中的detection来更新预测的位置;
[0119]
s3-8、获得运动物体的跟踪轨迹path-pred∈r
tx4xn
,同时获取非正常运动目标的运动图像数据path-abpred∈r
tx4xn

[0120]
s4、构建图像分类神经网络模型
[0121]
s4-1、使用两个最大的图像数据源,即imagenet和谷歌openimages,获取包含飞鸟、飞虫、树叶等干扰物体的数据集dataset_one;
[0122]
s4-2、进行数据预处理和数据增强;
[0123]
s4-3、定义图像分类的cnn模型,共7层神经网络,其中1、3、5层为卷积层conv2d,2、4层为池化层,后2层为全连接层dense;
[0124]
s4-3-1、卷积层c1使用6个大小为5
×
5的卷积核,步长stride=1,对输入层进行卷积运算,使用激活函数tanh,并为模型提供输入形状,产生6个大小为28
×
28的特征图map
one

[0125]
s4-3-2、池化层s2采用最大池化max_pool,步长stride=2,通过最大池化减小数据维度,池化size=2
×
2,经池化后得到6个14
×
14的特征图map
two
,作为下一层神经元的输入;
[0126]
s4-3-3、卷积层c3使用16个大小为5
×
5的卷积核,步长stride=1,输出为16个10
×
10的特征图map
three

[0127]
s4-3-4、池化层s4仍采用最大池化max_pool,步长stride=2,池化大小为2
×
2,输出16个5
×
5的特征图map
four
,神经元个数减少至16
×5×
5=400;
[0128]
s4-3-5、卷积层c5继续使用5
×
5大小的卷积核对s4层的输出进行卷积,卷积核数量增加120,步长stride=1,输出120个1
×
1的特征图map
five

[0129]
s4-3-6、全连接层f6与c5层全连接,输出84张特征图map
six

[0130]
s4-3-7、全连接层f7即输出层与全连接层f6全连接,输出长度为5的张量,代表所抽取的特征所属干扰物体(5类分别为飞鸟、飞虫、树叶、被子、衣服)。
[0131]
s5、利用图像分类网络过滤干扰物体
[0132]
s5-1、定义训练参数和输入;
[0133]
s5-2、进行神经网络模型训练;
[0134]
s5-3、使用神经网络模型预测;
[0135]
s5-4、应用图像分类网络,对步骤s3-9中的运动目标进行图像分类;
[0136]
s5-5、若输出类别为飞鸟、飞虫、树叶等干扰物体,则将该图像从数据图像中过滤删除,保留高空抛物中的运动目标,避免误检误报事件。
[0137]
s6、排除非高空抛物的运动轨迹
[0138]
s6-1、根据高空抛物的判断条件进行轨迹选择;
[0139]
s6-1-1、设置运动物体的轨迹纵坐标阈值为m,跟踪帧数阈值t;
[0140]
s6-1-2、排除运动轨迹垂直下降距离大于阈值m的运动目标;
[0141]
s6-1-3、排除运动轨迹不符合自由落体或者抛体运动的运动目标;
[0142]
s6-1-4、排除跟踪帧数小于预设阈值t的运动目标;
[0143]
s6-1-5、排除运动轨迹起始点在监控边界外的运动目标;
[0144]
s6-2、排除不符合上述条件的运动轨迹,同时给出高空抛物中运动物体的位置和轨迹信息。
[0145]
实施例
[0146]
图1为本发明一种基于主动学习和神经网络的高空抛物检测方法的流程图;图2为本发明一种基于主动学习和神经网络的高空抛物检测方法的高空抛物辨识系统结构图。
[0147]
s1、采集高空抛物的下落物体数据,具体操作步骤包括:
[0148]
s1-1、通过双目摄像头获取真实视频数据,得到包含rgb三层颜色通道的图像;
[0149]
s1-2、对视频抽帧解码处理,将视频数据解析为连续的图像帧数据;
[0150]
s1-3、对每一帧图像中的运动目标的类别进行标注,形成该帧图像的类别标签{yi,i=1,...,n};
[0151]
s2、如图3所示,构建主动目标检测模型,具体操作步骤包括:
[0152]
s2-1、对步骤s1-2中的运动物体的图像数据进行标注;
[0153]
s2-2、选择基网为resnet-50的retinanet的神经网络作为基础的检测器;
[0154]
s2-3、将步骤s2-1中标注好的数据作为输入主动学习的网络框架中;
[0155]
s2-4、定义主动学习器active learner;
[0156]
s2-4-1、定义模型参数和应用于请求标注的查询策略;
[0157]
s2-4-1-1、对于预测的bounding boxbj的紧密度定义如下;
[0158]
t(bj)=iou(bj,rj)
[0159]
其中,rj为当网络预测未经调整前的候选区域region;
[0160]
s2-4-1-2、根据样本的紧密度t(bj)和置信度p
max
的不同,采用如下选择策略来更新bounding box;
[0161][0162][0163]
s2-4-1-3、通过如下公式计算当前模型对噪声的稳定度s(bj);
[0164][0165]
s2-4-1-4、若该稳定度s(bj)达到了稳定值,意味着即使输入的未标记图像被噪声破坏,检测结果也不会发生显著变化,因此无需对该未标记图像进行标记;
[0166]
s2-4-1-5、对步骤s2-4-1-3中未达到稳定值的s(bj),采用如下公式进行更新;
[0167][0168]
s2-4-2、使用基于不确定性的主动学习方法,返回策略选择出需要标注的数据;
[0169]
s2-4-3、判断模型精度是否达到要求,利用查询函数选取对提高模型精度最有用的数据进行人工标注;
[0170]
s2-4-4、将步骤s2-4-3中的数据按照查询标准加到训练集样本中循环查询;
[0171]
s2-5、应用目标检测模型获取运动目标的bounding box;
[0172]
s3、如图4所示,进行运动物体的目标跟踪,具体操作步骤包括:
[0173]
s3-1、对步骤s2-5所提取运动目标的bounding box建立如下向量x用以表示目标
的状态信息
[0174]
x=[x,y,,w,h,dx,dy]
t
[0175]
其中x表示box中心点的横坐标,y表示box中心点的纵坐标,w和h分别表示box宽、高,dx、dy为x和y的速度变化值,均初始化为0;
[0176]
s3-2、计算当前t时刻运动目标的检测框bounding box与上一时刻的检测框交并比iou;
[0177]
s3-3、判断计算结果是否小于预设的阈值,如果是,则认为匹配失败,进行卡尔曼滤波预测;
[0178]
s3-4、初始化一个卡尔曼滤波器,记录当前运动目标的跟踪序号以及对应帧的编号信息;
[0179]
s3-5、利用卡尔曼滤波器预测运动目标在当前帧的位置以及跟踪框track和检测框detection;
[0180]
s3-6、使用卡尔曼滤波器基于前一个状态对运动目标当前的状态进行预测,计算当前帧和下一帧之间的信息差;
[0181]
状态预测使用如下方程进行预测,其中u
t
表示物体加速度矢量,f
t
∈r
6x6
为状态转移矩阵,b
t
∈r
6x1
为控制输入矩阵;
[0182][0183]
计算当前帧和下一帧之间的信息差,用协方差矩阵∑表示t时刻系统的不确定性大小,使用如下方程进行预测当前时刻的协方差矩阵
[0184][0185]
其中矩阵q表示系统噪声的不确定性大小,对角线上的值分别为中心点两个坐标以及宽高的噪声;
[0186]
s3-7、使用匹配算法进行级联匹配,将当前帧中的跟踪框track与下一帧中的检测框detection进行关联;
[0187]
s3-7-1、基于外观信息,计算track和detection的余弦距离代价矩阵;
[0188]
s3-7-2、基于马氏距离,通过设置一个较大值,过滤掉代价矩阵中一些不合适的项,以此得到代价余弦矩阵;
[0189]
s3-7-3、执行匈牙利算法,得到匹配成功的索引对,行索引为track的索引,列索引为detection的索引;
[0190]
s3-8、使用卡尔曼滤波基于步骤s2-2中的detection来更新预测的位置;
[0191]
s3-8-1、基于当前时刻检测的detection,校正与其关联的track状态;
[0192]
校正关联的track状态通过构造t时刻detection的状态向量z
t
,使用如下公式计算detection与track的均值误差,将track的均值向量映射到检测空间,其中h为测量矩阵;
[0193][0194]
s3-8-2、通过滤波增益矩阵k
t
来预测协方差矩阵∑
t
和观测值矩阵r;
[0195]
权衡预测预测协方差矩阵∑
t
和观测值矩阵r通过使用如下公式修正状态估计
[0196]kt
=∑
tht
(h∑
tht
r)-1
[0197][0198]
s3-8-3、对每个匹配成功的track,用其对应的detection进行更新,并删掉未匹配的track和detection;
[0199]
处理未匹配的track和detection通过将得到的协方差矩阵映射到检测空间,使用如下公式更新最优估计值的噪声分布;
[0200][0201]
s3-9、获得运动物体的跟踪轨迹path-pred∈r
tx4xn
,同时获取非正常运动目标的运动图像数据path-abpred∈r
tx4xn

[0202]
s4、如图5所述构建图像分类网络训练模型,具体操作步骤包括:
[0203]
s4-1、使用两个最大的图像数据源,即imagenet和谷歌openimages,获取干扰物体的数据集dataset_one;
[0204]
s4-2、进行数据预处理和数据增强;
[0205]
s4-2-1、通过尺寸归一化,把输入图像全部转化成32
×
32大小;
[0206]
s4-2-2、将数据集按照训练集、验证集、测试集=6、2、2的比例划分为x_train、x_test、x_
cross-validation

[0207]
s4-2-3、对步骤s4-1获取的数据集dataset_one将输入均值和样本平均值设置为0;
[0208]
s4-2-4、将输入图像y_image除以数据集的标准差;
[0209]
s4-2-5、在0-180
°
范围内进行随机翻转图像操作以及随机缩放图像操作;
[0210]
s4-3、定义图像分类的cnn模型,如图6所示,共7层神经网络,其中1、3、5层为卷积层conv2d,2、4层为池化层,后2层为全连接层dense;
[0211]
s4-3-1、卷积层c1使用6个大小为5
×
5的卷积核,步长stride=1,对输入层进行卷积运算,使用如下公式的激活函数tanh,并为模型提供输入形状,产生6个大小为28
×
28的特征图map
one

[0212]
tanh(z)=2σ(2z)-1
[0213][0214]
s4-3-2、池化层s2采用最大池化max_pool,步长stride=2,通过最大池化减小数据维度,池化size=2
×
2,经池化后得到6个14
×
14的特征图map
two
,作为下一层神经元的输入;
[0215]
s4-3-3、卷积层c3使用16个大小为5
×
5的卷积核,步长stride=1,输出为16个10
×
10的特征图map
three

[0216]
s4-3-4、池化层s4仍采用最大池化max_pool,步长stride=2,池化大小为2
×
2,输出16个5
×
5的特征图map
four
,神经元个数减少至16
×5×
5=400;
[0217]
s4-3-5、卷积层c5继续使用5
×
5大小的卷积核对s4层的输出进行卷积,卷积核数量增加至120,步长stride=1,输出120个1
×
1的特征图map
five

[0218]
s4-3-6、全连接层f6与c5层全连接,输出84张特征图map
six

[0219]
s4-3-7、全连接层f7即输出层与全连接层f6全连接,采用如下公式的径向基(rbf)函数的网络连接方式,其中为x
p
第p个输入样本,ci表示第i个中心点;
[0220][0221]
s4-4-8、由步骤s4-3-7中的rbf结构可得网络的输出为如下公式,其中h为隐含层的结点数,最终输出为长度为5的张量,代表所抽取的特征所属干扰物体(5类分别为飞鸟、飞虫、树叶、被子、衣服);
[0222][0223]
s5、利用图像分类网络过滤干扰物体,具体操作步骤包括:
[0224]
s5-1、定义训练参数和输入;
[0225]
s5-1-1、设置算法参数,数据维度、类别数目,设置batchsize=1024;
[0226]
s5-1-2、将步骤s4-1中的干扰运动的数据集dataset_one定义为图像输入层x_image和其类别标签label;
[0227]
s5-1-3、将图像转换成输入层大小32
×
32的矩阵格式,对矩阵进行归一化;
[0228]
s5-2、进行神经网络模型训练;
[0229]
s5-2-1、通过前向传播计算获取预测值y_train;
[0230]
s5-2-2、使用反向传播算法,优化神经网络的参数取值;
[0231]
s5-2-2-1、使用如下公式来定义损失函数softmax,将步骤s5-1-4中的前向传播的结果y_train变成概率分布,其中y1,y2,...yn为原始神经网络输出;
[0232][0233]
s5-2-2-2、利用交叉熵来定义损失函数,同时使用如下公式计算预测的概率分布y与真实的概率分布y'之间的差距;
[0234][0235]
s5-3、使用神经网络模型进行预测;
[0236]
s5-3-1、初始化预测参数;
[0237]
s5-3-2、定义输入label以填充容器,同时将训练时dropout设置为0.25;
[0238]
s5-3-3、将步骤s3-9中的运动目标作为构建的cnn模型的输入y_input;
[0239]
s5-3-4、定义标记变量train,当为true时进行训练操作并保存训练模型,当为false时进行预测,将20%的数据集进行图像分类预测实验;
[0240]
s5-4、应用图像分类网络,对步骤s5-3-3得到的图像y_input进行图像分类;
[0241]
s5-5、若输出类别label为飞鸟、飞虫、树叶等干扰物体,则将该图像从数据图像中过滤删除,保留高空抛物中的运动目标,避免误检误报事件的发生;
[0242]
s6、排除非高空抛物的运动轨迹,具体操作步骤包括:
[0243]
s6-1、根据高空抛物的判断条件进行轨迹选择;
[0244]
s6-1-1、设置运动物体的轨迹纵坐标阈值为m;
[0245]
s6-1-2、运动目标的纵坐标应大于初始阈值,且始终有向下趋势;
[0246]
s6-1-3、运动目标的运动轨迹应大致符合自由落体或者抛体运动;
[0247]
s6-1-4、运动目标的运动轨迹应从摄像头边界结束;
[0248]
s6-2、排除不符合上述条件的运动轨迹,同时给出高空抛物中运动物体的位置和轨迹信息。
[0249]
图7为本发明一种基于主动学习和神经网络的高空抛物检测方法的树叶遮挡和误检测实施图,a为树叶遮挡抛物图;b为主动目标检测图;c为改善跟踪结果图;d为树叶误检测图;e为应用图像分类网络图;f为排除误检测图,从图7可以看出本发明解决了高空抛物场景中对干扰物体误检测的问题。
[0250]
本发明采用上述一种基于主动学习和神经网络的高空抛物检测方法,通过查询策略选择少量样本进行标记,从而利用标注的信息来改善预测模型,主要是针对高空抛物的数据标签较少而设计的;本发明的动态目标跟踪算法通过对检测器获取的bounding box进行预测,利用滤波器更新运动目标的跟踪框以及检测框,采用级联匹配和匹配关联运动帧信息,可缓解因部分遮挡导致的检测信息变化;本发明提出的分类网络通过模型的训练和分类结果,将干扰物体从检测结果中过滤,可以解决高空抛物场景中对飞鸟、飞虫、树叶的误检测问题,从而降低跟踪成本。
[0251]
最后应说明的是、以上实施例仅用以说明本发明的技术方案而非对其进行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解、其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的精神和范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献