Fancyface
  • Home
  • Blog
  • Project Description
  • Source Code
  • Gantt Chart
  • Home
  • Blog
  • Project Description
  • Source Code
  • Gantt Chart
Search by typing & pressing enter

YOUR CART

5/8/2017 0 Comments

Wrap-up

My presentation was exactly two weeks ago, and I gotta say, it went amazingly. I'm so happy with how it turned out, and all my nervousness was for naught. My demo was great, and I got a lot of compliments afterward. If you want to check out my presentation, here's a link:

Presentation

I learned a lot this semester, and I feel pretty cool that I designed an app from scratch (that actually works). Overall, the capstone was a good experience (I can say this now after all my stress is gone) and I am proud to graduate as a computer science major.

After graduation, I'll be working at Acuity Insurance as a computer programmer. I start June 7th, and I can't wait! 
0 Comments

4/7/2017 0 Comments

It's Friday!

Hi all! I'm very excited to share some progress with y'all. Now, I know there are only two weeks left before presentations, but I'm not too worried. I only have a couple more things to do with the project (a lot of beautifying, though). My app now has the ability to take a photo or upload a photo, and I successfully got my facial detection to work on photos that I take with the camera on my app - which is fantastic! What's left to do after that is:
-Drop an image in place of one of the green circles (that's a simpler way of explaining what the filters will do)
-Drop an image in place of TWO of the green circles (like glasses)
-Save to the device
-Sharing capabilities

​So yeah! I'm pretty excited and I only see things going up from here. Woohoo!
 
**Edit, 5/10/17:
I previously had screenshots in this post, but after exporting my site they disappeared.
0 Comments

3/19/2017 0 Comments

Walkthroughs

​Since we are about halfway through the semester, it is time for walkthroughs. Everyone has to prepare a 15-minute walkthrough to present this week, and I just so happen to be going first. I thought I would use this blog post to map out what I'm going to say / present. I might add screenshots to another blog post either tonight or tomorrow night.
 
Analysis: What are you doing and why? 
-Designing the app interface to look "pretty" is certainly going to come last. I thought in the beginning that I would do it along the way but I think I'll wait a bit. It's more important for it to be functional.
-The camera is linked and works. I need to make it possible for someone to upload their own photo (potentially. This was not a requirement)
-I'm gonna spend a good chunk of time this week designing all of the filters and saving them in high quality. One thing I need to do is mark coordinates on each filter that will eventually match up with the eye / nose / mouth coordinates.
-Detecting the face will be done by the end of this week. I promise.
 
Design: How are you proceeding?
-I don't really have much to say about this.. my design is extremely straightforward. My plan is to make the app look like my website - font, color scheme, etc. I want the app to be extremely intuitive and easy to use with as few words as possible.
 
Road blocks?
-Motivation. I have lots of homework for my other classes, and when I finish that, I feel accomplished. This capstone is extremely easy to push to the side, and "I'll work on it later" can be said indefinitely, it seems. I just need to buckle down. I want to try to put two hours of work into this project every night from here on out. I do work ~20 hours a week, which is exhausting, but I need to push myself. Lots of stress & coffee await me. Yay!
-Not being 100% confident using Android Studio. It's slow and unfamiliar. I also don't like "guessing". I would rather learn step by step how to use something instead of Googling every single thing I wonder about. 
 
Help and suggestions?
-Anyone?
 
Immediate plan?
-Design filters using Illustrator; save as individual images.
-Detect face in still image using pinpoints on eyes, nose, mouth, etc.
-Make the on-screen buttons do something (pop up menus).
 
I also just want to point out that I am not freaking out about this. I feel calmly confident that I am going to finish everything on time and that it will all go smoothly, and I think having that mindset is better than panicking and rushing. I'm going to just keep thinking this way, even if I have been falling behind. It helps me a lot to think that everything is going to work out rather than being a doomsdayer. 
 
That's all for now!
0 Comments

2/26/2017 0 Comments

Progress...

...is being made. I found an awesome website (click here) that describes how to detect faces using some Android technology. I had to import a new library in order to get started. After following all of the directions in the tutorial, Android Studio decided to crash after taking five minutes to load the emulator. I had a lot of issues with it, but I resolved them after an embarrassingly long amount of time. I've been working on getting the camera onto the app, but it's been tricky. I might table that for a bit and just try to work with jpgs that I already have saved. There are also a lot of really simple things that I don't know how to change yet on my app that I've been working on. I've also been watching the Udacity videos and learning a little about how to make apps. Overall, I feel alright. As I wrote in my last blog post, I've been unbelievably busy. I just took on another responsibility for some reason - volunteering at Happily Ever After, an animal sanctuary in Green Bay. It's really fun, but I feel like it's bad timing for me to start doing it now, especially when I'm working 20 hours a week and doing lots of homework every night. Sigh, the life of a college student. 
 
I'll try to write another post this week with more specific progress and hopefully some screenshots.
 
Goodnight!​
0 Comments

2/13/2017 0 Comments

Happy Valentine's Day Eve!

​I haven't really gotten as far as I would have liked to with capstone-related stuff in the past week. I've been doing loads of busy work for my other classes, cooking all my own meals, and working a LOT, so by the end of the day I'm totally exhausted. 
 
I DID get Android Studio set up and got the app working on the phone that DCP gave me. It's just a plain little app right now, but I'll work on it this week.
 
According to my Gantt chart, by the end of this week I need to be done with Android research. This is something I've actually been doing, and I found a really awesome online course hosted by Google through Udacity. It shows you exactly how to use Android Studio to create an app, and I'm going to use it as much as I can to learn how to use this new software!
 
I also (according to the chart) need to be researching facial recognition, must finish creating my UI "shell" by the end of the week, and start working on a camera. C'mon Kat, you can do it. By the end of this week I really want to make some headway. I'm getting frustrated with myself for not taking as much initiative with this as I wanted to.
 
In better news, the Dev Squad (a bunch of people in the capstone class who are also developing Android apps) is meeting up this week a few times to work on our projects. That, I think, will help me stay on track. I should also try to make appointments with DCP or Dr. McVey so that I can get some outside motivation from them.
 
I'll report back if anything changes.
0 Comments

2/6/2017 0 Comments

"Wisely, and slow. They stumble that run fast."

Yes, this blog post's title is a Shakespeare quote. And yes, that means I, much like many of my other comrades upon quick inspection, have not gotten much done in the last week. Besides the capstone course, I'm taking three other classes (which means I have a full course load in SNC standards) - drawing, ad design, and geology. As one might expect, having a full course load means that one will be quite busy, and this has come true for me. I love being busy; I find it makes me more productive. However, I've been neglecting the furthering of my capstone. I'm going to set some goals for the end of this week:

1. Get "Hello World" on the app.
2. Research facial recognition (and prove it with a blog post).
3. Make a camera button on the app that opens Android's native camera.

I'm hoping that by the end of this week, I have all of that done. I think those are very manageable tasks. I'll report back, of course.

Have a wonderful week!

0 Comments

2/1/2017 0 Comments

Scope and Subtask Analysis

It's time to start thinking more about the details of my project. I went onto Garrett Moody's website (class of 2015 graduate) to check out what his plan was. His app dealt with facial recognition as well; in particular, he had to create an app that recognized "familiar" faces in selfies, categorizing them together based on the person. I remember going to his presentation a couple years ago and I think he mainly went off of eye width and distance to figure out which person it was in the pictures. He developed his app with Android Studio, which seems like the easiest and most intuitive option for me. My younger brother Jet is in an advanced computer science course in high school, and he has developed with Android Studio. Perhaps I'll enlist him for help if need be.
 
From what I've gathered based on Jet's explanation and Garrett's website, you can run the app on the computer on an Android simulator, but you can (and should) plug an Android phone into the computer to run it on the device itself. I'm going to start by creating a simple app on Android Studio (Visual Studio is just too complicated) and potentially using Garrett's code to build off of. I'll need to get Dr. Pankratz's approval to do so, however. The only thing I really want to borrow from Garrett's code is how he recognized faces. He mentioned something about Android's API for facial recognition, which consists of a camera class that has a face detection function. I'll definitely be using that to recognize the faces. 
 
Once I recognize a face on my app successfully (after the photo is taken) I need to allow the user to add a filter. Now that I think about it, there are a few ways I could go about this:
 
1. Something similar to Snapchat, where you attach the filter before taking the photo (seems complicated).
2. Something similar to Snapchat's icon-attaching capability (where you can add an emoji to something in a video and it moves with that object in the video) *** This is more likely what I will use for videos.
3. Something where, after taking a photo, you can grab cartoonish objects and drag them onto the face, with the ability to resize. Snapchat also has this (you can add cartoon beards, emojis, etc. after the photo is taken).
 
For photos, I think I want it to snap automatically to the face after registering it.  After would give my app a second to find the face, locate the face's features, and then "snap" filters on the face according to these points. That seems like the easiest way to go about it, personally.
 
As for videos, on Snapchat you can add filters before taking a video, and they "stick", or you can add emojis / icons after taking a video and "connect" them to a moving part of the video. I'll need to figure out how both things are done in order to decide which route is better.
 
As for right now, I'm leaving it at that. So, the big picture or scope of my project is creating an app in Android Studio that recognizes facial features and "sticks" a pre-designed filter (and maybe user-designed filters) onto the face after photos are taken and before/after videos are taken (yet to be decided).
 
Here are my subtasks:
 
1. Download Android Studio.
2. Design a simple app.
3. Get my hands on an Android phone.
4. Run the app on the phone.
5. Make a camera button on the app that directs to Android's native camera app. 
6. Design (sketch by hand) filters.
7. Render filters on computer.
a) Pinpoint eye, nose, and mouth coordinates on each filter. Start with just one filter.
b) Make vector-based filters that will resize easily without pixelating.
8. Create list of filters to choose from on app - no connection to photos yet. Simple list.
9. Figure out how to recognize facial features in photos.
a) Perhaps employ some sort of grid onto the face to make sure this is getting done properly. Does it persist after photo is taken, or is it only active when camera is active?
10. Be able to drag filter from list onto photo (without snapping automatically upon click) --- maybe. Is this subtask even necessary?
11. Be able to click on filter choice and have it snap to the face in the photo. Make sure the filter resizes upon snapping (to accommodate for close-up vs. far-away photos).
12. Reward myself with a venti soy matcha latte at Starbucks.
13. Take a deep breath.... it's time for videos.
*** Plan this part later... there's still so much to be done before videos can happen! ***
 
** Do I want to allow for multiple faces to have filters applied to them? Imagine a group photo of 10 people. Would this work?
** Do I want to allow the user to upload pre-existing photos and add filters to them? Again, imagine a 10-person photo.
** Do I want to theme the app's filters? "Fancyface" implies fancy. Do I want to stick with monocles, mustaches, etc.? 
 
I think this is a good start. I'm meeting with Dr. Pankratz tomorrow morning at 9:30 to ask some questions. I'll ask for an Android phone to use, and ask if I can use some of Garrett's code. I'll also have him run through my subtasks and let me know if they're sufficient.
 
Au revoir, and stay fancy!
0 Comments

1/31/2017 0 Comments

Four Hours Later...

​Well, here she is - my beautiful website! I've been sitting in a corner of the library for four hours straight, perfecting every detail. I've uploaded a résumé and wrote a philosophy. My eyes are burning from staring at this screen for so long, but it's definitely worth it!
 
This week, I realized that my laptop just isn't going to cut it for this project. It's extremely slow (it takes a few minutes to compile simple programs sometimes) and it can be really frustrating to work with because of minor glitches. Thankfully, Dr. Pankratz is letting me borrow a gorgeous HP ENVY for the semester, and I couldn't be happier. It's fantastic. It's so much quicker than my laptop, and within minutes I downloaded WinSCP and Visual Studio 2017. I had been reading about how apps are created, and in the DreamSpark (Imagine?) product description for VS 2017, it says it's optimal for creating cross-platform mobile applications. Well, I'll be darned - that's exactly what I'm trying to do!
 
My next steps will be...
-Downloading and configuring Xamarin to create shared C# code so that my app works on Android and iOS
-Researching facial recognition
-Designing the application interface
-Create scope / subtask analysis
 
Time to get working!
0 Comments

1/29/2017 0 Comments

First of Many Posts

​This is my first blog post for the senior capstone project! It's really exciting to finally be at this stage of the computer science major here at St. Norbert. We all received our project specs on Thursday morning, and I was really excited about my project. It's called Adding Face Filters, and it seems like it's going to be a super fun (yet challenging) project. The app I'm going to make is going to be similar to Snapchat, but without all of the complicated aspects of it. My official project description says, "Create an application that "attaches" filters to faces in photos and videos that can be shared with others." I'll have to create filters (fun!), allow selfie and video capabilities, and allow the user to save, open, edit, and share images with friends. I'm taking a drawing class right now, so filter sketches will be a fun and useful way to fill my sketchbook! I'm a little nervous to begin tackling such a huge project, but I'm mostly excited because I'll have the chance to be creative. 
 
NEXT STEPS: 
-Make this webpage look better (& add my resume and philosophy)
-Research Snapchat filters
-Check out Garrett's project
-Figure out how to make an app (eek!)
-Design some filters (ask friends for ideas)
0 Comments

    Archives

    May 2017
    April 2017
    March 2017
    February 2017
    January 2017

Create a free web site with Weebly