Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Entrenar y aplicar redes neuronales denoising

y proporcionar muchas opciones para eliminar el ruido de las imágenes.Image Processing Toolbox™Deep Learning Toolbox™ La solución más simple y rápida es usar la red neuronal de eliminación de ruido preentrenada incorporada, llamada DnCNN. Sin embargo, la red preentrenada no ofrece mucha flexibilidad en el tipo de ruido reconocido. Para mayor flexibilidad, entrena tu propia red usando capas predefinidas, o entrena una red neuronal totalmente personalizada que denote.

Eliminar el ruido Gaussiano mediante la red Preentrenada

Puede utilizar la red de DnCNN preentrenada incorporada para eliminar el ruido Gaussiano sin los desafíos de entrenar una red. La eliminación de ruido con la red preentrenada tiene estas limitaciones:

  • La eliminación de ruido solo funciona con imágenes en 2-D de un solo canal. Si tiene varios canales de color, o si está trabajando con imágenes 3D, elimine el ruido tratando cada canal o plano por separado. Para ver un ejemplo, vea.Eliminar ruido de imagen de color mediante la red neuronal Preentrenada

  • La red reconoce sólo el ruido Gaussiano, con un rango limitado de desviación estándar.

Para cargar la red DnCNN preentrenada, utilice la función.denoisingNetwork A continuación, pase la red DnCNN y una imagen de un solo canal 2-D ruidosa a.denoiseImage La imagen muestra el flujo de trabajo para denozar una imagen utilizando la red DnCNN preentrenada.

Entrenar una red de eliminación de ruido mediante capas predefinidas

Puede entrenar una red para detectar una mayor gama de desviaciones estándar de ruido Gaussiano a partir de imágenes en escala de grises, comenzando por las capas predefinidas proporcionadas por.Image Processing Toolbox Para entrenar una red de eliminación de ruido utilizando capas predefinidas, siga estos pasos. El diagrama muestra el flujo de trabajo de entrenamiento en el cuadro gris oscuro.

  • Cree un objeto que almacena imágenes prístinas.ImageDatastore

  • Cree un objeto que genere datos de entrenamiento ruidosos a partir de las imágenes prístinas en el.denoisingImageDatastoreImageDatastore Para especificar el rango de las desviaciones estándar de ruido Gaussiano, establezca la propiedad.GaussianNoiseLevel Debe usar el valor predeterminado de () y () para que el tamaño de los datos de entrenamiento coincida con el tamaño de entrada de la red.PatchSize50ChannelFormat'grayscale'

  • Obtenga las capas de eliminación de ruido predefinidas mediante la función.dnCNNLayers

  • Defina las opciones de formación utilizando la función.trainingOptions

  • Capacite a la red, especificando el almacén de datos de imágenes que denotan como la fuente de información.trainNetwork Para cada iteración de entrenamiento, el almacén de datos de imágenes que denotan la imagen genera un mini lote de información de entrenamiento al recortar aleatoriamente imágenes prístinas desde el, y luego agregar ruido blanco Gaussiano de media cero generado aleatoriamente a cada parche de imagen.ImageDatastore La desviación estándar del ruido añadido es única para cada parche de imagen, y tiene un valor dentro del rango especificado por el GaussianNoiseLevel propiedad del almacén de datos de imágenes que denotan.

Después de haber entrenado la red, pase la red y una imagen en escala de grises ruidosa.denoiseImage El diagrama muestra el flujo de trabajo de eliminación de ruido en el cuadro gris claro.

Entrenar completamente personalizado red neuronal denoising

Para entrenar una red neuronal que denote con la máxima flexibilidad, puede usar un almacén de datos personalizado para generar información de entrenamiento o definir su propia arquitectura de red. Por ejemplo, puede:

  • Entrena una red que detecte una gama de distribuciones de ruido Gaussiano para imágenes en color. Para generar imágenes de entrenamiento para esta red, puede usar a y establecer eldenoisingImageDatastore ChannelFormat propiedad.'rgb' Debe definir una arquitectura de red neuronal convolucional personalizada que admita la entrada de imagen RGB.

  • Entrenar una red que detecte una mayor variedad de ruido, como las distribuciones de ruido no gaussiano, en imágenes de un solo canal. Puede definir la arquitectura de red utilizando las capas devueltas por la función.dnCNNLayers Para generar imágenes de entrenamiento compatibles con esta red, utilice las funciones y los lotes de imágenes ruidosas y la señal de ruido correspondiente.transformcombine Para obtener más información, consulte.Preprocess Images for Deep Learning (Deep Learning Toolbox)

    Aunque la red de DnCNN se diseñó principalmente para eliminar el ruido de las imágenes, también puede detectar artefactos de imagen de alta frecuencia. Por ejemplo, puede entrenar la red DnCNN para aumentar la resolución de la imagen o eliminar los artefactos de compresión JPEG. El ejemplo muestra cómo entrenar una red DnCNN para eliminar los artefactos de compresión JPEGImagen JPEG Deblocking usando Deep Learning

Si entrena una red de eliminación de ruido utilizando la arquitectura de red de DnCNN, puede utilizar la función para eliminar ruidos de imagen o artefactos de alta frecuencia.denoiseImage Si entrena una red de eliminación de ruido mediante una arquitectura de red personalizada, puede usar la función para aislar los artefactos de sonido o de alta frecuencia en una imagen distorsionada.activations A continuación, reste el ruido de la imagen distorsionada para obtener una imagen denozada.

Consulte también

| | | | | |

Ejemplos relacionados

Más acerca de