0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

手机拍照为啥需要图像算法?? 硬核知识又增多了:)

颖脉Imgtec 2023-06-21 17:21 次阅读

本文来源:紫光展锐UNISOC


人类进入智能手机时代后,摄影方式也发生了巨大变化:用来拍照的不再只是镜头和传感器了,背后还加载着一系列的图像算法,它可以用更快的速度处理图像,并获得更好的拍摄效果。

好作品只能依赖专业摄影师的时代过去了,图像算法引入到手机拍照应用后,让人人拍出好照片成为可能。

这事得从人类对色彩的感知能力说起…

人类对色彩的感知能力是漫长进化过程中产生的一项重要能力,它使得我们眼中的世界五彩斑斓。颜色是怎么呈现出来的呢?它是光线通过眼睛成像到视网膜上,由视网膜上的视细胞感知光信号的强弱,视觉神经对信号的传播,再由大脑处理所产生的视觉感受。颜色的产生极其复杂,人类所获得的色彩感受不但取决于光的物理特性,还受心理等因素影响。

首先,我们先来了解一下颜色的物理特性。肉眼所见到的光线(一般波长范围是380-780nm,见图1),是电磁波谱中人眼可以感知到的部分,不同波长的可见光表现为不同的颜色,对色彩的辨别是肉眼受到可见的电磁波辐射能刺激后引发的视觉神经感觉。

0b8a9ed4-1015-11ee-a579-dac502259ad0.png

图1:可见光波长及其对应的颜色

人眼中对光敏感的细胞分为两类:视杆细胞和视锥细胞。其中,视杆细胞对弱光线最敏感,光谱响应范围覆盖整个可见光区域,在500nm附近达到相应的峰值,但无法区分不同的波段的光线,因此无法产生色觉。在非常低的光照水平下,这样的视觉叫做暗视觉,暗视觉仅视杆细胞在工作。所以在黑暗的夜晚,人们能看到物体,却分辨不出物体的颜色。

在高光照水平下,主要工作的是视锥细胞,有色觉,这样的视觉叫明视觉。视锥细胞分为三类:感红细胞(L) 、感绿细胞(M)和感蓝细胞(S)。对同一波长的光线,不同的视锥细胞有不同的响应能力(见图2),因此视锥细胞具有颜色的辨别能力。

0b9d8d50-1015-11ee-a579-dac502259ad0.png

图2:三种视锥细胞对光的响应能力

光源发射某一光谱分布的电磁波,经过物体的反射或者透射进入人眼,再通过视锥细胞对光线的探测,这整个过程涵盖了颜色的物理属性。颜色同时受到人们的心理、现实经验等因素的影响,某个场景的光在视细胞产生的信号并不等于人们对这个场景的感受。例如,一张白纸不管在红色还是绿色灯光下,人眼看起来都会觉得这是一张白纸,这来源于大脑的经验处理,这种现象叫做颜色恒常性。

可以说,你看到的景色都是经过大脑处理加工过的,眼见并不一定为实哦~

图像算法最大的用途是可以修复照片,使拍摄到的照片获得真实的色彩效果,或者满足用户的某些色彩偏好。


自动白平衡

在展锐的ISP(Image Signal Processing)系统里,主要有自动白平衡(AWB)和颜色校正(CCM)模块来处理色彩。

先看自动白平衡,ISP系统需要根据图像的统计信息,计算出图像R、B channel的增益,以实现自动白平衡功能,以求在各种复杂场景下均能准确还原物体本来的颜色。因为人类视觉系统具有颜色恒常性的特点,对事物的观察可以不受光源的影响,但图像传感器不具有这个特点,因此在不同光线下拍摄的图像,会呈现出不同的颜色。比如,在晴朗的天空下拍摄的图像可能偏蓝,而在烛光下拍摄的物体可能偏红。

自动白平衡功能,就是模拟了人类视觉系统的颜色恒常性特点,来消除光源对图像成像的不良影响。

0c01119a-1015-11ee-a579-dac502259ad0.png图3 :左边是自动白平衡功能关闭,右边是自动白平衡开启

展锐的自动白平衡算法具有以下特点:

效果稳定性好:所谓效果稳定性,指的是拍照场景发生细微改变时,图像色彩效果不会出现明显跳变。

准确度高:展锐的算法在处理绝大部分场景时,都能得到符合预期的结果,尤其是用户关心的蓝天、绿植、人物等等重点场景和混合光源、纯色、夜景等难点场景。

适用范围广、灵活性好:展锐的算法既可以运行在入门级相机设备上(如30万像素的手表项目)上,也可以运行在中高端相机设备上(如3200万像素以上的手机项目),还可以应用到车载记录等物联网领域中。而且,不同产品,展锐的自动白平衡算法可以实现灵活配置,实现算法效果、算法复杂度、内存消耗等多样化的分级需求。


颜色校正

相机实际是在模拟人眼的彩色成像来拍图,由于相机传感器的RGB三通道的光谱响应与人眼中视细胞的光谱响应(见图2)不同,导致其拍摄的图片与人眼看到的有差别,因此需要进行颜色校正(Color Correction Matrix,CCM)。

颜色校正矩阵一般通过标定得到,利用图像传感器拍摄得到的图像与标准图像相比较,计算得到校正矩阵(即CCM矩阵)。利用CCM矩阵对图像的各像素点的进行验收校正,以获得最接近于物体真实颜色的图像。

一般情况下,在颜色校正过程中,都会伴随有颜色饱和度的调整。颜色饱和度是指色彩的纯度,其色彩的纯度越高,图像表现越鲜明;纯度越低,表现就越黯淡。

0c62f9fa-1015-11ee-a579-dac502259ad0.png

图4 :左边是CCM关闭,右边是CCM开启

0c9232f6-1015-11ee-a579-dac502259ad0.png

图5:展锐CCM模块的色彩还原效果评测

(图中18个小圆点和小方点越接近,则表示色彩还原性越好)

随着机器学习等高新技术的发展,以及用户对手机拍照功能的需求日益苛刻,色彩还原技术也会面临一些新的机遇和挑战,例如如何利用AI技术提升色彩还原效果,如何在多摄像头手机上实现更加一致的色彩还原。这些附加技术将给用户带来更好的手机拍照体验,进而持续提升公司产品的竞争力。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2545

    文章

    50411

    浏览量

    750768
  • 手机
    +关注

    关注

    35

    文章

    6841

    浏览量

    157282
收藏 人收藏

    评论

    相关推荐

    为什么FPGA属于硬件,还需要算法

    字信号处理、图像处理、加密解密等,就 需要设计相应的算法来指导硬件资源的配置和利用,以达到期望的性能和功能。 关于学习 FPGA 时先接触语法,这是因为需要掌握如何用特定的编程
    发表于 09-09 16:54

    图像识别算法有哪几种

    图像识别算法是计算机视觉领域的核心技术之一,它通过分析和处理图像数据,实现对图像中的目标、场景和物体的识别和分类。 图像识别
    的头像 发表于 07-16 11:22 870次阅读

    图像识别算法都有哪些方法

    图像识别算法是计算机视觉领域的核心任务之一,它涉及到从图像中提取特征并进行分类、识别和分析的过程。随着深度学习技术的不断发展,图像识别算法
    的头像 发表于 07-16 11:14 4861次阅读

    图像识别算法的提升有哪些

    引言 图像识别是计算机视觉领域的核心任务之一,旨在使计算机能够自动地识别和理解图像中的内容。随着计算机硬件的发展和深度学习技术的突破,图像识别算法的性能得到了显著提升。本文将介绍
    的头像 发表于 07-16 11:12 541次阅读

    图像识别算法的优缺点有哪些

    图像识别算法是一种利用计算机视觉技术对图像进行分析和理解的方法,它在许多领域都有广泛的应用,如自动驾驶、医疗诊断、安全监控等。然而,图像识别算法
    的头像 发表于 07-16 11:09 1163次阅读

    图像识别算法的核心技术是什么

    图像识别算法是计算机视觉领域的一个重要研究方向,其目标是使计算机能够像人类一样理解和识别图像中的内容。图像识别算法的核心技术包括以下几个方面
    的头像 发表于 07-16 11:02 517次阅读

    opencv图像识别有什么算法

    OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库,提供了大量的图像处理和计算机视觉相关的算法。以下是一些常见的OpenCV
    的头像 发表于 07-16 10:40 707次阅读

    基于FPGA的常见的图像算法模块总结

    意在给大家补充一下基于FPGA的图像算法基础,于是讲解了一下常见的图像算法模块,经过个人的总结,将知识点分布如下所示。
    的头像 发表于 04-28 11:45 503次阅读
    基于FPGA的常见的<b class='flag-5'>图像</b><b class='flag-5'>算法</b>模块总结

    cycx3_uvc_ov5640如何添加Method 1支持的静态图像捕获功能?

    根据例程 cycx3_uvc_ov5640可以实现 Method 2拍照功能,我们的设备需要按键拍照功能,请问如何添加 Method 1 支持的静态图像捕获功能,如何实现此功能?
    发表于 03-06 06:10

    人工视觉仍然需要图像采集卡

    最初,图像采集卡被用作模拟视频数字转换器和图像缓冲器,但如今它们能够执行复杂的任务,例如图像处理。图像采集卡的设计不断发展,旨在提高系统性能并减少计算机处理需求。除了
    的头像 发表于 01-30 14:42 309次阅读
    人工视觉仍然<b class='flag-5'>需要图像</b>采集卡

    变压器空载产生的无功为啥需要补偿?

    变压器空载产生的无功为啥需要补偿? 变压器空载产生的无功需要进行补偿的原因有以下几个方面: 1. 电能效率:无功功率不仅不能提供有效能量,还会带来额外的电流损耗和电能浪费,影响变压器的电能转换效率
    的头像 发表于 01-26 16:47 1285次阅读

    FPGA图像处理之CLAHE算法

    在FPGA图像处理--CLAHE算法(一)中介绍了为啥要用CLAHE算法来做图像增强。
    的头像 发表于 01-04 12:23 2313次阅读
    FPGA<b class='flag-5'>图像</b>处理之CLAHE<b class='flag-5'>算法</b>

    FPGA图像处理-CLAHE算法介绍(一)

    在介绍CLAHE算法之前必须要先提一下直方图均衡化,直方图均衡化算法是一种常见的图像增强算法,可以让像素的亮度分配的更加均匀从而获得一个比较好的观察效果。
    的头像 发表于 01-02 13:32 1638次阅读
    FPGA<b class='flag-5'>图像</b>处理-CLAHE<b class='flag-5'>算法</b>介绍(一)

    FPGA图像处理—ISP算法BLC知识详解

    BLC,即 Black Level Correction。cmos 在传出黑色图像的时候,由于自身结构的原因,黑色画面传出的像素值并不是 0,为了达到最大的对比度,我们需要通过算法将这个黑色帧的值回归到 0 的值。
    的头像 发表于 12-15 16:12 3063次阅读
    FPGA<b class='flag-5'>图像</b>处理—ISP<b class='flag-5'>算法</b>BLC<b class='flag-5'>知识</b>详解

    高速信号为啥要走表层?

    高速信号为啥要走表层?
    的头像 发表于 12-05 15:16 525次阅读
    高速信号<b class='flag-5'>为啥</b>要走表层?