Open superaha opened 3 years ago
@superaha Hi, please refer to this paper to make sure your implementation match all the details. (e.g., detach the gradient, 2 convs, the position of selector branch)
@superaha can you share your nms free version it would be helpful
I likewise tried to implement the NMS-free described in the paper. I experimented in various ways:
The only thing I have not tried yet is the ranking loss in section 3.1.2, but according to them it does not make a large difference.
I'm using a different dataset for my tests, but I am consistently seeing AP50 of ~0.97-0.98 with heuristic NMS - but never above 0.92 with NMS-free.
The details don't match exactly between the "Object Detection Made Simpler by Eliminating Heuristic NMS" and the YOLOX implementation - so it is not always clear how to implement. It has an objectness head (never trained on IoU), and a classification head which is trained on IoU and one-hot classification, whereas the NMS-free paper mentions a separate "centerness prediction" and classification score. It's not clear exactly what centerness is supposed to be here.
This would be much easier if the repository simply included the code that the "End-to-end YOLO" section of the YOLOX paper talks about.
I likewise tried to implement the NMS-free described in the paper. I experimented in various ways:
- using just regression features as input to the PSS branch, or using regression + classification features as input
- loss function & matching score with and without objectness included
- using topK as the positiveness prior, or the 2.5 pixel center region
- using 3 conv layers instead of 2
- with and without focal loss
- various different weights on the PSS loss (0.1 up through 40.0)
- both equation 3 for matching score, and the substitution mentioned in section 4.2.7 of the NMS-free paper.
The only thing I have not tried yet is the ranking loss in section 3.1.2, but according to them it does not make a large difference.
I'm using a different dataset for my tests, but I am consistently seeing AP50 of ~0.97-0.98 with heuristic NMS - but never above 0.92 with NMS-free.
The details don't match exactly between the "Object Detection Made Simpler by Eliminating Heuristic NMS" and the YOLOX implementation - so it is not always clear how to implement. It has an objectness head (never trained on IoU), and a classification head which is trained on IoU and one-hot classification, whereas the NMS-free paper mentions a separate "centerness prediction" and classification score. It's not clear exactly what centerness is supposed to be here.
This would be much easier if the repository simply included the code that the "End-to-end YOLO" section of the YOLOX paper talks about.
hello, i also tried to implement the nms-free version, and experimented many ways, but i can not get good result (i use voc for test, and the best result is nms-free: ap50: 62 nms-base: 72), can we talk about it, this is my QQ: 1032304268 ?
I try to implement the NMS-free version of YOLOX, as reported in the paper, NMS free only do little harm to the mAP performance.
My current implementation changes the
self.dynamic_k_matching
to one-to-one assignment. However, the current mAP only has 41.7 mAP when evaluated using the topK or the NMS.Anyone has any tries or suggestions on improving the results?