toco YOLOv7: O algoritmo de detecção de objetos mais avançado? - Unite.AI
Entre em contato

Inteligência artificial

YOLOv7: O algoritmo de detecção de objetos mais avançado?

mm

Publicado

 on

O dia 6 de julho de 2022 será marcado como um marco na história da IA ​​porque foi neste dia que o YOLOv7 foi lançado. Desde o seu lançamento, o YOLOv7 tem sido o tema mais quente na comunidade de desenvolvedores de Visão Computacional, e pelos motivos certos. O YOLOv7 já é considerado um marco na indústria de detecção de objetos. 

Pouco tempo após o O artigo YOLOv7 foi publicado, ele se revelou o modelo de detecção de objeções em tempo real mais rápido e preciso. Mas como o YOLOv7 supera seus predecessores? O que torna o YOLOv7 tão eficiente na execução de tarefas de visão computacional? 

Neste artigo, tentaremos analisar o modelo YOLOv7 e tentar encontrar a resposta para por que o YOLOv7 agora está se tornando padrão da indústria? Mas antes que possamos responder a isso, teremos que dar uma olhada no breve histórico da detecção de objetos. 

O que é detecção de objetos?

A detecção de objetos é um ramo da visão computacional que identifica e localiza objetos em uma imagem ou arquivo de vídeo. A detecção de objetos é o alicerce de inúmeras aplicações, incluindo carros autônomos, vigilância monitorada e até robótica. 

Um modelo de detecção de objetos pode ser classificado em duas categorias diferentes, detectores de tiro único, e detectores multi-shot. 

Detecção de objetos em tempo real

Para entender verdadeiramente como o YOLOv7 funciona, é essencial entendermos o objetivo principal do YOLOv7, “Detecção de objetos em tempo real”. A detecção de objetos em tempo real é um componente chave da visão computacional moderna. Os modelos de detecção de objetos em tempo real tentam identificar e localizar objetos de interesse em tempo real. Os modelos de detecção de objetos em tempo real tornaram realmente eficiente para os desenvolvedores rastrear objetos de interesse em um quadro em movimento, como um vídeo ou uma entrada de vigilância ao vivo. 

Os modelos de detecção de objetos em tempo real estão essencialmente um passo à frente dos modelos convencionais de detecção de imagens. Enquanto o primeiro é usado para rastrear objetos em arquivos de vídeo, o último localiza e identifica objetos dentro de um quadro estacionário como uma imagem. 

Como resultado, os modelos de detecção de objetos em tempo real são realmente eficientes para análise de vídeo, veículos autônomos, contagem de objetos, rastreamento de vários objetos e muito mais. 

O que é YOLO?

YOLO ou “Você só olha uma vez” é uma família de modelos de detecção de objetos em tempo real. O conceito YOLO foi introduzido pela primeira vez em 2016 por Joseph Redmon, e foi o assunto da cidade quase instantaneamente porque era muito mais rápido e muito mais preciso do que os algoritmos de detecção de objetos existentes. Não demorou muito para que o algoritmo YOLO se tornasse um padrão na indústria de visão computacional. 

O conceito fundamental que o algoritmo YOLO propõe é usar uma rede neural de ponta a ponta usando caixas delimitadoras e probabilidades de classe para fazer previsões em tempo real. O YOLO era diferente do modelo de detecção de objetos anterior no sentido de que propunha uma abordagem diferente para realizar a detecção de objetos redefinindo os classificadores. 

A mudança na abordagem funcionou, pois o YOLO logo se tornou o padrão da indústria, pois a diferença de desempenho entre si e outros algoritmos de detecção de objetos em tempo real eram significativos. Mas qual foi a razão pela qual o YOLO foi tão eficiente? 

Quando comparados ao YOLO, os algoritmos de detecção de objetos da época usavam redes de proposta de região para detectar possíveis regiões de interesse. O processo de reconhecimento foi então realizado em cada região separadamente. Como resultado, esses modelos geralmente executam várias iterações na mesma imagem e, portanto, a falta de precisão e maior tempo de execução. Por outro lado, o algoritmo YOLO usa uma única camada totalmente conectada para realizar a previsão de uma só vez. 

Como funciona o Yolo?

Existem três etapas que explicam como funciona um algoritmo YOLO. 

Reenquadrando a detecção de objetos como um único problema de regressão

A O algoritmo YOLO tenta reformular a detecção de objetos como um único problema de regressão, incluindo pixels de imagem, para probabilidades de classe e coordenadas de caixa delimitadora. Portanto, o algoritmo precisa olhar para a imagem apenas uma vez para prever e localizar os objetos-alvo nas imagens. 

Raciocina a Imagem Globalmente

Além disso, quando o algoritmo YOLO faz previsões, ele raciocina a imagem globalmente. É diferente das técnicas baseadas em proposta de região e deslizantes, pois o algoritmo YOLO vê a imagem completa durante o treinamento e o teste no conjunto de dados e é capaz de codificar informações contextuais sobre as classes e como elas aparecem. 

Antes do YOLO, o Fast R-CNN era um dos algoritmos de detecção de objetos mais populares que não conseguia ver o contexto maior na imagem porque costumava confundir manchas de fundo em uma imagem com um objeto. Quando comparado ao algoritmo Fast R-CNN, o YOLO é 50% mais preciso quando se trata de erros de fundo. 

Generaliza Representação de Objetos

Finalmente, o algoritmo YOLO também visa generalizar as representações de objetos em uma imagem. Como resultado, quando um algoritmo YOLO foi executado em um conjunto de dados com imagens naturais e testado para os resultados, o YOLO superou os modelos R-CNN existentes por uma ampla margem. É porque YOLO é altamente generalizável, as chances de quebrar quando implementadas em entradas inesperadas ou novos domínios eram pequenas. 

YOLOv7: O que há de novo?

Agora que temos uma compreensão básica do que são os modelos de detecção de objetos em tempo real e o que é o algoritmo YOLO, é hora de discutir o algoritmo YOLOv7. 

Otimizando o Processo de Treinamento

O algoritmo YOLOv7 não apenas tenta otimizar a arquitetura do modelo, mas também visa otimizar o processo de treinamento. O objetivo é usar módulos e métodos de otimização para melhorar a precisão da detecção de objetos, aumentando o custo de treinamento e mantendo o custo de interferência. Esses módulos de otimização podem ser chamados de saco treinável de brindes. 

Atribuição de etiqueta guiada de grosso a fino

O algoritmo YOLOv7 planeja usar uma nova atribuição de rótulo guiada de chumbo grosso a fino em vez do convencional Atribuição dinâmica de rótulos. Isso ocorre porque, com a atribuição dinâmica de rótulos, o treinamento de um modelo com várias camadas de saída causa alguns problemas, sendo o mais comum como atribuir alvos dinâmicos para diferentes ramificações e suas saídas. 

Reparametrização do modelo

A reparametrização do modelo é um conceito importante na detecção de objetos, e seu uso é geralmente seguido com alguns problemas durante o treinamento. O algoritmo YOLOv7 planeja usar o conceito de caminho de propagação de gradiente para analisar as políticas de reparametrização do modelo aplicáveis ​​a diferentes camadas da rede. 

Ampliar e escalar compostos

O algoritmo YOLOv7 também introduz o métodos de escalonamento estendido e composto para utilizar e usar efetivamente os parâmetros e cálculos para detecção de objetos em tempo real. 

YOLOv7: Trabalho Relacionado

Detecção de objetos em tempo real

YOLO é atualmente o padrão da indústria, e a maioria dos detectores de objetos em tempo real implementam algoritmos YOLO e FCOS (Fully Convolutional One-Stage Object-Detection). Um detector de objetos em tempo real de última geração geralmente tem as seguintes características

  • Arquitetura de rede mais forte e mais rápida. 
  • Um método eficaz de integração de recursos. 
  • Um método preciso de detecção de objetos. 
  • Uma função de perda robusta. 
  • Um método eficiente de atribuição de etiquetas. 
  • Um método de treinamento eficiente. 

O algoritmo YOLOv7 não usa métodos de aprendizado e destilação auto-supervisionados que geralmente requerem grandes quantidades de dados. Por outro lado, o algoritmo YOLOv7 usa um método de bolsa de brindes treinável. 

Reparametrização do modelo

As técnicas de reparametrização de modelos são consideradas técnicas de ensemble que mesclam vários módulos computacionais em um estágio de interferência. A técnica pode ser dividida em duas categorias, conjunto em nível de modelo, e conjunto de nível de módulo. 

Agora, para obter o modelo de interferência final, a técnica de reparametrização em nível de modelo usa duas práticas. A primeira prática usa dados de treinamento diferentes para treinar vários modelos idênticos e, em seguida, calcula a média dos pesos dos modelos treinados. Alternativamente, a outra prática calcula a média dos pesos dos modelos durante diferentes iterações. 

A reparametrização em nível de módulo está ganhando imensa popularidade recentemente porque divide um módulo em diferentes ramificações de módulo, ou diferentes ramificações idênticas durante a fase de treinamento e, em seguida, integra essas diferentes ramificações em um módulo equivalente durante a interferência. 

No entanto, as técnicas de reparametrização não podem ser aplicadas a todos os tipos de arquitetura. É a razão pela qual o O algoritmo YOLOv7 usa novas técnicas de reparametrização de modelo para projetar estratégias relacionadas adequado para diferentes arquiteturas. 

Dimensionamento do modelo

O dimensionamento do modelo é o processo de aumentar ou diminuir a escala de um modelo existente para que ele se encaixe em diferentes dispositivos de computação. O dimensionamento do modelo geralmente usa uma variedade de fatores, como número de camadas (profundidade), tamanho das imagens de entrada (resolução), número de pirâmides características (etapa) e número de canais (largura). Esses fatores desempenham um papel crucial na garantia de um equilíbrio entre parâmetros de rede, velocidade de interferência, computação e precisão do modelo. 

Um dos métodos de dimensionamento mais comumente usados ​​é NAS ou pesquisa de arquitetura de rede que procura automaticamente fatores de escala adequados nos mecanismos de pesquisa sem regras complicadas. A principal desvantagem de usar o NAS é que é uma abordagem cara para procurar fatores de dimensionamento adequados. 

Quase todos os modelos de reparametrização analisam fatores de escala individuais e exclusivos de forma independente e, além disso, até otimizam esses fatores de forma independente. É porque a arquitetura do NAS funciona com fatores de dimensionamento não correlacionados. 

Vale a pena notar que modelos baseados em concatenação como VoVNet or DenseNet altere a largura de entrada de algumas camadas quando a profundidade dos modelos for dimensionada. O YOLOv7 funciona em uma arquitetura baseada em concatenação proposta e, portanto, usa um método de dimensionamento composto.

A figura acima compara o redes de agregação de camadas eficientes estendidas (E-ELAN) de diversos modelos. O método E-ELAN proposto mantém o caminho de transmissão gradiente da arquitetura original, mas visa aumentar a cardinalidade dos recursos adicionados usando convolução de grupo. O processo pode aprimorar os recursos aprendidos por diferentes mapas e pode tornar ainda mais eficiente o uso de cálculos e parâmetros. 

Arquitetura YOLOv7

O modelo YOLOv7 usa os modelos YOLOv4, YOLO-R e Scaled YOLOv4 como base. O YOLOv7 é resultado dos experimentos realizados nesses modelos para melhorar os resultados e tornar o modelo mais preciso. 

Rede de agregação de camada eficiente estendida ou E-ELAN

E-ELAN é o bloco de construção fundamental do modelo YOLOv7 e é derivado de modelos já existentes sobre eficiência de rede, principalmente o ELAN. 

As principais considerações ao projetar uma arquitetura eficiente são o número de parâmetros, a densidade computacional e a quantidade de computação. Outros modelos também consideram fatores como influência da proporção do canal de entrada/saída, ramificações na rede de arquitetura, velocidade de interferência da rede, número de elementos nos tensores da rede convolucional e muito mais. 

A CSPVoNet O modelo não apenas considera os parâmetros mencionados acima, mas também analisa o caminho do gradiente para aprender recursos mais diversos, permitindo os pesos de diferentes camadas. A abordagem permite que as interferências sejam muito mais rápidas e precisas. O ELAN A arquitetura visa projetar uma rede eficiente para controlar o caminho de gradiente mais curto e mais longo, de modo que a rede possa ser mais eficaz no aprendizado e na convergência. 

O ELAN já atingiu um estágio estável, independentemente do número de empilhamento de blocos computacionais e comprimento do caminho de gradiente. O estado estável pode ser destruído se os blocos computacionais forem empilhados ilimitadamente e a taxa de utilização do parâmetro diminuirá. O A arquitetura E-ELAN proposta pode resolver o problema, pois usa cardinalidade de expansão, embaralhamento e fusão para aprimorar continuamente a capacidade de aprendizado da rede, mantendo o caminho de gradiente original. 

Além disso, ao comparar a arquitetura de E-ELAN com ELAN, a única diferença está no bloco computacional, enquanto a arquitetura da camada de transição permanece inalterada. 

E-ELAN propõe expandir a cardinalidade dos blocos computacionais e expandir o canal usando convolução de grupo. O mapa de recursos será calculado e embaralhado em grupos de acordo com o parâmetro de grupo e, em seguida, será concatenado. O número de canais em cada grupo permanecerá o mesmo da arquitetura original. Por fim, os grupos de mapas de recursos serão adicionados para realizar a cardinalidade. 

Dimensionamento de modelos para modelos baseados em concatenação

O escalonamento do modelo ajuda na ajustando atributos dos modelos que ajuda a gerar modelos de acordo com os requisitos e de diferentes escalas para atender às diferentes velocidades de interferência. 

A figura fala sobre escala de modelo para diferentes modelos baseados em concatenação. Como você pode ver nas figuras (a) e (b), a largura de saída do bloco computacional aumenta com o aumento da escala de profundidade dos modelos. Consequentemente, a largura de entrada das camadas de transmissão é aumentada. Se esses métodos forem implementados em uma arquitetura baseada em concatenação, o processo de dimensionamento é executado em profundidade e é representado na figura (c). 

Pode-se assim concluir que não é possível analisar os fatores de escala de forma independente para modelos baseados em concatenação, mas eles devem ser considerados ou analisados ​​em conjunto. Portanto, para um modelo baseado em concatenação, é adequado usar o método de dimensionamento do modelo composto correspondente. Além disso, quando o fator de profundidade é dimensionado, o canal de saída do bloco também deve ser dimensionado. 

Saco de brindes treinável 

Um saco de brindes é um termo que os desenvolvedores usam para descrever um conjunto de métodos ou técnicas que podem alterar a estratégia de treinamento ou custo em uma tentativa de aumentar a precisão do modelo. Então, quais são esses sacos de brindes treináveis ​​no YOLOv7? Vamos dar uma olhada. 

Convolução Reparametrizada Planejada

O algoritmo YOLOv7 usa caminhos de propagação de fluxo de gradiente para determinar como combinar idealmente uma rede com a convolução reparametrizada. Esta abordagem de YOLov7 é uma tentativa de combater Algoritmo RepConv que embora tenha tido um desempenho sereno no modelo VGG, apresenta desempenho ruim quando aplicado diretamente aos modelos DenseNet e ResNet. 

Para identificar as conexões em uma camada convolucional, o O algoritmo RepConv combina convolução 3 × 3 e convolução 1 × 1. Se analisarmos o algoritmo, seu desempenho e a arquitetura, veremos que RepConv destrói o concatenação em DenseNet e o residual em ResNet

A imagem acima mostra um modelo reparametrizado planejado. Pode-se observar que o algoritmo YOLov7 descobriu que uma camada na rede com concatenação ou conexões residuais não deveria ter uma conexão de identidade no algoritmo RepConv. Conseqüentemente, é aceitável alternar com RepConvN sem conexões de identidade. 

Grosso para Auxiliar e Multa para Perda de Chumbo

Supervisão Profunda é um ramo da ciência da computação que frequentemente encontra seu uso no processo de treinamento de redes profundas. O princípio fundamental da supervisão profunda é que adiciona uma cabeça auxiliar adicional nas camadas intermediárias da rede junto com os pesos de rede rasos com perda de assistente como seu guia. O algoritmo YOLOv7 refere-se ao cabeçote responsável pela saída final como o cabeçote principal, e o cabeçote auxiliar é o cabeçote que auxilia no treinamento. 

Seguindo em frente, o YOLOv7 usa um método diferente para atribuição de rótulos. Convencionalmente, a atribuição de rótulos tem sido usada para gerar rótulos referindo-se diretamente à verdade básica e com base em um determinado conjunto de regras. No entanto, nos últimos anos, a distribuição e a qualidade da entrada de previsão desempenham um papel importante para gerar um rótulo confiável. YOLOv7 gera um soft label do objeto usando as previsões de caixa delimitadora e verdade de campo. 

Além disso, o novo método de atribuição de rótulos do algoritmo YOLOv7 usa as previsões da cabeça de derivação para guiar tanto a cabeça de derivação quanto a cabeça auxiliar. O método de atribuição de rótulos tem duas estratégias propostas. 

Atribuidor de etiquetas guiadas pelo cabeçote principal

A estratégia faz cálculos com base nos resultados de previsão do líder principal e na verdade básica e, em seguida, usa a otimização para gerar rótulos flexíveis. Esses rótulos flexíveis são usados ​​como modelo de treinamento para o cabeçote principal e o cabeçote auxiliar. 

A estratégia trabalha com a suposição de que, como o líder principal tem uma maior capacidade de aprendizado, os rótulos que ele gera devem ser mais representativos e correlacionados entre a origem e o destino. 

Atribuidor de etiquetas guiadas por cabeçote grosso a fino

Essa estratégia também faz cálculos com base nos resultados de previsão do líder principal e na verdade básica e, em seguida, usa a otimização para gerar rótulos flexíveis. No entanto, há uma diferença fundamental. Nesta estratégia, existem dois conjuntos de rótulos flexíveis, nível grosseiro, e rótulo fino. 

O rótulo grosseiro é gerado relaxando as restrições da amostra positiva

processo de atribuição que trata mais grades como alvos positivos. Isso é feito para evitar o risco de perda de informações por causa da força de aprendizado mais fraca da cabeça auxiliar. 

A figura acima explica o uso de uma bolsa de brindes treinável no algoritmo YOLOv7. Descreve grosseiro para o cabeçote auxiliar e fino para o cabeçote principal. Ao compararmos um Modelo com Núcleo Auxiliar(b) com o Modelo Normal (a), observaremos que o esquema em (b) possui um núcleo auxiliar, enquanto não está em (a). 

A Figura (c) descreve o atribuídor de rótulo independente comum, enquanto a figura (d) e a figura (e) representam, respectivamente, o Atribuidor guiado por condutores e o Atribuidor guiado por condutores grosso a fino usado por YOLOv7.  

Outra bolsa de brindes treinável

Além dos mencionados acima, o algoritmo YOLOv7 usa sacos adicionais de brindes, embora não tenham sido propostos por eles originalmente. Eles são

  • Normalização de lote na tecnologia Conv-Bn-Activation: Essa estratégia é usada para conectar uma camada convolucional diretamente à camada de normalização em lote. 
  • Conhecimento implícito em YOLOR: O YOLOv7 combina a estratégia com o mapa de recursos Convolucional. 
  • Modelo EMA: O modelo EMA é usado como modelo de referência final no YOLOv7, embora seu uso principal seja no método do professor médio. 

YOLOv7: Experimentos

Setup Experimental

O algoritmo YOLOv7 usa o Conjunto de dados Microsoft COCO para treinamento e validação seu modelo de detecção de objetos, e nem todos esses experimentos usam um modelo pré-treinado. Os desenvolvedores usaram o conjunto de dados de treinamento de 2017 para treinamento e usaram o conjunto de dados de validação de 2017 para selecionar os hiperparâmetros. Finalmente, o desempenho dos resultados da detecção de objetos YOLOv7 é comparado com algoritmos de última geração para detecção de objetos. 

Os desenvolvedores projetaram um modelo básico para GPU de borda (YOLOv7-tiny), GPU normal (YOLOv7) e GPU de nuvem (YOLOv7-W6). Além disso, o algoritmo YOLOv7 também usa um modelo básico para escalonamento de modelo de acordo com diferentes requisitos de serviço e obtém modelos diferentes. Para o algoritmo YOLOv7, o escalonamento da pilha é feito no pescoço e os compostos propostos são usados ​​para aumentar a profundidade e a largura do modelo. 

Linhas de base

O algoritmo YOLOv7 usa modelos YOLO anteriores e o algoritmo de detecção de objetos YOLOR como linha de base.

A figura acima compara a linha de base do modelo YOLOv7 com outros modelos de detecção de objetos, e os resultados são bastante evidentes. Quando comparado com o Algoritmo YOLOv4, YOLOv7 não só usa 75% menos parâmetros, mas também usa 15% menos computação e tem 0.4% mais precisão. 

Comparação com modelos de detectores de objetos de última geração

A figura acima mostra os resultados quando o YOLOv7 é comparado com modelos de detecção de objetos de última geração para GPUs móveis e gerais. Pode-se observar que o método proposto pelo algoritmo YOLOv7 possui a melhor pontuação de trade-off velocidade-acurácia. 

Estudo de Ablação: Método de Escalonamento Composto Proposto

A figura mostrada acima compara os resultados do uso de diferentes estratégias para ampliar o modelo. A estratégia de dimensionamento no modelo YOLOv7 aumenta a profundidade do bloco computacional em 1.5 vezes e dimensiona a largura em 1.25 vezes. 

Quando comparado com um modelo que apenas aumenta a profundidade, o modelo YOLOv7 tem um desempenho melhor em 0.5%, usando menos parâmetros e poder de computação. Por outro lado, quando comparado com modelos que apenas aumentam a profundidade, a precisão do YOLOv7 é melhorada em 0.2%, mas o número de parâmetros precisa ser dimensionado em 2.9% e o cálculo em 1.2%. 

Modelo Reparametrizado Planejado Proposto

Para verificar a generalidade de seu modelo reparametrizado proposto, o O algoritmo YOLOv7 o usa em modelos baseados em resíduos e em concatenação para verificação. Para o processo de verificação, o algoritmo YOLOv7 usa ELAN de 3 pilhas para o modelo baseado em concatenação e CSPDarknet para o modelo baseado em resíduos. 

Para o modelo baseado em concatenação, o algoritmo substitui as camadas convolucionais 3 × 3 na ELAN 3 empilhadas por RepConv. A figura abaixo mostra a configuração detalhada de Planned RepConv e 3-stacked ELAN. 

Além disso, ao lidar com o modelo baseado em resíduos, o algoritmo YOLOv7 usa um bloco escuro invertido porque o bloco escuro original não possui um bloco de convolução 3 × 3. A figura abaixo mostra a arquitetura do CSPDarknet invertido que inverte as posições da camada convolucional 3 × 3 e 1 × 1. 

Perda de assistente proposta para chefe auxiliar

Para a perda de assistente para cabeçote auxiliar, o modelo YOLOv7 compara a atribuição de rótulo independente para os métodos de cabeçote auxiliar e cabeçote de derivação. 

A figura acima contém os resultados do estudo sobre o cabeçote auxiliar proposto. Pode-se observar que o desempenho geral do modelo aumenta com o aumento da perda do assistente. Além disso, a atribuição de rótulo guiada por chumbo proposta pelo modelo YOLOv7 apresenta melhor desempenho do que as estratégias de atribuição de chumbo independentes. 

Resultados YOLOv7

Com base nos experimentos acima, aqui está o resultado do desempenho do YOLov7 quando comparado a outros algoritmos de detecção de objetos. 

A figura acima compara o modelo YOLOv7 com outros algoritmos de detecção de objetos, e pode-se observar claramente que o YOLOv7 supera outros modelos de detecção de objeções em termos de Precisão média (AP) v/s interferência de lote

Além disso, a figura abaixo compara o desempenho de YOLOv7 v/s outros algoritmos de detecção de objeções em tempo real. Mais uma vez, o YOLOv7 supera outros modelos em termos de desempenho geral, precisão e eficiência. 

Aqui estão algumas observações adicionais dos resultados e performances do YOLOv7. 

  1. O YOLOv7-Tiny é o menor modelo da família YOLO, com mais de 6 milhões de parâmetros. O YOLOv7-Tiny tem uma precisão média de 35.2% e supera os modelos YOLOv4-Tiny com parâmetros comparáveis. 
  2. O modelo YOLOv7 tem mais de 37 milhões de parâmetros e supera modelos com parâmetros mais altos como YOLov4. 
  3. O modelo YOLOv7 tem a maior taxa mAP e FPS na faixa de 5 a 160 FPS. 

Conclusão

YOLO ou You Only Look Once é o modelo de detecção de objetos de última geração na visão computacional moderna. O algoritmo YOLO é conhecido por sua alta precisão e eficiência e, como resultado, encontra ampla aplicação na indústria de detecção de objetos em tempo real. Desde que o primeiro algoritmo YOLO foi introduzido em 2016, os experimentos permitiram que os desenvolvedores melhorassem o modelo continuamente. 

O modelo YOLOv7 é a mais recente adição à família YOLO e é o algoritmo YOLo mais poderoso até hoje. Neste artigo, falamos sobre os fundamentos do YOLOv7 e tentamos explicar o que torna o YOLOv7 tão eficiente. 

"Engenheiro de profissão, escritor de coração". Kunal é um escritor técnico com profundo amor e compreensão de IA e ML, dedicado a simplificar conceitos complexos nesses campos por meio de sua documentação envolvente e informativa.