Migrate from GitHub to SourceForge with this tool. Check out all of SourceForge's recent improvements.

Machine Learning (for image orientation) Log in to Edit


This project is here for the following reasons:

  • Serve as a base for a tool for automatic image orientation.
  • Provide a code base for anyone doing research in automatic image orientation.
  • Serve as a base for general Machine Learning algorithm development.

The code here is based on a Masters Thesis 'Automatic Image Orientation' by Alex Trofimov.
Most Machine Learning algorithms are implemented. There is some image-related functionality that is still missing, but will be completed in due time.


  • A framework for Machine Learning algorithm development
  • A framework for tuning variables
  • Implementation of many image feature extractions
  • Cross-Platform code for Machine Learning


The vision is that there will be a command-line version of this tool that will actually allow one to learn a model and rotate images, however for now you have to write code that will it. The assumption here is that you are well-versed in Java and can create such programs.


Not implemented yet.


Please see OrientationClassification.java in the Code Repository. More examples will be added with time.

Under Development

There is a number of things that aren't complete yet or aren't even under construction that need to be done for this project to be useful outside of the academic setting and more useful inside.

Important things

  • Command-Line options
  • Ability to read all image files from a directory
  • Algorithms: RankBoost and SoftRankBoost
  • Algorithm: SVM (from LibSVM)

Nice things

  • Arbitrary angle image orientation
  • Actually orient images using an external library (say ImageMagic)
  • Multi-Thread parts that can be multi-threaded
  • Ability to save the model to disk.



Cancel  Add attachments