O componente Object detection (easycv) oferece modelos principais, como YOLOX, FCOS, YOLOv5 e YOLOv7, para treinar modelos de detecção de objetos. Utilize este componente para criar um modelo que identifica e localiza entidades em imagens. Este tópico descreve como configurar o componente e apresenta um exemplo de pipeline.
Pré-requisitos
Ative o OSS e autorize o Machine Learning Studio a acessá-lo. Para mais informações, consulte 开通OSS服务 e Grant required permissions to use Machine Learning Designer.
Limitações
Este componente está disponível apenas no Designer.
Há suporte apenas ao mecanismo DLC.
Configure parâmetros do componente
-
Portas de entrada
Porta de entrada
Tipo
Componente upstream
Obrigatório
Dados de treinamento
Object Storage Service
Não.
Caso não conecte esta porta, configure o parâmetro Training data OSS path na aba Field settings.
Dados de validação
Object Storage Service
Não.
Se não conectar esta porta, defina o parâmetro Validation data OSS path na aba Field settings.
Arquivo de lista de classes
Object Storage Service
Não.
Na ausência de conexão nesta porta, especifique o parâmetro Class list file OSS path na aba Field settings.
-
Parâmetros do componente
Aba
Parâmetro
Obrigatório
Descrição
Padrão
Field settings
Model type
Sim
Arquitetura do modelo para treinamento. Valores válidos:
FCOS
YOLOX
YOLOv5
YOLOv7
YOLOX
OSS directory for training
Não
Diretório do OSS para armazenar o modelo treinado. Exemplo:
examplebucket.oss-cn-shanghai-internal.aliyuncs.com/test/ckpt/. Se este parâmetro permanecer vazio, o componente usa o caminho padrão do workspace.Nenhum
Annotation file path for training set
Não
Se Data format estiver definido como DetSourcePAI, forneça um arquivo com extensão .manifest.
Caso Data format seja COCO, use um arquivo com extensão .json.
Este parâmetro é opcional se você fornecer dados de treinamento pela porta de entrada. Quando ambos estiverem configurados, a entrada pela porta terá precedência.
Nenhum
Annotation file path for validation set
Não
Quando Data format for DetSourcePAI, informe um arquivo com extensão .manifest.
Para Data format definido como COCO, indique um arquivo com extensão .json.
Não é necessário preencher este parâmetro se você fornecer dados de validação pela porta de entrada. A entrada pela porta prevalece caso ambas as configurações existam.
Nenhum
Class list file OSS path
Não
Especifique o caminho do OSS para o arquivo de lista de rótulos, que deve ter a extensão .txt.
Desnecessário se você fornecer o arquivo de lista de classes via porta de entrada. A conexão na porta tem prioridade sobre este parâmetro.
Nenhum
Pre-trained model OSS path
Não
Caminho do OSS para seu modelo pré-treinado personalizado. O PAI usa um modelo pré-treinado padrão caso você não configure este parâmetro.
Nenhum
Training data OSS path
Sim
Visível apenas quando Data format estiver definido como COCO. Indique o caminho para as imagens de treinamento no formato COCO.
Nenhum
Validation data OSS path
Sim
Exibido somente se Data format for COCO. Defina o caminho das imagens de validação no formato COCO.
Nenhum
Data format
Sim
Formato do conjunto de dados de source. Opções disponíveis:
COCO
DetSourcePAI (os modelos YOLOv5 e YOLOv7 suportam apenas conjuntos de dados DetSourcePAI.)
DetSourcePAI
Parameters
YOLOX model structure
Sim
Aparece apenas quando Model type for YOLOX. Selecione uma estrutura na lista suspensa. Valores válidos:
yolox-s
yolox-m
yolox-l
yolox-x
yolox-s
Number of classes
Sim
Quantidade de rótulos de classe no conjunto de dados.
20
Image scale
Sim
Dimensão da imagem após o redimensionamento. Separe altura e largura com um espaço. Exemplo: 320 320.
320 320
Optimizer
Sim
Disponível exclusivamente quando Model type for YOLOX.
Método de otimização para o treinamento do modelo. Opções:
momentum
adam
momentum
Initial learning rate
Sim
Taxa de aprendizado inicial.
0.01
Training batch size
Sim
Número de amostras por iteração de treinamento.
8
Validation batch size
Sim
Quantidade de amostras por iteração de validação.
8
Number of epochs
Sim
Total de épocas de treinamento.
NotaEm modelos YOLOX, o valor deste parâmetro deve superar a soma dos valores de Warmup epochs e Last no augmented lr epochs.
20
Log loss frequency
Não
Intervalo para impressão do valor de perda. O padrão é 200, ou seja, o sistema exibe o valor a cada 200 batches de treinamento.
200
Validation frequency
Não
Frequência de validação em épocas. O valor padrão 2 indica que a validação ocorre a cada duas épocas.
2
Warmup epochs
Não
Aplicável apenas aos modelos YOLOX.
5
Last no augmented lr epochs
Não
Relevante somente para modelos YOLOX.
5
Export model format
Sim
Formato de exportação do modelo. Escolha entre:
raw
jit (formato jit não compatível com os modelos YOLOv5 e YOLOv7.)
onnx
raw
Checkpoint saving frequency
Não
Intervalo (em épocas) para salvar arquivos de checkpoint. O valor 1 salva um checkpoint ao final de cada época.
1
Tuning
GPU machine type
Sim
Este componente requer uma instância com GPU para execução.
4
Enable FP16
Não
Ative ou desative o modo de meia precisão FP16.
false
Execution mode
Sim
Suporta apenas treinamento distribuído no DLC.
Distributed DLC
-
Portas de saída
Porta de saída
Tipo
Componente downstream
Modelo de saída
O modelo treinado fica armazenado no formato SavedModel, no caminho definido pelo parâmetro OSS directory for training na aba Field settings.
Exemplo
Para FCOS, YOLOX, YOLOv5 e YOLOv7, utilize o componente Object detection (easycv) para montar um pipeline conforme ilustrado abaixo.

Neste exemplo, configure os componentes da seguinte forma:
-
Use o iTAG no PAI para rotular as imagens. Consulte Create a dataset for data labeling e Create a labeling job para mais detalhes.
NotaO iTAG tem suporte limitado a certas regiões. Verifique iTAG Regions and zones para mais informações.
Após criar o conjunto de dados, selecione o modelo Object Detection em General Template ao criar o job de rotulagem.
-
Na seção Object Detection Label Configuration, escolha Single-label. Em seguida, na seção Label Configuration, insira todos os nomes de rótulo necessários para agilizar o processo.

-
Concluída a rotulagem, exporte os resultados no formato manifest para o Object Storage Service (OSS), permitindo que os componentes subsequentes os utilizem.

Use o componente Read File Data para ler o arquivo de resultados da rotulagem (por exemplo, xxx.manifest). Defina o parâmetro OSS Data Path do componente Read File Data com o caminho do OSS onde está o conjunto de dados rotulado. Exemplo:
oss://examplebucket.oss-cn-shanghai.aliyuncs.com/ev_demo/xxx.manifest.Conecte os dados de treinamento e validação ao componente Object detection (easycv) e ajuste seus parâmetros. Veja mais em Configure component parameters.
Para FCOS e YOLOX, também é possível usar o componente image prediction para executar inferência offline. Consulte image prediction para detalhes.

Documentos relacionados
Depois de treinar o modelo de detecção de objetos, conecte um componente de previsão de imagens downstream do Object detection (easycv) para gerar previsões e avaliar o desempenho do modelo. Saiba mais em image prediction.
Para informações detalhadas sobre os componentes do Designer, consulte Designer overview.
O Designer disponibiliza diversos componentes de algoritmos predefinidos. Escolha o mais adequado ao seu caso de uso. Veja Designer component reference para mais opções.