15-821/18-843: Mobile and Pervasive Computing (IoT)

Fall 2023

Project Descriptions  (Updated  2023-08-28-1233)

Title

Mentor

Students

Description

1

Log-based Cache Validation in Coda

Jan Harkes

2 students

The Coda Distributed File System has a local cache that allows a client to work disconnected from the Coda file servers. During disconnected operation, the client is unable to receive callback notifications that indicate when cached data should be considered stale.  As a result, the entire cache is suspect and has to be revalidated upon reconnection.   In  settings where connectivity is intermittent, this can be expensive.

This project is about keeping a log on the servers of either operations sent to the server (persisting reintegration logs) or tracking which file callbacks were broken. This way a client can send a ‘revalidate’ call which returns a list of broken file callbacks since the specified version of the volume as well as a new volume callback promise. The client can then mark those specific files as stale and assume all remaining entries in the volume are still valid.  The overall goal is to greatly improve the speed of cache validation.

2

Live Learning via Drone

Eric Sturzinger

1 student

This project leverages existing work that  continuously improves an existing computer vision model trained to detect rare objects.  The overall objectives are to process a stream of images received from a drone (real or simulated) in real-time, prioritize them according to the likelihood of containing an instance of a given rare object class, and label such high priority samples through an interactive browser in order to generate enough true positives required for improving the existing model.

A successful final demo would consist of receiving a continuous stream of images of a simulated or recorded drone flight on a cloudlet.  Demonstrate that frames containing the given rare object are scored highly and are labeled through the browser.  Over a short period of time, a couple of model training iterations should take place, demonstrating that new models have been installed on the cloudlet.

Students will gain familiarization with the Parrot Anafi drone, Olympe SDK,  and  the Sphinx simulation environment.  The primary programming language used will be Python with the PyTorch ML  framework. Docker will also be used.  

3

Aperture 2.0

Mihir Bala

1 student

Gabriel is a tool used for running high compute tasks on sensor streams at the edge in real time. Previously, it has been used as the underlying system for OpenScout, SteelEagle, and WCA.

In this project, you will be implementing a persistent augmented reality annotation tool using Gabriel on Android. Users will be able to virtually draw on an object which will make that annotation viewable to all other users who see that object. You will have to decide on what computer vision algorithms to use for scene matching and optical flow so that annotations move properly with the camera. Technologies include docker/docker-compose, python, Android, SIFT/SURF, and (optionally) Tensorflow.

4

Obstacle Assistant for Visually Impaired

Mihir Bala

1 student

For the visually impaired, navigating the world can be a challenge. While canes are effective for ground obstacles and ledges, they often miss low-hanging obstacles at chest height or above.

In this project, you will implement an Android app that will detect low-hanging obstacles and alert the user to their presence. You will use an OpenScout backend along with MiDaS, a depth map generation DNN. Technologies include docker/docker-compose, python, Android, and Tensorflow.

5

Activity Recognition on OpenScout

Thomas Eiszler

1 student

OpenScout is a system for automated situational awareness. It streams image data and GPS information from clients (Android or python-based) to a cloudlet where tasks such as object detection and facial recognition are performed. The data discovered is then pushed into an ELK (elastic search, logstash, kibana) stack where it can be analyzed and visualized.

This project would involve extending the OpenScout framework from static object detection to activity recognition. DNN models for activity recognition will need to be identified, implemented,  and integrated into the OpenScout system and training may need to be  done to identify activities of interest. Technologies in the project include docker/docker-compose, python, and Android.

6

Object Deduplication in SteelEagle

Thomas Eiszler

1 student

SteelEagle leverages OpenScout to perform object detection for the purpose of completing active vision tasks with drones in an autonomous fashion.

Currently, during an autonomous flight, if an object is detected across multiple frames in the drone video feed, each detection is viewed as a new object.   This is obviously not ideal behavior. We want to modify the detector cognitive engine to track detections between subsequent frames using optical flow and unify these detections under a single object which is then saved in elastic search. If the student makes good progress with this, we may introduce multi-object tracking, GPS estimation, and other useful attributes for the system that they can work on. Technologies include docker/docker-compose, python, elasticsearch. Use of the sphinx drone simulator software may also be used for testing with live video.

7

How can a Just-In-Time Cloudlet unlock the edge for new applications?

Jim Blakley

1 student

Using drones to inspect bridges and electric grid towers, mounting a search and rescue operation for a child lost in the woods, hosting a backcountry ski event for a weekend. These are just a few situations where there is a need to deploy a modern computing and communication infrastructure very rapidly in areas with poor network coverage. These situations require the ability to provide connectivity for mobile phones, laptop computers, cameras, drones, and other connected devices. They also require access to sophisticated applications hosted locally on nearby computing resources. A system that is designed to be deployed in these situations we refer to as a Just-in-Time (JIT) Cloudlet.

In this project, you will build on our existing JIT Cloudlet prototype to develop an end-to-end edge-native application for a use case of your choosing. Components of the application will include object detection and classification, real-time collaboration, data collection and analysis, visualization, system management, and any other that are necessary to illustrate the use case. Your solution will need to fit the “Cloud-native at the Edge” design paradigm. Experience in Android, Windows/Python, and Cloud Native Development will be useful. You will also gain experience in training and using object detection in the context of an application. Your demo will show your new edge-native application in a real JIT Cloudlet – illustrating the value and deployment ease of a JIT Cloudlet solution.

8

How much value does 5G provide over 4G for the edge?

Jim Blakley

1 student

A fundamental value proposition of 5G networks is a substantial reduction in the end-to-end latency experienced by applications in comparison to 4G LTE networks.  The reduction is, in theory, driven by the reduced wireless link latencies and reduced wireless core network processing times. The 5G New Radio (NG) and the 5G Core implement these improvements.

In this project, you will instrument, measure, and evaluate these improvements in our Living Edge Lab network. This will involve extending our 2021 work on Network Latency Segmentation to do a side-by-side comparison of 4G and 5G and to add measurement of a specific latency sensitive edge-native application (e.g., OpenRTiST) along with an analysis of the differences. Experience in Python/Pandas and Android development and a basic knowledge of wireless networks will be useful. You will gain knowledge and experience in mobile networking, networking tools, data analysis and visualization. Your demo will show a realtime dashboard comparing 4G LTE and 5G latency segmentation in the Living Edge Lab private networks.

9

Developing Mobile-Device Ready Heart Sound Pathology Detection Algorithm

Asim Smailagic and Alex Gaudio

2 students

Development of AI models  for the digital stethoscope brings some challenges related to the cloudlet operation.  AI  frameworks used by digital stethoscope companies collect sounds on a stethoscope, forward the sounds to a mobile device, and then expect the mobile device to engage in bidirectional communication with the cloud for additional predictive analysis.  We want accurate and near real-time prediction algorithms that can run on a mobile device in order to bypass the cloud for inference, and use the cloud for incremental updates. Such predictive analysis is especially valuable in resource poor settings, where using digital stethoscopes as screening tools may improve access to healthcare when there is a shortage of trained clinicians or unreliable internet access. In this project, we can analyze the CirCor DigiScope Phonocardiogram Dataset that was publicly released as a part of the 2022 George B. Moody PhysioNet Challenge to predict the presence of murmurs and to segment the heart sounds.  Your task is to develop accurate, fast, and small (heart murmur) classification methods that perform inference without  cloud access. The outcomes of the work will include:  (a) a mobile-ready predictive model that accepts as input sound and outputs a classification; and (b) an analysis demonstrating the evaluated model's suitability for mobile application.

10

Generating Coresets on the Edge for Data-Efficient Machine Learning

Alex Gaudioand Asim Smailagic

2 students

Modern machine learning trends towards larger datasets, but large data repositories are challenging to maintain and analyze in a cloudlet.  In this project, we will develop and test a "needle in the haystack" hypothesis that only a small selection of samples is sufficient to obtain high prediction performance.   The outcome of your research is a method to obtain smaller datasets from larger ones, where the obtained small dataset has no predictive performance loss, improves computational efficiency, and (bonus) theoretically reduces the amount of data transmitted in the cloudlet. Your task is to frame the problem in the context of current literature, develop a novel subset sampling algorithm that selects samples from a data stream in order to create, store and transmit smaller datasets, and validate its empirical or theoretical performances with regards to dataset size, prediction performance, and amount of data transmitted. A publicly available supervised dataset for experimentation can be suggested if necessary.

Methods of interest may include but are not limited to: online active learning, coreset analysis, curriculum learning, pruning methods, compression, federated learning, extreme learning machines or other low resource requirement deep networks or machine learning methods.

.Prerequisites:    This project requires careful attention to the problem definition and it may require some more work to frame the hypothesis.  Experience with machine learning, and interest in data-efficient machine learning (such as coreset analysis, active learning, pruning, compression,

one-shot learning, or federated learning) is necessary.