【问题标题】:convert a .csv file to yolo darknet format将 .csv 文件转换为 yolo 暗网格式
【发布时间】:2021-01-22 02:12:54
【问题描述】:

我有一些最初是 .csv 格式的注释。我需要将其转换为 yolo 暗网格式才能使用 yolov4 训练我的模型。

我的 .csv 文件:

YOLO 格式为:object-class x y width height

哪里,object_class,widht,height 从我的 .csv 格式中知道。但是找到 x,y 令人困惑。请注意,x 和 y 是矩形的中心(不是左上角)。

任何帮助将不胜感激:)

【问题讨论】:

    标签: object-detection yolo darknet


    【解决方案1】:

    您可以使用此函数将边界框转换为 yolo 格式。当然,您需要编写一些代码来读取 csv。只需将此函数用作满足您需求的模板即可。

    这个函数是从 labelimg 应用程序中提取的: https://github.com/tzutalin/labelImg/blob/master/libs/yolo_io.py

        def BndBox2YoloLine(self, box, classList=[]):
            xmin = box['xmin']
            xmax = box['xmax']
            ymin = box['ymin']
            ymax = box['ymax']
    
            xcen = float((xmin + xmax)) / 2 / self.imgSize[1]
            ycen = float((ymin + ymax)) / 2 / self.imgSize[0]
    
            w = float((xmax - xmin)) / self.imgSize[1]
            h = float((ymax - ymin)) / self.imgSize[0]
    
            # PR387
            boxName = box['name']
            if boxName not in classList:
                classList.append(boxName)
    
            classIndex = classList.index(boxName)
    
            return classIndex, xcen, ycen, w, h
    

    【讨论】:

    • 谢谢伙计。图像尺寸是我的原始图像尺寸(1020 x 720p)还是我要使用的 yolo 建筑图像(408x408)??
    • 原始图像大小,yolo 转换为 408x408 或阅读框后的任何内容
    • @RafaelJunioXavier self.imgSize[1] 是指宽度(1280)和 [0] 到高度(720)吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-09
    • 2022-06-23
    • 2019-07-01
    • 1970-01-01
    • 2018-08-15
    • 1970-01-01
    相关资源
    最近更新 更多