skin-analyzer / app.py
loregoddddd's picture
Update app.py
a9735d1 verified
# -*- coding: utf-8 -*-
import gradio as gr
from transformers import pipeline
import time
modelo = pipeline("image-classification", model="imfarzanansari/skintelligent-acne")
def analizar_piel(imagen):
if imagen is None:
yield (
"## \U0001f4f8 Sube una foto de tu rostro\n\n"
"Para un análisis preciso:\n"
"- Luz natural directa en tu cara\n"
"- Sin filtros ni efectos\n"
"- Rostro centrado a 30-40 cm\n"
"- Sin maquillaje"
)
return
yield (
"## \U0001f50d Escaneando tu piel...\n\n"
"Analizando zonas del rostro...\n\n"
"*Procesando con IA dermatológica...*"
)
time.sleep(2)
yield (
"## \U0001f9ec Identificando tipo de acné...\n\n"
"Comparando con miles de casos clínicos...\n\n"
"*Casi listo...*"
)
time.sleep(2)
try:
resultados = modelo(imagen)
top = resultados[0]
label = top["label"].strip()
if label == "level -1":
yield (
"## \U0001f4f7 No pudimos analizar tu foto\n\n"
"---\n\n"
"La imagen no tiene suficiente claridad.\n\n"
"**Intenta con:**\n"
"- Mejor iluminación directa\n"
"- Sin filtros de cámara\n"
"- Rostro bien centrado y cerca"
)
elif label == "level 0":
yield (
"## \u2705 Piel saludable\n\n"
"---\n\n"
"Tu piel no presenta signos visibles de acné activo.\n\n"
"Pero la piel saludable necesita mantenimiento. "
"Sin una rutina correcta, el acné puede aparecer en cualquier momento.\n\n"
"**Zona:** Sin zonas de preocupación detectadas\n\n"
"---\n\n"
"### \U0001f512 Tu rutina preventiva personalizada está en Skinia Premium\n\n"
"¿Quieres mantener tu piel así para siempre?\n\n"
"**Skinia Premium incluye:**\n"
"- Rutina mañana y noche diseñada para tu piel\n"
"- Productos exactos para prevenir brotes\n"
"- Seguimiento semanal con fotos\n"
"- Tips de alimentación para tu piel\n\n"
"**\U0001f449 Obtener Skinia Premium: https://skinia.lat/premium.html**\n\n"
"---\n"
"*Skinia analiza tu piel con inteligencia artificial. Este análisis es orientativo.*"
)
elif label == "level 1":
yield (
"## \U0001f7e1 Acné leve detectado\n\n"
"---\n\n"
"Detectamos **puntos negros, espinillas o granos pequeños** en tu piel.\n\n"
"En este nivel el acné responde muy bien al tratamiento correcto. "
"Con los productos adecuados puedes ver mejoras en **3 a 4 semanas**. "
"Sin tratamiento, puede avanzar a moderado.\n\n"
"**Zona principal:** Frente y zona T (nariz y mentón)\n\n"
"---\n\n"
"### \U0001f512 Tu plan de acción completo está en Skinia Premium\n\n"
"Con tu rutina personalizada Skinia Premium puedes eliminar esto en semanas.\n\n"
"**Skinia Premium incluye:**\n"
"- Rutina mañana y noche para tu tipo de acné\n"
"- Productos específicos recomendados por nivel\n"
"- Seguimiento semanal con comparación de fotos\n"
"- Tips de alimentación que afectan tu piel\n"
"- Explicación detallada de tu tipo de acné\n\n"
"**\U0001f449 Obtener Skinia Premium: https://skinia.lat/premium.html**\n\n"
"---\n"
"*Skinia analiza tu piel con inteligencia artificial. Este análisis es orientativo.*"
)
elif label == "level 2":
yield (
"## \U0001f7e0 Acné moderado detectado\n\n"
"---\n\n"
"Varias zonas de tu rostro presentan **inflamación activa y granos visibles**.\n\n"
"Tu piel necesita una rutina específica ahora. "
"Los productos genéricos pueden **empeorar la situación** si no están pensados para tu tipo de acné. "
"Sin tratamiento correcto, este nivel puede dejar **marcas permanentes**.\n\n"
"**Zona principal:** Mejillas, frente y mentón\n\n"
"---\n\n"
"### \U0001f6a8 Tu plan de acción completo está en Skinia Premium\n\n"
"Tu rutina personalizada Skinia Premium incluye los productos exactos para tu nivel de acné.\n\n"
"**Skinia Premium incluye:**\n"
"- Rutina mañana y noche para tu tipo de acné\n"
"- Productos específicos recomendados por nivel\n"
"- Seguimiento semanal con comparación de fotos\n"
"- Tips de alimentación que afectan tu piel\n"
"- Explicación detallada de tu tipo de acné\n\n"
"**\U0001f449 Obtener Skinia Premium: https://skinia.lat/premium.html**\n\n"
"---\n"
"*Skinia analiza tu piel con inteligencia artificial. Este análisis es orientativo.*"
)
elif label == "level 3":
yield (
"## \U0001f534 Acné severo detectado\n\n"
"---\n\n"
"Tu piel presenta **inflamación intensa en múltiples zonas del rostro**.\n\n"
"\u26a0\ufe0f Este nivel es el más difícil de tratar sin guía. "
"Usar los productos incorrectos puede **empeorar la inflamación y dejar cicatrices permanentes**. "
"Cada día sin tratamiento correcto aumenta el riesgo de marcas que no desaparecen.\n\n"
"**Zona principal:** Rostro completo\n\n"
"---\n\n"
"### \U0001f6a8 Necesitas actuar ahora — Skinia Premium\n\n"
"Tu rutina Skinia Premium está diseñada específicamente para acné severo.\n\n"
"**Skinia Premium incluye:**\n"
"- Rutina mañana y noche para tu tipo de acné\n"
"- Productos específicos recomendados por nivel\n"
"- Seguimiento semanal con comparación de fotos\n"
"- Tips de alimentación que afectan tu piel\n"
"- Explicación detallada de tu tipo de acné\n\n"
"**\U0001f449 Obtener Skinia Premium: https://skinia.lat/premium.html**\n\n"
"---\n"
"*Skinia analiza tu piel con inteligencia artificial. Este análisis es orientativo.*"
)
else:
yield "No pudimos determinar el nivel de tu piel. Intenta con otra foto."
except Exception:
yield "Error al analizar. Por favor intenta con otra foto clara de tu rostro."
interfaz = gr.Interface(
fn=analizar_piel,
inputs=gr.Image(
type="pil",
label="\U0001f4f8 Foto de tu rostro",
sources=["upload", "webcam"]
),
outputs=gr.Markdown(label="Tu análisis"),
title="Skinia \u2014 Analizador de Piel con IA",
description="Sube una foto o usa tu cámara. Análisis gratuito en segundos.",
examples=[]
)
interfaz.launch()