This is an old revision of the document!
Table of Contents
Available projects
The following projects are presented in alphabetical order on the supervisor's last name:
Simulation for Forest Fire Detection
Supervisor: Rob Allison
Required Background: General CSE408x prerequisites
Recommended Background: CSE3431 or CSE4471 or equivalent
Description
Detection of forest fires is a challenging activity that requires considerable training. The objective of this project is to implement a virtual reality simulation to incorporate key aspects of this task and then to perform an evaluation with a small user study.
Study of self-motion perception in microgravity
Supervisor: Rob Allison
Required Background: General CSE408x prerequisites
Recommended Background: CSE3431 or CSE4471 or equivalent
Description
This is a computer graphics project to present visual motion stimuli to an observer. The software will experimentally control scene content, collect user responses and control the camera trajectory to simulate the desired self-motion profile.
Stereoscopic cinema calculator
Supervisor: Rob Allison
Required Background: General CSE408x prerequisites
Recommended Background: CSE3431 or CSE4471 or equivalent
Description
Directors of three-dimensional movies sometimes use 'stereo calculators' to compute the simulated depth of objects in the film show to the viewer in order to maximize the stereoscopic effects and maintain comfortable viewing. However current calculators have limited ability to visualize the results of the calculations. This project will combine stereo calculations with visualization software to assist the director in artistic and technical decisions.
Three-Dimensional Context from Linear Perspective for Video Surveillance Systems
Supervisor: James Elder
Requirements: Good facility with applied mathematics
Description
To provide visual surveillance over a large environment, many surveillance cameras are typically deployed at widely dispersed locations. Making sense of activities within the monitored space requires security personnel to map multiple events observed on two-dimensional security monitors to the three-dimensional scene under surveillance. The cognitive load entailed rises quickly as the number of cameras, complexity of the scene and amount of traffic increases.
This problem can be addressed by automatically pre-mapping two-dimensional surveillance video data into three-dimensional coordinates. Rendering the data directly in three dimensions can potentially lighten the cognitive load of security personnel and make human activities more immediately interpretable.
Mapping surveillance video to three-dimensional coordinates requires construction of a virtual model of the three-dimensional scene. Such a model could be obtained by survey (e.g., using LIDAR), but the cost and time required for each site would severely limit deployment. Wide-baseline uncalibrated stereo methods are developing and have potential utility, but require careful sensor placement, and the difficulty of the correspondence problem limits reliability.
This project will investigate a monocular method for inferring three-dimensional context for video surveillance. The method will make use of the fact that most urban scenes obey the so-called “Manhattan-world” assumption, viz., a large proportion of the major surfaces in the scene are rectangles aligned with a three-dimensional Cartesian grid (Coughlan & Yuille, 2003). This regularity provides strong linear perspective cues that can potentially be used to automatically infer three-dimensional models of the major surfaces in the scene (up to a scale factor). These models can then be used to construct a virtual environment in which to render models of human activities in the scene.
Although the Manhattan world assumption provides powerful constraints, there are many technical challenges that must be overcome before a working prototype can be demonstrated. The prototype requires six stages of processing: 1)The major lines in each video frame are detected. 2) These lines are grouped into quadrilaterals projecting from the major surface rectangles of the scene. 3) The geometry of linear perspective and the Manhattan world constraint are exploited to estimate the three-dimensional attitude of the rectangles from which these quadrilaterals project. 4) Trihedral junctions are used to infer three-dimensional surface contact and ordinal depth relationships between these surfaces. 5) The estimated surfaces are rendered in three-dimensions. 6) Human activities are tracked and rendered within this virtual three-dimensional world.
The student will work closely with graduate students and postdoctoral fellows at York University, as well as researchers at other institutions involved in the project. The student will develop skills in using MATLAB, a very useful mathematical programming environment, and develop an understanding of basic topics in image processing and vision.
For more information on the laboratory: http://www.elderlab.yorku.ca
Estimating Pedestrian and Vehicle Flows from Surveillance Video
Supervisor: James Elder
Requirements: Good facility with applied mathematics
Description
Facilities planning at both city (e.g., Toronto) and institutional (e.g., York University) scales requires accurate data on the flow of people and vehicles throughout the environment. Acquiring these data can require the costly deployment of specialized equipment and people, and this effort must be renewed at regular intervals for the data to be relevant.
The density of permanent urban video surveillance camera installations has increased dramatically over the last several years. These systems provide a potential source of low-cost data from which flows can be estimated for planning purposes.
This project will explore the use of computer vision algorithms for the automatic estimation of pedestrian and vehicle flows from video surveillance data. The ultimate goal is to provide planners with accurate, continuous, up-to-date information on facility usage to help guide planning.
The student will work closely with graduate students and postdoctoral fellows at York University, as well as researchers at other institutions involved in the project. The student will develop skills in using MATLAB, a very useful mathematical programming environment, and develop an understanding of basic topics in image processing and vision.
For more information on the laboratory: http://www.elderlab.yorku.ca
Computer pointing devices and the speed-accuracy tradeoff
Supervisor: Scott MacKenzie
Required Background: General 4080 prerequisites, CSE3461, and (preferably) CSE4441
Recommended Background: Interest in user interfaces and human-computer interaction (HCI). Understanding of experiment design. Experience in doing user studies.
Please click here for full description.
One key text entry
Supervisor: Scott MacKenzie
Required Background: General 4080 prerequisites, CSE3461, and (preferably) CSE4441
Recommended Background: Interest in user interfaces and human-computer interaction (HCI). Understanding of experiment design. Experience in doing user studies.
Please click here for full description.
The Algorithmics Animation Workshop
Supervisor: Andy Mirzaian
Required background: General prerequisites
Recommended background: CSE 3101
Description
The URL for Algorithmics Animation Workshop (AAW) is http://www.cs.yorku.ca/~aaw. The main purpose of AAW is to be a pedagogical tool by providing animation of important algorithms and data structures in computer science, especially those studied in courses CSE 3101, 4101, 5101, 6114, 6111. This is an open ended project in the sense that more animations can be added to this site over time.
Selenium/Eiffel Web Test Driven Development
Supervisor: Jonathan Ostroff
Required background: General prerequisites, at least a B+ in CSE 3311
Recommended background: Knowledge of Javascript a plus
Description
The Selenium IDE is an integrated development environment for Selenium scripts. It is implemented as a Firefox extension, and allows you to record, edit, and debug tests of web applications. The Selenium IDE is a recording tool, or you may edit your scripts by hand. With autocomplete support and the ability to move commands around quickly, Selenium IDE is the nice environment for creating webtests no matter what style of tests you prefer.
Tests can be translated to Java (JUnit), C#, Python etc. It can be extended to any language that can make HTTP calls.
The goal of this project is (1) to translate Selenium tests into tests that can be run under Eiffel (e.g. via ESpec or AutoTest), and (2) to provide a complete Eiffel web application creation template (with embedded database such as sqlite) for creating and testing web applications.
Automated Reasoning System for Quantified Propositional Logic
Supervisor: Zbigniew Stachniak
Required background: General prerequisites
Recommended background: Passion for programming and experimentation; Some knowledge of propositional and predicate logic
Description
Quantified Propositional Logics (QPL) plays an important role in a number of computer science disciplines from the theoretical computer science to knowledge representation and verification. There are also a number of open problems concerning this logic, and formulated more than 70 years ago, that can be finally solved (or at least approached) using automated reasoning techniques. The first step in such investigations has to be the design and implementation of a theorem prover, or automated reasoning system, for QPL. Such a system should, in principle, be able to determine whether or not a given formula of QPL is a theorem (or a tautology) in this logic.
The theorem prover for QPL is to be designed, implemented, and fully tested.
Background: Various variants of QPL have been formally formulated for the first time in the 1920s by a number of logicians and mathematicians. In modern computer science, QPL plays a significant role in theoretical computer science (proof complexity, satisfiability) as well as in verification and AI.
NABU Network Emulator
Supervisor: Zbigniew Stachniak
Required background: General prerequisites
Recommended background: Java (including 2D graphics); Some knowledge of PC hardware architecture; Some knowledge of (any) assembler language is an asset.
Description
Have you ever considered writing your own emulator of an interesting system? There has been a substantial activity in building software emulators of historically significant computers, game consoles, and, recently, smart communication devices. As a result, there is at least one emulator of almost every significant system. This activity contributes, in the first place, to the preservation and dissemination of significant hardware and software technologies. It also allows for cost-effective development of contemporary software and hardware. The project's objective is to design and implement an emulator of the NABU Network – one of the earliest “proto-Internet” networks. The emulator is to be implemented in Java.
Background : The NABU Network was designed and implemented by a Canadian company NABU Manufacturing between 1981 and 1983. The underlying idea behind the network was to link home personal computers to cable television networks which would supply a continuous, high speed stream of computer programs and information (at the rate of 6.5 Mbits per second) to almost an unlimited number of users. Cable television was a uniquely ideal technology for NABU to deliver software and data to home computers because of its high bandwidth and networking capabilities. After the official launch on Ottawa Cablevision in October of 1983, the NABU Network was introduced by Ottawa's Skyline Cablevision in 1984 and a year later in Sowa, Japan, via a collaboration between NABU and ASCII Corp. NABU Network subscribers could rent or buy a NABU PC and dedicated network adaptor, and use an ordinary television set as a display monitor. Once connected to the network, a user could choose from various application programs and services in categories including entertainment, information and guides, education, and professional programs. Dedicated NABU magazines, newsletters, programming guides, and user groups provided subscribers with supplementary information and support. To learn more, visit here .
CPS/1 Emulator
Supervisor: Zbigniew Stachniak
Required background: General prerequisites
Recommended background: Java (including 2D graphics); Some knowledge of PC hardware architecture; Some knowledge of (any) assembler language is an asset.
Description
There has been a substantial activity in building software emulators of historically significant computers, game consoles, and, recently, smart communication devices. As a result, there is at least one emulator of almost every significant system. This activity contributes, in the first place, to the preservation and dissemination of significant hardware and software technologies. It also allows for cost-effective development of contemporary software and hardware. The project's objective is to design and implement an emulator of the CPS/1 computer – one of the earliest commercially available microprocessor-powered computers.
BACKGROUND: The CPS/1 computer was designed and built by a Canadian company Microsystems International Ltd between 1972 and 73. The computer was built around the first Canadian microprocessor–the MF7114–one of world's earliest microprocessors. Although none of the CPS/1 computers have survived, technical information about the CPS/1 has been preserved. This makes the design and implementation of an emulator possible. More information here.
Robotic tangible user interface for large tabletops
Supervisor: Wolfgang Stuerzlinger
Required Background: General CSE4080 prerequisites
Recommended Background: CSE3431 or equivalent
Description
Tangible user interfaces provide the user with object that they can touch and use as input devices. One example is the use of (tracked) toy houses to perform a city planning task on a large surface. This project implements a new form of tracking/identification scheme for tangible objects via LED arrays mounted on them. Furthermore, and using robotic components, the tangible objects will have the ability to move around autonomously, which enables important functionalities such as undo and replay.
Better Layout Mechanisms for User Interfaces Toolkits
Supervisor: Wolfgang Stuerzlinger
Required Background: General CSE4080 prerequisites
Description
The layout mechanisms for many GUI toolkits are hard to understand and often difficult to use. This project investigates new, easy-to-understand layout mechanisms and evaluates an implementation of one of them in a comparative user study. Platform: any modern GUI toolkit.
Predicting Visibility Obstructions for a 6DOF Tracker
Supervisor: Wolfgang Stuerzlinger
Required Background: General CSE4080 prerequisites
Description
Previous work of the supervisor generated a novel and highly accurate Virtual Reality tracking system based on (eye-safe) laser diodes. The speed and accuracy of this system matches or exceeds the specification of all competing commercial systems. However, this system works only in 5 or 6-sided immersive display environment. Recent work has adapted the system to track successfully with as little as one large display wall and has also characterized the accuracy more comprehensively. The next step is to generalize the system to work in normal rooms, which may have lamps, shelves, etc. Here, visibility obstructions play a significant role and predicting these obstructions can be used to increase the tracking accuracy. This project will simulate a new method for visibility obstruction prediction to detect how big an increase in accuracy can be expected.
Extensions to a 3D Modeling System
Supervisor: Wolfgang Stuerzlinger
Required Background: General CSE4080 prerequisites
Description
K-3D is a successful, open-source, 3D modeling system, that can even deal with million-polygon models in real-time. This project aims to improve the user interface for K-3D by adding several novel 3D manipulation techniques. While all the mentioned operations already exist in in K-3D, the user interfaces are typically fairly inefficient and/or require significant learning. Depending on the outcome, the results of each project may even be merged back into the K-3D distribution. Each of the following two items can be considered a separate project:
- Integration of an existing implementation of a 3D sliding technique, which greatly facilitates 3D object movement.
- The ability to draw new “lines”, rectangles, and other 2D constructs in a simple manner onto surfaces. This ability greatly simplifies many interesting operations, such as the creation of extrusions, holes, etc.