版权归原作者所有,如有侵权,请联系我们

小小屏幕也能上演“大片”?让你的照片在手机上实现“景深效果”

中移科协
原创
有用的科技知识又增加了
收藏

1、摘要

在iOS系统上,用户设置系统壁纸,会发现有时候壁纸主体的一小部分出现在锁屏时钟前面,营造出了一种有层次感的视觉风格。这种锁屏效果从iOS 16系统开始提供,用户可以选择一张普通图片设置为背景,图片中的部分内容可以在适当的地方遮拦住部分桌面组件。iOS将这种锁屏效果称为Depth Effect,即景深效果。

2、什么是景深效果

景深效果是摄影中的一个重要概念,它指的是当相机镜头对准某一点聚焦清晰时,在焦点前后一定范围内的景物都能够形成清晰图像的效果。景深效果决定了照片中哪些部分是清晰的,哪些部分是模糊的,对于提升照片的视觉冲击力和艺术表现力具有重要作用。

景深效果在摄影中有着广泛的应用。例如,在人像摄影中,摄影师常常利用大光圈和长焦镜头来创造浅景深效果,使背景模糊化,从而突出被摄者的面部表情和细节。而在风景摄影中,则更倾向于使用小光圈和广角镜头来拍摄深景深的效果,使整个场景都清晰可见。

图1 景深效果图

3、实现景深效果方式

实现景深效果的处理方式有多种,主要可以分为以下三类:相机模拟、渲染技术和后期处理,如下图所示。

图2 景深效果实现方式

3.1 相机模拟

在摄影中,相机模拟是实现景深效果最直接的方式。通过调整相机的各项参数,可以模拟出不同景深效果的照片。

①光圈控制:光圈是影响景深的关键因素。光圈越大(光圈数值越小,如f/2.8),景深越浅,背景虚化效果越明显。光圈越小(光圈数值越大,如f/16),景深越深,画面中的元素都相对清晰。

②焦距调整:使用长焦镜头拍摄时,景深相对较浅,背景虚化效果显著。而短焦镜头则会使景深变深,画面更清晰。

③拍摄距离:拍摄距离越近,景深越浅,背景虚化越明显。相反,拍摄距离越远,景深越深。

3.2 渲染技术

在计算机图形学和游戏引擎中,渲染技术是实现景深效果的重要手段。通过算法模拟和计算,可以实时或离线地生成具有景深效果的图像。

①深度信息计算:在渲染过程中,计算场景中每个像素点相对于焦点的距离(即深度信息)。这通常通过计算像素点在视锥体中的Z坐标来完成。

②模糊算法应用:使用模糊算法(如高斯模糊、径向模糊等)对远离焦点的像素点进行模糊处理。模糊的程度可以根据像素点的深度信息来确定,离焦点越远,模糊程度越高。

③景深映射(Depth Map):景深映射是一种常用的技术,用于模拟相机的景深效果。它通过在渲染过程中生成一个深度图(Depth Map),该图记录了场景中每个像素点到相机的距离信息。然后,根据这个深度图对图像进行模糊处理。

3.3 后期处理

后期处理是实现景深效果的另一种重要方式。通过专业的图像处理软件对照片或图像进行编辑和调整,可以进一步优化景深效果。

①模糊滤镜:在后期处理软件中,可以使用模糊滤镜对图像进行模糊处理。通过调整滤镜的参数(如模糊半径、模糊强度等),可以控制模糊的程度和范围。

②色彩和对比度调整:通过调整图像的色彩和对比度,可以进一步增强景深效果。例如,增加前景的饱和度和对比度可以使前景更加突出;而降低背景的饱和度和对比度则可以使背景更加模糊和柔和。

③图层和蒙版:在一些复杂的后期处理中,可能需要使用图层和蒙版来精确控制景深效果。通过创建不同的图层并应用不同的模糊滤镜和调整效果,然后使用蒙版来合成这些图层,可以实现更加精细的景深效果。

4、手机上景深效果是怎么实现的

前面介绍了多种实现景深效果的方式,那么在手机上是如何实现照片的景深效果的呢?因为是对已经存在的照片进行处理,所以显而易见是使用后期处理的方式。要在手机端实现照片的景深效果处理,主要分两个步骤:

①使用AI来处理图像,并将其主体前景与背景区分开来。

②获取到图片的前景部分,与锁屏组件以及原图进行分层布局,实现3D视觉的分层效果。

图3 手机端实现景深效果流程框图

4.1 使用AI处理图像

要想实现分层效果,需要先将原图进行分割,提取出前景和背景区域(其实简单点,只需要提取出前景也是可以的,后面重组实现的时候介绍)。要实现对图片前景和背景提取,这个时候就需要借助图像分割技术。图像分割的目的是将图像中的每个像素或像素集合分配给特定的类别或对象,使得同一类别或对象内的像素在某种属性上相似,而不同类别或对象之间的像素则在该属性上有显著差异。一个图像分割的简单示意图,如下所示。

图4 图像分割示意图

4.2 重组实现景深效果

图5 分层设置

当我们获取到图像的前景图和背景图之后,可以将它们和锁屏展示控件进行重新布局,具体布局规则如下:

①第一层(最底层)放置图像背景或者原图

②第二层(中间层)放置信息展示的相关控件

③第三层(最上层)放置图像主体,即通过图像分割得到的图像前景部分

基于上述这种分层布局的方式,就可以实现类3D的景深效果了。

5、在Android上实践景深效果

为了验证上述方案,本文在Android端实践并实现一个将普通图片实现景深效果的。具体方案如下:

①基于华为端侧智能深度学习框架,实现图像分割效果,获取图像前景图。

②采用相对布局针对原图、内容控件和前景图进行分层布局,实现景深效果。

下图所示,为在Android端实现Depth Effect的流程。

图6 Android实现Depth Effect流程图

第一步,读取原图,进行图像分割。可以从目前市面上已有的图像分割库选择一个进行使用,本文采用华为机器学习套件ML Kit。具体接入方式,本文不再赘述,感兴趣可以去官网下载Demo查看。本地运行模型,通过对输入的图片进行分析处理,获取原图和前景图的bitmap数据。

第二步,获取原图前景部分,进行分层布局。事先在XML布局文件中,通过相对布局,设置前景图、内容控件和原图的位置。当图像分割成功后,将获取到的前景图bitmap数据,设置给对应的ImageView,以此实现景深效果。如下所示是实现景深效果的布局样式:

经过渲染绘制后,最终实现的效果,如下图所示。其中上面部分为原图,下面部分为处理之后实现的3D分层效果。

图7 Android端实现景深效果

6、总结

景深效果在移动系统和应用中的使用,让手机界面视觉更加美观和富有层次感,提升了用户的使用体验。随着AI技术的不断成熟和端侧计算能力的持续提升,端侧AI的应用将会更加智能化、个性化和多样化。同时也期待看到更多创新性的应用场景和解决方案不断涌现,为用户带来更加丰富、精彩的使用体验。

作者:郑睿

单位:中国移动智慧家庭运营中心

评论
内蒙古赵华
庶吉士级
通过手机屏幕实现景深效果的场面,进一步提升了手机界面的美观性与层次感,反映了AI与计算技术在移动设备上的应用潜力。我们相信随着技术的不断进步,未来手机端的视觉体验将更加个性化与多样化,为我们带来丰富的视觉盛宴。
2024-10-07
张美玲L
庶吉士级
随着AI技术的不断成熟和端侧计算能力的持续提升,景深效果在移动系统和应用中的使用将会更加智能化、个性化和多样化。让我们共同期待更多创新性的应用场景和解决方案不断涌现,为用户带来更加丰富、精彩的使用体验。
2024-10-07
李.翔
少师级
科技创新永无止境
2024-10-04