在不同的光源或许气候条件下光谱特性是互不相同的,这被称之为色温。从物理意义上讲,人们看到的物体之所以呈现出特定的颜色,是因为光线照向物体时,物体所反射的光在人眼视觉体系中呈现出这种特定的颜色。也便是说,能看到的物体颜色不只取决于其反射特性,而且还和照向物体的光线有联系,如一张白纸在钨丝灯下会偏橘黄颜色,在荧光灯下会偏绿,而在日光下会有点偏蓝。主动白平衡的意图便是主动调整不同色温光照下图画的三基色重量的份额,使其看上去和标准光源下拍照的颜色共同。
现在在工程上运用的主动白平衡算法主要有大局白平衡算法和部分白平衡算法两大类。大局白平衡算法以“灰度国际法”GWM(Gray World Method)为代表,其以为所拍照的图画有丰厚的颜色改变,R、G和B三色重量的核算平均值应该持平,并以该均值作为白平衡校准的依据。部分白平衡算法以“镜面法”PRM(Perfect Reflector Method)为代表,该算法以为一幅图画中最亮像素点对应于润滑或许镜子外表的物体,这样的像素点最大极限反映了照耀光线的光谱信息,对这部分点做颜色信息核算并作为色温校对的依据。大局白平衡算法有较大的局限性,当场景过亮、过暗,或许颜色比较单一时,算法简直彻底失效。部分白平衡算法的关键在于寻觅参阅白点,而在野外拍照的进程中,总是能够找到参阅点的,文献[1]、[2]、[3]介绍了几种能准确寻觅参阅点的办法。
在工程上,需求对帧频较高的原始视频图画做实时的白平衡康复,而现在的主动白平衡办法,算法杂乱,核算时刻较长,难以完结对视频流的实时处理。本文就针对以上问题,评论了一种在FPGA上完结的、对视频流实时白平衡处理的自适应办法。
1 主动白平衡算法
在FPGA规划的进程中,选用部分白平衡的办法,主要有3个根本进程:
(1)色温估量
色温估量是主动白平衡中最重要的一步,依据算法估量当时场景的色温,给增益核算供给依据。文献[1]运用“镜面法”,严格操控Y、Cb和Cr三重量的联系,在YCbCr空间界说了一个六面体的区域,但凡落入该区域的点都能够作为参阅白点。文献[2]提出先对图画的R、G和B三个重量别离作直方图均衡化,然后将直方图均衡化后的图画转化到YCbCr空间,对转化后的Y重量进行边际检测,在边际包含的各个区域中寻觅满意文献[1]条件的区域,作为参阅白点区域。挑选契合必定条件的区域而不是挑选契合必定条件的点,能够进步参阅点挑选的准确性,可是直方图均衡化处理自身存在灰度级“简并”现象,这也是该文算法的缺乏。文献[3]直接在原图画的YCbCr空间,用LoG算子对Cb和Cr别离作色度边际提取,取得的色度边际即为参阅白点区域。归纳考虑参阅点挑选的准确性和电路规划的难易程度,本文选用文献[1]的办法挑选参阅点。
(2)增益核算
增益核算是在色温估量的基础上,求取色温批改系数的进程,主要有3种办法:
①查表法[1]。事前核算出一张表,记载不同的色温所对应的通道增益,具有速度快的长处。但由于表的容量有限,不能完结各种色温状况的接连调理。
②平均值法。关于参阅白点区域有R=G=B,即Cb和Cr的重量为零。得到各通道的增益如下:
③迭代法。设G通道的增益为常数1,R和B通道的增益别离为?自,?滋。迭代法依据参阅白点区域Cb和Cr的联系,经过不断地调理?滋和?自的值,便可得到各通道终究增益值。文献[1]中说到的办法,在场景呈现很多色块时,简单呈现颜色振动现象。本文在其基础上做出了如下改善,添加对白点数意图判别:判别是否WhitePointNum>N,只要场景的白点数目大于阈值N时,才以为色温估量有用,这样能防止色温估量无效时对批改系数的误操作导致的颜色振动。添加了对当时色温的判别:判别是否|Cb|+|Cr|M,假如小于阈值M,则以为批改后的图画现已到达白平衡,不做增益调理。文献[1]所示办法,只适应于相机的一次拍照,而摄像机拍照时刻长,场景改变快,所以有必要对每帧或隔几帧图画做如图1的处理,以应对场景色温的改变。图1中?滋和?自的初始值为常数1,λ为迭代步长。
(3)色温校对
在取得各颜色通道的增益量后,依照下面的等式对原图画一切像素进行调整。
上述3种增益核算办法中,平均值法和查表法多用于对单张图片处理,迭代法用于对接连图片序列的处理。迭代法取得的批改系数,用于下一帧图画的颜色校对,每次色温估量都是在颜色校对的基础上进行的。
2 体系硬件结构
体系硬件结构如图2所示。
现在五颜六色CCD相机,分为3CCD全色相机和单CCD Bayer五颜六色相机两大类。全色相机中,光线被分光体系分为R、G和B三色光后,别离投向三块CCD,这样在信号输出时就能够取得每个像素的三基色信息。Bayer格局的CCD感光外表掩盖有如图3所示的CFA,CFA上每个格点仅答应经过一种颜色重量,使每个感光单元只发生一个重量的灰度值。要取得每个像元的[r,g,b]信息,需求用到颜色空间插值。
Bayer CCD相机与全色相机比较,有价格相对廉价、要求进入光线的照度低、输出帧频高级长处,被广泛运用于工程实践中。本文所用的Bayer CCD相机有用像元数为1 024×1 024,帧频为30 Hz,像素时钟为45 MHz,像素位深度为8 bit,以Camera Link协议输出。
Camera Link是专门为数字摄像机提出的一种工业级的高速数据衔接与传输协议。选用LVDS(Low Voltage Differential Signaling)技能,运用较少的连线,却能到达理论上最大1.923 G b/s的传输速率,而且传输间隔比一般的传输办法更远。Camera Link标准中包含Base、Medium、Full 3种标准,其间Base标准只需求一个26针的衔接器即可完结。26 bit信号中包含:5对图画数据信号(X0,X1,X2,X3,Xclk),X0~X3传递图画数据,Xclk传递像素时钟;4对相机操控线(CC1,CC2,CC3,CC4),相机制造商能够自在界说各操控信号的功能以满意其特别产品;2对异步串行通讯信号线(SerTC,SerTFG),可用于相机和图画采集卡之间的异步串行通讯;2对屏蔽线,直接接地即可。在本文所述的体系只需求用到5对图画数据信号线。
本文选用的Camera Link协议芯片为DS90CR288A和DS90CR287,最高作业频率为85 MHz,能满意体系规划要求。DS90CR288A把接收到的4路LVDS数据信号和1路LVDS时钟信号,别离转化为28 bit的CMOS/TTL并行数据和像素时钟信号。4路LVDS数据线能传递28 bit数据,传递频率是LVDS时钟信号的7倍,最高可达595 MHz。28 bit数据中包含24 bit像素信号,1 bit帧同步信号(FVAL)、1 bit行同步信号(LVAL),1 bit数据有用信号(DVAL)和1 bit保存信号。在FPGA规划中,只需求运用帧、行同步信号,像素时钟和有用的像素信号即可完结对图画数据的处理。DS90CR287的作业进程和DS90CR288A相反,把数据和同步信号转化为LVDS信号传递出去。
体系用的主芯片为Altera公司的Cyclone III系列芯片EP3C16Q240C8,其具有丰厚的逻辑资源和触发器资源,内嵌很多乘法器和丰厚的RAM资源,特别合适时序操作和很多数据的并行运算。体系还用到容量2 MB的2块SRAM,最短拜访周期10 ns,能够把处理后的图画数据存于其间,供板上其他体系运用。
3 EDA规划
FPGA的规划采取自顶向下的模块化规划办法,体系的一级框图如图4所示。
写SRAM模块依据帧、行同步信号、像素时钟以及行、列偏移量,取得有用像素的起止,把像素数据存入SRAM。白平衡处理进程就在写SRAM模块中完结。“双向开关”由FVAL_In信号触发,起到信号线切换的作用,完结乒乓操作。当写SRAM模块把数据写入SRAM_A的一起,读SRAM模块从SRAM_B读取数据,当写SRAM模块把数据写入SRAM_B的一起,读SRAM模块从SRAM_A读取数据。读SRAM模块读取SRAM中的像素数据并以Camera Link 协议的方式传出。从全体作用上看,数据动力源不断地流过体系。
写SRAM模块中白平衡进程如图5 所示。
电路中色温校对模块,色温核算模块和增益核算模块衔接构成一个负反馈回路,能依据场景色温的改变,实时批改增益系数,使批改后的图画稳定在白平衡状况。
在色温核算的进程中没有必要对全平面像素做核算,为了编程和规划的便利,本文在每个4×4的块中选两点做色温核算,如图3中的(2,1)和(1,2)两个点。在颜色空间转化之前需求进行颜色插值,康复待测像素的三原色数据[r,g,b],用线性插值法康复的算法如下。
康复每一个像素的[r,g,b]值,需求用到相邻的3×3规模的像素值,但是相机数据是逐行顺次输出的,所以有必要暂存至少3行的像素值。本文引进一块8 KB的DPRAM,能够存储8行的像素信息。色温校对模块把数据写入外部SRAM的一起也把数据存入了内部的DPRAM,存满了8 KB的空间后,从地址0重新开始写入。把DPRAM分为上下两半页,每存好半页后, Bayer转RGB模块便从刚存的半页中寻址,读取数据,进行插值转化。
用Quartus II规划的DPRAM宏模块,如图6所示。能够看出输入DPRAM的信号都是在时钟上升沿锁存的,输出不锁存。拜访DPRAM以及完结插值进程可用“12状况法”完结,如图7所示。试验仿真图,如图8所示。
时刻剖析:相机输入4行数据的时钟周期数至少为1 144×4=4 576 T,上述进程操作时刻为:1 024/4×12=3 072 T,所以上述转化进程能在色温校对模块填满半页DPRAM的时刻内完结,且不会发生拜访DPRAM抵触。在满意时刻的条件下,能够寻址更多的点,选用更杂乱的插值办法做转化。
色温核算模块,在接收到转化信号后,完结RGB到YCbCr颜色空间转化,并把契合式(5)的点的Cb和Cr值累加,在一帧末的时分,完结除法运算,输出满意条件点的Cb和Cr的平均值以及Control信号。
4 试验成果
在试验的进程中参数(χ,α,β,γ,φ,M,N)别离设定为(120,30,30,50,100,8,2000)。图9为在荧光灯下的偏绿图画及其各通道直方图,图10为硬件白平衡后的图画及其直方图。图11、图12是野外拍照图画及康复的状况。
由图9、图10能够看出荧光灯下的物体偏绿,且G通道直方图高灰度级的像素显着多于其他通道。处理后的图画视觉作用较好,各通道像素灰度级趋于均衡。经过试验发现,处理后的图画比原图偏亮,这能够经过前级调光体系完结更好的处理作用。
本文剖析了现在的主动白平衡算法,结合EDA规划的特色,对迭代法进行了改善,能有用按捺颜色振动。体系能依据场景色温的改变,实时调整色温批改系数,康复场景的实在颜色。结合当时相机常用的Camera Link接口,在一块芯片上完结了图画预处理,减小了CPU运算担负,体系功耗小,运用远景较好。