jjzjj

手机镜头,噪声建模,ISP,ISO与analog gain

NCU_wander 2023-04-09 原文

最近在做夜景去噪声的low level工作,相关工作可以说是非常的难以及boring。因为这种low level你必须往上层,往底层走,甚至说需要了解ISP相关的知识;因此这段时间对于相关知识进行了大量的学习与了解。

1、ISO

曝光量以E表示,计算单位就是勒克斯·秒(lux*s)。若要取得一定量的曝光量,则光强度越大,曝光时间越短;光强度越小,曝光时间越长。曝光是拍照最基本也是最重要的技术之一。

在专业相机中,曝光强度 = 曝光时间 * 光圈大小 * ISO,手机上的光圈是固定的,所以只需考虑曝光时间和ISO(也就是Gain值的一种表示,这里的Gain又分为Analog Gain,Digital Gain,ISO指的是analog gain)。而手机上的自动曝光就是让相机根据当前的图像信息自动配置曝光大小,也就是曝光时间和ISO的值。


结合一下旷视ECCV2020论文,光是由一组移动的光子组成。光的能量也就是这组光子所有的能量(光的能量是焦耳,而不是Lux。Lux只是人眼对光的响应的一种权重表示)。当光子照射到Sensor上时,只有一部分被转换成了电子,这种转换的效率常用Quantum Efficiency来表述。所以更大的sensor Pixel和更高的QE可以获得更多的电子,也就是sensor的sensitivity更高。

被转换的电子都存在sensor上一个一个的像素里。每一个像素可以保存的最大电子量称为Full Well Capacity。这些被保存的电子不是每一个都是通过光电转换而来的,有一些则是通过暗电流产生的。暗电流是由热量产生的,通常情况下,温度每升高5°C~8°C,暗电流就会增长一倍。这些电子被转换成电压信号,再经过放大(analog gain)、模数转换ADC,形成数字图像信号。

Analog gain其实就是由ISO所控制,也就是我们经常所说的感光度。那么analog gain, ADC(analog digital converter)以及digital gain是怎么区分的呢(这个部分在通信工程专业学习数模转换的时候是有涉及的,可惜我学习的是理论力学,材料力学真的是一点用处都没有啊现在)?可以参考以下的解释:

Analogue_electronicsDigital_signal
analogy是比例的意思,模拟电路工作在三极管的线性区,而数字电路工作在饱和区;也符合电子管和真空管–晶体管(做放大器和开关元件)-- 电子计算机。

Sony-ISO
sony官网直接将ISO称作亮度增益。

2、噪声建模

参考论文:Rethinking Noise Synthesis and Modeling in Raw Denoising

I: real scene
Np: photon shot noise(signal-dependent,泊松分布,有了K,我们可以首先将一个原始数字信号D转换为光电子数I,然后对其施加泊松分布,最后将其还原回D)
Ka: analog gain
Kd: digital gain
N1: the summation of the other noises produced before the analog gain ( 包括 暗电流噪声Nd、热噪声Nt、源跟随器噪声Ns, 高斯分布,)
N2: the summation of the other noises produced before the digital gain(正态分布:暗场图像中提取每一行的均值,通过极大似然值估计计算出来相关的尺度参数)
Nq: quantization noise(假定量化噪声的概率分布是均匀的,服从以1/2量化单位间隔为半径的零均值均匀分布)

3、手机拍照专业模式

现在手机一般会推出属于后置的专业模式,专业模式开放部分参数供消费者自行选择。

  • 最左侧方框 测光方式:测光方式主要分为平均测光、中央重点测光和点测光三个方面

平均测光:对画面的全部区域进行加权平均,适用于光照均匀的画面。比如我们在室外阳光照射均匀的地方拍摄,这时候就可以用平均测光模式了。

中央重点测光:主要侧重画面的中央区域并适当考虑周边区域亮度,适用于主体位于画面中央的拍摄,这种模式适合给人物进行拍摄。

点测光:仅对测光点覆盖的区域测光,适用于精确控制画面明暗的拍摄。

  • WB 白平衡

白平衡其实就是描述显示器中红、绿、蓝三基色混合生成后白色精确度的一项指标。我们在日常拍摄中可以利用白平衡来调节不同光源带来的影响。就比如有时候,拍摄的画面会出现偏色,而白平衡就是用来解决这一问题的。

包括自动白平衡以及预设项(白炽灯、日光、荧光灯、阴天)和用户自定义(可设置色温区间为2000 - 8000K)这几个选项。

  • S 快门时间

快门时间包含有自动快门时间和手动快门时间两个方面,当我们选择自动快门时候,相机会根据测光结果自动匹配合理的快门时间。从理论上来看,如果我们缩短快门时间,那么画面就会变暗,反之则变亮。

  • ISO 感光度

ISO就是感光度,用于衡量镜头对于光的灵敏程度。ISO值越低,画质越好,画面更暗。ISO越高,画质越差,噪点多,画面更亮 。

在拍摄夜景时,iso建议设置在400-800之间,如果想要拍出灯光效果比较强的夜景(如车流、烟火)可以将ISO设置为100左右,搭配三脚架固定手机进行长时间曝光,可以保证照片画质的清晰锐利。

  • AF

专业模式中的对焦方式,它有三种对焦模式,AF-S、AF-C以及MF。

AF-S:单次自动对焦,适合拍摄静物。

AF-C:连续自动对焦,适合拍摄移动中的物体。

MF:手动对焦,选择区域对焦,拍完对焦点仍然不变。

  • EV 曝光补偿

曝光补偿主要用于调整曝光补偿值,以此来使拍摄的画面更亮或更暗,拍摄者可以根据自己的想法调节照片的明暗程度,创造出独特的视觉效果。

另外曝光补偿还可以与上面的ISO感光度配合使用,特别是在夜间的时候,可以拍出更明亮的照片。

有关手机镜头,噪声建模,ISP,ISO与analog gain的更多相关文章

  1. ruby-on-rails - 建模收藏夹 - 2

    我希望将Favorite模型添加到我的User和Link模型。业务逻辑用户可以有多个链接(即可以添加多个链接)用户可以收藏多个链接(他们自己的或其他用户的)一个链接可以被多个用户收藏,但只有一个所有者我对如何为这种关联建模以及在模型就位后如何创建用户收藏夹感到困惑?classUser 最佳答案 下面的数据模型怎么样:classUser:destroyhas_many:favorite_links,:through=>:favorites,:source=>:linkendclassLink:destroyhas_many:favor

  2. ruby-on-rails - Ruby 检查日期时间是否为 iso8601 并保存 - 2

    我需要检查DateTime是否采用有效的ISO8601格式。喜欢:#iso8601?我检查了ruby​​是否有特定方法,但没有找到。目前我正在使用date.iso8601==date来检查这个。有什么好的方法吗?编辑解释我的环境,并改变问题的范围。因此,我的项目将使用jsapiFullCalendar,这就是我需要iso8601字符串格式的原因。我想知道更好或正确的方法是什么,以正确的格式将日期保存在数据库中,或者让ActiveRecord完成它们的工作并在我需要时间信息时对其进行操作。 最佳答案 我不太明白你的问题。我假设您想检查

  3. 怎样用一台手机做自媒体? - 2

    其实做自媒体的成本并不高,入门只需要一部手机即可!在手机上找视频素材、使用手机剪辑视频、最后使用手机发布视频作品获得收益!方法并不难,今天这期内容就来给粉丝们分享一种小方法,每天稳定收益100-300,抓紧点赞收藏!1、找素材(1)使用手机拍摄自己喜欢的经典段落,使用程序把文案内容提取出来(2)也可以在豆瓣、知乎、微博等网站中找一些自己需要的文案素材(3)把文案进行润色修改,可以加入一些自己的观点(4)视频素材可以使用软件中自带的素材,也可以在素材网站中下载完整版的素材2、文案配音(1)把复制好的文案直接导入小程序中(2)调整音色、音调后一键合成音频即可(3)可以选择自己朗读配音,需要花一点时

  4. 建模分析 | 平面2R机器人(二连杆)运动学与动力学建模(附Matlab仿真) - 2

    目录0专栏介绍1平面2R机器人概述2运动学建模2.1正运动学模型2.2逆运动学模型2.3机器人运动学仿真3动力学建模3.1计算动能3.2势能计算与动力学方程3.3动力学仿真0专栏介绍?附C++/Python/Matlab全套代码?课程设计、毕业设计、创新竞赛必备!详细介绍全局规划(图搜索、采样法、智能算法等);局部规划(DWA、APF等);曲线优化(贝塞尔曲线、B样条曲线等)。?详情:图解自动驾驶中的运动规划(MotionPlanning),附几十种规划算法1平面2R机器人概述如图1所示为本文的研究本体——平面2R机器人。对参数进行如下定义:机器人广义坐标

  5. ruby - ruby 中是否有针对 ISO 8601 的综合库/模块? - 2

    是否已经实现了ISO8601的所有日期、时间、持续时间和间隔使用情况?ruby标准?我的意思是类似于类的东西,您可以在其中设置和获取详细信息,例如年、月、日、星期几、星期、小时、分钟、is_duration?、has_recurrence?等等也可以设置并导出到字符串? 最佳答案 require'time'time=Time.iso8601Time.now.iso8601#iso8601stringtime.year#=>Yearofthedatetime.month#=>Monthofthedate(1to12)time.day#

  6. ruby-on-rails - 如何针对组合字段的唯一性对这种复杂的验证进行建模 - 2

    link有两个组件:componenta_id和componentb_id。为此,在Link模型文件中我有:belongs_to:componenta,class_name:"Component"belongs_to:componentb,class_name:"Component"validates:componenta_id,presence:truevalidates:componentb_id,presence:truevalidates:componenta_id,uniqueness:{scope::componentb_id}validates:componentb_id

  7. ruby - open-uri 从以 iso-8859 编码的网页返回 ASCII-8BIT - 2

    我正在使用open-uri读取一个声称以iso-8859-1编码的网页。当我读取页面内容时,open-uri返回一个以ASCII-8BIT编码的字符串。open("http://www.nigella.com/recipes/view/DEVILS-FOOD-CAKE-5310"){|f|pf.content_type,f.charset,f.read.encoding}=>["text/html","iso-8859-1",#]我猜这是因为网页中的字节(或字符)\x92不是有效的iso-8859字符。http://en.wikipedia.org/wiki/ISO/IEC_8859-

  8. 如何使用手机远程访问自己的电脑? - 2

    手机访问电脑后AnyViewer可以做什么? 您成功将手机连接到Windows电脑后,然后您可以做任何您想做的事情,例如:查看文件和运行应用程序。电源管理:在远程会话中,点击电源管理,您可以看到三个项目:锁定、重启和关机,供您在不同情况下管理计算机。如果您需要暂时离开远程会话,可以锁定计算机。如果计算机死机,您可以重新启动它,然后再次连接。如果您已完成计算机上的所有工作,您可以使用手机远程关闭它。更改图像质量:当电脑和手机的网络都处于良好状态时,您可以选择高图像质量以获得更好的体验。当网络状况不佳时,您可以选择低图像质量以获得更流畅的操作。     显示桌面:我们无法在手机上按Windows+

  9. 手机 & 电脑数据,这样删除才彻底! - 2

    恢复出厂设置后数据还在吗?格式化真的彻底吗?数据到底该怎么删?文章目录前言为什么不能彻底删除数据?手机如何彻底删除数据?第一步:恢复出厂设置第二步:手动覆写数据电脑如何彻底删除数据?方法一:命令提示符方法二:文件粉碎方法三:低级格式化硬盘总结前言个人数据安全再次成为大家关注的热门话题:在日常使用手机和电脑时,我们可能需要删除一些敏感数据,例如银行账户信息、个人照片、聊天记录等。数据删除的目的是保护个人隐私,避免泄露。以下是一些关于如何删除数据的方法。恢复出厂设置,不一定彻底清除手机数据电子产品迭代升级速度越来越快,大家家中的旧手机、旧电脑也越来越多,一键删除、格式化、恢复出厂设置能彻底清除个人

  10. 设计一个亿级高并发系统架构 - 12306火车票核心场景DDD领域建模 - 2

    “架设一个亿级高并发系统,是多数程序员、架构师的工作目标。许多的技术从业人员甚至有时会降薪去寻找这样的机会。但并不是所有人都有机会主导,甚至参与这样一个系统。今天我们用12306火车票购票这样一个业务场景来做DDD领域建模。”开篇要实现软件设计、软件开发在一个统一的思想、统一的节奏下进行,就应该有一个轻量级的框架对开发过程与代码编写做一定的约束。虽然DDD是一个软件开发的方法,而不是具体的技术或框架,但拥有一个轻量级的框架仍然是必要的,为了开发一个支持DDD的框架,首先需要理解DDD的基本概念和核心的组件。一.什么是领域驱动设计(DDD)首先要知道DDD是一种开发理念,核心是维护一个反应领域概

随机推荐