Fale conosco

Sumário

    YOLO (You Only Look Once) | Detecção de Objetos em Tempo Real com Deep Learning

    4/07/2019
    5 min. de leitura

    O que é YOLO?

    A detecção de objetos em imagens e vídeos é uma das tarefas mais desafiadoras no campo da visão computacional e inteligência artificial. Nos últimos anos, o algoritmo YOLO (You Only Look Once) revolucionou essa área, oferecendo uma abordagem inovadora e eficiente para a identificação e localização de objetos em tempo real. Neste artigo, vamos explorar o que é o YOLO, como ele funciona e como ele se diferencia dos métodos tradicionais de detecção de objetos, como os utilizados em redes neurais convolucionais (CNNs).

    A Evolução da Detecção de Objetos

    Antes do surgimento do YOLO, as técnicas tradicionais de detecção de objetos eram baseadas em classificadores regionais e redes neurais convolucionais (CNNs). Esses métodos, conhecidos como “deep learning clássico”, operavam dividindo a imagem em várias regiões menores e aplicando classificadores em cada uma delas. Esse processo, embora eficaz, é frequentemente lentificador e exige uma quantidade significativa de poder computacional, o que limita sua aplicação em cenários de tempo real ou em dispositivos com hardware restrito.

    Além disso, esses modelos dependem de estratégias de múltiplas etapas, o que pode gerar atrasos e inconsistências na detecção. A visão computacional em tempo real era um desafio, especialmente em aplicações como veículos autônomos, monitoramento de segurança e análise de vídeos ao vivo.

    O Algoritmo YOLO: Uma Revolução na Detecção de Objetos

    O YOLO (You Only Look Once) foi desenvolvido para resolver essas limitações. Ao contrário das abordagens anteriores, o YOLO transforma o problema de detecção de objetos em uma tarefa de regressão única, em que toda a imagem é processada de uma vez. Em vez de analisar a imagem em partes ou aplicar múltiplos classificadores, o YOLO divide a imagem em uma grade e, para cada célula da grade, prevê as caixas delimitadoras e as probabilidades das classes dos objetos presentes. Isso permite que o modelo faça a detecção de múltiplos objetos em uma única passagem, sem a necessidade de examinar várias regiões da imagem.

    Vantagens do YOLO na Detecção de Objetos

    1. Velocidade: O principal benefício do YOLO é sua capacidade de realizar detecção de objetos em tempo real. Isso é possível porque o modelo processa a imagem de forma global, em vez de trabalhar em várias etapas. Essa abordagem resulta em um tempo de inferência muito mais rápido, o que é crucial para muitas aplicações práticas, como vigilância, drones e carros autônomos.

    2. Precisão e Eficiência: Ao prever simultaneamente várias classes e caixas delimitadoras para objetos em uma única operação, o YOLO alcança um bom equilíbrio entre precisão e velocidade. Ele consegue detectar objetos de diferentes tamanhos e formas de maneira eficiente, com menos sobrecarga computacional comparado a outros métodos.

    3. Desempenho em Tempo Real: Devido à sua estrutura simplificada, o YOLO é capaz de rodar em dispositivos com limitações de hardware, como câmeras de segurança e drones, sem sacrificar a qualidade da detecção. Dependendo do hardware utilizado, é possível até realizar detecção de objetos em vídeos em alta resolução.

    4. Modelo Unificado: Diferente de outras abordagens, que exigem treinamento de vários modelos ou etapas para cada fase do processo, o YOLO oferece uma solução end-to-end, onde o treinamento é realizado em uma única rede neural, tornando o processo mais eficiente e direto.

    Como o YOLO Funciona?

    O YOLO usa uma rede neural convolucional (CNN) para analisar a imagem como um todo. A rede é treinada para dividir a imagem em uma grade de células (geralmente 7x7 ou 13x13 dependendo da resolução da entrada). Cada célula é responsável por detectar objetos cujo centro esteja dentro da célula. A saída do modelo inclui:

    • Caixas delimitadoras: Coordenadas de retângulo que cercam o objeto detectado.
    • Probabilidades de classe: A classe do objeto (por exemplo, "pessoa", "carro", "cachorro").
    • Pontuação de confiança: Indica a certeza do modelo sobre a presença de um objeto e a precisão da caixa delimitadora.

    Ao realizar todas essas operações em uma única execução, o YOLO é capaz de reduzir significativamente o tempo de processamento e permitir a detecção em tempo real.

    Aplicações do YOLO

    O YOLO tem sido amplamente adotado em várias áreas devido à sua eficácia e rapidez. Algumas das aplicações mais notáveis incluem:

    • Veículos Autônomos: Detecção de pedestres, outros veículos e obstáculos em tempo real para garantir a navegação segura de carros autônomos.
    • Segurança e Vigilância: Monitoramento de câmeras de segurança para identificar e rastrear indivíduos ou comportamentos suspeitos em tempo real.
    • Medicina: Análise de imagens médicas, como raios-X ou tomografias, para identificar anomalias e doenças.
    • Indústria e Robótica: Uso em sistemas de controle de qualidade, onde a detecção automática de defeitos é essencial.

    YOLO em Diferentes Versões: De YOLOv1 a YOLOv8

    Desde a sua criação, o YOLO passou por várias atualizações e melhorias. As versões mais recentes, como o YOLOv4 e YOLOv5, trouxeram avanços significativos em termos de precisão, eficiência e flexibilidade. Cada nova versão aprimora a capacidade do algoritmo de detectar objetos em diferentes contextos e com diferentes tipos de imagens, além de otimizar o uso de recursos computacionais.

    A versão YOLOv5, por exemplo, trouxe melhorias em design de rede, treinamento de dados e suporte a diferentes dispositivos. Com o tempo, versões mais novas como YOLOv7 e YOLOv8 continuaram a melhorar a velocidade, a precisão e a robustez do modelo

    Veja também:

    Redes Neurais e Deep Learning impulsionam a automação industrial