ISP图像算法面试准备(1)

news2025/5/19 20:38:29

ISP图像算法面试准备

ISP图像算法面试准备(1)


文章目录

  • ISP图像算法面试准备
  • 前言
  • 一、ISP流程
  • 二、重点关注
    • 1. AWB必须在Demosaic之后进行。
    • 2. Gamma矫正通常在CCM之前进行
  • 三、如何实现ISP参数自动化调试
  • 四、AE,即自动曝光(Auto Exposure)
  • 总结


前言

ISP专注于底层图像任务,了解ISP pipeline流程,对图像理解很有帮助

个人理解:对于ISP图像算法的学习,一般需要专注于:

  1. 光学成像技术,了解CMOS传感器工作原理;
  2. 传统图像处理算法,即数字图像处理相关内容,了解在空域频域如何进行图像运算等;
  3. 图像质量评价,能够准确评估图像的清洗度,对比度,色彩准确性等。
  4. 现在大多注重由传统方法进阶到深度学习算法,所以了解深度学习相关图像处理算法也是很有必要的。

推荐博文:

60. 数码相机成像时的噪声模型与标定

键盘摄影(七)——深入理解图像信号处理器 ISP

如何深入研究ISP算法?

5分钟理解相机ISP (图像信号处理) -----非常推荐

摄像头与成像】长文详解RAW图的来龙去脉

Understanding ISP Pipeline----非常推荐

食鱼者的博客----非常推荐

键盘摄影(一)——相机成像基本元件


一、ISP流程

ISP(Image Signal Processing),图像信号处理器
主要步骤包括:

  1. 光线经过lens镜头,投射到sensor上。
  2. 光线在sensor上进行光电转换成模拟电信号
  3. 模拟电信号通过A/D转换成数字信号
  4. 数字信号进入ISP芯片进行一系列处理,包括:Raw域 RGB域 YUV域

在这里插入图片描述

光线通过镜头进入相机,CMOS作为传感器,将现实世界的光线转换为电信号,经过信号放大和噪声过滤等基本处理后得到一张照片的原始数据(Raw图),ISP对Raw图进行灰度补偿,色彩插值,平滑处理,色彩校正等,将其转换为可供显示的RGB图像,或者YUV格式,最终将图片压缩成一个彩色的JPEG格式的图像,便于存储和传输。

在这里插入图片描述

需要使用ISP模块的原因有两个方面,一个是镜头和Sensor的物理缺陷导致的。
第二是拍摄光线条件多样,镜头和Sensor需要根据环境做适应。

二、重点关注

1. AWB必须在Demosaic之后进行。

在ISP流程中,AWB和Demosaic的顺序是固定的。Demosaic是将Bayer Pattern的原始图像数据转换成RGB全彩色图像的过程,而AWB是在全彩色图像上进行调整,确保“白色”物体在图像中呈现为白色。所以AWB要在Demosaic之后。

2. Gamma矫正通常在CCM之前进行

Gamma矫正:人眼对暗部和亮部的敏感度不同,Gamma矫正可以调整图像的亮度分布,使其更符合人眼的视觉特性。

CCM:在Gamma矫正之后,图像的亮度信息已经得到了正确的处理,此时进行CCM色彩校正可以确保在色彩调整时,不会因为亮度信息的不准确而影响到最终的色彩效果。

三、如何实现ISP参数自动化调试

ISP参数自动化调试通常通过编写自动化测试脚本来实现,具体步骤如下:

  1. 实时获取影响ISP算法参数的值(如YUV数值、快门、增益、iris等)作为基准数据。
  2. 在一段时间后,再次获取这些参数的值,并与基准数据做比较。
  3. 如果参数值发生变化,调用ISP算法接口,截取一帧的数据转换为JPEG格式保存,并记录当前的参数值。
  4. 重复上述步骤,持续记录ISP算法的变化和图像质量情况。
  5. 根据算法的变化曲线和图像质量情况,对算法进行优化。

四、AE,即自动曝光(Auto Exposure)

相机根据外界光线的强弱自动调整曝光量和增益的一种机制。这一机制能够防止曝光过度或者不足,从而确保图像质量。AE不仅是3A算法的重要组成部分,而且在整个相机调试模块中占有重要地位。

自动曝光的影响因素

自动曝光的主要影响因素包括ISO(感光度)、光圈大小和曝光时间。这些因素的调整都会直接影响到图像的亮度和质量。例如,增加ISO会使图像变亮,但可能会增加噪点;光圈控制着瞬时进光量;而曝光时间则是感光芯片的采样时间,过长或过短都会影响图像质量。

运动曝光表中AE的实现

在运动曝光表中实现AE,通常涉及以下步骤:

  1. AE统计模块:这是一个硬件模块,需要强大的运算能力。它负责统计图像的亮度直方图、亮度区域统计值等关键信息,这些信息是后续曝光参数调整的基础。
  2. AE算法模块:根据AE统计模块提供的数据,进行实时计算,以确定合适的曝光参数。这些参数包括光圈大小、曝光时间和ISO感光度等。算法的目标是确保图像达到合适的亮度水平,同时避免过度曝光或曝光不足。
  3. 曝光标准与计算:通常以“18%中性灰”作为人眼可以接受的标准亮度。AE算法会计算当前帧的亮度与目标亮度的差异,即曝光误差,并根据这个误差来调整曝光参数,使图像亮度逐渐趋近于目标亮度。
  4. 实时调整与收敛:AE系统需要能够快速、准确地收敛到合适的曝光参数。这要求AE算法不仅要快速响应光线变化,还要保证收敛过程的平滑性和稳定性。

总结

每个模块的具体功能,可以观看ISP Pipeline

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【深度学习】基于EANet模型的图像识别和分类技术

1.引言 1.1.EANet模型简介 EANet(External Attention Transformer)是一种深度学习模型,它结合了Transformer架构和外部注意力机制,特别适用于图像分类等计算机视觉任务。以下是关于EANet的详细解释: 1.1.1 定义与背…

Qt项目天气预报(3) - qt的http编程获取天气数据

概念 Qt中的HTTP编程主要涉及使用Qt的网络模块来进行HTTP请求和处理HTTP响应。Qt提供了一系列类来处理网络通信,其中最常用的类是 QNetworkAccessManager 、 QNetworkRequest 、 QNetworkReply 以及相关的支持类。 编程实例 以下是一个基本的HTTP编程示例&#xff0…

优雅谈大模型12:一文读懂LoRA/DoRA/MoRA

Microsoft于2021年推出的LoRA是一种经济型微调模型参数的方法。现在大模型的参数规模动不动都在10亿级别以上,微调大模型(微调这里代表着SFT,例如读者将某个大模型拿到自身领域,想使用自身领域的知识再次训练和精校大模型&#xf…

Gradle实现类似Maven的profiles功能

版本说明 GraalVM JDK 21.0.3Gradle 8.7Spring Boot 3.2.5 目录结构 指定环境打包 application.yml/yaml/properties 执行 bootJar 打包命令前要先执行 clean【其它和 processResources 相关的命令也要先执行 clean】,否则 active 值不会变! spring…

计算机网络:网络层 - IP数据报的转发

计算机网络:网络层 - IP数据报的转发 基于终点转发最长前缀匹配二叉线索树路由表特殊路由特定主机路由默认路由 IP多播 基于终点转发 路由器转发报文时,是通过报文中的目的地址字段来转发的,也即是说路由器只知道终点的IP地址,根…

一种新的一维时间序列信号盲解卷积算法(以旋转机械故障诊断为例,MATLAB环境)

一种新的一维时间序列信号盲解卷积算法(以旋转机械故障诊断为例,MATLAB环境),可作为深度学习信号前处理过程,水个SCI不是问题。 机械设备的状态信号中往往蕴含着大量的设备异常信息。如何从繁多的机械状态信号中提取足…

每日一练:攻防世界:ewm

这道题我尝试了使用montagegaps解题,但是没有解出来,图片数量不是很多,可以尝试用PS直接拼图,但是这样学不到东西,我也就没尝试,直接看的官方WP 这段代码应该是改变工作目录到small,并且变量当…

第九届星华杯网络邀请赛

T1喵星人的身高 T2犇犇碑 T3嘤嘤词典 T4三角区间和

spring注解驱动系列-- spring容器创建原理

从源码开始探究spring容器的创建原理,下面是源码总步骤 Override public void refresh() throws BeansException, IllegalStateException {synchronized (this.startupShutdownMonitor) {// Prepare this context for refreshing.prepareRefresh();// Tell the subc…

机器人运动学笔记

一、建模 参考资料:https://zhuanlan.zhihu.com/p/137960186 1、三维模型和连杆、关节定义 2、设置z轴 SDH和MDH会不一样,主要的区别在于SDH中坐标系在连杆末端,MDH中坐标系在连杆首端。虽然这里只是给出z轴,但是由于后面原点位…

React 渲染流程分析

React 页面是由组件组成的,从根组件直到叶组件,内部的组件数通过 Fiber 来保存并触发并发更新。页面的展示分为两部分,首先是初始化,所有组件首次展示,都要进行渲染,之后是更新流程,也就是页面产…

简单的心电图信号分割方法

代码很简单,很容易看懂。 import pandas as pdimport matplotlib.pyplot as plt #headers [Name, Age, Marks]df pd.read_csv(samples-folder/samples2.csv) dfdf.drop(0)dfdf.drop(1)# print(df) if(len(df.columns) 3): df.columns [sample interval, sig…

Setapp:只需一次订阅,即可获得 240 款+ Mac 软件

为一项任务寻找合适的应用程序是一项相当艰巨的任务。过去,最好的办法要么是花费宝贵的时间搜索可靠的评论,要么就是相信无论安装什么软件都能完成任务。 如果你是 Mac 用户,那么 Setapp 将让这一问题成为过去。无需在需要时下载单个程序&am…

【数据挖掘】机器学习中相似性度量方法-余弦相似度

写在前面: 首先感谢兄弟们的订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌。 路虽远,行则将至&#…

MIPI A-PHY协议学习

一、说明 A-PHY是一种高带宽串行传输技术,主要为了减少传输线并实现长距离传输的目的,比较适用于汽车。同时,A-PHY兼容摄像头的CSI协议和显示的DSI协议。其主要特征: 长距离传输,高达15m和4个线内连接器; 高速率,支持2Gbps~16Gbps; 支持多种车载线缆(同轴线、屏蔽差分…

SolarLab - hackthebox

简介 靶机名称:SolarLab 难度:中等 靶场地址:https://app.hackthebox.com/machines/SolarLab 本地环境 靶机IP :10.10.11.16 ubuntu渗透机IP(ubuntu 22.04):10.10.16.17 windows渗透机IP(windows11&…

OS复习笔记ch9-1

单处理器调度 调度类型 主要类型 长程调度:决定将哪个进程放入进程池中 中程调度:决定将哪些进程部分或者全部放入内存中 短程调度:决定哪个空闲进程上处理机 I/O调度:决定哪个进程的I/O请求被可用的I/O设备处理 处理器调度和进…

如何通过数据库与AI实现以图搜图?OceanBase向量功能详解

OceanBase支持向量数据库的基础能力 当前,数据库存储系统与人工智能技术的结合,可以体现在两个主要的应用方向上。 一、近似搜索。它利用大语言模型(LLM,简称大模型)的嵌入(embedding)技术&am…

【Android面试八股文】请描述new一个对象的流程

文章目录 请描述new一个对象的流程JVM创建对象的过程检查加载分配内存内存空间初始化设置对象初始化请描述new一个对象的流程 JVM创建对象的过程 当JVM遇到一条new指令时,它需要完成以下几个步骤: 类加载与检查内存分配 并发安全性内存空间初始化设置对象信息对象初始化下图…

永磁同步直线电机(PMLSM)控制与仿真3-永磁同步直线电机数学三环控制整定

文章目录 1、电流环参数整定2、速度环参数整定3、位置环参数整定 写在前面:原本为一篇文章写完了永磁同步直线电机数学模型介绍,永磁同步直线电机数学模型搭建,以及永磁同步直线电机三环参数整定及三环仿真模型搭建,但因为篇幅较长…