An AI rode along with the Pittsburgh Police for 13 hours. What might we learn?

Trigger warnings! Violence. Karens. Dead people. Hurt dogs. Racism.

During street protests in 2020, the police behaved especially erratically: their motorcycle gangs lurked out of sight, then would pounce without warning. They would snatch protestors into unmarked white vans. They would demand we move out of the roadway and into Mellon park, and then claim the park was closed, and pepper spray us and arrest us for trespass.

I began to listen to police radio while at the protests, to predict the police so as to protect the most precarious among us. For example, my international student friends couldn’t afford to be arrested, for fear of them being deported. So we’d hopefully have a heads up with a pounce was imminent.  I also heard them make fun of our protest and its cause: Black lives.

***

Image

Carnegie Mellon partnered with the Pittsburgh Police to develop and deploy predictive policing software, using racist historical “crime” statistics to predict future crime. This was used to send police into “hotspot” disproportionately Black neighborhoods. After outcry, CMU claimed that the algorithm did not consider race as a factor, not fooling our history students who will tell you that racist laws lead to residential segregation, and our machine learning students who will tell you that therefore, under the blind eyes of machine learning, location is race .

***

So I built a system to record police scanner audio, used machine learning to transcribe it, and built a system to allow you to automatically search keywords and extract associated audio clips. I then fought with OpenAI’s Whisper to transcribe this – this is where most of my time was spent.

***

November 20th, 2022 was a cold day. At 8:25AM, it was about 20F, and fairly windy. I pressed the button to begin recording – and left it alone for  13 hours and 24 minutes.

 

 

****

06:18:55 – 06:19:00 “There’s no description of the male other than him being a black male.”

I wanted to know how police hear and speak about people. Predominantly and entirely unsurprisingly, individuals are collapsed into a gender and race description:

               white:        Black:        total
Male:          8             9             95 
Female:        1             5             81
total:         38            43

Read all transcript snippets containing white, Black, male, or female here.

 

***

But also the more benign: dogs?

We hear about lost dogs, found dogs, threatening dogs, and threatened dogs. Read all dog transcript snippets here.

***

But like many beholders of algorithmic systems with a wealth of imperfect data, I struggle to know what meaning to intuit from it. Therefore, instead of presenting this as a finished piece, my canvas on which the last brush stroke has been cast, this is much more humble: a tool, for two people to make meaning together. This collaborative process is also in response to talking with Kyle McDonald, who suggested this become a tool for others to use, rather than a medium for a particularly situated “artist”.

I draw upon the feminist theorist Donna Haraway, and her notion of Situated Knowledges. Instead of attempting to assert a “view from nowhere”, instead: “feminist objectivity means quite simply [speaking from our] situated knowledges“. The result is knowledge that is “partial, locatable, critical” and much more honest than the once and for all facts declared in positivist science.

Under this tradition of ML, it makes sense to approach this as an epistemologically interpretive process – a far cry from the unwitting positivism of implied by the machine learning papers I read – and expect meaning to emerge through intersubjectivity. This then becomes an interactive, collaborative art piece, for people to make meaning together. This allows “located accountability” in technology production, that is, it allows us to be be known as the source of our knowledge claims, allows a discursive process to unfold, instead of presenting evident “truth” or “reality”.

***

Link to live demo. 

How to use this:

  1. Press CMD+F, and search for a term.
  2. Click the link in the “Link” column
  3. Leave an anonymous comment. What does the snippet mean to you? What situated knowledge leaves you
  4. Respond to another’s comment. What intersubjectivity do you share? What don’t you?

 

Qixin‘s Final Project

Centri-Petal

time-based & mix-media art

Qixin Zhang, Dec 2022

I am interested in the “in-between” of natural/organic/physics movement (in this case, water movement / turning movement / glass reflection) and technological/synthesis/computational movement (slit-scan program, light changing pattern). How water/waves/light/reflectin move/ how pixel move.

Experiment & exploration of a workflow – integrate Japanese ink painting skill suminagashi (including the process, the result) /  other live image making, and visual for live performance.

set-up:

mounted camera – cake stand – laptop – touchdesigner – projector

night version:

slit scan has an element of time: glass with smooth light changing pattern

strobe light, with sound

 

change light direction

 

day version

suminagashi : With ink and water spread out, it creates a figure-ground relationship and temporal relationship. slit scan :direction of the movement and time. 

 

result on paper:

 

Special thanks: STUDIO of Creative Inquiry, Prof. Golan Levin, Prof. Nica Ross, Kyle McDonald, Matthias Neckermann

 

 

 

 

 

 

 

 

Final Project – Passers-by Palette

This interactive art project uses kinect and openframeworks to capture the patterns on participants’ clothes as a 3D point cloud mesh.

Original idea and set-backs:

The project originally hoped to capture the most saturated color of a participant’s wearing and imprint these colors onto a palette. However, random artifacts introduced by Kinect would produce incorrectly highly saturated colors. So the idea was updated.

Set-up and Process:

The project uses Kinect to detect people within a distance of 500 to 1500 mm (0.5 to 1.5 m) and to produce point cloud information. Using openframeworks, the point cloud information can be drawn on canvas in real time.

 

The code allows the program to take a “screenshot” of the current window. Then, using ofxCv from kylemcdonald addon, the program can detect and contour out an area of some specific hue. By choosing wanted hue and adjusting tolerance threshold, the program can grab an area of pattern on the detected person. It then adds the current wanted patterns to a public ofMesh variable Imprint. 

 

 

 

 

 

This interactive project therefore allows creating an imprinted point cloud collage of clothing patterns.

Suminagashi x Slit scan 

My interest is in between natural/organic/physics movement and technological/synthesis/computational movement.

Suminagashi is Japanese-style ink painting. With ink and water spread out, it creates a figure-ground relationship and temporal relationship. Slit scanning is also about the direction of the movement and the direction of time. So I wonder what happens when two collide. How water waves move/ how pixel move. What’s the relationship? Or do I create a new relationship?

Final Project – Across Dimensions

What: I’m going to use depth analysis to create a “3D version” of 2D printings – which can create a different perspective to experience the paintings in the museums.

Technique: Depth Analysis + Blender

depth analysis can create a really interesting outcome with perspective drawings.

– Test 1

Test2: Edward Hopper

These are some rough drafts I created and tested. One problem is that they are somehow ragged, and might need further editing with the surface details.

I vision the final project could be 1. a combination with AR techniques that people can dynamically viewing the model from multiple perspectives or 2. Transport the blender to unity for 360 experience.

 

 

Hunan – Misc Experiments

I’ve been playing around with a few things unrelated to the deliverables and at Golan’s request, will put the results here.

Slitscanning(ish) (slow motion)Video

Algorithm: for the i-th column of the video, take every i-th frame of the original video. (e.g. the right-most column is playing at c * 1024 FPS and the left-most column is playing at c FPS for some constant c.) Hold the last frame if a given column runs out of frames.

Shot on the edgertronic.

Digital NIR false color

The goal is to recreate the look of Aerochrome using a NIR digital camera.

Algorithm: take two photos of the same scene, one with IR high pass filter and a low pass filter. The first one with the low pass is a regular RGB photo and the high pass will give 1 NIR channel (effectively). Then use NIR channel for R, R for B, B for G in constructing a new image.

excap2 postcrit

(note: I turned in a rushed version of this project with garbage documentation and someone in crit felt they needed to absolutely obliterate me, so I spent the next two days putting together something I feel dignified presenting. That’s why the recording was posted two days after the project deadline).

I make music through live coding. Explaining what that entails usually takes a while, so I’ll keep it brief. I evaluate lines of code that represent patterns of values. Those patterns denote when to play audio samples on my hard drive, and with what effects. I can also make patterns that tell the system when to play audio from a specified input (for example, when to play the feed coming from my laptop mic). Bottom line, everything you hear is a consequence of either me speaking to a mic, or me typing keys bound to shortcuts that send lines of code to be evaluated, modifying the sound. I have many many shortcut keys to send specific things, but it all amounts to sending text to an interpreter.

Here’s a rough diagram of my digital setup

neovim – text editor
tidalcycles – live coding language/environment
supercollider – audio programming language/environment
osc – open sound control

If you’re interested in the details, feel free to reach out to @c_robo_ on instagram or twitter (if it’s still up by the time you read this).

Anyway, this setup is partially inspired by two big issues I see with contemporary electronic music.

The first is the barrier to performance. Most analog tools meant for electronic music are well engineered and fully intended for live use, but by their nature have a giant cost barrier associated with them. Anyone can pirate a digital audio workstation, but most digital music tools are made prioritizing composition. If they’re made also for performance like ableton live, they usually have some special view suggesting the use of a hardware interface to control parameters more dynamically, which to me is just another cost barrier implicitly refuting the computer keyboard as a sufficiently expressive interface for making music. This seems goofy to me, given how we’ve reduced every job related to interfacing with complex systems to interfacing with a computer keyboard. It’s come out as the best way to manage information, but somehow it’s not expressive enough for music performance?

The other problem is that electronic music performance simply isn’t that interesting to watch. Traditionally, it’s someone standing in front of a ton of stationary equipment occasionally touching things. In other words, there are no gestures clearly communicating interaction between performer and instrument. Live visuals have done quite a bit to address this issue and provide the audience something more visually relevant to the audio. Amazing stuff has been done with this approach and I don’t mean to diminish its positive impact on live electronic music, but it’s a solution that ignores gesture as a fundamental feature of performance.

400 words in, and we’re at the prompt: electronic music performance has trouble communicating the people in time actually making music. What the hell do they see? What are their hands doing? When are they changing the sound and when are they stepping back? To me, live coding is an interesting solution to both problems in that there are no hardware cost barriers and “display of manual dexterity” (ie. gesture) is literally part of its manifesto. I don’t abide by the manifesto as a whole, but it’s one of a few components I find most interesting given my perspective.

This is an unedited screen recording of a livecoding performance I did, with a visualization of my keyboard overlayed on top (the rectangles popping up around the screen are keys I’m pressing). I spent the better part of two days wrangling dependency issues to get the input-overlay plugin for obs working on my machine. Such issues dissuaded me from experimenting with this earlier, but I’m incredibly happy that I did because it’s both visually stimulating and communicates most of the ways through which I interact with the system.

The sound itself is mostly an exploration of feedback and routing external sound with tidalcycles. I have sound from the laptop going  through a powered amplifier in my basement picked up again going back into the system through my laptop mic. You can hear me drumming on a desk or clicking my tongue into the mic at a few points (to really make sure a person is expressed in this time, cause I know y’all care about the prompt). I also have some feedback internally routed so I can re-process output from supercollider directly (there’s a screen with my audio routing configuration at 1:22).

Not gonna lie, it’s a little slow for the first minute but it gets more involved.

CONTENT WARNING: FLASHING LIGHTS and PIERCING NOISES
(best experienced with headphones)

Human In Time – The Silhouette

Interested in Bauhaus’ study of geometry shapes done by Oskar Schlemmer, I want to study more about the relationship between abstract geometry and the human body.

This project is a person dancing,  wearing different forms of geometry on their body, improvising to a piece of music, and trying to express their feeling with the shapes they are wearing.

I played with the frame rate and the transparency of the video .

 

Challenges:

  1. The silhouette of the human body can distract people’s attention on the geometry shapes.
  2. The original videos are too large for my computer to process so only a few short clips are successfully edited 🙁