一种基于摄像头的人体背部曲线获取方法及系统与流程

文档序号:15690039发布日期:2018-10-16 21:54阅读:409来源:国知局

本发明涉及计算机视觉技术领域,特别是一种基于摄像头的人体背部曲线获取方法及系统。



背景技术:

人体检测在生活中应用广泛,例如监控系统、安全监察、自动驾驶和驾驶辅助系统、人机交互、互动娱乐、智能家庭和老人辅助,医学治疗等,广泛的应用和挑战吸引了很多研究者参与到其中来。

现有的人体背部测量都局限在和设备的接触式测量,且需要自身的配合才能较准确的测量人体身高,如卡尺式测量和超声波感应身高测量仪均需要人体站在设备指定的平台上才能完成,而且只能逐个测量。

如现有专利cn2548558y公开了一种人体脊椎、背部曲线测量模板,由均布有通孔的孔状模板和以过渡配合方式插置在各通孔内的测量杆组成。使用时先将人体脊椎、背部曲线测量模板的测量杆全部滑向模板的一侧,然后放置在人体的靠背处,要求被测量人将测量部位轻轻地靠压在曲线测量模板上,设置在模板上的测量杆便会因测量部位对其作用力的不同而向内缩入,均布在模板上的测量杆模刻出人体被测量部位的曲线,根据测量杆的缩入量便可近似地画出人体的脊椎或背部的生理曲线。上述测量方法及装置测量效率低且对测量对象不友好,不能进行远程或非接触式测量。

计算机视觉是使用计算机及相关设备对生物视觉的一种模拟。它的主要任务就是通过对采集的图片或视频进行处理以获得相应场景的三维信息,就像人类和许多其他类生物每天所做的那样。

单目视觉是指仅利用一台摄像机完成定位工作。因其仅需一台视觉传感器,单目摄像头需要对目标进行识别,也就是说在测量前先识别目标是车、人还是别的什么。在此基础上再进行对目标的参数测量。

双目视觉技术,是计算机视觉的一种重要形式,其基于视差原理并利用不同位置的两个相机对同一场景进行拍摄,通过双目标定及匹配技术,获取场景中目标的三维信息。双目匹配是指建立相同场景下的目标点在不同视角下两幅投影图像目标点的对准。

单双目视觉测量方法具有效率高、精度合适、系统结构简单、成本低等优点,非常适合于制造现场的在线、非接触产品检测和质量控制。



技术实现要素:

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明提出了一种基于摄像头的人体背部曲线获取方法,可以方便地进行非接触式人体背部曲线测量,提高了测量的精度和便利度。

本发明提出一种基于摄像头的人体背部曲线获取方法,包括,步骤一:获取人体分割数据库,特别是训练好的人体分割数据库;步骤二:输入用户人体背部图像;步骤三:利用人体分割数据库对输入图像进行检测,计算得到人体后背轮廓和/或高度数据。

进一步地,步骤一中获取训练好的人体分割数据库具体包括:训练阶段和测试阶段。

进一步地,训练阶段具体包括:选取大量人体后背轮廓图片作为训练样本;对所述图片进行预处理;对预处理得到的图片进行卷积神经网络cnn及区域建议网络rpn训练。

进一步地,测试阶段具体包括:输入图片帧;读取训练好的模型参数;调用一张图片帧做前向传播得到目标类别得分,目标边框和目标分割区域块。

进一步地,输入用户人体背部图像具体包括采用单目摄像头或双目摄像头获取人体背部图像。

进一步地,采用单目摄像头获取所述用户人体背部图像包括带有参照物的用户人体背部图像。

进一步地,采用双目摄像头获取所述用户人体背部图像包括对双目摄像头的安装角度和高度进行标定。

进一步地,用户人体背部图像中用户面向图片右侧,更进一步地,用户人体背部图像为完整上半身图像。

进一步地,参照物为具有固定平面尺寸的物品。

进一步地,参照物包括棋盘格、身份证、a4纸或手机。进一步地,参照物为棋盘格,棋盘格纵向至少包含2列,棋盘格横向至少包含6行,更优选的,棋盘格纵向包含2-6列,棋盘格横向包含6-12行,更为优选的,棋盘格纵向包含4列,棋盘格横向包含8行。

进一步地,棋盘格每个方格边长可以为任意边长,只要可以从摄像头中识别。优选的,所述的棋盘格每个方格边长为10-50毫米,更优选的,所述的棋盘格每个方格边长为15-25毫米,更优选的,所述的棋盘格每个方格边长为20毫米,当本发明所述的棋盘格边长为10-50毫米时,人体背部曲线获取方法测量精度最高。

进一步地,棋盘格中颜色可以为任意的两种颜色交叉,优选的,棋盘格中颜色为黑白两色交叉。

进一步地,步骤三中对输入图像进行检测包括对参照物角点进行检测,优选的,对参照物角点坐标从左到右,从上到下顺序存储,并计算每个像素表示的实际长度,做平均即可得到每个像素表示的实际长度。

进一步地,步骤三中对输入图像进行检测包括对用户人体背部图像进行检测,优选的,包括利用上述已经训练好的人体分割数据库获取分割人体目标,获取不规则物体边界坐标,边缘坐标存储默认从头顶开始向左侧连续存储,左侧连续坐标即后背轮廓。

进一步地,步骤三中计算得到人体后背轮廓包括计算人体背部区域数据的梯度图。

进一步地,步骤三中计算得到人体后背高度数据包括计算人体背部区域数据的梯度图后,获取外轮廓点,定义第一个凸点附近区域平均值得到a点,定义第一个凹点附近区域平均值得到b点,定义b点到头部顶点高度为人脸高度;更优选的,定义b点以下半个人脸高度处为后背高度c点,定义a点到c点横向的差值为头高;更优选的,定义b点到c点横向的差值为颈高。

进一步地,步骤三中计算得到人体后背轮廓和/或高度数据后还包括在各个点之间进行曲线拟合,得到人体背部曲线。

进一步的,所述的基于摄像头的人体背部曲线获取方法还包括步骤四:输出所述用户人体背部轮廓和/或高度数据。

本发明还提供了一种基于摄像头的人体背部曲线获取系统,包括人体分割数据库存储模块,用户人体背部图像获取模块,人体后背轮廓和/或高度数据计算模块,人体后背轮廓和/或高度数据输出模块。

进一步地,所述的人体分割数据库存储模块用于存取训练好的人体分割数据库,例如可以为存储有人体分割数据库的存储器。

进一步地,所述的用户人体背部图像获取模块用于获得用户人体背部图像和/或参照物图像;进一步地,用户人体背部图像中用户面向图片右侧,更进一步地,用户人体背部图像为完整上半身图像;进一步地,参照物为具有固定平面尺寸的物品,例如包括棋盘格、身份证、a4纸或手机。更进一步地,所述的参照物为棋盘格,棋盘格纵向至少包含2列,棋盘格横向至少包含6行,更优选的,棋盘格纵向包含2-6列,棋盘格横向包含6-12行,更为优选的,棋盘格纵向包含4列,棋盘格横向包含8行;进一步地,棋盘格每个方格边长可以为任意边长,只要可以从摄像头中识别。优选的,所述的棋盘格每个方格边长为10-50毫米,更优选的,所述的棋盘格每个方格边长为15-25毫米,更优选的,所述的棋盘格每个方格边长为20毫米,当本发明所述的棋盘格边长为10-50毫米时,人体背部曲线获取方法测量精度最高;进一步地,棋盘格中颜色可以为任意的两种颜色交叉,优选的,棋盘格中颜色为黑白两色交叉。例如所述的用户人体背部图像获取模块可以为摄像头,例如是单目摄像头或双目摄像头。

进一步地,所述的人体后背轮廓和/或高度数据计算模块用于计算人体后背轮廓和/或高度数据;优选的,利用上述已经训练好的人体分割数据库获取分割人体目标,获取不规则物体边界坐标,边缘坐标存储默认从头顶开始向左侧连续存储,左侧连续坐标即后背轮廓;更优选的,所述的人体后背轮廓和/或高度数据计算模块用于计算得到人体后背轮廓包括计算人体背部区域数据的梯度图;更优选的,所述的人体后背轮廓和/或高度数据计算模块用于计算人体背部区域数据的梯度图后,获取外轮廓点,定义第一个凸点附近区域平均值得到a点,定义第一个凹点附近区域平均值得到b点,定义b点到头部顶点高度为人脸高度;更优选的,定义b点以下一定高度处为后背高度c点,定义a点到c点横向的差值为头高;更优选的,定义b点到c点横向的差值为颈高。进一步地,所述的人体后背轮廓和/或高度数据计算模块用于将计算得到人体后背轮廓和/或高度数据后,在各个点之间进行曲线拟合,得到人体背部曲线。例如,所述的人体后背轮廓和/或高度数据计算模块可以为处理器。

进一步地,所述的人体后背轮廓和/或高度数据输出模块用于输出计算得到的人体后背轮廓和/或高度数据,例如所述的人体后背轮廓和/或高度数据输出模块可以为显示屏、显示器、指示灯等。

进一步地,所述的人体背部曲线获取系统可以为电脑、平板电脑、智能手机、智能手表、学习机等。

本发明还提供了一种棋盘格在人体背部曲线获取中的应用。

进一步地,所述的棋盘格纵向至少包含2列,棋盘格横向至少包含6行,更优选的,棋盘格纵向包含2-6列,棋盘格横向包含6-12行,更为优选的,棋盘格纵向包含4列,棋盘格横向包含8行。

进一步地,棋盘格每个方格边长可以为任意边长,只要可以从摄像头中识别。优选的,所述的棋盘格每个方格边长为10-50毫米,更优选的,所述的棋盘格每个方格边长为15-25毫米,更优选的,所述的棋盘格每个方格边长为20毫米,当本发明所述的棋盘格边长为10-50毫米时,人体背部曲线获取方法测量精度最高。

进一步地,棋盘格中颜色可以为任意的两种颜色交叉,优选的,棋盘格中颜色为黑白两色交叉。

进一步地,棋盘格可以为印刷品、织物、塑料制品等。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1是本发明实施例的训练阶段和测试阶段的流程图。

图2是本发明实施例的cnn及rpn网络的结构图。

图3是本发明实施例的人体背部图像获取方式示意图。

图4是本发明实施例的所用棋盘格示意图。

图5是本发明实施例的人体背部曲线获取系统的组成图。

图6是本发明实施例的人体背部曲线获取方法的流程图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。此外,本领域的技术人员可以将本说明书中描述的不同实施例或示例进行接合和组合。

下面结合附图并参考具体实施例描述本发明。本发明提出了一种基于摄像头的人体背部曲线获取方法,包括如下步骤:步骤一:获取训练好的人体分割数据库;步骤二:输入用户人体图像并利用已经训练好的人体分割数据库对输入图像进行检测;步骤三:计算得到人体后背轮廓及高度数据,拟合获取人体后背轮廓曲线。下面分别介绍各个步骤的具体流程:

步骤一:获取训练好的人体分割数据库,具体包括:训练阶段和测试阶段。

对于训练阶段,选取大量人体后背轮廓图片作为训练样本,对图片进行预处理,以便进行后序训练。对进行预处理后的图片进行rpn训练,获得多个人体可能区域,之后进行cnn训练,获得最终的人体分割数据库。

训练阶段由bodyr-cnn网络和rpn网络两部分组成。共享卷积层基于resnext-101网络获取特征,采用rpn(区域建议网络)获取候选目标区域框,并映射到原图中,将不同大小的特征区域对齐成固定尺寸大小特征图。训练阶段定义多任务损失函数l=lcls+lbox+lmask,lcls是分类损失函数,得到分类得分,lbox是目标框损失函数,得到目标边框,lmask是人体分割损失函数,得到人体分割数据,三个分支联合交叉训练,提高整体鲁棒性。

下面具体举例说明训练过程:

首先,输入图片大小是224×224×3(3是三个通道,也就是rgb三种)。然后,第一层的卷积核维度是7×7×3×96,所以conv1得到的结果是110×110×96(110来自于(224-7+pad)/2+1,pad是填充,即在图片的周围补充像素,这样做的目的是为了能够整除,除以2是因为2是图中的stride)。之后就是做一次池化,得到pool1,池化的核的大小是3×3,所以池化后图片的维度是55×55×96((110-3+pad)/2+1=55);再之后接着就是再一次卷积,这次的卷积核的维度是5×5×96×256,得到conv2:26×26×256;后面就是类似的过程,最后取conv5的输出,也就是13×13×256送给rpn网络。

rpn网络的滑动窗大小是3×3的,只需要一个3×3×256×256这样的4维的卷积核,就可以将每一个3×3的滑动窗卷积成一个256维的向量。clslayer有18个输出节点,那么在256-d和clslayer之间使用一个1×1×256×18的卷积核,就可以得到clslayer,这个1×1×256×18的卷积核就是全连接。reglayer的输出是36个,所以对应的卷积核是1×1×256×36,这样就可以得到reglayer的输出了。然后clslayer和reglayer后面都会接到自己的损失函数上,给出损失函数的值,同时会根据求导的结果,给出反向传播的数据。

对于测试阶段,读取训练好的模型参数,调用一张图片做前向传播得到目标类别得分,目标边框和目标分割区域块。

步骤二:输入用户人体图像并利用已经训练好的人体分割数据库对输入图像进行检测。

传入图片要求用户面向图片右侧,并拍取完整上半身图像。利用上述已经训练好的人体分割数据库对图片进行检测,获取分割人体目标,获取不规则物体边界坐标,边缘坐标存储默认从头顶(y坐标最大值)开始向左侧连续存储,左侧连续坐标即后背轮廓。

步骤三:计算得到人体后背轮廓及高度数据,拟合获取人体后背轮廓曲线。

对于通过单目摄像头获得的用户图像,需要利用棋盘格进行标定。检测图片中4×8棋盘格,棋盘格每个方块实际长度20毫米,根据检测到的棋盘格角点数据,检测到的各个角点坐标从左到右,从上到下顺序存储。由此可以计算x和y方向每个像素表示的实际长度,做平均即可得到每个像素表示的实际长度。棋盘格的每个方块的尺寸不限于20mm,优选范围为10-50mm。

对于通过双目摄像头获得的用户图像,不需要进行棋盘格标定。利用双目摄像头拍摄场景图像,获取场景图像中人体目标的人头尖点的图像坐标。在利用双目摄像头拍摄场景图像之前,应对双目摄像头的安装高度和安装角度进行标定,安装角度包括双目相机的俯仰角和倾斜角。首先,需要利用刻度尺量取场景地面到相机的垂直距离作为双目相机的安装高度;其次,利用双目摄像头抓拍已知高度的目标在场景中多个位置点的图像;再次,获取双目摄像头抓拍图像的多组不同位置点目标的深度信息。构造最小化问题,求解一组双目相机的俯仰角及倾斜角,使利用该基于双目视觉技术的人体背部曲线测量方法求得的目标高度和目标的实际高度的方差最小,最终得到一组最优的双目相机俯仰角及倾斜角作为双目相机的俯仰角及倾斜角。

对摄像头完成标定后,获取人体后背检测框区域的人体背部区域数据;计算人体背部区域数据的梯度图;在人体背部区域数据的梯度图的基础上,获取外轮廓点,定义第一个凸点附近区域平均值得到a点,定义第一个凹点附近区域平均值得到b点;定义b点到头部顶点高度为“人脸高度”,定义b点以下一定“人脸高度”处为“后背高度”c点,定义a点到c点x方向的差值为“头高”,定义b点到c点x方向的差值为“颈高”。进而在各个点之间进行曲线拟合,得到人体背部曲线。

本发明提出一种基于摄像头的人体背部曲线测量方法,提出了一种端到端人体检测分割算法,输入一张图片即可通过对其训练得到检测类别得分、人体目标框人体分割数据,可以在无需人员配合的情况下完成可测量范围内多个人体目标的背部曲线的测量。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

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