My Latest Profile Picture: What’s Inside

I’ve recently updated my social media profiles with a new profile picture / avatar, receiving positive response and some curiosity. This is the image, at a high resolution:

My Profile Picture

This is a picture of me wearing a picture of me. Read on to find out how this was done.

In 2010 the Electronic Arts Capture Lab had an open house, where employees from the rest of the studio could go by for demos of their equipment.  See the video in the above link for examples of what we saw.

One thing they demonstrated was the facial capture rig they used to create high-resolution 3D models of actors’ faces. You can see the rig and part of the process between 0:09 and 0:17 in the video at the above link.  It’s a rig containing a lot of digital cameras arranged spherically around the subject, and set up to fire in synchrony along with strategically placed flashes.  Specialized software then takes all those photographs and correlates the features visible in them to deduce a textured, 3D digital model of the subject. This is one example of the science of photogrammetry. There is a longer discussion of this process in this thread post.

My colleague David Dixon and I had the idea to use these digitized models of our heads to construct actual physical models of our heads, at a larger-than-life scale, and wear them as Halloween costumes.

David, being the 3D editing wizard among the two of us, simplified the models from thousands of polygons down to dozens.  Here are before (top) and after (bottom) screenshots of my model showing his work. Note the bottom one uses a corrected version of the skin texture (which I unfortunately lost the high-resolution version of) which explains the differences in skin tone and detail.

headscan_composite

You can see the original model had quite a bit of surface noise to be cleaned up, including what looks like fractures in my cheeks but are probably registration errors.

We then imported the simplified model into Tamasoft PepaKura, which segmented it into flattenable pieces and added glue tabs, resulting in many pages of fragments that looked like this:

SoleilPaperCraft_005 - Copy

We had these printed on stiff paper at Staples, then spent hours gluing them together.

Here’s what mine looked like from a few angles the morning I finished it (I worked overnight to finish it in time):

d20101029_0001_02_05_07_composite01

And here are David and I showing them off at the office later that day:

d20101101_0003_edit01

For the profile picture image, I set up a mini studio in my apartment and had my visiting parents help me fit my suit jacket over the shoulders of the model (since I can’t see anything when I’m wearing it) and operate the camera for me.  I then digitally emphasized the edges between the polygons and removed the background and replaced it, appropriately, with one of the iconic Max Headroom backgrounds.

So there you have it: A long, technical and involved but creative and fun project that lets me wear an oversized 3D photo of my head over top of my real head.

That didn’t suck much

I’ve migrated my blog from http://www.nerdhive.org/glob/ to here.

It wasn’t easy.  Maybe I didn’t do it right, but for future reference:

I used WordPress’s import/export plugin to export all the posts from the old site to XML and then imported that here, including attachments.  Done and done, right?  Not so much.

It didn’t actually copy over the uploaded content like pictures and map data; the posts still contained links to the files in situ at the old site.  So I manually SCPed them all over and then had to go through all the posts updating the base URLs of all the media references.

Then I noticed that not all posts had been imported.  So I did the export again, and this time manually edited the XML file to fix up the URLs (gotta love Emacs search and replace) and remove what would be duplicate posts, and imported the result.  That worked, and I think everything is hunky dory now.

If I had to do this again:

I used the import/export plugin because I expected it to bring ALL the content over for me.  If I had known it wouldn’t, I probably would have initially just exported the MySQL database contents and imported that via the MySQL admin panel, but I still would have had to manually fix up all the URLs (or learn how to do a GSR in SQL).

A better solution would probably have been to still use the import/export thing, and knowing how it would screw up, manually copy over the external content and use Emacs to fix up the URLs in one swell foop before importing the posts.

Not terribly pleased with how easy this was.

Oh, and another way it screwed up: I had set up my plugins at the new site before doing the import, and the WP-to-Twitter plugin went and tweeted about every single one of the imported posts!  Who thought that would be a good idea?  Plugins that run on publish should not (or should optionally not) run again on imported posts.  I had to go manually delete all that crap from Twitter.  So disable your autopost plugins before doing an import.

Miscellaneous

Way behind on my updates – have been very busy here in Calgary, and my network access at the hotel is expiring sooner than it should. Planning to stay in Swift Current tomorrow; not sure if I will have network access there either.

Looked into the map bug a bit more – the tracks are actually there, but it’s not auto-centering on them properly. Just scroll over to Canada and you’ll see them. Will investigate more when I have a chance.

Travelblogue: experimental results

So I’ve just finished my first experiment with blogging a vacation. It was rewarding for me, but there are a bunch of things that could have gone better.

I didn’t deal correctly with the days I lacked network access. I should have been writing the text for those days locally on my machine for later posting; writing it a couple of days after the fact is not good because I tend to forget details and allow “future” events to shade my phrasing.

Making a post takes a lot longer than I expected; I could barely manage one per evening, and that meant there was no way I could catch up with my backlog until I got home. Writing the text is the easy part; even with proofing end editing that takes less than an hour. It’s assembling the other media (maps and photos in my case) that takes a lot of time. For the maps, my GPS logs had a lot of redundant data in them so I wanted to trim some of that out before posting to make the embedded maps in my posts more responsive. For the photos, many of my posts included stitched panoramas and I was also doing some HDR and timelapse movie experiments, and all that processing takes time. Even without that, locating the best photos to post out of hundreds per day takes time.

And there were plain old computer problems, too. Google Earth’s path editor sucks. I need a better tool for editing my GPS tracks. Autostitch frequently barfs when I try to create panoramas; I can’t really blame it given what it is, but I haven’t found a better tool yet. And since my laptop only has half a gig of memory, it’s common for Autostitch to spend hours chewing on one panorama, and flipping though my photos to find ones to post is also a slow process.

The software problems were exacerbated by the laptop touchpad; ignoring the secondary mouse button, there are four things you do with a mouse: move the cursor, click, double-click and drag. Since my muscular control is not perfectly precise, the touchpad generates random combinations of these four actions whenever I try to move the cursor or drag something. That makes mouse-based editing work really frustrating and also creates errors. I really want to find one of these or something similar to use instead, but they seem to be hard to find.

So, my takeaway lessons from this are:

  1. Avoid falling behind. Always write the text (and if possible, choose the pictures) the day of, even if there’s no network access to actually post them. Posting existing content after the fact is less of a sin than writing the content after the fact.
  2. Get a better laptop and a better pointing device. A lot of my workflow frustration would have been alleviated if I could have worked at my normal pace without introduced errors and long waits.
  3. Get better software. Life is too short to put up with software that sucks. In particular I need GPS manipulation software, panorama stitching software, HDR compositing software, image->movie conversion software, and fast slideshow or light table software.

Let’s get this show on the road!

Trying out WordPress for non-link blogging – links OK, but with more of an emphasis on commentary, writing and more normal bloggy-type stuff.

Posting access is available to TNH members and maybe select friends by request to me.

Getting the security settings for comments right may take some tweaking. Right now comments are open but there is a plugin that tries to spot spam and forces moderation on comments. If comment spam becomes a problem I’m prepared to enable something Captha-like or even make comments a members-only thing.

Plugins are in place for embedding Google maps and code blocks with color syntax highlighting. Let me know if there are any other plugins you want to try.