A Detecção de objetos para Dummies Parte 2: a CNN, o DPM e o Overfeat

a Parte 2 apresenta vários clássicos convolucionais neural trabalho de arquitetura de projetos para a imagem de classificação (AlexNet, VGG, ResNet), bem como o DPM (Deformável modelos de Peças) e Overfeat modelos para reconhecimento de objeto.

Parte 1 da série “detecção de objetos para manequins” introduzida: (1) o conceito de vetor gradiente de imagem e como o algoritmo HOG resume as informações em todos os vetores de gradiente em uma imagem; (2) como o algoritmo de segmentação de imagem funciona para detectar regiões que potencialmente contêm objetos; (3) como o algoritmo de pesquisa seletiva refina os resultados da segmentação de imagem para uma melhor proposta de região.

na Parte 2, estamos prestes a descobrir mais sobre as arquiteturas clássicas de rede neural convolução para classificação de imagens. Eles estabelecem as bases para um maior progresso nos modelos de aprendizagem profunda para detecção de objetos. Vá verificar Parte 3 Se você quiser saber mais sobre R-CNN e modelos relacionados.

Links para todos os posts da série: .A CNN, abreviação de” convolucional Neural Network”, é a solução ideal para problemas de visão computacional no mundo da aprendizagem profunda. Foi, até certo ponto, inspirado por como o sistema de córtex visual humano funciona.

Operação de convolução

eu recomendo fortemente este guia para aritmética de convolução, que fornece uma explicação limpa e sólida com toneladas de visualizações e exemplos. Aqui vamos nos concentrar na convolução bidimensional, pois estamos trabalhando com imagens neste post.

em suma, a operação de convolução desliza um kernel predefinido (também chamado de “filtro”) no topo do mapa de recursos de entrada (matriz de pixels de imagem), multiplicando e adicionando os valores do kernel e recursos de entrada parcial para gerar a saída. Os valores formam uma matriz de saída, como geralmente, o kernel é muito menor do que a imagem de entrada.

Operação De Convolução

Fig. 1. Uma ilustração de aplicar um kernel no mapa de recursos de entrada para gerar a saída. (Fonte da imagem: A figura 2 mostra dois exemplos reais de como Convolver um kernel 3×3 sobre uma matriz 5×5 2D de valores numéricos para gerar uma matriz 3×3. Ao controlar o tamanho do preenchimento e o comprimento da passada, podemos gerar uma matriz de saída de um determinado tamanho.

Operação De ConvoluçãoOperação De Convolução

Fig. 2. Dois exemplos de operação de convolução 2D: (superior) sem preenchimento e passos 1×1; (inferior) preenchimento de zeros de borda 1×1 e passos 2×2. (Fonte da imagem: deeplearning.net)

AlexNet (Krizhevsky et al, 2012)

  • 5 camadas de convolução + 2 camadas MLP + 1 camada LR
  • Use técnicas de aumento de dados para expandir o conjunto de dados de treinamento, como traduções de imagens, reflexões horizontais e extrações de patches.

exemplo de peração de convolução

Fig. 3. A arquitetura de AlexNet. (Fonte da imagem: link)

VGG (Simonyan e Zisserman, 2014)

  • a rede é considerada “muito profunda” em sua época; 19 camadas
  • a arquitetura é extremamente simplificada com apenas camadas convolucionais 3×3 e camadas de agrupamento 2×2. O empilhamento de pequenos filtros simula um filtro maior com menos parâmetros.

ResNet (He et al., 2015)

  • a rede é realmente muito profunda; 152 camadas de arquitetura simples.
  • Bloco Residual: alguma entrada de uma determinada camada pode ser passada para o componente duas camadas mais tarde. Os blocos residuais são essenciais para manter uma rede profunda treinável e, eventualmente, funcionar. Sem blocos residuais, a perda de treinamento de uma rede simples não diminui monotonicamente à medida que o número de camadas aumenta devido a gradientes de fuga e explosão.

Bloco Residual

Fig. 4. Uma ilustração do bloco residual do ResNet. De alguma forma, podemos dizer que o design de blocos residuais é inspirado pelo V4 obtendo entrada diretamente da V1 no sistema de córtex visual humano. (fonte da imagem à esquerda: Wang et al., 2017)

Métricas De Avaliação: mAP

uma métrica de avaliação comum usada em muitas tarefas de reconhecimento e detecção de objetos é “mAP”, abreviação de “mean average precision”. É um número de 0 a 100; maior valor é melhor.

  • Combine todas as detecções de todas as imagens de teste para desenhar uma curva de recall de precisão (curva PR) para cada classe; A “precisão média” (AP) é a área sob a curva PR.
  • dado que os objetos de destino estão em classes diferentes, primeiro calculamos o AP separadamente para cada classe e, em seguida, calculamos a média sobre as classes.
  • Uma detecção é um verdadeiro positivo, se tem “intersecção mais de união” (IoU), com um terreno-verdade caixa maior que um determinado limite (normalmente de 0,5; se assim, a métrica é “[email protected]”)

Deformáveis Peças Modelo

O Deformável modelos de Peças (DPM) (Felzenszwalb et al., 2010) reconhece objetos com um modelo gráfico de mistura (campos aleatórios de Markov) de partes deformáveis. O modelo consiste em três componentes principais:

  1. um filtro de raiz Grossa define uma janela de detecção que cobre aproximadamente um objeto inteiro. Um filtro especifica pesos para um vetor de recurso de região.
  2. filtros de várias peças que cobrem partes menores do objeto. Os filtros de peças são aprendidos com duas vezes a resolução do filtro raiz.
  3. um modelo espacial para marcar os locais dos filtros de peças em relação à raiz.

DPM

Fig. 5. O modelo DPM contém (a) um filtro raiz, (b) vários filtros de peças com o dobro da resolução e (c) um modelo para marcar a localização e deformação das peças.

a qualidade da detecção de um objeto é medida pela pontuação dos filtros menos os custos de deformação. A correspondência de pontuação \(f\), em termos leigos, é:

\\]

em que,

  • \(x\) é uma imagem com uma posição específica e escala;
  • \(y\) é uma sub-região de \(x\).
  • \(\beta_\text{root}\) é o filtro raiz.
  • \(\beta_ \ text {part}\) é um filtro de parte.
  • cost () mede a penalidade da peça se desviando de sua localização ideal em relação à raiz.

o modelo de pontuação básica é o produto de ponto entre o filtro \(\beta\) e o vetor de recurso de região \(\Phi(x)\): \(f(\beta, x) = \beta \cdot \Phi(x)\). O conjunto de recursos \(\Phi (x)\) pode ser definido por HOG ou outros algoritmos semelhantes.

uma localização raiz com pontuação alta detecta uma região com altas chances de conter um objeto, enquanto as localizações das partes com pontuações altas confirmam uma hipótese de objeto reconhecida. O artigo adotou SVM latente para modelar o classificador.

processo de correspondência DPM

Fig. 6. O processo de correspondência por DPM. (Fonte da imagem: Felzenszwalb et al., 2010)

o autor posteriormente afirmou que os modelos DPM e CNN não são duas abordagens distintas para o reconhecimento de objetos. Em vez disso, um modelo DPM pode ser formulado como um CNN desenrolando o algoritmo de inferência DPM e mapeando cada etapa para uma camada CNN equivalente. (Confira os detalhes em Girshick et al., 2015!)

Overfeat

Overfeat é um modelo pioneiro de integração das tarefas de detecção, localização e classificação de objetos em uma rede neural convolucional. A ideia principal é (i) fazer a classificação de imagem em diferentes locais em regiões de múltiplas escalas da imagem de forma deslizante, e (ii) prever os locais da caixa delimitadora com um regressor treinado em cima das mesmas camadas de convolução.

a arquitetura do modelo Overfeat é muito semelhante ao AlexNet. É treinado da seguinte forma:

treino de Overfeat

Fig. 7. As etapas de treinamento do modelo Overfeat. (Fonte da imagem: link)

  1. treine um modelo CNN (semelhante ao AlexNet) na tarefa de classificação de imagens.
  2. em seguida, substituímos as camadas superiores do Classificador por uma rede de regressão e treinamos para prever caixas delimitadoras de objetos em cada local e escala espacial. O regressor é específico da classe, cada um gerado para uma classe de imagem.
    • entrada: imagens com classificação e caixa delimitadora.
    • saída: \((x_ \ text {left}, x_ \ text {right}, y_ \ text {top}, y_\text{bottom})\), 4 valores no total, representando as coordenadas das bordas da caixa delimitadora.
    • perda: O regressor é treinado para minimizar a norma \(l2\) entre a caixa delimitadora gerada e a verdade fundamental para cada exemplo de treinamento.

no tempo de detecção,

  1. execute a classificação em cada local usando o modelo CNN pré-treinado.
  2. prever caixas delimitadoras de objetos em todas as regiões classificadas geradas pelo classificador.
  3. mesclar caixas delimitadoras com sobreposição suficiente da localização e confiança suficiente de ser o mesmo objeto do Classificador.

citado como:

@article{weng2017detection2, title = "Object Detection for Dummies Part 2: CNN, DPM and Overfeat", author = "Weng, Lilian", journal = "lilianweng.github.io/lil-log", year = "2017", url = "http://lilianweng.github.io/lil-log/2017/12/15/object-recognition-for-dummies-part-2.html"}

Referência

Vincent Dumoulin e Francesco Visin. “Um guia para convolução aritmética para aprendizagem profunda.”arXiv preprint arXiv: 1603.07285 (2016).

Haohan Wang, Bhiksha Raj e Eric P. Xing. “Sobre a origem da aprendizagem profunda.”arXiv preprint arXiv: 1702.07800 (2017).

Pedro F. Felzenszwalb, Ross B. Girshick, David McAllester, e Deva Ramanan. “Detecção de objetos com modelos baseados em parte treinados discriminativamente.”IEEE transactions on pattern analysis and machine intelligence 32, no. 9 (2010): 1627-1645.

Ross B. Girshick, Forrest Iandola, Trevor Darrell e Jitendra Malik. “Modelos de peças deformáveis são redes neurais convolucionais.”Em Proc. IEEE Conf. sobre Visão Computacional e reconhecimento de padrões (CVPR), pp. 437-446. 2015.

Sermanet, Pierre, David Eigen, Xiang Zhang, Michaël Mathieu, Rob Fergus e Yann LeCun. “OverFeat: reconhecimento integrado, localização e detecção usando redes convolucionais” arXiv preprint arXiv:1312.6229 (2013).

Deixe uma resposta

O seu endereço de email não será publicado.