AI Arts Final Project Documentation – Artificial Muse (Cassie)

Final Presentation Slides

Project Description

This series of paintings was created based on images generated by an artificial muse. Neural style transfer was used to merge together past artworks, creating newly styled images. This serves as a technique for artists to gain new inspiration from their past works and to use A.I. as a tool for optimizing creativity. 

 Background/Inspiration

Roman Lipski’s Unfinished collection is a never-ending collection of paintings in which he uses neural networks to generate new artworks based off of his own paintings. He started out by feeding a neural network images of his own paintings, which it used to generate new images. Lipski then used these generated images as inspiration to create new paintings before repeating the process again and again. Lipski essentially created his own artificial muse and thus an infinite source of inspiration.

Motivation

As a person who likes to draw and paint, one of the many struggles I know too well is creative block. I’ll have the urge to create something, but struggle with a style or the subject matter. Inspired by Roman Lipski’s work, for my final project I wanted to create my own artificial muse to give ideas for new pieces of art. This project was also an exploration of the creative outcomes that are possible when AI and artists come together and equally work together to produce artwork.

Methodology

I used the style transfer technique we learned in class to train multiple models on previous artworks I have done. The trained styles were then transferred onto images of other past artworks, and this process was repeated with multiple layers until a series of three images was produced. These three images were used as inspiration to paint three new paintings, the final works.

Experiments

The process I ended up following was different from my original plan. I originally wanted to follow a process like this:

However, as I was experimenting in the first phase, I realized that this would not be ideal for two reasons. The first was that each model takes 20 hours to train, so to take time to train one model, make a painting, and then wait another 20 hours for that style to train, and repeat that whole process two more times for a total of three paintings would take too long for the time we had. The second reason was that the trained model doesn’t necessarily look visually interesting, so it wouldn’t make sense to rely on that painting’s style to transfer into a good model.

What I ended up doing was first I trained eleven different models on eleven different styles of my old art pieces, and here’s an example of a few of them transferred onto input from a webcam:

Some of them definitely turned out better than others. The bamboo one and the one on the top, for example, I didn’t like very much. The bamboo one just turned everything green while the other one didn’t seem to do anything at all. However, I really liked the model on the bottom since it actually altered the shapes a bit, so I decided to take that style and transfer it onto other previous artworks:

From these, I selected the images I liked the most and ran it through another style:

I then took two of these images that I liked the most and ran them through yet another style:

It was then down to picking between these two series:

I quite liked how the portrait turned out because it looks like a robot to me, which kind of fits the whole AI thing, but I ended up choosing the mountains because I thought it would be quicker to paint because of time constraints. The mountain landscape was also a bit more abstract, which I liked.

Social Impact

I think the process I followed for this project is indicative of how AI can be used as a tool during the creation process rather than as a tool that creates the final generated product. Like I was inspired by Lipski, I hope that other artists can take inspiration from this and experiment with AI to enhance their creative process. 

Further Development

This project could honestly go on forever until I run out of old artworks, but that would be nearly impossible because of the number of combinations I could test out. I am also curious how this project would turn out if I had followed my original plan and continuously trained models based on new paintings I created rather than the styles coming entirely from old artworks.

I could also develop it further by using different AI techniques like DCGAN rather than style transfer. I am curious to see how a GAN could recreate my art, however I am not sure how big of a dataset it would need, and the process would be a bit different. 

Week 14 Final Writing assignment – The AI Daily Prophet” – Lishan Qin

Background

When I was young, I was fascinated by the magic world created by J.K. Rowling in Harry Potter. She has created so many bizarre objects in that world of magic that I still find very remarkable today. “The Daily Prophet”, a form of newspaper in the Harry Potter world, is the main inspiration of my final project. “The Daily Prophet” is a series of printed newspaper that contains magic which allows the image on the printed paper to appear as if it’s moving. It inspires me to create an interactive newspaper with an “AI editor” where not only the images on the newspaper will update every second according to the video captured by the webcam, but also the passage on it will change according to the image. Thus, it will appear as if the newspaper is writing the reports on its own. In short, for the final project, I created a “magic” newspaper with the help of an “AI editor”.

 

Motivation

I’ve always found that the newspaper is a form of artwork. Even though today there are fewer and fewer people who actually take the effort to read the news in a printed newspaper, the design of such an elegant means to spread news and information still fascinates me, which is the first reason why I wanted to develop a newspaper related project. The second reason is that I find that today, even with the development of social media which allows new information to be spread almost every moment and every second, it still requires human people behind the screen to type, collect and then post that news. However, it occurs to me that if there is an AI editor that could document, write and edit the news on the newspaper for us, the real-time capability of spreading information of the newspaper would be even better. Thus, I want to create an interactive self-edited newspaper that asks an AI to write the news about the action of the people it sees by generating sentences on their own. Because the news-paper can do self-editing and writing, which seems kind of magical, it fits well with the Harry Potter Daily Prophet magic theme I wanted to do.

Methodology

The machine learning techniques behind this project is Style Transfer and image caption. In order to make the webcam video appear on the newspaper naturally, I trained several style transfer models on colfax to change the style of the webcam video so that it will fit the color and theme of the Daily Prophet background image I chose. At first, I thought that I can only train the style transfer model one by one, but later I found that I can actually train several models at the same time if I create new checkpoints and models, which can save a lot of time. Then, in order to make the newspaper to generate words on its own according to the webcam image, I used the im2txt model from Runway that Aven recommended for me. The sample code Aven shared with me allows p5 to sent the canvas data to Runway and then Runway can do image caption to these data, generate sentences as results and then send the results back to p5. Even though the model isn’t always giving out the most accurate result, I still find both the im2txt model and Runway to be super amazing and helpful. The technical part of this project is the combination of the style transfer model and the im2txt model.

Experiment

When I first tried to connect the style transfer model I got and the im2txt model together, the outcome wasn’t very promising at all. Even though Runway did generate new sentences and sent them to p5, the words it gave aren’t that relevant to the webcam image. After I looked into the reason behind it, I found that it was because the image data Runway received was the data of the whole canvas. I tried to send only the webcam video data to Runway but it seemed that the video value doesn’t really support the “.toDataURL” function. So I decided to place the newspaper background outside of the canvas and only have the webcam image on the canvas so the only data Runway processed will be the date of the webcam. This improved the outcome of the image caption to a large extent and the words all seem more relevant to the users’ webcam image. However, the results still weren’t exactly perfect because the data of the webcam the Runway received was the style transferred image, and the image caption the model is able to do is still a bit limited, it still often makes mistake when describing the image.

Social Impact

This project is designed to be an interactive and fun means to show people how the AI technology can make “magic” come true in an entertaining way. When I present this project in IMA show, many people excitedly asked me about the techniques behind this project after they interacted with it. As I introduced them about the models I used, they all showed great interest in trying it themselves to learn to apply AI techniques to design artistic or entertaining products. Thus, I hope this project can show people the potential of AI in various filed and encourage them to learn more about the application and techniques of machine learning techniques. In addition, I also think this is a nice try at using AI to be the self-editor of a newspaper.

Demo

https://drive.google.com/file/d/1P2aXo6lBLXIUWQU_GJb2ahmrlTw9xVG6/view?usp=sharing

Further Development

The one feedback I got both from the critics during presentation and guests on the IMA show is that I could try to make the output appear to be more obvious. During the IMA show, I sometimes needed to point it out to people what is changing other than the image on the newspaper. Thus, there are two things I can try to do to improve this project. First, I can try Moon’s idea to make the caption the headline of the newspaper and do a bit of adjustment to the results and made it like “WOW!!! THIS IS A WOMAN SITTING ON A CHAIR!!!”, to make the change more obvious. Second, I can try to do a live writing long paragraph where each new sentence will be put after the previous sentences and make it look like the newspaper is writing a paragraph one sentence by one sentence. I think both changes will look pretty cool, and can make the users interact with this project better.

AI ARTS- Final – Modified Turing Test- Eszter Vigh

AI
Robots are taking over!!!!! Or are they really?

Inspiration

After going to the museum field trip and experiencing the “fake smart house” piece, I knew I wanted to do something engaging.  I met with Aven to discuss a project using a modified “fake” AI Chatbot. 

Motivations

There is something to be said about social cues and the intricacies of human conversation. There is a growing gap between individuals who trust and do not trust technology. This was an idea first introduced to me in my Information Technology in Business and Society course last year, most notably with the: Will Robots Take My Job exploration. There was a project by Google, an AI essentially took the job of being an assistant and made appointments on behalf of the boss.

There is a new face scanning system to get into the building, there is a certain level of distrust with that program too, as many outside of IMA and CS don’t understand the safety mechanisms regarding the program. It is very interesting to see that sort of divide. 

Turing test
Turing Test

Modifications

For an actual Turing test, I would need social science experiment approval. We did not have the time to get that paperwork processed, so as I result I modeled  the setting as an IMA user-test with questions one would normally ask after a user test.

Aven Meeting
Professor Meeting!

So a summary is:

  • Test of a machine’s ability to exhibit intelligent behaviour equivalent to, or indistinguishable from, that of a human (wikipedia)
    • In this case, I will create a Chat-room occupied by myself (masked by the username: AI) and an unsuspecting user tester
  • Data not collected for privacy issues.
  • My “chat bot” was coded in node.js

There was a five question, paper survey. The questions were as follows:

After Use Survey

(type in a greeting to begin chatting)

Date:

  1. How human is it? (0 being not remotely human, 5 being very human) Circle one.

0                1                2                3                4                         5

  1. What was most human about it?
  1. How un-human is it? (0 being it’s not remotely un-human, 5 being very un-human) Circle one.

0                1                2                3                4                         5

  1. What was most unhuman about it?
  1. Would you feel comfortable using this project again? Why or why not?

Method

I used node to create a very simple interface that was easily local hosted. We learned about node in Moon’s Machine Learning Class, so I took the skills I learned in that class a couple days later to actually build this project. It was my first time using node, so I consulted a number of blogs for a guide. The source I linked just before was my favorite!

Next-Steps

I wanted to run the experiment live at the IMA show, but due to three other projects I couldn’t. As it is, I straight up abandoned my project in Leon’s class and didn’t get to talk about it at all. It’s very sad. 

Aven and I talked about showing this in a very different setting. Should the opportunity come to show this, I would be more than happy to. 

If I were to do this again, I would start the approval process for a social science experiment so I can conduct more Turning test-y environment tests. 

Survey- Comments

Answers to question 2:

Humanness
Human-ness

This was exciting!

Answers to question 4:

yikes
Un-human-ness

Apparently, I’m not a good listener 

Answers to question 5:

“Very comfortable”

“It comforts me! :)”

“Definitely!”

“No”

“Yes”

“Yes!”

“Ok, it’s slow”

“Yes, but later”

Overall, users would like to talk to the bot/me again. That was really exciting. I scored an average score of 3.5625 in terms of my human-ness, and a 1.3125 in terms of my inhuman-ness out of 5.

It was interesting because many of the users, knew me… quite well! So it was shocking that they didn’t pick up on my mannerisms, but of course that being said a couple of them questioned whether or not I was just typing out the answers. 

PowerPoint (Final Presentation)

I presented my final project as a powerpoint, where I explained what I had done. My live server wasn’t working, but in theory you can run this project modified with your server information. I have added the code to the end of this.

Modified PowerPoint (As I am not present to explain it)

Code

Week 14: Final Writing Assignment – Ziying Wang (Jamie)

Dancing With Strangers (Xmas Edition)

link: https://www.youtube.com/watch?v=5r9DHl_vM8Y

Background:

Inspired by the upcoming Christmas, I intended to set the theme for my project as this famous festival. In developing my midterm project: Dancing With A Stranger, my final project continued based on the posenet model, yet turning the previous human-figure based on a more abstract reflection of the body movement. Also inspired by the design of Apple Watch, the sports application in Apple Watch has the strokes of arcs that display different values. I, therefore, implement arc designs in my project to reflect the movement of the users’ hands. To further expand the user group, I enable multiple access to the server which allows more than two users to interact with my project at the same time.

Motivation:

The motivation behind this project is that I want to bring people together during a festival that means to reunion with everyone you know. With devices like computers and mobile phones, we get to celebrate the day with other users on the platform. It’s also considering the ones who are not able to reunion with their family and friends for Christmas in person, with this platform, they get to celebrate this festival in the form of music and dances with the company of others virtually. Additionally, after making Dancing With a Stranger for the midterm project, I was determined to create a platform that allows more than two users so a multiple user platform is a must for my project.

Methodology

For building the multi-player platform, I used node.js to create a communal server. To collect and display all the data tracked by posenet model, I went through the following five steps: store the data, the posenet model takes down the 7 coordinates on the upper half of the user, I stored these data into an array called bodyparts. Draw local data: I draw the figure representing the local user first. Emit data: the code sends the local data to the server which holds the collection of all data. Receive data: the code receives the collection of all data uploaded to the server. Display incoming data: the code then draws out the figures of all incoming data. For creating abstract visual for my project, I used the shoulders as the x-axis and the nose as the y-axis, the center point is the center of the figure. I then took the distance of the nose to the shoulders as the 2/3 of the radius for the outer circle and calculated the angle between the hand and the vertical line as the angle for my arcs’ strokes. For the floating Santa, I stored the previous coordinates of every 50 loops in an array and the Santa would follow the stored coordinates, the gifts bursting out of his sleigh use gravity to stimulate the actual falling. For the color palette, I used the theme colors for Christmas. To create the glowing effect around the ring, I layered many circles with different opacity.

Experiments

The road to get the multi-user platform working is rough. I started with Firebase. I successfully uploaded local data and incoming data to the firebase server but I can’t seem to access and retrieve the data from my code. I, therefore, started using node.js to build the platform. The base code I got for node.js enables multiple users to draw on the same canvas with their mouses. The hard thing to do here is that I need to use node.js to create a communal platform that allows access of all users’ webcams. I used https instead of Http and get certificates for the allowance of accessing webcams. After that, I discover that the display of multiple players’ figures is constantly flickering. I therefore separately draw the figure of different sets of data for the incoming data which helps with the flicker problem. For the visuals, I started with connecting all the coordinates to create a contour of the human, but due to the limitation of the webcam, it is never detecting the bottom half of the human body well, I, therefore, abandoned the bottom half and focused on the abstracting of the upper part. That was when the idea of using arcs came to my mind. The angles made by hands, unfortunately, didn’t lead the movement clearly so I had to multiply the angle by a certain integer. The visual part took me a lot of effort to find the best constant to display the figures.

Social Impact

Dancing With Strangers (Xmas Edition) aims at bringing the world’s lonely people together on a platform and celebrate this festival through dancing, music and the company of one another. The world nowadays is closely connected to our personal devices (laptops, mobile phones, etc.). This project takes advantage of the wide usage of these devices and creates the connection among internet users. Digital devices are often accused as obstacles in strengthening personal connections for people are hiding behind their screens all the time, but I consider them as devices that help build more connections, we get to jump out of our relationship circles and into a more public sphere. Dancing With Strangers allows this to happen by enabling everyone with the link to log onto the platform and interact.

Future Developments

For technical problems, I’ll need to create a more artistic background, currently, the background is just black. I will also need to fix the lagging caused by multiple users log in. I would also add in the coordinates of the legs since only moving with all limbs can be considered as dancing, which would require better webcam detection. Also, I would like to custom the platform for mobile phones users, for now, the platform is typically built for pc users, even though mobile phone users can log onto the webpage with chrome, they can’t enjoy the best experiences. I would also prefer to change my project a little bit, which includes simplify the visual and represent each user with a flickering light, if the user dances while logged onto the webpage, his/hers light would be blinking. The user could see themselves as lights on a world map, and each continent has a different color to represent it. The region with the most flickering light has the most people dancing at the same time.

Final Documentation for CartoonGAN – Eric & Casey

Website: https://cartoon.steins.live/

Recap

In the midterm, we have implemented a CartoonGAN on the browser that allows users to upload or take a photo and transform it into a cartoon-like style.  And we have trained two models, one is for Miyazaki and the other is one is for Aku no Hana.

Current Solution

Having done some experiments with generative arts, we decided to continue working on the CartoonGAN project by adding features including GIF transformation, foreground/background only transformation, and exporting the CartoonGAN into an ml5 function/model.

Continue reading “Final Documentation for CartoonGAN – Eric & Casey”