Como 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 de todo o fluxo de trabalho, desde a coleta de dados até a implantação, consulta o nosso guia sobre os passos fundamentais num projeto de visão computacional.
Como 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.
Exemplo de uma Declaração de Problema de Negócio#
Considera um projeto de visão computacional em que queres estimar a velocidade de veículos numa autoestrada. O problema central é que os métodos atuais de monitorização de velocidade são ineficientes e propensos a erros devido a sistemas de radar desatualizados e a processos manuais. O projeto visa desenvolver um sistema de visão computacional em tempo real que possa substituir sistemas legados de estimação de velocidade.
Os utilizadores principais incluem autoridades de gestão de tráfego e forças de segurança, enquanto as partes interessadas secundárias são 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 resolução de necessidades técnicas como câmaras de alta resolução e processamento de dados em tempo real. Adicionalmente, devem ser consideradas restrições regulamentares relativas à privacidade e à segurança de dados.
Definir 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ério | O que significa |
|---|---|
| Específico | Define objetivos claros e detalhados. |
| Mensurável | Garante que os objetivos são quantificáveis. |
| Alcançável | Define metas realistas dentro das tuas capacidades. |
| Relevante | Alinha os objetivos com as metas gerais do teu projeto. |
| Temporal | Define 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 espaço de seis meses, utilizando 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.
Como escolher a tarefa de visão computacional correta#
A tua declaração do problema ajuda-te a conceptualizar qual a tarefa de visão computacional que pode resolver a tua questão. As tarefas mais populares incluem classificação de imagens, deteção de objetos e segmentação de imagens — consulta a página de tarefas do Ultralytics para uma comparação detalhada.
Por exemplo, se o teu problema é monitorizar velocidades de veículos numa autoestrada, a tarefa é object detection, executada em track mode. O rastreio atribui a cada veículo detetado um ID persistente entre fotogramas de vídeo, que é o que o cálculo de velocidade requer.
A deteção por si só não é suficiente aqui: 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. O modo de rastreio adiciona essa identidade. Assim que identificas a tarefa de computer vision adequada, esta orienta váriospetos críticos do teu projeto, como a seleção do modelo, a preparação do dataset e as abordagens de treino do modelo.
O 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ção | Começa com | Exemplo |
|---|---|---|
| Problema e objetivos bem definidos | Seleção de modelo | Para um sistema de monitorização de tráfego que estimas velocidades de veículos, escolhe um modelo de deteção para executar em track mode, recolhe e anota vídeos de autoestradas e, em seguida, treina com técnicas para o processamento de vídeo em tempo real. |
| Dados únicos ou limitados | Preparação do conjunto de dados | Para um sistema de reconhecimento facial com um conjunto de dados pequeno, anota primeiro os dados, depois seleciona um modelo que funcione bem com dados limitados — tal como um modelo pré-treinado para transferência de aprendizagem — e planeia a aumento de dados para expandir o conjunto de dados. |
| A experimentação é crucial (investigação) | Abordagem de treino | Num 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 pelos dados, a Ultralytics Platform simplifica a organização, anotação e treino do conjunto de dados à medida que o teu projeto evolui.
Como as opções de implementação afetam o teu projeto#
As opções de implantação de modelos afetam criticamente o desempenho do teu projeto de visão computacional, por isso tem-nas em conta desde o início. O ambiente de implantação deve suportar a carga computacional do teu modelo:
| Opção de implementação | Ideal para | Exemplos de tecnologias |
|---|---|---|
| Dispositivos de edge | Smartphones e dispositivos IoT com recursos computacionais limitados; modelos leves | LiteRT, ONNX Runtime |
| Servidores na nuvem | Modelos complexos com maiores exigências computacionais; hardware que escala com o projeto | AWS, Google Cloud, Azure |
| Servidores locais (on-premise) | Necessidades elevadas de privacidade de dados e segurança; controlo total sobre os dados e infraestrutura | Servidores GPU autogeridos |
| Soluções híbridas | Equilibrar desempenho com custo e latência; processamento em edge mais análise na nuvem | Combinaçã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.
Conclusão#
Um projeto de visão computacional bem-sucedido começa com uma declaração clara do problema, objetivos SMART mensuráveis e a tarefa de visão computacional certa para o trabalho — estas decisões orientam tudo o que se segue, desde a seleção do modelo até à implantaçã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.
FAQ#
Uma declaração clara do problema nomeia a questão central que o teu projeto resolve, o seu âmbito, os utilizadores finais e as partes interessadas, bem como os teus recursos e restrições regulamentares. Trabalha nessas quatro partes por ordem, depois valida a declaração com as partes interessadas antes de tomar decisões técnicas. Consulta Como Escrever uma Declaração de Problema de Visão Computacional para a análise completa e um exemplo prático.
Faz corresponder a saída de que o teu problema precisa à tarefa que a produz: uma etiqueta única por imagem aponta para image classification, localizações de objetos apontam para object detection, limites ao nível do píxel apontam para image segmentation, e identidades mantidas através de fotogramas de vídeo exigem esse mesmo modelo de deteção executado em track mode. A monitorização de velocidades de veículos, por exemplo, precisa de rastreio porque a velocidade é calculada a partir do movimento de cada veículo ao longo do tempo. Consulta a Ultralytics tasks page para ver todas as tarefas suportadas.
Usa os critérios SMART: Específicos, Mensuráveis, Atingíveis, Relevantes e Temporizáveis. Por exemplo, "Atingir 95% de precisão na deteção de velocidade no espaço de seis meses utilizando um conjunto de dados de 10.000 imagens de veículos." Esta abordagem ajuda a monitorizar o progresso e identifica áreas de melhoria. Lê mais sobre como definir objetivos mensuráveis.
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.
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.
As opções de implantação determinam que tamanhos e formatos de modelo são viáveis, moldando assim o teu projeto desde o início. Os dispositivos de ponta precisam de modelos leves servidos através de formatos e tempos de execução como LiteRT ou ONNX Runtime, os servidores na nuvem lidam com modelos complexos em hardware escalável, os servidores locais dão controlo total dos dados para projetos sensíveis à privacidade, e as configurações híbridas equilibram ambos. Compara-os na tabela de opções de implantação, ou consulta o guia de opções de implantação de modelos para detalhes.
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.
Aborda estes desafios através de uma investigação inicial aprofundada, 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, consulta os passos fundamentais num projeto de visão computacional.