當我要評估的圖片label是全黑的時候
我出來的指標就全都是0
可是我預測是正確的
測試圖片:
Ground Truth:
Prediction:
評估結果:
Recall:0.0
Precision:0
IoU:0.0
程式碼:
def Precision(src_img,GT_img):
And_msk = cv2.bitwise_and(src_img, GT_img)
GT_Total_value=cv2.countNonZero(GT_img)
And_msk_value=cv2.countNonZero(And_msk)
if GT_Total_value == 0:
return 0
else:
return And_msk_value/GT_Total_value
def Recall(src_img,GT_img):
And_msk=cv2.bitwise_and(src_img, GT_img)
src_Total_value=cv2.countNonZero(src_img)
And_msk_value=cv2.countNonZero(And_msk)
if src_Total_value == 0:
return 0
else:
return And_msk_value/src_Total_value
def IOU(src_img,GT_img):
And_msk=cv2.bitwise_and(src_img, GT_img)
Or_msk=cv2.bitwise_or(src_img, GT_img)
And_msk_value=cv2.countNonZero(And_msk)
Or_msk_Value=cv2.countNonZero(Or_msk)
if And_msk_value == -1:
return 0
else:
return And_msk_value/Or_msk_Value
在其他案例中都是正常的,只有遇到Ground truth全為黑色(pixel=0)時就會發生這樣的問題