NOTES: Hola, mi nombre es Bastian y hoy quiero hablar sobre imágenes de la calle, Panoramax y como ustedes pueden crear sus proprias instancias si les interesan. Un poco sobre mí: Originalmente soy de Alemania, pero desde hace más o menos dos años vivo en Argentina, en un pueblo en la provincia de Córdoba. Todavía estoy aprendiendo español y espero que puedan entenderme. Si algunas cosas no sean claras, dime por favor! Mi formación es en biología pero en realidad soy un investigador y activista en ciencia y cultura libre desde 20 años, particularmente sobre software libre y ciencia participativa. Soy parte de Codeberg, una asociación que ofrece servicios para proyectos de software libre (como una alternativa a GitHub) y colaborar con el equipo de CoMaps - una aplicación de mapas para celulares y esta tarde pueden verme en una charla sobre este proyecto. Y en el contexto de esta charla: Estoy representando el equipo de la instancia Panoramax Argentina en la que trabajo con Daniel, Marcos y Lukas
NOTES: El primer tema es: Qué son las imágenes de la calle? Probablemente, todos de ustedes conocen "Google Street View" como un ejemplo: Imágenes de 360° con cuales se puede mover en el mundo virtualmente. En realidad, todas las fotos que fueron tomadas por el nivel de la calle sirven Pueden ser imágenes planas y individuales - o en secuencia como en Google Street View Al final, en general son fotos de lugares públicos para evitar muchos cuestiones sobre la legalidad. Incluso en ese caso depende del país que tipos de fotos se pueden tomar. Por ejemplo no todos los países tienen el concepto de "libertad del panorama" Pero bueno, podríamos hablar sobre esos problemas después de la charla si quisieran
NOTES: Por ahora, vamos a hablar sobre por qué queríamos colectar y usar imágenes de la calle? Más allá de crear una versión software libre de "GeoGuessr", imágenes de la calle son muy utiles para mapear y contribuir a OpenStreetMap: - permiten mapear remoto y asíncronamente: si estás grabando sus proprias fotos permiten volver a lugares luego, como 'surveying' asíncrono, y también brinda la posibilidad que otras usan las fotos. - dependiente de la calidad de las fotos, se puede usa para agregar POI o detalles como "que son los tipos/nombres/detalles de contacto y más de tiendas y negocios?" En algunos casos incluso puede ver los horarios! - en la misma manera se puede usarlas para evaluar detalles de edificios (cuántos pisos se tiene? Qué tipo de techo? …) - También son útiles para ver superficies de calle, señales de tránsito y mucho más. - Generalmente: Son un buen complemento a imágenes aéreas, todos las cosas que no son visibles por drone o satélite
NOTES: Ya hablamos sobre una infraestructura para imágenes de calle: Google Maps Y Apple tiene su propria versión, llamada "look around". Pero en ambos casos son propietarias, el infraestructura en si mismo y todas las imágenes Por eso no se puede usarlas en el contexto de OSM Hay algunas plataformas que usan licencias abiertas para 'crowdsourcing' la colección de fotos y que permiten el uso en el ámbito de OSM: Mapillary, una plataforma que hoy es parte de Facebook o Meta. Y Kartaview, que hoy es parte de Grab, una empresa asiática tipo Uber. El problema con esas es que son parte de *Big Tech*, es decir: son plataformas muy centralizadas, controladas por empresas y el código para crear la infraestructura no es abierto.
NOTES: Con eso podemos mover hacia Panoramax: Es un proyecto por el instituto geográfico nacional de Francia y otros socios para crear un 'digital commons' de imágenes de calle Es cien por cien software libre en el código para procesar y distribuir las fotos. Y es lo mismo para las fotos en si mismo también En diferencia a las otras plataformas, Panoramax es federada también. O sea, puede existir muchas instancias de Panoramax, centradas en lugares diferentes o con un enfoque temática Actualmente existen 25 instancias, para distintos países o regiones - en Europa, Asia y America También hay un 'meta-catalog' para visualizar todas las fotos sin importa de la instancia en la que se almacenan
NOTES: Esos características tienen algunas beneficios: - Es un sistema más resiliente porque evita el 'single point of failure' que existe con solo un servidor central - cada instancia puede adaptar a necesidades locales (por ejemplo los leyes sobre la libertad de panorama, privacidad) - y al final permite incluirlo en muchas aplicaciones porque no es un sistema que es creado alrededor APIs estandardizadas
NOTES: Cómo puede usar Panoramax? Si ya usaron Mapillary o algo así, no es tan diferente:
NOTES: - Mucha gente usa cámaras que graba imágenes de trescientos y sesenta grados, por ejemplo con una "GoPro Max" - se puede usarla a pie, en bici o en auto
NOTES: Después de grabar las imágenes, se puede subirlas por la página web de la instancia o usar un interfaz de command line. En caso de la GoPro Max (y muchas otras 'action cameras') se graban los coordinates con cada foto que lo hace muy fácil
NOTES: Sí no tenés ese tipo de cámara, también se puede usar un smartphone. Con la aplicación de la cámara o por aplicaciones que son diseñadas para funcionar con Panoramax: En Android hay Baba. MapComplete es una aplicación web y Android que funcionan. Ambos permiten usar su cuenta de OSM para iniciar el proceso. Y como dije: Si tu aplicación de cámara graba la ubicación con las fotos, podés subirlas por la página web de tu instancia de Panoramax
NOTES: Con Baba funciona así: - O grabar fotos individuales o secuencias (incluso en auto, tipo dashcam) - después eligir la instancia a que se quiere subirlas En este caso las fotos no estarán vinculadas a objetos en OSM
NOTES: Acá tenemos como parece el modo para grabar fotos y las secuencias que ya son publicadas o se quiere subir A la izquierda también podemos ver un mapa que nos indica si ya hay algunas fotos en un lugar
NOTES: Con MapComplete es un poco diferente: Ofrece capas de mapa sobre temas distintos, por ejemplo monumentos, obras de arte o restaurantes etc. También permite grabar imágenes y agregarlas a objetos en OSM. Por eso es un tipo de Panoramax particular
NOTES: El proceso para agregar imágenes funciona así: - podemos hace clic a "agregar un nuevo elemento" para crear un objecto en OSM - Elegimos el tipo de objeto que queremos agregar, por ejemplo un monumento - Después, seleccionamos el tipo de monumento y agregamos más detalles si existen - Al final, subimos una o algunas fotos del objeto.
NOTES: Ahora la pregunta es: como podemos mirar las fotos? En web dos opciones son la página web del catalogo 'meta' de Panoramax que permite mirar y mover entre imágenes. Y cartes.app - de Francia - también puede visualizarlas y permite mover entre las fotos Por supuesto, MapComplete también visualizar imágenes pero solo estas que son vinculadas a objetos de OSM
NOTES: En aplicaciones de celu, Baba incluye un mapa que muestra las imágenes. Y CoMaps, incluye enlaces a Panoramax si fotos son vinculadas a un objeto de OSM, como es en MapComplete
NOTES: Para ellos que quieren contribuir a OSM, esa pregunta probablemente es más importante: El editor iD ya puede mostrar fotos de cada instancia de Panoramax que es incluida en el catalogo, y también permite vincularlas con objetos en OSM En Android, Vespucci permite subir y ver fotos. Y también hay un plugin experimental para JOSM
NOTES: Ahora podemos hablar sobre los desafíos con Panoramax y la creación de instancias El beneficio de no haber instancias centralizadas también es un desafío: Porque la mayoría de las instancias tienen limites de que regiones aceptan fotos. Por ejemplo, la instancia del instituto geográfico nacional de Francia solo acepta imágenes del territorio francés. Qué deberíamos hacer en el caso que no hay una instancia para nuestro país o region?
NOTES: Podríamos crear una propria instancia de Panoramax? Es algo que hacemos en Argentina, para permitir la colección de fotos en Argentina, Uruguay (y desde el terremoto en Venezuela)
NOTES: El desafío principal con Panoramax es el almacenamiento. Necesitamos almacenar fotos permanentemente y solo serán más fotos. En esos días almacenamiento es muy caro: Eso es que la gente de OSM Francia escribió sobre su instancia: "Solo pagamos más o menos diez mil para nuestro servidor." Y eso era antes de 'IA' boom que encarecidió hardware
NOTES: La gente de OSM Francia creó una lista con informaciones sobre el almacenamiento que se necesita por tipos diferentes de imagen. Es entre tres y veinte megabytes por imagen En caso de imágenes de trescientos y sesenta grados, también se tiene que incluir 'derivativos' para apoyar 'tiling' en el browser. Que es más o menos doble de tamaño. Y, una cosa sobre que no hablé hasta ahora: Panoramax incluye métodos para anonimizar personas y patentes. Para eso debería incluir un GPU si quisiera procesar las imágenes en su proprio servidor.
NOTES: También necesitamos notar que el almacenamiento es un problema de la escala. Esos son los números que OSM Francia publicó hace dos años: más o menos ciento terabyte para almacena 22 millones de fotos
NOTES: Con todos esos números se puede pensar que es muy difícil y caro empezar una instancia de Panoramax
NOTES: Pero en realidad no es así: Porque no empezamos con el problema de la escala y con millones de imágenes sino con solo algunos contribuidores y sus fotos. Y eso significa que no necesites tanto almacenamiento porque no necesitemos espacio para millones de imágenes. Y también no necesitemos comprar nuestro servidor proprio sino podamos alquilarlo por un hoster. Al final, la comunidad de OSM Francia y Panoramax ofrece usar su servidor con GPUs para la anonimización de las fotos. Por eso un servidor alquilado puede ser más barato.
NOTES: Eso es exactamente que hicimos para la instancia para Argentina. Antes de crearlo, hablamos mucho con el equipo de Panoramax y OSM Francia para entender cuales son las opciones y al final encontramos una opción que funciona con nuestros requisitos: Alquilamos un servidor por OVH, un hoster originalmente de Francia que también tiene servidores en Canada. La opción que usamos tiene dieciséis giga de memoria, un SSD con quinientos giga para el base de datos y cuatro harddrives, cada con 6 tera Como un 'software raid' con un disk de redundancia obtenemos dieciséis tera de almacenamiento para las imágenes. No tenemos un GPU, pero…
NOTES: Pero usamos el servidor de OSM Francia para la anonimización. Hasta hoy tenemos más o menos quinientos mil fotos (que son usado ~3 TB) y la mayoría de las fotos son de trescientos y sesenta grados de un GoPro Con eso, podemos almacenar más o menos dos millones y medio de fotos. Y para el precio: pagamos cuarenta y cinco dolares US por mes. Que es mucho más accesible que un servidor de diez mil Euro
NOTES: Por supuesto, hay algunas limitaciones con eso: Ahora no tenemos un backup más allá de la redundancia. Queremos crear un backup en casa, pero gracias a la 'IA' por encareciendo hardware no es tan facil También dependemos del servicio de anonimización de OSM Francia por ahora, pero si fuera necesario podríamos cambiar a otros servidores Y al final no tenemos un plan concreto sobre que pasaría si tuviéramos más usuarios o imágenes. Sin embargo, Panoramax ya tiene funciones para migrar imágenes entre instancias en caso que existan más instancias locales
NOTES: Nuestra solución es una opción. Hay más alternativas: Por ejemplo se puede crear instancias para solo un usuario con un servidor local en casa. Además hay instancias con un enfoque temático, como transporte publico por ejemplo. También existen instancias muy regionales: por ejemplo solo para una ciudad o region chica. Y casi todos esos soluciones pueden ser aún más barato
NOTES: Solo muy rápido y sin demasiados detalles: El equipo de Panoramax ofrece mucha documentación sobre la instalación de software En particular, hay imágenes de *Docker* para usar containers. Con 'docker compose' se puede instalar la colección completa: backend, base de datos y front-end. Incluso un sistema de login que usa cuentas de OSM - esto es lo que usamos con Panoramax Argentina también. Si les encanta tecnología complicada, también hay instrucciones de Kubernetes pero en este caso probablemente no estén escuchando a esta charla :D Y nosotros escribamos un articulo documentando nuestra instalación
NOTES: Es decir: No necesitas ser experto en administración para empezar a crear una instancia. Yo no soy tan experto y salió bien con la instalación inicial. Además: no necesitas hacerlo solo - es más divertido en un equipo. También permita distribuir tareas y aprender nuevas cosas juntos. Aunque se pueda pagar mucho para servidores, también es posible comenzar con una instancia pequeña y barata. Igualmente, no es necesario que una instancia cobre un país. Podas crear una instancia para tu ciudad, pueblo o incluso tu barrio! También siempre es posible mover fotos entre instancias - no es una decision para eternidad. Y, al final, toda la comunidad de Panoramax is muy amable y acogedora. Si se tiene preguntas o necesita apoyo, siempre hay gente que ayuda
NOTES: Gracias a ustedes para prestarme atención. Si quieren volver a esta presentación, las diapositivas son online en este enlace. Y Probablemente tenemos un poco tiempo para preguntas ahora!