티스토리 뷰
NMS(Non-Maximum Suppression)는 객체 감지 작업에서 중복된 객체 감지를 제거하기 위해 사용되는 기술입니다. NMS는 객체 감지 모델이 생성한 다수의 경계 상자(bounding box) 중에서 겹치는 상자들을 필터링하여 가장 신뢰도가 높은 객체 감지 상자들만 유지하는 방법입니다.
일반적으로 객체 감지 모델은 한 객체에 대해 여러 개의 경계 상자를 생성할 수 있습니다. 이러한 중복 상자는 모델의 출력이 미세하게 다른 위치나 크기에 대한 불확실성을 반영하는 결과입니다. 하지만 우리는 실제로 각 객체에 대해 하나의 정확한 경계 상자만 유지하고 싶습니다.
NMS 알고리즘은 다음과 같은 단계로 작동합니다:
1. 객체 감지 모델이 생성한 모든 경계 상자에 대해 신뢰도 점수를 기준으로 내림차순으로 정렬합니다.
2. 가장 신뢰도가 높은 경계 상자를 선택하고 해당 상자를 최종 결과로 유지합니다.
3. 선택된 경계 상자와 다른 경계 상자들과의 IoU(Intersection over Union)를 계산합니다. IoU는 두 상자의 겹치는 영역의 크기를 전체 영역으로 나눈 값으로, 겹치는 정도를 측정하는 지표입니다.
4. IoU가 미리 정의된 임계값보다 큰 다른 경계 상자들을 필터링하여 제거합니다. 이렇게 함으로써 겹치는 상자들 중 가장 신뢰도가 높은 상자만을 유지합니다.
5. 남아있는 경계 상자들에 대해 위의 단계를 반복합니다. 다음으로 두 번째로 신뢰도가 높은 경계 상자를 선택하고, 이를 기준으로 다른 상자들을 필터링합니다.
6. 이러한 과정을 반복하여 모든 상자들에 대해 NMS를 수행합니다.
결과적으로, NMS는 중복된 객체 감지 상자들을 제거하고 가장 신뢰도가 높은 상자들만을 보존하여 정확한 객체 감지를 달성합니다. NMS는 객체 감지 모델의 출력을 정리하고 겹치는 상자들을 제거함으로써 객체 감지의 정확도와 신뢰도를 향상시키는 데 도움이 됩니다.
