1

我正在尝试创建一个SFrame包含图像和边界框的坐标,以便使用TuriCreate. 我通过IBM Cloud AnnotationsCreateML创建了自己的数据集,并以格式导出。当我运行时:

usage_data = tc.SFrame.read_json("annotations.json")

我得到:

[{'标签':'xyz'... | 8be1172e-44bb-4084-917f-db....

这不是要求的格式。确认运行以下代码:

data = tc.SFrame.read_json("annotations.json")

train_data, test_data = data.random_split(0.75)

model = tc.object_detector.create(train_data)

predictions = model.predict(test_data)

`我得到:

ToolkitError: No "feature" column specified and no column with expected type "image" is found. "datasets" consists of columns with types: list, str.

我想知道:

  1. CreateML导出数据格式是否正确?
  2. 我可以SFrame.read_json()用来读取这种数据吗?
4

1 回答 1

2

您需要从您的图像文件夹中创建一个 SFrame,然后将其加入到您的注释 SFrame 中,例如:

imagesSFrame = turicreate.image_analysis.load_images('imagesFolder/')
combinedSFrame = images.join(annotationsSFrame)

只需确保您的每个注释都有一个与您的 imagesSFrame 中的路径完全匹配的路径。以下是我的 csv 格式:

path, annotation,
imagesFolder/image1.png,[{'label': 'dog', 'coordinates': {'height': 118, 'width': 240, 'x': 155, 'y': 129}}]

print(imagesSFrame)将允许您检查 imagesSFrame 中的路径

于 2020-08-28T21:48:28.417 回答