基于深度学习的多人步态识别系统(目前数据集大小124人,准确率96.5%)

简介: 基于深度学习的多人步态识别系统(目前数据集大小124人,准确率96.5%)

前言

       本文章仅仅提供一种自认为比较科学的方式去实现多人步态识别,如果对多人步态识别感兴趣,却又不知道如何实现的话,这篇文章将会有莫大的帮助。以下方法作者皆实验过是可行的方案。


技术清单

 


· Yolov5 
        · DeepSort
        · Segementation/背景减除法
        · GaitSet
        · CASIA-B


Yolov5+DeepSort


1dc618a0ed9580ce8bfa6facb208c08f.png

        yolov5用于目标检测,DeepSort使用卡尔曼滤波与匈牙利算法,利用目标检测所获得的bbox作为输入实现行人追踪。给每个单独的行人打出专属ID。这样可以识别出下一帧图片的人是上一帧图片中哪个人,或者说这一帧的人下一帧移动到哪个位置去了。



行人追踪onnx成品


Segementation/背景减除法


        此方法是用来获取剪影图的,具体在GaitSet中有所介绍。


20191105100746502.gif


GaitSet


基本原理:


          本步态识别系统主要基于GaitSet模型进行实现的。


介绍:Gaitset是具有泛化能力的, 这一点和图像分类网络完全不一样,Gaitset不是学训练集中人的步态特征,而是学习提取步态特征的能力,也就是如何在一堆人里(数据库里)找到与探针最相近的那个数据。所以正在使用的时候,数据库是随时可以改变且不需要再次训练的。


损失函数(三元组损失函数Triplet Loss):


  最小化锚点和具有相同身份的正样本之间的距离,最小化锚点和具有不同身份的负样本之间的距离。

1dc618a0ed9580ce8bfa6facb208c08f.png

(Triplet Loss的目标:Triplet Loss的目标是使得相同标签的特征在空间位置上尽量靠近,同时不同标签的特征在空间位置上尽量远离,同时为了不让样本的特征聚合到一个非常小的空间中要求对于同一类的两个正例和一个负例,负例应该比正例的距离至少远margin)


剪影图:


    我们对每一个包含人物的64*64像素的图像裁剪后进行cv2图像处理,使其处理成只包含人物轮廓黑白剪影图,这个工作是图像显著化处理和语义分割的简化版.


     深度学习推荐方法:语义分割:


     机器学习推荐方法:背景减除法


步态特征:


          非连续不相关,是一个人30张步态图像中任取5张做为代表为消除其被遮挡或者剪影图裁剪有误的误差.

5d4c6812c8535adbb050f4ddf2e1bce8.png


外形混合步态识别:


1dc618a0ed9580ce8bfa6facb208c08f.png


       步态识别是需要对数据集进行归类,如A人为A人集合,B人为B人集合,这样的输入顺序,但是这与摄像头(video)经过YOLOV5部分读入的人物信息不一致的,实际上读入的信息是 第一帧:甲,乙,丙。第二帧:甲,乙,丙,......我们先要判断出每一帧甲乙丙等三幅图下和ABC等人的对应关系,如甲:B,乙:A,丙:C(不一定是顺序对应)然后再对每一帧出现的A,B,C等进行归类.如A人集合,B人集合,C人集合. 然后得到对应每人的集合后,并且假设每个人的集合的大小都大于10,即每个人都有10张以上的图片后,再将其投入Gaitset网络,这样就从人—图片字典,变成了人—特征向量字典,我们先得到目标人物步态的特征向量,通过余弦相似度与其余的每个人都进行计算,最终得到相似度最为显著的为依照目标人物步态的步态试别.(即相似度不仅要与目标人物步态特征向量相似度高,还要在实时系统中随帧数增加变化中最为稳定,这里采用假设检验,3sigma原则,即计算相对于其他人与目标人物的相似度后得出相似度μ+3sigma,目标人物再次出现的相似度要>μ+3sigma)


     深度学习推荐方法:多目标跟踪算法ByteSort/DeepSort。


迁移学习:


       我们运用的数据集是CASIA-B包括15004个步态序列,在gaitset网络中训练完成之后,将其网络训练好的参数作为迁移学习的初始参数再进行微调.          


 5d4c6812c8535adbb050f4ddf2e1bce8.png


【output】:


与目标步态相似度显著表:以下的表对应:


第一部分:当前存在的人物步态字典中每个人与测试目标的相似度(欧氏距离)字典


第二部分:目标与测试目标1的相似度,目标及其其相似度的假设检验值


1dc618a0ed9580ce8bfa6facb208c08f.png


CASIA-B数据集


        CASIA-B是一个比较经典的步态识别数据集(2006),其包含124个目标(subjects),每个目标有3种步行情况和11个角度。3种步行情况指“normal(NM)”、“walking with bag(BG)”、“wearing coar or jacket(CL)”,其中每个目标有6段NM序列、2段BG序列、2段CL序列。11个角度是指0°、18°、…、180°。因此,这124个目标中,每个目标都有11×(6+2+2)=110段序列。经我观察,每段序列长度不定,一般80~100帧。

5d4c6812c8535adbb050f4ddf2e1bce8.png

目录
打赏
0
0
0
1
204
分享
相关文章
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
眼疾识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了4种常见的眼疾图像数据集(白内障、糖尿病性视网膜病变、青光眼和正常眼睛) 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,实现用户上传一张眼疾图片识别其名称。
238 5
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
PyTorch生态系统中的连续深度学习:使用Torchdyn实现连续时间神经网络
神经常微分方程(Neural ODEs)是深度学习领域的创新模型,将神经网络的离散变换扩展为连续时间动力系统。本文基于Torchdyn库介绍Neural ODE的实现与训练方法,涵盖数据集构建、模型构建、基于PyTorch Lightning的训练及实验结果可视化等内容。Torchdyn支持多种数值求解算法和高级特性,适用于生成模型、时间序列分析等领域。
205 77
PyTorch生态系统中的连续深度学习:使用Torchdyn实现连续时间神经网络
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
害虫识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了12种常见的害虫种类数据集【"蚂蚁(ants)", "蜜蜂(bees)", "甲虫(beetle)", "毛虫(catterpillar)", "蚯蚓(earthworms)", "蜚蠊(earwig)", "蚱蜢(grasshopper)", "飞蛾(moth)", "鼻涕虫(slug)", "蜗牛(snail)", "黄蜂(wasp)", "象鼻虫(weevil)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Djan
53 1
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
蘑菇识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了9种常见的蘑菇种类数据集【"香菇(Agaricus)", "毒鹅膏菌(Amanita)", "牛肝菌(Boletus)", "网状菌(Cortinarius)", "毒镰孢(Entoloma)", "湿孢菌(Hygrocybe)", "乳菇(Lactarius)", "红菇(Russula)", "松茸(Suillus)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,
108 11
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
基于yolov4深度学习网络的排队人数统计系统matlab仿真,带GUI界面
本项目基于YOLOv4深度学习网络,利用MATLAB 2022a实现排队人数统计的算法仿真。通过先进的计算机视觉技术,系统能自动、准确地检测和统计监控画面中的人数,适用于银行、车站等场景,优化资源分配和服务管理。核心程序包含多个回调函数,用于处理用户输入及界面交互,确保系统的高效运行。仿真结果无水印,操作步骤详见配套视频。
73 18
利用深度学习进行系统健康监控:智能运维的新纪元
利用深度学习进行系统健康监控:智能运维的新纪元
149 30
基于Python深度学习果蔬识别系统实现
本项目基于Python和TensorFlow,使用ResNet卷积神经网络模型,对12种常见果蔬(如土豆、苹果等)的图像数据集进行训练,构建了一个高精度的果蔬识别系统。系统通过Django框架搭建Web端可视化界面,用户可上传图片并自动识别果蔬种类。该项目旨在提高农业生产效率,广泛应用于食品安全、智能农业等领域。CNN凭借其强大的特征提取能力,在图像分类任务中表现出色,为实现高效的自动化果蔬识别提供了技术支持。
基于Python深度学习果蔬识别系统实现
深度学习在安全事件检测中的应用:守护数字世界的利器
深度学习在安全事件检测中的应用:守护数字世界的利器
106 22
深度学习在故障检测中的应用:从理论到实践
深度学习在故障检测中的应用:从理论到实践
262 6
深度学习在流量监控中的革命性应用
深度学习在流量监控中的革命性应用
89 40

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等