CN114266691A - 过滤方法、过滤程序和过滤装置 - Google Patents
过滤方法、过滤程序和过滤装置 Download PDFInfo
- Publication number
- CN114266691A CN114266691A CN202111074724.7A CN202111074724A CN114266691A CN 114266691 A CN114266691 A CN 114266691A CN 202111074724 A CN202111074724 A CN 202111074724A CN 114266691 A CN114266691 A CN 114266691A
- Authority
- CN
- China
- Prior art keywords
- coordinates
- skeleton
- dimensional
- error
- dimensional skeleton
- 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
- 238000001914 filtration Methods 0.000 title claims abstract description 57
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000006243 chemical reaction Methods 0.000 claims abstract description 64
- 238000001514 detection method Methods 0.000 claims abstract description 49
- 238000012545 processing Methods 0.000 claims description 52
- 238000009499 grossing Methods 0.000 claims description 45
- 238000004364 calculation method Methods 0.000 claims description 18
- 230000008859 change Effects 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 4
- 230000033001 locomotion Effects 0.000 description 103
- 230000006870 function Effects 0.000 description 79
- 230000009471 action Effects 0.000 description 61
- 238000012937 correction Methods 0.000 description 34
- 230000002159 abnormal effect Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 14
- 238000003384 imaging method Methods 0.000 description 10
- 230000009466 transformation Effects 0.000 description 8
- 238000012549 training Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000006872 improvement Effects 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 5
- 210000000707 wrist Anatomy 0.000 description 5
- 230000002411 adverse Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000002360 preparation method Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012732 spatial analysis Methods 0.000 description 2
- 238000012731 temporal analysis Methods 0.000 description 2
- 238000000700 time series analysis Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000000386 athletic effect Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000000491 multivariate analysis Methods 0.000 description 1
- 238000012314 multivariate regression analysis Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—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/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/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20172—Image enhancement details
- G06T2207/20182—Noise reduction or smoothing in the temporal domain; Spatio-temporal filtering
-
- 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/20212—Image combination
- G06T2207/20216—Image averaging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
公开了过滤方法、过滤程序和过滤装置。一种过滤方法,包括:将通过对二维视频进行骨架检测获得的二维骨架坐标转换为三维骨架坐标;参考影响程度数据,根据三维骨架坐标并且根据与三维骨架坐标所属的倾斜度等级相对应的每个关节的影响程度,来计算误差的估计值,在该影响程度数据中,每个关节对二维至三维坐标转换中的误差的影响程度与根据身体轴的倾斜度划分的倾斜度等级中的每个倾斜度等级相关联;以及去除误差的估计值大于或等于阈值的三维骨架坐标。
Description
技术领域
本文中讨论的实施方式涉及过滤技术。
背景技术
已知一种用于从视频中检测人的骨架的称为骨架检测的技术。例如,存在将从2D视频中获得的二维(2D)骨架坐标转换为三维(3D)骨架坐标的深度学习(DL)框架。
从减少可能包括在通过这样的转换获得的3D骨架坐标的时间序列数据中的异常值的影响的方面,通过将3D骨架坐标的时间序列数据替换为在一定范围内限定的相邻帧中的3D骨架坐标的平均值来平滑3D骨架坐标的时间序列数据。
[引文列表]
[非专利文献]
[非专利文献1]Oppenheim,Alan V.,Schafer,Ronald W.,and Buck,John R.,Discrete-Time Signal Processing 2nd Ed.,Prentice Hall,1999.
[非专利文献2]Mitra,Sanjit K.,Digital Signal Processing 2nd Ed.,McGraw-Hill,2001.
[非专利文献3]Gustafsson,F.,“Determining the initial states inforward-backward filtering”,IEEE(R)Transactions on Signal Processing,第44卷,第988-992页,1996年4月.
[非专利文献4]Martinez,Julieta,Hossain,Rayat,Romero,Javier,Little,James J.,“A simple yet effective baseline for 3d human pose estimation”,InICCV,2017.
[非专利文献5]Mehta,D.,Sridhar,S.,Sotnychenko,O.,Rhodin,H.,Shafiei,M.,Seidel,H.-P.,Xu,W.,Casas,D.,and Theobalt,C.,“VNect:Real-time 3d Human PoseEstimation with a Single RGB Camera”,in ACM TOG,2017.以上非专利文献作为相关技术公开。
发明内容
[技术问题]
然而,由于在上述平滑中对3D骨架坐标的时间序列数据中包括的异常值和正常值进行了平均,因此3D骨架坐标的异常值对正常值的不利影响仍然存在。
在一个方面,本公开内容的目的在于提供能够在3D骨架坐标的平滑中实现更高的精度的过滤方法、过滤程序和过滤装置。
[问题的解决方案]
在实施方式的一个方面中,计算机执行以下过滤方法。该过滤方法包括:将通过对二维视频进行骨架检测获得的二维骨架坐标转换为三维骨架坐标;参考影响程度数据,根据三维骨架坐标并且根据与三维骨架坐标所属的倾斜度等级相对应的每个关节的影响程度,来计算误差的估计值,在该影响程度数据中,每个关节对二维至三维坐标转换中的误差的影响程度与根据身体轴的倾斜度划分的倾斜度等级中的每个倾斜度等级相关联;以及去除误差的估计值大于或等于阈值的三维骨架坐标。
[发明的效果]
可以实现3D骨架坐标的平滑方面的更高精度。
附图说明
图1是示出根据第一实施方式的动作识别服务的示例的图;
图2是示出由对象识别功能实现的功能的示例的图;
图3是示出骨架检测结果的示例的图;
图4是示出2D至3D转换结果的示例的图;
图5是示出身体轴的倾斜度wf的示例的图;
图6是示出倾斜度等级的示例的图;
图7是示出计算系数k的方法的示例的图;
图8是示出平滑结果的示例的图;
图9是示出根据第一实施方式的动作识别装置的功能配置的示例的框图;
图10是示出对象识别单元的功能配置的示例的图;
图11是示出根据第一实施方式的动作识别处理的过程的流程图;
图12是示出根据第一实施方式的对象识别处理的过程的流程图;和
图13是示出计算机的硬件配置的示例的图。
具体实施方式
下面将参照附图描述根据本申请的过滤方法、过滤程序和过滤装置。注意,实施方式不旨在限制所公开的技术。各个实施方式可以在不引起处理内容中的任何矛盾的范围内适当地组合。
[第一实施方式]
将通过示例来描述根据本实施方式的过滤功能应用于仅作为示例的动作识别服务的用例。然而,这仅是示例,并且过滤功能可以应用于除动作识别服务之外的使用3D骨架坐标的任何服务。
[用例的一个示例]
图1是示出根据第一实施方式的动作识别服务的示例的图。图1中所示的动作识别服务1提供用于从由摄像装置2获得的视频识别被摄体(例如,人)的动作的服务。在这样的动作识别服务1中,将由于多个运动被组合而复杂化的更高级动作设置为识别目标,这仅是示例。例如,更高级动作的示例可以包括可疑动作、购买动作、工作动作和其他任意动作。
除了上述动作识别服务1之外,“更高级动作”的识别伴随着准备大量包括动作的视频等作为训练数据。然而,准备如此大量的训练数据实质上是困难的,或者即使可以准备大量的训练数据,该准备也需要时间和精力。这样的情况在一个方面给实际使用带来了困难。
从省略准备如此大量的训练数据的方面,上述动作识别服务1基于通过时间序列分析和空间分析从日常生活中进行的“基本运动”识别的“元素动作”的组合来识别更高级动作。后面将描述时间序列分析和空间分析。
如图1中所示,动作识别服务1可以包括对象识别功能3、基本运动识别功能4、空间状态识别功能5、更高级动作识别功能6等。
对象识别功能3是用于从由摄像装置2捕获的视频中识别对象的功能。本文中提到的“对象”是指视频中要被设置为动作识别的目标的被摄体。对象的示例可以包括要被设置为动作识别的目标的人。除此之外,对象的示例还可以包括与动作识别相关的对象,例如,由人使用的工具或布置在环境中的固定装置、商品、装备等。
图2是示出由对象识别功能3实现的功能的示例的图。如图2中所示,对象识别功能3包括对象检测功能3A、骨架检测功能3B、2D至3D转换功能3C、透视投影(perspectiveprojection)变换功能3D和平滑功能3E。
对象检测功能3A针对视频的每个帧执行对对象存在的区域的识别,例如所谓的对象检测。除了这样的对象检测之外,还可以执行对独特对象或一类对象的识别。通过将也称为骨架检测(骨架估计)或姿势检测(姿势估计)的处理应用于对象中的人,骨架检测功能3B提取包括关于每个关节的位置的信息的骨架信息。针对视频的各个帧执行这样的骨架检测。因此,获得视频的各个帧中的2D骨架坐标,例如2D骨架坐标的时间序列数据。2D至3D转换功能3C将2D骨架坐标的时间序列数据转换为3D骨架坐标的时间序列数据。对象检测功能3A、骨架检测功能3B和2D至3D转换功能3C的系列功能可以通过DL框架来实现,该DL框架包括学习了对象的模型、学习了骨架检测的模型和学习了2D至3D转换的模型,这仅是示例。透视投影变换功能3D通过透视投影变换时的轴设置对3D骨架坐标执行轴校正。例如,透视投影变换功能3D基于根据3D骨架坐标计算的摄像装置参数的估计值和摄像装置2的已知摄像装置参数(例如,在操作之前对摄像装置2的校准结果),执行用于校正轴在摄像装置2的深度方向上的倾斜度的轴校正。平滑功能3E执行平滑,在该平滑中利用在一定范围内限定的相邻帧中的3D骨架坐标的平均值替换3D骨架坐标的时间序列数据。
基本运动识别功能4是用于根据每个帧中的3D骨架坐标识别基本运动的功能。本文中提到的“基本运动”可以包括在人的整个身体中出现运动的“全身动作”、在人的身体的一部分中出现运动的“局部动作”等。其中,“全身动作”的示例包括诸如“步行”、“跑步”和“保持静止”的动作。“局部动作”的示例包括诸如“举起右手”、“向下看”和“向前看”的动作。由于“全身动作”和“局部动作”是在日常生活中进行的“基本运动”,因此与“更高级动作”相比,“全身动作”和“局部动作”是简单的运动。因此,收集包含“基本运动”的视频是容易的,并且可以使用经训练的模型来实现高度精确的识别。基本运动的识别可以通过使用已经根据任意机器学习算法学习了基本运动的模型(例如,诸如神经网络或分类器的模型)来实现,这仅是示例。
空间状态识别功能5根据通过对象识别确定的人与人周围的空间之间的关系是否满足特定条件来识别空间状态。本文中提到的“空间”可以是在视频中限定的所谓感兴趣区域(ROI),或者可以是其中通过对象识别识别到对象的区域。
在一个方面,空间状态识别功能5能够通过针对人与空间之间的距离执行基于阈值的确定来识别空间状态。例如,将例示以下情况:获得将人的3D骨架坐标建模至的骨架和特定对象(例如,椅子)存在的区域作为对象识别结果的示例。在这种情况下,通过关于髋的中心位置与对象的区域的重心位置之间的距离是否小于或等于特定阈值的确定来识别空间状态“椅子”,该髋的中心位置是根据骨架中包括的关节中的右髋位置和左髋位置计算的。在另一方面,空间状态识别功能5能够通过执行关于目标的位置是在人与空间之间的区域内部还是外部的确定来识别空间状态。例如,将例示以下情况:获得将人的3D骨架坐标建模至的骨架和特定对象(例如,键盘)存在的区域作为对象识别结果的示例。在这种情况下,通过关于骨架中包括的关节中的左手腕的位置是否在键盘的区域内部的确定来识别空间状态“键盘”。其中由对象限定空间的示例仅被描述为示例。然而,空间不一定必须由对象限定,并且空间可以由在视频中设置的ROI等限定。
更高级动作识别功能6是用于识别更高级动作的功能。如图1中所示,更高级动作识别功能6可以包括元素动作识别功能6A、场景识别功能6B等。
元素动作识别功能6A是用于通过将关于一个或多个基本运动的识别结果的时间序列数据和/或空间状态与元素动作识别规则7A进行比较来识别元素动作的功能。在元素动作识别规则7A中,针对要识别的每个元素动作限定关于一个或多个基本运动的时间序列模式和空间状态中的至少一个或两者。时间序列模式的示例包括例如基本运动的连续性、基本运动的状态转变等。
场景识别功能6B是用于通过将元素动作识别结果与场景识别规则7B进行比较来识别更高级动作的功能。在场景识别规则7B中,针对要识别的每个更高级动作,将元素动作的组合限定为场景。这样的场景可以被限定为序列、逻辑操作等。
元素动作识别规则7A和场景识别规则7B不仅可以通过系统定义来设置,还可以通过用户定义来设置。例如,允许诸如在提供上述动作识别服务1的企业实体处的系统工程师或上述动作识别服务1的客户的用户U编辑元素动作识别规则7A和场景识别规则7B。以这种方式,实现由用户U进行的定制。
[问题的一个方面]
如以上在“背景技术”部分中所描述的,在上述平滑中对3D骨架坐标的时间序列数据中包括的异常值和正常值进行平均。因此,3D骨架坐标的异常值对正常值的不利影响仍然存在。
即使在使用上述透视投影变换功能3D时,也难以避免上述平滑功能3E执行了平滑的3D骨架坐标的时间序列数据中包括异常值的情况。
例如,出现3D骨架坐标的异常值的模式可以被分类成以下两种模式。第一种模式是其中2D至3D转换本身正确但是获得了相对于摄像装置2的深度方向上的旋转轴的3D骨架坐标的模式。第二种模式是2D至3D转换本身不正确的模式。这可能在如下情况时发生:当在推断时与摄像装置(例如,摄像装置2)的视角匹配的几条数据存在于2D至3D转换模型的机器学习中使用的训练数据中时、当在推断时包含在视频输入中的人的姿势的数据不存在于训练数据中时等。
利用上述透视投影变换功能3D,将在第一种模式下出现的3D骨架坐标的异常值校正为正常值的可能性仍然存在,但是难以将在第二种模式下出现的3D骨架坐标的异常值校正为正常值。这是因为在第二种模式下难以准确地计算用于校正轴在摄像装置2的深度方向上的倾斜度的校正值,部分是因为2D至3D转换本身是不正确的。
将描述在第二种模式下出现的3D骨架坐标的异常值的示例。图3是示出骨架检测结果的示例的图。图3示出了其中由摄像装置2捕获到执行投球(windup)运动的场景的示例,这仅是示例。图3示出了通过由摄像装置2捕获的视频中的对象检测所确定的人的提取区域。图3示出了基于通过骨架检测获得的2D骨架坐标将各个关节的位置建模为点并且将连接关节的骨头建模为线的骨架。例如,当包含类似于图3中所示的投球姿势的姿势的视频未包括在2D至3D转换模型的机器学习中使用的训练数据中时,可能存在图3中所示的2D骨架坐标不会被正确转换为3D骨架坐标的情况。
图4是示出2D至3D转换结果的示例的图。图4示出了图3中所示的2D骨架坐标到3D骨架坐标的转换结果。图4示出了由三维坐标系统限定的3D骨架坐标,在该三维坐标系统中,将摄像装置2的左右方向设置为X轴,将摄像装置2的上下方向设置为Y轴,并且将摄像装置2的深度方向设置为Z轴。图4并排示出了3D骨架坐标建模在XY平面上的骨架和3D骨架坐标建模在YZ平面上的骨架。如图4中所示,当从摄像装置2的前向观看XY平面时,难以观察到出现在摄像装置2的前后方向上的3D骨架坐标的异常值。另一方面,当从摄像装置2的侧面方向观看YZ平面时,观察到表示在朝向摄像装置2的前面的方向上倾斜的人的身体轴的3D骨架坐标的异常值。对于3D骨架坐标的这样的异常值,可能不能准确计算用于校正轴在摄像装置2的深度方向上的倾斜度的校正值,部分是因为2D至3D转换本身未正确执行。因此,即使在通过上述透视投影变换功能3D执行轴校正时,也难以将3D骨架坐标的异常值校正为正常值。
[解决问题的方法的一个方面]
因此,在本实施方式中,采用如下解决问题的方法:将用于在对3D骨架坐标执行平滑之前从经历平滑的3D骨架坐标去除异常值的过滤功能添加至动作识别服务1。可以在计算机能够识别3D骨架坐标是正常值还是异常值的条件下实现这样的解决问题的方法。因此,在对3D骨架坐标执行平滑之前,根据本实施方式的过滤功能去除误差的估计值大于或等于阈值的3D骨架坐标。根据通过2D至3D转换获得的3D骨架坐标和与身体轴的倾斜度对应的对2D至3D转换中的误差的影响程度,来确定误差的估计值。
如上所述,从计算2D至3D转换中的误差的估计值的方面,可以在本实施方式中的动作识别服务1的操作之前预先设置在估计值的计算中使用的影响程度。
在一个方面,2D至3D转换中的误差根据身体轴的倾斜度的程度而变化。为此,上述影响程度是针对根据身体轴的倾斜度的程度划分的各个“倾斜度等级”限定的,这仅是示例。
图5是示出身体轴的倾斜度wf的示例的图。图6是示出倾斜度等级的示例的图。如图5中所示,将由——通过将连接髋的中心和头部的线段投影至YZ平面上而获得的——身体轴baxis与Y轴的正方向(向上方向)YP形成的角度设置为倾斜度wf。可以通过使用该倾斜度wf来划分倾斜度等级Cw。例如,如图6中所示,可以从身体轴baxis接近竖直的等级(例如,倾斜度wf小的等级)开始,按照倾斜度等级C1、倾斜度等级C2、倾斜度等级C3、倾斜度等级C4……顺序地划分倾斜度等级Cw。利用其划分倾斜度等级Cw的等级宽度在各个等级之间可以是相同的或不同的。图6示出了基于围绕用作旋转轴的X轴的逆时针倾斜度来划分倾斜度等级的示例。然而,还可以基于围绕用作旋转轴的X轴的顺时针倾斜度来划分倾斜度等级,或者可以将具有相同值的倾斜度划分至相同的倾斜度等级。
在倾斜度等级Cw的这样的划分下,针对倾斜度等级Cw中的每个倾斜度等级限定对2D至3D转换中的误差的影响程度。计算在每个关节i处观察到的2D至3D转换中的误差的变化被设置为响应变量并且每个关节i距髋的距离被设置为说明变量的情况下每个关节i的系数ki,这仅是示例。如此计算的“系数ki”等同于关节i对2D至3D转换中的误差的贡献程度,例如影响程度。
可以由与正确值的距离来限定2D至3D转换中的误差,这仅是示例。可以使用通过3D摄像装置或运动捕获测量的实际测量值作为这样的正确值的示例。例如,可以将通过运动捕获测量的3D骨架坐标的正确值与通过2D至3D转换获得的3D骨架坐标的计算值之间的距离用作2D至3D转换中的误差。
在上述系数ki的计算中使用的3D骨架坐标的正确值和计算值可以通过用户设置或系统设置来指定。例如,可以自动提取在3D骨架坐标的正确值与3D骨架坐标的计算值之间的距离(例如,2D至3D转换中的误差)超过特定阈值并且变成峰值时观察到的3D骨架坐标的正确值和计算值。除此之外,可以将3D骨架坐标的正确值的时间序列数据和3D骨架坐标的计算值的时间序列数据或者所述正确值与所述计算值之间的差的时间序列数据显示为图表。可以经由用户接口在图表上接受异常值的峰值等的指定。在系数ki的计算中使用的3D骨架坐标的计算值可以是由基于透视投影变换的轴校正产生的值,或者可以是不对其执行轴校正的值。
图7是示出计算系数k的方法的示例的图。图7以提取的方式示出了作为倾斜度等级C1和倾斜度等级C2的两个等级作为倾斜度等级Cw的示例,并且示出了针对倾斜度等级C1和倾斜度等级C2中的每个倾斜度等级的系数k的计算结果。
例如,在图7中所示的倾斜度等级C1的示例中,将各个关节i的相对坐标的列表示出为三个列表L11至L13。可以通过针对由用户设置或系统设置指定的3D骨架坐标的每组计算值执行以下计算来获得这三个列表L11至L13。例如,对于每个关节i,根据关节i的3D坐标计算关节i距髋的中心的距离。本文中提到的“髋”指左髋和右髋的中点的坐标。从当在系数k的计算中使用从不同视频获得的3D骨架坐标时使不同视频中的被摄体的比例基本一致的方面,然后用髋部的长度和颈部的长度对关节i距髋的距离进行标准化。通过列出关节i距髋的经标准化的距离而获得列表L11至L13。例如,以列表L11为例。列表L11包括头部距髋的距离“1.82”、胸部距髋的距离“1.93”、右肩距髋的距离“1.86”、右肘距髋的距离“2.08”、右手腕距髋的距离“4.11”等。然后,根据诸如多元回归分析的多变量分析的算法计算系数ki。系数ki是在将针对每个关节i的2D至3D转换中的误差的变化设置为响应变量并且将列表L11至L13设置为说明变量的情况下的系数。2D至3D转换中的误差对应于3D骨架坐标的正确值与根据其生成列表L11至L13的3D骨架坐标的计算值之间的距离。结果,获得对于头部的系数k1“0.65”、对于胸部的系数k2“0.61”、对于右肩的系数k3“0.63”、对于右肘的系数k4“1.54”、对于右手腕的系数k5“2.31”、……、和对于关节n的系数kn“……”,作为倾斜度等级C1的系数ki。已经给出了倾斜度等级C1的示例。然而,明显的是,可以以与倾斜度等级C1相同的方式针对倾斜度等级C2和后续倾斜度等级计算系数ki。
如上所述,在动作识别服务1的操作之前,对于每个倾斜度等级Cw,限定系数ki作为对2D至3D转换的误差的影响程度。在动作识别服务1的操作期间,根据本实施方式的过滤功能将通过2D至3D转换获得的3D骨架坐标或在透视投影变换中对其执行轴校正的3D骨架坐标分类至对应于身体轴的倾斜度wf的倾斜度等级Cw。根据本实施方式的过滤功能通过使用针对各个倾斜度等级Cw限定的系数ki中对应于分类结果的倾斜度等级的系数ki,来计算2D至3D转换中的误差的估计值。此时,根据本实施方式的过滤功能根据下面的式(1)来计算2D至3D转换中的误差的估计值Error。下面的式(1)中的“i”表示分配给关节的索引,并且例如由1至n的自然数表示。下面的式(1)中的“d”表示根据3D骨架坐标的计算值计算的关节i相对于髋的相对坐标,并且“d”是通过根据关节i的3D坐标计算关节i距髋的中心的距离并通过用髋部的长度和颈部的长度对该距离进行标准化而获得的。下面的式(1)中的“ki”表示针对每个倾斜度等级Cw限定的系数。下面的式(1)中的“n”表示关节的数目。
[式1]
根据本实施方式的过滤功能确定2D至3D转换中的误差的估计值Error是否大于或等于特定阈值T。当2D至3D转换中的误差的估计值Error大于或等于阈值T时,根据本实施方式的过滤功能去除3D骨架坐标。因此,执行用于从3D骨架坐标的时间序列数据中去除2D至3D转换中的误差的估计值Error大于或等于阈值T的3D骨架坐标的过滤。在过滤后,根据本实施方式的过滤功能针对3D骨架坐标的时间序列数据中通过过滤去除了3D骨架坐标的区间执行线性插值、多项式插值、样条插值等。因此,可以对由去除导致的缺失数据部分进行插值。对以这种方式由基于任意插值方法的插值得到的3D骨架坐标的时间序列数据执行平滑。
图8是示出平滑结果的示例的图。图8中所示的曲线图的横轴对应于视频的帧号。图8中所示的曲线图的纵轴对应于3D坐标的Y坐标的值,并且还对应于2D至3D转换中的误差的估计值Error。图8使用虚线示出了对应于平滑前右手腕的Y坐标的时间序列数据的曲线图G11,并且使用实线示出了对应于平滑后右手腕的Y坐标的时间序列数据的曲线图G12。图8还示出了对应于2D至3D转换中的误差的估计值Error的时间序列数据的条形图。在图8中,由上述用于去除的过滤功能使用的阈值T被设置为“0.04”,并且曲线图G11和曲线图G12中的与大于或等于阈值T的值相对应的部分被以所述部分被虚线围绕的状态示出为E1至E4。
如图8中的条形图所示,由于在四个点E1至E4处2D至3D转换中的误差的估计值Error大于或等于阈值T,因此异常值的出现是很可能的。通过根据本实施方式的过滤功能,从曲线图G11去除与很可能出现异常值的四个点E1至E4相对应的部分的3D骨架坐标。这样的过滤可以抑制经历平滑的3D骨架坐标的时间序列数据包括曲线图G11中的与四个点E1至E4相对应的部分的情况。针对从曲线图G11去除了3D骨架坐标的与四个点E1至E4相对应的部分,使用任意插值方法执行插值。此后,执行平滑。结果,如由图8中的曲线图G12所示,可以抑制与很可能出现异常值的四个点E1至E4相对应的部分的3D骨架坐标对正常值的不利影响。
因此,利用根据本实施方式的过滤功能,可以实现3D骨架坐标的平滑方面的更高精度。随着实现平滑方面的更高精度,可以实现基本运动的识别精度的提高、元素动作的识别精度的提高以及最终更高级动作的识别精度的提高。由于可以根据通过2D至3D转换获得的3D骨架坐标的计算值获得高度精确的3D骨架坐标,因此可以避免使用诸如比2D摄像装置更昂贵的3D摄像装置的硬件和软件进行运动捕获等。
[动作识别装置10的功能配置]
图9是示出根据第一实施方式的动作识别装置10的功能配置的示例的框图。图9中所示的动作识别装置10对应于提供上述动作识别服务1的计算机的示例。
作为一个实施方式,动作识别装置10可以通过将实现上述动作识别服务1的动作识别程序作为软件包或在线软件安装至任意计算机上来实现。例如,动作识别装置10可以被实现为软件即服务(SaaS)型应用,并且可以提供上述动作识别服务1作为云服务。该实现不限于此,并且可以将动作识别装置10实现为以内部部署(on-premises)方式提供对应于上述动作识别服务1的功能的服务器。
如图9中所示,对应于图像捕获装置的示例的摄像装置2可以耦接至动作识别装置10。动作识别装置10和摄像装置2可以经由任意网络通信地连接。例如,网络可以是任意类型的有线或无线通信网络,例如因特网或局域网(LAN)。为了便于说明,图1和图9示出了单个摄像装置2耦接至单个动作识别装置10的示例。然而,多个摄像装置2可以耦接至单个动作识别装置10。
如图9中所示,动作识别装置10包括视频获取单元11、对象识别单元30、基本运动识别单元14、空间状态识别单元15、ROI存储单元15A、更高级动作识别单元16、第一规则存储单元17A和第二规则存储单元17B。除了图9中所示的功能单元之外,动作识别装置10还可以包括已知计算机具有的各种功能单元,例如,对应于输入/输出接口、通信接口等的功能。
图9中所示的诸如视频获取单元11、对象识别单元13、基本运动识别单元14、空间状态识别单元15和更高级动作识别单元16的功能单元由诸如中央处理单元(CPU)或微处理器单元(MPU)的硬件处理器虚拟地实现。例如,处理器从例如诸如硬盘驱动器(HDD)、光盘或固态驱动器(SSD)的存储设备(未示出)读取诸如其中封装了上述动作识别服务1的动作识别程序的程序以及操作系统(OS)。处理器然后执行上述动作识别程序,并且将对应于上述功能单元的进程加载至诸如随机存取存储器(RAM)的存储器中。作为以这种方式执行上述动作识别程序的结果,上述功能单元被虚拟地实现为进程。尽管CPU或MPU被例示为处理器的一个示例,但是上述功能单元可以由可以具有通用类型或专用类型的任意处理器来实现。除此之外,上述功能单元或功能单元中的一些可以由诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA)的硬连线逻辑来实现。
诸如上述第一规则存储单元17A和第二规则存储单元17B的存储单元可以被实现为诸如HDD、光盘或SSD的辅助存储设备,或者可以通过分配辅助存储设备的存储区域的一部分来实现。
视频获取单元11是获取视频的处理单元。在一个方面,视频获取单元11能够获取从摄像装置2以帧为单位发送的视频。在另一方面,视频获取单元11还能够将从摄像装置2发送的视频缓冲在特定存储区域中,并且获取视频序列。视频获取单元11从其获取视频的信息源可以是任意信息源,并且不限于摄像装置2。例如,视频获取单元11还可以从存储视频的存储装置(例如,诸如硬盘或光盘的辅助存储设备,或者诸如存储器卡或通用串行总线(USB)存储器的可移除介质)获取视频。除此之外,视频获取单元11还可以经由网络从除摄像装置2之外的外部设备获取视频。
对象识别单元30是从视频中识别对象的处理单元。对象识别单元13可以对应于图1中所示的对象识别功能3。作为一个实施方式,对象识别单元13针对视频的每个帧识别对象。如上所述,除了识别独特对象或一类对象之外,本文中提到的“识别”还可以包括识别对象存在的区域,即所谓的对象检测。这样的对象识别可以通过已经根据任意机器学习算法(例如,深度学习等)学习对象的模型来实现,这仅是示例。通过将也称为骨架检测或姿势检测(姿势估计)的处理应用于对象中的人,对象识别单元30提取包括关于每个关节的位置的信息的骨架信息。
基本运动识别单元14是根据每个帧中的骨架信息识别基本运动的处理单元。基本运动识别单元14可以对应于图1中所示的基本运动识别功能4。基本运动的识别可以通过使用已经根据任意机器学习算法学习基本运动的模型(例如,诸如神经网络或分类器的模型)来实现,这仅是示例。在这种情况下,基本运动识别单元14向前述模型输入由对象识别单元30以帧为单位获取的关于每个关节的位置的信息。因此,以帧为单位获得针对整个身体和每个部分的基本运动识别结果。
空间状态识别单元15是根据由对象识别单元30确定为对象识别结果的人与人周围的空间之间的关系是否满足特定条件来识别空间状态的处理单元。空间状态识别单元15可以对应于图1中所示的空间状态识别功能5。
在一个方面,空间状态识别单元15能够通过针对人与空间之间的距离执行基于阈值的确定来识别空间状态。例如,将例示以下情况:获得将人的3D骨架坐标建模至的骨架和特定对象(例如,椅子)存在的区域作为对象识别结果的示例。在这种情况下,通过关于髋的中心位置与对象的区域的重心位置之间的距离是否小于或等于特定阈值的确定来识别空间状态“椅子”,该髋的中心位置是根据骨架中包括的关节中的右髋位置和左髋位置计算的。在另一方面,空间状态识别单元15能够通过执行关于目标的位置是在人与空间之间的区域内部还是外部的确定来识别空间状态。例如,将例示以下情况:获得将人的3D骨架坐标建模至的骨架和特定对象(例如,键盘)存在的区域作为对象识别结果的示例。在这种情况下,通过关于骨架中包括的关节中的左手腕的位置是否在键盘的区域内部的确定来识别空间状态“键盘”。
其中由对象限定空间的示例已经仅被描述为示例。然而,空间不一定必须由对象限定,并且空间可以由在视频中设置的ROI等限定。在这种情况下,空间状态识别单元15可以参考存储在ROI存储单元15A中的ROI的位置信息(例如,限定ROI的边界的顶点、边等),而不是参考通过由对象识别单元13执行的对象检测确定的对象的位置信息。
更高级动作识别单元16是识别更高级动作的处理单元。更高级动作识别单元16可以对应于图1中所示的更高级动作识别功能6。如图9中所示,更高级动作识别单元16包括元素动作识别单元16A和场景识别单元16B。
元素动作识别单元16A是通过将关于一个或多个基本运动的识别结果的时间序列数据和/或空间状态与存储在第一规则存储单元17A中的元素动作识别规则7A进行比较来识别元素动作的处理单元。在元素动作识别规则7A中,针对要识别的每个元素动作限定关于一个或多个基本运动的时间序列模式和空间状态中的至少一个或两者。时间序列模式的示例包括例如基本运动的连续性、基本运动的状态转变等。
场景识别单元16B是通过将元素动作的识别结果与存储在第二规则存储单元17B中的场景识别规则7B进行比较来识别更高级动作的处理单元。在场景识别规则7B中,针对要识别的每个更高级动作,将元素动作的组合限定为场景。这样的场景可以被限定为序列、逻辑操作等。
元素动作识别规则7A和场景识别规则7B不仅可以通过系统定义来设置,还可以通过用户定义来设置。例如,允许诸如在提供上述动作识别服务1的企业实体处的系统工程师或上述动作识别服务1的客户的用户U编辑元素动作识别规则7A和场景识别规则7B。以这种方式,实现由用户U进行的定制。
[对象识别单元30的细节]
接下来将描述根据本实施方式的对象识别单元30的细节。图10是示出对象识别单元30的功能配置的示例的图。如图10中所示,对象识别单元30包括对象检测单元30A、骨架检测单元30B、2D至3D转换单元30C、轴校正单元30D、平滑单元30E、过滤单元31和影响程度存储单元31A。
对象检测单元30A是针对视频的每个帧执行对象存在的区域的识别(例如,所谓的对象检测)的处理单元。对象检测单元30A可以对应于图2中所示的对象检测功能3A。除了这样的对象检测之外,对象检测单元30A还可以执行对特殊对象或一类对象的识别。
骨架检测单元30B是通过对对象中的人应用也称为骨架检测(骨架估计)或姿势检测(姿势估计)的处理来提取包括关于每个关节的位置的信息的骨架信息的处理单元。骨架检测单元30B可以对应于图2中所示的骨架检测功能3B。针对视频的各个帧执行这样的骨架检测。因此,获得视频的各个帧中的2D骨架坐标,例如2D骨架坐标的时间序列数据。
2D至3D转换单元30C是将2D骨架坐标的时间序列数据转换为3D骨架坐标的时间序列数据的处理单元。2D至3D转换单元30C可以对应于图2中所示的2D至3D转换功能3C。
对象检测单元30A、骨架检测单元30B和2D至3D转换单元30C的功能单元可以通过DL框架来实现,该DL框架包括学习了对象的模型、学习了骨架检测的模型和学习了2D至3D转换的模型,这仅是示例。
轴校正单元30D是通过透视投影变换中的轴设置对3D骨架坐标执行轴校正的处理单元。轴校正单元30D可以对应于图2中所示的透视投影变换功能3D。例如,轴校正单元30D基于根据3D骨架坐标计算的摄像装置参数的估计值和摄像装置2的已知摄像装置参数(例如,在操作之前对摄像装置2的校准结果),执行用于校正轴在摄像装置2的深度方向上的倾斜度的轴校正。
平滑单元30E是执行平滑的处理单元,在该平滑中利用在一定范围内限定的相邻帧中的3D骨架坐标的平均值替换3D骨架坐标的时间序列数据。平滑单元30E可以对应于图2中所示的平滑功能3E。
[过滤单元31的功能配置的示例]
过滤单元31是去除误差的估计值大于或等于特定阈值的3D骨架坐标的处理单元,该误差的估计值是根据由2D至3D转换单元30C转换的3D骨架坐标和与身体轴的倾斜度对应的对2D至3D转换中的误差的影响程度获得的。
如图10中所示,过滤单元31包括倾斜度等级分类单元32、误差计算单元33、去除单元34和插值单元35。
倾斜度等级分类单元32是将3D骨架坐标分类至倾斜度等级Cw中的任一项的处理单元。作为一个实施方式,倾斜度等级分类单元32针对由轴校正单元30D执行了轴校正的每组3D骨架坐标执行以下处理。例如,倾斜度等级分类单元32通过参考3D骨架坐标中的左髋的3D坐标和右髋的3D坐标计算左髋的3D坐标和右髋的3D坐标的中点,来计算髋的中心的3D坐标。如图5中所示,倾斜度等级分类单元32计算由——通过将连接髋的中心和头部的线段投影至YZ平面上而获得的——身体轴baxis与Y轴的正方向(向上方向)YP形成的角度作为身体轴的倾斜度wf。倾斜度等级分类单元32然后将由轴校正单元30D执行了轴校正的3D骨架坐标分类成图6中所示的倾斜度等级中与身体轴的倾斜度wf对应的倾斜度等级Cw。
误差计算单元33是计算2D至3D转换中的误差的估计值的处理单元。作为一个实施方式,误差计算单元33参考存储在影响程度存储单元31A中的影响程度中与由倾斜度等级分类单元32将3D骨架坐标分类至的倾斜度等级Cw相关联的影响程度,例如系数ki。然后,误差计算单元33根据上述式(1)计算2D至3D转换中的误差的估计值Error。
去除单元34是去除由轴校正单元30D执行了轴校正的3D骨架坐标中满足一定条件的3D骨架坐标的处理单元。作为一个实施方式,去除单元34确定由误差计算单元33计算的2D至3D转换中的误差的估计值Error是否大于或等于特定阈值T。当2D至3D转换中的误差的估计值Error大于或等于阈值T时,由轴校正单元30D执行了轴校正的3D骨架坐标是异常值的概率增加。在这种情况下,去除单元34从由平滑单元30E执行的平滑的目标中去除由轴校正单元30D执行了轴校正的3D骨架坐标。另一方面,如果2D至3D转换中的误差的估计值Error并非大于或等于阈值T,则由轴校正单元30D执行了轴校正的3D骨架坐标是正常值的概率增加。在这种情况下,不去除由轴校正单元30D执行了轴校正的3D骨架坐标。
插值单元35是在由去除单元34去除了3D骨架坐标的去除区间中插值3D骨架坐标的处理单元。作为一个实施方式,在过滤后,插值单元35针对在3D骨架坐标的时间序列数据中通过过滤去除了3D骨架坐标的区间执行线性插值、多项式插值、样条插值等。因此,对由去除导致的缺失数据部分进行插值。将以这种方式由基于任意插值方法的插值得到的3D骨架坐标的时间序列数据输入至平滑单元30E。
[处理的流程]
接下来将描述根据本实施方式的由动作识别装置10执行的处理的流程。将给出(1)由动作识别装置10执行的动作识别处理以及然后(2)对象识别处理的描述。
(1)动作识别处理
图11是示出根据第一实施方式的动作识别处理的过程的流程图。在从摄像装置2、存储装置、通过网络耦接的外部设备等获取视频的情况下执行该处理,这仅是示例。
如图11中所示,对于由视频获取单元11获取的2D视频的每个帧,对象识别单元13执行包括对象检测、骨架检测、2D至3D转换、过滤、平滑等的“对象识别处理”(步骤S101)。
基本运动识别单元14将在步骤S101中获得的3D骨架坐标的时间序列数据输入至已经学习了基本运动的模型,并且获取从该模型输出的基本运动识别结果(步骤S102)。
空间状态识别单元15基于在步骤S101中确定的对象中的人与在步骤S101中确定的对象中的对象或由在视频中设置的ROI限定的空间之间的关系来识别空间状态(步骤S103)。
随后,元素动作识别单元16A通过将在步骤S102中获得的基本运动识别结果的时间序列数据和/或在步骤S103中获得的空间状态与存储在第一规则存储单元17A中的元素动作识别规则7A进行比较来识别元素动作(步骤S104)。
场景识别单元16B通过将在步骤S104中获得的元素动作识别结果与存储在第二规则存储单元17B中的场景识别规则7B进行比较来识别更高级动作(步骤S105)。
此后,场景识别单元16B输出在步骤S105中获得的更高级动作的标签作为识别结果(步骤S106)。然后,处理结束。
可以将前述更高级动作识别结果输出至任意输出目的地。本文中提到的“输出目的地”可以是任意硬件或软件。例如,可以将更高级动作识别结果输出至根据更高级动作识别结果执行任意后端处理(例如,监视可疑动作等的处理)的服务或功能。除此之外,更高级动作识别结果的输出目的地可以是由上述动作识别服务1的用户U设置的显示设备、声音输出设备、信息处理装置、移动终端装置等。更高级动作识别结果的通知形式可以是诸如经由网站或通过电子邮件的任意形式。
(2)对象识别处理
图12是示出根据第一实施方式的对象识别处理的过程的流程图。该处理对应于图11中所示的步骤S101中的处理。如图12中所示,从下面的步骤S301至下面的步骤S308的处理被重复执行与2D视频的帧数一样多的次数。
例如,对象检测单元30A针对2D视频的每个帧执行对象存在的区域的识别,例如所谓的对象检测(步骤S301)。可以将通过步骤S301中的对象检测确定的对象存在的区域输出至空间状态识别单元15。
随后,骨架检测单元30B通过针对2D视频的每个帧对在步骤S301中识别出的对象中的人执行骨架检测来提取包括每个关节的2D坐标的2D骨架坐标(步骤S302)。
2D至3D转换单元30C将在步骤S302中获得的2D骨架坐标转换为3D骨架坐标(步骤S303)。此后,轴校正单元30E通过透视投影变换中的轴设置,对3D骨架坐标执行轴校正(步骤S304)。
倾斜度等级分类单元32将在步骤S304中执行了轴校正的3D骨架坐标分类至与根据3D骨架坐标确定的身体轴的倾斜度wf对应的倾斜度等级Cw(步骤S305)。
误差计算单元33基于存储在影响程度存储单元31A中的影响程度中与在步骤S305中将3D骨架坐标分类至的倾斜度等级Cw相关联的影响程度(例如,系数ki),并且基于在步骤S304中执行了轴校正的3D骨架坐标,来计算2D至3D转换中的误差的估计值Error(步骤S306)。此后,去除单元34确定在步骤S306中计算的2D至3D转换中的误差的估计值Error是否大于或等于特定阈值T(步骤S307)。
当2D至3D转换中的误差的估计值Error大于或等于阈值T时(步骤S307中为是),3D骨架坐标是异常值的概率增加。在这种情况下,去除单元34从要在下面的步骤S310中平滑的目标中去除在步骤S304中执行了轴校正的3D骨架坐标(步骤S308)。另一方面,当2D至3D转换中的误差的估计值Error并非大于或等于阈值T时(步骤S307中为否),3D骨架坐标是正常值的概率增加。在这种情况下,不去除在步骤S304中执行了轴校正的3D骨架坐标。
在以这种方式针对2D视频的每个帧执行从步骤S301至步骤S308的处理之后,插值单元35执行以下处理。例如,插值单元35通过针对3D骨架坐标的时间序列数据中的在步骤S308中去除了3D骨架坐标的去除区间执行线性插值、多项式插值、样条插值等来对由去除导致的缺失部分的数据进行插值(步骤S309)。
此后,平滑单元30E执行平滑,用于利用在一定范围内限定的相邻帧中的3D骨架坐标的平均值替换由步骤S309中的插值得到的3D骨架坐标的时间序列数据(步骤S310)。然后,处理结束。
[效果的一个方面]
如上所述,在对3D骨架坐标进行平滑之前,根据本实施方式的过滤功能去除误差的估计值大于或等于阈值的3D骨架坐标,该误差的估计值是根据通过2D至3D转换获得的3D骨架坐标和对应于身体轴的倾斜度的对2D至3D转换中的误差的影响程度来确定的。因此,抑制了在要平滑的3D骨架坐标的时间序列数据中包括很可能是异常值的3D骨架坐标的情况。因此,抑制了很可能出现异常值的3D骨架坐标对正常值的不利影响。
因此,利用根据本实施方式的过滤功能,可以实现3D骨架坐标的平滑方面的更高精度。随着实现平滑方面的更高精度,可以实现基本运动的识别精度的提高、元素动作的识别精度的提高以及最终更高级动作的识别精度的提高。由于可以根据通过2D至3D转换获得的3D骨架坐标的计算值获得高度精确的3D骨架坐标,因此可以避免使用诸如比2D摄像装置更昂贵的3D摄像装置的硬件和软件进行运动捕获等。
[第二实施方式]
虽然到目前为止已经描述了与本公开内容的装置相关的实施方式,但是可以以除上述实施方式之外的各种不同形式实现本公开内容。下面将描述本公开内容的其他实施方式。
[对其他用例的应用]
在上述第一实施方式中,已经描述了将过滤功能应用于动作识别服务1的示例。然而,过滤功能可以应用于其他用例。过滤功能可以应用于通过使用3D骨架坐标作为输入对诸如体操的竞技运动进行评分并输出评分结果的评分服务,这仅是示例。即使在将过滤功能应用于这样的评分服务的情况下,不仅可以实现3D骨架坐标的平滑中的更高精度,还可以提高评分精度。
[分布和集成]
所示出的装置中的每个装置的各个部件不一定必须如所示出的那样物理地构造。例如,各个装置的分布和集成的具体形式不限于所示出的形式,并且可以根据各种负载、使用状态等以功能上或物理上分布或集成的方式将其全部或部分配置在任意单元中。例如,倾斜度等级分类单元32、误差计算单元33、去除单元34或插值单元35可以作为过滤单元31的外部设备经由网络连接。可以将倾斜度等级分类单元32、误差计算单元33、去除单元34或插值单元35包括在不同的装置中,并且这些装置可以经由网络彼此耦接并且协同操作。以这种方式,可以实现上述过滤单元31的功能。
[过滤程序]
上述实施方式中描述的各种处理可以作为诸如个人计算机或工作站的计算机执行预先准备的程序的结果来实现。因此,下面将通过使用图13来描述执行具有与第一实施方式和第二实施方式的功能基本相同的功能的过滤程序的计算机的示例。
图13是示出计算机的硬件配置的示例的图。如图13中所示,计算机100包括操作单元110a、扬声器110b、摄像装置110c、显示器120和通信单元130。计算机100还包括CPU 150、只读存储器(ROM)160、HDD170和RAM 180。操作单元110a、扬声器110b、摄像装置110c、显示器120、通信单元130、CPU 150、ROM 160、HDD 170和RAM 180经由总线140彼此耦接。
如图13中所示,HDD 170存储过滤程序170a,该过滤程序170a发挥与上述第一实施方式中的倾斜度等级分类单元32、误差计算单元33、去除单元34和插值单元35的功能基本相同的功能。类似于图10中所示的倾斜度等级分类单元32、误差计算单元33、去除单元34和插值单元35的各个部件,可以对过滤程序170a进行集成或划分。例如,以上第一实施方式中描述的所有数据不一定存储在HDD 170中,并且要用于处理的数据可以存储在HDD 170中。
在这样的环境下,CPU 150从HDD 170读出过滤程序170a并且将过滤程序170a加载至RAM 180。结果,过滤程序170a用作如图13中所示的过滤处理180a。该过滤处理180a将从HDD 170读取的各种数据加载至RAM 180的存储区域中的分配给过滤处理180a的区域中,并且通过使用这些各种加载的数据来执行各种处理。例如,图11和图12等中所示的处理被包括,作为由过滤处理180a执行的处理的示例。以上第一实施方式中描述的所有处理单元不一定在CPU 150上操作,并且可以虚拟地实现对应于要执行的处理的处理单元。
前述过滤程序170a不一定最初存储在HDD 170或ROM 160中。例如,过滤程序170a存储在要插入计算机100中的“便携式物理介质”中,例如软盘(所谓的FD)、光盘(CD)-ROM、数字多功能盘(DVD)、磁光盘和集成电路(IC)卡。计算机100可以从这些便携式物理介质获取过滤程序170a并且执行过滤程序170a。可以将过滤程序170a存储在经由公共线路、因特网、LAN、广域网(WAN)等耦接至计算机100的另一计算机或服务器装置中,并且计算机100可以从这样的装置获取过滤程序170a并执行过滤程序170a。
Claims (15)
1.一种过滤方法,包括:
将通过对二维视频进行骨架检测获得的二维骨架坐标转换为三维骨架坐标;
参考影响程度数据,根据所述三维骨架坐标并且根据与所述三维骨架坐标所属的倾斜度等级相对应的每个关节的影响程度,来计算误差的估计值,在所述影响程度数据中,每个关节对二维至三维坐标转换中的误差的影响程度与根据身体轴的倾斜度划分的倾斜度等级中的每个倾斜度等级相关联;以及
去除所述误差的估计值大于或等于阈值的三维骨架坐标。
2.根据权利要求1所述的过滤方法,还包括:
对所述误差的估计值不大于或等于所述阈值的所述三维骨架坐标的时间序列数据进行平滑。
3.根据权利要求2所述的过滤方法,还包括:
针对所述三维骨架坐标的时间序列数据中去除了所述三维骨架坐标的区间执行插值,
其中,所述平滑包括用于对由所述插值得到的三维骨架坐标的时间序列数据进行平滑的处理。
4.根据权利要求1所述的过滤方法,其中,所述影响程度是在将针对每个关节观察到的所述误差的变化设置为响应变量并且将每个关节的相对坐标设置为说明变量时针对每个关节的系数。
5.根据权利要求4所述的过滤方法,其中,所述相对坐标是通过用髋部的长度和颈部的长度对每个关节距髋的距离进行标准化而获得的坐标。
6.根据权利要求1所述的过滤方法,其中,所述身体轴的倾斜度是身体在前后方向上相对于竖直方向轴的倾斜度。
7.一种过滤程序,其中,计算机执行以下处理:
将通过对二维视频进行骨架检测获得的二维骨架坐标转换为三维骨架坐标;
参考影响程度数据,根据所述三维骨架坐标并且根据与所述三维骨架坐标所属的倾斜度等级相对应的每个关节的影响程度,来计算误差的估计值,在所述影响程度数据中,每个关节对二维至三维坐标转换中的误差的影响程度与根据身体轴的倾斜度划分的倾斜度等级中的每个倾斜度等级相关联;以及
去除所述误差的估计值大于或等于阈值的三维骨架坐标。
8.根据权利要求7所述的过滤程序,其中,
所述处理还包括:
对所述误差的估计值不大于或等于所述阈值的所述三维骨架坐标的时间序列数据进行平滑。
9.根据权利要求8所述的过滤程序,其中,
所述处理还包括:
针对所述三维骨架坐标的时间序列数据中去除了所述三维骨架坐标的区间执行插值,
其中,所述平滑包括用于对由所述插值得到的三维骨架坐标的时间序列数据进行平滑的处理。
10.根据权利要求7所述的过滤程序,其中,所述影响程度是在将针对每个关节观察到的所述误差的变化设置为响应变量并且将每个关节的相对坐标设置为说明变量时针对每个关节的系数。
11.根据权利要求10所述的过滤程序,其中,所述相对坐标是通过用髋部的长度和颈部的长度对每个关节距髋的距离进行标准化而获得的坐标。
12.根据权利要求7所述的过滤程序,其中,所述身体轴的倾斜度是身体在前后方向上相对于竖直方向轴的倾斜度。
13.一种过滤装置,包括:
转换单元,被配置成将通过对二维视频进行骨架检测获得的二维骨架坐标转换为三维骨架坐标;
误差计算单元,被配置成参考影响程度数据,根据所述三维骨架坐标并且根据与所述三维骨架坐标所属的倾斜度等级相对应的每个关节的影响程度,来计算(指定)误差的估计值,在所述影响程度数据中,每个关节对二维至三维坐标转换中的误差的影响程度与根据身体轴的倾斜度划分的倾斜度等级中的每个倾斜度等级相关联;以及
去除单元,被配置成去除所述误差的估计值大于或等于阈值的三维骨架坐标。
14.根据权利要求13所述的过滤装置,还包括:
平滑单元,被配置成对所述误差的估计值并非大于或等于所述阈值的所述三维骨架坐标的时间序列数据进行平滑。
15.根据权利要求14所述的过滤装置,还包括:
插值单元,被配置成针对所述三维骨架坐标的时间序列数据中去除了所述三维骨架坐标的区间执行插值,
其中,所述平滑包括用于对由所述插值得到的三维骨架坐标的时间序列数据进行平滑的处理。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020155757A JP2022049521A (ja) | 2020-09-16 | 2020-09-16 | フィルタリング方法、フィルタリングプログラム及びフィルタリング装置 |
JP2020-155757 | 2020-09-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114266691A true CN114266691A (zh) | 2022-04-01 |
Family
ID=77640450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111074724.7A Pending CN114266691A (zh) | 2020-09-16 | 2021-09-14 | 过滤方法、过滤程序和过滤装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220083771A1 (zh) |
EP (1) | EP3971822A3 (zh) |
JP (1) | JP2022049521A (zh) |
CN (1) | CN114266691A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240185461A1 (en) * | 2022-12-05 | 2024-06-06 | Verizon Patent And Licensing Inc. | Calibration methods and systems for an under-calibrated camera capturing a scene |
JP2024100553A (ja) * | 2023-01-16 | 2024-07-26 | 富士通株式会社 | 特定プログラム、特定方法および情報処理装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5099218A (en) * | 1990-12-07 | 1992-03-24 | Avx Corporation | Binary fuse device |
US5909218A (en) * | 1996-04-25 | 1999-06-01 | Matsushita Electric Industrial Co., Ltd. | Transmitter-receiver of three-dimensional skeleton structure motions and method thereof |
KR101591779B1 (ko) * | 2009-03-17 | 2016-02-05 | 삼성전자주식회사 | 모션 데이터 및 영상 데이터를 이용한 골격 모델 생성 장치및 방법 |
JP5820366B2 (ja) * | 2010-10-08 | 2015-11-24 | パナソニック株式会社 | 姿勢推定装置及び姿勢推定方法 |
KR20140003265A (ko) * | 2012-06-29 | 2014-01-09 | 주식회사 허그정보기술 | 인체관절 움직임 각도의 측정방법 |
CN104778661A (zh) * | 2014-01-10 | 2015-07-15 | 北京三星通信技术研究有限公司 | 在姿态估计中使用的骨架平滑方法和设备 |
US11016116B2 (en) * | 2018-01-11 | 2021-05-25 | Finch Technologies Ltd. | Correction of accumulated errors in inertial measurement units attached to a user |
-
2020
- 2020-09-16 JP JP2020155757A patent/JP2022049521A/ja not_active Withdrawn
-
2021
- 2021-09-03 EP EP21194793.2A patent/EP3971822A3/en not_active Withdrawn
- 2021-09-07 US US17/467,737 patent/US20220083771A1/en not_active Abandoned
- 2021-09-14 CN CN202111074724.7A patent/CN114266691A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
EP3971822A3 (en) | 2022-04-06 |
EP3971822A2 (en) | 2022-03-23 |
US20220083771A1 (en) | 2022-03-17 |
JP2022049521A (ja) | 2022-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10380759B2 (en) | Posture estimating apparatus, posture estimating method and storing medium | |
EP3236418B1 (en) | Image processing apparatus, image processing method, and storage medium | |
US9619704B2 (en) | Fast articulated motion tracking | |
KR100682889B1 (ko) | 영상에 기반한 사실감 있는 3차원 얼굴 모델링 방법 및 장치 | |
JP4585471B2 (ja) | 特徴点検出装置及びその方法 | |
US7925048B2 (en) | Feature point detecting device, feature point detecting method, and feature point detecting program | |
JP5772821B2 (ja) | 顔特徴点位置補正装置、顔特徴点位置補正方法および顔特徴点位置補正プログラム | |
JP6564018B2 (ja) | 放射線画像の肺野セグメンテーション技術及び骨減弱技術 | |
CN114266691A (zh) | 过滤方法、过滤程序和过滤装置 | |
JP6919619B2 (ja) | 画像解析装置、方法およびプログラム | |
US10692215B2 (en) | Image processing apparatus, image processing method, and storage medium | |
KR101786754B1 (ko) | 나이 추정 장치 및 방법 | |
US20160110840A1 (en) | Image processing method, image processing device, and robot system | |
JP2020148625A (ja) | 画像処理装置、画像処理方法、及び画像処理プログラム | |
WO2019123554A1 (ja) | 画像処理装置、画像処理方法、及び、記録媒体 | |
JP7180283B2 (ja) | 画像処理装置及び画像処理方法 | |
US8238619B2 (en) | Method of extracting ridge line and valley line from three-dimensional point data | |
JP2012243285A (ja) | 特徴点位置決定装置、特徴点位置決定方法及びプログラム | |
King et al. | Automatic cephalometric landmark detection on X-ray images using object detection | |
CN111524171A (zh) | 图像处理方法、装置和电子设备 | |
JP6840968B2 (ja) | 形状推定方法、形状推定装置および形状推定プログラム | |
JP5677234B2 (ja) | エッジ検出装置およびそのプログラム | |
JP7566586B2 (ja) | 推定装置、推定システム、推定方法及びプログラム | |
KR101732807B1 (ko) | 3차원 얼굴 비대칭 분석 장치 및 방법 | |
JP6147003B2 (ja) | 情報処理装置、情報処理方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |