在全志V853平台上成功部署深度学习步态识别算法

2024-03-05 11:12

本文主要是介绍在全志V853平台上成功部署深度学习步态识别算法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

北理工通信课题组辛喆同学在本科毕业设计《基于嵌入式系统的步态识别的研究》中,成功将深度步态识别算法GaitSet移植到全志V853开发板上。本研究在CASIA-B数据集上进行测试,正常行走状态下该系统的步态识别准确率达到了94.9%,背包行走和穿外套行走条件下识别准确率分别达到了87.9%与71.0%。

在这里插入图片描述

步态识别作为一种新兴的生物识别方式,相比于人脸识别、指纹识别等方式,具有易于适应环境、无法伪装等优点。

本文所设计的步态识别系统,搭建在全志V853开发板上,充分利用板载外设、CPU与NPU,实现了嵌入式系统上的实时步态识别系统。

在这里插入图片描述

具体来说,系统所采用的深度学习算法在PC端进行训练,得到的Pytorch 模型通过模型转换工具转换为V853 NPU所能运行的NB模型,模型的推理在NPU上进行。系统的整体运行过程分为前处理、模型推理、后处理与UI显示四大部分。

在这里插入图片描述

本系统所采用的深度学习算法绝大部分算子在板载NPU上进行推理,小部分算子在板载CPU上运算得到结果。前处理与后处理过程均在板载CPU上进行,分别采用OpenCV与Eigen运算库,其中前处理从板载摄像头采集的视频中提取步态轮廓,并将其裁剪拼接后作为NPU模型的输入数据,后处理将NPU模型运行结束得到的输出数据进行补充运算并进行特征对比,以实现身份鉴定。UI界面的显示,通过Qt生成的应用程序实现。

本研究在CASIA-B数据集上测试了NB模型的步态识别准确率。CASIA-B是一个大规模、多视角的步态识别数据集,共包含124个样本,每个样本都有10种步态序列,分为6个正常行走的序列(NM),2个身着长外套行走的序列(CL)以及2个佩戴背包行走的序列(BG)。CASIA-B注重视角的变化,在每个行走序列中又包含了11个不同的角度。将数据集中的74个样本作为训练样本,剩下的50个样本作为测试样本。

在这里插入图片描述

在测试集中,使用每个样本的前4个正常行走的序列作为gallery集,为了研究在不同人体轮廓下系统的性能表现,划分了3个probe集,分别为正常行走序列的最后2个序列、2个身着长外套行走的序列和2个佩戴书包行走的序列。考虑到角度对识别效果的影响,本研究在每一个角度都进行了单独测试,以验证不同角度下识别的正确率。

根据上述测试数据制作了下表,表中包含了本文设计的步态识别系统GaitCircle使用的NB模型与GaitSet模型针对相同条件下的识别准确率数据。其中NM表示正常行走状态、BG表示背包行走,CL表示穿外套行走。

在这里插入图片描述

除了针对步态识别准确率进行了测试,本研究也对步态识别的实时性进行了测试。对于单人步态识别,前处理的处理速度达到了每帧58ms,模型推理运行时间仅为77ms,后处理的运行时间为0.73s。

最后,本研究还进行了实时识别测试,实时识别测试是利用V853开发板上的摄像头拍摄录像,并实时进行步态识别输出行人身份的过程。在进行测试之前,V853 Tina Linux中设置了开机自启动步态识别程序,主要通过在/etc/profile文件添加运行步态识别程序的命令实现。以下视频即为实时步态识别测试的过程,已经提前在步态信息库中录入了20个人的步态特征。

这篇关于在全志V853平台上成功部署深度学习步态识别算法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/776322

相关文章

python管理工具之conda安装部署及使用详解

《python管理工具之conda安装部署及使用详解》这篇文章详细介绍了如何安装和使用conda来管理Python环境,它涵盖了从安装部署、镜像源配置到具体的conda使用方法,包括创建、激活、安装包... 目录pytpshheraerUhon管理工具:conda部署+使用一、安装部署1、 下载2、 安装3

k8s部署MongDB全过程

《k8s部署MongDB全过程》文章介绍了如何在Kubernetes集群中部署MongoDB,包括环境准备、创建Secret、创建服务和Deployment,并通过Robo3T工具测试连接... 目录一、环境准备1.1 环境说明1.2 创建 namespace1.3 创建mongdb账号/密码二、创建Sec

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

五大特性引领创新! 深度操作系统 deepin 25 Preview预览版发布

《五大特性引领创新!深度操作系统deepin25Preview预览版发布》今日,深度操作系统正式推出deepin25Preview版本,该版本集成了五大核心特性:磐石系统、全新DDE、Tr... 深度操作系统今日发布了 deepin 25 Preview,新版本囊括五大特性:磐石系统、全新 DDE、Tree

Python中的随机森林算法与实战

《Python中的随机森林算法与实战》本文详细介绍了随机森林算法,包括其原理、实现步骤、分类和回归案例,并讨论了其优点和缺点,通过面向对象编程实现了一个简单的随机森林模型,并应用于鸢尾花分类和波士顿房... 目录1、随机森林算法概述2、随机森林的原理3、实现步骤4、分类案例:使用随机森林预测鸢尾花品种4.1

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

Python项目打包部署到服务器的实现

《Python项目打包部署到服务器的实现》本文主要介绍了PyCharm和Ubuntu服务器部署Python项目,包括打包、上传、安装和设置自启动服务的步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录一、准备工作二、项目打包三、部署到服务器四、设置服务自启动一、准备工作开发环境:本文以PyChar

centos7基于keepalived+nginx部署k8s1.26.0高可用集群

《centos7基于keepalived+nginx部署k8s1.26.0高可用集群》Kubernetes是一个开源的容器编排平台,用于自动化地部署、扩展和管理容器化应用程序,在生产环境中,为了确保集... 目录一、初始化(所有节点都执行)二、安装containerd(所有节点都执行)三、安装docker-

在Ubuntu上部署SpringBoot应用的操作步骤

《在Ubuntu上部署SpringBoot应用的操作步骤》随着云计算和容器化技术的普及,Linux服务器已成为部署Web应用程序的主流平台之一,Java作为一种跨平台的编程语言,具有广泛的应用场景,本... 目录一、部署准备二、安装 Java 环境1. 安装 JDK2. 验证 Java 安装三、安装 mys

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一