0% encontró este documento útil (0 votos)
9 vistas4 páginas

Sistema de Visión Artificial para Dígitos

El Proyecto 2 de CS1000 consiste en implementar un sistema de visión artificial para detectar dígitos escritos a mano utilizando el dataset 'digits' de scikit-learn. Se requiere manipular el dataset, mostrar imágenes promediadas, clasificar un nuevo dígito ingresado y evaluar dos métodos de clasificación, además de entregar un informe y una presentación oral. Los entregables incluyen un zip con el código, un informe en PDF con conclusiones y una presentación donde todos los miembros deben demostrar conocimiento del proyecto.

Cargado por

Lucia Noceda
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
9 vistas4 páginas

Sistema de Visión Artificial para Dígitos

El Proyecto 2 de CS1000 consiste en implementar un sistema de visión artificial para detectar dígitos escritos a mano utilizando el dataset 'digits' de scikit-learn. Se requiere manipular el dataset, mostrar imágenes promediadas, clasificar un nuevo dígito ingresado y evaluar dos métodos de clasificación, además de entregar un informe y una presentación oral. Los entregables incluyen un zip con el código, un informe en PDF con conclusiones y una presentación donde todos los miembros deben demostrar conocimiento del proyecto.

Cargado por

Lucia Noceda
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

CS1000 Introducción a las

Ciencias de la Computación
Proyecto 2
Pregrado
2025-1
Profesor: Ian Paul Brossard

Proyecto 2
Usted implementará un sistema de visión artificial que detectará un número escrito a
mano en un papel. Para esto, usará el dataset «digits» disponile en el paquete scikit-learn.
Se le pide:
a) Manipular el dataset digits de sklearn para generar matrices de 8x8 con las
imágenes promedio de cada uno de los 10 dígitos disponibles en este dataset.
Puede generarlas todas juntas, o generarlas en base a un menú, o generarlas en
base al número que el usuario ingrese por input de teclado.
b) Muestre las matrices de 8x8 de dichos 10 promedios en alguna forma que sea
visualmente comprensible para los seres humanos. Puede mostrar su imagen de la
manera que usted desee. Aquí se le presentan algunas ideas:
• Puede usar el formato condicional de Excel o Google Sheets.
• Puede imprimir los números con colores en la salida de pycharm (si lo
hace en pycharm, puede poner los números 0 de color negro y los números
16 de algún color elegido por usted, y usar colores intermedios para las
tonalidades entre 1 y 15).
• Puede generar un archivo de imagen a partir de su matriz de 8x8 y mostrar
la imagen en algún reproductor de imágenes.
• Puede generar un archivo de imagen a partir de su matriz de 8x8 y mostrar
la imagen desde Pycharm.
c) Lea un nuevo dígito. Este puede ser un dígito dibujado por usted y convertido a
8x8 con valores entre 0 y 16 donde 0 es completamente blanco y 16 es
completamente negro (para eso deberá convertir los 255 a 0 y los 0 a 16), o
también podría ser una entrada por teclado con los 64 valores.
d) Una vez capturado el nuevo número en 8x8, busque los 3 dígitos más parecidos a
este. Es decir, debe recorrer todos los dígitos del dataset digits y calcular la
distancia euclidiana (la raíz cuadrada de la suma de los cuadrados de las
diferencias entre los 64 valores de cad imagen del dataset digits y los 64 valores
de su número nuevo), y quedarse con los 3 dígitos más cercanos, es decir, aquellos
que tengan las 3 menores distancias euclidianas con respecto a su nuevo número.
e) Imprima los targets que corresponden los 3 dígitos más cercanos a su nuevo dígito
ingresado.
f) Intente clasificar a su nuevo dígito:
• Si 2 de los 3 targets corresponden a un mismo valor, o si los 3
corresponden a un mismo valor, su programa deberá concluir que su nuevo
dígito ingresado corresponde a dicho target también, por lo que deberá
imprimir un mensaje que diga “Soy la inteligencia artificial, y he detectado
que el dígito ingresado corresponde al número X”, donde X es un número
entre 0 y 9.
• Si los 3 targets son diferentes, usted decida qué hacer para clasificar al
número nuevo. La tarea de usted es clasificar a dicho número. Puede
implementar el método que desee.
g) Finalmente, calcule la distancia el nuevo dígito ingresado y los 10 dígitos
promedios generados en el inciso a) de este enunciado. Identifique cuál es la
menor de las 10 distancias. Su programa deberá concluir que el dígito ingresado
corresponde a aquél promedio que generó la menor distancia, por lo que deberá
imprimir un mensaje que diga “Soy la inteligencia artificial versión 2, y he
detectado que el dígito ingresado corresponde al número X”, donde X es un
número entre 0 y 9.
h) Indique cuál de los dos métodos cree usted que es mejor, el de la versión 1 (inciso
f de este enunciado) o el de la versión 2 (inciso g este enunciado). Debe mostrar
estadísticas de los experimentos que hico para determinar cuál es el mejor. Deberá
mostrar indicadores de precisión básicos.
• Debe indicar la cantidad de imágenes nuevas que clasifico en cada
experimento.
• Debe identificar para qué número o números funciona mejor su propuesta
de clasificación automática funciona mejor o peor.

Entregables:
Su trabajo deberá contener los siguientes elementos:
• Un zip con el proyecto de Python (debe incluir los archivos generados / usados).
• Un informe en PDF en el que describa los pasos realizados, y se evidencie que
está entregando todos los puntos solicitados en los párrafos anteriores. Al final de
su documento debe escribir 2 conclusiones por cada miembro del grupo.
o Cada miembro debe escribir una conclusión escrita con sus propias
palabras, y otra conclusión escrita por un asistente de Inteligencia Artifical
como chatGPT, Gemini, Claude o Copilot.
o Después de escribir todas las conclusiones, deben analizar qué recursos ha
usado el asistente de Inteligencia Artificial para escribir su conclusión que
el los integrantes del curso omitieron. Esto les será de mucha ayuda para
que puedan orientar más efectivamente sus conclusiones en proyectos
futuros.
En la carátula de dicho informe debe incluir el nombre y código de los integrantes
de su grupo y el porcentaje de participación de cada integrante. En la segunda hoja
de dicho informe, debe detallar exactamente qué actividades del proyecto hizo
cada integrante.
• Las conclusiones de su trabajo deben estar adecuadamente formuladas y deben
poder sustentarse con el contenido de su trabajo.
• Una presentación oral.

Importante:
Durante la exposición, todos los miembros del equipo deben tener conocimiento completo
sobre el funcionamiento del código que están exponiendo y conocimiento completo sobre
el contenido del informe que presentaron. Si un estudiante no comprende el código que
está entregando, se considerará que no tuvo participación en la elaboración de dicho
código y no se le dará el puntaje del desarrollo de software (10 puntos según la rúbrica).

Rúbrica:
Criterio EXCELENTE ADECUADO MÍNIMO INSUFICIENTE
Diseña y elabora Diseña y elabora Diseña el No logra el
el software para el software para software para diseño ni la
lograr una lograr una lograr una implementación
solución solución solución correcta del
adecuada al adecuada al adecuada al software.
problema problema problema
Desarrollo de
planteado. El planteado. El planteado. El (2 p.)
software
software debe ser software funciona software no se
ordenado, claro y pero no es concluyó
óptimo. ordenado, claro y adecuadamente.
(10 p.) óptimo. (4 p.)

(6 p.)
El informe El informe El informe El informe
contiene las contiene las contiene menos contiene menos
secciones de secciones de de la mitad de las de la mitad de las
Antecedentes, Antecedentes, secciones secciones
Fundamento Fundamento estipuladas, estipuladas, sin
Teórico, Métodos Teórico, Métodos incluyendo incluir
Presentación y Desarrollo y y Desarrollo, pero conclusiones. conclusiones.
escrita Conclusiones. no pone énfasis
Estas últimas, en las (2 p.) (0 p.)
adecuadamente conclusiones.
formuladas.
(3 p.)
(5 p.)
El alumno El alumno El alumno no El alumno no
presenta el presenta el presenta el presenta el
proyecto en proyecto en proyecto en proyecto en
forma adecuada y forma adecuada, forma adecuada, forma adecuada
responde a las pero no responde pero responde a ni responde a las
preguntas del a todas las las preguntas del preguntas del
Presentación profesor en forma preguntas del profesor en forma profesor en forma
oral lógica y profesor en forma lógica y lógica y
coherente. lógica y coherente. coherente. O no
coherente. se presenta a la
(5 p.) (2 p.) presentación oral.
(3 p.)
(0 p.)

También podría gustarte