CS 231N: Deep Learning for Computer Vision
Computer Vision has become ubiquitous in our society, with applications in search, image understanding, apps, mapping, medicine, drones, and self-driving cars. Core to many of these applications are visual recognition tasks such as image classification and object detection. Recent developments in neural network approaches have greatly advanced the performance of these state-of-the-art visual recognition systems. This course is a deep dive into details of neural-network based deep learning methods for computer vision. During this course, students will learn to implement, train and debug their own neural networks and gain a detailed understanding of cutting-edge research in computer vision. We will cover learning algorithms, neural network architectures, and practical engineering tricks for training and fine-tuning networks for visual recognition tasks.Prerequisites: Proficiency in Python - All class assignments will be in Python (and use numpy) (we provide a tutorial here for those who aren't as familiar with Python). If you have a lot of programming experience but in a different language (e.g. C/C++/Matlab/Javascript) you will probably be fine.College Calculus, Linear Algebra (e.g.
MATH 19 or 41,
MATH 51) -You should be comfortable taking derivatives and understanding matrix vector operations and notation. Basic Probability and Statistics (e.g.
CS 109 or other stats course) -You should know basics of probabilities, gaussian distributions, mean, standard deviation, etc.
Terms: Spr
| Units: 3-4
Instructors:
Li, F. (PI)
;
Gao, R. (SI)
;
Li, Y. (SI)
;
Agarwal, T. (TA)
;
Agarwala, S. (TA)
;
Clarke, S. (TA)
;
Durante, Z. (TA)
;
Gao, Y. (TA)
;
He, J. (TA)
;
Hwang, M. (TA)
;
Li, H. (TA)
;
Liu, Z. (TA)
;
Sharma, M. (TA)
;
Shen, W. (TA)
;
Shi, H. (TA)
;
Stratta, M. (TA)
;
Xiang, T. (TA)
CS 348K: Visual Computing Systems
Visual computing tasks such as computational photography, image/video understanding, and real-time 3D graphics are key responsibilities of modern computer systems ranging from sensor-rich smart phones, autonomous robots, and large data centers. These workloads demand exceptional system efficiency and this course examines the key ideas, techniques, and challenges associated with the design of parallel, heterogeneous systems that execute and accelerate visual computing applications. This course is intended for graduate and advanced undergraduate-level students interested in architecting efficient graphics, image processing, and computer vision systems (both new hardware architectures and domain-optimized programming frameworks) and for students in graphics, vision, and ML that seek to understand throughput computing concepts so they can develop scalable algorithms for these platforms. Students will perform daily research paper readings, complete simple programming assignments, and compete a self-selected term project. Prerequisites:
CS 107 or equivalent. Highly recommended: Parallel Computing (
CS149) or Computer Architecture (
EE 282). Students will benefit from some background in deep learning (
CS 230,
CS 231N), computer vision (
CS 231A), digital image processing (
CS 232) or computer graphics (
CS248).
Terms: Spr
| Units: 3-4
Instructors:
Fatahalian, K. (PI)
;
Ma, A. (TA)
Filter Results: