CN111401406B - 一种神经网络训练方法、视频帧处理方法以及相关设备 - Google Patents

一种神经网络训练方法、视频帧处理方法以及相关设备 Download PDF

Info

Publication number
CN111401406B
CN111401406B CN202010109190.6A CN202010109190A CN111401406B CN 111401406 B CN111401406 B CN 111401406B CN 202010109190 A CN202010109190 A CN 202010109190A CN 111401406 B CN111401406 B CN 111401406B
Authority
CN
China
Prior art keywords
network
similarity
input video
video frames
feature
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010109190.6A
Other languages
English (en)
Other versions
CN111401406A (zh
Inventor
刘伊凡
沈春华
许松岑
周一韧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010109190.6A priority Critical patent/CN111401406B/zh
Publication of CN111401406A publication Critical patent/CN111401406A/zh
Application granted granted Critical
Publication of CN111401406B publication Critical patent/CN111401406B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Abstract

本申请实施例公开一种神经网络训练方法、视频帧处理方法以及相关设备,该方法可用于人工智能的图像处理领域中。方法可以包括:将至少两组输入视频帧分别输入学生网络和教师网络,得到学生网络输出的至少两个第一输出结果和教师网络输出的至少两个第二输出结果,根据至少两个第一输出结果,获取第一输出结果之间的第一相似度,根据至少两个第二输出结果,获取第二输出结果之间的第二相似度,通过指示第一相似度与第二相似度之间的相似度的第一损失函数对学生网络进行训练,直至满足收敛条件,得到执行过训练操作的学生网络,在训练阶段使执行训练操作过程中学生网络的帧间稳定性向教师网络的帧间稳定性靠拢,以提升学生网络的帧间稳定性。

Description

一种神经网络训练方法、视频帧处理方法以及相关设备
技术领域
本申请涉及人工智能领域,尤其涉及一种神经网络训练方法、视频帧处理方法以及相关设备。
背景技术
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。利用人工智能进行视频分析是人工智能常见的一个应用方式。
视频分析算法(video analyzing algorithms)是对视频内容进行解析的一系列算法,包含视频目标检测、视频语义分割等算法。帧间稳定性指的是视频分析算法在对视频中不同的视频帧进行处理时得到的输出结果之间的稳定性和连续性,帧间稳定性直接影响到实际应用的稳定性和流畅度体验。然而目前的视频分析算法的帧间稳定性较差。
因此,一种提升视频分析算法的帧间稳定性的方案亟待推出。
发明内容
本申请实施例提供了一种神经网络训练方法、视频帧处理方法以及相关设备,用于在训练阶段使学生网络学习教师网络对不同视频帧的处理结果,以使执行训练操作过程中学生网络的帧间稳定性向教师网络的帧间稳定性靠拢,从而完成训练操作的学生网络的帧间稳定性能够得到提升。
为解决上述技术问题,本申请实施例提供以下技术方案:
第一方面,本申请实施例提供一种神经网络训练方法,可用于人工智能的图像处理领域中。训练设备将至少两组输入视频帧输入学生网络,并获取学生网络输出的至少两个第一输出结果,至少两组输入视频帧中每组输入视频帧包括至少一个输入视频帧,至少两组输入视频帧包括于同一视频,至少两个第一输出结果中的每个第一输出结果分别对应于至少两组输入视频帧中的一组输入视频帧的输出结果,也即一个第一输出结果指的是学生网络对一组输入视频帧进行处理后输出的输出结果,不同的第一输出结果是学生网络对不同组的输入视频帧进行处理后输出的输出结果。训练设备将至少两组输入视频帧输入教师网络,并获取教师网络输出的至少两个第二输出结果;其中,至少两个第二输出结果中的每个第二输出结果分别对应于至少两组输入视频帧中的一组输入视频帧的输出结果,也即一个第二输出结果指的是教师网络对一组输入视频帧进行处理后输出的输出结果,不同的第二输出结果是教师网络对不同组的输入视频帧进行处理后输出的输出结果;教师网络和学生网络均为神经网络模型,教师网络的神经网络类型与学生网络一致,区别在于,学生网络是规模较小且尚未执行过训练操作的网络,教师网络是规模较大且已经训练成熟的网络;前述规模较小指的是学生网络相对于教师网络参数量少、计算复杂度简单且占用存储空间小。训练设备根据至少两个第一输出结果,获取第一相似度,第一相似度用于指示第一输出结果之间的相似度;根据至少两个第二输出结果,获取第二相似度,第二相似度用于指示第二输出结果之间的相似度。其中,输出结果之间的相似度可以通过计算输出结果之间的余弦相似度、欧氏距离、曼哈顿距离或汉明距离获得;输出结果之间的余弦相似度越大,第一相似度越大,输出结果之间的余弦相似度越小,第一相似度越小;输出结果之间的欧氏距离、曼哈顿距离或汉明距离越小,第一相似度越大,输出结果之间的欧氏距离、曼哈顿距离或汉明距离越大,第一相似度越小。训练设备通过第一损失函数对学生网络进行训练,直至满足收敛条件,得到执行过训练操作的学生网络。其中,第一损失函数根据第一相似度与第二相似度之间的相似度获得,第一损失函数的目标是拉近第一相似度和第二相似度之间的相似度,当第一相似度和第二相似度之间的相似度大于或等于第一阈值的情况下,满足第一损失函数的收敛条件,第一损失函数可以为均方误差损失函数、负对数似然损失函数或L1损失函数。
本实现方式中,在对学生网络进行训练的过程中,通过第一损失函数对学生网络进行迭代训练,由于第一损失函数根据第一相似度与第二相似度之间的相似度获得,也即在训练阶段使学生网络学习教师网络对不同视频帧的处理结果,以使执行训练操作过程中学生网络的帧间稳定性向教师网络的帧间稳定性靠拢,从而完成训练操作的学生网络的帧间稳定性能够得到提升。
在第一方面的一种可能实现方式中,训练设备将至少两组输入视频帧输入学生网络,并获取学生网络输出的至少两个第一输出结果,包括:训练设备将至少三组输入视频帧输入学生网络,并获取学生网络输出的至少三个第一输出结果。训练设备将至少两组输入视频帧输入教师网络,并获取教师网络输出的至少两个第二输出结果,包括:训练设备将至少三组输入视频帧输入教师网络,并获取教师网络输出的至少三个第二输出结果。训练设备通过第一损失函数对学生网络进行训练,直至满足收敛条件,得到执行过训练操作的学生网络之前,方法还包括:训练设备获取至少三个第一输出结果的第一变化趋势,以及获取至少三个第二输出结果的第二变化趋势。进而训练设备通过第一损失函数对学生网络进行训练,直至满足收敛条件,得到执行过训练操作的学生网络,可以包括:训练设备通过第一损失函数和第二损失函数对学生网络进行训练,直至满足收敛条件,得到执行过训练操作的学生网络。其中,第二损失函数根据第一变化趋势和第二变化趋势之间的相似度获得,第二损失函数的训练目标是拉近第一变化趋势和第二变化趋势之间的相似度,当第一变化趋势和第二变化趋势之间的相似度大于或等于第二阈值的情况下,满足第二损失函数的收敛条件,第二损失函数的类型与第一损失函数的类型可以相同。本实现方式中,在训练阶段中,训练的方向不仅包括使学生网络输出的不同输出结果之间的相似度向教师网络靠拢,还包括使学生网络输出的不同输出结果之间的变化趋势向教师网络靠拢,进一步帮助学生网络学习到教师网络的帧间稳定性,以提高学生网络的帧间稳定性。
在第一方面的一种可能实现方式中,训练设备获取至少两个第一输出结果之间的第一相似度,并获取至少两个第二输出结果之间的第二相似度,可以包括:从至少三个第一输出结果中选取两个第一输出结果,并生成两个第一输出结果之间的第一相似度;从至少三个第二输出结果中选取两个第二输出结果,并生成两个第二输出结果之间的第二相似度。本实现方式中,由于输出结果的分辨率较高,处理输出结果时使用计算机资源较多,选用两个输出结果来计算输出结果间的相似度,有利于减少使用的计算机资源,也有利于提高训练过程的效率。
在第一方面的一种可能实现方式中,与选取出的两个输出结果对应的两组输入视频帧之间间隔L个视频帧,L的取值与视频的帧率以及视频内物体的移动速度相关。其中,视频的帧率越大,L的取值越大,视频内物体的移动速度越快,L的取值越小。
在第一方面的一种可能实现方式中,至少两组输入视频帧包括输入视频帧为至少三组。训练设备将至少两组输入视频帧输入学生网络之后,方法还包括:训练设备获取学生网络在进行视频帧处理过程中生成的至少三组第一特征图。其中,至少三组第一特征图中的每组第一特征图分别对应于至少三组输入视频帧中的一组输入视频帧的视频帧特征提取结果,也即一组第一特征图指的是学生网络对一组输入视频帧进行特征提取过程中得到的特征提取结果,不同组的第一特征图是学生网络对不同组的输入视频帧进行特征提取得到的特征提取结果,每组第一特征图中包括一种或多种分辨率的特征图,特征提取结果指的是学生网络的特征提取网络中的卷积层生成的特征提取结果,不仅仅指整个特征提取网络输出的特征提取结果。训练设备将至少两组输入视频帧输入教师网络之后,方法还包括:获取教师网络在进行视频帧处理过程中生成的至少三组第二特征图;其中,至少三组第二特征图中的每组第二特征图分别对应于至少三组输入视频帧中的一组输入视频帧的视频帧特征提取结果,也即一组第二特征图指的是教师网络对一组输入视频帧进行特征提取过程中得到的特征提取结果,不同组的第二特征图是教师网络对不同组的输入视频帧进行特征提取得到的特征提取结果,每组第二特征图中包括一种或多种分辨率的特征图,每组第二特征图和每组第一特征图中特征图的数量以及分辨率相同。训练设备在通过第一损失函数对学生网络进行训练,直至满足收敛条件,得到执行过训练操作的学生网络之前,方法还包括:训练设备获取至少三组第一特征图的第三变化趋势,以及获取至少三组第二特征图的第四变化趋势。其中,在每组第一特征图包括一个第一特征图的情况下,第三变化趋势反映的为至少三个第一特征图的变化趋势;在每组第一特征图包括至少两个分辨率不同的第一特征图的情况下,第三变化趋势包括至少两个变化趋势,每个变化趋势用于反映某一种分辨率的第一特征图的变化趋势;对应的,在每组第二特征图包括一个第二特征图的情况下,第四变化趋势反映的为至少三个第二特征图的变化趋势;在每组第二特征图包括至少两个分辨率不同的第二特征图的情况下,第四变化趋势包括至少两个变化趋势,每个变化趋势用于反映某一种分辨率的第二特征图的变化趋势。训练设备通过第一损失函数对学生网络进行训练,直至满足收敛条件,得到执行过训练操作的学生网络,包括:训练设备通过第一损失函数和第三损失函数对学生网络进行训练,直至满足收敛条件,得到执行过训练操作的学生网络,第三损失函数根据第三变化趋势和第四变化趋势之间的相似度获得,第三损失函数的训练目标是拉近第三变化趋势和第四变化趋势之间的变化趋势,当第三变化趋势和第四变化趋势之间的相似度大于或等于第三阈值的情况下,满足第三损失函数的收敛条件,第三损失函数的类型与第一损失函数的类型可以相同。
本实现方式中,在训练阶段中,训练的方向还包括使学生网络在处理过程中生成的特征图之间的变化趋势向教师网络靠拢,进一步帮助学生网络学习到教师网络的帧间稳定性,以提高学生网络的帧间稳定性;此外,由于特征图的分辨率低于输出结果的分辨率,在特征图级别计算变化趋势,有利于减少计算机资源的使用。
在第一方面的一种可能实现方式中,在学生网络和教师网络为特征提取网络的情况下,输出结果指的是整个特征提取网络最后输出的特征图,进行视频帧处理过程中生成的特征图指的是在视频帧处理过程中且尚未得到输出结果之前生成的特征图。
在第一方面的一种可能实现方式中,训练设备获取至少三组第一特征图的第三变化趋势,以及获取至少三组第二特征图的第四变化趋势,可以包括:训练设备对第一特征图进行维度变换,并对第二特征图进行维度变换。其中,一个特征图可以从三个角度来描述,前述三个角度分别为长度、宽度和深度,特征图的长度和宽度对应于特征图的分辨率,特征图的深度对应于特征图的维度数,特征图的维度数取决于生成该特征图的神经网络层的通道数量;执行过维度变换操作的第一特征图与执行过维度变换操作的第二特征图的维度数一致;进一步地,对特征图进行维度变换包括对特征图进行升维或降维,在采用降维方式来实现维度变换的情况下,可以降低后续生成变化趋势过程的计算量。训练设备通过神经网络对执行过维度变换操作的第一特征图进行向量化编码,得到第三变化趋势;通过神经网络对执行过维度变换操作的第二特征图进行向量化编码,得到第四变化趋势。其中,对特征图进行向量化编码指的是将相同分辨率、相同维度数的至少三个特征图转换为向量化的表达方式,以体现前述相同分辨率、相同维度数的至少三个特征图的变化趋势;执行向量化编码的神经网络的网络类型包括但不限于卷积长短时记忆网络或循环神经网络。本实现方式中,通过对多个特征图进行向量化编码,可以有效的提取多帧中的运动信息,操作简单,易实现。
在第一方面的一种可能实现方式中,训练设备获取至少三组第一特征图的第三变化趋势,以及获取至少三组第二特征图的第四变化趋势,可以包括:训练设备对第一特征图进行维度变换,并对第二特征图进行维度变换。训练设备将执行过维度变换操作的第一特征图输入光流网络中,得到光流网络输出的第三变化趋势;训练设备将执行过维度变换操作的第二特征图输入光流网络中,得到光流网络输出的第四变化趋势。
在第一方面的一种可能实现方式中,训练设备将至少两组输入视频帧输入学生网络之后,方法还包括:训练设备获取学生网络在进行视频帧处理过程中生成的至少两组第一特征图,其中,至少两组第一特征图中的每组第一特征图分别对应于至少两组输入视频帧中的一组输入视频帧的视频帧特征提取结果。训练设备将至少两组输入视频帧输入教师网络之后,方法还包括:训练设备获取教师网络在进行视频帧处理过程中生成的至少两组第二特征图,其中,至少两组第二特征图中的每组第二特征图分别对应于至少两组输入视频帧中的一组输入视频帧的视频帧特征提取结果。训练设备通过第一损失函数对学生网络进行训练,直至满足收敛条件,得到执行过训练操作的学生网络之前,方法还包括:训练设备根据至少两组第一特征图,获取第三相似度,第三相似度用于指示第一特征图之间的相似度;根据至少两组第二特征图,获取第四相似度,第四相似度用于指示第二特征图之间的相似度。训练设备通过第一损失函数对学生网络进行训练,直至满足收敛条件,得到执行过训练操作的学生网络,包括:训练设备通过第一损失函数和第四损失函数对学生网络进行训练,直至满足收敛条件,得到执行过训练操作的学生网络。其中,第四损失函数根据第三相似度与第四相似度之间的相似度获得,第四损失函数的训练目标是拉近第三相似度与第四相似度之间的相似度,当第三相似度与第四相似度之间的相似度大于或等于第四阈值的情况下,满足第四损失函数的收敛条件,第四损失函数的类型与第一损失函数的类型可以相同。本实现方式中,在训练阶段中,训练的方向不仅包括使学生网络输出的不同输出结果之间的相似度向教师网络靠拢,还包括使学生网络在进行视频帧处理过程中输出的特征图之间的相似度向教师网络靠拢,以提高特征提取过程中的帧间稳定性,从而进一步提高学生网络的帧间稳定性。
在第一方面的一种可能实现方式中,至少两组输入视频帧中包括至少两个输入视频帧,至少两个输入视频帧中包括第一输入视频帧和第二输入视频帧,第一输入视频帧和第二输入视频帧为至少两组输入视频帧中相邻的两个输入视频帧,第一输入视频帧与第二输入视频帧为视频中不相邻的两个视频帧。本实现方式中,在两次相邻的输入视频帧输入操作中,分别采用的是视频中不相邻的两个视频帧,使得学生网络在训练阶段可以适应跨度大的视频帧,在应用阶段对跨度小的视频帧进行处理时是向下兼容,有利于提高学生网络在应用阶段的稳定性。
在第一方面的一种可能实现方式中,学生网络和教师网络均为分割网络、检测网络、光流网络或超分网络。对应的,在学生网络和教师网络为分割网络的情况下,第一输出结果和第二输出结果具体表现为视频帧中每个像素点的类别的概率分布。在学生网络和教师网络为光流网络的情况下,第一输出结果和第二输出结果具体表现为与每个像素点对应两个值,前述两个值分别代表x和y坐标,x代表同一像素点在两个输入视频帧之间的横向位移,y代表同一像素点在两个输入视频帧之间的纵向位移。在学生网络和教师网络为超分网络的情况下,第一输出结果和第二输出结果具体表现为视频帧,输出的视频帧的分辨率高于输入视频帧的分辨率。在学生网络和教师网络为检测网络中的特征提取网络的情况下,第一输出结果和第二输出结果具体表现为一个特征图,包括特征图中每个特征点的特征向量,在学生网络和教师网络为检测网络中的特征提取网络的情况下,作为输出结果的特征图指的是整个特征提取网络最后输入的特征图,第一特征图和第二特征图均指的是特征提取网络在特征提取过程中,最后输出结果之前生成的特征图。本实现方式中,示出了学生网络的多种具体实现方式,扩展了本方案的应用场景,提高了本方案的实现灵活性。
第二方面,本申请实施例提供一种视频帧处理方法,方法包括:获取待处理视频;将待处理视频中的一组视频帧输入视频处理网络中,得到视频处理网络输出的视频处理结果;其中,视频处理网络是通过第一损失函数训练得到的,第一损失函数根据第一相似度与第二相似度之间的相似度获得,第一相似度为根据至少两个第一输出结果生成的,第一相似度用于指示第一输出结果之间的相似度,至少两个第一输出结果为将至少两组输入视频帧输入学生网络中得到的,每个至少两个第一输出结果分别对应于至少两组输入视频帧中的一组输入视频帧的输出结果,第二相似度为根据至少两个第二输出结果生成的,第二相似度用于指示第二输出结果之间的相似度,至少两个第二输出结果为将至少两组输入视频帧输入教师网络中得到的,每个至少两个第二输出结果分别对应于至少两组输入视频帧中的一组输入视频帧的输出结果。本实现方式中,进行视频处理的视频处理网络是通过第一损失函数训练得到的,第一损失函数的目标是拉近第一相似度和第二相似度之间的相似程度,也即在训练阶段使视频处理网络学习教师网络对不同视频帧的处理结果,以使执行训练操作过程中视频处理网络的帧间稳定性向教师网络的帧间稳定性靠拢,从而提升了视频处理网络对不同组视频帧输出的视频处理结果之间的帧间稳定性,学生网络和所述教师网络均为视频处理网络。
在第二方面的一种可能实现方式中,视频处理网络为通过第一损失函数和第三损失函数训练得到的,第三损失函数根据第三变化趋势和第四变化趋势之间的相似度获取,第三变化趋势为至少三组第一特征图的变化趋势,至少三组第一特征图为将至少三组输入视频输入学生网络,以在学生网络进行视频帧处理过程中获取到的,至少三组第一特征图中的每组第一特征图分别对应于至少三组输入视频帧中的一组输入视频帧的视频帧特征提取结果,第四变化趋势为至少三组第二特征图的变化趋势,至少三组第二特征图为将至少三组输入视频输入教师网络,以在教师网络进行视频帧处理过程中获取到的,至少三组第二特征图中的每组第二特征图分别对应于至少三组输入视频帧中的一组输入视频帧的视频帧特征提取结果。
在第二方面的一种可能实现方式中,视频处理网络为分割网络、检测网络、光流网络、超分网络或特征提取网络。
本申请第二方面以及第二方面的各种可能实现方式中的视频处理网络为通过第一方面以及第一方面的各种可能实现方式提供的训练方法训练得到的,第二方面的以及第二方面的各种可能实现方式中各个名词的具体含义,均可以参阅第一方面,此处不再赘述。
第三方面,本申请实施例提供一种神经网络训练装置,可用于人工智能的图像处理领域中。视频帧处理装置包括输入模块、获取模块和训练模块。其中,输入模块,用于将至少两组输入视频帧输入学生网络,并获取学生网络输出的至少两个第一输出结果,其中,至少两组输入视频帧中每组输入视频帧包括至少一个输入视频帧,至少两组输入视频帧包括于同一视频,至少两个第一输出结果中每个第一输出结果分别对应于至少两组输入视频帧中的一组输入视频帧的输出结果;输入模块,还用于将至少两组输入视频帧输入教师网络,并获取教师网络输出的至少两个第二输出结果,至少两个第二输出结果中每个第二输出结果分别对应于至少两组输入视频帧中的一组输入视频帧的输出结果;获取模块,用于根据至少两个第一输出结果,获取第一相似度,第一相似度用于指示第一输出结果之间的相似度;获取模块,还用于根据至少两个第二输出结果,获取第二相似度,第二相似度用于指示第二输出结果之间的相似度;训练模块,用于通过第一损失函数对学生网络进行训练,直至满足收敛条件,得到执行过训练操作的学生网络,第一损失函数根据第一相似度与第二相似度之间的相似度获得。
本申请第三方面中,视频帧处理装置包括的各个模块还可以用于执行第一方面的各个可能实现方式中训练设备执行的步骤,具体均可以参阅第一方面,此处不再赘述。
第四方面,本申请实施例提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面所述的神经网络训练方法,或者,使得计算机执行上述第二方面所述的视频帧处理方法。
第五方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面所述的神经网络训练方法,或者,使得计算机执行上述第二方面所述的视频帧处理方法。
第六方面,本申请实施例提供了一种训练设备,包括处理器和存储器,所述处理器与所述存储器耦合;所述存储器,用于存储程序;所述处理器,用于执行所述存储器中的程序,使得所述处理器执行上述第一方面所述的神经网络训练方法。
第七方面,本申请实施例提供了一种训练设备,包括处理器和存储器,所述处理器与所述存储器耦合;所述存储器,用于存储程序;所述处理器,用于执行所述存储器中的程序,使得所述处理器执行上述第二方面所述的视频帧处理方法。
第八方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持终端设备或通信设备实现上述方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存终端设备或通信设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
附图说明
图1为本申请实施例提供的人工智能主体框架的一种结构示意图;
图2为本申请实施例提供的视频帧处理系统的一种系统架构图;
图3为本申请实施例提供的神经网络训练方法的一种流程示意图;
图4为本申请实施例提供的输入神经网络训练方法中输入视频帧获取过程的一种示意图;
图5a为本申请实施例提供的神经网络训练方法中生成第一损失函数的一种示意图;
图5b为本申请实施例提供的神经网络训练方法中生成第三损失函数的一种示意图;
图6为本申请实施例提供的视频帧处理方法的一种流程示意图;
图7为本申请实施例提供的神经网络训练装置的一种结构示意图;
图8是本申请实施例提供的训练设备一种结构示意图;
图9是本申请实施例提供的执行设备一种结构示意图;
图10为本申请实施例提供的芯片的一种结构示意图。
具体实施方式
本申请实施例提供了一种神经网络训练方法、视频帧处理方法以及相关设备,用于在训练阶段使学生网络学习教师网络对不同视频帧的处理结果,以使执行训练操作过程中学生网络的帧间稳定性向教师网络的帧间稳定性靠拢,从而完成训练操作的学生网络的帧间稳定性能够得到提升。
下面结合附图,对本申请的实施例进行描述。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
首先对人工智能系统总体工作流程进行描述,请参见图1,图1示出的为人工智能主体框架的一种结构示意图,下面从“智能信息链”(水平轴)和“IT价值链”(垂直轴)两个维度对上述人工智能主题框架进行阐述。其中,“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。“IT价值链”从人智能的底层基础设施、信息(提供和处理技术实现)到系统的产业生态过程,反映人工智能为信息技术产业带来的价值。
(1)基础设施
基础设施为人工智能系统提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。通过传感器与外部沟通;计算能力由智能芯片(CPU、NPU、GPU、ASIC、FPGA等硬件加速芯片)提供;基础平台包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。举例来说,传感器和外部沟通获取数据,这些数据提供给基础平台提供的分布式计算系统中的智能芯片进行计算。
(2)数据
基础设施的上一层的数据用于表示人工智能领域的数据来源。数据涉及到图形、视频、语音、文本,还涉及到传统设备的物联网数据,包括已有系统的业务数据以及力、位移、液位、温度、湿度等感知数据。
(3)数据处理
数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等方式。
其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。
推理是指在计算机或智能系统中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。
决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。
(4)通用能力
对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用系统,例如,翻译,文本的分析,语音识别,视频检测、视频的语义分割或视频的超分等等。
(5)智能产品及行业应用
智能产品及行业应用指人工智能系统在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能终端、智能制造、智能交通、智能家居、智能医疗、智能安防、自动驾驶、平安城市等。
本申请实施例可以应用于人工智能领域的视频处理领域中,具体的,结合图1来讲,本申请实施例中基础设施获取的数据是视频,在对学生网络执行训练操作的过程中,使学生网络的帧间稳定性向教师网络的帧间稳定性靠拢,以提高学生网络在对视频进行处理过程中的帧间稳定性。具体的,本申请实施例可以应用于各种对视频进行处理的应用场景中。第一,可以应用于对视频进行语义分割的应用场景中。进一步地,作为示例,通过学生网络对视频进行语义分割后,进行实现视频中人像换背景的功能,作为另一示例,通过学生网络对视频进行语义分割后,仅保留视频中人像区域的颜色,实现视频人像留色等。本应用场景中,学生网络和教师网络具体可以表现为分割网络。第二,可以应用于对视频进行检测的应用场景中,本应用场景中,学生网络和教师网络具体可以表现为检测网络。第三,可以应用于进行视频帧预测的应用场景中,本应用场景中,学生网络和教师网络具体可以表现为光流网络。第四,可以应用于对视频进行超分的应用场景中,以提高视频的画面质量,本应用场景中,学生网络和教师网络具体可以表现为超分网络。在前述种种应用场景下,均可以通过本申请实施例提供的神经网络训练方法来提升学生网络对视频进行处理过程的帧间稳定性,应理解,本申请实施例还可以应用于其他对视频进行处理的应用场景中,此处不对本申请实施例的应用场景进行穷举。
在对本申请实施例提供的神经网络训练方法进行详细介绍之前,先对本申请实施例所处的视频帧处理系统进行介绍。请参阅图2,图2为本申请实施例提供的视频帧处理系统的一种系统架构图,在图2中,视频帧处理系统200包括执行设备210、训练设备220、数据库230、客户设备240和数据存储系统250,执行设备210中包括计算模块211。
其中,数据库230中存储有一个或多个视频,训练设备220生成用于进行视频处理的目标模型/规则201,并利用数据库中的一个或多个视频目标模型/规则201进行迭代训练,得到成熟的目标模型/规则201。本申请实施例中目标模型/规则201的类型可以参阅上述应用场景处的描述。训练设备220得到的目标模型/规则201可以应用不同的系统或设备中,例如手机、平板、笔记本电脑、VR设备、监控系统、雷达的数据处理系统等等。训练设备220将目标模型/规则201配置于执行设备210中的方式可以为通过无线通信方式发送或者通过有线通信方式发送,还可以为通过可移动存储设备将目标模型/规则201配置于执行设备210中,此处均不做限定。
执行设备210可以调用数据存储系统250中的数据、代码等,也可以将数据、指令等存入数据存储系统250中。数据存储系统250可以置于执行设备210中,也可以为数据存储系统250相对执行设备210是外部存储器。
本申请的一些实施例中,请参阅图2,执行设备210和客户设备240可以为分别独立的设备,执行设备210配置有I/O接口212,与客户设备240进行数据交互,“用户”可以通过客户设备240向I/O接口212输入待处理视频,执行设备210通过I/O接口212将处理结果返回给客户设备240,提供给用户。值得注意的,图2仅是本发明实施例提供的两种视频帧处理系统的架构示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制。例如,在本申请的另一些实施例中,执行设备210可以配置于客户设备240中,作为示例,例如当客户设备为手机或平板时,执行设备210可以为手机或平板的主处理器(Host CPU)中用于进行阵列视频帧处理的模块,执行设备210也可以为手机或平板中的图形处理器(graphicsprocessing unit,GPU)或者神经网络处理器(NPU),GPU或NPU作为协处理器挂载到主处理器上,由主处理器分配任务。
本申请实施例提供的方法分别应用于训练设备220对学生网络进行训练的过程和执行设备210进行推理的过程,结合上述描述,下面开始对本申请实施例提供的方法的训练阶段的具体实现流程进行描述。
一、训练阶段
具体的,请参阅图3,图3为本申请实施例提供的神经网络训练方法的一种流程示意图,本申请实施例提供的神经网络训练方法可以包括:
301、训练设备从视频中获取输入视频帧。
本申请实施例中,训练设备上预先存储有训练数据。在一种情况下,训练数据中包括一个或多个视频,训练设备可以从训练数据中获取一个视频,将视频分解为多个视频帧之后,再执行输入视频帧的获取操作。在另一种情况下,训练数据中包括一个或多个视频帧集合,一个视频帧集合中的所有视频帧包括于同一个视频,视频帧集合中每个视频帧的排序位置与在视频中的出现位置一致,视频中出现越早的视频帧在视频帧集合中的排序位置越靠前,训练设备可以从训练数据中获取一个视频帧集合,再执行输入视频帧的获取操作。
具体的,训练设备可以一次性完成至少两组输入视频帧的获取操作;也可以在一次输入视频帧获取操作中只获取一组输入视频帧,进而在将前述一组输入视频帧输入到学生网络和教师网络中,以使学生网络和教师网络执行完一次输入视频帧处理操作之后,再获取下一组输入视频帧。其中,输入视频帧指的是需要输入到学生网络和教师网络中的视频帧,一组输入视频帧包括学生网络执行一次视频帧处理操作所需要的视频帧。一组输入视频帧中至少包括一个输入视频帧,也可以包括至少两个输入视频帧。作为示例,例如学生网络为分割网络、检测网络或超分网络时,学生网络执行一次输入视频帧处理操作需要一个输入视频帧,也即一组输入视频帧中包括一个输入视频帧;作为另一示例,例如学生网络为光流网络的情况下,学生网络执行一次输入视频帧处理操作需要两个输入视频帧,也即一组输入视频帧中包括两个输入视频帧。
更具体的,由于训练设备对学生网络执行一次训练的过程中需要至少两组输入视频帧,则训练设备对学生网络执行一次训练的过程中需要执行至少两次输入视频帧获取操作。其中,前述至少两组输入视频帧可以包括N组输入视频帧,N两组输入视频帧均来源于同一个视频,N的取值可以为2、3、4、5、7、10或其他数值等等,具体N的取值可以结合训练设备的处理器能力等因素确定。所述至少两组输入视频帧包括的至少两个输入视频帧中存在第一输入视频帧和第二输入视频帧,第一输入视频帧和第二输入视频帧为所述至少两组输入视频帧中任意两个相邻的输入视频帧,第一输入视频帧与第二输入视频帧在来源视频中的位置可以相邻,也可以不相邻。在第一输入视频帧与第二输入视频帧在来源视频中的位置不相邻的情况下,第一输入视频帧和第二输入视频帧在来源输入视频帧中可以间隔M个输入视频帧,M的取值与来源视频的帧率、来源视频内物体的移动速度或其他因素等确定,其中来源视频的帧率越大,M的取值可以越大,来源视频内物体的移动速度越快,M的取值可以越小;作为示例,例如M的取值可以为0、1、2、4、5、7、10、20、30、60、100或其他数值等等,此处不做穷举。本申请实施例中,在两次相邻的输入视频帧输入操作中,分别采用的是视频中不相邻的两个视频帧,使得学生网络在训练阶段可以适应跨度大的视频帧,在应用阶段对跨度小的视频帧进行处理时是向下兼容,有利于提高学生网络在应用阶段的稳定性。
进一步地,针对第一个输入视频帧的获取操作,训练设备可以从与来源视频对应的视频帧集合中随机选取一个视频帧作为第一个输入视频帧,也可以将与来源视频对应的视频帧集合中排在最前面的视频帧作为第一个输入视频帧,还可以通过其他方式确定第一个输入视频帧等,此处不做限定。针对除第一个输入视频帧之外的其它输入视频帧的获取操作,在一种实现方式中,训练设备上可以预设M的取值,则训练设备可以从与来源视频对应的视频帧集合中,每隔M个视频帧获取一个输入视频帧。在另一种实现方式中,训练设备上也可以预设M的取值范围,则训练设备在每次执行输入视频帧获取操作之前,先根据预设的M的取值范围确定M的取值,再从与来源视频对应的视频帧集合中选取与上一输入视频帧间隔M个视频帧的视频帧,并将其确定为当前输入视频帧。
为进一步理解本方案,请参阅图4,图4为本申请实施例提供的输入神经网络训练方法中输入视频帧获取过程的一种示意图。图4中以N的取值为5,每组视频中包括两个输入视频帧,且训练设备上预设M的取值范围,M的取值范围为0-10为例。其中,图4中每个长方形代表一个输入视频帧,A1和A2为获取到的第一组输入视频帧,A2和A3为第二组输入视频帧,A3和A4为第四组输入视频帧,以此类推,A1至A6代表获取到的5组输入视频帧。A1与A2之间间隔0帧,A2与A3之间间隔5帧,A3与A4之间间隔8帧,由于图4中直观的展示出了两个相邻的输入视频帧之间的间隔视频帧的数量,此处不一一进行描述。应当理解,图4仅为方便理解本方案中相邻两个输入视频帧在同一视频中的位置关系,不用于限定本方案。
302、训练设备将输入视频帧输入学生网络。
本申请实施例中,训练设备在获取到至少一组输入视频帧后,将至少一组输入视频帧输入到学生网络。其中,学生网络可以为具有完整的视频处理能力的网络,具体的,若学生网络具体表现为分割网络,作为示例,例如优化网络(refinement networks,RefineNet)或金字塔场景分析网络(pyramid scene parsing network,PSPnet)等;若学生网络具体表现为光流网络,作为示例,例如光流网络FlowNet或光流网络PWCNet等;若学生网络具体表现为超分网络,作为示例,例如超分辨率卷积神经网络(super-resolutionconvolutional neural network,SRCNN)或增强的深剩余网络(enhanced deep residualnetworks,EDSR)等。学生网络也可以表现为具有完整的视频处理能力的网络中的特征提取网络,也即学生网络也仅包括具有完整的视频处理能力的网络中的部分网络,作为示例,例如在待训练网络为检测网络的情况下,需要训练可以为检测网络的特征提取网络,当待训练网络为检测网络的情况下,待训练网络具体可以为检测类神经网络YOLO、检测类神经网络SSD或其他检测类神经网络,应理解,此处举例仅为方便理解本方案,不用于限定本方案。
具体的,若训练设备在步骤301中一次性完成N组输入视频帧的获取操作,则步骤302包括:训练设备将N组输入视频帧输入学生网络。若训练设备在步骤301中只完成了一组输入视频帧的获取操作,则步骤302包括:训练设备将一组输入视频帧输入学生网络。
303、训练设备将输入视频帧输入教师网络。
本申请实施例中,训练设备在获取到至少一组输入视频帧后,将至少一组输入视频帧输入到教师网络。其中,教师网络和所述学生网络均为神经网络模型,教师网络的神经网络类型与学生网络一致,区别在于,学生网络是规模较小且尚未执行过训练操作的网络,教师网络是规模较大且已经训练成熟的网络;前述规模较小指的是学生网络相对于教师网络参数量少、计算复杂度简单且占用存储空间小。本申请实施例中,示出了学生网络的多种具体实现方式,扩展了本方案的应用场景,提高了本方案的实现灵活性。
具体的,与步骤302类似,若训练设备在步骤301中一次性完成N组输入视频帧的获取操作,则步骤303包括:训练设备将N组输入视频帧输入教师网络。若训练设备在步骤301中只完成了一组输入视频帧的获取操作,则步骤303包括:训练设备将一组输入视频帧输入教师网络。
应理解,本申请实施例不限定步骤302和303的执行顺序,可以先执行步骤302,再执行步骤303;也可以先执行步骤303,再执行步骤302;还可以同时执行步骤302和303。
304、训练设备获取学生网络在进行视频帧处理过程中生成的第一特征图。
本申请的一些实施例中,在训练设备通过学生网络对每组输入视频帧进行处理的过程中均会生成一组第一特征图,进而训练设备获取学生网络在进行视频帧处理过程中生成的至少一组第一特征图。其中,一组第一特征图指的是在学生网络执行一次视频帧处理操作过程中获取的特征图。由于学生网络在对一组输入视频帧进行处理的过程中会生成不止一个第一特征图,则每组第一特征图中可以包括一个或多个特征图,在每组第一特征图包括多个特征图的情况下,不同特征图之间的分辨率不同,作为示例,例如一组第一特征图中可以包括分辨率为1024×1024、分辨率为256×256和分辨率为64×64的三个特征图。
具体的,若步骤302中为训练设备将N组输入视频帧输入学生网络,则步骤304包括训练设备获取学生网络在进行视频帧处理过程中生成的N组第一特征图。若步骤302中为训练设备将一组输入视频帧输入学生网络,则步骤304包括训练设备获取学生网络在进行视频帧处理过程中生成的一组第一特征图。
305、训练设备获取教师网络在进行视频帧处理过程中生成的第二特征图。
本申请的一些实施例中,与步骤304类似,训练设备也可以获取教师网络在进行视频帧处理过程中生成的至少一组第二特征图。其中,一组第二特征图指的是在教师网络执行一次视频帧处理过程中获取到的特征图。每组第二特征图包括的特征图的数量以及每个特征图的分辨率与第一特征图一致;作为示例,例如一组第一特征图中包括分辨率为1024×1024、分辨率为256×256和分辨率为64×64的三个特征图,则一组第二特征图中也包括分辨率为1024×1024、分辨率为256×256和分辨率为64×64的三个特征图。
具体的,与步骤304类似,若步骤303中为训练设备将N组输入视频帧输入教师网络,则步骤305包括训练设备获取教师网络在进行视频帧处理过程中生成的N组第二特征图。若步骤303中为训练设备将一组输入视频帧输入教师网络,则步骤305包括训练设备获取教师网络在进行视频帧处理过程中生成的一组第二特征图。
应理解,本申请实施例不限定步骤304和305的执行顺序,可以先执行步骤304,再执行步骤305;也可以先执行步骤305,再执行步骤304;还可以同时执行步骤304和305。
306、训练设备获取学生网络输出的第一输出结果。
本申请实施例中,训练设备获取学生网络输出的第一输出结果。其中,第一输出结果的具体表现形态根据学生网络的具体表现形态确定。在学生网络可以为具有完整的视频处理能力的网络的情况下,若学生网络具体表现为分割网络,则第一输出结果具体表现为视频帧中每个像素点的类别的概率分布;若学生网络具体表现为光流网络,则第一输出结果具体表现为与每个像素点对应两个值,前述两个值分别代表x和y坐标,x代表同一像素点在两个输入视频帧之间的横向位移,y代表同一像素点在两个输入视频帧之间的纵向位移。在学生网络和教师网络为超分网络的情况下,第一输出结果和第二输出结果具体表现为视频帧,输出的视频帧的分辨率高于输入视频帧的分辨率。若待训练网络具体表现为检测网络,则一般情况下仅会对检测网络的特征提取网络进行训练,也即学生网络具体表现为具有视频检测能力的网络中的特征提取网络,则第一输出结果为一个特征图,包括特征图中每个特征点的特征向量,在学生网络为特征提取网络的情况下,作为输出结果的特征图指的是整个特征提取网络最后输入的特征图,第一特征图和第二特征图均指的是特征提取网络在特征提取过程中,最后输出结果之前生成的特征图。
具体的,若步骤302中为训练设备将N组输入视频帧输入学生网络,则步骤306包括训练设备获取学生网络输出的N个第一输出结果。若步骤302中为训练设备将一组输入视频帧输入学生网络,则步骤304包括获取学生网络输出的一个第一输出结果。
307、训练设备获取教师网络输出的第二输出结果。
本申请实施例中,训练设备获取教师网络输出的第二输出结果。其中,教师网络和学生网络的类型完全一致,对应的,第二输出结果的具体表现形态与第一输出结果的具体表现形态完全一致,可参阅步骤306中的描述,此处不做赘述。
具体的,与步骤306类似,若步骤303中为训练设备将N组输入视频帧输入教师网络,则步骤306包括训练设备获取教师网络输出的N个第二输出结果。若步骤303中为训练设备将一组输入视频帧输入教师网络,则步骤304包括获取教师网络输出的一个第二输出结果。
应理解,本申请实施例不限定步骤306和307的执行顺序,可以先执行步骤306,再执行步骤307;也可以先执行步骤307,再执行步骤306;还可以同时执行步骤306和307。
本申请实施例中步骤301至307为将输入视频帧输入到学生网络和教师网络中,在正向传播的过程中,获取与输入视频帧对应的特征图和/或输出结果的描述,步骤308至316为对利用获取到的特征图和/或输出结果,计算损失函数,进而基于损失函数的函数值进行反向传播以对学生网络进行训练的过程。在一次训练过程中,需要执行至少两次视频帧处理操作,本申请实施例中不限定步骤301至307与步骤308至316之间的执行次序,在一种实现方式中,可以为每次执行步骤301至307时仅对一组输入视频帧进行处理,则在步骤301至307执行至少两次之后,再执行步骤308至316。在另一种实现方式中,可以为在执行一次步骤301至307的过程中同时对N组输入视频帧进行处理,则在步骤301至307执行一次之后,执行步骤308至316。
308、训练设备获取至少三组第一特征图的第三变化趋势,以及,获取至少三组第二特征图的第四变化趋势。
本申请的一些实施例中,至少两组输入视频帧包括至少三组输入视频帧,也即N的取值大于等于3,训练设备获取与至少三组输入视频帧对应的至少三组第一特征图,每组第一特征图与一组输入视频帧对应。进而训练设备获取至少三组第一特征图的第三变化趋势。其中,在每组第一特征图包括一个第一特征图的情况下,第三变化趋势反映的为至少三个第一特征图的变化趋势;在每组第一特征图包括至少两个分辨率不同的第一特征图的情况下,第三变化趋势包括至少两个变化趋势,每个变化趋势用于反映某一种分辨率的第一特征图的变化趋势,作为示例,例如一组第一特征图中可以包括分辨率为1024×1024和分辨率为256×256的两个特征图,共获取了4组第一特征图,也即N的取值为4,则第三变化趋势中包括两个变化趋势,一个变化趋势用于反映4组第一特征图中分辨率为1024×1024的4个第一特征图的变化趋势,另一个变化趋势用于反映4组第一特征图中分辨率为256×256的4个第一特征图的变化趋势,应理解,此处举例仅为方便理解第三变化趋势的概念,不用于限定本方案。
对应的,训练设备可以获取到至少三组第二特征图,进而生成至少三组第二特征图的第四变化趋势。其中,第四变化趋势与第三变化趋势的概念类似,区别在于第三变化趋势是针对第一特征图的,第四变化趋势是针对第二特征图的。
具体的,在一种实现方式中,步骤308可以包括:训练设备对第一特征图进行维度变换,并对第二特征图进行维度变换,其中,执行过维度变换操作的第一特征图与执行过维度变换操作的第二特征图的维度数一致。训练设备通过神经网络对执行过维度变换操作的第一特征图进行向量化编码(embedding),得到第三变化趋势;通过神经网络对执行过维度变换操作的第二特征图进行向量化编码,得到第四变化趋势。在其他实现方式中,也可以仅对第一特征图或者第二特征图进行维度变换,在对第一特征图或第二特征图执行过维度变换操作后,第一特征图和第二特征图的维度数一致即可,进而对维度数一致的第一特征图和第二特征图执行向量化编码操作。本申请实施例中,通过对多个特征图进行向量化编码,可以有效的提取多帧中的运动信息,操作简单,易实现。
其中,一个特征图可以从三个角度来描述,前述三个角度分别为长度、宽度和深度,特征图的长度和宽度对应于特征图的分辨率,特征图的深度对应于特征图的维度数,特征图的维度数取决于生成该特征图的神经网络层的通道数量。由于学生网络和教师网络的复杂程度不同,则相同分辨率的第一特征图和第二特征图的维度数可以不同,所以需要对第一特征图和/或第二特征图进行维度变换,以使执行过维度变换操作之后的第一特征图和第二特征图的维度数一致。进一步地,对特征图进行维度变换包括对特征图进行升维或降维,在采用降维方式来实现维度变换的情况下,可以降低后续生成变化趋势过程的计算量。
对特征图进行向量化编码指的是将相同分辨率、相同维度数的至少三个特征图转换为向量化的表达方式,以体现前述相同分辨率、相同维度数的至少三个特征图的变化趋势。执行向量化编码的神经网络的网络类型包括但不限于卷积长短时记忆网络(convolutional long short-term memory,ConvLSTM)、循环神经网络(recurrent neuralnetwork,RNN)或其他可以进行向量化编码的神经网络等。
更具体的,针对维度变换的过程,训练设备通过神经网络对第一特征图进行维度变换,和/或通过神经网络对第二特征图极性维度变换。其中,前述神经网络的类型包括但不限于多层感知器(multi-layer perceptron,MLP)、卷积神经网络(convolutionalneural networks,CNN)或其他神经网络等。由于一组第一特征图和一组第二特征图中均可以包括至少两个特征图,每组第一特征图和每组第二特征图中均可以包括不同分辨率的特征图,不同分辨率的特征图进行维度变换时采用的神经网络可以不同;相同分辨率的第一特征图和第二特征图可以采用相同类型,但具体神经网络的参数设置不同的神经网络,作为示例,例如进行维度变换前的第一特征图的维度数为100,进行维度变换前的第一特征图的维度数为1000,进行维度变换后的目标维度数为50,执行维度数变换的过程均采用MLP,第一特征图的维度变换的过程可以为100变换到100再变换到50,第二特征图的维度变换的过程可以为1000变换到100再变换到50,应理解,此处举例仅为方便理解本方案,不用于限定本方案。
针对向量化编码的过程,由于一组第一特征图和一组第二特征图中均可以包括一种或多种分辨率的特征图,若对第一特征图和第二特征图均进行了维度变换,训练设备从执行过维度变换操作的至少三组第一特征图中的每组第一特征图中获取一个目标分辨率的第一特征图,目标分辨率为前述一种或多种分辨率中的任一种分辨率,通过神经网络对获取的目标分辨率的至少三个第一特征图进行向量化编码,训练设备通过神经网络对与前述一种或多种分辨率中每种分辨率对应的第一特征图均进行向量化编码,从而得到第三变化趋势。作为示例,例如一组第一特征图中可以包括分辨率为1024×1024和分辨率为256×256的两个特征图,共获取了4组第一特征图,也即N的取值为4,则训练设备从执行过维度变换操作的4组第一特征图中获取4个分辨率为1024×1024的第一特征图,并对其进行向量化编码,再从执行过维度变换操作的4组第一特征图中获取4个分辨率为256×256的第一特征图,并对其进行向量化编码,应理解,此处举例仅为方便理解本方案,不用于限定本方案。对应的,执行过维度变换操作的至少三组第二特征图包括一种或多种分辨率的第二特征图,训练设备通过神经网络对前述一种或多种分辨率的第二特征图中每种分辨率的第二特征图进行向量化编码,得到第四变化趋势,具体实现方式可参见前述对生成第三变化趋势的描述,此处不做赘述。
若训练设备仅对第一特征图进行了维度变换,不对第二特征图进行维度变换,具体实现方式与上述方式类似,区别仅在于在生成第四变化趋势时的执行主体是未经过维度变换的第二特征图。若训练设备仅对第二特征图进行了维度变换,不对第一特征图进行维度变换,具体实现方式与上述方式类似,区别仅在于在生成第三变化趋势时的执行主体是未经过维度变换的第一特征图。此处不做赘述。
在另一种实现方式中,步骤308可以包括:训练设备对第一特征图进行维度变换,并对第二特征图进行维度变换,其中,执行过维度变换操作的第一特征图与执行过维度变换操作的第二特征图的维度数一致。训练设备将执行过维度变换操作的第一特征图输入光流网络中,得到光流网络输出的第三变化趋势;训练设备将执行过维度变换操作的第二特征图输入光流网络中,得到光流网络输出的第四变化趋势。在其他实现方式中,也可以仅对第一特征图或者第二特征图进行维度变换,在对第一特征图或第二特征图执行过维度变换操作后,第一特征图和第二特征图的维度数一致即可,进而将维度数一致的第一特征图和第二特征图分别输入到光流网络中,以生成第三变化趋势和第四变化趋势。
需要说明的是,在其他实现方式中,步骤308也可以拆分成“训练设备获取至少三组第一特征图的第三变化趋势”和“训练设备获取至少三组第二特征图的第四变化趋势”这两个步骤执行。
309、训练设备根据至少两组第一特征图,获取第三相似度,第三相似度用于指示第一特征图之间的相似度。
本申请的一些实施例中,训练设备在获取到至少两组第一特征图之后,会根据至少两组第一特征图,获取第三相似度。其中,至少两组第一特征图中可以包括两组第一特征图,也可以包括至少三组第一特征图。第三相似度用于指示第一特征图之间的相似度。
具体的,若训练设备根据两组第一特征图生成第三相似度,而在一次完整的训练过程中需要将至少三组输入视频帧分别输入到学生网络教师网络中。则在一种实现方式中,步骤309与步骤308之间的执行次数为一比一,步骤309包括:训练设备从至少三组第一特征图中选取两组第一特征图,并生成两组第一特征图之间的第三相似度。其中,选取出的两组第一特征图可以为至少三组第一特征图中的任意两组特征图,也可以为与选取出的两组第一特征图对应的两组输入视频帧之间需要间隔小于或等于L个视频帧,L的取值与来源视频的帧率、来源视频内物体的移动速度或其他因素等确定,其中来源视频的帧率越大,L的取值可以越大,来源视频内物体的移动速度越快,L的取值可以越小;作为示例,例如L的取值可以为0、1、2、4、5、7、10、20、30、60或其他数值等等,此处不做穷举。
在另一种实现方式中,本申请实施例不限定步骤309与步骤308之间的执行次数关系,步骤309与步骤308之间的执行次数为多比一,步骤309包括:训练设备从至少两组第一特征图中顺序获取相邻的两组第一特征图,并生成相邻的两组第一特征图之间的第三相似度。训练设备重复执行步骤309至少两次,以逐次生成至少三组第一特征图中任意相邻两组第一特征图之间的第三相似度。
若训练设备根据至少三组第一特征图生成第三相似度,则步骤309包括:训练设备生成至少三组第一特征图之间的第三相似度。
若训练设备根据两组第一特征图生成第三相似度,而在一次完整的训练过程中需要将两组输入视频帧分别输入到学生网络教师网络中,也即不执行步骤308。则步骤309包括:训练设备获取到两组第一特征图之后,生成两组第一特征图之间的第三相似度。
更具体的,由于一组第一特征图中可以包括一种或至少两种分辨率的特征图,训练设备从两组或至少三组第一特征图中获取与目标分辨率对应的两个或至少三个第一特征图,生成与目标分辨率对应的两个或至少三个第一特征图之间的相似度,若一组第一特征图中包括至少两种分辨率的第一特征图,训练设备重复执行前述步骤,以生成与前述至少两种分辨率中每种分辨率对应第一特征图之间的相似度,得到第三相似度。其中,第一特征图之间的相似度可以通过计算第一特征图之间的余弦相似度、欧氏距离、曼哈顿距离、汉明距离或其他参数来计算获得;第一特征图之间的余弦相似度越大,第一相似度越大,第一特征图之间的余弦相似度越小,第一相似度越小;第一特征图之间的欧氏距离、曼哈顿距离或汉明距离越小,第一相似度越大,第一特征图之间的欧氏距离、曼哈顿距离或汉明距离越大,第一相似度越小。
进一步地,针对训练设备生成与目标分辨率对应的两个第一特征图之间的相似度的过程。其中,两个第一特征图中包括特征图t和特征图t+k,训练设备生成特征图t中一个特征点与特征图t+k中每个特征点之间的相似度,训练设备重复前述操作,以生成特征图t中每个特征点与特征图t+k中每个特征点之间的相似度,将前述多个相似度相加,得到第三相似度。为更为直观的理解本方案,请参阅如下公式:
其中,为在特征图t中位置i处的特征点向量,/>为在特征图t+k中位置j处的特征点向量,aij代表两个第一特征图之间的相似度,上述公式以生成/>和/>之间的余弦相似度为例,应理解此处举例仅为方便理解本方案,不用于限定本方案。
针对训练设备生成与目标分辨率对应的至少三个第一特征图之间的相似度的过程。训练设备可以先通过上述方式生成前述至少三个第一特征图中任意两个第一特征图之间的相似度,再进行叠加,得到至少三个第一特征图之间的第三相似度。
310、训练设备根据至少两组第二特征图,获取第四相似度,第四相似度用于指示第二特征图之间的相似度。
本申请实施例中,步骤310与步骤309的实现方式类似,区别在于步骤310的执行对象是至少两组第二特征图,步骤309的执行对象是至少两组第一特征图,也即将步骤309的具体实现方式中的第一特征图替换为第二特征图,第三相似度替换为第四相似度,可以得到步骤310的具体实现方式,此处不做赘述。
311、训练设备根据至少两个第一输出结果,获取第一相似度,第一相似度用于指示第一输出结果之间的相似度。
本申请实施例中,训练设备获取到学生网络输出的至少两个第一输出结果之后,需要生成第一相似度。具体的,与步骤309类似,若在训练设备根据两个第一输出结果生成第一相似度,而在一次完整的训练过程中需要将至少三个输入视频帧分别输入到学生网络教师网络中。则在一种实现方式中,步骤311包括:训练设备从至少三个第一输出结果中选取两个第一输出结果,并生成两个第一输出结果之间的第一相似度。具体选取方式可以参阅步骤311中的描述,此处不做赘述。本申请实施例中,由于输出结果的分辨率较高,处理输出结果时使用计算机资源较多,选用两个输出结果来计算输出结果间的相似度,有利于减少使用的计算机资源,也有利于提高训练过程的效率。
在另一种实现方式中,本申请实施例不限定步骤311与步骤308之间的执行次数关系,步骤311与步骤308之间的执行次数为多比一,步骤311包括:训练设备从至少两个第一输出结果中顺序获取相邻的两个第一输出结果,并生成相邻的两个第一输出结果之间的第一相似度。训练设备重复执行步骤311至少两次,以逐次生成至少三个第一输出结果中任意相邻两个第一输出结果之间的第一相似度。
若训练设备根据至少三个第一输出结果生成第一相似度,则步骤311包括:训练设备生成至少三个第一输出结果之间的第一相似度。
若训练设备根据两个第一输出结果生成第一相似度,而在一次完整的训练过程中仅需要将两个输入视频帧分别输入到学生网络教师网络中,也即不执行步骤308。则步骤311包括:训练设备获取到两个第一输出结果之后,生成两个第一输出结果之间的第一相似度。
更具体的,对于训练设备生成两个第一输出结果之间的第一相似度,以及训练设备生成至少三个第一输出结果之间的第一相似度的具体实现方式,均可以参照步骤309中的描述,区别在于步骤309是基于特征图级别来生成相似度,步骤311是基于输出结果级别来生成相似度,此处不做赘述。
312、训练设备根据至少两个第二输出结果,获取第二相似度,第二相似度用于指示第二输出结果之间的相似度。
本申请实施例中,步骤312与步骤311的实现方式类似,区别在于步骤312的执行对象是至少两个第二输出结果,步骤311的执行对象是至少两个第一输出结果,也即将步骤311的具体实现方式中的第一输出结果替换为第二输出结果,第一相似度替换为第二相似度,可以得到步骤312的具体实现方式,此处不做赘述。
313、训练设备获取至少三个第一输出结果的第一变化趋势,以及获取至少三个第二输出结果的第二变化趋势。
本申请实施例中,至少两组输入视频帧包括至少三组输入视频帧,也即N的取值大于等于3,训练设备获取学生网络输出的与至少三组输入视频帧对应的至少三个第一输出结果,每个第一输出结果与一组输入视频帧对应,进而训练设备获取至少三个第一输出结果的第一变化趋势。对应的,训练设备可以获取到教师网络输出的至少三个第二输出结果,每个第二输出结果与一组输入视频帧对应,进而生成至少三个第二输出结果的第二变化趋势。
具体的,在一种实现方式中,步骤313可以包括:训练设备通过神经网络对至少三个第一输出结果进行向量化编码,得到第一变化趋势;训练设备通过神经网络对至少三个第二输出结果进行向量化编码,得到第二变化趋势。针对执行向量化编码所采用的神经网络,可以参考步骤308中的描述。对输出结果进行向量化编码指的是将相同分辨率至少三个输出结果转换为向量化的表达方式,以体现前述相同分辨率的至少三个输出结果的变化趋势。
在另一种实现方式中,步骤313可以包括:训练设备将第一输出结果输入光流网络中,得到光流网络输出的第一变化趋势;训练设备将第二输出结果输入光流网络中,得到光流网络输出的第二变化趋势。
314、训练设备通过损失函数对学生网络进行训练,直至满足收敛条件,得到执行过训练操作的学生网络。
本申请实施例中,步骤308、步骤309和310以及步骤313均为可选步骤,若步骤308、步骤309和310以及步骤313均不执行,则也不需要执行步骤304和305。则步骤314可以包括:训练设备通过第一损失函数对学生网络进行训练,直至满足第一损失函数的收敛条件,得到执行过训练操作的学生网络。其中,第一损失函数根据第一相似度与第二相似度之间的相似度获得,第一损失函数的训练目标是拉近第一相似度和第二相似度之间的相似度,当第一相似度和第二相似度之间的相似度大于或等于第一阈值的情况下,满足第一损失函数的收敛条件。本申请实施例中,在对学生网络进行训练的过程中,通过第一损失函数对学生网络进行迭代训练,第一损失函数的目标是拉近第一相似度和第二相似度之间的相似程度,也即在训练阶段使学生网络学习教师网络对不同视频帧的处理结果,以使执行训练操作过程中学生网络的帧间稳定性向教师网络的帧间稳定性靠拢,从而完成训练操作的学生网络的帧间稳定性能够得到提升。
进一步地,第一损失函数具体可以表现为均方误差损失函数(mean-squarederror loss,MSE Loss)、负对数似然损失函数(negative log likelihood loss,NLLLoss)、L1损失函数或类型的损失函数等,此处不做穷举。作为示例,此处以第一损失函数采用MSE损失函数为例,对第一损失函数的具体形式进行展示:
其中,lPAF代表第一损失函数,Qt代表来源视频中的第t个视频帧,Qt+k代表来源视频中的第t+k个视频帧,代表学生网络对第t个视频帧进行处理得到的第一输出结果中的位置i处与学生网络对第t+k个视频帧进行处理得到的第一输出结果中位置j处的相似度,/>代表教师网络对第t个视频帧进行处理得到的第二输出结果中的位置i处与教师网络对第t+k个视频帧进行处理得到的第二输出结果中位置j处的相似度,N指的是第一输出结果和第二输出结果中包括的像素点数或特征点数,应当理解,此次对第一损失函数的具体表现形式的举例仅为方便理解本方案,在其他实施例中,/>与/>之间差的平方还可以替换为/>与/>之间差的绝对值,第一损失函数也可以替换为其它类型的损失函数等等,此处均不做限定。
为进一步理解本方案,请参阅图5a,图5a为本申请实施例提供的神经网络训练方法中生成第一损失函数的一种示意图。训练设备将两组输入视频帧分别输入到学生网络和教师网络中,得到学生网络输出的两个第一输出结果和教师网络输出的两个第二输出结果,生成两个第一输出结果之间的第一相似度,以及生成两个第二输出结果之间的第二相似度,进而基于第一相似度和第二相似度生成第一损失函数的函数值,应理解,图5a中的示例仅为方便理解本方案,不用于限定本方案。
若步骤308以及步骤309和310不执行,且步骤313执行,则不需要执行步骤304和305,则步骤314可以包括:训练设备通过第一损失函数和第二损失函数对学生网络进行训练,直至满足第一损失函数和第二损失函数的收敛条件,得到执行过训练操作的学生网络。其中,第二损失函数根据第一变化趋势和第二变化趋势之间的相似度获得,第二损失函数的训练目标是拉近第一变化趋势和第二变化趋势之间的相似度,当第一变化趋势和第二变化趋势之间的相似度大于或等于第二阈值的情况下,满足第二损失函数的收敛条件。第二损失函数的类型可以参阅对第一损失函数的类型的描述,此处不做赘述。本申请实施例中,在训练阶段中,训练的方向不仅包括使学生网络输出的不同输出结果之间的相似度向教师网络靠拢,还包括使学生网络输出的不同输出结果之间的变化趋势向教师网络靠拢,进一步帮助学生网络学习到教师网络的帧间稳定性,以提高学生网络的帧间稳定性。
若步骤308执行,且步骤309和310以及步骤313不执行,则需要执行步骤304和305,则步骤314可以包括:训练设备通过第一损失函数和第三损失函数对学生网络进行训练,直至满足第一损失函数和第三损失函数的收敛条件,得到执行过训练操作的学生网络。其中,第三损失函数根据第三变化趋势和第四变化趋势之间的相似度获得,第三损失函数的训练目标是拉近第三变化趋势和第四变化趋势之间的变化趋势,当第三变化趋势和第四变化趋势之间的相似度大于或等于第三阈值的情况下,满足第三损失函数的收敛条件。第三损失函数的类型可以参阅对第一损失函数的类型的描述,此处不做赘述。本申请实施例中,在训练阶段中,训练的方向还包括使学生网络在处理过程中生成的特征图之间的变化趋势向教师网络靠拢,进一步帮助学生网络学习到教师网络的帧间稳定性,以提高学生网络的帧间稳定性;此外,由于特征图的分辨率低于输出结果的分辨率,在特征图级别计算变化趋势,有利于减少计算机资源的使用。
作为示例,此处以第三损失函数采用MSE损失函数,且一组特征图中包括一个特征图为例,对第三损失函数的具体形式进行展示:
其中,lMF代表第三损失函数,ET代表第四变化趋势,ES代表第三变化趋势,lMF是第四变化趋势与第三变化趋势的二范数的平方,应理解,上述示例仅为方便理解本方案,当第三损失函数采用其他类型的损失函数时,公式也可以对应发生变化。在一组特征图中包括至少两种分辨率的特征图的情况下,在一种实现方式中,可以通过上述公式分别生成每种分辨率的特征图的变化趋势之间的相似度,进而将不同分辨率的特征图的变化趋势之间的相似度相加,以生成第三损失函数。在另一种实现方式中,可以通过上述公式分别生成每种分辨率的特征图的变化趋势之间的相似度,进而从中选取最低的相似度,以生成第三损失函数
为进一步理解本方案,请参阅图5b,图5b为本申请实施例提供的神经网络训练方法中生成第三损失函数的一种示意图。图5b中以每组第一特征图和每组第二特征图中均包括分辨率为256×256和分辨率为64×64的两个特征图为例。训练设备分别将三组输入视频帧输入到学生网络和教师网络中,得到学生网络在对三组输入视频帧进行处理的过程中生成的三组第一特征图,从三组第一特征图中获取分辨率为256×256的三个第一特征图,以生成分辨率为256×256的三个第一特征图之间的第三变化趋势,从三组第二特征图中获取分辨率为256×256的三个第二特征图,以生成分辨率为256×256的三个第二特征图之间的第四变化趋势,进而生成分辨率为256×256的三个第一特征图之间的第三变化趋势与分辨率为256×256的三个第二特征图之间的第四变化趋势的相似度;从三组第一特征图中获取分辨率为64×64的三个第一特征图,以生成分辨率为64×64的三个第一特征图之间的第三变化趋势,从三组第二特征图中获取分辨率为64×64的三个第二特征图,以生成分辨率为64×64的三个第二特征图之间的第四变化趋势,进而生成分辨率为64×64的三个第一特征图之间的第三变化趋势与分辨率为64×64的三个第二特征图之间的第四变化趋势的相似度;在得到与分辨率为256×256对应的特征图的变化趋势之间的相似度和与分辨率为64×64对应的特征图的变化趋势之间的相似度之后,根据前述两个相似度生成第三损失函数。
若步骤309和310执行,且步骤308和步骤313不执行,则需要执行步骤304和305,则步骤314可以包括:训练设备通过第一损失函数和第四损失函数对学生网络进行训练,直至满足第一损失函数和第四损失函数的收敛条件,得到执行过训练操作的学生网络。其中,第四损失函数根据第三相似度与第四相似度之间的相似度获得,第四损失函数的训练目标是拉近第三相似度与第四相似度之间的相似度,当第三相似度与第四相似度之间的相似度大于或等于第四阈值的情况下,满足第四损失函数的收敛条件。第四损失函数的类型可以参阅对第一损失函数的类型的描述,此处不做赘述。本申请实施例中,在训练阶段中,训练的方向不仅包括使学生网络输出的不同输出结果之间的相似度向教师网络靠拢,还包括使学生网络在进行视频帧处理过程中输出的特征图之间的相似度向教师网络靠拢,以提高特征提取过程中的帧间稳定性,从而进一步提高学生网络的帧间稳定性。
若步骤308和步骤313执行,步骤309和310不执行,则需要执行步骤304和305,则步骤314可以包括:训练设备通过第一损失函数、第二损失函数和第三损失函数对学生网络进行训练,直至满足第一损失函数、第二损失函数和第三损失函数的收敛条件,得到执行过训练操作的学生网络。
若步骤309和310以及步骤313执行,步骤308不执行,则需要执行步骤304和305,则步骤314可以包括:训练设备通过第一损失函数、第二损失函数和第四损失函数对学生网络进行训练,直至满足第一损失函数、第二损失函数和第四损失函数的收敛条件,得到执行过训练操作的学生网络。
若步骤309以及步骤309和310执行,步骤313不执行,则需要执行步骤304和305,则步骤314可以包括:训练设备通过第一损失函数、第三损失函数和第四损失函数对学生网络进行训练,直至满足第一损失函数、第三损失函数和第四损失函数的收敛条件,得到执行过训练操作的学生网络。
若步骤308、步骤309和310以及步骤313均执行,则需要执行步骤304和305,则步骤314可以包括:训练设备通过第一损失函数、第二损失函数、第三损失函数和第四损失函数对学生网络进行训练,直至满足第一损失函数、第二损失函数、第三损失函数和第四损失函数的收敛条件,得到执行过训练操作的学生网络。
二、推理阶段
具体的,请参阅图6,图6为本申请实施例提供的视频帧处理方法的一种流程示意图,本申请实施例提供的视频帧处理方法可以包括:
601、执行设备获取待处理视频。
本申请实施例中,执行设备可以通过执行设备上配置的图像采集装置直接实施获取待处理视频,也可以从执行设备的内部存储装置或外部存储装置中读取待处理视频,还可以通过执行设备上的搜索引擎下载待处理视频,还可以通过无线通信网络或有线通信网络接收待处理视频等,具体不限定待处理视频的获取方式。
602、执行设备将待处理视频中的一组视频帧输入视频处理网络中,得到视频处理网络输出的视频处理结果。
本申请实施例中,步骤602的具体实现方式可以参阅上述图3对应实施例中步骤302和306中的描述。其中,视频处理网络的具体实现类型与学生网络的具体实现类型一致,视频处理结果的具体表现形式与第一输出结果的具体表现形式一致,此处不再赘述。
进一步地,视频处理网络是通过第一损失函数训练得到的,可选地,视频处理网络通过第一损失函数和第二损失函数训练得到的,或者,视频处理网络通过第一损失函数和第三损失函数训练得到的,或者,视频处理网络通过第一损失函数和第四损失函数训练得到的,第一损失函数、第二损失函数、第三损失函数以及第四损失函数的概念均在图3对应的实施例中已有描述,此处不做赘述。
本申请实施例中,进行视频处理的视频处理网络是通过第一损失函数训练得到的,第一损失函数的目标是拉近第一相似度和第二相似度之间的相似程度,也即在训练阶段使视频处理网络学习教师网络对不同视频帧的处理结果,以使执行训练操作过程中视频处理网络的帧间稳定性向教师网络的帧间稳定性靠拢,从而提升了视频处理网络对不同组视频帧输出的视频处理结果之间的帧间稳定性。
为了更加直观的展示本申请的有益效果,以下在Cityscapes数据集上进行测试,测试结果如下表1所示。
表1
mIOU(%) TC
采用目前训练方案训练PSPNet-18 69.8 68.5
采用本方案中的训练方案训练PSPNet-18 73.1 70.6
采用目前训练方案训练MobileNetV2 70.1 68.4
采用本方案中的训练方案训练MobileNetV2 73.9 69.9
采用目前训练方案训练HRNet-w18 75.6 69.1
采用本方案中的训练方案训练HRNet-w18 76.6 70.1
参阅上述表1,其中,PSPNet-18是用于对视频进行语义分割的一种神经网络,MobileNetV2是谷歌推出的一种轻量型网络,高分辨率网络(high resolution net,HRNet)是微软提出的一种神经网络,平均交并比(mean intersection over union,mIOU)用于反映语义分割类网络的平均精度,时序一致性(temporal consistency,TC)用于反映语义分割类网络的帧间稳定性,通过上述表1可以直观的看出,采用本申请实施例提供的训练方法,不仅可以提高神经网络的平均精度,也可以提高神经网络的帧间稳定性。
在图1至图6所对应的实施例的基础上,为了更好的实施本申请实施例的上述方案,下面还提供用于实施上述方案的相关设备。具体参阅图7,图7为本申请实施例提供的视频帧处理装置的一种结构示意图,视频帧处理装置700包括:输入模块701、获取模块702和训练模块703。其中,输入模块701,用于将至少两组输入视频帧输入学生网络,并获取学生网络输出的至少两个第一输出结果,其中,至少两组输入视频帧中每组输入视频帧包括至少一个输入视频帧,至少两组输入视频帧包括于同一视频,每个第一输出结果对应于至少两组输入视频帧中的一组输入视频帧;输入模块701,还用于将至少两组输入视频帧输入教师网络,并获取教师网络输出的至少两个第二输出结果,每个第二输出结果对应于至少两组输入视频帧中的一组输入视频帧;获取模块702,用于根据至少两个第一输出结果,获取第一相似度,第一相似度用于指示第一输出结果之间的相似度;获取模块702,还用于根据至少两个第二输出结果,获取第二相似度,第二相似度用于指示第二输出结果之间的相似度;训练模块703,用于通过第一损失函数对学生网络进行训练,直至满足收敛条件,得到执行过训练操作的学生网络,第一损失函数根据第一相似度与第二相似度之间的相似度获得。
本申请实施例中,训练模块703在对学生网络进行训练的过程中,通过第一损失函数对学生网络进行迭代训练,由于第一损失函数根据第一相似度与第二相似度之间的相似度获得,也即在训练阶段使学生网络学习教师网络对不同视频帧的处理结果,以使执行训练操作过程中学生网络的帧间稳定性向教师网络的帧间稳定性靠拢,从而完成训练操作的学生网络的帧间稳定性能够得到提升。
在一种可能的设计中,至少两个第一输出结果中包括至少三个第一输出结果,至少两个第二输出结果中包括至少三个第二输出结果。获取模块702,还用于获取至少三个第一输出结果的第一变化趋势,以及获取至少三个第二输出结果的第二变化趋势;训练模块703,具体用于通过第一损失函数和第二损失函数对学生网络进行训练,直至满足收敛条件,得到执行过训练操作的学生网络,第二损失函数根据第一变化趋势和第二变化趋势之间的相似度获得。
本申请实施例中,在训练阶段中,训练模块703训练的方向不仅包括使学生网络输出的不同输出结果之间的相似度向教师网络靠拢,还包括使学生网络输出的不同输出结果之间的变化趋势向教师网络靠拢,进一步帮助学生网络学习到教师网络的帧间稳定性,以提高学生网络的帧间稳定性。
在一种可能的设计中,获取模块702,具体用于:从至少三个第一输出结果中选取两个第一输出结果,并生成两个第一输出结果之间的第一相似度;从至少三个第二输出结果中选取两个第二输出结果,并生成两个第二输出结果之间的第二相似度。
本申请实施例中,由于输出结果的分辨率较高,处理输出结果时使用计算机资源较多,选用两个输出结果来计算输出结果间的相似度,有利于减少使用的计算机资源,也有利于提高训练过程的效率。
在一种可能的设计中,至少两组输入视频帧包括至少三组输入视频帧。获取模块702,还用于获取学生网络在进行视频帧处理过程中生成的至少三组第一特征图,其中,至少三组第一特征图中的每组第一特征图对应于至少三组输入视频帧中的一组输入视频帧,每组第一特征图中包括至少一个特征图;获取模块702,还用于获取教师网络在进行视频帧处理过程中生成的至少三组第二特征图,其中,至少三组第二特征图中的每组第二特征图对应于至少三组输入视频帧中的一组输入视频帧;获取模块702,还用于获取至少三组第一特征图的第三变化趋势,以及获取至少三组第二特征图的第四变化趋势;训练模块703,具体用于通过第一损失函数和第三损失函数对学生网络进行训练,直至满足收敛条件,得到执行过训练操作的学生网络,第三损失函数根据第三变化趋势和第四变化趋势之间的相似度获得。
本申请实施例中,在训练阶段中,训练模块703训练的方向还包括使学生网络在处理过程中生成的特征图之间的变化趋势向教师网络靠拢,进一步帮助学生网络学习到教师网络的帧间稳定性,以提高学生网络的帧间稳定性;此外,由于特征图的分辨率低于输出结果的分辨率,在特征图级别计算变化趋势,有利于减少计算机资源的使用。
在一种可能的设计中,获取模块702,具体用于:对第一特征图进行维度变换,并对第二特征图进行维度变换,其中,执行过维度变换操作的第一特征图与执行过维度变换操作的第二特征图的维度数一致;通过神经网络对执行过维度变换操作的第一特征图进行向量化编码,得到第三变化趋势;通过神经网络对执行过维度变换操作的第二特征图进行向量化编码,得到第四变化趋势。
本申请实施例中,通过对多个特征图进行向量化编码,可以有效的提取多帧中的运动信息,操作简单,易实现。
在一种可能的设计中,获取模块702,还用于获取学生网络在进行视频帧处理过程中生成的至少两组第一特征图,其中,至少两组第一特征图中的每组第一特征图分别对应于至少两组输入视频帧中的一组输入视频帧的视频帧特征提取结果;获取模块702,还用于获取教师网络在进行视频帧处理过程中生成的至少两组第二特征图,其中,至少两组第二特征图中的每组第二特征图分别对应于至少两组输入视频帧中的一组输入视频帧的视频帧特征提取结果,每组第二特征图中包括至少一个特征图;获取模块702,还用于根据至少两组第一特征图,获取第三相似度,第三相似度用于指示第一特征图之间的相似度;获取模块702,还用于根据至少两组第二特征图,获取第四相似度,第四相似度用于指示第二特征图之间的相似度;训练模块703,具体用于通过第一损失函数和第四损失函数对学生网络进行训练,直至满足收敛条件,得到执行过训练操作的学生网络,第四损失函数根据第三相似度与第四相似度之间的相似度获得。
本申请实施例中,在训练阶段中,训练模块703训练的方向不仅包括使学生网络输出的不同输出结果之间的相似度向教师网络靠拢,还包括使学生网络在进行视频帧处理过程中输出的特征图之间的相似度向教师网络靠拢,以提高特征提取过程中的帧间稳定性,从而进一步提高学生网络的帧间稳定性。
在一种可能的设计中,至少两组输入视频帧中包括至少两个输入视频帧,至少两个输入视频帧中包括第一输入视频帧和第二输入视频帧,第一输入视频帧和第二输入视频帧为至少两组输入视频帧中相邻的两个输入视频帧,第一输入视频帧与第二输入视频帧为视频中不相邻的两个视频帧。
本申请实施例中,在两次相邻的输入视频帧输入操作中,分别采用的是视频中不相邻的两个视频帧,使得学生网络在训练阶段可以适应跨度大的视频帧,在应用阶段对跨度小的视频帧进行处理时是向下兼容,有利于提高学生网络在应用阶段的稳定性。
在一种可能的设计中,学生网络和教师网络均为分割网络、检测网络、光流网络、超分网络或特征提取网络。
本申请实施例中,示出了学生网络的多种具体实现方式,扩展了本方案的应用场景,提高了本方案的实现灵活性。
需要说明的是,视频帧处理装置700中各模块/单元之间的信息交互、执行过程等内容,与本申请中图3至图5b对应的各个方法实施例基于同一构思,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
接下来介绍本申请实施例提供的一种训练设备,请参阅图8,图8是本申请实施例提供的训练设备一种结构示意图,训练设备800上可以部署有图7对应实施例中所描述的视频帧处理装置700,用于实现图3至图5b对应实施例中训练设备的功能。具体的,训练设备800由一个或多个服务器实现,训练设备800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)822(例如,一个或一个以上处理器)和存储器832,一个或一个以上存储应用程序842或数据844的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器832和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对训练设备中的一系列指令操作。更进一步地,中央处理器822可以设置为与存储介质830通信,在训练设备800上执行存储介质830中的一系列指令操作。
训练设备800还可以包括一个或一个以上电源826,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口858,和/或,一个或一个以上操作系统841,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
本申请实施例中,中央处理器822,用于执行图3至图5b对应实施例中的训练设备执行的视频帧处理方法。具体的,中央处理器822,用于将至少两组输入视频帧输入学生网络,并获取学生网络输出的至少两个第一输出结果,其中,至少两组输入视频帧中每组输入视频帧包括至少一个输入视频帧,至少两组输入视频帧包括于同一视频,至少两个第一输出结果中每个第一输出结果分别对应于至少两组输入视频帧中的一组输入视频帧的输出结果;将至少两组输入视频帧输入教师网络,并获取教师网络输出的至少两个第二输出结果,至少两个第二输出结果中每个第二输出结果对应于至少两组输入视频帧中的一组输入视频帧的输出结果;根据至少两个第一输出结果,获取第一相似度,第一相似度用于指示第一输出结果之间的相似度;根据至少两个第二输出结果,获取第二相似度,第二相似度用于指示第二输出结果之间的相似度;通过第一损失函数对学生网络进行训练,直至满足收敛条件,得到执行过训练操作的学生网络,第一损失函数根据第一相似度与第二相似度之间的相似度获得。
需要说明的是,中央处理器822还用于执行图3至图5b中其它由训练设备执行的步骤,中央处理器822执行上述各个步骤的具体方式,与本申请中图3至图5b对应的各个方法实施例基于同一构思,其带来的技术效果与本申请中图3至图5b对应的各个方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
本申请实施例提供的一种执行设备,请参阅图9,图9为本申请实施例提供的执行设备的一种结构示意图,其中,执行设备900用于实现图6对应实施例中执行设备的功能。具体的,执行设备900包括:接收器901、发射器902、处理器903和存储器904(其中执行设备900中的处理器903的数量可以一个或多个,图9中以一个处理器为例),其中,处理器903可以包括应用处理器9031和通信处理器9032。在本申请的一些实施例中,接收器901、发射器902、处理器903和存储器904可通过总线或其它方式连接。
存储器904可以包括只读存储器和随机存取存储器,并向处理器903提供指令和数据。存储器904的一部分还可以包括非易失性随机存取存储器(non-volatile randomaccess memory,NVRAM)。存储器904存储有处理器和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。
处理器903控制执行设备的操作。具体的应用中,执行设备的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
上述本申请实施例揭示的方法可以应用于处理器903中,或者由处理器903实现。处理器903可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器903中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器903可以是通用处理器、数字信号处理器(digital signal processing,DSP)、微处理器或微控制器,还可进一步包括专用集成电路(application specific integratedcircuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。该处理器903可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器904,处理器903读取存储器904中的信息,结合其硬件完成上述方法的步骤。
接收器901可用于接收输入的数字或字符信息,以及产生与执行设备的相关设置以及功能控制有关的信号输入。发射器902可用于通过第一接口输出数字或字符信息;发射器902还可用于通过第一接口向磁盘组发送指令,以修改磁盘组中的数据;发射器902还可以包括显示屏等显示设备。
本申请实施例中,处理器903,用于执行图6对应实施例中的执行设备执行的视频帧处理方法。具体的,应用处理器9031,用于获取待处理视频;将所述待处理视频中的一组视频帧输入视频处理网络中,得到所述视频处理网络输出的视频处理结果;其中,所述视频处理网络是通过第一损失函数训练得到的,所述第一损失函数根据所述第一相似度与所述第二相似度之间的相似度获得,所述第一相似度为根据至少两个第一输出结果生成的,所述第一相似度用于指示所述第一输出结果之间的相似度,所述至少两个第一输出结果为将至少两组输入视频帧输入学生网络中得到的,每个所述至少两个第一输出结果分别对应于所述至少两组输入视频帧中的一组输入视频帧的输出结果,所述第二相似度为根据至少两个第二输出结果生成的,所述第二相似度用于指示所述第二输出结果之间的相似度,所述至少两个第二输出结果为将至少两组输入视频帧输入教师网络中得到的,每个所述至少两个第二输出结果分别对应于所述至少两组输入视频帧中的一组输入视频帧的输出结果,所述学生网络和所述教师网络均为视频处理网络。
需要说明的是,应用处理器9031还用于执行图6中其它由执行设备执行的步骤,应用处理器9031执行上述各个步骤的具体方式,与本申请中图6对应的各个方法实施例基于同一构思,其带来的技术效果与本申请中图6对应的各个方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
本申请实施例中还提供一种包括计算机程序产品,当其在计算机上运行时,使得计算机执行如前述图3至图5b所示实施例描述的方法中训练设备所执行的步骤,或者,使得计算机执行如前述图6所示实施例描述的方法中执行设备所执行的步骤。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于进行信号处理的程序,当其在计算机上运行时,使得计算机执行如前述3至图5b所示实施例描述的方法中训练设备所执行的步骤,或者,使得计算机执行如前述图6所示实施例描述的方法中执行设备所执行的步骤。
本申请实施例提供的视频帧处理装置具体可以为芯片,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使训练设备内的芯片执行上述图3至图5b所示实施例描述的神经网络训练方法,或者,以使执行设备内的芯片执行上述图6所示实施例描述的神经网络训练方法。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述无线接入设备端内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
具体的,请参阅图10,图10为本申请实施例提供的芯片的一种结构示意图,所述芯片可以表现为神经网络处理器NPU 100,NPU 100作为协处理器挂载到主CPU(Host CPU)上,由Host CPU分配任务。NPU的核心部分为运算电路1003,通过控制器1004控制运算电路1003提取存储器中的矩阵数据并进行乘法运算。
在一些实现中,运算电路1003内部包括多个处理单元(Process Engine,PE)。在一些实现中,运算电路1003是二维脉动阵列。运算电路1003还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路1003是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器1002中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器1001中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)1008中。
统一存储器1006用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器(Direct Memory Access Controller,DMAC)1005,DMAC被搬运到权重存储器1002中。输入数据也通过DMAC被搬运到统一存储器1006中。
BIU为Bus Interface Unit即,总线接口单元2010,用于AXI总线与DMAC和取指存储器(Instruction Fetch Buffer,IFB)1009的交互。
总线接口单元1010(Bus Interface Unit,简称BIU),用于取指存储器1009从外部存储器获取指令,还用于存储单元访问控制器1005从外部存储器获取输入矩阵A或者权重矩阵B的原数据。
DMAC主要用于将外部存储器DDR中的输入数据搬运到统一存储器1006或将权重数据搬运到权重存储器1002中或将输入数据数据搬运到输入存储器1001中。
向量计算单元1007包括多个运算处理单元,在需要的情况下,对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积/全连接层网络计算,如Batch Normalization(批归一化),像素级求和,对特征平面进行上采样等。
在一些实现中,向量计算单元1007能将经处理的输出的向量存储到统一存储器1006。例如,向量计算单元1007可以将线性函数和/或非线性函数应用到运算电路1003的输出,例如对卷积层提取的特征平面进行线性插值,再例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元1007生成归一化的值、像素级求和的值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路1003的激活输入,例如用于在神经网络中的后续层中的使用。
控制器1004连接的取指存储器(instruction fetch buffer)1009,用于存储控制器1004使用的指令;
统一存储器1006,输入存储器1001,权重存储器1002以及取指存储器1009均为On-Chip存储器。外部存储器私有于该NPU硬件架构。
其中,图3和图6所对应实施例中示出的神经网络中各层的运算可以由运算电路1003或向量计算单元1007执行。
其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,ASIC,或一个或多个用于控制上述第一方面方法的程序执行的集成电路。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。

Claims (20)

1.一种神经网络训练方法,其特征在于,所述方法包括:
将至少两组输入视频帧输入学生网络,并获取所述学生网络输出的至少两个第一输出结果,其中,所述至少两组输入视频帧中每组输入视频帧包括至少一个输入视频帧,所述至少两组输入视频帧包括于同一视频,每个所述至少两个第一输出结果分别对应于所述至少两组输入视频帧中的一组输入视频帧的输出结果;
将所述至少两组输入视频帧输入教师网络,并获取所述教师网络输出的至少两个第二输出结果,每个所述至少两个第二输出结果分别对应于所述至少两组输入视频帧中的一组输入视频帧的输出结果,所述教师网络和所述学生网络均为神经网络模型;
根据所述至少两个第一输出结果,获取第一相似度,所述第一相似度用于指示所述第一输出结果之间的相似度;
根据所述至少两个第二输出结果,获取第二相似度,所述第二相似度用于指示所述第二输出结果之间的相似度;
通过第一损失函数对所述学生网络进行训练,直至满足收敛条件,得到执行过训练操作的所述学生网络,所述第一损失函数根据所述第一相似度与所述第二相似度之间的相似度获得;
所述至少两组输入视频帧包括的所述输入视频帧为至少三组,所述方法还包括:
获取所述学生网络在进行视频帧处理过程中生成的至少三组第一特征图,其中,所述至少三组第一特征图中的每组第一特征图分别对应于所述至少三组输入视频帧中的一组输入视频帧的视频帧特征提取结果;
获取所述教师网络在进行视频帧处理过程中生成的至少三组第二特征图,其中,所述至少三组第二特征图中的每组第二特征图分别对应于所述至少三组输入视频帧中的一组输入视频帧的视频帧特征提取结果;
获取所述至少三组第一特征图的第三变化趋势,以及获取所述至少三组第二特征图的第四变化趋势;
所述通过第一损失函数对所述学生网络进行训练,直至满足收敛条件,得到执行过训练操作的所述学生网络,包括:
通过所述第一损失函数和第三损失函数对所述学生网络进行训练,直至满足收敛条件,得到执行过训练操作的所述学生网络,所述第三损失函数根据所述第三变化趋势和所述第四变化趋势之间的相似度获取。
2.根据权利要求1所述的方法,其特征在于,所述将至少两组输入视频帧输入学生网络,并获取所述学生网络输出的至少两个第一输出结果,包括:
将至少三组输入视频帧输入所述学生网络,并获取所述学生网络输出的至少三个第一输出结果;
所述将所述至少两组输入视频帧输入教师网络,并获取所述教师网络输出的至少两个第二输出结果,包括:
将所述至少三组输入视频帧输入所述教师网络,并获取所述教师网络输出的至少三个第二输出结果;
所述通过第一损失函数对所述学生网络进行训练,直至满足收敛条件,得到执行过训练操作的所述学生网络之前,所述方法还包括:
获取所述至少三个第一输出结果的第一变化趋势,以及获取所述至少三个第二输出结果的第二变化趋势;
所述通过第一损失函数对所述学生网络进行训练,直至满足收敛条件,得到执行过训练操作的所述学生网络,包括:
通过所述第一损失函数和第二损失函数对所述学生网络进行训练,直至满足收敛条件,得到执行过训练操作的所述学生网络,所述第二损失函数根据所述第一变化趋势和所述第二变化趋势之间的相似度获得。
3.根据权利要求2所述的方法,其特征在于,所述获取所述至少两个第一输出结果之间的第一相似度,并获取所述至少两个第二输出结果之间的第二相似度,包括:
从所述至少三个第一输出结果中选取两个第一输出结果,并生成所述两个第一输出结果之间的所述第一相似度;
从所述至少三个第二输出结果中选取两个第二输出结果,并生成所述两个第二输出结果之间的所述第二相似度。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述获取所述至少三组第一特征图的第三变化趋势,以及获取所述至少三组第二特征图的第四变化趋势,包括:
对所述第一特征图进行维度变换,并对所述第二特征图进行维度变换,其中,执行过维度变换操作的所述第一特征图与执行过维度变换操作的所述第二特征图的维度数一致;
通过神经网络对执行过维度变换操作的所述第一特征图进行向量化编码,得到所述第三变化趋势;
通过神经网络对执行过维度变换操作的所述第二特征图进行向量化编码,得到所述第四变化趋势。
5.根据权利要求1至3中任一项所述的方法,其特征在于,所述将至少两组输入视频帧输入学生网络之后,所述方法还包括:
获取所述学生网络在进行视频帧处理过程中生成的至少两组第一特征图,其中,所述至少两组第一特征图中的每组第一特征图分别对应于所述至少两组输入视频帧中的一组输入视频帧的视频帧特征提取结果;
所述将所述至少两组输入视频帧输入教师网络之后,所述方法还包括:
获取所述教师网络在进行视频帧处理过程中生成的至少两组第二特征图,其中,所述至少两组第二特征图中的每组第二特征图分别对应于所述至少两组输入视频帧中的一组输入视频帧的视频帧特征提取结果;
所述通过第一损失函数对所述学生网络进行训练,直至满足收敛条件,得到执行过训练操作的所述学生网络之前,所述方法还包括:
根据所述至少两组第一特征图,获取第三相似度,所述第三相似度用于指示所述第一特征图之间的相似度;
根据所述至少两组第二特征图,获取第四相似度,所述第四相似度用于指示所述第二特征图之间的相似度;
所述通过第一损失函数对所述学生网络进行训练,直至满足收敛条件,得到执行过训练操作的所述学生网络,包括:
通过所述第一损失函数和第四损失函数对所述学生网络进行训练,直至满足收敛条件,得到执行过训练操作的所述学生网络,所述第四损失函数根据所述第三相似度与所述第四相似度之间的相似度获得。
6.根据权利要求1至3中任一项所述的方法,其特征在于,所述至少两组输入视频帧中包括至少两个输入视频帧,所述至少两个输入视频帧中包括第一输入视频帧和第二输入视频帧,所述第一输入视频帧和所述第二输入视频帧为所述至少两组输入视频帧中相邻的两个输入视频帧,所述第一输入视频帧与所述第二输入视频帧为所述视频中不相邻的两个视频帧。
7.根据权利要求1至3中任一项所述的方法,其特征在于,所述学生网络和所述教师网络均为分割网络、检测网络、光流网络、超分网络或特征提取网络。
8.一种视频帧处理装置,其特征在于,所述装置包括:
输入模块,用于将至少两组输入视频帧输入学生网络,并获取所述学生网络输出的至少两个第一输出结果,其中,所述至少两组输入视频帧中每组输入视频帧包括至少一个输入视频帧,所述至少两组输入视频帧包括于同一视频,每个所述至少两个第一输出结果分别对应于所述至少两组输入视频帧中的一组输入视频帧的输出结果;
所述输入模块,还用于将所述至少两组输入视频帧输入教师网络,并获取所述教师网络输出的至少两个第二输出结果,每个所述至少两个第二输出结果分别对应于所述至少两组输入视频帧中的一组输入视频帧的输出结果,所述教师网络和所述学生网络均为神经网络模型;
获取模块,用于根据所述至少两个第一输出结果,获取第一相似度,所述第一相似度用于指示所述第一输出结果之间的相似度;
所述获取模块,还用于根据所述至少两个第二输出结果,获取第二相似度,所述第二相似度用于指示所述第二输出结果之间的相似度;
训练模块,用于通过第一损失函数对所述学生网络进行训练,直至满足收敛条件,得到执行过训练操作的所述学生网络,所述第一损失函数根据所述第一相似度与所述第二相似度之间的相似度获得;
其中,所述至少两组输入视频帧包括的所述输入视频帧为至少三组;
所述获取模块,还用于获取所述学生网络在进行视频帧处理过程中生成的至少三组第一特征图,其中,所述至少三组第一特征图中的每组第一特征图分别对应于所述至少三组输入视频帧中的一组输入视频帧的视频帧特征提取结果,所述每组第一特征图中包括至少一个特征图;
所述获取模块,还用于获取所述教师网络在进行视频帧处理过程中生成的至少三组第二特征图,其中,所述至少三组第二特征图中的每组第二特征图分别对应于所述至少三组输入视频帧中的一组输入视频帧的视频帧特征提取结果;
所述获取模块,还用于获取所述至少三组第一特征图的第三变化趋势,以及获取所述至少三组第二特征图的第四变化趋势;
所述训练模块,具体用于通过所述第一损失函数和第三损失函数对所述学生网络进行训练,直至满足收敛条件,得到执行过训练操作的所述学生网络,所述第三损失函数根据所述第三变化趋势和所述第四变化趋势之间的相似度获得。
9.根据权利要求8所述的装置,其特征在于,
所述输入模块具体用于将至少三组输入视频帧输入所述学生网络,并获取所述学生网络输出的至少三个第一输出结果;
所述输入模块具体用于将所述至少三组输入视频帧输入所述教师网络,并获取所述教师网络输出的至少三个第二输出结果;
所述获取模块,还用于获取所述至少三个第一输出结果的第一变化趋势,以及获取所述至少三个第二输出结果的第二变化趋势;
所述训练模块,具体用于通过所述第一损失函数和第二损失函数对所述学生网络进行训练,直至满足收敛条件,得到执行过训练操作的所述学生网络,所述第二损失函数根据所述第一变化趋势和所述第二变化趋势之间的相似度获得。
10.根据权利要求9所述的装置,其特征在于,所述获取模块,具体用于:
从所述至少三个第一输出结果中选取两个第一输出结果,并生成所述两个第一输出结果之间的所述第一相似度;
从所述至少三个第二输出结果中选取两个第二输出结果,并生成所述两个第二输出结果之间的所述第二相似度。
11.根据权利要求8至10中任一项所述的装置,其特征在于,所述获取模块,具体用于:
对所述第一特征图进行维度变换,并对所述第二特征图进行维度变换,其中,执行过维度变换操作的所述第一特征图与执行过维度变换操作的所述第二特征图的维度数一致;
通过神经网络对执行过维度变换操作的所述第一特征图进行向量化编码,得到所述第三变化趋势;
通过神经网络对执行过维度变换操作的所述第二特征图进行向量化编码,得到所述第四变化趋势。
12.根据权利要求8至10中任一项所述的装置,其特征在于,
所述获取模块,还用于获取所述学生网络在进行视频帧处理过程中生成的至少两组第一特征图,其中,所述至少两组第一特征图中的每组第一特征图分别对应于所述至少两组输入视频帧中的一组输入视频帧的视频帧特征提取结果;
所述获取模块,还用于获取所述教师网络在进行视频帧处理过程中生成的至少两组第二特征图,其中,所述至少两组第二特征图中的每组第二特征图分别对应于所述至少两组输入视频帧中的一组输入视频帧的视频帧特征提取结果;
所述获取模块,还用于根据所述至少两组第一特征图,获取第三相似度,所述第三相似度用于指示所述第一特征图之间的相似度;
所述获取模块,还用于根据所述至少两组第二特征图,获取第四相似度,所述第四相似度用于指示所述第二特征图之间的相似度;
所述训练模块,具体用于通过所述第一损失函数和第四损失函数对所述学生网络进行训练,直至满足收敛条件,得到执行过训练操作的所述学生网络,所述第四损失函数根据指示所述第三相似度与所述第四相似度之间的相似度获取。
13.根据权利要求8至10中任一项所述的装置,其特征在于,所述至少两组输入视频帧中包括至少两个输入视频帧,所述至少两个输入视频帧中包括第一输入视频帧和第二输入视频帧,所述第一输入视频帧和所述第二输入视频帧为所述至少两组输入视频帧中相邻的两个输入视频帧,所述第一输入视频帧与所述第二输入视频帧为所述视频中不相邻的两个视频帧。
14.根据权利要求8至10中任一项所述的装置,其特征在于,所述学生网络和所述教师网络均为分割网络、光流网络、超分网络或特征提取网络。
15.一种视频帧处理方法,其特征在于,所述方法包括:
获取待处理视频;
将所述待处理视频中的一组视频帧输入视频处理网络中,得到所述视频处理网络输出的视频处理结果;
其中,所述视频处理网络是通过第一损失函数和第三损失函数训练得到的,所述第一损失函数根据第一相似度与第二相似度之间的相似度获得,所述第一相似度为根据至少两个第一输出结果生成的,所述第一相似度用于指示所述第一输出结果之间的相似度,所述至少两个第一输出结果为将至少两组输入视频帧输入学生网络中得到的,每个所述至少两个第一输出结果分别对应于所述至少两组输入视频帧中的一组输入视频帧的输出结果,所述第二相似度为根据至少两个第二输出结果生成的,所述第二相似度用于指示所述第二输出结果之间的相似度,所述至少两个第二输出结果为将至少两组输入视频帧输入教师网络中得到的,每个所述至少两个第二输出结果分别对应于所述至少两组输入视频帧中的一组输入视频帧的输出结果,所述学生网络和所述教师网络均为视频处理网络;
所述第三损失函数根据第三变化趋势和第四变化趋势之间的相似度获取,所述第三变化趋势为至少三组第一特征图的变化趋势,所述至少三组第一特征图为将至少三组输入视频输入所述学生网络,以在所述学生网络进行视频帧处理过程中获取到的,所述至少三组第一特征图中的每组第一特征图分别对应于所述至少三组输入视频帧中的一组输入视频帧的视频帧特征提取结果,所述第四变化趋势为至少三组第二特征图的变化趋势,所述至少三组第二特征图为将至少三组输入视频输入所述教师网络,以在所述教师网络进行视频帧处理过程中获取到的,所述至少三组第二特征图中的每组第二特征图分别对应于所述至少三组输入视频帧中的一组输入视频帧的视频帧特征提取结果。
16.根据权利要求15所述的方法,其特征在于,所述视频处理网络为分割网络、光流网络、超分网络或特征提取网络。
17.一种计算机可读存储介质,其特征在于,包括程序,当其在计算机上运行时,使得计算机执行如权利要求1至7中任一项所述的方法,或者,使得计算机执行如权利要求15或16所述的方法。
18.一种视频帧处理装置,其特征在于,包括处理器和存储器,所述处理器与所述存储器耦合;
所述存储器,用于存储程序;
所述处理器,用于执行所述存储器中的程序,使得所述处理器执行如权利要求1至7中任一项所述的方法。
19.根据权利要求18所述的装置,其特征在于,所述视频帧处理装置为配置有芯片的训练设备或芯片。
20.一种视频帧处理装置,其特征在于,包括处理器和存储器,所述处理器与所述存储器耦合;
所述存储器,用于存储程序;
所述处理器,用于执行所述存储器中的程序,使得所述处理器执行如权利要求15或16所述的方法。
CN202010109190.6A 2020-02-21 2020-02-21 一种神经网络训练方法、视频帧处理方法以及相关设备 Active CN111401406B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010109190.6A CN111401406B (zh) 2020-02-21 2020-02-21 一种神经网络训练方法、视频帧处理方法以及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010109190.6A CN111401406B (zh) 2020-02-21 2020-02-21 一种神经网络训练方法、视频帧处理方法以及相关设备

Publications (2)

Publication Number Publication Date
CN111401406A CN111401406A (zh) 2020-07-10
CN111401406B true CN111401406B (zh) 2023-07-18

Family

ID=71432737

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010109190.6A Active CN111401406B (zh) 2020-02-21 2020-02-21 一种神经网络训练方法、视频帧处理方法以及相关设备

Country Status (1)

Country Link
CN (1) CN111401406B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111898735A (zh) * 2020-07-14 2020-11-06 上海眼控科技股份有限公司 蒸馏学习方法、装置、计算机设备和存储介质
CN111950596A (zh) * 2020-07-15 2020-11-17 华为技术有限公司 一种用于神经网络的训练方法以及相关设备
CN111814717B (zh) * 2020-07-17 2022-09-27 腾讯科技(深圳)有限公司 人脸识别方法、装置及电子设备
CN112150478B (zh) * 2020-08-31 2021-06-22 温州医科大学 一种构建半监督图像分割框架的方法及系统
CN112422870B (zh) * 2020-11-12 2021-09-17 复旦大学 一种基于知识蒸馏的深度学习视频插帧方法
CN112633285A (zh) * 2020-12-23 2021-04-09 平安科技(深圳)有限公司 领域适应方法、装置、电子设备及存储介质
CN113065635A (zh) * 2021-02-27 2021-07-02 华为技术有限公司 一种模型的训练方法、图像增强方法及设备
CN113011562A (zh) * 2021-03-18 2021-06-22 华为技术有限公司 一种模型训练方法及装置
CN113327265B (zh) * 2021-06-10 2022-07-15 厦门市美亚柏科信息股份有限公司 一种基于指导学习策略的光流估计方法和系统
CN113411425B (zh) * 2021-06-21 2023-11-07 深圳思谋信息科技有限公司 视频超分模型构建处理方法、装置、计算机设备和介质
CN114677565B (zh) * 2022-04-08 2023-05-05 北京百度网讯科技有限公司 特征提取网络的训练方法和图像处理方法、装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110569709A (zh) * 2019-07-16 2019-12-13 浙江大学 一种基于知识重组的场景解析方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9547890B2 (en) * 2013-07-09 2017-01-17 Hitachi Kokusai Electric Inc. Image processing apparatus and image processing method
US20180268292A1 (en) * 2017-03-17 2018-09-20 Nec Laboratories America, Inc. Learning efficient object detection models with knowledge distillation
CN107358293B (zh) * 2017-06-15 2021-04-02 北京图森智途科技有限公司 一种神经网络训练方法及装置
WO2019240964A1 (en) * 2018-06-12 2019-12-19 Siemens Aktiengesellschaft Teacher and student based deep neural network training
CN110490136B (zh) * 2019-08-20 2023-03-24 电子科技大学 一种基于知识蒸馏的人体行为预测方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110569709A (zh) * 2019-07-16 2019-12-13 浙江大学 一种基于知识重组的场景解析方法

Also Published As

Publication number Publication date
CN111401406A (zh) 2020-07-10

Similar Documents

Publication Publication Date Title
CN111401406B (zh) 一种神经网络训练方法、视频帧处理方法以及相关设备
US20210390653A1 (en) Learning robotic tasks using one or more neural networks
CN111797893B (zh) 一种神经网络的训练方法、图像分类系统及相关设备
WO2022017245A1 (zh) 一种文本识别网络、神经网络训练的方法以及相关设备
WO2022012407A1 (zh) 一种用于神经网络的训练方法以及相关设备
CN112183718B (zh) 一种用于计算设备的深度学习训练方法和装置
WO2022068623A1 (zh) 一种模型训练方法及相关设备
WO2021218471A1 (zh) 一种用于图像处理的神经网络以及相关设备
WO2022228425A1 (zh) 一种模型训练方法及装置
CN111414915B (zh) 一种文字识别方法以及相关设备
CN113065636A (zh) 一种卷积神经网络的剪枝处理方法、数据处理方法及设备
CN108171328B (zh) 一种神经网络处理器和采用其执行的卷积运算方法
CN113095475A (zh) 一种神经网络的训练方法、图像处理方法以及相关设备
CN111797589A (zh) 一种文本处理网络、神经网络训练的方法以及相关设备
CN113065997B (zh) 一种图像处理方法、神经网络的训练方法以及相关设备
WO2022012668A1 (zh) 一种训练集处理方法和装置
CN113505883A (zh) 一种神经网络训练方法以及装置
WO2022111387A1 (zh) 一种数据处理方法及相关装置
WO2023231954A1 (zh) 一种数据的去噪方法以及相关设备
WO2023179482A1 (zh) 一种图像处理方法、神经网络的训练方法以及相关设备
CN113536970A (zh) 一种视频分类模型的训练方法及相关装置
CN114925320B (zh) 一种数据处理方法及相关装置
CN113627421A (zh) 一种图像处理方法、模型的训练方法以及相关设备
CN111652349A (zh) 一种神经网络的处理方法及相关设备
WO2022052647A1 (zh) 一种数据处理方法、神经网络的训练方法以及相关设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant