William Su-Looking Outwards-01

Pix2Pix is a creative application for artificial intelligence that takes a crude line drawing and tries to apply realistic textures to it.

Link to the web tool: https://affinelayer.com/pixsrv/

Christopher Hesse, the cofounder of pushbullet made an interactive tool using a Tensorflow port of pix2pix. The pix2pix model works by training on pairs of images with one set of them containing labels. It then attempts to generate the corresponding output image from any input image you give it.

I especially love the rewarding and quite hilarious aspect of it. It’s quite interesting to see how close the model can recreate what you’re trying to draw or how badly it failed at doing it.

Taken from the Verge’s article on pix2pix.

Obviously this points to the topics surrounding the uses of machine learning and AI. While having the potential to be used for interesting and quite useful ways, it also has the potential to be used in a nefarious manner.

References:

Christopher Hesse’s pix2pix tool: https://affinelayer.com/pixsrv/

Verge Article: https://www.theverge.com/tldr/2017/6/6/15749754/pix2pix-auto-fill-neural-network-images-portraits

William-Su-Project-01

William Su – Project – 01

// William Su
// Section E
// wsu1@andrew.cmu.edu
// Assignment-01-b



function setup() {
    createCanvas(600, 600);
    background(250,0,0);
}

function draw() {

	let skin = color('#FFD7AD');
	let w = color(255, 255, 255);
	let b = color(0, 0, 0);
	let g = color(100, 100, 100);
	let br = color('#654321');

	fill(w);
	ellipse(300, 600, 400, 500);

	fill(skin);
	ellipse(300, 300, 200, 250);

	fill(w);
	ellipse(260, 280, 40, 25);

	fill(w);
	ellipse(340, 280, 40, 25);

	fill(br);
	ellipse(340, 280, 20, 20);

	fill(b);
	ellipse(340, 280, 10, 10);

	fill(br);
	ellipse(260, 280, 20, 20);

	fill(b);
	ellipse(260, 280, 10, 10);

	fill(g);
	beginShape();
	vertex(200,280);
	vertex(220,190);
	vertex(260,190);
	endShape();

	beginShape();
	vertex(400,270);
	vertex(380,220);
	vertex(320,190);
	endShape();

	fill(b);
	beginShape();
	vertex(380,220);
	vertex(360,190);
	vertex(340,170);
	vertex(210,160);
	vertex(220,170);
	vertex(210,180);
	vertex(220,190);
	vertex(205,200);
	vertex(305,210);
	endShape();
}

With this project, I utilized ellipses and custom polygons. I set a couple variables for the colors to make it easier for myself to set fills.