Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Ultralytics YOLO

Explorar a anotação de dados para projetos de visão computacional

Saiba por que motivo a rotulagem de dados é importante para a visão computacional, conheça os principais tipos de anotação, das caixas delimitadoras aos pontos-chave, e aprenda a rotular imagens no formato YOLO.

Abirami VinaAbirami Vina9 min de leitura
Anotação de dados para projetos de visão computacional

A inteligência artificial (IA) busca dar às máquinas capacidades semelhantes às humanas, e uma das formas mais populares de fazer isso é por meio do aprendizado supervisionado. Em outras palavras, ensinar modelos de IA apresentando exemplos rotulados pode ajudá-los a aprender padrões e melhorar o desempenho em tarefas. É muito parecido com a maneira como os seres humanos aprendem com a experiência. Então, como esses exemplos rotulados são criados?

A anotação de dados consiste em rotular ou marcar dados para ajudar os algoritmos de aprendizado de máquina a compreendê-los. Em visão computacional, isso significa marcar imagens ou vídeos para reconhecer e categorizar objetos, ações ou cenas com precisão. A rotulagem de dados é fundamental porque o sucesso de um modelo de IA depende muito da qualidade dos dados rotulados usados no treinamento.

Estudos mostram que mais de 80% do tempo de um projeto de IA é dedicado ao gerenciamento de dados, desde a coleta e agregação até a limpeza e rotulagem. Isso demonstra a importância da anotação de dados no desenvolvimento de modelos de IA. Dados anotados de alta qualidade permitem que modelos de IA executem tarefas como reconhecimento facial e detecção de objetos com mais precisão e confiabilidade em situações do mundo real.

Por que a anotação de dados é necessária#

A anotação de dados é a base do desempenho de um modelo de visão computacional. Os dados rotulados são a verdade de referência que o modelo usa para aprender e fazer previsões. Esses dados são essenciais porque representam o mundo real que o modelo tenta compreender. Sem essa referência confiável, o modelo de IA seria como um navio navegando sem bússola.

Verdade fundamental versus previsão

Fig. 1. Verdade de referência versus previsão.

Uma rotulagem precisa ajuda esses modelos a entender o que estão vendo e resulta em decisões melhores. Se os dados forem rotulados incorretamente ou de forma inconsistente, o modelo terá dificuldade para fazer previsões e tomar decisões corretas, como um estudante que aprende com livros didáticos incorretos. Graças aos dados anotados, um modelo pode aprender tarefas como segmentação de instâncias, classificação de imagens e estimativa de pose de objetos em imagens e vídeos.

Melhores recursos para conjuntos de dados#

Antes de criar um conjunto de dados totalmente novo e rotular imagens e vídeos meticulosamente, vale a pena verificar se você pode usar conjuntos de dados existentes no seu projeto. Há vários repositórios de código aberto que oferecem conjuntos de dados de alta qualidade gratuitamente. Alguns dos mais populares incluem:

  • ImageNet: é comumente usado para treinar modelos de classificação de imagens.
  • COCO: este conjunto de dados foi desenvolvido para detecção de objetos, segmentação e legendagem de imagens.
  • PASCAL VOC: oferece suporte a tarefas de detecção de objetos e segmentação.

Exemplos de dados do conjunto de dados COCO

Fig. 2. Exemplos de dados do conjunto de dados COCO.

Ao escolher um conjunto de dados, é importante considerar fatores como a adequação ao seu projeto, o tamanho do conjunto, a diversidade e a qualidade dos rótulos. Além disso, confira os termos de licença do conjunto de dados para evitar problemas legais e verifique se os dados estão em um formato compatível com seu fluxo de trabalho e suas ferramentas.

Criar um conjunto de dados personalizado é uma ótima opção se os conjuntos de dados existentes não atenderem exatamente às suas necessidades. Você pode coletar imagens usando ferramentas como webcams, drones ou smartphones, dependendo do que seu projeto exige. O ideal é que seu conjunto de dados personalizado seja diverso, equilibrado e realmente representativo do problema que você está tentando resolver. Isso pode significar capturar imagens em diferentes condições de iluminação, de vários ângulos e em diversos ambientes.

Se você só puder coletar um número menor de imagens ou vídeos, a ampliação de dados é uma técnica útil. Ela consiste em ampliar seu conjunto de dados aplicando transformações, como rotação, inversão ou ajustes de cor, às imagens existentes. Isso aumenta o tamanho do conjunto de dados e torna seu modelo mais robusto e mais capaz de lidar com variações nos dados. Ao combinar conjuntos de dados de código aberto, conjuntos personalizados e dados ampliados, você pode melhorar significativamente o desempenho dos seus modelos de visão computacional.

Tipos de técnicas de anotação de imagens#

Antes de começar a anotar imagens, é importante conhecer os diferentes tipos de anotação. Isso vai ajudar você a escolher a opção certa para seu projeto. A seguir, veremos alguns dos principais tipos de anotação.

Caixas delimitadoras#

As caixas delimitadoras são o tipo de anotação mais comum em visão computacional. São retângulos usados para marcar a localização de um objeto em uma imagem. Essas caixas são definidas pelas coordenadas dos cantos e ajudam os modelos de IA a identificar e localizar objetos. As caixas delimitadoras são usadas principalmente para detecção de objetos.

Caixas delimitadoras identificando um pedestre e quatro cones de trânsito, cada um com um nome de classe e uma pontuação de confiança

Fig. 3. Exemplo de caixas delimitadoras.

Máscaras de segmentação#

Às vezes, um objeto precisa ser detectado com mais precisão do que apenas desenhando uma caixa delimitadora ao seu redor. Talvez você queira identificar os contornos dos objetos em uma imagem. Nesse caso, as máscaras de segmentação permitem delinear objetos complexos. As máscaras de segmentação são uma representação mais detalhada, no nível dos pixels.

Essas máscaras podem ser usadas para segmentação semântica e segmentação de instâncias. A segmentação semântica consiste em rotular cada pixel de uma imagem de acordo com o objeto ou a área que representa, como um pedestre, um carro, uma estrada ou uma calçada. A segmentação de instâncias vai além: identifica e separa cada objeto individualmente, distinguindo, por exemplo, cada carro em uma imagem, mesmo quando todos são do mesmo tipo.

Um exemplo de segmentação semântica (esquerda) e segmentação de instâncias (direita)

Fig. 4. Exemplo de segmentação semântica (à esquerda) e máscaras de segmentação de instâncias (à direita).

Cubóides 3D#

Os cuboides 3D são semelhantes às caixas delimitadoras, mas acrescentam informações de profundidade e fornecem uma representação 3D do objeto. Essas informações adicionais permitem que os sistemas compreendam a forma, o volume e a posição dos objetos no espaço 3D. Cuboides 3D são frequentemente usados em carros autônomos para medir a distância dos objetos em relação ao veículo.

Anotações de cuboides 3D ao redor de caminhões e carros em uma rodovia, registrando a profundidade e o volume de cada veículo

Fig. 5. Exemplo de cuboides 3D.

Pontos-chave e pontos de referência#

Outro tipo interessante de anotação são os pontos-chave, que marcam pontos específicos nos objetos, como olhos, narizes ou articulações. Os pontos de referência vão além, conectando esses pontos para capturar a estrutura e o movimento de formas mais complexas, como rostos ou poses corporais. Esses tipos de anotação são usados em aplicações como reconhecimento facial, captura de movimento e realidade aumentada. Eles também aumentam a precisão dos modelos de IA em tarefas como reconhecimento de gestos ou análise de desempenho esportivo.

Pontos-chave da pose marcando as articulações de um corredor e conectando-as em um esqueleto em uma pista de atletismo

Fig. 6. Exemplo de pontos-chave.

Como anotar dados usando o LabelImg#

Agora que discutimos os diferentes tipos de anotação, vamos entender como você pode anotar imagens usando uma ferramenta popular, o LabelImg. O LabelImg é uma ferramenta de código aberto que simplifica a anotação de imagens e pode ser usada para criar conjuntos de dados no formato YOLO (You Only Look Once). É uma ótima opção para iniciantes que trabalham em pequenos projetos com o Ultralytics YOLOv8.

Configurar o LabelImg é simples. Primeiro, verifique se o Python 3 está instalado no seu computador. Depois, você pode instalar o LabelImg com um comando rápido:

pip3 install labelImg

Depois de instalado, você pode iniciar a ferramenta usando o comando:

labelImg

O LabelImg funciona em várias plataformas, incluindo Windows, macOS e Linux. Se você tiver algum problema durante a instalação, o repositório oficial do LabelImg oferece instruções mais detalhadas. Observe que os responsáveis pelo LabelImg arquivaram o projeto; para rotular imagens no navegador com ferramentas assistidas por IA, consulte o editor de anotações da Ultralytics Platform.

Usando o LabelImg para anotação de imagens

Fig. 7. Uso do LabelImg para anotação de imagens.

Depois de abrir a ferramenta, siga estas etapas simples para começar a rotular suas imagens:

  • Configure suas classes: comece definindo a lista de classes (categorias) que você quer anotar em um arquivo chamado “predefined_classes.txt”. Esse arquivo informa ao software quais objetos você vai rotular nas imagens.
  • Muda para o formato YOLO: Por padrão, o LabelImg usa o formato PASCAL VOC, mas, se estiveres a trabalhar com YOLO, terás de mudar de formato. Basta clicares no botão “PascalVOC” na barra de ferramentas para mudares para YOLO.
  • Começa a anotar: Usa as opções "Open" ou "OpenDIR" para carregar as imagens. Depois, desenha caixas delimitadoras à volta dos objetos que queres anotar e atribui-lhes o rótulo de classe correto. Guarda o teu trabalho depois de rotulares cada imagem. O LabelImg cria um ficheiro de texto com o mesmo nome da imagem, que contém as anotações YOLO.
  • Guarda e revê: As anotações são guardadas num ficheiro .txt no formato YOLO. O software também guarda um ficheiro “classes.txt” que lista todos os nomes das tuas classes.

Estratégias eficientes para rotular dados#

Para facilitar o processo de rotulagem de dados, vale a pena ter em mente algumas estratégias importantes. Por exemplo, diretrizes claras de anotação são fundamentais. Sem elas, diferentes anotadores podem interpretar uma tarefa de maneiras distintas.

Imagina que a tarefa consiste em anotar aves em imagens com caixas delimitadoras. Um anotador pode rotular a ave inteira, enquanto outro pode rotular apenas a cabeça ou as asas. Este tipo de inconsistência pode confundir o modelo durante o treino. Ao fornecer definições claras, como "rotula a ave inteira, incluindo as asas e a cauda", bem como exemplos e instruções para casos complicados, podes garantir que os dados são etiquetados com precisão e consistência.

As verificações regulares de qualidade também são importantes para manter padrões elevados. Ao definires parâmetros de referência e usares métricas específicas para rever o trabalho, podes manter a precisão dos dados e aperfeiçoar o processo através de feedback contínuo.

Rotulagem de dados em resumo#

A anotação de dados é um conceito simples que pode ter um impacto significativo no teu modelo de visão computacional. Quer uses ferramentas como o LabelImg para anotar imagens, quer treines modelos com conjuntos de dados de código aberto, compreender a rotulagem de dados é essencial. As estratégias de rotulagem de dados podem ajudar a simplificar todo o processo e torná-lo mais eficiente. Dedicar tempo a aperfeiçoar a tua abordagem de anotação pode levar a resultados de IA melhores e mais fiáveis.

Continue explorando e ampliando suas habilidades! Mantenha contato com nossa comunidade para continuar aprendendo sobre IA! Confira nosso repositório do GitHub para descobrir como usamos IA para criar soluções inovadoras em setores como manufatura e saúde.

Escrito por

Abirami Vina
Abirami Vina

Criador de conteúdo · Ultralytics

Ao iniciar a carreira como engenheira de visão computacional, Abirami Vina construiu uma base sólida em IA de visão e machine learning. Ela é criadora de conteúdo da Ultralytics e fundadora e redatora-chefe da Scribe of AI, onde produz conteúdo técnico de alta qualidade para empresas focadas em IA. Movida pela paixão por tornar a IA compreensível e envolvente, seu trabalho aproxima a tecnologia de ponta do impacto no mundo real.

Comentários

Faça uma pergunta, compartilhe seus resultados ou ajude alguém.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina