本发明涉及视频分析的技术领域,特别涉及一种视频分析方法以及智能分析服务器。
背景技术:
安防监控在预防和打击犯罪,维护社会秩序,预防灾害事故,减少个人和集体人身伤害和财产损失等方面起到了非常积极的作用。如利用安防监控和智能视频分析技术对重要区域进行有效监控,一方面能够在一定程度上威慑犯罪分子的行动,起到预防性;另一方面,一旦发生入侵等犯罪活动,能够及时发现并报警,自动记录犯罪现场,协助工作人员及时破案,大大提高效率,同时节省大量的人力、物力和财力。
其中,智能视频分析是安防监控中一项重要的技术,其是指通过将场景中背景和目标分离,进而分析并追踪在摄像机场景内出现的关注目标。运用智能视频分析在一些重要区域进行目标检测,能够代替值守人员24小时工作,实现无人值守。但在现实应用中,智能视频分析服务器都是使用传统算法,而实际环境中的光照变化、目标运动的复杂性、目标受到遮挡、目标与背景颜色相似、背景杂乱等情况都会增加目标检测与跟踪算法设计的难度,从而导致大量错误报警,显得一般的传统算法无法满足使用需要,同时一般的传统算法都是针对性检测目标,关注目标变化,同时需要对算法进行更改,并不能普及。
技术实现要素:
为解决上述问题,本发明的主要目的是提供一种视频分析方法,皆在提高对视频中的对象目标识别的准确性,降低监控平台或系统的误报率。
为实现上述目的,本发明提出的视频分析方法,其包括如下步骤:
s10,接入监控设备存储的历史数据,通过opencv和ffmpeg将历史数据进行分帧处理为帧队列。其中,历史数据为监控设备记录的过去发生的视频数据。
s20,通过现场的监控设备采集实时数据,通过ffmpeg对实时数据进行解码,并分帧处理为帧队列。其中,实时数据为监控设备实时采集的监控视频数据。
s30,根据历史数据的帧队列与实时数据的帧队列建立多层卷积分神经网络,对帧队列中的每帧图片进行检测分析,识别图片中的对象目标。
优选地,在步骤s30中,多层卷积神经网络的分析检测的过程如下:
s31,将帧队列中的每帧图像数据以多个不同权重的过滤器叠加为卷积层。
s32,扫描每帧图像数据,并在局部连接时进行卷积加偏置运算,提取局部特征,获得图像的特征映射数组。
s33,通过非线性函数去除冗余信息以得到新的输出数组,并将在池化层生成特征数据作为下一卷积层的输入源。
s34,重复步骤s32~步骤s33,直至提取到组合抽象特征或全局特征映射的特征数据。
s35,采用全连接方式,将最后提取的深层的特征数据数组送至分类器,识别图片中的对象目标。
优选地,步骤s30中,在对帧队列中的每帧图片进行检测分析时,根据监控设备所处的场景以及应用场合,选择与其场景对应的目标特征模型对帧队列进行分析检测。
优选地,该视频分析方法还包括:s40,通过时间序列和连续多帧关系对多层卷积神经网络识别到的对象目标进行过滤。
优选地,在步骤s40中,对多层卷积神经网络识别到的对象目标进行过滤过程为:
s41,判断相邻两帧之间的识别到的对象目标是否均为关注目标,若是,则进行下一步,若不是,则排除识别到的对象目标。
s42,判断相邻两帧之间的重叠率是否合理,若合理,则进行下一步,若不合理,则排除识别到的对象目标。
s43,判断识别到的对象目标的最大值与最小值是否合理,若最大值与最小值均合理,则保留识别到的对象目标。否则,排除识别到的对象目标。
本发明还提出一种智能分析服务器,其包括:历史数据接入模块、实时数据接入模块、数据分析检测模块以及输出模块。
历史数据接入模块与数据分析检测模块的第一输入端连接,其用于接收监控设备存储的历史数据,并将历史数据进行分帧处理,以帧队列的形式输出至数据分析检测模块。
实时数据接入模块与数据分析检测模块的第二输入端连接,其用于接收监控设备实时采集的实时数据,并将实时数据进行解码、分帧处理,以帧队列的形式输出至数据分析检测模块。
数据分析检测模块内设有多层卷积神经网络算法程序,用于对帧队列中的每帧图片进行检测分析并识别出图片中的对象目标。
识别目标输出模块与数据分析检测模块的输出端连接,其用于将从历史数据与实时数据中识别到的对象目标发送给监控平台或系统。
优选地,数据分析检测模块分析检测的过程如下:
s51,将帧队列中的每帧图像数据以多个不同权重的过滤器叠加为卷积层。
s52,扫描每帧图像数据,并在局部连接时进行卷积加偏置运算,提取局部特征,获得图像的特征映射数组。
s53,通过非线性函数去除冗余信息以得到新的输出数组,并将在池化层生成特征数据作为下一卷积层的输入源。
s54,重复步骤s52~步骤s53,直至提取到组合抽象特征或全局特征映射的特征数据。
s55,采用全连接方式,将最后提取的深层的特征数据数组送至分类器,识别图片中的对象目标。
优选地,该智能分析服务器还包括目标特征模型匹配模块,其与数据分析检测模块的第三输入端连接,用于根据监控设备所处的场景以及应用场合,选择与其场景对应的目标特征模型对帧队列进行分析检测。
优选地,该智能分析服务器还包括数据过滤模块,其输入端与数据分析检测模块的输出端连接,其输出端与识别目标输出模块的输入端连接,用于对数据分析检测模块识别到的对象目标进行过滤。
优选地,数据过滤模块的过滤过程如下:
s61,判断相邻两帧之间的识别到的对象目标是否均为关注目标,若是,则进行下一步,若不是,则排除识别到的对象目标。
s62,判断相邻两帧之间的重叠率是否合理,若合理,则进行下一步,若不合理,则排除识别到的对象目标。
s63,判断识别到的对象目标的最大值与最小值是否合理,若最大值与最小值均合理,则保留识别到的对象目标。否则,排除识别到的对象目标。
本发明提供的视频分析方法及智能分析服务器,可以对已经发生并保存为相关格式文件的音视频历史数据进行分析检测,也可实时分析检测当前正在发生的数据流;采用了卷积神经网络算法,相对于传统算法,分析检测能力更高,误报率更低;目标特征模型可根据不同场景及应用环境自行选择匹配,而无需对系统进行修改或者升级,使分析检测更具明确性和精准性,且使用方便性;通过对识别到的对象目标进行多重过滤,降低了误报率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本发明视频分析方法一实施例的流程示意图;
图2为本发明智能分析服务器一实施例的结构示意图;
本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
本发明提出一种视频分析方法。
参照图1,图1为本发明视频分析方法一实施例的流程示意图。
如图1所示,在本发明实施例中,该视频分析方法包括以下步骤:
s10,接入监控设备存储的历史数据,通过opencv和ffmpeg将历史数据进行分帧处理为帧队列。其中,历史数据为监控设备记录的或者存放于局域网内其他存储设备存储的过去发生的视频数据,如avi、wmv、mpeg或mp4等格式的视频数据。
在本实施例中,先对历史数据进行视频格式识别,然后通过opencv和ffmpeg分帧压缩成一帧一帧相对独立的图片,并存于帧队列中。
s20,通过现场的监控设备采集实时数据,通过ffmpeg对实时数据进行解码,并分帧处理为帧队列。其中,实时数据为监控设备,如视频监控平台、摄像机等,通过监控设备实时采集的监控视频数据。
在本实施例中,通过网络接口接收实时数据,并通过ffmpeg对实时数据进行实时性视频解码,分帧,压缩成一帧一帧相对独立的图片,再存于帧队列中。
s30,根据历史数据的帧队列与实时数据的帧队列建立多层卷积分神经网络,对帧队列中的每帧图片进行检测分析,识别图片中的对象目标。
在本实施例中,帧队列以分析状态划分为已分析帧、分析帧以及待分析帧。其中,已分析帧为已经过分析检测的对象,分析帧为当前正在分析检测对象,待分析帧为下一次分析检测的对象。
通过多层卷积神经网络对分析帧进行分析检测,其具体过程如下:
s31,将帧队列中的每帧图像数据以多个不同权重的过滤器叠加为卷积层。
s32,扫描每帧图像数据,并在局部连接时进行卷积加偏置运算,提取局部特征,获得图像的特征映射数组。
s33,通过非线性函数去除冗余信息以得到新的输出数组,并将在池化层生成特征数据作为下一卷积层的输入源。
s34,重复步骤s32~步骤s33,直至提取到组合抽象特征或全局特征映射的特征数据。
s35,采用全连接方式,将最后提取的深层的特征数据数组送至分类器,识别图片中的对象目标。
进一步地,步骤s30中,在对帧队列中的每帧图片进行检测分析时,根据监控设备所处的场景以及应用场合,选择与其场景对应的目标特征模型对帧队列进行分析检测。例如,本次分析检测需要关注“人”,则可选择为人的目标特征模型,如本次分析检测需关注“车辆”,则可选择为车辆的目标特征模型。应当说明的是,各种类型的目标特征模型可预先通过深度学习训练数据获取。
进一步地,该视频分析方法还包括:s40,通过时间序列和连续多帧关系对多层卷积神经网络识别到的对象目标进行过滤。
具体地,对多层卷积神经网络识别到的对象目标进行过滤过程为:
s41,判断相邻两帧之间的识别到的对象目标是否均为关注目标,若是,则进行下一步,若不是,则排除识别到的对象目标。
s42,判断相邻两帧之间的重叠率是否合理,若合理,则进行下一步,若不合理,则排除识别到的对象目标。
s43,判断识别到的对象目标的最大值与最小值是否合理,若最大值与最小值均合理,则保留识别到的对象目标。否则,排除识别到的对象目标。
在本实施例中,通过判断相邻分析帧识别到的对象目标是否都为关注目标,以排除偶然性结果;之后,继续判断相邻两帧之间的重叠率,以排除跳跃性非常大的结果;最后,判断结果的最大值和最小值是否超出实际应用环境。如此经过多重过滤,能够有效过滤随机性,偶然性的检测结果,一定程度也弥补了目标识别能力的不足,降低了误报率。
相比现有技术,本发明提供的视频分析方法,可以对已经发生并保存为相关格式文件的音视频历史数据进行分析检测,也可实时分析检测当前正在发生的数据流;采用了卷积神经网络算法,相对于传统算法,分析检测能力更高,误报率更低;目标特征模型可根据不同场景及应用环境自行选择匹配,而无需对系统进行修改或者升级,使分析检测更具明确性和精准性,且使用方便性;通过对识别到的对象目标进行多重过滤,降低了误报率。
本发明还提出一种智能分析服务器。
参照图2,图2为本发明智能分析服务器一实施例的结构示意图。
如图1所示,在本发明实施例中,该智能分析服务器包括:历史数据接入模块100、实时数据接入模块200、数据分析检测模块300以及输出模块。
其中,历史数据接入模块100与数据分析检测模块300的第一输入端连接,其用于接收监控设备存储的历史数据,并将历史数据进行分帧处理,以帧队列的形式输出至数据分析检测模块300。
在本实施例中,历史数据为已经发生并保存为相应格式文件的数据,如avi、wmv、mpeg、mp4等视频数据,还包括mp3、wav等音频数据,该历史数据可存于智能分析服务器中,也可存放于局域网内其他存储设备。历史数据接入模块100先通过对历史数据进行视频格式识别,然后通过opencv和ffmpeg分帧压缩成一帧一帧相对独立的图片,再以帧队列输出给数据分析检测模块300。而对于mp3、wav等时域性信号,则会截取固定时间长度的信号输出给数据分析检测模块300。
实时数据接入模块200与数据分析检测模块300的第二输入端连接,其用于接收监控设备实时采集的实时数据,并将实时数据进行解码、分帧处理,以帧队列的形式输出至数据分析检测模块300。
在本实施例中,实时数据接入模块200通过网络接口接收实时数据,对实时数据通过ffmpeg进行实时性视频解码,分帧,压缩成一帧一帧相对独立的图片,并以帧队列的形式输出给数据分析检测模块300。实时数据来源于为当前正在发生的相关系统或设备的数据流,如视频监控平台、摄像机等监控设备实时采集的视频数据,该实时数据接入模块200支持国际onvif,gb/t28181协议标准,以及大部分商家的私有协议,可与多种监控设备进行对接。
数据分析检测模块300内设有多层卷积神经网络算法程序,用于对帧队列中的每帧图片进行检测分析并识别出图片中的对象目标。
在本实施例中,数据分析检测模块300主要由深度学习框架caffe和卷积神经网络算法构成,对历史数据接入模块100和实时数据接入模块200输送进来的数据结合目标特征模型进行分析检测。
历史数据接入模块100和实时数据接入模块200输送进来的数据以帧队列的形式表现。具体地,帧队列以分析状态划分为已分析帧、分析帧以及待分析帧。已分析帧为已经过数据分析检测模块300分析检测的对象,分析帧为数据分析检测模块300当前正在分析检测对象,待分析帧为数据分析检测模块300下一次分析检测的对象。
数据分析检测模块300对分析帧进行分析检测,其具体过程如下:
s51,将帧队列中的每帧图像数据以多个不同权重的过滤器叠加为卷积层。
s52,扫描每帧图像数据,并在局部连接时进行卷积加偏置运算,提取局部特征,获得图像的特征映射数组。
s53,通过非线性函数去除冗余信息以得到新的输出数组,并将在池化层生成特征数据作为下一卷积层的输入源。
s54,重复步骤s52~步骤s53,直至提取到组合抽象特征或全局特征映射的特征数据。
s55,采用全连接方式,将最后提取的深层的特征数据数组送至分类器,识别图片中的对象目标。
识别目标输出模块400与数据分析检测模块300的输出端连接,其用于将从历史数据与实时数据中识别到的对象目标发送给监控平台或系统。
在本实施例中,对于历史数据,可直接分离出含有对象目标的数据存于本地或通过网络接口协议发送给相关系统,而对于实时数据,可根据其支持对接监控平台,将结果通过网络接口协议直接发送给对应的监控平台。
进一步地,在本实施例中,该智能分析服务器还包括目标特征模型匹配模块500,其与数据分析检测模块300的第三输入端连接,用于根据监控设备所处的场景以及应用场合,选择与其场景对应的目标特征模型对帧队列进行分析检测。
在本实施例中,目标特征模型匹配模块500内存储有若干不同的类型的目标特征模型,并设有与每一目标特征模型相对应的关注对象的接口。针对不同的关注对象可选择不同的目标特征模型,例如本次分析检测关注对象是“人”,则可选择为人的目标特征模型,若本次分析检测关注对象是“车辆”,则可选择为车辆的目标特征模型。应当说明的是,各种类型的目标特征模型可预先通过深度学习训练数据获取。
进一步地,该智能分析服务器还包括数据过滤模块600,其输入端与数据分析检测模块300的输出端连接,其输出端与识别目标输出模块400的输入端连接,用于对数据分析检测模块300识别到的对象目标进行过滤。
具体地,数据过滤模块600的过滤过程如下:
s61,判断相邻两帧之间的识别到的对象目标是否均为关注目标,若是,则进行下一步,若不是,则排除识别到的对象目标。
s62,判断相邻两帧之间的重叠率是否合理,若合理,则进行下一步,若不合理,则排除识别到的对象目标。应当说明的是,在数据过滤模块600中预设有重叠率合理的数值范围,一旦检测到相邻两帧之间的重叠率不在该数值范围内,即判断重叠率不合理。
s63,判断识别到的对象目标的最大值与最小值是否合理,若最大值与最小值均合理,则保留识别到的对象目标。否则,排除识别到的对象目标。应当说明的是,数据过滤模块600中预设有最大阀值和最小阀值,当检测到识别到的对象目标的最大值大于最大阀值,或者检测到识别到的对象目标的最小值小于最小阀值时,即判断识别到的对象目标不合理。
在本实施例中,通过判断相邻分析帧识别到的对象目标是否都为关注目标,以排除偶然性结果;之后,继续判断相邻两帧之间的重叠率,以排除跳跃性非常大的结果;最后,判断结果的最大值和最小值是否超出实际应用环境。如此经过多重过滤,能够有效过滤随机性,偶然性的检测结果,一定程度也弥补了目标识别能力的不足,降低了误报率。
相比现有技术,本发明提供的智能分析服务器,可以对已经发生并保存为相关格式文件的音视频历史数据进行分析检测,支持当前通用视频流协议,支持网络传输,可实时分析检测当前正在发生的数据流,或者接入远程数据进行分析检测;数据分析检测模块300内搭建了开源深度学习框架caffe和运用了卷积神经网络算法,相对于传统算法,分析检测能力更高,误报率更低;目标特征模型匹配模块500内的目标特征模型可根据不同场景及应用环境自行选择匹配,而无需对系统进行修改或者升级,使分析检测更具明确性和精准性,使用方便性;通过数据过滤模块600对识别到的对象目标结果进行多重过滤,降低误报率;同时,该智能分析器还支持对接传统监控平台,能为传统监控平台输出分析识别到的对象目标。
该智能分析服务器中的模块可实现高度集成,安装和使用简便,输入数据即可得到分析检测结果。相比现有的智能视频分析产品,大大减少了繁琐的开发调试过程。
此外,在本实施例中,数据分析检测模块300以高性能并行运算的gpu服务器作为分析基础,运算能力强,运算速度快。且该gpu服务器带有cuda的通用并行计算框架,平行运算能力和浮点运算能力远超通用处理器cpu,使数据分析检测模块300的分析检测能力更强,更具效率性,可有效提高数据分析检测模块300进行海量数据分析检测的速度。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。