Thu, Feb 15, 2024

YOLO-World – Visão Computacional avançada.

Entre várias tecnologias de redes neurais convolucionais, minha aposta sempre foi na técnica YOLO para visão computacional, tendo me especializado nesse método de detecção de objetos de passada única. Com a nova versão YOLO World, que agora apresenta maior eficiência graças ao seu vocabulário aberto, trago mais detalhes sobre o tema neste blog.

O Modelo YOLO-World apresenta um avanço significativo com a implementação do YOLOv8 em tempo real para tarefas de detecção com vocabulário aberto. Esta novidade possibilita a identificação de objetos em imagens utilizando descrições textuais. Com uma redução considerável nas demandas de processamento, sem comprometer a eficácia, o YOLO-World se estabelece como uma solução flexível para uma ampla gama de aplicações de visão computacional.

A seguir um teste efetuado no Espaço Intel localizado no Instituto Credicitrus. Vejam na imagem abaixo um convencional processamento com o método YOLO.

Agora o resultado do processamento com o método YOLO-World usando o vocabulário aberto.

Como resultado obtemos o processamento da classe particularmente desejada, ou seja pessoas com camisas azul. Poderíamos solicitar pessoas falando ao telefone, bebendo e outros.

YOLO-O World supera os obstáculos encontrados em modelos convencionais de detecção de vocabulário aberto, que frequentemente recorrem a complexos modelos Transformer exigindo vastos recursos computacionais. A limitação destes modelos a categorias predefinidas de objetos restringe também a sua aplicabilidade em ambientes mutáveis. YOLO-O World inova ao integrar a estrutura YOLOv8 com funcionalidades de detecção de vocabulário aberto, adotando técnicas de modelagem linguística visual e pré-treinamento em extensos conjuntos de dados, sobressaindo-se na identificação de uma ampla variedade de objetos em contextos de zero-shot com uma eficiência sem precedentes.

Principais características:

  • Solução em tempo real: Utilizando a eficácia das CNNs, o YOLO-World fornece detecção de vocabulário aberto de alta velocidade, ideal para setores que requerem respostas rápidas.
  • Eficiência e Alto Desempenho: O YOLO-World diminui a necessidade de recursos computacionais sem comprometer a qualidade, representando uma opção eficaz em comparação a modelos como o SAM, mas com muito menos exigência de processamento, viabilizando seu uso em aplicações dinâmicas.
  • Inferência com vocabulário offline: Implementando a técnica de “prompt-then-detect”, o YOLO-World usa um vocabulário offline para otimizar a eficiência. Essa metodologia permite a utilização de comandos personalizados, como legendas ou categorias, predefinidos e armazenados como um vocabulário offline integrado, facilitando o processo de detecção.
  • Potencializado por YOLOv8: Construído sobre a base do Ultralytics YOLOv8, o YOLO-World aproveita os avanços mais recentes em detecção de objetos em tempo real, proporcionando detecção de vocabulário aberto com precisão e rapidez excepcionais.
  • Superioridade em benchmarks: YOLO-World ultrapassa outros sistemas de detecção de vocabulário aberto, como MDETR e GLIP, em benchmarks de referência, demonstrando o desempenho avançado do YOLOv8 em uma única GPU NVIDIA V100, tanto em velocidade quanto em eficiência.
  • Aplicações Amplas: A metodologia inovadora do YOLO-World habilita novas capacidades para uma diversidade de tarefas de visão computacional, oferecendo avanços significativos em velocidade comparado aos métodos preexistentes.

Yolo com openCV:
https://docs.opencv.org/4.x/da/d9d/tutorial_dnn_yolo.html

Citações e agradecimentos

Parabenizo ao Tencent AILab Computer Vision Center pelo seu trabalho inédito na deteção de objetos de vocabulário aberto em tempo real com YOLO-World.

Paper : https://arxiv.org/pdf/2401.17270v2.pdf

Thu, Jan 25, 2024

OpenVINO 2023.3 lançado!

Em breve a minha imagem Linux batizada como JAX (Just Artificial Intelligence Extended), será uma distribuição baseada no openSUSE com IA pré-instalada para rodar em computadores modestos. Nesta imagem teremos recursos para utilizar a computação heterogênea com NVIDIA, Intel e futuros hardwares, e grande parte da mágica esta na tecnologia openVINO.

OpenVINO™ é uma sigla para “Open Visual Inference and Neural Network Optimization”. É uma plataforma de software livre da Intel que foi projetada para facilitar o desenvolvimento e a implantação de aplicações de inteligência artificial (IA), com foco em otimizar inferência de visão computacional e deep learning em uma variedade de dispositivos Intel. O objetivo do OpenVINO é permitir que os desenvolvedores acelerem suas aplicações de IA, otimizando para o hardware Intel, incluindo CPUs, GPUs integradas, FPGAs (Field Programmable Gate Arrays) e VPU (Unidades de Processamento Visual), como as Intel Movidius Neural Compute Sticks.

O software fornece uma série de ferramentas e pré-otimizações que visam melhorar o desempenho e a eficiência energética dos algoritmos de IA, permitindo que trabalhem de forma mais eficaz em hardware da Intel. Ele suporta modelos de deep learning de frameworks populares como TensorFlow, PyTorch, Caffe, MXNet, entre outros, convertendo-os para o formato intermediário do OpenVINO (IR), que é otimizado para execução eficiente em hardware da Intel.

A ideia é simplificar o processo de levar a IA do protótipo à solução final, reduzindo a necessidade de reescrever ou adaptar o código para cada tipo de hardware, permitindo assim que as aplicações tirem o máximo proveito da aceleração de hardware disponível.

Key Highlights: More Gen AI coverage and frameworks integrations to minimize code changes: Torch.compile is now fully integrated with OpenVINO, which now includes a hardware ‘options’ parameter allowing for seamless inferencing hardware selection by leveraging OpenVINO plugin architecture. Introducing OpenVINO Gen AI repository on GitHub that demonstrates native C and C++ pipeline samples for LLMs. We’ve started supporting string tensors as inputs and tokenizers natively to reduce overhead and ease of production. New and noteworthy models supported or enhanced in this release: Qwen, chatGLM3, Mistral, Zephyr, LCM, and Distil-Whisper. Broader LLM model support and more model compression techniques: As part of the Neural Network Compression Framework (NNCF), Int4 weight compression model formats are now fully supported on Intel® Xeon® CPUs in addition to Intel® Core™ and iGPU, adding more performance, lower memory usage, and accuracy opportunity when using LLMs. Improved performance of transformer based LLM on CPU using stateful model technique to increase memory efficiency where internal states are shared among multiple iterations of inference. Tokenizer and Torchvision transform support is now available in the OpenVINO runtime (via new API), requiring less preprocessing code and enhancing performance by automatically handling this model setup. More portability and performance to run AI at the edge, in the cloud or locally: Full support for 5th Generation Intel® Xeon® (codename Emerald Rapids), delivering on the AI everywhere promise. Further optimized performance on Intel® Core™ Ultra (codename Meteor Lake) CPU with latency hint by leveraging both P-core and E-cores. Improved performance on ARM platforms with throughput hint by increasing efficiency in usage of the CPU cores and memory bandwidth. Preview JavaScript API to enable node JS development to access JavaScript binding via source code. Improved model serving of LLMs through OpenVINO Model Server. This not only enables LLM serving over KServe v2 gRPC and REST APIs for more flexibility but also improves throughput by running processing like tokenization on the server side.

​Principais destaques:

  • Maior cobertura com IA Generativa e integrações de estruturas para minimizar alterações de código:
    • Torch.compile agora está totalmente integrado ao OpenVINO, que agora inclui um parâmetro de ‘opções’ de hardware que permite uma seleção de hardware de inferência perfeita, aproveitando a arquitetura do plugin OpenVINO.
    • Apresentando o repositório OpenVINO IA Generativa no GitHub que demonstra amostras de pipeline C e C++ nativos para LLMs. Começamos a oferecer suporte nativo a tensores de string como entradas e tokenizadores para reduzir a sobrecarga e facilitar a produção.
    • Modelos novos e notáveis suportados ou aprimorados nesta versão: Qwen, chatGLM3, Mistral, Zephyr, LCM e Distil-Whisper.
  • Suporte mais amplo ao modelo LLM e mais técnicas de compactação de modelo:
    • Como parte do Neural Network Compression Framework (NNCF), os formatos de modelo de compactação de peso Int4 agora são totalmente suportados em CPUs Intel® Xeon®, além de Intel® Core™ e iGPU, adicionando mais desempenho, menor uso de memória e oportunidade de precisão ao usar LLMs.
    • Melhor desempenho do LLM baseado em transformador na CPU usando técnica de modelo com estado para aumentar a eficiência da memória onde os estados internos são compartilhados entre múltiplas iterações de inferência.
    • O suporte à transformação Tokenizer e Torchvision agora está disponível no tempo de execução OpenVINO (por meio da nova API), exigindo menos código de pré-processamento e melhorando o desempenho ao lidar automaticamente com a configuração deste modelo.
  • Mais portabilidade e desempenho para executar IA na borda, na nuvem ou localmente:
    • Suporte total para Intel® Xeon® de 5ª geração (codinome Emerald Rapids), cumprindo a promessa de IA em todos os lugares.
    • Desempenho ainda mais otimizado na CPU Intel® Core™ Ultra (codinome Meteor Lake) com dica de latência, aproveitando os núcleos P e E.
    • Melhor desempenho em plataformas ARM com dica de rendimento, aumentando a eficiência no uso dos núcleos da CPU e largura de banda da memória.
    • Visualize a API JavaScript para permitir que o desenvolvimento JS do nó acesse a ligação JavaScript por meio do código-fonte.
    • Atendimento de modelo aprimorado de LLMs por meio do OpenVINO Model Server. Isso não apenas permite a veiculação do LLM por meio de APIs REST e gRPC do KServe v2 para maior flexibilidade, mas também melhora o rendimento ao executar processamento como tokenização no lado do servidor.

Mais informações no github: https://github.com/openvinotoolkit/openvino
Página oficial: https://docs.openvino.ai/2023.3/home.html
Instalação no openSUSE: https://en.opensuse.org/SDB:Install_OpenVINO

Tue, Jan 16, 2024

Musica criada por IA é destaque nas Rádios do Spotify.

Em uma iniciativa individual, estava decidindo qual tecnologia incluir no projeto JAX voltado para a criação musical. Durante a busca, avaliei várias opções como Muzic, MusicGen, stemgen, mustango, stableaudio, ultimatevocalremovergui, AudioLDM, musiclm-pytorch, dance-diffusion, Mubert-Text-to-Music, AIVA, Jukebox, magenta e audio-diffusion-pytorch. Nesse processo, descobri a plataforma SUNO, que começou a produzir músicas em português por volta de 29 de dezembro aproximadamente acho eu.

A criação da música levou cerca de 20 minutos, um processo acessível a qualquer pessoa, similar ao ChatGPT ou a geradores de imagens. É possível solicitar que a IA componha a música com base em um prompt ou fornecer versos e refrões específicos. Eu pedi uma música sobre pessoas tirando selfies no carnaval, com um ritmo pop carnavalesco. Segue abaixo o link com o resultado: https://distrokid.com/hyperfollow/jaxsuaia/carnaval-da-selfie

Abaixo o link das rádios onde a musica foi destaque:

Mon, Jan 08, 2024

Música para Carnaval criada com IA

Estou lançando o que pode ser o primeiro hit de carnaval em português do Brasil criado por inteligência artificial. Esta música reflete um aspecto contemporâneo do comportamento humano: a tendência de capturar e compartilhar momentos através de selfies, e a expectativa de receber curtidas em troca. Esta prática se tornou uma característica marcante da nossa sociedade digital.

Vivemos em uma era de mudanças sem precedentes, descrita como o momento mais disruptivo para a humanidade. As inovações tecnológicas estão abrindo portas para novas oportunidades e um significativo aumento na produtividade. Estas transformações estão redefinindo como vivemos e trabalhamos.

Um dos maiores benefícios desta era tecnológica é a contribuição da inteligência artificial para melhorar nossa qualidade de vida. A IA está cada vez mais capacitada para assumir tarefas repetitivas, liberando os seres humanos para se dedicarem a atividades mais criativas e significativas. Este avanço promete não apenas mais eficiência, mas também uma nova forma de experienciar o mundo.

Clique na imagem abaixo para ouvir a música

Em breve estará disponível JAX: A nossa IA!

Música para Carnaval criada 100% com IA

Estou lançando o que pode ser o primeiro hit de carnaval em português do Brasil criado por inteligência artificial. Esta música ( Carnaval da Selfie ) reflete um aspecto contemporâneo do comportamento humano: a tendência de capturar e compartilhar momentos através de selfies, e a expectativa de receber curtidas em troca. Esta prática se tornou uma característica marcante da nossa sociedade digital.

Vivemos em uma era de mudanças sem precedentes, descrita como o momento mais disruptivo para a humanidade. As inovações tecnológicas estão abrindo portas para novas oportunidades e um significativo aumento na produtividade. Estas transformações estão redefinindo como vivemos e trabalhamos.

Um dos maiores benefícios desta era tecnológica é a contribuição da inteligência artificial para melhorar nossa qualidade de vida. A IA está cada vez mais capacitada para assumir tarefas repetitivas, liberando os seres humanos para se dedicarem a atividades mais criativas e significativas. Este avanço promete não apenas mais eficiência, mas também uma nova forma de experienciar o mundo.

Clique na imagem abaixo para ouvir a música

Em breve estará disponível JAX: A nossa IA!

Thu, Jan 04, 2024

OpenCV 4.9.0 Lançada!

A biblioteca OpenCV lançou sua versão 4.9.0. Esta ferramenta, globalmente reconhecida e aplicada em diversos setores, foi originalmente apresentada ao mundo pela Intel no ano 2000. Hoje, conta com uma comunidade de mais de 47 mil contribuidores. E fiquei muito feliz de encontrar meu nome na lista de contribuidores deste release.

  • Core Module:
    • #23965 added cv::broadcast
    • #24163 Fixed several rounding issues on ARM platform
    • #24420 added detection & dispatching of some modern NEON instructions (NEON_FP16, NEON_BF16)
    • #23929 added optimization for LoongArch 128-bit vector, detection & dispatching of LoongArch

DNN module patches:

  • Experimental transformers support
  • #24476 ONNX Attention layer support
  • #24037 ONNX Einsum layer support
  • #23987 OpenVINO backend for INT8 models
  • #24092 ONNX Gather Elements layer
  • #24378 ONNX InstanceNorm layer
  • #24295 better support of ONNX Expand layer with cv::broadcast
  • #24463 #24577 #24483 Improved DNN graph fusion with shared nodes and commutative operations
  • #23897 #24694 #24509 New fastGEMM implementation and several layers on top of it
  • #23654 Winograd fp16 optimizations on ARM
  • Tests and multiple fixes for Yolo family models support
  • New layers support and bug fixes in CUDA backend: GEMM, Gelu, Add
  • #24462 CANN backend: bug fix, support HardSwish, LayerNormalization and InstanceNormalization
  • #24552 LayerNormalization: support OpenVINO, OpenCL and CUDA backend.

Objdetect module:

  • #24299 Implemented own QR code decoder as replacement for QUIRC library
  • #24364 Bug fixes in QR code encoder version estimation
  • #24355 More accurate Aruco marker corner refinement with dynamic window
  • #24479 Fixed contour filtering in ArUco
  • #24598 QR code detection sample for Android
  • Multiple local bug fixes and documentation update for Aruco makers, Charuco boards and QR codes.

Mais detalhes aqui : https://github.com/opencv/opencv/releases/tag/4.9.0

Sun, Dec 31, 2023

Feliz 2024

Imagem gerada 100% com IA, inclusive EU.

Sun, Dec 24, 2023

Sun, Dec 17, 2023

Stable Diffusion WebUI 1.70 disponível.

No dia 15 de dezembro, foi lançada a versão 1.70 do Stable Diffusion, um marco significativo para mim, pois tive a honra de contribuir, ainda que modestamente. Minha participação focou-se na compatibilização com as plataformas Linux openSUSE e Fedora, especificamente no uso da biblioteca TCMALLOC, no pull request #13936. A TCMalloc, desenvolvida com uma implementação alternativa das funções malloc() em C/ C++, utilizadas para alocação de memória nessas linguagens de programação. Essa biblioteca se destaca por ser uma solução malloc rápida e projetada para operações multithread, ou seja, otimizada para programação em sistema multi-nuclear. Os binários e os códigos-fonte da versão utilizada, estão disponíveis no repositório openSUSE for Innovators, oferecendo aos desenvolvedores acesso aprimorado e otimizado para essas plataformas neste link: https://build.opensuse.org/projects/home:cabelo:innovators/packages/gperftools/repositories/15.5/binaries .

Mais informações : https://github.com/AUTOMATIC1111/stable-diffusion-webui/releases/tag/v1.7.0

Wed, Dec 13, 2023

OWASP SP : Terceiro Virtual de 2023

Desafios e Empoderamento: Mulheres na Linha de Frente da Cibersegurança

O OWASP São Paulo Chapter está entusiasmado em anunciar mais um encontro virtual, focado em um tema crucial e inspirador: “Desafios e Empoderamento: Mulheres na Linha de Frente da Cibersegurança“. Este evento especial será marcado pela presença de três mulheres excepcionais que se destacam no cenário da cibersegurança: Eva Pereira, Paula Papis e Carolina Bozza.

O bate-papo será moderado pela Professora Ines Brosso e Patricia Sanches, e trará à tona temas relevantes de cibersegurança, será debatido também sobre os desafios extras que mulheres precisam enfrentar para entrar e crescer dentro da área de Segurança da Informação.

Acesse nossa pagina no LinkdIn para ver mais sobre os nossos convidados.

Este evento será um espaço inclusivo e esclarecedor, destacando não apenas a importância das mulheres na cibersegurança, mas também abordando desafios enfrentados por elas no campo profissional.

Este evento oferecerá uma oportunidade única para discutir, aprender e se inspirar com a experiência e a sabedoria dessas mulheres excepcionais na cibersegurança.

Marque em sua agenda e não perca esta oportunidade única de mergulhar no mundo da cibersegurança e do papel crucial que cada indivíduo desempenha na proteção dos dados e informações.

A transmissão será realizada ao vivo no canal do YouTube da OWASP São Paulo Chapter e pela nossa pagina do LinkedIn. Inscreva-se agora para receber atualizações e lembretes sobre este evento imperdível!

Fique ligado para mais detalhes e não deixe de participar deste diálogo fascinante sobre o fator humano na segurança digital. Nos vemos lá!