PaddlePaddle / PaddleDetection

Object Detection toolkit based on PaddlePaddle. It supports object detection, instance segmentation, multiple object tracking and real-time multi-person keypoint detection.
Apache License 2.0
12.43k stars 2.85k forks source link

车牌识别所用到的模型可以转为onnx,然后转为tensorrt所用到的engine模型吗? #7410

Open lgy2830 opened 1 year ago

lgy2830 commented 1 year ago

问题确认 Search before asking

请提出你的问题 Please ask your question

在车牌识别时,infer_cfg_ppvehicle.yml中用到了下边几个模型; DET: model_dir: https://bj.bcebos.com/v1/paddledet/models/pipeline/mot_ppyoloe_l_36e_ppvehicle.zip MOT: model_dir: https://bj.bcebos.com/v1/paddledet/models/pipeline/mot_ppyoloe_l_36e_ppvehicle.zip VEHICLE_PLATE:

det_model_dir: https://bj.bcebos.com/v1/paddledet/models/pipeline/ch_PP-OCRv3_det_infer.tar.gz

rec_model_dir: https://bj.bcebos.com/v1/paddledet/models/pipeline/ch_PP-OCRv3_rec_infer.tar.gz VEHICLE_ATTR: model_dir: https://bj.bcebos.com/v1/paddledet/models/pipeline/vehicle_attribute_model.zip 那么这四个模型都可以转为onnx,然后再转为engine模型吗? mot_ppyoloe_l_36e_ppvehicle这个我转为onnx,然后再转为engine模型了, ch_PP-OCRv3_det_infe和ch_PP-OCRv3_rec_infer我转换不了

wangxinxin08 commented 1 year ago

关于PP-OCRv3的问题可以到PaddleOCR下面提问哈

lgy2830 commented 1 year ago

mot_ppyoloe_l_36e_ppvehicle这个模型转换的也有问题,有能解决的吗?

wangxinxin08 commented 1 year ago

mot_ppyoloe_l_36e_ppvehicle这个模型转换的也有问题,有能解决的吗?

有什么问题?

lgy2830 commented 1 year ago

这个模型,我用压缩包解压出来的与我用readme中用命令输出出来的模型根本不是一个。压缩包解压出来的用来预测的话,会报错,我也用netorn看了,两个模型根本不是一个。那么转换出来的onnx也肯定不是一个了

lgy2830 commented 1 year ago

这个是压缩包的链接: model_dir: https://bj.bcebos.com/v1/paddledet/models/pipeline/mot_ppyoloe_l_36e_ppvehicle.zip

这个是模型导出命令: python tools/export_model.py -c configs/ppvehicle/mot_ppyoloe_l_36e_ppvehicle.yml -o weights=https://paddledet.bj.bcebos.com/models/mot_ppyoloe_l_36e_ppvehicle.pdparams trt=True exclude_nms=True

两个是一个模型,可是打开看,就是不是一个东西

wangxinxin08 commented 1 year ago

其实是一个模型,只不过导出的方式不同而已,压缩包的导出的方式使用了-o TestReader.fuse_normalize=True

zhiboniu commented 1 year ago

应该是同一个,导出的时候用了'-o TestReader.fuse_normalize=True',没有'exclude_nms=True'

lgy2830 commented 1 year ago

mot_ppyoloe_l_36e_ppvehicle 这个模型是集检测与追踪于一体的模型,我现在用它实现了c++的车辆检测,那么我要实现追踪,该怎么办呢?追踪用的也是这个模型。我是不是只用读这个模型一次,先做车辆检测,然后拿着车辆检测的结果再把追踪的代码写一下?然后输出最终结果?我现在有检测的代码已经跑通了,追踪的代码应该也跑通了,但是两个是属于两个main函数的,我该怎么把两个合起来。检测的输出是目标的类别,置信度,四个顶点坐标;可,追踪的输入是目标的id,置信度,四个顶点坐标。