Main Content

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 de denoising

y proporcionar muchas opciones para eliminar el ruido de las imágenes.Image Processing Toolbox™Deep Learning Toolbox™ La solución más sencilla y rápida es utilizar la red neuronal de denoising preentrenada incorporada, llamada DnCNN. Sin embargo, la red preentrenada no ofrece mucha flexibilidad en el tipo de ruido reconocido. Para obtener más flexibilidad, entrene su propia red utilizando capas predefinidas o entrene una red neuronal completamente personalizada que denoye.

Eliminar el ruido gaussiano utilizando una red preformada

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

  • La eliminación de ruido solo funciona con imágenes de un solo canal 2D. 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 obtener un ejemplo, consulte .Eliminar el ruido de la imagen de color utilizando la red neuronal preentrenada

  • La red sólo reconoce 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 a .denoiseImage La imagen muestra el flujo de trabajo para eliminar el ruido de una imagen mediante la red DnCNN entrenada previamente.

Entrena una red de desenudezantes usando capas integradas

Puede entrenar una red para detectar una gama más amplia de desviaciones estándar de ruido gaussiana de imágenes en escala de grises, empezando por las capas integradas proporcionadas por .Image Processing Toolbox Para entrenar una red de desanoizando mediante capas predefinidas, siga estos pasos. El diagrama muestra el flujo de trabajo de entrenamiento en el cuadro gris oscuro.

  • Cree un objeto que almacene imágenes impecables.ImageDatastore

  • Cree un objeto que genere datos de entrenamiento ruidosos a partir de las imágenes prístinas.denoisingImageDatastore Para especificar el rango de las desviaciones estándar de ruido gaussiana, establezca la propiedad.GaussianNoiseLevel Debe utilizar 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 denoising predefinidas mediante la función.dnCNNLayers

  • Defina las opciones de entrenamiento mediante la función.trainingOptions (Deep Learning Toolbox)

  • Entrene la red, especificando el almacén de datos de imagen de denoising como origen de datos para .trainNetwork (Deep Learning Toolbox) Para cada iteración de entrenamiento, el almacén de datos de imágenes de nodez genera un minilote de datos de entrenamiento recortando aleatoriamente imágenes prístinas de la, y luego agregando 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 denoising.

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

Entrenar completamente personalizado denoizando la red neuronal

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

  • Entrene una red que detecte una mayor variedad de ruido, como distribuciones de ruido no gaussianas, 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 las de 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)

    Después de entrenar una red de deslocalización mediante la arquitectura de red DnCNN, puede utilizar la función para eliminar el ruido de la imagen.denoiseImage

    Sugerencia

    La red DnCNN también puede detectar artefactos de imágenes de alta frecuencia causados por otros tipos de distorsión. Por ejemplo, puede entrenar la red DnCNN para aumentar la resolución de la imagen o eliminar artefactos de compresión JPEG. El ejemplo muestra cómo entrenar una red DnCNN para eliminar artefactos de compresión JPEGDesbloqueo de imágenes JPEG mediante aprendizaje profundo

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

    Después de entrenar una red de desenlace mediante una arquitectura de red personalizada, puede utilizar la función para aislar el ruido o los artefactos de alta frecuencia en una imagen distorsionada.activations (Deep Learning Toolbox) A continuación, reste el ruido de la imagen distorsionada para obtener una imagen desruido.

Consulte también

| | | | | | (Deep Learning Toolbox) | (Deep Learning Toolbox) | (Deep Learning Toolbox)

Ejemplos relacionados

Más acerca de