更新时间:2023-09-06 GMT+08:00
分享

数据清洗

PCC算子概述

ModelArts的数据清洗通过PCC算子实现。图像分类或者物体检测的数据集中可能存在非所需类别的图像,需要将这些图像去除掉,以免对标注、模型训练造成干扰。

图1 PCC算子效果

参数说明

表1 数据清洗-PCC算子参数说明

参数名

是否必选

默认值

参数说明

prototype_sample_path

None

数据清洗正样例目录。目录应存放正样例图片文件,算法将这些图片为正样例,对输入中的数据进行过滤,即保留与“prototype_sample_path”目录下图片相似度高的数据。

请输入一个真实存在的OBS目录,且目录下已包含提供的正样例图片,且以obs://开头。如:obs://obs_bucket_name/folder_name

criticism_sample_path

None

数据清洗负样例目录。目录应存放负样例图片文件,算法将这些图片为负样例,对算法输入中的数据进行过滤, 即保留与“criticism_sample_path”目录下图片相似度差距较大的数据。

建议该参数和“prototype_sample_path”配合使用,可以提高数据清洗的准确性。

请输入一个真实存在的OBS目录,且以obs://开头。如:obs://obs_bucket_name/folder_name

n_clusters

auto

数据样本的种类数,默认值auto。您可以输入小于样本总数的整数或auto。auto表示使用正样本目录的图片个数作为数据样本的种类数。

simlarity_threshold

0.9

相似度阈值。两张图片相似程度超过阈值时,判定为相似图片,反之按非相似图片处理。输入取值范围为0~1。

embedding_distance

0.2

样本特征间距。两张图片样本特征间距小于设定值,判定为相似图片,反之按非相似图片处理。输入取值范围为0~1。

do_validation

True

是否做数据校验,可填True或者False。表示数据清洗前需要做数据校验,否则只做数据清洗。

输入要求

算子输入分为两种,“数据集”“OBS目录”

  • 选择“数据集”,请从下拉框中选择ModelArts中管理的数据集及其版本。要求数据集类型与您在本任务中选择的场景类别一致。
  • 选择“OBS目录”,存放结构又分两种情况,“仅包含图片”“包含图片和标注信息”
    • “仅包含图片”:当目录下全是图片时,支持jpg、jpeg、png、bmp格式,嵌套子目录的图片也将全部读入。
    • “包含图片和标注信息”:根据不同场景类型,结构不同。

      图像分类场景,其目录结构如下所示。如下目录结构,仅支持单标签场景。

      input_path/
          --label1/
              ----1.jpg
          --label2/
              ----2.jpg
          --../

      物体检测场景,其目录结构如下所示。支持jpg、jpeg、png、bmp格式的图片,xml为标准的PACAL VOC格式标注文件。

      input_path/
          --1.jpg
          --1.xml
          --2.jpg
          --2.xml
          ...

输出说明

  • 图像分类

    输出数据的目录结构如下所示。

    output_path/
        --Data/
            ----class1/  # 若输入数据有标注信息会一并输出,class1为标注类别
                ------1.jpg
            ----class2/
                ------2.jpg
            ----3.jpg
        --output.manifest

    其中manifest文件内容示例如下所示。

    {
    	"id": "xss",
    	"source": "obs://home/fc8e2688015d4a1784dcbda44d840307_14.jpg",
    	"usage": "train", 
    	"annotation": [
    		{
    			"name": "Cat", 
    			"type": "modelarts/image_classification"
    		}
    	]
    }
  • 物体检测

    输出数据的目录结构如下所示。

    output_path/
        --Data/
            ----1.jpg
            ----1.xml  # 若输入数据有标注信息会一并输出,xml为标注文件
            ----2.jpg
            ----3.jpg
        --output.manifest

    其中manifest文件内容示例如下所示。

    {
    	"source":"obs://fake/be462ea9c5abc09f.jpg",
    	"annotation":[
    		{
    			"annotation-loc":"obs://fake/be462ea9c5abc09f.xml",
    			"type":"modelarts/object_detection",
    			"annotation-format":"PASCAL VOC",
    			"annotated-by":"modelarts/hard_example_algo"
    		}
    	]
    }
分享:

    相关文档

    相关产品