<p>Check out the object detection framework available at <a href="https://github.com/nenadmarkus/pico" rel="noreferrer">https://github.com/nenadmarkus/pico</a>.</p>

<p>The framework enables you to learn a custom object detector (for example, for finding frontal, upright faces) and then use it at runtime for rotation invariant detection.</p>

<p>This is achieved by scanning the image with a rotated version of the object detector at a number of different orientations. Note that this can be done without cascade retraining or image resampling, and it should work in real-time on modern machines (the provided face detection demo does).</p>

<p>The details are given in the paper available at <a href="http://arxiv.org/abs/1305.4537" rel="noreferrer">http://arxiv.org/abs/1305.4537</a>.</p>
What is the best solution for rotation invariant detector?
<p>I'd like to create an object detector based on cascade classifier, the only problem is that LBP and Haar features are not rotation invariant. The first thing that comes to my mind is to rotate the training sample at different angles, but I doubt that the resulting classifier would have good quality, moreover, the object could have stretched proportions. There are many rotation invariant detectors, for example, iPhone recognizes faces in real time in any orientation, so I wonder how do they achieve this? I would prefer to use OpenCV for this.</p>