domingo, 15 de julio de 2012

MAQUINA DE GESTUALIZACION DE GUSTOS






Lorsque l'âme est agitée, la face humaine devient un tableau vivant où chaque mouvement de l'âme est exprimé dont l'impression vive et prompte devance la volonté, nous décèle et rend au dehors, par des signes pathétiques, les images de nos plus secrés agitations.”[1]
Buffon, Histoire de l'homme.

Según la omnireferenciada wikipedia (no siempre citada pero sospecho que casi siempre consultada) “Kant determina que el juicio estético es siempre bajo conceptos subjetivos”[2], idea que ha permitido en el arte post-kantiano la convivencia de multiplicidad de manifestaciones de las que somos testigos atónitos. Sin embargo, también es propio del mundo del arte la búsqueda de unas normas universales que rijan, así sea de manera muy general,  el fenómeno de la creación estética; desde los análisis de Kandisky hasta Harold Cohen y Aaron[3] parece existir una tendencia encontrar la fórmula, el algoritmo de la creación estética, el algoritmo de la propia estética. Así mismo existen estudios sobre la configuración de lo agradable y lo atractivo (que según Kant serían las formas más bajas e impuras de juicio estético), todos estos son intentos de encontrar la matemática detrás de lo inasible y cambiante del gusto[4]. En realidad parece ser que desde que existe la fantasía maquínica existe la fantasía de construir un reemplazo para las funciones del ser humano, desde los autómatas descritos por Herón de Alejandría, hasta Asimo[5], pasando por Deep Blue[6] existen personas empeñadas en construir una máquina capaz de realizar las más complejas tareas humanas y de alguna manera sobrepasarlas, ya sean estas tareas físicas o intelectuales con fines prácticos o no. Ahora bien, ¿acaso todo este empeño no podría imaginarse como un deseo humano de desembarazarse de responsabilidades?¿para qué jugar ajedrez si una máquina puede aprender mil veces más rápido que yo y derrotar al campeón mundial de ajedrez?¿para qué volver a pintar y lidiar con los errores y la insatisfacción si un software puede hacerlo por mí y yo sólo me dedico a filtrar lo que sirve y lo que no?... ¿para qué molestarnos siquiera en escoger lo que es arte y lo que no?... ¿podría decir una máquina que algo le gusta?... y si así fuera ¿cómo podría decirlo de manera efectiva?


Aaron/Harold Cohen, 0305-08.
















El movimiento del rostro es una manera eficaz de comunicación, es la interfaz por defecto del ser humano, las otras se instalan con el paso del tiempo; en todo caso, existe un trabajo muy interesante del neurólogo francés Guillaume-Benjamin-Amand Duchenne, titulado Mécanisme de la physionomie humaine, ou analyse électro-physiologique de l'expression des passions, en el que el científico planteaba, entre otras cosas, que en las expresiones faciales, como sistema de comunicación universal entre los humanos, se presenta una imagen precisa de las ‘emociones del alma’ y que la fealdad física podría ser superada o por lo menos atenuada por una ‘expresión’ bella, para demostrarlo decidió estimular los músculos por medio de electricidad para comprender cómo éstos se configuran para generar una expresión que transmita de manera ‘verdadera’ tal o cual ‘emoción del alma’. Siguiendo con este orden de ideas, ¿qué mejor manera de expresar la experiencia de lo verdadero en el arte[7] si no es a través de la verdadera manifestación del alma?¿y qué obra de arte más perfecta que la figura humana?¿y qué mejor manifestación del equilibrio entre fondo y forma que la más verdadera manifestación visual  del propio estado del alma? El rostro, un rostro que juzga rostros… perdón, corrijo, un rostro que aparenta juzgar rostros.




La MAQUINA DE GESTUALIZACION DE GUSTOS es una obra escultórica reactiva que simula la emisión de juicios estéticos por parte de un rostro en látex que realiza gestos rudimentarios gracias a un servomotor unido a puntos clave del rostro por medio de hilos. Los juicios son emitidos gracias a una aplicación desarrollada en Processing y que se vale de la librería Face Detect para analizar las imágenes donde se encuentren rostros y emitir una señal de gusto o disgusto por medio de la comunicación serial con el microcontrolador ATmega328  instalado en una placa de Arduino, éste a su vez moverá un servo-motor que hará que una máscara en látex manifieste placer o displacer a través de gestos simples, todos los juicios de gusto se generan dependiendo de parámetros arbitrarios.










[1] “Cuando el alma se agita, el rostro humano se transforma en una pintura viviente en la que todos los movimientos del alma se expresan y cuya impresión se adelanta a la voluntad, detectamos y exteriorizamos, por los signos más patéticos, las imágenes de nuestras más secretas agitaciones.” en: Duchenne, Guillaume Benjamin. "Mécanisme de la physionomie humaine, ou analyse électro-physiologique de l'expression des passions." Paris: Jules Renouard, 1862. Pág. 8 (http://www.biodiversitylibrary.org/item/106366/#page/294/mode/1up)
[4] Con esto no sólo me refiero a la idea de bello que evidentemente cambia de una cultura a otra y/o de una época a otra, sino también a la misma idea de lo bello en el arte, o de lo que se considera arte en sí; vale la pena recodar, sólo a manera de ejemplo, que hasta finales del siglo XIX la estatuaria africana era considerada como monstruosa, horripilante y primitiva (esto último se lo consideró hasta bien entrado el siglo XX) y bajo ningún concepto se podría considerar Arte (con A mayúscula como diría Gombrich), opiniones divergentes a las que se le podrían adjudicar a Picasso, Modigliani o Baselitz; y desde hace ya varias décadas dicha expresión se ha ganado su capítulo, aunque corto, en la Historia Universal del Arte.
[7] Más sobre este particular en: Heidegger, Martin. El Origen de la Obra de Arte. 1950. (http://www.heideggeriana.com.ar/textos/origen_obra_arte.htm)

miércoles, 4 de julio de 2012

máquina de juicios estéticos

La idea es construir un simple animatrónico que sonría o muestre un gesto de disgusto dependiendo si la imagen ante él le parezca 'arte' o no, según su gusto. Para lograr esto se utilizarían descriptores que analicen la imagen y 'reconozcan' si lo que tiene el animatrónico ante sí es arte o no. En una primera instancia se trabajará con reconocimiento de rostro para emitir juicios sobre los diferentes rostros que puedan estar frente al animatrónico.

Primero que todo se debe analizar imágenes para tratar de determinar alguna diferencia entre lo 'bello' y lo 'feo'.

FaceDetect

Datos

Img # de Piexeles R G B Grises
beau 18305,26 165,03 156,51 150,52 157,35
boni 13692,52 166,88 154,22 142,13 154,41
fe 14928,08 141,24 138,04 135,85 138,38
ug 14793,62 167,98 157,55 147,37 157,63


A partir de estos datos se toma una decisión, al fin y al cabo la decisión (como todas las decisiones de gusto) es arbitraria, evidentemente se hace a partir de los datos extraídos de fuentes externas, pero arbitrarias al fin.

El código:

    import codeanticode.gsvideo.*;
import pFaceDetect.*;


GSMovie cam;
PFaceDetect face;
PImage img;
PImage cara;

PrintWriter output;

color ca;
float ra, ga, ba;
color cp;
int t;
float subtotalr, subtotalg, subtotalb, totalr, totalg, totalb;
float promedior, promediog, promediob, promgris;

void setup () {

  size (320, 240);
  background (0);

  output = createWriter("valores.txt");

  cam = new GSMovie (this, "beautiful_.avi");
  //cam.loop();
  cam.play();
  while (!cam.available ()) {
    cam.read();
  }
  face = new PFaceDetect (this, width, height,
  "haarcascade_frontalface_default.xml");

  //cam.play();

  img = createImage(width, height, RGB);

  rectMode(CORNER);
  noFill();
  stroke(255, 0, 0);
  smooth();
  //noLoop();
}

void draw () {

  if (cam.available() == true) {

    cam.read();


    image (cam, 0, 0, width, height);
    face.findFaces (cam);

    drawFace();
  }

  t++;
  //println(t);
  if (t==340) {
    output.flush();
    output.close();
    exit();
  }
}


void drawFace() {


  int [][] res = face.getFaces();
  if (res.length>0) {
    for (int i=0;i<res.length;i++) {
      int x = res[i][0];
      int y = res[i][1];
      int w = res[i][2];
      int h = res[i][3];
      rect(x, y, w, h);
      int bx = x+w;
      int by = y+h;
      cara = createImage(w, h, RGB);
      //cam.loadPixels();
      //cara.loadPixels();
      int p=0;
      float[] sumar = new float [w*h];
      float[] sumag = new float [w*h];
      float[] sumab = new float [w*h];
      for (int b=y;b<by;b++) {
        for (int a=x;a<bx;a++) {
          cam.loadPixels();
          cara.loadPixels();
          //int p=0;
          int ss=b*w+a;
          ca = cam.pixels[b*w+a];

          ra = red (ca);
          ga = green (ca);
          ba = blue (ca);
          sumar[p] = ra;
          sumag[p] = ga;
          sumab[p] = ba;
          cp = color (ra, ga, ba);

          //output.println(ss+";"+ra+";"+ga+";"+ba+";");
          //output.println("otro pixel");
          cara.pixels[p]=cp;
          cara.updatePixels();
          p++;
          //ca = cam.get(a,b);
          //cara.set(a,b,ca);
        }
        //output.println("fila");
      }
      image(cara, 0, 0, w, h);
      cam.updatePixels();
      //output.println("otra cara");
      output.print(w*h+" ");
      for (int l=0;l<(w*h)-1;l++) {
        subtotalr=sumar[0];
        totalr=subtotalr+sumar[l+1];
        sumar[0]=totalr;
        subtotalg=sumag[0];
        totalg=subtotalg+sumag[l+1];
        sumag[0]=totalg;
        subtotalb=sumab[0];
        totalb=subtotalb+sumab[l+1];
        sumab[0]=totalb;
      }
      promedior = totalr/(w*h);
      promediog = totalg/(w*h);
      promediob = totalb/(w*h);
      promgris = (promedior+promediog+promediob)/3;
      output.println(promedior+" "+promediog+" "+promediob+" "+promgris);
      //cara.updatePixels();
    }
  }
}

/*void keyPressed() {
 output.flush();
 output.close();
 exit();
 }*/

claudicar

esfuerzos infructuosos de utilizar motores paso a paso reciclados...


un par de referentes...




lunes, 2 de julio de 2012

interfaz de juicios estéticos

Esquema de interfaz de juicios estéticos.

pensar...









Cambio de dirección



El ouroboros, al parecer, resulta ser un monstruo conceptual demasiado grande y hay que cortarlo por la mitad, o la discreción de lo infinito y lo posible en las imágenes de pantalla, o el abordaje del problema del gusto y el juicio estético....


ouroboros

Resumen del Pecha kucha, conato de obra electrónica.

Después de la lectura de "E universo en una cáscara de nuez" de Stephen Hawking pensé en un pequeño fragmento en el que Hawking habla de la ciencia como un modelo que describe el universo y es capaz de predecir acontecimientos. Me llamó mucho la idea de modelo descriptivo ya que ésta se encuentra de alguna forma emparentada a la idea de representación, así que de manera bastante irresponsable se podría pensar en la ciencia como una forma de representación, y como tal, sujeta a interpretación. Cavilando sobre estos temas se me ocurrió que de manera gráfica se puede describir/representar el universo en toda su complejidad por medio del simple recorrido de todos los valores posibles de todos los pixeles de una pantalla a una resolución determinada, y que en esa representación total del universo entrarían también toda representación de toda obra de arte que ha existido y que pueda existir; como la interacción con la mayoría de las obras de arte (se esté interesado en el arte o no) se realiza de manera mediada (sobre todo por pantallas) entonces la creación de nuevas obras de arte sería intrascendente... y si, Jim Campbell ya lo hizo (The End, 1996). Evidentemente nadie se quedará esperando a que aparezca una obra de arte ante sus ojos, el proceso de creación de las imágenes sería demasiado largo y en todo caso el cambio de una imagen a otra sería demasiado lento para que cualquiera pueda apreciarlo o tener la certeza de lo que efectivamente está sucediendo; para evadir este problema simplemente se crea una máquina cuyo objetivo sea "observar" las imágenes que se producirían en la pantalla y "juzgaría" qué imágenes serían "interesantes" y cuáles no. Este aparato emisor de imágenes y este otro "juzgador" serían los que conformarían en ouroboros, una máquina del arte por el arte.


Uno de los intentos frustrados de crear un sketch en processing que fuera capaz de producir todas las imágenes del universo.

Otro de los intentos frustrados, aunque sea difícil de creer éste es un intento más avanzado que el anterior.

Esta sería una aproximación a la originalísima solución final.