1. Mixing Movement and Machine

PoseNet Article

PoseNet Sketchbook

2. Humans of AI

https://humans-of.ai/editorial/

“None of these instances is particularly concerning in itself. What I am suggesting is that, as a result, COCO represents more than images of objects. It captures a logic of how things should be connected: In this world, umbrellas should be in toilets, and cats in sinks. Innocent, sure. The looming question is whether data or the artificially intelligent system that learn from them, in their far-reaching entrenchment within people’s lives, are ultimately able to instill their logic in the minds of people subjected to their algorithmic world views.”

Images grabbed by COCO are 1D, void of any context, copyright, stories, background…

3.1 BodyPose: Red Nose

RedNose.mp4

Nothing crazy, tried replicating the same red nose shown in class

let bodyPose;
let video;
let poses = [];
let connection;
let noseObj;

function preload() {
  bodyPose = ml5.bodyPose();
}

function setup() {
  createCanvas(640, 480);
  video = createCapture(VIDEO);
  video.size(640, 480);
  video.hide();
  bodyPose.detectStart(video, gotPoses);
}

function gotPoses(results) {
  poses = results;
}

function draw() {
  image(video, 0, 0, width, height);
  pose = poses[0];
  fill(255, 0, 0);
  // MUST CHECK FOR UNDEFINED FOR ARRAY
  if (poses.length > 0) {
    noseObj = pose.nose;
    circle(noseObj.x, noseObj.y, 100);
  }
}

3.2 BodyPose: The Trolley Problem

The classic trolley problem – a thought experiment that forces us to confront deep social, moral, and philosophical dilemmas. In reality, few of us have the luxury to ponder such complex issues in our day-to-day lives. But here’s your chance! Take a moment, shake your head around while you wrestle around the values of collectivism versus individualism, and before you know it, everyone’s dead.

https://editor.p5js.org/XXHYZ/sketches/UT2lgRjkH

Trolley.mp4

I grabbed the Y position of both my ears to simulate the effects of head tilting, then compared these two values to drive the trolley to either the five people on the left, or that one poor guy on the right. The only ending to this little sketch seems to be ramming the trolley on both of them.

 // MUST CHECK FOR UNDEFINED IN ARRAY
 if (poses.length > 0) {
    // The image is mirrored, so r_ear = left_ear
    r_ear = pose.left_ear;
    l_ear = pose.right_ear;
    circle(r_ear.x, r_ear.y, 60);
    circle(l_ear.x, l_ear.y, 60);
    // If right ear higher than left
    if(l_ear.y > r_ear.y) {
      acc_x = -0.1;
      fill(0, 255, 0);
    }
    // If left ear higher than right
    else if (r_ear.y > l_ear.y){
      acc_x = 0.1;
      fill(255, 0, 0);
    }
    else {
      acc_x = 0;
    }
  }

4. Open Sourcing the Origin Stories

Open Sourcing the Origin Stories: The ml5.js Model and Data Provenance Project