Avaliação de Modelos de Aprendizado Profundo para Detecção de Objetos em Dispositivos de Bordo
Um estudo sobre o desempenho de modelos de detecção de objetos em dispositivos de computação pequenos.
Daghash K. Alqahtani, Aamir Cheema, Adel N. Toosi
― 10 min ler
Índice
- Importância da Detecção de Objetos
- Desafios na Computação de Borda
- Avaliando Modelos de Detecção de Objetos
- Contribuições Principais
- Dispositivos de Borda
- Raspberry Pi
- Acelerador TPU
- NVIDIA Jetson
- Modelos de Deep Learning para Detecção de Objetos
- You Only Look Once (YOLO)
- Single Shot Multibox Detector (SSD)
- EfficientDet
- Metodologia para Avaliação de Desempenho
- Medição do Tempo de Inferência
- Medição do Consumo de Energia
- Avaliação do Modelo Usando o Dataset COCO
- Configuração Experimental
- Configuração de Hardware
- Software e Frameworks
- Procedimento Experimental
- Resultados
- Resultados do Consumo de Energia
- Resultados do Tempo de Inferência
- Resultados de Precisão
- Relações Entre Métricas
- Conclusões
- Fonte original
No mundo de hoje, muitos aplicativos usam tecnologia inteligente pra fazer tarefas como reconhecer objetos em imagens ou vídeos. Isso é especialmente importante em áreas como carros autônomos, onde as máquinas precisam identificar pedestres, outros veículos e obstáculos pra operar com segurança. Pra esses sistemas funcionarem rápido, eles costumam depender de modelos de deep learning que conseguem identificar objetos em tempo real. No entanto, rodar esses modelos em dispositivos pequenos com recursos limitados, como o Raspberry Pi ou Jetson Nano, traz alguns desafios.
Esse artigo analisa diferentes modelos de deep learning projetados para Detecção de Objetos e como eles se saem em vários dispositivos de computação pequenos. Vamos avaliar esses modelos em termos de velocidade, eficiência e quão precisamente eles detectam objetos.
Importância da Detecção de Objetos
Detecção de objetos é um aspecto chave da visão computacional, que permite às máquinas verem e entenderem o mundo ao redor. Ajuda as empresas a automatizar processos e tem várias aplicações em diferentes áreas. Por exemplo, na saúde, a detecção de objetos pode ajudar na análise de imagens médicas. Na agricultura, ajuda a monitorar as colheitas. Na manufatura, garante segurança e controle de qualidade.
Em carros autônomos, a detecção de objetos é crucial pra identificar o que tá ao redor do carro e tomar decisões rápidas pra evitar acidentes. Ela depende de computadores e sensores a bordo pra processar informações localmente, permitindo respostas rápidas pra navegação segura.
Desafios na Computação de Borda
Com a ascensão da computação de borda, muitos aplicativos agora conseguem rodar diretamente em dispositivos como smartphones e drones. Isso diminui a necessidade de enviar dados pra nuvem pra processamento, o que pode demorar. No entanto, criar sistemas de detecção de objetos eficazes pra esses dispositivos não é sem desafios. Os recursos são frequentemente limitados e o consumo de energia varia muito entre diferentes modelos e dispositivos.
Pesquisadores e desenvolvedores precisam escolher os modelos e dispositivos certos pra equilibrar desempenho e eficiência. Esse artigo avalia modelos populares de deep learning usados pra detecção de objetos, examinando sua efetividade em vários dispositivos de borda.
Avaliando Modelos de Detecção de Objetos
Esse artigo foca na avaliação de três modelos de deep learning bem conhecidos pra detecção de objetos: YOLOv8, EfficientDet Lite e SSD. Esses modelos serão testados em vários dispositivos de borda, incluindo o Raspberry Pi 3, 4 e 5, além do Jetson Orin Nano.
Vamos coletar informações importantes como consumo de energia dos modelos, velocidade de detecção (tempo de inferência) e precisão (medida usando a Média de Precisão Média ou mAP).
Contribuições Principais
Nosso trabalho envolve várias contribuições chave:
- Desenvolvimento de um serviço web pra processamento de imagens usando detecção de objetos.
- Uso de diferentes frameworks como PyTorch, TensorFlow Lite e TensorRT pra implantar modelos em dispositivos de borda.
- Avaliação da precisão dos modelos usando uma ferramenta chamada FiftyOne, junto com a medição do desempenho em vários dispositivos.
- Realização de testes de desempenho pra avaliar o consumo de energia e o tempo de inferência de diferentes modelos.
Dispositivos de Borda
Raspberry Pi
O Raspberry Pi é um computador pequeno e barato que pode se conectar a diversos acessórios como teclados e monitores. É muito usado em robótica, aplicações IoT e tarefas de processamento em tempo real. Os modelos mais recentes incluem o Raspberry Pi 3, 4 e 5. Cada nova versão melhora a velocidade, o manuseio de multimídia e a capacidade de memória.
Acelerador TPU
O Coral USB Accelerator é um dispositivo que funciona como um Edge TPU. Ele se conecta via USB e ajuda a acelerar tarefas de machine learning. O Edge TPU foi projetado especificamente pelo Google pra executar modelos em dispositivos pequenos como o Raspberry Pi, tornando os cálculos mais rápidos e eficientes.
NVIDIA Jetson
A série NVIDIA Jetson Orin é projetada pra computação de alto desempenho em máquinas que requerem inteligência artificial. Esses dispositivos conseguem lidar com muitas tarefas ao mesmo tempo e são perfeitos pra robótica avançada e aplicações. O Jetson Orin Nano é um modelo de entrada que foca na eficiência energética e no custo-benefício.
Modelos de Deep Learning para Detecção de Objetos
Modelos de deep learning pra detecção de objetos costumam usar redes neurais convolucionais (CNNs), que imitam a forma como o cérebro humano funciona. Essas redes consistem em diferentes camadas que processam informações, permitindo que o modelo identifique objetos com alta precisão enquanto requer ajustes manuais mínimos.
Existem duas categorias de modelos de detecção de objetos: detectores de um estágio e de dois estágios. Modelos de um estágio preveem a localização e a categoria de um objeto em uma única passagem, tornando-os mais rápidos e mais adequados para aplicações em tempo real. Exemplos de modelos de um estágio incluem YOLO, SSD e EfficientDet.
You Only Look Once (YOLO)
Introduzido em 2015, o YOLO é um desenvolvimento significativo na detecção de objetos em tempo real. Em vez de examinar várias seções de uma imagem individualmente, o YOLO processa a imagem inteira de uma vez pra prever caixas delimitadoras e classes de objetos. Esse método permite uma detecção mais rápida, tornando-o ideal pra aplicações sensíveis ao tempo. O YOLO evoluiu através de várias iterações, sendo o YOLOv8 a versão mais recente, oferecendo melhor precisão e velocidade.
Single Shot Multibox Detector (SSD)
O algoritmo SSD também prevê várias caixas delimitadoras e pontuações de classe em uma única passagem. Ele usa mapas de características de diferentes camadas da rede pra permitir a detecção em diferentes escalas. Essa capacidade ajuda a identificar objetos de vários tamanhos de forma mais eficaz.
EfficientDet
O EfficientDet, desenvolvido pelo Google, é projetado pra ser eficiente e escalável. Usando um método que escalona profundidade, largura e resolução, ele equilibra desempenho com custos computacionais mais baixos. Os modelos EfficientDet estão disponíveis em várias versões, cada uma otimizada para diferentes restrições de recursos.
Metodologia para Avaliação de Desempenho
A avaliação de desempenho inclui testar os modelos em vários dispositivos de borda - especificamente o Raspberry Pi 3, 4, 5 e o Jetson Orin Nano. A avaliação foca em três métricas principais: tempo de inferência, consumo de energia e Média de Precisão Média (mAP).
Medição do Tempo de Inferência
O tempo de inferência mede quanto tempo leva pra um modelo processar uma imagem de entrada e fornecer resultados de detecção. É crucial pra aplicações que requerem respostas em tempo real. Vamos relatar quanto tempo cada modelo leva em milissegundos.
Medição do Consumo de Energia
O consumo de energia é avaliado pra determinar quão eficientemente cada modelo opera em diferentes dispositivos de borda. Vamos comparar o uso de energia dos dispositivos quando estão ociosos e quando estão rodando os modelos. Essa métrica é essencial pra dispositivos alimentados por bateria, onde a economia de energia pode ser crítica.
Avaliação do Modelo Usando o Dataset COCO
Pra examinar a precisão dos modelos, vamos usar um dataset de validação que contém várias imagens. A ferramenta FiftyOne ajuda a avaliar essa precisão comparando as detecções dos modelos com referências conhecidas. Vamos olhar várias métricas, incluindo Precisão, Recall, F1 score e mAP.
Configuração Experimental
Configuração de Hardware
Nossas experiências envolvem vários dispositivos de borda pra avaliar o desempenho dos modelos. Selecionamos dispositivos populares e acessíveis como o Raspberry Pi 3, 4 e 5. Pra melhorar suas capacidades computacionais, usamos Google Coral USB Accelerators. Pra comparações de alto desempenho, incluímos o NVIDIA Jetson Orin Nano.
Software e Frameworks
Diferentes ferramentas de software e frameworks são empregadas pra rodar os modelos nos dispositivos de borda. A escolha do software depende de otimizar o desempenho pra dispositivos específicos. Por exemplo, usamos o PyTorch pra implantar modelos YOLO, enquanto TensorFlow Lite é usado pra rodar modelos EfficientDet e SSD no Raspberry Pi.
Procedimento Experimental
O procedimento experimental envolve várias etapas. Primeiro, medimos o consumo de energia base de cada dispositivo sem nenhuma carga computacional. Em seguida, rodamos nosso serviço de detecção de objetos e coletamos dados sobre o uso total de energia enquanto medimos os tempos de inferência pra cada modelo. Finalmente, utilizamos a ferramenta FiftyOne pra avaliar a precisão processando o dataset de validação COCO.
Resultados
Resultados do Consumo de Energia
Descobrimos que o Raspberry Pi 3 tem o maior consumo de energia, com 270 mWh, comparado com 199 mWh para o Pi 4 e 217 mWh para o Pi 5. O Jetson Orin Nano tem o maior consumo de energia base, com 362 mWh. Ao examinar o consumo de energia por solicitação, os modelos YOLO tendem a consumir mais energia do que os modelos EfficientDet e SSD.
Resultados do Tempo de Inferência
O modelo SSD no Raspberry Pi 3 tem o menor tempo de inferência, com 427 milissegundos. Os modelos YOLO são mais lentos, com o tempo máximo registrado acima de 12.000 milissegundos. A integração do TPU melhora significativamente o desempenho, com SSD v1 alcançando o menor tempo de apenas 61 milissegundos quando emparelhado com um Raspberry Pi 3.
Resultados de Precisão
O modelo SSD apresentou a menor mAP, com 19, enquanto o modelo YOLOv8 teve a maior, com 44. Ao rodar modelos YOLO em dispositivos Raspberry Pi com aceleração TPU, a precisão diminuiu em algumas configurações. O Jetson Orin Nano exibiu padrões de precisão comparáveis para os modelos YOLO, mas mostrou pequenas quedas de desempenho para outros modelos.
Relações Entre Métricas
Observamos que o consumo de energia e o tempo de inferência estão frequentemente relacionados. Conforme os tempos de inferência diminuem, o consumo de energia tende a se manter baixo também para certos modelos. O Jetson Orin Nano superou outros dispositivos em eficiência energética ao examinar os diferentes modelos.
Conclusões
Essa avaliação mostra que há um trade-off entre precisão, consumo de energia e tempo de inferência ao usar diferentes modelos de detecção de objetos em dispositivos de borda. O modelo SSD é o mais eficiente em termos de energia e o mais rápido, mas não é tão preciso quanto outros modelos. O Jetson Orin Nano se destaca como a melhor opção pra equilibrar velocidade, eficiência e precisão com os modelos YOLOv8.
Explorações futuras envolverão testar modelos quantizados em dispositivos de borda, já que otimizações podem mudar significativamente os resultados de desempenho. Ao continuar avaliando como esses modelos se saem em vários dispositivos, podemos fornecer melhores recomendações pra desenvolvedores e pesquisadores que procuram implementar sistemas de detecção de objetos em aplicações do mundo real.
Título: Benchmarking Deep Learning Models for Object Detection on Edge Computing Devices
Resumo: Modern applications, such as autonomous vehicles, require deploying deep learning algorithms on resource-constrained edge devices for real-time image and video processing. However, there is limited understanding of the efficiency and performance of various object detection models on these devices. In this paper, we evaluate state-of-the-art object detection models, including YOLOv8 (Nano, Small, Medium), EfficientDet Lite (Lite0, Lite1, Lite2), and SSD (SSD MobileNet V1, SSDLite MobileDet). We deployed these models on popular edge devices like the Raspberry Pi 3, 4, and 5 with/without TPU accelerators, and Jetson Orin Nano, collecting key performance metrics such as energy consumption, inference time, and Mean Average Precision (mAP). Our findings highlight that lower mAP models such as SSD MobileNet V1 are more energy-efficient and faster in inference, whereas higher mAP models like YOLOv8 Medium generally consume more energy and have slower inference, though with exceptions when accelerators like TPUs are used. Among the edge devices, Jetson Orin Nano stands out as the fastest and most energy-efficient option for request handling, despite having the highest idle energy consumption. These results emphasize the need to balance accuracy, speed, and energy efficiency when deploying deep learning models on edge devices, offering valuable guidance for practitioners and researchers selecting models and devices for their applications.
Autores: Daghash K. Alqahtani, Aamir Cheema, Adel N. Toosi
Última atualização: 2024-09-25 00:00:00
Idioma: English
Fonte URL: https://arxiv.org/abs/2409.16808
Fonte PDF: https://arxiv.org/pdf/2409.16808
Licença: https://creativecommons.org/licenses/by-nc-sa/4.0/
Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.
Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.