Recicla mejor su plástico con inteligencia artificial ♻️
Ecosnap le dice cómo y dónde reciclar sus artículos de una imagen simple, con consejos adaptados a su ubicación. Construimos este producto en una semana para Ben's Bites Ai Hackathon.
Pruébalo ahora, es gratis sin necesidad de inicio de sesión
¡Puede apoyar este proyecto (y muchos otros) a través de los patrocinadores de GitHub! ❤️
Hecho por Alyssa X y Leo. Lea más sobre cómo construimos esto aquí.
? Romper o cargar una imagen de un código de plástico
Instale el PWA en su teléfono para facilitar el acceso
? Busque un elemento específico para saber cómo deshacerse de él
♻️ Aprenda a reciclar efectivamente usando AI
? Realice un seguimiento de cuántos artículos de plástico ha reciclado
? Cambie su ubicación para obtener consejos específicos
... y mucho más por venir, ¡todo gratis y no se necesita sesión!
Puede implementar en VERCE directamente haciendo clic aquí.
IMPORTANTE: Asegúrese de actualizar la variable de entorno para Next_Public_Model_url en el archivo .env, y configúrela en una URL absoluta donde aloja el Model.json (asegúrese de incluir los otros archivos de fragmentos junto con el JSON).
El modelo fue entrenado en ejemplos de imágenes de los 7 códigos de resina diferentes, los datos para esto se pueden encontrar en ml/seven_plastics . Es una combinación del siguiente conjunto de datos de Kaggle e imágenes recopiladas por los autores y colaboradores.
El modelo final se capacitó utilizando la implementación eficiente de TensorFlow, los pesos del modelo se congelaron para el aprendizaje de transferencia, por lo que el modelo podría aprender los códigos de resina más rápido. ¡El modelo fue entrenado en Python en una máquina con GPU, para un entrenamiento más rápido! Puede encontrar el script de entrenamiento en ml/train.py y probarlo por sí mismo, allí verá que se experimentaron diferentes meta arquitecturas y parámetros antes de llegar al modelo final.
Para predecir el código de resina de plástico, el modelo tuvo que integrarse con la aplicación frontal para obtener resultados en tiempo real, para hacer esto tuvimos que convertir el modelo de una manera compatible con tensorflow.js. Utilizamos trabajadores web para evitar que el hilo principal se bloquee mientras ejecuta la predicción en el cliente.
La aplicación pasa el tensor de imagen al modelo que luego ofrece una probabilidad para cada uno de los códigos de resina de plástico, el que tiene la mayor probabilidad se muestra al usuario, junto con consejos a medida .
Entrenar un modelo específico es difícil, el modelo siempre se equivoca. Entonces, si lo hace, le damos al usuario la oportunidad de decirnos cuál era el código correcto. Esto se beneficia de varias maneras:
Mientras implementamos la parte delantera para el circuito de comentarios, terminamos sin conectarlo al backend, ya que agregó complejidad y costo, y queríamos que la aplicación fuera muy liviana y funcionara por completo en el cliente. También tendríamos que comunicarnos claramente al usuario cómo se utilizarían exactamente sus imágenes y configurar un sistema de exclusión u exclusión, que se sintió un poco engorroso.
¡No dude en comunicarse con nosotros en [email protected], a Alyssa o Leo directamente si tiene alguna pregunta o comentarios! ¿Espero que encuentres esto útil?