Verificação verde
Link copiado para a área de transferência

Explorar a rotulagem de dados para projectos de visão computacional

Lê a nossa análise aprofundada sobre a rotulagem de dados no que diz respeito a projectos de visão computacional e aprende a rotular dados visuais e porque é tão importante.

A inteligência artificial (IA) centra-se em dar às máquinas capacidades semelhantes às humanas e uma das formas mais populares de o fazer é através da aprendizagem supervisionada. Por outras palavras, ensinar modelos de IA mostrando-lhes exemplos rotulados pode ajudá-los a aprender com padrões e a melhorar as tarefas. É muito semelhante à forma como os humanos aprendem com a experiência. Então, como é que estes exemplos marcados são criados?

A anotação de dados envolve a rotulagem ou etiquetagem de dados para ajudar os algoritmos de aprendizagem automática a compreendê-los. Na visão computacional, isto significa marcar imagens ou vídeos para reconhecer e categorizar com precisão objectos, acções ou cenas. A etiquetagem de dados é vital porque o sucesso de um modelo de IA depende muito da qualidade dos dados etiquetados com que é treinado.

Estudos mostram que mais de 80% do tempo de um projeto de IA é gasto na gestão de dados, desde a sua recolha e agregação até à sua limpeza e rotulagem. Isto mostra a importância da anotação de dados no desenvolvimento de modelos de IA. A utilização de dados anotados de alta qualidade permite que os modelos de IA executem tarefas como o reconhecimento facial e a deteção de objectos com maior precisão e fiabilidade em situações do mundo real.

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

A anotação de dados constitui a base do desempenho de um modelo de visão por computador. Os dados rotulados são a verdade básica que o modelo usa para aprender e fazer previsões. Os dados de referência são fundamentais porque representam o mundo real que o modelo tenta compreender. Sem esta base de referência fiável, o modelo de IA seria como um navio a navegar sem bússola. 

Fig. 1. Verdade terrestre Vs. Previsão.

Uma rotulagem precisa ajuda estes modelos a compreender o que estão a ver e conduz a uma melhor tomada de decisões. Se os dados estiverem mal rotulados ou forem inconsistentes, o modelo terá dificuldade em fazer previsões e tomar decisões corretas, tal como um aluno que aprende com manuais incorrectos. Graças aos dados anotados, um modelo pode aprender tarefas como a classificação de imagens, a segmentação de instâncias e a estimativa de pose de objectos em imagens e vídeos. 

Melhores recursos para conjuntos de dados

Antes de criares um novo conjunto de dados e etiquetares meticulosamente imagens e vídeos, é boa ideia ver se podes utilizar conjuntos de dados pré-existentes para o teu projeto. Existem vários repositórios de código aberto fantásticos onde podes aceder gratuitamente a conjuntos de dados de alta qualidade. Alguns dos mais populares incluem:

  • ImageNet: É normalmente utilizado para treinar modelos de classificação de imagens.
  • COCO: Este conjunto de dados foi concebido para a deteção de objectos, segmentação e legendagem de imagens
  • COV PASCAL: Suporta tarefas de deteção e segmentação de objectos.
Fig. 2. Exemplos de dados do conjunto de dados COCO.

Ao escolher um conjunto de dados, é importante ter em conta factores como a adequação ao teu projeto, a dimensão do conjunto de dados, a sua diversidade e a qualidade das etiquetas. Além disso, não te esqueças de rever os termos de licenciamento do conjunto de dados para evitar quaisquer repercussões legais e verifica se os dados estão formatados de uma forma que se adeqúe ao teu fluxo de trabalho e ferramentas.

Criar um conjunto de dados personalizado é uma óptima opção se os conjuntos de dados existentes não corresponderem às tuas necessidades. Podes recolher imagens utilizando ferramentas como webcams, drones ou smartphones, dependendo do que o teu projeto requer. Idealmente, o teu conjunto de dados personalizado deve ser diversificado, equilibrado e verdadeiramente representativo do problema que estás a tentar resolver. Isto pode significar a captura de imagens em diferentes condições de iluminação, de vários ângulos e em vários ambientes.

Se só conseguires recolher um número reduzido de imagens ou vídeos, o aumento de dados é uma técnica útil. Envolve a expansão do seu conjunto de dados através da aplicação de transformações como rotação, inversão ou ajustes de cor às imagens existentes. Aumenta o tamanho do seu conjunto de dados e torna o seu modelo mais robusto e mais capaz de lidar com variações nos dados. Ao utilizar uma mistura de conjuntos de dados de fonte aberta, conjuntos de dados personalizados e dados aumentados, podes aumentar significativamente o desempenho dos teus modelos de visão por computador.

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

Antes de começares a fazer anotações em imagens, é importante conheceres os diferentes tipos de anotações. Isso irá ajudar-te a escolher o tipo certo para o teu projeto. De seguida, vamos ver alguns dos principais tipos de anotações. 

Caixas de delimitação

As caixas delimitadoras são o tipo mais comum de anotação em visão computacional. São caixas rectangulares utilizadas para marcar a localização de um objeto numa imagem. Estas caixas são definidas pelas coordenadas dos seus cantos e ajudam os modelos de IA a identificar e localizar objectos. As caixas de delimitação são utilizadas principalmente para a deteção de objectos.

Figura 3. Um exemplo de caixas delimitadoras.

Máscaras de segmentação

Por vezes, um objeto precisa de ser detectado com mais precisão do que através de uma simples caixa delimitadora desenhada à sua volta. Podes estar interessado nos limites dos objectos de uma imagem. Nesse caso, as máscaras de segmentação permitem-te delinear objectos complexos. As máscaras de segmentação são uma representação mais detalhada ao nível do pixel. 

Essas máscaras podem ser usadas para segmentação semântica e segmentação de instância. A segmentação semântica envolve a rotulagem de cada pixel numa imagem de acordo com o objeto ou área que representa, como um peão, um carro, uma estrada ou um passeio. A segmentação de instâncias, no entanto, vai um passo mais além, identificando e separando cada objeto individualmente, como distinguir cada carro numa imagem, mesmo que sejam todos do mesmo tipo.

Figura 4. Um exemplo de segmentação semântica (esquerda) e máscaras de segmentação de instâncias (direita).

Cubóides 3D

Os cubóides 3D são semelhantes às caixas delimitadoras, mas o que os torna únicos é que os cubóides 3D adicionam informações de profundidade e fornecem uma representação 3D de um objeto. Esta informação extra permite aos sistemas compreender a forma, o volume e a posição dos objectos num espaço 3D. Os cubóides 3D são frequentemente utilizados em carros autónomos para medir a distância entre objectos e o veículo.

Fig. 5. Um exemplo de cubóides 3D.

Pontos-chave e pontos de referência

Outro tipo interessante de anotação são os pontos-chave, em que pontos específicos como olhos, narizes ou articulações são marcados nos objectos. Os pontos de referência vão mais longe, ligando estes pontos para capturar a estrutura e o movimento de formas mais complexas, como rostos ou poses corporais. Estes tipos de anotações são utilizados em aplicações como o reconhecimento facial, a captura de movimentos e a realidade aumentada. Também melhoram a precisão dos modelos de IA em tarefas como o reconhecimento de gestos ou a análise do desempenho desportivo.

Fig. 6. Um exemplo de pontos-chave.

Como anotar dados utilizando LabelImg

Agora que já discutimos os diferentes tipos de anotações, vamos perceber como podes anotar imagens utilizando uma ferramenta popular, LabelImg. LabelImg é uma ferramenta de código aberto que simplifica a anotação de imagens e pode ser utilizada para criar conjuntos de dados no formato YOLO (You Only Look Once). É uma excelente escolha para principiantes que trabalham em pequenos projectosUltralytics YOLOv8 .

A configuração do LabelImg é simples. Primeiro, certifica-te de que tens oPython 3 instalado no teu computador. Depois, podes instalar o LabelImg com um comando rápido. 


pip3 install labelImg

Depois de instalada, podes iniciar a ferramenta utilizando o comando:


labelImg

O LabelImg funciona em várias plataformas, incluindo Windows, macOS e Linux. Se tiveres algum problema durante a instalação, o repositório oficial do LabelImg pode fornecer-te instruções mais detalhadas.

Figura 7. Utiliza o LabelImg para anotação de imagens.

Depois de iniciares a ferramenta, segue estes passos simples para começares a etiquetar as tuas imagens:

  • Configura as tuas classes: Começa por definir a lista de classes (categorias) que pretende anotar num ficheiro chamado "predefined_classes.txt". Este ficheiro permite que o software saiba quais os objectos que vai etiquetar nas suas imagens.
  • Muda para o formato YOLO : Por defeito, o LabelImg utiliza o formato PASCAL VOC, mas se estiveres a trabalhar com YOLO, terás de mudar de formato. Basta clicar no botão "PascalVOC" na barra de ferramentas para mudar para YOLO.
  • Começa a fazer anotações: Utiliza as opções "Open" ou "OpenDIR" para carregar as imagens. Depois, desenha caixas delimitadoras à volta dos objectos que queres anotar e atribui a etiqueta de classe correta. Depois de etiquetares cada imagem, guarda o teu trabalho. LabelImg criará um ficheiro de texto com o mesmo nome da imagem, contendo 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 aulas.

Estratégias eficientes de rotulagem de dados

Para facilitar o processo de rotulagem de dados, há algumas estratégias importantes a ter em conta. Por exemplo, são cruciais diretrizes de anotação claras. Sem elas, diferentes anotadores podem interpretar uma tarefa de forma diferente. 

Digamos que a tarefa é 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 "etiquetar toda a ave, incluindo as asas e a cauda", juntamente com exemplos e instruções para casos complicados, pode garantir que os dados são etiquetados de forma precisa e consistente.

Os controlos de qualidade regulares também são importantes para manter padrões elevados. Ao definir parâmetros de referência e utilizar métricas específicas para analisar o trabalho, podes manter os dados exactos e aperfeiçoar o processo através de um feedback contínuo. 

Etiquetagem de dados em poucas palavras

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

Continua a explorar e a expandir as tuas competências! Mantém-te ligado à nossa comunidade para continuares a aprender sobre IA! Consulta o nosso repositório GitHub para descobrires como estamos a utilizar a IA para criar soluções inovadoras em setores como o fabrico e os cuidados de saúde. 🚀

Logótipo do FacebookLogótipo do TwitterLogótipo do LinkedInSímbolo de ligação de cópia

Ler mais nesta categoria

Vamos construir juntos o futuro
da IA!

Começa a tua viagem com o futuro da aprendizagem automática