阅读 73

camera 基础知识-1

0-基础知识

手机摄像头:PCB板、镜头、固定器和滤色片、DSP(CCD用)、传感器等部件组成。
工作原理为:拍摄景物通过镜头,将生成的光学图像投射到传感器上,然后光学图像被转换成电信号,电信号再经过模数转换变为数字信号,数字信号经过DSP加工处理,再被送到手机处理器中进行处理,最终转换成手机屏幕上能够看到的图像

焦点:


景深:




根据公式可以得到
(1)、镜头光圈:光圈越大,景深越小;光圈越小,景深越大;
(2)、镜头焦距:镜头焦距越长,景深越小;焦距越短,景深越大;
(3)、拍摄距离:距离越远,景深越大;距离越近,景深越小。

ISP芯片的作用就是对传感器输入的信号进行运算处理,最终得出经过线性纠正、噪点去除、坏点修补、颜色插值、白平衡校正、曝光校正等处理后的结果。
例子:


RGB565 每个像素用16位表示,RGB分量分别使用5位、6位、5位

光学变焦:光学变焦是通过移动镜头内部镜片的相对位置来改变焦点的位置,改变镜头焦距的长短,并改变镜头的视角大小,从而实现影像的放大与缩小。光学变焦不会牺牲清晰度

数字变焦: 数字变焦是通过可拍照手机处理器,把图片内的每个像素面积增大,从而达到放大的目的,就像我们在ACDSEE等图像处理软件中,强行拉大图像的像素一样。数字变焦显著牺牲清晰度

自动对焦算法有很多种, 相位,图像等等。 Voice Coil Motor(音圈马达VCM) 需要这种马达才可以调整自动对焦。



FV: Focus Value, 用来衡量图像AF的清晰度。
DOF: Deep Of Field, 景深,表示物距清晰的范围,景深越长表示物距前后清晰的范围越大
FV 与DOF 有了对应关系(如下图曲线的顶点位置),就可以定于拍摄的最佳位置,自动AF 就可以想办法做了


1-ISP 流程

ISP流程

备注:pipeline 中虽然 AWB 在 shading 校正之后,但 shading 校正需会要 AWB 根据统计资料推算出来的 CCT 值,且shading 是否校正对 AWB 影响较小,因此建议先做 AWB 色温曲线范围的调整,等 ALSC 校正完后再回来检查 AWB色温曲线范围是否需要微调。


上面的流程只是建议,如何调试看自己,大致流程基本一直。

2-其他概念知识

  • 关于raw(bayer)数据转换rgb数据
    RGB图, 即为三色图, 一个像素点就由RGB三种颜色构成的混合色, 而bayer图一个像素就只有一个颜色, 或R或G或B. 因为bayer一个像素点只有一种颜色, 需要借助这个像素点周围的颜色对它进行插值(填充)另外的两种颜色, 它本身的颜色就不用插了.

  • 关于色温的规律:
    色温越高,光色越偏蓝;色温越低则偏红

  • 关于白平衡:
    白平衡就是针对不同色温条件下,通过调整摄像机内部的色彩电路使拍摄出来的影像抵消偏色,更接近人眼的视觉习惯。 原理就是补充蓝色、红色, 在不同的温度下接近白色

  • 关于坏点矫正BPC(Bad Pixel Correction):
    坏点为全黑环境下输出图像中的白点, 高亮环境下输出图像中的黑点。

3-shading

  • Y shading
    Y 就是亮度,下面的图片看成单色图片就可以,关心亮度值


    Y shading 修正
  1.一般我们是计算出中心亮度L0和四个角的亮度L1,L2,L3,L4。
  2.计算出他们分别和中心亮度的比值:
     Y1 = L1/L0      Y2 = L2/L0
     Y3 = L1/L0      Y4 = L2/L0
 3.对于他们进行平均值,他们中的最大值,最小值,最大值和最小值的差
   Rvg = (Y1+Y2+Y3+Y4)/4
   Y_Max = max(Y1,Y2,Y3,Y4)
   Y_Min  = min(Y1,Y2,Y3,Y4)
   Y_Diff  = Y_Max - Y_Min  

就是四角与中心的的Y(亮度)达到一直

  • color shading


    color shading 原理

假设下面的颜色不一致,怎么调整,调整的依据是什么


1.根据图片,在图片上选择13block区域,再分别计算出13block区域的R/G,B/G
    中心:B0/G0   R0/G0
    四周:B1/G1 R1/G1,B2/G2 R2/G2,B3/G3 R3/G3..........B12/G12 R12/G12
2.根据四周的12block区域R/G,B/G与中心进行比值:
    R/G:
      RG1 = (R1/G1) / (R0/G0)
      RG2 = (R2/G2) / (R0/G0)
      RG12 = (R12/G12) / (R0/G0)
    B/G:
      BG1 = (B1/G1) / (B0/G0)
      BG2 = (B2/G2) / (B0/G0)
      BG12 = (B12/G12) / (B0/G0)
3.计算出12block区域RG,BG与中心的相对偏差比值:
     RG_offset:
       RG1_offset = abs((R1/G1 - R0/G0) / R0/G0)
       RG2_offset = abs((R2/G2 - R0/G0) / R0/G0)
       RG12_offset = abs((R12/G12 - R0/G0) / R0/G0)
     BG_offset:
       BG1_offset = abs((B1/G1 - B0/G0) / B0/G0
       BG2_offset = abs((B2/G2 - B0/G0) / B0/G0)
       BG12_offset = abs((B12/G12 - B0/G0) / B0/G0)
4.计算出12block区域的offset的偏差值
      R/G:
        RG_offset_max = Max{RG1_offset,RG2_offset,......,RG12_offset}
        RG_offset_min  = Min{RG1_offset,RG2_offset,......,RG12_offset}
        RG_offset_Diff  = RG_offset_max - RG_offset_min
      B/G:
        BG_offset_max = Max{BG1_offset,BG2_offset,......,BG12_offset}
        BG_offset_min  = Min{BG1_offset,BG2_offset,......,BG12_offset}
        BG_offset_Diff  = BG_offset_max - BG_offset_min

3-颜色矩阵


M是颜色矩阵,C颜色矩阵分量是图片中包含的RGBA信息,C1矩阵是用M应用于C之后的新的颜色矩阵分量。
M中数据含义 :第一行决定红色、第二行决定绿色、第三行决定蓝色、第四行决定了透明度。第五列是颜色的偏移量。
改变颜色分量时可以通过修改第5列的颜色偏移量来实现


4-fix pattern noise(FPN)与 temporal noise


从色彩空间上分,可以分为luma noise亮度噪声与chroma noise彩色噪声。


从时态上分,可以分为fix pattern noise与temporal noise。

  • Fix pattern noise 与时间无关,表现上看就是噪声幅度不随时间变化。
  • Temporal noise是随时间变化,在低光下录制的视频中不断变化的细小信号就是temporal noise。
    也有的分法把fix pattern noise定义为在图像行或者列存在的一条条的噪声,如下图所示



    Temporal noise视觉上是一种高频噪声。
    temporal noise的方法就是多帧平均加运动检测,如果存在图像存在变化就不累加,如果图像无变化就累加平均。

5-畸变类型,如何处理畸变

畸变类型: 径向畸变,切向畸变
**5.1径向畸变 **
径向畸变就是沿着透镜半径方向分布的畸变,产生原因是光线在原理透镜中心的地方比靠近中心的地方更加弯曲,这种畸变在普通廉价的镜头中表现更加明显,径向畸变主要包括桶形畸变和枕形畸变两种。



泰勒级数原理
x0 = k1x+k2x²+k3*x³;
y0 = k1y+......
因此k1,k2,k3 三个参数确定就能校正。

5.1切向畸变

下图的r 可以看成常数;



因此p1,p2 就可以校准了。
根据畸变的方式,只要确定了五个k1,k2,k3,p1,p2参数,就可以进行校准了;

REF:
ISP各模块功能介绍及调试经验

作者:xuefeng_apple

原文链接:https://www.jianshu.com/p/4f773173446c

文章分类
后端
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐