Spaces:
Runtime error
Runtime error
File size: 9,669 Bytes
9cc66e2 19de612 9cc66e2 |
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 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 |
from core.controllers.pages_controller import Page
class Teoria(Page):
variables_globales = {
}
archivos_css = ["main",
"teoria"]
avances = [
{"fecha": 1960,
"texto": "Aparece 1"},
{"fecha": 1970,
"texto": "Aparece 2"},
{"fecha": 1980,
"texto": "Aparece 3"},
{"fecha": 1990,
"texto": "Aparece 4"},
{"fecha": 2000,
"texto": "Aparece 5"},
{"fecha": 2010,
"texto": "Aparece 6"},
{"fecha": 2020,
"texto": "Aparece 7"}
]
fuentes = [
{"titulo": "Analysis of Classification by Supervised and Unsupervised Learning",
"url": "https://www.computer.org/csdl/proceedings-article/iccima/2007/30500280/12OmNzxyiHV"},
{"titulo": "Implementation of Interval Arithmetic Algorithms on FPGAs",
"url": "https://dl.acm.org/doi/10.1109/ICCIMA.2007.237"},
{"titulo": "La Noticia 3",
"url": "https://enlace3.com"},
{"titulo": "La Noticia 4",
"url": "https://enlace4.com"},
{"titulo": "La Noticia 5",
"url": "https://enlac5.com"},
{"titulo": "La Noticia 6",
"url": "https://enlace6.com"},
]
def __init__(self, title=str("Teoría"), icon=str("🖼️"), init_page=False):
super().__init__()
if init_page:
self.new_page(title=title, icon=icon)
self.new_body(True)
self.init_globals(globals=self.variables_globales)
for archivo in self.archivos_css:
self.cargar_css(archivo_css=archivo)
def agregar_card_fundamentos(self, columna):
card_fundamentos = columna.container()
card_fundamentos.markdown(
unsafe_allow_html=False,
help=None,
body="""
## Sobre el origen de la tecnología
""")
expander = card_fundamentos.expander(
expanded=False,
label="Aspectos básicos y fundamentales de la clasificación de imágenes."
)
expander.markdown(
unsafe_allow_html=False,
help=None,
body="""
La **visión artificial** es un **campo interdisciplinario** que busca **emular la percepción visual humana** utilizando **sistemas computacionales**.
La **clasificación de imágenes**, es una rama esencial de la **visión artificial**, se refiere a la **capacidad de las computadoras** para **identificar y categorizar** objetos y patrones en **imágenes visuales.**
""")
imagen_intro1, imagen_intro2, imagen_intro3 = expander.columns(
3, gap="small")
src_imgI_1 = self.imgg.open("core/imagenes/shiba.png")
src_imgI_2 = self.imgg.open("core/imagenes/shiba.png")
src_imgI_3 = self.imgg.open("core/imagenes/shiba.png")
imagen_intro1.image(
src_imgI_1,
use_column_width="auto"
)
imagen_intro2.image(
src_imgI_2,
use_column_width="auto"
)
imagen_intro3.image(
src_imgI_3,
use_column_width="auto"
)
expander.markdown(
unsafe_allow_html=False,
help=None,
body="""
La **clasificación de imágenes** tuvo sus inicios en las **décadas de 1960 y 1970**, cuando los **investigadores** comenzaron a explorar **métodos** para la **detección** de bordes y formas elementales en **imágenes** [Roberts, 1973]. Fue en este **período** cuando se sentaron las **bases** para la **comprensión** computacional del **contenido visual**.
Las **primeras aplicaciones** de la **clasificación de imágenes** se centraron en la **detección y reconocimiento** de patrones básicos en **imágenes**, con **aplicaciones** en campos como la **industria manufacturera** y la **inspección de calidad**.
A lo largo de su **evolución**, la **clasificación de imágenes** por computadora ha experimentado **avances** notables.
""")
imagen_outro1, imagen_outro2 = expander.columns(2, gap="small")
src_imgO_1 = self.imgg.open("core/imagenes/shiba.png")
src_imgO_2 = self.imgg.open("core/imagenes/shiba.png")
imagen_outro1.image(
src_imgO_1,
use_column_width="auto"
)
imagen_outro2.image(
src_imgO_2,
use_column_width="auto"
)
expander.markdown(
unsafe_allow_html=False,
help=None,
body="""
Desde su **descubrimiento** en la década de **1960**, la introducción de **redes neuronales convolucionales** (CNN) en los **90's**, incluyendo la última década, marcada por la adopción de **modelos** pre-entrenados con **transformers**, como el **Vision Transformer** (ViT) en **2021** y el **Swin Transformer** en el mismo año, se ha presenciado una **transición significativa** en la **capacidad** de las **computadoras** para **comprender y categorizar contenido visual**, impulsando la **visión artificial** hacia nuevas fronteras de **eficiencia y precisión** en la **clasificación de imágenes**.
""")
card_fundamentos.markdown(
unsafe_allow_html=False,
help=None,
body="""
##### La **clasificación de imágenes**, esencial en **visión artificial**, implica que las **computadoras identifiquen objetos en imágenes.**
""")
def agregar_card_avances(self, columna):
card_avances = columna.container()
card_avances.markdown(
unsafe_allow_html=False,
help=None,
body="""
## Línea de tiempo.
""")
expander = card_avances.expander(
expanded=False,
label="Avances, desarrollos y aplicaciones a través de la historia."
)
expander.markdown(
unsafe_allow_html=False,
help=None,
body="""
Desde la **década de 1960** hasta la **actualidad**, la **clasificación de imágenes** por **visión artificial** ha tenido **grandes avances**.
A continuación puede **ver** de forma **interactiva** algunos de estos **avances**.
""")
a_inicio, a_fin = expander.select_slider(
label='Seleccione un rango de fecha',
options=[avance.get('fecha') for avance in self.avances],
value=(self.avances[1].get('fecha'), self.avances[2].get('fecha')))
expander.markdown(
unsafe_allow_html=False,
help=None,
body=f"""
##### Algunos acontecimientos desde {a_inicio} hasta {a_fin} incluyen:
"""
)
for fecha in range(a_inicio, a_fin+1):
for avance in self.avances:
if fecha == avance.get('fecha'):
expander.markdown(
unsafe_allow_html=False,
help=None,
body=f"""
###### **{avance.get('fecha')}** : *{avance.get('texto')}*
"""
)
card_avances.markdown(
unsafe_allow_html=False,
help=None,
# Esto se logra mediante el entrenamiento de **algoritmos de aprendizaje profundo**, como las **redes neuronales convolucionales (CNN)** o modelos basados en **Transformers**. Estos algoritmos se entrenan utilizando un **amplio conjunto de datos** de imágenes etiquetadas, donde cada imagen tiene una **etiqueta que describe** su contenido (por ejemplo, "gato" o "árbol").
# A continuación veremos cómo la librería Transformers utiliza el **modelo pre-entrenado Google/ViT**, entrenado con un conjunto de datos de más de 14 millones de imágenes, etiquetadas en más de 21,000 clases diferentes, todas con una resolución de 224x224.
body="""
##### Desde sus **orígenes** hasta la **actualidad**, la **clasificación de imágenes** ha tenido **grandes avances** en el campo de la **automatización e inteligencia artificial**.
""")
def agregar_card_fuentes(self, columna):
card_fuentes = columna.container()
card_fuentes.markdown(
unsafe_allow_html=False,
help=None,
body="""
## Fuentes
""")
expander = card_fuentes.expander(
expanded=False,
label="Enlaces de referencia."
)
for fuente in self.fuentes:
expander.markdown(
unsafe_allow_html=False,
help=None,
body=f"""
###### * **{fuente.get('titulo')}:**
*Enlace: {fuente.get('url')}*
"""
)
card_fuentes.markdown(
unsafe_allow_html=False,
help=None,
body="""
###### Es **importante** mencionar que esta **compilación** se encuentra en proceso de **construcción**.
*Si deseas **participar**, eres **bienvenido** de aportar en el repositorio oficial:*
https://github.com/coder160/demos/
""")
def build(self):
# secciones
columna_principal = self.get_body().columns(1, gap="small")[0]
self.agregar_card_fundamentos(columna_principal)
self.agregar_card_avances(columna_principal)
self.agregar_card_fuentes(columna_principal)
if __name__ == "__main__":
Teoria(init_page=True).build()
|