Capítulo 3. Solución Propuesta
3.3. Construcción del Modelo de Visión
3.3.1. Proyección de la Imagen Bidimensional a la Esfera de Visión
El primer problema que se encuentra al tratar de entregar información del espacio de visión en 360x180° a un algoritmo de sustracción que trabaja sobre un espacio bidimensional, es que no existe una isometría entre el plano y la esfera. Este hecho puede interpretarse intuitivamente al notar que no existe manera de efectuar la transformación de una esfera en un plano sin cortar ni deformar la superficie de la esfera. Por consiguiente, diferentes construcciones del plano producen distintos artefactos en la imagen final. El primer paso es elegir una proyección que sea conveniente.
Cortar la superficie no es deseable para un algoritmo de sustracción orientado a la detección de BLOBS y a realizar un tracking continuo en etapas posteriores, porque requeriría que esas etapas realicen correcciones complejas a lo largo de todo el espacio debido a saltos en las coordenadas de la imagen final, cuando los objetos atraviesan las líneas de corte. Proyecciones como Waterman Butterfly o la Proyección Homolosena de Goode, aunque disminuyen la distorsión, fueron considerados malos candidatos por la gran cantidad de cortes.
Otras proyecciones minimizan los cortes hasta llegar a un solo arco o incluso a un solo punto, y producen distintos tipos de distorsión en la imagen dependiendo de cómo realizan el mapeo. Las proyecciones elegidas se muestran en la Figura 15.
Proyección homolosena de Goode Fuente: Daniel R. Strebe, Wikipedia [42]
Proyección en mariposa de Waterman Fuente:Carlos A. Furuti, Progonos[43]
35
Proyección sobre el plano Líneas de corte sobre la esfera
Proyección Equirectangular Fuente: Mapthematics [35] Proyección Acimutal Equidistante Fuente: Mapthematics [35]
A continuación, se explica cómo se definieron e implementaron estas proyecciones. La convención utilizada en este trabajo llama 𝜃 al ángulo acimutal (longitud) - que
recorre el ecuador de 0° a 360° - y 𝜑 al ángulo polar (latitud) - el cuál es 0° sobre el
ecuador, positivo en la semiesfera superior (90° mirando al zenit) y negativo en la semiesfera inferior (-90° mirando al nadir). La dirección de 𝜑 es invertida más allá de la
explicación teórica para eliminar el signo negativo del uso habitual de la cámara.
3.3.1.2. Proyección Equirectangular
La proyección principal utilizada en la solución y en los casos de tests es la equirectangular. Esta elección se debe a que la proyección equirectangular reduce los cortes a un solo arco a lo largo de la esfera y ubica la mayor parte la distorsión en los polos, los cuales son pocas veces de interés para una cámara de vigilancia. La proyección equirectangular cuenta también con otras ventajas: por un lado, su cálculo es ligeramente más rápido que el de la mayoría de las proyecciones, por otro maximiza la utilización del espacio de una imagen rectangular al ocuparlo en su totalidad. Esto también facilita el manejo de la imagen de salida, al poder procesarla de manera directa con cualquier algoritmo o aplicación tradicional que trabaje con imágenes rectangulares. Además, es la proyección más extendida – de hecho, casi la única utilizada – para el almacenamiento de imágenes y videos en 360° en la Internet y como salida de cámaras omnidireccionales; probablemente por las razones mencionadas.
36
La proyección equirectangular fue implementada recorriendo cada pixel de la imagen final y recuperando la información de color del punto correspondiente en el espacio de visión. El recorrido inverso realizado fue descrito como una función 𝑬 de ℕ𝟐→ ℝ𝟐 que mapea las coordenadas del pixel a la superficie de la esfera. Si se tiene una imagen con ancho 𝑊 y alto 𝐻 y se define a la posición (𝑥𝑖, 𝑦𝑖) como las coordenadas de la imagen
correspondientes al pixel 𝑖, entonces las coordenadas esféricas para cada pixel 𝑖 son:
𝐸(𝑥𝑖, 𝑦𝑖) = ( 𝑥𝑖 𝑊2𝜋, − ( 𝑦𝑖 𝐻− 1 2) 𝜋) = (𝜃𝑖, 𝜑𝑖)
Donde 𝜃 es el ángulo acimutal en el intervalo [0, 2𝜋) y 𝜑 el ángulo polar en [−𝜋 2,
𝜋 2].
Nótese que sólo se requiere la orientación; el radio se pierde al realizar la proyección y no resulta relevante.
Este mapeo fue definido durante el desarrollo con los resultados deseados en vista, y puede visualizarse en la Figura 16.
Finalmente, es importante notar que la decisión de realizar la proyección haciendo el recorrido en el sentido inverso – esto es, de la imagen equirectangular a la esfera en vez de al revés – no es arbitraria, sino que permite resolver el problema de la transformación de escala de la imagen: si se recorriese la esfera para proyectar cada uno de sus puntos, estos quedarían esparcidos sobre la imagen equirectangular dejando espacios negros en las zonas donde la densidad de puntos de la esfera es mayor que la de la imagen plana, lo cual haría necesaria una interpolación posterior; o bien se superpondrían en donde la densidad de la imagen plana es mayor, ocasionando un costo de procesamiento innecesario.
Figura 16 - Coordenadas en la proyección equirectangular
37
3.3.1.3. Proyección Acimutal Equidistante
También se exploró como alternativa secundaria una proyección de tipo acimutal. Las proyecciones acimutales son aquellas que preservan la dirección desde el punto central a todos los demás puntos, transformando los círculos mayores que pasan por los polos de la esfera en líneas rectas que pasan por el centro de la imagen bidimensional.
Se definió esta proyección con una función 𝑨 de ℕ𝟐 → ℝ𝟐 donde, para cada píxel 𝑖: 𝐴(𝑥𝑖, 𝑦𝑖) = (𝑎𝑡𝑎𝑛2(𝑣𝑖, 𝑢𝑖), −𝜋
2+ 𝜋 ∙ √𝑢𝑖2 + 𝑣𝑖2) = (𝜃𝑖, 𝜑𝑖)
Donde 𝑢𝑖 =2𝑥𝑖
𝐿 − 1 y 𝑣𝑖 = − 2𝑦𝑖
𝐿 + 1, para una imagen final cuadrada de lado 𝐿.
Esta definición de la proyección tuvo por objetivo ubicar al nadir en el centro y al zenit en la circunferencia con radio 𝐿
2 . La transformación puede visualizarse
geométricamente en la Figura 17.