Como definir objetivos para o teu projeto de visão computacional#
Para definir um projeto de visão computacional, redige 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 relaciona o problema com a tarefa de visão computacional que determina as decisões sobre o teu modelo, conjunto de dados e implementação. Este guia explica cada passo através de 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 recolha de dados até à implementação, consulta o nosso guia sobre os principais passos de um projeto de visão computacional.
Como redigir uma declaração do problema de visão computacional#
Uma declaração do problema clara é o primeiro grande passo para encontrar a solução mais eficaz. É composta por quatro partes:
- Identifica a questão central: identifica o desafio específico que o teu projeto de visão computacional pretende resolver.
- Determina o âmbito: define os limites do teu problema.
- Considera os utilizadores finais e as partes interessadas: identifica quem será afetado pela solução.
- Analisa os requisitos e as 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 um problema empresarial#
Considera um projeto de visão computacional em que pretendes estimar a velocidade dos veículos numa autoestrada. A questão central é que os métodos atuais de monitorização da velocidade são ineficientes e propensos a erros devido a sistemas de radar desatualizados e a processos manuais. O projeto pretende desenvolver um sistema de visão computacional em tempo real que possa substituir os sistemas antigos de estimativa da velocidade.
Os principais utilizadores incluem as autoridades de gestão do tráfego e as forças de segurança, enquanto as partes interessadas secundárias são os responsáveis pelo planeamento das autoestradas e o público, que beneficia de estradas mais seguras. Os principais requisitos incluem avaliar o orçamento, o tempo e o pessoal, bem como responder a necessidades técnicas como câmaras de alta resolução e processamento de dados em tempo real. Além disso, é necessário considerar as restrições regulamentares relativas à privacidade e à segurança dos dados.
Definir objetivos mensuráveis#
Definir objetivos mensuráveis é essencial para o sucesso de um projeto de visão computacional. Os 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. |
| Atingível | Estabelece metas realistas dentro das tuas capacidades. |
| Relevante | Alinha os objetivos com os objetivos gerais do teu projeto. |
| Com prazo definido | Define prazos para cada objetivo. |
Para o exemplo da estimativa da velocidade numa autoestrada, os objetivos SMART poderiam ser:
- Alcançar uma precisão de pelo menos 95% na deteção da velocidade no prazo de seis meses, utilizando um conjunto de dados com 10 000 imagens de veículos.
- O sistema deve conseguir processar fluxos de vídeo em tempo real a 30 fotogramas por segundo, com um atraso mínimo.
Ao definires objetivos específicos e quantificáveis, podes acompanhar eficazmente o progresso, identificar áreas de melhoria e garantir que o projeto se mantém no rumo certo.
Como escolher a tarefa de visão computacional certa#
A tua declaração do problema ajuda-te a determinar qual a tarefa de visão computacional capaz de resolver a tua questão. As tarefas mais populares incluem a classificação de imagens, a deteção de objetos e a segmentação de imagens — consulta a página de tarefas da Ultralytics para obteres uma comparação detalhada.
Por exemplo, se o teu problema for monitorizar as velocidades dos veículos numa autoestrada, a tarefa é a deteção de objetos, executada no modo de seguimento. O seguimento atribui a cada veículo detetado um ID persistente ao longo dos fotogramas do vídeo, que é necessário para calcular a velocidade.
A deteção, por si só, não é suficiente neste caso: localiza os 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 seguimento acrescenta essa identidade. Depois de identificares a tarefa de visão computacional adequada, esta orienta vários aspetos essenciais do teu projeto, como a seleção do modelo, a preparação do conjunto de dados e as abordagens de treino do modelo.
O que vem primeiro: o modelo, os dados ou a abordagem de treino?#
A ordem da seleção do modelo, da preparação do conjunto de dados e da abordagem de treino depende das especificidades do teu projeto:
| A tua situação | Começa por | Exemplo |
|---|---|---|
| Problema e objetivos bem definidos | Seleção do modelo | Para um sistema de monitorização do tráfego que estime as velocidades dos veículos, escolhe um modelo de deteção para executar no modo de seguimento, recolhe e anota vídeos de autoestradas e, em seguida, treina-o com técnicas para 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; em seguida, 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 treino | Num projeto que explore novos métodos para detetar defeitos de fabrico, começa por experimentar com um pequeno subconjunto de dados. Quando 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, a anotação e o 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 implementação do modelo têm um impacto crítico no desempenho do teu projeto de visão computacional, por isso deves considerá-las desde o início. O ambiente de implementação tem de suportar a carga computacional do teu modelo:
| Opção de implementação | Mais indicada para | Tecnologias de exemplo |
|---|---|---|
| Dispositivos de edge | Smartphones e dispositivos IoT com recursos computacionais limitados; modelos leves | LiteRT, ONNX Runtime |
| Servidores na cloud | Modelos complexos com maiores exigências computacionais; hardware que escala com o projeto | AWS, Google Cloud, Azure |
| Servidores no local | Elevadas necessidades de privacidade dos dados e segurança; controlo total sobre os dados e a infraestrutura | Servidores GPU autogeridos |
| Soluções híbridas | Equilíbrio entre desempenho, custo e latência; processamento no edge e análise na cloud | Combinação de runtimes de edge e plataformas na cloud |
Cada opção oferece benefícios e desafios diferentes, 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 do problema clara, 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é à implementação. Como passo seguinte, aprende a recolher e anotar dados ou discute o teu projeto com outros programadores no GitHub e no servidor Discord da Ultralytics.
Perguntas frequentes#
Uma declaração do problema clara identifica a questão central que o teu projeto resolve, o seu âmbito, os utilizadores finais e as partes interessadas, bem como as tuas restrições de recursos e regulamentares. Trabalha estas quatro partes por ordem e, em seguida, valida a declaração com as partes interessadas antes de tomares decisões técnicas. Consulta Como redigir uma declaração do problema de visão computacional para veres a explicação completa e um exemplo prático.
Relaciona o resultado de que o teu problema necessita com a tarefa que o produz: uma única etiqueta por imagem aponta para a classificação de imagens, as localizações dos objetos apontam para a deteção de objetos, os limites ao nível dos píxeis apontam para a segmentação de imagens e as identidades mantidas entre fotogramas de vídeo exigem esse mesmo modelo de deteção executado no modo de seguimento. A monitorização das velocidades dos veículos, por exemplo, requer seguimento, porque a velocidade é calculada a partir do movimento de cada veículo ao longo do tempo. Consulta a página de tarefas da Ultralytics para veres todas as tarefas suportadas.
Utiliza os critérios SMART: Específico, Mensurável, Atingível, Relevante e Com prazo definido. Por exemplo, "Alcançar 95% de precisão na deteção da velocidade no prazo de seis meses, utilizando um conjunto de dados com 10 000 imagens de veículos." Esta abordagem ajuda a acompanhar o progresso e a identificar áreas de melhoria. Lê mais sobre a definição de objetivos mensuráveis.
Não, os modelos pré-treinados não "se lembram" das classes no sentido tradicional. Aprendem padrões a partir de conjuntos de dados enormes e, durante o treino personalizado (ajuste fino), esses padrões são adaptados à tua tarefa específica. A capacidade do modelo é limitada, e a concentração em novas informações pode substituir parte do que foi aprendido anteriormente.
Se quiseres utilizar as classes com que o modelo foi pré-treinado, uma abordagem prática é utilizar dois modelos: um mantém o desempenho original e o outro é ajustado para a tua tarefa específica. Desta forma, podes combinar os resultados de ambos os modelos. Existem outras opções, como congelar camadas, utilizar o modelo pré-treinado como extrator de características e criar ramificações específicas para cada tarefa, mas estas soluções são mais complexas e exigem mais conhecimentos especializados.
As opções de implementação determinam quais os tamanhos e formatos de modelo viáveis, por isso moldam o teu projeto desde o início. Os dispositivos de edge precisam de modelos leves disponibilizados através de formatos e runtimes como o LiteRT ou o ONNX Runtime, os servidores na cloud suportam modelos complexos em hardware escalável, os servidores no local oferecem controlo total dos dados para projetos sensíveis à privacidade e as configurações híbridas equilibram ambas as opções. Compara-as na tabela de opções de implementação ou consulta o guia de opções de implementação de modelos para obteres mais informações.
Os desafios comuns incluem:
- Declarações do problema vagas ou demasiado abrangentes.
- Objetivos irrealistas.
- Falta de alinhamento entre as partes interessadas.
- Compreensão insuficiente das restrições técnicas.
- Subestimar os requisitos de dados.
Enfrenta estes desafios através de uma investigação inicial aprofundada, de uma comunicação clara com as partes interessadas e do aperfeiçoamento iterativo da declaração do problema e dos objetivos. Para conheceres o fluxo de trabalho completo do projeto, consulta os principais passos de um projeto de visão computacional.