ISP图像处理pipeline简介1

ISP 是什么?

ISP (Image Signal Processor),图像信号处理器,是用于摄影和视频处理的一种专用芯片。它是用来干什么的呢?简单说就是用来将图像传感器(CCD, CMOS)信号转化成可视的信号的功能,这里可视的是指人眼可见的意思;在其它的应用场景,比如车载自动驾驶和机器人领域,“可视的”就要改成“可识别的“,可识别是指机器可识别,计算机可识别,或者算法可识别,这就是computer vision机器视觉(总之不是给人看的)。总之,就是将传感器信号进行处理,让人或者机器人能够看得见。要达到这个目的,我们对isp提了一些基本的要求。

ISP通常会作为一个模块集成到SoC上,也可以在设备的CPU或GPU上执行在ISP上的操作

ISP要求三原则

  1. 看得见 (动态范围, 明暗的分布范围,在科学研究中用lux来衡量亮度的大小。在日常生活和应用场景中,我们在晴天的日光下,照度可以达到10万lux,在树荫下照度下降到了1万lux,在日光灯下,只有300lux,白炽灯下又下降了一半只有150lux,在夜晚的路灯下只有10lux烛光下是1lux,在有月亮并且是满月的情况下照度只有0.1lux;星光下是0.001lux,在没有月亮也没有星星的漆黑的夜晚,照度达到了最低,仅仅1/10000 lux(万分之一);看得见的要求是在一个比较暗的环境下,依然能看得见。比如包括安防、无人机、自动驾驶等等对“看得见”的基本要求是在10lux,也即是在路灯下能够看得见。军工级别的要求是在0.001lux也就是有星星的夜晚能够可视(看得见)。)
  2. 看得清 (清晰度,噪音,这个就比较好理解,你看各手机厂,相机厂都在拼分辨率,就是为了能让照片拍得更加清晰)
  3. 看的好 (色彩或风格,比如什么哈苏色彩,徕卡色彩)

ISP应用领域

应用领域只能说很广泛,比如你现在玩的手机,出去玩带的各种相机,家里装的监控,以及汽车,机器人,特别是自动驾驶汽车,摄像头可能有十几个,车内车外都可能有。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

ISP的工作流程PIPELINE

下图展示的是相机isp的典型pipeline, 这个例子中传感器数据最终会被输出为一个JPEG图片:
在这里插入图片描述
不同的ISP可能会以不同的顺序或方式应用这些步骤并且往往更加复杂,但一般包含这些步骤:3A(auto focus, auto exposure, auto white balance, 自动对焦, 自动曝光,自动白平衡),ISO增益,raw图片的各种处理,Demoasicing解马赛克,降噪,色彩空间转换,镜头和sensor校正,色彩校正,对比度和动态范围的调整,锐化,编码压缩等等。

下图是另一个使用场景的isp pipeline,这个例子中,传感器输出的raw data会被转化为yuv格式,然后进行视频编码。上一个例子是拍照的场景,这个是录视频的场景。
在这里插入图片描述
在这里插入图片描述
上一个图中按照图片在不同阶段的格式将pipeline划分为三个不同的阶段:raw domain, rgb domain,yuv domian。raw就是sensor 直出的,未经过处理的格式;在经过解马赛克这个工序之后就变成了rgb格式;但是在视频处理领域用得比较多的的是yuv格式,所以pipeline中需要将rgb格式转化成yuv进行后续的处理。

ISP 算法分类

从算法层面来讲,我们可以把ISP的常用算法分为几大类:2A(3A),镜头和sensor校正,对比度与动态范围,色彩,清晰度和降噪。

3A

3A就是指3auto focus自动对焦, auto exposure自动曝光, auto white balance自动白平衡。2A就是不包括自动对焦。
自动曝光曝光就是通过分析统计信息对sensor的曝光强度进行控制,确保视频(图片)亮度的稳定性。
自动白平衡同样也是通过分析统计信息对sensor输出的信号进行白平衡进行校正,确保色彩感知的稳定性,或者说叫让白色呈现为白色,解决环境光不同色温导致整幅图片偏色的情况。
同理,自动对焦也是通过分析统计信息对镜头的焦距进行调整保证兴趣区域的清晰度。

镜头和sensor校正

镜头是由透镜组成,由于制造精度以及组装工艺的偏差会引入畸变,导致原始图像的失真(包括形状,亮度,色彩)。镜头的畸变分为径向畸变和切向畸变两类。同时sensor模组本身也会导致一些信号的退化(亮度变化,串色等)。为了解决这些问题,ISP有各种算法来对这些畸变进行校正。
LSC:lens shading correction.镜头阴影校正,用来校正由于镜头模组导致的成像时的亮度和色彩不平衡。
CAC:color aberration correction, 用来校正由于镜头模组导致的色散现象。
DPC:defected pixel corrtction, 传感器像素坏点校正,用来处理传感器制作过程中出现的坏点。
BLC: black level correction, 黑电平校正

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/616252.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024信息工程、软件与计算机工程国际会议(ICIESCE2024)

2024信息工程、软件与计算机工程国际会议(ICIESCE2024) 会议简介 随着互联网的不断创新,信息工程、软件和计算机工程在各个领域得到了广泛应用。为了为来自世界各地的专家学者提供一个分享通信和计算机工程领域研究成果的平台,2024年信息工程…

强化学习实践0

gym是目前强化学习最常用的工具之一,一直在迭代升级。2021年gym库不再更新,推出了gymnasium作为替代 1。 gymnasium与gym之间的主要不同在于reset和step的返回参数数目发生了变化,具体变化见版本变化。 gym目前并不支持python3.11版本…

【重回王座】ChatGPT发布最新模型gpt-4-turbo-2024-04-09

今天,新版GPT-4 Turbo再次在大型模型排行榜上荣登榜首,成功超越了此前领先的Claude 3 Opus。另外,新模型在处理长达64k的上下文时,性能竟能够与旧版在处理26k上下文时的表现相当。 目前GPT-4 Turbo仅限于ChatGPT Plus的用户&…

minio-docker单节点部署SDK测试文件上传下载

目录 一,docker部署minio单节点单磁盘 二,SDK测试上传下载 一,docker部署minio单节点单磁盘 1.拉取镜像 # 下载镜像 docker pull minio/minio 2.查看镜像 docker images 3.启动minio(新版本) 创建本机上的挂载目录,这个可以…

C++11的更新介绍(lamada、包装器)

🪐🪐🪐欢迎来到程序员餐厅💫💫💫 主厨:邪王真眼 主厨的主页:Chef‘s blog 所属专栏:c大冒险 总有光环在陨落,总有新星在闪烁 lambda表达式 C98中的一个…

【软件设计师】计算机软考下午题试题六,Java设计模式之简单工厂模式。

【软件设计师】计算机软考下午题试题六,Java设计模式之简单工厂模式。 代码如下: //简单工厂模式 public class SimpleFactory {public static void main(String[] args) {Product ProductAFactory.createProduct("A");ProductA.info();Produc…

AI赋能档案开放审核:实战

关注我们 - 数字罗塞塔计划 - 为进一步推进档案开放审核工作提质增效,结合近几年的业务探索、研究及项目实践,形成了一套较为成熟、高效的AI辅助档案开放审核解决方案,即以“AI人工”的人机协同模式引领档案开放审机制创新,在档…

SQL注入sqli_libs靶场第一题

第一题 联合查询 1)思路: 有回显值 1.判断有无注入点 2.猜解列名数量 3.判断回显点 4.利用注入点进行信息收集 爆用户权限,爆库,爆版本号 爆表,爆列,爆账号密码 2)解题过程&#xff1…

C语言学习笔记之指针(一)

目录 什么是指针? 指针和指针类型 指针的类型 指针类型的意义 指针-整数 指针的解引用 指针 - 指针 指针的关系运算 野指针 什么是野指针? 野指针的成因 如何规避野指针? 二级指针 什么是指针? 在介绍指针之前&#…

Vulnhub靶机 DC-1渗透详细过程

Vulnhub靶机:DC-1渗透详细过程 目录 Vulnhub靶机:DC-1渗透详细过程一、将靶机导入到虚拟机当中二、攻击方式主机发现端口扫描web渗透利用msf反弹shell数据库信息web管理员密码提权 一、将靶机导入到虚拟机当中 靶机地址: https://www.vulnhub.com/entry/dc-1-1,29…

Python网络爬虫中JSON格式数据存储详解

目录 一、引言 二、JSON格式数据简介 三、Python中处理JSON数据 四、网络爬虫中获取JSON数据 五、存储JSON数据到文件 六、从文件中读取JSON数据 七、注意事项和常见问题 八、总结 一、引言 在网络爬虫的应用中,JSON格式数据以其轻量级、易读易写的…