Computer, Electrical & Software Engineering 2021
ECSE 001: Novelty detection using deep learning
Professor Narges Armanfardnarges.armanfard [at] mcgill.ca |
Research AreaMachine Learning, Deep learning |
DescriptionNovelty detection is the process of identifying the observation(s) that differ in some respect from the training observations (the target class). In reality, the novelty class is often absent during training, poorly sampled or not well defined. Therefore, one-class classifiers can efficiently model such problems. However, due to the unavailability of data from the novelty class, training an end-to-end deep network is a cumbersome task. In this project we use state of art techniques for detecting novelties in the datasets provided. Tasks per studentEach student will be assigned to a real-world data set. A student is responsible for the following tasks: 1) Understand the nature and characteristics of the given dataset. 2) Literature review. 3) understand and implement related state-of-the-art techniques. 4) apply the implemented techniques to the provided dataset and some benchmark datasets. 5) If possible, improve the performance by modifying a state-of-the-art technique. Ìý |
Deliverables per student1. report of the completed work. 2) The developed novelty detection software (in python). |
Number of positions2 Academic LevelYear 3 |
ECSE 002: High Performance Computational Electromagnetics
Professor Dennis Giannacopoulosdennis.giannacopoulos [at] mcgill.ca |
Research AreaComputational Electromagnetics / Software Development |
DescriptionTo accurately and efficiently model the electromagnetic fields within sophisticated microstructures of modern engineering systems and devices, high performance computing (HPC) methods, such as parallel and distributed simulations on emerging multicore/manycore platforms, are deemed promising for overcoming current computational bottlenecks. While robust and reliable 3-D automatic mesh generation procedures and solution strategies for electromagnetics are emerging, major computational challenges still remain for effective parallel and distributed 3-D adaptive finite element methods (AFEMs). Uniting AFEMs and HPC methods to achieve high gains in efficiency makes it possible to solve previously intractable problems; however, effective implementation of such techniques is still not well understood. AFEMs for parallel/distributed computing introduce complications that do not arise with simpler solution strategies. For example, adaptive algorithms utilize unstructured meshes that make the task of balancing processor computational load more difficult than with uniform structures. Tasks per studentThe students in this project will research and develop efficient parallel and distributed adaptive algorithms for unstructured meshes that use complex data structures for implementing dynamic load balancing strategies for HPC environments such as multicore/manycore architectures. The students’ role will include involvement in all aspects of the engineering research process for this project including actual implementation of algorithms as executable code. Ìý |
Deliverables per studentThe students are expected to help deliver a functioning, well-documented 3-D parallel automatic mesh generator suitable for use with AFEM refinement criteria, along with documented case study validation & verification examples. |
Number of positions1 Academic LevelNo preference |
ECSE 003: Efficient Deep Neural Networks for Edge Devices
Professor Warren Grosswarren.gross [at] mcgill.ca |
Research AreaDeep Learning; Computer Hardware; Hardware-Software Co-design; AI at Edge; Efficient Neural Networks; Computer Vision; Natural Language Processing. |
DescriptionAs deep neural networks (DNNs) continue to grow to support applications with ever increasing complexity, a competing trend in deployment, namely, to resource-constrained edge devices, demands that models be constructed with care, and with hardware limitations in mind. Neither memory nor memory bandwidth are unlimited; meanwhile, real-time application requirements mean that accuracy targets must be met with as few computations and memory accesses as possible. This presents a unique challenge for edge intelligence, one that must be met with new model design and optimization strategies. At the Ã山ǿ¼é Edge Intelligence Lab, we propose to pursue a wide variety of projects with the goal of improving DNN efficiency. The topics we will investigate include techniques in developing novel and efficient neural network architectures and algorithms for edge devices (mobile, IoT, wearables). Specific topics of current interest include network compression techniques, hardware-software co-design of neural network systems, and efficient implementation of large-scale deep neural networks in Natural Language Processing and Computer Vision applications. This project also contributes remarkably to reduce environmental impacts of deep learning. Training deep learning models needs considerable amount of electricity and electronical components to build hardware (e.g. GPUs). Deep learning also has a terrible carbon footprint. The carbon footprint required for developing a single deep learning model can create 284 tons of carbon dioxide, equivalent to the lifetime CO2 emissions of five cars. As a result, using computationally efficient algorithms and energy efficient hardware help avoiding depletion or degradation of natural resources and allow for long-term environmental quality. Tasks per studentThe candidate will be primarily involved in implementing and analyzing experiments in the context of efficient deep neural network projects. They will work closely with graduate students on projects with either a definite end use or to broaden scientific understanding in general. In addition to expertise in machine learning, we favor candidates with strong programming skills and experience in using the standard deep learning tools (Tensorflow, Pytorch, etc) Ìý |
Deliverables per studentA prototype to implement efficient deep neural networks for edge devices |
Number of positions1 Academic LevelNo preference |
ECSE 004: Uncertainty Quantification Using Polynomial Chaos
Professor Roni Khazakaroni.khazaka [at] mcgill.ca |
Research AreaElectronic Design Automation / Numerical Modeling and Simulation |
DescriptionAs device sizes get smaller and approach the atomic scale, the variability in integrated circuit components increases considerably. As a result, design for manufacturability (DFM) is becoming at integral part of the electronic design automation (EDA) workflow. The goal is to take into account component variability in order to estimate the yield and design circuits that result in higher yields given the known distributions of component values. One simple, albeit cpu expensive, approach to performing such an analysis is the brute force Monte Carlo method. In this project we will develop techniques based on polynomial chaos which can perform such an analysis in a fraction of the cost of Monte Carlo methods. Tasks per studentStudy three classes of polynomial Chaos methods: a) Gaussian Quadrature based methods, b) Sthochastic Galerkin based methods, and c) Stochastic Collocation / Regression based methods. Ìý |
Deliverables per student1. Develop a Matlab library that can be used to perform uncertainty quantification using the three main polynomial chaos based approaches. 2. Explore different sparse sampling methods for Gaussian Quadrature and Stochastic Collocation. |
Number of positions2 Academic LevelYear 3 |
ECSE 005: Artificial Intelligence (AI) in Broadband Wireless Access Communications
Professor Tho Le-Ngoctho.le-ngoc [at] mcgill.ca |
Research AreaTelecommunications and Signal Processing |
DescriptionIn this multi-segment on-going research project, we consider how to design a broadband wireless access communications system that can adaptably adjust itself to the continuously changing complex environment by using machine learning (ML) techniques. We aim to explore the potential of applying ML techniques to harvest relevant environmental information for improving the resource allocation, performance and operation of the corresponding broadband wireless access communications system. Relevant environmental information can include weather (e.g., rain, snow, fog, temperature, etc.), terrain (e.g., user locations, relative positions, buildings, obstacles, etc.), propagation (e.g., power, frequencies, etc.), social relationships (e.g., user groups, social networks, etc.) Various ML-based algorithms within a prototype testbed will be developed for the specific topics such as 3D channel modelling/estimation, hybrid ARQ, hybrid massive-MIMO precoding/beamforming, etc., to demonstrate the effectiveness of the Artificial Intelligence (AI)-augmented systems in terms of performance benchmarks such as energy consumption, increase in achievable capacity, reduction in interference, etc. Students will have a chance to understand various new concepts and development tools in both wireless communications (channel modelling, antenna array, beam forming, MIMO, etc.) and machine learning (deep neural network, reinforcement leaning, etc.), and to be involved in practical prototype development, and testing. As an example, one sub-project aims to make use of both the terrain and weather information available in many sources such as Google map, online meteors, to develop a ML-based channel estimator for dynamic resource allocation in a broadband wireless access communication system. Tasks per studentStudy the general concepts of ML and wireless communications. Learn how to search for and read scientific papers on a given signal processing or machine learning methods. Investigate Matlab toolboxes, PyTorch, Keras, Tensorflow, and DSP/FPGA hardware for possible applications to algorithm/prototype implementation. Assist in implementation and testing algorithms/prototypes, and in collecting, documenting and commenting the test results. The following skills and experiences are great assets: software development/testing, antenna design, Matlab, Python, VHDL, etc. Ìý |
Deliverables per studentDemonstration of a developed software/hardware testbed, well organized and documented source code and design, technical report on the developed software/hardware functional operation and conducted test results. The student will also need to make a poster presentation. |
Number of positions3 Academic LevelYear 2 |
ECSE 006: Full-Duplex Massive-MIMO 3D Active Antenna Arrays
Professor Tho Le-Ngoctho.le-ngoc [at] mcgill.ca |
Research AreaTelecommunications and Signal Processing |
DescriptionFull-Duplex Massive Multi-Input Multi-Output (FD-massive MIMO) Active Antennas Arrays (AAA) are considered for the next-generation broadband communications. Using a massive number of antenna elements can (i) help to adaptively create narrow beams continuously steered to follow the target user while avoiding interference from other users, (ii) increase the communications range, and system capacity. The smart AAA system can follow the mobile user based on (i) a hybrid 2-stage digital and RF precoding structure to reduce the complexity, and (ii) a full-duplex operation for simultaneous transmission/reception over a frequency slot to enhance both spectrum utilization and latency. In this on-going project, we investigate, design and test new promising antenna 3-dimentional structures (such as metamaterials, EBG, dielectric filled, etc.), with integrated power and low noise amplifiers, as well as RF combiners/splitters and smart DSP based control sub-system. The hardware testbed consists of powerful multi-FPGA, multi-microprocessor, and RF Analog-to-Digital Converter (ADC) and Digital-to-Analog Converter (DAC) modules to be programmed with digital signal processing algorithms for transmission and reception/detection of real wireless communications signals. Tasks per studentStudy the general concept of Full-Duplex massive MIMO, radio-wave propagation, antenna design and simulation; learn the operation of the antenna design and simulation CAD tools HFSS, Matlab, PCB/DSP/FPGA design tools; prepare the simulation set-ups; assist graduate students and/or research associates to evaluate/analyze simulation results. Ìý |
Deliverables per studentA technical report on antenna design and simulation results, analyzing and discussing the observed antenna characteristics and its meaning/limitations on the performance and practical applications. |
Number of positions3 Academic LevelYear 2 |
ECSE 007: Massive-MIMO Self-Interference Channel Characterization
Professor Tho Le-Ngoctho.le-ngoc [at] mcgill.ca |
Research AreaTelecommunications and Signal Processing |
DescriptionMulti-Input Multi-Output (MIMO) has been used in wireless systems such as LTE, WiMAX, Wi-Fi. Full–Duplex massive-MIMO (FD-massive MIMO) is considered for the next generation cellular communications (especially to support broadband Industrial IoT, M2M applications). In this on-going project, we measure and characterize MIMO Self-Interference channels in both microwave bands (for wider signal penetration application) and mmWave bands (for wider bandwidth, high peak data rates applications) and different practical scenarios in order to understand the implications on the FD-MIMO design requirements, in particular, on RF self-interference cancellation. We will investigate various types of channel environments: controlled free-space (e.g., in anechoic chamber), simulated rich scattering (e.g., reverberation chamber), or practical indoor and outdoor environments. Students will have a chance to understand MIMO systems, Self-Interference Canceller design, Self-Interference and Intended Signal channel measurements, and to work with real-life measurement facilities and testbeds. Tasks per studentStudy the general concept of massive-MIMO, radio-wave propagation in free-space and in rich-scattering environments; learn the operation principle of measurement equipment/facilities such as vector network analyzer, spectrum analyzer, vector signal generators, anechoic chamber, reverberation chamber and/or MIMO testbeds; prepare measurement set-ups; assist graduate students and/or research associates to evaluate/analyze measurement/simulation results (e.g., using Matlab). Ìý |
Deliverables per studentA technical report on measured data, characterizing different types of Self-Interference and Intended Signal Channels, analyzing and discussing the observed characteristics and its meaning/usefulness in the design of Full Duplex RF Self-Interference Canceller. |
Number of positions1 Academic LevelYear 2 |
ECSE 008: Deep Neural Network (DNN)-based Linearization for Power Amplifiers
Professor Tho Le-Ngoctho.le-ngoc [at] mcgill.ca |
Research AreaTelecommunications and Signal Processing |
DescriptionFor power-efficient operation, RF Power Amplifiers (PA) should operate near the saturation region, but this creates non-linear behaviors and distortions in amplified complex signals. Typical approach to balance power efficiency and performance degradation is to use PA linearizers. Non-linear power amplifier with memory is challenging to linearize using conventional models and techniques. In this on-going project we will investigate, develop, simulate and test Deep Neural Network (DNN)-based algorithms to linearize typical power amplifiers with memory. Tasks per studentStudy about Power Amplifier characteristics, characterization, measurements and Subsequent Modeling in Matlab. Learn about typical PA parameters such as: gain compression (P1dB compression point), Amplifier Saturation Output Power (P3dB), IMD, IIP3, OIP3 (input/output third-order intercept points), AM/AM and AM/PM distortion. And also about other concepts such as: ACPR (for modulated signals, like QPSK or QAM) and Error vector magnitude (EVM) (for modulated signals, like QPSK or QAM). Review literature other conventional and new ML based PA linearization techniques. Ìý |
Deliverables per studentA technical report on developed DNN structure for PA linearization which includes theory review, simulated and measured results. |
Number of positions1 Academic LevelYear 2 |
ECSE 009: Photonic Hardware for AI
Professor Odile Liboiron-Ladouceurodile.liboiron-ladouceur [at] mcgill.ca |
Research AreaPhotonic integrated circuits for AI accelerators |
DescriptionLight with its photons allows for data processing. In fact, an optical processor can accelerate the data processing required in deep learning. In parallel, optical devices are experiencing an impressive level of integration leading to exciting new possibilities. Through photonic integration on a chip, the optical processor can be embedded within a modern computer platform used in applications using artificial intelligence (AI). The proposed project is on the development of AI hardware that embeds optics using new design methodologies that requires to be experimentally validated. The student must demonstrate excellent communication, resourcefulness, and teamwork skills. We will provide the student with an exciting research environment where we exchange ideas and share knowledge. Students must have taken ECSE-430 to be considered for this project. Tasks per studentAssist a graduate student in the project tasks. Tasks may include but not limited to running numerical simulation for a specific design, compile and interpret the results, and generate formal reports for collaborators. Ìý |
Deliverables per studentProvide and present weekly progress reports with research results at group meetings. Contribute actively in technical discussions and proposed solutions. |
Number of positions2 Academic LevelYear 3 |
ECSE 010: Social norm and human rights implications of using robots as a proxy for people
Professor AJung Moonajung.moon [at] mcgill.ca |
Research AreaHuman-robot interaction, robot ethics, AI ethics, collaborative robotics, smart retail |
DescriptionHumans are hard-wired to be influenced by the physical environment and behaviours of people around them. Interactive robots are increasingly becoming a part of our environment that shapes our decisions, behaviours, and thoughts. However, unlike how people influence each other, robot influence on humans can be programmed, one-sided, and deployed at scale. What kind of influence do robots have on people, and at what point is machine-induced influence transition from socially acceptable/desirable to undesirable manipulation? Can we design robots to behave in ways that keeps this influence balance in check? The student(s) will work under the supervision of Prof. AJung Moon at Ã山ǿ¼é's Responsible Autonomy & Intelligent System Ethics (RAISE) lab to help tackle some of these questions. Tasks per studentThe student(s) will be expected to do the following: a) conduct a review of academic literature b) create simulations of interactive robot behaviours for human-robot interaction, c) assist senior members of the lab in their technical research needs d) help conduct statistical analysis of results Ìý |
Deliverables per student* a summer research plan * written drafts of literature review * working code * documentation on methods/process/research log * write-up on the results of the experiment(s) |
Number of positions1 Academic LevelYear 3 |
ECSE 011: Intelligent Machines and Socially Responsible Food Choices
Professor AJung Moonajung.moon [at] mcgill.ca |
Research Areamachine learning, smart retail, AI ethics |
DescriptionCan a smart retail store be designed to help us make better food choices? What does it mean to design algorithms that influence our food choices? These are some of the questions being explored as part of the collaborative, interdisciplinary research project involving the newly built, Ã山ǿ¼é Retail Innovation Lab. Tasks per studentThe student will work closely with professors in the Faculty of Management and in Engineering as well as graduate students in the team. These tasks include conducting literature reviews, prototyping or simulation of algorithms/systems, and helping to conduct pilot tests. Ìý |
Deliverables per studentWeekly/biweekly meetings with the project team; write-up of literature review; documentation of pilot tests/procedures/results |
Number of positions1 Academic LevelYear 3 |
ECSE 012: Power Delivery Network Modeling for Heterogeneous Integration Systems
Professor Boris Vaisbandboris.vaisband [at] mcgill.ca |
Research AreaIntegrated Circuits and Systems |
DescriptionA power delivery network (PDN) plays a vital role in integrated circuits (ICs) and systems. The PDN delivers current from the power source to the load. The quality of delivered power affects system performance, reliability, and working temperature. To design a complex state-of-the-art IC, a precise PDN model is required. For instance, in embedded multicore processors with highly constrained power budget, or in biomedical high-precision instruments where the delivered current should typically satisfy small voltage tolerance requirement, the role of a precise PDN model is significant. Accuracy and efficiency (speed of simulation) are the most important figures of merit for PDN modeling methodologies. Most of the available methodologies in this field extract the PDN model using SPICE-based simulators, which have the highest level of accuracy, but suffer from long simulation time. As such, there is a need for more efficient computer-aided tools to address this issue. The objective of this project is to implement a simple automated PDN modeling methodology for heterogeneous integration systems. This methodology receives the specifications of the PDN as an input (e.g., structure of PDN, load characteristics, etc), and generates a PDN model. Tasks per student-- Study unique PDN specifications of heterogeneous systems -- Formulate fast modeling algorithm with reasonable accuracy Ìý |
Deliverables per student-- Code of the implemented methodology, in a low-level programming language such as MATLAB, or high-level languages such as C, C++, or SystemC -- A simple test case to demonstrate the efficiency of the methodology in terms of simulation time while having acceptable accuracy compared to the manual SPICE simulation |
Number of positions1 Academic LevelNo preference |
ECSE 013: Embedded FPGA Security Investigation
Professor Zeljko Ziliczeljko.zilic [at] mcgill.ca |
Research AreaInternet of Things |
DescriptionThis project deals with techniques for validating Field Programmable Gate Array (FPGA) hardware for security-hardened applications, including the cases where processors and virtual machines will be executed on an FPGA. Testing techniques will be developed to validate that the FPGA substrate is not susceptible to side-channel attacks and malicious code insertion, among the security attributes. Practical solutions will be developed for multi-chip FPGA installations. Tasks per student-Background material investigation -Basics of FPGA programming and testing -Securing FPGA designs -Validation and scalability investigation Ìý |
Deliverables per student-Testing procedures for FPGA security -Secured FPGA bitstream generation -Report |
Number of positions2 Academic LevelYear 3 |
ECSE 014: Mixed-Reality Platform for Simulation and Synthesis of Multi-Modal Hallucinations with Applications to Schizophrenia Treatment
Professor Jeremy Cooperstockjer [at] cim.mcgill.ca |
Research AreaIntelligent Systems/Bioengineering |
DescriptionTreating patients with schizophrenia for auditory hallucinations has traditionally required multiple trials of antipsychotic medications, to which approximately one in three patients are resistant. An alternative, Avatar Therapy, has been shown to effectively reduce the distress and helplessness associated with auditory hallucinations. While Avatar Therapy holds great promise, there are many open questions as to the requirements for optimal delivery of this treatment. Similarly, many potential enhancements to how avatars are rendered to the patient remain to be tested. Exploration of these questions and enhancements requires development of a mixed reality platform that offers to the therapist the ability to easily adjust various parameters of the avatar(s). We will iteratively design, implement, and test such a platform, and then apply the knowledge gained to an augmented reality version of the platform suitable for use outside of the therapist's office. The resulting intelligent medical device will offer the possibility of providing therapeutic benefits to patients in their day-to-day activities. This project involves the following components: Graphical and audio avatar rendering: developing a Unity- and 3D-audio-based avatar manipulation system for display in a VR or AR headset Speech pipeline, involving recognition of tell-tale vocal indications of a hallucination episode, and speech rendering in the voice of the avatar, initially from the therapist's input, but later, generated semi-automatically Haptic augmentation: prototyping and testing wearable technologies suitable for reproducing the sensation of someone touching or grabbing your arm or shoulder Physiological computing (as described below) This project is especially suitable for students with biomedical engineering interests. Tasks per student1. physiological indicators-based quantitative evaluation: signal processing of ocular biomarkers, vocal characteristics, and other biosignals to provide input to determination of affective state of the patient 2. Developing models of patient state based on training data from non-clinical participants and ultimately, applying these to real patient data Ìý |
Deliverables per student1. physiological signals analysis framework 2. affective state model development |
Number of positions2 Academic LevelNo preference |
ECSE 015: Enhanced social intelligence in teleconferencing systems
Professor Jeremy Cooperstockjer [at] cim.mcgill.ca |
Research AreaComputer Engineering |
DescriptionModern commercial teleconferencing systems have a number of limitations that contribute to an overall degraded conversational experience. There is in general a loss of emotional and social awareness between interlocutors. This project seeks to explore ways to enhance social intelligence through utilizing paralinguistic or nonverbal aspects of communication and environmental cues, to convey emotion and context to users. The student should have experience in front- and back-end JavaScript development, node.js, and prototyping. Additional desirable skills/experience include familiarity with experimental design and running user studies, WebRTC, React, knowledge of communication protocols (e.g., websockets), technical writing skills, and knowledge of how to conduct psychological or linguistic inquiry Tasks per student- software development and testing - assistance in designing and running user studies - potentially contribute in technical writing and reports Ìý |
Deliverables per student- multi-modal visualization system - integration with a real-time communication system |
Number of positions1 Academic LevelNo preference |
ECSE 016: Learning algorithms for data on graphs
Professor Mark Coatesmark.coates [at] mcgill.ca |
Research AreaMachine Learning |
DescriptionThere are multiple applications involving data recorded on networks where it is important to infer the attributes and/or labels of some nodes given the attributes and labels of other nodes. In many cases there can be a significant measurement cost associated with collecting data in the network, so it is important to be able to reduce the number of nodes that must be monitored. An example is cellular communication network monitoring, where we wish to track the traffic load at each base station, but we cannot deploy monitors at all base stations, either due to cost of monitor deployment or lack of access. Another example is monitoring task-dependent activity of regions in a brain, where collection of signals can involve invasive implantation of electrodes. Recently, there has been an increased research focus on graph neural networks (GCNNs) due to their successful application in various graph based learning problems such as node and graph classification, matrix completion, and learning of node embeddings. In this project, the research student will contribute to the development and test of novel graph learning algorithms that can be used to perform more reliable prediction and estimation. A key focus will be on developing explainable architectures that provide reliable guidelines on the uncertainty associated with their outputs. The algorithms will be applied and tested for several applications including recommender systems and cellular network load prediction. Tasks per student(1) Literature review (2) Algorithm development (3) Software implementation (4) Data preparation and testing (5) Report prepartation Ìý |
Deliverables per student(1) Brief report documenting literature survey outcomes (2) Carefully commented and well-structured software (3) Report detailing the algorithm, experimental methodology, and experimental results |
Number of positions2 Academic LevelNo preference |
ECSE 017: Low-power microwave breast screening
Professor Milica Popovichmilica.popovich [at] mcgill.ca |
Research AreaBiomedical applications of electromagnetics |
DescriptionLow-power microwave breast cancer detection is based on the reported inherent dielectric contrast between healthy and cancerous tissues. This underlying hypothesis promises tumor detection in a safe manner, and very different from the currently used modalities (X-ray mammography, MRI, ultrasound). Our group uses a radar-like approach while striving to detect embedded tumor non-invasively and through frequent screenings. The ultimate goal is to have a system that is wearable and allows for frequent screenings in small clinics and even at home, so that the tumors are detected at the early stage, thus increasing the chance of successful treatment. We are currently working on the improvement of the system prototype, so the student working with our team will be exposed to all system components and the research towards their possible improvement: antennas, switching matrix, control circuitry, signal processing and the construction of phantoms for experiments in a controlled laboratory environment. Tasks per studentThe student will be first introduced to the overall system functioning. Thereafter, based on the stage of the project, the student will be assigned to work in-depth on a concrete system component. For example, this can be a new antenna design, the optimal number of antennas and their layout. The student is expected to attend regular research group meetings. Ìý |
Deliverables per studentWeekly progress reports, final report and the poster for the SURE poster competition. |
Number of positions1 Academic LevelYear 3 |
ECSE 018: Microwave- and millimeter-wave skin characterization: towards a diagnostic tool for skin cancer detection
Professor Milica Popovichmilica.popovich [at] mcgill.ca |
Research AreaBiomedical applications of electromagnetics |
DescriptionSkin cancer is usually detected visually, and the samples from the subsequent biopsy of a suspicious lesion are sent for pathological analysis. Literature reports on different dielectric properties between skin tumors and the healthy skin in the microwave- and millimeter-range. Hence, sensors developed for these frequencies have the potential to non-invasively detect malign tumors. As a starting step, we need to develop a range of reliable phantom skin models which would allow for controlled laboratory testing. These models serve for parametric design studies, meaning, for constructing simulated skin-tumor combinations. These can be measured to validate the approach and proceed with human studies. The ultimate goal is a simple, inexpensive tool, which an aid the dermatologist in the diagnostic process. Tasks per studentLiterature search and reading of relevant papers, experiment design, skin/tumor phantom construction, possibly use of dielectric probe for characterization. The student is expected to attend group meetings. Ìý |
Deliverables per studentWeekly progress reports, final report, SURE poster competition participation. |
Number of positions1 Academic LevelYear 2 |
ECSE 019: Automated test data synthesis for machine learning based systems
Professor Daniel Varrodaniel.varro [at] mcgill.ca |
Research AreaSoftware engineering, Testing, Data synthesis |
DescriptionVarious machine learning techniques are quickly penetrating to software components which control the behavior of critical systems such as autonomous vehicles. As part of that, ML components need to learn complex relations between objects of the real world (e.g. a pedestrian is behind a tree). However, existing practice of safety engineering currently used in automotive or civil avionics systems lacks efficient assurance techniques to justify that ML techniques would prevent unsafe situations with a designated level of confidence and reliability. The goal of this project is to improve the quality and coverage of training data by synthesizing relevant corner cases by exploiting recent advances in automated model generation techniques. Tasks per student* Literature survey * Case study selection * Conceptual design * Automated test data synthesis * Experimental evaluation Ìý |
Deliverables per studentDevelop software prototypes Develop case study Evaluate prototypes on case study Summarize findings in a report |
Number of positions1 Academic LevelYear 2 |
ECSE 020: High-Performance Distributed Task Scheduler for a Raspberry Pi Network of Machines
Professor Muthucumaru Maheswaranmuthucumaru.maheswaran [at] mcgill.ca |
Research AreaInternet Scale Software |
DescriptionIn a previous SURE project, we developed a high-performance task scheduler for a single compute node. This task scheduler was capable of scheduling tasks with multiple different types of tasks in a single compute node (e.g., a Raspberry Pi). Some of the tasks had real-time constraints - deadlines to complete them and others had throughput requirements. In this project, we want to extend this work to a distributed system. In particular, we want to construct a distributed machine using Raspberry Pi computers that are interconnected by fast or gigabit ethernet. The objective is to create a distributed task scheduler that is capable of load balancing across the different Raspberry Pi nodes. Getting absolutely high performance out of the Pi computer network is the primary objective. We will focus on a particular class of application tasks. The specific type of tasks will be selected close to the start of the project and the objective is to create a scheduler and implement, test, benchmark it on a network of 8, 16, 32 (may be) Raspberry Pi computers. This project can engage multiple students and can range from 1 to 3 students. The students should have done ECSE 427 (operating systems) and preferably done ECSE 420 (parallel computing). We can have task scheduling on CPUs, GPUs, and combinations of them. The Raspberry Pi machines use a VideoCore GPU. We want to program that GPU so that we can get high performance at a low budget. For more information see the JAMScript project at and JAMSched project at . (should have done ECSE 427 or equivalent, ECSE 420 recommended) Tasks per studentThe following tasks will be distributed among the participating students: (a) Interconnecting the Raspberry Pi machines in a distributed computer and getting them to work as a high performance system, testing messaging protocols, like MQTT and optimizing their performance, (b) developing a distributed task scheduler for CPU, (c) developing a task scheduler for GPU computations that interconnects with the CPU scheduler, (d) developing a global task queuing system that presents a global system for computation management for the whole cluster of machines. Ìý |
Deliverables per studentA working prototype for 8 node RPI distributed machine (RPIs provided), task scheduler for CPU and GPU, testing, performance measurements, reports. |
Number of positions3 Academic LevelYear 2 |
Mechanical Engineering projects available to students in the Department of Electrical & Computer Engineering
MECH 009: Robot Navigation in Unknown Environments
Professor James Forbesjames.richard.forbes [at] mcgill.ca |
Research Arearobotics, navigation |
DescriptionVehicles that are able to autonomously move in the air, on the ground, or underwater must fuse various forms of sensor data together in order to ascertain the vehicles precise location relative to objects. This process is called navigation. Typical sensor data includes inertial measurement unit (IMU) data, and some sort of range data from an optical camera or time of flight sensor (e.g., ultra wide band radio, LIDAR). The SURE student(s) will focus on sensor fusion for the purposes of robot navigation. Specifically, the student(s) will likely work on one of the following sub-projects: monocular camera based navigation for ground robots, navigation using a magnetic field map for a team of ground and/or aerial robots, marine robot navigation, autonomous train navigation. Students best fit for this position are those interested in using kinematics/dynamics, linear algebra, probability theory, and numerical methods, to solve real-world problems found in robotics. Comfort with python/matlab/C++ programming is desired. Depending on the student's interest and/or experience, the students may work more with data and hardware, or more with theory. Year 2 and 3 students will be considered (that is, students who have taken MECH 309 or equivalent.) Tasks per student- Formulate and solve the research problem (with assistance from Prof. Forbes and DECAR systems group members). - Write code to test the algorithm in a simulation. - Test using simulation and/or experimental data (if available). Ìý |
Deliverables per student- A tested/validated navigation algorithm. - A final report and/or conference paper draft written in LaTeX. |
Number of positions3 Academic LevelYear 2 |
MECH 023: Flight Testing, Hardware Interfacing for Unmanned Aerial Vehicles
Professor Meyer NahonMeyer.Nahon [at] mcgill.ca |
Research AreaUnmanned Aerial Vehicles. Dynamics and Control |
DescriptionThe Aerospace Mechatronics Laboratory houses a wide range of unmanned aerial vehicles, including quadrotors, gliders, fixed-wing and hybrid aircraft. The overall objective of our research is to develop platforms for a range of tasks. Example applications include gliders for wildfire monitoring and fixed-wing aircraft for autonomous acrobatic flight through obstacle fields. Two SURE students are sought with strong interest and aptitude for research in the areas of robotics, mechatronics and aerial systems. Depending on the status of the above projects, the student is expected to contribute to experimental testing of components and to flight tests with these platforms. In addition, the students will be involved with interfacing new sensors into the platforms, for the purposes of acquiring data and for closed loop control. Some programming experience would be useful for the development of a real-time hardware-in-the-loop simulation. The students are expected to assist with hardware interfacing, programming, conducting experiments, and processing the data. Tasks per studentThe tasks will be varied and could accommodate mechanical, electrical or software engineering students; but ideally someone with experience in all aspects. Tasks will include some interfacing of sensing hardware with microprocessors; programming; some CAD modeling; some Matlab/Simulink modeling; and finally, experimental testing. Ìý |
Deliverables per studentAssist in the improvement of autonomous flight performance of our aircraft under closed-loop control. |
Number of positions2 Academic LevelYear 3 |