CN111383156B - 图像处理方法、装置、智能驾驶系统和车载运算平台 - Google Patents
图像处理方法、装置、智能驾驶系统和车载运算平台 Download PDFInfo
- Publication number
- CN111383156B CN111383156B CN201811643406.6A CN201811643406A CN111383156B CN 111383156 B CN111383156 B CN 111383156B CN 201811643406 A CN201811643406 A CN 201811643406A CN 111383156 B CN111383156 B CN 111383156B
- Authority
- CN
- China
- Prior art keywords
- fixed
- point
- processing
- image
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0007—Image acquisition
-
- 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
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
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)
- Image Analysis (AREA)
- Image Processing (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明提供一种图像处理方法、装置、智能驾驶系统和车载运算平台。该方法包括:根据运算单元的定点位宽硬件资源量,将卷积神经网络使用浮点表示的网络参数定点化处理,获取待处理的图像,控制运算单元根据定点化处理后的网络参数处理图像,得到图像的处理结果。通过对卷积神经网络的网络参数进行定点化,采用2的幂次来定点化表示网络参数,可减少内存占用,提高运算速度。
Description
技术领域
本发明涉及定点化技术,尤其涉及一种图像处理方法、装置、智能驾驶系统和车载运算平台。
背景技术
随着深度卷积神经网络技术在计算机视觉识别中的性能提升,卷积神经网络技术越来越频繁的被应用到如图像处理、无人驾驶系统、辅助驾驶系统等产品中。由于卷积神经网络处理的是图像数据,卷积神经网络技术通常应用依赖于高性能的图形处理器(Graphics Processing Unit,GPU),且需要巨大的运算量,消耗较大的内存,因此卷积神经网络技术的应用存在内存资源、硬盘存储资源以及电量消耗较大的问题。
发明内容
本发明实施例提供一种图像处理方法、装置、智能驾驶系统和车载运算平台。
第一方面,本发明实施例提供一种图像处理方法,包括:
根据运算单元的定点位宽硬件资源量,将卷积神经网络使用浮点表示的网络参数定点化处理,定点化处理后的网络参数为采用2的幂次表示的值;
获取待处理的图像;
控制所述运算单元根据定点化处理后的网络参数处理所述图像,得到所述图像的处理结果。
在第一方面的一种可行的实施方式中,所述定点化处理后的网络参数为M个2的幂次之和,所述M为大于1的整数。
在第一方面的一种可行的实施方式中,所述M等于2。
在第一方面的一种可行的实施方式中,所述定点化处理后的网络参数为2的k次幂与2的j次幂之和,所述k和所述j均为整数,所述k大于所述j、且所述k与所述j之差小于预设阈值。
在第一方面的一种可行的实施方式中,所述将卷积神经网络使用浮点表示的网络参数定点化处理之后,所述图像处理方法还包括:
根据所述k与所述j,以及,二进制值映射表,获取所述定点化处理后的网络参数对应的二进制值,所述二进制值映射表用于指示不同k与j取值组合对应的二进制值;
存储所述二进制值。
在第一方面的一种可行的实施方式中,所述控制所述运算单元根据定点化处理后的网络参数处理所述图像,包括:
控制所述运算单元根据所述二进制值和所述二进制映射表,确定所述卷积神经网络的定点化处理后的网络参数;
根据所述卷积神经网络的定点化处理后的网络参数处理所述图像。
在第一方面的一种可行的实施方式中,所述控制所述运算单元根据定点化处理后的网络参数处理所述图像之前,图像处理方法还包括:
采用训练数据再次训练包括定点化处理后的网络参数的卷积神经网络,以对定点化处理后的网络参数进行修正。
在第一方面的一种可行的实施方式中,所述图像的处理结果包括:对象检测/跟踪结果、特征提取结果、分割结果、分类结果中的至少之一。
第二方面,本发明实施例还提供一种图像处理装置,用于执行上述第一方面任一可行的实施方式中的图像处理方法,具有相同或相似的技术效果。
在第二方面的一种可行的实施方式中,图像处理装置包括:
参数定点化模块,用于根据运算单元的定点位宽硬件资源量,将卷积神经网络使用浮点表示的网络参数定点化处理,定点化处理后的网络参数为采用2的幂次表示的值;
图像获取模块,用于获取待处理的图像;
图像处理模块,用于控制所述运算单元根据定点化处理后的网络参数处理所述图像,得到所述图像的处理结果。
在第二方面的一种可行的实施方式中,所述定点化处理后的网络参数为M个2的幂次之和,所述M为大于1的整数。
在第二方面的一种可行的实施方式中,所述M等于2。
在第二方面的一种可行的实施方式中,所述定点化处理后的网络参数为2的k次幂与2的j次幂之和,所述k和所述j均为整数,所述k大于所述j、且所述k与所述j之差小于预设阈值。
在第二方面的一种可行的实施方式中,图像处理装置还包括:
存储模块,用于根据所述k与所述j,以及,二进制值映射表,获取所述定点化处理后的网络参数对应的二进制值,所述二进制值映射表用于指示不同k与j取值组合对应的二进制值;存储所述二进制值。
在第二方面的一种可行的实施方式中,所述图像处理模块,具体用于:
控制所述运算单元根据所述二进制值和所述二进制映射表,确定所述卷积神经网络的定点化处理后的网络参数;
根据所述卷积神经网络的定点化处理后的网络参数处理所述图像。
在第二方面的一种可行的实施方式中,所述图像处理装置还包括:
训练模块,用于在控制所述运算单元根据定点化处理后的网络参数处理所述图像之前,采用训练数据再次训练包括定点化处理后的网络参数的卷积神经网络,以对定点化处理后的网络参数进行修正。
在第二方面的一种可行的实施方式中,所述图像的处理结果包括:对象检测/跟踪结果、特征提取结果、分割结果、分类结果中的至少之一。
第三方面,本发明实施例还提供一种智能驾驶系统,包括:车载摄像头,卷积神经网络子系统和控制子系统;其中,所述控制子系统用于:
根据运行所述卷积神经网络子系统的运算单元的定点位宽硬件资源量,将所述卷积神经网络使用浮点表示的网络参数定点化处理,定点化处理后的网络参数为采用2的幂次表示的值;
控制所述卷积神经网络子系统根据定点化处理后的网络参数处理所述车载摄像头采集到的车辆行驶路面的图像,得到所述图像的处理结果;
根据所述图像的处理结果进行车辆智能驾驶。
在第三方面的一种可行的实施方式中,所述定点化处理后的网络参数为M个2的幂次之和,所述M为大于1的整数。
在第三方面的一种可行的实施方式中,所述M等于2。
在第三方面的一种可行的实施方式中,所述定点化处理后的网络参数为2的k次幂与2的j次幂之和,所述k和所述j均为整数,所述k大于所述j、且所述k与所述j之差小于预设阈值。
在第三方面的一种可行的实施方式中,所述控制子系统还用于,
根据所述k与所述j,以及,二进制值映射表,获取所述定点化处理后的网络参数对应的二进制值,所述二进制值映射表用于指示不同k与j取值组合对应的二进制值;
智能驾驶系统还包括:存储子系统;
所述存储子系统,用于存储所述二进制值。
在第三方面的一种可行的实施方式中,所述控制子系统具体用于,
控制所述卷积神经网络子系统根据所述存储子系统中存储的二进制值和二进制值映射表,确定所述卷积神经网络的定点化处理后的网络参数;
根据定点化处理后的网络参数处理所述车载摄像头采集到的车辆行驶路面的图像,得到所述图像的处理结果。
在第三方面的一种可行的实施方式中,智能驾驶系统还包括:训练子系统;
所述训练子系统用于,采用训练数据再次训练包括定点化处理后的网络参数的所述卷积神经网络子系统,以对定点化处理后的网络参数进行修正。
在第三方面的一种可行的实施方式中,所述图像的处理结果包括:车牌识别结果、可行驶区域检测结果、车道线检测结果、车道线属性检测结果、车载摄像头姿态检测结果中的至少之一。
第四方面,基于FPGA的车载运算平台,包括:处理器、外部存储器、内存和FPGA运算单元;
所述外部存储器中存储有所述神经网络的定点化处理后的网络参数,或者,存储有所述神经网络的定点化处理后的网络参数对应的二进制值和查找表,所述查找表用于指示不同的网络参数的幂次值对应的二进制值;定点化处理后的网络参数为采用2的幂次表示的值;
所述处理器将所述神经网络的定点化处理的网络参数读入所述内存,或者,将根据所述二进制值和所述查找表,查找得到定点化处理的网络参数读入所述内存,将所述内存上的数据和待处理的图像信息输入到所述FPGA运算单元;
所述FPGA运算单元根据待处理的图像信息和定点化处理的网络参数得到移位运算结果,对多次结果求和运算,得到所述图像的处理结果。
在第四方面的一种可行的实施方式中,所述定点化处理后的网络参数为M个2的幂次之和,所述M为大于1的整数。
在第四方面的一种可行的实施方式中,所述M等于2。
在第四方面的一种可行的实施方式中,所述定点化处理后的网络参数为2的k次幂与2的j次幂之和,所述k和所述j均为整数,所述k大于所述j、且所述k与所述j之差小于预设阈值。
在第四方面的一种可行的实施方式中,所述外部存储器中存储有所述k与所述j;
所述查找表指示了不同的k和j的取值组合对应的二进制值。
在第四方面的一种可行的实施方式中,所述图像的处理结果包括:对象检测/跟踪结果、特征提取结果、分割结果、分类结果中的至少之一。
第五方面本发明实施例还提供一种电子设备,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,执行上述第一方面任一可行的实现方式中的方法步骤。
第六方面,本发明实施例还提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序用于执行上述第一方面任一可行的实现方式中的方法步骤。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。
本发明实施例提供一种图像处理方法、装置、智能驾驶系统和车载运算平台,图像处理方法包括:根据运算单元的定点位宽硬件资源量,将卷积神经网络使用浮点表示的网络参数定点化处理,获取待处理的图像,控制运算单元根据定点化处理后的网络参数处理图像,得到图像的处理结果。通过对卷积神经网络的网络参数进行定点化,采用2的幂次来定点化表示网络参数,可减少存储空间占用以及运算过程中对内存空间的占用,节约了FPGA等硬件平台的资源。同时,采用2的幂次来表示网络参数可大大降低运算复杂度,提高运算速度,实现快速实时响应,降低运算过程中的功耗,尤其在运算单元为FPGA等硬件资源有限的硬件时,可解决卷积神经网络无法应用在硬件上或者无法在硬件上实现加速运算的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1是本发明实施例一提供的图像处理方法的流程示意图;
图2是本发明实施例二提供的图像处理方法的流程示意图;
图3是本发明实施例一提供的图像处理装置的结构示意图;
图4是本发明实施例二提供的图像处理装置的结构示意图;
图5是本发明实施例提供的智能驾驶系统的结构示意图;
图6是本发明实施例提供的基于FPGA的车载运算平台的结构示意图;
图7是本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合具体实施例对本发明提供的技术方案进行详细说明。
图1是本发明实施例一提供的图像处理方法的流程示意图。本发明实施例的执行主体示例性的可以为图像处理装置、处理器,还可以为应用图像处理方法的任意装置和系统,例如监控系统、智能驾驶系统等。如图1所示,图像处理方法,包括:
S101、根据运算单元的定点位宽硬件资源量,将卷积神经网络使用浮点表示的网络参数定点化处理。
其中,定点化处理后的网络参数为采用2的幂次表示的值。
示例性的,本发明实施例中的运算单元可以为支持定点运算的计算单元,比如FPGA中的数据处理单元DSP等。当运算单元为FPGA等硬件平台时,为了发挥FPGA等硬件平台低功耗、加速运算等方面的综合优势,运算单元的定点位宽资源量通常较为有限。某些情形下,为了实现更低功耗往往会选择尽量小的定点位宽资源量,比如8比特或4比特位甚至更少宽资源量来实现定点运算。然而,定点位宽资源量少往往会影响运算速度,对于要求快速响应甚至是实时响应的平台,例如自动驾驶的车载运算平台等,则需要对卷积神经网络进行适配硬件定点位宽资源量方面的优化,以实现在有限资源平台上的高速运算。
卷积神经网络通常包括多个卷积层,用于对待处理的图像进行特征提取,对提取到的特征进行分类,以实现卷积神经网络的各类功能。卷积神经网络中包含有多个网络参数,卷积神经网络中的网络参数的取值决定了卷积神经网络的性能。为提高卷积神经网络的性能,卷积神经网络的网络参数取值的形式通常为浮点数。本发明实施例中的卷积神经网络可以为经过训练的卷积神经网络。但是浮点数形式的网络参数存在占用存储空间,计算复杂度高问题,本发明实施例中对卷积神经网络使用浮点表示的网络参数进行定点化处理,使得定点化处理后的网络参数为采用2的幂次表示的值,一方面减少了网络参数对存储空间的占用,另一方面简化了基于卷积神经网络进行图像处理时所需的运算。
例如,采用2的幂次来定点化表示网络参数,在存储时,可仅存储网络参数对应的幂次数值,进而可减少存储空间占用以及运算过程中对内存空间的占用,节约了FPGA等硬件平台的资源。同时,当采用2的幂次来表示网络参数时,对于卷积神经网络中大量的乘法运算,可使得运算单元可以采用移位与加和运算的方式来替代处理速度较慢且功耗较大的乘法运算,实现图像处理。采用2的幂次来表示网络参数可大大降低运算复杂度,提高运算速度,实现快速实时响应,降低运算过程中的功耗,尤其在运算单元为FPGA等硬件资源有限的硬件时,可解决卷积神经网络无法应用在硬件上或者无法在硬件上实现加速运算的问题。
示例性地,在对卷积神经网络的网络参数进行定点化之前,可先检测网络参数的形式是否为浮点数,若是,则需对网络参数的取值进行定点化。
示例性的,在一种可能的实现方式中定点化处理后的网络参数为M个2的幂次之和,M为大于1的整数。
示例性的,本实施例中,对于一个浮点数,可采用M个2的次幂来表示。例如,对于浮点数36.11,可采用25+22来表示。例如,对于浮点数21.42,可采用24+22+21来表示。例如,对于浮点数16.25,可采用24+2-2来表示。通过采用M个2的幂次之和来对网络参数的取值进行定点化,一方面在偏差较小的情况下,减少了网络参数对存储空间的占用,确保了卷积神经网络的性能,另一方面,可将卷积神经网络中的与网络参数相关的乘法操作简化为移位操作,简化了卷积神经网络的运算,提高了卷积神经网络的运算速率。
可以理解的是,定点化后的网络参数也可以采用少于M个的2的幂次之和来表示。例如,对于浮点数32,可采用25来表示。
可选的,在一种可能的实现方式中,M等于2。例如,对于某一网络参数的定点化结果,可采用2k+2j来表示。
示例性的,通过均采用两个2的次幂来表示,可在确保网络参数的准确度的同时,不增加过多的计算量,避免了内存及存储资源的占用量提升。
示例性的,在存储卷积神经网络的网络参数的取值时,由于网络参数数量较多,且每个网络参数的取值不同,在存储网络参数的取值时,存在占用存储空间较多的问题。为进一步减少存储空间占用,本发明实施例提供一种可能的定点化处理后的网络参数的存储方式,该种方式中:
定点化处理后的网络参数为2的k次幂与2的j次幂之和,k和j均为整数,k大于j、且k与j之差小于预设阈值。
具体的,对于任一浮点数,可采用2k+2j来进行定点化,其中k和j均为整数,且k大于j。为了简化网络参数的定点化过程,减少定点化处理后的网络参数存储时占用的空间,可限定k与j之差小于预设阈值。
示例性的,确定预设阈值的过程首先可以确定卷积神经网络的所有网络参数的初始值,然后根据所有初始值的精度,确定最小精度值s,最小精度值s即为j的可能取值的最小值。然后根据所有初始值中最大的初始值,确定最大数值,最大数值可以为对最大初始值进行向上取整。示例性的,可采用一个2的次幂,如2t表示最大数值,或M个2的次幂表示最大数值,如2p+2q。t、p、q为整数,且p大于q。t或p即为k的可能取值的最大值。当k和j的差值大于预设阈值时,可将j的可能的最小取值增大,也即降低网络参数的定点化精度。
可选的,在本实施例中,当定点化处理后的网络参数为2的k次幂与2的j次幂之和,存储定点化处理后的网络参数的具体方式可以包括:
根据k与j,以及,二进制值映射表,获取定点化处理后的网络参数对应的二进制值,二进制值映射表用于指示不同k与j取值组合对应的二进制值;
存储二进制值。
示例性的,定点化处理后的网络参数为2的k次幂与2的j次幂之和,考虑到k和j为不相同的整数,且k与j之差小于预设阈值d,故可确定卷积神经网络的定点化处理后的网络参数,取值的所有可能性为种。其中,d=l-k+1。例如,当k和j之间差值的预设阈值为8,此时,网络参数的取值可能为28种。对于28个不同的数值,可采用5位比位数进行区分。因此,可建立二进制值映射表,二进制映射表中指示了不同k与j取值组合对应的二进制值,从而减少了定点化处理后的网络参数在存储时占用的存储空间。
示例性的,在确定定点化处理后的网络参数对应的二进制值时,可采用2log(l-k+1)比特位来编码定点化处理后的网络参数。具体为前log(l-k+1)比特位用于表示第一个2的幂次,后log(l-k+1)比特位表示后一个2的幂次。
S102、获取待处理的图像。
示例性地,待处理的图像可以为监控摄像头拍摄得到的图像,还可以为车载摄像头拍摄得到图像,还可以为预存储在的图像库中的图像。
S103、控制运算单元根据定点化处理后的网络参数处理图像,得到图像的处理结果。
示例性地,图像的处理结果包括:对象检测/跟踪结果、特征提取结果、分割结果、分类结果中的至少之一。
示例性地,当采用存储二进制值的方式来指示定点化处理后的网络参数时,控制运算单元根据定点化处理后的网络参数处理图像,可具体包括:
S11、控制运算单元根据二进制值和二进制映射表,确定卷积神经网络的定点化处理后的网络参数。
示例性地,控制运算单元根据存储的二进制值,在二进制映射表中通过查找确定卷积神经网络的定点化处理后的网络参数,或者,在二进制映射表中通过查找确定幂次k和j,从而可确定定点化处理后的网络参数2k+2j。
S12、根据卷积神经网络的定点化处理后的网络参数处理图像。
本发明实施例提供的图像处理方法包括:根据运算单元的定点位宽硬件资源量,将卷积神经网络使用浮点表示的网络参数定点化处理,获取待处理的图像,控制运算单元根据定点化处理后的网络参数处理图像,得到图像的处理结果。通过对卷积神经网络的网络参数进行定点化,采用2的幂次来定点化表示网络参数,可减少存储空间占用以及运算过程中对内存空间的占用,节约了FPGA等硬件平台的资源。同时,采用2的幂次来表示网络参数可大大降低运算复杂度,提高运算速度,实现快速实时响应,降低运算过程中的功耗,尤其在运算单元为FPGA等硬件资源有限的硬件时,可解决卷积神经网络无法应用在硬件上或者无法在硬件上实现加速运算的问题。
示例性地,在图1所示实施例的基础上,本发明实施例还提供一种图像处理方法,图2是本发明实施例二提供的图像处理方法的流程示意图。如图2所示,图像处理方法,包括:
S201、根据运算单元的定点位宽硬件资源量,将卷积神经网络使用浮点表示的网络参数定点化处理。
S202、采用训练数据再次训练包括定点化处理后的网络参数的卷积神经网络,以对定点化处理后的网络参数进行修正。
示例性的,训练数据示例性的可以为标注有标签的数据。例如,当采用卷积神经网络进行图像中的人脸检测、可行驶区域检测时,训练数据则为标注有人脸区域、可行驶区域的图像。
示例性的,对卷积神经网络的网络参数的训练、定点化以及再训练过程可以多次执行,以提高网络参数的准确性。
S203、获取待处理的图像。
S204、控制运算单元根据修正后的网络参数处理图像,得到图像的处理结果。
本实施例提供的图像处理方法中,在对卷积神经网络使用浮点表示的网络参数进行定点化处理后,采用训练数据再次训练包括定点化处理后的网络参数的卷积神经网络,以对定点化处理后的网络参数进行修正,可提高卷积神经网络的网络参数的准确性。
本发明实施例另一方面还提供一种图像处理装置,用于执行上述实施例中的图像处理方法,具有相同或相似的技术特征和技术效果。
图3是本发明实施例一提供的图像处理装置的结构示意图。如图3所示,图像处理装置包括:
参数定点化模块301,用于根据运算单元的定点位宽硬件资源量,将卷积神经网络使用浮点表示的网络参数定点化处理,定点化处理后的网络参数为采用2的幂次表示的值;
图像获取模块302,用于获取待处理的图像;
图像处理模块303,用于控制运算单元根据定点化处理后的网络参数处理图像,得到图像的处理结果。
可选的,定点化处理后的网络参数为M个2的幂次之和,M为大于1的整数。
可选的,M等于2。
可选的,定点化处理后的网络参数为2的k次幂与2的j次幂之和,k和j均为整数,k大于j、且k与j之差小于预设阈值。
示例性的,在图3所示实施例的基础上,本发明实施例还提供一种图像处理装置。图4是本发明实施例二提供的图像处理装置的结构示意图。如图4所示,图像处理装置还包括:
存储模块304,用于根据k与j,以及,二进制值映射表,获取定点化处理后的网络参数对应的二进制值,二进制值映射表用于指示不同k与j取值组合对应的二进制值;存储二进制值。
可选的,上述图4所示实施例中的图像处理模块303,具体用于:
控制运算单元根据二进制值和二进制映射表,确定卷积神经网络的定点化处理后的网络参数;
根据卷积神经网络的定点化处理后的网络参数处理图像。
示例性的,如图4所示,图像处理装置还包括:
训练模块305,用于在控制运算单元根据定点化处理后的网络参数处理图像之前,采用训练数据再次训练包括定点化处理后的网络参数的卷积神经网络,以对定点化处理后的网络参数进行修正。
可选的,图像的处理结果包括:对象检测/跟踪结果、特征提取结果、分割结果、分类结果中的至少之一。
本发明实施例另一方面还提供一种智能驾驶系统,采用了上述实施例中的图像处理方法,具有相同或相似的技术特征和技术效果。
图5是本发明实施例提供的智能驾驶系统的结构示意图。如图5所示,智能驾驶系统包括:车载摄像头501,卷积神经网络子系统502和控制子系统503;其中,控制子系统503用于:
根据运行卷积神经网络子系统502的运算单元的定点位宽硬件资源量,将卷积神经网络使用浮点表示的网络参数定点化处理,定点化处理后的网络参数为采用2的幂次表示的值;
控制卷积神经网络子系统502根据定点化处理后的网络参数处理车载摄像头501采集到的车辆行驶路面的图像,得到图像的处理结果;
根据图像的处理结果进行车辆智能驾驶。
示例性的,智能驾驶控制包括辅助驾驶和自动驾驶以及辅助驾驶和自动驾驶等多种驾驶模式之间的切换等多种情形。
可选的,定点化处理后的网络参数为M个2的幂次之和,M为大于1的整数。
可选的,M等于2。
可选的,定点化处理后的网络参数为2的k次幂与2的j次幂之和,k和j均为整数,k大于j、且k与j之差小于预设阈值。
可选的,控制子系统503还用于,根据k与j,以及,二进制值映射表,获取定点化处理后的网络参数对应的二进制值,二进制值映射表用于指示不同k与j取值组合对应的二进制值。
对应的,智能驾驶系统还包括:存储子系统504;
存储子系统504,用于存储二进制值。
可选的,控制子系统503具体用于,
控制卷积神经网络子系统根据存储子系统中存储的二进制值和二进制值映射表,确定卷积神经网络的定点化处理后的网络参数;
根据定点化处理后的网络参数处理车载摄像头采集到的车辆行驶路面的图像,得到图像的处理结果。
可选的,智能驾驶系统还包括:训练子系统505;
训练子系统505用于,采用训练数据再次训练包括定点化处理后的网络参数的卷积神经网络子系统,以对定点化处理后的网络参数进行修正。
可选的,图像的处理结果包括:车牌识别结果、可行驶区域检测结果、车道线检测结果、车道线属性检测结果、车载摄像头姿态检测结果中的至少之一。
本发明实施例另一方面还提供一种基于FPGA的车载运算平台,采用了上述实施例中的图像处理方法,具有相同或相似的技术特征和技术效果。
图6是本发明实施例提供的基于FPGA的车载运算平台的结构示意图。如图6所示,基于FPGA的车载运算平台包括:处理器601、外部存储器602、内存603和FPGA运算单元604;其中,
外部存储器602中存储有神经网络的定点化处理后的网络参数,或者,存储有神经网络的定点化处理后的网络参数对应的二进制值和查找表,查找表用于指示不同的网络参数的幂次值对应的二进制值;定点化处理后的网络参数为采用2的幂次表示的值;
处理器601将神经网络的定点化处理的网络参数读入内存603,或者,将根据二进制值和查找表,查找得到定点化处理的网络参数读入内存603,将内存603上的数据和待处理的图像信息输入到FPGA运算单元604;
FPGA运算单元604根据待处理的图像信息和定点化处理的网络参数得到移位运算结果,对多次结果求和运算,得到图像的处理结果。
可选的,定点化处理后的网络参数为M个2的幂次之和,M为大于1的整数。
可选的,M等于2。
可选的,定点化处理后的网络参数为2的k次幂与2的j次幂之和,k和j均为整数,k大于j、且k与j之差小于预设阈值。
可选的,外部存储器602中存储有k与j;
查找表指示了不同的k和j的取值组合对应的二进制值。
可选的,图像的处理结果包括:对象检测/跟踪结果、特征提取结果、分割结果、分类结果中的至少之一。
本发明实施例另一方面还提供一种电子设备,图7是本发明实施例提供的电子设备的结构示意图,如图7所示,该电子设备包括:
存储器701,用于存储程序指令;
处理器702,用于调用并执行所述存储器中的程序指令,执行上述图1所示实施例中的方法步骤。
示例性地,如图7所示,电子设备还包括运算单元703,运算单元703用于实现上述任一实施例中的卷积神经网络的运算。
本发明实施例另一方面还提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序用于执行上述图1或图2所示实施例中的方法步骤。
本实施例中的装置与前述实施例中的方法是基于同一发明构思下的两个方面,在前面已经对方法实施过程作了详细的描述,所以本领域技术人员可根据前述描述清楚地了解本实施中的系统的结构及实施过程,为了说明书的简洁,在此就不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (28)
1.一种图像处理方法,其特征在于,包括:
根据运算单元的定点位宽硬件资源量,将卷积神经网络使用浮点表示的网络参数定点化处理,定点化处理后的网络参数为采用2的幂次表示的值;所述定点化处理后的网络参数为M个2的幂次之和,所述M为大于1的整数;
获取待处理的图像;
控制所述运算单元根据定点化处理后的网络参数处理所述图像,得到所述图像的处理结果。
2.根据权利要求1所述的方法,其特征在于,所述M等于2。
3.根据权利要求2所述的方法,其特征在于,所述定点化处理后的网络参数为2的k次幂与2的j次幂之和,所述k和所述j均为整数,所述k大于所述j、且所述k与所述j之差小于预设阈值。
4.根据权利要求3所述的方法,其特征在于,所述将卷积神经网络使用浮点表示的网络参数定点化处理之后,所述方法还包括:
根据所述k与所述j,以及,二进制值映射表,获取所述定点化处理后的网络参数对应的二进制值,所述二进制值映射表用于指示不同k与j取值组合对应的二进制值;
存储所述二进制值。
5.根据权利要求4所述的方法,其特征在于,所述控制所述运算单元根据定点化处理后的网络参数处理所述图像,包括:
控制所述运算单元根据所述二进制值和所述二进制值 映射表,确定所述卷积神经网络的定点化处理后的网络参数;
根据所述卷积神经网络的定点化处理后的网络参数处理所述图像。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述控制所述运算单元根据定点化处理后的网络参数处理所述图像之前,还包括:
采用训练数据再次训练包括定点化处理后的网络参数的卷积神经网络,以对定点化处理后的网络参数进行修正。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述图像的处理结果包括:对象检测/跟踪结果、特征提取结果、分割结果、分类结果中的至少之一。
8.一种图像处理装置,其特征在于,包括:
参数定点化模块,用于根据运算单元的定点位宽硬件资源量,将卷积神经网络使用浮点表示的网络参数定点化处理,定点化处理后的网络参数为采用2的幂次表示的值;所述定点化处理后的网络参数为M个2的幂次之和,所述M为大于1的整数;
图像获取模块,用于获取待处理的图像;
图像处理模块,用于控制所述运算单元根据定点化处理后的网络参数处理所述图像,得到所述图像的处理结果。
9.根据权利要求8所述的装置,其特征在于,所述M等于2。
10.根据权利要求9所述的装置,其特征在于,所述定点化处理后的网络参数为2的k次幂与2的j次幂之和,所述k和所述j均为整数,所述k大于所述j、且所述k与所述j之差小于预设阈值。
11.根据权利要求10所述的装置,其特征在于,还包括:
存储模块,用于根据所述k与所述j,以及,二进制值映射表,获取所述定点化处理后的网络参数对应的二进制值,所述二进制值映射表用于指示不同k与j取值组合对应的二进制值;存储所述二进制值。
12.根据权利要求11所述的装置,其特征在于,所述图像处理模块,具体用于:
控制所述运算单元根据所述二进制值和所述二进制值 映射表,确定所述卷积神经网络的定点化处理后的网络参数;
根据所述卷积神经网络的定点化处理后的网络参数处理所述图像。
13.根据权利要求8-12任一项所述的装置,其特征在于,所述装置还包括:
训练模块,用于在控制所述运算单元根据定点化处理后的网络参数处理所述图像之前,采用训练数据再次训练包括定点化处理后的网络参数的卷积神经网络,以对定点化处理后的网络参数进行修正。
14.根据权利要求8-12任一项所述的装置,其特征在于,所述图像的处理结果包括:对象检测/跟踪结果、特征提取结果、分割结果、分类结果中的至少之一。
15.一种智能驾驶系统,其特征在于,包括:车载摄像头,卷积神经网络子系统和控制子系统;其中,所述控制子系统用于:
根据运行所述卷积神经网络子系统的运算单元的定点位宽硬件资源量,将所述卷积神经网络使用浮点表示的网络参数定点化处理,定点化处理后的网络参数为采用2的幂次表示的值;所述定点化处理后的网络参数为M个2的幂次之和,所述M为大于1的整数;
控制所述卷积神经网络子系统根据定点化处理后的网络参数处理所述车载摄像头采集到的车辆行驶路面的图像,得到所述图像的处理结果;
根据所述图像的处理结果进行车辆智能驾驶。
16.根据权利要求15所述的系统,其特征在于,所述M等于2。
17.根据权利要求16所述的系统,其特征在于,所述定点化处理后的网络参数为2的k次幂与2的j次幂之和,所述k和所述j均为整数,所述k大于所述j、且所述k与所述j之差小于预设阈值。
18.根据权利要求17所述的系统,其特征在于,所述控制子系统还用于,
根据所述k与所述j,以及,二进制值映射表,获取所述定点化处理后的网络参数对应的二进制值,所述二进制值映射表用于指示不同k与j取值组合对应的二进制值;
还包括:存储子系统;
所述存储子系统,用于存储所述二进制值。
19.根据权利要求18所述的系统,其特征在于,所述控制子系统具体用于,
控制所述卷积神经网络子系统根据所述存储子系统中存储的二进制值和二进制值映射表,确定所述卷积神经网络的定点化处理后的网络参数;
根据定点化处理后的网络参数处理所述车载摄像头采集到的车辆行驶路面的图像,得到所述图像的处理结果。
20.根据权利要求15-19任一项所述的系统,其特征在于,还包括:训练子系统;
所述训练子系统用于,采用训练数据再次训练包括定点化处理后的网络参数的卷积神经网络,以对定点化处理后的网络参数进行修正。
21.根据权利要求15-19任一项所述的系统,其特征在于,所述图像的处理结果包括:车牌识别结果、可行驶区域检测结果、车道线检测结果、车道线属性检测结果、车载摄像头姿态检测结果中的至少之一。
22.一种基于FPGA的车载运算平台,其特征在于,包括:处理器、外部存储器、内存和FPGA运算单元;
所述外部存储器中存储有神经网络的定点化处理后的网络参数,或者,存储有所述神经网络的定点化处理后的网络参数对应的二进制值和查找表,所述查找表用于指示不同的网络参数的幂次值对应的二进制值;定点化处理后的网络参数为采用2的幂次表示的值;所述定点化处理后的网络参数为M个2的幂次之和,所述M为大于1的整数;
所述处理器将所述神经网络的定点化处理的网络参数读入所述内存,或者,将根据所述二进制值和所述查找表,查找得到定点化处理的网络参数读入所述内存,将所述内存上的数据和待处理的图像信息输入到所述FPGA运算单元;
所述FPGA运算单元根据待处理的图像信息和定点化处理的网络参数得到移位运算结果,对多次结果求和运算,得到所述图像的处理结果。
23.根据权利要求22所述的平台,其特征在于,所述M等于2。
24.根据权利要求23所述的平台,其特征在于,所述定点化处理后的网络参数为2的k次幂与2的j次幂之和,所述k和所述j均为整数,所述k大于所述j、且所述k与所述j之差小于预设阈值。
25.根据权利要求24所述的平台,其特征在于,所述外部存储器中存储有所述k与所述j;
所述查找表指示了不同的k和j的取值组合对应的二进制值。
26.根据权利要求22-25任一项所述的平台,其特征在于,所述图像的处理结果包括:对象检测/跟踪结果、特征提取结果、分割结果、分类结果中的至少之一。
27.一种电子设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,执行权利要求1-7任一项所述的方法步骤。
28.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,所述计算机程序用于执行权利要求1-7任一项所述的方法步骤。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811643406.6A CN111383156B (zh) | 2018-12-29 | 2018-12-29 | 图像处理方法、装置、智能驾驶系统和车载运算平台 |
JP2021533181A JP2022515343A (ja) | 2018-12-29 | 2019-12-26 | 画像処理方法、装置、インテリジェント運転システム及び車載演算プラットフォーム |
PCT/CN2019/128764 WO2020135602A1 (zh) | 2018-12-29 | 2019-12-26 | 图像处理方法、装置、智能驾驶系统和车载运算平台 |
KR1020217018122A KR20210092254A (ko) | 2018-12-29 | 2019-12-26 | 이미지 처리 방법, 장치, 지능형 주행 시스템 및 차량 탑재 연산 플랫폼 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811643406.6A CN111383156B (zh) | 2018-12-29 | 2018-12-29 | 图像处理方法、装置、智能驾驶系统和车载运算平台 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111383156A CN111383156A (zh) | 2020-07-07 |
CN111383156B true CN111383156B (zh) | 2022-08-02 |
Family
ID=71126827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811643406.6A Active CN111383156B (zh) | 2018-12-29 | 2018-12-29 | 图像处理方法、装置、智能驾驶系统和车载运算平台 |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP2022515343A (zh) |
KR (1) | KR20210092254A (zh) |
CN (1) | CN111383156B (zh) |
WO (1) | WO2020135602A1 (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107885214A (zh) * | 2017-11-22 | 2018-04-06 | 济南浪潮高新科技投资发展有限公司 | 一种基于fpga的加速自动驾驶视觉感知的方法及装置 |
CN108830288A (zh) * | 2018-04-25 | 2018-11-16 | 北京市商汤科技开发有限公司 | 图像处理方法、神经网络的训练方法、装置、设备及介质 |
CN109002881A (zh) * | 2018-06-28 | 2018-12-14 | 郑州云海信息技术有限公司 | 基于fpga的深度神经网络的定点化计算方法及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2862337B2 (ja) * | 1990-06-19 | 1999-03-03 | キヤノン株式会社 | ニューラルネットワークの構築方法 |
US10373050B2 (en) * | 2015-05-08 | 2019-08-06 | Qualcomm Incorporated | Fixed point neural network based on floating point neural network quantization |
JP2018173672A (ja) * | 2015-09-03 | 2018-11-08 | 株式会社Preferred Networks | 実装装置 |
CN107239824A (zh) * | 2016-12-05 | 2017-10-10 | 北京深鉴智能科技有限公司 | 用于实现稀疏卷积神经网络加速器的装置和方法 |
WO2018131059A1 (ja) * | 2017-01-10 | 2018-07-19 | 株式会社日立製作所 | ニューラルネットワーク回路 |
CN107704921A (zh) * | 2017-10-19 | 2018-02-16 | 北京智芯原动科技有限公司 | 基于Neon指令的卷积神经网络的算法优化方法及装置 |
CN108985449B (zh) * | 2018-06-28 | 2021-03-09 | 中国科学院计算技术研究所 | 一种对卷积神经网络处理器的控制方法及装置 |
-
2018
- 2018-12-29 CN CN201811643406.6A patent/CN111383156B/zh active Active
-
2019
- 2019-12-26 KR KR1020217018122A patent/KR20210092254A/ko active Search and Examination
- 2019-12-26 WO PCT/CN2019/128764 patent/WO2020135602A1/zh active Application Filing
- 2019-12-26 JP JP2021533181A patent/JP2022515343A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107885214A (zh) * | 2017-11-22 | 2018-04-06 | 济南浪潮高新科技投资发展有限公司 | 一种基于fpga的加速自动驾驶视觉感知的方法及装置 |
CN108830288A (zh) * | 2018-04-25 | 2018-11-16 | 北京市商汤科技开发有限公司 | 图像处理方法、神经网络的训练方法、装置、设备及介质 |
CN109002881A (zh) * | 2018-06-28 | 2018-12-14 | 郑州云海信息技术有限公司 | 基于fpga的深度神经网络的定点化计算方法及装置 |
Non-Patent Citations (2)
Title |
---|
FxpNet: Training a Deep Convolutional Neural Network in Fixed-Point Representation;Xi Chen 等;《2017 International Joint Conference on Neural Networks》;20170531;第2494-2501页 * |
卷积神经网络的定点化研究;陈俊保 等;《信息技术》;20180724(第7期);第94-96、102页 * |
Also Published As
Publication number | Publication date |
---|---|
WO2020135602A1 (zh) | 2020-07-02 |
KR20210092254A (ko) | 2021-07-23 |
JP2022515343A (ja) | 2022-02-18 |
CN111383156A (zh) | 2020-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111950723B (zh) | 神经网络模型训练方法、图像处理方法、装置及终端设备 | |
US20190303700A1 (en) | Image recognition method and device | |
CN109740508B (zh) | 一种基于神经网络系统的图像处理方法及神经网络系统 | |
CN111444807B (zh) | 目标检测方法、装置、电子设备和计算机可读介质 | |
CN111145188A (zh) | 一种基于ResNet与UNet模型的图像分割方法 | |
CN111104954A (zh) | 一种对象分类的方法与装置 | |
CN108229658A (zh) | 基于有限样本的物体检测器的实现方法及装置 | |
CN105354228A (zh) | 相似图搜索方法及装置 | |
CN111383156B (zh) | 图像处理方法、装置、智能驾驶系统和车载运算平台 | |
CN110796115B (zh) | 图像检测方法、装置、电子设备及可读存储介质 | |
CN111383157B (zh) | 图像处理方法、装置、车载运算平台、电子设备及系统 | |
CN109033797B (zh) | 一种权限设置方法及装置 | |
CN115775340A (zh) | 一种基于特征调制的自适应小样本图像分类方法及装置 | |
CN111767419A (zh) | 图片搜索方法、装置、设备及计算机可读存储介质 | |
CN109631917A (zh) | 地图数据的处理方法、装置、电子设备以及存储介质 | |
CN115271055A (zh) | 一种神经网络软硬件协同检测方法、装置、设备及存储介质 | |
CN115049683A (zh) | 放疗影像靶区的勾画方法和装置、处理器及电子设备 | |
CN111027670B (zh) | 特征图处理方法、装置、电子设备及存储介质 | |
CN112348021A (zh) | 文本检测方法、装置、设备及存储介质 | |
CN112330666B (zh) | 基于改进孪生网络的图像处理方法及系统及装置及介质 | |
CN113128660A (zh) | 深度学习模型压缩方法及相关设备 | |
CN116611477B (zh) | 数据剪枝方法和序列模型的训练方法、装置、设备和介质 | |
CN113569727B (zh) | 遥感影像中施工场地的识别方法、系统、终端及介质 | |
CN116012873B (zh) | 一种行人重识别方法、装置、电子设备及存储介质 | |
CN108875919B (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 |