数据集准备

​ 运行rename.py重命名

数据预处理

​ 运行labelme.exe打标签,将打完后的json和原始图片一起放到dataset/before。

​ 执行make_mask.py将数据放入dataset/segmentationclass/make_mask中。

构建网络框架

net.py

训练

train.py

测试

test.py 测试

watch_result.py 可视化显示对比图片

评估模型

headle-evaluat.py

输出miou,recall,precision

实际:1 实际:0
预测:1 TP FP
预测:0 FN TN
  • P:标签为正样本。

    N:标签为负样本。

    T:预测对了。

    F:预测错了

  • TP:True Positive。预测为1,实际为1,预测正确。

  • FP:False Positive。预测为1,实际为0,预测错误。

  • FN:False Negative。预测为0,实际为1,预测错误。

  • TN:True Negative。预测为0,实际为0,预测正确

image-20231129111029730.png

准确率(Accuracy):准确率(Accuracy)是指预测正确的样本占总数的比例。

1
accuracy = (TP+TN)/(TP+TN+FP+FN)

召回率(Recall):召回率(Recall)是指所有实际为正的样本中预测为正样本的比例。

1
recall = TP/(TP+FN)

精准率(Precision):精准率(Precision)是指所有预测为正的样本中实际为正样本的比例。

1
precision = TP/(TP+FP)

F1-Score:F1-Score 是一个兼顾了模型的召回率和精准率的综合指标。它适用于对数据集中的每类目标分割性能进行评估。

1
F1 = 2 * recall * precision / (recall + precision)

交并比(intersaction over union, IoU):交并比(IoU)是指图像分割区域与模型预测区域的交集和并集的比值。IOU通常用于目标检测或分割任务中,计算模型预测结果和真实标签之间的交集面积与并集面积之比。

1
IOU = TP/(FP+TP+FN)

平均交并比(mean intersaction over union,mIoU):平均交并比(mIoU)是指对每类别的 IoU 求均值,最常用。

1
2
iou_sum += (TP/(TP+FN+FP))
MIOU = iou_sum/len(labels)

结果:

‘MIOU is 0.4966466894977169’,

‘召回率(recall) is {0: 0.9932933789954338, 1: nan}’,

‘精确率(precision) is {0: 1.0, 1: 0.0}’