Computer Vision for Precision Livestock Farming