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独有的匹配字符串的模块,该模块中提供的很多功能是基于正则表达式实现的,而正则表达式是对字符串进行模糊匹配,提取自己需要的字符串部分,他对所有的语言都通用。注意…...
【CSS】display:flex和display: inline-flex区别
flex:将对象作为弹性伸缩盒显示 inline-flex:将对象作为内联块级弹性伸缩盒显示 DOM结构 <div class"main"><div></div><div></div><div></div><div></div></div>flex .main{…...
rpm安装gitlab
1.1 下载gitlab安装包 使用rpm包安装命令安装gitlab的rpm包,下载地址为https://packages.gitlab.com/gitlab/gitlab-ce社区版本; 推荐使用清华大学镜像:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab安装包详见࿱…...
图论之dfs与bfs的练习
dfs--深度优选搜索 bfs--广度优先搜索 迷宫问题--dfs 问题: 给定一个n*m的二维迷宫数组其中S是起点,T是终点,*是墙壁(无法通过), .是道路 问从起点S出发沿着上下左右四个方向走,能否走到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(与kafka的版本一致) --> <dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId>…...
世界顶级名校计算机专业,都在用哪些书当教材?(文末送书)
目录 01《深入理解计算机系统》02《算法导论》03《计算机程序的构造和解释》04《数据库系统概念》05《计算机组成与设计:硬件/软件接口》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的电池,电压低于一定值时就不再适合使用了。具体的电压值取决于电池的类型和使用设备的需求。一般来说, 对于接收设备(如收音机、BB机、遥控机等),每节电池电压一般到1.2V以下就认为没电了。有些电动玩具、剃…...
LabVIEW智能监测系统
LabVIEW智能监测系统 设计与实现一个基于LabVIEW的智能监测系统,通过高效的数据采集和处理能力,提高监测精度和响应速度。系统通过集成传感器技术与虚拟仪器软件,实现对环境参数的实时监测与分析,进而优化监控过程,提…...
代码随想录刷题第34天
第一题是柠檬水找零https://leetcode.cn/problems/lemonade-change/,感觉并没有特别靠近贪心算法,可供讨论的情况非常少,5元收下,10元返5元,20元返15元,对各种找零情况讨论一下即可。 class Solution { pu…...
AMD FPGA设计优化宝典笔记(5)低频全局复位与高扇出
亚军老师的这本书《AMD FPGA设计优化宝典》,他主要讲了两个东西: 第一个东西是代码的良好风格; 第二个是设计收敛等的本质。 这个书的结构是一个总论,加上另外的9个优化,包含的有:时钟网络、组合逻辑、触发…...
14. Qt 程序菜单实现,基于QMainWindow
目录 前言: 技能: 内容: 一、ui中直接添加控件实现 二、 完全通过代码实现菜单 参考: 前言: 基于QMainWindow,两种方式实现菜单:通过直接添加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:确保你的本地机器上已经安装了Docker。如果还没有安装,请访问Docker官方网站并按照指引进行安装。--点击进入Docker官网 获取清华AutoGPT的Docker镜像:清华AutoGPT团队可能已经提供了一个Docker镜像,方便…...
【漏洞复现-通达OA】通达OA share存在前台SQL注入漏洞
一、漏洞简介 通达OA(Office Anywhere网络智能办公系统)是由北京通达信科科技有限公司自主研发的协同办公自动化软件,是与中国企业管理实践相结合形成的综合管理办公平台。通达OA为各行业不同规模的众多用户提供信息化管理能力,包…...
HTML5 Canvas与JavaScript携手绘制动态星空背景
目录 一、程序代码 二、代码原理 三、运行效果 一、程序代码 <!DOCTYPE html> <html> <head> <meta charset"UTF-8"> <title>星空背景</title> </head> <body style"overflow-x:hidden;"><canvas …...
深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...
376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...
oracle与MySQL数据库之间数据同步的技术要点
Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异ÿ…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
uniapp手机号一键登录保姆级教程(包含前端和后端)
目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号(第三种)后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...
FFmpeg:Windows系统小白安装及其使用
一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】,注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录(即exe所在文件夹)加入系统变量…...
