Saltar al contenido

normalización en el procesamiento de imágenes

Este dilema se puede solucionar de diferentes maneras, por lo tanto te enseñamos la que en nuestra opinión es la respuesta más completa.

Solución:

Extenderé un poco la respuesta de @metsburg. Existen varias formas de normalizar una imagen (en general, un vector de datos), que se utilizan a conveniencia para diferentes casos:

  • Normalización de datos o (re)escalado de datos: los datos se proyectan en un rango predefinido (es decir, generalmente [0, 1] o [-1, 1]). Esto es útil cuando tiene datos de diferentes formatos (o conjuntos de datos) y desea normalizarlos todos para poder aplicarles los mismos algoritmos. Se suele realizar de la siguiente manera:

    Inew = (I - I.min) * (newmax - newmin)/(I.max - I.min)  + newmin
    
  • La estandarización de datos es otra forma de normalizar los datos (que se usa mucho en el aprendizaje automático), donde la media se resta a la imagen y se divide por su desviación estándar. Es especialmente útil si va a utilizar la imagen como entrada para algún algoritmo de aprendizaje automático, ya que muchos de ellos funcionan mejor ya que asumen características para tener una forma gaussiana con mean=0,std=1. Se puede realizar fácilmente como:

    Inew = (I - I.mean) / I.std
    
  • La extensión de datos o (extensión de histograma cuando trabaja con imágenes) se considera como su opción 2. Por lo general, la imagen se sujeta a valores mínimos y máximos, configurando:

    Inew = I
    Inew[I < a] = a
    Inew[I > b] = b
    

    Aquí, los valores de imagen que son más bajos que a están configurados para ay lo mismo sucede a la inversa con b. Por lo general, los valores de a y b se calculan como umbrales porcentuales. a= el umbral que separa el 1% inferior de los datos y b=el umbral que separa el 1% superior de los datos. Al hacer esto, está eliminando los valores atípicos (ruido) de la imagen. Esto es parecido (más simple) a la ecualización del histograma, que es otro paso de preprocesamiento utilizado.

  • La normalización de datos, también puede referirse a una normalización de un vector con respecto a una norma (norma l1 o norma l2/euclidiana). Esto, en la práctica, se traduce como:

    Inew = I / ||I||
    

    dónde ||I|| se refiere a una norma de I.

    Si se elige que la norma sea la l1 norma, la imagen se dividirá por la suma de sus valores absolutos, haciendo que la suma de toda la imagen sea igual a 1. Si se elige que la norma sea l2 (o euclidiana), entonces la imagen se divide por la suma de los valores cuadrados de Ihaciendo la suma de los valores cuadrados de I ser igual a 1.

Los 3 primeros son muy utilizados con imágenes (no los 3, como escalada y estandarización son incompatibles, pero 1 de ellos o escalado + estiramiento o estandarización + estiramiento), el último no es tan útil. Por lo general, se aplica como un preproceso para algunas herramientas estadísticas, pero no si planea trabajar con una sola imagen.

En ciencia de datos, hay dos tipos de normalización ampliamente utilizados:

1) Donde intentamos cambiar los datos para que la suma sea un valor particular, generalmente 1 (https://stats.stackexchange.com/questions/62353/what-does-it-mean-to-use-a-normalizing -factor-a-la-suma-a-la-unidad)

2) Normalice los datos para que se ajusten a un cierto rango (generalmente, 0 a 1): https://stats.stackexchange.com/questions/70801/how-to-normalize-data-to-0-1-range

valoraciones y comentarios

Si sostienes alguna indecisión o capacidad de prosperar nuestro escrito eres capaz de realizar una disquisición y con placer lo estudiaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *