CN109074641B - 骨骼估计装置、骨骼估计方法以及骨骼估计程序 - Google Patents

骨骼估计装置、骨骼估计方法以及骨骼估计程序 Download PDF

Info

Publication number
CN109074641B
CN109074641B CN201680084967.XA CN201680084967A CN109074641B CN 109074641 B CN109074641 B CN 109074641B CN 201680084967 A CN201680084967 A CN 201680084967A CN 109074641 B CN109074641 B CN 109074641B
Authority
CN
China
Prior art keywords
region
unit
data
skill determination
bone
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.)
Active
Application number
CN201680084967.XA
Other languages
English (en)
Other versions
CN109074641A (zh
Inventor
藤本博昭
桝井昇一
佐佐木和雄
阿部大辅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of CN109074641A publication Critical patent/CN109074641A/zh
Application granted granted Critical
Publication of CN109074641B publication Critical patent/CN109074641B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/107Static hand or arm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Geometry (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

骨骼估计装置(100)大致确定对象者的头、双臂、躯干、双腿的区域,并在识别出双臂以及双腿的骨骼的位置后,将双臂以及双腿的骨骼的位置的识别结果设为约束条件,识别躯干的骨骼。例如,骨骼估计装置(100)通过在将双臂以及双腿的骨骼的坐标、和关节间的长度固定的状态下使角度参数变化来计算多个躯干的骨骼的位置的候补。骨骼估计装置(100)将躯干的骨骼的位置的候补中与躯干估算坐标接近的候补估计为躯干的骨骼的位置。

Description

骨骼估计装置、骨骼估计方法以及骨骼估计程序
技术领域
本发明涉及骨骼估计装置等。
背景技术
近年来,已经做出通过充分利用ICT(Information and CommunicationTechnology:信息与通信技术)来提高体育运动的技能、实现业务的效率化的尝试。例如,作为提高体育运动的技能的技术,有对指导者的身体的运动和利用者的身体的运动进行比较解析,并对指导者和利用者的身体的运动的不同点进行显示的技术。
在对人的身体的运动进行解析的情况下,使用从Kinect(注册商标)等3D(dimension)传感器获取距离图像信息,识别人的头、手、躯干、腿等各部位的位置的以往技术。以下,作为识别人的各部位的位置的以往技术的一个例子,对身体部位识别手法和模型拟合手法进行说明。
对身体部位识别手法进行说明。身体部位识别手法将距离图像作为输入,使用利用随机森林方式学习得到的识别器来进行每个像素的标签分类。而且,身体部位识别手法使用与关节位置相当的标签的重心直接估计关节坐标。
图58是用于说明身体部位识别手法的图。如图58所示,身体部位识别手法通过从3D传感器获取距离图像信息,并除去距离图像信息的背景,从而生成图像11(步骤S10)。身体部位识别手法使用利用随机森林方式学习得到的识别器来进行每个像素的标签分类(步骤S11)。身体部位识别手法将各标签的重心估计为关节位置(步骤S12),将连结各标签的重心而成的区域识别为骨骼(步骤S13)。
对模型拟合手法进行说明。模型拟合手法用圆柱模型(或圆锥模型)等定义连结各关节的区域,使模型的位置、大小变化,并计算出最适合观测点的圆柱模型的形状。模型拟合手法在与各部位相当的区域中反复执行计算圆柱模型的形状的处理,并将组合各圆柱模型而成的区域识别为骨骼。
图59以及图60是用于说明模型拟合手法的图。如图59所示,模型拟合手法使圆柱20的半径r、高度h、两端的中心位置20a(x1,y1,z1)、20b(x2,y2,z2)这8个变量在某个一定范围中变化。模型拟合手法将圆柱20内所包含的观测点的数量设为评价值,将成为最高的评价值的圆柱作为骨骼。图59的圆相当于观测点。如图60所示,模型拟合手法通过对人的各部位反复执行图59中所说明的处理来求出与各部位相当的多个圆柱,将组合各圆柱而成的区域识别为骨骼。
非专利文献1:J.Shotton,A.Fitzgibbon,M.Cook,T.Sharp,M.Finocchio,R.Moore,A.Kipman,A.Blake“Real-time human pose recognition in parts from asingle depth image”In Proc.CVPR,2011.
非专利文献2:堀内英一,“用于单扫描点群数据的半形状几何模型“,日本机器人学会期刊Vol.32No.8,pp.721~730,2014
然而,在上述的以往技术中,存在不能够高速且准确地识别利用者的骨骼这个问题。
由于身体部位识别手法根据标签的重心直接求出关节坐标,所以如果产生3D传感器的噪声、部位的隐藏所造成的标签分割、较难学习的姿势下的标签位置错误,则有时将不可能成为人体骨骼那样的位置估计为关节的位置。另外,由于身体部位识别手法针对每个像素按照概率进行标记,所以在部位的边界附近的标签变得模糊,在以时间序列帧观察的情况下,关节位置不稳定。
图61是用于说明以往技术的问题的图。在图61中,圆表示关节的位置,将连结关节的直线定义为链节(link)。另外,将集中各关节和各链节的区域定义为骨骼。在图61中,示出了利用者进行高尔夫挥杆的时刻的骨骼,躯干25的关节的一部分局部被左臂隐藏。此时,产生标签的位置错误,不能够适当地识别骨骼。
另一方面,由于模型拟合手法评价多个参数的组合,所以在进行如人体那样由多个部位构成的对象的拟合的情况下,计算时间变大。另外,在如躯干那样观测点较多的部位中,评价值的组合变多,与其它部位相比较,计算时间变大,不能够高速地识别利用者的骨骼。
发明内容
在一个方面,本发明的目的在于提供能够高速且准确地识别利用者的骨骼的骨骼估计装置、骨骼估计方法以及骨骼估计程序。
在第一方案中,骨骼估计装置具有确定部、第一估计部和第二估计部。确定部从距离传感器获取存在于对象物上的多个观测点的三维信息,并基于三维信息从对象物的区域确定第一区域、和与第一区域相邻的多个第二区域,并确定第一区域、第二区域所包含的多个特征点的位置。第一估计部通过基于第二区域所包含的各特征点来设定链节,从而估计第二区域所包含的骨骼的位置。第二估计部在将确定第一区域所包含的部位的位置时所使用的多个参数中第二区域所包含的骨骼的端点、和从骨骼的端点到第一区域所包含的部位的位置为止的长度固定的状态下,进行如下处理。第二估计部确定第一区域所包含的部位的位置,并基于确定出的部位的位置来估计第一区域所包含的骨骼的位置。
根据本发明的一个实施方式,能够高速且准确地识别利用者的骨骼。
附图说明
图1是表示本实施例1所涉及的骨骼估计装置的结构的功能框图。
图2是表示本实施例1所涉及的三维数据表的数据结构的一个例子的图。
图3是表示本实施例1所涉及的模型数据的数据结构的一个例子的图。
图4是表示实施例1所涉及的骨骼数据表的数据结构的一个例子的图。
图5是表示本实施例1所涉及的确定部确定的各区域的一个例子的图。
图6是表示二值化图像的一个例子的图。
图7是表示细化图像的一个例子的图。
图8是表示除去图案的一个例子的图。
图9是表示特征点的一个例子的图。
图10是用于说明提取交点的处理的一个例子的图。
图11是用于说明模型对照处理的一个例子的图。
图12是用于说明圆柱主轴的决定处理的一个例子的图。
图13是用于说明圆柱半径以及圆柱中心的决定处理的一个例子的图。
图14是用于说明链节结合处理的一个例子的图。
图15是用于说明本实施例1所涉及的第二估计部的处理的一个例子的图。
图16是用于说明估计躯干估计坐标的处理的一个例子的图(1)。
图17是用于说明估计躯干估计坐标的处理的一个例子的图(2)。
图18是表示本实施例1所涉及的骨骼估计装置的处理顺序的流程图。
图19是表示躯干的骨骼识别处理的处理顺序的流程图。
图20是表示骨骼估计装置的硬件构成的一个例子的图。
图21是本实施例2所涉及的技能判定装置的结构的功能框图。
图22是表示帧数据的数据结构的一个例子的图。
图23是表示示范数据的数据结构的一个例子的图。
图24是表示技能判定定义数据的数据结构的一个例子的图。
图25是用于对技能判定定义数据进行补充说明的图。
图26是表示显示于显示装置上的显示画面的一个例子的图。
图27是表示“PositionChecker”的参数设定画面的一个例子的图。
图28是表示AngleChecker(1)”的参数设定画面的一个例子的图。
图29是表示“AngleChecker(2)”的参数设定画面的一个例子的图。
图30是用于说明帧匹配的一个例子的图。
图31是用于说明权重的图。
图32是用于说明技能判定部的处理的图(1)。
图33是用于说明技能判定部的处理的图(2)。
图34是表示输出部生成的显示画面的一个例子的图(1)。
图35是表示输出部生成的显示画面的一个例子的图(2)。
图36是表示技能判定装置的处理顺序的流程图。
图37是表示技能判定处理的处理顺序的流程图。
图38是表示设定处理的处理顺序的流程图。
图39是表示执行技能判定程序的计算机的一个例子的图。
图40是表示本实施例3所涉及的***的结构的图。
图41是表示本实施例3所涉及的服务器的结构的功能框图。
图42是表示技能判定结果表的数据结构的一个例子的图。
图43是表示技能判定结果的一个例子的图。
图44是表示本实施例3所涉及的个人信息表的数据结构的一个例子的图。
图45是表示横幅信息表的数据结构的一个例子的图。
图46是表示商品表的数据结构的一个例子的图。
图47是表示本实施例3所涉及的服务器的处理顺序的流程图。
图48是表示本实施例4所涉及的***的结构的图。
图49是表示本实施例4所涉及的服务器的结构的功能框图。
图50是表示本实施例4所涉及的个人信息表的数据结构的一个例子的图。
图51是表示组管理表的数据结构的一个例子的图。
图52是表示本实施例4所涉及的服务器的处理顺序的流程图。
图53是表示本实施例5所涉及的***的结构的图。
图54是表示本实施例5所涉及的服务器的结构的功能框图。
图55是表示专业人员数据表的数据结构的一个例子的图。
图56是表示本实施例5所涉及的服务器的处理顺序的流程图。
图57是表示执行控制程序的计算机的一个例子的图。
图58是用于说明身体部位识别手法的图。
图59是用于说明模型拟合手法的图(1)。
图60是用于说明模型拟合手法的图(2)。
图61是用于说明以往技术的问题的图。
具体实施方式
以下,基于附图,详细地对本发明所涉及的骨骼估计装置、骨骼估计方法以及骨骼估计程序的实施例进行说明。应予说明,本发明并不被本实施例所限定。
实施例1
图1是表示本实施例1所涉及的骨骼估计装置的结构的功能框图。如图1所示,该骨骼估计装置100具有3D传感器110、通信部120、输入部130、显示部140、存储部150和控制部160。
3D传感器110是对从3D传感器110的设置位置到3D传感器110的拍摄范围所包含的对象者上的各观测点为止的距离信息进行计测的传感器。例如,3D传感器110每隔规定时间或按照每帧生成表示各观测点的三维坐标的三维数据,并将生成的三维数据输出至控制部160。
图2是表示本实施例1所涉及的三维数据表的数据结构的一个例子的图。如图2所示,该三维数据表151将观测点识别信息和三维坐标建立对应。观测点识别信息是唯一识别观测点的信息。三维坐标表示相互正交的x轴、y轴、z轴上的观测点的坐标。例如,x轴设为相对于3D传感器110水平方向的轴。y轴设为相对于3D传感器110垂直方向的轴。z轴设为3D传感器110的纵深方向的轴。
通信部120是经由网络与未图示的外部装置等进行通信的处理部。通信部120与通信装置等对应。
输入部130是用于将各种信息输入至骨骼估计装置100的输入装置。输入部130例如与键盘、鼠标、触摸面板等对应。
显示部140是对从控制部160输出的各种信息进行显示的显示装置。显示部140例如与液晶显示器、触摸面板等对应。
存储部150具有三维数据表151、模型数据152、骨骼数据表153。存储部150例如与RAM(Random Access Memory:随机存取存储器)、ROM(Read Only Memory:只读存储器)、闪存(Flash Memory)等半导体存储器元件,或者硬盘、光盘等存储装置对应。
三维数据表151是对从3D传感器110获取的多个三维数据进行储存的表。各三维数据的数据结构与图2所说明的数据结构对应。
模型数据152是定义模型的种类、和模型的各部位的三维坐标的信息。例如,模型的种类与对象者的各种姿势对应。图3是表示本实施例1所涉及的模型数据的数据结构的一个例子的图。如图3所示,该模型数据152将模型编号、部位以及三维坐标建立对应。模型编号是识别模型的种类的编号。部位表示对象者的部位。三维坐标表示模型上的部位的三维坐标。
骨骼数据表153是储存每隔规定时间的对象者的骨骼的信息的表。图4是表示本实施例1所涉及的骨骼数据表的数据结构的一个例子的图。如图4所示,该骨骼数据表153将识别编号、部位以及三维坐标建立对应。识别编号是识别记录的信息。部位表示对象者的部位。三维坐标表示对象者的部位的三维坐标。
控制部160具有获取部161、确定部162、第一估计部163、第二估计部164和输出部165。控制部160例如与ASIC(Application Specific Integrated Circuit:专用集成电路)、FPGA(Field Programmable Gate Array:现场可编程门阵列)等集成装置对应。另外,控制部160例如与CPU、MPU(Micro Processing Unit:微处理器)等电子电路对应。
获取部161是从3D传感器110获取三维数据的处理部。获取部161在每次获取三维数据时便储存至三维数据表151。在上述的说明中,对3D传感器110生成三维数据的情况进行了说明,但获取部161也可以通过将从3D传感器110获取的距离信息按照规定的变换规则变换为三维数据来生成三维数据。
确定部162是从三维数据表151获取三维数据,并基于三维数据从对象者的区域确定第一区域、和与第一区域相邻的多个第二区域的处理部。图5是表示本实施例1所涉及的确定部确定的各区域的一个例子的图。如图5所示,确定部162从对象者的区域30确定第一区域31、第二区域32、33、34、35、36。第一区域31与对象者的躯干对应。第二区域32与对象者的头对应。第二区域33与对象者的右臂对应。第二区域34与对象者的左臂对应。第二区域35与对象者的右腿对应。第二区域36与对象者的左腿对应。
另外,确定部162确定多个第二区域所包含的部位的位置,并将确定出的结果输出至第一估计部163,确定多个第一区域所包含的部位的位置,并将确定出的结果输出至第二估计部164。
确定部162在确定出第一区域31、第二区域32~36,并确定出第一区域31、第二区域32~36所包含的部位的位置的情况下,执行后述的二值化处理、细化处理、特征点提取处理、模型对照处理。此外,所述的处理只是一个例子,确定部162也可以使用经过机器学习的识别器来确定第一区域31、第二区域32~36,并确定第一区域31、第二区域32~36所包含的部位的位置。
对确定部162执行的二值化处理的一个例子进行说明。确定部162获取三维数据所包含的各观测点中存在于预先设定的背景差分区域中的观测点的信息。确定部162着眼于背景差分区域所包含的各观测点的三维坐标中z轴的值。确定部162在z轴的值为阈值Z th以上的情况下,将该二维坐标的值设定为“1”,在z轴的值小于阈值Z th的情况下,将该二维坐标的值设定为“0”。
例如,将背景差分区域所包含的某个观测点的三维坐标设为(x1,y2,z1)、将与该观测点对应的二值化图像上的像素设为(u1,v2)。确定部162在“z1”为阈值Z th以上的情况下,将二值化图像上的像素(u1,v2)的值设定为“1”。而确定部162在“z1”小于阈值Z th的情况下,将二值化图像上的像素(u1,v2)的值设定为“0”。确定部162通过对背景差分区域所包含的各观测点反复执行上述处理,从而执行二值化处理,生成二值化图像。
图6是表示二值化图像的一个例子的图。在二值化图像40a中,白色的区域是通过上述二值化处理而设定“0”的区域,与对象者的区域对应。黑色的区域是通过上述二值化处理而设定“1”的区域,与对象者以外的区域对应。此处为了便于说明,使用值“0”、“1”来进行说明,但例如,也可以是值“0”为像素值的“0”、值“1”为像素值的“255”。
对确定部162执行的细化处理的一个例子进行说明。确定部162通过对二值化图像执行细化处理来生成细化图像。图7是表示细化图像的一个例子的图。图7所示的细化图像40b是通过对图6所示的二值化图像40a执行细化处理而获得的图像。
确定部162判定二值化图像40a上的部分图案是否符合除去图案,在部分图案与除去图案一致的情况下,将与部分图案对应的区域的值变更为“1”。确定部162通过使二值化图像40a上的部分图案的位置错开并反复执行上述处理,从而执行细化处理。
图8是表示除去图案的一个例子的图。在图8所示的例子中,除去图案成为除去图案5a、5b、5c。例如,将除去图案的尺寸设为3×3像素、将在二值化图像上所设定的部分图案的尺寸设为3×3像素,但并不限于此。在除去图案中,“1”表示部分图案相应的像素的值为“1”。“0”表示部分图案相应的像素的值为“0”。“×”表示部分图案相应的像素的值可以为“0”也可以为“1”。
对确定部162执行的特征点提取处理的一个例子进行说明。确定部162通过对细化图像执行特征点提取处理而从细化图像提取特征点。图9是表示特征点的一个例子的图。在图9所示的例子中,示出从细化图像40b提取特征点6a~6k的例子。例如,特征点包括与端点对应的特征点6a、6d、6e、6f、6g、与交点对应的特征点6b、6c以及与角对应的特征点6h、6i、6j、6k。
例如,确定部162利用三种方法提取特征点。对第一个方法进行说明。确定部162在细化图像40b中值为“0”的区域中提取端点作为特征点。在图9所示的例子中,由于点6a、6d、6e、6f、6g为端点,所以确定部162将点6a、6d、6e、6f、6g作为特征点。
对第二个方法进行说明。确定部162在细化图像40b中值为“0”的区域中提取交点作为特征点。在图9所示的例子中,由于点6b、6c为交点,所以确定部162将点6b、6c作为特征点。
例如,确定部162在提取交点的特征点的情况下,提取附近像素值包含被值为“1”的像素划分出的三个以上的空白区域的点,作为特征点。空白区域是1个像素或者多个连续的值为“0”的像素的集合。图10是用于说明提取交点的处理的一个例子的图。在图10中,确定部162提取点6A作为特征点,但不提取点6B、6C作为特征点。点6A成为特征点的理由是因为在点6A的左上、右上、下有值为“0”的点,每个点被“1”的点划分,所以空白区域为三个,作为点6B、6C没有成为交点的理由,是因为点6B的左上、上、右上的3点为1,但中间没有成为“1”的点,是连续的,所以挨近的空白区域为一个,点6C有4点“0”的点,但左上、左和右上、右分别连续,所以挨近的空白区域为两个,不存在三个以上。
对第三个方法进行说明。确定部162在细化图像40b中值为“0”的区域中提取角的点作为特征点。例如,确定部162通过对细化图像40b应用角检测滤波器来确定与角对应的点。在图9所示的例子中,点6h、6i、6j、6k与角的点对应。
通过确定部162执行上述处理,从而从细化图像40b提取特征点6a~6k。
对确定部162执行的模型对照处理进行说明。确定部162是基于特征点的位置和模型数据152来确定各特征点的部位的处理部。例如,确定部162按照模型数据152的每个模型编号,归一化为特征点的大小,进行特征点的坐标与部位的坐标的对应,计算建立对应的特征点的坐标与部位的坐标的差的合计值。归一化如以下那样实施。首先,求出模型数据的重心与各部位最远的距离L1、特征点的重心与各特征点最远的距离L2,并变更模型数据的大小,以使L1=L2。另外,重心是如果为模型数据则部位的坐标的平均坐标、如果为特征点则特征点的坐标的平均坐标。确定部162将距离最近的特征点和部位建立对应。确定部162确定建立对应的特征点的坐标与部位的坐标的差的合计值为最小的模型编号。确定部162将特征点的部位确定为确定出的模型编号中建立对应的部位。
图11是用于说明模型对照处理的一个例子的图。如图11所示,确定部162从细化图像40b提取特征点6a~6g。为了便于说明,特征点6h~6k的说明省略。另外,假设模型数据152包含模型编号m1~m3。模型编号m1的部位7a、7b、7c、7d、7e、7f、7g分别与头、颈、骨盆、右手腕、左手腕、右脚踝、左脚踝对应。模型编号m2的部位8a、8b、8c、8d、8e、8f、8g分别与头、颈、骨盆、右手腕、左手腕、右脚踝、左脚踝对应。模型编号m1的部位9a、9b、9c、9d、9e、9f、9g分别与头、颈、骨盆、右手腕、左手腕、右脚踝、左脚踝对应。
确定部162以特征点的坐标与部位的坐标的距离最小的方式分别将特征点6a~6g和模型m1的部位7a~7g建立对应,并计算建立对应的特征点的坐标与部位的坐标的差的合计值M1。确定部162以特征点的坐标与部位的坐标的距离最小的方式分别将特征点6a~6g和模型m2的部位8a~8g建立对应,并计算建立对应的特征点的坐标与部位的坐标的差的合计值M2。确定部162以特征点的坐标与部位的坐标的距离最小的方式分别将特征点6a~6g和模型m3的部位9a~9g建立对应,并计算建立对应的特征点的坐标与部位的坐标的差的合计值M3。
确定部162在合计值M1~M3中合计值M1为最小的情况下,确定模型m1,并根据确定出的模型m1的部位7a~7g与特征点6a~6g的对应关系来确定特征点6a~6g的部位。在图11所示的例子中,确定部162将特征点6a~6g分别确定为头、颈、骨盆、右手腕、左手腕、左脚踝、右脚踝。在图11中省略图示,但确定部162通过对特征点6h~6k也同样地进行处理,从而将特征点6h~6k的部位确定为右肩、左肩、右股关节、左股关节。
在上述说明中,确定部162确定与头、颈、左手腕、右手腕、骨盆、左脚踝、右脚踝、右肩、左肩、右股关节、左股关节对应的特征点,但并不限于此。确定部162还可以确定与其它部位对应的特征点。其它部位例如与脊柱、右肘关节、左肘关节、右膝关节、左膝关节等对应。并且,确定部162也可以确定不能够从细化图像确定出特征点的部位的位置。例如,模型数据152预先定义脊柱的位置,进行归一化后在确定出的模型中,根据被确定为特征点的颈、骨盆的位置来计算脊柱的位置。
确定部162通过执行上述的二值化处理、细化处理、特征点提取处理、模型对照处理,从而对第一估计部163输出将第二区域32~36所包含的特征点、与特征点对应的部位以及特征点的三维坐标建立对应的信息。另外,确定部162通过执行上述的二值化处理、细化处理、特征点提取处理、模型对照处理,从而对第二估计部164输出与第一区域31所包含的躯干部分对应的部位的位置信息。
第一估计部163是通过基于第二区域32~36所包含的各特征点以链节进行设定从而估计第二区域32~36所包含的骨骼的位置的处理部。例如,第一估计部163通过执行圆柱主轴的决定处理、圆柱半径以及圆柱中心的决定处理、链节结合处理来估计骨骼的位置。
对第一估计处理部163执行的圆柱主轴的决定处理进行说明。此处作为一个例子,对估计第二区域34的骨骼的位置的情况进行说明。另外,假设在第二区域34中包括与左肩对应的特征点6i、与左肘关节对应的特征点6l、与左手腕对应的特征点6e。
图12是用于说明圆柱主轴的决定处理的一个例子的图。在图12中,假设特征点6i表示与右肩对应的特征点,特征点6l表示与右肘关节对应的特征点。第一估计部163在特征点6i、6l的附近设定圆柱50。例如,圆柱50的高度与从特征点6l到特征点6i的高度对应。另外,第一估计部163从三维数据表151获取存在于从圆柱50起规定距离内的观测点的三维坐标的信息。
第一估计部163使用主成分分析来计算圆柱50的主轴的倾斜度。例如,第一估计部163基于式(1),并根据存在于特征点间的观测点的三维坐标的向量x 1、x 2、…、x n来计算协方差矩阵σxx。在式(1)中,N与观测点的数据数对应。<x>为x n的平均,通过式(2)来定义。
[式1]
Figure BDA0001841625440000121
[式2]
Figure BDA0001841625440000122
第一估计部163计算协方差矩阵σxx,并计算协方差矩阵σxx的固有向量e 1、e 2、e3。第一估计部163将固有向量e 1、e 2、e 3中属于最大固有值的固有向量的方向确定为圆柱50的方向。该圆柱50的方向与圆柱50的主轴的倾斜度对应。第一估计部163通过也对第二区域所包含的其它特征点的组执行上述处理来计算圆柱的主轴的倾斜度。
对第一估计部163执行的圆柱半径以及圆柱中心的决定处理进行说明。图13是用于说明圆柱半径以及圆柱中心的决定处理的一个例子的图。在图13中,纵轴是与第二主成分对应的轴,横轴是与第三主成分对应的轴。第二主成分与协方差矩阵σxx的固有向量e 1、e2、e 3中属于第二大的固有值的固有向量对应。第三主成分与协方差矩阵σxx的固有向量e 1、e 2、e 3中属于第三大的固有值的固有向量对应。
第一估计部163通过将存在于从圆柱50起规定距离内的观测点投影至第二、三主成分的平面,并使用最小平方法等,从而以圆柱50的圆(椭圆)50a与投影的各观测点的误差为最小的方式确定圆柱半径50b以及圆柱中心50c。第一估计部163通过也对第二区域所包含的其它特征点执行上述处理来确定圆柱半径以及圆柱中心。
对第一估计部163执行的链节结合处理进行说明。例如,链节与通过上述的圆柱主轴的决定处理、圆柱半径以及圆柱中心的决定处理所计算出的圆柱的轴对应。图14是用于说明链节结合处理的一个例子的图。在图14所示的例子中,将某个圆柱的链节设为链节55a,将其它圆柱的链节设为链节55b。将链节55a的上侧端点设为端点a1、将链节55a的下侧端点设为端点a2。将链节55b的上侧端点设为端点b1、将链节55b的下侧端点设为端点b2。
第一估计部163设定多个结合点的候补,并调整链节55a、55b的倾斜度,以便链节的延长线通过各结合点的候补。第一估计部163从多个结合点中确定将链节55a的倾斜度的变化和链节55b的倾斜度的变化合计所得的值为最小的结合点的候补。
例如,在图14所示的例子中,第一估计部163设定多个结合点的候补c1~c3。第一估计部163调整链节55a、55b的倾斜度,以便链节的延长线通过各结合点的候补。例如,在将结合点设为结合点c1的情况下,将使链节55a的倾斜度的变化和链节55b的倾斜度的变化合计所得的值设为c1。在将结合点设为结合点c2的情况,将使链节55a的倾斜度的变化和链节55b的倾斜度的变化合计所得的值设为c2。例如,在将结合点设为结合点c3的情况下,将使链节55a的倾斜度的变化和链节55b的倾斜度的变化合计所得的值设为c3。
第一估计部163在值c1~c3中值c2为最小的情况下,调整链节55a以及55b的倾斜度,以便结合点成为c2。第一估计部163通过也对其它第二区域所包含的其它链节执行上述处理,从而确定结合点,并调整各链节的倾斜度。另外,第一估计部163调整链节的长度,以便链节与结合点连接。第一估计部163将通过结合点而连接的链节的组估计为第二区域所包含的骨骼的位置。
第一估计部163通过执行上述处理,从而估计与第二区域33~36对应的骨骼的位置,并将各骨骼的位置的信息输出至第二估计部164以及输出部165。
第二估计部164按照每个角度参数,在将第二区域33~36所包含的骨骼的端点、和从骨骼的端点到第一区域31所包含的部位的位置的长度固定的状态下,估计第一区域31的多个部位的位置。第二估计部164对与角度参数对应的多个部位的组和第一区域31的多个部位的估算坐标进行比较,将与估算坐标最接近的、多个部位的组估计为第一区域31的部位。第二估计部164通过链节将估计出的第一区域31的部位连接,并将通过链节而连接成的区域估计为第一区域31所包含的骨骼的位置。
图15是用于说明本实施例1所涉及的第二估计部的处理的一个例子的图。在图15中,F 0是与右肩对应的点。与右肩对应的点与第二区域33所包含的骨骼的上端的点对应。F1是与左肩对应的点。与左肩对应的点与第二区域34所包含的骨骼的上端的点对应。F 2是与右股关节对应的点。与右股关节对应的点与第二区域35所包含的骨骼的上端的点对应。F 3是与左股关节对应的点。与左股关节对应的点与第二区域36所包含的骨骼的上端的点对应。
第二估计部164在将F 0~F 3的三维坐标固定、将各链节的长度L 0~L 5固定的状态下,通过某个角度参数θ来估计躯干估计坐标P 0,P 1,P 2。第二估计部164将通过确定部162的模型对照处理所确定出的部位坐标内与躯干部分对应的躯干估算坐标J 0,J 1,J 2和估计出的躯干估计坐标P 0,P 1,P 2分别建立对应,并计算建立对应的点的距离合计值D。例如,距离合计值D通过式(3)来定义。
[式3]
Figure BDA0001841625440000141
第二估计部164在规定的范围内使角度参数θ变化,并计算针对变化后的各角度参数的合计值。第二估计部164将计算出的合计值中为最小的合计值的躯干估计坐标P 0,P 1,P 2确定为第一区域31的部位。第二估计部164将通过链节连结估计出的部位而成的区域估计为第一区域31所包含的骨骼。另外,第二估计部164可以代替使用通过确定部162的模型对照处理所确定出的部位坐标,而通过计算出的躯干估计坐标P 0,P 1,P 2来更新躯干估算坐标J 0,J 1,J 2,以用于下一帧的处理。
接着,对第二估计部164估计第一区域31的躯干估计坐标P 0,P 1,P 2的具体的处理进行说明。图16以及图17是用于说明估计躯干估计坐标的处理的一个例子的图。图16所示的F 0~F 3与利用图15所说明的F 0~F3对应。图16所示的L 0~L 5与利用图15所说明的L0~L 5对应。
在图16中,由于左右的肩坐标F 0、F 1到颈坐标P 0的骨的长度L 0、L 1被固定,所以颈坐标P 0成为由半径r 0、θ0决定的圆周上的点。同样地,由于左右的股关节坐标F 2、F 3到骨盆坐标P 2的骨的长度L 2、L 3被固定,所以骨盆坐标P 0成为由半径r 2、θ2决定的圆周上的点。由θ0、θ2决定颈坐标P 0以及骨盆坐标P 2
另外,颈坐标P 0与脊柱坐标P 1的长度以L 4被固定。骨盆坐标P 2与脊柱坐标P 1的长度以L 5被固定。因此,若通过θ0以及θ2来决定颈坐标P 0以及骨盆坐标P 2,则脊柱坐标P 1成为由半径r 1、θ1决定的圆周上的点。第二估计部164变更角度参数,并计算距离合计值D。
接着,使用图17,对由θ决定的P的坐标计算例进行说明。
第二估计部164通过F 0、F 1、L 0、L 1并基于式(4)来计算O的坐标(x 0,y 0,z 0)。此处,将F0的坐标设为(x F0,y F0,z F0)、将F 1的坐标设为(x F1,y F1,z F1)。另外,L 0和L 1的长度相等。
[式4]
Figure BDA0001841625440000151
第二估计部164基于式(5)来计算b的长度。另外,第二估计部164基于式(6)来计算半径r。
[式5]
b=|0F1| …(5)
[式6]
Figure BDA0001841625440000152
第二估计部164将使通过O且与y轴平行的直线正投影到通过O且与F 0F 1垂直的平面所得的直线上的距O的距离r的点设为P A。第二估计部164将OP、OP A、OF 1的向量分别设为式(7)所示的。
[式7]
OP(xOP,yOP,zOP),OPA(xOPA,yOPA,zOPA),OF1(xOF1,yOF1,zOF1) …(7)
第二估计部164根据OP⊥OF 1的关系来定义式(8)。
[式8]
OP·OF1=xOPxOF1+yOPyOF1+zOPzOF1=0 …(8)
第二估计部164根据OP A与OP的内积的关系来定义式(9)。
[式9]
OP·OPA=xOPxOPA+yOPyOPA+zOPzOPA=|OP||OPA|cosθ=r2cosθ …(9)
第二估计部164根据OP A与OP的外积来定义式(10)。
[式10]
Figure BDA0001841625440000161
第二估计部164根据式(5)、(6)、(7)、(8)来计算P 0的坐标(x,y,z)。第二估计部164也同样地计算P 2的坐标。
第二估计部164通过进行上述处理来计算第一区域31所包含的骨骼的颈P 0、脊柱P 1、骨盆P 2的坐标。第二估计部164将计算出的颈P 0、脊柱P 1、骨盆P 2的坐标的信息输出至输出部165。
输出部165是从第一估计部163以及第二估计部164获取第一区域31、第二区域32~33所包含的骨骼的识别结果的信息,并输出获取到的信息的处理部。例如,骨骼的识别结果的信息与头、颈、脊柱、骨盆、左手腕、右手腕、股关节、左脚踝、右脚踝、右肩、左肩、右股关节、左股关节、右肘关节、左肘关节、右膝关节、左膝关节的坐标对应。
输出部165也可以将骨骼的识别结果的信息和从3D传感器110获取到的三维数据建立对应并输出。例如,第二估计部164作为描绘d的颜色以(x,y,z,d)的形式将三维数据和骨骼的识别结果的信息排列并输出。描绘的颜色d预先设为定义与d的数值对应的颜色。另外,输出部165也可以按照骨骼的识别结果的信息将骨骼的识别结果的信息显示于显示部140。
上述的确定部162、第一估计部163、第二估计部164每隔规定帧便反复执行上述处理,并生成与规定帧对应的骨骼的识别结果。输出部165将骨骼的识别结果与识别编号建立对应,并依次储存至骨骼数据表153。
接下来,对本实施例1所涉及的骨骼估计装置100的处理顺序的一个例子进行说明。图18是表示本实施例1所涉及的骨骼估计装置的处理顺序的流程图。如图18所示,骨骼估计装置100的确定部162获取背景差分区域所包含的观测点的信息(步骤S50)。
确定部162执行二值化处理(步骤S51)。确定部162执行细化处理(步骤S52)。确定部162执行特征点提取处理(步骤S53)。确定部162执行模型对照处理(步骤S54)。
骨骼估计装置100的第一估计部163执行圆柱主轴的决定处理(步骤S55)。第一估计部163执行圆柱半径以及圆柱中心的决定处理(步骤S56)。第一估计部163执行链节结合处理(步骤S57)。骨骼估计装置100的第二估计部164执行躯干的骨骼识别处理(步骤S58)。骨骼估计装置100的输出部165输出骨骼的识别结果(步骤S59)。
接着,对图18的步骤S58所示的躯干的骨骼识别处理的处理顺序进行说明。图19是表示躯干的骨骼识别处理的处理顺序的流程图。如图19所示,骨骼估计装置100的第二估计部164获取两肩、两股关节的坐标、各关节间的长度(步骤S61)。
第二估计部164更新参数θ0(步骤S62),更新参数θ2(步骤S63)。第二估计部164计算颈坐标P 0(步骤S64),并计算骨盆坐标P 2(步骤S65)。第二估计部164判定颈-骨盆间距离P0P 2是否短于从颈到骨盆的链节长合计(步骤S66)。
第二估计部164在颈-骨盆间距离P 0P 2不短于从颈到骨盆的链节长合计短情况下(步骤S66:否),移至步骤S63。而第二估计部164在颈-骨盆间距离P 0P 2短于从颈到骨盆的链节长合计的情况下(步骤S66:是),移至步骤S67。
第二估计部164更新参数θ1(步骤S67)。第二估计部164计算脊柱坐标P 1(步骤S68)。第二估计部164计算PJ的距离合计值D(步骤S69)。
第二估计部164判定距离合计值D是否是最小(步骤S70)。第二估计部164在距离合计值D不是最小的情况下(步骤S70:否),移至步骤S72。而第二估计部164在距离合计值D为最小的情况下(步骤S70:是),移至步骤S71。
第二估计部164保存各θ(步骤S71)。例如,将距离合计值D为最小的θ设为θmin=(θ0,θ1,θ2)。
第二估计部164判定全部θ1的选择是否完成(步骤S72)。第二估计部164在全部θ1的选择没有完成的情况下(步骤S72:否),移至步骤S67。第二估计部164在全部θ1的选择完成的情况下(步骤S72:是),移至步骤S73。
第二估计部164判定全部θ2的选择是否完成(步骤S73)。第二估计部164在全部θ2的选择没有完成的情况下(步骤S73:否),移至步骤S63。第二估计部164在全部θ2的选择完成的情况下(步骤S73:是),移至步骤S74。
第二估计部164判定全部θ0的选择是否完成(步骤S74)。第二估计部164在全部θ0的选择没有完成的情况下(步骤S74:否),移至步骤S62。第二估计部164在全部θ0的选择完成的情况下(步骤S74:是),移至步骤S75。
第二估计部164使用θmin来计算颈P 0、脊柱P 1、骨盆P 2的坐标(步骤S75)。第二估计部164输出颈P 0、脊柱P 1、骨盆P 2的坐标(步骤S76)。
接下来,对本实施例1所涉及的骨骼估计装置100的效果进行说明。骨骼估计装置100大致确定对象者的头、双臂、躯干、双腿的区域,在识别出双臂以及双腿的骨骼的位置后,将双臂以及双腿的骨骼的位置的识别结果作为约束条件来识别躯干的骨骼。由此,能够高速且准确地识别对象者的骨骼。
例如,骨骼估计装置100通过在将双臂以及双腿的骨骼的坐标、和关节间的长度固定的状态下使角度参数变化来计算出多个躯干的骨骼的位置的候补。骨骼估计装置100将躯干的骨骼的位置的候补中与躯干估算坐标接近的候补估计为躯干的骨骼的位置。由于双臂以及双腿的骨骼的位置与躯干相比较,能够高速且准确估计出骨骼的位置,所以先求出双臂以及双腿的骨骼的位置,并使用于计算躯干的情况下的约束条件,从而能够在计算躯干的骨骼的位置时,减少计算量,并提高精度。
此外,第二估计部164也可以在通过在将双臂以及双腿的骨骼的坐标、和关节间的长度固定的状态下使角度参数变化来计算多个躯干的骨骼的位置的候补的情况下,与对象者的比例相配合地调节关节间的长度。通过执行这样的处理,能够更准确地识别对象者的骨骼。
接下来,对上述实施例所示的骨骼估计装置100的硬件构成的一个例子进行说明。图20是表示骨骼估计装置的硬件构成的一个例子的图。
如图20所示,计算机170具有执行各种运算处理的CPU171、接受来自利用者的数据的输入的输入装置172和显示器173。另外,计算机170具有从存储介质读取程序等的读取装置174、和经由网络与其它计算机之间进行数据的交换的接口装置175。计算机170具有3D传感器176。另外,计算机170具有临时存储各种信息的RAM177、和硬盘装置178。而且,各装置171~178与总线179连接。
硬盘装置178具有确定程序178a、第一估计程序178b、第二估计程序178c。CPU171读出各程序178a~178c并展开至RAM177。确定程序178a作为确定工序177a发挥作用。第一估计程序178b作为第一估计工序177b发挥作用。第二估计程序178c作为第二估计工序177c发挥作用。
例如,确定工序177a的处理与确定部162的处理对应。第一估计工序177b的处理与第一估计部163的处理对应。第二估计工序177c的处理与第二估计部164的处理对应。
此外,各程序178a~178c可以不必从最初存储到硬盘装置178。例如,使***计算机170的软盘(FD)、CD-ROM、DVD光盘、光磁盘、IC卡等“便携式物理介质”存储各程序。而且,计算机170可以从它们读出各程序178a~178c并执行。
实施例2
对利用了在实施例1中所说明的骨骼估计装置100的技能判定装置的实施例2进行说明。技能判定装置是基于利用者的骨骼的识别结果来提取利用者的运动数据,并判定利用者的技能的装置。
对本实施例2所涉及的技能判定装置的结构进行说明。图21是表示本实施例2所涉及的技能判定装置的结构的功能框图。如图21所示,技能判定装置100A与运动传感器10a、10b连接。技能判定装置100A具有感测部110a、110b、存储部120A、示范数据生成部130A、技能判定定义部140A、阶段判定部150A、技能判定部160A、输出部170A。
将运动传感器10a、10b统一地适当地记作运动传感器10。运动传感器10是检测人、物的运动的传感器。例如,运动传感器10对人的特征点的三维坐标进行检测,并对技能判定装置100A输出将特征点和三维坐标建立对应关系的感测信息。此处,人的特征点例如与人的头、颈、背、腰、其它关节部分对应。例如,运动传感器10a、10b具有实施例1中所说明的骨骼估计装置100的结构。
运动传感器10也可以使用一些现有技术来输出感测信息。例如,运动传感器10与反射型的MA运动传感器、光接收型的热传感器对应。或者,也可以让人佩戴3轴加速度传感器、3轴陀螺仪传感器来提取感测信息。
感测部110a是从运动传感器10获取接受专业人员的指导的利用者的感测信息的处理部。在以下的说明中,将接受专业人员的指导的利用者仅记作利用者。感测部110a从运动传感器10连续地获取感测信息作为帧数据,并输出至阶段判定部150A。
图22是表示帧数据的数据结构的一个例子的图。如图22所示,通过感测部110a连续地获取帧数据,并输出至阶段判定部150A。各帧数据分别与帧编号建立对应。省略图示,但各帧数据与时刻信息建立对应,并按照时间序列顺序而输出至阶段判定部150A。例如,帧编号“102”的帧数据20表示在时刻“t2”,由运动传感器10检测出的利用者的特征点的三维坐标。
感测部110b是从运动传感器10获取专业人员的感测信息的处理部。感测部110b从运动传感器10连续地获取感测信息作为帧数据,并输出至示范数据生成部130A。专业人员的帧数据的数据结构与图22所示的帧数据的数据结构相同。
以下,为了便于说明,将专业人员的运动数据所包含的帧数据记作第一帧数据。将利用者的运动数据所包含的帧数据记作第二帧数据。
存储部120A具有示范数据120a以及技能判定定义数据120b。存储部120A例如与RAM(Random Access Memory)、闪存(Flash Memory)等半导体存储器元件、HDD(Hard DiskDrive)等存储装置对应。
示范数据120a是将第一帧数据和该第一帧数据的阶段的种类分别建立对应的信息。示范数据120a与阶段定义信息对应。例如,阶段的种类包括“start(开始)”、“backswing(上杆)”、“top(上杆顶点)”、“impact(击球)”、“follow(送杆)”、“end(结束)”等。示范数据120a由后述的示范数据生成部130A生成。
图23是表示示范数据的数据结构的一个例子的图。如图23所示,该示范数据120a包括元数据30A和运动数据20A。元数据30A是将第一帧数据的帧编号和阶段的种类建立对应的信息。图23所示的运动数据20A具有多个第一帧数据。
在图23的元数据30A中,区域30a定义帧编号“100”的第一帧数据的帧的种类为“start”。区域30b定义帧编号“150”的第一帧数据的帧的种类为“backswing”。区域30c定义帧编号“250”的第一帧数据的帧的种类为“top”。区域30d定义帧编号“450”的第一帧数据的帧的种类为“end”。
技能判定定义数据120b是将从多个第二帧数据所包含的特征点导出的利用者的动作的特征量、技能的判定基准以及成为判定对象的阶段的种类建立对应地定义的信息。
图24是表示技能判定定义数据的数据结构的一个例子的图。图25是用于对技能判定定义数据进行补充说明的图。如图24所示,该技能判定定义数据120b将模块名称、技能判定名称以及参数定义建立对应。模块名称是后述的技能判定部160A进行技能的判定的情况下所利用的模块名称。技能判定名称是定义技能的判定名称的名称。参数定义具有对象阶段、比较位置和基准参数。此处,技能例如表示专业人员进行进行高尔夫球的挥杆等期间的一系列的动作、姿势、关节的角度。例如,技能判定名称的“头的移动”将进行挥杆的期间的专业人员的头的移动定义为技能。另外,技能的判定基准是以专业人员的一系列的动作、姿势、关节的角度为基准的,根据利用者的一系列的动作、姿势、关节的角度与专业人员的一系列的动作、姿势、关节的角度相比较是否不同来进行评价。例如,对象阶段、比较位置、基准参数的组与技能的判定基准对应。关于基于该技能的判定基准来判定技能的处理,后述。
对象阶段是确定成为技能的判定对象的阶段的种类的信息。比较位置是定义比较的第二帧数据的种类以及特征点的位置的信息。基准参数以及基准值是在判定技能的好坏的情况下所利用的数值。
在图24中,对模块名称“PositionChecker(位置检测器)”、技能判定名称“头的移动”的记录进行说明。该“头的移动”的技能判定在挥动高尔夫的杆头的期间中,判定利用者的头的移动的好坏。由于对象阶段为“start-follow”,所以成为判定对象的第二阶段的种类如图25所示为“start、backswing、top、impact、follow”。
比较位置为“start:头、current:头”。因此,比较源的特征点的位置成为阶段的种类为“strat”的第二帧数据中最初的第二帧数据的头的特征点的位置。比较目标的特征点的位置成为当前的第二帧数据的头的特征点的位置。
基准参数为“8、10、20”。成为比较对象的特征点的位置的差“小于8cm”的情况下,定义判定结果为“优秀(Excellent)”。在成为比较对象的特征点的位置的差为“8cm以上且小于10cm”的情况下,定义判定结果为“好(Good)”。在成为比较对象的特征点的位置的差为“10cm以上且小于20cm”的情况下,定义判定结果为“差(Bad)”。
接着,对模块名称“AngleChecker(角度检测器)(1)”、技能判定名称“左肘角度”的记录进行说明。该“左肘角度”的技能判定在挥动杆头的期间中,判定利用者的左肘角度的好坏。对象阶段为“start-impact”。成为判定对象的第二阶段的种类如图25所示为“start、backswing、top、impact”。
比较位置为“current:左肩、,current:左肘、current:左手腕”。因此,通过当前的第二帧数据的左肩的特征点以及左肘的特征点的线段与通过左肘的特征点以及左手腕的特征点的直线所成的角度成为判定对象。
基准参数为“(135-180)、(130-135,180-190)、(110-130,190-200)”。在所成的角度包含于“135-180”的情况下,定义判定结果为“优秀(Excellent)”。在所成的角度包含于“130-135,180-190”的情况下,定义判定结果为“好(Good)”。在所成的角度包含于“110-130,190-200”的情况下,定义判定结果为“差(Bad)”。
接着,对模块名称“AngleChecker(角度检测器)(2)”、技能判定名称”前倾姿势”的记录进行说明。该“前倾姿势”的技能判定在挥动杆头的期间中,判定利用者的前倾姿势的好坏。对象阶段为“start-impact”。成为判定对象的第二阶段的种类如图25所示为“start、backswing、top、impact”。
比较位置为“current:头、current:腰”。因此,通过当前的第二帧数据的头的特征点以及腰的特征点的线段与垂线所成的角度成为判定对象。
基准参数为“(25-40)、(20-25,40-55)、(8-20,55-60)”。在所成的角包含于“25-40”的情况下,定义判定结果为“优秀(Excellent)”。在所成的角为“20-25,40-55”的情况下,定义判定结果为“好(Good)”。在所成的角为“8-20,55-60”的情况下,定义判定结果为“差(Bad)”。
返回到图21的说明。示范数据生成部130A是从感测部110b获取专业人员的运动数据,并生成示范数据120a的处理部。示范数据生成部130A将生成的示范数据120a保存至存储部120A。
例如,示范数据生成部130A使显示装置显示专业人员的运动数据所包含的第一帧数据,并从输入装置接受哪个第一帧数据与哪个阶段的种类对应。此处,省略显示装置以及输入装置的图示。
专业人员操作输入装置,将第一帧数据与阶段的种类的关系输入至示范数据生成部130A。示范数据生成部130A基于从输入装置接受到的信息来将第一帧数据的帧编号和阶段的种类建立对应,并生成图23所示的元数据30A。示范数据生成部130A将具有元数据30A和运动数据20A的示范数据120a保存至存储部120A。
技能判定定义部140A是生成技能判定定义数据120b的处理部。技能判定定义部140A将生成的技能判定定义数据120b保存至存储部120A。
例如,技能判定定义部140A使显示装置显示技能判定定义的设定画面,并从输入装置接受与技能判定定义有关的信息。专业人员操作输入装置,输入与技能判定定义有关的信息。技能判定定义部140A基于与技能判定定义有关的信息来生成技能判定定义数据120b,并保存至存储部120A。
图26是表示显示于显示装置的显示画面的一个例子的图。显示画面50包括示范数据生成部130A所显示的阶段设定画面50a、和技能判定定义部140A所显示的技能设定画面50b。另外,可以在显示画面50上对显示专业人员的运动数据的再生画面50c、和当前的第一帧数据的帧编号显示画面50d进行显示。
专业人员操作输入装置,参照再生画面50c和帧编号显示画面50d,并在阶段设定画面50a上输入帧编号与阶段的种类的对应关系。例如,示范数据生成部130A基于输入到阶段设定画面50a的信息来生成示范数据120a。
专业人员操作输入装置来选择技能设定画面50b的任一检查器名称。在以下的说明中,分别对选择“PositionChecker”、“AngleCheker(1)”、“AngleCheker(2)”的情况下所显示的参数设定画面的一个例子进行说明。
图27是表示“PositionChecker”的参数设定画面的一个例子的图。如图27所示,参数设定画面60包括定义判定对象的区域61、和定义判定基准的区域62。另外,区域61包括定义比较源的区域61a、定义比较目标的区域61b、定义对象区间的区域61c。专业人员操作输入装置来在各区域输入信息。
在图27所示的例子中,在定义比较源的区域61a中定义比较源的特征点的位置是阶段的种类为“start”的第二帧数据中最初的第二帧数据的头的特征点的位置。在定义比较目标的区域61b中定义比较目标的特征点的位置为当前的第二帧数据的头的特征点的位置。在定义对象区间的区域61c中定义对象阶段为“start-follow”。在定义判定基准的区域62中定义基准参数为“8、10、20”。
例如,基于输入到图27的信息,技能判定定义部140A生成与图24的模块名称“PositionChecker”对应的记录。
图28是表示“AngleChecker(1)”的参数设定画面的一个例子的图。参数设定画面70包括定义判定对象的区域71、和定义判定基准的区域72。另外,区域71包括定义比较对象的特征点的区域71a、定义对象区间的区域71b。专业人员操作输入装置来在各区域中输入信息。
在图28所示的例子中,在定义比较对象的特征点的区域71a中定义通过当前的第二帧数据的左肩的特征点以及左肘的特征点的线段与通过左肘的特征点以及左手腕的特征点的直线所成的角度为判定对象。在定义对象区间的区域71b中定义对象阶段为“start-impact”。在定义判定基准的区域72中定义各种基准参数。
例如,基于输入到图28的信息,技能判定定义部140A生成与图24的模块名称“AngleChecker(1)”对应的记录。
图29是表示“AngleChecker(2)”的参数设定画面的一个例子的图。参数设定画面80包括定义判定对象的区域81和定义判定基准的区域82。另外,区域81包括定义垂线的区域81a、定义比较对象的特征点的区域81b、定义对象区间的区域81c。专业人员操作输入装置来在各区域中输入信息。
在图29所示的例子中,在定义垂线的区域81a中定义垂线的起点和终点的三维坐标。在定义比较对象的特征点的区域81b中定义通过当前的第二帧数据的头的特征点以及腰的特征点的线段。在定义对象区间的区域81c中定义对象阶段为“start-impact”。在定义判定基准的区域82中定义各种基准参数。
例如,基于输入到图29的信息,技能判定定义部140A生成与图24的模块名称“AngleChecker(2)”对应的记录。
返回到图21的说明。阶段判定部150A是对示范数据120a所包含的各第一帧数据和利用者的第二帧数据进行比较,并判定与第二帧数据对应的阶段的种类的处理部。阶段判定部150A将判定出的阶段的种类赋予给获取到的帧数据,并输出至技能判定部160A。
在以下,具体地对阶段判定部150A的处理的一个例子进行说明。阶段判定部150A将利用者的第二帧数据保存至存储器,依次执行修正处理、特征量计算、帧匹配。
对阶段判定部150A执行的修正处理的一个例子进行说明。阶段判定部150A进行第二帧数据的纵轴修正。例如,在运动传感器10为设置型传感器的情况下,设置位置、设置角度有时与前次的环境不同,与设置环境相配合地对第二帧数据的纵轴进行修正。例如,阶段判定部150A使显示装置显示第二帧数据,接受来自利用者的修正信息的输入,使第二帧数据的纵轴与垂线对应。另外,阶段判定部150A可以相应地以利用者的方向为正面的方向的方式进行修正。阶段判定部150A也可以在接受到修正信息的输入后,利用所涉及的修正信息来进行剩余的第二帧数据的纵轴修正、方向的修正。
阶段判定部150A还相应地执行用于抑制第二帧数据的特征点的位置的偏差的修正处理。例如,阶段判定部150A通过将前后的第二帧数据的特征点的位置的平均值设为中间的第二帧数据的特征点的位置来抑制偏差。另外,阶段判定部150A也可以使用低通滤波器来除去第二帧数据所包含的噪声成分。
对阶段判定部150A执行的特征量计算的一个例子进行说明。在本实施例1中,作为一个例子,分别计算针对第二帧数据所包含的各关节的特征点的三维坐标,作为特征量。
对阶段判定部150A执行的其它特征量计算的一个例子进行说明。在选出对各体育运动固有的挥杆赋予特征的关节的情况下,阶段判定部150A可以计算手、腰、手指等的三维坐标、速度和加速度,作为特征量。
在将不是各体育运动固有的通用的数据设为特征量的情况下,阶段判定部150A可以计算全部关节的三维坐标、速度和加速度,作为特征量。另外,阶段判定部150A也可以计算关节位置的重心位置等,作为特征量。
对阶段判定部150A执行的帧匹配的一个例子进行说明。图30是用于说明帧匹配的一个例子的图。在图30所示的例子中,将当前的第二帧数据设为第二帧数据S 0。另外,将示范数据120a所包含的各第一帧数据分别设为第一帧数据t1~t6。阶段判定部150A基于式(11),针对第二帧数据S 0、和第一帧数据t1~t6,分别计算每个关节的特征点的距离的平均值。在以下的说明中,将每个关节的特征点的距离的平均值记作“关节平均距离”。
[式11]
Figure BDA0001841625440000251
针对式(11),xS 0j,yS 0j,zS 0j是第二帧数据的某个关节(与j的数值对应的关节)的特征点的三维坐标。x tij,y tij,z tij为第一帧数据ti的某个关节(与j的数值对应的关节)的特征点的三维坐标。n为关节的特征点的数量。阶段判定部150A确定通过式(11)所计算出的各关节平均距离中涉及的关节平均距离为最小的第二帧数据S0与第一帧数据的组。
在图30所示的例子中,由于第二帧数据S 0与第一帧数据t 2的组中的关节平均距离为最小,所以阶段判定部150A将与第二帧数据S 0对应的第一帧数据判定为第一帧数据t2。另外,阶段判定部150A将第二帧数据S 0的阶段的种类判定为与第一帧数据t2对应的阶段的种类。
然而,阶段判定部150A在使用式(11)来计算关节平均距离的情况下,使用权重对关节平均距离的值进行修正。例如,阶段判定部150A可以通过将关节平均距离除以权重来对关节平均距离进行修正。图31是用于说明权重的图。在图31中,横轴与第一帧数据的帧编号对应,纵轴与权重对应。例如,将与各帧编号对应的权重的合计设为1。
例如,第二帧数据S0相匹配的第一帧数据为其前面的第二帧数据S-1相匹配的第一帧数据的接近的第一帧数据的可能性较高。例如,若将第二帧数据S-1相匹配的第一帧数据设为第一帧数据t4,则第二帧数据S0相匹配的第一帧数据为第一帧数据t4的后面且接近的第一帧数据的可能性较高。
因此,在比前面的第二帧数据S-1相匹配的第一帧数据靠后的第一帧中,越是接近相匹配的第一帧数据的第一帧数据,则权重越大。另外,即使接近相匹配的第一帧数据,但如果是相匹配的第一帧数据的前面的帧则可能性较低,所以减小权重。
通过利用权重对通过式(11)所计算出的关节平均距离的值进行修正,能够防止匹配的第一帧数据错乱或跳跃。
阶段判定部150A通过也对其它第二帧数据反复执行上述处理,从而判定与各第二帧数据对应的第一帧数据,并判定各第二帧数据的阶段的种类。阶段判定部150A提取第二帧数据中阶段的种类为start到end的第二帧数据,并作为运动数据而保存至文件,输出至输出部170A。
技能判定部160A是基于技能判定定义数据120b、和从按照每个阶段的种类所提取的第二帧数据所包含的特征点导出的利用者的动作、姿势、关节的特征量,按照每个阶段的种类来判定利用者的技能的处理部。
对技能判定部160A的处理的一个例子进行说明。技能判定部160A参照技能判定定义数据120b,生成判定模块。例如,在图24所示的例子中,技能判定部160A生成“PositionChecker”模块、“AngleChecker(1)”模块、“AngleChecker(2)”模块。
技能判定部160A对于从阶段判定部150A接受到的第二帧数据,基于与该第二帧数据对应的阶段的种类和技能判定定义数据120b,向对应的模块输出第二帧数据。模块若接受到第二帧数据,则基于对技能判定定义数据120b定义的数据,输出利用者的技能判定的结果。
图32以及图33是用于说明技能判定部的处理的图。对图32进行说明。技能判定部160A获取阶段的种类为“start”的第二帧数据S 0。如图24所示,由于“PositionChecker”的对象阶段为“start-follow”,所以技能判定部160A将第二帧数据S 0输出至“PositionChecker”模块160a。例如,“PositionChecker”模块160a保存第二帧数据S 0的头的特征点的三维坐标。
如图24所示,由于“AngleChecker(1)”的对象阶段为“start-impact”,所以技能判定部160A将第二帧数据S 0输出至“AngleChecker(1)”模块160b。“AngleChecker(1)”模块160b通过基于比较位置和基准参数来评价第二帧数据S 0,从而进行利用者的技能判定,并输出判定结果。
例如,“AngleChecker(1)”模块160b在所成的角包含于“135-180”的情况下,输出判定结果“优秀(Excellent)”。“AngleChecker(1)”模块160b在所成的角包含于“130-135,180-190”的情况下,输出判定结果“好(Good)”。“AngleChecker(1)”模块160b在所成的角包含于“110-130,190-200”的情况下,输出判定结果“差(Bad)”。
此外,“AngleChecker(1)”模块160b也可以与判定结果独立地输出评论。例如,“AngleChecker(1)”模块160b在所成的角包含于“130-135”的情况下,输出评论“稍微弯曲”,在所成的角包含于“180-190”的情况下,输出评论“稍微拉长”。“AngleChecker(1)”模块160b在所成的角包含于“110-130”的情况下,输出评论“过度弯曲”,在所成的角包含于“190-200”的情况下,输出评论“过度拉长”。
如图24所示,由于“AngleChecker(2)”的对象阶段为“start-impact”,所以技能判定部160A将第二帧数据S 0输出至“AngleChecker(2)”模块160c。“AngleChecker(2)”模块160c通过基于比较位置和基准参数来评价第二帧数据S 0,从而进行利用者的技能判定,并输出判定结果。
例如,“AngleChecker(2)”模块160c在所成的角包含于“25-40”的情况下,输出判定结果“优秀(Excellent)”。“AngleChecker(2)”模块160c在所成的角包含于“20-25,40-55”的情况下,输出判定结果“好(Good)”。“AngleChecker(2)”模块160c在所成的角包含于“8-20,55-60”的情况下,输出判定结果“差(Bad)”。
此外,“AngleChecker(2)”模块160c也可以与判定结果独立地输出评论。例如,“AngleChecker(2)”模块160c在所成的角包含于“20-25”的情况下,输出评论“稍微站直”,在所成的角包含于“40-55”的情况下,输出评论“稍微弯腰”。“AngleChecker(2)”模块160c在所成的角包含于“8-20”的情况下,输出评论“过度站直”,在所成的角包含于“55-60”的情况下,输出评论“过度弯腰”。
接着,对图33进行说明。技能判定部160A获取阶段的种类为“follow”的第二帧数据Sm。如在图24中所说明那样,由于“PositionChecker”的对象阶段为“start-follow”,所以技能判定部160A将第二帧数据Sm输出至“PositionChecker”模块160a。
“PositionChecker”模块160a通过基于比较位置和基准参数来评价第二帧数据Sm,从而进行利用者的技能判定,并输出判定结果。例如,“PositionChecker”模块160a在第二帧数据S 0的头的特征点的位置与第二帧数据Sm的头的特征点的位置的差“小于8cm”的情况下,输出判定结果“优秀(Excellent)”。“PositionChecker”模块160a在第二帧数据S 0的头的特征点的位置与第二帧数据S m的头的特征点的位置的差为“8cm以上且小于10cm”的情况下,输出判定结果“好(Good)”。“PositionChecker”模块160a在第二帧数据S 0的头的特征点的位置与第二帧数据S m的头的特征点的位置的差为“10cm以上且小于20cm”的情况下,输出判定结果“差(Bad)”。
“PositionChecker”模块160a也可以与判定结果独立地输出评论。例如,“PositionChecker”模块160a在第二帧数据S 0的头的特征点的位置与第二帧数据Sm的头的特征点的位置的差为“10cm”以上的情况下,输出评论“过度运动”。
此外,如图24所示,由于“AngleChecker(1)”的对象阶段为“start-impact”,所以技能判定部160A不会将第二帧数据Sm输出至“AngleChecker(1)”模块160b。由于“AngleChecker(2)”的对象阶段为“start-impact”,所以技能判定部160A不会将第二帧数据Sm输出至“AngleChecker(2)”模块160c。此外,技能判定部160A将第二帧数据输出至各模块,模块也可以分别判定是否处理第二帧数据。
技能判定部160A将对各模块的判定结果和第二帧数据建立对应的判定结果的信息输出至输出部170A。
输出部170A是通过图像信息、声音信息或者针对利用者的肉体的刺激,输出技能判定部160A的判定结果的处理部。以下,对输出部170A的处理的一个例子进行说明。
对输出部170A基于技能判定部160A的判定结果所生成的显示画面进行说明。图34是表示输出部生成的显示画面的一个例子的图(1)。如图34所示,在该显示画面200中包括自数据画面200a、示范数据画面200b和技能判定画面200c。
输出部170A使自数据画面200a显示从技能判定部160A获取的利用者的第二帧数据。另外,输出部170A也可以将第二帧数据的各特征点、运动、姿势、关节的特征量以及评论建立对应并显示。在图34所示的例子中,输出部170A对特征点的头显示头部移动(11cm,过度运动)。输出部170A对特征点的左肩显示左肘角度(154°)。
输出部170A使示范数据画面200b显示示范数据120a的第一帧数据。例如,输出部170A将第一帧数据的阶段的种类与使自数据画面200a显示的第二帧数据的阶段的种类建立对应。另外,输出部170A也可以将第一帧数据的各特征点、运动、姿势、关节的特征量建立对应并显示。在图34所示的例子中,输出部170A对特征点的头显示头部移动(9cm)。输出部170A对特征点的左肩显示左肘角度(155°)。
输出部170A使技能判定画面200c显示从技能判定部160A获取的技能的判定结果。例如,输出部170A也可以将技能判定名称、判定结果、运动、姿势、关节的特征量以及评论建立对应并显示。
输出部170A也可以每当获取各第二帧数据时便对图34的显示画面实时更新200a、200b、200c。另外,也可以在判定出阶段种类为“End”后,以与本画面同样的画面再生start-end的帧数据。
另外,输出部170A也可以在图34的显示画面200的自数据画面200a上进行依次使第二帧数据的阶段变化,并与之相应地切换示范数据画面200b、技能判定画面200c的内容的处理。
输出部170A可以将各阶段的种类、第二帧数据以及判定结果建立对应地生成显示画面。图35是表示输出部生成的显示画面的一个例子的图(2)。如图35的显示画面210所示,输出部170A将各阶段的种类的第二帧数据和判定结果建立对应并显示。例如,输出部170A也可以将技能判定名称、判定结果、运动、姿势、关节的特征量以及评论建立对应并显示。另外,输出部170A也可以除了3D的骨骼信息之外还一起显示图像信息。
接着,对输出部170A基于判定结果来输出声音信息的情况下的处理进行说明。输出部170A也可以根据从技能判定部160A输出的判定结果,以声音输出技能结果、应修正的点。例如,输出部170A在与头部移动有关的判定结果为Bad的情况下,输出“头过度运动”这个声音。预先在表等中设定对哪个判定结果输出哪个声音,基于所述的表,输出部170A输出声音。
接着,对输出部170A通过针对利用者的肉体的刺激来通知判定结果的情况下的处理进行说明。利用者佩戴包括小型马达的装备,输出部170A与判定结果相应地使小型马达动作。例如,输出部170A根据各种判定结果“Excelltent、Good、Bad”来使小型马达的转速变化。预先在表等中设定针对判定结果的小型马达的转速,基于所述的表,输出部170A使小型马达旋转。
利用者佩戴珀耳帖元件等冷却设备,输出部170A与判定结果相应地使冷却设备冷却。例如,输出部170A根据各种判定结果“Excelltent、Good、Bad”来使冷却设备的温度变化。预先在表等中设定针对判定结果的冷却设备的温度,基于所述的表,输出部170A控制冷却设备。
利用者佩戴低频电流流动的设备,输出部170A与判定结果相应地使设备产生电流。例如,输出部170A根据各种判定结果“Excelltent、Good、Bad”来使电流的大小变化。预先在表等中设定针对判定结果的电流的大小,基于所述的表,输出部170A控制设备。
而且,使利用者佩戴动力服、人工肌肉,输出部170A根据专业人员的运动数据来使动力服、人工肌肉运动,从而使利用者体感专业人员的运动。
接下来,对本实施例所涉及的技能判定装置100A的处理顺序进行说明。图36是表示技能判定装置的处理顺序的流程图。如图36所示,技能判定装置100A的阶段判定部150A读入示范数据120a(步骤S101)。技能判定装置100A的技能判定部160A读入技能判定定义数据120b(步骤S102)。
技能判定部160A基于技能判定定义数据120b来生成模块,并设置参数(步骤S103)。阶段判定部150A开始利用者的运动数据的获取(步骤S104)。技能判定装置100A判定经由输入装置是否检测出结束事件(步骤S105)。
技能判定装置100A在经由输入装置检测出结束事件的情况下(步骤S105:是),阶段判定部150A执行利用者的运动数据获取结束处理(步骤S106)。
另一方面,技能判定装置100A在经由输入装置没有检测出结束事件的情况下(步骤S105:否),判定经由输入装置是否检测出技能判定处理的事件(步骤S107)。技能判定装置100A在经由输入装置检测出技能判定处理的事件的情况下(步骤S107:是),技能判定部160A执行技能判定处理(步骤S108),移至步骤S105。此外,技能判定处理的事件是感测部110a从运动传感器获取帧数据时产生的事件。
而技能判定装置100A在经由输入装置没有检测出再生处理的事件的情况下(步骤S107:否),技能判定装置100A的输出部170A执行再生处理(步骤S109),移至步骤S105。
接下来,对步骤S108所示的技能判定处理的处理顺序进行说明。图37是表示技能判定处理的处理顺序的流程图。如图37所示,技能判定装置100A的阶段判定部150A将第二帧数据保存至存储器(步骤S201)。阶段判定部150A对第二帧数据进行修正(步骤S202)。
阶段判定部150A计算第二帧数据的特征量(步骤S203)。阶段判定部150A从示范数据120a中提取特征量与第二帧数据最接近的第一帧数据(步骤S204)。阶段判定部150A提取与第一帧数据对应的阶段的种类,并将提取出的阶段的种类赋予给第二帧数据(步骤S205)。此外,如图26的50a所示,阶段的种类不仅是与“start”、“backswing”等的帧编号一对一对应的阶段种类,也包括表示处于“start”到“backswing”之间的阶段的阶段种类。
阶段判定部150A判定提取出的阶段的种类是否是Start到End内(步骤S206)。阶段判定部150A在阶段的种类不是start到End内的情况下(步骤S206:否),在S201中从存储器删除储存的第二帧数据(步骤S213),并结束技能判定处理。
而在阶段的种类为start到End内的情况下(步骤S206:是),技能判定部160A针对与阶段的种类对应的模块输出第二帧数据,并判定技能(步骤S207)。输出部170A输出判定结果(步骤S208)。
阶段判定部150A判定提取出的阶段的种类是否是End(步骤S209)。阶段判定部150A在提取出的阶段的种类不是End的情况下(步骤S209:否),结束技能判定处理。
而阶段判定部150A在提取出的阶段的种类为End的情况下(步骤S209:是),移至步骤S210。阶段判定部150A从存储器中所保存的第二帧数据中提取阶段的种类为Start到End的一系列的第二帧数据,并作为运动数据而保存于文件(步骤S210)。输出部170A输出一系列的运动数据的判定结果(步骤S211),并从存储器删除在S201中所储存的第二帧数据(步骤S212),结束技能判定处理。
接下来,对示范数据生成部130A以及技能判定定义部140A执行的设定处理的处理顺序进行说明。图38是表示设定处理的处理顺序的流程图。如图38所示,技能判定装置100A判定是否检测出事件(步骤S301)。技能判定装置100A在没有检测出事件的情况下(步骤S301:否),再次移至步骤S301。
技能判定装置100A在检测出运动数据获取选择的事件的情况下(步骤S301,运动数据获取选择),移至步骤S302。示范数据生成部130A或者技能判定定义部140A获取运动数据,并保存至存储器(步骤S302),移至步骤S301。
技能判定装置100A在检测出阶段设定选择的事件的情况下(步骤S301,阶段设定选择),移至步骤S303。示范数据生成部130A将阶段的种类和帧编号保存至存储器(步骤S303),移至步骤S301。
技能判定装置100A在检测出技能判定定义选择的事件的情况下(步骤S301,技能判定定义选择),移至步骤S304。技能判定定义部140A将利用的模块名称、技能判定名称、参数定义保存至存储器(步骤S304),移至步骤S301。
技能判定装置100A在检测出保存选择的事件的情况下(步骤S301,保存选择),示范数据生成部130A将存储器中所保存的运动数据以及阶段的种类、帧编号的对应关系输出至文件(步骤S305)。技能判定定义部140A将存储器中所保存的技能判定定义数据120b输出至文件(步骤S306),移至步骤S301。
接下来,对本实施例所涉及的技能判定装置100A的效果进行说明。技能判定装置100A从利用者的运动数据提取与每个阶段的种类对应的第二帧数据,并基于技能判定定义数据120b,针对每个阶段的种类的第二帧数据判定利用者的技能。因此,根据技能判定装置100A,能够通用地、自动地判定利用者的技能。
例如,技能判定定义部140A基于来自输入装置的信息适当地更新进行技能判定的技能判定定义数据120b,技能判定部160A基于所述的技能判定定义数据120b来进行技能判定。在以往技术中,由于嵌入了用于技能判定的逻辑,所以技能判定对象被固定,但通过技能判定定义部140A能够适当地更新技能判定定义数据120b,所以能够提高通用性。另外,由于技能判定定义数据120b是以模块以及参数定义的组合定义的,所以容易将以其它对象定义的模块、参数定义再利用于另外的对象。
另外,技能判定装置100A将技能的判定结果与利用者的运动数据和专业人员的运动数据建立对应,并显示于显示画面。由此,即使专业人员不在旁边,利用者自身也知道应改善的点。另外,能够不用逐一在意画面,进行挥杆后进行重放来掌握改善点。另外,比较利用者自身与专业人员的差异,对技能提高有用。另外,由于将利用者的第二帧数据与阶段的种类建立对应地进行管理,所以能够使进行解析等的情况下的操作变得容易。
技能判定装置100A对示范数据120a和利用者的运动数据所包含的各第二帧数据进行比较,判定与第二帧数据对应的阶段的种类,按照每个阶段的种类提取第二帧数据。例如,技能判定装置100A根据各第一帧数据与第二帧数据的类似度来确定与第二帧数据对应的第一帧数据,并将与所涉及的第一帧数据对应的阶段的种类判定为第二帧数据的种类。因此,能够精度良好地判定利用者的第二帧数据的种类,并能够提高技能判定精度。
技能判定装置100A在进行匹配的情况下,利用权重对第一帧数据和第二帧数据的类似度进行修正。该权重是基于前次选择出的第一帧数据的时刻和成为本次类似度的计算对象的第一帧数据的时刻根据图31所决定的。由此,能够防止与第二帧数据匹配的第一帧数据错乱或跳跃。
技能判定装置100A通过图像信息、声音信息或者对利用者的肉体的刺激来输出技能的判定结果。由此,能够通过各种通知方法来辅助利用者的技能提高。
然而,上述的技能判定装置100A的处理只是一个例子。以下,对技能判定装置100A执行的其它处理进行说明。
例如,可以使网络上的服务器具有技能判定装置100A的功能。服务器从利用者或专业人员的终端装置获取运动数据,并存储。另外,服务器预先保存示范数据120a、技能判定定义数据120b。服务器在从利用者的终端装置接受到访问的情况下,在终端装置的Web画面上显示运动数据、技能的判定结果。
技能判定定义部140A接受来自输入装置的输入并生成技能判定定义数据120b,但也可以基于示范数据120a而自动地生成技能判定数据120b。例如,技能判定定义部140A对示范数据120a进行解析,并将进行技能判定的该参数的平均值等的统计处理的结果设定为技能判定定义数据120b。例如,将示范数据120a所包含的第一帧数据的头的特征点的移动量的平均值设为α。此时,技能判定定义部140A将模块名称“PositionChecker”的记录的基准参数设为“α、α+a、α+2a”。a为适当地设定的数值。
技能判定部160A按每个第二帧数据判定技能并输出判定结果,但并不限于此。技能判定部160A也可以将各技能判定结果换算成综合得分并显示。例如,如图35所示,技能判定部160A按每个阶段进行技能判定,但也可以将start到end的判定结果换算成综合得分,并使综合得分显示。预先设定对判定结果“Excelltent、Good、Bad”赋予的分数设为多少。
技能判定部160A不仅对利用者的运动数据进行技能判定处理还可以对示范数据120a的运动数据进行技能判定处理。此时,输出部170A可以显示针对示范数据120a的运动数据的判定结果与针对利用者的运动数据的判定结果的差。
输出部170A输出的运动数据的显示方式可以不是固定的。例如,输出部170A接受来自输入装置的操作,以运动数据的背面、侧面、上侧等不同的角度来显示。另外,输出部170A也可以与利用者的运动数据的显示方式的变化联动地也使示范数据120a的运动数据的显示方式也变化。
然而,在上述实施例中,对进行高尔夫的技能判定的情况进行了说明,但本实施例所涉及的技能判定装置100A也能够应用于高尔夫球以外的其它体育运动等。例如,技能判定装置100A能够应用于网球、田径、舞蹈、烹饪设备的使用方法、乐器演奏等。
接下来,对执行实现与上述实施例所示的技能判定装置100A相同的功能的技能判定程序的计算机的一个例子进行说明。图39是表示执行技能判定程序的计算机的一个例子的图。
如图39所示,计算机300与加速度传感器、运动传感器等输入设备350a和扬声器、振动设备等输出设备350b连接。计算机300具有执行各种运算处理的CPU301、暂时存储各种信息的一次存储部302、显示器等显示部303和输入装置等操作部304。计算机300具有与输入设备350a交换数据的设备IF305、和与输出设备350b交换数据的设备IF306。另外,计算机300具有与硬盘驱动器等对应的二次存储部307。
二次存储部307具有技能判定程序307a、技能设定程序307b和各种数据307c。技能判定程序307a被CPU301读出并被执行,从而进行与图21的阶段判定部150A、技能判定部160A、输出部170A对应的处理。技能设定程序307b被CPU301读出并被执行,从而进行与图21的示范数据生成部130A、技能设判定定义部140A对应的处理。另外,各种数据307c与示范数据120a、技能判定定义数据120b、利用者的运动数据等对应。
此外,对于各程序307a、307b,也可以并非从最初存储于二次存储部307。例如,使各程序存储于***计算机300的软盘(FD)、CD-ROM、DVD光盘、光磁盘、IC卡等“便携式物理介质”。而且,计算机300可以读出各程序307a、307b并执行。
实施例3
图40是表示本实施例3所涉及的***的结构的图。如图40所示,该***具有利用者终端400a、400b、400c和服务器500。利用者终端400a~400c和服务器500经由网络50相互连接。此处作为一个例子,示出利用者终端400a~400c,但其它利用者终端也可以与网络50连接。在以下的说明中,将利用者终端400a~400b统一适当地记作为利用者终端400。
利用者终端400具有与上述实施例2所示的技能判定装置100A同样的功能。利用者终端400是获取利用者的运动数据,判定利用者的技能,并将技能的判定结果通知给服务器500的处理部。此外,利用者终端400也可以与技能判定装置100A连接,从连接目的地的技能判定装置100A获取利用者的技能的判定结果。
利用者操作利用者终端400,访问服务器500,参照服务器500中存储的过去的技能的判定结果。
服务器500从各利用者终端400接收技能的判定结果的信息,并保持。另外,服务器500在从利用者终端接受到针对技能的判定结果的信息的访问的情况下,将符合的技能的判定结果通知给利用者终端400。
此处,服务器500在对利用者终端400通知技能的判定结果的信息的情况下,使利用者终端400的显示画面显示与进行了技能判定的体育运动的种类直接或者间接相关的广告横幅。另外,服务器500使显示画面显示与利用者的技能的判定结果对应的商品的信息。例如,服务器500在体育运动的种类为高尔夫的情况下,使高尔夫相关的广告横幅显示,并且将技能中存在的高尔夫商品的信息通知给利用者终端400。此外,除了高尔夫球以外,对于棒球、网球、田径、舞蹈、烹饪设备的使用方法、乐器演奏也可以同样地将广告横幅、商品的信息通知给利用者终端400。
图41是表示本实施例3所涉及的服务器的结构的功能框图。如图41所示,该服务器500具有通信部510、存储部520和控制部530。
通信部510是经由网络50与各利用者终端400执行数据通信的处理部。通信部510与通信装置对应。后述控制部530经由通信部510与各利用者终端400交换数据。
存储部520具有技能判定结果表520a、个人信息表520b、横幅信息表520c和商品表520d。存储部520例如与RAM(Random Access Memory)、ROM(Read Only Memory)、闪存(Flash Memory)等半导体存储器元件等的存储装置对应。
技能判定结果表520a是对从利用者终端400通知的技能的判定结果的信息进行保持的表。图42是表示技能判定结果表的数据结构的一个例子的图。如图42所示,将利用者识别信息、项目以及技能判定结果建立对应。利用者识别信息是唯一识别利用者的信息。项目表示成为技能判定的对象的项目。技能判定结果是针对进行了与项目相关的动作的利用者的技能的判定结果。
图43是表示技能判定结果的一个例子的图。图43所示的技能判定结果是与某利用者识别信息对应的技能判定结果。例如,将各技能判定结果与进行了技能的判定的日期建立对应。另外,各技能判定结果按照每个阶段将头部移动的判定结果、右肘角度的判定结果、前倾姿势的判定结果、腰旋转的判定结果建立对应。另外,此处省略图示,但技能判定结果表520a也可以将成为技能判定结果的判定源的利用者的运动数据与技能判定结果建立对应地保持。
个人信息表520b是保持利用者的个人信息的表。图44是表示本实施例3所涉及的个人信息表的数据结构的一个例子的图。如图44所示,该个人信息表520b将利用者识别信息、地址、性别、年龄、身高以及体重建立对应。其中,利用者识别信息是唯一识别利用者的信息。地址例如是利用者使用的电子邮件地址(Electronic mail address)。性别、年龄、身高、体重是根据利用者识别信息所识别的利用者的性别、年龄、身高、体重。
横幅信息表520c是保持与利用者终端400的显示画面所显示的广告横幅有关的信息的表。图45是表示横幅信息表的数据结构的一个例子的图。如图45所示,该横幅信息表520c将条件和广告横幅信息建立对应。条件例如包括项目、性别和年龄。例如,在图45所示的例子中,示出在与技能的判定结果对应的项目为“高尔夫”,利用者的性别为“男”,利用者的年龄为“20岁以上”的情况下,使利用者终端400的显示画面显示广告横幅A1、B1、C1。例如,广告横幅A1、B1、C1是与项目“高尔夫”直接或者间接地相关的广告横幅。
商品表520d是定义与利用者的技能判定结果对应的商品的表。图46是表示商品表的数据结构的一个例子的图。如图46所示,该商品表520d将条件、商品名和评论建立对应。条件表示选择商品的情况下的条件,条件包含项目、阶段、判定结果。项目是进行了技能的判定的项目。商品名表示向利用者推荐的商品的名称。评论表示推荐商品的理由等。例如,在项目为“高尔夫”的情况下,在阶段“impact”中,定义在腰旋转的判定结果为-45°±α,右膝角度的判定结果为10°±α的情况下,推荐商品“高尔夫球杆A”。另外,在推荐该商品“高尔夫球杆A”时,定义赋予评论“对于身体转动式,为了增加弯曲,推荐把手侧柔软的杆身”。
控制部530具有获取部530a、接受部530b、检索部530c和画面生成部530d。控制部530例如与ASIC(Application Specific Integrated Circuit)、FPGA(FieldProgrammable Gate Array)等集成装置对应。另外,控制部530例如与CPU、MPU(MicroProcessing Unit)等电子电路对应。
获取部530a是从利用者终端400获取与技能的判定结果有关的信息的获取部。例如,与技能的判定结果有关的信息是将利用者识别信息、项目、技能判定结果以及运动数据建立对应的信息。获取部530a将利用者识别信息、项目以及技能判定结果建立对应地储存至技能判定结果表520a。
获取部530a在将与技能判定结果相关的信息储存于技能判定结果表520a的情况下,在已经储存有同一利用者识别信息和项目的组的记录的情况下,对相应的记录追加技能判定结果的信息。
接受部530b是从利用者终端400接受针对在技能判定结果表520a中储存的过去的技能判定结果的信息的访问的处理部。例如,利用者终端400在进行针对过去的技能判定结果的信息的访问的情况下,对服务器500通知利用者识别信息。接受部530b将从利用者终端400接受的利用者识别信息输出至检索部530c。
检索部530c是对与利用者识别信息对应的过去的技能判定结果、与成为技能的判定对象的项目相关的广告横幅信息、和与利用者的技能判定结果对应的商品进行检索的处理部。在以下的说明中,将与利用者识别信息对应的过去的技能判定结果适当地记作历史信息。检索部530c将检索出的历史信息、广告横幅信息和商品的信息输出至画面生成部530d。以下,对检索部530c的处理的一个例子进行说明。
首先,对检索部530c检索历史信息的处理的一个例子进行说明。检索部530c对从接受部530b获取到的利用者识别信息、和技能判定结果表520a进行比较,检索与利用者识别信息对应的项目以及技能判定结果。检索部530c将检索出的技能判定结果的信息作为历史信息,并输出至画面生成部530d。检索部530c检索出的项目利用于后述的检索广告横幅信息的情况。另外,检索部530c检索出的技能判定结果的信息利用于后述的检索商品信息的情况。
接着,对检索部530c检索广告横幅信息的处理的一个例子进行说明。检索部530c对利用者识别信息和个人信息表520b进行比较,确定与利用者识别信息对应的性别以及年龄。而且,检索部530c对项目、性别与年龄的组、和横幅信息表520c的条件进行比较,确定符合的记录。检索部530c将确定出的记录所包含的广告横幅信息输出至画面生成部530d。
例如,检索部530c在项目、性别与年龄的组为“高尔夫”、“男”、“25岁”的情况下,确定图45的第一行的记录。而且,检索部530c将广告横幅A1、B1、C1的信息输出至画面生成部530d。
接着,对检索部530c检索商品信息的处理的一个例子进行说明。检索部530c对项目与技能判定结果的组、和商品表520d的条件进行比较,确定符合的记录。检索部530c将确定出的记录所包含的商品信息输出至画面生成部530d。例如,商品信息包括商品名以及评论。检索部530c在对同一利用者识别信息存在多个技能判定结果的情况下,使用最新的技能判定结果来检索商品信息。
例如,假设项目为“高尔夫”,在技能判定结果所包含的阶段“impact”中,腰旋转的判定结果为“45°±α”,右膝角度的判定结果为“10°±α”。此时,检索部530c检索图46的第一行的记录所包含的商品名和评论的组,作为商品信息。
画面生成部530d是生成使利用者终端400的画面显示的显示画面的处理部。例如,画面生成部530d通过将从检索部530c获取的技能判定结果的信息、广告横幅信息、商品信息配置在画面上来生成显示画面。画面生成部530d将生成的显示画面的信息通知给进行了对技能判定结果的访问的利用者终端400。
接下来,对本实施例3所涉及的服务器500的处理顺序的一个例子进行说明。图47是表示本实施例3所涉及的服务器的处理顺序的流程图。如图47所示,服务器500的接受部530b接收利用者识别信息(步骤S301)。服务器500的检索部530c参照技能判定结果表520a,检索与利用者识别信息对应的技能判定结果,生成历史信息(步骤S302)。
检索部530c参照横幅信息表520c,检索广告横幅信息(步骤S303)。检索部530c参照商品表520d,检索商品信息(步骤S304)。
服务器500的画面生成部530d生成配置有历史信息、广告横幅信息、商品信息的显示画面(步骤S305)。画面生成部530d将显示画面的信息发送至利用者终端400(步骤S306)。
接下来,对本实施例3所涉及的服务器500的效果进行说明。服务器500在对利用者终端400通知过去的技能的判定结果的信息的情况下,使利用者终端400的显示画面显示与进行了技能判定的项目直接或者间接地相关的广告横幅。另外,服务器500使显示画面显示与利用者的技能的判定结果对应的商品的信息。由此,能够对参照技能判定结果的利用者广告直接、间接地相关的信息。另外,能够推荐与技能判定结果对应的商品信息。
然而,服务器500的接受部530b也可以在从利用者终端400将技能的判定结果的信息储存于技能判定结果表520a的情况下,将与数据量对应的账单信息通知给利用者终端400。例如,接受部530b对每个利用者识别信息监视存储于技能判定结果表的数据量。接受部530b向与数据量超过阈值的利用者识别信息对应的利用者终端400通知由于上传的数据量超过了阈值,所以在此以上的上传是收费的。在针对该通知,利用者同意支付的情况下,接受部530b接受支付方法,并与利用者识别信息建立对应地保存。
此外,操作利用者终端400的利用者在将与技能的判定结果有关的信息通知给服务器500的情况下,也可以代替将与技能的判定结果有关的全部信息通知给服务器500,而选择所通知的数据。例如,利用者也能够在判断为与运动数据有关的数据量较大的情况下,仅将技能的判定结果通知给服务器500,来节约数据量。另外,利用者也能够代替运动数据,仅将快照通知给服务器500,来减少数据量。
实施例4
图48是表示本实施例4所涉及的***的结构的图。如图48所示,该***具有利用者终端400a、400b、400c和服务器600。利用者终端400a~400c和服务器600经由网络50相互连接。此处作为一个例子,示出利用者终端400a~400c,但其它利用者终端也可以与网络50连接。在以下的说明中,将利用者终端400a~400c统一适当地记作利用者终端400。
利用者终端400具有与上述实施例2所示的技能判定装置100A同样的功能。利用者终端400是获取利用者的运动数据,判定利用者的技能,并将技能的判定结果通知给服务器600的处理部。此外,利用者终端400也可以与技能判定装置100A连接,从连接目标的技能判定装置100A获取利用者的技能的判定结果。
服务器600基于利用者的特征,将利用者分类为多个组。服务器600在从利用者终端400接收到技能的判定结果的情况下,判定成为该技能的判定对象的利用者所属的组,并将技能的判定结果的信息通知给判定出的组所包含的各利用者的利用者终端400。
图49是表示本实施例4所涉及的服务器的结构的功能框图。如图49所示,该服务器600具有通信部610、存储部620和控制部630。
通信部610是经由网络50与各利用者终端400执行数据通信的处理部。通信部610与通信装置对应。后述的控制部630经由通信部610与各利用者终端400交换数据。
存储部620具有技能判定结果表620a、个人信息表620b和组管理表620c。存储部620例如与RAM、ROM、闪存等半导体存储器元件等存储装置对应。
技能判定结果表620a是保持从利用者终端400通知的技能的判定结果的表。技能判定结果表620a的数据结构例如与图42所示的、技能判定结果表520a的数据结构相同。
个人信息表620b是保持利用者的个人信息的表。图50是表示本实施例4所涉及的个人信息表的数据结构的一个例子的图。如图50所示,该个人信息表620b将利用者识别信息、地址、性别、年龄、身高、体重、学校以及练习场建立对应。其中,利用者识别信息是唯一识别利用者的信息。地址例如是利用者所使用的电子邮件地址。年龄、身高、体重是通过利用者识别信息识别的利用者的性别、年龄、身高、体重。学校表示利用者就读的学校。练习场表示利用者进行练习的场所。
组管理表620c是保持利用者所属的组的信息的表。图51是表示组管理表的数据结构的一个例子的图。如图51所示,该组管理表620c将组识别信息和所属利用者识别信息建立对应。组识别信息是唯一识别组的信息。所属利用者识别信息表示属于组的利用者的利用者识别信息。例如,在图51所示的例子中,示出利用者识别信息“U101、U103、U114、…”的利用者属于组识别信息“G101”的组。
控制部630具有获取部630a、分类部630b和SNS(Social Networking Service:社会化网络服务)提供部630c。SNS提供部630c与通知部对应。控制部630例如与ASIC、FPGA等集成装置对应。另外,控制部630例如与CPU、MPU等电子电路对应。
获取部630a是从利用者终端400获取与技能的判定结果有关的信息的获取部。例如,与技能的判定结果有关的信息是将利用者识别信息、项目以及技能判定结果建立对应的信息。获取部630a将利用者识别信息、项目以及技能判定结果建立对应地储存至技能判定结果表620a。
获取部630a在将与技能判定结果有关的信息储存至技能判定结果表620a的情况下,在已经储存有同一利用者识别信息和项目的组的记录的情况下,对相应的记录追加技能判定结果的信息。
分类部630b是参照个人信息表620b,并将利用者识别信息分类到每个利用者的特征的组的处理部。分类部630b基于分类结果将组识别信息和属于该组识别信息的组的利用者识别信息建立对应,并登记至组管理表620c。
以下,对分类部630b的处理的一个例子进行说明。例如,分类部630b参照个人信息表620b,确定就读于同一学校的利用者识别信息,并将确定出的利用者识别信息分类到同一组。或者,分类部630b参照个人信息表620b,确定往返于同一练习场的利用者识别信息,并将确定出的利用者识别信息分类到同一组。
上述的分类处理只是一个例子,分类部630b也可以将利用者识别信息分类到同一年龄段的组、家族的组、接受同一教练的指导的组。另外,分类部630b也可以参照技能判定结果表620a,将技能为同等级的利用者识别信息分类到同一组。例如,分类部630b也可以通过对与技能判定结果所包含的good、bad、Excellent对应的分数进行合计来求出各利用者识别信息的分数,并将分数类似的利用者识别信息彼此分类到同一组。
SNS提供部630c是对各利用者终端400提供SNS的处理部。例如,SNS提供部630c参照组管理表620c,使属于同一组的利用者识别信息的利用者间共享技能判定结果的信息、其它电子公告板等信息。
例如,SNS提供部630c在技能判定结果表620a中登记有技能判定结果的信息的情况下,基于组管理表620c来判定属于与技能判定结果对应的利用者识别信息相同的组的利用者识别信息。SNS提供部630c将被登记到技能判定结果表620a的技能判定结果的信息通知给与确定出的利用者识别信息对应的利用者终端400。SNS提供部630c也可以参照个人信息表620b,确定属于组的利用者识别信息的地址,并将确定出的地址作为目的地来通知技能判定结果的信息。
例如,若参照图51,则所属利用者识别信息U101、U103、U114属于组识别信息“G101”的组。另外,通过获取部630a将利用者识别信息U101的技能判定结果登记于技能判定表620a。此时,SNS提供部630c将利用者识别信息U101的技能判定结果通知给同一组的利用者识别信息U103、U114的利用者终端400。
接下来,对本实施例4所涉及的服务器600的处理顺序的一个例子进行说明。图52是表示本实施例4所涉及的服务器的处理顺序的流程图。如图52所示,服务器600的分类部630b参照个人信息表620b,将利用者识别信息分类到多个组(步骤S401)。
服务器600的SNS提供部630c判定是否接收到技能判定结果(步骤S402)。SNS提供部630c在没有接收到技能判定结果的情况下(步骤S402:否),再次移至步骤S402。
SNS提供部630c在接收到技能判定结果的情况下(步骤S402:是),将接收到的技能判定结果储存至技能判定结果表620a(步骤S403)。SNS提供部630c确定与接收到的技能判定结果对应的利用者识别信息属于的组(步骤S404)。
SNS提供部630c确定属于确定出的组的利用者识别信息,并对与确定出的利用者识别信息对应的利用者终端400通知技能判定结果(步骤S405)。
接下来,对本实施例4所涉及的服务器600的效果进行说明。服务器600基于利用者的特征来将利用者识别信息分类到多个组。服务器600在从利用者终端400接收到技能的判定结果的情况下,判定成为该技能的判定对象的利用者属于的组,并对判定出的组所包含的各利用者识别信息的利用者终端400通知技能的判定结果的信息。因此,属于同一组的各利用者能够容易地取得沟通。例如,能够在社交网络上,交换用于提高技能的建议。另外,上述处理能够成为针对项目的邀请、事件邀请、约会邀请等间接地关联的网站、离线的窗口。
实施例5
图53是表示本实施例5所涉及的***的结构的图。如图53所示,该***具有利用者终端400a、400b、400c和服务器700。利用者终端400a~400c和服务器700经由网络50相互连接。此处作为一个例子,示出利用者终端400a~400c,但其它利用者终端也可以与网络50连接。在以下的说明中,将利用者终端400a~400b统一适当地记作利用者终端400。
利用者终端400具有与上述实施例2所示的技能判定装置100A同样的功能。利用者终端400是获取利用者的运动数据,判定利用者的技能,并将技能的判定结果通知给服务器700的处理部。此外,利用者终端400也可以与技能判定装置100A连接,从连接目的地的技能判定装置100A获取利用者的技能的判定结果。
另外,利用者操作利用者终端400,从服务器700获取自己喜欢的专业人员的示范数据,并利用获取到的专业人员的示范数据来判定利用者的技能。
服务器700是管理多个种类的专业人员的示范数据的服务器。服务器700若从利用者终端400接受访问,则显示多种专业人员的示范数据,并接受任一专业人员的示范数据的选择。服务器700若接受专业人员的示范数据的选择,则将接受了选择的示范数据通知给利用者终端400。此外,服务器700也可以选择适合利用者的专业人员的示范数据,并将选择出的专业人员的示范数据通知给利用者终端400。
图54是表示本实施例5所涉及的服务器的结构的功能框图。如图54所示,该服务器700具有通信部710、存储部720和控制部730。
通信部710是经由网络50与各利用者终端400执行数据通信的处理部。通信部710与通信装置对应。后述的控制部730经由通信部710与各利用者终端400交换数据。
存储部720具有技能判定结果表720a、个人信息表720b和专业人员数据表720c。存储部720例如与RAM、ROM、闪存等半导体存储器元件等存储装置对应。
技能判定结果表720a是保持从利用者终端400通知的技能的判定结果的表。技能判定结果表720a的数据结构例如与图42所示的技能判定结果表520a的数据结构相同。
个人信息表720b是保持利用者的个人信息的表。个人信息表720b的数据结构例如与图44所示的、个人信息表520b的数据结构相同。
专业人员数据表720c是保持与专业人员的示范数据有关的信息的表。图55是表示专业人员数据表的数据结构的一个例子的图。如图55所示,该专业人员数据表720c将专业人员识别信息、简介信息、示范数据以及评价值建立对应。其中,专业人员识别信息是唯一识别专业人员的信息。简介信息是专业人员的简介的信息。例如,专业人员的简介的信息包含专业人员的性别、年龄、体重、身高等信息。示范数据对应于在实施例2中说明的示范数据120a。
控制部730具有获取部730a、接受部730b、选择部730c和通知部730d。控制部730例如与ASIC、FPGA等集成装置对应。另外,控制部730例如与CPU、MPU等电子电路对应。
获取部730a是从利用者终端400获取与技能的判定结果有关的信息的获取部。例如,与技能的判定结果相关的信息是将利用者识别信息、项目以及技能判定结果建立对应的信息。获取部730a将利用者识别信息、项目以及技能判定结果建立对应地储存至技能判定结果表720a。
获取部730a在将与技能判定结果有关的信息储存至技能判定结果表720a的情况下,在已经储存有同一利用者识别信息与项目的组的记录时,对相应的记录追加技能判定结果的信息。
接受部730b在从利用者终端接受到与专业人员的示范数据有关的访问请求的情况下,执行如下的动作。接受部730b使利用者终端400显示将专业人员数据表720c中所储存的专业人员的简介信息、示范数据以及评价值建立对应的显示画面。接受部730b若从操作利用者终端的利用者接受示范数据的选择,则将接受了选择的示范数据通知给利用者终端400。此外,后述的通知部730d也可以将接受了选择的示范数据通知给利用者终端400。
另外,接受部730b在从利用者终端400接受到针对专业人员的示范数据的评价值的信息的情况下,更新相应的评价值。例如,接受部730b也可以通过对来自与专业人员对应的各利用者终端400的评价值进行平均化来更新专业人员数据表720c的评价值。
在上述的例子中,对操作利用者终端的利用者选择示范数据的情况进行了说明,但服务器700也可以选择针对利用者的适当的示范数据,并将选择出的示范数据通知给利用者终端400。
选择部730c是选择针对利用者的适当的示范数据的处理部。例如,选择部730c从利用者终端400获取利用者识别信息,从个人信息表720b获取与利用者识别信息对应的性别、年龄、身高、体重。在以下的说明中,将与利用者识别信息对应的性别、年龄、身高、体重统一适当地记作利用者简介信息。
通知部730d是将从选择部730c获取到的示范数据通知给请求源的利用者终端400的处理部。
接着,对选择部730c的处理的一个例子进行说明。选择部730c选择与利用者简介信息最类似的、专业人员数据表720c的简介信息。选择部730c选择与选择出的简介信息对应的记录的示范数据,并将选择出的示范数据输出至通知部730d。
选择部730c也可以以任意的方式选择类似的简介信息。例如,选择部730c对利用者简介信息和专业人员的简介信息进行比较,对性别是否一致、年龄差、身高差、体重差分别给予分数,并将合计分数最高的简介信息选择为类似的简介信息。例如,在性别一致的情况下,给予规定的分数,在不一致的情况下,不给予分数。对于年龄差、身高差、体重差而言,差越小,给予越大的分数。
而且,选择部730c也可以从利用者终端400获取利用者的运动数据,并从专业人员数据表720c的示范数据获取与获取到的运动数据最类似的示范数据。例如,选择部730c通过基于利用者的运动数据和专业人员数据表720c的各示范数据,进行与实施例2中所说明的技能判定装置100A同样的处理来进行技能判定,从而选择与利用者的运动数据最类似的示范数据。例如,选择部730c也可以进行技能判定,将Excellent数最多的示范数据选择为最类似的示范数据。
另外,选择部730c也可以将通知给利用者终端400的示范数据与基于该示范数据的技能判定结果建立对应,并储存于技能判定结果表720a。选择部730c反复执行上述处理,基于技能判定结果表720a中所储存的技能判定结果来判定利用者的技能是否提高。例如,选择部730c对与同一利用者识别信息对应的过去的技能判定结果和当前的技能判定结果进行比较,在Excellent数增加的情况下,判定为利用者与专业人员的兼容性良好。此时,选择部730c继续将同一专业人员的示范数据通知给利用者终端400。另外,选择部730c也可以在Excellent数增加的情况下,进行增大符合的专业人员的评价值的修正。
与此相对,选择部730c对与同一利用者识别信息对应的过去的技能判定结果和当前的技能判定结果进行比较,在Excellent数减少的情况下或没有变化的情况下,判定为利用者与专业人员的兼容性较差。此时,选择部730c将其它专业人员的示范数据通知给利用者终端400。另外,选择部730c也可以在Excellent数减少的情况下或没有变化的情况下,进行减小符合的专业人员的评价值的修正。
接下来,对本实施例5所涉及的服务器700的处理顺序的一个例子进行说明。图56是表示本实施例5所涉及的服务器的处理顺序的流程图。如图56所示,服务器700的接受部730a从利用者终端400接受专业人员的示范数据的请求(步骤S501)。
此处,服务器700在利用者自身选择专业人员的示范数据的情况下(步骤S502:是),移至步骤S503。而在利用者自身没有选择专业人员的示范数据的情况下(步骤S502:否),移至步骤S506。
对步骤S503以下的处理进行说明。服务器700的接受部730b将专业人员的简介信息、示范数据和评价值建立对应,并使利用者终端400显示(步骤S503)。
接受部730b判定是否接受了示范数据的选择(步骤S504)。接受部730b在没有接受示范数据的选择的情况下(步骤S504:否),再次移至步骤S504。
而接受部730b在接受了示范数据的选择的情况下(步骤S504:是),将接受了选择的示范数据通知给利用者终端400(步骤S505)。
对步骤S506以下的处理进行说明。服务器700的选择部730c从利用者终端400获取利用者识别信息(步骤S506)。选择部730c选择适合利用者的示范数据(步骤S507)。服务器700将由选择部730c选择出的示范数据通知给利用者终端400(步骤S508)。
接下来,对本实施例5所涉及的服务器700的效果进行说明。服务器700若将专业人员的示范数据显示于利用者终端400,并接受专业人员的示范数据的选择,则将接受了选择的示范数据通知给利用者终端400。或者,服务器700选择适合利用者的专业人员的示范数据,并将选择出的专业人员的示范数据通知给利用者终端400。因此,利用者能够使用适合自己的专业人员的示范数据来进行技能判定。
接下来,对执行实现与上述实施例所示的服务器500、600、700相同的功能的控制程序的计算机的一个例子以及硬件结构进行说明。图57是表示执行控制程序的计算机的一个例子的图。
如图57所示,计算机800具有执行各种运算处理的CPU801、接受来自用户的数据的输入的输入装置802和显示器803。另外,计算机800具有从存储介质读取程序等的读取装置804、和经由网络与其它计算机之间进行数据的交换的接口装置805。另外,计算机800具有暂时存储各种信息的RAM806、和硬盘装置807。而且,各装置801~807与总线808连接。
硬盘装置807具有控制程序807a。CPU801读出控制程序807a并展开至RAM806。控制程序807a作为控制工序806a发挥作用。例如,控制工序806a与图41所示的、获取部530a、接受部530b、检索部530c、画面生成部530d对应。或者,控制工序806a与图49所示的、获取部630a、分类部630b、SNS提供部630c对应。或者,控制工序806a与图54所示的、获取部730a、接受部730b、选择部730c、通知部730d对应。
此外,控制程序807a也可以未必从最初存储于硬盘装置807。例如,使***计算机800的软盘(FD)、CD-ROM、DVD光盘、光磁盘、IC卡等的“便携式物理介质”存储各程序。而且,计算机800也可以读出控制程序807a来执行。
符号说明
100 骨骼估计装置
110 3D传感器
120 通信部
130 输入部
140 显示部
150 存储部
151 三维数据表
152 模型数据
153 骨骼数据表
160 控制部
161 获取部
162 确定部
163 第一估计部
164 第二估计部
165 输出部

Claims (9)

1.一种骨骼估计装置,其特征在于,具有:
确定部,从距离传感器获取存在于对象物上的多个观测点的三维信息,并基于上述三维信息从上述对象物的区域确定第一区域、和与上述第一区域相邻的多个第二区域,并确定上述第二区域所包含的多个特征点的位置,基于模型数据确定与每个上述特征点对应的上述对象物的部位,其中,上述模型数据是定义对象物模型的种类和上述对象物模型的各部位的三维坐标的信息;
第一估计部,设定链节,其中,每个链节在基于上述第二区域所包含的各特征点计算的两个端点之间延伸,从而估计上述第二区域所包含的骨骼的位置;以及
第二估计部,在所使用的多个参数中上述第二区域所包含的骨骼的端点、和从上述端点到上述对象物的上述第一区域所包含的部位的位置为止的长度固定的状态下,确定上述对象物的上述第一区域所包含的多个部位的位置,并基于确定出的位置来估计上述第一区域所包含的骨骼的位置,
其中,上述多个参数包括角度参数,上述第二估计部通过变更上述角度参数来计算上述第一区域所包含的多个部位的位置的多个候补,并将上述多个候补中与由上述确定部基于上述模型数据确定的上述第一区域所包含的部位的位置的距离近的候补确定为上述第一区域所包含的多个部位。
2.根据权利要求1所述的骨骼估计装置,其特征在于,
上述第二估计部在确定出上述第一区域所包含的部位的情况下,根据确定出的部位的位置来更新上述第一区域内的预先决定的点的位置。
3.根据权利要求1或者2所述的骨骼估计装置,其特征在于,
上述第一区域对应上述对象物的躯干部分的区域,上述多个第二区域对应上述对象物的头部的区域、臂部分的区域、腿部分的区域。
4.一种骨骼估计方法,是计算机执行的骨骼估计方法,其特征在于,
执行如下的处理:
从距离传感器获取存在于对象物上的多个观测点的三维信息,并基于上述三维信息从上述对象物的区域确定第一区域、和与上述第一区域相邻的多个第二区域,并确定上述第二区域所包含的多个特征点的位置,基于模型数据确定与每个上述特征点对应的上述对象物的部位,其中,上述模型数据是定义对象物模型的种类和上述对象物模型的各部位的三维坐标的信息;
设定链节,其中,每个链节在基于上述第二区域所包含的各特征点计算的两个端点之间延伸,从而估计上述第二区域所包含的骨骼的位置;以及
在所使用的多个参数中上述第二区域所包含的骨骼的端点、和从上述端点到上述对象物的上述第一区域所包含的部位的位置为止的长度固定的状态下,确定上述对象物的上述第一区域所包含的多个部位的位置,并基于确定出的位置来估计上述第一区域所包含的骨骼的位置,
其中,上述多个参数包括角度参数,估计上述第一区域所包含的骨骼的位置的处理通过变更上述角度参数来计算上述第一区域所包含的多个部位的位置的多个候补,并将上述多个候补中与基于上述模型数据确定的上述第一区域所包含的部位的位置的距离近的候补确定为上述第一区域所包含的多个部位。
5.根据权利要求4所述的骨骼估计方法,其特征在于,
估计上述第一区域所包含的骨骼的位置的处理在确定出上述第一区域所包含的部位的情况下,根据确定出的部位的位置来更新上述第一区域内的预先决定的点的位置。
6.根据权利要求4或者5所述的骨骼估计方法,其特征在于,
上述第一区域对应上述对象物的躯干部分的区域,上述多个第二区域对应上述对象物的头部的区域、臂部分的区域、腿部分的区域。
7.一种非暂时性计算机可读取记录介质,存储骨骼估计程序,其特征在于,
上述骨骼估计程序使计算机执行如下的处理:
从距离传感器获取存在于对象物上的多个观测点的三维信息,并基于上述三维信息从上述对象物的区域确定第一区域、和与上述第一区域相邻的多个第二区域,并确定上述第二区域所包含的多个特征点的位置,基于模型数据确定与每个上述特征点对应的上述对象物的部位,其中,上述模型数据是定义对象物模型的种类和上述对象物模型的各部位的三维坐标的信息;
设定链节,其中,每个链节在基于上述第二区域所包含的各特征点计算的两个端点之间延伸,从而估计上述第二区域所包含的骨骼的位置;以及
在所使用的多个参数中上述第二区域所包含的骨骼的端点、和从上述端点到上述对象物的上述第一区域所包含的部位的位置为止的长度固定的状态下,确定上述对象物的上述第一区域所包含的多个部位的位置,并基于确定出的位置来估计上述第一区域所包含的骨骼的位置,
其中,上述多个参数包括角度参数,估计上述第一区域所包含的骨骼的位置的处理通过变更上述角度参数来计算上述第一区域所包含的多个部位的位置的多个候补,并将上述多个候补中与基于上述模型数据确定的上述第一区域所包含的部位的位置的距离近的候补确定为上述第一区域所包含的多个部位。
8.根据权利要求7所述的非暂时性计算机可读取记录介质,其特征在于,
估计上述第一区域所包含的骨骼的位置的处理在确定出上述第一区域所包含的部位的情况下,根据确定出的部位的位置来更新上述第一区域内的预先决定的点的位置。
9.根据权利要求7或者8所述的非暂时性计算机可读取记录介质,其特征在于,
上述第一区域对应上述对象物的躯干部分的区域,上述多个第二区域对应上述对象物的头部的区域、臂部分的区域、腿部分的区域。
CN201680084967.XA 2016-04-28 2016-04-28 骨骼估计装置、骨骼估计方法以及骨骼估计程序 Active CN109074641B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/063501 WO2017187641A1 (ja) 2016-04-28 2016-04-28 骨格推定装置、骨格推定方法および骨格推定プログラム

Publications (2)

Publication Number Publication Date
CN109074641A CN109074641A (zh) 2018-12-21
CN109074641B true CN109074641B (zh) 2022-02-11

Family

ID=60160217

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680084967.XA Active CN109074641B (zh) 2016-04-28 2016-04-28 骨骼估计装置、骨骼估计方法以及骨骼估计程序

Country Status (5)

Country Link
US (1) US10839550B2 (zh)
EP (1) EP3451292B1 (zh)
JP (1) JP6617830B2 (zh)
CN (1) CN109074641B (zh)
WO (1) WO2017187641A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019229818A1 (ja) 2018-05-28 2019-12-05 富士通株式会社 表示方法、表示プログラムおよび情報処理装置
JP6985982B2 (ja) * 2018-05-31 2021-12-22 株式会社日立製作所 骨格検出装置、及び骨格検出方法
JP7192528B2 (ja) * 2019-01-24 2022-12-20 株式会社ジェイテクト アシスト装置
US10657396B1 (en) * 2019-01-30 2020-05-19 StradVision, Inc. Method and device for estimating passenger statuses in 2 dimension image shot by using 2 dimension camera with fisheye lens
US11205350B2 (en) * 2019-05-15 2021-12-21 International Business Machines Corporation IoT-driven proprioceptive analytics with automated performer feedback
JP2020197044A (ja) * 2019-05-31 2020-12-10 株式会社小松製作所 マップ生成システム及びマップ生成方法
FR3098332B1 (fr) * 2019-07-05 2022-01-07 Fond B Com Procédé et dispositif de détermination de l’amplitude d’un mouvement effectué par un membre d’un corps articulé
JP7370777B2 (ja) * 2019-09-13 2023-10-30 株式会社東芝 学習システム、分析システム、学習方法、分析方法、プログラム、及び記憶媒体
JP6868673B1 (ja) * 2019-11-12 2021-05-12 ソフトバンク株式会社 情報処理装置、情報処理方法、および情報処理プログラム
JP7231573B2 (ja) * 2020-01-31 2023-03-01 Kddi株式会社 映像変換方法、装置およびプログラム
KR102332113B1 (ko) * 2020-03-31 2021-11-30 한국과학기술원 Visuomotor 시스템을 이용한 모델 예측 제어에 기반한 풀바디 모델링 방법 및 장치
CN114078193A (zh) * 2020-08-12 2022-02-22 株式会社理光 图像处理方法、设备和介质
KR102501811B1 (ko) * 2020-10-23 2023-02-21 주식회사 모아이스 이미지상에 그래픽 객체를 표시하기 위한 방법, 디바이스 및 비일시성의 컴퓨터 판독 가능한 기록 매체
EP4265106A4 (en) * 2020-12-21 2024-05-29 Revamp Corp INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD AND PROGRAM
WO2024009503A1 (ja) * 2022-07-08 2024-01-11 富士通株式会社 姿勢推定プログラム、装置、及び方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101782968A (zh) * 2010-02-03 2010-07-21 北京航空航天大学 基于测地模型的人体骨骼提取和朝向判定方法
CN102831380A (zh) * 2011-06-15 2012-12-19 康佳集团股份有限公司 一种基于深度图像感应的肢体动作识别方法及***
CN104751513A (zh) * 2015-03-12 2015-07-01 深圳市同洲电子股份有限公司 一种建立人体骨骼模型的方法及装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001522630A (ja) * 1997-11-05 2001-11-20 ジンテーズ アクチエンゲゼルシャフト クール 骨または骨関節の仮想表示
US8577154B2 (en) * 2008-06-16 2013-11-05 University Of Southern California Automated single viewpoint human action recognition by matching linked sequences of key poses
BRPI0917864A2 (pt) * 2008-08-15 2015-11-24 Univ Brown aparelho e método para estimativa da forma corporal
JP6321905B2 (ja) * 2010-02-25 2018-05-09 本田技研工業株式会社 関節システムの制御方法、記憶媒体、制御システム
US9117113B2 (en) * 2011-05-13 2015-08-25 Liberovision Ag Silhouette-based pose estimation
JP2013003686A (ja) * 2011-06-13 2013-01-07 Sony Corp 認識装置および方法、プログラム、並びに記録媒体
US8786680B2 (en) * 2011-06-21 2014-07-22 Disney Enterprises, Inc. Motion capture from body mounted cameras
US8929600B2 (en) * 2012-12-19 2015-01-06 Microsoft Corporation Action recognition based on depth maps
JP2015011404A (ja) * 2013-06-26 2015-01-19 シャープ株式会社 動作認識処理装置
JP6433149B2 (ja) 2013-07-30 2018-12-05 キヤノン株式会社 姿勢推定装置、姿勢推定方法およびプログラム
JP6027554B2 (ja) * 2014-01-21 2016-11-16 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理システム、ブロックシステム、および情報処理方法
KR101693585B1 (ko) * 2014-09-16 2017-01-06 주식회사 대부 엑스레이 뼈위치 확인을 이용한 도체 발골장치
KR101729195B1 (ko) * 2014-10-16 2017-04-21 한국전자통신연구원 질의동작기반 안무 검색 시스템 및 방법
US9928412B2 (en) * 2014-10-17 2018-03-27 Ebay Inc. Method, medium, and system for fast 3D model fitting and anthropometrics
MA41117A (fr) * 2014-12-05 2017-10-10 Myfiziq Ltd Imagerie d'un corps
US11511156B2 (en) * 2016-03-12 2022-11-29 Arie Shavit Training system and methods for designing, monitoring and providing feedback of training
US20170312032A1 (en) * 2016-04-27 2017-11-02 Arthrology Consulting, Llc Method for augmenting a surgical field with virtual guidance content

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101782968A (zh) * 2010-02-03 2010-07-21 北京航空航天大学 基于测地模型的人体骨骼提取和朝向判定方法
CN102831380A (zh) * 2011-06-15 2012-12-19 康佳集团股份有限公司 一种基于深度图像感应的肢体动作识别方法及***
CN104751513A (zh) * 2015-03-12 2015-07-01 深圳市同洲电子股份有限公司 一种建立人体骨骼模型的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Tracking loose-limbed people;Leonid Sigal 等;《CVPR2004》;20040719;正文第1-4部分 *

Also Published As

Publication number Publication date
US20190066327A1 (en) 2019-02-28
JPWO2017187641A1 (ja) 2018-11-29
EP3451292A1 (en) 2019-03-06
EP3451292A4 (en) 2019-03-13
WO2017187641A1 (ja) 2017-11-02
EP3451292B1 (en) 2020-02-12
US10839550B2 (en) 2020-11-17
JP6617830B2 (ja) 2019-12-11
CN109074641A (zh) 2018-12-21

Similar Documents

Publication Publication Date Title
CN109074641B (zh) 骨骼估计装置、骨骼估计方法以及骨骼估计程序
JP6384549B2 (ja) スキル判定プログラム、スキル判定方法およびスキル判定装置
CN109863535B (zh) 运动识别装置、存储介质以及运动识别方法
US10803762B2 (en) Body-motion assessment device, dance assessment device, karaoke device, and game device
JP7127650B2 (ja) 認識プログラム、認識方法および認識装置
KR20220028654A (ko) 미러 디스플레이를 이용하여 태권도 동작 코칭 서비스를 제공하는 장치 및 방법
CN110546679B (zh) 识别装置、识别***,识别方法以及存储介质
US20220284652A1 (en) System and method for matching a test frame sequence with a reference frame sequence
Zhang et al. Intelligent sports performance scoring and analysis system based on deep learning network
Dilsizian et al. The importance of 3D motion trajectories for computer-based sign recognition
WO2023112321A1 (ja) 画像処理システム、画像処理方法及び非一時的なコンピュータ可読媒体
WO2023209955A1 (ja) 情報処理装置、情報処理方法及び記録媒体
Reyes Estany Human pose analysis and gesture recognition from depth maps: methods and applications
Bulzacki Machine recognition of human gestures through principal joint variable analysis
Jiménez Bascones Cloud point labelling in optical motion capture systems
Ko et al. Human Activity Recognition System Using Angle Inclination Method and Keypoints Descriptor Network
Mena et al. Temporal nearest end-effectors for real-time full-body human actions recognition
Connaghan Multi-sensor human action recognition with particular application to tennis event-based indexing
CN107705320A (zh) 跟踪视频中的对象的边界点的方法和装置

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