More selected projects

Displacement

Displacement is an interactive piece that explores how technology and art can be used as an escape method during periods of global crisis. It combines live streams from public cameras and web cameras attached to a personal computer.

produced by: Marina Cardoso

 
Concept

My interest in datamoshing and video manipulation in real-time, as well as early computer vision experiments consequently lead me to adopt this specific type of interaction for the project. Works from video art pioneer Nam June Paik such as Good Morning, Mr. Orwell (1984) and Camille Utterback's Come to Pieces (2001) were a great inspiration for the artwork.

Additionally, following the recent developments regarding the COVID-19 pandemic and the current global situation, I felt like the subject matter should be addressed in the project. In most global metropoles and medium to large scale cities which are now under lockdown, citizens have had to adapt to a new lifestyle of social distance and isolation. With the inability to leave our homes during an unprecedented quarantine, I thought of using technology to create a real-time connection between the indoor environment with the outside world. 

I decided to combine live streaming of IP cameras from different locations abroad with live footage from a built-in webcam and another external webcam (in my case a Playstation 3 Eye Camera) attached to the computer. The built-in webcam detects one's movement and draws motion differencing with images from the second camera. The result is a kitsch/glitch-looking composition of the three overlaying footages.

 

Technical

The project was entirely created using openFrameworks. During my research, I came across the ofxIpVideoGrabber addon that allows capturing live streams from security cameras. Since the addon only accepted MJPEG (Motion JPEG) cameras, I had to Google search using specific keywords such as "inurl:axis-cgi/mjpg" for this type of CCTV. I was interested in finding public landscapes rather than private settings. In the end I was able to find three public cameras that met my pre-established requirements. One peculiar fact is that most of these cameras do not contain enough information about their locations, which added an intriguing aspect to the project. The IP images are drawn in the background, and the URLs are placed inside of a JSON file that the program will read.

For the webcam interaction, I have used the OpenCV addon as well as the Motion Detection example from the book Mastering openFrameworks: Creative Coding Demystified. Instead of displaying the four steps of motion extraction, the program only draws motion areas. Therefore, the pixels are only drawn if someone (or something) moves in front of the webcam. I have set the threshold and buffer damping values in a way to generate a trail effect.

The key element of the piece is when the pixels from the PS3 camera live footage are drawn over the motion differencing pixels, combining two different cameras into one object and creating a disorienting effect. The idea came from the Video Synthesizer example also from Mastering openFrameworks. I used the ofxPS3EyeGrabber addon to set and draw the camera. To add a vibrant feature I've also replaced the pixel colours. Every time the program runs a new random colour palette is drawn. Considering that the project only allowed one type of interaction, I have decided to trigger the IP cameras to change every 60 seconds by using the ofGetElapsedTimeMillis() method.

 

Future development

Considering the ongoing global scenario, the work being accessed through personal computers is meaningful. However, in the future, I would like to do a larger scale interactive installation using a projector. I think it would be more rewarding for viewers to interact with the piece in groups, on a bigger screen.

 

References

Electronic Arts Intermix. Good Morning Mr. Orwell. Available at:  https://www.eai.org/titles/good-morning-mr-orwell

Levin, Golan. Image Processing and Computer Vision. Available at: https://openframeworks.cc/ofBook/chapters/image_processing_computer_vision.html

GitHub. ofxIpVideoGrabber. Available at: https://github.com/bakercp/ofxIpVideoGrabber

GitHub. ofxPS3EyeGrabber. Available at: https://github.com/bakercp/ofxPS3EyeGrabber

Perevalov, D. (2013). Computer Vision with OpenCV. Mastering openFrameworks: Creative Coding Demystified. Birmingham: Packt Publishing, pp. 249-255.

Perevalov, D. (2013). Working with Videos. Mastering openFrameworks: Creative Coding Demystified. Birmingham: Packt Publishing, pp. 120-123; 132-136.

Utterback, Camille. Come To Pieces. Available at: http://camilleutterback.com/projects/come-to-pieces/