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.
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.
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.PatchSize
50
ChannelFormat
'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.
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.transform
combine
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.
combine
| denoiseImage
| denoisingImageDatastore
| denoisingNetwork
| dnCNNLayers
| transform
| activations
(Deep Learning Toolbox) | trainingOptions
(Deep Learning Toolbox) | trainNetwork
(Deep Learning Toolbox)