CN116434325A - 一种特定动作的检测方法、装置、设备及存储介质 - Google Patents
一种特定动作的检测方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116434325A CN116434325A CN202310154529.8A CN202310154529A CN116434325A CN 116434325 A CN116434325 A CN 116434325A CN 202310154529 A CN202310154529 A CN 202310154529A CN 116434325 A CN116434325 A CN 116434325A
- Authority
- CN
- China
- Prior art keywords
- human body
- frame
- body tracking
- tracking
- point data
- 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
- 230000009471 action Effects 0.000 title claims abstract description 228
- 238000000034 method Methods 0.000 title claims abstract description 92
- 238000003860 storage Methods 0.000 title claims abstract description 20
- 238000001514 detection method Methods 0.000 claims abstract description 164
- 239000011159 matrix material Substances 0.000 claims description 60
- 210000000988 bone and bone Anatomy 0.000 claims description 57
- 238000012545 processing Methods 0.000 claims description 51
- 238000012549 training Methods 0.000 claims description 37
- 230000005484 gravity Effects 0.000 claims description 30
- 238000010586 diagram Methods 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 22
- 238000001914 filtration Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 12
- 238000000605 extraction Methods 0.000 claims description 12
- 238000009499 grossing Methods 0.000 claims description 12
- 238000005070 sampling Methods 0.000 claims description 8
- 238000000638 solvent extraction Methods 0.000 claims description 5
- 230000010354 integration Effects 0.000 claims 1
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 8
- 210000003127 knee Anatomy 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000002123 temporal effect Effects 0.000 description 5
- 230000004927 fusion Effects 0.000 description 4
- 210000000629 knee joint Anatomy 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000013075 data extraction Methods 0.000 description 3
- 210000002310 elbow joint Anatomy 0.000 description 3
- 238000009776 industrial production Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 210000000544 articulatio talocruralis Anatomy 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000004064 dysfunction Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 210000000689 upper leg Anatomy 0.000 description 2
- 206010017740 Gas poisoning Diseases 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 208000002173 dizziness Diseases 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 208000018883 loss of balance Diseases 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 210000000323 shoulder joint Anatomy 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 210000003857 wrist joint Anatomy 0.000 description 1
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/41—Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
-
- 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
- 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/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- 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
-
- 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/30241—Trajectory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Social Psychology (AREA)
- Psychiatry (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Image Analysis (AREA)
Abstract
本公开提供了一种特定动作的检测方法、装置、设备及存储介质,涉及计算机视觉、动作识别等人工智能技术领域,尤其涉及行为检测领域。具体实现方案为:获取待检测视频;对待检测视频中的图像帧进行目标跟踪,得到人体跟踪框和人体跟踪框的人体跟踪ID;针对人体跟踪框对应的人体图像进行骨骼点数据提取,得到人体跟踪ID的骨骼点数据;针对需要进行特定动作检测的人体跟踪ID,基于特定动作识别模型对该人体跟踪ID的连续多帧骨骼点数据进行特定动作识别,得到识别结果。在适用于多目标场景下进行特定动作检测的基础上,获得的识别结果也更准确,提高了特定动作检测的准确性和泛用性,且通过部署摄像头即可实现,具有较高的部署友好性。
Description
技术领域
本公开涉及计算机视觉、动作识别等人工智能技术领域,尤其涉及行为检测技术领域。
背景技术
人们在日常生活或工作过程中,由于身体机能失调、平衡丧失等原因,可能引起人体做出特定动作,例如跌倒、平躺、跳跃、旋转等。
以跌倒为例,如果人员跌倒,可能预示着人身安全问题或意外事故,为了对此类人身安全问题和危险事故及时告警,减轻人员伤害,一种高效精确检测特定动作的方法具有重要的意义。
发明内容
本公开提供了一种用于特定动作的检测方法、装置、设备及存储介质。
根据本公开的第一方面,提供了一种特定动作的检测方法,包括:
获取待检测视频;
对所述待检测视频中的图像帧进行目标跟踪,得到人体跟踪框和所述人体跟踪框的人体跟踪ID;
针对所述人体跟踪框对应的人体图像进行骨骼点数据提取,得到各所述人体跟踪ID的骨骼点数据;
针对需要进行特定动作检测的人体跟踪ID,基于预先训练的特定动作识别模型对该人体跟踪ID的连续多帧骨骼点数据进行特定动作识别,得到识别结果。
根据本公开的第二方面,提供了一种特定动作识别模型的训练方法,包括:
获取样本视频;
对所述样本视频中的图像帧进行目标跟踪,得到人体跟踪框和所述人体跟踪框的人体跟踪ID;
针对所述人体跟踪框对应的人体图像进行骨骼点数据提取,得到所述人体跟踪ID的骨骼点数据;
基于所述骨骼点数据训练所述特定动作识别模型。
特定动作识别模型根据本公开的第三方面,提供了一种特定动作的检测装置,包括:
获取模块,用于获取待检测视频;
跟踪模块,用于对所述待检测视频中的图像帧进行目标跟踪,得到人体跟踪框和所述人体跟踪框的人体跟踪ID;
提取模块,用于针对所述人体跟踪框对应的人体图像进行骨骼点数据提取,得到所述人体跟踪ID的骨骼点数据;
识别模块,用于针对需要进行特定动作检测的人体跟踪ID,基于预先训练的特定动作识别模型对该人体跟踪ID的连续多帧骨骼点数据进行特定动作识别,得到识别结果。
根据本公开的第四方面,提供了一种特定动作识别模型的训练装置,包括:
获取模块,用于获取样本视频;
跟踪模块,用于对所述样本视频中的图像帧进行目标跟踪,得到人体跟踪框和所述人体跟踪框的人体跟踪ID;
提取模块,用于针对所述人体跟踪框对应的人体图像进行骨骼点数据提取,得到所述人体跟踪ID的骨骼点数据;
训练模块,用于基于所述骨骼点数据训练所述特定动作识别模型。
根据本公开的第五方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行特定动作的检测方法。
根据本公开的第六方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行特定动作的检测方法。
根据本公开的第七方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现特定动作的检测方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是本公开实施例提供的特定动作的检测方法的流程示意图;
图2是本公开实施例提供的特定动作识别的流程示意图;
图3是本公开实施例提供的特定动作识别模型的训练方法的流程示意图;
图4是用来实现本公开实施例的特定动作的检测方法的装置的框图;
图5是用来实现本公开实施例的特定动作识别模型的训练方法的装置的框图;
图6是本公开实施例提供的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
人们在日常生活或工作过程中,由于身体机能失调、平衡丧失等原因,可能引起人体做出特定动作,例如跌倒、平躺、跳跃等。
以跌倒为例,如果人员在工业生产场景下跌倒,可能预示着气体中毒、眩晕等人身安全问题,也可能导致危险操作环境下的意外事故。
为了对此类危险事故及时告警,一种高效精确检测特定动作的方法具有重要的意义。
以跌倒为例,目前的特定动作检测算法主要可以分为以下三类:
其一,基于多模态环境传感器的方法。
基于多模态环境传感器的方法主要依靠设置在室内的多种传感器来感知声音、压力等多模态信息,通过融合多传感器的信息对跌倒动作进行监测。
但基于多模态环境传感器的方法依赖于布置在特定部位的传感器进行跌倒识别,部署友好性和泛用性不足。
其二,基于可穿戴传感器的方法。
基于可穿戴传感器的方法把加速计、陀螺仪等小型传感器布置于人体关节点,获取多关节的运动信息。
阈值法、机器学习法是处理可穿戴设备关节运动信息的两种常用方法。
其中,阈值法将可穿戴设备的运动信息进行简单预处理后通过设定阈值的方式,直接对跌倒动作进行判断,该方法计算量小且运算速度快,便于直接部署与可穿戴设备,但阈值的设定极为困难,不同场景难以泛化。
基于机器学习的方法则通过对可穿戴设备的信息进行特征提取,从而对跌倒动作进行判断,采用常见的机器学习算法如支持向量机、K近邻等通过二分类进行推理。
基于可穿戴传感器的方法同样依赖于布置在特定部位的传感器进行跌倒识别,也存在部署友好性和泛用性不足的问题。
其三,基于计算机视觉的方法。
基于计算机视觉的方法仅通过摄像头采集视觉数据,通过深度学习算法提取特征训练分类网络以识别跌倒动作。
以基于图像的计算机视觉方法为例,基于图像的方法忽略了人体动作的时序信息,仅通过单帧图像判断人体是否处于倒下状态,通常直接训练基于RGB(R(red)、G(green)、B(blue),一种色彩模式)图像的目标检测算法或基于姿态估计的关节点姿态分类算法。
基于计算机视觉的方法由于其仅依赖摄像头采集数据,故具有优秀的部署友好性。但基于单帧信息的算法忽略了时序动态信息,使其准确性下降。此外,基于RGB图像数据的方法易受环境、光照等变化的干扰,泛用性大大受限。
为了解决上述问题,本公开提供了一种特定动作的检测方法、装置、电子设备及存储介质。
图1是本公开实施例提供的特定动作的检测方法的流程示意图,如图1所示,该方法包括以下步骤:
步骤S101:获取待检测视频。
本公开实施例提供的特定动作的检测方法,具体可以对待检测视频中人体的特定动作进行检测。
其中,特定动作可以是区别于人体正常站立或正常行走的动作,例如特定动作可以包括:跌倒、平躺、跳跃、快跑、旋转等,本公开实施例不对特定动作的范围进行限定。
本发明实施例中,通过训练特定动作识别模型,可以对特定动作进行识别,识别结果为:是否执行该特定动作。
作为一个示例,当特定动作为跌倒,通过训练跌倒动作检测模型,对人体进行识别,识别结果为:人体是否跌倒。
作为另一个示例,当特定动作为旋转,通过训练旋转动作检测模型,对人体进行识别,识别结果为:人体是否执行旋转动作。
在本公开的一个或多个实施例中,将以跌倒作为特定动作的示例对特定动作的检测方法进行具体说明。
具体的,待检测视频可以是布置在各种场景中的摄像头所采集到的视频。例如,可以获取布置于工业生产场景内的监控摄像头采集到的视频,对生产中工人进行特定动作检测,或获取室内摄像头采集到的视频,对室内的老人进行特定动作检测。
步骤S102:对待检测视频中的图像帧进行目标跟踪,得到人体跟踪框和人体跟踪框的人体跟踪ID。
应当理解,待检测视频中包括多个在时间上连续的图像帧,且待检测视频中的某个人体可能出现在其中的多个图像帧。
作为一个示例,可以在待检测视频中按照一定的时间周期获取待检测的图像帧,例如,每隔10帧取一个图像帧。
其中一个人体在一个或多个图像帧中的目标检测框即该人体的人体跟踪框,且每个人体跟踪框对应于该人体的人体跟踪ID,也就是说每个人体跟踪ID对应于待检测视频中的一个特定人体。
可以看出,人体跟踪ID可以对人体跟踪框属于待检测视频中的哪个特定人体进行标识,该人体跟踪ID的人体跟踪框则能够表征对应人体在时序上的运动轨迹。
以三个图像帧作为示例,若人体A在三个图像帧中分别对应目标检测框1,2,3,则1,2,3即人体A的人体跟踪框,且人体跟踪ID可以记为a。
步骤S103:针对人体跟踪框对应的人体图像进行骨骼点数据提取,得到人体跟踪ID的骨骼点数据。
具体的,在每个图像帧中,人体跟踪框均标识出了该图像帧中出现人体的区域,也就是标识出了人体图像的位置。因此可以根据人体跟踪框在对应图像帧的人体图像中提取骨骼点数据,提取出的骨骼点数据与人体跟踪框的人体跟踪ID对应。
步骤S104:针对需要进行特定动作检测的人体跟踪ID,基于预先训练的特定动作识别模型对该人体跟踪ID的连续多帧骨骼点数据进行特定动作识别,得到识别结果。
其中,需要进行特定动作检测的人体跟踪ID可以为待检测视频内任意人体的人体跟踪ID,本公开实施例不对具体的范围进行限定。
在前述步骤S103中,对每个人体跟踪ID,对其在人体跟踪框对应的图像帧中的骨骼点数据均进行了提取,因此可以获得具有时间顺序的多帧骨骼点数据,从而能够结合骨骼点数据的空间特征与时序特征,对该人体跟踪ID进行特定动作识别。
其中,识别结果可以包括执行特定动作和未执行特定动作。
作为一个示例,若记为a的人体跟踪ID在三个图像帧中的跟踪框分别为1,2,3,则能够在这三个图像帧分别提取骨骼点数据,基于三帧具有时序的骨骼点数据,可以获得识别结果,例如,a未执行特定动作。
具体的,可以将连续多帧骨骼点数据输入预先训练的特定动作识别模型,特定动作识别模型将输出识别结果。本公开实施例不对特定动作识别模型的范围进行具体限定。
相较于基于单帧骨骼点数据的特定动作的检测方法,本公开实施例对连续多帧骨骼点数据进行处理,获得的识别结果准确性更高。以特定动作为跌倒为例,如果人体处于俯卧状态,基于单帧骨骼点数据的检测方法很容易将其误识别为跌倒,而本公开实施例由于同时考虑了骨骼点数据的空间特征和时序特征,能够避免将静态的俯卧状态误识别为动态的跌倒动作。
本公开实施例提供的特定动作的检测方法,通过对待检测视频中的图像帧进行目标跟踪,得到人体跟踪框和各人体跟踪框的人体跟踪ID,并针对各各人体跟踪框对应的人体图像进行骨骼点数据提取,得到各人体跟踪ID的骨骼点数据,适用于在多目标的场景中提取各个目标的骨骼点数据,并基于人体跟踪ID对不同目标作出了区分。在基于骨骼点数据进行特定动作识别的过程中,针对需要进行特定动作的检测的人体跟踪ID,基于该人体跟踪ID的连续多帧骨骼点数据进行特定动作识别,得到识别结果,在进行特定动作识别的过程中利用了具有时序的多帧骨骼点数据,可以捕捉到人体动作的动态特征,在适用于多目标场景下进行特定动作检测的基础上,获得的识别结果也更准确,提高了特定动作检测的准确性和泛用性。
此外,本公开实施例提供的特定动作的检测方法通过摄像头采集的待检测视频进行特定动作检测,且单个摄像头也可以实现特定动作检测,具有较高的部署友好性。
在本公开的一个实施例中,前述步骤S102具体可以包括以下细化步骤:
对待检测视频中的当前图像帧进行目标检测,得到当前图像帧的目标检测框;
将目标检测框与前序图像帧中人体跟踪ID的人体跟踪轨迹进行匹配,确定当前图像帧中的人体跟踪框以及人体跟踪框的人体跟踪ID。
具体的,可以通过目标检测算法对当前图像帧进行目标检测,本公开实施例不对具体的算法进行限定。
作为一个示例,可以通过预先训练的人体检测模型PPYOLOE(一种神经网络模型)对当前帧图像进行目标检测。
PPYOLOE是一种单阶段的目标检测模型,其通过Backbone(主干网络)模块提取特征,Neck(颈)模块融合浅层几何定位信息和深层语义信息,Head(检测头)模块输出三种不同尺寸的检测框和类别标签。
具体的,PPYOLOE的Backbone模块采用RepResBlock(一种神经网络结构)堆叠而成,该网络结构利用结构重参数化的思想,在训练过程中利用多分支和跳跃连接的多特征图多感受野融合结构来提升训练的检测精度,在推理过程中RepResBlock可以退化为同效果的单路结构节省显存,显著提升推理速度。
PPYOLOE的Neck网络模块采用FPN(一种神经网络结构)和PAN(一种神经网络结构)网络结构,其作用是更好地融合Backbone给出的特征,从而提高网络的性能。FPN为自顶向下进行下采样的网络,传递强语义特征,其感受野大,特征抽象,有利于分类。PAN为自底向上的上采样网络,传递强定位信,有利于检测框定位。
PPYOLOE的Head模块在训练过程中采用TAL(Task Alignment Learning,任务对齐学习)算法进行动态标签分配,利用分类置信度和定位IoU(Intersection over Union,一种性能参数)的混合指标作为正负样本分配的基准量,每个标注框选择Top-k个(前k个)预测框作为候选,且保证这Top-k个候选的点是在标注框内的,解决了分类和定位分支不对齐的问题。
如前文所述,待检测视频中包括多个在时间上连续的图像帧,可以对其中任意连续两帧中的目标检测框进行匹配,获得人体跟踪ID在两帧上的跟踪轨迹,再用下一个图像帧中的目标检测框与跟踪轨迹进行匹配,自然可以确定下一个图像帧中的人体跟踪框及人体跟踪ID,后续图像帧中的目标跟踪与之同理。因此,本公开实施例仅以确定当前图像帧中的人体跟踪框及人体跟踪ID为例对目标追踪的步骤进行说明。
以连续三个图像帧作为示例,第一个图像帧内有目标检测框1,2,第二个图像帧内有目标检测框3,4,第三个图像帧,即当前图像帧内有目标检测框5,6。
其中,记为a的人体跟踪ID在前两个图像帧,即前序图像帧中的人体跟踪轨迹为1,3,若当前图像帧中的目标检测框5与3匹配,则目标检测框5的人体跟踪ID为a,且a的人体跟踪轨迹为1,3,5。
记为b的人体跟踪ID在前序图像帧中的人体跟踪轨迹为2,4,若当前图像帧中的目标检测框6与4匹配,则目标检测框6的人体跟踪ID为b,且b的人体跟踪轨迹为2,4,6。
示例性的,在将目标检测框与前序图像帧中的人体跟踪轨迹进行匹配的过程中,可以基于目标检测框与人体跟踪轨迹间的相似度进行匹配。
沿用本公开实施例中的前述示例,若目标检测框5与3之间的相似度大于预先确定的阈值,则可以认为目标检测框5与3匹配,从而确定目标检测框5的人体跟踪ID为a,且a的人体跟踪轨迹为1,3,5。本公开实施例不对相似度的具体计算进行限定,例如,可以是目标检测框内特征之间的相似度。
本公开实施例对当前图像帧中的目标检测框与前序图像帧中的人体跟踪轨迹进行匹配,确定出当前图像帧中的人体跟踪框以及每个人体跟踪框的人体跟踪ID,在实现目标跟踪时具有较高的准确性。
在本公开的一个实施例中,前述将目标检测框与前序图像帧中人体跟踪ID的人体跟踪轨迹进行匹配,确定当前图像帧中的人体跟踪框以及人体跟踪框的人体跟踪ID的步骤,具体可以包括以下分步骤:
步骤11:基于目标检测框的置信度分数,将目标检测框分为高分框和低分框;
步骤12:对上一个前序图像帧中的人体跟踪框进行滤波处理,获得跟踪轨迹预测框;
步骤13:针对高分框,对高分框与跟踪轨迹预测框进行匹配,确定高分框中的人体跟踪框以及人体跟踪框的人体跟踪ID;
步骤14:针对低分框,对低分框和剩余的跟踪轨迹预测框进行匹配,确定低分框中的人体跟踪框以及人体跟踪框的人体跟踪ID;
步骤15:将剩余的高分框确定为人体跟踪框,并为人体跟踪框创建人体跟踪ID。
其中,置信度为目标检测过程中每个目标检测框的一项参数,当一个目标检测框的置信度分数大于预先设定的置信度阈值,例如0.5,则该目标检测框内的物体被认为是正样本,即本公开实施例中的人体,当一个目标检测框的置信度分数不大于预先设定的置信度阈值,则该目标检测框内的物体被认为是负样本,即背景。
换种表述,目标检测框的置信度分数的大小,也可以被理解为该目标检测框内物体是人体的可能性高低。
但置信度分数低于置信度阈值的目标检测框内同样可能包含人体,例如,目标检测框内的人体刚好在对应图像帧中受到障碍物遮挡,导致置信度分数较低。
在对当前图像帧中的目标检测框与前序图像帧中的人体跟踪轨迹进行匹配时,如果直接丢弃置信度分数较低的目标检测框,则进行匹配后获得的人体跟踪轨迹可能存在缺失,后续提取骨骼点数据并基于骨骼点数据进行特定动作识别时,可能会降低识别结果的准确性。
为了解决这一问题,在本公开实施例中,根据目标检测框的置信度分数,将目标检测框分为了高分框和低分框,对高分框和低分框进行分别匹配。
本公开实施例不对高分框和低分框的划分方式进行具体限定。例如,高分框可以是置信度分数大于0.5的目标检测框,低分框则是置信度分数不大于0.5的目标检测框。
在本公开实施例中,对上一个前序图像帧中的人体跟踪框进行滤波处理,获得跟踪轨迹预测框。
获得跟踪轨迹预测框后,先对高分框和跟踪轨迹预测框进行匹配,为匹配成功的高分框确定出人体跟踪ID并更新对应的跟踪轨迹。
完成对高分框和感知轨迹预测框的匹配后,对低分框和剩余跟踪轨迹预测框,即对低分框和未匹配到高分框的跟踪轨迹预测框进行匹配,为匹配成功的低分框确定出人体跟踪ID并更新对应的跟踪轨迹。
对于没有匹配到跟踪轨迹的高分框,则为其新建人体跟踪ID和跟踪轨迹。
以连续三个图像帧作为示例,第一个图像帧中存在人体跟踪框1,2,且置信度分数分别为0.9,0.8,人体跟踪ID分别为a,b,第二个图像帧中存在人体跟踪框3,4,且置信度分数分别为0.9,0.4,人体跟踪ID分别为a,b,第三个图像帧,即当前帧中存在目标检测框5,6,7,且置信度分数分别为0.9,0.1,0.8。
对人体跟踪框3,4进行滤波处理后,可以分别获得3,4对应的跟踪轨迹预测框。
先对高分框5、7与跟踪轨迹预测框进行匹配,若5与3的跟踪轨迹预测框匹配成功,则获得高分框5的人体跟踪ID为a,跟踪轨迹为(1,3,5)。
然后对低分框6和剩余的跟踪轨迹预测框进行匹配,若6与4的跟踪轨迹预测框匹配成功,则获得低分框的人体跟踪ID人体跟踪ID为b,跟踪轨迹为(2,4,6)。
高分框7未匹配成功,则可以新建人体跟踪ID为c。
在对目标检测框和跟踪轨迹预测框进行匹配时,可以基于相似度进行匹配。例如,目标检测框和跟踪轨迹预测框在特征上的相似度,或目标检测框和跟踪轨迹预测框在位置上的相似度。
通过这一示例可以看出,若在进行目标跟踪的过程中直接丢弃低分框,那目标检测框4和6将被认定为包含背景而非b的人体跟踪框,跟踪轨迹存在缺失。
在进行目标跟踪的过程中,目标受到遮挡往往会伴随置信度分数由高到低的缓慢降低,在目标被遮挡之前,目标检测框的置信度分数较高,能够成功确定人体跟踪ID及跟踪轨迹。
本公开实施例对低分框和高分框进行分别处理,利用低分框和跟踪轨迹预测框之间的匹配来确定出包含人体的低分检测框,在目标被遮挡之后,依然可以在低分框与之前确定的人体跟踪ID、跟踪轨迹之间建立联系,保证人体跟踪轨迹的完整性,后续进行骨骼点提取和特定动作识别时,就具有更高的准确性。
在本公开的一个实施例中,前述对上一个前序图像帧中的人体跟踪框进行滤波处理,获得跟踪轨迹预测框的步骤,具体可以包括以下细化步骤:
步骤21:获取上一个前序图像帧中人体跟踪框的状态量和置信度分数;其中,人体跟踪框的状态量包括该人体跟踪框的中心点坐标、长度值和宽度值;
步骤22:针对人体跟踪框的状态量,确定该状态量的协方差矩阵,并基于该人体跟踪框的置信度分数对协方差矩阵进行平滑处理,获得平滑矩阵;
步骤23:基于预测方程对上一个前序图像帧中人体跟踪框的状态量和对应的平滑矩阵进行处理,确定人体跟踪框对应的跟踪轨迹预测框的状态量,获得跟踪轨迹预测框。
具体的,本公开实施例通过Kalman(卡尔曼)滤波器对上一个前序图像帧中的人体跟踪框进行滤波处理,并对传统Kalman滤波器所采用的滤波算法进行了改进。
其中,滤波处理即对目标的状态量进行预测,例如,预测目标在下一帧的位置或速度。
在进行滤波处理的过程中,目标在某一时刻,例如t时刻的状态量已知,状态量可能包括多个维度,例如位置和速度,且不同维度的状态量之间具有相关性,可以基于各个维度状态量的协方差矩阵来表征这种相关性。滤波处理则能够基于t时刻的状态量和协方差矩阵,对目标在t+1时刻的状态量进行预测。
在本公开实施例中,即对上一个前序图像帧中的人体跟踪框在下一帧的状态量,也就是跟踪轨迹预测框的状态量进行预测,基于状态量自然能够确定出跟踪轨迹预测框。
目标在t+1时刻的状态量具体可以通过预测方程计算得到,关于预测方程的具体内容可以参考关于Kalman滤波器的相关技术。
值得注意的是,在本公开实施例中,参与预测方程进行计算的并非原始的协方差矩阵,而是经平滑处理后的平滑矩阵。
在本公开实施例中,对上一个前序帧中的人体跟踪框进行滤波处理,获得跟踪轨迹预测框时,将(x,y,w,h),即人体跟踪框和/或跟踪轨迹预测框的中心点坐标x,y,宽度值w和长度值h作为状态量,从而可以适应人体在执行特定动作时目标检测框长宽比的剧烈变化。并利用人体跟踪框的置信度分数对协方差矩阵进行平滑处理,降低了预测过程中的噪声干扰。从而提升了通过滤波处理获得的跟踪轨迹预测框的准确性,在基于跟踪轨迹预测框和目标检测框进行匹配实现目标跟踪时,目标跟踪的结果更为准确。
在本公开的一个实施例中,前述步骤S103具体可以包括:
针对人体跟踪ID,基于该人体跟踪ID的人体跟踪框获取人体图像,并采用姿态估计模型对该人体图像进行处理,得到关键点热图,对该关键点热图进行整合处理,得到该人体跟踪ID的骨骼点数据。
如前文所述,每个人体跟踪ID的人体跟踪框可以包括该人体跟踪ID在一个或多个图像帧中的人体跟踪框,每个人体跟踪框的位置表征对应图像帧中人体的位置。
因此,可以根据每个人体跟踪ID的人体跟踪框,对对应的原始图像帧进行裁剪,获得该人体跟踪ID的人体图像,然后采用姿态估计模型对人体图像进行处理。
作为一个示例,在对原始图像帧进行裁剪的过程中,可以判断该帧图像是否跟踪到人体,若否,则可以跳过采用姿态估计模型对对应人体图像进行处理的步骤。
作为一个示例,姿态估计模型可以是HRNet(High-Resolution Network,一种神经网络模型)模型。
通过HRNet模型对人体图像进行处理时,可以将固定尺寸的人体图像输入HRNet模型,HRNet模型的输出为多张关键点热图,每张热图对应一个人体骨骼点,例如,可以是17张关键点热图,人体骨骼点可以包括膝关节、肩关节等。对这些关键点热图进行整合处理,即可获得该人体图像对应的骨骼点数据。
作为一个示例,可以将待检测视频中获取的图像帧统一处理为640×640尺寸的输入图像,对图像帧进行裁剪获得人体图像后,将裁剪所得的人体图像在保持长宽比的前提下预处理为256×192的尺寸,输入HRNet模型进行处理。
具体的,HRNet模型并行连接高分辨率到低分辨率的子网,能够保持高分辨率表示,并且在相同深度、相同级别下对低分辨率和高分辨率分别进行重复的多尺度融合,因此获得的关键点热图更准确,即骨骼点数据更准确。
在本公开实施例中,先基于人体跟踪框获得人体图像,再基于人体图像提取骨骼点数据,提取效率更高,且获得的骨骼点数据更准确,从而在后续基于骨骼点数据进行特定动作识别时,获得的识别结果更准确。
在本公开的一个实施例中,在得到人体跟踪ID的骨骼点数据之后,还包括:
当任一人体跟踪ID在连续预设数量个图像帧中丢失,将该人体跟踪ID确定为需要进行特定动作检测的人体跟踪ID。
其中,人体跟踪ID在一个图像帧中丢失,可以理解为该图像帧中未检测到该人体跟踪ID的人体跟踪框,也就是该人体跟踪ID没有在该图像帧中的骨骼点数据。
作为一个示例,预设数量可以为2,则当任一人体跟踪ID在连续两个图像帧中丢失,将该人体跟踪ID确定为需要进行特定动作检测的人体跟踪ID,基于该人体跟踪ID的连续多帧骨骼点数据进行特定动作识别。
作为一个示例,在多目标的场景下,具体可以通过如下步骤确定在连续预设数量个图像帧中丢失的人体跟踪ID:
对人体跟踪ID在每一图像帧的骨骼点数据进行缓存;
针对当前图像帧,判断暂存ID集中的人体跟踪ID在当前帧是否丢失,将丢失的人体跟踪ID确定为需要进行特定动作检测的人体跟踪ID;
判断上一帧的人体跟踪ID在当前帧是否丢失,将丢失的人体跟踪ID存入暂存ID集。
具体的,在对骨骼点数据进行缓存之前,可以先将暂存ID集创建为空集。
将丢失的人体跟踪ID确定为需要进行特定动作检测的人体跟踪ID,并完成该人体跟踪ID的特定动作检测后,可以将该人体跟踪ID从暂存ID集中删除。
当任一人体跟踪ID在连续多个图像帧中丢失,则该人体跟踪ID对应的人体可能已经出现特定动作或离开部署摄像头的区域,因此,当任一人体跟踪ID在连续预设数量个图像帧中丢失,将该人体跟踪ID确定为需要进行特定动作检测的人体跟踪ID,可以及时对可能出现特定动作的人体进行特定动作检测,提高特定动作检测的实时性。
在本公开的一个实施例中,在得到所述人体跟踪ID的骨骼点数据之后,还包括:
对人体跟踪ID的骨骼点数据进行缓存;
当任一人体跟踪ID的骨骼点数据缓存达到第一预设帧数,将该人体跟踪ID确定为需要进行特定动作检测的人体跟踪ID;
针对需要进行特定动作检测的人体跟踪ID,基于该人体跟踪ID的连续多帧骨骼点数据进行特定动作识别,得到识别结果之后,还包括:
删除该人体跟踪ID的前第二预设帧数个骨骼点数据缓存;第二预设帧数不大于第一预设帧数。
作为一个示例,第一预设帧数为5,第二预设帧数为2。则当任一人体跟踪ID的骨骼点数据达到5帧,基于该人体跟踪ID的5帧骨骼点数据进行特定动作识别,完成识别后,弹出该人体跟踪ID前2帧的骨骼点数据,此后,该人体跟踪ID的骨骼点数据缓存以滑窗的形式更新。
在本公开实施例中,当任一人体跟踪ID的骨骼点数据缓存达到第一预设帧数,将该人体跟踪ID确定为需要进行特定动作检测的人体跟踪ID,并对人体跟踪ID的骨骼点数据缓存进行滑窗式更新,能够提高特定动作检测算法的实时性,并节约缓存。
在本公开的一个实施例中,每帧骨骼点数据包括多个关节节点的数据;
图2是本公开实施例提供的特定动作识别的流程示意图,如图2所示,前述针对需要进行特定动作检测的人体跟踪ID,基于预先训练的特定动作识别模型对该人体跟踪ID的连续多帧骨骼点数据进行特定动作识别,得到识别结果的步骤,具体可以包括以下细化步骤:
步骤S201:针对需要进行特定动作检测的人体跟踪ID,基于该人体跟踪ID的连续多帧骨骼点数据,确定时空特征图;时空特征图中包括该人体跟踪ID的每一帧骨骼点数据;
步骤S202:针对该人体跟踪ID的每帧骨骼点数据中的每个根节点,根据关节节点和重心之间的距离,对该根节点的相邻节点集进行分区处理,获得根节点子图、由向心节点构成的向心子图和由离心节点构成的离心子图,根节点子图、向心子图和离心子图分别对应一个可学习的权重矩阵;其中,向心节点和重心之间的距离小于根节点和重心之间的距离;离心节点和重心之间的距离大于根节点和重心之间的距离;重心表征该帧骨骼点数据中所有关节节点的平均坐标;
步骤S203:基于根节点子图的节点特征、邻接矩阵、权重矩阵和卷积层的全局掩膜,对根节点子图进行图卷积处理,获得该根节点的第一空间特征;
步骤S204:基于向心子图的节点特征、邻接矩阵、权重矩阵和全局掩膜,对向心子图进行图卷积处理,获得该根节点的第二空间特征;
步骤S205:基于离心子图的节点特征、邻接矩阵、权重矩阵和全局掩膜,对离心子图进行图卷积处理,获得该根节点的第三空间特征;
步骤S206:对第一空间特征、第二空间特征和第三空间特征进行整合处理,获得该根节点的加权空间特征;
步骤S207:针对时空特征图中的每个待处理节点,确定该待处理节点在时序上的时序相邻节点集;
步骤S208:基于每个时序相邻节点的加权空间特征,对时序相邻节点集进行时间卷积处理,获得该待处理节点的时空特征;
步骤S209:对时空特征图中每个待处理节点的时空特征进行全连接处理,得到识别结果。
具体的,每帧骨骼点数据均包括多个关节节点的数据,例如膝关节节点的数据,肘关节节点的数据。
作为一个示例,每个关节节点的数据可以为该节点的位置坐标(x,y)和置信度score。
基于连续多帧骨骼点数据获得的时空特征图可以表示为G=(V,E),其中V为节点集,节点集中元素vti可以理解为第t个图像帧中的第i个节点,每个节点对应有节点数据。边集E包括ES和EF两个子集,其中,ES中元素用于表征关节节点的空间拓扑结构,例如同一帧内的肘关节节点和腕关节节点相连,EF中元素用于表征关节节点的时间拓扑结构,例如,连续两帧中的肘关节节点相连。
在进行跌倒动作识别时,先对骨骼点数据进行图卷积处理。
根据传统的图卷积方式,在空间上定义图卷积的计算公式可以表示为:
其中P()为采样函数,在卷积神经网络中代表包括采样中心在内的采样中心的相邻节点,其大小由卷积核决定。作为一个示例,相邻节点为和采样中心vi的距离小于D的节点,且D=1,即采样中心的最近邻节点。其中,采样中心可以理解为根节点。
w()为权重矩阵,具体是卷积核的参数矩阵,基于卷积核参数进行初始化。在图卷积处理的过程中,具有相同标签的节点共享一个权重矩阵。
fin可以理解为输入模型进行图卷积处理的节点特征,具体可以是相邻节点集内的节点数据,fout则是模型输出,可以理解为经过上述图卷积运算之后得到的特征。
在本公开实施例中,采用了一种划分子图的方式来给节点确定标签,因此权重矩阵转化为各子图的权重矩阵。
具体的,针对每一帧中的每个根节点,都将相邻节点集划分为了根节点子图、离心节点子图和向心节点子图,并分别确定标签。例如,根节点子图、离心节点子图和向心节点子图的标签分别为0,1,2,因此,三个子图分别对应一个可学习的权重矩阵。
其中,向心节点和重心之间的距离小于根节点和重心之间的距离;离心节点和重心之间的距离大于根节点和重心之间的距离。
作为一个示例,以膝关节节点为根节点,其相邻节点集包括该膝关节节点、踝关节节点及大腿根部关节节点,大腿根部关节节点距离重心更近,为向心节点,踝关节节点距离重心更远,为离心节点。
在采用分区策略的情况下,图卷积操作的公式可以表示如下:
其中,j可以理解为各子图对应的标签,例如j=0,1,2,Wj为各子图对应的权重矩阵,Aj为各子图对应的邻接矩阵,其中,根节点子图的邻接矩阵可以初始化为单位矩阵。
通过引入全局掩膜,可以赋予邻接矩阵中重要的边或节点较大的权重,抑制非重要的边或节点的权重,进一步提升识别结果的准确性。
可以看出,最终获得的加权空间特征fout,为对根节点子图、向心子图和离心子图对应的第一空间特征、第二空间特征和第三空间特征的加权和。
完成图卷积后获得的加权空间特征,能够表征人体动作在空间上的特征,获得加权空间特征后,在本公开实施例中,可以进一步进行时间卷积处理。
具体的,针对时空特征图中的每个待处理节点,确定该待处理节点在时序上的时序相邻节点集。
待处理节点在时序上的时序相邻节点,可以理解为与待处理节点间的时间差值在预设范围内的节点。
作为一个示例,待处理节点为t帧的膝关节节点,则其时序相邻节点集可以包括t-1帧、t帧和t+1帧的膝关节节点。
在图卷积处理的过程中,已经获得了每个节点的加权空间特征,实现了特征在空间上的融合,在此基础上进行时间卷积处理,可以进一步对特征在时序上进行融合,最终获得待处理节点的时空特征。
对待处理节点的时空特征进行全连接处理,即可输出识别结果,例如,输出为0表示执行特定动作,输出为1则表示未执行特定动作。
在实际场景中,人的运动状态可以分为三类,静止、离心运动和向心运动。作为一个示例,离心运动可以为起立,向心运动可以为坐下。
在本公开实施例中,为根节点子图、向心子图和离心子图分别分配了权重矩阵,实现对不同节点的特征的差异化学习,能更加准确地区分出离心运动和向心运动,从而获得的识别结果更加准确。
在本公开的一个实施例中,特定动作识别模型包括GCN(Graph ConvolutionalNetworks,图卷积网络)模块和TCN(Temporal Convolutional Network,时间卷积网络)模块;GCN模块用于进行图卷积处理,TCN模块用于进行时间卷积处理;
TCN模块包括1×1卷积分支、Maxpooling分支和4路空洞卷积间隔分别为1到4的3×1空洞卷积分支。
具体的,TCN在时空特征图中连续帧的相同节点上进行一维卷积,若卷积核的尺寸为K,则在时间维度上做K×1的卷积,融合K个图像帧的信息,每次移动步长s帧。
以膝关节节点作为示例,假设卷积核尺寸K为3,步长s为1,则TCN可以在前三个图像帧中的膝关节节点上进行时间卷积,融合膝关节节点在前三个图像帧中的加权空间特征,然后移动1帧,在第二个至第四个图像帧中的膝关节节点上进行时间卷积,以此类推。
从而,在GCN模块能够学习到骨骼点数据的空间特征的基础上,TCN模块则在时序上对骨骼点数据的空间特征进行进一步学习,特定动作识别模型最终能够融合骨骼点数据的空间特征以及时序特征,获得的识别结果具有更高的准确性。
在本公开实施例中,TCN模块被设计为包括6个分支的多路卷积结构,这6个分支分别为:1×1卷积分支、Maxpooling分支和4路空洞卷积间隔分别为1到4的3×1空洞卷积分支。这种TCN模块的设计不仅能够大幅降低计算量,还能够提升不同时间感受野信息的融合能力。
在本公开的一个实施例中,特定动作识别模型为STGCN++(Spatial TemporalGraph Convolutional Networks++,时空图卷积神经网络)。
在本公开的一个实施例中,前述获取待检测视频的步骤,具体可以包括:
获取多路摄像头采集的待检测视频;其中,每一路摄像头都对应一个摄像头ID;
在待检测视频包括多路摄像头采集的待检测视频的情况下,本公开实施例可以实现大规模的特定动作检测,在获得待检测视频后,具体还可以包括以下步骤:
针对每一个摄像头ID对应的待检测视频,对该待检测视频中的图像帧进行目标跟踪,得到该摄像头ID下的人体跟踪框和人体跟踪框的人体跟踪ID;
针对每一个摄像头ID下人体跟踪框对应的人体图像进行骨骼点数据提取,得到该摄像头ID下人体跟踪ID的骨骼点数据;
针对每一个摄像头ID下的人体跟踪ID,针对需要进行特定动作检测的人体跟踪ID,基于该人体跟踪ID的连续多帧骨骼点数据进行特定动作识别,得到识别结果;
在任一人体跟踪ID的特定动作识别的识别结果表征识别出所述特定动作时,基于该人体跟踪ID所属的摄像头ID,生成报警提示信息。
作为一个示例,多路摄像头具体可以是工业生产场景下的多个监控摄像头,基于本公开实施例提供的特定动作检测的方法,能够实现大规模的特定动作检测。
获得待检测视频后,可以在每路摄像头采集的待检测视频中均获取多个图像帧,并记录对应的摄像头ID。例如,针对每路摄像头采集的待检测视频,每隔10帧获取1帧图像帧,获得的图像帧用于后续的特定动作检测。
针对每路摄像头采集的待检测视频,均能够实现对待检测视频中人体的特定动作检测,这部分的具体内容可以参考前文步骤S102-步骤S104中的说明,此处不再赘述。在本公开实施例中,特定动作检测过程中涉及的人体跟踪ID均与其所属的摄像头ID相对应。
在判断任一人体跟踪ID的识别结果为执行特定动作时,基于该人体跟踪ID所属的摄像头ID,生成报警提示信息。以特定动作为跌倒为例,有助于相关人员根据报警的摄像头复查是否发生跌倒事故,若发生则及时前往现场救助,在能够实现大规模跌倒检测的基础上,有助于保证跌倒事故的及时救助。
本公开实施例还提供了一种特定动作识别模型的训练方法,图3是本公开实施例提供的特定动作识别模型的训练方法的流程示意图,如图3所示,该方法具体包括以下步骤:
步骤S301:获取样本视频。
本公开实施例不对样本视频的来源进行限定,具体的,样本视频中的人体对应真实识别结果,即执行特定动作或未执行特定动作。
步骤S302:对样本视频中的图像帧进行目标跟踪,得到人体跟踪框和人体跟踪框的人体跟踪ID。
步骤S303:针对人体跟踪框对应的人体图像进行骨骼点数据提取,得到人体跟踪ID的骨骼点数据。
步骤S302-步骤S303与前文中的步骤S102-步骤S103基于相似的原理,具体可以参考前文中的描述。
作为一个示例,步骤S303中获取的骨骼点数据可以是高帧率骨骼点数据,例如,各人体跟踪ID的骨骼点数据的平均帧数可以是50帧。
作为一个示例,要获取高帧率的骨骼点数据,可以将在样本视频中获取图像帧的周期设为较小值。
步骤S304:基于骨骼点数据训练特定动作识别模型。
可见,通过对样本视频中的图像帧进行目标跟踪,得到人体跟踪框和人体跟踪框的人体跟踪ID,并针对人体跟踪框对应的人体图像进行骨骼点数据提取,得到人体跟踪ID的骨骼点数据,适用于在多目标的场景中提取各个目标的骨骼点数据,并基于人体跟踪ID对不同目标作出了区分,从而基于人体跟踪ID的骨骼点数据训练的模型,识别结果也更准确,提高了特定动作检测的准确性和泛用性。
在本公开的一个实施例中,在得到人体跟踪ID的骨骼点数据之后,还包括:
对骨骼点数据进行均匀采样,获得低帧骨骼点数据。
作为一个示例,可以每隔10帧采样1帧。则若某个人体跟踪ID的骨骼点数据的原始帧数为50帧,经过均匀采样后,该人体跟踪ID的骨骼点数据降为5帧,获得低帧骨骼点数据。
通过本公开实施例提供的特定动作识别模型的训练方法获得的特定动作识别模型,具体可以应用于前文中本公开任一实施例提供的特定动作的检测方法。
前述基于骨骼点数据训练所述特定动作识别模型的步骤,具体包括以下细化步骤:
步骤31:将低帧骨骼点数据输入特定动作识别模型,得到人体跟踪ID的特定动作识别结果。
作为一个示例,特定动作识别模型可以是STGCN++。
将低帧骨骼点数据输入特定动作识别模型后,特定动作识别模型将输出特定动作识别结果,例如,输出为0表示执行特定动作,输出为1则表示未执行特定动作。
步骤32:基于所述特定动作识别结果和所述人体跟踪ID对应的真实结果,确定第一损失值;所述真实结果表征所述人体跟踪ID对应的人体是否执行所述特定动作。
步骤33:根据第一损失值,调整特定动作识别模型的模型参数,直至满足训练终止条件。
具体的,基于步骤31获得的各人体跟踪ID的特定动作识别结果,以及各人体跟踪ID对应的真实结果,可以计算出第一损失值,在此基础上可以实现对于特定动作识别模型的训练。
本公开实施例提供的特定动作识别模型的训练方法,基于低帧骨骼点数据进行模型的训练,获得的特定动作识别模型在基于低帧率骨骼点数据进行特定动作检测时也具有较高的准确性,且能够泛化不同动作速度的特定动作检测,应用于本公开任一实施例提供的特定动作的检测方法时,能够提升特定动作的检测方法在实用场景下的实时性和动作速度泛化性。
经测试,采用本公开实施例提供的特定动作识别模型的训练方法训练获得的特定动作识别模型,在低帧率的情况下依然能保持超过99%的验证集预测精度。
图4是用来实现本公开实施例的特定动作检测方法的装置的框图,如图4所示,该装置包括:
第一获取模块401,用于获取待检测视频;
第一跟踪模块402,用于对待检测视频中的图像帧进行目标跟踪,得到人体跟踪框和人体跟踪框的人体跟踪ID;
第一提取模块403,用于针对人体跟踪框对应的人体图像进行骨骼点数据提取,得到人体跟踪ID的骨骼点数据;
识别模块404,用于针对需要进行特定动作检测的人体跟踪ID,基于预先训练的特定动作识别模型对该人体跟踪ID的连续多帧骨骼点数据进行特定动作识别,得到识别结果。
公开实施例提供的特定动作检测的装置,通过对待检测视频中的图像帧进行目标跟踪,得到人体跟踪框和各人体跟踪框的人体跟踪ID,并针对各各人体跟踪框对应的人体图像进行骨骼点数据提取,得到各人体跟踪ID的骨骼点数据,适用于在多目标的场景中提取各个目标的骨骼点数据,并基于人体跟踪ID对不同目标作出了区分。在基于骨骼点数据进行特定动作识别的过程中,针对需要进行特定动作检测的人体跟踪ID,基于该人体跟踪ID的连续多帧骨骼点数据进行特定动作识别,得到识别结果,在进行特定动作识别的过程中利用了具有时序的多帧骨骼点数据,可以捕捉到人体动作的动态特征,在适用于多目标场景下进行特定动作检测的基础上,获得的识别结果也更准确,提高了特定动作检测的准确性和泛用性。
此外,本公开实施例提供的特定动作检测的装置通过摄像头采集的待检测视频进行特定动作检测,且单个摄像头也可以实现特定动作检测,具有较高的部署友好性。
在本公开的一个实施例中,第一跟踪模块402,具体包括:
检测单元,用于对待检测视频中的当前图像帧进行目标检测,得到当前图像帧的目标检测框;
匹配单元,用于将目标检测框与前序图像帧中人体跟踪ID的人体跟踪轨迹进行匹配,确定当前图像帧中的人体跟踪框以及人体跟踪框的人体跟踪ID。
在本公开的一个实施例中,匹配单元,具体包括:
划分子单元,用于基于目标检测框的置信度分数,将目标检测框分为高分框和低分框;
滤波子单元,用于对上一个前序图像帧中的人体跟踪框进行滤波处理,获得跟踪轨迹预测框;
第一匹配子单元,用于针对高分框,对高分框与跟踪轨迹预测框进行匹配,确定高分框中的人体跟踪框以及人体跟踪框的人体跟踪ID;
第二匹配子单元,用于针对低分框,对低分框和剩余的跟踪轨迹预测框进行匹配,确定低分框中的人体跟踪框以及人体跟踪框的人体跟踪ID;
创建子单元,用于将剩余的高分框确定为人体跟踪框,并为人体跟踪框创建人体跟踪ID。
在本公开的一个实施例中,滤波子单元,具体用于:
获取上一个前序图像帧中人体跟踪框的状态量和置信度分数;其中,每个人体跟踪框的状态量包括该人体跟踪框的中心点坐标、长度值和宽度值;
针对人体跟踪框的状态量,确定该状态量的协方差矩阵,并基于该人体跟踪框的置信度分数对协方差矩阵进行平滑处理,获得平滑矩阵;
基于预测方程对上一个前序图像帧中人体跟踪框的状态量和对应的平滑矩阵进行处理,确定人体跟踪框对应的跟踪轨迹预测框的状态量,获得跟踪轨迹预测框。
在本公开的一个实施例中,第一提取模块403,具体用于:
针对人体跟踪ID,基于该人体跟踪ID的人体跟踪框获取人体图像,并采用姿态估计模型对该人体图像进行处理,得到关键点热图,对该关键点热图进行整合处理,得到该人体跟踪ID的骨骼点数据。
在本公开的一个实施例中,该装置还包括:
第一确定模块,用于当任一人体跟踪ID在连续预设数量个图像帧中丢失,将该人体跟踪ID确定为需要进行特定动作检测的人体跟踪ID。
在本公开的一个实施例中,该装置还包括:
缓存模块,用于对人体跟踪ID的骨骼点数据进行缓存;
第二确定模块,用于当任一人体跟踪ID的骨骼点数据缓存达到第一预设帧数,将该人体跟踪ID确定为需要进行特定动作检测的人体跟踪ID;
删除模块,用于删除该人体跟踪ID的前第二预设帧数个骨骼点数据缓存;第二预设帧数不大于第一预设帧数。
在本公开的一个实施例中,每帧骨骼点数据包括多个关节节点的数据;
识别模块404,具体用于:
针对需要进行特定动作检测的人体跟踪ID,基于该人体跟踪ID的连续多帧骨骼点数据,确定时空特征图;时空特征图中包括该人体跟踪ID的每一帧骨骼点数据;
针对该人体跟踪ID的每帧骨骼点数据中的每个根节点,根据关节节点和重心之间的距离,对该根节点的相邻节点集进行分区处理,获得根节点子图、由向心节点构成的向心子图和由离心节点构成的离心子图,根节点子图、向心子图和离心子图分别对应一个可学习的权重矩阵;其中,向心节点和重心之间的距离小于根节点和重心之间的距离;离心节点和重心之间的距离大于根节点和重心之间的距离;重心表征该帧骨骼点数据中所有关节节点的平均坐标;
基于根节点子图的节点特征、邻接矩阵、权重矩阵和卷积层的全局掩膜,对根节点子图进行图卷积处理,获得该根节点的第一空间特征;
基于向心子图的节点特征、邻接矩阵、权重矩阵和全局掩膜,对向心子图进行图卷积处理,获得该根节点的第二空间特征;
基于离心子图的节点特征、邻接矩阵、权重矩阵和全局掩膜,对离心子图进行图卷积处理,获得该根节点的第三空间特征;
对第一空间特征、第二空间特征和第三空间特征进行整合处理,获得该根节点的加权空间特征;
针对时空特征图中的每个待处理节点,确定该待处理节点在时序上的时序相邻节点集;
基于每个时序相邻节点的加权空间特征,对时序相邻节点集进行时间卷积处理,获得该待处理节点的时空特征;
对时空特征图中每个待处理节点的时空特征进行全连接处理,得到识别结果。
在本公开的一个实施例中,特定动作识别模型包括图卷积GCN模块和时序卷积TCN模块;GCN模块用于进行图卷积处理,TCN模块用于进行时间卷积处理;
TCN模块包括1×1卷积分支、最大化池Maxpooling分支和4路空洞卷积间隔分别为1到4的3×1空洞卷积分支。
在本公开的一个实施例中,特定动作识别模型为STGCN++。
在本公开的一个实施例中,第一获取模块401,具体用于:
获取多路摄像头采集的待检测视频;其中,每一路摄像头都对应一个摄像头ID;
第一跟踪模块402,具体用于针对每一个摄像头ID对应的待检测视频,对该待检测视频中的图像帧进行目标跟踪,得到该摄像头ID下的人体跟踪框和各人体跟踪框的人体跟踪ID;
第一提取模块403,具体用于针对每一个摄像头ID下各人体跟踪框对应的人体图像进行骨骼点数据提取,得到该摄像头ID下各人体跟踪ID的骨骼点数据;
识别模块404,具体用于针对每一个摄像头ID下的人体跟踪ID,针对需要进行特定动作检测的人体跟踪ID,基于该人体跟踪ID的连续多帧骨骼点数据进行特定动作识别,得到识别结果;
该装置还包括:
生成模块,用于在任一所述人体跟踪ID的识别结果表征识别出所述特定动作时,基于该人体跟踪ID所属的摄像头ID,生成报警提示信息。
图5是用来实现本公开实施例的特定动作识别模型的方法的装置的框图,如图5所示,该装置包括:
第二获取模块501,用于获取样本视频;
第二跟踪模块502,用于对样本视频中的图像帧进行目标跟踪,得到人体跟踪框和人体跟踪框的人体跟踪ID;
第二提取模块503,用于针对人体跟踪框对应的人体图像进行骨骼点数据提取,得到人体跟踪ID的骨骼点数据。
训练模块504,用于基于骨骼点数据训练特定动作识别模型。
在本公开的一个实施例中,用来实现本公开实施例的特定动作识别模型的方法的装置还包括:
采样模块505,用于对骨骼点数据进行均匀采样,获得低帧骨骼点数据;
训练模块504,具体包括:
输入模块,用于将低帧骨骼点数据输入特定动作识别模型,得到所述人体跟踪ID的特定动作识别结果;
确定模块,用于基于特定动作识别结果和人体跟踪ID对应的真实结果,确定第一损失值;所述真实结果表征所述人体跟踪ID对应的人体是否执行所述特定动作;
调整模块,用于根据第一损失值,调整特定动作识别模型的模型参数,直至满足训练终止条件。
本公开实施例提供的特定动作识别模型的训练装置,基于低帧骨骼点数据进行模型的训练,获得的特定动作识别模型在基于低帧率骨骼点数据进行特定动作检测时也具有较高的准确性,且能够泛化不同动作速度的特定动作检测,应用于特定动作检测,能够提升特定动作检测在实用场景下的实时性和动作速度泛化性。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如特定动作的检测方法。例如,在一些实施例中,特定动作的检测方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM 603并由计算单元601执行时,可以执行上文描述的特定动作的检测方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行特定动作的检测方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (27)
1.一种特定动作的检测方法,包括:
获取待检测视频;
对所述待检测视频中的图像帧进行目标跟踪,得到人体跟踪框和所述人体跟踪框的人体跟踪ID;
针对所述人体跟踪框对应的人体图像进行骨骼点数据提取,得到所述人体跟踪ID的骨骼点数据;
针对需要进行特定动作检测的人体跟踪ID,基于预先训练的特定动作识别模型对该人体跟踪ID的连续多帧骨骼点数据进行特定动作识别,得到识别结果。
2.根据权利要求1所述的方法,所述对所述待检测视频中的图像帧进行目标跟踪,得到人体跟踪框和所述人体跟踪框的人体跟踪ID的步骤,包括:
对所述待检测视频中的当前图像帧进行目标检测,得到当前图像帧的目标检测框;
将所述目标检测框与前序图像帧中人体跟踪ID的人体跟踪轨迹进行匹配,确定当前图像帧中的人体跟踪框以及所述人体跟踪框的人体跟踪ID。
3.根据权利要求2所述的方法,所述将所述目标检测框与前序图像帧中人体跟踪ID的人体跟踪轨迹进行匹配,确定当前图像帧中的人体跟踪框以及所述人体跟踪框的人体跟踪ID的步骤,包括:
基于所述目标检测框的置信度分数,将所述目标检测框分为高分框和低分框;
对上一个前序图像帧中的人体跟踪框进行滤波处理,获得跟踪轨迹预测框;
针对所述高分框,对所述高分框与所述跟踪轨迹预测框进行匹配,确定所述高分框中的人体跟踪框以及所述人体跟踪框的人体跟踪ID;
针对所述低分框,对所述低分框和剩余的跟踪轨迹预测框进行匹配,确定所述低分框中的人体跟踪框以及所述人体跟踪框的人体跟踪ID;
将剩余的高分框确定为人体跟踪框,并为所述人体跟踪框创建人体跟踪ID。
4.根据权利要求3所述的方法,所述对上一个前序图像帧中的人体跟踪框进行滤波处理,获得跟踪轨迹预测框的步骤,包括:
获取上一个前序图像帧中人体跟踪框的状态量和置信度分数;其中,所述人体跟踪框的状态量包括该人体跟踪框的中心点坐标、长度值和宽度值;
针对所述人体跟踪框的状态量,确定该状态量的协方差矩阵,并基于该人体跟踪框的置信度分数对所述协方差矩阵进行平滑处理,获得平滑矩阵;
基于预测方程对上一个前序图像帧中所述人体跟踪框的状态量和对应的平滑矩阵进行处理,确定所述人体跟踪框对应的跟踪轨迹预测框的状态量,获得所述跟踪轨迹预测框。
5.根据权利要求1所述的方法,所述针对所述人体跟踪框对应的人体图像进行骨骼点数据提取,得到所述人体跟踪ID的骨骼点数据的步骤,包括:
针对所述人体跟踪ID,基于该人体跟踪ID的人体跟踪框获取人体图像,并采用姿态估计模型对该人体图像进行处理,得到关键点热图,对该关键点热图进行整合处理,得到该人体跟踪ID的骨骼点数据。
6.根据权利要求1所述的方法,在得到所述人体跟踪ID的骨骼点数据之后,还包括:
当任一人体跟踪ID在连续预设数量个图像帧中丢失,将该人体跟踪ID确定为需要进行特定动作检测的人体跟踪ID。
7.根据权利要求1所述的方法,在得到所述人体跟踪ID的骨骼点数据之后,还包括:
对所述人体跟踪ID的骨骼点数据进行缓存;
当任一人体跟踪ID的骨骼点数据缓存达到第一预设帧数,将该人体跟踪ID确定为需要进行特定动作检测的人体跟踪ID;
所述针对需要进行特定动作检测的人体跟踪ID,基于预先训练的特定动作识别模型对该人体跟踪ID的连续多帧骨骼点数据进行特定动作识别,得到识别结果之后,还包括:
删除该人体跟踪ID的前第二预设帧数个骨骼点数据缓存;所述第二预设帧数不大于所述第一预设帧数。
8.根据权利要求1所述的方法,其中,每帧所述骨骼点数据包括多个关节节点的数据;
所述针对需要进行特定动作检测的人体跟踪ID,基于预先训练的特定动作识别模型对该人体跟踪ID的连续多帧骨骼点数据进行特定动作识别,得到识别结果的步骤,包括:
针对需要进行特定动作检测的人体跟踪ID,基于该人体跟踪ID的连续多帧骨骼点数据,确定时空特征图;所述时空特征图中包括该人体跟踪ID的每一帧骨骼点数据;
针对该人体跟踪ID的每帧骨骼点数据中的每个根节点,根据所述关节节点和重心之间的距离,对该根节点的相邻节点集进行分区处理,获得根节点子图、由向心节点构成的向心子图和由离心节点构成的离心子图,所述根节点子图、所述向心子图和所述离心子图分别对应一个可学习的权重矩阵;其中,所述向心节点和所述重心之间的距离小于所述根节点和所述重心之间的距离;所述离心节点和所述重心之间的距离大于所述根节点和所述重心之间的距离;所述重心表征该帧骨骼点数据中所有关节节点的平均坐标;
基于所述根节点子图的节点特征、邻接矩阵、权重矩阵和卷积层的全局掩膜,对所述根节点子图进行图卷积处理,获得该根节点的第一空间特征;
基于所述向心子图的节点特征、邻接矩阵、权重矩阵和所述全局掩膜,对所述向心子图进行图卷积处理,获得该根节点的第二空间特征;
基于所述离心子图的节点特征、邻接矩阵、权重矩阵和所述全局掩膜,对所述离心子图进行图卷积处理,获得该根节点的第三空间特征;
对所述第一空间特征、所述第二空间特征和所述第三空间特征进行整合处理,获得该根节点的加权空间特征;
针对所述时空特征图中的每个待处理节点,确定该待处理节点在时序上的时序相邻节点集;
基于每个时序相邻节点的加权空间特征,对所述时序相邻节点集进行时间卷积处理,获得该待处理节点的时空特征;
对所述时空特征图中每个待处理节点的时空特征进行全连接处理,得到所述识别结果。
9.根据权利要求8所述的方法,其中,所述特定动作识别模型包括图卷积GCN模块和时序卷积TCN模块;所述GCN模块用于进行图卷积处理,所述TCN模块用于进行时间卷积处理;
所述TCN模块包括1×1卷积分支、最大化池Maxpooling分支和4路空洞卷积间隔分别为1到4的3×1空洞卷积分支。
10.根据权利要求1所述的方法,所述获取待检测视频的步骤,包括:
获取多路摄像头采集的待检测视频;其中,每一路摄像头都对应一个摄像头ID;
所述对所述待检测视频中的图像帧进行目标跟踪,得到人体跟踪框和所述人体跟踪框的人体跟踪ID的步骤,包括:
针对每一个摄像头ID对应的待检测视频,对该待检测视频中的图像帧进行目标跟踪,得到该摄像头ID下的人体跟踪框和所述人体跟踪框的人体跟踪ID;
所述针对所述人体跟踪框对应的人体图像进行骨骼点数据提取,得到所述人体跟踪ID的骨骼点数据的步骤,包括:
针对每一个摄像头ID下所述人体跟踪框对应的人体图像进行骨骼点数据提取,得到该摄像头ID下所述人体跟踪ID的骨骼点数据;
所述针对需要进行特定动作检测的人体跟踪ID,基于预先训练的特定动作识别模型对该人体跟踪ID的连续多帧骨骼点数据进行特定动作识别,得到识别结果的步骤,包括:
针对每一个摄像头ID下的人体跟踪ID,针对需要进行特定动作检测的人体跟踪ID,基于该人体跟踪ID的连续多帧骨骼点数据进行特定动作识别,得到识别结果;
在任一所述人体跟踪ID的识别结果表征识别出所述特定动作时,基于该人体跟踪ID所属的摄像头ID,生成报警提示信息。
11.一种特定动作识别模型的训练方法,包括:上位下独权
获取样本视频;
对所述样本视频中的图像帧进行目标跟踪,得到人体跟踪框和所述人体跟踪框的人体跟踪ID;
针对所述人体跟踪框对应的人体图像进行骨骼点数据提取,得到所述人体跟踪ID的骨骼点数据;
基于所述骨骼点数据训练所述特定动作识别模型。
12.根据权利要求11所述的方法,在得到所述人体跟踪ID的骨骼点数据之后,还包括:对所述骨骼点数据进行均匀采样,获得低帧骨骼点数据;
所述基于所述骨骼点数据训练所述特定动作识别模型的步骤,包括:
将所述低帧骨骼点数据输入特定动作识别模型,得到所述人体跟踪ID的特定动作识别结果;
基于所述特定动作识别结果和所述人体跟踪ID对应的真实结果,确定第一损失值;所述真实结果表征所述人体跟踪ID对应的人体是否执行所述特定动作;
根据所述第一损失值,调整所述特定动作识别模型的模型参数,直至满足训练终止条件。
13.一种特定动作的检测装置,包括:
第一获取模块,用于获取待检测视频;
第一跟踪模块,用于对所述待检测视频中的图像帧进行目标跟踪,得到人体跟踪框和所述人体跟踪框的人体跟踪ID;
第一提取模块,用于针对所述人体跟踪框对应的人体图像进行骨骼点数据提取,得到所述人体跟踪ID的骨骼点数据;
识别模块,用于针对需要进行特定动作检测的人体跟踪ID,基于预先训练的特定动作识别模型对该人体跟踪ID的连续多帧骨骼点数据进行特定动作识别,得到识别结果。
14.根据权利要求13所述的装置,所述第一跟踪模块,具体包括:
检测单元,用于对所述待检测视频中的当前图像帧进行目标检测,得到当前图像帧的目标检测框;
匹配单元,用于将所述目标检测框与前序图像帧中人体跟踪ID的人体跟踪轨迹进行匹配,确定当前图像帧中的人体跟踪框以及所述人体跟踪框的人体跟踪ID。
15.根据权利要求14所述的装置,所述匹配单元,具体包括:
划分子单元,用于基于所述目标检测框的置信度分数,将所述目标检测框分为高分框和低分框;
滤波子单元,用于对上一个前序图像帧中的人体跟踪框进行滤波处理,获得跟踪轨迹预测框;
第一匹配子单元,用于针对所述高分框,对所述高分框与所述跟踪轨迹预测框进行匹配,确定所述高分框中的人体跟踪框以及所述人体跟踪框的人体跟踪ID;
第二匹配子单元,用于针对所述低分框,对所述低分框和剩余的跟踪轨迹预测框进行匹配,确定所述低分框中的人体跟踪框以及所述人体跟踪框的人体跟踪ID;
创建子单元,用于将剩余的高分框确定为人体跟踪框,并为所述人体跟踪框创建人体跟踪ID。
16.根据权利要求15所述的装置,所述滤波子单元,具体用于:
获取上一个前序图像帧中人体跟踪框的状态量和置信度分数;其中,每个所述人体跟踪框的状态量包括该人体跟踪框的中心点坐标、长度值和宽度值;
针对所述人体跟踪框的状态量,确定该状态量的协方差矩阵,并基于该人体跟踪框的置信度分数对所述协方差矩阵进行平滑处理,获得平滑矩阵;
基于预测方程对上一个前序图像帧中人体跟踪框的状态量和对应的平滑矩阵进行处理,确定所述人体跟踪框对应的跟踪轨迹预测框的状态量,获得所述跟踪轨迹预测框。
17.根据权利要求13所述的装置,所述第一提取模块,具体用于:
针对人体跟踪ID,基于该人体跟踪ID的人体跟踪框获取人体图像,并采用姿态估计模型对该人体图像进行处理,得到关键点热图,对该关键点热图进行整合处理,得到该人体跟踪ID的骨骼点数据。
18.根据权利要求13所述的装置,还包括:
第一确定模块,用于当任一人体跟踪ID在连续预设数量个图像帧中丢失,将该人体跟踪ID确定为需要进行特定动作检测的人体跟踪ID。
19.根据权利要求13所述的装置,还包括:
缓存模块,用于对所述人体跟踪ID的骨骼点数据进行缓存;
第二确定模块,用于当任一人体跟踪ID的骨骼点数据缓存达到第一预设帧数,将该人体跟踪ID确定为需要进行特定动作检测的人体跟踪ID;
删除模块,用于删除该人体跟踪ID的前第二预设帧数个骨骼点数据缓存;所述第二预设帧数不大于所述第一预设帧数。
20.根据权利要求13所述的装置,其中,每帧所述骨骼点数据包括多个关节节点的数据;
所述识别模块,具体用于:
针对需要进行特定动作检测的人体跟踪ID,基于该人体跟踪ID的连续多帧骨骼点数据,确定时空特征图;所述时空特征图中包括该人体跟踪ID的每一帧骨骼点数据;
针对该人体跟踪ID的每帧骨骼点数据中的每个根节点,根据所述关节节点和重心之间的距离,对该根节点的相邻节点集进行分区处理,获得根节点子图、由向心节点构成的向心子图和由离心节点构成的离心子图,所述根节点子图、所述向心子图和所述离心子图分别对应一个可学习的权重矩阵;其中,所述向心节点和所述重心之间的距离小于所述根节点和所述重心之间的距离;所述离心节点和所述重心之间的距离大于所述根节点和所述重心之间的距离;所述重心表征该帧骨骼点数据中所有关节节点的平均坐标;
基于所述根节点子图的节点特征、邻接矩阵、权重矩阵和卷积层的全局掩膜,对所述根节点子图进行图卷积处理,获得该根节点的第一空间特征;
基于所述向心子图的节点特征、邻接矩阵、权重矩阵和所述全局掩膜,对所述向心子图进行图卷积处理,获得该根节点的第二空间特征;
基于所述离心子图的节点特征、邻接矩阵、权重矩阵和所述全局掩膜,对所述离心子图进行图卷积处理,获得该根节点的第三空间特征;
对所述第一空间特征、所述第二空间特征和所述第三空间特征进行整合处理,获得该根节点的加权空间特征;
针对所述时空特征图中的每个待处理节点,确定该待处理节点在时序上的时序相邻节点集;
基于每个时序相邻节点的加权空间特征,对所述时序相邻节点集进行时间卷积处理,获得该待处理节点的时空特征;
对所述时空特征图中每个待处理节点的时空特征进行全连接处理,得到所述识别结果。
21.根据权利要求20所述的装置,其中,所述特定动作识别模型包括图卷积GCN模块和时序卷积TCN模块;所述GCN模块用于进行图卷积处理,所述TCN模块用于进行时间卷积处理;
所述TCN模块包括1×1卷积分支、最大化池Maxpooling分支和4路空洞卷积间隔分别为1到4的3×1空洞卷积分支。
22.根据权利要求13所述的装置,所述第一获取模块,具体用于:
获取多路摄像头采集的待检测视频;其中,每一路摄像头都对应一个摄像头ID;
所述第一跟踪模块,具体用于针对每一个摄像头ID对应的待检测视频,对该待检测视频中的图像帧进行目标跟踪,得到该摄像头ID下的人体跟踪框和所述人体跟踪框的人体跟踪ID;
所述第一提取模块,具体用于针对每一个摄像头ID下所述人体跟踪框对应的人体图像进行骨骼点数据提取,得到该摄像头ID下所述人体跟踪ID的骨骼点数据;
所述识别模块,具体用于针对每一个摄像头ID下的人体跟踪ID,针对需要进行特定动作检测的人体跟踪ID,基于该人体跟踪ID的连续多帧骨骼点数据进行特定动作识别,得到识别结果;
所述装置还包括:
生成模块,用于在任一所述人体跟踪ID的识别结果表征识别出所述特定动作时,基于该人体跟踪ID所属的摄像头ID,生成报警提示信息。
23.一种特定特定动作识别模型的训练装置,包括:
第二获取模块,用于获取样本视频;
第二跟踪模块,用于对所述样本视频中的图像帧进行目标跟踪,得到人体跟踪框和所述人体跟踪框的人体跟踪ID;
第二提取模块,用于针对所述人体跟踪框对应的人体图像进行骨骼点数据提取,得到所述人体跟踪ID的骨骼点数据;
训练模块,用于基于所述骨骼点数据训练所述特定动作识别模型。
24.根据权利要求23所述的装置,还包括:
采样模块,用于对所述骨骼点数据进行均匀采样,获得低帧骨骼点数据;
所述训练模块,包括:
输入模块,用于将所述低帧骨骼点数据输入特定动作识别模型,得到所述人体跟踪ID的特定动作识别结果;
确定模块,用于基于所述特定动作识别结果和所述人体跟踪ID对应的真实结果,确定第一损失值;所述真实结果表征所述人体跟踪ID对应的人体是否执行所述特定动作;
调整模块,用于根据所述第一损失值,调整所述特定动作识别模型的模型参数,直至满足训练终止条件。
25.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-10或11-12中任一项所述的方法。
26.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-10或11-12中任一项所述的方法。
27.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-10或11-12中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310154529.8A CN116434325A (zh) | 2023-02-22 | 2023-02-22 | 一种特定动作的检测方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310154529.8A CN116434325A (zh) | 2023-02-22 | 2023-02-22 | 一种特定动作的检测方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116434325A true CN116434325A (zh) | 2023-07-14 |
Family
ID=87087951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310154529.8A Pending CN116434325A (zh) | 2023-02-22 | 2023-02-22 | 一种特定动作的检测方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116434325A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117314976A (zh) * | 2023-10-08 | 2023-12-29 | 玩出梦想(上海)科技有限公司 | 一种目标物跟踪方法及数据处理设备 |
CN117423138A (zh) * | 2023-12-19 | 2024-01-19 | 四川泓宝润业工程技术有限公司 | 基于多分支结构的人体跌倒检测方法、装置及系统 |
CN117671296A (zh) * | 2023-12-19 | 2024-03-08 | 珠海市欧冶半导体有限公司 | 目标跟踪法、装置、计算机设备和存储介质 |
CN117314976B (zh) * | 2023-10-08 | 2024-05-31 | 玩出梦想(上海)科技有限公司 | 一种目标物跟踪方法及数据处理设备 |
-
2023
- 2023-02-22 CN CN202310154529.8A patent/CN116434325A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117314976A (zh) * | 2023-10-08 | 2023-12-29 | 玩出梦想(上海)科技有限公司 | 一种目标物跟踪方法及数据处理设备 |
CN117314976B (zh) * | 2023-10-08 | 2024-05-31 | 玩出梦想(上海)科技有限公司 | 一种目标物跟踪方法及数据处理设备 |
CN117423138A (zh) * | 2023-12-19 | 2024-01-19 | 四川泓宝润业工程技术有限公司 | 基于多分支结构的人体跌倒检测方法、装置及系统 |
CN117671296A (zh) * | 2023-12-19 | 2024-03-08 | 珠海市欧冶半导体有限公司 | 目标跟踪法、装置、计算机设备和存储介质 |
CN117423138B (zh) * | 2023-12-19 | 2024-03-15 | 四川泓宝润业工程技术有限公司 | 基于多分支结构的人体跌倒检测方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112037266B (zh) | 一种下落物体的识别方法、装置、终端设备及存储介质 | |
CN116434325A (zh) | 一种特定动作的检测方法、装置、设备及存储介质 | |
CN109325456B (zh) | 目标识别方法、装置、目标识别设备及存储介质 | |
CN110751674A (zh) | 多目标跟踪方法及相应视频分析系统 | |
WO2019129255A1 (zh) | 一种目标跟踪方法及装置 | |
US9280703B2 (en) | Apparatus and method for tracking hand | |
US9098744B2 (en) | Position estimation device, position estimation method, and program | |
WO2023082882A1 (zh) | 一种基于姿态估计的行人摔倒动作识别方法及设备 | |
JP7272024B2 (ja) | 物体追跡装置、監視システムおよび物体追跡方法 | |
CN113378770B (zh) | 手势识别方法、装置、设备、存储介质 | |
CN113177968A (zh) | 目标跟踪方法、装置、电子设备及存储介质 | |
US20170091573A1 (en) | Visual attention detector and visual attention detection method | |
CN112528927B (zh) | 基于轨迹分析的置信度确定方法、路侧设备及云控平台 | |
CN107786848A (zh) | 运动目标检测与动作识别的方法、装置、终端及存储介质 | |
CN105374049B (zh) | 一种基于稀疏光流法的多角点跟踪方法及装置 | |
CN109063625A (zh) | 一种基于级联深度网络的人脸关键点检测方法 | |
CN113763427B (zh) | 一种基于从粗到精遮挡处理的多目标跟踪方法 | |
CN111652181B (zh) | 目标跟踪方法、装置及电子设备 | |
CN113688797A (zh) | 一种基于骨架提取的异常行为识别方法及系统 | |
CN113808162A (zh) | 目标跟踪方法、装置、电子设备及存储介质 | |
CN113096159A (zh) | 目标检测、轨迹跟踪方法、模型及其电子设备 | |
CN111325292A (zh) | 一种对象行为的识别方法及装置 | |
CN115049954A (zh) | 目标识别方法、装置、电子设备和介质 | |
CN117372928A (zh) | 一种视频目标检测方法、装置及相关设备 | |
CN107665495B (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 |