Loading

Alison's New App is now available on iOS and Android! Download Now

Study Reminders
Support
Text Version

Set your study reminders

We will email you at these times to remind you to study.
  • Monday

    -

    7am

    +

    Tuesday

    -

    7am

    +

    Wednesday

    -

    7am

    +

    Thursday

    -

    7am

    +

    Friday

    -

    7am

    +

    Saturday

    -

    7am

    +

    Sunday

    -

    7am

    +

Rivederemo la storia della visione informatica negli ultimi decenni solo per dare una prospettiva di dove il campo è partito e come si è evoluto negli ultimi decenni. Quindi, questa lezione è strutturata in quattro parti. Descriveremo brevemente i fori molto iniziali in campo negli anni cinquanta, sessanta e settanta. Poi parleremo di abbinamenti che hanno contribuito alla comprensione a basso livello delle immagini negli anni '80s in gran parte, poi passeremo ad altissimamente la comprensione della comunità presa negli anni' 90s e ' 2000s e naturalmente copriremo una breve storia di deep learning nell'ultimo decennio o così. (1.01) Per iniziare con un disclaimer, questa sarà una storia del campo come catturata da più fonti: il libro di Szeliski così come molte altre fonti citate su ognuna delle slide. Può trattarsi di una storia leggermente biasquale da più prospettive: 1) forse il modo in cui l'ho visto e l'ho visto essere importante per favore, a nudo con quel bias personale. 2) Può anche essere biased agli argomenti che ricopriamo nel corso, potrebbe non coprire visione a base di fisica, visione a geometria in troppi dettagli. Ancora una volta vi rimando a quei libri di cui abbiamo parlato nella lezione precedente se volete conoscerli più in dettaglio. C'è anche una leggera predisposizione al lavoro intorno alle immagini, più quel video ma ancora speriamo che questa slide ti dia una prospettiva di campo e come si sia evoluta negli ultimi decenni. (1.53) La prima storia della visione dei computer risale agli anni ' 50s quando due ricercatori David Hubel e Torsten Wiesel hanno pubblicato il loro lavoro chiamato " Receptive fields of single neurons in the cat's striate cortex". Così, hanno condotto esperimenti multipli per capire come funziona la corteccia di visione dei mammiferi e hanno preso un gatto e hanno fatto molti esperimenti al riguardo ma hanno inserito elettroni in un gatto sedato e poi hanno cercato come il fuoco dei neuroni del gatto rispetto agli stimoli visivi presentati al gatto. Incidentalmente per parecchio tempo a lungo, non hanno potuto fare testa e accidentalmente hanno scoperto che il fuoco neuronale del gatto quando hanno scambiato le slide nel proiettore davanti al gatto. Inizialmente erano perplessi, ma poi si sono resi conto e quello era una delle loro proposizioni che i bordi creati sullo schermo dalla slide inserita nel proiettore era ciò che ha sparato un neurone nel gatto. Uno degli esiti dei loro primi esperimenti è stato che il neurone semplice e complesso esiste nella corteccia visiva dei mammiferi e che l'elaborazione visiva inizia con strutture semplici come i bordi orientati. Così, Hubel e Wiesel di fatto hanno fatto molti più esperimenti nei prossimi due decenni. In realtà hanno vinto il premio Nobel nel 1981 per il loro lavoro nella comprensione della corteccia visiva dei mammiferi. Ecco, questo è uno dei primi sforzi nella visione dei computer. (3.35) Nello stesso anno nel 1959 c'era in realtà anche un altro grande sviluppo, che era di Russell Kirsch e i suoi colleghi erano per la prima volta rappresentavano un'immagine come un set di 1s e 0s. Così, rappresentare un'immagine come griglia numero è un'enorme conquista che è qualcosa che la ereditiamo fino ad oggi e di fatto la prima immagine scattata era del figlio neonato di Russell che era un 5 centimetro di 5 centimetri foto. Circa 176 array cross 176 che è stato catturato in quel determinato momento. Questo è considerato come una conquista così grande nel campo della visione, che questa particolare foto sia ancora conservata nel Portland Art Museum negli USA. (4.24) Poi nel 1963 c'è stato uno sviluppo significativo da parte di una persona chiamata Lawrence Roberts e ha scritto una tesi di dottorato su "Machine Perception of 3 Dimensional Solids". La tesi di dottorato in realtà è iperlegata su questa particolare slide. Quindi, per favore date un'occhiata se siete interessati. Ma penso che questa tesi avesse qualche idea anche oltre i suoi tempi a quel punto. Così, la tesi discussa da Roberts ha parlato di estrazione di informazioni 3D su oggetti solidi da 2D fotografie di disegni di linea. Quindi, se si ricorda quello che abbiamo parlato nella lezione precedente, abbiamo detto che l'obiettivo della visione del computer è quello di capire il mondo 3D che ci circonda da una immagini 2D che otteniamo o i video 2D che otteniamo. In qualche misura questo è quanto si parlava di ritorno in quella tesi di dottorato nei primi anni ' 60s. Quindi, la tesi ha discusso temi come le trasformazioni della fotocamera, gli effetti di prospettiva, le regole e le ipotesi di percezione della profondità così via e così via. Curiosamente, Lawrence Roberts si è trasferito da questo argomento ed è in realtà più famoso per qualche altro grande sviluppo che tutti gli dobbiamo. Quindi, lascio che come un quiz banale per te lo scopri. Ne parleremo nella prossima classe. Ma prova a scoprire quello che Lawrence Roberts è conosciuto e l'accenno è che non è per niente nella visione dei computer, ma è un enorme sviluppo tecnologico che tutti oggi lo dobbiamo. Date un'occhiata e cercate di scoprirlo prima della lezione successiva. (6.06) Subito nel 1966, uno di uno dei primi sforzi nel cercare di inventarsi sistemi per la visione del computer che accadde nel MIT nel 1966 da Papert e Sussman che hanno deciso di utilizzare un branco di stagisti d'estate per sviluppare un fine sistema di fine sistema per la visione del computer. Pensavano di poter prendere qualche tirocinio d'estate e sviluppare una piattaforma per segare automaticamente in primo piano e background ed estrarre oggetti non sovrapposti dalle immagini del mondo reale e questo è qualcosa che pensavano di poter realizzare entro un'estate. Allora, questa era in realtà una nota scritta da Papert in quel momento. Ovviamente io e lei sappiamo ora che il progetto non ha avuto successo piuttosto che il progetto ha aperto i ricercatori al fatto che si è trattato di un problema molto profondo e non è stato qualcosa che potrebbe essere risolto in 2 - 3 mesi e sappiamo ancora che questo problema, certi aspetti sono risolti ma molti altri aspetti restano ancora irrisolti. (7.13) Poi gli anni sono andati avanti e all'inizio del 1970s ci sono state anche delle opere che le persone hanno cercato di studiare come le linee potessero essere etichettate in un'immagine come dire, convesse, concava o occluse o cose di quel tipo. Così, quello è stato uno degli sforzi di Huffman e Clowes nei primi anni del 70s. (7.35) E nel 1973 arrivò un importante approccio chiamato Pictorial Structures da Fischer ed Elschlager che fu nuovamente reinventato nei primi anni 2000s, ne parlerò un po' dopo. Ma quello di cui parlavano c'era, volevano che fosse data una descrizione dell'oggetto visivo che qualcuno dovrebbe essere in grado di scoprire l'oggetto in una fotografia. Quindi, la parte della soluzione era quella di definire un oggetto come una combinazione di singoli componenti e le connessioni tra quei componenti. E hanno proposto una soluzione che in primo luogo una specializzazione di uno schema descrittivo di un oggetto come ho detto in termini di singole parti e connessioni tra parti. Ma hanno anche definito una metrica su cui si potrebbe basare la decisione di bontà di matching o di rilevamento basato su tale schema descrittivo. Si tratta di uno sviluppo significativo in questo momento e molti dei modelli sviluppati nel 2000s hanno ereditato questo approccio al problema. (8.39) Poi tra il 1971 e il 1978 ci sono stati molti sforzi che sono stati tentati dai ricercatori e che quel periodo era conosciuto anche come "Winter of AI". Ma in quel momento molti sforzi sul riconoscimento degli oggetti utilizzando la comprensione della forma, in qualche senso cercano di enogare oggetti come sommità di parti. Le parti potrebbero essere bombole, le parti potrebbero essere diverse specie di parti scheletriche o scheletriche è stato uno sforzo importante in quel periodo. Quindi, bombole generalizzate, scheletri in bombole erano tutti sforzi in quel momento particolare. E soprattutto c'è stato anche il primo corso di visione di prima macchina offerto dal laboratorio AI del MIT in quel periodo negli anni ' 1970s. Così, parlerò delle applicazioni in seguito, ma negli anni '1970s è stato sviluppato anche uno dei primi prodotti di visione informatica che è stato un riconoscimento ottico dei caratteri che è stato sviluppato da Ray Kurzweil che considerava un visionario per il campo dell'AI e questo era di nuovo negli anni' 70s. (9.42) Poi tra il 1979 e il 1982 è stato di nuovo uno sviluppo di pietra miliare per la visione informatica. David Marr che fa ricerca è seguito fino a questo, fino ad oggi. E infatti la conferenza ICCV, la International Conference in Computer Vision dà in realtà un premio intitolato a David Marr per le conquiste del landmark nella visione informatica. Così, David Marr ha proposto un quadro abbastanza importante nel suo libro intitolato "Vision computational investigation into the human representation and processing of visual information". In primo luogo, ha stabilito che la visione è gerarchica e ha anche introdotto un framework erano algoritmi di basso livello che rilevano i bordi, le curve, gli angoli vengono poi utilizzati per alimentare una comprensione di alto livello dei dati visivi. In particolare, il suo quadro rappresentativo ha avuto per la prima volta uno schizzo primitivo di un'immagine dove si hanno spigoli, bar, confini, ecc. Poi hai una rappresentazione di sketch da 2 e mezzo D dove le superfici informazioni sulla profondità, le discontinuità sono tutte cotte insieme. E infine un modello 3D gerarchicamente organizzato in termini di primitive superficiali e volumetriche. Quindi, ad alcuni si potrebbe dire che questo assomiglia anche a come un cervello umano percepisce le informazioni ma ne parleremo un po' dopo. Ma questo è stato il quadro rappresentativo di Marr che ha portato molte ricerche negli anni e decenni successivi. (11.19) Nello stesso periodo intorno ai 80 - 81 minuti, c'è stato anche uno sviluppo significativo di Kunihiko Fukushima chiamato Neocognitron che è in realtà il precursore delle reti neurali convoluzionistiche il giorno in cui vediamo oggi. Penso che sia stato uno sviluppo significativo per il tempo e Fukushima ha introdotto una rete artificiale di auto - organizzazione di celle semplici e complesse per riconoscere i pattern, anzi, si può chiamare questo ConvNet originale. Si parlava anche di strati convoluzionistici con vettori di peso che oggi vengono chiamati anche filtri. Quella era una delle prime versioni di reti neurali convoluzionistiche che vengono utilizzate fino a questo giorno. (12.00) Così, che sono stati gli anni iniziali e ora parleremo di alcuni sviluppi nella comprensione a basso livello di immagini che in gran parte accadono negli anni ' 80s. Quindi potremmo non coprire tutti i metodi ma almeno alcuni di quelli importanti mentre andiamo avanti. (12.17) Così, nel 1981, c'era un metodo molto popolare chiamato Optical Flow sviluppato da Horn e Schunck e l'idea di questo metodo era capire e stimare la direzione e la velocità è un oggetto in movimento attraverso due immagini catturate in una timeline. Così, per oggetto spostato dalla posizione A alla posizione B, allora qual era la velocità di quell' oggetto attraverso le due immagini. Quindi, il flusso è stato formulato come un funzionale energetico globale che è stato minimizzato e la soluzione è stata ottenuta. E questo è il metodo che è stato ampiamente utilizzato nel corso di molti decenni soprattutto per la comprensione video. E penso che sia ancora utilizzato in determinate applicazioni come ad esempio la compressione, la compressione video o altre applicazioni di video comprensione. (13.12) Nel 1986 è arrivato il Canny Edge Detector che è stato uno sviluppo significativo per Edge Detection. John Canny ha proposto un operatore di rilevamento di bordo multi - scala, noto anche come teoria computazionale di rilevamento dei margini. Usa la calculus di una variazione per trovare la funzione che ottimizza un dato funzionale. Era un metodo di principio molto ben definito, semplice da implementare e diventato molto popolare per il rilevamento dei margini. Quindi, è stato ampiamente utilizzato per molti anni per rilevare i bordi probabilmente fino a questo giorno in alcune industrie. (13.47) Nel 1987 c'era anche il riconoscimento da parte della teoria dei componenti proposta da Biederman che era un processo bottom up per spiegare il riconoscimento degli oggetti in cui l'oggetto era costituito in termini di parti etichettate come piccioni, i geons significavano semplicemente tre forme dimensionali di base tridimensionali come le bombole, i coni e così via come potete vedere in alcune di queste immagini qui assemblate per formare un oggetto. Anche questa era una teoria del riconoscimento visivo per capire se potevamo riconoscere gli oggetti in termini di parti. (14.26) Nel 1988 sono arrivati quelli che sono noti come Snakes o i modelli di contorno attivi che hanno contribuito a delineare un profilo oggetto da un'immagine 2D potenzialmente rumorosa. Era ampiamente utilizzato in applicazioni come il tracking, il riconoscimento della forma, la segmentazione, il rilevamento del bordo, così via e così via. (14.48) Nel 1989, è stata la prima versione di propagazione della schiena per le reti neurali convoluzionistiche. Quindi, non è necessariamente la comprensione visiva di basso livello ma credo che sia accaduto negli anni ' 80s ed è per questo che ne parlo qui ed è stato applicato per dare un riconoscimento a cifre scritte di cui parleremo molto presto. (15.08) Altre cose accadde negli anni ' 80s dove lo sviluppo delle piramidi di immagine rappresentazione di immagini e più scale, elaborazione in scala - spazio, elaborazione di un'immagine a diverse scale, ondulazioni che in quel momento è lo sviluppo del landmark. Forma - da - X che è forma da ombreggiamento, forma da focus, forma da silhouette, praticamente prova a prendere forma da vari aspetti della formazione di immagini. Metodi Di Ottimizzazione variazionale, campo di Markov Random, tutti questi sono stati sviluppati negli anni ' 1980s. (15.41) Poi sono arrivati i 1990s dove la comunità ha oltrepassato un livello superiore di comprensione oltre i manufatti di basso livello tali spigoli o angoli o così via. (15.53) È iniziato con Eigenfaces per il riconoscimento facciale che ha usato una variante di Eigen decomposizione per aver fatto il riconoscimento facciale. È successo nel 1991 che ha avuto successo per il riconoscimento del viso almeno nelle impostazioni dei vincoli. Ci sono state anche teorie computazionali di rilevamento degli oggetti da parte di Edelman che è stata proposta nel 1997. Poi è arrivato il raggruppamento Perceptual e i tagli Normalizzati che è stato un passo indietro per i metodi di segmentazione delle immagini che sono arrivati nel 1997. Arrivano Particelle filtri e Mean shift in 1998, Scala Invariante Feature Transform. Parleremo di alcuni di questi metodi in dettaglio che è stato un importante rilevatore di punti chiave di immagine e metodo di rappresentazione sviluppato a fine 90s inizio 2000s. Poi Viola - Jones face detection, di nuovo arrivato nei primi anni ' 2000s. Campi Random Condizionale che è stato un miglioramento rispetto ai campi di Markov Random. Poi le strutture pittoriche, il metodo proposto nel 1973 è stato rivisitato nel 2005 per svilupparsi, si sono presentati con un approccio statistico migliorato per poter stimare le singole parti e le loro connessioni tra parti che in quel momento erano chiamate strutture pittoriche e hanno effettivamente dimostrato che quello poteva funzionare in pratica e dare buone prestazioni per l'immagine corrispondente. PASCAL VOC che è un dataset popolare di questo giorno effettivamente iniziato nel 2005 e in quel periodo compreso tra il 2005 e il 2007, tanti metodi per il riconoscimento della scena, il riconoscimento panorama, il riconoscimento della location sono cresciuti anche in quel momento. Anche i modelli di costellazione che facevano parte di modelli di generatore probabilistici a parte sono cresciuti in quel momento per poter riconoscere nuovamente oggetti in termini di parti e come le parti sono state messe insieme nel complesso. E modelli di parte deformabili, un approccio molto popolare penso che considerato uno dei maggiori sviluppi del primo decennio del 2000 del ventunesimo secolo avvenne nel 2009. (18.10) E da allora ovviamente i grandi sviluppi sono stati Deep Learning. Quindi, ripassiamo brevemente anche a loro. (18.17) Nel 2010 è stato sviluppato il dataset ImageNet e lo scopo del dataset è stato che fino ad allora un sacco di sviluppi nella visione dei computer si affidavano ai datasets in scala di laboratorio, il dataset PASCAL VOC lo ha modificato in qualche misura nel 2005 e nel 2006. Ma molti altri sviluppi si sono affidati ai dataschetti di scala dei laboratori che sono stati sviluppati in vari laboratori di tutto il mondo e non ha dato un modo standard ai metodi di benchmark e li confronta attraverso una piattaforma unificata, attraverso il dataset unificato. E questo è lo scopo ImageNet per raggiungere quel tempo particolare. Così, il 2010 è stato quando ImageNet è arrivato e il 2012 è stato un punto di svolta per un deep learning come molti di voi potrebbero essere consapevoli, AlexNet ha vinto la sfida ImageNet fino ad allora tutti i modelli che hanno vinto ImageNet fino al 2012 erano quelli che intendo sono modelli poco profondi. Così, hai estratto alcune funzioni fuori dalle immagini e poi usato modelli di Machine Learning come ad esempio le macchine vettoriali di supporto per poter effettuare il riconoscimento degli oggetti. Così, nel 2012 AlexNet è entrata nella foto ed è stata la prima rete neurale convoluzionaria che ha vinto la sfida ImageNet ed è stata una conquista significativa perché ha colto l'accuratezza nella sfida ImageNet di un importo significativo oltre gli anni precedenti migliori. Parleremo dei numeri e di tutti questi dettagli quando arriveremo a questo punto del corso. (19.51) Poi nel 2013 è arrivata una variante di una rete neurale convoluta denominata ZFNet stand per Zeiler e Fergus, ha vinto la sfida ImageNet. Poi anche le regioni CNNs o R-CNNs sono state sviluppate per la prima volta nel 2013 per l'attività di rilevamento degli oggetti e le persone hanno anche iniziato a investire sforzi nel cercare di capire come funzionano i CNN. (20.17) Nel 2014 sono arrivati modelli InceptionNet e VGG. Le stime di pose umane sono state sviluppate così, la CNN ha iniziato ad essere utilizzata per altri compiti oltre il semplice riconoscimento degli oggetti, modelli generativi profondi come Generative Adversarial Networks GANs e Variational Auto Encoders VAEs sono stati sviluppati anche nel 2014. Nel 2015, le reti Redoppie o ResNets sono arrivate e i CNN corrispondono alle prestazioni umane su ImageNet. È stato di nuovo una conquista di pietra. (20.53) 2015 hanno visto anche reti di segmentazione che sono entrate nella foto. Le reti completamente convoluzionistiche SegNet e U-Net sono state tutte sviluppate nel 2015 per il compito di segmentazione semantica o etichettare ogni pixel in un'immagine con un'etichetta di classe particolare. Anche il dataset COCO ha iniziato a comparire in quel momento e anche la prima domanda visiva rispondendo dataset VQA è stata effettivamente sviluppata nel 2015. Nel 2016, spostando oltre i CNNs basati sulla regione per il rilevamento degli oggetti, sono stati sviluppati metodi a single stage come You Only Look Once e Single Short Detector, YOLO e SSD. Il dataset Cityscapes è arrivato, il dataset di genoma visivo è arrivato e il 2017 è stato l'inizio di un più alto livello di astrazione nella comprensione delle immagini che è la generazione grafica di scena. Data un'immagine, come capire qual è il grafico Scene? Una persona seduta a cavallo o un uomo che va in bici, così via e via dicendo. E nel 2018 e nel 19, livelli più alti di astrazione come il dataset di ragionamenti di buon senso visivo dove cerchiamo di vedere se non solo diamo una risposta a una domanda su un'immagine ma possono anche dare un razionale a quella risposta e compito come la Segmentazione Panoptica sono stati sviluppati. Così, come si può vedere questo viaggio si è concentrato sull'andare dalla comprensione dell'immagine di basso livello a astrazioni più alte e superiori del mondo che vediamo intorno a noi dalle immagini. (22.34) Da un punto di vista applicativo non passiamo a camminare attraverso ogni applicazione ma ad alto livello, negli anni ' 1970s come ho già accennato, uno dei primi prodotti che è stato sviluppato è stato Optical Character Recognition by Kurzweil Technologies di Ray Kurzweil. Quello è stato uno dei primi successi della visione informatica che si possa dire. Nel 1980s, la maggior parte degli sviluppi del settore erano in visione macchina che installava fotocamere in varie fasi di fabbricazione o impostazioni industriali. Probabilmente trovando difetti nei chip di lavorazione per esempio o anche nelle fotocamere intelligenti, dove alcuni di questi algoritmi come il rilevamento dei margini e così via sono stati integrati come parte della fabbricazione delle fotocamere stessa che penso sia nota come smart fotocamera, che penso sia un campo importante anche oggi. Nel 1990s, lentamente le applicazioni della visione hanno iniziato a crescere, la visione della macchina negli ambienti manifatturieri ha continuato a crescere, biometraggi o riconoscere le persone dalle immagini potrebbe essere da parte di guanti, potrebbe essere di fronte, potrebbe essere da iris, potrebbe essere da gesti, tutti hanno iniziato a crescere. L'imaging medico ha iniziato a diventare importante. I dispositivi di registrazione, la videosorveglianza, tutti hanno iniziato a crescere negli anni ' 90s. Nel 2000s, più di tutti questi, migliore imaging medicale, oggetto e rilevamento del viso, navigazione autonoma avviata a metà degli anni ' 2000s, Google Goggles, visione su social media, tutto questo è iniziato nel 2000s. E nel 2010s non proverò nemmeno a elencare le applicazioni, penso che sia coltivata a un punto in cui le applicazioni di visione sono in vari domini tutt' intorno a noi. (24:25) Speriamo, che vi abbia dato una breve prospettiva di storia della visione informatica negli ultimi decenni. Ti consiglierei di leggere Szeliskis capitolo 1 in questo momento e di leggere anche alcuni di questi link che sono stati condivisi come parte di queste slide, ogni slide aveva una nota a piè di pagina in cui le informazioni sono state scattate. Quindi, attraverso alcune di queste slide, crescere attraverso i link, sarà possibile capire come alcuni di questi argomenti sono cresciuti in aree specifiche su quei link. Ci fermeremo qui per ora e proseguiremo con il prossimo argomento molto presto. Ecco alcuni riferimenti se ti piace dare un'occhiata.