Herramientas de código abierto para visión computadorizada
La inteligencia artificial incluye diversos campos, muchos de ellos requieren de la captación o interpretación de señales del exterior. En este post veremos herramientas de código abierto para visión computadorizada.
Se trata de uno de los tantos campos en donde el software libre y de código abierto es líder superando a las alternativas privativas.
¿Qué es la visión computadorizada?
Hace tiempo que los ordenadores pueden captar imágenes, pero hacer que las reconozca y reacciona a ellas es un campo que ha despegado en los últimos años. El interés por este tipo de capacidad creció a partir de los esfuerzos por mejorar las tecnologías de reconocimiento facial y la carrera por el desarrollo del primer vehículo sin conductor.
El desafío es crear algoritmos que sean capaces de reconocer formas colores y patrones en las imágenes que captan los ordenadores, así como detectar movimiento, rastrear cosas y comprender su ubicación espacial. Las herramientas más potentes utilizan algoritmos de aprendizaje profundo entrenados con millones de imágenes conocidas que le permitirán en un futuro reconocer patrones y hacer predicciones.
Además de los vehículos autónomos, hay otros usos posibles como el análisis de imágenes médicas o la detección de defectos en productos manufacturados que no son visibles al ojo humano.
Un algoritmo de aprendizaje profundo se diferencia de los algoritmos de aprendizaje tradicionales en que está basado en una red neuronal de varias capas que es capaz de aprender extrayendo por sí mismo la información relevante de los datos ingresados.
Herramientas de código abierto para visión computadorizada
Una biblioteca de visión computadorizada es un conjunto de programas pre escritos al que pueden recurrir quienes desarrollen aplicaciones que requieran funciones de procesamiento de imágenes y videos. El uso de estas bibliotecas permite reducir el tiempo de codificación.
OpenCV
Es la más popular de las librerías de esta lista. Tiene versiones para los lenguajes de programación Python, Java, C++ y Javascript entre otros. Se puede incluir en aplicaciones para Windows, Mac y Android.
Algunos de los usos de OpenCV son reconocimiento facial, detección de movimiento, identificación de gestos y detección de objetos.
SimpleCV
Se trata de un conjunto de software y bibliotecas desarrollado en Python ideal para la creación de prototipos de aplicaciones compatibles con diferentes cámaras web, IP y de dispositivos móviles.
No requiere tanto aprendizaje como las otras opciones.
DeepFace
Como su nombre lo indica, se trata de una herramienta para el trabajo con caras. Se trata de una biblioteca para Python que permite analizar caras en tiempo real, reconocerla, realizar verificaciones y analizar sus atributos.
BoofCV
Este software está escrito desde cero y se enfoca en el procesamiento de imágenes de bajo nivel, calibración de cámaras, detección/rastreo de características, creación de patrones de movimiento y reconocimiento. Todo esto en tiempo real.
OpenVINO
El nombre de esta biblioteca viene de la sigla para Open Visual Inference and Neural Network Optimization. Consiste en un conjunto de herramientas para la optimización de aplicaciones que emulen la visión humana. Su utilización requiere tener un modelo pre entrenado. Su uso está pensado para la detección de objetos, el reconocimiento facial y de movimientos y la coloración.
Albumentations
Es una biblioteca de Python que se utiliza para la clasificación de imágenes, estimación de posturas y detección de objetos.
Caffe
Es curioso como las siglas de la Inteligencia Artificial remiten a alimentos, Vino, Caffe. En este último caso significa Arquitectura Convolucional para la Incrustación rápida de Características. Está escrito en C++, aunque tiene soporte para múltiples lenguajes y varias arquitecturas de aprendizaje profundo. Es ideal para la clasificación y segmentación de imágenes por lo que es ideal para proyectos de investigación académica, prototipos de productos y aplicaciones industriales a gran escala que requieran funciones de visión, voz y multimedia.
Es evidente que todavía queda mucho por hacer en el campo de la Inteligencia Artificial. Pero, la existencia de librerías de código abierto nosda la esperanza de que las soluciones que se desarrollen no estén controladas por unos pocos.