

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Transformar um conjunto de dados COCO em um formato de arquivo de manifesto
<a name="md-transform-coco"></a>

[COCO](http://cocodataset.org/#home) é um formato para especificar conjuntos de dados de detecção, segmentação e legendagem de objetos em grande escala. Este [exemplo](md-coco-transform-example.md) em Python mostra como transformar um conjunto de dados no formato de detecção de objetos COCO em [um arquivo de manifesto no formato de caixa delimitadora](md-create-manifest-file-object-detection.md) no Amazon Rekognition Custom Labels. Esta seção também inclui informações que podem ser usadas para escrever seu próprio código.

Um arquivo JSON no formato COCO consiste em cinco seções que fornecem informações para *um conjunto de dados inteiro*. Para obter mais informações, consulte [O formato de conjunto de dados COCO](md-coco-overview.md). 
+ `info`: as informações gerais sobre o conjunto de dados. 
+ `licenses `: informações de licença para as imagens no conjunto de dados.
+ [`images`](md-coco-overview.md#md-coco-images): uma lista de imagens no conjunto de dados.
+ [`annotations`](md-coco-overview.md#md-coco-annotations): uma lista de anotações (incluindo caixas delimitadoras) que estão presentes em todas as imagens no conjunto de dados.
+ [`categories`](md-coco-overview.md#md-coco-categories): uma lista de categorias de rótulo.

São precisas informações das listas `images`, `annotations` e `categories` para criar um arquivo de manifesto do Amazon Rekognition Custom Labels.

Um arquivo de manifesto Amazon Rekognition Custom Labels está no formato de linhas JSON, onde cada linha tem a caixa delimitadora e as informações do rótulo de um ou mais objetos *em uma imagem.* Para obter mais informações, consulte [Localização de objetos em arquivos de manifesto](md-create-manifest-file-object-detection.md).

## Como mapear objetos COCO para uma linha JSON de rótulos personalizados
<a name="md-mapping-coco"></a>

Para transformar um conjunto de dados no formato COCO, você mapeia o conjunto de dados COCO para um arquivo de manifesto do Amazon Rekognition Custom Labels para localização de objetos. Para obter mais informações, consulte [Localização de objetos em arquivos de manifesto](md-create-manifest-file-object-detection.md). Para criar uma linha JSON para cada imagem, o arquivo de manifesto precisa mapear o conjunto de dados `image` COCO e o `annotation` campo do `category` objeto. IDs 

Veja a seguir um exemplo de arquivo de manifesto COCO. Para obter mais informações, consulte [O formato de conjunto de dados COCO](md-coco-overview.md).

```
{
    "info": {
        "description": "COCO 2017 Dataset","url": "http://cocodataset.org","version": "1.0","year": 2017,"contributor": "COCO Consortium","date_created": "2017/09/01"
    },
    "licenses": [
        {"url": "http://creativecommons.org/licenses/by/2.0/","id": 4,"name": "Attribution License"}
    ],
    "images": [
        {"id": 242287, "license": 4, "coco_url": "http://images.cocodataset.org/val2017/xxxxxxxxxxxx.jpg", "flickr_url": "http://farm3.staticflickr.com/2626/xxxxxxxxxxxx.jpg", "width": 426, "height": 640, "file_name": "xxxxxxxxx.jpg", "date_captured": "2013-11-15 02:41:42"},
        {"id": 245915, "license": 4, "coco_url": "http://images.cocodataset.org/val2017/nnnnnnnnnnnn.jpg", "flickr_url": "http://farm1.staticflickr.com/88/xxxxxxxxxxxx.jpg", "width": 640, "height": 480, "file_name": "nnnnnnnnnn.jpg", "date_captured": "2013-11-18 02:53:27"}
    ],
    "annotations": [
        {"id": 125686, "category_id": 0, "iscrowd": 0, "segmentation": [[164.81, 417.51,......167.55, 410.64]], "image_id": 242287, "area": 42061.80340000001, "bbox": [19.23, 383.18, 314.5, 244.46]},
        {"id": 1409619, "category_id": 0, "iscrowd": 0, "segmentation": [[376.81, 238.8,........382.74, 241.17]], "image_id": 245915, "area": 3556.2197000000015, "bbox": [399, 251, 155, 101]},
        {"id": 1410165, "category_id": 1, "iscrowd": 0, "segmentation": [[486.34, 239.01,..........495.95, 244.39]], "image_id": 245915, "area": 1775.8932499999994, "bbox": [86, 65, 220, 334]}
    ],
    "categories": [
        {"supercategory": "speaker","id": 0,"name": "echo"},
        {"supercategory": "speaker","id": 1,"name": "echo dot"}
    ]
}
```

O diagrama a seguir mostra como o conjunto de dados COCO lista para um mapa de *conjunto de dados* às linhas JSON do Amazon Rekognition Custom Labels para uma *imagem*. Cada linha JSON de uma imagem tem um campo de referência de origem, trabalho e metadados do trabalho. As cores correspondentes indicam informações para uma única imagem. Observe que, no manifesto, uma imagem individual pode ter várias anotações e metadados/categorias.

![Diagrama mostrando a estrutura do Coco Manifest, com imagens, anotações e categorias contidas nele.](http://docs.aws.amazon.com/pt_br/rekognition/latest/customlabels-dg/images/coco-transform.png)


**Para obter os objetos COCO para uma única linha JSON**

1. Para cada imagem na lista de imagens, obtenha a anotação da lista de anotações em que o valor do campo de anotação `image_id`corresponda ao campo da imagem `id`.

1. Para cada anotação correspondida na etapa 1, leia a lista `categories` e obtenha cada `category` em que o valor da `id` do campo `category` corresponda ao objeto `annotation` do campo `category_id`.

1. Crie uma linha JSON para a imagem usando os objetos `image`, `annotation` e `category` correspondentes. Para mapear os campos, consulte [Como mapear campos de objetos COCO para campos de objeto da linha JSON de rótulos personalizados](#md-mapping-fields-coco). 

1. Repita as etapas de 1 a 3 até criar linhas JSON para cada objeto `image` na lista `images`.

Para obter um código de exemplo, consulte [Como transformar um conjunto de dados COCO](md-coco-transform-example.md).

## Como mapear campos de objetos COCO para campos de objeto da linha JSON de rótulos personalizados
<a name="md-mapping-fields-coco"></a>

Depois de identificar os objetos COCO para uma linha JSON do Amazon Rekognition Custom Labels, você precisa mapear os campos do objeto COCO para os respectivos campos de objeto de linha JSON do Amazon Rekognition Custom Labels. O exemplo a seguir da linha JSON do Amazon Rekognition Custom Labels mapeia uma imagem (`id`=`000000245915`) para o exemplo anterior de COCO JSON. Observe as seguintes informações:
+ `source-ref` é o local da imagem em um bucket do Amazon S3. Se suas imagens COCO não estiverem armazenadas em um bucket do Amazon S3, você precisa movê-las para um bucket do Amazon S3.
+ A lista `annotations` contém um objeto `annotation` para cada objeto na imagem. Um objeto `annotation` inclui informações da caixa delimitadora (`top`, `left`, `width`, `height`) e um identificador de rótulo (`class_id`).
+ O identificador do rótulo (`class_id`) é mapeado para a lista `class-map` nos metadados. Ele lista os rótulos usados na imagem.

```
{
	"source-ref": "s3://custom-labels-bucket/images/000000245915.jpg",
	"bounding-box": {
		"image_size": {
			"width": 640,
			"height": 480,
			"depth": 3
		},
		"annotations": [{
			"class_id": 0,
			"top": 251,
			"left": 399,
			"width": 155,
			"height": 101
		}, {
			"class_id": 1,
			"top": 65,
			"left": 86,
			"width": 220,
			"height": 334
		}]
	},
	"bounding-box-metadata": {
		"objects": [{
			"confidence": 1
		}, {
			"confidence": 1
		}],
		"class-map": {
			"0": "Echo",
			"1": "Echo Dot"
		},
		"type": "groundtruth/object-detection",
		"human-annotated": "yes",
		"creation-date": "2018-10-18T22:18:13.527256",
		"job-name": "my job"
	}
}
```

Use as informações a seguir para mapear os campos do arquivo de manifesto do Amazon Rekognition Custom Labels para os campos JSON do conjunto de dados COCO. 

### source-ref
<a name="md-source-ref-coco"></a>

O URL do formato S3 para a localização da imagem. A imagem deve ser armazenada em um bucket do S3. Para obter mais informações, consulte [source-ref](md-create-manifest-file-object-detection.md#cd-manifest-source-ref). Se o campo COCO `coco_url` apontar para uma localização de bucket do S3, será possível usar o valor de `coco_url` para o valor de `source-ref`. Como alternativa, é possível mapear o `source-ref` para o campo `file_name` (COCO) e, em seu código de transformação, adicionar o caminho do S3 necessário ao local em que a imagem está armazenada. 

### {{bounding-box}}
<a name="md-label-attribute-id-coco"></a>

Um nome de atributo de rótulo de sua escolha. Para obter mais informações, consulte [{{bounding-box}}](md-create-manifest-file-object-detection.md#md-manifest-source-bounding-box).

#### image\_size
<a name="md-image-size-coco"></a>

O tamanho da imagem em pixels. Mapeia para um objeto `image` na lista de [imagens](md-coco-overview.md#md-coco-images).
+ `height`-> `image.height`
+ `width`-> `image.width`
+ `depth`-> Não é usado pelo Amazon Rekognition Custom Labels, mas um valor deve ser fornecido.

#### anotações
<a name="md-annotations-coco"></a>

Uma lista dos objetos `annotation`. Há um `annotation` para cada objeto na imagem.

#### anotação
<a name="md-annotation-coco"></a>

Contém informações da caixa delimitadora de uma instância de um objeto na imagem. 
+ `class_id`-> mapeamento de identificação numérica para a lista de `class-map` do rótulo personalizado.
+ `top` -> `bbox[1]`
+ `left` -> `bbox[0]`
+ `width` -> `bbox[2]`
+ `height` -> `bbox[3]`

### {{bounding-box}}-metadados
<a name="md-metadata-coco"></a>

Metadados para o atributo de rótulo. Inclui os rótulos e os identificadores dos rótulos. Para obter mais informações, consulte [{{bounding-box}}-metadados](md-create-manifest-file-object-detection.md#md-manifest-source-bounding-box-metadata).

#### Objetos
<a name="cd-metadata-objects-coco"></a>

Uma matriz de objetos na imagem. Mapas para a lista `annotations` por índice.

##### Objeto
<a name="cd-metadata-object-coco"></a>
+ `confidence`-> Não é usado pelo Amazon Rekognition Custom Labels, mas um valor (1) é obrigatório.

#### class-map
<a name="md-metadata-class-map-coco"></a>

Um mapa dos rótulos (classes) que se aplicam aos objetos detectados na imagem. Mapeia para objetos de categoria na lista de [categorias](md-coco-overview.md#md-coco-categories).
+ `id` -> `category.id`
+ `id value` -> `category.name`

#### type
<a name="md-type-coco"></a>

Deve ser `groundtruth/object-detection`

#### human-annotated
<a name="md-human-annotated-coco"></a>

Especifique `yes` ou `no`. Para obter mais informações, consulte [{{bounding-box}}-metadados](md-create-manifest-file-object-detection.md#md-manifest-source-bounding-box-metadata).

#### creation-date -> [image](md-coco-overview.md#md-coco-images).date\_captured
<a name="md-creation-date-coco"></a>

A data e a hora da criação da imagem. Mapeia para o campo [imagem](md-coco-overview.md#md-coco-images) .date\_capture de uma imagem na lista de imagens COCO. O Amazon Rekognition Custom Labels espera que o formato de `creation-date` seja *Y-M-DTH:M:S*.

#### job-name
<a name="md-job-name-coco"></a>

Um nome de trabalho de sua escolha. 