?? Read in English
A menudo nos maravillan los cada vez más increíbles avances en el área de la inteligencia artificial y, particularmente, en la visión computarizada. Ciertamente, es emocionante presenciar cómo un agente inteligente es capaz de discernir con base en información altamente compleja, como texto, imágenes o videos. Y es que hay algo profundamente cautivante en enseñarle a una pequeña porción de código a ser excelente en una tarea determinada. ¿Es un orgullo paternal, quizás?
De cualquier manera, entrenar un modelo no consiste únicamente en escoger la arquitectura más cool de deep learning o en idear un árbol de decisiones enrevesado que considere las características ocultas en nuestras imágenes. De hecho, es un proceso que conlleva muchas etapas, algunas de éstas más simples que otras, que van transformando los datos, masajeándolos, modificándolos para que nuestro algoritmo final pueda aprender de manera efectiva.
Entre las etapas más comunes de una línea de procesamiento (o pipeline) de computer vision están:
El resultado de este proceso suele ser utilizado para efectuar una acción. Por ejemplo, en un pipeline de reconocimiento facial, posiblemente este pipeline produzca un conjunto de puntos claves que denotan o delimitan el rostro de una persona. Múltiples acciones pueden tomarse a partir de éste producto, tales como:
- Seleccionar o recolectar los datos (imágenes, principalmente).
- Pre-procesamiento, lo cual incluye transformaciones como normalización, estandarización, corrección de color, reescalado.
- Selección de áreas de interés, mediante recortes, detección de objetos o segmentación de imágenes, entre otras técnicas.
- Extracción de features (representación vectorial, imagen transformada, entre otros).
- Predicción.
- Añadir accesorios chistosos a la cara de la persona (Snapchat, Instagram).
- Garantizar acceso a un área restringida.
- Etiquetar a individuos en una foto.