mokka – mask

I tried to find an interesting way to make a fire ant look cool despite my irrational fear of them. God, I hate them so much.

I drew a design(painted on procreate) for the clear mask that the ant rests on.

marimonda-mask

LINK TO PROJECT

marimonda face tracking

(The real gif)

It’s me!~

I am really homesick for a country I haven’t lived in for 9 years and this piece is about that.

The background is a drawing of La Iglesia de San Nicolas de Tolentino. 

My face is a marimonda.

My process/context about my guy  below the cut, since it’s mostly reflection on this body of work for myself.

Continue reading “marimonda-mask”

pinkkk-07mask

My idea is to create a filter that requires collaborative effort from the user and the user’s pet. There are two objects in the 3D space where the Minecraft pig is fixated on the user’s head, and the duck moves along with the pig in space but it is further up front in the z direction. The goal was to have both the user and the pet move their head in the same directions at the same time, which I thought would be a small challenge but it turns out to be a big challenge. So that was that.

If you want to know how hard it is with a dog you can watch this chaotic video,

 

 

sweetcorn-mask

Children’s Stories

You are your own virtual teacher as you generate your own children’s stories. Open your mouth to show each new word.

I determine if the user is opening their mouth by comparing the distance between their lips to the distance between the top of their head and the bottom of their head.

Above is a very early demonstration of this in my debug-mode, which also shows the indices of the vertices that I use to draw the face. I am using Beyond Reality Face for face tracking.

Below, I had started filling in features using the given vertices. Most features were very simple to turn into shapes by using beginShape() and endShape(CLOSE) around a for loop across each point and creating a curveVertex() at the coordinates of that point. A few features had to be estimated or otherwise fiddled with.

For example, Beyond Reality does not supply the top of the head, so I estimated it using the width of the face and drew an ellipse. I had to angle it to match the angle of the face with atan2(). At those same angles, I added a couple hair arcs for bangs and a couple triangles for pigtails.

The nose vertices, as you can see in the debug-view, make up two curves: the bridge and the underside of the nose. I could have made the nose simply those two strokes, but I thought it would be kind of cute to create a triangle from the top of the bridge to the two ends of the nostrils.

There were no pupils given either, so I had to guess where those would be. Luckily that’s pretty predictable if I assume the character will be looking straight ahead. The center of each circle was placed at the average of the coordinates of two diagonal vertices in each eye. The radius of the pupil is some fraction of the distance between those two points. It looked kind of boring without eyelashes, so I added a line anchored at each eye vertex and angled it away from the pupil using atan2() and some simple math.

The face still seemed a little bare at this point, so I added cheeks using calculations similar to those of the pupils. The center of the blush circle is the average of the coordinates of the side of the face and the bridge of the nose. The radius is some fraction of the distance between the two—this one mattered more than with the pupils, since as you turn your face, the size of one side becomes a lot larger than that of the other side.

The last thing I did was add a simple neck and body using a rectangle and a quadrilateral, with proportions relative to the head width. I had to use the width, rather than the height (the more intuitive option), as the height of the head changes greatly when you open your mouth and it would be silly to have the size of your neck and body change with it.

I then focused on text generation using RiTa.js, which I fed a bunch of children’s stories from this page of short stories for children. When you open your mouth, the next word of a generated sentence (stripped of punctuation) appears. I wrote these sentences with Lingdong’s p5.hershey.js. Originally, I had these words simply appearing, but it would have been a shame if I hadn’t utilized hershey fonts to at least some of their potential.

Animating the text was one of the trickiest parts of this project, but by modifying Lingdong’s code to have an extra putChar() function called putAnimatedChar(), which takes a time parameter and draws vertices only if time elapsed is over a certain multiple of their index. With this, I could successfully draw words, but only by drawing all the words at the same time. To solve this, I made a boolean parameter for putText(),  which determines if the text passed to it should be animated. I broke the text into two strings in an array: one of previous words and one of the current word. The former passes false and the latter passes true. I use estimateTextWidth() to determine the leftward translation of the previous words.

Following the advice of a surprising amount of people, I made it my last endeavor to synthesize a voice for this character. I was reminded of the time Everest Pipkin told my EMS class about how Nintendo created Animalese in Animal Crossing and also of the teacher’s voice in Charlie Brown, which Golan mentioned in office hours. I figured I could make something nice using Tone.js and formants for vowels I would obtain through RiTa’s getPhonemes(). I was somewhat successful in this, though the resulting sound is far less charming and far more sinister than I’d hoped. Below is a video that demonstrates this result.

To be more in line with the affect I had hoped for, I implemented a slightly-modified version of Josh Simmons’ Animalese.js project, in which he uses javascript audio and a .wav asset to create Animal Crossing-type speech based on text input. I slowed the voice down a bit and had to change a few things to make it compatible with my current program, but the conversion was simple enough. Each time your mouth opens, I feed the Animalese object the current word. It has a lot of charm, is very cute, and makes me much happier. Below is a video which contains the generated sound and a gif of one generated story.

Link to code

tale-facereadings

  • Clearview.ai

I didn’t know about Clearview.ai until I watched “Face Recognition” from Last Week Tonight with John Oliver. I was extremely surprised that there are a great number of people who aren’t aware of the critical problems these face recognition softwares and accessing/collecting data from online are. Although I did thought about the possibility that others who I don’t know may access my photos on my SNS page, for example, and use it for whatever purpose I do not give consent to, knowing that there exists a company that actively collects and analyzes photos from online really concerns me. I think I’ll be thinking twice before I upload anything to my SNS…

  • Inaccuracy in face recognition leading to social justice issues

I learned that inaccuracy in face recognition software could lead to a severe results from Joy Buolamwini’s Tedtalk video. I too have a memory of laughing at the inaccurately tagged names on social media, but just like what Joy Buolamwini said, it no longer becomes something trivial that we could just laugh over when it comes to crimes and suspects. People could be blamed for something they weren’t even aware of, at the most unexpected moments. I strongly agree that face recognitions not recognizing faces of people of colors enhances the pre-existing racism in the country, and that this problem should be brought up to the surface even more and be fixed anytime soon.

shoez-facereadings

  1. Currently, there’s little to no regulations around how facial recognition is used in law enforcement. As a result, facial recognition algorithms that might not even be extremely accurate are being used to identify suspects. Algorithmic bias make this extremely dangerous.
  2. Inclusive code shouldn’t be an after thought. The Who, how, and why are extremely important for when we code because things like algorithmic bias can potentially ruin some people’s lives.

mokka-facereadings

  • From Brian Reverman’s Mask Around the World video, the narrator mentions the idea of masks used to celebrate the coming of seasons. The arrival of seasons is a concept so familiar in my head that I completely neglected how special it is in some cultures. It’s also interesting to see masks almost try to portray something that isn’t tangible and become wearable.
  • “Asians and African-Americans are a 100 times more likely to be misidentified than white men” In John Oliver’s video, he mentions this extremely alarming fact about failures that exist within the technology of facial recognition. Not only that, but they struggle to identify between a male and a female. When this system is used in ways that it wasn’t designed to be used, the public is surely in danger. It worries me that people may use this technology in serious situations while misunderstanding its accuracies, resulting in harming an innocent.

thumbpin-facereadings

“Some judges use machine-generated risk scores to determine how long an individual is going to spend in prison.”

This is from Joy Buolamwini’s Ted Talk and the most shocking thing I’ve heard from the readings. It’s terrifying that the length of people’s prison sentences are determined by their facial features, something that they do not control. How is this even legal?

Face recognition is used extensively by law enforcement despite it inaccuracies.

This is a general idea I got from a couple of the readings. Why has face recognition been used by the law enforcement and government when it algorithms are known to be biased and inaccurate?

sticks-facereadings

  1. From John Oliver’s Facial Recognition video, I found Clearview.ai and facial recognition technology in general to be concerning and even frightening in the way in which facial recognition could be exploited and used outside of entertainment. The accurate and elite facial recognition program is well developed as it has collected over 3-billion photos of people from the internet. However, despite Clearview.ai being solely used for “law enforcement” agencies, the facial recognition service is said to be used in businesses such as Kohl’s and Walmart, and has been implemented secretively used in many other areas and countries. The amount of ways which facial recognition could be exploited is frightening, and makes me question the functionality and legality of facial recognition technology.
  2. Why should we desire our faces to be legible for efficient automated processing by systems of their design?  It’s no doubt that development of this kind of technology has been made possible by data from millions, even billions of people’s faces, and the idea that they have access to our faces could potentially result in the creation of new, oppressive technologies and ways in which our faces could be exploited.