基于CNN的红外图像预处理系统的研究与设计

[10-10 20:38:44]   来源:http://www.88dzw.com  电子制作   阅读:8979

文章摘要:2 总体方案选择 系统的工作流程如图2所示,从CCD传来的数字视频信号及其控制信号首先通过图像采集模块,从而筛选出有效的数据,然后通过RAW2RGB模块,利用插值算法得到每个像素点的R、G、B数据。为了便于CNN模块进行核心处理,在进行边缘提取操作前,把图像数据从RGB颜色空间转换为YCbCr颜色空间,针对Y分量进行处理。处理后的数据再经过YCbCr2RGB模块转换为RGB数据从而提供给VGA模块,供LCD显示。 图2 红外图像预处理系统工作流程整个的核心部分在于CNN模块,在图像边缘提取中使用的算法主要是经典的微分算子,微分算法在硬件中很难实现,将CNN应用于灰度图像边缘提取的算法,是因为C

基于CNN的红外图像预处理系统的研究与设计,标签:电子小制作,http://www.88dzw.com

2 总体方案选择

系统的工作流程如图2所示,从CCD传来的数字视频信号及其控制信号首先通过图像采集模块,从而筛选出有效的数据,然后通过RAW2RGB模块,利用插值算法得到每个像素点的R、G、B数据。为了便于CNN模块进行核心处理,在进行边缘提取操作前,把图像数据从RGB颜色空间转换为YCbCr颜色空间,针对Y分量进行处理。处理后的数据再经过YCbCr2RGB模块转换为RGB数据从而提供给VGA模块,供LCD显示。

图2 红外图像预处理系统工作流程

整个的核心部分在于CNN模块,在图像边缘提取中使用的算法主要是经典的微分算子,微分算法在硬件中很难实现,将CNN应用于灰度图像边缘提取的算法,是因为CNN是一种基于神经元局域连接的神经网络并行处理器[3], 硬件上可以采用相同的电路元件阵列来设计CNN并行处理器,这种阵列同构的电路设计有利于VLSI实现。故采用粒子群算法训练CNN的模板,进行边缘提取。

虽然在细胞神经网络中允许任意规模的邻域,随着模板尺寸的增大,硬件实现的难度也随之增大。受限于目前的VLSI技术,胞元之间的互联只能是局部的。本文中,规定采用3x3邻域,即模板A、模板B都是3x3的矩阵,且它们的系数都是实系数。因为目前大多数图像处理针对的都是灰度级图像,所以细胞神经网络胞元的输入范围被限定在[-1,+1]之间,-1代表白色像素,1代表黑色像素,其余的值代表二者之间的灰度值。这里采用定点数,因为在硬件实现中,定点数具有更高的速度和更低廉的成本,特别是在调用FPGA中的乘法底层原语时。

单个胞元的串行硬件实现结构,完成一次胞元状态更新的运算至少需要9个时钟周期。为了提高速度,可以在计算胞元状态更新时采用并行结构,如图3所示,通过采用流水线结构,完成一次胞元状态的更新只需要1个时钟周期。本文采用并行结构在FPGA中实现细胞神经网络。

图3 CNN 并行实现结构框图

3 硬件设计

图像数据采集模块用于实现图像数据的捕捉,根据图像传感器MT9M011输出数据时序,当视频捕捉开始键按下时,该模块开始接收数据,在获得有效像素数据的同时也接收了消隐期的图像数据,所以设置了输出数据有效信号,用以在接下来的RAW2RGB模块把有效数据和非有效数据区分开来。

3.1 RAW2RGB模块的设计

MT9M011采用的是Bayer型CFA(Color Filter Array,颜色滤波阵列),由于该图像传感器的分辨率为1280x1024,这里采用的插值算法,每四个像素合并为一个像素,像素值的变化如图4所示,这样经过RAW2RGB模块后,图像的分辨率变为原来的一半,即640x512。

该模块的硬件实现框图如图5所示。其中control模块由两个状态机组成,分别是ram_wr_state和ram_rd_state。ram_wr_state状态机负责产生RAM的写使能和写地址。当输入数据有效时,把输入的像素数据依次交替存储在2个RAM中,构成类似乒乓操作的结构。这个状态机负责产生RAM的写使能和写地址。ram_rd_state的状态机负责产生RAM的读使能和读地址。

图4 颜色插值算法示意图

上一页  [1] [2] [3] [4] [5]  下一页


Tag:电子制作电子小制作维修教程知识 - 电子制作

《基于CNN的红外图像预处理系统的研究与设计》相关文章