Usando Busca Vetorial para Entender Melhor os Dados de Visão Computacional
Quão ruins podem ser dados ruins para a sua IA? Veja por si mesmo:
Problemas de qualidade de dados
Dados ruins podem sabotar sua aplicação e seus fluxos de trabalho com IA, com impactos sérios que vão além de apenas um usuário frustrado, mas isso não é surpresa.
Muitos de nós já imaginamos aproveitar a conveniência e a versatilidade dos large language models multimodais (LLMs) para explorar as ricas informações em imagens e vídeos. Fazer maravilhas, levar ao próximo nível, como diz o clichê. A visão computacional oferece esse tipo de oportunidade ilimitada para serviços novos e mais satisfatórios. Mas há desafios ao longo do caminho.
Um deles, crítico, é como selecionar dados melhores para o modelo certo a fim de obter resultados aprimorados. Há muito ajuste fino, tentativa e erro por força bruta no escuro devido à complexidade dos modelos e à alta dimensionalidade dos dados, desviando recursos da inovação.
E se pudéssemos trazer transparência e clareza aos fluxos de trabalho de IA visual, tornando-os rápidos e até divertidos? A Voxel51 assumiu isso como missão e entregou!
Como demonstrado por Jacob Marks, engenheiro de machine learning e evangelista de desenvolvedores na Voxel51 no SF Unstructured Data Meetup.
Tornando a IA Visual uma Realidade
A explosão de novos apps e serviços impulsionados por IA generativa e machine learning revelou a importância de aproveitar dados não estruturados e o papel dos bancos de dados vetoriais como algo revolucionário. Jacob Marks mostrou em sua apresentação como a integração de bancos de dados vetoriais com ferramentas como a Voxel51, e seu projeto open source FiftyOne, está revolucionando a exploração, visualização e curadoria de dados visuais para criar aplicações com IA de forma mais eficiente e mais confiável. Isso permite testar e avaliar modelos fornecendo a eles exatamente os conjuntos de dados de que precisam para garantir resultados robustos e precisos.
Tudo Começa com a Qualidade dos Dados
Por quê? Porque dados melhores levam a modelos melhores, acelerando o caminho para o sucesso.
“Nada impede mais o sucesso dos sistemas de machine learning do que dados de baixa qualidade", diz Jacob. Preparar dados e encontrar o modelo certo pode ser demorado e ineficiente sem as ferramentas certas. Mesmo engenheiros de ML qualificados precisam de boas ferramentas para criar conjuntos de dados e modelos de alta qualidade.
O FiftyOne simplifica o manuseio de dados visuais, tornando mais fácil e rápido entender operações, ajustes e resultados.
Você pode visualizar rótulos complexos, avaliar modelos, explorar cenários de interesse, identificar modos de falha e encontrar erros de anotação, entre outras tarefas. Isso é alcançado por meio de cadeias de LLM executadas em segundo plano, gerando embeddings e consultando um banco de dados vetorial.
Agora, vamos direto ao ponto!
De RAG à Riqueza: O Poder da Busca Vetorial
RAG é uma das razões que tornaram os bancos de dados vetoriais populares.
Retrieval-Augmented Generation (RAG) popularizou a busca vetorial ao aprimorar a precisão dos large language models. Ela combina modelos baseados em recuperação e generativos para melhorar a qualidade e a relevância do texto gerado.
Essa técnica usa LLM para converter o prompt do usuário em embeddings e compará-los aos embeddings vetoriais, permitindo a busca por similaridade semântica para respostas mais precisas e ricas em contexto.
RAG
Você pode comparar múltiplos vetores quanto à similaridade com as entradas de dados. Então, se você pegar duas entradas de texto, vetorizá-las e incorporá-las, poderá observar sua proximidade, independentemente das métricas usadas, distância euclidiana, similaridade de cosseno ou produto escalar.
Similaridade vetorial
Você também pode ter embeddings multimodais para lidar com diferentes tipos de dados juntos, como textos, imagens e vídeos no mesmo tipo de espaço.
Embeddings vetoriais
Busca Vetorial para Visão Computacional
A Voxel51 integrou o Milvus usando o Zilliz Cloud para liberar recursos de busca vetorial em conjuntos de dados visuais. Aqui estão alguns casos de uso poderosos:
Similaridade de Imagens: A busca por similaridade é um caso de uso comum e fica ainda mais fácil com a Voxel51.
Basta selecionar a imagem em que você está interessado no seu conjunto de dados e usá-la para buscar imagens semelhantes. Todas as etapas de embedding e consulta são feitas nos bastidores. Mantendo a experiência visual muito intuitiva e clicável. Por exemplo, você pode definir os atributos, como a métrica e o valor de k, selecionando-os na GUI.
Busca por similaridade de imagens
Com a mesma facilidade, você também pode fazer uma busca reversa usando uma imagem externa.
Digamos que você queira descobrir se tem um cão cane corso no seu conjunto de dados visual. Basta fornecer o URI da imagem, ela será automaticamente vetorizada e consultada por similaridade em relação ao conjunto de dados visual no espaço vetorial.
Busca reversa de imagens
Busca de objetos: Além de imagens inteiras, bancos de dados vetoriais podem lidar com recortes de detecção de objetos, permitindo buscas mais precisas dentro de subimagens. Isso é útil para tarefas como reconhecimento facial ou identificação de objetos em grandes conjuntos de dados.
Busca por similaridade de objetos
Como o foco de objeto da busca provavelmente não é a imagem inteira, computar embeddings para a imagem inteira pode ser menos eficaz porque ela nem sempre será semelhante aos embeddings do objeto.
Busca OCR: Outro caso de uso é um documento interativo de Reconhecimento Óptico de Caracteres (OCR). Você pode interagir visualmente com os embeddings de texto. Você pode ver de onde, em cada uma das páginas dos seus documentos, esses resultados vêm.
Busca robusta em documentos OCR
Recuperação Cross-modal: Ferramentas como o CLIP da OpenAI e o ImageBind da Meta permitem a combinação de embeddings de texto e imagem. Isso possibilita a recuperação cross-modal, em que os usuários podem buscar imagens usando embeddings de descrições de texto, embeddings de áudio etc., ou vice-versa. No exemplo dele, um clipe de áudio de um trem foi incorporado e então comparado a todas as imagens para encontrar trens no conjunto de dados.
Recuperação cross-modal
Similaridade Perceptual: A similaridade perceptual nos permite entender como diferentes modelos percebem o mundo comparando representações de modelos no espaço vetorial. Alguns modelos são muito semânticos, capturando detalhes e conceitos de alto nível, mas não a paleta da imagem no nível de pixel, como na imagem abaixo:
Investigando similaridade perceptual
A visão computacional mais tradicional implementada com redes neurais computacionais obtém todos os pixels e recortes, mas não capta corretamente nenhum significado, como você pode ver na imagem abaixo.
Investigando similaridade perceptual-2
Você pode comparar representações de modelos no espaço vetorial observando a distribuição dos resultados no espaço vetorial. Alguns modelos têm os resultados agrupados, enquanto outros talvez não. Eles veem o mundo de maneira diferente, e entender quando aplicar essas diferentes perspectivas é fundamental para a qualidade da sua IA.
Há Mais Inovação Chegando na Busca Vetorial Visual
Interpolação de Conceitos: A interpolação de conceitos pega dois conceitos de texto e interpola descobertas entre eles. No exemplo, os embeddings iniciais de um husky e de um chihuahua foram fornecidos para buscar qualquer coisa que pudesse se encaixar entre eles, incluindo um gato!
interpolação de conceitos
Travessia do Espaço de Conceitos: Com a travessia do espaço de conceitos, os usuários podem combinar e manipular embeddings para regular atributos no espaço de embeddings possíveis, como no exemplo, em que os atributos de saudabilidade e colorido são regulados na busca.
Travessia do espaço de conceitos
Muita coisa acontece nos bastidores para fazer a busca combinando embeddings para texto, imagens e outras modalidades com os atributos corretos no nível desejado, a fim de tornar o espaço de busca mais dinamicamente explorável, e tudo o que resta para você fazer é clicar ou deslizar até sua seleção. Simples assim!
Conclusão
Bancos de dados vetoriais são indispensáveis em visão computacional, oferecendo um mecanismo poderoso para ferramentas de conjuntos de dados visuais para exploração de dados, avaliação de modelos e busca inovadora usando embeddings multimodais, interpolação de conceitos e travessia. À medida que a IA continua a evoluir, a integração de bancos de dados vetoriais desempenhará um papel crucial na definição do futuro das tecnologias orientadas por dados não estruturados.
O céu é o limite, como diz Jacob. Coloque a mão na massa e divirta-se com IA visual impulsionada por um banco de dados vetorial com este prático tutorial.
Se você deseja aprender mais ou iniciar seu projeto de visão computacional, por exemplo, sinta-se à vontade para entrar em nosso canal do Discord. Oferecemos uma grande variedade de recursos e uma comunidade solidária para ajudá-lo a começar.
Continue lendo

Smarter Autoscaling in Zilliz Cloud: Always Optimized for Every Workload
With the latest upgrade, Zilliz Cloud introduces smarter autoscaling—a fully automated, more streamlined, elastic resource management system.

Zilliz Cloud Audit Logs Goes GA: Security, Compliance, and Transparency at Scale
Zilliz Cloud Audit Logs are now GA, giving enterprises real-time visibility, compliance-ready trails, and stronger security across AWS, GCP, and Azure.

AI Integration in Video Surveillance Tools: Transforming the Industry with Vector Databases
Discover how AI and vector databases are revolutionizing video surveillance with real-time analysis, faster threat detection, and intelligent search capabilities for enhanced security.



