Instructor: Chul Min Yeum (E2-2313)
Class: Mon and Wed, 11:30AM to 12:45PM at E2-3356
Email: [email protected]
Office Hours: By appointment
Last updated: 2024-12-28
Calendar: Link
Previous offerings of this course
- Smart Structure Technology (Winter, 2024)
- Smart Structure Technology (Winter, 2022)
- Smart Structure Technology (Winter, 2021)
- Smart Structure Technology (Winter, 2020)
- Smart Structure Technology (Winter, 2019)
- Course Description
- Intended Learning Outcomes
- Prerequisite
- Course Textbook
- Course Outline
- Tasks
- Communication
- Grading
- Note
This course offers an introduction to the emerging smart structure technologies in civil engineering. Smart structures integrate sensing, actuation, data processing, analysis, and visualization, and control capabilities so that a structure can sense and respond to its changing external conditions in a rapid and automated manner. Among several topics in smart structure, this course focuses on structural assessment using optical sensor data by implementing state-of-art image processing and computer vision techniques. As a special topic, basic concepts in structure from motion, machine learning, neural networks, and neural radiance fields (NeRF) are covered and relevant applications in civil engineering are introduced. An application-based learning approach is emphasized and tasks are designed in such a way that students can implement smart structure technology to address contemporary problems in civil engineering.
This course is specially designed to suit the interest of graduate students and senior undergraduate students who may pursue graduate studies. You can see the course outline and task assignments in the previous year from w2024, w2022, w2021, w2020, w2019. Note that all lectures were already delivered through pre-recorded videos in 2021. When you are absent from a class, you can watch the corresponding lecture video. However, students are highly encouraged to attend the classes.
Based on past course surveys, students should anticipate dedicating at least 10 hours per week to study class materials, work on assignments, and undertake research projects. Additionally, a strong background in computer programming is expected of students. If you are unsure about allocating this much time, please carefully reconsider enrollment. For undergraduates, be aware that the instructor will not accommodate personal situations, like capstone projects, quizzes, midterms, or finals, that do not adhere to institutional policies and guidelines.
By the end of this course, students should be able to
- Describe smart structure technology and its applications in civil engineering
- Explain the working principle of an accelerometer and digital camera, and their data acquisition process
- Interpret the concept of image processing techniques through signal processing theory
- Develop Python programs to process and analyze 2D and 3D optical data for structural assessment
- Demonstrate how to implement machine learning algorithms in solving real-world problems
- Explain the working principle of neural network and neural radiance field algorithms
- Devise innovative smart structure technology for civil engineering applications and research
- Family Day, Monday, February 17, 2024
- Winter Reading Week, Monday, February 17 – Sunday, February 23, 2024.
- Good Friday, Friday, March 29, 2024.
- Pre-examination Study Days: Monday, April 7 and Tuesday, April 8, 2024.
- Final Exam Period: Wednesday, April 9 to Friday, April 25, 2024.
For this course, students should have a foundational understanding of linear algebra and probability. Additionally, proficiency in Python programming is essential. Students are also expected to be familiar with Markdown script and Jupyter Notebook for submitting homework assignments.
This course is not based on any particular textbook. The instructor will provide relevant keywords (search by yourself), reading materials, and website links in each class.
The study load for each class is marked as the number of regular offline classes, which becomes a total of 23 classes. The expected time to finish (ETF) in each module is also provided to help students manage their time and keep up with lectures and assignments. The course material will be posted as a PDF.
Class | Topics (lecture slide) | Lecture | Notebook | Colab | Load | ETF | Task |
---|---|---|---|---|---|---|---|
C01 | Introduction | 1 | Jan 06 | Task01 | |||
C02 | Data Acquisition | Notebook | 1 | Jan 08 | |||
C03 | Signal Processing I | Notebook | 1 | Jan 13 | Task02 | ||
C04 | Signal Processing II | Notebook | 1 | Jan 15 | |||
C05 | Signal Processing III | Notebook | 2 | Jan 22 | |||
C06 | Modal Analysis | 1 | Jan 27 | Task03 | |||
C07 | Digital Image | 0.5 | Jan 29 | ||||
C08 | Projective Geometry | Notebook | 2 | Feb 05 | |||
C09 | Linear Filtering | Notebook | 1 | Feb 10 | Task04 | ||
C10 | Edge Detection I | Notebook | 1 | Feb 12 | |||
C11 | Edge Detection II | Notebook | 1 | Feb 24 | Task05 | ||
C12 | Feature | Notebook | 2 | Mar03 | |||
C13 | RANSAC | Notebook | 1 | Mar05 | Task06 | ||
C14 | Camera Model | 0.5 | Mar10 | ||||
C15 | Two-view Geometry | Notebook | 1 | Mar12 | |||
C16 | Structure From Motion | Notebook | 0.5 | Mar17 | Task07 | ||
C17 | Intro. of Mach. Learning | 0.5 | Mar19 | ||||
C18 | Gradient Descent | Notebook | 0.5 | Mar19 | |||
C19 | Training Linear Model | Notebook | 0.5 | Mar24 | |||
C20 | Neural Network | Notebook | 2 | Mar26 | Task08 | ||
C21 | Neural Radian Field | 2 | Mar 31 | Task09 |
There will be 8 tasks and 1 Quiz and they will be posted on this course website weekly or bi-weekly. The instructor encourage students to work in groups through collaborative learning, but to submit their assignments individually. The task will have programming components or photography components, where students will use their own camera to capture and process their own images and discuss the results. Students are supposed to complete all tasks and turn their works in by the due date. You can access the best reports for the assignments in previous years from w2024, w2022, w2021, w2020, and w2019. The problems will be similar to the ones in the previous assignments. However, the students must not copy and paste the codes or texts in those reports. Also, some answers in the model report are not correct.
Students are required to use Python for all assignments. Your source code should be well-organized and thoroughly commented. Submission must include both the source code (along with any data used) and a report. The report should be initially written in Jupyter notebook and then converted to PDF format. Each assignment will come with its specific submission guidelines. Please note that your grade will be based on the PDF report. Ensure that it includes all necessary figures and texts before submission.
Regarding late submissions, you are allowed a maximum one-week extension for up to three of the first eight assignments. However, the final assignment must be submitted on time. Exceeding three late submissions will result in a score of zero for the fourth late assignment. Be mindful of deadlines; extensions beyond this policy will only be considered under exceptional circumstances and may incur a penalty.
Graded reports will be sent via email. Additionally, sample solutions will be discussed in class, and with their permission, outstanding student reports may be shared on the class webpage.
Your final grade in this course depends significantly on your assignment scores. Therefore, not submitting homework could adversely affect your overall grade. If you're facing difficulties with the assignments, don't hesitate to contact the instructor or TA for help.
Task | Topics | Mark | Announcement | 1st Deadline | 2nd Deadline |
---|---|---|---|---|---|
Task01 | Basic Image Processing | 7 | Jan 06, 2025 | Jan 16, 2025 | Jan 23, 2025 |
Task02 | Signal Processing I | 8 | Jan 15, 2025 | Jan 27, 2025 | Feb 03, 2025 |
Task03 | Signal Processing II | 8 | Jan 26, 2025 | Feb 07, 2025 | Feb 14, 2025 |
Quiz01 | Quiz | 7 | Feb 10, 2025 | Feb 10, 2025 | Feb 10, 2025 |
Task04 | Homography | 15 | TBD | TBD | TBD |
Task05 | Image Processing | 10 | TBD | TBD | TBD |
Task06 | Feature Matching & RANSAC | 15 | TBD | TBD | TBD |
Task07 | Multiview Geometry | 15 | TBD | TBD | TBD |
Task08 | Neural Network | 15 | TBD | TBD | TBD |
The final grade will be determined by the cumulative marks obtained throughout the semester. Individual grades for each task can be found in the table under Tasks. The final grade is the sum of the grades awarded to students for each task.
All communication will be made through this course website, especially for this web page. The instructor will make a note in the "Announcement" section if there is an update on the web page. Students can configure email notification for by "watching" this course website or use a version control system for tracking its changes. Thus, students are responsible for checking the website regularly for any relevant course information or announcements.
In this course, both the instructor and the students are encouraged to engage in online discussions to create and facilitate a collaborative learning experience. Students are invited to ask questions and answer them, and share their knowledge and resources. Please direct your communication to a Discussion board (tab) on this website. However, if there is a good reason not to use the discussion forum (e.g. personal matters, a question that might reveal your solution of your report, etc.), please directly contact the instructor via email ([email protected]). Or, you can feel free to send messages the instructor or TA through Microsoft TEAM. You can check out this website. If possible, the instructor and TA prefer to use the discussion forum because questions and responses can be shared to the other students.
Discussion forum instruction
- Students are allowed to use either their own GitHub account or new account for this class if you want anonymity. They do not have to make a new account using their university email accounts.
- Please be respectful of your peers, instructor, and others in your posts and comments.
- Asking good questions is another way of learning by summarizing and explaining what you know and do not know. Thoughtful questions and answers will help all students in this class. Before posting a question, please ask yourself whether you are truly stuck (meaning that the answers can be readily found on the web) and your question are complete and legible.
- In addition, please check if the same question was asked before.
- Inappropriate posts and comments are immediately deleted and closed without a notice.
Generative artificial intelligence (GenAI) trained using large language models (LLM) or other methods to produce text, images, music, or code, like Chat GPT, DALL-E, or GitHub CoPilot, may be used for assignments in this class with proper documentation, citation, and acknowledgement. Recommendations for how to cite GenAI in student work at the University of Waterloo may be found through the Library:
https://subjectguides.uwaterloo.ca/chatgpt_generative_ai. Please be aware that generative AI is known to falsify references to other work and may fabricate facts and inaccurately express ideas. GenAI generates content based on the input of other human authors and may therefore contain inaccuracies or reflect biases.
In addition, you should be aware that the legal/copyright status of generative AI inputs and outputs is unclear. Exercise caution when using large portions of content from AI sources, especially images. More information is available from the Copyright Advisory Committee: https://uwaterloo.ca/copyright-at-waterloo/teaching/generative-artificial-intelligence
You are accountable for the content and accuracy of all work you submit in this class, including any supported by generative AI.
In order to maintain a culture of academic integrity, members of the University of Waterloo community are expected to promote honesty, trust, fairness, respect and responsibility. [Check the Office of Academic Integrity for more information.]
A student who believes that a decision affecting some aspect of his/her university life has been unfair or unreasonable may have grounds for initiating a grievance. Read Policy 70, Student Petitions and Grievances, Section 4. When in doubt, please be certain to contact the department’s administrative assistant who will provide further assistance.
A student is expected to know what constitutes academic integrity to avoid committing an academic offence, and to take responsibility for his/her actions. [Check the Office of Academic Integrity for more information.] A student who is unsure whether an action constitutes an offence, or who needs help in learning how to avoid offences (e.g., plagiarism, cheating) or about “rules” for group work/collaboration should seek guidance from the course instructor, academic advisor, or the undergraduate associate dean. For information on categories of offences and types of penalties, students should refer to Policy 71, Student Discipline. For typical penalties, check Guidelines for the Assessment of Penalties.
A decision made or penalty imposed under Policy 70, Student Petitions and Grievances (other than a petition) or Policy 71, Student Discipline may be appealed if there is a ground. A student who believes he/she has a ground for an appeal should refer to Policy 72, Student Appeals.
AccessAbility Services, located in Needles Hall, Room 1401, collaborates with all academic departments to arrange appropriate accommodations for students with disabilities without compromising the academic integrity of the curriculum. If you require academic accommodations to lessen the impact of your disability, please register with AccessAbility Services at the beginning of each academic term.
Text matching software (Turnitin®) may be used to screen assignments in this course. Turnitin® is used to verify that all materials and sources in assignments are documented. Students' submissions are stored on a U.S. server, therefore students must be given an alternative (e.g., scaffolded assignment or annotated bibliography), if they are concerned about their privacy and/or security. Students will be given due notice, in the first week of the term and/or at the time assignment details are provided, about arrangements and alternatives for the use of Turnitin in this course.
It is the responsibility of the student to notify the instructor if they, in the first week of term or at the time assignment details are provided, wish to submit alternate assignment.