目标检测
组件介绍
“目标检测”(Object Detection) 控件主要用于训练目标检测模型。
目标检测模型一般用于找出图像中所有感兴趣的目标(物体),确定它们的类别和位置。
- 输入:
- img: 图像数据集
- 输出:
- dpmod:深度学习模型
“目标检测”(Object Detection) 控件读取COCO数据集,通过指定要训练的模型、Backbone以及相关的模型训练参数进行目标检测模型的训练。
训练集目录结构如下:
|- train
|- image1
|- image2
|- ...
|- val
|- val_image1
|- val_image2
|- ...
|- annotations
|- train.json
|- val.json
测试集目录结构如下:
|- test
|- image1
|- image2
|- ...
|- test_list.txt
test_list.txt用于记录测试集数据信息,test_list.txt内容示例如下:
test/1.jpg
test/2.jpg
test/3.jpg
页面介绍
点击 “目标检测”(Object Detection) 控件查看参数配置页面,如下图所示:
参数选项
选项 | 说明 | 取值范围 | 样例值 | ||
---|---|---|---|---|---|
模型名称 | 设置模型名称,用于在其他组件中区分不同的模型 | 非空字符串 | Object Detection | ||
计算框架 | 选择模型训练采用的训练框架,控件支持如下计算框架: | PyTorch | PyTorch | ||
模型选择 | PyTorch | 支持的用于目标检测的深度学习模型 | YOLOv3 | FasterRCNN | |
Tensorflow | SSD | SSD | |||
Backbone选择 | PyTorch | 主干网络,是模型的主要组成部分,backbone负责提取输入图像的特征,以便后续的处理和分析。 | PyTorch | DarkNet53 | MobileNetV2 |
Tensorflow | MobileNetV1 | ResNet50 | |||
训练参数 | 迭代轮数 | 训练迭代轮数(epoch) | 1~100000 | 10 | |
学习率 | learning rate | 0.00000001~1 | 0.001 | ||
批大小 | 一个epoch训练的样本大小 | 1~840 | 4 |
使用案例
在下图所示的案例中,使用 “图像”(Image) 控件加载数据集,连接 “目标检测”(Object Detection) 控件构建模型,再将 “目标检测”(Object Detection) 控件与 “训练日志”(Train Log) 控件连接起来查看模型的训练日志。
案例中加载COCO数据集,案例中控件执行结果如下图所示: