Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
Gli algoritmi di machine learning in OpenCV: introduzione
Scritto da Rocco Galati il 13-04-2011 ore 07:00
Il training guidato in OpenCV consente di scrivere applicazioni in grado di riconoscere elementi in comune tra più immagini e identificare figure predefinite all'interno di un set di dati iniziale.

Le librerie OpenCV includono un meccanismo di apprendimento, che consente di trasformare un insieme di file di immagini in informazioni, che possono essere riutilizzate, in automatico, per poter processare ulteriori dati alla ricerca di determinate caratteristiche. Ovviamente, a seconda dei tratti da rilevare, occorre scegliere con cura l'algoritmo più adatto per l'operazione di training.

Ad esempio, se si è interessati a riconoscere dei volti umani allora si può adoperare un algoritmo di clustering, che è un tipo di apprendimento non supervisionato, che usa delle analisi statistiche sui dati per descrivere il modo in cui questi sono organizzati; invece, se si vuole stimare l'età di una persona prendendo in considerazione dei tratti specifici del viso è meglio ripiegare su un algoritmo di classificazione.

Sicuramente, il Machine Learning (ML) è un tema molto vasto, che assume connotati diversi a seconda dell'ambito di utilizzo. In OpenCV, si è scelto di assumere dei risultati attraverso delle computazioni statistiche piuttosto che far uso delle reti Bayesane o campi di Markov casuali.

Il metodo basato sulla classificazione è quello che viene scelto più spesso dagli sviluppatori, in quanto è anche il più veloce da applicare: l'unico requisito è avere un vasto set di immagini, sceglierne un certo numero su cui far girare l'algoritmo dopo aver definito dei feature vector e, alla fine dell'iter, testare l'apprendimento sui campioni di immagini restanti. I feature vector sono dei vettori n-dimensionali, che fanno riferimento a tutte le n caratteristiche che definiscono un oggetto.

Nel prossimo articolo verrà fatta una rapida carrellata degli altri algoritmi che è consentito utilizzare in OpenCV per implementare tecniche di ML.
Precedente: C Craft, il culto del linguaggio
Successiva: E' necessario utilizzare un framework per lo sviluppo di siti?
Copyright Programmazione.it™ 1999-2013. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.228 secondi.