脊柱3D建模的方法和系统

文档序号:33724754发布日期:2023-04-06 00:03阅读:315来源:国知局
脊柱3D建模的方法和系统

本发明属于医疗辅助设备,具体涉及一种脊柱3d建模的方法和系统。


背景技术:

1、脊柱侧弯是一种高发性脊柱疾病,主要发生在青少年时期,称为青少年特发性脊柱侧弯。临床上脊柱侧弯检测是采用x光拍照来进行评估,通过专业医师手动定位上、下端椎,计算上、下边缘平面的夹角得到cobb角,根据角的大小判断脊柱侧弯的程度,矢状面的胸椎后凸角和腰椎前凸角的计算同样如此。此方法完全依靠医师的主观判断,容易受x光片清晰度以及单个椎骨旋转的影响。并且x射线有辐射伤害,脊柱侧弯患者在进行支架矫正等非手术治疗过程中,每隔3-6个月需要拍摄x光检查,对放射敏感的器官可能会由于接受超剂量的射线而引起癌症病变。

2、因此,目前有许多研究利用倾角侧弯计、三维超声探头、三维扫描仪等对患者进行脊柱侧弯检测和三维脊柱重建,以对患者进行非电辐射的连续和客观的检查。adam前屈测试指的是通过人工手持倾角侧弯计测量躯干旋转角度,但是该方法有较高的敏感性和特异性,且测量值与cobb角度之间的相关系数并不理想。三维超声成像的方法是通过手动定位超声探针的位置,完成三维脊柱重建,并得到cobb角度,但其测量值与x光拍照方法得到的结果只有中等相关性。上述两种方法都依赖于人工操作,会给检查者带来了较大负担,容易出现因为疲劳导致的误判。diers脊柱分析系统利用三维扫描仪扫描运动过程中人的背部三维轮廓,重建脊柱模型,计算运动过程中的cobb角度,可以实现无害化及快速测量。但三维扫描仪价格昂贵,且依赖于特定场地条件和专业人员操作,不适用于大众日常的测量。

3、人体姿态估计是捕捉人体姿态序列,输出关节点坐标反映姿态特征的技术。vicon系统能够实现高精度的人体姿态估计,但是该方法需要布置多个捕捉摄像头和穿戴捕捉服装,且成本昂贵。近年来,基于计算机视觉的姿态估计方法层出不穷,videopose3d是其中经典的3d姿态估计方法,该方法能够通过rgb摄像头实时捕捉人体关节,但是其精度不够高,且没有很好的开源,难以和其它软件集成交互。azure kinect是微软推出的第三代深度传感器,采用深度学习的方法结合rgbd图像实现骨骼追踪,精度相较于前两代获得较大的提高,已经被确定是可用于步态评估的便携且经济高效的设备,并且将所有功能封装在azurekinect sdk和azure kinect body tracking sdk中,能够方便的进行二次开发。

4、尽管azure kinect的骨骼追踪已经达到较高的精度,但是由于其深度摄像头是基于光的飞行时间测距(tof)原理,导致不可避免的受环境中灰尘、光线以及遮挡物的影响,使得关节点数据可能会出现白噪声或者尖峰抖动。因此需要对得到的数据使用平滑滤波算法进行处理,采用的方法通常有中值滤波算法、指数平滑算法以及卡尔曼滤波算法。中值滤波算法用于消去数据的尖峰,但是对白噪声的去除效果较差;指数平滑算法能够起到平滑的效果,但是有较大的延迟;卡尔曼滤波器的虽然能提供较为准确的估计,但限制于线性系统。并且这些算法只局限于对每个关节点的数据进行处理,忽略了关节点之间骨骼长度的关系。

5、由于azure kinect输出的关节点三维坐标存在着非线性变换,传统的卡尔曼滤波不能有效地对这种非线性变换进行建模,而采用无迹卡尔曼滤波(ukf)能够处理非线性的状态转移与变换,可对白噪声起到高精度的滤波效果。并以骨骼长度为约束,在ukf处理的基础上,进一步筛选符合真实位置的关节点三维坐标,去除造成尖峰的错误坐标,以实现对关节点的准确估计。


技术实现思路

1、因此,针对现有技术的实际改进需求,本发明提出一种脊柱3d建模的方法和系统,利用azure kinect捕捉人体部分关节点坐标,运用ukf方法和骨长约束法对关节点的数据进行平滑处理,由关节点生成控制点获得catmull-rom样条线,表示拟合的人体脊柱线,在脊柱线上配准3d脊柱模型并自动计算冠状面cobb角以及矢状面胸椎后凸角和腰椎前凸角。

2、首先,在unity软件中初始化azure kinect传感器的身体追踪功能捕获关节点坐标数据,并采用骨长约束法和无迹卡尔曼滤波法对数据进行处理生成控制点,再采用catmull-rom样条插值得到拟合的脊柱曲线;其次,在场景中建立通用的3d脊柱模型并配准到拟合脊柱曲线上,得到实时更新的个性化3d脊柱模型;最后,根据拟合脊柱线的曲率分析算法自动计算冠状面的cobb角和矢状面的胸椎后凸角、腰椎前凸角。本发明的优点是能够实时可视化3d脊柱模型并准确的评估脊柱角度参数,且无任何电离辐射、成本低廉以及便捷易部署,适用于脊柱侧弯筛查和脊柱康复训练评估。

3、本发明解决其技术问题采用的技术方案是:

4、一种脊柱3d建模的方法,其特征在于:首先,在unity软件中初始化azure kinect传感器的身体追踪功能捕获关节点坐标数据,并采用骨长约束法和无迹卡尔曼滤波法对数据进行处理生成控制点,再采用catmull-rom样条插值得到拟合的脊柱曲线;其次,在场景中建立通用的3d脊柱模型并配准到拟合脊柱曲线上,得到实时更新的个性化3d脊柱模型;最后,分别对样条线在冠状面和矢状面的投影进行曲率分析,计算得到cobb角度、胸椎后凸角和腰椎前凸角。

5、进一步地,在unity中配置azure kinect环境并初始化身体追踪功能,根据azurekinect数据流的形式,将原始关节点数据排成队列输入,根据原始关节点和额外计算添加的关节点生成控制点以精确的建模和定位椎骨,采用ukf和骨长约束法对得到关节点数据处理以提高精度。

6、进一步地,控制点生成的具体方法为:对于azure kinect身体追踪自动跟踪的关节点,选取其中与脊柱相关的四个点:neck,spine chest,spine naval,pelvis作为基础控制点;将left shoulder和left hip,right shoulder和right hip分别连接,代表身体左侧和右侧的肩-髋连接向量;然后将左、右侧肩-髋连接向量25%和和65%处连接线的中点,以及left shoulder和right shoulder的中点作为额外添加的控制点。

7、进一步地,控制点生成的具体方法为:所述骨长约束法具体为:

8、将关节点数据表示为其中k表示传感器捕获的帧数,i表示关节点序号;关节点之间的骨长用两点之间的欧氏距离表示为其中:

9、

10、取波动较小的关节点数据求均值,最终得到li,i+1计算值为:

11、

12、由于传感器对不同关节点的准确度表现不同,因此不同的骨长对应不同的阈值;对左右肩关节长度和左右髋关节长度设置不同的误差阈值δi,i+1,当误差大于设定阈值时,考虑出现数据尖峰抖动,通过滤波器修正采集到的该关节点位置信息。

13、进一步地,控制点生成的具体方法为:对无迹卡尔曼滤波法的具体应用方式为:采用无迹卡尔曼滤波法对关节点的坐标数据进行滤波处理;所述无迹卡尔曼滤波法将卡尔曼滤波中的状态转移矩阵f和测量转移矩阵h变为非线性函数f(x)和h(x),通过采样的方法计算经过非线性函数变换后随机变量的均值与协方差;使用azure kinect先前获取的关节点数据和正在捕获的数据建立状态转换函数,通过迭代从无迹卡尔曼滤波算法模块中获得数据,再使用观测函数计算获得每个关节点的坐标。

14、进一步地,采用catmull-rom样条插值得到拟合的脊柱曲线的具体过程为:由于catmull-rom样条线的每个控制点都位于样条线上,使得当脊柱模型配准到catmull-rom样条线上时,每个椎骨都能够根据控制点的变换更准确的进行移动和旋转;对于数据处理后的得到的控制点,采用catmull-rom插值算法生成catmull-rom样条函数作为拟合的脊柱曲线。

15、进一步地,通用3d脊柱模型建立和配准的具体过程为:采用由控制点插值得到的catmull-rom样条线表示脊柱的中心轮廓曲线,以对脊柱椎骨模型进行三维重建;

16、将通用的椎骨模型导入unity后,对每个椎骨模型建立局部坐标系,将坐标系的轴心定位在椎骨的中心;

17、之后,首先是椎骨模型位置配准:

18、根据椎骨模型参数,计算得到每个椎骨相对于整个脊柱长度的比例关系,得到每个椎骨在拟合脊柱曲线上的百分比位置;将每个椎骨模型的轴心固定到对应拟合脊柱线百分比位置上的点,并将z轴方向设置为拟合脊柱线上点的切线方向,y轴方向设置为拟合脊柱线上点的法线方向且朝向相机平面,从而将每个椎骨配准到拟合脊柱曲线上;

19、其次是自动缩放椎骨模型:

20、所建立的通用脊柱模型对应的脊柱线长度表示为lnormal,对应不同受试者每次测试计算的拟合脊柱曲线长度表示为l,则椎骨模型的缩放因子表示为:

21、scalefactor=lnormal÷l         式10

22、通过将得到的缩放因子应用于每个椎骨模型的缩放组件上,使得椎骨模型能够根据不同人的拟合脊柱曲线特征自动缩放椎骨模型大小,最终得到个性化3d脊柱模型。

23、进一步地,计算cobb角度的具体过程为:

24、采用catmull-rom样条线拟合脊柱曲线,由于catmull-rom样条函数有c2连续性,即二阶导函数连续,对catmull-rom样条函数求一阶导数计算斜率:

25、

26、求二阶导数计算极值点:

27、p″(α)=(2pi-2-5pi-1+4p-ipi+1)+(-3pi-2+9pi-1-9p+3pi+1)α       式12

28、得到冠状面斜率的极值点(x1,z1)、(x2,z2)、(x3,z3),以及这些点对应的斜率k1、k2、k3;再根据式13计算cobb角大小:

29、

30、两个角中最大的角定义为脊柱侧弯cobb角度,据此评估判断冠状面脊柱弯曲程度。

31、进一步地,计算胸椎后凸角和腰椎前凸角的具体过程为:

32、胸椎后凸角定义为第四胸椎(t4)上端椎与第十二胸椎(t12)下端椎切线的夹角,腰椎前凸角定义为第一腰椎(l1)上端椎和尾骨(s1)上端椎切线的夹角;

33、通过在矢状面投影插值拟合的脊柱曲线,计算所建立的3d脊柱模型中t4中心点所在位置的斜率k4、t12中心点所在位置的斜率k5、l1中心点所在位置的斜率k6、l5中心点所在位置的斜率k7,得到tk和ll:

34、

35、以及,一种脊柱3d建模的系统,其特征在于:根据如上所述的脊柱3d建模的方法,包括:

36、数据捕获模块、数据处理优化模块以及unity场景建模模块;

37、所述数据捕获模块用于在unity中配置azure kinect使用环境,调用azurekinect sdk和azure kinect body tracking sdk中的内置函数,将传感器捕获的关节点数据以队列的形式输入unity;

38、所述数据优化处理模块用于通过关节点和附加点,生成用于进行插值拟合的控制点,并对控制点的数据依次采用骨长约束法和无迹卡尔曼滤波算法处理以减小误差;

39、所述unity场景建模模块用于根据数据处理得到的控制点进行catmull-rom样条插值得到拟合的脊柱曲线,并将导入的3d通用脊柱模型与之配准对齐得到个性化的3d脊柱模型,通过角度分析算法对拟合脊柱曲线参数评估,计算得到冠状面cobb角和矢状面tk角、ll角,最后刷新unity场景并根据azure kinect的数据传输不断更新。

40、本发明及其优选方案的设计可应用于脊柱侧弯筛查和脊柱康复训练领域,具有无电离辐射、精度高、自动计算角度参数和3d脊柱可视化、成本低和使用便捷等优点,可代替现有的采用倾角侧弯计、三维超声探头、三维扫描仪等方法。

41、相比于现有技术,具有以下优势及用途:

42、1.无电离辐射。azure kinect的深度相机是基于时差测距(tof)原理对深度信息进行测量,对身体无任何电离辐射。

43、2.算法准确性高。采用高精度的深度传感器azure kinect捕捉关节点,并采用骨长约束法和无迹卡尔曼滤波法减小数据误差,使得结果准确可靠。

44、3.自动计算角度参数和实现3d脊柱可视化。根据数据捕获处理的结果自动计算冠状面cobb角和矢状面tk角、ll角,可评估人体脊柱侧弯的程度;可视化的三维脊柱将有助于医师向患者讲解脊柱康复训练动作。

45、成本低、使用便捷。本发明仅需要一台azure kinect深度传感器、相机三脚架以及普通笔记本电脑,相对于使用三维超声探头、三维扫描仪等设备的系统成本较低;且只需要在笔记本电脑中安装unity软件并导入本发明项目包,搭建三脚架并将传感器连接至电脑运行系统,即可自动计算角度参数和实现3d脊柱可视化,无需人工繁琐操作,产品可部署性强。

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