具体实施方式
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本说明书实施例的技术方案做详细的说明,应当理解本说明书实施例以及实施例中的具体特征是对本说明书实施例技术方案的详细的说明,而不是对本说明书技术方案的限定,在不冲突的情况下,本说明书实施例以及实施例中的技术特征可以相互组合。
本说明书实施例提供的视频标注方法可以但不仅限应用于图1所示的系统。在图1所示的系统中,可以采用本说明书实施例提供的方法实现在线视频标注,相应的,若基于B/S(浏览器/服务器)架构,服务器101向至少一个客户端设备102发送显示指令以及显示内容(待标注视频帧和该待标注视频帧所属待标注视频的帧间关联关系),客户端设备102根据显示指令在显示屏上进行相应显示,标注者通过客户端102的人机交互设备进行输入操作以对待标注视频帧进行标注,并选择使用该标注结果的视频帧范围,客户端设备102将相应的输入信息上报给服务器101,服务器101根据输入信息完成相应的视频标注;若基于C/S(客户端/服务器)架构,服务器101向至少一个客户端设备102发送标注任务(该标注任务中至少包括待标注视频),客户端设备102在显示屏上显示待标注视频帧和该待标注视频帧所属待标注视频的帧间关联关系,标注者通过客户端102的人机交互设备进行输入操作以对待标注视频帧进行标注,并选择使用该标注结果的视频帧范围,客户端设备102根据输入信息完成相应的视频标注,并将标注结果上报给服务器101。应当指出的是,若基于C/S架构,还可以实现离线标注。
其中,服务器101可以包括独立服务器,也可以包括多个服务器组成的服务器组。若包括多个服务器,其拓扑既可以包括集中式服务器组,也可以包括分布式服务器组(例如服务器集群、云服务器等)。
其中,客户端设备102可以但不仅限于包括移动终端、掌上电脑、PC机。
第一方面,本说明书实施例提供一种视频标注方法,请参考图2,包括:
步骤202、显示待标注视频帧和待标注视频帧所属待标注视频的帧间关联关系。
其中,待标注视频的帧间关联关系用于表示视频帧之间的关联程度。其中,若物体图像在两个视频帧之间的帧间偏移越小,则这两个视频帧之间的关联程度越高。帧间关联关系是利用视频跟踪算法确定的。
本说明书实施例中,可以同时显示待标注视频帧和帧间关联关系,也可以分别显示。
本说明书实施例中,可以显示视频帧的全部帧间关联关系,也可以显示与待标注视频帧相关的部分帧间关联关系。
步骤204、接收用于指示上述待标注视频帧的标注结果的第一输入信息,和用于指示使用上述标注结果的视频帧范围的第二输入信息。
其中,上述视频帧范围是根据待标注视频的帧间关联关系确定的。
上述视频帧范围为待标注视频帧的前N帧和/或待标注视频帧的后M帧,N和M为不小于零的整数。
本说明书实施例中,若通过通信消息传输输入信息,第一输入信息和第二输入信息可以承载于同一个消息,也可以承载于不同的消息。
步骤206、根据第一输入信息获取待标注视频帧的标注结果,根据待标注视频帧的标注结果及第二输入信息获取上述视频帧范围内的视频帧的标注结果。
本说明书实施例提供的视频标注方法,显示待标注视频帧,以便标注者进行标注,显示待标注视频的帧间关联关系,以便标注者选择使用待标注视频帧的标注结果的视频帧范围;接收到指示待标注视频帧的标注结果的第一输入信息后,可根据指示获得待标注视频帧的标注结果,实现对待标注视频帧的标注;接收到指示视频帧范围的第二输入信息后,可根据指示获得视频帧范围内的视频帧的标注结果,而不必须逐一对这些视频帧进行标注。人工标注的精度往往高于自动标注,而通过向标注者显示帧间关联关系,使得标注者可以选择使用该标注结果的视频帧范围,无需每帧都进行完整标注,从而提高了标注效率。
在进行视频标注之前,可以对待标注视频进行预处理。例如,计算待标注视频的帧间关联关系,对待标注视频进行初始化标注等等。预处理可以在线进行,也可以离线进行,预处理可以在图1所示的服务器101上实现,也可以在图1所示的客户端设备102上实现。
下面分别对这两种预处理方式进行详细说明。
目前常见的视频跟踪算法为光流算法,但光流算法适用场景有限。对于动态背景的场景,整体画面都在移动,使用光流类算法会存在很大噪声,无法精准计算帧之间的位移。为提高帧间关联关系的计算精度,从而保证后续视频标注的精度和效率,可以根据待标注视频的场景类型选择对应的视频跟踪算法。
在一个实施例中,场景类型与视频跟踪算法的对应关系包括:静态背景的场景类型对应光流算法;动态背景的场景类型对应矩阵映射算法。
其中,静态背景是指场景中的背景不变或变化非常缓慢。应当指出的是,背景不变主要是指背景的位置不变,即摄像头的取景位置不变,但因环境变化导致的光线变化,若这种变化较为缓慢,则认为是静态背景。
动态背景是指场景中的背景变化较快,即摄像头的取景位置不断变化。
本说明书实施例中,场景类型是预先配置的,可以但不仅限于人工配置。指示场景类型的信息可以与待标注视频一同打包在标注任务中,也可以保存在服务器或客户端设备中,通过请求/发送的方式获取。
对于静态背景的场景类型,选择光流算法作为上述视频跟踪算法。利用光流算法确定待标注视频的帧间关联关系的实现方式有多种,本说明书无法穷举,仅例举其中优选的实现方式:利用基于卷积神经网络(CNN)的光流算法计算上述待标注视频中前一视频帧的各图像点在后一视频帧中的位置偏移,输出光流图,该光流图的像素点表示前一视频帧对应位置的图像点在后一视频帧中的位置偏移;根据该光流图确定前一视频帧与后一视频帧的帧间关联关系。
其中,图像点是指视频帧中某像素点处所显示的图像,位置偏移是包括偏移距离和偏移方向。
具体的,使用类似FlowNet等基于CNN的监督算法计算高精度Optical-flow(光流)类。
例如,可以采用双图融合方式计算光流图,在一种实现方式中,可以采用直接将两个视频帧拼接的方式,将输入的3通道扩展为6通道;在另一种实现方式中,可以采用通过计算特征图(feature map)的相关性(correlation)的方式来融合两张图,如下公式所示:c(x1,x2)=sum(f1(x1+o)*f2(x2+o))
其中,o的取值范围[-k,k]x[-k,k],f1为图像(image,即视频帧)的某特征图,f2为图像的另一个feature map。
这个操作是通过2D卷积的思路来计算两个特征图中某2个点x1和x2的关联程度,那么实际上是把点x1附近的区域([-k,k]x[-k,k])和x2附近的区域的像素点值相乘后累加,这里的feature map的值是有正有负的,所以如果这个区域比较相近的话相关性结果就会高,反之就会低。
也可以利用精细化(Refinement)网络,采用deconv的计算方式,对前部的CNN网络的数据进行计算,最后还原出与原视频帧大小一样的结果,作为输出的光流图。
还可以利用融合(Fusion)模型,即通过对多个FlowNet结构的模型进行堆叠(Stacking)以及Fusion,可以最终输出精度较高的光流结果,对后续物体的跟踪(tracking)可以较为精确预测位置,这将其他帧标注结果进行映射时会比较精准,这大大减少了人工标注的精力和成本。
对于动态背景的场景类型,对于动态背景的视频,可以将场景视为是无形变刚体,选择矩阵映射算法作为上述视频跟踪算法。传统的方式是利用映射矩阵进行3D建模,本申请的发明人通过创造性劳动,巧妙地进行反向应用,通过计算前后视频帧的映射矩阵,进而得到帧间映射矩阵,该帧间映射矩阵反映了物体图像在前后帧之间的帧间偏移,因此可以用于计算视频的帧间关联关系,且精度较高。
利用映射矩阵算法计算帧间关联关系的实现方式包括:分别计算待标注视频中的前一视频帧和后一视频帧的映射矩阵,并对前一视频帧和后一视频帧的映射矩阵进行乘法处理得到帧间映射矩阵;根据帧间映射矩阵确定前一视频帧与后一视频帧的帧间关联关系。其更具体的实现方式可以但不仅限于:分别计算所述前一视频帧和后一视频帧的梯度矩阵(gradient),计算所述前一视频帧和后一视频帧的梯度矩阵的差值,通过最小二乘法优化后,进行平方根法分解得到帧间映射矩阵。
其中,映射矩阵为表征摄像头的物理参数的3x3矩阵。
应当指出的是,映射矩阵算法的适用场景较为广泛,在静态背景的视频中,使用映射矩阵算法计算帧间关联关系也能取得较好的精度。因此,也可以不根据待标注视频的场景类型选择视频跟踪算法,而是统一采用映射矩阵算法。
除此之外,利用卷积神经网络训练得到的视频跟踪算法计算待标注视频中的前一视频帧与后一视频帧的本地(local)变化和全局(global)变化,进而根据所述前一视频帧与后一视频帧的本地变化和全局变化确定前一视频帧与所述后一视频帧的帧间关联关系,这种实现方式也不局限于某一具体场景,适用场景广泛,也可以不根据待标注视频的场景类型选择视频跟踪算法,而是统一采用该算法。
本说明书实施例中,前一视频帧与后一视频帧是相对的概念,表明这一对视频帧在待标注视频中的前后顺序。假设一个待标注视频中有I个视频帧,其中,第一与第二个视频帧中,第一个视频帧为前一视频帧,第二个视频帧为后一视频帧;但在第二与第三个视频帧中,第二个视频帧为前一视频帧,第三个视频帧为后一视频帧。另外,前一视频帧与后一视频帧可以是相邻视频帧,也可以是不相邻的视频帧。因此,本说明书实施例可以仅计算各相邻视频帧之间的帧间关联关系,也可以计算任意两个视频帧之间的帧间关联关系。
得到光流图(或帧间映射矩阵,或本地变化和全局变化)后,根据该光流图(或帧间映射矩阵,或本地变化和全局变化)确定前一视频帧与后一视频帧的帧间关联关系的实现方式有多种。若用数值表示帧间关联关系(例如,0~1之间的数值,取值越大,帧间关联程度越高),则一种实现方式可以通过拟合等方式确定光流图(或帧间映射矩阵,或本地变化和全局变化)与帧间关联关系的函数,进而利用该函数确定上述前一视频帧与后一视频帧的帧间关联关系,本说明书不对具体的拟合方式进行限定;另一种实现方式可以预先确定光流图(或帧间映射矩阵,或本地变化和全局变化)与帧间关联关系对应关系表,通过查表的方式确定上述前一视频帧与后一视频帧的帧间关联关系。若将帧间关联关系划分为多个等级,则可以预先确定光流图(或帧间映射矩阵,或本地变化和全局变化)的取值区间与帧间关联关系的对应关系表,通过查表的方式确定上述前一视频帧与后一视频帧的帧间关联关系。相应的,上述步骤202中,显示帧间关联关系的实现方式有多种,例如,可以显示帧间关联关系的取值或等级,也可以将帧间关联关系的取值或等级映射为对应的颜色,通过颜色区分不同的帧间关联关系。当然,也可以将光流图(或帧间映射矩阵,或本地变化和全局变化)直接作为帧间关联关系,相应的,显示帧间关联关系可以是在前N’帧和/或后M’帧上显示待标注视频帧的标注结果,通过预览标注结果的方式体现帧间关联关系。其中,若帧间关联关系越强,则在相应帧上显示的标注结果误差越小。其中,N’为不小于0的整数,M’为不小于0的整数,其具体取值可以是预设的固定取值,也可以是动态调整的取值。例如,根据前一标注修改结果动态调整本次显示的预览数量。
本说明书实施例中,在视频帧上显示标注结果,是指在显示界面上,从视觉效果上而言,以叠加的方式显示视频帧及标注结果,且标注结果显示在视频帧的上层。
另外,如上所述,本说明书实施例不限定待标注的视频帧的显示与帧间关联关系的显示顺序,也不限定具体显示方式,下面仅以举例方式例举其中几种可能的显示方式。
显示方式一
如图3a所示,在显示界面300上显示待标注视频帧301,以便标注者在待标注视频帧上进行标注,并在显示界面的右上角显示待标注视频的全部视频帧的帧间关联关系的取值,以便标注者根据帧间关联关系的取值选择视频帧范围。本实施例中,帧间关联关系是指相邻帧之间的关联关系。
进一步地,在标注者选择了视频帧范围后,如图3b所示,可以在原来显示待标注视频帧301的显示区域显示视频帧范围内的视频帧,并在每个视频帧上显示上述待标注视频帧的标注结果,以便标注者预览,从而调整视频帧范围。
显示方式二
如图4a所示,在显示界面400上显示待标注视频帧401,及其前N’帧和后M’帧,标注者在待标注视频帧上进行标注(应当指出的是,可以通过区分显示的方式提示待标注视频帧,也可以在该步骤中仅允许对待标注视频帧进行标注,还可以将标注者标注的视频帧作为待标注的视频帧),并通过图像边框颜色渐变的方式显示帧间关联关系,以便标注者根据帧间关联关系的取值选择视频帧范围。
进一步地,在标注者选择了视频帧范围后,如图4b所示,可以在视频帧范围内的每个视频帧上显示上述待标注视频帧的标注结果,以便标注者预览,从而调整视频帧范围。
显示方式三
如图5a所示,在显示界面500上显示待标注视频帧501,以便标注者在待标注视频帧上进行标注,标注完成后,如图5b所示,在原来显示待标注视频帧501的显示区域显示待标注视频帧401的前N’帧和后M’帧,并在每个视频帧上显示上述待标注视频帧的标注结果,以便标注者预览,从而选择视频帧范围。
对于快速移动,视频拍摄模糊等情况下,直接利用帧间关联关系映射标注结果会出现结果不准确,因此,由标注者自行选择是否需要应用视频帧关联关系的映射,以及映射的范围,这给了标注者更大的自由度去完成高质量的标注,尽量减少自动化算法所引入的标注误差。
以上介绍了帧间关联关系的确定及显示,下面将介绍初始化标注。为了进一步提高效率,在人工标注之前,可以对待标注视频进行自动化的初始化标注。相应的,利用视频标注模型对待标注视频的视频帧进行初始化标注,并在待标注视频帧上显示初始化标注结果。应当指出的是,多标注任务的类型较多,则不同的标注类型需要使用不同的视频标注模型,且可能存在没有对应的视频标注模型的情况,那么,初始化标注的实现方式包括:获取待标注视频的标注类型,查找标注类型对应的视频标注模型,若查找到视频标注模型,利用查找到的视频标注模型对待标注视频的视频帧进行初始化标注,并在待标注视频帧上显示初始化标注结果。若没有查找到视频标注模型,则直接显示待标注的视频帧。
相应的,上述第一输入信息可以包括指示将初始化标注结果作为待标注视频帧的标注结果的输入信息,也可以包括对初始化标注结果进行修改的输入信息。
本说明书实施例提供的方法可进行多任务标注,例如目标分割、目标检测、目标分类、目标定位、复合标注等。对于标注类型为目标分割或包含目标分割的复合标注,初始化标注结果的显示形式为角点可调的多边形,以便于标注者修改。
本说明书实施例提供的视频标注方法能够胜任几乎全部的视频标注相关任务。例如分类任务,可以对视频的每一帧进行类别标注(比如是否关键帧),这可以用于LSTM模型训练视频关键帧的提取算法,目前大量的视频相关应用算法都会使用关键帧提取的功能,可以很好提升算法效果。检测和分割标注可以用于视频语义理解算法的训练,可以用于监控,无人车等丰富场景。
如上所示,本说明书实施例提供的视频标注方法,其适用于多种应用场景,下面以车辆定损的标注为例进行说明。
在图1所示的系统中,某待定损的视频被发送到任务分配者所使用的客户端设备102,视频标注流程如图6所示:
由任务分配者确定该视频的标注类型以及场景类型,将指示标注类型和场景类型的信息与待定损的视频打包为视频标注任务保存到在该客户端设备102中;
在预处理阶段,该客户端设备102的处理器调取该视频标注任务,从中读取标注类型及场景类型,根据场景类型选择对应的视频跟踪算法,利用选择的视频跟踪算法计算帧间关联关系,并根据标注类型查找对应的视频标注模型,利用查找到的视频标注模型对待定损视频进行初始化标注,将帧间关联关系和初始化标注结果打包到视频标注任务,并将视频标注任务上传到服务器101;
服务器101获取待定损视频的第一个视频帧,按照上述显示方式一将该视频帧在标注者使用的客户端设备102上显示,若有第一个视频帧的初始化标注结果,则一并显示;标注者可以选择相信初始化标注结果,相应的,通过语音、手势识别、动作识别、人机交互界面等方式输入指示将初始化标注结果作为第一个视频帧的标注结果的第一输入信息,标注者也可以选择修改初始化标注结果,该修改可以是在初始化标注结果的基础上进行修改,也可以删除初始化标注结果重新标注,并提交指示修改结果的第一输入信息;标注者选择使用标注结果的视频帧范围,并按照上述显示方式一预览视频帧范围,以便标注者调整视频帧范围,标注者确定视频帧范围后,通过语音、手势识别、动作识别、人机交互界面等方式输入指示视频帧范围的第二输入信息。假设视频帧范围至第10帧,则服务器101获取第11个视频帧,按照上述显示方式一进行显示,并按照上述方式完成标注,直至待定损视频全部标注完成;
服务器101将完成标注后的视频发送给复核者使用的客户端设备102,由复核者对标注结果进行检查,若检查不通过则返回重新标注,最后输出最终的标注结果。
第二方面,基于同一发明构思,本说明书实施例提供一种视频标注装置,请参考图7,包括:
界面显示模块701,用于显示待标注视频帧和所述待标注视频帧所属待标注视频的帧间关联关系,所述待标注视频的帧间关联关系是利用视频跟踪算法确定的;
输入信息接收模块702,用于接收用于指示所述待标注视频帧的标注结果的第一输入信息,和用于指示使用所述标注结果的视频帧范围的第二输入信息,所述视频帧范围是根据所述待标注视频的帧间关联关系确定的,所述视频帧范围为所述待标注视频帧的前N帧和/或所述待标注视频帧的后M帧,N和M为不小于零的整数;
标注处理模块703,用于根据所述第一输入信息获取所述待标注视频帧的标注结果,根据所述待标注视频帧的标注结果及所述第二输入信息获取所述视频帧范围内的视频帧的标注结果。
本说明书实施例提供的视频标注装置,显示待标注视频帧,以便标注者进行标注,显示待标注视频的帧间关联关系,以便标注者选择使用待标注视频帧的标注结果的视频帧范围;接收到指示待标注视频帧的标注结果的第一输入信息后,可根据指示获得待标注视频帧的标注结果,实现对待标注视频帧的标注;接收到指示视频帧范围的第二输入信息后,可根据指示获得视频帧范围内的视频帧的标注结果,而不必须逐一对这些视频帧进行标注。人工标注的精度往往高于自动标注,而通过向标注者显示帧间关联关系,使得标注者可以选择使用该标注结果的视频帧范围,无需每帧都进行完整标注,从而提高了标注效率。
在其中一个实施例中,所述视频跟踪算法是与所述待标注视频的场景类型对应的视频跟踪算法。
在其中一个实施例中,场景类型与视频跟踪算法的对应关系包括:
静态背景的场景类型对应光流算法;动态背景的场景类型对应矩阵映射算法。
在其中一个实施例中,选择的视频跟踪算法为光流算法,还包括第一帧间关联计算模块,用于:
利用基于卷积神经网络的光流算法计算所述待标注视频中前一视频帧的各图像点在后一视频帧中的位置偏移,输出光流图,所述光流图的像素点表示所述前一视频帧对应位置的图像点在后一视频帧中的位置偏移;
根据所述光流图确定所述前一视频帧与所述后一视频帧的帧间关联关系。
在其中一个实施例中,选择的视频跟踪算法为矩阵映射算法,还包括第二帧间关联计算模块,用于:
分别计算所述待标注视频中的前一视频帧和后一视频帧的映射矩阵,并对所述前一视频帧和后一视频帧的映射矩阵进行乘法处理得到帧间映射矩阵;
根据所述帧间映射矩阵确定所述前一视频帧与所述后一视频帧的帧间关联关系。
在其中一个实施例中,所述第二帧间关联计算模块用于:
分别计算所述前一视频帧和后一视频帧的梯度矩阵,计算所述前一视频帧和后一视频帧的梯度矩阵的差值,通过最小二乘法优化后,进行平方根法分解得到帧间映射矩阵;
根据所述帧间映射矩阵确定所述前一视频帧与所述后一视频帧的帧间关联关系。
在其中一个实施例中,还包括第三帧间关联计算模块,用于:
分别计算所述待标注视频中的前一视频帧和后一视频帧的映射矩阵,并对所述前一视频帧和后一视频帧的映射矩阵进行乘法处理得到帧间映射矩阵;根据所述帧间映射矩阵确定所述前一视频帧与所述后一视频帧的帧间关联关系。
或者,
利用视频跟踪算法计算所述待标注视频中的前一视频帧与后一视频帧的本地变化和全局变化,所述视频跟踪算法是利用卷积神经网络训练得到的;
根据所述前一视频帧与后一视频帧的本地变化和全局变化确定所述前一视频帧与所述后一视频帧的帧间关联关系。
在其中一个实施例中,还包括初始化标注模块,用于利用视频标注模型对所述待标注视频的视频帧进行初始化标注,或者,获取所述待标注视频的标注类型,查找所述标注类型对应的视频标注模型,若查找到视频标注模型,利用查找到的视频标注模型对所述待标注视频的视频帧进行初始化标注;
所述界面显示模块还用于在所述待标注视频帧上显示初始化标注结果。
在其中一个实施例中,若所述标注类型为目标分割或包含目标分割的复合标注,所述初始化标注结果的显示形式为角点可调的多边形。
第三方面,基于与上述视频标注方法同一发明构思,本说明书实施例还提供一种计算机设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如下步骤:
显示待标注视频帧和所述待标注视频帧所属待标注视频的帧间关联关系,所述待标注视频的帧间关联关系是利用视频跟踪算法确定的;
接收用于指示所述待标注视频帧的标注结果的第一输入信息,和用于指示使用所述待标注视频帧的标注结果的视频帧范围的第二输入信息,所述视频帧范围是根据所述待标注视频的帧间关联关系确定的,所述视频帧范围为所述待标注视频帧的前N帧和/或所述待标注视频帧的后M帧,N和M为不小于零的整数;
根据所述第一输入信息获取所述待标注视频帧的标注结果,根据所述待标注视频帧的标注结果及所述第二输入信息获取所述视频帧范围内的视频帧的标注结果。
本说明书实施例提供的计算机设备,显示待标注视频帧,以便标注者进行标注,显示待标注视频的帧间关联关系,以便标注者选择使用待标注视频帧的标注结果的视频帧范围;接收到指示待标注视频帧的标注结果的第一输入信息后,可根据指示获得待标注视频帧的标注结果,实现对待标注视频帧的标注;接收到指示视频帧范围的第二输入信息后,可根据指示获得视频帧范围内的视频帧的标注结果,而不必须逐一对这些视频帧进行标注。人工标注的精度往往高于自动标注,而通过向标注者显示帧间关联关系,使得标注者可以选择使用标注结果的视频帧范围,无需每帧都进行完整标注,从而提高了标注效率。
该计算机设备可以但不仅限于包括:服务器、工作站、移动终端、掌上电脑、PC机。
其中一个实施例中,所述视频跟踪算法是与所述待标注视频的场景类型对应的视频跟踪算法。
其中一个实施例中,场景类型与视频跟踪算法的对应关系包括:
静态背景的场景类型对应光流算法;动态背景的场景类型对应矩阵映射算法。
其中一个实施例中,选择的视频跟踪算法为矩阵映射算法,利用视频跟踪算法确定所述待标注视频的帧间关联关系的方式包括:
分别计算所述待标注视频中的前一视频帧和后一视频帧的映射矩阵,并对所述前一视频帧和后一视频帧的映射矩阵进行乘法处理得到帧间映射矩阵;
根据所述帧间映射矩阵确定所述前一视频帧与所述后一视频帧的帧间关联关系。
其中一个实施例中,所述分别计算所述待标注视频中的前一视频帧和后一视频帧的映射矩阵,并对所述前一视频帧和后一视频帧的映射矩阵进行乘法处理得到帧间映射矩阵的步骤具体包括:
分别计算所述前一视频帧和后一视频帧的梯度矩阵,计算所述前一视频帧和后一视频帧的梯度矩阵的差值,通过最小二乘法优化后,进行平方根法分解得到帧间映射矩阵。
其中一个实施例中,执行接收用于指示所述待标注视频帧的标注结果的第一输入信息的步骤之前,所述处理器还执行所述计算机程序实现如下步骤:
利用视频标注模型对所述待标注视频的视频帧进行初始化标注,并在所述待标注视频帧上显示初始化标注结果;或者,获取所述待标注视频的标注类型,查找所述标注类型对应的视频标注模型,若查找到视频标注模型,利用查找到的视频标注模型对所述待标注视频的视频帧进行初始化标注,并在所述待标注视频帧上显示初始化标注结果;
所述第一输入信息包括指示将所述初始化标注结果作为所述待标注视频帧的标注结果的输入信息,或者,对所述初始化标注结果进行修改的输入信息。
其中一个实施例中,若所述标注类型为目标分割或包含目标分割的复合标注,所述初始化标注结果的显示形式为角点可调的多边形。
第四方面,基于与上述视频标注方法相同的发明构思,本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意视频标注方法实施例的步骤。
本说明书实施例提供的视频跟踪方法可以但不仅限应用于图1所示的系统。在图1所示的系统中,可以在服务器101上实现本说明书实施例提供的视频跟踪方法,也可以在客户端设备102上实现本说明书实施例提供的视频跟踪方法,还可以通过服务器101与客户端设备102配合实现本说明书实施例提供的视频跟踪方法。
第一方面,本说明书实施例提供一种视频跟踪方法,请参考图8,包括:
步骤802、分别计算视频中的前一视频帧和后一视频帧的映射矩阵。
其中,关于前一视频帧和后一视频帧的解释可以参照视频标注方法实施例中的说明,此处不再赘述。
步骤804、对上述前一视频帧和后一视频帧的映射矩阵进行乘法处理得到帧间映射矩阵,帧间映射矩阵反映了物体图像在所述前一视频帧与所述后一视频帧之间的帧间偏移。
传统的方式是利用映射矩阵进行3D建模,本申请的发明人通过创造性劳动,巧妙地进行反向应用,通过计算前后视频帧的映射矩阵,进而得到帧间映射矩阵,该帧间映射矩阵反映了物体图像在前后帧之间的帧间偏移,因此可以用于视频跟踪,且精度较高。
在其中一个实施例中,分别计算视频中的前一视频帧和后一视频帧的映射矩阵的具体实现方式可以是:分别计算所述前一视频帧和后一视频帧的梯度矩阵;对所述前一视频帧和后一视频帧的映射矩阵进行乘法处理得到帧间映射矩阵的具体实现方式可以是:计算所述前一视频帧和后一视频帧的梯度矩阵的差值,通过最小二乘法优化后,进行平方根法分解得到帧间映射矩阵。
优选的,所述前一视频帧与后一视频帧为相邻视频帧。
在其中一个实施例中,所述分别计算视频中的前一视频帧和后一视频帧的映射矩阵之前,该方法还包括:获取所述视频的场景类型;所述分别计算视频中的前一视频帧和后一视频帧的映射矩阵,包括:若所述场景类型为动态背景的场景类型,分别计算视频中的前一视频帧和后一视频帧的映射矩阵。
第二方面,基于同一发明构思,本说明书实施例提供一种视频跟踪装置,如图9所示,包括:
第一映射矩阵计算模块901,用于分别计算视频中的前一视频帧和后一视频帧的映射矩阵;
第二映射矩阵计算模块902,用于对所述前一视频帧和后一视频帧的映射矩阵进行乘法处理得到帧间映射矩阵,所述帧间映射矩阵反映了物体图像在所述前一视频帧与所述后一视频帧之间的帧间偏移。
传统的方式是利用映射矩阵进行3D建模,本申请的发明人通过创造性劳动,巧妙地进行反向应用,通过计算前后视频帧的映射矩阵,进而得到帧间映射矩阵,该帧间映射矩阵反映了物体图像在前后帧之间的帧间偏移,因此可以用于视频跟踪,且精度较高。
在其中一个实施例中,所述第一映射矩阵计算模块用于:分别计算所述前一视频帧和后一视频帧的梯度矩阵;所述第二映射矩阵计算模块用于:计算所述前一视频帧和后一视频帧的梯度矩阵的差值,通过最小二乘法优化后,进行平方根法分解得到帧间映射矩阵。
在其中一个实施例中,所述前一视频帧与后一视频帧为相邻视频帧。
在其中一个实施例中,还包括场景类型获取模块,用于:获取所述视频的场景类型;
所述第一映射矩阵计算模块用于:若所述场景类型为动态背景的场景类型,分别计算视频中的前一视频帧和后一视频帧的映射矩阵。
第三方面,基于同一发明构思,本说明书实施例提供一种计算机设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如下步骤:
分别计算视频中的前一视频帧和后一视频帧的映射矩阵;
对所述前一视频帧和后一视频帧的映射矩阵进行乘法处理得到帧间映射矩阵,所述帧间映射矩阵反映了物体图像在所述前一视频帧与所述后一视频帧之间的帧间偏移。
传统的方式是利用映射矩阵进行3D建模,本申请的发明人通过创造性劳动,巧妙地进行反向应用,通过计算前后视频帧的映射矩阵,进而得到帧间映射矩阵,该帧间映射矩阵反映了物体图像在前后帧之间的帧间偏移,因此可以用于视频跟踪,且精度较高。
该计算机设备可以但不仅限于包括:服务器、工作站、移动终端、掌上电脑、PC机。
在其中一个实施例中,所述分别计算视频中的前一视频帧和后一视频帧的映射矩阵的步骤包括:分别计算所述前一视频帧和后一视频帧的梯度矩阵;
所述对所述前一视频帧和后一视频帧的映射矩阵进行乘法处理得到帧间映射矩阵的步骤包括:计算所述前一视频帧和后一视频帧的梯度矩阵的差值,通过最小二乘法优化后,进行平方根法分解得到帧间映射矩阵。
在其中一个实施例中,所述前一视频帧与后一视频帧为相邻视频帧。
第四方面,基于同一发明构思,本说明书实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意视频跟踪方法的步骤。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本说明书的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本说明书范围的所有变更和修改。
显然,本领域的技术人员可以对本说明书进行各种改动和变型而不脱离本说明书的精神和范围。这样,倘若本说明书的这些修改和变型属于本说明书权利要求及其等同技术的范围之内,则本说明书也意图包含这些改动和变型在内。