图像分割
组件介绍
“图像分割”(Segmentation) 控件主要用于训练图像分割模型。
图像分割模型根据灰度、彩色、空间纹理、几何形状等特征把图像划分成若干个互不相交的区域,使得这些特征在同一区域内表现出一致性或相似性,而在不同区域间表现出明显的不同。
- 输入:
- img: 图像数据集
- 输出:
- dpmod:深度学习模型
“图像分割”(Segmentation) 控件读取VOC数据集,通过指定要训练的模型及相关的训练参数进行图像分割模型的训练。 训练集目录结构如下:
|- train
|- annotations
|- annotation_img1.png
|- annotation_img2.png
|- ...
|- images
|- img1
|- img2
|- ...
|- ...
|- val
|- annotations
|- annotation_val_img1.png
|- annotation_val_img2.png
|- ...
|- images
|- val_img1
|- val_img2
|- ...
|- ...
|- label_list.txt
|- train_list.txt
|- val_list.txt
其中label_list.txt用于记录标签信息,包括标签名,label_list.txt内容示例如下:
background
candy
egg tart
french fries
chocolate
biscuit
train_list.txt用于记录训练集数据信息,包括图片目录及标注图片目录,train_list.txt内容示例如下:
train/images/img0.jpg train/annotations/img0.png
train/images/img1.jpg train/annotations/img1.png
train/images/img2.jpg train/annotations/img2.png
val_list.txt用于记录验证集数据信息,包括图片目录及标注图片目录,val_list.txt内容示例如下:
validation/images/img85.jpg validation/annotations/img85.png
validation/images/img86.jpg validation/annotations/img86.png
validation/images/img87.jpg validation/annotations/img87.png
测试集目录结构如下:
|- test
|- images
|- img1
|- img2
|- ...
页面介绍
点击 “图像分割”(Segmentation) 控件查看参数配置页面,如下图所示:
参数选项
选项 | 说明 | 取值范围 | 样例值 | |
---|---|---|---|---|
模型名称 | 设置模型名称,用于 在其他组件中区分不同的模型 | 非空字符串 | Segmentation | |
计算框架 | 选择模型训练采用的训练框架,控件支持如下计算框架: | PyTorch | PyTorch | |
模型选择 | PyTorch | 支持的用于图像分割的深度学习模型 | SegFormer-B0 | SegFormer-B0 |
Tensorflow | SegFormer-B0 | SegFormer-B0 | ||
训练参数 | 迭代轮数 | 训练迭代轮数(epoch) | 1~100000 | 10 |
学习率 | learning rate | 0.00000001~1 | 0.001 | |
批大小 | 一个epoch训练的样本大小 | 1~840 | 4 |
使用案例
在下图所示的案例中,使用 “图像”(Image) 控件加载数据集,连接 “图像分割”(Segmentation) 控件构建模型,再将 “图像分割”(Segmentation) 控件与 “训练日志”(Train Log) 控件连接起来查看模型的训练日志。
案例中加载COCO数据集,案例中控件执行结果如下图所示: