18 Proyectos Clásicos de Visión por Computadora de Código Abierto para Principiantes

Visión general

  • Los proyectos de visión por computadora de código abierto son un gran segway para aterrizar un papel en la industria del aprendizaje profundo
  • Comience a trabajar en estos 18 proyectos de visión por computadora de código abierto clásicos y populares

Introducción

Las aplicaciones de visión por computadora son ubicuas en este momento. Honestamente, no puedo recordar la última vez que pasé un día entero sin encontrar o interactuar con al menos un caso de uso de visión artificial (¡hola, reconocimiento facial en mi teléfono!).

Pero aquí está la cosa: las personas que quieren aprender visión artificial tienden a quedarse atascadas en los conceptos teóricos. ¡Y ese es el peor camino que puedes tomar! Para aprender y dominar de verdad la visión artificial, necesitamos combinar la teoría con la experiencia práctica.

Y ahí es donde entran en juego los proyectos de visión computarizada de código abierto. No necesita gastar un centavo para practicar sus habilidades de visión por computadora, ¡puede hacerlo sentado justo donde está ahora mismo!

 proyectos de visión por ordenador de código abierto

En este artículo, he reunido y creado una lista de proyectos de Visión por Ordenador de código abierto basados en las diversas aplicaciones de la visión por ordenador. Hay MUCHO por recorrer y esta es una lista bastante completa, ¡así que vamos a profundizar!

Si es completamente nuevo en la visión artificial y el aprendizaje profundo y prefiere aprender en forma de video, eche un vistazo a esto:

  • Visión artificial mediante Aprendizaje profundo 2.0

Los 18 Proyectos de Visión Computarizada de Código Abierto se Dividen en estas Categorías:

  • Clasificación de imágenes
  • Reconocimiento Facial
  • Transferencia de Estilo Neural Mediante GANs
  • Detección de Texto de Escena
  • Detección de Objetos Con DETR
  • Segmentación Semántica
  • Detección de Carriles de Carretera en Vehículos Autónomos
  • Subtitulado de imágenes
  • Proyectos de Estimación de Pose Humana
  • Reconocimiento de emociones a través de Expresiones Faciales

Proyectos de Visión por Computadora de Código abierto para Clasificación de Imágenes

La clasificación de imágenes es una tarea fundamental en la visión por computadora. Aquí, el objetivo es clasificar una imagen asignándole una etiqueta específica. Es fácil para nosotros, los humanos, comprender y clasificar las imágenes que vemos. Pero el caso es muy diferente para una máquina. Es una tarea onerosa para una máquina diferenciar entre un automóvil y un elefante.

Estos son dos de los proyectos de código abierto más destacados para la clasificación de imágenes:

  1. Cifar 10

    El conjunto de datos CIFAR-10 es una colección de imágenes que se utilizan comúnmente para entrenar algoritmos de aprendizaje automático y visión por computadora. Es uno de los conjuntos de datos más populares para la investigación de aprendizaje automático. Contiene 60.000 imágenes en color de 32×32 en 10 clases diferentes. Las clases representan aviones, automóviles, pájaros, gatos, ciervos, perros, ranas, caballos, barcos y camiones.

  2. ImageNet

    El conjunto de datos de ImageNet es una gran base de datos visual para su uso en la investigación de visión artificial. El proyecto ha anotado a mano más de 14 millones de imágenes para indicar qué objetos se muestran y, en al menos un millón de imágenes, también se proporcionan cuadros delimitadores. ImageNet contiene más de 20.000 categorías!

Como principiante, puede comenzar con una red neuronal desde cero usando Keras o PyTorch. Para obtener mejores resultados y aumentar el nivel de aprendizaje, recomendaré el uso de transferencia de aprendizaje a través de modelos preentrenados como VGG – 16, Restnet-50, Googlenet, etc.

 proyectos de visión por ordenador de código abierto -

Recomiendo leer el siguiente artículo para saber más sobre la clasificación de imágenes:

  • Los 4 mejores Modelos Preentrenados para la Clasificación de Imágenes con Código Python

También sugiero revisar los siguientes documentos para una mejor comprensión de la clasificación de imágenes:

  • Clasificación de ImageNet con Redes Neuronales Convolucionales Profundas
  • Profundizar con Convoluciones
  • Aprendizaje Residual Profundo para Reconocimiento de Imágenes

Proyectos de Visión por Computadora de Código abierto para Reconocimiento Facial

El reconocimiento facial es una de las aplicaciones prominentes de la visión por computadora. Se utiliza para la seguridad, la vigilancia o para desbloquear sus dispositivos. Es la tarea de identificar las caras en una imagen o video contra una base de datos preexistente. Podemos usar métodos de aprendizaje profundo para aprender las características de las caras y reconocerlas.

Es un proceso de varias etapas, que consta de los siguientes pasos:

  1. Detección de rostros: Es el primer paso y consiste en localizar una o más caras presentes en la imagen o vídeo de entrada.
  2. Alineación de caras: La alineación normaliza las caras de entrada para que sean geométricamente coherentes con la base de datos.Extracción de entidades
  3. : Más adelante, se extraen entidades que se pueden usar en la tarea de reconocimiento.Reconocimiento de entidades
  4. : Haga coincidir las entidades de entrada con la base de datos.

Los siguientes conjuntos de datos de código abierto le darán una buena exposición al reconocimiento facial-

  1. MegaFace

    MegaFace es un conjunto de datos de entrenamiento de reconocimiento facial público a gran escala que sirve como uno de los puntos de referencia más importantes para problemas de reconocimiento facial comercial. Incluye 4.753.320 caras de 672.057 identidades

  2. Labeled faces in wild home

    Labeled Faces in the Wild (LFW) es una base de datos de fotografías faciales diseñada para estudiar el problema del reconocimiento facial sin restricciones. Cuenta con 13.233 imágenes de 5.749 personas que fueron detectadas y recogidas de la web. Además, 1.680 de las personas en la foto tienen dos o más fotos distintas en el conjunto de datos.

además, para tomar el proyecto en una etapa avanzada, usted puede utilizar pre-modelos entrenados como Facenet.

Facenet es un modelo de aprendizaje profundo que proporciona incrustaciones unificadas para tareas de reconocimiento facial, verificación y agrupación en clústeres. La red mapea cada imagen de cara en el espacio euclidiano de tal manera que la distancia entre imágenes similares es menor.

 proyectos de visión por ordenador de código abierto-facenet

Source

Puede utilizar fácilmente modelos Facenet preentrenados disponibles en Keras y PyTorch para crear su propio sistema de reconocimiento facial.

Hay más modelos de reconocimiento facial de última generación disponibles con los que puede experimentar. Deepface es una red basada en CNN desarrollada por investigadores de Facebook. Fue un hito importante en el uso del aprendizaje profundo en una tarea de reconocimiento facial.

Para comprender mejor el desarrollo de la tecnología de reconocimiento facial en los últimos 30 años, le animo a leer un artículo interesante titulado:

  • Reconocimiento Facial Profundo: Una Encuesta

Proyectos de Visión por Computadora de Código abierto para Transferencia de Estilo Neural Utilizando GANs

La transferencia de estilo Neural es una tecnología de visión por computadora que recrea el contenido de una imagen en el estilo de la otra imagen. Es una aplicación de una Red de Adversarios Generativos (GAN). Aquí, tomamos dos imágenes: una imagen de contenido y un estilo de imagen de referencia y fusionarlos para que la salida de la imagen se parece a una imagen de contenido pintado en el estilo de la imagen de referencia.

Esto se implementa optimizando las estadísticas de contenido de la imagen de salida que coinciden con la Imagen de contenido y las estadísticas de estilo con la imagen de referencia de estilo.

 Proyectos de Visión Computarizada de Código Abierto: Transferencia de Estilo Neuronal Mediante GANs

Source

Aquí está la lista de algunos conjuntos de datos impresionantes para practicar:

  1. COCO dataset

    ” COCO es un conjunto de datos de detección, segmentación y subtítulos de objetos a gran escala. Las imágenes del conjunto de datos son objetos cotidianos capturados de escenas cotidianas. Además, proporciona etiquetado de objetos múltiples, anotaciones de máscara de segmentación, subtítulos de imágenes y detección de puntos clave con un total de 81 categorías, lo que lo convierte en un conjunto de datos muy versátil y polivalente.

  2. ImageNet

    1. ya Hemos mencionado aquí arriba – ImageNet es increíblemente flexible!

En caso de que se pregunte cómo implementar el modelo de transferencia de estilo, aquí hay un tutorial de TensorFlow que puede ayudarlo. Además, le sugeriré que lea los siguientes documentos si desea profundizar en la tecnología:

  • Una Representación Aprendida Para Estilo Artístico
  • Traducción de Imagen a Imagen Sin Emparejar utilizando Redes Adversarias Consistentes en Ciclos
  • Transferencia de Estilo de imagen Utilizando Redes Neuronales Convolucionales

Proyectos de Visión por Computadora de Código Abierto para Detección de Texto de Escena

La detección de texto en cualquier escena dada es otro problema muy interesante. El texto de escena es el texto que aparece en las imágenes capturadas por una cámara en un entorno al aire libre. Por ejemplo, placas de matrícula de automóviles en las carreteras, vallas publicitarias en el borde de la carretera, etc.

El texto de las imágenes de escena varía en forma, fuente, color y posición. La complicación en el reconocimiento del texto de la escena aumenta aún más por la iluminación y el enfoque no uniformes.

 Proyectos de Visión Computarizada de Código abierto: Detección de Texto de escena

Los siguientes conjuntos de datos populares le ayudarán a enriquecer sus habilidades para analizar la Detección de Texto de escena:

  1. SVHN

    El conjunto de datos de Números de casa de Street View (SVHN) es uno de los conjuntos de datos de código abierto más populares que existen. Se ha utilizado en redes neuronales creadas por Google para leer números de casas y compararlos con sus geolocalizaciones. Este es un gran conjunto de datos de referencia para jugar, aprender y entrenar modelos que identifican con precisión los números de las calles. Este conjunto de datos contiene más de 600 mil imágenes etiquetadas del mundo real de números de casas tomadas de Google Street View.

  2. Conjunto de datos SceneText

    El conjunto de datos scene text consta de 3000 imágenes capturadas en diferentes entornos, incluidas escenas exteriores e interiores bajo diferentes condiciones de iluminación. Las imágenes se capturaban con una cámara digital de alta resolución o con una cámara de teléfono móvil de baja resolución. Además, todas las imágenes han sido redimensionadas a 640×480.

Además, la detección de texto de escena es un proceso de dos pasos que consiste en la Detección de texto en la imagen y el reconocimiento de texto. Para la detección de texto, encontré un método de aprendizaje profundo de última generación EAST (Detector de Texto de Escena Preciso Eficiente). Puede encontrar cajas delimitadoras horizontales y giradas. Puede usarlo en combinación con cualquier método de reconocimiento de texto.

Aquí hay algunos otros documentos interesantes sobre la detección de texto en escena:

  • Detección de Texto en Imagen Natural con Connectionist Text Proposal Network
  • COCO-Text: Conjunto de datos y Punto de Referencia para la Detección y el Reconocimiento de Texto en Imágenes Naturales

Proyectos de Visión por Ordenador de código abierto para la Detección de Objetos con DETR

La detección de objetos es la tarea de predecir cada objeto de interés presente en la imagen a través de un cuadro delimitador junto con las etiquetas adecuadas en ellos.

Hace unos meses, Facebook abrió su marco de detección de objetos: Transformador de detección (DETR). DETR es una solución eficiente e innovadora para problemas de detección de objetos. Agiliza la canalización de entrenamiento al ver la detección de objetos como un problema de predicción de conjunto directo. Además, adopta una arquitectura codificador-decodificador basada en transformadores.

 Proyectos de Visión por Computadora de Código abierto: Detección de Objetos Con DETR

Para saber más sobre DERT, aquí está el cuaderno de papel y Colab.

Diversifique su cartera trabajando en los siguientes conjuntos de datos de código abierto para la detección de objetos:

  1. Open Images

    Open Image es un conjunto de datos de ~9 MILLONES de imágenes anotadas con etiquetas de nivel de imagen, cuadros delimitadores de objetos, máscaras de segmentación de objetos, relaciones visuales y narrativas localizadas. El conjunto de datos se divide en un conjunto de entrenamiento (9.011.219 imágenes), un conjunto de validación (41.620 imágenes) y un conjunto de pruebas (125.436 imágenes).

  2. MS-COCO

    MS-COCO es un conjunto de datos a gran escala utilizado popularmente para problemas de detección de objetos. Consta de 330 mil imágenes con 80 categorías de objetos con 5 subtítulos por imagen y 250.000 personas con puntos clave.

Puede leer los siguientes recursos para obtener más información sobre la detección de objetos:

  • Una Introducción Paso a Paso a los Algoritmos Básicos de Detección de Objetos
  • Una Guía Práctica para la Detección de Objetos utilizando el Popular Marco de Trabajo de YOLO
  • Facebook AI Lanza el Transformador de Detección (DETR), ¡Un Enfoque de Detección de Objetos basado en Transformadores!

Proyectos de Visión por Computadora de código abierto para Segmentación Semántica

Cuando hablamos de comprensión completa de escenas en tecnología de visión por computadora, la segmentación semántica entra en escena. Es la tarea de clasificar todos los píxeles de una imagen en clases relevantes de los objetos.

 Proyectos de Visión Artificial de Código abierto-Segmentación semántica

A continuación se muestra la lista de conjuntos de datos de código abierto para practicar este tema:

  1. CamVid

    Esta base de datos es uno de los primeros conjuntos de datos segmentados semánticamente en publicarse. Esto se usa a menudo en la investigación de segmentación semántica (en tiempo real). El conjunto de datos contiene:

    • 367 pares de entrenamiento
    • 101 pares de validación
    • 233 pares de prueba
  2. Paisajes urbanos

    Este conjunto de datos es una submuestra procesada de paisajes urbanos originales. El conjunto de datos tiene imágenes fijas de los vídeos originales, y las etiquetas de segmentación semántica se muestran en imágenes junto a la imagen original. Este es uno de los mejores conjuntos de datos para tareas de segmentación semántica. Tiene 2975 archivos de imágenes de entrenamiento y 500 archivos de imágenes de validación de 256×512 píxeles cada uno

Para leer más sobre la segmentación semántica, recomendaré el siguiente artículo:

  • Segmentación Semántica: ¡Introducción a la Técnica de Aprendizaje Profundo Detrás de la Cámara de Google Pixel!

Aquí hay algunos artículos disponibles con código para segmentación semántica:

  • Codificador-Decodificador con Convolución Separable Atroz para Segmentación Semántica de Imágenes
  • DeepLab: Segmentación de Imágenes Semánticas con Redes Convolucionales Profundas, Convolución Atroz y CRF totalmente Conectados

Proyectos de Visión por Computadora de Código abierto para la Detección de Carriles de Carretera en Vehículos Autónomos

Un automóvil autónomo es un vehículo capaz de detectar su entorno y funcionar sin participación humana. Crean y mantienen un mapa de su entorno basado en una variedad de sensores que se ajustan a diferentes partes del vehículo.

Estos vehículos tienen sensores de radar que monitorean la posición de los vehículos cercanos. Mientras que las cámaras de vídeo detectan los semáforos, leen las señales de tráfico, rastrean otros vehículos y los sensores Lidar (detección y alcance de luz) rebotan pulsos de luz en el entorno del automóvil para medir distancias, detectar bordes de carreteras e identificar marcas de carril

La detección de carril es una parte importante de estos vehículos. En el transporte por carretera, un carril es parte de una calzada designada para ser utilizada por una sola línea de vehículos para controlar y guiar a los conductores y reducir los conflictos de tráfico.

Es un proyecto emocionante para agregar en el currículum de su científico de datos. Los siguientes son algunos conjuntos de datos disponibles para experimentar con ellos-

  1. TuSimple

    Este conjunto de datos formaba parte del Desafío de Detección de Carriles de Tusimple. Contiene 3626 videoclips de 1 segundo de duración cada uno. Cada uno de estos clips de vídeo contiene 20 fotogramas con un último fotograma anotado. Consiste en conjuntos de datos de entrenamiento y prueba con 3626 clips de vídeo, 3626 fotogramas anotados en el conjunto de datos de entrenamiento y 2782 clips de vídeo para pruebas.

En caso de que esté buscando algún tutorial para desarrollar el proyecto, consulte el artículo a continuación-

  • Tutorial Práctico sobre Detección de Carriles en Tiempo Real usando OpenCV(Proyecto de Auto-Conducción!)

Proyectos de Visión por Computadora de Código abierto para Subtitulado de imágenes

¿Alguna vez has deseado alguna tecnología que pudiera subtitular tus imágenes de redes sociales porque ni tú ni tus amigos pueden crear un subtitulado genial? El aprendizaje profundo para subtítulos de imágenes viene a su rescate.

El subtitulado de imágenes es el proceso de generar una descripción textual de una imagen. Es una tarea combinada de visión por computadora y procesamiento del lenguaje natural (PNL).

Los métodos de visión por computadora ayudan a comprender y extraer la función de las imágenes de entrada. Además, NLP convierte la imagen en la descripción textual en el orden correcto de palabras.


Los siguientes son algunos conjuntos de datos útiles para ensuciarse las manos con subtítulos de imágenes:

  1. COCO Caption

    COCO es un conjunto de datos de detección, segmentación y subtítulos de objetos a gran escala. Consta de 330k imágenes (>200K etiquetadas) con 1,5 millones de instancias de objetos y 80 categorías de objetos con 5 subtítulos por imagen.

  2. Conjunto de datos Flicker 8k

    Es un corpus de subtítulos de imagen que consta de 158.915 subtítulos de fuentes múltiples que describen 31.783 imágenes. Esta es una extensión del conjunto de datos Flickr 8k. Las nuevas imágenes y subtítulos se centran en las personas que realizan actividades y eventos cotidianos.

Si está buscando la implementación del proyecto, le sugeriré que mire el siguiente artículo:

  • Subtitulado automático de imágenes mediante Deep Learning (CNN y LSTM) en PyTorch

Además, le sugiero que revise este papel destacado sobre Subtítulos de imágenes.

Proyectos de Visión por Computadora de Código Abierto para Estimación de Pose Humana

La estimación de Pose Humana es una aplicación interesante de la Visión por Computadora. Debe haber oído hablar de Posenet, que es un modelo de código abierto para estimar la postura humana. En resumen, la estimación de pose es una técnica de visión por computadora para inferir la pose de una persona u objeto presente en la imagen/video.

Antes de discutir el trabajo de estimación de pose, entendamos primero el “Esqueleto de Pose Humana”. Es el conjunto de coordenadas para definir la pose de una persona. Un par de coordenadas es una extremidad. Además, la estimación de la postura se realiza identificando, localizando y rastreando los puntos clave del esqueleto de la postura humana en una Imagen o video.

Fuente

Los siguientes son algunos conjuntos de datos si desea desarrollar un modelo de estimación de pose:

  1. MPII

    El conjunto de datos de pose humana MPII es un punto de referencia de última generación para la evaluación de la estimación de pose humana articulada. El conjunto de datos incluye alrededor de 25K imágenes que contienen más de 40K personas con articulaciones corporales anotadas. En general, el conjunto de datos cubre 410 actividades humanas y cada imagen tiene una etiqueta de actividad.

  2. HUMANEVA

El conjunto de datos HumanEva-I contiene 7 secuencias de vídeo calibradas que se sincronizan con poses corporales en 3D. La base de datos contiene 4 sujetos que realizan 6 acciones comunes (por ejemplo, caminar, trotar, gesticular, etc.).) que se dividen en conjuntos de entrenamiento, validación y pruebas.

Encontré DeepPose de Google como un artículo de investigación muy interesante que utiliza modelos de aprendizaje profundo para estimar la postura. Además, puede visitar varios documentos de investigación disponibles sobre la estimación de pose para entenderla mejor.

Proyectos de Visión por Computadora de Código Abierto para el Reconocimiento de Emociones a través de Expresiones Faciales

Las expresiones faciales desempeñan un papel vital en el proceso de comunicación no verbal, así como para identificar a una persona. Son muy importantes para reconocer las emociones de una persona. En consecuencia, la información sobre expresiones faciales se utiliza a menudo en sistemas automáticos de reconocimiento de emociones.

El reconocimiento de emociones es una tarea desafiante porque las emociones pueden variar según el entorno, la apariencia, la cultura y la reacción de la cara, lo que conduce a datos ambiguos.

El sistema de reconocimiento de expresión facial es un proceso de varias etapas que consiste en el procesamiento de imágenes faciales, la extracción de características y la clasificación.

fuente

A continuación se muestra un conjunto de datos en el que puede practicar:

  1. Base de Datos de Rostros Afectivos del mundo Real

La Base de datos de rostros Afectivos del mundo real (RAF-DB) es una base de datos de expresión facial a gran escala con alrededor de 30 mil imágenes faciales de gran diversidad. Consta de 29672 imágenes del mundo real y un vector de distribución de expresiones de 7 dimensiones para cada imagen,

Puede leer estos recursos para aumentar aún más su comprensión-

  • Redes de atención de marcos para reconocimiento de expresión facial en videos
  • Redes de Atención de regiones para Pose y Oclusión Reconocimiento robusto de expresión facial

Notas finales

Para concluir, en este artículo discutimos 10 proyectos interesantes de visión por computadora que puede implementar como principiante. Esta lista no es exhaustiva. Así que si sientes que nos perdimos algo, ¡no dudes en agregar los comentarios a continuación!

Además, aquí estoy enumerando algunos recursos de CV útiles para ayudarlo a explorar el mundo del aprendizaje profundo y la visión artificial:

  • Esta es su Ruta de Aprendizaje para Dominar la Visión por Computadora en 2020
  • Curso de Visión por Computadora con Aprendizaje Profundo 2.0
  • Programa Certificado: Visión por Computadora para Principiantes
  • Primeros pasos con Redes Neuronales (Gratis)
  • Redes Neuronales Convolucionales (CNN) desde Cero (Gratis)

Hay mucha diferencia en la ciencia de datos que aprendemos en los cursos y en la práctica personal y en la que trabajamos en la industria. Te recomiendo que sigas estos cursos gratuitos y claros para entender todo sobre análisis, aprendizaje automático e inteligencia artificial:

  1. Introducción a AI / ML Curso Gratuito / Aplicación móvil
  2. Introducción a AI / ML para Líderes Empresariales Aplicación móvil
  3. Introducción a Análisis de negocios Curso Gratuito / Aplicación móvil

Espero que la discusión le resulte útil. Ahora es su turno de comenzar la implementación de la visión por computadora por su cuenta.

También puedes leer este artículo en nuestra APLICACIÓN móvil Consíguelo en Google Play

Deja una respuesta

Tu dirección de correo electrónico no será publicada.