lunes, 13 de mayo de 2013

Gigapan Súria-2 (99 GigaPixeles)

A parte de ser la Gigapanorámica más grande que he realizado, también ha sido la que ha dado más guerra (sin descontar la primera por aquello de la novedad y que todo era "nuevo" por explorar) pero por fin ya puedo compartirla con vosotros.

En principio , el tamaño SI importa. No es que quiera hacer el récord mundial, pero considero que a nivel personal siempre hay que ir marcando retos personales que nos hacen ir mejorando y evolucionando para estar siempre un poco más satisfechos.

A dia de hoy, tenemos el récord de fotografía más grande la realizada en Londres con 320 GPx (googleando podréis encontrar mucha información, por ejemplo en http://www.dailymail.co.uk/sciencetech/article-2282054/320-gigapixel-interactive-picture-London-lets-20-MILES-zoom-people-street.html ), aquí deberíamos descontar los amigos de Google earth que acabarían obteniendo una fotografía muuuuuy grande.


A nivel de España y por lo que he podido controlar, Sevilla y sus 111 GPx aun mantienen el récord nacional http://www.sevilla111.com/



Ya sé que google es el buscador por excelencia, pero desconozco si hay alguna más grande. Yo básicamente utilizo la base de datos de www.gigapan.com para ver si hay alguien que se anima a realizar este tipo de fotografía. El compañero Juan Luis Redajo también une ortofotos de I.C.N. obteniendo resultados de hasta 340 GPx a día de hoy (podéis verla en http://gigapan.com/gigapans/126642 ), pero claro, no creo que tenga el mismo mérito fotográfico que los que buscamos un buen lugar, analizando el movimiento del sol , buscando un buen día y demás cálculos para obtener una foto que nadie nos puede negar que no es nuestra ya que disponemos de los archivos originales.

Pues la história de hoy pertenece, según mi parecer , a la fotografía panorámica más grande realizada en Cataluña (siempre a día de hoy!), y es la que realicé en Abril de este 2013.

Conmemorando un año después de mi primera gigapan http://gigapan.com/gigapans/103601 , volví a mi pueblo natal , Súria para fotografiarlo desde otro punto de vista , encima de una montaña a la que creo que no suben ni las cabras ! Previamente había subido semanas antes para verificar la posibilidad de realizar la toma, no fuera que me encontrara muchas adversidades.

Ese día, 13 de abril,  fui sólo, por lo que me comporta un esfuerzo físico sobretodo a la hora de transportar todos los bártulos: mesa-soporte robot (para ganar un poco de altura e inclinación) construido con los angulos-guías de las típicas postadas metálicas de toda la vida, el robotillo, dos baterías de 12v/7Ah, el objetivo, la cámara y 4 herramientas de supervivencia. Excepto la mesa-soporte me cabe todo comprimido en una mochila de montañismo de las grandes, y calculo que un peso de unos 15-20 kilos a la espalda.

Después de unos 25 minutos de dura subida, y tras tomarme un buen respiro, empiezo a nivelar el soporte-mesa justo encima de una piedra que me venia perfecta. Luego coloco el robot, la cámara, realizo todas las conexiones y espero a que el sol se levante un poco más para no obtener tantas sombras provocadas por la montaña dónde estoy.


Tras un cuarto de hora de espera, decido empezar a analizar las condiciones de luz y fotograficas para programarlas en la Nikon d-90 . Empiezo ajustando el zoom del Sigma 150-500 sobre unos 400 mm, luego busco un punto de compromiso a mi escena a fotografiar para buscar la nítidez con el anillo de enfoque, y los dejo bloqueados mediante dos tiras de cinta aislante. Luego es hora de programar la velocidad y apertura del diafragma en la cámara.


Ya sólo hace falta arrancar el robot y determinar los dos extremos de la fotografía. Todo a punto, una previsión de 3920 capturas, el día y la visibilidad perfectos. Puedo ver al fondo las montañas nevadas situadas a más de 40 kms. La cosa promete, pulso sobre la tecla Enter y empieza el espectáculo.


Ahora es momento de relajación y esperar a que todo salga bién , el Arduino controle la situación y yo de mientras me marco un desayuno a base de croisant i cacaolat.

Este dia , me acompañan abejas, por lo que no estoy tranquilo del todo. El sol cada vez aprieta más y ya voy buscando una simple sombra para estar un poco refugiado desde dónde controlo todo a unos 10 metros de distancia mientras voy haciendo sudokus...


Voy escuchando el ruido del obturador, luego el motor, puntualmente el ventilador de los disipadores y de vez en cuando dejo de escuchar la cámara durante un minuto aproximadamente (es cuando el robot retorna al inicio de cada fila), pero llega un momento que dejo de escuchar el motor del eje X y miro el robot y veo que no se mueve! Houston tenemos un problema! Mediante la pantalla observo cual es la última fila completa, reinicio todo el robot, y lo llevo a este extremo para reiniciar otra vez la rutina pero empezando por la última fila completa. Observo que el robot parece como si perdiera de vez en cuando algun paso....la cosa me da mala espina, y minutos más tarde otra vez "colgado" de nuevo. Compruebo la temperatura en los disipadores y no me parece excesiva, vuelvo a intentarlo de nuevo y el motor del eje X ya no se mueve....Game Over !

Pasan de las doce del mediodía, en ese momento llevaba aproximadamente 2/3 partes de las capturas previstas, pero no tengo ni herramientas suficientes ni ganas psicológicas para desmontar la electrónica en medio de monte, por lo que decido desmontar el tinglado y vuelta a casa. Eso si, decido dejar la mesa-soporte en plena montaña ya que esta foto si o si hay que repetirla seguro y en pocos dias si quiero que aparezcan las montañas nevadas en el fondo.


Una vez después de comer, los nervios pueden más que yo y necesito saber dónde está el problema, y tras unos minutos descubro que viene del driver L298N que se ha "roto". Menos mal que no es el motor con reductor incorporado del eje X !


Soldador en mano y a las 4 de la tarde ya he hecho resucitar al robot ! Contento por ello, pero defraudado por la experiencia de la mañana. Intento hacer una vista previa a la fotografía que habría obtenido hasta entonces pero decido que no vale la pena procesarla. Aparecía el pueblo correctamente y me quedé que empezaba  a aparecer el cielo timidamente. Una foto de paisaje sin cielo, NO es una foto !

Luego aprovecho el resto de tarde para ejecutar un test de funcionalidad y tras más de tres horas le doy el visto bueno.

En esas fechas andava yo mirando de cambiar la cámara fotográfica de batalla, pensando en sustituir la Nikon d90 con unos 30.000 disparos (la vida útil dicen que rondan los cien  mil) por una Nikon d5200, pasando a doblar los MegaPixeles de resolución que hay entre ellas (de 12 a 24 MPx.). Hay otras diferencias, tirando de google encontrareis varias opiniones.


Aparte de mi trabajo diario, y de las tareas domésticas, en cinco dias logré encontrar un cuerpo de d5200 (creo que en el mercado español aun no está a la venta), dos baterías clonicas "decodificadas" del tipo EN-EL4 (a diferencia de otras Nikon, estas baterías tienen "algo" que reconoce el propio cuerpo y detecta si es una batería original o no, pudiendo llegar a provocar que aparezcan mensajes de Batería no aceptada y te quedes con las ganas de fotografiar) y finalmente un grip de la marca Phottix, este llegó a la tienda el mismo viernes, un día antes del segundo intento. Esa tarde llovía, pero las previsiones para el sábado era de sol y poco viento. Este último factor siempre es importante cuando subes a una montaña, hay que recordar que con el zoom que utilizo y el "juego mecánico" de los engranajes puede hacer que luego los solapes sean incorrectos y todo no sirva para nada. También el hecho de que lloviera el día de antes de la fotografía siempre va bien para limpiar el paisaje.

Esa misma tarde ojeé el manual de la propia cámara y puse a cargar todas las baterías.

Y llegó el sábado, y empezó el Second Round ! Poco después de las 6 de la mañana (por aquel dicho popular de que a quién madruga, alguien te ayuda... ) ya estaba en pié, comprobando que no me dejara nada. Sobre las 8 aparcado en el punto dónde debería dejar el coche aparcado, en el barrio de Fusteret de Súria. Y minutos más tarde empezaba de nuevo la ascensión con la mochila a cuestas.

Una vez arriba, localizo mi mesa-soporte en el mismo lugar que la había escondido (entre medio de los tres arboles que hay!) . Aprovecho para colocar-le unas patas "nuevas" al soporte que me ayudaran mucho a la hora de nivelar.

Vuelvo a colocar el robot encima del soporte, luego fijo el objetivo con la cámara nueva (las conexiones remotas son iguales que en la d90), y vuelvo a esperar un rato hasta que se levante un poco más el sol, momento en que ajusto todos los parámetros y cruzo los dedos. Esta vez , al estrenar cámara con baterías nuevas puede ser una sorpresa. Según el fabricante se pueden realizar hasta 1400 fotos, y yo tendría 3 o sea unas 4200 maximo, pero claro...son nuevas, una sola carga y supongo que serán algunas menos...

Esta vez, ajusto la cámara en manual, en JPG (normalmente las hago en RAW pero presiento que me faltaran tarjetas SD), balance de blancos en soleado., ISO 640, apertura f13 y velocidad 1/1000. Para ajustar estos parámetros últimos me baso en: Utilizo un objetivo Sigma 150-500 f5.0-6.3 ajustado sobre los 420 mm.  (los entendidos experimentados desaconsejan llevarlo muy al extremo de los 500mm debido a su perdida de nitidez) unido a un teleconversor Sigma APO 1.4x, lo cual me resulta una focal de objetivo equivalente a unos 600 mm (420 x 1.4) . Teniendo en cuenta que utilizo la Nikon d5200 en formato DX , su factor de recorte es de 1.5, entonces tengo una resultante de 600 x 1.5 = 900 mm.
Para evitar trepidaciones programo una velocidad ligeramente algo superior... pues 1/1000 ! Ahora para conseguir una buena profundidad de campo (ideal para un paisaje) lo "habitual" es cerrar el diafragma a la vez que el exposímetro a cada paso me pide más luz y sólo puedo darla incrementando la sensibilidad  ISO por lo que al final hay que buscar un compromiso. Para mi lo ideal es una ISO baja para evitar ruido en la fotografía.

Busco un extremo de la fotografía, luego el opuesto y el Arduino queda programado y empieza la rutina de información:

Cada foto tendrá un ángulo de 1,82º verticales por 1,24º en horizontal, habrían 4520 fotos repartidas en una cuadricula de 113 columnas por 40 filas. Uops ! Excedo con mi "límite teórico" de duración de las baterías, pero hay que jugarsela , pensé que como mucho perderia algo del cielo, pero no tanto como en el round 1 ! El ángulo previsto es de unos 205º horizontales  x 50º verticales. Para "optimizar" el numero de capturas realizo un solape entre capturas del 20% entre imágenes, un valor un poco justo (recomendable un 35%) , este solape será la intersección entre fotos y servirá para que el software de unión elija puntos iguales para determinar una fusión correcta. En mi caso , se generan 50 puntos de enlace entre dos capturas, pero hay que tener claro que solapan con la foto de la derecha, la de la izquierda, la de arriba y la de abajo, total 200 puntos por 4520 fotos = aproximadamente 900.000 puntos de enlace.

Empieza la rutina, y empiezan las capturas, una tras otra. Contando el numero de filas y columnas calculo el tiempo que tardaran en agotarse las baterías, pero...sorpresa duran mucho mas!  De las 1400x2 (al utilizar el grip) = 2800 se me acaban agotando cuando pasaba las 3600. Ahora ya conozco el límite ! El problema aparece que hay que "reiniciar" el ciclo partiendo de la última linea completa provocando una perdida de tiempo de unos 20 minutos y un posible desajuste en el solape de la parte superior del cielo.

Inserté la última batería y seguimos, hasta la número 4520, momento en que apareció en el LCD la frase de "Panorámica completa!"


El tiempo requerido fueron 4 horas y 14 minutos, eso quiere decir que si descontamos los 20 minutos provocados por el cambio de batería, da una resultante de una foto cada 3.1 segundos.

Ahora empieza la segunda parte, el procesado....

Normalmente lo primero que hago es convertir mediante CameraRAW los archivos RAW en JPG (esta vez me salte este paso al haber tomado las fotos directamente en JPG) y luego renumerar las fotos ya que la propia camara crea carpetas DCIMxxx y luego a los archivos los nombra con nombre FILEXXX donde XXX es un numero correlativo. Pero claro, al tener 4520 capturas significa que puedo tener hasta 5 fotos diferentes con el mismo nombre, por lo que las renombro para tener las fotos totalmente ordenadas ya que el software de edición me deja importar fotos sólo desde una carpeta y no desde varias.

Cuando le doy a grabar en JPG , normalmente los softwares de Adobe te piden a que calidad. Yo hasta ahora siempre tenia (creo que es por defecto) a un nivel 10, pero sabia que llegaba a 12 y dije ...ande o no ande la burra a lo grande, provocando que los JPG tuvieran más definición pero pesaran mucho mas.

Arranco el software de "pegado" AutoPanoGiga en el iMac y ne genera la vista previa en una hora aproximadamente y no pinta mal, luego decido el formato de salida de la panoramica completa en formato .kro entre varias opciones , pero para poder grabarla a toda definición es el único que me sirve, ni de lejos el PSD/PSB (creo recordar que puede hasta 300.000 pixeles por linea) y ni por asomo el JPG que soporta los 30.000 !

Empieza a renderizar, un dia, dos , tres... monto un ventilador tipo los de las torres de los PC's y lo encaro hacia la parte caliente del iMac y me voy de viaje !  Realizo escritorios remotos desde 500 kms pero veo que la cosa sigue igual: la CPU va a tope todo el día, la RAM también va a tope, se genera movimiento de archivos en las carpetas temporales tanto en lectura como de escritura, el monitor de actividad no detecta ningún problema... dia 10 de "machaqueo" decido abortar la operación al no ver ningún avance significativo en la barra de evolución del proyecto.


Hasta ahora habia "renderizado" gigapanes de hasta 33 GPx y nunca se "clavaba" tanto, pienso en utilizar otro software, y aprovecho la versión de prueba de GigapanStitch.efx el cual parece más básico que no AutoPanoGiga. Empieza la cosa, parece rápido hasta que se queja que no tiene memoria suficiente, todo y que mientras procesa gasta muy pocos recursos. Contacto con los de Gigapan y me dicen que este software aguanta unas 2000 fotos máximo, y me recomiendan que use AutoPanoGiga !

Llegado este punto se me abren dos posibilidades: O me falta RAM (utilizaba 12 GB) o las fotos pesan mucho, y sin querer obtener ni buscar culpables decido augmentar lo que pueda de RAM y volver a renombrar las fotos JPG pero a calidad 10 en vez de 12.

Referente al tema de RAM, contacto con la tienda @magnificos de Barcelona y adquiero dos módulos de 8 GB. El iMac tiene 4 slots por lo que tenia previsto montar dos de 8 y aprovechar dos de 4, total 24 Gb. y cual es mi sorpresa: El Snow Leopard detecta toda la memoria pero cuando empieza a requerir de ella con un poco de ganas, el sistema operativo peta! Realizo varias combinaciones, pruebo con memtest y empiezo a buscar en foros hasta que descubro que el modelo que tengo sólo acepta hasta 16 GB ! jops! El proceso de cambio/ampliación de RAM en un iMac es muy simple y rápido , y aunque no venga mucho al caso:


Me desplazo hasta la tienda y antes de que acabe la frase a mi problema informático me dicen el problema: quizás uno de los módulos de 8 GB esté defectuoso o no sea 100% compatible y también me confirman lo de los 16 GB máximos y me entero que el modelo siguiente al que tengo ese ya soporta 32 GB , que rabia! En fín que vuelvo a casa con dos módulos de 4GB y los monto en la máquina.

Ya tenia los archivos JPG a calidad 10 por lo que en pocos minutos ya estoy intentando de nuevo renderizar. Esta vez la cosa pinta bien , al menos la barra de progreso progresa adecuadamente, y tras 36 horas obtengo el archivo renderizado de 396.52GB de peso y una panorámica de 632967 x 156610 que en otras palabras 99.13 GigaPixeles , a un pelín de los 100 y a no mucho (y sin buscarlo) del récord nacional. Se han necesitado 3.7 TB de datos escritos y otros 3.6TB de leidos


He visto que hay varios ghosts y solapes defectuosos, algunos de ellos reparables, sólo hay que jugar con Photoshop y repetir el proceso de renderizaje, es una cosa que nos pasa a todos , incluso al récord mundial...


Finalmente, aprovecho para mostrar el tamaño entero de una de las fotos realizada desde aproximadamente 1500 metros de distancia.


El tiempo necesario para subir tan pesado fichero al servidor de www.gigapan.com ha estado de aproximadamente 333926 segundos (unos 4 dias con una velocidad media de 728 kbps.)

Un par de detalles más: si cada pixel ocupara un milímetro cuadrado , los pixeles de esta gigapanorámica podría generar una linea de unos 100 kms de longitud, y si la quisieramos imprimir a una resolución de 300ppp (buena resolución) y mis cálculos no me fallan podríamos imprimirla en un tamaño de 60 x 15 mtrs. (unos 900 metros cuadrados)  Deseo que os guste y compartais esta Gigapanorámica.