计算机视觉代写｜COMP9517 Computer Vision
Computer vision is the interdisciplinary scientific field that develops theories and methods allowing computers to extract high-level information from digital images or videos. From an engineering perspective it seeks to automate perceptual tasks normally performed by the human visual system. Generally, vision is difficult because it is an inverse problem, where only insufficient information is available about the objects of interest in the image data. Physics-based mathematical and statistical models as well as machine-learning methods are used to assist in the task. Current real-world applications are wide-ranging, and include optical character recognition, machine inspection, object recognition in retail, 3D model building in photogrammetry, medical imaging, automotive safety, motion capture,surveillance, fingerprint recognition and biometrics, and others. This course provides an introduction to fundamental concepts and an opportunity to develop a real-world application of computer vision.
Before commencing this course you should:
●Be able to program well in Python, or be willing to learn it independently.
●Be familiar with data structures and algorithms, and basic statistics.
●Be able to learn to use and integrate software packages, including OpenCV, Scikit-Learn, Keras.
●Be familiar with vector calculus and linear algebra, or be willing to learn them independently.
After completing this course you will be able to:
●Explain basic scientific, statistical, and engineering approaches to computer vision.
●Implement and test computer vision algorithms using existing software platforms.
●Build larger computer vision applications by integrating software modules.
Interpret and comment on articles in the computer vision literature.
This course contributes to the development of the following graduate capabilities:
The course timetable is available here and via the main menu.
The course will be run during 2 X 2-hour time slots per week (see Course Timetable above). The first time slot will be a 2-hour lecture and the second time slot will be a 1-hour lecture followed by a 1-hour consultation session. The latter is intended to provide information about the labs (in the first weeks of the course) and the project (in later weeks) and answer questions about these.
The principal mode of teaching is lecturing. Because of the volume of the material available on the subject, lectures are a better means to present high-level overviews as well as in-depth presentations of selected topics. The lectures are complemented by a programming assignment, lab sessions, and a group project. In summary, the course consists of:
●Lectures: To learn about concepts and example applications.
●Assignment: To learn solving a significant problem early and quickly.
●Lab Sessions: To examine algorithms in more detail and provide an opportunity for evaluation and feedback.
●Group Project: To learn working in a team and building a significant application.
Modes of Delivery
The course will be delivered entirely online using the following media:
●Lectures: BlackBoard Collaborate (see Timetable for details)
●Q/A Forum: Ed (asynchronous throughout the course)
●Lab Consultations: BlackBoard Collaborate (synchronous on Fridays 11:00-12:00, Weeks 2-5, enter via Moodle login)
●Project Consultations: BlackBoard Collaborate (synchronous on Fridays 11:00-12:00, Weeks 6-9, enter via Moodle login)
●Project Demos: BlackBoard Collaborate (synchronous on Wednesday 16:00-18:00 and/or Friday 10:00-12:00, Week 10)
Unless you have received special dispensation from the Lecturer in Charge, work that is submitted after the deadline during the term will incur a penalty of 5% of the maximum assessment mark per day, capped at five days (120 hours) from the assessment deadline,after which submission is closed. For the final exam, university exam rules will apply.
This course will be held entirely online and all course materials will be provided online as well. There is no need to buy a book. In the lectures we will be referring to various resources for further reading, many of which are freely available online:
Richard Szeliski. Computer Vision: Algorithms and Applications. Second Edition, Springer, 2021.
●Dana H. Ballard and Christopher M. Brown. Computer Vision. Prentice Hall, 1982.
●lan Goodfellow, Yoshua Bengio, Aaron Courille. Deep Learning. MIT Press, 2016.
●David A. Forsyth and Jean Ponce. Computer Vision: A Modern Approach. Prentice Hall, 2011.
●Simon J. D. Prince. Computer Vision: Models, Learning and Inference. Cambridge University Press, 2012.
●Other resources of interest (available from the library or perhaps online as well) include:
●Linda G. Shapiro and George C. Stockman. Computer Vision. Prentice Hall, 2001.
●Rafael C. Gonzalez and Richard E. Woods. Digital Image Processing. Addison Wesley, 2008.
Milan Sonka, Vaclav Hlavac, Roger Boyle. Image Processing, Analysis and Machine Vision. Chapman and Hall, 2007.
Richard O. Duda, Peter E. Hart, David G. Stork. Pattern Classification. John Wiley and Sons, 2000.
●Gerard Medioni and Sing Bing Kang. Emerging Topics in Computer Vision. Prentice Hall, 2005.