CN117542122A - 人体位姿估计与三维重建方法、网络训练方法及装置 - Google Patents
人体位姿估计与三维重建方法、网络训练方法及装置 Download PDFInfo
- Publication number
- CN117542122A CN117542122A CN202410027716.4A CN202410027716A CN117542122A CN 117542122 A CN117542122 A CN 117542122A CN 202410027716 A CN202410027716 A CN 202410027716A CN 117542122 A CN117542122 A CN 117542122A
- Authority
- CN
- China
- Prior art keywords
- dimensional
- human body
- network
- parameter
- parameters
- 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
- 238000012549 training Methods 0.000 title claims abstract description 126
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000010276 construction Methods 0.000 claims abstract description 27
- 238000001514 detection method Methods 0.000 claims abstract description 17
- 230000011218 segmentation Effects 0.000 claims abstract description 15
- 238000013519 translation Methods 0.000 claims description 93
- 230000006870 function Effects 0.000 claims description 48
- 239000011159 matrix material Substances 0.000 claims description 26
- 230000002159 abnormal effect Effects 0.000 claims description 25
- 238000010586 diagram Methods 0.000 claims description 24
- 239000013598 vector Substances 0.000 claims description 20
- 230000001131 transforming effect Effects 0.000 claims description 17
- 230000000877 morphologic effect Effects 0.000 claims description 14
- 238000007499 fusion processing Methods 0.000 claims description 9
- 230000009466 transformation Effects 0.000 claims description 7
- 230000008802 morphological function Effects 0.000 claims description 4
- 238000012937 correction Methods 0.000 claims description 3
- 210000002569 neuron Anatomy 0.000 description 13
- 238000012512 characterization method Methods 0.000 description 10
- 238000013527 convolutional neural network Methods 0.000 description 6
- 230000004913 activation Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 125000003275 alpha amino acid group Chemical group 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 150000001875 compounds Chemical class 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 230000000873 masking effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000005284 excitation Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000004091 panning Methods 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 208000008589 Obesity Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 235000020824 obesity Nutrition 0.000 description 1
- 210000004197 pelvis Anatomy 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
Classifications
-
- 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
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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
-
- 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/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/806—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Medical Informatics (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Social Psychology (AREA)
- Psychiatry (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Image Analysis (AREA)
Abstract
本公开实施例提供了人体位姿估计与三维重建方法、网络训练方法及装置,包括:预先构建人体位姿估计与三维重建网络;通过目标检测与分割网络从所述训练图片中裁剪包含人体的子图,并确定子图相对于该训练图片的全局位置参数;通过参数预测网络对子图中人体的位姿相关参数进行预测;通过人体模型构建网络基于预测的位姿相关参数构建三维人体模型;再利用二维投影模型对构建的三维人体模型进行二维投影,且二维投影模型基于全局位置参数确定;基于得到的二维投影结果及构建的三维人体模型,对参数预测网络、人体模型构建网络、以及二维投影模型进行训练。能够考虑子图中的人体在训练图片中的全局位置,对人体的全局朝向预测更加准确。
Description
技术领域
本公开涉及三维重建技术领域,尤其涉及人体位姿估计与三维重建方法、网络训练方法及装置。
背景技术
相关技术中,相机拍照的过程,相当于以相机为球心,沿球形半径向外发出光线。但是,相机只能朝向一个方向,沿球半径面向球心的物体,裁剪后,如果不考虑该物体相对相机所朝方向的偏移,会导致剪裁出的物体其位姿预测结果是正面0角度。因此图片中的物体,在单独裁剪时若不考虑此物体在图片中的全局位置,会导致物体的全局朝向预测产生偏差。
发明内容
本公开实施例提供了人体位姿估计与三维重建方法、网络训练方法及装置,用以解决现有的图片中的物体,在单独裁剪时不考虑此物体在图片中的全局位置,导致物体的全局朝向预测产生偏差问题。
基于上述问题,第一方面,提供一种人体位姿估计与三维重建网络训练方法,包括:
预先构建人体位姿估计与三维重建网络;所述网络包括:目标检测与分割网络、参数预测网络、人体模型构建网络、及二维投影模型;
将训练图片输入所述目标检测与分割网络,从所述训练图片中裁剪包含人体的子图,并确定所述子图相对于所述训练图片的全局位置参数;
将所述子图的图像特征信息输入所述参数预测网络,对所述子图中人体的位姿相关参数进行预测;所述位姿相关参数包括:人体参数和相机参数;
将预测的位姿相关参数输入所述人体模型构建网络,构建三维人体模型;
利用所述二维投影模型对构建的三维人体模型进行二维投影,得到二维投影结果;其中,所述二维投影模型基于所述全局位置参数确定;
基于得到的二维投影结果及构建的三维人体模型,对所述参数预测网络、所述人体模型构建网络、以及所述二维投影模型进行训练。
在结合第一方面的任一种可能的实施方式中,将所述子图的图像特征信息输入所述参数预测网络,对所述子图中人体的位姿相关参数进行预测,包括:按照预设迭代次数,迭代执行所述参数预测网络,对所述子图中人体的位姿相关参数进行预测;并满足:在首次迭代中,将该子图的图像特征信息以及初始位姿相关参数输入参数预测网络,得到首次迭代的残差信息;在后续每次迭代中,使用上次迭代得到的残差信息对上次迭代输入的位姿相关参数进行修正,并将修正后得到的位姿相关参数以及该子图的图像特征信息作为本次位姿相关参数输入参数预测网络,得到本次迭代的残差信息;直到完成最后一次迭代;在最后一次迭代后,将最后一次迭代得到的残差信息作为预测的位姿相关参数,并将子图的图像特征信息和预测的位姿相关参数输出;所述人体参数包括人体姿态参数和人体形态参数;所述相机参数包括缩放参数、旋转参数和平移参数;所述位姿相关参数的数量根据人体关键关节的数量设置。
在结合第一方面的任一种可能的实施方式中,利用所述二维投影模型对构建的三维人体模型进行二维投影,包括:利用裁剪区域二维投影模型对构建的三维人体模型进行针对二维剪裁区域的正交投影;以及利用整幅图片二维投影模型对构建的三维人体模型进行针对二维整幅图片的正交投影;其中,所述整幅图片二维投影模型基于所述全局位置参数确定。
在结合第一方面的任一种可能的实施方式中,采用如下方式构建所述裁剪区域二维投影模型:将所述人体参数作为自变量,构建第一隐函数;将所述第一隐函数与所述相机参数中的旋转参数相乘得到的乘积作为自变量,构建第二隐函数;将所述第二隐函数与所述相机参数中的缩放参数相乘的乘积,与所述相机参数中的平移参数相加,得到所述剪裁区域二维投影模型;
采用如下方式构建所述整幅图片二维投影模型:基于所述全局位置参数,确定所述子图在所述训练图片中的全局透视平移参数,并变换为平移矩阵;通过所述平移矩阵将所述人体模型构建网络输出的局部三维人体关节矩阵变换为全局三维人体关节矩阵;将所述全局三维人体关节矩阵作为自变量,构建所述整幅图片二维投影模型。
在结合第一方面的任一种可能的实施方式中,所述全局位置参数包括:裁剪子图的中心在所述训练图片所在平面坐标系中的两个维度坐标,以及裁剪子图的边长;则基于所述全局位置参数,确定所述子图在所述训练图片中的全局透视平移参数,包括:将作为弱透视投影参数的相机参数中的第一维平移参数和第二维平移参数,分别确定为透视投影参数中的第一维透视平移参数和第二维透视平移参数;基于所述边长、裁剪相机的焦距、及预测得到的所述相机参数中的缩放参数,生成表征所述透视投影参数中深度信息的第三维透视平移参数;基于所述裁剪子图中心的第一维坐标、所述裁剪子图的边长、及所述缩放参数,将第一维透视平移参数变换为全局第一维透视平移参数;基于所述裁剪子图中心的第二维坐标、所述裁剪子图的边长、及所述缩放参数,将第二维透视平移参数变换为全局第二维透视平移参数;基于裁剪相机的焦距、所述训练图片原始相机的焦距、所述裁剪子图的边长、及所述裁剪相机相对于所述原始相机的变换角度,将第三维透视平移参数变换为全局第三维透视平移参数。
在结合第一方面的任一种可能的实施方式中,所述人体位姿估计与三维重建网络还包括:全局注意力网络和局部注意力网络;在将所述子图的图像特征信息输入参数预测网络之前,还包括:将所述训练图片的像素位置进行编码,并输入所述全局注意力网络,输出带有像素位置的第一特征图;将所述子图输入所述局部注意力网络,输出包含不同通道重要性信息的第二特征图;从所述第一特征图中选取像素与所述子图对应的第三特征图,并将所述第二特征图和所述第三特征图进行融合处理,得到所述图像特征信息;
所述全局注意力网络包括:transformer网络;所述局部注意力网络包括:SENet网络;
将所述训练图片的像素位置进行编码,并输入所述全局注意力网络,输出带有像素位置的第一特征图,包括:将所述训练图片的像素输入所述transformer网络,将各像素转换成特征向量;对各像素的位置信息进行二维编码,并将所述二维编码输入所述transformer网络;将所述特征向量与对应二维编码结合,通过编码器进行编码,再通过解码器进行解码,输出带有像素位置的第一特征图;
将所述第二特征图和所述第三特征图进行融合处理,得到所述图像特征信息,包括:将所述第二特征图和所述第三特征图按位相加,得到所述图像特征信息。
在结合第一方面的任一种可能的实施方式中,基于得到的二维投影结果及构建的三维人体模型,对所述参数预测网络、所述人体模型构建网络、以及所述二维投影模型进行训练,包括:基于所述人体模型构建网络输出的三维人体关节位置,以及三维人体姿态及形态函数,构建第一损失函数,并根据预先标注的对应真值确定第一损失;基于构建的三维人体模型向所述二维裁剪区域正交投影得到的二维关节预测值,以及标注的关节真值,确定第二损失;基于构建的三维人体模型向所述二维整幅图片正交投影得到的二维关节预测值,以及标注的关节真值,确定第三损失;基于所述第一损失、所述第二损失、以及所述第三损失的和,对所述参数预测网络、所述人体模型构建网络、以及所述二维投影模型进行训练。
在结合第一方面的任一种可能的实施方式中,所述人体位姿估计与三维重建网络还包括:异常参数判别器;在将预测的位姿相关参数输入所述人体模型构建网络之前,还包括:将预测的位姿相关参数输入对应异常参数判别器,在所有异常参数判别器输出结果为真的情况下,将预测的位姿相关参数输入所述人体模型构建网络;否则,继续对所述参数预测网络进行训练;其中,所述异常参数判别器包括异常人体形态参数判别器、与关节数量对应数量的异常人体关节姿态判别器、以及整体关节姿态判别器。
第二方面,提供一种人体位姿估计与三维重建方法,包括:
将包含人体的图片输入如第一方面,或者结合第一方面的任一种可能的实施方式所述的人体位姿估计与三维重建网络训练方法训练得到的人体位姿估计与三维重建网络,得到所述图片中所包含人体的位姿估计信息,以及三维人体模型。
第三方面,提供一种人体位姿估计与三维重建相关装置,包括:提供如第一方面,或者结合第一方面的任一种可能的实施方式所述的人体位姿估计与三维重建网络训练方法的步骤对应功能模块的人体位姿估计与三维重建网络训练装置;或者如第二方面,或者结合第二方面的任一种可能的实施方式所述的人体位姿估计与三维重建方法的步骤对应功能模块的人体位姿估计与三维重建装置。
第四方面,提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如第一方面,或者结合第一方面的任一种可能的实施方式所述的人体位姿估计与三维重建网络训练方法的步骤,或者如第二方面,或者结合第二方面的任一种可能的实施方式所述的人体位姿估计与三维重建方法的步骤。
第五方面,提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第一方面,或者结合第一方面的任一种可能的实施方式所述的人体位姿估计与三维重建网络训练方法实施例的步骤,或者如第二方面,或者结合第二方面的任一种可能的实施方式所述的人体位姿估计与三维重建方法实施例的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例的有益效果包括:
本公开实施例提供的人体位姿估计与三维重建方法、网络训练方法及装置,包括:预先构建人体位姿估计与三维重建网络;通过目标检测与分割网络从所述训练图片中裁剪包含人体的子图,并确定子图相对于该训练图片的全局位置参数;通过参数预测网络对子图中人体的位姿相关参数进行预测;通过人体模型构建网络基于预测的位姿相关参数构建三维人体模型;再利用二维投影模型对构建的三维人体模型进行二维投影,且二维投影模型基于全局位置参数确定;基于得到的二维投影结果及构建的三维人体模型,对参数预测网络、人体模型构建网络、以及二维投影模型进行训练。可见,在对训练图片中包含人体的子图进行裁剪时,确定了子图相对于该训练图片的全局位置参数,并基于该全局位置参数构建二维投影模型,使得在对基于子图中的人体位姿相关参数构建的三维人体模型进行二维投影时,能够考虑子图中的人体在训练图片中的全局位置,对人体的全局朝向预测更加准确。
附图说明
图1为本公开实施例提供的一种人体位姿估计与三维重建网络训练方法的流程图;
图2为采用Top-down人体姿态估计算法对图片中的人体进行位姿估计的示意图;
图3为本公开实施例提供的弱透视相机与透视相机的坐标转换关系示意图;
图4为本公开实施例提供的人体位姿估计与三维重建网络结构示意图之一;
图5为本公开实施例提供的人体位姿估计与三维重建网络结构示意图之二;
图6为本公开实施例提供的计算机设备结构示意图。
具体实施方式
本公开实施例提供了人体位姿估计与三维重建方法、网络训练方法及装置,以下结合说明书附图对本公开的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本公开,并不用于限定本公开。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本公开实施例提供一种人体位姿估计与三维重建网络训练方法,如图1所示,包括:
S101、预先构建人体位姿估计与三维重建网络;该网络包括:目标检测与分割网络、参数预测网络、人体模型构建网络、及二维投影模型;
S102、将训练图片输入上述目标检测与分割网络,从训练图片中裁剪包含人体的子图,并确定该子图相对于所述训练图片的全局位置参数;
S103、将该子图的图像特征信息输入上述参数预测网络,对该子图中人体的位姿相关参数进行预测;位姿相关参数包括:人体参数和相机参数;
S104、将预测的位姿相关参数输入上述人体模型构建网络,构建三维人体模型;
S105、利用上述二维投影模型对构建的三维人体模型进行二维投影,得到二维投影结果;其中,上述二维投影模型基于全局位置参数确定;
S106、基于得到的二维投影结果及构建的三维人体模型,对参数预测网络、人体模型构建网络、以及二维投影模型进行训练。
相关技术中,在对图片中的人体进行单独剪裁时,不会考虑人体在该图片中的全局位置,则会导致人体的全局朝向预测产生偏差。例如:传统自顶而下(Top-down)人体姿态估计算法就是把人体的包围盒(Boundingbox)单独裁剪出来,因为缺少这个包围盒在整张图片中的位置信息,导致人体姿态产生偏差,从而导致人体位姿估计和三维重建不准确。图2为采用Top-down人体姿态估计算法对图片中的人体进行位姿估计的示意图。如图2所示,输入的原图201是一个2000×700的图片,该原图中的3个人体相对位于中间的拍摄相机原点的整体朝向角度分别为15度、0度和-15度。采用Top-down人体姿态估计算法,首先将3个人体分别从原图中裁剪出来,形成3个单独的600×700小图202,裁剪后的小图202通过CNN特征提取回归后,朝向角度均成了0度。原因是单独裁剪的小图丢失了全局透射相机的参数,导致采用相关技术的位姿估计方法估计出的人体朝向角度有偏差。
本公开实施例中,不但从训练图片中剪裁包含人体的子图,还要获取子图相对于训练图片的全局位置参数(用以表征子图在训练图片中的全局位置),并且在构建二维投影模型时可以利用该全局位置参数,使得在对基于子图中的人体位姿相关参数构建的三维人体模型进行二维投影时,能够考虑子图中的人体在训练图片中的全局位置,对人体的全局朝向预测更加准确。
本公开实施例中,可以预先根据需要确定用于实现人体位姿估计与三维重建网络的各子网络,并初始化相关子网络代码,完成人体位姿估计与三维重建网络的构建。
本公开实施例中,也可以在将训练图片输入目标检测与分割网络之前就获取人体全局位置参数。对于目标检测与分割网络采用的具体网络结构没有限制,只要能够从训练图片中检测到人体,并将包含人体的子图进行裁剪即可。例如:一阶全卷积目标检测(FCOS,Fully Convolutional One-Stage Object Detection)、掩膜基于区域的卷积神经网络(Mask R-CNN,Mask Region-based Convolutional Neural Network)、极坐标系掩膜PolarMask、面向多任务密集预测学习的可变形混合器变形网络(DeMT,DeformableMixerTransformer for Multi-Task Learning of Dense Prediction)等,均可用于将人体从图片中裁剪出来。
进一步地,裁剪后的子图分辨率例如可以调整为256×256,又由于子图是按照人体包围盒裁剪的,不同训练图片中人体包围盒大小可能不同,为了方便后续的处理,可以进行缩放(resize)调整,例如resize到256×256。
在本公开又一实施例中,可以将上述步骤“S103、将该子图的图像特征信息输入上述参数预测网络,对该子图中人体的位姿相关参数进行预测”可以实施为如下步骤:
按照预设迭代次数,迭代执行参数预测网络,对子图中人体的位姿相关参数进行预测;并满足:
在首次迭代中,将该子图的图像特征信息以及初始位姿相关参数输入参数预测网络,得到首次迭代的残差信息;
在后续每次迭代中,使用上次迭代得到的残差信息对上次迭代输入的位姿相关参数进行修正,并将修正后的位姿相关参数以及该子图的图像特征信息作为本次使用的位姿相关参数输入参数预测网络,得到本次迭代的残差信息;直到完成最后一次迭代;
在最后一次迭代后,将最后一次迭代得到的残差信息作为预测的位姿相关参数,并将子图的图像特征信息和预测的位姿相关参数输出;
人体参数包括人体姿态参数和人体形态参数;相机参数包括缩放参数、旋转参数和平移参数;位姿相关参数的数量根据人体关键关节的数量设置。
本实施例中,为了使得参数预测网络预测的人体位姿相关参数更加准确,可以迭代执行参数预测网络,也可称为三维(3D,Three Dimensional )回归网络。每次迭代输入参数预测网络的位姿相关参数均可通过上次迭代输出的残差信息进行修正后,再作为本次迭代使用的参数输入。每次迭代中,可以将图像特征 ,以及当前t时刻(即本次迭代)的位姿相关参数 />,一起输入到参数预测网络,并输出残差信息/>。则可以得到t+1时刻(即下次迭代使用)的位姿相关参数/>,以作为下次迭代使用的位姿相关参数,如此进行预设次数迭代(例如:3次迭代)。而首次执行参数预测网络使用的位姿相关参数,即初始位姿相关参数,可以取均值/>,该均值可以是预设参数库或者训练数据库中存储相关数据的均值,这里并不限制。
具体地,参数预测网络可以用于推断3D人体参数和相机参数,通过上述向量表示,每个 />向量可以表征人体一个关键关节,/>向量的数量可以根据设置的人体关键关节的数量确定。人体参数可以包括/>和 />,其中 />表征人体姿态pose(例如:体操中的各种动作姿势),由于姿态与人体关节息息相关,可以选取预设数量个关键关节(例如:23个关键关节);/>表征人体形态shape(例如:高矮胖瘦等等身体形态),可以选取预设数量个形态参数(例如:选取10个形态参数);相机参数可以包括S、R和T,其中S– Scale表征缩放参数, R – Rotation表征旋转参数, T – Translation表征平移参数。
在一种实施方式中,参数预测网络可以采用5层网络结构,从输入层到输出层,各层神经元的数量可以分别设置为:64、1024、1024、1024、23,每层后可接一个drop-out层,激活函数可采用ReLU。以选取23个关键关节为例,参数预测网络可以输出23个85维特征向量,其中,85维包括:23个关键关节×3维(关键关节位置包括xyz三维,和/或关键关节旋转自由度(即三种旋转方式)包括:俯仰Pitch(绕x轴旋转)、横滚Roll(绕z轴旋转)、航向Yaw(绕y轴旋转)三维)共69维、表征10个形态的10维、表征旋转的3维、表征平移的2维、以及表征缩放的1维。
实施时,参数预测网络可以采用三维卷积神经网络(3DCNN,three-dimensionalConvolutional Neural Networks)或者残差网络(ResNet)等,这里并不限制。
在本公开的又一实施例中,在通过参数预测网络预测出位姿相关参数之后,可以执行步骤“S104、将预测的位姿相关参数输入上述人体模型构建网络,构建三维人体模型”。实施时,人体模型构建网络可以采用现有的任何相关网络,例如:无皮多人线性模型(SMPL,A skinned multi-person linear model)、稀疏训练关节人体回归器(STAR ,SparseTrained Articulated Human Body Regressor)等,这里并不限制。只要能够采用弱透视相机,输入参数预测网络输出的预设个数(如23个)位姿相关参数:,能够生成人体3D模型即可。
以SMPL网络为例,SMPL是参数化的人体3D模型,提供了一个可微分的函数,从3D人体扫描中学习。以设置23个人体关键关节为例,SMPL输入23个关键关节姿态(Pose,每个姿态有3个旋转自由度,包括:俯仰Pitch、横滚Roll、航向Yaw)参数和10个形态(shape)参数。其中,姿态参数包括根关节(rootjoint,即骨盆)的全局旋转,以及23个铰接关节(即关键关节)的局部旋转。
进一步地,SMPL生成的3D关键关节表征为: ,其中的J表示Joint关节,/>表征k个关节的集合,每个关节包含三个参数,/>表征SMPL生成的3D关键关节,可以通过网格顶点的线性组合得到,即/>,其中M表征关键关节的预训练稀疏矩阵,V表征网格顶点。则SMPL可以输出一个6890个顶点的3D网格(Mesh)。
在本公开的又一个实施例中,可以将上述步骤“S105、利用上述二维投影模型对构建的三维人体模型进行二维投影”实施为如下步骤:
步骤一、利用裁剪区域二维投影模型对构建的三维人体模型进行针对二维剪裁区域的正交投影;
步骤二、利用整幅图片二维投影模型对构建的三维人体模型进行针对二维整幅图片的正交投影;其中,整幅图片二维投影模型基于全局位置参数确定。
本公开实施例中,可以针对不同的二维区域分别进行投影。针对二维裁剪区域的正交投影可以用来优化对人体关节(位置、旋转自由度等)的预测,针对裁剪前整幅图片的正交投影可以通过考虑子图中的人体在整幅图片中的位置、旋转角度(即全局朝向)等因素,进一步优化对人体关节的预测。
在本公开的又一个实施例中,可以采用如下方式构建裁剪区域二维投影模型:
步骤一、将人体参数作为自变量,构建第一隐函数;
步骤二、将第一隐函数与相机参数中的旋转参数相乘得到的乘积作为自变量,构建第二隐函数;
步骤三、将第二隐函数与相机参数中的缩放参数相乘的乘积,与相机参数中的平移参数相加,得到剪裁区域二维投影模型。
在构建3D人体模型后,可以将人体上关键关节正交投影到2D裁剪图片中,构建裁剪区域二维投影模型如下:
式(1)
式(1)中,将参数预测网络预测的人体参数作为自变量,构建第一隐函数;将第一隐函数/>与相机参数中的旋转参数/>相乘得到的乘积作为自变量,构建第二隐函数 />,即正交投影函数;再将第二隐函数与相机参数中的缩放参数 />相乘的乘积,与平移参数 />相加,得到剪裁区域二维投影模型/>,/>表征投影后得到的2D关键关节信息(可以是二维关键关节的相关参数:位置参数、旋转自由度参数等),是对人体模型构建网络生成的关键关节 />的正交投影,即预测值。
在本公开的又一个实施例中,可以采用如下方式构建整幅图片二维投影模型:
步骤一、基于全局位置参数,确定子图在训练图片中的全局透视平移参数,并变换为平移矩阵;
步骤二、通过平移矩阵将人体模型构建网络输出的局部三维人体关节矩阵变换为全局三维人体关节矩阵;
步骤三、将全局三维人体关节矩阵作为自变量,构建整幅图片二维投影模型。
在本公开的又一个实施例中,全局位置参数包括:裁剪子图的中心在训练图片所在平面坐标系中的两个维度坐标,以及裁剪子图的边长;则“步骤一、基于全局位置参数,确定子图在所述训练图片中的全局透视平移参数”可以实施为:
步骤1、将作为弱透视投影参数的相机参数中的第一维平移参数和第二维平移参数,分别确定为透视投影参数中的第一维透视平移参数和第二维透视平移参数;
步骤2、基于边长、裁剪相机的焦距、及预测得到的相机参数中的缩放参数,生成表征透视投影参数中深度信息的第三维透视平移参数;
步骤3、基于裁剪子图中心的第一维坐标、裁剪子图的边长、及缩放参数,将第一维透视平移参数变换为全局第一维透视平移参数;
步骤4、基于裁剪子图中心的第二维坐标、裁剪子图的边长、及缩放参数,将第二维透视平移参数变换为全局第二维透视平移参数;
步骤5、基于裁剪相机的焦距、训练图片原始相机的焦距、裁剪子图的边长、及裁剪相机相对于原始相机的变换角度,将第三维透视平移参数变换为全局第三维透视平移参数。
本公开实施例中,通过参数预测网络输出的相机参数可以看作没有深度信息的弱透视参数,即基于裁剪相机确定的相机参数,不带有深度信息的平移参数可以包括这两维:第一维平移参数(例如:x维)和第二维平移参数(例如:y维),则得到的弱透视相机的投影参数可以如式(2)所示:
式(2)
式(2)中,用P表征投影(projection),weak表征弱透视(weak- perspective),则表征弱透视投影;用s表征缩放(scale),t表征平移(translation),则/>表征参数预测网络输出的相机参数中的缩放参数, />和 />分别表示裁剪相机沿X轴和Y轴的平移,其中X轴和Y轴表征以拍摄整张图片的原始相机所对应的整张图片的中心为原点构建的坐标系中的X轴和Y轴。
图3为弱透视相机与透视相机的坐标转换关系示意图,通过图3可以将裁剪相机对应的弱透视投影参数转换成原始相机对应的透视投影参数。
如图3所示,表征裁剪区域的相机, />表征整张图片的原始相机,坐标平面中O表征原始相机对应坐标系的坐标原点,即原始图像的中心,C表征裁剪相机对应坐标原点在原始相机对应坐标系中的位置,即裁剪的子图的中心在原始相机对应坐标系中的位置。坐标平面中以C点为中心的方框表征裁剪区域,/>表征裁剪相机的焦距(初始化值5000), />表征拍摄整张图片的原始相机的焦距,b表征裁剪区域的边长(例如:256),和 />表征裁剪区域相对于整张图片中心O的位置; />表征裁剪相机/>相对于原始相机 />的变换角度,则有 />。
其中,对于原始相机的焦距,如果标注有真值(GroundTruth),可以使用标注的真值;如果未标注真值,可以通过 />预估得到,其中 />和 />分别表征整幅图片的长和宽(以FoV=55度的原始相机为例)。
可见,可以将裁剪子图中心在训练图片所在平面坐标系中的两个维度坐标,以及裁剪子图的边长作为全局位置参数,即以原始图片(整幅图片)中心为坐标原点,将裁剪区域中心的坐标、裁剪区域边长/>作为全局位置参数。
此时,可以将弱透视投影参数变换得到透视投影参数,如下所示,
式(3)
式(4)
式(3)中,crop意为“裁剪”,则表征裁剪相机沿XYZ轴的平移, />,/>,分别表征透视投影中在三个维度的平移参数。
式(4)为从弱透视相机到透视投影相机的变换公式, 表征裁剪相机焦距,如上述可以预定义为5000, />表征裁剪区域的边长,/>表征裁剪相机的缩放参数。
可见,在将弱透视投影参数变换到透视投影参数的过程中,x和y维的平移坐标不变,可以直接作为透视投影参数的x和y维的平移坐标;而基于 、 />、和 />为弱透视投影参数增加了z轴深度信息/>,从而将弱透视投影参数转换为透视投影参数。
进一步地,基于变换得到的针对裁剪相机的三个维度的透视投影参数,可以确定针对原始相机的全局透视平移参数:
式(5)
式(6)
式(7)
式(5)~式(7)中,表示原始相机沿裁剪区域中心c的平移坐标(以c为原点的坐标)。各参数的含义均可参见上述介绍,此处不再赘述。
式(2)~式(7)通过弱透视投影参数变换到相机平移参数 />。
在得到全局透视平移参数之后,可以基于该全局透视平移参数构建整幅图片二维投影模型,将三维人体模型正交投影到2D整幅图片:
式(8)
式(8)中, 表征全是数字1的矩阵,通过该矩阵与相机平移参数/>相乘,将相机平移参数变换为平移矩阵,再将人体模型构建网络输出的局部三维人体关节矩阵/>变换为全局三维人体关节矩阵/>,并以 />为自变量构建整幅图片二维投影模型, /> 表征正交投影。
在本公开的又一实施例中,人体位姿估计与三维重建网络还包括:全局注意力网络和局部注意力网络;则在执行上述步骤“S103、将子图的图像特征信息输入参数预测网络”之前,还包括如下步骤:
步骤一、将训练图片的像素位置进行编码,并输入全局注意力网络,输出带有像素位置的第一特征图;
步骤二、将子图输入局部注意力网络,输出包含不同通道重要性信息的第二特征图;
步骤三、从第一特征图中选取像素与子图对应的第三特征图,并将第二特征图和第三特征图进行融合处理,得到上述图像特征信息。
本实施例中,将全尺寸图片(即训练图片)输入全局注意力网络,并且进行位置嵌入;又通过局部注意力网络突出裁剪图(即子图)中不同通道的重要性,从而让输出效果更好;最后,通过融合处理,将全局注意力网络与局部注意力网络的输出结果融合起来,即通过位置嵌入,在全局注意力网络的输出第一特征图中,选出与子图相关特征图(即第三特征图),然后再将其与局部注意力网络输出的第二特征图相融合,得到用于输入参数预测网络的图像特征信息。
在本公开的又一实施例中,全局注意力网络包括:变形器(transformer)网络;局部注意力网络包括:压缩和激励网络(SENet,Squeeze and Excitation Networks);
则 “步骤一、将训练图片的像素位置进行编码,并输入全局注意力网络,输出带有像素位置的第一特征图”可以实施为:
步骤1、将训练图片的像素输入transformer网络,将各像素转换成特征向量;
步骤2、对各像素的位置信息进行二维编码,并将该二维编码输入transformer网络;
步骤3、将步骤1中得到的特征向量与对应二维编码结合,通过编码器进行编码,再通过解码器进行解码,输出带有像素位置的第一特征图。
步骤三中“将第二特征图和第三特征图进行融合处理,得到上述图像特征信息”,可以实施为:
将第二特征图和第三特征图按位相加,得到上述图像特征信息。
本公开实施例中,将各像素输入transformer网络经过嵌入(Embedding)处理,将像素转换成特征向量。并且确定各像素的位置信息,对各像素位置信息进行二维编码。将编码后的像素位置信息输入transformer网络,transformer网络会将特征向量与对应像素的位置信息结合,再通过编码器进行编码,解码器进行解码,得到带有像素位置的第一特征图。
进一步地,由于Transformer网络自身的性质,将训练图片输入之后,可以通过设置遮挡预设数量的像素数量,即设置掩码(mask),例如:掩码15%的像素量,对掩码部分进行预测,再将预测的结果与去掉掩码的结果进行比对,计算损失,来训练每个像素的三个权重矩阵。可见,Transformer网络可基于自身的性质进行训练,这里不再赘述。
Transformer的损失函数,可以通过类似BERT模型,采用掩码的方式求得。例如:将损失函数记为Loss=CrossEntropy(e,p),其中,e表征掩码遮住的真实值,p表征对遮住部分的预测值。通过反向传播计算损失函数关于模型参数的梯度,通过梯度下降更新模型参数。
另外,全局注意力网络还可以通过其他能够输出带有像素位置信息特征图的网络结构来实现,局部注意力网络还可以通过其他能够突出不同通道重要性的网络结构来实现,这里不再赘述。
在本公开的又一实施例中,可以将上述步骤“S106、基于得到的二维投影结果及构建的三维人体模型,对参数预测网络、人体模型构建网络、以及二维投影模型进行训练”实施为如下步骤:
步骤一、基于人体模型构建网络输出的三维人体关节位置,以及三维人体姿态及形态函数,构建第一损失函数,并根据预先标注的对应真值确定第一损失;
步骤二、基于构建的三维人体模型向二维裁剪区域正交投影得到的二维关节预测值,以及标注的关节真值,确定第二损失;
步骤三、基于构建的三维人体模型向二维整幅图片正交投影得到的二维关节预测值,以及标注的关节真值,确定第三损失;
步骤四、基于上述第一损失、第二损失、以及第三损失的和,对参数预测网络、人体模型构建网络、以及二维投影模型进行训练。
本公开实施例中,可以基于上述第一损失、第二损失、以及第三损失的和构建总损失函数,如式(9)所示:
式(9)
式(9)中,表征将构建的三维人体模型正交投影到2D裁剪区域的损失函数(对应第二损失),/>表征人体模型构建网络构建三维人体模型的损失函数(对应第一损失),表征将构建的三维人体模型正交投影到2D整幅图片的损失函数(对应第三损失)。/>表征系数,/>和 />可以根据对应损失函数的重要性设置,由于3D模型有些具有标注信息,有些不具有标注信息,对于不具有标注信息的可以认为 />不存在,因此/>表征是否存在的指示函数,即/>存在的话,/>,否则 />。
式(10)为构建的三维人体模型正交投影到2D裁剪区域的损失函数:
式(10)
根据式(1)中构建的剪裁区域的二维投影模型,式(10)中,表征第i个2D关键关节信息的预测值,/>表征第i个2D关键关节信息的真值(GroundTruth); />表征第i个关键关节的可见性,可见取1,反之取0,即如果不存在对应2D关键关节的真值,可以将/>取0;表征所有关键关节的损失之和,例如:23各关键关节的损失之和。
对于具有标注的关节信息3D人体模型,可以使用三维人体模型的损失函数,式(11)为3D人体模型的损失函数:
式(11)
式(12)
式(13)
式(11)中,表征3D人体模型损失函数, />表征3D人体关节位置损失函数,/>表征3D人体姿态参数和形态参数的损失函数。
式(12)~式(13)中, 表征第i个3D人体模型的关节,/>表征人体模型构建网络预测的第i个3D人体关节的位置,/>表征第i个3D人体关节位置的标注值,/>表征人体模型构建网络预测的第i个3D人体关节的姿态和形态,/> 表征第i个3D人体关节的姿态和形态的标注值。
式(14)为构建的三维人体模型正交投影到2D整幅图片的损失函数:
式(14)
根据式(8)中构建的针对整幅图片二维投影模型,式(14)中,表征构建的三维人体模型正交投影到2D整幅图片的损失函数; />表征投影到2D整幅图片得到的关键关节信息(可以是二维关键关节的相关参数:位置参数、旋转自由度参数等),/> 表征相对于整幅图片的关键关节真值(标注的Ground Truth)。
图4为本公开实施例提供的人体位姿估计与三维重建网络结构示意图,如图4所示,可以包含如下处理步骤:
1、将包含人体的全尺寸训练图片输入目标检测与分割网络,得到包含人体的子图;其中,全尺寸训练图片可以是任意分辨率,且具有关键关节标注信息(例如:位置信息、姿态信息、形态信息等)。本步骤中还可以确定人体全局位置信息。
2、将得到的子图输入局部注意力网络(例如:SENet网络),输入包含不同通道重要性信息的第二特征图。
3、将全尺寸训练图片的像素位置进行编码并输入全局注意力网络(例如:Transformer网络),输出带有像素位置的第一特征图。
4、从第一特征图中选取像素与子图对应的第三特征图,并将第二特征图和第三特征图进行融合处理(Add1),得到图像特征信息 。
5、将图像特征信息输入参数预测网络(例如:三维回归网络),通过预设次数迭代执行该参数预测网络得到预测的3D人体位姿相关参数向量/>,以23个人体关键关节为例,则输出23个/>。
6、根据步骤5中得到的人体位姿相关参数向量得到弱透视投影参数/>,为弱透视投影参数增加深度信息,转换为透视投影参数/>。再根据裁剪的子图与全尺寸图片的位置关系,即人体全局位置参数,将透视投影参数与人体全局位置参数/>、 />相结合(Add2),计算透视投影的全局透视平移参数/>。
7、采用弱透视相机,将人体位姿相关参数向量输入人体模型构建网络(例如:SMPL)网络,生成局部3D关键关节 />,并基于 />生成3D人体模型。
8、将生成的3D人体模型进行针对二维裁剪区域的正交投影,得到针对裁剪区域的投影结果。
9、将SMPL生成的局部3D关键关节与全局透视平移参数/>相结合(Add3),计算全局3D关键关节 />,通过正交投影到2D整幅图片,计算出全局2D关键关节,从而根据步骤8和9分别得到的投影结果进一步对人体位姿估计与三维重建网络进行强化训练。
可见,上述流程在进行人体位姿估计和三维重建过程中,考虑了人体在全尺寸图片中的全局位置,通过上述流程能够更准确的输出3D模型的位姿估计和三维重建效果。
在本公开又一实施例中,人体位姿估计与三维重建网络还包括:异常参数判别器;则在执行上述步骤“S104、将预测的位姿相关参数输入上述人体模型构建网络”之前,还包括如下步骤:
将预测的位姿相关参数输入对应异常参数判别器,在所有异常参数判别器输出结果为真的情况下,将预测的位姿相关参数输入人体模型构建网络;否则,继续对参数预测网络进行训练;
其中,异常参数判别器包括异常人体形态参数判别器、与关节数量对应数量的异常人体关节姿态判别器、以及整体关节姿态判别器。
图5为本公开实施例提供的加入判别器后的人体位姿估计与三维重建网络结构示意图,与图4相比,图5中多了判别器,以便于将明显错误的数据(比如关节异常弯曲的参数)剔除(Sub),只有判别器的结果为真时,参数预测网络输出的参数才能作为人体模型构建网络的输入,否则,将继续优化参数预测网络,从而起到弱监督的作用。另外,还可以输入已有人体3D模型库,用于作为真值判断人体位姿相关参数。
以设置23个人体关键关节为例,实施时,可以总共设置25个判别器,1个用于判断人体形态(shape)参数的形态判别器,23个用于判断23个关键关节的姿态(pose)参数/>的姿态判别器,还有1个用于判断整体形态参数和姿态参数的正确性的整体姿态判别器。
形态判别器可以由3层神经网络构成,输入层设置有10个神经元,分别对应10种形态;隐藏层设置有5个神经元,输出层设置有1个神经元,用于输出真或假,所有神经元之间采用全连接,用整流线性单元(ReLU,Rectified Linear Unit)作为激活函数。
姿态判别器可以由3层神经网络构成,输入层设置有9个神经元,隐藏层设置有32个神经元,输出层设置有1个神经元,用于输出真或假,所有神经元之间采用全连接,用ReLU作为激活函数。实施时,人体姿态参数可以通过罗德里格旋转公式(Rodrigues)转换为23个3×3旋转矩阵,并将旋转矩阵分别输入到23个不同的姿态判别器中,由姿态判别器输出真或假的判别结果。
将23个32维特征向量作为整体姿态判别器的输入,整体姿态判别器可以由4层神经网络构成,输入层设置有23个神经元,隐藏层设置有2层,每层设置有1024个神经元,输出层设置有1个神经元,用于输出真或假,所有神经元之间采用全连接,用ReLU作为激活函数。
本公开实施例还提供一种人体位姿估计与三维重建方法,包括如下步骤:
将包含人体图片输入如上述任一人体位姿估计与三维重建网络训练方法实施例训练得到的人体位姿估计与三维重建网络,得到图片中所包含人体的位姿估计信息,以及三维人体模型。
采用本公开实施例提供的人体位姿估计与三维重建网络训练方法实施例训练得到的人体位姿估计与三维重建网络对包含人体的图片进行人体位姿估计与三维重建,由于考虑了人体在全局图片中的位置信息,得到的人体位姿信息和三维人体模型准确度均有所提高。
基于同一公开构思,本公开实施例还提供了一种人体位姿估计与三维重建相关装置及计算机设备,由于这些装置和设备所解决问题的原理与前述人体位姿估计与三维重建网络训练方法及人体位姿估计与三维重建方法相似,因此该装置和设备的实施可以参见前述方法的实施,重复之处不再赘述。
本公开实施例提供了一种人体位姿估计与三维重建相关装置,包括:提供如上述任一人体位姿估计与三维重建网络训练方法实施例的步骤对应功能模块的人体位姿估计与三维重建网络训练装置;或者上述人体位姿估计与三维重建方法实施例的步骤对应功能模块的人体位姿估计与三维重建装置。
本公开实施例提供的人体位姿估计与三维重建网络训练装置,包括:
网络构建模块,用于预先构建人体位姿估计与三维重建网络;所述网络包括:目标检测与分割网络、参数预测网络、人体模型构建网络、及二维投影模型;
训练模块,用于将训练图片输入所述目标检测与分割网络,从所述训练图片中裁剪包含人体的子图,并确定所述子图相对于所述训练图片的全局位置参数;将所述子图的图像特征信息输入所述参数预测网络,对所述子图中人体的位姿相关参数进行预测;所述位姿相关参数包括:人体参数和相机参数;将预测的位姿相关参数输入所述人体模型构建网络,构建三维人体模型;利用所述二维投影模型对构建的三维人体模型进行二维投影,得到二维投影结果;其中,所述二维投影模型基于所述全局位置参数确定;基于得到的二维投影结果及构建的三维人体模型,对所述参数预测网络、所述人体模型构建网络、以及所述二维投影模型进行训练。
在本公开提供的又一实施例中,所述训练模块,用于按照预设迭代次数,迭代执行所述参数预测网络,对所述子图中人体的位姿相关参数进行预测;并满足:在首次迭代中,将该子图的图像特征信息以及初始位姿相关参数输入参数预测网络,得到首次迭代的残差信息;在后续每次迭代中,使用上次迭代得到的残差信息对上次迭代输入的位姿相关参数进行修正,并将修正后得到的位姿相关参数以及该子图的图像特征信息作为本次位姿相关参数输入参数预测网络,得到本次迭代的残差信息;直到完成最后一次迭代;在最后一次迭代后,将最后一次迭代得到的残差信息作为预测的位姿相关参数,并将子图的图像特征信息和预测的位姿相关参数输出;所述人体参数包括人体姿态参数和人体形态参数;所述相机参数包括缩放参数、旋转参数和平移参数;所述位姿相关参数的数量根据人体关键关节的数量设置。
在本公开提供的又一实施例中,所述训练模块,用于利用裁剪区域二维投影模型对构建的三维人体模型进行针对二维剪裁区域的正交投影;以及利用整幅图片二维投影模型对构建的三维人体模型进行针对二维整幅图片的正交投影;其中,所述整幅图片二维投影模型基于所述全局位置参数确定。
在本公开提供的又一实施例中,所述训练模块,用于采用如下方式构建所述裁剪区域二维投影模型:将所述人体参数作为自变量,构建第一隐函数;将所述第一隐函数与所述相机参数中的旋转参数相乘得到的乘积作为自变量,构建第二隐函数;将所述第二隐函数与所述相机参数中的缩放参数相乘的乘积,与所述相机参数中的平移参数相加,得到所述剪裁区域二维投影模型;以及
采用如下方式构建所述整幅图片二维投影模型:基于所述全局位置参数,确定所述子图在所述训练图片中的全局透视平移参数,并变换为平移矩阵;通过所述平移矩阵将所述人体模型构建网络输出的局部三维人体关节矩阵变换为全局三维人体关节矩阵;将所述全局三维人体关节矩阵作为自变量,构建所述整幅图片二维投影模型。
在本公开提供的又一实施例中,所述全局位置参数包括:裁剪子图的中心在所述训练图片所在平面坐标系中的两个维度坐标,以及裁剪子图的边长;则所述训练模块,用于将作为弱透视投影参数的相机参数中的第一维平移参数和第二维平移参数,分别确定为透视投影参数中的第一维透视平移参数和第二维透视平移参数;基于所述边长、裁剪相机的焦距、及预测得到的所述相机参数中的缩放参数,生成表征所述透视投影参数中深度信息的第三维透视平移参数;基于所述裁剪子图中心的第一维坐标、所述裁剪子图的边长、及所述缩放参数,将第一维透视平移参数变换为全局第一维透视平移参数;基于所述裁剪子图中心的第二维坐标、所述裁剪子图的边长、及所述缩放参数,将第二维透视平移参数变换为全局第二维透视平移参数;基于裁剪相机的焦距、所述训练图片原始相机的焦距、所述裁剪子图的边长、及所述裁剪相机相对于所述原始相机的变换角度,将第三维透视平移参数变换为全局第三维透视平移参数。
在本公开提供的又一实施例中,所述人体位姿估计与三维重建网络还包括:全局注意力网络和局部注意力网络;
所述训练模块,还用于在将所述子图的图像特征信息输入参数预测网络之前,将所述训练图片的像素位置进行编码,并输入所述全局注意力网络,输出带有像素位置的第一特征图;将所述子图输入所述局部注意力网络,输出包含不同通道重要性信息的第二特征图;从所述第一特征图中选取像素与所述子图对应的第三特征图,并将所述第二特征图和所述第三特征图进行融合处理,得到所述图像特征信息;
所述全局注意力网络包括:transformer网络;所述局部注意力网络包括:SENet网络;
所述训练模块,用于将所述训练图片的像素输入所述transformer网络,将各像素转换成特征向量;对各像素的位置信息进行二维编码,并将所述二维编码输入所述transformer网络;将所述特征向量与对应二维编码结合,通过编码器进行编码,再通过解码器进行解码,输出带有像素位置的第一特征图;
所述训练模块,用于将所述第二特征图和所述第三特征图按位相加,得到所述图像特征信息。
在本公开提供的又一实施例中,所述训练模块,用于基于所述人体模型构建网络输出的三维人体关节位置,以及三维人体姿态及形态函数,构建第一损失函数,并根据预先标注的对应真值确定第一损失;基于构建的三维人体模型向所述二维裁剪区域正交投影得到的二维关节预测值,以及标注的关节真值,确定第二损失;基于构建的三维人体模型向所述二维整幅图片正交投影得到的二维关节预测值,以及标注的关节真值,确定第三损失;基于所述第一损失、所述第二损失、以及所述第三损失的和,对所述参数预测网络、所述人体模型构建网络、以及所述二维投影模型进行训练。
在本公开提供的又一实施例中,所述人体位姿估计与三维重建网络还包括:异常参数判别器;
所述训练模块,还用于在将预测的位姿相关参数输入所述人体模型构建网络之前,将预测的位姿相关参数输入对应异常参数判别器,在所有异常参数判别器输出结果为真的情况下,将预测的位姿相关参数输入所述人体模型构建网络;否则,继续对所述参数预测网络进行训练;其中,所述异常参数判别器包括异常人体形态参数判别器、与关节数量对应数量的异常人体关节姿态判别器、以及整体关节姿态判别器。
本公开实施例提供一种人体位姿估计与三维重建装置,包括:
位姿估计模块,用于将包含人体的图片输入上述任意实施例所述的人体位姿估计与三维重建网络训练方法训练得到的人体位姿估计与三维重建网络,得到所述图片中所包含人体的位姿估计信息,以及三维人体模型。
本公开实施例提供了一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述任一人体位姿估计与三维重建网络训练方法实施例的步骤,或者上述人体位姿估计与三维重建方法实施例的步骤。
参照图6所示,为本申请实施例提供的计算机设备600的结构示意图,包括处理器601、存储器602、和总线603。其中,存储器602用于存储执行指令,包括内存6021和外部存储器6022;这里的内存6021也称内存储器,用于暂时存放处理器601中的运算数据,以及与硬盘等外部存储器6022交换的数据,处理器601通过内存6021与外部存储器6022进行数据交换,当电子设备600运行时,处理器601与存储器602之间通过总线603通信,使得处理器601在执行以下指令:
预先构建人体位姿估计与三维重建网络;所述网络包括:目标检测与分割网络、参数预测网络、人体模型构建网络、及二维投影模型;
将训练图片输入目标检测与分割网络,从训练图片中裁剪包含人体的子图,并确定该子图相对于训练图片的全局位置参数;
将该子图的图像特征信息输入参数预测网络,对该子图中人体的位姿相关参数进行预测;位姿相关参数包括:人体参数和相机参数;
将预测的位姿相关参数输入人体模型构建网络,构建三维人体模型;
利用二维投影模型对构建的三维人体模型进行二维投影,得到二维投影结果;其中,二维投影模型基于所述全局位置参数确定;
基于得到的二维投影结果及构建的三维人体模型,对参数预测网络、人体模型构建网络、以及二维投影模型进行训练。或者
将包含人体的图片输入如上述任一人体位姿估计与三维重建网络训练方法实施例训练得到的人体位姿估计与三维重建网络,得到该图片中所包含人体的位姿估计信息,以及三维人体模型。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述任一人体位姿估计与三维重建网络训练方法实施例的步骤,或者上述人体位姿估计与三维重建方法实施例的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本公开实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本公开所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本公开实施例序号仅仅为了描述,不代表实施例的优劣。
显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。
Claims (11)
1.一种人体位姿估计与三维重建网络训练方法,其特征在于,包括:
预先构建人体位姿估计与三维重建网络;所述网络包括:目标检测与分割网络、参数预测网络、人体模型构建网络、及二维投影模型;
将训练图片输入所述目标检测与分割网络,从所述训练图片中裁剪包含人体的子图,并确定所述子图相对于所述训练图片的全局位置参数;
将所述子图的图像特征信息输入所述参数预测网络,对所述子图中人体的位姿相关参数进行预测;所述位姿相关参数包括:人体参数和相机参数;
将预测的位姿相关参数输入所述人体模型构建网络,构建三维人体模型;
利用所述二维投影模型对构建的三维人体模型进行二维投影,得到二维投影结果;其中,所述二维投影模型基于所述全局位置参数确定;
基于得到的二维投影结果及构建的三维人体模型,对所述参数预测网络、所述人体模型构建网络、以及所述二维投影模型进行训练。
2.如权利要求1所述的方法,其特征在于,将所述子图的图像特征信息输入所述参数预测网络,对所述子图中人体的位姿相关参数进行预测,包括:
按照预设迭代次数,迭代执行所述参数预测网络,对所述子图中人体的位姿相关参数进行预测;并满足:
在首次迭代中,将该子图的图像特征信息以及初始位姿相关参数输入参数预测网络,得到首次迭代的残差信息;
在后续每次迭代中,使用上次迭代得到的残差信息对上次迭代输入的位姿相关参数进行修正,并将修正后得到的位姿相关参数以及该子图的图像特征信息作为本次位姿相关参数输入参数预测网络,得到本次迭代的残差信息;直到完成最后一次迭代;
在最后一次迭代后,将最后一次迭代得到的残差信息作为预测的位姿相关参数,并将子图的图像特征信息和预测的位姿相关参数输出;
所述人体参数包括人体姿态参数和人体形态参数;所述相机参数包括缩放参数、旋转参数和平移参数;所述位姿相关参数的数量根据人体关键关节的数量设置。
3.如权利要求1所述的方法,其特征在于,利用所述二维投影模型对构建的三维人体模型进行二维投影,包括:
利用裁剪区域二维投影模型对构建的三维人体模型进行针对二维剪裁区域的正交投影;以及
利用整幅图片二维投影模型对构建的三维人体模型进行针对二维整幅图片的正交投影;其中,所述整幅图片二维投影模型基于所述全局位置参数确定。
4.如权利要求3所述的方法,其特征在于,采用如下方式构建所述裁剪区域二维投影模型:
将所述人体参数作为自变量,构建第一隐函数;
将所述第一隐函数与所述相机参数中的旋转参数相乘得到的乘积作为自变量,构建第二隐函数;
将所述第二隐函数与所述相机参数中的缩放参数相乘的乘积,与所述相机参数中的平移参数相加,得到所述剪裁区域二维投影模型;
采用如下方式构建所述整幅图片二维投影模型:
基于所述全局位置参数,确定所述子图在所述训练图片中的全局透视平移参数,并变换为平移矩阵;
通过所述平移矩阵将所述人体模型构建网络输出的局部三维人体关节矩阵变换为全局三维人体关节矩阵;
将所述全局三维人体关节矩阵作为自变量,构建所述整幅图片二维投影模型。
5.如权利要求4所述的方法,其特征在于,所述全局位置参数包括:裁剪子图的中心在所述训练图片所在平面坐标系中的两个维度坐标,以及裁剪子图的边长;则
基于所述全局位置参数,确定所述子图在所述训练图片中的全局透视平移参数,包括:
将作为弱透视投影参数的相机参数中的第一维平移参数和第二维平移参数,分别确定为透视投影参数中的第一维透视平移参数和第二维透视平移参数;
基于所述边长、裁剪相机的焦距、及预测得到的所述相机参数中的缩放参数,生成表征所述透视投影参数中深度信息的第三维透视平移参数;
基于所述裁剪子图中心的第一维坐标、所述裁剪子图的边长、及所述缩放参数,将第一维透视平移参数变换为全局第一维透视平移参数;
基于所述裁剪子图中心的第二维坐标、所述裁剪子图的边长、及所述缩放参数,将第二维透视平移参数变换为全局第二维透视平移参数;
基于裁剪相机的焦距、所述训练图片原始相机的焦距、所述裁剪子图的边长、及所述裁剪相机相对于所述原始相机的变换角度,将第三维透视平移参数变换为全局第三维透视平移参数。
6.如权利要求1所述的方法,其特征在于,所述人体位姿估计与三维重建网络还包括:全局注意力网络和局部注意力网络;
在将所述子图的图像特征信息输入参数预测网络之前,还包括:
将所述训练图片的像素位置进行编码,并输入所述全局注意力网络,输出带有像素位置的第一特征图;
将所述子图输入所述局部注意力网络,输出包含不同通道重要性信息的第二特征图;
从所述第一特征图中选取像素与所述子图对应的第三特征图,并将所述第二特征图和所述第三特征图进行融合处理,得到所述图像特征信息;
所述全局注意力网络包括:transformer网络;所述局部注意力网络包括:SENet网络;
将所述训练图片的像素位置进行编码,并输入所述全局注意力网络,输出带有像素位置的第一特征图,包括:
将所述训练图片的像素输入所述transformer网络,将各像素转换成特征向量;
对各像素的位置信息进行二维编码,并将所述二维编码输入所述transformer网络;
将所述特征向量与对应二维编码结合,通过编码器进行编码,再通过解码器进行解码,输出带有像素位置的第一特征图;
将所述第二特征图和所述第三特征图进行融合处理,得到所述图像特征信息,包括:
将所述第二特征图和所述第三特征图按位相加,得到所述图像特征信息。
7.如权利要求3所述的方法,其特征在于,基于得到的二维投影结果及构建的三维人体模型,对所述参数预测网络、所述人体模型构建网络、以及所述二维投影模型进行训练,包括:
基于所述人体模型构建网络输出的三维人体关节位置,以及三维人体姿态及形态函数,构建第一损失函数,并根据预先标注的对应真值确定第一损失;
基于构建的三维人体模型向所述二维裁剪区域正交投影得到的二维关节预测值,以及标注的关节真值,确定第二损失;
基于构建的三维人体模型向所述二维整幅图片正交投影得到的二维关节预测值,以及标注的关节真值,确定第三损失;
基于所述第一损失、所述第二损失、以及所述第三损失的和,对所述参数预测网络、所述人体模型构建网络、以及所述二维投影模型进行训练。
8.如权利要求1所述的方法,其特征在于,所述人体位姿估计与三维重建网络还包括:异常参数判别器;
在将预测的位姿相关参数输入所述人体模型构建网络之前,还包括:
将预测的位姿相关参数输入对应异常参数判别器,在所有异常参数判别器输出结果为真的情况下,将预测的位姿相关参数输入所述人体模型构建网络;否则,继续对所述参数预测网络进行训练;
其中,所述异常参数判别器包括异常人体形态参数判别器、与关节数量对应数量的异常人体关节姿态判别器、以及整体关节姿态判别器。
9.一种人体位姿估计与三维重建方法,其特征在于,包括:
将包含人体的图片输入如权利要求1-8任一项所述的人体位姿估计与三维重建网络训练方法训练得到的人体位姿估计与三维重建网络,得到所述图片中所包含人体的位姿估计信息,以及三维人体模型。
10.一种人体位姿估计与三维重建相关装置,其特征在于,包括:提供如权利要求1至8任一所述的人体位姿估计与三维重建网络训练方法的步骤对应功能模块的人体位姿估计与三维重建网络训练装置;或者如权利要求9所述的人体位姿估计与三维重建方法的步骤对应功能模块的人体位姿估计与三维重建装置。
11.一种计算机设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至8任一所述的人体位姿估计与三维重建网络训练方法的步骤,或者权利要求9所述的人体位姿估计与三维重建方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410027716.4A CN117542122B (zh) | 2024-01-09 | 2024-01-09 | 人体位姿估计与三维重建方法、网络训练方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410027716.4A CN117542122B (zh) | 2024-01-09 | 2024-01-09 | 人体位姿估计与三维重建方法、网络训练方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117542122A true CN117542122A (zh) | 2024-02-09 |
CN117542122B CN117542122B (zh) | 2024-03-22 |
Family
ID=89790329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410027716.4A Active CN117542122B (zh) | 2024-01-09 | 2024-01-09 | 人体位姿估计与三维重建方法、网络训练方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117542122B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117893696A (zh) * | 2024-03-15 | 2024-04-16 | 之江实验室 | 一种三维人体数据生成方法、装置、存储介质及电子设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190147221A1 (en) * | 2017-11-15 | 2019-05-16 | Qualcomm Technologies Inc. | Pose estimation and model retrieval for objects in images |
CN110322510A (zh) * | 2019-06-27 | 2019-10-11 | 电子科技大学 | 一种利用轮廓信息的6d位姿估计方法 |
CN110827342A (zh) * | 2019-10-21 | 2020-02-21 | 中国科学院自动化研究所 | 三维人体模型重建方法及存储设备、控制设备 |
US10853970B1 (en) * | 2019-03-22 | 2020-12-01 | Bartec Corporation | System for estimating a three dimensional pose of one or more persons in a scene |
US20220222824A1 (en) * | 2020-09-15 | 2022-07-14 | Sri International | Fully automated multimodal system architecture for semantic segmentation of large-scale 3d outdoor point cloud data |
US11521373B1 (en) * | 2019-03-22 | 2022-12-06 | Bertec Corporation | System for estimating a three dimensional pose of one or more persons in a scene |
CN115797555A (zh) * | 2022-11-22 | 2023-03-14 | 复旦大学 | 一种基于深度相机的人体实时三维重建方法 |
CN116188684A (zh) * | 2023-01-03 | 2023-05-30 | 中国电信股份有限公司 | 基于视频序列的三维人体重建方法及相关设备 |
CN116363308A (zh) * | 2023-03-10 | 2023-06-30 | 平安科技(深圳)有限公司 | 人体三维重建模型训练方法、人体三维重建方法和设备 |
CN116843834A (zh) * | 2023-07-03 | 2023-10-03 | 中国科学院自动化研究所 | 一种三维人脸重建及六自由度位姿估计方法、装置及设备 |
-
2024
- 2024-01-09 CN CN202410027716.4A patent/CN117542122B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190147221A1 (en) * | 2017-11-15 | 2019-05-16 | Qualcomm Technologies Inc. | Pose estimation and model retrieval for objects in images |
US10853970B1 (en) * | 2019-03-22 | 2020-12-01 | Bartec Corporation | System for estimating a three dimensional pose of one or more persons in a scene |
US11521373B1 (en) * | 2019-03-22 | 2022-12-06 | Bertec Corporation | System for estimating a three dimensional pose of one or more persons in a scene |
CN110322510A (zh) * | 2019-06-27 | 2019-10-11 | 电子科技大学 | 一种利用轮廓信息的6d位姿估计方法 |
CN110827342A (zh) * | 2019-10-21 | 2020-02-21 | 中国科学院自动化研究所 | 三维人体模型重建方法及存储设备、控制设备 |
US20220222824A1 (en) * | 2020-09-15 | 2022-07-14 | Sri International | Fully automated multimodal system architecture for semantic segmentation of large-scale 3d outdoor point cloud data |
CN115797555A (zh) * | 2022-11-22 | 2023-03-14 | 复旦大学 | 一种基于深度相机的人体实时三维重建方法 |
CN116188684A (zh) * | 2023-01-03 | 2023-05-30 | 中国电信股份有限公司 | 基于视频序列的三维人体重建方法及相关设备 |
CN116363308A (zh) * | 2023-03-10 | 2023-06-30 | 平安科技(深圳)有限公司 | 人体三维重建模型训练方法、人体三维重建方法和设备 |
CN116843834A (zh) * | 2023-07-03 | 2023-10-03 | 中国科学院自动化研究所 | 一种三维人脸重建及六自由度位姿估计方法、装置及设备 |
Non-Patent Citations (1)
Title |
---|
周船, 谈大龙, 朱枫: "基于模型的位姿估计中优化方法研究", 仪器仪表学报, no. 1, 31 December 2004 (2004-12-31), pages 134 - 136 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117893696A (zh) * | 2024-03-15 | 2024-04-16 | 之江实验室 | 一种三维人体数据生成方法、装置、存储介质及电子设备 |
CN117893696B (zh) * | 2024-03-15 | 2024-05-28 | 之江实验室 | 一种三维人体数据生成方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN117542122B (zh) | 2024-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210232924A1 (en) | Method for training smpl parameter prediction model, computer device, and storage medium | |
US10679046B1 (en) | Machine learning systems and methods of estimating body shape from images | |
Murthy et al. | Reconstructing vehicles from a single image: Shape priors for road scene understanding | |
US20220414911A1 (en) | Three-dimensional reconstruction method and three-dimensional reconstruction apparatus | |
CN111325794A (zh) | 一种基于深度卷积自编码器的视觉同时定位与地图构建方法 | |
US10225473B2 (en) | Threshold determination in a RANSAC algorithm | |
CN109508678A (zh) | 人脸检测模型的训练方法、人脸关键点的检测方法和装置 | |
CN113168710A (zh) | 三维对象重建 | |
EP3428875A1 (en) | Methods and apparatuses for panoramic image processing | |
CN117542122B (zh) | 人体位姿估计与三维重建方法、网络训练方法及装置 | |
CN113807361B (zh) | 神经网络、目标检测方法、神经网络训练方法及相关产品 | |
CN113643366B (zh) | 一种多视角三维对象姿态估计方法及装置 | |
US20240070972A1 (en) | Rendering new images of scenes using geometry-aware neural networks conditioned on latent variables | |
US11961266B2 (en) | Multiview neural human prediction using implicit differentiable renderer for facial expression, body pose shape and clothes performance capture | |
CN113903028A (zh) | 一种目标检测方法及电子设备 | |
US20230040550A1 (en) | Method, apparatus, system, and storage medium for 3d reconstruction | |
US20220327730A1 (en) | Method for training neural network, system for training neural network, and neural network | |
WO2022242127A1 (zh) | 图像特征提取方法、装置、电子设备及存储介质 | |
Hsiao et al. | Flat2layout: Flat representation for estimating layout of general room types | |
CN116843834A (zh) | 一种三维人脸重建及六自由度位姿估计方法、装置及设备 | |
WO2022208440A1 (en) | Multiview neural human prediction using implicit differentiable renderer for facial expression, body pose shape and clothes performance capture | |
CN112750155B (zh) | 基于卷积神经网络的全景深度估计方法 | |
CN114067371B (zh) | 一种跨模态行人轨迹生成式预测框架、方法和装置 | |
CN116597260A (zh) | 图像处理方法、电子设备、存储介质及计算机程序产品 | |
CN115965765A (zh) | 一种基于神经变形的可变形场景中人体运动捕捉方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |