一种视频播放方法、装置、电子设备及存储介质转让专利

申请号 : CN202011200283.6

文献号 : CN112040325B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 付培罗振波朱翔宇吉翔

申请人 : 成都睿沿科技有限公司

摘要 :

本申请提供一种视频播放方法、装置、电子设备及存储介质,该方法包括:从目标图像库中筛选出目标对象图像,并获取目标对象图像对应的索引信息,目标图像库存储有视频流数据中的视频图像帧截取的目标对象图像与目标对象图像的索引信息之间的映射关系;根据目标对象图像对应的索引信息从视频流数据中筛选出定位图像帧;根据定位图像帧从视频流数据中定位的图像帧进行播放。在上述的实现过程中,通过事先建立的目标图像库来从视频流数据中筛选出定位图像帧,从而避免根据人工拖拽视频播放进度条有操作误差的情况,提高了从视频流数据中定位至目标对象出现的图像帧的精确度。

权利要求 :

1.一种视频播放方法,其特征在于,包括:

从目标图像库中筛选出目标对象图像,并获取所述目标对象图像对应的索引信息,所述目标图像库存储有视频流数据中的视频图像帧截取的目标对象图像与所述目标对象图像的索引信息之间的映射关系;

根据所述目标对象图像对应的索引信息从所述视频流数据中筛选出定位图像帧;

根据所述定位图像帧从所述视频流数据中定位的图像帧进行播放;

其中,所述根据所述目标对象图像对应的索引信息从所述视频流数据中筛选出定位图像帧,包括:根据所述目标对象图像的索引信息从所述视频流数据中筛选出多个候选图像帧;根据所述多个候选图像帧中的每个候选图像帧与所述目标对象图像的相似度,从所述多个候选图像帧中筛选出定位图像帧。

2.根据权利要求1所述的方法,其特征在于,所述索引信息为采集时刻;所述根据所述目标对象图像的索引信息从所述视频流数据中筛选出多个候选图像帧,包括:获取所述目标对象图像对应的图像帧的第一采集时刻;

将采集时刻位于所述第一采集时刻附近预设时间范围内的视频图像帧确定为所述候选图像帧。

3.根据权利要求1所述的方法,其特征在于,所述根据所述多个候选图像帧中的每个候选图像帧与所述目标对象图像的相似度,从所述多个候选图像帧中筛选出定位图像帧,包括:将所述多个候选图像帧中筛选出满足预设条件的候选图像帧确定为所述定位图像帧,所述预设条件包括:所述候选图像帧与所述目标对象图像的相似度是最大的,或者,所述候选图像帧是与所述目标对象图像的相似度大于预设相似阈值且最早出现的。

4.根据权利要求1所述的方法,其特征在于,所述从目标图像库中筛选出目标对象图像,包括:获取待查询图像;

提取所述待查询图像的特征信息,所述特征信息包括:图像特征或者人脸特征;

根据所述待查询图像的特征信息在所述目标图像库中筛选出与所述待查询图像的相似度最大的目标对象图像。

5.根据权利要求1所述的方法,其特征在于,所述从目标图像库中筛选出目标对象图像,包括:响应于针对所述目标图像库中的图像选择操作,获得所述图像选择操作出的目标对象图像。

6.根据权利要求1-5任一所述的方法,其特征在于,在所述从目标图像库中筛选出目标对象图像之前,还包括:获取所述目标对象图像与所述目标对象图像的索引信息之间的映射关系,并对所述映射关系进行修正,获得修正后的映射关系,然后将所述修正后的映射关系存储至所述目标图像库;

或者,

在将所述映射关系存储至所述目标图像库之后,对所述目标图像库中的映射关系进行修正,包括:根据目标对象图像对应的索引信息从所述视频流数据中筛选出修正定位帧,并使用所述修正定位帧与所述修正定位帧的索引信息之间的映射关系替换所述目标图像库中的映射关系;其中,所述根据目标对象图像对应的索引信息从所述视频流数据中筛选出修正定位帧,包括:根据所述目标对象图像的索引信息从所述视频流数据中筛选出多个候选图像帧;根据所述多个候选图像帧中的每个候选图像帧与所述目标对象图像的相似度,从所述多个候选图像帧中筛选出修正定位帧。

7.一种视频播放装置,其特征在于,包括:

索引信息获取模块,用于从目标图像库中筛选出目标对象图像,并获取所述目标对象图像对应的索引信息,所述目标图像库存储有视频流数据中的视频图像帧截取的目标对象图像与所述目标对象图像的索引信息之间的映射关系;

定位图像筛选模块,用于根据所述目标对象图像对应的索引信息从所述视频流数据中筛选出定位图像帧;

视频定位播放模块,用于根据所述定位图像帧从所述视频流数据中定位的图像帧进行播放;

其中,所述根据所述目标对象图像对应的索引信息从所述视频流数据中筛选出定位图像帧,包括:根据所述目标对象图像的索引信息从所述视频流数据中筛选出多个候选图像帧;根据所述多个候选图像帧中的每个候选图像帧与所述目标对象图像的相似度,从所述多个候选图像帧中筛选出定位图像帧。

8.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述机器可读指令被所述处理器执行时执行如权利要求1至6任一所述的方法。

9.一种存储介质,其特征在于,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至6任一所述的方法。

说明书 :

一种视频播放方法、装置、电子设备及存储介质

技术领域

[0001] 本申请涉及视频处理和图像处理的技术领域,具体而言,涉及一种视频播放方法、装置、电子设备及存储介质。

背景技术

[0002] 在使用监控摄像头拍摄获得的视频流数据之后,取证者可以将该视频流数据作为证据使用,取证者在呈现证据的过程中,需要在视频流数据中定位至在某一时间段内的目标对象出现的图像帧,并根据目标对象出现的图像帧播放视频流数据。
[0003] 目前从视频流数据中获取目标对象出现的图像帧并播放视频的方法,大都是通过人工查找的方式获取目标对象出现的图像帧,即基于提供的定位信息来逐步缩小范围并获取目标对象出现的图像帧,具体例如:假设嫌疑人在该监控摄像头获得的视频流数据中出现的时间范围是晚上9点左右,那么可以人工地定位至晚上9点左右开始播放视频画面,并在视频流数据中定位到嫌疑人出现的图像帧。在具体实践过程中发现,由于人工地拖拽视频播放进度条有操作误差和视频图像帧时间不准确等因素,导致很难直接在视频播放进度条上拖拽到嫌疑人出现的位置,即难以精确地从视频流数据中定位至目标对象出现的图像帧。

发明内容

[0004] 本申请实施例的目的在于提供一种视频播放方法、装置、电子设备及存储介质,用于改善难以精确地从视频流数据中定位至目标对象出现的图像帧的问题。
[0005] 本申请实施例提供了一种视频播放方法,包括:从目标图像库中筛选出目标对象图像,并获取目标对象图像对应的索引信息,目标图像库存储有视频流数据中的视频图像帧截取的目标对象图像与目标对象图像的索引信息之间的映射关系;根据目标对象图像对应的索引信息从视频流数据中筛选出定位图像帧;根据定位图像帧从视频流数据中定位的图像帧进行播放。在上述的实现过程中,通过事先建立的目标图像库来从视频流数据中筛选出定位图像帧,从而避免根据人工拖拽视频播放进度条有操作误差的情况,提高了从视频流数据中定位至目标对象出现的图像帧的精确度。
[0006] 可选地,在本申请实施例中,根据目标对象图像对应的索引信息从视频流数据中筛选出定位图像帧,包括:根据目标对象图像的索引信息从视频流数据中筛选出多个候选图像帧;根据多个候选图像帧中的每个候选图像帧与目标对象图像的相似度,从多个候选图像帧中筛选出定位图像帧。在上述的实现过程中,通过根据多个候选图像帧中的每个候选图像帧与目标对象图像的相似度,来从多个候选图像帧中筛选出定位图像帧,有效地提高了从视频流数据中定位至目标对象出现的图像帧的精确度。
[0007] 可选地,在本申请实施例中,索引信息为采集时刻;根据目标对象图像的索引信息从视频流数据中筛选出多个候选图像帧,包括:获取目标对象图像对应的图像帧的第一采集时刻;将采集时刻位于第一采集时刻附近预设时间范围内的视频图像帧确定为候选图像帧。
[0008] 可选地,在本申请实施例中,根据多个候选图像帧中的每个候选图像帧与目标对象图像的相似度,从多个候选图像帧中筛选出定位图像帧,包括:将多个候选图像帧中筛选出满足预设条件的候选图像帧确定为定位图像帧,预设条件包括:候选图像帧与目标对象图像的相似度是最大的,或者,候选图像帧是与目标对象图像的相似度大于预设相似阈值且最早出现的。在上述的实现过程中,通过将多个候选图像帧中筛选出满足预设条件的候选图像帧确定为定位图像帧,预设条件包括:候选图像帧与目标对象图像的相似度是最大的,或者,候选图像帧是与目标对象图像的相似度大于预设相似阈值且最早出现的;提高了从多个候选图像帧中筛选出定位图像帧的精确度。
[0009] 可选地,在本申请实施例中,根据多个候选图像帧中的每个候选图像帧与目标对象图像的相似度,从多个候选图像帧中筛选出定位图像帧,包括:先从多个候选图像帧中筛选出与目标对象图像的目标对象类型相同的多个同类图像帧,再从多个同类图像帧中筛选出与目标对象图像的相似度最大的同类图像帧,并根据相似度最大的同类图像帧确定为定位图像帧。在上述的实现过程中,通过先从多个候选图像帧中筛选出与目标对象图像的目标对象类型相同的多个同类图像帧,再从多个同类图像帧中筛选出与目标对象图像的相似度最大的同类图像帧,并根据相似度最大的同类图像帧确定为定位图像帧;提高了从多个候选图像帧中筛选出定位图像帧的精确度。
[0010] 可选地,在本申请实施例中,从目标图像库中筛选出目标对象图像,包括:获取待查询图像;提取待查询图像的特征信息,特征信息包括:图像特征或者人脸特征;根据待查询图像的特征信息在目标图像库中筛选出与待查询图像的相似度最大的目标对象图像。在上述的实现过程中,通过提取待查询图像的人脸特征,并根据待查询图像的人脸特征在目标图像库中筛选出与待查询图像的相似度最大的目标对象图像;从而有效地提高了从目标图像库中筛选出与待查询图像的相似度最大的目标对象图像的精确度。
[0011] 可选地,在本申请实施例中,从目标图像库中筛选出目标对象图像,包括:响应于针对目标图像库中的图像选择操作,获得图像选择操作出的目标对象图像。
[0012] 可选地,在本申请实施例中,在从目标图像库中筛选出目标对象图像之前,还包括:获取目标对象图像与目标对象图像的索引信息之间的映射关系,并对映射关系进行修正,获得修正后的映射关系,然后将修正后的映射关系存储至目标图像库;或者,获取目标对象图像与目标对象图像的索引信息之间的映射关系,并将映射关系存储至目标图像库,然后对映射关系进行修正。在上述的实现过程中,通过获取目标对象图像与目标对象图像的索引信息之间的映射关系,并对映射关系进行修正,获得修正后的映射关系,然后将修正后的映射关系存储至目标图像库;或者,获取目标对象图像与目标对象图像的索引信息之间的映射关系,并将映射关系存储至目标图像库,然后对映射关系进行修正;从而有效地提高了从视频流数据中定位至目标对象出现的图像帧的精确度。
[0013] 可选地,在本申请实施例中,将映射关系存储至目标图像库,包括:使用目标检测模型预测出视频流数据中的视频图像帧中目标对象所在的候选区域和候选区域中存在目标对象的预测概率;若预测概率大于预设概率阈值,则根据候选区域从视频图像帧中截取出目标对象图像,并将目标对象图像与目标对象图像的索引信息之间的映射关系存储至目标图像库中。在上述的实现过程中,通过使用目标检测模型预测出视频流数据中的视频图像帧中目标对象所在的候选区域和候选区域中存在目标对象的预测概率;若预测概率大于预设概率阈值,则根据候选区域从视频图像帧中截取出目标对象图像,并将目标对象图像与目标对象图像的索引信息之间的映射关系存储至目标图像库中;提高了从视频流数据中定位至目标对象出现的图像帧的精确度。
[0014] 可选地,在本申请实施例中,对映射关系进行修正,包括:根据目标对象图像对应的索引信息从视频流数据中筛选出修正定位帧;使用修正定位帧与修正定位帧的索引信息之间的映射关系替换目标图像库中的映射关系。在上述的实现过程中,通过根据目标对象图像对应的索引信息从视频流数据中筛选出修正定位帧;使用修正定位帧与修正定位帧的索引信息之间的映射关系替换目标图像库中的映射关系;从而有效地提高了从视频流数据中定位至目标对象出现的图像帧的精确度。
[0015] 本申请实施例还提供了一种视频播放装置,包括:索引信息获取模块,用于从目标图像库中筛选出目标对象图像,并获取目标对象图像对应的索引信息,目标图像库存储有视频流数据中的视频图像帧截取的目标对象图像与目标对象图像的索引信息之间的映射关系;定位图像筛选模块,用于根据目标对象图像对应的索引信息从视频流数据中筛选出定位图像帧;视频定位播放模块,用于根据定位图像帧从视频流数据中定位的图像帧进行播放。
[0016] 可选地,在本申请实施例中,定位图像筛选模块,包括:候选图像筛选模块,用于根据目标对象图像的索引信息从视频流数据中筛选出多个候选图像帧;定位帧筛选子模块,用于根据多个候选图像帧中的每个候选图像帧与目标对象图像的相似度,从多个候选图像帧中筛选出定位图像帧。
[0017] 可选地,在本申请实施例中,索引信息为采集时刻;候选图像筛选模块,包括:采集时刻获取模块,用于获取目标对象图像对应的图像帧的第一采集时刻;第一候选确定模块,用于将采集时刻位于第一采集时刻附近预设时间范围内的视频图像帧确定为候选图像帧。
[0018] 可选地,在本申请实施例中,索引信息获取模块,包括:查询图像获取模块,用于获取待查询图像;特征信息提取模块,用于提取待查询图像的特征信息,特征信息包括:图像特征或者人脸特征;目标图像筛选模块,用于根据待查询图像的特征信息在目标图像库中筛选出与待查询图像的相似度最大的目标对象图像。
[0019] 可选地,在本申请实施例中,索引信息获取模块,包括:目标图像获得模块,用于响应于针对目标图像库中的图像选择操作,获得图像选择操作出的目标对象图像。
[0020] 可选地,在本申请实施例中,视频播放装置,还包括:映射关系修正模块,用于获取目标对象图像与目标对象图像的索引信息之间的映射关系,并对映射关系进行修正,获得修正后的映射关系,然后将修正后的映射关系存储至目标图像库;或者,获取目标对象图像与目标对象图像的索引信息之间的映射关系,并将映射关系存储至目标图像库,然后对映射关系进行修正。
[0021] 可选地,在本申请实施例中,映射关系修正模块,具体用于:使用目标检测模型预测出视频流数据中的视频图像帧中目标对象所在的候选区域和候选区域中存在目标对象的预测概率;若预测概率大于预设概率阈值,则根据候选区域从视频图像帧中截取出目标对象图像,并将目标对象图像与目标对象图像的索引信息之间的映射关系存储至目标图像库中。
[0022] 可选地,在本申请实施例中,映射关系修正模块,具体用于:根据目标对象图像对应的索引信息从视频流数据中筛选出修正定位帧;使用修正定位帧与修正定位帧的索引信息之间的映射关系替换目标图像库中的映射关系。
[0023] 本申请实施例还提供了一种电子设备,包括:处理器和存储器,存储器存储有处理器可执行的机器可读指令,机器可读指令被处理器执行时执行如上面描述的方法。
[0024] 本申请实施例还提供了一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上面描述的方法。

附图说明

[0025] 为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0026] 图1示出的本申请实施例提供的视频播放方法的流程示意图;
[0027] 图2示出的本申请实施例提供的相似度与帧标识的关系示意图;
[0028] 图3示出的本申请实施例提供的修正映射关系的流程示意图;
[0029] 图4示出的本申请实施例提供的视频播放装置的结构示意图;
[0030] 图5示出的本申请实施例提供的电子设备的结构示意图。

具体实施方式

[0031] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述。
[0032] 在介绍本申请实施例提供的视频播放方法之前,先介绍本申请实施例中所涉及的一些概念:
[0033] 目标检测网络模型,又被简称为目标检测模型,是指使用训练数据对目标检测网络进行训练后获得的神经网络模型,目标检测网络按照阶段来分,大致可以分为:单阶段检测模型和两阶段检测模型;单阶段检测模型是指不需要单独寻找候选区域,直接输出目标的区域和类别信息的网络模型;两阶段检测模型是指检测算法需要进行获取候选区域和对候选区域进行分类,需要这两步才能完成的网络模型。
[0034] 服务器是指通过网络提供计算服务的设备,服务器例如:x86服务器以及非x86服务器,非x86服务器包括:大型机、小型机和UNIX服务器。
[0035] 需要说明的是,本申请实施例提供的视频播放方法可以被电子设备执行,这里的电子设备是指具有执行计算机程序功能的设备终端或者上述的服务器,设备终端例如:智能手机、个人电脑(personal computer,PC)、平板电脑、个人数字助理(personal digital assistant,PDA)、移动上网设备(mobile Internet device,MID)、网络交换机或网络路由器等。
[0036] 在介绍本申请实施例提供的视频播放方法之前,先介绍该视频播放方法适用的应用场景,这里的应用场景包括但不限于:公共安防和平安城市等领域;具体例如:在使用数字视频录像机(Digital Video Recorder,DVR)或网络视频录像机(Network Video Recorder,NVR)等录像机拍摄获得的视频流数据之后,取证者将某嫌疑人在该视频流数据出现的图像帧作为证据使用,需要找到该嫌疑人出现的图像帧在该视频流数据的位置。
[0037] 由于处理视频的电子设备(例如是本地服务器)使用的是本地时间,然而从其它设备接收的实时流协议(Real Time Streaming Protocol,RTSP)等视频流数据使用的视频流的时间。因为,本地服务器的时间与视频流的时间存在差异,以及视频流传输过程中可能存在的解码差异和丢帧现象,导致目标图像库中的目标对象图像与其索引信息(例如是采集时刻)并不准确。因此,可以使用该视频播放方法针对视频流数据进行查询回放,即检索过去某一时间段某嫌疑人出现的图像帧,并提高定位至目标嫌疑人出现图像帧的精准度,根据定位的图像帧进行播放。也就是说,使用该视频播放方法可以根据一张目标对象(行人或者车辆等目标)的图像,可以快速精确的定位到该目标对象在源视频流数据里出现的位置,并从该目标对象在源视频流数据里出现的位置开始回放视频流,极大地方便了事后分析。
[0038] 请参见图1示出的本申请实施例提供的视频播放方法的流程示意图;该视频播放方法的主要思路是,通过事先建立的目标图像库来从视频流数据中筛选出定位图像帧,从而避免根据人工拖拽视频播放进度条有操作误差的情况,提高了从视频流数据中定位至目标对象出现的图像帧的精确度;上述的视频播放方法可以包括:
[0039] 步骤S110:从目标图像库中筛选出目标对象图像,并获取目标对象图像对应的索引信息。
[0040] 目标对象图像,是指根据目标图像在视频流数据中的视频图像帧所占的区域截取的区域图像,其中,目标对象可以是行人(例如嫌疑人)、车辆和动物等,目标对象图像的具体获得方式例如:使用目标检测模型预测出视频流数据中的视频图像帧中目标对象所在的候选区域,根据候选区域从视频图像帧中截取出目标对象图像;其中,可以使用的目标检测模型包括但不限于:区域卷积神经网络(Region Convolutional Neural Network,RCNN)。
[0041] 目标图像库,是指存储有视频流数据中的视频图像帧截取的目标对象图像与目标对象图像的索引信息之间的映射关系集合库,目标图像库可以是关系型数据库或者非关系型数据库。目标图像库的获得方式具体例如:将获取的目标对象图像与目标对象图像的索引信息之间的映射关系,并将目标对象图像与目标对象图像的索引信息之间的映射关系存储至目标图像库中。
[0042] 索引信息,是指目标图像库中目标对象图像在视频流数据的位置信息,具体地,具体可以选择目标对象图像的采集时刻或者帧标识等等信息作为索引信息,即可以选择能够唯一标识图像且能够被排序的信息均可以作为此次的索引信息。
[0043] 上述步骤S110的实施方式可以包括两种情况:
[0044] 第一种情况,用户(例如是从视频中取证者)可以提供包括目标对象的待查询图像,则使用待查询图像与目标图像库中的图像进行对比,来确定目标对象图像,这种情况可以包括:
[0045] 步骤S111:获取待查询图像。
[0046] 上述步骤S111的实施方式包括:第一种获得方式,取证者提供的待查询图像,取证者可以是使用摄像机照相机等对目标对象进行拍摄获得的;取证者也可以是从文件系统中获取待查询图像,或者从数据库中获得的;第二种获得方式,使用浏览器等软件获取互联网上的待查询图像,或者使用其它应用程序访问互联网获得待查询图像。此处的待查询图像可以是嫌疑人过去拍摄的图像,也可以是画师根据证人描述画出的图像。
[0047] 步骤S112:提取待查询图像的特征信息。
[0048] 上述步骤S112的实施方式例如:使用卷积神经网络模型提取待查询图像的图像特征或者人脸特征,此处可以使用的卷积神经网络模型包括但不限于:LeNet、AlexNet、VGG、GoogLeNet和ResNet等等模型;其中,特征信息包括:图像特征或者目标对象的特征,若目标对象是人,那么特征信息包括:外貌特征或者人脸特征等。
[0049] 步骤S113:根据待查询图像的特征信息在目标图像库中筛选出与待查询图像的相似度最大的目标对象图像。
[0050] 上述步骤S113的实施方式包括:在目标图像库中筛选出特征信息与待查询图像的相似度最大的目标对象图像,假设查找的是目标嫌疑人,那么可以根据目标对象的外貌特征或者人脸特征等,在目标图像库中筛选出与待查询图像的相似度最大的目标对象图像;相似度的计算方式具体例如:分别提取待查询图像中的目标对象的第一特征信息,以及目标对象图像中的目标对象的第二特征信息,计算第一特征信息与第二特征信息的相似度,相似度可以采用余弦距离、欧氏距离(Euclidean Distance)、汉明距离(Hamming Distance)或信息熵(Information Entropy)等等来量化。
[0051] 第二种情况,若用户无法提供待查询图像,则用户可以通过直接使用目标图像库中的图像作为目标对象图像,这种情况可以包括:
[0052] 步骤S114:响应于针对目标图像库中的图像选择操作,获得图像选择操作出的目标对象图像。
[0053] 上述步骤S114的实施方式例如:取证者在电子设备上浏览目标图像库中的目标对象图像,若该目标对象图像中有嫌疑人,那么在电子设备上执行真的该目标对象图像的选择操作,获得图像选择操作出的目标对象图像。
[0054] 在步骤S110之后,执行步骤S120:根据目标对象图像对应的索引信息从视频流数据中筛选出定位图像帧。
[0055] 上述步骤S120的实施方式可以包括:
[0056] 步骤S121:根据目标对象图像的索引信息从视频流数据中筛选出多个候选图像帧。
[0057] 上述步骤S121的实施方式有很多种,包括但不限于:
[0058] 第一种实施方式,使用目标对象图像的采集时刻作为索引信息,并根据采集时刻从视频流数据中筛选出定位图像帧,具体例如:获取目标对象图像对应的图像帧的第一采集时刻,此处的第一采集时刻也可以理解为视频流时间轴上的时间记作T,并将采集时刻位于第一采集时刻附近预设时间范围内的视频图像帧确定为候选图像帧,即以T为中心,前后截取[T-N,T+N]时间范围的视频流,此处的[T-N,T+N]就是预设时间范围,N是预先设置的偏差时长,例如可以将偏差时长N设置为10分钟;其中,预设时间范围可以根据具体情况进行设置,具体例如:假设目标对象图像对应的图像帧的第一采集时刻是晚上9点,且预设时间范围是前后十分钟,那么可以将晚上8点50分至9点10分的视频图像帧均作为候选图像帧。
[0059] 第二种实施方式,使用目标对象图像的帧标识作为索引信息,并根据帧标识从视频流数据中筛选出定位图像帧;第二种实施方式的实施原理与第一种实施方式的实施原理是类似的,区别仅在于,将帧标识作为索引信息来筛选出定位图像帧,因此,此处不再对该实施方式进行详细地介绍。
[0060] 步骤S122:根据多个候选图像帧中的每个候选图像帧与目标对象图像的相似度,从多个候选图像帧中筛选出定位图像帧。
[0061] 上述步骤S122的实施方式有很多种,包括但不限于:
[0062] 第一种实施方式,只根据相似度从多个候选图像帧中筛选出定位图像帧,具体例如:将多个候选图像帧中筛选出满足预设条件的候选图像帧确定为定位图像帧,预设条件包括:候选图像帧与目标对象图像的相似度是最大的,或者,候选图像帧是与目标对象图像的相似度大于预设相似阈值且最早出现的;其中,预设相似阈值可以根据具体情况进行设置,预设相似阈值可以设置为70%、80%或者90%等。假设预设条件为候选图像帧是与目标对象图像的相似度大于预设相似阈值且最早出现的,那么候选图像帧是与目标对象图像的相似度大于预设相似阈值假设是晚上8点50分至9点10分的视频图像帧,可以将最早出现的晚上8点50分的候选图像帧确定为定位图像帧。
[0063] 第二种实施方式,根据相似度和目标对象类型从多个候选图像帧中筛选出定位图像帧,具体例如:先从多个候选图像帧中筛选出与目标对象图像的目标对象类型(例如行人、车辆、人脸和机动车等)相同的多个同类图像帧,再从多个同类图像帧中筛选出与目标对象图像的相似度最大的同类图像帧,并根据相似度最大的同类图像帧确定为定位图像帧,具体例如:共有三个候选图像帧,且该三个候选图像帧的目标对象类型与目标对象图像的目标对象类型均是行人,这三个候选图像帧包括:第一候选图像帧、第二候选图像帧和第三候选图像帧,这三个候选图像帧分别与目标对象图像的相似度分别为70%、80%和90%,那么应当将第三候选图像帧确定为定位图像帧。
[0064] 请参见图2示出的本申请实施例提供的相似度与帧标识的关系示意图;其中,图中的纵坐标代表相似度,相似度的范围是0%至100%,0%至100%表示从完全不相似到完全相似,图中的横坐标代表视频流时间轴(也可以代表按照时间方向视频帧),横坐标上的数字代表视频图像帧标识或者帧序号。可以理解的是,理论上讲,如果是真正的目标,那么相似度应该非常接近1,具体例如:假设目标对象图像对应的图像帧的采集时刻在视频流时间轴上的时间记作T,以T为中心,前后截取[T-N,T+N]时间范围的视频流,此处的[T-N,T+N]就是预设时间范围,N是预先设置的偏差时长;其中,此处N的取值可以根据具体情况进行设置,如果N设置得越大,图像搜索所用的时间也会越多,因此,这个N的具体值需要根据实际网络和硬件等性能来调整。如果将[T-N,T+N]时间内的每一帧里的相似度按照时间线(帧标识或者帧序号)排列,则相似度应该是一个先递增后递减的序列,相似度最大的图像帧所在的位置就是极大值的位置,即相似度最大的图像帧的帧标识就是极大值所在位置(虚线圆圈中的点)的帧标识。
[0065] 在上述从多个图像帧中筛选出与目标对象图像的相似度最大的图像帧的过程中,可以采用分块排序的思路,每次取批次(batch)为预设数量的图像帧进行解析,如果需要找到这个批次里与查询图相似度最大的目标图像帧,以及该目标图像帧对应的帧标识,那么需要将该相似度设为其所属批次的相似度,并按时间线排列。当出现批次的相似度开始由递增变为递减,则可直接判断该批次对应的帧标识即为最终的目标帧标识;此时可以提前结束查找,不必解析后面的帧序列了,可以大大加快定位目标图像帧的速度。
[0066] 在步骤S120之后,执行步骤S130:根据定位图像帧从视频流数据中定位的图像帧进行播放。
[0067] 上述步骤S130的实施方式例如:根据获得的一个定位图像帧从视频流数据中定位的图像帧进行播放,具体例如:假设定位图像帧是晚上8点50分10秒200毫秒的图像帧,那么可以从晚上8点50分10秒200毫秒开始播放视频流数据。当然,用户也可以根据具体情况进行设置从视频流数据中的哪一帧开始播放,具体例如:假设定位图像帧是晚上8点50分10秒200毫秒的图像帧,可以提前100毫秒或者1秒开始播放视频流数据;若用户设置为提前100毫秒开始播放视频流数据,那么可以从晚上8点50分10秒100毫秒开始播放视频流数据;若用户设置为提前1秒开始播放视频流数据,那么可以从晚上8点50分9秒200毫秒开始播放视频流数据。
[0068] 在上述的实现过程中,从目标图像库中筛选出目标对象图像,并根据目标对象图像对应的索引信息从视频流数据中筛选出定位图像帧,从视频流数据中的定位图像帧开始播放,根据定位图像帧从视频流数据中定位的图像帧播放视频流数据;也就是说,通过事先建立的目标图像库来从视频流数据中筛选出定位图像帧,从而避免根据人工拖拽视频播放进度条有操作误差的情况,提高了从视频流数据中定位至目标对象出现的图像帧的精确度。
[0069] 可选地,为了提高定位图像帧的精确度,可以在每次使用目标图像库时修正图像与图像的索引信息之间的映射关系,当然也可以在没有使用时修正映射关系,在没有使用时修正映射关系可以包括如下两种情况:
[0070] 第一种情况,请参见图3示出的本申请实施例提供的修正映射关系的流程示意图;先修正映射关系,再存储映射关系,这种情况可以包括:
[0071] 步骤S210:获取目标对象图像与目标对象图像的索引信息之间的映射关系。
[0072] 上述步骤S210的实施方式例如:使用目标检测模型预测出视频流数据中的视频图像帧中目标对象所在的候选区域和候选区域中存在目标对象的预测概率。若预测概率大于预设概率阈值,则根据候选区域从视频图像帧中截取出目标对象图像,并将目标对象图像与目标对象图像的索引信息进行关联,即可获得目标对象图像与目标对象图像的索引信息之间的映射关系;其中,可以使用的目标检测模型包括但不限于:RCNN、fast RCNN、faster RCNN、特征融合单点多盒检测器(Feature Fusion Single Shot Multibox Detector,FSSD)和YOLO等网络模型。
[0073] 步骤S220:对映射关系进行修正,获得修正后的映射关系。
[0074] 上述步骤S220的实施方式例如:根据目标对象图像对应的索引信息从视频流数据中筛选出修正定位帧,此处的修正定位帧是指用于修正映射关系的定位图像帧,该修正定位帧的具体获得方式与上述步骤S120是类似的,只是作用有所不同,因此,此处不再介绍该修正定位帧的具体获得方式;使用修正定位帧与修正定位帧的索引信息之间的映射关系替换目标图像库中的映射关系。
[0075] 步骤S230:将修正后的映射关系存储至目标图像库。
[0076] 上述步骤S230的实施方式例如:将目标对象图像与目标对象图像的索引信息之间的修正后的映射关系存储至目标图像库中;其中,目标图像库可以是关系型数据库或者非关系型数据库;可以使用的关系型数据库例如:Mysql、PostgreSQL、Oracle和SQLSever等;可以使用的非关系型数据库包括:grakn数据库、Neo4j图数据库、Hadoop子系统HBase 、MongoDB和CouchDB等。
[0077] 第二种情况,先存储映射关系,再修正映射关系,其中,触发修正映射关系条件可以是在存储映射关系之后立即触发,也可以是在存储映射关系之后定时不重复触发,也可以是在存储映射关系之后周期性重复触发;这种情况可以包括:
[0078] 步骤S240:获取目标对象图像与目标对象图像的索引信息之间的映射关系。
[0079] 其中,该步骤S240的实施原理和实施方式与步骤S210的实施原理和实施方式是类似的,因此,这里不再对该步骤的实施方式和实施原理进行说明,如有不清楚的地方,可以参考对步骤S210的描述。
[0080] 步骤S250:将该映射关系存储至目标图像库。
[0081] 其中,该步骤S250的实施原理和实施方式与步骤S230的实施原理和实施方式是类似的,因此,这里不再对该步骤的实施方式和实施原理进行说明,如有不清楚的地方,可以参考对步骤S230的描述。
[0082] 步骤S260:对目标图像库中存储的映射关系进行修正。
[0083] 其中,该步骤S260的实施原理和实施方式与步骤S220的实施原理和实施方式是类似的,因此,这里不再对该步骤的实施方式和实施原理进行说明,如有不清楚的地方,可以参考对步骤S220的描述。
[0084] 请参见图4示出的本申请实施例提供的视频播放装置的结构示意图;本申请实施例提供了一种视频播放装置300,包括:
[0085] 索引信息获取模块310,用于从目标图像库中筛选出目标对象图像,并获取目标对象图像对应的索引信息,目标图像库存储有视频流数据中的视频图像帧截取的目标对象图像与目标对象图像的索引信息之间的映射关系。
[0086] 定位图像筛选模块320,用于根据目标对象图像对应的索引信息从视频流数据中筛选出定位图像帧。
[0087] 视频定位播放模块330,用于根据定位图像帧从视频流数据中定位的图像帧进行播放。
[0088] 可选地,在本申请实施例中,定位图像筛选模块,包括:
[0089] 候选图像筛选模块,用于根据目标对象图像的索引信息从视频流数据中筛选出多个候选图像帧。
[0090] 定位帧筛选子模块,用于根据多个候选图像帧中的每个候选图像帧与目标对象图像的相似度,从多个候选图像帧中筛选出定位图像帧。
[0091] 可选地,在本申请实施例中,索引信息为采集时刻;候选图像筛选模块,包括:
[0092] 采集时刻获取模块,用于获取目标对象图像对应的图像帧的第一采集时刻。
[0093] 第一候选确定模块,用于将采集时刻位于第一采集时刻附近预设时间范围内的视频图像帧确定为候选图像帧。
[0094] 可选地,在本申请实施例中,定位帧筛选子模块,具体用于:将多个候选图像帧中筛选出满足预设条件的候选图像帧确定为定位图像帧,预设条件包括:候选图像帧与目标对象图像的相似度是最大的,或者,候选图像帧是与目标对象图像的相似度大于预设相似阈值且最早出现的。
[0095] 可选地,在本申请实施例中,定位帧筛选子模块,具体用于:先从多个候选图像帧中筛选出与目标对象图像的目标对象类型相同的多个同类图像帧,再从多个同类图像帧中筛选出与目标对象图像的相似度最大的同类图像帧,并根据相似度最大的同类图像帧确定为定位图像帧。
[0096] 可选地,在本申请实施例中,索引信息获取模块,包括:
[0097] 查询图像获取模块,用于获取待查询图像。
[0098] 特征信息提取模块,用于提取待查询图像的特征信息,特征信息包括:图像特征或者人脸特征。
[0099] 目标图像筛选模块,用于根据待查询图像的特征信息在目标图像库中筛选出与待查询图像的相似度最大的目标对象图像。
[0100] 可选地,在本申请实施例中,索引信息获取模块,可以包括:
[0101] 目标图像获得模块,用于响应于针对目标图像库中的图像选择操作,获得图像选择操作出的目标对象图像。
[0102] 可选地,在本申请实施例中,视频播放装置,还包括:
[0103] 映射关系修正模块,用于获取目标对象图像与目标对象图像的索引信息之间的映射关系,并对映射关系进行修正,获得修正后的映射关系,然后将修正后的映射关系存储至目标图像库;或者,获取目标对象图像与目标对象图像的索引信息之间的映射关系,并将映射关系存储至目标图像库,然后对映射关系进行修正。
[0104] 可选地,在本申请实施例中,映射关系修正模块,具体用于:
[0105] 使用目标检测模型预测出视频流数据中的视频图像帧中目标对象所在的候选区域和候选区域中存在目标对象的预测概率。
[0106] 若预测概率大于预设概率阈值,则根据候选区域从视频图像帧中截取出目标对象图像,并将目标对象图像与目标对象图像的索引信息之间的映射关系存储至目标图像库中。
[0107] 可选地,在本申请实施例中,映射关系修正模块,可以具体用于:
[0108] 根据目标对象图像对应的索引信息从视频流数据中筛选出修正定位帧。
[0109] 使用修正定位帧与修正定位帧的索引信息之间的映射关系替换目标图像库中的映射关系。
[0110] 应理解的是,该装置与上述的视频播放方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置的操作系统(operating system,OS)中的软件功能模块。
[0111] 请参见图5示出的本申请实施例提供的电子设备的结构示意图。本申请实施例提供的一种电子设备400,包括:处理器410和存储器420,存储器420存储有处理器410可执行的机器可读指令,机器可读指令被处理器410执行时执行如上的方法。
[0112] 本申请实施例还提供了一种存储介质430,该存储介质430上存储有计算机程序,该计算机程序被处理器410运行时执行如上的方法。
[0113] 其中,存储介质430可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory, 简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory, 简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory, 简称EPROM),可编程只读存储器(Programmable Red-Only Memory, 简称PROM),只读存储器(Read-Only Memory, 简称ROM),磁存储器,快闪存储器,磁盘或光盘。
[0114] 本申请实施例提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其他的方式实现。以上所描述的装置实施例仅是示意性的,例如,附图中的流程图和框图显示了根据本申请实施例的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以和附图中所标注的发生顺序不同。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这主要根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以使用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0115] 另外,在本申请实施例中的各个实施例的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0116] 在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
[0117] 以上的描述,仅为本申请实施例的可选实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。