1

我正在使用 Pytorch 和 Fiftyone 来处理图像检测,然后像这样在人们周围可视化这些图像检测:

在此处输入图像描述

但是,我很难以易于查看的方式保存它。我希望能够通过脚本保存处理后的图像,其中边界框覆盖在图像上,我现在只能通过右键单击并从上面的应用程序下载图像来完成。FiftyOne 提供了多种导出数据的选项:https ://voxel51.com/docs/fiftyone/user_guide/export_datasets.html#supported-formats ,但所有这些都导出检测以在另一个脚本中使用(通过分别保存图像和检测在 .txt/.json/etc 文件中)而不是“最终可视化”图像。如何使用 FiftyOne 保存您在上面看到的图像(包括检测框)?如果没有内置方法,我可以将其导出到另一种类型的数据集并在那里保存检测结果吗?

4

1 回答 1

1

FiftyOne 具有内置功能,允许您在样本上绘制标签并将它们保存到磁盘以用于任何数据集、视图甚至单个样本:https ://voxel51.com/docs/fiftyone/user_guide/draw_labels.html

一般来说,它可以很简单:

import fiftyone as fo

# The Dataset or DatasetView containing the samples you wish to draw
dataset_or_view = fo.Dataset(...)

# The directory to which to write the annotated media
output_dir = "/path/for/output"

# The list of `Label` fields containing the labels that you wish to render on
# the source media (e.g., classifications or detections)
label_fields = ["ground_truth", "predictions"]  # for example

# Render the labels!
dataset_or_view.draw_labels(output_dir, label_fields=label_fields)

draw_labels()方法还接受 a DrawConfig,它提供了许多选项,用于在绘制标签时如何呈现标签。

于 2021-12-02T14:42:07.730 回答