一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

图像处理装置、图像处理方法以及存储图像处理程序的非暂时性计算机可读介质与流程

2022-06-12 00:32:22 来源:中国专利 TAG:


1.本发明涉及图像处理装置、图像处理方法以及存储图像处理程序的非暂时性计算机可读介质。


背景技术:

2.近年来,用于从监控相机捕获的图像中检测并检索人的状态(例如,姿势或行为)的技术已被用于例如监控系统。例如,专利文献1和2是已知的相关技术。专利文献1公开了一种基于包括在深度图像中的诸如人的头、手、脚等关键关节来检索人的相似姿势的技术。专利文献2(其与人的姿势无关)公开了一种使用诸如添加到图像的倾斜度之类的姿势信息来检索相似图像的技术。此外,非专利文献1是已知的与人的骨架的估计有关的技术。
3.引用列表
4.专利文献
5.[专利文献1]专利申请no.2014-522035的pct国际公开的已公开的日语译文
[0006]
[专利文献2]日本待审专利申请公开no.2006-260405
[0007]
非专利文献
[0008]
[非专利文献1]zhecao、tomas simon、shih-en wei、yaser sheikh,“使用部分仿生字段的实时多人2d姿势估计(realtime multi-person2d pose estimation using part affinity fields)”,ieee计算机视觉和模式识别会议(cvpr),2017,p.7291-7299


技术实现要素:

[0009]
技术问题
[0010]
在上述专利文献1公开的相关技术中,基于人的头、手、脚等来检索人的相似姿势。然而,由于假设获取了深度图像,因此无法从二维图像中检索诸如姿势之类的状态。此外,仅考虑从特定视点进行检索。因此,在相关技术中存在难以以灵活的方式基于二维图像来执行诸如人的状态的检索、分类等识别处理的问题。
[0011]
鉴于上述问题,提出了本公开,本公开的目的是提供一种图像处理装置、图像处理方法以及存储图像处理程序的非暂时性计算机可读介质,该图像处理程序能够以灵活的方式基于二维图像来执行人的状态识别处理。
[0012]
问题的解决方案
[0013]
根据本公开的一种图像处理装置,包括:骨架检测单元,用于基于所获取的二维图像来检测多个人的二维骨架结构;特征计算单元,用于计算已检测到的多个二维骨架结构的特征;以及识别单元,用于基于已经计算出的多个特征之间的相似度来执行多个人的状态的识别处理。
[0014]
根据本公开的一种图像处理方法,包括:基于所获取的二维图像来检测多个人的二维骨架结构;计算已检测到的多个二维骨架结构的特征;以及基于已经计算出的多个特
征之间的相似度来执行多个人的状态的识别处理。
[0015]
根据本公开的一种非暂时性计算机可读介质,存储用于使计算机执行以下处理的图像处理程序:基于所获取的二维图像来检测多个人的二维骨架结构;计算已检测到的多个二维骨架结构的特征;以及基于已经计算出的多个特征之间的相似度来执行多个人的状态的识别处理。
[0016]
本发明的有益效果
[0017]
根据本公开,能够提供一种图像处理装置、图像处理方法以及存储图像处理程序的非暂时性计算机可读介质,该图像处理程序能够以灵活的方式基于二维图像来执行人的状态识别处理。
附图说明
[0018]
图1是示出了示例实施例的图像处理装置的概述的配置图;
[0019]
图2是示出了根据第一示例实施例的图像处理装置的配置的配置图;
[0020]
图3是示出了根据第一示例实施例的图像处理方法的流程图;
[0021]
图4是示出了根据第一示例实施例的分类方法的流程图;
[0022]
图5是示出了根据第一示例实施例的检索方法的流程图;
[0023]
图6是示出了根据第一示例实施例的检测骨架结构的示例的图;
[0024]
图7是示出了根据第一示例实施例的人体模型的图;
[0025]
图8是示出了根据第一示例实施例的检测骨架结构的示例的图;
[0026]
图9是示出了根据第一示例实施例的检测骨架结构的示例的图;
[0027]
图10是示出了根据第一示例实施例的检测骨架结构的示例的图;
[0028]
图11是示出了根据第一示例实施例的分类方法的具体示例的图形;
[0029]
图12是示出了根据第一示例实施例的显示分类结果的示例的图;
[0030]
图13是用于描述根据第一示例实施例的检索方法的图;
[0031]
图14是用于描述根据第一示例实施例的检索方法的图;
[0032]
图15是用于描述根据第一示例实施例的检索方法的图;
[0033]
图16是用于描述根据第一示例实施例的检索方法的图;
[0034]
图17是示出了根据第一示例实施例的显示检索结果的示例的图;
[0035]
图18是示出了根据第二示例实施例的图像处理装置的配置的配置图;
[0036]
图19是示出了根据第二示例实施例的图像处理方法的流程图;
[0037]
图20是示出了根据第二示例实施例的身高像素数计算方法的具体示例1的流程图;
[0038]
图21是示出了根据第二示例实施例的身高像素数计算方法的具体示例2的流程图;
[0039]
图22是示出了根据第二示例实施例的身高像素数计算方法的具体示例2的流程图;
[0040]
图23是示出了根据第二示例实施例的归一化方法的流程图;
[0041]
图24是示出了根据第二示例实施例的人体模型的图;
[0042]
图25是示出了根据第二示例实施例的检测骨架结构的示例的图;
[0043]
图26是示出了根据第二示例实施例的检测骨架结构的示例的图;
[0044]
图27是示出了根据第二示例实施例的检测骨架结构的示例的图;
[0045]
图28是示出了根据第二示例实施例的人体模型的图;
[0046]
图29是示出了根据第二示例实施例的检测骨架结构的示例的图;
[0047]
图30是用于描述根据第二示例实施例的身高像素数计算方法的直方图;
[0048]
图31是示出了根据第二示例实施例的检测骨架结构的示例的图;
[0049]
图32是示出了根据第二示例实施例的三维人体模型的图;
[0050]
图33是用于描述根据第二示例实施例的身高像素数计算方法的图;
[0051]
图34是用于描述根据第二示例实施例的身高像素数计算方法的图;
[0052]
图35是用于描述根据第二示例实施例的身高像素数计算方法的图;
[0053]
图36是用于描述根据第二示例实施例的归一化方法的图;
[0054]
图37是用于描述根据第二示例实施例的归一化方法的图;
[0055]
图38是用于描述根据第二示例实施例的归一化方法的图;以及
[0056]
图39是示出了根据示例实施例的计算机的硬件的概述的配置图。
具体实施方式
[0057]
在下文中,将参考附图描述示例实施例。贯穿附图,相同的元件由相同的附图标记表示,并且必要时将省略重复的描述。
[0058]
(导致示例实施例的考虑)
[0059]
近年来,使用诸如深度学习之类的机器学习的图像识别技术已被应用于各种系统。例如,图像识别技术已被应用于使用监控相机捕获的图像执行监控的监控系统。通过在监控系统中使用机器学习,能够在一定程度上从图像中掌握人的诸如姿势和行为之类的状态。
[0060]
然而,并不总是能够掌握用户根据需要所希望知道的人的状态。例如,存在用户可以预先指定用户想要检索并知道的人的状态的情况,或者用户不能具体指定它(如未知状态)的情况。然后,在一些情况下,无法详细指定用户想要检索的人的状态。此外,当人的身体的一部分被隐藏时,不能执行检索等。在相关技术中,人的状态只能根据特定检索条件来检索。在这种情况下,很难以灵活的方式对期望的人的状态进行检索和分类。
[0061]
为了解决上述问题,发明人已经讨论了一种使用骨架估计技术(如非专利文献1中公开的骨架估计技术)的方法,以便从图像中识别用户根据需要所希望知道的人的状态。在相关的骨架估计技术(如非专利文献1中公开的openpose)中,通过学习注释图像数据的各种模式来估计人的骨架。在以下示例实施例中,骨架估计技术的使用使得能够以灵活的方式识别人的状态。
[0062]
注意,通过诸如openpose之类的骨架估计技术估计的骨架结构由“关键点”和指示关键点之间的链接的“骨骼(骨骼链接)”形成,“关键点”是诸如关节之类的特征点。因此,虽然在以下示例实施例中将使用术语“关键点”和“骨骼”来描述骨架结构,但是“关键点”对应于人的“关节”且“骨骼”对应于人的“骨骼”,除非另有限制。
[0063]
(示例实施例的概述)
[0064]
图1示出了根据示例实施例的图像处理装置10的概述。如图1所示,图像处理装置
10包括骨架检测单元11、特征计算单元12和识别单元13。骨架检测单元11基于由相机等获取的二维图像来检测多个人的二维骨架结构。特征计算单元12计算由骨架检测单元11检测到的多个二维骨架结构的特征。识别单元13基于由特征计算单元12计算出的多个特征之间的相似度来执行多个人的状态的识别处理。识别处理例如是对人的状态进行分类或检索的处理。
[0065]
如上所述,在该示例实施例中,从二维图像中检测人的二维骨架结构,并且可以基于从该二维骨架结构计算出的特征来执行诸如人的状态的分类和检查之类的识别处理,由此能够以灵活的方式识别期望的人的状态。
[0066]
(第一示例实施例)
[0067]
在下文中,将参考附图描述第一示例实施例。图2示出了根据该示例实施例的图像处理装置100的配置。图像处理装置100连同相机200和数据库(db)110一起形成图像处理系统1。包括图像处理装置100的图像处理系统1是用于基于从图像中估计的人的骨架结构来对人的诸如姿势或行为之类的状态进行分类和检索的系统。
[0068]
相机200是生成二维图像的图像捕获单元,例如监控相机。相机200安装在预定位置,并且从其安装的位置捕获成像区域中的人等的图像。相机200直接连接到图像处理装置100或者经由网络等连接到图像处理装置100,使得它可以将所捕获的图像(视频图像)输出到图像处理装置100。注意,相机200可以设置在图像处理装置100内部。
[0069]
数据库110是存储图像处理装置100的处理所需的信息(数据)、图像处理装置100中的处理结果等的数据库。数据库110存储图像获取单元101获取的图像、骨架结构检测单元102的检测结果、用于机器学习的数据、由特征计算单元103归一化的特征、分类单元104中的分类结果、检索单元105中的检索结果等。数据库110直接连接到图像处理装置100或者经由网络等连接到图像处理装置100,使得数据库110能够根据需要向图像处理装置100输入数据以及从图像处理装置100输出数据。数据库110可以作为非易失性存储器(例如,闪存或硬盘装置)设置在图像处理装置100内部。
[0070]
如图2所示,图像处理装置100包括图像获取单元101、骨架结构检测单元102、特征计算单元103、分类单元104、检索单元105、输入单元106和显示单元107。注意,每个部分(块)的配置仅是一个示例,并且如果后面描述的方法(操作)可用,则它们可以由其他部分形成。另外,虽然图像处理装置100例如由执行程序的诸如服务器或个人计算机之类的计算机装置实现,但是它可以由一个装置来实现,或者可以由网络上的多个装置来实现。例如,输入单元106、显示单元107等可以是外部装置。此外,可以包括分类单元104和检索单元105二者,或者可以包括它们之一。分类单元104和检索单元105之一或二者是执行人的状态的识别处理的识别单元。
[0071]
图像获取单元101获取由相机200捕获的包括人的二维图像。图像获取单元101例如获取由相机200在预定监控时段中捕获的包括人的图像(包括多个图像的视频图像)。图像获取单元101可以不必从相机200获取图像,并且可以从数据库110等获取预先准备好的包括人的图像。
[0072]
骨架结构检测单元102基于所获取的二维图像来检测图像中的人的二维骨架结构。骨架结构检测单元102针对所获取的图像中识别出的所有人检测骨架结构。骨架结构检测单元102使用骨架估计技术基于识别出的人的关节的特征等来检测人的骨架结构,该骨
架估计技术使用机器学习。骨架结构检测单元102例如使用诸如非专利文献1中公开的openpose之类的骨架估计技术。
[0073]
特征计算单元103计算已经检测到的二维骨架结构的特征,并将计算出的特征存储在数据库110中。指示人的骨架特征的骨架结构特征是用于基于人的骨架对人的状态进行分类和检索的元素。该特征可以是骨架结构的全部或一些特征,或者可以包括诸如骨架结构的每个部分的多个特征。计算特征的方法可以是诸如机器学习或归一化之类的期望方法,并且最小值或最大值可以作为归一化获得。作为一个示例,该特征是通过对骨架结构执行机器学习获得的特征、图像上从骨架结构的头部到脚部的尺寸等。骨架结构的尺寸是图像上包括骨架结构的骨架区域在上下方向上的高度、面积等。作为图像中的上下方向(y轴方向)的上下方向(高度方向或竖直方向)例如是垂直于地面(参考平面)的方向。此外,作为图像上的左右方向(x轴方向)的左右方向(水平方向)例如是平行于地面的方向。
[0074]
为了执行用户期望的分类和检索,优选使用对分类和检索的处理具有鲁棒性的特征。例如,当用户期望不依赖于人的朝向和体型的分类和检索时,可以使用对人的朝向或体型具有鲁棒性的特征。通过学习面对不同方向的人在相同姿势下的骨架或不同体型的人在相同姿势下的骨架,或仅提取骨架在上下方向上的特征,可以获得不依赖于人的朝向或体型的特征。
[0075]
分类单元104基于骨架结构的特征之间的相似度来对存储在数据库110中的多个骨架结构进行分类(聚类)。也可以说,分类单元104基于骨架结构的特征来对多个人的状态进行分类,作为人的状态的识别处理。相似度是骨架结构的特征之间的距离。分类单元104可以通过骨架结构的整个特征的相似度、通过骨架结构的一些特征的相似度、或者通过骨架结构的第一部分(例如,双手)与第二部分(例如,双脚)的特征之间的相似度来对骨架结构进行分类。注意,可以基于人的骨架结构在每个图像中的特征来对人的姿势进行分类,或者可以基于人的骨架结构的特征在时间序列上连续的多个图像中的变化来对人的行为进行分类。也就是说,分类单元104能够基于骨架结构的特征来对人的状态(包括人的姿势和行为)进行分类。
[0076]
例如,分类单元104对在预定监控时段中捕获的多个图像中的多个骨架结构进行分类。分类单元104获得要分类的目标的特征之间的相似度,并以使得相似度高的骨架结构被分类到相同集群(使得可以获得一组相似的姿势)中的方式对骨架结构进行分类。与检索中类似,分类条件可以由用户指定。分类单元104将对骨架结构进行分类的结果存储在数据库110中,并将这些结果显示在显示单元107上。
[0077]
检索单元105从数据库110中存储的多个骨架结构中检索与检索查询的特征(查询状态)具有高相似度的骨架结构。也可以说,检索单元105基于骨架结构的特征从多个人的状态中检索与检索条件(查询状态)相对应的人的状态,作为人的状态的识别处理。与分类中类似,相似度是骨架结构的特征之间的距离。检索单元105可以通过骨架结构的所有特征之间的相似度来检索骨架结构,通过骨架结构的一些特征之间的相似度来检索骨架结构,或者可以通过骨架结构的第一部分(例如,双手)的特征与第二部分(例如,双脚)的特征之间的相似度来检索骨架结构。注意,可以基于人的骨架结构在每个图像中的特征来检索人的姿势,或者可以基于人的骨架结构的特征在时间序列上连续的多个图像中的变化来检索人的行为。也就是说,检索单元105能够基于骨架结构的特征来对人的状态(包括人的姿势
和行为)进行检索。
[0078]
例如,与确定分类目标的处理类似,检索单元105检索在预定监控时段中捕获的多个图像中的多个骨架结构的特征。此外,用户已经从分类单元104显示的分类结果中指定的骨架结构(姿势)被用作检索查询(检索关键字)。注意,检索查询不限于从分类结果中选择,并且检索查询可以从多个尚未分类的骨架结构中选择,或者作为检索查询的骨架结构可以由用户输入。检索单元105从要检索的特征中检索与检索查询的骨架结构的特征具有高相似度的特征。检索单元105将特征的检索结果存储在数据库110中并使显示单元107显示这些结果。
[0079]
输入单元106是获取从操作图像处理装置100的用户输入的信息的输入接口。用户例如是从监控相机捕获的图像中监控可疑人员的观察者。输入单元106,其例如是图形用户界面(gui),根据来自输入装置(例如,键盘、鼠标或触摸面板)的用户操作来接收信息。例如,输入单元106从分类单元104分类的骨架结构(姿势)中接受指定的人的骨架结构,作为检索查询。
[0080]
显示图像处理装置100的操作(处理)结果的显示单元107例如是诸如液晶显示器或有机电致发光(el)显示器之类的显示装置。显示单元107在gui上根据相似度等的显示分类单元104中的分类结果和检索单元105中的检索结果。
[0081]
图3至图5各自示出了根据该示例实施例的图像处理装置100的操作。图3示出了图像处理装置100中从图像获取到检索处理的流程,图4示出了图3中的分类处理(s104)的流程,图5示出了图3中的检索处理(s105)的流程。
[0082]
如图3所示,图像处理装置100从相机200获取图像(s101)。图像获取单元101获取人的图像以便根据骨架结构执行分类和检索,并将所获取的图像存储在数据库110中。图像获取单元101例如获取在预定监控时段中捕获的多个图像,并对多个图像中包括的所有人执行以下处理。
[0083]
接下来,图像处理装置100基于已经获取的人的图像来检测人的骨架结构(s102)。图6示出了检测骨架结构的示例。如图6所示,从监控相机等捕获的图像包括多个人,并且针对图像中包括的每个人检测骨架结构。
[0084]
图7示出了此时检测到的人体模型300的骨架结构,图8至图10示出了检测骨架结构的示例。骨架结构检测单元102使用诸如openpose之类的骨架估计技术从二维图像中检测如图7所示的人体模型(二维骨架模型)300的骨架结构。人体模型300是由关键点(例如,人的关节)和连接这些关键点的骨骼构成的二维模型。
[0085]
骨架结构检测单元102例如从图像中提取可以成为关键点的特征点,参考通过对关键点的图像执行机器学习获得的信息,并且检测人的每个关键点。在图7所示的示例中,头a1、颈a2、右肩a31、左肩a32、右肘a41、左肘a42、右手a51、左手a52、右腰a61、左腰a62、右膝a71、左膝a72、右脚a81和左脚a82被检测为人的关键点。此外,作为连接这些关键点的人的骨骼,检测以下骨骼:连接头a1和颈a2的骨骼b1、连接颈a2和右肩a31的骨骼b21以及连接颈a2和左肩a32的骨骼b22、连接右肩a31和右肘a41的骨骼b31以及连接左肩a32和左肘a42的骨骼b32、连接右肘a41和右手a51的骨骼b41以及连接左肘a42和左手a52的骨骼b42、连接颈a2和右腰a61的骨骼b51以及连接颈a2和左腰a62的骨骼b52、连接右腰a61和右膝a71的骨骼b61以及连接左腰a62和左膝a72的骨骼b62、连接右膝a71和右脚a81的骨骼b71以及连接
左膝a72和左脚a82的骨骼b72。骨架结构检测单元102将检测到的人的骨架结构存储在数据库110中。
[0086]
图8是检测直立的人的示例。在图8中,直立的人的图像是从正面捕获的,从正面看到的骨骼b1、骨骼b51和骨骼b52、骨骼b61和骨骼b62、骨骼b71和骨骼b72在彼此不重叠的情况下被检测到,并且右腿的骨骼b61和b71比左腿的骨骼b62和b72弯曲得稍多。
[0087]
图9是检测蹲伏的人的示例。在图9中,蹲伏的人的图像是从右侧捕获的,从右侧看到的骨骼b1、骨骼b51和骨骼b52、骨骼b61和骨骼b62、骨骼b71和骨骼b72各自被检测到,并且右腿的骨骼b61和b71以及左腿的骨骼b62和b72弯曲程度很大且彼此重叠。
[0088]
图10是检测躺卧的人的示例。在图10中,躺卧的人的图像是从左斜前方捕获的,从左斜前方看到的骨骼b1、骨骼b51和骨骼b52、骨骼b61和骨骼b62、骨骼b71和骨骼b72各自被捕获,并且右腿的骨骼b61和b71以及左腿的骨骼b62和b72弯曲且彼此重叠。
[0089]
接下来,如图3所示,图像处理装置100计算已检测到的骨架结构的特征(s103)。例如,当高度和骨架面积是特征时,特征计算单元103提取包括骨架结构的区域,并获得上述区域的高度(像素数量)和面积(像素面积)。高度和骨架面积是根据所提取的骨架区域的端部的坐标和端部的关键点的坐标获得的。特征计算单元103将所获得的骨架结构的特征存储在数据库110中。
[0090]
在图8所示的示例中,从直立的人的骨架结构中提取包括所有骨骼的骨架区域。在这种情况下,骨架区域的上端是头部a1的关键点,骨架区域的下端是左脚a82的关键点,骨架区域的左端是右肘a41的关键点,并且骨架区域的右端是左手a52关键点。因此,骨架区域的高度通过关键点a1的y坐标与关键点a82的y坐标之间的差值获得。此外,骨架区域的宽度通过关键点a41的x坐标与关键点a52的x坐标之间的差值获得,并且骨架区域的尺寸通过骨架区域的高度和宽度获得。
[0091]
在图9所示的示例中,从蹲伏的人的骨架结构中提取包括所有骨骼的骨架区域。在这种情况下,骨架区域的上端是头部a1的关键点,骨架区域的下端是右脚a81的关键点,骨架区域的左端是右腰a61的关键点,并且骨架区域的右端是右手a51的关键点。因此,骨架区域的高度通过关键点a1的y坐标与关键点a81的y坐标之间的差值获得。此外,骨架区域的宽度通过关键点a61的x坐标与关键点a51的x坐标之间的差值获得,并且骨架区域的尺寸通过骨架区域的高度和宽度获得。
[0092]
在图10所示的示例中,从图像中沿左右方向躺卧的人的骨架结构中提取包括所有骨骼的骨架区域。在这种情况下,骨架区域的上端是左肩a32的关键点,骨架区域的下端是左手a52的关键点,骨架区域的左端是右手a51的关键点,以及骨架区域的右端是左脚a82的关键点。因此,骨架区域的高度通过关键点a32的y坐标与关键点a52的y坐标之间的差值获得。此外,骨架区域的宽度通过关键点a51的x坐标与关键点a82的x坐标之间的差值获得,并且骨架区域的尺寸通过骨架区域的高度和宽度获得。
[0093]
接下来,如图3所示,图像处理装置100执行分类处理(s104)。在分类处理中,如图4所示,分类单元104计算已计算出的骨架结构的特征的相似度(s111),并且基于计算出的特征来对骨架结构进行分类(s112)。分类单元104获得被存储在数据库110中并要被分类的所有骨架结构的特征之间的相似度,并将相似度最大的骨架结构(姿势)分类(聚类)为一个集群。此外,分类单元104通过获得所分类的集群之间的相似度来对骨架结构(姿势)进行分
类,并且重复分类直到集群数量达到预定的集群数量。图11示出了骨架结构的特征的分类结果的图像。图11是通过二维分类元素的集群分析的图像,并且两个分类元素例如是骨架区域的高度和骨架区域的尺寸。在图11中,作为分类的结果,多个骨架结构的特征被分类为三个集群c1至c3。集群c1至c3例如对应于诸如站姿、坐姿、卧姿之类的各个姿势,并且根据相似姿势对骨架结构(人)进行分类。
[0094]
在该示例实施例中,基于人的骨架结构的特征来对骨架结构进行分类,由此可以使用各种分类方法。注意,分类方法可以预先设置或者可以由用户以期望的方式设置。此外,可以通过与稍后将描述的检索方法相同的方法来执行分类。也就是说,可以通过与检索条件类似的分类条件对骨架结构进行分类。例如,分类单元104通过以下分类方法执行分类。可以使用这些分类方法之一,或者可以将以期望的方式选择的分类方法彼此组合。
[0095]
(分类方法1)根据多个层次进行分类
[0096]
通过组合根据全身的骨架结构的分类、根据上半身和下半身的骨架结构的分类、根据手臂和腿的骨架结构分类,以分层的方式对骨架结构进行分类。也就是说,可以基于骨架结构的第一部分的特征和第二部分的特征来对骨架结构进行分类,并且还可以通过对第一部分的特征和第二部分的特征应用权重来对骨架结构进行分类。
[0097]
(分类方法2)根据沿时间序列的多个图像进行分类
[0098]
基于骨架结构在时间序列上连续的多个图像中的特征来对骨架结构进行分类。例如,可以在时间序列方向上累积特征,并且可以基于累积值来对骨架结构进行分类。此外,可以基于骨架结构的特征在多个连续图像中的变化(变化量)来对骨架结构进行分类。
[0099]
(分类方法3)不分骨架结构左右的分类
[0100]
人的左侧和右侧彼此相反的骨架结构被分类为相同的骨架结构。
[0101]
此外,分类单元104显示骨架结构的分类结果(s113)。分类单元104从数据库110中获取需要的骨架结构和人的图像,并针对相似姿势(集群)中的每个姿势,将骨架结构和人显示在显示单元107上作为分类结果。图12示出了其中姿势被分类为三种的显示示例。例如,如图12所示,针对各个姿势的姿势区域wa1至wa3被显示在显示窗口w1上,并且各个对应姿势的骨架结构和人(图像)被显示在姿势区域wa1至wa3中。姿势区域wa1,其例如是站姿的显示区域,显示被分类到集群c1中的类似于站姿的骨架结构和对应的人。姿势区域wa2,其例如是坐姿的显示区域,显示被分类到集群c2中的类似于坐姿的骨架结构和对应的人。姿势区域wa3,其例如是卧姿的显示区域,显示被分类到集群c2中的类似于卧姿的骨架结构和对应的人。
[0102]
接下来,如图3所示,图像处理装置100进行检索处理(s105)。在检索处理中,如图5所示,检索单元105接受检索条件的输入(s121),并基于检索条件来检索骨架结构(s122)。检索单元105根据用户的操作从输入单元106接受作为检索条件的检索查询的输入。当根据分类结果输入检索查询时,在图12所示的显示示例中,例如用户从显示在显示窗口w1上的姿势区域wa1至wa3中指定(选择)要检索的姿势的骨架结构。然后,检索单元105使用用户指定的骨架结构作为检索查询,从存储在数据库110中的所有要检索的骨架结构中检索具有高相似度的特征的骨架结构。检索单元105计算检索查询的骨架结构的特征与要检索的骨架结构的特征之间的相似度,并且提取计算出的相似度高于预定阈值的骨架结构。检索查询的骨架结构的特征可以使用预先计算的特征,或者可以使用在检索时获得的特征。注意,
检索查询可以通过根据用户的操作移动骨架结构的每个部分来输入,或者可以使用由用户在相机前展示的姿势作为检索查询。
[0103]
在该示例实施例中,与分类方法中类似,基于人的骨架结构的特征来检索骨架结构,由此可以使用各种检索方法。注意,检索方法可以预先设置或者可以由用户以期望的方式设置。例如,检索单元105通过以下检索方法来检索骨架结构。可以使用这些检索方法之一,或者可以将以期望的方式选择的检索方法彼此组合。可以通过逻辑表达式(例如,and(逻辑与)、or(逻辑或)或not(否定))组合多个检索方法(检索条件)来检索骨架结构。例如,检索条件可以是“(人举起他/她右手的姿势)and(人举起他/她左腿的姿势)”。
[0104]
(检索方法一)仅通过高度方向的特征进行检索
[0105]
通过仅使用人在高度方向上的特征来检索骨架结构,可以防止人在水平方向上的变化的影响,并且改善了对人的朝向和人的体型的改变的鲁棒性。例如,即使当人的朝向和体型例如在图13中的骨架结构501至503中彼此不同时,高度方向上的特征也不会变化很大。因此,可以确定骨架结构501至503在检索(分类)时是相同的姿势。
[0106]
(检索方法二)部分检索
[0107]
当图像中人的身体的一部分被隐藏时,仅使用可以识别的部分的信息来检索骨架结构。例如,如图14中的骨架结构511和512所示,即使在由于左腿被隐藏而无法检测到左腿的关键点的情况下,也可以使用已检测到的其他关键点的特征来检索骨架结构。因此,可以确定骨架结构511和512在检索时(在分类时)是相同的姿势。也就是,能够使用一些关键点而不是使用所有关键点的特征来执行分类和检索。在图15所示的骨架结构521和522的示例中,虽然双脚的朝向彼此不同,但是使用上半身的关键点(a1、a2、a31、a32、a41、a42、a51、a52)的特征作为检索查询,可以确定它们是相同姿势。此外,可以通过对要检索的部分(特征点)应用权重来检索骨架结构,或者可以改变确定相似度的阈值。当身体的一部分被隐藏时,可以通过忽略隐藏部分来检索骨架结构,或者可以通过考虑隐藏部分来检索骨架结构。通过考虑隐藏部分来检索骨架结构,可以检索隐藏了相同部分的姿势。
[0108]
(检索方法3)不分骨架结构左右的检索
[0109]
人的左侧和右侧彼此相反的骨架结构被检索为相同的骨架结构。例如,与图16的骨架结构531和532中类似,人举起他/她右手的姿势和人举起他/她左手的姿势可以被检索(分类)为相同的姿势。在图16所示的示例中,在骨架结构531中右手的关键点a51、右肘的关键点a41、左手的关键点a52、左肘的关键点a42的位置与骨架结构532中这些关键点的位置不同。然而,骨架结构531中的其他关键点的位置与骨架结构532中的对应关键点的位置相同。当骨架结构之一的关键点,即,骨架结构531的右手的关键点a51和右肘的关键点a41以及骨架结构532的左手的关键点a52和左肘的关键点a42水平翻转时,所得关键点的位置变得与骨架结构中的另一骨架结构的关键点相同。此外,当骨架结构之一的关键点,即,骨架结构531的左手的关键点a52和左肘的关键点a42或者骨架结构532的右手的关键点a51和右肘的关键点a41水平翻转时,所得关键点变得与骨架结构中的另一骨架结构的关键点相同。因此,它们被确定为相同的姿势。
[0110]
(检索方法4)通过竖直方向上的特征和水平方向上的特征进行检索
[0111]
在仅使用人在竖直方向(y轴方向)上的特征检索骨架结构之后,还使用人在水平方向(x轴方向)的特征来检索所获得的结果。
[0112]
(检索方法5)根据沿时间序列的多个图像进行检索
[0113]
基于骨架结构在时间序列上连续的多个图像中的特征对骨架结构进行检索。例如,特征可以堆叠在时间序列方向上,并且可以基于累积值对骨架结构进行检索。此外,可以基于骨架结构的特征在多个连续图像中的变化(变化量)来对骨架结构进行检索。
[0114]
此外,检索单元105显示骨架结构的检索结果(s123)。检索单元105从数据库110中获取需要的骨架结构和人的图像,并将获得的骨架结构和人作为检索结果显示在显示单元107上。例如,当指定多个检索查询(检索条件)时,针对每个检索查询显示检索结果。图17示出了通过三个检索查询(姿势)来检索骨架结构的情况的显示示例。例如,如图17所示,在左端部分中指定的检索查询q10、q20、q30的骨架结构和人被显示在显示窗口w2上,并且各个检索查询的检索结果q11、q21和q31的骨架结构和人以对齐的方式显示在检索查询q10、q20和q30的右侧。
[0115]
以对齐方式在检索查询旁边显示检索结果的顺序可以是已找到对应骨架结构的顺序或相似度的降序。当已经通过对部分检索的一部分(特征点)应用权重来检索骨架结构时,可以按照通过加权计算的相似度的顺序来显示检索结果。可以按照仅从用户已经选择的部分(特征点)计算的相似度的顺序来显示检索结果。此外,可以提取时间序列上在检索结果的图像(帧)之前和之后一定时间段的图像(帧),并且可以显示这些提取的图像(帧)。
[0116]
如上所述,在该示例实施例中,从二维图像中检测人的骨架结构,并且可以基于已检测到的骨架结构的特征来对骨架结构进行分类和检索。因此,具有高相似度的相似姿势可以被分类为一个组,并且可以检索与检索查询(检索关键字)具有高相似度的相似姿势。通过从图像中分类并显示相似的姿势,可以在用户未指定姿势等的情况下掌握图像中人的姿势。由于用户能够从分类结果中指定检索查询的姿势,因此即使在用户未预先详细掌握要检索的姿势的情况下,也可以检索期望的姿势。例如,可以基于骨架结构中的全部或一些来进行分类和检索,由此可以以灵活的方式执行分类和检索。
[0117]
(第二示例实施例)
[0118]
在下文中,将参考附图描述第二示例实施例。在该示例实施例中,将描述根据第一示例实施例的计算特征的具体示例。在该示例实施例中,特征通过使用人的身高对骨架结构进行归一化来获得。其他点与第一示例实施例中的点类似。
[0119]
图18示出了根据该示例实施例的图像处理装置100的配置。如图18所示,第一实施例的组件之外,图像处理装置100除了还包括身高计算单元108。特征计算单元103和身高计算单元108可以形成为一个处理单元。
[0120]
身高计算单元(身高估计单元)108基于骨架结构检测单元102检测到的二维骨架结构来计算(估计)当人在二维图像中直立时他/她的身高(这被称为身高像素数)。也可以说,身高像素数是人在二维图像中的身高(人的全身在二维图像空间中的长度)。身高计算单元108根据已检测到的骨架结构的各个骨骼的长度(在二维图像空间中的长度)来获得身高像素数(像素数)。
[0121]
在以下示例中,具体示例1至3用作获得身高像素数的方法。可以使用具体示例1至3中描述的方法之一,或者可以组合使用任意选择的多个方法。在具体示例1中,身高像素数是通过将骨架结构的骨骼中从头部到脚部的骨骼的长度相加获得的。当骨架结构检测单元102(骨架估计技术)未输出头的顶部和脚时,可以根据需要通过将获得的结果乘以常数来
校正它们。在具体示例2中,身高像素数是使用指示各个骨骼的长度与全身长度(二维图像空间中的身高)之间的关系的人体模型计算的。在具体示例3中,身高像素数是通过将三维人体模型与二维骨架结构拟合(将三维人体模型应用于二维骨架结构)计算的。
[0122]
根据该示例实施例的特征计算单元103是基于已经计算出的人的身高像素数来对人的骨架结构(骨架信息)进行归一化的归一化单元。特征计算单元103将已经归一化的骨架结构的特征(归一化值)存储在数据库110中。特征计算单元103通过身高像素数对图像上的骨架结构中包括的关键点(特征点)中的每一个的高度进行归一化。在该示例实施例中,例如,高度方向是图像的二维坐标(x-y坐标)空间中的上下方向(y轴方向)。在这种情况下,关键点中的每一个的高度可以根据关键点中的每一个的y坐标的值(像素数量)获得。
[0123]
备选地,高度方向可以是与现实世界中的三维坐标空间中的地面(参考平面)垂直的竖直轴的方向被投影到二维坐标空间上的竖直投影轴的方向(竖直投影方向)。在这种情况下,关键点中的每一个的高度可以根据沿竖直投影轴的值(像素数量)获得,该值通过基于相机参数将与现实世界中的地面垂直的轴投影到二维坐标空间来获得。注意,作为图像的成像参数的相机参数例如是相机200的姿势、位置、成像角度和焦距。预先知道长度和位置的对象被相机200捕获,并且可以根据该图像获得相机参数。捕获图像的两端出现了一些失真,并且现实世界中的竖直方向可能与图像的上下方向不一致。另一方面,通过使用已捕获图像的相机的参数,可以知道现实世界中的竖直方向在图像中倾斜了多少。因此,通过基于身高得到的相机参数对沿投影到图像上的竖直投影轴的关键点中的每一个的值进行归一化处理,考虑现实世界与图片之前的偏差,可以将关键点转换为特征。左右方向(横向)是图像的二维坐标(x-y坐标)的空间中的左右方向(x轴方向)或者通过将与现实世界中的三维坐标空间中的地面平行的方向投影到二维坐标空间上而获得的方向。
[0124]
图19至图23各自示出了根据该示例实施例的图像处理装置100的操作。图19示出了图像处理装置100从图像获取到检索处理的流程,图20至图22示出了图19中所示的身高像素数计算处理(s201)的具体示例1至3的流程,图23示出了图19所示的归一化处理(s202)的流程。
[0125]
如图19所示,在该示例实施例中,身高像素数计算处理(s201)和归一化处理(s202)作为第一示例实施例中的特征计算处理(s103)来执行。其他点与第一示例实施例中的点类似。
[0126]
在图像获取(s101)和检测骨架结构(s102)之后,图像处理装置100基于检测到的骨架结构来执行身高像素数计算处理(s201)。在该示例中,如图24所示,当人在二维图像中直立时他/她的骨架结构的高度由身高像素数(h)指示,并且骨架结构的每个关键点在图像中的人的状态下的高度由关键点高度(yi)指示。在下文中,将描述身高像素数计算处理的具体示例1至3。
[0127]
《具体示例1》
[0128]
在具体示例1中,使用从头部到脚部的骨骼的长度来获得身高像素数。在具体示例1中,如图20所示,身高计算单元108获取各个骨骼的长度(s211)并将已经获取的各个骨骼的长度相加(s212)。
[0129]
身高计算单元108获取二维图像上的人的从头部到脚部的骨骼的长度,以获得身高像素数。也就是说,在图24所示的骨骼中,从已经检测到骨架结构的图像中获取以下骨骼
中的每一个的长度(像素数量):骨骼b1(长度l1)、骨骼b51(长度l21)、骨骼b61(长度l31)和骨骼b71(长度l41)、或着骨骼b1(长度l1)、骨骼b52(长度l22)、骨骼b62(长度l32)和骨骼b72(长度l42)。可以根据二维图像中各个关键点的坐标获得各个骨骼的长度。通过将l1 l21 l31 l41或l1 l22 l32 l42乘以校正常数而获得的值被计算为身高像素数(h)。当可以计算这两个值时,例如将指示较大长度的值设置为身高像素数。也就是说,当从正面捕获图像时,图像中的每个骨骼的长度最大,而当捕获图像的角度相对于相机在深度方向上倾斜时,每个骨骼的长度变短。因此,较长的骨骼往往指示它们很可能已经从正面捕获,并且往往接近实际值。因此,优选地选择较长的长度。
[0130]
在图25所示的示例中,骨骼b1、骨骼b51和骨骼b52、骨骼b61和骨骼b62、以及骨骼b71和骨骼b72在彼此不重叠的情况下检测到。获得l1 l21 l31 l41和l1 l22 l32 l42,其中每一个是这些骨骼的长度之和。然后,例如,通过将l1 l22 l32 l42乘以校正常数而获得的值被设置为身高像素数,l1 l22 l32 l42是已被检测为骨骼的长度较大的左腿侧上的骨骼的长度之和。
[0131]
在图26所示的示例中,骨骼b1、骨骼b51和骨骼b52、骨骼b61和骨骼b62、以及骨骼b71和骨骼b72各自被检测到,并且右腿的骨骼b61和b71以及左腿的骨骼b62和b72彼此重叠。获得l1 l21 l31 l41和l1 l22 l32 l42,其中每一个是这些骨骼的长度之和。然后,例如,通过将l1 l21 l31 l41乘以校正常数而获得的值被设置为身高像素数,l1 l22 l32 l41是已被检测为骨骼的长度较大的右腿侧上的骨骼的长度之和。
[0132]
在图27所示的示例中,骨骼b1、骨骼b51和骨骼b52、骨骼b61和骨骼b62、骨骼b71和骨骼b72各自被检测到,并且右腿的骨骼b61和b71以及左腿的骨骼b62和b72彼此重叠。例如,获得l1 l21 l31 l41和l1 l22 l32 l42,其中每一个是这些骨骼的长度之和。然后,例如,通过将l1 l22 l32 l42乘以校正常数而获得的值被设置为身高像素数,l1 l22 l32 l42是已被检测为骨骼的长度较大的左腿侧上的骨骼的长度之和。
[0133]
在具体示例1中,可以通过将骨骼的从头到脚的长度相加来获得身高,由此可以通过简单的方法获得身高像素数。此外,由于通过使用机器学习的骨架估计技术至少检测从头到脚的骨架已经足够,因此即使在整个人不总是示出在图像中的情况下,例如在他/她蹲伏的情况下,也可以以高准确度估计身高像素数。
[0134]
《具体示例2》
[0135]
在具体示例2中,使用指示二维骨架结构中包括的骨骼的长度与人在二维图像空间中的全身长度之间的关系的二维骨架模型来获得身高像素数。
[0136]
图28是具体示例2中使用的指示二维图像空间中的各个骨骼的长度与二维图像空间中的全身长度之间的关系的人体模型(二维骨架模型)301。如图28所示,使普通人的各个骨骼的长度与普通人的全身长度之间的关系(各个骨骼的长度占全身长度的百分比)与人体模型301的各个骨骼相对应。例如,头的骨骼b1的长度等于全身长度
×
0.2(20%),右手的骨骼b41的长度等于全身长度
×
0.15(15%),并且右腿的骨骼b71的长度等于全身长度
×
0.25(25%)。通过将关于人体模型301的信息存储在数据库110中,可以根据各个骨骼的长度获得全身的平均长度。除了普通人的人体模型之外或代替普通人的人体模型,可以针对人的诸如年龄、性别和国籍之类的每个属性准备人体模型。因此,可以取决于人的属性来适当地获得全身长度(身高)。
[0137]
在具体示例2中,如图21所示,身高计算单元108获取各个骨骼的长度(s221)。身高计算单元108获取检测到的骨架结构中的所有骨骼的长度(二维图像空间中的骨骼的长度)。图29是从右斜后方捕获的蹲伏的人并检测到骨架结构的图像的示例。在该示例中,由于人脸的左侧未示出在图像中,因此尚未检测到头的骨骼以及左臂和左手的骨骼。因此,获取已经检测到的各个骨骼b21、b22、b31、b41、b51、b52、b61、b62、b71和b72的长度。
[0138]
接下来,如图21所示,身高计算单元108基于人体模型来根据各个骨骼架的长度计算身高像素数(s222)。身高计算单元108参考如图28所示的指示各个骨骼与全身长度之间的关系的人体模型301,并且因此根据各个骨骼的长度获得身高像素数。例如,由于右手的骨骼b41的长度等于全身长度
×
0.15,因此根据骨骼b41的长度/0.15来基于骨骼b41获得身高像素数。此外,由于右腿的骨骼b71的长度等于全身长度
×
0.25,因此根据骨骼b71的长度/0.25来基于骨骼b71的获得身高像素数。
[0139]
虽然此时人体模型是指例如普通人的人体模型,但是人体模型可以根据人的诸如年龄、性别、国籍之类的属性来选择。例如,当捕获的图像中示出了人脸时,基于该人脸来识别人的属性,并且参考与经识别的属性相对应的人体模型。通过参考针对每个属性通过机器学习人脸而获得的信息,能够根据图像的人脸的特征识别人的属性。此外,当无法从图像中识别出人的属性时,可以使用普通人的人体模型。
[0140]
此外,从骨骼的长度计算出的身高像素数可以通过相机参数来校正。例如,当相机位于高处并以俯视人的方式捕获人的图像时,二维骨架结构中诸如肩宽之类的骨骼的水平长度不受相机的俯角的影响,而随着相机的俯角增加,诸如颈腰骨骼之类的竖直长度变小。然后,根据诸如肩宽的骨骼之类的水平长度计算出的身高像素数往往变得比实际长度还大。通过使用相机参数,可以看出相机以什么角度俯视人,由此能够通过使用关于俯角的信息将身高像素数校正为看起来好像人的图像从正面被捕获到的二维骨架结构。因此,能够更准确地计算身高像素数。
[0141]
接下来,如图21所示,身高计算单元108计算身高像素数的最优值(s223)。身高计算单元108根据针对每个骨骼获得的身高像素数来计算身高像素数的最优值。例如,生成如图30所示的针对各个骨架获得的身高像素数的直方图,并从中选择最大的身高像素数。也就是说,选择基于多个骨骼而获得的身高像素数中大于其他身高像素数的一个身高像素数。例如,假设前30%的值是有效值。在图30中,选择基于骨骼b71、b61和b51而获得的身高像素数。可以获得所选身高像素数的平均值作为最优值,或者可以获得最大身高像素数作为最优值。由于根据二维图像的骨骼的长度获得身高,因此当尚未从正面捕获到骨骼的图像时,即当从相机中看到骨骼时在骨骼的图像已经沿深度方向倾斜地被捕获时,骨骼的长度变得比它们被从正面捕获的情况下更短。然后,身高像素数较大的值意味着图像可能已经从正面被捕获并且可能比身高像素数较小的值更恰当。因此,将大于其他值的值设置为最优值。
[0142]
在具体示例2中,使用指示二维图像空间中的骨骼与全身长度之间的关系的人体模型,基于已经检测到的骨架结构的骨骼来获得身高像素数。因此,即使在无法获得从头到脚的所有骨架时,也可以从一些骨骼中获得身高像素数。具体地,通过采用从多个骨骼获得的值中大于其他值的值,可以以高准确度估计身高像素数。
[0143]
《具体示例3》
[0144]
在具体实施例3中,使二维骨架结构与三维人体模型(三维骨架模型)拟合,并且使用与二维骨架结构拟合的三维人体模型的身高像素数来获得全身的骨架向量。
[0145]
在具体示例3中,如图22所示,身高计算单元108首先基于相机200捕获的图像来计算相机参数(s231)。身高计算单元108从相机200捕获的多个图像中提取其长度预先已知的对象,并且根据已经提取的对象的尺寸(像素数量)获得相机参数。可以预先获得相机参数,并且可以根据需要来获取预先获得的相机参数。
[0146]
接下来,身高计算单元108调整三维人体模型的布置和高度(s232)。身高计算单元108针对检测到的二维骨架结构准备用于计算身高像素数的三维人体模型,并且基于相机参数将其布置在相同的二维图像中。具体地,“相机与现实世界中的人之间的相对位置关系”根据相机参数和二维骨架结构指定。例如假设相机的位置坐标为(0,0,0),则身高计算单元108指定人站立(或坐下)的位置的坐标为(x,y,z)。然后,通过假设通过将三维人体模型布置在与被指定的人的位置相同的位置(x,y,z)而捕获的图像,使二维骨架结构与三维人体模型重叠。
[0147]
图31是通过从左斜前方捕获蹲伏的人的图像来检测二维骨架结构401的示例。二维骨架结构401包括二维坐标信息。虽然优选地检测到所有骨架,但是可能没有检测到一些骨架。对于该二维骨架结构401,准备如图32所示的三维人体模型402。三维人体模型(三维骨架模型)402是具有三维坐标信息并且具有其形状与二维骨架结构401的形状相同的骨架的模型。然后,如图33所示,布置所准备的三维人体模型402并使其与检测到的二维骨架结构401重叠。此外,当使所准备的三维人体模型402与检测到的二维骨架结构401重叠时,调整三维人体模型402的高度,使得其适合二维骨架结构401。
[0148]
如图33所示,此时准备的三维人体模型402可以是处于接近二维骨架结构401的姿势的状态的模型,或者可以是处于他/她直立的状态的模型。例如,所估计姿势的三维人体模型402可以使用这样的技术来生成,即使用机器学习从二维图像估计三维空间的姿势的技术。通过学习关于二维图像的关节和三维空间的关节的信息,可以从二维图像中估计三维姿势。
[0149]
接下来,如图22所示,身高计算单元108使三维人体模型与二维骨架结构拟合(s233)。如图34所示,身高计算单元108使三维人体模型402变形,使得三维人体模型402的姿势与二维骨架结构401的姿势在使三维人体模型402与二维骨架结构401彼此重叠的状态下彼此一致。也就是说,对三维人体模型402的身高、身体的朝向、关节的角度进行调整和优化,使得三维人体模型402与二维骨架结构401之间没有差异。例如,三维人体模型402的关节在人的运动范围内旋转,并且整个三维人体模型402旋转或调整整个尺寸。在二维空间(二维坐标)中执行三维人体模型与二维骨架结构的拟合(适应)。也就是说,将三维人体模型映射到二维空间上,并且考虑变形后的三维人体模型二维空间(图像)中如何改变,将三维人体模型优化为二维骨架结构。
[0150]
接下来,如图22所示,身高计算单元108计算与二维骨架结构拟合的三维人体模型的身高像素数(s234)。如图35所示,当三维人体模型402与二维骨架结构401之间没有差异并且因此姿势彼此一致时,身高计算单元108获得三维人体模型402在该状态下的身高像素数。当处于使优化的三维人体模型402直立的状态时,身高计算单元108基于相机参数在二维空间中获得全身长度。当使三维人体模型402直立时,身高计算单元108例如通过从头到
脚的骨骼的长度(像素数量)来计算身高像素数。与具体示例1中类似,可以将三维人体模型402的从头部到脚部的骨骼的长度相加。
[0151]
在具体实施例3中,通过基于相机参数来使三维人体模型与二维骨架结构拟合并基于三维人体模型来获得身高像素数,即使在由于未在正面示出所有骨骼(即,所有骨骼被对角地示例)而存在较大误差的情况下,也可以以高准确度估计身高像素数。
[0152]
《归一化处理》
[0153]
如图19所示,图像处理装置100在执行身高像素数计算处理之后执行归一化处理(s202)。如图23所示,特征计算单元103计算关键点高度(s241)。特征计算单元103计算检测到的骨架结构中包括的所有关键点的关键点高度(像素数量)。关键点高度是从骨架结构的最低端(例如,双脚之一的关键点)到其关键点在高度方向上的长度(像素数量)。在该示例中,关键点高度根据关键点在图像中的y坐标来获得。如上所述,关键点高度可以根据沿基于相机参数的竖直投影轴的方向的长度获得。在图24所示的示例中,例如,颈的关键点a2的高度(yi)是通过从关键点a2的y坐标减去右脚的关键点a81的y坐标或左脚的关键点a82的y坐标而获得的值。
[0154]
接下来,特征计算单元103指定用于归一化的参考点(s242)。参考点是用作指示关键点的相对高度的参考点。参考点可以预先设置或者可以由用户选择。参考点优选地是骨架结构的中心或高于该中心(在图像的上下方向上的上侧),并且例如可以是颈的关键点的坐标。参考点不限于颈的坐标,并且可以是头的关键点或其他关键点的坐标。此外,参考点不限于关键点并且可以是期望的坐标(例如,骨架结构的中心坐标等)。
[0155]
接下来,特征计算单元103通过身高像素数对关键点高度(yi)进行归一化(s243)。特征计算单元103使用每个关键点的关键点高度、参考点、以及身高像素数对每个关键点进行归一化。具体地,特征计算单元103通过身高像素数对关键点相对于参考点的相对高度进行归一化。在该示例中,作为仅关注高度方向的示例,仅提取y坐标,并且假设参考点是颈的关键点来执行归一化。具体地,假设参考点(颈的关键点)的y坐标是(yc),使用下面的表达式(1)获得特征(归一化值)。当使用基于相机参数的竖直投影轴时,(yi)和(yc)被转换为沿竖直投影轴方向的值。
[0156]
[表达式1]
[0157]fi
=(y
i-yc)/h

(1)
[0158]
例如,当关键点的数量为18时,使用上述表达式(1)将18个关键点的坐标(x0,y0)、(x1,y1)...(x
17
,y
17
)如下地转换为18维特征。
[0159]
[表达式2]
[0160][0161]
图36示出了由特征计算单元103获得的各个关键点的特征的示例。在该示例中,将
颈的关键点a2设置为参考点。因此,关键点a2的特征是0.0,高度与颈的高度相同的右肩的关键点a31和左肩的关键点a32的特征也是0.0。比颈高的头的关键点a1的特征是-0.2。比颈低的右手的关键点a51和左手的关键点a52的特征都是0.4,并且右脚的关键点a81和左脚的关键点a82的特征都是0.9。当人从上述状态举起他/她的左手时,左手变得比参考点高,如图37所示,并且左手的关键点a52的特征变为-0.4。另一方面,由于仅使用y轴的坐标执行归一化,因此即使骨架结构的宽度从图36所示的状态改变,特征也保持与图38所示的相同。也就是说,根据该示例实施例的特征(归一化值)不受骨架结构的横向(x-方向)上变化的影响,其中该特征(归一化值)指示骨架结构(关键点)在高度方向(y方向)上的特征。
[0162]
如上所述,在该示例实施例中,从二维图像中检测到人的骨架结构,并使用从检测到的骨架结构获得的身高像素数(当人在二维图像中直立时他/她的身高)对骨架结构的各个关键点进行归一化。通过使用归一化后的特征,可以提高在执行分类、检索等时的鲁棒性。也就是说,如上所述,由于该示例实施例的特征不受人在水平方向上变化的影响,因此对人的朝向或人的体型的变化的鲁棒性较高。
[0163]
此外,由于可以通过使用诸如openpose之类的骨架估计技术检测人的骨架结构来实现该示例实施例,因此不需要准备用于训练人的姿势等的训练数据。此外,通过对骨架结构的关键点进行归一化并将它们存储在数据库中,能够对人的姿势等进行分类和检索,由此能够对未知姿势进行分类和检索。此外,通过对骨架结构的关键点进行归一化,可以获得清晰且全面的特征。因此,与诸如机器学习之类的黑盒类型的算法不同,用户可能对处理结果感到满意。
[0164]
注意,前述示例实施例中的每个配置可以由硬件和/或软件形成,并且可以由一个硬件组件或一个软件组件或者多个硬件组件或多个软件组件形成。图像处理装置10和100的功能(处理)可以由计算机20实现,该计算机20包括诸如中央处理单元(cpu)之类的处理器21和作为存储装置的存储器22,如图39所示。例如,用于执行根据示例实施例的方法的程序(图像处理程序)可以存储在存储器22中,并且可以通过使处理器21执行存储器22中存储的程序来实现每个功能。
[0165]
可以使用任何类型的非暂时性计算机可读介质来存储程序并将其提供给计算机。非暂时性计算机可读介质包括任意类型的有形存储介质。非暂时性计算机可读介质的示例包括磁存储介质(例如,软盘、磁带、硬盘等)、光磁存储介质(例如,磁光盘)、cd只读存储器(rom)、cd-r、cd-r/w和半导体存储器(例如,掩膜rom、prom(可编程rom)、eprom(可擦写prom)、闪存rom、ram(随机存取存储器)等)。此外,使用任何类型的暂时性计算机可读介质将程序提供给计算机。暂时性计算机可读介质的示例包括电信号、光信号和电磁波。暂时性计算机可读介质可以通过有线通信线路(例如电线和光纤)或无线通信线路向计算机提供程序。
[0166]
此外,本公开不限于上述示例实施例,并且可以在不背离本公开精神的情况下适时改变。例如,虽然已经检测到人的骨架结构,但可以代替地检测除了人之外的动物(例如,哺乳动物、爬行动物、鸟类、两栖动物或鱼类)的骨架结构。
[0167]
虽然已经参考示例实施例描述了本公开,但是本公开不限于上述示例实施例。可以在本公开的范围内对本公开的配置和细节进行本领域技术人员可以理解的各种改变。
[0168]
上文公开的全部或部分示例实施例可以描述为但不限于以下补充注释。
[0169]
(补充注释1)
[0170]
一种图像处理装置,包括:
[0171]
骨架检测单元,用于基于所获取的二维图像来检测多个人的二维骨架结构;
[0172]
特征计算单元,用于计算已检测到的多个二维骨架结构的特征;以及
[0173]
识别单元,用于基于已经计算出的多个特征之间的相似度来执行多个人的状态的识别处理。
[0174]
(补充注释2)
[0175]
根据补充注释1的图像处理装置,其中,识别单元对多个人的状态进行分类作为识别处理。
[0176]
(补充注释3)
[0177]
根据补充注释2的图像处理装置,其中,识别单元基于二维骨架结构的全部特征或一些特征来对多个人的状态进行分类。
[0178]
(补充注释4)
[0179]
根据补充注释2的图像处理装置,其中,识别单元基于二维骨架结构的第一部分的特征和二维骨架结构的第二部分的特征来对多个人的状态进行分类。
[0180]
(补充注释5)
[0181]
根据补充注释2至4中任一项的图像处理装置,其中,
[0182]
骨架检测单元从时间序列上连续的多个二维图像中检测多个人的二维骨架结构,以及
[0183]
识别单元基于从多个二维图像中检测到的二维骨架结构的特征来对多个人的状态进行分类。
[0184]
(补充注释6)
[0185]
根据补充注释5所述的图像处理装置,其中,识别单元基于二维骨架结构的特征在多个二维图像中的变化来对多个人的状态进行分类。
[0186]
(补充注释7)
[0187]
根据补充注释2至6中任一项的图像处理装置,其中,识别单元将其中人的右侧和左侧彼此相反的二维骨架结构分类为一个状态。
[0188]
(补充注释8)
[0189]
根据补充注释2至7中任一项的图像处理装置,其中,识别单元根据相似度来显示对多个人的状态的分类结果。
[0190]
(补充注释9)
[0191]
根据补充注释8的图像处理装置,其中,识别单元从多个人的状态中检索从所显示的分类结果中选择的人的状态。
[0192]
(补充注释10)
[0193]
根据补充注释1的图像处理装置,其中,识别单元从多个人的状态中检索查询状态作为识别处理。
[0194]
(补充注释11)
[0195]
根据补充注释10的图像处理装置,其中,识别单元基于二维骨架结构的全部特征或一些特征来检索查询状态。
[0196]
(补充注释12)
[0197]
根据补充注释10的图像处理装置,其中,识别单元基于二维骨架结构的第一部分的特征和二维骨架结构的第二部分的特征来检索查询状态。
[0198]
(补充注释13)
[0199]
根据补充注释12的图像处理装置,其中,识别单元基于第一部分的特征的权重和第二部分的特征的权重来检索查询状态。
[0200]
(补充注释14)
[0201]
根据补充注释10至13中任一项的图像处理装置,其中,
[0202]
骨架检测单元从时间序列上连续的多个二维图像中检测多个人的二维骨架结构,以及
[0203]
识别单元基于从多个二维图像中检测到的二维骨架结构的特征来检索查询状态。
[0204]
(补充注释15)
[0205]
根据补充注释14的图像处理装置,其中,识别单元基于二维骨架结构的特征在多个二维图像中的变化来检索查询状态。
[0206]
(补充注释16)
[0207]
根据补充注释10至15中任一项的图像处理装置,其中,识别单元将其中人的右侧和左侧彼此相反的二维骨架结构检索为一个状态。
[0208]
(补充注释17)
[0209]
根据补充注释10至16中任一项的图像处理装置,其中,识别单元根据相似度来显示对多个人的状态的检索结果。
[0210]
(补充注释18)
[0211]
根据补充注释1至17中任一项的图像处理装置,其中,特征是人在仅高度方向上的特征。
[0212]
(补充注释19)
[0213]
根据补充注释18的图像处理装置,其中,特征是通过基于人在二维图像空间中直立时的身高来对二维骨架结构进行归一化而获得的特征。
[0214]
(补充注释20)
[0215]
一种图像处理方法,包括:
[0216]
基于所获取的二维图像来检测多个人的二维骨架结构;
[0217]
计算已检测到的多个二维骨架结构的特征;以及
[0218]
基于已经计算出的多个特征之间的相似度来执行多个人的状态的识别处理。
[0219]
(补充注释21)
[0220]
根据补充注释20的图像处理方法,包括对多个人的状态进行分类作为识别处理。
[0221]
(补充注释22)
[0222]
根据补充注释20的图像处理方法,包括从多个人的状态中检索查询状态作为识别处理。
[0223]
(补充注释23)
[0224]
一种非暂时性计算机可读介质,存储有用于使计算机执行以下处理的图像处理程序:
[0225]
基于所获取的二维图像来检测多个人的二维骨架结构;
[0226]
计算已检测到的多个二维骨架结构的特征;以及
[0227]
基于已经计算出的多个特征之间的相似度来执行多个人的状态的识别处理。
[0228]
(补充注释24)
[0229]
根据补充注释23的非暂时性计算机可读介质,包括对多个人的状态进行分类作为识别处理。
[0230]
(补充注释25)
[0231]
根据补充注释23的非暂时性计算机可读介质,包括从多个人的状态中检索查询状态作为识别处理。
[0232]
附图标记列表
[0233]1ꢀꢀꢀꢀꢀꢀꢀ
图像处理系统
[0234]
10
ꢀꢀꢀꢀꢀꢀ
图像处理装置
[0235]
11
ꢀꢀꢀꢀꢀꢀ
骨架检测单元
[0236]
12
ꢀꢀꢀꢀꢀꢀ
特征计算单元
[0237]
13
ꢀꢀꢀꢀꢀꢀ
识别单元
[0238]
20
ꢀꢀꢀꢀꢀꢀ
计算机
[0239]
21
ꢀꢀꢀꢀꢀꢀ
处理器
[0240]
22
ꢀꢀꢀꢀꢀꢀ
存储器
[0241]
100
ꢀꢀꢀꢀꢀ
图像处理装置
[0242]
101
ꢀꢀꢀꢀꢀꢀ
图像获取单元
[0243]
102
ꢀꢀꢀꢀꢀꢀ
骨架结构检测单元
[0244]
103
ꢀꢀꢀꢀꢀꢀ
特征计算单元
[0245]
104
ꢀꢀꢀꢀꢀꢀ
分类单元
[0246]
105
ꢀꢀꢀꢀꢀꢀ
检索单元
[0247]
106
ꢀꢀꢀꢀꢀꢀ
输入单元
[0248]
107
ꢀꢀꢀꢀꢀꢀ
显示单元
[0249]
108
ꢀꢀꢀꢀꢀꢀ
身高计算单元
[0250]
110
ꢀꢀꢀꢀꢀꢀ
数据库
[0251]
200
ꢀꢀꢀꢀꢀꢀ
相机
[0252]
300、301 人体模型
[0253]
401
ꢀꢀꢀꢀꢀꢀ
二维骨架结构
[0254]
402
ꢀꢀꢀꢀꢀꢀ
三维人体模型。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献