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.
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é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 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.
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.
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ção | Começa com | Exemplo |
|---|---|---|
| Problema e objetivos bem definidos | Seleção de modelo | Para 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 limitados | Preparação do conjunto de dados | Para 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 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 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ção | Ideal para | Exemplos de tecnologias |
|---|---|---|
| Dispositivos de edge | Smartphones e dispositivos IoT com recursos computacionais limitados; modelos leves | TensorFlow Lite, 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 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.
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.
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.