

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á.

# Criar um arquivo manifesto de entrada de quadro da nuvem de pontos
<a name="sms-point-cloud-single-frame-input-data"></a>

O manifesto é um arquivo codificado em UTF-8 em que cada linha é um objeto JSON completo e válido. Cada linha é delimitada por uma quebra de linha padrão, \\n ou \\r\\n. Como cada linha deve ser um objeto JSON válido, não é possível ter caracteres de quebra de linha sem escape. No arquivo manifesto de entrada de quadro único, cada linha no manifesto contém dados para um quadro da nuvem de pontos único. Os dados de quadro da nuvem de pontos podem ser armazenados no formato binário ou ASCII (consulte [Formatos aceitos de dados 3D brutos](sms-point-cloud-raw-data-types.md)). Essa é a formatação do arquivo manifesto necessária para a detecção de objetos e a segmentação semântica da nuvem de pontos 3D. Se preferir, você também poderá fornecer dados de fusão de sensores de câmera para cada quadro de nuvem de pontos. 

O Ground Truth oferece apoio à nuvem de pontos e à fusão de sensores da câmera de vídeo no [sistema de coordenadas mundial](sms-point-cloud-sensor-fusion-details.md#sms-point-cloud-world-coordinate-system) para todas as modalidades. Se você conseguir obter o sensor 3D extrínseco (como um LiDAR extrínseco), recomendamos que transforme quadros de nuvem de pontos 3D no sistema de coordenadas mundial usando o extrínseco. Para obter mais informações, consulte [Fusão de sensores](sms-point-cloud-sensor-fusion-details.md#sms-point-cloud-sensor-fusion). 

No entanto, se não conseguir obter uma nuvem de pontos no sistema de coordenadas mundial, você poderá fornecer coordenadas no sistema de coordenadas original em que os dados foram capturados. Se estiver fornecendo dados de câmera para fusão de sensores, é recomendável que você forneça o sensor LiDAR e a pose de câmera no sistema de coordenadas mundial. 

Para criar um arquivo manifesto de entrada de quadro único, identifique o local de cada quadro da nuvem de pontos que deseja que os operadores rotulem usando a chave `source-ref`. Além disso, é necessário usar a chave `source-ref-metadata` para identificar o formato do conjunto de dados, um timestamp para esse quadro e, opcionalmente, dados de fusão de sensores e imagens da câmera de vídeo.

O exemplo a seguir demonstra a sintaxe usada para um arquivo manifesto de entrada para um trabalho de rotulagem de nuvem de pontos de quadro único. O exemplo inclui dois quadros de nuvem de pontos. Para obter detalhes sobre cada parâmetro, consulte a tabela que segue este exemplo. 

**Importante**  
Cada linha no arquivo manifesto de entrada deve estar no formato [JSON Lines](http://jsonlines.org/). O seguinte bloco de código mostra um arquivo manifesto de entrada: Cada objeto JSON é usado para apontar e fornecer detalhes sobre um único quadro de nuvem de pontos. Os objetos JSON foram expandidos para facilitar a leitura, mas você deve minimizar cada objeto JSON para caber em uma única linha ao criar um arquivo manifesto de entrada. Um exemplo é fornecido sob esse bloco de código.

```
{
    "source-ref": "{{s3://amzn-s3-demo-bucket/examplefolder/frame1.bin}}",
    "source-ref-metadata":{
        "format": "{{binary/xyzi}}",
        "unix-timestamp": {{1566861644.759115}},
        "ego-vehicle-pose":{
            "position": {
                "x": {{-2.7161461413869947}},
                "y": {{116.25822288149078}},
                "z": {{1.8348751887989483
}}            },
            "heading": {
                "qx": {{-0.02111296123795955}},
                "qy":{{ -0.006495469416730261}},
                "qz": {{-0.008024565904865688}},
                "qw": {{0.9997181192298087
}}            }
        },
        "prefix": "{{s3://amzn-s3-demo-bucket/lidar_singleframe_dataset/someprefix/}}",
        "images": [
        {
            "image-path": "{{images/frame300.bin_camera0.jpg}}",
            "unix-timestamp": {{1566861644.759115}},
            "fx": {{847.7962624528487}},
            "fy": {{850.0340893791985}},
            "cx": {{576.2129134707038}},
            "cy": {{317.2423573573745}},
            "k1": {{0}},
            "k2": {{0}},
            "k3": {{0}},
            "k4": {{0}},
            "p1": {{0}},
            "p2": {{0}},
            "skew": {{0}},
            "position": {
                "x": {{-2.2722515189268138}},
                "y": {{116.86003310568965}},
                "z": {{1.454614668542299}}
            },
            "heading": {
                "qx": {{0.7594754093069037}},
                "qy": {{0.02181790885672969}},
                "qz": {{-0.02461725233103356}},
                "qw": {{-0.6496916273040025
}}            },
            "camera-model": "pinhole"
        }]
    }
}
{
    "source-ref": "{{s3://amzn-s3-demo-bucket/examplefolder/frame2.bin}}",
    "source-ref-metadata":{
        "format": "{{binary/xyzi}}",
        "unix-timestamp": {{1566861632.759133}},
        "ego-vehicle-pose":{
            "position": {
                "x": {{-2.7161461413869947}},
                "y": {{116.25822288149078}},
                "z": {{1.8348751887989483
}}            },
            "heading": {
                "qx": {{-0.02111296123795955}},
                "qy":{{ -0.006495469416730261}},
                "qz": {{-0.008024565904865688}},
                "qw": {{0.9997181192298087
}}            }
        },
        "prefix": "{{s3://amzn-s3-demo-bucket/lidar_singleframe_dataset/someprefix/}}",
        "images": [
        {
            "image-path": "{{images/frame300.bin_camera0.jpg}}",
            "unix-timestamp": {{1566861644.759115}},
            "fx": {{847.7962624528487}},
            "fy": {{850.0340893791985}},
            "cx": {{576.2129134707038}},
            "cy": {{317.2423573573745}},
            "k1": {{0}},
            "k2": {{0}},
            "k3": {{0}},
            "k4": {{0}},
            "p1": {{0}},
            "p2": {{0}},
            "skew": {{0}},
            "position": {
                "x": {{-2.2722515189268138}},
                "y": {{116.86003310568965}},
                "z": {{1.454614668542299}}
            },
            "heading": {
                "qx": {{0.7594754093069037}},
                "qy": {{0.02181790885672969}},
                "qz": {{-0.02461725233103356}},
                "qw": {{-0.6496916273040025
}}            },
            "camera-model": "pinhole"
        }]
    }
}
```

Ao criar um arquivo manifesto de entrada, você deve recolher os objetos JSON para caber em uma única linha. Por exemplo, o bloco de código acima apareceria da seguinte forma em um arquivo manifesto de entrada:

```
{"source-ref":"s3://amzn-s3-demo-bucket/examplefolder/frame1.bin","source-ref-metadata":{"format":"binary/xyzi","unix-timestamp":1566861644.759115,"ego-vehicle-pose":{"position":{"x":-2.7161461413869947,"y":116.25822288149078,"z":1.8348751887989483},"heading":{"qx":-0.02111296123795955,"qy":-0.006495469416730261,"qz":-0.008024565904865688,"qw":0.9997181192298087}},"prefix":"s3://amzn-s3-demo-bucket/lidar_singleframe_dataset/someprefix/","images":[{"image-path":"images/frame300.bin_camera0.jpg","unix-timestamp":1566861644.759115,"fx":847.7962624528487,"fy":850.0340893791985,"cx":576.2129134707038,"cy":317.2423573573745,"k1":0,"k2":0,"k3":0,"k4":0,"p1":0,"p2":0,"skew":0,"position":{"x":-2.2722515189268138,"y":116.86003310568965,"z":1.454614668542299},"heading":{"qx":0.7594754093069037,"qy":0.02181790885672969,"qz":-0.02461725233103356,"qw":-0.6496916273040025},"camera-model":"pinhole"}]}}
{"source-ref":"s3://amzn-s3-demo-bucket/examplefolder/frame2.bin","source-ref-metadata":{"format":"binary/xyzi","unix-timestamp":1566861632.759133,"ego-vehicle-pose":{"position":{"x":-2.7161461413869947,"y":116.25822288149078,"z":1.8348751887989483},"heading":{"qx":-0.02111296123795955,"qy":-0.006495469416730261,"qz":-0.008024565904865688,"qw":0.9997181192298087}},"prefix":"s3://amzn-s3-demo-bucket/lidar_singleframe_dataset/someprefix/","images":[{"image-path":"images/frame300.bin_camera0.jpg","unix-timestamp":1566861644.759115,"fx":847.7962624528487,"fy":850.0340893791985,"cx":576.2129134707038,"cy":317.2423573573745,"k1":0,"k2":0,"k3":0,"k4":0,"p1":0,"p2":0,"skew":0,"position":{"x":-2.2722515189268138,"y":116.86003310568965,"z":1.454614668542299},"heading":{"qx":0.7594754093069037,"qy":0.02181790885672969,"qz":-0.02461725233103356,"qw":-0.6496916273040025},"camera-model":"pinhole"}]}}
```

A tabela a seguir mostra os parâmetros que você pode incluir no arquivo manifesto de entrada.


****  

|  Parâmetro  |  Obrigatório  |  Valores aceitos  |  Description  | 
| --- | --- | --- | --- | 
| `source-ref` | Sim | String<br />**Formato de valor de string aceito**: <br />`s3://{{<bucket-name>}}/{{<folder-name>}}/{{point-cloud-frame-file}}` | O local do Amazon S3 de um quadro de nuvem de pontos único. | 
| `source-ref-metadata` | Sim | Objeto JSON<br />**Parâmetros aceitos**: <br />`format`, `unix-timestamp`, `ego-vehicle-pose`, `position`, `prefix`, `images` | Use esse parâmetro para incluir informações adicionais sobre a nuvem de pontos em `source-ref` e para fornecer dados da câmera para fusão de sensores.  | 
| `format` | Não | String<br />**Valores de string aceitos**: `"binary/xyz"`, `"binary/xyzi"`, `"binary/xyzrgb"`, `"binary/xyzirgb"`, `"text/xyz"`, `"text/xyzi"`, `"text/xyzrgb"`, `"text/xyzirgb"`<br />**Valores padrão**: <br />Quando o arquivo identificado em `source-ref` tem uma extensão .bin, `binary/xyzi`<br />Quando o arquivo identificado em `source-ref` tem uma extensão .txt, `text/xyzi` | Use esse parâmetro para especificar o formato dos dados da nuvem de pontos. Para obter mais informações, consulte [Formatos aceitos de dados 3D brutos](sms-point-cloud-raw-data-types.md). | 
| `unix-timestamp` | Sim | Número<br />Um timestamp unix.  | O timestamp unix é o número de segundos desde 1.º de janeiro de 1970 até o horário UTC em que os dados foram coletados por um sensor.  | 
| `ego-vehicle-pose` | Não | Objeto JSON | A pose do dispositivo usado para coletar os dados da nuvem de pontos. Para obter mais informações sobre esse parâmetro, consulte [Incluir informações de pose do veículo no manifesto de entrada](#sms-point-cloud-single-frame-ego-vehicle-input). | 
| `prefix` | Não | String<br />**Formato de valor de string aceito**: <br />`s3://{{<bucket-name>}}/{{<folder-name>/}}` | O local no Amazon S3 em que os metadados, como imagens da câmera, são armazenados para esse quadro. <br />O prefixo deve terminar com uma barra: `/`. | 
| `images` | Não | Lista | Uma lista de parâmetros que descrevem imagens de câmera colorida usadas para fusão de sensores. É possível incluir até oito imagens nesta lista. Para obter mais informações sobre os parâmetros necessários para cada imagem, consulte [Incluir dados da câmera no manifesto de entrada](#sms-point-cloud-single-frame-image-input).  | 

## Incluir informações de pose do veículo no manifesto de entrada
<a name="sms-point-cloud-single-frame-ego-vehicle-input"></a>

Use a localização do veículo ego para fornecer informações sobre a localização do veículo usado para capturar dados da nuvem de pontos. O Ground Truth usa essas informações para calcular a matriz extrínseca do LiDAR. 

O Ground Truth usa matrizes extrínsecas para projetar rótulos de e para a cena 3D e imagens 2D. Para obter mais informações, consulte [Fusão de sensores](sms-point-cloud-sensor-fusion-details.md#sms-point-cloud-sensor-fusion).

A tabela a seguir fornece mais informações sobre os parâmetros de `position` e de orientação (`heading`) que são obrigatórios quando você fornece informações do veículo ego. 


****  

|  Parâmetro  |  Obrigatório  |  Valores aceitos  |  Description  | 
| --- | --- | --- | --- | 
| `position` | Sim | Objeto JSON<br />**Parâmetros necessários**:<br />`x`, `y` e `z`. Insira números para esses parâmetros.  | O vetor de conversão do veículo ego no sistema de coordenadas mundial.  | 
| `heading` | Sim | Objeto JSON<br />**Parâmetros necessários**:<br />`qx`, `qy`, `qz` e `qw`. Insira números para esses parâmetros.  | A orientação do quadro de referência do dispositivo ou do sensor montado no veículo que detecta o entorno, medido em [quaterniões](https://en.wikipedia.org/wiki/Quaternion), (`qx`, `qy`, `qz`, `qw`) no sistema de coordenadas. | 

## Incluir dados da câmera no manifesto de entrada
<a name="sms-point-cloud-single-frame-image-input"></a>

Se você quiser incluir dados da câmera de vídeo com um quadro, use os parâmetros a seguir para fornecer informações sobre cada imagem. A coluna **Obrigatório** abaixo se aplica quando o parâmetro `images` é incluído no arquivo manifesto de entrada em `source-ref-metadata`. Não é necessário incluir imagens no arquivo manifesto de entrada. 

Se você incluir imagens da câmera, será necessário incluir informações sobre `position` e `heading` da câmera usados na captura das imagens no sistema de coordenadas mundial.

Se as imagens estiverem distorcidas, o Ground Truth poderá corrigir a distorção automaticamente usando as informações fornecidas sobre a imagem no arquivo manifesto de entrada, incluindo coeficientes de distorção (`k1`, `k2`, `k3`, `k4`, `p1` e `p1`), o modelo e a matriz intrínseca da câmera. A matriz intrínseca é composta pela distância focal (`fx`, `fy`) e pelo ponto principal (`cx`, `cy)`). Consulte [Matriz intrínseca](sms-point-cloud-sensor-fusion-details.md#sms-point-cloud-intrinsic) para saber como o Ground Truth usa a câmera intrínseca. Se os coeficientes de distorção não forem incluídos, o Ground Truth não corrigirá a distorção da imagem. 


****  

|  Parâmetro  |  Obrigatório  |  Valores aceitos  |  Description  | 
| --- | --- | --- | --- | 
| `image-path` | Sim | String<br />**Exemplo de formato**: <br />`{{<folder-name>}}/{{<imagefile.png>}}` | O local relativo no Amazon S3 do arquivo de imagem. Esse caminho relativo será anexado ao caminho especificado em `prefix`.  | 
| `unix-timestamp` | Sim | Número | O timestamp unix é o número de segundos desde 1.º de janeiro de 1970 até o horário UTC em que os dados foram coletados por uma câmera.  | 
| `camera-model` | Não | String:<br />**Valores aceitos**:<br />`"pinhole"`, `"fisheye"`<br />**Padrão**:<br />`"pinhole"` | O modelo da câmera usada para capturar a imagem. Essas informações são usadas para corrigir a distorção das imagens da câmera.  | 
| `fx, fy` | Sim | Números | A distância focal da câmera, nas direções x (`fx`) e y (`fy`). | 
| `cx, cy` | Sim | Números | As coordenadas x (`cx`) e y (`cy`) do ponto principal.  | 
| `k1, k2, k3, k4` | Não | Número | Coeficientes de distorção radial. Compatíveis com modelos de câmera **olho de peixe** e **pinhole**.  | 
| `p1, p2` | Não | Número | Coeficientes de distorção tangencial. Compatíveis com modelos de câmera **pinhole**. | 
| `skew` | Não | Número | Um parâmetro para medir a inclinação de uma imagem.  | 
| `position` | Sim | Objeto JSON<br />**Parâmetros necessários**:<br />`x`, `y` e `z`. Insira números para esses parâmetros.  | O local ou a origem do quadro de referência da câmara montada no veículo que captura imagens. | 
| `heading` | Sim | Objeto JSON<br />**Parâmetros necessários**:<br />`qx`, `qy`, `qz` e `qw`. Insira números para esses parâmetros.  | A orientação do quadro de referência da câmera montada no veículo que captura imagens, medida usando [quaterniões](https://en.wikipedia.org/wiki/Quaternion), (`qx`, `qy`, `qz`, `qw`), no sistema de coordenadas mundial.  | 

## Limites de quadros da nuvem de pontos
<a name="sms-point-cloud-single-frame-limits"></a>

É possível incluir até 100.000 quadros da nuvem de pontos no arquivo manifesto de entrada. O trabalho de rotulagem de nuvem de pontos 3D tem tempos de pré-processamento mais longos do que os de outros tipos de tarefas do Ground Truth. Para obter mais informações, consulte [Tempo de pré-processamento do trabalho](sms-point-cloud-general-information.md#sms-point-cloud-job-creation-time).