클래스별 신뢰도 필터
클래스별 신뢰도 임계값을 적용하여 감지를 필터링합니다.
각 클래스마다 다른 신뢰도 임계값을 적용해 탐지 예측을 필터링하며, 각 클래스에 구성된 임계값 이상인 신뢰도를 가진 탐지만 유지합니다(목록에 없는 클래스에는 구성 가능한 대체 임계값 사용).
이 블록의 작동 방식
이 블록은 탐지 예측에 클래스 인지 신뢰도 필터링을 적용하여, 클래스별 품질 요구 사항에 따라 어떤 탐지를 유지할지 정밀하게 제어할 수 있게 합니다. 이 블록은:
탐지 예측(객체 탐지, 인스턴스 세분화 또는 키포인트 탐지)과 클래스 이름을 신뢰도 임계값에 매핑한 딕셔너리를 입력받습니다
각 탐지를 순회하며 해당 탐지의 클래스 이름과 연결된 임계값을 조회합니다
클래스가 딕셔너리에 없으면 구성 가능한
default_threshold값해당되는 임계값 이상인 신뢰도를 가진 탐지만 유지합니다
모든 원본 메타데이터(클래스 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.
마지막 업데이트
도움이 되었나요?