Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Reciclar el robot de clasificación con Google Coral

¿Sabía que la tasa de contaminación promedio en comunidades y empresas llega hasta el 25%? Eso significa que una de cada cuatro piezas de reciclaje que tira no se recicla. Esto se debe a un error humano en los centros de reciclaje. Tradicionalmente, los trabajadores clasifican la basura en diferentes contenedores según el material. Los seres humanos están destinados a cometer errores y terminar no clasificando la basura correctamente, lo que lleva a la contaminación. A medida que la contaminación y el cambio climático se vuelven aún más importantes en la sociedad actual, el reciclaje desempeña un papel fundamental en la protección de nuestro planeta. Al usar robots para clasificar la basura, las tasas de contaminación disminuirán drásticamente, sin mencionar que son mucho más baratas y sostenibles. Para resolver esto, creé un robot de clasificación de reciclaje que utiliza el aprendizaje automático para clasificar entre diferentes materiales de reciclaje.

Demostración:

Código:

Clone mi repositorio de GitHub para seguir este tutorial.

Paso 1, Obtención de los datos:

Para entrenar el modelo de detección de objetos que puede detectar y reconocer diferentes materiales de reciclaje, utilicé el conjunto de datos trashnet que incluye 2527 imágenes:

Aquí hay una imagen de ejemplo:

Este conjunto de datos es muy pequeño para entrenar un modelo de detección de objetos. Solo hay alrededor de 100 imágenes de basura que son demasiado pequeñas para entrenar un modelo preciso, por lo que decidí omitirlas.

Puede usar esta carpeta de Google Drive para descargar el conjunto de datos. Asegúrese de descargar el archivo dataset-resized.zip. Contiene el conjunto de imágenes que ya han cambiado de tamaño a un tamaño más pequeño para permitir un entrenamiento más rápido. Si desea cambiar el tamaño de las imágenes sin procesar a su gusto, no dude en descargar el archivo dataset-original.zip.

Paso 2, etiquetado de las imágenes:

A continuación, necesitamos etiquetar varias imágenes de diferentes materiales de reciclaje para poder entrenar el modelo de detección de objetos. Para hacer esto, utilicé labelImg, un software gratuito que te permite etiquetar cuadros delimitadores de objetos en imágenes.

Etiqueta cada imagen con la etiqueta adecuada. Este tutorial te muestra como. Asegúrese de que cada cuadro delimitador esté lo más cerca posible del borde de cada objeto para garantizar que el modelo de detección sea lo más preciso posible. Guarde todos los archivos .xml en una carpeta.

A continuación se explica cómo etiquetar sus imágenes:

Esta es una experiencia muy tediosa y abrumadora. Afortunadamente para ti, ¡ya etiqueté todas las imágenes para ti! Puede encontrarlo aquí.

Paso 3, entrenamiento:

En términos de entrenamiento, decidí usar el aprendizaje por transferencia usando Tensorflow. Esto nos permite entrenar un modelo bastante preciso sin una gran cantidad de datos.

Hay un par de formas en las que podemos hacer esto. Podemos hacerlo en nuestra máquina de escritorio local en la nube. La capacitación en nuestra máquina local llevará mucho tiempo dependiendo de qué tan poderosa sea su computadora y si tiene una GPU poderosa. Esta es probablemente la forma más fácil en mi opinión, pero nuevamente con la desventaja de la velocidad.

Hay algunas cosas clave a tener en cuenta sobre el aprendizaje por transferencia. Debes asegurarte de que el modelo previamente entrenado que usas para entrenar sea compatible con Coral Edge TPU. Puede encontrar modelos compatibles aquí. Usé el modelo MobileNet SSD v2 (COCO). Siéntase libre de experimentar con otros también.

Para entrenar en su máquina local, recomendaría seguir el tutorial de Google o el tutorial de EdjeElectronics si se ejecuta en Windows 10. Personalmente, probé el tutorial de EdjeElectroncs y logré el éxito en mi escritorio. No puedo confirmar si el tutorial de Google funcionará, pero me sorprendería que no lo hiciera.

Para entrenar en la nube, puede usar AWS o GCP. Encontré este tutorial que puedes probar. Utiliza las TPU en la nube de Google que pueden entrenar su modelo de detección de objetos muy rápido. No dude en utilizar AWS también.

Ya sea que entrenes en tu máquina local o en la nube, deberías terminar con un modelo de flujo tensor capacitado.

Paso 4, compilación del modelo entrenado:

Para que su modelo entrenado funcione con Coral Edge TPU, debe compilarlo.

Aquí hay un diagrama del flujo de trabajo:

Después del entrenamiento, debe guardarlo como un gráfico congelado (archivo .pb). Luego, debe convertirlo en un modelo de Tensorflow Lite. Observe cómo dice "Cuantización posterior al entrenamiento". Si usó los modelos previamente entrenados compatibles al usar el aprendizaje por transferencia, no es necesario que haga esto. Eche un vistazo a la documentación completa sobre compatibilidad aquí.

Con el modelo Tensorflow Lite, debe compilarlo en un modelo Edge TPU. Vea los detalles sobre cómo hacer esto aquí.

Modelo de detección de reciclaje:

Si no desea repasar la molestia de entrenar, convertir y compilar el modelo de detección de objetos, consulte mi modelo de detección de reciclaje aquí.

Paso 5, Implemente el modelo:

El siguiente paso es configurar Raspberry Pi (RPI) y Edge TPU para ejecutar el modelo de detección de objetos entrenados.

Primero, configure el RPI usando este tutorial.

A continuación, configure Edge TPU siguiendo este tutorial.

Finalmente, conecte el módulo de la cámara RPI a la raspberry pi.

¡Ahora está listo para probar su modelo de detección de objetos!

Si ya clonó mi repositorio, querrá navegar al directorio RPI y ejecutar el archivo test_detection.py:

python test_detection.py --model recycling_ssd_mobilenet_v2_quantized_300x300_coco_2019_01_03 / detect_edgetpu.tflite --labels recycling_ssd_mobilenet_v2_quantized_300x300_coco_2019_01_03 / labels.txt

Debería aparecer una pequeña ventana y si coloca una botella de agua de plástico u otro material reciclado, debería detectarlo así:

Presione la letra "q" en su teclado para finalizar el programa.

Paso 6, Construya el brazo robótico:

El brazo robótico es un brazo impreso en 3D que encontré aquí. Simplemente siga el tutorial sobre cómo configurarlo.

Así es como quedó mi brazo:

Asegúrese de conectar los pines del servo a los pines de E / S de Arduino en mi código. Conecte los servos de la parte inferior a la superior del brazo en este orden:3, 11, 10, 9, 6, 5. ¡No conectarlos en este orden hará que el brazo mueva el servo incorrecto!

Pruebe para verlo funcionando navegando al directorio de Arduino y ejecutando el archivo basicMovement.ino. Esto simplemente agarrará un objeto que colocas frente al brazo y lo dejará caer detrás.

Paso 7, Conexión del RPI y el brazo robótico:

Primero necesitamos montar el módulo de la cámara en la parte inferior de la garra:

Intente alinear la cámara lo más recta posible para minimizar los errores al agarrar el material reciclado reconocido. Deberá utilizar el cable plano largo del módulo de la cámara como se ve en la lista de materiales.

A continuación, debe cargar el archivo roboticArm.ino en la placa Arduino.

Finalmente, solo tenemos que conectar un cable USB entre el puerto USB del RPI y el puerto USB del Arduino. Esto les permitirá comunicarse vía serial. Siga este tutorial sobre cómo configurar esto.

Paso 8, Toques finales:

Este paso es completamente opcional, pero me gusta poner todos mis componentes en una bonita caja de proyecto.

Así es como se ve:

Fuente:Reciclar el robot de clasificación con Google Coral


Proceso de manufactura

  1. Tren modelo
  2. Python / MicroPython Sensor Logger con Google Sheets
  3. Un robot móvil con evitación de obstáculos basada en la visión
  4. Robot con video controlado por web Raspberry Pi
  5. Robot desinfectante con luces ultravioleta
  6. Obstáculos que evitan el robot con servomotor
  7. Controlar un robot Roomba con Arduino y un dispositivo Android
  8. Dispositivos Bluetooth controlados por voz con OK Google
  9. Modelo arquitectónico de una parada de autobús con parasol automático V2
  10. Control PID de Robot Gripper en Matlab / Simulink
  11. Centro de torneado equipado con brazo robótico