【光电智造】相机图像处理过程

今日光电 2024-08-15 18:01

 今日光电 

     有人说,20世纪是电的世纪,21世纪是光的世纪;知光解电,再小的个体都可以被赋能。追光逐电,光赢未来...欢迎来到今日光电!




----追光逐电 光赢未来----

相机图像处理过程

在开始前介绍两个知识点:

集成信号处理器(Integrated signal processor, ISP):

指的是专门用来处理感光件信号并生成最终图像的硬件,通常会作为一个模块集成到片上系统。

典型的图像过程:

光线进入镜头,到达【带有RGB滤光阵列的传感器】,得到最原始的电信号。这个信号经过【ISO增益和原始图像处理】【RGB去马赛克】【降噪】,就会得到raw格式的图片,对它接着进行【白平衡以及色彩空间转换】【色彩处理】,并【映射到sRGB输出】,这时图片已经呼之欲出,只要【JPEG压缩】【保存成文件】,储存卡里就会增加一张JPEG格式的照片。

接下按照典型的图像过程依次介绍:

【带有RGB滤光阵列的传感器】

CMOS传感器是相机中用于感受光的部分,几乎所有的消费级相机的传感器都是基于CMOS技术。

大家应该都见过类似这样的传感器尺寸对比图,传感器越大,每个像素上接收到的光就越多,从而相对噪声就越小。智能手机的传感器往往是最小的。


相机传感器其实就是我们理想中的能够衡量光线强弱的装置,取同样长的时间,如果到达传感器某个像素点的光亮度变成两倍,那么该点的数值也会变成两倍。但要注意的是,传感器只能测量光的强弱,并不能区分颜色,那么我们的彩色是哪里来的呢?这就需要将不同颜色的滤镜和传感器结合起来,实现这一过程的技术叫做拜尔阵列(“Bayer” pattern)

于是我们就得到了具有色彩阵列(color filter array, CFA)的相机传感器。通过这样的设计,传感器得到的数值就可以用来衡量不同通道信号的强弱了。不同的相机有着各自的传感器阵列,不同阵列的滤光色就构成了相机色彩空间(raw RGB)的三原色因此相机的raw RGB空间不是一个通用的色彩空间。下面两张图展示了不同相机raw RGB空间的原色以及raw图片的色差。

【ISO增益和原始图像处理】

传感器接受光并直接传过来的信号非常原始,根本不能看,还需要接下来的一系列操作。

首先是ISO增益,这里要先明确一个概念:什么是ISO?

ISO,全称为International Standardization Organization,它对相机的对光线的敏感程度,也就是感光度,进行了量化规定,而那已经是胶卷时代的事了。对于现代相机,ISO并不是像快门时间或者光圈那样具有直白的物理含义,而是通过信号处理想要满足的标准。

为了达到与设置相对应的ISO,相机会将接收到的信号进行增益,增益倍数越大,也就对光线越敏感——当然,也会对噪音越敏感。下图展示了不同ISO设置下的效果(曝光时间进行了相应的调整)。

这里需要指出的是,我们经常说像素的强度,但其实像素值是没有单位的,它取决于曝光时间、增益和硬件本身,因此我们实际上关注的是图像上的相对值,而非绝对值

原始的图像处理是指对相机硬件的一系列校准,包括黑光减法、缺陷像素遮蔽和平场矫正加粗样式

黑光减法(Black light subtraction)是说对无光像素值的矫正。我们希望没有接收到光的像素值是0,但由于传感器本身的噪声,事情往往不是这样。同时这个噪声并不是恒定的,它会随着温度的变化而改变。为了进行校准,可以通过黑屏设置一系列无光的像素,得到光学黑的信号,再从整体中减去,实现校准。

缺陷像素遮蔽(Defective pixel mask)是为了处理CMOS传感器中的坏点。这一校准会在工厂中进行,通过拍摄无光的图像,来发现数值异常的点来制作遮蔽,被遮蔽处的坏像素会被周围点的插值所代替(也就是估算出这个点的值)。

平场矫正(Flat-field correction)是由于均匀落在传感器上的光在图像中可能并不均匀,这可能是由镜头、传感器在相机中位置误差等原因引起的,提前记录这一变化并予以矫正,从而得到一个“平”的图像。

【RGB去马赛克】

还记得拜尔阵列吗?那个聪明的设计让我们的传感器得以分辨颜色,但同时也使得我们的图片变得离散。我们得到了每个像素点的RGB三通道之一的值,但我们实际上希望得到每个像素点的三个值,所以我们需要进行插补。

让我们来看一个最最简单的插补算法。

在位置5,拜尔阵列只给了我们R值,G和B就需要用周围的其他位置来进行估算,这里采用了平均值。可以想见这样的算法基于“相近位置颜色都差不多”的假设,那么当遇到不同颜色的分界处,这样的假设自然就不再成立,于是可以加入一个边界判断,发展成“边界感知”型插值算法(听起来还蛮高大上的)。

上面的算法仅是为了帮助理解,实际上在IPS中进行的算法会复杂也强大得多,有时候去马赛克的过程还会有一些附加效果,如高光调整(Highlight clipping)、锐化、降噪等。

【降噪】

所有的传感器都自带噪音,大多数相机会在模数转换后加入一个降噪。

而对于高端相机,可以能会根据不同的ISO设置采用不同的降噪策略,当ISO较高时会采取更激进的降噪。手机的相机因为传感器较小,往往都会采取激进的降噪策略,所以手机自拍比较好看。

这里同样给出一个最简单的算法来对降噪有一个感性认识。

噪音往往比较突兀,因此可以使用模糊来减小噪音。但模糊也会影响细节,因此考虑将去掉部分中信号较强的区域补回图像(甚至会加强以后补回来)。

于是就得到了我们的算法:

【白平衡以及色彩空间转换】

到这里,我们已经得到了raw RGB空间里的图片,除了颜色怪异,多少是能看了。接下来就要好好处理一下颜色。

我们希望把raw RGB这一依赖于设备的色彩空间转换到一个无关设备的色彩空间里。在这里采用CIE XYZ为例子,实际上大多数相机会使用一个叫ProPhoto RGB的色彩空间。

转换分为两步,白平衡和色彩空间转换。

白平衡也就是矫正RGB相等的点(白点),只要对三个通道分别进行放缩就行了,也就是一个对角矩阵的事。

但怎么定义白点呢?

如果由用户手动设置,这件事就比较简单。相机一般会提供一些预设的白平衡数据,用户根据拍照的光照环境进行选择。下图是一些预设白平衡的例子。

如果没有手动指定,就会启用自动白平衡(auto white balance, AWB)算法,这件事就会变得很难,算法必须要能够确定任意照片的场景光亮。

这样的算法往往假设“白色”就是对场景光源的自然反射,如果我们可以定义图像中哪些像素属于“白色”,就可以得到场景光照的RGB表示。注意,这里的“白色”并不一定是白色,也有可能是灰色(白色就是最亮状态的灰色),有时我们会称这样的像素点为“消色差”或者“中性区”

这里介绍两个简单的算法,灰色世界算法Gray world和白块算法White patch。

灰色世界算法假设一个场景的平均反射光是消色差的(也就是灰色的),因此首先算出平均值再进行白平衡转换即可。

如果白平衡在去马赛克之前,那么不同通道的像素数量将会不一样。

前面说过,每个像素绝对值意义不大,有相对的就行,所以可以将绿通道取1。

接下来看白块算法,这个算法假设场景中的高亮点就是我们想要找的白点。也就是以最大值的RGB作为白色的数值。

基于这样的假设,算法工作如下:


上图是这两种算法的效果展示。

这两种算法都是非常基础的算法,当图像有大面积单色时很容易失败(比如蓝天),对于AWB的算法研究有很多论文研究,相机往往也会有自己独特的白平衡算法。注意,这些算法并不一定为了复原场景光照而设计,而是会出于审美考虑,留有一些色差。

进行了白平衡,接下来就要进行色彩空间转换(color space transform, CST),将图片从raw RGB空间转换到独立于设备的色彩空间,如CIE XYZ。

白平衡仅能努力接近真实的色彩恒定,因此在相机上进行的色彩空间转换还会包含一个依赖于工厂预设的插值。在工厂中会对不同的CCT预设色彩转换矩阵CST,在实际处理时,用场景的CCT根据预设的CST矩阵进行插值,得到想要的CST矩阵。

【颜色操作】

现在我们得到了处于CIE XYZ空间的图片,距离我们常见的处于sRGB的jpg文件只剩一步之遥,但在此之前,还有一个让每家相机各显身手的舞台,这就是【颜色操作】步骤。

各家相机会施展不同的秘法,来让照片变得更加好看。这个步骤有很多叫法:色彩调控、冲洗阶段(photo-finishing)、色彩渲染、YUV处理引擎。一般会允许用户对这个阶段进行一定的控制和选择,下图来自佳能的用户手册。

这些色彩操作可以分为两类,三维一维的,三维变换同时处理三个通道,一维曲线则是作用于每个通道,下图是一些变换的例子。这里说到的查询表(look up table, LUT)就相当于函数或者说映射。

可以看到,这些变换几乎都是非线性的变换,经过了这一步,像素值的强弱就不再能够反映场景中光线的强弱了(当然可能在此之前就已经有过非线性操作了)。

【映射到sRGB输出】

经过了这一步,我们可以将图片【映射到sRGB输出】了。这在之前已经解释过,会先从CIE XYZ映射到linear sRGB,再经过伽马变换(2.2)得到sRGB空间。

【JPEG压缩】

接着要进行【JPEG压缩】,这是为了减小文件大小而进行的有损压缩。

其中较难理解的是离散余弦变换(Discrete Cosine Transform , DCT)变换的步骤,在这里做感性介绍,帮助理解。

DCT可以理解为对傅里叶变换的采样,变换结果都是实数。傅里叶变换能够将原本在时域的信号转换到频域上,对于图像来说,就是将原本在空间上分布的像素值信号转变为不同频率的二维三角函数的带权重加和。同时结合一个经验:低频的信息要比高频的信号更重要(可以想象一个低频余弦和高频余弦加和,结果就是一个长了毛刺的山坡——山坡的信息更为重要),从而进行一个量化的操作(相当于滤波),将更多低频的信息保留,从而减小数值尺度的同时尽可能保留重要信息,这之后会再进行编码,提取数据的特征存储,从而实现更高的压缩比例。

在DCT上进行量化操作的数量会影响品质,操作越多,得到的图像质量就越低。在相机中往往可以选择jpeg格式的质量。

【保存成文件】

接下来就是【保存成文件】了,给照片加上日期时间、相机设定、输出的色彩空间、地理位置等等信息,写到存储卡里,就大功告成了。

国际色彩联盟(International Color Consortium, ICC)是一个负责制定色彩操作国际标准的组织,下图是来自ICC-ISO 22028的流程图,可以看到更多关于处理流程的细节。在这里,与raw RGB相关的RGB值都被称为“场景相关的”(scene referred),而转换到sRGB空间以后,就被称为“输出相关的”(output referred)。

还要注意的是,sRGB色彩空间和JPEG正在慢慢被取代,sRGB是为了90年代的显示器设计的,太过于古老了。JPEG也在逐步被压缩率更高的HEIC编码取代。苹果设备上已经开始用heic替代jpeg了,同时苹果设备使用Display P3的色彩空间,它是一种数字电影提倡的DCI-P3空间的变体,比sRGB要大25%,也包含了伽马变换。越来越多的安卓设备也会开始支持这个色彩空间。

再次强调一下,上面的这些步骤仅仅是一个指南,现代相机中的处理流程会更加复杂。对于不同品牌/型号的相机,操作的顺序可能会有不同,(如在去马赛克之后再白平衡),操作的方法也可能不一样(如把锐化和去马赛克结合)。

而对于工业/机器视觉相机,其ISP往往提供的是最小程度的处理,如有的只会进行白平衡,再在raw RGB空间上进行伽马变换,因此很多时候输出的图像仍然在设备的色彩空间内。

来源:机器视觉沙龙


申明:感谢原创作者的辛勤付出。本号转载的文章均会在文中注明,若遇到版权问题请联系我们处理。


 

----与智者为伍 为创新赋能----


【说明】欢迎企业和个人洽谈合作,投稿发文。欢迎联系我们
诚招运营合伙人 ,对新媒体感兴趣,对光电产业和行业感兴趣。非常有意者通过以下方式联我们!条件待遇面谈
投稿丨合作丨咨询

联系邮箱:uestcwxd@126.com

QQ:493826566




评论
  •  在全球能源结构加速向清洁、可再生方向转型的今天,风力发电作为一种绿色能源,已成为各国新能源发展的重要组成部分。然而,风力发电系统在复杂的环境中长时间运行,对系统的安全性、稳定性和抗干扰能力提出了极高要求。光耦(光电耦合器)作为一种电气隔离与信号传输器件,凭借其优秀的隔离保护性能和信号传输能力,已成为风力发电系统中不可或缺的关键组件。 风力发电系统对隔离与控制的需求风力发电系统中,包括发电机、变流器、变压器和控制系统等多个部分,通常工作在高压、大功率的环境中。光耦在这里扮演了
    晶台光耦 2025-01-08 16:03 75浏览
  • 彼得·德鲁克被誉为“现代管理学之父”,他的管理思想影响了无数企业和管理者。然而,关于他的书籍分类,一种流行的说法令人感到困惑:德鲁克一生写了39本书,其中15本是关于管理的,而其中“专门写工商企业或为企业管理者写的”只有两本——《为成果而管理》和《创新与企业家精神》。这样的表述广为流传,但深入探讨后却发现并不完全准确。让我们一起重新审视这一说法,解析其中的矛盾与根源,进而重新认识德鲁克的管理思想及其著作的真正价值。从《创新与企业家精神》看德鲁克的视角《创新与企业家精神》通常被认为是一本专为企业管
    优思学院 2025-01-06 12:03 161浏览
  • 故障现象一辆2017款东风风神AX7车,搭载DFMA14T发动机,累计行驶里程约为13.7万km。该车冷起动后怠速运转正常,热机后怠速运转不稳,组合仪表上的发动机转速表指针上下轻微抖动。 故障诊断 用故障检测仪检测,发动机控制单元中无故障代码存储;读取发动机数据流,发现进气歧管绝对压力波动明显,有时能达到69 kPa,明显偏高,推断可能的原因有:进气系统漏气;进气歧管绝对压力传感器信号失真;发动机机械故障。首先从节气门处打烟雾,没有发现进气管周围有漏气的地方;接着拔下进气管上的两个真空
    虹科Pico汽车示波器 2025-01-08 16:51 86浏览
  • By Toradex 秦海1). 简介嵌入式平台设备基于Yocto Linux 在开发后期量产前期,为了安全以及提高启动速度等考虑,希望将 ARM 处理器平台的 Debug Console 输出关闭,本文就基于 NXP i.MX8MP ARM 处理器平台来演示相关流程。 本文所示例的平台来自于 Toradex Verdin i.MX8MP 嵌入式平台。  2. 准备a). Verdin i.MX8MP ARM核心版配合Dahlia载板并
    hai.qin_651820742 2025-01-07 14:52 113浏览
  • 在智能家居领域中,Wi-Fi、蓝牙、Zigbee、Thread与Z-Wave等无线通信协议是构建短距物联局域网的关键手段,它们常在实际应用中交叉运用,以满足智能家居生态系统多样化的功能需求。然而,这些协议之间并未遵循统一的互通标准,缺乏直接的互操作性,在进行组网时需要引入额外的网关作为“翻译桥梁”,极大地增加了系统的复杂性。 同时,Apple HomeKit、SamSung SmartThings、Amazon Alexa、Google Home等主流智能家居平台为了提升市占率与消费者
    华普微HOPERF 2025-01-06 17:23 211浏览
  • 根据Global Info Research项目团队最新调研,预计2030年全球封闭式电机产值达到1425百万美元,2024-2030年期间年复合增长率CAGR为3.4%。 封闭式电机是一种电动机,其外壳设计为密闭结构,通常用于要求较高的防护等级的应用场合。封闭式电机可以有效防止外部灰尘、水分和其他污染物进入内部,从而保护电机的内部组件,延长其使用寿命。 环洋市场咨询机构出版的调研分析报告【全球封闭式电机行业总体规模、主要厂商及IPO上市调研报告,2025-2031】研究全球封闭式电机总体规
    GIRtina 2025-01-06 11:10 126浏览
  • 这篇内容主要讨论三个基本问题,硅电容是什么,为什么要使用硅电容,如何正确使用硅电容?1.  硅电容是什么首先我们需要了解电容是什么?物理学上电容的概念指的是给定电位差下自由电荷的储藏量,记为C,单位是F,指的是容纳电荷的能力,C=εS/d=ε0εrS/4πkd(真空)=Q/U。百度百科上电容器的概念指的是两个相互靠近的导体,中间夹一层不导电的绝缘介质。通过观察电容本身的定义公式中可以看到,在各个变量中比较能够改变的就是εr,S和d,也就是介质的介电常数,金属板有效相对面积以及距离。当前
    知白 2025-01-06 12:04 227浏览
  • 村田是目前全球量产硅电容的领先企业,其在2016年收购了法国IPDiA头部硅电容器公司,并于2023年6月宣布投资约100亿日元将硅电容产能提升两倍。以下内容主要来自村田官网信息整理,村田高密度硅电容器采用半导体MOS工艺开发,并使用3D结构来大幅增加电极表面,因此在给定的占位面积内增加了静电容量。村田的硅技术以嵌入非结晶基板的单片结构为基础(单层MIM和多层MIM—MIM是指金属 / 绝缘体/ 金属) 村田硅电容采用先进3D拓扑结构在100um内,使开发的有效静电容量面积相当于80个
    知白 2025-01-07 15:02 145浏览
  • 每日可见的315MHz和433MHz遥控模块,你能分清楚吗?众所周知,一套遥控设备主要由发射部分和接收部分组成,发射器可以将控制者的控制按键经过编码,调制到射频信号上面,然后经天线发射出无线信号。而接收器是将天线接收到的无线信号进行解码,从而得到与控制按键相对应的信号,然后再去控制相应的设备工作。当前,常见的遥控设备主要分为红外遥控与无线电遥控两大类,其主要区别为所采用的载波频率及其应用场景不一致。红外遥控设备所采用的射频信号频率一般为38kHz,通常应用在电视、投影仪等设备中;而无线电遥控设备
    华普微HOPERF 2025-01-06 15:29 172浏览
  • 根据环洋市场咨询(Global Info Research)项目团队最新调研,预计2030年全球无人机锂电池产值达到2457百万美元,2024-2030年期间年复合增长率CAGR为9.6%。 无人机锂电池是无人机动力系统中存储并释放能量的部分。无人机使用的动力电池,大多数是锂聚合物电池,相较其他电池,锂聚合物电池具有较高的能量密度,较长寿命,同时也具有良好的放电特性和安全性。 全球无人机锂电池核心厂商有宁德新能源科技、欣旺达、鹏辉能源、深圳格瑞普和EaglePicher等,前五大厂商占有全球
    GIRtina 2025-01-07 11:02 127浏览
  • 本文介绍Linux系统更换开机logo方法教程,通用RK3566、RK3568、RK3588、RK3576等开发板,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。制作图片开机logo图片制作注意事项(1)图片必须为bmp格式;(2)图片大小不能大于4MB;(3)BMP位深最大是32,建议设置为8;(4)图片名称为logo.bmp和logo_kernel.bmp;开机
    Industio_触觉智能 2025-01-06 10:43 96浏览
  • 本文介绍编译Android13 ROOT权限固件的方法,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。关闭selinux修改此文件("+"号为修改内容)device/rockchip/common/BoardConfig.mkBOARD_BOOT_HEADER_VERSION ?= 2BOARD_MKBOOTIMG_ARGS :=BOARD_PREBUILT_DTB
    Industio_触觉智能 2025-01-08 00:06 100浏览
  • PLC组态方式主要有三种,每种都有其独特的特点和适用场景。下面来简单说说: 1. 硬件组态   定义:硬件组态指的是选择适合的PLC型号、I/O模块、通信模块等硬件组件,并按照实际需求进行连接和配置。    灵活性:这种方式允许用户根据项目需求自由搭配硬件组件,具有较高的灵活性。    成本:可能需要额外的硬件购买成本,适用于对系统性能和扩展性有较高要求的场合。 2. 软件组态   定义:软件组态主要是通过PLC
    丙丁先生 2025-01-06 09:23 100浏览
  • 「他明明跟我同梯进来,为什么就是升得比我快?」许多人都有这样的疑问:明明就战绩也不比隔壁同事差,升迁之路却比别人苦。其实,之间的差异就在于「领导力」。並非必须当管理者才需要「领导力」,而是散发领导力特质的人,才更容易被晓明。许多领导力和特质,都可以通过努力和学习获得,因此就算不是天生的领导者,也能成为一个具备领导魅力的人,进而被老板看见,向你伸出升迁的橘子枝。领导力是什么?领导力是一种能力或特质,甚至可以说是一种「影响力」。好的领导者通常具备影响和鼓励他人的能力,并导引他们朝着共同的目标和愿景前
    优思学院 2025-01-08 14:54 80浏览
  • 大模型的赋能是指利用大型机器学习模型(如深度学习模型)来增强或改进各种应用和服务。这种技术在许多领域都显示出了巨大的潜力,包括但不限于以下几个方面: 1. 企业服务:大模型可以用于构建智能客服系统、知识库问答系统等,提升企业的服务质量和运营效率。 2. 教育服务:在教育领域,大模型被应用于个性化学习、智能辅导、作业批改等,帮助教师减轻工作负担,提高教学质量。 3. 工业智能化:大模型有助于解决工业领域的复杂性和不确定性问题,尽管在认知能力方面尚未完全具备专家级的复杂决策能力。 4. 消费
    丙丁先生 2025-01-07 09:25 122浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦