Glossário

XML

Descobre como o XML potencia a IA e o ML com anotação, configuração e troca de dados. Aprende a sua estrutura, utilizações e aplicações no mundo real!

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

XML, ou Extensible Markup Language, é uma linguagem de marcação concebida para codificar documentos num formato legível tanto por humanos como por máquinas. Definida pelo World Wide Web Consortium (W3C), o seu principal objetivo é descrever, armazenar e transportar dados, centrando-se no que são os dados e não na forma como devem ser apresentados (ao contrário do HTML). A sua natureza estruturada e auto-descritiva torna-o adequado para o intercâmbio de dados entre diferentes sistemas e aplicações, incluindo os da Inteligência Artificial (IA) e da Aprendizagem Automática (AM).

Compreender a estrutura XML

O XML utiliza etiquetas entre parênteses angulares (< >) para definir elementos, que são os componentes principais que representam as estruturas de dados. Os elementos podem conter dados ou outros elementos aninhados, criando uma estrutura hierárquica em árvore. As etiquetas também podem incluir atributos, fornecendo metadados adicionais sobre um elemento. Por exemplo, um ficheiro de anotação pode conter <object><name>person</name><bndbox><xmin>100</xmin><ymin>150</ymin><xmax>200</xmax><ymax>350</ymax></bndbox></object>. Esta estrutura, embora muitas vezes mais detalhada do que outros formatos, é explícita e pode ser rigorosamente validada utilizando esquemas como o XSD (XML Schema Definition).

Relevância em IA e ML

Nos fluxos de trabalho de IA e ML, o XML tem várias funções importantes:

  • Anotação de dados: É normalmente utilizado para armazenar anotações para dados de treino em tarefas de visão computacional (CV). Isto inclui a definição de coordenadas de caixas delimitadoras para deteção de objectos ou o contorno de polígonos para segmentação de imagens.
  • Ficheiros de configuração: O XML pode ser utilizado para configurar ferramentas de software, experiências de ML ou pipelines de processamento, embora formatos como o YAML sejam atualmente preferidos pela sua simplicidade.
  • Intercâmbio e interoperabilidade de dados: O seu formato normalizado facilita a partilha de conjuntos de dados, resultados de modelos ou configurações entre diferentes sistemas de software ou grupos de investigação.
  • Representação de modelos: Normas como a Predictive Model Markup Language (PMML) utilizam XML para definir modelos estatísticos e de extração de dados, permitindo a implementação de modelos em diferentes plataformas.

Aplicações reais de XML em IA/ML

  1. Formato do conjunto de dados PASCAL VOC: O influente desafio PASCAL Visual Object Classes (VOC) utilizou extensivamente ficheiros XML para anotar imagens. Cada ficheiro XML corresponde a uma imagem e lista todos os objectos presentes, as suas etiquetas de classe (por exemplo, "carro", "pessoa") e as suas coordenadas de caixa delimitadora. Muitos conjuntos de dados de deteção de objectos ainda utilizam ou suportam este formato, tornando-o crucial para modelos de treino como o Ultralytics YOLO. Podes encontrar os detalhes da integração do conjunto de dados VOC na documentação Ultralytics .
  2. Metadados de imagens médicas (DICOM): A norma DICOM (Digital Imaging and Communications in Medicine), amplamente utilizada nos cuidados de saúde, incorpora frequentemente estruturas XML ou semelhantes a XML para armazenar metadados juntamente com imagens médicas. Estes metadados incluem informações sobre o doente, parâmetros de imagiologia e, por vezes, anotações ou resultados da análise de imagens médicas, que são vitais para a formação de modelos de IA de diagnóstico geridos através de plataformas como o Ultralytics HUB.

Comparação com JSON e YAML

Embora o XML seja poderoso, outros formatos como JSON (JavaScript Object Notation) e YAML (YAML Ain't Markup Language) ganharam popularidade, especialmente no desenvolvimento Web e na gestão de configurações.

  • JSON: Geralmente mais conciso e mais fácil de analisar pelos navegadores Web e pelas aplicações JavaScript. É muito utilizado em APIs.
  • YAML: Projetado para facilitar a leitura humana, frequentemente usado para arquivos de configuração (por exemplo, em Docker ou Kubernetes) devido à sua sintaxe mínima.

Apesar do surgimento destas alternativas, as capacidades de validação rigorosas da XML e a sua presença estabelecida em sistemas empresariais e formatos normalizados garantem a sua relevância contínua em contextos específicos de IA e ML, especialmente quando os contratos de dados formais e a interoperabilidade são fundamentais.

Lê tudo