Análise da tecnologia de detecção de pequenos alvos

Análise da tecnologia de detecção de pequenos alvos

O pequeno sistema de detecção e rastreamento de alvos é dividido em quatro módulos:

· Módulo de hardware

  O módulo é baseado no barramento PCI padrão e é equipado com um chip programável em escala muito grande (DSP, FPGA), que possui recursos de computação e processamento extremamente fortes.

· Módulo de programa DSP

  Sua função realiza principalmente a detecção e o rastreamento de pequenos alvos em contextos complexos. Considerando os requisitos em tempo real do sistema, a tecnologia de acumulação de energia infravermelha é adotada para a detecção de pequenos alvos em contextos complexos. Primeiro, a imagem infravermelha é aprimorada; depois, o alvo menor é grosseiramente detectado; finalmente, o alvo menor é extraído na sequência de vídeo. Ao mesmo tempo, a tecnologia de previsão é usada para estimar a possível localização e área de existência do alvo, de modo a obter um rastreamento (ou memória) preciso e em tempo real do alvo. O sistema opera de acordo com os quatro estados de pesquisa, captura, rastreamento e rastreamento de memória e sua conversão para alcançar a detecção e rastreamento em tempo real de pequenos alvos.

· Módulo driver

  Sua principal função é realizar a comunicação de dados e a interação de informações entre o módulo de hardware e o programa aplicativo da camada superior. O sistema adota a leitura / gravação de ciclo único do PCI 9054 Target; para atender aos requisitos de transmissão e processamento em tempo real de 25 quadros por segundo da transmissão de dados de imagem, é adotada a transmissão de dados PCI 9054 Scatter / Gather DMA. Na interação de informações de todo o sistema, é adotado um protocolo de handshake de uso único, ou seja, protocolo de solicitação-resposta.

 · Módulo de aplicação superior

A principal função deste módulo é baixar o programa de rastreamento DSP para o módulo de hardware, iniciar / parar o DSP, exibir o vídeo da cena em tempo real, armazenar a sequência de destino em movimento em tempo real e analisar e exibir as características básicas da sequência de destino em tempo real.

 

 

 A detecção de objeto (detecção de objeto) é encontrar com precisão a localização de um objeto em uma determinada imagem e marcar a categoria do objeto. Portanto, o problema a ser resolvido pela detecção de alvo é todo o processo de onde e qual é o objeto. No entanto, nas fotos reais, o tamanho do objeto varia muito, o ângulo, a postura e a posição do objeto são diferentes. Pode haver sobreposição entre os objetos, o que dificulta muito a detecção do alvo. Big.

A detecção de alvos fez um grande progresso nos últimos anos.O principal motivo é que a aplicação de redes neurais convolucionais em tarefas de detecção de alvos substituiu o método de extração de recursos original com base em regras manuais.

 

 

 

 

 

  • Algoritmo tradicional de detecção de alvo:
    Cascade + HOG / DPM + Haar / SVM e muitas melhorias e otimizações dos métodos acima.
    Na detecção tradicional de alvo, o modelo de peça deformável em escala múltipla DPM (Modelo de Peça Deformável) tem melhor desempenho e venceu continuamente o campeão de detecção de VOC (Classe de Objeto Visual) de 2007 a 2009. O DPM trata os objetos como múltiplos componentes (como nariz, boca etc. dos rostos humanos) e descreve os objetos com a relação entre os componentes.Este recurso é muito consistente com as características corporais não rígidas de muitos objetos da natureza. O DPM pode ser visto como uma extensão do HOG + SVM, que herda as vantagens de ambos, e obteve bons resultados em tarefas como detecção de rosto e detecção de pedestres, mas o DPM é relativamente complicado e a velocidade de detecção também é mais lenta, o que também Muitos métodos aprimorados surgiram.
    No entanto, existem dois problemas principais na detecção tradicional de alvos: um é que a estratégia de seleção de área baseada em janelas deslizantes não é direcionada, a complexidade do tempo é alta e as janelas são redundantes; o segundo é que os recursos projetados manualmente não são muito robustos às mudanças na diversidade Sexo.
  • Algoritmo de detecção de alvo com base em aprendizado profundo:

o Região / quadro candidato (Proposta de região) + algoritmo de classificação de aprendizado profundo:
extraindo regiões candidatas e executando um esquema de classificação baseado em métodos de aprendizado profundo na região correspondente, como R-CNN (Pesquisa seletiva + CNN + SVM) , SPP-net (ROI Pooling), R-CNN rápido (pesquisa seletiva + CNN + ROI), R-CNN mais rápido (RPN + CNN + ROI), R-CNN de máscara (Ramo de previsão de máscara + RPN + CNN + ROI), etc. .

o Algoritmos de regressão baseados em aprendizado profundo:
YOLO, SSD, YOLOv2, YOLOv3 e outros algoritmos

Atualmente, os métodos de aprendizado profundo no campo da detecção de alvos são divididos principalmente em duas categorias: algoritmos de detecção de alvos em dois estágios; algoritmos de detecção de alvos em um estágio. O primeiro é que o algoritmo gera primeiro uma série de quadros candidatos como amostras e depois classifica os exemplos através da rede neural convolucional; o último não precisa gerar quadros candidatos e transforma diretamente o problema do posicionamento do quadro alvo em problemas de regressão. É precisamente por causa da diferença entre os dois métodos que o desempenho também é diferente, o primeiro é superior em precisão de detecção e precisão de posicionamento, e o último é superior em velocidade de algoritmo.

Detecção de alvo pequeno

Existem duas maneiras de definir um alvo pequeno. Um é o tamanho relativo. Se o comprimento e a largura do tamanho do alvo forem 0,1 do tamanho da imagem original, ele poderá ser considerado como um alvo pequeno. O outro é a definição de tamanho absoluto, ou seja, o tamanho é inferior a 32 * 32. Os alvos de pixel podem ser considerados alvos pequenos.

A detecção de pequenos alvos sempre foi um problema nos modelos de redes neurais convolucionais de aprendizado profundo. A maioria das estruturas de detecção precoce de alvos é direcionada a alvos comuns, como os métodos clássicos de estágio único yolo e ssd, o método de dois estágios mais rápido-rcnn, etc. Esses métodos são projetados principalmente para conjuntos de dados de destino comuns. Para pequenos alvos na imagem, o efeito de detecção não é ideal.

 

 

 Os métodos propostos para resolver o problema do pequeno alvo são:

  • O zoom da imagem. É também a direção mais trivial - ampliar a imagem antes da detecção. No entanto, como as imagens grandes se tornam muito grandes para caber na GPU para treinamento, as atualizações simples não são eficazes. Ao et al. [2017] primeiro reduziram a amostragem de imagens e, em seguida, usaram o aprendizado por reforço para treinar modelos baseados na atenção para procurar dinamicamente regiões de interesse nas imagens. Em seguida, o estudo de alta resolução da área selecionada pode ser usado para prever alvos menores. Isso evita a necessidade de igual atenção e análise de cada pixel na imagem, economizando alguns custos computacionais. Alguns trabalhos [Dai et al., 2016b, 2017, Singh e Davis, 2018] usam pirâmides de imagem ao treinar no contexto da detecção de alvos, e [Ren et al., 2017] as utilizam durante o teste.
  • Rede rasa. É provável que objetos pequenos sejam previstos por detectores com campos menores. Redes mais profundas têm domínios de aceitação maiores e é fácil perder algumas informações sobre objetos menores em camadas mais espessas. Sommer et al. [2017b] propuseram uma rede muito rasa com apenas quatro camadas convolucionais e três totalmente conectadas para detectar alvos em imagens aéreas. Esse tipo de detector é muito útil quando o tipo de instância desejado é pequeno. No entanto, se as instâncias esperadas tiverem tamanhos diferentes, as informações de contexto serão melhores. Aproveite o contexto ao redor de instâncias de objetos pequenos. Gidaris e Komodakis [2015], Zhu et al. [2015b] usam o contexto para melhorar o desempenho, e Chen et al. [2016a] usam especificamente o contexto para melhorar o desempenho de pequenos objetos. Eles estenderam o R-CNN com patches contextuais, em paralelo com os patches sugeridos gerados pela rede de sugestões regional. Zagoruyko et al. [2016] combinaram seu método com a proposta de objeto de máscara de profundidade para fazer a informação fluir através de vários caminhos.
  • Super resolução. Há também aprimoramentos de imagem para destinos pequenos. O mais típico é o uso de gerar redes adversárias para aumentar seletivamente a resolução de pequenos alvos.
  • Seu gerador aprende a aprimorar a fraca representação de objetos pequenos em objetos de super-resolução, que são muito semelhantes a objetos grandes reais, o suficiente para enganar os discriminadores concorrentes.

Nos últimos dois anos, foi proposto o método de uso de mapas de recursos de várias camadas (pirâmide de recursos, ideia RNN, previsão de camada por camada), o que melhorou significativamente o efeito da detecção de pequenos alvos.

Os algoritmos convencionais nesse estágio são:
Pirâmide de imagem: foi proposto anteriormente multisamples pirâmides de imagens a partir de imagens de treinamento. Através da ampliação de amostras, os recursos refinados de pequenos alvos podem ser aprimorados e, em teoria, os efeitos de posicionamento e reconhecimento da detecção de pequenos alvos podem ser otimizados. No entanto, o treinamento de modelos de redes neurais convolucionais com base em pirâmides de imagem tem requisitos muito altos em energia e memória de computação em computadores. O desenvolvimento de hardware de computadores não tem sido competente até o momento. Portanto, esse método raramente é usado em aplicações práticas.

Previsão de camada por camada: esse método faz uma previsão para a saída de cada camada do mapa de recursos da rede neural convolucional e, finalmente, obtém o resultado após uma análise abrangente. Da mesma forma, esse método também requer desempenho de hardware extremamente alto.

Pirâmide de recursos: consulte as informações de recursos do mapa de recursos em várias escalas, levando em consideração os recursos semânticos fortes e os locais. A vantagem desse método é que os mapas de recursos em várias escalas são módulos de transição inerentes às redes neurais convolucionais.Os mapas de recursos em várias escalas empilhadas têm pouco aumento na complexidade do algoritmo.

Idéia RNN: consulte o mecanismo de limite, a memória de longo e curto prazo no algoritmo RNN e registre informações de recursos em vários níveis ao mesmo tempo (Nota: Há uma diferença essencial da pirâmide de recursos). Mas o defeito inerente da RNN é que a velocidade do treinamento é lenta (algumas operações não podem ser matrizes).

O chamado alvo pequeno depende do alvo pequeno absoluto (pixel) e do alvo relativamente pequeno (em relação ao comprimento e largura da imagem original). Alvos grandes e alvos pequenos estão relacionados apenas ao campo receptivo, e o próprio Cnn pode detectar objetos de qualquer escala. O ssd não é muito adequado para detecção de pequenos alvos, mas há problemas com a velocidade e robustez do R-FCN.

Existem muitos tipos de objetivos pequenos, e um único histórico é melhor. Há uma pequena detecção de rosto usando a rede totalmente convencional (FCN) + ResNet. Este documento usa pequenas informações periféricas, como cabelos e ombros, para detectar alvos pequenos.

Primeiro, os pequenos pixels de destino com poucos recursos não são óbvios; portanto, em comparação com grandes alvos, a taxa de detecção de pequenos alvos é baixa, o que é inevitável em qualquer algoritmo. E a diferença na detecção de pequenos alvos entre diferentes algoritmos? Algoritmos de múltiplas escalas de estágio único, como SSD e YOLO, exigem pequena resolução para detecção de pequenos alvos.O SSD não reutiliza os recursos subjacentes de alta resolução, e essas camadas são importantes para detectar alvos pequenos, portanto são executadas principalmente na camada de recursos inferior Detecção, como conv4_3 no SSD, mas as informações semânticas da camada de recursos inferior não são ricas o suficiente, o que é uma contradição, mas se a camada de convolução for profunda o suficiente, o impacto não será tão grande. Eu acho que o fator mais importante é devido à configuração de escala ruim.A âncora padrão no SSD é de 0,1 a 0,2.O tamanho mínimo de detecção para a imagem 720p é de 72 pixels, que ainda é muito grande. De fato, o código fonte do SSD permite que uma camada de recurso seja uma janela deslizante de várias escalas. A inicialização de cada elemento no parâmetro min_sizes em uma lista pode gerar âncoras de diferentes escalas na camada de recurso correspondente. Se você projetar cuidadosamente, Basicamente, ele pode cobrir um alvo pequeno o suficiente, mas estima-se que o número de âncoras aumente muito nesse momento, e a velocidade também diminuirá.

Rcnn, yolo e ssd mais rápidos não são bons para resultados de detecção de pequenos alvos, porque o último mapa de recursos da estrutura de rede convolucional é muito pequeno; por exemplo, 32 * 32 alvos se tornam 2 * 2 após vgg, resultando em detecção e O retorno não pode atender aos requisitos. Quanto mais profunda a rede convolucional, mais forte é a informação semântica e mais baixa é a camada, mais informações sobre a aparência local são descritas, e acho que é significativo projetar tantas camadas convolucionais do VGG16. Se o efeito frontal for bom, o VGG 's Os pesquisadores devem pensar em reduzir o número de camadas.Pense que pode ser considerado extrair várias camadas de recursos para que a capacidade de expressão seja mais forte. Por exemplo, a amostra de imagem de gato e cachorro, a verdade do solo do gato menor aparece apenas na camada inferior, a verdade do solo da camada superior não possui a verdade do solo do gato e a verdade do solo correspondente ao objeto maior cão está no mapa de recursos da camada alta), as informações de outras camadas são simplesmente costuradas Portanto, as informações semânticas da detecção de objetos pequenos, as informações de contexto são piores).

O SSD é um mapa de recursos em várias escalas para extração paopasal e o ssd é mais estável para alvos pequenos do que o yolo. O yolo obtém diretamente os resultados da previsão por meio de recursos globais, depende inteiramente da acumulação de dados. Para pequenas metas, acho que devemos considerar reduzir o pool.

A camada responsável pela detecção de pequenos alvos no SSD é conv4_3 (38 * 38) e a escala correspondente é 0,2 (pode ser configurada manualmente). Isso corresponde à escala que o SSD pode detectar é de cerca de 0,2. Nesse caso, se o objeto é muito pequeno, mesmo no estágio de treinamento, o GT não consegue encontrar a caixa padrão correspondente para correspondê-lo, como o efeito pode ser melhor. Se você não se importa com o efeito geral de detecção, pode diminuir a escala para ver se o efeito de detecção para pequenos alvos melhorou. Além disso, o uso da detecção em várias escalas também pode melhorar o efeito de detecção de objetos pequenos.

O VGG16 usado pelo SSD como extração de recursos, a resolução do mapa de recursos conv4_3 foi reduzida em 8 vezes e o conv5_3 foi reduzido em 16. Por exemplo, um objeto de tamanho 32 * 32, o mapa de recursos de conv5_3 na vgg16 corresponde a apenas 2 * 2 , As informações de localização apresentam uma perda maior. Há duas maneiras de resolver esse problema: 1. Use recursos de diferentes camadas, como hyperNet, MultiPath. 2. A resolução do mapa de recursos não será muito reduzida quando o sentimento não for reduzido.Por exemplo, usando o algoritmo Hole usado no DeepLab, a alteração da resolução é pequena, garantindo o campo do sentimento.

A principal razão para a baixa detecção de alvos pequenos é que o SSD / YOLO redimensionou a imagem original.Por causa do campo receptivo, é difícil detectar alvos de "tamanho relativo pequeno". Se a série RCNN não dimensionar a imagem original, mas se o "tamanho absoluto for pequeno", não há como, pois a uma certa profundidade do mapa de recursos, o pequeno alvo pode ter perdido a resposta. 1. Alvos pequenos tendem a depender mais de recursos rasos, porque os recursos rasos têm maior resolução, mas pouca diferenciação semântica. 2. A detecção e classificação do SSD são feitas juntas, e alguns resultados que são detectados, mas a classificação é imprecisa e a pontuação não é alta, são filtrados. E rpn não, os 200 primeiros candidatos continuam a classificar, haverá um resultado. 3. Em termos de velocidade, originalmente era uma rede totalmente convolucional, mas também corrigia o tamanho da entrada, o que afetava bastante o pequeno alvo da imagem geral.

Algumas visualizações melhores

A resolução dos recursos da CNN é baixa, o que não é melhor do que outros recursos de baixo nível (raso) .A evidência é que na detecção de pedestres, alguns recursos artesanais ainda são bons; -O problema do rcnn e do próprio SSD, o Faster-rnn original fixou o lado mais curto da entrada no RPN para 600> SSD512> SSD300, a razão pela qual o SSD usa 300 e 512 é melhorar a velocidade de detecção, para que o SSD seja tão rápido; ao mesmo tempo; Para garantir a precisão, o aumento de dados em escala e múltipla é adicionado ao SSD (observe especialmente este aumento, aumento de dados).

Yolo e SSD são realmente fracos para objetos pequenos, e alguns algoritmos de imagem comuns são muito melhores para detectar objetos pequenos, mas não são muito robustos. Você pode tentar o R-FCN, testei alguns, parece bom para objetos pequenos, mas a velocidade é mais lenta. Parece 0.18s abaixo de 970. Eu já fiz experimentos com R-FCN no VGG16 antes, usando a mesma proposta da res101 (foco apenas no efeito de detecção, então uso o mesmo), o efeito não é tão bom quanto o rcnn rápido. Da mesma forma, não é tão bom quanto o google-v1 (que também é uma convolução completa) .Acho que é o problema de adaptação excessiva da rede superficial (porque o uso da proposta da VGG para fazer esse efeito é muito ruim).

O SSD é um detector baseado em uma rede totalmente convolucional, usando camadas diferentes para detectar objetos de tamanhos diferentes. Existe uma contradição nisso: o mapa de recursos da frente é grande, mas a semântica não é suficiente e a semântica subseqüente é suficiente, mas, após muito agrupamento, o mapa de recursos é muito pequeno. Para detectar objetos pequenos, você precisa de um mapa de recursos grande o suficiente para fornecer recursos mais elaborados e amostragem mais densa, mas também significado semântico suficiente para distingui-lo do plano de fundo. Perguntei ao autor do SSD ao participar da conferência: se o mapa final de recursos for ampliado e conectado à frente, ele melhorará o desempenho? O autor disse que vale a pena tentar.

O SSD é um RPN com reconhecimento de classe com muitos sinos e assobios. Cada pixel em um mapa de características corresponde a várias âncoras.Esta rede treina âncoras para conduzir o treinamento de características. Este é o prefácio. Como um objeto pequeno, sua âncora correspondente é relativamente pequena (uma âncora com sobreposição gt> 0,5), ou seja, é difícil treinar pixels completamente no mapa de características correspondente. Os leitores podem compensar cada ROI grande e podem cobrir muitas âncoras; então, essas âncoras têm a oportunidade de serem treinadas. No entanto, um objeto pequeno não pode cobrir muitas âncoras. Qual é o problema de não ser totalmente treinado? Durante o teste, o resultado da previsão deste pixel pode ser confuso, o que interferirá bastante no resultado normal. A razão pela qual o aumento de dados do SSD pode aumentar tanto é porque, através da colheita aleatória, cada âncora é totalmente treinada (ou seja, um pequeno objeto cortado, torna-se um objeto grande na nova imagem) só pode ser dito O resultado disso, sem a região propulsora, naturalmente não é bom para objetos pequenos. Somente hackeando hacks você pode compará-lo lentamente.

Tentei a primeira convolução do SSD como uma rede residual profunda e a detecção de objetos pequenos não é ruim, muito melhor que o YOLO. Além disso, no papel SSD original, o tamanho básico dos objetos de vários níveis é de 0,1 a 0,8. De fato, a proporção de 0,1 ainda é muito grande. Por exemplo, a entrada de 1024 * 1024 é de 0,1 a 102, o que não é pequeno. Você pode ajustar o nível de acordo com suas necessidades.Eu uso 1/64 ~ 1, que é o tamanho da grade de diferentes níveis. Obviamente, depois que o nível é alterado de linear para exponencial, cada deformação acima do tamanho básico também precisa ser ajustada (principalmente para aumentar), caso contrário, pode não ser possível cobrir alguns objetos de determinados tamanhos localizados no meio das duas grades. O local em que o YOLO compara o poço é que a penúltima camada está totalmente conectada e a grade 7 * 7 traseira não pode ser expandida demais, caso contrário, a conexão total frontal estourará. A grade é grande e a mesma grade pode incluir vários objetos pequenos, dificultando a detecção. O papel da conexão completa do YOLO é integrar informações globais.Para remover a conexão completa, você precisa aumentar o campo receptivo do último ponto, para que a profundidade residual seja muito adequada. Quando se trata de resíduos de profundidade, vamos falar sobre outro ponto. Em outro artigo, R-FCN: Detecção de Objetos por Redes Completamente Convolucionais Baseadas na Região, pelo autor do erro residual de profundidade Kaiming Dashen, é utilizado o pool espacial.Percebe-se que a profundidade residual é uma estrutura natural com efeito de pool espacial. Para acrescentar, a estrutura da CNN na frente do SSD deve ser totalmente simétrica, especialmente durante o agrupamento, para que o centro do campo de percepção no último ponto de saída coincida com o centro de cada grade. Se for assimétrico, ficará embaraçado quando o recurso for extraído na frente da CNN, resultando em um grande número de objetos pequenos que não são fáceis de aprender. Mas o YOLO finalmente teve uma conexão completa, o que foi bom, e o problema não era grande. Na última frase, a profundidade residual é sua própria estrutura de pool espacial.Como você entende isso? A menor unidade na profundidade residual é uma das duas barreiras de convolução de um lado, supondo que a função seja apenas traduzir a imagem e a outra esteja diretamente conectada, então a junta final é uma combinação espacialmente relacionada.

 

Acho que você gosta

Origin www.cnblogs.com/wujianming-110117/p/12729934.html
Recomendado
Clasificación