当前位置: 首页 > news >正文

FPGA转行ISP的探索之一:行业概览

在这里插入图片描述

ISP的行业位置

最近看到一个分析,说FPGA的从业者将来转向ISP(Image Signal Process图像信号处理)是个不错的选择,可以适应智能汽车、AI等领域。故而我查了一下ISP,对它大致有个概念。

传统的ISP对应的是相机公司,它是相机里的一个核心环节,可以称作成像引擎,就像汽车里的发动机一样重要
ISP在相机成像的整个环节中,它负责接收感光元件(Sensor)的原始信号数据,可以理解为整个相机拍照、录像的第一步处理流程,用于处理图像信号传感器输出的图像信号。它在相机系统中占有核心主导的地位,是构成相机的重要设备。

ISP是对前端图像传感器输出的信号做后期处理,依赖于ISP才能在不同的光学条件下都能较好的还原现场细节,ISP技术在很大程度上决定了相机的成像质量,是拍照过程中的运算处理单元,其地位相当于相机的“大脑”。

ISP的竞争壁垒

ISP是苦活累活,人才会被吸引到更加多金、就业面更广的AI上去;作为历史较悠久的ISP技术,员工要做好需花费大量时间和心思,而就业去向只有较大的几家芯片公司、手机公司、相机公司等,这些公司可能已经不怎么招新人了。但现在可能要加上汽车公司,自动驾驶的技术推进,可能会让ISP迸发新的需求。所以,一家公司要建立自己的ISP团队,考验的是公司的技术积累、公司对ISP的政策倾斜。

ISP的原理不复杂,但成为图像处理芯片的最大竞争壁垒之一的原因有如下几点:
第一, ISP的功能,原理虽然简单,但是里面有太多需要估计的策略,其实就是猜,要猜准确,有大量的经验,反复的调校工作在里面。
第二,ISP各个模块是相互影响的,这也增加了工作量。调试时,可能按下葫芦浮起瓢,大量时间消耗。比如,我们常说的3A算法(Auto Exposure、Auto Focus和Auto white balance),之所以叫3A,就是因为他们是相互作用相互成全的
主要的内容和功能可以由以下关键词概括:内部结构 /控制方式 / ISP 架构方案 / ISP工作流程 / 图像接入ISP的方式 / 黑电平校正 / 镜头阴影校正 / 坏点校正 / 绿平衡 / 降噪 / 颜色插值 / 色温 / 自动白平衡 / 颜色校正 / 伽马校正 / 颜色空间变换 / 宽动态范围 / 锐化 / 自动曝光 / 自动对焦 / 串扰 / 去假彩 / 耀斑补偿 / 自动光圈 / 图像格式 / 关键性能指标 / 精度 / 精确度 / 吞吐量 / 实时成像 / 拜耳阵列Bayer 等等。

Bayer 拜耳格式的概述

其中Bayer格式我找到一个讲的很好的,原来虽然用过但对定义不是特别清楚,下面这段的概述很精彩很好理解。
Cmos的Sensor采用了Bayer色彩滤波阵列(Bayer Color Filter Array,CFA)。
按道理sensor输出的是RGB的raw data,每个像素点都感知RGB 3个分量的数字这样最准确。但是这样需要3套感光板,而且RGB的3套数据还需要时间同步和对齐,这样成本高,难度大。
所以,我们通常采用一个叫Bayer色彩滤波阵列(Bayer Color Filter Array,CFA)的滤光板,放在一个感光板上。
如下图是一个8x8的分辨率的感光面板,图(a)中彩色部分是Bayer色彩滤波阵列,RGB三种颜色间隔排列。这样一次拍照就产生图(b)的RGB三幅图片,图片中彩色的是有感光数值的,白色空白是没有感光数值的点。我们需要通过Demosaic(颜色插值)的方法,把白色的像素点的值给补上
图(b)绿色的像素点数目是红色或蓝色的2倍,是因为人类对绿色更敏感。
在这里插入图片描述

Bayer色彩滤波阵列的结构:(a)在Sensor表面的CFA; (b)颜色分量的光分离和导致的传感器的不同像素点
注:Bayer色彩滤波阵列并不是唯一选择,它只是方案之一,由柯达公司科学家Bryce Bayer(1929 –2012)发明。华为P30pro夜间拍摄厉害,用到了RYYB的滤镜阵列设计,RYYB就是将两个绿色像素(G)换成黄色像素(Y)替代, Y(红色和绿色组合)。
自动驾驶技术中,有个比Bayer阵列更近一步的技术:红绿蓝-红外线(RGB-IR) 4x4 重构像。它的结构与Bayer类似,多了一个专用的Ir像素。RGB-IR CFA以4x4集群组织,如下所示:

在这里插入图片描述

大多数已有的ISP都是为处理2x2 Bayer模式而设计的。如果需要彩色成像,ISP可能需要一个专门的RGB-IR4x4转RGGB2x2转换模块。该过程应包括从彩色像素中减去Ir内容,以及插值红色和蓝色颜色通道以匹配 Bayer2x2 CFA模式。

ISP相关标准

为了适应汽车的自动驾驶需求,有一些标准正在讨论和制定中:
ISO TC42工作组18包括:
ISO 17957:均匀性/阴影测量
ISO 18844:眩光
ISO 19084:色偏
ISO 19567:纹理复制–部分支持
ISO TC 22公路车辆SC 35:照明和可见性
ISO 16505:汽车侧视镜替代系统标准(部分支持)
ISO 12233用于摄影和电子静止图像成像的分辨率和空间频率
ISO 12232用于ISO速度评级、标准输出灵敏度和推荐曝光指数
ISO 15739:噪声和动态范围
ISO 14524:色调曲线OECF标准
ISO 17850:几何畸变
另一个工作组是IEEE-SA P1858工作组 - 相机手机图像质量(CPIQ)。该小组致力于行业内的图像质量指标和实践的标准,以将客观测量与人类感知相关联,从而对系统进行排名。
EMVA1288 机器视觉传感器和摄像头的测量和规格表征标准是另一个关注标准化图像质量的团体。EMVA1288一直关注图像传感器而不是完整的摄像系统。
认为IEEE Std 1858、EMVA1288或ISO在汽车成像质量用例方面存在缺陷。由于其多样化和独特的成像条件景观,汽车成像带来了独特的挑战,上述标准没有很好地解决这些条件。
这一事实促使IEEE-SA创建了汽车系统质量标准 - IEEE-SA P2020工作组。P2020的目标是塑造相关的指标和关键性能指标(KPI),用于汽车图像质量,使客户和供应商能够有效地定义、测量和传达其成像系统的图像质量。
在这里插入图片描述

相关文章:

FPGA转行ISP的探索之一:行业概览

ISP的行业位置 最近看到一个分析,说FPGA的从业者将来转向ISP(Image Signal Process图像信号处理)是个不错的选择,可以适应智能汽车、AI等领域。故而我查了一下ISP,对它大致有个概念。 传统的ISP对应的是相机公司&…...

Linux系统之部署网页小游戏合集网站

Linux系统之部署网页游戏合集网站 一、项目介绍1.1 项目介绍1.2 自定义配置方法二、本次实践介绍2.1 环境规划2.2 本次实践介绍三、检查本地环境3.1 检查操作系统版本3.2 检查当前yum仓库四、安装httpd软件4.1 检查yum仓库4.2 安装httpd软件4.3 启动httpd服务4.4 查看httpd服务…...

【白嫖8k买的机构vip教程】python(2):python_re模块

python之re模块 一、正则表达式   re模块是python独有的匹配字符串的模块,该模块中提供的很多功能是基于正则表达式实现的,而正则表达式是对字符串进行模糊匹配,提取自己需要的字符串部分,他对所有的语言都通用。注意&#xf…...

【CSS】display:flex和display: inline-flex区别

flex&#xff1a;将对象作为弹性伸缩盒显示 inline-flex&#xff1a;将对象作为内联块级弹性伸缩盒显示 DOM结构 <div class"main"><div></div><div></div><div></div><div></div></div>flex .main{…...

rpm安装gitlab

1.1 下载gitlab安装包 使用rpm包安装命令安装gitlab的rpm包&#xff0c;下载地址为https://packages.gitlab.com/gitlab/gitlab-ce社区版本&#xff1b; 推荐使用清华大学镜像&#xff1a;https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab安装包详见&#xff1…...

图论之dfs与bfs的练习

dfs--深度优选搜索 bfs--广度优先搜索 迷宫问题--dfs 问题&#xff1a; 给定一个n*m的二维迷宫数组其中S是起点&#xff0c;T是终点&#xff0c;*是墙壁&#xff08;无法通过&#xff09;&#xff0c; .是道路 问从起点S出发沿着上下左右四个方向走&#xff0c;能否走到T点&a…...

Vue练习5:图片的引入

后续会补充 1.require引入 src -> asstes <template><img :src"url"> </template><script> export default {name: App,data(){return{url: require("./assets/logo.png"),}} } </script> 2.import引入 src…...

SpringBoot+Kafka

文章目录 一、依赖二、配置文件三、API1、生产者2、消费者 一、依赖 <!-- spring-kafka&#xff08;与kafka的版本一致&#xff09; --> <dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId>…...

世界顶级名校计算机专业,都在用哪些书当教材?(文末送书)

目录 01《深入理解计算机系统》02《算法导论》03《计算机程序的构造和解释》04《数据库系统概念》05《计算机组成与设计&#xff1a;硬件/软件接口》06《离散数学及其应用》07《组合数学》08《斯坦福算法博弈论二十讲》参与规则 清华、北大、MIT、CMU、斯坦福的学霸们在新学期里…...

蓝桥杯刷题--python-8(2023 填空题)

0幸运数 - 蓝桥云课 (lanqiao.cn) res=0 for i in range (1,100000000):l_n=[]for j in str(i):l_n.append(int(j))if len(l_n) % 2 ==0:cur =len(l_n)>>1if sum(l_n[:cur])==sum(l_n[cur:]):res+=1 print(res) 0有奖问答 - 蓝桥云课 (lanqiao.cn) dfs def bfs(score, q…...

Eclipse - Reset Perspective

Eclipse - Reset Perspective 1. Window -> Perspective -> Reset Perspective2. Reset Perspective -> YesReferences 1. Window -> Perspective -> Reset Perspective 2. Reset Perspective -> Yes ​​​ References [1] Yongqiang Cheng, https://yo…...

1.5v的电池电压低于多少v等于没电

对于1.5V的电池&#xff0c;电压低于一定值时就不再适合使用了。具体的电压值取决于电池的类型和使用设备的需求。一般来说&#xff0c; 对于接收设备&#xff08;如收音机、BB机、遥控机等&#xff09;&#xff0c;每节电池电压一般到1.2V以下就认为没电了。有些电动玩具、剃…...

LabVIEW智能监测系统

LabVIEW智能监测系统 设计与实现一个基于LabVIEW的智能监测系统&#xff0c;通过高效的数据采集和处理能力&#xff0c;提高监测精度和响应速度。系统通过集成传感器技术与虚拟仪器软件&#xff0c;实现对环境参数的实时监测与分析&#xff0c;进而优化监控过程&#xff0c;提…...

代码随想录刷题第34天

第一题是柠檬水找零https://leetcode.cn/problems/lemonade-change/&#xff0c;感觉并没有特别靠近贪心算法&#xff0c;可供讨论的情况非常少&#xff0c;5元收下&#xff0c;10元返5元&#xff0c;20元返15元&#xff0c;对各种找零情况讨论一下即可。 class Solution { pu…...

AMD FPGA设计优化宝典笔记(5)低频全局复位与高扇出

亚军老师的这本书《AMD FPGA设计优化宝典》&#xff0c;他主要讲了两个东西&#xff1a; 第一个东西是代码的良好风格&#xff1b; 第二个是设计收敛等的本质。 这个书的结构是一个总论&#xff0c;加上另外的9个优化&#xff0c;包含的有&#xff1a;时钟网络、组合逻辑、触发…...

14. Qt 程序菜单实现,基于QMainWindow

目录 前言&#xff1a; 技能&#xff1a; 内容&#xff1a; 一、ui中直接添加控件实现 二、 完全通过代码实现菜单 参考&#xff1a; 前言&#xff1a; 基于QMainWindow&#xff0c;两种方式实现菜单&#xff1a;通过直接添加ui控件快速添加菜单和完全通过代码实现菜单&a…...

如何利用SpringSecurity进行认证与授权

目录 一、SpringSecurity简介 1.1 入门Demo 二、认证 ​编辑 2.1 SpringSecurity完整流程 2.2 认证流程详解 2.3 自定义认证实现 2.3.1 数据库校验用户 2.3.2 密码加密存储 2.3.3 登录接口实现 2.3.4 认证过滤器 2.3.5 退出登录 三、授权 3.1 权限系统作用 3.2 授…...

如何简单上手清华AutoGPT并搭建到本地环境

一、准备工作 安装Docker&#xff1a;确保你的本地机器上已经安装了Docker。如果还没有安装&#xff0c;请访问Docker官方网站并按照指引进行安装。--点击进入Docker官网 获取清华AutoGPT的Docker镜像&#xff1a;清华AutoGPT团队可能已经提供了一个Docker镜像&#xff0c;方便…...

【漏洞复现-通达OA】通达OA share存在前台SQL注入漏洞

一、漏洞简介 通达OA&#xff08;Office Anywhere网络智能办公系统&#xff09;是由北京通达信科科技有限公司自主研发的协同办公自动化软件&#xff0c;是与中国企业管理实践相结合形成的综合管理办公平台。通达OA为各行业不同规模的众多用户提供信息化管理能力&#xff0c;包…...

HTML5 Canvas与JavaScript携手绘制动态星空背景

目录 一、程序代码 二、代码原理 三、运行效果 一、程序代码 <!DOCTYPE html> <html> <head> <meta charset"UTF-8"> <title>星空背景</title> </head> <body style"overflow-x:hidden;"><canvas …...

OpenWRT路由器如何用Zerotier实现异地组网?保姆级配置教程(含防火墙规则详解)

OpenWRT路由器通过Zerotier构建安全异地内网的完整实践指南 异地办公已成为现代企业的常态&#xff0c;而如何安全高效地访问公司内网资源则是技术人员面临的现实挑战。传统VPN方案往往配置复杂且性能受限&#xff0c;而基于P2P技术的Zerotier配合OpenWRT路由器&#xff0c;能够…...

Phi-4-mini-reasoning:轻量级推理模型在人工智能浪潮中的定位

Phi-4-mini-reasoning&#xff1a;轻量级推理模型在人工智能浪潮中的定位 1. 轻量级推理模型的时代价值 当ChatGPT等千亿参数大模型占据媒体头条时&#xff0c;一个容易被忽视的趋势正在悄然兴起——轻量级推理模型正在特定领域展现出惊人的实用性。Phi-4-mini-reasoning正是…...

实战踩坑:在华为ENSP模拟器上配置OSPF NSSA区域,为什么外部路由没传出去?

华为ENSP模拟器中OSPF NSSA区域外部路由失效的深度排查指南 当你在华为ENSP模拟器中配置OSPF NSSA区域时&#xff0c;是否遇到过这样的困境&#xff1a;明明按照教程步骤操作&#xff0c;外部路由却像被黑洞吞噬一般无法传递到其他区域&#xff1f;本文将带你深入这个技术迷宫的…...

Anaconda环境下Spyder升级保姆级教程(附常见问题解决方案)

Anaconda环境下Spyder升级全攻略与疑难排解手册 在Python数据科学领域&#xff0c;Spyder作为专为科学计算设计的集成开发环境(IDE)&#xff0c;凭借其变量查看器、交互式控制台和强大的调试功能&#xff0c;已成为众多研究人员的首选工具。而Anaconda作为Python科学计算的瑞士…...

二、空间碎片聚类-轨道计算与J2000坐标系实现

1. 整体思路 在空间碎片监测、卫星对地观测等任务中,需要精确知道卫星和空间目标在某一时刻的位置。通常我们使用开普勒轨道六要素(半长轴、偏心率、倾角、升交点赤经、近地点幅角、真近点角)来描述轨道,并通过轨道动力学外推得到任意时刻的位置。本文实现了一套基于J2000…...

3分钟让Windows文件资源管理器焕然一新:ExplorerBlurMica毛玻璃效果完全指南

3分钟让Windows文件资源管理器焕然一新&#xff1a;ExplorerBlurMica毛玻璃效果完全指南 【免费下载链接】ExplorerBlurMica Add background Blur effect or Acrylic (Mica for win11) effect to explorer for win10 and win11 项目地址: https://gitcode.com/gh_mirrors/ex/…...

Pixel Couplet Gen实操手册:自定义门神像素图替换与SVG动画扩展方法

Pixel Couplet Gen实操手册&#xff1a;自定义门神像素图替换与SVG动画扩展方法 1. 项目概述 Pixel Couplet Gen是一款融合传统春节元素与现代像素艺术风格的AI春联生成工具。通过ModelScope大模型的文本生成能力&#xff0c;结合精心设计的8-bit视觉风格&#xff0c;为用户提…...

Windows下PyTorch CPU版安装全攻略:从下载到验证(含conda常用命令)

Windows平台PyTorch CPU版高效安装指南&#xff1a;从零基础到环境验证 在深度学习领域&#xff0c;PyTorch已成为最受欢迎的框架之一。对于Windows用户而言&#xff0c;特别是刚接触机器学习的新手&#xff0c;正确安装PyTorch是迈入这一领域的第一步。本文将详细介绍如何在Wi…...

嵌入式C语言状态机编程实践与优化

1. 状态机编程基础概念在嵌入式系统开发中&#xff0c;状态机(State Machine)是一种极其重要的编程范式。它通过定义系统可能处于的状态集合、状态之间的转换条件以及状态转换时执行的动作&#xff0c;来清晰地描述系统的行为逻辑。状态机之所以在嵌入式领域广泛应用&#xff0…...

Dism++深度解析:Windows系统管理与优化专业指南

Dism深度解析&#xff1a;Windows系统管理与优化专业指南 【免费下载链接】Dism-Multi-language Dism Multi-language Support & BUG Report 项目地址: https://gitcode.com/gh_mirrors/di/Dism-Multi-language Dism作为一款功能强大的开源Windows系统管理工具&…...