1. Introducción
El sector global de electrodomésticos se puede definir como moderadamente dinámico, cuya tecnología de producción es madura, las compañías han perfeccionado técnicas de manufactura flexible y asistida por computador, con el fin de reducir los costos de producción; en este sentido, con la llegada de los avances tecnológicos de la cuarta revolución industrial la visión con computador se muestra muy prometedora. En línea con lo anterior, las pruebas funcionales y estéticas se realizan durante el proceso de fabricación de una unidad de refrigeración antes de ser embaladas para su posterior distribución; de esta manera, las pruebas funcionales verifican, entre otras cosas, que el consumo de potencia, al igual que el control de temperatura cumpla con las especificaciones de diseño, por su parte, las pruebas estéticas se aseguran de dos cosas: primero que no haya ningún tipo de daño en los diferentes accesorios tanto internos como externos en la unidad de refrigeración; y segundo, que para un modelo en particular de unidad de refrigeración los accesorios estén presentes, todos en su totalidad.
Las pruebas funcionales se llevan a cabo con dispositivos electrónicos que informan de manera objetiva y en tiempo real (aproximadamente 30 segundos) si la unidad de refrigeración cumplió o no con la prueba; sin embargo, las pruebas estéticas requieren de la capacidad visual de un experto (llamado también Inspector Visual de Calidad) quien debe conocer los accesorios de cada modelo en forma exacta. Por ejemplo, durante un proceso de producción diario, el experto debe discernir entre 30 o 60 modelos diferentes e igualmente hacer el dictamen si la unidad de refrigeración pasó o no la prueba estética en alrededor de 45 segundos. Para el caso de accesorios internos (en compartimento y puerta del refrigerador), un tipo de error son los accesorios faltantes o equivocados; en este sentido, concebir un sistema capaz de emular la capacidad visual del inspector es un gran reto, teniendo en cuenta además que el sistema debe ser no invasivo y ser capaz de analizar el interior del refrigerador a medida que este se mueve en la línea de producción.
Para comprender en detalle la problemática planteada anteriormente, se debe describir en detalle el proceso de evaluación estética en la línea de producción: durante la evaluación estética un experto debe concentrar su atención en la unidad de refrigeración que está analizando, revisar cada uno de los accesorios para determinar si falta o está equivocado.
Desde la concepción de un sistema de visión por computador, el reto de identificar accesorios faltantes/equivocados en unidades de refrigeración puede ser abordado dividiendo el reto en dos grandes problemas: 1) detección y seguimiento del accesorio; y 2) clasificación del accesorio en correcto, faltante o equivocado. Ver Figura 1. En este trabajo, se abordará una propuesta de solución al primer problema: detección y seguimiento de accesorios en unidades de refrigeración para su posterior análisis (i.e., clasificación).
2. Materiales y métodos
Para desarrollar la presente investigación se plantea una metodología para la detección y seguimiento de accesorios, la cual se puede observar en la en la Figura 2. Dicha metodología inicia con la etapa de adquisición de imágenes, que permite obtener el conjunto de datos iniciales en forma de imagen de la escena donde se encuentra el objeto de análisis, p.e., la unidad de refrigeración con la puerta abierta. Se continúa con un bloque de segmentación que permite obtener imágenes binarias de las unidades de refrigeración. Este bloque es diferente para gabinete y puerta debido a que para el primer caso el fondo se tiene controlado y en el otro solo parcialmente. A partir de estas imágenes binarias se implementa una técnica de seguimiento de un solo objeto y se finaliza con el bloque de obtención de ROI (Región de Interés, por sus siglas en ingles) de los accesorios que permite identificar la ubicación de cada uno de estos dentro de la unidad de refrigeración que se está analizando dentro del campo de visión. Para este último bloque se utiliza información del ROI del gabinete y de la puerta y de los accesorios registrados previamente y que se encuentran en una base de datos para cada modelo. A continuación, se describe cada uno de los bloques en más detalle.
Adquisición de imágenes
Un análisis detallado de la escena y las restricciones propias de un escenario real de producción determina que un conjunto de cuatro Kinect V2 (Kim et al., 2015; Hong, Saavedra and MartinezCorral, 2016) (dos para gabinete y dos para puerta) son necesarios para poder capturar imágenes adecuadas para la detección, seguimiento y análisis de los accesorios. Es decir, el bloque de adquisición responde a necesidades no solo de la problemática de detección y seguimiento, sino también la de clasificación de accesorios (trabajos futuros de esta investigación). En la Figura 3 se visualiza la ubicación y orientación de los cuatro sensores. La elección de los Kinect se debe que estos permiten disponer de un conjunto de tres tipos de imágenes (imágenes multimodales) por sensor, con las siguientes características: Imagen RGB de 1920x1080 (24 bit), Imagen PROFUNDIDAD de 512x424 (11 bit) y una Imagen NIR de 512x424 (11 bit). La velocidad máxima de captura de cada sensor es de 30 Hz (Hong, Saavedra and Martinez-Corral, 2016). Esta velocidad de captura bajará cuando se realice la interface entre el sensor y una estación de cómputo.
Los Kinect superiores (Sensores 1 y 3) se encuentran a 1.6 m de la base de la estructura metálica y los Kinect inferiores (Sensores 2 y 4) a una altura de 0,6 m. Además, nótese en la Figura 3 que los Kinect se han girado 90º para aprovechar la apertura angular horizontal de los sensores la cual resulta mayor que la vertical (Hong, Saavedra and Martinez-Corral, 2016). Los soportes de los brazos de los Kinect están separados 1.0 m. La configuración anterior obedece a los requerimientos de una línea de producción que trabaja modelos de neveras pequeñas (1.5 m de altura) y grandes (2 m de altura) y una separación vertical de la banda a los Kinect de 1.7 m. Detrás de las neveras se ha ubicado un fondo de material opaco (Szeliski, 2011; Demant, Streicher-Abel and Garnica, 2013) para evitar fuentes parásitas infrarrojas para los sensores de gabinete, sin embargo, este fondo no ayuda a controlar la presencia de fuentes parásitas para los sensores de la puerta. Con ayuda de lámparas LED blancas se controla la iluminación en el espectro visible, con el fin de evitar que el sensor realice balance de blancos de forma automática en la imagen RGB.
Dado que a la fecha el SDK de Kinect V2 para Windows (Microsoft, 2017) no soporta la captura de simultánea de dos sensores en una misma estación de cómputo, se gestiona entonces la captura de imágenes de estos sensores con ayuda de la biblioteca multiplataforma Libfreenect2 (Xiang et al., 2016) en el lenguaje de programación C++. Esta biblioteca captura la trama de datos enviadas por el sensor a través del protocolo USB 3.0 (utilizando LibUSB 1.0 (Organization, 2016)) hacia el computador, y con ayuda de tarjetas gráficas de NVIDIA (CUDA 8.0 (Nickolls et al., 2008)) se decodifica finalmente las imágenes RGB, PROFUNDIDAD y NIR.
Segmentación
Tal como se mencionó en la sección de Adquisición de Imágenes, se utiliza un fondo mate para controlar la presencia de fuentes parásitas en los sensores de gabinete. Este fondo puede aprovecharse para implementar una técnica de sustracción de fondo (Szeliski, 2011; Elgammal et al., 2014; Klette, 2014) sobre la imagen de profundidad (Ecuación 1), utilizando un modelo de media y desviación estándar de la escena sin la presencia de ninguna nevera. Gracias a esto, en la Figura 4 se propone un conjunto de técnicas para segmentar el gabinete tanto superior o inferior utilizando la ya mencionada técnica de sustracción de fondo.
Donde BG(x, y) es la imagen binaria de salida de gabinete, D(x, y) es la imagen de profundidad, MD(x, y) y SD(x, y) son modelo promedio y desviación estándar del fondo obtenido a partir de 100 imágenes D(x, y). La Ecuación 1 se aplica para gabinete superior e inferior. Los niveles de gris en la imagen de profundidad son normalizados con respecto a su valor máximo posible.
Desafortunadamente no puede utilizarse la misma técnica de sustracción de fondo para puertas, ya que en este caso no es posible ubicar un fondo sin obstaculizar el paso de las neveras a lo largo de banda. Por tal razón, se utiliza el siguiente criterio de Umbralización fija (Szeliski, 2011; Howse et al., 2015) tanto en la imagen NIR como en la de profundidad: un pixel es clasificado como perteneciente a la nevera si se encuentra cercano en la imagen de profundidad y es brillante en la imagen infrarroja. Dado que el criterio involucra dos tipos de imágenes, la técnica de Umbralización así implementada se denomina Umbralización multimodal (Ecuación 2). En la Figura 5 se observa el conjunto de técnicas que complementan el método de segmentación de puertas.
Donde BP(x, y) es la imagen binaria de salida del gabinete, D(x, y) es la imagen de profundidad, NIR(x, y) es la imagen infrarroja. D1, D2, N1 y N2 son valores fijos en el intervalo [0, 1]. La Ecuación 2 se aplica para puerta superior e inferior.
Obsérvese de las Figura 4 y Figura 5 que los métodos de segmentación comparten un mismo conjunto de técnicas después de: 1) realizar la sustracción de fondo para gabinete y 2) la Umbralización multimodal para puertas. En primer lugar, la detección de contornos y aproximación medial obtener una primera aproximación del ROI que contiene gabinete o puerta, utilizando un algoritmo de etiqueta con conectividad 8 (Szeliski, 2011; Demant, Streicher-Abel and Garnica, 2013) y una aproximación medial del ROI. El etiquetado mediante componentes conexos con conectividad 8 tiene como propósito obtener las etiquetas, L, de los n contornos detectados y el conjunto, C, de m(L) puntos 2D, ,por cada etiqueta L. Ver Figura 6. El ROI por cada etiqueta L, ROI(L), se define mediante un conjunto de 4 puntos 2D obtenidos a través la Ecuación 3.
Dado que esta primera aproximación del ROI contiene en el caso de gabinete pixeles de pertenecientes a la puerta y en el caso de puerta pixeles de gabinete, se procede de manera heurística a redefinir el ROI mediante una aproximación medial, la cual consiste en tomar la mitad del ROI obtenido por cada etiqueta L.
Este ROI se toma hacia la izquierda en gabinete (Ecuación 4) y hacia la derecha en puerta (Ecuación 5) si la unidad de refrigeración abre la puerta hacia la derecha en la imagen. Obviamente debe tomarse en sentido contrario en caso que la nevera abra la puerta hacia la izquierda, en la imagen.
Se busca ahora dentro de este ROI medial, obtener un ROI no necesariamente rectangular y definido por cuatro puntos coordenadas 2D en la imagen. Específicamente, se intenta encontrar las ecuaciones de línea que delimitan el contorno de la nevera por la parte superior, inferior, izquierda y derecha tanto del gabinete como de la puerta. Estas líneas se obtiene utilizando ajuste lineal mediante mínimos cuadrados (Bertsekas, 2016) sobre el conjunto de puntos frontera, que resulta del borde obtenido mediante un kernel de derivada direccional sobre la imagen umbralizada mediante la técnica Otsu (Liu and Yu, 2009; Szeliski, 2011). Las subimágenes son extraídas de la imagen infrarroja y se definen de forma heurística a partir del ROI medial con ayuda de la técnica mostrada en la Figura 7.
Una vez encontrada estas líneas, los cuatros puntos que definen el ROI se obtienen utilizando ecuaciones de punto de intersección entre líneas (Jänich, 1994): líneas superior e izquierda para la esquina superior-izquierda del ROI, líneas superior y derecha para el punto la esquina superior-derecha del ROI, líneas derecha e inferior para el punto inferior-derecho del ROI, y entre las líneas inferior e izquierda para el punto de la esquina inferiorizquierda del ROI.
Para el caso de gabinete no es posible obtener una ecuación de línea ubicada al costado derecho con la técnica mencionada anteriormente (que por cierto separa gabinete de puerta en la imagen). En este caso se toma como línea derecha, aquella obtenida en el ROI medial. Se procede de igual forma para la línea izquierda en puerta. Finalmente, las coordenadas de los puntos obtenidos en la imagen NIR se toman como los mismos en la imagen de PROFUNDIDAD (se considera despreciables las distorsiones en las imágenes del Kinect V2), y mediante técnicas homográficas (Hartley and Zisserman, 2004) se mapean estos puntos a la imagen RGB. La relación homográfica entre puntos coplanares desde dos vistas (este caso NIR y RGB) viene dado por la Ecuación 6 utilizando coordenadas homogéneas asociadas a los puntos 2D. La matriz H es la homografía y el problema cosiste en hallar precisamente esta matriz. Dado que H contiene 9 incógnitas, se propone el sistema de ecuaciones en 7 para cuatro pares de puntos correspondientes y se resuelve el sistema por descomposición de valores singulares (Jänich, 1994; Hartley and Zisserman, 2004) de la matriz A.
Seguimiento
La técnica de segmentación generará tantos ROI’s como gabinetes y puertas sean segmentadas mediante la sustracción de fondo o la Umbralización multimodal respectivamente. Con ayuda de los ROI’s, se construyen contornos los cuales son etiquetados nuevamente mediante componentes con conectividad 8 (Szeliski, 2011). Ver Figura 6. Se elige como posición óptima el centro de la imagen y entonces se elige el contorno de máxima área cuyo centroide está más cercano al centro de la imagen por el lado izquierdo. En caso que las neveras entren por el lado derecho, debe aplicarse el criterio anterior pero ahora por este nuevo lado. Las etapas claves de este bloque se muestran en la Figura 8.
Obtención de la Región de Interés (ROI) del Accesorio
Hasta ahora, los bloques de adquisición, segmentación y seguimiento se han elaborado independiente del modelo de unidad de refrigeración que se está analizando en el campo de visión de los sensores. Dado que el número de accesorios de un modelo a otro varía y que las ubicaciones y tipos de accesorios es una variable no controlada, se requiere entonces, para la obtención de los ROI’s de los accesorios, conocer con anterioridad el modelo de unidad de refrigeración para la prueba. Esto se logra almacenando información los modelos y accesorios en una base de datos a través de un proceso de registro del modelo. Por cada modelo se requiere el ROI que delimita el gabinete y la puerta, y los ROI’s y etiquetas de cada uno de los accesorios que se deseen analizar.
En la Figura 9 se muestra las variables que se dispone para realizar la obtención de los ROI’s de los accesorios para la prueba final. Suponiendo N accesorios, la estimación de los ROI’s de los accesorios en la unidad de refrigeración en cuestión se obtiene mediante el siguiente algoritmo basado en transformación homográfica (Hartley and Zisserman, 2004; Szeliski, 2011) el cual se planteó en las Ecuaciones 6 y 7.
Algoritmo: Estimación Posición ROI’s de los Accesorios
3. Resultados y discusión
En primer lugar, mediante pruebas realizadas durante 3 horas (en una línea de 35 segundos por nevera) se evalúa el desempeño de los algoritmos desarrollados anteriormente. Para esto, se construye una arquitectura distribuida (ver Figura 10) que permite la conexión de dos Kinect V2 por Workstation. La configuración y ejecución de los algoritmos se realiza con ayuda de una interfaz gráfica de usuario (ver Figura 11) la cual debe ejecutarse para cada sensor. Cada aplicativo con cada sensor configura un cliente-servidor tipo VRPN (Virtual Reality Peripheral Network) (Taylor et al., 2001) para la comunicación con la interfaz de control y visualización. Igualmente, se configura un servidor de pruebas con ayuda de la plataforma FIS (Floor Information System) de la compañía Mabe, y se registran 3 modelos: MCRMU300WANB (nevera pequeña), MCRMC320WACX (nevera mediana), MCR-MC390WACX (nevera grande). La descarga de los modelos a las Workstation se realiza una sola vez, siempre y cuando el modelo no exista en la base local de la estación de cómputo. A continuación, se recogen datos de velocidad de ejecución, memoria RAM ocupada por los aplicativos y el nivel de ocupación de CPU y GPU, de los algoritmos desarrollados para la metodología aquí propuesta (ver Figura 2). En la Tabla 1 se muestran los valores promedios obtenidos durante las 3 horas de prueba. Se observa que la arquitectura A2 ejecuta de forma más rápida los algoritmos que la arquitectura A1; sin embargo, el costo computacional CPU es un 10% más elevado. El coste computacional en GPU de A2 es menor que A1 en un 5%. En ambos casos el coste computacional en GPU se debe básicamente al bloque de adquisición, el cual se logra a través de la biblioteca libfreenect2 (Xiang et al., 2016). Esto indica que en ambas arquitecturas es posible ocupar todavía gran parte de la GPU en la ejecución de otros algoritmos, por ejemplo, segmentación y seguimiento. Por último, pero no menos importante, se puede ver que las demandas de memoria RAM de los aplicativos no es alta, pudiendo ejecutar los mismos, por ejemplo, en estaciones de cómputo con al menos 2 GB RAM.
Por otro lado, se realizaron pruebas con cada uno de los modelos para evaluar la efectividad del sistema. Para el modelo MCRMU300WANB se registran 6 accesorios y 7 para los otros dos modelos.
En la Figura 12, Figura 13 y Figura 14 se muestra el resultado de la obtención de los ROI’s de los accesorios cuando las neveras pasan por la posición óptima (posición central de la imagen). En general, se observó, primero, que cuando la segmentación es correcta, la estimación de la ubicación de los ROI’s también lo es. Segundo, los algoritmos de segmentación para gabinete generan resultados más estables que para puerta, es decir la segmentación más consistente a lo largo del movimiento de la nevera en el campo de visión. Esto se debe a que para el caso de gabinete se tiene un fondo controlado. Además, se encontró que la estimación de la línea inferior en puerta (en el bloque de segmentación de puerta) es inestable debido a brillos indeseados en NIR cerca de la banda. Tercero, el algoritmo de seguimiento responde favorablemente en pruebas realizadas con neveras (abiertas) al lado izquierdo y derecho de la nevera bajo prueba, siempre y cuando se respete la distancia mínima de separación de 70 cm entre neveras consecutivas a lo largo de la banda. Finalmente, se realizaron pruebas durante el día y la noche obteniendo los mismos resultados en la obtención de los ROI’s de los accesorios. Como resultado final, estas pruebas exploratorias permitieron identificar y seguir ROI’s con un 95% de efectividad a lo largo de la línea, siendo las posiciones extremas en la imagen donde el sistema realiza una detección incorrecta de los accesorios.
4. Conclusiones
Se diseñó e implementó una metodología de visión por computador para la detección y seguimiento de accesorios internos en unidades de refrigeración en tiempo real. La rapidez de la ejecución de los algoritmos en las arquitecturas computacionales fue exitosa teniéndose 15 Hz como mínimo. La estimación de la posición de los ROI’s de los accesorios en la posición central de la imagen es muy similar a la de los mismos accesorios en la referencia. Esta estimación es incorrecta cuando la segmentación también lo es. En conclusión, los algoritmos muestran un gran potencial para ser utilizados en un entorno de producción industrial.