Spaces:
Sleeping
Sleeping
Update README.md
Browse files
README.md
CHANGED
@@ -9,6 +9,48 @@ app_file: app.py
|
|
9 |
pinned: false
|
10 |
license: apache-2.0
|
11 |
short_description: Snap a dish photo and let S2C turn it into a recipe!
|
12 |
-
---
|
13 |
|
14 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
pinned: false
|
10 |
license: apache-2.0
|
11 |
short_description: Snap a dish photo and let S2C turn it into a recipe!
|
|
|
12 |
|
13 |
+
# Proyecto: Generador de Recetas desde Imágenes de Platillos
|
14 |
+
|
15 |
+
## Descripción General del Proyecto
|
16 |
+
|
17 |
+
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 platillo, 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 platillo, y un modelo de generación de lenguaje para crear la receta a partir de esa descripción.
|
18 |
+
|
19 |
+
## Problema a Resolver
|
20 |
+
|
21 |
+
En muchas ocasiones, una persona puede ver un platillo 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 platillo, eliminando la necesidad de realizar búsquedas complejas o depender de conocimientos previos sobre cocina.
|
22 |
+
|
23 |
+
### Solución Propuesta
|
24 |
+
|
25 |
+
La solución consiste en un espacio interactivo en Hugging Face donde los usuarios pueden cargar una imagen de un platillo y recibir una receta detallada que incluya:
|
26 |
+
|
27 |
+
- Una lista de ingredientes con cantidades exactas.
|
28 |
+
- Instrucciones paso a paso para cocinar el platillo.
|
29 |
+
|
30 |
+
#### Flujo de Trabajo
|
31 |
+
|
32 |
+
1. **Input**: El usuario sube una imagen de un platillo a la interfaz.
|
33 |
+
2. **Proceso**:
|
34 |
+
- **Modelo 1**: Se utiliza un modelo de "image-to-text" (Salesforce/blip-image-captioning-base) para generar una descripción del platillo a partir de la imagen.
|
35 |
+
- **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.
|
36 |
+
3. **Output**: El usuario recibe la descripción del platillo, la receta generada y la opción de descargarla en un archivo.
|
37 |
+
|
38 |
+
## Modelos Utilizados
|
39 |
+
|
40 |
+
1. **Salesforce/blip-image-captioning-base** (Clasificación: Image-to-Text):
|
41 |
+
- Este modelo se utiliza para analizar la imagen subida por el usuario y generar una descripción textual del platillo.
|
42 |
+
- **Limitaciones**: Puede tener dificultades para generar descripciones precisas si la imagen está desenfocada, tiene múltiples platillos o está obstruida.
|
43 |
+
|
44 |
+
2. **Qwen/Qwen2.5-72B-Instruct** (Clasificación: Language Generation):
|
45 |
+
- 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.
|
46 |
+
- **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.
|
47 |
+
|
48 |
+
## Interfaz de Usuario
|
49 |
+
|
50 |
+
La aplicación está diseñada para ser intuitiva y amigable, permitiendo al usuario:
|
51 |
+
|
52 |
+
- Subir una imagen del platillo.
|
53 |
+
- Recibir una descripción de la imagen, junto con una receta completa.
|
54 |
+
- Descargar la receta generada en un archivo para su comodidad.
|
55 |
+
|
56 |
+
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.
|