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

감지 변환

감지된 바운딩 박스에 변환을 적용합니다.

UQL(쿼리 언어) 작업 체인을 사용해 감지 예측에 사용자 지정 가능한 변환을 적용하여, 고급 감지 처리 워크플로를 위한 구성 가능한 작업 시퀀스를 통해 바운딩 박스 수정, 감지 필터링, 속성 추출, 박스 크기 조정 및 기타 감지 조작을 유연하게 수행할 수 있게 합니다.

이 블록의 작동 방식

이 블록은 수정, 필터링, 추출 또는 조작이 가능한 UQL 작업 체인을 적용해 감지 예측을 변환합니다. 이 블록은:

  1. 감지 예측(객체 감지, 인스턴스 세분화 또는 키포인트 감지)과 적용할 UQL 작업 목록을 받습니다

  2. operations_parameters에 예약된 매개변수 이름이 포함되어 있지 않은지 검증합니다

  3. 제공된 UQL 작업 정의로부터 작업 체인을 구성하여, 순서대로 적용할 변환 시퀀스를 생성합니다

  4. operations_parameters를 배치 매개변수(예측과 정렬됨)와 비배치 매개변수(모든 예측에 적용됨)로 분리합니다

  5. 각 예측 배치를 다음과 같이 처리합니다:

    • 배치 항목별 데이터를 정렬하기 위해 예측과 배치 매개변수를 묶습니다

    • 각 예측에 대해 배치 매개변수와 비배치 매개변수를 평가 매개변수로 결합합니다

    • 결합된 매개변수로 감지에 작업 체인을 적용합니다

    • 출력이 여전히 sv.Detections인지 검증합니다(작업은 감지 유형을 유지해야 함)

  6. 각 입력 배치에 대한 변환된 감지를 반환합니다

이 블록은 필터링(DetectionsFilter), 속성 추출(ExtractDetectionProperty), 바운딩 박스 변환(크기 조정, 스케일링) 및 기타 감지 조작을 포함한 다양한 UQL 작업을 지원합니다. 작업은 순차적으로 적용되어 작업 체이닝을 통해 복잡한 변환을 가능하게 합니다. 이 블록은 변환이 감지 유형을 유지하는지 검증하여, 출력이 다른 감지 처리 블록과 호환되도록 보장합니다. 배치 및 비배치 매개변수는 유연한 작업 매개변수화를 가능하게 하며, 감지별 및 전역 매개변수 값을 모두 지원합니다.

일반적인 사용 사례

  • 고급 감지 필터링: 조건문을 사용해 클래스 이름으로 감지를 필터링하고, 여러 조건으로 신뢰도 임계값에 따라 필터링하며, 감지 속성을 기반으로 사용자 지정 필터링 기준을 적용하는 등 복잡한 필터링 로직을 감지 예측에 적용하여 정교한 감지 선택 워크플로를 가능하게 함

  • 바운딩 박스 변환: 바운딩 박스 크기, 위치 또는 속성을 수정합니다(예: 바운딩 박스를 비례적으로 크기 조정, 백분율로 박스 스케일링, 박스 좌표 조정, 박스 차원 변환) 유연한 바운딩 박스 조작을 가능하게 함

  • 속성 추출 및 필터링: 감지 속성을 추출하고 추출된 값에 따라 필터링합니다(예: 클래스 이름을 추출해 클래스 목록으로 필터링, 신뢰도 점수를 추출해 임계값으로 필터링, 조건부 처리를 위해 속성 추출) 속성 기반 감지 처리를 가능하게 함

  • 다중 조건 처리: 여러 감지 기준에 따라 복잡한 조건부 변환을 적용합니다(예: 클래스와 신뢰도 조합을 기반으로 감지를 변환, 다른 감지 유형에 서로 다른 작업 적용, 여러 속성에 따라 감지를 조건부로 수정) 정교한 조건부 감지 처리를 가능하게 함

  • 감지 데이터 강화: 하위 처리용 감지에 속성을 추출하고 추가합니다(예: 필터링을 위해 클래스 이름 추출, 감지 속성 계산, 감지에 메타데이터 추가) 복잡한 워크플로를 위한 강화된 감지 데이터를 가능하게 함

  • 사용자 지정 감지 조작: 전용 블록에서 제공되지 않는 사용자 지정 변환을 적용합니다(예: 복잡한 다단계 감지 수정, 사용자 지정 필터링 및 변환 조합, 특수 감지 처리 워크플로) 유연한 사용자 지정 감지 처리를 가능하게 함

다른 블록과 연결하기

이 블록은 감지 예측을 받아 변환된 감지를 생성합니다:

  • 감지 블록 뒤 (예: 객체 감지, 인스턴스 세분화, 키포인트 감지) 사용자 지정 변환, 필터링 또는 수정을 감지 예측에 적용하여 유연한 감지 처리 워크플로를 가능하게 함

  • 동적 crop 블록 앞 : 크롭 전에 감지를 필터링하거나 수정합니다(예: 크롭 전에 클래스별로 감지를 필터링, 크롭 전에 박스 크기 변환, 크롭할 특정 감지 추출) 최적화된 영역 추출 워크플로를 가능하게 함

  • 분류 또는 분석 블록 앞 : 사용자 지정 필터링 또는 변환으로 감지를 준비합니다(예: 특정 분석을 위한 감지 필터링, 호환성을 위한 박스 변환, 사용자 지정 기준으로 감지 준비) 사용자 지정 감지 준비를 가능하게 함

  • 다단계 감지 워크플로에서 감지가 단계 사이에 사용자 지정 변환을 필요로 하는 경우(예: 2차 처리 전 초기 감지를 필터링 및 변환, 감지 단계 사이에 사용자 지정 수정 적용, 기준에 따라 감지를 조건부로 처리) 정교한 다단계 워크플로를 가능하게 함

  • 시각화 블록 앞에 표시를 위해 감지를 필터링하거나 변환합니다(예: 시각화를 위한 감지 필터링, 표시용 박스 변환, 표시 목적에 맞게 감지 사용자 지정) 최적화된 시각적 출력을 가능하게 함

  • 감지 블록 뒤와 다른 변환 블록 앞 : 변환 사이에 사용자 지정 로직을 적용합니다(예: 감지 후 크롭 전에 필터링, 감지 단계 사이 변환, 조건부 수정 적용) 사용자 지정 로직이 있는 복잡한 변환 파이프라인을 가능하게 함

유형 식별자

step에서 다음 식별자를 사용하세요 "type" 필드: roboflow_core/detections_transformation@v1 를 워크플로에 단계로 추가합니다.

속성

이름

유형

설명

참조

name

str

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

operations

List[Union[ClassificationPropertyExtract, ConvertDictionaryToJSON, ConvertImageToBase64, ConvertImageToJPEG, DetectionsFilter, DetectionsOffset, DetectionsPropertyExtract, DetectionsRename, DetectionsSelection, DetectionsShift, DetectionsToDictionary, Divide, ExtractDetectionProperty, ExtractFrameMetadata, ExtractImageProperty, LookupTable, Multiply, NumberRound, NumericSequenceAggregate, PickDetectionsByParentClass, RandomNumber, SequenceAggregate, SequenceApply, SequenceElementsCount, SequenceLength, SequenceMap, SortDetections, StringMatches, StringSubSequence, StringToLowerCase, StringToUpperCase, TimestampToISOFormat, ToBoolean, ToNumber, ToString]]

UQL(쿼리 언어) 작업 목록을 감지에 순차적으로 적용합니다. 작업은 순서대로 실행되며, 각 작업은 이전 작업의 출력을 받습니다. 지원되는 작업에는 조건에 따른 감지 필터링을 수행하는 DetectionsFilter, 감지에서 속성을 추출하는 ExtractDetectionProperty, 바운딩 박스 변환(크기 조정, 스케일링) 및 sv.Detections를 받아 반환하는 기타 UQL 작업이 포함됩니다. 작업은 operations_parameters를 사용해 매개변수화할 수 있습니다. 작업 체인은 sv.Detections를 sv.Detections로 변환해야 합니다(유형이 유지되어야 함).

해당 참조 열은 워크플로 런타임에서 사용할 수 있는 동적 값으로 속성을 매개변수화할 수 있음을 나타냅니다. 자세한 내용은 워크플로 런타임. 자세한 내용은 바인딩 를 참조하세요.

입력 및 출력 바인딩

사용 가능한 연결은 바인딩 종류에 따라 달라집니다. 어떤 바인딩 종류가 있는지 확인하세요 감지 결과 변환 버전 v1 가 있습니다.

입력 및 출력 바인딩
  • 입력

    • predictions (Union[instance_segmentation_prediction, keypoint_detection_prediction, object_detection_prediction]): UQL 작업을 사용해 변환할 감지 예측. 객체 감지, 인스턴스 세분화 또는 키포인트 감지 예측을 지원합니다. 감지는 operations 필드에 정의된 작업 체인에 의해 변환됩니다. 모든 변환은 감지 유형을 유지해야 합니다(출력은 sv.Detections로 유지되어야 함). 이 블록은 배치 입력을 처리하고 배치 항목별로 변환을 적용합니다..

    • operations_parameters (*): 매개변수 이름(작업에서 사용됨)을 워크플로 데이터 소스 또는 값에 매핑하는 딕셔너리입니다. 매개변수는 작업에서 참조되며(예: 조건문, 필터 작업에서) 런타임에 제공됩니다. 배치 매개변수(예측과 정렬됨, 배치 항목당 하나의 값)와 비배치 매개변수(모든 배치 항목에 동일한 값)를 모두 지원합니다. 데이터 구조에 따라 배치 및 비배치로 자동 분리됩니다. 예약된 매개변수 이름은 사용할 수 없습니다. 이를 사용해 작업을 동적으로 매개변수화합니다(예: 필터링용 클래스 목록 제공, 조건용 임계값 제공, 런타임 매개변수가 필요한 작업에 값 제공)..

  • 출력

    • predictions (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 정의

마지막 업데이트

도움이 되었나요?