Course Project #
NOTE: Most of the text below was taken from Stanford’s CS231n class project description and modified to match an introductory CS301 class at NJIT.
Overview #
The Course Project is an opportunity for you to apply what you have learned in class to a problem of your interest. Potential projects usually fall into these two tracks:
Applications. If you’re coming to the class with a specific background and interests (e.g. biology, engineering, physics), we’d love to see you apply machine learning (ML) to problems related to your particular domain of interest. Pick a real-world problem and apply ML to solve it. Models.
You can build a new model (algorithm), or a new variant of existing models, and apply it to tackle Vision/NLP or structured data tasks.
CVPR: IEEE Conference on Computer Vision and Pattern Recognition
ICCV: International Conference on Computer Vision
ECCV: European Conference on Computer Vision
NIPS: Neural Information Processing Systems
ICLR: International Conference on Learning Representations
ICML: International Conference on Machine Learning
Awesome Deep Vision Github repo
Kaggle challenges: An online machine learning competition website. For example, a Yelp classification challenge.
Meta Pointer: A large collection organized by CV Datasets.
ImageNet: a large-scale image dataset for visual recognition organized by WordNet hierarchy
SUN Database: a benchmark for scene recognition and object detection with annotated scene categories and segmented objects
Places Database: a scene-centric database with 205 scene categories and 2.5 millions of labelled images
NYU Depth Dataset v2: a RGB-D dataset of segmented indoor scenes
Microsoft COCO: a new benchmark for image recognition, segmentation and captioning
Flickr100M: 100 million creative commons Flickr images
Labeled Faces in the Wild: a dataset of 13,000 labeled face photographs
Human Pose Dataset: a benchmark for articulated human pose estimation
YouTube Faces DB: a face video dataset for unconstrained face recognition in videos
UCF101: an action recognition data set of realistic action videos with 101 action categories
HMDB-51: a large human motion dataset of 51 action classes
ActivityNet: A large-scale video dataset for human activity understanding
Moments in Time: A dataset of one million 3-second videos
Collaboration #
You can work in teams of up to 3 people.
Honor Code #
You may consult any papers, books, online references, or publicly available implementations for ideas and code that you may want to incorporate into your strategy or algorithm, so long as you clearly cite your sources in your code and your writeup. However, under no circumstances may you look at another group’s code or incorporate their code into your project.
Project Proposal #
The project proposal should be one paragraph (200-400 words). Your project proposal should describe:
What is the problem that you will be investigating? Why is it interesting?
What reading will you examine to provide context and background?
What data will you use? If you are collecting new data, how will you do it?
What method or algorithm are you proposing? If there are existing implementations, will you use them and how? How do you plan to improve or modify such implementations? You don’t have to have an exact answer at this point, but you should have a general sense of how you will approach the problem you are working on.
How will you evaluate your results? Qualitatively, what kind of results do you expect (e.g. plots or figures)? Quantitatively, what kind of analysis will you use to evaluate and/or compare your results (e.g. what performance metrics or statistical tests)?
Submission: Please submit your proposal . Only one person on your team should submit. Please have this person add the rest of your team as collaborators in Github as a “Group Submission”.
Project Report #
The following is a suggested structure for your report, as well as the rubric that we will follow when evaluating reports.
Title, Author(s)
Abstract: Briefly describe your problem, approach, and key results. Should be no more than 300 words.
Introduction (10%): Describe the problem you are working on, why it’s important, and an overview of your results
Related Work (10%): Discuss published work that relates to your project. How is your approach similar or different from others?
Data (10%): Describe the data you are working with for your project. What type of data is it? Where did it come from? How much data are you working with? Did you have to do any preprocessing, filtering, or other special treatment to use this data in your project?
Methods (30%): Discuss your approach for solving the problems that you set up in the introduction. Why is your approach the right thing to do? Did you consider alternative approaches? You should demonstrate that you have applied ideas and skills built up during the quarter to tackling your problem of choice. It may be helpful to include figures, diagrams, or tables to describe your method or compare it with other methods.
Experiments (30%): Discuss the experiments that you performed to demonstrate that your approach solves the problem. The exact experiments will vary depending on the project, but you might compare with previously published methods, perform an ablation study to determine the impact of various components of your system, experiment with different hyperparameters or architectural choices, use visualization techniques to gain insight into how your model works, discuss common failure modes of your model, etc. You should include graphs, tables, or other figures to illustrate your experimental results.
Conclusion (5%) Summarize your key results - what have you learned? Suggest ideas for future extensions or new applications of your ideas.
Writing / Formatting (5%) Is your paper clearly written and nicely formatted?
Supplementary Material, not counted toward your 6-8 page limit and submitted as a separate file. Your supplementary material might include:
Cool videos, interactive visualizations, demos, etc.
Examples of things to not put in your supplementary material:
The entire PyTorch/TensorFlow Github source code.
Any code that is larger than 10 MB.
Model checkpoints.
Submission: You will submit your final report as a markdown + img files under /docs in your Github repo.
Final Presentation (video recording) #
We will not hold a poster session this quarter. Instead we will use video recording as the way for student to present and share their project. Each group is required to submit a 5-minute presentation video for their final project. Students can be as creative as they like for their video presentations. The easiest option is to create a slide deck together as a team and record yourselves presenting the slide deck as a group using zoom. Each student member should speaker during the presentation.
The following is a suggested structure for the video presentation. The specific rubric will be updated later in the quarter. You don’t necessarily have to organize your presentation using these sections in this order, but that would likely be a good starting point for most projects.
Problem Statement: Briefly describe the problem your group is tackling. Describe the overall motivation, as well as the input / output of the problem.
Technical Challenges: Briefly describe why the problem is technically challenging.
Related Works: Briefly in what ways previous works have tackled the technical challenges.
Your Approach and Results: Describe your detailed technical approach and innovations. Describe evaluation results (dataset and metric).
Broader Impact: How do you expect the impact of your work to be? What can others learn from it or how can they apply it to solve their problems?
What are the limitations of your work? What are areas for future improvements?