基于CNN的红外图像预处理系统的研究与设计
[10-10 20:38:44] 来源:http://www.88dzw.com 电子制作 阅读:8979次
文章摘要:图9 RGB2YCbCr模块仿真输出同理,可以采用方案2,即FPGA芯片内的嵌入式RAM构造乘法器查找表,可以实现YCbCr向RGB的颜色空间转换。波形仿真如图10所示。由波形图可以看到,相比于输入,输出结果延迟3个时钟周期出现,这是使用寄存器锁存造成的结果。例如输入(Y,Cb, Cr)=(944,514,514),在3个时钟周期后输出(R,G,B)=(1023,1021,1023)。虽然输出延迟了3个时钟周期,但每计算一个像素颜色转换仍只需要1个时钟周期。图10 YCbCr2RGB模块仿真输出3.3 细胞神经网络的IP核设计 根据CNN的理论,模板中的权数分别对应了待处理像素周围的八个像
基于CNN的红外图像预处理系统的研究与设计,标签:电子小制作,http://www.88dzw.com图9 RGB2YCbCr模块仿真输出
同理,可以采用方案2,即FPGA芯片内的嵌入式RAM构造乘法器查找表,可以实现YCbCr向RGB的颜色空间转换。波形仿真如图10所示。由波形图可以看到,相比于输入,输出结果延迟3个时钟周期出现,这是使用寄存器锁存造成的结果。例如输入(Y,Cb, Cr)=(944,514,514),在3个时钟周期后输出(R,G,B)=(1023,1021,1023)。虽然输出延迟了3个时钟周期,但每计算一个像素颜色转换仍只需要1个时钟周期。
图10 YCbCr2RGB模块仿真输出
3.3 细胞神经网络的IP核设计
根据CNN的理论,模板中的权数分别对应了待处理像素周围的八个像素,所以在对某个像素进行处理之前,必须先读入该点周围的八个像素点,即某个像素点的结果不仅同本身像素有关,而且同邻域点像素灰度值有关。因为采用的CMOS图像传感器每行640个像素。因此构造3×3模板的关键在于构造行延时器。视频图像中像素来自非均匀校正后的串行数据流,因此FPGA可以以并行流水方式实现该模板[6]。构成3×3模板的硬件结构如图11所示:
图11 3×3模板的硬件结构
如图所示,视频输入图像经过由RAM组成的3×3模板后进入卷积模块,最后输出结果。由于采用了流水工作方式,因此在进行图像处理时,并不需要存储整帧图像,只要存储模板操作中的领域像素点。
卷积的实现方式一般有MAC(Multiply and Accumulate乘加法)和DA(Distribute Algorithm分布式算法)。MAC法一般直接使用乘法加法进行运算,目前有些FPGA中带有内部乘法器资源,即硬件乘法器。分布式算法将复杂的多位数乘积转变为简单的“与”操作,而且乘位权数的转变为移位操作,有效地提高了运算速度,降低了结构的复杂度。采用分布式算法实现卷积计算。在细胞神经网络中采用该算法具有以下优点:减小存储单元的大小,实现存储单元内容共享,减小数据总线位宽。为了节省FPGA片上资源采用串行分布式算法[7]。
串行方法的实现是先从最低位开始,用所有 个输入量的最低位对DA查找表进行寻址,得到了一个部分积,将其右移一位即将其乘以2-1后,放到寄存器当中,同时, 个输入量的次低位己经开始对DA查找表寻址得到另一个部分积,与右移一位后的上一个部分积相加,再重复上一步,直到所有的位数都己经寻址一遍。特别要注意,在补码输入的情况下,在最高位寻址得到的值不是与上一个右移一位后的部分积相加,而是相减。这样最后得到的值就是我们需要的结果,由此可以得到全串行DA模式。由上可知,完成一次运算需要 个时钟周期。
图12 串行分布式算法原理图
3.4 VGA模块
该模块的功能是将经过处理的信号显示在显示器上,这个过程与信号处理中的过程是相反的,将数字信号按照电视信号的制式组成合乎时序、格式要求的信号,并加入用于控制的各种同步信号。为了便于检验VGA时序的正确性,适当的对VGA时序进行了一些简化。由于编程时采用参数化设计,所以这并不会对系统的设计产生影响。仿真图如图13所示,符合预期的时序要求。
《基于CNN的红外图像预处理系统的研究与设计》相关文章
- › 基于CNN的红外图像预处理系统的研究与设计
- 在百度中搜索相关文章:基于CNN的红外图像预处理系统的研究与设计
- 在谷歌中搜索相关文章:基于CNN的红外图像预处理系统的研究与设计
- 在soso中搜索相关文章:基于CNN的红外图像预处理系统的研究与设计
- 在搜狗中搜索相关文章:基于CNN的红外图像预处理系统的研究与设计