视频质量的评估方法、装置及服务器
文献发布时间:2023-06-19 10:38:35
技术领域
本发明涉及神经网络技术领域,尤其是涉及一种视频质量的评估方法、装置及服务器。
背景技术
随着多媒体技术的发展,诸如视频或图像等网络数据呈现爆炸式增长,而低质量的视频或图像将严重影响人眼视觉感官。目前无参考图像或视频质量评估方法主要包括传统方法和深度学习方法,而上述两种方法均需要相应的模型对图像或视频进行质量评估。然而发明人经研究发现,现有的模型只有在特定的场景或内容下可以得到较为准确的质量评估结果,而且不同模型在不同数据集上表现有很大区别,比如A模型在D1数据集上表现较好,但在D2数据集上表现不佳;B模型在D2数据集上表现较好,但在D1数据集上表现不佳。综上所述,目前用于视频质量评估的模型存在泛化性较差的问题,导致视频质量评估结果的准确性较差。
发明内容
有鉴于此,本发明的目的在于提供一种视频质量的评估方法、装置及服务器,可有效改善质量评估模型的泛化性,从而提高视频质量评估结果的准确性。
第一方面,本发明实施例提供了一种视频质量的评估方法,包括:获取待评估视频;通过所述质量评估模型对所述待评估视频进行质量评估,得到所述待评估视频的质量评估结果;其中,所述质量评估模型包括结果融合网络和多个质量评估网络,每个所述质量评估网络的网络结构相同和/或不同,相同网络结构的质量评估网络的参数不同,每个所述质量评估网络均用于对所述待评估视频进行质量评估得到所述待评估视频的质量分数,所述结果融合网络用于对各个所述质量分数进行融合得到所述待评估视频的质量评估结果。
在一种实施方式中,所述通过质量评估模型对所述待评估视频进行质量评估,得到所述待评估视频的质量评估结果的步骤,包括:针对每个所述质量评估网络,将所述待评估视频输入至该质量评估网络,得到该质量评估网络针对所述待评估视频输出的质量分数;将所述待评估视频输入至所述结果融合网络,通过所述结果融合网络基于所述待评估视频对各个所述质量分数进行融合,得到所述待评估视频的质量评估结果。
在一种实施方式中,所述结果融合网络包括权重计算子网络;所述将所述待评估视频输入至所述结果融合网络,通过所述结果融合网络基于所述待评估视频对各个所述质量分数进行融合,得到所述待评估视频的质量评估结果的步骤,包括:将所述待评估视频输入至所述权重计算子网络,得到所述权重计算子网络基于所述待评估视频输出的各个所述质量评估网络对应的权重;基于各个所述质量评估网络对应的权重对各个质量评估网络输出的所述质量分数进行融合,得到所述待评估视频的质量评估结果。
在一种实施方式中,所述权重计算子网络包括卷积层、密集卷积层、平均池化层、全连接层和激活函数层;其中,所述卷积层、所述密集卷积层和所述全连接层的数量均为多个。
在一种实施方式中,所述基于各个所述质量评估网络对应的权重对各个质量评估网络输出的所述质量分数进行融合,得到所述待评估视频的质量评估结果的步骤,包括:针对每个质量评估网络输出的质量分数,计算该质量评估网络输出的质量分数和该质量评估网络对应的权重的乘积;计算各个所述质量评估网络对应的乘积的和值,并将所述和值作为所述待评估视频的质量评估结果。
在一种实施方式中,所述质量评估网络包括数据驱动的机器学习网络和/或非数据驱动的机器学习网络。
在一种实施方式中,所述数据驱动的机器学习网络的训练步骤,包括:获取训练数据集;其中,所述训练数据集包括训练视频和所述训练视频对应的真实分数;将所述训练视频输入至所述数据驱动的机器学习网络,得到所述训练视频对应的质量分数;基于所述训练视频对应的真实分数和所述训练视频对应的质量分数计算损失值;根据所述损失值对所述数据驱动的机器学习网络进行反向传播,并更新所述数据驱动的机器学习网络的参数,直至所述损失值收敛或达到迭代终止条件。
第二方面,本发明实施例还提供一种视频质量的评估装置,包括:视频获取模块,用于获取待评估视频;质量评估模块,用于通过所述质量评估模型对所述待评估视频进行质量评估,得到所述待评估视频的质量评估结果;其中,所述质量评估模型包括结果融合网络和多个质量评估网络,每个所述质量评估网络的网络结构相同和/或不同,相同网络结构的质量评估网络的参数不同,每个所述质量评估网络均用于对所述待评估视频进行质量评估得到所述待评估视频的质量分数,所述结果融合网络用于对各个所述质量分数进行融合得到所述待评估视频的质量评估结果。
第三方面,本发明实施例还提供一种服务器,包括处理器和存储器;所述存储器上存储有计算机程序,所述计算机程序在被所述处理器运行时执行如第一方面提供的任一项所述的方法。
第四方面,本发明实施例还提供一种计算机存储介质,用于储存为第一方面提供的任一项所述方法所用的计算机软件指令。
本发明实施例提供的一种视频质量的评估方法、装置及服务器,首先获取待评估视频,然后通过质量评估模型对待评估视频进行质量评估,得到待评估视频的质量评估结果,其中,质量评估模型包括结果融合网络和多个质量评估网络,每个质量评估网络的网络结构相同和/或不同,相同网络结构的质量评估网络的参数不同,每个质量评估网络均用于对待评估视频进行质量评估得到待评估视频的质量分数,结果融合网络用于对各个质量分数进行融合得到待评估视频的质量评估结果。上述方法提出了一种新的质量评估模型,该质量评估模型利用结果融合网络将各个质量评估网路针对待评估视频输出的质量评分进行融合,可以较好地结合不同视频质量网络的优势,提高质量评估模型的泛化性,从而得到准确性更高的质量评估结果。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种视频质量的评估方法的流程示意图;
图2为本发明实施例提供的一种质量评估模型的结构示意图;
图3为本发明实施例提供的一种权重计算子网络的结构示意图;
图4为本发明实施例提供的一种视频质量的评估装置的结构示意图;
图5为本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,用于视频质量评估的模型存在泛化性较差的问题,导致视频质量评估结果的准确性较差,基于此,本发明实施提供了一种视频质量的评估方法、装置及服务器,可有效改善质量评估模型的泛化性,从而提高视频质量评估结果的准确性。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种视频质量的评估方法进行详细介绍,该方法可以应用于服务器,参见图1所示的一种视频质量的评估方法的流程示意图,该方法主要包括以下步骤S102至步骤S104:
步骤S102,获取待评估视频。在一种实施方式中,待评估视频可以为用户通过具有拍摄功能的电子设备(诸如手机或摄像机等)拍摄得到的视频,也可以为用户从本地存储区或互联网中获取到的视频,通过为用户提供上传通道,以便于用户基于该上传通道将需要进行质量评估的视频上传至服务器,从而使服务器获取到待评估视频。
步骤S104,通过质量评估模型对待评估视频进行质量评估,得到待评估视频的质量评估结果。其中,质量评估结果可以以分数值的形式体现,从而通过分数值的高低表征待评估视频的质量高低,质量评估模型包括结果融合网络和多个质量评估网络,每个质量评估网络均用于对待评估视频进行质量评估得到待评估视频的质量分数,结果融合网络用于对各个质量分数进行融合得到待评估视频的质量评估结果。在一种实施方式中,上述质量评估网络可以包括数据驱动的机器学习网络和/或非数据驱动的机器学习网络,其中,数据驱动的机器学习模型也即深度学习模型,需要大量视频样本对神经网络进行训练方可得到用于质量评估的质量评估网络,非数据驱动的机器学习网络也即传统机器学习模型,诸如NIQE(Natural image quality evaluator,图像质量评价)模型,为基于人工提取的特征或者对数据进行建模处理得到的质量评估网络。
另外,每个质量评估网络的网络结构相同和/或不同,相同网络结构的质量评估网络的参数不同。例如,质量评估网络可以包括传统机器学习模型A、深度学习模型B和深度学习模型C,其中,深度学习模型B和深度学习模型C的网络结构可以相同或不同。假设深度学习模型B和深度学习模型C均为网络结构相同的卷积神经网络,则深度学习模型B和深度模型C的权重不同,可选的,可以将深度学习模型B和深度学习模型C的初始参数设置为不同的数值,或将将深度学习模型B和深度学习模型C的初始参数设置为相同的数值,并通过不同训练数据分别训练深度学习模型B和深度学习模型C,以使最终用于质量评估的深度学习模型B和深度学习模型C的参数不同。
可选的,可将待评估视频分别输入至结果融合网络和各个质量评估网络,每个质量评估网络均针对待评估视频输出质量分数,结果融合网络可以针对待评估视频输出各个质量评估网络对应的权重,从而基于各个质量评估网络对应的权重对各个视频评估网络输出的质量分数进行融合,得到待评估视频的质量评估结果。
本发明实施例提供的上述视频质量的评估方法,提出了一种新的质量评估模型,该质量评估模型利用结果融合网络将各个质量评估网路针对待评估视频输出的质量评分进行融合,提高质量评估模型的泛化性,可以较好地结合不同视频质量网络的优势,从而得到准确性更高的质量评估结果。
为便于对上述实施例提供的质量评估模型进行理解,本发明实施例以质量评估模型中包括3个质量评估网络为例,提供了如图2所示的一种质量评估模型的结构示意图,图2示意出了质量评估模型包括多个质量评估网络(NET1、NET2和NET3)和一个结果融合网络,结果融合网络又包括一个权重计算子网络(W-CNN,Weight-Convolutional NeuralNetworks),多个质量评估网络组成的集合也可称之为集成学习模型集合。其中,NET1网络的输入为待评估视频,NET1网络的输出为质量分数score1;NET2网络的输入为待评估视频,NET2网络的输出为质量分数score2;NET3网络的输入为待评估视频,NET3网络的输出为质量分数score3;权重计算子网络的输入为待评估视频,输出为NET1网络的权重w1、NET2网络的权重w2和NET3网络的权重w3,然后依次经过相乘处理和相加处理输出质量评估结果score。
在图2的基础上,本发明实施例提供了一种通过质量评估模型对待评估视频进行质量评估,得到待评估视频的质量评估结果的实施方式,参见如下步骤1至步骤2:
步骤1,针对每个质量评估网络,将待评估视频输入至该质量评估网络,得到该质量评估网络针对待评估视频输出的质量分数。请继续参见图2,通过NET1网络对待评估视频进行质量评估,并输出质量分数score1,以及通过NET2网络对待评估视频进行质量评估,并输出质量分数score2,以及通过NET3网络对待评估视频进行质量评估,并输出质量分数score3,其中,上述NET1网络、NET2网络和NET3网络可以为深度学习模型(也即,上述数据驱动的机器学习网络)或传统机器学习模型(也即,上述非数据驱动的机器学习网络)。对于深度学习模型,需要基于大规模的视频数据对其进行训练方可实现视频质量评估的功能,可选的,可以在无参考视频质量评价数据集上进行训练得到用于质量评估的模型;对于传统机器学习模型,通常是基于手工特征学习得到的用于质量评估的模型。
在一种实施方式中,本发明实施例提供了一种数据驱动的机器学习网络的训练方法,参见如下步骤a至步骤d:
步骤a,获取训练数据集(也即,上述无参考视频质量评价数据集)。其中,训练数据集包括训练视频和训练视频对应的真实分数,真实分数也即训练视频的质量标签。
步骤b,将训练视频输入至数据驱动的机器学习网络,得到训练视频对应的质量分数。其中,深度学习模型的输入为训练视频,深度学习模型的输出为该训练视频对应的质量分数。
步骤c,基于训练视频对应的真实分数和训练视频对应的质量分数计算损失值。在一种实施方式中,可以预先选择所需的损失函数,诸如均方误差损失函数、合页损失函数、交叉熵损失函数等,然后将真实分数和训练视频对应的质量分数代入至损失函数,即可计算得到损失值。
步骤d,根据损失值对数据驱动的机器学习网络进行反向传播,并更新数据驱动的机器学习网络的参数,直至损失值收敛或达到迭代终止条件。其中,反向传播是不断更新深度学习模型的参数(包括权重和/或偏差)的过程,理想状态下,当损失值为0时表示训练数据对应的质量分数达到真实分数。在实际应用中,可以在损失值收敛时确定深度学习训练完成,也可以预先设置迭代终止条件,诸如将预设损失阈值作为迭代终止条件,当损失值达到该损失阈值时,停止训练。
步骤2,将待评估视频输入至结果融合网络,通过结果融合网络基于待评估视频对各个质量分数进行融合,得到待评估视频的质量评估结果。在一种实施方式中,结果融合网络包括权重计算子网络,为便于对权重计算子网络进行理解,本发明实施例提供了如图3所示的一种权重计算子网络的结构示意图,图3中示意出,权重计算子网络包括卷积层(CONV)、密集卷积层、平均池化层(AP,Average pooling)、全连接层(FC,fully connectedlayers)和激活函数层(SoftMax),其中,卷积层、密集卷积层和全连接层的数量均为多个。可选的,如图3所示,权重计算子网络包括2个卷积层CONV、1个DB层、1个AP层、2个FC层和1个SoftMax层,其中,密集卷积层又包括多个Dense Block,示例性的,密集卷积层可以包括3个Dense Block。另外,SoftMax层输出的权重数目与质量评估网络的数目相一致,AP层可以采用自适应平均池化层(adaptive average pooling)。
在图3所示的权重计算子网络的基础上,服务器可以按照如下步骤2.1至步骤2.2执行上述基于待评估视频对各个质量分数进行融合,得到待评估视频的质量评估结果的步骤:
步骤2.1,将待评估视频输入至权重计算子网络,得到权重计算子网络基于待评估视频输出的各个质量评估网络对应的权重。例如,如图2所示,权重计算子网络基于待评估视频分别输出NET1网络对应的权重w1、NET2网络对应的权重w2和NET3网络对应的权重w3。由于本发明实施例提供的质量评估模型为end-end结构,因此可以确定权重计算子网络输出的权重所对应的质量评估网络。
步骤2.2,基于各个质量评估网络对应的权重对各个质量评估网络输出的质量分数进行融合,得到待评估视频的质量评估结果。为便于理解,本发明实施例提供了一种基于各个质量评估网络对应的权重对各个质量评估网络输出的质量分数进行融合,得到待评估视频的质量评估结果的实施方式,可以针对每个质量评估网络输出的质量分数,计算该质量评估网络输出的质量分数和该质量评估网络对应的权重的乘积,然后计算各个质量评估网络对应的乘积的和值,并将和值作为待评估视频的质量评估结果。例如,分别计算NET1网络输出的质量分数score1和NET1网络对应的权重w1的乘积、计算NET2网络输出的质量分数score2和NET2网络对应的权重w2的乘积、计算NET3网络输出的质量分数score3和NET3网络对应的权重w3的乘积,然后计算各个乘积的和值score1*w1+score2*w2+score3*w3,该和值即为质量评估结果score。
综上所述,本发明实施例提供的视频质量的评估方法,首先选择多个深度学习模型或传统机器学习作为集成学习模型集合,并对集成学习模型集合中的深度学习模型基于已标注真实分数的训练视频进行训练得到可用于质量评估的质量评估网络。对于某个图像或视频数据,将多个视频质量评估网络对该数据的预测结果(也即,上述质量分数)进行基于CNN的加权策略,从而得到最终的模型预测结果,上述方法可以有效结合不同质量评估模型的优势,对不同质量评估模型输出的质量分数进行加权,可以显著提升质量评估模型的泛化性和精度。
对于前述实施例提供的视频质量的评估方法,本发明实施例还提供了一种视频质量的评估装置,参见图4所示的一种视频质量的评估装置的结构示意图,该装置主要包括以下部分:
视频获取模块402,用于获取待评估视频。
质量评估模块404,用于通过质量评估模型对待评估视频进行质量评估,得到待评估视频的质量评估结果;其中,质量评估模型包括结果融合网络和多个质量评估网络,每个质量评估网络的网络结构相同和/或不同,相同网络结构的质量评估网络的参数不同,每个质量评估网络均用于对待评估视频进行质量评估得到待评估视频的质量分数,结果融合网络用于对各个质量分数进行融合得到待评估视频的质量评估结果。
本发明实施例提供的上述视频质量的评估装置,提出了一种新的质量评估模型,该质量评估模型利用结果融合网络将各个质量评估网路针对待评估视频输出的质量评分进行融合,可以较好地结合不同视频质量网络的优势,提高质量评估模型的泛化性,从而得到准确性更高的质量评估结果。
在一种实施方式中,质量评估模块404还用于:针对每个质量评估网络,将待评估视频输入至该质量评估网络,得到该质量评估网络针对待评估视频输出的质量分数;将待评估视频输入至结果融合网络,通过结果融合网络基于待评估视频对各个质量分数进行融合,得到待评估视频的质量评估结果。
在一种实施方式中,结果融合网络包括权重计算子网络;质量评估模块404还用于:将待评估视频输入至权重计算子网络,得到权重计算子网络基于待评估视频输出的各个质量评估网络对应的权重;基于各个质量评估网络对应的权重对各个质量评估网络输出的质量分数进行融合,得到待评估视频的质量评估结果。
在一种实施方式中,权重计算子网络包括卷积层、密集卷积层、平均池化层、全连接层和激活函数层;其中,卷积层、密集卷积层和全连接层的数量均为多个。
在一种实施方式中,质量评估模块404还用于:针对每个质量评估网络输出的质量分数,计算该质量评估网络输出的质量分数和该质量评估网络对应的权重的乘积;计算各个质量评估网络对应的乘积的和值,并将和值作为待评估视频的质量评估结果。
在一种实施方式中,质量评估网络包括数据驱动的机器学习网络和/或非数据驱动的机器学习网络。
在一种实施方式中,上述装置还包括训练模块,用于:获取训练数据集;其中,训练数据集包括训练视频和训练视频对应的真实分数;将训练视频输入至数据驱动的机器学习网络,得到训练视频对应的质量分数;基于训练视频对应的真实分数和训练视频对应的质量分数计算损失值;根据损失值对数据驱动的机器学习网络进行反向传播,并更新数据驱动的机器学习网络的参数,直至损失值收敛或达到迭代终止条件。
本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
本发明实施例提供了一种服务器,具体的,该服务器包括处理器和存储装置;存储装置上存储有计算机程序,计算机程序在被所述处理器运行时执行如上所述实施方式的任一项所述的方法。
图5为本发明实施例提供的一种服务器的结构示意图,该服务器100包括:处理器50,存储器51,总线52和通信接口53,所述处理器50、通信接口53和存储器51通过总线52连接;处理器50用于执行存储器51中存储的可执行模块,例如计算机程序。
其中,存储器51可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口53(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线52可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器51用于存储程序,所述处理器50在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器50中,或者由处理器50实现。
处理器50可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器50中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器50可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器51,处理器50读取存储器51中的信息,结合其硬件完成上述方法的步骤。
本发明实施例所提供的可读存储介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见前述方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
- 视频质量的评估方法、装置及服务器
- 视频质量的评估方法、终端、服务器及系统