掌桥专利:专业的专利平台
掌桥专利
首页

对象行为分析方法、信息显示方法及电子设备

文献发布时间:2023-06-19 12:14:58


对象行为分析方法、信息显示方法及电子设备

技术领域

本文涉及但不限于数据处理技术领域,尤指一种对象行为分析方法、信息显示方法及电子设备。

背景技术

目前,为了分析对象的行为信息,通常采用人工监测的方式来实现。但是,随着科学技术的快速发展以及实际应用需求的不断提升,在很多的实际应用场景中,需要采用人工智能方式来对对象的行为进行分析。

发明内容

本公开提供了一种对象行为分析方法、信息显示方法及电子设备。

一方面,本公开提供了一种对象行为分析方法,包括:从目标场景的视频中获取多帧待处理图像;在任一帧待处理图像中检测到至少一个第一类型对象,并确定任一第一类型对象的关键点信息;根据当前图像和参考图像组中第一类型对象的关键点信息,确定当前图像中任一第一类型对象的关键点融合信息,其中,当前图像为任一帧当前处理中的待处理图像,参考图像组包括当前图像之前的至少一帧待处理图像;根据当前图像中任一第一类型对象的关键点融合信息,确定当前图像中所述第一类型对象的行为分析结果。

另一方面,本公开提供了一种信息显示方法,包括:分别获取目标场景的视频以及所述视频对应的行为分析结果,所述行为分析结果通过如上所述的对象行为分析方法得到;在显示界面显示所述视频和对应的行为分析结果。

另一方面,本公开提供了一种电子设备,包括:存储器和处理器;所述存储器配置为存储程序指令,所述处理器执行所述程序指令时实现如上所述的对象行为分析方法的步骤。

另一方面,本公开提供了一种计算机可读存储介质,存储有程序指令,当所述程序指令被处理器执行时实现如上所述的对象行为分析方法。

本公开提供的对象行为分析方法结合目标检测和关键点检测技术,并利用从多帧待处理图像检测到的关键点信息进行行为分析,支持进行实时行为分析,而且可以提高行为分析结果的准确性。

本公开的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开而了解。本公开的其他优点可通过在说明书以及附图中所描述的方案来实现和获得。

附图说明

附图用来提供对本公开技术方案的理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开的技术方案,并不构成对本公开技术方案的限制。

图1为本公开一实施例提供的对象行为分析方法的流程图;

图2为本公开一实施例提供的对象行为分析方法的实施架构示例图;

图3为本公开一实施例提供的对象行为分析方法的流程示例图;

图4为本公开一实施例中输入目标检测模型的待处理图像的示例图;

图5为本公开一实施例中目标检测模型的检测结果的可视化示例图;

图6为一个人体的18个关节点的示意图;

图7为本公开一实施例提供的关键点检测模型的结构示例图;

图8为图7中单人姿态估计(SPPE)网络的结构示例图;

图9为图8中标识块(ID block)的结构示例图;

图10为图8中卷积块的结构示例图;

图11为本公开一实施例提供的信息显示方法的流程图;

图12为本公开一实施例提供的对象行为分析装置的示意图;

图13为本公开一实施例提供的电子设备的示意图。

具体实施方式

本公开描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本公开所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。

本公开包括并设想了与本领域普通技术人员已知的特征和元件的组合。本公开已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本公开中示出或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。

此外,在描述具有代表性的实施例时,说明书可能已经将方法或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本公开实施例的精神和范围内。

除非另外定义,本公开使用的技术术语或科学术语为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。本公开中,“多个”表示两个或两个以上的数目。

为了保持本公开实施例的以下说明清楚且简明,本公开省略了部分已知功能和已知部件的详细说明。本公开实施例附图只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。

本公开实施例提供一种对象行为分析方法、信息显示方法及电子设备,通过结合目标检测和关键点检测技术,并利用从多帧待处理图像检测到的关键点信息进行行为分析,可以支持进行实时行为分析,并提高行为分析准确性,可以适用于多种应用场景。

图1为本公开一实施例提供的对象行为分析方法的流程图。如图1所示,本公开实施例提供的对象行为分析方法包括以下步骤:

步骤101、从目标场景的视频中获取多帧待处理图像;

步骤102、在任一帧待处理图像中检测到至少一个第一类型对象,并确定任一第一类型对象的关键点信息;

步骤103、根据当前图像和参考图像组中第一类型对象的关键点信息,确定当前图像中任一第一类型对象的关键点融合信息;其中,当前图像为任一帧当前处理中的待处理图像,参考图像组包括当前图像之前的至少一帧待处理图像;

步骤104、根据当前图像中任一第一类型对象的关键点融合信息,确定该帧待处理图像中所述第一类型对象的行为分析结果。

在本实施例中,目标场景可以为本实施例提供的对象行为分析方法的应用场景。比如,在一示例中,目标场景可以为远程课堂场景,本实施例提供的对象行为分析方法可以用于分析远程课堂中学生的行为(比如,坐立、趴桌、站立、阅读等),以基于学生的行为分析结果再进行其他处理,例如,分析授课效果、课程兴趣点、枯燥点、难点、学生积极度等。在另一示例中,目标场景可以为远程会议场景,本实施例提供的对象行为分析方法可以用于分析远程会场中参会人员的行为(比如,趴桌、阅读等),以基于参会人员的行为分析结果再进行其他处理,例如,分析参会人员的积极度、会议枯燥点、兴趣点等。然而,本公开对此并不限定。比如,本实施例提供的对象行为分析方法同样可以适用于双师课堂、电子白板、录播分析等各类智慧教育场景。

本实施例中,目标场景的视频可以是通过图像采集设备(比如,摄像头)实时拍摄的视频,或者,可以是从其他设备(比如,远程服务器)接收的直播视频,或者,可以是已录制的视频。然而,本公开对此并不限定。

本实施例中,在步骤101中,从目标场景的视频中获取的多帧待处理图像可以是目标场景的视频中需要自动进行处理的图像,或者,可以是由用户选中的需要进行处理的图像。然而,本公开对此并不限定。

本实施例中,从目标场景的视频中获取的多帧待处理图像可以为视频中连续的多帧图像,或者,可以为视频中非连续的多帧图像。比如,可以每隔预设时间间隔从目标场景的视频中获取多帧图像作为待处理图像,或者,可以将目标场景的视频中的每帧图像作为待处理图像,或者,可以每隔预设帧数选取目标场景的视频中的一帧图像作为一个待处理图像。然而,本公开对此并不限定。在一示例中,从目标场景的视频中获取的多帧待处理图像可以依次重新编号,比如,记录为第1、2、……、n帧,以便于后续处理,n为大于1的整数。然而,本公开对此并不限定。比如,可以不对从目标场景的视频中获取的多帧待处理图像进行重新编号,而是沿用在目标场景的视频中的帧号来区分获取的不同的待处理图像。

本实施例中,待处理图像中的对象指待处理图像中除了背景部分之外的图像中的全部或部分主体,也就是图像中的全部或部分前景对象。其中,第一类型对象可以为待处理图像中的活体对象,比如,人体或动物体。第二类型对象为待处理图像中的非活体对象,比如,桌子、椅子、建筑物等等。

在一示例性实施方式中,在步骤102中,在任一帧待处理图像中检测到至少一个第一类型对象,可以包括:利用基于Yolov3网络得到的目标检测模型在任一帧待处理图像中检测到至少一个第一类型对象。其中,Yolov3网络为深度学习中常用的一种卷积神经网络。基于本实施例的目标场景对Yolov3网络进行训练可以得到适用于目标场景的目标检测模型,以适于在目标场景检测出第一类型对象。本示例性实施方式通过采用基于Yolov3网络得到的目标检测模型进行目标检测,可以提高检测速度和精度。然而,本公开对此并不限定。在其他实现方式中,可以基于其他算法训练得到适用于目标场景的目标检测模型。

在一示例性实施方式中,第一类型对象可以为人体,第一类型对象的关键点可以包括人体的多个关节点。其中,第一类型对象的关键点信息可以包括一个人体的每个关节点的坐标信息(包括在待处理图像内定义的坐标系中的横坐标值和纵坐标值)和对应的置信度。比如,在待处理图像内定义的坐标系中,以图像左上角为坐标原点,水平方向为横坐标方向,竖直方向为纵坐标方向。然而,本公开对此并不限定。在一示例中,第一类型对象的关键点信息可以包括一个人体对应的18个关节点的坐标信息和对应的置信度。然而,本公开对此并不限定。

在一示例性实施方式中,在步骤102中,确定任一第一类型对象的关键点信息,可以包括:利用基于区域多人姿态检测(RMPE,Regional Multi-Person Pose Estimation)框架得到的关键点检测模型确定任一第一类型对象的关键点信息。在本示例性实施例中,关键点检测模型可以采用自上而下的检测方式,且可以基于目标检测模型得到的第一类型对象的检测结果来检测关键点信息,准确度较高。然而,本公开对此并不限定。在其他实现方式中,关键点检测模型可以采用其他算法实现,比如,可以采用自下而上的检测方式进行关键点检测,以提高处理速度,而且,在采用自下而上的检测方式中,关键点检测过程可以不依赖于目标检测模型得到的第一类型对象的检测结果。

在一示例性实施方式中,步骤103可以包括:针对当前图像和参考图像组中相邻的任意两帧待处理图像,根据所述相邻的两帧待处理图像中各个第一类型对象的关键点信息,确定所述相邻的两帧待处理图像中各个第一类型对象之间的匹配关系;根据当前图像及参考图像组中相邻的任意两帧待处理图像中各个第一类型对象之间的匹配关系,确定当前图像中任一第一类型对象与参考图像组中各个第一类型对象的匹配关系;根据当前图像中任一第一类型对象与参考图像组中各个第一类型对象的匹配关系,确定当前图像中所述第一类型对象的关键点融合信息。在本示例性实施方式中,通过对多帧待处理图像中的各个第一类型对象进行匹配来得到当前图像(即,一帧当前处理中的待处理图像)中每个第一类型对象的关键点融合信息,以支持进行后续的行为分析处理,并提高行为分析准确性。

在本示例性实施方式中,当参考图像组包括当前图像之前的一帧待处理图像,则仅需要确定当前图像和当前图像之前的一帧待处理图像(即两帧待处理图像)中各个第一类型对象的匹配关系。当参考图像组包括当前图像之前的P帧待处理图像,P为大于1的整数,则需要确定P+1帧待处理图像(即当前图像和之前的P帧待处理图像)中各个第一类型对象的匹配关系。其中,可以依次确定相邻两帧待处理图像中各个第一类型对象的匹配关系,然后,再依次关联得到P+1帧待处理图像中各个第一类型对象的匹配关系。本示例性实施方式可以将当前图像和参照图像组中的各个第一类型对象匹配起来,以支持进行关键点信息的融合,从而提高行为分析的准确性。

在一示例性实施方式中,根据所述相邻的两帧待处理图像中各个第一类型对象的关键点信息,确定所述相邻的两帧待处理图像中各个第一类型对象之间的匹配关系,可以包括:

根据所述相邻的两帧待处理图像中各个第一类型对象的关键点信息,计算其中一帧待处理图像中任一个第一类型对象与另一帧待处理图像中任一第一类型对象的相同类别的关键点之间的指数二范数距离;

根据所述指数二范数距离满足第三条件的关键点的数目,确定所述两帧待处理图像中两个第一类型对象之间的相关性;

根据所述两帧待处理图像中任两个第一类型对象之间的相关性,利用匈牙利算法确定所述两帧待处理图像中各个第一类型对象之间的匹配关系。

在本示例性实施方式中,第三条件可以根据实际场景确定,比如,第三条件可以包括指数二范数距离小于或等于第一阈值。然而,本公开对此并不限定。

在本示例性实施方式中,将每帧待处理图像中的第一类型对象作为一组,分别计算相邻两组第一类型对象(即相邻两帧待处理图像中的第一类型对象)中相同类别的关键点之间的指数二范数距离,并根据计算得到的指数二范数距离,来确定相邻两帧待处理图像中任两个第一类型对象之间的相关性,然后,利用匈牙利算法来解决两帧待处理图像中不同第一类型对象之间的匹配问题,以得到两帧待处理图像中第一类型对象之间的最佳匹配关系,从而可以确定多帧待处理图像中各个第一类型对象的匹配关系。

在一示例性实施方式中,第一类型对象的关键点信息可以包括:第一类型对象的多个关键点的坐标信息,所述坐标信息包括两个维度的坐标值(比如,在待处理图像内定义的坐标系中的横坐标值和纵坐标值);

其中,根据相邻的两帧待处理图像中各个第一类型对象的关键点信息,计算其中一帧待处理图像中任一第一类型对象与另一帧待处理图像中任一第一类型对象的相同类别的关键点之间的指数二范数距离,可以包括:通过以下式子计算相邻的其中一帧待处理图像中任一第一类型对象与另一帧待处理图像中任一第一类型对象的相同类别的关键点之间的指数二范数距离:

其中,

在一示例性实施方式中,根据当前图像中任一第一类型对象和参考图像组中各个第一类型对象的匹配关系和关键点信息,确定当前图像中所述第一类型对象的关键点融合信息,可以包括:

针对当前图像中任一第一类型对象的任一关键点,从当前图像中所述第一类型对象的关键点信息、以及参考图像组中与该第一类型对象匹配的第一类型对象的关键点信息中,取出该关键点所属类别对应的置信度最高的坐标信息;根据当前图像中所述第一类型对象的每个类别的关键点对应的最高置信度和坐标信息,得到所述第一类型对象的关键点融合信息。其中,第一类型对象的关键点融合信息可以包括:所述第一类型对象的每个类别的关键点的坐标信息和对应的置信度。

在本示例性实施方式中,从匹配的一组第一类型对象(包括多个第一类型对象)的关键点信息中,取出每一类别的关键点对应的置信度最高的坐标信息,得到第一类型对象的关键点融合信息。比如,第一类型对象的关键点信息包括人体的18个关节点的坐标信息和对应的置信度,则第一类型对象的关键点融合信息也包括人体的18个关节点的坐标信息和对应的置信度,其中,每个关节点的坐标信息是该关节点在匹配的一组第一类型对象中置信度最高的坐标信息。

在一示例性实施方式中,步骤104可以包括:在当前图像中任一第一类型对象的关键点融合信息中,置信度满足第一条件的关键点的数目满足第二条件,则根据所述第一类型对象的关键点融合信息与第一预设位置规则,确定所述第一类型对象的行为分析结果。其中,第一条件、第二条件和第一预设位置规则可以根据实际场景进行确定。然而,本公开对此并不限定。

在一示例性实施方式中,本实施例提供的对象行为分析方法还可以包括:在任一帧待处理图像中检测到至少一个第二类型对象,并确定任一第二类型对象的位置信息;根据当前图像中任一第一类型对象的关键点融合信息和至少一个第二类型对象的位置信息,确定当前图像中所述第一类型对象的行为分析结果。在一示例中,可以利用基于Yolov3网络得到的目标检测模型从待处理图像中检测第二类型对象。然而,本公开对此并不限定。

在本示例性实施方式中,通过待处理图像中的第二类型对象的位置信息,可以辅助对第一类型对象进行行为分析,以提高行为分析准确性。

在一示例性实施方式中,根据当前图像中任一第一类型对象的关键点融合信息和至少一个第二类型对象的位置信息,确定当前图像中所述第一类型对象的行为分析结果,可以包括:

在当前图像中任一第一类型对象的关键点融合信息中,置信度满足第一条件的关键点的数目满足第二条件,则根据所述第一类型的关键点融合信息、当前图像中第二类型对象的位置信息以及第二预设位置规则,确定所述第一类型对象的行为分析结果。其中,第一条件、第二条件和第二预设位置规则可以根据实际场景确定。然而,本公开对此并不限定。

在一示例性实施方式中,在步骤104之后,本实施例的对象行为分析方法还可以包括:对当前图像中全部第一类型对象的行为分析结果进行统计分析,得到目标场景的行为分析结果;其中,目标场景的行为分析结果包括以下至少之一:目标场景下每一类行为的第一类型对象的总数、以及每一类行为的第一类型对象的总数在目标场景下第一类型对象的总数的占比。其中,当一帧待处理图像中包括多个第一类型对象时,在得到每个第一类型对象的行为分析结果之后,可以对该帧待处理图像中全体第一类型对象的行为分析结果进行统计分析,将统计分析结果作为目标场景的行为分析结果,以给后续其他处理提供分析数据。

下面通过一个示例对本公开实施例进行详细说明。

图2为本公开一实施例提供的对象行为分析方法的实施架构示例图。如图2所示,在本示例中,目标场景为远程课堂场景,本实施例提供的对象行为分析方法用于分析远程课堂中学生的行为,以便基于学生的行为分析结果再进行其他处理,比如,评估学生的课堂听讲、知识理解情况、评价教师的教学情况等。

在本示例中,摄像头201配置为拍摄课堂场景的实时视频,并将采集的视频传输给电子设备202,电子设备202配置为采用本实施例提供的对象行为分析方法进行对象行为分析;电子设备202将摄像头201采集的视频分成两路;其中一路视频可以由开源程序ffmpeg生成实时视频流推送给第一服务器203(比如,RTMP(Real Time Messaging Protocol,实时消息传输协议)服务器),由第一服务器203向显示终端205提供实时视频,以便可以在显示终端205的可视化界面上显示实时课堂情况;针对另一路视频,电子设备202可以采用本实施例提供的对象行为分析方法对该路视频进行数据提取和分析,以得到课堂上单个学生的行为分析结果和多个学生的行为分析结果,然后由request.post采用心跳形式传给第二服务器204(比如,HTTP服务器),比如,可以每一秒传一次数据,第二服务器204可以向显示终端205提供行为分析结果,以便于在显示终端205显示实时视频的同时可以显示实时的行为分析结果,以有助于老师了解远程课堂情况。比如,显示终端205可以通过图像和表格中至少之一方式来显示行为分析结果。

图2所示的电子设备可以在英特尔(Intel)的Openvino上实施本实施例提供的对象行为分析方法。然而,本公开对此并不限定。本实施例提供的对象行为分析方法可以在其他类型的计算终端或云端服务器上实施。

图3为本公开一实施例提供的对象行为分析方法的流程示例图。在本示例中,目标场景为远程课堂场景,目标场景的视频中的任一帧待处理图像的对象可以分为人体和非人体对象,其中,第一类型对象为人体,从非人体对象中可以指定一个或多个用于辅助人体进行行为分析的对象作为第二类型对象。在本示例中,第二类型对象包括桌子、书、笔。然而,本公开对此并不限定。

如图3所示,本实施例提供的对象行为分析方法,包括步骤301至步骤306。

步骤301、从目标场景的视频中获取多帧待处理图像。其中,多帧待处理图像为从目标场景的视频中获取的非连续的多帧图像,且对获取的多帧图像重新进行了编号,以便于后续使用。比如,从目标场景的视频获取的多帧图像依次记录为第1、2、……、n帧待处理图像,n为大于1的整数。然而,本公开对此并不限定。

在本示例中,目标场景的视频为远程课堂内的摄像头实时拍摄的视频。然而,本公开对此并不限定。比如,目标场景的视频可以为预先录制的远程课堂的视频。

步骤302、在任一帧待处理图像中检测第一类型对象和第二类型对象。

在本步骤中,可以利用基于Yolov3网络得到的目标检测模型对任一帧待处理图像进行检测,以检测出一个或多个第一类型对象(即本示例中的人体)以及一个或多个第二类型对象(即本示例中的桌子、书、笔)。

在本示例中,可以利用远程课堂场景的训练集(比如,网络开放的课堂图片,数目约为200张)和本场景定义的需检测出的目标对象(包括人体、桌子、书、笔)对Yolov3网络进行训练,获得适用于本示例的远程课堂场景的目标检测模型。其中,目标检测模型可以包括53个全连接卷积层,可以将整个输入的待处理图像分为S×S个区域,并对具有物体的区域进行检测,以检测出目标对象,S为正整数。然而,本公开对此并不限定。在实际实施时,本领域技术人员可以将Yolov3网络进行简单置换,将Yolov3网络置换成其他神经网络算法,比如Yolov2网络。

在本示例中,目标检测模型的输入为一帧待处理图像,输出可以包括该帧待处理图像中每个第一类型对象(人体)检测框的位置信息和对应的置信度、每个第二类型对象(桌子、书、笔)检测框的位置信息和对应的置信度。

图4为本公开一实施例中输入目标检测模型的待处理图像的示例图;图5为本公开一实施例中目标检测模型的检测结果的可视化示例图。在本示例中,图5中实线标出的检测框为第一类型对象(人体)检测框,用于指示第一类型对象所在位置;虚线标出的检测框为第二类型对象(桌子、书、笔)检测框,用于指示第二类型对象所在位置。然而,本公开对此并不限定。在实际应用中,可以仅输出检测结果的数据,无需显示可视化的检测结果。

步骤303、确定任一第一类型对象的关键点信息。

在本示例中,第一类型对象为人体,第一类型对象的关键点可以包括人体的18个关节点。图6为一个人体的18个关节点的示意图。其中,一个人体的18个关节点包括:鼻(nose)、颈(neck)、右肩(right shoulder)、右手肘(right elbow)、右手腕(right wrist)、左肩(left shoulder)、左手肘(left elbow)、左手腕(left wrist)、右髋(right hip)、右膝(right knee)、右脚踝(right ankle)、左髋(left hip)、左膝(left knee)、左脚踝(leftankle)、右眼(right eye)、左眼(left eye)、右耳(right ear)、左耳(left ear)。在本示例中,关节点的类别即为18种。如图6所示,可以通过关节点的标号来区分关节点的类别,比如,鼻记为关节点0,颈记为关节点1,右肩记为关节点2,右手肘记为关节点3,右手腕记为关节点4,左肩记为关节点5,左手肘记为关节点6,左手腕记为关节点7,右髋记为关节点8,右膝记为关节点9,右脚踝记为关节点10,左髋记为关节点11,左膝记为关节点12,左脚踝记为关节点13,右眼记为关节点14,左耳记为关节点15,右耳记为关节点16,左耳记为关节点17。

在本示例中,每个第一类型对象的关键点信息可以包括:一个人体的18个关节点的坐标信息及对应的置信度,其中,一个关节点的坐标信息可以包括一个关节点在待处理图像中的二维坐标值(即,人体的关节点在待处理图像内定义的坐标系内的横坐标值和纵坐标值)。其中,在不同帧待处理图像内定义的坐标系相同,比如,在待处理图像内定义的坐标系中,以图像左上角为坐标原点,水平方向为横坐标方向,竖直方向为纵坐标方向。然而,本公开对此并不限定。

在本示例中,可以利用基于RMPE框架得到的关键点检测模型确定任一帧待处理图像中任一个第一类型对象的关键点信息。其中,关键点检测模型以目标检测模型检测出的第一类型对象检测框作为输入,输出该第一类型对象的关键点信息。

图7为本公开一实施例提供的关键点检测模型的结构示例图。如图7所示,本示例的关键点检测模型包括:空间变换网络(STN,Spatial Transformer Network)、单人姿态估计(SPPE,Single Person Pose Estimation)网络、空间反变换网络(SDTN,Spatial de-transformer network)、参数化姿态非极大值抑制器(PP-NMS,parametric Pose Non-maximum Suppression)。

在本示例中,STN配置为处理第一类型对象(人体)的检测框,SPPE网络配置为进行单人姿态估计,STDN配置为产生姿态建议,PP-NMS配置为去除冗余姿态。其中,可以采用并行(Parallel)SPPE网络作为训练阶段的额外正则化。使用姿态引导的区域框生成器(PGPG,Pose-guided Proposals Generator)产生的增强图像来训练STN、SPPE和SDTN。

在本示例中,由于课堂场景的人体密集,为了减少网络响应时间,可以采用ResNet50实现SPPE网络。

图8为图7中SPPE网络的结构示例图。如图8所示,本示例的SPPE网络包括:填零层(Zero Pad)、第一阶段网络、第二阶段网络、第三阶段网络、第四阶段网络、第五阶段网络、池化层(平均池化(Average Pool))、降维(Flatten)层以及全连接(FC,Fully Connected)层;其中,第一阶段网络包括:卷积层、批归一化层(Batch Normalization)、激活层和池化层(最大池化(Max Pool));第二阶段网络包括卷积块和两个标识(ID,Identity)块,第三阶段网络包括卷积块和三个ID块,第四阶段网络包括卷积块和五个ID块,第五阶段网络包括卷积块和两个ID块。

图9为图8中ID块的结构示例图。如图9所示,一个ID块包括:三个卷积层、三个批归一化层和三个激活层,任一个批归一化层位于一个卷积层和一个激活层之间;其中,该ID块的输入和第三个批归一化层的输出相加后输入最后一个激活层。

图10为图8中卷积块的结构示例图。如图10所示,一个卷积块包括:四个卷积层、四个批归一化层和三个激活层,任一个批归一化层位于一个卷积层和一个激活层之间;其中,该卷积块的输入经过一个卷积层和一个批归一化层的处理后的输出与该卷积块的输入经过三个卷积层、三个批归一化层和两个激活层的处理后的输出相加后输入最后一个激活层。

在本示例中,卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元只与部分相邻层的神经元连接。卷积层可以对输入图像应用若干个卷积核,以提取输入图像的多种类型的特征。每个卷积核可以提取一种类型的特征。卷积核一般以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中,卷积核将通过学习以得到合理的权值。在同一卷积层中,可以使用多个卷积核来提取不同的图像信息。

在本示例中,激活层可以包括激活函数,激活函数用于给卷积神经网络引入非线性因素,以使卷积神经网络可以更好地解决较为复杂的问题。激活函数可以包括线性修正单元(ReLU)函数、S型函数(Sigmoid函数)或者双曲正切函数(tanh函数)等。ReLU函数为非饱和非线性函数,Sigmoid函数和tanh函数为饱和非线性函数。

在本示例中,批归一化层用于对每一批数据进行归一化,具有加快训练速度、防止过拟合等优点。

在本示例中,以三帧待处理图像(比如,当前处理中的待处理图像为第n帧,即当前图像为第n帧待处理图像,参考图像组包括第n-1帧待处理图像和第n-2帧待处理图像)进行融合为例进行说明。然而,本公开对此并不限定。

步骤304、根据第n帧待处理图像和第n帧待处理图像之前的两帧待处理图像(即第n-1帧待处理图像和第n-2帧待处理图像)中各个第一类型对象的关键点信息,确定第n帧待处理图像中任一第一类型对象与第n-1帧和第n-2帧待处理图像中各个第一类型对象的匹配关系。

在本示例中,通过步骤303,可以得到每一帧待处理图像中的每个第一类型对象(人体)的关键点信息,其中,每个第一类型对象的关键点信息包括18个关键点(即人体的18个关节点)的坐标信息(包括在待处理图像内定义的坐标系内的横坐标值和纵坐标值)和对应的置信度。

在本步骤中,首先确定三帧待处理图像(第n帧、第n-1帧和第n-2帧待处理图像)中任意相邻两帧待处理图像中各个第一类型对象之间的匹配关系,然后,确定三帧待处理图像中各个第一类型对象之间的匹配关系。换言之,分别确定第n帧待处理图像中任一个第一类型对象和第n-1帧待处理图像中任一个第一类型对象之间的匹配关系,以及第n-1帧待处理图像中任一个第一类型对象和第n-2帧待处理图像中任一个第一类型对象之间的匹配关系,然后融合得到三帧待处理图像中各个第一类型对象之间的匹配关系。

下面以第n帧待处理图像中任一个第一类型对象和第n-1帧待处理图像中任一个第一类型对象之间的匹配关系的确定过程为例进行说明。在本示例中,第n帧待处理图像中任一个第一类型对象和第n-1帧待处理图像中任一个第一类型对象之间的匹配关系的确定过程,包括:计算第n帧待处理图像中任一第一类型对象(人体)和第n-1帧待处理图像中任一第一类型对象(人体)的相同类别的关键点之间的指数二范数距离;根据指数二范数距离满足第三条件的关键点的数目,确定第n帧待处理图像中该第一类型对象和第n-1帧待处理图像中该第一类型对象之间的相关性;根据第n帧和第n-1帧待处理图像中任两个第一类型对象之间的相关性,利用匈牙利算法确定第n帧和第n-1帧待处理图像中各个第一类型对象之间的匹配关系。

比如,第n帧待处理图像中检测出五个人体(比如,分别记为人体a0、人体a1、人体a2、人体a3、人体a4),第n-1帧待处理图像中检测出六个人体(比如,分别记为人体b0、人体b1、人体b2、人体b3、人体b4、人体b5)。以计算第n帧待处理图像中的人体a0和第n-1帧待处理图像中的人体b0之间的相关性为例,按照以下式子计算人体a0的关节点0和人体b0的关节点0之间的指数二范数距离:

其中,

在本示例中,针对关节点0至17,对应的修正系数的取值可以依次为0.026、0.079、0.079、0.072、0.062、0.079,0.072、0.062、0.107、0.087、0.089、0.107、0.087、0.089、0.025、0.025、0.035、0.035。然而,本公开对此并不限定。

在本示例中,当人体a0的关节点0和人体b0的关节点0之间的指数二范数距离满足第三条件(比如,小于第一阈值),则将人体a0和人体b0之间的不相似点数目加1;其中,第一阈值比如为0.5。依次类推,还需要计算人体a0的关节点1和人体b0的关节点1之间的指数二范数距离、人体a0的关节点2和人体b0的关节点2之间的指数二范数距离,直至计算得到人体a0的关节点17和人体b0的关节点17之间的指数二范数距离。

在本示例中,根据人体a0的18个关节点和人体b0的18个关节点之间的指数二范数距离分别与第一阈值的比较结果,可以得到人体a0和人体b0之间的不相似点数目。在本示例中,以不相似点数目表征两个人体之间的相关性。然而,本公开对此并不限定。比如,还可以采用相似点数目表征两个人体之间的相关性。

在本示例中,第n帧待处理图像中的人体和第n-1帧待处理图像中的人体之间的相关性结果可以如表1所示。

表1

在本示例中,在得到表1所示的第n帧待处理图像和第n-1待处理图像中各个人体之间的相关性后,可以利用匈牙利算法(KM,Kuhn-Munkres)确定第n帧待处理图像中五个人体(即人体a0至a4)和第n-1帧待处理图像中六个人体(即人体b0至b5)之间的匹配关系。

在本示例中,将第n帧待处理图像和第n-1帧待处理图像中人体的匹配问题建模成求二分图的最佳匹配问题,二分图的最佳匹配问题可以利用匈牙利算法。其中,将匹配问题建模成一个二分图G=(X,Y,E),其中,X和Y可以分别对应第n帧和第n-1帧待处理图像中的人体集合,比如,X=,Y=;边集E可以按照以下规则构造:如果X中任一元素和Y中任一元素的相似度大于阈值,则在二分图G中对应的两个顶点(对应X中一个元素和Y中一个元素)之间连一条边,并设置该边的权重w为上述两个元素之间的相似度。在本示例中,元素之间的相似度可以根据表1中的不相似点数目得到。

通过上述二分图模型,可以将两帧待处理图像中人体之间的匹配问题转化为求二分图G上从顶点X到Y的匹配问题。其中,给定一个二分图G,在G的一个子图M中,M的边集中的任意两条边都不依附于同一个顶点,则称M是一个匹配。选择这样的边数最大的子集称为图的最大匹配问题,二分图的最大匹配问题通过KM算法求解,KM算法是一个经典求解二分图的最佳匹配的算法。

在本示例中,第n帧待处理图像中人体和第n-1帧待处理图像中人体之间的匹配关系可以如表2所示。

表2

由表2可知,在第n-1帧待处理图像中的人体b3在第n帧待处理图像中没有匹配的人体,说明人体b3可能已离开远程课堂。

在本示例中,参照上述处理过程,还可以得到第n-1帧待处理图像中的人体与第n-2帧待处理图像中的人体(比如,分别记为人体c0、人体c1、人体c2、人体c3、人体c4、人体c5)之间的匹配关系,然后,通过第n-1帧待处理图像中的人体将第n-2帧和第n帧待处理图像中的人体进行关联,从而得到第n帧、第n-1帧和第n-2帧待处理图像中的人体的匹配关系。比如,第n帧待处理图像中的人体a0可以与以下人体匹配:第n-2帧待处理图像中的人体c0、第n-1帧待处理图像中的人体b2。

步骤305、根据三帧待处理图像中各个第一类型对象的匹配关系,得到第n帧待处理图像中任一第一类型对象的关键点融合信息。

在本示例中,任一第一类型对象的关键点融合信息包括:一个人体的18个关节点的坐标信息和对应的置信度。

在本步骤中,以第n帧待处理图像中的人体a0、第n-1帧待处理图像中的人体b2、第n-2帧待处理图像中的人体c0匹配为例,由于人体a0的关键点信息、人体b2的关键点信息以及人体c0的关键点信息中分别包括18个类别的关节点的坐标信息和置信度,则针对每个类别的关节点,取出三个人体的关键点信息中置信度最高的坐标信息,作为第n帧待处理图像中人体a0的该类别关节点的融合坐标信息。比如,针对关节点0,从人体a0的关键点信息、人体b2的关键点信息以及人体c0的关键点信息中取出关节点0的坐标信息和置信度,挑选出最高的置信度及其对应的坐标信息,作为人体a0的关键点融合信息中关节点0的坐标信息及置信度。

步骤306、根据第n帧待处理图像中任一第一类型对象的关键点融合信息和一个或多个第二类型对象的位置信息,确定第n帧待处理图像中该第一类型对象的行为分析结果。

在本步骤中,当第n帧待处理图像中任一第一类型对象的关键点融合信息中置信度满足第一条件(比如,大于0.5)的关键点的数目满足第二条件(比如,大于3个),则根据该第一类型对象的关键点融合信息、第n帧待处理图像中第二类型对象的位置信息以及第二预设位置规则,确定该第一类型对象的行为分析结果。

在一示例中,第n帧待处理图像中人体a0的关键点融合信息中置信度大于0.5的关键点的数目大于三个,则根据人体a0的关键点融合信息、第n帧待处理图像中桌子、书、笔的位置信息,按照第二预设位置规则来确定人体a0的行为分析结果。

比如,第二预设位置规则可以包括:按照以下顺序识别人体行为:

(1)举手:在头部区域的关节点(如图6所示包括关节点0、关节点14、关节点15、关节点16和关节点17)中置信度大于0.02的关节点数目大于三个时,右手腕的位置高于右手肘的位置,右手肘的位置高于右肩的位置,或者,右手腕的位置高于右肩的位置,且右手腕与右手肘之间连线与右手腕与右肩之间连线的夹角满足一定的角度阈值(比如,接近90度);

(2)站立:人体上身长度或肩宽大于站立阈值;其中,人体上身长度可以根据头部区域的关节点和上半身区域的关节点的坐标信息得到,肩宽可以根据左肩和右肩关节点的坐标信息得到;站立阈值与视频拍摄角度相关;

(3)趴桌:头部最低点在上躯干的中间靠下位置,且头部最低点位于桌面上;其中,头部最低点可以根据头部区域的关节点的坐标信息确定,上躯干的中间位置可以根据上半身区域的关节点的坐标信息确定,桌面位置根据检测到的桌子的位置信息确定;

(4)写字:低头且面前有笔,笔在手边;其中,头的姿态可以根据头部区域的关节点的坐标信息确定,手的位置可以根据手部区域的关节点的坐标信息确定,笔的位置可以根据检测到的笔的位置信息确定;

(5)阅读:低头并且面前有书;其中,头的姿态可以根据头部区域的关节点的坐标信息确定,书的位置可以根据检测到的书的位置信息确定;

(6)坐:默认状态,换言之,若未识别到人体处于以上五种行为中的任一种,则认为人体处于坐状态。

在本示例中,根据第二预设位置规则可以识别出上述六种行为。然而,上述第二预设位置规则仅为示例,本公开对此并不限定。在实际应用中,可以根据实际姿态来设定位置规则,以提高行为识别准确性。

在本示例中,在本步骤中,还可以仅根据第n帧待处理图像中任一第一类型对象的关键点融合信息,确定第n帧待处理图像中该第一类型对象的行为分析结果。在一示例中,当第n帧待处理图像中任一第一类型对象的关键点融合信息中置信度满足第一条件的关键点的数目满足第二条件,则根据该第一类型对象的关键点融合信息与第一预设位置规则,确定该第一类型对象的行为分析结果。其中,第一预设位置规则可以根据实际应用来设置,本公开对此并不限定。

步骤307、对第n帧待处理图像中全部第一类型对象的行为分析结果进行统计分析,得到目标场景的行为分析结果。

在本示例中,当第n帧待处理图像中第一类型对象的数目为多个时,通过步骤306确定每个第一类型对象的行为分析结果之后,可以统计得到目标场景的行为分析结果。

比如,通过对目标场景进行数据统计后可以将数据按照与前端显示界面定义好的格式封装为JSON格式。例如,封装数据为以下格式:

{

'班级':'B1201班',

'基本数据':{'在线学生人数':19,'课程信息':'点击查看','排名统计':'点击查看','班级主页':'点击查看'},

'行为统计曲线':{'坐':'6','趴桌':'2','举手':'1','站':'2','阅读':'5','写字':'3'},

'动作':{'坐':'31.6%','趴桌':'10.5%','举手':'5.3%','站':'10.5%','阅读':'26.3%','写字':'15.8%'}

}

在本示例中,目标场景的行为分析结果可以包括目标场景下各类行为的总人数,以及各类行为对应人数在目标场景的总人数中的占比。上述例子中的数据仅为示例,本公开对此并不限定。

在其他实现方式中,基于第n帧待处理图像还可以进行表情分析,得到表情分析结果,如此一来,在数据封装时可以得到包括表情和行为的综合分析结果。然而,本公开对此并不限定。

在图2所示的示例中,配置为进行对象行为分析的电子设备202可以将上述封装数据上传给第二服务器204,由第二服务器204将封装数据提供给显示终端205,以便于显示终端205将封装数据转换为显示图标或曲线等可视化结果。

本公开实施例提供的对象行为分析方法可以对远程课堂的学生行为进行实时准确地分析,从而有助于分析教师授课效果、课程兴趣点、枯燥点、难点、学生积极度等方面,可以更加细节、个性化地服务于老师和学校。

图11为本公开一实施例提供的信息显示方法的流程图。如图11所示,本实施例提供的信息显示方法包括:

步骤311、分别获取目标场景的视频以及视频对应的行为分析结果,其中,行为分析结果可以通过如上所述的对象行为分析方法得到;

步骤312、在显示界面显示所述视频和对应的行为分析结果。

在一示例性实施方式中,视频对应的行为分析结果可以包括以下至少之一:视频实时播放的当前图像内全部第一类型对象的行为分析结果、当前图像内每一类行为的第一类型对象的总数、当前图像内每一类行为的第一类型对象的总数在当前图像中第一类型对象的总数的占比。

在一示例性实施方式中,步骤311可以包括:从第一服务器获取目标场景的视频,从第二服务器获取所述视频对应的行为分析结果。在一示例中,本实施例提供的信息显示方法可以由图2所示示例中的显示终端205执行。其中,显示终端205可以从第一服务器203获取目标场景的视频,从第二服务器204获取视频对应的行为分析结果,然后在显示界面上显示接收到的视频和对应的行为分析结果。然而,本公开对此并不限定。比如,在其他实现方式中,可以由一个电子设备完成对象行为分析处理和信息显示。

在一示例性实施方式中,步骤312可以包括:在显示界面的第一区域显示所述视频,在显示区域的第二区域通过图形和表格中至少之一方式显示所述行为分析结果。其中,第一区域和第二区域可以为显示界面的左半区域和右半区域,或者,为上半区域和下半区域,或者,为中心区域和周边区域。然而,本公开对此并不限定。

在本实施例中,通过对视频和行为分析结果进行同步显示,便于实时了解目标场景的情况,从而提高用户体验。

图12为本公开一实施例提供的对象行为分析装置的示意图。如图12所示,本实施例提供的对象行为分析装置40,包括:图像获取模块401,配置为从目标场景的视频中获取多帧待处理图像;对象检测模块402,配置为在任一帧待处理图像中检测到至少一个第一类型对象;关键点检测模块403,配置为确定任一第一类型对象的关键点信息;关键点融合模块404,配置为根据当前图像和参考图像组中第一类型对象的关键点信息,确定当前图像中任一第一类型对象的关键点融合信息,其中,当前图像为任一帧当前处理中的待处理图像,参考图像组包括当前图像之前的至少一帧待处理图像;行为识别模块405,配置为根据当前图像中任一第一类型对象的关键点融合信息,确定当前图像中所述第一类型对象的行为分析结果。

图12所示的对象行为分析装置的组件和结构只是示例性的,而非限定性的,根据需要,对象行为分析装置也可以具有其他组件和结构。

本实施例提供的对象行为分析装置的详细说明可以参照上述对象行为分析方法的相关描述,故于此不再赘述。

图13为本公开一实施例提供的电子设备的示意图。如图13所示,电子设备50包括:处理器501和存储器502。图13所示的电子设备50的组件只是示例性的,而非限制性的,根据实际应用需要,电子设备50还可以具有其他组件。例如,处理器501和存储器502之间可以直接或间接地互相通信。

例如,处理器501和存储器502等组件之间可以通过网络连接进行通信。网络可以包括无线网络、有线网络、或者、有线网络和无线网络的任意组合。网络可以包括局域网、互联网、电信网、基于互联网的物联网、基于电信网的物联网、以上网络的任意组合。有线网络例如可以采用双绞线、同轴电缆或光纤传输等方式进行通信,无线网络例如可以采用3G、4G、5G移动通信网络、蓝牙或WIFI等通信方式。本公开对网络的类型和功能在此不作限定。

例如,处理器501可以控制电子设备中的其它组件以执行期望的功能。处理器501可以是中央处理单元(CPU,Central Processing Unit)、张量处理器(TPU,TensorProcessing Unit)或者图像处理器(GPU,Graphics Processing Unit)等具有数据处理能力或程序执行能力的器件。GPU可以单独地直接集成到主板上,或内置在主板的北桥芯片中;GPU也可以内置在CPU上。

例如,存储器502可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如,易失性存储器、非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM,Random Access Memory)、高速缓冲存储器(Cache)等。非易失性存储器例如可以包括只读存储器(ROM,Read Only Memory)、硬盘、可擦除可编程只读存储器(EPROM,Erasable Programmable Read Only Memory)、光盘只读存储器(CD-ROM)、通用串行总线(USB,Universal Serial Bus)存储器、闪存等。在计算机可读存储介质中还可以存储各种应用程序和各种数据,例如,输入图像,以及应用程序使用或产生的各种数据等。

例如,在存储器502上可以存储一个或多个计算机可读代码或程序指令,处理器可以运行程序指令,以执行上述对象行为分析方法。关于对象行为分析方法的详细描述可以参考上述对象行为分析方法的实施例中的相关描述,故于此不再赘述。

本公开至少一实施例还提供一种计算机可读存储介质,存储有程序指令,当该程序指令被执行时可实现上述对象行为分析方法。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

本领域的普通技术人员应当理解,可以对本公开实施例的技术方案进行修改或者等同替换,而不脱离本公开技术方案的精神和范围,均应涵盖在本公开的权利要求范围当中。

相关技术
  • 对象行为分析方法、信息显示方法及电子设备
  • 对象行为分析方法、装置、电子设备及计算机存储介质
技术分类

06120113228293