一种精确的基于三维人体重建的烧伤面积计算方法与流程

文档序号:18838945发布日期:2019-10-09 06:32阅读:569来源:国知局
一种精确的基于三维人体重建的烧伤面积计算方法与流程

本发明属于医学影像处理技术领域,涉及一种精确的基于三维人体重建的烧伤面积计算方法。



背景技术:

在过去的80年里,医学专业人员依靠手绘的图表和其他方法或公式来确定%tbsa,标准的二维(2d)图表(如“lund-browder表格法”或“九分法(ruleofnines)”)有助于确定烧伤面积的百分比。1944年,lund和browder在前人方法的基础上对图表进行了修正,由于其简单实用,lund-browder表格法得到了广泛的应用。如今,现代计算机技术的革新以及对个体化与专业化治疗的需求已经成为发展精确和个体化评估技术的重要推动力。因此,为了克服二维图表计算烧伤面积方法的不足,相关研究人员开发了一系列计算机辅助的三维模型,可以快速、可靠地计算烧伤面积。代表性的成果有burncase3d、epri3dburnvision、bai和changgung全身扫描仪,burncase3d和epri3dburnvision,都是通过数据输入(例如年龄、性别、身高)调整库中默认的存储模型来确定%tbsa的。操作员选择相似的模型,并通过使用画笔勾勒烧伤三角形来表示烧伤区域,%tbsa的计算就转变为选定三角形的面积(即烧伤面积)与组成整个身体的三角形总面积的比值。该模型支持三维旋转、缩放等功能,具有良好的直观和三维视觉效果。然而,这些模型的缺点是没有考虑到肥胖或畸形人群。相比之下,bai有80多名年龄、性别和体重(尤其是肥胖)各异的模特,就可以消除上述缺点。这些系统都使用了具有不同身体特征并且数量有限的3d模型,所以无法针对个性化的烧伤患者建立精确的3d模型。changgung全身扫描仪(cgwbs)是一种立体人体扫描系统,在垂直塔上安装了六台扫描仪,从头到脚扫描身体,试图建立一个个性化的三维人体模型。采用该技术,成年人的平均psa/tbsa比值为0.89%。通过对3951名亚洲受试者的扫描,建立了新的tbsa计算公式(sa=0.015925(ht*wt)1/2),临床应用cgwbs的缺点是操作系统复杂、成本高、操作不便。

三维人体重建的方法可以根据两个标准进行分类:使用传感器的自由曲面重建类型和基于模型的重建类型。自由曲面方法通常使用多视图相机、深度相机或与传感器的融合,在不使用基于模型的强先验的情况下,相当精确地重建表面几何形状。但是在单目相机这种无约束且设置模糊的情况下,基于参数体模型的重建则更有助于显著地解决人体建模问题。

自由曲面的方法。通过变形网格或使用对象的空间表示来重建动态的对象。这些方法的优点是,在初始化表面的前提下,可以很容易地重建出一般对象的动态形状。这种方法虽然灵活,但是需要高质量的多视图输入数据,这对许多应用程序来说是不实用的。有一种方法展示了利用预先捕获的人体模型,从单目视频中重建人体姿态和衣服的几何形状。也有一些方法的重建过程是使用深度相机,像kinectfusion这样的系统允许重建三维刚性场景,并通过在一个标准帧中逐步融合几何图形来重建客观对象模型。采用kinectfusion进行人体扫描的方法有很多,问题是这些方法在不同的时间实例中需要单独的镜头。因此,当相机转向时,人需要站着不动,即使是微妙的姿势变化都需要得到明确的补偿。

基于模型的方法。有几项研究利用参数化的身体模型从图像中估计人体的姿态和形状。早期的计算机视觉模型重建都是基于形状简单的几何体。最近的一些研究对真人的进行数千次扫描学习,并对姿势和形状变形进行编码。有些研究通过优化一个形状和多个姿态利用时间信息,依据深度数据序列重建人体形状。使用多视图,一些研究利用高斯体模型的和或使用预先计算的模板在户外成功地捕获了三维模型。许多工作局限于从多个视图或单幅图像中通过手动点击来估计人体模型的形状参数,形状参数可以通过轮廓、阴影、特征和颜色推断获得。二维位姿检测的进展使得三维位姿和形状估计在具有挑战性的场景中成为可能,于是一些方法将三维体模型拟合到二维检测中,由于只对模型参数进行优化,且这些方法严重依赖于二维检测,重建结果往往接近形状空间的均值。



技术实现要素:

有鉴于此,本发明的目的在于开发了一种精确、低成本、便携的三维人体重建系统。利用该系统可以建立个性化的三维人体模型,能够准确、快速地计算出烧伤面积。

为达到上述目的,本发明提供如下技术方案:

一种精确的基于三维人体重建的烧伤面积计算方法,算法具体步骤如下:

一种精确的基于三维人体重建的烧伤面积计算方法,其特征在于,包括以下步骤:

s1:通过一个rgb摄像头拍摄烧伤患者视频;

s2:分割视频中每一帧的烧伤患者人体对象,得到该病人的轮廓剪影图像序列,具体包括:

s2.1,预训练大量的标记图像来初始化基础cnn网络,进一步地,训练数据集davis的二元掩码上的网络,使用动量为0.9的随机梯度下降(sgd)迭代50000次,通过镜像和放大来增加数据,学习率设置为10-8,并逐渐降低,经过离线训练,网络学会从背景中分割前景对象,将这个网络成为父网络;

s2.2,通过进一步训练(微调)特定的图像-地面实况对的父网络,使用新的权重对整个序列进行测试,对要分割的特定实例进行少量迭代,使得网络可以快速聚焦于该特定实例;

s2.3,将烧伤病人的视频按需提取出n帧的图像序列,输入训练好的网络,得到n张分割出患者剪影轮廓的.png图片;

s3:估计视频中烧伤患者的人体姿态,具体是将大小为w*h的彩色图像作为输入,并输出图像中识别出的烧伤患者身体关键点的二维位置,具体包括:

s3.1,前馈网络同时预测一组身体部位位置的二维置信度图s和一组身体部位相似性的二维向量场l,这组向量场编码了肢体之间的关联程度;

s3.2,集合s=s1,s2,…,sj中有j个置信度图,每个身体部位各有一个置信度图,其中集合l=l1,l2,…,lc中有c个向量场,每个分支一个,其中lc中的每个图像位置都编码一个二维向量;

s3.3,通过贪婪推理解析置信度图和关联字段,输出图像中烧伤患者的二维关键点;

s4:一致性形状估计,基于smpl模型优化给定的一组估计姿态,使其变形为t型姿态三维人体模型;

s5:生成纹理;

s6:参数化烧伤患者的三维人体模型;

s7:分割烧伤创面区域,具体包括:

s7.1,使用r101fa作为骨干网络提取特征图:resnet101由101层组成,定义输出特征图为c1、c2、c3、c4、c5,最终的特征图为p2,p3,p4,p5,使用一个1*1卷积核通过输出c5得到第一个特征图p5,然后对p5进行上采样,得到p*,并由经过c5处理的3*3个卷积核生成c*,p4映射是c*与p*合并的结果,在遍历所有c之后,就可以构建出p2、p3、p4和p5;

s7.2,生成roi的rpn网络:rpn网络在滑动窗口中心生成n个锚点(锚点比例尺为原始图像),计算每个锚点的iou值来判断锚点是正还是负,每张图像都有n个采样的roi,其正负比为1:3;

s7.3,对每个roi进行目标检测和mask预测:将每个正锚统一成一个固定的大小,用一个全连接网络来提取一个2048维的特征向量,该向量用于分类器和箱形回归器,同时,rois将经历两个卷积层,对图像mask进行预测;

s8:计算烧伤面积。

在上述的一种精确的基于三维人体重建的烧伤面积计算方法,在步骤s1中,视频拍摄要求保持相机静止,且拍摄对象双臂伸展匀速自转至少一周。

在上述的一种精确的基于三维人体重建的烧伤面积计算方法,在步骤s4中,smpl是一个裸体人体的参数化模型,有72个姿态和10个形状参数,并返回一个n=6890个顶点的三角形网格;形状β和姿势θ变形应用于基础模板t,这个基础模板是原始smpl模型对应的训练扫描的平均计算形状:

m(β,θ)=w(t(β,θ),j(β),θ,w),

t(β,θ)=tμ+bs(β)+bp(θ),

其中w是一个线性混合剥皮函数,应用于基于骨骼关节j(β)的静止姿态t(β,θ),且t(β,θ)应用于位置相关的变形bp(θ)和形状相关的变形bs(β);

由于smpl模型无法对烧伤患者人体表面细节进行建模,因此需在模板中添加一组偏移量

t(β,θ,d)=tμ+bs(β)+bp(θ)+d;

从相机到轮廓点的一组光线定义一个约束锥,使用估计的姿态来展开由投影光线定义的圆锥,通过对每一条射线的smpl函数求逆来实现,在smpl中,每个顶点v都按照如下公式变形:

其中gk是关节k的全局变换,和bp,i(θ)是bs(β)和bp(θ)所对应的第i个顶点的元素,需要找到每一条射线r最近的三维模型点;

因此可以推理出,模型顶点vi对应的射线r的逆变换为:

在上述的一种精确的基于三维人体重建的烧伤面积计算方法,在步骤s5中,将估计的正则模型变形回每一帧,将图像颜色反向投影到所有可见的顶点,最后通过计算所有视图中正交纹理的中值生成纹理图像。

在上述的一种精确的基于三维人体重建的烧伤面积计算方法,在步骤s6中,首先使用blender将重建的三维人体模型沿一条边剪开,生成一个有且仅有一条边界的模型;然后将网格模型参数化展平。

在上述的一种精确的基于三维人体重建的烧伤面积计算方法,在步骤s8中,将分割出烧伤区域的参数化模型通过3d应用程序统计烧伤区域面积。

本发明的有益效果在于:本发明提出了一种精确的基于三维人体重建的烧伤面积计算方法,从一个移动的人的单目视频重建个性化的三维人体模型。重建包括个性化的头发、身体和衣服的几何形状、表面纹理和允许改变姿势和形状的基础模型。该方法将曲面位移扩展的参数化人体模型和一种将动态人体轮廓锥变形融合在一个共同参照系中的新方法相结合。融合锥融合了视频中包含的形状信息,使我们能够优化一个详细的模型形状。本方法不仅能捕捉到物体表面的几何形状和外观,还能利用运动骨架自动对物体模型进行装配,从而实现近似的位置相关表面变形。定量结果表明,此方法可以重建人体形状的精确度为4.5毫米。由于单目相机无处不在且价格低廉,每个人都能够将自己数字化,并将3d人体模型应用于vr、娱乐、生物识别或在线购物的虚拟试穿。此外,本方法精确地将模型与图像对齐,这也为图像编辑提供了更多的可能性。

附图说明

图1为基于三维人体重建的烧伤面积计算方法流程图。

图2为输入数据:烧伤病人的单目视频截图。

图3为烧伤病人的对象分割、轮廓剪影结果示意图。

图4为烧伤病人三维模型的参数化展平结果。

图5a为烧伤病人三维人体模型重建效果图(方向一)。

图5b为烧伤病人三维人体模型重建效果图(方向二)。

具体实施方式

下面将结合附图,对本发明的优选实施例进行详细的描述。

本发明提供了一种精确的基于三维人体重建的烧伤面积计算方法,如图1所示,本发明所述方法分为三个模块:数据预处理、三维人体重建和烧伤面积计算,详细内容具体包括以下步骤:

s1:通过一个rgb摄像头拍摄10秒左右的烧伤患者视频;

s2:分割视频中每一帧的烧伤患者人体对象,得到该病人的轮廓剪影图像序列;

s3:估计视频中烧伤患者的人体姿态;

s4:一致性形状估计,基于smpl模型优化给定的一组估计姿态,使其变形为t型姿态三维人体模型;

s5:生成纹理;

s6:参数化烧伤患者的三维人体模型;

s7:分割烧伤创面区域。

s8:计算烧伤面积。

具体地说:

步骤s1:在本实施方式中,输入数据为烧伤患者的单目rgb视频,从单目rgb视频自动重建个性化的人体移动,可以更好地应用到现实生活场景中,该视频需满足以下条件:1)每次只拍摄一个烧伤患者;2)拍摄环境尽可能减少杂物;3)拍摄距离适中;4)拍摄对象双臂伸展,匀速自转360°及以上。

步骤s2:vgg体系结构共分为五个阶段,该体系结构由一组卷积和relu层(修正线性单元)组成,在各个阶段之间,随着深入网络,池操作将缩小特征映射的范围。

将卷积层连接起来,与每个阶段的最后一层(池化之前)形成单独的跳过路径,在需要的地方进行升级操作,并将来自不同路径的功能映射连接起来,以构建包含不同级别详细信息的卷。将特征映射线性地融合到一个与图像尺寸相同的输出中,并为其分配一个损失函数。

在这种情况下,二值分类的像素级交叉熵损失定义为:

其中w为cnn的标准可训练参数,x为输入图像,yj∈0,1,j=1,…,|x|是x按像素划分的二进制标签,y+和y-是带正负标签的像素,p(·)是通过对最后一层应用激活函数sigmoid得到的。

为了处理两个二分类之间的不平衡,改进l(w)之后的二值分类像素级交叉熵损失定义为:

其中β=|y-|/|y|,此方程可以训练不平衡的二分类任务。

最后,将烧伤病人的视频按需提取出n帧的图像序列,输入训练好的网络,得到n张分割出患者剪影轮廓的.png图片。

步骤s3:该步骤的cnn网络分为两个分支:第一个分支是预测置信度图,第二个分支是预测关联字段。首先由卷积网络分析图像,生成一组特征映射f,输入到每个分支的第一阶段,在第一阶段,网络产生一组检测置信度图和一组部位关联字段,ρ1和φ1是cnn网络在第一阶段的卷积,在之后的每个阶段中,将前一个阶段的两个分支的预测与原始图像特征f连接起来,生成精细化的预测:

其中,ρt和φt是cnn网络中第t阶段的卷积操作。

引导了网络迭代预测第一个分支和第二个分支的身体部位置信度图,在两个分支的t阶段分别应用一个损失函数:

其中是真实情况下的置信度图,是真实情况下的关联向量场,w为图像位置p缺失注释时w(p)=0的二元mask。

为每个人k生成个体置信度图设xj,k为图中人k的身体j部分在图像中的实际位置。在位置的值定义为:

其中σ控制峰值的传播。通过聚合单个置信图的最大值得到网络预测的实际置信图:

提出了一种新的人体特征表示方法,称为部件亲和域,它在整个肢体支持区域内同时保存位置和方向信息。部件亲和域是每个肢体的二维向量场:在肢体所包含的整个支撑区域范围内,这部分的位置信息和方向信息是一致的,把部件亲和域定量地表示为每个肢体的二维向量场,每一个二维向量都表示这个肢体所包括范围内的一个像素点,向量的方向表示肢体的走向。每个肢体都连接一个人身体的两个部位,每个部位都对应一个二维向量亲和域场。

分别是人体k的肢体c的身体部件j1、j2的实际位置。肢体上任一点p,表示从j1到j2的单位向量,对其他所有的点,该向量都是零向量。

测试时,通过计算沿连接候选部件位置的线段相对应的paf上的线积分,来测量候选部件检测之间的关联,具体来说,对于两个候选部件位置沿线段的预测部件亲和场lc进行采样,以测量它们之间关联的置信度:

步骤s4:smpl是一个裸体人体的参数化模型,有72个姿态和10个形状参数,并返回一个n=6890个顶点的三角形网格。形状β和姿势θ变形应用于基础模板t,这个基础模板是原始smpl模型对应的训练扫描的平均计算形状:

m(β,θ)=w(t(β,θ),j(β),θ,w)

t(β,θ)=tμ+bs(β)+bp(θ)

其中w是一个线性混合剥皮函数,应用于基于骨骼关节j(β)的静止姿态t(β,θ),且t(β,θ)应用于位置相关的变形bp(θ)和形状相关的变形bs(β)。

由于smpl模型无法对烧伤患者人体表面细节进行建模,因此需在模板中添加一组偏移量

t(β,θ,d)=tμ+bs(β)+bp(θ)+d

通过优化smpl模型参数来适应图像中的二维联合检测,设置p=5帧,即同时优化5帧以减轻尺度模糊带来的影响,smpl模型的形状参数作为初始化的输出,在后续的帧向位姿估计中保持不变。为了更好地估计三维姿态,引入一个剪影术语:

其中irn(θ)是模型的剪影图像,c是所观察图像的距离变换矩阵,是它的逆矩阵,w是权重。为了使局部极小值具有鲁棒性,对高斯金字塔g的4个不同层次进行了优化。进一步地,使用先进的二维联合检测和单模态a位姿先验让方法更加优化。除了训练网络使smpl的前一个姿势与a姿势中人的身体扫描相匹配,还在新的帧中初始化一个带有前一帧估计姿势θ的新姿势。如果目标误差过大,就通过将姿态设置为零来重新初始化跟踪器。这一步的输出是图像序列中f帧的一组姿态

从相机到轮廓点的一组光线定义一个约束锥,使用估计的姿态来展开由投影光线定义的圆锥,通过对每一条射线的smpl函数求逆来实现,在smpl中,每个顶点v都按照如下公式变形:

其中gk是关节k的全局变换,和bp,i(θ)是bs(β)和bp(θ)所对应的第i个顶点的元素,需要找到每一条射线r最近的三维模型点。

因此可以推理出,模型顶点vi对应的射线r的逆变换为:

给定f个轮廓的一组不确定光线(在所有实验中都使f=120),在正则坐标系中制定了一个优化策略:

econs=edata+ωlpelp+ωvarevar+ωsymesym

能量econs包括数据项edata和三个正则参数项elp、evar、esym,用模板模型的相关形状参数β和顶点集合d来最小化这个能量。

数据项测量顶点和光线之间的距离。点到线的距离可以通过用plucker坐标表示射线(r=rm,rn)计算出来。给定一组对应项(vi,r)∈m,数据项等于:

其中,ρ是geman-mcclure鲁棒成本函数,这里应用于点对线距离。

通过添加拉普拉斯网格正则化器来实现平滑变形:

其中,δ=l(v(β0,0)),l是拉普拉斯算子。

惩罚重构的自由形式顶点与smpl模型解释的顶点之间的偏差:

由于人体模型的对称性,对偏移量施加了一个约束,从而强制形成对称的形状:

步骤s5:在计算出给定序列的全局形状后,顺序地对每一帧进行能量优化。优化由前一帧初始化,并与相邻帧正则化:

将估计的正则模型变形回每一帧,将图像颜色反向投影到所有可见的顶点,最后通过计算所有视图中正交纹理的中值生成纹理图像。

步骤s6:烧伤区域的分割不能直接在三维人体模型上进行操作,使用目前比较先进、效果更好的blender软件来展平模型。借助blender将模型沿一条边剪开,生成一个有且仅有一条边界的模型,接下来我们使用几个参数化网格小程序将剪开的模型展平。

步骤s7:这一步的网络架构包含三个部分:第一部分是骨干网特征图的提取。第二部分是生成roi的rpn网络。最后,对每个roi进行目标检测和mask预测。

在训练的过程中,收集了几乎所有种类的烧伤伤口的图片来训练模型,经过筛选后总计有1000张图片。同时,为了实现更快的训练速度和更少的评估时间,使用r101fa作为框架的骨干网络。

使用r101fa作为骨干网络提取特征图:resnet101由101层组成,定义输出特征图为c1、c2、c3、c4、c5,最终的特征图为p2,p3,p4,p5,使用一个1*1卷积核通过输出c5得到第一个特征图p5,然后对p5进行上采样,得到p*,并由经过c5处理的3*3个卷积核生成c*,p4映射是c*与p*合并的结果,在遍历所有c之后,就可以构建出p2、p3、p4和p5。

在resnet中使用了一阶卷积,卷积核大小为3*3,速率设置为2。

生成roi的rpn网络:rpn网络在滑动窗口中心生成n个锚点(锚点比例尺为原始图像),计算每个锚点的iou值来判断锚点是正还是负,每张图像都有n个采样的roi,其正负比为1:3;

rpn网络的输出为各锚点的得分和回归偏移量。定义了两个损失函数来训练rpn网络:第一个是分数损失lrpnscore,第二个是回归损失lrpnreg。

为了计算lrpnscore,为每个锚点分配了两个标签,正标签和负标签。求所有锚点与目标框并集上的交集,即iou,若大于0.7,则判定为正标签,若小于0.3,则判定为负标签。为了确保所有的目标框至少对应一个锚,使用每个目标框将最高的iou锚标记为一个正标签,可以得到所有的正锚和负锚,将这些锚编码为0和1的序列,序列是rpn目标判断的目标输出。将softmax函数应用于rpn的输出,得到所有锚点的目标可能性,最后利用交叉熵函数计算lrpnscore。

将一个线性函数应用于rpn网络的输出,并预测回归参数(t*)。计算每个正锚的回归偏移量(t),包含四个值(x,y,w,h):x和y是基于相关的目标框中心点的正锚点偏移比,w和h为正锚的纵横比和相关的目标框的对数值。只有正锚会影响lrpnreg,使用smoothl1来计算lrpnreg:

其中,i为批量梯度下降中锚的索引,如果锚为正,否则,ti和是四个向量,用来表示回归偏移量,ti表示基于相关目标框的正锚的回归偏移,表示预测的回归偏移量。

回归损失函数:

smoothl1定义:

损失函数包括五个部分。其中,rpn网络中两个,平行分支中有三个,分别定义为:lmcls、lmbreg、lmmask。因此,损失函数可表示为:

l=lrpnscore+lrpnreg+lmcls+lmbreg+lmmask

使用两个分类器来替换多个分类器。将sigmoid函数应用于输出,并利用交叉熵函数计算损失。用y来定义n个roi的实际值,sigmoid函数的输出是y*。那么,lmcls的求解为:

使用与lrpnreg相同的方法来计算lmbreg

mask是对每个像素应用sigmoid函数后的输出,预测mask为28*28。实际roi被缩放到28*28,并填充了0以避免失真。在mask分支的输出中,将每个roi缩放到相同的大小来计算maskloss。

步骤s8:将分割出烧伤区域的参数化模型通过3d应用程序统计烧伤区域面积。

在本实施例中,提出了基于smpl模型的三维人体重建烧伤评估方案,本方案不仅提高了烧伤区域面积计算的准确性,也弥补了类似于kinect、project等深度相机扫描进行三维人体重建的不完整、不便利的问题。图2是在武汉市第三医院拍摄的烧伤患者视频,由图2可知,该方案用于烧伤面积计算数据易获取,操作简单。图3是数据预处理阶段的对象分割结果,本发明设计的对象分割全卷积网络非常完美清晰地分割出了视频中的人像,证明训练的网络先进有效。图4是烧伤患者三维模型的参数化展平结果。图5是烧伤患者三维人体模型重建效果图,可观察到,不管从哪个角度看重建的模型都是完整且光滑的。

从重建质量方面分析,本发明重建出的三维人体非常完整,没有任何顶点和面的缺失,而一些三维扫描仪重建出的三维人体模型存在多个顶点和面的缺失;从重建效率方面分析,在效率方面最大的优势在于数据采集的过程速度很快,一般只需10-15秒,而三维人体扫描仪的扫描过程至少需要三十分钟。

最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。以上优选实施例虽然只是烧伤患者的,但是本发明提出的基于三维人体重建的烧伤面积计算方法同样可应用于vr、娱乐、生物识别或在线购物的虚拟试穿。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1