基于Kinect相机的人体背部特征点提取方法与流程

文档序号:15640807发布日期:2018-10-12 22:02阅读:1571来源:国知局

本发明属于数字图像处理领域,具体涉及一种基于kinect相机的人体背部特征点提取方法。



背景技术:

脊柱侧弯也可以称之为脊柱侧凸,具有多发性的特点,近年来青少年出现脊柱侧凸的情况正在逐年增加,对青少年的生活以及以后工作造成一定程度的影响,因此脊柱侧弯检测有着相当广泛的应用。脊柱侧弯目前常用的方法是脊柱侧凸尺,adams向前弯腰试验,但是这些检测方法都不够精确,且靠人工检测不仅费力,得到的结果精度也不够,容易导致误检和漏检,而基于数字图像处理的特征自动提取能保证精度的同时节约大量的人力物力。



技术实现要素:

本发明的发明目的是:为了解决现有技术中存在的以上问题,本发明提出了一种基于kinect相机的人体背部特征点提取方法。

本发明的技术方案是:一种基于kinect相机的人体背部特征点提取方法,包括以下步骤:

a、获取人体背部图像,并对人体背部图像进行灰度化处理;

b、对步骤a得到的灰度图像进行对比度拉伸处理;

c、对步骤b处理后的图像采用大津阈值二值化方法进行处理,得到二值图像;

d、采用连通域方法对步骤c得到的二值图像进行处理,得到人体背部二值图像;

e、采用canny算子方法对步骤d得到的人体背部二值图像进行处理,得到人体背部外轮廓图;

f、对步骤e得到的人体背部外轮廓图进行遍历,分别得到人体背部左侧腋下坐标点、右侧腋下坐标点、左侧肩坐标点、右侧肩坐标点、腰部坐标点和胯骨坐标点;

g、根据步骤f得到的多个坐标点在步骤a的人体背部图像中进行标注。

进一步地,所述步骤d采用连通域方法对步骤c得到的二值图像进行处理,得到人体背部二值图像,具体为:对步骤c得到的二值图像进行连通域标记,并统计连通区域的个数;再对得到的连通区域计算每一个连通区域的面积,将小于最大连通区域面积的连通域置零,得到人体背部二值图像。

进一步地,所述步骤d还包括对得到的人体背部二值图像进行孔洞填充处理。

进一步地,所述步骤f包括对步骤e得到的人体背部外轮廓图计算中心坐标和轮廓图第i行左右两侧的背部轮廓坐标(i1,k1)及(i2,k2)。

进一步地,所述步骤f对人体背部外轮廓图进行遍历,得到人体背部左侧腋下坐标点具体为:对人体背部外轮廓图从第i1-1行的第j列开始遍历,找到人体背部左侧轮廓的列坐标k′1,判断列坐标k′1与列坐标的差值k1是否大于设定阈值;若是,则将第i1行的左侧轮廓坐标作为人体背部左侧腋下坐标点(m1,n1);若否,则继续遍历第i1-2行。

进一步地,所述步骤f对人体背部外轮廓图进行遍历,得到人体背部右侧腋下坐标点具体为:对人体背部外轮廓图从第i2-1行的第j列开始遍历,找到人体背部右侧轮廓的列坐标k′2,判断列坐标k′2与列坐标的差值k2是否大于设定阈值;若是,则将第i2行的右侧轮廓坐标作为人体背部右侧腋下坐标点(m2,n2);若否,则继续遍历第i2-2行。

进一步地,所述步骤f对人体背部外轮廓图进行遍历,得到人体背部左侧肩坐标点具体为:根据对人体背部外轮廓图从第m1-1行开始遍历n1列,找到不为零的点,作为人体背部左侧肩坐标点。

进一步地,所述步骤f对人体背部外轮廓图进行遍历,得到人体背部右侧肩坐标点具体为:根据对人体背部外轮廓图从第m2-1行开始遍历n2列,找到不为零的点,作为人体背部右侧肩坐标点。

进一步地,所述步骤f对人体背部外轮廓图进行遍历,得到人体背部腰部坐标点和胯骨坐标点具体为采用基于曲率的角点检测算法对人体背部外轮廓图进行角点检测,包括以下分步骤:

s1、从人体背部外轮廓图的中心行坐标开始,分别获取人体背部左右两侧轮廓坐标;

s2、从人体背部左右两侧轮廓坐标的第n个轮廓点开始,依次选取该点为当前轮廓点pi,与当前轮廓点间隔n-1个点的轮廓点为前轮廓点pi-(n-1)和后轮廓点pi+(n-1);

s3、根据曲率公式计算当前轮廓点pi的曲率;

s4、从人体背部左右两侧轮廓点的曲率中找到曲率最大值和最小值对应的轮廓点,即为人体背部胯骨坐标点和腰部坐标点。

进一步地,所述步骤s3中曲率公式具体为:

其中,k(i)为第i个轮廓点的曲率,|pipi-k|为当前轮廓点与其间隔k个点的前轮廓点的距离,|pipi+k|为当前轮廓点与其间隔k个点的后轮廓点的距离,|pi-kpi+k|为前轮廓点pi-k与后轮廓点pi+k的距离。

本发明的有益效果是:本发明通过提取人体背部图像的外轮廓图,并对外轮廓图进行遍历,能够高效、精确的提取出人体背部图像的特征点,为后续计算人体脊柱侧弯程度提供精确的数据。

附图说明

图1是本发明的基于kinect相机的人体背部特征点提取方法的流程示意图;

图2是本发明实施例中灰度化处理后的灰度图像;

图3是本发明实施例中采用大津阈值二值化后的二值图像;

图4是本发明实施例中人体背部外轮廓示意图;

图5是本发明实施例中人体背部图像标注结果示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

如图1所示,为本发明的基于kinect相机的人体背部特征点提取方法的流程示意图。一种基于kinect相机的人体背部特征点提取方法,包括以下步骤:

a、获取人体背部图像,并对人体背部图像进行灰度化处理;

b、对步骤a得到的灰度图像进行对比度拉伸处理;

c、对步骤b处理后的图像采用大津阈值二值化方法进行处理,得到二值图像;

d、采用连通域方法对步骤c得到的二值图像进行处理,得到人体背部二值图像;

e、采用canny算子方法对步骤d得到的人体背部二值图像进行处理,得到人体背部外轮廓图;

f、对步骤e得到的人体背部外轮廓图进行遍历,分别得到人体背部左侧腋下坐标点、右侧腋下坐标点、左侧肩坐标点、右侧肩坐标点、腰部坐标点和胯骨坐标点;

g、根据步骤f得到的多个坐标点在步骤a的人体背部图像中进行标注。

在本发明的一个可选实施例中,上述步骤a采用kinect相机拍摄得到人体背部图像,图像的大小为1920x1080;并对得到的人体背部图像进行灰度化处理。如图2所示,为本发明实施例中灰度化处理后的灰度图像;如图3所示,为本发明实施例中采用大津阈值二值化后的二值图像;如图4所示,为本发明实施例中人体背部外轮廓示意图。

在本发明的一个可选实施例中,上述步骤d采用连通域方法对步骤c得到的二值图像进行处理,得到人体背部二值图像,具体为:对步骤c得到的二值图像进行连通域标记,并统计连通区域的个数;再对得到的连通区域计算每一个连通区域的面积,进行筛选,将小于最大连通区域面积的连通域置零,得到人体背部二值图像。

由于人体背部图像颜色有可能有差异,二值化后会产生一些孔洞,因此对得到的人体背部二值图像进行孔洞填充处理。

在本发明的一个可选实施例中,上述步骤f首先对步骤e得到的人体背部外轮廓图计算中心坐标(i,j)和轮廓图第i行左右两侧的背部轮廓坐标(i1,k1)及(i2,k2)。

对人体背部外轮廓图进行遍历,得到人体背部左侧腋下坐标点具体为:对人体背部外轮廓图从第i1-1行开始往上遍历,从第i1-1行的第j列开始往第0列遍历,找到人体背部左侧轮廓的列坐标k′1,判断列坐标k′1与列坐标k1的差值是否大于设定阈值,这里的阈值设置为10;若是,则将第i1行的左侧轮廓坐标作为人体背部左侧腋下坐标点(m1,n1);若否,则继续遍历第i1-2行,找到新的人体背部左侧轮廓的列坐标,判断该列坐标与列坐标k′1的差值是否大于设定阈值;若是,则将第i1-1行的左侧轮廓坐标作为人体背部左侧腋下坐标点;按照该方法迭代执行,直至找到人体背部左侧腋下坐标点。

对人体背部外轮廓图进行遍历,得到人体背部右侧腋下坐标点具体为:对人体背部外轮廓图从第i2-1行的第j列开始遍历,找到人体背部右侧轮廓的列坐标k′2,判断列坐标k′2与列坐标k2的差值是否大于设定阈值;若是,则将第i2行的右侧轮廓坐标作为人体背部右侧腋下坐标点(m2,n2);若否,则继续遍历第i2-2行,找到新的人体背部左侧轮廓的列坐标,判断该列坐标与列坐标k′2的差值是否大于设定阈值;若是,则将第i2-1行的右侧轮廓坐标作为人体背部右侧腋下坐标点;按照该方法迭代执行,直至找到人体背部右侧腋下坐标点。

对人体背部外轮廓图进行遍历,得到人体背部左侧肩坐标点具体为:根据对人体背部外轮廓图从第m1-1行开始往上遍历人体背部外轮廓图的n1列,找到不为零的点,作为人体背部左侧肩坐标点。

对人体背部外轮廓图进行遍历,得到人体背部右侧肩坐标点具体为:根据对人体背部外轮廓图从第m2-1行开始往上遍历人体背部外轮廓图的n2列,找到不为零的点,作为人体背部右侧肩坐标点。

对人体背部外轮廓图进行遍历,得到人体背部腰部坐标点和胯骨坐标点具体为采用基于曲率的角点检测算法对人体背部外轮廓图进行角点检测,包括以下分步骤:

s1、从人体背部外轮廓图的中心行坐标开始,分别获取人体背部左右两侧轮廓坐标;

s2、从人体背部左右两侧轮廓坐标的第n个轮廓点开始,依次选取该点为当前轮廓点pi,与当前轮廓点间隔n-1个点的轮廓点为前轮廓点pi-(n-1)和后轮廓点pi+(n-1);

本发明分别从人体背部左右两侧轮廓坐标的第5个轮廓点开始,依次选取该点为当前轮廓点pi,与当前轮廓点间隔4个点的轮廓点为前轮廓点pi-4和后轮廓点pi+4。

s3、根据曲率公式计算当前轮廓点pi的曲率,曲率公式具体为:

其中,k(i)为第i个轮廓点的曲率,|pipi-k|为当前轮廓点与其间隔k个点的前轮廓点的距离,|pipi+k|为当前轮廓点与其间隔k个点的后轮廓点的距离,|pi-kpi+k|为前轮廓点pi-k与后轮廓点pi+k的距离。

s4、从人体背部左右两侧轮廓点的曲率中找到曲率最大值和最小值对应的轮廓点,即为人体背部胯骨坐标点和腰部坐标点。如图5所示,为本发明实施例中人体背部图像标注结果示意图。

本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。

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