IV WORKSHOP DE INVESTIGADORES EN CIENCIAS DE LA...

91
IV WORKSHOP DE INVESTIGADORES EN CIENCIAS DE LA COMPUTACIÓN W W I I C C C C 2 2 0 0 0 0 2 2 16 y 17 de mayo de 2002 Organizado por la Red de Universidades Nacionales con carreras en Informática 16 y 17 de Mayo de 2002 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur – Av. Alem 1253 Bahía Blanca – Pcia. de Buenos Aires República Argentina

Transcript of IV WORKSHOP DE INVESTIGADORES EN CIENCIAS DE LA...

  • IV WORKSHOP DE INVESTIGADORES EN CIENCIAS DE LA COMPUTACIÓN

    WWIICCCC 22000022 16 y 17 de mayo de 2002

    Organizado por la Red de Universidades Nacionales con carreras en Informática 16 y 17 de Mayo de 2002

    Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur – Av. Alem 1253 Bahía Blanca – Pcia. de Buenos Aires República Argentina

  • IV WORKSHOP DE INVESTIGADORES EN CIENCIAS DE LACOMPUTACIÓNDepartamento de Ciencias e Ingeniería de la ComputaciónUniversidad Nacional del Sur - Mayo de 2002

    INDICE

    Aspectos Teóricos de Inteligencia Artificial (ATIA)

    Métodos de razonamiento aproximado en investigación socio económica (MERAIS)BIOUL, Gery - XODO, Daniel- NIGRO, Oscar - ZELASCO, José - TRIPODI, Gustavo -ILLESCAS, Gustavo 4

    Semántica Declarativa Trivaluada para la Programación en Lógica RebatibleCECCHI, Laura - SIMARI, Guillermo 9

    Introducing Probabilistic Reasoning in Defeasible Argumentation UsingLabeled Deductive Systems

    CHESÑEVAR, Carlos - SIMARI, Guillermo 14ILP en Aprendizaje Grupal

    DELLADIO FEDI, Telma 19Embedding Abduction in Monmonotomic Theories

    DELRIEUX, Claudio 24Modelos Formales del Razonamiento Científico

    DELRIEUX, Claudio 29On the Logic of Theory Change: Incision Functions from Selection Functions

    FALAPPA, Marcelo A. - SIMARI, Guillermo R. 34Planificación con Aprendizaje de Reglas Rebatibles para elección de Acciones utilizando

    ArgumentaciónGARCÍA, Diego - GARCÍA, Alejandro 38

    Una Arquitectura Multiagentes para Argumentación DistribuidaGARCÍA, Diego R. - GARCÍA, Alejandro J. - SIMARI, Guillermo R. 43

    Social interaction and argumentation in MASMARTÍNEZ, Diego - GARCÍA, Alejandro 48

    Reelaboración de Planes en Agentes Inteligentes. Operadores BásicosPARRA, Gerardo - SIMARI, Guillermo 53

    La negociación como un proceso de búsqueda usando dialécticaRUEDA, Sonia - SIMARI, Guillermo 56

    Logical Properties in Defeasible Logic Programming - a preliminary report -STANKEVICIUS, A. G. CAPOBIANCO, M. CHESÑEVAR, C. I. 61

    Computación Gráfica. Visualización

    Procesamiento Digital de Imágenes Utilizando PDICalcARLENGHI, L. - VITALE, C. - DELRIEUX, C. - RAMOSCELLI, G. 67

    Estructuras Espaciales para la Represenntación de MapasBACIC, Leadro - DELLADIO, Mauricio - MIGNANI, Mariano 72

    Modelamiento de Objetos 3DCASTRO, Silvia - MARTIG, Sergio - CASTRO, Liliana -BOSCARDÍN, Liliana - SALGADO,Diana 77

    Reconocimiento de RostrosCHICHIZOLA, Franco - DE GIUSTI, Armando - NAIOUF, Marcelo 80

    Visualización de Información de Bases de Datos HeterogéneasCOBO, Ma. Laura - MARTIG, Sergio - CASTRO, Silvia - FILLOTRANI, Pablo 84

    Visualización Interactiva de Diagramas de FaseDELRIEUX, Claudio - DOMINGUEZ, Julián - REPETTO, Andrés 89

    Interfaces en la Visualización de InformaciónDI LUCA, Sandra - MARTIG, Sergio - CASTRO, Silvia - TRUTNER, Guillermo -

    VITTURINI, Mercedes 94

  • IV WORKSHOP DE INVESTIGADORES EN CIENCIAS DE LACOMPUTACIÓNDepartamento de Ciencias e Ingeniería de la ComputaciónUniversidad Nacional del Sur - Mayo de 2002

    Visualización de Reglas de Asociación. Un acercamiento comparativoFILOCAMO, G. - GRANDINETTI, W. - CASTRO, S. - CHESÑEVAR, C 98

    Generación de Objetos Flexibles 3DGONZÁLEZ, Adela 103

    Reconocimiento de Formas en Imágenes MédicasGÓNZALEZ, Adela - GUERRERO, Roberto - ZAVALA, Alfredo 107

    Un Ambiente Gráfico para Testear Estrategias Evolutivas en el Problema Inverso de las IFSIVANISSEVICH, M. Laura - MILLADO, Paula - SIERPE, Luis - DELRIEUX, Claudio 111

    Sistemas Híbridos para el Reconocimiento de PatronesKATZ, Román - DELRIEUX,Claudio 116

    Visualización de Datos MultivariadosLÓPEZ, Lidia M. 121

    Interacción en la Visualización de InformaciónMARTIG, Sergio CASTRO, Silvia - DI LUCA, Sandra 126

    Implementación de un Ambiente para el Estudio Experimental de la Dinámica de PoblacionesPADÍN, Mirta - DELRIEUX, Claudio - DOMINGUEZ, julián 130

    Estimación y Compensación de Movimientos en Video CodificadoRUSSO, Claudia - RAMÓN, Hugo 135

    Clasificación de imágenes digitales utilizando patrones N-dimensionalesSANZ, Cecilia - DE GIUSTI, Armando 140

    Simulación de Medios Artísticos TradicionalesZAVALA, Alfredo 145

    Tecnología Informática Aplicada en la Educación

    Una propuesta para Ambientes Colaborativos InteligentesAGUIRRE, G. CHIARANI, M. GARCÍA, B. LEGUIZAMÓN, G. LUCERO, M. MANZUR, L.PIANUCCI, e I. 150

    Experiencia Interdisciplinaria En La Practica Docente Del Profesora En ComputaciónCAMILETTI, P. PIZARRO, R. A. 155

    Specifying Quality Characteristics and Attributes for E-Learning SitesCOVELLA, Guillermo OLSINA,Luis 160

    Tecnología informática en Software Educativo: Herramientas para el diseño, administración yevaluación de cursos no presencialesDE GIUSTI, A. SANZ, C. MADOZ, C. GORGA, G. CHAMPREDONDE, R. PESADO,P. PASINI, A. BARBIERI, A. RODRIGUEZ, I. FEIERHERD, G. DEPETRIS, B. 165

    www.lea.com.ar: "Un portal de accesibilidad para disminuidos visuales y ciegos"DÍAZ, Javier - HARARI, Ivana - FERREYRA, José 168

    Hacia una experiencia de aprendizaje inicial de Ciencias de la Computación basada en la webFEIERHERD, Guillermo DEPETRIS, Beatriz 173

    Aprendizaje Basado En Problemas Como Apoyo A Las Clases Presenciales A Través De SoftwarePara GroupwareFIGUEROA, Nancy - SALGUIERO, Fernando - CÁNEPA, Sabrina - LAGE, FernandoCATALDI, Zulma 177

    Incorporación de las nuevas tecnologías de la Comunicación y de la Información al quehacerdocente universitarioGODOY GUGLIELMONE, Maria V. - MARIÑO, Sonia I. - DAPOZO, GladysN. PETRIS, Raquel H. 182

    Nuevos Entornos de aprendizaje. Los Ambientes Colaborativos InteligentesLEGUIZAMÓN, Guillermo LUCERO, Margarita AGUIRRE, Guillermo CHIARANI, MarcelaPIANUCCi, Irma MANZUR, Lilian GARCÍA, Berta 187

    Entorno Web para la enseñanza del Método de Programación LinealLÓPEZ, Ma. Victoria GOLOBISKY, Ma. Fernanda MARIÑO, Sonia I. 192

    Aplicación del Método de Montecarlo para el cálculo de integrales definidasLÓPEZ, Ma. Victoria MARIÑO, Sonia I. 197

  • IV WORKSHOP DE INVESTIGADORES EN CIENCIAS DE LACOMPUTACIÓNDepartamento de Ciencias e Ingeniería de la ComputaciónUniversidad Nacional del Sur - Mayo de 2002

    Un paquete de Mathematica para el aprendizaje de métodos de muestras artificiales de variablesaleatorias no uniformesMARIÑO, Sonia I. 202

    Desarrollo de programas educativos para el modelado y la simulación de sistemas. Algunos estudiosde casos.MARIÑO, Sonia I. LÓPEZ, Ma. Victoria 205

    Herramientas y estrategias visuales para sistemas de aprendizajeMARTIG, Sergio SEÑAS, Perla 210

    La visualización de Algoritmos como Recurso para la Enseñanza de ProgramaciónMORONI, Norma SEÑAS, Perla 213

    A System For Control Of Use Of Didactic Material At The DistanceISERHARDT RITZEL, Marcelo VALDENI de LIMA, José 218

    Construcción De Tutoriales Basados En Componentes ReusablesROSANIGO, Zulema B PAUR, Beatríz BRAMATTI, Pedro 224

    Generalización Del Modelo De Hipermedia Para La Construcción De Redes ConceptualesROSANIGO, Zulema B PAUR, Beatríz BRAMATTI, Pedro 228

    Informática Y EducacionSEÑAS, Perla 233

    Mapas Conceptuales: una herramienta para el aprendizaje de Estructuras de DatosUVIÑA, Patricia - BERTOLAMI, Mabel - CENTENO, Ma Elena - ORIANA, Gabriela 237

    Mapas Conceptuales Hipermediales: Su Aplicación En Cursos De Lectura CompresivaVITTURINI, Mercedes BENEDETTI, Laura SEÑAS, Perla 240

    Ingeniería de Software y Bases de Datos

    INCA RUCA QUIMN: Proyecto de automatización de oficinasACOSTA, Nelsson SIMONELLI, Daniel TOSINI, Marcelo 246

    Interoperabilidad de Componentes Software mediante Lenguajes de CoordinaciónAMARO, Silvia MARTINEZ CAROD, Nardina PIEMENTEL, Ernesto 250

    Tool Support for Verifying Applications using object-Oriented PatternsARANDA, Gabriela FLORES, Andrés BUCCELLA, Agustina REYNOSO, luis 253

    Métricas de Performance en Administración de BDD en redes LAN y WANBERTONE, Rodolfo DE GIUSTI, Armando 258

    Methods for Measurement-Based COTS Assessments and SelectionCECHICH, Alejandra PIATTINI, Mario 262

    An extension to EMTPLCOBO, Ma. Laura FALAPPA, Marcelo 267

    Sistemas de Software Distribuido. AplicacionesDE GIUSTI, A. PESADO, P. BERTONE, R. BORACCHIA, M. THOMAS, P. MADOZ, C. 272

    Formal Specifications in Component-Based DevelopmentESTÉVEZ, Elsa FILLOTRANI, Pablo 276

    SOL: Un lenguaje para el programadorFONTAO, Rafael DELRIEUX, Claudio KALOCAI, Guillermo GOÑI, Gustavo 280

    A Framework for Defining and Checking Contraints in Requirement Gathering and DefinitionGÓMEZ, Rodolfo FILLOTRANI, Pablo 286

    Búsquedas en Espacios MétricosHERRERA, Norma - REYES, Nora - BAEZA-YATES, Ricardo - NAVARRO, GonzaloCHÁVEZ, Edgar 290

    Bases de Datos distribuidas: Agentes Móviles en problemas de Replicación, migración yrecuperación de fallasMIATON, Ivana PESADO, Patricia BERTONE, Rodolfo DE GIUSTI, Armando 298

    Project Line: Formally Specifying the Domain of Balanced ScorecardMONTEJANO, G. UZAL,R. RIESCO, D. DASSO, A. FUNES, A. 303

  • IV WORKSHOP DE INVESTIGADORES EN CIENCIAS DE LACOMPUTACIÓNDepartamento de Ciencias e Ingeniería de la ComputaciónUniversidad Nacional del Sur - Mayo de 2002

    Spectra in Taxonomic Evidence in Databases III, Application in Celestial Bodies. AsteroidsFamiliesPLASTINO, Angel ORELLANA, Rosa PERICHINSKY, Gregorio 308

    Integración de los meta-modelos de Workflow y UMLRIESCO, Daniel ACOSTA, Edgardo UVA, Marcelo GRANDO, Adela 313

    Extensiones al Meta-modelo UML Desarrollando Nuevos EsterotiposRIESCO, Daniel GRUMELLI, Alicia MACCIÓ, Alcides MARTELLOTO, Paola 317

    Modelling of Processes and Formal MethodsRiesco, D. MONTEJANO, G. UZAL, R. 321

    A Systematic Approach to Generate Test Cases based on Combinations of InformationSANCHEZ, Marisa A. FELDER, Miguel A. 326

    Integrated Environment Of Systems Automated EngineeringSERVETTO, Arturo GARCÍA MARTÍNEZ, Ramón PERICHINSKY, Gregorio 331

    Proceso y Métodos de Ingeniería Liviana de SistemasSERVETTO, Arturo GARCÍA MARTÍNEZ, Ramón PERICHINSKY, Gregorio 335

    Estudio de Técnicas apropiadas para modelar aplicaciones de Hidroinformática en el contexto delos Sistemas de Información Ambiental

    URCIUOLO, Adriana ITURRASPE, Rodolfo SANDOVAL, Sandra PARSON, Ariel 339El Ciclo De Vida De Los Sistemas: Los Conceptos Y Los Algoritmos De Evolución Simple Y Ciclica

    ZUBENKO, Yurity D. LAGE, Fernando J. CATALDI, Zulma 343Controles Semánticos en Modelamiento Orientado a Objetos

    KAHNERT, Susana FILLOTRANI, Pablo 349

    Procesamiento Concurrente, Paralelo y Distribuído

    Construcción de un sistemas GNU para plataforma SPARC de 64 bitsCURTI, Hugo 355

    Modelo de predicción de performance en sistemas paralelosDE GIUSTI, Laura - NAIOUF, Marcelo - DE GIUSTI, Armando 360

    Procesamiento Paralelo y Distribuido en tratamiento masivo de datosDE GIUSTI, Armando - NAIOUF, Marcelo - SANZ, Cecilia - TINETTI, FernandoDE GIUSTI, Laura - BERTONE, Rodolfo 364

    Una solución estática al problema de Buffer OverflowECHAIZ, Javier GARCÍA, Rafael ARDENGHI, Jorge 368

    Un Modelo de Programación Paralelo para Memoria DistribuidaFERNÁNDEZ, Jacqueline - FUENTES, Mónica - PICCOLI, Fabiana -PRINTISTA, Marcela 373

    Consistencia De Memoria En Sistemas DvsmGARCÍA, Rafael B. ECHAIZ, Javier ARDENGHI, Jorge R. 377

    Perception and Enterprise Communication Networks to Improve the Requirements ElicitationProcessLUZURIAGA, Juan M. MARTÍNEZ, Rodolfo CECHICH, Alejandra 382

    Escalabilidad y Balance de Carga en Sistemas ParalelosNAIOUF, Marcelo DE GIUSTI, Armando 387

    Distributed and Parallel Processing for the Embgrid ProjectSANZ, Cecilia TINETTI, Fernando RUSSO, Claudia DENHAM, Mónica DE GIUSTI, ArmandoGRAU, Oscar 391

    Evaluación del rendimiento y tiempo de transferencia de la información en redes de datosmediante modelos análiticos y técnicas de simulación

    SEGRE, Oscar R. - FUSARIO, Ruben Jorge - SANTA MARIA, Cristobal 395Cómputo Científico: Algoritmos Paralelos para Aprovechar Redes Locales Instaladas

    TINETTI, Fernando BARBIERI, Andrés DENHAM, Mónica 399Procesamiento Paralelo Distribuido Heterogéneo En Aplicaciones Estructurales Y Numéricas

    VAZQUEZ, Gustavo BRIGNOLE, Nélida 402

  • IV WORKSHOP DE INVESTIGADORES EN CIENCIAS DE LACOMPUTACIÓNDepartamento de Ciencias e Ingeniería de la ComputaciónUniversidad Nacional del Sur - Mayo de 2002

    Integración de bloques IP en diseños SOCVILAGARCÍA WANZA Horacio BRIA, Oscar 406

    Modelando la Performance de Aplicaciones en un Clusters de PC'sVILLALOBOS, M. FLORES, S. PICCOLI, F. PRINTISTA, M. 409

    Sistemas Inteligentes

    Agentes y aprendizaje de máquina en optimización, control y entornos de enseñanzaAGUIRRE, Guillermo ERRECALDE, Marcelo LEGUIZAMÓN, Guillermo 414

    Evolución de Controladores Basados en Redes NeuronalesAPOLLONI, Javier KAVKA, Carlos ROGGERO, Patricia 420

    Optimizacion Evolutiva En Ambientes DinamicosARAGÓN, V. ESQUIVEL , S. 425

    Aplicación de una técnica de visión a la representación de una superficie de terreno reconstruido apartir de contornos planaresCAGNINA, Leticia GUERRERO, Roberto 429

    Introduciendo Mejoras En Los Algoritmos EvolutivosESQUIVEL, S. GALLARD, R. 434

    Enfoques Heuristicos Para Problemas De Scheduling Estáticos Y DinámicosESQUIVEl, S. GALLARD, R. GATICA, C. FERRERO, S. LEGUIZAMÓN, G. ZUPPA, F. 438

    Control, Planning, Y Navegacion Basados En Inteligencia ComputacionalESQUIVEL, Susana KAVKA, Carlos LEGUIZAMÓN, Guillermo 443

    Evolutionary Algorithms To Solve The School Timetabling ProblemFERNÁNDEZ, N. ALFONSO, H. GALLARD, R. 448

    Un enfoque evolutivo como método alternativo para la técnica de halftoningGUERRERO, Roberto LEGUIZAMÓN, G. VIANO, Huggo 452

    Redes Neuronales aplicadas al Reconocimiento de PartronesLANZARINI, Laura DE GIUSTI, Armando 456

    Hybrid Evolutionary Algorithms To Solve Scheduling ProblemsMINETTI, G. SALTO, C. BERMÚDEZ, C. FERNÁNDEZ,N. ALFONSO, H. GALLARD, R. 460

    Webexpert - Tool For Knowledge Acquisition By WebNASCIMENTO, Raphael L. da ROCHA FERNANDEZ, Anita Mag. 463

    Inserting Problem-Specific Knowledge In Multirecombined Evolutionary AlgorithmsPANDOLFI, D. DE SAN PEDRO, M. VILLAGRA, A. VILANOVA, G. GALLARD, R. 468

    Performance Evaluation Of Selection Methods To Solve The Job Shop Scheduling ProblemSTARK, N. SLATO, C. ALFONSO, H. GALLARD, R. 473

    Multirecombining Random And Seed Immigrants In Evolutionary Algorithms To Face The FlowThe Flow Shop Scheduling ProblemVILANOVA, G. VILLAGRA, A. PANDOLFI, D. DE SAN PEDRO, M. GALLARD, R. 478

    Sistemas de Tiempo Real

    Fuzzy Logic Controllers on ChipACOSTA, Nelson SIMONELLI, Daniel 484

    Travelling Source Estimation using Spatio-temporal DataBRIA, Oscar N. 489

    Diseño Y Desarrollo De Un Sistema De Soporte De Decisión Para El Análisis De InstrumentaciónDe Plantas IndustrialesPONZONI, Ignacio VAZQUEZ, Gustavo E.CARBALLIDO, Jessica BRIGNOLE, Nélida 495

    Sistemas en Tiempo RealRAMÓN, Hugo ROMERO, Fernando 498

  • IV WORKSHOP DE INVESTIGADORES EN CIENCIAS DE LACOMPUTACIÓNDepartamento de Ciencias e Ingeniería de la ComputaciónUniversidad Nacional del Sur - Mayo de 2002

    Teoría de Computación

    Herramientas de generación de procesadores de lenguages para código móvil seguroAGUIRRE, J. ARROYO, M. FLORIO, N. FELIPPA, J GOMEZ, G. BAVERA, F.CAYMES SCUTARI, P. NORDIO, D. 503

    La Geometría Computacional a nuestro alrededorGAGLIARDI, Edilma - TARANILLA, Ma. Teresa -BERÓN, Mario - PEÑALVER, Gregorio 508

  • IV WORKSHOP DE INVESTIGADORES EN CIENCIAS DE LA COMPUTACIÓN

    WWIICCCC 22000022 16 y 17 de mayo de 2002 AREAS

    Aspectos teóricos de Inteligencia Artificial Computación Gráfica – Visualización Tecnología Informática Aplicada en la Educación Ingeniería de Software y Base de Datos Procesamiento Concurrente, Paralelo y distribuido Sistemas Inteligentes. Metaheurísticas Teoría de Computación Sistemas de Tiempo Real. Procesamiento de Señales.

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 2

  • IV WORKSHOP DE INVESTIGADORES EN CIENCIAS DE LA COMPUTACIÓN

    WWIICCCC 22000022 16 y 17 de mayo de 2002

    Computación Gráfica – Visualización

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 65

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 66

  • Procesamiento Digital de Im¶agenes Utilizando PDICalc

    L. Arlenghi, A. Vitale, C. Delrieux y G. Ramoscelli

    Universidad Nacional del Sur, Alem 1253, (8000) Bah¶³a Blanca, ARGENTINA.Voice: (54)(291)5710098 | Fax: (54)(291)4595154 | e-mail: [email protected]

    Palabras Clave: Procesamiento de Im¶agenes, Planillas de C¶alculo.

    1 Introducci¶on

    El Procesamiento Digital de Im¶agenes (PDI) es un ¶area de creciente importancia tecnol¶ogica[3, 4]. Su objetivo general consiste en manipular se~nales bidimensionales (im¶agenes) paramejorar alguna de sus caracter¶³sticas. Podemos decir que aplicar PDI consiste en dise~naren forma iterativa una secuencia de procesos, eligiendo los mismos de acuerdo a su efectosobre las im¶agenes intermedias, y manipulando los par¶ametros en forma conveniente [2, 6].Muchas veces, sin embargo, estas complejas cadenas de procesos deben aplicarse a m¶as deuna imagen, lo cual resulta tedioso pues es necesario aplicar cada uno de los pasos conlos mismos par¶ametros. Esto es especialmente notorio en el procesamiento de im¶agenessatelitales, por ejemplo de sat¶elites tem¶aticos multibanda, dado que estas operaciones debenrealizarse para varias bandas en paralelo, lo cual hace que la tarea sea tediosa y sujeta aerrores [7]. Todas estas di¯cultades llevan a pensar en buscar una manera °exible e intuitivade plantear el dise~no de un procesamiento de im¶agenes, especialmente para aquellos usuariosque utilizan el PDI de im¶agenes satelitales. En este trabajo present el sistema PDICalc,el cual es una planilla de c¶alculo que permite manejar im¶agenes como si fuesen celdas deuna planilla com¶un. Esto permite acceder a cada paso del procesamiento y modi¯car lospar¶ametros de cada paso individualmente, sin tener que repetir todo el proceso. Tambi¶enpermite la reutilizaci¶on de una secuencia de procesos o de sus partes a cualquier otra imagen,aplicar la misma secuencia en paralelo a varias celdas, y guardar las sesiones intermedias.

    2 El sistema PDICalc

    La idea principal de este sistema es sencilla pero efectiva: concebir al PDI como una planillade c¶alculo, cuyas celdas est¶an ocupadas por im¶agenes. Esto da origen al sistema PDICalc,el cual es, efectivamente, una planilla de c¶alculo para PDI [1]. El contenido de cada celdapuede provenir de un archivo, o bien obtenerse por medio del c¶omputo de alg¶un tipo deoperaci¶on sobre otras celdas. La interfase gr¶a¯ca de PDICalc es semejante en su operaci¶ona una planilla com¶un, de manera que cualquier usuario se sienta c¶omodo con su uso. Eleditor de expresiones se activa cada vez que se \pincha" una celda, y permite programar elcontenido de la misma. Por ejemplo celda3=celda1+celda2 expresa que la imagen en la

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 66

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 67

  • Figura 1: (a) C¶omputo de una imagen en una celda como suma de otras dos celdas, y (b)opciones de edici¶on.

    celda 3 se obtiene computando pixel por pixel, en el espacio crom¶atico RGB, la suma de lospixels de las celdas 1 y 2, ver Fig. 1(a).

    Esta expresi¶on tambi¶en puede obtenerse \pinchando" la celda con el bot¶on derecho, op-ci¶on que despliega un men¶u en el cual se permite modi¯car el origen de una celda (archivo,ecuaci¶on computada a partir de otras celdas, valor constante, etc.), editar los par¶ametrosde la imagen, los ¯ltros, y varias otras que ser¶an descriptas a continuaci¶on (ver Fig. 1(b)).La gram¶atica que permite formar expresiones para computar el contenido de una celda tie-ne como s¶³mbolos terminales Celdai, y algunas constantes de imagen (imagen blanca, conun valor dado de gris, con un valor dado de RGB, etc.). Las operaciones aritm¶eticas seinterpretan como operaciones pixel a pixel en el intervalo entero [0..255] (el usuario tieneopci¶on de decidir en cada caso de qu¶e manera se cierra el ¶algebra, por ejemplo cuando unpixel se hace negativo, mayor que 255, etc.). La gram¶atica incluye tambi¶en la operaci¶onunaria filtrar que denota un ¯ltro gen¶erico (ecualizaci¶on, convoluci¶on, morfol¶ogico, etc.),de manera de poder aplicar dicho procesamiento a una celda arbitraria. Muchos de estos¯ltros implican una conversi¶on previa de la imagen al espacio crom¶atico YIQ (por ejemplopara aplicar ecualizaci¶on). La gram¶atica permite combinar varias evaluaciones en una solaexpresi¶on, por ejemplo celda3=filtrar(celda1+filtrar(celda2-g127)) denota la ope-raci¶on por la cual se le resta a la imagen en la celda 2 el valor de gris 127, al resultadose le aplica un ¯ltrado (a elegir por medio del men¶u del bot¶on derecho). A esta imagense le suma la imagen en la celda 1, y al nuevo resultado se le aplica otro ¯ltrado. Estaforma de proceder es posible, pero siempre es aconsejable descomponer estos procesamientoscomplejos en varias etapas simples (en nuestro caso con la secuencia celda4=celda2-g127,celda5=filtrar(celda4), celda6=celda1+celda5, celda7=filtrar(celda6).

    La gram¶atica permite expresiones circulares, como por ejemplocelda1=filtrar(celda1). Este tipo de casos son ¶utiles y necesarios cuando es nece-sario aplicar un procesamiento iterativo una cantidad indeterminada de veces (variaserosiones o varias dilataciones, por ejemplo). Por dicha raz¶on hemos elegido que laevaluaci¶on de las expresiones sea expl¶³cita (por medio del bot¶on comando en la GUI dela planilla) al contrario de lo que ocurre en las planillas de c¶alculo convencionales. Deesa forma el usuario puede observar no solo el resultado de ir aplicando iterativamenteestos ¯ltros, sino el efecto que se produce cuando a la imagen obtenida se le aplica un

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 67

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 68

  • Figura 2: Men¶u de programaci¶on de los ¯ltros.

    procesamiento ulterior. Al pinchar una celda con el bot¶on derecho del mouse se descuelgaun men¶u que permite, manipular el contenido de la celda de varias maneras (abrir unaimagen desde un archivo, o bien guardarla, copiar o pegar una imagen desde el clipboard,editar las propiedades del ¯ltrado a aplicar, cambiar el nombre de la celda, eliminar la celda,etc.) Entre las propiedades del ¯ltrado a aplicar es posible elegir la aplicaci¶on de ¯ltradopor convoluci¶on, ecualizaci¶on, ¯ltrado morfol¶ogico, etc., donde cada uno de los par¶ametrosespec¶³¯cos (kernel de los ¯ltros, matrices morfol¶ogicas, etc.) se pueden elegir (ver Fig. 2).La programaci¶on de estos ¯ltros tambi¶en se puede copiar y pegar, lo cual es evidentementede gran utilidad. Al pinchar la celda con el bot¶on izquierdo, el contenido de la misma sedespliega en el preview. Pinchando sobre este lugar se despliega una ventana de viewdonde la imagen se aprecia en su tama~no real. La ventana de view tiene una cantidadprogramable de im¶agenes previas almacenadas, de manera de poder comparar en tama~noreal varias im¶agenes al mismo tiempo. Por ¶ultimo, podemos mencionar que en el men¶udescolgable de archivo es posible guardar en disco como \proyecto" el estado completo dela planilla, incluyendo las im¶agenes contenidas en las celdas, la programaci¶on de los ¯ltros,etc. La imagen de cada celda se guarda como archivo .bmp, y el estado de los ¯ltros seguarda en un formato propietario de peque~no tama~no.

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 68

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 69

  • Figura 3: (a) Ecualizaci¶on y pseudocoloring simult¶aneos de las 6 bandas, y (b) selecci¶on deuna zona dentro de la im¶agen (Imagen cortes¶³a de CONAE).

    3 Procesamiento de im¶agenes tem¶aticas

    Una imagen satelital de tipo pasivo est¶a normalmente compuesta por varias bandas, cadauna de las cuales captura el sensado de un segmento espec¶³¯co del espectro electromagn¶etico.Usualmente el usuario de estas im¶agenes debe seleccionar un ¶area determinada, lo cualproduce un mapa de bits en escala de grises. Sin embargo, en la mayor¶³a de las aplicaciones,es necesario realizar procesamientos m¶as complejos. Por ejemplo, el usuario puede requerirun pseudocoloring para visualizar la imagen con cierto realismo, asignando el nivel de tresbandas espec¶³¯cas a los primarios RGB. La mayor parte de las veces este proceder generaim¶agenes excesivamente oscuras y de bajo rango din¶amico, por lo que es preferible antesecualizar los mapas de bits respectivos. Este paso debe estar sincronizado entre las bandasintervinientes (la misma correcci¶on de histograma) para evitar una distorsi¶on en el color,y llegar a una visualizaci¶on satisfactoria normalmente lleva varios pasos de prueba y error.En el sistema PDICalc, como hemos visto, este procedimiento se programa de una manerasencilla y puede reutilizarse para distintas porciones de la imagen sin reprogramar. En laFig. 3(a) podemos observar una imagen de Landsat TM-5 procesada en el PDICalc. En lacolumna de la izquierda se observan los mapas de bits de las 6 bandas (excluyendo la 6),en la columna del medio se aplic¶o la misma ecualizaci¶on a cada celda de la izquierda, y enla columna de la derecha se modi¯c¶o la crominancia para asignar un color diferente a cadabanda. PDICalc ofrece la opci¶on de abrir una imagen satelital directamente del CD y enel formato provisto por la CONAE, donde se puede elegir la banda en particular, la zonadentro de la imagen, y se puede previsualizar para observar si la selecci¶on es adecuada (verFig. 3(b)). Los valores de posici¶on y tama~no de la selecci¶on quedan almacenados en formapersistente, para facilitar la apertura secuencial de todas las bandas necesarias en formaid¶entica.

    Una vez que se ha elegido la zona de trabajo, entonces es muy sencillo aplicar los pro-cedimientos usuales de procesamiento y detecci¶on. Por ejemplo, la segmentaci¶on del ¶³ndicede vegetaci¶on puede computarse por medio del cociente entre las bandas 3 y 4 [5]. Esto

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 69

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 70

  • Figura 4: Segementaci¶on del ¶³ndice de vegetaci¶on.

    puede lograrse de una manera sencilla simplemente programando una celda para realizar taloperaci¶on. En la Fig. 4 se muestra la citada operaci¶on, y la imagen en la celda resultante semuestra en tama~no verdadero en la ventana de view. Esta ¶ultima ventana permite almacenaruna secuencia de im¶agenes para poder comparar r¶apidamente entre resultados alternativosy elegir el m¶as adecuado.

    Referencias

    [1] L. Arlenghi, A. Vitale, C. Delrieux, y G. Ramoscelli. PDICalc: Una Planilla de C¶alculopara el Procesamiento Digital de Im¶genes. Congreso Argentino de Ciencias de la Com-putaci¶on, , p¶ags. 909{920. CACIC 2001.

    [2] K. Castleman. Digital Image Processing. Prentice-Hall, New York, 1989.

    [3] R. Gonz¶alez y R. Woods. Digital Image Processing. Addison-Wesley, 1996.

    [4] Anil Jain. Fundamentals of Digital Image Processing. Prentice-Hall, Cambridge, 1996.

    [5] T. Lillesand y R. Kiefer. Remote Sensing and Image Interpretation (4th. ed.). Willey &Sons, New York, 2000.

    [6] Jae Lin. 2D Signal and Image Processing. Prentice-Hall, Cambridge, 1991.

    [7] J. C. Russ. The Image Processing Handbook. CRC Press, Boca Raton, FL, 1989.

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 70

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 71

  • Estructuras Espaciales para la Representación de Mapas

    Leandro A. Bacic Mauricio Delladio Mariano R. Mignani Departamento de Ciencias e Ingeniería de la Computación

    Laboratorio de Visualización y Computación Gráfica (VyGLab) Universidad Nacional del Sur

    Av. Alem 1253, (8000) Bahía Blanca, Argentina Tel (0291) 459-5135 – Fax (0291) 459-5136

    1 Introducción Unos pocos años atrás la información geográfica se representaba en mapas de papel y la manipulación de esta información estaba limitada a un proceso manual no interactivo. El rápido desarrollo de la digitalización de la información geográfica junto con una demanda creciente de manipulación y análisis de estos datos ha generado la necesidad de software dedicado. La información geográfica está constituida por grandes volúmenes de información espacial y se hace necesario contar con métodos eficientes para almacenarla y recuperar datos relevantes.

    Los datos espaciales consisten de objetos espaciales basados en puntos, líneas, superficies, volúmenes y otros datos de mayor dimensión. Ejemplo de datos espaciales son ciudades, rutas, ríos, etc. En un mapa, estos objetos espaciales combinados con ciertos atributos no espaciales tales como nombres de ciudades, nombres de calles, numeración de rutas, etc. conforman la información geográfica. Las bases de datos espaciales facilitan el almacenamiento y el procesamiento eficiente de información espacial y no espacial, idealmente sin favorecer una sobre otra.

    Una propuesta para la representación de datos espaciales es separar estructuralmente los datos no espaciales de los espaciales manteniendo apropiadamente la relación entre ambos. Esto nos permite agilizar las consultas sobre los datos espaciales (las operaciones espaciales son realizadas directamente sobre la estructura de datos espaciales) y nos da la libertad de elegir una estructura de datos espacial más apropiada de las que nos impone la estructura no espacial.

    Existen muchos estudios teóricos dedicados al tratamiento de información espacial; no obstante, la mayoría de los trabajos de alcance público se basan en la utilización de bases de datos relacionales las cuales no resultan adecuadas debido a la naturaleza de la información subyacente.

    En este contexto, se están estudiando distintas técnicas que permitan representar y manejar adecuadamente datos espaciales, restringiendo la atención a objetos cuyas componentes estén definidas en el plano 2D. Como parte de este estudio se está desarrollando un prototipo para la recuperación y visualización de información espacial que sirva de base para el diseño de distintas aplicaciones de planeamiento urbano.

    2 Estructura de Datos Espacial Existen diversas representaciones que se presentan adecuadas para modelar datos espaciales definidos en el plano 2D con el objetivo de representar información geográfica en 2D.

    La elección de una estructura para la representación de esta información espacial depende de los objetos sobre los que se va trabajar y del tipo de operaciones que se desean aplicar sobre los mismos. Los objetos deben poseer una forma geométrica bien definida y pueden contar con ciertos

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 71

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 72

  • atributos que los caractericen. Las operaciones a utilizar sobre la estructura de datos espacial deben permitir realizar consultas sobre los objetos o sobre sus atributos, tales como consultas de posicionamiento, proximidad o basadas en atributos.

    Entre las distintas formas de representación de datos espaciales en 2D se pueden mencionar las basadas en:

    a) Ocupación del plano, las cuales asumen la existencia de un arreglo de pixels que representan implícitamente los objetos geométricos; así se genera una imagen 2D en la que los objetos están representados como subconjuntos de pixels del mismo color y son distinguidos unos de otros por el color de los pixels adyacentes.

    b) Información explicita de la geometría, donde los objetos están representados por figuras geométricas (líneas, puntos, curvas ,etc) ubicadas sobre el plano 2D.

    Debido a que un mapa poligonal se puede pensar como un conjunto de segmentos de línea que representan calles, ríos, vías ferroviarias, tendidos eléctricos, etc., la segunda propuesta de representación aparece como más natural que la primera.

    Las estructuras utilizadas en la representación de datos espaciales pueden ser jerárquicas o no jerárquicas. Entre las no jerárquicas se pueden mencionar listas secuenciales, listas inversas, etc [Sam90] las cuales presentan ciertas deficiencias en el manejo de esta clase de datos.

    Por su lado, la mayoría de las estructuras utilizadas en la representación de datos espaciales son jerárquicas, estando basadas en el principio de descomposición recursiva. Las estructuras de datos jerárquicas (EDJ) son útiles porque permiten tener distintos niveles de abstracción, enfocando la atención sobre un subconjunto del total de datos, lo que permite construir un conjunto de operaciones mucho más eficientes. Las EDJ son de gran interés por su claridad conceptual y su facilidad de implementación. Entre las distintas representaciones jerárquicas se encuentra el quadtree.

    2.1 Quadtrees Una forma de representación de datos espaciales es hacer uso de estructuras de datos basados en ocupación espacial. Los métodos de ocupación espacial descomponen el espacio de datos en regiones llamadas Buckets. Estos métodos son conocidos como métodos Bucketing.. Dentro de las distintas propuestas de descomposición basadas en Buckets se pueden mencionar [Sam90]:

    - Propuestas basadas en el concepto de rectángulo abarcador mínimo (ej. R-Tree). - Propuestas basadas en la descomposición del espacio en celdas disjuntas las cuales son

    mapeadas dentro de lo buckets (ej: R+-tree y Cell tree). - Propuestas basadas en la descomposición del espacio en bloques de tamaño uniforme (ej:

    uniform grid). - Propuestas basadas en la descomposición regular disjunta del espacio en bloques (o Celdas)

    cuyo anchos están restringidos a ser potencia de dos, y sus posiciones están también restringidas (ej: quadtrees).

    El término quadtree es usado, en el sentido más general, para describir una clase de EDJ cuya propiedad común es la de basarse en el principio de descomposición recursiva del espacio. Los quatrees se diferencia de acuerdo a las siguientes características:

    - El tipo de datos que representan: por ejemplo puntos, rectángulos, regiones, curvas, líneas, superficies, y volúmenes.

    - El proceso de descomposición: la descomposición puede ser en partes iguales en cada nivel (llamada descomposición regular) o puede depender de la entrada.

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 72

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 73

  • - La resolución de la descomposición: es el número de veces que se aplica en proceso de descomposición y puede ser fija o depender de ciertas propiedades de los datos de entrada.

    En general, un quadtree puede ser visto como un árbol donde cada nodo interno tiene cuatro nodos hijos también conocidos como cuadrantes (Nw, Ne, Sw, Se), mientras que cada hoja contiene una lista de objetos. La información de la base de datos está distribuida en las hojas. Es decir, cada uno de los nodos hoja, contiene parte de esta información.

    Actualmente los quadtree son usados para puntos (Point quadtree), líneas y curvas (PM quadtree y sus variaciones), rectángulos, regiones (PR quadtree), superficies y volúmenes, lo que permite cubrir un amplio espectro de necesidades.

    2.2 PM Quadtrees PM Quadtree es el término utilizado para describir una estructura de datos utilizada en la representación de mapas poligonales. Existen distintas variaciones del PM quadtree, entre las que se pueden mencionar PM1, y sus posteriores mejoras PM2 y PM3 [Sam90] las cuales se basan en vértices (puntos) o en lados (segmentos de líneas), y PMR que se basa solo en segmentos de línea. Sus implementaciones hacen uso de la misma estructura de datos. Todas son construidas aplicando el principio de “partir” repetidamente el conjunto de vértices o lados hasta obtener subconjuntos que son suficientemente simples para ser organizados en alguna otra estructura de datos y asociados a hojas del PM quadtree. 2.3 PMR Quadtree El PMR quadtree es una variante del PM quadtree basada en segmentos de línea, el cual hace uso de una regla de división probabilística (probablistic splitting). A un bloque se le permite contener un número variable de segmentos de línea. El PRM quadtree es construido insertando los segmentos uno a uno en una estructura inicialmente vacía, la cual consiste de un único bloque. Cada segmento de línea es insertado en todos aquellos bloques que intersecta u ocupa. Durante este proceso, cada bloque afectado es controlado para ver si la inserción causa el exceso de un umbral de división (splitting threshold). Si se excede este umbral, entonces el bloque es dividido solo una vez en cuatro bloques de igual tamaño. Esto evita dividir un nodo del árbol muchas veces cuando hay unas pocas líneas muy cercanas dentro de un bloque, lo que aumenta la velocidad de procesamiento y reduce el tamaño de la estructura. Durante el proceso de borrado un segmento de línea es removido de todos los bloques que intersecta u ocupa y luego estos bloques se controlan para ver si es necesario mezclarlos (e.i las suma de los segmentos de línea de estos bloques es menor que el umbral de división). 2.4 Recuperación de la información a través de consultas - Ventana de consulta Una operación importante (relacionada a una base de datos espacial) que necesita cierto grado de eficiencia es la recuperación de información contenida en la base de datos espacial. Si bien existen distintos métodos de consulta para recuperar información de una base de datos espacial tales como consultas basadas en coordenadas espaciales, atributos no espaciales o selección de regiones poligonales, uno de los más adecuados es el conocido como ventana de consulta.

    Una ventana de consulta recupera todos los objetos pertenecientes a un área rectangular determinada por un rango de valores de coordenadas x e y, que define la ventana. El método de consulta recupera de la base de datos subyacente todos aquellos bloques de información que son total o parcialmente cubiertos por la ventana de consulta. Luego, se procesan estos bloques para extraer los objetos relevantes.

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 73

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 74

  • Cabe destacar que en algunos casos, un mismo objeto, el cual es indivisible, puede estar representado en más de un bloque. Por ejemplo, una línea L puede estar contenida en más de un bloque a la vez. Esto introduce redundancia en la base de datos y en consecuencia, ineficiencia. En estos casos se debe encontrar una manera de recuperar cada objeto sólo una vez.

    3 Prototipo en Desarrollo En base a lo dicho y con el objetivo de contar con un modelo que sirva de base para el diseño de distintas aplicaciones que sean útiles para el planeamiento urbano, se desarrolló un prototipo que permite la generación de bases de datos espaciales, la recuperación de información de estas bases de datos y la visualización de la información recuperada. 3.1 Generación de la Base de Datos Espacial La base de datos espacial es generada usando un método que combina el mecanismo de división recursivo de PM quatree y el concepto de umbral de división de PMR quatree. El valor del umbral de división es ingresado por el usuario al comienzo de la generación y define una cota superior a la cantidad de segmentos de líneas almacenados en cada hoja. 3.2 Recuperación de la información La recuperación de información se realiza usando el método de ventana de consulta el cual permite extraer información de un subconjunto de la base de datos subyacente mediante la selección de un área rectangular.

    La selección de la ventana se lleva a cabo utilizando el mouse, que permite una forma sencilla y práctica de selección rectangular. Después de la selección se procede a la recuperación de la información espacial mediante la intersección de la ventana de consulta con la base de datos subyacente.

    3.3 Visualización de la información El prototipo presenta dos vistas del mapa, una vista pequeña del mapa completo (mapa de referencia) y otra vista donde se muestra la información recuperada del mapa después de una consulta (mapa de navegación); también incluye el control del desplazamiento dentro del mapa de navegación, la visualización de las coordenadas reales del mapa, y la posibilidad de ver los bloques (buckets) en que fue descompuesto el espacio de datos. Por último cabe destacar que debido a que AutoCAD es una herramienta muy utilizada en la creación de mapas, surge la necesidad de realizar conversiones desde estos formatos a algún otro más conveniente. Por tal motivo se incluye en el prototipo un conversor de formato DXF (AutoCAD) [Rul96] a un formato intermedio que sea útil en la generación de la BD espacial.

    4 Trabajos Futuros y Posibles Extensiones Como ya se ha mencionado, el prototipo de recuperación y visualización de información espacial se está desarrollando con la finalidad que sirva de base para el diseño y construcción de aplicaciones que sean útiles para el planeamiento urbano.

    El desarrollo de una aplicación debe integrar información espacial y no espacial. Hasta ahora se desarrolló lo relativo a geometría y topología. En lo relacionado con la generación de la BD

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 74

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 75

  • espacial, como trabajo futuro, se plantea la necesidad de estudiar la manera de incorporar esta información no espacial a la espacial ya existente. Por su parte, se plantea la incorporación de nuevos métodos de consulta basados en atributos y la generalización del método de la ventana de consulta que permita la selección de regiones de forma poligonal. Con respecto a la visualización, se plantea incorporar mayor funcionalidad y flexibilidad. Todo esto constituye, sin duda, la base para el desarrollo de un amplio espectro de aplicaciones.

    Referencias [AS97] Walid G. Aref and Hanan Samet. Efficient Window Block Retrieval in Quatree-Based Spatial Databases. GeoInformatica, 1(1):59-91, April 1997. [BK2001] Richard K. Brail and Richard E. Klosterman, editors. Planning Support Systems: Integrating Geographic Information Systems, Models, and Visualitation Tools. Esri Press, first edition, June 2001. [HS91] Erik G. Hoel and Hanan Samet. Efficient Processing of Spatial Queries in Line Segment Databases. In Proceeding of the 2nd Symp. on Large Spatial databases (SSD’91), pages 238-255, Zürich, Aug. 1991. [HSS97] Gísli R. Hjaltason, Hanan Samet, and Yoram J. Sussmann. Speeding up Bulk-Loading of Quadtrees. In Proceedings of 5th Intl. ACM Workshop on Advances in GIS, pages 50-53, Las Vegas, NV, November 1997. [Rul96] Keith Rule. 3D Graphics File Format: A Programmer's Reference, chapter 7: DXF AutoCAD R13, pages 195-240. Addison-Wesley Developers Press, first edition, Sept 1996. [Sam90] Hanan Samet. The Design and Analysis of Spatial Data Structures. Addison-Wesley, 1990. [Sam95] Hanan Samet. Spacial Data Structures. Appears in Morden Database Systems: The Object Model, Interoperability, and Beyond, pages 361-385. Addison-Wesley/ACM Press, Reading, MA, 1995. [Tim98] Sabine Timpf. Hierarchical Structures in Map Series. PhD, Technical University Vienna, 1998.

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 75

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 76

  • Modelamiento de Objetos 3D

    Mg. Silvia Castro(1,3) Lic. Sergio Martig(1,3) Dra. Liliana Castro(2,3) Mg. Liliana Boscardín(2,3) Lic. Diana Salgado(2,3)

    (1) Departamento de Ciencias e Ingeniería de la Computación (2) Departamento de Matemática

    (3) Laboratorio de Investigación en Visualización y Computación Gráfica Instituto de Investigación en Ciencia y Tecnología Informática (IICyTI)

    Universidad Nacional del Sur Bahía Blanca

    Resumen Las escenas tridimensionales generadas hoy en día contienen modelos geométricos altamente detallados; éstas están emergiendo rápidamente como la próxima generación de aplicaciones tales como las basadas en Internet, los complejos ambientes virtuales tridimensionales, el CAD colaborativo, la visualización interactiva y los videojuegos multiusuario, entre otras. Así, se espera que la futura generación de sistemas gráficos computacionales trate con complejos modelos 3D renderizados de manera interactiva y se espera un crecimiento de tales modelos 3D en la red. Esta situación motiva el desarrollo de modelos de volúmenes, representados a través de su superficie y/o de su interior, que puedan satisfacer los requerimientos de uso efectivo de espacio en disco y de ancho de banda de red, así como también una reducción sustancial del tiempo de transferencia sobre la red. Indudablemente, estos modelos plantean rigurosas demandas en lo referente a ancho de banda, capacidad de almacenamiento y tiempo de transmisión. Tradicionalmente, los modelos geométricos de gran complejidad han sido construidos de subdivisiones de modelos de objetos aproximados poligonalmente denominadas redes, o de sistemas de escaneo que pueden producir modelos de gran complejidad con cientos de miles o millones de vértices e información de atributos adicionales a cada uno de ellos tales como el color y las normales. En todos los casos, la representación resultante requiere grandes cantidades de memoria de almacenamiento y grandes tiempos de transmisión y renderizado. Por lo dicho, requerimientos mínimos de un sistema gráfico de software de hoy en día incluyen compresión, multirresolución, simplificación aproximada de redes y transmisión progresiva. El principal objetivo de nuestro trabajo es la construcción de buenos modelos de volúmenes, representados tanto a través de su superficie como de su interior, de modo tal que sea posible una aproximación de alta calidad de grandes cantidades de datos. Estamos trabajando en la obtención de representaciones 3D que soporten multirresolución, transmisión progresiva, compresión, refinamiento electivo y renderizado rápido y eficiente. Introducción Hoy en día, los dispositivos de escaneo permiten la adquisición finamente detallada de objetos 3D; además, los costos del hardware gráfico caen aceleradamente, la World Wide Web en el campo de la realidad virtual, especialmente para acceso remoto, hace necesario un acceso muy rápido a los datos; estos son algunos de los factores que demandan una generación y un uso siempre creciente de modelos de volúmenes que puedan enfrentarse con esta complejidad. Las grandes demandas que plantean tales modelos se refieren a los recursos de cálculo, almacenamiento, tiempo de transmisión y renderizado. Con la finalidad de manejar los gigantescos datasets volumétricos, es necesario tener diversas alternativas que satisfagan los requerimientos mencionados. Estos datasets se definen típicamente mediante muestras discretas, bien alineadas

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 76

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 77

  • sobre grillas regulares o bien aleatoriamente dispersos en el espacio describiendo una forma 3D y/o un conjunto de datos adicionales en determinados puntos del dominio. A partir de las muestras discretas, se construye un modelo geométrico que incluya los atributos y que aproxime lo mejor possible la forma subyacente. Multirresolución, compresión y progresividad son esenciales para almacenar, mostrar y transmitir complejas bases de datos 3D dentro de tiempos mínimos, satisfaciendo cotas de error y/o cotas de complejidad. Los conjuntos de datos volumétricos utilizados actualmente en diversas aplicaciones en distintas áreas del conocimiento tienen características muy variadas pero un problema en común: un tamaño tan grande que afecta tanto los requerimientos de almacenamiento y transmisión como su tiempo de visualización. En los últimos años se han hecho esfuerzos con el objeto de mejorar la performance de rendering de estos conjuntos de datos volumétricos, pero hace muy poco que se ha comenzado a hacer propuestas basadas en un modelamiento adecuado. Este trabajo está direccionado a lograr una construcción eficiente de modelos 3D, tanto volumétricos como de superficie, que sean aproximaciones de alta calidad de datos geométricos de gran complejidad permitiendo además una manipulación interactiva de los mismos. Es decir que si bien se ha dedicado mucho esfuerzo para encontrar buenos modelos de representación volumétrica aún resta mucho por hacer . Líneas de investigación actual en Modelamiento Teniendo en cuenta la necesidad de mejores métodos de modelamiento de volúmenes que permitan buenas performances en cuanto a espacio de almacenamiento y a tiempo de transmisión, orientados tanto a volúmenes representados mediante su superficie como a volúmenes representados con su interior, hemos direccionado nuestro trabajo en dos líneas: - Manejo de superficies, incluyendo compresión, subdivisión, simplificación y multirresolución.

    Los modelos 3D que representan los objetos por su superficie están manejando millones de polígonos interactivamente y esto está muy lejos de ser renderizado actualmente en las PC's en tiempos interactivos. Las técnicas actuales de aceleración gráfica mejoran significativamente la performance pero no ayudan cuando en una escena son visibles a la vez una gran cantidad de objetos. Si bien actualmente se han desarrollado muchas técnicas de simplificación que permiten representar escenas complejas efectivamente, aún no se han logrado representaciones para los casos en los que los modelos tienen detalles de alta frecuencia. Es por ello que se está trabajando en representaciones de volúmenes a través de su superficie que, dados modelos de gran complejidad en cuanto a los detalles de alta frecuencia, permitan una representación simplificada de alta calidad.

    - Manejo de volúmenes incluyendo compresión de datos, subdivisión, simplificación y

    multirresolución. Las wavelets han sido descubiertas por las comunidades de gráfica y de visualización para una aproximación eficiente de grandes conjuntos de datos, habiéndose usado en diversas aplicaciones. Dada una pérdida de información predefinida, el principal objetivo de las wavelets es aproximar los datos con tan pocos coeficientes distintos de cero como sea posible. Las propiedades de localización de las wavelets permiten controlar la calidad de la aproximación tanto general como localmente; obviamente esta pérdida de información es función de la posición espacial y la calidad es controlada por la representación en wavelets. Si bien aún se aplican restricciones al conjunto de datasets que se representan con wavelets, lo expuesto habla de la importancia de un desarrollo del tema en lo referente a generalizar las técnicas de wavelets a conjuntos de datos que no pueden atacarse con las representaciones actuales de las mismas. Dentro de este contexto se está trabajando en la extensión de la definición de wavelets sobre tetraedros a wavelets suaves por medio del esquema de

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 77

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 78

  • lifting con el objetivo de modelar objetos complejos de manera compacta dando además una medida de la calidad de dicha aproximación

    Es realmente un desafío encontrar métodos y estructuras de datos que sean compactas, eficientes, confiables y que permitan una buena calidad visual de los modelos. Conclusiones El objetivo del grupo es la obtención de algoritmos y estructuras de datos eficientes para la representación, manipulación y transmisión de objetos 3D gigantes y complejos. En ambos casos, se pretende obtener nuevos modelos 3D que permitan la visualización y la exploración interactiva de grandes conjuntos de datos sobre PCs y en la red, permitiendo así hacer accesible la tecnología de visualización a un mayor rango de usuarios. Bibliografía [1] Chiueh, T., Yang, C., He T., Pfister, H. & Kaufman, A., Integrated Volume Compression and

    Visualization, Proceedings of the IEEE Visualization ’97, pp. 329-336, 1997.

    [2] Cignoni, P., Montani, C., Scopigno, R., A comparison of mesh simplification algorithms, Computers and Graphics, 22(1):37-54, 1998.

    [3] Deering, M., Geometric Compression, Computer Graphics, SIGGRAPH ’95 Proceedings, pp.

    13-20, Agosto 1995.

    [4] Eck, M., DeRose, T., et al., Multiresolution Analysis of arbitrary Meshes, SIGGRAPH’95 Proceedings, pp. 173-182, Agosto 1995.

    [5] Gross, M., Staadt, O. & Gatti, R., Efficient triangular surface approximation using wavelets

    and quadtree data structures, IEEE Transactions on Visualization and Computer Graphics, 2(2):130-143, Junio 1996.

    [6] Heckbert, P. & Garland, M., Survey of polygonal surface simplification, Technical Report, CS

    Dept., Carnegie Mellon University.

    [7] Heckbert, P., Rossignac, J. et al., Course Nº 25: Multiresolution surface modeling, En Course Notes for SIGGRAPH’97, 1997.

    [8] Hoppe, H., Progressive Meshes, Computer Graphics, SIGGRAPH’96 Proceedings, pp. 98-108,

    Agosto 1996.

    [9] Lounsbery, J., Multiresolution Analysis for Surfaces of Arbitrary Topological Type, PhD Thesis, University of Washington, Seattle, 1994.

    [10] Popovic, J. & Hoppe, H., Progressive Simplicial Complexes, SIGGRAPH’97 Proceedings,

    pp. 108-116, Agosto 1997.

    [11] Stollnitz, E., DeRose, T. & Salesin, D., Wavelets for Computer Graphics: Theory and Applications, Morgan Kaufmann Publishers, Inc, 1996.

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 78

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 79

  • Reconocimiento de Rostros

    Franco Chichizola1, Armando De Giusti2 , Marcelo Naiouf 3

    LIDI - Laboratorio de Investigación y Desarrollo en Informática4.Facultad de Informática. Universidad Nacional de La Plata.

    Resumen

    Se investigan y analizan los sistemas de reconocimiento de rostros, con el fin de lograr unoque sea tolerante a diferentes variaciones como posición, características de los rostros, eiluminación.

    El aporte de la línea de investigación es obtener un sistema de reconocimiento de rostroscompletamente automático que permita utilizar imágenes complejas que contengan un rostrode cualquier tamaño y en cualquier posición, tratando de incrementar el número de personas(rostros) reconocidos por el sistema, y de reducir el tiempo necesario para el aprendizaje.

    Palabras ClavesEigenfaces – Normalización – Reconocimiento – Paralelización – Distribución de datos.

    Introducción

    El reconocimiento de rostros automatizado, involucra alguna de las siguientes etapas:

    • Adquisición de la imagen.

    • Normalización de los rostros: en esta etapa se realiza un preprocesamiento de la imagen paralograr que todos las muestras tengan el mismo formato. Por ejemplo, se localiza o se extrae elrostro de una imagen más compleja, se modifica su tamaño, se solucionan problemas como lavariación de iluminación, expresión, posición, etc.

    • Alguna forma de entrenamiento: consiste en utilizar algún mecanismo que le permita alsistema “aprender” los rostros que constituyen el conjunto de entrenamiento. El tipo deentrenamiento que sea utilizado para el aprendizaje dependerá, en gran medida, de lametodología que se esté utilizando para el reconocimiento. Por ejemplo, al utilizar redesneuronales, el entrenamiento consiste en obtener los valores correspondientes a cada una delas conexiones (pesos) que constituyen a la red neuronal.

    1 Ayudante Diplomado Semi Dedicación. [email protected] Investigador Principal CONICET. Profesor Titular Ded. Exclusiva. [email protected] Profesor Titular. [email protected] LIDI - Facultad de Informática. UNLP - Calle 50 y 115 1er Piso, (1900) La Plata, Argentina.TE/Fax +(54) (221) 422-7707. http://lidi.info.unlp.edu.ar

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 79

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 80

    mailto:[email protected]:[email protected]:[email protected]://lidi.info.unlp.edu.ar/

  • • La etapa de reconocimiento: básicamente consiste en alimentar al sistema con diferentesimágenes de personas, esperando obtener como resultado, una forma de codificación unívocaque nos permita identificar de qué persona se trata, o bien determinar que el rostro no está enla base de conocimiento.

    Para la implementación de este tipo de sistemas, independientemente de la técnica ometodología que sea implementada, hay involucrados generalmente dos conjuntos de datos.El primero es utilizado durante la etapa de aprendizaje, el cual es comúnmente llamadoconjunto de entrenamiento. Se debe de tratar que los patrones que integran este conjunto, seanlo más diferentes posible entre sí, y que además, representen al problema, para poder obtenerun buen porcentaje de generalización.El segundo conjunto de patrones, es el que se utiliza durante la etapa de reconocimiento y esllamado conjunto de prueba.

    Una de las técnicas que se utiliza para el reconocimiento de rostros es el de “Análisis deComponente Principal”, también llamado “modelo de Eigenfaces”. Este método es tolerante avariaciones de posición y características (como bigotes, barba, anteojos) de los rostros.Mientras que soporta una cierta variación en la iluminación, pero no diferencia de tamaño enlas imágenes de la cara.

    Este modelo consta de las etapas de entrenamiento y de reconocimiento, necesitándose que lasimágenes que se utilicen estén normalizadas en cuanto al tamaño, y que en ellas aparezca soloel rostro.Por lo tanto, debe existir una etapa previa de normalización, en la cual se debe extraer elrostro de la imagen completa, y luego se modifica el tamaño de éste. Esta tarea requiere uncómputo considerable, lo que justifica el objetivo de la paralelización.

    Temas de Investigación y desarrollo

    Es de hacer notar que un primer prototipo está actualmente operativo, trabajando off-line y enprocesamiento secuencial.

    • Estudio de la etapa de reconocimiento a fin de mejorarla y lograr un mayor porcentaje deaciertos.

    • Desarrollo de un sub-sistema completamente automático para la etapa de normalizaciónde rostros. De esta forma la base de datos puede componerse de cualquier imagen queposea al menos un rostro. Esta etapa incluye la localización del rostro dentro de la imagen,escalamiento de la cara, eliminación de diferencias en la iluminación, y resolución deotros problemas que puedan existir en la imagen.

    • Comparación del sistema completo con otros modelos automáticos de reconocimiento derostros.

    • Ampliaciones del modelo para reconocer imágenes de rostros en colores y para elreconocimiento sobre video.

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 80

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 81

  • • Creación de un sistema inteligente que permita agregar a la base los rostros que seintentaron reconocer y que no estaban en ella..

    • Paralelización del sistema para lograr resultados en tiempo real, y para lograr distribuir losdatos y el procesamiento de manera que se pueda utilizar bases de mayor tamaño.

    Equipamiento de experimentación

    En el LIDI se dispone de un cluster de PCs con 32 equipos homogéneos. Por otra parte, setiene acceso a la computadora Clementina (SGI Origin 2000) que tiene 40 procesadores conmemoria compartida distribuida.

    Naturalmente también se puede experimentar con arquitecturas seudo-paralelas tal comoredes heterogéneas con un soporte de comunicaciones tipo PVM o MPI.

    BIBLIOGRAFIA BASICA

    [1] S. Lin, S. kung, y L. Lin, “Face Recognition/Detection by Probabilistic Decision-BasedNeural Network”, IEEE Trans. Neural Networks, vol. 8, pp. 114-132, 1997.

    [2] Steve Lawrence, C. Lee Giles , Ah Chung Tsoi, Andrew D. Back “Face Recognition:A Convolutional Neural Network Approach”. IEEE Transactions on NeuralNetworks,Special Issue on Neural Networks and Pattern Recognition, Volume 8, Number 1, pp.98-113, 1997.

    [3] F. Samaria and S. Young, “HMM based architectures for face identification”, Imageand Computer Vision”, vol. 12, pp 537-583, October 1994

    [4] F. Samaria, “Face Recognition Using Hidden Markov Models”, PhD thesis, Universityof Cambridge, Cambridge, U.K. 1994.

    [5] Laurenz Wiskott, Jean-Marc Fellous, Norbert Krüger and Christoph von der MalsburgFace Recognition by Elastic Bunch Graph Matching, in Intelligent BiometricTechniques in Fingerprint and Face Recognition, eds. L.C. Jain et al., publ. CRC Press,ISBN 0-8493-2055-0, Chapter 11, pp. 355-396, (1999)

    [6] M. Turk and A. Pentland, “Face recognition using eigenfaces”, in Proceedings ofInternational Conference on Pattern Recognition , pp. 586-591,1991

    [7] Jose Gerardo Gonzalez, Face Recognition and Detection Using Eigenfaces,1997 [8] MIT Media Laboratory Vision and Modeling Group (VISMOD) Face Recognition

    Demo Pagehttp://www-white.media.mit.edu/vismod/demos/facerec/

    [9] AT&T Laboratories Cambridge, “The ORL Database of Faces”,ftp://ftp.uk.research.att.com:pub/data/att_faces.ziphttp://www.cam-orl.co.uk/facedatabase.html

    [10] Champredonde Raúl y Chichizola Franco, “Paralelización de algoritmos en ADA sobreClementina2. Aplicación a un sistema de reconocimiento de rostros”. En Prensa.

    [11] Correa Martín Sebastián y Chichizola Franco. Trabajo de grado de Licenciatura enInformática “Sistema de Reconocimiento de Rostros”. 2001.

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 81

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 82

    http://www-white.media.mit.edu/vismod/demos/facerec/ftp://ftp.uk.research.att.com:pub/data/att_faces.ziphttp://www.cam-orl.co.uk/facedatabase.html

  • Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 82

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 83

  • Visualización de Información de Bases de Datos Heterogéneas

    Maŕıa Laura Cobo∗ Sergio R. Martig Silvia Castro Pablo R. Fillottrani

    Departamento de Ciencias e Ingenieŕıa de la Computación†

    Universidad Nacional del Sur

    Bah́ıa Blanca - Argentina

    fax: +54 291 4595136

    [mlcobo, srm, smc, prf] @cs.uns.edu.ar

    Palabras claves: Visualización, Bases de datos, Programación Orientada a Objetos

    1 Introducción

    Debido al aumento de la cantidad de datos con los que nos tenemos que enfrentar, está ganando

    en importancia la exploración de espacios de información complejos. Estos espacios de informa-ción y su exploración han sido estudiados en los últimos años por una gran variedad de autores

    [Str98, BYRN99, CMS99].Proveer ayudas de orientación intuitivas y técnicas de navegación es esencial para permitir

    la exploración de los mismos. Por espacios de información complejos nos referimos a espaciosde información que no sólo son muy grandes sino además, heterogéneos en su estructura. Los

    espacios de información complejos se caracterizan, por ejemplo, por información que relacionadistintas modalidades (por ejemplo, tablas, gráficos y video) y que difiere en su dimensión.

    La exploración de este tipo de información debe manejar una interacción con los datos que

    permita extraer información útil del conjunto total de datos disponibles. La exploración deinformación comprende varios aspectos:

    • Las facilidades de interacción para moverse (browse) en el espacio de información y buscar

    información

    • La visualización de información que vuelca gráficamente un espacio de información o re-

    sultado de la búsqueda

    • Las técnicas de análisis para facilitar la interpretación de los datos retornados como resul-tado de lo pedido en el proceso de búsqueda.

    La recuperación de la información se refiere a cómo obtener información con ciertas carac-teŕısticas. El tipo de consulta que el usuario puede formular es altamente dependiente de modelo

    de recuperación de información subyacente, en este caso los datos una base de datos. Los usua-rios en busca de respuestas necesidades espećıficas deben interactuar con los datos para precisar

    qué es importante y qué no desde su punto de vista. Para que sea útil, esta interacción debepoder realizarse en todos los niveles del proceso de visualización.

    El área de los lenguajes de consulta para bases de datos relacionales deben moverse hacia unamayor flexibilidad, permitiendo más potencia en la especificación de la consulta. Actualmente,

    un tópico de investigación importante lo constituyen los lenguajes de consulta visuales. Las

    ∗Becaria de la Comisión de Investigaciones Cient́ıficas de la Provincia de Buenos Aires (CIC)†Parcialmente financiado por la Secretaŕıa de Ciencia y Tecnoloǵıa (Universidad Nacional del Sur).

    1

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 83

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 84

  • Figura 1: Arquitectura two-tier

    metáforas visuales pueden ayudar a los usuarios no expertos a formular consultas booleanas

    complejas.Cuando una persona desea obtener determinada información de una base de datos, tiene

    una o más metas en mente y usa un sistema de búsqueda como la herramienta que le brindela posibilidad de alcanzar esas metas. Estas metas pueden requerir información de muy amplio

    espectro: el resultado de una consulta puede mostrarse en forma precisa o imprecisa, de modo talque al visualizarlos posteriormente de dicha búsqueda se pueda tener la posibilidad de observardiferencias. Aśı, en este proceso interactivo de especificación de la consulta, visualización de los

    resultados obtenidos de la búsqueda y examen de los mismos, la información es presentada alusuario ya sea al finalizar el proceso o en la reformulación de la consulta para alcanzar la meta

    deseada.Las búsquedas por palabras clave, los lenguajes de consulta y las consultas guiadas por

    ejemplos son parte de la exploración en las bases de datos. En particular, últimamente hanadquirido relevancia las consultas dinámicas debido a su efectividad; estas consultas son espe-

    cificadas mediante barras de desplazamiento que definen intervalos de interés en los atributos.Este tipo de consulta permite una integración natural de la búsqueda y la visualización de los

    resultados. El proceso de visualización tendiente a realizar una exploración visual de los datosnecesita integrarse con los sistemas utilizados para manipular grandes volúmenes de informaciónrelacional y estructurada, incluyendo la conexión con sistemas de bases de datos relacionales.

    El primer paso de este proceso lo constituye la extracción de los datos a visualizar desde de labase de datos.

    En este trabajo se presenta un proyecto cuyo objetivo es diseñar un sistema que realice latransformación de los datos tabulares de una base de datos relacional en un tabla de datos

    general, de modo que permita su posterior visualización. El sistema debe posibilitar al usuarioque seleccione, según su criterio, algunos de los atributos presentes en una base de datos para

    generar una nueva tabla a partir de la cual se pueda visualizar sólo la información que le resultarelevante. De esta manera el sistema en cuestión deberá establecer una conexión con cualquier

    base de datos relacional, no importando su estructura ni sus contenidos, obtener informaciónsobre su conformación, y a partir de ella solicitar al usuario el grupo información que le resultainteresante, a fin de que el sistema elabore una tabla interna, o tabla de metadatos, con la

    información concreta de la base de datos para su posterior visualización.

    2 Arquitectura del sistema

    El esquema general del sistema se puede observar en la figura 2. Las componentes intervinientesson la base de datos con los datos a ser visualizados, y la aplicación de visualización en śı. Estaaplicación esta formada por un módulo de interacción con el usuario, que se encarga de mostrarle

    al usuario la estructura de la base de datos y le permite a este elegir cuales son las tablas de su

    2

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 84

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 85

  • interés e inclusive las columnas que considera relevantes para el proceso de visualización; otromódulo con el proceso de visualización propiamente dicho, que toma la tabla con los metadatos

    que fueron escogidos por el usario y se encarga de mostrarselos graficamente; y un tercer móduloencargado de recuperar la estructura original de la base datos y genera la tabla de metados según

    los requerimientos del usuario generado por el módulo de interface.Para la implementación de este sistema se escogió el lenguaje de programación Java, con el

    objetivo de aprovechar su portabilidad y la disposición de libreŕıas de acceso a diversas bases dedatos. Por esta razón el último de los módulos descriptos debe usar la API JDBC [WFC+99].

    La implementación que se está llevando a cabo actualmente sólo utiliza la conexión ODBC deWindows, pero la arquitectura está diseñada para poder extenderse a otros protocolos de acceso

    a bases de datos.

    2.1 JDBC

    [WFC+99]JDBC es una API Java que permite el acceso virtual a cualquier tipo de dato tabular.

    Esta API consiste en un grupo de clases e interfaces escritas en el lenguaje de programaciónJava y que a su vez proveen una API estándar para desarrollar herramientas para bases de

    datos y hace posible aplicaciones sobre estas bases de datos. La manera en la que se logra esteobjetivo se reduce básicamente al env́ıo de consultas SQL a la base de datos relacional concreta;para que esto sea posible debe soportar todos los posibles dialectos de SQL. Algunas versiones

    de JDBC también brindan la posibilidad de interactuar con diferentes fuentes de datos. Deesta manera una aplicación puede acceder virtualmente a cualquier fuente de datos y correr

    bajo cualquier plataforma que contenga una máquina virtual Java; es decir que utilizando estaAPI, el programador no se ve en la necesidad de escribir un programa diferente para el acceso a

    datos en diferentes plataformas, sino que simplemente escribe un único programa utilizando APIJDBC; el programa tiene entonces la capacidad de enviar las consultas de manera apropiada

    a la fuente de datos. La combinación de la plataforma Java y la API permite al programadosabstraerse de la arquitectura subyacente, dándole el lema de programación “escriba una vez,

    ejecute donde quiera”. La funcionalidad de la API, puede resumirse en los siguientes tres pasos:

    1. Establecer una conexión con una fuente de datos.

    2. Enviarle consultas y sentencias de actualización a esa fuente de datos.

    3. Procesar el resultado.

    Esta API Java que se está describiendo se adecuá perfectamente a las condiciones establecidas

    por el sistema que se pretende desarrollar. Esto implica que la API logra establecer el procesode comunicación y obtención de datos v́ıa ODBC de manera mucho más adecuada y segura enel sistema concreto.

    Se podŕıa estar tentado en utilizar ODBC; el problema de esta alternativa es que la interfacede ODBC está implementada en el lenguaje C y las llamadas desde Java a código C provocan

    un decremento de algunas propiedades importantes como la seguridad y la portabilidad de lasaplicaciones. La traducción literal del código fuente del ODBC a un API Java tampoco es una

    buena solución ya que la traducción de algunas instrucciones C a Java no son triviales. Porejemplo, aquellas que utilicen punteros, estructura de datos que no existe como tal en Java. El

    otro punto a favor del uso de un API puramente Java radica en el hecho de que la aplicacióncompleta es totalmente portable y segura ya que puede pasar a ejecutarse en cualquier máquina

    que tenga una máquina virtual Java.Un aspecto que es de suma importancia, es la capacidad de manipular metadatos, i.e. datos

    sobre la estructura de la base de datos como los tipos de las columnas de las tablas; esta infor-

    mación es imprescindible para el desarrollo del sistema, más espećıficamente en la construcción

    3

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 85

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 86

  • Figura 2: Diagrama de clases del sistema

    de la tabla interna previamente mencionada. Esto no sólo brinda una manera de manipular la

    información de los datos almacenados en la base de datos sino también una manera de conocerdatos sobre la estructura de la base. La mayoŕıa de las bases de datos están organizadas entablas; para este tipo de aplicaciones es muy importante poder recuperar información sobre la

    base de datos, como la cantidad de tablas de la base de datos, las columnas de cada tabla, eltipo de datos y nombre de cada columna, las claves primarias, etc. Cada tipo de manejador

    de base de datos, DBMS, tiene su propia funcionalidad para otorgar este tipo de información.El API JDBC provee una interface que es implementada mediante un driver de manera que los

    métodos devuelvan información sobre el driver y/o el manejador de datos para el cual el driverfue escrito. Esta interface brinda a los usuarios y a las herramientas una forma estándar de

    obtener metadatos.

    2.2 Estructura de la aplicación servidora

    En este caso, la idea es empezar realizando una aplicación que se adapte a la forma two-tier

    propuesta. A pesar de que puede resultar claro la utilidad de transformar más adelante elsistema en three-tier, a fin de que resulte más general y modular.

    En principio el sistema tendŕıa la estructura que se observa en la figura 2.2.De acuerdo al diagrama de clases, el sistema cuenta con las siguientes clases:

    API JDBC: Es el API Java que fue mencionado en la sección 2.1 y que llevará a cabo laconexión con la base de datos a través de ODBC.

    Manejador de Datos: Es quien mantendrá la interacción con JDBC, indicándole que datos

    pedirle a la base de datos, estos datos pueden ser datos concretos o bien metadatos. A

    4

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 86

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 87

  • su vez en su funcionalidad incluye el pasar la información primero a la Clase DiálogoElección y mas adelante a la clase Estructura Tabla para formar la estructura que haya

    sido indicada por el usuario.

    Diálogo Elección: Esta interacción con el usuario, indicará al manejador de datos. cuales da-tos de cada tabla disponible guardar en la estructura interna dada por las clases siguientes.

    Estructura Tabla: Esta clase guarda la forma de una tabla particular, como la tabla esta

    formada por registros, conoce a la clase Registro Tabla a pesar de que esta última noconoce la existencia de esta clase.

    Registro Tabla: Esta clase representa a cada uno de los registros de una tabla particular.

    Requiere del conocimiento de la clase Tipos Simples ya que necesita los métodos necesariospara su manipulación.

    Tipos Simples: Son los tipos básicos que puede contener la tabla. Esta clase no tiene concien-

    cia de la existencia de las otras clases a pesar de que es conocida desde la clase RegistroTabla.

    Enlaces: Esta relacionada a travesee de una agregación con la clase Estructura Tabla. Su

    función es guardar la relación que pueda existir entre dos tablas diferentes de la base dedatos, guardando a su vez el campo que las mantiene enlazadas.

    La base de datos o DBMS, pude variar de una base Access hasta una Oracle, pasandopor cualquier otro tipo existente. Por la naturaleza de la implementación esta funcionará sólo

    sobre el sistema operativo Windows, ya que la interacción está desarrollada para motores quese comprendan con ODBC.

    La elección de Java como lenguaje de implementación está fundamentada en las carac-teŕısticas del lenguaje, es decir, en el hecho de que Java es un lenguaje de programación robusto,

    seguro, fácil de utilizar y entender y downlodable de los entornos de red; estas caracteŕısticas lohacen un buen lenguaje base para aplicaciones sobre bases de datos.

    Una posible futura extensión de este sistema seŕıa pasar el modelo de una arquitectura

    two-tier a una three-tier, obteniendo aśı una estructura en la que se cuenta con una aplicaciónservidora que establece el contacto con la base de datos y construye la tabla de metadatos,

    solicitada por los usarios a través de navegadores o aplicaciones remotas. Estas aplicacionesremotas cumplirian el papel de clientes, y conforman la tercera parte de la arquitectura. Las

    implicacias de esta decisión seŕıan que la aplicación en la nueva arquitectura no contendŕıaninguna interacción con el usuario de manera directa; como aśı tampoco estaŕıa involucrada en

    el proceso de visualización de manera concreta, solo provee los datos de la base solicitados enforma de una estructura Java.

    Referencias

    [BYRN99] Ricardo Baeza-Yate and Berthier Ribeiro-Neto. Modern Information Retrieval. Ad-dison Wesley, 1999.

    [CMS99] Stuart Card, John Mackinlay, and Ben Shneiderman. Readings in Information Vi-

    sualization. Morgan Kaufmann, 1999.

    [Str98] Thomas Strothotte. Computational Visualization. Springer Verlag, 1998.

    [WFC+99] Seth White, Maydene Fisher, Rick Cattell, Graham Hamilton, and Mark Hapner.

    JDBC API Tutorial and Reference, Second Edition. Addison Wesley, 1999.

    5

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 87

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 88

  • Visualizaci¶on Interactiva de Diagramas de Fase

    Claudio Delrieux, Juli¶an Dominguez y Andr¶es Repetto

    Universidad Nacional del Sur, Alem 1253, (8000) Bah¶³a Blanca, ARGENTINA.Voice: (54)(291)4591501 ext. 3381 | Fax: (54)(291)4595154 | e-mail: [email protected]

    Palabras Clave: Visualizaci¶on Cient¶³fica | Sistemas no Lineales y Ca¶oticos| Streamlines | (LIC) Line Integral Convolution.

    1 Introducci¶on

    En la literatura se han presentado varios m¶etodos para la visualizaci¶on de campos vectoriales(glifos, trayectorias de part¶³culas, ¶³conos, Streamlines, Hyperstreamlines, Spot Noise, LIC,etc.) [1, 2, 3, 12, 15, 16], de las cuales Streamlines y LIC son las m¶as importantes y utili-zadas. En °ujos estacionarios, el m¶etodo de las Streamlines o l¶³neas de °ujo coincide con laintegraci¶on de trayectorias en sistemas din¶amicos [9, 14]: se posiciona una condici¶on inicial (osemilla) en el espacio de fases, y se integra la ecuaci¶on diferencial por medio de diferenciales¯nitos. Para obtener un cubrimiento uniforme del diagrama de fases o para ubicar todos lospuntos cr¶³ticos del sistema, se requiere encontrar un conjunto representativo de trayectorias,lo cual implica encontrar las respectivas semillas, y el paso y la longitud de integraci¶on.La elecci¶on de un valor para el diferencial ¯nito o factor de integraci¶on debe ser realizadacuidadosamente para no producir excesivo oversampling o undersampling. La ¶unica manerade asegurar un paso ¶optimo en toda circunstancia consiste en utilizar un paso adaptativo,como se sugiere en [4]. La cantidad de iteraciones, junto con el paso de integraci¶on y la velo-cidad media en la trayectoria, son todos factores que inciden en la longitud ¯nal que tendr¶ala misma en el diagrama de fases. En muchas circunstancias la correcta apreciaci¶on de uncampo de velocidades se logra visualizando un gran conjunto de trayectorias relativamentecortas (\colas de cometa" [6, 7]), y para brindar una buena idea de la direcci¶on del °ujo sepueden representar las trayectorias modi¯cando la saturaci¶on [8]. El posicionamiento unifor-me de las semillas no garantiza un cubrimiento satisfactorio. Ni siquiera garantiza que todoslos puntos cr¶³ticos del sistema din¶amico se representen adecuadamente. Una soluci¶on paraestos problemas consiste en realizar la din¶amica inversa del sistema a partir de la semilla,una cierta cantidad de iteraciones, para determinar si el punto est¶a cerca de un repeledor.Esta t¶ecnica de \path-search" [5] permite lograr un cubrimiento m¶as parejo del diagramade fases, y adem¶as acelera la generaci¶on del diagrama de fases porque requiere integrar unamenor cantidad de trayectorias. Un problema inevitable es que muchas de estas t¶ecnicas sondirectamente dependientes del sistema en particular, por lo que una visualizaci¶on adecuadarequiere de la asistencia del usuario.

    Por su parte, la LIC (Line Integral Convolution) [1] realiza una integraci¶on m¶as corta(t¶³picamente se realizan menos de 100 iteraciones). La trayectoria generada no se gra¯ca, sinoque se utiliza para recorrer los texels correspondientes, integrando el color de los mismos para

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 88

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 89

  • Textura 1CLIC 1

    Textura 2CLIC 2

    Figura 1: Representaci¶on gr¶a¯ca (1D) del comportamiento del CLIC, aplicado a dos texturas.El sentido del °ujo es de izquierda a derecha.

    encontrar el color ¯nal del pixel. Por dicha raz¶on, la LIC produce un cubrimiento uniformedel diagrama de fases, por lo que todos los puntos cr¶³ticos del sistema son satisfactoriamenterepresentados. Una mejora inmediata consiste en multiplicar, para cada pixel, el aporte decada texel por medio de una misma funcion ponderadora o kernel de convoluci¶on de longitudL igual a la cantidad de pasos de integraci¶on. Sin embargo muchas veces resulta dif¶³cilidenti¯carlos adecuadamente. No siempre se pueden distinguir atractores de repeledores, yresulta casi imposible determinar la existencia de trayectorias cerradas (focos, ciclos l¶³mite,trayectorias homocl¶³nicas). La mejora de las posibilidades de la LIC constituye un activocampo de investigaci¶on [8, 10, 11, 13, 17], especialmente en lo que concierne a mejorar su costocomputacional y la representaci¶on del sentido del °ujo y las trayectorias cerradas. Muchasde las mejoras mencionadas m¶as arriba para las streamlines son directamente aplicables en laLIC. En particular podemos mencionar que la LIC adaptativa es aproximadamente un ordende magnitud m¶as veloz [4]. Por ¶ultimo, podemos mencionar un aspecto de importancia: latextura utilizada para la generaci¶on de la LIC. En efecto, la textura constituye un mediopara introducir determinadas caracter¶³sticas geom¶etricas y crom¶aticas en la imagen ¯nal,las cuales interact¶uan con la distribuci¶on geom¶etrica de las trayectorias en el diagrama defases. En [5, 6] se sugiere un conjunto de t¶ecnicas para generar texturas m¶as adecuadas, lascuales luego pueden ser utilizadas para resaltar diversos aspectos de un determinado campovectorial.

    2 LIC acumulativo

    El LIC acumulativo (Cumulative LIC o CLIC) [5, 6] surge de combinar las t¶ecnicas dedesaturaci¶on de las trayectorias, y de posicionamiento no uniforme de las semillas en lasstreamlines. La idea consiste en acumular el color de los texels visitados en una LIC, en vezde computar una convoluci¶on (ver Fig. 1), e ir gra¯cando el color acumulado en la imagen¯nal. De esa forma, el c¶omputo del color ¯nal de un pixel es mucho m¶as sencillo que conla LIC, pueden reutilizarse los c¶omputos parciales para encontrar los colores de los pixelsvecinos, y cada trayectoria computada genera varios pixels en la imagen ¯nal. En generalesta t¶ecnica permite bajar en promedio un orden de magnitud el tiempo de c¶omputo concalidades similares a la LIC original. Adem¶as el CLIC puede utilizarse con todas las dem¶as

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 89

    Workshop de Investigadores en Ciencias de la Computación WICC 2002

    Página 90

  • (a) (b) (c)

    Figura 2: (a) LIC original, L=300, t=212 seg. (b) CLIC adaptativo sembrado en cada pixel,L=300, t=2.5 seg. (c) CLIC adaptativo con path search, sembrado al 10% y con segundopaso, L=300, t=0.65 seg.

    t¶ecnicas mencionadas en la secci¶on anterior (paso adaptativo, path search), con lo cual seobtiene un m¶etodo cuyo tiempo de c¶omputo es muy cercano a los streamlines, pero conla calidad de la LIC. Un detalle importante del CLIC es que {manejado cuidadosamente{permite utilizar kernels mucho mayores que la LIC convencional (> 500) sin un incrementodram¶atico en el tiempo de c¶omputo. Aplicado en forma directa, sobre cada pixel de la ¯gura¯nal, produce resultados similares a una LIC de mismo kernel L, con tiempos sensiblemen-te menores (ver Fig. 2). El mejor aprovechamiento de la t¶ecnica consiste en efectuar un\sembrado" no uniforme en un determinado porcentaje de los pixels de la imagen de salida.Experimentalmente podemos mencionar que generando una trayectoria CLIC cada 5 o 10pixels, se produce un cubrimiento casi total de la imagen de salida (dependiendo de c¶omosea el diagrama de fases y del valor de L elegido). El cubrimiento de la imagen ¯nal puedemejorarse sensiblemente utilizando path search, y eventualmente se puede computar un se-gundo paso de CLIC para generar una trayectoria en cada pixel no visitado, obteni¶endosede esa manera un cubrimiento total. Es f¶acil ver, entonces, que aumentando la longitud Ldel kernel no aumenta