Processamento e recuperação de informações visuais - uma cartilha
- visão geral
- Tecnologia Tradicional de Reconhecimento de Imagem
- Deep Learning e Reconhecimento de Imagem
visão geral
alvo de reconhecimento de imagem
Deixe o computador classificar imagens com conceitos semânticos semelhantes na mesma categoria
Reconhecimento de imagem enfrenta desafios
lacuna semântica
-
A lacuna entre recursos visuais de baixo nível e conceitos semânticos de alto nível de imagens
- Recursos visuais diferentes, conceito igual (perspectiva diferente, iluminação diferente, tamanho diferente)
- Propriedades visuais semelhantes, conceitos semânticos diferentes
-
Antes do aprendizado profundo, sempre quis definir diferentes recursos e escalas para expressar a imagem de maneira mais abrangente.
-
O aprendizado profundo evita esse problema. Muitas camadas de redes neurais podem representar informações de diferentes camadas e completar a expressão de recursos, que são mais fortes e precisos do que os recursos definidos artificialmente.
Estrutura básica de reconhecimento de imagem
Espaço de Medição -> Espaço de Recurso -> Espaço de Categoria
A diferença entre métodos tradicionais e métodos de aprendizado profundo
-
Abordagem Tradicional: Recursos de Design
-
Deep Learning: recursos de aprendizado
Tecnologia Tradicional de Reconhecimento de Imagem
Primeira tecnologia de reconhecimento de imagem (1990-2003)
Processo: extração de recursos (cor, borda) → tecnologia de indexação → feedback relevante → reordenamento
Nota: Mas nos primeiros dias, ainda eram relativamente poucos, porque o armazenamento do computador e o poder de computação não estavam à altura.
Extração de recursos globais
As imagens são representadas como vetores.
Represente imagens com estatísticas de recursos visuais globais de baixo nível.
- cor
- forma
- textura
processo
Imagem original → mapeamento do espaço vetorial → representação vetorial (as imagens com alta similaridade estão mais próximas dos pontos identificados no espaço)
transformação de recursos
Melhorando o desempenho da representação de recursos
-
transformação do espaço
- Objetos semelhantes → distância próxima
- Objetos diferentes → longe
-
aprendizado múltiplo / incorporação
- Mapeado para uma representação vetorial em um espaço de baixa dimensão, métodos comumente usados, como PCA, MDS, ISOMAP, LLE, Laplacian Eigenmap
-
transformação de recurso simples
- centralizado
- Normalizado
tecnologia de indexação
- Pesquisa exaustiva
- A eficiência é muito baixa e a complexidade do tempo é muito alta
- Formas de melhorar
- Sacrifique a precisão para encontrar os vizinhos mais próximos aproximados
- método comum
- KD-Tree,LSH (Hashing sensível à localidade)
feedback relevante
tipo de feedback
- Feedback explícito: feedback positivo ou negativo
- Feedback implícito: inferir a intenção do usuário a partir do comportamento observável
reordenar
De acordo com o feedback relevante, recalcule o valor de peso e distância e faça um reordenamento.
Problemas com o reconhecimento antecipado de imagens
Os recursos globais perdem detalhes da imagem
Exemplo: O histograma global de cores perderá as informações de posição.
Solução: Divida uma imagem em vários blocos e faça um histograma de cores para cada bloco, de modo a representar as informações de posição até certo ponto, e haverá a tecnologia de reconhecimento de imagem de médio prazo .
Tecnologia de reconhecimento de imagem de médio prazo (2003-2012)
Extração de recursos → vetorização → tecnologia de indexação → pós-processamento
O modelo clássico de pesquisa de texto - modelo saco de palavras (Bag - of - Words)
Extraia as palavras-chave do documento e veja como o texto pesquisado corresponde às palavras-chave.
As imagens também podem usar semelhantes (Bag - of - Words), ou seja, sacos de palavras visuais.
extração de características
Local Feature: o vetor do bloco de imagem (patch)
Pode ser usado para representar: informações de localização + informações de conteúdo visual
-
Qual bloco na imagem - coordenadas do bloco:
- Detector de recursos
- Detectar a posição central do bloco de imagem (pontos de interesse)
- Detectores locais: Harris, DoG, SURF, Harris - Affine, Hessian - Affine e MSER...
-
Represente patches de imagem como vetores:
- Descritor de recurso (Descritor de recurso)
- Descreva o conteúdo visual do bloco
- Descritores locais: SIFT, PCA - SIFT, GLOH, Shape Context, ORB, COGE...
vetorização
Geração de Dicionário Visual
Corresponda o vetor de imagem ao espaço do recurso e, em seguida , forme palavras-chave visuais de acordo com o agrupamento de recursos .
recursos locais → palavras-chave visuais
-
Os recursos locais são transformados em palavras-chave visuais (ou seja, quantização de recursos, quantização de recursos)
- Para cada recurso local, encontre a palavra-chave visual mais próxima de sua altura no dicionário visual e converta o vetor do recurso local no número de sequência da palavra-chave visual no dicionário.
-
Técnicas comuns de quantização de recursos
- Hierárquico 1- NN (vizinho mais próximo)
- KD - árvore
Representação de imagens com base em palavras-chave visuais
Imagem → (extração de recursos) → recurso local → (quantificação de recursos) → conjunto visual de palavras → histograma do número de palavras-chave visuais
tecnologia de indexação
-
índice invertido
-
Classificação: de acordo com diferentes palavras visuais, pondere as imagens recuperadas → ponderação tf - IDF (Frequência do termo - frequência inversa do documento)
Pós-processamento
-
Expansão da consulta: o item de consulta original contém mais recursos locais e, em seguida, a consulta estendida é realizada.
-
Outras técnicas de pós-processamento: verificação geométrica local, quantização do produto, etc.
Resumir
As características da tecnologia de reconhecimento de imagem no início e no médio prazo: a recuperação da imagem é realizada por meio de recursos de nível inferior e intermediário definidos artificialmente, e os recursos e recursos são todos definidos manualmente.
Vantagem: A diretividade do recurso de configuração manual é mais clara.
Desvantagens: Existem muitas restrições e, às vezes, os recursos representam apenas imagens parciais.
Deep Learning e Reconhecimento de Imagem
Por meio do aprendizado profundo, o computador pode determinar as características por si só, de modo que o resultado obtido
Aplicação de deep learning no campo da imagem
-
recuperação de imagem
-
Identificar tumores anormais ou células cancerígenas
-
Descrição da imagem
-
colorir imagem
Por que usar aprendizado profundo
- Método tradicional: extração manual de recursos + classificador
- Aprendizado profundo: A seleção manual de recursos é um método muito trabalhoso e heurístico (requer conhecimento profissional).Se ele pode ser selecionado depende muito da experiência e da sorte, e seu ajuste leva muito tempo. O aprendizado profundo evita essa deficiência.
Simule o mecanismo visual do cérebro humano
nervo - central - cérebro
- Da entrada de sinal bruto (pixels de entrada pupilar) → processamento preliminar (córtex cerebral encontra bordas e direções) → abstração (julgamento cerebral, a forma do objeto à sua frente é circular) → abstração adicional (julgamento do progresso cerebral O objeto é um humano face)
- A partir do sinal original, faça a abstração de baixo nível e itere para a abstração de alto nível, um por um.
- Espaço de medição (representação) → espaço de recurso (conceito)
Como usar o aprendizado profundo
O propósito de usar aprendizado de máquina (aprendizagem profunda): encontrar uma função.
processo de aprendizado
- Determinar o conjunto de funções - construir um modelo, estrutura de rede (humana)
- Como avaliar bom ou ruim - função de perda (humana)
- Chame a melhor função - aprendizado de parâmetros (máquina)
Observação:
Muitas redes já possuem uma rede backbone . Primeiro, alguns parâmetros são obtidos através do treinamento da rede backbone, e então o ajuste do treinamento é feito através de seu próprio conjunto de dados para obter a rede real final (pode ser usado quando o número de dados conjuntos é relativamente pequeno).
Etapas para uso
Qual estrutura de rede escolher?
-
neurônios
-
Redes neurais
-
função de ativação
- Para simplificar a mesma rede neural, a função de ativação deve ser a mesma
- Por que introduzir a função de ativação?
- Para aumentar a capacidade expressiva da rede, precisamos de uma função de ativação para converter funções lineares -> funções não lineares.
- Funções de ativação não lineares requerem continuidade. Como a função de ativação não linear contínua pode ser derivada, ela pode ser resolvida por um método de otimização.
-
rede neural feedforward
-
camada de entrada
-
Camadas ocultas (mais camadas ocultas significa rede mais profunda)
-
camada de saída
-