CN108805265A - 神经网络模型处理方法和装置、图像处理方法、移动终端 - Google Patents
神经网络模型处理方法和装置、图像处理方法、移动终端 Download PDFInfo
- Publication number
- CN108805265A CN108805265A CN201810488132.1A CN201810488132A CN108805265A CN 108805265 A CN108805265 A CN 108805265A CN 201810488132 A CN201810488132 A CN 201810488132A CN 108805265 A CN108805265 A CN 108805265A
- Authority
- CN
- China
- Prior art keywords
- value
- layer
- weight
- neural network
- network model
- 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
Links
Classifications
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本申请涉及一种神经网络模型处理方法和装置、图像处理方法和装置、移动终端、计算机可读存储介质。所述方法包括:获取神经网络模型中每一层权重值集合;获取所述每一层权重值集合中的最大权重值和最小权重值,根据所述最大权重值、最小权重值及第一量化区间获取所述每一层权重值集合的量化步长和偏移量;根据所述每一层权重值集合的量化步长和偏移量对对应层的各个权重值进行量化处理得到对应层的各个权重值所对应的量化值。通过对权重值量化,适用于移动终端。
Description
技术领域
本申请涉及计算机应用领域,特别是涉及一种神经网络模型处理方法、装置、图像处理方法、移动终端、计算机可读存储介质。
背景技术
神经网络是一种模拟人脑的神经网络以期能够实现人工智能的机器学习技术。随着神经网络技术的不断发展,越来越多的算法采用深度学习神经网络的方法来对图像进行分类和检测。然而,传统的神经网络模型数据量大,模型复杂,适用于服务器,不适用于移动终端。
发明内容
本申请实施例提供一种神经网络模型处理方法、装置、图像处理方法、移动终端、计算机可读存储介质,可以适用于移动终端。
一种神经网络模型处理方法,包括:
获取神经网络模型中每一层权重值集合;
获取所述每一层权重值集合中的最大权重值和最小权重值,根据所述最大权重值、最小权重值及第一量化区间获取所述每一层权重值集合的量化步长和偏移量;
根据所述每一层权重值集合的量化步长和偏移量对对应层的各个权重值进行量化处理得到对应层的各个权重值所对应的量化值。
一种图像处理方法,包括:
将待处理图像输入到神经网络模型,所述神经网络模型的每一层的各个权重值是根据每一层的量化步长和偏移量进行量化处理得到的对应的量化值,所述量化步长和偏移量是根据所述每一层权重值的最大权重值、最小权重值及第一量化区间得到的;
根据所述权重值对应的量化值对所述待处理图像进行检测处理。
一种神经网络模型处理装置,包括:
获取模块,用于获取神经网络模型中每一层权重值集合;
参数确定模块,用于获取所述每一层权重值集合中的最大权重值和最小权重值,根据所述最大权重值、最小权重值及第一量化区间获取所述每一层权重值集合的量化步长和偏移量;
量化模块,用于根据所述每一层权重值集合的量化步长和偏移量对对应层的各个权重值进行量化处理得到对应层的各个权重值所对应的量化值。
一种图像处理装置,包括:
输入模块,用于将待处理图像输入到神经网络模型,所述神经网络模型的每一层的各个权重值是根据每一层的量化步长和偏移量进行量化处理得到的对应的量化值,所述量化步长和偏移量是根据所述每一层权重值的最大权重值、最小权重值及第一量化区间得到的;
检测模块,用于根据所述权重值对应的量化值对所述待处理图像进行检测处理。
一种移动终端,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述的神经网络模型处理方法的步骤,或者执行所述的图像处理方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的神经网络模型处理方法的步骤,或者实现所述的图像处理方法的步骤。
上述实施例中的神经网络模型处理方法和装置、移动终端、计算机可读存储介质,根据神经网络模型中每一层权重值及第一量化区间得到对应的量化步长和偏移量,根据量化步长和偏移量对权重值进行量化处理,减小了计算量,可以适用于移动终端。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中神经网络模型处理方法的流程图;
图2为一个实施例中神经网络模型的简单结构示意图;
图3为一个实施例中神经网络模型处理方法的流程图;
图4为一个实施例中神经网络模型处理方法的流程图;
图5为一个实施例中图像处理方法的流程图;
图6为一个实施例中神经网络模型处理装置的结构框图;
图7为一个实施例中图像处理装置的结构框图;
图8A为一个实施例中移动终端的内部结构示意图;
图8B为一个实施例中服务器的内部结构示意图;
图9为一个实施例中图像处理电路的示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中神经网络模型处理方法的流程图。如图1所示,一种神经网络模型处理方法,包括步骤102至步骤106。其中:
步骤102,获取神经网络模型中每一层权重值集合。
神经网络模型是一种模拟人脑神经元对数据进行识别、分类和检测等处理的模型。神经网络模型一般包括输入层、隐层和输出层;输入层用于接收数据的输入;隐层用于对接收到的数据进行处理;输出层用于输出对数据处理的最终结果。隐层可以是一层或多层神经网络。输入层的节点连接到隐层,隐层的节点连接到输出层。节点之间的每条连接线上配置有权重值。每一层神经网络存在多个权重值。
图2为一个实施例中神经网络模型的简单结构示意图。如图2所示,输入层的节点为a1、a2、a3,隐层的节点为b1、b2,输出层的节点为z1、z2,第一层的权重值为第二层的权重值为 g(x)为激活函数,该激活函数为非线性函数,例如可为符号函数、平滑函数、ReLU函数。ReLU函数可为f(x)=max(0,x)。上述计算公式可采用简化表示,即b=g(w1*a),z=g(w2*b),其中,a可表示矩阵b可表示矩阵w1可表示矩阵w2可表示矩阵z可表示矩阵本实施例中以两层网络结构举例,实际可根据需要设置神经网络的层数。
在其他实施例中,神经网络模型可为卷积神经网络模型。
可将神经网络模型的模型结构和权重值以文件形式存储。移动终端或服务器读取神经网络模型文件可得到模型结构和每一层的权重值集合。每一层的权重值集合用于记录每一层所有的权重值。
步骤104,获取每一层权重值集合中的最大权重值和最小权重值,根据最大权重值、最小权重值及第一量化区间获取每一层权重值集合的量化步长和偏移量。
具体地,移动终端或服务器可获取每一层的权重值集合中的最大权重值max,最小权重值min,并可读取到第一量化区间。第一量化区间是根据移动终端的处理器的处理能力确定的,如处理器可以处理8bit(位),则第一量化区间为[0,255]。
移动终端或服务器根据每一层的最大权重值max、最小权重值min及第一量化区间的最大值可得到每一层权重值集合的量化步长和偏移量。将每一层的最大权重值减去最小权重值的差,再除以第一量化区间的最大值得到对应的量化步长。将每一层的最小权重值除以对应的量化步长得到对应的偏移量。例如第一量化区间为[0,255]。量化步长delta=(max-min)/255。偏移量offset=min/delta。
步骤106,根据每一层权重值集合的量化步长和偏移量对对应层的各个权重值进行量化处理得到对应层的各个权重值所对应的量化值。
具体地,移动终端或服务器根据每一层权重值集合的量化步长和偏移量可对对应层的的各个权重值进行量化处理得到各个权重值所对应的量化指。
上述实施例中的神经网络模型,根据模型中每一层权重值及第一量化区间得到对应的量化步长和偏移量,根据量化步长和偏移量对权重值进行量化处理,可以适用于移动终端。
在一个实施例中,该根据所述每一层权重值集合的量化步长和偏移量对对应层的各个权重值进行量化处理得到对应层的各个权重值所对应的量化值包括:根据该每一层的各个权重值除以所述对应层权重值集合的量化步长,再减去所述对应层权重值集合的偏移量得到对应层的各个权重值所对应的量化值。
具体地,可将计算得到的对应层的各个权重值所对应的量化值进行四舍五入处理得到整数。例如,第一量化区间为[0,255]权重值是[100,200],最大权重值max=200,最小权重值min=100,权重值对应的量化步长delta=(200-100)/255=0.392156,权重值对应的偏移量offset=min/delta=100/0.392156=255。若需要量化的权重值是150,则150/0.392156-255=127.5,四舍五入为128。
在一个实施例中,图3所示,上述神经网络处理方法还包括:
步骤302,获取图像,将图像输入到该神经网络模型进行识别,记录该神经网络模型的每个激活层的输出值。
具体地,图像可为任意图像。该图像可为从网络中选取的,也可以移动终端拍摄的等。在神经网络模型的隐层的每一层都有激活函数,激活函数所在的层可称为激活层。激活层的输出值是指激活函数的输出值。将图像输入到该神经网络模型,进行一次前向推理,记录每一个激活层的输出值。对于图像,激活层的输出值可为像素值。
步骤304,获取每个激活层的输出值中的最大输出值和最小输出值,根据最大输出值、最小输出值及第二量化区间获取每个激活层的输出值的量化步长和偏移量。
具体地,获取每个激活层的输出值中的最大输出值max,最小输出值min。第二量化区间是根据移动终端的处理器的能力确定的。第二量化区间和第一量化区间可相同,也可不同。为了计算方便,第一量化区间和第二量化区间相同。例如处理器可以处理8bit,则第一量化区间为[0,255]。
移动终端或服务器根据每个激活层的输出值中的最大输出值max、最小输出值min及第二量化区间的最大值可得到每个激活层的输出值的量化步长和偏移量。
将每个激活层的最大输出值减去最小输出值的差,再除以第二量化区间的最大值得到对应的量化步长。将每个激活层的最小输出值除以对应的量化步长得到对应的偏移量。例如第二量化区间为[0,255]。输出值的量化步长delta=(max-min)/255。输出值的偏移量offset=min/delta。
步骤306,记录每个激活层的输出值的量化步长和偏移量。
上述实施例中,将神经网络模型中每个激活层的输出值进行量化,可使得输出值适用于移动终端处理。
在一个实施例中,如图4所示,上述神经网络模型处理方法还包括:
步骤402,获取多帧图像,记录每帧图像输入到神经网络模型进行识别后的每个激活层的输出值。
具体地,多帧图像中每帧图像可为任意图像。每帧图像可为从网络中选取的,也可以移动终端拍摄的等。在神经网络模型的隐层的每一层都有激活函数,激活函数所在的层可称为激活层。激活层的输出值是指激活函数的输出值。将图像输入到该神经网络模型,进行一次前向推理,记录每一个激活层的输出值。对于图像,激活层的输出值可为像素值。
步骤404,获取每帧图像对应的每个激活层的输出值中的最大输出值和最小输出值,根据所述最大输出值、最小输出值及第二量化区间获取所述每个激活层的输出值的量化步长和偏移量。
具体地,获取每个激活层的输出值中的最大输出值max,最小输出值min。第二量化区间是根据移动终端的处理器的能力确定的。第二量化区间和第一量化区间可相同,也可不同。为了计算方便,第一量化区间和第二量化区间相同。例如处理器可以处理8bit,则第一量化区间为[0,255]。
移动终端或服务器将每帧图像依次输入到神经网络模型进行处理得到每个激活层的输出值,根据每个激活层的输出值中的最大输出值max、最小输出值min及第二量化区间的最大值可得到每个激活层的输出值的量化步长和偏移量。
将每个激活层的最大输出值减去最小输出值的差,再除以第二量化区间的最大值得到对应的量化步长。将每个激活层的最小输出值除以对应的量化步长得到对应的偏移量。例如第二量化区间为[0,255]。输出值的量化步长delta=(max-min)/255。输出值的偏移量offset=min/delta。
根据每帧图像求取的每个激活层的最大输出值、最小输出值、量化步长和偏移量加权求平均得到每个激活层的平均最大输出值、平均最小输出值、平均量化步长和平均偏移量。
步骤406,确定每个激活层的平均最大输出值、平均最小输出值、平均量化步长和平均偏移量。
具体地,例如N帧图像的每一帧输入到神经网络模型,每个激活层就会有一组最大输出值max、最小输出值min、输出值的量化步长delta和偏移量offset。N帧图像,则每个激活层有N组最大输出值max、最小输出值min、输出值的量化步长delta和偏移量offset。对每个激活层的N组最大输出值max、最小输出值min、输出值的量化步长delta和偏移量offset分别取平均就得到每个激活层的平均最大输出值、平均最小输出值、平均量化步长和平均偏移量。
通过多帧图像计算每个激活层的输出值的量化步长和偏移量,因不同图像的像素值不同,经过激活层后输出最大值和最小值不同,求取的量化步长和偏移量不同,然后求取平均值得到的平均量化步长和平均偏移量用于量化时更加准确。
在一个实施例中,上述神经网络模型处理方法还包括:对训练数据进行增强处理,将增强后的数据输入该神经网络模型进行训练,该增强处理包括旋转、缩放、裁剪、亮度随机变化、对比度随机变化中的至少一种。
具体地,旋转是指对图像进行随机调整方向。缩放是指对图像进行缩小或放大。裁剪是指对图像进行裁剪处理。亮度是指调节图像的亮度。对比度是指调节图像中物体的对比度。旋转、缩放、裁剪、亮度和对比度调节都是随机调节,以增加训练样本的多样性,使得训练样本覆盖多种情况,后续在测试或识别的过程中可以识别准确。提升了神经网络模型对各种输入方向的性能鲁棒性。如图像中的人像不是正立的,若通过旋转产生的样本中存在人像非正立的情况,则可以识别出该图像中人像不是正立。
在一个实施例中,上述神经网络模型处理方法还包括:对待输入图像的尺寸进行缩减处理。
具体地,可将待输入图像的尺寸缩减到预设尺寸。例如将300*300的图像缩小到256*256大小。通过缩减待输入图像的尺寸可以减少运算量。
在一个实施例中,上述神经网络模型处理方法还包括:将神经网络模型的检测输出类型减小。
具体地,可将神经网络模型中检测模型的输出类型从第一数量减小到第二数量。第一数量可为10类,第二数量可为5类。
通过减少输出类型,可以弥补减少运算量所带来的精度缺失,提高检测精度。
在一个实施例中,一种神经网络模型处理方法,包括:
首先,获取神经网络模型中每一层权重值集合。可通过读取神经网络模型的文件得到模型结构及每一层权重值集合。
接着,获取每一层权重值集合中的最大权重值和最小权重值,根据最大权重值、最小权重值及第一量化区间获取每一层权重值集合的量化步长和偏移量。根据最大权重值减去最小权重值的差,再除以第一量化区间的最大值得到量化步长,最小权重值除以量化步长得到偏移量。
接着,根据每一层权重值集合的量化步长和偏移量对对应层的各个权重值进行量化处理得到对应层的各个权重值所对应的量化值。将每个权重值除以量化步长,再减去偏移量得到对应的量化值。
可选地,获取图像,将图像输入到该神经网络模型进行识别,记录该神经网络模型的每个激活层的输出值,获取每个激活层的输出值中的最大输出值和最小输出值,根据最大输出值、最小输出值及第二量化区间获取每个激活层的输出值的量化步长和偏移量,记录每个激活层的输出值的量化步长和偏移量。
可选地,获取多帧图像,记录每帧图像输入到神经网络模型进行识别后的每个激活层的输出值,获取每帧图像对应的每个激活层的输出值中的最大输出值和最小输出值,根据所述最大输出值、最小输出值及第二量化区间获取所述每个激活层的输出值的量化步长和偏移量,确定每个激活层的平均最大输出值、平均最小输出值、平均量化步长和平均偏移量。
可选地,对训练数据进行增强处理,将增强后的数据输入该神经网络模型进行训练,该增强处理包括旋转、缩放、裁剪、亮度随机变化、对比度随机变化中的至少一种。
可选地,对待输入图像的尺寸进行缩减处理。
可选地,将神经网络模型的检测输出类型减小。
本申请实施例还提供了一种图像处理方法。在一个实施例中,如图5所示,一种图像处理方法,包括步骤502和504。
步骤502,将待处理图像输入到神经网络模型,所述神经网络模型的每一层的各个权重值是根据每一层的量化步长和偏移量进行量化处理得到的对应的量化值,该量化步长和偏移量是根据该每一层权重值的最大权重值、最小权重值及第一量化区间得到的。
具体地,第一量化区间是根据移动终端的处理器的处理能力确定的,如处理器可以处理8bit(位),则第一量化区间为[0,255]。移动终端将待处理图像输入到神经网络模型进行检测处理。将每一层的最大权重值减去最小权重值的差,再除以第一量化区间的最大值得到对应的量化步长。将每一层的最小权重值除以对应的量化步长得到对应的偏移量。
步骤504,根据该权重值对应的量化值对该待处理图像进行检测处理。
具体地,移动终端或服务器根据每一层权重值集合的量化步长和偏移量可对对应层的的各个权重值进行量化处理得到各个权重值所对应的量化指。
上述实施例中的图像处理方法,根据量化后的权重值对输入到神经网络模型的待处理图像进行识别,因权重值量化适用于移动终端,可在移动终端上通过神经网络模型对图像进行检测。
在一个实施例中,上述图像处理方法还包括:在神经网络模型的每个激活层采用对应的输出值的量化步长和偏移量对该待处理图像的像素值进行量化处理。
具体地,获取待处理图像每个像素点的像素值,将像素值除以量化步长,再减去偏移量得到对应的量化值。量化值在处理器中进行处理。处理器在神经网络模型的输出层,根据每个像素值对应的量化值加上偏移量得到求和值,然后将求和值乘以量化值得到对应的像素值。
在一个实施例中,上述图像处理方法还包括:对该待处理图像的尺寸进行缩减处理。
具体地,将待处理图像的尺寸缩减到预定图像尺寸。
应该理解的是,虽然图1、图3、图4、图5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图X中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图6为一个实施例中神经网络模型处理装置的结构框图。如图6所示,一种神经网络模型处理装置,包括获取模块610、参数确定模块620和量化模块630。其中:
获取模块610用于获取神经网络模型中每一层权重值集合。
参数确定模块620用于获取所述每一层权重值集合中的最大权重值和最小权重值,根据所述最大权重值、最小权重值及第一量化区间获取所述每一层权重值集合的量化步长和偏移量。
量化模块630用于根据所述每一层权重值集合的量化步长和偏移量对对应层的各个权重值进行量化处理得到对应层的各个权重值所对应的量化值。
在一个实施例中,量化模块630还用于根据该每一层的各个权重值除以所述对应层权重值集合的量化步长,再减去所述对应层权重值集合的偏移量得到对应层的各个权重值所对应的量化值。
在一个实施例中,该神经网络模型处理装置还包括存储模块640。获取模块610还用于获取图像,将图像输入到该神经网络模型进行识别,记录该神经网络模型的每个激活层的输出值。
参数确定模块620还用于获取每个激活层的输出值中的最大输出值和最小输出值,根据最大输出值、最小输出值及第二量化区间获取每个激活层的输出值的量化步长和偏移量。
存储模块640用于记录每个激活层的输出值的量化步长和偏移量。
在一个实施例中,获取模块610还用于获取多帧图像,记录每帧图像输入到神经网络模型进行识别后的每个激活层的输出值。
参数确定模块620获取每帧图像对应的每个激活层的输出值中的最大输出值和最小输出值,根据所述最大输出值、最小输出值及第二量化区间获取所述每个激活层的输出值的量化步长和偏移量,确定每个激活层的平均最大输出值、平均最小输出值、平均量化步长和平均偏移量。
在一个实施例中,上述神经网络模型处理装置还包括增强模块。增强模块用于对训练数据进行增强处理,将增强后的数据输入该神经网络模型进行训练,该增强处理包括旋转、缩放、裁剪、亮度随机变化、对比度随机变化中的至少一种。
在一个实施例中,上述神经网络模型处理装置还包括缩减模块。缩减模块用于对待输入图像的尺寸进行缩减处理。
在一个实施例中,上述神经网络模型处理装置还包括配置模块。配置模块用于将神经网络模型的检测输出类型减小。
图7为一个实施例中图像处理装置的结构框图。如图7所示,一种图像处理装置,包括输入模块710和检测模块720。其中:
输入模块710用于将待处理图像输入到神经网络模型,所述神经网络模型的每一层的各个权重值是根据每一层的量化步长和偏移量进行量化处理得到的对应的量化值,所述量化步长和偏移量是根据所述每一层权重值的最大权重值、最小权重值及第一量化区间得到的。
检测模块720用于根据所述权重值对应的量化值对所述待处理图像进行检测处理。
在一个实施例中,检测模块720还用于在神经网络模型的每个激活层采用对应的输出值的量化步长和偏移量对该待处理图像的像素值进行量化处理。
在一个实施例中,检测模块720还用于对该待处理图像的尺寸进行缩减处理。
上述神经网络处理装置或图像处理装置中各个模块的划分仅用于举例说明,在其他实施例中,可将神经网络处理装置或图像处理装置按照需要划分为不同的模块,以完成上述神经网络处理装置或图像处理装置的全部或部分功能。
本申请实施例还提供一种移动终端。该移动终端包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述的神经网络模型处理方法的步骤。
该移动终端包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述的图像处理方法的步骤。
本申请实施例还提供一种计算机可读存储介质。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的神经网络模型处理方法的步骤。
本申请实施例还提供一种计算机可读存储介质。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的图像处理方法的步骤。
图8A为一个实施例中移动终端的内部结构示意图。如图8A所示,该移动终端包括通过***总线连接的处理器、存储器和网络接口。其中,该处理器用于提供计算和控制能力,支撑整个移动终端的运行。存储器用于存储数据、程序等,存储器上存储至少一个计算机程序,该计算机程序可被处理器执行,以实现本申请实施例中提供的适用于移动终端的无线网络通信方法。存储器可包括非易失性存储介质及内存储器。非易失性存储介质存储有操作***和计算机程序。该计算机程序可被处理器所执行,以用于实现以下各个实施例所提供的一种神经网络模型处理方法或图像处理方法。内存储器为非易失性存储介质中的操作***计算机程序提供高速缓存的运行环境。网络接口可以是以太网卡或无线网卡等,用于与外部的移动终端进行通信。该移动终端可以是手机、平板电脑或者个人数字助理或穿戴式设备等。
图8B为一个实施例中服务器(或云端等)的内部结构示意图。如图9所示,该服务器包括通过***总线连接的处理器、非易失性存储介质、内存储器和网络接口。其中,该处理器用于提供计算和控制能力,支撑整个移动终端的运行。存储器用于存储数据、程序等,存储器上存储至少一个计算机程序,该计算机程序可被处理器执行,以实现本申请实施例中提供的适用于移动终端的无线网络通信方法。存储器可包括非易失性存储介质及内存储器。非易失性存储介质存储有操作***和计算机程序。该计算机程序可被处理器所执行,以用于实现以下各个实施例所提供的一种神经网络处理方法或图像处理方法。内存储器为非易失性存储介质中的操作***计算机程序提供高速缓存的运行环境。网络接口可以是以太网卡或无线网卡等,用于与外部的移动终端进行通信。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。本领域技术人员可以理解,图8B中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本申请实施例中提供的神经网络模型处理装置或图像处理装置中的各个模块的实现可为计算机程序的形式。该计算机程序可在移动终端或服务器上运行。该计算机程序构成的程序模块可存储在移动终端或服务器的存储器上。该计算机程序被处理器执行时,实现本申请实施例中所描述方法的步骤。
一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行神经网络模型处理方法或图像处理方法。
本申请实施例还提供一种移动终端。上述移动终端中包括图像处理电路,图像处理电路可以利用硬件和/或软件组件实现,可包括定义ISP(Image Signal Processing,图像信号处理)管线的各种处理单元。图9为一个实施例中图像处理电路的示意图。如图9所示,为便于说明,仅示出与本申请实施例相关的图像处理技术的各个方面。
如图9所示,图像处理电路包括ISP处理器940和控制逻辑器950。成像设备910捕捉的图像数据首先由ISP处理器940处理,ISP处理器940对图像数据进行分析以捕捉可用于确定和/或成像设备910的一个或多个控制参数的图像统计信息。成像设备910可包括具有一个或多个透镜912和图像传感器914的照相机。图像传感器914可包括色彩滤镜阵列(如Bayer滤镜),图像传感器914可获取用图像传感器914的每个成像像素捕捉的光强度和波长信息,并提供可由ISP处理器940处理的一组原始图像数据。传感器920(如陀螺仪)可基于传感器920接口类型把采集的图像处理的参数(如防抖参数)提供给ISP处理器940。传感器920接口可以利用SMIA(Standard Mobile Imaging Architecture,标准移动成像架构)接口、其它串行或并行照相机接口或上述接口的组合。
此外,图像传感器914也可将原始图像数据发送给传感器920,传感器920可基于传感器920接口类型把原始图像数据提供给ISP处理器940,或者传感器920将原始图像数据存储到图像存储器930中。
ISP处理器940按多种格式逐个像素地处理原始图像数据。例如,每个图像像素可具有8、10、12或14比特的位深度,ISP处理器940可对原始图像数据进行一个或多个图像处理操作、收集关于图像数据的统计信息。其中,图像处理操作可按相同或不同的位深度精度进行。
ISP处理器940还可从图像存储器930接收图像数据。例如,传感器920接口将原始图像数据发送给图像存储器930,图像存储器930中的原始图像数据再提供给ISP处理器940以供处理。图像存储器930可为存储器装置的一部分、存储设备、或移动终端内的独立的专用存储器,并可包括DMA(Direct Memory Access,直接直接存储器存取)特征。
当接收到来自图像传感器914接口或来自传感器920接口或来自图像存储器930的原始图像数据时,ISP处理器940可进行一个或多个图像处理操作,如时域滤波。处理后的图像数据可发送给图像存储器930,以便在被显示之前进行另外的处理。ISP处理器940从图像存储器930接收处理数据,并对所述处理数据进行原始域中以及RGB和YCbCr颜色空间中的图像数据处理。ISP处理器940处理后的图像数据可输出给显示器970,以供用户观看和/或由图形引擎或GPU(Graphics Processing Unit,图形处理器)进一步处理。此外,ISP处理器940的输出还可发送给图像存储器930,且显示器970可从图像存储器930读取图像数据。在一个实施例中,图像存储器930可被配置为实现一个或多个帧缓冲器。此外,ISP处理器940的输出可发送给编码器/解码器960,以便编码/解码图像数据。编码的图像数据可被保存,并在显示于显示器970设备上之前解压缩。编码器/解码器960可由CPU或GPU或协处理器实现。
ISP处理器940确定的统计数据可发送给控制逻辑器950单元。例如,统计数据可包括自动曝光、自动白平衡、自动聚焦、闪烁检测、黑电平补偿、透镜912阴影校正等图像传感器914统计信息。控制逻辑器950可包括执行一个或多个例程(如固件)的处理器和/或微控制器,一个或多个例程可根据接收的统计数据,确定成像设备910的控制参数及ISP处理器940的控制参数。例如,成像设备910的控制参数可包括传感器920控制参数(例如增益、曝光控制的积分时间、防抖参数等)、照相机闪光控制参数、透镜912控制参数(例如聚焦或变焦用焦距)、或这些参数的组合。ISP控制参数可包括用于自动白平衡和颜色调整(例如,在RGB处理期间)的增益水平和色彩校正矩阵,以及透镜912阴影校正参数。
以下为运用图9中图像处理技术实现上述的图像处理方法的步骤。
本申请所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。合适的非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM),它用作外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (13)
1.一种神经网络模型处理方法,其特征在于,包括:
获取神经网络模型中每一层权重值集合;
获取所述每一层权重值集合中的最大权重值和最小权重值,根据所述最大权重值、最小权重值及第一量化区间获取所述每一层权重值集合的量化步长和偏移量;
根据所述每一层权重值集合的量化步长和偏移量对对应层的各个权重值进行量化处理得到对应层的各个权重值所对应的量化值。
2.根据权利要求1所述的方法,其特征在于,所述根据所述每一层权重值集合的量化步长和偏移量对对应层的各个权重值进行量化处理得到对应层的各个权重值所对应的量化值包括:
根据所述每一层的各个权重值除以所述对应层权重值集合的量化步长,再减去所述对应层权重值集合的偏移量得到对应层的各个权重值所对应的量化值。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取图像,将所述图像输入到所述神经网络模型进行识别,记录所述神经网络模型的每个激活层的输出值;
获取所述每个激活层的输出值中的最大输出值和最小输出值,根据所述最大输出值、最小输出值及第二量化区间获取所述每个激活层的输出值的量化步长和偏移量;
记录所述每个激活层的输出值的量化步长和偏移量。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
获取多帧图像,记录每帧图像输入到所述神经网络模型进行识别后的每个激活层的输出值;
获取每帧图像对应的每个激活层的输出值中的最大输出值和最小输出值,根据所述最大输出值、最小输出值及第二量化区间获取所述每个激活层的输出值的量化步长和偏移量;
确定每个激活层的平均最大输出值、平均最小输出值、平均量化步长和平均偏移量。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对训练数据进行增强处理,将增强后的数据输入所述神经网络模型进行训练,所述增强处理包括旋转、缩放、裁剪、亮度随机变化、对比度随机变化中的至少一种。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对待输入图像的尺寸进行缩减处理。
7.一种图像处理方法,其特征在于,包括:
将待处理图像输入到神经网络模型,所述神经网络模型的每一层的各个权重值是根据每一层的量化步长和偏移量进行量化处理得到的对应的量化值,所述量化步长和偏移量是根据所述每一层权重值的最大权重值、最小权重值及第一量化区间得到的;
根据所述权重值对应的量化值对所述待处理图像进行检测处理。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在所述神经网络模型的每个激活层采用对应的输出值的量化步长和偏移量对所述待处理图像的像素值进行量化处理。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
对所述待处理图像的尺寸进行缩减处理。
10.一种神经网络模型处理装置,其特征在于,包括:
获取模块,用于获取神经网络模型中每一层权重值集合;
参数确定模块,用于获取所述每一层权重值集合中的最大权重值和最小权重值,根据所述最大权重值、最小权重值及第一量化区间获取所述每一层权重值集合的量化步长和偏移量;
量化模块,用于根据所述每一层权重值集合的量化步长和偏移量对对应层的各个权重值进行量化处理得到对应层的各个权重值所对应的量化值。
11.一种图像处理装置,其特征在于,包括:
输入模块,用于将待处理图像输入到神经网络模型,所述神经网络模型的每一层的各个权重值是根据每一层的量化步长和偏移量进行量化处理得到的对应的量化值,所述量化步长和偏移量是根据所述每一层权重值的最大权重值、最小权重值及第一量化区间得到的;
检测模块,用于根据所述权重值对应的量化值对所述待处理图像进行检测处理。
12.一种移动终端,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至6中任一项所述的神经网络模型处理方法的步骤,或者执行如权利要求7至9中任一项所述的图像处理方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的神经网络模型处理方法的步骤,或者实现如权利要求7至9中任一项所述的图像处理方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810488132.1A CN108805265B (zh) | 2018-05-21 | 2018-05-21 | 神经网络模型处理方法和装置、图像处理方法、移动终端 |
PCT/CN2019/087177 WO2019223594A1 (zh) | 2018-05-21 | 2019-05-16 | 神经网络模型处理方法和装置、图像处理方法、移动终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810488132.1A CN108805265B (zh) | 2018-05-21 | 2018-05-21 | 神经网络模型处理方法和装置、图像处理方法、移动终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108805265A true CN108805265A (zh) | 2018-11-13 |
CN108805265B CN108805265B (zh) | 2021-03-30 |
Family
ID=64091237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810488132.1A Active CN108805265B (zh) | 2018-05-21 | 2018-05-21 | 神经网络模型处理方法和装置、图像处理方法、移动终端 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108805265B (zh) |
WO (1) | WO2019223594A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110309911A (zh) * | 2019-07-05 | 2019-10-08 | 北京中科寒武纪科技有限公司 | 神经网络模型验证方法、装置、计算机设备和存储介质 |
WO2019223594A1 (zh) * | 2018-05-21 | 2019-11-28 | Oppo广东移动通信有限公司 | 神经网络模型处理方法和装置、图像处理方法、移动终端 |
CN112149797A (zh) * | 2020-08-18 | 2020-12-29 | Oppo(重庆)智能科技有限公司 | 神经网络结构优化方法和装置、电子设备 |
CN109862208B (zh) * | 2019-03-19 | 2021-07-02 | 深圳市商汤科技有限公司 | 视频处理方法、装置、计算机存储介质以及终端设备 |
WO2021164750A1 (zh) * | 2020-02-21 | 2021-08-26 | 华为技术有限公司 | 一种卷积层量化方法及其装置 |
CN113678465A (zh) * | 2019-06-04 | 2021-11-19 | 谷歌有限责任公司 | 量化约束神经图像编译 |
TWI762055B (zh) * | 2020-11-30 | 2022-04-21 | 鴻海精密工業股份有限公司 | 卷積神經網路、運算優化方法、裝置、電子設備及介質 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113468935B (zh) * | 2020-05-08 | 2024-04-02 | 上海齐感电子信息科技有限公司 | 人脸识别方法 |
CN116561050A (zh) * | 2023-04-07 | 2023-08-08 | 清华大学 | 面向rram存算一体芯片的细粒度映射方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5432556A (en) * | 1989-12-25 | 1995-07-11 | Mitsubishi Denki Kabushiki Kaisha | Coding apparatus |
CN107644254A (zh) * | 2017-09-09 | 2018-01-30 | 复旦大学 | 一种卷积神经网络权重参数量化训练方法及*** |
CN107688855A (zh) * | 2016-08-12 | 2018-02-13 | 北京深鉴科技有限公司 | 针对于复杂神经网络的分层量化方法与装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10373050B2 (en) * | 2015-05-08 | 2019-08-06 | Qualcomm Incorporated | Fixed point neural network based on floating point neural network quantization |
GB201607713D0 (en) * | 2016-05-03 | 2016-06-15 | Imagination Tech Ltd | Convolutional neural network |
CN115841137A (zh) * | 2017-06-06 | 2023-03-24 | 格兰菲智能科技有限公司 | 一种用于对待量化数据进行定点化处理的方法及计算装置 |
CN108805265B (zh) * | 2018-05-21 | 2021-03-30 | Oppo广东移动通信有限公司 | 神经网络模型处理方法和装置、图像处理方法、移动终端 |
-
2018
- 2018-05-21 CN CN201810488132.1A patent/CN108805265B/zh active Active
-
2019
- 2019-05-16 WO PCT/CN2019/087177 patent/WO2019223594A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5432556A (en) * | 1989-12-25 | 1995-07-11 | Mitsubishi Denki Kabushiki Kaisha | Coding apparatus |
CN107688855A (zh) * | 2016-08-12 | 2018-02-13 | 北京深鉴科技有限公司 | 针对于复杂神经网络的分层量化方法与装置 |
CN107644254A (zh) * | 2017-09-09 | 2018-01-30 | 复旦大学 | 一种卷积神经网络权重参数量化训练方法及*** |
Non-Patent Citations (3)
Title |
---|
QINYAO HE ET AL: "Effective Quantization Methods for Recurrent Neural Networks", 《HTTPS://ARXIV.ORG/ABS/1611.10176》 * |
ZHOU SC ET AL: "Balanced quantization: An effective and efficient approach to quantized neural networks", 《JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY》 * |
彭天强等: "基于深度卷积神经网络和二进制哈希学习的图像检索方法", 《电子与信息学报》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019223594A1 (zh) * | 2018-05-21 | 2019-11-28 | Oppo广东移动通信有限公司 | 神经网络模型处理方法和装置、图像处理方法、移动终端 |
CN109862208B (zh) * | 2019-03-19 | 2021-07-02 | 深圳市商汤科技有限公司 | 视频处理方法、装置、计算机存储介质以及终端设备 |
CN113678465A (zh) * | 2019-06-04 | 2021-11-19 | 谷歌有限责任公司 | 量化约束神经图像编译 |
CN110309911A (zh) * | 2019-07-05 | 2019-10-08 | 北京中科寒武纪科技有限公司 | 神经网络模型验证方法、装置、计算机设备和存储介质 |
WO2021164750A1 (zh) * | 2020-02-21 | 2021-08-26 | 华为技术有限公司 | 一种卷积层量化方法及其装置 |
CN112149797A (zh) * | 2020-08-18 | 2020-12-29 | Oppo(重庆)智能科技有限公司 | 神经网络结构优化方法和装置、电子设备 |
CN112149797B (zh) * | 2020-08-18 | 2023-01-03 | Oppo(重庆)智能科技有限公司 | 神经网络结构优化方法和装置、电子设备 |
TWI762055B (zh) * | 2020-11-30 | 2022-04-21 | 鴻海精密工業股份有限公司 | 卷積神經網路、運算優化方法、裝置、電子設備及介質 |
Also Published As
Publication number | Publication date |
---|---|
CN108805265B (zh) | 2021-03-30 |
WO2019223594A1 (zh) | 2019-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108805265A (zh) | 神经网络模型处理方法和装置、图像处理方法、移动终端 | |
CN108805103A (zh) | 图像处理方法和装置、电子设备、计算机可读存储介质 | |
CN108764208A (zh) | 图像处理方法和装置、存储介质、电子设备 | |
CN108875821A (zh) | 分类模型的训练方法和装置、移动终端、可读存储介质 | |
CN109063737A (zh) | 图像处理方法、装置、存储介质及移动终端 | |
CN110149482A (zh) | 对焦方法、装置、电子设备和计算机可读存储介质 | |
CN110276767A (zh) | 图像处理方法和装置、电子设备、计算机可读存储介质 | |
CN109002843A (zh) | 图像处理方法和装置、电子设备、计算机可读存储介质 | |
CN108777815A (zh) | 视频处理方法和装置、电子设备、计算机可读存储介质 | |
CN108810418A (zh) | 图像处理方法、装置、移动终端及计算机可读存储介质 | |
CN108734676A (zh) | 图像处理方法和装置、电子设备、计算机可读存储介质 | |
CN107911625A (zh) | 测光方法、装置、可读存储介质和计算机设备 | |
CN108717530A (zh) | 图像处理方法、装置、计算机可读存储介质和电子设备 | |
CN108419028A (zh) | 图像处理方法、装置、计算机可读存储介质和电子设备 | |
CN108875619A (zh) | 视频处理方法和装置、电子设备、计算机可读存储介质 | |
CN107493432A (zh) | 图像处理方法、装置、移动终端及计算机可读存储介质 | |
CN108616700A (zh) | 图像处理方法和装置、电子设备、计算机可读存储介质 | |
CN107563976A (zh) | 美颜参数获取方法、装置、可读存储介质和计算机设备 | |
CN107509031A (zh) | 图像处理方法、装置、移动终端及计算机可读存储介质 | |
CN108520493A (zh) | 图像替换的处理方法、装置、存储介质及电子设备 | |
CN107993209A (zh) | 图像处理方法、装置、计算机可读存储介质和电子设备 | |
CN107800971B (zh) | 全景拍摄的自动曝光控制处理方法、装置及设备 | |
CN109327626A (zh) | 图像采集方法、装置、电子设备和计算机可读存储介质 | |
CN109685853A (zh) | 图像处理方法、装置、电子设备和计算机可读存储介质 | |
CN109712177A (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 |