【计算摄影】先拍照后对焦,浅析基于深度估计的景深编辑与背景虚化

图像深度估计的一些基本概念 1.什么是图像深度估计? 2.图像深度估计的方法?(RGB,RGBD,激光雷达) 3.图像深度估计的意义? 阅读详情

大家好,这是专栏《计算摄影》的第四篇文章,这一个专栏来自于计算机科学与摄影艺术的交叉学科。今天我们讨论的问题是关于深度估计和景深编辑。

                                            作者&编辑 | 言有三

1 景深与背景虚化基础

1.1 什么是景深与虚化

动植物摄影,人像摄影中常使用浅景深来虚化背景,突出目标主体,可以大幅提升作品的艺术美感。

当被摄物体位于镜头前方(焦点的前、后)一定长度的空间内时,其在底片上的成像位于同一个弥散圆之间,呈现给人眼的感觉就是成像清晰,这段空间的长度即为景深,也称DOF (Depth of Field),当超过景深范围时,呈现渐渐模糊,景深范围示意图如下。

如果景深范围比较窄,很容易拍摄出主体成像清晰,背景成像模糊,即我们常说的背景虚化效果,下图展示的就是一些典型代表。

1.2 景深编辑

目前要想对拍摄后的照片进行精确的景深编辑,需要使用到光场相机,它在拍照整个过程中记录了物体在空间中传播时的信息流数据,从而可以后期进行焦点的调节。而普通的数码相机则没有保留相关信息,聚焦后聚焦区域中央部分是清晰的,边缘部分是模糊的。

那么如何对普通相机拍摄的照片进行后期的景深编辑呢?就需要重新对图片中的目标进行深度估计,以Focos应用为例,它可以实现先拍照后对焦,实现景深的任意编辑,连续两年获得AppStore精选推荐。

它在最初的时候利用iPhone的多镜头设计,在拍摄时得到3D模型,后期进行编辑合成景深效果,还可以添加模拟光源照明。升级后的版本支持对任意的照片进行景深模拟,不限定于iPhone拍摄好的照片,如下图展示了使用Focos处理一张照片的效果。

从左到右第一张图为原图,第二张图为景深估计的效果,第三张图为将光圈调至最大,即编辑景深的效果,实际上就是根据深度信息得到前景目标后,对背景进行虚化,所以其中关键问题就是深度估计。

2 基于深度学习的深度估计

从上一节我们可以看出,要想做后期的景深编辑,就必须要先完成深度估计这个问题,深度估计在非深度学习时代,通常是通过多目立体视觉的方法来获取,如今则多采用深度学习模型,下面我们从三个方面来说说这个问题。

2.1 绝对深度估计模型与数据集

带有绝对深度信息的数据集非常多,其中最具有代表性的有2个,分别是NYUv2数据集[1],KITTI数据集[2]。

NYUv2数据集是室内深度预测数据集,使用Kinect深度相机采集,包含3个城市,464个场景,1449幅对齐的RGB图像和深度图,其中深度的范围是0~10m,另外还数据集还提供语义和实例标签,下图是案例图。

NYUv2数据集的主要问题是场景有限且内容比较杂乱,没有明显的人等目标主体。

KITTI深度预测数据集是室外行车道路数据集,使用激光雷达采集,包含93000对RGB图和深度图,其深度范围是 0~70m。KITTIes数据集的主要问题是场景全部为室外道路,比较单一,只适合研究自动驾驶等相关问题。

深度估计模型的输入是彩色图,输出是单通道的灰度图,这与分割问题类似,可以直接使用编解码模型来进行预测。

早期研究者[3]使用CNN模型进行深度估计时都会使用跳层连接等方法融合多尺度的特征,如下图所示。

使用了两个尺度的特征,上面的通道为全局尺度,下面的通道为局部尺度。全局尺度估计出粗粒度深度预测结果图Coarse,与局部尺度融合后再估计最终的细粒度深度预测结果图Fine。

对于这样的模型的改进,可以有许多方向,包括:

(1) 使用具有更强表达能力的特征提取模型,比如使用VGG模型代替AlexNet模型。

(2) 使用更多的尺度进行融合。

(3) 使用多任务联合训练,将深度预测,表面方向预测,图像分割等任务同时进行学习,由于图像分割任务具有高层语义的感知能力,所以可以提升深度预测结果对于语义目标信息保持的能力。

(4) 后处理。比如使用在语义分割领域中常被使用的条件随机场模型(CRF)与CNN模型结合来提升精度。

2.2 相对深度估计模型与数据集

真实的深度数据集采集具有较高的难度,如NYUv2数据集和KITTI数据集等场景很有限,基于它们训练的模型泛化能力较差,如果想采集到类似于ImageNet等具有足够丰富场景的深度数据集需要极其昂贵的代价。考虑到图片中的点与点之间具有相对远近关系,有研究者构建了相对深度数据库DIW(Depth in the Wild)[4],它使用随机的关键词从flickr网站中爬取图片,不需要使用深度摄像头采集设备来对每一幅图采集深度。

相对深度的标注方法为通过对图像点进行采样,每一张图都采样一对点,这一对点采用随机选择或以随机水平线作为约束来进行选择,最终的数据集中随机选择和约束选择各占一半,从而满足自然场景的随机性。两个采集的点之间具有相对远近关系,将其标注为这一对点的相对深度,最终得到了包括495000个训练样本的大型数据集,下图分别展示了标注案例和结果。

相对深度估计模型[4]依旧可以是编解码模型,其不同之处在于损失函数。

假如图片为I,进行K次采样,每一次采样为{ik,jk,rk},其中ik是第一个点的位置,jk是第2个点的位置,rk是它们之间的深度关系,rk取值范围是{+1,-1,0},z是深度预测图,zik,zjk是点ik和jk的深度,损失定义如下:

这实际上就是一个排序损失,它鼓励隔的近的点之间的差值小,反之则大。

2.3 深度估计模型的展望

基于绝对深度数据与相对深度数据的监督模型相对简单,而实际上由于大规模深度数据集的缺乏,无监督[5],半监督[6]的单目图像深度估计方法是更有学术价值的研究方向。

另外,真实的摄影图像中因为浅景深常常包含离焦模糊,导致深度预测模型泛化到真实摄影图像时效果不好。由于深度信息与成像的模糊情况是有关的,因此有许多方法尝试从对焦模糊信息中恢复深度,这些我们以后会专题介绍。

[1] Silberman N, Hoiem D, Kohli P, et al. Indoor segmentation and support inference from rgbd images[C]//European conference on computer vision. Springer, Berlin, Heidelberg, 2012: 746-760.

[2] Uhrig J, Schneider N, Schneider L, et al. Sparsity invariant cnns[C]//2017 International Conference on 3D Vision (3DV). IEEE, 2017: 11-20.

[3] Eigen D, Puhrsch C, Fergus R. Depth map prediction from a single image using a multi-scale deep network[C]//Advances in neural information processing systems. 2014: 2366-2374.

[4] Chen W, Fu Z, Yang D, et al. Single-image depth perception in the wild[C]//Advances in neural information processing systems. 2016: 730-738.

[5] Garg R, BG V K, Carneiro G, et al. Unsupervised cnn for single view depth estimation: Geometry to the rescue[C]//European Conference on Computer Vision. Springer, Cham, 2016: 740-756.

[6] Kuznietsov Y, Stuckler J, Leibe B. Semi-supervised deep learning for monocular depth map prediction[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2017: 6647-6655.

总结

深度估计和景深编辑涉及多个领域的知识,在摄影美学作品的创作和编辑中有重要意义,这是一个非常值得关注的有意思的应用领域,更多计算摄影内容学习可以参考有三AI秋季划-图像质量组。

有三AI秋季划-图像质量组

图像质量小组需要掌握与图像质量相关的内容,学习的东西包括8大方向:图像质量评价,图像构图分析,图像降噪,图像对比度增强,图像去模糊与超分辨,图像风格化,图像编辑,图像修复。了解详细请阅读以下文章和视频:

【杂谈】如何让2020年秋招CV项目能力更加硬核,可深入学习有三秋季划4大领域32个方向

转载文章请后台联系

侵权必究

往期精选

看得“深”、看得“清” —— 深度学习在图像超清化的应用 作者:张延祥,就职于Google北京输入法团队。北航本硕,优快云知名博主,有多篇优快云博文流传甚广,对深度学习、自然语言处理和计算机视觉有极大的热忱。 责编:王艺,优快云 AI栏目编辑/记者,目前从事【AI创新者】系列人物访谈,合作及投稿请联系wangyi@youkuaiyun.com 本文为《程序员》原创文章,未经允许不得转载,更多精彩文章请订阅2017年《程序员》 日复一日... 阅读详情

相关推荐

webgl - 实现景深效果(一)

webgl - 实现景深效果(一) 前言 最近对摄影颇有兴趣,入了一个定焦头,能拍出有景深效果的片了。因为对景深效果有点着迷,就想着在渲染中能不能实现类似的效果。玩了八方旅人之后发觉是这是可行的,于是google之,找了一些资料,自己撸了一个简单的景深效果。 现实中相机产生景深效果原理 相机在成像的时候,存在一个合焦面,只有处于合焦面上的物体成像是最清晰的,而合焦面之外的平面所成的像,是模糊的。 ...

imcomma的博客 3068

计算摄影:基于深度学习的畸变校正

点击上方“3D视觉工坊”,选择“星标”干货第一时间送达在手机中的计算摄影4-超广角畸变校正中,我为你描述了广角镜头的镜头畸变校正和透视畸变校正,尤其是花了很多篇幅讲述施易昌等人的论文如何校...

3D视觉工坊 5106

webgl - 实现景深效果(二)

webgl - 实现景深效果(二) 上回我们说到,仅仅使用简单的混合会导致渲染出现两个问题: 后景混入了对焦区域的颜色 前景边缘过于清晰 那么如何解决这两个问题呢?答案是对前景和后景分开做处理。我们可以先处理后景,再处理前景。 后景处理 后景混入前景的问题好办,在计算模糊时,我们对范围内每一个像素做一个判断,如果是前景或者对焦区域的点,就将其排除掉。 前景处理 前景边缘过于清晰的问题就需要用点...

imcomma的博客 1511

使用深度学习模型对摄影彩色图像进行去噪

介绍 大多数图像去噪器技术专注于去除AWGN(高斯白噪声)。 通常,噪声是综合添加的并且涉及各种技术来去除这些图像。 但是随着深度学习的进步,重点已转向为现实世界中的嘈杂彩色图像设计降噪架构。 实际的嘈杂图像是通过具有不同设置或在弱光条件下的不同摄像机获得的。 在较低的相机ISO设置下或在强光条件下,也可以获得相应的清晰图像。 具有干净且嘈杂的图像对,我们可以训练深度学习卷积体系结构以对图像进行降噪。 图像去噪效果可能是肉眼可见的。 我使用PSNR和SSIM指标来衡量图像去噪器性能。 要解决的问题 不能完全

deephub 2964

html5调用摄像头js加h5实现.zip

使用html5调用摄像头JS代码实现分享,html5调用摄像头js加h5实现.zip 含CSS html,js

从零到一:RJ71EN71 ModbusTCP配置的避坑指南与实战技巧

本文详细解析三菱RJ71EN71模块的ModbusTCP配置全流程,涵盖GX Works3参数设置、地址映射、通信调试等核心环节。针对工业环境中常见的IP冲突、软元件分配错误、通信超时等高频问题提供实战解决方案,帮助工程师快速构建高可靠性通信网络,避免项目延期风险。

zzz56的博客 332

图像增强技术

这篇文章笼统地介绍一下失焦模糊、运动模糊、低照图像恢复、hdr、超级夜景等提高图像质量的技术。 图像拍摄的2个重要参数:光圈大小及曝光时间 光圈大小:控制光线穿过孔的大小 曝光时间(又称快门速度):控制光线投射到传感器上的时间 对某个场景进行拍摄,外部光线是固定的,要得到合适的曝光,需要将两个参数调节结合。光圈控制了景深,太近太远都会模糊,大光圈会导致景深变浅,远处(景深外)模糊(可以这么理解,但不一定正确,人看远处会眯眼看,睁大眼睛看不清)。长的曝光时间内,手抖或者物体移动...

北落师门XY的博客 2909

告别卡顿!用U盘给你的MacBook Pro 2015+来一次macOS Monterey的‘大扫除’式安装

每次系统升级后,老款MacBook Pro用户最常抱怨的就是"怎么比之前更卡了?"——这不是错觉。系统迭代过程中积累的缓存文件、残留配置和隐形服务,就像房间角落堆积的灰尘,拖慢了整台机器的响应速度。而通过U盘进行的macOS Monterey全新安装,本质上是一次彻底的"数字大扫除":它不仅替换系统文件,还会重建所有索引、清理磁盘碎片,甚至能解决某些玄学般的卡顿问题。对于2015款及之后的MacBook Pro用户,这种安装方式能让老设备重获新生。

weixin_28731223的博客 312

js实现图片虚化_「计算摄影」先拍照后对焦,浅析基于深度估计的景深编辑与虚化...

大家好,这是专栏《计算摄影》的第四篇文章,这一个专栏来自于计算机科学与摄影艺术的交叉学科。今天我们讨论的问题是关于深度估计和景深编辑。 作者&编辑 | 言有三1 景深与背景虚化基础1.1 什么是景深与虚化动植物摄影,人像摄影中常使用浅景深来虚化背景,突出目标主体,可以大幅提升作品的艺术美感。当被摄物体位于镜头前方(焦点的前、后)一定长度的空间内时,其在底片上的成像位于同一个弥散圆之间,呈现...

weixin_39830175的博客 263

关于无障碍适配的笔记

针对无障碍兼容性的笔记,针对wcg2.0/2.1

CoffeeAndIce的博客 4224

问题解答:如何不通过修改底层数据库表的方式,给数据库对应的数据结构,增添新的字段?

现在需要将这张表里的内容读取到 ABAP 内表里,并且针对每个行项目,增加一个新的列字段,我随便举个例子,这个列字段名称叫 LENGTH,值为 OBJ_NAME 字段的长度,使用。最笨的办法就是下面这样定义一个新的类型,这个类型的每个字段名称,都来自数据库表 TADIR 的同名字段,在末尾再增添自定义字段 length.其实我们是做 ALV 输出,只需要 ABAP 内表变量的类型,包含 TADIR 数据库表的全部字段,再加上新的 LENGTH 字段即可。这相当于多了一个中间层,没办法直接被 ALV 处理。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 487

【完结】重磅!深度学习计算摄影的12篇干货文章

文/编辑 | 言有三计算摄影是指使用数字计算而不是光学处理的数字图像捕获和处理技术。计算摄影可以提高照相机的能力,或者引入基于胶片的摄影根本不可能的特征,或者降低照相机元件的成本或尺寸(本...

hacker_long的专栏 3544

实战|mitmproxy+Playwright 拦截篡改Cloudflare验证流程,实现无感爬取(2026实测可用)

2026年对抗Cloudflare,别再死磕滑块、轨迹、算法。高伪装浏览器 + 中间层劫持篡改验证流程Playwright + mitmproxy = 无感过CF这篇是纯实战、无废话、可直接上线的方案。你只要把目标网站、cf_clearance填进去,就能跑通。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1284

相对深度与绝对深度,深度图与真实距离

刚开始看单目深度估计,好多概念都不清楚,下面是我的理解,有不对之处希望大佬指出。 首先是相对深度和绝对深度的概念。绝对深度就是利用激光雷达等设备获取的相机与物体之间的距离,比如KITTI数据集就是利用360度雷达设备获取稀疏的深度图,图1就是雷达获得的原始深度图,很黑,什么都看不清,图2是KITTI数据集提供的标注过的深度图,好一点了,但依然很稀疏,所以很多论文在使用的时候都会对它进行插值(插值方法参考:https://blog.youkuaiyun.com/weixin_41423872/article/detail

weixin_41423872的博客 1万+

Android RIL(Radio Interface Layer)全面概述和知识要点(3万字长文)

在 Android 系统这个庞大而复杂的体系里,RIL(Radio Interface Layer,无线接口层)绝对是个关键角色。简单来讲,它就像一座桥梁,一头连着手机基带,另一头接着上层应用 ,在应用程序和调制解调器(Modem)之间搭建起了信息交流的通道。想象一下,咱们在手机上点击拨号按钮,或者编辑一条短信发送出去,这些操作产生的请求并不会直接到达手机的基带处理器。而是先由 RIL 接手,它把这些来自上层应用程序的请求,像拨号、发送短信这类,巧妙地转换成能够和基带处理器顺畅交互的命令。

大模型大数据攻城狮的专栏 1600

【Simulink教程案例18】基于simulink的基础OFDM+64QAM发射接收链路仿真

OFDM(Orthogonal Frequency Division Multiplexing)即正交频分复用技术,实际上OFDM是MCM(Multi Carrier Modulation),多载波调制的一种。通过频分复用实现高速串行数据的并行传输, 它具有较好的抗多径衰落的能力,能够支持多用户接入。OFDM技术由MCM(Multi-Carrier Modulation,多载波调制)发展而来。OFDM技术是多载波传输方案的实现方式之一,它的。

FPGA/MATLAB学习教程/源码/项目合作开发 1990

使用深度图像实现照片虚化效果

本文讨论了如何通过RGB-D图像对实现照片虚化。

画心 3132

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

在浏览器中运行 TensorFlow.js 来训练模型并给出预测结果(Iris 数据集)

在浏览器中使用 TensorFlow.js 来训练模型,输出预测结果

myDarling_的博客 2354

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

【计算摄影】图像与视频超分辨,深度学习核心技术与展望

大家好,这是专栏《计算摄影》的第七篇文章,这一个专栏来自于计算机科学与摄影艺术的交叉学科。 作者&am...

hacker_long的专栏 1797

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

深度学习&图像处理(计算摄影2)

1.计算摄影 计算摄影,就是将计算和摄影相结合,传统的单反摄影,比较注重元器件的设计,尤其是镜头以及传感器,而现在的手机摄影,对算法的运用可以说是发挥到了极致。研究的就是如何突破传统摄影的限制,应用相应的算法去更好,更加生动的捕捉,表示,呈现我们的现实世界。 2.LUV坐标&CIELUV坐标 RGB颜色空间最常用的用途就是显示器系统,彩色阴极射线管、彩色光栅图形的显示器都使用R、G、...

OpenSceneGraph的博客 1019

THREEJS辉光与景深特效

THREEJS中使用EffectComposer、UnrealBloomPass和BokehPass实现辉光与景深效果。

永无止境 4103

jq实现轮播图(景深效果)——功能实现

最近工作不是很忙,正好可以多多练习一下jq,毕竟这块我实在是基础薄弱,在工作中经常会遇到各种各样的问题,导致效率很低。 今天的案例是一个自动轮播图: 上面的轮播图跟以往的轮播有点区别,常见的轮播图是只展示一张图片,其他图片是隐藏的。常见轮播图的实现方式是所有图片一行排列,依次改变图片的margin-left值,如果要实现无缝轮播,则需要复制一份第一张放在图片集合的最后。 此处要实现的效果,图片有前有后,则需要用到景深。 注意:添加景深效果时需要给父级添加 然后给每张图片设置position:absolut

yehaocheng520的博客 1031

css3中3D变换的景深和灭点

css3的3D变换 景深和灭点讲解 景深和灭点关系

木头房子的格子铺 4081

CSS3景深-perspective

3D视图正方体: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>CSS3景深-perspective</title> 6 &l...

weixin_33897722的博客 486

CSS3景深、三维变换属性及旋转三维立方体的实现

上周简单写了一下2D变换 今天来写写3D变换 三维立体效果我觉得是CSS3中最有意思的地方 不得不佩服那些开发者大神们 让我们能够通过几行CSS代码就能得到酷炫的视觉体验浏览器坐标系在讲正式语法之前,首先需要了解浏览器坐标系 这需要我们把浏览器界面想象成一个立体的场景这是网上流传很广的浏览器坐标系图片 从左到右的方向是浏览器x轴的正方向 从上到下的方向是浏览器y轴的正方向 而z轴正方

尐轩web前端网络日志 1万+
上一篇: 【杂谈】有三AI季划成员的4大专属权益,你是否已经利用好了?
下一篇: 【直播回放】60分钟讲解深度学习中的数据爬虫和标注
言有三
言有三 领域专家: 人工智能技术领域 领域专家: 人工智能技术领域
博客等级 码龄15年 3635粉丝 976原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

言有三

三人行必有AI

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值