我正在努力训练检测巴基斯坦汽车牌照的模型。我发现了一种叫做YOLO的更快的技术。这是一个链接YOLOv2
我正在关注培训YOLOv2的博客是blog
根据这个博客,我需要有汽车的图像,我需要注释这些图像(需要标记车牌的位置),以准备测试数据和训练数据。问题是我已经有了
形式的训练数据并且本教程要求我从汽车图像中进行注释。
如果有人与YOLO合作,请告诉我如何避免注释并使用我自己的训练数据来训练YOLO模型。
答案 0 :(得分:2)
Yolo训练需要以下注释格式
[class] [X] [Y] [W] [H]
即
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)
答案 1 :(得分:0)
我现在也在处理与YOLO的LP认可。如上所述,它是一个不错的选择,总线,为了解决物体检测问题,你需要的训练集不是裸LP,而是自然环境中的" LPs"训练Yolo找到框架上的LP位置。如果你没有它,但只有一组裸LP,你需要以一些人工的方式生产它。我可以建议1)用负面例子扩展你的训练集(没有LP的图像)2)训练Yolo用于对象分类问题3)处理你没有标记的自然环境"使用移动窗口获取分类模型以检测LP地面真实位置(是的,它可以消耗资源......)并因此得到用于物体检测问题的训练集4)训练NN以解决物体检测问题。顺便说一下,您可以使用在步骤2中训练的相同NN,但输入大小较大,并且最后一层更改为检测问题的初始权重(但对于我来说,它并没有提供任何改进,包括跟踪从头开始检测。