Posts

Showing posts with the label crf

[ECCV2012] Offset based image completion

Image
This is a short post about an ECCV 2012 paper I just discovered . The paper is Statistics of Patch Off sets for Image Completion by Kaiming He and Jian Sun from Microsoft Asia. There was a recent talk at MSRC about PatchMatch by Dan Goldman . PatchMatch is a simple but very efficient image completion algorithm that is used in Photoshop. The page linked above contains a beautiful illustration of what is possible using this very efficient, still very powerful, algorithm. For each patch that has parts that are missing, PatchMatch finds the best fit in the known image. The trick to do this fast is to use a randomized search and exploit the fact that neighboring patches have probably neighboring matches. But enough about PatchMatch - that just got me interested in this topic. So this new ECCV paper has a similar idea, but is a bit more radical. First, it looks for matching patches in the known parts of the image. It requires that these are not too close. The key observation is: th...

Structured SVM and Structured Perceptron for CRF learning in Python

Image
[EDIT: If you are reading this now, have a look at pystruct.github.io . The project matured quit a bit in the meantime.]  Today I pushed some of my code to github that I use for experimenting with CRF learning. This goes along the lines of my recent posts on graphcut and I hope to post a full CRF learning framework for semantic image segmentation soon. This is a pretty standard setup in computer vision, but I really haven't found much code online. Actually I haven't found any code to learn loopy CRFs, so I hope my simple implementation can help to get a better understanding of these methods. It certainly helped me ;)

Basics on structured learning and prediction

Image
I just pushed some of my structured learning code to github and hope that some people might find it useful. Before describing my code here, I wanted to give a basic intro into structured prediction. I hope I can at least convey some intuition for this vast research area. So here goes... What is structured learning and prediction? Structured prediction is a generalization of the standard paradigms of supervised learning, classification and regression. All of these can be thought of finding a function that minimizes some loss over a training set. The differences are in the kind of functions that are used and the losses. In classification, the target domain are discrete class labels, and the loss is usually the 0-1 loss, i.e. counting the misclassifications. In regression, the target domain is the real numbers, and the loss is usually mean squared error. In structured prediction, both the target domain and the loss are more or less arbitrary. This means the goal is not to predict ...

Graphcuts for Python: pygco (slight update)

Image
I have been using the excellent gco library for energy minimization with graph cuts for quite some time. Finally I got around to clean up / rewrite some of my Python wrappers so that maybe someone else can use them, too.