masahi edited a comment on pull request #7796: URL: https://github.com/apache/tvm/pull/7796#issuecomment-814840398
ok I see roughly three categories of NMS used in frameworks: 1. MXNet and TVM https://mxnet.apache.org/versions/1.7.0/api/python/docs/api/ndarray/contrib/index.html#mxnet.ndarray.contrib.box_nms This is what MXNet calls `box_nms`, this API is highly non-standard but unfortunately this is what we inherited from for topi/relay. It supports multiclass NMS but a single box is associated with only one class, unlike the third category below. 2. PT `torchvision.ops.nms` and TF `non_max_suppression`, this is the standard, **single** class NMS. https://pytorch.org/vision/stable/ops.html#torchvision.ops.nms https://www.tensorflow.org/api_docs/python/tf/image/non_max_suppression 3. ONNX `NonMaxSuppression`, TF `combined_non_max_suppression`, and TensorRT `batchedNMSPlugin` (the implementation calls it `allClassNMS`) This is the variant of **multi** class NMS where a single box can be selected multiple times per different classes. https://github.com/onnx/onnx/blob/master/docs/Operators.md#NonMaxSuppression https://www.tensorflow.org/api_docs/python/tf/image/combined_non_max_suppression https://github.com/NVIDIA/TensorRT/tree/master/plugin/batchedNMSPlugin, https://github.com/NVIDIA/TensorRT/blob/master/plugin/common/kernels/allClassNMS.cu So the bottom line is, I think it is reasonable to say that NMS, without adjectives, should refer to the single class variant (category 2 above), but there isn't a consensus on what to call the third category one which this PR is about. I think `all_class_non_maximum_surpression` or `per_class_non_maximum_surpression` are the most descriptive of what it does. Either one is fine for me and I'm open for other suggestions @mbrookhart @jwfromm -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected]
