jaccard
영상 분할을 위한 자카드 유사성 계수
설명
는 이진 영상 similarity
= jaccard(BW1
,BW2
)BW1
과 BW2
의 교집합을 BW1
과 BW2
의 합집합으로 나눈 값을 계산합니다. 자카드(Jaccard) 지수라고도 알려져 있습니다. 이 영상은 이진 영상, 레이블 영상 또는 categorical형 영상일 수 있습니다.
는 레이블 영상 similarity
= jaccard(L1
,L2
)L1
및 L2
에서 각 레이블의 자카드 지수를 계산합니다.
는 범주 영상 similarity
= jaccard(C1
,C2
)C1
및 C2
에서 각 범주의 자카드 지수를 계산합니다.
예제
이진 분할을 위한 자카드 유사성 계수 계산하기
분할할 객체가 있는 영상을 읽어 들입니다. 영상을 회색조로 변환하고 결과를 표시합니다.
A = imread('hands1.jpg'); I = im2gray(A); figure imshow(I) title('Original Image')
능동 윤곽선(스네이크) 방법을 사용하여 손을 분할합니다.
mask = false(size(I)); mask(25:end-25,25:end-25) = true; BW = activecontour(I, mask, 300);
분할과 비교할 ground truth를 읽어 들입니다.
BW_groundTruth = imread('hands1-mask.png');
이 분할의 자카드 지수를 계산합니다.
similarity = jaccard(BW, BW_groundTruth);
마스크가 서로 겹치도록 표시합니다. 색은 마스크의 차이를 나타냅니다.
figure
imshowpair(BW, BW_groundTruth)
title(['Jaccard Index = ' num2str(similarity)])
다중 영역 분할을 위한 자카드 유사성 계수 계산하기
이 예제에서는 영상을 여러 영역으로 분할하는 방법을 보여줍니다. 그런 다음, 영역별로 자카드 유사성 계수를 계산합니다.
분할할 여러 영역이 있는 영상을 읽어 들입니다.
RGB = imread('yellowlily.jpg');
세 영역의 일반적인 색 특성을 구별하기 위해 표식(Scribble)을 만듭니다. 첫 번째 영역은 노란색 꽃을 분류합니다. 두 번째 영역은 녹색 줄기와 잎을 분류합니다. 마지막 영역은 갈색 흙을 이 영상의 서로 다른 두 패치로 분류합니다. 영역은 4개 요소를 가지는 벡터로 지정합니다. 요소는 각각 ROI 왼쪽 상단 코너의 x 좌표와 y 좌표, ROI의 너비, ROI의 높이를 나타냅니다.
region1 = [350 700 425 120]; % [x y w h] format
BW1 = false(size(RGB,1),size(RGB,2));
BW1(region1(2):region1(2)+region1(4),region1(1):region1(1)+region1(3)) = true;
region2 = [800 1124 120 230];
BW2 = false(size(RGB,1),size(RGB,2));
BW2(region2(2):region2(2)+region2(4),region2(1):region2(1)+region2(3)) = true;
region3 = [20 1320 480 200; 1010 290 180 240];
BW3 = false(size(RGB,1),size(RGB,2));
BW3(region3(1,2):region3(1,2)+region3(1,4),region3(1,1):region3(1,1)+region3(1,3)) = true;
BW3(region3(2,2):region3(2,2)+region3(2,4),region3(2,1):region3(2,1)+region3(2,3)) = true;
영상 위에 시드 영역을 표시합니다.
figure imshow(RGB) hold on visboundaries(BW1,'Color','r'); visboundaries(BW2,'Color','g'); visboundaries(BW3,'Color','b'); title('Seed Regions')
측지선 거리 기반 색 분할을 사용하여 영상을 3개 영역으로 분할합니다.
L = imseggeodesic(RGB,BW1,BW2,BW3,'AdaptiveChannelWeighting',true);
영상의 ground truth 분할을 불러옵니다.
L_groundTruth = double(imread('yellowlily-segmented.png'));
분할 결과와 ground truth를 시각적으로 비교합니다.
figure imshowpair(label2rgb(L),label2rgb(L_groundTruth),'montage') title('Comparison of Segmentation Results (Left) and Ground Truth (Right)')
분할된 영역 각각의 자카드 유사성 지수(IoU)를 계산합니다.
similarity = jaccard(L, L_groundTruth)
similarity = 3×1
0.8861
0.5683
0.8414
자카드 유사성 지수가 두 번째 영역에서 훨씬 더 작습니다. 이 결과는 분할 결과를 시각적으로 비교한 것과 일치합니다. 영상의 오른쪽 아래 코너에서 흙을 잎으로 잘못 분류했습니다.
입력 인수
BW1
— 첫 번째 이진 영상
논리형 배열
첫 이진 영상으로, 임의 차원의 논리형 배열로 지정됩니다.
데이터형: logical
BW2
— 두 번째 이진 영상
논리형 배열
두 번째 이진 영상으로, BW1
와 크기가 같은 논리형 배열로 지정됩니다.
데이터형: logical
L1
— 첫 번째 레이블 영상
음이 아닌 정수로 구성된 배열
첫 번째 레이블 영상으로, 음이 아닌 정수로 구성된 임의 차원의 배열로 지정됩니다.
데이터형: double
L2
— 두 번째 레이블 영상
음이 아닌 정수로 구성된 배열
두 번째 레이블 영상으로, L1
과 크기가 동일하면서 음이 아닌 정수로 구성된 배열로 지정됩니다.
데이터형: double
C1
— 첫 번째 범주 영상
categorical
형 배열
첫 번째 범주 영상으로, 임의 차원의 categorical
형 배열로 지정됩니다.
데이터형: category
C2
— 두 번째 범주 영상
categorical
형 배열
두 번째 범주 영상으로, C1
과 동일한 크기의 categorical
형 배열로 지정됩니다.
데이터형: category
출력 인수
similarity
— 자카드 유사성 계수
숫자형 스칼라 | 숫자형 벡터
자카드 유사성 계수로, 숫자형 스칼라 또는 [0, 1] 범위의 값을 갖는 숫자형 벡터로 반환됩니다. similarity
가 1이면 두 영상의 분할이 완벽하게 일치하는 것입니다. 입력 배열에 따라 similarity는 다음과 같습니다.
입력 배열이 이진 영상이면
similarity
는 스칼라입니다.입력 배열이 레이블 영상이면
similarity
는 벡터입니다. 여기서 첫 번째 계수는 레이블 1의 자카드 지수, 두 번째 계수는 레이블 2의 자카드 지수 등으로 진행됩니다.입력 배열이 범주 영상이면
similarity
는 벡터입니다. 여기서 첫 번째 계수는 첫 번째 범주의 자카드 지수, 두 번째 계수는 두 번째 범주의 자카드 지수 등으로 진행됩니다.
데이터형: double
세부 정보
자카드 유사성 계수
두 집합 A와 B의 자카드 유사성 계수(intersection over union 또는 IoU라고도 알려짐)는 다음과 같이 표현됩니다.
jaccard
(A,B) = | intersection
(A,B) | / | union
(A,B) |
여기서 |A|는 집합 A의 집합 크기(cardinal)를 나타냅니다. 자카드 지수는 참양성(TP), 거짓양성(FP), 거짓음성(FN)을 사용하여 다음과 같이 표현될 수도 있습니다.
jaccard
(A,B) = TP / (TP + FP + FN)
다음과 같이 자카드 지수는 다이스 지수와 관련 있습니다.
jaccard
(A,B) = dice
(A,B) / (2 - dice
(A,B) )
버전 내역
R2017b에 개발됨
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)