Yolo Vision Shenzhen
Shenzhen
Junte-se agora

Descubra como treinar YOLO mais rapidamente com Ultralytics , um ambiente completo concebido para acelerar o processo desde os dados até à implementação.

Expanda os seus projetos de visão computacional com Ultralytics

Comece agora

Na semana passada, Ultralytics a Ultralytics , um espaço de trabalho unificado concebido para simplificar a forma como as equipas criam, treinam e implementam modelos de visão computacional. Em vez de ter de lidar com várias ferramentas, a plataforma reúne tudo num único local. Passar da ideia à implementação com modelos de IA de visão torna-se muito mais simples. 

Isto é fundamental, pois a visão computacional está a tornar-se rapidamente uma componente essencial de vários setores. Esta tecnologia está na base de aplicações como a inspeção na indústria transformadora, a análise de dados no retalho e a navegação autónoma.

A transformação destas aplicações baseadas na visão em sistemas fiáveis depende da qualidade do treino dos modelos. O treino de modelos envolve a aprendizagem a partir de dados rotulados, para que o modelo consiga reconhecer padrões e fazer previsões precisas. Em geral, modelos bem treinados conduzem a um melhor desempenho e a resultados mais fiáveis em aplicações do mundo real.

No entanto, treinar um modelo de visão computacional nem sempre é uma tarefa simples. Envolve vários aspetos, tais como a configuração de ambientes, a seleção de recursos computacionais adequados, o ajuste de hiperparâmetros e o acompanhamento de múltiplas experiências de treino. Quando estas etapas estão distribuídas por diferentes ferramentas e sistemas, o fluxo de trabalho de treino torna-se rapidamente complexo e difícil de gerir.

A Ultralytics resolve esta questão ao reunir todo o processo de treino num único painel unificado. Pode configurar, executar e monitorizar tarefas de treino num único local, quer esteja a trabalhar na nuvem, localmente ou no Google . 

Fig. 1. Uma visão geral do treino de modelos na Ultralytics (Fonte)

Neste artigo, vamos explorar como Ultralytics simplifica o treino de modelos e por que razão pode dar-lhe uma vantagem nos seus projetos de IA de visão. Vamos começar!

Os modelos de visão computacional aprendem com os dados através do treino do modelo

Antes de nos debruçarmos sobre o funcionamento do treino de modelos na Ultralytics , vamos primeiro dar um passo atrás e explicar o que é o treino de modelos e em que consiste.

O treino de modelos é o processo através do qual um modelo de visão computacional aprende a interpretar dados visuais. Este analisa imagens ou vídeos e ajusta gradualmente os seus parâmetros internos para realizar tarefas de visão, como a deteção de objetos, a classificação de imagens e a segmentação de instâncias, com precisão. Com o tempo, o modelo melhora ao aprender padrões diretamente a partir dos dados que analisa.

A qualidade do treino depende em grande medida dos conjuntos de dados. Pode pensar num conjunto de dados como um conjunto de fichas que um professor usaria para ensinar um aluno, em que cada exemplo ajuda o modelo a aprender o que deve procurar.

Um conjunto de dados típico de visão computacional inclui imagens, geralmente em formatos como JPG ou PNG, e anotações que descrevem o que cada imagem contém. Essas anotações, frequentemente armazenadas como ficheiros JSON ou TXT, fornecem os rótulos e o contexto de que o modelo necessita para aprender de forma eficaz.

Mas o treino não se resume apenas a introduzir dados num modelo. Envolve várias etapas fundamentais, desde a preparação do conjunto de dados até à seleção do modelo adequado e à configuração do processo de treino. A seguir, vamos analisar mais detalhadamente algumas dessas etapas.

Uma análise sobre como os conjuntos de dados são preparados

Pode parecer que, assim que se tem um conjunto de dados, é possível começar imediatamente a treinar um modelo, mas há alguns passos que é necessário seguir primeiro, como dividir o conjunto de dados.

Geralmente, um conjunto de dados é dividido em três partes: conjunto de treino, conjunto de validação e conjunto de teste. As imagens de treino são utilizadas para ensinar ao modelo os padrões presentes nos dados, enquanto o conjunto de validação ajuda a monitorizar e a ajustar o desempenho durante o treino. 

O conjunto de teste é utilizado no final para avaliar o desempenho do modelo em dados completamente novos e nunca antes vistos. Esta configuração ajuda a garantir que o modelo não se limita a memorizar os dados, mas é capaz de generalizar para cenários do mundo real.

Escolher o modelo certo para a formação

Outro passo importante antes do treino é escolher o modelo que pretende utilizar. Em muitos casos, isso significa selecionar um modelo pré-treinado. Modelos comoYOLO Ultralytics já foram treinados com grandes conjuntos de dados e aprenderam padrões visuais gerais, o que os torna um excelente ponto de partida.

A utilização destes modelos é um exemplo de aprendizagem por transferência, em que se parte do conhecimento existente e se adapta o modelo à tarefa específica. Esta abordagem ajuda a acelerar o treino e a melhorar os resultados, especialmente quando se trabalha com dados limitados.

Estes modelos também estão disponíveis em diferentes tamanhos, cada um oferecendo um equilíbrio entre velocidade e precisão. Os modelos mais pequenos são mais rápidos e eficientes, enquanto os modelos maiores tendem a oferecer maior precisão, mas exigem mais recursos computacionais.

Configurar os parâmetros de treino para modelos de visão

Depois de ter um conjunto de dados preparado e de ter selecionado um modelo, o próximo passo é configurar a forma como o modelo aprende.

Um modelo de visão computacional é treinado utilizando um conjunto de parâmetros que determinam a forma como processa os dados, atualiza os seus pesos e melhora ao longo do tempo. Estas configurações têm um impacto direto tanto na velocidade do treino como na precisão final, tornando-as essenciais para alcançar resultados sólidos.

Eis alguns dos parâmetros de treino mais utilizados:

  • Épocas: Representam o número de vezes que o modelo percorre todo o conjunto de dados durante o treino. Aumentar o número de épocas dá ao modelo mais oportunidades de aprender padrões a partir dos dados.
  • Tamanho do lote: trata-se do número de imagens processadas em conjunto numa única etapa de treino. Lotes maiores podem acelerar o treino, mas requerem mais memória.
  • Tamanho da imagem: especifica a resolução das imagens de entrada utilizadas durante o treino. Resoluções mais elevadas podem melhorar a precisão da deteção, mas aumentam o custo computacional.
  • Taxa de aprendizagem: trata-se da taxa à qual o modelo atualiza os seus parâmetros internos durante o treino. Valores demasiado elevados ou demasiado baixos podem tornar o treino instável.
  • Otimizador: Este é o algoritmo responsável por atualizar os parâmetros do modelo com base no erro calculado durante cada iteração de treino.

Nos fluxos de trabalhoYOLO Ultralytics , estas configurações são normalmente definidas num ficheiro YAML. Este ficheiro especifica os caminhos dos conjuntos de dados, os nomes das classes e a forma como os dados são divididos. Funciona como uma configuração central que indica ao modelo como interpretar o conjunto de dados.

De fluxos de trabalho fragmentados a uma experiência unificada com Ultralytics

Acabámos de abordar alguns dos passos fundamentais envolvidos no treino de um modelo de visão computacional, desde a preparação de conjuntos de dados até à seleção de um modelo e à configuração dos parâmetros de treino. Na prática, o processo vai frequentemente mais além, incluindo a realização de experiências de acompanhamento, a comparação de várias execuções de treino e o aperfeiçoamento contínuo dos modelos ao longo do tempo.

Estas etapas raramente são tratadas num único local. Os conjuntos de dados podem ser preparados numa ferramenta, os processos de treino executados noutro ambiente e o acompanhamento das experiências gerido separadamente. À medida que os projetos crescem, esta fragmentação aumenta a complexidade, atrasa a iteração e torna mais difícil manter tudo organizado.

Ultralytics elimina essa complexidade ao reunir todo o fluxo de trabalho de treino num único ambiente. Em vez de alternar entre ferramentas, pode gerir conjuntos de dados, configurar o treino, realizar experiências e monitorizar os resultados, tudo num único local.

A seguir, vamos ver como Ultralytics torna o treino de modelos mais inteligente. 

Opções de treino suportadas pela Ultralytics

Em aplicações reais, o treino de um modelo de visão computacional requer frequentemente ambientes flexíveis. Dependendo do tamanho do seu conjunto de dados, da complexidade do modelo e do hardware disponível, pode optar por executar o treino na nuvem, numa máquina local ou através de ambientes de notebook externos.

Ultralytics oferece as seguintes opções de formação para responder a estas necessidades:

  • Formação na nuvem: A formação é realizada em unidades de processamento gráfico (GPUs) na nuvem Ultralytics. Esta opção é ideal para conjuntos de dados de maior dimensão ou modelos mais complexos que exigem recursos computacionais significativos.
  • Treino local: esta opção utiliza o hardware disponível no seu computador e é ideal para experiências rápidas, testar configurações ou trabalhar com conjuntos de dados mais pequenos. Para cargas de trabalho mais escaláveis, o treino também pode ser executado no seu próprio ambiente de nuvem, como a AWS ou o GCP.
  • Google : Com Ultralytics , pode executar o treino no ambiente de cadernos hospedados Google , permitindo um fluxo de trabalho flexível e baseado no navegador, sem necessidade de configurar um computador local.

Explorar a formação sobre a nuvem na Ultralytics

No que diz respeito a projetos de visão computacional, nem sempre é fácil treinar modelos localmente ou em ambientes de notebook.

Por exemplo, no caso do treino local, o desempenho depende inteiramente do seu hardware, o que pode limitar a capacidade de computação e atrasar a experimentação. As GPUs são essenciais para um treino eficiente, mas nem todas as configurações têm acesso fiável a elas. 

Embora ambientes de notebook como Google ofereçam uma alternativa ao disponibilizarem GPUs na nuvem, as sessões são frequentemente temporárias e podem interromper processos de treino mais longos. À medida que os conjuntos de dados crescem e os fluxos de trabalho se tornam mais complexos, estas limitações podem rapidamente transformar-se em gargalos, tornando o treino mais lento e menos fiável.

Ultralytics resolve esta questão com a sua opção de treino na nuvem. Oferece um ambiente pronto a usar, onde Python e os frameworks Python , como PyTorch pré-configurados, permitindo-lhe iniciar o treino sem necessidade de configuração adicional.

A partir de um único painel, pode iniciar tarefas de treino e acompanhar o progresso em tempo real. Isto facilita a concentração na melhoria dos seus modelos, em vez de ter de gerir a infraestrutura.

Agora, vamos ver como começar a formação sobre a nuvem na Ultralytics .

Passo 1: Selecione um modelo básico

O primeiro passo é escolher um modelo base para o seu processo de treino. Pode selecionar um YOLO Ultralytics YOLO pré-treinado, clonar um modelo da comunidade ou carregar os seus próprios pesos pré-treinados para satisfazer requisitos personalizados.

A plataforma suporta todosYOLO Ultralytics YOLO , incluindo Ultralytics , Ultralytics YOLO11, Ultralytics YOLOv8e Ultralytics YOLOv5, cada um disponível em diferentes variantes de tamanho, tais como nano (n), pequeno (s), médio (m), grande (l) e extragrande (x). Com diferentes variantes de modelo que oferecem um equilíbrio entre velocidade e precisão, pode escolher um modelo que se adapte aos seus requisitos de desempenho e computação.

Estes modelos suportam uma variedade de tarefas de visão computacional com as quaisYOLO Ultralytics YOLO já estão familiarizados, incluindo deteção de objetos, segmentação de instâncias, classificação de imagens, deteção de caixas delimitadoras orientadas (OBB) e estimativa de poses.

Se tiver requisitos específicos, também pode carregar os seus próprios pesos de modelo pré-treinados. Isto significa que pode continuar a treinar ou ajustar um modelo existente, como um detetor de objetos, dentro da plataforma, em vez de começar do zero. É especialmente útil se já tiver treinado um modelo noutro local ou se pretender adaptar um modelo a um caso de utilização mais específico.

Passo 2: Selecione um conjunto de dados

O próximo passo é selecionar um conjunto de dados para treino. Na Ultralytics , pode utilizar conjuntos de dados já existentes, como o COCO , clonar conjuntos de dados da comunidade ou carregar o seu próprio conjunto de dados personalizado, adaptado à sua aplicação específica.

A plataforma suporta formatos de anotação comuns, como Ultralytics YOLO COCO, e também permite o envio de imagens em formato bruto, caso pretenda anotar dados personalizados diretamente na plataforma.

Depois de carregados, os conjuntos de dados são processados automaticamente, incluindo validação, normalização, análise de rótulos e geração de estatísticas. Isto permite-lhe ter uma visão imediata dos seus dados, incluindo as distribuições de classes e a estrutura do conjunto de dados, e ajuda a garantir que tudo está pronto para o treino.

Os conjuntos de dados também são automaticamente associados às execuções de treino, permitindo-lhe track os dados utilizados para cada modelo e manter a consistência entre as experiências.

Passo 3: Configurar os parâmetros de treino

Depois de selecionar o conjunto de dados, pode configurar os parâmetros de treino que controlam a forma como o modelo aprende. Estes incluem o número de épocas, o tamanho do lote, o tamanho da imagem e o nome da execução para o registo de treino. Muitos destes parâmetros influenciam tanto a duração do treino como o desempenho final do modelo.

Para um treino mais controlado, a plataforma também permite ajustar parâmetros avançados, tais como a taxa de aprendizagem, o tipo de otimizador, as definições de aumento de cor e outras opções de treino. Estas definições permitem afinar o processo de treino para melhorar a precisão e a estabilidade do modelo.

Passo 4: Selecionar uma GPU

Em seguida, pode selecionar a GPU para a sua sessão de treino. A escolha da GPU adequada GPU de fatores como o tamanho do conjunto de dados, o tamanho do lote, a resolução da imagem e a complexidade do modelo. Encontrar o equilíbrio certo ajuda a manter o treino eficiente sem utilizar mais recursos computacionais do que o necessário.

Ultralytics oferece 22 GPU com diferentes níveis de VRAM (memória da GPU) e capacidade de processamento, suportando desde pequenas tarefas até cargas de trabalho em grande escala.

Com isto, pode adaptar o hardware às suas necessidades específicas, quer esteja a treinar modelos leves ou a trabalhar com conjuntos de dados grandes e complexos. Para saber mais, consulte a lista de GPUs disponíveis na páginade documentação de treino da Plataforma Ultralytics .

Fig. 2. Algumas das GPU ativadas através Ultralytics (Fonte)

Passo 5: Iniciar a formação sobre a nuvem

Depois de selecionar o modelo, o conjunto de dados, os parâmetros de treino e a opção de computação, é rápido iniciar uma sessão de treino. A partir do painel de controlo, pode iniciar o treino com um único clique, e a plataforma trata do resto, inicializando o ambiente e executando a tarefa na GPU selecionada.

À medida que o treino começa, pode acompanhar o progresso diretamente na plataforma. O separador «Treinar» oferece uma visão em tempo real das principais métricas, incluindo métricas de desempenho, curvas de perdas, utilização do sistema e registos de treino em tempo real.

Para saber mais sobre o treino local ou sobre como utilizar Google com Ultralytics , pode consultar outros tutoriais nadocumentação oficialda Plataforma Ultralytics .

Avaliação e comparação de modelos na Ultralytics

Assim que o treino estiver concluído, o próximo passo é avaliar o desempenho do seu modelo. Na Ultralytics , pode comparar várias execuções de treino dentro de um projeto, o que lhe dá uma visão clara do desempenho das diferentes experiências.

Ao desenvolver modelos, o treino é frequentemente repetido várias vezes com diferentes configurações, tais como a alteração da taxa de aprendizagem, do tamanho do lote ou do tamanho do modelo, para melhorar os resultados. Cada uma destas execuções produz um modelo ligeiramente diferente, razão pela qual é fundamental compará-los.

Os projetos funcionam como um ponto central onde os modelos e as experiências são organizados em conjunto. Pode track , analisar os resultados e manter-se concentrado sem ter de alternar entre diferentes ferramentas ou visualizações.

A partir desta visualização unificada, também pode analisar métricas-chave de desempenho, como precisão, recall e mAP precisão média), para compreender o desempenho do seu modelo nas diferentes classes. Pode ainda comparar execuções de treino lado a lado para identificar quais as configurações que proporcionam os melhores resultados. 

Para complementar estas métricas, pode utilizar o separador «Predict» para testar rapidamente os modelos treinados em imagens ou dados de amostra, o que o ajuda a validar visualmente o desempenho e a identificar potenciais problemas.

Com estas informações, pode selecionar o modelo com melhor desempenho, normalmente guardado como o ponto de verificação «best.pt», e avançar para a fase seguinte, quer se trate de uma avaliação mais aprofundada, da utilização do modelo para realizar inferências ou da implementação do modelo através da plataforma.

Fig. 3. Um exemplo de visualização de métricas na Ultralytics (Fonte)

Estimativa dos custos de formação na Ultralytics

O treino de modelos de deteção de objetos na nuvem implica custos de computação, especialmente quando se recorre a GPUs de alto desempenho. Para facilitar este processo, Ultralytics fornece uma estimativa de custos antes do início do treino.

Oferece-lhe uma visão clara da utilização prevista, ajudando-o a planear cargas de trabalho, gerir orçamentos e evitar despesas inesperadas antes de iniciar um trabalho de treino. Veja aqui como pode verificar os custos estimados antes de iniciar o treino.

Como se calcula a duração do treino

Para estimar os custos com precisão, a plataforma calcula primeiro quanto tempo demorará uma única época de treino. Isso depende de fatores como o tamanho do conjunto de dados, o tamanho do modelo, a resolução das imagens, o tamanho do lote e a velocidade da GPU selecionada.

Com base nestes dados, determina o tempo estimado por época e extrapola-o para toda a execução do treino. A duração total é calculada somando o tempo de todas as épocas a uma pequena margem de tempo inicial.

A sobrecarga deve-se a tarefas como a inicialização do ambiente, o carregamento de conjuntos de dados e a preparação da GPU, garantindo que a estimativa reflita todo o processo de treino, e não apenas o ciclo de treino.

Como é calculado o custo da formação

Depois de estimar o tempo total de treino, a plataforma converte esse valor em custo utilizando a tarifa horária GPU selecionada.

Ao combinar a duração do treino com GPU , podemos obter uma estimativa clara de quanto custará a execução antes mesmo de esta começar.

Ter uma visão antecipada facilita o ajuste da sua configuração, como ajustar os parâmetros de treino ou selecionar uma GPU diferente, para que possa equilibrar o desempenho e o custo de forma mais eficaz.

Fig. 4. Configuração do treino do modelo e estimativa de custos na Ultralytics (Fonte)

Principais vantagens da utilização da Ultralytics para o treino de modelos

Até agora, abordámos os principais passos envolvidos no treino de modelos de visão computacional e a forma como estes se integram na Ultralytics . 

Para além destas funcionalidades essenciais, existem capacidades adicionais que otimizam o fluxo de trabalho de treino. Aqui fica uma visão geral de algumas das principais vantagens da utilização Ultralytics para o treino de modelos:

  • Reprodutibilidade integrada das experiências: cada execução de treino é automaticamente registada com a sua configuração completa, incluindo o modelo, o conjunto de dados, os parâmetros e a configuração de computação. Isto facilita a revisão das experiências e a reprodução fiável dos resultados.
  • Informações sobre o treino ao longo do tempo: em vez de se limitar a ver os resultados finais, pode track do desempenho ao longo das épocas, o que o ajuda a compreender melhor o comportamento do modelo durante o treino.
  • Menos custos operacionais: ao tratar da configuração do ambiente, da gestão de dependências e da infraestrutura em segundo plano, a plataforma permite-lhe concentrar-se mais no desenvolvimento de modelos e menos na configuração.
  • Organização centralizada de experiências: os projetos funcionam como um único ponto de gestão de modelos, conjuntos de dados e sessões de treino, ajudando a manter as experiências estruturadas à medida que os fluxos de trabalho se tornam mais complexos.

Principais conclusões

O treino é uma das fases mais importantes do ciclo de vida de um modelo de aprendizagem automática. Determina a precisão com que um modelo consegue reconhecer e interpretar dados visuais. 

Ao combinar a configuração dos dados de treino, a monitorização, a comparação de experiências e a estimativa de custos num único ambiente, a Ultralytics simplifica o processo de criação de modelos de visão computacional de alto desempenho e a sua preparação para implementação.

Conheça a nossa comunidade em crescimento e o nosso repositório no GitHub para saber mais sobre visão computacional. Se pretende desenvolver soluções de visão computacional, consulte as nossas opções de licenciamento. Explore as nossas páginas de soluções para saber mais sobre os benefícios da visão computacional na indústria transformadora e da IA na agricultura.

Vamos construir juntos o futuro da IA!

Comece sua jornada com o futuro do aprendizado de máquina