本帖最后由 眼镜一米二 于 2024-7-2 17:44 编辑
叁芯智能科技FPGA就业班07月开班中
概述
图像作为当前人工智能技术发展当中的重要组成部分,已经得到越来越多学者的重视和研究。在人脸识别、图像分类、目标跟踪等神经网络的应用场合,图像中的信息提取是实现相关技术的基础。因此如何将弱光或者局部过暗的图像中的信息更好的提取出来,是当前众多学者的研究的一个方向。
在目前现有的文献研究中主要有色调映射及其改进的相关算法和直方图均衡算法。色调映射是在有限动态范围媒介上近似显示高动态范围图像的一项计算机图形学技术。目前国内外对于数学算法层面的色调映射技术进行了深入的研究,其中阿兰·霍尔等人提出了基于数学指数型运算的色调映射算法,该算法使用局部和全局图像信息来改善对比度并增加色调映射图像的亮度,根据原图像中的不同区域亮度信息不同的特点来均衡的改善图像的亮度,使得处理后的图像看起来更加自然.同时安巴拉桑迪等人使用FPGA在硬件上实现了该基于数学指数型运算的色调映射算法,在硬件上能够获得良好的视觉质量并具有良好亮度和对比度的图像.在处理 1024*768 的彩色图像时可以达到每秒 126 帧的实时速率,并且将其硬件处理后的图像有软件处理后的相比较,峰值信噪比(PSNR)为 57.30、只略微超过了正常值,说明其硬件架构在处理数据精度上存在着一定的问题。
除此之外,还有众多色调映射相关的图像处理算法被相关学者提出来,如奥菲利等人在基于数学指数型运算的色调映射算法的基础上,添加了自动参数选择器,可以根据每个待处理的图像自动调节算法中的相关系数,以便达到更好的处理效果,该文献实现了实时处理的效果,但是容易产生光晕,影响视觉效果。此外拉克尔·乌雷尼亚等人还将人眼视网膜中的双极细胞的部分原理与传统的直方图均衡算法相结合起来,它以比传统方法更自然的方式改善图像细节。同时在GPU以及FPGA上实现该算法,达到了实时处理效果。
目前来看,较多的色调映射以及直方图均衡算法的改进基础都是在传统的数学原理层面上的改进,缺少人眼视网膜处理图像的自然感觉.虽然采用了人眼视网膜的原理,但是也和传统的直方图均衡算法结合起来,没有全部运用人[tr]眼视网膜的原理。同时目前已有的色调映射处理器存在着以下问题。首先是处理速度,虽然部分文献中的处理速度可以实现实时的效果,但处理速度仍然有限,难以用于自动车辆和无人机监控等高清视频流的处理应用之中。其次在功耗优化方面也投入较少,使得已有的一些色调映射处理器难以应用到一些嵌入式设备之中。
主要创新点
1、视网膜算法的采用 针对当前已有的色调映射相关的图像增强处理器,本作品的处理器设计思路来源于人眼视网膜能够有效地处理HDR图像以及弱光条件下图像。因而将人眼视网膜中的水平细胞和细胞功能首先算法化,软件上实现功能,然后再实现到硬件上,从而可以真正实现实用的效果.据我们所知,这是第一款完全采用人眼视网膜机理的色调映射处理器。
2、高速低功耗 本篇所设计的处理器在以XC7Z020芯片为基础的PYNQ-Z2的平台上处理256*180的高清图像,可以达到700帧的实时速率,并且能效比(每秒钟每毫瓦可处理的像素点数)为146452的性能,在以Virtex-7芯片为基础的VC707平台上处理1280*768的高清图像,可以达到189帧的实时速率,150 MHz的电路工作频率,功耗0.819W并且能效比为544453,在目前已有的色调映射处理器中,性能最佳。
3、多种硬件技术的设计 本篇所设计的处理器根据所应用的人眼视网膜算法的特性,创新性的设计了几种硬件技术,从而提升处理器整体的处理速度并降低功耗。以下简要介绍技术内容,后文将会详细介绍技术的细节内容。
1) 采用S形卷积核滑动的基于并行处理的数据分块技术。用于减少在进行卷积时从内存中提取图片数据的功耗,并提升提取图片数据的速度,从而提升整体速度和降低功耗。 2) 相邻帧特征共享技术。在处理器使用的人眼视网膜算法中,对于待处理的图像帧需要计算其均值和标准差,根据视频流相邻帧具有相似均值和特征值,从而设计相邻帧特征共享技术,从而降低功耗和提升速度。 3) 多层卷积流水技术。本文所设计的处理器中共有两层卷积,占据主要的处理时间和功耗,因而设计了多层卷积流水技术,进一步提升速度和降低整体功耗。 4) 卷积核滤波器压缩技术。处理器中的卷积部分的卷积核,其数据中含有大量的零元素以及其非零元素具有中心对称的特性,因而采用该技术,压缩卷积核数据,减少RAM存储空间以及降低从RAM中提取卷积核数据的功耗。
系统架构
1.整体设计方案 如图2-1所示,本系统主要是由硬件部分组成,核心部分是基于FPGA的处理器芯片。本系统的主要是由硬件组成外加两个显示和收集图像设备组成,硬件部分主要是采用Xilinx公司的FPGA芯片,本文的处理器目前是采用XC7Z020或Virtex-7芯片作为处理器核心。系统总共有脱机和非脱机两种工作方式,脱机方式是通过处理器外接高清摄像头获取当前所在环境的图像,并发送到核心处理器中进行处理。非脱机方式是采用处理器外接PC端,可以将互联网上的高清视频流发送到处理器进行处理。本系统的核心是硬件处理器模块,同时为了验证图片处理后对边缘检测和人脸识别效果等技术的改善,在PC端软件部分附加了人脸识别和边缘检测模块可以用来说明基于视网膜机理的色调映射处理器模块处理后图像的优越性。
图2-1系统整体结构图
2.基于视网膜机理的色调映射算法原理概述 这一部分,我们简单介绍下我们使用硬件实现的受视网膜启发而改进的色调映射算法。算法整体的基本原理框图2-2所示。 基本原理是三部分:
1)光感受器:首先是利用光感受器将视网膜感受到的光图像转化为电讯号,并传输到后面接下来的处理层。如图2-2中的“受体”层所示,视网膜水平细胞的原理。
2)水平细胞:然后是利用水平细胞的原理,对视网膜光感受器输出的信号进行亮度调节,实现视觉的亮度适应,并增强边缘对比度,突出景物轮廓。如图2-2中的“水平细胞”层所示。
3)双极细胞:最后是利用双极细胞原理,整合水平细胞的输出信号,并传递至神经节细胞和无长突细胞,最后输出到中枢视觉处理区域。如图2-2中的“双极细胞”层所示。
2-2人眼视网膜算法整体原理框图
因此该算法作者将上述处理过程整合成如下的数学处理模型。 1)光感受器采集输入图像的均值和方差。
2)水平细胞的调整区域的计算公式:
其中n∈{1,2,3,4},代表rgb三通道,*是卷积操作(15*15卷积),𝐻𝐶𝑖𝑛𝑛(𝑥,𝑦)是对应输入图像(𝑥,𝑦)处的像素,𝑔(𝑥,𝑦;𝜎𝑛(𝑥,𝑦))是(𝑥,𝑦)处像素对应的卷积核.此处滤波器标准差𝜎𝑛(𝑥,𝑦)是一个动态值.根据当前像素点的取值区间来判断选择相应的标准差,从而不同的像素点可能会得到不同的卷积核.如表1所示,其中s,m分别为整个输入图像的标准差和均值。
3)双极细胞调整区域计算公式:
其中𝑓𝑛(𝑥,𝑦)为原始输入图像,n∈{R,G,B},𝐷𝑜𝑔(𝑥,𝑦)是双极细胞处理部分的卷积核(7*7卷积),是一个确定值.)BCou𝑡𝑛(𝑥,𝑦)即为图像处理算法的最终输出。
3.处理器硬件整体架构电路方案设计
本系统的整体硬件架构如下图2-3所示。处理器根据算法特性,并分析算法本身可以并行处理的点,在设计硬件架构时进行了深度的流水线和并行设计。利用FPGA的优势,尽可能的加速算法整体的运算,并尽可能的降低功耗,达到更高速、更低功耗的优秀处理器性能。
图2-3硬件总体架构图
整体硬件架构电路图主要分为五大部分:图像预处理部分、15*15的卷积部分、7*7卷积部分、原图边缘检测部分、图像增强后的边缘检测部分。 1)图像预处理部分:该部分功能主要是实现算法当中的光感受器部分的功能.该部分功能主要是用来预先计算出输入图像的均值和方差,并将结果输出到后面模块。
2)15*15卷积部分:该部分功能主要是实现算法当中的水平细胞处理部分的功能.内部采用了数据分块技术,从而提升速度并降低功耗。 3)7*7卷积部分:该部分主要是实现算法当中的双极细胞部分的功能.内部同样采用了和15*15卷积部分一样的分块功能,从而提升速度并降低功耗。
4)原图边缘检测和图像增强后的边缘检测部分:该部分主要是用来从硬件层面上检验处理器处理后图像的处理的效果.通过边缘检测来比较处理后的图像相较于原图未处理图像的优势。
设计演示
为了对比处理器硬件处理后的效果.我们用常用的PSNR(峰值信噪比)和ssim(结构相似性)来把硬件处理器处理后的图像和软件处理后的图像作为对比,从而测试硬件处理器处理后的效果是否相比较软件处理后的更有实际优势)。同时,在该部分中我们还采用了边缘检测效果作对比,以及人脸识别方法来对比增强后的图像对边缘检测的效果和人脸识别准确率提升的帮助。
1.psnr与ssim测试结果分析
峰值信噪比(峰值信噪比,一种全参考的图像质量评价指标,是最普遍和使用最为广泛的一种图像客观评价指标,用来评价图像数据处理后的质量)。结构相似(SIM)结构相似性,也是一种全参考的图像质量评价指标,它分别从亮度、对比度、结构三方面度量图像相似性。
如图3-8所示,图a、b、c分别是原图,软件处理后的图片以及硬件处理后的图片,从视觉效果上来看,软硬件处理后的图像相较于原图上来说,亮度以及对比度均有明显的改善。由于原本显示场景中图像的亮度范围较大,即hdr图像,会造成在一般显示设备中,出现局部过暗或过亮的情况,即如图3-8中的原图所示,因而在经过处理后,过亮或者过暗的地方均得到了改善,使得整幅图像看起来更加柔和。
图3-8三种亮度不足或者局部过暗图像的软硬件处理结果
除此之外,从视觉上来看,硬件处理后的图像和软件处理后的图像相比几乎没有任何区别。表4-1表示了三张图像硬件处理后的PSNR和ssim值。PSNR值一般正常值是在20~40 dB之间,而本处理器处理后的图像的之间,而本处理器处理后的图像的值达到了80 dB以上,说明了我们硬件处理器处理后的图像相比软件后处理后的图像相比,数据损失降到了极小,硬件电路设计的较为完善。其次,ssim值在0~1之间,1为最大值,1表示两幅图片一模一样,结构上相同,几近原图,在我们的比较中,ssim值均接近1,表示我们硬件处理器处理后的图像相比软件后处理后的图像相比,结构相似性几乎相同,硬件处理后的图像损失降到最小。
如图3-9所示,为夜间处理效果的对比图左原右器所示,为夜间处理效果的对比图左原右器处理。
图3-9夜间图像处理效果对比[tr]
2.边缘检测测试结果与分析
边缘检测部分的处理效果已经设计集成到了处理器上,可以在硬件上输出显示边缘检测后的效果,从而从侧面反映出,处理后的图像对边缘检测效果的提升。
如图3-12和3-13所示,经过处理器处理后的图像,再进行边缘检测后的效果相比较于原图的边缘检测的效果有了比较大的提升,更多的细节被检测出来,侧面反映出本系统处理器的优越性。
3.视频流处理效果性能与技术优势
对于高清视频流的处理,本处理器在XC7Z020 FPGA资源的基础上,处理256*180的高清彩色图像,可以达到每秒700帧的实时速率(电路工作频率70 MHz),以及881 mW的较低功耗。在Virtex 7资源平台的基础上,处理1024*768的高清彩色图像,可以达到每秒189帧的实时速率,以及819毫瓦的低功耗。
该处理器的各项性能参数与现有的相关比较有优势的文献相比,本处理器均表现出优异的性能,如表4-2所示。
|