Saltar para o conteúdo

Estratégias de recolha de dados e de anotação para a visão computacional

Introdução

A chave para o sucesso em qualquer projeto de visão computacional começa com estratégias eficazes de recolha e anotação de dados. A qualidade dos dados tem um impacto direto no desempenho do modelo, pelo que é importante compreender as melhores práticas relacionadas com a recolha e anotação de dados.

Todas as considerações relativas aos dados devem estar estreitamente alinhadas com os objectivos do seu projeto. As alterações nas suas estratégias de anotação podem mudar o foco ou a eficácia do projeto e vice-versa. Com isto em mente, vamos analisar mais detalhadamente as melhores formas de abordar a recolha e anotação de dados.

Criação de classes e recolha de dados

A recolha de imagens e vídeos para um projeto de visão computacional envolve a definição do número de classes, a obtenção de dados e a consideração das implicações éticas. Antes de começar a recolher os dados, é necessário ter a certeza de que:

Escolher as classes certas para o seu projeto

Uma das primeiras questões ao iniciar um projeto de visão por computador é quantas classes incluir. É necessário determinar a associação de classes, que envolve as diferentes categorias ou rótulos que se pretende que o modelo reconheça e diferencie. O número de classes deve ser determinado pelos objectivos específicos do seu projeto.

Por exemplo, se quiser monitorizar o tráfego, as suas classes podem incluir "carro", "camião", "autocarro", "mota" e "bicicleta". Por outro lado, para monitorizar artigos numa loja, as classes podem ser "frutas", "vegetais", "bebidas" e "snacks". A definição de classes com base nos objectivos do seu projeto ajuda a manter o conjunto de dados relevante e concentrado.

Quando se definem as classes, outra distinção importante a fazer é a escolha de uma contagem de classes grosseira ou fina. A "contagem" refere-se ao número de classes distintas em que está interessado. Esta decisão influencia a granularidade dos seus dados e a complexidade do seu modelo. Aqui estão as considerações para cada abordagem:

  • Contagem de classes grosseiras: Trata-se de categorias mais amplas e inclusivas, como "veículo" e "não veículo". Simplificam a anotação e requerem menos recursos computacionais, mas fornecem informações menos detalhadas, limitando potencialmente a eficácia do modelo em cenários complexos.
  • Contagem de classes finas: Mais categorias com distinções mais finas, como "sedan", "SUV", "carrinha" e "motociclo". Capturam informações mais detalhadas, melhorando a precisão e o desempenho do modelo. No entanto, a sua anotação é mais demorada e trabalhosa e requer mais recursos computacionais.

É de notar que começar com classes mais específicas pode ser muito útil, especialmente em projectos complexos em que os detalhes são importantes. Classes mais específicas permitem-lhe recolher dados mais detalhados e obter informações mais aprofundadas e distinções mais claras entre categorias. Não só melhora a precisão do modelo, como também facilita o ajuste posterior do modelo, se necessário, poupando tempo e recursos.

Fontes de dados

Pode utilizar conjuntos de dados públicos ou recolher os seus próprios dados personalizados. Os conjuntos de dados públicos, como os do Kaggle e do Google Dataset Search Engine, oferecem dados padronizados e bem anotados, o que os torna excelentes pontos de partida para treinar e validar modelos.

A recolha de dados personalizada, por outro lado, permite-lhe personalizar o seu conjunto de dados de acordo com as suas necessidades específicas. Pode capturar imagens e vídeos com câmaras ou drones, procurar imagens na Web ou utilizar dados internos existentes da sua organização. Os dados personalizados dão-lhe mais controlo sobre a sua qualidade e relevância. A combinação de fontes de dados públicas e personalizadas ajuda a criar um conjunto de dados diversificado e abrangente.

Evitar preconceitos na recolha de dados

O enviesamento ocorre quando determinados grupos ou cenários estão sub-representados ou sobre-representados no seu conjunto de dados. Isso leva a um modelo que funciona bem em alguns dados, mas mal em outros. É crucial evitar o viés para que seu modelo de visão computacional possa ter um bom desempenho em uma variedade de cenários.

Eis como pode evitar a parcialidade na recolha de dados:

  • Fontes diversas: Recolher dados de várias fontes para captar diferentes perspectivas e cenários.
  • Representação equilibrada: Incluir uma representação equilibrada de todos os grupos relevantes. Por exemplo, considerar diferentes idades, géneros e etnias.
  • Monitorização contínua: Rever e atualizar regularmente o seu conjunto de dados para identificar e resolver quaisquer enviesamentos emergentes.
  • Técnicas de atenuação de preconceitos: Utilizar métodos como a sobreamostragem de classes sub-representadas, o aumento de dados e algoritmos sensíveis à equidade.

Seguir estas práticas ajuda a criar um modelo mais robusto e justo que pode ser bem generalizado em aplicações do mundo real.

O que é a anotação de dados?

A anotação de dados é o processo de rotulagem de dados para os tornar utilizáveis na formação de modelos de aprendizagem automática. Na visão computacional, isto significa rotular imagens ou vídeos com a informação que um modelo necessita para aprender. Sem dados corretamente anotados, os modelos não podem aprender com precisão as relações entre entradas e saídas.

Tipos de anotação de dados

Dependendo dos requisitos específicos de uma tarefa de visão computacional, existem diferentes tipos de anotação de dados. Eis alguns exemplos:

  • Caixas de delimitação: Caixas rectangulares desenhadas em torno de objectos numa imagem, utilizadas principalmente para tarefas de deteção de objectos. Estas caixas são definidas pelas suas coordenadas superior esquerda e inferior direita.
  • Polígonos: Contornos detalhados para objectos, permitindo uma anotação mais precisa do que as caixas delimitadoras. Os polígonos são utilizados em tarefas como a segmentação de instâncias, em que a forma do objeto é importante.
  • Máscaras: Máscaras binárias em que cada pixel faz parte de um objeto ou do fundo. As máscaras são utilizadas em tarefas de segmentação semântica para fornecer detalhes ao nível do pixel.
  • Pontos-chave: Pontos específicos marcados numa imagem para identificar locais de interesse. Os pontos-chave são utilizados em tarefas como a estimativa de pose e a deteção de marcas faciais.

Tipos de anotação de dados

Formatos de anotação comuns

Depois de selecionar um tipo de anotação, é importante escolher o formato adequado para armazenar e partilhar anotações.

Os formatos normalmente utilizados incluem o COCO, que suporta vários tipos de anotação, como deteção de objectos, deteção de pontos-chave, segmentação de material, segmentação panóptica e legendas de imagens, armazenados em JSON. O Pascal VOC utiliza ficheiros XML e é popular para tarefas de deteção de objectos. YOLO Por outro lado, o Pascal VOC cria um ficheiro .txt para cada imagem, contendo anotações como a classe do objeto, as coordenadas, a altura e a largura, o que o torna adequado para a deteção de objectos.

Técnicas de anotação

Agora, partindo do princípio que escolheu um tipo de anotação e um formato, é altura de estabelecer regras de rotulagem claras e objectivas. Estas regras são como um roteiro para a consistência e exatidão ao longo do processo de anotação. Os principais aspectos destas regras incluem:

  • Clareza e pormenor: Assegure-se de que as suas instruções são claras. Utilize exemplos e ilustrações para compreender o que é esperado.
  • Consistência: Mantenha as suas anotações uniformes. Defina critérios padrão para anotar diferentes tipos de dados, para que todas as anotações sigam as mesmas regras.
  • Reduzir a parcialidade: Mantenha-se neutro. Treine-se para ser objetivo e minimizar os preconceitos pessoais para garantir anotações justas.
  • Eficiência: Trabalhe de forma mais inteligente, não mais difícil. Utilize ferramentas e fluxos de trabalho que automatizem tarefas repetitivas, tornando o processo de anotação mais rápido e eficiente.

Rever e atualizar regularmente as suas regras de etiquetagem ajudará a manter as suas anotações precisas, consistentes e alinhadas com os objectivos do seu projeto.

Digamos que está pronto para fazer anotações. Existem várias ferramentas de código aberto disponíveis para ajudar a simplificar o processo de anotação de dados. Eis algumas ferramentas de anotação abertas úteis:

  • Estúdio de etiquetas: Uma ferramenta flexível que suporta uma vasta gama de tarefas de anotação e inclui funcionalidades para gerir projectos e controlo de qualidade.
  • CVAT: Uma ferramenta poderosa que suporta vários formatos de anotação e fluxos de trabalho personalizáveis, tornando-a adequada para projectos complexos.
  • Etiqueta: Uma ferramenta simples e fácil de utilizar que permite a anotação rápida de imagens com polígonos, tornando-a ideal para tarefas simples.

Visão geral do LabelMe

Estas ferramentas de código aberto são económicas e oferecem uma gama de funcionalidades para satisfazer diferentes necessidades de anotação.

Mais alguns aspectos a considerar antes de anotar dados

Antes de começar a anotar os seus dados, há mais alguns aspectos a ter em conta. Deve ter em conta a exatidão, a precisão, os valores atípicos e o controlo de qualidade para evitar rotular os seus dados de forma contraproducente.

Compreender a exatidão e a precisão

É importante compreender a diferença entre exatidão e precisão e a sua relação com a anotação. A exatidão refere-se à proximidade entre os dados anotados e os valores reais. Ajuda-nos a medir a proximidade com que as etiquetas reflectem cenários do mundo real. A precisão indica a consistência das anotações. Verifica se está a atribuir o mesmo rótulo ao mesmo objeto ou caraterística em todo o conjunto de dados. Uma exatidão e precisão elevadas conduzem a modelos mais bem treinados, reduzindo o ruído e melhorando a capacidade do modelo para generalizar a partir dos dados de treino.

Exemplo de precisão

Identificação de valores anómalos

Os valores atípicos são pontos de dados que se desviam bastante de outras observações no conjunto de dados. No que diz respeito às anotações, um outlier pode ser uma imagem incorretamente rotulada ou uma anotação que não se enquadra no resto do conjunto de dados. Os outliers são preocupantes porque podem distorcer o processo de aprendizagem do modelo, levando a previsões incorrectas e a uma fraca generalização.

É possível utilizar vários métodos para detetar e corrigir os valores atípicos:

  • Técnicas estatísticas: Para detetar valores anómalos em caraterísticas numéricas, como valores de pixéis, coordenadas de caixa delimitadora ou tamanhos de objectos, pode utilizar métodos como gráficos de caixa, histogramas ou pontuações z.
  • Técnicas visuais: Para detetar anomalias em caraterísticas categóricas, como classes de objectos, cores ou formas, utilize métodos visuais, como imagens de plotagem, etiquetas ou mapas de calor.
  • Métodos algorítmicos: Utilizar ferramentas como o agrupamento (por exemplo, agrupamento K-means, DBSCAN) e algoritmos de deteção de anomalias para identificar anomalias com base em padrões de distribuição de dados.

Controlo de qualidade dos dados anotados

Tal como noutros projectos técnicos, o controlo de qualidade é obrigatório para os dados anotados. É uma boa prática verificar regularmente as anotações para garantir que são exactas e consistentes. Isto pode ser feito de várias formas diferentes:

  • Revisão de amostras de dados anotados
  • Utilizar ferramentas automatizadas para detetar erros comuns
  • Ter outra pessoa a verificar as anotações

Se estiver a trabalhar com várias pessoas, a coerência entre os diferentes anotadores é importante. Um bom acordo entre anotadores significa que as diretrizes são claras e que todos as seguem da mesma forma. Mantém toda a gente na mesma página e as anotações consistentes.

Durante a revisão, se encontrar erros, corrija-os e actualize as orientações para evitar erros futuros. Dê feedback aos anotadores e ofereça formação regular para ajudar a reduzir os erros. A existência de um processo sólido de tratamento de erros mantém o seu conjunto de dados preciso e fiável.

Partilhe as suas ideias com a comunidade

Fazer com que as suas ideias e dúvidas cheguem a outros entusiastas da visão computacional pode ajudar a acelerar os seus projectos. Aqui estão algumas ótimas maneiras de aprender, solucionar problemas e trabalhar em rede:

Onde encontrar ajuda e apoio

  • Problemas do GitHub: Visite o repositório YOLO11 do GitHub e use a guia Problemas para fazer perguntas, relatar bugs e sugerir recursos. A comunidade e os mantenedores estão à disposição para ajudar com quaisquer problemas que você enfrente.
  • Ultralytics Servidor Discord: Junte-se ao servidor Discord deUltralytics para se ligar a outros utilizadores e programadores, obter apoio, partilhar conhecimentos e debater ideias.

Documentação oficial

  • Ultralytics YOLO11 Documentação: Consulte a documentação oficial do YOLO11 para obter guias completos e informações valiosas sobre várias tarefas e projectos de visão computacional.

Conclusão

Seguindo as melhores práticas de recolha e anotação de dados, evitando preconceitos e utilizando as ferramentas e técnicas corretas, pode melhorar significativamente o desempenho do seu modelo. O envolvimento com a comunidade e a utilização dos recursos disponíveis mantê-lo-ão informado e ajudá-lo-ão a resolver os problemas de forma eficaz. Lembre-se que os dados de qualidade são a base de um projeto bem sucedido e que as estratégias corretas o ajudarão a criar modelos robustos e fiáveis.

FAQ

Qual é a melhor forma de evitar enviesamentos na recolha de dados para projectos de visão computacional?

Evitar a parcialidade na recolha de dados garante que o modelo de visão por computador tem um bom desempenho em vários cenários. Para minimizar o viés, considere a coleta de dados de diversas fontes para capturar diferentes perspectivas e cenários. Assegurar uma representação equilibrada entre todos os grupos relevantes, como diferentes idades, géneros e etnias. Reveja e actualize regularmente o seu conjunto de dados para identificar e resolver quaisquer enviesamentos emergentes. Técnicas como a sobreamostragem de classes sub-representadas, o aumento de dados e os algoritmos sensíveis à equidade também podem ajudar a atenuar os enviesamentos. Ao empregar estas estratégias, está a manter um conjunto de dados robusto e justo que melhora a capacidade de generalização do seu modelo.

Como posso garantir uma elevada consistência e exatidão na anotação de dados?

Garantir uma elevada consistência e precisão na anotação de dados implica estabelecer diretrizes de rotulagem claras e objectivas. As instruções devem ser pormenorizadas, com exemplos e ilustrações para clarificar as expectativas. A consistência é conseguida através da definição de critérios padrão para anotar vários tipos de dados, garantindo que todas as anotações seguem as mesmas regras. Para reduzir os preconceitos pessoais, dê formação aos anotadores para que se mantenham neutros e objectivos. Revisões e actualizações regulares das regras de etiquetagem ajudam a manter a precisão e o alinhamento com os objectivos do projeto. A utilização de ferramentas automatizadas para verificar a coerência e a obtenção de feedback de outros anotadores também contribuem para manter anotações de elevada qualidade.

Quantas imagens são necessárias para treinar os modelos Ultralytics YOLO ?

Para uma aprendizagem de transferência eficaz e deteção de objectos com modelos Ultralytics YOLO , comece com um mínimo de algumas centenas de objectos anotados por classe. Se estiver a treinar apenas para uma classe, comece com pelo menos 100 imagens anotadas e treine durante aproximadamente 100 épocas. Tarefas mais complexas podem requerer milhares de imagens por classe para alcançar uma elevada fiabilidade e desempenho. As anotações de qualidade são cruciais, por isso certifique-se de que os seus processos de recolha de dados e anotação são rigorosos e estão alinhados com os objectivos específicos do seu projeto. Explore estratégias de formação detalhadas no guia de formaçãoYOLO11 .

Várias ferramentas populares de código aberto podem simplificar o processo de anotação de dados:

  • Estúdio de etiquetas: Uma ferramenta flexível que suporta várias tarefas de anotação, gestão de projectos e funcionalidades de controlo de qualidade.
  • CVAT: Oferece vários formatos de anotação e fluxos de trabalho personalizáveis, tornando-o adequado para projectos complexos.
  • Etiqueta: Ideal para anotação rápida e direta de imagens com polígonos.

Estas ferramentas podem ajudar a melhorar a eficiência e a precisão dos seus fluxos de trabalho de anotação. Para obter listas de caraterísticas e guias abrangentes, consulte a nossa documentação sobre ferramentas de anotação de dados.

Que tipos de anotação de dados são normalmente utilizados na visão computacional?

Os diferentes tipos de anotação de dados são adequados a várias tarefas de visão computacional:

  • Caixas de delimitação: Utilizadas principalmente para a deteção de objectos, são caixas rectangulares à volta dos objectos numa imagem.
  • Polígonos: Fornecem contornos de objectos mais precisos, adequados para tarefas de segmentação de instâncias.
  • Máscaras: Oferecem detalhes ao nível do pixel, utilizados na segmentação semântica para diferenciar objectos do fundo.
  • Pontos-chave: Identificar pontos de interesse específicos numa imagem, úteis para tarefas como a estimativa de pose e a deteção de marcas faciais.

A seleção do tipo de anotação adequado depende dos requisitos do seu projeto. Saiba mais sobre como implementar estas anotações e os seus formatos no nosso guia de anotação de dados.

📅C riado há 6 meses ✏️ Atualizado há 2 meses

Comentários