我使用了开放图像数据集( v6 )中的图像和注释数据。
我能够检索图像,但不能检索注释信息。
你能告诉我该怎么做吗?
当前状态
我在GoogleColaboratory上运行了代码,引用了五十一的演示。
我能够运行到以下几点
dataset = foz.load_zoo_dataset(
"open-images-v6",
split="validation",
label_types=["detections", "classifications"],
classes=["Bottle"],
max_samples=250,
seed=51,
shuffle=True,
dataset_name="open-images-sample-mix-data",
)
person_subset = foz.load_zoo_dataset(
"open-images-v6",
split="validation",
label_types=["detections", "classifications"],
classes=["Person"],
max_samples=250,
seed=51,
shuffle=True,
dataset_name="Person-subset",
)
can_subset = foz.load_zoo_dataset(
"open-images-v6",
split="validation",
label_types=["detections", "classifications"],
classes={'Tin can'},
max_samples=250,
seed=51,
shuffle=True,
dataset_name="Tin_can-subset",
)
box_subset = foz.load_zoo_dataset(
"open-images-v6",
split="validation",
label_types=["detections", "classifications"],
classes=["Box"],
max_samples=250,
seed=51,
shuffle=True,
dataset_name="Box-subset",
)
_ = dataset.merge_samples(person_subset)
_ = dataset.merge_samples(box_subset)
_ = dataset.merge_samples(can_subset)但是,从这里开始,我希望打开文件detections.csv,并将坐标信息键入生成的文本中,但是文件太大,无法打开。
你能告诉我如何得到坐标信息吗?
发布于 2021-08-18 21:31:09
基本Open注释csv文件相当大。访问边界框坐标的最佳方法是直接迭代FiftyOne数据集并从FiftyOne检测 label对象访问坐标。
bboxes = []
for sample in dataset:
for detection in sample.detections.detections:
bbox = detection.bounding_box
bboxes.append(bbox)在这个循环中,您还可以访问要存储在文本文件中的其他信息,如示例ids和分类注释。虽然这个循环是从数据集中获取其他信息的最灵活的方法,但是如果您只需要边界框坐标,获得该信息的最有效方法是使用dataset.values()。
bboxes = dataset.values("detections.detections.bounding_box")无论哪种方式,您都可以以编程的方式将这些框坐标列表写入文本文件。
https://stackoverflow.com/questions/68825830
复制相似问题