18 di Tutti i Tempi Classic Open Source Computer Vision Progetti per Principianti
- Panoramica
- Introduzione
- I 18 progetti di Computer Vision Open Source sono suddivisi in queste categorie:
- Open Source Computer Vision Progetti per la Classificazione di Immagini
- Cifar 10
- ImageNet
- Open Source Computer Vision Progetti per il Riconoscimento del Viso
- MegaFace
- Labeled faces in wild home
- Open-Source Computer Vision Projects for Neural Style Transfer Using GANs
- COCO dataset
- ImageNet
- Progetti di computer Vision open-Source per il rilevamento del testo di scena
- SVHN
- Set di dati SceneText
- Open Source Computer Vision Progetti per il Rilevamento di Oggetti con DETR
- Open Images
- MS-COCO
- Progetti open-Source di Computer Vision per la segmentazione semantica
- CamVid
- Cityscapes
- Progetti open-Source di visione artificiale per il rilevamento di corsie stradali in veicoli autonomi
- TUsimple
- Progetti di computer Vision open-Source per didascalie delle immagini
- COCO Caption
- Flicker 8k dataset
- Progetti di computer Vision open-Source per la stima della posa umana
- MPII
- HUMANEVA
- Progetti di Computer Vision open-Source per il riconoscimento delle emozioni attraverso le espressioni facciali
- Database di volti affettivi del mondo reale
- Fine Note
Panoramica
- Open source computer vision progetti sono un grande segway per l’atterraggio di un ruolo nel profondo di apprendimento del settore
- Iniziare a lavorare su queste 18 e popolari di tutti i tempi classic open source computer vision progetti
Introduzione
Computer di applicazioni di visione sono onnipresenti adesso. Onestamente non riesco a ricordare l’ultima volta che ho passato un’intera giornata senza incontrare o interagire con almeno un caso d’uso di computer vision (ciao riconoscimento facciale sul mio telefono!).
Ma ecco la cosa – le persone che vogliono imparare la visione artificiale tendono a rimanere bloccati nei concetti teorici. E questa è la strada peggiore che puoi prendere! Per imparare e padroneggiare veramente la visione artificiale, dobbiamo combinare la teoria con l’esperienza pratica.
Ed è qui che entrano in gioco i progetti di computer vision open source. Non è necessario spendere un centesimo per praticare le vostre abilità di visione del computer-si può fare seduto proprio dove sei in questo momento!
Quindi, in questo articolo, ho unito e creato un elenco di progetti di Computer Vision Open-Source basati sulle varie applicazioni di computer vision. C’è un sacco di passare attraverso e questo è piuttosto un elenco completo quindi cerchiamo di scavare in!
Se sei completamente nuovo alla visione artificiale e all’apprendimento profondo e preferisci l’apprendimento in forma video, dai un’occhiata a questo:
- Visione artificiale con apprendimento profondo 2.0
I 18 progetti di Computer Vision Open Source sono suddivisi in queste categorie:
- Classificazione di Immagini
- Riconoscimento facciale
- Neurale Stile Trasferimento di GANs
- Scena il Testo di Rilevamento
- Rilevamento di Oggetti Con DETR
- Semantica di Segmentazione
- Strada Corsia di Rilevamento in Veicoli Autonomi
- Immagine sottotitoli
- Umana, la Stima della Posa Progetti
- Emozione Riconoscimento attraverso le Espressioni del Viso
Open Source Computer Vision Progetti per la Classificazione di Immagini
classificazione di Immagine è un compito fondamentale nell’ambito della computer vision. Qui, l’obiettivo è classificare un’immagine assegnandole un’etichetta specifica. È facile per noi umani comprendere e classificare le immagini che vediamo. Ma il caso è molto diverso per una macchina. Si tratta di un compito oneroso per una macchina per differenziare tra una macchina e un elefante.
Ecco due dei progetti open source più importanti per la classificazione delle immagini:
-
Cifar 10
Il set di dati CIFAR-10 è una raccolta di immagini comunemente utilizzate per addestrare algoritmi di machine learning e computer vision. È uno dei set di dati più popolari per la ricerca di apprendimento automatico. Esso contiene 60.000, 32×32 immagini a colori in 10 diverse classi. Le classi rappresentano aerei, automobili, uccelli, gatti, cervi, cani, rane, cavalli, navi e camion.
-
ImageNet
Il set di dati ImageNet è un ampio database visivo per l’uso nella ricerca di computer vision. Più di 14 milioni di immagini sono state annotate a mano dal progetto per indicare quali oggetti sono raffigurati e in almeno un milione di immagini sono forniti anche riquadri di delimitazione. ImageNet contiene più di 20.000 categorie!
Come principiante, puoi iniziare con una rete neurale da zero usando Keras o PyTorch. Per ottenere risultati migliori e aumentare il livello di apprendimento, consiglierò di utilizzare l’apprendimento del trasferimento attraverso modelli pre-addestrati come VGG-16, Restnet – 50, Googlenet, ecc.
Vi consiglio di passare attraverso l’articolo qui sotto per saperne di più sulla classificazione delle immagini:
- Top 4 Pre-Formati di Modelli per la Classificazione di Immagini con il Codice Python
vorrei anche suggerire di andare attraverso il seguente paper per una migliore comprensione di classificazione di immagini:
- ImageNet Classificazione con Profonda Convolutional Reti Neurali
- Andare in profondità, con Circonvoluzioni
- Deep Residuo di Apprendimento per il Riconoscimento di Immagini
Open Source Computer Vision Progetti per il Riconoscimento del Viso
riconoscimento facciale è uno dei più importanti applicazioni di computer vision. Viene utilizzato per la sicurezza, la sorveglianza o per sbloccare i dispositivi. È il compito di identificare i volti in un’immagine o in un video rispetto a un database preesistente. Possiamo usare metodi di apprendimento profondo per imparare le caratteristiche dei volti e riconoscerli.
È un processo a più stadi, costituito dai seguenti passaggi:
- Face Detection: è il primo passo e consiste nel localizzare uno o più volti presenti nell’immagine o nel video in ingresso.
- Allineamento faccia: l’allineamento sta normalizzando le facce di input in modo che siano geometricamente coerenti con il database.
- Estrazione Feature: in seguito vengono estratte le feature che possono essere utilizzate nell’attività di riconoscimento.
- Feature recognition: eseguire la corrispondenza delle funzionalità di input al database.
I seguenti set di dati open source ti daranno una buona esposizione al riconoscimento facciale-
-
MegaFace
MegaFace è un set di dati di formazione di riconoscimento facciale pubblico su larga scala che funge da uno dei benchmark più importanti per i problemi di riconoscimento facciale commerciali. Comprende 4.753.320 volti di 672.057 identità
-
Labeled faces in wild home
Labeled Faces in the Wild (LFW) è un database di fotografie di volti progettati per studiare il problema del riconoscimento facciale non vincolato. Ha 13.233 immagini di 5.749 persone che sono state rilevate e raccolte dal web. Inoltre, 1.680 delle persone raffigurate hanno due o più foto distinte nel set di dati.
Inoltre, per portare il progetto a uno stadio avanzato, è possibile utilizzare modelli pre-addestrati come Facenet.
Facenet è un modello di deep learning che fornisce incorporamenti unificati per il riconoscimento dei volti, la verifica e l’attività di clustering. La rete mappa ogni immagine del volto nello spazio euclideo in modo tale che la distanza tra immagini simili sia inferiore.
Source
È possibile utilizzare facilmente modelli Facenet pre-addestrati disponibili in Keras e PyTorch per creare il proprio sistema di riconoscimento facciale.
Sono disponibili alcuni modelli di riconoscimento facciale all’avanguardia con cui è possibile sperimentare. Deepface è una rete basata CNN profonda sviluppata dai ricercatori di Facebook. E ‘ stata una pietra miliare nell’uso di apprendimento profondo in un compito di riconoscimento facciale.
Per comprendere meglio lo sviluppo della tecnologia di riconoscimento facciale negli ultimi 30 anni, ti incoraggio a leggere un articolo interessante intitolato:
- Deep Face Recognition:A Survey
Open-Source Computer Vision Projects for Neural Style Transfer Using GANs
Neural style transfer è una tecnologia di computer vision che ricrea il contenuto di un’immagine nello stile dell’altra immagine. È un’applicazione di una rete contraddittoria generativa (GAN). Qui, prendiamo due immagini: un’immagine di contenuto e un’immagine di riferimento di stile e le fondiamo insieme in modo tale che l’immagine di output assomigli a un’immagine di contenuto dipinta nello stile dell’immagine di riferimento.
Questo viene implementato ottimizzando le statistiche di contenuto dell’immagine di output corrispondente all’immagine di contenuto e le statistiche di stile all’immagine di riferimento di stile.
Source
Ecco l’elenco di alcuni set di dati impressionanti da praticare:
-
COCO dataset
“COCO è un dataset di rilevamento, segmentazione e didascalia di oggetti su larga scala. Le immagini nel set di dati sono oggetti di uso quotidiano catturati da scene di tutti i giorni. Inoltre, fornisce l’etichettatura multi-oggetto, segmentazione maschera annotazioni, didascalie delle immagini, e il rilevamento dei punti chiave con un totale di 81 categorie, che lo rende un set di dati molto versatile e multi-purpose.
-
ImageNet
- Abbiamo già menzionato questo sopra – ImageNet è incredibilmente flessibile!
Nel caso in cui ti stia chiedendo come implementare il modello di trasferimento di stile, ecco un tutorial TensorFlow che può aiutarti. Inoltre, ti suggerirò di leggere i seguenti documenti se vuoi approfondire la tecnologia:
- Una rappresentazione appresa per lo stile artistico
- Traduzione immagine-immagine non accoppiata utilizzando reti contraddittorie coerenti con il ciclo
- Trasferimento di stile immagine utilizzando reti neurali convoluzionali
Progetti di computer Vision open-Source per il rilevamento del testo di scena
Rilevare il testo in una determinata scena è un altro problema molto interessante. Testo scena è il testo che appare sulle immagini catturate da una telecamera in un ambiente esterno. Ad esempio, targhe di auto su strade, cartelloni pubblicitari sul ciglio della strada, ecc.
Il testo nelle immagini di scena varia in forma, carattere, colore e posizione. La complicazione nel riconoscimento del testo della scena aumenta ulteriormente con l’illuminazione e la messa a fuoco non uniformi.
I seguenti set di dati popolari vi aiuterà ad arricchire le vostre abilità nell’analisi di Scene Text Detection:
-
SVHN
Il set di dati Street View House Numbers (SVHN) è uno dei set di dati open source più popolari là fuori. È stato utilizzato nelle reti neurali create da Google per leggere i numeri civici e abbinarli alle loro geolocalizzazioni. Questo è un grande set di dati di riferimento con cui giocare, imparare e formare modelli che identificano con precisione i numeri civici. Questo set di dati contiene oltre 600k etichettati immagini del mondo reale di numeri civici presi da Google Street View.
-
Set di dati SceneText
Il set di dati scene text comprende 3000 immagini catturate in diversi ambienti, tra cui scene all’aperto e al chiuso in diverse condizioni di illuminazione. Le immagini sono state catturate sia con l’uso di una fotocamera digitale ad alta risoluzione o una fotocamera del telefono cellulare a bassa risoluzione. Inoltre, tutte le immagini sono state ridimensionate a 640×480.
Inoltre, il rilevamento del testo della scena è un processo in due fasi che consiste nel rilevamento del testo nell’immagine e nel riconoscimento del testo. Per il rilevamento del testo, ho trovato un metodo di apprendimento profondo all’avanguardia EAST (Efficient Accurate Scene Text Detector). Può trovare caselle di delimitazione orizzontali e ruotate. È possibile utilizzarlo in combinazione con qualsiasi metodo di riconoscimento del testo.
Qui ci sono alcune altre interessanti documenti sulla scena rilevazione del testo:
- la Rilevazione di Testo in Immagine Naturale con Connessioniste Testo della Proposta di Rete
- COCO-Testo: Set di dati di riferimento per la Rilevazione del Testo e Riconoscimento di Immagini Naturali
Open Source Computer Vision Progetti per il Rilevamento di Oggetti con DETR
Oggetto di rilevazione è il compito di prevedere ogni oggetto di interesse presenti nell’immagine attraverso una casella di delimitazione lungo con le etichette su di loro.
Qualche mese fa, Facebook ha aperto il suo oggetto detection framework-Detection TRansformer (DETR). DETR è una soluzione efficiente e innovativa per i problemi di rilevamento degli oggetti. Semplifica la pipeline di formazione visualizzando il rilevamento degli oggetti come un problema di previsione diretta. Inoltre, adotta un’architettura encoder-decoder basata su trans-former.
Per saperne di più su DERT, ecco il notebook paper e Colab.
Diversifica il tuo portfolio lavorando sui seguenti set di dati open source per il rilevamento di oggetti:
-
Open Images
Open Image è un set di dati di ~9M di immagini annotate con etichette a livello di immagine, riquadri di delimitazione degli oggetti, maschere di segmentazione degli oggetti, relazioni visive e narrazioni localizzate. Il set di dati è suddiviso in un set di addestramento (9.011.219 immagini), un set di convalida (41.620 immagini) e un set di test (125.436 immagini).
-
MS-COCO
MS-COCO è un set di dati su larga scala comunemente utilizzato per problemi di rilevamento di oggetti. Si compone di 330K immagini con 80 categorie di oggetti con 5 didascalie per immagine e 250.000 persone con punti chiave.
È possibile leggere le seguenti risorse per ulteriori informazioni sul rilevamento degli oggetti:
- Un’introduzione passo-passo agli algoritmi di rilevamento degli oggetti di base
- Una guida pratica al rilevamento degli oggetti utilizzando il popolare framework YOLO
- Facebook AI lancia DEtection TRansformer (DETR) – Un approccio di rilevamento degli oggetti basato su trasformatori!
Progetti open-Source di Computer Vision per la segmentazione semantica
Quando si parla di comprensione completa della scena nella tecnologia di visione artificiale, la segmentazione semantica entra in scena. È il compito di classificare tutti i pixel di un’immagine in classi rilevanti degli oggetti.
Di seguito è riportato l’elenco dei set di dati open-source per praticare questo argomento:
-
CamVid
Questo database è uno dei primi set di dati semanticamente segmentati ad essere rilasciato. Questo è spesso usato nella ricerca di segmentazione semantica (in tempo reale). Il set di dati contiene:
- 367 coppie di allenamento
- 101 coppie di validazione
- 233 coppie di test
-
Cityscapes
Questo set di dati è un sottocampione elaborato di cityscapes originali. Il set di dati contiene immagini fisse dei video originali e le etichette di segmentazione semantica sono mostrate nelle immagini accanto all’immagine originale. Questo è uno dei migliori set di dati in circolazione per le attività di segmentazione semantica. Ha 2975 file di immagini di formazione e 500 file di immagini di convalida ciascuno di 256×512 pixel
Per leggere ulteriormente sulla segmentazione semantica, consiglierò il seguente articolo:
- Segmentazione semantica: Introduzione alla tecnica di Deep Learning dietro la fotocamera di Google Pixel!
Ecco alcuni documenti disponibili con codice per la segmentazione semantica:
- Codificatore-decodificatore con convoluzione separabile Atrous per segmentazione semantica delle immagini
- DeepLab: Segmentazione semantica dell’immagine con reti convoluzionali profonde, convoluzione atrous e CRF completamente connessi
Progetti open-Source di visione artificiale per il rilevamento di corsie stradali in veicoli autonomi
Un’auto autonoma è un veicolo in grado di rilevare il proprio ambiente e di operare senza il coinvolgimento umano. Creano e mantengono una mappa dell’ambiente circostante basata su una varietà di sensori che si adattano a diverse parti del veicolo.
Questi veicoli hanno sensori radar che monitorano la posizione dei veicoli vicini. Mentre le videocamere rilevano i semafori, leggono i segnali stradali, tracciano altri veicoli e i sensori Lidar (light detection and ranging) rimbalzano impulsi di luce dai dintorni dell’auto per misurare le distanze, rilevare i bordi della strada e identificare le marcature di corsia
Il rilevamento della corsia è una parte importante di questi veicoli. Nel trasporto su strada, una corsia è parte di una carreggiata che è designata per essere utilizzata da una singola linea di veicoli per controllare e guidare i conducenti e ridurre i conflitti di traffico.
È un progetto entusiasmante da aggiungere nel curriculum del tuo scienziato dei dati. Di seguito sono riportati alcuni set di dati disponibili per sperimentare-
-
TUsimple
Questo set di dati faceva parte della sfida Tusimple Lane Detection. Esso contiene 3626 video clip di 1-sec durata ciascuno. Ognuno di questi video clip contiene 20 fotogrammi con un ultimo fotogramma annotato. Consiste in set di dati di allenamento e test con 3626 clip video, 3626 fotogrammi annotati nel set di dati di allenamento e 2782 clip video per il test.
Nel caso in cui, siete alla ricerca di qualche tutorial per lo sviluppo del progetto controllare l’articolo qui sotto-
- Tutorial pratico sul rilevamento della corsia in tempo reale utilizzando OpenCV (progetto di auto a guida autonoma!)
Progetti di computer Vision open-Source per didascalie delle immagini
Hai mai desiderato una tecnologia che potesse didascalizzare le tue immagini dei social media perché né tu né i tuoi amici siete in grado di creare una didascalia interessante? L’apprendimento profondo per le didascalie delle immagini viene in tuo soccorso.
Didascalie delle immagini è il processo di generazione di una descrizione testuale per un’immagine. Si tratta di un compito combinato di computer vision e Natural Language processing (PNL).
I metodi di visione artificiale aiutano a comprendere ed estrarre la funzionalità dalle immagini di input. Inoltre, NLP converte l’immagine nella descrizione testuale nell’ordine corretto delle parole.
Di seguito sono riportati alcuni set di dati utili per sporcarsi le mani con i sottotitoli delle immagini:
-
COCO Caption
COCO è un dataset di rilevamento, segmentazione e didascalia di oggetti su larga scala. Consiste di immagini di 330K (etichettate>200K) con 1,5 milioni di istanze di oggetti e 80 categorie di oggetti con 5 didascalie per immagine.
-
Flicker 8k dataset
È un corpus di didascalie di immagini composto da 158.915 didascalie crowd-sourced che descrivono 31.783 immagini. Questa è un’estensione del set di dati Flickr 8k. Le nuove immagini e didascalie si concentrano sulle persone che fanno attività ed eventi quotidiani.
Se stai cercando l’implementazione del progetto, ti suggerirò di guardare il seguente articolo:
- Didascalia automatica delle immagini utilizzando Deep Learning (CNN e LSTM) in PyTorch
Inoltre, ti suggerisco di passare attraverso questo importante documento sui sottotitoli delle immagini.
Progetti di computer Vision open-Source per la stima della posa umana
La stima della posa umana è un’interessante applicazione della visione artificiale. Devi aver sentito parlare di Posenet, che è un modello open-source per la stima della posa umana. In breve, la stima della posa è una tecnica di visione artificiale per dedurre la posa di una persona o di un oggetto presente nell’immagine/video.
Prima di discutere il lavoro di stima posa, cerchiamo prima di capire ‘Scheletro posa umana’. È l’insieme di coordinate per definire la posa di una persona. Una coppia di coordinate è un arto. Inoltre, la stima della posa viene eseguita identificando, localizzando e tracciando i punti chiave dello scheletro della posa umana in un’immagine o in un video.
Source
Di seguito sono riportati alcuni set di dati se si desidera sviluppare un modello di stima della posa:
-
MPII
MPII Human Pose dataset è un punto di riferimento all’avanguardia per la valutazione della stima della posa umana articolata. Il set di dati include circa 25K immagini contenenti oltre 40K persone con articolazioni del corpo annotate. Nel complesso il set di dati copre 410 attività umane e ogni immagine ha un’etichetta di attività.
-
HUMANEVA
Il set di dati HumanEva-I contiene 7 sequenze video calibrate sincronizzate con le pose del corpo 3D. Il database contiene 4 soggetti che eseguono 6 azioni comuni (ad esempio camminare, fare jogging, gesticolare, ecc.) che sono suddivisi in set di formazione, convalida e test.
Ho trovato DeepPose di Google come un documento di ricerca molto interessante che utilizza modelli di deep learning per la stima della posa. Inoltre, è possibile visitare più documenti di ricerca disponibili sulla stima posa per capire meglio.
Progetti di Computer Vision open-Source per il riconoscimento delle emozioni attraverso le espressioni facciali
Le espressioni facciali svolgono un ruolo vitale nel processo di comunicazione non verbale, nonché per identificare una persona. Sono molto importanti nel riconoscere le emozioni di una persona. Di conseguenza, le informazioni sulle espressioni facciali sono spesso utilizzate nei sistemi automatici di riconoscimento delle emozioni.
Il riconoscimento delle emozioni è un compito impegnativo perché le emozioni possono variare a seconda dell’ambiente, dell’aspetto, della cultura e della reazione del viso che porta a dati ambigui.
Il sistema di riconoscimento delle espressioni facciali è un processo multistadio che consiste nell’elaborazione delle immagini facciali, nell’estrazione delle caratteristiche e nella classificazione.
source
Di seguito è riportato un set di dati su cui puoi esercitarti:
-
Database di volti affettivi del mondo reale
Real-world Affective Faces Database (RAF-DB) è un database di espressioni facciali su larga scala con circa 30K immagini facciali molto diverse. Si compone di 29672 di immagini reali, e 7-dimensionale espressione di distribuzione del vettore per ogni immagine,
È possibile leggere queste risorse per aumentare la vostra comprensione ulteriore-
- Cornice attenzione reti per il riconoscimento delle espressioni facciali nel video
- Regione Attenzione Reti per la Posa e l’Occlusione Robusto Riconoscimento delle Espressioni Facciali
Fine Note
Per concludere, in questo articolo abbiamo discusso di 10 computer interessante progetti di visione è possibile implementare come un principiante. Questo non è un elenco esaustivo. Quindi, se ti senti abbiamo perso qualcosa, sentitevi liberi di aggiungere nei commenti qui sotto!
Inoltre, qui sto elencando alcune utili risorse CV per aiutarti a esplorare il mondo dell’apprendimento profondo e della visione artificiale:
- Ecco il tuo percorso di apprendimento per padroneggiare la visione artificiale nel 2020
- Visione artificiale utilizzando il corso Deep Learning 2.0
- Programma certificato: Computer Vision per principianti
- Introduzione alle reti neurali (gratis)
-
Reti neurali convoluzionali (CNN) da zero (gratuito)
C’è molta differenza nella scienza dei dati che impariamo nei corsi e nell’auto-pratica e in quella che lavoriamo nel settore. Ti consiglierei di seguire questi corsi gratuiti cristallini per capire tutto ciò che riguarda l’analisi, l’apprendimento automatico e l’intelligenza artificiale:
- Introduzione a AI / ML Corso gratuito / Mobile app
- Introduzione a AI / ML per i leader aziendali Mobile app
- Introduzione a Business Analytics Corso gratuito / Mobile app
Spero che troverete la discussione utile. Ora è il tuo turno per avviare l’implementazione della visione artificiale da soli.
Puoi anche leggere questo articolo sulla nostra APP mobile