Home
Su di me
Skills
Curriculum
Certificazioni
Progetti
Tutti i progetti
Progetti
Tutti i progetti
Contatti
Eye Tracking Mouse
Home
Progetti
Eye Tracking Mouse
Eye Tracking Mouse
La computer vision è un campo dell'intelligenza artificiale che consente ai computer e ai sistemi di ricavare informazioni significative da immagini digitali, video e altri input visivi e di intraprendere azioni o formulare raccomandazioni sulla base di tali informazioni. Se l'intelligenza artificiale consente ai computer di pensare, la computer vision permette loro di vedere, osservare e capire.
La computer vision addestra le macchine a svolgere queste funzioni, ma deve farlo in tempi molto più brevi con telecamere, dati e algoritmi piuttosto che con retine, nervi ottici e corteccia visiva. Poiché un sistema addestrato a ispezionare prodotti o a sorvegliare un impianto di produzione può analizzare migliaia di prodotti o processi al minuto, notando difetti o problemi impercettibili, può superare rapidamente le capacità umane.
Esegue analisi dei dati più e più volte fino a discernere le distinzioni e, infine, a riconoscere le immagini. Ad esempio, per addestrare un computer a riconoscere i pneumatici di un'automobile, è necessario alimentarlo con una grande quantità di immagini di pneumatici e di elementi ad essi correlati per imparare le differenze e riconoscere un pneumatico, soprattutto se privo di difetti.
A questo scopo si utilizzano due tecnologie essenziali: un tipo di apprendimento automatico chiamato deep learning e una rete neurale convoluzionale (CNN).
Una Convolutional Neural Network, nota anche come CNN o ConvNet, è una classe delle neural networks specializzata nell'elaborazione di dati con una topologia a griglia, come le immagini. Un'immagine digitale è una rappresentazione binaria di dati visivi. Contiene una serie di pixel disposti in modo reticolare, con valori di pixel che indicano la luminosità e il colore di ciascun pixel.
Questo script fornisce la possibilità di muovere il mouse attraverso lo spostamento della posizione degli occhi.
Questo script in Python utilizza la libreria
'OpenCV'
per acquisire e gestire i frame di un video proveniente dalla webcam del computer, la libreria
'Mediapipe'
per rilevare i punti del viso e la posizione degli occhi, e la libreria
'PyAutoGUI'
per controllare il cursore del mouse e simulare clic.
Viene utilizzato il modello
'FaceMesh'
di
Mediapipe
per rilevare i landmark facciali nel frame della webcam, estraendo i punti relativi alle posizioni degli occhi. Successivamente, utilizzando la libreria
PyAutoGUI
, calcola la posizione del cursore in base alla posizione degli occhi rilevati, e muove il cursore del mouse sulla base di questa posizione. Inoltre, il programma rileva anche se l'utente sta facendo un blink, ovvero se le coordinate y degli occhi si avvicinano, e in tal caso esegue un clic del mouse utilizzando la funzione
PyAutoGUI.click()
.
Infine, il programma utilizza la libreria
OpenCV
per visualizzare il frame con i landmark rilevati. L'intera operazione viene eseguita all'interno di un ciclo while infinito che continua finché non viene interrotto manualmente.
Informazioni
Categoria
: ML
Url progetto
:
About
: Move your mouse using your eyes
La computer vision è un campo dell'intelligenza artificiale che consente ai computer e ai sistemi di ricavare informazioni significative da immagini digitali, video e altri input visivi e di intraprendere azioni o formulare raccomandazioni sulla base di tali informazioni. Se l'intelligenza artificiale consente ai computer di pensare, la computer vision permette loro di vedere, osservare e capire.
La computer vision addestra le macchine a svolgere queste funzioni, ma deve farlo in tempi molto più brevi con telecamere, dati e algoritmi piuttosto che con retine, nervi ottici e corteccia visiva. Poiché un sistema addestrato a ispezionare prodotti o a sorvegliare un impianto di produzione può analizzare migliaia di prodotti o processi al minuto, notando difetti o problemi impercettibili, può superare rapidamente le capacità umane.
Esegue analisi dei dati più e più volte fino a discernere le distinzioni e, infine, a riconoscere le immagini. Ad esempio, per addestrare un computer a riconoscere i pneumatici di un'automobile, è necessario alimentarlo con una grande quantità di immagini di pneumatici e di elementi ad essi correlati per imparare le differenze e riconoscere un pneumatico, soprattutto se privo di difetti.
A questo scopo si utilizzano due tecnologie essenziali: un tipo di apprendimento automatico chiamato deep learning e una rete neurale convoluzionale (CNN).
Una Convolutional Neural Network, nota anche come CNN o ConvNet, è una classe delle neural networks specializzata nell'elaborazione di dati con una topologia a griglia, come le immagini. Un'immagine digitale è una rappresentazione binaria di dati visivi. Contiene una serie di pixel disposti in modo reticolare, con valori di pixel che indicano la luminosità e il colore di ciascun pixel.
Questo script fornisce la possibilità di muovere il mouse attraverso lo spostamento della posizione degli occhi.
Questo script in Python utilizza la libreria
'OpenCV'
per acquisire e gestire i frame di un video proveniente dalla webcam del computer, la libreria
'Mediapipe'
per rilevare i punti del viso e la posizione degli occhi, e la libreria
'PyAutoGUI'
per controllare il cursore del mouse e simulare clic.
Viene utilizzato il modello
'FaceMesh'
di
Mediapipe
per rilevare i landmark facciali nel frame della webcam, estraendo i punti relativi alle posizioni degli occhi. Successivamente, utilizzando la libreria
PyAutoGUI
, calcola la posizione del cursore in base alla posizione degli occhi rilevati, e muove il cursore del mouse sulla base di questa posizione. Inoltre, il programma rileva anche se l'utente sta facendo un blink, ovvero se le coordinate y degli occhi si avvicinano, e in tal caso esegue un clic del mouse utilizzando la funzione
PyAutoGUI.click()
.
Infine, il programma utilizza la libreria
OpenCV
per visualizzare il frame con i landmark rilevati. L'intera operazione viene eseguita all'interno di un ciclo while infinito che continua finché non viene interrotto manualmente.