instructor: Andrei Jalba (MF 7.092, )
instructor: Huub van de Wetering (MF 7.094, )
Task | day | date | place | student deliverable |
Kickoff meeting | Tuesday | 08/02 | Luna 1.240 | - |
Proposal submission | Tuesday | 15/02, before 24h | Canvas | project proposal |
Evaluation of proposals & feedback | Tuesday | 22/02 | Canvas | - |
Presentation day 1 | Tuesday | 15/03 | Luna 1.056 | - |
Presentation day 2 | Thursday | 17/03 | Luna 1.056 | - |
First Submission | Thursday | 17/03, before 24h | Canvas | report -- concept version; presentation slides |
Review & feedback | Tuesday | 24/03 | Canvas | - |
Demo session | Thursday | 07/04 | Auditorium 13 | - |
Final Submission | Thursday | 14/04, before 24h | Canvas | report: final version; all other final deliverables |
Peer evaluation | Tuesday | 19/04, before 24h | Canvas | evaluation report |
Remarks
1. All meetings for which a room is indicated above will take place on-site. This is to encourage interaction and class participation. If, however, due to Corona you have to stay at home, you can also attend a meeting online, via Teams; use this option as a last resort.
2. All deliverables are handed in via Canvas.
This project is aimed at improving the practical skills in creating computer graphics and visualization applications. Programming language and environment are at the choice of the student.
Procedure:
Ideally you will form a complete group and then register in Canvas. Please mind that we will merge incomplete groups so as to make them complete.
The proposal (as well as all other reports, see below) should be handed-in via Canvas and it should be in pdf format. The instructor will provide feedback about your proposal via Canvas. Typically, responses are suggestions for addition or removal of functionality or changes in planning.
The report should contain the following elements:
The report should be up to 8 pages, including up to 2 pages of figures; it should be done in Latex using the provided template (see Files under Canvas). Report writing guidelines can be found here.
⊕ Braitenberg vehicles (project 1) - AJ
Build an interactive educational virtual environments in which
Braitenberg vehicles may live and do their thing.
The educational part of this assignment should be that with interaction
with the vehicles and environment, the working
of the Braitenberg vehicles can be clearly illustrated. Furthermore, the
end result should show superb 3D-modeling, rendering and interaction.
Additional information
⊕ Interactive display method for digital photographs (project 2) - AJ
Build an interactive environment for displaying collections of
photographs, using different arrangements. Various requirements for photo arrangements should be flexibly replaced
or added through the interaction and the results should be dynamically displayed.
Additional information
⊕ Burst photography for HDR and low-light imaging on mobile
cameras (project 3) - AJ
Cell phone cameras have small apertures,
which limits the number of photons they can gather, leading to noisy
images in low light. They also have small sensor pixels, which limits
the number of electrons each pixel can store, leading to limited
dynamic range. One possibility to address these issues is to use
information from multiple, successive photos of a burst.
Implement the HDR+ method (see below) for photography enhancement.You may use a computer-vision library (e.g. OpenCV) to help you implement the multiple processing stages of the method. Strive to optimize your implementation, use parallelism and if possible port it to mobile platforms.
Additional information
⊕ Object/shape recognition from silhouettes (project 4) - AJ
The reconstruction of a 3D object model from a set of images taken from
different viewpoints is an important problem in computer vision. One of the
simplest ways to do this is to use the silhouettes of the object (the binary
classification of images into object and background) to construct a bounding
volume for the object. To efficiently represent this volume, Szeliski [1] uses an
octree, which represents the object as a tree of recursively subdivided cubes.
The algorithm starts with a small number of black cubes. Black cubes are
believed to lie completely within the object, white cubes are known to lie
outside of the object, and gray cubes are ambiguous (e.g. along object's
boundary). When a new image is acquired, all current cubes are projected in
the image plane and tested whether they lie totally within or outside the
silhouette. Then, the color of each cube is updated according to the outcome
of the cube-silhouette intersection test.
Implement the shape-from-silhouettes method above using images
captured by a single, hand-held camera (webcam, mobile phone, etc.).
Use a computer-vision library (e.g. OpenCV) to help you perform
low-level computer vision tasks such as: feature detection, feature
matching, segmentation, camera calibration, camera pose estimation,
etc. Alternatively, sensors available in your phone can be used to
help with camera pose estimation, motion, etc. If necessary, use a
so-called camera calibration pattern (chessboard pattern).
Additional information
⊕ Reinforcement learning for simulating crawler vehicles (project 5) - AJ
Build an interactive educational virtual environments in which various crawler-type vehicles (see below) are simulated. You will have to use some physics engine to implement the dynamics of the vehicle and sensing of the environment. Start with a basic crawler using simple rules for reinforcement learning and gradually enhance it to perform more and more actions. The educational part of this assignment should be that the interaction with the vehicles and environment and the working of the vehicles can be clearly illustrated. Furthermore, the end result should show superb 3D-modelling, rendering and interaction.
Additional information
⊕ Comparison of phylogenetic trees (project 6) - HvdW
Phylogenetic trees are commonly used to analyze the historical evolution of species from a common ancestor. For some biological questions, it is relevant to compare study structural differences between trees. Nowadays, with increasing data availability, making structural comparisons of large trees becomes challenging. Your task in this project is to develop new interactive visual encoding for comparison multiple (large) phylogenetic trees. The new visual encoding should hint to differences in tree structure and organization, such that a biologist can further quickly find and interpret these.
Additional information
⊕ Covid-19 social distancing simulation: supermarket case study (project 7) - HvdW
Social distancing has proven a successful measure in slowing down the spread of the Covid-19 virus. The transmission of the covid-19 is studied in several mechanisms, for example by close contact or via inhalation of virus-containing aerosols. Researchers have developed several simulations to study these mechanisms and other contributing factors. Given a simulation model, your task in this project is to visualize several different scenarios of social distancing measures in a supermarket. This interactive visualization can serve as a decision support tool for policy makers and store owners.
Additional information
⊕ Modelling and visualizing Sweep Objects (project 8) - HvdW
A sweep operator can be used for modelling 3D shapes. It uses across section and a sweep line as input to create a 3D shape. This general operation can be extended by taper, twist, and warp parameters, used for scaling, rotating, and morphing the cross section along the sweep line.
Additional information
⊕ Block World Editor (project 9) - HvdW
Make an editor to build a 3D world consisting of stacked blocks in a WYSIWYG manner. This effectively means that you are walking around in the world while building it. The editor should be such that relatively complex worlds can be efficiently build.
Additional information
⊕ Circular Space Reclaiming Icicle Plots (project 10) - HvdW
Space-reclaiming icicle plots are hierarchy visualizations based on the visual metaphor of icicles. This approach tries to reclaim empty space in all hierarchy levels, resulting in an improved visibility of the hierarchy elements especially those in deeper levels. In this project a circular version of the SRIPs has to be realized.
Additional information