基于FPGA实现的面阵相机平场矫正实时算法制造技术

技术编号:14136028 阅读:241 留言:0更新日期:2016-12-10 04:04
本发明专利技术结合FPGA并行运算特点并考虑到FPGA内资源有限性,提出了一种优化的可基于FPGA实现的面阵相机平场矫正实时算法,采用基于块的运算方法,对传感器阵列进行分块操作,在分块基础上结合插值算法,降低资源消耗的同时对每个点进行运算。本发明专利技术为高分辨率高帧率下面阵相机实现实时FFC矫正算法提供了可能,为高分辨率高帧率应用场合提供了较高的输出图像质量。通过使用优化算法,在满足高分辨率和高帧率的要求下成功的对PRNU和渐晕效应进行了实时矫正。

【技术实现步骤摘要】

本专利技术涉及图像算法
,具体涉及一种基于FPGA实现的面阵相机平场矫正实时算法
技术介绍
在光电成像系统中,特别是面阵相机成像系统中,图像信号不能完全反应实际目标,其原因主要包括两方面:(1)由CCD或CMOS传感器制作工艺引起的响应不一致性(也称为PRNU);(2)由于光学衍射现象及光学系统各种偏差引起的渐晕效应。为保证图像输出质量,一般需要对采集得到的原始图像进行平场矫正(FFC)算法进行修正,以使其达到应用要求。由于PRNU和渐晕效应往往是非线性的,因此在FFC算法中,主要通过乘法运算进行矫正。FFC算法可以总结为如下形式:Yi=Xi*ai。其中Yi为FFC矫正后数据,Xi为传感器原始输出数据,i为每个像元的序列号,即矫正算法中每个像元对应一个ai元素。FFC算法主要难点在于一方面需要预先保存一个和图像分辨率同样大小的ai数组,另一方面需要做大量的乘法运算,这导致高分辨高帧率下的实时FFC算法除了对处理速度提出很高要求外,对存储资源的需求也很大。对于小靶面相机,如1百万像素量级的图像,在低帧率下的软件方式尚可勉强应付。FFC矫正算法需要对每个像素点进行乘法运算,对于高分辨率传感器高帧率要求的应用场合,采用软件实现实时FFC算法已经无法满足要求。如ON Semiconductor公司生产的KAI-47051,其分辨率达到4千7百万,常规的软件方式已经无法满足要求,而采用ASIC方式实现FFC算法一方面灵活性很差,另一方面成本很高,远未达到实用性要求。这就使得对于高分辨率或者高帧率的实时应用场合,不得不以牺牲图像质量为代价。这种情况下,FPGA(可编程门阵列)作为一种目前较为流行的器件,其可编程性一方面规避了ASIC实现方式的灵活性差高成本的缺点,另一方面其硬件实现方式也规避了软件实现方式下的速度无法跟上的缺点。但对于高分辨率FFC算法,FPGA也有其自身的缺点,即内部资源有限,可能无法应对高分辨率图像对存储资源的要求。如对KAI-47051而言,其像素数量为47.8MB,即按每个像素最低8-bit计算,保存一幅图像对应的AI数组需要47.8MB的存储空间;即便不计FPGA购买成本,目前最高端的FPGA也很难达到这个要求。这就要求在保证一定的输出图像质量的情况下,需要对原始的FFC算法进行优化,从而使得基于FPGA实现高分辨率高帧率下面阵相机实时FFC算法成为可能。
技术实现思路
本专利技术提供一种基于FPGA实现的面阵相机平场矫正实时算法,为高分辨率、高帧率面阵相机实现实时FFC算法提供可能,为高分辨率高帧率应用场合提供较高的输出图像质量。为解决上述技术问题,本专利技术采用如下技术方案:一种基于FPGA实现的面阵相机平场矫正实时算法,包括如下步骤:1)传感器有效分辨率设为:水平colcount,竖直rowcount,将分辨率按照N×N的矩阵分割成多个基本块,在实际照明条件下获取图像,以每个基本块的图像均值作为输入数据,进行FFC矫正计算获得归一化ai数组为:2)对分辨率边界进行复制,扩展ai数组为:3)得到像素点所属基本块为:[i][j],4)对基本块的每个像素点,通过当前基本块与相邻基本块的FFC数据以及当前像素点坐标(x,y),基于双线性插值算法计算得到像素点实际的ai值;5)将当前基本块从中心等分为四个象限,根据像素点的从属象限选择参与运算的ai值;6)基于FPGA的并行运算,同时计算四个象限的值,通过符号位选择输出,结合ai数组的二维矩阵到一维矩阵的转换,计算最终结果,公式如下: a i [ i ] [ j ] = a i [ i * ( c o l c o u n t N + 2 ) + j ] . ]]>进一步地,步骤6)中,FPGA的并行运算采用8个像素为一个处理单元,具体计算过程包括如下步骤:61)根据8像素单元地址计算基本块[i][j];62)根据基本块[i][j]从ai数组读取当前基本块与相邻基本块共9个单元,后根据y[bit3],N[bit0]值判断该8像素单元所在的象限;63)根据所在象限计算A、B、C、D、ao和a1;64)计算子式:A*(N-a0)*(N-a1)、B*a0*(N-a1)、C*(N-a0)*a1和D*a0*a1;65)将以上计算得到的四个子式相加得到ai_out,并将ai_out右移8位,得到最终结果dout=(din*ai_out)。优选地,步骤61)中,基本块[i][j]为其中y为该8像素单元所在行数,N为该8像素单元的索引号。优选地,步骤62)中,所述9个单元分别为:ai[i-1][j-1]、ai[i-1][j]、ai[i-1][j+1]、ai[i][j-1]、ai[i][j]、ai[i][j+1]、ai[i+1][j-1]、ai[i+1][j]和ai[i+1][j+1]。进一步地,步骤4)中,像素点处于基本块[yi][xj]内,计算ai_x0和ai_x1:ai_x0=ai[yi][xi]+(ai[yi][xi-1]-ai[yi][xi])/N*(N/2-x%*N);ai_x1=ai[yi-1][xi]+(ai[yi-1][xi-1]-ai[yi-1][xi])/N*(N/2-x%*N)计算ai_out:ai_out=ai_x0+(ai_x1-ai_x0)/N*(N/2-y%*N)。优选地,所述基本块的N值为16~128。由以上技术方案可知,本专利技术优化了FPGA并行运算,为高分辨率、高帧率下的面阵相机实现实时FFC矫正算法提供了可能,为高分辨率、高帧率应用场合提供了较高的输出图像质量。通过使用优化算法,在满足高分辨率和高帧率的要求下成功的对PRNU和渐晕效应进行了实时矫正。附图说明图1为本专利技术算法中基本块分割和象限分割的示意图;图2为本专利技术算法中基本块分割后边界像素ai数组扩展的示意图;图3为实施例中基本块大小为128x128下的ai算法矫正前后的仿真效果三维图;图4为实施例中经AI算法矫正前后的图像对比。具体实施方式下面结合附图对本专利技术的一种优选实施方式作详细的说明。FFC算法主要用于矫正传感器阵列的响应不一致性和非理想误差,基本算法如下:Yi=Xi*ai,其中Yi为矫正后数据,Xi为传感器输出的原始数据。面阵相机由于分辨率太高,如果直接做单点FFC运算,那么需要维持一个和图像分辨率同样大小的ai数组,消耗资源过多,在FPGA中直接实现不可行,需要对算法进行优化。优化的首要目的是降低算法对存储资源的消耗,为了减少对存储资源的需求,可以采用基于块的运算方法,本实施例以16x16像素块为基本单元,对传感器阵列进行分块操作,在分块基础上结合插值算法可以在降低资源消耗的同时对每个点进行运算。以KAI-4本文档来自技高网
...
基于FPGA实现的面阵相机平场矫正实时算法

【技术保护点】
一种基于FPGA实现的面阵相机平场矫正实时算法,其特征在于,包括如下步骤:1)传感器有效分辨率设为:水平colcount,竖直rowcount,将分辨率按照N×N的矩阵分割成多个基本块,在实际照明条件下获取图像,以每个基本块的图像均值作为输入数据,进行FFC矫正计算获得归一化ai数组为:2)对分辨率边界进行复制,扩展ai数组为:3)得到像素点所属基本块为:4)对基本块的每个像素点,通过当前基本块与相邻基本块的FFC数据以及当前像素点坐标(x,y),基于双线性插值算法计算得到像素点实际的ai值;5)将当前基本块从中心等分为四个象限,根据像素点的从属象限选择参与运算的ai值;6)基于FPGA的并行运算,同时计算四个象限的值,通过符号位选择输出,结合ai数组的二维矩阵到一维矩阵的转换,计算最终结果,公式如下:ai[i][j]=ai[i*(colcountN+2)+j].]]>

【技术特征摘要】
1.一种基于FPGA实现的面阵相机平场矫正实时算法,其特征在于,包括如下步骤:1)传感器有效分辨率设为:水平colcount,竖直rowcount,将分辨率按照N×N的矩阵分割成多个基本块,在实际照明条件下获取图像,以每个基本块的图像均值作为输入数据,进行FFC矫正计算获得归一化ai数组为:2)对分辨率边界进行复制,扩展ai数组为:3)得到像素点所属基本块为:4)对基本块的每个像素点,通过当前基本块与相邻基本块的FFC数据以及当前像素点坐标(x,y),基于双线性插值算法计算得到像素点实际的ai值;5)将当前基本块从中心等分为四个象限,根据像素点的从属象限选择参与运算的ai值;6)基于FPGA的并行运算,同时计算四个象限的值,通过符号位选择输出,结合ai数组的二维矩阵到一维矩阵的转换,计算最终结果,公式如下: a i [ i ] [ j ] = a i [ i * ( c o l c o u n t N + 2 ) + j ] . ]]>2.根据权利要求1所述的面阵相机平场矫正实时算法,其特征在于,步骤6)中,FPGA的并行运算采用8个像素为一个处理单元,具体计算过程包括如下步骤:61)根据8像素单元地址计算基本块[i...

【专利技术属性】
技术研发人员:曹桂平董宁唐世悦吴畅叶加圣
申请(专利权)人:合肥埃科光电科技有限公司
类型:发明
国别省市:安徽;34

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

1