基于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.com2 总体方案选择
系统的工作流程如图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 颜色插值算法示意图
《基于CNN的红外图像预处理系统的研究与设计》相关文章
- › 基于CNN的红外图像预处理系统的研究与设计
- 在百度中搜索相关文章:基于CNN的红外图像预处理系统的研究与设计
- 在谷歌中搜索相关文章:基于CNN的红外图像预处理系统的研究与设计
- 在soso中搜索相关文章:基于CNN的红外图像预处理系统的研究与设计
- 在搜狗中搜索相关文章:基于CNN的红外图像预处理系统的研究与设计