CN107481280B - 一种骨骼点的矫正方法及计算设备 - Google Patents
一种骨骼点的矫正方法及计算设备 Download PDFInfo
- Publication number
- CN107481280B CN107481280B CN201710702408.7A CN201710702408A CN107481280B CN 107481280 B CN107481280 B CN 107481280B CN 201710702408 A CN201710702408 A CN 201710702408A CN 107481280 B CN107481280 B CN 107481280B
- Authority
- CN
- China
- Prior art keywords
- bone
- point
- points
- skeleton
- bone point
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30004—Biomedical image processing
- G06T2207/30008—Bone
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种骨骼点的矫正方法,该方法适于在计算设备中执行,包括步骤:获取被测对象的彩色图像的序列和每一帧彩色图像对应的深度数据;对序列中的每一帧彩色图像,根据深度数据计算出被测对象每个骨骼点的第一位置;通过姿态估计模型检测出所述彩色图像中被测对象的每个骨骼点的第二位置;以及根据每个骨骼点的第一位置与第二位置的距离调整该骨骼点的位置,得到矫正后的骨骼点。本发明一并公开了用于执行上述方法的计算设备。
Description
技术领域
本发明涉及三维数据处理领域,特别涉及一种骨骼点的矫正方法及计算设备。
背景技术
随着AR(增强现实)技术的发展,其在军事、医疗、娱乐、游戏、网络视频通讯等领域的应用越来越广泛。一种典型的应用就是虚拟试衣,即,用虚拟衣服替换通过摄像机拍摄到的用户图像中用户所穿着的真实衣服,从而可以看到用户穿着虚拟衣服(或者说,虚拟衣服被覆盖在用户的图像上)。
用于试穿用途的AR采用动作捕获技术,动作捕获技术使用诸如加速度传感器、地磁传感器和范围扫描器等各种传感器来检测用户的动作,以使虚拟衣服配合用户的身体,这就要求能够获取作为待识别对象的用户的骨骼点的位置。
现有的获取用户骨骼点的方法多采用基于微软的Kinect来实现,但Kinect获取到的骨骼点不含有转身功能(即,不区分正反面),也就是说,用户在转身前和转身后,所采集到的同一骨骼点的位置并不相同。可以想象,若用户在虚拟试衣过程中转身,骨骼点的位置就会发生改变,那么衣服就不能与用户身体相匹配。现有的一种解决方案是,在虚拟试衣时只显示用户正面的试衣效果,但这会导致用户在虚拟试衣时无法看到衣服背面效果,影响用户体验。
因此,需要一种能够有效地计算人体骨骼点位置的方案,以解决上述问题。
发明内容
为此,本发明提供了一种骨骼点的矫正方法及计算设备,以力图解决或者至少缓解上面存在的至少一个问题。
根据本发明的一个方面,提供了一种骨骼点的矫正方法,该方法适于在计算设备中执行,包括步骤:获取被测对象的彩色图像的序列和每一帧彩色图像对应的深度数据;对序列中的每一帧彩色图像,根据深度数据计算出被测对象每个骨骼点的第一位置;通过姿态估计模型检测出所述彩色图像中被测对象的每个骨骼点的第二位置;以及根据每个骨骼点的第一位置与第二位置的距离调整该骨骼点的位置,得到矫正后的骨骼点。
可选地,在根据本发明的骨骼点矫正方法中,在得到矫正后的骨骼点之后,还包括步骤:对矫正后的骨骼点进行平滑处理,得到二次矫正后的骨骼点。
可选地,在根据本发明的骨骼点矫正方法中,人体中骨骼点的位置以人体鼻子与两腿之间的连线为对称轴呈左右对称分布,根据每个骨骼点的第一位置与第二位置的距离调整该骨骼点的位置的步骤包括:计算每个骨骼点的第一位置与第二位置的距离;判断所述距离与阈值的大小关系:若距离小于阈值,则将骨骼点的第一位置作为该骨骼点的位置;以及若距离不小于阈值,则将与该骨骼点对称的骨骼点的第一位置作为该骨骼点的位置。
可选地,在根据本发明的骨骼点矫正方法中,根据深度数据计算出被测对象每个骨骼点的第一位置的步骤包括:从深度数据中识别出人体区域;从人体区域中提取骨骼点,其中骨骼点的位置用第一空间坐标表示;以及通过坐标变换将所提取的骨骼点的位置变换到第二空间坐标,作为骨骼点的第一位置。
可选地,在根据本发明的骨骼点矫正方法中,姿态估计模型包括:预定神经网络结构,用于提取彩色图像的图像特征;以及第一数目个卷积阶段,其中每个卷积阶段包括两个分支,用于分别提取本卷积阶段的第一特征分量和第二特征分量,其中第一数目个卷积阶段依次连接、且第一卷积阶段与所述预定神经网络结构相连接。
可选地,在根据本发明的骨骼点矫正方法中,还包括训练姿态估计模型的步骤:采集多个对象的彩色图像作为训练样本;通过预定神经网络结构提取所述训练样本的初始特征;将初始特征输入第一卷积阶段,分别提取出第一特征分量和第二特征分量;在之后的每个卷积阶段,将初始特征和经上一卷积阶段提取的第一特征分量和第二特征分量输入本卷积阶段,分别提取出本卷积阶段的第一特征分量和第二特征分量;以及经第一数目个卷积阶段的迭代处理后,输出预测的所述多个对象的骨骼点的第二位置。
可选地,在根据本发明的骨骼点矫正方法中,预定卷积网络为VGG-19模型的前10层卷积网络。
可选地,在根据本发明的骨骼点矫正方法中,第一数目为600000。
可选地,在根据本发明的骨骼点矫正方法中,骨骼点i的第一位置与第二位置的距离disti表示为:disti=abs(position1i-position2i),其中,position1i表示骨骼点i的第一位置,position2i表示骨骼点i的第二位置。
可选地,在根据本发明的骨骼点矫正方法中,对矫正后的骨骼点进行平滑处理的步骤包括:通过中值滤波方法对矫正后的骨骼点进行平滑处理以消除序列中噪声。
根据本发明的又一方面,提供了一种计算设备,包括:一个或多个处理器;存储器;和一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序包括用于执行如上所述骨骼点矫正方法中的任一方法的指令。
根据本发明的再一方面,提供了一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,指令当计算设备执行时,使得计算设备执行如上所述骨骼点矫正方法中的任一方法。
根据本发明的骨骼点矫正方案,克服了用户转身前和转身后,同一骨骼点的位置不相同的缺陷,能够很好地识别被测对象的转身事件,使得检测到的骨骼点位置更准确。将利用本方案得到的骨骼点位置应用于虚拟试衣时,能够展示用户背面的衣服效果,用户可以实现360°自由试衣。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明的一个实施例的计算设备100的示意图;
图2示出了虚拟试衣系统200的典型配置示意图;
图3示出了根据本发明一个实施例的骨骼点的矫正方法300的流程图;
图4A-图4C示出了根据本发明实施例的根据深度数据计算出被测对象骨骼点过程的示意图;
图5示出了根据本发明实施例的姿态估计模型的结构示意图;
图6A、6B和图6C、6D分别示出了一组根据本发明一个实施例的姿态估计模型的输入和输出的图像示意图;以及
图7示出了根据本发明实施例的中值滤波前后骨骼点示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1是示例计算设备100的框图。在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。
取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个应用122以及程序数据124。在一些实施方式中,应用122可以布置为在操作系统上利用程序数据124进行操作。程序数据124包括指令,在根据本发明的计算设备100中,程序数据124包含用于骨骼点矫正方法的指令。
计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以是这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
计算设备100可以实现为服务器,例如文件服务器、数据库服务器、应用程序服务器和WEB服务器等,也可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设备可以是诸如蜂窝电话、个人数字助理(PDA)、个人媒体播放器设备、无线网络浏览设备、个人头戴设备、应用专用设备、或者可以包括上面任何功能的混合设备。计算设备100还可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。
图2示出了根据本发明实施例的一个虚拟试衣系统的典型配置场景示意图。
在图2中,虚拟试衣系统200包括用于对被测对象进行成像的成像部分210、用于将虚拟衣服“穿到”被测对象身上的图像处理部分220和用于显示穿着虚拟衣服的被测对象的图像的显示部分230。
根据本发明的实现方式,成像部分210采用Kinect体感摄像机。Kinect体感摄像机具有3个镜头,中间的镜头是RGB彩色摄像机,用来采集彩色图像;左右两边的镜头分别是红外线发射器和红外线CMOS摄影机,两者构成3D结构光深度感应器,用来采集深度数据(即,场景中物体到摄像头的距离)。在Kinect2.0里,通过25个骨骼点来表示一个骨架,这25个骨骼点包括:头部、颈部、肩部中心、脊柱、髋部、左/右肩、左/右肘部、左/右手腕、左/右手、左/右食指、左/右髋部、左/右膝盖、左/右脚踝、左/右脚等等。关于Kinect体感摄像机采集被测对象彩色图像和深度数据的过程和原理,属于本领域公知常识,此处不作过多说明。
根据本发明的实施例,图像处理部分220和显示部分230可以采用计算设备100来实现其功能。其中,成像部分210将采集到的被测对象的图像数据传送给图像处理部分220,图像处理部分220先根据本发明的骨骼点矫正方法对被测对象的骨骼点位置进行矫正,再将虚拟衣服“绑定到”骨骼点上,并由显示部分230显示被测对象试穿的效果图。
下面,参考图3的流程图说明计算设备100执行骨骼点矫正方法300的过程。
方法300始于步骤S310,首先获取被测对象的彩色图像序列和每一帧彩色图像对应的深度数据。如前文所述,被测对象的彩色图像和深度数据通过Kinect体感摄像机采集到,而后由Kinect体感摄像机将其传送到计算设备。一般地,被测对象在摄像头前虚拟试衣时,会自然地做出挥动手臂、点头等动作,因此,会实时采集被测对象的彩色图像序列(即视频)和每一帧彩色图像对应的深度数据,交由计算设备进行进一步处理。
随后在步骤S320中,对序列中的每一帧彩色图像,根据深度数据计算出被测对象每个骨骼点的第一位置。具体地,可以参考图4A至图4C,理解计算骨骼点第一位置的过程。
首先,从深度数据中识别出人体区域,人体区域的提取例如可以基于背景区分技术。如图4A示出了在步骤S310中获取的被测对象的当前彩色图像帧(图中以黑白图像显示),图4B示出了从图4A中提取的典型的人体区域。当然,被测对象可以有多个,此时可以识别出多个人体区域,每个被测对象作为一个人体区域。
然后,基于识别出的人体区域,从中提取出骨骼点,其中骨骼点的位置用第一空间坐标表示。根据本发明的一个实施例,当判断有骨骼帧到达时,以其中的人体骨架数量(即上一步中识别出的人体区域的数量)来初始化bodies数组的大小,并将深度数据带入此数组。当人体骨架数量大于1时,可以采用不同的颜色表示不同的人体骨架(一般地,Kinect2.0可以追踪6套完整的骨骼)。此时,骨骼点的位置采用第一空间坐标(x,y,z)来表示,该坐标不同于深度坐标,坐标单位是米,坐标轴X、Y、Z是Kinect体感摄像机实体的空间X、Y、Z坐标轴,这个坐标系是右手螺旋的,Kinect体感摄像机处于原点上,Z坐标轴与Kinect体感摄像机的朝向一致,Y坐标轴正半轴向上延伸,X坐标轴正半轴(从Kinect感应器的视角来看)向左延伸,在一些公开中,也将其称之为骨架空间坐标。
最后,通过坐标变换将所提取的骨骼点的位置由第一空间坐标变换到第二空间坐标,作为骨骼点的第一位置。根据本发明的实施例,可以通过调用Kinect SDK中的方法(如,MapSkeletonPointToDepthPoint)将提取的骨骼点位置转换到深度图的坐标中,如图4C所示,其中,用·指示其中的骨骼点。图4C中对被测对象的头部区域进行了遮挡,相应地,在检测骨骼点时也未显示头部骨骼点,但这并不表示步骤S320无法识别头部骨骼点,图4C只是给出了一个示例。一般地,通过两点连线的方式连接骨骼点,就得到骨架。
随后在步骤S330中,通过姿态估计模型检测出每帧彩色图像中被测对象的每个骨骼点的第二位置。
如图5,示出了根据本发明实施例的姿态估计模型500的结构示意图。该姿态估计模型500可以划分为两大部分:预定神经网络结构510和卷积阶段520。预定神经网络结构510用于提取彩色图像的图像特征;卷积阶段520包括第一数目个卷积阶段(即,Stage 1、Stage 2、……、Stage t,t表示第一数目),其中每个卷积阶段包括两个分支(即,Branch 1和Branch 2),用于分别提取本卷积阶段的第一特征分量和第二特征分量,可选地,第一特征分量描述为PCM(Part Confidence Maps),第二特征向量描述为PAF(PartAffinityFields)。
根据本发明的一个实施例,预定神经网络结构510取VGG-19模型的前10层卷积网络,其采用3×3的卷积核,将彩色图像的3通道图像输入预定神经网络结构510,经10层卷积(和3层池化)操作后,输出该彩色图像的图像特征F。第一数目个卷积阶段依次连接在预定神经网络结构510之后,且将上一卷积阶段的输出和经预定神经网络结果510输出的图像特征F作为下一卷积阶段的输入,依次迭代,最终输出预测的骨骼点的第二位置。在图5中只示出了第一卷积阶段和最后一个卷积阶段,中间的过程用虚线替代。根据本发明的实施例,第一数目t取600000。
如图6A和6B示出了采集的被测对象的正面图和背面图,经姿态估计模型处理后,检测到的每个骨骼点的第二位置分别如图6C和图6D所示,一般地,用红色的·表示被测对象右半身的骨骼点,用蓝色的·表示被测对象左半身的骨骼点,并且·的大小是一样的,在图6C和图6D的黑白图中,为清楚对比左右半身的骨骼点,用·表示被测对象左半身的骨骼点,用△表示被测对象的右半身骨骼点。可以看出,经姿态估计模型检测出的骨骼点位置能够很好地区分被测对象的正反面,也就是说,不论采集到的是被测对象的正面图还是背面图抑或是侧面图,姿态估计模型都能够准确地检测出每个骨骼点是在被测对象的左半身还是在被测对象的右半身,其骨骼点位置不会随被测对象转身而变化。
下面将结合图5,介绍训练姿态估计模型的过程。
(1)采集多个对象的彩色图像作为训练样本。根据本发明的一个实施例,所采集的彩色图像应包含对象的各种转身角度(如,正面面对摄像头、背面对着摄像头、左侧身45°对着摄像头、右侧身90°对着摄像头等),使得训练样本包括尽量多的转身情况。
(2)通过预定神经网络结构提取训练样本的初始特征,即彩色图像的图像特征。如上所述,预定神经网络结构取VGG-19模型的前10层卷积网络,包含10层卷积和3层池化。
(3)将所述初始特征输入第一卷积阶段(即,Stage 1),分别提取出第一特征分量和第二特征分量。根据本发明的实施例,Stage 1的两个分支中,均包含5层卷积,卷积核依次是:3×3、3×3、3×3、1×1、1×1。
(4)在之后的每个卷积阶段,将初始特征和经上一卷积阶段提取的第一特征分量和第二特征分量输入本卷积阶段,分别提取出本卷积阶段的第一特征分量和第二特征分量。
(5)经第一数目个卷积阶段的迭代处理后,输出预测的多个对象的骨骼点的第二位置。根据本发明的一个实施例,采用训练样本的真实的骨骼点位置(如,通过人工标注获取)对预测的骨骼点的第二位置进行校对(例如在每个卷积阶段都加入损失函数),以使得姿态估计模型的预测结果达到最优。
更多关于姿态估计模型的说明(如损失函数的计算)可参考论文《RealtimeMulti-Person 2D Pose Estimation using Part Affinity Fields》,此处不再展开描述。
随后在步骤S340中,根据每个骨骼点的第一位置与第二位置的距离调整该骨骼点的位置,得到矫正后的骨骼点。
如前所述,人体中骨骼点的位置以人体鼻子与两腿之间的连线为对称轴呈左右对称分布,而经姿态估计模型检测出的骨骼点的第二位置可以有效区分骨骼点是位于左半身还是右半身,因此,利用骨骼点的第二位置矫正经Kinect算出的骨骼点的第一位置,使其能够在保证快速检测出骨骼点位置的基础上,得到更加准确的骨骼点位置。
具体地,计算每个骨骼点的第一位置与第二位置的距离。根据本发明的一个实施例,设骨骼点i的第一位置为position1i、第二位置为position2i,那么第一位置与第二位置的距离disti表示为(其中,abs(x)是对x取绝对值的意思):
disti=abs(position1i-position2i)。
然后判断该距离disti与阈值的大小关系:若距离小于阈值,则认为没有发生(被测对象)转身事件,将骨骼点的第一位置作为该骨骼点的位置;若距离不小于阈值,则认为发生了(被测对象)转身事件,将与该骨骼点对称的骨骼点的第一位置作为该骨骼点的位置(即,调换左右方向的骨骼点的第一位置)。
根据本发明的实现方式,在利用Kinect追踪被测对象捕获其动作的过程中,受到噪声影响会出现骨骼点跳动的情况。另外,根据骨骼点第二位置矫正骨骼点的第一位置时,也会产生很多噪声,使得骨骼点抖动。这样造成的后果就是,当将虚拟衣服“绑定到”被测对象骨骼点上显示试衣效果时,衣服也会随着抖动,影响用户体验。因此,需要对矫正后的骨骼点进行平滑处理,得到二次矫正后的骨骼点。根据本发明的实施例,通过中值滤波方法对矫正后的骨骼点进行平滑处理以消除序列中噪声。
中值滤波方法是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一个像素点的值用该像素点的一个邻域中各像素点值的中值代替,从而消除孤立的噪声点。一种中值滤波的方法是用某种结构的二维滑动模板,将板内像素按照像素值的大小进行排序,生成单调上升(或下降)的伪二维数据序列。通常二维模板会取3×3,5×5的方块区域,也可以是不同的的形状,如线状、圆形、十字形、圆环形等。根据本发明的一个实施例,取3×3的二维模板进行中值滤波。
例如,对于序列中“左肩”这个骨骼点,可以取第2-10帧中“左肩”骨骼点矫正后的位置,进行一次中值滤波,用这些骨骼点位置的中位数(即,中值)代替该“左肩”骨骼点的位置。根据本发明的又一实施例,该中值滤波方法亦可以应用于对后续图像帧的骨骼点位置的预测,例如,根据某个被测对象“左肩”骨骼点前9帧的位置预测第10帧中“左肩”骨骼点的位置。本发明对此不作限制。
如图7示出了经中值滤波处理后骨骼点位置的效果图,以横轴示出骨骼点的横轴坐标位置(由于纵轴上位置没有很大变化,故纵轴未示出),曲线①表示滤波前骨骼点的分布,曲线②表示滤波后骨骼点的分布,①中存在孤立的一段幅值很高的噪声(如箭头所指处),经滤波处理后,可以看到②中已经很好地把这些噪点去掉了,并且,②中滤波后的骨骼点与①中的对应骨骼点有近6个点的距离。以Kinect的帧率为30fps为例,6个点距离相当于:1/30fps×6=0.2s(秒),而采用中值滤波算法耗时不到0.1s(秒),可以接受。
根据本发明的骨骼点矫正方案,克服了用户转身前和转身后,Kinect所算得的同一骨骼点的位置并不相同的缺陷,能够很好地识别被测对象的转身事件,并通过滤波处理去除噪声,使得检测到的骨骼点位置更准确。将利用本方案得到的骨骼点位置应用于虚拟试衣场景时,用户可以实现360°自由试衣,并且,衣随人动,例如当用户试穿裙子时会看到裙子飘动的效果,增强用户体验的真实感受。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、CD-ROM、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,移动终端一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的方法。
本发明一并公开了:
A9、如A3-8中任一项所述的方法,其中,骨骼点i的第一位置与第二位置的距离disti表示为:disti=abs(position1i-position2i),其中,position1i表示骨骼点i的第一位置,position2i表示骨骼点i的第二位置。
A10、如A1-9中任一项所述的方法,其中,对矫正后的骨骼点进行平滑处理的步骤包括:通过中值滤波方法对矫正后的骨骼点进行平滑处理以消除序列中噪声。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
Claims (12)
1.一种骨骼点的矫正方法,该方法适于在计算设备中执行,包括步骤:
获取被测对象的彩色图像的序列和每一帧彩色图像对应的深度数据;
对序列中的每一帧彩色图像,
根据深度数据计算出被测对象每个骨骼点的第一位置;
通过姿态估计模型检测出所述彩色图像中被测对象的每个骨骼点的第二位置;
计算每个骨骼点的第一位置与第二位置的距离;
判断所述距离与阈值的大小关系:
若所述距离小于阈值,则认为没有发生被测对象的转身事件,将骨骼点的第一位置作为该骨骼点的位置;以及
若所述距离不小于阈值,则认为发生了被测对象的转身事件,将与该骨骼点对称的骨骼点的第一位置作为该骨骼点的位置,得到矫正后的骨骼点。
2.如权利要求1所述的方法,其中,在得到矫正后的骨骼点之后,还包括步骤:
对矫正后的骨骼点进行平滑处理,得到二次矫正后的骨骼点。
3.如权利要求1所述的方法,其中,人体中骨骼点的位置以人体鼻子与两腿之间的连线为对称轴呈左右对称分布。
4.如权利要求1所述的方法,其中,根据深度数据计算出被测对象每个骨骼点的第一位置的步骤包括:
从所述深度数据中识别出人体区域;
从所述人体区域中提取骨骼点,其中所述骨骼点的位置用第一空间坐标表示;以及
通过坐标变换将所提取的骨骼点的位置变换到第二空间坐标,作为骨骼点的第一位置。
5.如权利要求1所述的方法,其中,所述姿态估计模型包括:
预定神经网络结构,用于提取所述彩色图像的图像特征;以及
第一数目个卷积阶段,其中每个卷积阶段包括两个分支,用于分别提取本卷积阶段的第一特征分量和第二特征分量,
其中所述第一数目个卷积阶段依次连接、且第一卷积阶段与所述预定神经网络结构相连接。
6.如权利要求1所述的方法,还包括训练姿态估计模型的步骤:
采集多个对象的彩色图像作为训练样本;
通过预定神经网络结构提取所述训练样本的初始特征;
将所述初始特征输入第一卷积阶段,分别提取出第一特征分量和第二特征分量;
在之后的每个卷积阶段,将所述初始特征和经上一卷积阶段提取的第一特征分量和第二特征分量输入本卷积阶段,分别提取出本卷积阶段的第一特征分量和第二特征分量;以及
经第一数目个卷积阶段的迭代处理后,输出预测的所述多个对象的骨骼点的第二位置。
7.如权利要求5所述的方法,其中,所述预定卷积网络为VGG-19模型的前10层卷积网络。
8.如权利要求5所述的方法,其中,所述第一数目为600000。
9.如权利要求1所述的方法,其中,骨骼点i的第一位置与第二位置的距离disti表示为:
disti=abs(position1i-position2i),
其中,position1i表示骨骼点i的第一位置,position2i表示骨骼点i的第二位置。
10.如权利要求2所述的方法,其中,对矫正后的骨骼点进行平滑处理的步骤包括:
通过中值滤波方法对矫正后的骨骼点进行平滑处理以消除序列中噪声。
11.一种计算设备,包括:
一个或多个处理器;
存储器;和
一个或多个程序,其中所述一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行如权利要求1-10所述方法中的任一方法的指令。
12.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当计算设备执行时,使得所述计算设备执行如权利要求1-10所述的方法中的任一方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710702408.7A CN107481280B (zh) | 2017-08-16 | 2017-08-16 | 一种骨骼点的矫正方法及计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710702408.7A CN107481280B (zh) | 2017-08-16 | 2017-08-16 | 一种骨骼点的矫正方法及计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107481280A CN107481280A (zh) | 2017-12-15 |
CN107481280B true CN107481280B (zh) | 2020-05-15 |
Family
ID=60600527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710702408.7A Expired - Fee Related CN107481280B (zh) | 2017-08-16 | 2017-08-16 | 一种骨骼点的矫正方法及计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107481280B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108304831B (zh) * | 2018-03-15 | 2022-03-22 | 广东工业大学 | 一种监测工人安全帽佩戴的方法及装置 |
CN109284696A (zh) * | 2018-09-03 | 2019-01-29 | 吴佳雨 | 一种基于智能数据采集与云服务技术的形象气质提升方法 |
CN109255783B (zh) * | 2018-10-19 | 2020-09-25 | 上海摩象网络科技有限公司 | 一种多人图像上的人体骨骼关键点的位置排布检测方法 |
CN109685797B (zh) * | 2018-12-25 | 2021-08-10 | 北京旷视科技有限公司 | 骨骼点检测方法、装置、处理设备及存储介质 |
CN110298309A (zh) * | 2019-06-28 | 2019-10-01 | 腾讯科技(深圳)有限公司 | 基于图像的动作特征处理方法、装置、终端及存储介质 |
CN110750671B (zh) * | 2019-09-05 | 2022-09-02 | 杭州未名信科科技有限公司 | 一种基于海量非结构化特征的行人检索方法及装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2858398C (en) * | 2011-12-16 | 2018-08-14 | Universitat Zu Lubeck | Method and apparatus for estimating a pose |
CN103049852B (zh) * | 2012-12-19 | 2015-12-09 | 武汉世纪炎龙网络科技有限公司 | 虚拟试衣系统 |
CN104123753B (zh) * | 2014-08-13 | 2017-02-15 | 中山大学 | 基于服装图片的三维虚拟试衣方法 |
CN104637084B (zh) * | 2015-01-29 | 2018-06-22 | 广州市迪拓信息科技有限公司 | 一种建立服装虚拟三维模型的方法及虚拟试衣系统 |
CN105139446A (zh) * | 2015-08-07 | 2015-12-09 | 河海大学常州校区 | 一种基于kinect的全息虚拟试衣系统 |
CN105843386B (zh) * | 2016-03-22 | 2019-05-17 | 浙江诺和品牌管理有限公司 | 一种商场虚拟试衣系统 |
CN106055091B (zh) * | 2016-05-16 | 2019-08-06 | 电子科技大学 | 一种基于深度信息和校正方式的手部姿态估计方法 |
CN106650687B (zh) * | 2016-12-30 | 2020-05-19 | 山东大学 | 一种基于深度信息和骨骼信息的姿势矫正方法 |
-
2017
- 2017-08-16 CN CN201710702408.7A patent/CN107481280B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN107481280A (zh) | 2017-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107481280B (zh) | 一种骨骼点的矫正方法及计算设备 | |
JP7085062B2 (ja) | 画像セグメンテーション方法、装置、コンピュータ機器およびコンピュータプログラム | |
US11468612B2 (en) | Controlling display of a model based on captured images and determined information | |
US20220182598A1 (en) | Systems, methods and apparatuses for stereo vision and tracking | |
Cai et al. | Humman: Multi-modal 4d human dataset for versatile sensing and modeling | |
CN108875523B (zh) | 人体关节点检测方法、装置、系统和存储介质 | |
US9898651B2 (en) | Upper-body skeleton extraction from depth maps | |
US9928411B2 (en) | Image processing apparatus, image processing system, image processing method, and computer program product | |
JP5833189B2 (ja) | 被写体の三次元表現を生成する方法およびシステム | |
CN110378994B (zh) | 人脸建模方法及相关产品 | |
CN110544301A (zh) | 一种三维人体动作重建系统、方法和动作训练系统 | |
CN106027952B (zh) | 摄像机系统相对于车辆的自动方向估算 | |
CN111353930B (zh) | 数据处理方法及装置、电子设备及存储介质 | |
TW201601066A (zh) | 實現虛擬試戴的方法和裝置 | |
JP2019096113A (ja) | キーポイントデータに関する加工装置、方法及びプログラム | |
CN107609946B (zh) | 一种显示控制方法及计算设备 | |
CN110544302A (zh) | 基于多目视觉的人体动作重建系统、方法和动作训练系统 | |
JP2010113530A (ja) | 画像認識装置及びプログラム | |
CN109407826B (zh) | 球类运动模拟方法、装置、存储介质及电子设备 | |
CN111435550A (zh) | 图像处理方法及装置、图像设备及存储介质 | |
CN110288714B (zh) | 一种虚拟仿真实验系统 | |
CN110852934A (zh) | 图像处理方法及装置、图像设备及存储介质 | |
CN112837339A (zh) | 基于运动捕捉技术的轨迹绘制方法及装置 | |
JP2009095631A (ja) | ゴルフスウィング計測システム | |
WO2023152973A1 (ja) | 画像処理装置、画像処理方法、およびプログラム |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200515 Termination date: 20200816 |