螺丝松紧分割

Posted on Oct 4, 2024

概述

实验的时间和条件如下,关于实验背景,需要参考 CNN和Yolo结合的流水线

实验准备

看了下新的图片,loose 病人的图片经过 yolo 分割之后很少,查了一下原始图片格式有些问题。

loose 病人的图片比较少,比较难找,我想了一下,感觉 loose 病人的螺丝区域可以试一下手工截出来,因为用 yolo 直接切原片有可能有误差会排除掉很多松的螺丝。像这个如果图片里两个螺丝都是松的话 yolo 只切出了比较垂直那个。

训练流程

训练流程再回忆一下。

  1. 预训练: 用yolo或者labelme的影像模型做CNN模型的预训练材料,最终获得预训练模型
  2. fine-tuned: 用病人真实的图片,将预训练模型再继续训练

另外还要注意的是,下面的训练是基于 yolo 的模型分割的图片做的,主要目的是增加了样本量,但是分割出来的图片没有进行过人工审核,有可能出现一些有问题的分割图片,可能会对模型的精度有一定的影响。

训练记录

确认一下预训练的数据分类没有问题。

进行预训练。

预训练的结果如下,从结果看,直接用 yolo 出来的图片效果准确率在90%左右。

确认一下 fine-tuned 的数据分类有没有问题。

进行 fine-tuned。

从 fine-tuned 最终的结果看到,效果一般。

从 loss 曲线看比较早就过拟合了。

另一方面,看 grad-cam 的结果也可以知道,fine-tuned 模型在分类的时候几乎没有找到「抓手」。

问题总结

yolo 模型在对原始图片进行语义分割,可能会有精度问题,虽然可以短时间内获取大量预训练的图片,但有些图片的质量会比较差。

鉴于 yolo 出来的图片质量存在瑕疵,有两个方法进行调整:

  1. 继续增加训练yolo模型的图片量,持续训练一个精度较好的yolo模型
  2. yolo分割出来的图片增加人工审核的环节,排除质量差的图片

如果 yolo 效果一般,也可以考虑增加人力,通过 labelme 人工标注目标位置。