本篇博客同步发表在我的个人公众号:计算机视觉life

前一篇介绍了为什么会出现双摄像头(简称双摄)手机以及它的典型应用,下面来分析一下双摄的工作原理。

由于双摄技术的快速发展,目前已经衍生出了几种不同的双摄硬件和算法配置解决方案。不同手机厂商可能有不同的双摄配置,比如华为荣耀P9采用的就是黑白相机+彩色相机的硬件配置,而iPhone 7 plus采用的就是广角+长焦的配置。此外,随着技术的演化,同一厂商也可能推出多种不同的配置。比如,华为2014年底推出第一款双摄手机是荣耀6plus,后置两个相同的彩色相机平行排列,2016年推出的年度旗舰产品荣耀P9则是黑白相机+彩色相机的配置。

因此介绍原理之前,先对目前双摄的配置进行粗糙的分类。双摄手机一般包括一个主摄像头和一个辅助摄像头。根据不同的应用需求和侧重点,目前双摄手机通常有以下几种不同的组合形式:

1、彩色相机 + 彩色相机(RGB + RGB),主要用于计算景深,实现背景虚化和重对焦

2、彩色相机 + 黑白相机(RGB + Mono),主要提升暗光/夜景影像拍摄质量

3、广角镜头 + 长焦镜头(Wide + Tele),主要用于光学变焦

4、彩色相机 + 深度相机(RGB + Depth),主要用于三维重建

以上1、2、3的组合本质上是一种“叠加”。即把两个镜头拍摄的图像叠加融合,来达到提升拍摄质量、背景虚化、光学变焦等功能。这种应用双摄像头拍摄的图像差距越小越好,这样算法进行“叠加”的时候才能更精确。理论上两个摄像头离的越近越好,目前大部分双摄手机都是基于这样的配置,两个镜头之间的基线(两个镜头的间距)很短,一般都是10mm左右。而人类双眼的基线均值是64mm,相比之下目前的双摄手机基线太短,只能计算较近物体的景深(浅景深)。

1、彩色相机 + 彩色相机

单反相机让人为之着迷的一点便是通过调整不同光圈值,拍出如梦似换的背景虚化效果。我们知道,单反相机通过增大镜头光圈可以缩小拍照时的合焦范围。如下图,黑色的小人代表了拍摄的清晰范围,当采用较大光圈时,只有在对焦点附近的小人是清晰的,对焦点前后的小人都被模糊掉了。

为了模拟这种虚化效果,双摄手机利用人眼三角定位原理来计算被摄物体距离摄像头的距离Z。如下图所示。

得到拍照场景中每一个像素点距离相机的远近后,通过算法保留对焦平面内景物清晰度,将其余部分根据其相对于摄像头的远近距离进行模糊处理,就可以模拟出光圈虚化效果。如下所示不同焦距对应不同焦平面。

来一张养眼的背景虚化图片吧:

虽然理论上可行,但实际使用中,要想在不同场景下实现类似于单反一般"焦内锐利,焦外奶油"的效果,让人物主体对焦锐利突出,层次线条分明,还需要强大的算法保障(以后会介绍该领域的算法公司)。

单反相机可以通过调节光圈大小,来改变照片的虚化程度,双摄手机也可模拟单反相机调节光圈。通过重新调用照片中物体的景深信息,可以实现先拍照后对焦的功能,实现之前只有光场相机才能实现的重对焦功能。

如下图是利用双摄手机处理得到的重对焦效果:

典型手机代表:

红米Pro、vivo x9

特别提示:

vivo x9官网的双摄介绍: 前置采用2000W索尼定制传感器 + 800W专业景深摄像头

红米Pro官网的双摄介绍:1300 万像素后置相机 + 500 万像素辅助深度相机

上述两款手机官网介绍中副摄像头标榜为景深相机或辅助深度相机,其实并不恰当。它们并非真的可以单独用来测量距离,其实只是普通的RGB彩色相机。只不过对成像质量贡献很小,主要用于和主摄像头一起提供立体视差从而计算景深。总结一下,景深信息实际是通过主副两个相机的视差共同计算的,单个RGB相机是无法直接得到景深的。所以我个人认为,红米pro和vivo x9在双摄的副摄像头宣传上使用了误导性的不恰当的术语。

2、彩色相机(RGB) + 黑白相机(Mono)

提高暗光拍照质量一般有三种办法:延长曝光时间、提高ISO感光度、增大光圈。延长曝光时间会带来手抖的问题,于是手机厂商纷纷搬来了光学防抖;提高ISO感光度则必然会增加噪点影响画面纯净度,在手机体积和厚度限制下又不大可能再把传感器尺寸放大;手机光圈一般都是固定的无法调整。于是算法工程师们想到了借助黑白世界的力量。

下面参考altek公司的一个简要的技术报告来解释一下该技术的原理。下图是一个简要的算法流程图。

  • 黑白和彩色相机拍摄的图像首先要保证图像同步和像素级对齐操作,通俗的说就是要保证两个相机在同一个时刻拍摄同一个场景下的物体,由于两个相机之间有一定的距离,所以拍摄的场景虽然是同一时间,但内容会有移位,所以需要根据两个相机交叠的部分来使得黑白和彩色图片中相同的像素一一对应。这一部分需要用到两个相机事先标定好的数据来做计算。相机标定可以简单的理解为测算两个相机的物理位置关系和相机本身的参数,在此不多做介绍。

  • 图像融合部分是可以加开关进行控制的,根据不同应用的需要黑白和彩色图片都可以作为主要的融合参考,也可以分开使用。

下面来看看为什么要把黑白图片和彩色图片进行融合,是否融合后1+1>2?

我们知道自然光是由赤橙黄绿青蓝紫等不同颜色组成的,我们小时候玩的三棱镜就可以看到光的色散。如下图。

我们日常生活中的数码相机,显示器、扫描仪等大部分显示或打印的颜色都是通过红(Red)、绿(Green)、蓝(Blue)三原色按照不同的比例合成的,称为RGB颜色模型。这个比较容易理解。

接下来介绍一个复杂一点概念:拜尔滤色镜。它其实是一种将RGB滤色器排列在光传感组件方格之上所形成的马赛克彩色滤色阵列。如下图,入射的自然光经过不同的拜尔滤色镜后就得到了相应的颜色。

其中绿色占一半,红蓝各占四分之一,这样的设置是因为人的眼睛对绿色最敏感。最终每个像素点的颜色信息是经过插值处理得到的。插值的方法有很多种,最简单的一种就是线性插值。比如下图位于九宫格的绿色像素点G,它的RB值是通过周围四格的平均值得到的。

对于红色像素点R或蓝色的B,插值的方法会稍微复杂一些,在此不赘述。

而黑白相机没有拜尔滤色镜,所有的光都入射进来(下图右下角),所以和具有拜尔滤色镜的彩色相机相比可以获得更大的进光量,光学传感器的灵敏度也更高。因此黑白相机相对彩色相机,图像更加明亮,细节信息能够保留的更好。下图左下角是彩色相机的信噪比SNR(全称Signal Noise Ratio,可以理解为有用信息和噪音的比值,越大越好)。右侧是彩色、黑白图像融合后的结果,可以看到,融合后信噪比明显提升了。

综上,由于黑白相机的细节更丰富、信噪比更高等优势,以黑白图像作为基准和彩色图像进行融合后,图像的整体效果会有比较明显的提升(尤其是在暗光环境下)。

下图可以直观的看到黑白+彩色的双摄模式在提升细节方面的效果。下图中间是左边彩色图像和右边黑白图像融合的结果,可以明显的看到,细节更加清晰,图像质量更好。

下图可以直观的看到,黑白+彩色的双摄模式可以显著提高暗光场景下的图像亮度,减少噪点,显示其在夜景拍照上的独特优势。

典型代表手机是:

360手机奇酷旗舰版、华为荣耀P9。

下一篇继续介绍后面两种双摄配置的原理,敬请期待。

欢迎关注 微信公共号:计算机视觉life(微信号:CV_life)

工作日更新技术文章,节假日更新非技术类文章。主要内容分以下几类:

  • 技术总结:主要关注计算机视觉、机器学习、人工智能等相关领域的前沿资讯、技术干货、产业理解等。

  • 生活随想:主题比较随意,主要包括自己对人对事的思考,对生活、成长的理解。

智能手机双摄像头工作原理详解:RBG +RGB, RGB + Mono相关推荐

  1. camera (13)---智能手机双摄像头工作原理详解:RBG +RGB, RGB + Mono

    智能手机双摄像头工作原理详解:RBG +RGB, RGB + Mono 由于双摄技术的快速发展,目前已经衍生出了几种不同的双摄硬件和算法配置解决方案.不同手机厂商可能有不同的双摄配置,比如华为荣耀P9 ...

  2. 手机双摄像头工作原理详解:RBG +RGB, RGB + Mono

    由于双摄技术的快速发展,目前已经衍生出了几种不同的双摄硬件和算法配置解决方案.不同手机厂商可能有不同的双摄配置,比如华为荣耀P9采用的就是黑白相机+彩色相机的硬件配置,而iPhone 7 plus采用 ...

  3. nginx配置文件及工作原理详解

    nginx配置文件及工作原理详解 1 nginx配置文件的结构 2 nginx工作原理 1 nginx配置文件的结构 1)以下是nginx配置文件默认的主要内容: #user nobody; #配置用 ...

  4. sync.Map低层工作原理详解

    sync.Map低层工作原理详解 目录 为什么需要sync.Map?适合什么场景? sync.Map内部实现基本原理及结构体分析 sync.Map低层工作原理 1. 为什么需要sync.Map?适合什 ...

  5. ASP.NET页面与IIS底层交互和工作原理详解 (二)

    第三回: 引言 Http 请求处理流程 和 Http Handler 介绍 这两篇文章里,我们首先了解了Http请求在服务器端的处理流程,随后我们知道Http请求最终会由实现了IHttpHandler ...

  6. ASP.NET页面与IIS底层交互和工作原理详解(一)

    第一回: 引言 我查阅过不少Asp.Net的书籍,发现大多数作者都是站在一个比较高的层次上讲解Asp.Net.他们耐心.细致地告诉你如何一步步拖放控件.设置控件属性.编写CodeBehind代码,以实 ...

  7. 有刷直流电机工作原理详解

    有刷直流电机工作原理详解 来源:网络整理• 2018-05-10 09:00 • 56380次阅读 有刷直流电机被广泛用于从玩具到按钮调节式汽车坐椅的应用中.有刷直流 (Brushed DC,BDC) ...

  8. 晶体三极管结构及其工作原理详解

    晶体三极管基本概述 晶体管是一种与其他电路元件结合使用时可产生电流增益.电压增益和信号功率增益的多结半导体器件.因此,晶体管称为有源器件,而二极管称为无源器件.晶体管的基本工作方式是在其两端施加电压时 ...

  9. FTP协议及工作原理详解

    FTP协议及工作原理详解 1. FTP协议 什么是FTP呢?FTP 是 TCP/IP 协议组中的协议之一,是英文File Transfer Protocol的缩写. 该协议是Internet文件传送的 ...

最新文章

  1. 面试题23_从上往下打印二叉树
  2. DB2查询结果显示n行
  3. 迅雷Bolt界面引擎将于3月19日对外开放
  4. 魔兽世界插件开发-Table Of Contents(TOC)文件
  5. 记一次阿里云RDS MYSQL 数据恢复的经历
  6. 软件读写中文字符的文件出现乱码的解决办法
  7. 使用DOS命令查找并复制指定目录及其子目录下的同一后缀所有文件
  8. teamviewer13试用期已到期,错装商业版怎么还原成个人版?
  9. FPGA Verilog 编写的 可调时 数字钟
  10. 等等!python和鸭子是什么关系?
  11. Promise、then()、catch()详解
  12. 马建威android视频,5.25春季班高级班第三期第五节课课堂总结
  13. 阿里云IOT入门教程(三)阿里云IOT Studio自建手机App控制Wemos D1 Mini( ESP8266 )板载灯亮灭
  14. 计算机c盘可以删除的文件,电脑C盘上的文件哪些可以大胆删除的?
  15. 计算机音乐数字乐谱未闻花名,未闻花名简谱(歌词)-演唱-小叶歌曲谱
  16. 填坑—c语言写单片机中断程序无法返回到中断点—解决办法
  17. 电脑使用android手机摄像头,电脑怎么使用安卓手机摄像头 电脑使用手机摄像头的方法-电脑教程...
  18. Elasticsearch:在搜索引擎中如何实现完全匹配(内容精确匹配)查询
  19. 光伏并网逆变器设计方案,附有相关的matlab电路仿真文件,以及DSP的程序代码
  20. bootmgr快速修复win7_如何使用老毛桃winpe进行磁盘分区引导修复?

热门文章

  1. Statsmodels 统计包之 OLS 回归
  2. YYGH-6-微信登录
  3. slam2:kf,pf
  4. python赋值运算符
  5. MATLAB中的各种文本说明换行操作
  6. Unity2017 Assetbundle 打包、加载
  7. ArcGIS导入坐标点文件创建面状图层
  8. 【Spark+NLP】14、使用IDEA运行spark小程序 + jar包在spark分布式环境中运行
  9. 28-【JS全解】JS 函数
  10. QML之TextEdit组件