AI연구회
경남ICT협회 AI 연구 모임
객체 감지를 오랫동안 다루어 왔다면 의심할 여지 없이 이중 감지 문제에 부딪혔을 것입니다. 이는 모델이 동일한 객체를 여러 번 감지하는 경우입니다.
이는 일반적 으로 가장 확실한 경계 감지를 유지하고 나머지는 삭제하는 NMS( Non-Max Suppression ) 를 통해 해결됩니다 . 하지만 대신 상자를 병합하고 싶다면 어떻게 해야 할까요?
이 글에서는 이중 탐지와 현재 Non-Max Merging(NMM) 에 대해 설명합니다 . 다음 사항에 대해 논의합니다.
그런 다음 컴퓨터 비전 모델 예측으로 NMS를 실행하는 방법을 보여주는 몇 가지 예제 코드를 설명하겠습니다.
이중 감지의 원인은? 두 건의 사건이 두드러진 범인입니다.
첫째, 중복 감지는 모델 자체에 의해 생성될 수 있습니다.
기본적으로 Ultralytics와 같은 프레임워크는 대부분의 모델 예측을 필터링합니다. 낮은 신뢰 임계값을 지정하면 더 많은 모델 예측이 나타납니다.
둘째, 의도적으로 중복이 만들어졌을 수도 있습니다.
이 이미지에서 사람을 어떻게 감지할 수 있나요?
물체가 작습니다. 대부분의 모델은 큰 이미지로 학습하기 때문에 어려움을 겪습니다.
InferenceSlicer 를 사용하면 해당 작업을 쉽게 처리할 수 있습니다 .
성공?
확대해보면 대부분의 감지 아래에 또 다른 이중 감지가 있는 것을 알 수 있습니다.
'사람' 레이블 주변의 색이 다른 선은 그 아래에 또 다른 감지가 있음을 의미합니다.
이중 감지를 해결하기 위해 두 가지 유사한 알고리즘이 사용됩니다.
전제 조건 개념을 명확히 한 다음 알고리즘을 더 자세히 살펴보겠습니다.
' 겹침 ' 이라고 말할 때는 일반적으로 높은 Intersection-Over-Union 값을 의미합니다. 이는 두 상자가 교차하는 면적을 두 상자의 병합된 면적으로 나누어 계산합니다. IOU는 0에서 1까지입니다. 값이 높을수록 겹침이 커집니다!
이미지에 모델을 실행하여 탐지 목록을 생성한다고 가정합니다. 두 탐지가 같은 객체에 배치되는 경우를 필터링하려고 합니다.
가장 일반적인 방법은 비최대 억제를 사용하는 것입니다.
Non-Max 억제 작동 중
iou_threshold
비최대 억제는 클래스별로(예: 자동차, 개, 식물) 또는 클래스에 독립적인 방식으로 수행할 수 있으며, 이 경우 모든 클래스의 상자로 중복을 검사합니다.
더 읽어보기 위해 Piotr는 NumPy를 사용한 Non-Max Suppression 에 대한 심층 분석을 작성했습니다 .
이 알고리즘의 단계는 약간 더 복잡합니다. 모델이 탐지 목록을 생성하고 그 중 일부가 객체를 두 번 탐지하는 경우부터 다시 시작해 보겠습니다.
Non-Max 병합이 실행 중입니다. Non-Max 억제와 매우 유사합니다!
Non-Max Merge의 단계는 다음과 같습니다.
xyxy
mask
confidence
confidencexyxy
New Conf = (Conf 1 * Area 1 + Conf 2 * Area 2) / (Area 1 + Area 2)
class_id
tracker_id,
data
결국 모든 원래 탐지가 유지되거나 정확한 결과로 병합되어 더 짧은 탐지 목록을 얻게 됩니다.
보시다시피, 두 방법은 종종 비슷한 결과를 생성합니다. 사용 사례에 맞게 무엇을 선택해야 합니까? 빠른 대답은 기본값이 아닌 최대 억제를 선택하고 사용 사례에 맞게 최대가 아닌 병합에 대해 몇 가지 테스트를 수행하는 것입니다.
다음 이미지에서는 Non-Max Merge의 성능이 더 뛰어났습니다.
트럭의 측면이 매우 높은 신뢰도로 감지되었으므로 최대값이 아닌 억제는 다른 중복 감지를 삭제합니다. 테스트에서 개체의 일부가 높은 신뢰도로 감지된 것으로 나타나 감지 영역을 확장해야 하거나 감지가 개체 크기를 과소평가하는 경우 먼저 매개 nms_threshold변수를 수정한 다음 Non-Max Merge를 테스트해야 합니다.
nms_threshold
우리 구현에서는 Non-Max Suppression(NMS)이 Non-Max Merge(NMM)보다 약 2배 빠르다는 것을 확인했습니다.
35개 탐지에 대해 실행한 결과는 다음과 같습니다(밀리초 단위).
750개의 감지 항목을 실행할 경우:
(리나스 콘드라키스 게시물에서 가져옴)
기업 홍보를 위한 확실한 방법협회 홈페이지에 회사정보를 보강해 보세요.