一种深度网络相机图像处理方法、系统及应用技术方案

技术编号:29798733 阅读:19 留言:0更新日期:2021-08-24 18:19
本发明专利技术属于数字图像处理技术领域,公开了一种深度网络相机图像处理方法、系统及应用,所述深度网络相机图像处理方法包括:通过Sensor输出的Bayer格式RAW数据送入板卡,进行CNN部分运算;所述运算加速部分包括池化模块、乘加阵列、缓存累加模块和激活模块;运算部分由运算逻辑控制模块控制,片上缓存使用完毕后,由运算逻辑控制模块给访问逻辑控制模块反馈;片外访问逻辑控制模块通过AXI4总线与外部DDR进行通信;所述逻辑控制模块还包含存储各个网络层信息、地址信息的寄存器;CNN运算完成后,根据图像特点送入后处理模块进行流水处理加以完善,输出RGB图像。本发明专利技术具有很大的缓解计算负担的能力。

【技术实现步骤摘要】
一种深度网络相机图像处理方法、系统及应用
本专利技术属于数字图像处理
,尤其涉及一种深度网络相机图像处理方法、系统及应用。
技术介绍
目前,在数字图像处理系统中,相机原始输入图像的质量对系统后续图像质量提升、智能分析和压缩存储等都有重要的影响。相机输出图像的质量在很大程度上决定于图像处理器(ISP,ImageSignalProcessor)的性能。传统的ISP系统结构复杂,处理流水线长,不同的ISP芯片所设计的功能模块在处理流水线上的顺序不尽相同,大部分情况下取决于工程师的设计经验。到目前为止,ISP芯片仍存在部分场景下处理效果不佳,处理流水参数无法满足所有应用场景的痛点。图像处理是计算机视觉和图形学领域的重要分支,随着计算机、通信技术、人工智能技术的高速发展,图像信号处理近年来得到了极大的重视和发展,在科学技术、医疗健康、教育培训、灾害防治、娱乐休闲等方面取得了广泛的应用。ISP(ImageSignalProcessor)作为相机系统的核心,对图像处理具有极其重要的作用。它是将摄像头采集到的原始图像数据作为处理对象,对前端图像传感器输出的信号进行线性校正、噪声去除、坏点去除、内插、白平衡、自动曝光控制、去除电流噪声、锐化、色彩空间转换、Gamma校正等处理,以达到在不同的光学环境下都能较好的还原现场细节的目的,使图像变的更加细腻,提高摄像机的成像质量。现有的ISP系统虽然具有去噪、白平衡、颜色增强等功能,但由于传感器较小、镜头相对紧凑等硬件方面的限制,导致其结构相当复杂、处理速度较慢,而且重建的照片往往会具有细节丢失、较高的噪声以及低质量的色彩渲染等问题。针对以上问题,考虑采用基于深度学习模型的算法来解决。深度学习是一种模仿人脑思考能力分析并解决问题的神经网络系统,具有强大的信息处理能力,可以解决图像处理中的特定问题。基于深度学习模型的算法可以潜在地处理传统ISP系统所存在的问题,可以隐式的完成所有ISP过程(比如图像去马赛克、图像去噪、白平衡、颜色与对比度校正等)。除此之外,基于深度学习的ISP系统还可以将传感器采集的RAW数据直接转换到RGB空间,效果媲美于高端数码相机。与在标准ISP中独立地解决任务序列的传统方法相比,基于深度学习的ISP系统允许联合解决多个任务,可以在执行不同任务的网络部分之间共享信息,具有很大的缓解计算负担的能力。作为图像处理中不可或缺的一部分,ISP具有很好的发展前景,但目前大多数ISP算法是在软件层面实现的,具有复杂度高、处理速度慢的缺点,针对于实时应用的场景无法真正做到实时性。相对于单纯用软件进行图像处理,利用硬件来实现图像去噪、增强、复原等操作具有软件无法比拟的速度优势。在目前多种领域的应用中,单纯利用软件对图像进行操作已经不再现实,但是以硬件处理ISP可以出色的胜任此种任务,实现对图像最为真实的还原。卷积神经网络(CNNs)在图像处理任务领域得到了广泛的应用,由于这些标准的神经网络具有大量的操作和参数,因此在实际实现过程中,很难将其真正应用到嵌入式设备中。随着科技的进步,图像处理技术近些年来得到极大的重视和发展,其中ISP图像处理技术作为相机图像处理技术的关键部分显得尤为重要。对于基于深度学习ISP算法,目前主流的算法硬件实现平台有GPU、ASIC和FPGA三种。图像处理器(GPU)经常被用于神经网络的训练,先对于CPU,其多线程处理的特点能够加速神经网络的运行速度。但其运行时功耗较大,很难在当前ISP应用较多的嵌入式平台上得到实际应用。专用集成电路(ASIC)可以通过被设计成相应的硬件架构来对神经网络的加速,虽然其具备体积小、高性能和低功耗的特点,但同时也有着开发周期长、成本高以及灵活性低的缺点。现场可编程门阵列(FPGA)可以针对不同功能设计实现相应的硬件电路,适合神经网络的硬件实现,FPGA具有可配置、低功耗和灵活性高等优点可以很好的弥补专用集成电路的缺点,且相较于专用集成电路的成本更低。因此本专利技术主要研究在FPGA上实现基于深度学习的ISP算法架构的实现部署。利用FPGA对神经网络进行加速。传统的算法部署到FPGA上实现要经过漫长的开发周期,且主要以单向开发为主,要依次经历硬件算法架构设计,代码编写,功能仿真,在FPGA上进行综合实现,时序分析,最后进行板上调试。中间任一个环节有问题都必须返回对前面的环节进行修改,从算法架构设计到最终板上验证的时间跨度极大,很难对算法进行验证优化,使得开发方式效率低下,开发周期长。基于模型的开发方式(MBD)通过自动代码生成技术和在环仿真技术可以大大缩短算法架构设计到板上验证的时间,在模型设计搭建过程中就可以对算法进行优化修改,非常适合硬件算法架构设计。(1)传统ISP算法国内外研究现状图像信号处理流水线ISP,用于处理图像信号传感器输出的图像信号。它在相机系统中占有核心主导的地位,是构成相机的重要设备。主要作用是对前端图像传感器输出的信号做后期处理,目前传统ISP算法是分模块实现的,各个模块级按照流水线结构联构成整体的ISP算法。主要功能模块有线性纠正、坏点去除、颜色插值、饱和度增强、噪声去除、白平衡、伽马矫正、自动曝光和自动增益控制等,每个模块在级联顺序上有着严格的顺序,各个模块的处理效果决定整体ISP的处理效果。(2)基于深度学习的ISP算法的国内外研究现状2006年,GeofferyHinton提出了深度学习的概念,经过十几年的发展,深度学习技术在高级计算机视觉任务上取得了巨大的成功。2012年,通过深度学习训练的卷积神经网络在图像识别比赛ImaheNet中以巨大的优势超越了传统的算法,取得了冠军。2014年,Facebook推出了基于深度学习的DeepFace项目,该项目的人脸识别正确率与人类相当。通过上述分析,现有技术存在的问题及缺陷为:(1)传统的ISP系统结构复杂,处理流水线长,不同的ISP芯片所设计的功能模块在处理流水线上的顺序不尽相同,大部分情况下取决于工程师的设计经验;同时,ISP芯片仍存在部分场景下处理效果不佳,处理流水参数无法满足所有应用场景的痛点。(2)现有的ISP系统由于传感器较小、镜头相对紧凑等硬件方面的限制,导致其结构相当复杂、处理速度较慢,而且重建的照片往往会具有细节丢失、较高的噪声以及低质量的色彩渲染等问题。(3)目前大多数ISP算法是在软件层面实现的,具有复杂度高、处理速度慢的缺点,针对于实时应用的场景无法真正做到实时性。(4)图像处理器(GPU)经常被用于神经网络的训练,但其运行时功耗较大,很难在当前ISP应用较多的嵌入式平台上得到实际应用。(5)专用集成电路(ASIC)可以通过被设计成相应的硬件架构来对神经网络的加速,但同时也有着开发周期长、成本高以及灵活性低的缺点。解决以上问题及缺陷的难度为:基于卷积神经网络这种端到端的处理方法可以替换传统ISP系统,解决传统ISP存在的问题。难点在于:针对ISP的实际应用,需要综合考虑成本、功耗和灵活性,来寻找一种硬件平台来对卷积神经网络进行硬件部署实现。FPGA是本文档来自技高网...

【技术保护点】
1.一种深度网络相机图像处理方法,其特征在于,所述深度网络相机图像处理方法包括:/n通过Sensor输出的Bayer格式RAW数据送入板卡,经过阴影矫正预处理,开始进行CNN部分的运算;其中,所述运算加速部分包括池化模块、乘加阵列、缓存累加模块和激活模块;/n运算部分由运算逻辑控制模块进行控制,片上缓存使用完毕后,由运算逻辑控制模块给访问逻辑控制模块反馈;/n片外访问逻辑控制模块通过AXI4总线与外部DDR进行通信;其中,所述逻辑控制模块还包含存储各个网络层信息、地址信息的寄存器;/nCNN运算完成后,根据图像特点送入后处理模块进行流水处理加以完善,最终输出RGB图像。/n

【技术特征摘要】
1.一种深度网络相机图像处理方法,其特征在于,所述深度网络相机图像处理方法包括:
通过Sensor输出的Bayer格式RAW数据送入板卡,经过阴影矫正预处理,开始进行CNN部分的运算;其中,所述运算加速部分包括池化模块、乘加阵列、缓存累加模块和激活模块;
运算部分由运算逻辑控制模块进行控制,片上缓存使用完毕后,由运算逻辑控制模块给访问逻辑控制模块反馈;
片外访问逻辑控制模块通过AXI4总线与外部DDR进行通信;其中,所述逻辑控制模块还包含存储各个网络层信息、地址信息的寄存器;
CNN运算完成后,根据图像特点送入后处理模块进行流水处理加以完善,最终输出RGB图像。


2.如权利要求1所述的深度网络相机图像处理方法,其特征在于,所述卷积模块的实现模式,包括:3×3的卷积的完成过程为:一个慢时钟周期,卷积窗口向前滑动一次,快的时钟周期为慢时钟周期的三倍频率,在一个慢时钟周期下可完成以下三次操作:
Result=w01×f01+w04×f04+w07×f07Result=w02×f02+w05×f05+w08×f08+Result;
Result=w03×f03+w06×f06+w09×f09+Result;
由此完成一次卷积操作,窗口向前滑动一次。


3.如权利要求1所述的深度网络相机图像处理方法,其特征在于,所述卷积模块的实现,包括:首先需要进行行缓存操作,通过级联FIFO实现;级联FIFO主要是通过串并转换的思想实现数据传输;左侧为使能信号划分,作用是根据原始使能信号生成七行数据对应的使能信号;右侧为级联FIFO,实现行缓存功能;
将初始使能信号通过计数器判断,依次向后延时1-7行缓存周期,包括原始使能信号,生成8个不同的使能信号,作用于七个级联FIFO实现读写功能,每个级联FIFO的输出均要比上一个FIFO延时一个输出周期,实现方法为:
(1)使能信号高电平到达时,控制第一个FIFO的写使能,第一个FIFO开始写入数据;
(2)使能信号1,相比于原使能信号延时一个周期控制第一个FIFO的读使能和第二个FIFO的写使能;当第一个FIFO的写使能有效时,第二个FIFO写入第一个FIFO输出的第一行数据;
(3)一共级联七个FIFO;分别由使能信号1-7控制,作用于读使能和写使能;在第一个级联FIFO输出第7行时,第五个级联FIFO恰好输出第1行数据,由此完成七行数据的缓存,进入卷积运算;选取一个小的运算单元进行说明,行缓存后通过rate_transition模块进行速率转换,行缓存得到一列数据后,与缓存的卷积核参数进行乘加运算,三个块时钟周期后,得到特征图上一个点的中间值,数据以流式传输完毕后,即可得到完整的单通道特征图。


4.如权利要求1所述的深度网络相机图像处理方法,其特征在于,所述模拟外存模块的实现,包括:
(1)数据组织方式,对于输入特征图,按照以下优先级进行数据划分:输入通道分块,输入特征图行数据,输入特征图列数据;即以分块的思想,按照行的形式对其进行一维展开进行存储;同样,对于权重数据,按照以下优先级进行存储:输出通道分块,输入通道分块,卷积核行数据,卷积核列数据;即卷积核的存储是将n个m通道输入权重块进行一维展开后,再按照行展开的形式进行;
对于M×N加速结构,在输入输出通道上采取了并行运算;第一组数据为m个01位置的数据,按行的顺序进行存储直至第一块m个通道的特征图存储完毕,然后进行第二块的数据存储,将相关的分块参数存入寄存器;
在第一个输出通道的m个01存储完毕之后,接下来存入第二个通道的m个01,直至所有输出通道的01存储完,返回第一个输出通道存储02,按照特征图存储的思想,完成所有权重数据的存储;
对于K×M×N结构,由于行缓存的存在,数据划分并不需要重新安排,借助缓存操作即可满足并行运算需求;在输入特征图和权重数据的存储上是相同的;
(2)借助DDR实现外存,模拟外存模块根据数据索引,在模型中模拟外存的作用;在后续的优化,使用AXI总线结构,连接DDR存储;特征图DDR模拟模块根据输入的索引值,输出对应的特征图数据;原始Bayer格式输入图以数据流的形式送入以模拟Sensor真实输出,以constant器件的形式将控制逻辑需要的参数存储在模型中,后续会综合成寄存器形式;通过Selector器件对constant器件内存储的数值进行选择输出;对于外部存储,对于权重数据本发明选择Look_up_table器件进行模拟,进行写入操作的用Dual_port_RAM或fifo器件进行模拟;输入为板上控制模块反馈的控制信号,使能模块内的Look_up_table等模块向板内送入数据;将不同的权重数据存入不同的look_up_table中,使用反馈的地址卷积层序号和卷积核序号换算成设定的编号,检测编号为真的查找表开始输出权重数据,所有查找表的输出通过multiportswitch进行选通,输出和当前序号符合的一路输出。


5.如权利要求1所述的深度网络相机图像处理方法,其特征在于,所述池化模块的设计,包括:
池化模块在预处理时被使用,其作用是将高分辨率的原图像降低到一个较低的尺度进行处理;
其功能主要分为两部分,左侧的使用双端口RAM实现的行缓存;池化模块实现的难点在于池化操作窗口滑动的步长为2,选取四个RAM实现列维度上的缓存控制行缓存,使用跨时钟域处理,使其输出为连续的两行一组;送入池化运算模块;
送入行缓存模块后,进行比较操作;值得注意的是,由于横向移动的步长也为2,所以,在每两个时钟周期才会输出一个值,用到的操作是使用一个模2的计数器进行计数,当有效值输出后将其送入寄存器,接下来的一个时钟周期的运算结果是无效值,取寄存器中的值作为输入;每两个时钟周期会更新一个有效值,由此完成有效数据的传输;输入为四行缓存输出,输出为最终的池化结果;这样的设计方式符合数据流的传输方式。


6.如权利要求1所述的深度网络相机图像处理方法,其特征在于,所述激活模块与正则化模块的设计,包括:
Pynet网络结构运用到两种激活函数;双曲正切tanh以及LeakyRelu;Simulink提供了满足HDL生成的tanh模块,根据LeakyRelu函数进行其运算结构设计;
使用比较器和选择器完成整体运算,大于0保留原值,小于0则取原值0.2倍数;增加神经网络各层间的非线性关系,并在顶点精度为1/216的情况下较好的完成整流运算。


7.如权利要求1所述的深度网络相机图像处理方法,其特征在于,所述累加模块,包括:
累加操作的目的是为了解决由于分块操作造成的一次卷积运算无法输出完整的特征图结果;累加模块的输入为上一级卷积的运算结果以及控制信号;控制信号中包含传入的k,m,n,con_num卷积层序号,d_num操作序号;对于两个不同的卷积结构,其对于累加运算的要求也是不同的;首先介绍对累加操作要求比较小的KMN设计模式;
KMN设计模式每次运算出的结果为n个通道上m个输入通道的卷积乘加结果;因此其需要需要进行M/m次累加操作,需要一个FIFO即可以完成累加操作,若使用KMN设计模式的卷积模块,则累加模块设计为:一...

【专利技术属性】
技术研发人员:宋锐张宇航水云鹏李娇娇郝丰达王养利李云松
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1