CN115035542A - 用于将测试帧序列与参考帧序列进行匹配的系统和方法 - Google Patents
用于将测试帧序列与参考帧序列进行匹配的系统和方法 Download PDFInfo
- Publication number
- CN115035542A CN115035542A CN202210192321.0A CN202210192321A CN115035542A CN 115035542 A CN115035542 A CN 115035542A CN 202210192321 A CN202210192321 A CN 202210192321A CN 115035542 A CN115035542 A CN 115035542A
- Authority
- CN
- China
- Prior art keywords
- person
- pose
- skeleton
- sequence
- frames
- 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.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 91
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000004590 computer program Methods 0.000 claims abstract description 14
- 230000033001 locomotion Effects 0.000 claims abstract description 9
- 230000015654 memory Effects 0.000 claims description 35
- 238000013528 artificial neural network Methods 0.000 claims description 29
- 238000012937 correction Methods 0.000 claims description 15
- 238000012549 training Methods 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 9
- 230000000007 visual effect Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 17
- 210000001503 joint Anatomy 0.000 description 17
- 210000003127 knee Anatomy 0.000 description 17
- 210000004197 pelvis Anatomy 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 9
- 230000036541 health Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 239000013598 vector Substances 0.000 description 9
- 210000000988 bone and bone Anatomy 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 210000002683 foot Anatomy 0.000 description 5
- 210000002414 leg Anatomy 0.000 description 5
- 238000012800 visualization Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000013434 data augmentation Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 210000005069 ears Anatomy 0.000 description 2
- 210000001624 hip Anatomy 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000001356 surgical procedure Methods 0.000 description 2
- 208000032041 Hearing impaired Diseases 0.000 description 1
- 208000034819 Mobility Limitation Diseases 0.000 description 1
- ROJGIRXXBBBMPL-UHFFFAOYSA-N N-hydroxy-2-propylpentanamide Chemical compound CCCC(CCC)C(=O)NO ROJGIRXXBBBMPL-UHFFFAOYSA-N 0.000 description 1
- 210000003423 ankle Anatomy 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005021 gait Effects 0.000 description 1
- 210000004394 hip joint Anatomy 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000037230 mobility Effects 0.000 description 1
- 210000002346 musculoskeletal system Anatomy 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000000554 physical therapy Methods 0.000 description 1
- 238000010223 real-time analysis Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001225 therapeutic effect Effects 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 210000003371 toe Anatomy 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/38—Registration of image sequences
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/80—2D [Two Dimensional] animation, e.g. using sprites
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/103—Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
- A61B5/11—Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
- G06V20/647—Three-dimensional objects by matching two-dimensional images to three-dimensional objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/103—Static body considered as a whole, e.g. static pedestrian or occupant recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/23—Recognition of whole body movements, e.g. for sport training
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/03—Recognition of patterns in medical or anatomical images
- G06V2201/033—Recognition of patterns in medical or anatomical images of skeletal patterns
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Medical Informatics (AREA)
- Biophysics (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Heart & Thoracic Surgery (AREA)
- Veterinary Medicine (AREA)
- Pathology (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Surgery (AREA)
- Animal Behavior & Ethology (AREA)
- Public Health (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Physiology (AREA)
- Dentistry (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Image Analysis (AREA)
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
Abstract
本发明公开了一种用于将测试帧序列与参考帧序列进行匹配的计算机实施的方法、计算机程序产品和计算机系统。对于参考帧序列的每一帧,姿态数据文件表示虚拟球面上的多个二维骨架投影。对于特定帧,球面上的每个二维骨架投影对应于来自不同视场角的第一人的三维骨架的二维参考姿态图像。测试帧序列表示第二人在进行体育锻炼时的运动。实时二维骨架检测器模块检测在测试帧序列的每个接收到的测试帧中的第二人的二维骨架。姿态匹配模块选择具有到当前测试帧中的第二人的二维骨架的最小数学距离的第一人的特定二维骨架投影,以将当前测试帧中的第二人的当前姿态与姿态数据文件的对应参考姿态图像进行匹配。
Description
技术领域
本发明总体上涉及电子数据处理,并且更具体地涉及用于将显示用户进行体育锻炼的测试帧序列与对应参考帧序列进行匹配的计算机实施的方法、计算机程序产品和系统。
背景技术
一般而言,进行体育锻炼促进人类肌肉骨骼系统的健康,并且通常改善个体的健康状况。帮助患者在事故、手术、椎间盘突出等之后恢复其完全活动能力的物理治疗措施通常包括需要由患者正确地进行的专门体育锻炼。如果未正确地进行,此类锻炼甚至可能损害患者的健康。
虽然在医疗疗程中,经验丰富的物理治疗师或教练可以在进行锻炼期间观察患者,并提供关于如何正确地进行锻炼的指令,但是当患者在家中进行锻炼而没有物理治疗师或教练的监督时,这是不可能的。通常,非常有利的是在医疗疗程之间定期重复锻炼,以实现患者医疗状态的可持续改善。
存在向用户提供指令视频的商业应用,它们示出指导者的正确锻炼表现。然而,或者是如果锻炼被正确地进行或者未正确地进行时用户没有接收到反馈(如在医疗疗程中),在这种情况下,当以不正确的方式进行锻炼时,用户的健康甚至可能恶化,或者是需要复杂的硬件装置,如来自德国柏林10587的etone运动分析股份有限公司(etone MotionAnalysis GmbH) 的VAHA镜,或者由德国达尔戈-德贝里茨14624的Pixformance体育股份有限公司 (Pixformance Sports GmbH)提供的PIXFORMANCE镜,其也包括深度传感器。此类硬件镜像解决方案包括需要复杂设置程序的大型装置。在设置之后,它们需要在固定位置操作。
发明内容
因此,需要一种应用,其能够以此类方式向用户提供指令,即通过确保在无人监督训练期间正确地进行体育锻炼而不需要特定的复杂硬件装置来防止对用户健康的损害。这是通过提供一种应用来实现的,该应用允许根据独立权利要求中描绘的实施例来识别由来自参考帧序列的视频的测试帧序列捕捉的所述用户的锻炼表现的偏差,该参考帧序列示出指导者进行正确的序列。
因此,所述实施例解决了进一步的技术问题。当试图将测试帧序列与参考帧序列进行匹配时,通常需要以与用于捕捉测试帧序列的摄像机相同的方式(即,在相同的视场角下)来定位用于捕捉测试帧序列的摄像机。在家庭环境中,这可能是有挑战性的,特别是在使用具有一体化摄像机的简单智能手机或平板电脑来捕捉测试帧序列的情况下。通常,此类装置不能容易地安装在相应位置。有时甚至用户进行锻炼的位置也不允许此类定位。因此,需要提供一种应用,其能够以这样的方式将测试帧序列与参考帧序列进行匹配,即当捕捉所述用户的锻炼表现时,不可知摄像机朝向用户的视场角。
该技术问题的解决通过实施例-根据独立权利要求的计算机实施的方法、计算机程序产品和计算机系统—以将示出用户(在进行所述体育锻炼的同时)的测试帧序列与对应参考帧序列(由教练/指导者演示体育锻炼的正确表现)进行匹配。
一种计算机系统,其将相应计算机程序产品加载到其存储器中,并且其利用一个或多个处理器来处理所加载的计算机程序,从而被配置成如下所述执行计算机实施的方法。
该计算机系统具有适于接收姿态数据文件的接口。例如,该姿态数据文件可以从如DVD 或USB装置等的数据载体中加载,或者可以从远程存储装置(例如,可经由因特网访问的服务器)中检索。该姿态数据文件基于三维关节坐标的列表(参考视频的每个特征帧一个列表),三维关节坐标表示第一人(教练/指导者)的三维骨架的多个关节在相应帧中的位置。此类3D 关节坐标可以从参考视频中获得,例如,通过使用在DUSHYANT MEHTA等人的发表物“VNect:利用单个RGB摄像机进行实时3D人体姿态估计(VNect:Real-time 3D HumanPose Estimation with a Single RGB Camera)”(ACM Transactions on Graphics期刊,第36卷第4期, 2017年7月,第44条)中描述的技术。本文详细描述了CNN的实施方案实例,其基于He 等人在“用于图像识别的深度残差学习(Deep Residual Learning for ImageRecognition)”(IEEE 计算机视觉和模式识别会议,2016年)中的ResNet50网络架构。欧洲专利EP3656302详细描述了如何通过使用以上方法或类似SMPLify方法的其它方法来从所获得的视频流中提取三维步态信息(参阅Federica Bogo等人的“保持SMPL:从单个图像自动估计3D人体姿态和外形(Keep it SMPL:Automatic Estimation of 3D Human Pose andShape from a Single Image)”,可获得自http://files.is.tue.mpg.de/black/papers/BogoECCV2016.pdf)。
对于参考帧序列的至少一个帧子集—特征帧子集,基于3D关节坐标的相应列表,将虚拟球面上的多个二维骨架投影存储在姿态数据文件中。该帧子集(即,特征帧子集)包含具有体育锻炼的特征姿态(即,清楚地允许表征体育锻炼的姿态,其使得可以基于此类姿态将体育锻炼与其它锻炼区分开)的一个或多个帧。例如,进行深蹲的特征姿态的子集可以包括第一特征帧和第二特征帧,第一特征帧示出第一人在深蹲中的姿态,第二特征帧示出第一人在直立位置中的姿态。因此,在每个球面的几何中心处放置一个特定关节。通常,将第一人的骨盆用作该特定中心关节。换句话说,特定帧在特定虚拟球体上的每个二维骨架投影对应于第一人的三维骨架在相应时间点处从不同视场角的二维参考姿态图像。在第一实施方案中,可以使用不同的同心虚拟球体,其中不同的半径反映2D骨架投影距3D中心关节的不同(物理)距离。在第二实施方案中,使用具有标准化半径的单个虚拟球体。在该实施方案中,摄像机与用户之间的(物理)距离变得无关。关于这两种实施方案的细节在具体实施方式中给出。例如,特定球面上的2D投影(其中骨盆在所述球体的赤道线上)对应于一个摄像机视场角,其中摄像机将在地面上方的对应于骨盆高度的高度处操作。赤道线上的投影反映围绕第一人的0至360度的任何视场角。例如,可以以每1度一个投影的分辨率来计算2D投影。当然,可以选择其它分辨率。
骨盆在球体上半部中的2D投影对应于摄像机位于高于第一人骨盆的位置处的情况。骨盆在球体下半部中的2D投影对应于摄像机位于低于第一人骨盆的位置处的情况。因此,对应于地面以下摄像机位置的2D投影当然不具有实际相关性,因为在真实世界场景中,摄像机不能在用户的锻炼环境中定位在地面以下。
在第一实施方案中,对于给定的投影角度(即,视场角),在具有不同半径的各种同心球面上的投影反映第一人与摄像机之间的不同距离。与在多个同心球体的内部球体上的投影相比,在外部球体中的一个上的投影产生更小的骨架图像。与较小的投影图像相比,较大的投影图像对应于假想摄像机与第一人之间的较小距离。因此,用户与摄像机之间的哪个真实世界距离与相应投影图像尺寸相关联是无关的。仅相关的是,不同球体中的所有投影尺寸的总和覆盖一定距离范围,该距离范围包括当摄像机被用于在进行锻炼的同时捕捉用户的视频时摄像机与用户之间的距离。换句话说,2D投影覆盖的实际距离范围在2至10米之间。具体实施方式详细描述了如何从3D关节坐标的列表中导出2D投影以得到姿态数据文件,然后将该数据文件用作计算机系统的输入。
在第二实施方案中,仅使用具有标准化半径的单个球面。也就是说,对于每个2D骨架投影,关节坐标被标准化,使得相应x、y坐标在0至1之间。该实施方案利用了以下事实:当从某个角度观看特定姿态时,无论从哪个距离观看,各个身体部位之间的比例保持不变。也就是说,在特定角度处在单个虚拟球体上的标准化2D投影是不变的,而和摄像机与用户之间的真实距离无关。
此外,该计算机系统具有接口,该接口被配置成接收表示第二人(用户)在模仿体育锻炼时的运动的测试帧序列。模仿体育锻炼意味着第二人试图以与第一人在参考帧序列中演示体育锻炼相同的方式实时进行体育锻炼。用于从摄像机装置实时接收视频流的接口技术在本领域中是公知的。因此,用户已将摄像机置于任意视场角,以在用户进行锻炼时捕捉测试帧序列。通常,用户在进行锻炼的同时观看参考视频。然而,这不是必需的。例如,用户可能已经牢记了如何进行体育锻炼。在该情况下,可能不需要用户在进行锻炼的同时仍然观看参考视频。然而,仍然可以执行所述计算机实施的方法的以下步骤。
该系统还具有实时2D骨架检测器,其被配置成检测在测试帧序列的每个接收到的测试帧中的第二人的二维骨架。如本文所用,实时描述了接近实时的系统响应,其中响应于接收到的输入的计算仅延迟由自动数据处理或网络传输在事件的发生与经处理数据的使用(如用于显示或反馈和控制目的)之间引入的时间延迟。例如,接近实时的显示将在当前时间减去处理时间处存在的事件或情况描绘为接近实况事件的时间。因此,第二人的2D骨架是第二人在相应测试帧中的姿态的二维表示。能够从用户的视频中接近实时地计算该用户的2D骨架的实时2D骨架检测器在本领域中是已知的。例如,在欧洲专利EP3656302中公开了一种实施方案。其它实施方案是可商购的,如来自德国慕尼黑80803的Kaia健康软件股份有限公司(Kaia Health Software GmbH)的2D跟踪器。如本文所用,接近实时的系统响应意味着2D 骨架的计算仅延迟在事件的发生(例如,视频帧的接收)与经处理数据的使用(例如,由进一步的应用或用户使用计算出的2D数据)之间引入(由自动数据处理或网络传输)的时间延迟。例如,接近实时的显示将在当前时间减去处理时间处存在的事件或情况描绘为接近实况事件的时间。例如,包括第二人的对应二维骨架的表示的当前测试帧可以接近实时地可视化给第二人。在用于捕捉第二人的摄像机是智能手机或平板计算机的前置摄像机的情况下,检测到的2D骨架的可视化作为对相应测试帧的覆盖图可以在智能手机或台式计算机的显示器上呈现。这样,仅需要单个装置来捕捉测试帧并向第二用户显示任何结果信息。在替代设置中,显示装置可以是单独的装置。例如,计算机或电视屏幕可以用于显示,而安装在该屏幕的顶部的网络摄像机可以用于捕捉锻炼的人。
在使用具有同心球面的第一实施方案的情况下,直接将检测到的2D骨架作为输入提供给姿态匹配模块。在使用具有标准化球面的第二实施方案的情况下,在将检测到的2D骨架作为输入提供给姿态匹配模块之前将其标准化。也就是说,然后将检测到的或标准化的2D 骨架作为输入提供给计算机系统的姿态匹配模块,该模块被配置成选择具有到当前测试帧中的第二人的二维骨架的最小数学距离的第一人的特定二维骨架投影,以将当前测试帧中的第二人的当前姿态与姿态数据文件的对应参考姿态图像进行匹配。因此,特定二维骨架投影表示在对应于摄像机装置的特定角度的视场角处的对应参考姿态图像。换句话说,姿态匹配模块将当前测试帧的所识别的2D骨架(与第二人相关联)与参考视频的2D骨架投影(与第一人相关联)进行比较。因此,姿态匹配模块估计所识别的2D骨架与同心球体上的2D骨架投影之间的数学距离,或者在第二实施方案的情况下,估计与标准化球体之间的数学距离(例如,通过计算对应关节之间的欧几里得距离或者通过使用对应经训练的神经网络)。应当注意,此类距离计算也可以接近实时地执行。因此,与第一实施方案相比,第二实施方案需要用于距离计算的计算时间减少,因为通过排除距离维度(即,通过使用反映身体部位之间的比例的标准化关节坐标而不是使用相应关节之间的绝对距离量度),用于适当2D投影的搜索空间从多个同心球体上的一组2D投影减少到单个标准化球体上的一组2D投影。姿态匹配模块最后选择与所识别的2D骨架具有最小距离的2D投影。结果是,所选2D骨架投影表示参考视频的姿态图像,该姿态图像与当前帧中的第二人进行的姿态最接近,对于该当前帧,骨架检测器已经识别出相应2D骨架。这意味着,用于捕捉测试帧序列的摄像机的视场角大约对应于与假想摄像机位置相关联的视场角,该假想摄像机位置与所选2D骨架投影相关联。摄像机与用户之间的真实距离不再起作用。应当注意,在姿态数据文件包括参考帧序列的所有帧的2D投影的实施例中,测试帧序列的每个测试帧可以产生与虚拟球体上的相应2D投影肯定匹配的结果,而在姿态数据文件仅包括特征帧子集的2D投影的实施例中,只能为此类(当前)测试帧提供肯定匹配结果,即其中用户采取对应于特征参考帧中的一个中的锻炼的特征姿态的姿态。
在一个实施例中,对具有到所识别的2D骨架的最小数学距离的2D投影的选择可以通过对应经训练的神经网络来进行。例如,可以以下述方式训练标准多层感知器,以使得其能够接近实时地进行此类选择。将示出用户在进行锻炼时处于不同姿态的一组视频用作基础数据集。此类视频可以例如从所谓的CMU全景数据集中获得。然后,将先前描述的2D投影算法应用于此类视频,以为被标记为锻炼的特征的帧子集的每一帧产生对应的2D骨架投影。例如,特征帧的对应标记可以通过用户注释参考帧序列来相应地设置。因此,对于每个姿态投影,具有相应极坐标(r,Φ,θ)的向量是已知的,并且现在可以用作相应2D投影的标签。然后用2D骨架投影作为输入来训练神经网络以预测任何2D姿态的(r,Φ,θ),其中,相应标签为训练提供地面实况。一旦神经网络被充分训练,它就可以接近实时地预测对应于由实时2D骨架检测器识别的任何2D骨架的(r,Φ,θ)向量。所预测的(r,Φ,θ)向量直接指向参考视频流的2D骨架投影,其(通过神经网络)被估计为具有到当前测试帧中的姿态的最小数学距离。换句话说,神经网络实时选择最接近用户与摄像机之间的视场角的视场角处的2D投影,该摄像机获得测试帧序列。该实施例的优点还在于,它可以在进行锻炼时立即自动适应用户的任何位置变化。神经网络立即选择参考视频流的2D投影,其在改变的位置或视角(如果用户仅稍微改变观看方向)处提供与当前姿态的最佳匹配。视角描述了摄像机相对于由所述摄像机捕捉的用户的极坐标。也就是说,通过用户与摄像机之间的距离r以及视场角(如方位角Φ和极角θ所定义的)来描述视角。
因此,与所述假想摄像机位置相关联的2D骨架投影序列表示具有可与测试帧序列的帧图像直接比较的帧图像的参考视频流。也就是说,该所选参考视频流为将由第二人在进行体育锻炼时进行的姿态与参考视频中的第一人的姿态进行匹配提供了理想基础。此类姿态匹配为更详细的分析提供基础,以识别第二人与教练/指导者的对应姿态的姿态偏差,其可能损害第二人健康。有利的是,姿态匹配可以由所要求保护的实施例基于捕捉锻炼的第二人的测试帧序列的标准RGB摄像机装置的视频流来执行。不需要具有带有深度传感器等的摄像机的复杂视频设备。此外,有利的是,用于捕捉锻炼的第二人的摄像机可以以灵活的距离定位在第二人的锻炼环境中的任何视场角下。对于使用同心虚拟球体的第一实施方案,该距离在预定的距离范围内可以是灵活的。对于使用标准化球体的第二实施方案,该距离不起作用,并且摄像机可以放置在用户的锻炼空间中的任何距离处。也就是说,所提出的姿态匹配是视场角不可知和距离不可知的,因为姿态匹配组件总是找到具有到测试帧中的第二人的所识别的2D 骨架的最小数学距离的适当2D骨架投影,该测试帧由相应摄像机在任意视场角下捕捉。换句话说,所期望的姿态匹配效果是独立于关于视场角和摄像机与用户之间的物理距离的实际摄像机设置而实现的。然后所选2D投影帧序列可以用作姿态分析的参考姿态图像,如下所述。
如上所述配置的计算机系统在技术上能够执行测试帧序列的接近实时的分析,以评估第二人是否在正确地进行锻炼或者是否存在由于错误的锻炼进行而负面影响第二人健康的风险。在后者中,系统甚至可以向第二用户提供关于如何改善锻炼以防止潜在的健康损害的指令。
为了实现该效果,在一个实施例中,计算机系统还包括姿态检查模块,其被配置成确定第二人的当前姿态与所选2D骨架投影帧序列中的对应参考姿态的距离。因此,该距离是指示第二人是否在正确地进行体育锻炼的量度。换句话说,如果所识别的2D骨架中的关节与所选2D骨架投影中的对应关节之间的距离超过一个或多个对应预定阈值,则第二人未正确地进行锻炼。该一个或多个预定阈值对应于用于评估正确性的容差。此类容差值可以由第二人定制。例如,与较年轻的用户相比,较年老的用户可以使用更大的容差。
在用户未正确地进行体育锻炼的情况下,姿态检查模块可以向姿态修正反馈指示如何修正当前姿态。然后将该反馈通信给用户。可以使用不同的模态来将修正反馈输出给用户。例如,可以将具有修正反馈的文本消息合并到具有2D骨架表示的当前帧的可视化中。替代地,文本消息可以作为语音指令经由语音接口输出给用户。替代地,可以在距离超过所述阈值的位置处将图形修正指示符合并到具有2D骨架表示的当前帧中。例如,在相应关节位置处,箭头可以指示需要为了正确的锻炼进行而修改当前姿态的方向。
在一个实施例中,姿态数据文件还可以包括将关节子集分组到对应身体部位的每一帧的注释。也就是说,属于第一人的右臂的所有关节可以用组指示符“右臂”来注释。这可以针对与锻炼的正确表现相关的每个身体部位来完成。基于此类注释,姿态检查模块可以为当前测试帧指示超过预定临界距离的身体部位。提供给用户(第二人)的反馈向用户传达如何改变关于所指示身体部位的当前姿态,直到所述身体部位的当前距离降到临界距离以下为止。特别地,当使用用于反馈提供的模态作为文本消息时,用户可以快速地(实时地)理解如何通过遵循关于身体部位的指令而不是通过查看涉及特定单个关节的反馈来改变当前姿态。替代地,可以在具有2D骨架表示的当前帧的可视化中突出显示相应身体部位。例如,可以用红色突出显示具有不正确姿势的身体部位,并且与突出显示的身体部位相关联的图形指示符 (例如箭头)可以指示修正方向。
本发明的进一步方面将通过在所附权利要求中具体描绘的元素和组合来实现和得到。应当理解,前述一般描述和以下具体描述两者均仅是示范性和解释性的,并且不是对所描述的本发明的限制。
附图说明
图1A绘示了根据实施例的用于将捕捉用户的体育锻炼表现的测试帧序列与对应参考帧序列进行匹配的计算机系统的框图;
图1B绘示了根据实施例的用于2D骨架投影的同心球面;
图1C绘示了根据实施例的用于2D骨架投影的单个标准化球面;
图2是根据实施例的用于将捕捉用户的体育锻炼表现的测试帧序列与对应参考帧序列进行匹配的计算机实施的方法的简化流程图;
图3用人的示意性2D骨架的二维覆盖图绘示了人的外形;
图4A、4B用人的示意性2D骨架的二维覆盖图绘示了由人进行的体育锻炼的两个姿势;
图5A、6A各自绘示了参考帧序列的两个帧,其中教练进行体育锻炼;
图5B、5C示出了具有用户进行体育锻炼的可视化的用户界面,包括关于锻炼进行的正确性向用户的反馈;
图5D示出了优先级注释的实例;
图6B示出了具有用户进行体育锻炼的可视化的用户界面,包括根据实施例的基于优先级注释的反馈;
图7绘示了使用经训练的神经网络的姿态匹配示例实施例;
图8绘示了用于训练神经网络的数据扩充方法;并且
图9是示出可以与本文描述的技术一起使用的通用计算机装置和通用移动计算机装置的实例的图表。
具体实施方式
图1A包括根据实施例的用于将捕捉用户2的体育锻炼t1-t2-t3的表现的测试帧序列201 与对应参考帧序列203进行匹配的计算机系统100的框图。图2是计算机实施的方法1000的简化流程图。方法1000可以由系统100执行。为此,参照图2描述图1A,并且图1A的以下描述也参考图2中使用的附图标记。应当注意,图2中的方法步骤的顺序仅是示范性的。至少一些步骤可以以不同的次序执行。例如,可以切换接收步骤1100、1200的次序。
系统100与摄像机200通信地耦合,摄像机200以适当的角度定位以在进行锻炼t1-t2-t3 时捕捉用户2。该摄像机是标准RGB摄像机装置,其将包括测试帧序列201的视频流提供为系统100的输入。例如,摄像机可以是智能手机、笔记本或平板PC、外部网络摄像机等中的一体化摄像机。锻炼的附图标记t1-t2-t3指示用户随时间(随着时间从左流逝到右)进行运动。在时间t1处,用户2采取弯曲膝部的第一姿势,用户从该姿势经由在t2处的中间姿势朝向在 t3处的直立位置连续移动。
测试帧序列201由系统100的实时二维骨架检测器模块110接收1200。实时2D骨架检测器检测1300测试帧序列201的特定接收到的测试帧中的用户2的二维骨架20。通常,此类2D骨架检测器可以检测每一帧中的2D骨架。然而,检测每第n个帧(n=2、3、4等)中的2D骨架也是足够的。如在发明内容章节中已经描述的,此类实时2D骨架检测器在本领域中是已知的并且是可商购的。用户2的二维骨架20是第二人在相应测试帧中的姿态的二维表示。在该实例中,摄像机被定位在用户2的前面,从用户2的角度来看稍微向左移动。因此,检测到的2D骨架从摄像机200的角度示出当前帧Fc中用户的当前姿态。
图3在人300的外形内示意性地绘示了由骨架检测器110识别的此类双2D骨架。原则上,骨架检测器110检测测试帧(由圆圈表示)中的用户关节,并通过表示用户骨骼的粗连接线连接此类关节。在图3的实例中,骨架检测器被进一步训练以识别用户的眼睛j2、j3和耳朵j4、j5。关于2D骨架,可以使用以下关节:鼻子j1、颈部j8、肩部j6、j7、肘部j9、j10、腕部j11、j12、髋部j13、j14、j15(中间髋部j13也称为骨盆)、膝部j16、j17、踝部j18、j19 和脚趾j20、j21。各个关节之间的粗线是人300骨骼的简化表示。例如,人的脊柱,尽管由多个背椎骨组成,但简单地用连接线j1-j8和j8-j13表示。
图4A和4B示出了两个测试帧410o、420o,其中用户进行作为体育锻炼的一部分的两个姿势,其中相应的所识别的2D骨架作为覆盖图。尽管在用户肩部与耳朵之间没有骨骼,但是测试帧中的覆盖图还包括耳朵-肩部连接线。这些线提供了关于耳朵与肩部之间的距离的有价值的信息,这是在相应测试帧中用户头部姿势的良好指示符。因此,在所述姿势的示意图 410、420中,耳朵-肩部连接线由虚线绘示以将它们与简化的骨骼表示区分开。
计算机系统还具有接口以接收1100与参考帧序列202相关联的姿态数据文件203。参考帧序列202包括帧Fr1至Frn,帧Fr1至Frn示出了第一人(教练/指导者)演示体育锻炼的正确进行,该体育锻炼将由第二人2进行。当然,参考帧序列202先前已被记录(也就是说,它不由第一人与第二人并行地进行)。图5A绘示了两个参考帧510ru、510rd的实例。在帧510ru中,示出了体育锻炼的初始姿态,其中第一人(教练)在抬高右臂。在该锻炼的过程中,教练移动右肘以通过也抬高右膝来接触右膝。该锻炼的姿态在参考帧510rd中绘示出。
整个参考帧序列的姿态数据文件基于三维关节坐标的列表来生成,该三维关节坐标表示第一人的三维骨架10的多个关节在参考帧序列202的至少一个(表征)帧子集Fr1至FRn 中的位置,并且对于参考帧序列202的子集Fr1至Frn的每一帧,表示虚拟球面203s上的多个二维骨架投影10p1、10p2,其中第一人的特定关节10cj(通常是骨盆)位于球面203s的几何中心处。因此,对于特定参考帧,该虚拟球面上的每个二维骨架投影10p1、10p2对应于来自不同视场角的第一人的三维骨架10的二维参考姿态图像。三维骨架10与2D骨架投影10p1、 10p2之间的虚线箭头表示3D骨架10上的两个不同视场角。对于用户必须重复从开始姿态移动到目标姿态并返回到开始姿态的简单锻炼,特征帧子集可以仅包括两个特征帧—具有开始姿态的图像的第一特征帧和具有目标姿态的图像的第二特征帧。在该实例中,表示两个姿态之间的运动的帧可以不必反映在姿态数据文件中(即,2D骨架投影之间的此类帧在参考帧序列202中不必可用。
简要地转到图1B,绘示了使用多个同心虚拟球面的实施方案。示出了此类多个的两个同心球面203s、203s'。球体203s具有比球体203s'更大的半径r。Δr确定系统的距离分辨率。较高密度的同心球体导致关于用户与摄像机之间的潜在距离的较高分辨率。球体203'上的2D 投影10p1'和球体203上的2D投影10p1反映相同的视场角,但是摄像机与用户之间的距离不同。因此,与较小的投影10p1相比,较大的投影10p1'与较短的距离相关联。这同样适用于投影10p2和10p2'。也就是说,假设虚拟摄像机将安装在特定2D投影的中心,计算该2D投影的尺寸,使得其对应于将由该虚拟摄像机捕捉的教练的图像。换句话说,虚拟摄像机与教练之间的距离对应于相应球体的半径,并且正确的视场角由所述球体上的虚拟摄像机位置的两个角坐标来定义。
在图1A的实例中,2D骨架投影10p1反映与距人一定距离处的假想摄像机位置相关联的视场角,该距离对应于摄像机200相对于用户2在该用户的真实世界情况下的摄像机位置。 2D骨架投影10p2反映与假想摄像机位置相关联的视场角,该位置反映教练后面的假想摄像机的升高位置(投影10p2的骨盆在球体203s的上半部中),从教练的角度来看稍微向右移动。
下面描述如何从原始三维骨架10中导出姿态数据文件203的此类2D骨架投影。
球面坐标系{r,Φ,θ}用以下各项定义
r:径向距离
Φ:方位角
θ:极角
假设中间髋关节(骨盆)位于坐标系的中心(0,0,0)(例如,球面203s的几何中心)处。还假设已经通过使用任何先前引用的方法为教练的3D骨架的相应所识别关节的参考帧序列的至少特征帧生成了3D关节坐标的列表。然后将每一帧J的3D骨架投影到虚拟球面203s 上的点。由于通常只有球面的上半部是相关的,所以在下文中球面也被称为虚拟圆顶的壁。
投影函数为:
接下来,为r、Φ、θ定义具有对应区间值的区间。以下给出了具有适当区间值的示例定义:
如果适当的话,本领域技术人员可以选择r-、Φ-、θ-区间值之间的其它增量。相应坐标值的增量确定由虚拟圆顶为在任意视场角情况和用户与摄像机之间的可变距离下的姿态匹配提供的分辨率。应当注意,r-坐标对应于用户与摄像机之间的距离。在以上实例中,r-坐标的范围为2m至10m,分辨率(增量)为0.1m。在r=10m的虚拟圆顶上的投影小于r=2m的虚拟圆顶的投影。为了使姿态匹配恰当地工作,实际距离实际上并不重要,因为在虚拟圆顶 (即,同心球体)中的任何一个上找到与测试帧序列中所识别的2D骨架的尺寸相匹配的一个2D骨架投影就足够了。
极角θ指定球面的北极(θ=0)(对应于来自顶部的摄像机视图)与相应球体上的特定投影的实际位置之间的角度。也就是说,θ=180°对应于南极并且反映来自用户下方的摄像机视图。θ=90°对应的摄像机的高度位于与用户骨盆相同的高度处。在实际摄像机设置场景中,θ- 区间值的实际范围通常被区间θ∈[45°,46°,…,90,…,135°]很好地覆盖。
以下伪码绘示了投影的示例算法:
姿态数据文件(姿态文件)可以以适当的分级格式(例如,json、xml…)保存,并且含有参考帧序列的所有帧的投影2D骨架(参考姿态图像),以及根据预定区间值的所有投影(即,对由坐标r、Φ、θ的相应区间值定义的同心球体203s上的所有投影点的投影),如下:
换句话说,接收到的姿态数据文件203包括根据由r-、Φ-和θ-区间值定义的分辨率的所有同心球体的表面上的每个点的2D骨架投影。
现在转到图1C,绘示了虚拟圆顶的替代实施方案。该替代实施方案仅使用具有标准化 2D骨架投影10p3、10p4的单个球面204s。在该实施方案中,将单个球面204s用于生成标准化2D骨架投影10p3、10p4。在该实施方案中,r-维是固定的(r=1)。只有Φ-和θ-角确定相应2D骨架投影的位置。这通过将相应投影2D骨架标准化来实现。在图1C的右侧,示出了用户的原始高度h0。这对应于用户与摄像机之间的零距离d0。当生成一系列距离的投影时,用户的相应关节之间的各个骨骼长度(例如,用户的左手与左肘之间的骨骼长度BL0)以与特定帧中的用户的总高度相同的因子缩放。也就是说,对于用户在距离d1处的2D投影(其中用户的投影高度对应于2/3h0),骨骼长度BL1也对应于2/3h0。类似地,在距离d2处(其中用户的投影高度对应于1/2h0),骨骼长度BL2对应于1/2h0。也就是说,当用相应投影用户高度将投影中的每个骨骼长度标准化时,对于任何距离均得到相同的标准化2D骨架投影。然后将该标准化投影投影到r=1的球体204s上。
然后,系统100的姿态匹配模块120选择1400具有到在当前测试帧Fc中的第二人的二维骨架20的最小数学距离的第一人的特定二维骨架投影10p1。换句话说,姿态匹配模块通过计算2D骨架与可用2D骨架投影之间的相应数学距离来将当前测试帧Fc的2D骨架与同心球面上的2D投影进行比较。然后,姿态匹配模块选择具有到当前测试帧的2D骨架的最小距离的2D骨架投影。所选2D投影对应于与当前测试帧Fc中的第二人2的当前姿态最佳匹配的姿态数据文件的参考姿态图像。也就是说,所选2D投影表示在对应于摄像机装置200 相对于用户2的特定视场角的视场角处以及在对应于摄像机装置200与用户2之间的特定距离的距离处的参考姿态图像。在使用多球体实施方案的情况下,姿态匹配模块可以直接使用骨架检测器110的输出(所识别的2D骨架)来与可用2D骨架投影进行比较。在使用标准化球体实施方案的情况下,姿态匹配模块120具有标准化功能,该标准化功能在与可用2D骨架投影进行比较之前将从骨架检测器接收到的所识别的2D骨架标准化。也就是说,2D骨架 20的每个骨骼长度除以相应帧Fc中的用户高度。
一旦选择了正确的2D投影,就可以将所选2D投影10p1的帧序列用作参考帧序列,以用于即将到来的用户2实际进行的锻炼与教练在参考视频中演示的锻炼的比较。只要用户不显著改变其相对于摄像机200的位置,所选参考帧序列就保持有效。然而,即使用户2例如通过移动靠近显示教练视频的屏幕来改变位置,系统100也可以通过简单地选择具有与用户 2的新位置相匹配的2D投影的另一个参考帧序列来自动适应用户的新位置。应当注意,姿态匹配模块120可以通过应用适当算法计算2D投影与当前2D用户骨架之间的数学距离来接近实时地选择匹配的参考姿态图像。此类算法的实例在本领域中是已知的,并且在例如以下发表物中详细描述。在Ada Wai-chee Fu等人的“给定成对距离的用于n-最近邻搜索的动态vp 树索引(Dynamic vp-tree indexing for n-nearest neighbor searchgiven pair-wise distances)”(VLDB期刊(2000)9:154–173)中,提出了一种基于距离的索引方法,该方法可以应用于计算当前帧的2D骨架中的对应关节与相应2D骨架投影之间的距离。Kumar N.,Zhang L.,Nayar S.(2008)在“在图像中找到类似补丁的良好最近邻算法是什么?(What Is a Good Nearest Neighbors Algorithm for Finding Similar Patchesin Images?)”(在:Forsyth D.,Torr P.,Zisserman A.(编辑)计算机视觉-ECCV2008.ECCV 2008,计算机科学讲义(Lecture Notes in Computer Science),第5303卷,斯普林格,柏林,海德堡)中描述了数学距离计算的替代方法
图7绘示了姿态匹配模块120的实施例,其中通过对应经训练的神经网络(NN)122来选择具有到所识别的2D骨架20的最小数学距离的适当2D投影10p1。NN 122接收当前帧Fc的2D骨架20(或标准化骨架)作为用户当前姿态的表示作为输入。NN 122已被训练以预测与当前姿态相关联的(r,Φ,θ)向量。换句话说,NN 122预测2D骨架投影的中心的坐标,其反映了获得测试帧序列的视场角。如前所述,根据姿态数据文件的实施方案(多个同心球体或单个标准化球体),姿态匹配器120还可以包括标准化功能121,以在将单个标准化球体用于2D骨架投影的情况下计算标准化的所识别的2D骨架。
例如,NN 122可以由具有相对较小拓扑结构的标准多层感知器来实施,其包括3至6层,每层具有50至100个神经元。输入层IL被配置成接收检测到的2D骨架(或标准化2D骨架) 作为测试输入。输出层被配置成提供对与测试输入相关联的视角(r,Φ,θ)的预测。本领域技术人员还可以使用其它适当的NN拓扑结构。可以如先前所述训练NN 122,以使得其能够接近实时地进行选择1400。基础训练数据集包括一组视频,其示出用户在进行锻炼时的不同姿态。然后,将2D投影算法应用于此类视频,以为每个特征帧产生对应2D骨架投影。因此,对于每个姿态投影,具有相应极坐标(r,Φ,θ)的向量是已知的,并且现在可以用作相应 2D投影的标签。然后用2D骨架投影作为输入来训练神经网络以预测任何2D姿态的(r,Φ,θ)向量,其中,相应标签为训练提供地面实况。
一旦神经网络被充分训练,它就可以接近实时地预测对应于由实时2D骨架检测器识别的任何2D骨架的(r,Φ,θ)向量。所预测的(r,Φ,θ)向量直接指向参考视频流的2D骨架投影,其(通过NN 122)被估计为具有到当前测试帧Fc中的姿态的最小数学距离。换句话说,神经网络实时选择最接近用户与摄像机之间的视场角的视场角处的2D投影,该摄像机获得测试帧序列。该实施例的优点还在于,它可以在进行锻炼时立即自动适应用户的任何位置变化。神经网络立即选择参考视频流的2D投影,其在改变的位置或视角(例如,当用户仅稍微改变朝向摄像机的定向时)处提供与当前姿态的最佳匹配。
图8绘示了用于训练数据集的任选数据扩充的方法,数据扩充导致在由NN 122预测视角((r,Φ,θ)向量)时的改善的准确性。对于基础训练数据集中的姿态,数据扩充包括通过操控身体骨架比例来生成附加姿态图像。在该实例中,假设视频中的人的原始3D骨架8是反映人的身体骨架比例SP1的基础训练数据集的一部分。现在,通过按比例放大和缩小特定身体部位,数据扩充功能可以为每一帧(其中示出这个人)从该原始3D骨架8中创建附加3D骨架。在该实例中,所生成的人工3D人骨架8'被示出为具有骨架比例SP2,与真人的原始SP1相比,其具有更短的手臂、更长的腿和更短的身体中部。进一步生成的人工3D人骨架8”被示出为具有骨架比例SP3,与真人的原始SP1相比,其具有更短的手臂、更短的腿和更长的身体中部。当将身体比例的此类修改应用于特定人的视频的所有帧时,用人工人生成附加训练视频数据。对于这些人工人中的每一个,再次计算虚拟圆顶上的2D骨架投影。通过将附加生成的2D骨架投影用作用于NN 122的训练的训练数据,改善了NN 120实现的视图预测的准确性。
回到图1,在一个实施例中,系统100支持显示功能。可视化器功能可以用于接近实时地呈现包括当前测试帧Fc的帧Fc'和第二人的对应二维骨架20的表示,并经由适当的显示器将呈现结果Fc'可视化1450给用户2。在典型设置中,从中生成参考帧序列的教练视频流将被呈现给用户,使得用户2可以在所呈现的结果中同时观看他/她自己的锻炼,从而能够将他 /她自己的运动与教练的运动进行比较。然而,没有医学知识的用户难以评估是否正确地进行了锻炼。
为了在这方面支持用户,在一个实施例中,系统100可以具有姿态检查模块130。姿态检查模块130确定1500当前姿态距对应参考姿态的(数学)距离,其中,该距离是指示第二人是否在正确地进行体育锻炼的量度。当前测试帧的2D骨架与参考帧序列的对应所选2D骨架投影之间的距离可以使用与计算以上最小距离以选择匹配的参考姿态图像相同的算法来计算。在未正确地进行体育锻炼的情况下(例如,当前姿态与参考姿态之间的距离超过预定阈值),系统向用户2指示关于如何修正当前姿态的姿态修正反馈10pf。在图1A中,姿态修正反馈由小箭头表示为合并到所呈现的输出Fc'中的图形元素。然而,也可以将其它模态用于姿态修正反馈,如下所述。
在一个实施例中,姿态数据文件包括将关节子集分组到对应身体部位的每一帧的注释。简要地参考图3,例如,关节组j7、j10和j12可以被注释为“右臂”。关节10可以附加地被注释为“右肘”,并且关节j12被注释为“右手”。关节j15、j16、j18和j20可以被分组为“右腿”。关节j18、j20可以被分组为“右足”,以作为“右腿”的子组。关节j16可以附加地被注释为“右膝”等。也就是说,在身体部位具有子部位(子组)的情况下,在身体部位的组之间可以存在分级关系,其中,此类子组可以仅包括单个关节。
使用此类注释,姿态检查模块130可以为当前测试帧指示超过预定临界距离的身体部位。例如,如果特定姿态的膝部或肘部显示出与对应参考姿态的显著偏差,则关于所指示的身体部位提供关于如何改变当前姿态的相应反馈,直到所述身体部位的当前距离降到临界距离以下。
图5B示出了两个所呈现的输出帧的两个屏幕截图520ou、520od,其中相应当前帧示出了用户3在进行由图5A中的教练在参考帧510ru、510rd中演示的锻炼的两个示例姿态。在第一输出帧520ou中,用户根据相应姿态“抬起”来抬高右臂。此外,用户3的2D骨架在输出帧520ou中经由白色黑圆点和白色连接线来可视化,白色黑圆点表示用户关节,白色连接线作为用户骨骼的简化表示作为覆盖图。输出帧可以向用户提供进一步的信息,如姿态名称520pn和反馈520fb,以指示锻炼是否被正确地进行。应当注意,在输出帧520ou、520od 中,用户3似乎将通过抬高左膝并降低右肘来进行锻炼。然而,该印象的产生是由于示出用户3的帧序列实际上是由智能手机的自拍摄像机捕捉的,从而导致了视频流中的镜像效果。实际上,用户3根据参考帧序列进行了右膝/肘的锻炼。本领域技术人员可以通过相应地调节镜像效果来调和视图。
在该实例中对这两个姿态提供的反馈520fb是“做得好!”。在这些实例中,用户已经根据所演示的锻炼在预定容差范围内进行了锻炼(即,计算出的与参考姿态的距离未超过用户的3个身体部位中的任一个的预定临界距离)。临界距离可以由用户定制,以考虑特定用户特性,例如,用户的年龄、活动能力限制的程度(例如,由于具有其它限制的一些先前手术) 等。在该实例中,反馈输出的模态是显示器上的书面文本消息,其假设显示器足够大以使反馈消息520fb可由用户3读取。例如,输出520ou可以被投影到电视屏幕等。
图5C绘示了具有修正反馈520pf1“改善右膝”的输出帧520oc的屏幕截图。在该实例中,用户的右膝定位得过低,使得用户的2D骨架的位置与相应2D骨架投影的对应注释关节之间的距离超过预定临界距离。根据该距离的符号,姿态检查模块可以导出偏差是否对应于过低或过高的位置,并生成对应修正反馈。
在图5C的实例中,用户3的右足与相应参考姿态相比当然也过低。此外,用户的右肘仍然过高。因此,系统也可以生成修正反馈,如“抬高右足”或“降低右肘”。然而,例如,“抬高右足”可能误导用户伸展右腿而不是抬高膝部。因此,姿态数据文件可以包括针对每个参考帧的进一步注释,其中对锻炼环境中的各个身体部位具有不同优先级。在图5D中给出了此类优先级注释的实例。例如,对于帧510rd的参考姿态,可以将最高优先级P10给予右膝,将第二高优先级P9给予右肘并且将较低优先级P8分配给右手和右足。教练左侧的对应身体部位不被认为与该锻炼的进行相关。因此,将优先级P0(即,无优先级)用作教练的这些身体部位的优先级注释。在图5C的实例中,系统已被定制为仅为具有最高优先级P10的身体部位提供修正反馈。在还为优先级P9身体部位提供修正反馈的情况下,系统还将创建关于右肘的修正反馈(例如,“降低你的右肘”)。代替将优先级值(例如,P0至P10)用于身体部位的优先级注释,还可以以分层结构组织身体部位,其中根节点指示具有最高优先级的身体部位,并且每个身体部位母节点具有比其子节点更高的优先级。
换句话说,为了向用户生成最适当的修正反馈,姿态检查器可以使用姿态数据文件中的或与姿态数据文件相关联的优先级注释来选择与针对当前进行的锻炼具有最高优先级的身体部位相关联的修正反馈。在该实例中,假设右膝的位置对于进行正确姿态是最至关重要的,并且因此,所选修正反馈520pf1与右膝相关。优先级注释反映了哪些身体部位对于特定锻炼是重要的以及哪些身体部位不那么重要。例如,对于深蹲锻练,优先级注释可以指示膝部的位置对于评价锻练进行的正确性是最重要的,而手臂的位置可以被注释为不重要。在该情况下,即使手臂未根据参考帧序列移动,也将给出正反馈。例如,在参考视频中,教练可以将手臂保持在直的水平位置,而用户可以将他/她的手臂折叠在头部后面或者可以简单地让手臂垂下。在所有情况下,如果手臂注释有锻炼的低优先级,则不会给出修正反馈。然而,如果手臂的直的水平位置被认为对于锻炼的正确表现是至关重要的,则它们可以用与膝部类似的优先级来注释,并且手臂运动的任何否定评价将同样导致给用户修正反馈。
图6A、6B绘示了一种场景,其中锻炼进行与参考帧序列610ru、610rd的偏差不会导致修正反馈,因为偏离的身体部位未被注释为与在进行锻炼时实现期望的治疗效果相关。在该实例中,参考帧序列610ru、610rd中的教练将他的左手以两个姿态放置在他的左胸上,而用户3左臂垂下地进行了两个姿态。然而,左手和左肘注释有该锻炼620pn的“无相关性”优先级注释。因此,在这两种情况下,正反馈620fb被提供给用户以指示不需要修正来改善由用户3进行的姿态。系统100可以使用不同的模态来将修正反馈通信给用户3。如上所述,可以将简单文本消息520pf1合并到相应输出帧520oc中。替代地,姿态检查器130可以将图形对象520pf2合并到所呈现的输出中。在该实例中,右膝被识别为要修正的最相关的身体部位,因为它需要被提升得更高。例如,箭头从相应关节处开始并指向所需修正的方向,其被用作此类图形反馈对象。在另一个实施例中,系统可以经由与系统100通信耦合的扬声器输出语音指令520pf3作为修正反馈。语音指令可以与文本消息相同,或者它可以不同于所述文本消息。应当注意,可以将使用多个模态的各种反馈模式进行组合。例如,可以显示图形对象520pf2,并且同时可以发出语音指令520pf3。用户还可以在选择最适合用户的修正反馈模态的组合方面定制系统100。例如,视觉受损的人可能仅对语音输出感兴趣,而听觉受损的人可能仅对视觉修正反馈感兴趣。
图9是示出可以与这里描述的技术一起使用的通用计算机装置900和通用移动计算机装置950的实例的图表。计算装置900旨在表示各种形式的数字计算机,如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、大型机和其它适当的计算机。理想地,装置900具有适于处理机器学习算法的GPU。通用计算机装置900可以对应于图1A的计算机系统100。计算装置950旨在表示各种形式的移动装置,如个人数字助理、蜂窝手机、智能手机和其它类似的计算装置。例如,计算装置950可以用作GUI前端,供用户捕捉测试输入图像并将它们提供给计算机装置900,并且转而从计算机装置接收所预测的PDCU值。这里示出的组件、它们的连接和关系以及它们的功能仅是示范性的,并且不意味着限制本文件中描述和/或要求保护的本发明的实施方案。
计算装置900包括处理器902、存储器904、存储装置906、连接到存储器904和高速扩展端口910的高速接口908,以及连接到低速总线914和存储装置906的低速接口912。组件902、904、906、908、910和912中的每一个均使用各种总线互连,并且可以安装在共用母板上或以其它方式适当地安装。处理器902可以处理用于在计算装置900内执行的指令,包括存储在存储器904中或存储装置906上的指令,以在外部输入/输出装置(如被耦合到高速接口908的显示器916)上显示GUI的图形信息。在其它实施方案中,可以适当地使用多个处理单元和/或多个总线以及多个存储器和存储器类型。而且,可以连接多个计算装置900,其中每个装置提供必要操作的部分(例如,作为服务器库、刀片服务器组或处理装置)。
存储器904存储计算装置900内的信息。在一个实施方案中,存储器904是(一个或多个)易失性存储器单元。在另一个实施方案中,存储器904是(一个或多个)非易失性存储器单元。存储器904还可以是另一种形式的计算机可读介质,如磁盘或光盘。
存储装置906能够为计算装置900提供大容量存储。在一个实施方案中,存储装置906 可以是计算机可读介质或含有计算机可读介质,如软盘装置、硬盘装置、光盘装置或磁带装置、闪存或其它类似的固态存储装置,或装置(包括存储区域网络或其它配置中的装置)阵列。计算机程序产品可以有形地体现在信息载体中。计算机程序产品还可以含有当被执行时执行一个或多个方法(如以上所描述的那些)的指令。信息载体是计算机或机器可读介质,如存储器904、存储装置906或处理器902上的存储器。
高速控制器908管理计算装置900的带宽密集型操作,而低速控制器912管理较低带宽密集型操作。此类功能分配仅是示范性的。在一个实施方案中,高速控制器908被耦合到存储器904、显示器916(例如,通过图形处理器或加速器),以及可接受各种扩展卡(未示出) 的高速扩展端口910。在该实施方案中,低速控制器912被耦合到存储装置906和低速扩展端口914。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口可以例如通过网络适配器被耦合到一个或多个输入/输出装置,如键盘、定点装置、扫描仪,或联网装置,如交换机或路由器。
计算装置900可以以多种不同的形式实施,如图所示。例如,它可以被实施为标准服务器920,或者在一组此类服务器中多次实施。它也可以被实施为机架服务器系统924的一部分。另外,它可以在如膝上型计算机922等个人计算机中实施。替代地,计算装置900的组件可以与移动装置(如装置950)中的其它组件(未示出)组合。此类装置中的每一个可以含有计算装置900、950中的一个或多个,并且整个系统可以由彼此通信的多个计算装置900、 950组成。
计算装置950包括处理器952、存储器964、输入/输出装置(如显示器954)、通信接口 966和收发器968以及其它组件。装置950还可以具备存储装置,如微驱动器或其它装置,以提供附加存储。组件950、952、964、954、966和968中的每一个均使用各种总线互连,并且组件中的若干个可以安装在共用母板上或以其它方式适当地安装。
处理器952可以执行计算装置950内的指令,包括存储在存储器964中的指令。处理器可以被实施为芯片的芯片组,其包括单独的和多个模拟和数字处理单元。处理器可以提供例如装置950的其它组件的协调,如用户界面的控制、由装置950运行的应用,以及由装置950 进行的无线通信之间的协调。
处理器952可以通过被耦合到显示器954的控制接口958和显示接口956与用户通信。显示器954可以是例如TFT LCD(薄膜晶体管液晶显示器)或OLED(有机发光二极管)显示器,或其它适当的显示器技术。显示接口956可以包含用于驱动显示器954的适当电路以向用户呈现图形和其它信息。控制接口958可以接收来自用户的命令并将它们转换以提交给处理器952。另外,可以提供与处理器952通信的外部接口962,以便实现装置950与其它装置的近区通信。外部接口962可以例如在一些实施方案中提供有线通信,或者在其它实施方案中提供无线通信,并且还可以使用多个接口。
存储器964存储计算装置950内的信息。存储器964可以被实施为(一个或多个)计算机可读介质、(一个或多个)易失性存储器单元,或(一个或多个)非易失性存储器单元中的一个或多个。扩展存储器984还可以被提供并通过扩展接口982连接到装置950,扩展接口982可以包括例如SIMM(单列直插存储器模块)卡接口。此类扩展存储器984可以为装置 950提供额外的存储空间,或者还可以为装置950存储应用或其它信息。具体地,扩展存储器984可以包括指令以执行或补充上述过程,并且还可以包括安全信息。因此,例如,扩展存储器984可以充当装置950的安全模块,并且可以用允许安全使用装置950的指令来编程。另外,可以经由SIMM卡连同附加信息一起提供安全应用,如以非可破解方式将识别信息放置在SIMM卡上。
存储器可以包括例如闪存和/或NVRAM存储器,如下所述。在一个实施方案中,计算机程序产品被有形地体现在信息载体中。计算机程序产品含有当被执行时执行一个或多个方法 (如以上所描述的那些)的指令。信息载体是计算机或机器可读介质,如存储器964、扩展存储器984或处理器952上的存储器,其可以例如通过收发器968或外部接口962来接收。
装置950可以通过通信接口966进行无线通信,通信接口966在必要时可以包括数字信号处理电路。通信接口966可以提供各种模式或协议(如GSM语音呼叫、SMS、EMS或MMS消息传递、CDMA、TDMA、PDC、WCDMA、CDMA2000或GPRS等)下的通信。此类通信可以例如通过射频收发器968发生。另外,可以发生短程通信,如使用蓝牙、WiFi或其它此类收发器(未示出)。另外,GPS(全球定位系统)接收器模块980可以向装置950提供附加的与导航和位置相关的无线数据,其可以由装置950上运行的应用适当地使用。
装置950还可以使用音频编解码器960可听地通信,音频编解码器960可以从用户接收口头信息并将其转换为可用数字信息。音频编解码器960可以类似地为用户生成可听声,如通过扬声器,例如在装置950的电话听筒中的扬声器。此类声音可以包括来自语音手机呼叫的声音,可以包括记录的声音(例如,语音消息、音乐文件等),并且还可以包括由在装置 950上操作的应用生成的声音。
计算装置950可以以多种不同的形式实施,如图所示。例如,它可以被实施为蜂窝手机 980。它也可以被实施为智能手机982、个人数字助理或其它类似移动装置的一部分。
这里描述的系统和技术的各种实施方案可以在数字电子电路、集成电路、专门设计的 ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现。这些各种实施方案可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实施方案,可编程系统包括至少一个可编程处理器,其可以是专用或通用的,被耦合以从存储系统、至少一个输入装置和至少一个输出装置接收数据和指令以及向它们发送数据和指令。
这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以用高级程序性和/或面向对象的编程语言和/或用汇编/机器语言来实施。如本文所用,术语“机器可读介质”和“计算机可读介质”是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、设备和/或装置(例如,磁盘、光盘、存储器、可编程逻辑器件(PLD)),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
为了提供与用户的交互,这里描述的系统和技术可以在计算机上实施,该计算机具有用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以及键盘和定点装置(例如,鼠标或跟踪球)(用户可以通过它们向计算机提供输入)。也可以使用其它类型的装置来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈(例如,视觉反馈、听觉反馈或触觉反馈);并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。
这里描述的系统和技术可以在计算装置中实施,该计算装置包括后端组件(例如,作为数据服务器),或包括中间件组件(例如,应用服务器),或包括前端组件(例如,具有图形用户界面或Web浏览器的客户端计算机,用户可以通过该图形用户界面或Web浏览器与这里描述的系统和技术的实施进行交互),或者此类后端、中间件或前端组件的任何组合。系统的组件可通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的实例包括局域网(“LAN”)、广域网(“WAN”)和因特网。
计算装置可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系是借助于在相应计算机上运行的并且彼此具有客户端- 服务器关系的计算机程序而产生的。
已经描述了多个实施例。然而,应当理解,在不脱离本发明的精神和范围的情况下,可以进行各种修改。
另外,附图中描绘的逻辑流程不需要所示的特定次序或顺序来实现所需结果。另外,可以提供其它步骤,或者可以从所描述的流程中排除步骤,并且可以将其它组件添加到所描述的系统或从所描述的系统中去除。因此,其它实施例处于以下权利要求书的范围内。
Claims (15)
1.一种用于将测试帧序列(201)与参考帧序列(202)进行匹配的计算机实施的方法(1000),所述参考帧序列(202)演示由第一人进行的体育锻炼,所述方法包含:
接收(1100)姿态数据文件(203),所述姿态数据文件基于表示所述第一人的三维骨架(10)的多个关节在相应帧(Fn)中的位置的三维关节坐标的列表,对于所述参考帧序列(202)的至少一个帧子集(Fr1至Frn),来表示虚拟球面(203s,203')上的多个二维骨架投影(10p1,10p2,10p1',10p2'),其中所述三维骨架的特定关节(10cj)位于所述球面(203s,203s')的几何中心处,其中所述子集(Fr1至Frn)的特定帧的每个二维骨架投影(10p1,10p2)对应于来自不同视场角的所述第一人的所述三维骨架(10)的二维参考姿态图像,其中所述二维参考姿态图像是所述体育锻炼的特征姿态;
接收(1200)所述测试帧序列(201),所述测试帧序列表示第二人(2)在模仿所述体育锻炼(t1-t2-t3)时的运动,所述测试帧序列由摄像机装置(200)在特定角度处捕捉;
用实时二维骨架检测器检测(1300)在所述测试帧序列的当前测试帧中的所述第二人(2)的二维骨架(20),其中所述第二人的所述二维骨架是所述第二人在相应测试帧中的姿态的二维表示;以及
选择(1400)具有到所述当前测试帧(Fc)中的所述第二人的所述二维骨架(20)的最小数学距离的所述第一人的特定二维骨架投影(10p1),以将所述当前测试帧(Fc)中的所述第二人(2)的当前姿态与所述姿态数据文件中的对应参考姿态表示进行匹配,所述特定二维骨架投影表示在对应于所述摄像机装置的所述特定角度的视场角处的所述对应参考姿态。
2.根据权利要求1所述的方法,其还包含:
接近实时地将当前测试帧(Fc')可视化(1450)给所述第二人,所述当前测试帧(Fc')包括所述第二人的对应二维骨架的表示。
3.根据权利要求1或2所述的方法,其还包含:
确定(1500)所述当前姿态到所述对应参考姿态的数学距离,其中所述距离是指示所述第二人是否在正确地进行所述体育锻炼的量度;以及
在未正确地进行所述体育锻炼的情况下,向所述第二人指示(1600)关于如何修正所述当前姿态的姿态修正反馈(10pf)。
4.根据权利要求3所述的方法,其中所述姿态数据文件包括将关节子集分组到对应身体部位的每一帧的注释,所述方法还包含:
为所述当前测试帧指示超过预定临界距离的身体部位;以及
提供关于所指示的身体部位如何改变所述当前姿态的反馈,直到所述身体部位的当前距离降到所述临界距离以下为止。
5.根据权利要求3或4所述的方法,其中将所述姿态修正反馈(10pf)作为视觉信息或声音信息输出到所述第二人(2)。
6.根据前述权利要求中任一项所述的方法,进一步包括在选择所述特定二维骨架投影之前:
将检测到的2D骨架转换成标准化二维骨架,其中所述2D骨架的每个关节连接除以所述二维骨架的高度,其中所述虚拟球面(203s)被标准化成半径等于一,其中每个二维骨架投影(10p1,10p2)是来自不同视场角(Φ,θ)的所述三维骨架的标准化二维表示。
7.根据前述权利要求中任一项所述的方法,其中选择(1400)所述第一人的特定二维骨架投影(10p1)还包含:
将所述当前测试帧(Fc)中的所述第二人的所述二维骨架提供给神经网络(122)以预测与所述当前测试帧相关联的视角(r,Φ,θ),所述神经网络(122)用示出进行锻炼时的用户姿态的多个训练帧作为输入来训练,其中每个训练帧用对应视角(r,Φ,θ)作为地面实况来注释;以及
选择位于对应于所预测的视角(r,Φ,θ)的球体坐标处的所述第一人的所述特定二维骨架投影(10p1)。
8.一种用于将测试帧序列与参考帧序列进行匹配的计算机程序产品,所述参考帧序列演示由第一人进行的体育锻炼,所述计算机程序产品在被加载到计算装置的存储器中并由所述计算装置的至少一个处理器执行时,使所述至少一个处理器执行根据前述权利要求中任一项所述的计算机实施的方法的步骤。
9.一种用于将测试帧序列(201)与参考帧序列(202)进行匹配的计算机系统(100),所述参考帧序列(202)演示由第一人进行的体育锻炼,所述系统包含:
接口,所述接口被配置成接收姿态数据文件(203),所述姿态数据文件基于表示所述第一人的三维骨架(10)的多个关节在相应帧(Fn)中的位置的三维关节坐标的列表,对于所述参考帧序列(202)的至少一个帧子集(Fr1至Frn),来表示虚拟球面(203s,203')上的多个二维骨架投影(10p1,10p2,10p1',10p2'),其中所述三维骨架的特定关节(10cj)位于所述球面(203s)的几何中心处,其中对于子集(Fr1至Frn)的特定帧,所述球面(203s)上的每个二维骨架投影(10p1,10p2)对应于来自不同视场角(Φ,θ)的所述第一人的所述三维骨架(10)的二维参考姿态图像,其中所述二维参考姿态图像是所述体育锻炼的特征姿态,并且所述接口还被配置成接收表示第二人(2)在模仿所述体育锻炼(t1-t2-t3)时的运动的所述测试帧序列(201),所述测试帧序列由摄像机装置(200)在特定角度处捕捉;
实时二维骨架检测器模块(110),所述实时二维骨架检测器模块被配置成检测在所述测试帧序列的当前测试帧中的所述第二人(2)的二维骨架(20),其中所述第二人的所述二维骨架是所述第二人在相应测试帧中的姿态的二维表示;以及
姿态匹配模块(120),所述姿态匹配模块被配置成选择(1400)具有到所述当前测试帧(Fc)中的所述第二人的所述二维骨架(20)的最小数学距离的所述第一人的特定二维骨架投影(10p1),以将所述当前测试帧(Fc)中的所述第二人(2)的当前姿态与所述姿态数据文件的对应参考姿态表示进行匹配,所述特定二维骨架投影表示在对应于所述摄像机装置的所述特定角度的视场角(Φ,θ)处的所述对应参考姿态。
10.根据权利要求9所述的系统,其还包含:
可视化器功能,所述可视化器功能被配置成接近实时地将所述当前测试帧(Fc)可视化给所述第二人(2),所述当前测试帧(Fc)包括所述第二人的对应二维骨架(20)的表示。
11.根据权利要求9或10所述的系统,其还包含姿态检查模块(130),所述姿态检查模块被配置成:
确定所述当前姿态到所述对应参考姿态的数学距离,其中所述数学距离是指示所述第二人是否在正确地进行所述体育锻炼的量度;以及
在未正确地进行所述体育锻炼的情况下,向所述第二人指示关于如何修正所述当前姿态的姿态修正反馈(10pf)。
12.根据权利要求11所述的系统,其中所述姿态数据文件包括将关节子集分组到对应身体部位的每一帧的注释,所述姿态检查模块(130)还被配置成:
为所述当前测试帧指示超过预定临界距离的身体部位;以及
提供关于所指示的身体部位如何改变所述当前姿态的反馈,直到所述身体部位的当前距离降到所述临界距离以下为止。
13.根据前述权利要求中任一项所述的系统,其中所述姿态匹配模块(120)还包含标准化器功能(121),所述标准化器功能被配置成将检测到的2D骨架转换成标准化二维骨架,其中所述2D骨架的每个关节连接除以所述二维骨架的高度。
14.根据权利要求13所述的系统,其中所述虚拟球面(203s)被标准化成半径等于一,其中每个二维骨架投影(10p1,10p2)是来自不同视场角(Φ,θ)的所述三维骨架的标准化二维表示。
15.根据前述权利要求中任一项所述的系统,其中所述姿态匹配模块(120)还包含:
神经网络(122),所述神经网络具有:输入层(IL),用于接收所述二维骨架的表示作为测试输入;以及输出层(OL),用于预测与接收到的测试输入相关联的视角(r,Φ,θ),所述神经网络(122)用示出进行锻炼时的用户姿态的多个训练帧作为输入来训练,其中每个训练帧用对应视角(r,Φ,θ)作为地面实况来注释,其中所预测的视角(r,Φ,θ)表示指向要选择的所述第一人的所述特定二维骨架投影(10p1)的指针。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP21160408.7A EP4053736B1 (en) | 2021-03-03 | 2021-03-03 | System and method for matching a test frame sequence with a reference frame sequence |
EP21160408.7 | 2021-03-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115035542A true CN115035542A (zh) | 2022-09-09 |
Family
ID=74856729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210192321.0A Pending CN115035542A (zh) | 2021-03-03 | 2022-03-01 | 用于将测试帧序列与参考帧序列进行匹配的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220284652A1 (zh) |
EP (1) | EP4053736B1 (zh) |
CN (1) | CN115035542A (zh) |
BR (1) | BR102022003236A8 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4053736B1 (en) * | 2021-03-03 | 2023-08-16 | Lindera GmbH | System and method for matching a test frame sequence with a reference frame sequence |
US20230053308A1 (en) * | 2021-08-13 | 2023-02-16 | At&T Intellectual Property I, L.P. | Simulation of likenesses and mannerisms in extended reality environments |
CN116688494B (zh) * | 2023-08-04 | 2023-10-20 | 荣耀终端有限公司 | 生成游戏预测帧的方法和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108597578A (zh) * | 2018-04-27 | 2018-09-28 | 广东省智能制造研究所 | 一种基于二维骨架序列的人体运动评估方法 |
CN110796077A (zh) * | 2019-10-29 | 2020-02-14 | 湖北民族大学 | 姿态动作实时检测校正方法 |
CN110916707A (zh) * | 2019-12-18 | 2020-03-27 | 上海皓桦科技股份有限公司 | 二维骨骼图像获取方法、系统及装置 |
US20200193671A1 (en) * | 2017-09-11 | 2020-06-18 | Track160, Ltd. | Techniques for rendering three-dimensional animated graphics from video |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3656302B1 (en) | 2018-11-26 | 2020-09-16 | Lindera GmbH | System and method for human gait analysis |
US10916046B2 (en) * | 2019-02-28 | 2021-02-09 | Disney Enterprises, Inc. | Joint estimation from images |
US11301645B2 (en) * | 2020-03-03 | 2022-04-12 | Aziza Foster | Language translation assembly |
EP4053736B1 (en) * | 2021-03-03 | 2023-08-16 | Lindera GmbH | System and method for matching a test frame sequence with a reference frame sequence |
-
2021
- 2021-03-03 EP EP21160408.7A patent/EP4053736B1/en active Active
-
2022
- 2022-02-21 BR BR102022003236A patent/BR102022003236A8/pt unknown
- 2022-03-01 CN CN202210192321.0A patent/CN115035542A/zh active Pending
- 2022-03-01 US US17/653,057 patent/US20220284652A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200193671A1 (en) * | 2017-09-11 | 2020-06-18 | Track160, Ltd. | Techniques for rendering three-dimensional animated graphics from video |
CN108597578A (zh) * | 2018-04-27 | 2018-09-28 | 广东省智能制造研究所 | 一种基于二维骨架序列的人体运动评估方法 |
CN110796077A (zh) * | 2019-10-29 | 2020-02-14 | 湖北民族大学 | 姿态动作实时检测校正方法 |
CN110916707A (zh) * | 2019-12-18 | 2020-03-27 | 上海皓桦科技股份有限公司 | 二维骨骼图像获取方法、系统及装置 |
Non-Patent Citations (1)
Title |
---|
LU XIA等: "View Invariant Human Action Recognition Using Histograms of 3D Joints", 《IEEE》, 16 June 2012 (2012-06-16), pages 20 - 27 * |
Also Published As
Publication number | Publication date |
---|---|
EP4053736B1 (en) | 2023-08-16 |
EP4053736A1 (en) | 2022-09-07 |
BR102022003236A2 (pt) | 2022-09-13 |
US20220284652A1 (en) | 2022-09-08 |
EP4053736C0 (en) | 2023-08-16 |
BR102022003236A8 (pt) | 2024-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4053736B1 (en) | System and method for matching a test frame sequence with a reference frame sequence | |
CN108875524B (zh) | 视线估计方法、装置、系统和存储介质 | |
Anand Thoutam et al. | Yoga pose estimation and feedback generation using deep learning | |
JP6348574B2 (ja) | 総体的カメラ移動およびパノラマカメラ移動を使用した単眼視覚slam | |
CN104169965B (zh) | 用于多拍摄装置系统中图像变形参数的运行时调整的系统、方法和计算机程序产品 | |
Anilkumar et al. | Pose estimated yoga monitoring system | |
CN109344714A (zh) | 一种基于关键点匹配的视线估计方法 | |
JP2012083955A (ja) | 動作モデル学習装置、3次元姿勢推定装置、動作モデル学習方法、3次元姿勢推定方法およびプログラム | |
US20210216759A1 (en) | Recognition method, computer-readable recording medium recording recognition program, and learning method | |
US20200406098A1 (en) | Techniques for golf swing measurement and optimization | |
CN110555426A (zh) | 视线检测方法、装置、设备及存储介质 | |
Gouidis et al. | Accurate hand keypoint localization on mobile devices | |
CN113033526A (zh) | 基于计算机实现的方法、电子设备和计算机程序产品 | |
AU2020436768B2 (en) | Joint rotation inferences based on inverse kinematics | |
Singhal et al. | Body posture correction and hand gesture detection using federated learning and mediapipe | |
Zhou | Role of human body posture recognition method based on wireless network Kinect in line dance aerobics and gymnastics training | |
US20240112366A1 (en) | Two-dimensional pose estimation based on bipartite matching of joint type heatmaps and joint person heatmaps | |
US11911147B1 (en) | Body sway measurement system | |
Su et al. | Precise gaze estimation for mobile gaze trackers based on hybrid two-view geometry | |
Sun et al. | Spatio-temporally optimized multi-sensor motion fusion | |
Li et al. | Fitness coach: Design and implementation of a smart mirror based on automatic image recognition and action model comparison | |
JP7124746B2 (ja) | 物体の部分位置推定プログラム、物体の部分位置推定用ニューラルネットワーク構造、物体の部分位置推定方法、および物体の部分位置推定装置 | |
WO2023188216A1 (ja) | 情報処理プログラム、情報処理方法、および情報処理装置 | |
US20230419513A1 (en) | Object detection and tracking in extended reality devices | |
Thoutam et al. | Research Article Yoga Pose Estimation and Feedback Generation Using Deep Learning |
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 |