2IMV10 - Visual computing project - 2016-2017 Q3
For previous versions see 2IMV10.

instructor: Andrei Jalba (MF 4.063, aDOTcDOTjalbaATtueDOTnl)


Agenda
taskdaydateplacestudent
deliverable
Intro. Assignment choice Tuesday 07/02 see owinfo -
Proposal submission Tuesday 14/02, before 24h Canvas project proposal
Evaluation of proposals Tuesday 21/02 Canvas -
Presentation day I (groups 1--7) Tuesday 07/03 see owinfo presentation + demo
Presentation day II (groups 8--14) Thursday 09/03 see owinfo presentation + demo
Submission I Tuesday 14/03, before 24h Canvas report: concept version
Review Thursday 23/03 Canvas -
Demo day Tuesday 28/03 see owinfo full demo in a
market setting
Submission II Thursday 06/04, before 24h Canvas report: final version;
all other final deliverables

Remarks

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.



Description

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:

  1. Students work in groups of three and register as such in Canvas.
    In case of a small number of participants, this may be reduced to groups of one or two.
  2. Each group chooses one of the assignments given below. Only up to two groups are allowed to work on the same assignment. To avoid conflicts, make two or even three choices for interesting assignments, from those given below. The final assignment choice is finalized during the first meeting; see table above.
  3. Each group writes a proposal for the assignment.
    The proposal should contain: The total size of this proposal should be 4 to 6 pages.

    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.

  4. The students start working on their assignments and can consult the teacher after making an appointment.
  5. Submission I: concept version of the final report, featuring sections and subsections with an appropriate description of the intended content, or the actual content where that is possible. The teacher will review this report and notify the students of his findings.
  6. Presentation day I/II: each group gives a short presentation (about 10-15 minutes) about the project and shows a running prototype illustrating the already implemented concepts. Clearly explain requirements, state problems and their solutions, as far as feasible. Care must be taken to state clearly the status of the project: what is already finished, what still needs to be done, etc.
  7. Demo day: Students present their results to fellow students and to a selection of staff members of the visualization group.
  8. Submission II: final deliverables, including the final report. Students should also send a separate report stating the changes wrt submission II. This change report should not only state what has been changed in the report but also clearly state what the students did as a result of the review they received before. See below for more remarks on deliverables.



Final deliverables




Report requirements

The report should contain the following elements.

The total size of the report should be about 10-15 pages.




Hint
Please give your application attractive and functional interactivity. This will not only help you to develop and test your own program but, for sure, others will not like your program, if you don't like it yourself. Both functionality and usability of the system will be graded.




Assignments 2015-2016 Q3

Braitenberg vehicles (project 1)
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.

Additional information


Interactive display method for digital photographs (project 2)
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


Ant colony optimization for path planning (project 3)
In the natural world, ants initially wander randomly, and upon finding food return to their colony while laying down pheromone trails. If other ants find such a path, they do not keep traveling at random, but instead follow the trail, returning and reinforcing it if they eventually find food. The idea of the ant-colony algorithm is to mimic this behavior with "simulated ants" walking around the graph representing the problem to solve.

Build an interactive simulation environment based on the ant-colony algorithm applied to path planning for e.g. robot navigation. Given an input environment (e.g. a building floor, a map of buildings within a city, a floor/maze plan, etc.) and certain goal/target positions (e.g. exit locations), your simulator should use the ant-colony algorithm to compute "optimal paths" towards the goals. Your simulator should allow the visualization of the "ants", algorithm state, progress, etc. and allow interactive manipulation of the goal positions and obstacles.

Additional information


The Corridor map method for path planning (project 4)
A central problem in games is planning high-equality paths for characters avoiding obstacles in the environment. Current games require a path planner that is fast (to ensure real-time interaction) and flexible (to avoid local hazards). In addition, a path needs to be natural, meaning that the path is smooth, short, keeps some clearance to obstacles, avoids other characters, etc. The Corridor Map Method (CMM) satisfies the requirements mentioned above.

Build an interactive simulation environment for large crowds based on the CMM. Extend the CMM to allow dynamic manipulation of obstacles: creation of new obstacles, 'soft' obstacles, etc. The focus of this project should be on path planning and not on crowd dynamics.

Additional information


House of cards clip (project 5)
For the song 'house of cards' of the band Radiohead a 3D point cloud was generated (see links below). Create a clip for this song given this data. The emphasis of this assignment should be on manipulation of point clouds: e.g. surface reconstruction, shading, denoising, etcetera.


procedural city modelling (project 6)
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.

Additional information:


simulation of continuous materials (project 7)
In the last years position-based simulation methods have become popular in the graphics community. In contrast to classical simulation approaches these methods compute the position changes in each simulation step directly, based on the solution of a quasi-static problem. Therefore, position-based approaches are fast, stable and con- trollable which make them well-suited for use in interactive environments.

The combination of continuum simulation of deformable solids and position-based dynamics makes the simulation algorithm stable, fast and controllable while providing the ability to simulate complex physical phenomena lacking in former position-based approaches.

Your simulation engine for continuous materials using position-based dynamics should allow for simulating various deformable solids, and it should perform in real time for large objects. Use parallelism to cut down on execution time. Realism should also be considered. /p>

Additional information


object/shape recognition from silhouettes (project 8)
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


open data (project 9)
Making data available to the general public is only half of the story. Being able to use the data to its full potential requires processing this data. However, how to process the data and what to look for is not at all obvious. Here visualization may come to the rescue to get a good feel of what kind of information is in a dataset. For this assignment you need to pick a non-trivial dataset and create a tool for visually browsing that dataset for interesting information.

For this assignment as much as possible of the following features should be fulfilled by your proposal:

    spatial-temporal data, fusion of data sources, analysis of data integrated with visualization
.

Several organizations make their data openly available, see for istance: