为不同的任务重新使用创建的数据集(对象检测 - 图像分类)

Posted

技术标签:

【中文标题】为不同的任务重新使用创建的数据集(对象检测 - 图像分类)【英文标题】:Re-using created dataset for different task (object detection - image classification) 【发布时间】:2020-11-11 17:55:06 【问题描述】:

我在 Amazon sagemaker 中创建了一个大型数据集,并使用边界框对其进行了标记。我使用这个数据集进行对象检测,一切正常。 后来,我想用这个数据集进行简单的图像分类。但每次我尝试运行它时,都会出现错误:客户错误:标签不是浮点数。

我认为问题可能是边界框,因为图像分类算法并不期望它们,但是有什么办法,如何改变它?我的目标是使用边界框中的图像部分进行图像分类训练。有什么办法,如何设置参数,使算法可以接受边界框中的信息作为输入?

当我尝试在带有边界框的数据集上运行图像分类时,Bellow 是来自生成的日志文件的 sn-p。

[14:42:27] /opt/brazil-pkg-cache/packages/AIApplicationsPipeIterators/AIApplicationsPipeIterators-1.0.1145.0/AL2012/generic-flavor/src/data_iter/src/ease_image_iter.cpp:452: JSON Logic Error while parsing 

    "annotations": [
        
            "class_id": 0,
            "height": 194,
            "left": 34,
            "top": 16,
            "width": 150
        
    ],
    "image_size": [
        
            "depth": 3,
            "height": 256,
            "width": 185
        
    ]

: Value is not convertible to float.

PS:数据集是一个增强的清单文件。

如果有任何帮助,我将不胜感激。

【问题讨论】:

【参考方案1】:

感谢您与我们联系。用于训练的 SageMaker 算法要求每种算法的标签具有特定格式。例如,https://docs.aws.amazon.com/sagemaker/latest/dg/image-classification.html。因此,您不能将边界框提供给图像分类训练算法。

【讨论】:

以上是关于为不同的任务重新使用创建的数据集(对象检测 - 图像分类)的主要内容,如果未能解决你的问题,请参考以下文章

如何为对象检测任务创建与 TuriCreate 兼容的 SFrame

语义分割与数据集

LIBSVM 如何准备带有图像的训练数据集以进行徽标检测?

在自己的数据集上训练 TensorFlow 对象检测

如何在自定义数据集上执行RCNN对象检测?

DOTA V1.5数据集:基于航空图像的大规模目标检测数据集