NMS와 서로 다른 class와의 관계에 대해서 질문이 있습니다
436
작성한 질문수 158
안녕하세요
혹시 NMS에서 서로 다른 class에 대한 confidence score, IoU에 대해서도 삭제하게 되나요?
삭제 하는 기준의 조건이 서로 같은 class로 예측했을 때를 말하는 것인가요? 아니면 다른 것인지 궁금합니다
만일 그렇다면 겹쳐있는 것 중 서로 다른 클래스로 정확히 예측했던 것들 중 하나가 삭제되는 것 아닌가 해서요!
답변 1
1
안녕하십니까,
일반적인 NMS는 클래스별로 고려하지 않고 겹치는 모든 bbox에 대해서 IOU를 구한 후 Class confidence로 걸러냅니다. 물론 NMS 구현을 클래스별로 일단 정리한 후에 여기에 NMS를 적용하는 방식으로 변경할 수도 있습니다. 다만 NMS를 Predict과정이므로 빠른 inference 속도에 영향을 미치지 않는것이 중요합니다.
겹쳐 있는 것중 서로 다른 클래스로 예측했다면 정확히 예측했다기 보다는 가장 class confidence가 높은 것을 제외하고는 잘못 예측했다고 가정하고 삭제하는 것입니다.
이게 Hard NMS 방식입니다. 그런데 말씀하셨듯이 오밀조밀하게 인접한 객체(동일 클래스이든, 다른 클래스이든)들이 있을 경우에 잘못 걸러낼수 있는 확률이 높습니다. 그래서 Soft NMS를 고려해 볼수도 있습니다. Soft NMS방식도 클래스별로 고려하지 않고 모든 bbox로 적용하는것은 동일한데, NMS Threshold 이하로 무조건 걸러내는 방식이 아니라 confidensce score를 IOU에 비례하여 낮추는 방식을 적용합니다.
Soft NMS에 대한 자세한 내용은 아래를 참조 부탁드립니다.
MMDetection 버전 이슈
0
53
2
강의 환경설정 질문
0
62
2
Custom Dataset에서의 polygon 정보 관련
0
113
3
cvat.ai 보안 수준이 궁금합니다
0
98
2
캐클 nucleus 챌린지 runpod 실습 코드 에러 질문드립니다.
0
120
3
추론 결과의 Precision(또는 mAP) 평가 방법
0
95
2
mmdetection mask rcnn inferenct 실습 시 runpod 템플릿 관해서 질문드립니다.
0
69
2
runpod에서 google drive 연결 시 오류 발생
0
127
2
로드맵 선택
0
74
1
mmcv
0
65
2
Anchor box의 Positive 처리 위치
0
71
2
해당 강의 runpod 적용 후 에러 제보드립니다
0
95
2
run pod credit 관련 제보
0
126
2
mmdetection 2.x과 3.x 호환 관련 표기
0
89
2
mm_faster_rcnn_train_kitti.ipynb 실행 오류
0
114
3
질문 드립니다.
0
89
3
mm_faster_rcnn_train_coco_bccd 실행 오류 질문드립니다.
0
89
1
강사님께 수정을 제안드리고 싶은 것이 있습니다.
0
102
1
google automl efficientdet 다운로드 및 설치 오류
0
87
1
이상 탐지에 사용할 비전 기술 조언 부탁드립니다.
0
111
2
OpenCV 관련 질문드립니다.
0
87
2
mmcv 설치관련해서 문의드려요
0
357
3
강의 구성 관련해서 질문이 있습니다
1
141
2
모델 변환 성능 질문드립니다.
0
126
1





