基于Caffe框架的目标检测算法SSD–进行自有数据替换并训练
主要步骤:
- 标签数据预处理
- 图片数据预处理
- 数据及标签的VOC格式以及LMDB格式转化
- 网络训练
- 其他问题分析
1.标签数据预处理
由于拿到的是YOLOv3格式的训练集label,不满足SSD标签格式。故标签需要先被转化成符合要求的输入格式。
注:YOLOv3标签格式为(x,y,w,h)。其中x,y为物体框中点横纵坐标表示,w,h为物体框的宽、高。四类信息数据均被进行了数值归一化预处理,除以了512(512为图片大小)。
我们需要调整为满足SSD数据输入格式的标签,保证txt格式的第一行为object_number,第二行五列数值依次为:标识物label序号–Xmin–Ymin–Xmax–Ymax。制作python脚本进行数值转换。
#在第一行插入object_number程序
for i in range(612): #612为待处理图片个数
i+=1
with open(str(i)+'.txt', 'r+') as f:
content = f.read