EcoIS fixes outdoor images into normalized image series. It takes into account camera position and date. The following image shows results for EcoIS.

The first row contains original images. The second are the transformed images using EcoIS algorithm. The number representing each column is the Day Of Year (DOY).
Part of my research is related to ecological research in the arctic region. At the moment I am working with a decent size image database. The workflow to generate the database of several hundreds pictures consists of going out in regular intervals and taking pictures of the study plots [1]. It is not always possible to take pictures of all the plots because there are lots of them and each one needs to be manually inspected (So it’s not just snap the picture and move on). The result is a directory with a bunch of pictures that are disordered. To make matters worse, we can’t use the date in the picture metadata because time and location are not co-related. In summary, it is a big mess :)
I thought about this a bit and figured that if each plot had a type of marker that uniquely identified the plot, it would be fairly simple to organize everything with just the image information (no metadata involved). I went with this and started playing with the chessboard recognition code in opencv. The chessboard marker itself does not contain any particular information (aside from the corners). So I was wondering if one can modify the whole process to place some information in the chessboard marker. It turns out that this might be possible. Just for fun, I took a normal chessboard marker (black&white) and placed lite colors instead of the white. Afterwards I passed that image through my imageadjust application and it detected it with the same accuracy as the black and white chessboard. I ran with the idea and came up with a command that can detect binary information in the colored chessboard.
Since this command started off from the imageadjust code, it has all of its history. But it is completely different from that code base. The future direction for this project is to increase the detection speed to the point where we can use it in a video application. This is key; not because we need to use it with video streaming, but because we will use it on pictures that are high resolution (4000×3500 pix). The faster we can detect the marker and contained information, the faster we can organize the hundreds of high resolution pictures. The code is available here and the paper we published is available here.
[1] A study plot is a piece of land where interesting stuff is happening. So you enclose it inside some delimiters and call it a plot :)