Simulación Matlab de reconocimiento de objetivos basada en la red neuronal convolucional CNN, la base de datos utiliza cifar-10

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

.......................................................................
%定义网络层
layers = [
    input_layers
    Cnn_layers
    ouput_layers
    ]

layers(2).Weights = 0.0001 * randn([filterSize numChannels numFilters]);

% 设置网络训练选项
opts = trainingOptions('sgdm', ...
    'Momentum', 0.9, ...
    'InitialLearnRate', 0.001, ...
    'LearnRateSchedule', 'piecewise', ...
    'LearnRateDropFactor', 0.1, ...
    'LearnRateDropPeriod', 8, ...
    'L2Regularization', 0.004, ...
    'MaxEpochs', 40, ...
    'MiniBatchSize', 128, ...
    'Verbose', true);
% 训练CIFAR-10分类网络
cifar10Net = trainNetwork(P_train, T_train, layers, opts);
% 提取第一个卷积层的权重
w          = cifar10Net.Layers(2).Weights;
% 将权重重新缩放到[0, 1]的范围以便更好地可视化
w          = rescale(w);

figure
montage(w)

% 在测试集上运行网络
YTest = classify(cifar10Net, P_test);

% 计算准确率
accuracy = sum(YTest == T_test)/numel(T_test)


figure;
for i = 1:49
subplot(7,7,i)
imshow(P_test(:,:,:,i));
title([YTest(i)]);

end

figure;
for i = 1:49
subplot(7,7,i)
imshow(P_test(:,:,:,i+49));
title([YTest(i+49)]);

end
52
 

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

      CNN es una arquitectura de red neuronal especialmente utilizada para el procesamiento de imágenes. Su núcleo es la capa convolucional, la capa de agrupación y la capa totalmente conectada. CNN utiliza operaciones de convolución y operaciones de agrupación para aprender automáticamente características en imágenes y luego asigna estas características a etiquetas de diferentes categorías a través de capas completamente conectadas para lograr la clasificación de imágenes y el reconocimiento de objetivos.

     La idea central de CNN es compartir el peso de los campos receptivos locales, es decir, el mismo núcleo de convolución realiza operaciones de convolución en diferentes posiciones de la imagen, reduciendo efectivamente la cantidad de parámetros de red y acelerando el proceso de entrenamiento. La capa convolucional extrae características de la imagen a través de una ventana deslizante y luego la capa de agrupación reduce la muestra de las características extraídas para reducir aún más la dimensión de los datos.

       En CNN, los filtros (núcleos de convolución) de cada capa convolucional pueden capturar diferentes características, como bordes, texturas, etc. A medida que la red se profundiza, la capa convolucional puede aprender características más abstractas, logrando así diferentes niveles de comprensión semántica en la imagen.

       La capa convolucional es la parte central de CNN, que extrae características de imágenes mediante operaciones de convolución. La operación de convolución se puede expresar mediante la siguiente fórmula matemática:

        La capa de agrupación se utiliza para reducir el tamaño del mapa de características y reducir la complejidad computacional. La agrupación máxima es una operación de agrupación de uso común y su fórmula matemática es: 

 

        Base de datos CIFAR-10: CIFAR-10 es una base de datos de clasificación de imágenes de uso común, que contiene 60.000 imágenes en color de 32x32 en 10 categorías, con 6.000 imágenes en cada categoría. Las categorías son: aviones, automóviles, pájaros, gatos, venados, perros, ranas, caballos, barcos y camiones.

Insertar descripción de la imagen aquí

 Características de la base de datos CIFAR-10:

  • El conjunto de datos es de tamaño moderado y adecuado para la verificación e investigación de algoritmos.
  • El tamaño de la imagen es más pequeño, 32x32 píxeles, lo que ayuda a acelerar el entrenamiento de la red.
  • Contiene múltiples categorías y es adecuado para tareas de clasificación de imágenes de múltiples categorías.

       Aplicación de CNN en la base de datos CIFAR-10: en la base de datos CIFAR-10, CNN se usa ampliamente para tareas de reconocimiento de objetivos. Los investigadores utilizan diferentes arquitecturas, hiperparámetros y técnicas de entrenamiento de CNN para lograr modelos de clasificación de imágenes de alto rendimiento. Al entrenar con el conjunto de datos CIFAR-10, CNN puede aprender automáticamente varias características y lograr una clasificación de imágenes precisa.

5. Ingeniería de programa completo de algoritmos.

OOOOO

OOO

oh

Supongo que te gusta

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