영상처리에서의 blured된 edge를 찾는 과정에서나 딥러닝에서의 object detection 분야에서 자주 사용되는 중복 제거를 위한 과정으로 NMS를 사용하면 연산량을 줄이고, mAP도 올리는 성능향상을 보여준다고 한다.
1. image pixel case
what is non - maximum suppression?
: 중심 pixel을 기준으로 8-way의 pixel value들을 비교하여 중심 pixel이 가장 클 경우 그대로 두고, 아닐 경우 제거해주는 과정
Assume that an image with the pixel value below exists
중심 픽셀인 빨간 테두리 픽셀을 기준으로 8방향의 픽셀 값들을 비교했을 때
파란색 테두리 픽셀 값인 7이 가장 큰 것을 알 수 있다.
이 경우 중심픽셀 값이 non - maximum이므로 중심픽셀값은 0으로 제거된다.
중심 픽셀인 빨간 테두리 픽셀을 기준으로 8방향의 픽셀 값들을 비교했을 때
파란색 테두리 픽셀 값과 중심 테두리 픽셀 값이 같다는 것을 알 수 있다.
따라서 이 경우 중심픽셀 값이 maximum이므로 제거하지 않고 7의 값을 그대로 둔다.
따라서 이와같은 NMS 방식으로 전체의 image에 대해 진행하게 되면
non - maximum의 값들을 0으로 채워넣으면서 오른쪽과 같은 결과가 나오게 된다.
: 결국 실제 직선의 주변 값을들 지워주게 되어 원래의 sharp한 직선을 찾을 수 있다.
2. object detecting case
odject detection에서는 boundingbox + box에 object가 있을 확률로 결과값들이 나오게 된다. 이 때 하나의 object에 여러 boundingbox가 그려지는 경우를 제거하기 위한 방법으로 사용된다.
1. 동일한 object class들 끼리 confidence로 정렬한다.
2. confidence가 높은 boundingbox와 IoU가 일정 이상인 boundingbox는 동일한 object를 detect했다고 판단하여 제거한다.
3. 일반적으로는 IoU가 0.5이상일때 제거를 진행한다.
References
'개인 정리 > Word Definition' 카테고리의 다른 글
Support Vector Machine(SVM) (0) | 2021.04.03 |
---|---|
intersection-overunion(IoU) (0) | 2021.04.03 |
mean Average Precision(mAP) (0) | 2021.04.03 |
댓글