CN110503596A - 视频处理方法、装置、电子设备以及计算机可读存储介质 - Google Patents

视频处理方法、装置、电子设备以及计算机可读存储介质 Download PDF

Info

Publication number
CN110503596A
CN110503596A CN201910738342.6A CN201910738342A CN110503596A CN 110503596 A CN110503596 A CN 110503596A CN 201910738342 A CN201910738342 A CN 201910738342A CN 110503596 A CN110503596 A CN 110503596A
Authority
CN
China
Prior art keywords
frame
image frame
artificial intelligence
device chip
neural network
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
CN201910738342.6A
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.)
Cambricon Technologies Corp Ltd
Beijing Zhongke Cambrian Technology Co Ltd
Original Assignee
Beijing Zhongke Cambrian 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 Zhongke Cambrian Technology Co Ltd filed Critical Beijing Zhongke Cambrian Technology Co Ltd
Priority to CN201910738342.6A priority Critical patent/CN110503596A/zh
Publication of CN110503596A publication Critical patent/CN110503596A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)

Abstract

本申请提供一种视频处理方法、装置、电子设备以及计算机可读存储介质;其中,电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述视频处理方法。

Description

视频处理方法、装置、电子设备以及计算机可读存储介质
技术领域
本申请涉及视频处理技术领域,具体涉及一种视频处理方法、装置、电子设备以及计算机可读存储介质。
背景技术
如图1所示,为传统视频处理方法流程示意图。传统的中央处理器CPU、图像处理器GPU在进行视频处理时,解码器对视频数据进行解码,获得图像帧。将图像帧拷贝到CPU上,再通过Tensorflow等深度学习框架的API(Application Program Interface,应用程序接口)将数据拷贝到GPU进行推理操作,再将推理结果拷贝回CPU。
在上述技术存在如下技术缺陷:首先,数据解码完成后拷贝回CPU再拷贝回GPU,需要两次拷贝才能进行推理操作,拷贝操作耗时,占用带宽,降低了视频处理的效率。其次,数据解码后拷贝回CPU之后,在CPU上需要做一些运算或控制,占用CPU资源,也会导致视频处理效率降低。
发明内容
为解决上述技术问题,本申请提出一种视频处理方法、装置、电子设备以及计算机可读存储介质。
本申请实施例提供一种视频处理方法,包括:人工智能处理器芯片接收图像帧;其中,所述图像帧是基于待处理的视频解码获得的;所述人工智能处理器芯片对所述图像帧进行转换处理,得到标准帧;所述人工智能处理器芯片利用神经网络模型对所述标准帧进行处理。
本申请实施例还提供一种视频处理装置,包括:图像接收模块,用于接收图像帧;其中,所述图像帧是基于待处理的视频解码获得的;转换模块,用于对所述图像帧进行转换处理,得到标准帧;处理模块,用于利用神经网络模型对所述标准帧进行处理。
本申请实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述所述的方法。
本申请实施例还提供一种计算机可读存储介质,其上存储有处理器程序,所述处理器程序用于执行上述所述的方法。
本申请实施例提供的技术方案,利用人工智能处理器芯片实现了原本由中央处理器CPU和图像处理器GPU实现的功能;视频处理流程中无需在CPU与人工智能处理器芯片之间多次拷贝数据,节省了拷贝时间和带宽;而且由于人工智能处理器芯片运算速度比CPU快,不仅减少了在CPU上的运算,也提供了比CPU更快的运算速度,减少了CPU占用,并提高了视频处理的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是传统视频处理方法流程示意图;
图2是本申请一实施例提供的视频处理的工作原理示意图;
图3是本申请一实施例提供的一种视频处理方法流程示意图之一;
图4是本申请一实施例提供的一种视频处理方法流程示意图之二;
图5是本申请一实施例提供的一种视频处理方法流程示意图之三;
图6是本申请一实施例提供的一种视频处理装置的功能框图之一;
图7是本申请一实施例提供的一种视频处理装置的功能框图之二;
图8是本申请一实施例提供的一种视频处理装置的功能框图之三;
图9为神经网络结构示意图;
图10为本申请一实施例提供的电子设备示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,本申请的权利要求、说明书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本申请的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本申请。如在本申请说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本申请说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
为了便于更好的理解本技术方案,下面先解释本申请实施例所涉及的技术术语。
人工智能处理器芯片:也称之为专用处理器,针对特定应用或者领域的处理器。例如:图形处理器(Graphics Processing Unit,缩写:GPU),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上图像运算工作的专用处理器。又例如:神经网络处理器(Neural Processing Unit,缩写:NPU),是一种在人工智能领域的应用中针对矩阵乘法运算的专用处理器,采用“数据驱动并行计算”的架构,特别擅长处理视频、图像类的海量多媒体数据。
推理(Inference):即使用训练好的model文件对新数据做出预测,仅需通过网络进行前向传播。其中,用神经网络解决监督机器学习问题包含两个步骤:第一步是使用GPU对海量标签数据进行深度神经网络训练,训练时需要迭代的通过网络进行前向传播和反向传播,最终会生成训练好的model文件。
在传统技术方案中,视频数据解码完成后拷贝至CPU,经CPU编译处理,CPU编译处理时,占用CPU资源,CPU将处理结果拷贝至人工智能处理器芯片,前后需要两次拷贝才能在人工智能处理器芯片上进行推理操作。拷贝操作耗时,占用带宽,降低了适配处理的效率。
基于上述描述,本申请提出一种技术方案,如图2所示,为本申请一实施例提供的视频处理的工作原理示意图。视频数据解码之后,将解码后的图像帧直接传送至人工智能处理器芯片,人工智能处理器芯片对图像帧进行如缩放、颜色域转换等操作。无需经过在CPU与人工智能处理器芯片之间多次拷贝数据,节省了拷贝时间和带宽,而且由于人工智能处理器芯片运算速度比CPU快,不仅减少了在CPU上的运算,也提供了比CPU更快的运算速度,减少了CPU占用,并提高了视频处理的效率。
根据上述技术原理描述,如图3所示,是本申请一实施例提供的一种视频处理方法流程示意图之一,包括以下步骤。
在步骤S110中,人工智能处理器芯片接收图像帧。其中,图像帧是基于待处理的视频解码获得的。
解码器对待处理的视频进行解码,获得解码后的图像帧。人工智能处理器芯片接收解码后的图像帧。图像帧的数量为一张或一张以上。解码器可以逐帧输出图像帧,也可以等解码完一个批量的图像帧后一起输出。图像帧的格式是YUV、RGB、BGR、ARGB、AGBR、BGRA、RGBA、GRAY中的一种或一种以上。
在本技术方案中,常规的解码方法均适于本方案,这里不再赘述解码方案。
在步骤S120中,人工智能处理器芯片对图像帧进行转换处理,得到标准帧。
人工智能处理器芯片对图像帧进行转换处理,包括对图像帧进行颜色域转换、缩小或放大以及数据的摆放和对齐。
如图9所示,神经网络可以理解为包括输入层、隐含层和输出层。输入层的神经元为输入神经元。输入层对输入信号x1、x2、x3和x4不做操作,且没有关联的权值和偏置。输入层将输入信号(即,值)x1、x2、x3和x4传递给下一层(即,隐含层)。
隐含层具有对输入信号应用不同变换的神经元(即,节点)。一个隐含层即为垂直排列的神经元的集合(representation)。根据图9,共有5个隐含层。从左至右,第一隐含层有4个神经元,第二隐含层有5个神经元,第三隐含层有6个神经元,第四隐含层有4个神经元,第五隐含层有3个神经元。隐含层从输入层接收输入信号,然后传递给输出层。
图9中所示的隐含层中的每个神经元之间进行了完全联接,即每个隐含层中的每个神经元都与下一层的每个神经元有联接。需要指出的是,根据实际情况,各个隐含层之间每个神经元进行完全联接不是必须的。
输出层接收来自最后一个隐含层(如图9的第五隐含层)的输出。输出层的神经元为输出神经元。通过输出层,可以得到期望的值和期望的范围。如图9所示,输入信号为x1、x2、x3和x4,通过隐含层,输出信号为y1、y2和y3。
步骤120可以理解为,在图9中的输入层与第一隐含层之间插入一个层,该插入的层实现对输入信号x1、x2、x3和x4进行颜色域的转换以及缩小或放大处理,从而将输入的图像帧转换为标准帧。
图像帧和标准帧都是图片,可以是一通道图片(灰度图或YUV格式图片)、三通道图片(RGB或BGR格式图片)、四通道图片(RGBA、BGRA、ARGB或ABGR格式图片)。
关于颜色域转换,以神经网络模型采用检测模型SSD(Single Shot MultiBoxDetector)为例。例如,SSD的输入为300×300的RGB图像,则需要将输入的图像帧进行颜色域转换,颜色域转换的输出图片格式设置为RGB,使得颜色域转换得到的标准帧可以直接输入神经网络模型进行处理。例如,在步骤S120中,将输入层输入的图像帧转换为300×300RGB格式,以便得到的标准帧能够直接输入检测模型SSD。
可选地,标准帧的数量为一张或一张以上。标准帧的输出可以逐帧输出到隐含层,也可以将批量的标准帧一起输出到隐含层。
关于数据的摆放和对齐,是将数据在人工智能处理器芯片的相应存储区域上重新排列,利于人工智能处理器芯片更快的处理数据。基本操作包括:维度转换、对齐、分段和数据类型转换。
比如:有多张图片作为一块数据存在内存上,可以认为这块数据是四维的。图片个数是N,图片高是H,图片宽是W,图片的RGB三个通道是C,就有NCHW四个维度。因为人工智能处理器芯片处理NHWC维度的数据更方便,所以需要将NCHW维度转换成NHWC维度。
人工智能处理器芯片需要数据的地址是对齐大小的倍数,对齐大小是由人工智能处理器芯片本身决定的,比如32字节,如果最内维度(对应NHWC中的C维度)所占的字节数不是对齐大小的倍数的话需要补0补到对齐大小的倍数。分段操作是为了增加数据局部性,将优先处理的数据先移动到一起。
对于数据类型转换,可以把一个高精度数据格式转换成低精度数据格式,比如4字节的浮点型转换成2字节的半精度浮点,以损失一定精度的代价来加快运算速度。
关于下文对图像帧进行颜色域转换、缩小或放大及数据的摆放和对齐的具体描述,都如同该描述,以下不再赘述。
在步骤S130中,人工智能处理器芯片利用神经网络模型对标准帧进行处理。
例如,人工智能处理器芯片利用神经网络模型对标准帧进行深度学习推理,实现目标检测、目标分类、目标追踪等任务。例如人脸检测、姿态检测、目标追踪等等。
在实际应用中,人工智能处理器芯片获取神经网络模型对应的二进制指令。
其中,二进制指令处于离线运行文件中。离线运行文件包括神经网络模型对应的二进制指令、常数表、输入/输出数据规模、数据布局描述信息和参数信息。其中,数据布局描述信息是指基于人工智能处理器芯片的硬件特性对输入/输出数据布局及类型进行预处理。常数表、输入/输出数据规模和参数信息基于神经网络模型确定。参数信息为神经网络模型中的权值数据。常数表用于存储有执行二进制指令过程中需要使用的数据。
人工智能处理器芯片执行二进制指令对标准帧进行处理。
在实际应用中,人工智能处理器芯片没有自己的操作系统,经中央处理器CPU对神经网络模型进行解析,翻译成能够让人工智能处理器芯片识别的二进制指令,将二进制指令以及人工智能处理器芯片的架构信息提前固化生成离线运行文件。这样人工智能处理器芯片直接运行先前已固化生成的离线运行文件即可。
离线运行文件还可包括:离线运行文件版本信息和人工智能处理器芯片版本信息。离线运行文件的版本信息是指离线运行文件的版本信息。人工智能处理器芯片版本信息是指端侧人工智能处理器芯片的硬件架构信息。比如:可以通过芯片架构版本号来表示硬件架构信息,也可以通过功能描述来表示架构信息。
神经网络模型包括例如ResNet、VGG、SSD、Yolov3等等,任意以图片为输入的神经网络模型都可以,可以是分类、检测、识别等各种任务的神经网络模型。神经网络模型的输入,可以是一张标准帧也可以是批量标准帧。
本实施例提供的技术方案,利用人工智能处理器芯片实现了原本由中央处理器CPU和图像处理器GPU实现的功能,视频处理流程中无需在CPU与人工智能处理器芯片之间多次拷贝数据,节省了拷贝时间和带宽,而且由于人工智能处理器芯片运算速度比CPU快,不仅减少了在CPU上的运算,也提供了比CPU更快的运算速度,减少了CPU占用,并提高了视频处理的效率。
如图4所示,是本申请一实施例提供的一种视频处理方法流程示意图之二,包括以下步骤。
在步骤S210中,人工智能处理器芯片逐帧接收图像帧。图像帧是基于待处理的视频解码获得的。
解码器对待处理的视频进行解码,获得解码后的图像帧。人工智能处理器芯片逐帧接收解码后的图像帧。图像帧的数量为一张。图像帧的格式是YUV、RGB、BGR、ARGB、AGBR、BGRA、RGBA、GRAY中的一种。
在步骤S220中,人工智能处理器芯片对图像帧进行逐帧转换处理,得到标准帧。
人工智能处理器芯片对逐帧图像帧进行转换处理以得到标准帧。例如人工智能处理器芯片对图像帧进行颜色域转换、缩小或放大以及数据的摆放和对齐以得到标准帧。标准帧逐帧输出到神经网络模型的隐含层。
图像帧和标准帧都是图片,可以是一通道图片(灰度图或YUV格式图片)、三通道图片(RGB或BGR格式图片)、四通道图片(RGBA、BGRA、ARGB或ABGR格式图片)。
标准帧的格式和大小,通常可以通过颜色域转换、缩小或放大以及数据的摆放和对齐,将其配置为与神经网络模型输入的图像帧的格式及大小相对应。使得标准帧可以直接输入神经网络模型进行处理。整个过程都在人工智能处理器芯片上进行。
在对图像帧进行转换处理时,如果缩小或放大过程是对图像帧图片进行放大,则适用于先进行颜色域转换然后进行放大过程,相比较先对图像帧放大再进行颜色域转换,速度更快。
步骤S220包括以下步骤:
在步骤S221中,对图像帧逐帧进行颜色域转换处理得到第一中间图像帧。
在步骤S222中,对第一中间图像帧进行缩小或放大处理,得到第二中间图像帧。
在步骤S223中,根据人工智能处理器芯片的架构信息对第二中间图像帧进行数据的摆放和对齐处理,得到标准帧。
在步骤S230中,人工智能处理器芯片利用神经网络模型对标准帧逐帧进行处理。
例如,利用神经网络模型对标准帧进行深度学习推理,实现目标检测、目标分类、目标追踪等任务。例如人脸检测、姿态检测、目标追踪等等。
在实际应用中,人工智能处理器芯片获取神经网络模型对应的二进制指令。
其中,二进制指令处于离线运行文件中。离线运行文件包括神经网络模型对应的二进制指令、常数表、输入/输出数据规模、数据布局描述信息和参数信息。其中,数据布局描述信息是指基于人工智能处理器芯片的硬件特性对输入/输出数据布局及类型进行预处理。常数表、输入/输出数据规模和参数信息基于神经网络模型确定。参数信息为神经网络模型中的权值数据。常数表用于存储有执行二进制指令过程中需要使用的数据。
在本实施例中,人工智能处理器芯片执行二进制指令对标准帧进行逐帧处理。
在实际应用中,人工智能处理器芯片没有自己的操作系统,经中央处理器CPU对神经网络模型进行解析,翻译成能够让人工智能处理器芯片识别的二进制指令,将二进制指令以及人工智能处理器芯片的架构信息提前固化生成离线运行文件。这样人工智能处理器芯片直接运行先前已固化生成的离线运行文件即可。
离线运行文件还可包括:离线运行文件版本信息和人工智能处理器芯片版本信息。离线运行文件的版本信息是指离线运行文件的版本信息。人工智能处理器芯片版本信息是指端侧人工智能处理器芯片的硬件架构信息。比如:可以通过芯片架构版本号来表示硬件架构信息,也可以通过功能描述来表示架构信息。
神经网络模型包括例如ResNet,VGG,SSD,Yolov3等等,任意以图片为输入的神经网络模型都可以,可以是分类、检测、识别等各种任务的神经网络模型。在本实施例中,神经网络模型的输入,是一张标准帧。
本实施例提供的技术方案,对图像帧和标准帧的输入和输出都是逐帧进行,对图像帧进行了实时处理,而且对图像帧先颜色域转换再放大处理,速度快,效率高。
如图5所示,是本申请一实施例提供的一种视频处理方法流程示意图之三,包括以下步骤。
在步骤S310中,人工智能处理器芯片批量接收图像帧。其中,图像帧是基于待处理的视频解码获得的。
解码器对待处理的视频进行解码,获得解码后的图像帧。人工智能处理器芯片批量接收解码后的图像帧。图像帧的数量为一张以上。图像帧的格式是YUV、RGB、BGR、ARGB、AGBR、BGRA、RGBA、GRAY中的一种或一种以上。
在步骤S320中,人工智能处理器芯片对图像帧进行批量转换处理,得到标准帧。
人工智能处理器芯片对批量图像帧进行转换处理,包括对图像帧进行颜色域转换、缩小或放大以及数据的摆放和对齐。标准帧批量输出到神经网络模型的隐含层。
图像帧和标准帧都是图片,可以是一通道图片(灰度图或YUV格式图片)、三通道图片(RGB或BGR格式图片)、四通道图片(RGBA、BGRA、ARGB或ABGR格式图片)。
标准帧的格式和大小,通常可以通过颜色域转换、缩小或放大以及数据的摆放和对齐,将其配置为与神经网络模型输入的图像帧的格式及大小相对应。使得标准帧可以直接输入神经网络模型进行推理。整个过程都在人工智能处理器芯片上进行。
在对图像帧进行转换处理时,如果缩小或放大过程是对图像帧图片进行缩小,则适用于先进行缩小过程然后进行颜色域转换,相比较先对图像帧进行颜色域转换再缩小,速度更快。
步骤S320包括以下步骤。
在步骤S321中,对批量图像帧进行缩小或放大处理,得到多个第三中间图像帧。
在步骤S322中,对多个第三中间图像帧进行批量颜色域转换处理得到多个第四中间图像帧。
在步骤S323中,根据人工智能处理器芯片的架构信息对批量第四中间图像帧进行数据的摆放和对齐处理,得到标准帧。
在步骤S330中,人工智能处理器芯片利用神经网络模型对标准帧进行批量处理。
例如,利用神经网络模型对标准帧进行深度学习推理,实现目标检测、目标分类、目标追踪等任务。例如人脸检测、姿态检测、目标追踪等等。
在实际应用中,人工智能处理器芯片获取神经网络模型对应的二进制指令。
其中,二进制指令处于离线运行文件中。离线运行文件包括神经网络模型对应的二进制指令、常数表、输入/输出数据规模、数据布局描述信息和参数信息。其中,数据布局描述信息是指基于人工智能处理器芯片的硬件特性对输入/输出数据布局及类型进行预处理。常数表、输入/输出数据规模和参数信息基于神经网络模型确定。参数信息为神经网络模型中的权值数据。常数表用于存储有执行二进制指令过程中需要使用的数据。
在本实施例中,人工智能处理器芯片执行二进制指令对标准帧进行批量处理。
在实际应用中,人工智能处理器芯片没有自己的操作系统,经中央处理器CPU对神经网络模型进行解析,翻译成能够让人工智能处理器芯片识别的二进制指令,将二进制指令以及人工智能处理器芯片的架构信息提前固化生成离线运行文件。这样人工智能处理器芯片直接运行先前已固化生成的离线运行文件即可。
离线运行文件还可包括:离线运行文件版本信息和人工智能处理器芯片版本信息。离线运行文件的版本信息是指离线运行文件的版本信息。人工智能处理器芯片版本信息是指端侧人工智能处理器芯片的硬件架构信息。比如:可以通过芯片架构版本号来表示硬件架构信息,也可以通过功能描述来表示架构信息。
神经网络模型包括例如ResNet,VGG,SSD,Yolov3等等,任意以图片为输入的神经网络模型都可以,可以是分类、检测、识别等各种任务的神经网络模型。在本实施例中,神经网络模型的输入,是批量标准帧。
需要指出的是,本实施例中,图像帧和标准帧是批量处理的。解码、转换处理、深度学习推理环节都是相互独立的,各个环节可以选择逐帧处理,也可以选择批量处理。
本实施例提供的技术方案,对图像帧和标准帧的输入和输出都是批量进行,减少了数据传输的次数,而且对图像帧先缩小再进行颜色域转换,速度快,效率高。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
进一步需要说明的是,虽然图中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
如图6所示,是本申请一实施例提供的一种视频处理装置的功能框图之一。该视频处理装置包括图像接收模块21、转换模块22、处理模块23。
图像接收模块21接收图像帧。图像帧是基于待处理的视频解码获得的。转换模块22对图像帧进行转换处理,得到标准帧。处理模块23利用神经网络模型对标准帧进行处理。
例如,解码器对待处理的视频进行解码,图像接收模块21获得解码后的图像帧。图像帧的数量为一张或一张以上。解码器可以逐帧输出图像帧,也可以等解码完一个批量的图像帧后一起输出。图像帧的格式是YUV、RGB、BGR、ARGB、AGBR、BGRA、RGBA、GRAY中的一种或一种以上。转换模块22对图像帧进行转换处理,包括对图像帧进行颜色域转换、缩小或放大以及数据的摆放和对齐。处理模块23利用神经网络模型对标准帧进行深度学习推理,输出处理结果,实现目标检测、目标分类、目标追踪等任务。例如人脸检测、姿态检测、目标追踪等等。
如图7所示,是本申请一实施例提供的一种视频处理装置的功能框图之二。该视频处理装置包括图像接收模块21、转换模块22、处理模块23。
图像接收模块21接收图像帧,其中,图像帧是基于待处理的视频解码获得的。转换模块22对图像帧进行转换处理,得到标准帧。处理模块23利用神经网络模型对标准帧进行处理。
例如,图像接收模块21逐帧接收图像帧。转换模块22对图像帧进行逐帧转换处理,得到标准帧。转换模块22对图像帧进行颜色域转换、缩小或放大以及数据的摆放和对齐以得到标准帧。处理模块23利用神经网络模型对标准帧逐帧进行处理。标准帧逐帧输出到神经网络模型的隐含层。
转换模块22包括第一颜色域转换单元221、第一缩放单元222、第一对齐单元223。
第一颜色域转换单元221对图像帧进行颜色域转换处理得到第一中间图像帧。第一缩放单元222对第一中间图像帧进行缩小或放大处理,得到第二中间图像帧。第一对齐单元223对第二中间图像帧进行数据的摆放和对齐处理,得到标准帧。
处理模块23包括二进制指令获取单元231、执行单元232。
二进制指令获取单元231用于获取神经网络模型对应的二进制指令,其中,二进制指令处于离线运行文件中。离线运行文件包括神经网络模型对应的二进制指令、常数表、输入/输出数据规模、数据布局描述信息和参数信息。其中,数据布局描述信息是指基于人工智能处理器芯片的硬件特性对输入/输出数据布局及类型进行预处理。常数表、输入/输出数据规模和参数信息基于神经网络模型确定。参数信息为神经网络模型中的权值数据。常数表用于存储有执行二进制指令过程中需要使用的数据。
执行单元232用于人工智能处理器芯片执行二进制指令对标准帧进行处理,输出处理结果。
如图8所示,是本申请一实施例提供的一种视频处理装置的功能框图之三。该视频处理装置包括图像接收模块21、转换模块22、处理模块23。
图像接收模块21接收图像帧,其中,图像帧是基于待处理的视频解码获得的。转换模块22对图像帧进行转换处理,得到标准帧。处理模块23利用神经网络模型对标准帧进行处理。
例如,图像接收模块21批量接收图像帧。转换模块22对图像帧进行批量转换处理,得到标准帧。转换模块22对图像帧进行颜色域转换、缩小或放大以及数据的摆放和对齐以得到标准帧。处理模块23利用神经网络模型对标准帧批量进行处理。标准帧批量输出到神经网络模型的隐含层。
转换模块22包括第二缩放单元224、第二颜色域转换单元225、第二对齐单元226。
第二缩放单元224对图像帧进行缩小或放大处理,得到第三中间图像帧。第二颜色域转换单元225对第三中间图像帧进行颜色域转换处理得到第四中间图像帧。第二对齐单元226对第四中间图像帧进行数据的摆放和对齐处理,得到标准帧。
处理模块23包括二进制指令获取单元231、执行单元232。
二进制指令获取单元231用于获取神经网络模型对应的二进制指令,其中,二进制指令处于离线运行文件中。离线运行文件包括神经网络模型对应的二进制指令、常数表、输入/输出数据规模、数据布局描述信息和参数信息。其中,数据布局描述信息是指基于人工智能处理器芯片的硬件特性对输入/输出数据布局及类型进行预处理。常数表、输入/输出数据规模和参数信息基于神经网络模型确定。参数信息为神经网络模型中的权值数据。常数表用于存储有执行二进制指令过程中需要使用的数据。
执行单元232用于人工智能处理器芯片执行二进制指令对标准帧进行处理,输出处理结果。
如图10所示,本申请实施例还提供一种电子设备。该电子设备可以为一种芯片。该芯片可以包括输出单元401、输入单元402、处理器403、存储器404、通讯接口405,以及内存单元406。
存储器404作为一种非暂态计算机可读存储器,可用于存储软件程序、计算机可执行程序以及模块,如上述描述的用于一种基于人工智能处理器芯片的视频处理方法对应的程序指令/模块。
处理器403通过运行存储在存储截止中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述实施例描述的方法。
存储器404可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据电子器件的使用所创建的数据等。此外,存储器404可以包括高速随机存取存储器,还可以包括非暂态性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态性固态存储器件。在一些实施例中,存储器404可选包括相对于处理器403远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。
本申请实施例还提供一种计算机可读存储介质,其上存储有处理器可执行的程序,处理器执行该程序用于执行以上描述的方法。
应该理解,上述的装置实施例仅是示意性的,本申请的装置还可通过其它的方式实现。例如,上述实施例中所述单元/模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,多个单元、模块或组件可以结合,或者可以集成到另一个系统,或一些特征可以忽略或不执行。
所述作为分离部件说明的单元或模块可以是物理上分开的,也可以不是物理上分开的。作为单元或模块说明的部件可以是物理单元,也可以不是物理单元,即可以位于一个装置中,或者也可以分布到多个装置上。本申请中实施例的方案可以根据实际的需要选择其中的部分或者全部单元来实现。
另外,若无特别说明,在本申请各个实施例中的各功能单元/模块可以集成在一个单元/模块中,也可以是各个单元/模块单独物理存在,也可以两个或两个以上单元/模块集成在一起。上述集成的单元/模块既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元/模块如果以硬件的形式实现时,该硬件可以是数字电路,模拟电路等等。硬件结构的物理实现包括但不局限于晶体管,忆阻器等等。若无特别说明,所述处理器可以是任何适当的硬件处理器,比如CPU、GPU、FPGA、DSP和ASIC等等。若无特别说明,所述存储单元可以是任何适当的磁存储介质或者磁光存储介质,比如,阻变式存储器RRAM(Resistive Random Access Memory)、动态随机存取存储器DRAM(Dynamic Random AccessMemory)、静态随机存取存储器SRAM(Static Random-Access Memory)、增强动态随机存取存储器EDRAM(Enhanced Dynamic Random Access Memory)、高带宽内存HBM(High-Bandwidth Memory)、混合存储立方HMC(Hybrid Memory Cube)等等。
所述集成的单元/模块如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明仅用于帮助理解本申请的方法及其核心思想。同时,本领域技术人员依据本申请的思想,基于本申请的具体实施方式及应用范围上做出的改变或变形之处,都属于本申请保护的范围。综上所述,本说明书内容不应理解为对本申请的限制。

Claims (14)

1.一种视频处理方法,其中,包括:
人工智能处理器芯片接收图像帧;其中,所述图像帧是基于待处理的视频解码获得的;
所述人工智能处理器芯片对所述图像帧进行转换处理,得到标准帧;
所述人工智能处理器芯片利用神经网络模型对所述标准帧进行处理。
2.根据权利要求1所述的方法,其中,所述人工智能处理器芯片对所述图像帧进行转换处理,得到标准帧,包括:
对所述图像帧进行颜色域转换处理,得到第一中间图像帧;
对所述第一中间图像帧进行缩小或放大处理,得到第二中间图像帧;
根据所述人工智能处理器芯片的架构信息对所述第二中间图像帧进行数据的摆放和对齐处理,得到所述标准帧。
3.根据权利要求1所述的方法,其中,所述人工智能处理器芯片对所述图像帧进行转换处理,得到标准帧,包括:
对所述图像帧进行缩小或放大处理,得到第三中间图像帧;
对所述第三中间图像帧进行颜色域转换处理,得到第四中间图像帧;
根据所述人工智能处理器芯片的架构信息对所述第四中间图像帧进行数据的摆放和对齐处理,得到所述标准帧。
4.根据权利要求1所述的方法,其中,所述图像帧的格式包括YUV、RGB、BGR、ARGB、AGBR、BGRA、RGBA、GRAY中的一种或一种以上。
5.根据权利要求1所述的方法,其中,所述图像帧的数量为一张或一张以上。
6.根据权利要求1所述的方法,其中,所述标准帧的数量为一张或一张以上。
7.根据权利要求1所述的方法,其中,所述人工智能处理器芯片利用神经网络模型对所述标准帧进行处理的步骤包括:
获取所述神经网络模型对应的二进制指令;其中,所述二进制指令处于离线运行文件中;所述离线运行文件包括所述神经网络模型对应的二进制指令、常数表、输入/输出数据规模、数据布局描述信息和参数信息;其中,所述数据布局描述信息是指基于所述人工智能处理器芯片的硬件特性对输入/输出数据布局及类型进行预处理;所述常数表、输入/输出数据规模和参数信息基于所述神经网络模型确定;所述参数信息为所述神经网络模型中的权值数据;所述常数表用于存储有执行二进制指令过程中需要使用的数据;
所述人工智能处理器芯片执行所述二进制指令对所述标准帧进行处理。
8.根据权利要求1所述的方法,其中,所述标准帧的格式及大小与所述神经网络模型输入的图像帧的格式及大小相对应。
9.一种视频处理装置,包括:
图像接收模块,用于接收图像帧;其中,所述图像帧是基于待处理的视频解码获得的;
转换模块,用于对所述图像帧进行转换处理,得到标准帧;
处理模块,用于利用神经网络模型对所述标准帧进行处理。
10.根据权利要求9所述的装置,其中,所述转换模块包括:
第一颜色域转换单元,对所述图像帧进行颜色域转换处理得到第一中间图像帧;
第一缩放单元,对所述第一中间图像帧进行缩小或放大处理,得到第二中间图像帧;
第一对齐单元,根据所述人工智能处理器芯片的架构信息对所述第二中间图像帧进行数据的摆放和对齐处理,得到所述标准帧。
11.根据权利要求9所述的装置,其中,所述转换模块包括:
第二缩放单元,对所述图像帧进行缩小或放大处理,得到第三中间图像帧;
第二颜色域转换单元,对所述第三中间图像帧进行颜色域转换处理,得到第四中间图像帧;
第二对齐单元,根据所述人工智能处理器芯片的架构信息对所述第四中间图像帧进行数据的摆放和对齐处理,得到所述标准帧。
12.根据权利要求9所述的装置,其中,所述处理模块包括:
二进制指令获取单元,用于获取所述神经网络模型对应的二进制指令;其中,所述二进制指令处于离线运行文件中;所述离线运行文件包括所述神经网络模型对应的二进制指令、常数表、输入/输出数据规模、数据布局描述信息和参数信息;其中,所述数据布局描述信息是指基于人工智能处理器芯片的硬件特性对输入/输出数据布局及类型进行预处理;所述常数表、输入/输出数据规模和参数信息基于所述神经网络模型确定;所述参数信息为所述神经网络模型中的权值数据;所述常数表用于存储有执行二进制指令过程中需要使用的数据;
执行单元,用于所述人工智能处理器芯片执行所述二进制指令对所述标准帧进行处理。
13.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1~8中任一项所述的方法。
14.一种计算机可读存储介质,其上存储有处理器可执行的程序,其特征在于,运行所述处理器可执行的程序以执行权利要求1~8中任一项所述的方法。
CN201910738342.6A 2019-08-12 2019-08-12 视频处理方法、装置、电子设备以及计算机可读存储介质 Pending CN110503596A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910738342.6A CN110503596A (zh) 2019-08-12 2019-08-12 视频处理方法、装置、电子设备以及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910738342.6A CN110503596A (zh) 2019-08-12 2019-08-12 视频处理方法、装置、电子设备以及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN110503596A true CN110503596A (zh) 2019-11-26

Family

ID=68587036

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910738342.6A Pending CN110503596A (zh) 2019-08-12 2019-08-12 视频处理方法、装置、电子设备以及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN110503596A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112181657A (zh) * 2020-09-30 2021-01-05 京东方科技集团股份有限公司 视频处理方法、装置、电子设备及存储介质
CN114485957A (zh) * 2022-02-11 2022-05-13 华北电力科学研究院有限责任公司 煤粉燃烧器着火稳定性分析方法及其装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104982026A (zh) * 2014-02-03 2015-10-14 株式会社隆创 图像检查装置和图像检查程序
CN107977229A (zh) * 2016-11-30 2018-05-01 上海寒武纪信息科技有限公司 一种指令生成过程的复用方法及装置、处理装置
CN108921012A (zh) * 2018-05-16 2018-11-30 中国科学院计算技术研究所 一种利用人工智能芯片处理图像视频帧的方法
US20190156203A1 (en) * 2017-11-17 2019-05-23 Samsung Electronics Co., Ltd. Neural network training method and device
CN109801209A (zh) * 2019-01-29 2019-05-24 北京旷视科技有限公司 参数预测方法、人工智能芯片、设备及系统
CN110069968A (zh) * 2018-01-22 2019-07-30 耐能有限公司 脸部辨识系统及脸部辨识方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104982026A (zh) * 2014-02-03 2015-10-14 株式会社隆创 图像检查装置和图像检查程序
CN107977229A (zh) * 2016-11-30 2018-05-01 上海寒武纪信息科技有限公司 一种指令生成过程的复用方法及装置、处理装置
US20190156203A1 (en) * 2017-11-17 2019-05-23 Samsung Electronics Co., Ltd. Neural network training method and device
CN110069968A (zh) * 2018-01-22 2019-07-30 耐能有限公司 脸部辨识系统及脸部辨识方法
CN108921012A (zh) * 2018-05-16 2018-11-30 中国科学院计算技术研究所 一种利用人工智能芯片处理图像视频帧的方法
CN109801209A (zh) * 2019-01-29 2019-05-24 北京旷视科技有限公司 参数预测方法、人工智能芯片、设备及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112181657A (zh) * 2020-09-30 2021-01-05 京东方科技集团股份有限公司 视频处理方法、装置、电子设备及存储介质
CN112181657B (zh) * 2020-09-30 2024-05-07 京东方科技集团股份有限公司 视频处理方法、装置、电子设备及存储介质
CN114485957A (zh) * 2022-02-11 2022-05-13 华北电力科学研究院有限责任公司 煤粉燃烧器着火稳定性分析方法及其装置
CN114485957B (zh) * 2022-02-11 2024-04-19 华北电力科学研究院有限责任公司 煤粉燃烧器着火稳定性分析方法及其装置

Similar Documents

Publication Publication Date Title
US20200210773A1 (en) Neural network for image multi-label identification, related method, medium and device
Zhang et al. Joint task-recursive learning for semantic segmentation and depth estimation
CN108876792B (zh) 语义分割方法、装置和系统及存储介质
US11663249B2 (en) Visual question answering using visual knowledge bases
CN109997168B (zh) 用于生成输出图像的方法和系统
US20190164250A1 (en) Method and apparatus for adding digital watermark to video
CA3069365A1 (en) Generation of point of interest copy
US11521133B2 (en) Method for large-scale distributed machine learning using formal knowledge and training data
US20220180624A1 (en) Method and device for automatic identification of labels of an image
CN111681177B (zh) 视频处理方法及装置、计算机可读存储介质、电子设备
CN112487207A (zh) 图像的多标签分类方法、装置、计算机设备及存储介质
CN110399518A (zh) 一种基于图卷积的视觉问答增强方法
CN112257855B (zh) 一种神经网络的训练方法及装置、电子设备及存储介质
WO2023024406A1 (zh) 数据蒸馏的方法、装置、设备、存储介质、计算机程序及产品
CN114266945B (zh) 一种目标检测模型的训练方法、目标检测方法及相关装置
CN110503596A (zh) 视频处理方法、装置、电子设备以及计算机可读存储介质
US20210081677A1 (en) Unsupervised Video Object Segmentation and Image Object Co-Segmentation Using Attentive Graph Neural Network Architectures
CN111522979B (zh) 图片排序推荐方法、装置、电子设备、存储介质
Tang et al. Multi-entity dependence learning with rich context via conditional variational auto-encoder
CN112016617A (zh) 细粒度分类方法、装置及计算机可读存储介质
Pavăl et al. Reaction-diffusion model applied to enhancing U-Net accuracy for semantic image segmentation
Gao et al. Unsupervised urban scene segmentation via domain adaptation
Zhou et al. A strip dilated convolutional network for semantic segmentation
CN116630712A (zh) 基于模态组合的信息分类方法、装置、电子设备及介质
CN115827878A (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
CB02 Change of applicant information

Address after: Room 644, scientific research complex building, No. 6, South Road, Academy of Sciences, Haidian District, Beijing 100086

Applicant after: Zhongke Cambrian Technology Co.,Ltd.

Address before: Room 644, scientific research complex building, No. 6, South Road, Academy of Sciences, Haidian District, Beijing 100086

Applicant before: Beijing Zhongke Cambrian Technology Co.,Ltd.

CB02 Change of applicant information
RJ01 Rejection of invention patent application after publication

Application publication date: 20191126

RJ01 Rejection of invention patent application after publication