Meet YOLO26: next-gen vision AI.

Link to this sectionCompreendendo as Etapas Principais em um Projeto de Visão Computacional#

Construir um projeto de visão computacional significa percorrer uma sequência clara de etapas: definir seus objetivos, coletar e anotar dados, treinar e avaliar um modelo, e implantá-lo e mantê-lo em produção. Este guia percorre cada etapa em ordem e explica por que ela é importante, para que você possa planejar e executar seu próprio projeto com confiança.

Visão computacional é um subcampo da inteligência artificial (IA) que ajuda computadores a ver e entender o mundo como os humanos fazem. Ela processa e analisa imagens ou vídeos para extrair informações, reconhecer padrões e tomar decisões com base nesses dados.



Watch: How to Do Computer Vision Projects | A Step-by-Step Guide

Técnicas de visão computacional como detecção de objetos, classificação de imagens e segmentação de instâncias podem ser aplicadas em diversos setores, desde direção autônoma até imagens médicas, para obter insights valiosos.

Link to this sectionUma Visão Geral de um Projeto de Visão Computacional#

Antes de discutir os detalhes de cada etapa envolvida em um projeto de visão computacional, vamos olhar para o processo geral. Se você iniciasse um projeto de visão computacional hoje, seguiria estas etapas:

Computer Vision Project Steps Overview

Agora que sabemos o que esperar, vamos mergulhar nas etapas e fazer seu projeto avançar.

Link to this sectionEtapa 1: Definindo as Metas do Seu Projeto#

A primeira etapa em qualquer projeto de visão computacional é definir claramente o problema que você está tentando resolver. Conhecer o objetivo final ajuda você a começar a construir uma solução. Isso é especialmente verdadeiro quando se trata de visão computacional, porque o objetivo do seu projeto afetará diretamente em qual tarefa de visão computacional você precisa focar.

Aqui estão alguns exemplos de objetivos de projeto e as tarefas de visão computacional que podem ser usadas para alcançar esses objetivos:

  • Objetivo: Desenvolver um sistema que possa monitorar e gerenciar o fluxo de diferentes tipos de veículos em rodovias, melhorando o gerenciamento do tráfego e a segurança.

    • Tarefa de Visão Computacional: A detecção de objetos é ideal para monitoramento de tráfego porque localiza e identifica eficientemente vários veículos. Ela é menos exigente computacionalmente do que a segmentação de imagens, que fornece detalhes desnecessários para esta tarefa, garantindo uma análise mais rápida e em tempo real.
  • Objetivo: Desenvolver uma ferramenta que auxilie radiologistas, fornecendo contornos precisos em nível de pixel de tumores em exames de imagem médica.

    • Tarefa de Visão Computacional: A segmentação de imagens é adequada para imagens médicas porque fornece limites precisos e detalhados de tumores, cruciais para avaliar tamanho, forma e planejamento de tratamento.
  • Objetivo: Criar um sistema digital que categorize diversos documentos (por exemplo, faturas, recibos, papéis legais) para melhorar a eficiência organizacional e a recuperação de documentos.

    • Tarefa de Visão Computacional: A classificação de imagens é ideal aqui, pois lida com um documento de cada vez, sem precisar considerar a posição do documento na imagem. Essa abordagem simplifica e acelera o processo de classificação.

Link to this sectionSelecionando o Modelo e a Abordagem de Treinamento Certos#

Após entender o objetivo do projeto e as tarefas de visão computacional adequadas, uma parte essencial da definição da meta do projeto é selecionar o modelo certo e a abordagem de treinamento.

Dependendo do objetivo, você pode optar por selecionar o modelo primeiro ou depois de ver quais dados você consegue coletar na Etapa 2. Por exemplo, suponha que seu projeto dependa muito da disponibilidade de tipos específicos de dados. Nesse caso, pode ser mais prático coletar e analisar os dados primeiro antes de selecionar um modelo. Por outro lado, se você tiver uma compreensão clara dos requisitos do modelo, pode escolher o modelo primeiro e depois coletar os dados que se ajustam a essas especificações.

Escolher entre treinar do zero ou usar transfer learning afeta como você prepara seus dados. Treinar do zero requer um conjunto de dados diversificado para construir o entendimento do modelo desde o início. O transfer learning, por outro lado, permite que você use um modelo pré-treinado e o adapte com um conjunto de dados menor e mais específico. Além disso, escolher um modelo específico para treinar determinará como você precisa preparar seus dados, como redimensionar imagens ou adicionar anotações, de acordo com os requisitos específicos do modelo.

Training From Scratch Vs. Using Transfer Learning

Considere a implantação ao escolher um modelo

Considere o alvo de implantação de um modelo para garantir compatibilidade e desempenho. Por exemplo, modelos leves são ideais para computação de borda graças à sua eficiência em dispositivos com recursos limitados.

Para saber mais, leia nosso guia sobre como definir os objetivos do seu projeto e selecionar o modelo certo.

Antes de começar o trabalho prático de um projeto de visão computacional, é importante ter uma compreensão clara desses detalhes. Verifique se você considerou o seguinte antes de prosseguir para a Etapa 2:

  • Defina claramente o problema que você está tentando resolver.
  • Determine o objetivo final do seu projeto.
  • Identifique a tarefa específica de visão computacional necessária (por exemplo, detecção de objetos, classificação de imagens, segmentação de imagens).
  • Decida se vai treinar um modelo do zero ou usar transfer learning.
  • Selecione o modelo apropriado para sua tarefa e necessidades de implantação.

Link to this sectionEtapa 2: Coleta e Anotação de Dados#

A qualidade dos seus modelos de visão computacional depende da qualidade do seu conjunto de dados. Você pode coletar imagens da internet, tirar suas próprias fotos ou usar conjuntos de dados pré-existentes. Aqui estão alguns ótimos recursos para baixar conjuntos de dados de alta qualidade: Google Dataset Search Engine, UC Irvine Machine Learning Repository e Kaggle Datasets.

Algumas bibliotecas, como a Ultralytics, oferecem suporte integrado para vários conjuntos de dados, facilitando o início com dados de alta qualidade. Essas bibliotecas geralmente incluem utilitários para usar conjuntos de dados populares perfeitamente, o que pode economizar muito tempo e esforço nos estágios iniciais do seu projeto.

No entanto, se você optar por coletar imagens ou tirar suas próprias fotos, precisará anotar seus dados. Anotação de dados é o processo de rotular seus dados para transmitir conhecimento ao seu modelo. O tipo de anotação de dados com o qual você trabalhará depende da sua técnica específica de visão computacional. Aqui estão alguns exemplos:

  • Classificação de Imagens: Você rotulará toda a imagem como uma única classe.
  • Detecção de Objetos: Você desenhará caixas delimitadoras ao redor de cada objeto na imagem e rotulará cada caixa.
  • Segmentação de Imagens: Você rotulará cada pixel na imagem de acordo com o objeto ao qual ele pertence, criando limites detalhados dos objetos.

Bounding box, polygon, and keypoint annotations

Coleta e anotação de dados pode ser um esforço manual demorado. Uma ferramenta de anotação dedicada torna isso mais rápido: a Ultralytics Platform fornece um editor de anotação integrado com anotação inteligente baseada em SAM para detecção, segmentação e dados OBB, salvando rótulos diretamente no formato YOLO.

Link to this sectionEtapa 3: Aumento de Dados e Divisão do Seu Conjunto de Dados#

Após coletar e anotar seus dados de imagem, é importante dividir primeiro seu conjunto de dados em conjuntos de treinamento, validação e teste antes de realizar o aumento de dados. Dividir seu conjunto de dados antes do aumento é crucial para testar e validar seu modelo em dados originais e inalterados. Isso ajuda a avaliar com precisão o quão bem o modelo generaliza para novos dados não vistos.

Veja como dividir seus dados:

  • Conjunto de Treinamento: É a maior parte dos seus dados, normalmente 70-80% do total, usada para treinar seu modelo.
  • Conjunto de Validação: Geralmente em torno de 10-15% dos seus dados; este conjunto é usado para ajustar hiperparâmetros e validar o modelo durante o treinamento, ajudando a prevenir overfitting.
  • Conjunto de Teste: Os 10-15% restantes dos seus dados são reservados como o conjunto de teste. Ele é usado para avaliar o desempenho do modelo em dados não vistos após a conclusão do treinamento.

Após dividir seus dados, você pode realizar o aumento de dados aplicando transformações como girar, redimensionar e espelhar imagens para aumentar artificialmente o tamanho do seu conjunto de dados. O aumento de dados torna seu modelo mais robusto a variações e melhora seu desempenho em imagens não vistas.

Data augmentation examples

Bibliotecas como OpenCV, Albumentations e TensorFlow oferecem funções de aumento flexíveis que você pode usar. Além disso, algumas bibliotecas, como a Ultralytics, possuem configurações de aumento integradas diretamente em sua função de treinamento de modelo, simplificando o processo.

To understand your data better, you can use tools like Matplotlib or Seaborn to visualize the images and analyze their distribution and characteristics. Visualizing your data helps identify patterns, anomalies, and the effectiveness of your augmentation techniques. The Ultralytics Platform Charts tab can surface many of these insights without any code by automatically generating split distribution, class counts, image-dimension histograms, and annotation-position heatmaps for every uploaded dataset.

Ao entender, dividir e aumentar corretamente os teus dados, podes desenvolver um modelo bem treinado, validado e testado que tenha um bom desempenho em aplicações do mundo real.

Link to this sectionEtapa 4: Treinamento do Modelo#

Assim que seu conjunto de dados estiver pronto para treinamento, você pode focar em configurar o ambiente necessário, gerenciar seus conjuntos de dados e treinar seu modelo.

Primeiro, você precisará garantir que seu ambiente esteja configurado corretamente. Normalmente, isso inclui o seguinte:

  • Instalar bibliotecas e frameworks essenciais como TensorFlow, PyTorch ou Ultralytics.
  • Se você estiver usando uma GPU, instalar bibliotecas como CUDA e cuDNN ajudará a habilitar a aceleração de GPU e acelerar o processo de treinamento.

Em seguida, você pode carregar seus conjuntos de dados de treinamento e validação em seu ambiente. Normalize e pré-processe os dados por meio de redimensionamento, conversão de formato ou aumento. Com seu modelo selecionado, configure as camadas e especifique os hiperparâmetros. Compile o modelo definindo a função de perda, o otimizador e as métricas de desempenho.

Bibliotecas como a Ultralytics simplificam o processo de treinamento. Você pode iniciar o treinamento alimentando dados no modelo com o mínimo de código. Essas bibliotecas lidam com ajustes de peso, backpropagation e validação automaticamente. Elas também oferecem ferramentas para monitorar o progresso e ajustar hiperparâmetros facilmente. Após o treinamento, salve o modelo e seus pesos com alguns comandos.

É importante ter em mente que o gerenciamento adequado do conjunto de dados é vital para um treinamento eficiente. Use controle de versão para conjuntos de dados para rastrear alterações e garantir a reprodutibilidade. Ferramentas como DVC (Data Version Control) podem ajudar a gerenciar grandes conjuntos de dados.

Link to this sectionPasso 5: Avaliação e Ajuste Fino do Modelo#

É importante avaliar o desempenho do seu modelo usando várias métricas e refiná-lo para melhorar a precisão. A avaliação ajuda a identificar áreas onde o modelo se destaca e onde ele pode precisar de melhorias. O ajuste fino garante que o modelo seja otimizado para o melhor desempenho possível.

  • Métricas de Desempenho: Usa métricas como precisão, precision, recall e pontuação F1 para avaliar o desempenho do teu modelo. Estas métricas fornecem perceções sobre quão bem o teu modelo está a fazer previsões.
  • Ajuste de Hiperparâmetros: Ajuste os hiperparâmetros para otimizar o desempenho do modelo. Técnicas como busca em grade ou busca aleatória podem ajudar a encontrar os melhores valores de hiperparâmetros.
  • Ajuste Fino: Faça pequenos ajustes na arquitetura do modelo ou no processo de treinamento para melhorar o desempenho. Isso pode envolver o ajuste de taxas de aprendizado, tamanhos de lote ou outros parâmetros do modelo.

Para uma compreensão mais profunda da avaliação de modelos e técnicas de ajuste fino, confira nosso guia de insights sobre avaliação de modelos.

Link to this sectionEtapa 6: Teste do Modelo#

O teste de modelo confirma que seu modelo tem um bom desempenho em dados completamente inéditos, verificando sua prontidão para implantação. A diferença entre teste de modelo e avaliação de modelo é que o teste foca em verificar o desempenho do modelo final, em vez de melhorá-lo iterativamente.

É importante testar e depurar minuciosamente quaisquer problemas comuns que possam surgir. Teste seu modelo em um conjunto de dados de teste separado que não foi usado durante o treinamento ou validação. Este conjunto de dados deve representar cenários do mundo real para garantir que o desempenho do modelo seja consistente e confiável.

Além disso, resolva problemas comuns, como overfitting, underfitting e vazamento de dados. Use técnicas como validação cruzada e detecção de anomalias para identificar e corrigir esses problemas. Para estratégias de teste abrangentes, consulte nosso guia de teste de modelos.

Link to this sectionEtapa 7: Implantação do Modelo#

Uma vez que seu modelo tenha sido totalmente testado, é hora de implantá-lo. A implantação de modelo envolve disponibilizar seu modelo para uso em um ambiente de produção. Aqui estão as etapas para implantar um modelo de visão computacional:

  • Configuração do Ambiente: Configure a infraestrutura necessária para a opção de implantação escolhida, seja ela baseada em nuvem (AWS, Google Cloud, Azure) ou baseada em borda (dispositivos locais, IoT).
  • Exportando o Modelo: Exporte seu modelo para o formato apropriado (por exemplo, ONNX, TensorRT, CoreML para YOLO26) para garantir a compatibilidade com sua plataforma de implantação.
  • Implantando o Modelo: Implante o modelo configurando APIs ou endpoints e integrando-o ao seu aplicativo.
  • Garantindo Escalabilidade: Implemente balanceadores de carga, grupos de autoescalonamento e ferramentas de monitoramento para gerenciar recursos e lidar com o aumento de dados e solicitações de usuários.

Para orientações mais detalhadas sobre estratégias de implantação e melhores práticas, confira nosso guia de práticas de implantação de modelos. A Ultralytics Platform também oferece endpoints de implantação gerenciados com autoescalonamento em 43 regiões globais, lidando com a configuração da infraestrutura automaticamente.

Link to this sectionEtapa 8: Monitoramento, Manutenção e Documentação#

Uma vez que seu modelo esteja implantado, é importante monitorar continuamente seu desempenho, mantê-lo para lidar com quaisquer problemas e documentar todo o processo para referência futura e melhorias.

Ferramentas de monitoramento podem ajudá-lo a rastrear os principais indicadores de desempenho (KPIs) e detectar anomalias ou quedas na precisão. Ao monitorar o modelo, você pode estar ciente da deriva do modelo (model drift), onde o desempenho do modelo diminui com o tempo devido a alterações nos dados de entrada. Treine o modelo periodicamente com dados atualizados para manter a precisão e a relevância.

Model monitoring and maintenance lifecycle

Além do monitoramento e manutenção, a documentação também é fundamental. Documente minuciosamente todo o processo, incluindo a arquitetura do modelo, procedimentos de treinamento, hiperparâmetros, etapas de pré-processamento de dados e quaisquer alterações feitas durante a implantação e manutenção. Uma boa documentação garante a reprodutibilidade e facilita futuras atualizações ou solução de problemas. Ao monitorar, manter e documentar efetivamente seu modelo, você pode garantir que ele permaneça preciso, confiável e fácil de gerenciar ao longo de seu ciclo de vida.

Link to this sectionEngajando-se com a Comunidade#

Conectar-se com uma comunidade de entusiastas de visão computacional pode ajudá-lo a enfrentar quaisquer problemas que você enfrente enquanto trabalha em seu projeto de visão computacional com confiança. Aqui estão algumas maneiras de aprender, solucionar problemas e fazer networking de forma eficaz.

Link to this sectionRecursos da comunidade#

  • Issues do GitHub: Confira o repositório GitHub do YOLO26 e use a guia Issues para fazer perguntas, relatar bugs e sugerir novos recursos. A comunidade ativa e os mantenedores estão lá para ajudar com problemas específicos.
  • Servidor Discord da Ultralytics: Entre no servidor Discord da Ultralytics para interagir com outros usuários e desenvolvedores, obter suporte e compartilhar insights.

Link to this sectionDocumentação Oficial#

  • Documentação YOLO26 da Ultralytics: Explore a documentação oficial do YOLO26 para guias detalhados com dicas úteis sobre diferentes tarefas e projetos de visão computacional.

Usar esses recursos ajudará você a superar desafios e se manter atualizado com as últimas tendências e práticas recomendadas na comunidade de visão computacional.

Link to this sectionPróximos Passos#

Você agora tem um roteiro para cada etapa de um projeto de visão computacional, desde a definição de objetivos até o monitoramento de um modelo implantado. Coloque-o em prática treinando seu primeiro modelo YOLO, ou aprofunde-se em qualquer etapa individual através dos guias vinculados acima. Para executar o pipeline completo sem escrever código, explore a Ultralytics Platform.

Link to this sectionFAQ#

Link to this sectionComo escolho a tarefa de visão computacional certa para meu projeto?#

Escolher a tarefa de visão computacional certa depende do objetivo final do seu projeto. Por exemplo, se você deseja monitorar o tráfego, a detecção de objetos é adequada, pois pode localizar e identificar vários tipos de veículos em tempo real. Para imagens médicas, a segmentação de imagens é ideal para fornecer limites detalhados de tumores, auxiliando no diagnóstico e planejamento de tratamento. Saiba mais sobre tarefas específicas como detecção de objetos, segmentação de instâncias, segmentação semântica e classificação de imagens.

Link to this sectionPor que a anotação de dados é crucial em projetos de visão computacional?#

A anotação de dados é vital para ensinar seu modelo a reconhecer padrões. O tipo de anotação varia de acordo com a tarefa:

  • Classificação de Imagens: Imagem inteira rotulada como uma única classe.
  • Detecção de Objetos: Caixas delimitadoras desenhadas ao redor de objetos.
  • Segmentação de Imagens: Cada pixel rotulado de acordo com o objeto ao qual ele pertence.

O editor de anotação integrado na Ultralytics Platform pode ajudar nesse processo. Para mais detalhes, consulte nosso guia de coleta e anotação de dados.

Link to this sectionQuais etapas devo seguir para aumentar e dividir meu conjunto de dados de forma eficaz?#

Dividir seu conjunto de dados antes do aumento ajuda a validar o desempenho do modelo em dados originais e inalterados. Siga estas etapas:

  • Conjunto de Treinamento: 70-80% dos seus dados.
  • Conjunto de Validação: 10-15% para ajuste de hiperparâmetros.
  • Conjunto de Teste: Os 10-15% restantes para avaliação final.

Após a divisão, aplica técnicas de aumento de dados como rotação, escala e inversão (flipping) para aumentar a diversidade do conjunto de dados. Bibliotecas como Albumentations e OpenCV podem ajudar. A Ultralytics também oferece definições de aumento integradas para maior conveniência.

Link to this sectionComo posso exportar o meu modelo de visão computacional treinado para implementação?#

Exporte seu modelo treinado com o método export, escolhendo um formato que corresponda ao seu alvo de implantação. A Ultralytics suporta vários formatos, incluindo ONNX, TensorRT e CoreML. Para exportar seu modelo YOLO26, siga estes passos:

  • Use o método export com o parâmetro de formato desejado.
  • Garante que o modelo exportado se ajusta às especificações do teu ambiente de implementação (por exemplo, dispositivos edge, nuvem).

Para mais informações, consulta o guia de exportação de modelos.

Link to this sectionQuais são as melhores práticas para monitorizar e manter um modelo de visão computacional implementado?#

A monitorização e manutenção contínuas são essenciais para o sucesso a longo prazo de um modelo. Implementa ferramentas para acompanhar Indicadores-Chave de Desempenho (KPIs) e detetar anomalias. Re-treina regularmente o modelo com dados atualizados para combater a degradação do modelo (model drift). Documenta todo o processo, incluindo a arquitetura do modelo, hiperparâmetros e alterações, para garantir a reprodutibilidade e facilitar futuras atualizações. Sabe mais no nosso guia de monitorização e manutenção.

Comentários