CN107145902B - 一种基于卷积神经网络的图像处理方法、装置及移动终端 - Google Patents
一种基于卷积神经网络的图像处理方法、装置及移动终端 Download PDFInfo
- Publication number
- CN107145902B CN107145902B CN201710288469.3A CN201710288469A CN107145902B CN 107145902 B CN107145902 B CN 107145902B CN 201710288469 A CN201710288469 A CN 201710288469A CN 107145902 B CN107145902 B CN 107145902B
- Authority
- CN
- China
- Prior art keywords
- texture
- data layer
- layer
- characteristic pattern
- small
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Evolutionary Biology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Image Generation (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于卷积神经网络的图像处理方法、装置及移动终端,该方法适于在具有图形程序接口的移动终端中执行,其中,卷积神经网络包括多个处理层和多个数据层,移动终端中存储有各数据层对应于图形程序接口的存储参数,存储参数包括特征图尺寸、纹理横向数量和纹理纵向数量,该方法包括:将待处理图片作为第一个数据层输入到卷积神经网络;对每一个数据层,根据存储参数,将该数据层的多个特征图组合形成对应的大纹理进行存储;对每一个处理层,获取与之相连的上一数据层对应的大纹理,调用图形程序接口对其进行与该处理层对应的渲染处理,以生成下一数据层中的多个特征图。
Description
技术领域
本发明涉及图像处理技术领域,特别涉及一种基于卷积神经网络的图像处理方法、装置及移动终端。
背景技术
随着卷积神经网络(CNN:Convolutional Neural Network)的快速发展,越来越多的图像处理手段,如分类、分割、风格转换、画质改善等,均采用CNN进行训练学习,以取得比传统处理方法更好的效果。然而,CNN在移动终端上的应用仍存在瓶颈,尤其是当CNN达到数百层时,需大量的浮点数乘法运算及大量的CPU内存申请,导致移动终端的计算效率和内存跟不上CNN的发展速度。
现有的在移动终端基于卷积神经网络处理图像的方法,是利用GPU和如OpenGL ES的图形程序接口来实现浮点运算的。一方面,移动终端内置的GPU具有强大的浮点运算能力,能够将移动终端的浮点运算效率提高10倍以上,甚至更多倍数,另一方面,移动端GPU芯片基本支持OpenGL ES,而OpenGL ES的3.x系列可支持16位或32位浮点纹理,可为GPU计算提供极大的便利性,从而可用于CNN的GPU高效计算。
然而,在通过纹理存储数据时,势必会导致大量纹理的创建,而OpenGL ES在纹理渲染过程中是需要不断绑定和解绑不同纹理的,导致了计算效率下降。而且CNN中存在数量较多的卷积层,在利用OpenGL ES执行脚本渲染以实现卷积处理时,对于特征图边界的判断需要使用如“if…else…”的条件判断语句,而此类语句容易给渲染过程带来效率低下的问题。因此,需要一种新的基于卷积神经网络的图像处理方案来优化上述过程。
发明内容
为此,本发明提供一种基于卷积神经网络的图像处理的技术方案,以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供一种基于卷积神经网络的图像处理方法,适于在具有图形程序接口的移动终端中执行,卷积神经网络包括多个处理层和多个数据层,其中每个处理层用于处理与之相连的上一数据层中的多个特征图,以生成下一数据层中的多个特征图,移动终端中存储有各数据层对应于图形程序接口的存储参数,存储参数包括特征图尺寸、纹理横向数量和纹理纵向数量,该方法包括如下步骤:首先,将待处理图片作为第一个数据层输入到卷积神经网络;对每一个数据层,根据存储参数,将该数据层的多个特征图组合形成对应的大纹理进行存储;对每一个处理层,获取与之相连的上一数据层对应的大纹理,调用图形程序接口对其进行与该处理层对应的渲染处理,以生成下一数据层中的多个特征图。
可选地,在根据本发明的基于卷积神经网络的图像处理方法中,特征图尺寸包括特征图的高和宽,根据存储参数,将该数据层的多个特征图组合形成对应的大纹理进行存储的步骤包括:获取该数据层中多个特征图对应的小纹理;将小纹理按照纹理横向数量乘以纹理纵向数量的样式进行组合,以形成对应的大纹理进行存储,大纹理的高为特征图的高与纹理纵向数量的乘积,大纹理的宽为特征图的宽与纹理横向数量的乘积。
可选地,在根据本发明的基于卷积神经网络的图像处理方法中,获取与之相连的上一数据层对应的大纹理,调用图形程序接口对其进行与该处理层对应的渲染处理,以生成下一数据层中的多个特征图的步骤包括:获取与该处理层相连的上一数据层对应的大纹理,大纹理由上一数据层中的多个特征图所形成的小纹理组成;对每一个小纹理,获取该小纹理的各顶点的纹理坐标与像素坐标;根据各顶点的纹理坐标与像素坐标,调用图形程序接口对该小纹理进行与该处理层对应的渲染处理,以生成下一数据层中的多个特征图。
可选地,在根据本发明的基于卷积神经网络的图像处理方法中,处理层包括卷积层,与该卷积层相连的上一数据层对应的大纹理包括由该数据层中的多个特征图形成的小纹理,获取与之相连的上一数据层对应的大纹理,调用图形程序接口对其进行与该处理层对应的渲染处理的步骤,包括调用图形程序接口对其进行与该卷积层对应的渲染处理,调用图形程序接口对其进行与该卷积层对应的渲染处理的步骤包括:获取卷积层的处理参数,以及与卷积层相连的下一数据层的存储参数中的特征图尺寸,处理参数包括卷积核与步长;对每一个小纹理,根据处理参数,对该小纹理中符合特征图尺寸的中心区域进行一次渲染处理;在完成一次渲染处理后,对中心区域以外的小纹理的边界区域进行二次渲染处理。
可选地,在根据本发明的基于卷积神经网络的图像处理方法中,还包括预先获取卷积神经网络中各数据层的对应于图形程序接口的存储参数。
可选地,在根据本发明的基于卷积神经网络的图像处理方法中,预先获取卷积神经网络中各数据层的对应于图形程序接口的存储参数的步骤包括:根据预先获取的训练图片集对卷积神经网络进行训练,以获取各数据层的特征图的特征图尺寸和特征图数量;对每一个数据层,将该数据层的特征图数量与4的商作为特征图对应的小纹理的数量,小纹理的尺寸与特征图尺寸一致;将小纹理的数量拆分成2个尽可能接近的数值的乘积,将这2个数值分别作为纹理横向数量和纹理纵向数量。
根据本发明的又一个方面,提供一种基于卷积神经网络的图像处理装置,该装置适于驻留在具有图形程序接口的移动终端中,卷积神经网络包括多个处理层和多个数据层,其中每个处理层用于处理与之相连的上一数据层中的多个特征图,以生成下一数据层中的多个特征图,移动终端中存储有各数据层对应于图形程序接口的存储参数,存储参数包括特征图尺寸、纹理横向数量和纹理纵向数量,该装置包括输入模块、转换模块和处理模块。其中,输入模块适于将待处理图片作为第一个数据层输入到卷积神经网络;转换模块适于对每一个数据层,根据存储参数,将该数据层的多个特征图组合形成对应的大纹理进行存储;处理模块适于对每一个处理层,获取与之相连的上一数据层对应的大纹理,调用图形程序接口对其进行与该处理层对应的渲染处理,以生成下一数据层中的多个特征图。
可选地,在根据本发明的基于卷积神经网络的图像处理装置中,特征图尺寸包括特征图的高和宽,转换模块进一步适于:获取该数据层中多个特征图对应的小纹理;将小纹理按照纹理横向数量乘以纹理纵向数量的样式进行组合,以形成对应的大纹理进行存储,大纹理的高为特征图的高与纹理纵向数量的乘积,大纹理的宽为特征图的宽与纹理横向数量的乘积。
可选地,在根据本发明的基于卷积神经网络的图像处理装置中,处理模块进一步适于:获取与该处理层相连的上一数据层对应的大纹理,大纹理由上一数据层中的多个特征图所形成的小纹理组成;对每一个小纹理,获取该小纹理的各顶点的纹理坐标与像素坐标;根据各顶点的纹理坐标与像素坐标,调用图形程序接口对该小纹理进行与该处理层对应的渲染处理,以生成下一数据层中的多个特征图。
可选地,在根据本发明的基于卷积神经网络的图像处理装置中,处理层包括卷积层,与该卷积层相连的上一数据层对应的大纹理包括由该数据层中的多个特征图形成的小纹理,处理模块还适于:获取卷积层的处理参数,以及与卷积层相连的下一数据层的存储参数中的特征图尺寸,处理参数包括卷积核与步长;对每一个小纹理,根据处理参数,对该小纹理中符合特征图尺寸的中心区域进行一次渲染处理;在完成一次渲染处理后,对中心区域以外的小纹理的边界区域进行二次渲染处理。
可选地,在根据本发明的基于卷积神经网络的图像处理装置中,还包括获取模块,适于预先获取卷积神经网络中各数据层的对应于图形程序接口的存储参数。
可选地,在根据本发明的基于卷积神经网络的图像处理装置中,获取模块进一步适于:根据预先获取的训练图片集对卷积神经网络进行训练,以获取各数据层的特征图的特征图尺寸和特征图数量;对每一个数据层,将该数据层的特征图数量与4的商作为特征图对应的小纹理的数量,小纹理的尺寸与特征图尺寸一致;将小纹理的数量拆分成2个尽可能接近的数值的乘积,将这2个数值分别作为纹理横向数量和纹理纵向数量。
根据本发明的又一个方面,提供一种移动终端,包括根据本发明的基于卷积神经网络的图像处理装置。
根据本发明的又一个方面,还提供一种移动终端,包括一个或多个处理器、存储器以及一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序包括用于执行根据本发明的基于卷积神经网络的图像处理方法的指令。
根据本发明的基于卷积神经网络的图像处理方案,首先将待处理图片作为第一个数据层输入到卷积神经网络中开始进行图像处理,在处理过程中,对于卷积神经网络中的每一个数据层,会根据该数据层对应与图形程序接口的存储参数,将这一数据层的多个特征图组合形成对应的大纹理进行存储,则与该数据层相连的下一处理层即获取上述大纹理,调用图形程序接口对其进行与该处理层对应的渲染处理,以生成与之相连的下一数据层中的多个特征图,而下一数据层则会继续执行将多个特征图组合形成大纹理进行存储的步骤。换言之,对于每一个处理层,相当于输入该处理层的数据是一个大纹理,而从该处理层输出的数据也是一个大纹理,处理层的计算过程则转换为基于图形程序接口的脚本渲染过程。在上述技术方案中,对于各数据层,通过将该数据层的多个特征图进行组合形成对应的大纹理,以提供给与之相连的下一处理层进行处理,而对于各处理层,则对与该处理层相连的上一数据层对应的大纹理中的各小纹理执行分块渲染,不仅无需大量创建纹理,避免在纹理渲染过程中不断绑定和解绑纹理的重复操作,而且处理层的计算环节完全在GPU中完成,无需CPU与GPU的数据来回切换,提高了计算效率。进一步地,当处理层具体为卷积层时,对当前输入的大纹理中的各小纹理,基于边界区域进行分次渲染,以降低因防止越界而进行条件判断的次数,充分利用脚本渲染的计算效率,实现卷积神经网络的加速。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的移动终端100的结构框图;
图2示出了根据本发明一个实施例的基于卷积神经网络的图像处理方法200的流程图;
图3示出了根据本发明一个实施例的卷积神经网络的结构示意图;
图4示出了根据本发明一个实施例的卷积神经网络中数据层A2对应的大纹理示意图;
图5示出了根据本发明一个实施例的卷积神经网络中数据层A3对应的大纹理示意图;
图6示出了本发明一个实施例的基于卷积神经网络的图像处理装置600的示意图;以及
图7示出了本发明又一个实施例的基于卷积神经网络的图像处理装置700的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1是移动终端100的结构框图。移动终端100可以包括存储器接口102、一个或多个数据处理器、图像处理器和/或中央处理单元104,以及外围接口106。
存储器接口102、一个或多个处理器104和/或外围接口106既可以是分立元件,也可以集成在一个或多个集成电路中。在移动终端100中,各种元件可以通过一条或多条通信总线或信号线来耦合。传感器、设备和子系统可以耦合到外围接口106,以便帮助实现多种功能。
例如,运动传感器110、光线传感器112和距离传感器114可以耦合到外围接口106,以方便定向、照明和测距等功能。其他传感器116同样可以与外围接口106相连,例如定位系统(例如GPS接收机)、温度传感器、生物测定传感器或其他感测设备,由此可以帮助实施相关的功能。
相机子系统120和光学传感器122可以用于方便诸如记录照片和视频剪辑的相机功能的实现,其中所述相机子系统和光学传感器例如可以是电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光学传感器。可以通过一个或多个无线通信子系统124来帮助实现通信功能,其中无线通信子系统可以包括射频接收机和发射机和/或光(例如红外)接收机和发射机。无线通信子系统124的特定设计和实施方式可以取决于移动终端100所支持的一个或多个通信网络。例如,移动终端100可以包括被设计成支持LTE、3G、GSM网络、GPRS网络、EDGE网络、Wi-Fi或WiMax网络以及BlueboothTM网络的通信子系统124。
音频子系统126可以与扬声器128以及麦克风130相耦合,以便帮助实施启用语音的功能,例如语音识别、语音复制、数字记录和电话功能。I/O子系统140可以包括触摸屏控制器142和/或一个或多个其他输入控制器144。触摸屏控制器142可以耦合到触摸屏146。举例来说,该触摸屏146和触摸屏控制器142可以使用多种触摸感测技术中的任何一种来检测与之进行的接触和移动或是暂停,其中感测技术包括但不局限于电容性、电阻性、红外和表面声波技术。一个或多个其他输入控制器144可以耦合到其他输入/控制设备148,例如一个或多个按钮、摇杆开关、拇指旋轮、红外端口、USB端口、和/或指示笔之类的指点设备。所述一个或多个按钮(未显示)可以包括用于控制扬声器128和/或麦克风130音量的向上/向下按钮。
存储器接口102可以与存储器150相耦合。该存储器150可以包括高速随机存取存储器和/或非易失性存储器,例如一个或多个磁盘存储设备,一个或多个光学存储设备,和/或闪存存储器(例如NAND,NOR)。存储器150可以存储操作系统172,例如Android、iOS或是Windows Phone之类的操作系统。该操作系统172可以包括用于处理基本系统服务以及执行依赖于硬件的任务的指令。存储器150还可以存储应用174。在移动设备运行时,会从存储器150中加载操作系统172,并且由处理器104执行。应用174在运行时,也会从存储器150中加载,并由处理器104执行。应用174运行在操作系统之上,利用操作系统以及底层硬件提供的接口实现各种用户期望的功能,如即时通信、网页浏览、图片管理等。应用174可以是独立于操作系统提供的,也可以是操作系统自带的。另外,应用174被安装到移动终端100中时,也可以向操作系统添加驱动模块。在上述各种应用174中,其中的一种应用为根据本发明的基于卷积神经网络的图像处理装置600。其中,卷积神经网络包括多个处理层和多个数据层,每个处理层用于处理与之相连的上一数据层中的多个特征图,以生成下一数据层的多个特征图。进一步地,移动终端100具有图形程序接口(图中未示出),例如OpenGL系列,并存储有卷积神经网络中各数据层对应于图形程序接口的存储参数,基于卷积神经网络的图像处理装置600对于每一个数据层,根据该数据层的存储参数,将多个特征图组合形成对应的大纹理以作为与该数据层相连的下一处理层的输入,调用该图形程序接口对该大纹理执行与该处理层对应的渲染处理。一般情况下,各数据层的存储参数包括特征图尺寸、纹理横向数量和纹理纵向数量,是在预先对卷积神经网络进行训练时获取的,具体的获取方法此处先暂且不表,后面再予以解释说明。
图2示出了根据本发明一个实施例的基于卷积神经网络的图像处理方法200的流程图。基于卷积神经网络的图像处理方法200适于在具有图形程序接口的移动终端100(例如图1所示的移动终端100)中执行。
如图2所示,方法200始于步骤S210。在步骤S210中,将待处理图片作为第一个数据层输入到卷积神经网络。其中,卷积神经网络是已经预先训练好的,所包括的数据层的数量一般比处理层的数量多1个。图3示出了根据本发明一个实施例的卷积神经网络的结构示意图。如图3所示,该卷积神经网络包括5个数据层A1~A5和4个处理层B1~B4,其中,数据层A1和A5分别对应卷积神经网络的输入数据层和输出数据层,处理层B1~B4用于处理与之相连的上一数据层中的多个特征图,以生成下一数据层中的多个特征图。在该实施方式中,待处理图片为RGBA的4通道彩色图片,尺寸为320px×256px,由于待处理图片的通道数为4,表明每1个通道下的图片对应于1个特征图,即该图片包括4个不同通道,即通道R、G、B和Alpha下,尺寸为320px×256px的特征图,将这4个特征图作为数据层A1输入到上述卷积神经网络以便进行后续图像处理。
随后,进入步骤S220,对每一个数据层,根据存储参数,将该数据层的多个特征图组合形成对应的大纹理进行存储。其中,存储参数与图形程序接口对应,包括特征图尺寸、纹理横向数量和纹理纵向数量,特征图尺寸包括特征图的高和宽。根据本发明的一个实施例,图形程序接口选用OpenGL ES 3.0,表1示出了该实施方式下卷积神经网络各数据层的存储参数示例,具体如下所示:
数据层 | 特征图尺寸(高px×宽px) | 纹理横向数量 | 纹理纵向数量 |
A1 | 320px×256px | 1 | 1 |
A2 | 80px×64px | 3 | 1 |
A3 | 80px×64px | 3 | 1 |
A4 | 78px×62px | 2 | 1 |
A5 | 78px×62px | 1 | 1 |
表1
根据该实施方式,可以通过以下方式对各数据层的多个特征图组合形成对应的大纹理进行存储。首先,获取该数据层中多个特征图对应的小纹理,由于OpenGL ES 3.0的浮点纹理最大的特点是可以用4通道来存储数据,则纹理的4通道可同时存储4个特征图,则可通过将特征图数量与4的商作为小纹理的数量,以实现以与特征图尺寸相同的小纹理来存储多个特征图。当然,在特征图数量无法被4整除时,在计算上将特征图数量与4的商向下取整后再加1的值作为小纹理的数量,即当不足4通道时,会凑成4通道存在纹理中。比如对数据层A1,数据层A1中共计4个特征图,且特征图尺寸为320px×256px,则小纹理的数量为4/4=1,得到了数据层A1中4个特征图对应的1个小纹理。然后,将得到的小纹理按照纹理横向数量乘以纹理纵向数量的样式进行组合,以形成对应的大纹理进行存储,该大纹理的高为特征图的高与纹理纵向数量的乘积,该大纹理的宽为特征图的宽与纹理横向数量的乘积。很明显,由于数据层A1对应的小纹理只有1个,且纹理横向数量和纹理纵向数量也均为1,则形成的大纹理实际上就是该小纹理。
为了进一步说明大纹理的形成过程,下面以数据层A2为例进行补充描述。数据层A2中所包括的特征图是处理层B1对数据层A1对应的大纹理进行渲染处理而生成的,此时得到数据层A2共计具有11个特征图,由于11无法被4整除,则计算11与4的商向下取整后再加1的值作为小纹理的数量,即小纹理的数量为floor(11/4)+1=3,floor表示向下取整。对于前2个小纹理,每个小纹理的4通道均存储有特征图,即总共存储了8个特征图,还剩余11-8=3个特征图,这3个特征图需要存储在第3个小纹理中,但是考虑到1个小纹理可同时存储4个特征图,基于补全原则,需要将余下的3个特征图凑成4个特征图进行存储,即将第4个特征图对应于第3个小纹理的第4通道的值全部设置为0,以凑成4通道。接下来,需要将得到的3个小纹理按照纹理横向数量乘以纹理纵向数量的样式进行组合,以形成大纹理来存储,由于数据层A2的存储参数中特征图的尺寸为80px×64px,纹理横向数量为3,纹理纵向数量为1,即该大纹理由横向排列的上述3个尺寸为80px×64px的小纹理组成。图4示出了根据本发明一个实施例的卷积神经网络中数据层A2对应的大纹理示意图。如图4所示,大纹理由小纹理A2-1、A2-2和A2-3组成,小纹理的高为80px,宽为64px,则最终形成的数据层A2对应的大纹理的高为80px×1=80px,宽为64px×3=192px。
在获取到数据层A1对应的大纹理进行存储后,开始进入步骤S230,对每一个处理层,获取与之相连的上一数据层对应的大纹理,调用图形程序接口对其进行与该处理层对应的渲染处理,以生成下一数据层中的多个特征图。需要说明的是,实际在执行基于卷积神经网络的图像处理方法200时,在待处理图片输入到卷积神经网络后,步骤S220和S230中具体的处理操作是交替进行直至执行到卷积神经网络的最后一层。例如对图3所示的卷积神经网络而言,数据层A1~A5与处理层B1~B4相互穿插排列,对数据层A1~A5均要执行步骤S220中形成大纹理的操作,而处理层B1~B4则是要执行步骤S230中通过OpenGL ES 3.0进行纹理渲染的处理,按照上述排列顺序执行相应步骤的过程即是步骤S220与步骤S230交替执行,直至获得数据层A5对应的大纹理为止。为便于描述,这里仅对处理层B3执行步骤S230中的具体操作进行说明,其他处理层则不予以赘述。
具体地,在根据本发明的一个实施例中,可以通过以下方式来获取与处理层相连的上一数据层对应的大纹理,调用图形程序接口对其进行与该处理层对应的渲染处理,以生成下一数据层中的多个特征图。首先,获取与该处理层相连的上一数据层对应的大纹理,大纹理由上一数据层中的多个特征图所形成的小纹理组成。在该实施方式中,与处理层B3相连的上一数据层为数据层A3,则先获取数据层A3对应的大纹理。从表1可知数据层A3与数据层A2对应的大纹理在形式上一致,因此数据层A3对应的大纹理由3个小纹理组成。随后,对每一个小纹理,获取该小纹理的各顶点的纹理坐标与像素坐标。图5示出了根据本发明一个实施例的卷积神经网络中数据层A3对应的大纹理示意图。如图5所示,数据层A3对应的大纹理包括小纹理A3-1、A3-2和A3-3,将小纹理的高设为h,宽设为w。以小纹理A3-1为例,小纹理A3-1具有D1、D2、D3和D4共计4个顶点,对这4个顶点而言,其像素坐标如下:
顶点D1:(cx×w,cy×h)
顶点D2:((cx+1)×w,cy×h)
顶点D3:(cx×w,(cy+1)×h)
顶点D4:((cx+1)×w,(cy+1)×h)
纹理坐标如下:
顶点D1:(cx/cw,cy×ch)
顶点D2:((cx+1)×cw,cy×ch)
顶点D3:(cx×cw,(cy+1)×ch)
顶点D4:((cx+1)×cw,(cy+1)×ch)
其中,cw为数据层A3对应的纹理横向数量,ch为数据层A3对应的纹理纵向数量,cy=floor((i-1)/cw),cx=i-1-cy×cw,i表示小纹理的序号,由于数据层A3对应的大纹理包括3个小纹理,则i的取值可为1、2或3,对小纹理A3-1而言,i=1,对小纹理A3-2而言,i=2,对小纹理A3-3而言,i=3。由此,根据各顶点的纹理坐标与像素坐标,调用图形程序接口对该小纹理进行与该处理层对应的渲染处理,以生成下一数据层中的多个特征图。在该实施方式中,由表1可知,与处理层A3相连的上一数据层A3对应的大纹理包括3个小纹理,相当于有3个输入块,下一数据层A4对应的大纹理包括2个小纹理,相当于由2个输出块,考虑OpenGL ES 3.0在脚本中传入的参数有限,依次计算各输出块以实现分块计算。将处理层A3的操作标记为Φ,则对于各输入块Mi(i=1,2,3),输出块Nk(k=1,2)有:
其中,∑(·)表示对所有输入块Mi(i=1,2,3)进行Φ处理后的某种组合,当然,不同的处理层对于不同的组合,比如若处理层B3为卷积层,则∑(·)表示求和。那么,对任一输入块Mi(i=1,2,3)进行渲染时,由于纹理坐标范围为0~1,而脚本渲染的过程实际上是利用像素坐标来插值纹理坐标,则根据各输入块对应的4个顶点的像素坐标和纹理坐标,利用顶点着色器进行插值形成纹理采样点,以供片段着色器并行使用即可实现脚本渲染。
进一步地,对于卷积神经网络而言,其处理层一般包括卷积层、池化层、激活层等多种类型,而就卷积层来说,卷积与反卷积计算占据了卷积神经网络处理70%以上的计算时间,采用如OpenGL ES 3.0的脚本渲染进行分块计算,可大幅度提高计算效率,但卷积操作按块进行计算时,在边界区域为避免越界,会涉及大量的“if…else…”条件判断,难以充分利用脚本渲染的计算效率。
为解决这一问题,根据本发明的一个实施例,当处理层为卷积层时,可通过以下方式调用图形程序接口,对与其相连的上一数据层对应的大纹理进行与该卷积层对应的渲染处理。首先,获取卷积层的处理参数,以及与卷积层相连的下一数据层的存储参数中的特征图尺寸,处理参数包括卷积核与步长。在该实施方式中,处理层B3为卷积层,与其相连的下一数据层为数据层A4,数据层A4的存储参数中的特征图尺寸为78px×62px,处理层B3的处理参数中卷积核的大小为3px×3px,步长为1。接下来,对每一个小纹理,根据处理参数,对该小纹理中符合特征图尺寸的中心区域进行一次渲染处理,处理层B3要进行分块渲染处理的小纹理为图5所示的小纹理A3-1、A3-2和A3-3,此处以小纹理A3-1进行渲染处理的示例说明。根据上述卷积核和步长,对小纹理A3-1中尺寸为78px×62px的中心区域进行一次渲染,由于中心区域为一个78px×62px的矩形,而小纹理A3-1的尺寸为80px×64px,在对中心区域的渲染时无需进行“if…else…”判断,以中心区域的对角线对其进行分割可得到2个三角面片,则对该中心区域的渲染处理实际上是渲染这2个三角面片。最后,在完成一次渲染处理后,对中心区域以外的小纹理的边界区域进行二次渲染处理。很明显,边界区域可视为4条宽度为1px的线段,直接对这4条线段进行渲染即可。上述分步渲染是卷积核大小为3px×3px的情形,若卷积核大小为5px×5px,则边界区域相当于4条宽度为2px的线段,但二次渲染处理的对象是宽度为1px的线段,此时应将边界区域视为8条宽度为1px的线段以进行渲染。依此类推,可得到基于7px×7px、9px×9px和11px×11px等大小的卷积核的渲染方法。
在以上基于卷积神经网络的图像处理过程中,卷积神经网络中各数据层的对应于图形程序接口的存储参数需要预先获取,根据本发明的一个实施例,可以利用下列方法来预先获取存储参数。在该实施方式中,首先根据预先获取的训练图片集对卷积神经网络进行训练,以获取各数据层的特征图的特征图尺寸和特征图数量。表2示出了该实施方式下各数据层的特征图尺寸和特征图数量的存储示例,具体如下所示:
数据层 | 特征图尺寸(高px×宽px) | 特征图数量 |
A1 | 320px×256px | 4 |
A2 | 80px×64px | 11 |
A3 | 80px×64px | 12 |
A4 | 78px×62px | 8 |
A5 | 78px×62px | 4 |
表2
然后,对每一个数据层,将该数据层的特征图数量与4的商作为特征图对应的小纹理的数量,小纹理的尺寸与特征图尺寸一致。数据层A1~A5中特征图的数量依次为4、11、12、8和4,很明显数据层A2的特征图数量11是无法被4整除的,则计算11与4的商向下取整后再加1的值作为小纹理的数量,即小纹理的数量为floor(11/4)+1=3,floor表示向下取整,最终得到数据层A1~A5对应的小纹理的数量分别为1、3、3、2和1。最后,将小纹理的数量拆分成2个尽可能接近的数值的乘积,将这2个数值分别作为纹理横向数量和纹理纵向数量。数据层A1和A5的小纹理数量均为1,将1拆分成1×1,则数据层A1和A5的纹理横向数量和纹理纵向数量均为1,数据层A2和A3的小纹理数量均为3,将3拆分成1×3,则数据层A2和A3的纹理横向数量为3,纹理纵向数量为1,数据层A4的小纹理数量为2,将2拆分成1×2,则数据层A4的纹理横向数量为2,纹理纵向数量为1。至此,获取到了所有数据层的存储参数,将其全部存储至移动终端100中,关于各数据层的存储参数示例,具体可参见上文中的表1。
图6示出了本发明一个实施例的基于卷积神经网络的图像处理装置600的示意图。如图6所示,基于卷积神经网络的图像处理装置600包括输入模块610、转换模块620和处理模块630。
输入模块610适于将待处理图片作为第一个数据层输入到卷积神经网络。其中,卷积神经网络包括多个处理层和多个数据层,其中每个处理层用于处理与之相连的上一数据层中的多个特征图,以生成下一数据层中的多个特征图。
转换模块620与输入模块610相连,适于对每一个数据层,根据存储参数,将该数据层的多个特征图组合形成对应的大纹理进行存储。其中,存储参数包括特征图尺寸、纹理横向数量和纹理纵向数量。特征图尺寸包括特征图的高和宽,转换模块620进一步适于获取该数据层中多个特征图对应的小纹理;将小纹理按照纹理横向数量乘以纹理纵向数量的样式进行组合,以形成对应的大纹理进行存储,大纹理的高为特征图的高与纹理纵向数量的乘积,大纹理的宽为特征图的宽与纹理横向数量的乘积。
处理模块630与转换模块620相连,适于对每一个处理层,获取与之相连的上一数据层对应的大纹理,调用图形程序接口对其进行与该处理层对应的渲染处理,以生成下一数据层中的多个特征图。处理模块630进一步适于获取与该处理层相连的上一数据层对应的大纹理,大纹理由上一数据层中的多个特征图所形成的小纹理组成;对每一个小纹理,获取该小纹理的各顶点的纹理坐标与像素坐标;根据各顶点的纹理坐标与像素坐标,调用图像程序接口对该小纹理进行与该处理层对应的渲染处理,以生成下一数据层中的多个特征图。处理层包括卷积层,与该卷积层相连的上一数据层对应的大纹理包括由该数据层中的多个特征图形成的小纹理,处理模块630还适于获取卷积层的处理参数,以及与卷积层相连的下一数据层的存储参数中的特征图尺寸,处理参数包括卷积核与步长;对每一个小纹理,根据处理参数,对该小纹理中符合特征图尺寸的中心区域进行一次渲染处理;在完成一次渲染处理后,对中心区域以外的小纹理的边界区域进行二次渲染处理。
图7示出了本发明又一个实施例的基于卷积神经网络的图像处理装置700的示意图。如图7所示,基于卷积神经网络的图像处理装置700的输入模块710、转换模块720和处理模块730,分别与图6中基于卷积神经网络的图像处理装置600的输入模块610、转换模块620和处理模块630一一对应,是一致的,并新增了与转换模块720相连的获取模块740。
获取模块740适于预先获取卷积神经网络中各数据层的对应于图形程序接口的存储参数。获取模块740进一步适于根据预先获取的训练图片集对卷积神经网络进行训练,以获取各数据层的特征图的特征图尺寸和特征图数量;对每一个数据层,将该数据层的特征图数量与4的商作为特征图对应的小纹理的数量,小纹理的尺寸与特征图尺寸一致;将小纹理的数量拆分成2个尽可能接近的数值的乘积,将这2个数值分别作为纹理横向数量和纹理纵向数量。
关于基于卷积神经网络的图像处理的具体步骤以及实施例,在基于图2~5的描述中已经详细公开,此处不再赘述。
现有的在移动终端基于卷积神经网络处理图像的方法,是利用GPU和如OpenGL ES的图形程序接口来实现浮点运算的。但在通过纹理存储数据时,会导致大量纹理的创建,而OpenGL ES在纹理渲染过程中是需要不断绑定和解绑不同纹理的,导致了计算效率下降。而且CNN中存在数量较多的卷积层,对于特征图边界的判断需要使用如“if…else…”的条件判断语句,而此类语句容易给渲染过程带来效率低下的问题。根据本发明实施例的基于卷积神经网络的图像处理方案,首先将待处理图片作为第一个数据层输入到卷积神经网络中开始进行图像处理,在处理过程中,对于卷积神经网络中的每一个数据层,会根据该数据层对应与图形程序接口的存储参数,将这一数据层的多个特征图组合形成对应的大纹理进行存储,则与该数据层相连的下一处理层即获取上述大纹理,调用图形程序接口对其进行与该处理层对应的渲染处理,以生成与之相连的下一数据层中的多个特征图,而下一数据层则会继续执行将多个特征图组合形成大纹理进行存储的步骤。换言之,对于每一个处理层,相当于输入该处理层的数据是一个大纹理,而从该处理层输出的数据也是一个大纹理,处理层的计算过程则转换为基于图形程序接口的脚本渲染过程。在上述技术方案中,对于各数据层,通过将该数据层的多个特征图进行组合形成对应的大纹理,以提供给与之相连的下一处理层进行处理,而对于各处理层,则对与该处理层相连的上一数据层对应的大纹理中的各小纹理执行分块渲染,不仅无需大量创建纹理,避免在纹理渲染过程中不断绑定和解绑纹理的重复操作,而且处理层的计算环节完全在GPU中完成,无需CPU与GPU的数据来回切换,提高了计算效率。进一步地,当处理层具体为卷积层时,对当前输入的大纹理中的各小纹理,基于边界区域进行分次渲染,以降低因防止越界而进行条件判断的次数,充分利用脚本渲染的计算效率,实现卷积神经网络的加速。
B9.如B7或8所述的装置,所述处理模块进一步适于:
获取与该处理层相连的上一数据层对应的大纹理,所述大纹理由上一数据层中的多个特征图所形成的小纹理组成;
对每一个小纹理,获取该小纹理的各顶点的纹理坐标与像素坐标;
根据各顶点的纹理坐标与像素坐标,调用所述图形程序接口对该小纹理进行与该处理层对应的渲染处理,以生成下一数据层中的多个特征图。
B10.如B7-9中任一项所述的装置,所述处理层包括卷积层,与该卷积层相连的上一数据层对应的大纹理包括由该数据层中的多个特征图形成的小纹理,所述处理模块还适于:
获取所述卷积层的处理参数,以及与所述卷积层相连的下一数据层的存储参数中的特征图尺寸,所述处理参数包括卷积核与步长;
对每一个小纹理,根据所述处理参数,对该小纹理中符合所述特征图尺寸的中心区域进行一次渲染处理;
在完成一次渲染处理后,对所述中心区域以外的小纹理的边界区域进行二次渲染处理。
B11.如B7-10中任一项所述的装置,还包括获取模块,适于预先获取所述卷积神经网络中各数据层的对应于所述图形程序接口的存储参数。
B12.如B11所述的装置,所述获取模块进一步适于:
根据预先获取的训练图片集对所述卷积神经网络进行训练,以获取各数据层的特征图的特征图尺寸和特征图数量;
对每一个数据层,将该数据层的特征图数量与4的商作为特征图对应的小纹理的数量,所述小纹理的尺寸与特征图尺寸一致;
将所述小纹理的数量拆分成2个尽可能接近的数值的乘积,将这2个数值分别作为纹理横向数量和纹理纵向数量。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组间可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组间组合成一个模块或单元或组间,以及此外可以把它们分成多个子模块或子单元或子组间。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、CD-ROM、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的基于卷积神经网络的图像处理方法。
以示例而非限制的方式,计算机可读介质包括计算机存储介质和通信介质。计算机可读介质包括计算机存储介质和通信介质。计算机存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在计算机可读介质的范围之内。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
Claims (12)
1.一种基于卷积神经网络的图像处理方法,适于在具有图形程序接口的移动终端中执行,所述卷积神经网络包括多个处理层和多个数据层,其中每个处理层用于处理与之相连的上一数据层中的多个特征图,以生成下一数据层中的多个特征图,所述移动终端中存储有各数据层对应于图形程序接口的存储参数,所述存储参数包括特征图尺寸、纹理横向数量和纹理纵向数量,所述方法包括:
将待处理图片作为第一个数据层输入到所述卷积神经网络;
对每一个数据层,根据所述存储参数,将该数据层的多个特征图组合形成对应的大纹理进行存储;
对每一个处理层,获取与之相连的上一数据层对应的大纹理,调用所述图形程序接口对其进行与该处理层对应的渲染处理,以生成下一数据层中的多个特征图;
其中,所述特征图尺寸包括特征图的高和宽,所述根据所述存储参数,将该数据层的多个特征图组合形成对应的大纹理进行存储的步骤包括:
获取该数据层中多个特征图对应的小纹理;
将所述小纹理按照纹理横向数量乘以纹理纵向数量的样式进行组合,以形成对应的大纹理进行存储,所述大纹理的高为所述特征图的高与纹理纵向数量的乘积,所述大纹理的宽为所述特征图的宽与纹理横向数量的乘积。
2.如权利要求1所述的方法,所述获取与之相连的上一数据层对应的大纹理,调用所述图形程序接口对其进行与该处理层对应的渲染处理,以生成下一数据层中的多个特征图的步骤包括:
获取与该处理层相连的上一数据层对应的大纹理,所述大纹理由上一数据层中的多个特征图所形成的小纹理组成;
对每一个小纹理,获取该小纹理的各顶点的纹理坐标与像素坐标;
根据各顶点的纹理坐标与像素坐标,调用所述图形程序接口对该小纹理进行与该处理层对应的渲染处理,以生成下一数据层中的多个特征图。
3.如权利要求1或2中所述的方法,所述处理层包括卷积层,与该卷积层相连的上一数据层对应的大纹理包括由该数据层中的多个特征图形成的小纹理,所述获取与之相连的上一数据层对应的大纹理,调用所述图形程序接口对其进行与该处理层对应的渲染处理的步骤,包括调用所述图形程序接口对其进行与该卷积层对应的渲染处理,所述调用所述图形程序接口对其进行与该卷积层对应的渲染处理的步骤包括:
获取所述卷积层的处理参数,以及与所述卷积层相连的下一数据层的存储参数中的特征图尺寸,所述处理参数包括卷积核与步长;
对每一个小纹理,根据所述处理参数,对该小纹理中符合所述特征图尺寸的中心区域进行一次渲染处理;
在完成一次渲染处理后,对所述中心区域以外的小纹理的边界区域进行二次渲染处理。
4.如权利要求1中所述的方法,还包括预先获取所述卷积神经网络中各数据层的对应于所述图形程序接口的存储参数。
5.如权利要求4所述的方法,所述预先获取所述卷积神经网络中各数据层的对应于所述图形程序接口的存储参数的步骤包括:
根据预先获取的训练图片集对所述卷积神经网络进行训练,以获取各数据层的特征图的特征图尺寸和特征图数量;
对每一个数据层,将该数据层的特征图数量与4的商作为特征图对应的小纹理的数量,所述小纹理的尺寸与特征图尺寸一致;
将所述小纹理的数量拆分成2个尽可能接近的数值的乘积,将这2个数值分别作为纹理横向数量和纹理纵向数量。
6.一种基于卷积神经网络的图像处理装置,适于驻留在具有图形程序接口的移动终端中,所述卷积神经网络包括多个处理层和多个数据层,其中每个处理层用于处理与之相连的上一数据层中的多个特征图,以生成下一数据层中的多个特征图,所述移动终端中存储有各数据层对应于图形程序接口的存储参数,所述存储参数包括特征图尺寸、纹理横向数量和纹理纵向数量,所述装置包括:
输入模块,适于将待处理图片作为第一个数据层输入到所述卷积神经网络;
转换模块,适于对每一个数据层,根据所述存储参数,将该数据层的多个特征图组合形成对应的大纹理进行存储;
处理模块,适于对每一个处理层,获取与之相连的上一数据层对应的大纹理,调用所述图形程序接口对其进行与该处理层对应的渲染处理,以生成下一数据层中的多个特征图;
其中,所述特征图尺寸包括特征图的高和宽,所述转换模块进一步适于:
获取该数据层中多个特征图对应的小纹理;
将所述小纹理按照纹理横向数量乘以纹理纵向数量的样式进行组合,以形成对应的大纹理进行存储,所述大纹理的高为所述特征图的高与纹理纵向数量的乘积,所述大纹理的宽为所述特征图的宽与纹理横向数量的乘积。
7.如权利要求6所述的装置,所述处理模块进一步适于:
获取与该处理层相连的上一数据层对应的大纹理,所述大纹理由上一数据层中的多个特征图所形成的小纹理组成;
对每一个小纹理,获取该小纹理的各顶点的纹理坐标与像素坐标;
根据各顶点的纹理坐标与像素坐标,调用所述图形程序接口对该小纹理进行与该处理层对应的渲染处理,以生成下一数据层中的多个特征图。
8.如权利要求6-7中任一项所述的装置,所述处理层包括卷积层,与该卷积层相连的上一数据层对应的大纹理包括由该数据层中的多个特征图形成的小纹理,所述处理模块还适于:
获取所述卷积层的处理参数,以及与所述卷积层相连的下一数据层的存储参数中的特征图尺寸,所述处理参数包括卷积核与步长;
对每一个小纹理,根据所述处理参数,对该小纹理中符合所述特征图尺寸的中心区域进行一次渲染处理;
在完成一次渲染处理后,对所述中心区域以外的小纹理的边界区域进行二次渲染处理。
9.如权利要求6中所述的装置,还包括获取模块,适于预先获取所述卷积神经网络中各数据层的对应于所述图形程序接口的存储参数。
10.如权利要求9所述的装置,所述获取模块进一步适于:
根据预先获取的训练图片集对所述卷积神经网络进行训练,以获取各数据层的特征图的特征图尺寸和特征图数量;
对每一个数据层,将该数据层的特征图数量与4的商作为特征图对应的小纹理的数量,所述小纹理的尺寸与特征图尺寸一致;
将所述小纹理的数量拆分成2个尽可能接近的数值的乘积,将这2个数值分别作为纹理横向数量和纹理纵向数量。
11.一种移动终端,包括如权利要求6-10中任一项所述的基于卷积神经网络的图像处理装置。
12.一种移动终端,包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其中所述一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求1至5所述的方法中的任一方法的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710288469.3A CN107145902B (zh) | 2017-04-27 | 2017-04-27 | 一种基于卷积神经网络的图像处理方法、装置及移动终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710288469.3A CN107145902B (zh) | 2017-04-27 | 2017-04-27 | 一种基于卷积神经网络的图像处理方法、装置及移动终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107145902A CN107145902A (zh) | 2017-09-08 |
CN107145902B true CN107145902B (zh) | 2019-10-11 |
Family
ID=59774077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710288469.3A Active CN107145902B (zh) | 2017-04-27 | 2017-04-27 | 一种基于卷积神经网络的图像处理方法、装置及移动终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107145902B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107871162B (zh) * | 2017-11-16 | 2020-06-05 | 厦门美图之家科技有限公司 | 一种基于卷积神经网络的图像处理方法及移动终端 |
CN107808394B (zh) * | 2017-11-16 | 2020-05-15 | 厦门美图之家科技有限公司 | 一种基于卷积神经网络的图像处理方法及移动终端 |
EP3499415A1 (en) * | 2017-12-14 | 2019-06-19 | Axis AB | Method and image processing entity for applying a convolutional neural network to an image |
CN109754357B (zh) | 2018-01-26 | 2021-09-21 | 京东方科技集团股份有限公司 | 图像处理方法、处理装置以及处理设备 |
CN110321996B (zh) * | 2018-03-28 | 2021-06-29 | 华为技术有限公司 | 一种基于卷积神经网络的图像处理的方法和装置 |
CN109065001B (zh) * | 2018-06-20 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 一种图像的降采样方法、装置、终端设备和介质 |
CN110866589B (zh) * | 2018-08-10 | 2023-06-30 | 阿里巴巴(中国)有限公司 | 深度神经网络模型的运行方法、装置及框架 |
CN109711481B (zh) * | 2019-01-02 | 2021-09-10 | 京东方艺云科技有限公司 | 用于画作多标签识别的神经网络、相关方法、介质和设备 |
WO2020215180A1 (zh) * | 2019-04-22 | 2020-10-29 | 华为技术有限公司 | 图像处理方法、装置和电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101253493A (zh) * | 2005-08-31 | 2008-08-27 | 微软公司 | 在图形处理单元上训练卷积神经网络 |
CN105684037A (zh) * | 2013-10-02 | 2016-06-15 | 微软技术许可有限责任公司 | 图形处理单元 |
CN106548449A (zh) * | 2016-09-18 | 2017-03-29 | 北京市商汤科技开发有限公司 | 生成超分辨率深度图的方法、装置及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10489703B2 (en) * | 2015-05-20 | 2019-11-26 | Nec Corporation | Memory efficiency for convolutional neural networks operating on graphics processing units |
-
2017
- 2017-04-27 CN CN201710288469.3A patent/CN107145902B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101253493A (zh) * | 2005-08-31 | 2008-08-27 | 微软公司 | 在图形处理单元上训练卷积神经网络 |
CN105684037A (zh) * | 2013-10-02 | 2016-06-15 | 微软技术许可有限责任公司 | 图形处理单元 |
CN106548449A (zh) * | 2016-09-18 | 2017-03-29 | 北京市商汤科技开发有限公司 | 生成超分辨率深度图的方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
"多GPU 环境下的卷积神经网络并行算法";王裕民,顾乃杰,张孝慈;《小型微型计算机系统》;20170331;第1-4页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107145902A (zh) | 2017-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107145902B (zh) | 一种基于卷积神经网络的图像处理方法、装置及移动终端 | |
CN107424184B (zh) | 一种基于卷积神经网络的图像处理方法、装置及移动终端 | |
CN110046702B (zh) | 神经网络计算加速器及其执行的方法 | |
CN108924420B (zh) | 图像拍摄方法、装置、介质、电子设备及模型训练方法 | |
CN107948529A (zh) | 图像处理方法及装置 | |
CN106201212B (zh) | 一种应用图标的生成方法、装置及移动终端 | |
CN108268931B (zh) | 数据处理的方法、装置和系统 | |
CN108010031A (zh) | 一种人像分割方法及移动终端 | |
CN106295533B (zh) | 一种自拍图像的优化方法、装置和拍摄终端 | |
WO2022057420A1 (zh) | 数据处理方法、装置、电子设备以及存储介质 | |
CN107424123A (zh) | 一种摩尔纹去除方法及装置 | |
CN107909537A (zh) | 一种基于卷积神经网络的图像处理方法及移动终端 | |
CN108269280A (zh) | 一种深度图像的处理方法及移动终端 | |
CN108038823A (zh) | 图像型变网络模型的训练方法、图像型变方法及计算设备 | |
JP7165018B2 (ja) | 情報処理装置、情報処理方法 | |
CN107808394B (zh) | 一种基于卷积神经网络的图像处理方法及移动终端 | |
CN106529408A (zh) | 一种人脸检测的方法及装置 | |
CN108537208A (zh) | 一种多尺度的人脸检测方法及计算设备 | |
US20150235339A1 (en) | Hybrid engine for central processing unit and graphics processor | |
CN109118490A (zh) | 一种图像分割网络生成方法及图像分割方法 | |
WO2019184888A1 (zh) | 一种基于卷积神经网络的图像处理的方法和装置 | |
CN109324984B (zh) | 在卷积运算中使用循环寻址的方法和装置 | |
CN107481203A (zh) | 一种图像导向滤波方法及计算设备 | |
CN107871162B (zh) | 一种基于卷积神经网络的图像处理方法及移动终端 | |
CN109727211A (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 |