Spaces:
Sleeping
Sleeping
title: Snap To Chef | |
emoji: 🔥 | |
colorFrom: yellow | |
colorTo: red | |
sdk: gradio | |
sdk_version: 5.5.0 | |
app_file: app.py | |
pinned: false | |
license: apache-2.0 | |
short_description: Snap a dish photo and let S2C turn it into a recipe! | |
# Proyecto: Generador de Recetas desde Imágenes de Platos de Comida | |
## Descripción General del Proyecto | |
Este proyecto consiste en una aplicación interactiva capaz de generar una receta detallada, incluyendo la lista de ingredientes y el paso a paso para cocinar un plato de comida, a partir de una imagen del mismo. La solución se basa en la combinación de dos modelos preentrenados disponibles en Hugging Face: un modelo de “image-to-text” para la descripción del plato de comida, y un modelo de generación de lenguaje para crear la receta a partir de esa descripción. | |
## Problema a Resolver | |
En muchas ocasiones, una persona puede ver un plato de comida atractivo en un restaurante, un evento o incluso en redes sociales, y quiere recrearlo en casa. Sin embargo, no siempre sabe cuáles son los ingredientes o los pasos necesarios para prepararlo. Este proyecto pretende ayudar a los usuarios proporcionando una receta detallada a partir de una imagen del plato de comida, eliminando la necesidad de realizar búsquedas complejas o depender de conocimientos previos sobre cocina. | |
### Solución Propuesta | |
La solución consiste en un espacio interactivo en Hugging Face donde los usuarios pueden cargar una imagen de un plato de comida y recibir una receta detallada que incluya: | |
- Una lista de ingredientes con cantidades exactas. | |
- Instrucciones paso a paso para cocinar el plato de comida. | |
#### Flujo de Trabajo | |
1. **Input**: El usuario sube una imagen de un plato de comida a la interfaz. | |
2. **Proceso**: | |
- **Modelo 1**: Se utiliza un modelo de "image-to-text" (Salesforce/blip-image-captioning-base) para generar una descripción del plato de comida a partir de la imagen. | |
- **Modelo 2**: Con la descripción generada, se utiliza un modelo de generación de lenguaje (Qwen/Qwen2.5-72B-Instruct) para generar la receta con la lista de ingredientes y las instrucciones paso a paso. | |
3. **Output**: El usuario recibe la descripción del plato de comida, la receta generada y la opción de descargarla en un archivo. | |
## Modelos Utilizados | |
1. **Salesforce/blip-image-captioning-base** (Clasificación: Image-to-Text): | |
- Este modelo se utiliza para analizar la imagen subida por el usuario y generar una descripción textual del plato de comida. | |
- **Limitaciones**: Puede tener dificultades para generar descripciones precisas si la imagen está desenfocada, tiene múltiples platos de comida o está obstruida. | |
2. **Qwen/Qwen2.5-72B-Instruct** (Clasificación: Language Generation): | |
- Se utiliza para crear una receta detallada basada en la descripción proporcionada por el primer modelo. Este modelo está entrenado para generar textos instructivos y responder de manera amigable. | |
- **Limitaciones**: La calidad de la receta puede depender de la claridad de la descripción inicial. Además, la generación de lenguaje puede ser propensa a la repetición o a ciertos errores si no se establece un buen control en los parámetros de generación. | |
## Interfaz de Usuario | |
La aplicación está diseñada para ser intuitiva y amigable, permitiendo al usuario: | |
- Subir una imagen del plato de comida. | |
- Recibir una descripción de la imagen, junto con una receta completa. | |
- Descargar la receta generada en un archivo para su comodidad. | |
La interfaz ha sido desarrollada usando **Gradio** para proporcionar una experiencia sencilla y clara para cualquier tipo de usuario, sin importar su nivel de conocimientos técnicos. |