CN112990370A - 图像数据的处理方法和装置、存储介质及电子设备 - Google Patents

图像数据的处理方法和装置、存储介质及电子设备 Download PDF

Info

Publication number
CN112990370A
CN112990370A CN202110451609.0A CN202110451609A CN112990370A CN 112990370 A CN112990370 A CN 112990370A CN 202110451609 A CN202110451609 A CN 202110451609A CN 112990370 A CN112990370 A CN 112990370A
Authority
CN
China
Prior art keywords
image data
data
weight
data set
group
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.)
Granted
Application number
CN202110451609.0A
Other languages
English (en)
Other versions
CN112990370B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110451609.0A priority Critical patent/CN112990370B/zh
Publication of CN112990370A publication Critical patent/CN112990370A/zh
Application granted granted Critical
Publication of CN112990370B publication Critical patent/CN112990370B/zh
Priority to PCT/CN2022/086217 priority patent/WO2022228105A1/zh
Priority to JP2023524148A priority patent/JP2023547831A/ja
Priority to EP22794576.3A priority patent/EP4296891A1/en
Priority to US17/991,416 priority patent/US20230083565A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • 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
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • 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
    • G06T9/00Image coding

Abstract

本发明公开了一种图像数据的处理方法和装置、存储介质及电子设备。其中,该方法包括:采用获取待处理的第一图像数据集,其中,第一图像数据集中的图像数据按照第一数据格式进行排列,将第一图像数据集中的数据进行交织重排,得到第二图像数据集,其中,第二图像数据集中的图像数据按照第二数据格式进行排列,交织重排的方式与卷积操作匹配,第二数据格式的维度小于第一数据格式,对第二图像数据集和已获取的第二权重数据集执行卷积操作,得到目标输出结果。本发明解决了相关技术中存在的处理图像数据的效率比较低的技术问题。

Description

图像数据的处理方法和装置、存储介质及电子设备
技术领域
本发明涉及计算机领域,具体而言,涉及一种图像数据的处理方法和装置、存储介质及电子设备。
背景技术
目前的相关技术中,传统计算模式一般为每一个输出即是一个线程组,利用SIMD(Single Instruction Multiple Data,单指令多数据结构)对图像数据进行处理,例如,在利用SIMD进行卷积运算的过程中,输入维度为[N,C,H,W]=[1,1,5,5],卷积核维度为[Cout,Cin,kernel_h,kernel_w]=[1,1,3,3],进行卷积计算并最终生成维度为[N,C,H,W]=[1,1,5,5]的输出,其中,N,C,H,W分别表示批次,通道数,高度,宽度;Cout表示卷积核的输出通道数,Cin表示卷积核的输入通道数,kernel_h表示卷积核的高度,kernel_w表示卷积核的宽度。
现有的技术方案的数据排列通常只针对于[N,C,H,W]的维度,相比传统的数据表达方式对比,对于卷积操作, 根据计算机内存排布特点,如果输入空间尺寸较大的话,为了获取信息的完整,需要对输入进行例如补边等操作,进而,由于跨通道获取数据,造成CacheMiss以及额外的数据拷贝开销,导致严重影响计算过程中的设备运行性能。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种图像数据的处理方法和装置、存储介质及电子设备,以至少解决相关技术中存在的处理图像数据的效率比较低的技术问题。
根据本发明实施例的一个方面,提供了一种图像数据的处理方法,包括:获取待处理的第一图像数据集,其中,所述第一图像数据集中的图像数据按照第一数据格式进行排列;将所述第一图像数据集中的数据进行交织重排,得到第二图像数据集,其中,所述第二图像数据集中的图像数据按照第二数据格式进行排列,所述交织重排的方式与卷积操作匹配,所述第二数据格式的维度小于所述第一数据格式;对所述第二图像数据集和已获取的第二权重数据集执行所述卷积操作,得到目标输出结果。
可选地,所述对所述C2组图像数据和所述第二权重数据集中的N2×C2 组权重数据执行卷积操作,得到所述第三图像数据集中的N2组图像数据,包括:将所述N2×C2 组权重数据中的每C2组权重数据分别与所述C2组图像数据执行加权求和操作,得到所述N2组图像数据。
根据本发明实施例的另一方面,还提供了一种图像数据的处理装置,包括:获取模块,用于获取待处理的第一图像数据集,其中,所述第一图像数据集中的图像数据按照第一数据格式进行排列;处理模块,用于将所述第一图像数据集中的数据进行交织重排,得到第二图像数据集,其中,所述第二图像数据集中的图像数据按照第二数据格式进行排列,所述交织重排的方式与卷积操作匹配,所述第二数据格式的维度小于所述第一数据格式;执行模块,用于对所述第二图像数据集和已获取的第二权重数据集执行所述卷积操作,得到目标输出结果。
可选地,所述获取模块,包括:获取单元,用于获取待处理的第一图像数据集,其中,所述第一图像数据集中的图像数据按照N1×C1×H1×W1的数据格式进行排列,N1表示所述第一图像数据集包括的图像数据子集的数量,C1表示每个所述图像数据子集中的通道数量,H1表示所述第一图像数据集中每个所述图像数据子集中的数据高度,W1表示所述第一图像数据集中表示每个所述图像数据子集中的数据宽度;所述处理模块,包括:处理单元,用于将所述第一图像数据集中的数据进行交织重排,得到第二图像数据集,其中,所述第二图像数据集中的图像数据按照N1×H2×W2的数据格式进行排列,H2表示所述第二图像数据集中每个所述图像数据子集中的数据高度,W2表示所述第二图像数据集中每个所述图像数据子集中的数据宽度。
可选地,所述处理模块,包括:分组单元,用于将所述第一图像数据集中每M1个通道的图像数据分成一组,得到S1组图像数据,其中,M1≤C1;排列单元,用于将所述S1组图像数据中的每组图像数据中的M1个通道的图像数据进行交织重排,得到所述第二图像数据集。
可选地,所述分组单元用于通过如下方式将所述第一图像数据集中每M1个通道的图像数据分成一组,得到S1组图像数据:在C1不为M1的整数倍的情况下,将所述第一图像数据集中的通道数量的从C1增加到C2,得到第三图像数据集,其中,C2为M1的整数倍,所述第三图像数据集中增加的通道上的图像数据为0;将所述第三图像数据集中每M1个通道的图像数据分成一组,得到S1组图像数据,其中,
Figure 679119DEST_PATH_IMAGE001
可选地,所述排列单元用于通过如下方式将将所述S1组图像数据中的每组图像数据中的M1个通道的图像数据进行交织重排,得到所述第二图像数据集:在C1为M1的整数倍的情况下,将所述S1组图像数据中的每组图像数据中的M1个通道的图像数据进行交织重排,得到所述第二图像数据集,其中,
Figure 65101DEST_PATH_IMAGE002
Figure 579259DEST_PATH_IMAGE003
在C1不为M1的整数倍的情况下,将所述S1组图像数据中的每组图像数据中的M1个通道的图像数据进行交织重排,得到所述第二图像数据集,其中,
Figure 214550DEST_PATH_IMAGE002
Figure 497764DEST_PATH_IMAGE004
可选地,所述装置还用于:获取预设的第一权重数据集,其中,所述第一权重数据集中的权重数据按照N2×C2×H3×W3的数据格式进行排列,N2表示所述第一权重数据集包括的权重数据子集的数量,C2表示每个所述权重数据子集中的通道数量,H3表示每个所述权重数据子集中的数据高度,W3表示每个所述权重数据子集中的数据宽度;将所述第一权重数据集中的数据进行交织重排,得到所述第二权重数据集,其中,所述第二权重数据集中的权重数据按照H4×W4的数据格式进行排列。
可选地,所述装置还用于通过如下方式将所述第一权重数据集中的数据进行交织重排,得到所述第二权重数据集:将所述第一权重数据集中每M2个权重数据子集的权重数据分成一组,得到S2组权重数据,其中,M2≤N2;将所述S2组权重数据中的每组权重数据中的M2个权重数据进行交织重排,得到所述第二权重数据集。
可选地,所述装置还用于通过如下方式将所述第一权重数据集中每M2个权重数据子集的权重数据分成一组,得到S2组权重数据,包括:
在N2为M2的整数倍的情况下,将所述第一权重数据集中每M2个权重数据子集的权重数据分成一组,得到所述S2组权重数据,其中,
Figure 54647DEST_PATH_IMAGE005
在N2不为M2的整数倍的情况下,将所述第一权重数据集中的权重数据子集的数量的从N2增加到N3,得到第三权重数据集,其中,N3为M2的整数倍,所述第三权重数据集中增加的权重数据子集中的权重数据为0;将所述第三权重数据集中每M2个权重数据子集的权重数据分成一组,得到所述S2组权重数据,其中,
Figure 790522DEST_PATH_IMAGE006
可选地,所述装置还用于通过如下方式将所述S2组权重数据中的每组权重数据中的M2个权重数据进行交织重排,得到所述第二权重数据集,包括:
在N2为M2的整数倍的情况下,将所述S2组权重数据中的每组权重数据中的M2个权重数据进行交织重排,得到所述第二权重数据集,其中,
Figure 723843DEST_PATH_IMAGE007
Figure 110831DEST_PATH_IMAGE008
在N2不为M2的整数倍的情况下,将所述S2组权重数据中的每组权重数据中的M2个权重数据进行交织重排,得到所述第二权重数据集,其中,
Figure 838616DEST_PATH_IMAGE009
Figure 61786DEST_PATH_IMAGE008
可选地,所述N2表示卷积核的输出通道的数量,所述C2表示所述卷积核的输入通道的数量,所述卷积操作为使用所述卷积核执行的卷积操作,每个所述权重数据子集包括C2个所述输入通道上的权重数据,每个所述输出通道包括C2个所述输入通道。
可选地,所述装置还用于通过如下方式对所述第二图像数据集和已获取的第二权重数据集执行所述卷积操作,得到目标输出结果:对所述第二图像数据集和已获取的第二权重数据集执行所述卷积操作,得到目标输出结果,包括:
对所述第二图像数据集和所述第二权重数据集执行所述卷积操作,得到第三图像数据集,其中,所述目标输出结果包括所述第三图像数据集,所述第二图像数据集是将S1组图像数据中的每组图像数据中的M1个通道的图像数据进行交织重排,得到图像数据集,所述S1组图像数据是将所述第一图像数据集中每M1个通道的图像数据分成一组,得到图像数据,M1≤C1
可选地,所述装置还用于通过如下方式对所述第二图像数据集和所述第二权重数据集执行卷积操作,得到第三图像数据集,包括:
在所述第二图像数据集中获取C2组图像数据,其中,每组图像数据包括所述第一图像数据集中位于同一个通道的多个图像数据,所述每组图像数据是从所述C2组图像数据中的上一组图像数据的存储地址偏移1个地址得到的图像数据;
对所述C2组图像数据和所述第二权重数据集中的N2×C2 组权重数据执行卷积操作,得到所述第三图像数据集中的N2组图像数据,其中,每组权重数据与所述每组图像数据具有相同的数据结构;
其中,所述第二权重数据集是将第一权重数据集中的数据进行交织重排,得到第二权重数据集,所述第一权重数据集中的权重数据按照N2×C2×H3×W3的数据格式进行排列,N2表示所述第一权重数据集包括的权重数据子集的数量,C2 表示每个所述权重数据子集中的通道数量,H3表示每个所述权重数据子集中的数据高度,W3表示每个所述权重数据子集中的数据宽度。
可选地,所述装置还用于通过如下方式对所述C2 组图像数据和所述第二权重数据集中的N2×C2组权重数据执行卷积操作,得到所述第三图像数据集中的N2组图像数据,包括:
将所述N2×C2组权重数据中的每C2组权重数据分别与所述C2组图像数据执行加权求和操作,得到所述N2组图像数据。
可选地,所述装置还用于:在第一内存空间中存储所述第一图像数据集和所述第二图像数据集;在第二内存空间中存储所述第二权重数据集,其中,所述第一内存空间与所述第二内存空间为相互独立的内存空间。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述图像数据的处理方法。
根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过所述计算机程序执行上述的图像数据的处理方法。
在本发明实施例中,采用获取待处理的第一图像数据集,其中,第一图像数据集中的图像数据按照第一数据格式进行排列;将第一图像数据集中的数据进行交织重排,得到第二图像数据集,其中,第二图像数据集中的图像数据按照第二数据格式进行排列,交织重排的方式与卷积操作匹配,第二数据格式的维度小于第一数据格式,对第二图像数据集和已获取的第二权重数据集执行卷积操作,得到目标输出结果的方式,通过针对图像数据处理过程中的计算过程实现深度优化,将计算过程中输入图像数据、输出图像数据以及计算权重进行相应的数据重排,降低了传统计算模式下额外的数据拷贝开销,达到了降低出现Cache Miss的概率的目的,从而实现了优化设备计算性能,提高图像数据的处理效率的技术效果,进而解决了相关技术中存在的处理图像数据的效率比较低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的图像数据的处理方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的图像数据的处理方法的流程示意图;
图3是根据本发明实施例的一种可选的图像数据的处理方法的示意图;
图4是根据本发明实施例的又一种可选的图像数据的处理方法的示意图;
图5是根据本发明实施例的又一种可选的图像数据的处理方法的示意图;
图6是根据本发明实施例的又一种可选的图像数据的处理方法的示意图;
图7是根据本发明实施例的又一种可选的图像数据的处理方法的示意图;
图8是根据本发明实施例的又一种可选的图像数据的处理方法的示意图;
图9是根据本发明实施例的又一种可选的图像数据的处理方法的示意图;
图10是根据本发明实施例的又一种可选的图像数据的处理方法的示意图;
图11是根据本发明实施例的又一种可选的图像数据的处理方法的示意图;
图12是根据本发明实施例的一种可选的图像数据的处理装置的结构示意图;
图13是根据本发明实施例的一种可选的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:
CNN: Convolutional Neural Networks (卷积神经网络);
SIMD: Single Instruction Multiple Data(单指令多数据结构);
Metal:一种可以访问硬件图像处理单元(GPU)的抽象的框架;
Buffer: Metal Buffer(Metal表示常规的内存);
Texture: Metal Texture(Metal表示纹理的内存);
[N,C,H,W]:数据的维度表示模式,[batch,channel,height,width]分别表示[批次,通道数,高度,宽度];
Cout:卷积核的输出通道数;
Cin:卷积核的输入通道数;
kernel_h:卷积核的高度;
kernel_w:卷积核的宽度。
下面结合实施例对本发明进行说明:
根据本发明实施例的一个方面,提供了一种图像数据的处理方法,可选地,在本实施例中,上述图像数据的处理方法可以应用于如图1所示的由服务器101和用户终端103所构成的硬件环境中。如图1所示,服务器101通过网络与终端103进行连接,可用于为用户终端或用户终端上安装的客户端提供服务,客户端可以是视频客户端、即时通信客户端、浏览器客户端、教育客户端、游戏客户端等。可在服务器上或独立于服务器设置数据库105,用于为服务器101提供数据存储服务,例如,图像数据存储服务器,上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络,用户终端103可以是配置有应用程序107的终端,可以包括但不限于以下至少之一:手机(如Android手机、iOS手机等)、笔记本电脑、平板电脑、掌上电脑、MID(Mobile Internet Devices,移动互联网设备)、PAD、台式电脑、智能电视等计算机设备,上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器,使用上述图像数据的处理方法的应用程序107通过用户终端103进行显示。
结合图1所示,上述图像数据的处理方法可以在用户终端103通过如下步骤实现:
S1,在用户终端103的应用程序107中获取待处理的第一图像数据集,其中,第一图像数据集中的图像数据按照第一数据格式进行排列;
S2,在用户终端103的应用程序107中将第一图像数据集中的数据进行交织重排,得到第二图像数据集,其中,第二图像数据集中的图像数据按照第二数据格式进行排列,交织重排的方式与卷积操作匹配,第二数据格式的维度小于第一数据格式;
S3,在用户终端103的应用程序107中对第二图像数据集和已获取的第二权重数据集执行卷积操作,得到目标输出结果。
可选地,在本实施例中,上述图像数据的处理方法还可以通过包括但不限于配置于服务器的客户端使用。
可选地,在本实施例中,上述图像数据的处理方法可以包括但不限于由用户终端103和设置于服务器101的客户端进行异步使用,例如,通过用户终端103中应用程序107执行上述步骤S1、S2,通过设置于服务器101的客户端执行上述步骤S3,上述仅是一种示例,本实施例不做具体的限定。
可选地,作为一种可选的实施方式,如图2所示,上述图像数据的处理方法包括:
S202,获取待处理的第一图像数据集,其中,第一图像数据集中的图像数据按照第一数据格式进行排列;
S204,将第一图像数据集中的数据进行交织重排,得到第二图像数据集,其中,第二图像数据集中的图像数据按照第二数据格式进行排列,交织重排的方式与卷积操作匹配,第二数据格式的维度小于第一数据格式;
S206,对第二图像数据集和已获取的第二权重数据集执行卷积操作,得到目标输出结果。
可选地,在本实施例中,上述第一数据格式的图像数据可以包括但不限于按照
Figure 267640DEST_PATH_IMAGE010
的数据格式进行排列,
Figure 525446DEST_PATH_IMAGE011
表示所述第一图像数据集包括的图像数据子集的数量,
Figure 174864DEST_PATH_IMAGE012
表示每个所述图像数据子集中的通道数量,
Figure 885331DEST_PATH_IMAGE013
表示所述第一图像数据集中每个所述图像数据子集中的数据高度,
Figure 894876DEST_PATH_IMAGE014
所述第一图像数据集中表示每个所述图像数据子集中的数据宽度。
例如,图3是根据本发明实施例的又一种可选的图像数据的处理方法的示意图,上述第一图像数据集中的图像数据按照
Figure 7188DEST_PATH_IMAGE010
的数据格式进行排列可以包括但不限于如图3所示,
Figure 811196DEST_PATH_IMAGE011
表示第一图像数据集包括的图像数据子集的数量,图3中示出
Figure 523806DEST_PATH_IMAGE011
=2,换言之,在如图3所示的图像数据处理过程中,包括两个批次的待处理数据,其中,一个批次等于一个图像数据子集,
Figure 71462DEST_PATH_IMAGE012
表示每个图像数据子集中的通道数量,图3中示出
Figure 303860DEST_PATH_IMAGE012
=5,表示该批次的待处理数据包括有5个通道的待处理数据,
Figure 544349DEST_PATH_IMAGE013
表示每个图像数据子集中的数据高度,图3中示出
Figure 229408DEST_PATH_IMAGE013
=h,
Figure 328557DEST_PATH_IMAGE014
表示每个图像数据子集中的数据宽度,图3中示出
Figure 149883DEST_PATH_IMAGE014
=w,“A,B,C”表示不同通道内的图像数据。
可选地,在本实施例中,上述图像数据的处理方法的应用场景可以包括但不限于医疗、金融、征信、银行、政务、政府、游戏、能源、教育、安防、楼宇、游戏、交通、物联、工业以及人工智能等多种需要进行图像数据处理的应用场景,上述应用场景可以包括但不限于应用在神经网络前向计算库中,由于神经网络前向计算库提供了所有神经网络算法的计算能力,本发明的应用场景可以涵盖所有使用神经网络前向库的应用场景,例如,包括但不限于与云技术关联的AI算法相关应用,如虚拟背景等。
其中,人工智能(Artificial Intelligence, AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
计算机视觉技术(Computer Vision, CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
自动驾驶技术通常包括高精地图、环境感知、行为决策、路径规划、运动控制等技术,自动驾驶技术有着广泛的应用前景,随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
其中,云会议是基于云计算技术的一种高效、便捷、低成本的会议形式。使用者只需要通过互联网界面,进行简单易用的操作,便可快速高效地与全球各地团队及客户同步分享语音、数据文件及视频,而会议中数据的传输、处理等复杂技术由云会议服务商帮助使用者进行操作。
目前国内云会议主要集中在以SaaS (Software as a Service,软件即服务)模式为主体的服务内容,包括电话、网络、视频等服务形式,基于云计算的视频会议就叫云会议。
在云会议时代,数据的传输、处理、存储全部由视频会议厂家的计算机资源处理,用户完全无需再购置昂贵的硬件和安装繁琐的软件,只需打开浏览器,登录相应界面,就能进行高效的远程会议。
云会议系统支持多服务器动态集群部署,并提供多台高性能服务器,大大提升了会议稳定性、安全性、可用性。近年来,视频会议因能大幅提高沟通效率,持续降低沟通成本,带来内部管理水平升级,而获得众多用户欢迎,已广泛应用在政府、军队、交通、运输、金融、运营商、教育、企业等各个领域。毫无疑问,视频会议运用云计算以后,在方便性、快捷性、易用性上具有更强的吸引力,必将激发视频会议应用新高潮的到来。
例如,以上述图像数据的处理方法应用在云会议场景中为例,图4是根据本发明实施例的一种可选的图像数据的处理方法的示意图,如图4所示,具体包括但不限于如下步骤:
S1,用户终端402获取待处理的第一图像数据集;
S2,位于用户终端402内部或与用户终端402相连接的处理器404将第一图像数据集中的数据进行交织重排,得到第二图像数据集;
S3,对第二图像数据集和已获取的第二权重数据集执行卷积操作,得到目标输出结果。
其中,上述第一图像数据集可以包括但不限于如图4所示数据库中存储的待处理的第一图像数据集,上述目标输出结果可以包括但不限于用于在图4所示的云会议应用406的虚拟背景显示区域408中进行显示的虚拟背景,或,其他使用上述图像数据处理方法处理之后得到的图像数据。
上述仅是一种示例,本实施例不做任何具体的限定。
可选地,在本实施例中,上述对第二图像数据集和已获取的第二权重数据集执行卷积操作,得到目标输出结果可以包括但不限于对第二图像数据集和第二权重数据集执行卷积操作,得到第三图像数据集,其中,卷积操作包括但不限于卷积操作,目标输出结果包括但不限于第三图像数据集,第二图像数据集是将
Figure 826852DEST_PATH_IMAGE015
组图像数据中的每组图像数据中的
Figure 733628DEST_PATH_IMAGE016
个通道的图像数据进行交织重排,得到图像数据集,
Figure 623087DEST_PATH_IMAGE015
组图像数据是将第一图像数据集中每
Figure 79345DEST_PATH_IMAGE016
个通道的图像数据分成一组,得到图像数据,
Figure 661636DEST_PATH_IMAGE017
通过本实施例,采用获取待处理的第一图像数据集,其中,第一图像数据集中的图像数据按照
Figure 321287DEST_PATH_IMAGE010
的数据格式进行排列,
Figure 14437DEST_PATH_IMAGE011
表示第一图像数据集包括的图像数据子集的数量,
Figure 764349DEST_PATH_IMAGE012
表示每个图像数据子集中的通道数量,
Figure 517542DEST_PATH_IMAGE013
表示每个图像数据子集中的数据高度,
Figure 664489DEST_PATH_IMAGE014
表示每个图像数据子集中的数据宽度,将第一图像数据集中的数据进行交织重排,得到第二图像数据集,其中,第二图像数据集中的图像数据按照
Figure 161330DEST_PATH_IMAGE018
的数据格式进行排列,交织重排的方式与卷积操作匹配的方式,通过针对图像数据处理过程中的计算过程实现深度优化,将计算过程中输入图像数据、输出图像数据以及计算权重进行相应的数据重排,由于将较多维度的数据重新排列为较低维度的数据,在后续进行卷积计算的过程中,处理不同通道的数据时,例如,现有技术中每次从不同通道内提取数据均需要跨通道提取,而采用本申请中记载的技术方案,能够将多个通道的数据进行分组,每次从不同通道内提取数据时,通过跨分组形式实现提取,能够有效降低跨通道提取数据的次数,进而实现降低了传统计算模式下额外的数据拷贝开销,降低出现Cache Miss的概率的目的,从而实现了优化设备计算性能,提高图像数据的处理效率的技术效果,进而解决了相关技术中存在的处理图像数据的效率比较低的技术问题。
作为一种可选的方案,所述获取待处理的第一图像数据集,包括:获取待处理的第一图像数据集,其中,所述第一图像数据集中的图像数据按照
Figure 77333DEST_PATH_IMAGE010
的数据格式进行排列,
Figure 985115DEST_PATH_IMAGE011
表示所述第一图像数据集包括的图像数据子集的数量,
Figure 619359DEST_PATH_IMAGE012
表示每个所述图像数据子集中的通道数量,
Figure 654311DEST_PATH_IMAGE013
表示所述第一图像数据集中每个所述图像数据子集中的数据高度,
Figure 690400DEST_PATH_IMAGE014
所述第一图像数据集中表示每个所述图像数据子集中的数据宽度;
所述将所述第一图像数据集中的数据进行交织重排,得到第二图像数据集,包括:将所述第一图像数据集中的数据进行交织重排,得到第二图像数据集,其中,所述第二图像数据集中的图像数据按照
Figure 519816DEST_PATH_IMAGE018
的数据格式进行排列,
Figure 123579DEST_PATH_IMAGE019
表示所述第二图像数据集中每个所述图像数据子集中的数据高度,
Figure 227801DEST_PATH_IMAGE020
表示所述第二图像数据集中每个所述图像数据子集中的数据宽度。
可选地,在本实施例中,上述将所述第一图像数据集中的数据进行交织重排,得到第二图像数据集可以包括但不限于将第二图像数据集中的图像数据进行交织重排,以降低图像数据的维度,便于后续卷积操作。
其中,图5是根据本发明实施例的又一种可选的图像数据的处理方法的示意图,上述将第一图像数据集中的数据进行交织重排,得到第二图像数据集可以包括但不限于如图5所示,将第一图像数据集中每
Figure 587238DEST_PATH_IMAGE016
个通道的图像数据分成一组,其中,
Figure 118714DEST_PATH_IMAGE017
,将图像数据中的
Figure 196391DEST_PATH_IMAGE016
个通道的图像数据进行交织重排,得到第二图像数据集,以
Figure 87993DEST_PATH_IMAGE016
=4为例,则如图5中示出了将每个图像数据按每四个通道为一组分成
Figure 833095DEST_PATH_IMAGE012
/4个组,再将每组内的4个通道维度的数据按照交织(混合)的形式重新排列,得到如图5所示的[N,H,C/4,W,C4]的数据结构的第二图像数据集,其中,“A,B,C”表示不同通道内的图像数据。
例如,以图5中的示例进行如下说明:
位于第一图像数据集左上角的A(1,1)数据,其位于第一个通道内的第一行、第一列,而B(1,1)数据,其位于第二个通道内的第一行、第一列,当进行卷积运算时,在提取A(1,1)数据后,需要提取B(1,1)数据的情况下,现有技术中需要由提取A通道数据的模式切换为提取B通道数据的模式,也即,需要跨通道来进行数据提取,而采用本实施例,通过将A(1,1)的数据排列在第二图像数据集中的第一行、第一列,B(1,1)的数据排列在第二图像数据集中的第一行、第二列,在提取了A(1,1)数据之后,直接可以提取B(1,1)的数据,避免了跨通道提取数据造成的cache miss等问题。
作为一种可选的方案,将第一图像数据集中的数据进行交织重排,得到第二图像数据集,包括:
将第一图像数据集中每
Figure 269892DEST_PATH_IMAGE016
个通道的图像数据分成一组,得到
Figure 834866DEST_PATH_IMAGE015
组图像数据,其中,
Figure 280891DEST_PATH_IMAGE017
Figure 365653DEST_PATH_IMAGE015
组图像数据中的每组图像数据中的
Figure 238931DEST_PATH_IMAGE016
个通道的图像数据进行交织重排,得到第二图像数据集。
可选地,在本实施例中,上述将第一图像数据集中每
Figure 291200DEST_PATH_IMAGE016
个通道的图像数据分成一组,得到
Figure 9758DEST_PATH_IMAGE015
组图像数据可以包括但不限于在
Figure 729452DEST_PATH_IMAGE012
Figure 22899DEST_PATH_IMAGE016
的整数倍的情况下,将第一图像数据集中每
Figure 562465DEST_PATH_IMAGE016
个通道的图像数据分成一组,得到
Figure 350292DEST_PATH_IMAGE015
组图像数据,其中,
Figure 658914DEST_PATH_IMAGE021
,在
Figure 608415DEST_PATH_IMAGE012
不为
Figure 117500DEST_PATH_IMAGE016
的整数倍的情况下,将第一图像数据集中的通道数量的从
Figure 709019DEST_PATH_IMAGE012
增加到
Figure 872147DEST_PATH_IMAGE022
,得到第三图像数据集,其中,
Figure 258129DEST_PATH_IMAGE022
Figure 772287DEST_PATH_IMAGE016
的整数倍,第三图像数据集中增加的通道上的图像数据为0;将第三图像数据集中每
Figure 151184DEST_PATH_IMAGE016
个通道的图像数据分成一组,得到
Figure 168819DEST_PATH_IMAGE015
组图像数据,其中,
Figure 991281DEST_PATH_IMAGE001
以N=1为例,图6是根据本发明实施例的又一种可选的图像数据的处理方法的示意图,上述第二图像数据集可以包括但不限于如图6所示,其中,“A,B,C”表示不同通道内的图像数据,将A(1,1)、B(1,1)、C(1,1)、D(1,1)交织重排为同一高度的数据,图像数据中不同通道的数据连续排序,提高了数据访问的局部性,可以极大的降低Cache Miss的概率,且M1个通道打包处理,在使用SIMD计算时,现有技术中,在卷积核的尺寸为非1x1尺寸的情况下,在对输入的图片提取特征时,对于边界区域的特征提取,需要将额外的区域配置为0,进而实现对边界区域的特征提取。
以图5为例,在卷积核的尺寸为3x3的情况下,在提取B(2,1)为中心点的特征数据时,现有技术需要在第一图像数据集中B(2,1)的左侧,补入三个数值为0的特征点,以实现B(2,1)数据的特征提取,而在重新排列数据之后,第二图像数据集中B(2,1)左侧的数据为A(2,1)的数据,因此,无需进行补边操作,直接基于B(2,1)进行特征提取即可,也即,由于在本申请中对待处理数据进行了重新交织排布,在使用卷积核提取边界数据的过程中,可以降低补边的次数,将不同通道内的数据置于同一维度,能够达到节省数据拷贝的额外开销的效果。
通过本实施例,采用将第一图像数据集中每
Figure 727156DEST_PATH_IMAGE016
个通道的图像数据分成一组,得到
Figure 394898DEST_PATH_IMAGE015
组图像数据,其中,
Figure 283351DEST_PATH_IMAGE017
,将
Figure 11135DEST_PATH_IMAGE015
组图像数据中的每组图像数据中的
Figure 499885DEST_PATH_IMAGE016
个通道的图像数据进行交织重排,得到第二图像数据集的方式,通过将第一图像数据集中的数据进行交织重排,得到第二图像数据集,降低了传统计算模式下容易造成的Cache Miss以及额外的数据拷贝开销,达到了降低出现Cache Miss的概率的目的,从而实现了优化设备计算性能,提高图像数据的处理效率的技术效果,进而解决了相关技术中存在的处理图像数据的效率比较低的技术问题。
作为一种可选的方案,将第一图像数据集中每
Figure 705739DEST_PATH_IMAGE016
个通道的图像数据分成一组,得到
Figure 697966DEST_PATH_IMAGE015
组图像数据,包括:
Figure 111498DEST_PATH_IMAGE012
Figure 556386DEST_PATH_IMAGE016
的整数倍的情况下,将第一图像数据集中每
Figure 565930DEST_PATH_IMAGE016
个通道的图像数据分成一组,得到
Figure 943822DEST_PATH_IMAGE015
组图像数据,其中,
Figure 747830DEST_PATH_IMAGE021
Figure 693396DEST_PATH_IMAGE012
不为
Figure 506631DEST_PATH_IMAGE016
的整数倍的情况下,将第一图像数据集中的通道数量的从
Figure 473450DEST_PATH_IMAGE012
增加到
Figure 713939DEST_PATH_IMAGE022
,得到第三图像数据集,其中,
Figure 398998DEST_PATH_IMAGE022
Figure 999612DEST_PATH_IMAGE016
的整数倍,第三图像数据集中增加的通道上的图像数据为0;将第三图像数据集中每
Figure 86517DEST_PATH_IMAGE016
个通道的图像数据分成一组,得到
Figure 497907DEST_PATH_IMAGE015
组图像数据,其中,
Figure 670262DEST_PATH_IMAGE001
可选地,在本实施例中,上述在
Figure 559721DEST_PATH_IMAGE012
不为
Figure 517444DEST_PATH_IMAGE016
的整数倍的情况下,将第一图像数据集中的通道数量的从
Figure 834155DEST_PATH_IMAGE012
增加到
Figure 228228DEST_PATH_IMAGE022
可以包括但不限于C2=
Figure 186956DEST_PATH_IMAGE023
,当然也可以向下取整或以其他方式进行取整。
以N=1,C1=5,M1=4为例,如果通道数C1不能整除4则补齐到4的倍数,补上的激活值(对应于前述的图像数据)全部填0,如图5所示,第二行第二列至第四列均为“0.0f”。
上述仅是一种示例,本实施例不做任何具体限定。
通过本实施例,采用在
Figure 982874DEST_PATH_IMAGE012
Figure 985334DEST_PATH_IMAGE016
的整数倍的情况下,将第一图像数据集中每
Figure 132282DEST_PATH_IMAGE016
个通道的图像数据分成一组,得到
Figure 363543DEST_PATH_IMAGE015
组图像数据,其中,
Figure 279546DEST_PATH_IMAGE021
,在
Figure 203640DEST_PATH_IMAGE012
不为
Figure 320107DEST_PATH_IMAGE016
的整数倍的情况下,将第一图像数据集中的通道数量的从
Figure 620638DEST_PATH_IMAGE012
增加到
Figure 125569DEST_PATH_IMAGE022
,得到第三图像数据集,其中,
Figure 220564DEST_PATH_IMAGE022
Figure 342104DEST_PATH_IMAGE016
的整数倍,第三图像数据集中增加的通道上的图像数据为0;将第三图像数据集中每
Figure 164435DEST_PATH_IMAGE016
个通道的图像数据分成一组,得到
Figure 55031DEST_PATH_IMAGE015
组图像数据,其中,
Figure 320927DEST_PATH_IMAGE001
,通过将第一图像数据集中的数据进行交织重排,得到第二图像数据集,降低了传统计算模式下容易造成的Cache Miss以及额外的数据拷贝开销,达到了降低出现Cache Miss的概率的目的,从而实现了优化设备计算性能,提高图像数据的处理效率的技术效果,进而解决了相关技术中存在的处理图像数据的效率比较低的技术问题。
作为一种可选的方案,将
Figure 398604DEST_PATH_IMAGE015
组图像数据中的每组图像数据中的
Figure 791671DEST_PATH_IMAGE016
个通道的图像数据进行交织重排,得到第二图像数据集,包括:
Figure 536773DEST_PATH_IMAGE012
Figure 973570DEST_PATH_IMAGE016
的整数倍的情况下,将
Figure 804123DEST_PATH_IMAGE015
组图像数据中的每组图像数据中的
Figure 718990DEST_PATH_IMAGE016
个通道的图像数据进行交织重排,得到第二图像数据集,其中,
Figure 584177DEST_PATH_IMAGE002
Figure 441144DEST_PATH_IMAGE003
Figure 493414DEST_PATH_IMAGE012
不为
Figure 477550DEST_PATH_IMAGE016
的整数倍的情况下,将
Figure 931665DEST_PATH_IMAGE015
组图像数据中的每组图像数据中的
Figure 975845DEST_PATH_IMAGE016
个通道的图像数据进行交织重排,得到第二图像数据集,其中,
Figure 263213DEST_PATH_IMAGE002
Figure 51040DEST_PATH_IMAGE004
可选地,在本实施例中,如图5所示,以N=1,C1=5,M1=4为例,则上述
Figure 359662DEST_PATH_IMAGE002
即为图5所示的W2=w*C4
Figure 309163DEST_PATH_IMAGE004
即为图5所示的H2=H*C/4。
通过本实施例,将数据解构进行重排为
Figure 336025DEST_PATH_IMAGE018
后,不需要对数据进行补边也可以同时利用SIMD来进行加速,规避掉卷积运算时补边的数据拷贝的额外开销。
作为一种可选的方案,方法还包括:
获取预设的第一权重数据集,其中,第一权重数据集中的权重数据按照
Figure 911232DEST_PATH_IMAGE024
的数据格式进行排列,
Figure 339939DEST_PATH_IMAGE025
表示第一权重数据集包括的权重数据子集的数量,
Figure 460342DEST_PATH_IMAGE022
表示每个权重数据子集中的通道数量,
Figure 974500DEST_PATH_IMAGE026
表示每个权重数据子集中的数据高度,
Figure 104130DEST_PATH_IMAGE027
表示每个权重数据子集中的数据宽度;
将第一权重数据集中的数据进行交织重排,得到第二权重数据集,其中,第二权重数据集中的权重数据按照
Figure 872497DEST_PATH_IMAGE028
的数据格式进行排列。
可选地,在本实施例中,上述第一权重数据集可以包括但不限于进行卷积计算过程中,使用卷积核处理图像数据时所采用的权重数据,例如,以上述图像数据的处理方法应用在云会议场景中为例,图7是根据本发明实施例的又一种可选的图像数据的处理方法的示意图,如图7所示,具体包括但不限于如下步骤:
S1,位于用户终端702内部或与用户终端702相连接的处理器704获取预设的第一权重数据集;
S2,位于用户终端702内部或与用户终端702相连接的处理器704将第一权重数据集中的数据进行交织重排,得到第二权重数据集。
其中,上述第一权重数据集可以包括但不限于在如图7所示数据库中存储,上述第二权重数据集可以包括但不限于用于与待处理的第二图像数据集关联使用,以在图7所示的云会议应用706的虚拟背景显示区域708中生成虚拟背景。
可选地,在本实施例中,图8是根据本发明实施例的又一种可选的图像数据的处理方法的示意图,上述第一图像数据集中的图像数据按照
Figure 694960DEST_PATH_IMAGE024
的数据格式进行排列可以包括但不限于如图8所示,
Figure 430834DEST_PATH_IMAGE025
表示第一权重数据集包括的权重数据子集的数量,图8中示出的N2=3,也即N2=Cout
Figure 832997DEST_PATH_IMAGE022
表示每个权重数据子集中的通道数量,图8中示出的C2=5,也即C2=Cin
Figure 219985DEST_PATH_IMAGE026
表示每个权重数据子集中的数据高度,图8中示出的H3=4,也即H3=kernel_h,
Figure 213349DEST_PATH_IMAGE027
表示每个权重数据子集中的数据宽度,图8中示出的W3=3,也即W3= kernel_w,“A,B,C”表示不同通道内的图像数据。
上述仅是一种示例,本实施例不做任何具体的限定。
通过本实施例,采用获取预设的第一权重数据集,其中,第一权重数据集中的权重数据按照
Figure 170940DEST_PATH_IMAGE024
的数据格式进行排列,
Figure 907952DEST_PATH_IMAGE025
表示第一权重数据集包括的权重数据子集的数量,
Figure 900179DEST_PATH_IMAGE022
表示每个权重数据子集中的通道数量,
Figure 798865DEST_PATH_IMAGE026
表示每个权重数据子集中的数据高度,
Figure 257134DEST_PATH_IMAGE027
表示每个权重数据子集中的数据宽度,将第一权重数据集中的数据进行交织重排,得到第二权重数据集,其中,第二权重数据集中的权重数据按照
Figure 266679DEST_PATH_IMAGE028
的数据格式进行排列的方式,通过将第一权重数据集中的数据进行交织重排,得到第二权重数据集,降低了传统计算模式下容易造成的Cache Miss以及额外的数据拷贝开销,达到了降低出现Cache Miss的概率的目的,从而实现了优化设备计算性能,提高图像数据的处理效率的技术效果,进而解决了相关技术中存在的处理图像数据的效率比较低的技术问题。
作为一种可选的方案,将第一权重数据集中的数据进行交织重排,得到第二权重数据集,包括:
将第一权重数据集中每
Figure 378991DEST_PATH_IMAGE029
个权重数据子集的权重数据分成一组,得到
Figure 448578DEST_PATH_IMAGE030
组权重数据,其中,
Figure 646342DEST_PATH_IMAGE031
Figure 708844DEST_PATH_IMAGE030
组权重数据中的每组权重数据中的
Figure 941243DEST_PATH_IMAGE029
个权重数据进行交织重排,得到第二权重数据集。
可选地,在本实施例中,图9是根据本发明实施例的又一种可选的图像数据的处理方法的示意图,上述将第一图像数据集中的数据进行交织重排,得到第二图像数据集可以包括但不限于如图9所示,以N2=1为例,将第一权重数据集中每
Figure 916152DEST_PATH_IMAGE029
个权重数据子集的权重数据分成一组,得到
Figure 601211DEST_PATH_IMAGE030
组权重数据,将
Figure 218137DEST_PATH_IMAGE030
组权重数据中的每组权重数据中的
Figure 790195DEST_PATH_IMAGE029
个权重数据进行交织重排,得到第二权重数据集,以
Figure 201585DEST_PATH_IMAGE029
=4为例,则如图9中示出了将权重数据每四个输出通道为一组分成C/4个组,如果输出通道数不能整除4则补齐到4的倍数,补上的激活值全部填0,每组内的4个通道维度的数据按照交织(混合)的形式,另外在随后的维度将输入通道维度顺序排列,即可得到[Cout/4,kernel_h,kernel_w,Cin,Cout4]的数据结构,OC4即为Cout4,IC即为Cin。
可选地,在本实施例中,上述将第一权重数据集中每
Figure 108361DEST_PATH_IMAGE029
个权重数据子集的权重数据分成一组,得到
Figure 528978DEST_PATH_IMAGE030
组权重数据,包括但不限于在
Figure 204810DEST_PATH_IMAGE025
Figure 36369DEST_PATH_IMAGE029
的整数倍的情况下,将第一权重数据集中每
Figure 696020DEST_PATH_IMAGE029
个权重数据子集的权重数据分成一组,得到
Figure 389170DEST_PATH_IMAGE030
组权重数据,其中,
Figure 450667DEST_PATH_IMAGE032
,在
Figure 203859DEST_PATH_IMAGE025
不为
Figure 403388DEST_PATH_IMAGE029
的整数倍的情况下,将第一权重数据集中的权重数据子集的数量的从
Figure 900229DEST_PATH_IMAGE025
增加到
Figure 816232DEST_PATH_IMAGE033
,得到第三权重数据集,其中,
Figure 740326DEST_PATH_IMAGE033
Figure 374569DEST_PATH_IMAGE029
的整数倍,第三权重数据集中增加的权重数据子集中的权重数据为0;将第三权重数据集中每
Figure 658789DEST_PATH_IMAGE029
个权重数据子集的权重数据分成一组,得到
Figure 429299DEST_PATH_IMAGE030
组权重数据,其中,
Figure 524294DEST_PATH_IMAGE006
通过本实施例,采用将第一权重数据集中每
Figure 114675DEST_PATH_IMAGE029
个权重数据子集的权重数据分成一组,得到
Figure 218898DEST_PATH_IMAGE030
组权重数据,其中,
Figure 594646DEST_PATH_IMAGE031
,将
Figure 126122DEST_PATH_IMAGE030
组权重数据中的每组权重数据中的
Figure 203799DEST_PATH_IMAGE029
个权重数据进行交织重排,得到第二权重数据集的方式,通过将第一权重数据集中的数据进行交织重排,得到第二权重数据集,降低了传统计算模式下容易造成的Cache Miss以及额外的数据拷贝开销,达到了降低出现Cache Miss的概率的目的,从而实现了优化设备计算性能,提高图像数据的处理效率的技术效果,进而解决了相关技术中存在的处理图像数据的效率比较低的技术问题。
作为一种可选的方案,将第一权重数据集中每
Figure 580554DEST_PATH_IMAGE029
个权重数据子集的权重数据分成一组,得到
Figure 325656DEST_PATH_IMAGE030
组权重数据,包括:
Figure 11721DEST_PATH_IMAGE025
Figure 842274DEST_PATH_IMAGE029
的整数倍的情况下,将第一权重数据集中每
Figure 22720DEST_PATH_IMAGE029
个权重数据子集的权重数据分成一组,得到
Figure 887907DEST_PATH_IMAGE030
组权重数据,其中,
Figure 495606DEST_PATH_IMAGE032
Figure 30099DEST_PATH_IMAGE025
不为
Figure 279815DEST_PATH_IMAGE029
的整数倍的情况下,将第一权重数据集中的权重数据子集的数量的从
Figure 733930DEST_PATH_IMAGE025
增加到
Figure 778110DEST_PATH_IMAGE033
,得到第三权重数据集,其中,
Figure 52096DEST_PATH_IMAGE033
Figure 89191DEST_PATH_IMAGE029
的整数倍,第三权重数据集中增加的权重数据子集中的权重数据为0;将第三权重数据集中每
Figure 397813DEST_PATH_IMAGE029
个权重数据子集的权重数据分成一组,得到
Figure 347314DEST_PATH_IMAGE030
组权重数据,其中,
Figure 639755DEST_PATH_IMAGE006
可选地,在本实施例中,上述在
Figure 700115DEST_PATH_IMAGE025
不为
Figure 879555DEST_PATH_IMAGE029
的整数倍的情况下,将第一权重数据集中的权重数据子集的数量的从
Figure 265537DEST_PATH_IMAGE025
增加到
Figure 514116DEST_PATH_IMAGE033
,得到第三权重数据集可以包括但不限于N3=
Figure 643746DEST_PATH_IMAGE034
,当然也可以向上取整或以其他方式进行取整。
以N2=3, M2=4为例,如果N2不能整除4则补齐到4的倍数,补上的激活值(对应于前述的图像数据)全部填0,如图9所示,第四列、第八列、第十二列,以此类推均为“0.0f”。
上述仅是一种示例,本实施例不做任何具体限定。
通过本实施例,采用在
Figure 926959DEST_PATH_IMAGE025
Figure 733110DEST_PATH_IMAGE029
的整数倍的情况下,将第一权重数据集中每
Figure 468985DEST_PATH_IMAGE029
个权重数据子集的权重数据分成一组,得到
Figure 402306DEST_PATH_IMAGE030
组权重数据,其中,
Figure 540026DEST_PATH_IMAGE032
,在
Figure 2232DEST_PATH_IMAGE025
不为
Figure 973205DEST_PATH_IMAGE029
的整数倍的情况下,将第一权重数据集中的权重数据子集的数量的从
Figure 710217DEST_PATH_IMAGE025
增加到
Figure 702444DEST_PATH_IMAGE033
,得到第三权重数据集,其中,
Figure 601130DEST_PATH_IMAGE033
Figure 311597DEST_PATH_IMAGE029
的整数倍,第三权重数据集中增加的权重数据子集中的权重数据为0;将第三权重数据集中每
Figure 242513DEST_PATH_IMAGE029
个权重数据子集的权重数据分成一组,得到
Figure 354825DEST_PATH_IMAGE030
组权重数据,其中,
Figure 175145DEST_PATH_IMAGE006
的方式,通过将第一权重数据集中的数据进行交织重排,得到第二权重数据集,降低了传统计算模式下容易造成的Cache Miss以及额外的数据拷贝开销,达到了降低出现Cache Miss的概率的目的,从而实现了优化设备计算性能,提高图像数据的处理效率的技术效果,进而解决了相关技术中存在的处理图像数据的效率比较低的技术问题。
作为一种可选的方案,将
Figure 372908DEST_PATH_IMAGE030
组权重数据中的每组权重数据中的
Figure 186143DEST_PATH_IMAGE029
个权重数据进行交织重排,得到第二权重数据集,包括:
Figure 152962DEST_PATH_IMAGE025
Figure 393451DEST_PATH_IMAGE029
的整数倍的情况下,将
Figure 327777DEST_PATH_IMAGE030
组权重数据中的每组权重数据中的
Figure 679124DEST_PATH_IMAGE029
个权重数据进行交织重排,得到第二权重数据集,其中,
Figure 766029DEST_PATH_IMAGE007
Figure 177419DEST_PATH_IMAGE008
在N2不为M2的整数倍的情况下,将
Figure 349774DEST_PATH_IMAGE030
组权重数据中的每组权重数据中的M2个权重数据进行交织重排,得到第二权重数据集,其中,
Figure 252615DEST_PATH_IMAGE009
Figure 928447DEST_PATH_IMAGE008
可选地,在本实施例中,以M2=4为例,则如图9所示,H3 = kernel_h*kernel_w,W3 =IC* OC4,每组权重数据的高为kernel_w,宽为OC4。
上述仅是一种示例,本实施例不做任何具体限定。
作为一种可选的方案,N2表示卷积核的输出通道的数量,C2 表示卷积核的输入通道的数量,卷积操作为使用卷积核执行的卷积操作,每个权重数据子集包括C2 个输入通道上的权重数据,每个输出通道包括C2 个输入通道。
可选地,在本实施例中,上述每个权重数据子集包括C2 个输入通道上的权重数据可以包括但不限于使用卷积核基于第二权重数据集将C2个待处理的第二图像数据集执行卷积操作,得到目标输出结果。
作为一种可选的方案,对第二图像数据集和已获取的第二权重数据集执行卷积操作,得到目标输出结果,包括:
对所述第二图像数据集和所述第二权重数据集执行所述卷积操作,得到第三图像数据集,其中,所述目标输出结果包括所述第三图像数据集,所述第二图像数据集是将S1组图像数据中的每组图像数据中的M1个通道的图像数据进行交织重排,得到图像数据集,所述S1组图像数据是将所述第一图像数据集中每M1个通道的图像数据分成一组,得到图像数据,M1≤C1
可选地,在本实施例中,上述对第二图像数据集和第二权重数据集执行卷积操作包括但不限于在第二图像数据集中获取C2组图像数据,其中,每组图像数据包括第一图像数据集中位于同一个通道的多个图像数据,每组图像数据是从C2组图像数据中的上一组图像数据的存储地址偏移1个地址得到的图像数据,对C2组图像数据和第二权重数据集中的N2×C2 组权重数据执行卷积操作,得到第三图像数据集中的N2组图像数据,其中,每组权重数据与每组图像数据具有相同的数据结构。
通过本实施例,采用对所述第二图像数据集和所述第二权重数据集执行所述卷积操作,得到第三图像数据集,其中,所述目标输出结果包括所述第三图像数据集,所述第二图像数据集是将S1组图像数据中的每组图像数据中的M1个通道的图像数据进行交织重排,得到图像数据集,所述S1组图像数据是将所述第一图像数据集中每M1个通道的图像数据分成一组,得到图像数据,M1≤C1的方式,通过将第一权重数据集中的数据以及待处理的第一图像数据集中的数据进行交织重排,降低了传统计算模式下容易造成的Cache Miss以及额外的数据拷贝开销,达到了降低出现Cache Miss的概率的目的,从而实现了优化设备计算性能,提高图像数据的处理效率的技术效果,进而解决了相关技术中存在的处理图像数据的效率比较低的技术问题。
作为一种可选的方案,对第二图像数据集和第二权重数据集执行卷积操作,得到第三图像数据集,包括:
在所述第二图像数据集中获取C2组图像数据,其中,每组图像数据包括所述第一图像数据集中位于同一个通道的多个图像数据,所述每组图像数据是从所述C2组图像数据中的上一组图像数据的存储地址偏移1个地址得到的图像数据;
对所述C2组图像数据和所述第二权重数据集中的N2×C2 组权重数据执行卷积操作,得到所述第三图像数据集中的N2组图像数据,其中,每组权重数据与所述每组图像数据具有相同的数据结构;
其中,所述第二权重数据集是将第一权重数据集中的数据进行交织重排,得到第二权重数据集,所述第一权重数据集中的权重数据按照N2×C2×H3×W3的数据格式进行排列,N2表示所述第一权重数据集包括的权重数据子集的数量,C2 表示每个所述权重数据子集中的通道数量,H3表示每个所述权重数据子集中的数据高度,W3表示每个所述权重数据子集中的数据宽度。
可选地,在本实施例中,上述每组图像数据是从C2组图像数据中的上一组图像数据的存储地址偏移1个地址得到的图像数据可以包括但不限于按照预定步长的滑动窗口处理图像数据,也即,从C2组图像数据中的上一组图像数据的存储地址偏移1个地址即为步长=1。
可选地,在本实施例中,上述每组权重数据与每组图像数据具有相同的数据结构可以包括但不限于上述M1与M2相同。
通过本实施例,采用从C2组图像数据中的上一组图像数据的存储地址偏移1个地址得到的图像数据,以得到每组图像数据,通过将第一权重数据集中的数据以及待处理的第一图像数据集中的数据进行交织重排,降低了卷积计算过程中,跨通道获取数据的频率,进而能够降低传统计算模式下容易造成的Cache Miss以及额外的数据拷贝开销,达到了降低出现Cache Miss的概率的目的,从而实现了优化设备计算性能,提高图像数据的处理效率的技术效果,进而解决了相关技术中存在的处理图像数据的效率比较低的技术问题。
作为一种可选的方案,对所述C2组图像数据和所述第二权重数据集中的N2×C2组权重数据执行卷积操作,得到所述第三图像数据集中的N2组图像数据,包括:
将所述N2×C2组权重数据中的每C2组权重数据分别与所述C2组图像数据执行加权求和操作,得到所述N2组图像数据。
可选地,在本实施例中,可以通过包括但不限于按照预定的滑动步长逐个使用卷积核将N2×C2组权重数据中的每C2组权重数据分别与C2组图像数据执行加权求和操作,得到N2组图像数据。
例如,图10是根据本发明实施例的又一种可选的图像数据的处理方法的示意图,如图10所示,以卷积核尺寸为3x3为例,通过使用卷积核基于第二权重数据集中记录的对应的权重参数,对相同位置的第二图像数据集中的数据进行加权求和,得到N2组图像数据中的一组图像数据,按照步长为1滑动窗口继续处理,以得到上述N2组图像数据。
作为一种可选的方案,方法还包括:在第一内存空间中存储第一图像数据集和第二图像数据集;
在第二内存空间中存储第二权重数据集,其中,第一内存空间与第二内存空间为相互独立的内存空间。
可选地,在本实施例中,上述第一内存空间可以包括但不限于用于存储图像数据的存储空间,例如,Texture资源,上述第二内存空间可以包括但不限于用于存储权重数据的存储空间,例如,Buffer资源。
图11是根据本发明实施例的又一种可选的图像数据的处理方法的示意图,如图11所示,现有的技术方案在使用例如Metal做GPU运算的时候,一般只会使用一种内存(Buffer/Texture)作为数据加载/存储的空间,然后在目前模型设计越来越轻量级的计算模式下,内存带宽的访问往往会限制成为最终性能的瓶颈,而通过本实施例,Metal中DataBuffer资源和Texture资源是独立的内存空间。因此,相比传统的数据只使用一种内存结构(Buffer/Texture)表达方式对比,输入/输出使用Texture保存数据,权重/偏置参数使用Buffer来表示存储,区分开使用Texture和Buffer可以获取到更高的内存带宽,降低CacheMiss的概率,内存访问的性能得到提升。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述图像数据的处理方法的图像数据的处理装置。如图12所示,该装置包括:
获取模块1202,用于获取待处理的第一图像数据集,其中,所述第一图像数据集中的图像数据按照第一数据格式进行排列;
处理模块1204,用于将所述第一图像数据集中的数据进行交织重排,得到第二图像数据集,其中,所述第二图像数据集中的图像数据按照第二数据格式进行排列,所述交织重排的方式与卷积操作匹配,所述第二数据格式的维度小于所述第一数据格式;
执行模块1206,用于对所述第二图像数据集和已获取的第二权重数据集执行所述卷积操作,得到目标输出结果。
作为一种可选的方案,所述获取模块,包括:获取单元,用于获取待处理的第一图像数据集,其中,所述第一图像数据集中的图像数据按照N1×C1×H1×W1的数据格式进行排列,N1表示所述第一图像数据集包括的图像数据子集的数量,C1表示每个所述图像数据子集中的通道数量,H1表示所述第一图像数据集中每个所述图像数据子集中的数据高度,W1表示所述第一图像数据集中表示每个所述图像数据子集中的数据宽度;所述处理模块,包括:处理单元,用于将所述第一图像数据集中的数据进行交织重排,得到第二图像数据集,其中,所述第二图像数据集中的图像数据按照N1×H2×W2的数据格式进行排列,H2表示所述第二图像数据集中每个所述图像数据子集中的数据高度,W2表示所述第二图像数据集中每个所述图像数据子集中的数据宽度。
作为一种可选的方案,所述处理模块,包括:分组单元,用于将所述第一图像数据集中每M1个通道的图像数据分成一组,得到S1组图像数据,其中,M1≤C1;排列单元,用于将所述S1组图像数据中的每组图像数据中的M1个通道的图像数据进行交织重排,得到所述第二图像数据集。
作为一种可选的方案,所述分组单元用于通过如下方式将所述第一图像数据集中每M1个通道的图像数据分成一组,得到S1组图像数据:在C1不为M1的整数倍的情况下,将所述第一图像数据集中的通道数量的从C1增加到C2,得到第三图像数据集,其中,C2为M1的整数倍,所述第三图像数据集中增加的通道上的图像数据为0;将所述第三图像数据集中每M1个通道的图像数据分成一组,得到S1组图像数据,其中,
Figure 776317DEST_PATH_IMAGE001
作为一种可选的方案,所述排列单元用于通过如下方式将将所述S1组图像数据中的每组图像数据中的M1个通道的图像数据进行交织重排,得到所述第二图像数据集:在C1为M1的整数倍的情况下,将所述S1组图像数据中的每组图像数据中的M1个通道的图像数据进行交织重排,得到所述第二图像数据集,其中,
Figure 170389DEST_PATH_IMAGE002
Figure 129118DEST_PATH_IMAGE003
在C1不为M1的整数倍的情况下,将所述S1组图像数据中的每组图像数据中的M1个通道的图像数据进行交织重排,得到所述第二图像数据集,其中,
Figure 174303DEST_PATH_IMAGE002
Figure 661916DEST_PATH_IMAGE004
作为一种可选的方案,所述装置还用于:获取预设的第一权重数据集,其中,所述第一权重数据集中的权重数据按照N2×C2×H3×W3的数据格式进行排列,N2表示所述第一权重数据集包括的权重数据子集的数量,C2表示每个所述权重数据子集中的通道数量,H3表示每个所述权重数据子集中的数据高度,W3表示每个所述权重数据子集中的数据宽度;将所述第一权重数据集中的数据进行交织重排,得到所述第二权重数据集,其中,所述第二权重数据集中的权重数据按照H4×W4的数据格式进行排列。
作为一种可选的方案,所述装置还用于通过如下方式将所述第一权重数据集中的数据进行交织重排,得到所述第二权重数据集:将所述第一权重数据集中每M2个权重数据子集的权重数据分成一组,得到S2组权重数据,其中,M2≤N2;将所述S2组权重数据中的每组权重数据中的M2个权重数据进行交织重排,得到所述第二权重数据集。
作为一种可选的方案,所述装置还用于通过如下方式将所述第一权重数据集中每M2个权重数据子集的权重数据分成一组,得到S2组权重数据,包括:
在N2为M2的整数倍的情况下,将所述第一权重数据集中每M2个权重数据子集的权重数据分成一组,得到所述S2组权重数据,其中,
Figure 543285DEST_PATH_IMAGE005
在N2不为M2的整数倍的情况下,将所述第一权重数据集中的权重数据子集的数量的从N2增加到N3,得到第三权重数据集,其中,N3为M2的整数倍,所述第三权重数据集中增加的权重数据子集中的权重数据为0;将所述第三权重数据集中每M2个权重数据子集的权重数据分成一组,得到所述S2组权重数据,其中,
Figure 40125DEST_PATH_IMAGE006
作为一种可选的方案,所述装置还用于通过如下方式将所述S2组权重数据中的每组权重数据中的M2个权重数据进行交织重排,得到所述第二权重数据集,包括:
在N2为M2的整数倍的情况下,将所述S2组权重数据中的每组权重数据中的M2个权重数据进行交织重排,得到所述第二权重数据集,其中,
Figure 956129DEST_PATH_IMAGE007
Figure 630955DEST_PATH_IMAGE008
在N2不为M2的整数倍的情况下,将所述S2组权重数据中的每组权重数据中的M2个权重数据进行交织重排,得到所述第二权重数据集,其中,
Figure 999619DEST_PATH_IMAGE009
Figure 34571DEST_PATH_IMAGE008
作为一种可选的方案,所述N2表示卷积核的输出通道的数量,所述C2表示所述卷积核的输入通道的数量,所述卷积操作为使用所述卷积核执行的卷积操作,每个所述权重数据子集包括C2个所述输入通道上的权重数据,每个所述输出通道包括C2个所述输入通道。
作为一种可选的方案,所述装置还用于通过如下方式对所述第二图像数据集和已获取的第二权重数据集执行所述卷积操作,得到目标输出结果:对所述第二图像数据集和已获取的第二权重数据集执行所述卷积操作,得到目标输出结果,包括:
对所述第二图像数据集和所述第二权重数据集执行所述卷积操作,得到第三图像数据集,其中,所述目标输出结果包括所述第三图像数据集,所述第二图像数据集是将S1组图像数据中的每组图像数据中的M1个通道的图像数据进行交织重排,得到图像数据集,所述S1组图像数据是将所述第一图像数据集中每M1个通道的图像数据分成一组,得到图像数据,M1≤C1
作为一种可选的方案,所述装置还用于通过如下方式对所述第二图像数据集和所述第二权重数据集执行卷积操作,得到第三图像数据集,包括:
在所述第二图像数据集中获取C2组图像数据,其中,每组图像数据包括所述第一图像数据集中位于同一个通道的多个图像数据,所述每组图像数据是从所述C2组图像数据中的上一组图像数据的存储地址偏移1个地址得到的图像数据;
对所述C2组图像数据和所述第二权重数据集中的N2×C2 组权重数据执行卷积操作,得到所述第三图像数据集中的N2组图像数据,其中,每组权重数据与所述每组图像数据具有相同的数据结构;
其中,所述第二权重数据集是将第一权重数据集中的数据进行交织重排,得到第二权重数据集,所述第一权重数据集中的权重数据按照N2×C2×H3×W3的数据格式进行排列,N2表示所述第一权重数据集包括的权重数据子集的数量,C2 表示每个所述权重数据子集中的通道数量,H3表示每个所述权重数据子集中的数据高度,W3表示每个所述权重数据子集中的数据宽度。
作为一种可选的方案,所述装置还用于通过如下方式对所述C2 组图像数据和所述第二权重数据集中的N2×C2组权重数据执行卷积操作,得到所述第三图像数据集中的N2组图像数据,包括:
将所述N2×C2组权重数据中的每C2组权重数据分别与所述C2组图像数据执行加权求和操作,得到所述N2组图像数据。
作为一种可选的方案,所述装置还用于:在第一内存空间中存储所述第一图像数据集和所述第二图像数据集;在第二内存空间中存储所述第二权重数据集,其中,所述第一内存空间与所述第二内存空间为相互独立的内存空间。
根据本发明实施例的又一个方面,还提供了一种用于实施上述图像数据的处理方法的电子设备,该电子设备可以是图1所示的终端设备或服务器。本实施例以该电子设备为服务器为例来说明。如图13所示,该电子设备包括存储器1302和处理器1304,该存储器1302中存储有计算机程序,该处理器1304被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取待处理的第一图像数据集,其中,第一图像数据集中的图像数据按照
Figure 805081DEST_PATH_IMAGE010
的数据格式进行排列,
Figure 165655DEST_PATH_IMAGE011
表示第一图像数据集包括的图像数据子集的数量,
Figure 5304DEST_PATH_IMAGE012
表示每个图像数据子集中的通道数量,
Figure 578368DEST_PATH_IMAGE013
表示每个图像数据子集中的数据高度,
Figure 468964DEST_PATH_IMAGE014
表示每个图像数据子集中的数据宽度;
S2,将第一图像数据集中的数据进行交织重排,得到第二图像数据集,其中,第二图像数据集中的图像数据按照
Figure 734860DEST_PATH_IMAGE018
的数据格式进行排列,交织重排的方式与卷积操作匹配;
S3,对第二图像数据集和已获取的第二权重数据集执行卷积操作,得到目标输出结果。
可选地,本领域普通技术人员可以理解,图13所示的结构仅为示意,电子装置电子设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图13其并不对上述电子装置电子设备的结构造成限定。例如,电子装置电子设备还可包括比图13中所示更多或者更少的组件(如网络接口等),或者具有与图13所示不同的配置。
其中,存储器1302可用于存储软件程序以及模块,如本发明实施例中的图像数据的处理方法和装置对应的程序指令/模块,处理器1304通过运行存储在存储器1302内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的图像数据的处理方法。存储器1302可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1302可进一步包括相对于处理器1304远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1302具体可以但不限于用于存储待处理的图像数据等信息。作为一种示例,如图13所示,上述存储器1302中可以但不限于包括上述图像数据的处理装置中的获取模块1202,处理模块1204以及执行模块1206。此外,还可以包括但不限于上述图像数据的处理装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1306用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1306包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1306为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子设备还包括:显示器1308,用于显示图像数据;和连接总线1310,用于连接上述电子设备中的各个模块部件。
在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述图像数据的处理方面的各种可选实现方式中提供的方法。其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取待处理的第一图像数据集,其中,第一图像数据集中的图像数据按照
Figure 560340DEST_PATH_IMAGE010
的数据格式进行排列,
Figure 202674DEST_PATH_IMAGE011
表示第一图像数据集包括的图像数据子集的数量,
Figure 682197DEST_PATH_IMAGE012
表示每个图像数据子集中的通道数量,
Figure 118994DEST_PATH_IMAGE013
表示每个图像数据子集中的数据高度,
Figure 949547DEST_PATH_IMAGE014
表示每个图像数据子集中的数据宽度;
S2,将第一图像数据集中的数据进行交织重排,得到第二图像数据集,其中,第二图像数据集中的图像数据按照
Figure 379260DEST_PATH_IMAGE018
的数据格式进行排列,交织重排的方式与卷积操作匹配;
S3,对第二图像数据集和已获取的第二权重数据集执行卷积操作,得到目标输出结果。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (15)

1.一种图像数据的处理方法,其特征在于,包括:
获取待处理的第一图像数据集,其中,所述第一图像数据集中的图像数据按照第一数据格式进行排列;
将所述第一图像数据集中的数据进行交织重排,得到第二图像数据集,其中,所述第二图像数据集中的图像数据按照第二数据格式进行排列,所述交织重排的方式与卷积操作匹配,所述第二数据格式的维度小于所述第一数据格式;
对所述第二图像数据集和已获取的第二权重数据集执行所述卷积操作,得到目标输出结果。
2.根据权利要求1所述的方法,其特征在于,
所述获取待处理的第一图像数据集,包括:获取待处理的第一图像数据集,其中,所述第一图像数据集中的图像数据按照N1×C1×H1×W1的数据格式进行排列,N1表示所述第一图像数据集包括的图像数据子集的数量,C1表示每个所述图像数据子集中的通道数量,H1表示所述第一图像数据集中每个所述图像数据子集中的数据高度,W1表示所述第一图像数据集中表示每个所述图像数据子集中的数据宽度;
所述将所述第一图像数据集中的数据进行交织重排,得到第二图像数据集,包括:将所述第一图像数据集中的数据进行交织重排,得到第二图像数据集,其中,所述第二图像数据集中的图像数据按照N1×H2×W2的数据格式进行排列,H2表示所述第二图像数据集中每个所述图像数据子集中的数据高度,W2表示所述第二图像数据集中每个所述图像数据子集中的数据宽度。
3.根据权利要求2所述的方法,其特征在于,所述将所述第一图像数据集中的数据进行交织重排,得到第二图像数据集,包括:
将所述第一图像数据集中每M1个通道的图像数据分成一组,得到S1组图像数据,其中,M1≤C1
将所述S1组图像数据中的每组图像数据中的M1个通道的图像数据进行交织重排,得到所述第二图像数据集。
4.根据权利要求3所述的方法,其特征在于,所述将所述第一图像数据集中每M1个通道的图像数据分成一组,得到S1组图像数据,包括:
在C1为M1的整数倍的情况下,将所述第一图像数据集中每M1个通道的图像数据分成一组,得到S1组图像数据,其中,
Figure 251565DEST_PATH_IMAGE001
在C1不为M1的整数倍的情况下,将所述第一图像数据集中的通道数量的从C1增加到C2,得到第三图像数据集,其中,C2为M1的整数倍,所述第三图像数据集中增加的通道上的图像数据为0;将所述第三图像数据集中每M1个通道的图像数据分成一组,得到S1组图像数据,其中,
Figure 451602DEST_PATH_IMAGE002
5.根据权利要求4所述的方法,其特征在于,所述将所述S1组图像数据中的每组图像数据中的M1个通道的图像数据进行交织重排,得到所述第二图像数据集,包括:
在C1为M1的整数倍的情况下,将所述S1组图像数据中的每组图像数据中的M1个通道的图像数据进行交织重排,得到所述第二图像数据集,其中,
Figure 976124DEST_PATH_IMAGE003
Figure 261612DEST_PATH_IMAGE004
在C1不为M1的整数倍的情况下,将所述S1组图像数据中的每组图像数据中的M1个通道的图像数据进行交织重排,得到所述第二图像数据集,其中,
Figure 293896DEST_PATH_IMAGE003
Figure 348440DEST_PATH_IMAGE005
6.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取预设的第一权重数据集,其中,所述第一权重数据集中的权重数据按照N2×C2×H3×W3的数据格式进行排列,N2表示所述第一权重数据集包括的权重数据子集的数量,C2表示每个所述权重数据子集中的通道数量,H3表示每个所述权重数据子集中的数据高度,W3表示每个所述权重数据子集中的数据宽度;
将所述第一权重数据集中的数据进行交织重排,得到所述第二权重数据集,其中,所述第二权重数据集中的权重数据按照H4×W4的数据格式进行排列。
7.根据权利要求6所述的方法,其特征在于,所述将所述第一权重数据集中的数据进行交织重排,得到所述第二权重数据集,包括:
将所述第一权重数据集中每M2个权重数据子集的权重数据分成一组,得到S2组权重数据,其中,M2≤N2
将所述S2组权重数据中的每组权重数据中的M2个权重数据进行交织重排,得到所述第二权重数据集。
8.根据权利要求7所述的方法,其特征在于,所述将所述第一权重数据集中每M2个权重数据子集的权重数据分成一组,得到
Figure 43864DEST_PATH_IMAGE006
组权重数据,包括:
在N2为M2的整数倍的情况下,将所述第一权重数据集中每M2个权重数据子集的权重数据分成一组,得到所述S2组权重数据,其中,
Figure 551068DEST_PATH_IMAGE007
在N2不为M2的整数倍的情况下,将所述第一权重数据集中的权重数据子集的数量的从N2增加到N3,得到第三权重数据集,其中,N3为M2的整数倍,所述第三权重数据集中增加的权重数据子集中的权重数据为0;将所述第三权重数据集中每M2个权重数据子集的权重数据分成一组,得到所述S2组权重数据,其中,
Figure 622930DEST_PATH_IMAGE008
9.根据权利要求8所述的方法,其特征在于,所述将所述S2组权重数据中的每组权重数据中的M2个权重数据进行交织重排,得到所述第二权重数据集,包括:
在N2为M2的整数倍的情况下,将所述S2组权重数据中的每组权重数据中的M2个权重数据进行交织重排,得到所述第二权重数据集,其中,
Figure 531980DEST_PATH_IMAGE009
Figure 663884DEST_PATH_IMAGE010
在N2不为M2的整数倍的情况下,将所述S2组权重数据中的每组权重数据中的M2个权重数据进行交织重排,得到所述第二权重数据集,其中,
Figure 658385DEST_PATH_IMAGE011
Figure 35402DEST_PATH_IMAGE010
10.根据权利要求6所述的方法,其特征在于,所述N2表示卷积核的输出通道的数量,所述C2表示所述卷积核的输入通道的数量,所述卷积操作为使用所述卷积核执行的卷积操作,每个所述权重数据子集包括C2个所述输入通道上的权重数据,每个所述输出通道包括C2个所述输入通道。
11.根据权利要求1至10中任一项所述的方法,其特征在于,所述对所述第二图像数据集和已获取的第二权重数据集执行所述卷积操作,得到目标输出结果,包括:
对所述第二图像数据集和所述第二权重数据集执行所述卷积操作,得到第三图像数据集,其中,所述目标输出结果包括所述第三图像数据集,所述第二图像数据集是将S1组图像数据中的每组图像数据中的M1个通道的图像数据进行交织重排,得到图像数据集,所述S1组图像数据是将所述第一图像数据集中每M1个通道的图像数据分成一组,得到图像数据,M1≤C1
12.根据权利要求11所述的方法,其特征在于,所述对所述第二图像数据集和所述第二权重数据集执行卷积操作,得到第三图像数据集,包括:
在所述第二图像数据集中获取C2组图像数据,其中,每组图像数据包括所述第一图像数据集中位于同一个通道的多个图像数据,所述每组图像数据是从所述C2组图像数据中的上一组图像数据的存储地址偏移1个地址得到的图像数据;
对所述C2组图像数据和所述第二权重数据集中的N2×C2 组权重数据执行卷积操作,得到所述第三图像数据集中的N2组图像数据,其中,每组权重数据与所述每组图像数据具有相同的数据结构;
其中,所述第二权重数据集是将第一权重数据集中的数据进行交织重排,得到第二权重数据集,所述第一权重数据集中的权重数据按照N2×C2×H3×W3的数据格式进行排列,N2表示所述第一权重数据集包括的权重数据子集的数量,C2 表示每个所述权重数据子集中的通道数量,H3表示每个所述权重数据子集中的数据高度,W3表示每个所述权重数据子集中的数据宽度。
13.根据权利要求1至10中任一项所述的方法,其特征在于,所述方法还包括:
在第一内存空间中存储所述第一图像数据集和所述第二图像数据集;
在第二内存空间中存储所述第二权重数据集,其中,所述第一内存空间与所述第二内存空间为相互独立的内存空间。
14.一种计算机可读的存储介质,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行所述权利要求1至13任一项中所述的方法。
15.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至13任一项中所述的方法。
CN202110451609.0A 2021-04-26 2021-04-26 图像数据的处理方法和装置、存储介质及电子设备 Active CN112990370B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202110451609.0A CN112990370B (zh) 2021-04-26 2021-04-26 图像数据的处理方法和装置、存储介质及电子设备
PCT/CN2022/086217 WO2022228105A1 (zh) 2021-04-26 2022-04-12 图像数据的处理方法和装置、存储介质及电子设备
JP2023524148A JP2023547831A (ja) 2021-04-26 2022-04-12 画像データの処理方法及び装置並びに電子機器及びコンピュータプログラム
EP22794576.3A EP4296891A1 (en) 2021-04-26 2022-04-12 Processing method and apparatus for image data, storage medium, and electronic device
US17/991,416 US20230083565A1 (en) 2021-04-26 2022-11-21 Image data processing method and apparatus, storage medium, and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110451609.0A CN112990370B (zh) 2021-04-26 2021-04-26 图像数据的处理方法和装置、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN112990370A true CN112990370A (zh) 2021-06-18
CN112990370B CN112990370B (zh) 2021-09-10

Family

ID=76340137

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110451609.0A Active CN112990370B (zh) 2021-04-26 2021-04-26 图像数据的处理方法和装置、存储介质及电子设备

Country Status (5)

Country Link
US (1) US20230083565A1 (zh)
EP (1) EP4296891A1 (zh)
JP (1) JP2023547831A (zh)
CN (1) CN112990370B (zh)
WO (1) WO2022228105A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022228105A1 (zh) * 2021-04-26 2022-11-03 腾讯科技(深圳)有限公司 图像数据的处理方法和装置、存储介质及电子设备

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106779057A (zh) * 2016-11-11 2017-05-31 北京旷视科技有限公司 基于gpu的计算二值神经网络卷积的方法及装置
CN108875904A (zh) * 2018-04-04 2018-11-23 北京迈格威科技有限公司 图像处理方法、图像处理装置和计算机可读存储介质
US20190065208A1 (en) * 2017-08-31 2019-02-28 Cambricon Technologies Corporation Limited Processing device and related products
CN109426858A (zh) * 2017-08-29 2019-03-05 京东方科技集团股份有限公司 神经网络、训练方法、图像处理方法及图像处理装置
CN110163790A (zh) * 2018-06-11 2019-08-23 腾讯科技(深圳)有限公司 图像处理方法、装置、系统、存储介质和计算机设备
CN110309837A (zh) * 2019-07-05 2019-10-08 北京迈格威科技有限公司 基于卷积神经网络特征图的数据处理方法及图像处理方法
CN110557579A (zh) * 2018-05-31 2019-12-10 杭州海康威视数字技术股份有限公司 一种图像处理方法、装置及设备、可读介质
WO2020069449A1 (en) * 2018-09-27 2020-04-02 Deepmind Technologies Limited Image generation using subscaling and depth up-scaling
CN111310115A (zh) * 2020-01-22 2020-06-19 深圳市商汤科技有限公司 数据处理方法、装置及芯片、电子设备、存储介质
CN111695682A (zh) * 2019-03-15 2020-09-22 上海寒武纪信息科技有限公司 运算方法、装置及相关产品
US20200349424A1 (en) * 2019-04-30 2020-11-05 Baidu Usa Llc Memory layouts and conversion to improve neural network inference performance

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112215754B (zh) * 2020-10-26 2024-01-26 北京达佳互联信息技术有限公司 图像放大方法、装置、电子设备和存储介质
CN112990370B (zh) * 2021-04-26 2021-09-10 腾讯科技(深圳)有限公司 图像数据的处理方法和装置、存储介质及电子设备

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106779057A (zh) * 2016-11-11 2017-05-31 北京旷视科技有限公司 基于gpu的计算二值神经网络卷积的方法及装置
CN109426858A (zh) * 2017-08-29 2019-03-05 京东方科技集团股份有限公司 神经网络、训练方法、图像处理方法及图像处理装置
US20190065208A1 (en) * 2017-08-31 2019-02-28 Cambricon Technologies Corporation Limited Processing device and related products
CN108875904A (zh) * 2018-04-04 2018-11-23 北京迈格威科技有限公司 图像处理方法、图像处理装置和计算机可读存储介质
CN110557579A (zh) * 2018-05-31 2019-12-10 杭州海康威视数字技术股份有限公司 一种图像处理方法、装置及设备、可读介质
CN110163790A (zh) * 2018-06-11 2019-08-23 腾讯科技(深圳)有限公司 图像处理方法、装置、系统、存储介质和计算机设备
WO2020069449A1 (en) * 2018-09-27 2020-04-02 Deepmind Technologies Limited Image generation using subscaling and depth up-scaling
CN111695682A (zh) * 2019-03-15 2020-09-22 上海寒武纪信息科技有限公司 运算方法、装置及相关产品
US20200349424A1 (en) * 2019-04-30 2020-11-05 Baidu Usa Llc Memory layouts and conversion to improve neural network inference performance
CN110309837A (zh) * 2019-07-05 2019-10-08 北京迈格威科技有限公司 基于卷积神经网络特征图的数据处理方法及图像处理方法
CN111310115A (zh) * 2020-01-22 2020-06-19 深圳市商汤科技有限公司 数据处理方法、装置及芯片、电子设备、存储介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
HEEHOON K.等: "Performance analysis of CNN frameworks for GPUs", 《2017 IEEE INTERNATIONAL SYMPOSIUM ON PERFORMANCE ANALYSIS OF SYSTEMS AND SOFTWARE (ISPASS)》 *
MYUNGJIN C.等: "Computational Reconstruction of Three-Dimensional Integral Imaging by Rearrangement of Elemental Image Pixels", 《JOURNAL OF DISPLAY TECHNOLOGY》 *
徐晗智 等: "一种基于通道重排的轻量级目标检测网络", 《计算机与现代化》 *
舒嘉明: "申威平台上卷积神经网络库的实现与优化", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022228105A1 (zh) * 2021-04-26 2022-11-03 腾讯科技(深圳)有限公司 图像数据的处理方法和装置、存储介质及电子设备

Also Published As

Publication number Publication date
WO2022228105A1 (zh) 2022-11-03
EP4296891A1 (en) 2023-12-27
CN112990370B (zh) 2021-09-10
US20230083565A1 (en) 2023-03-16
JP2023547831A (ja) 2023-11-14

Similar Documents

Publication Publication Date Title
CN111626218B (zh) 基于人工智能的图像生成方法、装置、设备及存储介质
CN109543549B (zh) 用于多人姿态估计的图像数据处理方法及装置、移动端设备、服务器
CN111476708B (zh) 模型生成方法、模型获取方法、装置、设备及存储介质
CN111275784B (zh) 生成图像的方法和装置
TWI719512B (zh) 使用像素通道置亂的卷積神經網路的演算方法與系統
CN113704531A (zh) 图像处理方法、装置、电子设备及计算机可读存储介质
CN110992256B (zh) 一种图像处理方法、装置、设备及存储介质
CN113763296A (zh) 图像处理方法、设备以及介质
CN111241985A (zh) 一种视频内容识别方法、装置、存储介质、以及电子设备
CN112990370B (zh) 图像数据的处理方法和装置、存储介质及电子设备
CN114360018B (zh) 三维人脸表情的渲染方法及装置、存储介质及电子装置
CN113344794B (zh) 一种图像处理方法、装置、计算机设备及存储介质
CN113590854B (zh) 一种数据处理方法、设备以及计算机可读存储介质
CN113657272B (zh) 一种基于缺失数据补全的微视频分类方法及系统
CN111626212A (zh) 图片中对象的识别方法和装置、存储介质及电子装置
CN110956599A (zh) 图片处理方法和装置、存储介质及电子装置
CN113569824B (zh) 模型处理方法、相关设备、存储介质及计算机程序产品
CN113822114A (zh) 一种图像处理方法、相关设备及计算机可读存储介质
CN113569886A (zh) 网络结构调整方法、装置和存储介质及电子设备
CN113592765A (zh) 图像处理方法、装置、设备及存储介质
CN112749711A (zh) 视频获取方法和装置及存储介质
CN113825013B (zh) 图像显示方法和装置、存储介质及电子设备
CN114579806B (zh) 视频检测方法、存储介质和处理器
CN117079194B (zh) 云视频ai理解生成方法、装置及计算机设备
CN113793252B (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40045464

Country of ref document: HK