Meet YOLO26: next-gen vision AI.

Link to this sectionComo definir objetivos para o teu projeto de visão computacional#

Para definir um projeto de visão computacional, escreve uma declaração do problema que identifique a questão central, o âmbito, as partes interessadas e as restrições; estabelece objetivos mensuráveis e com prazos definidos; e mapeia o problema para a tarefa de visão computacional que determina as tuas decisões sobre modelo, conjunto de dados e implementação. Este guia percorre cada etapa com um exemplo prático.



Watch: How to define Computer Vision Project's Goal | Problem Statement and VisionAI Tasks Connection 🚀

Para uma visão geral do fluxo de trabalho completo, desde a recolha de dados até à implementação, vê o nosso guia sobre os passos fundamentais num projeto de visão computacional.

Link to this sectionComo escrever uma declaração de problema de visão computacional#

Uma declaração de problema clara é o primeiro grande passo para encontrar a solução mais eficaz. Esta tem quatro partes:

  • Identifica a Questão Central: Aponta o desafio específico que o teu projeto de visão computacional pretende resolver.
  • Determina o Âmbito: Define os limites do teu problema.
  • Considera Utilizadores Finais e Partes Interessadas: Identifica quem será afetado pela solução.
  • Analisa os Requisitos e Restrições do Projeto: Avalia os recursos disponíveis (tempo, orçamento, pessoal) e identifica quaisquer restrições técnicas ou regulamentares.

Link to this sectionExemplo de uma Declaração de Problema de Negócio#

Considera um projeto de visão computacional onde queres estimar a velocidade de veículos numa autoestrada. A questão central é que os métodos atuais de monitorização de velocidade são ineficientes e propensos a erros devido a sistemas de radar obsoletos e processos manuais. O projeto visa desenvolver um sistema de visão computacional em tempo real que possa substituir sistemas legados de estimativa de velocidade.

Vehicle speed estimation on a highway using Ultralytics YOLO

Os utilizadores principais incluem autoridades de gestão de tráfego e forças policiais, enquanto as partes interessadas secundárias são os planeadores de autoestradas e o público que beneficia de estradas mais seguras. Os requisitos fundamentais envolvem a avaliação do orçamento, tempo e pessoal, bem como a abordagem de necessidades técnicas como câmaras de alta resolução e processamento de dados em tempo real. Adicionalmente, restrições regulamentares sobre privacidade e segurança de dados devem ser consideradas.

Link to this sectionDefinir Objetivos Mensuráveis#

Definir objetivos mensuráveis é fundamental para o sucesso de um projeto de visão computacional. Objetivos eficazes seguem os critérios SMART:

CritérioO que significa
EspecíficoDefine objetivos claros e detalhados.
MensurávelGarante que os objetivos são quantificáveis.
AlcançávelDefine metas realistas dentro das tuas capacidades.
RelevanteAlinha os objetivos com as metas gerais do teu projeto.
TemporalDefine prazos para cada objetivo.

Para o exemplo de estimativa de velocidade em autoestrada, os objetivos SMART poderiam ser:

  • Atingir pelo menos 95% de precisão na deteção de velocidade no prazo de seis meses, usando um conjunto de dados de 10.000 imagens de veículos.
  • O sistema deve ser capaz de processar feeds de vídeo em tempo real a 30 fotogramas por segundo com um atraso mínimo.

Ao definir metas específicas e quantificáveis, podes acompanhar eficazmente o progresso, identificar áreas para melhoria e garantir que o projeto se mantém no caminho certo.

Link to this sectionComo escolher a tarefa de visão computacional correta#

A tua declaração de problema ajuda-te a conceptualizar qual a tarefa de visão computacional que pode resolver o teu problema. As tarefas mais populares incluem classificação de imagem, deteção de objetos e segmentação de imagem — vê a página de tarefas da Ultralytics para uma comparação detalhada.

Comparison of image classification, object detection, and image segmentation outputs

Por exemplo, se o teu problema é monitorizar a velocidade de veículos numa autoestrada, a tarefa relevante é o rastreio de objetos. O rastreio é adequado porque segue cada veículo através dos fotogramas de vídeo com um ID persistente, que é o que o cálculo de velocidade requer.

YOLO object tracking of vehicles on a highway with persistent track IDs

Outras tarefas são menos adequadas por si só. A deteção de objetos, por exemplo, localiza veículos em cada fotograma, mas não mantém a identidade de cada veículo entre fotogramas — e sem essa identidade, o sistema não consegue medir o movimento ao longo do tempo. Assim que identificares a tarefa de visão computacional apropriada, esta guiará vários aspetos críticos do teu projeto, como a seleção do modelo, a preparação do conjunto de dados e as abordagens de treino do modelo.

Link to this sectionO que vem primeiro: modelo, dados ou abordagem de treino?#

A ordem da seleção do modelo, preparação do conjunto de dados e abordagem de treino depende das especificidades do teu projeto:

A tua situaçãoComeça comExemplo
Problema e objetivos bem definidosSeleção de modeloPara um sistema de monitorização de tráfego que estima velocidades de veículos, escolhe um modelo de rastreio de objetos, reúne e anota vídeos de autoestrada e, depois, treina com técnicas para processamento de vídeo em tempo real.
Dados únicos ou limitadosPreparação do conjunto de dadosPara um sistema de reconhecimento facial com um pequeno conjunto de dados, anota os dados primeiro, depois seleciona um modelo que funcione bem com dados limitados — como um modelo pré-treinado para aprendizagem por transferência — e planeia o aumento de dados para expandir o conjunto de dados.
A experimentação é crucial (investigação)Abordagem de treinoNum projeto que explora novos métodos para detetar defeitos de fabrico, experimenta primeiro num pequeno subconjunto de dados. Assim que encontrares uma técnica promissora, seleciona um modelo adaptado a essas descobertas e prepara um conjunto de dados abrangente.

Se começares com os dados, a Ultralytics Platform simplifica a organização, anotação e treino do conjunto de dados à medida que o teu projeto evolui.

Link to this sectionComo as opções de implementação afetam o teu projeto#

As opções de implementação de modelo impactam criticamente o desempenho do teu projeto de visão computacional, por isso considera-as desde o início. O ambiente de implementação deve lidar com a carga computacional do teu modelo:

Opção de implementaçãoIdeal paraExemplos de tecnologias
Dispositivos de edgeSmartphones e dispositivos IoT com recursos computacionais limitados; modelos levesTensorFlow Lite, ONNX Runtime
Servidores na nuvemModelos complexos com maiores exigências computacionais; hardware que escala com o projetoAWS, Google Cloud, Azure
Servidores locais (on-premise)Necessidades elevadas de privacidade de dados e segurança; controlo total sobre dados e infraestruturaServidores GPU autogeridos
Soluções híbridasEquilibrar desempenho com custo e latência; processamento em edge mais análise na nuvemCombinação de runtimes de edge e plataformas na nuvem

Cada opção oferece diferentes benefícios e desafios, e a escolha depende de requisitos específicos do projeto, como desempenho, custo e segurança.

Link to this sectionConclusão#

Um projeto de visão computacional bem-sucedido começa com uma declaração de problema clara, objetivos SMART mensuráveis e a tarefa de visão computacional certa para o trabalho — estas decisões guiam tudo o que se segue, desde a seleção do modelo até à implementação. Como próximo passo, aprende a recolher e anotar dados, ou discute o teu projeto com outros programadores no GitHub e no servidor Discord da Ultralytics.

Link to this sectionFAQ#

Link to this sectionComo defino uma declaração de problema clara para o meu projeto de visão computacional?#

Uma declaração de problema clara identifica a questão central que o teu projeto resolve, o seu âmbito, os utilizadores finais e as partes interessadas, e os teus recursos e restrições regulamentares. Trabalha essas quatro partes por ordem e, em seguida, valida a declaração com as partes interessadas antes de tomar decisões técnicas. Vê Como escrever uma declaração de problema de visão computacional para uma análise completa e um exemplo prático.

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

Corresponde o output que o teu problema precisa à tarefa que o produz: uma única etiqueta por imagem aponta para classificação de imagem, localizações de objetos apontam para deteção de objetos, limites ao nível de píxel apontam para segmentação de imagem e identidades mantidas através de fotogramas de vídeo apontam para rastreio de objetos. Monitorizar velocidades de veículos, por exemplo, requer rastreio porque a velocidade é calculada a partir do movimento de cada veículo ao longo do tempo. Vê a página de tarefas da Ultralytics para todas as tarefas suportadas.

Link to this sectionComo defino objetivos mensuráveis eficazes para o meu projeto de visão computacional?#

Usa os critérios SMART: Específico, Mensurável, Alcançável, Relevante e Temporal. Por exemplo, "Atingir 95% de precisão na deteção de velocidade dentro de seis meses usando um conjunto de dados de 10.000 imagens de veículos." Esta abordagem ajuda a acompanhar o progresso e a identificar áreas para melhoria. Lê mais sobre definir objetivos mensuráveis.

Link to this sectionPode um modelo pré-treinado lembrar-se de classes que conhecia antes de um treino personalizado?#

Não, os modelos pré-treinados não "se lembram" das classes no sentido tradicional. Eles aprendem padrões a partir de conjuntos de dados massivos e, durante o treino personalizado (ajuste fino), esses padrões são ajustados para a tua tarefa específica. A capacidade do modelo é limitada e focar-se em nova informação pode substituir algumas aprendizagens anteriores.

Overview of transfer learning from a pretrained model to a custom model

Se quiseres usar as classes nas quais o modelo foi pré-treinado, uma abordagem prática é usar dois modelos: um que retém o desempenho original e outro que é ajustado para a tua tarefa específica. Desta forma, podes combinar os resultados de ambos os modelos. Existem outras opções, como congelar camadas, usar o modelo pré-treinado como um extrator de funcionalidades e ramificação específica da tarefa, mas estas são soluções mais complexas e requerem mais perícia.

Link to this sectionComo é que as opções de implementação afetam o meu projeto de visão computacional?#

As opções de implementação determinam quais os tamanhos e formatos de modelo que são viáveis, pelo que moldam o teu projeto desde o início. Os dispositivos de edge precisam de modelos leves servidos através de formatos e runtimes como TensorFlow Lite ou ONNX Runtime, os servidores na nuvem lidam com modelos complexos em hardware escalável, os servidores locais dão controlo total sobre os dados para projetos sensíveis à privacidade e as configurações híbridas equilibram os dois. Compara-os na tabela de opções de implementação ou vê o guia de opções de implementação de modelo para detalhes.

Link to this sectionQuais são os desafios mais comuns na definição de um problema de visão computacional?#

Desafios comuns incluem:

  • Declarações de problema vagas ou demasiado amplas.
  • Objetivos irrealistas.
  • Falta de alinhamento das partes interessadas.
  • Compreensão insuficiente das restrições técnicas.
  • Subestimar os requisitos de dados.

Resolve estes desafios através de uma pesquisa inicial minuciosa, comunicação clara com as partes interessadas e refinamento iterativo da declaração do problema e dos objetivos. Para o fluxo de trabalho completo do projeto, vê os passos fundamentais num projeto de visão computacional.

Comentários