Lo que está buscando se llama detección de objetos a nivel de instancia. No necesita aprendizaje automático (ML) aquí, pero el enfoque para el reconocimiento de nivel de instancia es algo más sofisticado que la mayoría de los enfoques de ML. OpenCV es la mejor biblioteca para tal aplicación. Hay principalmente tres etapas en la detección / reconocimiento de objetos a nivel de instancia, suponiendo un objeto rígido que tenemos:
- Detección de puntos clave : hay varios detectores de puntos de características implementados en OpenCV, como los detectores harris corner o FAST (características de la prueba de segmento acelerado) que se pueden usar para encontrar puntos fácilmente localizables en las imágenes. En una imagen estándar típica de VGA puede haber alrededor de mil puntos clave.
- Extracción de descriptores : una vez más, hay muchos descriptores que están diseñados para capturar la información más importante de los parches alrededor de los puntos clave. Estos descriptores son normalmente [matemáticos] L_2 [/ matemáticos] normalizados e indexados en una estructura de datos de búsqueda como el árbol kd o el hash sensible a la localidad (LSH), esto se denomina aprendizaje diferido porque los descriptores se memorizan en esas estructuras de datos de búsqueda . En realidad, puede entrenar una red neuronal convolucional (CNN) utilizando CNN siameses para aprender una incrustación de descriptores para parches crudos alrededor de los puntos clave. Todavía necesita indexar las incrustaciones de vectores normalizados en una estructura de datos que se puede buscar para construir una base de datos modelo.
- Coincidencia y ajuste del modelo : los descriptores observados se comparan con la base de datos del modelo para resolver el problema de correspondencia y luego un modelo de movimiento como una homografía o transformación afín se ajusta a los puntos correspondientes utilizando algoritmos robustos como el algoritmo de consenso de muestra aleatoria (RANSAC) . El algoritmo RANSAC devuelve puntos internos y externos y, utilizando un análisis probabilístico de los valores internos y externos, el sistema puede decidir si la instancia del objeto está presente o no.
OpenCV es la mejor biblioteca porque todas esas funcionalidades se implementan allí.
Espero que esto ayude.
- ¿Cómo escribe un programador un rastreador web que hace clic en la página?
- ¿Cuál es el próximo tema candente en el aprendizaje automático?
- ¿Cómo se sienten los investigadores y practicantes de Inteligencia Artificial y Aprendizaje Automático sobre los comentarios recientes de Stuart Russell sobre los peligros de la IA que parecen respaldar comentarios similares hechos por Elon Musk y Stephen Hawking?
- ¿IBM Watson pondrá a miles de personas sin trabajo?
- ¿Por qué el algoritmo EM (maximización de expectativas) necesariamente converge? ¿Cuáles son algunas de sus aplicaciones comunes?