A.I. RICONOSCE OGGETTI da immagini, video e in tempo reale [Python OpenCV e Yolo]

preview_player
Показать описание
YOLO è uno degli algoritmi di riconoscimento di oggetti più veloci tra quelli esistenti. Sebbene non sia più l'algoritmo di rilevamento degli oggetti più accurato, è un'ottima scelta quando è necessario il rilevamento in tempo reale, senza perdita di troppa precisione. è una rete neurale completamente convoluzionale e il suo output finale viene generato applicando un kernel 1 x 1 su una mappa delle caratteristiche. In YOLO v3, il rilevamento viene eseguito applicando kernel di rilevamento 1 x 1 su mappe caratteristiche di tre dimensioni diverse in tre punti diversi della rete.

La forma del kernel di rilevamento è 1 x 1 x (B x (5 + C)), dove B è il numero di riquadri di delimitazione che una cella nella mappa delle caratteristiche può prevedere, "5" indica i 4 attributi del riquadro di delimitazione e un valore di sicurezza dell'oggetto, e C è il numero di classi. In YOLO v3, addestrato su COCO, B = 3 e C = 80, quindi la dimensione del kernel è 1 x 1 x 255.
L'immagine che forniamo in input la ipotizziamo di dimensione (416,416), YOLO v3 effettua poi una previsione su tre scale, che sono date ridimensionando le dimensioni dell'immagine in ingresso rispettivamente di 32, 16 e 8.

Il primo rilevamento viene effettuato a partire dall'82 ° strato. Per i primi 81 livelli, l'immagine viene sotto campionata dalla rete, in modo tale che l'81 ° livello abbia un passo di 32. Se abbiamo un'immagine di 416 x 416, la mappa delle caratteristiche risultante sarebbe di dimensioni 13 x 13. Viene quindi creato un rilevamento tramite il kernel 1 x 1, dandoci una mappa delle caratteristiche di rilevamento di 13 x 13 x 255. Successivamente la mappa delle caratteristiche, dal livello 79, viene sottoposta ad alcuni livelli convoluzionali prima di essere campionata per due volte fino a dimensioni di 26 x 26.
Questa mappa delle caratteristiche viene quindi concatenata in profondità con la mappa delle caratteristiche dal livello 61 e le mappe di funzionalità combinate vengono nuovamente sottoposte ad alcuni livelli 1 x 1 convoluzionali per fondere le caratteristiche del livello precedente (61). Dunque, il secondo rilevamento viene effettuato dal 94 ° strato, producendo una mappa delle caratteristiche di rilevamento di 26 x 26 x 255.
Infine viene ripetuto un procedimento simile, in cui la mappa delle caratteristiche dal livello 91 è soggetta a pochi livelli convoluzionali prima di essere concatenata in profondità con una mappa delle caratteristiche dal livello 36. Come in precedenza, alcuni livelli 1 x 1 convoluzionali vengono fusi per unire le informazioni provenienti dal precedente strato (36). Questo terzo processo termina al 106 ° strato, producendo una mappa caratteristica dalle dimensioni 52 x 52 x 255.

Iscriviti QUI al canale!

La nostra lista amazon dei prodotti migliori!
AMAZON: PC - FILAMENTO 3D - ARDUINO - RASPBERRY PI

Vuoi farci un Regalo o inviarci un prodotto? Vi ringrazieremo in un video dedicato! :D

LINK GITHUB:

YOLOv3 WEIGHTS:

se il video non ti è stato chiaro contattaci sulla nostra pagina facebook:

per rimanere aggiornato seguici su instagram!

#Python #riconoscimentoOggetti #ObjectDetection #opencv
Рекомендации по теме
Комментарии
Автор

ciao scusa, mi chiedevo se potessi fare un video più aggiornato dato che sono passati due anni e yolo ha fatto uscire una nuova versione del suo programma

gabrieleorsini
Автор

Salve avrebbe una mail per un progetto unico che ho intenzione di elaborare? Grazie

beeplayer
Автор

Ciao avrei bisogno di aiuto? E possibile rilevare tipo persone come nei giochi fps? Non so se mi sono spiegato

luigiesposito
Автор

hey ciao, sto avendo qualche difficoltà con import cv2, mi da no module named cv2, cosa devo installare? grazie in anticipo

snxpyx
Автор

Ciao, esiste per caso un modo per fare "laggare" di meno il video (se sai dirmi se dipenda da connessione wifi oppure da qualche riga di codice)

matteobianchi
Автор

Ottima Guida. è possibile prelevare l'input dalla cam del raspberry qualora volessi sviluppare su questa piattaforma HW? un'altra domanda, nel codice ho l'output di quello che riconosce cosi da gestire il dato? grazie

giovannaguardiani
Автор

ciao, ho un errore nella riga 12:

outLayers = [layers[i[0] -1] for i in


IndexError: invalid index to scalar variable

dove ho sbagliato?
grazie

SpitfireFAbc
Автор

Ciao, è possibile inserire gli oggetti riconosciuti dalla webcam in un database mysql?? Se si potresti spiegarmi come...Grazie mille in anticipo : )

andrearenna
Автор

ciao scusatemi, il link github mi da errore...page not found potreste gentilmente mandarmi l url corretta? grazie mille e complimenti

agostinofunari
Автор

Quando fai l analisi di un video che carichi è possibile creare un file di testo dove registra il tempo di quando si presenta una determinata classe di oggetti? Ad esempio….nel video X al secondo 25 passa una persona mentre al minuto 1:50 passa un cane

alessiosperanza
Автор

ciao, questo video mi è stato molto utile per risolvere un piccolo problema riguardante una parte della mia tesi di laurea... ho testato il tuo codice su un immagine dove al suo interno veniva mostrato solo un cellulare ed è stato riconosciuto come oggetto... adesso in particolare mi servirebbe poter trovare le cordinate di quel determinato oggetto e trovare la distanza tra la webcam di raspberry e l'oggetto.... in modo tale da capire da quanta distanza è stata scattata la foto.... (tale distanza poi mi serve per indicare al braccio robotico a che distanza sta l'oggetto cosi da poterlo afferrare).. avresti qualche suggerimento o qualche guida per poter fare ciò?.... complimenti per la guida... spero risponderai, a presto :)

nicolalibrera
Автор

Contattami in qualche modo ho una innovazione da proporle.

beeplayer