This is Bingze LI's Computer Vision Coursework, Because of the limitation of the moodle submittion, so submit to gitlab