The goal of this assignment was to take the patches developed for the Farfalle workshop and adapt it to a IR camera and projector set up in the lab using computer vision.
The camera feed was collected using Processing and sent to Isadora through Syphon.
In Isadora, I made a patch to figure out computer vision with background subtraction. The first thing to do was use Zoomer so the projection space plus a little extra was captured.This then went to a Freeze actor to grab a frame of this image when the stage was empty. This went into an Effect Mixer with the unfrozen but zoomed feed, set to difference. This information all went into Eyes, which could track the location of one person(or blob) moving around the stage. I copied this into a couple of my Farfalle patches, and then mapped the location values to correspond to the projection when someone was walking inside it. I did not do all my patches as there were too many. I had the problem that when under the projection I would cast a shadow, which made it harder to see the effect of the patches. This was especially noticable as the projected surface was smaller than it was in the Farfalle workshop. Some patches felt better to move around under, especially if it had some constant movement and involved the whole of the stage rather than being focused on the location of the person onstage.
I used the Processing code provided in class unchanged for sending the IR camera feed via Syphon to Isadora.
The Isadora patch I made can be found here:
https://github.com/thatgracehuang/Sensors-Body-Motion/blob/master/Farfalle%20modified%20.izz
A video:
I was able to detect two objects using Eyes++ as well, though I had the issue of the blob number being identified constantly changing and jumping between blobs, making it hard to maintain 1 blob to grab a location from. I fixed this by decreasing the number of objects to 2. I do wonder if there’s a way to have this actor default to blob 1 if no other blobs are detected.
Here are the two chairs on the stage:
Here they are on Isadora as two separate blobs:
I didn’t do anything with this however, as I didn’t have any patches capable of using two objects (without freaking out).
Great documentation! Let’s one or two of these set up on a computer and running in the lab for people to play with!