Antes de converter um conjunto de dados rotulado para um arquivo TFRecord, exporte-o da Machine Learning Platform for AI (PAI) como um arquivo CSV. Cada linha no arquivo CSV representa uma entrada rotulada com três campos.
|
Campo |
Tipo de dados |
Descrição |
|
ID da entrada |
INT |
O ID exclusivo da entrada. |
|
Dados brutos |
JSON |
A URL da imagem de source. |
|
Resultado da rotulagem |
JSON |
O resultado da rotulagem. O formato varia conforme o tipo de tarefa. |
Este tópico descreve o formato do resultado de rotulagem para cada tipo de tarefa suportado:
Classificação de imagem com rótulo único
Cada entrada atribui um único rótulo à imagem.
Formato da linha CSV:
1,{"url":"http://a.jpg"},"{"option":"Passport"}
2,{"url":"http://b.jpg"},"{"option":"Passport"}
Esquema do resultado de rotulagem:
{
"option": "Passport"
}
|
Campo |
Tipo |
Descrição |
|
|
string |
O rótulo atribuído à imagem. |
Classificação de imagem com múltiplos rótulos
Cada entrada atribui um ou mais rótulos à imagem.
Formato da linha CSV:
1,{"url":"http://a.jpg"},{["option":"Passport", "option":"ID card"]}
2,{"url":"http://b.jpg"},{["option":"Passport", "option":"Exit-Entry Permit for Traveling to and from Hong Kong and Macau"]}
Esquema do resultado de rotulagem:
{
"option": ["Passport", "ID card"]
}
|
Campo |
Tipo |
Descrição |
|
|
array de strings |
Os rótulos atribuídos à imagem. |
Detecção de objetos
Cada entrada contém uma lista de objetos detectados. Cada objeto possui um rótulo de categoria e uma caixa delimitadora.
Formato da linha CSV:
1,{"url": "http://b.jpg"},[{"text": "{\"class*\": \"Category 1\"}", "coord": ["306.73", "517.59", "324.42", "282.07", "347.69", "282.07", "333.73", "519.45"]}, {"text": "{\"class*\": \"Category 2\"}", "coord": ["342.11", "723.32", "349.56", "608.81", "366.31", "606.95", "360.73", "730.76"]}]
2,{"url": "http://a.jpg"},[{"text": "{\"class*\": \"Category 1\"}", "coord": ["338.35", "8.53", "700.16", "8.53", "700.16", "50.35", "338.35", "50.35"]}, {"text": "{\"class*\": \"Category 2\"}", "coord": ["26.88", "64.00", "218.03", "64.00", "218.03", "99.84", "26.88", "99.84"]}]
Esquema do resultado de rotulagem:
O resultado da rotulagem é um array. Cada elemento representa um objeto detectado.
[
{
"text": "{\"class*\": \"Category 1\"}",
"coord": [
"338.35",
"8.53",
"700.16",
"8.53",
"700.16",
"50.35",
"338.35",
"50.35"
]
},
{
"text": "{\"class*\": \"Category 2\"}",
"coord": [
"26.88",
"64.00",
"218.03",
"64.00",
"218.03",
"99.84",
"26.88",
"99.84"
]
}
]
|
Campo |
Tipo |
Descrição |
|
|
string |
Uma string codificada em JSON contendo a categoria do objeto. Consulte o esquema do campo |
|
|
array de strings |
Oito valores de coordenadas que definem o polígono da caixa delimitadora: |
Esquema do campo text:
O campo text é um objeto JSON serializado com a seguinte estrutura:
{"class*": "Category 1"}
|
Campo |
Tipo |
Descrição |
|
|
string |
A categoria do objeto detectado. |
Segmentação de imagem
Cada entrada referencia uma imagem de máscara gerada a partir da segmentação rotulada.
Baixe um arquivo CSV de exemplo.
Formato da linha CSV:
1,{"http://a.jpg"},{"ossUrl":"http://ossgw.alicdn.com/a.png"}
Esquema do resultado de rotulagem:
{
"ossUrl": "http://ossgw.alicdn.com/a.png"
}
|
Campo |
Tipo |
Descrição |
|
|
string |
A URL do Object Storage Service (OSS) da imagem de máscara gerada para a entrada. A máscara está no formato PNG. |
Codificação dos canais da máscara:
A máscara armazena informações de categoria em seus canais de cor. Uma imagem possui canais vermelho, azul e verde para armazenamento de informações. Geralmente, o canal vermelho armazena as informações de categoria. Os IDs dos canais começam em 0; os valores válidos variam de 0 a 3. O valor 0 indica o plano de fundo.
Reconhecimento de texto
Cada entrada contém o texto reconhecido na imagem.
Formato da linha CSV:
1,{"url": "http://b.jpg"},{"text": "Text 1"}
2,{"url": "http://a.jpg"},{"text": "Text 2"}
Esquema do resultado de rotulagem:
{
"text": "Text 1"
}
|
Campo |
Tipo |
Descrição |
|
|
string |
O conteúdo de texto reconhecido. |
Detecção de texto
Cada entrada contém uma lista de linhas de texto detectadas. Cada linha inclui sua posição, orientação e categoria. A entrada também inclui a orientação geral da imagem.
Formato da linha CSV:
1,{"url": "http://b.jpg"},[[{"text": "{\"direction\": \"Bottom right\", \"class*\": \"Category 1\"}", "coord": ["306.73", "517.59", "324.42", "282.07", "347.69", "282.07", "333.73", "519.45"]}, {"text": "{\"direction\": \"Bottom right\", \"class*\": \"Category 2\"}", "coord": ["342.11", "723.32", "349.56", "608.81", "366.31", "606.95", "360.73", "730.76"]}], {"option": "Bottom right"}]
2,{"url": "http://a.jpg"},[[{"text": "{\"direction\": \"Bottom down\", \"class*\": \"Category 1\"}", "coord": ["338.35", "8.53", "700.16", "8.53", "700.16", "50.35", "338.35", "50.35"]}, {"text": "{\"direction\": \"Bottom down\", \"class*\": \"Category 2\"}", "coord": ["26.88", "64.00", "218.03", "64.00", "218.03", "99.84", "26.88", "99.84"]}], {"option": "Bottom down"}]
Esquema do resultado de rotulagem:
O resultado da rotulagem é um array de dois elementos: uma lista de objetos de linha de texto, seguida por um objeto de orientação da imagem.
[
[
{
"text": "{\"direction\": \"Bottom down\", \"class*\": \"Category 1\"}",
"coord": [
"338.35",
"8.53",
"700.16",
"8.53",
"700.16",
"50.35",
"338.35",
"50.35"
]
},
{
"text": "{\"direction\": \"Bottom down\", \"class*\": \"Category 2\"}",
"coord": [
"26.88",
"64.00",
"218.03",
"64.00",
"218.03",
"99.84",
"26.88",
"99.84"
]
}
],
{
"option": "Bottom down"
}
]
Campos do objeto de linha de texto:
|
Campo |
Tipo |
Descrição |
|
|
string |
Uma string codificada em JSON contendo a orientação e a categoria da linha de texto. Consulte o esquema do campo |
|
|
array de strings |
Oito valores de coordenadas que definem o polígono da caixa delimitadora: |
Esquema do campo text:
{"direction": "Bottom down", "class*": "Category 1"}
|
Campo |
Tipo |
Descrição |
|
|
string |
A orientação da linha de texto. |
|
|
string |
A categoria do texto. |
Objeto de orientação da imagem:
|
Campo |
Tipo |
Descrição |
|
|
string |
A orientação de toda a imagem. Especifica se a parte inferior da imagem está voltada para baixo, para cima, para a esquerda ou para a direita. |
Reconhecimento de texto ponta a ponta
O reconhecimento de texto ponta a ponta combina detecção de texto com reconhecimento de texto. Cada entrada contém linhas de texto detectadas com seu conteúdo reconhecido, posição, orientação e categoria.
Formato da linha CSV:
1,{"url": "http://b.jpg"},[[{"text": "{\"text\": \"Text 1\", \"direction\": \"Bottom right\", \"class*\": \"Category 1\"}", "coord": ["306.73", "517.59", "324.42", "282.07", "347.69", "282.07", "333.73", "519.45"]}, {"text": "{\"text\": \"Text 2\", \"direction\": \"Bottom right\", \"class*\": \"Category 2\"}", "coord": ["342.11", "723.32", "349.56", "608.81", "366.31", "606.95", "360.73", "730.76"]}], {"option": "Bottom right"}]
2,{"url": "http://a.jpg"},[[{"text": "{\"text\": \"Text 3\", \"direction\": \"Bottom down\", \"class*\": \"Category 1\"}", "coord": ["338.35", "8.53", "700.16", "8.53", "700.16", "50.35", "338.35", "50.35"]}, {"text": "{\"text\": \"Text 4\", \"direction\": \"Bottom down\", \"class*\": \"Category 2\"}", "coord": ["26.88", "64.00", "218.03", "64.00", "218.03", "99.84", "26.88", "99.84"]}], {"option": "Bottom down"}]
Esquema do resultado de rotulagem:
A estrutura é idêntica à da detecção de texto, com a adição de um campo text dentro da string JSON incorporada de cada linha de texto.
[
[
{
"text": "{\"text\": \"Text 3\", \"direction\": \"Bottom down\", \"class*\": \"Category 1\"}",
"coord": [
"338.35",
"8.53",
"700.16",
"8.53",
"700.16",
"50.35",
"338.35",
"50.35"
]
},
{
"text": "{\"text\": \"Text 4\", \"direction\": \"Bottom down\", \"class*\": \"Category 2\"}",
"coord": [
"26.88",
"64.00",
"218.03",
"64.00",
"218.03",
"99.84",
"26.88",
"99.84"
]
}
],
{
"option": "Bottom down"
}
]
Campos do objeto de linha de texto:
|
Campo |
Tipo |
Descrição |
|
|
string |
Uma string codificada em JSON contendo o texto reconhecido, a orientação da linha e a categoria. Consulte o esquema do campo |
|
|
array de strings |
Oito valores de coordenadas que definem o polígono da caixa delimitadora: |
Esquema do campo text:
{"text": "Text 3", "direction": "Bottom down", "class*": "Category 1"}
|
Campo |
Tipo |
Descrição |
|
|
string |
O conteúdo de texto reconhecido da linha. |
|
|
string |
A orientação da linha de texto. |
|
|
string |
A categoria do texto. |
Objeto de orientação da imagem:
|
Campo |
Tipo |
Descrição |
|
|
string |
A orientação de toda a imagem. Especifica se a parte inferior da imagem está voltada para baixo, para cima, para a esquerda ou para a direita. |