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.79k stars 2.89k forks source link

paddle detection 里的ppdet/modeling/reid怎么用 #3680

Closed Mr-ind1fferent closed 2 years ago

Mr-ind1fferent commented 3 years ago

如题

nemonameless commented 3 years ago

如题

这个是作为多目标跟踪的reid部分或者类似reid功能的部分的代码。fairmot_embedding_head.py和jde_embedding_head.py顾名思义是fairmot jde的和检测并行的reid分支,pyramidal_embedding.py是deepsort的,采用PCBPyramid (PCB + Pyramidal),resnet.py是pyramidal_embedding的主干网络,和检测的backbone略有不同,PCBPyramid ResNet101是paddleclas训好的精度极高的行人reid模型,所以可以直接用于deepsort的行人跟踪。

Mr-ind1fferent commented 3 years ago

如题

这个是作为多目标跟踪的reid部分或者类似reid功能的部分的代码。fairmot_embedding_head.py和jde_embedding_head.py顾名思义是fairmot jde的和检测并行的reid分支,pyramidal_embedding.py是deepsort的,采用PCBPyramid (PCB + Pyramidal),resnet.py是pyramidal_embedding的主干网络,和检测的backbone略有不同,PCBPyramid ResNet101是paddleclas训好的精度极高的行人reid模型,所以可以直接用于deepsort的行人跟踪。

该如何使用pyramidal这个py文件实现行人reid

nemonameless commented 3 years ago

如题

这个是作为多目标跟踪的reid部分或者类似reid功能的部分的代码。fairmot_embedding_head.py和jde_embedding_head.py顾名思义是fairmot jde的和检测并行的reid分支,pyramidal_embedding.py是deepsort的,采用PCBPyramid (PCB + Pyramidal),resnet.py是pyramidal_embedding的主干网络,和检测的backbone略有不同,PCBPyramid ResNet101是paddleclas训好的精度极高的行人reid模型,所以可以直接用于deepsort的行人跟踪。

该如何使用pyramidal这个py文件实现行人reid

这部分是网络主体。可以参考 PaddleClas的reid模型,比如https://github.com/PaddlePaddle/PaddleClas/blob/develop/docs/zh_CN/application/vehicle_recognition.md

Mr-ind1fferent commented 3 years ago

如题

这个是作为多目标跟踪的reid部分或者类似reid功能的部分的代码。fairmot_embedding_head.py和jde_embedding_head.py顾名思义是fairmot jde的和检测并行的reid分支,pyramidal_embedding.py是deepsort的,采用PCBPyramid (PCB + Pyramidal),resnet.py是pyramidal_embedding的主干网络,和检测的backbone略有不同,PCBPyramid ResNet101是paddleclas训好的精度极高的行人reid模型,所以可以直接用于deepsort的行人跟踪。

该如何使用pyramidal这个py文件实现行人reid

这部分是网络主体。可以参考 PaddleClas的reid模型,比如https://github.com/PaddlePaddle/PaddleClas/blob/develop/docs/zh_CN/application/vehicle_recognition.md

可以更改为清华大学的行人reid数据集完成行人reid吗

nemonameless commented 3 years ago

做reid的思路是基本统一的,换数据集从头训应该是可以的。

Mr-ind1fferent commented 3 years ago

有具体的readme介绍吗,如何训练

nemonameless commented 2 years ago

请参照PaddleClas 去训练reid。 以pplcent为例:

https://github.com/PaddlePaddle/PaddleClas/blob/develop/ppcls/configs/GeneralRecognition/GeneralRecognition_PPLCNet_x2_5.yaml#L26 可以看这个配置文件,本质上ppdet里的reid是从clas移植过去的,就是backbone+neck复制过去,neck就是在backbone的特征flatten后再加一层FC变到128或512等维度

原版pplcnet网络在这里 https://github.com/PaddlePaddle/PaddleClas/blob/release/2.3/ppcls/arch/backbone/legendary_models/pp_lcnet.py paddleclas

ppdet里的pplcnet reid在这里 https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.3/ppdet/modeling/reid/pplcnet_embedding.py