Spaces:
Sleeping
Sleeping
Update README.md
Browse files
README.md
CHANGED
|
@@ -10,44 +10,76 @@ pinned: false
|
|
| 10 |
short_description: Comment on an image in writing and through audio.
|
| 11 |
---
|
| 12 |
|
| 13 |
-
# Descripción del Proyecto
|
| 14 |
|
| 15 |
-
## **
|
|
|
|
| 16 |
|
| 17 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 18 |
|
| 19 |
-
|
| 20 |
-
2. **Audio**: A partir de la descripción generada en texto, se utiliza un modelo de **síntesis de voz** para convertir el texto en una locución de alta calidad.
|
| 21 |
|
| 22 |
-
|
|
|
|
|
|
|
|
|
|
| 23 |
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 27 |
|
| 28 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 29 |
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
|
|
|
|
|
|
|
|
|
| 37 |
|
| 38 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 39 |
|
| 40 |
-
|
| 41 |
-
|
| 42 |
-
|
| 43 |
-
|
| 44 |
-
|
| 45 |
-
|
|
|
|
| 46 |
|
| 47 |
-
## **
|
|
|
|
|
|
|
|
|
|
| 48 |
|
| 49 |
-
|
| 50 |
-
|
| 51 |
-
|
|
|
|
| 52 |
|
| 53 |
-
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
|
|
|
| 10 |
short_description: Comment on an image in writing and through audio.
|
| 11 |
---
|
| 12 |
|
| 13 |
+
# Descripción del Proyecto: **Cocktail Descriptions**
|
| 14 |
|
| 15 |
+
## **Problema:**
|
| 16 |
+
El objetivo es crear una interfaz interactiva para que los usuarios puedan elegir un cóctel de una lista, visualizar su nombre, imagen, instrucciones de preparación y escuchar las instrucciones y descripciones del cóctel de manera hablada. Para ello, se utilizarán APIs externas y modelos de inteligencia artificial para generar descripciones de imágenes y convertir texto en audio.
|
| 17 |
|
| 18 |
+
El desafío consiste en:
|
| 19 |
+
1. **Obtener información sobre cócteles** desde una API externa (TheCocktailDB).
|
| 20 |
+
2. **Generar una descripción** de la imagen del cóctel utilizando un modelo de procesamiento de imágenes.
|
| 21 |
+
3. **Convertir el texto de las instrucciones** del cóctel y la descripción de la imagen en audio utilizando un modelo de síntesis de voz.
|
| 22 |
+
4. **Presentar todo esto en una interfaz interactiva** con Gradio, que permita seleccionar un cóctel, ver su imagen, leer las instrucciones y escuchar tanto las instrucciones como la descripción de la imagen.
|
| 23 |
|
| 24 |
+
## **Solución Propuesta:**
|
|
|
|
| 25 |
|
| 26 |
+
### **Input:**
|
| 27 |
+
1. **Selección de Cóctel:** El usuario puede elegir un cóctel de una lista cargada desde la API TheCocktailDB.
|
| 28 |
+
2. **Modelo de Descripción de Imagen:** El modelo BLIP (Bootstrapping Language-Image Pretraining) se usará para generar una descripción textual de la imagen del cóctel seleccionada.
|
| 29 |
+
3. **Modelo de Síntesis de Voz:** El modelo SpeechT5 se usará para convertir tanto las instrucciones del cóctel como la descripción de la imagen en audio, con voz personalizada mediante embeddings de hablante (Speaker Embedding).
|
| 30 |
|
| 31 |
+
### **Output Esperado:**
|
| 32 |
+
1. **Nombre del Cóctel:** El nombre del cóctel seleccionado.
|
| 33 |
+
2. **Imagen del Cóctel:** Una imagen del cóctel obtenida de la API.
|
| 34 |
+
3. **Instrucciones del Cóctel:** Un texto con las instrucciones para preparar el cóctel.
|
| 35 |
+
4. **Audio con Instrucciones:** Un archivo de audio con las instrucciones habladas.
|
| 36 |
+
5. **Descripción de la Imagen:** Un texto con la descripción de la imagen generada por el modelo BLIP.
|
| 37 |
+
6. **Audio de la Descripción de la Imagen:** Un archivo de audio con la descripción hablada de la imagen.
|
| 38 |
|
| 39 |
+
### **Tecnologías Utilizadas:**
|
| 40 |
+
1. **Gradio:** Para la creación de la interfaz interactiva en la que los usuarios puedan elegir cócteles y ver las descripciones e imágenes.
|
| 41 |
+
2. **Transformers de Hugging Face:**
|
| 42 |
+
- **BLIP (Image-to-Text)** para la descripción de imágenes.
|
| 43 |
+
- **SpeechT5 (Text-to-Speech)** para la conversión de texto a audio.
|
| 44 |
+
3. **API TheCocktailDB:** Para obtener información sobre los cócteles (nombres, imágenes, instrucciones).
|
| 45 |
+
4. **Torch y Datasets de Hugging Face:** Para cargar los embeddings de voz y personalizar la voz utilizada para la síntesis.
|
| 46 |
|
| 47 |
+
### **Modelos Utilizados:**
|
| 48 |
+
1. **BLIP (Bootstrapping Language-Image Pretraining):**
|
| 49 |
+
- **Clasificación:** Generación de texto a partir de una imagen.
|
| 50 |
+
- **Descripción:** BLIP es un modelo de preentrenamiento en imágenes y lenguaje, ideal para tareas de descripción de imágenes.
|
| 51 |
+
- **Limitaciones:**
|
| 52 |
+
- Aunque es eficaz en describir imágenes, puede generar descripciones genéricas o incorrectas si la imagen no contiene suficiente contexto relevante para el modelo.
|
| 53 |
+
- No tiene conocimiento específico sobre cócteles o bebidas, por lo que las descripciones pueden no ser siempre precisas.
|
| 54 |
|
| 55 |
+
2. **SpeechT5 (Text-to-Speech):**
|
| 56 |
+
- **Clasificación:** Síntesis de voz a partir de texto.
|
| 57 |
+
- **Descripción:** SpeechT5 es un modelo de transformación de texto a voz, utilizando una arquitectura basada en transformadores. En este proyecto, se utiliza para generar audios personalizados con las instrucciones del cóctel y la descripción de la imagen.
|
| 58 |
+
- **Limitaciones:**
|
| 59 |
+
- La calidad de la voz puede depender de los embeddings del hablante, y en ciertos casos puede no sonar completamente natural.
|
| 60 |
+
- Aunque soporta varios idiomas, la pronunciación puede ser imperfecta en idiomas no entrenados explícitamente.
|
| 61 |
|
| 62 |
+
3. **Embeddings de Voz (Speaker Embeddings):**
|
| 63 |
+
- **Clasificación:** Adaptación de la voz en la síntesis de texto a voz.
|
| 64 |
+
- **Descripción:** Los embeddings de voz permiten personalizar la voz generada por el modelo SpeechT5, adaptándola a una voz específica (en este caso, un hablante masculino de un dataset predefinido).
|
| 65 |
+
- **Limitaciones:**
|
| 66 |
+
- Puede haber limitaciones en la personalización de la voz, ya que solo se utilizan los embeddings disponibles en el dataset (CMU Arctic).
|
| 67 |
|
| 68 |
+
## **Flujo del Proyecto:**
|
| 69 |
+
1. **Selección del Cóctel:** El usuario selecciona un cóctel de la lista cargada desde la API (por ejemplo, "Margarita").
|
| 70 |
+
2. **Obtención de Información:** El sistema obtiene información detallada sobre el cóctel: nombre, instrucciones y la imagen del cóctel.
|
| 71 |
+
3. **Generación de Descripción de la Imagen:** Utilizando el modelo BLIP, se genera una descripción de la imagen del cóctel.
|
| 72 |
+
4. **Síntesis de Voz para Instrucciones:** El texto de las instrucciones se convierte en audio utilizando el modelo SpeechT5.
|
| 73 |
+
5. **Síntesis de Voz para la Descripción de la Imagen:** La descripción de la imagen también se convierte en audio utilizando SpeechT5.
|
| 74 |
+
6. **Presentación en la Interfaz:** Los resultados (nombre, imagen, instrucciones, descripciones y audios) se muestran en la interfaz de usuario de Gradio.
|
| 75 |
|
| 76 |
+
## **Posibles Limitaciones:**
|
| 77 |
+
1. **Conexión a la API de TheCocktailDB:** Si hay problemas de conectividad o si la API no devuelve datos válidos, el sistema puede fallar al cargar la lista de cócteles.
|
| 78 |
+
2. **Precisión en la Descripción de la Imagen:** El modelo BLIP puede no generar descripciones precisas de las imágenes, especialmente si los cócteles tienen decoraciones complejas o inusuales.
|
| 79 |
+
3. **Limitaciones de los Modelos TTS:** Los audios generados pueden no ser completamente naturales o adecuados para todos los usuarios debido a las limitaciones del modelo SpeechT5 y los embeddings de voz disponibles.
|
| 80 |
|
| 81 |
+
---
|
| 82 |
+
|
| 83 |
+
## **Conclusión:**
|
| 84 |
+
Este proyecto crea una experiencia interactiva donde los usuarios pueden elegir un cóctel, visualizar su imagen y obtener tanto las instrucciones habladas como la descripción de la imagen. La solución combina procesamiento de imágenes, generación de texto y síntesis de voz para ofrecer una experiencia única. Sin embargo, existen algunas limitaciones inherentes a los modelos y la conectividad a la API externa que pueden afectar la precisión o el rendimiento del sistema.
|
| 85 |
|
|
|