Sunday 25 April 2010

Final Project: Social Interactions and Proximity

Final Project: Social Interactions and Proximity

The group have finally came up with a decision to create a project through the subjects of social interaction and personal proximity using Arduino, Flash and Projection technologies. We have initially realised that by using Arduino tools such as the boards and attachments, we will be able to create various equipment which will be vital in helping us with social interacting with the people of Stonehouse along with testing their personal spaces and their proximity limits.

The reasoning for our decision to conduct a project based on social interactions is mainly because of the fact that we didn't feel too welcome in the area. In our chosen location (Royal Williams Yard) we will try and convert this area of living into a social area which will improve social interactivities in this part of Stonehouse. This will hopefully transform this part of Stonehouse into a busy, social and lively place. It may even draw all three social groups Wealthy, Working and Lower classes together to become more of a social unit than what it is now.

Information

Chosen Location: Royal Williams Yard

This project will explore the ideas of social interaction through processes of projection and proximity.

Required Software/Hardware:

Arduino Board
(Wireless) Webcam
Infrared Sensor
Laptop
Projector
(Capture Card)
Flash Processing


To make the social interactions work, we will need to use these tools to increase the adaptability in this subject area. An infrared sensor will be used to track who comes into contact with the equipment. When someone walks past the sensor, it will pick them up. The information is sent to a laptop which will, in turn make a sound. The sound will be recorded from one of us with a perky quote or word which will basically grab peoples attention. The sound will be produced by a loudspeaker, just like a propaganda tower in China. From the WiFi data we collected we found various wireless network names, these will also be mentioned in a subtle voice to increase the attention across the chosen location. This may make people pay more attention. If a person does respond to this and approach where the sound was coming from, a projection of the person will appear through a camera which is linked to the laptop. From the projection, it will show the person interacting with our equipment.

By using Flash processing, we will be able to create a projection that detects movement of the interacting people. A box which appears on the projection will identify moving parts of the person. This will then transform into a circular radius of circles surrounding the person to display personal space. More sounds will be produced from the speakers, interacting quotes which will intend to be friendly and positive. When the person has continued on with their day, the systems will continue back to normal, the projection will turn off until the next person arrives to interact.

Visual Concept
The image created by the group (below) displays an idea of what we want our project to become. As you can see, we have sets of speakers higher up the building which produces audio such as the SSID's and WiFi data sounds and the lower speakers will be used to produce the social interactions introducing communication through a digital medium. The projector and arduino proximity sensor will then be used to track movement in the area and will project the visual display of social proximity rings around a passer by. The closer the person gets the proximity sensor, more audiolisations increase.



Background
The idea behind our social interaction using the web camera and the image projection of the social rings surrounding the passer by is based on Augmented Reality. By having the overlay tracking the persons movement with social rings displaying personal proximity, social interactions increase as the intimate distance decreases (measured by arduino proximity sensor), more social audio will be produced from our 'propaganda speaker tower'.



Development of the Motion Tracker

The example code below is produced in Flash and is designed to create the motion tracker on a webcam. It declares motion tracking through the webcam and uses X and Y axis to create a box or an image perimeter which will output onto the webcam to track passers by. The Prototype video in my recent post shows the capability of the usage of webcam and the image/box perimeter which tracks the person moving around in the projected area. Whenever movement is detected, the image perimeter will move towards that area and in the prototype this works very successfully.


package {

import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.filters.ColorMatrixFilter;

import com.gskinner.geom.ColorMatrix;
import uk.co.soulwire.cv.MotionTracker;

public class motionTrack extends MovieClip {

private var targetPoint:Shape;
private var boundsBox:Shape;
private var output:Bitmap;
private var source:Bitmap;
private var video:BitmapData;
private var matrix:ColorMatrix;
private var motionTracker:MotionTracker;


private var inputW:int = 320;
private var inputH:int = 240;

private var outputW:int = 640;
private var outputH:int = 480;


public function motionTrack() {
addEventListener(Event.ADDED_TO_STAGE, init);
}

private function init(e:Event) {
var cameraInput:Camera = Camera.getCamera();
cameraInput.setMode(inputW, inputH, stage.frameRate);

var videoInput:Video = new Video(outputW, outputH);
videoInput.attachCamera(cameraInput);

motionTracker = new MotionTracker(videoInput);
//`motionTracker.flipInput = true;

matrix = new ColorMatrix();
matrix.brightness = motionTracker.brightness;
matrix.contrast = motionTracker.contrast;

video = new BitmapData(outputW, outputH, false, 0);
source = new Bitmap(video);
source.scaleX = -1;
source.x = 0;
source.y = 0;
source.filters = [new ColorMatrixFilter(matrix.toArray())];
//addChild(source);

output = new Bitmap(motionTracker.trackingImage);
output.x = 0;
output.y = 0;
//addChild(output);
addChildAt(videoInput, 0);

targetPoint = new Shape();
targetPoint.graphics.lineStyle(0, 0xFFFFFF);
targetPoint.graphics.drawCircle(0, 0, 10);
//addChild(targetPoint);

boundsBox = new Shape();
boundsBox.x = output.x;
boundsBox.y = output.y;
//addChild(boundsBox);

addEventListener(Event.ENTER_FRAME, step);
}

private function step(e:Event) {
motionTracker.track();

targetPoint.x += ((motionTracker.x + boundsBox.x) - targetPoint.x) / 10;
targetPoint.y += ((motionTracker.y + boundsBox.y) - targetPoint.y) / 10;

video.draw(motionTracker.input);

if ( !motionTracker.hasMovement ) return;

socialRing.x += ((motionTracker.x + boundsBox.x) - socialRing.x)/2;
socialRing.y += ((boundsBox.y) - socialRing.y + boundsBox.height)/2;

socialRing.width = 50 * (socialRing.y / 100);
socialRing.height = socialRing.width / 2;

boundsBox.graphics.clear();
boundsBox.graphics.lineStyle(0, 0xFFFFFF);
boundsBox.graphics.drawRect(motionTracker.motionArea.x, motionTracker.motionArea.y, motionTracker.motionArea.width, motionTracker.motionArea.height);
}
}
}


Sounds and Interaction
Below are twenty different sounds which the group have decided to use for our project. They are designed to intrigue passers by to wonder where the sound is coming from and to eventually persuade the person(s) to approach where they will then appear on our laptop screen with a personal space aurora surrounding them. The sounds are positive sayings to compliment passers by and there are some which sound like the computer is thinking (such as I'm not sure about this.). Along with these 20 voices, there will also be a form of 'Propaganda' theme which will produce sounds such as the names of every WiFi connection we found in the Hertizan Space exercise. Each name will be called out as background sounds, maybe passers by in the area may know what it's saying and may interact sooner.

1. “Smile at a stranger. See what happens.”
2. “What’s the worse that could happen?”
3. “I’m not sure about this.”
4. “Now I’m sure!”
5. “I wonder where you’re going to.”
6. “Do you know where you’re coming from?”
7. “Keep up the good work!”
8. “Hi I am ----- If you don't mind, I would like to hear your opinion about this...”
9. “Looking great today!”
10. “Hello, would you like some help?”
11. “Kinda chilly today isn’t it?”
12. “Nice tie sir.”
13. “I like your shoes”
14. "What a nice sunny day!"
15. "Shame it's raining today..forgot my umbrella."
16. "Hey, hows it going guys?"
17. "Hey, over here!"
18. "Have a nice day! (Sir/Madam)"
19. "Take it easy"
20. "Would you like some company?"

Propaganda Tower Voice Recording. by youarenotoriginal

Wifi SSID Recording. by youarenotoriginal




Personal Interaction Device (With Arduino)

A Personal Interactive Device has been created by the group to assist passers by within the area of Royal Williams Yard. This will hopefully increase social patterns in this deprived area! The Arduino Board (labelled B) is the central brain of this device which takes the signals from the other components and relays to a laptop which will read the incoming information. Without this board, we couldn't program anything for the other components to work. The motion sensor (C) detects the proximity of people passing by and this will send the data back to the board. This can then trigger the sound and audio clips from an mp3 source such as a laptop to relay to the speakers.



This processing/arduino code snippet shows how the arduino board detects the infra-red sensors state as being on or off (high or low) and then sets off the buzzer(A) will be exchanged with an instrument which sends data to the arduino board back to the laptop which will then play the sounds and audio clips.



Saul Hardman (Group Member) mentioned that if we had an .mp3 sensor shield (they unfortunately cost above £50) .mp3 files stored on an SD card would be played through a speaker, instead of just a buzzer making a sound.

Update 24/03/2010
Prototype (Motion)

Here are fully working prototypes of our Motion tracking equipment, as you can see they are fully quite responsive to sudden movements and will track the moving person/object with swift recognition. A few bugs have been noticed but this is really what we have been looking for to try out in Stonehouses Royal Williams Yard.








The Conversation Maker

By group contribution, we have come up with a helpful idea to add a selling point to our idea using 1980's propaganda advertisement. A poster designed by one of our group members shows visual style of advertising dating back to the 80's to advertise our 'Conversation instigation tool'. By using the Arduino tools we have, it can be created into a button that can clip around clothing like a poppy. This would be an ideal conversation tool which can bring people closer in damaged societies and will bring all working and wealthy classes closer together.



Overall

Summing everything up, our group has created a social interaction project which will help transform Stonehouse's social interactions in the area of Royal William's Yard. By using our Propaganda Tower to gain attention to the surrounding environment, people wearing Personal Social Devices would engage in conversation and begin better social interactions with one-another. The whole area will be projected to a website as a live feed with the Social Rings Visualisation overlay so curious onlookers of the project can examine and excite about the project.

No comments:

Post a Comment