Meet YOLO26: next-gen vision AI.

Link to this sectionEstratégias de Coleta e Anotação de Dados para Visão Computacional#

Link to this sectionIntrodução#

O segredo do sucesso em qualquer projeto de visão computacional começa com estratégias eficazes de coleta e anotação de dados. A qualidade dos dados impacta diretamente o desempenho do modelo, por isso é importante entender as melhores práticas relacionadas à coleta e anotação de dados.



Watch: How to Build Effective Data Collection and Annotation Strategies for Computer Vision 🚀

Cada consideração sobre os dados deve estar alinhada aos objetivos do seu projeto. Mudanças nas suas estratégias de anotação podem alterar o foco ou a eficácia do projeto e vice-versa. Com isso em mente, vamos analisar mais detalhadamente as melhores formas de abordar a coleta e a anotação de dados.

Link to this sectionConfigurando Classes e Coletando Dados#

Coletar imagens e vídeos para um projeto de visão computacional envolve definir o número de classes, buscar dados e considerar implicações éticas. Antes de começar a reunir seus dados, você precisa ter clareza sobre:

Link to this sectionEscolhendo as Classes Certas para o Seu Projeto#

Uma das primeiras perguntas ao iniciar um projeto de visão computacional é quantas classes incluir. Você precisa determinar os membros das classes, o que envolve as diferentes categorias ou rótulos que você deseja que seu modelo reconheça e diferencie. O número de classes deve ser determinado pelos objetivos específicos do seu projeto.

Por exemplo, se você deseja monitorar o tráfego, suas classes podem incluir "carro", "caminhão", "ônibus", "motocicleta" e "bicicleta". Por outro lado, para rastrear itens em uma loja, suas classes podem ser "frutas", "legumes", "bebidas" e "lanches". Definir classes com base nos objetivos do seu projeto ajuda a manter seu dataset relevante e focado.

Ao definir suas classes, outra distinção importante a fazer é se deve escolher contagens de classes amplas ou granulares. 'Contagem' refere-se ao número de classes distintas nas quais você está interessado. Essa decisão influencia a granularidade dos seus dados e a complexidade do seu modelo. Aqui estão as considerações para cada abordagem:

  • Contagem Ampla de Classes: São categorias mais abrangentes e inclusivas, como "veículo" e "não-veículo". Elas simplificam a anotação e exigem menos recursos computacionais, mas fornecem menos detalhes, potencialmente limitando a eficácia do modelo em cenários complexos.
  • Contagem Fina de Classes: Mais categorias com distinções mais precisas, como "sedã", "SUV", "picape" e "motocicleta". Elas capturam informações mais detalhadas, melhorando a precisão e o desempenho do modelo. No entanto, exigem mais tempo e mão de obra para anotar, além de demandarem mais recursos computacionais.

Começar com classes mais específicas pode ser muito útil, especialmente em projetos complexos onde os detalhes são importantes. Classes mais específicas permitem que você colete dados mais detalhados, obtenha insights mais profundos e estabeleça distinções mais claras entre as categorias. Isso não apenas melhora a precisão do modelo, mas também facilita ajustes futuros, economizando tempo e recursos.

Link to this sectionFontes de Dados#

Você pode usar datasets públicos ou reunir seus próprios dados personalizados. Datasets públicos, como os encontrados no Kaggle e no Google Dataset Search Engine, oferecem dados padronizados e bem anotados, sendo ótimos pontos de partida para treinar e validar modelos.

A coleta de dados personalizados, por outro lado, permite que você adapte o dataset às suas necessidades específicas. Você pode capturar imagens e vídeos com câmeras ou drones, realizar web scraping para coletar imagens ou usar dados internos existentes da sua organização. Dados personalizados oferecem maior controle sobre a qualidade e a relevância. Combinar fontes de dados públicas e personalizadas ajuda a criar um dataset diverso e abrangente.

Link to this sectionEvitando Viés na Coleta de Dados#

O viés ocorre quando certos grupos ou cenários são sub-representados ou super-representados no seu dataset. Isso leva a um modelo que funciona bem em alguns dados, mas mal em outros. É crucial evitar viés em IA para que seu modelo de visão computacional funcione bem em uma variedade de cenários.

Veja como você pode evitar o viés durante a coleta de dados:

  • Fontes Diversas: Colete dados de diversas fontes para capturar diferentes perspectivas e cenários.
  • Representação Equilibrada: Inclua uma representação equilibrada de todos os grupos relevantes. Por exemplo, considere diferentes idades, gêneros e etnias.
  • Monitoramento Contínuo: Revise e atualize regularmente seu dataset para identificar e abordar quaisquer vieses emergentes.
  • Técnicas de Mitigação de Viés: Use métodos como superamostragem de classes sub-representadas, data augmentation e algoritmos que prezam pela imparcialidade.

Seguir essas práticas ajuda a criar um modelo mais robusto e justo, capaz de generalizar bem em aplicações do mundo real.

Link to this sectionO que é Anotação de Dados?#

A anotação de dados é o processo de rotular dados para torná-los utilizáveis no treinamento de modelos de aprendizado de máquina. Em visão computacional, isso significa rotular imagens ou vídeos com as informações necessárias para que um modelo possa aprender. Sem dados devidamente anotados, os modelos não conseguem aprender com precisão as relações entre entradas e saídas.

Link to this sectionTipos 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. Aqui estão alguns exemplos:

  • Caixas Delimitadoras (Bounding Boxes): Caixas retangulares desenhadas ao redor de objetos em uma imagem, usadas principalmente para tarefas de detecção de objetos. Essas caixas são definidas por suas coordenadas superior esquerda e inferior direita.
  • Polígonos: Contornos detalhados de objetos, permitindo uma anotação mais precisa do que as caixas delimitadoras. Polígonos são usados em tarefas como segmentação de instâncias, onde a forma do objeto é importante.
  • Máscaras: Máscaras binárias onde cada pixel faz parte de um objeto ou do fundo. Máscaras são usadas em tarefas de segmentação semântica para fornecer detalhes em nível de pixel.
  • Pontos-chave (Keypoints): Pontos específicos marcados em uma imagem para identificar locais de interesse. Pontos-chave são usados em tarefas como pose estimation e detecção de pontos faciais.

Data annotation types including bounding boxes, polygons, and masks

Link to this sectionFormatos Comuns de Anotação#

Após selecionar o tipo de anotação, é importante escolher o formato apropriado para armazenar e compartilhar as anotações.

Formatos comumente usados incluem COCO, que suporta vários tipos de anotação, como detecção de objetos, detecção de pontos-chave, segmentação de stuff, segmentação panóptica e legendagem de imagens, armazenados em JSON. Pascal VOC usa arquivos XML e é popular para tarefas de detecção de objetos. Já o YOLO cria um arquivo .txt para cada imagem, contendo anotações como classe do objeto, coordenadas, altura e largura, tornando-o adequado para detecção de objetos.

Link to this sectionTécnicas de Anotação#

Agora, assumindo que você escolheu o tipo e o formato de anotação, é hora de estabelecer regras de rotulagem claras e objetivas. Essas regras funcionam como um guia para consistência e precisão ao longo do processo de anotação. Aspectos-chave dessas regras incluem:

  • Clareza e Detalhe: Certifique-se de que suas instruções sejam claras. Use exemplos e ilustrações para mostrar o que é esperado.
  • Consistência: Mantenha 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.
  • Redução de Viés: Seja neutro. Treine-se para ser objetivo e minimizar vieses pessoais para garantir anotações justas.
  • Eficiência: Trabalhe de forma mais inteligente, não mais difícil. Use ferramentas e fluxos de trabalho que automatizem tarefas repetitivas, tornando o processo de anotação mais rápido e eficiente.

Revisar e atualizar regularmente suas regras de rotulagem ajudará a manter suas anotações precisas, consistentes e alinhadas aos objetivos do projeto.

Link to this sectionFerramentas Populares de Anotação#

Digamos que você esteja pronto para anotar. Existem várias ferramentas de código aberto disponíveis para ajudar a otimizar o processo de anotação de dados. Aqui estão algumas ferramentas de anotação abertas úteis:

  • Label Studio: Uma ferramenta flexível que suporta uma ampla gama de tarefas de anotação e inclui recursos para gerenciar projetos e controle de qualidade.
  • CVAT: Uma ferramenta poderosa que suporta vários formatos de anotação e fluxos de trabalho personalizáveis, tornando-a adequada para projetos complexos.
  • Labelme: Uma ferramenta simples e fácil de usar que permite a anotação rápida de imagens com polígonos, ideal para tarefas simples.
  • LabelImg: Uma ferramenta gráfica de anotação de imagens fácil de usar, particularmente boa para criar anotações de caixas delimitadoras no formato YOLO.

LabelMe annotation tool for instance segmentation

Essas ferramentas de código aberto são acessíveis e oferecem uma gama de recursos para atender a diferentes necessidades de anotação. A Ultralytics Platform também oferece um editor de anotações integrado que suporta anotações de detecção, segmentação de instâncias, pose, OBB e classificação, com anotação inteligente baseada em SAM para tarefas espaciais.

Link to this sectionMais Algumas Coisas a Considerar Antes de Anotar Dados#

Antes de mergulhar na anotação dos seus dados, há mais algumas coisas a ter em mente. Você deve estar atento à precisão, exatidão, outliers e controle de qualidade para evitar rotular seus dados de maneira contraproducente.

Link to this sectionEntendendo Exatidão e Precisão#

É importante entender a diferença entre exatidão e precisão e como isso se relaciona à anotação. Exatidão refere-se a quão próximos os dados anotados estão dos valores reais. Ela ajuda a medir o quanto os rótulos refletem cenários do mundo real. Precisão indica a consistência das anotações. Ela verifica se você está dando o mesmo rótulo para o mesmo objeto ou recurso em todo o dataset. Alta exatidão e precisão levam a modelos melhor treinados, reduzindo o ruído e melhorando a capacidade do modelo de generalizar a partir dos dados de treinamento.

Accuracy vs precision comparison for data annotation

Link to this sectionIdentificando Outliers#

Outliers são pontos de dados que divergem consideravelmente de outras observações no dataset. Com relação às anotações, um outlier pode ser uma imagem rotulada incorretamente ou uma anotação que não se encaixa no restante do dataset. Outliers são preocupantes porque podem distorcer o processo de aprendizado do modelo, levando a previsões imprecisas e má generalização.

Você pode usar vários métodos para detectar e corrigir outliers:

  • Técnicas Estatísticas: Para detectar outliers em recursos numéricos como valores de pixel, coordenadas de caixa delimitadora ou tamanhos de objeto, você pode usar métodos como box plots, histogramas ou escores Z (z-scores).
  • Técnicas Visuais: Para detectar anomalias em recursos categóricos como classes de objetos, cores ou formas, use métodos visuais como plotagem de imagens, rótulos ou mapas de calor.
  • Métodos Algorítmicos: Use ferramentas como clustering (por exemplo, K-means, DBSCAN) e algoritmos de detecção de anomalias para identificar outliers com base em padrões de distribuição de dados.

Link to this sectionControle de Qualidade de Dados Anotados#

Assim como em outros projetos técnicos, o controle de qualidade é obrigatório para dados anotados. É uma boa prática verificar regularmente as anotações para garantir que sejam precisas e consistentes. Isso pode ser feito de algumas maneiras diferentes:

  • Revisar amostras de dados anotados
  • Usar ferramentas automatizadas para detectar erros comuns
  • Pedir a outra pessoa que revise as anotações

Se você estiver trabalhando com várias pessoas, a consistência entre diferentes anotadores é importante. Um bom acordo entre anotadores significa que as diretrizes são claras e todos as seguem da mesma maneira. Isso mantém todos alinhados e as anotações consistentes.

Ao revisar, se você encontrar erros, corrija-os e atualize as diretrizes para evitar erros futuros. Forneça feedback aos anotadores e ofereça treinamento regular para ajudar a reduzir erros. Ter um processo robusto para lidar com erros mantém seu dataset preciso e confiável.

Link to this sectionEstratégias Eficientes de Rotulagem de Dados#

Para tornar o processo de rotulagem de dados mais suave e eficaz, considere implementar estas estratégias:

  • Diretrizes Claras de Anotação: Forneça instruções detalhadas com exemplos para garantir que todos os anotadores interpretem as tarefas de forma consistente. Por exemplo, ao rotular pássaros, especifique se deve incluir o pássaro inteiro ou apenas partes específicas.
  • Verificações Regulares de Qualidade: Estabeleça benchmarks e use métricas específicas para revisar o trabalho, mantendo altos padrões por meio de feedback contínuo.
  • Use Ferramentas de Pré-anotação: Muitas plataformas modernas de anotação oferecem recursos de pré-anotação assistidos por IA que podem acelerar significativamente o processo ao gerar automaticamente anotações iniciais que os humanos podem então refinar.
  • Implemente Aprendizado Ativo (Active Learning): Essa abordagem prioriza a rotulagem das amostras mais informativas primeiro, o que pode reduzir o número total de anotações necessárias, mantendo o desempenho do modelo.
  • Processamento em Lote (Batch Processing): Agrupe imagens semelhantes para anotação para manter a consistência e melhorar a eficiência.

Essas estratégias podem ajudar a manter anotações de alta qualidade, reduzindo o tempo e os recursos necessários para o processo de rotulagem.

Link to this sectionCompartilhe Suas Ideias com a Comunidade#

Discutir suas ideias e dúvidas com outros entusiastas de visão computacional pode ajudar a acelerar seus projetos. Aqui estão ótimas maneiras de aprender, solucionar problemas e fazer networking:

Link to this sectionOnde Encontrar Ajuda e Suporte#

  • GitHub Issues: Visite o repositório do YOLO26 no GitHub e use a aba Issues para levantar dúvidas, relatar bugs e sugerir recursos. A comunidade e os mantenedores estão lá para ajudar com quaisquer problemas que você encontrar.
  • Servidor Discord da Ultralytics: Entre no servidor Discord da Ultralytics para se conectar com outros usuários e desenvolvedores, obter suporte, compartilhar conhecimento e trocar ideias.

Link to this sectionDocumentação Oficial#

  • Documentação do YOLO26 da Ultralytics: Consulte a documentação oficial do YOLO26 para guias completos e insights valiosos sobre inúmeras tarefas e projetos de visão computacional.

Link to this sectionConclusão#

Seguindo as melhores práticas para coleta e anotação de dados, evitando vieses e usando as ferramentas e técnicas certas, você pode melhorar significativamente o desempenho do seu modelo. Envolver-se com a comunidade e usar os recursos disponíveis o manterá informado e o ajudará a solucionar problemas com eficácia. Lembre-se: dados de qualidade são a base de um projeto de sucesso, e as estratégias certas o ajudarão a construir modelos robustos e confiáveis.

Link to this sectionFAQ#

Link to this sectionQual é a melhor maneira de evitar vieses na coleta de dados para projetos de visão computacional?#

Evitar vieses na coleta de dados garante que seu modelo de visão computacional funcione bem em diversos cenários. Para minimizar vieses, considere coletar dados de fontes diversas para capturar diferentes perspectivas e cenários. Garanta uma representação equilibrada entre todos os grupos relevantes, como diferentes idades, gêneros e etnias. Revise e atualize regularmente seu dataset para identificar e abordar quaisquer vieses emergentes. Técnicas como superamostragem de classes sub-representadas, data augmentation e algoritmos de imparcialidade também podem ajudar a mitigar vieses. Ao empregar essas estratégias, você mantém um dataset robusto e justo que aprimora a capacidade de generalização do seu modelo.

Link to this sectionComo posso garantir alta consistência e precisão na anotação de dados?#

Garantir alta consistência e precisão na anotação de dados envolve estabelecer diretrizes de rotulagem claras e objetivas. Suas instruções devem ser detalhadas, com exemplos e ilustrações para esclarecer expectativas. A consistência é alcançada definindo critérios padrão para anotar vários tipos de dados, garantindo que todas as anotações sigam as mesmas regras. Para reduzir vieses pessoais, treine os anotadores para permanecerem neutros e objetivos. Revisões e atualizações regulares das regras de rotulagem ajudam a manter a precisão e o alinhamento com os objetivos do projeto. Usar ferramentas automatizadas para verificar a consistência e obter feedback de outros anotadores também contribui para manter anotações de alta qualidade.

Link to this sectionQuantas imagens preciso para treinar modelos YOLO da Ultralytics?#

Para um transfer learning eficaz e detecção de objetos com modelos YOLO da Ultralytics, comece com um mínimo de algumas centenas de objetos anotados por classe. Se for treinar apenas para uma classe, comece com pelo menos 100 imagens anotadas e treine por aproximadamente 100 épocas. Tarefas mais complexas podem exigir milhares de imagens por classe para alcançar alta confiabilidade e desempenho. Anotações de qualidade são cruciais, portanto, certifique-se de que seus processos de coleta e anotação de dados sejam rigorosos e estejam alinhados aos objetivos específicos do seu projeto. Explore estratégias detalhadas de treinamento no guia de treinamento do YOLO26.

Link to this sectionQuais são algumas ferramentas populares para anotação de dados?#

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

  • Label Studio: Uma ferramenta flexível que suporta várias tarefas de anotação, gestão de projetos e recursos de controle de qualidade.
  • CVAT: Oferece múltiplos formatos de anotação e fluxos de trabalho personalizáveis, tornando-a adequada para projetos complexos.
  • Labelme: Ideal para anotação de imagens rápida e direta com polígonos.
  • LabelImg: Perfeita para criar anotações de caixas delimitadoras no formato YOLO com uma interface simples.

Essas ferramentas podem ajudar a aumentar a eficiência e a precisão dos seus fluxos de trabalho de anotação. Para listas extensas de recursos e guias, consulte nossa documentação de ferramentas de anotação de dados.

Link to this sectionQuais tipos de anotação de dados são comumente usados em visão computacional?#

Diferentes tipos de anotação de dados atendem a várias tarefas de visão computacional:

  • Caixas Delimitadoras (Bounding Boxes): Usadas principalmente para detecção de objetos, são caixas retangulares ao redor de objetos em uma imagem.
  • Polígonos: Fornecem contornos de objetos mais precisos, adequados para tarefas de segmentação de instâncias.
  • Máscaras: Oferecem detalhes ao nível do pixel, usados na segmentação semântica para diferenciar objetos do fundo.
  • Keypoints: Identificam pontos de interesse específicos dentro de uma imagem, úteis para tarefas como estimativa de pose e deteção de pontos faciais.

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

Comentários