图像处理方法和电子设备
文献发布时间:2024-04-18 19:58:26
本申请是2023年3月23日提交国家知识产权局、申请号为202310291200.6、申请名称为“图像处理方法和电子设备”的中国专利申请的分案申请。
技术领域
本申请涉及数据处理领域,并且更具体地,涉及一种图像处理方法和电子设备。
背景技术
增强现实(Augmented Reality,AR)技术能够将计算机生成的虚拟对象呈现在现实场景中,以实现虚拟对象和现实场景的融合。通常,可以利用AR技术增强拍摄的趣味性。
例如,将AR技术生成的虚拟形象与实际拍照得到的真实的人像图像融合,得到趣味性高的AR图像。或者,将AR技术生成的虚拟形象与实际摄像得到的真实的人像视频融合,得到趣味性高的AR视频。为了便于理解,下面以生成AR图像为例进行说明。在将虚拟形象和真实的人像进行融合时,通常需要先确定出人像的深度信息。在确定人像的深度信息时,需要获取人像语义掩膜图,并根据人像语义掩膜图中的掩膜确定出人像的深度信息。然而,在一些可能的情况下,例如,图像中存在多个人像,且人像之间有重叠部分。在这种情况下,所得到的人像语义掩膜图中的一个掩膜包括多个人像,该掩膜中人像的深度是多个人像的平均深度。也即是说,根据人像语义掩膜图得到的人像深度不准确。在这种情况下,导致生成的AR图像中虚拟形象错位,最终导致生成的AR图像的效果较差。
基于此,如何在多人和虚拟形象合成的场景中提高AR图像的效果成为了一个亟待解决的问题。
发明内容
本申请提供了一种图像处理方法,能够在多人和虚拟形象合成的场景中提高AR图像的效果。
第一方面,提供了一种图像处理方法,包括:
获取第一图像、第一深度图像与第一掩膜图像,其中,第一图像中包括第一对象的图像区域与第二对象的图像区域,第一对象的图像区域与第二对象的图像区域部分重叠,第一对象与第二对象为相同类别的待拍摄对象,第一深度图像用于表征第一对象与第二对象的深度信息,第一掩膜图像标识第一图像中第一对象的图像区域与第二对象的图像区域;
采用第一预设模板确定第一图像中的第一像素点,第一像素点为第一对象的图像区域中的像素点,第一预设模板与第一距离相关,第一距离为第一对象与电子设备之间的距离;
对第一图像进行超像素分割,得到多个区域,多个区域中包括第一区域,第一区域包括第一像素点;
基于第一深度信息确定多个区域中的第一区域集合,第一深度信息用于表征第一区域的深度,第一区域集合中每个区域的深度与第一区域的深度的差值小于第一阈值,第一区域集合包括第一区域;
基于第一区域集合,得到第二掩膜图像,第二掩膜图像用于标识第一图像中第一对象的图像区域;
基于第二掩膜图像与第一图像,得到增强现实AR图像。
本申请的实施例中提供的图像处理方法,先获取第一图像、第一深度图像与第一掩膜图像,再采用第一预设模板确定第一图像中的第一像素点,同时对第一图像进行超像素分割,得到多个区域,再基于第一深度信息确定多个区域中的第一区域集合,然后基于第一区域集合,得到第二掩膜图像,进而基于第二掩膜图像与第一图像,得到增强现实AR图像,其中,第一图像中包括第一对象的图像区域与第二对象的图像区域,第一对象的图像区域与第二对象的图像区域部分重叠,第一对象与第二对象为相同类别的待拍摄对象,第一深度图像用于表征第一对象与第二对象的深度信息,第一掩膜图像标识第一图像中第一对象的图像区域与第二对象的图像区域,第一像素点为第一对象的图像区域中的像素点,第一预设模板与第一距离相关,第一距离为第一对象与电子设备之间的距离,多个区域中包括第一区域,第一区域包括第一像素点,第一深度信息用于表征第一区域的深度,第一区域集合中每个区域的深度与第一区域的深度的差值小于第一阈值,第一区域集合包括第一区域,第二掩膜图像用于标识第一图像中第一对象的图像区域,由于先通过第一预设模板获取了第一图像中第一对象的图像区域的第一像素点,使得基于第一像素点所在的第一区域的深度确定出的第一区域集合为同一个对象的图像区域,不包括其他对象的图像区域,因此基于第一区域集合得到的第二掩膜图像中包括的mask仅单独指示第一对象的图像区域,避免了第一对象的深度是根据至少两个对象的深度均值确定出来的情况,提高了第一对象的深度的准确性,避免了生成的AR图像中虚拟形象错位的问题,提高了生成的AR图像的效果。
结合第一方面,在第一方面的一个实施例中,若第一对象与第二对象为人,第一预设模板为头部轮廓模板,第一距离与第一预设模板的面积成反比例。
结合第一方面,在第一方面的一个实施例中,还包括:
获取电子设备的位姿信息;
基于位姿信息调整头部轮廓模板的形状。
本申请的实施例中,根据电子设备的位姿信息对第一预设模板进行调整,得到调整后的第一预设模板,这样使得第一预设模板的角度与第一图像的拍摄角度接近,进而使得调整后的第一预设模板和第一图像中人像的头部轮廓更加的匹配,因此基于调整后的第一预设模板能够更加准确的得到第一像素点,进而提高了基于第一像素点得到的第二掩膜图像的准确度,提高了基于第二掩膜图像和第一图像得到的AR图像的准确性。
结合第一方面,在第一方面的一个实施例中,还包括:
按照预设的区间范围将第一深度图像中各个深度值划分为多个深度区间;
确定多个深度区间中像素数量最多的目标深度区间;
根据目标深度区间的深度范围确定第一预设模板。
本申请的实施例中,第一预设模板是与第一对象与电子设备之间的距离,也即是第一距离相关的头部轮廓模板,第一距离越大,头部轮廓模板的面积越小,第一距离越小,头部轮廓模板的面积越大,因此,直接根据第一距离选择对应的第一预设模板,能够使得第一预设模板的大小与第一对象的大小更加匹配,提高了根据第一预设模板确定第一像素点的效率,进而提高了根据第一像素点确定第二掩膜图像的效率。
结合第一方面,在第一方面的一个实施例中,上述采用第一预设模板确定第一图像中的第一像素点,包括:
获取第一掩膜图像对应的边缘图,边缘图为第一掩膜图像中掩膜mask的轮廓形成的二值图;
对第一预设模板及边缘图进行卷积运算,得到第一像素点。
其中,边缘图为第一掩膜图像中的mask的轮廓形成的二值图。第一像素点为第一对象的图像区域中的像素点。
结合第一方面,在第一方面的一个实施例中,该方法还包括:
获取第一掩膜图像中同一掩膜mask的深度差值;
若深度差值大于第一预设阈值,则确定第一图像中包括第一对象和第二对象。
本申请的实施例中提供的图像处理方法,获取第一掩膜图像中同一掩膜mask的深度差值,若深度差值大于第一预设阈值,则确定第一图像中包括第一对象和第二对象,相当于确定第一图像中是否同时包括第一对象和第二对象的过程,是根据第一掩膜图像中同一掩膜mask的深度差值确定的,提高了确定第一图像中存在第一对象和第二对象的智能性。
结合第一方面,在第一方面的一个实施例中,还包括:
采用第二预设模板确定第一图像中的第二像素点,第二像素点为第二对象的图像区域中的像素点,第二预设模板与第二距离相关,第二距离为第二对象与电子设备之间的距离;
多个区域还包括第二区域,第二区域包括第二像素点;
基于第二深度信息确定多个区域中的第二区域集合,第二深度信息用于表征第二区域的深度,第二区域集合中每个区域的深度与第二区域的深度的差值小于第二阈值,第二区域集合包括第二区域;
基于第一区域集合,得到第二掩膜图像,包括:
基于第一区域集合和第二区域集合,得到第二掩膜图像。
本申请的实施例中提供的图像处理方法,根据目标深度区间的深度范围确定第一预设模板之后,进一步地确定出第二对象的第二预设模板,进而在采用第一预设模板对边缘图进行卷积运算的基础上,还能采用第二预设模板对边缘图进行卷积运算,得到第二对象的图像区域中的第二像素点,使得在对第一图像进行超像素分割之后,得到的多个区域中包括第一区域和第二区域,进一步地,基于第一区域得到第一对象的mask,基于第二区域得到第二对象的mask,使得第二掩膜图像中同时标识第一对象和第二对象的图像区域,进而使得根据第二掩膜图像和第一图像确定的AR图像,在基于第一对象的图像区域生成AR图像的基础上,还能同时基于第二对象的图像区域生成AR图像,进一步地提升了所生成的AR图像的显示效果。
结合第一方面,在第一方面的一个实施例中,采用第二预设模板确定第一图像中的第二像素点,包括:
获取第一掩膜图像对应的边缘图,边缘图为第一掩膜图像中对象的轮廓形成的二值图;
对第二预设模板及边缘图进行卷积运算,得到第二像素点。
结合第一方面,在第一方面的一个实施例中,第一深度图像为电子设备中的摄像装置采集得到的。
本申请的实施例中提供的图像处理方法,第一深度图像是电子设备中的摄像装置(TOF)采集得到的,这样使得获取第一深度图像的方法更加便捷,进而提高了根据第一深度图像、第一图像和第一掩膜图像得到AR图像的效率。
结合第一方面,在第一方面的一个实施例中,第一深度图像为将第一图像输入预设的深度估计模型得到的,深度估计模型为神经网络模型。
本申请的实施例中提供的图像处理方法,第一深度图像是将第一图像输入预设的深度估计模型得到的,其中预设的深度估计模型为神经网络模型,这样使得电子设备在未配置TOF的情况下,还能够基于第一图像和预设的深度估计模型得到对应的第一深度图像,提高了获取第一深度图像的便捷性,降低了电子设备的成本。
结合第一方面,在第一方面的一个实施例中,第一掩膜图像为将第一图像输入预设的语义分割模型得到的,语义分割模型为神经网络模型。
本申请的实施例中提供的图像处理方法,第一掩膜图像是将第一图像输入预设的语义分割模型得到的,其中预设的语义分割模型为神经网络模型,这样使得电子设备能够基于第一图像和预设的语义分割模型得到对应的第一掩膜图像,提高了获取第一掩膜图像的便捷性及准确性。
第二方面,提供了一种图像处理装置,包括用于执行第一方面中任一种方法的单元。该装置可以是服务器,也可以是终端设备,还可以是终端设备内的芯片。该装置可以包括输入单元和处理单元。
当该装置是终端设备时,该处理单元可以是处理器,该输入单元可以是通信接口;该终端设备还可以包括存储器,该存储器用于存储计算机程序代码,当该处理器执行该存储器所存储的计算机程序代码时,使得该终端设备执行第一方面中的任一种方法。
当该装置是终端设备内的芯片时,该处理单元可以是芯片内部的处理单元,该输入单元可以是输出接口、管脚或电路等;该芯片还可以包括存储器,该存储器可以是该芯片内的存储器(例如,寄存器、缓存等),也可以是位于该芯片外部的存储器(例如,只读存储器、随机存取存储器等);该存储器用于存储计算机程序代码,当该处理器执行该存储器所存储的计算机程序代码时,使得该芯片执行第一方面中的任一种方法。
在一种可能的实现方式中,存储器用于存储计算机程序代码;处理器,处理器执行该存储器所存储的计算机程序代码,当该存储器存储的计算机程序代码被执行时,该处理器用于执行:获取第一图像、第一深度图像与第一掩膜图像,其中,第一图像中包括第一对象的图像区域与第二对象的图像区域,第一对象的图像区域与第二对象的图像区域部分重叠,第一对象与第二对象为相同类别的待拍摄对象,第一深度图像用于表征第一对象与第二对象的深度信息,第一掩膜图像标识第一图像中第一对象的图像区域与第二对象的图像区域;采用第一预设模板确定第一图像中的第一像素点,第一像素点为第一对象的图像区域中的像素点,第一预设模板与第一距离相关,第一距离为第一对象与电子设备之间的距离;对第一图像进行超像素分割,得到多个区域,多个区域中包括第一区域,第一区域包括第一像素点;基于第一深度信息确定多个区域中的第一区域集合,第一深度信息用于表征第一区域的深度,第一区域集合中每个区域的深度与第一区域的深度的差值小于第一阈值,第一区域集合包括第一区域;基于第一区域集合,得到第二掩膜图像,第二掩膜图像用于标识第一图像中第一对象的图像区域;基于第二掩膜图像与第一图像,得到增强现实AR图像。
第三方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序代码,当所述计算机程序代码被图像处理装置运行时,使得该图像处理装置执行第一方面中的任一种图像处理方法。
第四方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码被图像处理装置运行时,使得该图像处理装置执行第一方面中的任一种装置方法。
本申请的实施例中提供的图像处理方法和电子设备,先获取第一图像、第一深度图像与第一掩膜图像,再采用第一预设模板确定第一图像中的第一像素点,同时对第一图像进行超像素分割,得到多个区域,再基于第一深度信息确定多个区域中的第一区域集合,然后基于第一区域集合,得到第二掩膜图像,进而基于第二掩膜图像与第一图像,得到增强现实AR图像,其中,第一图像中包括第一对象的图像区域与第二对象的图像区域,第一对象的图像区域与第二对象的图像区域部分重叠,第一对象与第二对象为相同类别的待拍摄对象,第一深度图像用于表征第一对象与第二对象的深度信息,第一掩膜图像标识第一图像中第一对象的图像区域与第二对象的图像区域,第一像素点为第一对象的图像区域中的像素点,第一预设模板与第一距离相关,第一距离为第一对象与电子设备之间的距离,多个区域中包括第一区域,第一区域包括第一像素点,第一深度信息用于表征第一区域的深度,第一区域集合中每个区域的深度与第一区域的深度的差值小于第一阈值,第一区域集合包括第一区域,第二掩膜图像用于标识第一图像中第一对象的图像区域,由于先通过第一预设模板获取了第一图像中第一对象的图像区域的第一像素点,使得基于第一像素点所在的第一区域的深度确定出的第一区域集合为同一个对象的图像区域,不包括其他对象的图像区域,因此基于第一区域集合得到的第二掩膜图像中包括的mask仅单独指示第一对象的图像区域,避免了第一对象的深度是根据至少两个对象的深度均值确定出来的情况,提高了第一对象的深度的准确性,避免了生成的AR图像中虚拟形象错位的问题,提高了生成的AR图像的效果。
附图说明
图1是一种RGB图像和掩膜图的示意图;
图2是现阶段一种多人图像生成AR图像的示意图;
图3是一种适用于本申请的电子设备的硬件系统的示意图;
图4是一种适用于本申请的电子设备的软件系统的示意图;
图5是本申请实施例提供的一种应用场景的示意图;
图6是本申请实施例提供的一种图像处理方法的流程示意图;
图7是本申请实施例提供的一种获取第一深度图像和第一掩膜图像的流程示意图;
图8是本申请实施例提供的一种第一掩膜图像的示意图;
图9是本申请实施例提供的一种头部轮廓模板的示意图;
图10是本申请实施例提供的一种第一掩膜图像和边缘图的示意图;
图11是本申请实施例提供的一种采用第一预设模板对边缘图进行卷积的示意图;
图12是本申请实施例提供一种采用不同尺寸的第一预设模板对边缘图进行卷积的示意图;
图13是本申请实施例提供的一种进行超像素分割的第一图像的示意图;
图14是本申请实施例提供的另一种图像处理方法的流程示意图;
图15是本申请实施例提供的另一种图像处理方法的流程示意图;
图16是本申请提供的一种图像处理装置的示意图;
图17是本申请提供的一种图像处理的电子设备的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括一个或者更多个该特征。
为了便于理解,示例的给出部分与本申请实施例相关概念的说明以供参考。
1、深度图
深度图是指从图像采集器到图像场景中各个点的距离作为像素值的图像。
2、掩膜(mask)
在图像处理领域,将图像中的目标对象所在的区域赋值,使得该区域与图像中的其他区域的赋值不同,这样使得目标对象能够与图像中的其他区域区分,便于后续对图像的渲染处理。示例性的,将目标图像所在的区域赋值为1,将图像中的其他区域赋值为0。其中,目标对象可以是指人、动物、植物、建筑物等等。
3、语义分割
语义分割是指将图像中的目标对象和其他区域分离的方法。其中,与实例分割不同,语义分割仅仅区分目标对象和其他区域,在目标对象为多个的情况下,不能区分出不同的对象。
示例性的,语义分割可以将图像中的人像和其他背景区域区分。其中,如图1中的(a)所示,RGB图像中包括2个人,分别为人像1和人像2。通过语义分割,仅能将人像和背景区域区分,得到如图1中的(b)所示的掩膜图。其中,人像1和人像2之间无明显的边界,因此人像1和人像2不能区分。
应理解,通常语义分割所需的算力较低,实例分割所需的算力较高。因此,在手机、平板电脑等算力有限的终端设备中进行图像处理时,通常采用语义分割的方式。
4、超像素分割
在计算机视觉领域,超像素分割指的是将数字图像细分为多个图像子区域(多个像素点的集合,也称超像素)的过程。超像素由一系列位置相邻且颜色、亮度、纹理等特征相似的像素点组成的小区域。这些小区域大多保留了进一步进行图像分割的有效信息,且一般不会破坏图像中物体的边界信息。
现阶段,将AR技术生成的虚拟形象和真实的人像进行融合的过程中,通常是根据人像的深度来确定虚拟形象在图像中的深度,再将虚拟形象设置在合适的深度,以使卡通形象和人像能够更好的融合在AR图像中。在一种可能的情况下,一张图像中包括多人时,且多人之间存在重叠区域。示例性的,如图2中的(a)所示。图像中包括两个人物,分别为人物1和人物2,且人物1和人物2之间存在重叠区域。人物1与摄像头之间的距离较近,人物2与摄像头之间的距离较远,即人物1和人物2的深度差值较大。在图像中融合虚拟形象3的过程中,通常需要先获取人物1和人物2的深度图,然后获取人物1和人物2之间的深度的平均值,在将虚拟形象3设置AR图像的过程中,需要参考上述深度。其中,在一种可能的情况下,采用语义分割的方法获取的深度图,不区分人物1和人物2,对应的深度图如图2中的(b)所示,出现人物粘连的情况。因此导致人物1和人物2之间的深度的平均值与人物1、人物2的深度均相差较大,因此虚拟形象3容易出现错位的情况,导致最终生成的AR图像的效果较差。例如,人物1和人物2的平均深度为2.55m,其中,人物1的真实深度为2m,人物2的真实深度为3.1m。将虚拟形象摆放在2.6m的深度时,虚拟形象会出现错位的情况,如图2中的(c)所示。在一种可能的情况下,获取的深度图仅是基于人物的边缘进行简单的划分,如图2中的(d)所示。在这种情况下,将虚拟形象设置在图像中时,会导致人物的部分躯干被虚拟形象遮挡,导致最终生成的AR图像的效果较差。示例性的,如图2中的(e)所示。
有鉴于此,本申请实施例提供了一种图像处理方法,先获取第一图像、第一深度图像与第一掩膜图像,再采用第一预设模板确定第一图像中的第一像素点,同时对第一图像进行超像素分割,得到多个区域,再基于第一深度信息确定多个区域中的第一区域集合,然后基于第一区域集合,得到第二掩膜图像,进而基于第二掩膜图像与第一图像,得到增强现实AR图像,其中,第一图像中包括第一对象的图像区域与第二对象的图像区域,第一对象的图像区域与第二对象的图像区域部分重叠,第一对象与第二对象为相同类别的待拍摄对象,第一深度图像用于表征第一对象与第二对象的深度信息,第一掩膜图像标识第一图像中第一对象的图像区域与第二对象的图像区域,第一像素点为第一对象的图像区域中的像素点,第一预设模板与第一距离相关,第一距离为第一对象与电子设备之间的距离,多个区域中包括第一区域,第一区域包括第一像素点,第一深度信息用于表征第一区域的深度,第一区域集合中每个区域的深度与第一区域的深度的差值小于第一阈值,第一区域集合包括第一区域,第二掩膜图像用于标识第一图像中第一对象的图像区域,由于先通过第一预设模板获取了第一图像中第一对象的图像区域的第一像素点,使得基于第一像素点所在的第一区域的深度确定出的第一区域集合为同一个对象的图像区域,不包括其他对象的图像区域,因此基于第一区域集合得到的第二掩膜图像中包括的mask仅单独指示第一对象的图像区域,避免了第一对象的深度是根据至少两个对象的深度均值确定出来的情况,提高了第一对象的深度的准确性,避免了生成的AR图像中虚拟形象错位的问题,提高了生成的AR图像的效果。
本申请实施例提供的图像处理方法,可以应用于电子设备。可选的,电子设备包括终端设备,终端设备也可以称为终端(terminal)、用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等。终端设备可以是手机(mobilephone)、智能电视、穿戴式设备、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self-driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。本申请的实施例对终端设备所采用的具体技术和具体设备形态不做限定。
示例性的,图3示出了电子设备100的结构示意图。电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现电子设备100的触摸功能。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现电子设备100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现电子设备100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。在一种可能的情况下,陀螺仪传感器180B获取的电子设备的角速度可以用于调整图像中的对象的角度。例如,基于陀螺仪传感器180B获取的电子设备的角速度将图像中对象的垂直方向调整为重力方向。
气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。在一种可能的情况下,加速度传感器180E获取的电子设备的位姿信息可以用于调整图像中的对象的角度。例如,基于加速度传感器180E获取的电子设备的角速度将图像中对象的垂直方向调整为重力方向。
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。电子设备100可以利用接近光传感器180G检测用户手持电子设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
需要说明的是,本申请实施例提到的任一电子设备可以包括电子设备100中更多或者更少的模块。
电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
图4是本申请实施例的电子设备100的软件结构框图。
电子设备100的分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,软件系统可以分为五层,从上至下分别为应用层210、应用框架层220、硬件抽象层230、驱动层240以及硬件层250。
应用层210可以包括相机、图库应用程序,还可以包括日历、通话、地图、导航、WLAN、蓝牙、音乐、视频、短信息、虚拟现实AR等应用程序。
应用框架层220为应用层210的应用程序提供应用程序访问接口和编程框架。
例如,应用框架层220包括相机访问接口,该相机访问接口用于通过相机管理和相机设备来提供相机的拍摄服务。
应用框架层220中的相机管理用于管理相机。相机管理可以获取相机的参数,例如判断相机的工作状态等。
应用框架层220中的相机设备用于提供不同相机设备以及相机管理之间的数据访问接口。
硬件抽象层230用于将硬件抽象化。比如,硬件抽象层230可以包相机硬件抽象层以及其他硬件设备抽象层;相机硬件抽象层中可以包括相机设备1、相机设备2、AR设备等。可以理解,相机设备1、相机设备2和AR设备等可以为通过软件或软件与硬件的结合实现的功能模块。在电子设备开机时,或电子设备运行过程中,会创建对应的进程或启动对应的流程等,以实现相机设备1、相机设备2和AR设备对应的功能。具体的,AR设备用于将虚拟形象和实际图像合并生成AR图像,或者生成AR视频的功能。
相机硬件抽象层可以与算法库相连接,相机硬件抽象层可以调用算法库中的算法。本申请实施例中,相机算法库中包括图像处理算法。其中,图像处理算法可以包括深度估计模型和语义分割模型等。
深度估计模型可以对RGB图像进行处理,得到RGB图像对应的深度图。
语义分割模型可以对RGB图像进行处理,得到RGB图像对应的掩膜图。其中,语义分割模型仅能对RGB图像中的对象和背景进行区分,不能分辨出RGB图像中有几个对象。例如,采用语义分割模型得到的掩膜图,人像赋值1,背景赋值0,相当于不同的人像均被赋值为1。因此采用语义分割模型得到的掩膜图容易出现图中的对象粘连的情况,如图1中的(b)所示。
可以理解,无论是拍照预览、录像预览,还是录像,电子设备100都是在持续获取并显示视频流,视频流中包括多帧图像。因此,本申请实施例中,将视频流中的各张图像称为帧图像,将视频流中的第n张图像称为第n帧图像。
当然,相机算法库中还可以包括其他预设算法,例如去紫边算法、饱和度调整算法等等,本申请实施例对此不做任何限定。
驱动层240用于为不同的硬件设备提供驱动。比如,驱动层可以包括相机驱动;数字信号处理器驱动以及图形处理器驱动。
硬件层250可以包括传感器、图像信号处理器、数字信号处理器、图形处理器以及其他硬件设备。其中,传感器可以包括传感器1、传感器2等,还可以包括深度传感器(timeof flight,TOF)和多光谱传感器。
其中,通过TOF可以直接采集得到深度图。
示例性的,用户按下拍照控件之后,同时通过传感器1采集得到RGB图像,并通过TOF采集得到RGB图像对应的深度图。
下面结合拍照场景下的AR图像的生成过程,示例性说明电子设备100的软件系统的工作流程。
当用户在触摸传感器180K上对AR APP的控件执行点击操作时,AR APP被点击操作唤醒,并进入拍照预览模式。AR APP通过相机访问接口调用相机硬件抽象层的各个相机设备,并加载不同的AR效果的选项。示例性的,相机硬件抽象层判断出当前变焦倍数小于0.6变焦倍数,由此,可以通过向相机设备驱动下发调用广角摄像头的指令。同时相机算法库开始加载相机算法库中的算法。
当硬件层的传感器被调用后,例如,调用广角摄像头中的传感器1获取原始图像后,将原始图像进行配准等初步处理,处理后经相机设备驱动返回相机硬件抽象层,再利用加载的相机算法库中的其他预设算法进行处理,得到RGB图像、深度图和掩膜图,再将RGB图像、深度图和掩膜图进行处理得到AR图像。
当硬件层的传感器被调用后,例如,调用广角摄像头中的传感器1获取原始图像后,将原始图像进行配准等初步处理,处理后经相机设备驱动返回相机硬件抽象层,再利用加载的算法库中的其他预设算法进行处理,得到RGB图像和掩膜图。同时,TOF获取深度图后,经相机设备驱动返回相机硬件抽象层。然后利用加载的算法库中的其他预设算法,对RGB图像、深度图和掩膜图进行处理得到AR图像。
相机硬件抽象层将得到的AR图像经相机访问接口发送回AR APP进行预览显示。
按照上述AR图像的生成过程,重复执行,可以生成AR视频。
下面结合附图对本申请实施例提供的应用场景进行说明。
图5为本申请实施例中提供的一种应用场景的示意图。如图5中的(a)所示,在手机的显示界面上显示有“AR”App的控件101。用户点击“AR”App的控件101,如图5中的(b)所示。响应于用户的点击操作,显示如图5中的(c)所示的第一界面。第一界面包括AR类型选项102、拍照控件103和显示的AR图像104。用户可以从AR类型选项102中选取不同的AR类型,然后点击拍照控件103,生成AR图像104。需要说明的是,在点击拍照控件103,第一界面中所显示的预览图像也是AR图像。其中,所采集的图像中包括至少两个对象,示例性的,如图5中的(c)所示,所采集的图像中包括两个人,分别为人物1和人物2。其中,人物1与摄像头之间的距离,和人物2与摄像头之间的距离相差较大,且人物1和人物2之间存在重叠区域。应理解,所采集的图像中的对象可以是指人像,也可以是动物、建筑物、植物等对象,本申请实施例对此不作限制。
本申请实施例提供的图像处理方法,也可以应用于对视频进行处理生成AR视频,其中,视频中包括两个对象。继续以视频中包括两个人为例进行说明,其中,所采集的视频中的一帧画面中包括两个人,分别为人物1和人物2。其中,人物1与摄像头之间的距离,和人物2与摄像头之间的距离相差较大,且人物1和人物2之间存在重叠区域。
应理解,上述为对应用场景的举例说明,并不对本申请的应用场景作任何限定。
下面结合图6至图15对本申请实施例提供的图像处理方法进行详细描述。
图6为本申请实施例提供的一种图像处理方法的流程示意图,如图6所示,该方法包括:
S101、获取第一图像,及第一图像对应的第一深度图像和第一掩膜图像。
其中,第一图像可以是指通过传感器1获取原始图像后,将原始图像进行配准等初步处理,处理后经相机设备驱动返回相机硬件抽象层,再利用加载的算法库中的其他预设算法进行处理,得到的RGB图像。
其中,获取第一图像对应的第一深度图像可以是通过摄像头在采集原始图像时,同时通过TOF采集同时刻的深度图作为第一深度图像;也可以是将第一图像输入深度估计模型得到第一深度图像;本申请实施例对此不作限制。
示例性的,如图7中的(a)所示,传感器采集到原始图像后,将原始图像返回相机硬件抽象层,再加载算法库中的算法进行处理,得到第一图像。然后将第一图像输入深度估计模型得到第一深度图像,将第一图像输入语义分割模型,得到第一掩膜图像。
本申请的实施例中提供的图像处理方法,第一深度图像是将第一图像输入预设的深度估计模型得到的,其中预设的深度估计模型为神经网络模型,这样使得电子设备在未配置TOF的情况下,还能够基于第一图像和预设的深度估计模型得到对应的第一深度图像,提高了获取第一深度图像的便捷性,降低了电子设备的成本。
示例性的,如图7中的(b)所示,传感器采集到原始图像后,将原始图像返回相机硬件抽象层,再加载算法库中的算法进行处理,得到第一图像。同时,TOF在采集原始图像的同时刻采集第一深度图像。将第一图像输入语义分割模型,得到第一掩膜图像。
本申请的实施例中提供的图像处理方法,第一深度图像是电子设备中的摄像装置(TOF)采集得到的,这样使得获取第一深度图像的方法更加便捷,进而提高了根据第一深度图像、第一图像和第一掩膜图像得到AR图像的效率。
应理解,第一图像、第一掩膜图像和第一深度图像是针对同一场景进行拍摄得到的,因此第一图像、第一掩膜图像和第一深度图像之间存在对应关系。示例性的,在第一图像中的人像所在的区域,在第一深度图像中存在对应的区域,在第一掩膜图像中同样存在对应的区域。为了便于描述,下文中所提到的对象的深度是指该对象在第一深度图像中对应的区域的深度值,对象的mask是指该对象在第一掩膜图像中对应的区域的mask,所提到的mask的深度,是指mask在第一掩膜图像中的区域在第一深度图像中对应的区域的深度值。
S102、获取第一掩膜图像中同一掩膜mask的深度差值。
若深度差值大于预设阈值1,则执行S103。
其中,第一掩膜图像中同一掩膜mask的深度差值可以是指该mask中的深度极差,也可以是指该mask中的深度标准差,本申请实施例对此不作限制。
示例性的,掩膜图像中可以包括多个mask。例如,如图8中的(a)所示,分别包括mask10和mask 20,其中,mask 10中的两个人物粘连,mask 20中有一个人物。或者,如图8中的(b)所示,分别包括mask 30和mask 40,其中,mask 30为一个人物,mask 40为一个人物,两个mask中均没有人物粘连。
示例性的,掩膜图像中也可以只包括一个mask,如图8中的(c)所示,包括mask 50,mask 50中包括两个人物,两个人物粘连。或者,如图8中的(d)所示。包括mask 60,mask60中包括一个人物,没有人物粘连。
其中,预设阈值1相当于第一预设阈值。
示例性的,预设阈值1为0.5m。
应理解,由于语义分割模型输出的人像mask仅仅能够将人物和背景区分,不能区分出不同的人。又由于人体是一个整体,不会存在一部分躯体距离摄像头较近,另一部分距离摄像头较远的情况。也即是说,当一个mask中只有一个人物时,该mask的深度值相差不大,当mask中有至少两个人物时,该mask的深度值相差较大。
示例性的,如图8中的(a)所示的掩膜图,其中,mask 10中的两个人物与摄像头之间的距离不同,因此,mask 10中深度值不同,且相差较大。mask 20中只有一个人物,整体距离摄像头之间的距离相差不大,即mask 20中的深度值相差较小。因此,在mask 10中的深度差值大于预设阈值1时,则说明mask 10中包括至少两个人。mask 20中的深度差值小于预设阈值1,则说明mask 20中只有一个人物。
示例性的,如图8中的(b)所示的掩膜图,其中,mask 30中只有一个人物,整体距离摄像头之间的距离相差不大,即mask 30中的深度值相差较小。同样的,mask 40中只有一个人物,整体距离摄像头之间的距离相差不大,即mask 40中的深度值相差较小。因此,在mask40中的深度差值大于预设阈值1时,则说明mask 40中包括至少两个人。mask 40中的深度差值小于预设阈值1,则说明mask 40中只有一个人物。
示例性的,如图8中的(c)所示的掩膜图,其中,mask 50中的两个人物与摄像头之间的距离不同,因此,mask 50中深度值不同,且相差较大。因此,在mask 50中的深度差值大于预设阈值1时,则说明mask 50中包括至少两个人。
示例性的,如图8中的(d)所示的掩膜图,mask 60中只有一个人物,整体距离摄像头之间的距离相差不大,即mask 60中的深度值相差较小。因此,在mask 60中的深度差值小于预设阈值1,则说明mask 60中只有一个人物。
综上所述,在同一mask中的深度差值大于预设阈值1的情况下,则该mask中包括至少两个对象。
本申请的实施例中提供的图像处理方法,获取第一掩膜图像中同一掩膜mask的深度差值,若深度差值大于第一预设阈值,则确定第一图像中包括第一对象和第二对象,相当于确定第一图像中是否同时包括第一对象和第二对象的过程,是根据第一掩膜图像中同一掩膜mask的深度差值确定,提高了确定第一图像中存在第一对象和第二对象的智能性。
为了便于描述,以下以图像中的对象为人像为例进行描述。应理解,图像中的对象还可以是指动物、植物、建筑物等,本申请实施例对此不作限制。
对于图8中所述的mask,其中,图8中的(a)中的mask 10和图8中的(c)中的mask50中包括两个对象,因此可以对图8中的(a)所示的掩膜图对应的第一深度图,及图8中的(c)所示掩膜图对应的第一深度图执行S103的步骤。
S103、按照预设的区间范围将第一深度图像中各个深度值划分为多个深度区间。
其中,可以按照预设的区间范围计算第一深度图像中mask对应的区间的深度直方图。例如,预设的区间范围可以是根据目标物与摄像头之间的距离进行划分得到的,示例性的,预设的区间范围可以包括目标物与摄像头之间的距离为0.5m至1.5m,1.5m至2.5m,2.5m至3.5m的范围。所得到的深度直方图可以指示与摄像头之间的距离在0.5m至1.5m之内的像素点的数量,与摄像头之间的距离在1.5m至2.5m之内的像素点的数量,与摄像头之间的距离在2.5m至3.5m之内的像素点的数量。
在将第一深度图像按照预设的区间范围划分为多个深度区间之后,进一步地获取第一深度图像中的主要深度所在的区间,例如,像素数量大于30%的深度所在的区间。又例如,可以直接确定像素数量最多的区间为第一深度图像中的主要深度所在的区间。
S104、确定多个深度区间中像素数量最多的目标深度区间。
S105、根据目标深度区间的深度范围确定第一预设模板。
其中,第一预设模板是与第一距离相关的,第一距离是第一对象与电子设备之间的距离。
可选的,第一预设模板是头部轮廓模板,且第一预设模板的面积和第一距离成反比。
由于人体的头部轮廓与其他身体部位的区别较大,因此,可以利用人体的头部轮廓作为模板去确定第一掩膜图像中的mask中的人数。由于人体与电子设备之间的距离越小,电子设备拍摄得到的图像中人的头部轮廓越大,人体与电子设备之间的距离越大,电子设备拍摄得到的图像中人的头部轮廓越小。因此,通常头部轮廓模板的面积和第一距离成反比例。
在S104的基础上,先确定了第一深度图像中像素数量最多的目标深度区间之后,相当于确定了第一深度图像中所占面积最大的区域,也即是图像中主要的人所在的区域。在这种情况下,目标深度区域的深度范围与人像的深度范围等同,因此,可以将该深度范围对应的头部轮廓模板作为第一预设模板。
示例性的,多个深度区间中像素数量最多的目标深度区域是0.5m至1.5m这个区间,预设的头部轮廓模板包括3个模板,如图9所示,其中包括第一距离为1m的头部轮廓模板、第一距离为2m的头部轮廓模板和第一距离为3m的头部轮廓模板。基于目标深度区域是0.5m至1.5m这个区间,将第一距离为1m的头部轮廓模板作为第一预设模板。可以看出,第一距离越小,第一预设模板的面积越大,第一距离越大,第一预设模板的面积越小。
本申请的实施例中,第一预设模板是与第一对象与电子设备之间的距离,也即是第一距离相关的头部轮廓模板,第一距离越大,头部轮廓模板的面积越小,第一距离越小,头部轮廓模板的面积越大,因此,直接根据第一距离选择对应的第一预设模板,能够使得第一预设模板的大小与第一对象的大小更加匹配,提高了根据第一预设模板确定第一像素点的效率,进而提高了根据第一像素点确定第二掩膜图像的效率。
可选的,还可以根据第一图像的拍摄角度旋转候选模板,得到第一预设模板。
S1051、获取电子设备的位姿信息。
其中,位姿信息可以是指电子设备与重力方向之间的夹角。应理解,电子设备的位姿变化,会导致所拍摄的图像的形状发生变化。上述电子设备的位姿信息是指电子设备在获取第一图像时的位姿信息。
电子设备可以读取陀螺仪传感器中的电子设备围绕三个轴(即,x,y和z轴)的角速度来确定出电子设备的位姿信息,也可以读取加速度传感器中在各个方向的加速来确定出位姿信息,本申请实施例对此不作限制。
S1052、根据位姿信息调整第一预设模板的形状,得到调整后的第一预设模板。
应理解,电子设备获取图像的过程中,电子设备通常不是严格的沿着重力方向放置的,因此,导致所获取的图像存在由于拍摄角度而导致的失真。位姿信息可以指示电子设备获取图像时位置和姿态,因此可以基于位姿信息对第一预设模板进行校正,调整第一预设模板的形状,以使第一预设模板对应的角度,与第一图像的拍摄角度接近,进而使得第一预设模板与第一图像的人像的头部轮廓更加的匹配。
本申请的实施例中,根据电子设备的位姿信息对第一预设模板进行调整,得到调整后的第一预设模板,这样使得第一预设模板的角度与第一图像的拍摄角度接近,进而使得调整后的第一预设模板和第一图像中人像的头部轮廓更加的匹配,因此基于调整后的第一预设模板能够更加准确的得到第一像素点,进而提高了基于第一像素点得到的第二掩膜图像的准确度。提高了基于第二掩膜图像和第一图像得到的AR图像的准确性。
S106、获取第一掩膜图像对应的边缘图。
其中,边缘图为第一掩膜图像中掩膜mask的轮廓形成的二值图。
其中,边缘图为第一掩膜图像中的mask的轮廓形成的二值图。
示例性的,第一掩膜图像中包括掩膜mask 10,如图10中的(a)所示,边缘图为对第一掩膜图像中的mask 10的轮廓形成的二值图,如图10中的(b)所示。
S107、对第一预设模板及边缘图进行卷积运算,得到第一像素点。
其中,第一像素点为第一对象的图像区域中的像素点。例如,第一像素点可以是指第一对象头部的中心区域的像素点。第一像素点可以是通过对第一预设模板和边缘图进行卷积运算,得到的卷积值最大的像素点。
采用第一预设模板对边缘图进行卷积运算,可以是指将第一预设模板从边缘图的一侧开始向另一侧移动做卷积运算,得到卷积值。
示例性的,如图11所示,将第一预设模板从边缘图的最左侧开始向右做卷积运算。
例如,可以采用下列公式(1)进行卷积运算。
其中,R(x,y)表示卷积值,T(x
应理解,边缘图上的每个像素点采用上述公式(1)进行卷积计算得到一个卷积值,其中卷积值最大的像素点即为第一像素点。
应理解,采用一个第一预设模板可以确定出一个待拍摄对象的第一像素点,采用其他尺寸的头部轮廓模板与轮廓图进行卷积计算,可以得到该尺寸对应的待拍摄对象的第一像素点。
示例性的,如图12中的(a)所示,使用第一距离为1m的头部轮廓模板与边缘图进行卷积计算,得到与电子设备之间的距离为1m的待拍摄对象的图像区域中的第一像素点。如图12中的(b)所示,采用第一距离为2m的头部轮廓模板与同一个边缘图进行卷积计算,得到的第一像素点是与电子设备之间的距离为2m的待拍摄对象的图像区域中的第一像素点。
S108、对第一图像进行超像素分割,得到多个区域。
其中,多个区域中包括第一区域,第一区域是指包括第一像素点的区域。
对第一图像进行超像素分割可以是指将第一图像按照亮度、色彩等进行分割,得到多个区域,每个区域的亮度和色彩接近。其中,包括第一像素点的区域为第一区域。应理解,超像素分割通常是将图像分割成若干个像素点形成的区域,也即是说,第一区域中包括若干个像素点。
示例性的,对第一图像进行超像素分割可以如图13所示,其中,第一像素点所在的区域为第一区域。
S109、获取第一深度信息。
其中,第一深度信息用于表征第一区域的深度。
应理解,第一区域是指第一图像进行超像素分割之后,第一像素点在第一图像中的区域,由于第一图像、第一深度图像和第一掩膜图像之间存在对应关系,因此,第一区域的深度是指第一区域在第一深度图像中对应的区域的深度。其中,第一区域中包括若干个像素点,第一区域在第一深度图像中对应的区域的深度是指对应的区域中各个像素点对应的深度值的平均值。
S110、根据第一深度信息确定多个区域中的第一区域集合。
其中,第一区域集合中每个区域的深度与第一区域的深度的差值小于第一阈值,第一区域集合包括第一区域。
在对第一图像进行超像素分割之后得到多个区域,可以获取多个区域中每个区域的深度信息,也即是每个区域中像素点的平均深度值,然后将与第一区域的深度差值小于第一阈值的区域,作为第一区域集合中的区域,同时第一区域也是第一区域集合中的区域。这样相当于第一区域集合中的区域是与第一区域的深度接近的区域,也即是说,第一区域集合中的区域对应的拍摄距离接近。应理解,同一个人体的拍摄距离通常是接近的,也即是说同一个人在图像中各个区域的深度是接近的。因此第一区域集合是同一人的图像区域集合。
S111、基于第一区域集合生成第二掩膜图像。
由上述S110中的描述可知,第一区域集合中的每个区域的深度与第一区域的深度的差值小于第一阈值,且第一区域集合包括第一区域。将第一掩膜图像中第一区域集合中各个区域对应的区域合并,即可得到第二掩膜图像。第二掩膜图像中第一对象的mask为独立的mask,不是与其他待拍摄对象粘连的mask。
S112、基于第二掩膜图像和第一图像生成AR图像。
由于第二掩膜图像中的mask是第一对象独立的mask,因此能够对第二掩膜图像和第一图像进行增强图像处理,得到AR图像。
应理解,多帧图像连续播放即可形成视频,与基于第二掩膜图像和第一图像生成AR图像类似,采用多帧第二掩膜图像及其对应的多帧第一图像,可以生成多帧AR图像,然后基于多帧AR图像可以得到AR视频。也即是说,基于第二掩膜图像和第一图像还可以生成AR视频。
本申请的实施例中提供的图像处理方法,先获取第一图像、第一深度图像与第一掩膜图像,再采用第一预设模板确定第一图像中的第一像素点,同时对第一图像进行超像素分割,得到多个区域,再基于第一深度信息确定多个区域中的第一区域集合,然后基于第一区域集合,得到第二掩膜图像,进而基于第二掩膜图像与第一图像,得到增强现实AR图像,其中,第一图像中包括第一对象的图像区域与第二对象的图像区域,第一对象的图像区域与第二对象的图像区域部分重叠,第一对象与第二对象为相同类别的待拍摄对象,第一深度图像用于表征第一对象与第二对象的深度信息,第一掩膜图像标识第一图像中第一对象的图像区域与第二对象的图像区域,第一像素点为第一对象的图像区域中的像素点,第一预设模板与第一距离相关,第一距离为第一对象与电子设备之间的距离,多个区域中包括第一区域,第一区域包括第一像素点,第一深度信息用于表征第一区域的深度,第一区域集合中每个区域的深度与第一区域的深度的差值小于第一阈值,第一区域集合包括第一区域,第二掩膜图像用于标识第一图像中第一对象的图像区域,由于先通过第一预设模板获取了第一图像中第一对象的图像区域的第一像素点,使得基于第一像素点所在的第一区域的深度确定出的第一区域集合为同一个对象的图像区域,不包括其他对象的图像区域,因此基于第一区域集合得到的第二掩膜图像中包括的mask仅单独指示第一对象的图像区域,避免了第一对象的深度是两个对象的深度均值的情况,提高了第一对象的深度的准确性,避免了生成的AR图像中虚拟形象错位的问题,提高了生成的AR图像的效果。
在一种可能的情况下,在确定了第一掩膜图像中的第一像素点之后,还可以进一步地去确定第二像素点,也即是第二对象的图像区域中的像素点,进而能够根据第二像素点得到第二区域,其中,第二区域是指对第一图像进行超像素分割得到的多个区域中包括第二像素点的区域,再根据第二区域确定出第二区域集合,第二区域集合中的区域的深度与第二区域的深度差值小于第二阈值,同时第二区域集合包括第二区域。这样相当于确定了在第一掩膜图像中确定出了与第二像素点深度值相近的区域的集合,也即是第二对象的区域。下面通过图14所示实施例来详细描述。
图14为本申请另一个实施例中提供的图像处理方法的流程示意图,如图14所示,该方法包括:
S201、获取第一图像,及第一图像对应的第一深度图像和第一掩膜图像。
其中,S201的实现步骤及原理与S101类似,此处不再赘述。
S202、获取第一掩膜图像中同一掩膜mask的深度差值,若深度差值大于预设阈值1,则执行S203。
其中,S202的实现步骤及原理与S102类似,此处不再赘述。
S203、按照预设的区间范围将第一深度图像中各个深度值划分为多个深度区间。
其中,S203的实现步骤及原理与S103类似,此处不再赘述。
S204、确定多个深度区间中像素数量最多的目标深度区间。
其中,S204的实现步骤及原理与S104类似,此处不再赘述。
S205、根据目标深度区间的深度范围确定第一预设模板。
其中,S205的实现步骤及原理与S105类似,此处不再赘述。
可选的,还可以根据第一图像的拍摄角度旋转候选模板,得到第一预设模板。
S2051、获取电子设备的位姿信息。
其中,S2051的实现步骤及原理与S1051类似,此处不再赘述。
S2052、根据位姿信息调整第一预设模板的形状,得到调整后的第一预设模板。
其中,S2052的实现步骤及原理与S1052类似,此处不再赘述。
S206、确定第二预设模板。
其中,第二预设模板与第二距离相关,第二距离是指第二对象和电子设备之间的距离。
第一预设模板是该mask中主要深度所在的深度范围对应的模板。第二预设模板可以是指该mask中其他深度范围对应的模板。在S202中获取了第一掩膜图像中同一掩膜mask的深度差值的基础上,第一深度图像中同一mask中去除掉目标深度范围对应的区域,可以从其他深度范围中确定出像素点数量最多的深度区间(为了便于描述,此处简称为第二深度区间),将第二深度区间对应的模板作为第二预设模板。
本申请的实施例中提供的图像处理方法,根据目标深度区间的深度范围确定第一预设模板之后,进一步地确定出第二对象的第二预设模板,进而在采用第一预设模板对边缘图进行卷积运算的基础上,还能采用第二预设模板对边缘图进行卷积运算,得到第二对象的图像区域中的第二像素点,使得在对第一图像进行超像素分割之后,得到的多个区域中包括第一区域和第二区域,进一步地,基于第一区域得到第一对象的mask,基于第二区域得到第二对象的mask,使得第二掩膜图像中同时标识第一对象和第二对象的图像区域,进而使得根据第二掩膜图像和第一图像确定的AR图像,在基于第一对象的图像区域生成AR图像的基础上,还能同时基于第二对象的图像区域生成AR图像,进一步地提升了所生成的AR图像的显示效果。
S207、获取第一掩膜图像对应的边缘图,边缘图为第一掩膜图像中掩膜mask的轮廓形成的二值图。
其中,S207的实现步骤及原理与S106类似,此处不再赘述。
S208、对第一预设模板及边缘图进行卷积运算,得到第一像素点。
其中,第一像素点为第一对象的图像区域的像素点。例如,第一像素点可以是指第一对象头部的中心区域的像素点。第一像素点可以是通过对第一预设模板和边缘图进行卷积运算,得到的卷积值最大的像素点。
采用第一预设模板对边缘图进行卷积运算,可以是指将第一预设模板从边缘图的一侧开始向另一侧移动做卷积运算,得到卷积值。
S209、对第二预设模板及边缘图进行卷积运算,得到第二像素点。
其中,第二像素点为第二对象的图像区域中的像素点,例如,第二像素点可以是指第二对象头部的中心区域的像素点。第二像素点可以是通过对第二预设模板和边缘图进行卷积运算,得到的卷积值最大的像素点。
采用第二预设模板和边缘图进行卷积计算,得到第二像素点的具体过程可以与采用第一预设模板和边缘图进行卷积计算类似,此处不再赘述。
由于用于与边缘图进行卷积的模板是预设的模板,也即是从多个已知的模板中选取得到的模板。因此在一种可能的情况下,依次采用除了第一预设模板之外的其他模板与边缘图进行卷积运算,并根据卷积结果得到第二对象的第二像素点。第二像素点是指第二对象的图像区域中的像素点。可以理解的是,所确定出与边缘图进行卷积计算得到第二像素点的模板即为第二预设模板。
S210、对第一图像进行超像素分割,得到多个区域。
其中,多个区域中包括第一区域和第二区域,第一区域是指包括第一像素点的区域,第二区域是指包括第二像素点的区域。
其中,S210的实现步骤及原理与S108类似,此处不再赘述。
S211、获取第一深度信息和第二深度信息。
其中,第一深度信息用于表示第一区域的深度。第二深度信息用于表示第二区域的深度。
应理解,第一区域是指第一图像进行超像素分割之后,第一像素点在第一图像中的区域,由于第一图像、第一深度图像和第一掩膜图像之间存在对应关系,因此,第一区域的深度是指第一区域在第一深度图像中对应的区域的深度。其中,第一区域中包括若干个像素点,第一区域在第一深度图像中对应的区域的深度是指对应的区域中各个像素点对应的深度值的平均值。
应理解,第二区域是指第一图像进行超像素分割之后,第二像素点在第一图像中的区域,由于第一图像、第一深度图像和第一掩膜图像之间存在对应关系,因此,第二区域的深度是指第二区域在第一深度图像中对应的区域的深度。其中,第二区域中包括若干个像素点,第二区域在第一深度图像中对应的区域的深度是指对应的区域中各个像素点对应的深度值的平均值。
S212、根据第一深度信息确定多个区域中的第一区域集合。
其中,第一区域集合中每个区域的深度与第一区域的深度的差值小于第一阈值,第一区域集合包括第一区域。
在对第一图像进行超像素分割之后得到多个区域,可以获取多个区域中每个区域的深度信息,也即是每个区域中像素点的平均深度值,然后将与第一区域的深度差值小于第一阈值的区域,作为第一区域集合中的区域,同时第一区域也是第一区域集合中的区域。这样相当于第一区域集合中的区域是与第一区域的深度接近的区域,也即是说,第一区域集合中的区域对应的拍摄距离接近。应理解,同一个人体的拍摄距离通常是接近的,也即是说同一个人在图像中各个区域的深度是接近的。因此第一区域集合是同一人的图像区域集合。通常,距离摄像头的距离越近,则待拍摄对象在第一图像中所占的面积越大。由于第一预设模板是根据多个深度区间中像素数量最多的目标深度区间确定出的。因此,第一预设模板确定出的第一像素点是占用第一图像中面积较大的待拍摄对象(第一对象)中的像素点。也即是说,第一对象可以是指第一掩膜图像中的同一mask中距离摄像头较近的待拍摄对象。
S213、根据第二深度信息确定多个区域中的第二区域集合。
其中,第二区域集合中每个区域的深度与第二区域的深度的差值小于第一阈值,第二区域集合包括第二区域。
在对第一图像进行超像素分割之后得到多个区域,可以获取多个区域中每个区域的深度信息,也即是每个区域中像素点的平均深度值,然后将与第二区域的深度差值小于第二阈值的区域,作为第二区域集合中的区域,同时第二区域也是第二区域集合中的区域。其中,第一阈值和第二阈值可以相同,也可以不同,本申请实施例对此不作限制。这样相当于第二区域集合中的区域是与第二区域的深度接近的区域,也即是说,第二区域集合中的区域对应的拍摄距离接近。应理解,同一个人体的拍摄距离通常是接近的,也即是说同一个人在图像中各个区域的深度是接近的。因此第二区域集合是同一人的图像区域集合,也即是第二对象的图像区域集合。由于第一对象是指第一掩膜图像中的同一mask中距离摄像头较近的待拍摄对象,因此,第二对象是指第一掩膜图像中同一mask距离摄像头较远的待拍摄对象。
应理解,第一掩膜图像中的同一mask中可以包括更多个待拍摄对象,例如同一mask中包括三个待拍摄对象。在同一mask中包括多个待拍摄对象的情况下,可以采用类似的方法确定出第三对象在第一图像中的第三像素点,并基于第三像素点确定出第三区域和第三区域集合。其中,第三区域是指第一图像中包括第三像素点的图像区域,第三区域集合中每个区域的深度和第三区域之间的深度差值小于第三阈值,同时第三区域集合包括第三区域。其中,第一阈值、第二阈值和第三阈值可以是同一阈值,也可以是不同的阈值,本申请实施例对此不作限制。
S214、基于第一区域集合和第二区域集合生成第二掩膜图像。
由上述S213中的描述可知,第一区域集合中的每个区域的深度与第一区域的深度的差值小于第一阈值,且第一区域集合包括第一区域。第二区域集合中的每个区域的深度与第二区域的深度的差值小于第二阈值。将第一掩膜图像中第一区域集合中各个区域对应的区域合并,将第一掩膜图像中第二区域集合中各个区域合并,即可得到第二掩膜图像。第二掩膜图像中第一对象的mask为独立的mask,第二对象的mask也为独立的mask,均不是与其他待拍摄对象粘连的mask。
S215、基于第二掩膜图像和第一图像生成AR图像。
由于第二掩膜图像中的mask是第一对象独立的mask,及第二对象独立的mask。因此能够对第二掩膜图像和第一图像进行增强图像处理,得到AR图像。
本申请的实施例中提供的图像处理方法,根据目标深度区间的深度范围确定第一预设模板之后,进一步地确定出第二对象的第二预设模板,进而在采用第一预设模板对边缘图进行卷积运算的基础上,还能采用第二预设模板对边缘图进行卷积运算,得到第二对象的图像区域中的第二像素点,使得在对第一图像进行超像素分割之后,得到的多个区域中包括第一区域和第二区域,进一步地,基于第一区域得到第一对象的mask,基于第二区域得到第二对象的mask,使得第二掩膜图像中同时标识第一对象和第二对象的图像区域,进而使得根据第二掩膜图像和第一图像确定的AR图像,在基于第一对象的图像区域生成AR图像的基础上,还能同时基于第二对象的图像区域生成AR图像,进一步地提升了所生成的AR图像的显示效果。
图15为本申请另一个实施例中提供的图像处理方法的流程示意图,如图15所示,该方法包括:
S301、获取第一图像、第一深度图像与第一掩膜图像。
其中,第一图像中包括第一对象的图像区域与第二对象的图像区域,第一对象的图像区域与第二对象的图像区域部分重叠,第一对象与第二对象为相同类别的待拍摄对象,第一深度图像用于表征第一对象与第二对象的深度信息,第一掩膜图像标识第一图像中第一对象的图像区域与第二对象的图像区域。
S302、采用第一预设模板确定第一图像中的第一像素点。
其中,第一像素点为第一对象的图像区域中的像素点,第一预设模板与第一距离相关,第一距离为第一对象与电子设备之间的距离。
S303、对第一图像进行超像素分割,得到多个区域。
其中,多个区域中包括第一区域,第一区域包括第一像素点;
S304、基于第一深度信息确定多个区域中的第一区域集合。
其中,第一深度信息用于表征第一区域的深度,第一区域集合中每个区域的深度与第一区域的深度的差值小于第一阈值,第一区域集合包括第一区域;
S305、基于第一区域集合,得到第二掩膜图像。
其中,第二掩膜图像用于标识第一图像中第一对象的图像区域;
本申请的实施例中提供的图像处理方法,先获取第一图像、第一深度图像与第一掩膜图像,再采用第一预设模板确定第一图像中的第一像素点,同时对第一图像进行超像素分割,得到多个区域,再基于第一深度信息确定多个区域中的第一区域集合,然后基于第一区域集合,得到第二掩膜图像,进而基于第二掩膜图像与第一图像,得到增强现实AR图像,其中,第一图像中包括第一对象的图像区域与第二对象的图像区域,第一对象的图像区域与第二对象的图像区域部分重叠,第一对象与第二对象为相同类别的待拍摄对象,第一深度图像用于表征第一对象与第二对象的深度信息,第一掩膜图像标识第一图像中第一对象的图像区域与第二对象的图像区域,第一像素点为第一对象的图像区域中的像素点,第一预设模板与第一距离相关,第一距离为第一对象与电子设备之间的距离,多个区域中包括第一区域,第一区域包括第一像素点,第一深度信息用于表征第一区域的深度,第一区域集合中每个区域的深度与第一区域的深度的差值小于第一阈值,第一区域集合包括第一区域,第二掩膜图像用于标识第一图像中第一对象的图像区域,由于先通过第一预设模板获取了第一图像中第一对象的图像区域的第一像素点,使得基于第一像素点所在的第一区域的深度确定出的第一区域集合为同一个对象的图像区域,不包括其他对象的图像区域,因此基于第一区域集合得到的第二掩膜图像中包括的mask仅单独指示第一对象的图像区域,避免了第一对象的深度是根据至少两个对象的深度均值确定出来的情况,提高了第一对象的深度的准确性,避免了生成的AR图像中虚拟形象错位的问题,提高了生成的AR图像的效果。
应该理解的是,虽然上述实施例中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
可以理解的是,为了实现上述功能,电子设备包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个模块中。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。需要说明的是,本申请实施例中模块的名称是示意性的,实际实现时对模块的名称不做限定。
图16为本申请实施例提供的图像处理装置的一种结构示意图。
应理解,图像处理装置600可以执行图6至图15所示的图像处理方法;图像处理装置600包括:获取单元610和处理单元620。
获取单元610用于获取第一图像、第一深度图像与第一掩膜图像,其中,第一图像中包括第一对象的图像区域与第二对象的图像区域,第一对象的图像区域与第二对象的图像区域部分重叠,第一对象与第二对象为相同类别的待拍摄对象,第一深度图像用于表征第一对象与第二对象的深度信息,第一掩膜图像标识第一图像中第一对象的图像区域与第二对象的图像区域;
处理单元620用于采用第一预设模板确定第一图像中的第一像素点,第一像素点为第一对象的图像区域中的像素点,第一预设模板与第一距离相关,第一距离为第一对象与电子设备之间的距离;
处理单元620用于对第一图像进行超像素分割,得到多个区域,多个区域中包括第一区域,第一区域包括第一像素点;
处理单元620用于基于第一深度信息确定多个区域中的第一区域集合,第一深度信息用于表征第一区域的深度,第一区域集合中每个区域的深度与第一区域的深度的差值小于第一阈值,第一区域集合包括第一区域;
处理单元620用于基于第一区域集合,得到第二掩膜图像,第二掩膜图像用于标识第一图像中第一对象的图像区域;
处理单元620用于基于第二掩膜图像与第一图像,得到增强现实AR图像。
在一个实施例中,若第一对象与第二对象为人,第一预设模板为头部轮廓模板,第一距离与第一预设模板的面积成反比例。
在一个实施例中,获取单元610还用于获取电子设备的位姿信息;
处理单元620还用于基于位姿信息调整头部轮廓模板的形状。
在一个实施例中,处理单元620还用于按照预设的区间范围将第一深度图像中各个深度值划分为多个深度区间;确定多个深度区间中像素数量最多的目标深度区间;
根据目标深度区间的深度范围确定第一预设模板。
在一个实施例中,处理单元620用于获取第一掩膜图像对应的边缘图,边缘图为第一掩膜图像中掩膜mask的轮廓形成的二值图;
对第一预设模板及边缘图进行卷积运算,得到第一像素点。
在一个实施例中,处理单元620用于获取第一掩膜图像中同一掩膜mask的深度差值;若深度差值大于第一预设阈值,则确定第一图像中包括第一对象和第二对象。
在一个实施例中,处理单元620用于采用第二预设模板确定第一图像中的第二像素点,第二像素点为第二对象的图像区域中的像素点,第二预设模板与第二距离相关,第二距离为第二对象与电子设备之间的距离;多个区域还包括第二区域,第二区域包括第二像素点;基于第二深度信息确定多个区域中的第二区域集合,第二深度信息用于表征第二区域的深度,第二区域集合中每个区域的深度与第二区域的深度的差值小于第二阈值,第二区域集合包括第二区域;基于第一区域集合和第二区域集合,得到第二掩膜图像。
在一个实施例中,处理单元620用于获取第一掩膜图像对应的边缘图,边缘图为第一掩膜图像中对象的轮廓形成的二值图;对第二预设模板及边缘图进行卷积运算,得到第二像素点。
在一个实施例中,第一深度图像为电子设备中的摄像装置采集得到的。
在一个实施例中第一深度图像为将第一图像输入预设的深度估计模型得到的,深度估计模型为神经网络模型。
在一个实施例中第一掩膜图像为将第一图像输入预设的语义分割模型得到的,语义分割模型为神经网络模型。
本实施例提供的图像处理装置,用于执行上述实施例的图像处理方法,技术原理和技术效果相似,此处不再赘述。
需要说明的是,上述图像处理装置600以功能单元的形式体现。这里的术语“单元”可以通过软件和/或硬件形式实现,对此不作具体限定。
例如,“单元”可以是实现上述功能的软件程序、硬件电路或二者结合。所述硬件电路可能包括应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
因此,在本申请的实施例中描述的各示例的单元,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
图17示出了本申请提供的一种电子设备的结构示意图。图17中的虚线表示该单元或该模块为可选的。电子设备700可用于实现上述方法实施例中描述的图像处理方法。
电子设备700包括一个或多个处理器701,该一个或多个处理器701可支持电子设备700实现方法实施例中的图像处理方法。处理器701可以是通用处理器或者专用处理器。例如,处理器701可以是中央处理器(central processing unit,CPU)、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integratedcircuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其它可编程逻辑器件,如分立门、晶体管逻辑器件或分立硬件组件。
处理器701可以用于对电子设备700进行控制,执行软件程序,处理软件程序的数据。电子设备700还可以包括通信单元705,用以实现信号的输入(接收)和输出(发送)。
例如,电子设备700可以是芯片,通信单元705可以是该芯片的输入和/或输出电路,或者,通信单元705可以是该芯片的通信接口,该芯片可以作为终端设备或其它电子设备的组成部分。
又例如,电子设备700可以是终端设备,通信单元705可以是该终端设备的收发器,或者,通信单元705可以是该终端设备的收发电路。
电子设备700中可以包括一个或多个存储器702,其上存有程序704,程序704可被处理器701运行,生成指令703,使得处理器701根据指令703执行上述方法实施例中描述的阻抗匹配方法。
可选地,存储器702中还可以存储有数据。可选地,处理器701还可以读取存储器702中存储的数据,该数据可以与程序704存储在相同的存储地址,该数据也可以与程序704存储在不同的存储地址。
处理器701和存储器702可以单独设置,也可以集成在一起;例如,集成在终端设备的系统级芯片(system on chip,SOC)上。
示例性地,存储器702可以用于存储本申请实施例中提供的图像处理方法的相关程序704,处理器701可以用于在进行图像处理时调用存储器702中存储的图像处理方法的相关程序704,执行本申请实施例的图像处理方法;包括:获取第一图像、第一深度图像与第一掩膜图像,其中,第一图像中包括第一对象的图像区域与第二对象的图像区域,第一对象的图像区域与第二对象的图像区域部分重叠,第一对象与第二对象为相同类别的待拍摄对象,第一深度图像用于表征第一对象与第二对象的深度信息,第一掩膜图像标识第一图像中第一对象的图像区域与第二对象的图像区域;采用第一预设模板确定第一图像中的第一像素点,第一像素点为第一对象的图像区域中的像素点,第一预设模板与第一距离相关,第一距离为第一对象与电子设备之间的距离;对第一图像进行超像素分割,得到多个区域,多个区域中包括第一区域,第一区域包括第一像素点;基于第一深度信息确定多个区域中的第一区域集合,第一深度信息用于表征第一区域的深度,第一区域集合中每个区域的深度与第一区域的深度的差值小于第一阈值,第一区域集合包括第一区域;基于第一区域集合,得到第二掩膜图像,第二掩膜图像用于标识第一图像中第一对象的图像区域;基于第二掩膜图像与第一图像,得到增强现实AR图像。
本申请还提供了一种计算机程序产品,该计算机程序产品被处理器701执行时实现本申请中任一方法实施例所述的图像处理方法。
该计算机程序产品可以存储在存储器702中,例如是程序704,程序704经过预处理、编译、汇编和链接等处理过程最终被转换为能够被处理器701执行的可执行目标文件。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机执行时实现本申请中任一方法实施例所述的图像处理方法。该计算机程序可以是高级语言程序,也可以是可执行目标程序。
该计算机可读存储介质例如是存储器702。存储器702可以是易失性存储器或非易失性存储器,或者,存储器702可以同时包括易失性存储器和非易失性存储器。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmableROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(randomaccess memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamicRAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(doubledata rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的;例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
- 图像处理方法、图像处理装置和电子设备
- 图像处理方法、装置、电子设备及介质
- 夜景图像处理方法、装置、电子设备及存储介质
- 色温调节方法、图像处理方法及装置、介质和电子设备
- 人脸图像的处理方法及装置、电子设备和存储介质
- 人脸图像处理方法、直播图像处理方法、装置和电子设备
- 图像预处理方法和装置、图像处理方法、电子设备及介质