项目简介
本项目是基于Python和深度学习构建的面部口罩检测与追踪系统。利用开源的YOLOX模型开展目标检测,同时集成卡尔曼滤波器和特征匹配等算法实现目标追踪。项目配备了训练模型脚本、数据预处理工具、模型转换工具以及视频数据处理工具。
项目的主要特性和功能
- 目标检测:借助YOLOX模型检测面部口罩,可识别佩戴和未佩戴口罩的人员。
- 目标追踪:集成卡尔曼滤波器与特征匹配算法,实现多目标追踪,对视频行人持续追踪。
- 数据预处理:提供生成自定义数据集的工具,能从视频数据集检测人,并保存检测图像和对应注解。
- 模型转换:提供脚本将PyTorch模型转换为TensorRT模型,提升模型推理效率。
- 工具类:包含编辑和配置参数的工具类,支持BEV参数、触发器描述设置,通过命令行参数解析器处理用户输入。
- 视频处理:提供处理视频文件的脚本,可提取特定帧并保存为图像文件,支持按特定间隔提取帧。
安装使用步骤
1. 环境准备
确保系统满足以下要求: - Python >= 3.8 - CUDA (测试版本:10.2 和 11.3) - FFmpeg 或 Gstreamer
安装必要的Python库:
bash
cd BRA
python -m venv .dev-env
source .dev-env/bin/activate # 在Windows上使用 .dev-env/Scripts/activate
python -m pip install -r requirement.txt
安装PyTorch和TorchVision:
bash
python -m pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 --extra-index-url https://download.pytorch.org/whl/cu113
2. 准备数据和模型
下载预训练模型权重: - bytetrack_m_mot17.pth.tar - FMD_m1k.pth
准备配置文件:
bash
cp worker/worker3_conf.yaml worker/custom_worker_conf.yaml
vim worker/custom_worker_conf.yaml
3. 运行项目
使用以下命令运行项目:
bash
cd work
python ./work_dev.py -vin 输入影像 -vout 输出影像 -csv CSV檔案 -wc work-config -vc view-config --legacy
4. 高级配置
如果需要使用TensorRT进行模型加速,请参考以下步骤:
bash
python ./tools/trt.py -f $EXP位置 -c $權重位置 -b $最大批次大小 -P $生成檔案的前綴名稱 -C 儲存資料夾 -w 工作區域大小
注意事项
- 确保安装了所有依赖的Python库,包括cv2、argparse、yaml、torch等。
- 确保数据集的格式符合项目要求,包括图像和标注文件的格式。
- 根据实际需求调整模型配置参数,如模型类型、批量大小、设备数量等。
- 注意处理可能出现的错误和异常,确保程序的健壮性。
- 在程序结束时,确保释放所有打开的文件和流,避免资源泄漏。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】