

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 manifesto de entrada de sequência da nuvem de pontos
<a name="sms-point-cloud-multi-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 sequência da nuvem de pontos, cada linha no manifesto contém uma sequência de quadros da nuvem de pontos. Os dados da nuvem de pontos para cada quadro na sequência podem ser armazenados no formato binário ou ASCII. Para obter mais informações, consulte [Formatos aceitos de dados 3D brutos](sms-point-cloud-raw-data-types.md). Essa é a formatação do arquivo manifesto necessária para o rastreamento de objetos da nuvem de pontos 3D. Se preferir, você também poderá fornecer atributo de pontos e dados de fusão de sensores de câmera para cada quadro de nuvem de pontos. Ao criar um arquivo manifesto de entrada de sequência, é necessário fornecer dados de fusão de sensores do LiDAR e da câmera de vídeo em um [sistema de coordenadas mundial](sms-point-cloud-sensor-fusion-details.md#sms-point-cloud-world-coordinate-system). 

O exemplo a seguir demonstra a sintaxe usada para um arquivo manifesto de entrada quando cada linha no manifesto é um arquivo de sequência. Cada linha no arquivo manifesto de entrada deve estar no formato [JSON Lines](http://jsonlines.org/).

```
{"source-ref": "{{s3://amzn-s3-demo-bucket/example-folder/seq1.json}}"}
{"source-ref": "{{s3://amzn-s3-demo-bucket/example-folder/seq2.json}}"}
```

Os dados de cada sequência de quadros da nuvem de pontos precisam ser armazenados em um objeto de dados JSON. Veja a seguir um exemplo do formato utilizado para um arquivo de sequência. As informações sobre cada quadro são incluídas como um objeto JSON e estão relacionadas na lista `frames`. Este é um exemplo de um arquivo de sequência com dois arquivos de quadro de nuvem de pontos `frame300.bin` e `frame303.bin`. {{...}}É usado para indicar onde você deve incluir informações para quadros adicionais. Adicione um objeto JSON para cada quadro na sequência.

O bloco de código a seguir inclui um objeto JSON para um único arquivo de sequência. O objeto JSON foi expandido para facilitar a leitura

```
{
  "seq-no": {{1}},
  "prefix": "{{s3://amzn-s3-demo-bucket/example_lidar_sequence_dataset/seq1/}}",
  "number-of-frames": {{100}},
  "frames":[
    {
        "frame-no": {{300}}, 
        "unix-timestamp": {{1566861644.759115}}, 
        "frame": "{{example_lidar_frames/frame300.bin}}", 
        "format": "{{binary/xyzi}}", 
        "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
}}            }
        }, 
        "images": [
        {
            "image-path": "{{example_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}}"
        }]
    },
    {
        "frame-no": {{303}}, 
        "unix-timestamp": {{1566861644.759115}}, 
        "frame": "{{example_lidar_frames/frame303.bin}}", 
        "format": "{{text/xyzi}}", 
        "ego-vehicle-pose":{{{...}}}, 
        "images":[{{{...}}}]
    },
     {{...}}
  ]
}
```

A tabela a seguir fornece detalhes sobre os parâmetros de nível superior de um arquivo de sequência. Para obter informações detalhadas sobre os parâmetros necessários para quadros individuais no arquivo de sequência, consulte [Parâmetros para quadros da nuvem de pontos individuais](#sms-point-cloud-multi-frame-input-single-frame).


****  

|  Parâmetro  |  Obrigatório  |  Valores aceitos  |  Description  | 
| --- | --- | --- | --- | 
|  `seq-no`  |  Sim  |  Inteiro  |  O número ordenado da sequência.   | 
|  `prefix`  |  Sim  |  String **Valores aceitos**: `s3://{{<bucket-name>}}/{{<prefix>/}}`  |  O local do Amazon S3 onde os arquivos de sequência estão localizados.  O prefixo deve terminar com uma barra: `/`.  | 
|  `number-of-frames`  |  Sim  |  Inteiro  |  O número total de quadros incluídos no arquivo de sequência. Esse número deve corresponder ao número total de quadros listados no parâmetro `frames` na próxima linha.  | 
|  `frames`  |  Sim  |  Lista de objetos JSON  |  Uma lista de dados de quadros. O comprimento da lista deve ser igual ao `number-of-frames`. Na interface do usuário do operador, os quadros em uma sequência serão os mesmos que a ordem dos quadros dessa matriz.  Para obter detalhes sobre o formato de cada quadro, consulte [Parâmetros para quadros da nuvem de pontos individuais](#sms-point-cloud-multi-frame-input-single-frame).   | 

## Parâmetros para quadros da nuvem de pontos individuais
<a name="sms-point-cloud-multi-frame-input-single-frame"></a>

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


****  

|  Parâmetro  |  Obrigatório  |  Valores aceitos  |  Description  | 
| --- | --- | --- | --- | 
|  `frame-no`  |  Não  |  Inteiro  |  O número de um quadro. Esse é um identificador opcional especificado pelo cliente para identificar o quadro em uma sequência. Não é usado pelo Ground Truth.  | 
|  `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 um sensor.  O timestamp para cada quadro deve ser diferente e os timestamps devem ser sequenciais porque são usados para interpolação cuboide. Idealmente, esse deve ser o timestamp real de quando os dados foram coletados. Se isso não estiver disponível, você deverá usar uma sequência incremental de timestamps, em que o primeiro quadro no arquivo de sequência corresponda ao primeiro timestamp na sequência.  | 
|  `frame`  |  Sim  |  String **Exemplo de formato** `{{<folder-name>}}/{{<sequence-file.json>}}`  |  O local relativo no Amazon S3 do arquivo de sequência. Esse caminho relativo será anexado ao caminho especificado em `prefix`.  | 
|  `format`  |  Não  |  String **Valores de string aceitos**: `"binary/xyz"`, `"binary/xyzi"`, `"binary/xyzrgb"`, `"binary/xyzirgb"`, `"text/xyz"`, `"text/xyzi"`, `"text/xyzrgb"`, `"text/xyzirgb"` **Valores padrão**:  Quando o arquivo identificado em `source-ref` tem uma extensão .bin, `binary/xyzi` 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).  | 
|  `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-multi-frame-ego-vehicle-input).  | 
|  `prefix`  |  Não  |  String **Formato de valor de string aceito**:  `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.  O prefixo deve terminar com uma barra: `/`.  | 
|  `images`  |  Não  |  Lista  |  Uma lista de parâmetros que descrevem imagens da 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-multi-frame-image-input).   | 

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

Use a localização do veículo-ego para fornecer informações sobre a pose do veículo usado para capturar dados da nuvem de pontos. O Ground Truth usa essas informações para calcular matrizes extrínsecas 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 **Parâmetros necessários**: `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 **Parâmetros necessários**: `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-multi-frame-image-input"></a>

Se quiser incluir dados da câmera colorida com um quadro, use os parâmetros a seguir para fornecer informações sobre cada imagem. A coluna **Obrigatório** na tabela a seguir se aplica quando o parâmetro `images` é incluído no arquivo manifesto de entrada. 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 a `position` e a orientação (`heading`) da câmera usada para capturar as imagens. 

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 os coeficientes de distorção (`k1`, `k2`, `k3`, `k4`, `p1` e `p1`), modelo da câmera e distância focal (`fx` e `fy`) e o ponto principal (`cx` e `cy)`). Para saber mais sobre esses coeficientes e imagens sem distorção, consulte [Camera calibration With OpenCV](https://docs.opencv.org/2.4.13.7/doc/tutorials/calib3d/camera_calibration/camera_calibration.html). 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 **Exemplo de formato**:  `{{<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 da imagem.   | 
|  `camera-model`  |  Não  |  String: **Valores aceitos**: `"pinhole"`, `"fisheye"` **Padrão**: `"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 qualquer inclinação conhecida na imagem.  | 
|  `position`  |  Sim  |  Objeto JSON **Parâmetros necessários**: `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 **Parâmetros necessários**: `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 está capturando imagens, medida usando [quaterniões](https://en.wikipedia.org/wiki/Quaternion), (`qx`, `qy`, `qz`, `qw`).   | 

## Limites de quadros da nuvem de pontos e arquivos de sequência
<a name="sms-point-cloud-multi-frame-limits"></a>

É possível incluir até 100.000 sequências de quadros da nuvem de pontos no arquivo manifesto de entrada. É possível incluir até 500 quadros da nuvem de pontos em cada arquivo de sequência. 

Tenha em mente que o trabalho de rotulagem de nuvem de pontos 3D tem tempos de pré-processamento mais longos do que os dos 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).