CN117635897A - 三维对象的姿态补全方法、装置、设备、存储介质及产品 - Google Patents
三维对象的姿态补全方法、装置、设备、存储介质及产品 Download PDFInfo
- Publication number
- CN117635897A CN117635897A CN202410113465.1A CN202410113465A CN117635897A CN 117635897 A CN117635897 A CN 117635897A CN 202410113465 A CN202410113465 A CN 202410113465A CN 117635897 A CN117635897 A CN 117635897A
- Authority
- CN
- China
- Prior art keywords
- dimensional
- data
- gesture
- joint
- incomplete
- 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 124
- 238000003860 storage Methods 0.000 title claims abstract description 39
- 230000000295 complement effect Effects 0.000 title claims abstract description 29
- 230000009471 action Effects 0.000 claims description 83
- 230000033001 locomotion Effects 0.000 claims description 52
- 238000010586 diagram Methods 0.000 claims description 46
- 239000011159 matrix material Substances 0.000 claims description 37
- 230000008569 process Effects 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 21
- 238000009499 grossing Methods 0.000 claims description 17
- 238000012549 training Methods 0.000 claims description 10
- 230000007547 defect Effects 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 9
- 238000009826 distribution Methods 0.000 claims description 5
- 238000003384 imaging method Methods 0.000 claims description 3
- 238000013473 artificial intelligence Methods 0.000 abstract description 17
- 230000001502 supplementing effect Effects 0.000 abstract description 8
- 230000036544 posture Effects 0.000 description 167
- 241000282414 Homo sapiens Species 0.000 description 62
- 238000005516 engineering process Methods 0.000 description 35
- 210000003414 extremity Anatomy 0.000 description 25
- 238000004422 calculation algorithm Methods 0.000 description 21
- 230000000875 corresponding effect Effects 0.000 description 18
- 238000012545 processing Methods 0.000 description 17
- 210000002478 hand joint Anatomy 0.000 description 13
- 238000009792 diffusion process Methods 0.000 description 10
- 238000013528 artificial neural network Methods 0.000 description 8
- 239000003086 colorant Substances 0.000 description 7
- 239000013598 vector Substances 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 230000001427 coherent effect Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 230000018109 developmental process Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 210000000988 bone and bone Anatomy 0.000 description 4
- 210000002683 foot Anatomy 0.000 description 4
- 210000003128 head Anatomy 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 210000002414 leg Anatomy 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 238000012015 optical character recognition Methods 0.000 description 3
- 210000000707 wrist Anatomy 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 2
- 210000000577 adipose tissue Anatomy 0.000 description 2
- 210000003484 anatomy Anatomy 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 210000004247 hand Anatomy 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 210000000056 organ Anatomy 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 210000003857 wrist joint Anatomy 0.000 description 2
- 208000002874 Acne Vulgaris Diseases 0.000 description 1
- 208000020154 Acnes Diseases 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 208000028990 Skin injury Diseases 0.000 description 1
- 206010000496 acne Diseases 0.000 description 1
- 210000003423 ankle Anatomy 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 210000001145 finger joint Anatomy 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000037380 skin damage Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000009469 supplementation Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 210000001226 toe joint Anatomy 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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/003—Navigation within 3D models or images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- 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/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- 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/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/86—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using syntactic or structural representations of the image or video pattern, e.g. symbolic string recognition; using graph matching
-
- 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/20—Movements or behaviour, e.g. gesture recognition
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Graphics (AREA)
- Molecular Biology (AREA)
- Multimedia (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Social Psychology (AREA)
- Psychiatry (AREA)
- Architecture (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种三维对象的姿态补全方法、装置、设备、存储介质及产品,属于人工智能技术领域。该方法包括:获取三维对象的三维残缺姿态数据,三维残缺姿态数据包括三维对象的已知关节点的三维关节点数据,三维残缺姿态数据中缺少三维对象的缺失关节点的三维关节点数据;调用文生图模型,根据三维残缺姿态数据和姿态描述文本生成三维对象的二维生成图像;姿态描述文本用于描述三维残缺姿态数据的当前姿态;对二维生成图像进行关节点识别,得到三维对象的缺失关节点的三维关节点数据;根据缺失关节点的三维关节点数据补全三维残缺姿态数据,得到三维对象的三维补全姿态数据。该方法可以快捷补全三维对象姿态数据中的缺失关节点。
Description
技术领域
本申请实施例涉及人工智能技术领域,特别涉及一种三维对象的姿态补全方法、装置、设备、存储介质及产品。
背景技术
随着计算机技术的发展,可通过计算机程序或人工智能技术创建三维对象,三维对象可以模拟人物或动物的行为和对话。
对于仅有部分肢体姿态数据,但没有手部姿态的三维对象,相关技术中,通过利用动作捕捉手套单独采集多种手部动作来构建手部动作库,在需要驱动三维对象的手部动作时,直接在手部动作库中检索匹配,从而实现对三维对象的精细驱动。
然而,相关技术中通过利用动作捕捉手套构建手部动作库的方式,消耗了大量的人力、物力,且采集到的手部动作与三维对象肢体动作的契合度较差。
发明内容
本申请提供了一种三维对象的姿态补全方法、装置、设备、存储介质及产品,所述技术方案如下。
根据本申请的一方面,提供了一种三维对象的姿态补全方法,所述方法包括:
获取所述三维对象的三维残缺姿态数据,所述三维残缺姿态数据包括所述三维对象的已知关节点的三维关节点数据,所述三维残缺姿态数据中缺少所述三维对象的缺失关节点的三维关节点数据;
调用文生图模型,根据所述三维残缺姿态数据和姿态描述文本生成所述三维对象的二维生成图像;所述姿态描述文本用于描述所述三维残缺姿态数据的当前姿态;
对所述二维生成图像进行关节点识别,得到所述三维对象的所述缺失关节点的三维关节点数据;
根据所述缺失关节点的三维关节点数据补全所述三维残缺姿态数据,得到所述三维对象的三维补全姿态数据。
根据本申请的一方面,提供了一种三维对象的姿态补全装置,所述装置包括:
数据模块,用于获取所述三维对象的三维残缺姿态数据,所述三维残缺姿态数据包括所述三维对象的已知关节点的三维关节点数据,所述三维残缺姿态数据中缺少所述三维对象的缺失关节点的三维关节点数据;
生成模块,用于调用文生图模型,根据所述三维残缺姿态数据和姿态描述文本生成所述三维对象的二维生成图像;所述姿态描述文本用于描述所述三维残缺姿态数据的当前姿态;
识别模块,用于对所述二维生成图像进行关节点识别,得到所述三维对象的所述缺失关节点的三维关节点数据;
补全模块,用于根据所述缺失关节点的三维关节点数据补全所述三维残缺姿态数据,得到所述三维对象的三维补全姿态数据。
根据本申请的另一方面,提供了一种计算机设备,该计算机设备包括:处理器和存储器,存储器中存储有至少一条计算机程序,至少一条计算机程序由处理器加载并执行以实现如上方面所述的三维对象的姿态补全方法。
根据本申请的另一方面,提供了一种计算机存储介质,计算机可读存储介质中存储有至少一条计算机程序,至少一条计算机程序由处理器加载并执行以实现如上方面所述的三维对象的姿态补全方法。
根据本申请的另一方面,提供了一种计算机程序产品,上述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中;所述计算机程序由计算机设备的处理器从所述计算机可读存储介质读取并执行,使得所述计算机设备执行如上方面所述的三维对象的姿态补全方法。
本申请提供的技术方案带来的有益效果至少包括。
通过获取三维对象对应的三维残缺姿态数据和姿态描述文本;将三维残缺姿态数据和姿态描述文本输入文生图模型,使文生图模型生成具有三维对象的二维生成图像,二维生成图像中的三维对象具有完整的姿态。通过对二维生成图像中三维对象的关节点进行识别和提取,可以得到三维对象缺失关节点的三维关节点数据,利用提取到的缺失关节点的三维关节点数据,即可补全三位缺失姿态数据,得到三维对象的完整姿态数据。本申请针对没有手部姿态的三维对象,可以基于三维残缺姿态数据中部分肢体的姿态数据,通过姿态描述文本对三维对象的姿态进行补全,提高了三维对象的姿态补全效率,同时也提高了开源的无肢干姿态的三维姿态数据的利用率。并且,该方法补全的姿态数据,可以与三维对象的原始残缺姿态数据完美匹配,提升了三维对象的姿态补全效果。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的一种三维对象的姿态补全方法的示意图;
图2是本申请一个示例性实施例提供的计算机系统的架构示意图;
图3是本申请一个示例性实施例提供的三维对象的姿态补全方法的流程图;
图4是本申请另一个示例性实施例提供的三维对象的姿态补全方法的示意图;
图5是本申请又一个示例性实施例提供的三维对象的姿态补全方法的流程图;
图6是本申请一个示例性实施例提供的姿态骨架图的示意图;
图7是本申请一个示例性实施例提供的文生图模型和姿态控制插件的示意图;
图8是本申请另一个示例性实施例提供的文生图模型和姿态控制插件的示意图;
图9是本申请又一个示例性实施例提供的文生图模型和姿态控制插件的示意图;
图10是本申请再一个示例性实施例提供的三维对象的姿态补全方法的流程图;
图11是本申请一个示例性实施例提供的相似度匹配的示意图;
图12是本申请还一个示例性实施例提供的三维对象的姿态补全方法的流程图;
图13是本申请一个示例性实施例提供的三维对象的姿态补全装置的框图;
图14是本申请一个示例性实施例提供的计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、预训练模型技术、操作/交互系统、机电一体化等技术。其中,预训练模型又称大模型、基础模型,经过微调后可以广泛应用于人工智能各大方向下游任务。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
计算机视觉技术(Computer Vision,CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。大模型技术为计算机视觉技术发展带来重要变革,Swin-Transformer、ViT(Vision Transformer,视觉Transformer)、V-MOE(Variable Mixture ofExperts,可变混合专家模型)、MAE(Masked Autoencoders,掩码自编码器)等视觉领域的预训练模型经过微调(fine tune)可以快速、广泛适用于下游具体任务。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR(Optical CharacterRecognition,光学字符识别技术)、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D(三维)技术、虚拟现实、增强现实、同步定位与地图构建等技术。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、数字孪生、虚拟人、机器人、人工智能生成内容(AIGC)、对话式交互、智能医疗、智能客服、游戏AI等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例提供的方案涉及人工智能的计算机视觉等技术,具体通过如下实施例进行说明。
本申请实施例提供了一种三维对象的姿态补全方法的示意图,如图1所示,该方法可以由计算机设备执行,计算机设备可以是终端或服务器。
示例性地,计算机设备获取三维对象对应的三维残缺姿态数据序列10和姿态描述文本30;计算机设备将三维残缺姿态数据序列10映射至二维平面,得到姿态骨架图序列20;计算机设备根据姿态描述文本30和姿态骨架图序列20,生成具有人体躯干姿态和手部姿态的人体姿态图序列60,人体姿态图序列60包括至少一张人体姿态图。
三维残缺姿态数据序列10是用于描述三维对象的部分肢体(包含躯体和四肢,不包含手部)姿态的数据;或,三维残缺姿态数据序列10是用于描述三维对象的人体躯干姿态的参数矩阵;或,三维残缺姿态数据序列10是指缺少肢干姿态的人体姿态数据。其中,肢干姿态包括手部姿态、脚部姿态、手指姿态、脚趾姿态中的至少一种,但不限于此。
可选地,三维残缺姿态数据序列10包括描述胸部姿态的数据、描述胳膊姿态的数据、描述腿部姿态的数据中的至少一种,但不限于此。
姿态描述文本30包括描述三维对象当前姿态的描述词;或,姿态描述文本30是用于描述躯干姿态和肢干姿态的描述词。例如,姿态描述文本30为白上衣、黑短裤、男孩、黑鞋、摆手,手张开。
示例性地,对于没有肢干姿态的三维对象,通过获取三维对象对应的三维残缺姿态数据序列10,并将三维残缺姿态数据序列10映射至二维平面,得到姿态骨架图序列20,姿态骨架图序列20中包括至少一张姿态骨架图。计算机设备通过姿态控制插件40对姿态骨架图序列20进行编码,并将编码得到的骨架特征向量作为中间向量和姿态描述文本30对应的描述词特征向量输入至文生图模型50进行图像的生成,得到人体姿态图序列60。在此过程中,文生图模型50基于姿态描述文本30生成人体姿态图,在生成人体姿态图的过程中,文生图模型50以姿态骨架图序列20为约束,也即,生成的人体姿态图中的躯干姿态与三维残缺姿态数据序列10对应的躯干姿态相同。
例如,三维残缺姿态数据序列10中描述的三维对象的躯干姿态为踢腿姿态,姿态描述文本30为白上衣、黑短裤、男孩、黑鞋、摆手,手张开,若仅基于姿态描述文本30进行人体姿态图的生成,则生成的人体姿态图中的三维对象的姿态不受控制,基于此,本申请实施例以三维残缺姿态数据序列10对应的躯干姿态为约束,根据姿态描述文本30和三维残缺姿态数据序列10共同生成以三维残缺姿态数据序列10对应的躯干姿态为基础的人体姿态,从而补全了肢干姿态。
综上所述,本实施例提供的方法,通过获取三维对象对应的三维残缺姿态数据和姿态描述文本;将三维残缺姿态数据映射至二维平面,得到姿态骨架图序列;根据姿态描述文本和姿态骨架图序列,生成具有人体躯干姿态和肢干姿态的人体姿态图序列。本申请在面对没有肢干姿态的三维对象的情况下,基于三维残缺姿态数据对应的躯干姿态,通过姿态描述文本对三维对象的肢干姿态进行补全,提高了三维对象的姿态补全效率,同时也提高了开源的无肢干姿态的三维残缺姿态数据的利用率。
图2示出了本申请一个实施例提供的计算机系统的架构示意图。该计算机系统可以包括:终端100和服务器200。
终端100可以是诸如手机、平板电脑、车载终端(车机)、可穿戴设备、个人计算机(Personal Computer,PC)、智能语音交互设备、智能家电、车载终端、飞行器、无人售货终端等电子设备。终端100中可以安装运行目标应用程序的客户端,该目标应用程序可以是支持三维对象显示的应用程序,也可以是支持三维对象建模、三维对象渲染、三维对象存储的其他应用程序,本申请对此不作限定。另外,本申请对该目标应用程序的形式不作限定,包括但不限于安装在终端100中的应用程序(Application,App)、小程序等,还可以是网页形式。
服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据等基础云计算服务的云服务器。服务器200可以是上述目标应用程序的后台服务器,用于为目标应用程序的客户端提供后台服务。
其中,云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
在一些实施例中,上述服务器还可以实现为区块链系统中的节点。区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链,本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
终端100和服务器200之间可以通过网络进行通信,如有线或无线网络。
本申请实施例提供的三维对象的姿态补全方法,各步骤的执行主体可以是计算机设备,所述计算机设备是指具备数据计算、处理和存储能力的电子设备。以图2所示的方案实施环境为例,可以由终端100执行三维对象的姿态补全方法(如终端100中安装运行的目标应用程序的客户端执行三维对象的姿态补全方法),也可以由服务器200执行该三维对象的姿态补全方法,或者由终端100和服务器200交互配合执行,本申请对此不作限定。
图3是本申请一个示例性实施例提供的三维对象的姿态补全方法的流程图。该方法可以由计算机设备执行,计算机设备可以是图2中的终端100或服务器200。该方法包括以下步骤。
步骤220:获取三维对象的三维残缺姿态数据,三维残缺姿态数据包括三维对象的已知关节点的三维关节点数据,三维残缺姿态数据中缺少三维对象的缺失关节点的三维关节点数据。
三维对象是指虚拟对象的三维模型,虚拟对象可以包括以下至少一种人体、拟人生物、动物、植物、虚构生物。可选的,虚拟对象也可以包括建筑、载具、物品、地形中的至少一种。
三维对象由至少两个关节点(或称为关键点)构成。例如,三维对象是人体时,其三维模型包括人体的关节点;再如,三维对象是建筑时,三维模型包括建筑的关键点。
三维对象的关节点是指三维模型中可以进行旋转、移动等操作的节点。这些节点通常位于三维模型的关节处,例如人体的肩部、肘部、髋部等。通过这些关节点,可以对三维对象进行灵活的变换,以便进行动画制作、游戏设计等应用。在三维建模软件中,关节点通常可以通过一系列的几何运算和算法来计算和确定,以便让三维对象在运动过程中保持自然、平滑和连续的运动轨迹。
当三维对象是人体时,三维对象可以包括以下几类关节点中的至少一种:头部关节点、颈部关节点、左右肩部关节点、脊椎关节点、腰部关节点、左右肘部关节点、左右手腕关节点、左右手指关节点、左右髋部关节点、左右膝盖关节点、左右踝部关节点和左右足部关节点。其中,每类关节点可以包括至少一个关节点。
三维对象的姿态数据包括三维对象的关节点数据。三维对象的一帧姿态数据包括以下至少一种关节点数据:各个关节点的三维位置坐标、各个关节点的关节旋转角、各个关节点的关节点连接关系。
可选的,三维对象的姿态数据可以从三维模型的模型数据中直接获取。例如,三维模型的模型数据中包括:姿态数据(关节点数据)、顶点信息(坐标、法向量等)、面片信息、拓扑信息(面片间的连接关系、骨骼与网格之间的关系等)、纹理数据、材质数据、骨骼动画数据、模型注释、属性信息等。
可选的,若三维模型的模型数据中不包括姿态数据(关节点数据)时,计算机设备可以根据三维模型的模型数据得到姿态数据。例如,对三维模型进行渲染,从渲染结果中识别并提取各个关节点的关节点数据,以得到姿态数据。
三维残缺姿态数据是缺少至少一个关节点的关节点数据的姿态数据。例如,完整的姿态数据应当包含24个关节点的关节点数据,则三维残缺姿态数据中可能只包含20个关节点的关节点数据。三维残缺姿态数据中缺少的关节点可以是同一类关节点,也可以包含至少两类关节点。例如,三维残缺姿态数据中缺少手部(手腕和/或手指)关节点。
可选的,将三维残缺姿态数据中已经包含的关节点称为已知关节点;将三维残缺姿态数据中缺少的关节点称为缺失关节点。
例如,缺失关节点包括至少一个手部关节点。或者,缺失关节点包括至少一个脚部关节点。或者,缺失关节点包括至少一个肘部关节点。
可选的,已知关节点包括能够指示三维对象的姿态粗略轮廓的至少两个关节点。缺失关节点包括用于细化三维对象的姿态细节的至少一个关节点。
在一种可选的实施例中,已知关节点包括躯干关节点,缺失关节点包括肢干关节点。其中,躯干关节点包括头部关节点、颈部关节点、胸部关节点、腰部关节点、四肢关节点中的至少一种。肢干关节点包括:手部关节点、手腕关节点、手指关节点、脚部关节点、脚碗关节点、脚趾关节点中的至少一种。
可选的,三维残缺姿态数据也可以包含全部关节点,但部分关节点的关节点数据有缺失。例如,三维残缺姿态数据包含手部关节点的关节旋转角,但缺少手部关节点的三维位置坐标。
其中,关节点数据又可以称为三维关节点数据,三维关节点数据包括以下至少一种数据:关节点的三维坐标、关节点旋转角、关节点连接关系、关节点名称、关节点标识。
步骤240:调用文生图模型,根据三维残缺姿态数据和姿态描述文本生成三维对象的二维生成图像;姿态描述文本用于描述三维残缺姿态数据的当前姿态。
文生图模型又可以成为文本生成图像模型,是一种能够根据输入的文本生成二维图像的神经网络模型。
文生图模型是一种多模态深度学习模型,可以从描述文本生成与描述文本相匹配的二维图像。其核心原理是将自然语言文本转换为图像空间,同时将视觉特征与语言信息相互联系起来,以实现自然语言文本与图像之间的映射。文生图模型的具体操作过程如下:将文本描述编码为一个特征向量。使用生成器网络合成与该特征向量相对应的图像。文生图模型可用于各种应用,例如为电子商务网站生成真实的产品图像,为残障人士创建视觉辅助工具,为虚拟和增强现实应用程序生成图像以及验证码图片素材的制作。此外,文生图模型还有多种类型,例如基于GAN(Generative Adversarial Networks,生成对抗网络)的文生图模型和SD(Stable Diffusion,稳定扩散)文生图模型等。这些模型都通过大量成对的描述文本和相应二维图像的数据集进行训练,在训练完成后具有根据新描述文本生成二维图像的能力。
例如,文生图模型可以是SD模型,SD模型是一种基于扩散过程的图像生成模型,可以生成高质量、高分辨率的图像。它通过模拟扩散过程,将噪声图像(随机噪声矩阵)逐渐去噪得到目标图像。这种模型具有较强的稳定性和可控性,可以生成具有多样化效果和良好视觉效果的图像。
可选的,文生图模型可以基于姿态描述文本以及三维残缺姿态数据生成一张二维生成图像,二维生成图像是根据姿态描述文本生成的,图像内可以包含有一个生成对象,生成对象呈现状态描述文本所指示的姿态,并且生成对象所呈现的姿态与三维残缺姿态数据中的姿态也相匹配。其中,生成对象可以是与三维对象同类型的对象,或者,生成对象可以与三维对象相同。生成对象是根据姿态描述文本生成的,姿态描述文本中描述得与三维对象越相近,生成对象与三维对象越相似。
文生图模型基于姿态描述文本生成二维生成图像,在生成过程中使用三维残缺姿态数据中所指示的姿态进行约束,使二维生成图像中生成对象的姿态贴近三维残缺姿态数据中的姿态。
姿态描述文本包含用于描述三维对象姿态的至少一个描述词。姿态描述文本用于描述三维残缺姿态数据中三维对象所呈现的姿态。需要说明的是,步骤220的三维残缺姿态数据是一帧姿态数据,或者,三维残缺姿态数据是三维对象的一个连贯动作的姿态序列中的一帧姿态数据。姿态描述文本还可以包含用于描述该连贯动作的至少一个描述词。
例如,姿态描述文本中的描述词可以包含以下至少一种:动作描述词、运动描述词、肢体状态描述词、运动速度描述词、运动风格描述词、动作目的描述词等等。
此外,为了使生成对象与三维对象相贴近,姿态描述文本中还可以包含对三维对象的至少一个描述词。例如,姿态描述文本中包含三维对象的外貌描述词、着装描述词、性别描述词、年龄描述词、性格描述词等等。
需要注意的是,姿态描述文本中描述词的顺序也非常重要,因为它们的顺序会影响到生成图像的权重。通常情况下,越靠前的描述词权重越大,越靠后的描述词权重越小。
示例性的,姿态描述文本包括正向描述词和负向描述词;正向描述词包括二维生成图像的正面要求文本,正向描述词中包括三维对象的当前姿态;负向描述词包括用于描述图像缺陷的至少一个描述词,负向描述词用于引导文生图模型避免生成具有图像缺陷的缺陷图像。
示例性的,负向描述词(排除词)用于描述二维生成图像中不想出现的内容,如:低质量的、水印、皮肤瑕疵等等。
例如,正向描述词可以是:杰作,最好的质量,超详细,最好的阴影,高清,高分辨率,最好的细节,1人,完美的手,白色T恤,黑色短裤,黑色鞋子,黑色短发,简单的背景,白色背景,一个男人用左腿踢某物或某人。
负向描述词可以是:最差画质:2,低画质:2,正常画质:2,低画质,正常画质,单色:1.2,灰度:1.2,皮肤斑点,痤疮,皮肤瑕疵,手指数量不符合常理,肢体数量不符合常理,关节扭曲,器官数量不符合常理,皮肤损伤,体脂状况不符合常理,不适合上班时间浏览,发饰,自拍,解剖结构不好,文本,错误,多余的数字,更少的数字,裁剪,质量最差,低质量,正常质量,jpeg伪影,签名,水印,用户名,模糊。
步骤260:对二维生成图像进行关节点识别,得到三维对象的缺失关节点的三维关节点数据。
可选的,可以使用三维对象的关节点识别算法,从二维生成图像中识别三维对象的全部关节点。并从识别得到的全部关节点中找到缺失关节点。
关节点识别算法可以根据二维图像识别得到各个关节点的三维关节点数据。关节点识别算法是专门被训练为从二维图像中识别关节点的神经网络模型,关节点识别算法在训练过程中学习各个关节点的位置关系、连接关系,进而根据关节点间的固有关联,从输入的二维图像中识别出各个关节点,并输出各个关节点的三维关节点数据。
针对单个部位的关节点识别,可以训练专用的关节点识别算法,例如,可以针对手部关节点的识别任务,训练手部关节点识别算法(手部姿态估计算法)。
可选的,当三维对象的缺失关节点集中在某个部位时,还可以先识别二维生成图像中的目标部位所在的目标区域,二维生成图像中的目标区域截取为目标图像,使用目标部位的关节点识别算法识别缺失关节点。
例如,当缺失关节点是手部关节点时,可以使用ACR(Attention Collaboration-based Regressor,基于注意力协作的回归模型)手部姿态估计算法对二维生成图像进行手部关节点识别,得到缺失的手部关节点的关节点数据。
由于文生图模型可以基于姿态描述文本生成具有该姿态的图像(二维生成图像),且可以使用三维残缺姿态数据对生成图像中的姿态进行约束,使文生图模型生成更加贴近三维对象当前姿态的二维生成图像。
在生成的二维生成图像中生成对象呈现完整姿态,则对二维生成图像进行关节点提取,就可以提取出三维对象当前姿态下的完整关节点分布,因此,基于二维生成图像就可以识别并提取到缺失关节点的三维关节点数据,进而使用识别得到的缺失关节点的三维关节点数据对三维残缺姿态数据进行数据补全。
以缺失关节点是手部关节点为例,如图4所示,二维生成图像301包含了人物的完整姿态,对二维生成图像301中人物的手部302进行手部姿态估计,就可以得到手部关节点的三维关节点数据。
步骤280:根据缺失关节点的三维关节点数据补全三维残缺姿态数据,得到三维对象的三维补全姿态数据。
示例性的,将识别得到的缺失关节点的三维关节点数据填入三维残缺姿态数据,即可对三维残缺姿态数据进行补全,得到三维补全姿态数据。
三维补全姿态数据中包括三维对象全部关节点的三维关节点数据。即,三维补全姿态数据中包括:三维对象的已知关节点的三维关节点数据,以及,缺失关节点的关节点数据。
综上所述,本实施例提供的方法,通过获取三维对象对应的三维残缺姿态数据和姿态描述文本;将三维残缺姿态数据和姿态描述文本输入文生图模型,使文生图模型生成具有三维对象的二维生成图像,二维生成图像中的三维对象具有完整的姿态。通过对二维生成图像中三维对象的关节点进行识别和提取,可以得到三维对象缺失关节点的三维关节点数据,利用提取到的缺失关节点的三维关节点数据,即可补全三位缺失姿态数据,得到三维对象的完整姿态数据。本申请针对没有手部姿态的三维对象,可以基于三维残缺姿态数据中部分肢体的姿态数据,通过姿态描述文本对三维对象的姿态进行补全,提高了三维对象的姿态补全效率,同时也提高了开源的无肢干姿态的三维姿态数据的利用率。并且,该方法补全的姿态数据,可以与三维对象的原始残缺姿态数据完美匹配,提升了三维对象的姿态补全效果。
下面给出一种使用具有姿态控制插件的文生图模型生成二维生成图像的示例性实施例。
图5是本申请一个示例性实施例提供的三维对象的姿态补全方法的流程图。该方法可以由计算机设备执行,计算机设备可以是图2中的终端100或服务器200。基于图3所示实施例,步骤240包括步骤241和步骤242。
步骤220:获取三维对象的三维残缺姿态数据,三维残缺姿态数据包括三维对象的已知关节点的三维关节点数据,三维残缺姿态数据中缺少三维对象的缺失关节点的三维关节点数据。
例如,获取三维人体的三维餐区姿态数据,三维残缺姿态数据包括人体的已知关节点的三维关节点数据,已知关节点包括人体的头部、躯干以及四肢的关节点;三维残缺姿态数据中缺少三维人体的缺失关节点的三维关节点数据,缺失关节点包括人体的手部关节点。
步骤241:将三维残缺姿态数据映射至二维平面,得到姿态骨架图。
姿态骨架图是一张二维图像,姿态骨架图中标注出了已知关节点的位置以及已知关节点间的连接关系。
可选的,可以按照OpenPose(开放式姿态)算法中规定的骨骼与关节颜色绘制姿态骨架图。如图6中的(1)所示,姿态骨架图用不同颜色的圆点标注关节点所在位置,不同颜色的圆点表征不同关节点。用不同颜色的线段连接各个关节点,不同颜色的线段用于指示人体的不同部位。更清楚地,如图6中的(2)所示,姿态骨架图可以直观指示出各个关节点的位置以及连接关系。
可选的,计算机设备根据虚拟相机参数,将三维残缺姿态数据映射至虚拟相机的二维成像平面,得到关节点图,关节点图包括至少两个已知关节点的二维关节点坐标;根据至少两个已知关节点的关节点连接关系,连接关节点图中的至少两个已知关节点,得到姿态骨架图。
其中,虚拟相机参数包括:虚拟相机的坐标、虚拟相机相对三维对象的位置、虚拟相机的内置参数中的至少一种。
例如,可以采用如下的虚拟相机参数:分辨率512*512、焦距为50mm、传感器尺寸为36mm、与三维对象的根节点的距离为8m、与腰部Root(根)节点平齐、拍摄方向垂直于三维对象躯体平面(躯体平面可以是根据两个肩部关节点、和腰部根节点确定出的平面)。
步骤242:将姿态描述文本输入文生图模型,调用姿态控制插件根据姿态骨架图约束文生图模型的图像生成过程,得到三维对象的二维生成图像。
其中,二维生成图像中已知关节点的姿态与姿态骨架图一致。
示例性的,文生图模型包括姿态控制插件,姿态控制插件用于根据姿态骨架图约束文生图模型生成的二维生成图像。
姿态控制插件采用如图7所示的原理约束文生图模型的图像生成过程。如图7中的(1)所示,为文生图模型中的一个神经网络块303,该神经网络块303的输入为x,输出为y。采用姿态控制插件约束生成过程时,如图7中的(2)所示,姿态控制插件的网络包括神经网络块的可训练副本304和两个零卷积层。其中,神经网络块的可训练副本304是直接复制文生图模型的神经网络块303得到的。在应用过程中,将约束条件c(姿态骨架图)输入第一零卷积层,然后将第一零卷积层的输出与输入x相加,将相加结果输入可训练副本304,然后将可训练副本304的输出输入第二零卷积层,将第二零卷积层的输出与神经网络块303原本的输出y相加,得到最终的输出y’。如此,便可以使姿态控制插件约束文生图模型的图像生成过程,使约束条件c可以约束文生图模型的输出数据。
需要说明的是,在训练姿态控制插件时,会锁定文生图模型中神经网络块303内的网络参数(固定参数不参与训练过程中的参数调整),然后使用训练样本调整姿态控制插件中两个零卷积层和可训练副本中的网络参数,使文生图模型可以在姿态控制插件的约束下,输出训练样本的目标输出。其中,在对姿态控制插件进行初始化时,两个零卷积层内的网络参数设置为0,可训练副本304的初始参数与神经网络块303相同。
在一种可选的实施例中,如图8所示,文生图模型包括第一网络401和第二网络402;姿态控制插件包括第一零卷积层404、第一网络的网络副本403和第二零卷积层405;网络副本403是使用第一网络401的网络结构和网络参数进行初始化后训练得到的网络,即,网络副本403与第一网络401的网络结构相同,网络参数不一定相同;步骤242可以包括如下步骤:
1)将姿态描述文本输入第一网络401,得到文本特征。可选的,将姿态描述文本输入文本编码器406,得到文本编码结果,将文本编码结果输入第一网络401得到文本特征。
2)将姿态骨架图输入第一零卷积层404,得到姿态卷积结果。
3)将姿态卷积结果与随机噪声矩阵相加,得到约束噪声矩阵;随机噪声矩阵是符合高斯分布的随机矩阵。图文生成模型根据输入的姿态描述文本对随机噪声矩阵进行去噪,得到最终的二维生成图像。
4)将约束噪声矩阵和姿态骨架图输入网络副本403,得到第一约束特征。
5)将第一约束特征输入第二零卷积层405,得到第二约束特征。
6)将第二约束特征和文本特征相加,得到文本约束特征。
7)将文本约束特征和姿态描述文本输入第二网络402,得到三维对象的二维生成图像。可选的,将文本约束特征和文本编码结果输入第二网络,得到三维对象的二维生成图像。
示例性的,第一网络包括至少一个编码器;第二网络包括至少一个解码器。
在一种可选的实施例中,如图9所示,文生图模型可以采用SD模型,姿态控制插件可以采用SD模型中的Control Net(控制网络)插件中的OpenPose模式。即,文生图模型包括文本编码器、编码器1、编码器2、编码器3、编码器4、中间网络、解码器4、解码器3解码器2和解码器1。姿态控制插件包括第一零卷积层、编码器1副本、编码器2副本、编码器3副本、编码器4副本、中间网络副本、第二零卷积层1、第二零卷积层2、第二零卷积层3、第二零卷积层4和第二零卷积层5。
使用文生图模型和姿态控制插件得到二维生成图像的过程如下:
(1)将姿态描述文本输入文本编码器,得到文本编码结果。然后将文本编码结果和随机噪声矩阵输入编码器1,将文本编码结果和编码器1的输出输入编码器2,将文本编码结果和编码器2的输出输入编码器3、将文本编码结果和编码器3的输出输入编码器4。其中,随机噪声矩阵可以是64*64维的数据,编码器1的输出可以是32*32维的数据,编码器2的输出可以是16*16维的数据,编码器3的输出可以是8*8维的数据,编码器4的输出可以是8*8维的数据。
(2)将姿态骨架图输入第一零卷积层。将第一零卷积层输出结果与随机噪声矩阵相加。将相加结果与文本编码结果输入编码器1副本,将文本编码结果与编码器1副本的输出输入编码器2副本,将文本编码结果与编码器2副本的输出输入编码器3副本,将文本编码结果与编码器3副本的输出输入编码器4副本,将文本编码结果与编码器4副本的输出中间网络副本。
(3)将中间网络副本的输出输入第二零卷积层1。将文本编码结果和编码器4的输出输入中间网络。将第二零卷积层1的输出与中间网络中至少一层网络块的输出相加(参见图7中示意的过程),使中间网络根据相加后的结果得到中间网络的输出。
(4)将编码器4副本的输出输入第二零卷积层2。将文本编码结果和中间网络的输出输入解码器4。将第二零卷积层2的输出与解码器4中至少一层网络块的输出相加(参见图7中示意的过程),使解码器4根据相加后的结果得到解码器4的输出。
(5)将编码器3副本的输出输入第二零卷积层3。将文本编码结果和解码器4的输出输入解码器3。将第二零卷积层3的输出与解码器3中至少一层网络块的输出相加(参见图7中示意的过程),使解码器3根据相加后的结果得到解码器3的输出。
(6)将编码器2副本的输出输入第二零卷积层4。将文本编码结果和解码器3的输出输入解码器2。将第二零卷积层4的输出与解码器2中至少一层网络块的输出相加(参见图7中示意的过程),使解码器2根据相加后的结果得到解码器2的输出。
(7)将编码器1副本的输出输入第二零卷积层5。将文本编码结果和解码器2的输出输入解码器1。将第二零卷积层5的输出与解码器1中至少一层网络块的输出相加(参见图7中示意的过程),使解码器1根据相加后的结果得到解码器1的输出。
可选的,可以将解码器1的输出结果重新作为输入407(替换上述过程中的随机噪声矩阵),迭代重复执行上述(1)到(7)的过程,直至迭代次数满足次数阈值,将最后一次解码器1的输出作为文生图模型最终输出的二维生成图像。
步骤260:对二维生成图像进行关节点识别,得到三维对象的缺失关节点的三维关节点数据。
步骤280:根据缺失关节点的三维关节点数据补全三维残缺姿态数据,得到三维对象的三维补全姿态数据。
综上所述,本实施例提供的方法,使用姿态控制插件约束文生图模型的图像生成过程,使文生图模型可以基于姿态骨架图的约束生成二维生成图像,控制二维生成图像中生成对象的姿态与姿态骨架图一致。使识别得到的缺失关节点能够与已知关节点更加匹配,提高了三维对象的姿态补全效率和补全效果,同时也提高了开源的无肢干姿态的三维姿态数据的利用率。
示例性的,上述三维对象的姿态可以是连贯动作中的一帧姿态,为了使三维对象的连贯动作中前后姿态更顺滑,还会基于前后帧姿态对补全姿态进行相似度判定,若相似度较差,则可以重新生成补全姿态。
示例性的,使用上述方法补全连贯动作中的各个姿态后,还可以对连贯动作中的各个姿态进行平滑处理,进一步提升动作连贯性。
图10是本申请一个示例性实施例提供的三维对象的姿态补全方法的流程图。该方法可以由计算机设备执行,计算机设备可以是图2中的终端100或服务器200。基于图3所示实施例,步骤260之后还包括步骤270,和/或,步骤280之后还包括步骤290。
步骤220:获取三维对象的三维残缺姿态数据,三维残缺姿态数据包括三维对象的已知关节点的三维关节点数据,三维残缺姿态数据中缺少三维对象的缺失关节点的三维关节点数据。
示例性的,三维残缺姿态数据是三维对象的动作序列中的一帧姿态数据,动作序列包括至少两帧姿态数据。即,步骤220可以是获取三维对象的动作序列中的第i帧三维残缺姿态数据。动作序列包括n帧姿态数据,i为不大于n的正整数,n为正整数。
例如,获取三维对象的一组动作序列,一组动作序列包含了至少两帧姿态数据。其中,至少一帧姿态数据中缺少关节点。或者,动作序列中的每一帧姿态数据都缺少关节点。可选的,每一帧姿态数据缺少的关节点可以相同也可以不同。
本申请实施例以动作序列中每一帧姿态数据都缺少手部关节点为例进行说明。则为了补全动作序列中每一帧姿态数据中的手部关节点,可以针对动作序列中的每一帧姿态数据,采用前述实施例中的方法对每一帧姿态数据中的手部关节点进行补全。
为了使动作序列补全后手部动作更丝滑,可以采用本实施例中提供的步骤270和/或步骤290进行平滑。
步骤240:调用文生图模型,根据三维残缺姿态数据和姿态描述文本生成三维对象的二维生成图像;姿态描述文本用于描述三维残缺姿态数据的当前姿态。
针对第i帧三维残缺姿态数据,调用文生图模型根据第i帧三维残缺姿态数据和姿态描述文本生成三维对象的第i帧二维生成图像。姿态描述文本用于描述动作序列中的动作。第i帧二维生成图像中的生成对象与第i帧三维残缺姿态数据中的姿态相同。
步骤260:对二维生成图像进行关节点识别,得到三维对象的缺失关节点的三维关节点数据。
对第i帧二维生成图像进行关节点识别,得到第i帧三维残缺姿态数据中的缺失关节点的三维关节点数据。
步骤270:在第一关节点数据与第二关节点数据的姿态相似度小于相似度阈值的情况下,重新执行步骤240、步骤260和步骤270,直至姿态相似度不小于相似度阈值。
在第一关节点数据与第二关节点数据的姿态相似度不小于相似度阈值的情况下,执行步骤280。
其中,第一关节点数据包括二维生成图像中缺失关节点的三维关节点数据,第二关节点数据包括历史姿态数据中缺失关节点的三维关节点数据;历史姿态数据包括动作序列中位于三维残缺姿态数据之前的至少一帧姿态数据。
即,计算第i帧缺失关节点与第i-1帧缺失关节点的相似度,在相似度较高时,继续生成下一帧(第i+1帧)缺失关节点;在相似度较低时重新生成第i帧缺失关节点。第i帧缺失关节点是根据第i帧三维残缺姿态数据得到的缺失关节点的三维关节点数据。第i-1帧缺失关节点是动作序列中第i-1帧三维残缺姿态数据得到的缺失关节点的三维关节点数据。
需要说明的是,当i取1时,可以不执行步骤270计算相邻两帧的姿态相似度。
示例性的,三维关节点数据包括三维位置坐标和关节旋转角,下面给出一种计算姿态相似度的方法:
根据第一关节点数据的三维位置坐标,得到补全矩阵;以及根据第二关节点数据的三维位置坐标,得到历史矩阵;计算补全矩阵和历史矩阵的余弦相似度,得到第一相似度;以及计算第一关节点数据的关节旋转角与第二关节点数据的关节旋转角的差值,得到第二相似度;将第一相似度和第二相似度加权求和,得到姿态相似度。
其中,缺失关节点的数量为至少两个,则第二相似度可以按照如下方法计算:计算第一关节点数据的关节旋转角与第二关节点数据的关节旋转角的差值,得到每个缺失关节点的关节旋转角差值;根据缺失关节点中每个缺失关节点的权重,对至少两个关节旋转角差值进行加权求和,得到第二相似度;其中,缺失关节点中父节点的权重高于子节点的权重;父节点与三维对象中根节点间的关节点数量为第一数量,子节点与根节点间的关节点数据量为第二数量,第一数量小于第二数量。即,相连两个关节点中,与根节点层级更近的关节点为父节点,与根节点层级更远的关节点为子节点。例如,腕关节是手关节的父节点。
采用步骤270的方法,就可以保证相邻两帧缺失关节点的姿态相似度大于相似度阈值,保证相邻两帧姿态连贯性。例如,如图11中的(1)所示,若当前帧408中的手部姿态与前一帧409中的手部姿态姿态差异过大,则重新生成当前帧的手部姿态。如图11中的(2)所示,重新生成的手部姿态410与前一帧409中的手部姿态姿态差异较小,动作更加平滑。
步骤280:根据缺失关节点的三维关节点数据补全三维残缺姿态数据,得到三维对象的三维补全姿态数据。
可选的,根据第i帧三维残缺姿态数据中的缺失关节点的三维关节点数据,补全第i帧三维残缺姿态数据,得到第i帧三维补全姿态数据。
步骤290:根据动作序列中的相邻姿态数据,对三维补全姿态数据进行平滑处理,得到三维平滑姿态数据。
其中,相邻姿态数据包括:动作序列中位于三维残缺姿态数据之前的至少一帧姿态数据,以及,动作序列中位于三维残缺姿态数据之后的至少一帧姿态数据;或,相邻姿态数据包括:动作序列中位于三维残缺姿态数据之前的至少一帧姿态数据;或,相邻姿态数据包括:动作序列中位于三维残缺姿态数据之后的至少一帧姿态数据。
可选的,可以采用平滑算法对动作序列中的缺失关节点的三维关节点数据进行数据平滑,得到一帧帧平滑后的三维平滑姿态数据。例如,平滑算法可以采用移动平均平滑算法、指数平滑算法、中值滤波平滑算法、局部多项式平滑算法等。
综上所述,本实施例提供的方法,在生成每一帧缺失关节点后,还可以根据前一帧缺失关节点对当前帧缺失关节点进行姿态相似度匹配,若当前帧缺失关节点与前一帧缺失关节点的姿态差异过大,则重新生成当前帧缺失关节点,直至当前帧缺失关节点与前一帧缺失关节点的姿态差异小于阈值,如此,可以保证在一个动作序列中缺失关节点的动作连贯丝滑,提高关节点补全效果。
本实施例提供的方法,在补全动作序列中每一帧缺失关节点后,还可以使用平滑算法对动作序列中的缺失关节点进行数据平滑处理,使整个动作序列中缺失关节点的姿态过渡更平滑,保证补全后得到的动作序列具有较好的视觉效果。
下面给出一种应用本申请实施例提供的方法补全三维人体的手部姿态的示例性实施例。
图12是本申请一个示例性实施例提供的三维对象的姿态补全方法的流程图。该方法可以由计算机设备执行,计算机设备可以是图2中的终端100或服务器200。该方法包括以下步骤。
本实施例主要利用了Stable Diffusion文生图框架以及Control Net插件的OpenPose模式来实现人体手部姿态的补全。
Stable Diffusion(SD)是一种文生图框架,使用可微分的扩散方程模拟噪声逐渐减小的过程,以生成高质量的样本。同时在扩散去噪的过程中引入了文本描述特征来控制去噪的概率分布,从而生成与输入文本描述相关的图像。然而单纯使用文本来控制人体图像约束力不够强,很难得到指定的人体动作图像。因此本实施例还使用了Control Net插件的OpenPose模式来进一步约束生成图像的人体姿态。Control Net插件的原理是在SD扩散模型中插入条件控制分支来影响生成的图像,该分支能输入各种形态的条件控制图像,如深度图、边缘图、人体姿态图、语义分割图等,实现对生成图像的精准控制。这里利用了OpenPose模式,即输入人体姿态图来控制SD文生图中的人体姿态。
步骤901:三维人体关节重投影与平面骨架图制作:将三维人体关节坐标重投影到二维平面,并按照OpenPose骨架图标准,绘制平面骨架图序列。
由于Control Net只能输入二维平面骨架图,因此在得到三维人体动作序列之后,需要对其进行预处理。这里将其中一帧三维人体姿态导入Blender中,并设置一个虚拟相机,设定一个比较合理的相机内外参数,使整个人体骨架位于拍摄画面的中间,并记录下相机的内外参数。使用的相机参数参考值如下:分辨率512*512,焦距为50mm,传感器尺寸为36mm,与人体骨架的距离为8m,并于腰部Root节点平齐。然后根据这些相机参数计算得到相机的内外参矩阵,即可将三维关节坐标投影到图像平面上,得到关节在图像上对应的二维坐标。这时需要按照OpenPose算法中规定的骨骼与关节颜色,根据前面求得的关节二维坐标,在一张尺寸为512*512的黑色图像上绘制对应颜色的关节点,再用对应颜色连接关节得到骨骼,组成一张平面骨架图。
步骤902:根据动作序列描述和文生图描述词模板生成描述词。
在生成图像之前,首先会制定一套文生图的正向描述词模板和负向描述词模板,这样图像会尽可能地生成正向描述词中的内容,同时尽可能避免生成负向描述词中的内容。此外,在生成每一个动作序列的人体图像时,会将正向描述词与该动作的文本描述相结合,使生成的图像更加符合该动作,诸如站立、行走、踢腿等单体行为,或者举杯等存在交互的行为。
其中,文生图描述词模板包括正向描述词模板和负向描述词模板,正向描述词模板中包括至少一个正向描述词和当前姿态的描述文本,其中,正向描述词是可以是固定模板,当前姿态的描述文本可以根据不同的要求更改。负向描述词模板中包括至少一个负向描述词,负向描述词是固定模板。
可选的,使用的正向描述词模版为:
“(masterpiece, best quality, ultra-detailed, best shadow), HD, highresolution, best details, 1boy, perfect hand, white T-shirt, black shortpants, black shoes, short black hair, simple background, white background,{action prompt}”。
其中的{action prompt}需要连同大括号一起替换成对应动作的文本描述,如“aman kicks something or someone with his left leg”,则最终的正向描述词模版为:
“(masterpiece, best quality, ultra-detailed, best shadow), HD, highresolution, best details, 1boy, perfect hand, white T-shirt, black shortpants, black shoes, short black hair, simple background, white background, aman kicks something or someone with his left leg”。
可选的,使用的负向描述词模版为:
“(worst quality:2),(low quality:2),(normal quality:2),lowers,normalquality, (monochrome:1.2),(grayscale:1.2),skin spots,acnes,skin blemishes,jpeg artifacts,cropped,bad anatomy,nsfw,hair ornaments,selfie,lowres,text,error, worst quality,low quality,normal quality,signature,watermark,username,blurry,the number of fingers does not conform to common sense,the number oflimbs does not conform to common sense, joint distortion, the number oforgans does not conform to common,the skin damage,body fat percentage doesnot conform to common sense”。
步骤903:将正、负向描述词输入到SD文生图框架的描述词文本框中,将平面骨架图输入到SD框架中Control Net插件的图像选框中,并选择OpenPose模式,处理器选择None(无)。文生图的其他参数设置参考如下:采样器为DPM(Data Processing Module,数据处理模块)++ 2M a Karras,采样步数为20,CFG(配置文件)尺度为7,尺寸为512*512。点击生成即可得到如图4所示的指定动作的人体姿态图像。
步骤904:在得到带有合理手部的人体姿态图像之后,使用ACR手部姿态估计算法,得到图像中双手各个关节的关节点数据。
步骤905:与前一帧的手部动作计算相似度,判断相似度是否足够高。
为了确保整个动作序列中,手部动作是连贯平滑的,在每一帧图像生成的过程中引入了时序稳定性判定机制。该机制的原理是,获取前一帧与当前帧生成图像中的手部姿态矩阵,然后计算两个矩阵的余弦相似度以及每个关节的差值,再将所有数值加权结合得到两帧图像的手部动作相似度。其中每个关节的权重与该关节的重要性相关,一般认为父关节权重更大,子关节权重更小。当相似度过低时,则重新执行步骤903生成当前帧图像,直到前后两帧的手部动作差异不过大为止,效果如图11所示。可以看出,由于时序稳定性判定机制的引入,使得前后帧中的手部动作更为连贯合理。此时会将当前的手部动作合并到身体姿态中进行保存。
步骤906:所有帧生成完毕,再对整个手部动作序列进行平滑,最终得到完整的全身姿态。
在完成整段动作的手部动作补全后,会再次将双手的动作序列进行一次平滑处理,到此完成手部动作的补全处理。
综上所述,本实施例提供的方法,提出了一种基于Stable Diffusion文生图的方法,采用Control Net和人体骨架平面图像对生成图像中的人体躯干姿态进行强约束,并利用Stable Diffusion扩散大模型中丰富的先验信息,基于描述词生成该躯干姿态下合理的人体图像,即便是与物体交互的动作,也能用描述词进行约束,从而得到更为合理且多样的手部姿态。此外,还引入了手部姿态时序稳定性判定机制,使得生成的手部姿态序列更加平滑。
本实施例提供的方法,能够利用Stable Diffusion和Control Net文生图方法,为没有手部姿态的三维人体姿态数据补全合理的手部姿态,从而实现对虚拟人更精细的驱动,并且在人体数据生成的深度学习领域,能更有效地利用开源人体姿态数据集,以及降低数据采集成本。其中,在得到一段没有手部姿态的三维人体姿态序列后,会首先将其在二维平面进行重投影,并按照OpenPose人体姿态骨架图的标准绘制出每一帧平面骨架图。其次会根据动作序列的行为标签生成用于文生图的描述词。再将描述词和所有平面骨架图输入配有Contro lNet插件的Stable Diffusion文生图框架中,即可生成对应姿态的人体平面图像。此时利用三维手部姿态估计算法即可获得生成图像中人体手部的姿态,实现姿态数据补全。此外,为了让整个姿态序列的手部动作更加平滑,会在生成当前帧图像的同时,计算当前帧手部姿态和前一帧手部姿态的相似性,从而消除手部姿态剧烈变化的问题。
本实施例提供的方法,在面对没有手部动作的身体动作数据时,不需要额外采集手部动作,也不需要训练深度学习模型,只需要利用SD文生图框架即可实现手部动作补全,并且生成的动作更加丰富,更加贴切,能有效降低人力物力成本,提高无手开源人体姿态数据的利用率。
本申请实施例提供的姿态补全方法可以应用于具有三维虚拟对象的应用程序中,例如,应用于游戏应用程序中补全三维虚拟角色的姿态,或者, VR/AR应用程序中补全三维对象关节点或补全三维地形的关键点,或者,应用于虚拟直播应用程序中补全三维虚拟主播的姿态,或者,应用于AI问答应用程序中,补全AI虚拟形象的姿态,或者,应用于动画制作应用程序中补全三维动画角色的姿态等等。
下面以应用于游戏应用程序中,补全三维虚拟角色(三维对象)的手部姿态为例,进行举例说明,该方法可以由游戏应用程序的客户端执行,也可以由游戏应用程序的服务器执行。
游戏应用程序中存储有动作库。动作库中用于存储三维虚拟角色的至少一个动作的完整姿态序列。在渲染三维虚拟角色执行动作时,可以直接从动作库中读取目标动作的完整姿态序列,按照目标动作的完整姿态序列顺序渲染三维虚拟角色,即可显示出三维虚拟角色执行目标动作。
其中,每个动作的残缺姿态序列可以由开发人员人工绘制而成,由人工确定在执行一个动作时三维虚拟角色的各个躯体关节点位置,以及各个躯体关节点的运动轨迹。但由于手部关节点数量较多,且手部关节点的运动轨迹较灵活,由人工确定一个动作中手部关节点的位置和运动轨迹,其工作量巨大,人工执行的效率过低。因此,可以采用本申请实施例提供的方法,基于人工确定出的残缺姿态,执行姿态补全,补全手部姿态,以得到完整姿态。
1、从动作库中读取目标动作的残缺姿态序列,残缺姿态序列包括目标动作的至少两帧残缺姿态。残缺姿态序列中的每帧残缺姿态包括躯体关节点的三维关节点数据。躯体关节点包括:头部关节点、颈部关节点、躯干关节点、四肢关节点,躯体关节点中缺少手部关节点(手腕关节点和手指关节点)。
2、从至少两帧残缺姿态中获取一帧残缺姿态。调用文生图模型,根据该帧残缺姿态数据和目标动作的姿态描述文本生成三维虚拟角色的二维生成图像;姿态描述文本用于描述目标动作。
3、对二维生成图像进行关节点识别,得到三维虚拟角色的手部关节点的三维关节点数据。
4、根据手部关节点的三维关节点数据补全该帧残缺姿态,得到一帧完整姿态。
5、随后继续获取残缺姿态序列中的下一帧残缺姿态,执行1、2、3、4、5的步骤,补全目标动作中的每一帧残缺姿态序列,得到目标动作的完整姿态序列。
其中,使用文生图模型补全残缺姿态的方法可以参见上述任一实施例提供的方法,在此不再赘述。
将动作库中的每个动作进行姿态补全后,就可以按照动作库中存储的姿态序列,控制三维虚拟角色执行各个动作。例如,当接收到控制三维虚拟角色执行目标动作的触发操作时,从动作库中独权目标动作对应的完整姿态序列,按照完整姿态序列顺序渲染三维虚拟角色的每一帧画面,即可以得到三维虚拟角色执行目标动作的一帧帧画面,顺序播放这些画面就可以显示出三维虚拟角色执行目标动作。
综上所述,采用上述方法,可以对动作库中的每一个动作进行姿态补全,基于人工绘制的躯体姿态补全手部姿态,得到动作的完整姿态,提高动作的开发效率,同时也提高了开源的无手部姿态的三维姿态数据的利用率。并且,该方法补全的手部姿态,可以与三维虚拟角色的躯体姿态完美匹配,提升了三维虚拟角色的姿态补全效果。
图13示出了本申请一个示例性实施例提供的三维对象的姿态补全装置的结构示意图。该装置可以通过软件、硬件或者两者的结合实现成为计算机设备的全部或一部分,该装置包括:
数据模块1001,用于获取所述三维对象的三维残缺姿态数据,所述三维残缺姿态数据包括所述三维对象的已知关节点的三维关节点数据,所述三维残缺姿态数据中缺少所述三维对象的缺失关节点的三维关节点数据;
生成模块1002,用于调用文生图模型,根据所述三维残缺姿态数据和姿态描述文本生成所述三维对象的二维生成图像;所述姿态描述文本用于描述所述三维残缺姿态数据的当前姿态;
识别模块1003,用于对所述二维生成图像进行关节点识别,得到所述三维对象的所述缺失关节点的三维关节点数据;
补全模块1004,用于根据所述缺失关节点的三维关节点数据补全所述三维残缺姿态数据,得到所述三维对象的三维补全姿态数据。
在一种可选的实施例中,所述文生图模型包括姿态控制插件,所述姿态控制插件用于根据姿态骨架图约束所述文生图模型生成的所述二维生成图像;
所述生成模块1002,用于将所述三维残缺姿态数据映射至二维平面,得到所述姿态骨架图;
所述生成模块1002,用于将所述姿态描述文本输入所述文生图模型,调用所述姿态控制插件根据所述姿态骨架图约束所述文生图模型的图像生成过程,得到所述三维对象的所述二维生成图像;
其中,所述二维生成图像中所述已知关节点的姿态与所述姿态骨架图一致。
在一种可选的实施例中,所述文生图模型包括第一网络和第二网络;
所述姿态控制插件包括第一零卷积层、所述第一网络的网络副本和第二零卷积层;所述网络副本是使用所述第一网络的网络结构和网络参数进行初始化后训练得到的网络;
所述生成模块1002,用于将所述姿态描述文本输入所述第一网络,得到文本特征;
所述生成模块1002,用于将所述姿态骨架图输入所述第一零卷积层,得到姿态卷积结果;
所述生成模块1002,用于将所述姿态卷积结果与随机噪声矩阵相加,得到约束噪声矩阵;所述随机噪声矩阵是符合高斯分布的随机矩阵;
所述生成模块1002,用于将所述约束噪声矩阵和所述姿态骨架图输入所述网络副本,得到第一约束特征;
所述生成模块1002,用于将所述第一约束特征输入所述第二零卷积层,得到第二约束特征;
所述生成模块1002,用于将所述第二约束特征和所述文本特征相加,得到文本约束特征;
所述生成模块1002,用于将所述文本约束特征和所述姿态描述文本输入第二网络,得到所述三维对象的所述二维生成图像。
在一种可选的实施例中,所述第一网络包括至少一个编码器;所述第二网络包括至少一个解码器。
在一种可选的实施例中,所述姿态描述文本包括正向描述词和负向描述词;
所述正向描述词包括所述二维生成图像的正面要求文本,所述正向描述词中包括所述三维对象的所述当前姿态;
所述负向描述词包括用于描述图像缺陷的至少一个描述词,所述负向描述词用于引导所述文生图模型避免生成具有所述图像缺陷的缺陷图像。
在一种可选的实施例中,所述三维残缺姿态数据是所述三维对象的动作序列中的一帧姿态数据,所述动作序列包括至少两帧姿态数据;所述装置还包括:
相似度匹配模块1005,用于在第一关节点数据与第二关节点数据的姿态相似度小于相似度阈值的情况下,重新执行以下步骤,直至所述姿态相似度不小于所述相似度阈值:
调用所述文生图模型,根据所述三维残缺姿态数据和姿态描述文本生成所述三维对象的二维生成图像;
对所述二维生成图像进行关节点识别,得到所述三维对象的所述缺失关节点的三维关节点数据;
其中,所述第一关节点数据包括所述二维生成图像中所述缺失关节点的三维关节点数据,所述第二关节点数据包括所述历史姿态数据中所述缺失关节点的三维关节点数据;所述历史姿态数据包括所述动作序列中位于所述三维残缺姿态数据之前的至少一帧姿态数据。
在一种可选的实施例中,所述三维关节点数据包括三维位置坐标和关节旋转角;
所述相似度匹配模块1005,用于根据所述第一关节点数据的所述三维位置坐标,得到补全矩阵;以及根据所述第二关节点数据的所述三维位置坐标,得到历史矩阵;
所述相似度匹配模块1005,用于计算所述补全矩阵和所述历史矩阵的余弦相似度,得到第一相似度;以及计算所述第一关节点数据的所述关节旋转角与所述第二关节点数据的所述关节旋转角的差值,得到第二相似度;
所述相似度匹配模块1005,用于将所述第一相似度和所述第二相似度加权求和,得到所述姿态相似度。
在一种可选的实施例中,所述缺失关节点的数量为至少两个;
所述相似度匹配模块1005,用于计算所述第一关节点数据的所述关节旋转角与所述第二关节点数据的所述关节旋转角的差值,得到每个所述缺失关节点的关节旋转角差值;
所述相似度匹配模块1005,用于根据所述缺失关节点中每个缺失关节点的权重,对至少两个关节旋转角差值进行加权求和,得到所述第二相似度;
其中,所述缺失关节点中父节点的权重高于子节点的权重;所述父节点与所述三维对象中根节点间的关节点数量为第一数量,所述子节点与所述根节点间的关节点数据量为第二数量,所述第一数量小于所述第二数量。
在一种可选的实施例中,所述三维残缺姿态数据是所述三维对象的动作序列中的一帧姿态数据,所述动作序列包括至少两帧姿态数据;所述装置还包括:
平滑模块1006,用于根据所述动作序列中的相邻姿态数据,对所述三维补全姿态数据进行平滑处理,得到三维平滑姿态数据;
其中,所述相邻姿态数据包括:所述动作序列中位于所述三维残缺姿态数据之前的至少一帧姿态数据,以及,所述动作序列中位于所述三维残缺姿态数据之后的至少一帧姿态数据;
或,所述相邻姿态数据包括:所述动作序列中位于所述三维残缺姿态数据之前的至少一帧姿态数据;
或,所述相邻姿态数据包括:所述动作序列中位于所述三维残缺姿态数据之后的至少一帧姿态数据。
在一种可选的实施例中,所述将所述三维残缺姿态数据映射至二维平面,得到所述姿态骨架图,包括:
所述生成模块1002,用于根据虚拟相机参数,将所述三维残缺姿态数据映射至虚拟相机的二维成像平面,得到关节点图,所述关节点图包括至少两个已知关节点的二维关节点坐标;
所述生成模块1002,用于根据所述至少两个已知关节点的关节点连接关系,连接关节点图中的所述至少两个已知关节点,得到所述姿态骨架图。
在一种可选的实施例中,所述虚拟相机参数包括:所述虚拟相机的坐标、所述虚拟相机相对所述三维对象的位置、所述虚拟相机的内置参数中的至少一种。
图14示出了本申请一示例性实施例示出的计算机设备1400的结构框图。该计算机设备可以实现为本申请上述方案中的服务器。所述计算机设备1400包括中央处理单元(Central Processing Unit,CPU)1401、包括随机存取存储器(Random Access Memory,RAM)1402和只读存储器(Read-Only Memory,ROM)1403的系统存储器1404,以及连接系统存储器1404和中央处理单元1401的系统总线1405。所述计算机设备1400还包括用于存储操作系统1409、应用程序1410和其他程序模块1411的大容量存储设备1406。
所述大容量存储设备1406通过连接到系统总线1405的大容量存储控制器(未示出)连接到中央处理单元1401。所述大容量存储设备1406及其相关联的计算机可读介质为计算机设备1400提供非易失性存储。也就是说,所述大容量存储设备1406可以包括诸如硬盘或者只读光盘(Compact Disc Read-Only Memory,CD-ROM)驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、可擦除可编程只读寄存器(Erasable Programmable Read Only Memory,EPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)闪存或其他固态存储其技术,CD-ROM、数字多功能光盘(Digital Versatile Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1404和大容量存储设备1406可以统称为存储器。
根据本公开的各种实施例,所述计算机设备1400还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1400可以通过连接在所述系统总线1405上的网络接口单元1407连接到网络1408,或者说,也可以使用网络接口单元1407来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括至少一段计算机程序,所述至少一段计算机程序存储于存储器中,中央处理器1401通过执行该至少一段程序来实现上述各个实施例所示的三维对象的姿态补全方法中的全部或部分步骤。
本申请实施例还提供一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条程序,该至少一条程序由处理器加载并执行以实现上述各方法实施例提供的三维对象的姿态补全方法。
本申请实施例还提供一种计算机可读存储介质,该存储介质中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行以实现上述各方法实施例提供的三维对象的姿态补全方法。
本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中;所述计算机程序由计算机设备的处理器从所述计算机可读存储介质读取并执行,使得所述计算机设备执行以实现上述各方法实施例提供的三维对象的姿态补全方法。
可以理解的是,在本申请的具体实施方式中,涉及到的数据,历史数据,以及画像等与用户身份或特性相关的用户数据处理等相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
需要说明的是,除非本文中另外明确定义,否则用于权利要求中的所有术语根据它们在技术领域中的普通含义来解释。除非另外明确叙述,否则对“一个元件、装置、部件、设备、步骤等”的所有参考将被开放地解释为指代元件、装置、部件、设备、步骤等的至少一个实例。除非明确叙述,否则本文所公开的任意方法的步骤不是必须以所公开的确切顺序来执行。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同切换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种三维对象的姿态补全方法,其特征在于,所述方法包括:
获取所述三维对象的三维残缺姿态数据,所述三维残缺姿态数据包括所述三维对象的已知关节点的三维关节点数据,所述三维残缺姿态数据中缺少所述三维对象的缺失关节点的三维关节点数据;
调用文生图模型,根据所述三维残缺姿态数据和姿态描述文本生成所述三维对象的二维生成图像;所述姿态描述文本用于描述所述三维残缺姿态数据的当前姿态;
对所述二维生成图像进行关节点识别,得到所述三维对象的所述缺失关节点的三维关节点数据;
根据所述缺失关节点的三维关节点数据补全所述三维残缺姿态数据,得到所述三维对象的三维补全姿态数据。
2.根据权利要求1所述的方法,其特征在于,所述文生图模型包括姿态控制插件,所述姿态控制插件用于根据姿态骨架图约束所述文生图模型生成的所述二维生成图像;
所述调用文生图模型,根据所述三维残缺姿态数据和姿态描述文本生成所述三维对象的二维生成图像,包括:
将所述三维残缺姿态数据映射至二维平面,得到所述姿态骨架图;
将所述姿态描述文本输入所述文生图模型,调用所述姿态控制插件根据所述姿态骨架图约束所述文生图模型的图像生成过程,得到所述三维对象的所述二维生成图像;
其中,所述二维生成图像中所述已知关节点的姿态与所述姿态骨架图一致。
3.根据权利要求2所述的方法,其特征在于,所述文生图模型包括第一网络和第二网络;
所述姿态控制插件包括第一零卷积层、所述第一网络的网络副本和第二零卷积层;所述网络副本是使用所述第一网络的网络结构和网络参数进行初始化后训练得到的网络;
所述将所述姿态描述文本输入所述文生图模型,调用所述姿态控制插件根据所述姿态骨架图约束所述文生图模型的图像生成过程,得到所述三维对象的所述二维生成图像,包括:
将所述姿态描述文本输入所述第一网络,得到文本特征;
将所述姿态骨架图输入所述第一零卷积层,得到姿态卷积结果;
将所述姿态卷积结果与随机噪声矩阵相加,得到约束噪声矩阵;所述随机噪声矩阵是符合高斯分布的随机矩阵;
将所述约束噪声矩阵和所述姿态骨架图输入所述网络副本,得到第一约束特征;将所述第一约束特征输入所述第二零卷积层,得到第二约束特征;
将所述第二约束特征和所述文本特征相加,得到文本约束特征;
将所述文本约束特征和所述姿态描述文本输入第二网络,得到所述三维对象的所述二维生成图像。
4.根据权利要求3所述的方法,其特征在于,所述第一网络包括至少一个编码器;所述第二网络包括至少一个解码器。
5.根据权利要求1至4任一所述的方法,其特征在于,所述姿态描述文本包括正向描述词和负向描述词;
所述正向描述词包括所述二维生成图像的正面要求文本,所述正向描述词中包括所述三维对象的所述当前姿态;
所述负向描述词包括用于描述图像缺陷的至少一个描述词,所述负向描述词用于引导所述文生图模型避免生成具有所述图像缺陷的缺陷图像。
6.根据权利要求1至4任一所述的方法,其特征在于,所述三维残缺姿态数据是所述三维对象的动作序列中的一帧姿态数据,所述动作序列包括至少两帧姿态数据;所述方法还包括:
在第一关节点数据与第二关节点数据的姿态相似度小于相似度阈值的情况下,重新执行以下步骤,直至所述姿态相似度不小于所述相似度阈值:
调用所述文生图模型,根据所述三维残缺姿态数据和姿态描述文本生成所述三维对象的二维生成图像;
对所述二维生成图像进行关节点识别,得到所述三维对象的所述缺失关节点的三维关节点数据;
其中,所述第一关节点数据包括所述二维生成图像中所述缺失关节点的三维关节点数据,所述第二关节点数据包括历史姿态数据中所述缺失关节点的三维关节点数据;所述历史姿态数据包括所述动作序列中位于所述三维残缺姿态数据之前的至少一帧姿态数据。
7.根据权利要求6所述的方法,其特征在于,所述三维关节点数据包括三维位置坐标和关节旋转角;所述方法还包括:
根据所述第一关节点数据的所述三维位置坐标,得到补全矩阵;以及根据所述第二关节点数据的所述三维位置坐标,得到历史矩阵;
计算所述补全矩阵和所述历史矩阵的余弦相似度,得到第一相似度;以及计算所述第一关节点数据的所述关节旋转角与所述第二关节点数据的所述关节旋转角的差值,得到第二相似度;
将所述第一相似度和所述第二相似度加权求和,得到所述姿态相似度。
8.根据权利要求7所述的方法,其特征在于,所述缺失关节点的数量为至少两个;
所述计算所述第一关节点数据的所述关节旋转角与所述第二关节点数据的所述关节旋转角的差值,得到第二相似度,包括:
计算所述第一关节点数据的所述关节旋转角与所述第二关节点数据的所述关节旋转角的差值,得到每个所述缺失关节点的关节旋转角差值;
根据所述缺失关节点中每个缺失关节点的权重,对至少两个关节旋转角差值进行加权求和,得到所述第二相似度;
其中,所述缺失关节点中父节点的权重高于子节点的权重;所述父节点与所述三维对象中根节点间的关节点数量为第一数量,所述子节点与所述根节点间的关节点数据量为第二数量,所述第一数量小于所述第二数量。
9.根据权利要求1至4任一所述的方法,其特征在于,所述三维残缺姿态数据是所述三维对象的动作序列中的一帧姿态数据,所述动作序列包括至少两帧姿态数据;所述方法还包括:
根据所述动作序列中的相邻姿态数据,对所述三维补全姿态数据进行平滑处理,得到三维平滑姿态数据;
其中,所述相邻姿态数据包括:所述动作序列中位于所述三维残缺姿态数据之前的至少一帧姿态数据,以及,所述动作序列中位于所述三维残缺姿态数据之后的至少一帧姿态数据;
或,所述相邻姿态数据包括:所述动作序列中位于所述三维残缺姿态数据之前的至少一帧姿态数据;
或,所述相邻姿态数据包括:所述动作序列中位于所述三维残缺姿态数据之后的至少一帧姿态数据。
10.根据权利要求2至4任一所述的方法,其特征在于,所述将所述三维残缺姿态数据映射至二维平面,得到所述姿态骨架图,包括:
根据虚拟相机参数,将所述三维残缺姿态数据映射至虚拟相机的二维成像平面,得到关节点图,所述关节点图包括至少两个已知关节点的二维关节点坐标;
根据所述至少两个已知关节点的关节点连接关系,连接关节点图中的所述至少两个已知关节点,得到所述姿态骨架图。
11.根据权利要求10所述的方法,其特征在于,所述虚拟相机参数包括:所述虚拟相机的坐标、所述虚拟相机相对所述三维对象的位置、所述虚拟相机的内置参数中的至少一种。
12.一种三维对象的姿态补全装置,其特征在于,所述装置包括:
数据模块,用于获取所述三维对象的三维残缺姿态数据,所述三维残缺姿态数据包括所述三维对象的已知关节点的三维关节点数据,所述三维残缺姿态数据中缺少所述三维对象的缺失关节点的三维关节点数据;
生成模块,用于调用文生图模型,根据所述三维残缺姿态数据和姿态描述文本生成所述三维对象的二维生成图像;所述姿态描述文本用于描述所述三维残缺姿态数据的当前姿态;
识别模块,用于对所述二维生成图像进行关节点识别,得到所述三维对象的所述缺失关节点的三维关节点数据;
补全模块,用于根据所述缺失关节点的三维关节点数据补全所述三维残缺姿态数据,得到所述三维对象的三维补全姿态数据。
13.一种计算机设备,其特征在于,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一条计算机程序,至少一条所述计算机程序由所述处理器加载并执行以实现如权利要求1至11中任一项所述的三维对象的姿态补全方法。
14.一种计算机存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机程序,至少一条计算机程序由处理器加载并执行以实现如权利要求1至11中任一项所述的三维对象的姿态补全方法。
15.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中;所述计算机程序由计算机设备的处理器从所述计算机可读存储介质读取并执行,使得所述计算机设备执行如权利要求1至11中任一项所述的三维对象的姿态补全方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410113465.1A CN117635897B (zh) | 2024-01-26 | 2024-01-26 | 三维对象的姿态补全方法、装置、设备、存储介质及产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410113465.1A CN117635897B (zh) | 2024-01-26 | 2024-01-26 | 三维对象的姿态补全方法、装置、设备、存储介质及产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117635897A true CN117635897A (zh) | 2024-03-01 |
CN117635897B CN117635897B (zh) | 2024-05-07 |
Family
ID=90036322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410113465.1A Active CN117635897B (zh) | 2024-01-26 | 2024-01-26 | 三维对象的姿态补全方法、装置、设备、存储介质及产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117635897B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118097796A (zh) * | 2024-04-28 | 2024-05-28 | 中国人民解放军联勤保障部队第九六四医院 | 一种基于视觉识别的姿态检测分析系统及方法 |
CN118298127A (zh) * | 2024-06-03 | 2024-07-05 | 淘宝(中国)软件有限公司 | 三维模型重建与图像生成方法、设备、存储介质及程序产品 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111428555A (zh) * | 2020-01-17 | 2020-07-17 | 大连理工大学 | 一种分关节的手部姿态估计方法 |
CN111611895A (zh) * | 2020-05-15 | 2020-09-01 | 北京联合大学 | 一种基于OpenPose的多视角人体骨架自动标注方法 |
CN113283373A (zh) * | 2021-06-09 | 2021-08-20 | 重庆大学 | 一种用于增强深度相机检测肢体运动参数的方法 |
CN113345062A (zh) * | 2021-08-04 | 2021-09-03 | 成都市谛视科技有限公司 | 三维虚拟角色动作补全方法、装置和服务器 |
CN113496176A (zh) * | 2020-04-07 | 2021-10-12 | 深圳爱根斯通科技有限公司 | 动作识别方法、装置以及电子设备 |
CN113706699A (zh) * | 2021-10-27 | 2021-11-26 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
CN113780197A (zh) * | 2021-09-15 | 2021-12-10 | 广州虎牙科技有限公司 | 动作姿态信息补全方法、电子设备及计算机可读存储介质 |
CN115223248A (zh) * | 2022-07-26 | 2022-10-21 | 腾讯科技(深圳)有限公司 | 手部姿态识别方法、手部姿态识别模型的训练方法及装置 |
CN115861126A (zh) * | 2022-12-29 | 2023-03-28 | 北京理工大学重庆创新中心 | 人体动作姿态数据恢复方法、设备、介质及系统 |
CN115880724A (zh) * | 2022-12-17 | 2023-03-31 | 杭州电子科技大学 | 一种基于rgb图像的轻量化三维手部姿态估计方法 |
CN116959109A (zh) * | 2023-07-21 | 2023-10-27 | 蚂蚁区块链科技(上海)有限公司 | 人体姿态图像的生成方法、装置、设备和存储介质 |
CN117037204A (zh) * | 2022-04-28 | 2023-11-10 | 中移雄安信息通信科技有限公司 | 摔倒检测方法、装置、电子设备及计算机程序产品 |
-
2024
- 2024-01-26 CN CN202410113465.1A patent/CN117635897B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111428555A (zh) * | 2020-01-17 | 2020-07-17 | 大连理工大学 | 一种分关节的手部姿态估计方法 |
CN113496176A (zh) * | 2020-04-07 | 2021-10-12 | 深圳爱根斯通科技有限公司 | 动作识别方法、装置以及电子设备 |
CN111611895A (zh) * | 2020-05-15 | 2020-09-01 | 北京联合大学 | 一种基于OpenPose的多视角人体骨架自动标注方法 |
CN113283373A (zh) * | 2021-06-09 | 2021-08-20 | 重庆大学 | 一种用于增强深度相机检测肢体运动参数的方法 |
CN113345062A (zh) * | 2021-08-04 | 2021-09-03 | 成都市谛视科技有限公司 | 三维虚拟角色动作补全方法、装置和服务器 |
CN113780197A (zh) * | 2021-09-15 | 2021-12-10 | 广州虎牙科技有限公司 | 动作姿态信息补全方法、电子设备及计算机可读存储介质 |
CN113706699A (zh) * | 2021-10-27 | 2021-11-26 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
CN117037204A (zh) * | 2022-04-28 | 2023-11-10 | 中移雄安信息通信科技有限公司 | 摔倒检测方法、装置、电子设备及计算机程序产品 |
CN115223248A (zh) * | 2022-07-26 | 2022-10-21 | 腾讯科技(深圳)有限公司 | 手部姿态识别方法、手部姿态识别模型的训练方法及装置 |
CN115880724A (zh) * | 2022-12-17 | 2023-03-31 | 杭州电子科技大学 | 一种基于rgb图像的轻量化三维手部姿态估计方法 |
CN115861126A (zh) * | 2022-12-29 | 2023-03-28 | 北京理工大学重庆创新中心 | 人体动作姿态数据恢复方法、设备、介质及系统 |
CN116959109A (zh) * | 2023-07-21 | 2023-10-27 | 蚂蚁区块链科技(上海)有限公司 | 人体姿态图像的生成方法、装置、设备和存储介质 |
Non-Patent Citations (2)
Title |
---|
HONGHAO FU: "SDR-GAIN: A High Real-Time Occluded Pedestrian Pose Completion Method for Autonomous Driving", ARXIV.ORG, 31 August 2023 (2023-08-31), pages 1 - 16 * |
ZHENGDI YU ET AL: "ACR: Attention Collaboration-based Regressor for Arbitrary Two-Hand Reconstruction", COMPUTER VISION FOUNDATION, 31 December 2023 (2023-12-31), pages 12955 - 12964 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118097796A (zh) * | 2024-04-28 | 2024-05-28 | 中国人民解放军联勤保障部队第九六四医院 | 一种基于视觉识别的姿态检测分析系统及方法 |
CN118298127A (zh) * | 2024-06-03 | 2024-07-05 | 淘宝(中国)软件有限公司 | 三维模型重建与图像生成方法、设备、存储介质及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN117635897B (zh) | 2024-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bhatnagar et al. | Combining implicit function learning and parametric models for 3d human reconstruction | |
Liu et al. | Generative adversarial networks for image and video synthesis: Algorithms and applications | |
CN109636831B (zh) | 一种估计三维人体姿态及手部信息的方法 | |
CN113496507B (zh) | 一种人体三维模型重建方法 | |
CN117635897B (zh) | 三维对象的姿态补全方法、装置、设备、存储介质及产品 | |
Youwang et al. | Clip-actor: Text-driven recommendation and stylization for animating human meshes | |
CN114648613B (zh) | 基于可变形神经辐射场的三维头部模型重建方法及装置 | |
CN110147737B (zh) | 用于生成视频的方法、装置、设备和存储介质 | |
Zhu et al. | Detailed avatar recovery from single image | |
Chen et al. | Markerless monocular motion capture using image features and physical constraints | |
US20200013232A1 (en) | Method and apparatus for converting 3d scanned objects to avatars | |
Huang et al. | A review of 3D human body pose estimation and mesh recovery | |
Choutas et al. | Learning to fit morphable models | |
Liu et al. | A semi-supervised data augmentation approach using 3d graphical engines | |
Madadi et al. | Deep unsupervised 3D human body reconstruction from a sparse set of landmarks | |
CN115100707A (zh) | 模型的训练方法、视频信息生成方法、设备以及存储介质 | |
RU2755396C1 (ru) | Нейросетевой перенос выражения лица и позы головы с использованием скрытых дескрипторов позы | |
CN114494543A (zh) | 动作生成方法及相关装置、电子设备和存储介质 | |
Wang et al. | Human motion data refinement unitizing structural sparsity and spatial-temporal information | |
Gilles et al. | Creating and animating subject‐specific anatomical models | |
CN111277871A (zh) | 网络协议电视iptv中推荐内容的方法和装置 | |
Liu et al. | Single-image clothed 3D human reconstruction guided by a well-aligned parametric body model | |
Qinran et al. | Video‐Driven 2D Character Animation | |
CN115880766A (zh) | 姿态迁移、姿态迁移模型训练方法、装置和存储介质 | |
Zhou | A proposed reconstruction method of a 3D animation scene based on a fuzzy long and short-term memory algorithm |
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 | ||
GR01 | Patent grant |