File size: 3,369 Bytes
19a5591
 
 
 
 
 
7500ba9
6f2b2b6
 
 
45bb8a3
6f2b2b6
 
 
 
45bb8a3
6f2b2b6
45bb8a3
6f2b2b6
7500ba9
19a5591
 
7500ba9
 
 
 
19a5591
7500ba9
19a5591
e0aec30
7500ba9
 
 
 
 
 
 
 
5136125
7500ba9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c691223
7500ba9
 
 
f9bb667
 
 
 
7500ba9
 
19a5591
 
7500ba9
 
 
 
 
 
 
 
 
19a5591
7500ba9
 
 
 
 
 
 
 
 
19a5591
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
import gradio as gr
import tensorflow as tf

path_to_model = "./skin_model_23_75.18.h5"
model = tf.keras.models.load_model(path_to_model)

labels = [
    'Acné / Rosácea', 'Queratosis Actínica / Carcinoma Basocelular', 
    'Dermatitis Atópica', 'Enfermedad Bullosa', 
    'Celulitis Impétigo (Infecciones Bacterianas)', 
    'Eczema', 'Exanthems (Erupciones Cutáneas por Medicamentos)', 'Pérdida de Cabello (Alopecia)', 
    'Herpes HPV', 'Trastornos de Pigmentación', 
    'Lupus',
    'Melanoma (Cáncer de Piel)', 'Hongos en las Uñas', 
    'Hiedra Venenosa', 
    'Psoriasis (Lichen Planus)', 'Sarna Lyme', 
    'Queratosis Seborreica', 'Enfermedad Sistémica', 
    'Tinea Ringworm (Infecciones Fúngicas)', 
    'Urticaria Ronchas', 'Tumores Vasculares', 'Vasculitis', 'Verrugas Molusco'
]

def classify_image(photos):
    photos = photos.reshape((-1, 224, 224, 3))
    prediction = model.predict(photos).flatten()
    confidences = {labels[i]: float(prediction[i]) for i in range(23)}
    return confidences

title = "IA-DERM DETECTION PFIZER"

article = (
    "Se propone un sistema automatizado para el diagnóstico de las 23 enfermedades comunes de la piel:\n\n"
    "1. Acné / Rosácea\n"
    "2. Queratosis Actínica / Carcinoma Basocelular\n"
    "3. Dermatitis Atópica\n"
    "4. Enfermedades Bullosas\n"
    "5. Celulitis / Impétigo (Infecciones Bacterianas)\n"
    "6. Eccema\n"
    "7. Exantemas (Erupciones Cutáneas por Medicamentos)\n"
    "8.  (areata)\n"
    "9. Herpes / VPH\n"
    "10. Trastornos de la Pigmentación\n"
    "11. Lupus\n"
    "12. Melanoma (Cáncer de Piel)\n"
    "13. Hongos en las Uñas\n"
    "14. Hiedra Venenosa\n"
    "15. Psoriasis (liquen plano)\n"
    "16. Sarna / Enfermedad de Lyme\n"
    "17. Queratosis Seborreica\n"
    "18. Enfermedad Sistémica\n"
    "19. Tiña / Tiña (Infecciones Fúngicas)\n"
    "20. Urticaria / Ronchas\n"
    "21. Tumores Vasculares\n"
    "22. Vasculitis\n"
    "23. Verrugas / Molusco\n\n"
    "Este sistema automatizado se basa en un modelo preentrenado EfficientNetB7, capaz de diagnosticar 23 enfermedades cutáneas comunes. La interfaz te permite cargar una imagen y obtener las probabilidades de cada enfermedad detectada."
    "<p style='text-align: center'>"
    "<span style='font-size: 15pt;'>IADERM . Jeysshon Bustos . 2023.</span>"
    "</p>"
)

description= (

    "Utilizamos la interfaz de usuario generada por Gradio para ingresar imágenes a nuestra red neuronal convolucional, la cual ha sido entrenada con el propósito de realizar clasificaciones de imágenes. Esta red neuronal demostró su capacidad al lograr una precisa categorización de la imagen proporcionada. En ocasiones, resulta beneficioso ajustar el tamaño de la imagen mediante la interfaz de Gradio para potenciar aún más su rendimiento."
)

examples = [
    ['./123.jpg'],
    ['./acne-closed-comedo-2.jpg'],
    ['./distal-subungual-onychomycosis-86.jpg'],
    ['./cherry-angioma-16.jpg'],
    ['./malignant-melanoma-16.jpg'],  
    ['./tinea-primary-lesion-15.jpg'],
    ['./congenital-nevus-35.jpg'],
    ['./tinea-body-137.jpg']               
]

gr.Interface(
    fn=classify_image,
    title=title,
    article=article,
    description=description,
    inputs=gr.inputs.Image(shape=(224, 224)),
    outputs=gr.outputs.Label(num_top_classes=4),
    examples=examples
).launch()