CSS 488 – Week 2

with No Comments

Due to a lack of available usable datasets, after talking to my advisor and instructor I decided to modify my project to focus on readability and sentiment instead. I researched papers on readability and sentiment this last week and have starting writing code using python(Keras). My next week’s goals are to have some working code for a trained network that produces more readable code. I still need to look a bit more into what constitutes as readable when it comes to marketing material.

CS 488 – Update – Week 2

with No Comments
  • This week I recovered all of the data sets I found last semester that were on my other computer. I then downloaded and extracted the data.
  • I also chose to set up my own Developer SQL database on my laptop so that I can keep my training data and the user data in one accessible place.
  • Because I wasn’t able to have my mentor meeting last week, I wasn’t sure where to begin with all the work I’ve set up. So I’ve decided to go back through all of my notes on the research papers I have read and create a giant spreadsheet detailing the tools used, features used, classification methods used, whether the dataset or the code was available, and if I’ve contacted the authors of these papers for more info.
    • This will help me figure out how I’ll need to create the learning loop to not forget any feature or method.
    • This will also help me show my advisor exactly what was in previous work and what I have to build off of

CS388 – Week 2 – Second Idea

with No Comments
  1. Name of Your Project

Driver Drowsiness Detection Using Deep Neural Networks

  • What research topic/question your project is going to address?

Driving while feeling sleepy or tired is one of the main causes of traffic accidents. One solution for this might be having a device in the car that monitor drivers’ behaviors and facial expressions and ring the alarm if the drivers tend to fall asleep.

  • What technology will be used in your project?

Dataset of facial expressions (images and videos)

  • What software and hardware will be needed for your project?

Python, PyTorch (or Keras)

  • How are you planning to implement?

Build a pipeline that first apply some image processing techniques to improve the quality of the images, then train a model (using neural networks) to detect and locate face position in the images, and the last step is to build a model (also using deep neural networks) to classify the behaviors and facial expressions.

  • How is your project different from others? What’s new in your project?

Most relevant projects track the drivers’ eyes to see if they close their eyes. I am considering checking eyes movements and also other behaviors such as yawning or nodding off in order to improve the classification performance.

  • What’s the difficulties of your project? What problems you might encounter during your project?

There might not be a big dataset for me to use.

CS 488 – Week 2 – Update

with No Comments

This past week, I have started phase 1 of my project, testing the physical security of the network. Along with starting this phase, I started to write the Google survey that will be used w/ the social engineering experiment. I also ordered the hardware needed for the social engineering test. I have not encountered any obstacles. This next will I will continue to use WireShark to test the physical network using both a wireless and ethernet adapter. 

CS488 – Week 2

with No Comments

In the past week, I have spent most of my capstone time organizing my project and testing some options for the machine learning component. I have been working with fast.ai and ImageAI python packages, trying to set up some groundwork for when I have data ready.

I have also organized all the algorithms that I want to try, at least until after I can compare some results (after I see the results, I may opt to implement more)

My hope for the next week is to make progress on acquiring training data with drones, or at least narrow down where I might want to survey.

CS488 – Week 2

with No Comments

I forked MLMAN, a PyTorch model that achieved the second-highest accuracy of validation on the FewRel dataset for semantic relation extraction. Running locally with a useful amount of iterations, it took to long to train, so I will be training the module on hopper and saving the model there to fetch for local use. With this saved model, I hope to start pre-processing and feeding sentences into it for validation.

CS488-Week2-Update

with No Comments

Over this week I finished up an non-contiguous IFF and OR gadgets, however I came to the conclusion, after meeting with Igor, that there does not seem to be a way to effectively put together these two gadgets. However, we also concluded that in most cases, it is not a particularly difficult challenge to find a gadget for contiguous parks, if one already knows the equivalent gadget for contiguous parks. Since I have reached a dead end, over the next week I am going to try out one promising new direction, and hopefully by close to proving the result for non-contiguous parks within the next two weeks.

CS 488 – Week 2 – Updates

with No Comments

My project is to collect and study the Facebook Reactions and comments on posts by U.S. politicians to see if bias exists based on the gender of the politician. I have decided with Charlie’s advice to focus my project on the 2020 Senate races. The 2020 Presidential election doesn’t have enough candidates to be a good sample size. The 2020 House races would likely have a wide variety of candidate strategies based on the district, many districts with no competition, and less voters per race. By contrast, the Senate races have enough candidates to be a good sample size, while also having more voters per race, meaning there should be more Facebook Pages with enough user activity to be used in my dataset.

This week I found sources for the Senate races, created a spreadsheet for candidates, and decided on which relevant columns should be in the spreadsheet. I am filling out the sheet first for races where the filing deadline has passed for the primary first. Next, I plan to learn how to access the Facebook API using the Facebook SDK Python library, and to collect sample data for candidates I have already added to the spreadsheet.

CS 488 – Week 2 – Updates

with No Comments

I decided to change my modeling method to neural networks. I have read a paper called Text-Independent Speaker Verification Using 3D Convolutional Neural Networks and checked their resources on GitHub. I tried to run their demo but required packages couldn’t be installed on my laptop. i probably need to request a place to run on CS/Cluster from the SysAdmins. I also found other similar resources on GitHub. My next step is to run them with testing files. I also had the first weekly meeting with my advisor Xunfei to discuss timeline and future plans. 

CS 488 – Week 2

with No Comments

I made a visualization (plot) displaying ingredient composition similarity between different products and skin types. I attached two drop-down options for users to select from product categories and skin types. I also attached labels to the graph so that it displays the product’s name, brand, price, and rank. 

CS 488 – Week 2

with No Comments

Working on the login and sign up system. Reading existing papers that talk about such system. Sign up will be via Zimbra only since using Facebook and other applications could lead to fraud accounts. The home page would be ready by next week.

CS388 – Week 1 – First Idea

with No Comments
  1. Name of Your Project

Detect and Translate Chinese text in images

  • What research topic/question your project is going to address?

Lately many translator applications have introduced the new feature that can scan a document or take an image with texts to detect and translate the texts into another language.

Many of these applications perform well with very neat and clear handwriting or high quality images but not quite well with cursive handwriting or low quality images. My research goal is to improve the detection performance in these cases.

  • What technology will be used in your project?

Chinese – English Dictionary API

  • What software and hardware will be needed for your project?

Python, PyTorch, matlab

  • How are you planning to implement?

Build a pipeline that first enhance the quality of the image data using image processing techniques, then feeds data to a deep neural network model (maybe CNN) to detect the Chinese characters and connect to a dictionary API to translate the text into English.

  • How is your project different from others? What’s new in your project?

The current applications do not perform very well on low quality images, so my goal is to find solutions to this limit of the translation apps.

  • What’s the difficulties of your project? What problems you might encounter during your project?

I did some experiments and found that big apps like Google Translate still had trouble detecting the not-very-neat handwriting. Therefore it could be very challenging to achieve my research goal.

CS 488 – Week 1

with No Comments

I go through the project again because it has been a while since I had CS 388 last Spring. I downloaded the data set and started doing some data manipulation and preprocessing. I will start looking at the models for image data set next week.

CS488 Weekly Update(1/15 – 1/22)

with No Comments

For the past week, I went back to my materials in CS388 and re-read my proposal along with the research papers in the proposals. In the following week, I need to obtain the dataset and learn (at least partially), the tools/ML models I will need for the project.

CS 488 – Week 1 – Update

with No Comments

This week I worked on setting up Keras and completed a course on deep learning using Keras (Learn Keras: Build 4 Deep Learning Applications). As I prepped for implementing the project, one of the significant challenges I have encountered is finding an appropriate dataset to train my neural network. Since my project aims to make a business’s marketing material more engaging, an appropriate dataset with labeled data to set up a clear definition of what counts as engaging and what counts as non-engaging is necessary. After some research and talking to my advisor and the instructor, one of the parameters that I am now looking for while searching for datasets is data that might be labeled based on reading level/hard to read/easy to read. The main goal for next week as I move forward with my project is to have a concrete dataset that I can train my neural network with. 

CS 488 – Week 1 Update

with No Comments

In the past week, I loaded the data, extracted ingredients from products, and made a document-term matrix containing product names and ingredient composition. I plan to visualize ingredient similarity between products this week. I haven’t faced many obstacles yet, but I want to finish things earlier than planned to allow some time for future obstacles.

CS 488 – Week 1 – Update

with No Comments
  • I bought a new computer over the break because my older one was unreliable and crashed unexpectedly from time to time. So I spent this first week setting up the computer and downloading the tools that I believe I’ll be using.
  • I also have spent a lot of time hunting down the data sets from the research papers that I have read and have a collection of over 22 different fake news data sets.
  • I created my presentation slides which helped me think about the project in a different way since I need to think about how to explain things in a way that will make sense to everyone and not just myself.
  • Finally, I chose my adviser and set up a meeting time and shared notes space but we were unable to meet this week since she will be at a conference.

CS488 – Week 1 Update

with No Comments

This week I created the presentation for Wednesday, which helped to make clear to me my new current goal after work done over break. I have found some new datasets and repositories for models online, which I will be presenting to my advisor to figure out which best suits my project. I have also tried to better breakdown my timeline following the selection of a module for the following month, and have personal project goals. I researched some libraries for GUI implementations, currently leaning towards Electron (Java) or PyQt5 (Python).

CS 488 – Week 1 – Update

with No Comments

This week was mainly for refreshing myself on the details of my project. I finalized Charlie to be my advisor for 488 and set up a weekly meeting time with him. I also completed the 3 slide powerpoint in preparation for the presentation in the joint class of 388/488. I adjusted my timeline and plan to start the first phase of my project on Monday. I did not have any obstacles this week. Within this next week I plan to start the physical testing phase of my project. 

CS488 – Week 1 Update

with No Comments

This week has been mostly organizational for me. I found some more resources on Github that I want to try and make use of, and I worked on my design plan for implementation. I talked with Igor about technologies I can use, and what I might need to use them effectively.

The main obstacle right now is the amount of structure that my project requires, which is why I am taking my time to create a solid plan for how things will connect to one another.

Next week, as my design becomes concrete, I will start coding different segments of my project, using some of the preliminary work I have done as a guide.

CS 488 – Week 1 – Updates

with No Comments

First of all, I decided my advisor to be Xunfei who was my advisor as well last semester. We decided our weekly meeting time. I have read some new papers and decided to change my modeling method from GMM-UBM to Neural Networks, and combine with i-vectors or x-vectors. I have found related code sources about Deep Neural Networks/Convolutional Neural Networks for speaker verification on GitHub. GMM-UBM is one of the most classical and dominant methods for speaker verification, but its accuracy decreases as the amount of users increases. Nowadays, there are new methods performs better than it, like Deep Neural Networks/Convolutional Neural Networks. This change on my project might be more challenging because I am using a new method which probably has fewer recourses. But I really want to make the accuracy for speaker verification higher than 90%. 

CS 488 – Week 1

with No Comments

I am getting familiar with Android studio. As per my timeline, the first step in the application is to implement the login system. Aim is to decide by end of this week whether to use Firebase and SQL or only SQL. I have to speak to Charlie regarding this. I revised my project through the first presentation, submitted the advisor form. Next week, work on the application should begin!

CS388 – Week 13 Update

with No Comments

In the past week, I have been working mostly on my presentation and my proposal. My proposal is close to a finished state, but I am still working on collecting preliminary results. I have also been trying to create new figures (images and charts) which are easier to read on printed copies of my proposal.

For the implementation itself, I am still working on the things I outlined in the first section of my project timeline (setting up the pipeline of the project without adding all the features at each stage), to try and get a minimum version working. I think that this will take a couple more weeks, but I am hopeful that it will lead to me having some buffer time next semester during my implementation of the project.

CS388 – Week 13 – Update

with No Comments

I finished my presentation. My next step is to add abstract and more introduction to my proposal paper, and finish the final version of it. I have done more research in the past week and planed to change my modeling method from GMM-UBM to Convolutional Neural Network or Deep Neural Network. GMM-UBM is very classical but also “old-fashioned”. CNN and DNN are newer and better. GMM-UBM’s performance lowers as the amount of speakers increases. But I do not have enough time to change method for this semester. I will do more research during winter break and probably change next semester. 

CS388 – Week 13 Update

with No Comments

I made final edits to my presentation and finished reading 3rd passes for all papers I have found. I have also revised my design by adding some more details to it. I have found a book about OpenCV projects so I have started implementing an application for image recognition. I am still working on my final draft proposal. More research is done on Android camera API, to see what I can use and what I cannot for my application. I plan to implement small chunks of my senior project during winter break, so I am looking for online resources to walk me through the process.

CS 388 -Week 15 – Updates

with No Comments

I have researched and read a few more papers in the last week. I have expanded upon my analyze -> split -> replace modules with actual implementation details using an encoder-decoder model to swap less engaging text with more engaging text. In order to do this, the text needs to be vectorized and then trained. I have also found a module that can help me achieve that. I have also extensively worked on my proposal presentation.  I also met with my advisor and went over the presentation and was advised to explain the slides in a way that a person with no understanding of neural networks can understand what is being communicated.

CS 388 – Week 14 – Updates

with No Comments

In the past week, I browsed to see if I could find a better data set for my project. I wanted to find a data set with users’ purchase history as well as the product information, but I could not find the appropriate data set to apply hybrid filtering. So I ended up modifying it to content-based recommender. I thought of more details to add to the project and discussed with Xunfei about ways to expand it. I ended up revising my diagram and some parts of the design. I also worked on creating slides for the presentation.

CS 388 – Week 14 – Updates

with No Comments

This past week, I spent time working on the presentation. I also met with Charlie to discuss the presentation slides. Charlie told me to replace a table in the Motivation section with graphs to show how wildfires have increased overtime. He also told me to cut down some texts in the Related Work sections. For the Proposed solution, he told me to redesign my graph. I also had to add more details in the Timeline and Budget sections. I also worked on the final paper during the break by adding the new requested sections. 

CS 388 – Week 14 – Updates

with No Comments
  • I spent the vast majority of this week looking for projects that have specifically detailed how they implemented a fake news detector and reading through the articles I’ve already found.
  • While some have given a lot more detail on their process, unfortunately, I can’t understand some of the details.
    • A lot of the details go into the mathematical aspects of machine learning and convolutional neural networks. That’s very difficult for me because math is not my strong suit.
    • I will either have to find a tutorial that will actually explain it well or I might have to compromise my big goals for this project. I need help finding papers or tutorials that clearly explain their processes so I can move forward in the way that I want to.

CS 388 – Week 14 – Update

with No Comments

This week I worked on the final proposal. Feedback from the second draft indicated that there were some grammar and structure errors. I added the testing and abstract sections. I hope to finish the proposal by the end of this week.

CS 388 – Week 13 – Updates

with No Comments
  • I focused this week on fixing my first proposal.
    • I re-did all of my diagrams so that they would use the proper shapes
    • I re-wrote my design section
    • I add more to my introduction to better explain the importance and the gaps
    • I elaborated about the timeline and gave a high level overview by month
  • I also did research into the postgres database using SQL because that seems like the best tool for my project.
  • Next week over the break, I hope to go more in depth into my readings and start to finalize the tools I want to use

CS388 – Week 12 – Update

with No Comments

I read some new papers and research about different modeling algorithms and started to worry about the accuracy on my system. The accuracy is not only rely on the modeling but also based on the dataset for training and the quality of acoustic input (the speaking environment). But selecting a suitable modeling algorithm is important. Now the popular models are: HMM, VQ, DTW, GMM, UBM, i-Vector. I temporarily chose hybrid GMM-UBM. I might change in the future or mix other modeling to enhance the accuracy. My goal is to reach an accuracy at least 90%.

CS 388 – Week 13 – Updates

with No Comments

This week, I continued working on my project proposal, submitting my second draft after some much-needed updates. I still need to work further on the Related Works section. I additionally continued working on early implementation of the project. Lastly, I prepared a first draft of my presentation slides.

Week 13

with No Comments

This week I have not been able to do much progress. I have decided to scrap the idea to use Machine Learning in the module for altering images, due to difficulty in implementation. Besides that, I have worked on the second draft of my proposal.

CS388 – Week 13 -Update

with No Comments

This week, I worked on the similar project posted online. While working on it, I found some challenges in modifying the content-based data set to fit the collaborative-filtering method. I might end up modifying my project from a hybrid recommender to a content-based recommender. But I will keep looking for alternatives to make it possible.

CS388 – Week 11 – Update

with No Comments

I discussed my proposal draft with my advisor. I got her feedback and suggestion, and knew how to revise and improve my proposal. In the past week, I read more papers about the GMM-UBM modeling method that I plan to use for my project. I understood the specific procedure now but it is still hard to fully understand this principle… Now my another problem is to find a suitable dataset and decide if my system is text-dependent. There are three primary ways for speaker verification now: text-dependent, mixed, text-independent. The text-independent way is very difficult and complicated to do because user can say anything to pass the verification. But text-dependent way is restricted and not safe for spoofing attacks. For example, people can replay pre-recorded voice to pass the verification. Therefore, the mixed way is better. It restricts the text in a way but safe for spoofing attacks. For example, they user can only speak numbers one – ten, but every time the text is random. But it is hard to find a dataset of all audio file in numbers in English. Now I need to decide which text way my system will use. 

CS388 – Week 12 – Update

with No Comments

This previous week, the work I’ve done has been two-pronged, as has become the norm and will continue to be for the rest of this semester. First, I continued work on the basic implementation of the game. I currently have the control module working, as well as a looping stage that I created in order to test the controls. On the proposal side, I’ve been making edits based on the in-class peer review that we did, as well as working more recently based on the feedback given by Xunfei. I also met with Xunfei to go over her feedback of my first draft, and updated her on my progress.

CS 388 – Week 12 – Updates

with No Comments

This week, I investigated the technologies being used in my found papers more closely to find which technologies would be more feasible for my project. For data collection, I have found that the facebook-sdk python library (https://pypi.org/project/facebook-sdk/) used by Pool and Nissim is the best option to connect to the Facebook Graph API, since it looks well documented and has all the options I might need. I also decided to use the Facebook Pages of politicians as my dataset. I reread As the Tweet, So the Reply?: Gender Bias in Digital Communication with Politicians by Mertens et al. to see if their methods could be adapted to my project. I will need to look at their references for methods in more detail to see if I can feasibly apply them to my project.

CS 388 – Week 12 – Updates

with No Comments

This past week, I worked on mainly reading my new papers. I did a third pass reading on all my old papers and did at least second pass reading on the new ones. I tried finishing more than half of the existing project on python notebook and played with the data set. I now have a better sense of how to start my project next semester. I also met Xunfei and updated my progress to her. As soon as the feedback for proposal draft 1 comes out, I will be revising my writing and finishing the existing project I have been working on. I also plan to test the existing project on collaborative filtering to make sure it works with a different data set.

CS 388 – Week 12 – Updates

with No Comments

In the past week, I have spent most of my time working on the first draft of the proposal. I decided to research and include a new category of papers in my proposal that I had not spent a lot of time before on. The new category that I included was “Sentiment Analysis.” While working on the proposal and refining the design of my framework, I realized that sentiment analysis, something that has been thoroughly covered by researchers of neural networks is very close to my research since I also need to know the sentiment behind the email/piece of text that is to be improved. 

CS388 – Week 12 – Update

with No Comments

Project Repo

In the past week, I have used my peer review from Jordan, as well as my own proof-reading of a physical copy of my draft to fix a lot of errors. I wrote my draft in a bit of a rush, and as a result, there were a lot of formatting errors, most of which I have now fixed. I have also updated some of my diagrams in accordance with feedback I have received and expanded some content in my draft that needed to be clarified.

In addition to working on my draft, I have been working on my project itself (preliminary work can be found in the git repo). I created a mockup GUI to give me some ideas about how I want to design the actual version next semester, as well as testing some implementations of different filters, operators, and edge detectors. Some of these results will hopefully be represented in the next version of my draft.

CS388 – Week 12 – Update

with No Comments

During the past week, I finished the first draft of my proposal and started to make those changes for the second draft. I have also continued reading some papers for their next pass. I continued to watch videos and read content related to the USB Rubber Ducky. I have started to put together some scripts that I would like to use for the attack. I also spoke with Charlie to refine my methods for the physical attacks I am going to implement. I now have a better/ more related CS implementation for this attack than what I previously had. During this next week, I am going to be working more with Metasploit on Kali Linux. 

CS 388 – Week 11 – Updates

with No Comments

For this week I looked into many different datasets, including gis fire map data https://frap.fire.ca.gov/mapping/gis-data/ and Kaggle dataset https://www.kaggle.com/elikplim/forest-fires-data-set but couldn’t find what I was looking for.

I picked The Ranch Fire in California but couldn’t find good datasets for it. I was trying to find I’m trying to find elevation, wind direction, humidity, and vegetation. 
All of them have to contain coordinates so I can layer them together. Also, I need each set at different time stamps for the simulation. I will discuss this during the next weekly meeting.

CS 388 – Week 12 – Updates

with No Comments

For this week I have done the following tasks:

Learned to view shapefile contents with Netlogo and Python library pyshp. A shapefile is an Esri vector data storage format for storing the location, shape, and attributes of geographic features. This type of file is quite complicated so it took me sometimes to understand the format and its contents.

I had trouble finding the right dataset for my project. Charlie suggested that I look into https://www.frames.gov/afsc/partners/fmac/guides-products. I downloaded the data for Alaska but it does not have the contents that I was looking for. Finding the right data is currently a big challenge.

I am also getting more familiar with Netlogo. Using Netlogo, I could view the content of the data for Alaska and also extract the metadata using the command line provided with NetLogo.

Week 12

with No Comments

I have been continuing learning machine learning with Python, specifically  PyTorch. I started with PyTorch because it has a less steep learning curve compared to Tensorflow (the alternative). However, there are more tutorials for Tensorflow and I might pivot next semester as the image processing gets more complicated and I need more resources in incorporating image processing into the machine learning. I think I will be able to build both a ResNet and AlexNet algorithm and compare them to decide which one to use. I have also written the code for video editing in Python to convert the input video into frames. For this task I am using OpenCV. It is straightforward to do this. I have not yet decided how many frames I will take in the first round. 

CS 388 – Week 12 – Updates

with No Comments
  • I spent a lot of time this week trying to closely read the texts I’ve found already to try and find any mention of the data set they are using. This was very difficult because the research articles usually don’t name what their data set was called or don’t explain where to find the data set they were using. There is not a lot of details in these papers about the researchers’ process and methodology in a way that would allow me to replicate their results. This made finding fake news data sets extremely difficult. However, through the close reading and intense web searches, I have found 21 fake news related data sets. 
  • I also spent a lot of time researching what would perhaps be the best machine learning tool to use for my project. I’ve narrowed it down to these possibilities: Oryx 2, Tensorflow, Azure ML Studio, Weka, Shogun, AWS CLI, TensorBoard, Kerras, Caffe2. I think that I might be able to use more than one for my project to get the best results but more research still needs to be done about which tool is better for the type of data set I have (which is not a timeseries data set).

CS 388 – Week 12 – Update

with No Comments

Discussed the feedback on the first draft with Xunfei. Got valuable feedback and planning to implement them in the second draft. I am searching for the algorithms to be used in the SLMS and working on the second draft.

CS 388 – Week 11 – Updates

with No Comments
  • Started my work in reviewing new found research that has more relevant research about a fake news detector application
  • Finished my first draft for my project proposal
    • I will need to update my related works section because of the new research I’ve found
    • After the peer review session, I will need to go back and redesign my figures so that they are easier to read
  • Started finding datasets which is very difficult because the research papers never tell you where to find the data set they use and often they never name the dataset either.
    • However, I was able to find some github repositories with datasets and some websites of the authors in the research papers that actually linked to the dataset of their works

CS388 – Week 10 – Update

with No Comments

Finished my first draft of proposal. I read some blogs about speaker verification tech and found out that I was wrong on some aspects (actually I was confused). Those blogs help me understand more and deeper about speaker verification. So I revised my framework and flowcharts: take voice input -> feature extraction -> modeling -> database. The modeling part is the most difficult part in speaker verification. The most popular models are: Hidden Markov Model, Gaussian Mixture Model, Vector Quantization, etc. I am not sure which one I will use for sure. It all depends on my dataset and customer need. I need to experiment several models to know which one I want the best. But I chose GMM temporarily on my proposal.

CS388 – Week 11 – Updates

with No Comments

This past week, I’ve finalized the basic design for the game I will be implementing. It will be a horizontal auto-runner, where the player ducks/jumps to avoid obstacles to the beat of the music in order to keep playing. I continued familiarizing myself with Unity2D, and plan on starting work on the game this upcoming week. Additionally, I wrote up the first draft of my project proposal.

CS388 – Week 10 – Updates

with No Comments

This past week, my work has been split in two directions: First, I’ve been refamiliarizing myself with Unity, by means of going through my Game Design second project. Further than that, I’ve been familiarizing myself with Unity2D for the first time, which I plan on using for the senior project due to the simplicity as compared to Unity3D. Besides getting used to the main software engine I will be using, I also continued reflection on my proposal outline; I’ve been looking more into different PCG-G algorithms and have decided on using the chunk paradigm as my second stage generation algorithm. Its stages won’t be as directly aligned to the music, but it should improve efficiency.

CS 388 – Week 11 – Updates

with No Comments

I extensively worked on the proposal last week, reading more papers and writing out what I plan to do helped me figure out the scope of the proposed project. I also experimented a bit more with tensorflow. I made some changes to my initial framework design to now include a frontend and backend for the end-user to interact with.

Week 11

with No Comments

I finally received the Gourmet Dataset. In fact, I received a devised version that has twice as many images as the original one. I also have the Yelp dataset, although that dataset has not be curated by humans, I am hoping to use it for training my algorithm in addition/instead of ImageNet or AVA.

Since I already have gotten access to the datasets, I have been reading about ResNet/AlexNet implementations, which was my goal for next week.

CS388 – Week 10 – Update

with No Comments

This week I met with Charlie to discuss my project design. We also talked about GIS extension, which is a library to handle GIS data for NetLogo. Charlie talked about how to layer different types of data on a base map. The most important tasks for the upcoming weeks are to figure out how to find different types of data for a fire location and how to process the data.

CS 388 – Week 10 – Update

with No Comments

Uploaded papers I have finalized for the proposal. I will meet Xunfei to confirm the papers and talk more about the first draft. I have made an appointment with the writing center for the first draft. I spoke to the library desk and Jose regarding the project and got suitable feedback.

CS 388 – Week 10 – Updates

with No Comments

I have narrowed my project to studying Facebook Reactions and how reactions may differ based on the gender of the post creator. I have also found papers that focus on facebook reactions. Because Facebook Reactions were released as a feature in 2016, the papers on the subject are limited, and I haven’t found any relating to gender. However, some papers I found analyze facebook reactions in a way that would be interesting to compare between the gender of the post creator. For example, one paper uses the reactions to measure the controversy of a post, so I could measure if posts by women are more controversial in general than that of men. I also found tools from some of these papers that I could use in my project.

CS 388 – Week 10 – Updates

with No Comments

After meeting with Xunfei, I decided to modify my diagram a bit so I redesigned it from my practice proposal. I also collected more papers that could be used in my proposal and read more articles and research papers. I also found an online tutorial of a project that is closely related to mine, so I enrolled in the course for free and downloaded the jupyter file to play with it on my own. I think doing this now will help me figure out some possible options and directions for next semester. I also made a timeline of my work for this semester as well as next semester. I asked Xunfei some remaining questions about the proposal and my project in general to clarify my thoughts. I also checked out the rubric for project proposal and brainstormed ideas for my first draft of proposal.

CS 388 – Week 10 – Updates

with No Comments

In order to get more familiar with neural networks I decided to use a program that lets you create neural networks. In order to do this I started reading about tensorflow and tensorflow graphs and their inner workings like variables, constants and operations. I read some tutorials on tensorflow and  also studied about the Keras model subclassing API which is one of the building blocks of tensor flow to start building a simple neural network.  I also read I also searched for more papers that are similar to my research and read Semantic expansion using word embedding clustering and convolutional neural network for improving short text classification, Semantic Clustering and Convolutional Neural Network for Short Text Categorization in order to familiarize myself more with neural networks that are used for text classification.

CS388 – Week 10 – Updates

with No Comments
  • This past week I have been trying to find more research papers that discuss how to create a prototype fake news detector instead of papers that just talk about how to discern fake news from media.
    • The hunt for those kinds of papers is more difficult than the one for methods of fake news detection which tells me that my work in creating a user application for fake news detection is very much needed.
    • It also seems like a lot of these papers are geared specifically towards twitter and so hopefully my research can fill a gap.
  • I have also been trying to figure out a good timeline for myself both for this semester and the next. I do believe this project is feasible if I can just find some data sets in a timely manner.

Week 10

with No Comments


I have been looking more into the image processing part. I have created my first draft of the code to alter the colors of an image. I have also looked into the rotating of the food in the image. This seems not doable (in the way and scope I wanted to), so I changed my framework to take a video as an input, instead of an image. The video can then be split into images, and the images from the better angels will be picked. I have also written to the Gourmet Food  Dataset researchers to ask for their dataset, but have not received a reply yet. I have been looking at the yelp dataset. I have found an online project that assumed all images taken with DSLR cameras were good, and the rest wasn’t. This seems to have worked pretty well for the classifying. I will look into that.

CS 388 – Week 9 Updates

with No Comments

I discussed my new idea with Charlie and Xunfei. I searched for more papers about 3D modeling and volume estimation but could not find a lot. I will be creating an Andriod application, so I looked into Andriod camera API and found that I can specify the distance between the food and phone camera until it satisfies the requirement. I plan to include face recognition as authentication for privacy purposes and found a GitHub repo for it that I can use. I also found a paper that is more closely related than what I have found so far.

CS 388 – Week 8 Updates

with No Comments

After coming back from CMU workshop for CS researches, I have decided to modify my idea a bit to integrate more CV into the project. From recipe recommendation and calorie estimation, I have decided to focus only on calorie estimation. There are many calorie estimation software that requires users to have a reference object when taking a picture of food. As much as this method has brought food calorie estimation to a new level of accuracy, it is inconvenient for users as they need to have the reference object with them at all times.

In my project, I aim to solve this problem as well as to bring the accuracy of calorie estimation to another level. Users will scan the reference object the first time they set up the application. The scanned object will be saved in the database as a 3D object with its area and volume. Next time the user scans the food, the object will appear next to food. These two will be compared and extract the volume of food from it. From volume, the calorie of food will be estimated.

CS388 – Week 10 – Update

with No Comments

During this past week, I have revised how I want to implement my social engineering attack. I want to use what is called a USB rubber ducky where you insert a MicroSD card into the USB. This card has payloads on it which you insert into the victims computer and then the payload is executed. Many different types of payloads can be written. These scripts are written in a language called duck script.

Charlie and I also discussed how to better implement my physical attack. This includes using a wireless adapter as well as ethernet cords to jack into ports around campus and see how easily I can get in.

Week 10 Updates

with No Comments

In the past week, I have:

  • Finished a simple Hangman Game in Elixir, I coded it up during the weekend. It can be found here: https://github.com/hungphi98/Hangman_Elixir. I learned a lot of things while making this tiny game: decoupling design; BEAM processes and concurrency; distributed client-side; and a couple of Elixir native concepts: Supervisor, Agent, and Application. I think these lessons will be extremely valuable to me once I started implementing my idea.
  • I started picking up three books and reading them at the same time, two books by Tanenbaum: Distributed System and Computer Network, another one is Handbook of Peer to peer networking. I find it much more useful to learn from reading books other than papers. They gave me a foundation of knowledge, and I don’t feel starved like I do when reading the papers. Some of the stuff I have picked up so far:
    • Scaling techniques
    • Basics of network security
    • Requirements and implications of a P2P network
  • I started seriously looking at the implementation of Blockchain. I have learned their basic protocol and had a rough idea of how they work. I have coded a basic blockchain using Flask but too shy to upload to GitHub since the code is extremely messy – I might clean it – probably not.

CS388 – Week 9 – Update

with No Comments

For this week, I started working on NetLogo, the software that I plan to use to create the simulation model for my project. I looked into the tutorials and the sample models library. NetLogo has its own programming language and development environment, so I spent quite some time to study its ecosystem. I also created a simple simulation model that read a file containing elevation information, display the elevation in different shades of green, built some fire sources and let them spread to places where elevation was smaller than 500. All of my notes for NetLogo can be found in Box.

Charlie and I also discussed my design for the project. For now I will focus on four types of input: Wind, Elevation, Temperature, and Humidity. First I will explore them individually to see how each affects my model. Then I will combine them, two at a time, to explore their combined effect on the model.

CS388 – Week 9 – Update

with No Comments

I found a MFCC library in GitHub and explored it a little bit. It directly takes a wav file as input and returns one N*1 array (a sequence of acoustic vector). I recorded my voice and converted to a wav file. I briefly tested the code. It took my wav file and return an array containing a sequence of vectors. I will use this library in my project. But there are many related factors that i need to study. I also wrote the timeline for the rest of this semester and next semester. My next step is to keep working on this MFCC library and explore the Dynamic Time Warping library in GitHub. 

CS388-Week10-Update

with No Comments

I finished a first pass of all but one of the papers in my reading list, and also read some of the papers that are highly relevant to my project, which I had already read for a first pass, for a second or third pass depending on how relevant the content seemed. I have also outlined the introduction and motivation for my project, and am working through the related works section. Apart from the project proposal, I have also spent some time trying to find some ‘gadgets’ that will assist with the proof for a simpler variant of parks puzzle, which is an effort that has not yet borne much fruit.

CS388 – Week 9 Update

with No Comments

This week I have:

  • Learned about the P2P and different Protocols in the implementation
  • Learned about the history of P2P, and different architectures in implementing a fully functional P2P File Sharing Application. It is quite colorful actually.
  • Made a rough draft of Outline Proposal
  • Learned about design patterns in Elixir. I am still very very new to the language. The backend architecture of Elixir is actually a lot different from all the web servers backend I have seen.
    • The code is really really tight – there is should be no place for redundancy, ever. A good Elixir code should be decoupled as much as possible for scaling later.
    • Perfect for real-time processing, and concurrency handling. – An absolutely perfect choice for this project. Fun fact, Elixir is built on top of Erlang VM. And Erlang is what helped WhatsApp become the WhatsApp we know today – at times WhatsApp had 1 million new users every day – and the scaling power of Erlang enabled instantaneous communication, with little to no failure of nodes. AT&T also used Erlang as its backbone for telecommunication – in Erlang, your application still runs while being updated! (That’s why you can make phone calls why AT&T updates their software in the background – mindblown!)
    • Supervision tree which automatically respawns failing nodes/processes –> guarantee availability.
    • Running on Erlang VM means the code in Elixir is compiled into Erlang bytecode, which runs on BEAM VM. Erlang processes are implemented entirely by the Erlang VM and have no connection to either OS processes or OS threads. So even if you are running an Erlang system of over ten million processes it is still only one OS process and one thread per core and completely isolated to your actual OS. Amazing!
    • There are more wonderful things about Elixir but I guess I stop ranting here.
  • I am trying to scale my current implementation of Baby Distributed Hash Table (still very early stage and primitive) to more nodes but there are some unexpected bugs that I have to study further. The Distributed Hash Table will become a crucial part of the query later in my application, along with the Merkle Tree.
  • I am studying the architecture of Napster – the killer P2P application that appears in the early 2000s that paved the way to P2P. However, I kinda want to improve/ or rather try with a slightly modified architecture – to negate the delegator/gateway node to make my system completely decentralized to absolutely destroy the single point of failure. I am not sure if this is possible. I might not have time to actually implement it in the near future but might be good to keep in mind.

Next week:

  • Continue with studying Elixir. The more I learn about it, the more I fall in love with this language. So elegant yet doing so much.
  • Continue to do more research on applications that have P2P architectures. I already saw some “grid architecture”, which is slightly different from P2P but have not taken a deep dive in it yet. So perhaps one of the things to look at. I have also looked at some apps other than Napster, and I wonder why most of them were implemented for Windows.
  • Contemplate over the current architecture that I have in mind and its purpose. Most of the P2P apps have faced a challenge in the legal issues regarding copyright. I guess I have to repurpose my app such that no such thing would happen if I decide to do hardcore and actually deploy it into use.

CS 388 – Week 9 – Updates

with No Comments

This week, I worked more on my proposal outline. Tuesday morning, I met with somebody from EPIC to go over my grant application to go to GDC, at which I may try getting some playtesting data from my project from professionals. This morning, I met with Xunfei to look at my proposal outline before revising and finalizing it.

CS 388 – Week 8 – Updates

with No Comments

During this week, I continued work on my literature review after meeting with Xunfei. After finishing the review, I also started work on my proposal outline, and continued looking for more resources to use in my project. I specifically need to find more procedural generation source code for game stages, I’m fairly happy with my two music generation methods.

CS388 – Week 9 – Updates

with No Comments
  • I’ve been working on the Lit Review and Proposal Outline this week and I finally finished the Lit Review fully.
  • My Lit Review included sections on:
    • Data sets: what kind of data has been tested and what do they extract from the data to use as a way of identifying misinformation
    • Identification/Classification Methods: what approaches did people take to test the data and have it respond with whether or not it was fake news
    • Prototype Design Consideration: some papers outlined what a good prototype detector should have or be used for and that is something I want to deliver on so it was important I note what I found
  • The Proposal was a bit challenging
    • While drawing designs, I realized that there are a lot of parts to my idea (not that it’s unfeasible though) so I’ll have to sit down and not only figure out a good overall framework but good designs for all the smaller parts
    • I also struggled with the methodology, budget, and timeline section because my framework is very much in flux since I actually need to figure out what works before doing the meat of my project.

CS 388 – Week 9 – Updates

with No Comments

I am working on finding more papers that study gender bias in social media posts and narrowing my idea further. One challenge is finding a feasible way to collect data from a site (since APIs have limits), or finding an existing data set or web scraper that fits my needs. I am also looking for authors that have published their code for their work and/or who have described their methods in detail.

CS 388 – Week 9 – Updates

with No Comments

This past week I worked on revising my literature review as well as writing my proposal outline that will serve as a starting point for my first proposal draft. I met with my advisor who helped me to come up with a good starting dataset for my initial neural network. I will continue read about neural networks and maybe try to implement a simple one in the upcoming weeks.

CS388-Week9-Update

with No Comments

I went over the broad categories that need to be addressed by the project proposal, and created a proposal outline for Assignment 7. I also worked with my advisor, Igor, to find a good candidate for the reduction adn start working on the proof. We found that there was a natural way of reducing a subset of 3SAT, 2SAT with distinct variables was, to an instance of Parks Puzzle. For next week I hope to generalize the technique to a larger subset of 3SAT.

CS388 – Week 9 – Updates

with No Comments

This week, I changed my method from hybrid to content-based filtering because there isn’t much research done in the hybrid method. So I chose to improve the content-based filtering instead. I also wrote my proposal outline and revised my diagram with the help of Xunfei. I might explore more ways to improve the existing method and see if there is anything else I can add.

CS388 – Week 9 – Updates

with No Comments

For this week, I wrote my proposal outline. During the next two weeks I will use this to construct the 1st draft of my proposal. I also spoke with Charlie about taking a different approach to the social engineering aspect of my project. Most of these I have found YouTube videos to demonstrate and describe the process but I have yet to find any hard research.

I also constructed more details for implementing the technical part of my project. This will also be discussed with Craig.

CS388 – Week 8 – Update

with No Comments

I finished my proposal outline. The next step is to write my proposal draft. I also discussed with Xunfei and she help me drew a better flowchart. I gained a clearer understanding about the flow of my project. I downloaded a SDK of the iFlytek company’s voiceprint recognizer product for reference.

1 2 3 4 5 6 7 9