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

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.mfbz.cn/a/721270.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

三星SAINT-D技术引领HBM内存堆叠革命

三星电子即将在今年推出一项革命性技术,允许在CPU或GPU上堆叠高带宽内存(HBM),根据韩国经济日报的报道,这一消息在圣何塞举办的三星晶圆代工论坛2024上公布,并得到业内消息人士证实。这项3D封装技术为2025年…

智能制造 v3.13.11 发布,ERP、在线课堂、表白墙更新

智能制造一体化管理系统 [SpringBoot2 - 快速开发平台],适用于制造业、建筑业、汽车行业、互联网、教育、政府机关等机构的管理。包含文件在线操作、工作日志、多班次考勤、CRM、ERP 进销存、项目管理、EHR、拖拽式生成问卷、日程、笔记、工作计划、行政办公、薪资模…

【启明智显产品分享】Model4 工业级HMI芯片详解(三):高安全、防抄板

Model4 工业级HMI芯片详解系列专题(三)【高安全、防抄板】 随着物联网和智能设备的快速发展,设备安全认证的需求日益迫切。硬件安全认证和保护在确保设备和身份安全中发挥着不可替代的作用,需要与软件安全相结合,共同构…

Google推出开源代码大模型CodeGemma:AI编程新纪元,代码自动完成和生成技术再升级

论文标题: CodeGemma: Open Code Models Based on Gemma机构: Google LLC论文链接: https://arxiv.org/pdf/2406.11409.pdf CodeGemma模型概述 CodeGemma是基于Google DeepMind的Gemma模型系列(Gemma Team et al., 2024)开发的一系列开放代码模型。这些…

6.1触发器的创建、删除和使用

6.1.1 触发器概述 触发器是一个被指定关联到表的数据库对象,与表的关系密切,不需要用户调用,在一个表的特定事件出现时将会被激活,此时某些MySql语句会自动执行。 触发器用于实现数据库的完整性,具有以下特点&#xff…

如何优雅地限制textarea的输入字数?

大家好&#xff0c;我是瑶山&#xff0c;今天聊聊textarea textarea 有基础的同学都知道<textarea>是HTML中的一个标签&#xff0c;用于定义多行的文本输入控件。它允许用户在表单中输入多行文本&#xff0c;相较于单行输入框可以输入更多的内容。 但是&#xff0c;如果…

C++ 72 之 友元和类模版

#define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; #include <string>// 写法2&#xff1a; // template<class T1, class T2> // class Students12;// 要提前用到Students12&#xff0c;需要在前面先让编译器见过Students12才可…

算法金 | 一个强大的算法模型:t-SNE !!

大侠幸会&#xff0c;在下全网同名「算法金」 0 基础转 AI 上岸&#xff0c;多个算法赛 Top 「日更万日&#xff0c;让更多人享受智能乐趣」 t-SNE&#xff08;t-Distributed Stochastic Neighbor Embedding&#xff09;是一种用于降维和数据可视化的非线性算法。它被广泛应用于…

26 种 prompt 套路,驯服大模型

节前&#xff0c;我们组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂朋友、今年参加社招和校招面试的同学。 针对大模型技术趋势、算法项目落地经验分享、新手如何入门算法岗、该如何准备面试攻略、面试常考点等热门话题进行了深入的讨论。 总结链接如…

LLM之RAG实战(四十)| 使用LangChain SQL Agent和MySQL搭建多层RAG ChatBot

在传统的意义上&#xff0c;RAG 主要是从文档中检索用户想要的数据&#xff0c;从而提高大模型的能力&#xff0c;减少幻觉问题。今天&#xff0c;我们从另一个维度介绍RAG&#xff0c;RAG不从文档中获取数据&#xff0c;而是从MySQL数据库检索数据。我们可以使用LangChain SQL…

HTML学习和JAVAScript学习

HTML 标签 <!DOCTYPE html> <!-- 文档类型为html --> <html lang"en"> <head><meta charset"UTF-8"> <!-- 使用字符集UTF-8 --> <!-- 设置浏览器兼容性 --><meta name"viewpo…

H6901B升压恒流调光芯片3.7V 7.4V升压 12V 24V 36V 48V 100V高端调光 太阳能照明 锂电池升压

惠海H6902B升压恒流驱动芯片是一款专为LED照明应用设计的驱动方案。该芯片具有多项产品特征&#xff0c;能够满足多种LED照明需求。 适用于多种电压输入范围&#xff08;2.7V-80V&#xff09;并具备效率&#xff08;达95%以上&#xff09;和工作频率&#xff08;1MHz&#xff…

异步爬虫:aiohttp 异步请求库使用:

使用requests 请求库虽然可以完成爬虫业务&#xff0c;但是对于异步任务来说&#xff0c;它是做不到的&#xff0c; 这时候我们需要借助 aiohttp 异步请求库来完成异步爬虫的编写&#xff1a; 话不多说&#xff0c;直接看示例&#xff1a; 注意&#xff1a;楼主使用的python版…

什么是数字化,什么是数智化?数字化与数智化的区别和联系

什么是数字化&#xff1f;什么是数智化&#xff1f;以及数字化与数智化的区别&#xff0c;下面分为三块跟大家详细讲解。 一、什么是数字化&#xff1f; 1、概念&#xff1a; 数字化&#xff08;Digitalization&#xff09;是将信息转换为数字&#xff08;即计算机可读&#…

[14] CUDA_使用Opencv处理图像

CUDA_使用Opencv处理图像 1. Opencv中的图像表示 Opencv 提供了Mat 类来存储图像&#xff0c;如下&#xff1a; cv::Mat img; imgcv::imread("cameraman.tif);定义图像的示例&#xff1a; //定义单通道图像 cv::Mat img(6,6,CV_8UC1); //32位浮点型 Mat img2(256,256,…

【进阶篇-Day3:JAVA接口新特性、代码块、内部类、Lambda表达式、组件等的介绍】

目录 1、接口新特性1.1 JDK8的新特性1.2 JDK9的新特性 2、代码块2.1 代码块的定义2.2 代码块的分类 3、内部类3.1 内部类的定义3.2 内部类成员访问3.3 学习内部类的原因3.4 内部类的分类3.4.1 成员内部类3.4.2 静态内部类3.4.3 局部内部类3.4.4 匿名内部类&#xff08;1&#x…

分布式技术导论 — 探索分析从起源到现今的巅峰之旅(流式处理到微批处理)

探索分析从起源到现今的巅峰之旅 流式计算回顾流式服务结合分布式特性 流式计算组成部分监控数据处理进度流式分析案例流转数据的衍生存储确认器采取高效策略确认器异常应对策略工作节点故障的处理&#xff08;精确一次处理&#xff09;确认器故障的处理&#xff08;恰好一次处…

Druid未授权访问漏洞修复

前言 安全组针对系统漏扫发现系统存在Druid未授权访问&#xff0c;会引发泄露系统敏感信息&#xff0c;漏洞链接为ip:端口/druid/index.html&#xff0c;可以清楚的查看数据库的相关连接信息&#xff0c;如下图所示&#xff1a; 漏洞修复 1、关闭Druid监控页面 在Druid的配…

2-9 基于matlab的传递矩阵计算轴的模态

基于matlab的传递矩阵计算轴的模态&#xff0c;包括模态频率和模态振型&#xff0c;可设置轴的结构参数。程序已调通&#xff0c;可直接运行。 2-9 传递矩阵计算轴的模态 模态频率 - 小红书 (xiaohongshu.com)

Chromium 开发指南2024 Mac篇-安装和配置depot_tools工具(三)

1.引言 在前两篇指南中&#xff0c;我们详细介绍了在 macOS 环境下编译 Chromium 所需的硬件要求和系统依赖&#xff0c;并具体讲解了如何正确安装和配置 Xcode。通过这些步骤&#xff0c;您已经为编译 Chromium 打下了坚实的基础。然而&#xff0c;编译 Chromium 还需要配置一…