When a 3-dimensional world is projected onto a 2-dimensional image, such as the human retina or a photograph, reconstructing back the layout and contents of the real-world becomes an ill-posed problem that is extremely difficult to solve. Humans possess the remarkable ability to navigate and understand the visual world by solving the inversion problem going from 2D to 3D. Computer Vision seeks to imitate such abilities of humans to recognize objects, navigate scenes, reconstruct layouts, and understand the geometric space and semantic meaning of the visual world. These abilities are critical in many applications including robotics, autonomous driving and exploration, photo organization, image, or video retrieval, and human-computer interaction. This book delivers a systematic overview of computer vision, comparable to that presented in an advanced graduate level class. The authors emphasize two key issues in modeling vision: space and meaning, and focus upon the main problems vision needs to solve, including: • mapping out the 3D structure of objects and scenes• recognizing objects• segmenting objects• recognizing meaning of scenes• understanding movements of humansMotivated by these important problems and centered on the understanding of space and meaning, the book explores the fundamental theories and important algorithms of computer vision, starting from the analysis of 2D images, and culminating in the holistic understanding of a 3D scene