instructor: Andrei Jalba (MF 4.063, aDOTcDOTjalbaATtueDOTnl)
instructor: Michael Burch (MF 4.119, mDOTburchATtueDOTnl)
|Intro. Assignment choice||Tuesday||05/02||see Osiris||-|
|Proposal submission||Tuesday||12/02, before 24h||Canvas||project proposal|
|Evaluation of proposals & feedback||Tuesday||19/02||Canvas||-|
|Presentation day I (groups 1--10)||Tuesday||12/03||see Osiris||presentation + demo|
|Presentation day II (groups 11--21)||Thursday||14/03||see Osiris||presentation + demo|
|Submission I||Tuesday||19/03, before 24h||Canvas||report: concept version|
|Review & feedback||Tuesday||26/03||Canvas||-|
|Demo day||Thursday||28/03||see Osiris||full demo in a market setting|
|Final Submission||Thursday||04/04, before 24h||Canvas||report: final version;|
all other final deliverables
1. In the column "day", bold font is used to indicate meeting days; participation is mandatory.
2. Deliverables are handed in via Canvas, so it is essential to enroll and be part of a group in Canvas.
3. Feedback on the concept report will be given either during/after the presentation + demo days, or 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.
The proposal (as well as all other reports, see below) should be handed-in via Canvas and it should be in pdf format. The teacher 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).
⊕ 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-modelling, rendering and interaction.
⊕ 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.
⊕ Ant-Based Bundling (project 3) - MB
Node-link diagrams are a popular visual metaphor for visualizing graph data. However, they typically suffer from visual clutter if too many links are drawn caused by the fact that a graph can become dense and large. Edge bundling has become a nice way to show the node-link diagrams in a more aesthetically appealing way, however, only hierarchical and force-directed bundling approaches have been tried in the past. In this project we want to learn about how efficient swarm-based bundling methods can be, if applied to the problem of producing nicer looking node-link layouts.
⊕ Burst photography for HDR and low-light imaging on mobile
cameras (project 4) - 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.
⊕ Graph Animation vs. Static Dynamic Graph Visualization (project 5) - MB
Visualizing a time-varying graph can be done in one of two ways, i.e., as a graph animation or as a static representation showing as many graohs as possible from the sequence in a single picture. In this project we will focus on a visualization tool that combines both concepts in a side-by-side linked view, allowing interactions in both techniques. The benefit of graph animation is the space-efficiency while for static diagrams the user can observe the dynamic data for trends, however, a linking between both concepts has even more benefits.
⊕ A Horton-Strahler Number-Enhanced Node-Link Hierarchy and Graph Visualization (project 6) - MB
In mathematics, the Horton–Strahler number of a hierarchy is a numerical measure of its branching complexity. The goal of this project is to integrate this number to traditional node-link tree layouts and let the user interactively change the intensity of the visual output of this number while also different layouts (more space-efficient ones) should be tested. Moreover, this number should also be added to node-link diagrams of arbitrary graphs, for example, by first computing the minimum spanning tree (MST) of the corresponding graph.
⊕ Procedural city modelling (project 7) - AJ
Creation of environments for games is a laborious task. A way to simplify this task is by automatic generation
of environments using parameterized procedures. For this assignment you are asked to,
fully automatically and in a higly parameterizable way,
generate a large city plan and fill that in with buildings, parks, bridges, traffic signs, etcetera.
To increase level of realism and at the same time reduce the size of the model the generation of textures is highly advisable.
Some additional requirements for this assignment could be: on demand city generation, walkthrough animation, height map/landscape generation, high level parameterization (Roman buildings, Chinese town, Gaudi style, ...).
Proposals that make good use of a city map (e.g. OpenStreetMap), and other real data, statistics, or maps are preferred.
⊕ Visual Analysis of Word Relations in the DBLP Dataset (project 8) - MB
The DBLP is the digital bibliography library project containing more than 4,000,000 paper titles from the field of computer science. In this project we are interested in how certain words or word groups are related and how their relations changed over time. These findings can indicate if certian topics or subtopics are related to others, which topics died out over the years, which new ones come into play, how they are built on others, and even if some topics disappear and reappear in an alternating behavior. To reach this goal an interactive visualization has to be designed.
⊕ Real-time 2D to 3D video conversion (project 9) - AJ
Using the motion compensation (MC) data of advanced video codecs such as H264, it is possible to recover depth information in real-time, starting from 2D video sequences. The MC data, which is extracted during the video decoding process, is used to calculate the relative projected velocity of the elements in the scene. This velocity is then used to estimate the relative depths of pixel patches in each picture of the video scene sequence. The depth estimation process is performed alongside the standard H.264 decoding process, leading to real-time efficiency. Implement this method using any of the freely available H264 video decoders. Aim at real-time performance and render the recovered 3D scene simultaneous with the 2D video sequence.
⊕ Interleaved Adjacency Matrices for Visualizing Huge, Dense, and Temporally Long Dynamic Graphs (project 10) - MB
Interleaving is a relatively new concept in information visualization that is useful to show temporally long datasets, for example, a sequence of graphs. For node-link diagrams this has been explored a lot already, but for adjacency matrices also showing graph data, this is an open problem. In this project the goal is to develop an interleaved and splatted version of a sequence of graphs, visually represented as weighted adjacency matrices. Interactions should be integrated allowing to change typical parameters.
⊕ Reinforcement learning for simulating crawler vehicles (project 11) - 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.
⊕ Visual Analysis of the Temporal Events in Earthquake Data (project 12) - MB
Many earthquakes happen on earth everyday, but most of those are not very strong and only have a small impact on the environment in which they happened. However, visually understanding the evolution of those earthquakes might be of particular interest since there could be dependencies between them, temporally as well as locally. Moreover, if no earthquake happened over a long time in a certain area this might be an indication that a bigger one has to be appear in the near future. In this project we will develop an interactive and scalable visualization that supports the visual detection of typical trends in earthquake data, locally as well as temporally.
⊕ 3D modeling tool using Google poly (project 13) - AJ
Build a 3D modeling tool which uses as input the various objects/models from the Google play database. The tool should support various CAD operations and should allow for easy placement and manipulation of basic 3D models from the database. The focus should be on rendering, interaction and presentation, in the siprit of scenario editors for popular 3D games.
⊕ Visual Analysis of Evolving Soccer Results (project 14) - MB
There are thousands of soccer matches on earth every week. Visualizing them in terms of traditional statistical plots like bar charts is already useful, however, it does not provide any details about intermediate events. For example, it might be interesting to see the changes of soccer results based on the time in the match and the current score. In this project an interactive visualization tool should be built that can display the time-varying soccer results while allowing the user to filter for specific categories or events, hence building some kind of result prediction tool.
⊕ Visualizing the Changes between Two Graphs (project 15) - MB
Comparing two graphs is a difficult task, in particular, if they consist of many vertices and edges, maybe also attached to edge weights or further attributes. In this project we focus on the comparison of two (or even more) static graphs. This comparison should be done algorithmically and then the output of the algorithm should be reflected in a corresponding visualization. The changes between two graphs can be computed on different metrics, one is for example, by taking into account the Jaccard coefficient for each underlying reachable set of vertices in the graphs, maybe by making use of the minimum spanning tree (MST).
⊕ Attention Clouds for Exploring Eye Movement Data (project 16) - MB
Eye tracking has become a new technology for investigating visual attention in visual stimuli. The recorded eye movement data has a spatio-temporal nature and is pretty difficult to analyze for commonalities and differences in the data over space, time, and study participants. In this project we will focus on developing an intuitive visualization for the visual attention by first snipping the corresponding image thumbnails whose size depends on the visual attention strengths and finally, laying out the image thumbnails in an attention cloud, similar to the approach used in word or tag clouds.
⊕ Force-Directed Generalized Pythagoras Trees (project 17) - MB
Generalized Pythagoras Trees are a way to visualize hierarchical data structures. Although these tree diagrams look aesthetically appealing, they typically suffer from occlusion problems due to the fact that the standard layout algorithm does not take into account the branch overlaps. In this project we will extend the traditional Generalized Pythagoras trees by adding a force-directed approach, trying to find a more uncluttered, but also more balanced version of the traditional way of visualizing these tree structures.