Playing with pixels in depth with Kinect, part 2

07.02.12 George Profenza

As if the previous post wasn't geeky enough, here's a quick look at project that also ties in a bit of computer vision and neural networks.

One one of the courses, related to Programming for Architecture and Design, among other things, we had a lecture and tutorial on Neural Networks. There are multiple types of Neural Networks, mainly classified as supervised and unsupervised, based on how this networks learn.

Kohonen networks (which is what this post focuses on) are unsupervised networks, also known as a self organizing maps (SOM). As opposed to supervised networks, where neurons are trained what the output should be like (should weigh towards), this type of network is based on competitive learning - the outputs/neurons organize themselves towards the closest inputs. This idea of competitive learning is based on how it is thought the hippocampus(the part of our brain responsible for navigation) works. In a sense, the outputs display a particle-spring like behaviour towards the inputs, which make this type of network useful for surface fitting/dimensionality reduction/etc.

Initially a dataset of 3d points was given, but it thought it would be more fun for some reason to fit a surface on my face (or any face for that matter). This is what the video illustrated:

  • Computer vision(OpenCV's HAAR cascade feature) is used to detect faces and isolate an area in the Kinect depth map
  • depth pixels belong to the face are converted to 3D coordinates
  • once a point cloud was selected, the points can be fed as the inputs of the neural net and the outputs are vertices of the surface. The number of ouputs is variable, so a low-poly mesh can also be calculated

The mesh can also be saved to AutoCAD (.dxf) format, which is what I've used to render a creepy theatre like mask based on Max's face. Currently the default surface is a rectangular grid, which is a good start, but not ideal for fitting on a face. If you can imagine a face unwrapped into 2D space, it would not look like a perfect rectangular, but that's something to explore at a later time.

In the meantime, if you would like to have a play with the code, the source is included. If this leads to something interesting let us know. The code is written using Processing and uses OpenKinect and OpenCV. If you think this is something you would like explained further, leave a comment bellow and we'll post more details on the wiki.

Max Mask Max face point cloud 1 Max face point cloud 2




Playing with pixels in depth with Kinect, part 1

07.02.12 George Profenza

I've managed to get a bit of breathing time so I thought about posting a few nerdy bits and pieces. Currently I'm doing an MA in Adaptive Architecture and Computation at UCL which is pretty cool, but keeps me pretty busy lately. Been learning up a lot of new skills there, among others, using the Kinect Sensor.

In this post I'll demo a few things I've learned.

I'll start with a quick technical demo of what I was able to achieve using Kinect and Processing. It displays the following:

  • user isolation
  • stereo calibration (matching rgb pixels with depth data)
  • hand tracking (in 2D and 3D)
  • skeleton tracking (without the 'cactus' calibration pose)

Although there is an official Microsoft driver for the Kinect, it's for Windows only (no surprize there), so I've used the opensource drivers. There are plenty of wrapper libraries for various languages, but so far I've used wrapper libraries for Processing (Daniel Shiffman's OpenKinect Processing lib and SimpleOpenNI), OpenFrameworks (ofxKinect) and MaxMSP (jit.freenect.grab). Each library has it's pros and cons, but I won't go much into detail in this post.

Here's a list of the data you can get from a Kinect:

  • Depth/IR/RGB pixels
  • Accelerometer (accesible with some of the libraries)
  • Audio data (currently supported by the official KinectSDK at the moment)

Plenty that can be done with the above mentioned. Currently I'm keen to learn more about manipulation the raw data rather than relying on OpenNI to see what sort of interactions can be achieved.

I tend to be gravitate around unusual(think Aphex Twin) ideas lately, hence the first image on the side, which displays how skeleton tracking and user isolation can be used to duplicate parts of the body. When displaying the bounding box, the gray forearm is the copied version.

One unusual idea might be turning people into trees. It seems the Greeks beet me to it (a few thousand years back), as the myth of Heliades also portrays this idea. The second image on the side shows a tracked figure morphing into a tree by recursively copying forearms. You can see the full video here. It's split into 3 parts: context, prototyping and final piece. I'm using SimpleOpenNI and skeleton tracking, but the unstable release of the drivers which allows for a more responsive output, as the calibration pose is not required.

See you in part 2 !

realtime forearm cloning with Kinect Heliades: man morphing into tree




My harsh but fair views on Nokia's 3D projection Mapping.

29.11.11 Jace Turner

I went to Millbank tower to be blown away but ended up trying to hear a 45min DJ set before being fed a pretty average 5min 3D projection.

Its began with a reference to Snake, light trails going round the building acting like Snake. Nice nod to Nokia's past, I liked this a lot… I really REALLY hope it was being played live by the crowd but I doubt it. <--- It should have, with part of the building being a live stream of them holding a Nokia hand set.

Deadmau5 then came on and played what sounded like a pretty good set with live singers? Unfortunately we only could hear bass as we went quite in the thick of it. Deadmau5 played for 45min with a live feed of himself taking up 1/6th (ish) of the building. The rest of the building had rather typical light beams forming shapes and logos.

After that he went off stage and we waited… yawwwwwn. 5 - 10min later he came back on after a change of clothes for the 5min video that everyones seeing online today.

Honestly, I think it could have been better. The projection and technology was great. They were projecting from across a river on a huge building but unfortunately the huge lack of concept outweighed it for me. First off, why that building?! Its flat and boring, 3D mapping is about using the surface, the shape, getting clever.

It was pretty cool they had a live DJ but 45min just watching him without any explanation of how the evening was gonna run was confusing for me. I was there to see mad crazy animation. This 45min needed a 'show' and to get some more action. Some big lights, some sound-responsive animation, put him in a boat in the middle of the river, have some people parachute off the tower, do anything! Maybe even let people know how the evening will roll out. All that happened was people talking to each other asking 'where's this mad animation stuff?' Or 'Is this it?'.

I can be quite a hater of these 3D mapping projects as I feel most of 'em are severally lacking in CONCEPT. I feel they tend to be very random, I don't like this. All I see is burning cash.

Anyway, I've posted a few I do like:

Prague Astronomical Clock - 600th Anniversary Show

H&M Projection on the Dam Square Amsterdam

Ralph Lauren 4D Experience

It seams a shame that such a great and large-scale opportunity to do something amazing in London's digital world has been missed. There could be many understandable reasons why this fell a bit short. Who knows. All I know was last night there were bound to be a few agencies walking away with the 'I could have done better than that' attitude. I hope they get a chance and do.

Nokia




Digital Shoreditch quick notes

09.05.11 George Profenza

The week that just passed was filled with all things digital around Shoreditch as part of Digital Shoreditch I wasn't humanly possible to attend everything available, so I will share a few opinions on a few of the events I had the chance to see.

Lately I've been insterested in 3D in general (be it modeling on a computer or analog, scanning, printing, augmenting reality, etc.) so it made for me to start with a visit to the nice people at Inition. I was blown away by the 3D technologies they had available: 3D scanners, ZCorp 3D printers, 3D displays in different formats(with or without 3D glasses) and in different sizes, depth cameras, AR solutions, Motion Capture solutions, etc. It would be awesome to work with some of these technologies at some point, and I'm sure our talented Motion Artists would be very interested in creating amazing content.

Started my Saturday early morning with a visit to the "From Digital to Analogue, and back again" session hosted by the London Metropolitan University. Had the nice surprise to get myself scanned while I was there.Thanks to Chris, from Metropolitan Works, I've learned more about how 3D scanning works, the different solutions available depending on the scale of the scan and different techniques used to 'stitch' 3D scans which was very interesting. Since the event was hosted in the Shoreditch building, we could only see recordings of how the 3D printers works. The actual printers are at Metropolitan Works, which work in partnership with the University. Pia Jonsson, who teaches the animation courses at London Metropolitan University demoed an interesting blend of 3D scanning, 3D printing and photography for stop motion animation and lip synching. A similar technique was used in Coraline I was informed.

Later I joined the friendly folks from SketchPatch and tried to lend a hand with their drop in session. Anyone interested in picking up a bit of Processing, even completely new to programming, could take part in an introductory workshop/session using nothing more than the browser itself. In case you haven't tried SketchPatch before, I recommend you do. It is a nice little environment to get started with programming without installing anything, and you can learn by modifying existing sketches and share your creations with the world. It is interesting to see what your creation evolves into as it gets cloned and 'remixed' by the community.

Finished my day by visiting qMedia research group at Queen Mary, University of London. Augmented Instruments, Kinect driven instruments, wearable technology, real time avatar responsive agents, they had plenty interesting projects as well.

Overall, it was great to take advantage of the knowledge shared out there. Got home inspired and hoping to get involved with innovative technologies in my current work. I've only covered little of what Digital Shoreditch had to offer, but there are plenty of nice thoughts shared via twitter. Don't forget to check out the resources on the main site.

George 3D scan George 3D scan textured SketchPatch site SketchPath polylines qMedia

Alex
2011-11-04   16:19

Awesome!! thanks man!!






From the disturb archives: JC Decaux

01.05.11 Disturb Media

Our first commercial Flash 3D project from a few years ago. Highlighting the services that the advertising heavyweight can offer brands in and around airport terminals. A nice blend of 2D illustration, 2D and 3D animation. * insert pun relating to 'thinking outside the box' *