该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

在 NVIDIA Jetson 上实现口罩识别

  1. 数据集:共600张图片,里面包含多个戴口罩/不戴口罩的人
  2. 用 Yolov4-Tiny深度神经网络进行模型训练与推理识别

点击下方 GIF 图片,可以看到完整的最终效果演示

IMAGE ALT TEXT

准备工作:

  1. https://github.com/AlexeyAB/darknet 下载Darknet框架并安装
  2. 点击 https://pjreddie.com/media/files/darknet53.conv.74 下载 darknet53.conv.74模型(153MB)到darknet安装目录中
  3. 执行以下指令,将本项目到克隆到您的Jetson设备上

    git clone https://gitee.com/gpus/maskDetection_jetson

执行步骤:

  1. 进入 maskDetection_jetson 目录

    cd maskDetection_jetson

  2. 解压缩 dataset.zip ,最终应包含 1,230 个文件(615张图片+615个.xml标注文件)

    unzip dataset.zip

  3. 执行下面指令,会协助您执行三件工作:
    • 将所有 .xml 格式的标注,转换成 darkent 可识别的 .txt 格式
    • 建立模型训练的图像列表 train.txt ,需要用完整路径
    • 建立模型训练的测试列表 test.txt ,需要用完整路径

    ./0_dataDispatch.py

  4. 修改 mask.data 文件,提供每个设定文件的正确绝对路径
  5. 从 Darknet 目录(根据实际路径调整指令)复制yolov4-tiny-custom.cfg 到本目录
    • 这里可以选择不同的 .cfg 设定文件,修改变量的方式雷同

    cp ~/darknet/cfg/yolov4-tiny-custom.cfg .

  6. 修改以下三个变量值:
    • 第 220行 与 269行:classes=80 改成 classes=2
    • 第 212行 与 263行:filters=255 改成 filters=21
    • 第 20行:max_batches=500200 改成 max_batches=5000,便于在 Jetson 直接模型训练
  7. 要在Jetson上执行模型训练,请修改的 batch与subdivisions 的值,如下:
    • batch=16, subdivisions=2
  8. 修改 train_mask.sh 里面 DARKNET 与 PRJ_PATH 的绝对路径,例如
    • export DARKNET=$HOME/darknet
    • export PRJ_PATH=$HOME/maskDetection_jetson
    • 存档后执行下面指令进行模型训练,在 Jetson Nano 4GB 下大约 90分钟

    ./1_trainMask.sh

  9. 训练好模型之后,依旧需要用 yolov4-tiny-custom.cfg 配置文件进行推理计算,修改下面两处参数
    • batch=1, subdivisions=1
    • 存档后执行下面指令进行推理

    ./2_demoMask.sh

    • 请自行调整 2_demoMash.sh 脚本最后的数据源,可以是视频、CSI摄像头、USB摄像头

空文件

简介

在Jetson Nano上用YOLO实现口罩识别应用 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化