提出高效并行NMS算法,毫秒级处理千个目标检测框。
Work-Efficient Parallel Non-Maximum Suppression Kernels
- 从零设计并行NMS内核,适配嵌入式GPU架构
- 单帧处理1024个检测框仅需约1毫秒(Tegra X1/X2)
- 比现有方法快14至40倍,适合实时目标检测系统
在目标检测中,滑窗分类器和单阶段卷积神经网络常产生多个重叠且得分相近的候选框。非极大值抑制(NMS)用于从这些重叠框中选出唯一代表框,实现每对象唯一检测。本文提出一种专为嵌入式GPU设计的高度可扩展并行NMS算法,能有效处理单帧上千个同时检测框。该算法适用于FeatureNMS、Soft-NMS、AdaptiveNMS等共享经典贪心NMS结构的序列化方法。实验表明,在NVIDIA Tegra X1和X2片上GPU上,本算法可在约1毫秒内完成1024个检测框的聚类;在Tegra K1上耗时2毫秒。相比需训练CNN的前沿NMS方法,本方案速度提升14至40倍。
原文摘要 · Abstract (English)
In the context of object detection, sliding-window classifiers and single-shot Convolutional Neural Network (CNN) meta-architectures typically yield multiple overlapping candidate windows with similar high scores around the true location of a particular object. Non-Maximum Suppression (NMS) is the process of selecting a single representative candidate within this cluster of detections, so as to obtain a unique detection per object appearing on a given picture. In this paper, we present a highly scalable NMS algorithm for embedded GPU architectures that is designed from scratch to handle workloads featuring thousands of simultaneous detections on a given picture. Our kernels are directly applicable to other sequential NMS algorithms such as FeatureNMS, Soft-NMS or AdaptiveNMS that share the inner workings of the classic greedy NMS method. The obtained performance results show that our parallel NMS algorithm is capable of clustering 1024 simultaneous detected objects per frame in roughly 1 ms on both NVIDIA Tegra X1 and NVIDIA Tegra X2 on-die GPUs, while taking 2 ms on NVIDIA Tegra K1. Furthermore, our proposed parallel greedy NMS algorithm yields a 14x-40x speed up when compared to state-of-the-art NMS methods that require learning a CNN from annotated data.
Thank you to arXiv for use of its open access interoperability. PaperDance 不是 arXiv 官方产品;中文卡片由大模型生成,请以原文为准。