在Jetson Nano上使用NVIDIA Deepstream进行高性能视频分析。使用NVIDIA TLT进行培训。
安全是建筑和相关危险工作场所最重要的方面。个人防护装备(PPE)是防范事故的第一道防线。职业安全和健康管理局(OSHA)希望各行业监督工作场所正确的个人防护装备(PPE)的使用情况。
业界很难监察大型建筑地盘使用个人防护装备的情况。然而,由于闭路电视摄像机监视着大部分区域,我们可以利用现有的摄像机体系结构来使用计算机视觉对人进行实时安全检测。
通过构建我们的高性能管道,我们可以在本地管理多个摄像头流,从而确保数据隐私标准,同时提供实时警报和分析。
本技术博客将指导您针对各种使用案例运行PPE-Detection应用程序,并允许您针对不同的安全设备培训您的自定义模型。
引言
一款基于Jetson的DeepStream应用程序,用于检测、跟踪和统计在危险地点穿行的人员,无论是否携带个人防护装备。
该应用程序是在ubuntu 18.04系统中使用Nvidia Cuda 10.2+CuDNN 8.05、TensorRT 7.0.0和Deepstream 5.0编译的。
在带有Jetpack 4.4的Jetson Nano和TX2上测试
应用程序
此回购包含针对不同用例的两个应用程序。
1.PPE-主要应用程序
当一个人越过一条线时,检测到以下标签:1)头盔2)有头盔的人3)没有头盔的人
在跨越用户定义的线/区域的人员实例中,该人员被计为带头盔的Person_或不带头盔的Person_Without_Helmet。
2.PPE-辅助应用
此应用程序适用于仅具有PPE对象数据的情况。并不是所有的时间我们都能在有/没有人的情况下获得个人防护装备的图像。
它使用Peoplnetv2作为主推理机,使用我们的自定义模型来检测头盔作为辅助推理机。
- 使用Peoplenetv2检测到人。
- 检测到的区域被传递到用于检测头盔的二级推理引擎。
- 在一个人过马路的情况下,如果二级推理检测到头盔,那么它就被算作带头盔的人。
- 在一个人过马路的情况下,如果二级推理没有检测到头盔,那么它就被算作没有头盔的人。
Deepstream设置
有关设置杰森设备的文档,请访问(https://docs.nvidia.com/jetson/jetpack/install-jetpack/index.html).https://docs.nvidia.com/jetson/jetpack/install-jetpack/index.html
1.安装系统依赖项
2.安装Deepstream
下载[Deepstream 5.0](https://developer.nvidia.com/assets/Deepstream/5.0/ga/secure/deepstream_sdk_5.0.1_amd64.deb)和runsudo apt install./
运行应用程序
克隆存储库。
Makefile:一个Makefile可以创建两个应用程序,您也可以使用各自文件夹中的Makefile创建各自的应用程序。
运行PPE-PRIMARY应用程序。
运行PPE-辅助应用程序。
注意:如果您使用的是无头设备,请在configs/ppe_primiy.txt中禁用EGL接收器
测试结果
培训
该模型使用Detectnet_v2和Resnet18架构。
- 要训练模型,请跟随(https://github.com/Maouriyan/PPE-detection-TLT-training).添加更多数据集
- 安装依赖项和Docker ContainerOn Training Machine with NVIDIA GPU:
- 安装NVIDIA Docker Container:[Installation instructions](https://developer.nvidia.com/blog/gpu-containers-runtime/)[TLT Toolkit Requirements](https://docs.nvidia.com/metropolis/TLT/tlt-getting-started-guide/index.html#requirements)
- [使用Docker](https://ngc.nvidia.com/catalog/containers/nvidia:tlt-streamanalytics)运行迁移学习工具包
要运行应用程序,请更新https://github.com/Maouriyan/PPE-detection-deepstream中/Models中的模型https://github.com/Maouriyan/PPE-detection-deepstream
添加自定义类
要添加新数据,需要将数据集转换为Kitti格式,并将数据分别添加到/image和/labels文件夹
编辑/detectnet_v2/tlt_specs/detectnet_v2_train_resnet18_kitti.txt.若要添加自定义类,请执行以下操作。detectnet_v2 tlt_specs
TARGET_CLASS_MAPPING{key:“vest”value:“vest”}
现在是你们玩耍的时候了!下一步,您可以将此元数据附加到message broker并对其进行后处理。
引文
- https://ajna.ai/
- https://github.com/NVIDIA-AI-IOT/face-mask-detection
- https://github.com/AnshulSood11/PPE-Detection-YOLO-Deep_SORT
- https://developer.nvidia.com/deepstream-sdk
- https://www.osha.gov/
原创文章,作者:fendouai,如若转载,请注明出处:https://panchuang.net/2021/06/29/%e5%88%a9%e7%94%a8nvidia-deepstream%e5%9c%a8jetson-nano%e4%b8%8a%e6%a3%80%e6%b5%8bppe/