L'apprendimento profondo sta uccidendo l'elaborazione delle immagini / la visione computerizzata?


52

Non vedo l'ora di iscrivermi a un Master in elaborazione di segnali e immagini, o forse Computer Vision (non ho ancora deciso), e questa domanda è emersa.

La mia preoccupazione è che, dal momento che l'apprendimento profondo non ha bisogno dell'estrazione delle caratteristiche e quasi nessuna pre-elaborazione dell'input, sta uccidendo l'elaborazione delle immagini (o l'elaborazione del segnale in generale)?

Non sono un esperto di deep learning, ma sembra funzionare molto bene nelle attività di riconoscimento e classificazione prendendo direttamente le immagini invece di un vettore di funzionalità come altre tecniche.

Esiste un caso in cui un approccio tradizionale di estrazione delle caratteristiche + classificazione sarebbe migliore, facendo uso delle tecniche di elaborazione delle immagini, o sta morendo a causa del deep learning?


3
Riaprendo questo perché ha un numero elevato di voti e la risposta più votata ha un numero molto alto di voti.
Peter K.

1
@LaurentDuval Penso che ogni risposta sia stata utile e molto interessante, ma soprattutto le tue e quelle matematiche (insieme alla discussione che è venuta in mente) hanno davvero chiarito l'argomento.
Tony,

2
Vorrei fare un bivio nella discussione in corso. Chi ha detto che il deep learning non richiede l'estrazione delle funzionalità? Nella mia esperienza pratica, non dovremmo formare DNN per dati non elaborati. Dobbiamo fare un po 'di estrazione delle caratteristiche e anche possedere una conoscenza di base dell'immagine. L'apprendimento profondo dovrebbe essere usato con cura, ma è anche una buona idea.
Arun Raj,

Risposte:


45

Questo post è stato aggiornato molto. In alto, puoi vedere gli aggiornamenti dei link. Di seguito, variazioni sulla risposta iniziale. Per la versione breve: i successi delle reti neurali convoluzionali e l'apprendimento profondo sembrano una sorta di rivoluzione galileiana. Per un punto di vista pratico, l'elaborazione del segnale classico o la visione al computer sono morti ... a condizione che tu abbia abbastanza dati etichettati, ti preoccupi poco degli evidenti fallimenti della classificazione ( difetti profondi ), hai energia infinita per eseguire test senza pensare all'impronta di carbonio , e non disturbare spiegazioni razionali. Per gli altri, questo ci ha fatto ripensare a tutto ciò che abbiamo fatto in precedenza: estrazione delle caratteristiche, ottimizzazione (cfr. Il mio collega J.-C. Pesquet lavora su strutture di reti neurali profonde risolvendo le disuguaglianze variazionali), invarianza, quantificazione, ecc. E da questo emerge una ricerca davvero interessante, si spera che stia raggiungendo principi ben radicati e prestazioni simili.

Link aggiornati:

Introduciamo esempi di contraddittorio naturale - esempi reali, non modificati e presenti in natura che causano un degrado significativo della precisione del classificatore. Curiamo 7.500 esempi di avversari naturali e li rilasciamo in un set di test del classificatore ImageNet che chiamiamo ImageNet-A. Questo set di dati funge da nuovo modo per misurare la robustezza del classificatore. Come gli esempi del contraddittorio l_p, gli esempi di ImageNet-A vengono trasferiti correttamente ai classificatori invisibili o black-box. Ad esempio, su ImageNet-A un DenseNet-121 ottiene una precisione di circa il 2%, un calo di precisione di circa il 90%. Il recupero di questa precisione non è semplice perché gli esempi di ImageNet-A sfruttano i difetti profondi degli attuali classificatori, inclusa la loro eccessiva dipendenza da colore, trama e segnali di sfondo. Osserviamo che le tecniche di allenamento popolari per migliorare la robustezza hanno scarso effetto, ma mostriamo che alcune modifiche architettoniche possono migliorare la solidità agli esempi contraddittori naturali. Sono necessarie ricerche future per consentire una solida generalizzazione a questo set di test di ImageNet.

In fondo si trovano riferimenti all'apprendimento approfondito "stepping" sull'elaborazione standard di segnali / immagini. Michael Elad ha appena scritto Deep, Deep Trouble: Deep Learning's Impact on Image Processing, Mathematics and Humanity (SIAM News, 2017/05), estratto:

Quindi le reti neurali tornarono improvvisamente e con una vendetta.

Questa tribuna è interessante, in quanto mostra un passaggio dalla tradizionale "elaborazione delle immagini", cercando di modellare / comprendere i dati, verso un regno di correttezza, senza troppe intuizioni.

Questo dominio si sta evolvendo abbastanza velocemente. Ciò non significa che si evolva in una direzione intenzionale o costante. Né giusto né sbagliato. Ma stamattina ho sentito il seguente detto (o è uno scherzo?):

un cattivo algoritmo con un enorme set di dati può fare meglio di un algoritmo intelligente con dati pauce .

Ecco il mio brevissimo tentativo: l'apprendimento approfondito può fornire risultati all'avanguardia, ma non si capisce sempre perché , e parte del nostro lavoro di scienziati continua a spiegare perché le cose funzionano, qual è il contenuto di un dato , eccetera.

L'apprendimento profondo richiede (enormi) database ben etichettati. Ogni volta che fai lavori artigianali su immagini singole o singole (cioè senza un enorme database dietro), specialmente in luoghi che difficilmente producono "immagini taggate basate sull'utente gratuite" (nel set complementare del set " gatti divertenti che giocano a giochi e volti ") , è possibile attenersi all'elaborazione tradizionale delle immagini per un po 'di tempo e a scopo di lucro. Un recente tweet riassume che:

(un sacco di) i dati etichettati (senza errori mancanti) requisito è un affare (e non necessario) per molti domini

Se vengono uccisi (di cui dubito a breve termine), non sono ancora morti. Quindi qualsiasi competenza acquisita nell'elaborazione del segnale, nell'analisi delle immagini, nella visione artificiale ti aiuterà in futuro. Questo è per esempio discusso nel post del blog: Abbiamo dimenticato la geometria in Computer Vision? di Alex Kendall:

L'apprendimento profondo ha rivoluzionato la visione del computer. Oggi non ci sono molti problemi in cui la soluzione con le migliori prestazioni non si basa su un modello di apprendimento profondo end-to-end. In particolare, le reti neurali convoluzionali sono popolari in quanto tendono a funzionare abbastanza bene fuori dagli schemi. Tuttavia, questi modelli sono in gran parte grandi scatole nere. Ci sono molte cose che non capiamo su di loro.

Un esempio concreto può essere il seguente: un paio di immagini molto scure (ad es. Sorveglianza) dalla stessa posizione, che devono valutare se una di esse contiene un cambiamento specifico che dovrebbe essere rilevato, è potenzialmente una questione di elaborazione tradizionale delle immagini, più che Deep Learning (ad oggi).

D'altra parte, se il Deep Learning ha successo su larga scala, può portare a un'errata classificazione di un piccolo set di dati, che potrebbe essere innocuo "in media" per alcune applicazioni. Due immagini che differiscono leggermente dall'occhio umano potrebbero essere classificate in modo diverso tramite DL. Oppure le immagini casuali potrebbero essere impostate su una classe specifica. Vedi, ad esempio, le reti neurali profonde sono facilmente ingannabili: previsioni di elevata sicurezza per immagini irriconoscibili (Nguyen A, Yosinski J, Clune J. Proc. Computer Vision e Pattern Recognition 2015) o Deep Learning hanno profondi difetti? , su negativi avversari:

La rete può classificare erroneamente un'immagine dopo che i ricercatori hanno applicato una certa perturbazione impercettibile. Le perturbazioni si trovano regolando i valori dei pixel per massimizzare l'errore di previsione.

Con tutto il rispetto per il "Deep Learning", pensa alla "produzione di massa che risponde a un comportamento registrato, noto, validabile in massa o atteso" rispetto a "singolo pezzo di artigianato". Nessuno è migliore (ancora) in una singola scala di indice. Entrambi potrebbero dover coesistere per un po '.

Tuttavia, l'apprendimento profondo pervade molte nuove aree, come descritto nei riferimenti seguenti.

Fortunatamente, alcune persone stanno cercando di trovare una logica matematica dietro l'apprendimento profondo, un esempio dei quali sono le reti di diffusione o le trasformazioni proposte da Stéphane Mallat e coautori, vedi il sito ENS per la diffusione . Analisi armoniche e operatori non lineari, funzioni di Lipschitz, invarianza traslazione / rotazione, migliore per la persona media di elaborazione del segnale. Vedere ad esempio Comprensione di reti convoluzionali profonde .


1
L'aumento dei dati di allenamento insufficienti utilizzando copie opportunamente modificate aiuta l'apprendimento profondo a generalizzare. Ultimamente, sono stati trovati modi per aggirare la necessità di una codifica supervisionata completa: l'aumento dei dati senza supervisione genera automaticamente etichette per la parte senza etichetta dei dati di formazione nell'apprendimento semi-supervisionato e li utilizza per la formazione. (Sentiti libero di incorporare questa o altre informazioni simili nella risposta.)
Olli Niemitalo

1
Se sai come aumentare "in modo coerente". OK sui set di dati classici, ancora camminando sui dati scientifici che tratterò (geologia, chimica)
Laurent Duval

@Laurent, a proposito di quello che hai detto: "il nostro lavoro di scienziato continua a spiegare perché le cose funzionano" : sembra che la scienza dei dati sia una carriera valida per il somoeone, considerando di lavorare seriamente su DSP. Ci sono altri nomi oltre al tipico titolo di "ingegnere DSP" di cui hai sentito parlare?
JFonseca,

21

In primo luogo, non c'è nulla di sbagliato nel fare un lavoro di laurea nell'elaborazione di immagini o nella visione al computer e nell'uso del deep learning. L'apprendimento profondo non sta uccidendo l'elaborazione delle immagini e la visione al computer, è semplicemente l'argomento di ricerca attuale in quei campi.

In secondo luogo, l'apprendimento profondo viene utilizzato principalmente nel riconoscimento delle categorie di oggetti. Ma questa è solo una delle molte aree della visione artificiale. Esistono altre aree, come il rilevamento di oggetti, il tracciamento, la ricostruzione 3D, ecc., Molte delle quali si basano ancora su funzionalità "realizzate a mano".


5
Fai attenzione: i DNN sono molto capaci di fare tutto ciò che dici: rilevamento di oggetti, tracciamento, ricostruzione 3D, ecc. Detto questo, l'elaborazione del segnale è una visione degli aspetti fisici di come i segnali vengono manipolati e perché dovremmo manipolarli in qualche modo - e quelli (credo) torneranno indietro per spiegare perché gli algoritmi adattativi come i DNN funzionano. Ma non commettere errori: i DNN sono molto ben capaci di trasformare le basi dall'input e fino all'obiettivo target (differenziabile).
Tarin Ziyaee,

11

Nessun Deep Learning non sta uccidendo l'elaborazione delle immagini. Hai bisogno di enormi set di dati e molte risorse computazionali per fare l'apprendimento profondo. Esistono molte applicazioni in cui è desiderabile poter eseguire l'elaborazione delle immagini con meno carico computazionale e ingombri di memoria inferiori e senza avere accesso a enormi database. Alcuni esempi sono telefoni cellulari, tablet, telecamere mobili, automobili, quadricotteri. L'apprendimento profondo è molto apprezzato in questo momento in quanto esistono alcuni risultati molto impressionanti nella classificazione.

La classificazione è un problema tra i molti di cui si occupa dell'elaborazione delle immagini, quindi anche se fosse vero che l'apprendimento approfondito avrebbe risolto tutti i problemi di classificazione, resterebbero molti altri tipi di elaborazione delle immagini. Riduzione del rumore, registrazione delle immagini, calcoli del movimento, morphing / blending, nitidezza, correzioni ottiche e trasformazioni, geometrie di calcolo, stima 3D, modelli di movimento temporale 3D +, visione stereo, compressione e codifica dei dati, segmentazione, sbavatura, stabilizzazione del movimento, computer grafica, tutti i tipi di rendering.


Denoising, stima 3D, ecc., Tutti quelli che hai citato sono molto in grado di essere approssimati e risolti da DNN di architettura appropriata e dati appropriati.
Tarin Ziyaee,

1
Sì sì e puoi fare la spesa settimanale in una Jaguar (ma non è per questo che sono stati costruiti).
matematico

1
Hehe, vero - ma questo è diverso da dire che non puoi acquisti utilizzando il tuo giaguaro.
Tarin Ziyaee,

È facile imporre utili vincoli a un problema di ingegneria che i DNN sono piuttosto scadenti da gestire. Ad esempio un vincolo che il metodo utilizzato non dovrebbe essere distorto verso un determinato insieme di dati di input. Quindi i DNN saranno ovviamente squalificati di default in quanto hanno tutti bisogno di formazione e quindi saranno distorti usando i dati di formazione.
Mathathler,

Questo è vero per qualsiasi strumento di ingegneria: ma non è questo il punto. Il punto è che tutte quelle attività che hai menzionato sopra, in realtà , possono essere risolte molto bene con i DNN. Sì, alcuni sono sviluppi più recenti, ma è fuorviante dire che non possono essere risolti con i DNN! È tutto!
Tarin Ziyaee,

11

Oggi abbiamo avuto una discussione con un mio amico. È stata una giornata piovosa qui a Monaco, mentre gran parte dell'Europa stava vivendo una sorta di atmosfera solare. Le persone condividevano fotografie sui social media, dove erano in bei abiti estivi, vagando per i mari. Era seccata da questa situazione e si rivolse a me e mi chiese: "Potresti scrivere un software per bloccare le immagini sui social media, che coinvolgono foto così carine dell'estate, quando il tempo è così cattivo qui?". Ho detto, perché no. Tutto quello che devi fare è raccogliere un enorme set di immagini estive ed esempi negativi, alimentarlo attraverso una rete, che fa una classificazione binaria a livello di "Blocco" o "Nessun blocco". Addestra e ottimizza la rete. Questo è tutto.

Poi, mi sono rivolto a me stesso: so davvero come scrivere un semplice algoritmo per decidere se il tempo è bello o no, senza lasciare che la macchina faccia il pensiero per me? A malapena ... Forse ... Per il lettore curioso, ecco alcune caratteristiche che potresti voler progettare, se provassi a provarci:

Classificazione meteorologica a due classi, Cewu Lu§ Di Lin, Jiaya Jia, Chi-Keung Tang , CVPR 2014

Ovviamente, non mi interesserebbe nemmeno questa pubblicazione CVPR al giorno d'oggi e approfondire. Quindi, per quanto mi piaccia il deep learning per le sue solide prestazioni in molti scenari, lo uso anche con cautela. Anche se non ucciderebbe la mia conoscenza dell'elaborazione delle immagini, tende a ridurre l'esperienza di dominio di cui ho bisogno. Intellettualmente, questo non è molto elegante.

Non appena l'individuo decide di tenersi in carreggiata e beneficia di entrambi i mondi, sarà al sicuro.


7

La risposta breve è: No. DL può riconoscere una tazza in una foto, ma questo non uccide comunque l'elaborazione del segnale. Detto questo, la tua domanda è abbastanza rilevante in questi giorni travagliati. C'è una bella tavola rotonda sull'argomento, con Stephane Mallat, ecc., Qui .


5

L'ingegneria dei dati è ancora utilizzata nell'apprendimento automatico per preelaborare e selezionare i dati inviati ai DNN per migliorare il loro tempo di apprendimento e la loro efficienza di valutazione. L'elaborazione delle immagini (il materiale tra il sensore della fotocamera e le bitmap RGB / ecc. Inviate ai DNN), è ancora necessaria una forma di ingegneria dei dati.


4

Una conoscenza approfondita dell'elaborazione del segnale (insieme ad algebra lineare, calcolo vettoriale, statistiche matematiche ecc.) È indispensabile per il lavoro non banale nel campo dell'apprendimento profondo, specialmente nella visione artificiale.

Alcuni dei lavori di grande impatto nel deep learning (ora che è stata raccolta la maggior parte dei frutti a bassa pendenza) dimostrano una buona comprensione dei concetti di elaborazione del segnale.

Alcuni concetti motivazionali:

  • Convoluzioni dilatate : dai un'occhiata a questo post sul blog . Una delle prime equazioni ci sarebbe pane e burro per una persona ben fondata (hah) nei concetti di elaborazione del segnale. È anche strettamente correlato all'algoritmo a trous trovato nell'elaborazione classica del segnale wavelet.
  • Livelli convoluzionali trasposti / Livelli Deconv. Ancora una volta, concetti di elaborazione del segnale di base.
  • Elaborazione di filtri conv - è necessaria una buona idea delle norme dell'operatore e della mappatura delle contrazioni. Questo di solito si trova in un corso di laurea specialistica in Teoria dei segnali o sistemi di controllo o nei corsi di matematica sull'analisi (reali o funzionali).
  • Esempi contraddittori : uno dei primi lavori per indagare su questo ( "Proprietà intriganti di ..." ) lo formalizzò in termini di perturbazioni e usò costanti di Lipschitz dei vari strati e non linearità in una rete neurale per limitare la sensibilità a tali perturbazioni. D'accordo, l'analisi è stata molto preliminare, ma ritengo ancora una volta che dimostri che fare progressi non banali in qualcosa, compreso l'apprendimento profondo, richiede una comprensione non banale della teoria.

L'elenco continua. Quindi, anche se finisci per lavorare nella visione artificiale e applicare l'apprendimento profondo ai tuoi problemi, il background di elaborazione del segnale renderà le cose molto facili da capire per te.


1
Sì. Qualsiasi scorciatoia presa per non dover imparare cosa alimentare alla rete dovrà essere appresa nel modo più duro da prestazioni peggiori.
matematico

4

In realtà non faccio molta elaborazione delle immagini, ma ho lavorato per un'organizzazione (US Navy) che ha fatto e finanziato la ricerca nella classificazione dei segnali l'ultima volta che le reti neurali sono state un argomento caldo, dalla metà alla fine degli anni '80. Ho dovuto affrontare un gran numero di cose essenzialmente di marketing. Gli argomenti erano sulla falsariga di:

  • È neurale, come il tuo cervello e dal momento che ha sovraperformato un classificatore lineare, batte le tecniche statistiche. In realtà conosco alcune persone che hanno rifiutato i loro articoli perché hanno usato le statistiche per valutare le prestazioni.
  • Le reti neurali sono induttive, possono classificare le cose correttamente se nessuno o pochi esempi erano nei loro set di allenamento.
  • DARPA sta finanziando il lavoro e sappiamo tutti che tutto ciò che fa DARPA è un vincitore (Google non era ancora in giro)
  • Le prestazioni non sono meravigliose, non ho bisogno di una matrice di confusione, non ho bisogno di priori di classe, posso solo dirti qual è la mia probabilità di errore. Non ho bisogno di limiti, mi limiterò a tenere duro e riqualificare il riordino.
  • Scegli alcune funzionalità e provaci, è una scatola nera, il ridimensionamento, l'allineamento dei dati, il rifiuto del disordine, le etichette difettose, il verificarsi di più classi, non è un mio problema.
  • La nebbia della matematica, Boltzmann Machines
  • Lanciamo un SVD e forse una cosa di dimensione frattale.
  • L'esca e l'interruttore supervisionati / non controllati, troverò tutti i tuoi schemi nascosti. Questa cosa della memoria associativa non è profonda?

Ci è voluto il libro di Bishop per reprimere il mio cinismo.

In più di alcune applicazioni, l'algoritmo di elaborazione del segnale ottimale richiederà una ricerca esaustiva di enumerazione su un ampio spazio di parametri che diventa rapidamente intrattabile. Una server farm di grandi dimensioni può aumentare lo spazio di ricerca raggiungibile, ma a un certo punto è necessario trovare un'euristica. DL sembra essere in grado di trovare alcune di quelle euristiche ma non risolve l'ottimizzazione del NP sottostante.


Hai perfettamente ragione a smorzare il cinismo in quanto sembra abbattere molte persone. A volte vorrei averlo imparato prima nella vita.
Mathathler,

3

La mia prospettiva all'università era che molte persone che elaboravano il segnale erano un po 'ostili nei confronti della ML, sospetto perché si sentivano minacciati che stava invadendo il loro dominio. Ma recentemente ci sono state molte ricerche sui benefici di complesse reti neuronali profonde, che potrebbero suggerire che il biglietto d'oro è davvero una solida comprensione di entrambe le discipline.


1
Sì. L'elaborazione del segnale è strettamente correlata all'apprendimento automatico. Una solida conoscenza dell'elaborazione del segnale aiuta a capire come costruire e utilizzare gli algoritmi ML e con quale tipo di dati è (non) adatto per alimentarli.
matematico

2

Beh si. Allo stesso modo, lo sviluppo di linguaggi di programmazione di livello superiore come C ++ e Python ha "ucciso" la programmazione degli assembly. Ciò non significa che sia irrilevante imparare l'assemblea quando ti iscrivi a un corso CS. Fornisce una visione approfondita di come funziona il computer, cosa succede dietro le quinte di linguaggi di livello superiore, quali sono i principi di base del linguaggio del computer, ecc. Ma nessuno nella sua mente corretta ora programmerebbe un'app desktop in assemblea.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.