OJODIGITAL |
|
|
|
| Hilos obsoletos Aquí irán a parar todos los temas que ya han pasado a ser antiguos. |
![]() |
|
|||
|
Cita:
Por otra parte, creo que incluso cuando tienes una cámara puesta sobre un trípode (y, en caso de tenerlo en el sensor o en la lente, con el estabilizador desconectado) y disparas remotamente, suelen producirse minúsculos desplazamientos de la imagen, quizá desplazamientos sub-píxel, pero desplazamientos al fin y al cabo. Por ejemplo, el programa de super-resolución PhotoAcute Studio se basa precisamente en eso para ofrecer resultados reales de aumento de resolución, recomendando activar la realineación de imágenes incluso para series de fotos tomadas con trípode y remoto; de hecho comentan que, si verdaderamente la imagen no se desplazase absolutamente nada entre toma y toma, el algoritmo de super-resolución no funcionaría, ya que en ese caso cada toma sería virtualmente idéntica a la anterior, y por tanto no habría diferencia respecto a la anterior salvo quizá para tareas de image stacking (promediado anti-ruido). Y yo he hecho pruebas con este programa e incluso con trípode y remoto, cada toma es lo bastante ligeramente distinta a la anterior como para permitir al programa obtener resultados útiles... supongo que principalmente se deberá a las ligeras vibraciones inducidas por el obturador. Ahora bien, lo que seguro que no está garantizado es que el desplazamiento sea de exactamente un píxel. De todos modos, creo que la idea podría servir lo mismo. Estos programas, PhotoAcute por ejemplo, la única diferencia práctica es que de momento sólo trabajan con imágenes renderizadas (no RAWs directamente), y que por lo dicho más arriba, no dan por sentado que el desplazamiento entre imagen e imagen será de exactamente un píxel: en lugar de ello, supongo que lo que harán es tratar de detectar exactamente cuánto desplazamiento hay entre imagen e imagen, y compensarlo. Si a un programa así le dotases también de algoritmos genéricos de interpretación y conversión RAW > RGB, supongo que podría ser bastante útil: PhotoAcute por ejemplo se ve en este sentido un poco limitado porque, aunque parece aceptar RAWs, en realidad lo que hace es utilizar el conversor Adobe DNG para que le convierta éstos a un formato con el de-mosaico ya realizado, por lo que la resolución y calidad se ve limitada al algoritmo demosaico empleado habitualmente por Adobe. |
|
|||
|
Yo como quim7 también subo un recorte, en concreto de VCD sin aplicar el filtro de mediana sensible a bordes. Francamente me parece el mejor de todos los subidos hasta ahora sin contar con los que llevan atenuación de ruido. El ruido de luminancia es similar al de AFD, pero el tratamiento del ruido de crominancia es bastante mejor.
![]() |
|
||||
|
Si lo miras de cerca VCD extiende más el ruido de un píxel que AFD. O eso me ha parecido a mí. Pero combinándolo con la atenuación de ruido AFD es posible que el resultado sea más nítido.
Un saludo: |
|
||||
|
Cita:
.Por cierto, HPHD no es propietario de RawTherapee, tengo toda la información necesaria para implementarlo en perfectRAW (artículo y código MATLAB), pero no creo que aportara nada a AFD. El próximo algoritmo de interpolación que implementemos tiene que ser más revolucionario que HPHD. Un saludo: Última edición por ManuelLlorens; 07-dic-2008 a las 01:15. |
|
||||
|
Cita:
Por otro lado no parece difícil programar algo tipo PhotoAcute partiendo de RAW, hay mucha información sobre algoritmos de superresolución en internet. Quizás cuando acabemos lo que tenemos ahora entre manos... lo más difícil será alinear las imágenes en RAW, pues comparar los valores puede ser muy complicado. Un saludo: |
|
||||
|
Cita:
Un saludo: |
|
|||
|
Cita:
Cita:
![]() Cita:
Espero que Gábor no se moleste, pero ya no lo puedo editar.Un saludo. |
|
||||
|
Cita:
Si combinas VCD con AFD adaptive noise attenuation antes (sí, ya sé que queda un poco pedante ) entonces logras un resultado óptimo. Es una buena idea. En este ejemplo comparo VCD con AFD, pero ambas después de atenuar el ruido (con noise detection en 60%). Claramente el resultado de VCD tiene menos ruido de crominancia, se nota mucho en las letras "Pure Brewed", en el resto de la imagen la diferencia es más sutil y hay que "hipnotizarse" un rato mirando la imagen para verlas ![]() ![]() ![]() ![]() Por tanto, de momento tenemos la combinación AFD adaptive noise attenuation + VCD como ganadora (gracias a Lassus)... si postprocesamos un poco a lo burro con Noiseware: ![]() Este era el mejor resultado anterior con AFD (aunque para comparar bien habría que usar los mismos parámetros en Noiseware y no lo he hecho): ![]() Un saludo: Última edición por ManuelLlorens; 07-dic-2008 a las 14:17. |
|
|||
|
Cualquiera diría que esa imagen pertenece a un ISO 25600.
![]() Gracias por la comparativa en igualdad de condiciones. Lo cierto es que la diferencia del resultado final entre ambas es muy pequeña, pero no lo es lo que tarda cada uno, que también es un factor importante a tener en cuenta para procesar grandes lotes. Salvo para cosas muy puntuales AFD parece más equilibrado, ¿no? |
|
||||
|
Pues sí, también hay que reconocer que el sensor de la Nikon D700 es una pasada.
Esto demuestra hasta qué punto la interpolación es la parte más crítica del revelado RAW. Lo más increíble de estos resultados nuestros es cómo se preserva el más fino detalle de luminancia (creo que hasta _GUI_, que suele ser el más crítico con las pérdidas de textura , estará de acuerdo en que los resultados son muy buenos), por ejemplo en las rallitas horizontales de "Pure Brewed" y no se desenfocan nada los bordes (aunque sí se han perdido en todas nuestras imágenes unas rallitas negras muy finas que hay sobre la mano extendida del hombre por estar en una zona oscura). Sin embargo el resultado final merece la pena y tiene un grano fino que es la bomba. Lo único que me preocupa del resultado final es que el color se extienda (color smearing) por culpa del filtrado de crominancia. En alguno de los ejemplos de más arriba el verde se había extendido demasiado. El caso es que implementar un filtrado de ruido estilo Noiseware/Noise Ninja/Neat Image es relativamente sencillo pues, si no me equivoco, todos se basan en wavelets. Hay otras alternativas que probar y también hay algoritmos de interpolación que filtran el ruido en la misma operación y que pueden dar buenos resultados (aunque no creo que mejores que estos puede que sí más rápidos).Cita:
Un saludo: |
|
||||
|
Yo creo que está claro que no hemos quitado demasiado ruido en las pruebas que estamos haciendo porque las texturas tienen mucho detalle y no parecen nada plásticas. Para evaluar si el grano que estamos dejando no es demasiado yo creo que una forma muy buena es comprobar qué tal se comporta con el postprocesado posterior, especialmente al aumentar el contraste y la saturación (ya que las imágenes de perfectRAW siempre saldrán poco contrastadas y saturadas y tendrán que se procesadas a posteriori).
He cogido el ejemplo de arriba de VCD y lo he contrastado y saturado (que conste que lo he hecho demasiado a posta para probar) usando PS CS4 con Power Retouché (para mí el mejor plugin para contraste/saturación). Al haber dejado un grano finísimo (¡de un sólo píxel!) y prácticamente gris (eso es sobretodo mérito del Noiseware), el contraste incluso disimula más el grano (me estoy aficionando a los GIFs animados, se pierde algo de fidelidad del color, de hecho en la imagen contrastada aparece un poco de posterizado en la parte derecha de la botella de aceite que no se ve en el JPEG original, pero la comparación es muy cómoda): ![]() Yo creo que está claro que se puede trabajar con las imagenes de ISOs altas sin miedo. Me gustaría ver esta imagen entera procesada con este método en papel la verdad. Un saludo: Última edición por ManuelLlorens; 07-dic-2008 a las 14:20. |
|
|||
|
Pues veo muy bien el resultado. Poniéndonos a lo _GUI_ quizá se podría mejorar un poco el color del fondo entre las botellas, pero en cualquier caso creo que podría hacerse una impreción decente.
Probaré los plugins de Power Retouché, a ver qué tal, aunque creo que ya estoy demasiado acostumbrado a las capas de ajuste de curvas. De hecho me pongo malo cada vez que tengo que pasar el noise ninja, jeje. Un saludo. |
|
||||
|
Cita:
. La verdad es que creo que estamos consiguiendo algo muy bueno. Creo que me voy a animar a realizar otra prueba con alguna Canon.Cita:
Por cierto, Paul Lee me sugiere que no libere la versión 0.65 hasta que él no afine VCD del todo. Evidentemente le he dicho que OK. Un saludo: |
|
||||
|
Jacques Desmis me comunica que la reducción de ruido wavelet_denoise() de Coffin y también la corrección de aberraciones cromáticas no funciona. No tengo nada claro lo que está pasando y tengo que revisar bien todo el código para enterarme porque a mí me funcionaba. Además antes me leía los raws de las Fuji, aunque seguían saliendo rotados 45º, y ahora ya ni me los lee.
Está claro que tengo que depurar un poco más antes de subir la versión 0.65. Voy a tomarme una o dos semanas para depurar bien todo el código que pueda y terminar esa versión con toda la funcionalidad bien estabilizada, así mientras tanto Paul Lee termina su VCD y lo subimos todo junto. Intentaré no escribir mucho por aquí (porque si escribo entonces no programo ). Además tengo que corregir exámenes y poner notas.Por otro lado Egon tiene prácticamente terminado el código del interfaz OpenGL y está en disposición de fusionarlo con lo que tenemos ahora para la versión 0.7, que será la primera que se parecerá en algo a la versión definitiva. A ver si para Reyes tenemos algo que se parezca a una RC. Un saludo: |
|
||||
|
Jacques Desmis me comunica que la reducción de ruido wavelet_denoise() de Coffin y también la corrección de aberraciones cromáticas no funciona. No tengo nada claro lo que está pasando y tengo que revisar bien todo el código para enterarme porque a mí me funcionaba. Además antes me leía los raws de las Fuji, aunque seguían saliendo rotados 45º, y ahora ya ni me los lee.
Está claro que tengo que depurar un poco más antes de subir la versión 0.65. Voy a tomarme una o dos semanas para depurar bien todo el código que pueda y terminar esa versión con toda la funcionalidad bien estabilizada, así mientras tanto Paul Lee termina su VCD y lo subimos todo junto. Intentaré no escribir mucho por aquí (porque si escribo entonces no programo ). Además tengo que corregir exámenes y poner notas.Por otro lado Egon tiene prácticamente terminado el código del interfaz OpenGL y está en disposición de fusionarlo con lo que tenemos ahora para la versión 0.7, que será la primera que se parecerá en algo a la versión definitiva. A ver si para Reyes tenemos algo que se parezca a una RC. Un saludo: |
|
|||
|
Los plugins de Power Retouché tienen buena pinta, aunque esa marca de DEMO...
![]() Cita:
![]() Cita:
Un saludo. |
|
||||
|
Cita:
![]() Cita:
Respecto a las notas hay de todo. Los que estudian aprueban, los que estudian mucho sacan sobresaliente. Los que no estudian suspenden (bueno algunos suspenden a pesar de haber estudiado porque alguna asignatura es francamente difícil hasta que se llega a entender del todo). Creo que soy justo, aunque alguno no opinará lo mismo. Cita:
.Un saludo: Última edición por ManuelLlorens; 10-dic-2008 a las 15:16. |
|
||||
|
Manuel, lo de que el toque final de reducción de ruido de crominancia se tenga que hacer con Noiseware seguro que es algo que puede optimizarse. No habrá algún preproceso ya inventado por alguien (aparte de los que estás haciendo tú), para reducir el ruido de crominancia antes de interpolar Bayer y sin perder textura?
ACR por ejemplo, sin terminarme de gustar, pero siempre lo he considerado como que hace una muy buena reducción de ruido de color sin perder texturas, y me da que los tiros van por que hace algo antes del demosaicing propiamente dicho. Por cierto unas muestras de la reducción de ruido en la Canon 5D MKII en tomas de larga duración, es un ejemplo de reducción de ruido que busca hot píxels, debe ser algun algoritmo como los que estás probando: si pasa umbral, corta de cuajo. Recorte 100%, 15 min a ISO100 sin reducción de ruido: ![]() Recorte 100%, 15 min a ISO100 con reducción de ruido en la cámara: ![]() Salu2
__________________
"En ocasiones veo halos." Canon EOS 5D | EOS 350D | EOS 300 | 10-22 | TS-E 24 f3.5L II | 24-70 f2.8L | 70-200 f4L http://www.guillermoluijk.com para suscribirte pulsa aquí |
|
|||
|
Cita:
En cualquier caso, y por si buscáis un buen algoritmo, a ver qué os parece el GreyCstoration; con los ajustes adecuados, no estropea las texturas (o eso, o es que las reconstruye después). Las muestras de la web de GreyCstoration parecen muy impresionantes, y aunque no he podido probarlo apenas por su dificultad de manejo (la versión original es por línea de comandos, aunque hay una versión en plug-in para Gimp y otra para Photoshop), creo que debe ser bastante bueno. Además, creo que una versión de ese algoritmo se utiliza en Topaz DeNoise... y ése sí que he podido probarlo, y generalmente se come con patatas a Noiseware, Neat Image y demás, en cuanto a preservación de texturas. El único problema de este tipo de algoritmos parece ser que, sobre todo si se desean buenos resultados, son más lentos que los basados en wavelets. |
|
||||
|
Sí por supuesto que el de luminancia es el que más afectará a las texturas. Pero hablaba del de crominancia: no uso ACR y echo en falta a veces lo bueno que es eliminándolo, cuando una vez traida la imagen revelada por ejemplo con DCRAW a PS y eliminando ruido de color en él, el resultado siendo bueno es bastante peor (no tanto por las texturas en sí, sino por los colores mismos que cambian bastante si aplicas una reducción fuerte).
__________________
"En ocasiones veo halos." Canon EOS 5D | EOS 350D | EOS 300 | 10-22 | TS-E 24 f3.5L II | 24-70 f2.8L | 70-200 f4L http://www.guillermoluijk.com para suscribirte pulsa aquí |
|
||||
|
El tema de la reducción de ruido cromático es algo que no tengo del todo decidido. Desde luego que sería bueno poder quitar el ruido antes de interpolar, como hacemos con la atenuación de ruido actual. Por otro lado, o ponemos una reducción de ruido realmente buena o es mejor dejar que los usuarios utilicen sus programas habituales de reducción de ruido. El criterio tiene que ser: no quitar NADA de textura, no extender NADA los colores, no perder NADA de saturación y dejar un ruido fino y bastante monocromático como resultado final.
En principio, guiándonos por la luminancia, podríamos hacer un filtrado gaussiano de la crominancia adaptándonos a los bordes de la imagen para no filtrar en ellos y que el color no se extienda fuera de donde le corresponde (en todos los ejemplos de arriba con Noiseware el verde de la etiqueta de la botella de cerveza se ha salido de donde debería estar. En el ejemplo de DxO el ruido de crominancia desaparece sin extenderse). Un algoritmo capaz de quitar el ruido de crominancia píxel a píxel antes de interpolar sería perfecto. Lo que no veo tan claro es cómo hacerlo sin que afecte a la luminancia, tengo algunas ideas, pero tengo que probarlas. Porque se trata de hacerlo bien, quitando las manchas de color (que tienen frecuencias bastante bajas), sin quitar textura (que tiene un frecuencia bastante alta por el contrario) y sin perder saturación (eso es lo más difícil, creo yo). Tal y como está ahora mismo el algoritmo de atenuación de ruido basado en AFD, yo tengo la luminancia y la crominancia completa de la imagen que corresponde a cada píxel RAW. Podría filtrar la crominancia y dejar la información RAW limpia de ese ruido para luego volver a interpolar sin él, pero el modo de hacerlo aún no está demasiado claro. Otra cosa que tengo que investigar bien es cómo se producen esas manchas de color, porque en los datos RAW no están, son fruto de la interpolación (como se ve muy bien en la diferencia entre VCD y AFD). Creo que además de filtrarlo, hay que tenerlo en cuenta a la hora de interpolar la crominancia. El problema de la crominancia (y el motivo por el que el ruido de crominancia tiene una frecuencia menor) es que los datos de los canales rojo y azul están muy separados en la matriz bayer. Creo que la solución pasa por crear un algoritmo de interpolación que tenga en cuenta ese problema. Dado que aún tenemos dos o tres algoritmos de interpolación óptimos para imágenes con ruido por probar, puede que por ahí se nos solucionen las cosas. Un saludo: En principio, como |
|
|||
|
La verdad es que si consigues filtrar la crominancia tan bien como filtras ya la luminancia no tendremos rival XD Pero realmente tienes razón, si lo hacemos, lo tenemos que hacer bien. Si no, mejor no tocar y reducir luego el ruido con otra aplicación. Pero la verdad es que es el mejor sitio donde aplicar la reducción de ruido.
|
|
||||
|
He migrado el proyecto a VC++ 2008 Express y he añadido la última versión de la interpolación VCD de Paul Lee.
Además Paul ha reescrito el código de AFD en la "notación de Coffin" y lo ha optimizado. De momento lo he introducido como un método de interpolación a parte pero no puedo compararlo con el mío (en cuanto a velocidad) porque él sólo ha implementado un paso de luminancia, pero tiene pinta de que será más rápido porque ha cambiado los cálculos en coma flotante por coma fija. Si se confirma que es más rápido cuando meta los tres pasos de luminancia sustiruiré el mío y la cosa irá un poco más rápido aún .También voy probando diferentes estrategias para quitar el ruido de crominancia sin extender los colores. Es más difícil de lo que parece. Se me ha ocurrido suavizar el color dentro de zonas de luminancia constante (previamente suavizada con una mediana), pero no tengo claro como implementar algo así. Otra opción, tal vez un poco lenta, sería suavizar en AFD la luminancia con una mediana potente 5x5 o algo así. Sacar de ahí la crominancia, y luego mezclar con la luminancia original. Mucho que probar y pocas ganas de hacerlo .Poco a poco nos vamos acercando a la versión 0.65. Un saludo: Última edición por ManuelLlorens; 18-dic-2008 a las 22:52. |
|
||||
|
A pesar de que sigo de vacaciones
, he liberado la versión 0.65 de perfectRAW para que trasteéis con ella.Un saludo: |
|
|||
|
--- (
{ carita mojada comiendo turrón antes que caduque y alimentándose de todos los restos navideños } ---) es una experiencia verdaderamente inefable, el de vez en cuando venir por estos alphas y leer (sin entender ni 0,3 %) lo que posteais. y lo más increiblemente fantástico, es que estas "cosas" que decís no son inventadas; no es un viaje de lsd, ni neodada... es algo que luego se transforma en una interfaz que te ayuda a conseguir resultados... y seguís mejorando, esforzándo-vos y compartiendo ....................................... léun abrazo a tod@s, con doble interpolación para ti manuel. gashô |
![]() |
| Marcadores |
| Herramientas | |
| Desplegado | |
|
|