중첩 필터
다른 클래스와 중첩되는 객체를 필터링합니다.
탐지 예측을 필터링하여 지정된 클래스의 인스턴스와 겹치는 객체만 유지함으로써, 다른 객체에 상대적으로 위치한 객체(예: 자전거 위의 사람, 팔레트 위의 물품, 컨테이너 안의 객체)를 식별할 수 있도록 공간 관계 필터링을 활성화합니다.
이 블록의 작동 방식
이 블록은 지정된 겹침 클래스와의 공간적 겹침 관계를 기반으로 탐지를 필터링합니다. 이 블록은:
탐지 예측(객체 탐지 또는 인스턴스 분할)과 겹침 클래스 이름을 입력으로 받습니다
탐지를 두 그룹으로 분리합니다:
겹침 클래스 탐지: 지정된
overlap_class_name(예: "bicycle", "pallet", "car")기타 탐지: 겹침 클래스와 겹칠 수 있는 나머지 모든 객체
각 겹침 클래스 탐지에 대해, 두 가지 겹침 모드 중 하나를 사용하여 공간적으로 겹치는 다른 탐지를 식별합니다:
중심 겹침: 다른 탐지의 중심점이 겹침 클래스의 바운딩 박스 안에 들어오는지 확인합니다(더 정밀하며, 중심이 내부에 있어야 함)
어느 부분이든 겹침: 바운딩 박스 간에 공간적 교차가 있는지 확인합니다(더 느슨하며, 어떤 겹침이든 포함)
어떤 겹침 클래스 인스턴스와든 겹치는 모든 탐지를 수집합니다
출력에서 겹침 클래스 탐지 자체를 제외합니다
겹치는 탐지만 반환합니다(겹침 클래스에 상대적으로 위치한 객체)
이 블록은 사실상 다음 질문에 답합니다: "어떤 객체가 클래스 X의 인스턴스와 겹치고 있나요?" 예를 들어 겹침 클래스로 "bicycle"을 지정하면, 이 블록은 자전거와 겹치는 사람이나 다른 객체를 찾되 자전거 자체는 출력에서 제거합니다. 이를 통해 표면 위의 물품, 컨테이너 안의 객체, 차량 위의 사람과 같이 특정 기준 클래스와 공간적 관계를 가진 객체를 식별하는 워크플로를 구현할 수 있습니다.
일반적인 사용 사례
차량 위 사람 탐지: 차량 클래스를 겹침 클래스로 사용하여 자전거, 오토바이 또는 다른 차량 위의 사람을 식별합니다(예: "bicycle" 탐지와 겹치는 사람을 필터링). 이를 통해 탑승자, 승객 또는 차량을 사용하는 사람을 탐지할 수 있습니다
표면 위의 물품: 표면 클래스를 겹침 클래스로 사용하여 팔레트, 테이블 또는 선반 위에 위치한 객체를 찾습니다(예: "pallet" 탐지와 겹치는 물품을 필터링). 이를 통해 재고 추적, 표면 위 객체 수 계산 또는 표면 점유 분석을 수행할 수 있습니다
컨테이너 안의 객체: 컨테이너 클래스를 겹침 클래스로 사용하여 컨테이너, 상자 또는 차량 내부의 물품을 식별합니다(예: "container" 탐지와 겹치는 객체를 필터링). 이를 통해 내용물 탐지, 적재 검증 또는 컨테이너 모니터링을 수행할 수 있습니다
공간 관계 필터링: 근접 또는 포함 관계를 기반으로 탐지를 필터링합니다(예: 특정 클래스 내부에 있거나 겹치는 모든 객체를 찾음). 이를 통해 공간 배치에 기반한 조건부 처리를 활성화합니다
중첩 객체 탐지: 다른 객체의 일부이거나 부착된 객체를 식별합니다(예: 차량에 부착된 장비, 사람의 액세서리를 찾음). 이를 통해 복합 객체나 객체 간 관계를 탐지할 수 있습니다
영역 기반 필터링: 겹침 클래스를 기준 영역으로 사용하여 특정 영역과 교차하는 객체를 찾습니다(예: "parking_space" 클래스와 겹치는 객체를 필터링). 이를 통해 영역 기반 분석 및 조건부 탐지 필터링을 활성화합니다
다른 블록과 연결하기
이 블록에서 필터링된 겹치는 탐지는 다음과 연결할 수 있습니다:
탐지 모델 블록 (예: 객체 탐지 모델, 인스턴스 분할 모델)과 연결하여, 지정된 기준 클래스와 겹치는 객체만 표시하도록 필터링된 예측을 수신하며, 공간 관계 분석을 활성화합니다
시각화 블록 (예: 바운딩 박스 시각화, 다각형 시각화, 레이블 시각화)와 연결하여 겹치는 객체만 표시하고 기준 클래스와 공간적 관계가 있는 객체를 강조합니다
집계 및 분석 블록 (예: 라인 카운터, 영역 체류 시간, 속도)와 연결하여 겹치는 객체만 세거나 분석합니다(예: 자전거 위의 사람 수를 세고, 팔레트 위의 물품을 추적함). 이를 통해 공간적으로 관련된 객체에 대한 지표를 제공합니다
데이터 저장 블록 (예: 로컬 파일 싱크, CSV 포맷터, Roboflow 데이터셋 업로드, 웹훅 싱크)와 연결하여 필터링된 겹침 탐지 결과를 저장하거나 전송하고, 특정 공간 관계를 가진 객체에 대한 데이터를 저장합니다
필터링 블록 (예: 탐지 필터)와 연결하여 겹치는 탐지에 추가 필터링 기준을 적용함으로써 다단계 필터링 워크플로를 활성화합니다
흐름 제어 블록 (예: 조건부 계속)와 연결하여 겹치는 객체가 탐지되었는지 여부에 따라 후속 처리를 조건부로 트리거함으로써 공간 관계에 반응하는 워크플로를 활성화합니다
유형 식별자
step에서 다음 식별자를 사용하세요 "type" 필드: roboflow_core/overlap@v1 를 워크플로에 단계로 추가합니다.
속성
이름
유형
설명
참조
name
str
이 단계에 고유 식별자를 입력하세요..
❌
overlap_type
str
탐지 간의 공간적 겹침을 판단하는 방법입니다. 'Center Overlap'은 다른 탐지의 중심점이 겹침 클래스의 바운딩 박스 안에 들어오는지 확인합니다(더 정밀하며, 중심이 내부에 있어야 함). 'Any Overlap'은 바운딩 박스 간에 공간적 교차가 있는지 확인합니다(더 느슨하며, 어떤 겹침이든 포함). Center Overlap은 더 엄격하고 포함 관계에 더 적합하며, Any Overlap은 더 포괄적이고 어떤 근접이나 부분 겹침도 감지하는 데 더 적합합니다..
❌
overlap_class_name
str
겹침 탐지에 사용되는 기준 객체의 클래스 이름입니다. 이 클래스 이름과 일치하는 탐지는 기준점으로 사용되며, 이러한 기준 객체와 겹치는 다른 탐지는 출력에 유지됩니다. 겹침 클래스 탐지 자체는 결과에서 제거됩니다. 예: 자전거와 겹치는 사람이나 객체를 찾으려면 'bicycle'을 사용하고, 팔레트 위의 물품을 찾으려면 'pallet'을 사용합니다..
❌
해당 참조 열은 워크플로 런타임에서 사용할 수 있는 동적 값으로 속성을 매개변수화할 수 있음을 나타냅니다. 자세한 내용은 워크플로 런타임. 자세한 내용은 바인딩 를 참조하세요.
입력 및 출력 바인딩
사용 가능한 연결은 바인딩 종류에 따라 달라집니다. 어떤 바인딩 종류가 있는지 확인하세요 겹침 필터 버전 v1 가 있습니다.
입력 및 출력 바인딩
입력
predictions(Union[instance_segmentation_prediction,object_detection_prediction]): 지정된 겹침 클래스와 겹칠 수 있는 객체를 포함하는 탐지 예측(객체 탐지 또는 인스턴스 분할)입니다. 이 블록은 overlap_class_name과 일치하는 탐지를 식별하고, 이들과 공간적으로 겹치는 다른 탐지를 찾습니다. 겹치는 탐지만(겹침 클래스 자체는 제외) 출력으로 반환됩니다..
출력
겹침(object_detection_prediction): 감지된 경계 상자를 포함하는 sv.Detections(...) 객체 형식의 예측입니다.
마지막 업데이트
도움이 되었나요?