Yolo Vision Shenzhen
Shenzhen
Junte-se agora

Gestão inteligente de conjuntos de dados na visão computacional com Ultralytics

Descubra como pode utilizar Ultralytics para uma melhor gestão dos conjuntos de dados nos seus projetos de visão computacional. Acompanhe, compare e melhore os seus conjuntos de dados com facilidade.

Expanda os seus projetos de visão computacional com Ultralytics

Comece agora

A IA de visão, ou visão computacional, percorreu um longo caminho desde os seus primórdios, evoluindo de uma investigação experimental para uma tecnologia fundamental que sustenta aplicações no mundo real. Hoje em dia, os entusiastas da IA podem criar modelos poderosos para tarefas como a deteção de objetos e a segmentação de instâncias, utilizando ferramentas e estruturas acessíveis.

No entanto, à medida que estas aplicações passam da fase experimental para a fase de produção, a gestão dos conjuntos de dados continua a ser um desafio crucial e, muitas vezes, negligenciado. À medida que os conjuntos de dados de visão computacional aumentam em tamanho e complexidade, as equipas enfrentam frequentemente dificuldades para manter anotações consistentes, track entre versões e garantir a qualidade geral dos dados.

Mesmo os modelos mais avançados podem apresentar um desempenho inferior em ambientes reais se os dados com que são treinados forem incompletos, desequilibrados ou mal geridos. Esta discrepância crescente entre o desempenho em fase de desenvolvimento e a fiabilidade no mundo real é a razão pela qual é necessária uma abordagem mais estruturada à gestão de conjuntos de dados.

Outra limitação comum é que a recolha de dados, a anotação e o treino são frequentemente realizados com ferramentas distintas. Um fluxo de trabalho fragmentado dificulta a gestão eficiente dos conjuntos de dados, aumenta o risco de inconsistências e retarda o processo de iteração.

Para resolver os obstáculos na IA de visão, como a gestão de conjuntos de dados e os fluxos de trabalho fragmentados, lançámos recentemente Ultralytics . Trata-se de um espaço de trabalho completo que reúne a gestão de conjuntos de dados, a anotação, o treino, a implementação e a monitorização num único fluxo de trabalho unificado. 

Ao interligar cada fase do ciclo de vida da visão computacional, torna-se mais fácil track as alterações track , comparar o desempenho entre versões e aperfeiçoar continuamente os seus dados para obter melhores resultados.

Fig. 1. Um exemplo de visualização das imagens do seu conjunto de dados na Ultralytics (Fonte)

Neste artigo, vamos explorar como Ultralytics o ajuda track, comparar e melhorar os seus conjuntos de dados para criar modelos de visão computacional mais fiáveis. Vamos começar! 

A importância da gestão de conjuntos de dados na visão computacional

O desempenho de um modelo de visão computacional está intimamente ligado aos dados com que é treinado. A precisão do modelo, ou seja, a frequência com que as previsões estão corretas, depende não só do algoritmo, mas também da capacidade do conjunto de dados para representar as condições do mundo real. 

Em termos simples, um modelo aprende padrões diretamente a partir dos dados, pelo que quaisquer lacunas, enviesamentos ou inconsistências no conjunto de dados podem influenciar a forma como este faz previsões. Por outras palavras, dados de má qualidade, anotações incorretas ou uma cobertura limitada das variações do mundo real nas imagens — tais como diferentes condições de iluminação, ângulos dos objetos, fundos ou níveis de oclusão — podem reduzir significativamente a precisão, mesmo que a arquitetura do modelo em si seja robusta.

O mesmo se aplica ao ajuste fino de um modelo, em que um modelo pré-treinado é submetido a um novo treino com dados novos ou atualizados, a fim de o adaptar melhor a um caso de utilização ou ambiente específico. Uma vez que a precisão do modelo depende em grande medida dos dados, torna-se essencial gerir esses dados de forma adequada. 

A gestão de conjuntos de dados inclui a organização, a rotulagem e a atualização contínua dos dados, para que estes se mantenham precisos e relevantes. Isto facilita a melhoria do desempenho ao longo do tempo, especialmente ao retreinar ou ajustar modelos com novos dados.

Como a qualidade dos conjuntos de dados afeta a fiabilidade na prática

Os casos de utilização da visão computacional, como os sistemas de monitorização de segurança, são um excelente exemplo da importância vital de uma gestão adequada dos dados. Estes sistemas têm de funcionar de forma fiável numa variedade de condições reais, incluindo diferentes condições de iluminação, ângulos de câmara, níveis de aglomeração e oclusões parciais.

Se os dados de treino não abrangerem essas variações ou não apresentarem diversidade na forma como os objetos aparecem em diferentes cenários e condições, o modelo poderá ter dificuldade em detect com precisão. Por exemplo, um modelo treinado principalmente com cenas bem iluminadas e sem obstáculos poderá apresentar um desempenho insatisfatório em ambientes com pouca luz ou em locais com muita gente. Nos sistemas de segurança, isto pode levar à omissão de eventos ou a falsos alertas.

Para evitar isso, é importante manter conjuntos de dados que não sejam apenas limpos e rotulados com precisão, mas também bem equilibrados e continuamente atualizados. Isto significa identificar lacunas nos dados, adicionar novos exemplos à medida que as condições mudam e garantir que as diferentes classes e ambientes estejam representados de forma equilibrada. 

Com um conjunto de dados mais completo e estruturado, os modelos estão mais bem preparados para lidar com a variabilidade do mundo real e produzir previsões mais fiáveis.

Aspectos fundamentais da gestão de conjuntos de dados

Então, em que consiste, na prática, a gestão de conjuntos de dados? Envolve organizar, rotular e manter os dados para que possam ser utilizados de forma eficaz ao longo de todo o processo de desenvolvimento do modelo.

A organização dos dados, por exemplo, inclui a estruturação do conjunto de dados e a sua divisão em conjuntos de treino, validação e teste. O conjunto de treino é utilizado para treinar o modelo, o conjunto de validação serve para monitorizar o desempenho e orientar os ajustes durante o desenvolvimento, e o conjunto de teste é utilizado para avaliar o desempenho do modelo final em dados completamente novos.

Por outro lado, a rotulagem consiste em anotar imagens com detalhes como rótulos de classe, caixas delimitadoras ou máscaras de segmentação. Uma vez que o modelo aprende a partir dessas anotações, a precisão e a consistência são fundamentais para o ajudar a aprender padrões significativos e a fazer previsões fiáveis.

Além disso, a manutenção do conjunto de dados implica a revisão e atualização dos dados ao longo do tempo. Isso pode incluir a correção de erros de anotação, a remoção de dados de baixa qualidade ou duplicados e a adição de novos exemplos para cobrir casos em falta ou condições em mudança. 

Em termos mais gerais, a gestão de conjuntos de dados é um processo contínuo. À medida que os modelos são avaliados e novos dados são recolhidos, os conjuntos de dados precisam de ser atualizados para refletir as condições do mundo real e os casos extremos. Acompanhar essas atualizações e comparar diferentes versões ajuda as equipas a compreender o que está a melhorar o desempenho e onde são necessárias alterações adicionais.

Gestão de conjuntos de dados com Ultralytics

Ultralytics oferece um fluxo de trabalho estruturado para a gestão de conjuntos de dados num único ambiente, abrangendo todas as etapas, desde a preparação até à exportação dos dados. Foi concebida para apoiar tanto programadores individuais como equipas, facilitando a gestão consistente dos conjuntos de dados, quer esteja a trabalhar de forma independente ou a colaborar em vários projetos.

Cada etapa foi concebida para simplificar a forma como os conjuntos de dados são organizados, processados e utilizados ao longo do ciclo de vida do desenvolvimento do modelo. Ao reunir estas etapas num único local, a plataforma reduz a fragmentação e facilita a manutenção da consistência entre os fluxos de trabalho.

A seguir, vamos analisar as etapas principais envolvidas e como a plataforma as apoia.

Carregar conjuntos de dados na Ultralytics

Começar a trabalhar com conjuntos de dados na plataforma é flexível, com várias formas de importar ou reutilizar dados. Pode carregar os seus próprios dados ou começar mais rapidamente utilizando conjuntos de dados públicos disponíveis através da plataforma. Também pode clonar conjuntos de dados existentes partilhados pela comunidade e desenvolver a partir deles.

As funcionalidades comunitárias da plataforma facilitam a exploração e a reutilização de trabalhos já existentes. Com acesso a conjuntos de dados criados por outros utilizadores, incluindo milhões de imagens e anotações, pode começar rapidamente sem ter de recolher e rotular tudo por conta própria. Ao clonar um conjunto de dados, é criada uma cópia no seu espaço de trabalho, permitindo-lhe modificá-lo e ampliá-lo, mantendo o original intacto.

No que diz respeito aos uploads, a plataforma suporta imagens individuais, vídeos e arquivos de conjuntos de dados, tais como ficheiros ZIP, TAR ou GZ. Também suporta formatos de conjuntos de dados amplamente utilizados, como YOLO COCO, facilitando a importação de conjuntos de dados e anotações existentes sem necessidade de conversão adicional. Além disso, é possível carregar um conjunto de dados utilizando um ficheiro NDJSON exportado da plataforma, o que facilita a recriação ou reutilização de conjuntos de dados entre projetos.

Depois de os dados serem carregados, a plataforma processa-os através de um fluxo de trabalho estruturado. Isso inclui a validação dos formatos e tamanhos dos ficheiros, o redimensionamento das imagens quando necessário, a análise das anotações e a geração de estatísticas do conjunto de dados.

Por exemplo, os vídeos são convertidos em fotogramas para que possam ser utilizados para treino, enquanto as imagens são otimizadas e preparadas para facilitar a navegação e a análise. Após o processamento, os conjuntos de dados ficam prontos para serem utilizados para anotação, análise e treino de modelos dentro da plataforma.

Anotação de dados na Ultralytics

Depois de carregados, os conjuntos de dados podem ser analisados e anotados diretamente na plataforma. A plataforma inclui ferramentas integradas de anotação de imagens para uma variedade de tarefas de visão computacional, tais como deteção de objetos, segmentação de instâncias, estimativa de pose, deteção de caixas delimitadoras orientadas (OBB) e classificação de imagens.

Fig. 2. Utilização Ultralytics para a rotulagem de dados (Fonte)

As anotações podem ser criadas manualmente utilizando estas ferramentas ou aceleradas com funcionalidades assistidas por IA, como a anotação inteligente SAM. Com SAM, é possível gerar máscaras, caixas delimitadoras ou caixas orientadas através da interação com a imagem, o que ajuda a acelerar o processo de rotulagem, mantendo a precisão.

Análise da qualidade dos conjuntos de dados através Ultralytics

Para além de preparar e anotar os dados, compreender a qualidade do conjunto de dados é essencial para criar modelos de visão computacional fiáveis. Sem uma visão clara de fatores como a distribuição das classes, a qualidade da anotação, a divisão do conjunto de dados e a forma como os dados são representados em diferentes condições, pode ser difícil identificar problemas que afetam o desempenho do modelo.

Ultralytics inclui funcionalidades integradas que ajudam a analisar conjuntos de dados de forma mais eficaz. Estas informações estão disponíveis diretamente na interface do conjunto de dados, em separadores como «Imagens», «Classes» e «Gráficos».

No separador «Gráficos», pode visualizar estatísticas ao nível do conjunto de dados, tais como a distribuição das partições (treino, validação e teste), a frequência das classes e mapas de calor de anotações que mostram onde os objetos aparecem nas imagens. 

O separador «Classes» apresenta uma repartição do número de anotações por classe, facilitando a identificação de desequilíbrios entre classes. Por sua vez, o separador «Imagens» mostra detalhes ao nível das imagens, tais como dimensões, número de anotações e a forma como os rótulos estão distribuídos pelas imagens individuais.

Estas informações facilitam a identificação de problemas como o desequilíbrio entre classes, a falta de cenários ou a distribuição desigual dos dados. Por exemplo, poderá verificar que certas classes têm muito poucos exemplos ou que a maioria das anotações se concentra em áreas específicas de uma imagem.

Para além da análise de dados, a plataforma permite a curadoria e o enriquecimento de conjuntos de dados, ou seja, o aperfeiçoamento dos conjuntos de dados através da correção ou remoção de dados problemáticos e da criação de variações dos dados existentes, com o objetivo de melhorar o desempenho do modelo. Estas melhorias podem ser realizadas diretamente na plataforma, atualizando anotações, adicionando novos dados ou reorganizando as divisões dos conjuntos de dados com base nas conclusões da análise.

Exportação de conjuntos de dados da Ultralytics

Depois de um conjunto de dados estar preparado e validado, pode ser exportado para utilização em diferentes ambientes. Isto dá-lhe a flexibilidade de utilizar os seus dados de visão computacional onde preferir, seja para treinar modelos localmente, na nuvem ou noutras ferramentas e fluxos de trabalho.

A Ultralytics suporta vários formatos de exportação, incluindo YOLO, COCO e NDJSON, facilitando a integração de conjuntos de dados em diferentes fluxos de trabalho e ferramentas de treino.

Fig. 3. Exportação de um conjunto de dados da Ultralytics (Fonte)

A exportação de um conjunto de dados cria um instantâneo fixo dos dados num momento específico, incluindo as suas imagens, anotações e estrutura. Isto é útil porque os conjuntos de dados mudam frequentemente à medida que são adicionados novos dados, as anotações são atualizadas ou as divisões são ajustadas. Ao exportar um instantâneo, é possível preservar a versão exata do conjunto de dados utilizada para uma determinada sessão de treino.

Isto facilita a reprodução dos resultados posteriormente, uma vez que é possível treinar novamente um modelo com a mesma configuração de dados e comparar o desempenho entre diferentes versões do conjunto de dados. Por exemplo, é possível avaliar se a adição de novas imagens ou a correção de anotações melhora efetivamente a precisão do modelo, em vez de ter de adivinhar o que mudou.

As exportações são processadas de forma assíncrona e, assim que estiverem prontas, os conjuntos de dados podem ser descarregados e utilizados em ambientes de formação locais, na nuvem ou offline.

Melhorar a qualidade dos conjuntos de dados através de iterações na Ultralytics

Nos fluxos de trabalho de aprendizagem automática e aprendizagem profunda, a gestão dos conjuntos de dados continua mesmo após a implementação, uma vez que os dados do mundo real diferem frequentemente dos dados utilizados durante o treino. 

À medida que os modelos são expostos a novos dados, as lacunas no conjunto de dados — tais como condições ausentes, como ambientes com pouca luz, diferentes ângulos de câmara, obstruções ou cenas com muita gente, bem como erros de anotação — tornam-se mais evidentes, tornando necessário aperfeiçoar os dados ao longo do tempo.

Existem várias formas de melhorar um conjunto de dados. É possível adicionar novas imagens ou vídeos para abranger condições que faltam, tais como ambientes com pouca luz, diferentes ângulos de câmara, obstruções ou cenas com muita gente, ajudando a reduzir os pontos cegos nos dados. 

Ao mesmo tempo, garantir que as anotações sejam precisas e consistentes — como objetos corretamente rotulados e caixas delimitadoras ou máscaras precisas — ajuda o modelo a aprender padrões mais fiáveis.

Este processo segue normalmente um ciclo simples: treinar o modelo, avaliar os resultados, identificar erros, melhorar o conjunto de dados e voltar a treinar. Cada etapa ajuda a identificar problemas como anotações incorretas, dados em falta ou casos sub-representados.

Suponhamos que esteja a trabalhar num sistema de monitorização de prateleiras de retalho em tempo real, utilizado para detect nas lojas. As primeiras versões do conjunto de dados podem não incluir determinados tipos de produtos, condições de iluminação ou disposições de prateleiras muito cheias. Durante a avaliação, poderá notar que o modelo tem dificuldade em detect nessas situações.

Para melhorar o desempenho, pode recolher novas imagens que abranjam esses cenários em falta e atualizar as anotações sempre que necessário. Com o tempo, a repetição deste processo ajuda o modelo a tornar-se mais preciso e fiável em condições reais.

Ultralytics apoia este fluxo de trabalho ao associar as atualizações dos conjuntos de dados ao treino e à avaliação. Com funcionalidades integradas de acompanhamento de experiências e métricas de desempenho, torna-se mais fácil monitorizar o progresso e melhorar continuamente os conjuntos de dados ao longo do tempo.

Acompanhar as alterações nos conjuntos de dados utilizando Ultralytics

Abordámos brevemente a forma como os conjuntos de dados evoluem ao longo do tempo, no âmbito do processo de desenvolvimento do modelo. À medida que são adicionados novos dados, as anotações são aperfeiçoadas e as classes são atualizadas, track alterações torna-se fundamental para manter a qualidade dos dados e garantir um desempenho consistente do modelo.

Eis algumas das principais funcionalidades Ultralytics que permitem o acompanhamento de conjuntos de dados e o controlo de versões:

  • Controlo de versões do conjunto de dados: É possível criar versões fixas do conjunto de dados sob a forma de instantâneos NDJSON. Cada versão regista detalhes essenciais, tais como o número de imagens, o número de classes, o número de anotações e o tamanho do conjunto de dados num determinado momento. Estas versões são armazenadas e podem ser descarregadas posteriormente, facilitando a reprodução de experiências e a comparação de resultados entre diferentes estados do conjunto de dados.
  • Separador «Versões»: Todas as versões do conjunto de dados estão organizadas no separador «Versões», onde pode consultar o histórico de versões, adicionar descrições às alterações e track do conjunto de dados ao longo do tempo.
  • Ligação aos modelos: O separador «Modelos» apresenta todos os modelos treinados com um conjunto de dados, incluindo métricas como mAP detalhes do treino. As versões do conjunto de dados estão associadas às execuções de treino, ajudando-o a compreender como as alterações nos dados afetam o desempenho do modelo.
  • Separador «Erros»: O separador «Erros» destaca os ficheiros que apresentaram falhas durante o processamento, juntamente com os detalhes do erro e sugestões. Isto permite-lhe identificar e corrigir problemas, tais como ficheiros corrompidos ou formatos não suportados, antes do treino.
  • Interface do conjunto de dados (separadores «Imagens» e «Classes»): Estas vistas permitem-lhe navegar pelas imagens, rever as anotações, gerir os rótulos das classes e analisar a distribuição das classes. Funcionalidades como a filtragem, a ordenação e a identificação de imagens não anotadas facilitam o acompanhamento da qualidade do conjunto de dados ao longo do tempo.
  • Estatísticas e gráficos: As visualizações de dados integradas, tais como a distribuição por faixas, a frequência de classes e os mapas de calor de anotações, ajudam track na distribuição dos dados e a identificar desequilíbrios à medida que o conjunto de dados evolui.
Fig. 4. Uma visão geral da análise da distribuição de classes de um conjunto de dados na Ultralytics (Fonte)

Ligar conjuntos de dados ao treino e à implementação na Ultralytics

Ultralytics integra as diferentes fases do desenvolvimento de modelos de IA num único fluxo de trabalho. Isto agiliza o processo que vai desde os dados brutos até às aplicações de IA de visão prontas para produção.

Depois de os conjuntos de dados estarem preparados e anotados, podem ser utilizados para treinar modelos de visão computacional, como Ultralytics , diretamente na plataforma. Durante o treino, é possível monitorizar métricas de desempenho, track e avaliar o desempenho do modelo na aprendizagem através de painéis de controlo integrados.

Fig. 5. Uma visão geral das métricas de treino do modelo na Ultralytics (Fonte)

Após o treino, os modelos podem ser testados em novas imagens diretamente no navegador para avaliar as previsões e identificar áreas a melhorar antes da implementação. Quando o modelo apresenta um bom desempenho, pode ser implementado em produção. 

A plataforma permite exportar modelos para vários formatos ou implementá-los através de serviços de inferência e pontos de extremidade dedicados, permitindo a sua execução em diferentes ambientes.

Uma vez implementadas, as ferramentas de monitorização integradas ajudam track o desempenho track ao longo do tempo, incluindo métricas relacionadas com a utilização e o comportamento do modelo. Isto facilita a manutenção e o aperfeiçoamento dos sistemas de IA de visão em aplicações do mundo real.

Melhores práticas para a gestão de conjuntos de dados com Ultralytics

Aqui estão alguns fatores importantes a ter em conta ao gerir os seus conjuntos de dados utilizando a Ultralytics :

  • Utilize filtros para identificar lacunas: identifique dados sem etiqueta ou sub-representados através de ferramentas de filtragem, facilitando a conclusão das anotações e melhorando a cobertura.
  • Corrija os erros atempadamente: utilize o separador «Erros» para o controlo de qualidade, de modo a detetar uploads com falha, ficheiros danificados ou formatos não suportados antes do treino.
  • Atualizar continuamente os conjuntos de dados: adicionar novos dados, corrigir anotações e incluir casos extremos à medida que estes surgem. Isto ajuda a melhorar a cobertura e garante que os modelos funcionem de forma fiável em cenários reais.
  • Gerencie cuidadosamente a divisão do conjunto de dados: assegure um bom equilíbrio entre os conjuntos de treino, validação e teste. Pode reorganizar as divisões manualmente ou utilizar a redistribuição automática quando necessário.

Para saber mais sobre Ultralytics , consulte a Ultralytics oficial Ultralytics .

Principais conclusões

À medida que os projetos de visão computacional ganham escala, a gestão eficaz dos conjuntos de dados torna-se tão importante quanto o desenvolvimento de modelos. Uma abordagem estruturada à gestão de conjuntos de dados ajuda a melhorar a qualidade dos dados, a otimizar os fluxos de trabalho e a garantir um melhor desempenho dos modelos ao longo do tempo.

Ultralytics simplifica este processo ao reunir a gestão de conjuntos de dados, o treino e a implementação num único fluxo de trabalho. Ao adotarem uma abordagem estruturada à gestão de conjuntos de dados, as equipas podem reduzir a complexidade, melhorar a eficiência e criar sistemas de visão computacional mais escaláveis e fiáveis.

Junte-se à nossa comunidade em crescimento e explore o nosso repositório GitHub para obter recursos de IA. Para começar a desenvolver com IA de visão hoje mesmo, consulte as nossas opções de licenciamento. Saiba como a IA na agricultura está a transformar a produção agrícola e como a IA de visão na área da saúde está a moldar o futuro, visitando as nossas páginas de soluções.

Vamos construir juntos o futuro da IA!

Comece sua jornada com o futuro do aprendizado de máquina