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

instructor: Andrei Jalba (MF 4.063, aDOTcDOTjalbaATtueDOTnl)


Agenda
taskdaydateplacestudent
deliverable
Intro. Assignment choice Tuesday 06/02 see Osiris -
Proposal submission Tuesday 13/02, before 24h Canvas project proposal
Evaluation of proposals Tuesday 20/02 Canvas -
Presentation day I (groups 1--7) Tuesday 06/03 see Osiris presentation + demo
Presentation day II (groups 8--14) Thursday 08/03 see Osiris presentation + demo
Submission I Thursday 15/03, before 24h Canvas report: concept version
Review Thursday 22/03 Canvas -
Demo day Tuesday 03/04 see Osiris full demo in a
market setting
Final Submission Thursday 12/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 two and register as such in Canvas.
  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. Final Submission: final deliverables, including the final report. Students should also send a separate report stating the changes wrt submission I. 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 2017-2018 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


Rendering and visualization engine for crowd simulation (project 3)
The goal of this project is to build a crowd visualisation tool that is capable of 2D and 3D views of crowds in evacuation scenarios. Specifically, the visualisation should contain the following elements:

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


Burst photography for HDR and low-light imaging on mobile cameras (project 5)
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


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:


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