shenyi0220 / CP-Cluster

45 stars 3 forks source link

About implementation? #3

Closed David-19940718 closed 1 year ago

David-19940718 commented 2 years ago

Hi, thank u for your awesome job! Could u please tell me how to apply this technique to the yolov5 project? Or can u provide a demo tutorial? Thank you very much.

535484159 commented 2 years ago

i wanna know the implementation too! I'm going to use it in swin-transformer,is it possible?

shenyi0220 commented 2 years ago

Guys, thanks for interest in CP. I hope the deployment of CP will be more easier later if I'm able/allowed to merge that into mmcv later.

For the time being, to repro the accuracy improvement of CP(take yolov5 as example), I'd suggest you follow what I describe in the readme:

1) Please follow the section of "Integrate into MMCV" in readme, copy cp srcs to mmcv folder, and then replace the soft-nms API with CP, finally re-compile and deploy mmcv with cp included.

2) clone the yolov5 from my repo(https://github.com/shenyi0220/yolov5)

3) run any of those available yolov5 models, and if the cp is correctly installed with mmcv, you'll see the accuracy improvements(usually ~0.4 mAP improvements could be spotted for yolo5 models)

4) I notice that my yolov5 repo is no longer consistent to official yolov5. So if you wanna verify cp+yolov5 with latest model, just check and cherry-pick this change(https://github.com/shenyi0220/yolov5/commit/ded82ccc57ed9f29f9cd6f5d4f1812dd86714f16). It's just several lines of code change to switch to replace torchvision nms with mmcv-based soft-nms APIs(assume you have replace that with cp impl)

5) For other detectors out of mmdetection and yolov5, I'd suggest you also reference the modification of the change(https://github.com/shenyi0220/yolov5/commit/ded82ccc57ed9f29f9cd6f5d4f1812dd86714f16) to activate mmcv based postprocessing.