ISP之LSC(Lens Shading Correction)

LSC - Lens Shading Correction即镜头暗影校正

一、LSC的意义

众所周知Lens Shading分为Luma Shading和Color Shading。一般来说,物体到Lens中心的距离越远,图像越暗,呈圆形中性对称的方式递减。由于Luma Shading和Color Shading的成因及现象不同,所以我们也分开来分析一下这两种现象。

1、Luma Shading:

Luma Shading就是我们常说的Vignetting,形成原因可以分为大致两个原因:

其一,由镜头本身引入。镜头本身就是一个凸透镜,由于凸透镜原理,中心的感光必然比周边多;

其二,与光的特性有关。根据光的衰减特性,光的衰减与入射角呈cos关系,所以平行于光轴的光能量保留的最多,垂直于光轴入射的光线为0。这两个原因导致画面中间亮,边缘暗。

Luma Shading的现象如下图:

2、Color Shading:

Color Shading的成因相对Luma Shading会更复杂一些。形成原因大致可以分为三部分:

其一:与光的特性有关。我们都知道光的色散现象,即白光通过三棱镜后会被分解为七色光。而产生这种现象的原因就是三棱镜对不同波长光线的折射不同,从而导致不同波长光线走过的光程不同。同样的由于镜头对不同光谱光线的折射程度不同,导致入射光线中不同波长的光线落在Sensor的不同位置,从而引起Color Shading。

其二:由红外滤光片引入。Sensor可以感知人眼感知不到的红外光和紫外光,因此需要使用另外的滤波片进行滤除,否则会导致红绿蓝像素点的亮度值与人眼观察到的亮度值存在较大的差异。红外截止滤波片位于镜头和图像传感器之间,为了消除这些投射到Sensor上不必要的光线,防止Sensor产生伪色/波纹,从而提高色彩还原性。

红外滤波片主要分为干涉型、吸收型。

红外滤光片为干涉型红外截止滤波片,即反射红外光。在可见光区域有较高的透过率,存在较低反射率,而在红外区域正好相反,反射率较高,透过率很低。但成角度拍摄照片时,红外光在IR(Infrared简称IR)膜上会有较大反射,经过多次反射后,被Sensor接收从而改变图像R通道的值,引起Color Shading。

蓝玻璃则是吸收型红外截止滤波片,对红外光有很强的吸收作用,不存在很大的反射,能在一定程度上减轻shading和色差问题。

其三:与镜头相关。由Sensor上微透镜的CRA(Chief ray angle - 主光线角)与镜头的CRA不匹配导致。镜头的主光线角与传感器不匹配,会使传感器的像素出现在光检测区域周围,致使像素曝光不足,亮度不够。

备注:CRA是Chief Ray Angle的缩写,意思是主光角。从镜头的传感器一侧,可以聚焦到像素上的光线的最大角度被定义为一个参数,称为主光角(CRA)。对于主光角的一般性定义是:此角度处的像素响应降低为零度角像素响应(此时,此像素是垂直于光线的)的80%

### FPGA上的ISP图像信号处理 在FPGA上实现ISP(图像信号处理器)涉及多个模块的设计与集成,这些模块共同完成从原始图像数据到最终高质量图像的转换过程。具体来说,在FPGA平台上构建ISP主要包括以下几个方面: #### 1. 数据输入接口设计 为了接收来自CMOS/CCD传感器的数据流,通常会采用MIPI CSI-2、LVDS或Parallel等标准协议来作为输入接口。该部分负责将模拟电压水平转换为数字信号,并将其传输给后续处理单元。 #### 2. 基本预处理操作 进入FPGA后,首先要执行一些基础性的预处理任务,比如黑电平补偿和线性化调整。这一步骤旨在消除由于环境光照变化引起的固定模式噪声以及恢复真实场景亮度分布特性[^1]。 ```verilog module black_level_compensation ( input wire clk, input wire rst_n, input wire [9:0] raw_data_in, //假设10位RAW数据宽度 output reg [9:0] compensated_data_out ); always @(posedge clk or negedge rst_n) begin if (!rst_n) compensated_data_out <= 10'd0; else compensated_data_out <= (raw_data_in >= BLACK_LEVEL_OFFSET)?(raw_data_in - BLACK_LEVEL_OFFSET):10'b0; //BLACK_LEVEL_OFFSET定义为全局参数 end endmodule ``` #### 3. 高级图像增强算法实现 接下来是应用更复杂的图像优化技术,如降噪、锐度提升、色彩校正矩阵(CCM)计算、伽马校正等等。对于LSCLens Shading Correction),则是在此阶段被引入用于修正由镜头造成的暗角效应[^3]。 针对LSC的具体做法通常是预先测量不同位置处光强衰减值并存储在一个查找表(LUT)中;当实际拍摄时,则依据当前像素坐标查询对应权重因子w(x,y),再乘以原RGB分量从而达到均匀照明效果: \[ R'(x,y)=R(x,y)\times w(x,y), G'(x,y)=G(x,y)\times w(x,y), B'(x,y)=B(x,y)\times w(x,y). \] 其中\(w(x,y)\in[0,1]\),表示某一点相对于中心区域应增加多少倍率。 #### 4. 输出格式转换 最后经过一系列变换后的图像还需重新编码打包成适合显示或其他用途的形式输出。常见的有YUV/YCbCr颜色空间映射、JPEG压缩编码等功能都可以考虑加入到最后一个环节当中去。 综上所述,在FPGA上搭建完整的ISP流水线不仅考验硬件资源分配技巧同时也涉及到大量软件层面的知识积累。通过合理规划各个子系统的布局连接方式能够有效提高整体性能表现。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值