Estou ansioso para me inscrever em um mestrado em processamento de sinal e imagem, ou talvez Computer Vision (ainda não decidi), e essa questão surgiu.
Minha preocupação é que, como o aprendizado profundo não precisa de extração de recursos e quase nenhum pré-processamento de entrada, isso está matando o processamento de imagens (ou o processamento de sinais em geral)?
Não sou especialista em aprendizado profundo, mas parece funcionar muito bem em tarefas de reconhecimento e classificação, capturando imagens diretamente, em vez de um vetor de recursos, como outras técnicas.
Existe algum caso em que uma abordagem tradicional de extração de recursos + classificação seria melhor, usando técnicas de processamento de imagem, ou isso está morrendo por causa do aprendizado profundo?
Respostas:
Esta postagem foi atualizada muito. Na parte superior, você pode ver as atualizações de links. Abaixo, variações na resposta inicial. Para a versão curta: sucessos de redes neurais convolucionais e aprendizado profundo parecem uma espécie de revolução galileana. Para um ponto de vista prático, o processamento clássico de sinais ou a visão computacional estão inoperantes ... desde que você tenha dados rotulados suficientes, se preocupe pouco com falhas evidentes de classificação ( falhas profundas ), tenha energia infinita para executar testes sem pensar na pegada de carbono , e não se incomode com explicações racionais. Para os outros, isso nos fez repensar tudo o que fizemos antes: extração de recursos, otimização (cf. meu colega J.-C. Pesquet trabalha em Estruturas de Redes Neurais Profundas Resolvendo Desigualdades Variacionais), invariância, quantificação etc. E uma pesquisa realmente interessante está emergindo disso, esperançosamente alcançando princípios firmemente fundamentados e desempenho semelhante.
Links atualizados:
Referências de aprendizado profundo "passo a passo" no processamento padrão de sinal / imagem podem ser encontradas na parte inferior. Michael Elad acabou de escrever Deep, Deep Trouble: o impacto da Deep Learning no processamento de imagens, matemática e humanidade (SIAM News, 2017/05), trecho:
Esse tribuno é de interesse, pois mostra uma mudança do "processamento de imagem" tradicional, tentando modelar / entender os dados, para um campo de correção, sem tanta percepção.
Este domínio está evoluindo bastante rápido. Isso não significa que ele evolua em alguma direção intencional ou constante. Nem certo nem errado. Mas nesta manhã, ouvi o seguinte dizer (ou é uma piada?):
Aqui está minha tentativa muito curta: o aprendizado profundo pode fornecer resultados de última geração, mas nem sempre se entende o porquê , e parte do nosso trabalho de cientista permanece em explicar por que as coisas funcionam, qual é o conteúdo de um dado. etc.
O aprendizado profundo requer (enormes) bancos de dados bem marcados. Sempre que você faz trabalhos manuais em imagens únicas ou singulares (ou seja, sem um grande banco de dados por trás), especialmente em locais com pouca probabilidade de gerar "imagens com tags gratuitas baseadas no usuário" (no conjunto complementar do conjunto " gatos engraçados brincando e rostos ") , você pode manter o processamento de imagem tradicional por um tempo e obter lucro. Um tweet recente resume que:
Se eles estão sendo mortos (o que duvido em um aviso de curto prazo), eles ainda não estão mortos. Portanto, qualquer habilidade adquirida no processamento de sinais, análise de imagens e visão computacional o ajudará no futuro. Isso é discutido, por exemplo, no post do blog: Esquecemos a geometria na visão computacional? de Alex Kendall:
Um exemplo concreto pode ser o seguinte: algumas imagens muito escuras (por exemplo, vigilância) do mesmo local, que precisam avaliar se uma delas contém uma alteração específica que deve ser detectada, é potencialmente uma questão de processamento de imagem tradicional, mais do que Deep Learning (a partir de hoje).
Por outro lado, o sucesso do Deep Learning em larga escala, pode levar a uma classificação incorreta de um pequeno conjunto de dados, o que pode ser inofensivo "em média" para alguns aplicativos. Duas imagens que diferem apenas ligeiramente do olho humano podem ser classificadas de maneira diferente via DL. Ou imagens aleatórias podem ser definidas para uma classe específica. Veja, por exemplo, redes neurais profundas são facilmente enganadas: previsões de alta confiança para imagens irreconhecíveis (Nguyen A, Yosinski J, Clune J. Proc. Visão Computacional e Reconhecimento de Padrões 2015), ou o Deep Learning tem falhas profundas? , em negativos contraditórios:
Com todo o respeito ao "Deep Learning", pense em "produção em massa que responda a um comportamento registrado, conhecido, com validade em massa ou esperado" versus "peça de artesanato singular". Nenhum é melhor (ainda) em uma única escala de índice. Ambos podem ter que coexistir por um tempo.
No entanto, o aprendizado profundo invade muitas áreas novas, como descrito nas referências abaixo.
Felizmente, algumas pessoas estão tentando encontrar uma lógica matemática por trás do aprendizado profundo, um exemplo das quais são redes ou transformações de dispersão propostas por Stéphane Mallat e co-autores, consulte o site do ENS para dispersão . Análise harmônica e operadores não lineares, funções de Lipschitz, invariância de translação / rotação, melhor para o processamento médio de sinais. Veja, por exemplo, Noções básicas sobre redes convolucionais profundas .
fonte
Primeiro, não há nada de errado em fazer pós-graduação em processamento de imagens ou visão computacional e usar o aprendizado profundo. O aprendizado profundo não está matando o processamento de imagens e a visão computacional, é apenas o atual tópico de pesquisa atual nesses campos.
Segundo, o aprendizado profundo é usado principalmente no reconhecimento de categorias de objetos. Mas essa é apenas uma das muitas áreas da visão computacional. Existem outras áreas, como detecção de objetos, rastreamento, reconstrução 3D etc., muitas das quais ainda dependem de recursos "artesanais".
fonte
Nenhum Deep Learning não está matando o Image Processing. Você precisa de grandes conjuntos de dados e muitos recursos computacionais para realizar um aprendizado profundo. Existem muitas aplicações nas quais é desejável poder processar imagens com menos carga computacional e menor espaço de memória e sem ter acesso a grandes bancos de dados. Alguns exemplos são telefones celulares, tablets, câmeras móveis, automóveis, quadcopters. O aprendizado profundo é muito popular agora, pois existem alguns resultados impressionantes na classificação.
A classificação é um dos problemas entre os quais o Processamento de Imagem lida, mesmo que fosse verdade que o aprendizado profundo resolvesse todos os problemas de classificação, haveria muitos outros tipos de Processamento de Imagem a serem realizados. Redução de ruído, registro de imagens, cálculos de movimento, morphing / blending, nitidez, correções e transformações ópticas, geometrias de cálculo, estimativa 3D, modelos de movimento temporal 3D +, visão estéreo, compressão e codificação de dados, segmentação, desbaste, estabilização de movimento, computação gráfica, todos os tipos de renderização.
fonte
Hoje tivemos uma discussão com um amigo meu. Era um dia chuvoso aqui em Munique, enquanto grande parte da Europa estava tendo uma espécie de ambiente ensolarado. As pessoas estavam compartilhando fotografias nas mídias sociais, onde estavam em belos vestidos de verão, vagando pelos mares. Ela ficou irritada com essa situação e virou-se para mim e perguntou: "Você poderia escrever um software para bloquear as fotos nas mídias sociais, que envolvem fotos tão fofas do verão, quando o tempo está tão ruim aqui?". Eu disse porque não. Tudo o que você precisa fazer é reunir um conjunto enorme de imagens de verão e exemplos negativos, alimentá-lo por meio de uma rede, que faz uma classificação binária no nível de "Bloco" ou "Sem bloqueio". Treine e ajuste a rede. É isso aí.
Então, me virei para mim: realmente sei escrever um algoritmo simples para decidir se o tempo está bom ou não, sem deixar que a máquina pense por mim? Quase ... Talvez ... Para o leitor curioso, aqui estão alguns recursos que você pode querer criar, se tentar:
Obviamente, eu nem me importaria com esta publicação CVPR hoje em dia e apenas me aprofundaria. Portanto, por mais que eu goste do aprendizado profundo por seu desempenho robusto em muitos cenários, também o uso com cautela. Mesmo que isso não acabe com meu conhecimento sobre processamento de imagens, ele tende a diminuir a experiência no domínio necessária. Intelectualmente, isso não é muito elegante.
Assim que o indivíduo decidir se manter no caminho certo e se beneficiar dos dois mundos, ele estará no lado seguro.
fonte
A resposta curta é: Não. DL pode reconhecer uma caneca em uma foto, mas isso não mata o processamento do sinal de qualquer maneira. Dito isto, sua pergunta é bastante relevante nestes dias conturbados. Há um bom painel de discussão sobre o assunto, com Stephane Mallat, etc., aqui .
fonte
A engenharia de dados ainda é usada no aprendizado de máquina para pré-processar e selecionar os dados fornecidos aos DNNs para melhorar o tempo de aprendizado e a eficiência da avaliação. O processamento de imagem (o material entre o sensor da câmera e os bitmaps RGB / etc. Alimentados às DNNs), uma forma de engenharia de dados, ainda é necessário.
fonte
Uma compreensão completa do processamento de sinais (juntamente com álgebra linear, cálculo vetorial, estatística matemática etc.) é imo indispensável para trabalhos não triviais no campo da aprendizagem profunda, especialmente na visão computacional.
Alguns dos artigos de alto impacto na aprendizagem profunda (agora que a maioria dos frutos baixos foram colhidos) demonstram uma boa compreensão dos conceitos de processamento de sinal.
Alguns conceitos motivacionais:
A lista continua. Portanto, mesmo que você acabe trabalhando com visão computacional e aplicando aprendizado profundo a seus problemas, o histórico de processamento de sinais tornará as coisas muito fáceis de entender para você.
fonte
Realmente não faço muito processamento de imagens, mas trabalhei para uma organização (Marinha dos EUA) que fez e financiou pesquisas em classificação de sinais na última vez em que o Neural Nets foi um assunto quente, entre meados e o final dos anos 80. Eu tive que passar por um grande número de material de marketing. Os argumentos foram na linha de:
Foi preciso o livro de Bishop para reprimir meu cinismo.
Em mais de algumas aplicações, o algoritmo ideal de processamento de sinal exigirá uma pesquisa exaustiva de enumeração em um grande espaço de parâmetros que rapidamente se torna intratável. Um grande farm de servidores pode aumentar esse espaço de pesquisa possível, mas em algum momento, você precisa encontrar uma heurística. O DL parece ser capaz de encontrar algumas dessas heurísticas, mas não resolve a otimização rígida do NP subjacente.
fonte
Minha perspectiva da universidade era que muitas pessoas de processamento de sinais eram um pouco hostis em relação à ML, suspeito porque se sentiram ameaçadas por estar invadindo seu domínio. Mas, recentemente, tem havido muita pesquisa sobre os benefícios de redes neurais profundas complexas e com valor, o que pode sugerir que o bilhete de ouro é realmente um entendimento sólido de ambas as disciplinas.
fonte
Bem, sim. Da mesma forma que o desenvolvimento em linguagens de programação de nível superior como C ++ e Python 'matou' a programação de montagem. Isso não significa que é irrelevante aprender montagem quando você se matricula em um curso de CS. Ele fornece uma excelente visão de como o computador funciona, o que acontece nos bastidores de linguagens de nível superior, quais são os princípios básicos da linguagem de computador etc. Mas ninguém em sã consciência agora programaria um aplicativo de desktop em assembly.
fonte