Browsing by Author "Dougherty, John P."
Now showing 1 - 20 of 33
Results Per Page
Sort Options
- ItemAnonymity on the Web: Understanding the Vulnerabilities of Internet Use(2009) Hilton, Stephanie; Dougherty, John P.
- ItemApproaches to unweighted and undirected graph cut sparsification(2023) Do, Tung; Dougherty, John P.Graph sparsification is a type of graph algorithm that approximates a dense graph G by a sparse graph G’, where G’ has fewer edges. The motivation for graph sparsification is that we can perform computation on G’ to derive results with regard to G with much fewer computational resources. In other words, G’ is similar enough to G that computation results of one can be used to approximate those of the other. In this paper, we examine different approaches to cut sparsification. Cut sparsification is one type of sparsification where the sparsified graph G’ should have cuts within certain bounds of the corresponding cuts in the original graph G. There are two cut sparsification algorithms that we examine in this paper: namely uniform sampling and non-uniform sampling. As their names suggest, uniform sampling means that each edge is sampled with the same probability, whereas non-uniform sampling means that each edge is sampled with a different probability. In general, uniform sampling has better asymptotic than non-uniform sampling because each edge is treated indiscriminately. However, non-uniform sampling can reduce a bigger number of edges than uniform sampling in certain cases of dense graph.
- ItemAutomatic Emotion Detection Technology for Autism Therapy(2016) Uriostegui, Hector Ricardo; Dougherty, John P.Emotion recognition technology is being used to provide feedback to advertisers, sharing emotions through social media, and providing assistance to those who struggle to detect emotions. Affectiva is one of the companies whose emotion detection software is being used for these purposes. People with autism have trouble detecting emotion in animated faces and humans. The Affdex SDK provided by Affectiva gives developers a chance to use Affectiva’s technology for their own ideas and purposes. Affdex provides a fast and accurate method for facial feature tracking and emotion output. The Affdex SDK can be used to create a game for autism therapy.
- ItemCOMPARATIVE ANALYSIS OF DISTRIBUTED METHODS FOR PAGERANK COMPUTATION(2018) Weinstein, Noah; Dougherty, John P.The PageRank of a vector is a measure of centrality for nodes in a network. Three ways to calculate the PageRank are using power iteration, Monte Carlo methods, and iterative graph methods using Spark. The graph methods built in to spark and the power iteration method demonstrated a small difference in their performance when increasing the number of machines in a cluster. Running on AWS, the graph methods improved more when increasing the number of machines from 2 to 10 when compared to the power iteration methods. Experiments were carried out using Amazon Web Services and run on a subset of the web graph from Google. Improvements in partitioning could change these results, and could increase the performance of the matrix methods overall.
- ItemData Locality Practices of MapReduce and Spark: Efficiency and Effectiveness(2018) Snow, Alex; Dougherty, John P.The parallel computing community has produced various cluster computing frameworks to process the immense amounts of data we generate in the modern age. Two in particular, Hadoop MapReduce and Spark, rose above the rest as the most popular frameworks due to their performance and accessibility. Their performance envelopes are majorly dependent upon how and where they store input data in relation to the computation unit, known as data locality practices. We sought to identify which specific practices give rise to MapReduce and Spark’s strengths and weaknesses by examining an assortment of performance comparisons between the two. Performance tests include: running Word Count, Sorting, K-Means Clustering, and PageRank on variously sized datasets. MapReduce’s overlapping map and shuffle stages help it triumph over Spark when sorting. However, MapReduce fails to outperform Spark when running Word Count, K-Means, and PageRank. This is due to MapReduce’s use of HDFS (Hadoop Distributed File System), which primarily saves data on the distant hard disk, and inability to reuse intermediate results. Spark’s ability to save and reuse intermediate data from memory enables the framework to complete iterative algorithms much faster than MapReduce. Conversely, Spark executes shuffling calls slower than MapReduce because of its reliance on the OS buffer cache to reuse data and RDD recovery system.
- ItemDynamic Arm Orientation Detection During Body Motion as a Computer Interface: An Elegant Approach for a More Technological Age(2016) Firmani, Marcus; Dougherty, John P.Gestures serve an important role in human-computer interfaces, and advancing technology such as virtual and augmented reality makes 3-D gestures an increasingly important and powerful means of interaction. Robust gesture interaction depends upon reliable detection of arm position and hand gestures. Specifically, determining arm orientation, the position with respect to the user's overall body position as it changes, is important because comprehension of the intentions associated with many natural gestures depends upon recognition occurring from the user's frame of reference. Arm orientation is also important when differentiating different natural hand gestures using EMG signals. I will show how combining IMU data with simplifying assumptions based on an understanding of arm and body physiology and ergonomics can produce an effi cient and accurate real-time dynamic arm orientation detection system that works during typical body movement.
- ItemDynamic Balancing of Scientific HPC Applications on Institutional Clusters(2020) Lyle, Mac; Dougherty, John P.; Wonnacott, David G.In an age of ever expanding data sets, there is an increasing demand for high performance computing (HPC) in the scientific community. In order to maximize the performance of existing hardware, researchers have been looking for innovative and cost effective ways to expand and/or optimize their clusters. This thesis first provides a quick summary on the traditional methods that are currently in use in institutional clusters followed by some of the new services being offered to help researchers expand their computational resources. Most importantly, three recent papers propose new ways to optimize current hardware to increase total job throughput and utilization of a cluster. The methods proposed take advantage of dynamic allocation, both on the application level and the system level. The first paper (Nathaniel Kremer Herman and Thain 2018) finds that it is possible to dynamically size master-worker applications, freeing up significant resources for other applications to run on the system. The work done in (Feng Liu 2018) offers a method to integrate on-demand HPC requests into a traditional batch system. This created a massive boost in system throughput and reduction in batch wait time. The final paper (Suraj Prabhakaran 2015) looks into the potential of a new type of malleable job that can be run on HPC systems. By integrating these jobs into the batch scheduler, total system throughput was increased and lays a foundation for potential future workflows. This review is followed by the methods and results of a comparison between parallel jobs in the Chapel language and the MPI implementation. During my experience, Chapel was much easier to learn and to implement however, when scaled, it couldn't compare to the speed-up of MPI.
- ItemEvaluation Models in Web Accessibility Tools(2022) Chang, Isaac; Dougherty, John P.With recent advances in the past decade in the web, websites have grown past being simple pages of content and have evolved to become more interactive with their audiences. The increase in complexity has contributed to more possibilities in creativity and user experience. Websites now have many features such as dynamic content, user-interactive elements and user-controlled animated content. Browsers and web technologies have also evolved to give developers and creators more control over visual responsiveness and design of their websites. Although the added features bring about richer experiences, they do not come without drawbacks for groups of people that are unable to navigate through these new complexities for proper usage. The visually impaired community encounters many accessibility issues with the addition of complex non-text based elements. Current assistive tools such as screen readers are able to make text-based content accessible, but struggle to parse through more visual and user-interactive elements and provide accessible navigation. The responsibility of making websites more accessible falls upon web developers,their site navigation design choices and the extent to which they make non-textelements interpretable by assistive tools.
- ItemExploring Augmented Reality(2009) Scheinerman, Matt; Dougherty, John P.This paper illustrates a general overview of augmented reality, a type of technology that incorporates virtual reality and video images into one image. A subset of computer graphics, augmented reality is becoming more useful outside of research, inspiring new methods of human-computer interaction and interface design. This paper describes the history of augmented reality, including its origins in virtual reality, the various technologies required with its use, and its current and future applications.
- ItemExploring the Effectiveness of Conversational Web Browsing(2023) Afra, Tazkia; Dougherty, John P.Web browsing can be a challenging task for many individuals, and doing so without sight is even more arduous. Web users who are blind and visually impaired (BVI) are generally not able to effectively use regular browsers, which makes it difficult for them to browse the Internet and access information. Therefore, they tend to rely on alternate technologies aimed to support BVI users. Some of the widely used accessibility features include screen readers, refreshable braille displays, alternative image texts, magnification, contrasting colors, etc. In recent years, voice assistant devices have become increasingly popular and alongside this has surfaced the topic of Conversational Web Browsing, which refers to a recognition system and dialog-based natural language interaction with websites. The main goal of this conversational interaction is to enable users to browse and navigate online content by essentially “talking to websites”, as opposed to using graphical user interfaces with a keyboard and mouse. This paper first conducts a literature review of a proposed approach for conversational web browsing using chatbots, the ethics of conversational user interfaces, and challenges regarding implementation, integration, and usability. Following this, I present the results of a user experience study with five sighted participants, investigating the effectiveness of Conversational Web Browsing.
- ItemExploring the Mobile Phone as a Platform for a Portable, Non-Invasive, and Robust Sign Language Recognition System(2017) Jiang, Han; Dougherty, John P.This thesis explores the possibility of creating a portable, non-invasive, and robust sign language recognition system on a mobile device, capable of improving the quality of life of sign language users. A gesture recognition app was implemented for iOS in Objective-C and C++, using the OpenCV library for computer vision. This app was compared to the Thalmic Labs Myo, which has been successfully used as a sign language recognition platform. Under laboratory conditions, the mobile phone app reached a 96.83% overall classification rate, while the Myo reached a 94.44% classification rate. Despite this accuracy rate for the app, there are severe limitations that make the mobile platform unviable in its current state. However, its promising best-case results suggest that if those limitations can be resolved, then the mobile platform could be as effective as the Myo, and therefore an effective SLR tool.
- ItemFault Tolerance and Recovery Protocols in Distributed Computing Systems(2022) Chen, Qilong (Matthew); Dougherty, John P.Modern software systems are powered by decentralized computing systems. While these distributed systems are generally able to handle a higher throughput with larger clusters of computing nodes running in parallel, they also bring challenges in fault recovery while maintaining a globally consistent state in the event of system fault. This thesis will introduce some common strategies to record stable system state and recover from system faults through case studies of common distributed computing fault tolerant algorithms and systems. Then we will take a deep dive into two state-of-the-art logging-based fault-tolerant systems: Lineage Stash and Boki, with a focus on their respective high-level architecture, protocol, and fault recovery mechanism, followed by a discussion of its actual performance benchmark compared to existing fault recovery techniques.
- ItemGarbage Collection: An Overview of Dynamic Data Management(2010) Picone, Nicholas; Dougherty, John P.
- ItemGesture Recognition using Electromyographic, Spatial and Temporal Input Data(2016) Gabriel, Dorvil; Dougherty, John P.With the advancement of technology, electromyographic (EMG) and spatial data recognition is having a growing impact on accessible computing. I designed a customizable script that uses a combination of EMG, spatial and temporal data, such that each user of the script can select a custom profile of gestures they want to use to type. The gestures chosen for each custom profile will be determined by each user’s level of ability/disability. Based off of the custom profiles each user selects and speed at which each user types we determine if using EMG, spatial data and temporal data can serve as viable form of text input. While this research placed a strong emphasis on text input, it also supports the ideal of universal design in other contexts. The Myo armband was used to read and interact with the EMG, spatial and temporal data. The interface of this script also revealed multiple techniques for scripting with the Myo that allows people with disabilities to use spatial data to type.
- ItemHeuristic Counterpoint(2004) Ambrogi, Timothy; Dougherty, John P.This paper will introduce and formalize the problem of generating 16th-century Fuxian counterpoint using search algorithms. Several algorithms will be analyzed with respect to the problem domain, and the advantages of heuristics will be considered for each algorithm. The paper culminates with an in-detail description of the algorithms in question, and how they might be implemented.
- ItemHow Acquiring the “Perfect Match” within Clothing Recommendation Systems Relies on Human Judgement: Literature Review(2019) Quintero, Amanda-Lynn; Dougherty, John P.Recommendation systems exist in almost every aspect of online business. Whether the system is recommending books, movies, clothes, etc., an algorithm is running behind the scenes. These algorithms are hard to acquire in pseudocode because they are generally proprietary but I will analyze one algorithm found in my research that could hint at a recommendation algorithm’s general nature. Many such recommender algorithms implement some form of collaborative filtering, which utilizes historical user data, clustered product data, and user spending patterns to identify specific recommendations. Clothing recommendation systems are becoming increasingly more complex as they not only have to account for matching clothing products to user patterns and trends, but also the ability to analyze the product images themselves to match attributes of color, style, and clothing type to the user’s preferences. I will be focusing on clothing recommender systems with an ultimate suggestion on a new format that could potentially solve the problems of cold start (i.e. problem when algorithm does not have enough user data to begin with) and fashion style consistency (i.e. problem when fashion genres or clothing types are inconsistent skewing the algorithm’s ability to recommend products that match).
- ItemHuman Skin as an Interface: Attitudes & Preconceptions(2021) Fatima, Noor; Dougherty, John P.With the recent advancements in technology, on-body projections have become a topic of interest in the field of Human-Computer Interaction (HCI). Scientists have been able to successfully develop prototypes that leverage human skin as an input or an output surface. The skin provides an adequate amount of surface area and is always with us which makes it a potentially good candidate forinput and output. Although there has been a great emphasis on how to perfect this technology by using various sensors or by running several tests for hardware quality checks, there needs to be a focus on the human interaction with such technology. In this case where the input/output surface is not a ‘device' but rather the human skin itself, it is crucial to understand what the interaction looks like between the human and the on-body projection. Thus, in this two-part paper, I first complete a literature review based on the previous studies done by researchers related to human skin as an input. Then I explore the results of a survey that I did among college students to determine what they think of such technology and how they would possibly interact with it. Although the data from the survey are limited, they give an insight into the way a small set of people perceive on-body projection and human skin as an interface. These results may be very helpful in putting human perception and interactive behavior with on-skin technologies at the core of the product design.
- ItemLarge Vocabulary Hardware-based Speech Recognition(2015) Shibulal, Shreyas; Dougherty, John P.To achieve improved real-time performance, hardware-based speech recognition systems have emerged in recent years. While past efforts have demonstrated drastic improvements over software-based speech recognition systems, the tradeoffs between vocabulary size and performance remain. This work reviews several approaches to hardware-based speech recognition and discusses in detail the manner in which information pertaining to vocabulary is stored, accessed and used in speech recognition. Furthermore, we investigate the connections among speed, accuracy, robustness and the implementation selected for a large vocabulary speech recognition system in hardware.
- ItemMultiple Imputation: A Solution for Nonresponse(2011) Lo, Ethan; Dougherty, John P.Missing data is found in virtually every large database, and can be a significant challenge for researchers who want to create analyses on the data. Several approaches have been developed to deal with missing data, but many of them are either ineffective or computationally expensive. However, an approach called Multiple Imputation (MI) is widely used due to its simplicity and effectiveness. MI creates several different sets of full databases (with missing data predicted from existing values of other variables), and then analyzes each one. These results are then combined to create one overall analysis. This seems very straightforward, but is not without problems. There are specific assumptions made when dealing with MI, and ignoring these assumptions can lead to invalid conclusions. Assumptions such as not having missing values in the predictors, not normalizing data, and not looking at missing data problems can all contribute to incorrect conclusions. However, if carefully implemented, MI is a powerful and simple tool that can be applied to almost any missing data problem.
- ItemNatural Language Interaction with Robots(2007) Walker, Alden; Dougherty, John P.; Kumar, DeepakNatural language communication with robots has obvious uses in almost all areas of life. Computer-based natural language interaction is an active area of research in Computational Linguistics and AI. While there have been several NL systems built for specific computer applications, NL interaction with robots remains largely unexplored. Our research focuses on implementing a natural language interpreter for commands and queries given to a small mobile robot. Our goal is to implement a complete system for natural language understanding in this domain, and as such consists of two main parts: a system for parsing the subset of English our robot is to understand and a semantic analyzer used to extract meaning from the natural language. By using such a system we will be able to demonstrate that a mobile robot is capable of understanding NL commands and queries and responding to them appropriately.