Everything you ever wanted to know about

the FC2009 Fursuit Parade Scan

but didn't have time to ask because you had a fursuit head on or something...

Table of Contents:


  1. History
  2. Introduction
  3. The Event
  4. The People with the Truck
  5. The Truck
  6. The Data
  7. The FC Scans
  8. What data is available?
  9. What you can do with it
  10. Available Software/Viewers
  11. Data Distribution
  12. Available Media
  13. Other Projects Using the Data
  14. Licenses
Don't care about the explanation? Just want to see the cool stuff? Skip to the software section.

History

  • 2009-02-08
    • Initial posting of information, software, data

Introduction

Assuming you were at Further Confusion 2009 and around during the fursuit parade, you may've seen a beat up truck with some spinny things on it. Or, you may've been in a fursuit and told to get in a line around the median and then a guy with a bullhorn walked around and yelled "HOLD YOUR POSE" constantly without really explaining what was going on. Or, maybe you weren't even there.

You should've been. It was fun.

Either way, this page should answer any questions you have about the above paragraph.

The Event

The follow story took place at Further Confusion 2009, a yearly furry fandom convention held in San Jose, CA. Specifically, this happened during the fursuit parade (for those not familiar with fursuit parades, there's a description here. Ignore the footnote. I totally count.). To say the experience is surreal is an understatement.


Image via Kyreeth/Tugrik

At the 2009 con, there were 530 suits in the parade, and over 2500 attendees overall.

I've been going to Further Confusion for the past 3 years (for the record, I'm a cube), and it always ends up being an interesting time. While I was working at Linden Lab, I ran the Second Life panel, which was one of the few times I was subjected to real life, phsyical griefing attacks. In 2006, I managed to video a line dance, get sued for doing so and then thanks to the EFF, win the case and open source the dance under the Creative Commons License. I even have a cubesuit that I wear in the fursuit parade, which, in 3 years of use (sadly, as of 2009, the cubesuit is dead. Long live cubesuit v2, to be seen at FC2010) has somehow has not gotten me beaten senseless by everyone else in the parade. Yet.

Like I said. Interesting time. I just couldn't let this year go by being any less interesting.

The People with the Truck

I currently work for a place called 510 Systems. We're a navigation, robotics, and controls research lab located in Berkeley, CA. We research and create solutions related to problems in high accuracy navigation, surveying, and geographic data analysis.

Or, more to the point, there's some robotic bulldozers and cars that drive themselves and lasers. Lots of lasers.

DID I MENTION WE'RE HIRING? (if this link doesn't work, just search craigslist for "robotics" in Berkeley. Our job ads usually pop up there.)

To give you an idea of some of the things 510 systems has done:

We also have vehicle mounted systems that can create a 3D "point cloud" of the area surrounding the vehicle, through a combination of specialized hardware, sensors, and processing software. It looks something like this.

The week before FC2009, I was telling some of my con stories to a couple of coworkers over lunch. After explaining the fursuit parade, I joked that we should take one of our scanning vehicles and create a 3d scan of the fursuit parade. To my surprise, this got a positive reaction, plans were made, and come Saturday, the truck showed up.

Holy crap, we were actually gonna do this thing.

The Truck

This is the truck, and more importantly, this is our system that is attached to the truck.

FC2009 Fursuit Parade 3D Scanning

And from the side:


Cropped from image by Aatheus

The rig in those pictures consists of (to get an idea of placement, go to the flickr picture in the first link):

  • IP-S2 Integrated Positioning System
    • The heart and brains of the operation. This is the box everything connects to. The box takes all of the data coming from all of the sensors, timestamps it with a very accurate timestamp, and sends it out a network port to be logged on a computer.
  • Velodyne LIDAR
    • A 360 degree spinning LIDAR with 64 lasers. Capable of spinning at between 5-15 rotations per second, and outputting ~1.5 million points per second, each with a maximum distance of ~180m. Each point represents a distance in space with a certain amount of reflectivity. For example, the LIDAR can tell you that when a laser fired, it was rotated at 34 degrees from top, and that there was something 64.21m away at that distance, with a reflectivity based on whatever the laser bounced off of. For more information, see the House of Cards Making-Of Video
  • SICK LIDAR
    • In this specific case, ~90 degree LIDAR. Pointed at the street, and not rendered in distributed point sets. Unless you really want accurate shots of the street
  • GPS
    • For positioning of the vehicle. Most everyone is familiar with these nowadays.
  • IMU
    • An IMU is made up of 3 accelerometers and 3 gyros. It gives you an idea of which direction you're headed, and how you're rotated while heading that direction.
  • Wheel Encoders
    • Attached to the hubs of the back wheels. Gives you information about exactly how fast you were going at a point in time.

This isn't all the sensors the IP-S2 can handle, but reflects the set we had on the truck that day. As the truck is driven around, all of the sensors listed above feed data into the IP-S2, which then feeds it into another computer. All of this data is very, very accurately timestamped.

The Data

What does this get us?

  • The ability to reconstruct what's around us at a certain time. We can take our place in the world as found by the GPS at time A, match that with a laser scan taken as close to time A as possible, which gives us distance, and use math to give back a geographically referenced version of that point. Multiply that times thousands if not millions of points, and you can have a 3D model of a town with a single drive through. Images taken by a system controlled camera can also be matched to this model so that it can be colorized (like in the image in the point cloud image earlier in this document).
  • If GPS drops out, as it often does in environments with "things" and "stuff" (especially of the tall, opaque variety) in them, we can use the rest of the sensors to approximate our position. We do this using magic.
  • Much, much more, but this is about a specific event, not the system in general, so I'll stop. But it's freaking awesome, isn't it?

To give you an idea of uses for this system... Say you're a department of transportation, and you want to know where your streets are painted, with what, and if they need to be repainted. Now, you could send drivers out to eyeball this. But, with the system above, when all of the data comes back together, you can see things like this:

streetpc

The scan above is from the Doubletree Hotel parking lot, taken during the parade. Each one of those points that make up the image scan is georeferenced, and you can see both the old arrow and the newly repainted ones. With some processing, you can even have software pick out features these features, and possibly have it give back a rating of the quality, so that if something needs to be repainted, the software can add that to a schedule automatically.

FC2009 Fursuit Parade Point Cloud Screenshot

Or you can take scans of people in fursuits. Isn't living in the future fun?

The FC Scans

Ok, down to business. Here's the information on the scans we took at FC.

Scan 1 - Pre-fursuit Parade

kmlrun1

Point Count: ?

Information: Taken before the fursuit parade, while the lineup was just starting. Interesting view of the back area of the hotel. This honestly ends up looking more like a zombie attack than a fursuit parade, especially when played in real time.


Scan 2 - Pre-fursuit Parade

kmlrun2

Point Count: ?

Information: Taken while the fursuit parade was entering the hotel. The honking was not our fault: blame the wolf in the dragon suit. :)


Scan 3 - Post-fursuit Parade

kmlrun3

Point Count: 331 Million Points

Information: The cloud that's been in the pictures and videos so far. This was taken after the fursuit parade, when all of the suiters were lined up around the median in the parking lot. 3 sets of scans were taken of this (once clockwise around, two counterclockwise around).


What data is available?


Before we can go into what can be done with the data, we need to discuss what data is available. The data is presented on a per-point basis, but the main question, what data can be used where? Well, let's take a look at a couple of pictures.

Point Cloud Viewing in Processing using HoC Viewer

This cloud is made up of 5 million points, about the maximum the House of Cards Renderer (see the Available Software Section) can handle before choking. We call this number our point budget. Now, you're probably saying "BUT I CAN RUN THE CRYSIS ENGINE AT MAXIMUM WHY CAN'T I RENDER MANY POINTS WAAAAAAAAAAAAAAH.". Well, get ahold of yourself. When rendering point clouds, it's a completely different ballgame. Since the points are disconnected, you can't use point indexing. Since there's no polygons, there's none of the pipeline optimizations inherent in using triangles. Of course, there's solutions for these problems, mainly having to do with spacial data structures and compression that can easily deal with hundreds of millions of points, but since the easiest way for everyone on every platform to view the clouds was using the prewritten, Processing (and therefore java) based House of Cards viewer... Well, there you go.

So, yeah, 5000000 points up there. If you look at the larger version of it (available on flickr), you'll notice that we're blowing a TON of our point budget on the large, flat surfaces in the surrounding world. The road, the hotel, things like that. Now, a point reduced version.

fullrun

This is a zoomed out version of the full first pass of the fursuit parade. This whole view is only 3,405,808 points. This was created by isolating the usable scan angles to a 30 degree arc, and limiting the maximum acceptable scan distance to around 5m from the sensor position at the time of laser firing. This still gets all of the suit data into the cloud, while eliminating the road, the hotel detail, other people, etc...

Now, this data can sometimes be interesting. For instance, this shot taken during the second run:

FC2009 Point Cloud Demo Picture - Large (See "All Sizes")

This shot got the whole back of the hotel, which, while filling up the point budget quick, looks really cool. So, the tradeoff is in providing the maximum amount of data to people who want to parse it, while still giving interesting smaller sets for people who just want to see pretty 3D stuff. The current distribution method will be a set of points with cartesian position and intensity, and a basic path of the sensor through this cloud so you can easily crop out things in the far background if need be. Once interesting optimized sets are produced, we'll also post those.

What to do with the data


Viewing

Now that you've either trudged through my geekout or skipped to this portion, it's time to talk about how you can see the data. I've done a little work and modified the House of Cards Viewer to fit our needs. I added a vaugely movable camera, and changed the loading to use a buffered reader since we tend to have much, much larger files than what was originally used with the viewer. The viewer is available in software section. It's based on Processing, which is in turn based on Java, so it's pretty mcuh instantly crossplatform. Also, fairly slow, and maddening to work with if you've ever done stuff with OpenGL (They flip the handedness of the system and do odd things with screen versus world coordinates, so be warned. I sure wasn't). But, what it loses in ease of development for me, it gains in being crossplatform, easily accessible to people who don't have a job doing this, and already mostly written.

Mesh Forming

Miss playing Connect The Dots, but felt like conventional, 2d, numbered connect the dots doesn't really provide that same "kick" anymore? Well, point cloud tesellation is right for you!

The following images were created using Meshlab, a free program for working with 3D mesh and point data. Other 3D rendering/creation programs may handle this data, but this one is free and fairly simple. Just take a fairly small portion of the overall cloud (Meshlab doesn't play well with tessellating tons of points at the moment, espectially with this setup...

ml1

Then hit Filter->Create Surface from Points, and...

ml2

Eureka! An incredibly noisy mesh, but still, something to work with. A lot of things can be done to optimize the point cloud before putting it through MeshLab or other software, but that's left as an exercise for the reader.

Sculpties

Point clouds are ripe for usage with Sculpted Prims in Second Life. Sculpties work by creating a displacement map on a sphere, which can easily be done by taking a spacially optimized portion of the cloud, centering a sphere behind it, and creating the displacement map texture based on the distance of the points from the surface of the sphere. Since the point coordinates are in real world measurements (meters or millimeters usually), the measurements should translate easily into SL models.

Arbitrary Image Colorization and Matching

Lots of people were taking lots of pictures while we were scanning. For instance, this photo:


Cropped from image by Aatheus

Could easily be matched to a shot of the point cloud taken from roughly the same position and perspective:

pointcompare1

Since we know that the picture contains less dimensional information than the scan, we scan create a projection that matches the picture (and therefore the colors) to the most protruding point in the scan at the same location, providing us with a partial coloring of the point cloud.

(I realize the above two images aren't very well matched, but this is more for example than implementation, and it's hard to make out features of the cloud if the screenshot is taken from the same perspective as the picture. So use your imagination or something.)


Available Software/Viewers


Pointy - Open Source Point Cloud Viewer


Pointy is an open source point cloud viewer, currently based in the Processing language. It was forked off the Radiohead "House of Cards" Viewer. This fork adds a movable camera and buffered file loading, as well as other features as I work up the patience to deal with Processing.

Code repository hosted at github

Installation files and datasets hosted at sourceforge

Current Version: 0.0.1

PACKAGED WITH RUN 3, PASS 1 DATA. NO NEED TO DOWNLOAD DATA DISTRIBUTION PACKAGE.


Controls:
Controls are "Resident Evil" style. Yeah, I hate them too, but I'm just trying to get the first version out right now. :)

  • w/up arrow : forward
  • s/down arrow : backward
  • a/left arrow : turn left
  • d/right arrow : turn right
  • e : move upward
  • c : move downward

Data Distribution


Check back often for more data postings.


  • CSV Format of Run 3, Pass 1 (Angle/distance reduced)
    • You do not need this to use the viewer. This is posted for those who want to use the data outside of the viewer.
    • Size: 19mb
    • Format: CSV, Position and Reflectivity data only, "x,y,z,r,g,b" (In order to conform to House of Cards cloud format). R = G = B since there was no color data is available.

Media


Flickr Cloud Generation Photo Set - Includes links to other photo sets


FC2009 Fursuit Parade Point Cloud Test Render from qDot on Vimeo.

Other Projects using this data

None yet! If you have a project that's using this data, and would like to be included on this page, please email the "kyle" address at the domain you're currently on.

Licenses