• No se han encontrado resultados

Algoritmos genéticos en el diseño de iluminación

N/A
N/A
Protected

Academic year: 2020

Share "Algoritmos genéticos en el diseño de iluminación"

Copied!
121
0
0

Texto completo

(1)INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY CAMPUS ESTADO DE MÉXICO DIVISIÓN DE GRADUADOS E INVESTIGACIÓN. DIRECCIÓN DE MAESTRÍAS EN INGENIERÍA. ALGORITMOS GENÉTICOS EN EL DISEÑO DE ILUMINACIÓN TESIS QUE PARA OPTAR EL GRADO DE MAESTRO EN CIENCIAS COMPUTACIONALES PRESENTA. JOAQUÍN ELORZA TENA. Asesor: Dr. ISAAC J. RUDOMÍN GOLDBERG Comité de tesis: Dr. JESÚS A. SÁNCHEZ VELÁZQUEZ Dr. CARLOS RODRÍGUEZ LUCA TERO. Jurado: Dr. JESÚS A. SÁNCHEZ VELÁZQUEZ Dr. CARLOS RODRÍGUEZ LUCA TERO Dr. ISAAC J. RUDOMÍN GOLDBERG. Presidente Secretario Vocal. Atizapán de Zaragoza, México, Noviembre de 1996.

(2) 2. PREFACIO.. En la actualidad, la producción de imágenes realistas, a través de gráficas computacionales, conlleva un gran esfuerzo humano para crear escenas y ambientes que representen de manera fiel la realidad. Estas imágenes suelen tener una variedad de aplicaciones, desde la creación de un juego para el simple entretenimiento hasta la creación de ambientes virtuales que incluso permitan la creación física del ambiente. El uso de gráficas computacionales ha permitido crear edificios desde antes de que sean construidos, así como simular ambientes dentro de ellos para lograr efectos deseados de acuerdo al uso que se les vaya a dar. El esfuerzo de esta tesis es la búsqueda de métodos de graficación que de una manera sencilla permitan diseñar la iluminación en edificios, definiendo el resultado deseado pintando una escena, más que buscarlo a prueba y error. Este esfuerzo intenta sumarse al que otras personas han emprendido para ofrecer soluciones gráficas, útiles para el diseño de la iluminación en ambientes cerrados. Además, ofrece el uso de un enfoque de estrategias evolutivas, como lo son los algoritmos genéticos, para la búsqueda de efectos deseados por los diseñadores de iluminación..

(3) 3. CONTENIDO. PREFACIO.. 2. 1 INTRODUCCIÓN.. 9. 1.1. 1.2. 1.3. PROBLEMA DE ILUMINACIÓN.. 9. 1.1.1. Ray Tracing.. 10. 1.1.2. Radiosidad. .. 10. PROBLEMA INVERSO ... 10. 1.2.1. Soluciones Pintando con Luz y Radioptimización.. 11. 1.2.2. Propuesta de esta tesis ... 11. 1.2.3. Trabajo desarrollado. . .. 11. ESTRUCTURA DE ESTA TESIS.. 2 RADIOSIDAD Y SÍNTESIS DE IMÁGENES.. 12 13. 2.1. SÍNTESIS DE IMÁGENES.. 13. 2.2. ILUMINACIÓN GLOBAL.. 14. 2.2.1. Ray Tracing.. 15. 2.2.2. Radiosidad. . . . . . . . .. 16. 2.3. ECUACION DE RENDERING. .. 16. 2.4. SOLUCIONES MEDIANTE ELEMENTOS FINITOS Y MONTE CARLO. .. 18. 2.4.1. Factor de Forma. . . . . . . . . . . . .. 21. 2.4.2. Solución a la ecuación de Radiosidad ... 23. 2.4.3. Algoritmo de Refinamiento Progresivo.. 24. 2.4.4. Algoritmo de Jerarquía Multinivel.. 25. 3 MÉTODOS DE OPTIMIZACIÓN.. 29. 3.1. MÉTODO DEL GRADIENTE DESCENDENTE.. 29. 3.2. RECOCIDO SIMULADO . . . .. 31. 3.3. ALGORITMOS GENÉTICOS.. 33. 3.3.1. 33. ¿ Qué son ? . . . . . . . ..

(4) 4 3.3.2. Elementos en un Algoritmo Genético ... 33. 3.3.3. Esquemas. . . . . . . . . . . . . . . . .. 37. 4 SOLUCIÓN AL PROBLEMA INVERSO DE ILUMINACIÓN.. 39. 4.1. PROBLEMA INVERSO ... 39. 4.2. PINTANDO CON LUZ.. 40. 4.3. RADIOPTIMIZACIÓN:. 4.4. OBJETIVO. BASADO. EN. SÍNTESIS. IMÁGENES . . . . . . .. 40. ALGORITMOS GENÉTICOS EN EL DISEÑO DE ILUMINACIÓN.. 42. 4.4.1. Radiosidad Jerárquica. . . . .. 42. 4.4.2. Representación del Problema.. 43. 4.4.3. Operadores Genéticos.. 44. 4.4.4. Función Objetivo. . . .. 45. 5 IMPLANTACIÓN DE LA SOLUCIÓN. 5.1. 5.2. 5.3. DE. 47. SISTEMA DE VISUALIZACIÓN EN 3D.. 48. 5.1.1. Pintando una escena. . . . . . . .. 49. 5.1.2. Visualización sólida o alambrada.. 50. 5.1.3. Suavización de la escena. . .. 50. 5.1.4. Cálculo de aproximaciones ... 51. SOLUCIÓN AL PROBLEMA INVERSO DE ILUMINACIÓN ... 51. 5.2.1. Alcances de la solución.. 52. 5.2.2. Radiosidad Jerárquica.. 52. 5.2.3. Algoritmo Genético.. 55. 5.2.4. Gradiente Descendente ... 58. GRAFICACIÓN DEL ERROR Y SNR DE APROXIMACIONES.. 6 RESULTADOS EXPERIMENTALES. . ...... 59. 61 61. 6.1. ESCENAS PROPUESTAS.. 6.2. EXPERIMENTOS CON LOS MÉTODOS DE OPTIMIZACIÓN.. 63. 6.2.1. 63. Gradiente Descendente . . . . . . . . . . . . . . . . . . . . ..

(5) 5. 6.3. 6.2.2. Algoritmo Genético.. 64. 6.2.3. Comparación de Métodos.. 69. ANÁLISIS POR PRUEBA.. 70. 6.3.1. Escena "Cuarto" ... 71. 6.3.2. Escena "armario".. 71. 6.3.3. Minimizando costos no uniformes: "Cuarto" ... 75. 6.3.4. Pintando Escenas: "Mesa". . . . . . . .. 77. 7 CONCLUSIONES Y TRABAJO FUTURO.. 80. 7.1. CONCLUSIONES. . .. 80. 7.2. TRABAJO FUTURO.. 81. ANEXOS. 83. A. DOCUMENTACIÓN DE ARCHIVOS DE ENTRADA.. 83. B. DOCUMENTACIÓN DE ARCHIVOS DE SALIDA DE LA SOLUCIÓN.. 93. C. DOCUMENTACIÓN DE SISTEMA DE VISUALIZACIÓN.. 95. BIBLIOGRAFÍA. 98.

(6) 6. LISTA DE TABLAS. 1. Tabla de aptitudes porcentualizada.. 34. 2. Tiempo de evaluación de escenas.. 62. 3. Tiempo y error de AG con diferentes poblaciones.. 69. 4. Tiempo y error de gradiente y algoritmo genético.. 70. 5. Nivel de luz y costo no uniforme asociado.. 75.

(7) 7. LISTA DE FIGURAS. 1. Componentes de la reflexión. .. 14. 2. Ray Tracing. . . . . . . . . . .. 15. 3. Geometría del Factor de Forma.. 22. 4. Hemicubo. . . . . . . . . . . . .. 23. 5. Contribución de energía a cada parche.. 26. 6. Quadtrees jerárquicos e interacciones.. 27. 7. Mínimo local y global.. 31. 8. Aptitud proporcional. .. 35. 9. Cruzamiento de individuos.. 36. 10. Genotipo.. 44. 11. Cruzamiento de individuos con diferente longitud. 45. 12. Estructura del programa. . . .. 56. 13. Archivos de entrada y salida. .. 57. 14. Mejores individuos y Promedio para población de 150 y 60 generaciones.. 59. 15. Error obtenido por Gradiente Descendente en 20 pruebas. .. 64. 16. Evaluación de SNR en Gradiente Descendente. . . . . . . .. 65. 17. Error obtenido para un AG en 60 evaluaciones con una población. 10.. 66. 18. Error obtenido para un AG en 60 evaluaciones con una población = 30.. 67. 19. Error obtenido para un AG en 60 evaluaciones con una población = 60.. 67. 20. Evaluación de SNR para el AG en 60 evaluaciones con población = 30.. 68. 21. Evaluación de SNR para el AG en 20 evaluaciones con población = 60.. 68. 22. Evaluación del Error para gradiente.. 72. 23. Evaluación del Error para AG. . . . .. 72. 24. Evaluación del Error para gradiente.. 74. 25. Evaluación del Error para AG . . . . .. 74. 26. Factores de costos no uniformes para niveles de luz discretos.. 76. 27. Evaluación del Error para gradiente en costos no uniformes.. 76. 28. Evaluación del Error para AG con costos no uniformes. . . .. 77. =.

(8) 8. 29. Evaluación del Error para gradiente en Mesa.. 78. 30. Evaluación del Error para AG en Mesa. . . . .. 79.

(9) 9. 1. INTRODUCCIÓN.. Se presenta una nueva aproximación para el diseño de iluminación por síntesis de imagen en ambientes cerrados, basándose en la solución de un problema inverso de iluminación que a continuación explicaremos, así como las soluciones propuestas por algunos autores y la propuesta por esta tesis.. 1.1. PROBLEMA DE ILUMINACIÓN.. La meta de la investigación en síntesis de imágenes en las gráficas computacionales es el desarrollo de métodos que permitan modelar y generar vistas de escenas tridimensionales. Una de las tareas más difíciles en este campo es la simulación físicamente correcta y eficiente de los efectos de iluminación global, es decir, de la iluminación de los objetos de una escena por otros objetos..

(10) 10. 1.1.1. Ray Tracing.. Uno de los primeros métodos para la evaluación de la iluminación fue desarrollado por primera vez hace poco más de 15 años, aplicando una técnica recursiva conocida como "Ray Tracing" [6, 27]. El método de ray tracing evalúa un modelo de iluminación global en el que se definen características tales como reflexión, refracción y sombreado de los objetos en la escena. Ray tracing define un punto fijo, normalmente la posición del observador, del cual parten rayos hacia las superficies de los objetos; estos rayos a su vez pueden alcanzar de manera indirecta a otros objetos debido a las propiedades de reflexión de las superficies.. 1.1.2. Radiosidad.. Un método más reciente fue desarrollado basado en los principios físicos de la transferencia de energía radiante entre superficies, por lo que se les conoce como métodos de "Radiosidad" [4, 24].. Radiosidad es un método que se basa en el principio de la conservación de la energía y, a diferencia de ray tracing, se caracteriza por ser independiente de la posición del observador.. 1.2. PROBLEMA INVERSO.. Para un diseñador de iluminación de edificios, no es suficiente la simulación físicamente correcta del proceso de iluminación si no tiene una forma práctica de especificar los resultados que desea obtener. El proceso que normalmente sigue es el de prueba y error, es decir, el diseñador especifica la posición e intensidad de las fuentes de iluminación en una escena, y observa si cumple con sus expectativas; si no, cambia la posición de las fuentes luminosas, modifica las intensidades e incluso el tipo de luz para ver nuevamente el resultado; el proceso se repite así hasta que se logra el efecto deseado por el diseñador..

(11) 11. 1.2.1. Soluciones Pintando con Luz y Radioptimización.. El problema inverso de iluminación ha sido resuelto por Schoeneman et al [23] proponiendo una solución más natural, en la que se le permite al diseñador especificar en una escena, usando un pincel de luz, las áreas que desee ver iluminadas y con qué intensidad. Una vez definido lo anterior, es labor del sistema encontrar la mejor configuración de fuentes luminosas que logren ese efecto. Otra propuesta es la que hace Kawai et al [12] usando técnicas de optimización aplicadas a síntesis de imagen basados en radiosidad. Kawai define para una escena un modelo de percepción basado en impresiones subjetivas, tales como agradable, privado, espacioso y claridad visual. Estas percepciones son incluídas en el problema a manera de restricciones para una función objetivo, la cual se minimiza para encontrar los valores que logren el efecto especificado.. 1.2.2. Propuesta de esta tesis.. En esta tesis se propone el uso de algoritmos genéticos [8], con una evaluación de funciones de iluminación a través de radiosidad jerárquica [10] para resolver el problema inverso de iluminación. Se usan algoritmos genéticos dado que resultan ser excelentes métodos de búsqueda, pues exploran en varias áreas a la vez, minimizando la posibilidad de "caer" en un mínimo local. En la solución del problema inverso de iluminación se citarán algunos casos en los que un algoritmo genético encuentra soluciones en mínimos globales, a diferencia de otros métodos como el caso de gradiente descendente.. 1.2.3. Trabajo desarrollado.. Aquí se ofrece una interfaz gráfica en la que el usuario puede visualizar una escena especificada en un archivo. La interfaz gráfica permite "pintar" las áreas que desee ver iluminadas. Esta escena puede ser guardada posteriormente en un archivo para buscar la mejor.

(12) 12 configuración de niveles de luz en luces fijas, luces en posiciones variables, tipos de luces y su costo asociado. El trabajo se desarrolló en equipos IBM RS6000 modelo 41 Ta 66 MHz PowerPC, 32 MBytes en RAM y con sistema operativo AIX 3.2.5. El software utilizado fue C como lenguaje de programación y librerías gráficas de OpenGL1 [17] y GLUT2 [13].. 1.3. ESTRUCTURA DE ESTA TESIS.. Esta tesis contiene siete capítulos. En el primero de ellos se presenta la introducción. En el segundo se definen los hechos más relevantes al tema de Radiosidad y Síntesis de Imágenes. El tercer capítulo describe un panorama general de Métodos de Optimización, incluyendo Algoritmos Genéticos. En el cuarto se menciona el problema inverso de iluminación, las soluciones que han sido propuestas y la solución que presenta este trabajo. A través del quinto capítulo se describe el desarrollo del trabajo de esta investigación. En el sexto, se ofrecen los resultados obtenidos en varios casos para escenas propuestas. Y el séptimo capítulo contiene las conclusiones obtenidas en este trabajo de investigación, así como el trabajo futuro. Finalmente, existe un área de anexos, en la que se describen los archivos de entrada y salida para las escenas; y también se ofrece un texto que explica las opciones principales del sistema de visualización en 3D.. 1 OpenGL es un conjunto de utilerias gráficas que auxilian en el desarrollo de aplicaciones gráficas.. 2 GLUT es un conjunto de herramientas que permiten generar ventanas, menus de cascada y operar dispositivos como el ratón en base a eventos..

(13) 13. 2. RADIOSIDAD Y SÍNTESIS DE IMÁGENES.. En este capítulo se introducen los conceptos básicos de radiosidad y síntesis de imágenes: qué es y cómo se define físicamente para quedar formulado matemáticamente en una ecuación, así como algunos de los métodos que su solución conlleva.. 2.1. SÍNTESIS DE IMÁGENES.. En la actualidad, los diseñadores de iluminación requieren simular correctamente la iluminación y la percepción visual de la imagen, así como considerar las propiedades físicas de los objetos y el medio ambiente asociado. Esta simulación de imágenes realistas es mejor conocida como "Síntesis de Imágenes" [4]. La creación de imágenes a través de paquetes basados en síntesis de imágenes es un trabajo arduo que no se sabe con exactitud cuánto tiempo tome, dado que normalmente siguen un proceso de prueba y error. En este proceso el diseñador debe probar diferentes configuraciones de luces, intensidades, posiciones y tipos de luz para obtener una escena que refleje una imagen lo más parecida a la realidad..

(14) 14. ~. + BRDF. Difusa. \. +. Espejo. Especular. Fig. 1: Componentes de la reflexión.. 2.2. ILUMINACIÓN GLOBAL.. Cuando se crean imágenes realistas en el campo de las Gráficas Computacionales es necesario definir un adecuado modelo de iluminación en el que los objetos de una escena sean iluminados de manera directa por las fuentes luminosas y de manera indirecta por otros objetos. Así, la iluminación global es la consideración del efecto completo de la iluminación en una escena. La iluminación indirecta en una escena, es decir, la iluminación por otros objetos, es el resultado de la reflexión de la luz por otros objetos. La cantidad de luz reflejada depende de las propiedades físicas del material, pues puede ser opaco, en cuyo caso no permite fácilmente la transmisión de la luz; o muy reflectivo, facilitando la reflexión de la luz y la iluminación al resto de la escena. En la práctica, el fenómeno de la reflexión se define a través de una función de distribución bidireccional (BRDF) la que se compone de tres tipos de reflexiones como se muestra en la figura l. La reflexión difusa es la luz que se refleja de manera ideal en todas direcciones, así como de manera direccional dependiendo de la aspereza de la superficie, y otras propiedades físicas como la conductividad. Por otro lado, la reflexión especular, es la luz que refleja una superficie de manera que se concentra en una porción angular, así, una reflexión especular ideal puede verse en superficies con características de espejos ideales. El tratamiento de la iluminación global ha requerido el diseño de métodos que simulan el comportamiento de la luz en una escena; estos métodos son "Ray Tracing" y "Radiosidad",.

(15) 15. punto de referencia de proyección. posiciones de pixel en el plano de proyección. Fig. 2: Ray Tracing. los cuales serán descritos brevemente a continuación.. 2.2.1. Ray Tracing.. Una de las pnmeras evaluaciones del modelo de iluminación global fue hecha hace poco más de 15 años, a través de la aplicación de un algoritmo recursivo con un concepto de trazado de rayos ( Ray Tracing ). Este algoritmo considera la luz proveniente de las fuentes de iluminación, así como las aportaciones de luz que provienen de la reflexión y refracción de otros objetos. El funcionamiento de este algoritmo es el siguiente: se define un punto fijo, normalmente determinado por la posición del observador, del cual parten rayos hacia los objetos en la escena. Los objetos pueden ser alcanzados directamente por estos rayos e indirectamente como consecuencia de las reflexiones presentadas en otros objetos o superficies. De esta forma se modela la iluminación en una escena; se puede observar que el resultado es dependiente de la posición que tenga el observador. Otra característica básica del método de ray tracing es que debe determinar las superficies visibles desde el punto fijo..

(16) 16. Una de las principales deficiencias del algoritmo de ray tracing es su dificultad para considerar en la reflexión el cálculo de la interreflección difusa. Ray tracing resulta un método adecuado para modelar y calcular tanto reflexiones especulares exactas como transparencia ( ver figura 2 ) .. 2.2.2. Radiosidad.. Otro método más reciente para evaluar el problema de la iluminación global toma en cuenta las propiedades físicas y principios termodinámicos que poseen los objetos. El método se basa en uno que se aplicó al problema del intercambio de calor entre superficies, por lo que es mejor conocido como "Radiosidad". Los métodos de radiosidad son aplicables a la solución de interreflección de la luz entre superficies difusas ideales. El fundamento teórico del método de radiosidad es el principio de conservación de la energía. Además, a diferencia de otras técnicas, radiosidad comienza con una ecuación de balance de energía, la cual es aproximada por métodos numéricos. A diferencia de ray tracing, radiosidad es independiente de la posición del observador, puesto que soluciona la ecuación de iluminación en posiciones distribuídas sobre las superficies del medio ambiente. El método de radiosidad considera reflexiones difusas, pero no reflexiones especulares m transparentes. Una solución por radiosidad resulta adecuada cuando se están modelando medios ambientes cerrados tales como cuartos y oficinas.. 2.3. ECUACION DE RENDERING.. El Rendering es un término para describir el proceso de iluminación y sombreado sobre objetos en 30; también se asocia con el proceso de "síntesis de imágenes. La dificultad para modelar la iluminación global, radica en gran medida en los cálculos de la iluminación indirecta que recibe una superficie. Las superficies que participan en una escena pueden recibir iluminación indirecta de cualquier otra superficie en la escena, así como también.

(17) 17 pueden recibir la sombra de alguna otra superficie. Los efectos de iluminación y sombreado entre superficies, también es descrito como "Rendering", y su modelo matemático fue definido por primera vez por Kajiya en una ecuación que la llamó "Ecuación de Rendering". La solución que propuso se basa en la aplicación de métodos de integración de Monte Cario y se expresa, para una superficie S, como:. L(x, w'). j fr(x) L(x, w) G(x, x') V(x, x') dA. (1). s donde:. x y x'. son elementos de diferentes superficies.. fr (x). es la función de reflexión en el punto x.. L(x, w). es la radiación en x a lo largo del vector w.. G(x, x'). es. la. orientación. entre. x. ºº. y. x'. y. está. dada. por:. G( X, X ') -_ G( X,, X ) -_ coso~ cos, 1x-x 12. V(x, x'). es la función de visibilidad, es 1 si x y x' son mutuamente visibles y O de otra forma.. La ecuación anterior ha sufrido algunas adiciones para considerar intensidades entre dos puntos, así como los modos de transporte de la luz en una superficie. Otra consideración resulta al tener un medio ambiente consistente únicamente de superficies opacas, así, la única fuente de luz adicional es debido a la emisión desde la superficie misma:. L(x', w'). Le(x', w'). +. j fr(x) L(x, w) G(x, x') V(x, x') dA. (2). s donde:. Le(x', w') es la intensidad de la luz emitida entre dos puntos. Haciendo algunas otras simplificaciones, la ecuación anterior puede expresar la conservación de la energía luminosa, suponiendo que todas las superficies en el medio ambiente son reflectores difusos Lambertianos 3 . La ecuación queda ahora definida en términos de ra3 Reflejan la misma intensidad de luz en todas direcciones, independientemente de la dirección de llegada de la energía y su distribución..

(18) 18 diosidad como:. B(x). E(x). +. p(x). j B(x') G(x, x')1rV(x, x') dA'. (3). s donde:. E(x). es la emisión del elemento x.. p(x). es la reflectividad del elemento x.. B(x'). es la radiosidad del elemento x.. La función de radiosidad describe un valor para cada posición sobre la superficie. También podemos observar que el término de radiosidad aparece a ambos lados de la ecuación integral, lo que representa una dificultad por no haber una solución analítica, es por esto que normalmente se eligen métodos numéricos para su solución. De la ecuación de radiosidad podemos decir que se trata del total de energía saliendo de un punto en la superficie por unidad de área por unidad de tiempo y resulta de la suma de la energía emitida directamente y la energía reflejada.. 2.4. SOLUCIONES MEDIANTE ELEMENTOS FINITOS Y MONTE CARLO.. La ecuación de radiosidad es una ecuación integral difícil de solucionar analíticamente pues la dimensión del espacio de la función de radiosidad B(x) es oo. Una primera forma de solucionarla es reformular la ecuación discretizándola, de tal manera que se subdivide la superficie en un número finito de parches y se soluciona la versión discreta para cada uno de ellos. Esta aproximación se le conoce también como el método de elementos finitos pues en lugar de emplear funciones globales básicas, se parte su dominio en un número finito de piezas llamadas elementos, y usa funciones básicas que son locales a cada elemento. La solución numérica a la ecuación de radiosidad se aproxima a través de una constante por la combinación lineal de funciones base:.

(19) 19. n. B(x). ~. B. ¿. Bi Ni(x). (4). i=l. donde:. Bi Ni. =. es el conjunto de coeficientes desconocidos. { o si x está fuera del elemento; 1 si x está dentro del elemento. La solución que se desea encontrar es aquélla que minimice el error entre las soluciones exacta y aproximada, es decir:. B(x) - ÍJ(x). (5). sin embargo, dado que la solución exacta es desconocida, el cálculo resulta imposible. En lugar de esto, ÍJ(x) se caracteriza como:. ÍJ(x). E(x). +. j. p(x) ÍJ(x') G(x, x') dA' s. (6). así pues, la mejor solución a esta función es aquella que minimice el residuo:. r(x). j. ÍJ(x) - E(x) - p(x) ÍJ(x') G(x, x') dA' s. (7). Existen dos métodos para minimizar el residuo: el método de colocación de puntos y el método de Galerkin. El método de colocación de puntos forza a aproximar la solución del residuo en cero, para un conjunto de n puntos x 1 , x 2 ,. ... Xn. donde n es el número de parámetros desconocidos [16].. La minimización del residuo a través del método de Galerkin [16] está asociado con los métodos de elementos finitos; este método calcula n parámetros desconocidos seleccionando. n funciones de peso w1 ( x), w 2 ( x), ... sus integrales sean cero, es decir,. Wn ( x). de tal manera que la evaluación de cada una de.

(20) 20. b. j c(x)wi(x) dx. 1,. 1, 2, ... n. (8). a. donde:. a, b. es el rango de valores límite para x.. c(x). es el residuo evaluado en x.. Otra alternativa para la solución de la ecuación de radiosidad son los métodos que usan números aleatorios para obtener una respuesta aproximada a un problema, este tipo de métodos son mejor conocidos como métodos de Monte Carlo [21]. La integral es evaluada en los puntos muestra, de tal suerte que los valores pueden variar dependiendo de como se elijan los puntos muestra. La rapidez para encontrar la respuesta depende de la elección de los puntos que minimicen el residuo, aunque también se puede acelerar este proceso si se conoce alguna restricción o rangos de valores en los que la función integrada genere mejores resultados. Este último tipo de elección de puntos muestra es denominado muestreado por importancia, dado que los valores se eligen en donde es más importante la función. Para medios ambientes discretos, la ecuación de radiosidad se expresa en forma discreta a través de una suma, suponiendo una radiosidad constante sobre los pequeños segmentos de superficie, es decir, n. Ei. + Pi. L. (9). Bj Fij. j=l. .IIBLIOTE donde:. \ \\,-ul,1. es el factor de forma de j a i ( fracción de la energía que sale del segmento j y llega al segmento i ) . Y está dado por:. Fij =. 1 J J G(x, x') dAí dA A A. ~. ~. 1} \ ~. l-..$":•:,¡;oy.., (. /,. --... ·. '·¡, .,. \···,r - . ; ' '.··. _. ~. .{1:. \;.:;·. Una forma física más intuitiva para expresar la ecuación de radiosidad resulta de a g r e ~ - ~ términos de las áreas. A, como se observa en la siguiente ecuación:. fY'J93.

(21) 21. n. EiAi. +. L Bj ~j Ai. Pi. (10). j=l. además, suponiendo que se cumple la relación de reciprocidad entre los factores de forma en:. (11). P·Ai1 i. F-·A· JZ J. se obtiene: n. Ei Ai. +. Pi. L Bj Fji Aj. (12). j=l. La interpretación física de la ecuación anterior es que la energía total, Bi Ai que sale de un elemento, depende de la luz que emite directamente más la luz que es reflejada. La luz reflejada depende de la luz que sale de cualquier elemento en el medio ambiente y llega a este elemento. La ecuación de radiosidad puede ser expresada en forma matricial como:. 1 - P1F1,1. -p1F1,n. B1. E1. -p2F2,1. -p2F2,n. B2. E2. (13) Pn-IFn-1,1 -pnFn,I. 2.4.1. 1- PnFn,n. Bn-1. En-1. En. En. Factor de Forma.. Una vez que se ha discretizado la escena, el cálculo de los factores de forma para la ecuación 12 resulta un proceso que consume mucho tiempo, pues se hace para cada parche en la escena. A medida que se incrementa el número de elementos producto de la discretización, crecerá la.

(22) 22. dA'. A'. V(x,x?. A. Fig. 3: Geometría del Factor de Forma.. complejidad temporal. Por ello, se han diseñado algoritmos que buscan minimizar el tiempo asociado con estos valores. El factor de forma, como vemos en la ecuación 9, es estrictamente una interpretación geométrica ( ver figura 3 ), su valor depende exclusivamente de la forma y la posición relativa de las superfices en la escena, y las propiedades de emisión y reflexión no alteran su valor. Los algoritmos que han sido diseñados para el cálculo de los factores de forma pueden clasificarse en analíticos y numéricos. Los primeros pueden utilizarse de ser completamente visibles las superfices. El segundo grupo hace sus cálculos basándose en muestreos de hemisferios o de áreas. Algunos ejemplos de algoritmos analíticos utilizan el diferencial del área a un polígono convexo, así como de polígono a polígono. Las soluciones numéricas para el factor de forma, aproximan su integral, como la suma de las evaluaciones hechas para la superficie en varios puntos. Como ejemplo de este tipo de métodos podemos mencionar los métodos de Monte Carlo antes descritos, el "método del Hemicubo" y los "métodos jerárquicos"..

(23) 23. Fig. 4: Hemicubo. El método del Hemicubo empleado por Cohen et al [4] para el cálculo de los factores de forma, define un hemicubo sobre la superficie de análisis. El hemicubo se subdivide en celdas de tal manera que cada una de ellas define una posible dirección y un ángulo ( ver figura 4 ) . El factor de forma se aproxima por la proyección de cada elemento sobre las caras del hemicubo y sus factores de forma asociados a cada elemento. Los métodos jerárquicos para la minimización de la complejidad buscan disminuir el número de elementos en la escena con una mínima repercusión en la exactitud de la solución.. 2.4.2. Solución a la ecuación de Radiosidad.. La solución de la ecuación de radiosidad conlleva a la solución de un sistema den ecuaciones lineales con n incógnitas, las cuales resultan de la aproximación discreta de la función de iluminación. Para resolver la ecuación de radiosidad, es decir, su sistema de ecuaciones, podemos aplicar los siguientes pasos: 1. Entrada del modelo geométrico..

(24) 24. 2. Definir el problema en espacios finitos. (a) Subdivisión de superficies. (b) Selección de funciones básicas. (c) Selección de la métrica del error. 3. Cálculo de los factores de forma. 4. Solución del sistema de ecuaciones lineales. 5. Reconstrucción de la solución. 6. Despliegue de resultados a partir de un punto de observación. Una de las primeras evaluaciones para la solución del sistema de ecuaciones fue el uso de la eliminación Gaussiana [19, 20], sin embargo, se han generado algunas otras propuestas para acelerar la solución. Una solución interesante que podemos mencionar es el trabajo de Cohen et al [4], en el cual proponen el uso de un hemicubo para el cálculo de los factores de forma, así como la introducción de un algoritmo de refinamiento progresivo, que explicaré más adelante, como un medio para la solución del sistema lineal de ecuaciones. Este método tiene la ventaja de que converge rápidamente hacia una imagen exacta a la vez que despliega la imagen que se está aproximando, a medida que el algoritmo procede. Otra solución interesante es la propuesta por Hanrahan et al [10] quienes proponen una solución a la radiosidad a través de un refinamiento jerárquico, buscando minimizar la complejidad temporal asociado al cálculo de los factores de forma.. 2.4.3. Algoritmo de Refinamiento Progresivo.. El algoritmo de refinamiento progresivo de Cohen et al [4] es diferente del método tradicional en que después de que han sido discretizadas las superficies para su análisis, se calcula un renglón de la matriz de factores de forma, más que la matriz completa ( ver ecuación 13 ), efectuando así un paso de la solución cada vez y desplegando el resultado intermedio. Este algoritmo en pseudocódigo podría verse como:.

(25) 25 Para ( todo i ) { Bi = Ei LiBi = Ei. } Mientras ( no converge ) { Tomar i, tal que LiBi * Ai sea el mayor; Para ( cada elemento j ) { Lirad = LiBi * p1 F1i LiB1 = !iB1 + Lirad B 1 = B 1 + !irad. } LiBi = O Desplegar la imagen usando Bi como la intensidad del elemento i. } Este algoritmo puede interpretarse físicamente de la siguiente manera: todos los elementos i en la escena tienen una radiosidad Bi, así como una proporción de radiosidad que no ha "disparado" al medio ambiente. En cada iteración, el algoritmo elige el elemento con la mayor radiosidad sin disparar, y la dispara a través del medio ambiente. Al hacerse este disparo, los elementos restantes reciben una contribución de LiBi a su radiosidad, así como a su porción de radiosidad no disparada. Finalmente, después del disparo, el elemento i no tiene más radiosidad por disparar ( ver figura 5 ) . El algoritmo hace a cada paso el disparo de la radiosidad del elemento con la mayor energía LiBi. A, actualizando a los elementos restantes. Cada paso toma O(n) operaciones, pues se. efectúa el cálculo de un renglón de la matriz de factores de forma ( ver ecuación 13 ). Cohen et al [4] mostraron además, que se requieren menos de n pasos para obtener una buena solución.. 2.4.4. Algoritmo de Jerarquía Multinivel.. Este algoritmo diseñado por Hanrahan et al [10] construye una representación jerárquica de la matriz de factores, de forma por medio de una subdivisión jerárquica de los parches de acuerdo con un límite definido por el usuario..

(26) 26. Fig. 5: Contribución de energía a cada parche.. Este algoritmo está inspirado en el problema de N-Cuerpos, en el que se definen interacciones gravitacionales entre una colección de partículas. Cada una de las partículas ejerce una fuerza sobre las restantes n - 1 partículas, generando O(n 2 ) interacciones. Sin embargo, se ha encontrado que la fuerza ejercida por un grupo de partículas a cierta distancia de una partícula, puede aproximarse a través de una sola interacción. De esta forma se reduce el número de interacciones y como consecuencia el número de factores de forma necesarios para la solución del problema. A medida que avanza el algoritmo subdivide de manera adaptativa y en forma jerárquica las superficies de los parches 4. (. ver figura 6 ).. A la par de la subdivisión se generan ligas entre los nodos, lo cual representa una relación física entre uno y otro conjunto de elementos definiendo el intercambio de energía entre ellos. Cada liga representa un conjunto de factores de forma para todos los pares de elementos en los subárboles ligados. En la matriz de factores de forma, la liga entre dos hojas de subárboles representa una sola entrada, mientras que una liga a un nivel mayor representará un grupo de factores de forma. El refinamiento recursivo en este caso, define la subdivisión de superficies en quadtrees y 4. Resulta un quadtree de nodos..

(27) 27. Fig. 6: Quadtrees jerárquicos e interacciones.. crea ligas entre nodos de quadtrees. El pseudocódigo de este procedimiento se describe a continuación:. Refina (Patch *p, Patch *q, f loat Ff ) { Patch cual, r ; Si ( Oraclel (p, q, Ff ) ) Ligar (p,q); si no { cual= Subdividir. (p, q);. Si ( cual == q ) Para (cada nodo hijo r de q) Refina (p, r, Ff ); si no Si ( cual == p ) para (cada nodo hijo r de p ) Refina ( r, q, Ff ) ; s1 no. Ligar (p, q);. } }.

(28) 28 float Oraclel( Patch *p, Patch *q, f loat Ff ) { Si ( p->area < Af y q->area < Af ) regresar( FALSO); Si ( EstimarFactorForma ( p, q) < Ff ) regresar( FALSO); sino. regresar( VERDADERO);. } La descripción de los procedimientos antes mencionados es como sigue: Oraclel,. estima el error que podría generarse de ligarse los dos nodos, más que ligarse un conjunto de nodos a niveles más bajos de p y/o q.. Subdividir,. es llamado cuando es necesaria la subdivisión de los parches a niveles más bajos, permitiendo una reducción del error.. Ligar,. construye la liga entre dos parches, calculando el factor de forma entre las áreas representadas en los nodos p y q del. quadtree. Para efectos de acelerar el cálculo de los factores de forma, Hanrahan et al [10] emplean un estimado del factor de forma utilizando una solución analítica, empleando un disco que rodee el área del elemento analizado. Así el cálculo se aproxima por:. ~. cose -7f- wq. (14). Hanrahan et al [10] citan que su algoritmo de refinamiento jerárquico reduce el número de interacciones necesarias en la escena a la vez que mantiene la exactitud de los factores de forma que son calculados. Así mismo indica que el algoritmo resulta adecuado en ambientes con relativamente pocos polígonos grandes, cuyo alto grado de brillantez requiere una subdivisión en más elementos. Este trabajo de investigación usó el algoritmo de refinamiento jerárquico como evaluación para las funciones de iluminación..

(29) 29. 3. MÉTODOS DE OPTIMIZACIÓN.. La necesidad de minimizar una solución al problema mverso de iluminación lleva a la búsqueda de métodos que permitan mejorar la solución. La Optimización es una de las tareas encaminadas a encontrar el mejor conjunto de condiciones que permitan lograr cierto objetivo formulado en términos matemáticos. Existen métodos de optimización local y global basados en procesos naturales para encontrar un óptimo local o global respectivamente. Estos métodos de optimización incluyen, entre otros: "Gradiente Descendente", "Recocido Simulado" y "Algoritmos Genéticos". Se usan algoritmos genéticos pues se buscan soluciones que minimicen la posibilidad de "caer" en mínimos locales. Estos algoritmos han probado ser excelentes métodos de búsqueda, y han sido usados en un trabajo propuesto por B. Lange para aplicarlos en iluminación [14].. 3.1. MÉTODO DEL GRADIENTE DESCENDENTE.. Los métodos para minimizar una función objetivo. f (x) con n variables independientes y. sin restricciones comienzan en una iteración i con un valor estimado para mínimo. En iteraciones subsecuentes, es decir, en la iteración i. + 1 se. xi. que supone un. busca y se utiliza un. vector que permite orientar la dirección de la búsqueda de un nuevo valor para. Xi+l. menor. al anterior, de tal manera que,. (15).

(30) 30. La minimización de funciones puede hacerse usando métodos descendentes, que evaluen las derivadas de la función objetivo. Este tipo de métodos también son conocidos como "Métodos de Gradientes" [18, 20, 22]. El gradiente de una función. f, denotado como Vf, es el conjunto de derivadas parciales de. f, respecto a cada una de las variables.. (16). vf. Físicamente el gradiente es un vector con n componentes, el cual se caracteriza por dar la dirección en el cual. f (x). crece. Una variante es emplear el valor negativo del gradiente, es. decir, la dirección descendente para calcular el mínimo. El método del gradiente descendente inicia en un punto x 0 e iterativamente se mueve hacia el óptimo usando,. (17) donde: es la longitud del peso óptimo.. fi. Si. = -vf. vector gradiente descendente.. Finalmente, el método converge cuando alguna de las siguientes condiciones se satisface:. 1 ... n. (18). (19) Este método se considera como de optimización local pues puede caer en mínimos locales como el punto B en la figura 7..

(31) 31. A. D. Fig. 7: Mínimo local y global.. 3.2. RECOCIDO SIMULADO.. El Recocido Simulado [7, 11, 26] es un método usado para reducir la posibilidad de caer en mínimos locales. El método es conocido así por la analogía del proceso físico para el templado de metales. Una sustancia o un metal al cual se le eleva su temperatura sufre alteraciones en su configuración atómica, de tal manera que posee un estado de energía mayor. Si por el contrario, quisiéramos reducir la energía al mínimo posible, una disminución inmediata de la temperatura no lograría el efecto deseado, pues la configuración atómica no tendría una estructura cristalina regular, y por ende no sería la energía mínima. Para alcanzar la energía mínima global se emplea el proceso de recocido, en el cual se lleva el material a una alta temperatura para después disminuirla gradualmente, con lo que los átomos alcanzan su estado de equilibrio. En este estado de equilibrio, el material sigue una distribución de probabilidad dada por la relación:.

(32) 32. P (!:le) a exp( -!:le/ kT). (20). donde:. !:le. representa la diferencia de energía entre la actual y la previa.. P(l:le) es la probabilidad de que el sistema esté en un estado de energía !:le. k. Constante de Boltzmann que relaciona la temperatura y la energía.. T. Programación de los cambios de temperatura en cada paso i, es decir, las fluctuaciones entre las dos probabilidades previas.. El valor del cambio de la energía está dado por !:le = Ei+ 1. -. Ei, la incorporación de los. comportamientos termodinámicos para su aplicación en la minimización de funciones se hizo por primera vez en 1953 [19]. Para aplicar dicho comportamiento se simula un sistema termodinámico suponiendo que su cambio de energía de E 1 a E 2 tiene una probabilidad dada por la ecuación 20. En esta ecuación cuando la energía Ei+l es menor que la energía Ei la probabilidad es mayor a 1, por lo que arbitrariamente se define en l. La simulación de un problema como un sistema termodinámico fue hecho por Metrópolis [19], quien en su propuesta fijó algunas consideraciones: l. La función objetivo f(x) debe definirse en términos de una energía E.. 2. Un control del parámetro similar a la temperatura T, así como una programación de los cambios en el parámetro. Estos cambios indican la manera de ir bajando la temperatura, algunos experimentos citados por Ingber [11] muestran que este valor puede definirse a lo más de,. T(k) =. ~ lnk. (21). 3. Una descripción de posibles configuraciones del sistema, es decir, los valores de las variables. 4. Un generador de cambios aleatorios en la configuración, es decir, opciones que se le dan al sistema para explorar. Dicho de otra forma, un l:lx que permite llevar al sistema de una configuración x a otra ubicada en x + l:lx. Este paso resulta problemático debido a la ineficiencia de los generadores propuestos en la actualidad. La elección de un adecuado valor de T determina el éxito o fracaso para alcanzar el mínimo global, por esto es necesario experimentar sobre cada problema en particular [19]..

(33) 33. 3.3. ALGORITMOS GENÉTICOS.. Durante los últimos años ha habido un mayor interés por aplicar las teorías de evolución para la resolución de problemas de búsqueda de óptimos globales. Esta sección presenta los conceptos básicos necesarios para la comprensión del tema.. 3.3.1. ¿ Qué son ?.. "Los Algoritmos Genéticos (AGs), son modelos de máquinas de aprendizaje que basan su comportamiento en los principios de la Genética Natural y la Selección Natural" [8]. Los AGs se han probado como eficientes mecanismos de búsqueda cuando se aproxima a un óptimo global, dentro de espacios grandes y complejos, además de haber sido probados en diversas áreas [1, 2]. La manera en que operan los AGs, respecto a los mecanismos tradicionales de 1. optimización, hacen sus características propias: l. Operan sobre un conjunto de parámetros codificados más que sobre los parámetros. mismos. 2. Buscan en un conjunto de puntos más que sobre uno solo. 3. Usan una función objetivo. 4. Operan de manera probabilística más que determinística [5]. Las características anteriores determinan las posibilidades de uso de un AG para la solución de algún problema particular pues puede resultar impráctico su uso. Se puede decir que el uso de un AG es recomendable cuando se tengan problemas cuyo espacio de búsqueda sea discreto, o bien, con espacio de búsqueda continuos, pero que posean un rango de soluciones relativamente pequeño [3].. 3.3.2. Elementos en un Algoritmo Genético.. Los componentes básicos que podemos encontrar en un AG son:.

(34) 34. Tabla 1: Tabla de aptitudes porcentualizada. No.. Cadena. Aptitud. Porcentaje. A. 1111. 225. 65.2. B. 0100. 16. 4.6. e. 0010. 4. 1.2. D. 1010. 100. 29.0. Totales. 345. 100.0. • Representación apropiada del problema ( individuos en términos de cromosomas ) . • Operadores genéticos ( reproducción, cruzamiento y mutación ) . • Función Objetivo o de Aptitud. La información contenida en un algoritmo genético se representa en su forma más sencilla como secuencias de unos y ceros, suponiendo un alfabeto binario= {O, 1}. Así, el valor 01001 representa un valor para la(s) variable(s) asociada(s) al problema. Normalmente se le conoce como "individuo" y se define en términos de cromosomas ( secuencias de unos y ceros ), como aparece en el ADN humano. El AG crea una población de individuos, los cuales se someten a procesos evolutivos en los que actúan los operadores genéticos para generar nuevos y mejores individuos, sobreviviendo los más aptos de acuerdo con una función de aptitud definida para el problema. La primera generación se obtiene aleatoriamente. A partir de aquí, el algoritmo opera de acuerdo a una función de aptitud para valorizar las soluciones codificadas ( ver tabla 1 ). La siguiente generación resulta de un proceso de reproducción en el que se seleccionan pares de individuos, quienes actuarán como padres de los nuevos individuos a generar. Un mecanismo sencillo para seleccionar los individuos se basa en la analogía con una "ruleta". A cada cromosoma se le asocia una fracción proporcional a la aptitud, así, al elegir un individuo, se espera elegir los más aptos ( ver figura 8 ) ..

(35) 35. A-ffi;l. - - ~. C-1,2 - - ~. Fig. 8: Aptitud proporcional. Una vez elegidos los individuos de una población, se aplica un operador de cruzamiento, el cual combina el material genético de los padres. Normalmente este proceso opera en base a un porcentaje de tal suerte que no todas las parejas elegidas se cruzan, y además varía el punto de cruzamiento ( ver figura 9 ) . Al ir generando nuevos individuos como resultado del cruzamiento entre ellos se utiliza un operador de mutación, el cual permite que exista variedad en las generaciones subsecuentes. El operador de mutación hace un cambio de alguna de las posiciones del cromosoma. Los valores que pueden tener los operadores de mutación y cruzamiento son determinantes para una apropiada convergencia. Un estudio de DeJong en 1975 [5] mostró que resulta adecuado usar valores pequeños ( menos del 5% ) para el operador de mutación respecto al valor que se asocia con el operador de cruzamiento ( mayor del 60% ) . Los individuos en la población cuya medida de aptitud sea la más baja, son reemplazados por nuevos individuos en generaciones subsecuentes. La determinación de cuándo terminar un algoritmo genético puede resultar de decidir correr el algoritmo un número máximo de.

(36) 36. Punto de Cruce. Descendientes. ¡. Padre 1 1 O O 1. Padre 2. 1 1 O1. O 1 1 O. Hijo 1 [2_001 001. 0010. Hijo2. ... 11. 101011. Fig. 9: Cruzamiento de individuos.. º' º'. generac10nes, o bien, detenerlo cuando la población se haya estabilizado y sus individuos posean una aptitud similar. El AG en pseudocódigo puede ser visto como sigue:. = o. t. Inicializa_Foblacion P(t) Evalua P(t); Mientras ( no converge ). = t + 1 P' = SeleccionarPadres. t. P(t). Cruzamiento P' (t) Mutar P'(t) Evalua P'(t). P. =. P'(t). } Fin del AG En estudios de Ingber [11] en los que compara AGs y Recocido Simulado, muestra una versión modificada de Recocido Simulado para mejorar su rendimiento, aunque indica que esto no resulta fácil de codificar. En sus pruebas ambos métodos encuentran la solución de funciones propuestas ( hasta de 4 dimensiones ) en tiempos razonables. Los resultados a detalle pueden consultarse en Ingber [11]..

(37) 37 Recocido Simulado y AG requieren un tiempo de experimentación para encontrar aquellos valores que lleven a una solución con las menores varianzas [8, 11, 19].. 3.3.3. Esquemas.. Los algoritmos genéticos guían su búsqueda hacia una solución óptima, aprovechando la información que está contenida en la población. En una población, los individuos con mejor aptitud poseen características similares ( ver tabla 1 ) . La tabla 1 muestra algunos individuos de cierta población, en ella podemos observar que los individuos con una mayor aptitud tienen un 1 al principio de la cadena. De esta forma, las similitudes entre los individuos más aptos pueden ser aprovechados para guiar la búsqueda. Las similitudes en AG están expresadas en un concepto conocido como "esquemas". Un esquema es una plantilla que describe a un conjunto de cadenas con similitudes en ciertas posiciones. Para ejemplificar este concepto, consideremos una codificación simple usando un alfabeto binario {O, 1} al cual le agregamos un símbolo comodín, digamos. *,. con lo que nuestro. alfabeto queda en forma completa como {O, 1, *}. De esta forma, una cadenas puede quedar representada a través del esquema H, si en cada posición del esquema existe un 1 para el 1 que exista en la cadena, un O para cada O que aparezca en la cadena y no importa cual valor haya en la cadena si en el esquema aparece un símbolo de *· Por ejemplo, el esquema H = *11*1, representa al subconjunto de 4 cadenas C = {01101,01111, 11101, 11111}; así. como el esquema H. = *1111 representa al subconjunto de 2 cadenas C = {01111, 11111 }.. Existen algunas propiedades asociadas con los esquemas, por ejemplo, la longitud de la cadena nos permite estimar el total de esquemas que podemos obtener, una cadena binaria de longitud 5 l posee un total de 31. Otras dos propiedades de los esquemas son el orden y la longitud de definición. El orden de un esquema H, denotado como o(H) es el número de de posiciones fijas en el esquema. Por ejemplo, el esquema H. = 101 * ** su orden es 3 , dicho de otra forma o(lül * **) = 3,. 5 También conocida corno cardinalidad..

(38) 38 mientras que el orden del esquema O****** es 1. La longitud de definición de un esquema H, expresado por <5(H), es la distancia entre la primera y la última posición especificada en el esquema. Por ejemplo, la longitud del esquema 011*0** es <5 = 4 dado que <5(H) = 5 - 1, mientras que para el esquemaº****** es <5 = O. Las propiedades anteriores proveen características que permiten un análisis mayor acerca de las implicaciones que tiene la aplicación de los operadores genéticos de selección, cruzamiento y mutación sobre una población de individuos. Los efectos de cada uno de estos operadores. sobre los esquemas pueden ocasionar que algunos se destruyan y otros persistan en subsecuentes generaciones, tal es el caso de los esquemasº*** 1 y ***11* respectivamente. Puede observarse en los esquemas anteriores que para el operador de cruzamiento es más difícil destruir el esquema con longitud de definición menor. El detalle del efecto que cada uno de los operadores genéticos puede ocasionar sobre un esquema H puede verse en las referencias [8, 9]..

(39) 39. 4. SOLUCIÓN AL PROBLEMA INVERSO DE ILUMINACIÓN.. En la actualidad, los mecanismos para simular correctamente el proceso de iluminación no han sido suficientes pues no tienen una forma práctica de definir los efectos que se desean obtener. Se han propuesto alternativas diferentes que permiten simular los efectos de una manera más natural y práctica para los diseñadores, solucionando de manera inversa el problema. Este capítulo menciona las técnicas que han sido propuestas así como la propuesta en este trabajo de investigación.. 4.1. PROBLEMA INVERSO.. Las herramientas que emplean los diseñadores de iluminación normalmente siguen un proceso de prueba y error, es decir, el diseñador especifica la cantidad de luces así como su posición e intensidad en una escena; hecho esto, ve si el resultado cumple con sus expectativas; de no ser así, cambia la posición de las luces, modifica sus intensidades e incluso el tipo de luz para ver nuevamente el resultado; el proceso se repite así a prueba y error hasta que se logra el efecto deseado. Este proceso resulta poco práctico y requiere de mucha intuición por parte del diseñador, pues no es fácil simular correctamente el proceso de la iluminación si no se pueden definir los resultados que se desean obtener..

(40) 40. 4.2. PINTANDO CON LUZ.. Shoeneman et al [23] proponen como solución al problema inverso de iluminación un mecanismo más natural en el que el usuario crea una imagen objetivo o deseada, pintando las áreas que desee con la ayuda de un pincel de luz y fijando fuentes de luz en posiciones predeterminadas. El método de aproximación se encargará de determinar la configuración de las fuentes de iluminación ( color e intensidad ) [23] que más se acerque al efecto deseado por el usuario. El problema es representado mediante una función objetivo '11 compuesta por n funciones resultantes asociadas con cada fuente de luz, cada una de las cuales pueden ser calculadas a través de Radiosidad. El problema de aproximación de esta función objetivo, consiste en encontrar una combinación de pesos,. wi,. no negativos, tales que la función, n. '11. =. L Wicl>i i=l. minimice la función objetivo. 11'11-'1111· Así. el problema se define en uno de "mínimos cuadra-. dos" [15]. Para encontrar los pesos que minimicen la función objetivo, Schoeneman et al [23] usan el método iterativo modificado de Gauss-Seidel. Al emplear Radiosidad esta solución se caracteriza por ser independiente de la posición del usuario pero se limita a calcular la iluminación directa.. 4.3. OBJETIVO RADIOPTIMIZACIÓN: , , SINTESIS DE IMAGENES.. BASADO. EN. Kawai et al [12] proponen un método para el diseño de la iluminación en un medio ambiente usando técnicas de optimización aplicadas a sistemas de síntesis de imágenes basados en Radiosidad. Esta solución, determina la configuración óptima de la emisión de fuentes de iluminación, reflexión de elementos y parámetros para el direccionamiento de fuentes de iluminación, de tal manera que se minimice la energía o bien que la iluminación ofrezca.

(41) 41. cierta ambientación en un cuarto cerrado. La solución utiliza modelos de percepción psicológicos como criterio de optimización pues está basado en impresiones subjetivas de la solución, tal como, que tan agradable y privado resulta el efecto logrado. Algunas de las percepciones que son consideradas son el brillo, espacio, así como claridad visual y agradable. El problema es formulado en base a variables, restricciones y una función objetivo; para su solución usaron un método de optimización basado en técnicas de optimización sin restricciones, de tal manera que el problema es convertido en un problema sin restricción a través del método de penalización en el que se incluye un término en la función objetivo cada vez que se excluye una restricción. Kawai et al [12], categorizan las restricciones que sujetan a la función objetivo como físicas 6 , orientadas al diseño 7 y de barrera8 . Cada una de las restricciones implicadas en el problema se convierten en un término de la función objetivo empleando el método de penalización. El método de penalización agrega un nuevo término a la función objetivo igual al cuadrado de la restricción violada. Por ejemplo, si la restricción Cj, es una restricción de igualdad, tal como. Bij. =. Kj,. el término de penalización correspondiente,. f Cj en la función objetivo es. fcí = Aií(Kí - Bií) 2. Algo similar se aplica para las desigualdades, sólo que en este caso el término de penalización se aplica cuando la restricción no se satisface y en otro caso es cero. Para minimizar esta nueva función objetivo ya sin restricciones se aplica el método de Broyden-Fletcher-GoldfarbShanno ( BFGS ) [18].. 6. Expresadas en la ecuación de Rendering.. 7 Provistas por el usuario, a través de desigualdades o igualdades relacionadas con la Radiosidad.. 8 Son los límites permisibles para generar un resultado físicamente correcto..

(42) 42. 4.4. ALGORITMOS GENÉTICOS EN EL DISEÑO DE ILUMINACIÓN.. Este trabajo de investigación propone para resolver el problema inverso de iluminación, el uso de algoritmos genéticos [8], con una evaluación de funciones de iluminación a través de radiosidad jerárquica [10]. El problema de iluminación a través de AG ha sido tratado por Lange et al [14] para la determinación de la iluminación global empleando ray tracing como evaluación de las funciones de iluminación. El estudio de Lange et al [14] resuelve de manera directa la iluminación global. El algoritmo genético es usado para el cálculo de iluminación determinando la mejor configuración de la dirección de los rayos incidentes que maximicen su función objetivo. Los operadores genéticos empleados son selección, a través del método de la ruleta, el operador de cruzamiento y el de mutación. El estudio indica un buen desempeño de los AGs como mecanismo para la simulación de la iluminación. El problema inverso de iluminación en su forma más general implica la búsqueda de la mejor combinación de número de luces, intensidades, posiciones y tipos de luces que logren un efecto deseado. Las características de robustez en la búsqueda de valores óptimos hace que los AG constituyan un método adecuado para esta solución. A continuación se describen los métodos empleados, es decir, Radiosidad Jerárquica y un Algoritmo Genético usados para la solución del problema inverso de iluminación, así como los componentes del algoritmo aplicados a este problema particular.. 4.4.1. Radiosidad Jerárquica.. La evaluación de las funciones de iluminación del problema inverso se hace en este trabajo usando el algoritmo de Radiosidad Jerárquica [10]. En principio se utilizó Radiosidad Progresiva [4], sin embargo, el cálculo de los factores de forma mediante hemicubo resultaba de un considerable tiempo de cálculo. Debido a lo anterior, se decidió emplear otro algoritmo.

(43) 43. que, con una mínima repercusión en la exactitud de la solución, disminuyera el tiempo de cálculo asociado a los factores de forma, tal es el caso de Radiosidad Jerárquica. La solución codificada a través de Radiosidad Jerárquica [10] es facilmente configurable para dar un mayor o menor nivel de jerarquías y por ende definición. El uso de este algoritmo en conjunto con un algoritmo genético se definió para que pueda ser configurable el nivel de subdivisión. En las pruebas que hice encontré que se obtienen buenos resultados al emplear un menor grado de subdivisión cuando se busca la solución al problema inverso y un mayor grado de subdivisión una vez que se encuentra la solución que se presenta al usuario.. 4.4.2. Representación del Problema.. Como se menciona anteriormente, la solución del problema inverso en su forma más general es necesario determinar el número de luces, sus intensidades, posiciones y tipos de luz; la codificación de estas variables en el genotipo de un AG se hizo de manera sencilla usando un alfabeto binario {0,1 }. La representación propuesta para cada individuo está asociada con el número de luces codificadas; en general, cada luz está representada por el valor de su radiosidad ( r, g, b ), su posición en el espacio ( x, y, z ) así como el tipo de luz ( spot o área ) ( ver figura 10 ). El número de luces en el genotipo es variable en la generación inicial cuando se busca el número que mejor aproxime una escena. Cada uno de los genes del cromosoma representan valores enteros, especificados a través de secuencias de 1's y O's. El rango de valores para radiosidad es de O a 255 por lo que se usan 8 posiciones para cada una de las variables; de manera similar se hace para las coordenadas, mientras que para el tipo de luz basta con una posición para quedar especificada. El algoritmo permite definir rangos y precisiones válidos para cada una de las variables fijando intervalos específicos [Lmin, Lmax], de esta manera las posiciones de las luces pueden limitarse a sólo ciertas zonas de la escena..

(44) 44 j=# de luces. J. i i i ig i b i. x Y z r. Tipo de luz. I. ~I 1. ~ I 11111 I ~. I. l. 0 0. l/ /l / /l 0 0. 1 1 1. Color. Spot ó Area. I. Posición. Fig. 10: Genotipo.. 4.4.3. Operadores Genéticos.. El AG propuesto usa los tres operadores genéticos: selección, cruzamiento y mutación. El operador de selección que se implantó usa la técnica de la ruleta descrita en la sección 3.3.2. El uso de este operador generaba discontinudades en la obtención del mejor individuo ( menor error ) , por lo que se decidió modificar el operador tomando el mejor individuo de la generación y pasarlo intacto a la siguiente. Esta modificación disminuyó las discontinuidades generadas por la obtención del mejor individuo y contribuyendo a una mejor convergencia así como un disminución en las discontinuidades del valor promedio de la población. El capítulo 6 muestra estos efectos. El operador de cruzamiento usado es estándar, pues toma un par de individuos seleccionados en la generación actual para producir los nuevos individuos. Se utiliza un solo punto de cruce entre los individuos que se combinan, el cual puede estar a lo largo de la longitud del gen cuando son de igual longitud ( mismo número de luces), o bien, a lo largo de la longitud del cromosoma con la menor longitud, como se puede observar en la figura 11. Finalmente, se ocupa el operador de mutación para modificar cualquier parámetro del gen a la vez que se está creando el individuo en la nueva población, cabe mencionar aquí que este operador no incrementa el tamaño del genotipo durante los cálculos, unicamente cambia el.

(45) 45. Punto de Cruce. Descendientes. ! Padre 1 O 1 O O. Hijo 1. ... Padre2 1 0 0 0. 1 OO1. Hijo2. 11. OOOI. B. 11 oo 11. Fig. 11: Cruzamiento de individuos con diferente longitud.. valor del gen en una posición a lo largo del genotipo.. 4.4.4. Función Objetivo.. La medida de la aptitud de cada individuo en la población busca minimizar la diferencia entre la escena deseada y la aproximada. La aptitud se mide por la distancia entre las radiosidades de cada parche de las dos escenas. Una distancia pequeña genera una mayor aptitud. Para medir la distancia entre las dos escenas se calculó la magnitud del error a través de RMS [4], el cual está dado por. (22). donde:. Wi. es el peso asignado a cada punto muestra, y en este caso, asociado con el área del parche.. Otra manera de medir el error es el uso de la función de señal-ruido ( SNR ) en la cual el.

(46) 46. objetivo es maximizar la señal, lo cual es más significativo como medida pues se considera la distancia entre el mayor y menor valor. La función se calcula mediante la siguiente ecuación, 2. SNR. =. ) dr(S) 10 lag ( d(S, S')/n. (23). donde: representa el rango dinámico de la señal, es decir, la diferencia entre el mayor y menor valor de radiosidad en este caso. d(S, S'). es la distancia entre las escenas.. Ambas funciones se codificaron para efectos de comparación experimental, sin embargo, la métrica base fue RMS. Los resultados de ambas métricas se muestran en secciones posteriores..

(47) 47. 5. IMPLANTACIÓN DE LA SOLUCIÓN.. Este capítulo explica la implantación de la solución al problema inverso de iluminación mediante algoritmos genéticos [8] y gradiente descendente, evaluando funciones de iluminación a través de radiosidad jerárquica [10]. Así mismo, se explica la manera en que se pueden utilizar los programas para probar otros problemas, experimentar con diversos parámetros y visualizar las aproximaciones así como las distancias a la solución real. La implantación contiene tres módulos principales: 1. El visor de escenas. 2. La aproximación empleando algoritmos genéticos. 3. La aproximación con gradiente descendente. La descripción y uso de cada módulo se encuentra en las siguientes secciones. La descripción de archivos empleados, así como ejemplos de ellos, están contenidos en los anexos. Esta implantación posee un módulo adicional que permite ver gráficamente el comportamiento del error promedio, error mínimo y señal/ruido que el sistema genera a medida que avanza hacia la solución. Los programas fueron codificados en lenguaje C de UNIX para equipos RS6000 modelo 41 T a 66 MHz PowerPC, con 32 MBytes en RAM, y sistema operativo AIX 3.2.5. En su parte gráfica se emplearon interfaces gráficas con Xll, OpenGL 9 [17] y GLUT. 10. [13]. Por lo. anterior, para ejecutar adecuadamente estos programas, se recomienda el uso de un equipo RS6000 con los paquetes y sistemas operativos mencionados. 9 OpenGL es un conjunto de utilerias gráficas que auxilian en el desarrollo de aplicaciones gráficas. 10 GLUT es un conjunto de herramientas que permiten generar ventanas, menus de cascada y operar dispositivos como el ratón en base a eventos..

(48) 48. 5.1. SISTEMA DE VISUALIZACIÓN EN 30.. La solución integrada que se ofrece en esta tesis lleva al diseño de un sistema de visualización en tres dimensiones, el cual permite ver una escena además de contar con algunas otras características, entre las que podemos citar: • Permite pintar las superficies de los objetos en una escena definiendo un efecto de iluminación deseado, utilizando un "pincel de luz". • Cálculo de las aproximaciones mediante algoritmo genético y gradiente descendente. • Cambio de color del "pincel de luz". • Guarda escenas pintadas en archivo. • Tiene movimientos de Rotación respecto a los ejes cartesianos. • Tiene movimientos de traslación respecto a X, Y y Z. • Guarda la posición inicial de la escena original ( esto resulta útil cuando se hacen muchos movimientos en el espacio de 3D ) . • Dibujo de los ejes coordenados para facilitar la orientación. • Visualización de la escena en forma sólida o alambrada. • Opción de aplicar u omitir "Sombreado de Gouraud". Para operar correctamente, el visor requiere que los archivos necesarios ( descritos en el Anexo A ) estén en el lugar donde se ejecuta el sistema, así como los programas de aproximación por algoritmo genético y gradiente descendente. El uso de este sistema de visualización resulta muy sencillo una vez que se tiene una escena lista para efectuar movimientos sobre ella. Al ejecutarse el visor aparece una ventana como la mostrada en la lámina 1. Las escenas que lee el visor están formadas por polígonos de cuatro vértices. Cada polígono definido para la escena principal se considera como un "parche". Los parches pueden ser subdivididos en más piezas a las que se les denomina "elementos". La escena original se guarda en archivos con terminación "polígonos" y "vértices", mientras que la escena formada por.

(49)

(50) 49. elementos y usada para definir un resultado deseado se almacena en los archivos "elementos" y "vertelem" . Cada vez que se elige una escena para leerse con el visor, este la mostrará con o sin algunas características adicionales según se haya especificado mediante el menú de opciones. El uso y efectos producidos al emplear las opciones principales del menú se describen en las secciones siguientes. Para consultar la descripción completa de las opciones refierase al anexo C de este documento.. 5.1.1. Pintando una escena.. El sistema de visualización en 30 permite pintar una escena descrita primero encendiendo el pincel de luz ( usando el ratón ) al eligir la quinta opción del menú principal. Hecho lo anterior, se puede modificar el color del pincel de luz usando la 3ra opción del menú, al elegirla aparecerá un submenú en el que se sugieren algunos colores por omisión: blanco, gris y gris claro; sin embargo, existe la posibilidad de especificar un color determinado con la última opción del submenú. Para especificar un color determinado es necesario proporcionar el color en términos de sus valores RGB, cada uno de los cuales es un número entero en el rango entre O y 255. Una vez que se ha elegido el color con el que se desea pintar la escena y se ha encendido el pincel de luz, ya se puede pintar sobre ella. Para pintar en algún lugar, es necesario mover el ratón hacia el área en cuestión y presionar el botón derecho siempre que se desee pintar un elemento de la escena. De esta manera, se pueden ir pintando los elementos de la escena con los colores que mejor agraden o logren el efecto que desee el usuario. La escena puede tener superficies no visibles en una posición por lo que podría pensarse que no se pueden pintar. El procedimiento que se puede seguir para pintar en este tipo de superficies es utilizar el concepto de "3D Painting", mediante las funciones de movimiento ( rotación y traslación ) que el sistema de visualización ofrece. Al terminar de pintar una escena, ésta puede quedar como la mostrada en la lámina 2. La.

(51)

(52) 50. escena pintada puede guardarse en archivos para que se considere como el resultado deseado al buscar la configuración de luces que mejor la aproximen.. 5.1.2. Visualización sólida o alambrada.. Una característica útil de este sistema es su capacidad para intercambiar de manera inmediata algunas formas de visualizar la escena, tal es el caso de la visualización en forma sólida, en el cual se considera a todos los objetos como sólidos. El caso contrario que se puede emplear es la forma alambrada por lo que al elegirla se muestra en la escena la totalidad de los parches formados simplemente por líneas que unen a sus vértices como se puede apreciar en la lámina 3.. 5.1.3. Suavización de la escena.. Los parches que forman una escena tienen un color en términos de RGB; de dibujar cada parche con su color, la escena puede verse como formada por diversos cuadros, cada uno con un color propio ( ver lámina 4 ). Para que lo anterior no suceda y se aprecie mejor, se usó el método de sombreado de Gouraud [6] en el que en lugar de dibujar el color del parche se dibuja el color de cada vértice. El cálculo del color de cada vértice se obtiene de la siguiente manera: l. Cada vértice se analiza para ver en qué elementos de un mismo parche participa.. 2. Se promedia el color del vértice con el color de los elementos en los que es utilizado. 3. Se asigna al color del vértice el promedio calculado. 4. Se dibuja cada vértice con el color promediado, causando que OpenGL genere el "sombreado de Gouraud"..

(53)

(54)

Figure

Fig.  1:  Componentes de  la reflexión.
Fig.  2:  Ray  Tracing.
Fig.  3:  Geometría del  Factor de  Forma.
Fig.  4:  Hemicubo.
+7

Referencias

Documento similar

Abstract: This paper reviews the dialogue and controversies between the paratexts of a corpus of collections of short novels –and romances– publi- shed from 1624 to 1637:

[r]

SVP, EXECUTIVE CREATIVE DIRECTOR JACK MORTON

Social Media, Email Marketing, Workflows, Smart CTA’s, Video Marketing. Blog, Social Media, SEO, SEM, Mobile Marketing,

Por lo tanto, en base a su perfil de eficacia y seguridad, ofatumumab debe considerarse una alternativa de tratamiento para pacientes con EMRR o EMSP con enfermedad activa

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

o Si dispone en su establecimiento de alguna silla de ruedas Jazz S50 o 708D cuyo nº de serie figura en el anexo 1 de esta nota informativa, consulte la nota de aviso de la

Ciaurriz quien, durante su primer arlo de estancia en Loyola 40 , catalogó sus fondos siguiendo la división previa a la que nos hemos referido; y si esta labor fue de