CN112784621A - 图像显示方法及设备 - Google Patents
图像显示方法及设备 Download PDFInfo
- Publication number
- CN112784621A CN112784621A CN201911008055.6A CN201911008055A CN112784621A CN 112784621 A CN112784621 A CN 112784621A CN 201911008055 A CN201911008055 A CN 201911008055A CN 112784621 A CN112784621 A CN 112784621A
- Authority
- CN
- China
- Prior art keywords
- model
- target object
- image
- interface
- target
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 167
- 238000010276 construction Methods 0.000 claims abstract description 164
- 230000000694 effects Effects 0.000 claims abstract description 81
- 230000004044 response Effects 0.000 claims abstract description 31
- 238000012545 processing Methods 0.000 claims description 116
- 230000008569 process Effects 0.000 claims description 68
- 238000003860 storage Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 12
- 238000000605 extraction Methods 0.000 claims description 11
- 230000004927 fusion Effects 0.000 claims description 7
- 238000009877 rendering Methods 0.000 description 35
- 230000009466 transformation Effects 0.000 description 30
- 230000002452 interceptive effect Effects 0.000 description 24
- 238000004364 calculation method Methods 0.000 description 21
- 210000002414 leg Anatomy 0.000 description 20
- 241001465754 Metazoa Species 0.000 description 17
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 17
- 238000012804 iterative process Methods 0.000 description 15
- 238000003709 image segmentation Methods 0.000 description 13
- 238000013507 mapping Methods 0.000 description 13
- 230000011218 segmentation Effects 0.000 description 13
- 230000037237 body shape Effects 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 12
- 230000003068 static effect Effects 0.000 description 9
- 210000000707 wrist Anatomy 0.000 description 9
- 230000009471 action Effects 0.000 description 8
- 210000003423 ankle Anatomy 0.000 description 8
- 238000001514 detection method Methods 0.000 description 8
- 210000004394 hip joint Anatomy 0.000 description 8
- 210000003127 knee Anatomy 0.000 description 8
- 238000007781 pre-processing Methods 0.000 description 8
- 230000000007 visual effect Effects 0.000 description 8
- 230000006854 communication Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000005286 illumination Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 238000005457 optimization Methods 0.000 description 6
- 230000003190 augmentative effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 238000002360 preparation method Methods 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 4
- 241000282326 Felis catus Species 0.000 description 4
- 238000010171 animal model Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 239000003086 colorant Substances 0.000 description 3
- 238000011049 filling Methods 0.000 description 3
- 238000007499 fusion processing Methods 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000010191 image analysis Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000004576 sand Substances 0.000 description 2
- 239000013535 sea water Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005530 etching Methods 0.000 description 1
- 210000003414 extremity Anatomy 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000000206 photolithography Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Images
Classifications
-
- 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/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- 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
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/18—Image warping, e.g. rearranging pixels individually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
- G06V10/267—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2016—Rotation, translation, scaling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2021—Shape modification
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Architecture (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提供了图像显示方法及设备,该方法应用于具有显示屏和摄像头的电子设备。该方法包括:检测到用户用于打开应用的第一操作;响应于所述第一操作,在所述显示屏上显示第一界面;检测到所述用户在所述第一界面上用于指示拍摄图像的第二操作,或者,检测到所述用户在所述第一界面上用于指示选择图像的第二操作;响应于所述第二操作,在所述第一界面或者第二界面内显示目标对象的多维模型,所述多维模型为针对所述摄像头采集到的目标图像或者针对所述选择的目标图像中的目标对象构建得到的多维模型,其中,用于构建所述多维模型所需的模型构建参数是与所述目标对象对应的对象掩膜所匹配的模型构建参数。本申请能够提高目标对象的显示效果。
Description
技术领域
本申请涉及图像处理技术领域,尤其涉及一种图像显示方法及设备。
背景技术
目前智能终端技术不断发展,终端设备的使用越来越广泛。随着终端设备处理能力的不断增强,人们对终端设备所显示的图像的要求也逐步提升。
目前,终端设备能够显示二维图像以及由二维图像帧组成的视频。二维图像或二维图像组成的视频中的人或物是二维的,也就是说,终端设备只能显示二维的人或物,使得用户观看体验不佳。
发明内容
本申请提供一种图像显示方法及设备,用以提高图像显示效果,相应地提升用户观看体验。
第一方面,本申请提供一种图像显示方法,应用于具有显示屏和摄像头的电子设备,包括:检测到用户用于打开应用(例如相机应用或者其他应用)的第一操作;响应于所述第一操作,在所述显示屏上显示第一界面;检测到所述用户在所述第一界面上用于指示拍摄图像的第二操作,或者,检测到所述用户在所述第一界面上用于指示选择图像的第二操作;响应于所述第二操作,在所述第一界面或者第二界面内显示目标对象的多维模型(例如三维模型),所述多维模型(例如三维模型)为针对所述摄像头采集到的目标图像(例如通过摄像头采集到的单帧图像,本文中的目标图像亦称为输入图像)或者针对所述选择的目标图像(例如用户选择的单帧图像,亦称为输入图像)中的所述目标对象构建得到的多维模型(例如三维模型),其中,用于构建所述多维模型(例如三维模型)所需的模型构建参数是与所述目标对象的对象掩膜(mask)所匹配的模型构建参数。
本申请中,电子设备可以为移动终端(例如,智能手机),增强现实(augmentedreality,AR)设备,虚拟现实(virtual reality,VR)设备、可穿戴设备,车载设备等。
其中,应用是电子设备中安装的具有图像显示功能的应用。该应用可以为电子设备中的相机应用,还可以为电子设备中的除相机之外的其他应用,本申请对此不做限定。
可选的,在一种可能的实现方式中,应用可以是电子设备中的相机应用。检测到用户用于打开相机应用的第一操作,响应于第一操作,在显示屏上显示第一界面(例如拍摄界面);检测到用户在第一界面上用于指示拍摄图像的第二操作,或者,检测到用户在第一界面上用于指示选择图像的第二操作;响应于第二操作,在第一界面或第二界面中显示目标对象的多维模型。也就是说,响应于第二操作,可以在第一界面中展示该目标对象的多维模型(例如camera视频预览(AR)的界面叠加有三维模型),或者,可选的设计方式下,在第二界面中展示该目标对象的多维模型。
可选的,在一种可能的实现方式中,应用可以为电子设备中除相机应用之外的其他应用(例如照片复活应用)。检测到用户用于打开照片复活应用的第一操作,响应于第一操作,在显示屏上显示第一界面;检测到用户在第一界面上用于指示拍摄图像的第二操作,或者,检测到用户在第一界面上用于指示选择图像的第二操作;响应于第二操作,在第一界面或第二界面中显示目标对象的多维模型。也就是说,响应于第二操作,可以在第一界面中展示该目标对象的多维模型,或者,可选的设计方式下,在第二界面中展示该目标对象的多维模型。这里的第二界面是不同于第一界面的界面。
本申请中,拍摄得到的目标图像或者选择的目标图像中包括需要构建多维模型(例如三维模型)的目标对象,该目标对象可以为人物、动物、植物或者雕塑等。
可选的,在一些可能的实现方式中,目标图像为彩色图像,例如:RGB图像、YUV图像、HSV(Hue,Saturation,Value)图像等。
可选的,在一种可能的实现方式中,目标图像还可以为单张具有深度信息的图像,例如:RGBD图像。
本申请中,电子设备针对目标对象构建得到多维模型(例如三维模型),并在第一界面或者第二界面中显示该多维模型。其中,用于构建所述多维模型所需的模型构建参数是与所述目标对象对应的对象掩膜所匹配的模型构建参数。模型构建参数是指构建模型所需要的一系列参数,包括但不限于语义参数和深度参数。由于模型构建参数是与目标对象的对象掩膜匹配的模型构建参数,因此,利用该模型构建参数生成的多维模型是与目标对象匹配的,提升了目标对象的建模效果。
可选的,在一种可能的实现方式中,响应于第二操作,在第一界面或第二界面内显示的多维模型可以为静态的多维模型。该多维模型可以在用户输入的第三操作的驱动下执行一些动作,例如转动方向、跳舞、做操等。
可选的,在一种可能的实现方式中,响应于第二操作,在第一界面或第二界面中显示的多维模型可以为动态的多维模型。
由上可见,本申请中,电子设备显示的是目标对象的多维模型,而不是平面的二维对象,提高了目标对象在电子设备的显示效果;这样用户观看到的是该目标对象的多维模型,与观看二维的目标对象相比,能够增强用户观看目标对象的真实感,提升用户体验。进一步的,由于用于构建所述多维模型所需的模型构建参数是与所述目标对象对应的对象掩膜所匹配的模型构建参数,使得利用该模型构建参数构建得到的多维模型与目标对象更加接近,进一步提高了目标对象的显示效果。
结合第一方面,在第一方面的一些实现方式中,所述构建过程包括:获取所述目标对象对应的对象掩膜(mask);获取与所述目标对象的属性所对应的基础模型(也可以称为基础模型),并根据所述基础模型得到用于构建所述目标对象的模型所需的模型构建参数;对所述模型构建参数进行变形(warp)处理,以得到与所述对象掩膜匹配的模型构建参数;根据与所述对象掩膜匹配的模型构建参数,构建(例如生成)所述多维模型(例如三维模型)。
其中,对象掩膜指示的是目标图像中由目标对象的身体轮廓围成的区域。基础模型是指已经事先构建好的多维模型(例如三维模型)。可选的,基础模型可以采用多边形网格模型,例如:三角形网格模型。
本申请中,根据基础模型得到用于构建目标对象的模型所需的模型构建参数;对模型构建参数进行变形处理,以得到与所述对象掩膜匹配的模型构建参数;根据与所述对象掩膜匹配的模型构建参数,构建所述多维模型。由此可见,本申请是通过对基础模型对应的模型构建参数进行变形处理以匹配目标对象的对象掩膜,从而利用匹配后的模型构建参数来构建目标对象的多维模型,能够降低构建模型所需的计算量,节省计算资源。
需要说明的是,目标图像的目标对象可以是人物、动物、雕塑等。不同对象的基础模型之间的差异可能会很大,例如:人物模型和动物模型之间有很大差异,男人模型和女人模型之间也会存在较大的差异,成人模型与儿童模型之间的差异也很明显等。因此,本申请在选择基础模型时是选择与目标对象的属性对应的基础模型。其中,目标对象的属性包括但不限于:年龄、性别、体型、姿态(例如站立、坐姿、跑步等)等。例如,若目标对象为男性,则选择男性对应的模型。若目标对象为儿童,则选择儿童对应的模型。若目标对象体型很胖,则选择胖人对应的模型。应理解,在选择基础模型时,可以考虑目标对象的一种或者多种属性。
可选的,在一种可能的实现方式中,模型构建参数可以包括:基础模型的第一面的深度图(depth map)、第一面的语义图、第二面的深度图(depth map)和第二面的语义图。其中,第一面和第二面是指基础模型的表面。例如,第一面可以为基础模型的正面,第二面可以为基础模型的背面。
应理解,当基础模型包括多个表面时,可以分别获取每个面的深度图和语义图。
可选的,一种可能的实现方式中,通过对基础模型的各个表面进行渲染(rendering),得到基础模型的各个表面的深度图和语义图。
其中,第一面深度图指示的是基础模型中的第一面中的各顶点对应的深度信息(即,第一面中的各顶点与摄像机之间的距离信息),第二面的深度图指示的是基础模型中的第二面中的各顶点对应的深度信息(即,第二面中的各顶点与摄像机之间的距离信息)。第一面的语义图指示的是基础模型中的第一面中的各顶点对应的语义信息(即,第一面中的各顶点在身体中的位置信息),第二面的语义图指示的是基础模型中的第二面中的各顶点对应的语义信息(即,第二面中的各顶点在身体中的位置信息)。
虽然在选择基础模型时,考虑了目标对象的属性,但是基础模型与目标对象之间可能还是会存在一些差异,例如:胖瘦差异,姿态差异、高矮差异等。因此,在得到基础模型的模型构建参数之后,不是直接利用该模型构建参数进行模型构建,而是通过对模型构建参数进行变形(warp)处理,使得变形后的模型构建参数与对象掩膜匹配。其中,变形处理可以包括但不限于:平移变换、仿射变换、旋转变换、扭曲变换等。这样使得根据变形后的模型构建参数生成的模型与目标对象更加接近。
由于只需要利用单张目标图像和基础模型即可生成目标对象的三维模型,与现有的模型重建技术相比,无须采集多视角的目标图像,也无须采集同场景的视频,只需要采集单张目标图像,将基础模型的模型构建参数调整至与目标对象的对象掩膜匹配,并根据匹配后的模型构建参数生成模型即可,一方面减少了模型重建的准备工作,另一方面还减少了模型重建的计算量,节省计算资源。进一步的,由于生成模型的模型构建参数是与目标对象的对象掩膜匹配的,使得生成的多维模型与目标对象的是匹配的,提高了建模效果。
结合第一方面,在第一方面的一些实现方式中,所述根据所述基础模型得到用于构建所述目标对象的模型所需的模型构建参数之前,还包括:根据所述对象掩膜,对所述基础模型进行调整,使得调整后的基础模型的体型与所述目标对象的体型(例如高矮、胖瘦等)趋于匹配(尽可能接近);或者,获取所述目标对象对应的关节点信息,根据所述对象掩膜和所述关节点信息,对所述基础模型进行调整,使得调整后的基础模型的体型和姿态(例如关节点的位置)与所述目标对象的体型和姿态趋于匹配;相应地,所述用于构建所述目标对象的模型所需的模型构建参数是根据调整后的基础模型得到的。
其中,调整的过程可以采用迭代优化的方式。以对象掩膜为依据,对基础模型的参数不断进行调整,使得调整后的基础模型的体型(例如胖瘦、高矮)与目标对象的体型尽可能接近。或者,以对象掩膜和关节点信息为依据,对基础模型的参数不断进行调整,使得调整后的基础模型姿态与目标对象的姿态尽可能接近(例如:调整后的基础模型中的关节点的位置与目标对象的关节点的位置更加接近,或者,调整后的基础模型的躯干与腿的长度比例与目标对象的躯干与腿的长度比例更加接近),并使得调整后的基础模型的体型(例如:胖瘦、高矮)与目标对象的体型尽可能接近。
以根据对象掩膜对基础模型进行调整的过程为例,该实现方式根据基础模型的体型与目标对象的体型的匹配度作为迭代终止条件。一个示例的迭代过程中,不断调整基础模型的参数,若调整参数后的基础模型的体型与目标对象的体型的匹配度小于匹配阈值,则继续调整基础模型的参数;若调整参数后的基础模型的体型与目标对象的体型的匹配度高于或者等于匹配阈值时,停止迭代过程。另一个示例的迭代过程中,不断调整基础模型的参数,直至调整后的基础模型的体型与目标对象的体型的匹配度不再增加时,停止迭代过程。
结合第一方面,在第一方面的一些实现方式中,所述根据所述基础模型得到用于构建所述目标对象的模型所需的模型构建参数之前,还包括:根据所述对象掩膜,对所述基础模型进行N次调整,使得第n次调整后的基础模型的体型与所述目标对象的体型的匹配度优于第m次调整后的基础模型的体型与所述目标对象的体型的匹配度;或者,获取所述目标对象对应的关节点信息,根据所述对象掩膜和所述关节点信息,对所述基础模型进行N次调整,使得第n次调整后的基础模型的体型和姿态与所述目标对象的体型和姿态的匹配度优于第m次调整后的基础模型的体型和姿态与所述目标对象的体型和姿态的匹配度;其中N表示预设调整次数(例如最大调整次数),N,n和m为正整数,n大于m,且n和m小于或等于N;相应地,所述用于构建所述目标对象的模型所需的模型构建参数是根据N次调整后的基础模型得到的。
该实现方式中,是以最大调整次数作为迭代终止条件。以最大调整次数为N为例,使得第n次调整后的基础模型的体型与所述目标对象的体型的匹配度优于第m次调整后的基础模型的体型与所述目标对象的体型的匹配度,或者,使得第n次调整后的基础模型的体型和姿态与所述目标对象的体型和姿态的匹配度优于第m次调整后的基础模型的体型和姿态与所述目标对象的体型和姿态的匹配度。应理解,迭代过程中,不能保证每次调整都能使得基础模型的体型和姿态与目标对象的体型和姿态的匹配度更优,而是从整体趋势上使得调整后的基础模型的体型和姿态与目标对象的体型和姿态更加接近。第n次调整位于第m次调整之后,并且,第n次调整可以不限于第m次调整的相邻的下一次调整。
由于在生成模型之前,先利用对象掩膜对基础模型进行了调整,使得调整后的基础模型体型和姿态与目标对象的体型和姿态尽可能接近,然后再对调整后的基础模型提取模型构建参数,并根据对象掩膜对模型构建参数进行变形处理,使得变形后的模型构建参数与对象掩膜高度匹配,从而提升了建模效果。
结合第一方面,在第一方面的一些实现方式中,所述获取与所述目标对象的属性所对应的基础模型,包括:根据所述目标图像,获取所述目标对象的属性,所述属性包括下述中的至少一种:性别、年龄、体型、姿态;从基础模型集合(也可以称为模板模型集合)中选择与所述目标对象的属性对应的基础模型(也可以称为模板模型);其中,所述基础模型集合中包括多个基础模型,各所述基础模型对应不同的属性。
其中,基础模型集合可以包括多个基础模型,每个基础模型对应有一个或者多个属性,例如:基础模型1对应的属性为男性、成人、胖;基础模型2对应的属性为女性、儿童;基础模型3对应的属性为老人、瘦;基础模型4对应的属性为猫;基础模型5对应的属性为狗,等。这样,可以首先对目标图像进行分析识别,确定出目标对象的属性,然后,根据目标对象的属性,从基础模型集合中选择出与其属性匹配度最高的基础模型。
由于本申请选择的基础模型是根据目标对象的属性选择的,使得根据基础模型进行建模处理得到的多维模型能够有效表达目标对象,提高建模的效果。
结合第一方面,在第一方面的一些实现方式中,所述基础模型包括多个身体部位,每个身体部位包括多个顶点,不同身体部位中的顶点对应的语义信息的范围不同,同一身体部位中的任意两个顶点对应的语义信息不同;或者,所述基础模型包括多个对象部位,每个对象部位包括多个顶点,不同对象部位中的顶点对应的语义信息的范围不同,同一对象部位中的任意两个顶点对应的语义信息不同。
其中,目标对象可以包括多个对象部位,每个对象部位是指目标对象的一个区域。应理解,不同的目标对象所对应的对象部位的划分方式可以不同。
以人体为例,目标对象分为多个身体部位,例如:头部、躯干、左胳膊、右胳膊、左腿、右腿、左手、右手等。本申请中的基础模型不同于现有的人体模型,现有的人体模型中,为每个身体部位赋予一个语义信息。例如:将头部对应的语义信息为1,即头部中的各顶点对应的语义信息均为1,躯干对应的语义信息为2,即躯干中的各顶点对应的语义信息均为2,以此类推。而本申请中,基础模型中的不同身体部位的顶点对应的语义信息的范围不同,同一身体部位中的任意两个顶点对应的语义信息不同,这样使得基础模型中的任意两个顶点对应的语义信息均不同。
本申请中,基础模型中的任意两个顶点对应的语义信息不同,使得基础模型中的每个顶点均可以精确对应到目标对象的不同位置,也就是说,基础模型能够对目标对象中的不同位置作区分,使得基础模型对目标对象的描述情况更加精准。进而,根据具有精准语义信息的基础模型进行后续的建模处理,能够提高建模效果。
结合第一方面,在第一方面的一些实现方式中,所述模型构建参数包括:所述基础模型的第一面的深度图(depth map)、第一面的语义图、第二面的深度图(depth map)和第二面的语义图。
在一种可能的实现方式中,可以通过对基础模型的第一面(例如正面)进行渲染(rendering),得到第一面的深度图和第一面的语义图,通过对基础模型的第二面(例如背面)进行渲染,得到第二面的深度图和第二面的语义图。
其中,第一面深度图指示的是基础模型中的第一面中的各顶点对应的深度信息(即,第一面中的各顶点与摄像机之间的距离信息),第二面的深度图指示的是基础模型中的第二面中的各顶点对应的深度信息(即,第二面中的各顶点与摄像机之间的距离信息)。第一面的语义图指示的是基础模型中的第一面中的各顶点对应的语义信息(即,第一面中的各顶点在身体中的位置信息),第二面的语义图指示的是基础模型中的第二面中的各顶点对应的语义信息(即,第二面中的各顶点在身体中的位置信息)。
结合第一方面,在第一方面的一些实现方式中,所述对所述模型构建参数进行变形处理,以得到与所述对象掩膜匹配的模型构建参数,包括:根据所述对象掩膜和所述第一面的语义图,对所述第一面的深度图进行变形处理,使得变形后的第一面的深度图与所述对象掩膜匹配;根据所述对象掩膜和所述第二面的语义图,对所述第二面的深度图进行变形处理,使得变形后的第二面的深度图与所述对象掩膜匹配。
以正面为例,由于正面深度图和正面语义图是通过对基础模型的正面进行渲染(rendering)得到的,因此,正面深度图中的各像素点和正面语义图中的各像素点是一一对应的。也就是说,正面深度图和正面语义图中的相同位置的像素点对应的是基础模型中的同一个顶点。因此,利用正面语义图,可以确定出正面深度图中的各个像素点与对象掩膜中的各个像素点之间的对应关系。进而,根据正面深度图中的各个像素点与对象掩膜中的各个像素点之间的对应关系,对正面深度图进行变形处理,使得变形后的正面深度图与对象掩膜匹配。
应理解,背面深度图的调整过程与上述的正面深度图的调整过程是类似的。
需要说明的是,对模型构建参数进行变形处理时,可以只对正面深度图和背面深度图进行变形处理,而不对正面语义图和背面语义图进行变形处理。能够理解,由于正面深度图中的各像素点和正面语义图中的各像素点是一一对应的,且,背面深度图中的各像素点和背面语义图中的各像素点是一一对应的,因此,当对正面深度图和背面图进行变形处理后,根据上述的对应关系,即可确定出变形处理后的正面深度图和背面深度图中的各像素点的语义信息。
结合第一方面,在第一方面的某些实现方式中,所述根据与所述对象掩膜匹配的模型构建参数,构建所述多维模型,包括:对与所述对象掩膜匹配的、经变形处理的第一面的深度图进行网格化处理,得到第一面的网格信息(mesh);对与所述对象掩膜匹配的、经变形处理的第二面的深度图进行网格化处理,得到第二面的网格信息(mesh);对所述第一面的网格信息和所述第二面的网格信息进行融合,得到所述目标对象的多维模型。
可选的,一种可能的实现方式中,网格化处理可以采用泊松(possion)重建技术。
可选的,一种可能的实现方式中,在得到第一面的网格信息和第二面的网格信息之后,还可以根据第一面的语义图对第一面的网格信息进行优化调整,并根据第二面的语义图对第二面的网格信息进行优化调整,这样,对优化调整后的第一面的网格信息和第二面的网格信息进行融合得到的模型与目标对象更加匹配,提高建模效果。
结合第一方面,在第一方面的某些实现方式中,所述目标对象对应的对象掩膜是通过如下方法获取的:对所述目标图像中的目标对象进行关节点提取,得到所述目标对象对应的关节点信息;根据所述目标对象的关节点信息对所述目标图像进行分割,得到所述目标对象对应的对象掩膜。
以目标对象为人物为例,提取的关节点信息包括但不限于:头、颈部、右肩、右肘、右手腕、左肩、左肘、左手腕、右髋关节、右膝、右脚腕、左髋关节、左膝、左脚腕、身体中心点等。根据提取的关节点信息,对图标图像中的目标对象进行分割,能够提高图像分割的准确率,使得分割得到目标对象的对象掩膜更加准确。
结合第一方面,在第一方面的某些实现方式中,所述构建所述多维模型之后,还包括:在所述目标图像中提取所述目标对象的纹理信息,将所述纹理信息与所述目标对象的模型进行融合,以使所述第一界面或者第二界面中显示的多维模型是经所述融合之后的多维模型。
可选的,纹理信息包括但不限于:皮肤信息、服饰信息等。也就是说,在目标图像中提取人物的皮肤、服饰等纹理信息,将这些纹理信息与生成的模型之间建立纹理映射关系,根据纹理映射关系,将目标对象的纹理信息与生成的多维模型进行融合,得到融合了纹理信息之后的多维模型,并在第一界面或第二界面中展示所述融合之后的多维模型,使得多维模型看起来更加真实,提升显示效果。
结合第一方面,在第一方面的某些实现方式中,所述方法还包括:检测到所述用户在所述第一界面或第二界面上的第三操作,所述第三操作用于指示所述模型的动态效果;响应于所述第三操作,在所述第一界面或第二界面上显示动态的多维模型,所述动态的多维模型是通过对所述融合之后的多维模型增加所述动态效果得到的。
可选的,在第一界面或第二界面中,还可以包括至少一个交互控件。每个交互控件可以对应一种动态效果。例如:交互控件可用于使多维模型向左转或者向右转,当然,还可以进行其他方向的转动。交互控件可用于为模型添加一些渲染效果,比如雨滴效果、空中飘落钞票效果等。或者,交互控件可用于为模型增加一些动画效果,例如:驱动该模型执行一些动作:比如跳舞、做操等。当电子设备检测到用户通过交互控件输入的第三操作后,为多维模型增加该交互控件对应的动态效果,得到动态的多维模型。进而,电子设备在第一界面或第二界面中显示该动态的多维模型,使得用户观看到具有动态效果的多维模型,进一步提升用户的观看体验。
第二方面,本申请提供一种图像显示设备,包括:检测单元和处理单元,其中,所述检测单元用于检测到用户用于打开应用(相机应用或者其他应用)的第一操作;所述处理单元用于响应于所述第一操作,在所述显示屏上显示第一界面;所述检测单元还用于检测到所述用户在所述第一界面上用于指示拍摄图像的第二操作,或者,检测到所述用户在所述第一界面上用于指示选择图像的第二操作;所述处理单元还用于响应于所述第二操作,在所述第一界面或者第二界面内显示目标对象的多维模型(例如三维模型),所述多维模型为针对所述摄像头采集到的目标图像(例如通过摄像头采集到的单帧图像,也可以称为输入图像)或者针对所述选择的目标图像(例如用户选择的单帧图像,也可以称为输入图像)中的目标对象构建得到的多维模型,其中,用于构建所述多维模型所需的模型构建参数是与所述目标对象对应的对象掩膜(mask)所匹配的模型构建参数。
本申请中,图像显示设备为电子设备,可以为移动终端(例如,智能手机),增强现实(augmented reality,AR)设备,虚拟现实(virtual reality,VR)设备、可穿戴设备,车载设备等。
其中,应用是电子设备中安装的具有图像显示功能的应用。该应用可以为电子设备中的相机应用,还可以为电子设备中的除相机之外的其他应用。
可选的,在一种可能的实现方式中,应用可以是电子设备中的相机应用。检测到用户用于打开相机应用的第一操作,响应于第一操作,在显示屏上显示第一界面(例如拍摄界面);检测到用户在第一界面上用于指示拍摄图像的第二操作,或者,检测到用户在第一界面上用于指示选择图像的第二操作;响应于第二操作,在第一界面或第二界面中显示目标对象的多维模型。也就是说,响应于第二操作,可以在第一界面中展示该目标对象的多维模型(例如camera视频预览(AR)的界面叠加有三维模型),或者,可选的设计方式下,在第二界面中展示该目标对象的多维模型。
可选的,在一种可能的实现方式中,应用可以为电子设备中除相机应用之外的其他应用(例如照片复活应用)。检测到用户用于打开照片复活应用的第一操作,响应于第一操作,在显示屏上显示第一界面;检测到用户在第一界面上用于指示拍摄图像的第二操作,或者,检测到用户在第一界面上用于指示选择图像的第二操作;响应于第二操作,在第一界面或第二界面中显示目标对象的多维模型。也就是说,响应于第二操作,可以在第一界面中展示该目标对象的多维模型,或者,可选的设计方式下,在第二界面中展示该目标对象的多维模型。这里的第二界面是不同于第一界面的界面。
本申请中,拍摄得到的目标图像或者选择的目标图像中包括需要构建多维模型(例如三维模型)的目标对象,该目标对象可以为人物、动物或者雕塑等。
可选的,在一些可能的实现方式中,目标图像为彩色图像,例如:RGB图像、YUV图像、HSV图像等。
可选的,在一种可能的实现方式中,目标图像还可以为单张具有深度信息的图像,例如:RGBD图像。
本申请中,电子设备对目标对象构建得到多维模型(例如三维模型),并在第一界面或者第二界面中显示该多维模型。其中,用于构建所述多维模型所需的模型构建参数是与所述目标对象对应的对象掩膜所匹配的模型构建参数。模型构建参数是指用于构建模型所需要的一系列参数,包括但不限于语义参数和深度参数。由于模型构建参数是与目标对象的对象掩膜匹配的模型构建参数,因此,利用该模型构建参数生成的多维模型是与目标对象匹配的,提升了目标对象的建模效果。
可选的,在一种可能的实现方式中,在第一界面或第二界面内显示目标对象的多维模型为静态的多维模型。该多维模型可以在用户输入的第三操作的驱动下执行一些动作,例如转动方向、跳舞、做操等。
可选的,在一种可能的实现方式中,响应于第二操作,在第一界面或第二界面中显示目标对象的多维模型为动态的多维模型。
本申请中,电子设备显示的是目标对象的多维模型,而不是平面的二维对象,提高了目标对象在电子设备的显示效果;这样用户观看到的是该目标对象的多维模型,与观看二维的目标对象相比,能够增强用户观看目标对象的真实感,提升用户体验。进一步的,由于用于构建所述多维模型所需的模型构建参数是与所述目标对象对应的对象掩膜所匹配的模型构建参数,使得利用该模型构建参数构建得到的多维模型与目标对象更加接近,进一步提高了目标对象的显示效果。
结合第二方面,在第二方面的一些实现方式中,所述处理单元具体用于:获取所述目标对象对应的对象掩膜(mask);获取与所述目标对象的属性所对应的基础模型(也可以称为基础模型),并根据所述基础模型得到用于构建所述目标对象的模型所需的模型构建参数;对所述模型构建参数进行变形(warp)处理,以得到与所述对象掩膜匹配的模型构建参数;根据与所述对象掩膜匹配的模型构建参数,构建(例如生成)所述多维模型(例如三维模型)。
其中,对象掩膜指示的是目标图像中由目标对象的身体轮廓围成的区域。基础模型是指已经事先构建好的多维模型(例如三维模型)。可选的,基础模型可以采用多边形网格模型,例如:三角形网格模型。
本申请中,根据基础模型得到用于构建目标对象的模型所需的模型构建参数;对模型构建参数进行变形处理,以得到与所述对象掩膜匹配的模型构建参数;根据与所述对象掩膜匹配的模型构建参数,构建所述多维模型。由此可见,本申请是通过对基础模型对应的模型构建参数进行变形处理以匹配目标对象的对象掩膜,从而利用匹配后的模型构建参数来构建目标对象的多维模型,能够降低构建模型所需的计算量,节省计算资源。
需要说明的是,目标图像的目标对象可以是人物、动物、雕塑等。不同对象的基础模型之间的差异可能会很大,例如:人物模型和动物模型之间有很大差异,男人模型和女人模型之间也会存在较大的差异,成人模型与儿童模型之间的差异也很明显等。因此,本申请在选择基础模型时是选择与目标对象的属性对应的基础模型。其中,目标对象的属性包括但不限于:年龄、性别、体型、姿态(例如站立、坐姿、跑步等)等。例如,若目标对象为男性,则选择男性对应的模型。若目标对象为儿童,则选择儿童对应的模型。若目标对象体型很胖,则选择胖人对应的模型。应理解,在选择基础模型时,可以考虑目标对象的一种或者多种属性。
可选的,在一种可能的实现方式中,模型构建参数可以包括:基础模型的第一面的深度图(depth map)、第一面的语义图、第二面的深度图(depth map)和第二面的语义图。其中,第一面和第二面是指基础模型的表面。例如,第一面可以为基础模型的正面,第二面可以为基础模型的背面。
应理解,当基础模型包括多个表面时,可以分别获取每个面的深度图和语义图。
可选的,一种可能的实现方式中,通过对基础模型的各个表面进行渲染(rendering),得到基础模型的各个表面的深度图和语义图。
其中,第一面深度图指示的是基础模型中的第一面中的各顶点对应的深度信息(即,第一面中的各顶点与摄像机之间的距离信息),第二面的深度图指示的是基础模型中的第二面中的各顶点对应的深度信息(即,第二面中的各顶点与摄像机之间的距离信息)。第一面的语义图指示的是基础模型中的第一面中的各顶点对应的语义信息(即,第一面中的各顶点在身体中的位置信息),第二面的语义图指示的是基础模型中的第二面中的各顶点对应的语义信息(即,第二面中的各顶点在身体中的位置信息)。
虽然在选择基础模型时,考虑了目标对象的属性,但是基础模型与目标对象之间可能还是会存在一些差异,例如:胖瘦差异,姿态差异、高矮差异等。因此,在得到基础模型的模型构建参数之后,不是直接利用该模型构建参数进行模型构建,而是通过对模型构建参数进行变形(warp)处理,使得变形后的模型构建参数与对象掩膜匹配。其中,变形处理可以包括但不限于:平移变换、仿射变换、旋转变换、扭曲变换等。这样使得根据变形后的模型构建参数生成的模型与目标对象更加接近。
由于只需要利用单张目标图像和基础模型即可生成目标对象的三维模型,与现有的模型重建技术相比,无须采集多视角的目标图像,也无须采集同场景的视频,只需要采集单张目标图像,将基础模型的模型构建参数调整至与目标对象的对象掩膜匹配,并根据匹配后的模型构建参数生成模型即可,一方面减少了模型重建的准备工作,另一方面还减少了模型重建的计算量,节省计算资源。进一步的,由于生成模型的模型构建参数是与目标对象的对象掩膜匹配的,使得生成的多维模型与目标对象的是匹配的,提高了建模效果。
结合第二方面,在第二方面的一些实现方式中,所述处理单元还用于:根据所述对象掩膜,对所述基础模型进行调整,使得调整后的基础模型的体型与所述目标对象的体型趋于匹配;或者,获取所述目标对象对应的关节点信息,根据所述对象掩膜和所述关节点信息,对所述基础模型进行调整,使得调整后的基础模型的体型和姿态与所述目标对象的体型和姿态趋于匹配;相应地,所述用于构建所述目标对象的模型所需的模型构建参数是根据调整后的基础模型得到的。
其中,调整的过程可以采用迭代优化的方式。以对象掩膜为依据,对基础模型的参数不断进行调整,使得调整后的基础模型的体型(例如胖瘦、高矮)与目标对象的体型尽可能接近。或者,以对象掩膜和关节点信息为依据,对基础模型的参数不断进行调整,使得调整后的基础模型姿态与目标对象的姿态尽可能接近(例如:调整后的基础模型中的关节点的位置与目标对象的关节点的位置更加接近,或者,调整后的基础模型的躯干与腿的长度比例与目标对象的躯干与腿的长度比例更加接近),并使得调整后的基础模型的体型(例如:胖瘦、高矮)与目标对象的体型尽可能接近。
以根据对象掩膜对基础模型进行调整的过程为例,该实现方式根据基础模型的体型与目标对象的体型的匹配度作为迭代终止条件。一个示例的迭代过程中,不断调整基础模型的参数,若调整参数后的基础模型的体型与目标对象的体型的匹配度小于匹配阈值,则继续调整基础模型的参数;若调整参数后的基础模型的体型与目标对象的体型的匹配度高于或者等于匹配阈值时,停止迭代过程。另一个示例的迭代过程中,不断调整基础模型的参数,直至调整后的基础模型的体型与目标对象的体型的匹配度不再增加时,停止迭代过程。
结合第二方面,在第二方面的一些实现方式中,所述处理单元还用于:根据所述对象掩膜,对所述基础模型进行N次调整,使得第n次调整后的基础模型的体型与所述目标对象的体型的匹配度优于第m次调整后的基础模型的体型与所述目标对象的体型的匹配度;或者,获取所述目标对象对应的关节点信息,根据所述对象掩膜和所述关节点信息,对所述基础模型进行N次调整,使得第n次调整后的基础模型的体型和姿态与所述目标对象的体型和姿态的匹配度优于第m次调整后的基础模型的体型和姿态与所述目标对象的体型和姿态的匹配度;其中N表示预设调整次数(例如最大调整次数),N,n和m为正整数,n大于m,且n和m小于或等于N;相应地,所述用于构建所述目标对象的模型所需的模型构建参数是根据N次调整后的基础模型得到的。
该实现方式中,是以最大调整次数作为迭代终止条件。以最大调整次数为N为例,使得第n次调整后的基础模型的体型与所述目标对象的体型的匹配度优于第m次调整后的基础模型的体型与所述目标对象的体型的匹配度,或者,使得第n次调整后的基础模型的体型和姿态与所述目标对象的体型和姿态的匹配度优于第m次调整后的基础模型的体型和姿态与所述目标对象的体型和姿态的匹配度。应理解,迭代过程中,不能保证每次调整都能使得基础模型的体型和姿态与目标对象的体型和姿态的匹配度更优,而是从整体趋势上使得调整后的基础模型的体型和姿态与目标对象的体型和姿态更加接近。第n次调整位于第m次调整之后,并且,第n次调整可以不限于第m次调整的相邻的下一次调整。
由于在生成模型之前,先利用对象掩膜对基础模型进行了调整,使得调整后的基础模型的体型和/或姿态与目标对象的体型和/或姿态尽可能接近,然后再对调整后的基础模型提取模型构建参数,并根据对象掩膜对模型构建参数进行变形处理,使得变形后的模型构建参数与对象掩膜高度匹配,从而提升了建模效果。
结合第二方面,在第二方面的一些实现方式中,所述处理单元具体用于:根据所述目标图像,获取所述目标对象的属性,所述属性包括下述中的至少一种:性别、年龄、体型、姿态;从基础模型集合(也可以称为模板模型集合)中选择与所述目标对象的属性对应的基础模型(也可以称为模板模型);其中,所述基础模型集合中包括多个基础模型,各所述基础模型对应不同的属性。
其中,基础模型集合可以包括多个基础模型,每个基础模型对应有一个或者多个属性,例如:基础模型1对应的属性为男性、成人、胖;基础模型2对应的属性为女性、儿童;基础模型3对应的属性为老人、瘦;基础模型4对应的属性为猫;基础模型5对应的属性为狗,等。这样,可以首先对目标图像进行分析识别,确定出目标对象的属性,然后,根据目标对象的属性,从基础模型集合中选择出与其属性匹配度最高的基础模型。
由于本申请选择的基础模型是根据目标对象的属性选择的,使得根据基础模型进行建模处理得到的多维模型能够有效表达目标对象,提高建模的效果。
结合第二方面,在第二方面的一些实现方式中,所述基础模型包括多个身体部位,每个身体部位包括多个顶点,不同身体部位中的顶点对应的语义信息的范围不同,同一身体部位中的任意两个顶点对应的语义信息不同;或者,所述基础模型包括多个对象部位,每个对象部位包括多个顶点,不同对象部位中的顶点对应的语义信息的范围不同,同一对象部位中的任意两个顶点对应的语义信息不同。
其中,目标对象可以包括多个对象部位,每个对象部位是指目标对象的一个区域。应理解,不同的目标对象所对应的对象部位的划分方式可以不同。
以人体为例,目标对象分为多个身体部位,例如:头部、躯干、左胳膊、右胳膊、左腿、右腿、左手、右手等。本申请中的基础模型不同于现有的人体模型,现有的人体模型中,为每个身体部位赋予一个语义信息。例如:将头部对应的语义信息为1,即头部中的各顶点对应的语义信息均为1,躯干对应的语义信息为2,即躯干中的各顶点对应的语义信息均为2,以此类推。而本申请中,基础模型中的不同身体部位的顶点对应的语义信息的范围不同,同一身体部位中的任意两个顶点对应的语义信息不同,这样使得基础模型中的任意两个顶点对应的语义信息均不同。
本申请中,基础模型中的任意两个顶点对应的语义信息不同,使得基础模型中的每个顶点均可以精确对应到目标对象的不同位置,也就是说,基础模型能够对目标对象中的不同位置作区分,使得基础模型对目标对象的描述情况更加精准。进而,根据具有精准语义信息的基础模型进行后续的建模处理,能够提高建模效果。
结合第二方面,在第二方面的一些实现方式中,所述模型构建参数包括:所述基础模型的第一面的深度图(depth map)、第一面的语义图、第二面的深度图(depth map)和第二面的语义图。
其中,第一面深度图指示的是基础模型中的第一面中的各顶点对应的深度信息(即,第一面中的各顶点与摄像机之间的距离信息),第二面的深度图指示的是基础模型中的第二面中的各顶点对应的深度信息(即,第二面中的各顶点与摄像机之间的距离信息)。第一面的语义图指示的是基础模型中的第一面中的各顶点对应的语义信息(即,第一面中的各顶点在身体中的位置信息),第二面的语义图指示的是基础模型中的第二面中的各顶点对应的语义信息(即,第二面中的各顶点在身体中的位置信息)。
结合第二方面,在第二方面的一些实现方式中,所述处理单元具体用于:根据所述对象掩膜和所述第一面的语义图,对所述第一面的深度图进行变形处理,使得变形后的第一面的深度图与所述对象掩膜匹配;根据所述对象掩膜和所述第二面的语义图,对所述第二面的深度图进行变形处理,使得变形后的第二面的深度图与所述对象掩膜匹配。
以正面为例,由于正面深度图和正面语义图是通过对基础模型的正面进行渲染(rendering)得到的,因此,正面深度图中的各像素点和正面语义图中的各像素点是一一对应的。也就是说,正面深度图和正面语义图中的相同位置的像素点对应的是基础模型中的同一个顶点。因此,利用正面语义图,可以确定出正面深度图中的各个像素点与对象掩膜中的各个像素点之间的对应关系。进而,根据正面深度图中的各个像素点与对象掩膜中的各个像素点之间的对应关系,对正面深度图进行变形处理,使得变形后的正面深度图与对象掩膜匹配。
应理解,背面深度图的调整过程与上述的正面深度图的调整过程是类似的。
需要说明的是,对模型构建参数进行变形处理时,可以只对正面深度图和背面深度图进行变形处理,而不对正面语义图和背面语义图进行变形处理。能够理解,由于正面深度图中的各像素点和正面语义图中的各像素点是一一对应的,且,背面深度图中的各像素点和背面语义图中的各像素点是一一对应的,因此,当对正面深度图和背面图进行变形处理后,根据上述的对应关系,即可确定出变形处理后的正面深度图和背面深度图中的各像素点的语义信息。
结合第二方面,在第二方面的一些实现方式中,所述处理单元具体用于:对与所述对象掩膜匹配的、经变形处理的第一面的深度图进行网格化处理,得到第一面的网格信息(mesh);对与所述对象掩膜匹配的、经变形处理的第二面的深度图进行网格化处理,得到第二面的网格信息(mesh);对所述第一面的网格信息和所述第二面的网格信息进行融合,得到所述目标对象的多维模型。
可选的,一种可能的实现方式中,网格化处理可以采用泊松(possion)重建技术。
可选的,一种可能的实现方式中,所述处理单元还用于:根据第一面的语义图对第一面的网格信息进行优化调整,并根据第二面的语义图对第二面的网格信息进行优化调整,这样,对优化调整后的第一面的网格信息和第二面的网格信息进行融合得到的模型与目标对象更加匹配,提高建模效果。
结合第二方面,在第二方面的一些实现方式中,所述处理单元具体用于:对所述目标图像中的目标对象进行关节点提取,得到所述目标对象对应的关节点信息;根据所述目标对象的关节点信息对所述目标图像进行分割,得到所述目标对象对应的对象掩膜。
以目标对象为人物为例,提取的关节点信息包括但不限于:头、颈部、右肩、右肘、右手腕、左肩、左肘、左手腕、右髋关节、右膝、右脚腕、左髋关节、左膝、左脚腕、身体中心点等。根据提取的关节点信息,对图标图像中的目标对象进行分割,能够提高图像分割的准确率,使得分割得到目标对象的对象掩膜更加准确。
结合第二方面,在第二方面的一些实现方式中,所述处理单元还用于:在所述目标图像中提取所述目标对象的纹理信息,将所述纹理信息与所述目标对象的模型进行融合,以使所述第一界面或者第二界面中显示的多维模型是经所述融合之后的多维模型。
可选的,纹理信息包括但不限于:皮肤信息、服饰信息等。也就是说,在目标图像中提取人物的皮肤、服饰等纹理信息,将这些纹理信息与生成的模型之间建立纹理映射关系,根据纹理映射关系,将目标对象的纹理信息与生成的多维模型进行融合,得到融合了纹理信息之后的多维模型,并在第一界面或第二界面中展示所述融合之后的多维模型,使得多维模型看起来更加真实,提升显示效果。
结合第二方面,在第二方面的一些实现方式中,所述检测单元还用于:检测到所述用户在所述第一界面或第二界面上的第三操作,所述第三操作用于指示所述模型的动态效果;所述处理单元还用于:响应于所述第三操作,在所述第一界面或第二界面上显示动态的多维模型,所述动态的多维模型是通过对所述融合之后的多维模型增加所述动态效果得到的。
可选的,在第一界面或第二界面中,还可以包括至少一个交互控件。每个交互控件可以对应一种动态效果。例如:交互控件可用于使多维模型向左转或者向右转,当然,还可以进行其他方向的转动。交互控件可用于为模型添加一些渲染效果,比如雨滴效果、空中飘落钞票效果等。或者,交互控件可用于为模型增加一些动画效果,例如:驱动该模型执行一些动作:比如跳舞、做操等。当电子设备检测到用户通过交互控件输入的第三操作后,为多维模型增加该交互控件对应的动态效果,得到动态的多维模型。进而,电子设备在第一界面或第二界面中显示该动态的多维模型,使得用户观看到具有动态效果的多维模型,进一步提升用户的观看体验。
第三方面,本申请提供一种图像显示设备,包括:显示屏、摄像头、一个或多个处理器、存储器、多个应用程序、以及一个或多个计算机程序。其中,一个或多个计算机程序被存储在存储器中,一个或多个计算机程序包括指令。当指令被设备执行时,使得设备执行上述第一方面或者第一方面的任一项可能的实现方式中的方法。
需要说明的是,在本申请中图像显示设备具有显示屏,显示屏可以是触摸屏、柔性屏、曲面屏或者其它形式的屏幕,电子设备的显示屏具有显示图像的功能,至于显示屏的具体材质以及形状本申请对此不作任何限定。
可选的,本申请的图像显示设备可以为终端设备,例如手机。
第四方面,本申请提供一种图像显示设备,包括存储介质和中央处理器,所述存储介质可以是非易失性存储介质,所述存储介质中存储有计算机可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述计算机可执行程序以实现所述第一方面或者第一方面的任一可能的实现方式中的方法。
第五方面,本申请提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行第一方面或第一方面的任一可能的实现方式中的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面或第一方面的任一可能的实现方式中的方法。
第六方面,本申请提供一种计算机可读存储介质,所述计算机可读介质存储用于设备执行的程序代码,所述程序代码包括用于执行第一方面或者第一方面的任一可能的实现方式中的方法的指令。
附图说明
图1是本申请实施例提供的系统架构的结构示意图;
图2为本申请实施例提供的一个三维模型的示意图;
图3为本申请实施例提供的图像显示方法的示意性流程图;
图4为本申请实施例提供的显示界面的示意图;
图5为本申请实施例提供的显示界面的示意图;
图6为本申请实施例提供的显示界面的示意图;
图7为本申请实施例提供的显示界面的示意图;
图8为本申请实施例提供的建模处理方法的示意性流程图;
图9为本申请实施例中目标图像和对象掩膜的示意图;
图10为本申请实施例中基础模型和模型构建参数的示意图;
图11为本申请实施例中得到的目标对象的模型的示意图;
图12为本申请实施例提供的建模处理方法的示意性流程图;
图13为本申请实施例提供的建模处理过程的示意图;
图14为本申请实施例中基础模型的语义信息的示意图;
图15为本申请实施例提供的2D图像转换为3D图像的方法的示意图;
图16为本申请实施例提供的3D视频传输方法的示意图;
图17为本申请实施例提供的图像显示的设备的结构示意图;
图18为本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面结合附图,对本申请中的技术方案进行描述。
本申请实施例提供的图像显示方法能够将二维图像中的对象转换为三维的或者更多维的模型,并对该模型进行显示,以达到将二维图像中的对象“复活”的目的,提高图像显示的真实性和趣味性。本申请实施例提供的图像显示方法能够应用在拍照、录像、视频通话、人机交互以及需要处理图像、显示图像、对图像进行底层或高层视觉处理的场景,例如:图像中的对象复活、视频通话中的人物复活等。下面以图像中的对象复活、视频通话中的人物复活为例进行简单的介绍。
图像中的对象复活:
在利用相机、终端设备或者其他智能电子设备进行拍摄时,拍摄得到的图像为二维图像。为了显示更加真实、有趣味的图像,在拍照后可以采用本申请实施例的图像显示方法来将二维图像中的对象(例如:人物、动物、雕塑等)进行复活显示,即,将图像中的对象转换为三维模型。进一步的,还可以驱动三维模型活动起来,使用户观看到动态的三维模型。通过采用本申请实施例的图像显示方法,能够提升图像显示的效果,增加真实性和趣味性。
视频通话中的人物复活:
在用户利用智能电子设备进行视频通话时,用户观看到的视频中的人物是二维的。通过采用本申请实施例中的图像显示方法将每个图像帧中的人物转换为三维模型,使得用户在视频通话过程中观看到该人物的三维模型,提升用户视频通话的真实感。
为了便于理解,下面先对本申请实施例可能涉及的相关术语和相关概念进行介绍。
(1)模型、网格、纹理
模型是用严格定义的语言或者数据结构对物体的描述。本申请实施例中的模型,可以是三维的模型,还可以是更多维的模型。以三维模型为例,三维模型是物体的多边形表示,通常用计算机或者其它视频设备进行显示。三维模型所表示的物体可以是现实世界的实体,也可以是虚构的物体。任何物理自然界存在的东西都可以用三维模型表示。三维模型可以用三维建模工具软件生成,也可以用三维建模算法生成。
三维模型本身是不可见的,可以根据简单的线框在不同细节层次渲染或者用不同方法进行明暗描绘(shaded)。但是,许多三维模型使用纹理进行覆盖,将纹理排列放到三维模型上的过程称作纹理映射。纹理就是一个图像,但是它可以让模型更加细致并且看起来更加真实。例如,如果一个人物的三维模型带有皮肤与服装的纹理,那么看起来就比简单的单色模型或者是线框模型更加真实。除了纹理之外,其它一些效果也可以用于三维模型以增加真实感。例如,可以调整曲面法线以实现它们的照亮效果,可以使用凸凹纹理映射方法以及其它一些立体渲染的技巧以增加模型的真实感。三维模型经常做成动画,例如,在故事片电影以及计算机与视频游戏中大量地应用三维模型。为了容易形成动画,通常在模型中加入一些额外的数据,例如,一些人类或者动物的三维模型中有完整的骨骼系统,这样运动时看起来会更加真实,并且可以通过关节与骨骼控制运动。
三维模型包括网格(mesh)和纹理(texture)。网格是由物体的众多点云组成的,通过点云形成三维模型网格。点云包括三维坐标(XYZ)、激光反射强度(intensity)和颜色信息,最终绘制成网格。这些网格通常由三角形、四边形或者其它的简单凸多边形组成,这样可以简化渲染过程。但是,网格也可以包括带有空洞的普通多边形组成的物体。纹理既包括通常意义上物体表面的纹理(即,使物体表面呈现凹凸不平的沟纹),同时也包括在物体的光滑表面上的彩色图案,也称纹理贴图。当把纹理按照特定的方式映射到模型表面上的时候能使模型看上去更真实。通过对物体进行拍摄所得到的图像进行加工,得到该物体对应的网格,在网格上进行纹理映射,最终形成三维模型。
(2)深度图(depth map)
获取场景中各点相对于摄像机的距离是计算机视觉系统的重要任务之一。场景中各点相对于摄像机的距离可以用深度图来表示,即,深度图中的每一个像素值表示场景中某一点与摄像机之间的距离。机器视觉系统获取场景深度图技术可分为被动测距传感和主动测距传感两类。被动测距传感:视觉系统接收来自场景发射或反射的光能量,形成有关场景光能量分布函数,即灰度图像,然后在这些图像的基础上恢复场景的深度信息。主动测距传感:视觉系统首先向场景发射能量,然后接收场景对发射能量进行反射的反射能量。主动测距传感系统也称为测距成像系统。主动测距传感相比较于被动测距传感最明显的特征是:设备本身需要发射能量来完成深度信息的采集。这也就使得深度图的获取独立于彩色图像的获取。主动测距传感的方法主要包括:飞行时间(time of flight,TOF)、结构光、激光扫描等。
(3)语义图
图像的语义分为视觉层、对象层和概念层。视觉层即通常所理解的底层,即颜色、纹理和形状等,这些特征都被称为底层特征语义。对象层即中间层,通常包含了属性特征等,就是某一对象在某一时刻的状态。概念层是高层,是图像表达出的最接近人类理解的东西。通俗点说,比如一张图上有沙子,蓝天,海水等,视觉层是一块块的区分,对象层是沙子、蓝天和海水,概念层就是海滩,这是这张图表现出的语义。
(4)掩膜(mask)
在半导体制造中,许多芯片的工艺步骤采用光刻技术,其中,用于进行这些步骤的图形“底片”称为掩膜(也称作“掩模”),其作用是:在硅片上选定的区域中对一个不透明的图形模板遮盖,继而下面的腐蚀或扩散将只影响选定的区域以外的区域。图像处理领域中,掩膜与其类似,用选定的图像、图形或物体,对处理的图像(全部或局部)进行遮挡,来控制图像处理的区域或处理过程。掩膜主要有如下四个作用。(1)提取感兴趣区:用预先制作的感兴趣区掩膜与待处理图像相乘,得到感兴趣区图像,感兴趣区内图像值保持不变,而区外图像值都为0。(2)屏蔽作用:用掩膜对图像上某些区域作屏蔽,使其不参加处理或不参加处理参数的计算,或仅对屏蔽区作处理或统计。(3)结构特征提取:用相似性变量或图像匹配方法检测和提取图像中与掩膜相似的结构特征。(4)特殊形状图像的制作。
(6)变形(warp)
变形(warp)也可以称为扭曲。变形的种类包括但不限于:缩放、平移、扭曲、旋转、拉伸、压缩等。
(7)渲染
渲染在电脑绘图中是指用软件从模型生成图像的过程。模型是用严格定义的语言或者数据结构对三维物体的描述,它包括几何、视点、纹理以及照明信息。将三维场景中的模型,按照设定好的环境、灯光、材质及渲染参数,投影成二维数字图像的过程,称为渲染。
(8)图像分割
图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。它是由图像处理到图像分析的关键步骤。现有的图像分割方法主要分以下几类:基于阈值的分割方法、基于区域的分割方法、基于边缘的分割方法以及基于特定理论的分割方法等。从数学角度来看,图像分割是将数字图像划分成互不相交的区域的过程。图像分割的过程也是一个标记过程,即把属于同一区域的像素赋予相同的编号。
如图1所示,本申请实施例提供了一种系统架构100。在图1中,数据采集设备160用于采集建模数据,本申请实施例中建模数据包括不同属性的对象(人物、动物、雕塑等)对应的数据,建模数据可以为图像数据、点云数据、参数数据等。
在采集到建模数据之后,数据采集设备160将这些建模数据存入数据库130,建模设备120基于数据库130中维护的建模数据进行模型构建,得到一个或者多个基础模型,这些基础模型组成了基础模型集合101。
上述基础模型集合101能够用于实现本申请实施例的图像显示方法,即,将待处理图像通过相关预处理,得到预处理后的数据。利用预处理后的数据和该基础模型集合101中的基础模型进行计算,得到本申请处理后的多维模型。
需要说明的是,在实际的应用中,所述数据库130中维护的建模数据不一定都来自于数据采集设备160的采集,也有可能是从其他设备接收得到的。另外需要说明的是,建模设备120也不一定完全基于数据库130维护的建模数据进行模型构建,也有可能从云端或其他地方获取建模数据进行模型构建,上述描述不应该作为对本申请实施例的限定。
根据建模设备120建模得到的基础模型集合101可以应用于不同的系统或设备中,如应用于图1所示的执行设备110,所述执行设备110可以是终端,如手机终端,平板电脑,笔记本电脑,增强现实(augmented reality,AR)AR/虚拟现实(virtual reality,VR),车载终端等,还可以是服务器或者云端等。在图1中,执行设备110配置输入/输出(input/output,I/O)接口112,用于与外部设备进行数据交互,用户可以通过客户设备140向I/O接口112输入数据,所述输入数据在本申请实施例中可以包括:客户设备输入的待处理图像。
预处理模块113和预处理模块114用于根据I/O接口112接收到的输入数据(如待处理图像)进行预处理,在本申请实施例中,也可以没有预处理模块113和预处理模块114(也可以只有其中的一个预处理模块),而直接采用计算模块111对输入数据进行处理。
在执行设备110对输入数据进行预处理,或者在执行设备110的计算模块111执行计算等相关的处理过程中,执行设备110可以调用数据存储系统150中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统150中。
最后,I/O接口112将处理结果,例如,上述得到的处理后的图像返回至客户设备140,从而提供给用户。
需要说明的是,建模设备120可以针对不同的目标或称不同的任务,基于不同的建模数据生成相应的基础模型集合101,该相应的基础模型集合101即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果,例如,在本申请中可以是向用户提供图像中的目标对象的模型。
应理解,在本申请的各实施例中,“第一”、“第二”、“第三”等仅是为了指代不同的对象,并不表示对指代的对象有其它限定。
下面以三维模型为例,对本申请实施例中的模型的结构、表示方式、以及可能相关的处理方法进行介绍。
三维模型是通过对物体进行多边形化得到的多边形网格,也称为多边形模型。在多边形网格模型中,三角网格模型以其简单性而吸引人,相对于一般多边形网格模型,许多操作对于三角网格模型更加容易。任意多边形网格都能转换为三角网格。下面以三角网格模型为例进行说明。
图2为本申请实施例提供的一个三维模型的示意图。如图2所示,以人体的三维模型为例,人体被划分为众多的三角形。三角网格模型包括如下信息:
顶点(vertex):每个三角形都有三个顶点,各顶点都可能和其他三角形共享。
边(edge):连接两个顶点的边,每个三角形有三条边。
面(face):每个三角形的三条边围成一个面,可以采用顶点列表或者边列表来表示面。
法线(normal):表示面的方向。法线朝外的是正面,法线朝内的是背面。顶点也有法线,均匀和打散顶点法线可以控制三角形的平滑外观。
三角网格模型的一种表示方式中,可以采用顶点索引表示方式。顶点索引表示方式中,需要维护两个列表:顶点列表(vertex buffer)和索引三角形列表(index buffer)。每个顶点包含一个3D位置,也可能有如纹理射影坐标、表面法向量、光照值等附加数据。每个索引三角形由三个顶点的索引组成。通常,每个三角形中,顶点列出的顺序是非常重要的,因为需要考虑正面和背面。从正面看时,采用顺时针方向列出三个顶点。实践中,三角网格类中包括一系列方法,用于存取和维护顶点、三角形列表。注意到,索引三角形列表中的邻接信息是隐含的。例如:虽然没有直观存储边信息,但可以通过搜索索引三角形列表找出公共边。这种方式能节省不少空间。
上述的顶点索引表示方式对于基本应用已经足够了,但为了更加高效地实现某些操作还可以进行一些改进。由于顶点索引表示方式中,邻接信息没有显式表达,所以必须从三角形列表中搜索。因此,作为一种改进,还可以还用边索引表示方式。即,可以维护一个边列表,每个边由两个端点定义,同时维护一个共享该边的三角形列表。这样,三角形可视为三条边而非三个点的列表。也就是说,边索引表示方式是采用边的索引。该思想的一个扩展称作"winged edge"模型,对每一顶点,存储使用该点的边的索引。
然而,大多数图形卡并不直接支持顶点索引表示方式。渲染三角形时,一般是将三个顶点同时提交。这样,共享顶点会多次提交,三角形用到一次就提交一次。因为内存和图形硬件间的数据传输是瓶颈,所以许多API和硬件支持特殊的三角网格式以减少传输量。基本思想是排序点和面,使得现存中已有的三角形不需要再次传输。主要包括如下几种:顶点缓存,三角带,三角扇等,本申请对此不作详细介绍。
三角网格模型中,还可以在三角形或者顶点中保存额外信息。例如:纹理映射坐标、表面法向量、光照值等。其中,(1)纹理映射是将位图(称作“纹理图”或简称“纹理”)贴到多边形表面的过程。这里只给出一个高度简化的解释:希望将2D纹理贴到多边形表面上,同时考虑多边形在摄像机空间的方向。对多边形中每个需要渲染的像素都要计算2D纹理映射坐标,这些坐标用以索引纹理图,从而为相应像素着色。通常,在顶点保存纹理映射坐标,三角形面中其余各点的坐标通过插值进行计算。(2)许多应用程序中,网格上的各点都需要一个表面法向量。它可以用来:计算光照、进行背面剔除、模拟粒子在表面弹跳的效果、通过只考虑正面而加速碰撞检测等。表面法向量可能保存于三角形级或顶点级,或两者皆有。(3)另一种由顶点维护的信息是光照值,光照值用于沿表面的插值,典型的方法是Gouraud着色。有些时候,顶点处仅保存法向量,渲染时动态计算光照值。
三角网格是顶点和三角形的列表。三角网格的一系列基本操作都是逐顶点和逐三角形地应用基本操作的结果。最明显的,渲染和转换都属于这种操作。示例性的,需要渲染三角网格时,我们需要逐个三角形进行渲染。需要向三角网格应用转换(例如旋转、缩放等)时,需要逐个顶点进行转换。实际应用中,可以结合下述几种优化方法来提高效率:(1)焊接顶点,(2)面拆分,(3)边坍塌,(4)网络消减,等等。
目前,终端设备能够显示二维图像以及由二维图像帧组成的视频。随着增强现实(augmented reality,AR)、虚拟现实技术(virtual reality,VR)技术的发展,用户希望终端设备能够对三维场景进行显示。其中,对二维图像中的目标对象进行重建得到目标对象的三维模型是其中的关键步骤。常见的三维重建技术主要包括:基于多视角的三维重建和基于视频的三维重建。以人体三维模型为例,基于多视角的三维重建中,由多个摄像机从多个视角同步采集人体图像,然后基于采集的多视角人体图像得到人体三维模型。基于视频的三维重建中,由单一摄像机录制一段人体视频,通过对视频帧之间的关系进行计算得到人体三维模型。然而,上述的基于多视角的三维重建和基于视频的三维建模,均需要采集多张人体图像,使得操作不方便,并且还需要对多张人体图像进行大量计算,使得耗费较多的计算资源。
下面结合附图3对本申请实施例的图像显示方法进行详细的介绍。该方法由图像显示设备执行,图像显示设备可以是具有图像显示功能的电子设备,该电子设备可以包括显示屏和摄像头。该电子设备具体可以是移动终端(例如,智能手机),增强现实(augmentedreality,AR)设备,虚拟现实(virtual reality,VR)设备,电脑,个人数字助理,可穿戴设备,车载设备,物联网设备或者其他能够进行图像显示的设备。
图3所示的方法包括步骤310至340,下面分别对这些步骤进行详细的描述。
步骤310:检测到用户用于打开应用的第一操作。
步骤320:响应于所述第一操作,在所述显示屏上显示第一界面。
步骤330:检测到所述用户在所述第一界面上用于指示拍摄图像的第二操作,或者,检测到所述用户在所述第一界面上用于指示选择图像的第二操作。
步骤340:响应于所述第二操作,在所述第一界面或者第二界面内显示目标对象的多维模型,所述多维模型为针对所述摄像头采集到的目标图像或者针对所述选择的目标图像中的目标对象构建得到的多维模型,其中,用于构建所述多维模型所需的模型构建参数是与所述目标对象对应的对象掩膜所匹配的模型构建参数。
本实施例中,用户在电子设备上输入用于打开应用(application,APP)的第一操作,响应于所述第一操作,在显示屏上显示第一界面。其中,应用是电子设备中安装的具有图像显示功能的应用。该应用可以为电子设备中的相机应用,还可以为电子设备中的除相机之外的其他应用。例如,电子设备检测到用户点击桌面上的应用图标后,可以启动应用,显示第一界面。
以所述应用为电子设备中的相机应用为例。图4中的(a)示出了电子设备的一种图形用户界面(graphical user interface,GUI),该GUI为电子设备的桌面410。当电子设备检测到用户点击桌面410上的相机应用的图标411的操作后,可以启动相机应用,显示如图4中的(b)所示的另一GUI,该GUI可以称为第一界面420。该第一界面420上可以包括取景框421。在预览状态下,该取景框421内可以实时显示预览图像。
示例性的,参见图4中的(b),电子设备在启动相机后,取景框421内可以显示有预览图像,该预览图像为彩色图像。第一界面420上还可以包括用于指示拍摄图像的拍摄控件422,以及其它控件。需要注意的是,在本申请实施例中,为了区别于灰度图像部分,彩色图像部分通过斜线填充来表示。
进而,电子设备检测到用户在第一界面上指示拍摄图像的第二操作。例如,参见图4中的(b),在电子设备检测到用户点击拍摄控件422后,将拍摄得到的图像(例如单帧图像)作为所述目标图像(或者,将拍摄得到的图像中的人或物作为拍摄图像中的目标对象)。
以所述应用为电子设备中除相机之外的其他应用为例。图5中的(a)示出了电子设备的桌面410。当电子设备检测到用户点击桌面410上的应用(例如:照片复活应用)的图标412的操作后,可以启动该应用,显示如图5中的(b)所示的另一GUI,该GUI可以称为第一界面430。该第一界面430上可以包括拍摄控件440和选择控件450。其中,每个选择控件450可以对应一个可选图像,可选图像是存储在电子设备的内置存储器或者外置存储器中的图像。
需要说明的是,在一些电子设备上,第一界面430中可以不包括选择控件450。在另一些电子设备上,第一界面430中可以不包括拍摄控件440。
一个示例中,可以是检测到用户在第一界面430上指示拍摄图像的第二操作。例如,参见图5中的(b),第一界面430上包括拍摄控件440。在电子设备检测到用户点击拍摄控件440后,参见图5中的(c),电子设备显示拍摄界面460。拍摄界面460中包括用于指示拍摄图像的拍摄控件470。在电子设备检测到用户在拍摄界面460点击拍摄控件470后,将拍摄得到的图像作为所述目标图像(或者,将拍摄得到的图像中的人或物作为所述拍摄图像中的目标对象)。
一个示例中,可以是检测到用户在第一界面430上指示选择图像的第二操作。例如,参见图6,第一界面上包括至少一个选择控件450,每个选择控件对应一个可选图像。电子设备在检测到用户点击其中一个选择控件450后,电子设备将该选择控件450对应的可选图像作为所述目标图像(或者,电子设备将该选择控件450对应的可选图像中的人或物作为所述选择的图像中的目标对象)。
应理解,用户的第一操作和/或第二操作可以包括用户按下或触摸电子设备中的相关控件,也可以包括用户向电子设备输入语音指令,或者,还可以包括其他的用户指示电子设备的行为。上述为举例说明,并不对本申请作任何限定。
本申请中,检测到用户打开应用的第一操作,显示第一界面,并检测到用户在第一界面中的第二操作,响应于第二操作,获取拍摄的单帧图像或者选择的单帧图像。本申请中,将拍摄的单帧图像或者选择的单帧图像称为目标图像。目标图像中包括需要构建多维模型的对象,将需要构建多维模型的对象称为目标对象。目标对象可以是人物、动物、雕塑等。图4至图6中示例的目标图像为人物图像,相应地,目标对象为人物。
可以理解的,目标图像中的目标对象是完整的。例如:在目标图像中显示了目标对象的完整身体或者较为完整的身体,目标对象不被其他对象遮挡,目标对象的面部朝向镜头方向,目标对象的身体各区域具有清晰的分界等。目标图像中可以包括一个目标对象,也可以包括多个目标对象,本实施例对此不作限定。
其中,目标图像为彩色图像。例如,目标图像可以为采用不同颜色编码格式的图像,例如:RGB图像、YUV图像、HSV图像等。其中,RGB图像为采用RGB色彩模式的图像。RGB色彩模式是工业界的一种颜色标准,是通过对红(red,R)、绿(gree,G)、蓝(blue,B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。YUV图像采用的是亮度和色度来指定像素的颜色,其中,Y表示明亮度,UV表示的是色度。HSV图像中采用的颜色参数分别为:色调(H)、饱和度(S)、明度(V)。
可选的,本申请实施例中的目标图像可以为单张的二维图像,例如上述的RGB图像、YUV图像、HSV图像等。
可选的,本申请实施例中的目标图像还可以是单张具有深度信息的图像,例如,RGBD图像。RGBD图像是在RGB图像的基础上增加了一个深度图(depth map),深度图指示的是视点到场景对象的表面的距离信息。深度图类似于灰度图像,只是它的每个像素值是传感器距离物体的实际距离。通常RGB图像和深度图是配准的,因而像素点之间具有一对一的对应关系。
本申请中,电子设备响应于所述第二操作,获取到目标图像后,对目标图像中的目标对象进行建模处理,生成目标对象的模型。该模型可以为三维的模型,还可以为更多维的模型,本实施例对此不作具体限定。后续举例中,以三维模型为例进行举例说明,后续涉及到模型时,若无特殊说明,均可以理解为三维模型。当目标图像中包括多个目标对象时,可以分别对每个目标对象进行建模处理,生成每个目标对象的三维模型。当然,也可以只对其中一个目标对象进行建模处理,生成该目标对象的三维模型。
本申请中,电子设备对目标对象构建得到多维模型(例如三维模型),并在第一界面或者第二界面中显示该多维模型。其中,用于构建所述多维模型所需的模型构建参数是与所述目标对象对应的对象掩膜所匹配的模型构建参数。模型构建参数是指用于构建模型所需要的一系列参数,包括但不限于语义参数和深度参数。由于模型构建参数是与目标对象的对象掩膜匹配的模型构建参数,因此,利用该模型构建参数生成的多维模型是与目标对象匹配的,提升了目标对象的建模效果。
一个示例中,本实施例生成的三维模型可以在电子设备的第二界面进行显示。另一个示例中,电子设备检测到用户打开应用的第一操作,显示第一界面。电子设备检测到用户在第一界面中拍摄图像或者选择图像的第二操作,响应于第二操作,电子设备将拍摄的图像作为目标图像,或者将选择的图像作为目标图像,对目标图像中的目标对象进行本实施例中的建模处理,生成目标对象的三维模型。以及,电子设备显示第二界面,并在第二界面中显示该目标对象的三维模型。
例如,用户在图4的第一界面420中进行拍照操作,或者在图5的(c)中的拍摄界面460中进行拍照操作,或者在图6的第一界面430选择图像之后,电子设备显示如图7所示的第二界面。如图7中的(a)所示,在第二界面470中显示目标对象的三维模型。用户通过第二界面,观看到的是该目标对象的三维模型,与通过原始目标图像观看到的二维目标对象相比,能够增强用户观看目标对象的真实感。
另一个示例中,电子设备还可以在第一界面中显示该目标对象的三维模型。例如:在第一界面的不同时刻显示原始的目标对象和目标对象的三维模型,例如目标对象的三维模型叠加在第一界面上,本实施例对此不作限定。
可选的,本实施例中在第一界面或第二界面中显示目标对象的三维模型时,可以是将目标对象的三维模型嵌入到三维场景中并显示到第一界面或第二界面中。其中,三维场景可以是预设的三维场景,还可以与原始目标图像中的背景对应的三维场景。
本申请中,在第一界面或者第二界面中显示的目标对象的三维模型可以为静态的三维模型,还可以为动态的三维模型。
当第一界面或者第二界面显示的模型为静态的三维模型时,电子设备还可以检测到用户在第一界面或者第二界面上的第三操作,所述第三操作用于指示所述三维模型的动态效果,响应于所述第三操作,电子设备在第一界面或第二界面上显示动态的三维模型,所述动态的三维模型是通过对所述静态的三维模型增加所述动态效果得到的。
一个示例中,如图7所示,在第二界面470中,还可以包括至少一个交互控件480。每个交互控件可以对应一种动态效果。示例性的,交互控件可用于使模型向左转或者向右转,当然,还可以进行其他方向的转动。图7中的(b)和(c)示例了两种可能的转动效果。一些示例中,交互控件还可以为三维模型添加一些动态效果,例如:雨滴效果,空中飘落钞票效果等。或者,还可以增加一些动画效果,例如:驱动该三维模型执行一些动作,例如跳舞。当电子设备检测到用户操作交互控件的第三操作后,为静态的三维模型增加该交互控件对应的动态效果,得到动态的模型。进而,电子设备在第一界面或第二界面中显示该动态的三维模型,使得用户观看到具有动态效果的三维模型,提高用户的观看体验。
作为一个示例,本申请的建模处理过程为:根据从目标图像中提取的目标对象对应的对象掩膜,对基础模型对应的模型构建参数进行调整,进而利用调整后的模型构建参数,生成目标对象的三维模型。下面结合附图8,包括步骤501至步骤506,对具体的建模过程进行描述。
步骤501:获取目标图像(亦可称为输入图像)。
例如,电子设备响应于所述第二操作,将拍摄到的图像作为目标图像(即实时获取的方式),或者,将用户选择的图像作为目标图像(即从已有的图像中获取),本申请对获取目标图像的方式不做限定。
步骤502:获取目标图像中的目标对象对应的对象掩膜。
需要说明的是,目标图像中的人或物(例如雕塑)可以理解为目标图像中的目标对象。
针对目标图像中的目标对象提取对象掩膜,得到目标对象对应的对象掩膜。对象掩膜指示的是由目标对象的身体轮廓围成的区域。例如:在目标图像中,将属于目标对象的身体的像素点用1表示,将其他像素点(例如背景、其他对象等)用0表示,得到该目标对象的对象掩膜。
如图9所示,图9中的(a)示例的目标图像为人物图像,对该目标图像中的人物(即目标对象的示例)进行掩膜提取,得到的对象掩膜如图9中的(b)所示。图9中的(c)示例的目标图像中包括雕塑,对该目标图像中的雕塑(即目标对象的示例)进行掩膜提取,得到的对象掩膜如图9中的(d)所示。根据图9可知,对象掩膜反映的是目标对象的身体轮廓、体型等特征。应当理解的是,这里的目标对象也不限于人物,雕塑,例如也可以是动物或者植物等。
需要说明的是,对于目标图像的分割可以采用现有的图像分割技术,例如:基于阈值的分割方法、基于边缘的分割方法、基于区域的分割方法、基于图论的分割方法等。本实施例对此不作详述。
步骤503:获取与所述目标对象的属性所对应的基础模型。
应当理解的是,这里的基础模型亦可称为模板模型。顾名思义,基础模型(或模板模型)是指已经事先建立好的模型。示例性的,基础模型可以采用多边形网格模型,例如:三角形网格模型。
可理解的,不同对象的模型之间的差异可能会很大,例如:人物模型和动物模型之间有很大差异,男人模型和女人模型之间也会存在较大的差异,成人模型与儿童模型之间的差异也很明显等等。因此,本实施例中,在选择基础模型时是选择与目标对象的属性对应的基础模型。其中,当目标对象为人物、动物、雕塑时,目标对象的属性包括但不限于:年龄、性别、体型、姿态等。当目标对象为物体时,目标对象的属性包括但不限于:类型、尺寸等。当目标对象为植物时,目标对象的属性包括但不限于:科目、高度等。以目标对象为人物为例,若目标对象为男性,则选择男性对应的模型。若目标对象为儿童,则选择儿童对应的模型。若目标对象体型很胖,则选择胖人对应的模型。应理解,在选择基础模型时,可以考虑目标对象的一种或者多种属性。当目标对象为动物时,目标对象的属性包括但不限于:动物类别、体型、姿态、年龄
一个示例性中,可以根据目标对象的属性,从基础模型集合中选择与目标对象的属性对应的基础模型(亦称为模板模型)。应当理解的是,这里的基础模型集合亦可称为模板模型集合。例如:基础模型集合中可以包括多个基础模型,每个基础模型对应有一个或者多个属性,例如:基础模型1对应的属性为男性、成人、胖;基础模型2对应的属性为女性、儿童;基础模型3对应的属性为老人、瘦;基础模型4对应的属性为猫;基础模型5对应的属性为狗,等。这样,可以首先对目标图像进行分析识别,确定出目标对象的属性,然后,根据目标对象的属性,从基础模型集合中选择出与其属性匹配度最高的基础模型。其中,一种示例下,上述的基础模型集合可以为图1中的基础模型集合101。
应理解,对图标图像进行分析识别确定目标对象的属性,可以采用现有的图像分析技术,本实施例对此不作限定。
步骤504:根据所述基础模型得到用于构建所述目标对象的模型所需的模型构建参数。
其中,模型构建参数是指构建模型所需要的一系列参数。以三维的模型为例,生成三维的模型时,需要确定模型中的各个顶点的深度信息和语义信息。因此,模型构建参数可以为指示深度信息和语义信息的参数。
一个示例中,模型构建参数可以包括:基础模型的第一面的深度图、第一面的语义图、第二面的深度图和第二面的语义图。其中,第一面和第二面是指基础模型的表面。例如,第一面可以为基础模型的正面,第二面可以为基础模型的背面。
其中,第一面深度图指示的是基础模型中的第一面中的各顶点对应的深度信息(即,第一面中的各顶点与摄像机之间的距离信息),第二面的深度图指示的是基础模型中的第二面中的各顶点对应的深度信息(即,第二面中的各顶点与摄像机之间的距离信息)。第一面的语义图指示的是基础模型中的第一面中的各顶点对应的语义信息(即,第一面中的各顶点在身体中的位置信息),第二面的语义图指示的是基础模型中的第二面中的各顶点对应的语义信息(即,第二面中的各顶点在身体中的位置信息)。
应理解,当基础模型包括多个表面时,可以分别获取每个面的深度图和语义图。为了描述方便,后续均将正面作为第一面,背面作为第二面。
本实施例中,可以通过对基础模型的各个表面进行渲染(rendering),得到基础模型的各个表面的深度图和语义图。以图9中(a)所示的目标图像为例,由于图9中(a)的目标对象为男性人物,因此,选择的基础模型是男性对应的模型。例如:选择的基础模型如图10中的(a)所示。对该基础模型的如正面进行渲染,得到如图10中的(b)所示的正面深度图和正面语义图。对该基础模型的背面进行渲染,得到如如图10中的(c)所示的背面深度图和背面语义图。
步骤505:对所述模型构建参数进行变形处理,以得到与所述对象掩膜匹配的模型构建参数。
可以理解的,虽然本实施例中在选择基础模型时,考虑了目标对象的属性,但是基础模型与目标对象之间可能还是会存在一些差异,例如:胖瘦差异,姿态差异、高矮差异等。因此,本实施例中,在根据基础模型得到模型构建参数之后,不同于直接利用该模型构建参数进行模型构建,而是利用步骤505对模型构建参数进行调整,使得根据调整后的模型构建参数生成的三维模型与目标对象更加接近,从而提升了电子设备的用户界面(例如第一界面或第二界面)上显示的三维模型的显示效果。
本实施例中,通过对模型构建参数进行变形处理,使得变形后的模型构建参数与对象掩膜匹配。其中,变形处理可以包括但不限于:平移变换、仿射变换、旋转变换、扭曲变换等。
其中,变形处理过程可以包括:根据对象掩膜和正面语义图,对正面深度图进行变形处理,使得变形后的正面深度图与所述对象掩膜匹配;根据对象掩膜和背面语义图,对背面深度图进行变形处理,使得变形后的背面深度图与所述对象掩膜匹配。
以正面为例,由于正面深度图和正面语义图是通过对基础模型的正面进行渲染得到的,因此,正面深度图中的各像素点和正面语义图中的各像素点是一一对应的。也就是说,正面深度图和正面语义图中的相同位置的像素点对应的是基础模型中的同一个顶点。因此,利用正面语义图,可以确定出正面深度图中的各个像素点与对象掩膜中的各个像素点之间的对应关系。进而,根据正面深度图中的各个像素点与对象掩膜中的各个像素点之间的对应关系,对正面深度图进行变形处理,使得变形后的正面深度图与对象掩膜匹配。
应理解,背面深度图的调整过程与上述的正面深度图的调整过程是类似的,此处不再赘述。
步骤506:根据与所述对象掩膜匹配的模型构建参数,生成所述目标对象的三维模型。
经过上述的变形处理之后,得到了与对象掩膜匹配的第一面的深度图和第二面的深度图。通过对匹配后的第一面的深度图进行网格化处理,得到第一面的网格信息;对匹配后的第二面的深度图进行网格化处理,得到第二面的网格信息;对第一面的网格信息和第二面的网格信息进行融合处理,得到目标对象的三维模型。
其中,本实施例中的网格化处理可以采用现有的网格化处理技术,例如:泊松(Possion)重建技术。本实施例对此不作赘述。
一种可能的实施方式中,在得到第一面的网格信息和第二面的网格信息之后,还可以根据第一面的语义图对第一面的网格信息进行优化调整,并根据第二面的语义图对第二面的网格信息进行优化调整,这样,对优化调整后的第一面的网格信息和第二面的网格信息进行融合得到的三维模型与目标对象更加匹配,提高建模效果。
针对图9中的(a)所示的目标图像,经过本实施例中的建模处理之后,得到的模型如图11中的(a)所示。针对图9中的(c)所示的目标图像,经过本实施例的建模处理之后,得到的三维模型如图11中的(b)所示。
本申请实施例中,获取目标图像以及目标图像中的目标对象对应的对象掩膜,获取与目标对象的属性所对应的基础模型,并根据所述基础模型得到用于构建所述目标对象的模型所需的模型构建参数;对所述模型构建参数进行变形处理,以得到与所述对象掩膜匹配的模型构建参数;根据与所述对象掩膜匹配的模型构建参数,生成目标对象的三维模型。由此可见,本实施例中只需要利用单张目标图像和基础模型即可生成目标对象的三维模型,与现有的模型重建技术相比,无须采集多视角的目标图像,也无须采集同场景的视频,只需要采集单张目标图像,将基础模型的模型构建参数调整至与从单张目标图像提取的对象掩膜匹配,并根据匹配后的模型构建参数生成三维模型即可,一方面减少了模型重建的准备工作,另一方面还减少了模型重建的计算量,节省计算资源。进一步的,由于生成三维模型的模型构建参数是与目标对象的对象掩膜匹配的,使得生成的三维模型与目标对象的是匹配的,提高了建模效果。
下面结合图12和图13对本申请实施例中另一种建模处理过程进行介绍。如图12所示,建模处理过程可以包括:步骤601至步骤608。
步骤601:获取目标图像。
例如,电子设备响应于所述第二操作,将拍摄到的图像作为目标图像,或者,将用户选择的图像作为目标图像。本实施例中,以图13中的(a)所示的图像作为目标图像,该目标图像中的目标对象为人物。
步骤602:提取目标图像中的目标对象的关节点信息。
利用关节点提取技术,对目标图像中的目标对象进行关节点提取,得到目标对象对应的关节点信息。其中,关节点包括但不限于:头、颈部、右肩、右肘、右手腕、左肩、左肘、左手腕、右髋关节、右膝、右脚腕、左髋关节、左膝、左脚腕、身体中心点等。
一个示例性中,对图13中的(a)所示的目标图像进行关节点提取,得到如图13中的(b)所示的关节点信息。由如图13中的(b)可知,根据提取到的关节点信息,可以将目标对象分为多个身体部分,例如:头部、躯干、左胳膊、右胳膊、左腿、右腿、左手、右手等。
步骤603:获取目标图像中的目标对象对应的对象掩膜。
一种可能的实现方式中,与图5所示实施例类似,可以采用现有的图像分割技术对目标图像进行分割,得到对象掩膜。
另一种可能的实现方式中,还可以根据步骤602中提取的关节点信息,对图标图像中的目标对象进行分割,以提高图像分割的准确率,使得分割得到目标对象的对象掩膜更加准确。例如:利用图13中的(b)中的关节点信息,对图13中(a)中的目标图像进行分割,得到的目标对象的对象掩膜如图13中的(c)所示。
步骤604:获取与所述目标对象的属性所对应的基础模型。
应理解,本实施例中选择基础模型的过程与图5所示实施例中的步骤503类似,此处不再赘述。针对图13中(a)所示的目标图像,选择出的基础模型如图13中的(d)所示。图13中的(d)中分别示出了基础模型的正面和背面。
可选的,所述基础模型包括多个身体部位,每个身体部位包括多个顶点,不同身体部位中的顶点对应的语义信息的范围不同,同一身体部位中的任意两个顶点对应的语义信息不同;或者,
所述基础模型包括多个对象部位,每个对象部位包括多个顶点,不同对象部位中的顶点对应的语义信息的范围不同,同一对象部位中的任意两个顶点对应的语义信息不同。
其中,目标对象可以包括多个对象部位,每个对象部位是指目标对象的一个区域。应理解,不同的目标对象所对应的对象部位的划分方式可以不同。
以人体为例,目标对象分为多个身体部位,例如:头部、躯干、左胳膊、右胳膊、左腿、右腿、左手、右手等。本实施例中的基础模型不同于现有的人体模型,现有的人体模型中,通常为每个身体部位赋予一个语义信息。例如:将头部对应的语义信息为1,即头部中的各顶点对应的语义信息均为1,躯干对应的语义信息为2,即躯干中的各顶点对应的语义信息均为2,以此类推。而本实施例中,基础模型中的不同身体部位的顶点对应的语义信息的范围不同,同一身体部位中的任意两个顶点对应的语义信息不同,这样使得基础模型中的任意两个顶点对应的语义信息均不同。
一个示例中,如图14中的(a)所示,将人体划分为多个身体部位,例如:部位1(头部)、部位2(躯干)、部位3(右胳膊)、部位4(左胳膊)、部位5(右腿)、部位6(左腿)、部位7(右手)、部位8(左手)。
对每个部分都赋予具有不同范围的数字语义信息。头部语义为100-150,躯干为200-250,右胳膊为300-350、左胳膊为400-450、右腿为500-550、左腿为600-650、右手为700-750、左手为800-850。
其中,具体到其中任意一个部位,均赋予连续的数字语义信息。如图14中的(b)所示,以右胳膊为例:右手腕处对应的顶点的语义定义为300,右胳肢与躯干交界处对应的顶点的语义定义为350,右胳膊上的其他顶点的语义从300到350递增。每个顶点的语义可以为整数或者小数。
本实施例中,基础模型中的任意两个顶点对应的语义信息不同,使得基础模型中的每个顶点均可以精确对应到目标对象的不同位置,也就是说,基础模型能够对目标对象中的不同位置作区分,使得基础模型对目标对象的描述情况更加精准。进而,根据具有精准语义信息的基础模型进行后续的建模处理,能够提高建模效果。
步骤605:对所述基础模型进行调整,使得调整后的基础模型的体型与所述目标对象的体型趋于匹配。
应理解,虽然在选择基础模型时,考虑了目标对象的属性,但是基础模型与目标对象之间可能还是会存在一些差异,包括但不限于:胖瘦差异,姿态差异、高矮差异等。例如:图13中,(a)中的人物比(d)中的基础模型要胖一些,高一些。因此,本实施例中通过步骤605对基础模型进行调整,使得调整后的基础模型的体型与目标对象的体型趋于匹配(尽可能接近)。
其中,对基础模型的调整过程可以采用迭代优化的方式。
一种迭代方式为,以基础模型的体型与目标对象的体型的匹配度作为迭代终止条件。
一个示例中,可以根据所述对象掩膜,对所述基础模型进行调整,使得调整后的基础模型的体型与所述目标对象的体型(例如高矮、胖瘦等)趋于匹配(尽可能接近)。例如,以图13的(c)中的对象掩膜为依据,对(d)中的基础模型进行调整,使得调整后的基础模型的体型与目标对象的体型尽可能接近。一个示例的迭代过程中,不断调整基础模型的参数,若调整参数后的基础模型的体型与目标对象的体型的匹配度小于匹配阈值,则继续调整基础模型的参数;若调整参数后的基础模型的体型与目标对象的体型的匹配度高于或者等于匹配阈值时,停止迭代过程。另一个示例的迭代过程中,不断调整基础模型的参数,直至调整后的基础模型的体型与目标对象的体型的匹配度不再增加时,停止迭代过程。
另一个示例中,获取所述目标对象对应的关节点信息,根据所述对象掩膜和所述关节点信息,对所述基础模型进行调整,使得调整后的基础模型的体型(例如胖瘦、高矮等)和姿态(例如关节点的位置)与所述目标对象的体型和姿态趋于匹配。以图13的(b)所示的关节点信息和(c)中的对象掩膜为依据,对(d)中的基础模型进行调整,使得调整后的基础模型的体型和姿态与目标对象尽可能接近。一个示例的迭代过程中,不断调整基础模型的参数,若调整参数后的基础模型的体型和姿态与目标对象的体型和姿态的匹配度小于匹配阈值,则继续调整基础模型的参数;若调整参数后的基础模型的体型和姿态与目标对象的体型和姿态的匹配度高于或者等于匹配阈值时,停止迭代过程。另一个示例的迭代过程中,不断调整基础模型的参数,直至调整后的基础模型的体型和姿态与目标对象的体型和姿态的匹配度不再增加时,停止迭代过程。
另一种迭代方式为,根据所述对象掩膜,对所述基础模型进行N次调整,使得第n次调整后的基础模型的体型与所述目标对象的体型的匹配度优于第m次调整后的基础模型的体型与所述目标对象的体型的匹配度;或者,获取所述目标对象对应的关节点信息,根据所述对象掩膜和所述关节点信息,对所述基础模型进行N次调整,使得第n次调整后的基础模型的体型和姿态与所述目标对象的体型和姿态的匹配度优于第m次调整后的基础模型的体型和姿态与所述目标对象的体型和姿态的匹配度;其中N表示预设调整次数(例如最大调整次数),N,n和m为正整数,n大于m,且n和m小于或等于N;相应地,所述用于构建所述目标对象的模型所需的模型构建参数是根据N次调整后的基础模型得到的。
该实现方式中,是以最大调整次数作为迭代终止条件。以最大调整次数为N为例,使得第n次调整后的基础模型的体型与所述目标对象的体型的匹配度优于第m次调整后的基础模型的体型与所述目标对象的体型的匹配度,或者,使得第n次调整后的基础模型的体型和姿态与所述目标对象的体型和姿态的匹配度优于第m次调整后的基础模型的体型和姿态与所述目标对象的体型和姿态的匹配度。应理解,迭代过程中,不能保证每次调整都能使得基础模型与目标对象更加匹配,而是从整体趋于上使得调整后的基础模型与目标对象更加接近。第n次调整位于第m次调整之后,并且,第n次调整可以不限于第m次调整的相邻的下一次调整。
需要说明的是,本实施例中的体型和姿态应当广义的理解,当目标对象不同时,体型和姿态可以有不同的含义。当目标对象为人物、动物、雕塑等时,体型可以为人体体型、动物体型、雕塑体型等,姿态可以为人体姿态(站姿、坐姿、跑步姿态等)、动物姿态、雕塑姿态等;当目标对象为物体或者植物时,可以将物体或者植物的轮廓或者外形称为体型、还可以将物体的摆放形式称为姿态,将植物的生长状态称为姿态。
本实施例对基础模型进行调整的过程,包括但不限于上述实现方式,其它使得调整后的基础模型的体型和/或姿态与所述目标对象的体型和/或姿态趋于匹配的调整方法也可以应用于本申请的技术方案中。本申请的调整方法可以采用现有技术进行,例如:预处理共轭梯度法(preconditioned conjugate gradient,PCG),PCG是一种常用的位姿优化算法。经过上述调整后的基础模型如图13中的(e)所示。
步骤606:根据所述经调整过的基础模型得到用于构建所述目标对象的模型所需的模型构建参数。
本步骤的实施方式与图5所示实施例中的步骤504的不同之处在于,本步骤中是根据经过步骤605调整之后的基础模型得到模型构建参数。具体获取模型构建参数的过程与步骤504类似,此处不再赘述。
一个示例中,根据图13的(e)所示的基础模型,得到的模型构建参数如图13中的(f)所示。其中,图13的(f)中仅示例了正面深度图和背面深度图,正面语义图和背面语义图未示出。
步骤607:对所述模型构建参数进行变形处理,以得到与所述对象掩膜匹配的模型构建参数。
本步骤的实施方式与图5所示实施例中的步骤505类似,此处不再赘述。示例性的,对图13中的(f)中的正面深度图和背面深度图进行变形处理,得到的变形后的正面深度图和背面深度图如图13中的(g)所示。图13中的(g)所示的正面深度图和背面深度图是与图13中的(c)所示的对象模板匹配的。
需要说明的是,对模型构建参数进行变形处理时,可以只对正面深度图和背面深度图进行变形处理,而不对正面语义图和背面语义图进行变形处理。能够理解,由于正面深度图中的各像素点和正面语义图中的各像素点是一一对应的,且,背面深度图中的各像素点和背面语义图中的各像素点是一一对应的,因此,当对正面深度图和背面图进行变形处理后,根据上述的对应关系,即可确定出变形处理后的正面深度图和背面深度图中的各像素点的语义信息。
本实施例中,由于在生成三维模型之前,先利用对象掩膜对基础模型进行了调整(即一次调整),使得调整后的基础模型的体型和/或姿态与目标对象的体型和/或姿态趋于匹配,然后再对调整后的基础模型提取模型构建参数,并根据对象掩膜对模型构建参数进行变形处理,使得变形后的模型构建参数与对象掩膜高度匹配(再一次调整),可见,采用二次调整能进一步提升了建模效果。
步骤608:根据与所述对象掩膜匹配的模型构建参数,生成所述目标对象的三维模型。
步骤609:在所述目标图像中提取所述目标对象的纹理信息,将所述纹理信息与所述目标对象的三维模型进行融合。
其中步骤608的实施方式与图5所示实施例中的步骤506类似,此处不再赘述。示例性的,利用图13中的(g)所示的正面深度图和背面深度图,经过网格化处理和融合处理,得到目标对象的三维模型。进一步的,为了使得目标对象的三维模型看起来更加真实,在步骤609中,还可以对目标对象的三维模型添加纹理信息。示例性的,在如图13中的(a)所示的目标图像中提取人物的皮肤、服饰等纹理信息,将这些纹理信息与步骤608中生成的三维模型之间建立纹理映射关系,根据纹理映射关系,将图13的(a)中的人物的纹理信息与步骤608中生成的三维模型进行融合,得到融合了纹理信息之后的三维模型,如图13中的(h)所示。
本实施例中,只需要利用单张目标图像和基础模型即可生成目标对象的三维模型,与现有的模型重建技术相比,无须采集多视角的目标图像,也无须采集同场景的视频,只需要采集单张目标图像,将基础模型的模型构建参数调整至与从单张目标图像提取的对象掩膜匹配,并根据匹配后的模型构建参数生成三维模型即可,一方面减少了模型重建的准备工作,另一方面还减少了模型重建的计算量,节省计算资源。进一步的,本实施例中,由于在生成三维模型之前,先利用对象掩膜对基础模型进行了调整(即一次调整),使得调整后的基础模型的体型和/或姿态与目标对象的体型和/或姿态趋于匹配,然后再对调整后的基础模型提取模型构建参数,并根据对象掩膜对模型构建参数进行变形处理,使得变形后的模型构建参数与对象掩膜高度匹配(再一次调整),可见,采用二次调整能进一步提升了建模效果。另外,本实施例中的基础模型中的任意两个顶点对应的语义信息不同,使得基础模型能够对目标对象中的不同位置作区分,使得基础模型对目标对象的描述情况更加精准,从而进一步提升了建模效果。
图15是本申请实施例提供的图像显示方法的示意性流程图。本实施例的方法包括步骤701至步骤706,用以实现将二维(2D)图像转换为三维(3D)图像。
如图15所示,本实施例的方法包括:
步骤701:获取2D目标图像。
例如,可以是用户通过电子设备的相机或者其他应用的拍摄功能来拍摄图像,电子设备将拍摄到的图像作为目标图像。还可以是用户选择已有图像,电子设备将用户选择的图像作为目标图像。目标图像为单帧的2D图像。具体实施方式可以参见图4所示的实施例,此处不再赘述。
步骤702:对目标图像中的目标对象进行建模处理,得到目标对象的三维模型。
具体执行流程可以参见上述图8或者图12所示的实施例,此处不再赘述。
步骤703:对目标图像进行分割,得到分割后的背景。
其中,背景是指目标图像中除目标对象之外的区域。可以采用现有的图像分割技术对目标对象进行分割,得到目标对象以及背景。
步骤704:对分割后的背景进行填充,得到完整的背景。
应理解,在目标图像中,目标对象会对背景存在一定的遮挡,通过图像分割将图像分割为目标对象和背景之后,分割后的背景是不完整的。因此,本实施例中可以采用填充技术,对分割后的背景进行填充(inpainting),得到完整的背景。
步骤705:将目标对象的三维模型和完整的背景进行融合渲染,得到3D图像。
根据融合渲染方案,对步骤702得到的目标对象的模型(3D模型)以及步骤704得到的填充后的背景进行融合处理,得到3D图像。应理解,3D图像中包括目标对象的模型(3D模型)。
步骤706:展示3D图像。
电子设备得到3D图像后,可以向用户展示3D图像,以供用户与3D图像进行交互。例如:电子设备可以通过显示屏对该3D图像进行显示,以供用户观看。电子设备还可以向用户提供分享功能,使得用户可以将3D图像分享给其他用户。电子设备还可以向用户提供其他的交互功能(例如:驱动3D图像中的模型旋转、移动、运动等)。
需要说明的是,图15示例的仅是2D图像转换为3D图像时的其中一种可能的实施方式,实际应用中,还可以存在其他的实施方式。例如:另一种可能的实施方式中,还可以不执行上述的步骤703和704,而是通过其他方式获取新的背景(例如:可以通过渲染等方式生成新的背景,还可以通过用户拍摄等方式得到新的背景),新的背景可以与目标图像中的背景相同或者不同。然后,在步骤705中,将目标对象的三维模型与新的背景进行渲染融合,得到3D图像。这种实施方式使得用户可以根据自己的需求为目标对象的三维模型变换各种背景,满足了用户个性化的需求,提升用户的体验。
图16为本申请实施例提供的图像显示方法的一种应用场景示意图。本实施例将本申请提出的图像显示方法应用于两个或者多个电子设备进行视频传输场景,例如:视频通话、网络直播等场景。以两个电子设备为例,假设第一电子设备与第二电子设备进行视频通话。
如图16所示,本实施例的方法包括:
步骤801:采集2D视频流。
示例性的,第一电子设备打开相机,相机采集视频流。视频流中的每个图像帧为2D图像帧。
步骤802:针对2D视频流中的每个2D图像帧,将2D图像帧转换为3D图像帧。
如图16所示,假设第一电子设备依次采集了5个2D图像帧,则针对每个2D图像帧,分别采用如图15所示实施例中的可能实现方式,将2D图像帧转换为3D图像帧。
步骤803:展示3D视频流。
第二电子设备通过显示屏对3D视频流进行展示。其中,3D视频流中的每个图像帧为上述转换后的3D图像帧。
一些场景中,本实施例的步骤802可以由第一电子设备执行。例如:第一电子设备和第二电子设备之间通过网络连接,第一电子设备和第二电子设备之间的网络传输支持3D数据的传输。该场景下,可以由第一电子设备采集2D视频流,并且由第一电子设备实时地针对当前采集的每个2D图像帧,将2D图像帧转换为3D图像帧,然后将转换后的3D图像帧发送给第二电子设备。这样,第二电子设备从第一电子设备接收到的是3D视频流,并对接收到的3D视频流进行展示,使得用户通过第二电子设备观看到的是3D视频流。
另一些场景中,本实施例的步骤802也可以由第二电子设备执行。例如:第一电子设备采集2D视频流,并将采集到的2D视频流发送给第二电子设备。第二电子设备接收2D视频流,并实时地针对当前接收到的每个2D图像帧,将2D图像帧转换为3D图像帧,然后对转换后的3D图像帧进行显示。这样,用户通过第二电子设备观看到的是3D视频流。
又一些场景中,本实施例的步骤802还可以由第三电子设备执行。例如,第三电子设备可以为第一电子设备和第二电子设备所在通信系统中的网关设备或者边缘节点。下面以第三电子设备为网关设备为例进行说明。例如:第一电子设备采集2D视频流,并将采集到的2D视频流发送给第二电子设备。在2D视频流传输过程中,需要经过网关设备的转发,即第一电子设备将2D视频流发送给网关设备,然后由网关设备转发给第二电子设备。因此,当网关设备接收到2D视频流后,实时地针对当前接收到的每个2D图像帧,将2D图像帧转换为3D图像帧,然后将转换后的3D图像帧转发给第二电子设备。这样,第二电子设备接收到的是3D视频流,并对接收到的3D视频流进行展示,使得用户通过第二电子设备观看到的是3D视频流。
又一些场景中,上述的第一电子设备和第二电子设备还可以是同一个电子设备。该场景相当于将本实施例中的图像显示方式应用于视频的场景,将电子设备采集到的2D视频流转换为3D视频流,并在电子设备中进行展示,使得用户通过电子设备观看到的是3D视频流。
本实施例将本申请提供的图像显示方法应用于视频传输场景中,实现了两个或者多个电子设备之间的3D视频流的通信过程,提升了用户视频通话的真实感和趣味性。
上文结合图1至图16,详细描述了本申请实施例提供的图像显示方法,下面将结合图17和图18,详细描述本申请的装置实施例。应理解,本申请实施例中的图像显示设备可以执行前述本申请实施例的各种方法,即以下各种产品的具体工作过程,可以参考前述方法实施例中的对应过程。
图17是本申请实施例的图像显示的设备900的示意性框图。应理解,设备900能够执行图3至图16的方法中的各个步骤,为了避免重复,此处不再详述。设备900包括:检测单元901和处理单元902。
所述检测单元901用于检测到用户用于打开应用的第一操作;所述处理单元902用于响应于所述第一操作,在所述显示屏上显示第一界面;所述检测单元901还用于检测到所述用户在所述第一界面上用于指示拍摄图像的第二操作,或者,检测到所述用户在所述第一界面上用于指示选择图像的第二操作;所述处理单元902还用于响应于所述第二操作,在所述第一界面或者第二界面内显示目标对象的多维模型,所述三维模型为针对所述摄像头采集到的目标图像或者针对所述选择的目标图像中的目标对象构建得到的多维模型,其中,用于构建所述多维模型所需的模型构建参数是与所述目标对象对应的对象掩膜所匹配的模型构建参数。
本申请中,图像显示的设备900可以为移动终端(例如,智能手机),AR设备,VR设备、可穿戴设备,车载设备等。
其中,应用是电子设备中安装的具有图像显示功能的应用。该应用可以为电子设备中的相机应用,还可以为电子设备中的除相机之外的其他应用,本申请对此不做限定。
可选的,在一种可能的实现方式中,应用可以是电子设备中的相机应用。检测到用户用于打开相机应用的第一操作,响应于第一操作,在显示屏上显示第一界面(例如拍摄界面);检测到用户在第一界面上用于指示拍摄图像的第二操作,或者,检测到用户在第一界面上用于指示选择图像的第二操作;响应于第二操作,在第一界面或第二界面中显示目标对象的多维模型。也就是说,可以在第一界面中展示该目标对象的多维模型(例如camera视频预览(AR)的界面叠加有三维模型),或者,可选的设计方式下,在第二界面中展示该目标对象的多维模型。
可选的,在一种可能的实现方式中,应用可以为电子设备中除相机应用之外的其他应用(例如照片复活应用)。检测到用户用于打开照片复活应用的第一操作,响应于第一操作,在显示屏上显示第一界面;检测到用户在第一界面上用于指示拍摄图像的第二操作,或者,检测到用户在第一界面上用于指示选择图像的第二操作;响应于第二操作,在第一界面或第二界面中显示目标对象的多维模型。也就是说,响应于第二操作,可以在第一界面中展示该目标对象的多维模型,或者,可选的设计方式下,在第二界面中展示该目标对象的多维模型。这里的第二界面是不同于第一界面的界面。
本申请中,拍摄得到的目标图像或者选择的目标图像中包括需要构建多维模型(例如三维模型)的目标对象,该目标对象可以为人物、动物或者雕塑等。
可选的,在一些可能的实现方式中,目标图像为彩色图像,例如:RGB图像、YUV图像、HSV图像等。
可选的,在一种可能的实现方式中,目标图像还可以为单张具有深度信息的图像,例如:RGBD图像。
由上可见,本申请中,电子设备对目标对象构建得到多维模型(例如三维模型),并在第一界面或者第二界面中显示该多维模型。其中,用于构建所述多维模型所需的模型构建参数是与所述目标对象对应的对象掩膜所匹配的模型构建参数。模型构建参数是指用于构建模型所需要的一系列参数,包括但不限于语义参数和深度参数。由于模型构建参数是与目标对象的对象掩膜匹配的模型构建参数,因此,利用该模型构建参数生成的多维模型是与目标对象匹配的,提升了目标对象的建模效果。
可选的,在一种可能的实现方式中,在第一界面或第二界面内显示目标对象的多维模型为静态的多维模型。该多维模型可以在用户输入的第三操作的驱动下执行一些动作,例如转动方向、跳舞、做操等。
可选的,在一种可能的实现方式中,响应于第二操作,在第一界面或第二界面中显示目标对象的多维模型为动态的多维模型。
本申请中,电子设备显示的是目标对象的多维模型,而不是平面的二维对象,提高了目标对象在电子设备的显示效果;这样用户观看到的是该目标对象的多维模型,与观看二维的目标对象相比,能够增强用户观看目标对象的真实感,提升用户体验。进一步的,由于用于构建所述多维模型所需的模型构建参数是与所述目标对象对应的对象掩膜所匹配的模型构建参数,使得利用该模型构建参数构建得到的多维模型与目标对象更加接近,进一步提高了目标对象的显示效果。
可选的,作为一个实施例,所述处理单元902具体用于:获取所述目标对象对应的对象掩膜;获取与所述目标对象的属性所对应的基础模型,并根据所述基础模型得到用于构建所述目标对象的模型所需的模型构建参数;对所述模型构建参数进行变形处理,以得到与所述对象掩膜匹配的模型构建参数;根据与所述对象掩膜匹配的模型构建参数,构建所述多维模型。
其中,对象掩膜指示的是目标图像中由目标对象的身体轮廓围成的区域。基础模型是指已经事先构建好的多维模型(例如三维模型)。可选的,基础模型可以采用多边形网格模型,例如:三角形网格模型。
由上可见,本申请中,根据基础模型得到用于构建目标对象的模型所需的模型构建参数;对模型构建参数进行变形处理,以得到与所述对象掩膜匹配的模型构建参数;根据与所述对象掩膜匹配的模型构建参数,构建所述多维模型。由此可见,本申请是通过对基础模型对应的模型构建参数进行变形处理以匹配目标对象的对象掩膜,从而利用匹配后的模型构建参数来构建目标对象的多维模型,能够降低构建模型所需的计算量,节省计算资源。
需要说明的是,目标图像的目标对象可以是人物、动物、雕塑、植物等。不同对象的基础模型之间的差异可能会很大,例如:人物模型和动物模型之间有很大差异,男人模型和女人模型之间也会存在较大的差异,成人模型与儿童模型之间的差异也很明显等。因此,本申请在选择基础模型时是选择与目标对象的属性对应的基础模型。其中,目标对象的属性包括但不限于:年龄、性别、体型、姿态(例如站立、坐姿、跑步等)等。例如,若目标对象为男性,则选择男性对应的模型。若目标对象为儿童,则选择儿童对应的模型。若目标对象体型很胖,则选择胖人对应的模型。应理解,在选择基础模型时,可以考虑目标对象的一种或者多种属性。
可选的,在一种可能的实现方式中,模型构建参数可以包括:基础模型的第一面的深度图(depth map)、第一面的语义图、第二面的深度图(depth map)和第二面的语义图。其中,第一面和第二面是指基础模型的表面。例如,第一面可以为基础模型的正面,第二面可以为基础模型的背面。
应理解,当基础模型包括多个表面时,可以分别获取每个面的深度图和语义图。
可选的,一种可能的实现方式中,通过对基础模型的各个表面进行渲染(rendering),得到基础模型的各个表面的深度图和语义图。
其中,第一面深度图指示的是基础模型中的第一面中的各顶点对应的深度信息(即,第一面中的各顶点与摄像机之间的距离信息),第二面的深度图指示的是基础模型中的第二面中的各顶点对应的深度信息(即,第二面中的各顶点与摄像机之间的距离信息)。第一面的语义图指示的是基础模型中的第一面中的各顶点对应的语义信息(即,第一面中的各顶点在身体中的位置信息),第二面的语义图指示的是基础模型中的第二面中的各顶点对应的语义信息(即,第二面中的各顶点在身体中的位置信息)。
虽然在选择基础模型时,考虑了目标对象的属性,但是基础模型与目标对象之间可能还是会存在一些差异,例如:胖瘦差异,姿态差异、高矮差异等。因此,在得到基础模型的模型构建参数之后,不是直接利用该模型构建参数进行模型构建,而是通过对模型构建参数进行变形(warp)处理,使得变形后的模型构建参数与对象掩膜匹配。其中,变形处理可以包括但不限于:平移变换、仿射变换、旋转变换、扭曲变换等。这样使得根据变形后的模型构建参数生成的模型与目标对象更加接近。
由于只需要利用单张目标图像和基础模型即可生成目标对象的三维模型,与现有的模型重建技术相比,无须采集多视角的目标图像,也无须采集同场景的视频,只需要采集单张目标图像,将基础模型的模型构建参数调整至与目标对象的对象掩膜匹配,并根据匹配后的模型构建参数生成模型即可,一方面减少了模型重建的准备工作,另一方面还减少了模型重建的计算量,节省计算资源。进一步的,由于生成模型的模型构建参数是与目标对象的对象掩膜匹配的,使得生成的多维模型与目标对象的是匹配的,提高了建模效果。
可选的,作为一个实施例,所述处理单元902还用于:根据所述对象掩膜,对所述基础模型进行调整,使得调整后的基础模型的体型与所述目标对象的体型趋于匹配(例如,使得调整后的基础模型的体型与所述目标对象的体型的匹配度高于或等于匹配阈值);或者,获取所述目标对象对应的关节点信息,根据所述对象掩膜和所述关节点信息,对所述基础模型进行调整,使得调整后的基础模型的体型和姿态与所述目标对象的体型和姿态趋于匹配(例如,使得调整后的基础模型的体型和姿态与所述目标对象的体型和姿态的匹配度高于或等于匹配阈值);相应地,所述用于构建所述目标对象的模型所需的模型构建参数是根据调整后的基础模型得到的。
其中,调整的过程可以采用迭代优化的方式。以对象掩膜为依据,对基础模型的参数不断进行调整,使得调整后的基础模型的体型(例如胖瘦、高矮)与目标对象的体型尽可能接近。或者,以对象掩膜和关节点信息为依据,对基础模型的参数不断进行调整,使得调整后的基础模型姿态与目标对象的姿态尽可能接近(例如:调整后的基础模型中的关节点的位置与目标对象的关节点的位置更加接近,或者,调整后的基础模型的躯干与腿的长度比例与目标对象的躯干与腿的长度比例更加接近),并使得调整后的基础模型的体型(例如:胖瘦、高矮)与目标对象的体型尽可能接近。
以根据对象掩膜对基础模型进行调整的过程为例,该实现方式根据基础模型的体型与目标对象的体型的匹配度作为迭代终止条件。一个示例的迭代过程中,不断调整基础模型的参数,若调整参数后的基础模型的体型与目标对象的体型的匹配度小于匹配阈值,则继续调整基础模型的参数;若调整参数后的基础模型的体型与目标对象的体型的匹配度高于或者等于匹配阈值时,停止迭代过程。另一个示例的迭代过程中,不断调整基础模型的参数,直至调整后的基础模型的体型与目标对象的体型的匹配度不再增加时,停止迭代过程。
可选的,作为一个实施例,所述处理单元902还用于:根据所述对象掩膜,对所述基础模型进行N次调整,使得第n次调整后的基础模型的体型与所述目标对象的体型的匹配度优于第m次调整后的基础模型的体型与所述目标对象的体型的匹配度;或者,获取所述目标对象对应的关节点信息,根据所述对象掩膜和所述关节点信息,对所述基础模型进行N次调整,使得第n次调整后的基础模型的体型和姿态与所述目标对象的体型和姿态的匹配度优于第m次调整后的基础模型的体型和姿态与所述目标对象的体型和姿态的匹配度;其中N表示预设调整次数(例如最大调整次数),N,n和m为正整数,n大于m,且n和m小于或等于N;相应地,所述用于构建所述目标对象的模型所需的模型构建参数是根据N次调整后的基础模型得到的。
该实现方式中,是以最大调整次数作为迭代终止条件。以最大调整次数为N为例,使得第n次调整后的基础模型的体型与所述目标对象的体型的匹配度优于第m次调整后的基础模型的体型与所述目标对象的体型的匹配度,或者,使得第n次调整后的基础模型的体型和姿态与所述目标对象的体型和姿态的匹配度优于第m次调整后的基础模型的体型和姿态与所述目标对象的体型和姿态的匹配度。应理解,迭代过程中,不能保证每次调整都能使得基础模型与目标对象更加匹配,而是从整体趋于上使得调整后的基础模型与目标对象更加接近。第n次调整位于第m次调整之后,并且,第n次调整可以不限于第m次调整的相邻的下一次调整。
由于在生成模型之前,先利用对象掩膜对基础模型进行了调整(一次调整),使得调整后的基础模型的体型和/或姿态与目标对象的体型和/或姿态趋于匹配或尽可能接近,然后再对调整后的基础模型提取模型构建参数,并根据对象掩膜对模型构建参数进行变形处理(再一次调整),使得变形后的模型构建参数与对象掩膜高度匹配,通过前述二次调整能进一步提升了建模效果。
可选的,作为一个实施例,所述处理单元902具体用于根据所述目标图像,获取所述目标对象的属性,所述属性包括下述中的至少一种:性别、年龄、体型、姿态;从基础模型集合中选择与所述目标对象的属性对应的基础模型;其中,所述基础模型集合中包括多个基础模型,各所述基础模型对应不同的属性。
其中,基础模型集合可以包括多个基础模型,每个基础模型对应有一个或者多个属性,例如:基础模型1对应的属性为男性、成人、胖;基础模型2对应的属性为女性、儿童;基础模型3对应的属性为老人、瘦;基础模型4对应的属性为猫;基础模型5对应的属性为狗,等。这样,可以首先对目标图像进行分析识别,确定出目标对象的属性,然后,根据目标对象的属性,从基础模型集合中选择出与其属性匹配度最高的基础模型。
由于本申请选择的基础模型是根据目标对象的属性选择的,使得根据基础模型进行建模处理得到的多维模型能够有效表达目标对象,提高建模的效果。
可选的,作为一个实施例,所述基础模型包括多个身体部位,每个身体部位包括多个顶点,不同身体部位中的顶点对应的语义信息的范围不同,同一身体部位中的任意两个顶点对应的语义信息不同;或者,所述基础模型包括多个对象部位,每个对象部位包括多个顶点,不同对象部位中的顶点对应的语义信息的范围不同,同一对象部位中的任意两个顶点对应的语义信息不同。
其中,目标对象可以包括多个对象部位,每个对象部位是指目标对象的一个区域。应理解,不同的目标对象所对应的对象部位的划分方式可以不同。
以人体为例,目标对象分为多个身体部位,例如:头部、躯干、左胳膊、右胳膊、左腿、右腿、左手、右手等。本申请中的基础模型不同于现有的人体模型,现有的人体模型中,为每个身体部位赋予一个语义信息。例如:将头部对应的语义信息为1,即头部中的各顶点对应的语义信息均为1,躯干对应的语义信息为2,即躯干中的各顶点对应的语义信息均为2,以此类推。而本申请中,基础模型中的不同身体部位的顶点对应的语义信息的范围不同,同一身体部位中的任意两个顶点对应的语义信息不同,这样使得基础模型中的任意两个顶点对应的语义信息均不同。
本申请中,基础模型中的任意两个顶点对应的语义信息不同,使得基础模型中的每个顶点均可以精确对应到目标对象的不同位置,也就是说,基础模型能够对目标对象中的不同位置作区分,使得基础模型对目标对象的描述情况更加精准。进而,根据具有精准语义信息的基础模型进行后续的建模处理,能够提高建模效果。
可选的,作为一个实施例,所述模型构建参数包括:所述基础模型的第一面的深度图、第一面的语义图、第二面的深度图和第二面的语义图。
其中,第一面深度图指示的是基础模型中的第一面中的各顶点对应的深度信息(即,第一面中的各顶点与摄像机之间的距离信息),第二面的深度图指示的是基础模型中的第二面中的各顶点对应的深度信息(即,第二面中的各顶点与摄像机之间的距离信息)。第一面的语义图指示的是基础模型中的第一面中的各顶点对应的语义信息(即,第一面中的各顶点在身体中的位置信息),第二面的语义图指示的是基础模型中的第二面中的各顶点对应的语义信息(即,第二面中的各顶点在身体中的位置信息)。
可选的,作为一个实施例,所述处理单元902具体用于:根据所述对象掩膜和所述第一面的语义图,对所述第一面的深度图进行变形处理,使得变形后的第一面的深度图与所述对象掩膜匹配;根据所述对象掩膜和所述第二面的语义图,对所述第二面的深度图进行变形处理,使得变形后的第二面的深度图与所述对象掩膜匹配。
以正面为例,由于正面深度图和正面语义图是通过对基础模型的正面进行渲染(rendering)得到的,因此,正面深度图中的各像素点和正面语义图中的各像素点是一一对应的。也就是说,正面深度图和正面语义图中的相同位置的像素点对应的是基础模型中的同一个顶点。因此,利用正面语义图,可以确定出正面深度图中的各个像素点与对象掩膜中的各个像素点之间的对应关系。进而,根据正面深度图中的各个像素点与对象掩膜中的各个像素点之间的对应关系,对正面深度图进行变形处理,使得变形后的正面深度图与对象掩膜匹配。
应理解,背面深度图的调整过程与上述的正面深度图的调整过程是类似的。
需要说明的是,对模型构建参数进行变形处理时,可以只对正面深度图和背面深度图进行变形处理,而不对正面语义图和背面语义图进行变形处理。能够理解,由于正面深度图中的各像素点和正面语义图中的各像素点是一一对应的,且,背面深度图中的各像素点和背面语义图中的各像素点是一一对应的,因此,当对正面深度图和背面图进行变形处理后,根据上述的对应关系,即可确定出变形处理后的正面深度图和背面深度图中的各像素点的语义信息。
可选的,作为一个实施例,所述处理单元902具体用于:对与所述对象掩膜匹配的、经变形处理的第一面的深度图进行网格化处理,得到第一面的网格信息;对与所述对象掩膜匹配的、经变形处理的第二面的深度图进行网格化处理,得到第二面的网格信息;对所述第一面的网格信息和所述第二面的网格信息进行融合,得到所述目标对象的多维模型。
可选的,一种可能的实现方式中,网格化处理可以采用泊松(possion)重建技术。
可选的,一种可能的实现方式中,所述处理单元902还用于:根据第一面的语义图对第一面的网格信息进行优化调整,并根据第二面的语义图对第二面的网格信息进行优化调整,这样,对优化调整后的第一面的网格信息和第二面的网格信息进行融合得到的模型与目标对象更加匹配,提高建模效果。
可选的,作为一个实施例,所述处理单元902具体用于:对所述目标图像中的目标对象进行关节点提取,得到所述目标对象对应的关节点信息;根据所述目标对象的关节点信息对所述目标图像进行分割,得到所述目标对象对应的对象掩膜。
以目标对象为人物为例,提取的关节点信息包括但不限于:头、颈部、右肩、右肘、右手腕、左肩、左肘、左手腕、右髋关节、右膝、右脚腕、左髋关节、左膝、左脚腕、身体中心点等。根据提取的关节点信息,对图标图像中的目标对象进行分割,能够提高图像分割的准确率,使得分割得到目标对象的对象掩膜更加准确。
可选的,作为一个实施例,所述处理单元902具体用于:在所述目标图像中提取所述目标对象的纹理信息,将所述纹理信息与所述目标对象的模型进行融合,以使所述第一界面或者第二界面中显示的多维模型是经所述融合之后的多维模型。
可选的,纹理信息包括但不限于:皮肤信息、服饰信息等。也就是说,在目标图像中提取人物的皮肤、服饰等纹理信息,将这些纹理信息与生成的模型之间建立纹理映射关系,根据纹理映射关系,将目标对象的纹理信息与生成的多维模型进行融合,得到融合了纹理信息之后的多维模型,并在第一界面或第二界面中展示所述融合之后的多维模型,使得多维模型看起来更加真实,提升显示效果。
可选的,作为一个实施例,所述检测单元901还用于:检测到所述用户在所述第一界面或第二界面上的第三操作,所述第三操作用于指示所述模型的动态效果;所述处理单元还用于:响应于所述第三操作,在所述第一界面或第二界面上显示动态的多维模型,所述动态的多维模型是通过对所述融合之后的多维模型增加所述动态效果得到的。
可选的,在第一界面或第二界面中,还可以包括至少一个交互控件。每个交互控件可以对应一种动态效果。例如:交互控件可用于使多维模型向左转或者向右转,当然,还可以进行其他方向的转动。交互控件可用于为模型添加一些渲染效果,比如雨滴效果、空中飘落钞票效果等。或者,交互控件可用于为模型增加一些动画效果,例如:驱动该模型执行一些动作:比如跳舞、做操等。当电子设备检测到用户通过交互控件输入的第三操作后,为多维模型增加该交互控件对应的动态效果,得到动态的多维模型。进而,电子设备在第一界面或第二界面中显示该动态的多维模型,使得用户观看到具有动态效果的多维模型,进一步提升用户的观看体验。
应理解,这里的图像显示的设备900以功能单元的形式体现。这里的术语“单元”可以通过软件和/或硬件形式实现,对此不作具体限定。例如,“单元”可以是实现上述功能的软件程序、硬件电路或二者结合。所述硬件电路可能包括应用特有集成电路(applicationspecific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
因此,在本申请的实施例中描述的各示例的单元,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例还提供一种电子设备,该电子设备可以是终端设备也可以是内置于所述终端设备的电路设备。该设备可以用于执行上述方法实施例中的功能/步骤。
如图18所示,电子设备1000,包括:处理器1010和收发器1020。可选地,该电子设备1000还可以包括存储器1030。其中,处理器1010、收发器1020和存储器1030之间可以通过内部连接通路互相通信,传递控制和/或数据信号,该存储器1030用于存储计算机程序,该处理器1010用于从该存储器1030中调用并运行该计算机程序。
可选地,电子设备1000还可以包括天线1040,用于将收发器1020输出的无线信号发送出去。
上述处理器1010可以和存储器1030可以合成一个处理装置,更常见的是彼此独立的部件,处理器1010用于执行存储器1030中存储的程序代码来实现上述功能。具体实现时,该存储器1030也可以集成在处理器1010中,或者,独立于处理器1010。该处理器1010可以与图17中设备900中的处理单元902对应。
除此之外,为了使得电子设备1000的功能更加完善,该电子设备1000还可以包括输入单元1060、显示单元1070、音频电路1080、摄像头1090和传感器1001等中的一个或多个,所述音频电路还可以包括扬声器1082、麦克风1084等。其中,显示单元1070可以包括显示屏,显示单元1070可以与图17中设备900中的检测单元901对应。
可选地,上述电子设备1000还可以包括电源1050,用于给终端设备中的各种器件或电路提供电源。
应理解,图18所示的电子设备1000能够实现图3至图16所示方法实施例的各个过程。电子设备1000中的各个模块的操作和/或功能,分别为了实现上述方法实施例中的相应流程。具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详细描述。
应理解,图18所示的电子设备1000中的处理器1010可以是片上系统(system on achip,SOC),该处理器1010中可以包括中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、以及神经网络处理器(neural-networkprocessing unit,NPU),还可以进一步包括其他类型的处理器。所述CPU可以叫主CPU,NPU作为协处理器挂载到主CPU(Host CPU)上,由Host CPU分配任务。各部分处理器配合工作实现之前的方法流程,并且每部分处理器可以选择性执行一部分软件驱动程序。
例如,以图3为例,图3中310至330可以由CPU执行,340可以由CPU、NPU或者GPU执行。以图8为例,图8中的502可以由NPU执行,503可以由CPU执行,504可以由GPU执行,505可以由CPU执行,506可以由CPU和/或GPU执行。以图12为例,图12中的602和603可以由NPU执行,604和605可以由CPU执行,606可以由GPU执行,607可以由CPU执行,608和609可以由CPU和/或GPU执行。
总之,处理器1010内部的各部分处理器或处理单元可以共同配合实现之前的方法流程,且各部分处理器或处理单元相应的软件程序可存储在存储器1030中。
本申请还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在计算机上运行时,使得计算机执行如上述的图像显示方法中的各个步骤。
本申请还提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机或任一至少一种处理器上运行时,使得计算机执行上述的图像显示方法中的各个步骤。
本申请还提供一种芯片,包括处理器。该处理器用于读取并运行存储器中存储的计算机程序,以执行本申请提供的图像显示方法执行的相应操作和/或流程。
可选地,该芯片还包括存储器,该存储器与该处理器通过电路或电线与存储器连接,处理器用于读取并执行该存储器中的计算机程序。进一步可选地,该芯片还包括通信接口,处理器与该通信接口连接。通信接口用于接收需要处理的数据和/或信息,处理器从该通信接口获取该数据和/或信息,并对该数据和/或信息进行处理。该通信接口可以是输入输出接口。
以上各实施例中,涉及的处理器1010可以例如包括中央处理器(centralprocessing unit,CPU)、微处理器、微控制器或数字信号处理器,还可包括GPU、NPU和ISP,该处理器还可包括必要的硬件加速器或逻辑处理硬件电路,如特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请技术方案程序执行的集成电路等。此外,处理器可以具有操作一个或多个软件程序的功能,软件程序可以存储在存储器中。
存储器可以是只读存储器(read-only memory,ROM)、可存储静态信息和指令的其它类型的静态存储设备、随机存取存储器(random access memory,RAM)或可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者还可以是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质等。
本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
本领域普通技术人员可以意识到,本文中公开的实施例中描述的各单元及算法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。本申请的保护范围应以所述权利要求的保护范围为准。
Claims (25)
1.一种图像显示方法,应用于具有显示屏和摄像头的电子设备,其特征在于,包括:
检测到用户用于打开应用的第一操作;
响应于所述第一操作,在所述显示屏上显示第一界面;
检测到所述用户在所述第一界面上用于指示拍摄图像的第二操作,或者,检测到所述用户在所述第一界面上用于指示选择图像的第二操作;
响应于所述第二操作,在所述第一界面或者第二界面内显示目标对象的多维模型,所述多维模型为针对所述摄像头采集到的目标图像或者针对所述选择的目标图像中的所述目标对象构建得到的多维模型,其中,用于构建所述多维模型所需的模型构建参数是与所述目标对象的对象掩膜所匹配的模型构建参数。
2.根据权利要求1所述的方法,其特征在于,所述构建过程包括:
获取所述目标对象对应的对象掩膜;
获取与所述目标对象的属性所对应的基础模型,并根据所述基础模型得到用于构建所述目标对象的模型所需的模型构建参数;
对所述模型构建参数进行变形处理,以得到与所述对象掩膜匹配的模型构建参数;
根据与所述对象掩膜匹配的模型构建参数,构建所述多维模型。
3.根据权利要求2所述的方法,其特征在于,所述根据所述基础模型得到用于构建所述目标对象的模型所需的模型构建参数之前,还包括:
根据所述对象掩膜,对所述基础模型进行调整,使得调整后的基础模型的体型与所述目标对象的体型趋于匹配;
或者,
获取所述目标对象对应的关节点信息,根据所述对象掩膜和所述关节点信息,对所述基础模型进行调整,使得调整后的基础模型的体型和姿态与所述目标对象的体型和姿态趋于匹配;
相应地,所述用于构建所述目标对象的模型所需的模型构建参数是根据调整后的基础模型得到的。
4.根据权利要求2所述的方法,其特征在于,所述根据所述基础模型得到用于构建所述目标对象的模型所需的模型构建参数之前,还包括:
根据所述对象掩膜,对所述基础模型进行N次调整,使得第n次调整后的基础模型的体型与所述目标对象的体型的匹配度优于第m次调整后的基础模型的体型与所述目标对象的体型的匹配度;
或者,
获取所述目标对象对应的关节点信息,根据所述对象掩膜和所述关节点信息,对所述基础模型进行N次调整,使得第n次调整后的基础模型的体型和姿态与所述目标对象的体型和姿态的匹配度优于第m次调整后的基础模型的体型和姿态与所述目标对象的体型和姿态的匹配度;
其中N表示预设调整次数,N,n和m为正整数,n大于m,且n和m小于或等于N;
相应地,所述用于构建所述目标对象的模型所需的模型构建参数是根据N次调整后的基础模型得到的。
5.根据权利要求2至4任一项所述的方法,其特征在于,所述获取与所述目标对象的属性所对应的基础模型,包括:
根据所述目标图像,获取所述目标对象的属性,所述属性包括下述中的至少一种:性别、年龄、体型、姿态;
从基础模型集合中选择与所述目标对象的属性对应的基础模型;其中,所述基础模型集合中包括多个基础模型,各所述基础模型对应不同的属性。
6.根据权利要求2至5任一项所述的方法,其特征在于,所述基础模型包括多个身体部位,每个身体部位包括多个顶点,不同身体部位中的顶点对应的语义信息的范围不同,同一身体部位中的任意两个顶点对应的语义信息不同;或者,
所述基础模型包括多个对象部位,每个对象部位包括多个顶点,不同对象部位中的顶点对应的语义信息的范围不同,同一对象部位中的任意两个顶点对应的语义信息不同。
7.根据权利要求2至6任一项所述的方法,其特征在于,所述模型构建参数包括:所述基础模型的第一面的深度图、第一面的语义图、第二面的深度图和第二面的语义图。
8.根据权利要求7所述的方法,其特征在于,所述对所述模型构建参数进行变形处理,以得到与所述对象掩膜匹配的模型构建参数,包括:
根据所述对象掩膜和所述第一面的语义图,对所述第一面的深度图进行变形处理,使得变形后的第一面的深度图与所述对象掩膜匹配;
根据所述对象掩膜和所述第二面的语义图,对所述第二面的深度图进行变形处理,使得变形后的第二面的深度图与所述对象掩膜匹配。
9.根据权利要求8所述的方法,其特征在于,所述根据与所述对象掩膜匹配的模型构建参数,构建所述多维模型,包括:
对与所述对象掩膜匹配的、经变形处理的第一面的深度图进行网格化处理,得到第一面的网格信息;
对与所述对象掩膜匹配的、经变形处理的第二面的深度图进行网格化处理,得到第二面的网格信息;
对所述第一面的网格信息和所述第二面的网格信息进行融合,得到所述目标对象的多维模型。
10.根据权利要求1至9任一项所述的方法,其特征在于,所述目标对象对应的对象掩膜是通过如下方法获取的:
对所述目标图像中的目标对象进行关节点提取,得到所述目标对象对应的关节点信息;
根据所述目标对象的关节点信息对所述目标图像进行分割,得到所述目标对象对应的对象掩膜。
11.根据权利要求1至9任一项所述的方法,其特征在于,所述构建所述多维模型之后,还包括:
在所述目标图像中提取所述目标对象的纹理信息,将所述纹理信息与所述目标对象的模型进行融合,以使所述第一界面或者第二界面中显示的多维模型是经所述融合之后的多维模型。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
检测到所述用户在所述第一界面或第二界面上的第三操作,所述第三操作用于指示所述模型的动态效果;
响应于所述第三操作,在所述第一界面或第二界面上显示动态的多维模型,所述动态的多维模型是通过对所述融合之后的多维模型增加所述动态效果得到的。
13.一种图像显示设备,其特征在于,包括:
显示屏;摄像头;一个或多个处理器;存储器;多个应用程序;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述设备执行时,使得所述设备执行以下步骤:
检测到用户用于打开应用的第一操作;
响应于所述第一操作,在所述显示屏上显示第一界面;
检测到所述用户在所述第一界面上用于指示拍摄图像的第二操作,或者,检测到所述用户在所述第一界面上用于指示选择图像的第二操作;
响应于所述第二操作,在所述第一界面或者第二界面内显示目标对象的多维模型,所述多维模型为针对所述摄像头采集到的目标图像或者针对所述选择的目标图像中的目标对象构建得到的多维模型,其中,用于构建所述多维模型所需的模型构建参数是与所述目标对象对应的对象掩膜所匹配的模型构建参数。
14.根据权利要求13所述的设备,其特征在于,当所述指令被所述设备执行时,使得所述设备具体执行以下步骤:
获取所述目标对象对应的对象掩膜;
获取与所述目标对象的属性所对应的基础模型,并根据所述基础模型得到用于构建所述目标对象的模型所需的模型构建参数;
对所述模型构建参数进行变形处理,以得到与所述对象掩膜匹配的模型构建参数;
根据与所述对象掩膜匹配的模型构建参数,构建所述多维模型。
15.根据权利要求14所述的设备,其特征在于,当所述指令被所述设备执行时,使得所述设备还执行以下步骤:
根据所述对象掩膜,对所述基础模型进行调整,使得调整后的基础模型的体型与所述目标对象的体型趋于匹配;
或者,
获取所述目标对象对应的关节点信息,根据所述对象掩膜和所述关节点信息,对所述基础模型进行调整,使得调整后的基础模型的体型和姿态与所述目标对象的体型和姿态趋于匹配;
相应地,所述用于构建所述目标对象的模型所需的模型构建参数是根据调整后的基础模型得到的。
16.根据权利要求14所述的设备,其特征在于,当所述指令被所述设备执行时,使得所述设备还执行以下步骤:
根据所述对象掩膜,对所述基础模型进行N次调整,使得第n次调整后的基础模型的体型与所述目标对象的体型的匹配度优于第m次调整后的基础模型的体型与所述目标对象的体型的匹配度;
或者,
获取所述目标对象对应的关节点信息,根据所述对象掩膜和所述关节点信息,对所述基础模型进行N次调整,使得第n次调整后的基础模型的体型和姿态与所述目标对象的体型和姿态的匹配度优于第m次调整后的基础模型的体型和姿态与所述目标对象的体型和姿态的匹配度;
其中N表示预设调整次数,N,n和m为正整数,n大于m,且n和m小于或等于N;
相应地,所述用于构建所述目标对象的模型所需的模型构建参数是根据N次调整后的基础模型得到的。
17.根据权利要求14至16任一项所述的设备,其特征在于,当所述指令被所述设备执行时,使得所述设备具体执行以下步骤:
根据所述目标图像,获取所述目标对象的属性,所述属性包括下述中的至少一种:性别、年龄、体型、姿态;
从基础模型集合中选择与所述目标对象的属性对应的基础模型;其中,所述基础模型集合中包括多个基础模型,各所述基础模型对应不同的属性。
18.根据权利要求14至17任一项所述的设备,其特征在于,所述基础模型包括多个身体部位,每个身体部位包括多个顶点,不同身体部位中的顶点对应的语义信息的范围不同,同一身体部位中的任意两个顶点对应的语义信息不同;或者,
所述基础模型包括多个对象部位,每个对象部位包括多个顶点,不同对象部位中的顶点对应的语义信息的范围不同,同一对象部位中的任意两个顶点对应的语义信息不同。
19.根据权利要求14至18任一项所述的设备,其特征在于,所述模型构建参数包括:所述基础模型的第一面的深度图、第一面的语义图、第二面的深度图和第二面的语义图。
20.根据权利要求19所述的设备,其特征在于,当所述指令被所述设备执行时,使得所述设备具体执行以下步骤:
根据所述对象掩膜和所述第一面的语义图,对所述第一面的深度图进行变形处理,使得变形后的第一面的深度图与所述对象掩膜匹配;
根据所述对象掩膜和所述第二面的语义图,对所述第二面的深度图进行变形处理,使得变形后的第二面的深度图与所述对象掩膜匹配。
21.根据权利要求20所述的设备,其特征在于,当所述指令被所述设备执行时,使得所述设备具体执行以下步骤:
对与所述对象掩膜匹配的、经变形处理的第一面的深度图进行网格化处理,得到第一面的网格信息;
对与所述对象掩膜匹配的、经变形处理的第二面的深度图进行网格化处理,得到第二面的网格信息;
对所述第一面的网格信息和所述第二面的网格信息进行融合,得到所述目标对象的多维模型。
22.根据权利要求13至21任一项所述的设备,其特征在于,当所述指令被所述设备执行时,使得所述设备具体执行以下步骤:
对所述目标图像中的目标对象进行关节点提取,得到所述目标对象对应的关节点信息;
根据所述目标对象的关节点信息对所述目标图像进行分割,得到所述目标对象对应的对象掩膜。
23.根据权利要求13至21任一项所述的设备,其特征在于,当所述指令被所述设备执行时,使得所述设备还执行以下步骤:
在所述目标图像中提取所述目标对象的纹理信息,将所述纹理信息与所述目标对象的模型进行融合,以使所述第一界面或者第二界面中显示的多维模型是经所述融合之后的多维模型。
24.根据权利要求23所述的设备,其特征在于,当所述指令被所述设备执行时,使得所述设备还执行以下步骤:
检测到所述用户在所述第一界面或第二界面上的第三操作,所述第三操作用于指示所述模型的动态效果;
响应于所述第三操作,在所述第一界面或第二界面上显示动态的多维模型,所述动态的多维模型是通过对所述融合之后的多维模型增加所述动态效果得到的。
25.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1至12中任一项所述的图像显示方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911008055.6A CN112784621B (zh) | 2019-10-22 | 2019-10-22 | 图像显示方法及设备 |
EP20879240.8A EP4036790A4 (en) | 2019-10-22 | 2020-10-22 | IMAGE DISPLAY METHOD AND DEVICE |
PCT/CN2020/122648 WO2021078179A1 (zh) | 2019-10-22 | 2020-10-22 | 图像显示方法及设备 |
US17/659,920 US20220245912A1 (en) | 2019-10-22 | 2022-04-20 | Image display method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911008055.6A CN112784621B (zh) | 2019-10-22 | 2019-10-22 | 图像显示方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112784621A true CN112784621A (zh) | 2021-05-11 |
CN112784621B CN112784621B (zh) | 2024-06-18 |
Family
ID=75620402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911008055.6A Active CN112784621B (zh) | 2019-10-22 | 2019-10-22 | 图像显示方法及设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220245912A1 (zh) |
EP (1) | EP4036790A4 (zh) |
CN (1) | CN112784621B (zh) |
WO (1) | WO2021078179A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114924669A (zh) * | 2022-05-31 | 2022-08-19 | 广州小鹏汽车科技有限公司 | 车载系统的交互方法、车辆及存储介质 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12003792B2 (en) * | 2020-12-08 | 2024-06-04 | Tencent America LLC | Adaptation of 2D video for streaming to heterogenous client end-points |
CN113808251B (zh) * | 2021-08-09 | 2024-04-12 | 杭州易现先进科技有限公司 | 一种基于语义分割的稠密重建的方法、系统、装置和介质 |
US12001520B2 (en) * | 2021-09-27 | 2024-06-04 | Adobe Inc. | Generating simulated images that enhance socio-demographic diversity |
US20230154013A1 (en) * | 2021-11-18 | 2023-05-18 | Volkswagen Aktiengesellschaft | Computer vision system for object tracking and time-to-collision |
CN113822994B (zh) * | 2021-11-24 | 2022-02-15 | 深圳普罗米修斯视觉技术有限公司 | 三维模型构建方法、装置及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060067573A1 (en) * | 2000-03-08 | 2006-03-30 | Parr Timothy C | System, method, and apparatus for generating a three-dimensional representation from one or more two-dimensional images |
CN102542601A (zh) * | 2010-12-10 | 2012-07-04 | 三星电子株式会社 | 一种用于3d对象建模的设备和方法 |
CN107924579A (zh) * | 2015-08-14 | 2018-04-17 | 麦特尔有限公司 | 生成个性化3d头部模型或3d身体模型的方法 |
CN109325437A (zh) * | 2018-09-17 | 2019-02-12 | 北京旷视科技有限公司 | 图像处理方法、装置和系统 |
CN109448090A (zh) * | 2018-11-01 | 2019-03-08 | 北京旷视科技有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN109600550A (zh) * | 2018-12-18 | 2019-04-09 | 维沃移动通信有限公司 | 一种拍摄提示方法及终端设备 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8724906B2 (en) * | 2011-11-18 | 2014-05-13 | Microsoft Corporation | Computing pose and/or shape of modifiable entities |
US20150178988A1 (en) * | 2012-05-22 | 2015-06-25 | Telefonica, S.A. | Method and a system for generating a realistic 3d reconstruction model for an object or being |
US9224243B2 (en) * | 2013-05-20 | 2015-12-29 | Nokia Technologies Oy | Image enhancement using a multi-dimensional model |
US9928412B2 (en) * | 2014-10-17 | 2018-03-27 | Ebay Inc. | Method, medium, and system for fast 3D model fitting and anthropometrics |
WO2019037038A1 (zh) * | 2017-08-24 | 2019-02-28 | 深圳前海达闼云端智能科技有限公司 | 图像处理方法、装置及服务器 |
CN107730503B (zh) * | 2017-09-12 | 2020-05-26 | 北京航空航天大学 | 三维特征嵌入的图像对象部件级语义分割方法与装置 |
KR102661019B1 (ko) * | 2018-02-23 | 2024-04-26 | 삼성전자주식회사 | 얼굴에 대응하는 3차원 아바타를 이용하여 얼굴의 움직임이 반영된 3차원 아바타를 포함하는 이미지를 생성하는 전자 장치 및 그 동작 방법 |
CN109343782A (zh) * | 2018-08-02 | 2019-02-15 | 维沃移动通信有限公司 | 一种显示方法及终端 |
DK201870623A1 (en) * | 2018-09-11 | 2020-04-15 | Apple Inc. | USER INTERFACES FOR SIMULATED DEPTH EFFECTS |
CN110276831B (zh) * | 2019-06-28 | 2022-03-18 | Oppo广东移动通信有限公司 | 三维模型的建构方法和装置、设备、计算机可读存储介质 |
-
2019
- 2019-10-22 CN CN201911008055.6A patent/CN112784621B/zh active Active
-
2020
- 2020-10-22 WO PCT/CN2020/122648 patent/WO2021078179A1/zh unknown
- 2020-10-22 EP EP20879240.8A patent/EP4036790A4/en active Pending
-
2022
- 2022-04-20 US US17/659,920 patent/US20220245912A1/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060067573A1 (en) * | 2000-03-08 | 2006-03-30 | Parr Timothy C | System, method, and apparatus for generating a three-dimensional representation from one or more two-dimensional images |
CN102542601A (zh) * | 2010-12-10 | 2012-07-04 | 三星电子株式会社 | 一种用于3d对象建模的设备和方法 |
CN107924579A (zh) * | 2015-08-14 | 2018-04-17 | 麦特尔有限公司 | 生成个性化3d头部模型或3d身体模型的方法 |
US20190035149A1 (en) * | 2015-08-14 | 2019-01-31 | Metail Limited | Methods of generating personalized 3d head models or 3d body models |
CN109325437A (zh) * | 2018-09-17 | 2019-02-12 | 北京旷视科技有限公司 | 图像处理方法、装置和系统 |
CN109448090A (zh) * | 2018-11-01 | 2019-03-08 | 北京旷视科技有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN109600550A (zh) * | 2018-12-18 | 2019-04-09 | 维沃移动通信有限公司 | 一种拍摄提示方法及终端设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114924669A (zh) * | 2022-05-31 | 2022-08-19 | 广州小鹏汽车科技有限公司 | 车载系统的交互方法、车辆及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20220245912A1 (en) | 2022-08-04 |
CN112784621B (zh) | 2024-06-18 |
WO2021078179A1 (zh) | 2021-04-29 |
EP4036790A4 (en) | 2023-03-29 |
EP4036790A1 (en) | 2022-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112784621B (zh) | 图像显示方法及设备 | |
JP7176012B2 (ja) | オブジェクト・モデリング動作方法及び装置並びにデバイス | |
CN111243093B (zh) | 三维人脸网格的生成方法、装置、设备及存储介质 | |
WO2020192706A1 (zh) | 物体三维模型重建方法及装置 | |
CN103226830B (zh) | 三维虚实融合环境中视频纹理投影的自动匹配校正方法 | |
CN111243071A (zh) | 实时三维人体重建的纹理渲染方法、系统、芯片、设备和介质 | |
CN109325990B (zh) | 图像处理方法及图像处理装置、存储介质 | |
CN115359207A (zh) | 单目相机实时三维捕获和即时反馈的方法和系统 | |
CN108305312A (zh) | 3d虚拟形象的生成方法和装置 | |
US20100315424A1 (en) | Computer graphic generation and display method and system | |
CN109675315A (zh) | 游戏角色模型的生成方法、装置、处理器及终端 | |
US20130127827A1 (en) | Multiview Face Content Creation | |
CN113628327B (zh) | 一种头部三维重建方法及设备 | |
CN111652123B (zh) | 图像处理和图像合成方法、装置和存储介质 | |
CN104778736B (zh) | 单视频内容驱动的服装三维动画生成方法 | |
CN115298708A (zh) | 多视角神经人体渲染 | |
CN109064533B (zh) | 一种3d漫游方法及系统 | |
CN107469355A (zh) | 游戏人物形象创建方法及装置、终端设备 | |
Reinert et al. | Animated 3D creatures from single-view video by skeletal sketching. | |
CN110533762B (zh) | 三维头像的生成方法及电子装置 | |
CN109448093B (zh) | 一种风格图像生成方法及装置 | |
Zhang et al. | Fragmentation guided human shape reconstruction | |
US11682234B2 (en) | Texture map generation using multi-viewpoint color images | |
Freer et al. | Novel-view synthesis of human tourist photos | |
Cushen et al. | Markerless real-time garment retexturing from monocular 3d reconstruction |
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 | ||
GR01 | Patent grant |