基于DeepLabV3Plus实现焊缝分割识别系统

焊缝跟裂缝有着相似的形式,在我之前的文章中已经做过不少关于裂缝检测、分割识别相关的工作,这里主要就是基于DeepLabV3Plus实现焊缝的分割识别,首先看下效果:

基于DeepLabV3Plus实现焊缝分割识别系统_第1张图片

接下来看下数据集:

基于DeepLabV3Plus实现焊缝分割识别系统_第2张图片

标注可视化如下所示:

基于DeepLabV3Plus实现焊缝分割识别系统_第3张图片

随机划分总体数据集创建训练集-测试集,如下:

txtDir = "datasets/ImageSets/Segmentation/"
if not os.path.exists(txtDir):
    os.makedirs(txtDir)
train_txt = "datasets/ImageSets/Segmentation/train.txt"
test_txt = "datasets/ImageSets/Segmentation/test.txt"
train_ratio = 0.85


ids_list = [
    one.split(".")[0].strip() for one in os.listdir("datasets/SegmentationClass/")
]
print("ids_list_length: ", len(ids_list))


train_num = int(len(ids_list) * train_ratio)
print("train_num: ", train_num)
train_ids_list = random.sample(ids_list, train_num)
test_ids_list = list(set(ids_list) - set(train_ids_list))
print("test_num: ", len(test_ids_list))


with open(train_txt, "w") as f:
    for one_id in train_ids_list:
        f.write(one_id.strip() + "\n")
with open(test_txt, "w") as f:
    for one_id in test_ids_list:
        f.write(one_id.strip() + "\n")

自动创建train.txt和test.txt,如下:

基于DeepLabV3Plus实现焊缝分割识别系统_第4张图片

对DeepLabV3Plus进行结构可视化如下所示:

我这里直接使用的就是开源的项目,可以根据自己实际需要选择即可。

默认迭代计算100个epoch,对其进行可视化如下:

基于DeepLabV3Plus实现焊缝分割识别系统_第5张图片

实际测试计算

原图:

基于DeepLabV3Plus实现焊缝分割识别系统_第6张图片

结果图:

基于DeepLabV3Plus实现焊缝分割识别系统_第7张图片

你可能感兴趣的:(机器学习,深度学习,python,算法,开发语言)