Basado en la GUI del sistema de algoritmo de detección de objetivos de aprendizaje profundo de Matlab, objetivo único, detección de objetivos múltiples

        El aprendizaje profundo es un poderoso método de aprendizaje automático que se puede usar para entrenar detectores de objetos robustos. Existen varios métodos para la detección de objetos, incluido Faster R-CNN y ¡solo miras una vez (YOLO) v2! El autor de este artículo integra sistemas de objetivo único y objetivo múltiple en uno, y solo necesita reemplazar el objetivo del conjunto de datos, que es simple y conveniente, ¡y todas las operaciones se pueden completar a través del botón visual! 

        El sistema admite la detección de diversos objetos, entre ellos: cascos, automóviles, humo de fuego, señales de tráfico, fatiga al conducir, máscaras, vehículos, peatones, defectos de acero, grietas, pastilleros, matrículas, rostros, luces de señalización, etc.

        Con la aplicación a gran escala del aprendizaje profundo en el campo de la detección de objetivos, la precisión y la velocidad de la tecnología de detección de objetivos se han mejorado rápidamente y se ha utilizado ampliamente en la detección de peatones, detección de rostros, detección de texto, señales de tráfico y señales luminosas. detección y detección de imágenes de teledetección.. Este documento resume los métodos de detección de objetivos basados ​​​​en la investigación de la literatura relevante en el país y en el extranjero. Primero, el estado de investigación del campo de detección de objetivos, los conjuntos de datos y los indicadores de rendimiento para probar la detección de objetivos algoritmo son introducidos Se describen en detalle la arquitectura del proceso, el efecto de rendimiento, las ventajas y desventajas de algunos algoritmos típicos del algoritmo de detección, el algoritmo de detección de objetivos de dos etapas basado en la propuesta de región y el algoritmo de detección de objetivos de una etapa basado en el análisis de regresión, y algunos También se agregan las novedades emergentes en los últimos años.Finalmente, se explican algunos escenarios de aplicación comunes de detección de objetivos y se analiza la tendencia de desarrollo futuro en combinación con los puntos críticos de investigación actuales.

         ¡Sistema altamente integrado! ¡Puede completar el entrenamiento y la detección con operaciones tontas y admitir métodos de reconocimiento y carga de imágenes y videos!

Una descripción general de la detección de objetivos 

        Antes de que los métodos de aprendizaje profundo se aplicaran al campo de la detección de objetivos, el campo de la detección de objetivos se desarrolló lentamente. En la tarea de clasificación de ImageNet[2] en 2012, la aplicación de redes neuronales convolucionales mejoró en gran medida el efecto de las tareas de clasificación de imágenes. Bajo esta promoción , Girshick et al. [3] utilizaron regiones con características de CNN (R-CNN) en el campo de la detección de objetivos por primera vez y lograron una gran mejora en el efecto de detección.Desde entonces, la combinación de aprendizaje profundo y detección de objetivos tareas ha hecho detección de objetivos El campo ha comenzado a desarrollarse rápidamente y ha sido ampliamente utilizado en la práctica.La detección de objetos tiene amplias perspectivas de aplicación y ha logrado buenos resultados en los campos de monitoreo y seguridad, conducción automática, detección de detección remota e imagen médica detección de lesiones.

2. Cargue el conjunto de datos

        ¡Simplemente coloque el xml del conjunto de datos especificado y las imágenes en el directorio correspondiente y luego haga clic en la selección de datos!

% Display first few rows of the data set.
vehicleDataset(1:4,:)

shuffledIndices = randperm(height(vehicleDataset));
idx = floor(0.6 * length(shuffledIndices) );

trainingIdx = 1:idx;
trainingDataTbl = vehicleDataset(shuffledIndices(trainingIdx),:);

validationIdx = idx+1 : idx + 1 + floor(0.1 * length(shuffledIndices) );
validationDataTbl = vehicleDataset(shuffledIndices(validationIdx),:);

testIdx = validationIdx(end)+1 : length(shuffledIndices);
testDataTbl = vehicleDataset(shuffledIndices(testIdx),:);

3. Crear detección de objetivos

La función crea automáticamente redes de detección de objetivos como YOLO y RCNN basadas en la red de extracción de características ResNet-50 entrenada previamente.

  • tamaño de entrada de red
  • caja de ancla
  • Red de extracción de características

        Primero, especifique el tamaño de entrada de la red y el número de clases. Al elegir un tamaño de entrada de red, considere el tamaño mínimo requerido por la propia red, el tamaño de las imágenes de entrenamiento y el costo computacional de procesar los datos según el tamaño elegido. Si es factible, elija un tamaño de entrada de red que esté cerca del tamaño de la imagen de entrenamiento y más grande que el tamaño de entrada requerido por la red. Para reducir el costo computacional de ejecutar el ejemplo, especifique un tamaño de entrada de red de [224 224 3], que es el tamaño mínimo requerido para ejecutar la red.

Cuarto, mejora de datos

% Visualize the augmented images.
augmentedData = cell(4,1);
for k = 1:4
    data = read(augmentedTrainingData);
    augmentedData{k} = insertShape(data{1},'Rectangle',data{2});
    reset(augmentedTrainingData);
end
figure
montage(augmentedData,'BorderSize',10)

5. Detector de objetos de entrenamiento

        Utilice las  trainingOptions opciones de entrenamiento de red especificadas. Se  'ValidationData' establecerá en datos de validación preprocesados. se  'CheckpointPath' establecerá en una ubicación temporal. Esto ahorra un detector parcialmente entrenado durante el entrenamiento. Si el entrenamiento se interrumpe debido, por ejemplo, a un corte de energía o falla del sistema, puede reanudar el entrenamiento desde el punto de control guardado.

options = trainingOptions('sgdm', ...
        'MiniBatchSize',16, ....
        'InitialLearnRate',1e-3, ...
        'MaxEpochs',20, ... 
        'CheckpointPath',tempdir, ...
        'ValidationData',preprocessedValidationData);

6. Use el equipo de prueba para evaluar el detector

        Evalúe el detector de objetos entrenado en una gran cantidad de imágenes para medir su rendimiento. Computer Vision Toolbox™ proporciona funciones de evaluación de detectores de objetos para medir métricas comunes como la precisión promedio ( evaluateDetectionPrecision) y la detección de fugas de promedio logarítmico ( evaluateDetectionMissRate). Para este ejemplo, la métrica de precisión promedio se usa para evaluar el rendimiento. La precisión promedio proporciona un número único que combina la capacidad del detector para clasificar correctamente (precisión) y la capacidad del detector para encontrar todos los objetos relevantes (recuperación). Aplique la misma transformación de preprocesamiento aplicada a los datos de entrenamiento a los datos de prueba. Tenga en cuenta que el aumento de datos no se aplica a los datos de prueba. Los datos de prueba deben ser representativos de los datos originales y permanecer sin cambios para una evaluación imparcial.

figure
plot(recall,precision)
xlabel('Recall')
ylabel('Precision')
grid on
title(sprintf('Average Precision = %.2f',ap))

 7. prueba

        ¡Puedes elegir fotos y videos, altamente integrados! ¡Operación simple!

como la detección de vehículos,


Para obtener más información, haga clic en : 1341703358 .  La tecnología de detección de objetivos basada en el aprendizaje profundo se ha convertido en una dirección popular en el campo de la visión por computadora debido a sus enormes ventajas, como una fuerte capacidad de generalización, un efecto sobresaliente en escenas complejas y amplias posibilidades de aplicación.Detección de peatones, detección de rostros, detección de texto, La detección de señales de tráfico y semáforos y la detección de imágenes de detección remota son escenarios de aplicación comunes para la detección de objetivos.Al comparar diferentes algoritmos de detección de objetivos, se puede ver que el algoritmo de detección de objetivos de dos etapas primero usa el algoritmo para extraer el área candidata y luego el objetivo del marco candidato Se realiza la segunda corrección, que tiene alta precisión y posicionamiento preciso, pero el entrenamiento es complejo y computacionalmente costoso, y es difícil lograr la detección en tiempo real; el algoritmo de detección de objetivos de una sola etapa no tiene un candidato proceso de recomendación de región, y la categoría de objetivo se puede determinar y posicionar en una etapa. El modelo es simple y la velocidad es rápida, pero la precisión de detección de objetivos pequeños y objetivos densos debe mejorarse. En los últimos años, la detección de objetivos de video, La detección de objetivos salientes y la detección de objetivos basada en GAN tienen un buen impulso de desarrollo. Los nuevos algoritmos de detección de objetivos como NASFPN, EfficientDet, YOLOF, etc. también brindan nuevas ideas para el desarrollo del campo de la detección de objetivos. estudio de la tecnología de detección de objetivos basada en el aprendizaje profundo, se cree que su campo de aplicación será más extenso y traerá mayores beneficios para la supervivencia y el desarrollo de los seres humanos.

Supongo que te gusta

Origin blog.csdn.net/Jiangtagong/article/details/124250723
Recomendado
Clasificación