Speculating, not speaking from direct experience, I'd expect that a
distinctively colored circle would work best, especially if low
resolution and processing power are important, the visual target is
reasonably large (at least 5 or 10 pixels high or wide), and high
precision is not required.
Speaking from experience, use HSV (*1) or a similar color scheme to
detect the circle. Threshold (separate object pixels from background
pixels) based on a formula like object=[abs(hue-orange)0.7 AND value>0.4]. Hunter's orange is easily identified in
the average indoor setting. For microprocessor efficiency, rescale the
HSV equations to values of 0-255.
If such a circle is viewed "full frontal", then you will see a circle;
if viewed at an angle, you will see an ellipse. You can easily
calculate this ellipse using the mean and moments of the pixel
2). Based on these axes, you can determine the axis of
tilt (major axis of the ellipse).
If you also need orientation, then a second or third uniquely colored
circle can be used. Looking at the vectors between the centers of these
circles will yield orientation information, in addition to the
previously obtained tilt.
I've seen other algorithms which rely on a checker-board pattern. They
use edge detection to fit lines across the board. These lines are then
used to calculate the board's position and orientation. These also
seemed more processor intensive.
Quickly searched links: