Learning Sparse Representations For Computer Vision Applications