本发明涉及图像处理领域,尤其涉及对TDI-CMOS图像传感器所拍摄图片中的FPN进行处理。
背景技术:
在基于模拟域累加实现的TDI-CMOS图像传感器中。由于模拟累加器电路中存在寄生电阻和电容,电路失配会导致输出图像在TDI扫描方向(即“沿轨”方向)亮度不均匀,且呈周期性衰减,突出表现为周期性横条纹,该现象称为行固定模式噪声(RFPN)。而传感器列并行读出电路(模拟累加器和ADC等)的系统结构由于工艺偏差很容易出现列与列之间的失配,从而导致输出图像在与TDI扫描方向垂直的方向(即“跨轨”方向)亮度不均匀,表现为明暗变化的竖条纹,该现象称为列固定模式噪声(CFPN)。在TDI-CMOS图像传感器的输出图像中,由RFPN导致的横条纹和由CFPN导致的竖条纹同时存在且交织在一起,如图2,严重影响了图像质量,且增加了固定模式噪声(FPN)校正的难度。
TDI-CMOS图像传感器的RFPN是由其模拟累加器特定的电路结构引起的,是一种特殊的FPN。而且,对于已经制造完成的TDI-CMOS图像传感器芯片,其FPN只能通过图像的后处理来校正。目前,现有的去除图像中条纹噪声的技术有很多,但这些技术都只适用于特定的图像传感器或数据类型,如红外成像、高光谱成像/多光谱成像、中分辨率成像光谱仪等;而且这些技术只能处理水平或竖直单个方向上的条纹,无法有效消除TDI-CMOS图像传感器输出图像中交织在一起的横条纹和竖条纹。
技术实现要素:
为克服现有技术的不足,本发明旨在基于TDI-CMOS图像传感器的工作原理,通过分析FPN来源、噪声特点及其对成像质量的影响,提出TDI-CMOS图像传感器的噪声模型,并根据该模型设计了一种基于改进矩匹配的FPN校正方法。本发明采用的技术方案是,基于矩匹配的TDI-CMOS图像传感器FPN校正方法,首先对原始图像进行空间相关滤波,接着使用改进行矩匹配法进行RFPN校正,然后对RFPN校正后的图像进行双边滤波,接着使用改进列矩匹配法进行CFPN校正;改进列矩匹配法进行CFPN校正具体是,
(1)对RFPN校正后的图像进行双边滤波;
(2)计算并保存滤波后图像每一列的均值μj;
(3)设置列矩匹配窗口参数w;
(4)根据式(17)计算μτ和στ;
其中,μj是第j列像素均值,σj是第j列标准差,μτ是参考均值,στ是参考标准差,N是图像在跨轨方向上的尺寸,图像校正通过矩匹配算法完成,对标准矩匹配算法进行改进,添加一个移动窗口,k是该窗口中心位置,w是窗口参数;
(5)将参考均值和标准差带入到式(16),校正相应列的CFPN;
(6)沿着列方向移动一个像素,重复步骤4-5,直到最后一列的CFPN被校正。
RFPN校正步骤具体是:
(1)对原始图像进行空间相关滤波;
(2)计算并保存滤波后图像每一行的μi和σi;
(3)设置行矩匹配窗口参数w;
(4)根据式(9)计算μτ和στ;
其中,μi是第i行像素均值,σi是第i行标准差,μτ是参考均值,στ是参考标准差,L是图像在沿轨方向上的尺寸,图像校正通过矩匹配算法完成,对标准矩匹配算法进行改进,添加一个移动窗口,k是该窗口中心位置,w是窗口参数;
(5)将参考均值和标准差带入到式(8),校正相应行的RFPN;
其中,Yij是校正后像素(i,j)的灰度值,Xij是双边滤波后像素(i,j)的灰度值,μj是第j行像素均值,σj是第j行标准差,μτ是参考均值,στ是参考标准差;
(6)沿着行方向移动一个像素,重复步骤4-5,直到最后一行的RFPN被校正。
空间相关滤波具体步骤是:
第一步,计算第i和i+1行像素的平均值,并分别把它们定义为U1和U2,与此同时,计算(i+T×n)和(i+1+T×n)行像素平均值,并把它们定义为U1(n+1)和U2(n+1),其中,(i+T×n)和(i+1+T×n)不大于图像的行数,n是正整数,如式(4)所示。
U1(n)=Ave_im(i+T×(n-1))i+T×(n-1)≤L
U2(n)=Ave_im(i+1+T×(n-1))i+1+T×(n-1)≤L (4)
Ave_im是一个自定义函数,用来求取像素的行均值,图像中由同一积分器输出的像素,被存储在同一个向量中。
第二步,对两个均值向量的差求均值,首先得到两个向量中较小的长度,然后再求均值,如式(5):
l=min(U1,U2)
U=mean(U2(j)-U1(j))1≤j≤l (5)
如果U的值大于阈值UTh,那么i+T×(n-1)就是图像中条纹的位置,条纹处的a(i)被估计得到,如式(6)所示。
ijumps=i+T×(n-1)i+T×(n-1)≤L
a(ijumps)=0.5×[Ave_im(ijumps+1)-Ave_im(ijumps)]+λ×U (6)
最后,得到的RFPN值会被加到图像相对应的行像素中,经过上述步骤,图片中的水平条纹可以被检测到并且a(i)被估计得到,需要重复上述步骤T次。另外,考虑到8-bit图像的灰度值范围是(0–255),还需要对校正过程进行约束,如式(9)所示。
其中,y_new_r(i,j)是滤波后像素(i,j)的灰度值。
双边滤波具体步骤是:
(1)计算并保存RFPN校正后图像每一列的均值μj;
(2)设置Hj算子窗口参数wbf;
(3)根据式(13)计算Hj;
(4)将Hj带入到式(12),得到
其中,是X的估计值。算子的具体形式如下:
其中,wbf是Hj算子窗口参数,下标bf代表双边滤波,以区别于矩匹配窗口参数,用于控制窗口大小,该算子包含两个子函数αj和βj,其中,αj对那些离窗口中心较近的列分配较高的权重,而对那些较远的列分配较低的权重,遵循了空间相关性,βj对那些与中心列均值数值相近的列分配较大的权重,而对那些均值相差较大的列分配较小的权重,避免了过渡平滑;
(5)沿着列方向移动一个像素,重复步骤3-4,直到计算出最后一行的
最后,得到b(j),如式(14)所示:
另外,考虑到8-bit图像的灰度值范围是(0–255),还需要对校正过程进行一些约束,如式(15)所示。
其中,y_new_c(i,j)是滤波后(i,j)的灰度值。
本发明的特点及有益效果是:
本发明依据TDI-CMOS图像传感器FPN产生原因,采用改进矩匹配方法,有效地消除了TDI-CMOS图像传感器特有的行FPN和列FPN。从人眼直观看,如图4所示,效果比较明显。经算法校正后,行、列均值标准差有了显著的改善。
附图说明:
图1 TDI-CMOS图像传感器结构框图;
图2原始均匀光图像;
图3空间相关滤波矩匹配算法流程图;
图4实测图像FPN校正前后视觉效果对比:(a)校正前、(b)校正后;
图5图4中图像的行均值曲线对比;
图6图4中图像的列均值曲线对比。
具体实施方式
假设FPN和随机噪声都是加性噪声,而且两者不相关。对于给定的已制造完成的TDI-CMOS图像传感器芯片,假设其FPN对应的灰度值在相同工作环境下是相等的。随机噪声服从均值为零的高斯分布。
如图1所示,TDI-CMOS图像传感器的像素阵列大小是M×N,即M行N列。将行序号和列序号分别记为i和j。假设不同像素的光响应是不相关的,则输出图像中像素(i,j)的灰度值y(i,j)可以表示为式(1)。
y(i,j)=x(i,j)-a(i)-b(j)+r(i,j)1≤i≤L,1≤j≤N (1)
其中,L是图像在沿轨方向上的尺寸,x(i,j)是像素(i,j)的理想灰度值,a(i)是第i行像素对应的RFPN灰度值,b(j)是第j列像素对应CFPN灰度值,而r(i,j)是除FPN外的所有噪声对应的灰度值。根据TDI工作原理,a(i)满足式(2)。
a(i)=a(i+T) (2)
T=M+1 (3)
其中,M为TDI累加级数。
本发明提出的一种基于矩匹配的的FPN校正方法,首先对原始图像进行空间相关滤波,接着使用改进行矩匹配法进行RFPN校正,然后对RFPN校正后的图像进行双边滤波,接着使用改进列矩匹配法进行CFPN校正。
(一)RFPN校正
由于RFPN的存在,噪声图像的行均值曲线在边界处产生跳边。然而,理想图像的行均值曲线是空间相关的、连续的。根据这个特征,水平条纹的位置可以通过统计的方式得到。
第一步,计算第i和i+1行像素的平均值,并分别把它们定义为U1和U2。与此同时,计算(i+T×n)和(i+1+T×n)行像素平均值,并把它们定义为U1(n+1)和U2(n+1)。其中,(i+T×n)和(i+1+T×n)不大于图像的行数,n是正整数,如式(4)所示。
U1(n)=Ave_im(i+T×(n-1))i+T×(n-1)≤L
U2(n)=Ave_im(i+1+T×(n-1))i+1+T×(n-1)≤L (4)
Ave_im是一个自定义函数,用来求取像素的行均值。由于图像行数与积分器之间的一一对应关系具有周期性,因此,图像中由同一积分器输出的像素,被存储在同一个向量中。
第二步,对两个均值向量的差求均值。在某些情况下,两个向量的长度不相等。因此需要首先得到两个向量中较小的长度,然后再求均值,如式(5)。
l=min(U1,U2)
U=mean(U2(j)-U1(j))1≤j≤l (5)
如果U的值大于阈值UTh,那么i+T×(n-1)就是图像中条纹的位置。条纹处的a(i)可以被估计得到,如式(6)所示。
ijumps=i+T×(n-1)i+T×(n-1)≤L
a(ijumps)=0.5×[Ave_im(ijumps+1)-Ave_im(ijumps)]+λ×U (6)
最后,得到的RFPN值会被加到图像相对应的行像素中。经过上述步骤,图片中的水平条纹可以被检测到并且a(i)可以被估计得到。但是新的条纹会出现在i-1+T×(n-1)位置。因此,需要重复上述步骤T次。另外,考虑到8-bit图像的灰度值范围是(0–255),还需要对校正过程进行一些约束,如式(9)所示。
其中,y_new_r(i,j)是滤波后像素(i,j)的灰度值。以上过程叫做空间相关滤波。整个算法流程图如图3所示。
图像校正可以通过行矩匹配算法完成,如式(8)所示。
其中,Yij是校正后像素(i,j)的灰度值,Xij是空间相关滤波后像素(i,j)的灰度值,μi是第i行像素均值,σi是第i行标准差,μτ是参考均值,στ是参考标准差。
对标准矩匹配算法进行改进,添加一个移动窗口,μτ和στ如式(9)所示。其中,k是窗口中心位置,w是窗口参数。
具体实现步骤如下:
(1)计算并保存图像y_new_r每一行的μi和σi;
(2)设置行矩匹配窗口参数w;
(3)根据式(9)计算μτ和στ;
(4)将参考均值和标准差带入到式(8),校正相应行的RFPN;
(5)沿着行方向移动一个像素,重复步骤3-4,直到最后一行的RFPN被校正。
(二)CFPN校正
由于CFPN的存在,噪声图像的列均值曲线呈现无规则的波动,并且CFPN服从均值为零的高斯分布。因此,b(j)可以通过合适的滤波方法得到。
不考虑随机噪声,由式(1)可得,RFPN校正后的图像灰度表示如下:
z(i,j)=x(i,j)-b(j)1≤i≤L,1≤j≤N (10)
其中,z(i,j)是校正RFPN后像素(i,j)的灰度值。然后,图像列均值可以表示为:
Z(j)=X(j)-b(j) (11)
通过使用一个基于双边滤波结构的算子来估计理想图像的列均值X(j),其中,滤波使用移动窗口模式,start是窗口的起点列数,end是窗口终点列数。如式(12)所示。
其中,是X的估计值。算子的具体形式如下:
其中,wbf是Hj算子窗口参数,下标bf代表双边滤波,以区别于矩匹配窗口参数,用于控制窗口大小。该算子包含两个子函数αj和βj。其中,αj对那些离窗口中心较近的列分配较高的权重,而对那些较远的列分配较低的权重,遵循了空间相关性。βj对那些与中心列均值数值相近的列分配较大的权重,而对那些均值相差较大的列分配较小的权重,避免了过渡平滑。
具体实现步骤如下:
(1)计算并保存RFPN校正后图像每一列的均值μj;
(2)设置Hj算子窗口参数wbf;
(3)根据式(13)计算Hj;
(4)将Hj带入到式(12),可以得到
(5)沿着列方向移动一个像素,重复步骤3-4,直到计算出最后一行的
最后,可以得到b(j),如式(14)所示。
另外,考虑到8-bit图像的灰度值范围是(0–255),还需要对校正过程进行一些约束,如式(15)所示。
其中,y_new_c(i,j)是滤波后(i,j)的灰度值。
以上过程称为双边滤波。CFPN校正可以通过列矩匹配算法完成,如式(16)所示。
其中,Yij是校正后像素(i,j)的灰度值,Xij是双边滤波后像素(i,j)的灰度值,μj是第j行像素均值,σj是第j行标准差,μτ是参考均值,στ是参考标准差。
对标准矩匹配算法进行改进,添加一个移动窗口,μτ和στ如式(17)所示。其中,k是窗口中心位置,w是窗口参数。
具体实现步骤如下:
(1)计算并保存图像y_new_c每一列的μj和σj;
(2)设置窗口参数w;
(3)根据式(17)计算μτ和στ;
(4)将参考均值和标准差带入到式(16),校正相应列的CFPN;
(5)沿着列方向移动一个像素,重复步骤3-4,直到最后一列的CFPN被校正。
首先基于128级模拟域累加TDI-CMOS图像传感器设计了一套成像系统,使用设计的成像系统采集图像。然后设置参数,阈值Uth=1,行矩匹配窗口参数w=13,双边滤波窗口wbf=10,;列矩匹配行矩匹配窗口参数w=3。
实验结果表明,均匀光照下拍摄的图像的行均值标准差从校正前的5.6761LSB减小到了校正后的0.1948LSB,其列均值标准差从校正前的15.2005LSB减小到了校正后的13.1949LSB。
从图5也可以看出,原始行均值曲线波动很大,且存在周期性跳变(椭圆标记处)。使用提出的方法校正RFPN后,所有跳变完全消失,因此校正曲线比原始曲线光滑了许多。另外,从图6可以看出,原始列均值曲线波动较大,使用提出方法校正CFPN后,曲线更加平滑。另外,校正曲线的形状和走势都与原始曲线一致,表明提出的方法在校正FPN的同时可以很好地保留原始图像的细节信息。