UrbanScribe is a system that collects, analyses and visualises human movement through a space, completing the data feedback loop to empirically measure the quality of a space and enable urban and architectural A/B testing through spatial analytics.
Essentially UrbanScribe consists of an OpenCV traking system running on a laptop with a webcam or attached camera, and an Arduino Yun running Linux and an Atmel microcontroller. The laptop recognises faces or pedestrians, sends their positions in the frame to the Arduino which then plots them using a servo arm on a piece of paper.
This project was hastily constructed for a proof-of-concept demonstration in a design class called Ubiquitous Cities at UNSW. The course focused on the meaning of the term 'Smart City' and the considerations when weighing up tech solutions for an urban space.
Please note: I am not sure of these requirements. If you require extra packages (just look what package Python references in it's errors) please file a pull request.
brew install numpy opencv
There are a lot of packages that the facial and pedestrian recognition rely on.
sudo apt-get -y install build-essential git cmake pkg-config sudo apt-get -y install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev sudo apt-get -y install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev sudo apt-get -y install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev sudo apt-get -y install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev sudo apt-get -y install libxvidcore-dev libx264-dev sudo apt-get -y install libgtk2.0-dev sudo apt-get -y install libatlas-base-dev gfortran sudo apt-get -y install python2.7-dev python3-dev sudo apt-get -y install python-opencv
All platforms: Install pip depenencies
pip install -r requirements.txt
Spin up the Flask server
This will launch a server at localhost:5000
To stop the server:
- Follow the 'Kill Server' link at localhost:5000
- Visit the localhost:5000/kill url (get request to keep it simple)
- Run the
Some more notes on image recognition with OpenCV and Python.
This project is licensed under the GNU GPLv3 License - see the LICENSE.md file for details.