¿Qué es el reconocimiento de imágenes?
3 cosas que es necesario saber
3 cosas que es necesario saber
El reconocimiento de imágenes es el proceso de identificar un objeto o una característica en una imagen o un vídeo. Se utiliza en numerosas aplicaciones, como detección de defectos, gestión de imágenes médicas y vigilancia de la seguridad.
El reconocimiento de imágenes puede acelerar tareas tediosas y procesar imágenes más rápido o con mayor precisión que la inspección manual de imágenes. El reconocimiento de imágenes es una técnica fundamental en muchas aplicaciones y es el principal elemento impulsor en aplicaciones de Deep Learning, tales como:
El reconocimiento de imágenes es la tecnología principal en la que se basan estas aplicaciones. Identifica objetos o escenas en imágenes y utiliza esa información para tomar decisiones como parte de un sistema más amplio. Básicamente, el reconocimiento de imágenes proporciona información a estos sistemas y les permite tomar mejores decisiones.
El reconocimiento de imágenes y la detección de objetos son técnicas similares que a menudo se utilizan juntas. El reconocimiento de imágenes identifica objetos o escenas en una imagen; la detección de objetos busca instancias y ubicaciones de esos objetos en las imágenes.
En la detección de objetos se suelen utilizan las técnicas Faster R-CNN y YOLOv3.
Reconocimiento de imágenes (izquierda) y detección de objetos (derecha).
Existen muchos métodos de reconocimiento de imágenes, incluidas técnicas de Machine Learning y Deep Learning. La técnica que se emplea depende de la aplicación, pero, en general, cuanto más complejo el problema, más probable el uso de técnicas de Deep Learning.
Un enfoque de Deep Learning aplicado al reconocimiento de imágenes puede implicar el uso de una red neuronal convolucional para aprender automáticamente las características relevantes de las imágenes de muestra e identificar automáticamente esas características en nuevas imágenes.
Flujo de trabajo típico de Deep Learning para reconocimiento de imágenes:
Preparación de datos de entrenamiento: Comience con un conjunto de imágenes y compílelas en las categorías correspondientes. Este paso también puede incluir tareas de preprocesamiento para mejorar la consistencia de las imágenes y lograr así un modelo más preciso.
Creación de un modelo de Deep Learning: Aunque se puede desarrollar un modelo de Deep Learning desde cero, puede ser mejor utilizar un modelo previamente entrenado como punto de partida para la aplicación en cuestión. Obtenga más información sobre modelos previamente entrenados.
Entrenamiento del modelo: Entrenar el modelo implica presentar los datos de prueba al modelo. Luego, el modelo realiza varias iteraciones de los datos y aprende automáticamente las características más importantes de las imágenes. A medida que se desarrolla el entrenamiento, el modelo aprende características más sofisticadas, hasta que logra distinguir con precisión las diferentes clases de imágenes en un conjunto de entrenamiento.
Datos de prueba: Pruebe el modelo con datos nuevos que no se hayan analizado antes para ver cómo el modelo interpreta la imagen. Si los resultados no son los que esperaba, repita estos cuatro pasos hasta alcanzar un nivel aceptable de precisión.
Las técnicas de Deep Learning parecen complicadas, pero aprender con ejemplos sencillos es una excelente manera de iniciarse en este campo.
Consejo: Las técnicas de Deep Learning son muy utilizadas en reconocimiento de imágenes, porque proporcionan resultados sumamente precisos y robustos. Deep Learning tiende a funcionar mejor con una gran cantidad de datos de entrenamiento. Técnicas como la transferencia del aprendizaje pueden simplificar el flujo de trabajo de reconocimiento de imágenes. Deep Learning Toolbox™ proporciona un marco para diseñar e implementar redes neuronales profundas con algoritmos, modelos previamente entrenados y apps.
Un enfoque de Machine Learning aplicado al reconocimiento de imágenes implica identificar y extraer características clave de las imágenes y utilizarlas como entrada para un modelo de Machine Learning.
Puede utilizar diversos algoritmos de Machine Learning y métodos de extracción de características, que ofrecen muchas combinaciones para crear un modelo de reconocimiento de objetos preciso.
Ejemplo de Machine Learning con reconocimiento de imágenes para clasificar dígitos utilizando características HOG y un clasificador SVM.
Consejo: Utilizar Machine Learning para reconocimiento de objetos ofrece la flexibilidad de seleccionar la mejor combinación de características y clasificadores para el aprendizaje. Puede obtener resultados precisos con una cantidad mínima de datos. Statistics and Machine Learning Toolbox™ proporciona funciones y apps para describir, analizar y modelar datos.
Reconocimiento de imágenes: comparación entre Deep Learning y Machine Learning
¿Cómo elegir entre Deep Learning o Machine Learning para reconocimiento de imágenes? A grandes rasgos, la diferencia radica en seleccionar características manualmente con Machine Learning o aprenderlas automáticamente con Deep Learning.
Aparte de Deep Learning y Machine Learning, muchos métodos clásicos de procesamiento de imágenes son muy efectivos en el reconocimiento de imágenes para algunas aplicaciones. Las técnicas de procesamiento de imágenes tienden a adecuarse bien a aplicaciones de reconocimiento “basadas en el píxel”, tales como:
MATLAB® simplifica los aspectos más difíciles del reconocimiento de imágenes.
Datos limpios y preprocesados garantizan la mayor probabilidad de éxito en el reconocimiento de imágenes. Con la app Image Labeler puede automatizar el proceso de recorte y etiquetado de imágenes.
Al principio, tal vez no tenga claro si conviene utilizar técnicas de Deep Learning o Machine Learning. MATLAB ofrece la posibilidad de probar todas las combinaciones de enfoques. Explore modelos previamente entrenados para Deep Learning, o algoritmos de clasificación de Machine Learning.
Puede interoperar con redes y arquitecturas de red de marcos como TensorFlow™, Keras, PyTorch y Caffe2 utilizando las prestaciones de importación y exportación de ONNX™ (Open Neural Network Exchange).
En última instancia, es posible que el algoritmo tenga que funcionar fuera del entorno de escritorio. MATLAB proporciona herramientas de generación de código para desplegar el algoritmo de reconocimiento de imágenes en cualquier lugar: web, hardware integrado o servidores de producción.
Después de crear los algoritmos, puede utilizar flujos de trabajo automatizados para generar código de TensorRT o CUDA® con GPU Coder™ para pruebas de hardware-in-the-loop. El código generado se puede integrar con proyectos existentes y se puede utilizar para verificar algoritmos de detección de objetos en GPU de escritorio o GPU integradas, tales como las plataformas NVIDIA® Jetson o NVIDIA Drive.
Amplíe sus conocimientos con documentación, ejemplos, vídeos y mucho más.
Explore áreas temáticas similares comúnmente asociadas con productos de MATLAB y Simulink.
30 días de exploración a su alcance
Más informaciónSeleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: United States.
También puede seleccionar uno de estos países/idiomas:
Cómo obtener el mejor rendimiento
Seleccione China (en idioma chino o inglés) para obtener el mejor rendimiento. Los sitios web de otros países no están optimizados para ser accedidos desde su ubicación geográfica.
América
Europa
Reconocimiento de imágenes en una aplicación de inspección visual para detectar defectos de piezas.
Flujo de trabajo de Machine Learning para reconocimiento de imágenes.
Ejemplo de Machine Learning con reconocimiento de imágenes para clasificar dígitos utilizando características HOG y un clasificador SVM.
Etiquete imágenes y vídeos de manera interactiva.
Integración con marcos basados en Python.