Recicle seu plástico melhor com inteligência artificial ♻️
A EcoSnap informa como e onde reciclar seus itens de uma imagem simples, com conselhos adaptados à sua localização. Construímos este produto em uma semana para Ben's Bite Ai Hackathon.
Experimente agora - é grátis sem sinal necessário
Você pode apoiar este projeto (e muitos outros) através dos patrocinadores do GitHub! ❤️
Feito por Alyssa X & Leo. Leia mais sobre como construímos isso aqui.
? Snap ou carregue uma imagem de um código plástico
Instale o PWA no seu telefone para facilitar o acesso
? Procure um item específico para saber como descartar
♻️ Aprenda a reciclar efetivamente usando a IA
? Acompanhe quantos itens de plástico você reciclou
? Mude sua localização para conselhos específicos
... e muito mais por vir - tudo de graça e sem login necessário!
Você pode implantar para o Vercel diretamente clicando aqui.
IMPORTANTE: Certifique -se de atualizar a variável de ambiente para next_public_model_url no arquivo .env e defini -lo como um URL absoluto em que você hospeda o modelo.json (inclua os outros arquivos shard bin ao lado do JSON).
O modelo foi treinado em exemplos de imagem dos 7 códigos de resina diferentes, os dados para isso podem ser encontrados no ml/seven_plastics . É uma combinação do seguinte conjunto de dados e imagens Kaggle coletadas pelos autores e colaboradores.
O modelo final foi treinado usando a implementação eficiente da TensorFlow, os pesos do modelo foram congelados para o aprendizado de transferência, para que o modelo pudesse aprender os códigos de resina mais rapidamente! O modelo foi treinado em Python em uma máquina movida a GPU, para treinamento mais rápido! Você pode encontrar o script de treinamento em ml/train.py e experimentá -lo por si mesmo, lá você verá que diferentes meta arquiteturas e parâmetros foram experimentados antes de chegar ao modelo final.
Para prever o código de resina plástica, o modelo teve que ser integrado ao aplicativo front-end para resultados em tempo real, para fazer isso, tivemos que converter o modelo de uma maneira que fosse compatível com o tensorflow.js. Usamos os trabalhadores da web para impedir que o encadeamento principal fosse bloqueado enquanto executava a previsão no cliente.
O aplicativo passa o tensor da imagem para o modelo que então oferece uma probabilidade para cada um dos códigos de resina plástica, aquele com a maior probabilidade é mostrada ao usuário, juntamente com conselhos sob medida !
Treinar um modelo específico é difícil, o modelo sempre erra as coisas. Então, se isso acontecer, damos ao usuário a oportunidade de nos dizer qual era o código certo! Isso se beneficia de várias maneiras:
Embora tenhamos implementado o front end para o loop de feedback, acabamos não conectando -o ao back -end, pois adicionava complexidade e custo, e queríamos que o aplicativo fosse muito leve e executado inteiramente no cliente. Também teríamos que nos comunicar claramente ao usuário como exatamente suas imagens seriam usadas e configurar um sistema de opção ou opção, que parecia um pouco pesado.
Sinta -se à vontade para entrar em contato conosco em [email protected], para Alyssa ou Leo diretamente se tiver alguma dúvida ou feedback! Espero que você ache isso útil?