Added: 1 year ago
From: okreylos
Views: 177,007
Sort by time | Sort by thread (beta)

Link to this comment:

Share to:

All Comments (313)

Sign In or Sign Up now to post a comment!
  • just wondering...

    if the IR light disturb each other then why not use polarized light?

    3D cinemas uses that technology and it works at least better than those R/B glasses.

    oh and the glasses cost 1 $ each(or free if you go watch a 3D movie) so 2 $ for a set of 2 glasses that probably work better than using no lenses

  • Comment removed

  • could you use multiple camera filters on the Ir emitter and camera to get a diode effect? a shift of just a few NM should suffice.

  • This is fantastic, i'm curious to the audio delay, what is it that causes the processing delay?

  • @martync1988 If you're referring to the non-lipsynched audio track, that's due to me not correcting for it during capture.

    That said, latency of the 3D video is quite low. The Kinect delivers 30 images per second, so it has base latency of less than 30ms for internal processing, and a few ms to send a frame pair over USB. Then there are a few ms of unpacking and reconstruction time on the PC side, plus display latency. I'm estimating overall end-to-end latency in practice to be around 20ms.

  • @okreylos This half-frame delay is nasty, and I consider it nearly impossible to compensate it in realtime. Really annoying...

  • Why not put a porarising filter on the ir emitter of one of the kinects, to polarise the light, and then put a polarising filter on the camera lenses of the OTHER kinect so that it can't see the first kinect's ir light?

  • 2 Kinects facing each other with polarizing filters.. no big problems with reflected light. Then do it with 4.. No strobe hack required..

    You could ask Microsoft about a Kinect revision with this feature.

    Why wouldn't they want to sell 4 per costumer?

    Simple "Hey Microsoft do this and we will buy 4 Kinects each"

  • Using multiple xbox kinects would be possible in a phased array configuration. Like he said, this would require additional hacking of the Xbox kinect. You would have to "chop" the signal so only one xbox kinect were on at a time. Ok internet, get to work!

  • 2Kinects, is possible, but I think a large amount of work would have to be put into combining the two's point data into a cimbined, averaged, mesh.

    Of more importance to me would be the ability to use two cameras in the motion capture setups. Though I think this would require quite a bit of tweaking to the NITE code... is that even opensource? I really want to see it happen though.

  • Doritos crash couse 4 the kinect would be EPIC!!!

  • Comment removed

  • looks like borderlands

  • would it be possible to create an anti-blackshadow buffer? I mean. to fill the blaknes with the last non shadowed 3d images. this would not work for your body but it would for the background and anything still... kind of a 3d video compression: Only showing and what is changed (exept of non-data-shadows) in real time and what´s not just live it like it was.

  • I am sorry I did not read all 300 or so comments to this video, but let me suggest a hack for the multiple Kinects scenario: the basic idea is to fine tune the bandwidth of the infrarred emitter, so that every kinect emits and detects only a particular bandwidth of the infrarred spectrum, in a similar way that channels work in WiFi. Whether this can be done done through the API of the opensource driver of the Kinect is unknown to me, but the modifications to the hardware/firmware would be subtle

  • @Aswarp Ok, now I watched the other videos through and I know that you made it. Congratulations! BTW, I obviously meant wavelength, not bandwidth...

  • @Aswarp see my comment below. Wavelength is, of course, inversely proportional to frequency, so this is basically the same idea.

  • lol one kinect camera makes 2d sex

  • It's probably far fetched but I was wondering. If you were able to alter the frequency of the projected pattern of infrared in different kinects and correspondingly limit the cameras to that particular kinect's frequency, would that be an effective way of eliminating the interference that you described?

  • @beelzebobo that sounds like a sweet idea! Seems like that would solve the problem

  • Strange.. I had a dream about this many years ago.

  • Mean need buy other a Kinect for behind background? What game can effect during play ? its very weird

  • isn't that sorta how they filmed those scenes from the matrix?

  • why do you look like the guy from lost??

  • the bigger question is... WHO THE FUCK CAN AFFORD 3 OR 5 KINECTS!?

  • how do you use kinect to record ?

  • microsoft should hire this guy.. maybe learn something from him..

  • If full 360 degrees becomes possible, we can use it in movies and we can see movies in all angles as the watcher desires. I can watch it anyway I want! Damn... that would be tight... if I watched Transformers or Iron man, etc... with it, it would be Jesus!

  • Interesting! I wonder if small games studios could use these as motion capture for 3d model animation, rather than large, multimillion pound camera rooms?

  • Cross talk would be a issue. its a major issue. It will cause ghost in the image.

  • Maybe it would be theoretically possible to use multiple units by polarizing the infrared light the kinect units send out and using corresponding polar filters on their detection units ?

  • This is so awesome! After you moved the view around, at 0:27, you are actually not looking into your camera, right? But since the angle is moved in the computer, it still looks like you do?? That's very confusing =P.

  • @Anto0044 Good question, I don't recall. But judging by the direction of the "shadows," I am looking into a virtual camera that's maybe a foot off from the physical camera.

  • this sux

  • Damn feels like an acid trip....only if i was on acid hmmm. Lets try it.

  • if both sent out the signals at different times then maybe you could have 2  working together-

  • What is the IR thing was sending out IR light in different "colors"?

  • how did the mirror thing went??

  • What if you alternated the cameras really fast, with pulse width modulation? Much like they do when they make led scrolling signs.

  • YES IT IS POSSIBLE,

    see video on youtube:

    "Real-time People detection and tracking with multiple Kinect cameras"

  • @alexutubeutube Yes, we've known that for a few days now. Check "2 Kinects 1 Box", /watch?v=5-w7UXCAUJE

  • Hey what if you use some sort of mirror and put it behind you while its filming the front of you

  • You're getting 100FPS from a single unit, right? So if you have four Kinects, 90 degrees from each other, can you not strobe each Kinect individually at 25 or 30 FPS? This way each Kinect is timed so that only one is active and projecting its pattern and capturing data, thus no interference. Because the results would be interpolated it may give funky results with fast motion, but overall I think it would work well.

  • @gge5 The kinect sends depth and color images at 30 fps each. The higher frame rate displayed by the program is because the two types of images appear independently, so the program updates the display at least 60 times a second. And since the data arrives "bursty," and the software median-filters displayed frame rates, it shows up as higher.

  • @okreylos - Is the laser diode rotatable? From my observations of ifixit's teardown, it looks like it's just a tiny component that could probably be rotated 90 degrees. That way, with polarizers in front of the camera, you could have two Kinect's capturing 3D video of the same scene at the same time. The cameras are not polarization-sensitive, so it should work.

  • nice degress

  • 40 FPS =D

  • Maybe you could programm kinect to save the images in a queue and if they get this 'shadow' and the software has this 'shadowed' area saved, it loads it and display this image until it gets a new image of the 'shadowed' area not 'shadowed'.

    Gosh, that was confusing lol

  • @guilhermelhr No, I understand. It's hard, but doable (to a certain extent).

  • the less i understand the comments, the more i know there good

  • thats looks cool, dunt get rid of the "nasty shadows"

  • that looks cool dude, i dunno why u wud get rid of the "nasty shadows"

  • Lol you could make a music video! Some of those look like this video! LOL

  • I'd bet we can change out the IR source and filters for each connect to run with it's own Infrared frequency so that two to three will not interfere with each other.

  • I guess you proved yourself wong, lol.

    Great work.

  • You know the composite shaped (like at mcdonalds and banks and such) security cameras that seea rounded image? if you could get them to record inwards and fully cercular and get into one (a very big one) you should be able to get both a 3D and holograpgic image (to be viewed fron different prospectives)

  • kinect catching pedos ohhh yeahhhh

  • Nerds Rule!

  • you´re a Genius, its possible and ones retarded when say me "Microsoft copies Nintendo" but not´s true, i´ts something original when must made it, sorry 4 my bad english, over 9000 thumps up!

  • Possible solution for multiple kinects: Just switch around, so that at the time only one infrared pattern is active, then switch to the next kinect etc.

  • lol 3d messy room, the horror

  • lol you look like the guy from eminems video "love the way you lie"........

  • That is not true , ROS guys have connected two connects together looking at the same seen and it works well. There is still interference but very little

  • @alphalegion Check my latest video showing two Kinects in the same scene at the same time.

  • @okreylos if there was 5 Kinect, would it be like totally 3d. Top, Left Right,Front, Back.

  • you got a 3d glasses! check the free izd3 driver to convert anaglific games on your pc, and then try to cobine whit this, im very interesting in that technology too greetings from mexico! :D

  • @getsdhc Not necessary; the Vrui toolkit underlying all this already does many kinds of stereo, including anaglyphic and several modes compatible with 3D TVs.

  • is it possible to interface the kinect with any pc games .. fps especially , has anyone done it yet?

  • @Daisycutt3r Not yet, to my knowledge, but it's bound to happen soon.

  • @Daisycutt3r  Someone just did that with Minecraft rofl.

  • @Christianmarquez *punch blocks*

  • Holy shit no dislikes? AMAZING

  • @manacycler So... there's one =) You'r welcome

  • @manacycler nope 2 confused ps3 fanbois lol

  • what if you triangulated the cameras out doors at a distance? would distance fix the rays from interfering or would it be harder to get a 3d reconstruction at a distance?

  • 2 kinects? 300 euro?

    go buy a f... ps3

  • @TanoSoft And then... do what? Play games with it? How quaint!

  • @TanoSoft yeah course the ps3 move works so well and is cheaper not

  • @TanoSoft lol your kinda missing the point there fanboi

  • I'm not sure if someone already suggested that, but wouldn't it be possible to adjust the function of the Kinects to switch off and on in a quick sequence so that there's only one being on at one moment in time, kind of like how 3D TVs work?

  • Very nice you were on English TV

    You can fined your self at, BBC iplayer .com

    On " click "

  • Why not use differenet wavelength IR sources in each cam and differential bandpass filters to block out the wavelengths used by the partner cameras?

  • @moses5407 You pretty much took the words out of my mouth. I think that should work also.

  • The Kinect coupled with image to sound translation could be an amazing aid for visually impaired people. It could be couple to patterns of reflective studs on items and bar or QR codes to identify objects @davidfcox

  • a device could use modulated infra-red light to project a pattern and tuned receivers which would allow multiple devices to work at the same time. @davidfcox

  • this guy is so cool, I want him to be the narrater of my life.

  • Maybe this has been said already but is it possible to move the camera around an object and capture images at different times to recreate that object and still allow it to move freely in the environment? I'm think capture multiple images of a person at different angles and the recreate that person as they move.

  • Another idea: perhaps you can use some form of time-slicing, ie turn kinect projection on/off at fixed intervals, or even take sliced input from different kinects and combine

  • I'm too lazy to check all of the comments, sorry.

    Suggestion: how about using filters, or even a polarization filter?

  • Could you not Cycle the kinects? Like Kinect 1 would take up a milisec of recording data than shut off, and kinect 2 would turn on and record and turn of and than Kinect 3 would turn on and record and shut off. and just repeat the cycle. The may be some delay, but I would be nifty to see if it could be done.

  • @Lastknownuser I was about to propose the same thing =)

  • Can each Kinect broadcast a slightly different wavelength of IR and only pickup that wavelength. This way, the other Kinect's wouldnt get confused.

  • this technology combined with the google earth street views cam used by a game company with great funding like rockstar could ammount to an actual real-sized 3d reconstruction of a major city for a next GTA game... wouldnt that be something?

  • Using Multiple Kinects:

    If not polarising the light, what about alternating the kinects at a fast rate, ie, like a shutter system for both the lens and the IR (hardware or software)

  • About polarising the IR, it would definitely be worth trying. The only problem would be if the polarisation of the IR dot changed too much when it hit certain surfaces. Perhaps not a huge problem?

  • @MWhybird Most surfaces don't polarize reflections. One exception is liquid interfaces like reflections on a lake.

  • @okreylos, maybe if you had 2 kinects both aimed toward each other from opposite sides of the room, they would work fine and not see each other's IR dots?

    I expect there would still be a gap around the sides of each object where neither the front or back kinect could see, but perhaps that could be interpolated?

    Registration of the two kinects to know their relative positions would be interesting. You could point to a thin object in both or just manually specify the distance between them.

  • Nice accent.

    But really, I was thinking that if you altered the spectrum input/output from infrared with a different Kinect, you should eliminate interference by making sure they're emitting/picking up different wavelengths. That would entail some fiddling around with the hardware though. (Warranty voiding!)

  • Oh, so everybody thought about it. Cool. I knew it was the obvious thing. Keep trying. One of you will do it eventually. Good video.

  • You may want to consider mentioning the names (or at least usernames) of the people who give you these ideas (the mirror), simply because people get all crazy and sue-happy over this kind of stuff. Aside from that, it's just nice to give credit to the people with the ideas...I'm sure they would appreciate it.

    Just a thought from a non-techy person who enjoys seeing what you're experimenting with. :)

  • @lindseykei1 Interesting point. Of course, proper credit needs to be given. One of the nice side effects about having the discussion here is that all suggestions (good and otherwise) are listed in the comment thread, with the user name of the person who made the suggestion, and a (relatively accurate) time stamp.

    I hope that's OK for people; otherwise I don't really know how to handle it.

  • All these people talking about alternating the two kinects or modulating them are talking bobbins.

    Use a polarising filter for each kinect, and make sure that the two kinects have polarising filters rotated through 90 degrees. That way you could have two running independently and capturing data at once.

  • microsoft should hire him pay him loads of money give him everything he wants and let him do the software

  • Maybe it would be possible to use multiple Kinetics by modulating each one at "different frequencies"... Well, it is not modulation per se, but you get the idea: You could turn-on/off each knetic by a few microseconds so their infrared rays won't interfere with each other... then you can reconstruct the full image aftterwards... It may cause some jitter, and it may require a firmware change as I don't know if it is possible to have control over the infrared from "outside".. but it looks doable

  • Hey what about polorised filter on cameras and filters ? Like used in 3d films now a days

  • This would probably escalate the complexity of the programming a bit, but.. wouldn't it be a possibility to achieve full 3D projection with multiple Kinects by making them record the frames sequentially? ie. if Kinect A records frame 1,3,5,etc and Kinect B records 2,4,6,etc, or at a larger span of frames and both "strobing" on and off. That would eliminate the IR interference problem and produce two separate captures from different angles at minimal time difference.

  • Here is an idea for running multiple Kinects simultaneously which may require mods of the Kinect software.

    Put multiple Kinects around the room. Have Kinect 1 capture a 3D image of the room. Then shut down/block Kinect 1and take a frame with Kinect 2. Repeat with any other Kinects. Use your software to merge all the images.

    This solves the problem of having the infrared light interfere with each Kinect without major hardware mods.

    P.S. Do you now have the right to patent your ideas?

  • Comment removed

  • @okreylos, surely you could use multiple Kinects using polarising filters? If the two kinects used a polarising filter over the IR array, and a polarising filter in the same orientation over the sensor?

    You could rotate a second polarising filter through 90 degrees for kinect number 2, and they shouldn't interfere with each other.

    Much cheaper than hacking the hardware!

    Love your video and the live 3d. Incredible.

  • @MisstraD Good idea. You can find Polarizing filters in every lcd display. It's possible that you need extra IR-leds but they are cheap. Good project.

  • @HvdHaghen When the camera uses a lazer, the light must be already Polarizeed. Than one of the cameras must be turned 90 degrees. Good chance there is a Polarizing filter on the camera. Easy to find out when you turn a Polarizing filter in front of a working camera.

  • @MisstraD umm........ What?

  • @MisstraD Whatever this guy said!!! lol. Sounds like a good idea.

  • Can you just process alternate frames from the Kinect when building up your depth map and image?

    If so, why not have the lights on two Kinects set up so that they're only on when the other Kinect's lights are off? Do this with 4 of them and- while you'd lose out on update rate- you could have an all-round view in 3D (at about 25fps, which isn't particularly bad).

  • another idea I had was an Xbox360 accessory(like Kinect) that was placed above the gamer (in the same position as the light fixture that more than likely was already there when the home was manufactured)It could be hard-wired there replacing(or along with)the light.This unit could project IR downward(a constant beam of UV light spinning like a fan blade).This light(along with the Kinect looking directly at the gamer)could increase the 3D/4D image of the gamer....just another thought,lol

  • PARABOLIC MIRROR PARABOLOID CONCAVE CONCENTRATOR, lol...that's what I was thinking! :)

  • Just spit-balling some ideas. Please do not stop your journey of improving the Kinect, you may just revolutionize the gaming industry. Good luck sir!!

  • Keep in mind that you could also use "flex mirrors", they are a plastic type of mirror. Maybe these can be used to concave/convex the image? They make them in all sizes (including wall size). Also a "tint" could be applied, similar to the tint on car windows, but you could use a UV filtered type of tint. I think if two Kinects are looking right at each other they will blind themselves (like looking directly into a flashlight), but maybe if the IR were two different colors they might worktogether

  • This is just an idea coming out of a mind that has no experience with infrared light but could you possibly have each connect using a slightly varied frequency of light, only picking up that frequency so that each connect does not interfere with each other. Maybe have a lens that you put over the projector to change the frequency, then another lens for the receiving camera to return tot he original frequency to avoid any major hardware modifications.

  • How about a Cylon Centurion eye scanner? Similar concept?

  • Awesome work man, I'm totally impressed! Can you put opposite polarizing filters on the two Kinects to separate their IR signals? It would cut the light down by 50%, but that might still be okay for short ranges…

  • Comment removed

  • Wikes and Wilson built a body scanner using mirrors and fringe imaging, so my guess is, it can be done with mirrors, I also think it can be done with filters.

  • Can polarisation filters be used on infrared light? In this way you could filter out the raster you don't want to see.

    In the same way 3D movies in the cinema's work now..

  • Comment removed

  • Comment removed

  • search for "Robots get down and dirty" on google. Using kinect to map the environment might be a cheep way to $750000

  • What if you add a filter to the infrared so it will not be exact?

  • @Fibr3Optix I agree, it should be achievable through filtering.

  • Based on testing by Jaques from openkinect team he did not see a great deal of interference when kinect was 6 to 7 feet and 120 degrees apart. I did test mirror and you can pick up reflected dots but maybe difficult to calculate if they were a reflection or not. The scan room and build 3D mesh models seems like a great solution and the wearable kinect idea or the robot kinect that scans room is a good low cost option. ROS team as working on this and I believe have 6 kinects hear

  • How about one kinect and multiple video cameras which are placed at a specific depth and location. So you know where the images are in respective to the kinect. Also why not block the IR projector of the other kinects and then use the IR from the first kinect to see for the rest. Although this could cause issues with objects blocking the IR. But I think using multiple cameras with one kinect should work.

  • @awasteofaustinstime multiple cams with one kinect would help fill in some of the shadows but would not supply depth information for a perfect 3d environment. Multiple kinects using the same ir beam would give distorted depth info and since the processing is done onboard i don't see a simple software solution either. I think.

  • You could connect an arbitrary number of capture devices and go through them round-robin so they don't interfere with each other.

    It might also work fairly well to make a model of the space, a model of the subject, by moving around the capture device and then use the single device in a fixed location to animate the models and patching in live-data for things like facial expressions.

    Something as simple as a polarizing filter on light source and camera might also work up to a certain number.

  • Actually, if you use a mirror, shouldn't it think the mirror has depth, and make your program make your room longer? Mirrors are not the same from all angles.

  • @Beeh0 Think of a mirror not as a glass plate, but a portal into a virtual world where left is right (actually, where front is back). So (without having tried), a Kinect would see my reflection in a mirror simply as another Oliver who is sitting behind the mirror. Now here's the trick: if I know where the mirror is, I can flip that virtual Oliver back into real space, and can make it match the missing half of the real one. Tricky math and programming, but could work.

  • @okreylos

    I do have 1 idea for you when it comes to using 2 kinects. I noticed the frame rate isn't perfect - which is a good thing. If you were to put 2 kinects on opposite ends of the room, you could make them strobe infrared light asynchronously and try having them only process the frames in which the light is on. So in other words, in 1 frame, one of the kinects will flash an infrared strobe. In the 2nd frame, the 2nd kinect will flash its strobe. Then it reverts back to the first kinect

  • @okreylos The only problem with that mirror stuff is that if it is painting an IR grid on everything the grid would not extend into the mirror in a regular way.

  • @okreylos Are you sure? It wont get any depth perception from the mirror, its a flat object, the image is virtual. It would give the camera a different perspective, but the IR detects a flat surface. The programming would have to mix the origional 3D image with a 2D image. Im guessing upscaling 2D to 3D doesnt work out easily, hence the need for IR stuff.

  • @lfo98 Yes, as long as the mirror is IR-transparent (not all glass is), the Kinect wouldn't be able to distinguish virtual objects in the mirror from real objects. Think about it. For a camera, or anything that's based on visible light, a mirror does not appear to be a flat object, but a "portal" into a virtual world.

  • Comment removed

  • @okreylos Wouldn't the mirror reflect the IR light back into the room and interfere with the capture of the room itself, or would that reflected light only reach the surfaces not visible from the Kinect's angle?

  • Comment removed

  • Part of my comment was removed so I'm having to add it here,

    As long as you ensure the kinects are atleast at rightangles to each other, they wont be able to see each other's projector IR field. (even with something like a sphere in the middle of them, they wouldn't be able to see each others IR dots).

  • @JonnyCasey I think you're forgetting something; someone else please check this. Even at more than 90 degrees apart, the two could still see each other's'points. Imagine the two projectors forming a V, and the tip of the V is the point where their lines of sight intersect. Now place a flat surface at that point, which is parallel to the baseline of the V, i.e., like this: V __ Then according to mirror laws, the two Kinects will project right into each other's cameras.

  • @okreylos Ah very true. Having two facing each other would not have this problem am I right? (if you also incorporate the blind spot technique I mentioned bellow)

  • @okreylos Ah very true. Having two facing each other would not have this problem am I right? (if you also incorporate the blind spot technique I mentioned bellow)

    This would only give a back face though, It wouldn't help with the shadows would it. :(

  • @JonnyCasey I believe that is correct (both parts).

  • If the project IR field of the kinect is less than 90° then you should be able to possition 3 or even 5 kinects so they do not overlap.

    However, You can simply add a tiny blind spot to each of the kinect's IR projectors for the opposite kinect to reside in so as to prevent them from blinding each other. Then intorpolate the Z depth from the surrounding Z values around the blind spot (much like the human eye works). Use bluetak to add a blind spot to the IR emitters.

  • OK, I'm a bonehead. We're discussing the ins and outs of using multiple Kinects for full 360 degrees capture, and I forgot that I have an old video showing our previous 3D video system. I want all of you to watch the "Immersive 3D Video" video I posted as a video response. It shows what full 360 degree capture can look like. Don't be put off by the quality; it's an old renderer using only points and no triangles.

  • @okreylos You can simply add a tiny blind spot to each of the kinect's IR projectors for the opposite kinect to reside in so as to prevent them from blinding each other. Then intorpolate the Z depth from the surrounding Z values around the blind spot (much like the human eye works). Use bluetak to add a blind spot to the IR emitters. As long as the projectors are more than 90° from each other you wont have a problem with them seeing each other's IR projections.

  • For use 2 or more Kinects , need switch on only one in same time , other switch off. If you make right frequency you can take info from every cam.

  • How about having two kinects interlave?

    Both would have half the framerate and would not interfere with each other's work.

  • Oooooh. Right. :-)  Thanks for explaining. You rock.

  • and to think.. I thought this thing sounded cool before you explained it in more detail. Good videos man.

  • I should add: the reason I'm so impressed with the Kinect is that I already have a bunch of other 3D cameras in my lab, so I know their limitations very well. In comparison, this thing is awesome.

  • What about using just another standard Web cam, to feed more informaiton into the 3D scene? It would be cheaper than a second kinect too. Maybe you could have the web cam at a KNOWN position to the kinect, or use a cube of known size to help with the calibration. Best of luck. I hope I am helping this project, just a little bit. You are the true genious, doing the hard work. OR, polorized lens on the IR emitters, and sensors. 1 kin sees through an up down filter, the other see left-right filter.

  • @Shakespeare1612 You might not believe me now, but that is one of the first things I thought when I found out the Kinect uses active sensing. There are pure stereo-based 3D methods using multiple regular cameras (I have two clusters of those in my lab), but they have serious problems. Using the Kinect as a baseline should give the regular cameras a better starting point, increasing quality.

  • @okreylos I believe you, but it is flattering to know that I think like you.

  • If a second kinect throws out an interfering IR pattern, what about using just another standard Web cam, to feed more informaiton into the 3D scene? It would be cheaper than a second kinect too. Maybe you could have the web cam at a KNOWN position to the kinect, or use a cube of known size to help with the calibration. Best of luck. I hope I am helping this project, just a little bit. You are the true genious, doing the hard work.