CMPT 467/764 (Fall 2021) - Course Projects (35% of Course Grade)

"We have a habit in writing articles published in scientific journals to make the work as finished as possible, to cover up all the tracks, to not worry about the blind alleys or describe how you had the wrong idea first, and so on. So there isn't any place to publish, in a dignified manner, what you actually did in order to get to do the work." - Feynman, Richard Philips (Nobel Lecture)

[ Presentation schedule | Description | Evaluation ]


Date: Monday, December 13
Location: TASC 9204 East


Project description

The course project will involve the design and implementation of an automated mix-n-match, part assembly based 3D modeling method plus a learned plausibility scoring scheme to evaluate the quality of the generated 3D models. See an example of a mix-n-match part assembly below:

Key components of your project include
  1. A Parser which takes as input a set of pre-segmented and labeled 3D models and converts them into an internal representation for further processing, i.e., mix-n-match modeling.

  2. A Mixer which produces one or more new 3D models by recomposing parts, possibly geometrically transformed or deformed parts, from models in the input test set. This component has the most room for cleverness. It involves finding the most appropriate parts and sets of parts to be re-composed, as well as applying proper geometric transformations, deformations, and part connection mechanisms to ensure that the mixed models possess sufficient degrees of plausibility. A random mix-n-match without any part transformation will be a base line but will not receive a high grade. Surprising new chairs are more likely to emerge if more drastic part transformations are possible. Your design and implementation will be judged by its effectiveness and thoughtfulness.

  3. A Scorer which takes a new 3D chair model and returns a plausibility score to judge its likeliness of being a chair. In this project, you are asked to implement a classifier, which is trained on data derived from a set of 3D chair models (the training set). Specifically, the classifier should be probabilistic instead of merely returning a binary label, i.e., yes/no with respect to being a chair or not. Given a new 3D model, the probabilistic classifier returns a numerical value, the plausibility score, which represents the likelihood that the model belongs to the chair category.

    There are a lot of online resources covering probabilistic classifiers, e.g., Wiki, this course notes from Prof. Mark Schmidt at UBC, and this online tutorial. You are free to learn and implement any classifier for the task at hand. Available tools and implementations can be utilized, but please make sure that you provide clear citation and explain what your group did to adapt the tool/implementation to the plausibility scoring.

    If you want a direct example of learning plausibility scores for 3D shapes to start with, please read Section 4.1 of the SIGGRAPH 2017 paper by a GrUVi Almumni, Chenyang Zhu. You can work from the provided plausibility scorer (available at this google drive link (1.2 Gb)) and improve upon it. The provided baseline scorer was inspired by the one described in Chenyang's paper, but it uses LeNet's architecture for each individual classifier.

    There are plenty of online tutorials for image classifiers using Convolutional Neural Networks, like this one. Further, there are opportunities to improve both the classifier architecture and to improve the dataset itself (read the augmentation session on the tutorial). Still, you should note that the provided scorer is a baseline and not the most advanced probabilistic classifier given today's standard in deep learning.

Go back to top

Evaluation:

The grade (35% of course grade) of your project will be based on three components:

Your project code is to be electronically submitted on the same day of the defense by 23:45. Each project presentation, up to 20 minutes in length, must state clearly what each group member was responsible for in the project and show an assessment of how his/her part performed and contributed to the final project outcome. All group members are expected to be present in person and may be questioned after the presentation. Under exceptional circumstances and with explicit permission of the instructor, a group member may be absent.

The presentation must contain clear descriptions of the implemented mix-n-match scheme and plausibility classifier (if any change on the baseline architecture/dataset was implemented). It also must contain a demo component where it is explicitly shown that the implemented program takes on the provided input and produces a set of outputs.

Your presentation/demo will be judged (i.e., graded) according to the following criteria:

  1. Quality of presentation and demo
  2. Novelty of the proposed approach
  3. Clarity and fluency of presentation
  4. Knowledge demonstrated throughout the presentation
  5. Ability to answer questions

Go back to top


Richard (Hao) Zhang / haoz at cs dot sfu dot ca