发布于 2018-06-29 21:49:00
Yolo培训需要以下注释格式
[class] [X] [Y] [W] [H]
i.e
0 0.443359 0.434722 0.391406 0.869444
如果您有相同的注释数据集,恭喜您可以开始训练。如果您没有相同的工具,可以使用github上提供的工具进行转换。
更新:例如,注释是从中心开始计算的。如果您使用的是x1、y1、x2、y2格式,则需要对其进行转换。
def convert_to_yolo_format(path, x1, y1, x2, y2):
"""
Definition: Converts (x1, y1, x1, y2) format to
(x, y, width, height) normalized YOLO format.
"""
size = get_img_shape(path) # size array [width,height]
dw = 1./size[0]
dh = 1./size[1]
x = (x1 + x2)/2.0 # centroid x
y = (y1 + y2)/2.0 # centroid y
w = x2 - x1 # width
h = y1 - y2 # height
x = abs(x*dw) # divide by width
w = abs(w*dw) # divide by width
y = abs(y*dh) # divide by height
h = abs(h*dh) # divide by height
return (x,y,w,h)发布于 2018-05-31 21:58:16
我现在还用YOLO处理LP识别。这是一个很好的选择,如上所述,为了解决目标检测问题,你需要的训练集不是用纯LP,而是用“自然环境中的LP”来训练Yolo来找到帧上的LP位置。如果你没有得到它,但只有一组裸露的LP,你需要以某种人为的方式生成它。我可以建议1)用反例(没有LP的图像)扩展你的训练集2)训练Yolo用于对象分类问题3)使用移动窗口使用获得的分类模型处理你未标记的“自然环境”训练集来检测LP地面真实位置(是的,这可能是资源消耗...)从而得到目标检测问题的训练集4)训练神经网络来解决目标检测问题。顺便说一句,你可以使用在步骤2中训练的相同的神经网络,但具有更大的输入大小和改变的最后一层作为检测问题的初始权重(但对我来说,与从头开始训练检测相比,它没有任何改进)。
https://stackoverflow.com/questions/50304871
复制相似问题