/confluence

Implementation of the Confluence and Confluence NMS algorithms

Primary LanguagePythonMIT LicenseMIT

Confluence

Official Python implementation of the Confluence and Confluence NMS algorithms as described in Confluence: A Robust Non-IoU Alternative to Non-Maxima Suppression in Object Detection

confluence

Confluence and Confluence-NMS are non-IoU alternatives to Greedy and Soft-NMS and their variants. They rely on a Manhattan Distance inspired proximity measure to retain true positives and suppress false positives. Proximity represents the sum of the vertical and horizonal distances between the upper left and lower right coordinates to two bounding boxes, as shown below:

Proximity_description_resized

Proximity is a much more stable, consistent predictor of localization than IoU due to its purely linear relationship with bounding box overlap, as illustrated by the graph below. In contrast, IoU is not linear, increasing the sensitivity of the NMS IoU threshold to slight variations in overlap. This makes IoU more susceptible to inconsistent, suboptimal performance, often resulting in the retention of false positives and suppression of true positives.

IoU v Proximity_resized