Simulación Matlab del algoritmo de reconocimiento de máscaras de personal basado en la red de aprendizaje profundo Alexnet

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

file_path1    =  'test\mask\';% 图像文件夹路径  

%获取测试图像文件夹下所有jpg格式的图像文件
img_path_list = dir(strcat(file_path1,'*.png'));
idx=0;%初始化索引
for i = 1:20%对每张测试图像进行预测并可视化
    idx           = idx+1; %索引+1
    II            = imread([file_path1,img_path_list(i).name]);%读取测试图像
    II            = imresize(II,[227 227]);%将测试图像大小缩放为预训练模型的输入大小
    Features      = activations(net,II,featureLayer,'OutputAs','rows'); %提取测试图像的特征
    II2           = predict(classifier,Features);%使用分类器对测试图像进行分类
    subplot(4,10,idx) %在第一行的左侧位置显示测试图像和分类结果
    disp(char(II2));%输出测试图像的分类结果
    imshow(II); %显示测试图像
    title(char(II2));%显示测试图像的分类结果
end


file_path1    =  'test\no mask\';% 图像文件夹路径  
img_path_list = dir(strcat(file_path1,'*.png'));%获取测试图像文件夹下所有jpg格式的图像文件
 
for i = 1:20%对每张测试图像进行预测并可视化
    idx           = idx+1;%索引+1
    II            = imread([file_path1,img_path_list(i).name]); %读取测试图像
    II            = imresize(II,[227 227]);%将测试图像大小缩放为预训练模型的输入大小
    Features      = activations(net,II,featureLayer,'OutputAs','rows');%提取测试图像的特征
    II2           = predict(classifier,Features); %使用分类器对测试图像进行分类
    subplot(4,10,idx)%在第一行的右侧位置显示测试图像和分类结果
    disp(char(II2)); %输出测试图像的分类结果
    imshow(II);%显示测试图像
    title(char(II2));%显示测试图像的分类结果
end
59    

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

       El algoritmo de reconocimiento de máscaras de personal es un problema de clasificación de imágenes basado en el aprendizaje profundo. En este problema, necesitamos detectar e identificar si una persona lleva una máscara en una imagen. Para solucionar este problema, podemos utilizar el modelo AlexNet, que es una red de aprendizaje profundo que se utiliza ampliamente en tareas de reconocimiento de imágenes.

Modelo AlexNet

         AlexNet es una red de aprendizaje profundo que consta de dos partes: una capa compartida y una capa de tarea específica. La capa compartida incluye 5 capas convolucionales (conv1 a conv5) y 3 capas completamente conectadas (fc6, fc7, fc8). Las capas específicas de la tarea incluyen una capa softmax (fc8) para clasificación y capas fc6-fc7-fc8 para regresión de posición. AlexNet utiliza ReLU como función de activación, abandono para evitar el sobreajuste y regularización L2 para mejorar la capacidad de generalización del modelo.

Algoritmo de reconocimiento de máscara de personal

       Podemos aplicar el modelo AlexNet a la tarea de reconocimiento de máscaras de personas. Primero, necesitamos recopilar un conjunto de datos que contenga imágenes de personas con y sin máscaras. Luego usamos el modelo AlexNet para entrenar y probar las imágenes.

         Durante la fase de entrenamiento, alimentamos las imágenes de entrada y las etiquetas correspondientes (enmascaradas o no) en el modelo AlexNet. La salida del modelo es un valor de probabilidad que representa la probabilidad de que la imagen lleve una máscara o no. Utilizamos una función de pérdida de entropía cruzada y un optimizador de descenso de gradiente estocástico (SGD) para actualizar los parámetros del modelo y minimizar la diferencia entre los valores predichos y reales.

        En la fase de prueba, introducimos la imagen de entrada en el modelo AlexNet ya entrenado y generamos los resultados de la predicción. Si el resultado de la predicción es mayor que un cierto umbral, determinamos que lleva máscara; de lo contrario, determinamos que no usa máscara.

Las siguientes son algunas fórmulas centrales del modelo AlexNet:

  1. La fórmula de cálculo del tamaño de salida de la capa convolucional es: O = (I − F + 2P) / S + 1, donde I es el tamaño de entrada, F es el tamaño del núcleo de convolución, P es el tamaño del relleno y S es el paso. tamaño.
  2. La fórmula de la función de activación de ReLU: f(x)=max(0,x).
  3. La fórmula de la función de pérdida de entropía cruzada: L=−∑i=1N​yi​log(yi​^​)+(1−yi​)log(1−yi​^​), donde N es el número de muestras y y es la etiqueta verdadera, y^​ es la etiqueta prevista.
  4. La fórmula del optimizador SGD: θ = θ − η∇L (θ), donde θ es el parámetro, eta es la tasa de aprendizaje y ∇L (θ) es el gradiente de la función de pérdida.

        Los modelos de aprendizaje profundo funcionan aprendiendo la relación de mapeo desde la entrada hasta la salida. En este proceso, el modelo aprenderá algunas representaciones de características útiles, lo que le permitirá comprender y predecir mejor las propiedades de los datos de entrada. En la tarea de reconocimiento de máscara de persona, el modelo AlexNet puede identificar con precisión si una persona usa una máscara aprendiendo la relación de mapeo de la imagen con la probabilidad de usar una máscara o no.

5. Ingeniería de programa completo de algoritmos.

OOOOO

OOO

oh

Supongo que te gusta

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