경계 직사각형
감지된 다각형을 둘러싸는 최소 경계 상자를 찾습니다.
폴리곤 세분화 마스크 주변의 최소 회전 외접 사각형을 계산하여, 복잡한 폴리곤 형태를 방향 정보가 포함된 단순화된 직사각형 바운딩 박스로 변환하고, 영역 생성, 지역 단순화, 감지된 객체 형태를 기반으로 한 직사각형 영역 근사에 활용합니다.
이 블록의 작동 방식
이 블록은 폴리곤 마스크가 포함된 인스턴스 세분화 예측을 처리하고 각 검출에 대해 최소 회전 외접 사각형(폴리곤을 감쌀 수 있는 가장 작은 사각형)을 계산합니다. 이 블록은:
폴리곤 마스크가 포함된 인스턴스 세분화 예측을 수신합니다(마스크가 존재하는지 검증함)
각 검출의 폴리곤 마스크를 개별적으로 처리합니다
폴리곤 마스크에서 가장 큰 윤곽선을 추출합니다(가장 큰 것을 선택하여 다중 윤곽선 마스크를 처리함)
OpenCV의 minAreaRect를 사용하여 최소 회전 외접 사각형을 계산합니다:
폴리곤을 완전히 감쌀 수 있는 가장 작은 회전 사각형을 찾습니다
사각형의 중심점, 크기(너비, 높이), 회전 각도를 결정합니다
회전 사각형의 네 꼭짓점 좌표를 계산합니다
검출의 마스크를 계산된 바운딩 사각형과 일치하는 직사각형 마스크로 업데이트합니다(회전 사각형 폴리곤을 다시 마스크 형식으로 변환함)
검출의 축에 정렬된 바운딩 박스(xyxy)를 회전 사각형의 바운딩 박스로 업데이트합니다(회전 사각형을 축 정렬 박스에 맞춤)
검출 데이터에 추가 사각형 메타데이터를 저장합니다:
사각형 꼭짓점 좌표(회전 사각형 점)
사각형의 너비와 높이(회전 사각형의 크기)
사각형 각도(도 단위 회전 각도)
처리된 모든 검출을 병합하여 업데이트된 마스크, 바운딩 박스, 사각형 메타데이터와 함께 반환합니다
이 블록은 복잡한 폴리곤 형태를 단순화된 직사각형 표현으로 변환하며, 회전 각도를 통해 방향 정보를 보존합니다. 이는 감지된 객체 형태(예: 스포츠 경기장, 도로 구간, 표시된 영역)를 기반으로 영역이나 구역을 만들어야 하고 이를 직사각형 근사로 단순화하고 싶을 때 특히 유용합니다. 최소 회전 사각형은 폴리곤의 가장 압축된 직사각형 표현을 제공하며, 면적을 최소화하기 위해 각도가 있을 수 있습니다.
일반적인 사용 사례
객체 형태로부터 구역 생성: 감지된 폴리곤 형태를 영역 모니터링 또는 분석을 위한 직사각형 구역으로 변환합니다(예: 농구 코트 검출로부터 구역 생성, 도로 표식으로부터 도로 구간 구역 생성, 횡단보도 검출로부터 직사각형 영역 생성)하여 복잡한 형태에서 구역 기반 워크플로를 가능하게 함
영역 단순화: 복잡한 폴리곤 형태를 더 쉽게 처리할 수 있도록 직사각형 근사로 단순화합니다(예: 불규칙한 세분화 마스크를 사각형으로 단순화, 복잡한 형태를 직사각형 영역으로 변환, 폴리곤 영역을 사각형으로 근사)하여 단순화된 영역 처리를 가능하게 함
회전 영역 검출: 폴리곤 검출에서 회전된 직사각형 영역을 감지하고 추출합니다(예: 세분화에서 회전된 주차 공간 찾기, 기울어진 도로 표식을 사각형으로 검출, 회전된 객체를 직사각형 구역으로 추출)하여 회전 인식 영역 추출을 가능하게 함
면적 근사: 폴리곤 면적을 압축된 직사각형 바운딩 박스로 근사합니다(예: 스포츠 경기장 면적을 최소 사각형으로 근사, 회전 바운딩 박스를 사용하여 영역 크기 추정, 복잡한 형태로부터 압축된 직사각형 면적 계산)하여 직사각형 근사를 통한 면적 추정을 가능하게 함
형태 정규화: 표준화된 처리를 위해 폴리곤 형태를 직사각형 표현으로 정규화합니다(예: 일관된 분석을 위해 감지된 형태를 사각형으로 정규화, 폴리곤 영역을 직사각형 형식으로 표준화, 다양한 형태를 균일한 직사각형 영역으로 변환)하여 형태 정규화 워크플로를 가능하게 함
다중 객체 구역 추출: 여러 감지된 폴리곤 객체로부터 직사각형 구역을 추출합니다(예: 여러 도로 구간 검출로부터 구역 생성, 여러 경기장 검출로부터 직사각형 영역 생성, 다양한 표시 영역 검출로부터 구역 추출)하여 다중 객체 구역 생성 워크플로를 가능하게 함
다른 블록에 연결하기
이 블록은 폴리곤 마스크가 포함된 인스턴스 세분화 예측을 받아 직사각형 마스크와 바운딩 박스가 포함된 검출 결과를 생성합니다:
인스턴스 세분화 블록 뒤에 구역 생성 또는 단순화된 처리를 위해 폴리곤 마스크를 직사각형 바운딩 박스로 변환하여 복잡한 형태로부터 직사각형 구역 생성을 가능하게 함
구역 기반 블록 앞에 (예: Polygon Zone, Dynamic Zone) 구역 기반 워크플로를 위해 직사각형 영역을 준비합니다(예: 단순화된 사각형에서 구역 생성, 구역 모니터링에 직사각형 근사 사용, 직사각형 영역으로 구역 워크플로 활성화)하여 단순화된 형태의 구역 기반 워크플로를 가능하게 함
필터링 블록 뒤에서 (예: Detections Filter) 사각형으로 변환하기 전에 특정 폴리곤 검출만 처리합니다(예: 클래스별로 검출을 필터링한 뒤 직사각형 변환, 특정 폴리곤 유형을 선택하여 사각형 추출, 구역 생성을 위한 필터링된 검출 준비)하여 선택적 사각형 추출을 가능하게 함
크롭 블록 앞에 폴리곤 검출에서 직사각형 영역을 추출합니다(예: 폴리곤 형태에서 회전된 직사각형 영역 자르기, 복잡한 검출에서 직사각형 영역 추출, 폴리곤으로부터 직사각형 크롭 영역 준비)하여 직사각형 영역 추출을 가능하게 함
시각화 블록 앞에 복잡한 폴리곤의 단순화된 직사각형 표현을 표시합니다(예: 폴리곤의 직사각형 근사 시각화, 회전 바운딩 사각형 표시, 단순화된 직사각형 구역 표시)하여 직사각형 시각화 출력을 가능하게 함
분석 블록 앞에 복잡한 폴리곤보다 직사각형 영역에서 더 잘 동작합니다(예: 폴리곤 대신 직사각형 구역 분석, 단순화된 직사각형 영역 처리, 정규화된 직사각형 형태 사용)하여 단순화된 영역 분석 워크플로를 가능하게 함
유형 식별자
단계에서 다음 식별자를 사용하세요 "type" 필드: roboflow_core/bounding_rect@v1 워크플로우에 이 블록을 단계로 추가하려면.
속성
이름
유형
설명
참조
name
str
이 단계에 대한 고유 식별자를 입력하세요..
❌
이 참조 열은 워크플로우 런타임에서 사용 가능한 동적 값으로 속성을 매개변수화할 수 있는 가능성을 나타냅니다 워크플로우 런타임입니다. 자세한 내용은 바인딩 을 참조하세요.
입력 및 출력 바인딩
사용 가능한 연결은 바인딩 유형에 따라 달라집니다. 어떤 바인딩 유형인지 확인하세요 바운딩 사각형 버전 v1 을 가지고 있는지.
입력 및 출력 바인딩
입력
예측(instance_segmentation_prediction): 폴리곤 마스크가 포함된 인스턴스 세분화 예측입니다. 이 블록은 마스크가 존재해야 하며, 마스크가 없으면 오류를 발생시킵니다. 각 검출의 폴리곤 마스크는 최소 회전 외접 사각형을 계산하기 위해 처리됩니다. 마스크에는 직사각형 바운딩 박스로 변환하려는 폴리곤 형태가 포함되어 있어야 합니다. 검출은 개별적으로 처리되며, 각 마스크에서 가장 큰 윤곽선이 추출됩니다. 이 블록은 업데이트된 마스크(직사각형), 업데이트된 바운딩 박스(회전 사각형의 축 정렬 박스), 그리고 detection.data에 저장된 추가 사각형 메타데이터(사각형 좌표, 너비, 높이, 각도)를 포함한 검출 결과를 출력합니다..
출력
rect가 포함된 검출(instance_segmentation_prediction): 감지된 바운딩 박스와 sv.Detections(...) 객체 형식의 세분화 마스크가 포함된 예측.
마지막 업데이트
도움이 되었나요?