视频数据中特定对象检测方法及装置、计算设备与流程

文档序号:14249926阅读:176来源:国知局
视频数据中特定对象检测方法及装置、计算设备与流程

本发明涉及深度学习领域,具体涉及一种视频数据中特定对象检测方法及装置、计算设备。



背景技术:

随着网络技术的发展,用户可以从互联网获取到海量的视频数据。对于用户而言,仅希望从海量的视频数据中获取自己感兴趣的视频数据。以某明星的粉丝为例,粉丝仅关注有该明星出现的视频数据;对于安装安防监控的公司或家庭来说,关注监控的视频数据中是否有其他陌生人出入。

现有技术中,视频数据可以采用人工审核的方法,来确定视频数据中是否包含特定对象。但采用人工审核方法需要投入大量的人力,增加了审核成本,而且审核效率低。或者现有技术采用神经网络对视频数据进行检测。但一般采用的神经网络往往具有多层中间层,其可以得到精准的检测结果,但多层中间层的计算速度会较慢,不能快速的对视频进行检测,无法及时反馈给用户检测结果。且用户在获取视频数据时更多的使用如移动设备等,移动设备所能运行的神经网络一般为中间层较少的神经网络,由于中间层层数较少,其计算速度较快,但受其层数限制,有可能造成计算能力有限、拟合能力较差、得到结果不准确等问题。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的视频数据中特定对象检测方法及装置、计算设备。

根据本发明的一个方面,提供了一种视频数据中特定对象检测方法,其包括:

获取视频数据;

将视频数据输入至第二神经网络中,得到视频数据的检测结果;其中,第二神经网络利用预先训练的第一神经网络的至少一层中间层的输出数据进行指导训练得到,第一神经网络的层数多于第二神经网络的层数;

根据视频数据的检测结果,确定视频数据的标签属性信息;

根据视频数据的标签属性信息,对视频数据进行标记。

可选地,获取视频数据进一步包括:

获取本地视频数据和/或网络视频数据。

可选地,视频数据的检测结果包含特定对象出现的时长;

根据视频数据的检测结果,确定视频数据的标签属性信息进一步包括:

判断视频数据的检测结果中特定对象出现的时长与视频数据时长的比例是否大于预设时长比例;

若是,将特定对象设置为视频数据的标签属性信息。

可选地,视频数据的检测结果包含特定对象出现的次数;

根据视频数据的检测结果,确定视频数据的标签属性信息进一步包括:

判断视频数据的检测结果中特定对象出现的频率是否大于预设频率值;

若是,将特定对象设置为视频数据的标签属性信息。

可选地,视频数据的检测结果包含特定对象的场景信息;

根据视频数据的检测结果,确定视频数据的标签属性信息进一步包括:

根据视频数据的检测结果,将特定对象以及场景设置为视频数据的标签属性信息。

可选地,方法还包括:

获取用户终端的观看视频数据的偏好;

根据视频数据的检测结果和用户终端的偏好,向用户终端推送符合用户终端的偏好的视频数据。

可选地,第二神经网络的训练过程包括:

将特定对象检测的训练样本数据输入至经训练得到的第一神经网络中,获得第一神经网络的至少一层第一中间层的输出数据;

将特定对象检测的训练样本数据输入至待训练的第二神经网络中,获得第二神经网络的至少一层第二中间层的输出数据以及最终输出数据,至少一层第二中间层与至少一层第一中间层具有对应关系;

利用至少一层第二中间层的输出数据与至少一层第一中间层的输出数据之间的损失,以及最终输出数据与预标注的输出数据之间的损失,对第二神经网络进行训练。

可选地,至少一层第一中间层包含第一神经网络的瓶颈层;至少一层第二中间层包含第二神经网络的瓶颈层。

可选地,利用至少一层第二中间层的输出数据与至少一层第一中间层的输出数据之间的损失,以及最终输出数据与预标注的输出数据之间的损失,对第二神经网络进行训练进一步包括:

根据至少一层第二中间层的输出数据与至少一层第一中间层的输出数据之间的损失更新第二神经网络的权重参数,根据最终输出数据与预标注的输出数据之间的损失更新第二神经网络的权重参数,对第二神经网络进行训练。

可选地,在将训练样本的输入数据输入至待训练的第二神经网络中,获得第二神经网络的至少一层第二中间层的输出数据以及最终输出数据之前,方法还包括:

将特定对象检测的训练样本数据进行下采样处理,将处理后的数据作为第二神经网络的特定对象检测的训练样本数据。

可选地,利用至少一层第二中间层的输出数据与至少一层第一中间层的输出数据之间的损失,以及最终输出数据与预标注的输出数据之间的损失,对第二神经网络进行训练进一步包括:

利用至少一层第二中间层的输出数据与至少一层第一中间层的输出数据之间的损失,以及最终输出数据与对下采样处理后特定对象检测的训练样本数据的预标注的输出数据之间的损失,对第二神经网络进行训练。

可选地,方法还包括:

收集视频数据中包含特定对象的帧图像作为特定对象检测的训练样本输入数据,以及,对帧图像进行人工标注,将标注后的图像作为预标注的输出数据。

根据本发明的另一方面,提供了一种视频数据中特定对象检测装置,其包括:

获取模块,适于获取视频数据;

检测模块,适于将视频数据输入至第二神经网络中,得到视频数据的检测结果;其中,第二神经网络利用预先训练的第一神经网络的至少一层中间层的输出数据进行指导训练得到,第一神经网络的层数多于第二神经网络的层数;

标签模块,适于根据视频数据的检测结果,确定视频数据的标签属性信息;

标记模块,适于根据视频数据的标签属性信息,对视频数据进行标记。

可选地,获取模块进一步适于:

获取本地视频数据和/或网络视频数据。

可选地,视频数据的检测结果包含特定对象出现的时长;

标签模块进一步适于:

判断视频数据的检测结果中特定对象出现的时长与视频数据时长的比例是否大于预设时长比例;若是,将特定对象设置为视频数据的标签属性信息。

可选地,视频数据的检测结果包含特定对象出现的次数;

标签模块进一步适于:

判断视频数据的检测结果中特定对象出现的频率是否大于预设频率值;若是,将特定对象设置为视频数据的标签属性信息。

可选地,视频数据的检测结果包含特定对象的场景信息;

标签模块进一步适于:

根据视频数据的检测结果,将特定对象以及场景设置为视频数据的标签属性信息。

可选地,装置还包括:

推送模块,适于获取用户终端的观看视频数据的偏好;根据视频数据的检测结果和用户终端的偏好,向用户终端推送符合用户终端的偏好的视频数据。

可选地,装置还包括:特定对象检测网络指导训练模块;

特定对象检测网络指导训练模块包括:

第一输出单元,适于将特定对象检测的训练样本数据输入至经训练得到的第一神经网络中,获得第一神经网络的至少一层第一中间层的输出数据;

第二输出单元,适于将特定对象检测的训练样本数据输入至待训练的第二神经网络中,获得第二神经网络的至少一层第二中间层的输出数据以及最终输出数据,至少一层第二中间层与至少一层第一中间层具有对应关系;

指导训练单元,适于利用至少一层第二中间层的输出数据与至少一层第一中间层的输出数据之间的损失,以及最终输出数据与预标注的输出数据之间的损失,对第二神经网络进行训练。

可选地,至少一层第一中间层包含第一神经网络的瓶颈层;至少一层第二中间层包含第二神经网络的瓶颈层。

可选地,指导训练单元进一步适于:

根据至少一层第二中间层的输出数据与至少一层第一中间层的输出数据之间的损失更新第二神经网络的权重参数,根据最终输出数据与预标注的输出数据之间的损失更新第二神经网络的权重参数,对第二神经网络进行训练。

可选地,特定对象检测网络指导训练模块还包括:

下采样单元,适于将特定对象检测的训练样本数据进行下采样处理,将处理后的数据作为第二神经网络的特定对象检测的训练样本数据。

可选地,指导训练单元进一步适于:

利用至少一层第二中间层的输出数据与至少一层第一中间层的输出数据之间的损失,以及最终输出数据与对下采样处理后特定对象检测的训练样本数据的预标注的输出数据之间的损失,对第二神经网络进行训练。

可选地,装置还包括:

收集模块,适于收集视频数据中包含特定对象的帧图像作为特定对象检测的训练样本输入数据,以及,对帧图像进行人工标注,将标注后的图像作为预标注的输出数据。

根据本发明的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;

存储器用于存放至少一可执行指令,可执行指令使处理器执行上述视频数据中特定对象检测方法对应的操作。

根据本发明的再一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述视频数据中特定对象检测方法对应的操作。

根据本发明提供的视频数据中特定对象检测方法及装置、计算设备,获取视频数据;将视频数据输入至第二神经网络中,得到视频数据的检测结果;其中,第二神经网络利用预先训练的第一神经网络的至少一层中间层的输出数据进行指导训练得到,第一神经网络的层数多于第二神经网络的层数;根据视频数据的检测结果,确定视频数据的标签属性信息;根据视频数据的标签属性信息,对视频数据进行标记。本发明利用层数较高的第一神经网络的至少一层中间层的输出数据对层数较少的第二神经网络进行指导训练,使得训练得到的第二神经网络在保持其快速计算的情况下,大大提升了其准确性。利用第二神经网络可以快速准确的对视频数据进行检测,得到检测结果,方便确定视频数据的标签属性信息,从而可以准确的对视频数据进行标记,使用户在查找视频数据时可以及时快速的找到想要观看的视频数据。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了根据本发明一个实施例的视频数据中特定对象检测方法的流程图;

图2示出了根据本发明另一个实施例的特定对象检测网络指导训练方法的流程图;

图3示出了根据本发明另一个实施例的视频数据中特定对象检测方法的流程图;

图4示出了根据本发明一个实施例的视频数据中特定对象检测装置的功能框图;

图5示出了根据本发明另一个实施例的视频数据中特定对象检测装置的功能框图;

图6示出了根据本发明一个实施例的一种计算设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

图1示出了根据本发明一个实施例的视频数据中特定对象检测方法的流程图。如图1所示,视频数据中特定对象检测方法具体包括如下步骤:

步骤s101,获取视频数据。

视频数据为待检测其中是否包含特定对象的视频数据,视频数据可以为本地视频数据,也可以是网络视频数据。在获取视频数据时,具体的,如可以由用户将待检测的视频数据通过一界面进行上传,获取视频数据;或用户提供该视频数据所在的网址,获取该网址的视频数据等。

步骤s102,将视频数据输入至第二神经网络中,得到视频数据的检测结果。

第二神经网络为浅层神经网络,其层数较少,计算速度快,一般适用于移动设备、小型计算器等设备。第一神经网络的层数多于第二神经网络的层数。第一神经网络的准确率更高,因此,利用预先训练的第一神经网络的至少一层中间层的输出数据对第二神经网络进行指导训练,使得第二神经网络最终的输出数据与第一神经网络的最终输出数据一致,在保留第二神经网络计算速度的前提下,大大提升了第二神经网络的计算性能。第二神经网络通过利用预先训练的第一神经网络的至少一层中间层的输出数据进行指导训练得到,其中,第一神经网络和第二神经网络训练使用的样本均为特定对象检测的训练样本。

将视频数据输入至第二神经网络中,得到视频数据的检测结果。其中,第二神经网络对视频数据中的每一帧图像进行检测,得到该视频数据的检测结果。

步骤s103,根据视频数据的检测结果,确定视频数据的标签属性信息。

根据视频数据的检测结果,如检测结果为视频数据中包含了如aa演员,对应的确定视频数据的标签属性信息为娱乐、aa等;或者检测结果为视频数据中包含了某车bb,对应的确定视频数据的标签属性信息为汽车、bb等。

标签属性信息根据具体的检测结果来确定。其中,标签属性信息除包含特定对象本身外,还包含了该特定对象所在的范围、该特定对象的属性、该特定对象的特定等与该特定对象相关的信息。

步骤s104,根据视频数据的标签属性信息,对视频数据进行标记。

根据视频数据的标签属性信息,对视频数据进行标识时,可以将视频数据的名字修改为与视频数据的标签属性信息相关的名字,还可以在视频数据的时间轴上添加相应的标记信息。如视频数据的标签属性信息为aa演员,将视频数据的名字改为aa演员,在视频数据中aa演员出现的时间点添加aa演员第x次出现的标记信息等。

根据本发明提供的视频数据中特定对象检测方法,获取视频数据;将视频数据输入至第二神经网络中,得到视频数据的检测结果;其中,第二神经网络利用预先训练的第一神经网络的至少一层中间层的输出数据进行指导训练得到,第一神经网络的层数多于第二神经网络的层数;根据视频数据的检测结果,确定视频数据的标签属性信息;根据视频数据的标签属性信息,对视频数据进行标记。本发明利用层数较高的第一神经网络的至少一层中间层的输出数据对层数较少的第二神经网络进行指导训练,使得训练得到的第二神经网络在保持其快速计算的情况下,大大提升了其准确性。利用第二神经网络可以快速准确的对视频数据进行检测,得到检测结果,方便确定视频数据的标签属性信息,从而可以准确的对视频数据进行标记,使用户在查找视频数据时可以及时快速的找到想要观看的视频数据。

图2示出了根据本发明一个实施例的特定对象检测网络指导训练方法的流程示意图,如图2所示,特定对象检测网络的指导训练步骤包括如下步骤:

步骤s201,将特定对象检测的训练样本数据输入至经训练得到的第一神经网络中,获得第一神经网络的至少一层第一中间层的输出数据。

第一神经网络为预先经过训练已经固化的神经网络。具体地,第一神经网络预先使用了多个特定对象检测的训练样本数据经过训练,第一神经网络已经能够很好的适用于特定对象检测。其中,第一神经网络优选使用深层神经网络,如应用于云端服务器的神经网络,其性能好,计算量大,准确率高,速度会较慢。第一神经网络可以输出多层的第一中间层的输出数据,如第一神经网络包含4层第一中间层,分别为第4层第一中间层、第3层第一中间层、第2层第一中间层和第1层第一中间层,其中,第1层第一中间层为第一神经网络的瓶颈层。

将特定对象检测的训练样本数据输入至第一神经网络中,可以获得第一神经网络的至少一层第一中间层的输出数据。这里,可以仅获取一层第一中间层的输出数据,也可以获取相邻多层的第一中间层的输出数据,或者获取相互间隔的多层的第一中间层的输出数据,具体根据实施的实际情况进行设置,此处不做限定。

步骤s202,将特定对象检测的训练样本数据输入至待训练的第二神经网络中,获得第二神经网络的至少一层第二中间层的输出数据以及最终输出数据。

第二神经网络为特定对象检测网络的指导训练中待训练的神经网络,为浅层神经网络,如应用于移动终端的神经网络,其计算能力有限,性能不佳。第一神经网络的层数多于第二神经网络。如第一神经网络的层数为4层,分别为第4层第一中间层、第3层第一中间层、第2层第一中间层和第1层第一中间层;第二神经网络的层数为2层,分别为第2层第二中间层和第1层第二中间层。

将特定对象检测的训练样本数据输入至第二神经网络中,获得第二神经网络的至少一层第二中间层的输出数据。其中,至少一层第二中间层与至少一层第一中间层具有对应关系。如第一神经网络的第1层第一中间层与第二神经网络的第1层第二中间层对应,第一神经网络的第2层第一中间层与第二神经网络的第2层第二中间层对应。

获得的第二神经网络的第二中间层的输出数据需要与获得的第一神经网络的第一中间层的输出数据相对应,若获得第一神经网络的两层第一中间层的输出数据,也需要获得第二神经网络的两层第二中间层的输出数据。如获得第一神经网络的第1层和第2层第一中间层的输出数据,对应的获得第二神经网络的第1层和第2层第二中间层的输出数据。

优选的,至少一层第一中间层可以包含第一神经网络的瓶颈层,即第一神经网络的第1层第一中间层,至少一层第二中间层包含第二神经网络的瓶颈层,即第二神经网络的第1层第二中间层。瓶颈层即神经网络中隐藏层的最高层,输出的向量维度最少的一层中间层。使用瓶颈层,可以保证后续在进行训练时,使最终输出数据更加准确,得到较好的训练结果。

在将特定对象检测的训练样本数据输入至待训练的第二神经网络中,除获得第二神经网络的至少一层第二中间层的输出数据外,还需要获得第二神经网络的最终输出数据,以便于利用最终输出数据计算损失,对第二神经网络进行训练。

考虑到第二神经网络为浅层神经网络,当特定对象检测的训练样本数据较大时,直接使用特定对象检测的训练样本数据会影响第二神经网络的运算速度。可选地,可以先对特定对象检测的训练样本数据进行下采样处理,如特定对象检测的训练样本数据为图片时,进行下采样处理可以先降低图片分辨率,将处理后的特定对象检测的训练样本数据作为第二神经网络输入的特定对象检测的训练样本数据。这样处理时,第二神经网络使用下采样处理后低分辨率的特定对象检测的训练样本数据进行训练,第一神经网络使用高分辨率的特定对象检测的训练样本数据进行训练,利用两个神经网络的输出数据进行训练时,使得第二神经网络对低分辨率的特定对象检测的训练样本数据也可以获得高分辨率的输出结果。

步骤s203,利用至少一层第二中间层的输出数据与至少一层第一中间层的输出数据之间的损失,以及最终输出数据与预标注的输出数据之间的损失,对第二神经网络进行训练。

根据至少一层第二中间层的输出数据与至少一层第一中间层的输出数据之间的损失,可以更新第二神经网络的权重参数,使第二神经网络至少一层第二中间层的输出数据尽可能的去接近第一神经网络至少一层第一中间层的输出数据。

同时,根据第二神经网络的最终输出数据与预标注的输出数据之间的损失,可以更新第二神经网络的权重参数,使第二神经网络最终输出数据尽可能的去接近预标注的输出数据,保证第二神经网络最终输出数据的准确性。通过以上方式,完成对第二神经网络进行训练。可选地,当第二网络使用下采样处理后的特定对象检测的训练样本数据时,还需要对下采样处理后的特定对象检测的训练样本数据进行预标注,得到下采样处理后特定对象检测的训练样本数据的预标注的输出数据。根据第二神经网络的最终输出数据与下采样处理后的预标注的输出数据之间的损失,可以更新第二神经网络的权重参数,使第二神经网络最终输出数据尽可能的去接近下采样处理后数据的预标注的输出数据,保证第二神经网络最终输出数据的准确性。

根据本发明提供的特定对象检测网络指导训练方法,将特定对象检测的训练样本数据输入至经训练得到的第一神经网络中,获得第一神经网络的至少一层第一中间层的输出数据;将特定对象检测的训练样本数据输入至待训练的第二神经网络中,获得第二神经网络的至少一层第二中间层的输出数据以及最终输出数据,至少一层第二中间层与至少一层第一中间层具有对应关系;利用至少一层第二中间层的输出数据与至少一层第一中间层的输出数据之间的损失,以及最终输出数据与预标注的输出数据之间的损失,对第二神经网络进行训练。通过利用第一神经网络的至少一层第一中间层的输出数据对第二神经网络对应的至少一层第二中间层的输出数据进行训练,可以保持第二神经网络在其计算量不变的情况下,大大提升第二神经网络的性能,有效的缩减训练第二神经网络的训练时间,提高第二网络的训练效率。

图3示出了根据本发明另一个实施例的视频数据中特定对象检测方法的流程图。如图3所示,视频数据中特定对象检测方法具体包括如下步骤:

步骤s301,获取视频数据。

步骤s302,将视频数据输入至第二神经网络中,得到视频数据的检测结果。

以上步骤参照图1实施例中的步骤s101-s102,在此不再赘述。

步骤s303,判断视频数据的检测结果中特定对象出现的时长与视频数据时长的比例是否大于预设时长比例。

视频数据的检测结果除包含特定对象外,还包含了特定对象出现的时长。如通过对各帧图像是否包含特定对象进行检测,可以得到特定对象在视频数据中出现的时长。

对于用户而言,如某明星粉丝,其所希望观看的视频数据中某明星出现的时长越长越好,若一段时长较长的视频数据中某明星仅在视频数据中一闪而过,出现的时长不到1秒,该视频数据对于某明星粉丝而言,可观看性不高。因此,在对视频数据中特定对象检测时,还需要包含特定对象出现的时长。该时长为累计时长,将特定对象每次出现的时长进行累加得到。

判断视频数据的检测结果中特定对象出现的时长与视频数据时长的比例是否大于预设时长比例,若是,执行步骤s305。若否,不做处理。预设时长比例根据实施情况设置,如50%。

步骤s304,判断视频数据的检测结果中特定对象出现的频率是否大于预设频率值。

视频数据的检测结果除包含特定对象外,还包含了特定对象出现的次数。如通过对各帧图像是否包含特定对象进行检测,得到特定对象在视频数据中出现的次数。

对于如安保视频数据,当特定对象的嫌疑人在很长时间的视频数据中仅出现过一次时,通过该视频数据还无法准确的对其活动范围进行限定,视频数据能够提供的证据有限,优选查看的是视频数据中特定对象的嫌疑人出现多次的视频数据。因此,在对视频数据中特定对象检测时,还需要包含特定对象出现的次数。

根据特定对象出现的次数与视频数据的时长,可以计算得到特定对象出现的频率。判断视频数据的检测结果中特定对象出现的频率是否大于预设频率值,若是,执行步骤s305。若否,不做处理。预设频率值根据实施情况设置,如5分钟1次。

进一步,还可以将步骤s303和步骤s304相结合,同时根据视频数据的检测结果中特定对象出现的时长与视频数据时长的比例,以及,特定对象出现的频率进行判断,以便更准确的确定视频数据的标签属性信息。

步骤s305,将特定对象设置为视频数据的标签属性信息。

根据视频数据的检测结果,对应的将特定对象设置为视频数据的标签属性信息,同时,标签属性信息中还包含了特定对象所在的范围、特定对象的属性、特定对象的特定等与特定对象相关的信息。

步骤s306,根据视频数据的检测结果,将特定对象以及场景设置为视频数据的标签属性信息。

视频数据的检测结果中还包含了特定对象的场景信息。场景也可以设置为视频数据的标签属性信息。如特定对象在xx场景的视频数据,其标签属性信息包含特定对象、特定对象所在的范围、特定对象的属性、特定对象的特定等与特定对象相关的信息,还包含具体的场景、场景所在区域等场景相关信息。

以上步骤s303、s304、s306的可以根据实施情况选择其中任一步骤,也可以将以上多个步骤相结合,以便可以更准确的确定视频数据的标签属性信息。

步骤s307,根据视频数据的标签属性信息,对视频数据进行标记。

根据视频数据的标签属性信息,对视频数据进行标识时,可以将视频数据的名字修改为与视频数据的标签属性信息相关的名字,还可以在视频数据的时间轴上添加相应的标记信息。

步骤s308,获取用户终端的观看视频数据的偏好。

步骤s309,根据视频数据的检测结果和用户终端的偏好,向用户终端推送符合用户终端的偏好的视频数据。

根据用户终端的观看视频数据的历史信息,可以得到用户终端在观看视频数据的偏好,如娱乐视频、xx明星视频、车展视频、高科技视频等。根据视频数据的检测结果,将符合用户终端的偏好的视频数据推送给用户终端,方便用户终端直接观看视频数据。

步骤s310,收集视频数据中包含特定对象的帧图像作为特定对象检测的训练样本输入数据,以及,对帧图像进行人工标注,将标注后的图像作为预标注的输出数据。

视频数据中包含特定对象的帧图像和标注后的图像可以作为样本库中用于特定对象检测的训练样本输入数据和输出数据。收集的视频数据中包含特定对象的帧图像和标注后的图像可以对第二神经网络进行优化训练,以使第二神经网络的输出结果更加准确。

根据本发明提供的视频数据中特定对象检测方法,根据视频数据的检测结果,以及检测结果中特定对象出现的时长、特定对象出现的次数,可以更准确确定视频数据的标签属性信息。还可以根据场景信息,丰富标签属性信息,方便用户在查询视频数据时,更好的选择想要观看的视频数据。进一步,在获取到用户终端对视频数据的观看偏好后,主动向用户终端推送符合偏好的视频数据,方便用户终端直接观看。进一步,收集帧图像,对帧图像进行人工标注,将帧图像和标注后的图像放入样本库,可以对第二神经网络进行优化训练,以使第二神经网络的输出结果更加准确。

图4示出了根据本发明一个实施例的视频数据中特定对象装置的功能框图,如图4所示,该装置包括:

获取模块410,适于获取视频数据。

视频数据为待检测其中是否包含特定对象的视频数据,视频数据可以为本地视频数据,也可以是网络视频数据。获取模块410在获取视频数据时,具体的,如可以由用户将待检测的视频数据通过一界面进行上传,获取模块410获取视频数据;或用户提供该视频数据所在的网址,获取模块410获取该网址的视频数据等。

检测模块420,适于将视频数据输入至第二神经网络中,得到视频数据的检测结果。

第二神经网络为浅层神经网络,其层数较少,计算速度快,一般适用于移动设备、小型计算器等设备。第一神经网络的层数多于第二神经网络的层数。第一神经网络的准确率更高,因此,利用预先训练的第一神经网络的至少一层中间层的输出数据对第二神经网络进行指导训练,使得第二神经网络最终的输出数据与第一神经网络的最终输出数据一致,在保留第二神经网络计算速度的前提下,大大提升了第二神经网络的计算性能。第二神经网络通过利用预先训练的第一神经网络的至少一层中间层的输出数据进行指导训练得到,其中,第一神经网络和第二神经网络训练使用的样本均为特定对象检测的训练样本。

检测模块420将视频数据输入至第二神经网络中,得到视频数据的检测结果。其中,检测模块420中第二神经网络对视频数据中的每一帧图像进行检测,得到该视频数据的检测结果。

标签模块430,适于根据视频数据的检测结果,确定视频数据的标签属性信息。

标签模块430根据视频数据的检测结果,如检测结果为视频数据中包含了如aa演员,标签模块430对应的确定视频数据的标签属性信息为娱乐、aa等;或者检测结果为视频数据中包含了某车bb,标签模块430对应的确定视频数据的标签属性信息为汽车、bb等。

标签属性信息根据具体的检测结果来确定。其中,标签属性信息除包含特定对象本身外,还包含了该特定对象所在的范围、该特定对象的属性、该特定对象的特定等与该特定对象相关的信息。

标签模块430进一步适于判断视频数据的检测结果中特定对象出现的时长与视频数据时长的比例是否大于预设时长比例;若是,将特定对象设置为视频数据的标签属性信息。

视频数据的检测结果除包含特定对象外,还包含了特定对象出现的时长。如检测模块420对各帧图像是否包含特定对象进行检测,可以得到特定对象在视频数据中出现的时长。

对于用户而言,如某明星粉丝,其所希望观看的视频数据中某明星出现的时长越长越好,若一段时长较长的视频数据中某明星仅在视频数据中一闪而过,出现的时长不到1秒,该视频数据对于某明星粉丝而言,可观看性不高。因此,检测模块420在对视频数据中特定对象检测时,还需要包含特定对象出现的时长。该时长为累计时长,将特定对象每次出现的时长进行累加得到。

标签模块430判断视频数据的检测结果中特定对象出现的时长与视频数据时长的比例是否大于预设时长比例,若是,根据视频数据的检测结果,对应的将特定对象设置为视频数据的标签属性信息,同时,标签属性信息中还包含了特定对象所在的范围、特定对象的属性、特定对象的特定等与特定对象相关的信息。若否,不做处理。预设时长比例根据实施情况设置,如50%。

标签模块430进一步适于判断视频数据的检测结果中特定对象出现的频率是否大于预设频率值;若是,将特定对象设置为视频数据的标签属性信息。

视频数据的检测结果除包含特定对象外,还包含了特定对象出现的次数。如检测模块420对各帧图像是否包含特定对象进行检测,得到特定对象在视频数据中出现的次数。

对于如安保视频数据,当特定对象的嫌疑人在很长时间的视频数据中仅出现过一次时,通过该视频数据还无法准确的对其活动范围进行限定,视频数据能够提供的证据有限,优选查看的是视频数据中特定对象的嫌疑人出现多次的视频数据。因此,检测模块420在对视频数据中特定对象检测时,还需要包含特定对象出现的次数。

标签模块430根据特定对象出现的次数与视频数据的时长,可以计算得到特定对象出现的频率。标签模块430判断视频数据的检测结果中特定对象出现的频率是否大于预设频率值,若是,根据视频数据的检测结果,对应的将特定对象设置为视频数据的标签属性信息,同时,标签属性信息中还包含了特定对象所在的范围、特定对象的属性、特定对象的特定等与特定对象相关的信息。若否,不做处理。预设频率值根据实施情况设置,如5分钟1次。

标签模块430进一步适于根据视频数据的检测结果,将特定对象以及场景设置为视频数据的标签属性信息。

视频数据的检测结果中还包含了特定对象的场景信息。场景也可以设置为视频数据的标签属性信息。如特定对象在xx场景的视频数据,标签模块430确定其标签属性信息包含特定对象、特定对象所在的范围、特定对象的属性、特定对象的特定等与特定对象相关的信息,还包含具体的场景、场景所在区域等场景相关信息。

标记模块440,适于根据视频数据的标签属性信息,对视频数据进行标记。

根据视频数据的标签属性信息,标记模块440对视频数据进行标识时,可以将视频数据的名字修改为与视频数据的标签属性信息相关的名字,还可以在视频数据的时间轴上添加相应的标记信息。如视频数据的标签属性信息为aa演员,标记模块440将视频数据的名字改为aa演员,在视频数据中aa演员出现的时间点添加aa演员第x次出现的标记信息等。

根据本发明提供的视频数据中特定对象检测装置,获取视频数据;将视频数据输入至第二神经网络中,得到视频数据的检测结果;其中,第二神经网络利用预先训练的第一神经网络的至少一层中间层的输出数据进行指导训练得到,第一神经网络的层数多于第二神经网络的层数;根据视频数据的检测结果,确定视频数据的标签属性信息;根据视频数据的标签属性信息,对视频数据进行标记。本发明利用层数较高的第一神经网络的至少一层中间层的输出数据对层数较少的第二神经网络进行指导训练,使得训练得到的第二神经网络在保持其快速计算的情况下,大大提升了其准确性。利用第二神经网络可以快速准确的对视频数据进行检测,得到检测结果,方便确定视频数据的标签属性信息,从而可以准确的对视频数据进行标记,使用户在查找视频数据时可以及时快速的找到想要观看的视频数据。进一步,根据视频数据的检测结果,以及检测结果中特定对象出现的时长、特定对象出现的次数,可以更准确确定视频数据的标签属性信息。还可以根据场景信息,丰富标签属性信息,方便用户在查询视频数据时,更好的选择想要观看的视频数据。

图5示出了根据本发明另一个实施例的视频数据中特定对象检测装置的功能框图,如图5所示,与图4相比,该装置还包括:

推送模块450,适于获取用户终端的观看视频数据的偏好;根据视频数据的检测结果和用户终端的偏好,向用户终端推送符合用户终端的偏好的视频数据。

推送模块450根据用户终端的观看视频数据的历史信息,可以得到用户终端在观看视频数据的偏好,如娱乐视频、xx明星视频、车展视频、高科技视频等。推送模块450根据视频数据的检测结果,将符合用户终端的偏好的视频数据推送给用户终端,方便用户终端直接观看视频数据。

特定对象检测指导训练模块460,特定对象检测指导训练模块460包括:第一输出单元461、第二输出单元462和指导训练单元463,还可以包括下采样单元464。

第一输出单元461,适于将特定对象检测的训练样本数据输入至经训练得到的第一神经网络中,获得第一神经网络的至少一层第一中间层的输出数据。

第一神经网络为预先经过训练已经固化的神经网络。具体地,第一神经网络预先使用了多个特定对象检测的训练样本数据经过训练,第一神经网络已经能够很好的适用于特定对象检测。其中,第一神经网络优选使用深层神经网络,如应用于云端服务器的神经网络,其性能好,计算量大,准确率高,速度会较慢。第一神经网络可以输出多层的第一中间层的输出数据,如第一神经网络包含4层第一中间层,分别为第4层第一中间层、第3层第一中间层、第2层第一中间层和第1层第一中间层,其中,第1层第一中间层为第一神经网络的瓶颈层。

第一输出单元461将特定对象检测的训练样本数据输入至第一神经网络中,可以获得第一神经网络的至少一层第一中间层的输出数据。这里,第一输出单元461可以仅获取一层第一中间层的输出数据,也可以获取相邻多层的第一中间层的输出数据,或者第一输出单元461获取相互间隔的多层的第一中间层的输出数据,具体根据实施的实际情况进行设置,此处不做限定。

第二输出单元462,适于将特定对象检测的训练样本数据输入至待训练的第二神经网络中,获得第二神经网络的至少一层第二中间层的输出数据以及最终输出数据,至少一层第二中间层与至少一层第一中间层具有对应关系。

第二神经网络为特定对象检测网络的指导训练中待训练的神经网络,为浅层神经网络,如应用于移动终端的神经网络,其计算能力有限,性能不佳。第一神经网络的层数多于第二神经网络。如第一神经网络的层数为4层,分别为第4层第一中间层、第3层第一中间层、第2层第一中间层和第1层第一中间层;第二神经网络的层数为2层,分别为第2层第二中间层和第1层第二中间层。

第二输出单元462将特定对象检测的训练样本数据输入至第二神经网络中,获得第二神经网络的至少一层第二中间层的输出数据。其中,至少一层第二中间层与至少一层第一中间层具有对应关系。如第一神经网络的第1层第一中间层与第二神经网络的第1层第二中间层对应,第一神经网络的第2层第一中间层与第二神经网络的第2层第二中间层对应。

第二输出单元462获得的第二神经网络的第二中间层的输出数据需要与获得的第一神经网络的第一中间层的输出数据相对应,若第一输出单元461获得第一神经网络的两层第一中间层的输出数据,第二输出单元462也需要获得第二神经网络的两层第二中间层的输出数据。如第一输出单元461获得第一神经网络的第1层和第2层第一中间层的输出数据,对应的第二输出单元462获得第二神经网络的第1层和第2层第二中间层的输出数据。

优选的,至少一层第一中间层可以包含第一神经网络的瓶颈层,即第一神经网络的第1层第一中间层,至少一层第二中间层包含第二神经网络的瓶颈层,即第二神经网络的第1层第二中间层。瓶颈层即神经网络中隐藏层的最高层,输出的向量维度最少的一层中间层。使用瓶颈层,可以保证后续指导训练单元463在进行训练时,使最终输出数据更加准确,得到较好的训练结果。

在第二输出单元462将特定对象检测的训练样本数据输入至待训练的第二神经网络中,除获得第二神经网络的至少一层第二中间层的输出数据外,第二输出单元462还需要获得第二神经网络的最终输出数据,以便于利用最终输出数据计算损失,对第二神经网络进行训练。

下采样单元464,适于将特定对象检测的训练样本数据进行下采样处理,将处理后的数据作为第二神经网络的特定对象检测的训练样本数据。

考虑到第二神经网络为浅层神经网络,当特定对象检测的训练样本数据较大时,直接使用特定对象检测的训练样本数据会影响第二神经网络的运算速度。可选地,下采样单元464可以先对特定对象检测的训练样本数据进行下采样处理,如特定对象检测的训练样本数据为图片时,下采样单元464进行下采样处理可以先降低图片分辨率,将处理后的特定对象检测的训练样本数据作为第二神经网络输入的特定对象检测的训练样本数据。这样第二输出单元462使用下采样处理后低分辨率的特定对象检测的训练样本数据进行训练,第一输出单元461使用高分辨率的特定对象检测的训练样本数据进行训练,指导训练单元463利用两个神经网络的输出数据进行训练时,使得第二神经网络对低分辨率的特定对象检测的训练样本数据也可以获得高分辨率的输出结果。指导训练单元463,适于利用至少一层第二中间层的输出数据与至少一层第一中间层的输出数据之间的损失,以及最终输出数据与预标注的输出数据之间的损失,对第二神经网络进行训练。

指导训练单元463根据至少一层第二中间层的输出数据与至少一层第一中间层的输出数据之间的损失,可以更新第二神经网络的权重参数,使第二神经网络至少一层第二中间层的输出数据尽可能的去接近第一神经网络至少一层第一中间层的输出数据。

同时,指导训练单元463根据第二神经网络的最终输出数据与预标注的输出数据之间的损失,可以更新第二神经网络的权重参数,使第二神经网络最终输出数据尽可能的去接近预标注的输出数据,保证第二神经网络最终输出数据的准确性。通过执行以上各单元,完成对第二神经网络进行训练。可选地,当特定对象检测指导训练模块460包括下采样单元464时,下采样单元464还需要对下采样处理后的特定对象检测的训练样本数据进行预标注,得到下采样处理后特定对象检测的训练样本数据的预标注的输出数据。指导训练单元463根据第二神经网络的最终输出数据与下采样处理后的预标注的输出数据之间的损失,可以更新第二神经网络的权重参数,使第二神经网络最终输出数据尽可能的去接近下采样处理后数据的预标注的输出数据,保证第二神经网络最终输出数据的准确性。

收集模块470,适于收集视频数据中包含特定对象的帧图像作为特定对象检测的训练样本输入数据,以及,对帧图像进行人工标注,将标注后的图像作为预标注的输出数据。

视频数据中包含特定对象的帧图像和标注后的图像可以作为样本库中用于特定对象检测的训练样本输入数据和输出数据。利用收集模块470收集的视频数据中包含特定对象的帧图像和标注后的图像可以对第二神经网络进行优化训练,以使第二神经网络的输出结果更加准确。

根据本发明提供的视频数据中特定对象检测方法,利用经过训练的第二神经网络能够快速、准确地对视频数据进行检测,得到检测结果。在有效地提高了检测结果的准确率的同时,还保证了第二神经网络的处理效率。进一步,在获取到用户终端对视频数据的观看偏好后,主动向用户终端推送符合偏好的视频数据,方便用户终端直接观看。进一步,收集帧图像,对帧图像进行人工标注,将帧图像和标注后的图像放入样本库,可以对第二神经网络进行优化训练,以使第二神经网络的输出结果更加准确。

本申请还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的视频数据中特定对象检测方法。

图6示出了根据本发明一个实施例的一种计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。

如图6所示,该计算设备可以包括:处理器(processor)602、通信接口(communicationsinterface)604、存储器(memory)606、以及通信总线608。

其中:

处理器602、通信接口604、以及存储器606通过通信总线608完成相互间的通信。

通信接口604,用于与其它设备比如客户端或其它服务器等的网元通信。

处理器602,用于执行程序610,具体可以执行上述视频数据中特定对象检测方法实施例中的相关步骤。

具体地,程序610可以包括程序代码,该程序代码包括计算机操作指令。

处理器602可能是中央处理器cpu,或者是特定集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。

存储器606,用于存放程序610。存储器606可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

程序610具体可以用于使得处理器602执行上述任意方法实施例中的视频数据中特定对象检测方法。程序610中各步骤的具体实现可以参见上述视频数据中特定对象检测实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的视频数据中特定对象检测的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

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