La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Tutorial para implementar, en la práctica, una LSSVM. (CLASES Nº 3 y 4) Versión 1.0. Autor: Miguel Vera Universidad de los Andes Facultad de Ingeniería.

Presentaciones similares


Presentación del tema: "Tutorial para implementar, en la práctica, una LSSVM. (CLASES Nº 3 y 4) Versión 1.0. Autor: Miguel Vera Universidad de los Andes Facultad de Ingeniería."— Transcripción de la presentación:

1 Tutorial para implementar, en la práctica, una LSSVM. (CLASES Nº 3 y 4) Versión 1.0. Autor: Miguel Vera Universidad de los Andes Facultad de Ingeniería Escuela de Ingeniería Eléctrica Maestría en Ingeniería Biomédica GIBULA

2 Antes de implementar, entrenar, simular y validar una LSSVM, se debe: A.- Vectorizar los Patrones de entrada, de la LSSVM. Para ello: 1.- Seleccione la secuencia de imágenes que, de acuerdo a su criterio, sirvan para hacer el trabajo. 2.- Tome cada imagen y guárdela en una carpeta conjuntamente con el programa extract, realizado en lenguaje C. 3.- Ejecute el programa extract para generar todas las posibles subimágenes de tamaño conveniente, en este caso 31*31pixels. Estas imágenes se generan por defecto en la carpeta que contiene la imagen usada. Este programa pide: Nombre de la Imagen= IM270; Tamaño de la imagen=512; Tamaño de la subimagen=31.

3 4.- En el paso anterior se generan 231.361 subimágenes, las cuales deben ser distribuidas en subcarpetas de 10.000 imágenes cada una. La razón de ello estriba en que, por una parte, Matlab no maneja eficientemente ese gran número de subimágenes y por la otra, la pc se realentiza cuando las carpetas poseen “muchas” imágenes. 5.- Ahora se deben vectorizar las subimágenes obtenidas para cada imagen. Para ello, se copia en cada subcarpeta el programa vectorizador.m y se ejecuta desde cada subcarpeta en matlab, así luego de un tiempo se obtienen las matrices que representan la imagen total vectorizada. Estas matrices deben ser almacenadas en Carpetas Distintas a las que contienen las subimagenes y serán usadas posteriormente durante las fases de simulación y validación. Antes de entrenar, simular y validar una LSSVM:

4 Antes de entrenar, simular y validar una LSSVM, se debe: B.- Preparar la base de datos, que permita implementar la LSSVM. Para ello: 1.- Divida la secuencia seleccionada en dos grupos: Uno para el proceso de Entrenamiento y otro para el proceso de Validación. Aquí se recomienda en una primera aproximación, que los dos grupos sean de igual tamaño. Para nuestro ejemplo, los grupos se forman con la secuencia de: Números pares, ENTRENAMIENTO= IM0000270; IM0000272 … Números Impares, VALIDACIÓN = IM0000271; IM0000273… 2.- Del grupo de Entrenamiento, use por ejemplo PhotoShop, para realizar una extracción manual de subimagenes que representen: a.- Los patrones a reconocer, los cuales se denominaran “Zonas de Interés” (ZI) o Marcadores Anatómicos y b.- Regiones que no sean idénticas a las ZI, denominadas de aquí en adelante como No marcadores o “Basura”.

5 Ejemplo de ubicación de los Marcadores

6 3.-Las subimagenes extraidas deben ser guardadas en dos carpetas; una para los Marcadores y otra para los No marcadores. Ahora se deben vectorizar las subimagenes que representan tanto a los marcadores como a los No marcadores. Para ello, guarde en la carpeta que contiene los Marcadores el programa vm.m y en la que contiene los No marcadores el programa vnm.m. 4.-Abra Matlab y ejecute primero vm.m. En el workspace se genera el conjunto de Marcadores vectorizados los cuales se denominan así: a1,a2,a3,a4,…an. Guarde estos vectores en otra carpeta. Luego ejecute vnm.m para obtener los vectores correspondientes a los No marcadores. Así, este conjunto quedaría estructurado así: I1,I2,I3,I4,…In. Guarde estos vectores en otra carpeta Antes de entrenar, simular y validar una LSSVM:

7 5.- Construya una base de datos general que incluya los Marcadores y No marcadores vectorizados y guárdela en la misma carpeta en donde están los programas que servirán para implementar la lssvm. Esta carpeta especial, debe haber sido descargada -previamente- de Internet y su ubicación en el disco duro debe ser seleccionada como la dirección de trabajo actual de Matlab para los pasos que siguen. 6.- Abra el programa Histocurso.m, copie y pegue en línea de comando de Matlab las líneas 5-6 correspondiente a la creación de matrices p (contentiva de Marcadores y No Marcadores) y t (Etiquetas). Obsérvese que se ha utilizado una relación 1:5, es decir, por cada Marcador se han utilizado 5 No marcadores.

8 7.- Ejecutar lo siguiente, en la línea de comandos de Matlab X=p';Y=t'; Esto invierte las matrices p y t, porque la lssvm a implementar trabaja con vectores columna. 8.- En este punto es importante que en el Workspace solo queden X y Y, por tanto se debe eliminar de él el resto de variables. 9.- Usando Histocurso.m, copie y pegue en línea de comandos Matlab, lo siguiente: gam =100 ;sig2 = 10;type = 'classification'; [alpha,b] = trainlssvm({X,Y,type,gam,sig2,'RBF_kernel'}); [alpha,b] = trainlssvm({X,Y,type,gam,sig2,'RBF_kernel','original'}); [alpha,b] = trainlssvm({X,Y,type,gam,sig2,'RBF_kernel',' preprocess '}); PROCESO DE ENTRENAMIENTO de una LSSVM:

9 7.- Abra la base de datos que contiene solo los Marcadores y ejecute: ZI=[a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a52 a53 a54 a55 a56 a57 a58 a59 a60 a61 a62 a63 a64 a65 a66 a67 a68 a69 a70 a71 a72 a73 a74 a75 a76 a77 a78]/255; Xt=ZI'; Ytest = simlssvm({X,Y,type,gam,sig2,'RBF_kernel','preprocess'}, {alpha,b},Xtp);s=find(Ytest<1) PROCESO DE SIMULACIÓN I de una LSSVM:

10 8.- Abra la base de datos que contiene solo los No Marcadores y ejecute: BASURA=[I1 I2 I3 I4 I5 I6 I7 I8 I9 I10 I11 I12 I13 I14 I15 I16 I17 I18 I19 I20 I21 I22 I23 I24 I25 I26 I27 I28 I29 I30 I31 I32 I33 I34 I35 I36 I37 I38 I39 I40 I41 I42 I43 I44 I45 I46 I47 I48 I49 I50 I51 I52 I53 I54 I55 I56 I57 I58 I59 I60 I61 I62 I63 I64 I65 I66 I67 I68 I69 I70 I71 I72 I73 I74 I75 I76 I77 I78 I79 I80 I81 I82 I83 I84 I85 I86 I87 I88 I89 I90 I91 I92 I93 I94 I95 I96 I97 I98 I99 I100 I101 I102 I103 I104 I105 I106 I107 I108 I109 I110 I111 I112 I113 I114 I115 I116 I117 I118 I119 I120 I121 I122 I123 I124 I125 I126 I127 I128 I129 I130 I131 I132 I133 I134 I135 I136 I137 I138 I139 I140 I141 I142 I143 I144 I145 I146 I147 I148 I149 I150 I151 I152 I153 I154 I155 I156 I157 I158 I159 I160 I161 I162 I163 I164 I165 I166 I167 I168 I169 I170 I171 I172 I173 I174 I175 I176 I177 I178 I179 I180 I181 I182 I183 I184 I185 I186 I187 I188 I189 I190 I191 I192 I193 I194 I195 I196 I197 I198 I199 I200 I201 I202 I203 I204 I205 I206 I207 I208 I209 I210 I211 I212 I213 I214 I215 I216 I217 I218 I219 I220 I221 I222 I223 I224 I225 I226 I227 I228 I229 I230 I231 I232 I233 I234 I235 I236 I237 I238 I239 I240 I241 I242 I243 I244 I245 I246 I247 I248 I249 I250 I251 I252 I253 I254 I255 I256 I257 I258 I259 I260 I261 I262 I263 I264 I265 I266 I267 I268 I269 I270 I271 I272 I273 I274 I275 I276 I277 I278 I279 I280 I281 I282 I283 I284 I285 I286 I287 I288 I289 I290 I291 I292 I293 I294 I295 I296 I297 I298 I299 I300 I301 I302 I303 I304 I305 I306 I307 I308 I309 I310 I311 I312 I313 I314 I315 I316 I317 I318 I319 I320 I321 I322 I323 I324 I325 I326 I327 I328 I329 I330 I331 I332 I333 I334 I335 I336 I337 I338 I339 I340 I341 I342 I343 I344 I345 I346 I347 I348 I349 I350 I351 I352 I353 I354 I355 I356 I357 I358 I359 I360 I361 I362 I363 I364 I365 I366 I367 I368 I369 I370 I371 I372 I373 I374 I375 I376 I377 I378 I379 I380 I381 I382 I383 I384 I385 I386 I387 I388 I389 I390]/255;Xt=BASURA'; Ytest = simlssvm({X,Y,type,gam,sig2,'RBF_kernel','preprocess'},{alpha,b},Xt);s=find(Ytest<1)

11 9.- Abra la base de datos que contiene la primera imagen usada en el proceso de ENTRENAMIENTO y ejecute: Ytest = simlssvm({X,Y,type,gam,sig2,'RBF_kernel','preprocess'},{alpha,b},Xt10);s=find(Ytest<1); k1=(s)';clear('Xt10'); Ytest = simlssvm({X,Y,type,gam,sig2,'RBF_kernel','preprocess'},{alpha,b},Xt20);s=find(Ytest<1); k2=(s+10000)';clear('Xt20');... Ytest = simlssvm({X,Y,type,gam,sig2,'RBF_kernel','preprocess'},{alpha,b},Xt230);s=find(Ytest<1); k23=(s+220000)';clear('Xt23'); PROCESO DE SIMULACIÓN II de una LSSVM:

12 close all; IMA1=imread('IM0000272.bmp'); figure();imshow(IMA1);pixvalhold on; ima_genes=length(k); fi_la=481; A=k/fi_la; CV=floor(A);CH=(A-CV)*fi_la; COORDENADAS=[CH;CV]; %GRAFICACION DE LAS REGIONES DETECTADAS por la svm. for n=1:ima_genes CCDGH=CH(n)+(30/2); CCDGV=CV(n)+(30/2); QH(n)=round(CCDGH); QV(n)=round(CCDGV); Q=[QH;QV]'; plot(CCDGH,CCDGV,'w'); alto= 31;ancho= 31; PIx(n)=CCDGH-((ancho-1)/2); PIy(n)=CCDGV-((alto-1)/2); GASx=[PIx(n) PIx(n)+(ancho-1) PIx(n)+(ancho-1) PIx(n) PIx(n)]; GASy=[PIy(n) PIy(n) PIy(n)+(alto-1) PIy(n)+(alto-1) PIy(n)]; plot(GASx,GASy,'k'); end Verificación gráfica de la eficiencia de una LSSVM:

13 10.- Abra la base de datos que contiene la primera imagen NO usada en el proceso de ENTRENAMIENTO y ejecute: Ytest = simlssvm({X,Y,type,gam,sig2,'RBF_kernel','preprocess'},{alpha,b},Xt10);s=find(Ytest<1); k1=(s)';clear('Xt10'); Ytest = simlssvm({X,Y,type,gam,sig2,'RBF_kernel','preprocess'},{alpha,b},Xt20);s=find(Ytest<1); k2=(s+10000)';clear('Xt20');... Ytest = simlssvm({X,Y,type,gam,sig2,'RBF_kernel','preprocess'},{alpha,b},Xt230);s=find(Ytest<1); k23=(s+220000)';clear('Xt23'); PROCESO DE VALIDACIÓN de una LSSVM:


Descargar ppt "Tutorial para implementar, en la práctica, una LSSVM. (CLASES Nº 3 y 4) Versión 1.0. Autor: Miguel Vera Universidad de los Andes Facultad de Ingeniería."

Presentaciones similares


Anuncios Google