Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Fotogrametría Digital
Tema 6 – Preprocesamiento de Imágenes en Fotogrametría Digital
Justificación:
La inclusión de este tema se justifica por el hecho de la importancia que tiene en Fotogrametría
Digital las tareas de manipulación previa y almacenamiento de las imágenes digitales debido al
volumen necesario. Por tanto, es fundamental el conocimiento de las diferentes estrategías de
gestión de almacenamiento aplicadas en Fotogrametría Digital así como de las técnicas
fundamentales de compresión de imágenes y los efectos que tienen sobre la calidad de las
mismas.
Objetivos:
• Conocer los sistemas de almacenamiento básicos de imágenes digitales fotogramétricas.
• Conocer las estrategias fundamentales de gestión de ficheros de imágenes digitales en el
flujo de trabajo fotogramétrico.
• Conocer y analizar las diferentes técnicas de compresión de imágenes digitales, con un
especial hincapié en los efectos que tienen sobre las imágenes.
Bibliografía
• González y Woods. Tratamiento Digital de Imágenes. Addison-Wesley/Diaz de Santos
• Lammi,J. y Sarjakoski, T. (1995). Image Compression by the JPEG Algorithm. PE&RS. 61(10), 1261-1266.
• Lizard Tech (1997). Mr SID. White Paper. 13 pág. Información de la compañía.
• Lynch, T. (1985). Data Compression Techniques and Applications. Lifetime Learning Publications. Belmont,
California.
• Novak, K. y Shanin, F.S. (1996). A Comparison of two Image Compression Techniques for Softcopy
Photogrammetry. PE&RS, 62(6), 695-701.
• Rabbani, M. y Jones, P. (1990). Digital Image Compression Techniques. SPIE Optical Engineering Press,
Bellingham, Washington.
• Storer, J. (1988). Data Compression: Methods and Theory. Computer Science Press. Rockville, Maryland.
Entropia:
Es un parámetro que mide el grado de desorden o caos en un sistema termodinámico.
Es una medida del grado de incertidumbre.
Es una medida del contenido de información medio por símbolo en una fuente.
Es una medida del contenido de información real de una imagen (Lynch, 1983)
1 n1
RD 1 CR
CR n2
donde CR se denomina relación o tasa de compresión y se define como la relación entre el
número de bits de la imagen original (n1) dividido por el número de bits de la imagen
comprimida (n2).
Si n2=n1, CR=1 y RD=0 (no existe información redundante)
Si n2<n1, CR>1 y RD≈1 (compresión significativa, redundancia alta)
Si n2>>n1, CR≈0 y RD<0 (no existe compresión)
Tipos de redundancias:
Espacial: Debida a la correlación del ND de un píxeles y los ND de los vecinos.
Espectral: Correlación entre los niveles digitales de las diferentes bandas o canales.
Temporal: Correlación entre las imágenes tomadas en momentos diferentes (video).
Ventajas:
- Reducción de almacenamiento
- Reducción de los tiempos de transmisión (incremento ancho de banda)
- Mejor acceso a las bases de datos
- Se puede implementar sistemas de seguridad asociados a la compresión
- Reducción de los costes (y tiempos) de backup
Inconvenientes:
- Tiempo de compresión/descompresión
- Compatibilidad de formatos
- Pérdida de información
- Errores en la transmisión
La tasa de compresión máxima sin pérdida de información se define como (Storer, 1988):
log2 M
C máx
H
Esta tasa se alcanza cuando la codificación de la imagen da lugar a una tasa (bits/píxel)
similar a la entropía, para ello es necesario eliminar o reducir la correlación entre los
píxeles y además codificar los píxeles de una forma tan eficiente como sea posible.
Es importante tener en cuenta que existen diferentes métodos y estrategias de compresión,
obteniendo diferentes resultados dependiendo de las características de las imágenes.
Objetivo:
Compresión máxima dentro de unos niveles de pérdida de información que no afecten a la
calidad del trabajo final.
Al respecto hay que tener en cuenta que aunque la degradación sea inapreciable al nivel
de visión del ojo humano si puede tener importantes efectos cuando esta imagen sea
tratada mediante un sistema informático de procesamiento de imágenes.
Etapas de la compresión
1) Elección del tipo de compresión (degradativa – no degradativa)
2) Elección del modelo de compresión:
a) Estático: con códigos fijos y predeterminados
b) Dinámico: con códigos que se ajustan a la fuente (adaptativos)
3) Reducción de la redundancia de los datos: transformación de los datos
4) Reducción de la entropía: cuantización
Medida de la calidad de la imagen comprimida
1) Medidas subjetivas
MOS: Mean observers score (mean opinion score). Valoración de 1 a 5
2) Medidas objetivas
1 M N 2
M N
1 M N
I (i, j) I2 (i, j)
RMSE I(i, j) I' (i, j)
2
SNR 20 log 10 MN
i 1 j 1
10 log 10 M N i1 j1
MN i1 j1
RMSE
I(i, j) I' (i, j)
2
i1 j1
255
PSNR 20 log 10
RMSE
3) Tiempo de compresión
4) Complejidad de la compresión
Estándares de compresión
1) Imagen fija
International Organization of Standarization (ISO)
International Telecommunication Union –Telecommunication Sector-(ITU-T)
RLE modificado (formato MacPaint): Consiste en la introducción de un código adicional (en nuestro
ejemplo, el carácter +) que indica cuando se está empleando la codificación. Así resultaría:
ABCDDDDDDDDEEEEEEEEE (Long: 20 bytes) ABC+8D+9E (Long: 9 bytes)
Inconveniente: 3 valores para cada cadena.
Ventaja: Flexibilidad para compresión de imágenes que presentan zonas homogéneas y
heterogéneas.
RLE: Formatos PCX, GEM, TIFF y TGA.
Los códigos Huffman se calculan a partir del análisis de los datos de la imagen original y
asignando códigos de menor longitud a los datos más frecuentes, siendo el objetivo la
reducción del número medio de bits por carácter empleado para la codificación.
Símbolos con mayor frecuencia: Spc (34), a (24) y e (22). Longitud que reciben los códigos
Huffman más= cortos (longitud igual a 3).
Ejemplo de codificación: Palabra separada por letras: c - r - i - s - t - a – l
Códigos de cada letra: 00101 - 0110 - 1110 - 1100 - 1101 - 010 - 1010
Almacenamiento: 1 byte/carácter. Total: 56 bits (7 bytes).
Compresión: Espacio: 28 bits, TC: 2.0, E: 99.29%, H: 3.9717 bits/símbolo, Espacio mínimo:
27.8019 bits.
Obtención de códigos:
1) Ordenar las probabilidades de los símbolos que componen el alfabeto de la fuente de mayor a
menor.
2) comenzando por los símbolos con menores probabilidades pa y pb crear un nuevo nodo, cuya
probabilidad sea la suma de pa y pb (reducción de la fuente).
3) repetir el proceso utilizando el nuevo nodo hasta que quede uso solo con probabilidad igual a 1.
4) etiquetar cada rama situada a la izquierda con un 0 y cada rama en la derecha con un 1
(asignación de códigos).
5) el código de cada símbolo original será determinado por la sucesión de los códigos impuestos
desde la raíz hacía las ramas.
Frecuencia Relativa (% )
20
15
10
0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Número Digital
ND Prob. 1 2 3 4 5 6 7 8 9 10 11 12 13 14
7 0.1474 0.1474 0.1474 0.1474 0.1474 0.1474 0.1474 0.1474 0.1548 0.1965 0.2368 0.2684 0.3022 0.4293 0.5706
8 0.1420 0.1420 0.1420 0.1420 0.1420 0.1420 0.1420 0.1420 0.1474 0.1548 0.1965 0.2368 0.2684 0.3022 0.4293
6 0.1264 0.1264 0.1264 0.1264 0.1264 0.1264 0.1264 0.1264 0.1420 0.1474 0.1548 0.1965 0.2368 0.2684
9 0.1196 0.1196 0.1196 0.1196 0.1196 0.1196 0.1196 0.1196 0.1264 0.1420 0.1474 0.1548 0.1965
10 0.1066 0.1066 0.1066 0.1066 0.1066 0.1066 0.1066 0.1132 0.1196 0.1264 0.1420 0.1474
5 0.0884 0.0884 0.0884 0.0884 0.0884 0.0884 0.0899 0.1066 0.1132 0.1196 0.1264
11 0.0608 0.0608 0.0608 0.0608 0.0608 0.0664 0.0884 0.0899 0.1066 0.1132
4 0.0524 0.0524 0.0524 0.0524 0.0524 0.0608 0.0664 0.0884 0.0899
0 0.0395 0.0395 0.0395 0.0395 0.0504 0.0524 0.0608 0.0664
3 0.0339 0.0339 0.0339 0.0339 0.0395 0.0504 0.0524
2 0.0241 0.0241 0.0263 0.0325 0.0339 0.0395
1 0.0183 0.0183 0.0241 0.0263 0.0325
12 0.0142 0.0142 0.0183 0.0241
13 0.0128 0.0135 0.0142
14 0.0110 0.0128
15 0.0025
ND Prob. Cód 1 2 3 4 5 6 7 8 9 10 11 12 13 14
7 0.1474 001 001 001 001 001 001 001 001 000 11 10 01 00 1 0
8 0.1420 010 010 010 010 010 010 010 010 001 000 11 10 01 00 1
6 0.1264 011 011 011 011 011 011 011 011 010 001 000 11 10 01
9 0.1196 100 100 100 100 100 100 100 100 011 010 001 000 11
10 0.1066 110 110 110 110 110 110 110 101 100 011 010 001
5 0.0884 0000 0000 0000 0000 0000 0000 111 110 101 100 011
11 0.0608 1010 1010 1010 1010 1010 0001 0000 111 110 101
4 0.0524 1011 1011 1011 1011 1011 1010 0001 0000 111
0 0.0395 1111 1111 1111 1111 1110 1011 1010 0001
3 0.0339 00010 00010 00010 00010 1111 1110 1011
2 0.0241 11101 11101 11100 00011 00010 1111
1 0.0183 000110 000110 11101 11100 00011
12 0.0142 000111 000111 000110 11101
13 0.0128 111001 111000 000111 Tamaño original: 131072 bytes, H: 3.5185 bits/símbolo,
14 0.0110
15 0.0025
1110000
1110001
111001
Tamaño mínimo sin pérdida de información: 115294 bits.
Long.media código ponderada en función de la frecuencia: 3.5415 bits/símbolo
Espacio requerido: 116048 bits, Tc: 1.13, E: 97.68%.
Decodificación:
1111-000110-000110-0000-010-010-100-001...110-100-010-001-1011
0 1 1 5 8 8 9 7 ... 10 9 8 7 4
1. Método de READ modificado: es una modificación del método de Huffman en la que se divide la imagen en
líneas y se aplica codificación Huffman a cada grupo de líneas. Cada porción de imagen es codificada de
acuerdo a estas codificaciones.
2. Método LZW: Apareció en 1984 (aunque las bases aparecieron en 1977) y supuso la pérdida de la
hegemonía del método de Huffman. Se basa en la codificación a nivel de cadena en lugar de a nivel de
dato. El algoritmo es muy simple … aunque su implementación es bastante compleja. Se basa en la
búsqueda de cadenas de caracteres con códigos simples que se almacenan en una tabla de consulta. La
mayor parte de los programas que emplean LZW utilizan códigos de 12 bits por lo que existen 4096
códigos disponibles, de los cuales los 256 (0-255) primeros se emplean para la codificación de los
caracteres individuales y los restantes (256-4095) para representar combinaciones de datos que
presenten repetibilidad.
3. Codificación aritmética: Se diferencia de los métodos anteriores en que se realiza la codificación de cadenas
completas en un sólo código de tipo real de punto flotante. A mayor longitud de la cadena, se necesitara
un mayor número de dígitos y, por tanto, una mayor precisión del número empleado como código. Este
sistema requiere realizar dos lecturas de la imagen, una en la que se calculan las frecuencias y otra en la
que se realiza la codificación propiamente dicha.
0.40 0.385
0.3 0.3769
4 0.39 4 4 0.3767 4
0.2
0.380
0.1 0.38 0.3765
5 5 5 5
Ejemplo de codificación aritmética
0.0 0.37 0.3763 0.37630
JPEG
1 2
donde α(u),α(v)= para u,v=0 y para u,v=1, ...,N-1.
N N
DCT es un método muy aplicado para la compresión al ser simple y rápido. Se trata de un
método independiente de la imagen. No supone pérdida de información sino que modifica el
tipo de representación de la imagen compactando la información en unos pocos coeficientes.
-415 -29 -62 25 55 -20 -1 3
7 -21 -62 9 11 -7 -6 6
-46 8 77 -25 -30 10 7 -5
-50 13 35 -15 -9 6 0 3
11 -8 -13 -2 -1 1 -4 1
-10 1 3 -3 -1 0 2 -1
-4 -1 2 -1 2 -3 1 -2
-1 -1 -1 -2 -1 -1 0 -1
Fotogrametría Digital – Ingeniería en Geodesia y Cartografía UNIVERSIDAD DE JAÉN
Dpto. de Ingeniería Cartográfica,
Geodésica y Fotogrametría
33
b) Cuantificación.
Sólo se aplica si se desea una compresión degradativa (lo que equivale en la mayor parte de los casos, una
mayor tasa de compresión). Consiste en la normalización de los coeficientes obtenidos de la DCT, aplicando una
normalización predefinida en la normativa del estándar, que será la misma para todos los bloques. Cada
componente de la matriz de normalización Q(u,v) es un entero 8-bit (0 a 256) que determina el grado de
cuantización. Dichos componentes son calculados de forma que los pequeños valores estén asociados con
frecuencias bajas y los valores elevados con frecuencias altas. El nivel de compresión de la imagen puede ser
modificado mediante la introducción de cambios en esta matriz, mediante el producto por una constante. Así, a
diferentes matrices de normalización le corresponden diferentes tasas de compresión.
Los coeficientes normalizados son cuantificados mediante la aplicación de un redondeo al número entero
más próximo, así, por ejemplo, para el primer coeficiente (0,0), el resultado sería:
T (0,0) = Redondeo [ -415 / 16 ] = -26
16 11 10 16 24 40 51 61 -26 -3 -6 2 2 0 0 0
12 12 14 19 26 58 60 55 1 -2 -4 0 0 0 0 0
14 13 16 24 40 57 69 56 -3 1 5 -1 -1 0 0 0
14 17 22 29 51 87 80 62 -4 1 2 -1 0 0 0 0
18 22 37 56 68 109 103 77 1 0 0 0 0 0 0 0
24 35 55 64 81 104 113 92 0 0 0 0 0 0 0 0
49 64 78 87 103 121 120 101 0 0 0 0 0 0 0 0
72 92 95 98 112 100 103 99 0 0 0 0 0 0 0 0
Es la etapa donde se produce una mayor reducción del tamaño a la vez que la pérdida de información más
importante, reduciendo el número de valores distintos. El coeficiente superior izquierda es denominado DC,
mientras que el resto reciben la denominación de AC. La cuantificación de los coeficientes AC produce
numerosos ceros, especialmente para las frecuencias más altas. Para aprovechar este hecho, la matriz
bidimensional de coeficientes se transforma en una vector unidimensional mediante su ordenación en zig-zag.
Esta ordenación ordena los coeficientes cuantificados en un orden aproximadamente descendente, la mayoría
de los coeficientes de la zona final son ceros.
DC
-26 -3 -6 2 2 0 0 0
1 -2 -4 0 0 0 0 0
-3 1 5 -1 -1 0 0 0
-4 1 2 -1 0 0 0 0
1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
Por tanto, la secuencia final sería:
[-26 -3 1 -3 -2 -6 2 -4 1 -4 1 1 5 0 2 0 0 -1 2 0 0 0 0 0 -1 -1 EOB]
siendo EOB un carácter especial de fin de bloque –end of block–.
c) Codificación de entropía
Consiste en la codificación de los coeficientes normalizados, para ello se resta al DC el
correspondiente DC del bloque anterior, dando lugar a un DC diferencial que es un valor bajo
debido a la elevada correlación entre los bloques. Cada DC diferencial es codificado mediante la
aplicación de un método de código de longitud variable, así como cada valor de AC.
Proceso
Compresión
Catálogo
Imagen Fraccionada
Escáner Sharp JX-600 (600ppp) y tres tasas 1:7 (Excelente), 1:15 (Alta) y 1:66 (Regular).
Calidad visual: 1:7 (Muy buena); 1:15 (Buena – se observan los efectos); 1:66 (Mala).
Calidad geométrica: 50 elementos (tamaño mayor de 8 píxeles). 20 medidas en la imagen
original y 10 medidas en las comprimidas con precisión de subpixel.
Imagen (Nivel de compresión) Emax RSME V
Excelente (1:7) 0.27 0.12 99
Alta (1:15) 0.73 0.18 99
Regular (1:66) 2.76 0.50 99
Diferencias expresadas en píxeles
Se utiliza para la compresión para imágenes de video. El algoritmo comienza con la creación de
una representación a escala a distintos niveles de la imagen original. Así por ejemplo, una imagen
de un tamaño de 1024x1024 píxeles se descompone en cinco imágenes correspondientes a cinco
niveles de escala: 512x512, 256x256, 128x128 y 64x64. La pirámide se crea mediante la
convolución de las imágenes de mayor resolución mediante la aplicación de un operador gausiano
y el aumento del tamaño del píxel al doble.
Se calculan las imágenes diferencia entre los niveles. Las diferencias representan los
componentes de alta frecuencia del nivel previo de la pirámide. La imagen original puede ser
reconstruida a partir de su representación en el nivel de menor resolución (64x64 píxeles) y de las
imágenes diferencia. Los valores diferencia son normalmente pequeños y pueden ser codificados y
almacenados en un número reducido de bits, de forma que se alcanza una compresión sin
pérdida de información, no obstante para obtener mayor tasa de compresión se utiliza la
cuantificación, que produce degradación de la imagen y una compresión más eficaz pero con
pérdida de calidad.
La tasa de compresión es de 3.6 (8:5:3:1). Para obtener mayores tasas las imágenes
diferencia deben ser almacenadas con menor número de bits, aunque con la desventaja de un
mayor riesgo de degradación de la imagen.
Es un método más rápido que el método JPEG, Novak y Shanin (1996) realizan un estudio
comparativo entre ambos métodos, tanto en lo relativo a tasas de compresión, como a calidad
de las imágenes restauradas y velocidad de ejecución.
alcanzándose errores medios cuadráticos inferiores al píxel en todos los métodos, con máximos
inferiores al píxel en los métodos JPEG-75 y HPC-8.5.3.1.
Una ventaja adicional del HPC es contar con una imagen de resolución variable para los
cálculos de carácter iterativo.
Cuantización 3 bit
512x512
Cuantización 1 bit
1024x1024
IMAGEN ORIGINAL
Cuantificación vectorial
Al igual que el JPEG, comienza con la división de la imagen en bloques de tamaño n x n píxeles,
si bien en este caso no existe ninguna predefinición en cuanto al tamaño de los mismos, si bien
es frecuente el empleo de tamaño de 4x4 píxeles.
Estos bloques son comparados con un conjunto predefinido de bloques representativos
(codebook), la comparación se establece mediante el cálculo de la sumatoria de las diferencias de
cada elemento del bloque con cada elemento de cada uno de los bloques incluidos en el libro de
códigos. Aquel código que presente una suma de diferencias menor será elegido como
representativo y el bloque de la imagen original será sustituido por el índice del bloque
seleccionado.
Las relaciones de compresión son elevadas, así por ejemplo, para una imagen de 24 bits/píxel
(color RGB) es necesario un espacio de 384 bits para un bloque de 4x4 píxeles que pueden
comprimirse en 10 bytes si se emplea una tabla de códigos de 1024 posibilidades (Tc=38.4).
La parte más compleja del método es la definición de los bloques codificados predefinidos. A
priori, la solución más acertada podría parecer escoger como bloques aquellas porciones de la
imagen que aportan más información (por ejemplo, bordes) si bien es necesario tener en cuenta
que la frecuencia de aparición de dichos elementos en la imagen global es baja, con lo cual la
imagen comprimida tendrá poca calidad.
Compresión fractal
Supone una ruptura total con la filosofía actual en cuanto a técnicas de compresión de
imágenes. En ella se almacenan son las fórmulas que nos van a dar lugar a la imagen. Por tanto,
estas técnicas son independientes de la resolución de la imagen.
Las tasas de compresión son muy elevadas (en torno a 100) y con muy buenos resultados con
imágenes naturales.
Son técnicas que tienen actualmente un gran auge. La más conocida es MrSID (Multiresolution
Seamless Image Database), que está implementado en software de Fotogrametría y Teledetección y
que es empleado por organismos como el FBI (base de datos de huellas dactilares).
Obtiene tasas en torno a 70:1 (color), es decir, 3 veces más que con otros métodos similares –
JPEG-. Mr.SID presenta en cuanto a su estructura general ciertas analogías con el método JPEG, con
la diferencia de que en el caso de Mr.SID se aplica una transformación de wavelet discreta (DWT) en
lugar de una transformación de coseno discreto (DCT).
La principal ventaja de DWT frente a DCT es su carácter no local, con lo que proporciona mejores
tasas de compresión y una menor degradación de la imagen. DCT se basa en una transformación
Fourier e intenta describir la imagen como una superposición de ondas de cosenos. Estas ondas son
infinitas, por lo que requiere partir la imagen en bloques de tamaño reducido (8x8) y aplicar la
transformación en cada bloque (teselado en la imagen comprimida).
El principal problema que presenta la DWT frente a la DCT es la cantidad de memoria requerida en
la transformación. La división en bloques de la DCT aunque puede llegar a producir efectos
indeseados en la imagen es muy eficiente (considera al bloque individualmente). DWT requiere el
acceso a la imagen completa (complicado con imágenes de gran tamaño -> división de la imagen en
bloques).
Una ventaja muy importante de DWT es que es una transformación multirresolución, incorporando
la posibilidad de la descompresión selectiva de porciones de la imagen. Esto facilita de una forma
muy importante la visualización a todas las escalas de trabajo en especial las pequeñas y medianas,
con tiempos de descompresión mucho más reducidos que los de LZW o JPEG.
JPEG2000
Se trata de un nuevo estándar de compresión que se basa en el empleo de DWT en lugar de DCT.
Ventajas:
- Superior rendimiento de compresión: PSNR= 0.25 bits/pixel
- Permite comprimir imágenes de tono continuo y bitono
- Perfectamente adaptado a imágenes de más de 8 bits/canal (preparado para 38 bits)
- Permite comprimir imágenes de (232-1) x (232-1) con tan sólo 214 componentes
- Puede ser definido como degradativo o no degradativo
- Se puede predefinir el tamaño de la imagen comprimida
- Permite la codificación a nivel de ROI
- Muy robusto
- Permite incorporar metainformación JPX
- Permite incorporar sistemas de seguridad