OpenCV added in the #6Hackathon of the #CUSL7

This weekend, I’ve been working with @rubenhek, @dcalandria and @abpelegrina in the #6Hackathon of the Free Software Contest (CUSL7) at Spiral Startups.


We have focused, as before, in the Evolutionary Art capabilities of OSGiLiath. This time we have chosen OpenCV rather than Processing for performance and also because it includes more metrics and image analysis.

OpenCV has been compiled for several platforms (MacOS X, Ubuntu…) and added to the project, with their appropriated Java bindings.

New kind of Artistic Primitives have been added: the Patches. A patch is just a piece of other image. A script in Perl made by @jjmerelo has also been added to the project, with a lot of patches extracted from Caltech101 image benchmark. Individuals can now be a vector of patches, each one in a different positions. The service OpenCVCollageDrawer extracts this information to create a “collage” made of patches, and the MatchingFitness evaluates the individuals to “approach” them to a predefined image, but other feature extraction operations have been added (such as the Histogram).

The Human Guidance module has also been improved: now each image selected increases in 1 vote, and the other decrease 0,33 votes. Help us selecting images here! We will use the knowledge gathered for future experiments.

The first results, only applying the regular matching are not very outstanding, but it’s a start:

Carmen de Mairena


Posted in CUSL7, Evolutionary Art, Hackathon, OSGiLiART | Tagged , , , , | Leave a comment

Two papers accepted at GECCO 2013 conference!

Two papers related with OSGiLiath have been accepted in GECCO 2013 conference. The first one will be published at EvoSoft workshop, and it presents the technological issues of OSGiLiath and a tutorial to add new services (being more centered in the implementation technology than the results of the paper published in the Soft Computing Journal).

Developing Services in a Service Oriented Architecture for Evolutionary Algorithms

This paper shows the design and implementation of services for Evolutionary Computation in the Service Oriented Architecture paradigm. This paradigm allows independence in language and distribution, but the development requires to manage some technological and design issues, such as abstract design or unordered execution. To solve them, OSGiLiath, an implementation of an abstract Service Oriented Architecture for Evolutionary Algorithms, is used to develop new interoperable services taking into account these restrictions.  

The second one, will be presented at the Student Workshop and presents the actual state of my thesis, explaining the OSGiLiath architecture (and SOA-EA), some preliminar results about load balancing in distributed EAs in heterogeneous machines, and the first results we obtained in the previous Hackathon in Evolutionary Art.

A Service Oriented Evolutionary Architecture: Application and Results

This paper shows the stage of development of a Service Oriented Architecture for Evolutionary Algorithms and the first results obtained in two different areas. 

The abstract architecture is presented, with its assocciated implementation using a widely used technology. Results attained in experiments with parameter adaptation in distributed heterogeneous machines are presented and the usage of the architecture in Evolutionary Art is also applied.

I will update the “Publications” section once papers will be published.

We are waiting the acceptance of final works in a journal, and also, the paper about EAs and Processing we wrote in the #5Hackathon for the CEC.

Posted in CUSL7, OSGiLiART, Publications | Tagged , , , , , | Leave a comment

Changing repository location

Due to software updgrade in Sourceforge the SVN repository of OSGiLiath has changed. The new URL to get the code is now:

So, if you want to checkout, please use the next command:

svn checkout –username=your-username svn+ssh:// osgiliath-code

A new code explorer is now available here, and the complete commit history can be checked here.

Finally, this URL has been updated in the getting started tutorial.

Posted in Sin categoría | Tagged , , | Leave a comment

Changing project license from GNU/GPL to GNU/LGPL

After several days of consideration and research, I’ve decided to change the project license from GNU/GPL V3 (General Public License) to GNU/LGPL V3 (Lesser General Public License). This has been motivated as, being OSGiLiath a set of OSGi bundles that can be executed in any OSGi container, setting a GNU/GPL license could be too restrictive. Moreover, OSGi was created for dynamic binding of several service implementations from many different third-parties at the same time. For example, if OSGiLiath is going to be distributed with the Equinox container, it will be bound with bundles with an EPL License. Or in the case of Apache Fenix, the Apache V2 License is used. This is impossible using the GPL License.

Changing to LGPL gaves me some flexibility: for example, if I would like to distribute my project with the Equinox bundles, I can add a combined license (as the Logback project does). However, the EPL and GNU/GPL licenses are extremely incompatible, as can be read here.

Read also the FSF opinion about that incompatibility.

By the way, Processing is also based in LGPL, so I can distribute with my project without problems 🙂

The GNU/LGPL V3 license can be read here, and it has been updated in the project code (headers and license.txt).

Posted in Development | Tagged , , , , | Leave a comment

Conclusions of the #5Hackathon

So, the #5Hackathon is over! (day 1 and day 2). It has been an amazing weekend of learning and programming experiences that have improved a lot OSGiLiath, with the new module OSGiLiART. In summary, we have tackled the next big achievements:

  1. A state of the art on Evolutionary Algorithms. A new paper is being prepared!
  2. A lot of documentation has been added to the Google Group package (Processing primitives, tutorials…).
  3. A Human Guidance GUI to vote the most “aesthetical” pictures and adding metadata for future classifications. See it in action hereHG
  4. The new module OSGiLiART: new basic “artistic” individuals have been added: a set of circles in random positions or in a GRID. Two different fitness: comparing histograms (H, S, V, R, G or B) and pixel matching. And, a HUGE number of manipulation classes! (see for example the SVN statistic obtained with StatSVN).


Look at the results of the first executions (they must be improved). This example is using the Pixel Matching Fitness.


Finally, a resume of the experience is also available in this presentation:

Posted in CUSL7, Hackathon, OSGiLiART, Project development | Tagged , , , | 4 Comments

#5Hackathon: Day 2: Human Guidance, State of the Art and Artificial Vision

An amazing day today at Cocoroco Coworking! With the help of our awesome collaborators a lot of new improvements have been added to OSGiLiART, the Evolutionary Art module of OSGiLiath.

  • A good State of the Art in Evolutionary Art and the development of an Histogram Fitness have been performed by @abpelegrina.
  • The integration of Processing with Java (and therefore, with OSGiLiath) has been achieved (and documented) by @robermorji and @DonFruela.
  • @rubenhek has created a web system to help with human guidance and provide subjective feedback to the generated images.
  • @dcalandria has created a lot of extensible classes to allow easy integration with a lot of Artificial Vision classes for analysis.
  • See the closed tickets today at the Subversion Tracker (in Spanish, but you can use Google Translate).

Tomorrow, we will finish the #5Hackathon, and we expect to generate gorgeous images using all different fitness!

(See the Day 1 here)

Posted in CUSL7, Development, Evolutionary Art, Hackathon, OSGiLiART, Project development | Tagged , , , | 1 Comment

#5Hackathon: Day 1

After my presentation of OSGiLiath in the Hackathon, a group of students and programmers contacted with me to join to (the so-called) OSGiLiART project.

The participants are Robermoji, Abpelegrina, DCalabria, Rubenhek, PardiML and DonFruela.

Today we divided the work in several initial packages:

  1. Coordination (creating Google Groups, documents, Sourceforge users…)
  2. State of the art in Evolutionary Art
  3. Testing and documenting Processing primitives
  4. Integration of Processing in Java

A number of tickets were created in the Sourceforge Tracker, and each participant chose their tasks. In the afternoon we were working in a coworking space called Cocoroco, with the other participants in the Hackathon. It is a cool place to work, and other users of the space were interested in our projects, and of course, many visitor’s card were interchanged 🙂

Members participating in @osgiliathSOA

Posted in CUSL7, Development, Evolutionary Art, Hackathon, OSGiLiART, Project development | Tagged , , , , | 3 Comments