Week 3 Assignment – Jonghyun Jee

Among the examples we learned during the class, Posenet seems the most interesting because of its wide range of possibilities. I tried to create a Snapchat-like filter by combining both Posenet examples 1 and 2, drawing with nose and particles generator, respectively. Mosquito just randomly came into my mind so I wanted to visualize it (I’ve never seen a mosquito filter and probably that’s why).

First, I added a couple codes to detect both eyes of a user, and let the draw function can generate a circle on each eye; a line on a nose. One thing I noticed is that, motions of the shapes seem quite unnatural.  I improved this part by two steps: I applied lerp function “noseX = lerp(noseX, nX, 0.5)” to make the motion smoother, and set the diameter of circles as the distance between the two eyes so if a user gets closer to the screen, the size of eyes become larger accordingly. I tried to add more interactions on the nose part, but it seemed somewhat distracting after I added some effects. So I just kept the nose part as a constant line.

For the next step I implemented the particle generator part to the project. As it endlessly creates a number of randomly colored particles from both ears of a user, I modified the code a little bit to combine it with the mosquito filter. I changed the spot where particles are generated to the end of the mosquito nose, by setting the location to “noseX + d, noseY + d.” So now the particles are coming out from the tip of the nose. As the original color scheme was entirely random, I set the green and blue values to 0 and thus all the new particles have become red-tinted—which resembles drops of blood.

(if video doesn’t work, please click this link mosquito)

Overall, it was pretty fun to play around with the given examples. It was my first time trying to code with p5.js so I had struggled a bit, but still it was fruitful experience for me. I’m so excited to explore more about the possibilities that deep learning will bring to us. You can find my code here.

References:

https://github.com/aaaven/aiarts2019/tree/master/week03-5-PosenetExamples-1

https://github.com/aaaven/aiarts2019/tree/master/week03-6-PosenetExamples-2

https://youtu.be/EA3-k9mnLHs (Hour of Code with p5.js and PoseNet by CodingTrain)

Weekly Assignment 2 by Jonghyun Jee

  1. Alvin Wang Graylin, “16 Lessons for a VR-First Future From ‘Ready Player One’” (2017)

I most agree with: No. 3 “Network speeds and cloud computing capacity will be the key utility of the future.”

Even Skype video calls are not very stable as of now; we are still struggling with random interruptions and low quality of video resolution. To expect some desirable quality of VR/AR experiences, network speeds and computing capacity are a necessity.

I least agree with: No. 8 “Gathering experiences and access will be more important than gathering wealth”

Hope it becomes true. But I guess relatively a small portion of privileged people would enjoy the full potentials of VR/AR technology. In the worst case scenario, the gap between the haves and the have-nots might widen. We have to keep in mind that only 35.13% of the world population has smartphones.

2. Three VR titles from the NYU Shanghai VR Titles Catalog

A. Lucid Space Dreams

I was wondering how they would visualize our dreamscape. After I tried it on Oculus Quest, the first thing I noticed was that this VR video doesn’t have any user interaction. Since its title is not just a generic dream but a lucid dream, it’d be much more interesting if it gives users more interactive options. Overall, the project was audiovisually fascinating.

B. In the Eyes of the Animals

This project, a sensory visualization of how other species view the world, is highly consistent with the original purposes of VR experience. We cannot see the way how bats or mosquitoes see; we can’t even imagine it. Virtual Reality, however, allows us to explore what’s beyond, behind, and beneath our realm of human cognition.

C. The Big Picture: News in Virtual Reality  

A flat TV or a computer screen was the only way I could catch up the news. I’m wondering what it may look like in 360 degree video—I think it has quite a lot of potentials to reshape the current news platform. As all the press media aren’t looking at matters from the same perspectives, it’d be interesting to see *visually* which press is more or less biased (If an algorithm is fair enough to properly quantify the bias or credibility of each press.)

3. Kevin Kelly, “AR Will Spark the Next Big Tech Platform—Call It Mirrorworld” (2019)

“A commercial-free mirrorworld would be infeasible and undesirable. However, if the only business model is selling our attention, then we’ll have a nightmare—because, in this world, our attention can be tracked and directed with much greater resolution, which subjects it to easy exploitation.”

As advertisement drives a substantial amount of revenue for Google and Facebook, the newly emerging AI platform might also seek to generate ad revenues. It’ll be not only annoying but somewhat creepy to see some user-targeted ads popping out everywhere.

Week 2 AI Arts Assignment – Jonghyun Jee

Among the number of ml5.js examples I tried, what I enjoyed the most to play around with was the “Sentiment Analysis Demo.”  The model is pretty simple: you put some sentences, and the algorithm will score the given text and identify which sentiment is expressed—in this model, it gives you a value between 0 (negative) and 1 (positive).

The developers of this model noted that this example is trained with a data set of movie reviews, which makes sense because most of the film reviews have both comments and ratings. I think it is a clever way of collecting data for this sort of sentiment analysis model: a large enough collection of data for free!

So I began with inserting some quotes that are either *obviously* positive or negative, just to see if this model can do the easiest tasks.

It’s not a challenging task for us to tell whether what he says is positive. Pretty much same for the analysis model as well, it yielded a result of 0.9661046.

And for Squidward’s quote, the model identified it with confidence: 0.0078813. One thing I noticed from this quote is, the word “cruel” here is presumably the only word that has a negative connotation, in this sentence. I removed that single word and guess what; the model seems quite puzzled now. It gave me a surprising result of 0.5622794, which means the sentence “It’s just a reminder that I’m single and likely to remain that way forever,” according to the algorithm, falls into a gray zone between negative and positive. And yet, this sentence without the word “cruel” still seems somewhat negative for us. An idea came to my mind: is this algorithm smart enough to understand sarcasm?

“If you see me smiling it’s because I’m thinking of doing something bad. If you see me laughing, it’s because I already have.”

I googled up for some sarcastic sentences without any “negative words.” The result was 0.9988156. Not sure if the lines above are more positive than what Spongebob has said with glee, but the algorithm thinks so anyway.

“Algorithm, I love how you look everything on the bright side. You’re smarter than you look. I wish I could be as confident as you are, haha.”

I inserted this sort of backhanded compliment and it seemed pretty much flattered; it showed a result of 0.9985754.  Now I feel somewhat bad for this algorithm, as if I’m making a fool of it. The last text I inserted is, all the text I’ve written so far.

For some reason the result was 0.9815316. I enjoyed doing some experiments with this model, because it’s pretty interesting to ponder about the results it has shown. Observing how an omission of the single word can dramatically change its result, I think a word-by-word approach has certain limits. In coder’s perspective, I’m wondering how I may improve this sentiment analysis model to the point which it can comprehend an underlying “sarcasm.” It’ll be a tough challenge, but definitely worthy in terms of computational linguistics and affective computing. Hope Siri and I can happily share the lovely act of sarcasm someday.

Week 1: Artificial Intelligence Arts Assignment Jonghyun Jee

Case Study: Edmond de Belamy, the First AI-created Artwork to be Sold at Auction

Written by Jonghyun Jee (John)

PowerPoint Slide: https://docs.google.com/presentation/d/1_eeYZaG6oL4r_ZzJkrk7BY5UhmNUHYYz8heThtWTZBU

Ten or more years ago, I was reading a book about futurology. I don’t remember most of its contents, but one thing still fresh in my memory is a short list in its appendix. In the list was a number of best jobs for the future, mostly consisted of the occupations I’ve never heard of. A single job caught my attention: an artist. It had seemed so random and unconvincing until I read the description. The author noted that AI and robots are going to replace most human jobs, therefore an artist—of which capability has been considered uniquely human—will probably survive and thrive even more. Ten years have passed since then and a lot has changed. A way more lot than the author might have thought.

Last October, an artwork named “Edmond de Belamy” was sold for $432,500 in a Christie’s auction. As you can tell from the image above, the portrait seems somewhat unfinished and uncanny. We’ve seen a myriad of abstract and puzzling artworks in recent years, so you may wonder what makes this portrait so special, worthy of hundreds of thousands of dollars.

If you look closely enough into the signature at the bottom right, you will notice a random math equation—which is extremely rare to find on top of a classical oil painting. This signature left by the creator of this artwork quite accurately states who painted it: an algorithm. 

That is, the painting we’re seeing now is the first-ever sold artwork created by not a human mind but an artificial intelligence. “Edmond de Belamy” is one of a series of portraits called “the Belamy family,” created by a Paris-based collective “Obvious.” They utilized “GAN,” which stands for Generative Adversarial Network (as far as I remember, Aven briefly introduced what GAN is and gave us a couple examples such as CYCLEGAN and DISCOGAN). 

The mechanism underneath this portrait is pretty straightforward. Hugo Caselles-DuprĂ©, a member of Obvious, says that “[They] fed the system with a data set of 15,000 portraits painted between the 14th century to the 20th. The Generator makes a new image based on the set, then the Discriminator tries to spot the difference between a human-made image and one created by the Generator. The aim is to fool the Discriminator into thinking that the new images are real-life portraits.” 

At this point, humans were the one who fed the AI with a data set. In the future we may see an AI system that can somehow choose which sort of data it will be fed. Whether a robot Picasso is coming or not, I’m excited to use this entirely new medium to explore beyond and beneath the realm of art we currently have.

Sources:

Image 1 & 2 © Obvious (https://obvious-art.com/edmond-de-belamy.html)

Image 3 © https://allthatsinteresting.com/ai-portrait-edmond-belamy