diff --git a/deploy/pipeline/docs/images/vehicle_attribute.gif b/deploy/pipeline/docs/images/vehicle_attribute.gif new file mode 100644 index 0000000000000000000000000000000000000000..b2ed19934d5cab5229a732ee9cdb45458ab0e8a1 Binary files /dev/null and b/deploy/pipeline/docs/images/vehicle_attribute.gif differ diff --git a/deploy/pipeline/docs/tutorials/PPVehicle_QUICK_STARTED.md b/deploy/pipeline/docs/tutorials/PPVehicle_QUICK_STARTED.md index 2e4ff20bcb8b7cec16675bd415ebc9e2e3d83f76..e559ef3087cb687baddbe011175f22b3705cc583 100644 --- a/deploy/pipeline/docs/tutorials/PPVehicle_QUICK_STARTED.md +++ b/deploy/pipeline/docs/tutorials/PPVehicle_QUICK_STARTED.md @@ -123,7 +123,7 @@ PP-Vehicle v2整体方案如下图所示: - 详细文档参考[OC-SORT](../../../../configs/mot/ocsort)和[检测跟踪文档](ppvehicle_mot.md) ### 属性识别 -- 使用PP-YOLOE + OC-SORT跟踪车辆 +- 使用PaddleClas提供的特色模型PP-LCNet,实现对车辆颜色及车型属性的识别。 - 详细文档参考[属性识别](ppvehicle_attribute.md) ### 车牌识别 diff --git a/deploy/pipeline/docs/tutorials/ppvehicle_attribute.md b/deploy/pipeline/docs/tutorials/ppvehicle_attribute.md index 3f3740c587076571f393e5fc7ad47173504dfa9e..46da107f2d30dec357b458da591f66371af1476a 100644 --- a/deploy/pipeline/docs/tutorials/ppvehicle_attribute.md +++ b/deploy/pipeline/docs/tutorials/ppvehicle_attribute.md @@ -1,20 +1,116 @@ # PP-Vehicle属性识别模块 -【应用介绍】 +车辆属性识别在智慧城市,智慧交通等方向具有广泛应用。在PP-Vehicle中,集成了车辆属性识别模块,可识别车辆颜色及车型属性的识别。 -【模型下载】 +| 任务 | 算法 | 精度 | 预测速度 | 下载链接| +|-----------|------|-----------|----------|---------------| +| 车辆检测/跟踪 | PP-YOLOE | - | - | [预测部署模型](https://bj.bcebos.com/v1/paddledet/models/pipeline/mot_ppyoloe_l_36e_ppvehicle.zip) | +| 车辆属性识别 | PPLCNet | 90.81 | 2.36 ms | [预测部署模型](https://bj.bcebos.com/v1/paddledet/models/pipeline/vehicle_attribute_model.zip) | + + +注意: +1. 属性模型预测速度是基于Intel(R) Xeon(R) Gold 6148 CPU @ 2.40GHz 测试得到,开启 MKLDNN 加速策略,线程数为10。 +2. 关于PP-LCNet的介绍可以参考[PP-LCNet](https://github.com/PaddlePaddle/PaddleClas/blob/release/2.4/docs/zh_CN/models/PP-LCNet.md)介绍,相关论文可以查阅[PP-LCNet paper](https://arxiv.org/abs/2109.15099)。 +3. 属性模型的训练和精度测试均基于[VeRi数据集](https://www.v7labs.com/open-datasets/veri-dataset)。 + + +- 当前提供的预训练模型支持识别10种车辆颜色及9种车型,同VeRi数据集,具体如下: + +```yaml +# 车辆颜色 +- "yellow" +- "orange" +- "green" +- "gray" +- "red" +- "blue" +- "white" +- "golden" +- "brown" +- "black" + +# 车型 +- "sedan" +- "suv" +- "van" +- "hatchback" +- "mpv" +- "pickup" +- "bus" +- "truck" +- "estate" +``` ## 使用方法 -【配置项说明】 +### 配置项说明 + +配置文件中与属性相关的参数如下: +``` +VEHICLE_ATTR: + model_dir: output_inference/vehicle_attribute_infer/ # 车辆属性模型调用路径 + batch_size: 8 # 模型预测时的batch_size大小 + color_threshold: 0.5 # 颜色属性阈值,需要置信度达到此阈值才会确定具体颜色,否则为'Unknown‘ + type_threshold: 0.5 # 车型属性阈值,需要置信度达到此阈值才会确定具体属性,否则为'Unknown‘ + enable: False # 是否开启该功能 +``` + +### 使用命令 + +1. 从模型库下载`车辆检测/跟踪`, `车辆属性识别`两个预测部署模型并解压到`./output_inference`路径下;默认会自动下载模型,如果手动下载,需要修改模型文件夹为模型存放路径。 +2. 修改配置文件中`VEHICLE_ATTR`项的`enable: True`,以启用该功能。 +3. 图片输入时,启动命令如下(更多命令参数说明,请参考[快速开始-参数说明](./PPVehicle_QUICK_STARTED.md)): + +```bash +# 预测单张图片文件 +python deploy/pipeline/pipeline.py --config deploy/pipeline/config/infer_cfg_ppvehicle.yml \ + --image_file=test_image.jpg \ + --device=gpu + +# 预测包含一张或多张图片的文件夹 +python deploy/pipeline/pipeline.py --config deploy/pipeline/config/infer_cfg_ppvehicle.yml \ + --image_dir=images/ \ + --device=gpu +``` + +4. 视频输入时,启动命令如下: + +```bash +#预测单个视频文件 +python deploy/pipeline/pipeline.py --config deploy/pipeline/config/infer_cfg_ppvehicle.yml \ + --video_file=test_video.mp4 \ + --device=gpu + +#预测包含一个或多个视频的文件夹 +python deploy/pipeline/pipeline.py --config deploy/pipeline/config/infer_cfg_ppvehicle.yml \ + --video_dir=test_videos/ \ + --device=gpu +``` + +5. 若修改模型路径,有以下两种方式: + + - 方法一:`./deploy/pipeline/config/infer_cfg_ppvehicle.yml`下可以配置不同模型路径,属性识别模型修改`VEHICLE_ATTR`字段下配置 + - 方法二:命令行中增加--model_dir修改模型路径: + +```bash +python deploy/pipeline/pipeline.py --config deploy/pipeline/config/infer_cfg_ppvehicle.yml \ + --video_file=test_video.mp4 \ + --device=gpu \ + --model_dir vehicle_attr=output_inference/vehicle_attribute_infer +``` -【使用命令】 +测试效果如下: -【效果展示】 +