Table of Contents

Proposed Projects for Summer 2015

Projects for Summer 2015




Scouting Stone Project

Supervisor: Michael Jenkin

Short Description: A unique 4th year project… Interested in robotics, robot-human interaction, and art? Then do we have a project for you…

The Scouting Stone Project is a robotic work of art which fuses sensory tracking of people in public space, autonomous exploratory movement, and stone sculpture. A large, hollow boulder housing a robot base will move through its environment based on live data collected about the cumulative travels of people in the robot’s surroundings. This data — obtained through a network of placed video cameras — will be used to identify the common lanes of travel that most people follow in the space. The robot will integrate this information and then move blocking a different area which will in turn disrupt the motion of people in the environment. The intended presentation of this work is in public where the work can engage with an unsuspecting public, and the intended movement of the robot will be glacially slow so that the movement of the robot is only apparent after repeated visits to the space. The robot has numerous challenges for its design including the ability to carry heavy weight, highly articulate motion, object avoidance, data analysis, power supply management, and object stability among others. The ultimate goal of this work is to exhibit it across Canada both in Artist Run Centres and in public venues. This is a great opportunity to work on what will be a highly visible project that people from all walks of life will see and interact with.

If you are interested in working on this project, as either as part of a 4th year thesis in Computer Science, or as a capstone engineering (ENG4000) project, please contact Michael Jenkin (jenkin@cse.yorku.ca).




Virtual Worlds for Immersive Visual Displays

Supervisor: Rob Allison

Desired background: Good programming skills. Some background in graphics (e.g. EECS 3431, EECS4471 or EECS 4491) is required.

Short Description: Immersive virtual environments envelop users in a computer mediated world. They are used in a variety of contexts including entertainment, education, simulation and research. In this project one or more students would develop virtual worlds that could be experimentally controlled or modified to support experiments on spatial navigation and locomotion in virtual environments.



Locomotion Interface for Immersive Visual Displays

Supervisor: Rob Allison

Desired background: Good programming and mechanical skills.

Short Description: Immersive virtual environments envelop users in a computer mediated world. They are used in a variety of contexts including entertainment, education, simulation and research. In this project the student will develop an interface and embedded software for a treadmill based interface to a state-of-the-art, full-field of view, virtual display.



Implementation of a Monte Carlo simulator for heat transport problems

Supervisor: Simone Pisana

Desired background: Good math and programming skills. Some background in physics is an asset, but not a requirement.

Short Description: Inefficient heat transport can be a severe performance limiter in electronic devices, particularly as their size is reduced or their operating frequency is increased. The understanding of heat transport phenomena at the microscale has been limited by the complexity of the models that are used to study it. Recently, the computational efficiency of heat transport models has increased dramatically, allowing the study of heat flow in 3 dimensions, without limiting simplifying assumptions. The aim of this project is to implement a heat transport simulator based on efficient Monte Carlo methods that have been recently reported. In this method, heat transport is treated statistically by creating and tracking particles in the simulation domain following a set of governing equations. The resulting simulator tool can be used to better understand microscale heat transfer phenomena and the experiments that recently have been able to probe these effects directly.



Ranking salient contours for object segmentation

Supervisors: James Elder and Vida Movahedi

The ultimate goal of Computer Vision is to enable a machine to see and understand an image or scene, at least as well as a human. An important step towards this goal is to partition an image into regions, each corresponding to an object or entity. This is referred to as image segmentation in the computer vision community. Segmentation is an important step towards image understanding and can enhance the performance of many applications such as object detection, object tracking, surveillance, medical imaging, etc. Our framework for Salient Object Segmentation consists of four stages:

1- Finding a set of line segments in the image that represent color or texture discontinuities (edges) 2- Representing the line segments in a sparse graph model 3- Extracting simple closed contours (cycles) in the above graph 4- Ranking the set of closed contours for output

The goal of the proposed project is to research and develop an automated method for ranking object hypotheses (stage 4 in the above framework). Given a set of closed contours found in an image, the problem under consideration is to rank these contours for output, based on how well they bound the salient object in the image. This ranking stage is important since it defines the final output of the object segmentation method. In particular, working with a senior graduate student or postdoctoral fellow, the successful applicant will:

1. Conduct a literature review of the state of the art ranking methods. These methods can include general ranking methods as well as those specifically designed to perform best for top ranked output such as those used for web searches (e.g. Google or Bing).

2. Develop and implement an efficient method for ranking closed contours.

3. Identify the quantity and distribution of data required for training above method, and prepare training data accordingly.

4. Compare ranking results with the currently available (and implemented) ranking method.

Other possible extensions to this project can include:

5. Study of ranking feature, and their inferential power

6. Study of the distribution of contour hypotheses and their power in representing whole objects or parts

Required skills:

1. Good programming skills

2. Good math skills

3. Knowledge of MATLAB programming language

For more information about the lab, visit www.elderlab.yorku.ca.




Hierarchical grouping of salient paths

Supervisors: James Elder and Vida Movahedi

The ultimate goal of Computer Vision is to enable a machine to see and understand an image or scene, at least as well as a human. An important step towards this goal is to partition an image into regions, each corresponding to an object or entity. This is referred to as image segmentation in the computer vision community. Segmentation is an important step towards image understanding and can enhance the performance of many applications such as object detection, object tracking, surveillance, medical imaging, etc. Our framework for Salient Object Segmentation consists of four stages:

1- Finding a set of line segments in the image that represent color or texture discontinuities (edges)

2- Representing the line segments in a sparse graph model

3- Extracting simple closed contours (cycles) in the above graph

4- Ranking the set of closed contours for output

The goal of the proposed project is to research and develop a hierarchical method for extracting object hypotheses (stage 3 in the above framework). Given a set of open paths of arbitrary length in the graph, the problem under consideration is to group them to find plausible closed contours bounding the salient object in the image. This grouping stage is important, since i) the performance of the final product depends on the quality of the hypotheses formed in this stage, and ii) lowering the computational complexity of this stage results in significant speed up of the solution. In particular, working with a senior graduate student or postdoctoral fellow, the successful applicant will:

1. Run our current method for collecting open paths at different lengths.

2. Develop a method for finding intersections of paths at a certain length (or up to a certain length) with lower complexity than simple line intersection methods

3. Analyze the open paths for completeness- given paths of a certain length (or up to a certain length), what is the lowest achievable error of object contour hypotheses that can be formed by them?

4. Develop a method for combining short open paths for obtaining longer ones, or closed contours

5. Compare results with the currently available (and implemented) greedy method.

Required skills:

1. Good programming skills

2. Good math skills

3. Knowledge of MATLAB programming language

For more information about the lab, visit www.elderlab.yorku.ca.



Using neural models for natural language processing

Supervisor: Hui Jiang

Required Background: General EECS4080 prerequisites

Deep neural networks (DNNs) have achieved huge successes in many pattern classification tasks, including speech recognition and computer vision. In this project, the student will study DNN-based models for an interesting natural language processing (NLP) task, selecting from word embedding, language modelling, paraphrase detection or others. More specifically, the student will implement text pre-processing, neural model training and performance evaluation for the selected NLP task using some standard corpora.



Data Visualization Project

Supervisor: Jarek Gryz

Required Background: EECS2031 and general EECS4080 prerequisites

We have a large project in data visualization projects and may have a couple of projects for 4080 this summer. Some of the projects will require knowledge of SQL and database application programming while some others may require graphics design skills. The projects involve the Skydive database software.

Skydive - Sample projects:

1. Skydive’s modules API specification - refactoring of existing, and specification of new interfaces for communication between Skydive’s modules

2. 3D viewer - improving users experiece with 3D visualizations (e.g. panning, better zooming, translation, etc.)

3. Data wizard - to guide a user from defining a connection to a data base, through selecting measures, to visualization - a kind of pyramid configuration module

4. Support for additional channels (e.g. normals map, specular map)

5. User’s interface - more options for users (e.g. defining aggregates, selecting different measures, automatic texture generation)

6. Pyramid generation support for different data bases (e.g. Empress DB, PostgreSQL, MySQL)

Technologies: Java, JavaFX, PostgreSQL, MySQL, Empress DB. Suggested IDE: IntelliJ IDEA. If interested in learning more details about what a project in this area would involve, please contact Professor Gryz by emai. jarek at eecs.yorku.ca




Mining Software Repositories Data

Supervisor: Zhen Ming (Jack) Jiang (zmjiang at cse dot yorku dot ca)

Required Background: General CSE408x prerequisites; Good programming skills in Java; Good analytical and communication skills; Knowledge in AI and statistics; Interested in large scale software analysis

Short Description: Software engineering data (e.g., source code repositories and bug databases) contains a wealth of information about a project's status and history. The research on Mining Software Repositories (MSR) aims to transform the data from static record-keeping repositories into knowledge, which can guide the software development process. For example, one can derive correct API usage patterns and flag anomalous (and potentially buggy) API usages by mining the source code across many projects in GitHub and Google Code. In this project, the student(s) will research and develop an efficient infrastructure, where MSR researchers and practitioners can share and analyze such data.




Concurrent Data Structures

Supervisor: Eric Ruppert

Required Background: EECS2031 and general EECS4080 prerequisites

Desirable Background: EECS3221

A traditional data structure is designed so that one operation can be performed on it at a time. This is no longer sufficient for the multicore architectures that have become prevalent in the past few years. A concurrent data structure is designed so that many threads can access it simultaneously. This requires some care in ensuring that concurrent operations do not interfere with one another.

The goal of this project is to implement concurrent data structures in C so that performance testing can be carried out on them. In particular, we would like to look at throughput and scalability of the data structures when large numbers of threads access them concurrently. Ultimately, we would also like to examine the possibility of designing special-purpose hardware to make concurrent data structures run faster.







Additional proposals for Summer 2015 could be added here until the first week of the summer term. You may also wish to look at Previously Proposed Projects for projects proposed in Winter 2015.