qq自动发货平台网站怎么做,网站建设与设计教程视频,wordpress end_lvl,网页程序代码这里写自定义目录标题 引言ISP的处理流程1、Sensor有暗电流2、通过镜头到达Sensor中间的光多于到达Sensor的边缘的光#xff0c;即光学系统中的渐晕3、Senor上有的像素点的输出有坏点4、Cmos的Sensor采用了Bayer色彩滤波阵列(Bayer Color Filter Array#xff0c;CFA)5、Seno… 这里写自定义目录标题 引言ISP的处理流程1、Sensor有暗电流2、通过镜头到达Sensor中间的光多于到达Sensor的边缘的光即光学系统中的渐晕3、Senor上有的像素点的输出有坏点4、Cmos的Sensor采用了Bayer色彩滤波阵列(Bayer Color Filter ArrayCFA)5、Senor获取的图像中有大量噪声6、Senor获取的图像容易受到光源颜色的影响7、Senor滤光板处各颜色块之间的颜色渗透带来的颜色误差8、人眼对暗部细节比Sensor敏感9、Senor的输出的Raw data是RGB但是有的处理在YUV上更方便且YUV存储和传输时更省带宽10、Senor一定曝光量下较暗部分或较亮部分的细节显示不充分11、图像传感器和镜头需要ISP模块根据光强度自动调节曝光时间12、镜头需要调节焦距才能避免光学成像模糊13、镜片的表面反射或镜筒、反光镜组的内面所引起的反射光到达底面后造成画面整体或一部份产生了雾蒙14、画面清晰度不够笔者小结 引言
1、ISP是什么 图像信号处理Image Signal Process主要用于手机拍照和录像效果 2、为什么需要ISP 在视觉处理过程中ISP就是成像引擎在实际环境中镜头和Sensor的物理缺陷(不完美)拍摄的光线条件多样镜头和Sensor需要根据环境做适应就像人眼要通过瞳孔缩放适应环境明暗一样。 ISP的处理流程
下面这个图是一个常用的ISP处理流程推荐一个链接学习ISPImage Signal Process先了解基本概念再学习这个流程。 先了解ISP在具体问题的解决方案
1、Sensor有暗电流
处理模块 BLCBlack Level Correction/ Black Level Compensate (OBC) 黑电平校正。所谓黑电平就是在DNP下将曝光时间和增益都调到最小时拍摄图片的亮度值理想情况下应该是0但是实际中因为sensor暗电流作用全黑像素值大于0。这一个值在后面可能会受到AWBGainCCMGamma的影响。
处理原理 我们需要找到一个矫正值所有像素值都减去这个值就得到一个矫正成功的结果。一般情况下sensor的传感器周边还有一小部分区域是有感光器的但是没有光透射进来。可以把这部分的传感器的信号作为矫正值从可感光部分的信号中减去就可获得校正后信号。
2、通过镜头到达Sensor中间的光多于到达Sensor的边缘的光即光学系统中的渐晕
处理模块 LSC(Lens Shade Correction)------镜头阴影校正 Lens Shading是由于镜片从边缘到中心对入射光线的反射程度不同造成拍摄均匀亮度的画面图像从中心到边缘亮度不均匀逐渐变暗。Color Shading是由于Lens从中心到边缘其R、G、B变暗的速率不一样总体表现就是Gb/Gr像素值差异较大两个像素之间有细微纹理。找出shading的distribution然后用最小的模型来建模将其导入
处理原理 首先检测出图像中间亮度比较均匀的部分认为这部分不需要矫正然后以此为中心计算出周围区域需要补偿的因子增益。实际项目中可以把镜头对准白色物体检查图像四周是否有暗角。 3、Senor上有的像素点的输出有坏点
处理模块 DPC/BPDDefect Pixel Correction/Bad Pixel Detect 坏点校正/坏点检测。相机中成像坏点一般是白色或者黑色的点和周围像素点的差异明显。
处理原理 第一步检测坏点。在RGB域上做5x5的评估如果某个点和周围的点偏离度超过阈值的点为坏点。为了防止误判还需要更复杂的逻辑如连续评估N帧。第二步纠正坏点。对找到的坏点做中值滤波替换原来的值即可。
4、Cmos的Sensor采用了Bayer色彩滤波阵列(Bayer Color Filter ArrayCFA)
处理模块 DMDemosaicing/Color Filter Array Interpolation/CFA插值------颜色插值 CMOS Sensor出来的RawData是Bayer格式的图像每个像素只有一个通道的信息。DM是将Bayer格式的图像恢复成每个像素用RGB三通道表示的方式。DM的主要依据是图像在平滑的局部区域各分量的ratio是相等的。插值算法的好坏会影响图片的细节如摩尔纹。 此处附上笔者自己的理解颜色是由RGB的3个值组成的所以每个像素点的颜色需要三块感光板成本太高所以实际中采用的是一块滤光板这个板子上是分割成很多小格子每个格子的颜色不一样bayer是其中一种分布方式绿色格子数2红色2蓝色因为人对绿色敏感当有光透过来会在小格子上产生数值最后采用颜色插值算出真实的RGB值 PS华为mate60pro采用了ryyb滤镜阵列技术RYYB就是将两个绿色像素G换成黄色像素Y替代, Y(红色和绿色组合)。
处理原理 内插法
5、Senor获取的图像中有大量噪声
处理模块 NRNoise Reduction/Denoise去噪 采用特定的LPFLow Pass Filter对图片进行滤波滤除图像的噪声成分而Bilateral filtering即双边滤波器它是一种保护边缘的平滑滤波器这样既可以滤除噪声edge又可以保留下来。
处理原理 对图像进行降噪处理的传统方法有均值滤波、高斯滤波本质是低通滤波器。 普通的高斯滤波只考虑像素的空间距离关系这样会导致滤波后图像变得模糊为了避免图像变模糊就需要保持图像的边缘这时就还要考虑相邻像素和本像素的相似程度对于相似度高的像素给予更高的权重我们称这种滤波为双边滤波。
6、Senor获取的图像容易受到光源颜色的影响
处理模块 AWBAutomatic White Balance------自动白平衡 解决环境光不同色温导致整幅图片偏色的情况。
处理原理 比较常用的WEB算法有灰度世界、完美反射法等。 灰度世界Gray World算法基于一个假设平均来讲世界是灰色的。所以白平衡就是调整R/B增益达到R、G、B 相等。
白平衡有3个步骤 1检测色温如果手工调节就知道图像中什么位置是白色物体了色温容易检测如果是自动调节就需要估计出猜出图像中的白色位置这是最重要的一环 实际计算中为了实时操作减少计算量通常选取某个特定区域(如图像中央)像素进行计算。但若图像颜色较为单一或选定区域正好落入大的色块红光下的白墙以上算法求得的色温会非常不准确。为此必须根据一定的约束条件挑选出白色像素来计算色差。 2计算增益计算R和B要调整的增益调整增益将Cb和Cr调整到0 (或接近0)的两个系数即RGB。 3色温矫正根据增益调整整幅图片的色温。 7、Senor滤光板处各颜色块之间的颜色渗透带来的颜色误差
AWB已经将白色校准了CCM就是用来校准除白色以外其他颜色的准确度的 处理模块 CCMColor Correction Matrix/ DSC color calibration----颜色校正矩阵 拍摄color checker24色板将相机拍摄图片值与色板标准值之间进行对比RGB颜色空间得出一组能将拍摄值校正到最接近标准值的3x3矩阵。通过这个矩阵对所有相机拍摄的图片进行颜色校正。 处理原理 一般颜色校正的过程是首先利用该图像传感器拍摄到的图像与标准图像相比较以此来计算得到一个校正矩阵一般情况下对颜色进行校正的过程都会伴随有对颜色饱和度的调整。颜色的饱和度是指色彩的纯度某色彩的纯度越高则其表现的就越鲜明纯度越低表现的则比较黯淡。 用一个3X3的CCM矩阵来校准, 其中每一列系数r1g1b1等于一个恒定值1。Ccm矫正最终结果可以通过拍摄24色卡图片然后用imatest一款专业的图像分析软件具有强大的图像分析和处理功能分析来做分析参考。
8、人眼对暗部细节比Sensor敏感
人眼不同于摄像机接收光子来感知光线。比如在一间小黑屋中每增加一盏灯摄像机都能线性增加亮度。但是人眼在黑暗时增加一盏灯时感受明显往后随着灯的个数增长人眼并不会有明显感受 处理模块 RGB Gamma------Gamma校正
处理原理 Gamma编码后的图像相比于线性编码的图像明显有更多的暗部色阶。Gamma编码刚好满足了人眼对暗部细节敏感的特性。即人眼是按照gamma 1的曲线对输入图像进行处理的公式f(I)I^gammaI为原图像素值。 现在常用的伽马校正是利用查表法来实现的即首先根据一个伽马值将不同亮度范围的理想输出值在查找表中设定好在处理图像的时候只需要根据输入的亮度既可以得到其理想的输出值。
9、Senor的输出的Raw data是RGB但是有的处理在YUV上更方便且YUV存储和传输时更省带宽
在YUV 色彩空间上进行彩色噪声去除、 边缘增强等更方便 处理模块 RGBToYUV------色彩空间转换
处理原理 YUV 是一种基本色彩空间 人眼对亮度Y改变的敏感性远比对色彩变化大很多 因此 对于人眼而言 亮度分量Y 要比色度分量U、V 重要得多。所以只有YUV444格式的YUV数据的比例是1:1:1其他各种格式如YUV422YUV420等格式UV的数据量都小于Y达到节省存储空间和传输带宽的目的。YUV数据的概念就是这样简单。在编程时查一下文档再搞清楚内存排布即可 第二RGB和YUV转换有固定的公式。 另外 在YUV 家族中, YCbCr 是在计算机系统中应用最多的成员, 其应用领域很广泛JPEG、MPEG均采用此格式。一般人们所讲的YUV大多是指YCbCr。
10、Senor一定曝光量下较暗部分或较亮部分的细节显示不充分
在YUV 色彩空间上进行彩色噪声去除、 边缘增强等更方便 处理模块 DRC/HDRDynamic Range Compression/ High-Dynamic Range宽动态 高动态图像的拍摄出来的结果通常会有亮部太亮暗部太暗的问题。DRC是调整图像暗部亮度使之变亮调整亮部亮度使之变暗而且保持图像的对比度。 处理原理 主要是通过tone mapping的方法将像素值在特别暗的区域拉高在特别亮的区域拉低。
11、图像传感器和镜头需要ISP模块根据光强度自动调节曝光时间
处理模块 AEAutomatic Exposure Control----自动曝光
处理原理 自动曝光的实现一般包括三个步骤 1光强测量。光强测量的过程是利用图像的曝光信息来获得当前光照信息的过程。可以统计图像的全部像素也可以统计图像中间部分、也可以将图像分成不同部分且每部分赋予不同权重。 2场景分析。场景分析是指为了获得当前光照的特殊情况而进行的处理比如有没有背光照射或者正面强光等场景下。对这些信息的分析可以提升图像传感器的易用性并且能大幅度提高图像的质量这是自动曝光中最为关键的技术。目前常用的场景分析的技术主要有模糊逻辑和人工神经网络算法。这些算法比起固定分区测光算法具有更高的可靠性主要是因为在模糊规则制定或者神经网络的训练过程中已经考虑了各种不同光照条件。 3曝光补偿。在完成了光强测量和场景分析之后就要控制相应的参数使得曝光调节生效。主要是通过设定曝光时间和曝光增益来实现的。
12、镜头需要调节焦距才能避免光学成像模糊
处理模块 AF (Auto Focus) ---- 自动对焦
处理原理 AF算法的基本步骤是先判断图像的模糊程度通过合适的模糊度评价函数求得采集的每一副图像的评价值, 然后通过搜索算法得到一系列评价值的峰值, 最后通过电机驱动将采集设备调节到峰值所在的位置, 得到最清晰的图像。 对焦评价函数 评价函数有很多种, 主要考虑的图像因素有图像频率(清晰的图像纹理多, 高频分布较多), 还有图像的灰度分量的分布(图像对应的灰度图的分量分布范围越大,说明图像的细节较多, 反应的图像的清晰程度) 常用的搜索算法有爬山算法, 搜索窗口有黄金分割点对焦嵌套窗口等。
13、镜片的表面反射或镜筒、反光镜组的内面所引起的反射光到达底面后造成画面整体或一部份产生了雾蒙
处理模块 Flare offset光学上称Flare也叫stray light耀斑补偿
处理原理 镜片的镀膜及内面防反射处理的加强固然可以大幅度地减少光斑但被摄体的状况并不相同不可能完全消除。因此在相机里面设计都是黑色的且其内侧表明设计都是粗糙的目前就是为了减小flare。flare如何修正做直方图然后每阶的亮度都往下降这样是否会影响颜色呢因此flare一定要是在linear domain去做不能在RGB domain去做。
14、画面清晰度不够
处理模块 EEEdge Enhancement/Edge Sharpening锐化边缘增强。
处理原理 通过滤波器获取图像的高频分量按照一定的比例将高频部分和原图进行加权求和获取锐化后的图像。
笔者小结
原始图像会因为镜头和传感器的缺陷、受外界光线的影响出现图像有色差、模糊等问题所以需要用ISP进行处理。 通常的流程是先进行黑电平校准BLC黑电平是在DNP下将曝光时间和增益都调到最小时拍摄图片的亮度值——进行镜头阴影校正LSC避免出现边缘模糊的情况——如果镜头有坏点需要进行坏点去除坏点检测BPD坏点去除BPC——颜色插值DM——颜色矫正矩阵——Gamma校正使得在暗处的曲线不是线性的——降噪NR/锐化EE