Archivo de la etiqueta: lacomer

Asi detectas unas cheves con tensorflow – Datlas research

“Alexa, pasame una Heineken”. Una instrucción sencilla para una persona, una tarea compleja para una computadora. Esta tarea puede dividirse en subtareas, siendo una de ellas la detección de objetos. Esta es una tecnología relacionada con la visión artificial que busca identificar los objetos semánticos en una imagen. En esta columna compartiremos el proceso que pasamos al realizar un sistema de identificación de cervezas.

En nuestro proyecto de identificación de cervezas contamos con aproximadamente 2500 fotos de cervezas, pudiendo ser un refrigerador lleno o una sola cerveza en la foto. En estas fotos, tuvimos que seleccionar las zonas en las que había una cerveza y asignarle un nombre (el nombre de la cerveza y si era lata, botella o caguama) para poder clasificarlos. Esto se llevó a cabo con LabelImg, cuyo output era un XML con las posiciones y el nombre.

Posterior a esto, seleccionamos el modelo a implementar. Decidimos utlizar Tensorflow con el modelo desarrollado por Nick Bourdakos, Custom-Object-Detection. El primer paso para hacer funcionar este modelo fue generar el TFRecord, el archivo con el que se entrena el modelo. Para esto, los XML no nos servían, ya que requiere un archivo CSV. Usamos la librería de Python Pandas para hacer esta conversión. Luego definimos el label map para que cada nombre tuviera un número que lo identificara. Todo esto lo pasamos por el script para generar los TFRecords, y nuestros datos estaban listos para entrenar el modelo.

Datlas_barra_suscribir

Comenzamos a entrenar el modelo, y nos dimos cuenta que era muy lento, ya que lo estabamos entrenando con nuestras laptops. Para optimizar esto cambiamos a entrenar en Google Colab. Aquí puedes entrenar tu modelo utilizando tarjetas gráficas, aprovechando su capacidad de procesamiento al máximo. Pero encontramos un problema, los archivos eran muy pesados para estar descargandolos cada vez. La solución: subir los archivos a Google Drive, e instalar una biblioteca en Colab para poder traer los archivos de Drive.

Aquí comenzamos la etapa de pruebas con el modelo. Esperábamos un happy path, pero no fue el caso, Encontramos problemas como que la letra era muy pequeña y no se podía leer, o que detectaba un rollo de papel como una cerveza. Este último se debía a que redujimos la confianza para tomar una predicción al 30%. Ambos fueron obstáculos superados.

Para finalizar, se desarrolló el cliente con el cual el usuario podría emplear esto. Se creó una REST API en Django, una aplicación en React Native, y se hicieron llamadas para que la foto tomada por el celular regresara con la respuesta. En este punto sólo se llevó a cabo un cambio, el poner números en las clasificaciones para que no se amontonaran, y presentar el nombre y el porcentaje de confianza de la predicción.

Aqui cierra el blog de hoy. La presencia de esta tecnología puede crear un cambio en el cómo funcionan las cosas. Futuras implementaciones de este tipo de acciones en tiendas serán de utilidad para hacer conteos, inventarios, identificar repisas vacías y/o recibir notificaciones cuando se acabe un producto. Si te gustó la columna te pedimos la compartas y nos dejes tus comentarios

Saludos

(Esta columna fue desarrollada por Jose Luis alias “Ali,” participante en nuestro programa de interns de verano)

Equipo Datlas

-Keep it weird-

 

Anuncios