人工智能——移动摄影技术

目录

      封面

1 .移动计算摄影简介

2.手机相机的硬件限制

2.1 传感器尺寸和镜头孔径

2.2 噪声和动态范围

2.3 景深

2.4 变焦

2.5 色彩欠采样

3 .相机图像处理流水线

3.1 相机传感器

3.2 相机流水线

5.拓展

1 .移动计算摄影简介

现代数字摄影的进度始终伴随着图像传感器和图像处理算法的发展。胶片摄影的时代从20世纪30年代开始,在近50年的时间里占据了整个摄影界的主导地位。第一台商用数码相机出现在90年代初,但其价格昂贵得让人望而却步,这些早期的设备当然也未能占据很大的市场。但在1993年引入的CMOS(互补金属氧化物半导体)图像传感器促进了所谓的“芯片上的相机”的发展,这种革命性的传感器使更便宜的设备成为可能。在之后的时间里,相机中的传感器、光学部件和软件算法等技术的进度,逐步提高了数字摄像机的成像质量。

2007年推出的iPhone是移动设备发展的分水岭,改变了手机和相机技术的发展历程。不过,早期的手机上的相机(或者称之为移动相机)还远不如当时任何价格可比的卡片相机。2010年是移动相机的关键,随着4G无线通信和高分辨率屏幕显示器的普及,使得用户能够在移动设备上欣赏到自己拍摄的照片,而且值得将照片分享给更多人。

一般的手机相机镜头筒非常小,捕捉到的所有图像都是扭曲的。对应现实世界,手机拍到的图像形状几乎都有偏差。大多数人可能不会注意到或在意这一点,因为他们已经习惯了 Instagram 上的自拍。但如果能改善这些畸变就好了。

iPhone 和其他相机将越来越多地搭载带有 3D 传感器的后置摄像头。这些传感器由鲁门特姆控股(Lumentum Holdings)和其他芯片供应商等公司制造,通过计算发出光束从物体上反射回来的时间来测量手机周围环境的深度。“飞行时间法”(time-of-flight)等技术可以让手机详细测量周围环境的三维结构。

2.手机相机的硬件限制

理想情况下,智能手机相机将提供与单反相机相同的摄影性能。然而,智能手机相机有几个显著的缺点,因为它首要地要被集成在手机的狭小空间里。下图显示了一个手机相机与一个典型的单反相机优缺点对比。

手机相机的图像传感器和镜头都明显比单反相机上的要小。然而,虽然智能手机的物理硬件是被限制的,但智能手机可以获得比单反更多的计算能力。简单来说,与典型的单反相机相比,手机相机的镜头进光量要比单反镜头的进光量低两个数量级;与此同时,手机相机拥有大约高两个数量级的计算能力。因此,在手机相机上对有着更多限制的成像硬件进行额外的算法处理是不可避免的。接下来,我们简要介绍手机相机的几个关键限制。

2.1 传感器尺寸和镜头孔径

智能手机相机最明显的限制是其传感器和光学镜头的尺寸。现代智能手机传感器的尺寸约为5x4毫米,而许多单反相机使用全画幅36x24毫米的传感器。除了传感器尺寸较小外,与单反相机上使用的镜头相比,手机相机的光学镜头要小得多,可调节性也较小。因此,绝大多数手机相机使用固定孔径和固定焦距的光学镜头,这便导致许多手机厂商不得不使用两个或多个不同焦距的相机,以达到满足各种不同场景的使用需求。

2.2 噪声和动态范围

图像噪声可以定义为图像像素强度的不必要的随机变化。除了由于电子中的热振动引起的随机波动外,另一个不可避免的噪声(散粒噪声)则是由光的离散性质引起。在较小的光学孔径和传感器尺寸下,智能手机相机获得进光量和达到传感器表面的光量远小于单反相机。因此,智能手机相机通常需要对信号进行更高的增益放大。这种增益通过ISO控制来实现,但更高的增益也会引入更大的噪声。因此,在传感器上产生的智能手机相机图像噪声明显比用DSLR传感器捕获的图像噪声更加明显。

动态范围的定义为像素光电二极管在最大增益下的满阱电荷与其读噪声的比值。满阱电荷很大程度上取决于像素大小,因此动态范围也与像素大小直接相关。单反相机的像素尺寸约为4微米,而智能手机相机像素的尺寸则是1.5微米或更小。智能手机相机具有小得多的满阱电荷,因此能在每个光电二极管上产生的电流也大幅减少。因此,单反相机可以有效地将像素量化为 4096(12位)到16384(14位)数值。而典型的智能手机相机传感器仅限于每像素1024(10位)的像素值。

2.3 景深

景深(DoF)定义了能够清晰成像的物体的距离范围。景深可以通过相机的焦距和光圈来控制。光圈越大,景深越浅。在摄影中,如果我们要特别的拍摄人物肖像,通常希望系统有一个狭窄的景深,在对人物清晰成像的同时模糊背景。手机相机的光圈小,景深比较大,无法达到拍摄人像时背景有很好的模糊效果。为了克服这一问题,大多数智能手机现在提供了一个人造的背景模糊功能,被称为数字bokeh。

2.4 变焦

为了满足消费者的需求,智能手机的设计趋向于越来越薄。这种设计严重限制了智能手机相机的厚度也限制镜头的有效焦距,从而限制了手机相机的光学变焦能力。为了克服这个问题,现代智能手机厂家通常采用具有不同焦距和视野的多个相机模组的组合方案,使手机相机整体的变焦能力能从超广角到超长焦范围内进行变焦。另外,在光学设计中通过折叠设计来有效焦距,以突破相机厚度有限带来的对焦距和变焦能力的限制。

2.5 色彩欠采样

无论是智能手机相机还是单反相机,图像传感器的每个像素上都会有一个色彩滤波片,如下图所示。这类似于人眼有三类不同的锥细胞,分别用来感知短波长、中波长或长波长的光。当然,无论对于任何相机,最终目标都是每个像素要全包含RGB三个颜色值。因此,图像处理时便需要一个插值过程(称为demoasic)来将传感器的欠采样色彩信息转换为每个像素都具有RGB三通道色彩值的图像。此外,图像传感器上使用的RGB颜色阵列与基于人眼感知的CIE XYZ色彩空间并不完全对应。因此,相机拍摄图像的色彩的丰富程度往往也是有限的,并且与其所使用的颜色阵列滤波片强相关。

3 .相机图像处理流水线

从图像传感器输出的数据,经过我们称之为流水线的一系列处理步骤,最终生成适于人眼观看的或者高质量的“照片”。相机系统有一个专用芯片,称为图像信号处理器(ISP),它在毫秒级时间范围内对每幅图像执行上述图像处理流水线。

3.1 相机传感器

我们首先来了解下图像传感器。摄像机传感器由按二维网格排布的光电二极管组成。光电二极管将光信号转化为电子。一个光电二极管通常对应着图像中的单个像素。为了产生彩色图像,光电二极管上会被放置RGB颜色滤波片。一种典型的颜色滤波阵列(CFA)排列为拜耳图案,如上图所示的放置在传感器顶部的彩色瓷砖的马赛克。相机图像处理流水线中的一个关键步骤是通过根据周围像素的RGB颜色对每个像素的RGB值进行插值来进行demosaic。对RGB光的感应能力与特定传感器的制造和模型相关。因此,相机图像处理流水线中的一个关键步骤是将传感器的RGB值转换为与设备无关的感知颜色空间。直接从传感器输出马赛克格式的图像通常被成为拜耳图像或拜耳帧,或者简单地称之为RAW图。

3.2 相机流水线

上图是一个典型的相机图像处理流水线的具体实现步骤。这里面的许多步骤对于不同的ISP厂家都有特定的实现算法。当然即使使用相同的ISP硬件,两个不同的相机厂家也会由于调整和修改ISP中的相关参数和算法,而产生出完全不同风格和质量的图像。流水线中每个处理步骤的作用如下:

传感器原始图像获取:当前一帧的原始图像传递给ISP时,相机会根据场景亮度、所需的快门速度和光圈,调整ISO增益因子,之后光信号被转换为电信号输出拜耳图像。传感器的拜耳图像被认为是未处理的图像,通常被称为原始图像。拜耳图像每个像素位置有且仅有R或G或B值。这些原始RGB值对应颜色滤波阵列对光谱的灵敏度,而不是直接对应人眼感知的颜色空间。

原始图像预处理: 原始传感器图像通常会被归一化到0至1 。许多相机都有一个叫黑电平的参数用以表示最小的像素值。按说在无光环境下,传感器输出的像素值应该是0,但实际上由于传感器的某些特性,此时输出的像素值是一个很小的值,这个值就是黑电平。黑电平跟传感器的特性相关,同时摄像头ISO和增益这些设置也会影响黑电平的值。在图像处理流水线中,黑电平首先要从原始图像中减去,同时我们也能获得一个与黑电平对应的白电平,表示像素的最大值。如果没有其他特殊的处理,减去黑电平后图像的最小值和最大值会被归一化到0至1。

预处理阶段还纠正传感器上的缺陷像素。缺陷像素在生产的时候会被预校准并被标记所在的位置。始终输出高像素值(热像素)或零值(死像素/坏点)均被称为缺陷像素。缺陷像素可以通过使用它们相邻像素点的值进行插值修复。

随后,镜头阴影矫正(LSC, Lens Shading Correction)会被用来纠正由于达到传感器的光线不均匀导致的图像亮度不均匀的影响。下图展示了经过LSC之前,相机实际捕获的图像。到达传感器的光线从中心到边缘会逐渐减少,导致亮度也逐渐降低。具有径向校正属性的LSC被用来纠正这种亮度非均匀降低的问题。LSC参数一般由镜头厂家预先标定,在实际使用中再根据不同场景亮度,增益水平和用于白平衡的估计场景光照进行轻微调整即可。

去马赛克:去马赛克算法将单通道原始图像转换为三通道全尺寸RGB图像。去马赛克时每个像素缺失的色彩值会根据CFA中相邻像素中对应的色彩值进行插值获得。下图是去马赛克过程的一个示例。下图中我们需要估计出放大部分的一个红色像素点的绿色和蓝色的颜色值。以估计绿色颜色值为例,我们首先根据相邻红色像素值与待估计红色像素值的相似性,计算出所有相邻像素点的权重值;再结合权重值与相邻绿色像素值通过插值估算出待求像素的绿色颜色值。在这个过程中使用权重掩码有助于避免场景边缘的模糊问题。下图只是一种简单和通用的方法,而大多数去马赛克算法都是其独特性。去马赛克算法通常也执行高亮值的裁剪、锐化和一些初始的降噪等操作。

白平衡:白平衡是为了模仿人类视觉系统对不同场景光照能够自动适应颜色的能力而进行的。白平衡常被称为类似人类视觉系统的颜色恒常性。简单来说,颜色恒常性说的是白色的物体无论在日光下,还是霓虹灯环境下,人类视觉系统均会将其认为为白色物体。白平衡需要估计传感器的RGB颜色滤波器对场景光照的响应。这种响应可以通过记录传感器对常见照明(例如日光、白炽灯和荧光等)光谱的响应来在工厂中进行预标定。这些预标定的结果通常会作为白平衡预设的光照环境供用户选择。一种更常见的选择是使用相机自身的自动白平衡(AWB)算法,该算法直接从获取的图像中估计传感器对光照环境的RGB响应。下图说明了一个典型的白平衡处理过程。

无论是通过预设还是AWB功能,一旦得到在当前场景光照下传感器的RGB值,我们便可以将每个颜色通道所有的像素值除以其对应的RGB光照值来对图像进行调整。

色彩空间变换:经过白平衡处理后,图像仍处于传感器相关的RGB色彩空间中。色彩空间变换将图像从与传感器相关的RAW域RGB色彩空间转换为与设备无关的感知色彩空间,其能够与CIE 1931 XYZ色彩空间建立直接的联系。部分相机使用宽色域的ProPhoto RGB色彩空间,它能够显示出90%以上能被人眼感知的色

色彩处理:图像处于感知色彩空间后,相机就可以使用专用的色彩处理的方式来增加图像的视觉美感。在单反相机上,用户在选择照片风格(如生动,景物,肖像和标准等)时,便是在进行色彩处理,每种风格对应着不同的色彩处理方式。色彩处理通常会通过一个3D查找表(3D LUT)将输入的ProPhoto RGB值映射到所希望的色彩空间RGB值。下图是一个典型的色彩处理的过程,其中也包括一个1D LUT的色调映射。有时色彩处理会被用于特定的一些色彩用于增强皮肤的色调。建立3D LUT是一个很耗时的工作,通常由比较有经验的ISP调试专家来完成。针对不同地域用户的喜好,相机厂家经常会使用不同的色彩处理参数。例如,亚洲和拉丁美洲的用户比欧洲和北美的用户更偏向生动风格的图片。

色调映射:色调映射是一个应用于各个颜色通道,调整图像色调值的1D LUT。色调映射有两个目的。一个是与色彩处理一起调整图片的美学表现,通常通过提升对比度的方式来进行。另一个是将RAW域RGB的10-14bit的像素值压缩到8-10bit的大小。这种调整类似于人眼对不同场景亮度的适应能力。下图是一个典型的1D LUT的色调映射过程。

降噪:降噪算法是提升图片的视觉观感质量的一个关键措施。对图像降噪的时候,要控制好图像噪声与图像细节的平衡。过大幅度的降噪将会导致图像模糊,但过小幅度的降噪则无法有效地去除视觉上的噪声观感。降噪算法通常要考虑多个因素,包括图像的ISO增益和曝光设置。有些ISP流水线会将降噪放在色彩空间变换之后,有些会放在其之前,也有在色彩空间变换前后都进行降噪处理的。ISP通常会提供多种降噪算法供相机厂家选择使用。

输出色彩空间变换:经过前面一系列的处理流程,图像的RGB值此时对应一个广色域的ProPhoto色彩空间。然而,现代显示设备只能产生有限的颜色范围。因此,广色域图像还需被转换为适应显示设备的窄色域图像。最常见的色彩空间是标准RGB(sRGB)。AdobeRGB和Display-P3 ,有时也会被使用。输出色彩空间变换通常使用叫做“Gamma”的色彩映射操作,它通常是一个幂律函数,目的是把广色域的像素值转变为与设备的显示曲线匹配的像素值。

5.拓展:

去年,德国慕尼黑工业大学(Technical University of Munich)和佳能公司(Canon, Inc.)的研究人员表示,用一张图片就可以推断出被另一个物体遮挡的场景中有什么。它被称为“分层深度图像”,可以通过从照片中删除一个对象来创建新的场景,显示相机从未见过的背景,但这是通过图像计算得到的。该方法使用了许多神经网络应用中常见的编码-解码器方法来估计场景的深度,以及“生成对抗网络”(GAN)来构造场景中在拍摄照片时从未实际出现在视野中的部分。

各种新的研究在不断涌现,并将在下一代配备 3D 传感器的智能手机相机上呈现井喷之势。这些研究将会带来惊人的成果。通过平衡镜头上的线条畸变创建出平行线,我们可能会得到超分辨率的建筑图片。

未来,在推进机器学习技术之路,还会经历一个意义重大的阶段。我们有可能放弃使用三维传感器,仅用卷积神经网络(CNN)来推断物体在空间中的坐标。这将节省在手机中安装传感器的费用。

注:本文所有内容来自网络查阅学习,受益非凡。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/280173.html

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

相关文章

云计算IaaS、PaaS和SaaS之

提供的服务来比较如下两图 示例图 示例图

前端优化 - 防抖和节流

📢 鸿蒙专栏:想学鸿蒙的,冲 📢 C语言专栏:想学C语言的,冲 📢 VUE专栏:想学VUE的,冲这里 📢 CSS专栏:想学CSS的,冲这里 &#x1f4…

提升爬虫IP时效:解决被封IP的难题

在进行数据采集时,经常会遇到被目标网站封禁IP的情况,这给爬虫系统带来了困扰。本文将介绍如何提升爬虫IP的时效,解决被封IP的难题,帮助您顺利进行数据采集,不再受限于IP封禁。 第一步:使用爬虫IP 使用爬虫…

【MySQL】数据库之存储过程(“SQL语句的脚本“)

目录 一、什么是存储过程? 二、存储过程的作用 三、如何创建、调用、查看、删除、修改存储过程 四、存储过程的参数(输入参数,输出参数,输入输出参数) 第一种:输入参数 第二种:输出参数 …

车牌识别技术,如何用python识别车牌号

目录 一.前言 二.运行环境 三.代码 四.识别效果 五.参考 一.前言 车牌识别技术(License Plate Recognition, LPR)在交通计算机视觉(Computer Vision, CV)领域具有非常重要的研究意义。以下是该技术的一些扩展说明&#xff1…

如何解决msvcp110.dll丢失问题,多种解决方法分享

在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是“msvcp110.dll丢失”,msvcp110.dll是Microsoft Visual C 2012 Redistributable的一个组件,它提供了许多用于运行程序的函数和类库。当这个文件丢失或损坏时&#xff…

oracle-存储结构

文件包括 控制文件.ctl、数据文件.dbf、日志文件.log这三类放在存储上。 参数文件:空间的划分,进程的选用(.ora) oracle启动的时候需要读一下,数据库启动后,参数文件并不关闭,但即使文件丢了&a…

域用户信息查询

域环境基本知识 本地账户 本地账户 命令行查询本地账户 net user来宾账户默认来宾组: net localgroup Guests 查询guest账号SID wmic group get name,sid | findstr Guestspowershell 查询本地用户和 SID Get-WmiObject -Class Win32_UserAccount -Filter &q…

visual studio + intel Fortran 错误解决

版本:VS2022 intel Fortran 2024.0.2 Package ID: w_oneAPI_2024.0.2.49896 共遇到三个问题。 1.rc.exe not found 2.kernel32.lib 无法打开 3.winres.h 无法打开 我安装时参考的教程:visual studio和intel oneAPI安装与编写fortran程序_visual st…

私有部署ELK,搭建自己的日志中心(六)-- 引入kafka对采集日志进行削峰填谷

一、背景 首先,要说明一点,elk日志中心,是可以缺少kafka组件的。 其次,如果是研发环境下,机器资源紧张的情况下,也是可不部署kafka。 最后,因为kafka的部署是可以独立的,所以本文将…

IP地理位置定位技术基本原理

IP地理位置定位技术的基本原理是基于IP地址的特性。每个IP地址在网络中都有一个与之对应的地理位置信息,这是通过IP地址数据库来确定的。这个数据库由ISP(Internet Service Provider)或其它一些机构维护,其中包含了每个IP地址的地…

凸包算法--物体表面积/体积计算--python版

文章目录 环境:1.1 凸包法介绍:2.1 python代码3.1 可视化4.1 体积/表面积Calculation 环境: Open3D 1.1 凸包法介绍: 用于找到包围给定点集的最小凸多边形或凸多面体 常用的凸包算法: Grabam扫描法(适用…

iptables 防火墙(二)

目录 1. SNAT 策略及应用 1.1 SNAT策略概述 1. 只开启路由转发,未设置地址转换的情况 2. 开启路由转发,并设置SNAT转换的情况 1.2 SNAT策略的应用 1. 2.1 共享固定IP上网 (1)打开网关的路由转发 (2)…

LLaVA-v1.5-7B:实现先进多模态学习的开源AI

引言 LLaVA-v1.5-7B是一个开源大型多模态模型(LMM),它通过结合视觉指令调整(Visual Instruction Tuning)技术,展示了在多模态理解和生成任务上的卓越性能。该模型特别注重简洁性和数据效率,利用…

MySQL:索引

MySQL官方对索引的定义为: 索引 (Index) 是帮助MySQL高效获取数据的数据结构。 提取句子主干,就可以得到索引的本质:索引是数据结构。 1. 什么是索引,索引的作用 索引是一种用于快速查询和检索数据的数据结构,帮助mysql提高查询效率的数据…

在Linux运行LaTeX

共有三个步骤1. 装LaTexTeX Live - TeX Users Group 下载对应版本安装包安装 文件比较大,这步花的时间多一点,不过也不会太多,感觉5分钟十分钟的样子吧 2. 装TexStidio 这一步是安装一个类似在windows系统下的TaTeX GUI软件 图标是这样3. 配置…

安装hadoop

前置需要安装java rz tar -zxvf jdk-8u381-linux-x64.tar.gz -C / ln -s /jdk1.8.0_381/ /jdk # rm jdk-8u381-linux-x64.tar.gzexport JAVA_HOME/jdk export PATH$PATH:$JAVA_HOME/binhadoop可以选择清华源或者官网下载官网 rz # 上传hadoop包到机器 tar -zxvf hadoop-3.3.6…

精致旅游公司Treker网页设计 html模板

一、需求分析 旅游网站通常具有多种功能,以下是一些常见的旅游网站功能: 酒店预订:旅游网站可以提供酒店预订服务,让用户搜索并预订符合其需求和预算的酒店房间。 机票预订:用户可以通过旅游网站搜索、比较和预订机票…

【数据结构】链式家族的成员——循环链表与静态链表

循环链表与静态链表 导言一、循环链表1.1 循环单链表1.2 循环双链表 二、静态链表2.1 静态链表的创建2.2 静态链表的初始化2.3 小结 结语 导言 大家好!很高兴又和大家见面啦!!! 经过前面的介绍,相信大家对链式家族的…

企业如何做好内容?媒介盒子分享

在个性化算法的支持下,企业通过创作优质内容使消费者主动选择企业的时代已经来临,对于中小企业来说,这是能够低成本进行营销的好机会。但是有许多企业对内容的理解依旧是片面的,今天媒介盒子就来和大家聊聊:企业如何做…