ISP算法高水平分析(上)

一.ISP基本框架及算法介绍

ISP是Image Signal Processor的缩写,全称是影像处理器。在相机成像的整个环节中,它负责接收感光元件(Sensor)的原始信号数据,可以理解为整个相机拍照、录像的第一步处理流程,对图像质量起着非常重要的作用。

ISP的功能比较杂,基本上跟图像效果有关的它都有份。它内部包含多个图像算法处理模块,其中比较有代表性的是:

• 扣暗电流(去掉底电流噪声)

• 线性化(解决数据非线性问题)

• shading(解决镜头带来的亮度衰减与颜色变化) :可优先开发

• 去坏点(去掉sensor中坏点数据)

• 去噪(去除噪声):可优先开发

• demosaic(raw数据转为RGB数据)

• 3A(自动白平衡,自动对焦,自动曝光)

• gamma(亮度映射曲线,优化局部与整体对比度) :可优先开发

• 锐化(调整锐度)

• 色彩空间转换(转换到不同色彩空间进处理)

• 颜色增强(可选,调整颜色)

• 肤色增强(可选,优化肤色表现)

二.Sensor信号输出YUV、RGB、RAW DATA、JPEG 4种方式区别

YUV: luma (Y) + chroma (UV) 格式, 一般情况下sensor支持YUV422格式,即数据格式是按Y-U-Y-V次序输出的。

RGB: 传统的红绿蓝格式,比如RGB565,其16-bit数据格式为5-bit R + 6-bit G + 5-bit B。G多一位,原因是人眼对绿色比较敏感。

RAW RGB: sensor的每一像素对应一个彩色滤光片,滤光片按Bayer pattern分布。将每一个像素的数据直接输出,即RAW RGB data。

JPEG: 有些sensor,特别是低分辨率的,其自带JPEG engine,可以直接输出压缩后的jpg格式的数据。

YUV一个像素占2B,如果像素太高在高时钟下基带芯片处理不过来,JPEG数据量就要小的多,所以不是YUV对基带芯片有要求而是基带芯片对输出数据速率有要求。

2 RGB565一般用在很低端的基带芯片上,直接往屏上刷。YUV输出亮度信号没有任何损失,而色偏信号人眼并不是特别敏感,RGB565输出格式是R5G3 G3B5会丢掉很多原始信息,所以YUV图像质量和稳定性要比RGB565好的多。

3 RAW数据每个像素就1B,数据量要少很多,一般5M以上sensor就只输出RAW数据以保证比较快的输出速度,后端挂一个DSP来处理输出的数据。

三.ISP算法处理流程


四.Denoise-----去除噪声

使用 cmos sensor 获取图像,光照程度和传感器问题是生成图像中大量噪声的主要因素。同时,当信号经过 ADC 时,又会引入其他一些噪声。这些噪声会使图像整体变得模糊,而且丢失很多细节,所以需要对图像进行去噪处理空间去噪传统的方法有均值滤波、
高斯滤波等。

但是,一般的高斯滤波在进行采样时主要考虑了像素间的空间距离关系,并没有考虑像素值之间的相似程度,因此这样得到的模糊结果通常是整张图片一团模糊。所以,一般采用非线性去噪算法,例如双边滤波器,在采样时不仅考虑像素在空间距离上的关系,同时加入了像素间的相似程度考虑,因而可以保持原始图像的大体分块,进而保持边缘。

采用特定的LPF(Low Pass Filter)对图片进行滤波,滤除图像的噪声成分,而Bilateral filtering即双边滤波器,它是一种保护边缘的平滑滤波器,这样既可以滤除噪声,edge又可以保留下来。

常见算法分类

空域算法

均值滤波、中值滤波、高斯滤波、双边滤波、NLM

变换域算法

频域:低通滤波、高通滤波、带通滤波

Wavelet:基于小波系数阈值、基于系数相关性等

DCT(离散余弦)变换等

时域算法

一般为常规算法结合多帧匹配,前景和背景判断、动静判决

结合算法

类似BM3D去噪算,空域和Wavelet的结合

六.Demosaic------颜色插值

DEMOSAIC 是 ISP 的主要功能之一。SENSOR
的像素点上覆盖着 CFA,光线通过 CFA 后照射到像素上。CFA 由 R、G、B 三种颜色的遮光罩组成,每种遮光罩只允许一种颜色通过,因此每个像素输出的信号只包含 R、G、B 三者中的一种颜色信息。SENSOR 输出的这种数据就是 BAYER 数据,即通常所说的 RAW 数据。显而易见,RAW 数据所反映的颜色信息不是真实的颜色信息。DEMOSAIC 就是通过插值算法将每个像素所代表的真实颜色计算出来。

光线中主要包含三种颜色信息,即R、G、B。但是由于像素只能感应光的亮度,不能感应光的颜色,同时为了减小硬件和资源的消耗,必须要使用一个滤光层,使得每个像素点只能感应到一种颜色的光。目前主要应用的滤光层是bayer GRBG格式。如下图所示:

七.AF------自动对焦

八.AE------自动曝光

曝光。EXPOSURE 主要影响图像的明暗程度。ISP 需要实现 AE 功能,通过控制曝光程度,使得图像亮度适宜。

曝光表(Exposure Meter),也叫测光表。摄影时计量光的强弱并借以控制摄影曝光时间和光圈大小的仪表。内置表设定。

九.AWB------自动白平衡

白平衡。白平衡与色温相关,用于衡量图像的色彩真实性和准确性。ISP需要实现 AWB 功能,力求在各种复杂场景下都能精确的还原物体本来的颜色。人类视觉系统具有颜色恒常性的特点,因此人类对事物的观察可以不受到光源颜色的影响。但是图像传感器本身并不具有这种颜色恒常性的特点,因此,其在不同光线下拍摄到的图像,会受到光源颜色的影响而发生变化。例如在晴朗的天空下拍摄到的图像可能偏蓝,而在烛光下拍摄到的物体颜色会偏红。因此,为了消除光源颜色对于图像传感器成像的影响,自动白平衡功能就是模拟了人类视觉系统的颜色恒常性特点来消除光源颜色对图像的影响的。

  1. 灰度世界算法(Gray World
    Assumption)

这个算法原理很简单, 就是根据前面所说的灰度世界理论, 将原始图像的RGB均值分别调整到R=G=B即可。不完美的地方就是这个算法对颜色不丰富的图像敏感程度一般, 处理起来效果也就不会很理想, 局限性较大。

  1. 标准差加权灰度世界算法(Standard
    DeviationWeighted Gray World Assumption)

标准差加权灰度世界算法是针对上一个算法的改进, 它的原理是把图像等分成几块, 然后对每个块利用统计学进行分析, 看里面颜色的丰富程度, 颜色多的就加权, 颜色少得就减少权重, 最后求和得出一个均值。根据这个相对精确的数值来进行RGB数值的修正。

  1. 全反射算法(Perfect
    Reflector Assumpution)

这个是基于前面介绍的全反射理论生成的算法, 理解起来也不难, 它认为中最亮的那个点就一定是白色的, 如果原始图像中最亮的那个点不是, 那就针对偏离白色的数值进行逆向修正。缺点就是如果图像色彩复杂或者就是没有高光点, 它的修正效果就会比较乏力。


ISP算法高水平分析(上)相关推荐

  1. 粒子群优化算法分布式电源选址定容 matlab源代码,分析了分布式电源接入配电网前后对网络损耗的影响,在此基础上提出采用混合模拟退火算法的改进粒子群优化算法进行分布式电源选址和定代码按照高水平文章复现

    (1)粒子群优化算法分布式电源选址定容 如图12 matlab源代码,代码按照高水平文章复现,保证正确 分析了分布式电源接入配电网前后对网络损耗的影响,在此基础上提出采用混合模拟退火算法的改进粒子群优 ...

  2. 【高通SDM660平台 Android 10.0】(17) --- ISP算法相关-待学习文章

    <精 高通camera结构(摄像头基础介绍)> <Android : Camera2/HAL3 框架分析> 待学习: <基于IC设计的实用ISP介绍> <IS ...

  3. 算法设计与分析(电子科技大学)(上)算法基础和贪心算法

    算法分析与设计 引论 (1)理解算法和程序的差别 (2)理解判断问题和优化问题这两类计算问题 1.理解指数增长的规模 2.理解渐进表达式 掌握渐进符号Ο.Θ.Ω的含义,能判断一个函数属于哪个渐近增长阶 ...

  4. 算法设计与分析基础-笔记-上

    算法设计与分析基础 绪论 什么是算法 一系列解决问题的明确指令,对于符合一定规范的输入,能够在有限的时间内获得要求的输出. 例子:最大公约数:俩个不全为0 的非负整数 m m m和 n n n的最大公 ...

  5. eBCC性能分析最佳实践(1) - 线上lstat, vfs_fstatat 开销高情景分析...

    Guide: eBCC性能分析最佳实践(0) - 开启性能分析新篇章 eBCC性能分析最佳实践(1) - 线上lstat, vfs_fstatat 开销高情景分析 eBCC性能分析最佳实践(2) - ...

  6. 计算机科学与技术类高水平国际学术刊物,莘莘学子 | 计算机科学与技术学院本科生薛传雨在国际期刊上发表高水平学术论文...

    计算机科学与技术学院本科生薛传雨 在国际期刊上 发表高水平学术论文 近日,我校计算机科学与技术学院16级本科生薛传雨撰写的学术论文在国际期刊IEEE ACCESS上在线出版.指导教师和通讯作者为吴舜尧 ...

  7. 算法设计与分析复习笔记(上)

    简介:本文是博主在复习算法设计与分析的笔记,参考了北大算法设计与分析以及王晓东编著的<计算机算法设计与分析>第四版相关内容,如有错误,欢迎指正. 文章目录 设计技术 分治 动态规划 设计技 ...

  8. 独家 | 如何利用大规模无监督数据建立高水平特征?

    作者:Jae Duk Seo 翻译:Nicola 校对:丁楠雅 本文约3000字,建议阅读9分钟. 本文带你一窥Twitter整个产品链的构成,了解数据科学是怎样在各类型公司中发挥作用的. GIF来自 ...

  9. 对话王晶:音频人才亟待培养,高水平研究人员尤其欠缺

    点击上方"LiveVideoStack"关注我们 策划:Alex.包研 编辑:Alex 王晶 年终访谈 #007# 编者按:春节前夕的最后一次采访,LiveVideoStack有幸 ...

最新文章

  1. Golang正则笔记 :使用正则表达式处理题库文本
  2. PHP 安全email
  3. icf表格_ICF企业教练实践大奖案例——建立改变和拯救生命的教练文化
  4. Python3中的hasattr()
  5. 2000年不算在21世纪
  6. 嵌入式全栈工程师_我花了半个月,整理出了这篇嵌入式开发学习指南(学习路线+知识点梳理)...
  7. java封装发送邮件的插件_基于Spring封装的Javamail实现邮件发送
  8. 遭遇Asp.Net长文件名下载的问题和解决办法
  9. mx350显卡天梯图_不可错过的2020显卡天梯图,选卡详解
  10. windows自带黑体_Windows自带的宋体、黑体、楷体、仿宋体等能免费商用吗?
  11. Qt语言家使用中遇到的问题及解决方案
  12. 风灵月影捆绑软件解决办法(修改器)
  13. Iconfont 替代品网站 图标网站推荐
  14. SSH之known_hosts文件
  15. 运维工程师转行做什么?
  16. 华为HG8245光纤猫路由设置
  17. 三生三世.枕上书 麦田里的守望者坎坷飞的
  18. 一个妹子的考研倒计时一百天
  19. 我的世界虚拟服务器联机,我的世界模拟城市联机教程-的世界怎么联机
  20. 解决IE被www.633dh.com/劫持

热门文章

  1. 2022-2028年中国氢化丁晴橡胶行业市场研究及前瞻分析报告
  2. 2022-2028年中国酒行业投资分析及前景预测报告
  3. c语言函数传参时候的类型强制装换
  4. pytorch利用多个GPU并行计算多gpu
  5. BERT-Pytorch demo初探
  6. Centos7安装Nginx详细步骤
  7. LeetCode简单题之单值二叉树
  8. AMD–7nm “Rome”芯片SOC体系结构,支持64核
  9. Redis高可用集群Redis Cluster搭建
  10. Android ScrollView 滑动指定的距离