Simulación de matlab de reconocimiento de identidad facial basada en la red de aprendizaje profundo Googlenet

Tabla de contenido

1. Vista previa de las representaciones de operaciones del algoritmo.

2.Algoritmo que ejecuta la versión del software

3. Algunos programas básicos

4. Descripción general de la teoría de algoritmos

5. Ingeniería de programa completo de algoritmos.


1. Vista previa de las representaciones de operaciones del algoritmo.

2.Algoritmo que ejecuta la versión del software

matlab2022a

3. Algunos programas básicos

.....................................................................
% 定义修改的范围
Pixel_Range = [-30 30];
Scale_Range = [0.9 1.1];

% 现在修改图像
Image_Augmenter = imageDataAugmenter(...
    'RandXReflection', true, ...
    'RandXTranslation', Pixel_Range, ...
    'RandYTranslation', Pixel_Range,... 
     'RandXScale', Scale_Range, ...
     'RandYScale', Scale_Range);

% 调整图像以适应Googlenet的第1层
Augmented_Training_Image = augmentedImageDatastore(Input_Layer_Size(1:2), Training_Dataset, ...
    'DataAugmentation', Image_Augmenter);

Augmented_Validation_Image = augmentedImageDatastore(Input_Layer_Size(1:2),Validation_Dataset);



% 指定训练选项
Size_of_Minibatch = 5;
Validation_Frequency = floor(numel(Augmented_Training_Image.Files)/Size_of_Minibatch);
Training_Options = trainingOptions('sgdm',...
    'MiniBatchSize', Size_of_Minibatch, ...
    'MaxEpochs', 10,...
    'InitialLearnRate', 3e-4,...
    'Shuffle', 'every-epoch', ...
    'ValidationData', Augmented_Validation_Image, ...
    'ValidationFrequency', Validation_Frequency, ...
    'Verbose', false, ...
    'Plots', 'training-progress');

% 开始训练
net = trainNetwork(Augmented_Training_Image, Layer_Graph, Training_Options);
54

4. Descripción general de la teoría de algoritmos

      VGG fue propuesto por el famoso grupo de investigación vGG (Visual Geometry Group) de la Universidad de Oxford en 2014, y ganó el primer lugar en la tarea de localización (tarea de posicionamiento) y el segundo lugar en la tarea de clasificación (tarea de clasificación) en el concurso imageNet que año. El primer lugar en la tarea de clasificación es GoogleNet. GoogleNet es una estructura de red profunda desarrollada por Google. La razón por la que se llama "GoogLeNet" es para rendir homenaje a "LeNet". El reconocimiento de acciones y comportamientos humanos es una de las aplicaciones importantes en el campo de la visión por computadora y el aprendizaje profundo. En los últimos años, las redes de aprendizaje profundo han logrado resultados notables en el comportamiento humano y el reconocimiento de acciones.

1. Principio
1.1 Aprendizaje profundo y red neuronal convolucional (CNN)
       El aprendizaje profundo es una tecnología de aprendizaje automático que simula la conexión entre neuronas en el cerebro humano mediante la construcción de una red neuronal multicapa para realizar el aprendizaje de datos y la extracción de características. La red neuronal convolucional (CNN) es una estructura importante en el aprendizaje profundo, especialmente adecuada para tareas de reconocimiento de imágenes. Extrae y aprende las características de las imágenes capa por capa a través de capas convolucionales, capas de agrupación y capas completamente conectadas.

1.2 GoogLeNet
       GoogLeNet es una red neuronal convolucional profunda propuesta por Google en 2014. Introduce el módulo Inception para resolver los problemas de demasiados parámetros y una gran cantidad de cálculos en redes profundas. El módulo Inception utiliza núcleos de convolución de diferentes tamaños y operaciones de agrupación para extraer características en paralelo y luego las une para obtener una representación de características más rica.

Aspectos destacados de la red GoogLenet
1. Introdujo la estructura Inception (fusión de información de características de diferentes escalas)
2. Utilice un núcleo de convolución 1x1 para la reducción de dimensiones y el procesamiento de mapeo
3. Agregue dos clasificadores auxiliares para ayudar en el entrenamiento
4. Descarte la capa completamente conectada y use el Capa de agrupación promedio (reduce drásticamente los parámetros del modelo)

2. Proceso de implementación
2.1 Preprocesamiento de datos
      En la tarea de reconocimiento de tipo de mineral, primero es necesario preparar un conjunto de datos marcados, que incluya imágenes o cuadros de video de diferentes comportamientos. Luego, la imagen se preprocesa, incluido el cambio de tamaño, la normalización y otras operaciones de la imagen, para ingresarla a la red de aprendizaje profundo.

2.2 Construyendo un modelo de red
       El modelo GoogLeNet se puede construir a través de marcos de aprendizaje profundo como TensorFlow o PyTorch. La estructura básica del modelo incluye capas convolucionales, capas de agrupación, módulos de inicio y capas completamente conectadas. La red se puede modificar y personalizar según tareas específicas.

2.3 Entrada y entrenamiento de datos
       La imagen preprocesada se utiliza como entrada y la salida de la red se obtiene mediante propagación directa. Luego, al comparar con la etiqueta, la función de pérdida se calcula y se propaga hacia atrás para actualizar los parámetros de peso de la red. A través de múltiples iteraciones de capacitación, la red aprende gradualmente características y mejora las capacidades de reconocimiento.

2.4 Evaluación y ajuste del modelo
        Durante el proceso de capacitación, el conjunto de datos debe dividirse en un conjunto de capacitación, un conjunto de validación y un conjunto de prueba. Supervise el rendimiento del modelo a través del conjunto de validación y ajuste el modelo en función del rendimiento del conjunto de validación. Evalúe en el conjunto de prueba para obtener la precisión del reconocimiento del modelo en datos invisibles.

5. Ingeniería de programa completo de algoritmos.

OOOOO

OOO

oh

Supongo que te gusta

Origin blog.csdn.net/aycd1234/article/details/132587726
Recomendado
Clasificación