Salta para o conte√ļdo

YOLOv4: Deteção de objectos precisa e a alta velocidade

Bem-vindo √† p√°gina de documenta√ß√£o Ultralytics para o YOLOv4, um detetor de objectos em tempo real de √ļltima gera√ß√£o lan√ßado em 2020 por Alexey Bochkovskiy em https://github.com/AlexeyAB/darknet. O YOLOv4 foi concebido para proporcionar o equil√≠brio ideal entre velocidade e precis√£o, tornando-o uma excelente escolha para muitas aplica√ß√Ķes.

Diagrama da arquitetura do YOLOv4 Diagrama da arquitetura do YOLOv4. Apresenta o intrincado design de rede do YOLOv4, incluindo os componentes de espinha dorsal, pescoço e cabeça, e as suas camadas interligadas para uma deteção óptima de objectos em tempo real.

Introdução

YOLOv4 significa You Only Look Once vers√£o 4. Trata-se de um modelo de dete√ß√£o de objectos em tempo real desenvolvido para resolver as limita√ß√Ķes das vers√Ķes anteriores do YOLO , como o YOLOv3 e outros modelos de dete√ß√£o de objectos. Ao contr√°rio de outros detectores de objectos baseados em redes neuronais convolucionais (CNN), o YOLOv4 n√£o √© apenas aplic√°vel a sistemas de recomenda√ß√£o, mas tamb√©m √† gest√£o de processos aut√≥nomos e √† redu√ß√£o de entradas humanas. O seu funcionamento em unidades de processamento gr√°fico (GPU) convencionais permite uma utiliza√ß√£o em massa a um pre√ßo acess√≠vel, e foi concebido para funcionar em tempo real numa GPU convencional, necessitando apenas de uma GPU para o treino.

Arquitetura

O YOLOv4 utiliza v√°rias caracter√≠sticas inovadoras que trabalham em conjunto para otimizar o seu desempenho. Estas incluem Liga√ß√Ķes-Residuais-Ponderadas (WRC), Liga√ß√Ķes-Parciais-Cruzadas (CSP), Normaliza√ß√£o de Mini-Lotes-Cruzados (CmBN), Treino Auto-Adversarial (SAT), Ativa√ß√£o de erros, Aumento de dados em mosaico, Regulariza√ß√£o DropBlock e Perda CIoU. Estas caracter√≠sticas s√£o combinadas para obter resultados de √ļltima gera√ß√£o.

Um detetor de objectos t√≠pico √© composto por v√°rias partes, incluindo a entrada, a espinha dorsal, o pesco√ßo e a cabe√ßa. A espinha dorsal do YOLOv4 √© pr√©-treinada no ImageNet e √© utilizada para prever classes e caixas delimitadoras de objectos. A espinha dorsal pode ser de v√°rios modelos, incluindo VGG, ResNet, ResNeXt ou DenseNet. A parte do pesco√ßo do detetor √© utilizada para recolher mapas de caracter√≠sticas de diferentes fases e inclui normalmente v√°rios caminhos ascendentes e v√°rios caminhos descendentes. A parte da cabe√ßa √© utilizada para fazer as detec√ß√Ķes e classifica√ß√Ķes finais dos objectos.

Saco de brindes

O YOLOv4 tamb√©m utiliza m√©todos conhecidos como "bag of freebies", que s√£o t√©cnicas que melhoram a precis√£o do modelo durante o treino sem aumentar o custo da infer√™ncia. O aumento de dados √© uma t√©cnica comum de "bag of freebies" utilizada na dete√ß√£o de objectos, que aumenta a variabilidade das imagens de entrada para melhorar a robustez do modelo. Alguns exemplos de aumento de dados incluem distor√ß√Ķes fotom√©tricas (ajustando o brilho, o contraste, a tonalidade, a satura√ß√£o e o ru√≠do de uma imagem) e distor√ß√Ķes geom√©tricas (adicionando escalas aleat√≥rias, recortando, invertendo e rodando). Estas t√©cnicas ajudam o modelo a generalizar-se melhor para diferentes tipos de imagens.

Características e desempenho

O YOLOv4 foi concebido para uma velocidade e precis√£o √≥ptimas na dete√ß√£o de objectos. A arquitetura do YOLOv4 inclui a CSPDarknet53 como espinha dorsal, a PANet como pesco√ßo e o YOLOv3 como cabe√ßa de dete√ß√£o. Este design permite que o YOLOv4 execute a dete√ß√£o de objectos a uma velocidade impressionante, tornando-o adequado para aplica√ß√Ķes em tempo real. O YOLOv4 tamb√©m se destaca em precis√£o, alcan√ßando resultados de √ļltima gera√ß√£o em benchmarks de dete√ß√£o de objetos.

Exemplos de utilização

No momento em que este artigo foi escrito, Ultralytics n√£o suporta atualmente os modelos YOLOv4. Por conseguinte, qualquer utilizador interessado em utilizar o YOLOv4 ter√° de consultar diretamente o reposit√≥rio GitHub do YOLOv4 para obter instru√ß√Ķes de instala√ß√£o e utiliza√ß√£o.

Segue-se uma breve descrição dos passos típicos que poderás seguir para utilizar o YOLOv4:

  1. Visita o repositório GitHub do YOLOv4: https://github.com/AlexeyAB/darknet.

  2. Segue as instru√ß√Ķes fornecidas no ficheiro README para a instala√ß√£o. Normalmente, isso envolve a clonagem do reposit√≥rio, a instala√ß√£o das depend√™ncias necess√°rias e a configura√ß√£o de quaisquer vari√°veis de ambiente necess√°rias.

  3. Quando a instala√ß√£o estiver conclu√≠da, podes treinar e utilizar o modelo de acordo com as instru√ß√Ķes de utiliza√ß√£o fornecidas no reposit√≥rio. Normalmente, isto envolve a prepara√ß√£o do conjunto de dados, a configura√ß√£o dos par√Ęmetros do modelo, o treino do modelo e, em seguida, a utiliza√ß√£o do modelo treinado para efetuar a dete√ß√£o de objectos.

Tem em aten√ß√£o que os passos espec√≠ficos podem variar consoante o teu caso de utiliza√ß√£o espec√≠fico e o estado atual do reposit√≥rio YOLOv4. Por conseguinte, recomenda-se vivamente que consultes diretamente as instru√ß√Ķes fornecidas no reposit√≥rio GitHub do YOLOv4.

Lamentamos qualquer inconveniente que isto possa causar e esforçar-nos-emos por atualizar este documento com exemplos de utilização para Ultralytics assim que o suporte para YOLOv4 for implementado.

Conclus√£o

O YOLOv4 √© um modelo de dete√ß√£o de objectos poderoso e eficiente que consegue um equil√≠brio entre velocidade e precis√£o. A sua utiliza√ß√£o de caracter√≠sticas √ļnicas e de t√©cnicas de "bag of freebies" durante o treino permite-lhe ter um excelente desempenho em tarefas de dete√ß√£o de objectos em tempo real. O YOLOv4 pode ser treinado e utilizado por qualquer pessoa com uma GPU convencional, tornando-o acess√≠vel e pr√°tico para uma vasta gama de aplica√ß√Ķes.

Cita√ß√Ķes e agradecimentos

Gostar√≠amos de agradecer aos autores do YOLOv4 pelas suas contribui√ß√Ķes significativas no dom√≠nio da dete√ß√£o de objectos em tempo real:

@misc{bochkovskiy2020yolov4,
      title={YOLOv4: Optimal Speed and Accuracy of Object Detection},
      author={Alexey Bochkovskiy and Chien-Yao Wang and Hong-Yuan Mark Liao},
      year={2020},
      eprint={2004.10934},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

O artigo original do YOLOv4 pode ser encontrado no arXiv. Os autores tornaram o seu trabalho publicamente disponível e a base de código pode ser acedida no GitHub. Agradecemos os seus esforços para fazer avançar o campo e tornar o seu trabalho acessível à comunidade em geral.



Criado em 2023-11-12, Atualizado em 2024-01-07
Autores: glenn-jocher (6), sergiuwaxmann (1)

Coment√°rios