Ir al contenido principal

1 Semana - Tesis

Liga al GIT

º_ º _ º _ º_ º _ º _ º_ º _ º _ º_ º _ º _ º_ º _ º _ º_ º _ º _ º_ º _ º _ º_ º _ º _ º_ º _ º _ º_ º _ º _ º_ º _ º _ º_ º _ º _ º_ º _ º _ º_ º _ º _ º_ º _ º

Buen día, ya como ultimo semestre decide escribir una tesis que entra como modulo de investigación y me cubre todos los créditos necesarios para liberar el semestre sin ningún problema. A esta Tesis le estaremos dedicando 8 hrs. diarias para estar presentando avances semanales y que para mayo-junio este ya finalizada.

Todos los avances los estará supervisando la Dra. Elisa Schaeffer.

Primera Reunión

En esta platica se me explico de manera general lo que se espera de la tesis, lo que se tiene que cumplir, como se va estar trabajando y como se estará evaluando.
Además de varias cosas mas que les voy a ir compartiendo en las siguientes entradas.

La forma de trabajar será mediante 3 formas:

  • Blog: Aquí estaremos documentando cada semana avances generales sobre la tesis, links y/o apuntes que hayamos hecho en esa semana.
  • Dropbox: Aquí escribiremos la tesis(en LaTeX). Los archivos están compartidos con la Dra. Elisa.
  • Git: Todo lo relacionado con código.


Avances de la primera semana

Mi tesis se llama "Mediciones a partir de imágenes" y su área es en odontología. Su nombre es muy general porque su algoritmo no únicamente se puede enfocar a una área.

La investigación trata que a partir de una imagen el programa sea capaz de reconocer ciertos aspectos "clave" (de forma autónoma) a través de visión computacional y a partir de los puntos encontrados empezar hacer mediciones (ángulos, distancia, etc) y con las datos obtenidos y comparándolos con una "tabla maestra" sacar un diagnostico previo.

La "tabla maestra" será llenada por un experto en la materia y los resultados se compararán con esta.

Ahora el porque no únicamente se puede enfocar a un área. Este mismo algoritmo se puede usar para detectar ángulos en paredes a partir de una fotografía (área criminalística), hacer simulaciones de como quedará un lugar después aplicar cierto efecto a cierto ángulo (simulaciones), etc.

El programa esta pensado para ser una aplicación de escritorio escrito en python por ser el lenguaje que en estos momentos domino con facilidad. Pero no hay problema en moverse de lenguaje. Siempre y cuando haya mejores librerías o la velocidad de procesamiento sea mejor.

De las librerías que se utilizaran:
  • PIL: Por su facilidad de jugar con imágenes.
  • OpenCV: Se combinara con PIL para jugar con filtros sobre imágenes y todo lo relacionado con pre-procesamiento.
  • Pyside: Todo lo relacionado con interfaz gráfica. 
  • Gnuplot: Para mostrar estadísticas y resultados.


Trabajos relacionados.

Directamente no existe un programa/aplicación que haga lo mismo o casi lo mismo que yo, pero existen varios programas que su algoritmo es algo parecido.

Un ejemplo es Image Measurement[1], es una aplicación que recibe como entrada una fotografía. El usuario debe seleccionar las unidades de medición y sobre la foto tu puedes hacer puntos para saber sus perímetros, áreas, longitudes y la APP calcula todo base a las unidades de medición.

Otra aplicación que me pareció interesante fue Multitool Measure Suite[2], esta aplicación a partir de una imagen tu podías agregar líneas, triángulos, formar tus figuras y te arrojaba distancias y ángulos. Las dimensiones se actualizaban de forma directa cuando modificabas la dimensión de la figura.


Un articulo que es relacionado con la que voy hacer, es detectar cáncer a partir de imágenes histopatológicas, es un trabajo completo usa técnicas de visión computacional, filtros y umbrales. Además que agregan una red neuronal para que el sistema este aprendiendo. Ellos pre-procesan la imagen original y a partir de hay buscan patrones para dar un diagnostico. Al problema es que no dice cuanto se tarda en hacer el diagnostico.[3]

Imagen tomada del PDF "Automated cancer diagnosis based on histopathological images: a systematic survey"


Referencias
[1] Youtube: video de la app.
[2] Youtube: video de la app.

Comentarios

Entradas populares de este blog

Pequeño Juego con LEDS y Dip Switch

Siguiendo con los mini-proyectos, lo que quería hacer originalmente era un tipo "candado" con push-button y LEDs, el objetivo seria, meter la combinacion de botones correcta y los LEDS encendería por un motivo practico, en forma de serpiente. El objetivo no cambio, pero por falta de "material" lo hice con un dip switch de X entradas(depende de que tan grande quieras la combinación). CONOCIMIENTOS(max. 7 estrellas): Electronica:     ★ ★ Programación: ★ ★ Juego de Combinación + LEDs El programa es un poco mas complicado que el mini-proyecto pasado , pero aun asi es basico. Guardamos las salidas de los LEDs en un arreglo, despues con los valores recibidos y comparados de los dip switch jugamos con los LEDś. Hardware Requerido (1) Arduino Uno (6) LED (8) Resistencias 330 Ω (1) Dip Switch Circuito Usamos las salidas del ARduino 2-7 para los LEDS Usamos la salida A5, A4 para el dip switch Para hacer prender los LEDS tienes que encontrar la

Tarea #5 - Codigo Hamming - Python

Codigo hamming Liga al repo Teoria segun wikipedia Antes de los códigos Hamming se utilizaron ciertos códigos detectores de error, como lo fueron el código linteing, pero ninguno llegó a ser tan eficaz como los de Hamming. A continuación se describen algunos de estos códigos. Paridad   La   paridad   consiste en añadir un bit, denominado   bit de paridad , que indique si el número de los bits de valor 1 en los datos precedentes es par o impar. Si un solo bit cambiara por error en la transmisión, el mensaje cambiará de paridad y el error se puede detectar (nótese que el bit donde se produzca el error puede ser el mismo bit de paridad). La convención más común es que un valor de paridad   1   indica que hay un número impar de unos en los datos, y un valor de paridad de   0   indica que hay un número par de unos en los datos. info. completa y un vídeo que me ayudo mucho para esta tarea: (TIENEN QUE VERLO - OBLIGATORIO) http://www.youtube.com/watch?v=xiDPFm9PeLU Impleme

Potenciometro + pushboton + led

Bueno, estos días he estado practicando con los ejemplos de la pagina de Arduino , algunos que me llamaron la atención los voy a compartir, por supuesto con modificaciones. Nivel de conocimientos: Electronica:        ★   Programació n :    ★    Potenciometro + push-boton = LEDintensidad El mini-proyecto es controlar la intensidad de un LED mediante un potenciometro el cual combinado con push-botton para prenderlo o apagarlo. Hardware Requerido (1) Arduino UNO (1) Potenciometro (1) Push-boton (1) LED (1) Resistencia 330 Ω Circuito Conectamos el LED al PIN 9 del Arduino Conectamos el PUSH_BOTON al PIN ANOLOGICO 0 (A0) Conectamos el POTENCIOMETRO al PIN ANOLOGICO 1 (A1) El funcionamiento del circuito es basico, mientras tengas pulsado el Push-Boton el LED se mantendrá encendido y con el pontenciometro controlas la intensidad del LED. Código Video