短视频源码,视频在线跟踪过程如何实现的
短视频源码的众多功能中有一个拍同款功能,根据拍摄者的动作模仿原视频动作生成新视频。对短视频源码来说,如何正确识别拍摄者做出的动作?视频符合程度判定如何追踪完成?
一、短视频源码每个视频对应的分支
短视频平台的拍同款视频,都应该有自己对应的一个分支,该分支是一个2分类的全连接层,用来输出该区域为前景和背景的得分。在测试过程中,移除掉所有的分支,新建一个全连接层fc6,连接在前面的层上,并且在线更新fc4、fc5、fc6的参数。
二、获取短视频源码中所有序列训练图
1、首先读取到所有序列要训练的图片和GT,GT文件每一行有4个值,表示左上角坐标以及宽高。若有8个值,则是4个点的坐标,将其变换为4个值,然后读取配置文件
2、根据读取到的序列确定分支数K,然后为每个序列定义一个样本生成器
3、初始化模型,设置哪些层的参数要更新,定义损失函数以及优化器
4、开始训练过程,代码中设置一共训练50组,打乱分支的顺序,然后按照新的顺序对序进行训练,在对每个分支训练时,先打乱图片顺序,再在每个帧上生成样本
5、将正样本和负样本送入模型得到损失,然后将损失进行返回传播来更新每一层的参数
三、从短视频源码表现中总结测试过程
1、根据args获取到测试序列的所有图片序列,第一帧目标位置以及所有图片目标的gt
2、初始化模型,读取训练好的模型文件,设置可以更新的参数为fc层的参数,即卷积层的参数固定不动
3、读取第一帧,从第一帧的目标位置附近采样得到500个正样本和500个负样本
4、将这些正负样本送入训练好的模型中,得到其第三层的正负样本特征
5、对上面得到的正负样本特征进行训练
6、将正负样本特征送入模型fc4,得出正样本得分和负样本得分,然后根据这些得分进行反向传播,更新参数
7、从短视频第一帧开始生成1000个样本,用来训练边框回归器
8、然后开始遍历所有的帧,从上一帧的位置采样得到256个满足高斯分布的样本,计算出这些样本得分,取5个得分最高的排在帧的前面
9、用短视频源码上面得到的5个bbox的得分平均值是否大于0表示追踪是否成功
声明:以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任