CN114463230A - 一种图像处理方法及相关设备 - Google Patents
一种图像处理方法及相关设备 Download PDFInfo
- Publication number
- CN114463230A CN114463230A CN202011248424.1A CN202011248424A CN114463230A CN 114463230 A CN114463230 A CN 114463230A CN 202011248424 A CN202011248424 A CN 202011248424A CN 114463230 A CN114463230 A CN 114463230A
- Authority
- CN
- China
- Prior art keywords
- image
- pose
- history
- expanded
- mapping
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 24
- 238000013507 mapping Methods 0.000 claims abstract description 113
- 238000000034 method Methods 0.000 claims abstract description 73
- 238000009877 rendering Methods 0.000 claims abstract description 42
- 230000000007 visual effect Effects 0.000 claims abstract description 10
- 238000012545 processing Methods 0.000 claims description 102
- 238000012549 training Methods 0.000 claims description 81
- 230000006870 function Effects 0.000 claims description 41
- 230000015654 memory Effects 0.000 claims description 40
- 230000004927 fusion Effects 0.000 claims description 38
- 230000003287 optical effect Effects 0.000 claims description 16
- 238000003860 storage Methods 0.000 claims description 13
- 238000010276 construction Methods 0.000 claims description 3
- 238000013473 artificial intelligence Methods 0.000 abstract 1
- 238000013528 artificial neural network Methods 0.000 description 43
- 238000013527 convolutional neural network Methods 0.000 description 38
- 238000011176 pooling Methods 0.000 description 33
- 239000011159 matrix material Substances 0.000 description 32
- 238000010586 diagram Methods 0.000 description 31
- 239000013598 vector Substances 0.000 description 28
- 230000008569 process Effects 0.000 description 26
- 238000004364 calculation method Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 14
- 238000005286 illumination Methods 0.000 description 13
- 230000001537 neural effect Effects 0.000 description 12
- 230000000694 effects Effects 0.000 description 11
- 210000002569 neuron Anatomy 0.000 description 10
- 238000004519 manufacturing process Methods 0.000 description 9
- 230000004913 activation Effects 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000013135 deep learning Methods 0.000 description 5
- 238000010606 normalization Methods 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 239000002131 composite material Substances 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 238000006073 displacement reaction Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 239000000872 buffer Substances 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 238000004040 coloring Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例公开了一种图像处理方法及相关设备。涉及人工智能领域,具体涉及计算机视觉领域。该方法包括:获取第一图像以及第二图像,基于空间映射模型对第一图像以及第二图像进行映射处理,得到第一展开图像以及第二展开图像;融合第一展开图像以及第二展开图像,得到第三图像;将第三图像输入训练好的图像预测网络进行图像预测,得到预测图像,该预测图像用于环境光渲染。通过空间映射模型映射以及融合多个视角的展开图像使得输入图像预测网络后得到的预测图像具有更多纹理,提升后续该场景下虚拟对象的环境光渲染质量。
Description
技术领域
本申请实施例涉及计算机视觉领域,尤其涉及一种图像处理方法及相关设备。
背景技术
计算机视觉是各个应用领域,如制造业、检验、文档分析、医疗诊断,和军事等领域中各种智能/自主系统中不可分割的一部分,它是一门关于如何运用照相机/摄像机和计算机来获取我们所需的,被拍摄对象的数据与信息的学问。形象地说,就是给计算机安装上眼睛(照相机/摄像机)和大脑(算法)用来代替人眼对目标进行识别、跟踪和测量等,从而使计算机能够感知环境。因为感知可以看作是从感官信号中提取信息,所以计算机视觉也可以看作是研究如何使人工系统从图像或多维数据中“感知”的科学。总的来说,计算机视觉就是用各种成象系统代替视觉器官获取输入信息,再由计算机来代替大脑对这些输入信息完成处理和解释。计算机视觉的最终研究目标就是使计算机能像人那样通过视觉观察和理解世界,具有自主适应环境的能力。
在AR图像编辑和电影制作等一些领域,需要将三维虚拟物体合成到真实场景的图像中。为了实现逼真的渲染效果,需要估计真实场景的照明情况,以使得合成图像中的虚拟物体能够呈现与该场景中的真实物体一致的着色、阴影和反射效果,并且使得合成图像能够正确地呈现虚拟物体和真实物体之间的投影或遮挡。
因此,为了物体表面着色和环境反射,对于环境光参数的确定尤为重要。
发明内容
本申请实施例提供了一种图像处理方法及相关设备。可以提升后续环境光渲染的质量。
本申请实施例第一方面提供了一种图像处理方法,该方法可以由图像处理装置执行,也可以由图像处理装置的部件(例如处理器、芯片、或芯片系统等)执行,其中,该图像处理装置可以是本地设备(例如,手机、摄像机等)或云端设备。该方法也可以由本地设备以及云端设备共同执行。该方法包括:获取第一图像以及第二图像,第一图像与第二图像为同一场景不同视角下采集的图像;基于空间映射模型对第一图像以及第二图像进行映射处理,得到第一展开图像以及第二展开图像;融合第一展开图像以及第二展开图像,得到第三图像;将第三图像输入训练好的图像预测网络进行图像预测,得到预测图像,预测图像用于前述场景下虚拟对象的环境光渲染。
本申请实施例中,通过空间映射模型映射以及融合多个视角的展开图像使得输入图像预测网络后得到的预测图像具有更多纹理,提升后续该场景下虚拟对象的环境光渲染质量。
可选地,在第一方面的一种可能的实现方式中,上述步骤中的基于空间映射模型对第一图像以及第二图像进行映射处理,得到第一展开图像以及第二展开图像,包括:根据第一设备的光心构建空间映射模型,第一设备为采集第一图像的设备,第二设备为采集第二图像的设备;根据第一设备的第一位姿确定第一图像在空间映射模型上的第一投影区域,第一位姿为第一设备采集第一图像时的位姿;将第一图像内各像素点映射到第一投影区域,得到第一展开图像;根据第二设备的第二位姿确定第二图像在空间映射模型上的第二投影区域,第二位姿为第二设备采集第二图像时的位姿;将第二图像内各像素点映射到第二投影区域内,得到第二展开图像。
该种可能的实现方式中,通过第一设备采集第一图像时的位姿构建空间映射模型,后续的图像基于位姿映射到该空间映射模型后,经过纹理映射、融合,得到纹理信息与采集的图像(第一图像以及第二图像)相近,使得后续图像预测网络输出的第三图像具有更多的纹理信息,提升环境光渲染的真实效果。
可选地,在第一方面的一种可能的实现方式中,上述步骤还包括:从服务器获取历史图像以及该历史图像的历史位姿,历史图像的采集时刻在第一图像或第二图像的采集时刻之前,历史位姿为历史设备采集历史图像时的位姿,历史图像存储有与第一图像和/或第二图像中相同位置的图像;根据历史位姿确定历史图像在空间映射模型上的历史投影区域,将历史图像内各像素点映射到历史投影区域,得到历史展开图像;融合第一展开图像以及第二展开图像,得到第三图像,包括:融合第一展开图像、第二展开图像历史展开图像,得到第三图像。
该种可能的实现方式中,可以结合云端的历史图像进行融合,得到第三图像,使得可以参考云端存储的该场景下的纹理信息,可以提升后续预测图像的纹理细节以及环境光渲染的质量。
可选地,在第一方面的一种可能的实现方式中,上述步骤中训练好的图像预测网络是通过以训练图像作为图像预测网络的输入,以损失函数的值小于第一阈值为目标对图像预测网络进行训练得到;损失函数用于指示图像预测网络输出的图像与第三目标图像之间的差异,第三目标图像为采集的图像。
该种可能的实现方式中,通过训练图像以及第三目标图像实现图像预测网络的训练过程,为后续提供更加优化的图像预测网络,提升输出图像(即预测图像)的精细程度。
可选地,在第一方面的一种可能的实现方式中,上述步骤中的损失函数的权重由训练图像对应的蒙板图像控制。
该种可能的实现方式中,通过蒙板图像控制损失函数的权重,示例性,有场景的区域权重为1,没有场景的区域权重为0,这样可以除去无效的部分,减少无效区域的干扰,提升输出图像的纹理细节。
可选地,在第一方面的一种可能的实现方式中,上述步骤还包括:获取预测图像的球谐系数;利用球谐系数对虚拟物体进行环境光渲染。
该种可能的实现方式中,可以通过获取球谐系数的方式,对虚拟物体进行渲染,使得虚拟物体的光照更加真实。
可选地,在第一方面的一种可能的实现方式中,上述步骤中的第三图像的视场角大于第一图像或第二图像。
该种可能的实现方式中,通过将小视角的图像输入图像预测模型的方式,得到更大视角的第三图像,并且利于增大后续环境光渲染的面积。
本申请实施例第二方面提供一种图像处理装置,该图像处理装置可以是本地设备(例如,手机、摄像机等)或云端设备。该图像处理装置包括:
获取单元,用于获取第一图像以及第二图像,第一图像与第二图像为同一场景不同视角下采集的图像;
映射单元,用于基于空间映射模型对第一图像以及第二图像进行映射处理,得到第一展开图像以及第二展开图像;
融合单元,用于融合第一展开图像以及第二展开图像,得到第三图像;
预测单元,用于将第三图像输入训练好的图像预测网络进行图像预测,得到预测图像,预测图像用于环境光渲染。
可选地,在第二方面的一种可能的实现方式中,上述图像处理装置中的映射单元包括:
构建子单元,用于根据第一设备的光心构建空间映射模型,第一设备为采集第一图像的设备,第二设备为采集第二图像的设备;
确定子单元,用于根据第一设备的第一位姿确定第一图像在空间映射模型上的第一投影区域,第一位姿为第一设备采集第一图像时的位姿;
映射子单元,用于将第一图像内各像素点映射到第一投影区域,得到第一展开图像;
确定子单元,还用于根据第二设备的第二位姿确定第二图像在空间映射模型上的第二投影区域,第二位姿为第二设备采集第二图像时的位姿;
映射子单元,还用于将第二图像内各像素点映射到第二投影区域内,得到第二展开图像。
可选地,在第二方面的一种可能的实现方式中,上述图像处理装置的获取单元,还用于从云端获取历史图像以及历史图像的历史位姿,历史位姿为历史设备采集历史图像时的位姿,历史图像存储有与第一图像和/或第二图像中相同位置的纹理信息;
确定子单元,还用于根据历史位姿确定历史图像在空间映射模型上的历史投影区域,映射子单元,还用于将历史图像内各像素点映射到历史投影区域,得到历史展开图像;
融合单元,具体用于融合第一展开图像、第二展开图像历史展开图像,得到第三图像。
可选地,在第二方面的一种可能的实现方式中,上述训练好的图像预测网络是通过以训练图像作为图像预测网络的输入,以损失函数的值小于第一阈值为目标对图像预测网络进行训练得到;损失函数用于指示图像预测网络输出的图像与第三目标图像之间的差异,第三目标图像为采集的图像。
可选地,在第二方面的一种可能的实现方式中,上述损失函数的权重由训练图像对应的蒙板图像控制。
可选地,在第二方面的一种可能的实现方式中,上述图像处理装置的获取单元,还用于获取预测图像的球谐系数;
上述图像处理装置还包括:
渲染单元,用于利用球谐系数对虚拟物体进行环境光渲染。
可选地,在第二方面的一种可能的实现方式中,上述第三图像的视场角大于第一图像或第二图像。
本申请实施例第三方面提供了一种图像处理装置,该图像处理装置可以是手机或摄像机。也可以是云端设备(例如服务器等),该图像处理装置执行前述第一方面或第一方面的任意可能的实现方式中的方法。
本申请实施例第四方面提供了一种芯片,该芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行计算机程序或指令,使得该芯片实现上述第一方面或第一方面的任意可能的实现方式中的方法。
本申请实施例第五方面提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,该指令在计算机上执行时,使得计算机执行前述第一方面或第一方面的任意可能的实现方式中的方法。
本申请实施例第六方面提供了一种计算机程序产品,该计算机程序产品在计算机上执行时,使得计算机执行前述第一方面或第一方面的任意可能的实现方式中的方法。
本申请实施例第七方面提供了一种图像处理装置,包括:处理器,处理器与存储器耦合,存储器用于存储程序或指令,当程序或指令被处理器执行时,使得该图像处理装置实现上述第一方面或第一方面的任意可能的实现方式中的方法。
其中,第二、第三、第四、第五、第六、第七方面或者其中任一种可能实现方式所带来的技术效果可参见第一方面或第一方面不同可能实现方式所带来的技术效果,此处不再赘述。
从以上技术方案可以看出,本申请实施例具有以下优点:获取第一图像以及第二图像,基于空间映射模型对第一图像以及第二图像进行映射处理,得到第一展开图像以及第二展开图像;融合第一展开图像以及第二展开图像,得到第三图像;将第三图像输入训练好的图像预测网络进行图像预测,得到预测图像,该预测图像用于环境光渲染。通过空间映射模型映射以及融合多个视角的展开图像使得输入图像预测网络后得到的预测图像具有更多纹理,提升后续该场景下虚拟对象的环境光渲染质量。
附图说明
图1为本申请实施例提供的系统架构的结构示意图;
图2为本发明实施例提供的一种卷积神经网络结构示意图;
图3为本发明实施例提供的另一种卷积神经网络结构示意图;
图4为本申请实施例提供的一种芯片硬件结构示意图;
图5为本申请实施例提供的一种图像预测模型的训练方法的示意性流程图;
图6为本申请实施例提供的一个训练图像的示意图;
图7为本申请实施例提供的一个训练图像对应的蒙板图像的示意图;
图8为本申请实施例提供的一个第三目标图像的示意图;
图9为本申请实施例提供的一个输出图像的示意图;
图10为本申请实施例提供的一种图像预测模型的结构示意图;
图11为本申请实施例提供的另一种图像预测模型的结构示意图;
图12为本申请实施例提供的另一种图像预测模型的结构示意图;
图13为本申请实施例提供的图像处理方法一个流程示意图;
图14A为本申请实施例提供的两个视角重叠的一种示意图;
图14B为本申请实施例提供的两个视角重叠的另一种示意图;
图15A为本申请实施例提供的第一图像的示意图;
图15B为本申请实施例提供的第二图像的示意图;
图16为本申请实施例提供的基于第一图像构建的空间映射模型的一种示意图;
图17为本申请实施例提供的第二图像在空间映射模型的映射示意图;
图18为本申请实施例提供的第二展开图像的示意图;
图19为本申请实施例提供的第三图像的一种示意图;
图20为本申请实施例提供的两个图像竖直融合的一种示意图;
图21为本申请实施例提供的历史图像的示意图;
图22为本申请实施例提供的第三图像或第四图像的另一种示意图;
图23-图26为本申请实施例提供的用户界面的几种示意图;
图27为本申请实施例提供的另一种图像预测模型的结构示意图;
图28为本申请实施例提供的另一种图像预测模型的结构示意图;
图29为本申请实施例提供的预测图像的示意图;
图30为本申请实施例提供的另一种图像预测模型的结构示意图;
图31A为本申请实施例提供的预测图像的单位球模型示意图;
图31B为本申请实施例提供的球谐系数恢复的照度示意图;
图32为本申请实施例提供的图像处理装置一个结构示意图;
图33为本申请实施例提供的图像处理装置另一结构示意图;
图34为本申请实施例提供的图像处理装置另一结构示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请实施例提供的图像处理方法能够应用在增强现实(augmented reality,AR)、游戏制作、电影制作以及需要进行环境光渲染的其他场景。下面分别对AR场景和电影制作场景进行简单的介绍。
AR场景:
AR技术是在虚拟现实基础上发展起来的新技术,是通过计算机系统提供的信息增加用户对现实世界感知的技术,并将计算机生成的虚拟对象、场景或系统提示信息叠加到真实场景中,从而实现对现实的“增强”,是一种将真实世界信息和虚拟世界信息“无缝”集成的新技术。因此,如何将虚拟对象的渲染效果与环境协调,对AR产品的用户体验有重要意义。利用光照估计对虚拟对象进行渲染,是“无缝”AR的重要组成部分。通过本申请实施例提供的图像处理方法,可以使得AR场景下虚拟对象的光照更加真实。
电影制作:
电影制作中非真实镜头的光照捕捉需要估计真实场景的照明情况,以使得电影中的非真实镜头更加真实,能够呈现真实场景下的着色、阴影和反射效果。通过本申请实施例提供的图像处理方法,可以使得电影制作中非真实镜头的光照更加真实。
由于本申请实施例涉及神经网络的应用,为了便于理解,下面先对本申请实施例主要涉及的神经网络的相关术语和概念进行介绍。
(1)神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以Xs和截距1为输入的运算单元,该运算单元的输出可以为:
其中,s=1、2、……n,n为大于1的自然数,Ws为Xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入。激活函数可以是sigmoid函数。神经网络是将许多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
(2)深度神经网络
深度神经网络(deep neural network,DNN),也称多层神经网络,可以理解为具有很多层隐含层的神经网络,这里的“很多”并没有特别的度量标准。从DNN按不同层的位置划分,DNN内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。虽然DNN看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:其中,是输入向量,是输出向量,是偏移向量,W是权重矩阵(也称系数),α()是激活函数。每一层仅仅是对输入向量经过如此简单的操作得到输出向量。由于DNN层数多,则系数W和偏移向量的数量也就很多了。这些参数在DNN中的定义如下所述:以系数W为例:假设在一个三层的DNN中,第二层的第4个神经元到第三层的第2个神经元的线性系数定义为W24 3。上标3代表系数所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。总结就是:第L-1层的第k个神经元到第L层的第j个神经元的系数定义为Wjk L。需要注意的是,输入层是没有W参数的。在深度神经网络中,更多的隐含层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。
(3)卷积神经网络
卷积神经网络(convolutional neuron network,CNN)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。该特征抽取器可以看作是滤波器,卷积过程可以看作是使用一个可训练的滤波器与一个输入的图像或者卷积特征平面(feature map)做卷积。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。这其中隐含的原理是:图像的某一部分的统计信息与其他部分是一样的。即意味着在某一部分学习的图像信息也能用在另一部分上。所以对于图像上的所有位置,都能使用同样的学习得到的图像信息。在同一卷积层中,可以使用多个卷积核来提取不同的图像信息,一般地,卷积核数量越多,卷积操作反映的图像信息越丰富。
卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
(4)损失函数
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
(5)反向传播算法
卷积神经网络可以采用误差反向传播(back propagation,BP)算法在训练过程中修正初始的超分辨率模型中参数的大小,使得超分辨率模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的超分辨率模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的超分辨率模型的参数,例如权重矩阵。
(6)生成式对抗网络
生成式对抗网络(generative adversarial networks,GAN)是一种深度学习模型。该模型中至少包括两个模块:一个模块是生成模型(Generative Model),另一个模块是判别模型(Discriminative Model),通过这两个模块互相博弈学习,从而产生更好的输出。生成模型和判别模型都可以是神经网络,具体可以是深度神经网络,或者卷积神经网络。GAN的基本原理如下:以生成图片的GAN为例,假设有两个网络,G(Generator)和D(Discriminator),其中G是一个生成图片的网络,它接收一个随机的噪声z,通过这个噪声生成图片,记做G(z);D是一个判别网络,用于判别一张图片是不是“真实的”。它的输入参数是x,x代表一张图片,输出D(x)代表x为真实图片的概率,如果为1,就代表100%是真实的图片,如果为0,就代表不可能是真实的图片。在对该生成式对抗网络进行训练的过程中,生成网络G的目标就是尽可能生成真实的图片去欺骗判别网络D,而判别网络D的目标就是尽量把G生成的图片和真实的图片区分开来。这样,G和D就构成了一个动态的“博弈”过程,也即“生成式对抗网络”中的“对抗”。最后博弈的结果,在理想的状态下,G可以生成足以“以假乱真”的图片G(z),而D难以判定G生成的图片究竟是不是真实的,即D(G(z))=0.5。这样就得到了一个优异的生成模型G,它可以用来生成图片。
(7)像素值
图像的像素值可以是一个红绿蓝(RGB)颜色值,像素值可以是表示颜色的长整数。例如,像素值为256*Red+100*Green+76Blue,其中,Blue代表蓝色分量,Green代表绿色分量,Red代表红色分量。各个颜色分量中,数值越小,亮度越低,数值越大,亮度越高。对于灰度图像来说,像素值可以是灰度值。
(8)编码器、解码器
编码器(encoder)用于提取输入图像的特征。具体地,编码器可以采用神经网络,例如,卷积神经网络。
解码器(decoder)用于将提取的特征恢复为图像。具体地,解码器可以采用神经网络,例如,卷积神经网络。
(9)上采样
在应用在计算机视觉的深度学习领域,由于输入图像通过卷积神经网络(CNN)提取特征后,输出的尺寸往往会变小,而有时我们需要将图像恢复到原来的尺寸以便进行进一步的计算(例如:图像的语义分割),这个采用扩大图像尺寸,实现图像由小分辨率到大分辨率的映射的操作,叫做上采样(Upsample)。
其中,上采样有3种常见的方法:双线性插值(bilinear)、反卷积(TransposedConvolution)以及反池化(Unpooling)。
下面介绍本申请实施例提供的系统架构。
参见附图1,本发明实施例提供了一种系统架构100。如所述系统架构100所示,数据采集设备160用于采集训练数据,本申请实施例中训练数据包括:训练图像。进一步的,训练图像与第一图像和/第二图像是针对同一场景下采集的图像。并将训练数据存入数据库130,训练设备120基于数据库130中维护的训练数据训练得到目标模型/规则101。下面将以实施例一更详细地描述训练设备120如何基于训练数据得到目标模型/规则101,该目标模型/规则101能够用于实现本申请实施例提供的图像处理方法,即,将第三图像通过相关预处理后输入该目标模型/规则101,即可得到预测图像。本申请实施例中的目标模型/规则101具体可以为图像预测网络,在本申请提供的实施例中,该图像预测网络是通过训练训练图像得到的。需要说明的是,在实际的应用中,所述数据库130中维护的训练数据不一定都来自于数据采集设备160的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备120也不一定完全基于数据库130维护的训练数据进行目标模型/规则101的训练,也有可能从云端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本申请实施例的限定。
根据训练设备120训练得到的目标模型/规则101可以应用于不同的系统或设备中,如应用于图1所示的执行设备110,所述执行设备110可以是终端,如手机终端,平板电脑,笔记本电脑,AR/VR,车载终端等,还可以是服务器或者云端等。在附图1中,执行设备110配置有I/O接口112,用于与外部设备进行数据交互,用户可以通过客户设备140向I/O接口112输入数据,所述输入数据在本申请实施例中可以包括:第一图像以及第二图像,可以是用户输入的,也可以是用户通过拍摄设备上传的,当然还可以来自数据库,具体此处不做限定。
预处理模块113用于根据I/O接口112接收到的输入数据(如第一图像以及第二图像)进行预处理,在本申请实施例中,预处理模块113可以用于基于空间映射模型对第一图像以及第二图像进行映射处理,得到第一展开图像以及第二展开图像。
在执行设备110对输入数据进行预处理,或者在执行设备110的计算模块111执行计算等相关的处理过程中,执行设备110可以调用数据存储系统150中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统150中。
最后,I/O接口112将处理结果,如上述得到的预测图像返回给客户设备140,从而提供给用户。
值得说明的是,训练设备120可以针对不同的目标或称不同的任务,基于不同的训练数据生成相应的目标模型/规则101,该相应的目标模型/规则101即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。
在附图1中所示情况下,用户可以手动给定输入数据,该手动给定可以通过I/O接口112提供的界面进行操作。另一种情况下,客户设备140可以自动地向I/O接口112发送输入数据,如果要求客户设备140自动发送输入数据需要获得用户的授权,则用户可以在客户设备140中设置相应权限。用户可以在客户设备140查看执行设备110输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备140也可以作为数据采集端,采集如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果作为新的样本数据,并存入数据库130。当然,也可以不经过客户设备140进行采集,而是由I/O接口112直接将如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果,作为新的样本数据存入数据库130。
值得注意的是,附图1仅是本发明实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在附图1中,数据存储系统150相对执行设备110是外部存储器,在其它情况下,也可以将数据存储系统150置于执行设备110中。
如图1所示,根据训练设备120训练得到目标模型/规则101,该目标模型/规则101在本申请实施例中可以是图像预测网络,具体的,在本申请实施例提供的网络中,图像预测网络都可以是卷积神经网络。
由于CNN是一种非常常见的神经网络,下面结合图2重点对CNN的结构进行详细的介绍。如前文的基础概念介绍所述,卷积神经网络是一种带有卷积结构的深度神经网络,是一种深度学习(deep learning)架构,深度学习架构是指通过机器学习的算法,在不同的抽象层级上进行多个层次的学习。作为一种深度学习架构,CNN是一种前馈(feed-forward)人工神经网络,该前馈人工神经网络中的各个神经元可以对输入其中的图像作出响应。
如图2所示,卷积神经网络(CNN)100可以包括输入层110,卷积层/池化层120,其中池化层为可选的,以及神经网络层130。
卷积层/池化层120:
卷积层:
如图2所示卷积层/池化层120可以包括如示例121-126层,在一种实现中,121层为卷积层,122层为池化层,123层为卷积层,124层为池化层,125为卷积层,126为池化层;在另一种实现方式中,121、122为卷积层,123为池化层,124、125为卷积层,126为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。
以卷积层121为例,卷积层121可以包括很多个卷积算子,卷积算子也称为核,其在图像处理中的作用相当于一个从输入图像矩阵中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义,在对图像进行卷积操作的过程中,权重矩阵通常在输入图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素……这取决于步长stride的取值)的进行处理,从而完成从图像中提取特定特征的工作。该权重矩阵的大小应该与图像的大小相关,需要注意的是,权重矩阵的纵深维度(depthdimension)和输入图像的纵深维度是相同的,在进行卷积运算的过程中,权重矩阵会延伸到输入图像的整个深度。因此,和一个单一的权重矩阵进行卷积会产生一个单一纵深维度的卷积化输出,但是大多数情况下不使用单一权重矩阵,而是应用维度相同的多个权重矩阵。每个权重矩阵的输出被堆叠起来形成卷积图像的纵深维度。不同的权重矩阵可以用来提取图像中不同的特征,例如一个权重矩阵用来提取图像边缘信息,另一个权重矩阵用来提取图像的特定颜色,又一个权重矩阵用来对图像中不需要的噪点进行模糊化……该多个权重矩阵维度相同,经过该多个维度相同的权重矩阵提取后的特征图维度也相同,再将提取到的多个维度相同的特征图合并形成卷积运算的输出。
这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以从输入图像中提取信息,从而帮助卷积神经网络100进行正确的预测。
当卷积神经网络100有多个卷积层的时候,初始的卷积层(例如121)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着卷积神经网络100深度的加深,越往后的卷积层(例如126)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。
池化层:
由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层,即如图2中120所示例的121-126各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在图像处理过程中,池化层的唯一目的就是减少图像的空间大小。池化层可以包括平均池化算子和/或最大池化算子,以用于对输入图像进行采样得到较小尺寸的图像。平均池化算子可以在特定范围内对图像中的像素值进行计算产生平均值。最大池化算子可以在特定范围内取该范围内值最大的像素作为最大池化的结果。另外,就像卷积层中用权重矩阵的大小应该与图像大小相关一样,池化层中的运算符也应该与图像的大小相关。通过池化层处理后输出的图像尺寸可以小于输入池化层的图像的尺寸,池化层输出的图像中每个像素点表示输入池化层的图像的对应子区域的平均值或最大值。
神经网络层130:
在经过卷积层/池化层120的处理后,卷积神经网络100还不足以输出所需要的输出信息。因为如前所述,卷积层/池化层120只会提取特征,并减少输入图像带来的参数。然而为了生成最终的输出信息(所需要的类信息或别的相关信息),卷积神经网络100需要利用神经网络层130来生成一个或者一组所需要的类的数量的输出。因此,在神经网络层130中可以包括多层隐含层(如图2所示的131、132至13n)以及输出层140,该多层隐含层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到,例如该任务类型可以包括图像识别,图像分类,图像超分辨率重建等等……
在神经网络层130中的多层隐含层之后,也就是整个卷积神经网络100的最后层为输出层140,该输出层140具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络100的前向传播(如图2由110至140的传播为前向传播)完成,反向传播(如图2由140至110的传播为反向传播)就会开始更新前面提到的各层的权重值以及偏差,以减少卷积神经网络100的损失及卷积神经网络100通过输出层输出的结果和理想结果之间的误差。
需要说明的是,如图2所示的卷积神经网络100仅作为一种卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络模型的形式存在,例如,如图3所示的多个卷积层/池化层并行,将分别提取的特征均输入给全神经网络层130进行处理。
下面介绍本申请实施例提供的一种芯片硬件结构。
图4为本发明实施例提供的一种芯片硬件结构,该芯片包括神经网络处理器40。该芯片可以被设置在如图1所示的执行设备110中,用以完成计算模块111的计算工作。该芯片也可以被设置在如图1所示的训练设备120中,用以完成训练设备120的训练工作并输出目标模型/规则101。如图2所示的卷积神经网络中各层的算法均可在如图4所示的芯片中得以实现。
神经网络处理器40可以是神经网络处理器(neural-network processing unit,NPU),张量处理器(tensor processing unit,TPU),或者图形处理器(graphicsprocessing unit,GPU)等一切适合用于大规模异或运算处理的处理器。以NPU为例:神经网络处理器NPU40作为协处理器挂载到主中央处理器(central processing unit,CPU)(hostCPU)上,由主CPU分配任务。NPU的核心部分为运算电路403,控制器404控制运算电路403提取存储器(权重存储器或输入存储器)中的数据并进行运算。
在一些实现中,运算电路403内部包括多个处理单元(Process Engine,PE)。在一些实现中,运算电路403是二维脉动阵列。运算电路403还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路403是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器402中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器401中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器408accumulator中。
向量计算单元407可以对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元407可以用于神经网络中非卷积/非FC层的网络计算,如池化(Pooling),批归一化(Batch Normalization),局部响应归一化(Local Response Normalization)等。
在一些实现种,向量计算单元能407将经处理的输出的向量存储到统一缓存器406。例如,向量计算单元407可以将非线性函数应用到运算电路403的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元407生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路403的激活输入,例如用于在神经网络中的后续层中的使用。
统一存储器406用于存放输入数据以及输出数据。
权重数据直接通过存储单元访问控制器405(direct memory accesscontroller,DMAC)将外部存储器中的输入数据搬运到输入存储器401和/或统一存储器406、将外部存储器中的权重数据存入权重存储器402,以及将统一存储器506中的数据存入外部存储器。
总线接口单元(bus interface unit,BIU)410,用于通过总线实现主CPU、DMAC和取指存储器409之间进行交互。
与控制器404连接的取指存储器(instruction fetch buffer)409,用于存储控制器404使用的指令。
控制器404,用于调用指存储器409中缓存的指令,实现控制该运算加速器的工作过程。
一般地,统一存储器406,输入存储器401,权重存储器402以及取指存储器409均为片上(On-Chip)存储器,外部存储器为该NPU外部的存储器,该外部存储器可以为双倍数据率同步动态随机存储器(double data rate synchronous dynamic random accessmemory,简称DDR SDRAM)、高带宽存储器(high bandwidth memory,HBM)或其他可读可写的存储器。
其中,图2或图3所示的卷积神经网络中各层的运算可以由运算电路403或向量计算单元407执行。
在AR图像编辑和电影制作等一些领域,需要将三维虚拟物体合成到真实场景的图像中。为了实现逼真的渲染效果,需要估计真实场景的照明情况,以使得合成图像中的虚拟物体能够呈现与该场景中的真实物体一致的着色、阴影和反射效果,并且使得合成图像能够正确地呈现虚拟物体和真实物体之间的投影或遮挡。
因此,如何确定更加真实的环境光参数成为一个亟待解决的问题。
本申请实施例提出一种图像处理方法,能够提升环境光渲染的质量。
下面结合附图对本申请实施例的图像预测网络的训练方法和图像处理方法进行详细的介绍。
首先,结合图5对本申请实施例的图像预测网络的训练方法500进行详细介绍。图5所示的方法可以由图像预测网络的训练装置来执行,该图像预测网络的训练装置可以是云服务设备,也可以是终端设备,例如,电脑、服务器等运算能力足以用来执行图像预测网络的训练方法的装置,也可以是由云服务设备和终端设备构成的系统。示例性地,方法500可以由图1中的训练设备120、图4中的神经网络处理器40执行。
可选地,方法500可以由CPU处理,也可以由CPU和GPU共同处理,也可以不用GPU,而使用其他适合用于神经网络计算的处理器,本申请不做限制。
方法500包括步骤501与步骤502。下面对步骤501与步骤502进行详细说明。
步骤501、获取训练图像。
可选地,训练图像可以是从拍摄的全景图像中选取出来的部分视角图像,也可以是通过终端设备拍摄的至少两张图像融合得到,具体此处不做限定。
可选地,在训练过程中可以从全景图像中生成训练样本,训练样本包括:输入图像(也即上述的训练图像,例如:训练图像如图6所示)、输入图像对应的蒙板图像(例如:训练图像对应的蒙板图像如图7所示)以及第三目标图像(第三目标图像可以是采集的全景图像,也可以是从全景图像中选取出来的图像,且第三目标图像的视角范围大于训练图像,例如:若第三目标图像是全景图像,第三目标图像如图8所示,图6所示的训练图像可以从图8所示的全景图像选取的部分视角得到)。
本申请实施例中的蒙板图像可以用于区分有效区域与无效区域,蒙板图像也可以理解为黑白色图像,黑色和白色表示不同的区域,例如:训练图像中的场景部分为有效区域(或白色区域),除了场景外的区域为无效区域(黑色区域)。
可选地,获取的训练图像可以与第一图像和/或第二图像在同一场景,也可以在不同场景,当然,如果在同一场景下,训练的效果更佳,同一场景的解释可参照后续第一图像与第二图像在同一场景下的解释。可选地,获取的训练图像的数量可以是一个或多个,具体此处不做限定。
步骤502、以训练图像作为图像预测网络的输入,以损失函数的值小于第一阈值为目标对图像预测网络进行训练,得到训练好的图像预测网络。
其中,损失函数用于指示图像预测网络的输出图像(例如:输出图像如图9所示)与第三目标图像之间的差异。
在该情况下,以减小损失函数的值为目标对图像预测网络进行训练,也就是不断缩小图像预测网络的输出图像与第三目标图像之间的差异。该训练过程可以理解为预测任务。损失函数可以理解为预测任务对应的损失函数。其中,输出图像的视角范围大于输入图像。
可选地,损失函数中的惩罚权重由训练图像对应的蒙板图像控制。在通用的损失函数之前增加一个权重,该权重为0或1。例如:图6中有场景的区域(也可以称为有效区域)对应的权重为1,没有场景的区域(也可以称为无效区域)对应的权重为0,即图7中的白色区域(即有效区域)的权重为1,黑色区域(即无效区域)的权重为0。相当于黑色区域不参与后续计算,这样可以减少训练过程中的算力消耗。通过蒙板图像控制损失函数的权重,示例性,有场景的区域权重为1,没有场景的区域权重为0,这样可以除去无效的部分,减少无效区域的干扰,提升输出图像的纹理细节。
在一种可能实现的方式中,以训练图像作为图像预测网络的输入,以损失函数的值小于第一阈值为目标对图像预测网络进行训练,得到训练好的图像预测网络。可选地,图像预测网络可以是CNN。示例性的,图像预测网络如图10所示,图像预测网络包括编码器和解码器。其中,编码器可以包括卷积、激活以及池化。解码器可以包括:卷积以及上采样。当然,解码器也可以包括反卷积。对于图像预测网络的具体结构此处不做限定。
在另一种可能实现的方式中,如图11所示,可以引入GAN。GAN中的生成器为图像预测网络,生成器生成输出图像;判别器判别该输出图像是不是“真实的”。在对该生成式对抗网络进行训练的过程中,生成器的目标就是尽可能生成真实的图片去欺骗判别器,而判别器的目标就是尽量把生成器生成的输出图片和真实的图片区分开来。其中,该真实的图片为第三目标图像。在理想的状态下,生成器可以生成足以“以假乱真”的输出图像,而判别器难以判定生成器生成的输出图片究竟是不是真实的。这样就得到了一个优异的生成器,它可以用来生成输出图像。
示例性的,延续上述举例,图12可以理解为图11的一种示例。
可选地,上述两种方式中图像预测网络的编码器与解码器的对应层建立跨层连接,即在特征提取后,可能丢失细节,通过跨层连接,可以提供未进行特征提取的图像作为参考,使得结果具有更多纹理细节。
需要说明的是,训练过程也可以不采用前述方法500而采用其他训练方法,此处不做限定。
下面结合附图对本申请实施例的图像处理方法进行详细的介绍。
请参阅图13,本申请实施例中图像处理方法一个实施例,该方法1300包括步骤1301至步骤1306。
步骤1301、图像处理装置获取第一图像以及第二图像。
本申请实施例中的图像处理装置可以是云服务设备,也可以是终端设备,例如,电脑、服务器等运算能力足以用来执行图像处理方法的装置,也可以是由云服务设备和终端设备构成的系统。示例性地,图像处理装置可以是图1中的执行设备110、图4中的神经网络处理器40。
可选的,图像处理装置可以是CPU,也可以是CPU和GPU,也可以不是GPU,而使用其他适合用于神经网络计算的处理器,具体此处不做限定。
本申请实施例中的第一图像以及第二图像是针对同一场景不同视角下拍摄的图像。第一图像为第一设备在第一视角下采集的图像,第二图像为第二设备在第二视角下采集的图像。其中,第一设备与第二设备可以是同一设备,也可以是不同设备。第一设备采集第一图像的时刻与第二设备采集第二图像的时刻可能相同或不同,具体此处不做限定。
本申请实施例中的同一场景可以理解为以下属性中的至少一项被满足:
1、同一场景可以是指两个图像(例如:第一图像与第二图像)中的画面内容部分相同,例如:第一图像与第二图像重叠的内容(或区域、面积)大于或等于30%。
2、同一场景可以是指采集一张图像时设备的第一位置与采集另一张图像时第二设备的位置之间的距离小于某一阈值(例如:第一设备采集第一图像时的位置与第二设备采集第二图像时的位置之间距离为1米,阈值为2米,即距离小于阈值,则可以确定第一图像与第二图像为同一场下采集的图像);和/或两个图像(例如:第一图像与第二图像)的视场角的重叠角度大于某一阈值(例如:第一视角与第二视角的重叠角度大于30度);和/或采集两个图像的设备旋转角度的差异小于某一阈值。其中,旋转角度可以是设备水平角旋转的角度值,也可以是相机俯视角旋转的角度值。
示例性的,上述的重叠角度可以如图14A或14B中的箭头所示,第一设备在第一视角下采集的第一图像,第二设备在第二视角下采集的第二图像,中间重叠的角度称为重叠角度。
上述中的位置可以是相对位置或地理位置等,如果位置是相对位置,可以通过建立场景模型等方式确定第一设备与第二位置的相对位置;如果位置是地理位置,可以是基于全球定位系统(global positioning system,GPS)或北斗导航系统等确定的第一设备位置与第二设备的位置,进而得到两个位置之间的距离。
3、同一场景还可以是根据光照强度来评判,例如:基于采集一张图像时的天气类型与采集另一张图像时的天气类型是否相近来判断两个图像是否为同一场景,例如:若采集第一图像时为晴天,采集第二图像时为晴天,则可以确定第一图像与第二图像为同一场景。若采集第一图像时为晴天,采集第二图像时为雨天,则可以确定第一图像与第二图像不属于同一场景。
4、同一场景还可以是指第一图像与第二图像的纹理相似度大于或等于某一阈值,一般这种方式需要联合上述其他方式一起判定。
可以理解的是,上述确定第一图像与第二图像是否为同一场景只是举例,实际应用中,还可以有其他方式,具体此处不做限定。
上述几种举例可以单独判定,也可以联合判定,例如:确定距离小于某一阈值后,且天气类型一致,确定第一图像与第二图像为同一场景下采集的图像。或者确定距离小于某一阈值后,且两个图像的纹理相似度大于或等于某一阈值,则可以确定第一图像与第二图像为同一场景下采集的图像。或者确定距离小于某一阈值后,还可以判断两个图像的视场角的重叠角度是否大于某一阈值,若大于该阈值,则确定第一图像与第二图像为同一场景下采集的图像。
可选地,上述中的属性(位置、重叠角度、重叠面积和/或光照强度信息)可以跟随第一图像或第二图像一起存储,图像处理装置获取图像的前后,还可以获取该图像对应的属性,便于判断几张图像是否为同一场景,进而正确执行后续的融合操作。
一种可能实现的方式中,图像处理装置可以在不同视角下采集或拍摄第一图像以及第二图像。即图像处理装置、第一设备以及第二设备为同一设备。
另一种可能实现的方式中,图像处理装置接收其他设备发送的第一图像以及第二图像。其中,该其他设备可以是相机或惯性测量单元(inertial measurement unit,IMU)等具有采集或拍摄功能。即图像处理装置与第一设备或第二设备为不同设备。
可以理解的是,图像处理装置除了获取第一图像以及第二图像还可以获取其他视角的图像,本申请实施例仅以第一图像以及第二图像为例进行示意性说明。
本申请实施例仅以采集第一图像或第二图像的设备是相机为例进行示意性说明。
示例性的,第一图像如图15A所示,第二图像如图15B所示。
步骤1302、图像处理装置基于空间映射模型对第一图像以及第二图像进行映射处理,得到第一展开图像以及第二展开图像。
本申请实施例中,第一设备采集第一图像时的位姿称为第一位姿,第二设备采集第二图像时的位姿称为第二位姿。其中,位姿可以理解为设备采集图像时的位置和方向,示例性的,位姿可以用6自由度姿态数据(XYZ三个轴的位置以及三个轴的旋转角度)或变换矩阵等参数描述。
本申请实施例中的第一图像与第二图像的位姿是基于各自空间坐标系下的位姿,即第一图像对应一个空间坐标系,第二图像对应另一个空间坐标系。空间映射模型的作用是根据第一位姿以及第二位姿分别将第一图像以及第二图像映射在同一空间坐标系下,并展开得到第一展开图像以及第二展开图像,第一展开图像以及第二展开图像是基于同一空间坐标系下的二维图像。有利于提升后续对同一场景下虚拟对象的环境光渲染的真实度。
本申请实施例中的空间映射模型的作用是根据第一位姿以及第二位姿将第一图像以及第二图像映射在同一空间坐标系,下面仅以空间映射模型是球模型为例进行示意性说明,可以理解的是空间映射模型也可以是立方体模型等,具体此处不做限定。
第一步、构建场景的球模型。
示例性的,如图16所示,根据第一图像构建世界坐标系,并以第一设备的光心位置为原点O构建球模型,以光轴OF在水平方向的投影为X轴,以竖直方向为Z轴,水平方向为Y轴。其中,世界坐标系的中心点与第一设备的光心位置为同一点。理论的光心位置为一个凸镜的中心,实际的光心位置可能是多个凸镜组合的虚拟中心。
其中,球的半径根据需要设置,例如:室内场景可以设置3米以上,室外场景可以设置10米以上,半径的具体数值此处不做限定。
第二步、确定投影区域。
根据第一图像的位姿确定第一图像在球模型上的第一投影区域。可以理解为:根据第一位子确定第一图像在球模型中的位置和朝向,并基于小孔成像原理,可以将第一图像中的各像素数据映射到球模型上并得到第一投影区域。下面详细介绍第二图像上述球模型上如何确定第二投影区域。
图像处理装置根据第二位姿,确定第二图像在上述创建的球模型的位置和朝向。示例性的,第二图像的投影方式如图17所示,O为世界坐标系的中心点坐标(也是第一设备采集第一图像时的光心位置),O1为第二设备采集第二图像时的位置,A1B1C1D1为相机成像平面。其中,P1为第二图像中的任意一个像素点,可以通过OP1与球模型表面的交点确定第二图像中的P1在球模型上的投影点为P2,OP2相对XOZ平面的角度为Φ,OP2在XOZ平面上的投影相对OX的角度为θ。当然,也可以通过OP1与球模型表面的交点确定第二图像中的P1在球模型上的投影点为P2,具体此处不做限定。其他点类似于P1点确定P2的方式,进而可以得到第二图像A1B1C1D1在球模型上的第二投影区域A2B2C2D2。
第三步、纹理映射。
确定第二图像对应的第二投影区域后,可以通过OP1或O1P1所在的直线确定第二图像中的像素点在第二投影区域中的位置。
下面简单介绍通过下述公式确定第二图像与第二展开图像中各像素点的对应关系:
假设第二设备的内部参数:焦距fx,fy,像元尺寸dx,dy;第二图像的宽为w,高为h。第二设备的当前的位姿:O1(x1,y1,z1),光轴绕X轴、Y轴以及Z轴的旋转角度分别为:α、β、γ。
对于第二图像上任意一点P1的像素坐标为(x,y),则P1点在相机坐标系中的坐标为:Pcam(x*dx,y*dy,fx*dx),根据相机坐标系到世界坐标系的变换可以得到P1点在世界坐标系中的坐标Pworld(xworld,yworld,zworld)。从相机坐标系转换到世界坐标系属于刚体变换(物体不会发生变化,只需要进行旋转和平移),即相机坐标系经过旋转和平移后可以得到世界坐标系。
其中:为Pcam的转置矩阵,即由于相机坐标系的旋转与XYZ三个轴方向的旋转相关,所以相机坐标系转换到世界坐标系中的旋转矩阵包括三个分量,即R=RxRyRz,Tcam→world表示相机坐标系转换到世界坐标系的位移矩阵。
其中,pitch=-α、yaw=-β、roll=-γ。
确定P1点在世界坐标系中的坐标Pworld之后,可以根据O点与Pworld可以确定OP1的直线方程,即求解得到OP1的直线方程,具体计算这里不再赘述。求解得到OP1的直线方程之后,可以根据该直线方程与球模型的表面靠近P1侧的交点即为映射点P2,该P2点在球面上的角度坐标记为(θ,Φ)。根据P2点的坐标可以通过下述公式求取P2点在第二展开图像中的像素坐标P3(xexp,yexp)。
通过上述方式可以获取第二图像中任一点在第二展开图像中的像素点坐标。其他点的确定方式与通过P1确定P3类似,通过该种方式,将第二图像中各像素点的数值填充至第二展开图像中,可以使得第二展开图像具有与第二图像相近的纹理效果。
可选地,通过OP1的直线方程将第二图像中的各像素点映射到第二展开图像中之后,由于距离的关系,第二展开图像中可能还有一些像素点的数值无法确定,即这些点并未与第二图像中的像素点关联起来。为了后续渲染的真实性,还可以根据上述通过P1确定P3的逆过程,通过将第二展开图像中像素点与第二图像中像素点的对应关系,从而确定第二展开图像中各像素点的数值。
延续上述举例,假设P2为第二展开图像中的任意一点,可以通过O点与P2点确定OP2的直线方程,联立第二图像的平面方程可以求解出OP2的直线方程与平面方程的交点为映射点P4。
已知平面上的一点与该点的法向量可以求解出平面方程。光心O1的光轴与相平面的交点为Oc(xc,yc,zc):
Oc=OO1+f*n=(x1+f*cosαcosβ,y1+f*cosαsinβ,z1+f*sinα)。
其中,f为焦距物理长度:f=fx*dx。第二图像所在平面的法向量n=(cosαcosβ,cosαsinβ,sinα)。
则第二图像的平面方程为:
(cosβcosγ,cosβsinγ,sinβ)*(x1+f*cosβcosγ-x,y1+f*cosβsinγ-y,y1+sinβ-z)=0。
因此,联立OP2的直线方程以及第二图像的平面方程可以求解出OP2的直线方程与平面方程的交点为映射点P4在世界坐标系下的三维坐标。
由前述公式可以将世界坐标系下该映射点P4的坐标转换为P4点在相机坐标系下的坐标,并将相机坐标系下的x值除以dx得到P4点在第二图像的x值,将相机坐标系下的y值除以dy得到P4点在第二图像的y值,即从相机坐标系下的三维坐标转换为图像坐标系下的二维坐标,进而得到该映射点在第二图像中的像素点坐标。并将该点在第二图像中的像素值赋予第二展开图像中对应点的像素值,从而使得第二展开图像的像素值更接近第二图像。
第二图像中的各像素点映射完成后,可以将第二投影区域按照经纬度展开,得到第二展开图像。示例性的,第二展开图像如图18所示。同理,确定第一图像对应的第一投影区域,映射后展开第一投影区域得到第一展开图像。
可选地,若服务器(例如:云端服务器)存储有与第一图像和/或第二图像中某一相同位置的图像(以下称为历史图像),图像处理装置还可以从服务器获取历史图像,该历史图像可能是在不同时刻及光照下拍摄的,且该历史图像的采集时刻在第一图像和/或第二图像的采集时刻之前。图像处理装置还可以从服务器获取历史图像以及历史设备采集历史图像时的历史位姿(例如:历史设备采集历史图像时的位置和方向)。然后通过历史位姿将历史图像放置在前述的球模型中,与获取第二图像的第二展开图像类似,获取历史图像对应的历史展开图像。其中,历史设备、第一设备以及第二设备是具有采集图像功能的设备,历史设备、第一设备以及第二设备可以是同一设备,也可以是不同的设备,具体此处不做限定。
可选地,若服务器存储的图像较多,可以根据属性进行匹配确定需要融合的历史图像。示例性的,可以根据位姿确定历史图像(例如:若设备采集图像时的位置与第一设备采集第一图像时的位置或第二设备采集第二图像时的位置之间的距离小于某一阈值,则确定该图像为历史图像,说明该图像与第一图像和/或第二图像大概率在同一场景下),也可以根据天气类型确定历史图像(例如:确定天气类型与第一图像或第二图像一致的图像为历史图像),还可以根据时间间隔等属性确定历史图像(例如:确定时间间隔在一定阈值内的图像为历史图像,或视角的重叠角度/区域),当然,也可以通过上述属性的组合从服务器选取历史图像(例如:设备采集图像时的位置与第一设备采集第一图像时的位置或第二设备采集第二图像时的位置之间的距离小于某一阈值,且第一图像与第二图像的重叠区域大于某一阈值),具体的选取方式此处不做限定。
步骤1303、图像处理装置融合第一展开图像以及第二展开图像,得到第三图像。
获取第一展开图像以及第二展开图像之后,融合第一展开图像以及第二展开图像,得到视场角(或视角范围)更大的第三图像(示例性的,第三图像如图19所示)。
示例性的,请参阅图20,I1为第一展开图像的一部分,I2为第二展开图像的一部分,由于第一图像与第二图像是同一场景不同视角下采集的图像。因此,第一展开图像与第二展开图像会存在重叠区域。
可选地,根据重叠区域形状的不同可以采用不同的方式融合,示例性的,若重叠区域的宽度大于高度,则进行竖直融合;若重叠区域的宽度小于或等于高于,则进行水平融合。竖直融合与水平融合原理类似,下面仅以竖直融合为例进行描述。
确定重叠区域内各列像素的高度Δh以及融合区域的像素高度阈值δ,融合区域太大会导致模糊区域过大,融合区域太小会导致融合不够,δ设置需要适中,示例性的,δ取值范围为0至150内,δ根据实际需要设置,具体此处不做限定。实际融合区域的高度取值可以为min(δ,Δh),示例性的,如图20中融合区域的高度,融合区域的某一点P(x,y)所在列的上侧边界点的Y坐标为ymin,下侧边界点的Y坐标为ymax,则P点的像素值I可以通过下述公式确定:
I=α*I1+(1-α)*I2;
上述公式中,I1为P点在第一展开图像中的像素值,I2为P点在第二展开图像中的像素值。
可以理解的是,上述公式只是举例,P点的像素值可以是通过上述加权的方式,也可以是平均的方式等得到,具体方式此处不做限定。
可选地,图像处理装置融合第一展开图像、第二展开图像以及历史展开图像,得到第三图像。或者图像处理装置将历史展开图像与第三图像进行融合得到第四图像,并将第四图像当做第三图像执行后续步骤。
示例性的,图21为历史图像,图22为融合历史展开图像后的第四图像或第三图像。
可选地,当图像为多个时,后续的图像处理方式与历史图像的操作类似,融合得到第三图像。当然,如果后续待融合的图像与第一图像的采集时刻在一定阈值范围内,可以直接将后续图像与目标融合的图像进行再次融合,得到融合图像,并将融合进图像当做第三图像执行后续步骤。
可选地,上述的方法是基于第一图像建立的球模型进行的操作。可以理解的是,上述的方法不一定是在第一图像建立的球模型上进行的操作。由于相机同时会有旋转和位移的姿态变化,当采集一个图像的设备与采集另一个图像的设备之间的位移变化大于或等于第二阈值时,会影响后续的融合质量,可以清空已融合的图像,基于当前的图像(即相机的新位置)重新构建新球模型,再对后续图像在新的球模型上执行上述映射、融合的步骤。
可选地,多视角图像的融合还可以根据采集两个图像的设备旋转角度的差异与第三阈值的大小进行控制。可选地,用户可以通过用户界面(user interface,UI)对上述历史图像、位移变换、视角变换进行图像处理设置。即用户输入指令,图像处理装置执行相应的步骤。如图23所示,云数据融合用于用户设置是否结合服务器的历史图像进行图像融合。多视角融合中的高质量以及高性能用于用户设置前述的第二阈值与第三阈值。高性能对应的第二阈值大于高质量对应的第二阈值,高性能对应的第三阈值大于高质量对应的第三阈值,即高性能时,第二阈值和第三阈值稍大一些,使得淘汰的图像多一些,增加图像处理装置的处理效率。高质量时,第二阈值和第三阈值稍小一些,使得获得的第三图像的精度高一些。
示例性的,高性能对应的第二阈值为2米,高质量对应的第二阈值为1米。假设用户输入确定高性能的指令,即第二阈值为2米。若设备采集一个图像时的位置与设备采集另一个图像时的位置之间的距离小于2米,则可以对两个图像执行投影、融合等操作。若设备采集一个图像时的位置与设备采集另一个图像时的位置之间的距离大于或等于2米,则可以清空前面的图像,基于当前的图像(即相机的新位置)重新构建新球模型,再对后续图像在新的球模型上执行上述映射、融合等操作。
示例性的,高性能对应的第三阈值为30度,高质量对应的第三阈值为5度。假设用户输入确定高质量的指令,即第三阈值为5度。若旋转角度的差异大于或等于5度,则对两个图像进行映射、融合等操作。若旋转角度的差异小于5度,则丢弃当前图像,基于之前图像构建的球模型,再对后续图像执行上述映射、融合等操作。
示例性的,用户可以通过UI的选择方式很多。一种可能实现的方式中,如图24所示,用户选择云数据融合,即选择融合历史图像,则执行上述融合历史图像的步骤。另一种可能实现的方式中,如图25所示,用户选择高性能,则上述的第二阈值和第三阈值稍大一些。另一种可能实现的方式中,如图26所示,用户选择高质量,则上述的第二阈值和第三阈值稍小一些。用户选择云数据融合,即选择融合历史图像,则执行上述融合历史图像的步骤。当然,用户选择的方式有多种,图像处理装置根据用户的设置进行相应的操作,图23至图26只是几种情况的举例。
步骤1304、图像处理装置将第三网络输入训练好的图像预测网络进行图像预测,得到预测图像。
本步骤中使用的图像预测模型可以是通过上述图5中的方法构建的,也可以是通过其他方式构建的,具体此处不做限定。
一种可能实现的方式中,如图27所示,图像处理装置获取第三图像之后,将第三图像输入训练好的图像预测网络进行图像预测,得到预测图像。
另一种可能实现的方式中,如图28所示,图像处理装置获取第三图像之后,将第三图像以及第三图像对应的蒙板图像输入训练好的图像预测网络进行图像预测,得到预测图像。
示例性的,延续上述举例,图29为预测图像,图30为图27的一种示例。
图像处理装置获取预测图像后,可以利用预测图像对同一场景下虚拟对象进行环境光渲染等操作,其中,虚拟对象为需要进行环境光渲染的对象,虚拟对象可以是虚拟物体,也可以是虚拟场景,具体此处不做限定。下面通过步骤1305以及步骤1306介绍通过利用预测图像的球谐系数进行环境光渲染,可以理解的是,预测图像也可以通过球面高斯或基于图像的光照(image based lighting,IBL)等方式用于环境光渲染,具体此处不做限定。
步骤1305、图像处理装置获取预测图像的球谐系数。本步骤是可选地。
可选地,图像处理装置获取预测图像之后,将预测图像映射到单位空间映射模型上,例如:单位球模型(图31A所示),从而获取预测图像的球谐系数,球谐系数可以用于描述预测图像的环境光数据。
球谐光照实际上就是将周围的环境光采样成几个系数(即几个球谐系数),然后渲染的时候用这几个球谐系数来对光照进行还原,这种过程可以看作是对周围环境光的简化。每采样一个像素,就计算相应的球谐基,并且对像素与对应的球谐基相乘后再求和,这样相当于每个球谐基在所有像素上的积分。不过,为了得到球谐基上的平均光照强度,还需要将积分得到的数值乘以立体角并且除以总像素。简单来说就是运用下面的公式求得球谐系数:
其中,i为球谐系数索引,N为采样点的个数,对于阶数n,对应单个图像通道的球谐系数有n2个,对于三通道环境图,球谐系数为3n2个,light(xj)为样本点的RGB值。yi(xj)为球谐基,对于阶数n,yi(xj)分为多个带:0,…,l,…,n-1。带l中包括2l+1个球谐基。球谐基可以通过公式计算得到,其中,i=l(l+1)+m,m取值:-l,-(l-1),…,0,…,(l-1),l。
若图像处理装置将预测图像映射到单位球模型上,通过上述公式,可以得到一组球谐系数。示例性的,球谐系数取三阶,RGB三个通道分别包括9个系数,共27个系数。
步骤1306、图像处理装置利用球谐系数对虚拟物体进行环境光渲染。本步骤是可选地。
下面以RGB中的R通道为例,进行示意性说明。
计算虚拟物体上任意一点P的RGB值。RGB值中的R数值等于第一数值、第二数值以及第三数值的和。首先确定该P点的法向量为(x,y,z,1),则第一数值等于R通道的球谐系数前4个构成的向量与法向量的点积。第二数值等于R通道的球谐系数的第5个至第8个构成的向量与VB的点积,其中VB为(xy,yz,zz,zx)。第三数值等于R通道的球谐系数的第9个与VC的乘积,其中,VC为x2-y2。通过上述方式,可以得到P点对应的R通道数值。G通道数值以及B通道数值的计算方式与R通道的计算方式类似,此处不再赘述。
确定P点的RGB值之后,球面上其他点的RGB值计算与P点类似,从而完成虚拟对象的渲染。其中,虚拟对象可以是场景下的虚拟物体或虚拟场景,具体此处不做限定。
示例性的,球谐光照效果如图31B。
一种可能实现的方式中,图像处理方法包括步骤1301至步骤1304。另一种可能实现的方式中,图像处理方法包括步骤1301至步骤1306。
可选地,图13所示的方法可以循环执行,即构建空间映射模型之后,可以获取多个图像,并将多个图像映射到空间映射模型,得到多个展开图像,再融合得到待输入图像预测网络的第三图像。换句话说,第三图像可以由不同视角的两个图像融合得到,也可以是由不同视角的多个图像融合得到。
可选地,融合第三图像之后,未输入图像预测网络之前,还可以不断更新第三图像,即融合目标的第三图像以及后续的展开图像(获取后续展开图像的方式与前述第二展开图像获取的方式类似),得到新的第三图像,再将新的第三图像输入图像预测网络进行预测,得到预测图像。
本申请实施例,通过空间映射模型映射以及融合多个视角的展开图像使得输入图像预测网络后得到的预测图像具有更多纹理,提升后续该场景下虚拟对象的环境光渲染质量。例如:增强虚拟物体渲染的真实性。进一步的,输入图像还可以参考服务器存储的相同位置的图像(即场景中某一位置的纹理信息)。以及用户可以通过用户界面灵活设置融合的方式,例如:是高性能还是高质量。
相应于上述方法实施例给出的方法,本申请实施例还提供了相应的装置,包括用于执行上述实施例相应的模块。所述模块可以是软件,也可以是硬件,或者是软件和硬件结合。
请参阅图32,本申请实施例中图像处理装置的一个实施例,该图像处理装置可以是本地设备(例如,手机、摄像机等)或云端设备。该图像处理装置包括:
获取单元3201,用于获取第一图像以及第二图像,第一图像与第二图像为同一场景不同视角下采集的图像;
映射单元3202,用于基于空间映射模型对第一图像以及第二图像进行映射处理,得到第一展开图像以及第二展开图像;
融合单元3203,用于融合第一展开图像以及第二展开图像,得到第三图像;
预测单元3204,用于将第三图像输入训练好的图像预测网络进行图像预测,得到预测图像,预测图像用于前述场景下虚拟对象的环境光渲染。
本实施例中,图像处理装置中各单元所执行的操作与前述图5至图13所示实施例中描述的类似,此处不再赘述。
本实施例中,通过映射单元3202对多视角图像进行空间映射模型映射以及融合单元3203融合多个视角的展开图像使得预测单元3204输入图像预测网络后得到的预测图像具有更多纹理,提升后续该场景下虚拟对象的环境光渲染质量。
请参阅图33,本申请实施例中图像处理装置的另一实施例,该图像处理装置可以是本地设备(例如,手机、摄像机等)或云端设备。该图像处理装置包括:
获取单元3301,用于获取第一图像以及第二图像,第一图像与第二图像为同一场景不同视角下采集的图像;
映射单元3302,用于基于空间映射模型对第一图像以及第二图像进行映射处理,得到第一展开图像以及第二展开图像;
融合单元3303,用于融合第一展开图像以及第二展开图像,得到第三图像;
预测单元3304,用于将第三图像输入训练好的图像预测网络进行图像预测,得到预测图像,预测图像用于前述场景下虚拟对象的环境光渲染。
上述映射单元3302包括:
构建子单元33021,用于根据第一设备的光心构建空间映射模型,第一设备为采集第一图像的设备,第二设备为采集第二图像的设备;
确定子单元33022,用于根据第一设备的第一位姿确定第一图像在空间映射模型上的第一投影区域,第一位姿为第一设备采集第一图像时的位姿;
映射子单元33023,用于将第一图像内各像素点映射到第一投影区域,得到第一展开图像;
确定子单元33022,还用于根据第二设备的第二位姿确定第二图像在空间映射模型上的第二投影区域,第二位姿为第二设备采集第二图像时的位姿;
映射子单元33023,还用于将第二图像内各像素点映射到第二投影区域内,得到第二展开图像。
获取单元3301,还用于从服务器获取历史图像以及该历史图像的历史位姿,历史图像的采集时刻在第一图像或第二图像的采集时刻之前,历史位姿为历史设备采集历史图像时的位姿,历史图像存储有与第一图像和/或第二图像中相同位置的图像;
获取单元3301,还用于获取预测图像的球谐系数;
本实施例中的图像处理装置还包括:
渲染单元3305,用于利用球谐系数对虚拟物体进行环境光渲染。
确定子单元33022,还用于根据历史位姿确定历史图像在空间映射模型上的历史投影区域,
映射子单元33023,还用于将历史图像内各像素点映射到历史投影区域,得到历史展开图像;
融合单元3303,具体用于融合第一展开图像、第二展开图像历史展开图像,得到第三图像。
本实施例中,图像处理装置中各单元所执行的操作与前述图5至图13所示实施例中描述的类似,此处不再赘述。
本实施例中,通过映射单元3302对多视角图像进行空间映射模型映射以及融合单元3303融合多个视角的展开图像使得预测单元3304输入图像预测网络后得到的预测图像具有更多纹理,提升后续该场景下虚拟对象的环境光渲染质量。例如:增强虚拟物体渲染的真实性。进一步的,输入图像还可以参考服务器存储的相同位置的图像(即场景中某一位置的纹理信息)。以及用户可以通过用户界面灵活设置融合的方式,例如:是高性能还是高质量。
图34是本申请实施例提供的图像处理装置的硬件结构示意图。图34所示的图像处理装置3400(该装置3400具体可以是一种计算机设备)包括存储器3401、处理器3402、通信接口3403以及总线3404。其中,存储器3401、处理器3402、通信接口3403通过总线3404实现彼此之间的通信连接。
存储器3401可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器3401可以存储程序,当存储器3401中存储的程序被处理器3402执行时,处理器3402和通信接口3403用于执行本申请实施例的图像处理方法的各个步骤。
处理器3402可以采用通用的中央处理器(central processing unit,CPU),微处理器,应用专用集成电路(application specific integrated circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的图像处理装置中的单元所需执行的功能,或者执行本申请方法实施例的图像处理方法。
处理器3402还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的图像处理方法的各个步骤可以通过处理器3402中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器3402还可以是通用处理器、数字信号处理器(digitalsignal processing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(field programmablegate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器3401,处理器3402读取存储器3401中的信息,结合其硬件完成本申请实施例的图像处理装置中包括的单元所需执行的功能,或者执行本申请方法实施例的图像处理方法。
通信接口3403使用例如但不限于收发器一类的收发装置,来实现装置3400与其他设备或通信网络之间的通信。例如,可以通过通信接口3403获取训练数据(如本申请实施例所述的训练图像)。
总线3404可包括在装置3400各个部件(例如,存储器3401、处理器3402、通信接口3403)之间传送信息的通路。
应注意,尽管图34所示的装置3400仅仅示出了存储器、处理器、通信接口,但是在具体实现过程中,本领域的技术人员应当理解,装置3400还包括实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当理解,装置3400还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,装置3400也可仅仅包括实现本申请实施例所必须的器件,而不必包括图34中所示的全部器件。
本申请实施例中还提供一种包括计算机程序产品,当其在计算机上运行时,使得计算机执行如前述图像处理装置所执行的步骤,或者,使得计算机执行如前述图像处理装置所执行的步骤。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于进行信号处理的程序,当其在计算机上运行时,使得计算机执行如前述图像处理装置所执行的步骤。
本申请实施例提供的图像处理装置或终端设备具体可以为芯片,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使图像处理装置内的芯片执行上述实施例描述的图像处理方法。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述无线接入设备端内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (16)
1.一种图像处理方法,其特征在于,包括:
获取第一图像以及第二图像,所述第一图像与所述第二图像为同一场景不同视角下采集的图像;
基于空间映射模型对所述第一图像以及所述第二图像进行映射处理,得到第一展开图像以及第二展开图像;
融合所述第一展开图像以及所述第二展开图像,得到第三图像;
将所述第三图像输入训练好的图像预测网络进行图像预测,得到预测图像,所述预测图像用于所述场景下虚拟对象的环境光渲染。
2.根据权利要求1所述的方法,其特征在于,所述基于空间映射模型对所述第一图像以及所述第二图像进行映射处理,得到第一展开图像以及第二展开图像,包括:
根据第一设备的光心构建所述空间映射模型,所述第一设备为采集所述第一图像的设备,所述第二设备为采集所述第二图像的设备;
根据所述第一设备的第一位姿确定所述第一图像在所述空间映射模型上的第一投影区域,所述第一位姿为所述第一设备采集所述第一图像时的位姿;
将所述第一图像内各像素点映射到所述第一投影区域,得到所述第一展开图像;
根据所述第二设备的第二位姿确定所述第二图像在所述空间映射模型上的第二投影区域,所述第二位姿为所述第二设备采集所述第二图像时的位姿;
将所述第二图像内各像素点映射到所述第二投影区域内,得到所述第二展开图像。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
从服务器获取历史图像以及所述历史图像的历史位姿,所述历史图像的采集时刻在所述第一图像或所述第二图像的采集时刻之前,所述历史位姿为历史设备采集所述历史图像时的位姿,所述历史图像存储有与所述第一图像和/或所述第二图像中相同位置的图像;
根据所述历史位姿确定所述历史图像在所述空间映射模型上的历史投影区域;
将所述历史图像内各像素点映射到所述历史投影区域,得到历史展开图像;
所述融合所述第一展开图像以及所述第二展开图像,得到第三图像,包括:
融合所述第一展开图像、所述第二展开图像所述历史展开图像,得到所述第三图像。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述训练好的图像预测网络是通过以训练图像作为所述图像预测网络的输入,以损失函数的值小于第一阈值为目标对图像预测网络进行训练得到;
所述损失函数用于指示图像预测网络输出的图像与第三目标图像之间的差异,所述第三目标图像为采集的图像。
5.根据权利要求4所述的方法,其特征在于,所述损失函数的权重由所述训练图像对应的蒙板图像控制。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
获取所述预测图像的球谐系数;
利用所述球谐系数对虚拟物体进行环境光渲染。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述第三图像的视场角大于所述第一图像或所述第二图像。
8.一种图像处理装置,其特征在于,包括:
获取单元,用于获取第一图像以及第二图像,所述第一图像与所述第二图像为同一场景不同视角下采集的图像;
映射单元,用于基于空间映射模型对所述第一图像以及所述第二图像进行映射处理,得到第一展开图像以及第二展开图像;
融合单元,用于融合所述第一展开图像以及所述第二展开图像,得到第三图像;
预测单元,用于将所述第三图像输入训练好的图像预测网络进行图像预测,得到预测图像,所述预测图像用于所述场景下虚拟对象的环境光渲染。
9.根据权利要求8所述的装置,其特征在于,所述映射单元包括:
构建子单元,用于根据第一设备的光心构建所述空间映射模型,所述第一设备为采集所述第一图像的设备,所述第二设备为采集所述第二图像的设备;
确定子单元,用于根据所述第一设备的第一位姿确定所述第一图像在所述空间映射模型上的第一投影区域,所述第一位姿为所述第一设备采集所述第一图像时的位姿;
映射子单元,用于将所述第一图像内各像素点映射到所述第一投影区域,得到所述第一展开图像;
所述确定子单元,还用于根据所述第二设备的第二位姿确定所述第二图像在所述空间映射模型上的第二投影区域,所述第二位姿为所述第二设备采集所述第二图像时的位姿;
所述映射子单元,还用于将所述第二图像内各像素点映射到所述第二投影区域内,得到所述第二展开图像。
10.根据权利要求9所述的装置,其特征在于,所述获取单元,还用于从服务器获取历史图像以及所述历史图像的历史位姿,所述历史图像的采集时刻在所述第一图像或所述第二图像的采集时刻之前,所述历史位姿为历史设备采集所述历史图像时的位姿,所述历史图像存储有与所述第一图像和/或所述第二图像中相同位置的图像;
所述确定子单元,还用于根据所述历史位姿确定所述历史图像在所述空间映射模型上的历史投影区域;
所述映射子单元,还用于将所述历史图像内各像素点映射到所述历史投影区域,得到历史展开图像;
所述融合单元,具体用于融合所述第一展开图像、所述第二展开图像所述历史展开图像,得到所述第三图像。
11.根据权利要求8至10中任一项所述的装置,其特征在于,所述训练好的图像预测网络是通过以训练图像作为所述图像预测网络的输入,以损失函数的值小于第一阈值为目标对图像预测网络进行训练得到;
所述损失函数用于指示图像预测网络输出的图像与第三目标图像之间的差异,所述第三目标图像为采集的图像。
12.根据权利要求11所述的装置,其特征在于,所述损失函数的权重由所述训练图像对应的蒙板图像控制。
13.根据权利要求8至12中任一项所述的装置,其特征在于,所述获取单元,还用于获取所述预测图像的球谐系数;
所述图像处理装置还包括:
渲染单元,用于利用所述球谐系数对虚拟物体进行环境光渲染。
14.根据权利要求8至13中任一项所述的装置,其特征在于,所述第三图像的视场角大于所述第一图像或所述第二图像。
15.一种图像处理装置,其特征在于,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得所述图像处理装置执行如权利要求1至7中任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,所述指令在计算机上执行时,使得所述计算机执行如权利要求1至7中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011248424.1A CN114463230A (zh) | 2020-11-10 | 2020-11-10 | 一种图像处理方法及相关设备 |
PCT/CN2021/126000 WO2022100419A1 (zh) | 2020-11-10 | 2021-10-25 | 一种图像处理方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011248424.1A CN114463230A (zh) | 2020-11-10 | 2020-11-10 | 一种图像处理方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114463230A true CN114463230A (zh) | 2022-05-10 |
Family
ID=81404592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011248424.1A Pending CN114463230A (zh) | 2020-11-10 | 2020-11-10 | 一种图像处理方法及相关设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114463230A (zh) |
WO (1) | WO2022100419A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116385705A (zh) * | 2023-06-06 | 2023-07-04 | 北京智拓视界科技有限责任公司 | 用于对三维数据进行纹理融合的方法、设备和存储介质 |
CN117333403A (zh) * | 2023-12-01 | 2024-01-02 | 合肥金星智控科技股份有限公司 | 图像增强方法、存储介质和图像处理系统 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114782911B (zh) * | 2022-06-20 | 2022-09-16 | 小米汽车科技有限公司 | 图像处理的方法、装置、设备、介质、芯片及车辆 |
CN117495938B (zh) * | 2024-01-02 | 2024-04-16 | 山东力乐新材料研究院有限公司 | 一种基于图像处理的可折叠中空板生产数据提取方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10475169B2 (en) * | 2017-11-28 | 2019-11-12 | Adobe Inc. | High dynamic range illumination estimation |
CN108364292B (zh) * | 2018-03-26 | 2021-05-25 | 吉林大学 | 一种基于多幅视角图像的光照估计方法 |
US10692277B1 (en) * | 2019-03-21 | 2020-06-23 | Adobe Inc. | Dynamically estimating lighting parameters for positions within augmented-reality scenes using a neural network |
CN111652963B (zh) * | 2020-05-07 | 2023-05-02 | 浙江大学 | 一种基于神经网络的增强现实绘制方法 |
CN111710049B (zh) * | 2020-06-18 | 2022-07-12 | 三星电子(中国)研发中心 | Ar场景中的环境光照确定方法和装置 |
-
2020
- 2020-11-10 CN CN202011248424.1A patent/CN114463230A/zh active Pending
-
2021
- 2021-10-25 WO PCT/CN2021/126000 patent/WO2022100419A1/zh active Application Filing
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116385705A (zh) * | 2023-06-06 | 2023-07-04 | 北京智拓视界科技有限责任公司 | 用于对三维数据进行纹理融合的方法、设备和存储介质 |
CN116385705B (zh) * | 2023-06-06 | 2023-08-29 | 北京智拓视界科技有限责任公司 | 用于对三维数据进行纹理融合的方法、设备和存储介质 |
CN117333403A (zh) * | 2023-12-01 | 2024-01-02 | 合肥金星智控科技股份有限公司 | 图像增强方法、存储介质和图像处理系统 |
CN117333403B (zh) * | 2023-12-01 | 2024-03-29 | 合肥金星智控科技股份有限公司 | 图像增强方法、存储介质和图像处理系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2022100419A1 (zh) | 2022-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12008797B2 (en) | Image segmentation method and image processing apparatus | |
CN110910486B (zh) | 室内场景光照估计模型、方法、装置、存储介质以及渲染方法 | |
Su et al. | A-nerf: Articulated neural radiance fields for learning human shape, appearance, and pose | |
Deng et al. | Restricted deformable convolution-based road scene semantic segmentation using surround view cameras | |
US11232286B2 (en) | Method and apparatus for generating face rotation image | |
CN112446834B (zh) | 图像增强方法和装置 | |
Wang et al. | 360sd-net: 360 stereo depth estimation with learnable cost volume | |
WO2022100419A1 (zh) | 一种图像处理方法及相关设备 | |
WO2022165809A1 (zh) | 一种训练深度学习模型的方法和装置 | |
CN112446380A (zh) | 图像处理方法和装置 | |
CN113284054A (zh) | 图像增强方法以及图像增强装置 | |
CN109314753A (zh) | 使用光流生成中间视图 | |
WO2022165722A1 (zh) | 单目深度估计方法、装置及设备 | |
CN112446835B (zh) | 图像恢复方法、图像恢复网络训练方法、装置和存储介质 | |
US20240242451A1 (en) | Method for 3d reconstruction, apparatus, system, and storage medium | |
CN112307826A (zh) | 行人检测方法、装置、计算机可读存储介质和芯片 | |
US11138812B1 (en) | Image processing for updating a model of an environment | |
CN112529904A (zh) | 图像语义分割方法、装置、计算机可读存储介质和芯片 | |
CN114170290A (zh) | 图像的处理方法及相关设备 | |
CN111914938B (zh) | 一种基于全卷积二分支网络的图像属性分类识别方法 | |
CN111862278A (zh) | 一种动画获得方法、装置、电子设备及存储介质 | |
CN114125269A (zh) | 一种基于深度学习的手机实时全景拍摄方法 | |
CN112541972B (zh) | 一种视点图像处理方法及相关设备 | |
Shen et al. | U 2 PNet: An Unsupervised Underwater Image-Restoration Network Using Polarization | |
CN116843551A (zh) | 一种图像处理方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |