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.

RegularStepGradientDescent

Configuración regular del optimizador de descenso de gradiente de paso

Descripción

Un objeto describe una configuración de optimización de descenso de degradado de paso regular que se pasa a la función para resolver problemas de registro de imágenes.RegularStepGradientDescentimregister

Creación

Puede crear un objeto utilizando los métodos siguientes:RegularStepGradientDescent

  • — Devuelve un objeto emparejado con una métrica adecuada para registrar imágenes monomodalesimregconfigRegularStepGradientDescent

  • Al introducir en la línea de comandos se crea un objeto con la configuración predeterminada

    metric = registration.optimizer.RegularStepGradientDescent;
    RegularStepGradientDescent

Propiedades

expandir todo

Tolerancia de magnitud de degradado, especificada como escalar positiva. controla el proceso de optimización.GradientMagnitudeTolerance Cuando el valor del degradado es menor que , es una indicación de que el optimizador podría haber alcanzado una meseta.GradientMagnitudeTolerance

Tipos de datos: double | single | uint8 | uint16 | uint32 | uint64 | int8 | int16 | int32 | int64

Tolerancia a la convergencia, especificada como escalar positiva. controla la precisión de la convergencia.MinimumStepLength Si establece un valor pequeño, la optimización tarda más en calcularse, pero es probable que converja en un valor de métrica más preciso.MinimumStepLength

Tipos de datos: double | single | uint8 | uint16 | uint32 | uint64 | int8 | int16 | int32 | int64

Longitud del paso inicial, especificada como escalar positivo. La longitud del paso inicial es la longitud máxima del paso porque el optimizador reduce el tamaño del paso durante la convergencia. Si establece en un valor grande, el tiempo de cálculo disminuye.MaximumStepLength Sin embargo, es posible que el optimizador no converja si se establece en un valor demasiado grande.MaximumStepLength

Tipos de datos: double | single | uint8 | uint16 | uint32 | uint64 | int8 | int16 | int32 | int64

Número máximo de iteraciones, especificado como un escalar entero positivo. es un valor entero escalar positivo que determina el número máximo de iteraciones que realiza el optimizador en un nivel de pirámide determinado.MaximumIterations El registro podría converger antes de que el optimizador alcance el número máximo de iteraciones.

Tipos de datos: double | single | uint8 | uint16 | uint32 | uint64 | int8 | int16 | int32 | int64

Factor de reducción de longitud de paso, especificado como un escalar positivo entre 0 y 1. define la velocidad a la que el optimizador reduce el tamaño del paso durante la convergencia.RelaxationFactor Cada vez que el optimizador determina que la dirección del degradado ha cambiado, reduce el tamaño de la longitud del paso. Si la métrica es de sacia, puede establecer un valor mayor.RelaxationFactor Esto conduce a una convergencia más estable a expensas del tiempo de cálculo.

Tipos de datos: double | single | uint8 | uint16 | uint32 | uint64 | int8 | int16 | int32 | int64

Ejemplos

contraer todo

Crea un objeto y úsalo para registrar dos imágenes con un brillo y un contraste similares.RegularStepGradientDescent

Lea la imagen de referencia y cree una copia no registrada.

fixed  = imread('pout.tif'); moving = imrotate(fixed, 5, 'bilinear', 'crop');

Vea las imágenes desalineadas.

figure imshowpair(fixed, moving,'Scaling','joint');

Cree el objeto de configuración del optimizador adecuado para registrar imágenes monomodales.

optimizer = registration.optimizer.RegularStepGradientDescent
optimizer =    registration.optimizer.RegularStepGradientDescent    Properties:     GradientMagnitudeTolerance: 1.000000e-04              MinimumStepLength: 1.000000e-05              MaximumStepLength: 6.250000e-02              MaximumIterations: 100               RelaxationFactor: 5.000000e-01 

Cree el objeto de configuración de métricas.

metric = registration.metric.MeanSquares;

Modifique la configuración del optimizador para obtener más precisión.

optimizer.MaximumIterations = 300; optimizer.MinimumStepLength = 5e-4;

Realice el registro.

movingRegistered = imregister(moving,fixed,'rigid',optimizer,metric);

Ver las imágenes registradas.

figure imshowpair(fixed, movingRegistered,'Scaling','joint');

Algoritmos

La optimización de descenso de degradado de paso regular ajusta los parámetros de transformación para que la optimización siga el degradado de la métrica de similitud de imagen en la dirección del extremo. Utiliza pasos de longitud constante a lo largo del degradado entre cálculos hasta que el degradado cambia de dirección. En este punto, la longitud del paso se reduce en función de la , que reduce a la mitad la longitud del paso de forma predeterminada.RelaxationFactor

Introducido en R2012a