[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN114187259A - 视频质量分析引擎的创建方法、视频质量分析方法及设备 - Google Patents

视频质量分析引擎的创建方法、视频质量分析方法及设备 Download PDF

Info

Publication number
CN114187259A
CN114187259A CN202111505772.7A CN202111505772A CN114187259A CN 114187259 A CN114187259 A CN 114187259A CN 202111505772 A CN202111505772 A CN 202111505772A CN 114187259 A CN114187259 A CN 114187259A
Authority
CN
China
Prior art keywords
video quality
quality analysis
models
engine
machine learning
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.)
Pending
Application number
CN202111505772.7A
Other languages
English (en)
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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology 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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202111505772.7A priority Critical patent/CN114187259A/zh
Publication of CN114187259A publication Critical patent/CN114187259A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)

Abstract

本公开提供了一种视频质量分析引擎的创建方法、视频质量分析方法及设备。所述视频质量分析引擎的创建方法包括:获取多任务模型,其中,所述多任务模型包括:与多个视频质量分析任务对应的多个机器学习模型;在同一网络中创建与所述多个机器学习模型对应的多个模型,其中,所述多个模型符合所要创建的推理引擎的格式;调用构建器,基于包括所述多个模型的网络创建所述推理引擎,其中,所述推理引擎为用于运行所述多个模型的视频质量分析引擎,其中,所述视频质量分析引擎运行时,所述视频质量分析引擎的输入量作为所述多个模型的输入量,且所述多个模型的输出量作为所述视频质量分析引擎的输出量。

Description

视频质量分析引擎的创建方法、视频质量分析方法及设备
技术领域
本公开总体说来涉及电子技术领域,更具体地讲,涉及一种视频质量分析引擎的创建方法、视频质量分析方法及设备。
背景技术
随着短视频领域的蓬勃发展,视频的质量分析与评估在许多领域具有广泛的实用性,例如,图像压缩、视频编解码、视频监控等。常用的视频质量分析评估特征包括噪声、对焦、曝光、抖动、清晰度、颜色等。相对于人工进行主观评估,使用客观的数学模型进行自动预测既能够节省评估成本,同时也不受观看距离、显示设备、照明条件、情绪等诸多主观因素的影响,具有较高的实用价值。
在分析视频的不同质量特征时往往需要使用不同的模型进行处理,这被称作多任务视频质量分析。多任务视频质量分析相较于单任务视频质量分析能够更详细、有效地描述视频的质量。但在实际部署过程中多任务模型相较于单任务模型对GPU的显存占用更多,同时需要更长的推理耗时。因此,如何有效降低多任务模型的部署显存要求、提升推理速度,是一个亟待解决的问题。
发明内容
本公开的示例性实施例在于提供一种视频质量分析引擎的创建方法、视频质量分析方法及设备,以至少解决上述相关技术中的问题,也可不解决任何上述问题。
根据本公开实施例的第一方面,提供一种视频质量分析引擎的创建方法,包括:获取多任务模型,其中,所述多任务模型包括:与多个视频质量分析任务对应的多个机器学习模型;在同一网络中创建与所述多个机器学习模型对应的多个模型,其中,所述多个模型符合所要创建的推理引擎的格式;调用构建器,基于包括所述多个模型的网络创建所述推理引擎,其中,所述推理引擎为用于运行所述多个模型的视频质量分析引擎,其中,所述视频质量分析引擎运行时,所述视频质量分析引擎的输入量作为所述多个模型的输入量,且所述多个模型的预测结果作为所述视频质量分析引擎的输出量。
可选地,所述多个视频质量分析任务包括以下项之中的至少一项:噪声特征分析任务、抖动特征分析任务、曝光特征分析任务、模糊特征分析任务。
可选地,所述多个机器学习模型为深度学习模型,其中,获取多任务模型的步骤包括:分别训练与所述多个视频质量分析任务中的每个视频质量分析任务对应的机器学习模型;分别针对训练好的每个机器学习模型,对所述每个机器学习模型进行层参数融合,以得到更新后的每个机器学习模型。
可选地,分别针对训练好的每个机器学习模型,对所述每个机器学习模型进行层参数融合的步骤包括:分别针对训练好的每个机器学习模型,将所述每个机器学习模型中的归一化层等效替换为一个1×1大小的卷积层,并将所述卷积层与所述归一化层前序相邻的卷积层进行参数合并。
可选地,所述创建方法还包括:对创建好的视频质量分析引擎进行序列化处理;保存序列化处理后的视频质量分析引擎。
可选地,在同一网络中创建与所述多个机器学习模型对应的多个模型的步骤包括:使用所述推理引擎的模型定义方式重新限定所述多个机器学习模型的模型结构,并限定将所述多个机器学习模型的参数赋予给对应的所述多个模型的赋予方式;在同一网络中,按照重新限定的所述多个机器学习模型的模型结构以及限定的赋予方式,创建与所述多个机器学习模型对应的所述多个模型。
可选地,在同一网络中创建与所述多个机器学习模型对应的多个模型的步骤还包括:生成创建的所述多个模型中每个模型的优化配置文件;调用所述构建器创建所述网络的剖析定义;将每个模型的优化配置文件放入所述剖析定义中。
可选地,调用构建器,基于包括所述多个模型的网络创建所述推理引擎的步骤包括:调用所述构建器,基于所述网络和所述剖析定义创建所述推理引擎。
可选地,每个模型的优化配置文件包括以下项之中的至少一项:模型输入向量的最小尺寸、模型输入向量的最优尺寸、模型输入向量的最大尺寸。
根据本公开实施例的第二方面,提供一种视频质量分析方法,包括:读取已创建的用于运行多个模型的单个推理引擎;将向量输入所述单个推理引擎,以得到所述单个推理引擎输出的所述多个模型针对所述向量的预测结果,其中,所述单个推理引擎通过在同一网络中创建与多任务模型对应的所述多个模型,并基于所述网络创建得到,其中,所述多任务模型包括与多个视频质量分析任务对应的多个机器学习模型。
可选地,所述多个视频质量分析任务包括以下项之中的至少一项:噪声特征分析任务、抖动特征分析任务、曝光特征分析任务、模糊特征分析任务。
可选地,所述多任务模型通过以下方式获取:分别训练与所述多个视频质量分析任务中的每个视频质量分析任务对应的机器学习模型;分别针对训练好的每个机器学习模型,对所述每个机器学习模型进行层参数融合,以得到更新后的每个机器学习模型。
可选地,通过以下方式在同一网络中创建与所述多个机器学习模型对应的多个模型:使用所述单个推理引擎的模型定义方式重新限定所述多个机器学习模型的模型结构,并限定将所述多个机器学习模型的参数赋予给对应的所述多个模型的赋予方式;在同一网络中,按照重新限定的所述多个机器学习模型的模型结构以及限定的赋予方式,创建与所述多个机器学习模型对应的所述多个模型;生成创建的所述多个模型中每个模型的优化配置文件;调用所述构建器创建所述网络的剖析定义;将每个模型的优化配置文件放入所述剖析定义中。
可选地,通过以下方式基于所述网络创建得到所述单个推理引擎:调用所述构建器,基于所述网络和所述剖析定义创建所述单个推理引擎。
根据本公开实施例的第三方面,提供一种视频质量分析引擎的创建设备,包括:多任务模型获取单元,被配置为获取多任务模型,其中,所述多任务模型包括:与多个视频质量分析任务对应的多个机器学习模型;模型创建单元,被配置为在同一网络中创建与所述多个机器学习模型对应的多个模型,其中,所述多个模型符合所要创建的推理引擎的格式;引擎创建单元,被配置为调用构建器,基于包括所述多个模型的网络创建所述推理引擎,其中,所述推理引擎为用于运行所述多个模型的视频质量分析引擎,其中,所述视频质量分析引擎运行时,所述视频质量分析引擎的输入量作为所述多个模型的输入量,且所述多个模型的预测结果作为所述视频质量分析引擎的输出量。
可选地,所述多个视频质量分析任务包括以下项之中的至少一项:噪声特征分析任务、抖动特征分析任务、曝光特征分析任务、模糊特征分析任务。
可选地,所述多个机器学习模型为深度学习模型,其中,多任务模型获取单元被配置为分别训练与所述多个视频质量分析任务中的每个视频质量分析任务对应的机器学习模型;分别针对训练好的每个机器学习模型,对所述每个机器学习模型进行层参数融合,以得到更新后的每个机器学习模型。
可选地,多任务模型获取单元被配置为分别针对训练好的每个机器学习模型,将所述每个机器学习模型中的归一化层等效替换为一个1×1大小的卷积层,并将所述卷积层与所述归一化层前序相邻的卷积层进行参数合并。
可选地,所述创建设备还包括:引擎存储单元,被配置为对创建好的视频质量分析引擎进行序列化处理;保存序列化处理后的视频质量分析引擎。
可选地,模型创建单元被配置为使用所述推理引擎的模型定义方式重新限定所述多个机器学习模型的模型结构,并限定将所述多个机器学习模型的参数赋予给对应的所述多个模型的赋予方式;在同一网络中,按照重新限定的所述多个机器学习模型的模型结构以及限定的赋予方式,创建与所述多个机器学习模型对应的所述多个模型。
可选地,模型创建单元被配置为生成创建的所述多个模型中每个模型的优化配置文件;调用所述构建器创建所述网络的剖析定义;将每个模型的优化配置文件放入所述剖析定义中。
可选地,引擎创建单元被配置为调用所述构建器,基于所述网络和所述剖析定义创建所述推理引擎。
可选地,每个模型的优化配置文件包括以下项之中的至少一项:模型输入向量的最小尺寸、模型输入向量的最优尺寸、模型输入向量的最大尺寸。
根据本公开实施例的第四方面,提供一种视频质量分析设备,包括:引擎读取单元,被配置为读取已创建的用于运行多个模型的单个推理引擎;预测单元,被配置为将向量输入所述单个推理引擎,以得到所述单个推理引擎输出的所述多个模型针对所述向量的预测结果,其中,所述单个推理引擎通过在同一网络中创建与多任务模型对应的所述多个模型,并基于所述网络创建得到,其中,所述多任务模型包括与多个视频质量分析任务对应的多个机器学习模型。
可选地,所述多个视频质量分析任务包括以下项之中的至少一项:噪声特征分析任务、抖动特征分析任务、曝光特征分析任务、模糊特征分析任务。
可选地,所述多任务模型通过以下方式获取:分别训练与所述多个视频质量分析任务中的每个视频质量分析任务对应的机器学习模型;分别针对训练好的每个机器学习模型,对所述每个机器学习模型进行层参数融合,以得到更新后的每个机器学习模型。
可选地,通过以下方式在同一网络中创建与所述多个机器学习模型对应的多个模型:使用所述单个推理引擎的模型定义方式重新限定所述多个机器学习模型的模型结构,并限定将所述多个机器学习模型的参数赋予给对应的所述多个模型的赋予方式;在同一网络中,按照重新限定的所述多个机器学习模型的模型结构以及限定的赋予方式,创建与所述多个机器学习模型对应的所述多个模型;生成创建的所述多个模型中每个模型的优化配置文件;调用所述构建器创建所述网络的剖析定义;将每个模型的优化配置文件放入所述剖析定义中。
可选地,通过以下方式基于所述网络创建得到所述单个推理引擎:调用所述构建器,基于所述网络和所述剖析定义创建所述单个推理引擎。
根据本公开实施例的第五方面,提供一种电子设备,包括:至少一个处理器;至少一个存储计算机可执行指令的存储器,其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行如上所述的视频质量分析引擎的创建方法和/或如上所述的视频质量分析方法。
根据本公开实施例的第六方面,提供一种计算机可读存储介质,当述计算机可读存储介质中的指令被至少一个处理器运行时,促使所述至少一个处理器执行如上所述的视频质量分析引擎的创建方法和/或如上所述的视频质量分析方法。
根据本公开实施例的第七方面,提供一种计算机程序产品,包括计算机指令,所述计算机指令被至少一个处理器执行时实现如上所述的视频质量分析引擎的创建方法和/或如上所述的视频质量分析方法。
根据本公开的示例性实施例的视频质量分析引擎的创建方法、视频质量分析方法及设备,针对视频质量分析提出了多任务单引擎的部署框架。
此外,本公开的实施例提供的技术方案至少带来以下有益效果:
对多任务模型进行优化,通过融合多引擎为单引擎,有效地降低部署时所占用的显存,加速在实际部署过程中模型运行的速度以提升推理速度;
在多任务模型部署过程中引入单引擎方案,将多任务模型所对应的多引擎合并为单引擎,在不改变每个任务的预测准确性的同时降低了GPU显存的占用,同时提升/保持模型运行速度;
充分利用GPU的计算资源,提升了GPU的利用效率,为后续引入更多任务预留充分的显存资源。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1示出根据本公开示例性实施例的视频质量分析引擎的创建方法的流程图;
图2示出根据本公开示例性实施例创建的视频质量分析引擎的示例;
图3示出根据本公开示例性实施例的视频质量分析方法的流程图;
图4示出根据本公开示例性实施例的视频质量分析引擎的创建设备的结构框图;
图5示出根据本公开示例性实施例的视频质量分析设备的结构框图;
图6示出根据本公开示例性实施例的电子设备的结构框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括A和B之中的至少一个”即包括如下三种并列的情况:(1)包括A;(2)包括B;(3)包括A和B。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
图1示出根据本公开示例性实施例的视频质量分析引擎的创建方法的流程图。
参照图1,在步骤S101,获取多任务模型。
这里,所述多任务模型包括:与多任务对应的多个机器学习模型。例如,与所述多任务一一对应的多个机器学习模型。
作为示例,所述多任务可为多个视频质量分析任务,所述多任务模型可包括:与多个视频质量分析任务对应的多个机器学习模型。应该理解,所述多任务也可为其他类型的多个任务,本公开对此不作限制。
作为示例,所述多个视频质量分析任务可包括但不限于以下项之中的至少一项:噪声特征分析任务、抖动特征分析任务、曝光特征分析任务、以及模糊特征分析任务。应该理解,所述多个视频质量分析任务可包括各种适当的用于对视频质量进行分析的任务,本公开对此不作限制。例如,所述多个视频质量分析任务可包括用于对视频的噪声、对焦、曝光、抖动、清晰度、颜色等方面进行分析的任务。
作为示例,当所述多任务为多个视频质量分析任务时,步骤S101可包括:获取与多个视频质量分析任务一一对应的多个视频质量分析模型。
关于与视频质量分析任务对应的视频质量分析模型,可理解为将视频图像(或视频图像的向量)输入视频质量分析模型,该视频质量分析模型的预测结果即为对应的视频质量分析任务的分析结果。作为示例,与噪声特征分析任务对应的视频质量分析模型(也可称为噪声特征分析模型)用于对视频图像的噪声特征进行分析,例如,噪声特征分析模型用于预测视频图像包含噪声的概率。作为示例,与抖动特征分析任务对应的视频质量分析模型(也可称为抖动特征分析模型)用于对视频图像的抖动特征进行分析,例如,抖动特征分析模型用于预测视频图像包含抖动的概率。作为示例,与模糊特征分析任务对应的视频质量分析模型(也可称为模糊特征分析模型)用于对视频图像的模糊特征进行分析,例如,模糊特征分析模型用于预测视频图像包含模糊的概率。
作为示例,可分别基于训练数据集训练得到与多任务对应的多个机器学习模型。
作为示例,与多任务对应的多个机器学习模型可为深度学习模型(DL模型)。应该理解,与多任务对应的多个机器学习模型也可为其他类型的机器学习模型,例如,强化学习模型等,本公开对此不作限制。
作为示例,可通过适当的框架来训练得到与多任务对应的多个机器学习模型。例如,与多任务对应的多个机器学习模型可为使用PyTorch或者TensorFlow框架训练得到的PyTorch模型或者TensorFlow模型。
作为示例,当所述多个机器学习模型为深度学习模型时,步骤S101可包括:分别训练与所述多任务中的每个任务对应的机器学习模型;分别针对训练好的每个机器学习模型,对该机器学习模型进行层参数融合,以得到更新后的该机器学习模型,从而得到多任务模型。
作为示例,可分别针对训练好的每个机器学习模型,对该机器学习模型的卷积层与归一化层进行参数重参数化融合。作为示例,可分别针对训练好的每个机器学习模型,将该每个机器学习模型中的归一化层等效替换为一个1×1大小的卷积层,并将所述卷积层与所述归一化层前序相邻的卷积层进行参数合并。具体说来,可分别针对训练好的每个机器学习模型进行层融合(Layer Merge),例如,将归一化层(Batch Normalization Layer)等价为1x1卷积层,然后将该1x1卷积层与该归一化层前序相邻的卷积层(ConvolutionalLayer)进行参数合并,从而能够减少层的数量。
在步骤S102,在同一网络中创建与所述多个机器学习模型对应的多个模型,其中,所述多个模型符合所要创建的推理引擎的格式。
所要创建的推理引擎可为适当类型的推理引擎,例如,TensorRT的推理引擎,应该理解,也可为其他类型的推理引擎,本公开对此不作限制。作为示例,当所要创建的推理引擎为TensorRT的推理引擎时,可在同一TensorRT网络(network)中创建与所述多个机器学习模型一一对应的多个TensorRT模型。TensorRT模型即TensorRT格式的模型,例如,可将通过PyTorch或者TensorFlow等框架训练的机器学习模型转换为TensorRT格式的模型进行部署,从而利用TensorRT的推理引擎运行这些模型时,可提升运行速度。
应该理解,将所述多个机器学习模型转换为符合所要创建的推理引擎的格式的多个模型进行部署,这多个模型与这多个机器学习模型虽然格式不同,但对视频质量的预测功能和预测能力是完全一致的。
作为示例,步骤S102可包括:使用所述推理引擎的模型定义方式重新限定所述多个机器学习模型的模型结构,并限定将所述多个机器学习模型的参数赋予给对应的所述多个模型的赋予方式;在同一网络中,按照重新限定的所述多个机器学习模型的模型结构以及限定的赋予方式,创建与所述多个机器学习模型对应的所述多个模型。
作为示例,可使用TensorRT模型定义方式重新定义所述多个机器学习模型的模型结构,并定义将所述多个机器学习模型的参数赋予给对应的多个TensorRT模型的赋予方式;并在同一TensorRT网络中,按照重新定义的所述多个机器学习模型的模型结构、以及定义的赋予方式,创建与所述多个机器学习模型对应的多个TensorRT模型。
作为示例,步骤S102还可包括:生成创建的所述多个模型中每个模型的优化配置文件;调用所述构建器创建所述网络的剖析定义;将每个模型的优化配置文件放入所述剖析定义中。
作为示例,可定义创建的每个TensorRT模型的优化配置文件(configuration);调用TensorRT构建器创建所述TensorRT网络的剖析定义;并将每个TensorRT模型的优化配置文件放入所述剖析定义中。
作为示例,每个模型的优化配置文件可包括但不限于以下项之中的至少一项:模型输入向量的最小尺寸(也即,处理图像的最小尺寸minimum size)、模型输入向量的最优尺寸(也即,处理图像的最优尺寸optimization dimensions)、以及模型输入向量的最大尺寸(也即,处理图像的最大尺寸maximum size)。
作为示例,可使用TensorRT初始化构建器(builder),并通过构建器创建一个TensorRT网络(network),在所述TensorRT网络中创建与所述多个机器学习模型对应的多个TensorRT模型,以将所述多个机器学习模型放入该TensorRT网络中;使用构建器创建剖析定义(profile),并将每个TensorRT模型的优化配置文件放入剖析定义中。
在步骤S103,调用构建器,基于包括所述多个模型的网络创建所述推理引擎,其中,所述推理引擎为用于运行所述多个模型的视频质量分析引擎。
这里,所述视频质量分析引擎运行时,所述视频质量分析引擎的输入量作为所述多个模型的输入量,且所述多个模型的预测结果作为所述视频质量分析引擎的输出量。
作为示例,可调用TensorRT构建器,基于包括所述多个TensorRT模型的TensorRT网络创建用于运行所述多任务模型的引擎(engine)。
作为示例,创建的引擎可为运行时引擎(runtime engine)。
作为示例,可调用所述构建器,基于所述网络和所述剖析定义创建所述推理引擎。例如,可调用TensorRT构建器,基于所述TensorRT网络和所述剖析定义创建用于运行所述多个模型的引擎。
作为示例,根据本公开示例性实施例的多任务模型运行方法还可包括:对创建好的引擎进行序列化处理(serialization)以转换为可存储的形式;并保存序列化处理后的引擎,以便在运行时可以快速部署重建。
本公开考虑到显存占用往往与模型的数量呈线性关系,在实际部署过程中多任务模型相较于单任务模型对GPU的显存占用更多,同时需要更长的推理耗时。因此,本公开为了有效降低多任务视频质量分析模型的部署显存要求,提升推理速度,在多任务视频分析处理部署过程中引入单引擎方案,将多任务模型所一一对应的多引擎合并为单引擎,从而在不改变每个任务的预测准确性的同时降低GPU显存的占用,同时提升/保持运行的速度,提升了GPU的利用效率,为后续引入更多视频特征分析预留充分的显存资源。解决了在单一硬件部署多个模型情况下显存资源占用较高,计算资源竞争的问题。
图2示出根据本公开示例性实施例创建的视频质量分析引擎的示例。如图2所示,本公开创建的单个推理引擎能够用于运行与多个视频质量分析任务对应的多个计算模型,相较于多任务多引擎(即,每个引擎分别用于运行单个任务对应的计算模型),一方面能够降低多模型资源争抢以提高运行效率,多任务单引擎使得多个模型通过单一指令便并行操作,极大地减少了多个模型调用过程中的内存分配不均、计算资源分配不均、内存排布不合理等一系列问题,从而极致的发挥了高性能计算硬件的潜力。另一方面,能够提升多个模型检测显存复用率,使得同一内存可以在不同模型间进行时分复用,大幅度的降低了整体的内存占用,提升内存利用率。此外,能够提升内存带宽利用率。对于高并发计算硬件而言,全局存储(global memory)的带宽是限制其发挥性能的主要原因之一。在多引擎调用过程中,内存申请顺序不固定,会造成整体排列方式杂乱无章,使得调用变为乱序调用,降低了可使用的带宽。而多模型单引擎通过一次性内存申请的方式,将每一模型所需内存申请在较近的内存位置,从而使得内存的调用方式主要为线性调用,极大地提升了内存带宽的利用率,从一定程度上缓解了内存墙的限制。
如图2所示,本公开提出的多任务单引擎部署方式相较于多任务多引擎方式可以有效降低GPU显存的占用,同时提升/保持运行的速度(runtime speed),充分利用GPU的计算资源。表1示出针对视频质量分析多任务单引擎部署方式相较于多任务多引擎方式的性能差异。
表1多任务单引擎与多任务多引擎的性能差异
多任务多引擎 多任务单引擎
显存占用(Memory) 9650MB 1750MB
推理耗时(Inference Time) 15.24ms 15.2ms
图3示出根据本公开示例性实施例的视频质量分析方法的流程图。
如图3所示,在步骤S201,读取已创建的用于运行多个模型的单个推理引擎。
作为示例,可通过反序列化(deserialization)读取保存的序列化推理引擎进行使用。
作为示例,所述单个推理引擎通过在同一网络中创建与多任务模型对应的所述多个模型,并基于所述网络创建得到,其中,所述多任务模型包括与多个视频质量分析任务对应的多个机器学习模型。所述多个模型符合所述单个推理引擎的格式。
作为示例,所述多个视频质量分析任务可包括以下项之中的至少一项:噪声特征分析任务、抖动特征分析任务、曝光特征分析任务、模糊特征分析任务。
在步骤S202,将向量输入所述单个推理引擎,以得到所述单个推理引擎输出的所述多个模型针对所述向量的预测结果。
作为示例,可将从视频中抽取的图像的向量输入所述单个推理引擎,以得到多个视频质量分析任务的分析结果。
具体说来,将抽取的图像的向量输入所述单个推理引擎,从而将所述向量分别输入所述单个推理引擎中部署的各个视频质量分析模型(即,所述多个模型),并输出各个视频质量分析模型预测的结果(也即,所述多个视频质量分析任务的分析结果)。作为示例,各个视频质量分析模型输出的预测结果可为各个特征存在的概率或关于各个质量特征的评分。例如,抽取的视频图像包含噪声的概率、包含模糊的概率、包含抖动的概率等。
作为示例,所述多任务模型可通过以下方式获取:分别训练与所述多个视频质量分析任务中的每个视频质量分析任务对应的机器学习模型;分别针对训练好的每个机器学习模型,对所述每个机器学习模型进行层参数融合,以得到更新后的每个机器学习模型。
作为示例,可通过以下方式在同一网络中创建与所述多个机器学习模型对应的多个模型:使用所述单个推理引擎的模型定义方式重新限定所述多个机器学习模型的模型结构,并限定将所述多个机器学习模型的参数赋予给对应的所述多个模型的赋予方式;在同一网络中,按照重新限定的所述多个机器学习模型的模型结构以及限定的赋予方式,创建与所述多个机器学习模型对应的所述多个模型;生成创建的所述多个模型中每个模型的优化配置文件;调用所述构建器创建所述网络的剖析定义;将每个模型的优化配置文件放入所述剖析定义中。
作为示例,可通过以下方式基于所述网络创建得到所述单个推理引擎:调用所述构建器,基于所述网络和所述剖析定义创建所述单个推理引擎。
作为示例,所述单个推理引擎可通过如上述示例性实施例所述的视频质量分析引擎的创建方法创建得到,具体细节在此不再赘述。
图4示出根据本公开示例性实施例的视频质量分析引擎的创建设备的结构框图。
如图4所示,根据本公开示例性实施例的视频质量分析引擎的创建设备10包括:多任务模型获取单元101、模型创建单元102、引擎创建单元103。
具体说来,多任务模型获取单元101被配置为获取多任务模型,其中,所述多任务模型包括:与多个视频质量分析任务对应的多个机器学习模型。
模型创建单元102被配置为在同一网络中创建与所述多个机器学习模型对应的多个模型,其中,所述多个模型符合所要创建的推理引擎的格式。
引擎创建单元103被配置为调用构建器,基于包括所述多个模型的网络创建所述推理引擎,其中,所述推理引擎为用于运行所述多个模型的视频质量分析引擎。
所述视频质量分析引擎运行时,所述视频质量分析引擎的输入量作为所述多个模型的输入量,且所述多个模型的预测结果作为所述视频质量分析引擎的输出量。
作为示例,所述多个视频质量分析任务可包括以下项之中的至少一项:噪声特征分析任务、抖动特征分析任务、曝光特征分析任务、模糊特征分析任务。
作为示例,所述多个机器学习模型为深度学习模型,其中,多任务模型获取单元101可被配置为分别训练与所述多个视频质量分析任务中的每个视频质量分析任务对应的机器学习模型;分别针对训练好的每个机器学习模型,对所述每个机器学习模型进行层参数融合,以得到更新后的每个机器学习模型。
作为示例,多任务模型获取单元101可被配置为分别针对训练好的每个机器学习模型,将所述每个机器学习模型中的归一化层等效替换为一个1×1大小的卷积层,并将所述卷积层与所述归一化层前序相邻的卷积层进行参数合并。
作为示例,所述创建设备10还包括:引擎存储单元(未示出),引擎存储单元被配置为对创建好的视频质量分析引擎进行序列化处理;保存序列化处理后的视频质量分析引擎。
作为示例,模型创建单元102可被配置为使用所述推理引擎的模型定义方式重新限定所述多个机器学习模型的模型结构,并限定将所述多个机器学习模型的参数赋予给对应的所述多个模型的赋予方式;在同一网络中,按照重新限定的所述多个机器学习模型的模型结构以及限定的赋予方式,创建与所述多个机器学习模型对应的所述多个模型。
作为示例,模型创建单元102可被配置为生成创建的所述多个模型中每个模型的优化配置文件;调用所述构建器创建所述网络的剖析定义;将每个模型的优化配置文件放入所述剖析定义中。
作为示例,引擎创建单元103可被配置为调用所述构建器,基于所述网络和所述剖析定义创建所述推理引擎。
作为示例,每个模型的优化配置文件可包括以下项之中的至少一项:模型输入向量的最小尺寸、模型输入向量的最优尺寸、模型输入向量的最大尺寸。
图5示出根据本公开示例性实施例的视频质量分析设备的结构框图。
如图5所示,根据本公开示例性实施例的视频质量分析设备20包括:引擎读取单元201和预测单元202。
具体说来,引擎读取单元201被配置为读取已创建的用于运行多个模型的单个推理引擎。
预测单元202被配置为将向量输入所述单个推理引擎,以得到所述单个推理引擎输出的所述多个模型针对所述向量的预测结果。
所述单个推理引擎通过在同一网络中创建与多任务模型对应的所述多个模型,并基于所述网络创建得到,其中,所述多任务模型包括与多个视频质量分析任务对应的多个机器学习模型。
作为示例,所述多个视频质量分析任务可包括以下项之中的至少一项:噪声特征分析任务、抖动特征分析任务、曝光特征分析任务、模糊特征分析任务。
作为示例,所述多任务模型可通过以下方式获取:分别训练与所述多个视频质量分析任务中的每个视频质量分析任务对应的机器学习模型;分别针对训练好的每个机器学习模型,对所述每个机器学习模型进行层参数融合,以得到更新后的每个机器学习模型。
作为示例,可通过以下方式在同一网络中创建与所述多个机器学习模型对应的多个模型:使用所述单个推理引擎的模型定义方式重新限定所述多个机器学习模型的模型结构,并限定将所述多个机器学习模型的参数赋予给对应的所述多个模型的赋予方式;在同一网络中,按照重新限定的所述多个机器学习模型的模型结构以及限定的赋予方式,创建与所述多个机器学习模型对应的所述多个模型;生成创建的所述多个模型中每个模型的优化配置文件;调用所述构建器创建所述网络的剖析定义;将每个模型的优化配置文件放入所述剖析定义中。
作为示例,可通过以下方式基于所述网络创建得到所述单个推理引擎:调用所述构建器,基于所述网络和所述剖析定义创建所述单个推理引擎。
关于上述实施例中的视频质量分析引擎的创建设备10和视频质量分析设备20,其中各个单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
此外,应该理解,根据本公开示例性实施例的视频质量分析引擎的创建设备10和视频质量分析设备20中的各个单元可被实现硬件组件和/或软件组件。本领域技术人员根据限定的各个单元所执行的处理,可以例如使用现场可编程门阵列(FPGA)或专用集成电路(ASIC)来实现各个单元。
图6示出根据本公开示例性实施例的电子设备的结构框图。参照图6,该电子设备30包括:至少一个存储器301和至少一个处理器302,所述至少一个存储器301中存储有计算机可执行指令集合,当计算机可执行指令集合被至少一个处理器302执行时,执行如上述示例性实施例所述的视频质量分析引擎的创建方法和/或视频质量分析方法。
作为示例,电子设备30可以是PC计算机、平板装置、个人数字助理、智能手机、或其他能够执行上述指令集合的装置。这里,电子设备30并非必须是单个的电子设备,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。电子设备30还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子设备。
在电子设备30中,处理器302可包括中央处理器(CPU)、图形处理器(GPU)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器302还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
处理器302可运行存储在存储器301中的指令或代码,其中,存储器301还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,网络接口装置可采用任何已知的传输协议。
存储器301可与处理器302集成为一体,例如,将RAM或闪存布置在集成电路微处理器等之内。此外,存储器301可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储器301和处理器302可在操作上进行耦合,或者可例如通过I/O端口、网络连接等互相通信,使得处理器302能够读取存储在存储器中的文件。
此外,电子设备30还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备30的所有组件可经由总线和/或网络而彼此连接。
根据本公开的示例性实施例,还可提供一种存储指令的计算机可读存储介质,其中,当指令被至少一个处理器运行时,促使至少一个处理器执行如上述示例性实施例所述的视频质量分析引擎的创建方法和/或视频质量分析方法。这里的计算机可读存储介质的示例包括:只读存储器(ROM)、随机存取可编程只读存储器(PROM)、电可擦除可编程只读存储器(EEPROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、非易失性存储器、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、蓝光或光盘存储器、硬盘驱动器(HDD)、固态硬盘(SSD)、卡式存储器(诸如,多媒体卡、安全数字(SD)卡或极速数字(XD)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
根据本公开的示例性实施例,还可提供一种计算机程序产品,该计算机程序产品中的指令可由至少一个处理器执行如上述示例性实施例所述的视频质量分析引擎的创建方法和/或视频质量分析方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (10)

1.一种视频质量分析引擎的创建方法,其特征在于,包括:
获取多任务模型,其中,所述多任务模型包括:与多个视频质量分析任务对应的多个机器学习模型;
在同一网络中创建与所述多个机器学习模型对应的多个模型,其中,所述多个模型符合所要创建的推理引擎的格式;
调用构建器,基于包括所述多个模型的网络创建所述推理引擎,其中,所述推理引擎为用于运行所述多个模型的视频质量分析引擎,
其中,所述视频质量分析引擎运行时,所述视频质量分析引擎的输入量作为所述多个模型的输入量,且所述多个模型的预测结果作为所述视频质量分析引擎的输出量。
2.根据权利要求1所述的创建方法,其特征在于,所述多个机器学习模型为深度学习模型,
其中,获取多任务模型的步骤包括:
分别训练与所述多个视频质量分析任务中的每个视频质量分析任务对应的机器学习模型;
分别针对训练好的每个机器学习模型,对所述每个机器学习模型进行层参数融合,以得到更新后的每个机器学习模型。
3.根据权利要求2所述的创建方法,其特征在于,分别针对训练好的每个机器学习模型,对所述每个机器学习模型进行层参数融合的步骤包括:
分别针对训练好的每个机器学习模型,将所述每个机器学习模型中的归一化层等效替换为一个1×1大小的卷积层,并将所述卷积层与所述归一化层前序相邻的卷积层进行参数合并。
4.根据权利要求1所述的创建方法,其特征在于,所述创建方法还包括:
对创建好的视频质量分析引擎进行序列化处理;
保存序列化处理后的视频质量分析引擎。
5.一种视频质量分析方法,其特征在于,包括:
读取已创建的用于运行多个模型的单个推理引擎;
将向量输入所述单个推理引擎,以得到所述单个推理引擎输出的所述多个模型针对所述向量的预测结果,
其中,所述单个推理引擎通过在同一网络中创建与多任务模型对应的所述多个模型,并基于所述网络创建得到,其中,所述多任务模型包括与多个视频质量分析任务对应的多个机器学习模型。
6.一种视频质量分析引擎的创建设备,其特征在于,包括:
多任务模型获取单元,被配置为获取多任务模型,其中,所述多任务模型包括:与多个视频质量分析任务对应的多个机器学习模型;
模型创建单元,被配置为在同一网络中创建与所述多个机器学习模型对应的多个模型,其中,所述多个模型符合所要创建的推理引擎的格式;
引擎创建单元,被配置为调用构建器,基于包括所述多个模型的网络创建所述推理引擎,其中,所述推理引擎为用于运行所述多个模型的视频质量分析引擎,
其中,所述视频质量分析引擎运行时,所述视频质量分析引擎的输入量作为所述多个模型的输入量,且所述多个模型的预测结果作为所述视频质量分析引擎的输出量。
7.一种视频质量分析设备,其特征在于,包括:
引擎读取单元,被配置为读取已创建的用于运行多个模型的单个推理引擎;
预测单元,被配置为将向量输入所述单个推理引擎,以得到所述单个推理引擎输出的所述多个模型针对所述向量的预测结果,
其中,所述单个推理引擎通过在同一网络中创建与多任务模型对应的所述多个模型,并基于所述网络创建得到,其中,所述多任务模型包括与多个视频质量分析任务对应的多个机器学习模型。
8.一种电子设备,其特征在于,包括:
至少一个处理器;
至少一个存储计算机可执行指令的存储器,
其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行如权利要求1至4中任一项所述的视频质量分析引擎的创建方法和/或如权利要求5所述的视频质量分析方法。
9.一种计算机可读存储介质,其特征在于,当述计算机可读存储介质中的指令被至少一个处理器运行时,促使所述至少一个处理器执行如权利要求1至4中任一项所述的视频质量分析引擎的创建方法和/或如权利要求5所述的视频质量分析方法。
10.一种计算机程序产品,包括计算机指令,其特征在于,所述计算机指令被至少一个处理器执行时实现如权利要求1至4中任一项所述的视频质量分析引擎的创建方法和/或如权利要求5所述的视频质量分析方法。
CN202111505772.7A 2021-12-10 2021-12-10 视频质量分析引擎的创建方法、视频质量分析方法及设备 Pending CN114187259A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111505772.7A CN114187259A (zh) 2021-12-10 2021-12-10 视频质量分析引擎的创建方法、视频质量分析方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111505772.7A CN114187259A (zh) 2021-12-10 2021-12-10 视频质量分析引擎的创建方法、视频质量分析方法及设备

Publications (1)

Publication Number Publication Date
CN114187259A true CN114187259A (zh) 2022-03-15

Family

ID=80604329

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111505772.7A Pending CN114187259A (zh) 2021-12-10 2021-12-10 视频质量分析引擎的创建方法、视频质量分析方法及设备

Country Status (1)

Country Link
CN (1) CN114187259A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114786033A (zh) * 2022-06-23 2022-07-22 中译文娱科技(青岛)有限公司 一种基于人工智能的视听数据智能分析管理系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105204933A (zh) * 2015-09-18 2015-12-30 上海斐讯数据通信技术有限公司 基于单进程的多任务切换执行方法、系统及处理器
JP6224811B1 (ja) * 2016-12-07 2017-11-01 たけおかラボ株式会社 ルールセットを選択可能な推論エンジンを有するプログラム、装置及び方法
CN112668672A (zh) * 2021-03-16 2021-04-16 深圳市安软科技股份有限公司 基于TensorRT的目标检测模型加速方法及装置
CN112672143A (zh) * 2020-12-21 2021-04-16 北京金山云网络技术有限公司 视频质量的评估方法、装置及服务器
CN113033337A (zh) * 2021-03-08 2021-06-25 深圳市安软科技股份有限公司 基于TensorRT的行人重识别方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105204933A (zh) * 2015-09-18 2015-12-30 上海斐讯数据通信技术有限公司 基于单进程的多任务切换执行方法、系统及处理器
JP6224811B1 (ja) * 2016-12-07 2017-11-01 たけおかラボ株式会社 ルールセットを選択可能な推論エンジンを有するプログラム、装置及び方法
CN112672143A (zh) * 2020-12-21 2021-04-16 北京金山云网络技术有限公司 视频质量的评估方法、装置及服务器
CN113033337A (zh) * 2021-03-08 2021-06-25 深圳市安软科技股份有限公司 基于TensorRT的行人重识别方法及装置
CN112668672A (zh) * 2021-03-16 2021-04-16 深圳市安软科技股份有限公司 基于TensorRT的目标检测模型加速方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
THIERRY TAMBE等: "EdgeBERT: Sentence-Level Energy Optimizations for Latency-Aware Multi-Task NLP Inference", 《54TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE》, 17 October 2021 (2021-10-17), pages 830 - 844, XP058992633, DOI: 10.1145/3466752.3480095 *
欧巧凤等: "基于深度学习的车检图像多目标检测与识别", 《应用科学学报》, vol. 39, no. 06, 30 November 2021 (2021-11-30), pages 939 - 951 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114786033A (zh) * 2022-06-23 2022-07-22 中译文娱科技(青岛)有限公司 一种基于人工智能的视听数据智能分析管理系统
CN114786033B (zh) * 2022-06-23 2022-10-21 中译文娱科技(青岛)有限公司 一种基于人工智能的视听数据智能分析管理系统

Similar Documents

Publication Publication Date Title
US11061731B2 (en) Method, device and computer readable medium for scheduling dedicated processing resource
CN110390387B (zh) 对深度学习应用所用资源进行评估
US11386128B2 (en) Automatic feature learning from a relational database for predictive modelling
CN108304201B (zh) 对象更新方法、装置及设备
US11551123B2 (en) Automatic visualization and explanation of feature learning output from a relational database for predictive modelling
US11620537B2 (en) Optimizing gradient boosting feature selection
US11568242B2 (en) Optimization framework for real-time rendering of media using machine learning techniques
WO2022022571A1 (en) Resource allocation for tuning hyperparameters of large-scale deep learning workloads
CN115964646A (zh) 用于应用微服务的异构图生成
US20210326761A1 (en) Method and System for Uniform Execution of Feature Extraction
CN114187259A (zh) 视频质量分析引擎的创建方法、视频质量分析方法及设备
US20230125491A1 (en) Workload migration
CN115392501A (zh) 数据采集方法、装置、电子设备及存储介质
AU2021285952B2 (en) Streamlining data processing optimizations for machine learning workloads
US11823077B2 (en) Parallelized scoring for ensemble model
US11614963B2 (en) Machine learning based runtime optimization
CN113656797A (zh) 行为特征提取方法以及行为特征提取装置
US20230177351A1 (en) Accelerating decision tree inferences based on tensor operations
CN115186738A (zh) 模型训练方法、装置和存储介质
US11288097B2 (en) Automated hardware resource optimization
US20230185791A1 (en) Prioritized data cleaning
CN111208980B (zh) 一种数据分析处理方法和系统
CN112819138A (zh) 一种图像神经网络结构的优化方法及装置
CN115759260A (zh) 深度学习模型的推理方法、装置、电子设备和存储介质
CN116860796A (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