Ao clicar em "Aceitar todos os cookies", concorda com o armazenamento de cookies no seu dispositivo para melhorar a navegação no site, analisar a utilização do site e ajudar nos nossos esforços de marketing. Mais informações
Definições de cookies
Ao clicar em "Aceitar todos os cookies", concorda com o armazenamento de cookies no seu dispositivo para melhorar a navegação no site, analisar a utilização do site e ajudar nos nossos esforços de marketing. Mais informações
Leia o nosso abrangente estudo aprofundado sobre rotulagem de dados no que diz respeito a projectos de visão computacional e saiba como rotular dados visuais e porque é tão importante.
A inteligência artificial (IA) tem como objetivo 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 rotulados 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 utiliza 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.
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 da pose de objectos em imagens e vídeos.
Melhores recursos para conjuntos de dados
Antes de criar um novo conjunto de dados e etiquetar meticulosamente imagens e vídeos, é uma boa ideia ver se pode utilizar conjuntos de dados pré-existentes para o seu projeto. Existem vários repositórios de código aberto fantásticos onde pode 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 no conjunto de dados COCO.
Ao escolher um conjunto de dados, é importante considerar factores como a adequação ao seu projeto, a dimensão do conjunto de dados, a sua diversidade e a qualidade das etiquetas. Além disso, certifique-se de que analisa os termos de licenciamento do conjunto de dados para evitar quaisquer repercussões legais e verifique se os dados estão formatados de uma forma que se adeqúe ao seu 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 suas necessidades. Pode recolher imagens utilizando ferramentas como webcams, drones ou smartphones, dependendo das necessidades do seu projeto. Idealmente, o seu conjunto de dados personalizado deve ser diversificado, equilibrado e verdadeiramente representativo do problema que está 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ó for possível 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, pode aumentar significativamente o desempenho dos seus modelos de visão por computador.
Tipos de técnicas de anotação de imagens
Antes de começar a anotar imagens, é importante estar familiarizado com os diferentes tipos de anotações. Isso ajudá-lo-á a escolher o tipo certo para o seu projeto. De seguida, vamos ver alguns dos principais tipos de anotações.
Caixas de contorno
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 delimitadoras são utilizadas principalmente para a deteção de objectos.
Por vezes, um objeto precisa de ser detectado com mais precisão do que através de uma simples caixa delimitadora desenhada à sua volta. Poderá estar interessado nos limites dos objectos numa imagem. Nesse caso, as máscaras de segmentação permitem-lhe delinear objectos complexos. As máscaras de segmentação são uma representação mais detalhada ao nível do pixel.
Estas máscaras podem ser utilizadas para segmentação semântica e segmentação de instâncias. 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.
Fig. 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 é o facto de os cubóides 3D adicionarem informações de profundidade e fornecerem 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 automóveis autónomos para medir a distância entre objectos e o veículo.
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 captar 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.
Agora que já falámos dos diferentes tipos de anotações, vamos perceber como pode 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 óptima escolha para principiantes que trabalham em pequenos projectos Ultralytics YOLOv8.
A configuração do LabelImg é simples. Primeiro, certifique-se de que tem o Python 3 instalado no seu computador. Depois, podes instalar o LabelImg com um comando rápido.
Uma vez instalada, pode iniciar a ferramenta utilizando o comando:
O LabelImg funciona em várias plataformas, incluindo Windows, macOS e Linux. Se encontrar algum problema durante a instalação, o repositório oficial do LabelImg pode fornecer-lhe instruções mais detalhadas.
Fig. 7. Utilização do LabelImg para anotação de imagens.
Depois de iniciar a ferramenta, siga estes passos simples para começar a etiquetar as suas imagens:
Configure as suas classes: Comece 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.
Mudar para o formato YOLO: Por defeito, o LabelImg utiliza o formato PASCAL VOC, mas se estiver a trabalhar com YOLO, terá de mudar de formato. Basta clicar no botão "PascalVOC" na barra de ferramentas para mudar para YOLO.
Comece a fazer anotações: Utilize as opções "Open" ou "OpenDIR" para carregar as suas imagens. Em seguida, desenhe caixas delimitadoras à volta dos objectos que pretende anotar e atribua a etiqueta de classe correta. Depois de etiquetar cada imagem, guarde o seu trabalho. LabelImg criará um ficheiro de texto com o mesmo nome da imagem, contendo as anotações YOLO.
Guardar e rever: 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 suas aulas.
Estratégias eficientes de rotulagem de dados
Para tornar o processo de rotulagem de dados mais fácil, há algumas estratégias fundamentais 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 exacta 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, pode manter os dados exactos e aperfeiçoar o processo através de um feedback contínuo.
A etiquetagem de dados em poucas palavras
A anotação de dados é um conceito simples que pode ter um impacto significativo no seu modelo de visão computacional. Quer esteja 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 sua abordagem de anotação pode conduzir a resultados de IA melhores e mais fiáveis.
Continue a explorar e a expandir as suas competências! Mantenha-se ligado à nossa comunidade para continuar a aprender sobre IA! Consulte o nosso repositório GitHub para descobrir como estamos a utilizar a IA para criar soluções inovadoras em sectores como o fabrico e os cuidados de saúde. 🚀