ISP图像处理pipeline简介1

devtools/2024/12/22 18:04:52/

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.ppmy.cn/devtools/4165.html

相关文章

基础算法:一次性理解二分算法

二分查找 1.理解2.三种模板2.朴素模板注意事项 3.左端点模板注意事项 4.右端点模板注意事项 3.典型例题3.1题目要求3.2题目解析3.3实现思想寻找左边界思路寻找右边界思路: 3.4代码实现3.5注意事项 1.理解 本质:二段性 首先我们需要打破我们的固有思维&…

鸿蒙系列--第一个程序HelloWorld

一、下载安装 下载DevEco Studio(https://developer.huawei.com/consumer/cn/deveco-studio/)并安装 二、创建第一个鸿蒙应用 Next Compile SDK:鸿蒙SDK版本 Mode:ArkTS的声明式开发范式与类Web 开发范式,官方主推S…

TCP三次握手,但通俗理解

如何用通俗的语言来解释TCP(传输控制协议)的三次握手过程? 想象一下你正在和朋友电话沟通,但你们之间不是心灵感应,而是需要通过清晰地听到对方的声音来确认通话质量良好。TCP三次握手就像是在电话拨通之前&#xff0…

【Python】函数(纯干货版)

目录 什么是函数 函数定义 函数的文档说明 局部变量和全局变量 综合案例:模拟实现ATM界面 什么是函数 函数是组织好的,可重复使用的,用于实现特定功能的代码段,将功能封装在函数内,可供随时随地重复利用&#xff…

如何利用纯前端技术,实现一个网页版视频编辑器?

纯网页版视频编辑器 一、前言二、功能实现三、所需技术四、部分功能实现4.1 素材预设4.2 多轨道剪辑 一、前言 介绍:本篇文章打算利用纯前端的技术,来实现一个网页版的视频编辑器。为什么突然想做一个这么项目来呢,主要是最近一直在利用手机…

Flume 搭建和操作使用的详细教程

下载 官网下载: https://flume.apache.org/download.html 安装 基本上不需要做什么配置,下载后解压即可使用!! 下载安装包:apache-flume-1.11.0-bin .tar.gz 上传至 linux 的 /opt/ 目录下 解压至 /opt/apps(可以自定义目录) 修改简短名称(方便配置) 配置环境变量(方…

JavaScript函数⭐

一,函数的使用 1.1函数的定义 函数就是封装了一段可以被重复执行的代码块 目的:让大量代码重复使用 1.2封装 函数的封装是把一个或多个功能通过函数的方式封装起来,对外只提供一个简单的函数接口 封装类似于把电脑配件整合组装到机箱中…

网络安全(黑客)—2024自学

1.网络安全是什么 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 2.网络安全市场 一、是市场需求量高; 二、则是发展相对成熟…