-
ClaskNN: Classificador per nombre de veïns més propers
Accés directe de l'ajuda a Internet: ClaskNN
Accés a l'aplicació des del menú: "Eines | Classificació d'imatges | Classificador per nombre de veïns més propers (kNN)"
Presentació i opcions
Aquesta aplicació efectua una classificació supervisada d'una imatge (monobanda o multibanda) utilitzant el mètode kNN. kNN és l'acrònim de k (que fa referència a un nombre preestablert de píxels entre els píxels usats per a definir les classes desitjades al mapa categòric que es vol obtenir) i NN (nearest neighbors, veïns més propers). El mètode assumeix que és plausible que els píxels que es troben propers entre si en l'espai estadístic pertanyin a la mateixa classe informacional.
Per a cada píxel de la imatge a classificar, es calcula la distància euclidiana (en l'espai estadístic de representació de les variables independents) a cada píxel de les àrees d'entrenament. Es trien els k píxels més propers d'entre els de les àrees d'entrenament i la classe predominant d'aquest grup de k píxels serà la classe que s'assignarà al píxel a classificar. Per tal de calcular la classe predominant, es permet dues opcions: la primera mitjançant la moda i la segona aplicant un pes en funció de l'invers de la distància (és a dir, que en el càlcul de la moda les mostres més properes en l'espai estadístic pesen més). El fitxer o fitxers d'entrada han de ser ràsters en format IMG i el tipus de dades pot ser qualsevol dels suportats pel MiraMon. Per a més informació es pot consultar el document Descripció dels formats ràster del MiraMon.
A diferència d'altres classificadors, en què el nombre de mostres utilitzades per a definir les classes no és rellevant en la fase d'assignació, el kNN és sensiblement més lent com més mostres existeixen.
Per defecte aquesta aplicació carrega totes les imatges en memòria, el que li permet realitzar els processos de manera més àgil. Tanmateix, en ordinadors amb pocs recursos respecte de la grandària de les imatges aquesta estratègia pot no ser viable. És per això que l'opció "No carregar les imatges a classificar en memòria" permet indicar al programa que durant els processos es mantinguin en memòria només aquelles dades que necessita en cada moment, ni que això impliqui un alentiment de l'execució. L'aplicació commuta automàticament a aquest mode si no té prou memòria disponible, fet pel qual habitualment no cal activar-lo expressament.
Aquesta aplicació està paral·lelitzada, tant en les versions de 32 com de 64 bits, amb la qual cosa és possible que distribueixi la feina entre els nuclis de processador disponibles en l'ordinador on s'executa. Si, per exemple, es disposa d'un ordinador amb dos processadors de 20 nuclis cadascun, es pot aconseguir reduir gairebé 40 vegades el temps necessari per a obtenir els resultats, utilitzant tots els nuclis disponibles, cosa que es pot fer amb el paràmetre corresponent en un valor indicat per "MAX"; quan s'indica que el nombre de nuclis a emprar és MAX, l'aplicació utilitza tots els nuclis. Tanmateix, de vegades es pot preferir no comprometre tota la capacitat de càlcul de l'ordinador i indicar SUB_MAX (deixarà un processador lliure per a altres processos que s'estiguin fent) o indicar un valor numèric concret inferior, en tots els casos a través de l'opció "Nombre de nuclis de processador a utilitzar". Demanar més nuclis dels realment disponibles és possible, creant-ne de virtuals, però això no accelera el processat, sinó al contrari. L'Administrador de tasques del Windows permet conèixer de quin nombre total de nuclis disposa l'ordinador; també pot saber-se executant l'aplicació en mode MAX, ja que indicarà per pantalla quants nuclis està utilitzant.

Caixa de diàleg de l'aplicació
|
Caixa de diàleg del ClaskNN |

Sintaxi
Sintaxi:
- ClaskNN TipusCalcul LlistaFitxersIMG FitxerClass FitxerAE NumVeins [/MaxDist] [/NVeinsMin] [/MaxBandesNODATA] [/AEAmbNODATA] [/PertMax] [/VariablesAE] [/DISC] [/N_Proces] [/2_CLASSES_RESULT] /MapaDistMin /MapaDistMax /MapaMedianDist /MapaNPixAE /MapaIncert /MapaFKM
Paràmetres:
- TipusCalcul
(Tipus de càlcul -
Paràmetre d'entrada): Mètode de càlcul de la classe predominant:
- 2 Mitjançant la moda després d'aplicar un pes respecte l'invers de la distància.
- LlistaFitxersIMG
(Llista dels fitxers ràster d'entrada -
Paràmetre d'entrada): Llista dels fitxers ràster d'entrada.
- FitxerClass
(Fitxer resultat -
Paràmetre de sortida): Fitxer resultat de la classificació.
- FitxerAE
(Fitxer àrees d'entrenament -
Paràmetre d'entrada): Fitxer de les àrees d'entrenament.
- NumVeins
(Nombre de veïns -
Paràmetre d'entrada): Paràmetre del nombre de veïns més propers (k de l'algorisme).
Modificadors:
/MaxDist=
(Distància màxima per a ser candidat a un dels k veïns)
Distància màxima per sobre la qual un píxel d'una àrea d'entrenament no pot ser candidat a esdevenir un dels k veïns. (Paràmetre d'entrada) /NVeinsMin=
(Nombre de veïns mínim per a classificar un píxel)
Nombre de veïns mínim per a classificar un píxel. (Paràmetre d'entrada) /MaxBandesNODATA=
(Tolerància de variables amb sensedades)
Nombre màxim de variables amb valor sensedades per classificar un píxel i no considerar-lo sensedades. Si es vol usar el màxim permès cal indicar MAX. Si s'indica el paràmetre especial MAX, automàticament classifica amb aquest paràmetre inicialitzat al nombre de bandes menys 1. Contràriament, si no s'indica el paràmetre, equival a indicar un 0 (és a dir, que només que manqui una sola dada en el conjunt multivariant, el píxel no serà classificat). (Paràmetre d'entrada) /AEAmbNODATA
(Acceptar àrees d'entrenament amb sensedades)
Acceptar àrees d'entrenament amb sensedades en alguna de les variables. (Paràmetre d'entrada) /PertMax=
(Pertinença màxima)
Pertinença màxima per a calcular el mapa d'incertesa. Només aplica si es demana crear MapaFKM o MapaIncert. Pot ser la suma de pertinences del píxel (valor per defecte) o bé un valor definit per l'usuari. (Paràmetre d'entrada) /VariablesAE=
(Llistat variables de les àrees d'entrenament)
Llistat de variables on es llegiran els valors de les àrees d'entrenament per a fer la classificació. Si no se n'indica cap, s'utilitzaran les variables d'entrada (les del paràmetre 'FitxerAE'). (Paràmetre d'entrada) /DISC
(Forçar a no carregar les imatges a classificar en memòria)
Útil per a ordinadors amb molt poca memòria en relació a la grandària dels fitxers a ser emprats en la classificació. En general no cal aplicar-lo ja que si el programa es queda sense memòria commuta automàticament a aquest mode. (Paràmetre d'entrada) /N_Proces=
(Nombre de nuclis de processador a utilitzar)
Es pot indicar un número concret de processador o "MAX" (per a utilitzar tots els processadors) o "SUB_MAX" (per a utilitzar tots els processadors menys un). (Paràmetre d'entrada) /2_CLASSES_RESULT
(Generar ràster classificació en segona instància)
Permet generar un segon ràster amb el resultat de la classificació en segona instància. (Paràmetre d'entrada) /MapaDistMin=
(Mapa de distància mínima)
Mapa de distància mínima a les àrees d'entrenament amb les quals s'ha pres la decisió de classificar el píxel en una classe concreta. (Paràmetre de sortida) /MapaDistMax=
(Mapa de distància màxima)
Mapa de distància màxima a les àrees d'entrenament amb les quals s'ha pres la decisió de classificar el píxel en una classe concreta. (Paràmetre de sortida) /MapaMedianDist=
(Mapa de la mediana a les distàncies)
Mapa de la mediana a les distàncies a les àrees d'entrenament amb les quals s'ha pres la decisió de classificar el píxel en una classe concreta. (Paràmetre de sortida) /MapaNPixAE=
(Mapa del nombre de veïns de les àrees d'entrenament)
Mapa del nombre de veïns de les àrees d'entrenament utilitzats. (Paràmetre de sortida) /MapaIncert=
(Mapa d'incertesa)
Mapa d'incertesa. (Paràmetre de sortida) /MapaFKM=
(Mapa fuzzy k-means)
Mapa fuzzy k-means (semblant al mapa d'incertesa). (Paràmetre de sortida)
