Notas de papel YOLOv2

        Terminei de estudar o artigo yolov1 há alguns dias ( yolov1 paper notes_crlearning's blog-CSDN blog ), e hoje vou compartilhar o artigo yolov2 (YOLO9000: Better, Faster, Stronger), principalmente para melhorar as deficiências do yolov1 e propor alguns treinamentos pequenos truque.

        Endereço do papel: https://pan.baidu.com/s/1_30O3DD8gDzQocp9UndxwQ Código de extração: 6666 


Índice

1. Resumo

2、Melhor

2.1 Normalização do Lote

2.2 Classificador de alta resolução

2.3Convolucional com caixas de ancoragem

2.4 Clusters de dimensão

2.5 Previsão de localização direta

2.6 Recursos Refinados

2.7 Treinamento Multiescala

3、mais rápido

4, mais forte


1. Resumo

        Este artigo propõe dois novos algoritmos, um é yolov2 e o outro é yolo9000.O autor aponta que esses algoritmos são melhores que yolov1 e r-cnn rápido no conjunto de dados COCO. Uma vez que o conjunto de dados de detecção de alvo é menor do que o conjunto de dados de classificação de imagem e o preço é mais caro, o autor pensa que é yolo9000 obtido por meio do treinamento conjunto do conjunto de dados ImageNet e COCO. Pode ser visto no nome que ele pode prever 9.000 categorias, das quais aprendo principalmente yolov2 , a seguir está a melhoria de yolov2 descrita principalmente no artigo a partir das três dimensões de melhor, mais rápido e mais robusto.

2、Melhor

        Há um grande erro de posicionamento em yolov1 e o valor de rechamada é relativamente baixo, por isso é necessário melhorar a rechamada e a localização, mantendo a precisão da classificação. Mas a rede não pode ser muito grande, caso contrário o algoritmo será lento. yolov2 reúne muitos novos conceitos para melhorar o desempenho do yolo.

2.1 Normalização do Lote

        O uso da normalização em lote melhora muito a convergência do modelo, o que pode ajudar o modelo a ser melhor normalizado e também pode remover o abandono sem overfitting, e o uso da normalização em lote pode aumentar o valor do mapa do modelo em 2%. Para o entendimento do bn, acho que é padronizar nossos dados dentro de um mesmo intervalo, o que reduz muito o erro entre dados diferentes.

2.2 Classificador de alta resolução

        Um classificador de resolução melhor é ampliar a imagem de entrada. A imagem de entrada da rede de backbone de yolov1 é 224 x 224 para pré-treinamento e, em seguida, é aumentada para 448 x 448 para detecção e treinamento, enquanto yolov2 melhora a imagem de entrada para 448 x 448 , altere a resolução da imagem de entrada no modelo de pré-treinamento Imagenet e treine por 10 épocas, usando este método para aumentar o valor do mapa em 4%.

2.3Convolucional com caixas de ancoragem

        Usar a camada totalmente conectada em yolov1 para prever as coordenadas da caixa não é como o RPN em Faster R-CNN para gerar uma caixa de pré-seleção. O RPN só precisa prever o deslocamento, não toda a coordenada, o que simplifica o aprendizado da rede. O modelo yolov2 tem várias melhorias:

        1. Remova a camada totalmente conectada da última camada e use caixas de ancoragem para prever

        2. Remova uma camada da camada de pooling, para obter uma boa resolução

        3. Altere a entrada 448 x 448 para 416 x 416. É mencionado no artigo que, como 416 dividido por 32 é igual a um número ímpar, haverá uma única célula correspondente. Como entender esse conceito, antes de tudo, existem 5 camadas de agrupamento em nossa rede, então é equivalente a encolher 32 vezes, então o mapa de recursos final é 13 x 13 e cada célula corresponde ao tamanho da imagem original 32 x 32, que é o campo receptivo. Se a saída final não for um número ímpar e houver um objeto grande no centro da imagem, não haverá célula central e o centro poderá ter apenas 4 células correspondentes, resultando em desperdício. (compreensão pessoal)

yolov1 tem apenas caixas de 7 x 7 x 2, enquanto yolov2 tem caixas de 13 x 13 x 9. Comparado com os resultados, a precisão de yolov2 é reduzida apenas em 0,4 mapa, mas o recall aumentou em 7%, o que mostra que é eficaz.

2.4 Clusters de dimensão

        Para agrupamento de dimensão, há dois problemas com o uso de caixas âncora: primeiro, o tamanho da caixa é selecionado manualmente e a rede está sendo ajustada. Mas se você puder escolher caixas de pré-seleção melhores, isso pode tornar o modelo mais fácil de aprender. O autor usa agrupamento k-means para selecionar a caixa de pré-seleção, onde a distância não usa a distância euclidiana, o que facilmente leva a um erro maior na caixa grande, mas usa o valor IOU como distância:

                            d(caixa,centroide) = 1 - IOU(caixa,centroide)

 O gráfico à esquerda é o resultado do agrupamento. Selecione k = 5 para obter um Aug IOU relativamente grande e o número de caixas é pequeno. O efeito obtido subindo não é tão bom. Existem 5 caixas no gráfico em à direita. O azul está no conjunto de dados COCO e o branco está no conjunto de dados VOC.

 Pode-se ver que usar k-means para selecionar caixas é melhor do que a seleção manual.

2.5 Previsão de localização direta

        Para previsão de posição direta, o segundo problema com yolo usando âncora é que quando o modelo itera pela primeira vez, o modelo é instável porque a posição (x, y) da caixa é prevista. O método de cálculo fornecido no artigo é:

 Mas a partir do método de cálculo no artigo Faster R-CNN

 Portanto, o artigo deveria ter escrito o símbolo errado. Esses métodos de cálculo não têm nenhuma restrição em x e y, e a velocidade de convergência pode ser relativamente lenta. O autor usa um deslocamento relativo a cada célula, de modo que o deslocamento de x e y Entre 0 e 1, a fórmula de cálculo é a seguinte:

O uso de clustering e restrições de localização aumenta o valor do mapa em 5% em comparação com o uso simples de âncoras.

2.6 Recursos Refinados

        Recursos refinados, sua função é semelhante ao princípio do resnet, que é adicionar uma camada de passagem, adicionar a resolução de 26 x 26 à camada de 13 x 13, fazer uma operação de convolução na camada de 26 x 26 , e aumentar o número de canais, principalmente para evitar que pequenas informações sejam perdidas, e há um aumento de 1%

2.7 Treinamento Multiescala

        O treinamento multiescala, para tornar o yolov2 mais robusto, pode ser realizado em diferentes tamanhos de imagem, e o tamanho da imagem de entrada é alterado a cada 10 épocas, o tamanho é um múltiplo de 32, o máximo é 608 e o mínimo é 320. Isso permite que yolov2 detecte diferentes resoluções. Velocidade de baixa resolução é rápida, baixa precisão, velocidade de alta resolução é ligeiramente mais lenta, alta precisão

3、mais rápido

        Darknet-19, yolov2 não usa vgg-16. Embora seja preciso, requer 30,69 bilhões de operações de ponto flutuante para processar uma imagem de 224 x 224. Em yolov1, é baseado na arquitetura Googlenet, que usa apenas 8,52 bilhões de cálculos, e a precisão é um pouco menor em vgg-16. O uso do Darknet-19 no yolov2 requer apenas 5,58 bilhões de cálculos e a precisão também é muito alta.

 Treinamento de classificação, executa operações de processamento de dados, como corte aleatório e rotação nas imagens de treinamento e processa a taxa de aprendizado

4, mais forte

        Esta seção explica principalmente o método de treinamento conjunto de classificação e detecção de conjuntos de dados Imagenet e COCO e implementa o modelo YOLO 9000. Devido aos conflitos em algumas categorias, um método WordNet é usado para construir o WordTree, de modo que cada categoria seja separada.

         Não entendo muito bem esta parte, mas provavelmente sei muito. Se você estiver interessado, pode ler o artigo original. Atualizarei o YOLOv3, v1 e v2 em alguns dias. Pretendo apenas entender o autor todo o processo de pensamento, então não li o código. Pretendo realizá-lo sozinho, obrigado por assistir.

Acho que você gosta

Origin blog.csdn.net/weixin_44711102/article/details/126890377
Recomendado
Clasificación