Optimization for Computer Vision