2012-09-27

Shared workspace concept sketch

Just thought I'd post a new concept sketch showing what the shared workspace might look like.
You'll be able to toggle the video stream received from each user on and off by moving your hand over a projected button (or something). Also, we'll bring some design sketches/storyboards to tomorrow's meeting for discussion.



2012-09-26

Detecting colored shapes!


As you all know, we (the projector group) are trying to work out a way to share a physical workspace over the web using a projector and a camera. In short, we will project a rectangle on a desk, film the desk and then analyze the video to find the rectangle. Whatever the camera sees within the rectangle is streamed to the other users.

Me and Nicklas (PB!) have been working on detecting colored shapes in a live video stream. This is done in a few simple steps:

  1. Convert the image from RGB to HSV-space.
  2. Use thresholding to filter out everything but the (in this example) red parts of the image. 
  3. Detect polygons in the filtered image with the help of JS-ArUco (http://code.google.com/p/js-aruco/)
  4. (upcoming) Decide which, if any, of the detected polygons is the rectangle we are looking for.
  5. (upcoming) Calibrate the outgoing video stream using the corners of the rectangle.
It works pretty well, check out the video demonstrating steps 1-3 in action below! The white frame on the right shows the filtered image, and the detected rectangles are marked in blue.



PS. Sorry for the lack of sound in the video, we'll make a new one if you really want to hear our voices! :)

PPS. We are also working on some artwork for the project (logo coming soon!), and some storyboards in collaboration with the other groups.

2012-09-20

Projector / Camera group update



Greetings and salutations!

Over the past week, we in the Project/Camera group have been working on breaking down our part of this project. Since we need to get acquainted with the tools we are working with, get an look into what we can (and want to) accomplish, and how time consuming the different aspects will be.

For now we've settled on a few different sub-problems, which we have divided amongst ourselves and will work on solving in the coming days.

  • We need to be able to draw and find a rectangle on the video stream. This will be the area of our camera feed which we will transmit to the other participants. Jimmy & Nicklas will be working on figuring this out.
  • Using the aforementioned rectangle, Elias will use it to create a mapping between what the camera "sees" and what the projector will show.
  • Patrik will work on using the position of the rectangle to crop it from the original stream, so we can send only the relevant information.
  • At some point we want to have multiple participants, so John will look into how the different video streams should be merged into a single shared workspace.
When discussing the idea and playing around with the technology, we thought of some additional ideas which we believe would prove to be both useful and neat.
  • In a session with multiple participants we want to be able to turn on / off the feed from one, or several, of the incoming video streams. We figured we would do this by having some sort of button for each person connected, which can be used to shut streams on and off. 
  • It should be possible to take a snapshot of the current workspace and store it. Either for a picture / sketch, or to restore the workspace and continue working on it.
We will, however, put these ideas on hold for a while, at least until we have a working prototype.

WebRTC status

Currently the WebRTC group is divided into two smaller groups, one that have been focusing more on the front end and one that has been looking into the back end.

For the back end we have after looking over some alternatives decided to continue with Google's app engine for python, while the front end group have been working on using multiple video tags and controlling a window from within another window (to be used for controlling the workspace).

The nearest future for the WebRTC group will mainly be in creating a more usable front end and writing a new back end to suit our future needs.

Tangible group update

Hello again. It's time for a mid-sprint update. We might have neglected to mention it on this blog, but each sprint start and end on Thursdays. We have weekly meetings every Tuesday, where we discuss what everyone has done, what we are going to do in the coming week, and if we need to coordinate between the groups.

So far everything is on track and we published a preliminary gantt chart last Tuesday. I think the chart provides a pretty good overview of how the project will progress. The chart also shows when we expect to make releases. If everything goes as planned there will be a website up and running where anyone can test the progress.

Regarding the tangible group we have made some progress. You have already seen the video where Mattias shows some progress on the Sifteo cubes. When interacting with the cubes we are using an API developed earlier by another student at the university. This API is intended for the web and makes it possible for us to interact with the cubes from JavaScript. Part of this sprint is to plan ahead, so we are investigating if this API is enough for our needs or if we have to make some additions.

There is also another interesting thing with the Sifteos. It appears the company is gearing to release a new version of the Sifteo cubes, and a new SDK. Information about this is really difficult to find, but this blog post has the best information I've found so far. It is unclear if the new SDK will be compatible with the cubes we got now.

We have had less progress with the Spheros. We have set up a meeting next Tuesday with a student who worked on them earlier and hopefully that will speed things up. It appears that since the Spheros are meant to be controlled via a smartphone, there is no official support to control them from a computer. This might mean that the most convenient way is to route commands via a smartphone, but this remains to be seen.

2012-09-14

Sifteo Demostration

We have published a short demostration on the sifteo cubes being used from the web browser.