Criar um manifesto de entrada de sequência da nuvem de pontos - Amazon SageMaker

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

O manifesto é um arquivo codificado em UTF -8 no qual cada linha é um objeto completo e válidoJSON. Cada linha é delimitada por uma quebra de linha padrão, \n ou \r\n. Como cada linha deve ser um JSON objeto válido, você não pode 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 em formato binário ou em ASCII formato. Para obter mais informações, consulte Formatos aceitos de dados 3D brutos. 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 de manifesto de entrada de sequência, você deve fornecer dados de fusão do sensor de Li DAR e da câmera de vídeo em um sistema de coordenadas mundiais.

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 de manifesto de entrada deve estar no formato JSONLinhas.

{"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 de nuvem de pontos precisam ser armazenados em um objeto JSON de dados. 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 JSON objeto e listadas na frames lista. Este é um exemplo de um arquivo de sequência com dois arquivos de quadro de nuvem de pontos frame300.bin e frame303.bin. A ferramenta ... é usado para indicar onde você deve incluir informações para quadros adicionais. Adicione um JSON objeto para cada quadro na sequência.

O bloco de código a seguir inclui um JSON objeto para um único arquivo de sequência. O JSON objeto 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.

Parâmetro

Obrigatório

Valores aceitos

Descrição

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 JSON objetos

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.

Parâmetros para quadros da nuvem de pontos individuais

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

Parâmetro

Obrigatório

Valores aceitos

Descrição

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 UTC momento 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.

ego-vehicle-pose

Não

JSONobjeto

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.

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

Listar

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.

Incluir informações de pose do veículo no manifesto de entrada

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. A Ground Truth usa essas informações para calcular matrizes DAR extrínsecas de Li.

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.

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

Descrição

position

Sim

JSONobjeto

Parâmetros obrigató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

JSONObjeto

Parâmetros obrigató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, (qx, qy, qz, qw) no sistema de coordenadas.

Incluir dados da câmera no manifesto de entrada

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

Descrição

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 time stamp 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

JSONobjeto

Parâmetros obrigató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

JSONObjeto

Parâmetros obrigató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, (qx, qy, qz, qw).

Limites de quadros da nuvem de pontos e arquivos de sequência

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