Programa para Google Colab que realice este proceso:
tomar una imagen de una URL, analizarla para generar una descripción en texto, y luego mostrar tanto la imagen como el texto generado. Para esto, usaremos la biblioteca transformers de Hugging Face y PIL para cargar y visualizar la imagen.
Este programa usará el modelo BLIP (Bootstrapping Language-Image Pretraining), que es muy efectivo para tareas de generación de descripciones de imágenes.
# Instalar Hugging Face Transformers y TorchVision si aún no están instalados
!pip install -q transformers torch torchvision
# Importar las bibliotecas necesarias
import torch
from transformers import BlipProcessor, BlipForConditionalGeneration
from PIL import Image
import requests
from io import BytesIO
import matplotlib.pyplot as plt
# Función para cargar la imagen desde una URL y convertirla en el formato necesario
def cargar_imagen(url):
response = requests.get(url)
image = Image.open(BytesIO(response.content)).convert("RGB")
return image
# Configuración del modelo y procesador BLIP
processor = BlipProcessor.from_pretrained("Salesforce/blip-image-captioning-base")
model = BlipForConditionalGeneration.from_pretrained("Salesforce/blip-image-captioning-base")
# URL de la imagen
url_imagen = "https://img.freepik.com/foto-gratis/mujer-tiro-completo-bicicleta-al-aire-libre_23-2149413735.jpg"
# Cargar y procesar la imagen
imagen = cargar_imagen(url_imagen)
inputs = processor(images=imagen, return_tensors="pt")
# Generar la descripción de la imagen
salida = model.generate(**inputs)
descripcion = processor.decode(salida[0], skip_special_tokens=True)
# Mostrar la imagen y su descripción
plt.figure(figsize=(8, 8))
plt.imshow(imagen)
plt.axis("off")
plt.title("Descripción generada: " + descripcion)
plt.show()
# Imprimir la descripción en texto
print("Descripción de la imagen:", descripcion)
¡Por supuesto! Te proporcionaré un programa para Google Colab que realice un proceso similar al que describes: tomar una imagen de una URL, analizarla para generar una descripción en texto, y luego mostrar tanto la imagen como el texto generado. Para esto, usaremos la biblioteca **transformers** de Hugging Face y **PIL** para cargar y visualizar la imagen.
Este programa usará el modelo **BLIP** (Bootstrapping Language-Image Pretraining), que es muy efectivo para tareas de generación de descripciones de imágenes.
### Código para Google Colab
```python
# Instalar Hugging Face Transformers y TorchVision si aún no están instalados
!pip install -q transformers torch torchvision
# Importar las bibliotecas necesarias
import torch
from transformers import BlipProcessor, BlipForConditionalGeneration
from PIL import Image
import requests
from io import BytesIO
import matplotlib.pyplot as plt
# Función para cargar la imagen desde una URL y convertirla en el formato necesario
def cargar_imagen(url):
response = requests.get(url)
image = Image.open(BytesIO(response.content)).convert("RGB")
return image
# Configuración del modelo y procesador BLIP
processor = BlipProcessor.from_pretrained("Salesforce/blip-image-captioning-base")
model = BlipForConditionalGeneration.from_pretrained("Salesforce/blip-image-captioning-base")
# URL de la imagen
url_imagen = "https://img.freepik.com/foto-gratis/mujer-tiro-completo-bicicleta-al-aire-libre_23-2149413735.jpg"
# Cargar y procesar la imagen
imagen = cargar_imagen(url_imagen)
inputs = processor(images=imagen, return_tensors="pt")
# Generar la descripción de la imagen
salida = model.generate(**inputs)
descripcion = processor.decode(salida[0], skip_special_tokens=True)
# Mostrar la imagen y su descripción
plt.figure(figsize=(8, 8))
plt.imshow(imagen)
plt.axis("off")
plt.title("Descripción generada: " + descripcion)
plt.show()
# Imprimir la descripción en texto
print("Descripción de la imagen:", descripcion)
```