FPDIoU Loss: A Loss Function for Efficient Bounding Box Regression of Rotated Object Detection
<|reference_start|>FPDIoU Loss: A Loss Function for Efficient Bounding Box Regression of Rotated Object Detection: Bounding box regression is one of the important steps of object detection. However, rotation detectors often involve a more complicated loss based on SkewIoU which is unfriendly to gradient-based training. Most of the existing loss functions for rotated object detection calculate the difference between two bounding boxes only focus on the deviation of area or each points distance (e.g., $\mathcal{L}_{Smooth-\ell 1}$, $\mathcal{L}_{RotatedIoU}$ and $\mathcal{L}_{PIoU}$). The calculation process of some loss functions is extremely complex (e.g. $\mathcal{L}_{KFIoU}$). In order to improve the efficiency and accuracy of bounding box regression for rotated object detection, we proposed a novel metric for arbitrary shapes comparison based on minimum points distance, which takes most of the factors from existing loss functions for rotated object detection into account, i.e., the overlap or nonoverlapping area, the central points distance and the rotation angle. We also proposed a loss function called $\mathcal{L}_{FPDIoU}$ based on four points distance for accurate bounding box regression focusing on faster and high quality anchor boxes. In the experiments, $FPDIoU$ loss has been applied to state-of-the-art rotated object detection (e.g., RTMDET, H2RBox) models training with three popular benchmarks of rotated object detection including DOTA, DIOR, HRSC2016 and two benchmarks of arbitrary orientation scene text detection including ICDAR 2017 RRC-MLT and ICDAR 2019 RRC-MLT, which achieves better performance than existing loss functions.<|reference_end|>
@article{ma2024fpdiou,
    title={FPDIoU Loss: A Loss Function for Efficient Bounding Box Regression of
  Rotated Object Detection},
    author={Siliang Ma, Yong Xu},
    journal={arXiv preprint arXiv:2405.09942},
    year={2024},
    archivePrefix={arXiv},
    eprint={2405.09942},
    primaryClass={cs.CV}
}