New paper accepted

December 14, 2012 1 comment

We got a paper accepted on the IEEE Trans. on Image Processing 🙂 . It is about a new micro pattern descriptor that relies on directional numbers (direction indexes in a local neighborhood), and we tested it on face analysis tasks, namely, face identification and expression recognition. We’ve been working on these ideas for some time, and sadly the revision was delayed some time, but finally it’s over.

I hope to give more details next week when I have more time, and give some insights on the ideas behind. Meanwhile, I leave you with the abstract and the pre-print at our site or at the IEEEXplore

Abstract—This paper proposes a novel local feature descriptor, Local Directional Number Pattern (LDN), for face analysis: face and expression recognition. LDN encodes the directional information of the face’s textures (i.e., the texture’s structure) in a compact way, producing a more discriminative code than current methods. We compute the structure of each micro-pattern with the aid of a compass mask, that extracts directional information, and we encode such information using the prominent direction indexes (directional numbers) and sign—which allows us to distinguish among similar structural patterns that have different intensity transitions. We divide the face into several regions, and extract the distribution of the LDN features from them. Then, we concatenate these features into a feature vector, and we use it as a face descriptor. We perform several experiments in which our descriptor performs consistently under illumination, noise, expression, and time lapse variations. Moreover, we test our descriptor with different masks to analyze its performance in different face analysis tasks.


Script for downloading LFPW

November 23, 2012 1 comment

Today I needed to download (thus parse) the Labeled Face Parts in the Wild (LFPW). Although it seems an straight forward task, as the datasets have the urls, many of them are dead/broken or pointing to something else.

I thought it will take me a couple of minutes to put an script an have everything running smoothly. However, I found that the urls sometimes download html files, or garbage gifs. So I need to analyze the output and then choose some files and discard the others. And because I don’t want to do it manually, I put a script to achieve it.

My solution is in awk, probably it may be easier in pearl or python but I started with awk and stick with it.

To run it, you should be in the directory in which you want the images to end up.

awk '/average/ {
  result = ""
  download = ""
  name = ""
  cmd = "wget -t 1 -nv " $1 " 2>&1"
  while ( (cmd | getline line) > 0 )
    result = result " " line
  print "res: " result > "/dev/stderr"
  if (result != "" && match(result,/ERROR/) == 0) {
    downloaded = substr(result,RSTART+1,RLENGTH-2)
    print "file: " downloaded > "/dev/stderr"
    if (match(downloaded,/\.(htm|php|gif)/) != 0) {
      print "deleting: " downloaded > "/dev/stderr"
      system("rm \"" downloaded "\"")
    } else {
      if( match(tolower(downloaded),/\.(jpg|jpeg|bmp|png)$/) == 0 ) {
        if( match(tolower(downloaded),/\.(jpg|jpeg|bmp|png)/) != 0 )
          downloaded_fix = substr(downloaded,1,RSTART) substr(downloaded,RSTART+RLENGTH+1,length(downloaded))
          downloaded_fix = downloaded
        name = downloaded_fix ".jpg"
        print "adding ext: " downloaded_fix > "/dev/stderr"
        system("mv \"" downloaded "\" \"" name "\"")
      } else
      print "writting: " name > "/dev/stderr"
      print name, $0
  } else
    print "skipping: " name > "/dev/stderr"
  print "\n" > "/dev/stderr"
}' ../kbvt_lfpw_v1_train.csv > ../fixed_train.txt 2> ../train.log

Some comments about the code:

  • I’m processing only the “average” worker, and ignoring all the other (3) entries.
  • I choose to change the extension of the files that download without one to jpg (you may change it to something else if needed—line 23).
  • Also I’m deleting all the htm(l), php, and gifs that may be downloaded (line 14).
  • I’m checking the extensions directly, as the files that download have really random names (and I’m mean it: 86f6ec6e-9de5-11de-805f-588d52b6bd80, how is that an image name?… moving on), but you may add another ones if needed (I didn’t check thoroughly)—line 18.
  • When a downloaded file name already exist wget adds a suffix .# to the file. Thus, I’m stripping the possible extensions from each file, if it doesn’t end with a valid extension but contains such extension (line 20).
  • All the log messages (print ... > "/dev/stderr") are redirected to the standard error. That’s why at the end you get them with “2> ../<yourfile>” (line 28).
  • And to get the new list of files that were downloaded you redirect the standard output to your file by “> ../<fixed-file>” (line 34).

I haven’t checked all the files, but that is the first version. Any improvements are welcomed. :mrgreen:

Statistical Map: for edge-segment background modeling

November 19, 2012 Leave a comment

The first problem I tackled since I came to the lab was background modeling through edges. I worked on this problem for a couple of years, and a few papers on the road, I think it’s time to talk a little about it. It was a fun experience, being new to research and all that. However, it was a tough one as it is not a “hot topic” or even approved by the community who works on an opposite direction. Although, there are many possibilities by working with this type of information, we need further research to make it viable for real time applications.

Edge-based modeling

In the literature, the most common methods are pixel-based. That means, that the information used to model the scene is that contained in each pixel. Most methods use the intensity and its changes to create a model of the entire scene.

On the other hand, we are exploring (or should I say explored…) the use of edges as a reliable source of modeling. As the edges reveal the structure of the scene, we can model it with less information and less bulk. However, due to the lack of other non-structural information (pixel intensities) it may be harder to differentiate some objects with similar structure (about this later). Moreover, because we are using less pixels (as the edges in a scene are sparse) we can use more expressive models to represent it.

However, this approach is not mainstream, and is it hard to produce models on it, because you need to pre-process the images to obtain the edges, and then post-process it to obtain the regions. But if you are not interested in the regions and only need higher information, e.g., behavior information, the isolated structures are goodies that you can’t refuse.

Statistical Map

Overall flow

Fig. 1. Overall flow

The main idea behind the edge modeling is the use of a frequency map of the appearance of the edges, that we called Statistical Map (SM). The SM models the edge behavior over time. Ideally, it would create wide distributions for high movement edges, and narrow ones for edges with no movement. From the temporal point of view, the distributions will be high if the edge belongs to background and small if the edge is a moving one. Fig. 1 illustrates this idea.

The use of the SM is the basic model which can be extended by using color, intensity, gradient and other information, as the main problem with edges happens when moving edges get close to the borders of background. Thus, we explore most of these options to enhance the detection, as objects with similar structure will present different color (or other properties).

A more robust model

We increase the robustness of the model by adding memory to the model. We keep a set of lists of the edges that we saw before, as well as their shape, color, gradient, and other information, to build a more discriminative model. Therefore, we can use these lists to match and learn new edges as they appear in the sequence.


For more information about these methods you can refer to my papers:

Ramirez Rivera, A.; Murhsed, M.; Kim, J.; Chae, O., “Background Modeling through Statistical Edge-Segment Distributions,” Transactions on Circuits and Systems for Video Technology, 2012 (to appear). Preprint link

Ramirez Rivera, A.; Murshed, M.; Chae, O., “Object detection through edge behavior modeling,” AVSS, 2011. Paper link

or for more information check the other related papers at here.

For the BibTeX form, you can use this:

author={Ramirez Rivera, A. and Murshed, M. and Kim, J. and Chae, O.},
journal={Circuits and Systems for Video Technology, IEEE Transactions on},
title={Background Modeling through Statistical Edge-Segment Distributions},

title={Object detection through edge behavior modeling},
author={Ramirez Rivera, A. and Murshed, M. and Chae, O.},
booktitle={Advanced Video and Signal-Based Surveillance ({AVSS}), 2011 8th IEEE International Conference on},

Interesante observación desde Converciencia

July 26, 2012 1 comment

Un asistente a Converciencia en la conferencia de la mañana de ayer (u hoy… no se la diferencia horaria), hace un comentario muy interesante en una discusión sobre como Costa Rica explota sus “pocos” recursos, y nosotros (Guatemala) no somos capaces de salir adelante.

[…] vamos a como las personalidades, las individualidades terminan siendo nuestro principal problema. Cuando te preguntaban: ¿Cuál es el conflicto en volver a Guatemala? Creo que somos los chapines que nos quedamos; porque los chapines que se fueron ya lo superaron, y los chapines que nos quedamos seguimos con trivialismos, con pequeñeces, con mediocridad, con enfermedades crónicas de nuestra sociedad que no logramos resolver.
Nos vamos al extranjero, aprendemos como lo hacen allá, regresamos aquí, queremos cambiar, y se nos critica de malinchistas, de lo que sea …
Creo que no nos va a alcanzar el tiempo para toda la temática, pero mi reacción para la pregunta que hiciste, precisamente es eso, es nuestra constitución social la que, a la larga, termina siendo nuestra propia enfermedad.

Asistente Converciencia, Minuto 8:42

Y desde mi perspectiva, creo que le pego al clavo. El salir de Guatemala es un evento que te marca, te permite darte cuenta que en lugares que tuvieron problemas similares o más grandes, pudieron salir adelante, y ahora están liderando mercados. Aún más, te das cuenta que el sistema puede funcionar, y que lo que hace que los países se muevan no es la riqueza, ni los sistemas, ni cualquier otra cosa mágica que se nos pueda ocurrir. Los países funcionan porque su gente los hace funcionar—todo lo demás llega por añadidura. Así de simple.

¿Cuando va a cambiar Guatemala? Cuando los guatemaltecos queramos que el país cambie, cuando los guatemaltecos cambiemos, y hagamos una mejor Guate. 💡

Converciencia 2012: streaming

July 25, 2012 Leave a comment
Categories: News Tags: , , ,

Converciencia 2012: ciencia en Guatemala

July 20, 2012 2 comments
Converciencia 2012

Converciencia 2012

Señores y señoras, niños y niñas… la otra semana da inicio Converciencia, en su séptima versión, y se realizará en INTECAP. Al parecer la entrada es “libre”, pero hay que inscribirse antes de llegar. Me imagino que pueden tener limite de participantes, o no se por que razón. Para más información revisen el programa.

Si no saben que es Converciencia, pues vayan y averigüenlo! Sí quieren saber que es antes de ir, pues sigan leyendo.

En resumén, es un encuentro entre científicos guatemaltecos y, espero yo, el público en general, donde podemos palpar la ciencia en Guatemala. En esta actividad se reúnen varios investigadores guatemaltecos con una idea en mente: divulgar y hacer ciencia en Guatemala. En el sitio lo definen como:

CONVERCIENCIA es una actividad académica que el Consejo Nacional de Ciencia y Tecnología, CONCYT, lleva a cabo anualmente, desde 2005, por intermedio de la Secretaría Nacional de Ciencia y Tecnología, SENACYT, como parte de su política actual de impulsar efectivamente el desarrollo de la ciencia, la tecnología y la innovación en Guatemala.


Si alguna vez te preguntaste: ¿Qué hace un científico en Guatemala?, y si te han dicho “si estudias ciencia te vas a morir de hambre”, como bien lo mencionaban antes. Pues no te quedes con la duda. En Converciencia pueden haber respuestas… 💡

vivos pues!

Crowdfunding: una alternativa para Guatemala

July 17, 2012 6 comments

Una de las barreras: financiamiento

En mi post anterior hablaba de las posibilidades de realizar investigación en Guatemala. Uno de los principales problemas es el financiamiento. Aunque no todas las ramas de la investigación requieran grandes y complejas máquinas, muchos químicos, u otros aparatos raros, todas necesitan personas capacitadas que puedan hacer investigación: investigadores, y necesitan acceso a librerías actualizadas (acceso a los artículos publicados, y que tienden a ser muy caros debido a los editoriales que mantienen un monopolio—pero de eso en otra ocasión). Entonces,  ¿como podemos atraer capital de riesgo o bien tener instituciones que den subsidios científicos?

Si bien es difícil obtener inversiones en proyectos nuevos, en los cuales los inversionistas buscan equidad en la nueva compañía, y saben que tendrán un retorno de la inversión cuando esta tenga éxito. Que pasaría con la investigación, que en su mayoría avanza el conocimiento de la humanidad, pero no es siempre comerciable. Lo que implica que no hay retorno de inversión, y pues nuestros inversionistas desaparecen tan rápido como los resultados fallidos en dicha investigación.

En los países en los que el gobierno invierte en investigación, una solución es aplicar a subsidios científicos, que son manejados a través de las universidades. Éstas toman una parte de los subsidios, y lo utilizan para mantener las bibliotecas actualizadas (entiéndase acceso a revistas científicas—¿todavía compran libros?), servicios, y muchas otras cosas. Luego, las universidades crean un fondo para el investigador, le dan acceso, y mantienen un tipo de auditoria sobre los investigadores (para asegurar que los fondos sean invertidos sabiamente). Sin embargo, en Guatemala no tenemos un gobierno que apoye la investigación, ni mucho menos universidades que estén listas para manejar estos fondos.

Lo convencional

En el resto del mundo, el modelo actual de subsidios científicos es similar a un grupo de caza talentos. Debido a la falta de fondos, que provienen del gobierno o de algunas minorías que invierten esperando algún retorno, y a la creciente cantidad de científicos, obviamente, no todos podrán llevarse una parte a su casa. ¿Y entonces, como funciona? Todos los interesados escriben una propuesta, ésta es evaluada, y si promete (entregar resultados, y no morir en el intento) es financiada. Algunas veces, tener una gran carrera, ideas que suenan sensatas y seguras, conocer y llevarse bien con los que evalúan suele ayudar.

Sin embargo, hay un gran problema. ¿Qué pasa con las ideas que no son “tan sensatas”, las ideas revolucionarias? Estas ideas la mayoría del tiempo son dejadas de lado porque no aseguran que los fondos se utilicen correctamente. ¿No sería magnifico que todos pudieran jugar, sin importar lo loco que suene (al menos por ahora)? El dejar que un grupo reducido decida quienes obtienen o no los fondos, y que ideas son las que pueden seguir adelante puede ser un poco peligroso, ¿no lo creen?

Las ideas que desentonan con lo común (o con lo que los evaluadores consideran “común”) y las ideas pequeñas, son dejadas de lado. Y peor aún, la innovación se entorpece. El modelo actual prefiere mantener ideas que se construyen progresivamente sobre otras ideas (y no es que este mal), pero podríamos dar algún salto de vez en cuando (podríamos tirar un poco de mutación en el asunto—para los que creen en la evolución).

¿Tenemos alguna alternativa?


Que tal si pensamos en el colectivo, y eliminamos al intermediario: los que financian dichos subsidios. Últimamente, los subsidios provienen del pueblo a través de impuestos. Podríamos de igual manera pedir ese dinero directamente al pueblo (aunque tengan que seguir pagando impuestos 😦 , o no?). El crowdunding puede resumirse como la cooperación (donación) de un colectivo para financiar algún proyecto. En concreto la wikipedia lo define como:

Financiación en masa (del inglés crowdfunding), […] es la cooperación colectiva, llevada a cabo por personas que realizan una red para conseguir dinero u otros recursos, se suele utilizar Internet para financiar esfuerzos e iniciativas de otras personas u organizaciones. Crowdfunding puede ser usado para muchos propósitos, desde artistas buscando apoyo de sus seguidores, campañas políticas, financiación del nacimiento de compañías o pequeños negocios.

Wikipedia, 2012

Entonces, si tenemos un colectivo que este dispuesto a apoyarnos podemos recolectar la misma cantidad que un inversionista, o incluso aún más. Adicionalmente, todo lo que se recauda no es visto como una inversión como tal, sino como una donación. Por ejemplo, en el caso de un inversionista, él querrá llevarse la mitad (o más) de la compañía, de las ganancias, y de todo lo que se produzca. Por otro lado, el colectivo esta donando y apoyando por que cree en el proyecto, y no espera ninguna ganancia de ello. Actualmente, el modelo de crowdfunding, premia a los donadores con artículos únicos, o al menos diseñados para reflejar el proyecto, para motivarlos a participar en el futuro.

Este modelo suele utilizar el internet como plataforma para alcanzar la mayor cantidad de personas, y entre los mayores sitios se encuentran Kickstarter, RocketHub, IndieGoGo, entre otros.

Crowdfunding science

La mayoría de proyectos de los sitios dedicados al crowdfunding están orientados a vídeos, música, arte, juegos electrónicos, y publicaciones (ver la figura de abajo). Es interesante notar que, aunque las donaciones eran constantes, no superaban las cantidades que los inversionistas proveían. Sin embargo, todo eso cambió con un proyecto que logro pasar de $99 a 7 millones de dolares, en 18 días, y que al momento de escribir este post tiene más de 10 millones de dolares en donaciones. Este hito marca el inicio de una nueva era en donde ya no es necesario un intermediario (un inversionista y su capital de riesgo) para lanzar proyectos o compañías con capital igual o mayor al obtenido a través de otros medios.

kickstarter 3 years summary

3 años de Kickstarter (vean el link de la imágen para más detalles)

Actualmente, un experimento (#SciFund) intenta promover proyectos científicos a través de estas plataformas (ellos usan RocketHub), y lo están logrando. Ya lograron financiar al menos 43 proyectos exitosamente. Inclusive, ya hay precedentes de que este tipo de subsidios puede usarse en el modelo existente de subsidios científicos. En este ejemplo, la universidad toma el dinero, lo pone a disposición de los investigadores, y proveerá la transparencia para que los beneficiarios de las donaciones (los investigadores) puedan obtener el dinero—como lo nota una investigadora que participa en #SciFund. Además, esto les da garantías y beneficios a los estudiantes que trabajan con ella. Esto demuestra que cuando hay voluntad puede hacerse mucho.

Como bien lo dicen en #SciFund, el futuro esta en el crowdfunding. Acá puedes motivar a tu público, mostrarles que lo que haces vale la pena, y conseguir donaciones si logras motivarlos. Ya no hay que esperar a que “nos den permiso”, ni mucho menos esperar a ser el “escogido” según los estándares de la ciencia actual. Puedes proponer ideas revolucionarias, que mientras sean coherentes y motiven al colectivo, vas a tener fondos para seguir trabajando.

Crowdfunding en austeridad

En Guatemala no creo que estemos lejos de todas estas ideas. Los guatemaltecos tenemos innovación, y sed de crear (sino miren la chispa del chapin para inventar cada vuelta a la realidad en la que vivimos). Más aún, los guatemaltecos podemos apoyarnos unos a otros y ayudarnos a salir adelante. Ya va siendo hora de romper el paradigma de “la olla de cangrejos”. Además, estas plataformas nos permiten alcanzar a un publico global; que sí logramos motivarlos pueden apoyarnos también.

El secreto de el crowdfunding es motivar a un grupo de personas a que crean en el proyecto, y que crean en los que lo están desarrollando. Es una cuestión de construir una “red de fans” que nos van a apoyar en los momentos difíciles. Y de igual manera les vamos a recompensar por su apoyo. Para poder alcanzar al publico no hace falta más que las ganas de comunicar y de compartir. Y de esto hay muchos ejemplos de personas que comparten la ciencia al publico en general: minute physics,  Vi Hart, sixty symbols, y otros que lo hacen con más sátira, xkcd, abstruse goose, the oatmeal, entre otros. Y no es que todo tenga que ser 100% jerga y tecnicismos, sino que tiene que ser 100% corazón. Como dijo Einstein (creo), sino se lo puedes explicar a tu abuela, entonces no lo sabes. La idea es la misma, hay que comunicar.


Si bien la solución a falta de fondos locales puede ser el crowdfunding, el camino para llegar ahí aún esta lejos. Para poder siquiera pensar en iniciar una campaña se necesita construir una red que apoye el proyecto en donde se necesiten los fondos. Se necesita estar en contacto con el colectivo, y compartir los avances. Luego de tener esa plataforma inicial, podemos pensar en iniciar a recaudar fondos. Y las metas iniciales no tienen que ser astronómicas, podemos iniciar con una recaudación tan simple como una computadora, o el dinero para una publicación, y luego irnos moviendo a ligas mayores.

Esto me pone a pensar, tenemos ya varios sitios de divulgación científica, incluso un grupo en facebook, pero el alcance que tienen otros sitios no se asemeja. Tal vez es momento de detenernos y preguntar: ¿Qué estamos haciendo mal? ¿Qué necesitamos hacer para poner en marcha una reacción en cadena, que motive a las personas a apoyar la ciencia en Guatemala? O tal vez, ¿qué acciones hay que tomar para posicionarla a nivel mundial?

Sueño muy alto, pensaran algunos, pero son los que creen que pueden cambiar el mundo, los que terminan haciéndolo (o algo así). No digo que lo vaya  a hacer, al menos solo, pero juntos, creo que es posible. Mi conclusión con más preguntas que respuestas, pero hay que hacerlas.

%d bloggers like this: