Skip to content

Latest commit

 

History

History
117 lines (90 loc) · 5.24 KB

ppvehicle_attribute.md

File metadata and controls

117 lines (90 loc) · 5.24 KB

English | 简体中文

PP-Vehicle属性识别模块

车辆属性识别在智慧城市,智慧交通等方向具有广泛应用。在PP-Vehicle中,集成了车辆属性识别模块,可识别车辆颜色及车型属性的识别。

任务 算法 精度 预测速度 下载链接
车辆检测/跟踪 PP-YOLOE mAP 63.9 38.67ms 预测部署模型
车辆属性识别 PPLCNet 90.81 7.31 ms 预测部署模型

注意:

  1. 属性模型预测速度是基于NVIDIA T4, 开启TensorRT FP16得到。模型预测速度包含数据预处理、模型预测、后处理部分。
  2. 关于PP-LCNet的介绍可以参考PP-LCNet介绍,相关论文可以查阅PP-LCNet paper
  3. 属性模型的训练和精度测试均基于VeRi数据集
  • 当前提供的预训练模型支持识别10种车辆颜色及9种车型,同VeRi数据集,具体如下:
# 车辆颜色
- "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. 图片输入时,启动命令如下(更多命令参数说明,请参考快速开始-参数说明):
# 预测单张图片文件
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
  1. 视频输入时,启动命令如下:
#预测单个视频文件
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
  1. 若修改模型路径,有以下两种方式:

    • 方法一:./deploy/pipeline/config/infer_cfg_ppvehicle.yml下可以配置不同模型路径,属性识别模型修改VEHICLE_ATTR字段下配置
    • 方法二:直接在命令行中增加-o,以覆盖配置文件中的默认模型路径:
python deploy/pipeline/pipeline.py --config deploy/pipeline/config/infer_cfg_ppvehicle.yml \
                                                   --video_file=test_video.mp4 \
                                                   --device=gpu \
                                                   -o VEHICLE_ATTR.model_dir=output_inference/vehicle_attribute_infer

测试效果如下:

方案说明

车辆属性识别模型使用了PaddleClas 的超轻量图像分类方案(PULC,Practical Ultra Lightweight image Classification)。关于该模型的数据准备、训练、测试等详细内容,请见PULC 车辆属性识别模型.

车辆属性识别模型选用了轻量级、高精度的PPLCNet。并在该模型的基础上,进一步使用了以下优化方案:

  • 使用SSLD预训练模型,在不改变推理速度的前提下,精度可以提升约0.5个百分点
  • 融合EDA数据增强策略,精度可以再提升0.52个百分点
  • 使用SKL-UGI知识蒸馏, 精度可以继续提升0.23个百分点