首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Yolov5 bboxes导出为Pascal格式

将Yolov5 bboxes导出为Pascal格式
EN

Stack Overflow用户
提问于 2021-11-16 18:40:03
回答 3查看 893关注 0票数 2

以前已经问过一些类似的样式问题(12),但是没有人提到新的Yolov5样式注释。

是否有一个简单的函数接受规范化的Yolov5包围框,例如:-

代码语言:javascript
复制
test = [0.436523 0.535156 0.587891 0.484375]

def some_function(test):
    ...
    return pascal_coords

并以Pascal格式返回?

我尝试过很多在线脚本,比如https://dbuscombe-usgs.github.io/MLMONDAYS/blog/2020/08/17/blog-posthttps://blog.roboflow.com/how-to-convert-annotations-from-pascal-voc-to-yolo-darknet/

但它们的目标是实现包括xml在内的完整数据集转换,而且有些不接受规范化框

这是格式:-

代码语言:javascript
复制
Yolov5 [<x-center> <y-center> <width> <height>]

|---> Converted to <-----|

Pascal VOC [x-top-left, y-top-left, x-bottom-right, y-bottom-right]

我只想要转换边框:) TIA!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-11-18 20:13:17

经过一段时间的挖掘,我发现这个优秀的小包隐藏在谷歌搜索堆中,由@tensorturtle提供的https://github.com/tensorturtle/rebox。感谢作者提供了这样一个有用和简单易用的存储库!

它提供了一种快速转换bboxes以及计算基本操作(如IOU )的方法。非常可爱的作品:)

票数 2
EN

Stack Overflow用户

发布于 2021-11-17 18:39:16

没有直接的方法将规范化的Yolo格式转换成另一种格式,比如Pascal,因为您需要知道图像的大小才能进行转换。(就像您首先需要知道图像的大小才能将其转换为规范化的yolo格式一样。)您还需要提供一些映射来将类号转换为类名。

我正在开发一个Python包,以简化这类名为PyLabel的转换。我有一个示例笔记本,它将把Yolo v5注释转换为VOC格式,这里是https://github.com/pylabel-project/samples/blob/main/yolo2voc.ipynb。您可以使用此链接在Colab中打开它。

核心代码如下所示:

代码语言:javascript
复制
from pylabel import importer
dataset = importer.ImportYoloV5(path=path_to_annotations, path_to_images=path_to_images)
dataset.export.ExportToVoc(output_path=output_path)

希望这能有所帮助。如果您有反馈或需要帮助,请随时与我联系。

票数 2
EN

Stack Overflow用户

发布于 2022-01-26 14:19:28

下面是我将Yolo转换为Pascal_VOC时使用的代码片段。Yolo使用归一化坐标,因此图像的高度和宽度非常重要。否则你就不能把它计算回来。

这是我的片段:

代码语言:javascript
复制
# Convert Yolo bb to Pascal_voc bb
def yolo_to_pascal_voc(x_center, y_center, w, h,  image_w, image_h):
    w = w * image_w
    h = h * image_h
    x1 = ((2 * x_center * image_w) - w)/2
    y1 = ((2 * y_center * image_h) - h)/2
    x2 = x1 + w
    y2 = y1 + h
    return [x1, y1, x2, y2]

对于任何其他对象检测格式转换,您可以查看我在媒体:https://christianbernecker.medium.com/convert-bounding-boxes-from-coco-to-pascal-voc-to-yolo-and-back-660dc6178742上的博客文章。

玩得开心!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69994481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档