Filtering by
Current IoT integration utilities attempt to help simplify this task, but most fail to satisfy one of the requirements many users want in such a system ‒ simplified integration with third party devices. This project seeks to solve this issue through the creation of an easily extendable, modular integrating utility. It is open-source and does not require the use of a cloud-based server, with users hosting the server themselves. With a server and data controller implemented in pure Python and a library for embedded ESP8266 microcontroller-powered devices, the solution seeks to satisfy both casual users as well as those interested in developing their own integrations.
Affective computing allows computers to monitor and influence people’s affects, in other words emotions. Currently, there is a lot of research exploring what can be done with this technology. There are many fields, such as education, healthcare, and marketing, that this technology can transform. However, it is important to question what should be done. There are unique ethical considerations in regards to affective computing that haven't been explored. The purpose of this study is to understand the user’s perspective of affective computing in regards to the Association of Computing Machinery (ACM) Code of Ethics, to ultimately start developing a better understanding of these ethical concerns. For this study, participants were required to watch three different videos and answer a questionnaire, all while wearing an Emotiv EPOC+ EEG headset that measures their emotions. Using the information gathered, the study explores the ethics of affective computing through the user’s perspective.
The aim of this project is to understand the basic algorithmic components of the transformer deep learning architecture. At a high level, a transformer is a machine learning model based off of a recurrent neural network that adopts a self-attention mechanism, which can weigh significant parts of sequential input data which is very useful for solving problems in natural language processing and computer vision. There are other approaches to solving these problems which have been implemented in the past (i.e., convolutional neural networks and recurrent neural networks), but these architectures introduce the issue of the vanishing gradient problem when an input becomes too long (which essentially means the network loses its memory and halts learning) and have a slow training time in general. The transformer architecture’s features enable a much better “memory” and a faster training time, which makes it a more optimal architecture in solving problems. Most of this project will be spent producing a survey that captures the current state of research on the transformer, and any background material to understand it. First, I will do a keyword search of the most well cited and up-to-date peer reviewed publications on transformers to understand them conceptually. Next, I will investigate any necessary programming frameworks that will be required to implement the architecture. I will use this to implement a simplified version of the architecture or follow an easy to use guide or tutorial in implementing the architecture. Once the programming aspect of the architecture is understood, I will then Implement a transformer based on the academic paper “Attention is All You Need”. I will then slightly tweak this model using my understanding of the architecture to improve performance. Once finished, the details (i.e., successes, failures, process and inner workings) of the implementation will be evaluated and reported, as well as the fundamental concepts surveyed. The motivation behind this project is to explore the rapidly growing area of AI algorithms, and the transformer algorithm in particular was chosen because it is a major milestone for engineering with AI and software. Since their introduction, transformers have provided a very effective way of solving natural language processing, which has allowed any related applications to succeed with high speed while maintaining accuracy. Since then, this type of model can be applied to more cutting edge natural language processing applications, such as extracting semantic information from a text description and generating an image to satisfy it.
The seamless integration of autonomous vehicles (AVs) into highly interactive and dynamic driving environments requires AVs to safely and effectively communicate with human drivers. Furthermore, the design of motion planning strategies that satisfy safety constraints inherit the challenges involved in implementing a safety-critical and dynamics-aware motion planning algorithm that produces feasible motion trajectories. Driven by the complexities of arriving at such a motion planner, this thesis leverages a motion planning toolkit that utilizes spline parameterization to compute the optimal motion trajectory within a dynamic environment. Our approach is comprised of techniques originating from optimal control, vehicle dynamics, and spline interpolation. To ensure dynamic feasibility of the computed trajectories, we formulate the optimal control problem in relation to the intrinsic state constraints derived from the bicycle state space model. In addition, we apply input constraints to bound the rate of change of the steering angle and acceleration provided to the system. To produce collision-averse trajectories, we enforce extrinsic state constraints extracted from the static and dynamic obstacles in the circumambient environment. We proceed to exploit the mathematical properties of B-splines, such as the Convex Hull Property, and the piecewise composition of polynomial functions. Second, we focus on constructing a highly interactive environment in which the con- figured optimal control problem is deployed. Vehicle interactions are categorized into two distinct cases: Case 1 is representative of a single-agent interaction, whereas Case 2 is representative of a multi-agent interaction. The computed motion trajectories per each case are displayed in simulation.
In this thesis, several different methods for detecting and removing satellite streaks from astronomic images were evaluated and compared with a new machine learning based approach. Simulated data was generated with a variety of conditions, and the performance of each method was evaluated both quantitatively, using Mean Absolute Error (MAE) against a ground truth detection mask and processing throughput of the method, as well as qualitatively, examining the situations in which each model performs well and poorly. Detection methods from existing systems Pyradon and ASTRiDE were implemented and tested. A machine learning (ML) image segmentation model was trained on simulated data and used to detect streaks in test data. The ML model performed favorably relative to the traditional methods tested, and demonstrated superior robustness in general. However, the model also exhibited some unpredictable behavior in certain scenarios which should be considered. This demonstrated that machine learning is a viable tool for the detection of satellite streaks in astronomic images, however special care must be taken to prevent and to minimize the effects of unpredictable behavior in such models.
With the recent focus of attention towards remote work and mobile computing, the possibility of taking a powerful workstation wherever needed is enticing. However, even emerging laptops today struggle to compete with desktops in terms of cost, maintenance, and future upgrades. The price point of a powerful laptop is considerably higher compared to an equally powerful desktop computer, and most laptops are manufactured in a way that makes upgrading parts of the machine difficult or impossible, forcing a complete purchase in the event of failure or a component needing an upgrade. In the case where someone already owns a desktop computer and must be mobile, instead of needing to purchase a second device at full price, it may be possible to develop a low-cost computer that has just enough power to connect to the existing desktop and run all processing there, using the mobile device only as a user interface. This thesis will explore the development of a custom PCB that utilizes a Raspberry Pi Computer Module 4, as well as the development of a fork of the Open Source project Moonlight to stream a host machine's screen to a remote client. This implementation will be compared against other existing remote desktop solutions to analyze it's performance and quality.