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 Vina9 min de leitura
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.

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.

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.

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.

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.

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.

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 labelImgDepois de instalado, você pode iniciar a ferramenta usando o comando:
labelImgO 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.

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
Comentários
Faça uma pergunta, compartilhe seus resultados ou ajude alguém.










