franyack / IMachineApp

This Android application uses the CIEngine module to automatically manage the photos and images on the device. Then you will be able to manage the result according to your criteria, by moving or erasing images as you want.
1 stars 0 forks source link

Realizar diseño del motor de procesamiento #7

Open franyack opened 6 years ago

franyack commented 6 years ago

Realizar un diagrama de flujo sobre las diferentes etapas con las que se encuentra el conjunto de imágenes dentro del motor de procesamiento hasta llegar a la agrupación de las mismas.

leferrad commented 6 years ago

Como herramienta, podemos usar Microsoft Visio, que en eso es muy útil y práctico, o bien https://www.draw.io/ que es muy bueno la verdad

franyack commented 6 years ago

Utilicé draw.io para realizar el diseño y acá comparto el link para hacer comentarios (en todo caso si se quisieran hacer modificaciones me avisan y les doy permisos): https://drive.google.com/file/d/1y2KGV0eL3_WHFK9Ej0IDIu7f77vn-qqH/view?usp=sharing

Además lo comparto en formato jpg:

motor de procesamiento de imagenes

leferrad commented 6 years ago

Muy bueno y re claro el diagrama! Faltaría nomás delimitar los scopes de App y Motor, que por ahora por cuestiones de implementación está algo difuso. Luego solo algunos mínimos cambios en las definiciones y listo! Aquí detallo esas sugerencias de mi parte:

ldvignolo commented 6 years ago

Hola gente, También me parece muy bueno! Dejé un comentario en la imagen, fijate si aparece. Para mi hay mucho detalle en la última etapa, es como que baja a un nivel mucho más bajo que en las otras etapas. Si explicás en ese detalle del markov clustering entonces tendrías que explicar con el mismo nivel de detalle la red convolucional, y me parece que no es necesario. Opino que en la 3era etapa debería ser un sólo bloque sin entrar en detalles de lo que hace internamente el algoritmo de clustering (que de hecho podría ser cualquier otro).

Saludos!

Dr. Leandro Daniel Vignolo Assistant Professor | Assistant Research Scientist sinc(i), FICH-UNL/CONICET, Santa Fe, Argentina www.sinc.unl.edu.ar | Tel: +54 (342) 4575233 ext 117

2018-05-09 0:18 GMT-03:00 Leandro Ferrado notifications@github.com:

Muy bueno y re claro el diagrama! Faltaría nomás delimitar los scopes de App y Motor, que por ahora por cuestiones de implementación está algo difuso. Luego solo algunos mínimos cambios en las definiciones y listo! Aquí detallo esas sugerencias de mi parte:

  • En lugar de "Aplica un pre-proceso .." poner "Pre-procesamiento (escalado, ?algo más?, etc)"
  • En lugar de "Realización de predicciones" poner "Obtención de predicciones"
  • Aclarar (de una forma muy breve) que las etiquetas padres, o la jerarquía, está definida por el mismo esquema de las imágenes utilizadas en el entrenamiento de la red (ImageNet)-
  • "Mientras no converge y no se alcanza máximo de iteraciones (o iteracion < max_iteraciones)"

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/franyack/IMachineApp/issues/7#issuecomment-387607962, or mute the thread https://github.com/notifications/unsubscribe-auth/APJ-G8NSt0nUWUlrCpsfn4NSjpOd17fgks5twmACgaJpZM4TSieW .

franyack commented 6 years ago

Buenas! Muchas gracias por las recomendaciones y la ayuda!! Lelo, no pude encontrar tu comentario dentro de draw. Busqué entre las opciones y no pude encontrarlo, y en Google no encuentro ayuda tampoco jaja. Si es algo más además del que me hiciste sobre el motor, mandalo por acá nomas! Vuelvo a pegar la imagen con las correcciones:

motor de procesamiento de imagenes

ldvignolo commented 6 years ago

Creo que era eso nomas Fran. Para mi quedó muy bien así! Saludos

Dr. Leandro Daniel Vignolo Assistant Professor | Assistant Research Scientist sinc(i), FICH-UNL/CONICET, Santa Fe, Argentina www.sinc.unl.edu.ar | Tel: +54 (342) 4575233 ext 117

2018-05-15 17:18 GMT-03:00 franyack notifications@github.com:

Buenas! Muchas gracias por las recomendaciones y la ayuda!! Lelo, no pude encontrar tu comentario dentro de draw. Busqué entre las opciones y no pude encontrarlo, y en Google no encuentro ayuda tampoco jaja. Si es algo más además del que me hiciste sobre el motor, mandalo por acá nomas! Vuelvo a pegar la imagen con las correcciones:

[image: motor de procesamiento de imagenes] https://user-images.githubusercontent.com/26559238/40081302-f86ba398-5863-11e8-8695-5c3244772696.jpg

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/franyack/IMachineApp/issues/7#issuecomment-389299617, or mute the thread https://github.com/notifications/unsubscribe-auth/APJ-Gyo1NSrfvemDmzpFeGMT30HFxoN5ks5tyzgjgaJpZM4TSieW .

leferrad commented 6 years ago

Por mi está perfecto! Si es por el diagrama ya se podría cerrar este issue, pero quisiera que eso ocurra cuando tengamos clara la división entre la app y el motor, más que nada para expresar cómo se hace la llamada del motor desde la app y lo que éste le retorna. Ya que dijimos que este límite iba a existir, sería bueno que le demos una vuelta de rosca a lo que tenemos para que se aclare y con eso ya podemos tener totalmente hecha la definición del motor.

leferrad commented 6 years ago

Gracias al refactor hecho en #15, las clases referidas al motor se encapsularon en un package llamado com.example.fran.imachineappv.CIEngine por lo cual ahora se considera modular a este motor y con ello se aisla su funcionamiento del de la app. Se puede cerrar este issue entonces!

franyack commented 6 years ago

Buenas! Vuelvo a comentar acá ya que hice una pequeña actualización sobre el diseño del motor (entregable en el informe de avance 2), agregando los embeddings como otro resultado de salida de la red. A continuación va la imagen, si creen que debería corregirse algo, me avisan!

motor de procesamiento de imagenes 1

leferrad commented 6 years ago

A mi parecer está muy bueno y re claro el diagrama! Viéndolo un poco detenidamente, se me volvió a cruzar la idea de un motor genérico que acepte N formas de armar una matriz de afinidad para las imágenes, y que luego las pondere con una función dada para pasar de N matrices a 1 sola compacta, con la cual ejecutar el clustering. O incluso ejecutar el clustering para las N matrices, y luego agregar los grupos resultantes con algún criterio. Son ideas que se me ocurren y las pienso en voz alta, que podrían impactar en este diseño del motor, pero que por el momento solo complican el deadline asi que sólo tomenlo como comentario para trabajos futuros que le agreguen esteroides al motor y lo hagan más elegante.

franyack commented 6 years ago

Están muy buenas las ideas Lea! Me parecen que suman muchísimo y por eso dejemos el issue abierto para un futuro no tal lejano.

leferrad commented 6 years ago

Se puede cerrar este issue? Falta algo que especificar?

franyack commented 6 years ago

De momento no. Quizás haya que actualizar el diseño del motor en caso de que se agregue una nueva matriz de afinidad en el futuro. Si te parece lo podemos cerrar ahora y luego volver a abrir en caso de que nos pongamos a trabajar en ello.