Sect 01 Disc: MoWe 12:00-12:50PM, Langdon 106
Sect 02 Act: MoWe 01:00-01:50PM, OCNL 244
Canvas LMS: Spring 2024
Email: sbsiewert@csuchico.edu
Student Help: Office Hours, My Schedule
Other times by appointment
CSCI 612 Applied Computer Vision 3 Units
Prerequisite: CSCI 311 or equivalent with C or higher.
Typically Offered: Spring only
Applied computer vision used in automation, robotics, physical security, surveillance, and inspection applications and systems. Topics covered include theory of computer vision and related algorithms for image capture and processing, filtering, thresholds, edge detection, shape analysis, shape detection, salient object detection, pattern matching, digital image enhancement, stereo ranging, and methods of sensor and information fusion. Focus is on real-time continuous image processing from cameras and video. Application using multi-core and co-processing parallel computing systems are covered as they relate to scaling of computer vision applications. 2 hours activity, 2 hours discussion. (022279)
Grade Basis: Graduate Graded
Repeatability: You may take this course for a maximum of 3 units
Course Attributes: Graduate Division; Laptop required
Course Description: This course emphasizes a balance of top-down and bottom-up theoretical understanding of continuous image processing required in applied disciplines such as robotics and inspection systems. Algorithmics and mathematics required to parse scenes, recognize targets of interest, compute key point features, and support higher level application development such as visual odometry, SLAM (Simultaneous Localization and Mapping), inspection system visual QA/QC will be covered in depth.
Goals: Students will test implementations for trustworthiness using instructor supplied challenge set video, department mobile robots, or video game automation using a simple USB camera and Linux computer. The course will use MATLAB and OpenCV for top-down algorithm and transformation applications and C/C++ or Python for fundamental bottom-up algorithm construction and top-down. At the end of the course, all students must demonstrate a computer vision-based automation application or system working individually or on a small team.
Textbook: Not required, course is taught primarily from notes.
OpenCV online documentation (access for current OpenCV version used): https://opencv.org/
NVIDIA JetPack Software: Jetpack , Jetpack Archive, Jetson Nano 2g Getting Started, Get CSU CSCI 612 JetPack Image
MATLAB: CSU Chico MathWorks Page, CSU Student Quickstart; NVIDIA: Grant Program
REFERENCES: [1] Davies, E. Roy. Computer Vision: Principles, Algorithms, Applications, Learning, 5th Edition. Elsevier, 2018. (ISBN 978-0-12-809284-2) Amazon link, Author link, Merriam Library Online Copy, [2] Gary Bradski, Adrian Kaehler, Learning OpenCV 3, O'Reilly, 2016 publisher link, see Canvas excerpts from 1st Edition (found here), also covered by OpenCV Documents for version 4.x, [3] http://szeliski.org/Book/ - Computer Vision: Algorithms and Applications 2nd Edition with electronic download option (1st edition download).
Reference (On the Web):The OpenMP Common Core, by Mattson, He, and Koniges; Designing and Building Parallel Programs, by Ian Foster.
CSCI 612 Past Projects: ACV-2022 Videos
YOLO v8 for CV: Roboflow Training & Documentation
Video Magnification: MIT CSAIL Project
AR/MR: Sixth Sense Project
Image file formats: QOI, Theora, MPEG, JPEG, PNG, NETPBM (PPM, PGM, etc.)
CV ML - IDSIA, OpenCV ML Viso.ai best CV tools
Important Course Links:
CSCI 612 Files, Link to Example Media, Image Net, Roboflow Labeled Data
Linux Racing and Flight Games, Best Linux Open Source Games, Image Render: Midjourney, Image Diffusion and Denoising, Runway CV/ML.
Arizona: Challenge Set Video, Colorado: Challenge Set Video, CalTech: Pedestrian Challenge Set, Kaggle Image Data , Linux Open Source Driving Games
3D mapping: ElasticFusion, EF paper, ORB SLAM, ORB SLAM2
OpenCV (JetPack 4.6 on Jetson - User's Guide, Quickstart),
Oracle Virtual-Box (optional - not required),
Ubuntu Linux LTS, 20.04/18.04 LTS Download (optional - not required),
Linux UVC Supported Cameras, e.g. Logitech C270 and C615 (required).
MV/ML: Modelplace.AI , MediaPipe, PoseNet Code & Docs, OpenPose Code & Docs, PyTorch, Tensorflow, MATLAB ML, MATLAB DL
Cameras: Linux UVC, Logitech C270 & C615. Advanced: Liquid Lens, FLIR Blackfly, Boson.
NVIDIA Tools: Isaac Sim for ML, Computer Vision SDK, Omniverse, Webinars, GPU Tech Conf
UAVs: Know Before you Fly