마스크 에지 스냅
에지를 감지된 경계에 맞춰 스냅시켜 인스턴스 분할 마스크를 정제합니다.
예측된 경계 주변의 대역 내에서 윤곽선 점을 Sobel 엣지에 스냅하여 인스턴스 세분화 마스크를 정제합니다. 이 블록은 마스크 가장자리를 감지된 이미지 특징에 맞게 조정하여 세분화 정확도를 향상시킵니다.
이 블록의 작동 방식
이 블록은 정교한 다단계 파이프라인을 통해 세분화 마스크를 정제합니다:
에지 검출: 입력 이미지로부터 Sobel 그래디언트 크기를 계산하여 엣지를 감지합니다
적응형 임계값 처리: 픽셀별 적응형 임계값 처리(국소 평균 + 시그마 * 국소 표준편차)를 사용하여 중요한 엣지를 식별합니다
형태학적 처리: 엣지 구간의 작은 간격을 메우기 위해 클로징(팽창 + 침식)을 적용합니다
세선화: 연결성을 유지하면서 엣지 너비를 1~2픽셀로 줄이기 위해 Zhang-Suen 단일 반복 세선화를 적용합니다
경계 대역 생성: 각 예측 마스크의 윤곽선 주변에 검색 대역을 만듭니다
면적 필터링: 최소 면적 임계값보다 작은 작은 엣지 구성 요소를 제거합니다
윤곽선 스냅: 원본 마스크 윤곽선의 각 점에 대해 허용 오차 내에서 가장 강한 인접 엣지를 찾아 그 위치로 스냅합니다
일반적인 사용 사례
의료 영상 분석: 해부학적 경계에 맞추기 위해 장기/종양 세분화 마스크를 정제합니다
산업 품질 관리: 정확한 치수 측정을 위해 부품 경계 감지를 개선합니다
자율주행차: 경로 계획 개선을 위해 도로/차선 세분화 경계를 정제합니다
농업 모니터링: 수확량 추정을 위해 작물 경계 감지를 향상시킵니다
현미경 분석: 형태학적 분석을 위해 세포/핵 세분화를 정제합니다
문서 처리: OCR을 위한 텍스트 영역 경계 감지를 개선합니다
입력 매개변수
이미지 : 입력 이미지(컬러 또는 그레이스케일)
단일 채널, 3채널(BGR) 또는 4채널(BGRA)일 수 있습니다
필요한 경우 전처리(블러, 대비 향상)는 상위 단계에서 적용해야 합니다
세분화 : 초기 인스턴스 세분화 예측
출처: 객체 감지 또는 인스턴스 세분화 모델
채워진
마스크필드를 포함해야 합니다. 비어 있으면 변경 없이 그대로 전달됩니다
픽셀 허용 오차 : 엣지 스냅을 위한 최대 수직 거리(픽셀)
범위: 일반적으로 5-50
5-15: 오프셋이 최소인 정밀한 예측
20-50: 더 많은 여유가 필요한 대략적인 예측
시그마 : 적응형 Sobel 임계값의 엄격성 배수
범위: 일반적으로 0.1-2.0
0.1-0.5: 관대함, 더 약한 엣지도 유지함, 저대비 경계에 적합
1.0-2.0: 엄격함, 가장 강한 엣지만 남음, 고대비 이미지에 적합
최소 윤곽선 면적 : 유지할 엣지 구성 요소의 최소 폐곡선 면적
범위: 일반적으로 10-1000
작음(10-50): 분절된 엣지를 유지함
큼(200-1000): 공격적인 노이즈 제거
팽창 반복 횟수 : 형태학적 클로징 반복 횟수
범위: 일반적으로 0-10
0: 클로징 없음, 임계값 처리된 엣지만 사용
1-2: 가느다란 틈을 메움
3-5: 보이는 점선을 메움
10 이상: 공격적이며, 관련 없는 엣지를 합칠 수 있음
경계 대역 너비 : 마스크 윤곽선 주변 검색 대역의 반폭(기본값: 15)
보정할 수 있는 예측 경계와 실제 경계 사이의 최대 거리를 설정합니다
적응형 윈도우 크기 : 국소 통계 윈도우의 한 변 길이(기본값: 41)
대략 더 작은 이미지 차원의 5-10%여야 합니다
더 작음(15-25): 국소 대비 민감도가 높아 미세한 노이즈를 잡을 수 있음
더 큼(81-121): 더 부드러운 임계값 필드, 전역 임계값 처리에 더 가까움
출력
정제된 세분화 : 마스크 윤곽선이 스냅된 동일한 감지 결과 edges : 살아남은 모든 엣지 픽셀의 합집합을 포함하는 단일 감지 결과(디버그/시각화)
전처리
전처리는 일반적으로 성공에 매우 중요합니다. 이 블록은 전처리를 수행하지 않습니다. 입력한 내용이 그대로 Sobel에 보입니다. 까다로운 이미지의 경우, 상위 단계에 Roboflow 이미지 처리 블록을 연결하세요:
가우시안 블러 입자가 많거나 노이즈가 있는 표면(용접부, 가공 금속, 생체 조직)에서는 픽셀 수준 노이즈를 억제하기 위해 엣지 감지 전에 블러를 적용합니다. 5x5 커널과 시그마 1.0은 합리적인 기본값이며, 매우 노이즈가 심한 이미지에는 7x7 또는 9x9로 늘리세요. 너무 과하게 블러를 적용하지 마세요. 강한 블러는 모서리를 둥글게 만들고 실제 경계를 부드럽게 하여 경계 위치가 안쪽으로 치우치게 됩니다.
양방향 블러 이미지에 노이즈와 중요한 선명한 엣지가 모두 있을 때(예: 깨끗한 배경의 질감 있는 천) 가우시안보다 더 좋습니다. 더 느리지만, 평탄한 영역의 노이즈를 제거하면서 엣지는 보존합니다.
대비 향상 경계 대비가 임계값 처리로 신뢰성 있게 판단하기에는 정말 너무 낮을 때 사용합니다. 대비 향상 블록은 히스토그램을 전체 범위를 사용하도록 정규화하여 과도한 방법의 노이즈 증폭 없이 엣지 감지 민감도를 높입니다. 남아 있는 노이즈를 억제하려면 블러를 뒤따라 적용하세요. 이미 고대비인 이미지에는 사용하지 마세요.
형태학적 열기 후 닫기 열기(침식 후 팽창)는 엣지 감지 전에 입력에서 작은 밝은 점과 가는 돌출부를 제거합니다. 표면에 미세한 이물질이나 핫 픽셀이 있어 그렇지 않으면 가짜 엣지를 생성하는 경우 유용합니다. 닫기(팽창 후 침식)는 밝은 영역의 작은 어두운 구멍/틈을 채웁니다. 간극 채우기는 바로 팽창 반복 횟수 이 매개변수가 이미 수행하므로, 이 전처리에는 Morphological Transformation v2 블록의 "Opening then Closing" 작업을 사용하세요.
순서가 중요합니다: 먼저 블러를 적용한 다음 필요하면 대비를 조정하세요. 순서를 바꾸면 블러가 노이즈를 억제하기 전에 대비 조정이 노이즈를 증폭시킵니다.
유형 식별자
단계에서 다음 식별자를 사용하세요 "type" 필드: roboflow_core/mask_edge_snap@v1 워크플로우에 이 블록을 단계로 추가하려면.
속성
이름
유형
설명
참조
name
str
이 단계에 대한 고유 식별자를 입력하세요..
❌
픽셀 허용 오차
정수
스냅 중 각 윤곽선 점에서 후보 엣지까지의 최대 수직 거리(픽셀). 일반적으로 정밀한 예측은 5-15, 대략적인 예측은 20-50이 적당합니다. 너무 작으면 범위 밖의 실제 엣지를 놓칩니다. 너무 크면 스냅이 관련 없는 엣지로 벗어날 수 있습니다..
✅
시그마
float
적응형 Sobel 임계값의 엄격성 배수(local_mean + sigma * local_std). 낮음(0.1-0.5): 관대함, 저대비에 적합. 높음(1.0-2.0): 엄격함, 가장 강한 엣지만 남음. 다른 매개변수들을 조정한 후에 이 값을 튜닝하세요..
✅
최소 윤곽선 면적
float
유지할 엣지 구성 요소의 최소 폐곡선 면적. 작음(10-50): 분절된 엣지를 유지함. 큼(200-1000): 공격적인 노이즈 제거. 대략 dilation_iterations에 비례해 스케일됩니다..
✅
팽창 반복 횟수
정수
임계값 처리된 엣지 맵의 간격을 메우기 위한 형태학적 클로징 반복 횟수. 각 반복은 약 2px의 간격을 메웁니다. 0: 클로징 없음. 1-2: 가느다란 틈. 3-5: 보이는 점선. 10 이상: 공격적 병합..
✅
경계 대역 너비
정수
세분화 윤곽선 주변 검색 대역의 반폭(픽셀). 보정할 수 있는 예측 경계와 실제 경계 사이의 최대 거리를 설정합니다. 일반적으로 pixel_tolerance 이상이어야 합니다..
✅
적응형 윈도우 크기
정수
적응형 임계값을 위한 국소 통계 윈도우의 한 변 길이입니다. 작음(15-25): 국소 민감도가 높아 노이즈를 잡을 수 있음. 기본값 41: 균형적. 큼(81-121): 더 부드러운 필드, 전역 임계값 처리에 더 가까움. 일반적으로 더 작은 이미지 차원의 약 5-10%여야 합니다..
✅
이 참조 열은 워크플로우 런타임에서 사용 가능한 동적 값으로 속성을 매개변수화할 수 있는 가능성을 나타냅니다 워크플로우 런타임입니다. 자세한 내용은 바인딩 을 참조하세요.
입력 및 출력 바인딩
사용 가능한 연결은 바인딩 유형에 따라 달라집니다. 어떤 바인딩 유형인지 확인하세요 마스크 가장자리 스냅 버전 v1 을 가지고 있는지.
입력 및 출력 바인딩
입력
이미지(이미지): 엣지 감지와 스냅을 위한 입력 이미지(컬러 또는 그레이스케일). 그레이스케일, 단일 채널, BGR 또는 BGRA일 수 있습니다. 내부적으로는 전처리가 적용되지 않으므로, 필요한 경우 블러 또는 대비 향상을 위해 상위 블록을 사용하세요..세분화(instance_segmentation_prediction): mask 필드가 채워진 인스턴스 세분화 예측. 각 마스크 윤곽선이 감지된 엣지에 스냅됩니다. 비어 있으면 세분화는 변경 없이 그대로 전달됩니다. '$steps.segmentation_model.predictions' 같은 참조 문자열이나 supervision.Detections 객체일 수 있습니다..픽셀 허용 오차(정수): 스냅 중 각 윤곽선 점에서 후보 엣지까지의 최대 수직 거리(픽셀). 일반적으로 정밀한 예측은 5-15, 대략적인 예측은 20-50이 적당합니다. 너무 작으면 범위 밖의 실제 엣지를 놓칩니다. 너무 크면 스냅이 관련 없는 엣지로 벗어날 수 있습니다..시그마(float): 적응형 Sobel 임계값의 엄격성 배수(local_mean + sigma * local_std). 낮음(0.1-0.5): 관대함, 저대비에 적합. 높음(1.0-2.0): 엄격함, 가장 강한 엣지만 남음. 다른 매개변수들을 조정한 후에 이 값을 튜닝하세요..최소 윤곽선 면적(float): 유지할 엣지 구성 요소의 최소 폐곡선 면적. 작음(10-50): 분절된 엣지를 유지함. 큼(200-1000): 공격적인 노이즈 제거. 대략 dilation_iterations에 비례해 스케일됩니다..팽창 반복 횟수(정수): 임계값 처리된 엣지 맵의 간격을 메우기 위한 형태학적 클로징 반복 횟수. 각 반복은 약 2px의 간격을 메웁니다. 0: 클로징 없음. 1-2: 가느다란 틈. 3-5: 보이는 점선. 10 이상: 공격적 병합..경계 대역 너비(정수): 세분화 윤곽선 주변 검색 대역의 반폭(픽셀). 보정할 수 있는 예측 경계와 실제 경계 사이의 최대 거리를 설정합니다. 일반적으로 pixel_tolerance 이상이어야 합니다..적응형 윈도우 크기(정수): 적응형 임계값을 위한 국소 통계 윈도우의 한 변 길이입니다. 작음(15-25): 국소 민감도가 높아 노이즈를 잡을 수 있음. 기본값 41: 균형적. 큼(81-121): 더 부드러운 필드, 전역 임계값 처리에 더 가까움. 일반적으로 더 작은 이미지 차원의 약 5-10%여야 합니다..
출력
정제된 세분화(instance_segmentation_prediction): 감지된 바운딩 박스와 sv.Detections(...) 객체 형식의 세분화 마스크가 포함된 예측.edges(instance_segmentation_prediction): 감지된 바운딩 박스와 sv.Detections(...) 객체 형식의 세분화 마스크가 포함된 예측.
마지막 업데이트
도움이 되었나요?