7. Machine Learning

La maggior parte dei rilevatori nel capitolo sull’immagine erano scritti a mano per un obiettivo specifico: intervalli di colore regolati a mano per il tracciamento dei blob, pattern di pesi derivati a mano per i filtri sui bordi, ipotesi geometriche fisse per i rilevatori di linee e cerchi. Ogni algoritmo copriva un solo tipo di compito, e aggiungere un nuovo obiettivo significava scrivere un nuovo algoritmo. Il machine learning cambia il flusso di lavoro. Invece di un algoritmo per obiettivo, l’applicazione carica un modello addestrato – una pila di pesi prodotta esternamente su un desktop con molte immagini di esempio – e lo esegue sulla camera. Lo stesso motore che esegue un rilevatore di volti esegue un estimatore della posa della mano, un tracciatore della posa del corpo, un classificatore di oggetti o qualsiasi altra cosa per cui un modello sia stato addestrato.

Il modulo ml è il toolkit. Ogni operazione si basa su un singolo oggetto Model che carica un file di modello dalla flash, gestisce i suoi tensori di input e output quantizzati, indirizza ogni inferenza al motore corretto sulla cam e instrada i tensori risultanti attraverso un post-processore opzionale che li riconverte nella forma di risultato su cui l’applicazione può agire – box, keypoint, classi o qualunque cosa sia lo scopo del modello.

Conclusione