Monday, June 23, 2008

More Wiimote Projects - A Brain Dump

It’s been a while since I’ve posted anything. That’s largely because I’ve been traveling a lot, giving talks, and most recently relocating to a new city. It became clear to me a while ago that I wasn’t going to get around to making more videos anytime soon. So, I figured I would make a post about the projects that I would probably make videos of if I had more free time. The content of this post has been in the talks that I’ve been giving, but I’m just sitting down to write it out now for my trusty blog readers.

1. Throwable Displays using the Wii remote

This I actually built and demoed in my lab at CMU. But, it only existed for about two days before I had to break it down to move and I didn’t get a chance to document it. Several months ago, a patent filed by Philips made some of the tech new sites about throwable displays in games. But it was a concept patent pretty far from a working demo. However, it turns out it’s pretty easy to implement using a projector, a wiimote, an IR emitter, and some of our trusty retro-reflective tape. It essentially combines the techniques from the finger tracking and the wiimote whiteboard projects. You put a little bit of reflective tape on each corner of a square piece of foam core, turn on the IR emitter so the Wiimote can see the four corners, align the camera tracking data with a projector using the 4-point calibration, and then the projector can display images perfectly aligned to the edges of a moving piece of foam core. The process of using a projector to augment the appearance of objects is called “Spatially Augmented Reality”.

Research colleagues of mine made a really fun demo where they tracked an air hockey puck from above and projected down on the air hockey table to display all sorts of visual effects that responded to the location/motion of the puck. They were demonstrating a fancy new type of high-speed tracking system. But, the Wiimote works quite well at 100Hz. I wish I had documented the throwable display on video, because it worked quite well. You really could pick it up and throw it around and the video image stays fairly locked onto the surface. There's a small latency primarily due to the 60Hz refresh of the projector. I even made a rough demo of the air hockey table, but it was VERY rough - just drew a line tail behind the puck. Again, a little patch of reflective tape on the puck and IR ring illuminated Wiimote above. However, the throwable display concept is actually a simpler implementation of a project I did earlier on “Foldable Displays” (tracked using a Wii remote) which I did make a video of, but not in tutorial format like my other Wii videos:

2. 3D tracking using two (or more) Wii remotes

Since the tracking in the Wiimote is done with a camera, if you have two cameras you can do a simple stereo vision triangulation to do full 3D motion capture for about $100. This was actually already done by some people at the University of Cambridge:

This is text book computer vision algorithm, but I haven’t gotten around to making a C# implementation. Obviously, you can use more than 2 wii remotes to increase tracking stability as well as increase occlusion tolerance. This would be a VERY useful and popular utility if anyone out there wants to make a nice software tool to transform multiple wiimotes into a cheap mocap system.

3. Universal Pointer using the Wii remote

The nice thing about the camera is that it can detect multiple points in different configurations. The four dots could be used to create a set of barcode-like or glyph-like identifiers above each screen in a multi-display environment. This would not only provide pointing functionality on each screen, but also provide screen ID which means you could interact with any cooperating computer simply by pointing at its screen. No fumbling for the mouse and keyboard, just walk around the room, or office building, or campus, and point at a screen. If all the computers were networked, you could carry files with your Wiimote virtually (using the controller ID) letting you copy/paste or otherwise manipulate documents across arbitrary screens regardless of what computer is driving the display or what input device is attached to the computer. You just carry your universal pointer that works on any screen, anywhere automatically. This makes a big infrastructure assumption, but it really alters the way one could interact with computational environments. The computers disappear and it becomes just a bunch of screens and your universal pointer.

Similarly, arbitrary objects could have unique IR identifiers. For example, if each lamp in your house had a uniquely shaped Wii sensor bar on it (and they were computer controlled lamps, of course), you could turn on a specific lamp simply by pointing at it and pressing a button or dim it by rotating the wiimote. If was an RGB led lamp, you could specify brightness, hue, and saturation with a quick gesture..

4. Laser Tag using Wii remotes

If you put IR leds on each of the Wii remotes, they can see each other. So, you can have a laser-tag like interaction just using Wii remotes – no display, except perhaps if you wanted a big score board. You’d have to validate which Wii remote you were shooting at, which you would do using some kind of IR LED blink sequence for confirmation. Just wire up the IR leds to the LEDs built into the Wii remote, so you can computer control their illumination.

5. IR tracking with ID using the Wii remote

This is more technical (and related to the above idea), but it addresses an important issue that I have yet to see done in either commercial or research systems. The problem with IR blob tracking using cameras is that you can’t which blob is which. You could blink the LEDs to broadcast their ID. But, this 1) would be slow because the ID data rate is limited by the frame rate of the camera 2) really hurts your tracking rate/reliability because you don’t know where the dot is when the LED is off. Now, the Wii remote’s camera chip gives 100Hz update, which might be tolerable for a small number of IDs. But, this approach doesn’t really work well when you want fast tracking with lots of unique IDs. One solution is to attach a high speed IR receiver to the side of the Wii remote for data transmission and simply use the camera for location tracking. IR receivers used in your TV probably support data rates of around 4000 bps - much higher than the 50 bps sampling limit you could squeeze out of the Wii remote. So, as the LEDs furiously blink their IDs at 4Kbps, they look like they are constantly on to the camera. This yields good tracking as well as many IDs. Now when you have multiple LEDs transmitting simultaneously, you’ll get packet collisions. So, some type of collision avoidance scheme would be needed of which there are many to choose from. It will also be necessary to re-associate the data packet with a visible dot. So, not all the LEDs can be visible all the time. But, you only have to sacrifice a small number of camera frames to support a large number of IDs. You can also probably boost performance if you are willing to accept short term probabilistic ID association.

90 comments:

  1. Awesome, have you tried your blinking LEDs idea? It sounds really cool!

    ReplyDelete
  2. Excellent post ! very instructive.

    Just a bit sad that we won't get any videos soon :D

    ReplyDelete
  3. johnny you are my personal hero,

    never think to build a cheap
    3D tracking suite ?

    follow head, arms, legs movements
    on 3d model, using body to do
    animation ?

    just an idea,

    please don't stop your work.

    andrea
    italy

    ReplyDelete
  4. Seriously nice work Johnny. Doesn't the Wii camera only track 4 points per remote? Do you have a plan to get around that?

    Also, you mentioned that extracting 3D points from two cameras was "textbook." Can you recommend any textbooks that cover this that do not involve matrix manipulation? Thanks

    -Andrew

    ReplyDelete
  5. this is going to change video art installations massively.

    ReplyDelete
  6. Hey Johnny , i'm part of nuigroup.com , we are a community that is developing open source multi-touch solutions.

    How are you doing the tracking on the "foldable" displays , you touch one of them and it detecs your touch , I couldn't see any reflective tape so i guess your doing it another way , i'd love to know how.

    ReplyDelete
  7. I want to have your baby... not really but I think you know what I mean Mr Chung Lee there is a pint of Guinness with your name on it if you ever grace Ireland with your presence. Once again I have posted your link to other geeks.. I mean my friends. I have an old HUD from a Playstation (eye Trek) that I would love to use to display some of your wonders.. Thank you for the sample Videos Now phone in to work sick tomorrow and spend the day bringing us mere geeks more video joys from the Guru know as Johnny Chug Lee.

    ReplyDelete
  8. This is all very exciting. Keep it up!

    ReplyDelete
  9. 3D motion capture for a fraction of the cost. No more dodgy Gypsy suits or ping pong balls stuck to my knees! Much like Mack said, I have a pint of Cider waiting for you in Somerset!

    ReplyDelete
  10. Hi, I love your work, but I can´t see the videos, the Youtube´s message "We´re sorry, this video is no longer available" appears everytime.. what´s wrong with youtube???? do you know what´s happening?

    ReplyDelete
  11. the full output format includes an 8-bit intensity, so you could probably do tracking with IDs without losing frames or point association.

    ReplyDelete
  12. Hi Johnny, do you have a wii fit? I would love to see what kind of great ideas you could come up with using the balance board!

    ReplyDelete
  13. inio, oh yes. you're right. you could ID modulating the intensity... though, you would have to control for birghtness variance due to orientation changes of the LED. So, it may only work reliably for taking objects on a table.

    vladmir, the foldable displays uses embedded LEDs rather than retroreflective tape. the pen also has an LED in it. The behavior of each point is determined by its enumeration number. The fan is defined by three points. The fourth visible point will control the cursor. This is a very brittle assumption to make, but could be avoided if ID was available.

    ReplyDelete
  14. Wow, excellent work and ideas!

    There is a product that tracks blinked IDs just as you describe. It runs at 480Hz, has higher pixel resolution and is much more expensive then the Wii:
    http://phasespace.com/

    Now I'm hoping to start making such technologies into inexpensive portable Augmented Reality systems. Perhaps with Apple's recent developments in see-through displays and with Wii remotes attached to our bodies this will be possible. A couple blinking LEDs on our fingers and a few blinking points on the ground might be enough to provide head tracking and hand inputs for cooperative applications. Adding more people adds more Wiis which could increase the accuracy and lower LED occlusion.

    ReplyDelete
  15. Absolutely amazing, I'm out the door tomorrow to pick up a wiimote to try some of this out. A quick question though, when projecting on your foldable displays, are you using a custom program to force the projector to calibrate to the 4 points or is that a standard input that most projectors accept. Any help is would be great, I'd like to try this for a project I'm working on, but I'm on a Mac and want to make sure its even possible without having to write too much of my own code.

    Cheers

    ReplyDelete
  16. hey, with the 3D interaction that the Cambridge video showed, do you think that could be used with a CAD program of sorts for full interaction with a digital model? the holographic display seen in movies, such as in "Ironman" , Stark's lab, may be a reach, but the same interface on a regular screen/wall would still be possible no?

    ReplyDelete
  17. This comment has been removed by the author.

    ReplyDelete
  18. Wow, some really cool stuff here!!

    Question: Is it possible to use the wiimote as a regular nightvision camera? While the stuff you are doing is way neater, it would be cool to have a $50 nightvision cam, like the sony nightshot mode on video cams.

    Thanks!

    ReplyDelete
  19. If I ever become a billionare, I'm going to hire you to build a theme park.

    ReplyDelete
  20. Great ideas,your works are relly cool!just keeping on that,i adore you!!!

    ReplyDelete
  21. Great works ! your ideas are really great ! keeping on that work ,you will change the world !

    ReplyDelete
  22. It's amazing how rich this vein of ideas has become. Just, wow. Great to see you're still working on it.

    That patent is troubling though. Concept patent? Could such a thing really stand up in court? Are you technically breaking it? It seems wrong that Phillips be able to patent something they haven't invented yet, and may never.

    ReplyDelete
  23. Thank you for your research and development, Johnny. You've pretty much single-handedly introduced the entire YouTube generation to Augmented Reality.

    I'm still shocked that game devs had no idea that the Wii would be capable of using AR applications with a set of $10 glasses.

    Most may not realize it, but you're giving the world a HUGE push in the direction of a technological Golden Age.

    Probably won't be long before we're all wearing glasses, looking at virtual crap all over the place.

    I just hope I live long enough to see it.

    ReplyDelete
  24. Hi Johnny, I've been a huge fan since seeing the head tracking video last year.

    I have a question. I'm sure you've already heard it, but... could a person create a VR headset for Second Life using some of these guerilla tactics?

    It would take a head-mounted display, obviously, but you could use a relatively "cheap" one that didn't have head-tracking, since that can be done with the Wiimote. Then it would just be a matter of a lot of coding.

    What makes me think it's do-able is the "Mouse-view" in Second Life, since it's a POV that can look in any direction.

    Obviously simulating walking around would be a problem, but... maybe just script a hovering computer chair in SL, and still use the keyboard to move around. The idea is just to match what your eyes see with what your body feels, to make the immersion more complete. (For fun, maybe a specialized Mouse-view can be scripted, so that when you look down, you see your avatar's legs and arms in the chair, and the hands are on a keyboard.)

    I have no skill whatsoever in coding, or doing any of this stuff. I'm just a really hopeful observer. A lot of people are anxiously awaiting the arrival of affordable, immersive VR. With the Wiimote and Second Life, it just seems like the pieces are already there, waiting to be put together.

    ReplyDelete
  25. Hi Johnny! I think the work you are doing is really excellent research. I pointed some of my students from Design for Virtual Theater and Games to this site to see good research on Wii ir modifications. I also did a piece about you and this post on my show on Mobuzz.TV. If you want to see the episode, have a look on the dailybuzz

    Keep up the excellent work!
    -Gabemac

    ReplyDelete
  26. Great work.

    Many laptops have in-built web-cams and of course web-cams can be added to any pc.

    Web-cams can see IR (readers can test this by pointing a IR TV remote control at their web-cam while monitoring the camera image).

    Could this be used (either by filtering the IR signals or using a IR filter over the lens)?

    Would this bring the technology to more users and be simpler to setup?

    ReplyDelete
  27. Love the work Johnny!!

    ReplyDelete
  28. Hi there. I am an art student and I am going to start on a final year art project. All the information in your website and here is just great! Just what I needed to add the interactive element into my project. But the problem is, all these are quite technical. It's a little hard for me to absorb. It would be great if you could advice me on the interactivity part. So far none of my lecturers can help me in this.

    ReplyDelete
  29. Your work is absolutely fantastic. I think there is a perfect name for the head tracking / Wiimote technology -- take a look at the cover of the Oasis single album "Wonderwall" http://en.wikipedia.org/wiki/Wonderwall_(song)

    "Wonderwall" -- some entity (Creation Records?) may have the rights to it, but it's still a perfect name for it, IMO, and I'm sure it wouldn't be prohibitively expensive to license, compared with hom much money the concept will make.

    ReplyDelete
  30. Good Project! Way to go! Johnny you have great ideas.

    Take a look at my project's blog, maybe you could help me

    http://cubicfoot.blogspot.com/

    ReplyDelete
  31. if i had anymoney i would definitely donate to you.
    u r a genius man.
    the minority report thing... is the future!
    thanks for existing

    ReplyDelete
  32. Hey Johnny! Awesome work you did.

    I had an idea, how about placing 2 - 4 wiimotes around you, and then placing the IR led's on a visual display glasses on the corners, and through that simulate a 3d environment into the glasses according to the angle of the head.

    I hope its possible :)

    ReplyDelete
  33. Hi Johnny.

    I'm very interested in following up your comments about identifying computers using an IR Glyph of some kind.

    I'm a schoolteacher working in classrooms of about 24 computers. I've written my own classroom management software, and I've got my own wiimote presenter and whiteboard code. I want to knock these together, the idea is to point at a student screen, press a button and that screen gets displayed on the projector.

    I think we're thinking along the same lines. I've got all the bits, I just need to identify the computer that I'm pointing at and I'm not sure how this glyph will work, given that I'm not going to know how far away from the screens I will be (or how far from the floor).

    I was thinking, three LEDs for each machine - two dots for a baseline, then a single dot raised above that line. Identification of the machine would be the position in the plane of the third dot - somehow. I'm not sure this will fly or that my maths will be up to it? Cabling it all up and providing power to the LEDs is going to be nasty. Any better ideas?

    ReplyDelete
  34. There is a hungarian guy who has won 6 first prices on an innovation contest with his similar idea:
    http://www.3dforall.hu/?q=en/node/4

    ReplyDelete
  35. Absolutely incredible. I've been following and... mimicking your designs for a while now.

    One thing I saw in combination with the "Foldable Display" elements that you presented.

    It would seem that you could use that idea in conjunction with either head mounted Wiimotes to create a simulated holographic image.

    Just like the head tracking display you've shown.

    The only thing I can't figure it how you would, first, allow for it to have a vertical height. (Simulated by projecting on a soft cone or on a slanted projection area.) And second, how to interact with it from a distance without interfering with the projected image.

    Has anyone tried to use lasers as a remote IR source?

    ReplyDelete
  36. As a fan, I had to write a post about Johnny's projects:

    I wish I could be Johnny Chung Lee for a day!

    "What impresses me about Johnny is the way that he has documented his intellectual journey in a very accessible way, by using YouTube and his well-organized, appealing website. Johnny has taken interesting ideas that most would dismiss as silly or impractical, and transformed them into useful, usable applications that hold great promise for future work."

    ReplyDelete
  37. The Whiteboard is a great project, but I have two problems, first anyone know where I can get a stand for my wiimote? And secondly, I'm having problems staying connected to the wiimote, anyone know of drivers other than the widcomm and the expensive BlueSoleil?

    Many Thanks in advance, keep up the good work!

    ReplyDelete
  38. hi~
    I think you can use wiimote and IR pen to transfer the data from one screen to another screen(or computers). as the computer in "iron man". why not ! it's so cool!

    ReplyDelete
  39. Hi Chris,

    The only way that would work is if you have a program running on all the computers to send/receive the data, for example, as you drag it on to another computers screen, the computer that is receiving the data will have to send out a message over the network saying I'm the receiving computer, so send it now.

    And of course, with files such as the 3D technical plans of the Ironman suit it would take a while to transfer!

    ReplyDelete
  40. I've been looking at the white board stuff and I was thinking of some sort of "blinking" scheme (just like remotes to indicate different states. Left click, right click, etc..

    ReplyDelete
  41. Ellis, I think having a non-intrusive means of keeping track the state would be great.

    ReplyDelete
  42. are u making WiiBrain as brain wave input?

    ReplyDelete
  43. Cheap Brand Jeans ShopMen Jeans - True Religion Jeans, Women JeansGUCCI Jeans, Levi's Jeans, D&G Jeans, RED MONKEY Jeans, Cheap JeansArmani Jeans, Diesel Jeans, Ed hardy Jeans, Evisu Jeans, Jack&Jones Jeans...
    gillette razor blades
    gillette mach3 razor blades
    gillette venus razor blades
    gillette fusion blades

    ReplyDelete
  44. Hi Johnny, the foldable displays concept seems really exciting, especially the one featuring the newspaper.Can you share more about how you actually managed to do that? My school project team wants to try to make use of similar technology and create an interactive portable projector so that we can do presentations and engage in discussions anywhere.Unfortunately, we're all business students and have no idea where to start.Please help us.

    ReplyDelete
  45. Really a nice work! Thank you!
    By the way ,the nike max ltd is really good NIKE air shoes ,don’t forget buy the puma mens shoes and nike air max ltd by the internet when you need them . Do you know Nike Air Shoes is a best Air Shoes . another kinds of Nike shoes is better . For example , Nike Air Rift is good and Cheap Nike Shoes .the nike shox shoes is fitting to running.

    ReplyDelete
  46. Have yoou seen this it is happening in first time in styles of jewelery Peridot GemStone. Its comes as different types of prayer box in this type of necklace. You can say your prayer to wear this prayer box. Its very good to be close with GOD' s heart.

    ReplyDelete
  47. transformed them into useful, usable applications that hold great promise for future work."
    Custom Term Paper | Custom Thesis

    ReplyDelete
  48. Awesome, have you tried your blinking LEDs idea? It sounds really cool!NFL Jerseys
    tn chaussures
    chaussures puma
    Tn Requin

    ReplyDelete
  49. Thanks for sharing . great article . all our products are top quality and low prices .
    would you like something to buy ? for example clothes and shoes . ok ! follow me !
    chaussures puma
    Tn Requin
    Cheap Polo Shirts
    Thanks for your post , it is very nice and helpful

    ReplyDelete
  50. Thanks for your post , it is very nice and helpful . all our products are top quality and low prices . would you like something ? ok follow me ! better choice better life !
    NFL Jerseys
    tn chaussures
    Thanks for sharing . great article . all our products are top quality and low prices .
    would you like something to buy ? for example clothes and shoes . ok ! follow me

    ReplyDelete
  51. Latest film "Man Beast Hybrid" Trailer
    The two rebel scientists Elsa and Clive, challenges the legal and moral constraints to human and animal DNA hybridization

    to create a new species, "Dren". This new organism eventually became a pretty long and dangerous female monster with wings
    Dell Latitude D600 battery|dell d830 ac adapter|dell d610 ac adapter|pa3468u 1aca ac adapter|dell latitude d520 ac adapter|5150 ac adapter|d400 ac adapter|d600 ac adapter|nadp 90kb|zd8000 battery|Laptop keyboard|HP Laptop keyboard|c1295 battery|pa3399u-1brs|pa3400u 1brs|HP 365485-001 Keyboard|HP/Compaq Laptop keyboard|Compaq M2000 Keyboard|HP Pavilion zv5000 Keyboard|HP Pavilion NX9100 Keyboard

    We look forward to this wonderful movie please oh!

    ReplyDelete
  52. This comment has been removed by the author.

    ReplyDelete
  53. A lot of very smart people have written in questions and suggestions and wmv to iphone
    avi to iphone converter I think a lot of them are very clever and worth sharing... and I'd

    ReplyDelete
  54. hey
    i was wondering for your multi tracking screen,
    why not use a wii mote instead of a complex system of sensors and "grey" projection?
    if you mount 4 IR LEDs to a surface, then point one wiimote, could you not track the surface?
    im not much of a programmer, but if you can put this into reality, it would be pretty fun would it not?

    ReplyDelete
  55. This is really a nice blog, I appreciate you for telling us so nice things, thank you!By the way, if you like nike tn you can come here to choose! We have a

    lot of
    nike tn,tn chaussures,
    nike tn chaussures
    nike tn requin chaussures,nike air max tn chaussures.
    nike homme chaussures,
    nike femme chaususres,
    nike enfant chaussres,
    MBT France
    vibram
    If you want to find the shoes according to the sorts, then here you can have the informations,
    we classied the shoes in nike presto,
    nike air max,
    nike air rift ninja,
    tn requin,tn pas cher
    vibram

    fivefingers
    ,
    converse.
    At the same time, the vibram also offer you in our store.
    You also can choose the most fashionable sunglasses here, it really can make you different from other people. We have
    sunglasses,designer sunglasses,
    wholesale sunglasses,sunglasses discount in USA.
    They includ men's sunglasses,women's sunglasses.
    So many fashion brands are for you,like Dior Sunglasses,
    Emporio Armani Sunglasses,
    Fendi Sunglasses,
    Giorgio Armani Sunglasses,
    Gucci Sunglasses,
    LV Sunglasses and so on.

    ReplyDelete
  56. This blog post is very cool, I like it very much, my eyes are brighter now.
    Thanks.

    online writing service
    writing service
    writing services
    writing agency
    buy essay

    ReplyDelete