7. Aprendizaje automático

La mayoría de los detectores del capítulo sobre imágenes estaban codificados a mano para un objetivo concreto: rangos de color ajustados a mano para el seguimiento de manchas, patrones de pesos derivados a mano para los filtros de bordes, suposiciones geométricas fijas para los buscadores de líneas y círculos. Cada algoritmo cubría un tipo de tarea, y añadir un nuevo objetivo significaba escribir un nuevo algoritmo. El aprendizaje automático cambia el flujo de trabajo. En lugar de un algoritmo por objetivo, la aplicación carga un modelo entrenado – una pila de pesos producida de forma externa en un equipo de escritorio con muchas imágenes de ejemplo – y lo ejecuta en la cámara. El mismo motor que ejecuta un detector de rostros ejecuta un estimador de pose de mano, un rastreador de pose corporal, un clasificador de objetos o cualquier otra cosa para la que se haya entrenado un modelo.

El módulo ml es el conjunto de herramientas. Cada operación se construye sobre un único objeto Model que carga un archivo de modelo desde la memoria flash, gestiona sus tensores de entrada y salida cuantizados, despacha cada inferencia al motor adecuado de la cámara y enruta los tensores resultantes a través de un posprocesador opcional que los convierte de nuevo en la forma de resultado sobre la que la aplicación puede actuar – cuadros, puntos clave, clases o aquello para lo que sirva el modelo.

Resumen