For the complete documentation index, see llms.txt. This page is also available as Markdown.

클래스별 신뢰도 필터

클래스별 신뢰도 임계값을 적용하여 감지를 필터링합니다.

각 클래스마다 다른 신뢰도 임계값을 적용해 탐지 예측을 필터링하며, 각 클래스에 구성된 임계값 이상인 신뢰도를 가진 탐지만 유지합니다(목록에 없는 클래스에는 구성 가능한 대체 임계값 사용).

이 블록의 작동 방식

이 블록은 탐지 예측에 클래스 인지 신뢰도 필터링을 적용하여, 클래스별 품질 요구 사항에 따라 어떤 탐지를 유지할지 정밀하게 제어할 수 있게 합니다. 이 블록은:

  1. 탐지 예측(객체 탐지, 인스턴스 세분화 또는 키포인트 탐지)과 클래스 이름을 신뢰도 임계값에 매핑한 딕셔너리를 입력받습니다

  2. 각 탐지를 순회하며 해당 탐지의 클래스 이름과 연결된 임계값을 조회합니다

  3. 클래스가 딕셔너리에 없으면 구성 가능한 default_threshold

  4. 해당되는 임계값 이상인 신뢰도를 가진 탐지만 유지합니다

  5. 모든 원본 메타데이터(클래스 ID, 마스크, 키포인트, 트래커 ID 등)를 보존한 채 필터링된 탐지를 반환합니다

단일 전역 신뢰도 임계값과 달리, 이 블록은 오탐이 발생하기 쉬운 클래스에는 높은 신뢰도의 예측을 요구하면서, 더 감지하기 어려운 클래스에는 더 관대한 임계값을 사용할 수 있게 해줍니다. 일반적인 탐지 필터와 달리, 이 블록은 깔끔하게 다음과 매핑되는 목적 특화 딕셔너리 입력을 제공합니다. 간단한 {"class_name": threshold} JSON 객체.

일반적인 사용 사례

  • 노이즈가 발생하기 쉬운 클래스: 오탐이 자주 발생하는 클래스에는 매우 높은 신뢰도(예: 0.9)를 요구하고, 잘 동작하는 클래스에는 더 낮은 신뢰도를 허용합니다

  • 감지하기 어려운 클래스: 모델이 높은 신뢰도로는 거의 감지하지 못하는 클래스의 경우 임계값을 낮춰 아예 필터링되지 않도록 합니다

  • 프로덕션 수준의 필터링: 평가 중에 조정된 도메인별 임계값을 적용하여, 후속 분석, 알림 또는 집계 블록이 프로젝트의 품질 기준을 충족하는 탐지만 보도록 합니다

  • 다중 클래스 파이프라인: 하나의 전역 신뢰도 임계값으로는 너무 거칠 때, 한 번에 여러 클래스를 예측하는 객체 탐지 모델과 결합합니다

다른 블록과의 연결

이 블록의 필터링된 예측은 다음과 연결할 수 있습니다:

  • 시각화 블록 (Bounding Box Visualization, Label Visualization, Polygon Visualization)을 사용해 클래스별 임계값을 통과한 탐지만 렌더링합니다

  • 집계 및 분석 블록 (Line Counter, Time in Zone, Velocity)에서 지표가 고품질 탐지만 반영하도록 합니다

  • 추적 블록 (Byte Tracker)에서 낮은 신뢰도의 노이즈가 추적 연결을 오염시키지 않도록 합니다

  • 저장 또는 싱크 블록 (Roboflow Dataset Upload, Webhook Sink, CSV Formatter)에서 품질 기준을 충족하는 탐지만 저장하거나 전송합니다

  • 다운스트림 변환 블록 (Dynamic Crop, Detection Offset)에서 필터링된 하위 집합에 대해 후속 처리를 수행합니다

유형 식별자

단계에서 다음 식별자를 사용하세요 "type" 필드: roboflow_core/per_class_confidence_filter@v1 워크플로에 이 블록을 단계로 추가하려면.

속성

이름

유형

설명

참조

name

str

이 단계에 대한 고유 식별자를 입력하세요..

class_thresholds

Dict[str, float]

클래스 이름과 최소 신뢰도 임계값의 매핑입니다. 이 딕셔너리에 클래스 이름이 있는 탐지는 해당 신뢰도가 대응 임계값 이상일 때만 유지됩니다. 여기에 없는 클래스는 default_threshold로 대체됩니다. 임계값은 [0.0, 1.0] 범위여야 합니다..

default_threshold

float

class_thresholds에 나열되지 않은 클래스 이름의 탐지에 적용되는 신뢰도 임계값입니다. [0.0, 1.0] 범위여야 합니다..

참조 열은 다음에서 사용 가능한 동적 값으로 속성을 매개변수화할 수 있는 가능성을 표시합니다 워크플로 런타임. 참조 바인딩 자세한 내용은.

입력 및 출력 바인딩

사용 가능한 연결은 바인딩 종류에 따라 달라집니다. 어떤 바인딩 종류가 클래스별 신뢰도 필터 버전 v1 에 있습니다.

입력 및 출력 바인딩
  • 입력

    • 예측 (Union[instance_segmentation_prediction, keypoint_detection_prediction, object_detection_prediction]): 탐지 예측을 필터링합니다. 각 탐지는 해당 클래스에 구성된 임계값 이상인 신뢰도를 가진 경우에만 유지됩니다(나열되지 않은 클래스는 default_threshold로 대체됨)..

    • class_thresholds (딕셔너리): 클래스 이름과 최소 신뢰도 임계값의 매핑입니다. 이 딕셔너리에 클래스 이름이 있는 탐지는 해당 신뢰도가 대응 임계값 이상일 때만 유지됩니다. 여기에 없는 클래스는 default_threshold로 대체됩니다. 임계값은 [0.0, 1.0] 범위여야 합니다..

    • default_threshold (float_zero_to_one): class_thresholds에 나열되지 않은 클래스 이름의 탐지에 적용되는 신뢰도 임계값입니다. [0.0, 1.0] 범위여야 합니다..

  • 출력

    • 예측 (Union[object_detection_prediction, instance_segmentation_prediction, keypoint_detection_prediction]): 탐지된 경계 상자를 sv.Detections(...) 객체 형태로 반환하는 예측, 만약 object_detection_prediction 또는 탐지된 경계 상자와 세분화 마스크를 sv.Detections(...) 객체 형태로 반환하는 예측, 만약 instance_segmentation_prediction 또는 탐지된 바운딩 박스와 탐지된 키포인트가 sv.Detections(...) 객체 형태로 포함된 예측인 경우 keypoint_detection_prediction.

JSON 정의 예시

마지막 업데이트

도움이 되었나요?