INTIMatic – a net art artwork

Resume
INTIMatic was a net art work. This is the original text of a paper I wrote about it:

“It consists in a series of apps for smartphones and tablets and apps for computers and a webpage where the interactuator is invited to share their photos with other people. These photos are processed by the apps generating a pixel slide over the faces on the photo, generating an automatic intimacy-preserved situation. This is based on the work of “Intimidad Romero”

www.intimatic.com.ar

Developed by: Federico Joselevich Puiggrós / Designed by: UAFC

Source code: https://github.com/ludiccc/

net poetica

Keywords
Intimacy, photography, image processing, facial recognizing.

Identity and Privacy in the Internet

Placing the Internet in the day-to-day life of the human being has implied a change in the relationship between the public and private stuff. The smartphones and personal computers, through their user interfaces, try to produce intimacy feelings to the user. And sometimes the succeed. The information that we send and receive from the social networks is reasonable to be used on a public matter (such as publicity) and normally it is being use. The photos of the marriage of a related or the vacation on the beach, the first day of school, the meeting between the puppy and the baby, are usually posted on the social networks such as Facebook and Twitter with the (correct) intention to be communicated to our friends, to our family. However, part of the inner logic that makes such companies to provide a social network (again, Facebook, Twitter, Linkedin), consists in the idea that the content is provided by the users, not the company. This applications/webpages are just a mask, a container, a vehicle for the users to provide this information, data, entity to the social network. The social network is made by people, but is ruled by companies.

 An example of this vulnerability was the leak of data that happened in Facebook on may, 2011. There were strong versions about an exposure of data on 500 thousand user profiles. This included personal data, private electronic mail, photos and a long etcetera. Another example well known were the reports on Metro France, and Le Nouvel Observateur who talked about private mails from user that sometimes appear on their public walls or public spaces on Facebook. We can still find some traces of this leaks. This information was totally denied by the company.

“Intimidad Romero”, is a net.art work which consists on a Facebook profile of unknown authorship who work an artistic proposal and critics the relationship between the people’s privacy and the social networks.  And also it discusses the influence of digital photography and their distribution 2.0 in relation to the processes of identity.  This proposal is made by placing photos with a frame of pixels over the faces. This frame is placed on the most important part of the photo, and it usually is over a face, but sometimes is over other objects, giving some meaning about the representation. The idea in obfuscating the identity of the image generates the exact opposite, making the user the strong need of see, making an ironic new identity, from that that is not there. As Remedios Zafra mentions on her text “INTIMIDAD” (link), “Intimidad is name, strategy but is also artistic work and, like that, it reminds those artworks from along of the XX century who where defined by it anonymity or its mask. But the network is what makes it singular, what differentiates it from antic pixels. The expositive space on the online world where it lives and where it practices acquires sense”

The project

The “Intimidad Romero” proposal of distort the reality appear to me to something particularly interesting, so I did a first experiment in Processing generating a similar effect using the OpenCV library to detect the faces. This was the first step for continuing the artistic proposal: how can two artists that doesn’t know each other work in a common project?

The project consisted on making an application like INTIMatic, of trying to get to mimic as closely as possible to other commercial applications (like social network Instagram as Polaroid or photographic proposals). This led us, “Intimidad Romero” and me, to consider the possibility of developing INTIMatic, an for personal computers and mobile devices and provide a web page where the photos were published by the users sharing them and making them public . All of these proposals (computer applications, applications for mobile devices and tablets and website) are what we consider the work in this paper. 

Generativity

The automatic image processing , modification , generates a unique photo situation, almost unique that is part of what is commonly evoked as Generative Art . Taking for example the definition of Carlo Zanni , “Generative software art, as it is usually understood today, is artwork which uses mathematical algorithms to automatically or semi-automatically generate expressions in more conventional artistic forms.” Briefly, I will describe the algorithms used for processing the images obtained, however it is good to note here that the idea of ​​the work as an artwork , is completed at that time where the interactors share their pixelated images over the network . That is, the set of applications , whether mobile or desktop , with the website that hosts the photos that have been taking and publishing , is what sustains the project generative . It is true that the definitions of Generative Art , as mentioned above, speak of mathematical algorithms as initial condition for a piece to be considered as belonging to this category, but let me a little poetic license to add at this point that the work itself as a whole, complies with the mandates established by these definitions, to mutate daily with the constant acquisition of new photos by interactors , making the articulation of mathematical algorithms and algorithms could be described as artistic , leading to the generation of a unique and mutable  artwork.

The application

From prototype made in Processing, I continued development using OpenFrameworks, a working environment for the C++ language widely used mostly for performing arts applications and installations.

The OpenCV library allows the detection of shapes from a previous configuration. I mean, it makes possible to do an analysis on an image looking for objects that matches a pattern. In this case, we use the haarcascade_frontalface_alt.xml, a pattern that is trained to detect faces.

I needed to set the following variables:

#include "ofxCvHaarFinder.h"
(...)
class testApp : public ofxiPhoneApp{
(...)
   ofVideoGrabber vidGrabber;

   ofxCvColorImage colorImg;
   ofxCvGrayscaleImage grayImage;
   ofxCvHaarFinder finder;
(...)
};

The ofxCvHaarFinder object is the one that makes all the shape-detect-process. For that, the setup() has to be defined as follows:

//--------------------------------------------------------------
void testApp::setup(){
(...)
	finder.setup("haarcascade_frontalface_default.xml");
	vidGrabber.initGrabber(640,480);
(...)
}

In particular, in the development of INTIMatic, we use the camera on the device on which the application is running, either a computer or a portable device such as a mobile phone or a tablet. Therefore, the detection is performed from the images obtained with that camera.

Firstly, in the update the capture from this images is made:

vidGrabber.update();

The ofVideoGrabber object contains the image information captured by the camera but not in the format required by the library OpenCV to work. Therefore, it is necessary to populate the object colorImg (which is ofxCvColorImage type) with the raw image data obtained:

       colorImg.setFromPixels(vidGrabber.getPixels(),
				vidGrabber.width,
				vidGrabber.height);

The first parameter on the  setFromPixels method is a pointer to the position where the image is stored, the next ones are information about the size of this image.

The OpenCV library handles internally the necessary data conversion when assigning a color image object type to an object of grayscale type. For shape detection, we need to use a grayscale image. The algorithm used, run faster with grayscale images than with color ones.

The update () of a typical shape detection application with the OpenCV library would look like this:

//--------------------------------------------------------------
void testApp::update(){
	vidGrabber.update();
	if (vidGrabber.isFrameNew()){
	       colorImg.setFromPixels(vidGrabber.getPixels(),
	vidGrabber.width,
	vidGrabber.height);
	grayImage = colorImg;
	        finder.findHaarObjects(grayImage, 80, 80);
	}
}

If the ofxCvHaarFinder objects finds shapes on the findHaarObjects method, this information is stored in a list called “blobs”. This list contains the information about position and size of each one of the objects that were detected within the image. The term comes from Binary Large Object (BLOB), and refers to a large sets of information that can be differentiated from the rest, covered by a single entity and used as data. In the image analysis work made by the OpenCV library, BLOBs are the result of the shape search.

In INTIMatic, this information is necessary to determine where and how far will the strip of pixels that cover the faces of users be drawn.

void testApp::draw(){
int minY = 612;
int maxY = 0;
(...)
for(int i = 0; i < finder.blobs.size(); i++) {
            ofRectangle cur = finder.blobs[i].boundingRect;
          if (cur.y < minY) minY = cur.y;            if (cur.y+cur.height > maxY) maxY = cur.y+cur.height;
        }

Assuming that the image capture has a maximum height of 612 pixels, we begin a search for grater and lower position values in the BLOBs detected. Once the top of the higher BLOB and the bottom of the lower one is detected, we begin to draw the band of pixels:

unsigned char * pixels = vidGrabber.getPixels();
       ofFill();
       float sqSize = (maxY-minY)/4;
       for (int x = 0; x < vidGrabber.width; x+= sqSize)
           for (int y = minY; y < maxY-sqSize*2; y+=sqSize) {
               ofSetColor(pixels[(y*vidGrabber.width+x)*3],
                          pixels[(y*vidGrabber.width+x)*3+1],
                          pixels[(y*vidGrabber.width+x)*3+2]);
               ofRect(x,y,sqSize,MIN(sqSize,maxY-y));
           }

At that point, the application is able to send photos that the interactors decide to share to the web server to be shared and published. To make the sending process, we use an HTTP communication library called ofxHttpUtils, which allows the app to send files to a Web application. In particular, we developed a Perl script that performs the following tasks:

1. – Receive the photos that the user sends.

2. – Prepare them for proper display on the page.

3. – Insert in the photo and the information on the database.

4. – Send a tweet with INTIMatic’s Twitter account.

5. – Send an email informing that a photo has been uploaded.

Problems while development 

The development of mobile versions led to a fundamental problem: the processing speed on mobile devices is highly inferior to personal computers , which had to rule out the use of noise generating libraries (blur) on such devices . Taking advantage of the functionality provided by the OpenCV library , the blur generated was only applied to the original image obtained and not the whole image and the band of pixels. Moreover, the fact that the capture of the image being sent is linked to the size of the image on the device screen, made ​​the images sent by some mobile devices were smaller (for example, a square of side 310px version against 611px that the computer version sends) . However, the fact that the application has the ability to be distributed and the installation continues in the pockets of the interactors , is much more attractive , a more intimate relationship between the viewer and the work, as would establishing Felix Gonzalez -Torres.

Conclusions

Since the beginning of the XXI century, we have been presented of a new proposal for those things that have to do with the private-public dichotomy. Certain things that always kept in the personal and private area, goes almost without any question to a more public, more exposed place. This is the case of the photographic records, photo galleries , family photos, which are hung on the walls of social networks like Facebook , and supposedly only access the inner circles . INTIMatic proposes a different view of the public and private space, emphasizing the complexity of speech and simulating the intentional situation in which the masking of faces makes it impossible to recognize a witness, to preserve the identity of somebody, to hide a face. If the major cities’ surveillance systems are ready to automatically recognize faces using complex mathematical algorithms face recognition , why can’t we think on systems that are ready to automatically protect us from that?

Bibliography

“{¿Arte?} Generativo. La Emergencia de lo Imprescindible”, Andrea Sosa, 2011

“Tecnopoéticas Argentinas”, Claudia Kozak, 2012

“INTIMIDAD”, Remedios Zafra, 2012, http://www.remedioszafra.net/texto_Intimidad_RemediosZafra_jun2012.pdf

“Somewhere / Nowhere. Algún lugar/ Ningún lugar Félix González-Torres”, Malba, catálogo de exposición, http://www.malba.org.ar/web/exposicion.php?id=82&subseccion=actuales

“El rostro de las redes sociales”, Roberta Bosco y Stefano Caldana, El Arte en la Edad del Silicio, blogs de El País, 2012, http://blogs.elpais.com/arte-en-la-edad-silicio/2012/05/el-rostro-de-las-redes-sociales.html