Sign inSign up

johnrobertpett/face-the-internet

By johnrobertpett

•Updated over 10 years ago

Somewhere between sculpture, technology, art, motion graphic design and interactivity.

Image
1

338

johnrobertpett/face-the-internet repository overview

##Face the Internet

⁠Background

This project was originally conceived between Florian Hacker⁠ and John Pett⁠ as an entry to the Google and Barbican DevArt⁠ contest. This project has also been contributed to by Ben Harvey⁠ and Edu Wass⁠ for their lean programming skills!

Here is some imagery from the previous incarnations of this project, outlining the original concept of both online and real-world manifestations.

Face Test

Early Output

Exhibition Proposal

⁠Introduction

This project sits somewhere between sculpture, technology, art, motion graphic design and interactivity. An experiment, as much as a learning exercise, to combine the latest technologies for application development with thoughts on contemporary art, computer vision and user interaction.

⁠Installation

Before you start you will need the following installed on your machine. Python⁠ & :/pkg-config need installing with Brew.

⁠Quick Install
  1. Close this⁠ repository in to the desired location on your local machine.

  2. From inside the repository, run $ npm install to get project dependencies.

  3. Once the dependencies have installed, running $ npm start will initiate the server and application and run a development version of the application on htt

⁠Detailed Install
⁠OpenCV
  1. OpenCV⁠ needs to be installed on Mac OSX through a package manager. For this we have used Brew⁠, but there are other options available. You can find install instructions for Brew here⁠.

  2. To install OpenCV⁠, once you have Brew⁠, follow these commands: $ brew tap homebrew/science, followed by $ brew install opencv.

  3. Once this is installed, you will need the Node bindings to allow for interfacing with Javascript. There are a few options online, bu this project uses this⁠ example. To install the bindings, run $ npm install opencv --save from the root of the project directory. For more information on this, please see Peter Braden's Github repository⁠.

⁠Express + Websockets

To take advantage of real-time face recognition and giving instant feedback to the user, this project uses websockets. Express.io⁠ provide the solution to client and server interactions, which you can install as an npm-module, you can find further information here⁠.

⁠React

React⁠ is a relatively new tool to help create interfaces in JavaScript. In addition it cares very little about the rest of the of your stack, making it perfect for a project like this.

⁠Flynn

Flynn⁠ is the cluster PaaS that will take care of all the devops for us, we just have to push out app to it.

⁠Setup

Fire up a DigitalOcean droplet with Ubuntu 14.04 x64

⁠Digital Ocean

Bash run this script⁠. When it finishes, remember the last 10 lines of output contain some important info:

  1. Copy the $ flynn cluster add ... command
  2. Copy the dashboard URL and login token
⁠Push to Flynn

From your local development machine, go to the folder where you store the face-the-internet repo:

  1. Install the Flynn CLI if you don't have it yet, by using the following command: $ L=/usr/local/bin/flynn && curl -sSL -A "uname -sp" https://dl.flynn.io/cli | zcat >$L && chmod +x $L

  2. Next, run the command: $ flynn cluster add ... (the exact command is outputted by the setup script⁠ in the setup steps). This will associate your local dev machine with your VPS Flynn cluster.

  3. Make sure you have accessed the Flynn dashboard and accepted the certificate.

  4. Now from inside the face-the-internet repo you can $ flynn create APP_NAMEand then $ git push flynn master to send it to Flynn.

Tag summary

Content type

Image

Digest

Size

304.1 MB

Last updated

over 10 years ago

docker pull johnrobertpett/face-the-internet