点击上方“小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

本文转载自有三AI

本期主要对数字成像系统进行概述总结,行文主要分为:数字成像系统组成、摄像头关键部位概述、ISP概述、关于摄像头相关的技术指标概述以及总结。现在互联网资源比较丰富,本文只提出每个部分的关键知识点,读者如果有兴趣可以进一步深入检索进行学习。

1 数字成像系统组成

对于人眼来说我们观察到一个物体很容易。初中物理和生物知识已经告诉我们当我们观察到光源下的物体时,比如对于变换光照来说我们眼睛可以通过补偿光照以自适应环境亮度变化、物体远近移动我们可以通过自主对焦以关注到物体移动。简单来说是因为眼周围肌肉引起瞳孔扩大缩小进而控制进光量,深究则是由于眼部的各种锥状细胞、杆状细胞等进行光感应进而能完成快速的物体成像。而数字成像系统也是和人眼成像有异曲同工之处。

如下是一个成像系统的关键组成:

以手机拍照为例:当打开手机准备拍照,镜头(Lens)会首先把被摄景物投影在图像传感器(Sensor)上,与此同时,影像处理器(ISP)会通过测光、测距算出合适的参数并指示镜头对焦,随着你按下拍照键,图像传感器(Sensor)会完成一次曝光,并通过影像处理器(ISP)变成图片,再经手机应用的后期处理,最终呈现在屏幕上,这就是消费者看到的JPG图像。

2 摄像头关键部位概述

下面我们首先查看摄像头的整体结构:

上图几个关键概念解释如下:

Lenses&Spaces

即镜头,镜头是将拍摄景物在传感器上成像的器件,它通常由几片透镜组成,相信如果了解工程光学的人对这个概念一定不陌生。从材质上看,摄像头的镜头可分为塑胶透镜和玻璃透镜。

Voice Coil Motor(VCM)音圈马达:

手机摄像头广泛使用VCM实现自动对焦功能,通过VCM可以调节镜头的位置,呈现清晰的图像。其里面实现原理主要是通过固定磁场加电流产生力进而引起马达运动然后对焦,通过步进方式在空间寻找对焦位置并通过对焦算法确定何时停止寻找对焦位置。关于AF对焦在详解3A算法部分会有详细讲解。

CMOS Image Sensor(CIS):

Sensor即传感器,传感器是摄像头组成的核心,也是最关键的技术。此图用的是CMOS传感器(已包含DSP处理器),摄像头传感器主要有两种,一种是CCD传感器,一种是CMOS传感器,两者区别在于:

CCD的优势在于成像质量好,但是由于制造工艺复杂,成本居高不下,特别是大型CCD,价格非常高昂。在相同分辨率下,CMOS价格比CCD便宜,但是CMOS器件产生的图像质量相比CCD来说要低一些。一般手机厂商都是采用CMOS传感器。如果要了解CMOS传感器工作原理,可参考工程光学相关内容,但需要提及的是CMOS实际上也就是通过光电感应原理将光信号转换为电信号,现在摄像头拍照数据流到达Sensor,传感器(Sensor)只能感应到光照强度的大小,这意味只能是获取黑白(0,1)照片,但是现在大部分照片都是彩色的,这是怎么回事呢?原来有一个叫Bayer的人发明了一种“颜色滤波矩阵”,如下:

其巧妙地将这个矩阵加持在传感器上,只让相应颜色波长的光子通过。仿照了人眼对于颜色的特殊模式要求,到此即形成了不同模式的Raw图,所谓Raw图即原始未经加工过的图,Raw图的形成下一节会详解其生成过程,RAW图接下来会经过“大脑”——ISP芯片。

3 ISP概述

ISP是Image Signal Processor的缩写,全称是影像处理器。在相机成像的整个环节中,它负责接收感光元件(Sensor)的原始信号数据,可以理解为整个相机拍照、录像的第一步处理流程。

ISP芯片的主要作用就是对传感器输入的信号进行运算处理,最终得出经过线性纠正、噪点去除、坏点修补、颜色插值、白平衡校正、曝光校正等处理后的结果。ISP芯片能够在很大程度上决定手机相机最终的成像质量,通常它对图像质量的改善空间可达10%-15%。

一般来说各个厂家ISP整体线程流会集成各种3A算法、降噪等算法,isp pipeline大同小异,一般的pipeline流程如下:

上述是一个基本的isp pipeline流程图,其根据处理节点的不同分为RAW域、YUV域、RGB域。其中isp pipeline最关键的是3A算法,即AE、AF、AWB,但从上述图发现没有AE和AF?实际上这两个算法在raw图施加到pipeline上时候已经提前调试好了,因为只有AE曝光稳定,AF对焦准确,对于Raw域和YUV域进行的图像处理才有意义,否则都没有稳定的光电感应和准确对焦,何来更高的图像质量?关于ISP相关的说明文档很多,本文作为概述就不一一涉及,有兴趣的可以Google关于ISP相关的图像处理算法。

4 摄像头相关的技术指标概述

摄像头成像是一门涉及工业制造、软硬件结合的科学,故对于摄像头硬件有一套相应的硬件指标,各个大厂都不相同,但按照类别可以分类如下:

Lens主要指标:

解析度(Resolution)、视场角(Fov)、焦距(Focus length)、聚焦能力(Focusing Range)、光圈系数、失真(Restortion)。

Sensor的技术指标:

a.灵敏度(sensitivity mv/lux.sec):即1 lux照度下,1秒像素产生的电压值,其反应传感器的光电转换效率;
b.动态范围(Dynamic Range dB):一个动态范围大的传感器能准确记录影像从亮部到暗部的复杂变化,sensor动态范围很大程度上取决于单个像素面积大小;
c.暗电流(Dark shading pA.cm2):即在完全黑暗情况下,1s内像素产生电压值,其更多反映传感器材料性能;
d.信噪比(dB):信号电压与噪声电压的比值;
e.帧率(frame per second):一秒出帧数;
f.功耗(power consumption mw);
g.尺寸;
h.白平衡能力;

可见衡量sensor性能的指标很多,每一项的选型都对摄像头成像产生很大的影响,同时各个指标之间又是相互制衡的关系,所以各个大厂在对摄像头选型时候一般会根据产品定位去做选型,会考虑性价比。

Camera模组主要性能参数:

1、视觉分辨率(Visual Resolution)
2、色彩还原(Color)
3、白平衡(White Balance)
4、灰阶(Gray Scale)
5、成像均衡性(Imaging Uniformity)
6、曝光亮度差(Exposure)
7、缺陷像素(Defect pixels)
8、畸变(Tv Distortion)
9、对角线视场角(Maximum Angle of field of View)
10、帧率(Frame Rate)

各个Camera厂商会根据摄像头成像效果进行一套评估,即客观测试标准书,测试涉及光源、拍摄对象、评测算法。光源包括CIE标准光源,涉及D65、D50、荧光、A光、H光;拍摄对象包括ISO 1000图卡、24色卡、灰阶卡等;评测算法一般通过评测软件计算,如imatest、DXO评测软件等。

5 小结

数字成像系统是一门系统性工程,其主要研究的是成像的技术。

总结成像过程就是:经过镜头聚光成像,sensor将光信号进行光电转换,AD处理,曝光增益控制,以及各种图像信号处理,最后按照一定时序和格式输出的数字图像信号。

上述核心在于sensor,其类似于传统相机的底片,而sensor的组成一般是三层结构:微镜头、滤色片、感光像素阵列。Sensor出的图是raw图,其需要经过ISP芯片中一系列算法处理后才能得到我们平时看到的jpg图像,而此时只是行百里者半九十,还需要根据各种成像指标进行图像效果质量测试,包括客观图卡测试硬件性能和主观场景测试算法成像效果,上述所有全系列指标都通过后才能完成一个完整的数字成像系统设计和实现进而可以量产交付。

值得一提的是,正是因为目前数字成像技术的广泛应用,在各个大的手机厂商催生了相应的工程师岗位:如模组工程师、整装工程师、驱动工程师、算法工程师、效果工程师、测试工程师等。通过这些工种可以发现,其基本上属于整个数字成像系统的流水线所有关键节点,正是这些工程师的整体配合,才会有消费级电子产品如手机拍照的诞生。

下载1:OpenCV-Contrib扩展模块中文版教程在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。下载2:Python视觉实战项目52讲
在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。下载3:OpenCV实战项目20讲
在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。交流群欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~

计算摄影 | 摄像机成像原理及参数解析相关推荐

  1. 摄像机码流平滑参数解析

    码流平滑 针对因I帧过大导致瞬时码流过高场景,可以通过设置码流平滑参数降低I帧大小,从而抑制过高的瞬时码流. 背景信息 码流平滑是针对支持H.264和H.265编码的系列设备实现的功能,通过调整设备内 ...

  2. VGA成像原理与简单实现

    VGA成像原理与简单实现 前言 一.VGA成像原理 二.VGA成像时序详解 三.VGA成像设计 四.VGA控制器Verilog设计实现 五.TB文件展示 六.仿真结果分析 前言 本篇文章简单记录VGA ...

  3. SpringMVC源码之参数解析绑定原理

    摘要 本文从源码层面简单讲解SpringMVC的参数绑定原理 SpringMVC参数绑定相关组件的初始化过程 在理解初始化之前,先来认识一个接口 HandlerMethodArgumentResolv ...

  4. java会员卡的绑定和解绑_SpringMVC源码之参数解析绑定原理

    摘要 本文从源码层面简单讲解SpringMVC的参数绑定原理 SpringMVC参数绑定相关组件的初始化过程 在理解初始化之前,先来认识一个接口 HandlerMethodArgumentResolv ...

  5. python输入正方形边长值、计算其面积_尝试修改列6.2编写命令行参数解析的程序,解析命令行参数所输入边长的值,计算并输出正方形的周长和面积。_学小易找答案...

    [简答题] [单选题]ZigBee 中每个协调点最多可连接______个节点,一个ZigBee网络最多可容纳______个节点.( ) [资料题]DWord-Ans.pdf 索引和目录.pdf 完成效 ...

  6. X射线系统、超声波系统及MRI数字成像原理解析

    X射线系统.超声波系统及MRI数字成像原理解析 http://app.hc3i.cn 2010-09-27 16:02电子创新网 本文介绍不同成像方法电子设计存在的诸多挑战和一些最新动态,具体包括数字 ...

  7. CMS系统摄像机成像质量指标解析

    摄像机-监视器系统camera-monitor system(CMS).或称电子后视镜,对摄像机成像的各项指标要求远高于其它车载摄像机,成像效果要达到或高于传统光学后视镜反射成像效果,这就对成像模组. ...

  8. 计算摄影——图像超分

    这一节主要介绍一下基于单张图的图像超分算法.图像超分,就是要从低分辨率的图像恢复为高分辨率的图像,它在日常的图像和视频存储与浏览中都有广泛的应用. 基于深度学习的图像超分算法 不同的采样结构 图像超分 ...

  9. RGB相机、深度相机以及LiDAR成像原理

    RGB相机成像原理 相机结构和原理(入门简版)知乎 摄像机模型数学推导 相机结构 成像原理 大名鼎鼎的"拜尔滤镜" CMOS滤镜排列 像素尺寸.大小关系 景深 景深原理 卷帘相机( ...

  10. 视觉SLAM开源算法ORB-SLAM3 原理与代码解析

    来源:深蓝学院,文稿整理者:何常鑫,审核&修改:刘国庆 本文总结于上交感知与导航研究所科研助理--刘国庆关于[视觉SLAM开源算法ORB-SLAM3 原理与代码解析]的公开课. ORB-SLA ...

最新文章

  1. 购物小票 FoundPrice.java
  2. [Android]Linux下WebRTC下载与编译
  3. linux是否有免安装程序,在线Ubuntu Linux系统,免安装体验Linux系统
  4. java 输入流关闭顺序_Java IO流中先关闭输出流还是先关闭输入流?为什么?
  5. JAVA中参数传递问题的总结(按值传递和引用传递)
  6. HttpServletRequest应用-获取请求参数及解决中文乱码
  7. SAP NetWeaver Portal 内容导出出错处理
  8. 最火的编程语言和开源项目,跟你想的一样吗?
  9. 【优化算法】混合灰狼优化布谷鸟搜索优化算法(AGWOCS)【含Matlab源码 1540期】
  10. 自学Shiro框架笔记
  11. Webgame服务端分布式架构设计
  12. Winedit7.0自定义一键编译
  13. 易捷行云EasyStack携手北联国芯,共筑鲲鹏生态
  14. Blender软件介绍与使用心得
  15. [Verilog硬件描述语言]程序设计语句
  16. Fanuc Socket Message通讯第一讲
  17. 天行健!君子以自强不息!
  18. 如何使用CANalyzer查看LIN Message ID和Signal信号
  19. SpringBoot 配置Druid监控页面
  20. mysql的join+in,MySQL和性能:使用’IN’或’JOIN’?

热门文章

  1. vnr光学识别怎么打开_物流仓库安防监控系统安装的作用和功能
  2. 安装Centos系统时选择安装的包
  3. [转载]在Java应用程序中访问USB设备
  4. 【译】Steve Yegge的文章《Practicing Programming》
  5. 计算机3大总线名词解释,计算机名词解释-- 总线.doc
  6. 计算机网络中常见英文缩写所对应的名词整理
  7. 雅虎邮箱,在foxmail 设置
  8. java和vue实现拖拽可视化_可视化拖拽页面编辑器 一__Vue.js
  9. HTML期末学生大作业 响应式动漫网页作业 html+css+javascript (1)
  10. 坚持#第212天~零基础自学云计算基础语言应用1~5节