I have a question about the " editing KinectViewer.cpp to load multiple
cameras, which is currently hard-coded". Could you be more precise as to what is hard-coded and should hence be changed. I've tried something but am getting the error submitting transfer error. (Ubuntu 11.10)
@alaska1983 That error is a hardware problem; you can only plug one Kinect into one USB bus. You'll have to look for USB ports that belong to separate buses. Usually, desktop PCs have one bus to the front ports and one bus to the back ports.
so i dream of using a kinect hack, for a art installation only problemis i do not understand all this computer talk, is there a way i could find a program that can be easily obtained?
I've looked at your work and open kinect and I'm trying to understand why, in both cases, new users are required to compile and build the program from the source. Why not release the complete, self-contained app? I understand that it would only be one configuration of the program, but still, many may not want to adjust the configuration and may just be interested in using it exactly as demonstrated for practical purposes.
@ThePhatClassics That's a matter of who bears the burden. Apps are per-OS, meaning I would not only have to create the software, but then, for every release, build it for Fedora 13, Fedora 14, Fedora 15, Ubuntu 10.4, Ubuntu 10.10, Ubuntu 11.04 (all in 32- and 64-bit versions), Mac OS 10.4, 10.5, 10.6, 10.7, Debian, ... what have you.
On the other hand, someone downloading the source merely has to do "make" followed by "make install." Ain't so bad.
@okreylos I understand your point a little better now. Since that last post 2 days ago, I've become quite familiar with both Fedora and Ubuntu and got Kinect Viewer working. I'm motivated by an imminent project deadline for a 3d development class.
Now I'm having trouble configuring. I gathered 70 tie points. I even put a spotlight atop the kinect to illuminate the disc. Nonetheless, the resulting calibration is far in accuracy from what you've shown in these videos. Advice?
I was wondering if there is way to measure the calibration precision. For example, I tried to calibrate my kinect but it seems that it didn't work that well even with 14 tie points. Is it possible to know what went wrong and how to fix it?
@ezekielnin You can visually judge alignment quality by putting a known object (a box, say) in front of the Kinect, and seeing how well the color texture matches the 3D geometry. You can quantify this by measuring the 3D displacement of the texture and the 3D model using the built-in 3D measurement tool.
That said, the calibration method described here was extremely ad-hoc, and is now obsolete. I'm currently packaging the next version of my Kinect software, which has a much-improved method.
Hum, I ran ./bin/KinectViewer and it gave me a error message with the kinect serial number haha so I finallay managed to calibrate my kinect, but not as good as you so there is a lot of occlusion. Any advices chief? I ran 14 tie points... thks a bunch!
Hi Okreylos what kind of data kan i export from Vrui?
i love to get a rgb image and a point cloud to then use in 3D applications.
my goal is to scan in props at a greenscreen studio, to then export the data to my 3D-modeller so that he has a good reference to start modelling a stand in object for that prop.
i will take a look at your software tomorrow. so far i am impressed! :)
@Michb3ck No, it would be possible to port Vrui to Windows, but I'm not planning to do it. I don't develop on Windows at all. I think someone started doing a port, but got stuck in several places where the Windows programming model doesn't mesh with the UNIX way of doing things very well. It would definitely be an involved process.
@cbishop327 Looks like your calibration is OK, but the projector transformation file has the wrong content. I assume you created a ProjectorTransform-XXX.txt file; simply put a single line with "identity" (without the quotes) into it. That should do it. That file is how you set up external camera parameters, i.e., how the 3D space captured by the camera maps into the 3D space used by other cameras, or the rest of the application. For a single camera, the contents don't matter.
Great stuff! Just got it working on my MacBook. An observation and two questions:
1. I can easily see the kinect IR dots all over my room in my color video feed.
2. Are there options for kinectviewer, so that it would be possible to do something like automatically rotate the image so that the viewing angle is that of the 3D camera, that is, so that the shadows disappear?
3. Have you looked into collaborating with an OS X person to try to create a .kext for video capture?
Can't someone make an already-built version of this thing? It's not that I'm lazy - I'm willing to follow the instructions, but this jazz is simply beyond me.
can we built a Kinect by ourself. I mean there are 2 cameras right. so if we mount 2 cameras in apart and process them through kinect sofware right???
@rukey3001 this is not as easy as you think. there are 2 cameras, but one is for color pictures and the other one is for infrared-light. The 3D information is not computed with the 2 different camera pictures it is rather retrieved by an infrared-light pattern whereby the distortion is recognized.
To answer your question: No, or the development effort is incredibly larger compared to the cost of one kinect.
Hi Oliver, Thank you very much for this interesting work. I have a question: when I used the commande line: ./bin/CalibrateCameras , I got this: Result: s = 0.499133, t = 0.248785
Result: s = 0.468841, t = 0.293296
Result: s = 0.550222, t = 0.25861
Result: s = 0.15603, t = 0.507719
..etc,(I m using 12 points for calibration) what does it mean "s" and "t"? How do I know that my cameras are well calibrated? because I had a result very bad...? Cheers
Oliver! Thank you for this tutorial. I have been successful at running Vrui and KinectViewer on Ubuntu. It took a bit of hunting around for all the packages. I'm looking forward to playing around with this a bit.
Do you have any suggestions for projects gearing towards gestures in 3D space?
I have a camera calibration algorithm written for matlab.
Last time i checked i used at least 5 points to calibrate 8 parameters in 2d.
I nixed from the algo all the 3rd dimension equations since i didn't need it for the project, but the theory is still there. If i remember correctly there are 11 parameters for the same degree of accuracy with 3 dimensions, so you theoretically need 4 points. If you'd like details i can give you no prob. Contact me.
Also if you don't mind exchanging info, i'm an electronics engineer working with automation and control systems. I pretty much like to play around with tech like you, but i also have a decent background. I'm very interested in the multi-kinect setup, but i doubt i'll get more then one any soon. So i'd like to exchange info with you if you please.
@eruptera Hi, thanks for the email and the links. I wrote camera calibration software based on homographies for a related project, but until now I didn't have an idea of what calibration target to use, since it needs to have a noticeable pattern in the color *and* the depth image. Now I have a plate of glass with white paper squares glued to it, forming a checkerboard both in color and depth. I'll adapt the calibration code next.
@SmallFox74 It only prints numbers if there are two current tie points, one in color and one in depth. The first three numbers are the 3D position of the depth tie point; the last two numbers are the 2D position of the color tie point.
@okreylos I got it, thanks alot... btw, could you give me an eg. of a kinect serial number so i know what to look out for when i run libusb. Theres an awful lot of info spewed out! :)
youre german, right? Ich weiss nicht ob du die Kommentare alle liest, aber egal.
Ich habe ein paar fragen zu VR. Ich hab mir die instructions zu der low budget version angesehen und es sieht sehr interressant aus, vorallem die KeckCAVES.
Koenntest du mir nochmal erklaeren wie die lowbudget version funktioniert und ob es nicht inzwischen bessere komponenten gibt? Hab kuerzlich erst ein Video gesehen wo die Wiimote, plus sensor, zum Headtracking benutzt wurde etc. Danke
Is there any possibility of building this for Windows? I know the Mac/Linux users are stoked about this, but I use Windows along with many others as well. Just a request.
I know this is probably miles away in our little hacking journey but have you thought of making some kind of bvh export setup?
It seems since your software recompiles a 3D image from the camera's output maybe you can make some kind of estimation algorithm to track certain groups of vertices to the bvh skeleton?
I still love your software though, this is excellent. I can't wait to see the future of this. Possibly like I said before, a $149 dollar mocap system? :)
Oliver asked me to post my experiences with compiling on Mac OSX 10.6.4. I was experiencing a Segment Fault until I changed the entries for GL_BASEDIR, GLU_BASEDIR and X11_BASEDIR to /opt/local in the Packages file and recompiled. Various libraries were located in /opt/local instead of /usr... Hope this helps someone else. This is great stuff Oliver. Excellent job man!
Thabnk you so much for your help, I have been struggling onwards and have managed to complete steps 1 to 7. however, on step 8, "8. make" i get the following in the terminal...
paul@ubuntu:~/src/Vrui-2.0-002$ make /bin/sh: /usr/bin/g++: not found expr: syntax error ---- Configured Vrui options: ---- Installation directory: /home/paul/Vrui-2.0-002 Run-time library search paths enabled Realtime library uses timers Multithreaded rendering disabled PNG image file format disabled JPG image file format disabled TIFF image file format disabled ALSA sound device support disabled etc.... Any help would be gratefully recieved! I'm pulling my hair out here!! :)
@SmallFox74 g++ not found means the C compiler is not installed. That's very strange, it should definitely be there. Try sudo apt-get install c++ and see if that helps.
Sorry you're having so many problems. Also try the Ubuntu support forums; they usually have people there who know Ubuntu very well (I don't, really).
@kapouGR In a nutshell, manual measurements and regression / manual experimentation until the 3D reconstruction fit the real objects. I can't say it was a pretty process, or very reproducible. Several people are working on an automatic calibration procedure.
@okreylos Thanks for the information. I was wondering if the reprojected Depth_pixel's Z value is consistent or close with the other formula that's being used (100/(-0.00307 * rawDisparity + 3.33)) . Is it in cm for example?
@kapouGR My formula and the one you posted are nearly identical; 1084 vs 1090 and 32573 vs 34400 after you factor it out. Those are within measurement accuracy. My formula directly gives distance in cm; this one is just a different unit.
I am so keen to try out this software release from oreylos that i have installed ubuntu onto my pc for the first time!
i am suffering from major headaches trying to install it though! Its been 4 hours now and i ain't getting anywhere 'cept i've realised tar.gz is basically a "zip" file and i have unzipped it to my desktop (Vrui-2.0.001)
If ANYONE has the time, i would very much appreciate a video tutorial on how this is done, or a comment to point me in the right direction would be nice also!
@SmallFox74 Good for you! Here's a very quick rundown: 1. Download Vrui-2.0-002.tar.gz; note download location In terminal: 2. cd ~ 3. mkdir src 4. cd src 5. tar xfz "location and name of downloaded .tar.gz file" 6. cd Vrui-2.0-002 7. gedit README (for detail instructions) 8. make 9. make install Repeat same basic process for Kinect-1.1.tar.gz.
@SmallFox74 YouTube mangled the comment. What I meant was, note down the location and name where the web browser saves the .tar.gz file (for example, /home/username/Downloads/Vrui-2.0-002.tar.gz), and then use that location/name when you run tar xfz later.
@sorphin Not with my current calibration procedure. Use an old CD or DVD, and glue a paper disc to one side. Attach some kind of handle to the other side so you can hold it without touching the disc itself.
if you want i can provide a better procedure of calibration, work of my master thesis.. i am working on the device and the software. This different way is a little bit more difficult but very precise. Atm i am not a c programmer and i must try the data in matlab.
if you want i can provide a better procedure of calibration, work of my master thesis.. i am working on the device and the software. This different way is a little more difficult but very precise. Atm i am not a c programmer and i must try the data in matlab.
I really don't ever remember using a mac that was limited to one mouse button. =P I've seen people with the right mouse button configured as a left click, however, which is silly and would explain the confusion.
@snapf00 This wasn't meant as a dig against Macs -- I have one myself. But in Vrui, you need to be able to press two mouse buttons simultaneously, and you just can't do that with the Macbook's touchpad, no matter how you configure it. Hence, we rerouted to the Z key.
I'm having trouble finding a good calibration object but I did manage to get some good tie points, would the calibration still work if I used multiple different objects and the camera was in different positions?
@okreylos Ok I tried it with three calibration points (it took me forever just to get those) and it seems to have somehow made the RGB all stripey and wierd it might be because of the difference in position of the camera and object or it could be because the calibration points weren't all that great to begin with, unless of course it needs around about ten to twenty different points to calibrate correctly?
@Halo3WKWYL Yes, three points are not enough (lead to an underconstrained system). You need 6 tie points at least (since there are two equations per tie points, and 11 unknowns), and I recommend using 10 or more tie points to reduce the effects of measurement errors.
@okreylos Oh right, I'll get more points tommorow because it's getting pretty late here and tell you if it works regaurdless of object used or position of camera or not.
Won't it be easier to setup a GitHub account page :) and a Google Groups page! If you need help doing that or managing those pages, let me know! email: mhm @ chromium.org
@benjamino2211 Are you using Mac OS X 10.6.x? Apple screwed the pooch on OpenGL support, so expect some bugs. If you rotate the flat image, do you see green boxes appear once in a while? If so, there is a fix: Open RawKinectViewer.cpp, find all lines like glVertex3f(...,...,0.01f); and replace the 0.01f with 1.0f.
@benjamino2211 Check the csv file with a text editor. There should be no spaces in it, just commas between the values, and no trailing commas at line ends. You might also have an issue with MS-DOS vs UNIX-style line ends (and my software really shouldn't care, but it might due to a bug). BTW, you want UNIX-style line ends -- LF only, no CR/LF.
@benjamino2211 Hmm. Well, it would be trivial for my code to just ignore spaces, but the CSV specification says explicitly that the files must not have any, so you can blame that one on the people who wrote up the specification. ;)
@mrwulff123 Sometimes the Kinect gets into a funky mood, and refuses to send data. Try "USBTest reset" first, and then try RawKinectViewer again a couple of times. That usually does it for me.
With the new initialization code sequence I'm not seeing that problem anymore, but if you've never had the Kinect talking to a PC before, it might be in a bad state.
@mrwulff123 From your log, it seems that your USB system is not recognizing the Kinect device at all. Could you try running USBTest or RawKinectViewer as root, as in sudo ./bin/USBTest reset? Maybe it's a permission issue.
On Linux at least, you need to run the software as root unless you set up special udev rules.
@irving94 You can see my "green screen" in action in my other video, "Kinect and Wiimote and Nanotech Construction Kit." It doesn't look so good because I had poor camera calibration; that was before the procedure I'm describing in this video.
As for 3D video chat: "stay tuned" is all I can say.
When the target is close to the cam, slightly twisted towards the sensors´ plane, it seems that it is harder to get the target detected right. (Maybe caused by a bigger amount of different data / area with more pixels?)
@GWebMa Good point. The code is rather simple right now, and looks for constant depth values across the disc's face. So if the disc is angled, it won't work right. This gets worse close to the camera, because the reported depth values are inversely related to distance, and the cut-off threshold in the code is in inverse distance units. So the farther away you are, the more lenient it gets.
is it possible to match the correspondence points manually, i.e. draw the green rectangles? I can´t seem to get even one match, where the green rectangle sits tightly around the circle...
@sticksen Nah, the software actually extracts circles, not just rectangles.
To improve recognition, use a disc color that's different from the background, and hold the disc on a stick or something, so that your hand or arm are not at the same distance as the disc. Otherwise the software will have a hard time delineating the disc.
You can also experiment with the hard-coded matching thresholds in the C++ source, in lines 397 and 444 in RawKinectViewer.cpp.
@okreylos I think it´s maybe an issue of the Mac OSX implementation...I don´t get the green rectangles at all. Only green lines at the bottom of the window sometimes.
@sticksen That would be bad. I haven't actually tested the Kinect software on Mac OS X; I have a loaner Mac here right now, but don't have root and can't install the required libusb package. My own Macbook is running Linux.
What version of libusb are you using, and from where did you get it?
@JesperA86 I have a Macbook myself, and when I'm on the road without a separate mouse, yeah, one button. Try clicking the left and right mouse buttons simultaneously with a touchpad, and then get back to me. :)
@oBLACKIECHANoo lol Obvious troll is Obvious. But anyway Linux is easier to program for zero investment, all programing tools are free, the OS documentation is free, and the operating system is free and can be run on any PC available. Also FYI Mac OSx is Unix based.
@AjTechTv Run RawKinectViewer, which will dump a bunch of numbers to the terminal as you select tie points. Paste all those numbers into an empty file, and save it as CalibrationData.csv.
(Pro tip: run as ./bin/RawKinectViewer > CalibrationData.csv )
Then run CalibrateCameras, and it will create the projection matrices for KinectViewer. You should be using at least ten tie points to generate CalibrationData.csv.
Just an idea: might a sphere/ball work better than a disk? Would mean the target is always a circle in 2d. But what depthvalue do you use (center or an avarage value)?
Just a question: your RawViewer seems to be set up for four images by default.... Is it possible to feed two devices (My tests with two Kinects running on two machines gave good results).
@GWebMa Actually, a sphere will look like an ellipsoid when viewed at an off-center position, which makes centroid matching more difficult, and the code to find a sphere's centroid from measurements of one of its faces is more complex (although I have that code lying around from my LiDAR Viewer software).
In the end, it was that it's a lot easier to make a disc calibration target than a sphere.
Another thing might be using a sphere to calibrate some mirrors or simultanious running Kinects. Only throwing in ideas which came up, seeing your nice calibration solution.
@GWebMa For that you're absolutely right. I typically do external (or extrinsic, depending on how much of a stickler you are) calibration for widely-spaced cameras using spheres. Once you have good 3D on each camera individually, they do work better for the reasons you mention. I have some styrofoam spheres of different radii from a hobby shop, which work well.
For sets of cameras with similar viewpoints, I use checkerboards because they're easier to make and to measure.
@GWebMa Re 2 Kinects: RawKinectViewer is really meant for internal calibration, so one Kinect only. But I refactored KinectViewer so that it's now trivial to add a live stream from a second Kinect, if you have one. You simply need two KinectCamera objects with one KinectProjector each, and need to do external calibration to line up the two video streams. That's left as an exercise for the reader. :)
Important: there is a bad edge case in Vrui-2.0-001's installation script, triggered when a "naked" Vrui system without all the nice optional features is built. This usually happens on Linux distros that are missing lots of development packages.
If you're running into errors during "make install," simply grab the updated Vrui-2.0-002 tarball from my web page. If your make install succeeded, don't bother - there's not much new in it otherwise.
@okreylos Follow-up: In general, get those missing development packages for full Vrui functionality. You want: libpng, libjpeg, libtiff, alsa-lib, speex, v4l2, dc1394, Ogg, Theora, and OpenAL. Check the top of Vrui's makefile for more details, and the precise list of optional libraries.
On Mac OS X, you want libpng and libjpeg; the rest are either not supported, or already there.
@Meuhcoin Yup, my bad. I forgot to package the files. I silently replaced the Kinect-1.1.tar.gz file on my web page with a fixed version. Try re-downloading (you might have to clear your browser cache first), and the files should be there.
@okreylos Just downloaded it, it works perfectly now. Thanks a lot!
By the way, a very minor error in the README file: step 3 says to launch ./bin/KinectViewerRaw, but the actual file is ./bin/RawKinectViewer. It had me stumped for a few seconds (which wouldn't have happened if I didn't blindly follow instructions without trying to think myself!).
Anyway, it's all good now, I'm off to start the calibration process. Thanks again.
@Meuhcoin Do me a favor and post a reply when you're done. I'd like to know how well it works for others. Or, better, post a video showing the output of KinectViewer.
@okreylos Unfortunately, even with 20 tie points I can't get a good result with KinectViewer: it seems "misaligned". I'll try again from scratch in a different location and see how it goes.
@Meuhcoin That's concerning. I did a quick calibration before uploading the video, and using only 10 points, I got a very good fit.
When you select tie points, do the green boxes tightly fit around the visible discs in the depth and color image? If there's not enough contrast to the background, or if your hand or arm are too close to the disc while holding it, the disc might bleed over into the background and the centroid calculation will be off.
@Meuhcoin Here's the process I used: I started with four points where the discs were close to the corners of the cameras' images (but not too close) at near distance, and then six others at farther distances pretty much wherever I could get good background contrast in the color image (I stupidly made my disc the same color as my walls). That worked really well.
I think it'll take some experimenting to get a good procedure, but it should work in the end.
@okreylos Indeed, by following your method (and using a different disc), I was able to get a much better result. I sometimes couldn't make the disc fit in the depth image (it would only take half of the disk, or make the box too big), but I was still able to get 11 tie points nicely. Still not perfect, but nice.
I uploaded a quick video response showing the result.
@protogenxl If your camera is at an angle, you have to hold the calibration disc at the same angle. Essentially, keep the disc orthogonal to the camera's view direction at all times. This doesn't mean always point the disc directly at the camera, either... it's hard to explain. Draw an imaginary plane aligned with the Kinect's front face, and keep the disc parallel to that plane.
@protogenxl That's a good idea, actually. Use USBTest pitch 0 to level the Kinect, and then you'll get better tie points with a leveled target.
Internal calibration doesn't depend on the orientation of the entire Kinect device, so once you've calibrated it in a level position, you can move it however you want and it'll stay calibrated.
Sorry for this question since i think that i am just not thinking but i am stuck at step 5 in the Vrui quick install, having trouble installing to home directory.
If a link somewhere would be easier than explaining on here please send me to it.
@AjTechTv You did the sequence "make" first, then "make install"? I'm asking because in previous versions, you could just "make install", but that doesn't work right now.
@okreylos I have done the make and all went successful, so do i just run make install from the vrui base directory? Or do i have to cd to the home directory and do a make install?
And i am running Linux Mint 10 which is based off ubuntu as well
@AjTechTv OK, that's bad. I didn't catch an edge case in the install script. You built a "naked" package, missing lots of the optional features due to missing packages in your Linux installation (for example, sound and support for PNG/JPEG files). That is generally OK, but triggers an installation bug right now. Send me an email, and I'll reply with a fixed makefile.
To everyone else: I'll upload a fixed tarball to my web page ASAP.
@okreylos
thanks for the great work.
I have a question about the " editing KinectViewer.cpp to load multiple
cameras, which is currently hard-coded". Could you be more precise as to what is hard-coded and should hence be changed. I've tried something but am getting the error submitting transfer error. (Ubuntu 11.10)
Thanks again
alaska1983 1 week ago
@alaska1983 That error is a hardware problem; you can only plug one Kinect into one USB bus. You'll have to look for USB ports that belong to separate buses. Usually, desktop PCs have one bus to the front ports and one bus to the back ports.
okreylos 15 hours ago
so i dream of using a kinect hack, for a art installation only problemis i do not understand all this computer talk, is there a way i could find a program that can be easily obtained?
LittleGirls 3 months ago
I've looked at your work and open kinect and I'm trying to understand why, in both cases, new users are required to compile and build the program from the source. Why not release the complete, self-contained app? I understand that it would only be one configuration of the program, but still, many may not want to adjust the configuration and may just be interested in using it exactly as demonstrated for practical purposes.
ThePhatClassics 8 months ago
@ThePhatClassics That's a matter of who bears the burden. Apps are per-OS, meaning I would not only have to create the software, but then, for every release, build it for Fedora 13, Fedora 14, Fedora 15, Ubuntu 10.4, Ubuntu 10.10, Ubuntu 11.04 (all in 32- and 64-bit versions), Mac OS 10.4, 10.5, 10.6, 10.7, Debian, ... what have you.
On the other hand, someone downloading the source merely has to do "make" followed by "make install." Ain't so bad.
okreylos 8 months ago
@okreylos I understand your point a little better now. Since that last post 2 days ago, I've become quite familiar with both Fedora and Ubuntu and got Kinect Viewer working. I'm motivated by an imminent project deadline for a 3d development class.
Now I'm having trouble configuring. I gathered 70 tie points. I even put a spotlight atop the kinect to illuminate the disc. Nonetheless, the resulting calibration is far in accuracy from what you've shown in these videos. Advice?
ThePhatClassics 8 months ago
I was wondering if there is way to measure the calibration precision. For example, I tried to calibrate my kinect but it seems that it didn't work that well even with 14 tie points. Is it possible to know what went wrong and how to fix it?
ezekielnin 8 months ago
@ezekielnin You can visually judge alignment quality by putting a known object (a box, say) in front of the Kinect, and seeing how well the color texture matches the 3D geometry. You can quantify this by measuring the 3D displacement of the texture and the 3D model using the built-in 3D measurement tool.
That said, the calibration method described here was extremely ad-hoc, and is now obsolete. I'm currently packaging the next version of my Kinect software, which has a much-improved method.
okreylos 8 months ago
Hum, I ran ./bin/KinectViewer and it gave me a error message with the kinect serial number haha so I finallay managed to calibrate my kinect, but not as good as you so there is a lot of occlusion. Any advices chief? I ran 14 tie points... thks a bunch!
ezekielnin 8 months ago
Hi Oliver,
Great work! I'm trying to run lsusb -v in order to get my kinect serial number but it's displaying a bunch of lines but no serial....
thks!
ezekielnin 8 months ago
crap its for linux
FabledG 8 months ago
@FabledG ... and Mac OS X!
okreylos 8 months ago
@okreylos whoa so kinect can be used using mac?
how?
m0h1tD33pak 1 month ago in playlist Uploaded videos
Hi Okreylos what kind of data kan i export from Vrui?
i love to get a rgb image and a point cloud to then use in 3D applications.
my goal is to scan in props at a greenscreen studio, to then export the data to my 3D-modeller so that he has a good reference to start modelling a stand in object for that prop.
i will take a look at your software tomorrow. so far i am impressed! :)
kwejk 10 months ago
is a Windows port for your Vrui-Toolkit planned or already available?
Keep up the very good work and greetings from Germany.
Michb3ck 10 months ago
@Michb3ck No, it would be possible to port Vrui to Windows, but I'm not planning to do it. I don't develop on Windows at all. I think someone started doing a port, but got stuck in several places where the Windows programming model doesn't mesh with the UNIX way of doing things very well. It would definitely be an involved process.
okreylos 10 months ago
hi Oliver-
wow, what a great job!
setup 6 calib. data points (I know 10 is better but) via /bin/RawKinectViewer > CalibrationData.csv
I then ran CalibrateCameras and that seemed to work fine
then, I ran KinectCamera and got an unknown token error (after correcting my serial number on the .dat and .txt files). can you advise?
thanks, I am loving it!
Cindy
cbishop327 11 months ago
@cbishop327 mac os x 10.5.8 by-the-way
cbishop327 11 months ago
@cbishop327 mac os x 10.5.8 by-the-way
./bin/KinectViewer
Caught exception Unable to convert {\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540 to Geometry::OrthogonalTransformation due to unknown token
cbishop327 11 months ago
@cbishop327 Looks like your calibration is OK, but the projector transformation file has the wrong content. I assume you created a ProjectorTransform-XXX.txt file; simply put a single line with "identity" (without the quotes) into it. That should do it. That file is how you set up external camera parameters, i.e., how the 3D space captured by the camera maps into the 3D space used by other cameras, or the rest of the application. For a single camera, the contents don't matter.
okreylos 10 months ago
Oliver,
Great stuff! Just got it working on my MacBook. An observation and two questions:
1. I can easily see the kinect IR dots all over my room in my color video feed.
2. Are there options for kinectviewer, so that it would be possible to do something like automatically rotate the image so that the viewing angle is that of the 3D camera, that is, so that the shadows disappear?
3. Have you looked into collaborating with an OS X person to try to create a .kext for video capture?
Eponymous300 1 year ago
@Eponymous300
1. That's odd; I can't.
2. When running KinectViewer, open the main menu, go to the appropriate Kinect's submenu, and select "View from Camera."
3. No, but it should be easy. I don't really develop for Mac OS X. Only as much as required to keep Vrui running on it.
okreylos 1 year ago
how do you set all of this up?
I cant figure anything out?
howardrya2 1 year ago
Can't someone make an already-built version of this thing? It's not that I'm lazy - I'm willing to follow the instructions, but this jazz is simply beyond me.
Zebonka 1 year ago
can we built a Kinect by ourself. I mean there are 2 cameras right. so if we mount 2 cameras in apart and process them through kinect sofware right???
rukey3001 1 year ago
@rukey3001 this is not as easy as you think. there are 2 cameras, but one is for color pictures and the other one is for infrared-light. The 3D information is not computed with the 2 different camera pictures it is rather retrieved by an infrared-light pattern whereby the distortion is recognized.
To answer your question: No, or the development effort is incredibly larger compared to the cost of one kinect.
Michb3ck 10 months ago
ngockhanh0302 1 year ago
Hi Oliver, Thank you very much for this interesting work. I have a question: when I used the commande line: ./bin/CalibrateCameras , I got this: Result: s = 0.499133, t = 0.248785
Result: s = 0.468841, t = 0.293296
Result: s = 0.550222, t = 0.25861
Result: s = 0.15603, t = 0.507719
..etc,(I m using 12 points for calibration) what does it mean "s" and "t"? How do I know that my cameras are well calibrated? because I had a result very bad...? Cheers
ysound 1 year ago
Oliver! Thank you for this tutorial. I have been successful at running Vrui and KinectViewer on Ubuntu. It took a bit of hunting around for all the packages. I'm looking forward to playing around with this a bit.
Do you have any suggestions for projects gearing towards gestures in 3D space?
cortexcmdr 1 year ago
I have windows can someone point me in the direction of a simple driver download so I can use it as a webcam? Thanks!
smrtsTV 1 year ago
Hi there Okreylos.
I have a camera calibration algorithm written for matlab.
Last time i checked i used at least 5 points to calibrate 8 parameters in 2d.
I nixed from the algo all the 3rd dimension equations since i didn't need it for the project, but the theory is still there. If i remember correctly there are 11 parameters for the same degree of accuracy with 3 dimensions, so you theoretically need 4 points. If you'd like details i can give you no prob. Contact me.
eruptera 1 year ago
Also if you don't mind exchanging info, i'm an electronics engineer working with automation and control systems. I pretty much like to play around with tech like you, but i also have a decent background. I'm very interested in the multi-kinect setup, but i doubt i'll get more then one any soon. So i'd like to exchange info with you if you please.
eruptera 1 year ago
@eruptera Hi, thanks for the email and the links. I wrote camera calibration software based on homographies for a related project, but until now I didn't have an idea of what calibration target to use, since it needs to have a noticeable pattern in the color *and* the depth image. Now I have a plate of glass with white paper squares glued to it, forming a checkerboard both in color and depth. I'll adapt the calibration code next.
okreylos 1 year ago
Finally got your RawKinectViewer working, phew!
I went through the calibration process as described in this video, yet when i press "3" to churn out the numbers, I don't see any...
You mention a console? All i can see is the 2 camera screens on a black background.
I must be going wrong somewhere...
SmallFox74 1 year ago
@SmallFox74 It only prints numbers if there are two current tie points, one in color and one in depth. The first three numbers are the 3D position of the depth tie point; the last two numbers are the 2D position of the color tie point.
okreylos 1 year ago
@okreylos I got it, thanks alot... btw, could you give me an eg. of a kinect serial number so i know what to look out for when i run libusb. Theres an awful lot of info spewed out! :)
SmallFox74 1 year ago
@SmallFox74 When you run the program, you get an error message like "can't open file CameraCalibrationMatrices...dat."
The name it prints out is exactly the name you need to use, including your serial number. :)
okreylos 1 year ago
Comment removed
SmallFox74 1 year ago
youre german, right? Ich weiss nicht ob du die Kommentare alle liest, aber egal.
Ich habe ein paar fragen zu VR. Ich hab mir die instructions zu der low budget version angesehen und es sieht sehr interressant aus, vorallem die KeckCAVES.
Koenntest du mir nochmal erklaeren wie die lowbudget version funktioniert und ob es nicht inzwischen bessere komponenten gibt? Hab kuerzlich erst ein Video gesehen wo die Wiimote, plus sensor, zum Headtracking benutzt wurde etc. Danke
MrTopsen 1 year ago
Is there any possibility of building this for Windows? I know the Mac/Linux users are stoked about this, but I use Windows along with many others as well. Just a request.
Crashdance22 1 year ago
I know this is probably miles away in our little hacking journey but have you thought of making some kind of bvh export setup?
It seems since your software recompiles a 3D image from the camera's output maybe you can make some kind of estimation algorithm to track certain groups of vertices to the bvh skeleton?
I still love your software though, this is excellent. I can't wait to see the future of this. Possibly like I said before, a $149 dollar mocap system? :)
DIVX54978 1 year ago
sat saunts leik a tschermann akzent
:) greets bro .. nice work
dolbymandts 1 year ago
"It comes with a DVD" WHAT A BADASS!
blorgggggg 1 year ago
All macs have had a right-click since maybe 2005ish (a fairly long time of some kind; that's just a guess) just so ya know
ThePeacant 1 year ago
@ThePeacant Try pressing the left and right buttons *at the same time* using a Macbook touch pad, and get back to me. ;)
okreylos 1 year ago 2
@okreylos 2 fingers on trackpad then click, for secondary click
philliple97 1 year ago
Your my hero.... Seriously...
powerbird101 1 year ago
Thank you so much for your hard work! Everything you have done so far has never ceased to amaze and impress me.
If and when I get a Kinect, I'll be sure to check out your software.
TheAustindw 1 year ago
hi. can you make a step by step video on how to download, run and calibrate the kinect?
shadowheart43 1 year ago
Oliver asked me to post my experiences with compiling on Mac OSX 10.6.4. I was experiencing a Segment Fault until I changed the entries for GL_BASEDIR, GLU_BASEDIR and X11_BASEDIR to /opt/local in the Packages file and recompiled. Various libraries were located in /opt/local instead of /usr... Hope this helps someone else. This is great stuff Oliver. Excellent job man!
kgeange 1 year ago
Thabnk you so much for your help, I have been struggling onwards and have managed to complete steps 1 to 7. however, on step 8, "8. make" i get the following in the terminal...
SmallFox74 1 year ago
SmallFox74 1 year ago
@SmallFox74 g++ not found means the C compiler is not installed. That's very strange, it should definitely be there. Try sudo apt-get install c++ and see if that helps.
Sorry you're having so many problems. Also try the Ubuntu support forums; they usually have people there who know Ubuntu very well (I don't, really).
okreylos 1 year ago
Can you make video...How To Fix Kinect Not Scan Problem ....!
FYH95SecondAccount 1 year ago
Comment removed
kapouGR 1 year ago
Hi Oliver, great work so far!
May I ask how you came up, with the hardcoded depth's camera projective matrix?
Thanx!
kapouGR 1 year ago
@kapouGR In a nutshell, manual measurements and regression / manual experimentation until the 3D reconstruction fit the real objects. I can't say it was a pretty process, or very reproducible. Several people are working on an automatic calibration procedure.
okreylos 1 year ago
@okreylos Thanks for the information. I was wondering if the reprojected Depth_pixel's Z value is consistent or close with the other formula that's being used (100/(-0.00307 * rawDisparity + 3.33)) . Is it in cm for example?
kapouGR 1 year ago
@kapouGR My formula and the one you posted are nearly identical; 1084 vs 1090 and 32573 vs 34400 after you factor it out. Those are within measurement accuracy. My formula directly gives distance in cm; this one is just a different unit.
okreylos 1 year ago
I am so keen to try out this software release from oreylos that i have installed ubuntu onto my pc for the first time!
i am suffering from major headaches trying to install it though! Its been 4 hours now and i ain't getting anywhere 'cept i've realised tar.gz is basically a "zip" file and i have unzipped it to my desktop (Vrui-2.0.001)
If ANYONE has the time, i would very much appreciate a video tutorial on how this is done, or a comment to point me in the right direction would be nice also!
SmallFox74 1 year ago
Ah, I have just installed mesa-common-dev as required...
Struggling on... hey ho!
SmallFox74 1 year ago
okreylos 1 year ago
@okreylos Thanks for the help, gonna take a look now... just curious, how do i note the download location in terminal?
SmallFox74 1 year ago
Comment removed
SmallFox74 1 year ago
@SmallFox74 YouTube mangled the comment. What I meant was, note down the location and name where the web browser saves the .tar.gz file (for example, /home/username/Downloads/Vrui-2.0-002.tar.gz), and then use that location/name when you run tar xfz later.
okreylos 1 year ago
@okreylos Hey, thanks alot okreylos. I ain't gonna give up just yet! Registered with an Ubuntu forum a few hours ago... fingers crossed!
SmallFox74 1 year ago
@okreylos Can use use the 'calibration card' that came with said game that came w/ the Kinect at all?
sorphin 1 year ago
@sorphin Not with my current calibration procedure. Use an old CD or DVD, and glue a paper disc to one side. Attach some kind of handle to the other side so you can hold it without touching the disc itself.
okreylos 1 year ago
if you want i can provide a better procedure of calibration, work of my master thesis.. i am working on the device and the software. This different way is a little bit more difficult but very precise. Atm i am not a c programmer and i must try the data in matlab.
pk1halpha 1 year ago
@pk1halpha That's great. Link to a paper, or, if you can, post a description or tutorial somewhere.
okreylos 1 year ago
@okreylos K, i must ask to my professor first, :) few days, maybe a video. i'll let you know for first :)
pk1halpha 1 year ago
Comment removed
pk1halpha 1 year ago
if you want i can provide a better procedure of calibration, work of my master thesis.. i am working on the device and the software. This different way is a little more difficult but very precise. Atm i am not a c programmer and i must try the data in matlab.
pk1halpha 1 year ago
you're really good at giving tutorials
xSkidmarK 1 year ago
I really don't ever remember using a mac that was limited to one mouse button. =P I've seen people with the right mouse button configured as a left click, however, which is silly and would explain the confusion.
snapf00 1 year ago
@snapf00 This wasn't meant as a dig against Macs -- I have one myself. But in Vrui, you need to be able to press two mouse buttons simultaneously, and you just can't do that with the Macbook's touchpad, no matter how you configure it. Hence, we rerouted to the Z key.
okreylos 1 year ago
I'm having trouble finding a good calibration object but I did manage to get some good tie points, would the calibration still work if I used multiple different objects and the camera was in different positions?
Halo3WKWYL 1 year ago
@Halo3WKWYL Hard to say; try it. You'll be able to tell the calibration quality immediately in KinectViewer.
okreylos 1 year ago
@okreylos Ok I tried it with three calibration points (it took me forever just to get those) and it seems to have somehow made the RGB all stripey and wierd it might be because of the difference in position of the camera and object or it could be because the calibration points weren't all that great to begin with, unless of course it needs around about ten to twenty different points to calibrate correctly?
Halo3WKWYL 1 year ago
@Halo3WKWYL Yes, three points are not enough (lead to an underconstrained system). You need 6 tie points at least (since there are two equations per tie points, and 11 unknowns), and I recommend using 10 or more tie points to reduce the effects of measurement errors.
okreylos 1 year ago
@okreylos Oh right, I'll get more points tommorow because it's getting pretty late here and tell you if it works regaurdless of object used or position of camera or not.
Halo3WKWYL 1 year ago
Won't it be easier to setup a GitHub account page :) and a Google Groups page! If you need help doing that or managing those pages, let me know! email: mhm @ chromium.org
m0interactive 1 year ago
I can't place Tie Points
I assign it to the 2 & 3 keys and when I press them nothing happens
Any ideas?
benjamino2211 1 year ago
@benjamino2211 Are you using Mac OS X 10.6.x? Apple screwed the pooch on OpenGL support, so expect some bugs. If you rotate the flat image, do you see green boxes appear once in a while? If so, there is a fix: Open RawKinectViewer.cpp, find all lines like glVertex3f(...,...,0.01f); and replace the 0.01f with 1.0f.
okreylos 1 year ago
@okreylos Okay the console is giving out numbers now (still can't see the green boxes :p)
I copied the values into excel and exported them to a csv and when I run calibratecameras I get this
$ ./bin/CalibrateCameras
terminate called after throwing an instance of 'Misc::CSVSource::FormatError' what(): CSVSource::read: Format error in field 0 of record 0
Abort trap
I'm guessing I've made a hash of the CalibrationData.csv file. Any help on how to get it accepted? Thanks in advance :)
benjamino2211 1 year ago
@benjamino2211 Check the csv file with a text editor. There should be no spaces in it, just commas between the values, and no trailing commas at line ends. You might also have an issue with MS-DOS vs UNIX-style line ends (and my software really shouldn't care, but it might due to a bug). BTW, you want UNIX-style line ends -- LF only, no CR/LF.
okreylos 1 year ago
@okreylos YOU THE MAN! I had one space in the file that I overlooked. ONE SPACE!
Thanks :D
benjamino2211 1 year ago
@benjamino2211 Hmm. Well, it would be trivial for my code to just ignore spaces, but the CSV specification says explicitly that the files must not have any, so you can blame that one on the people who wrote up the specification. ;)
okreylos 1 year ago
Comment removed
benjamino2211 1 year ago
Comment removed
mrwulff123 1 year ago
as soon as i run ./bin/RawKinectViewer on os x, i get
Error submitting transfer 1
Error submitting transfer 2
Error submitting transfer 3
Error submitting transfer 4
...
Error submitting transfer 31
any idea whats up here?
mrwulff123 1 year ago
@mrwulff123 Sometimes the Kinect gets into a funky mood, and refuses to send data. Try "USBTest reset" first, and then try RawKinectViewer again a couple of times. That usually does it for me.
With the new initialization code sequence I'm not seeing that problem anymore, but if you've never had the Kinect talking to a PC before, it might be in a bad state.
okreylos 1 year ago
@okreylos tried that and still get the same errors... full log pastebin. com/9Y2x0aLX
mrwulff123 1 year ago
@mrwulff123 From your log, it seems that your USB system is not recognizing the Kinect device at all. Could you try running USBTest or RawKinectViewer as root, as in sudo ./bin/USBTest reset? Maybe it's a permission issue.
On Linux at least, you need to run the software as root unless you set up special udev rules.
okreylos 1 year ago
@okreylos
libusb:error [darwin_open] USBDeviceOpen: another process has device opened for exclusive access
libusb:info [darwin_open] device open for access
libusb:error [darwin_reset_device] ResetDevice: device not opened for exclusive access
terminate called after throwing an instance of 'std::runtime_error' what(): USBDevice::reset: Error while resetting device
Abort trap
looks like its being used by something else in my system...
mrwulff123 1 year ago
Comment removed
mrwulff123 1 year ago
@mrwulff123 Hmm, sorry, someone else using Mac OS will have to weigh in on this. Seems to be an OS / libusb issue.
okreylos 1 year ago
I CAN'T WAIT till this software becomes useful, and regular people start making 3d youtube videos. It's going to be SWEET!
seifer93 1 year ago
After some more calibration mine now works thanks to everyone here for their help
AjTechTv 1 year ago
@irving94 You can see my "green screen" in action in my other video, "Kinect and Wiimote and Nanotech Construction Kit." It doesn't look so good because I had poor camera calibration; that was before the procedure I'm describing in this video.
As for 3D video chat: "stay tuned" is all I can say.
okreylos 1 year ago
When the target is close to the cam, slightly twisted towards the sensors´ plane, it seems that it is harder to get the target detected right. (Maybe caused by a bigger amount of different data / area with more pixels?)
If there are problems try a bigger distance
GWebMa 1 year ago
@GWebMa Good point. The code is rather simple right now, and looks for constant depth values across the disc's face. So if the disc is angled, it won't work right. This gets worse close to the camera, because the reported depth values are inversely related to distance, and the cut-off threshold in the code is in inverse distance units. So the farther away you are, the more lenient it gets.
okreylos 1 year ago
Dude you are a fucking genius.
Pasalaqcua 1 year ago 22
Comment removed
loquesea880916 1 year ago
is it possible to match the correspondence points manually, i.e. draw the green rectangles? I can´t seem to get even one match, where the green rectangle sits tightly around the circle...
sticksen 1 year ago
@sticksen Nah, the software actually extracts circles, not just rectangles.
To improve recognition, use a disc color that's different from the background, and hold the disc on a stick or something, so that your hand or arm are not at the same distance as the disc. Otherwise the software will have a hard time delineating the disc.
You can also experiment with the hard-coded matching thresholds in the C++ source, in lines 397 and 444 in RawKinectViewer.cpp.
okreylos 1 year ago
@okreylos I think it´s maybe an issue of the Mac OSX implementation...I don´t get the green rectangles at all. Only green lines at the bottom of the window sometimes.
sticksen 1 year ago
@sticksen That would be bad. I haven't actually tested the Kinect software on Mac OS X; I have a loaner Mac here right now, but don't have root and can't install the required libusb package. My own Macbook is running Linux.
What version of libusb are you using, and from where did you get it?
Can anybody else using Mac OS confirm this?
okreylos 1 year ago
Comment removed
GWebMa 1 year ago
@GWebMa Great, thanks.
okreylos 1 year ago
@okreylos
Works here at MAC OSX 10.6.5
installed libusb version as linked from OpenKinect install information
GWebMa 1 year ago
@okreylos Running this on Mac OS 10.6.5 and I don't get the green rectangles either. Just the green lines at the window bases if I click low enough
benjamino2211 1 year ago
Poor mans green screen? Kinects like 100 dollars haha. :)
lookoutforKURT 1 year ago
@lookoutforKURT Are you implying that 100 dollars is expensive?
evildwarf 1 year ago
@evildwarf In terms of a green screen, yea. My "poor man's green screen" cost me $16 and gives a better result.
llamajuice 1 year ago
@evildwarf Yes it is.
lookoutforKURT 1 year ago
Mac users and only one mousebutton, thought that joke died back in the 80s :P
JesperA86 1 year ago
@JesperA86 I have a Macbook myself, and when I'm on the road without a separate mouse, yeah, one button. Try clicking the left and right mouse buttons simultaneously with a touchpad, and then get back to me. :)
okreylos 1 year ago
green is probably the ideal color for the disk
protogenxl 1 year ago
why linux ? the most un-used os ever and mac? the shittiest os in the world. can't you make it for windows ?
oBLACKIECHANoo 1 year ago
@oBLACKIECHANoo lol Obvious troll is Obvious. But anyway Linux is easier to program for zero investment, all programing tools are free, the OS documentation is free, and the operating system is free and can be run on any PC available. Also FYI Mac OSx is Unix based.
protogenxl 1 year ago
@oBLACKIECHANoo Linus is best.
lookoutforKURT 1 year ago
Your work amazes me every time!
Ceasar425 1 year ago
Sorry for the probably really simple question but i have done up to step 3 and am getting stuck on 3a i cannot find the file CalibrationData.csv
AjTechTv 1 year ago
@AjTechTv Run RawKinectViewer, which will dump a bunch of numbers to the terminal as you select tie points. Paste all those numbers into an empty file, and save it as CalibrationData.csv.
(Pro tip: run as ./bin/RawKinectViewer > CalibrationData.csv )
Then run CalibrateCameras, and it will create the projection matrices for KinectViewer. You should be using at least ten tie points to generate CalibrationData.csv.
okreylos 1 year ago
@okreylos @Worrun Thank you i knew that i was missing something simple i will now try it when its not midnight.
AjTechTv 1 year ago
@AjTechTv he said to create one..
Worrun 1 year ago
Just an idea: might a sphere/ball work better than a disk? Would mean the target is always a circle in 2d. But what depthvalue do you use (center or an avarage value)?
Just a question: your RawViewer seems to be set up for four images by default.... Is it possible to feed two devices (My tests with two Kinects running on two machines gave good results).
GWebMa 1 year ago
@GWebMa Actually, a sphere will look like an ellipsoid when viewed at an off-center position, which makes centroid matching more difficult, and the code to find a sphere's centroid from measurements of one of its faces is more complex (although I have that code lying around from my LiDAR Viewer software).
In the end, it was that it's a lot easier to make a disc calibration target than a sphere.
okreylos 1 year ago
@okreylos Got it.
Another thing might be using a sphere to calibrate some mirrors or simultanious running Kinects. Only throwing in ideas which came up, seeing your nice calibration solution.
GWebMa 1 year ago
@GWebMa For that you're absolutely right. I typically do external (or extrinsic, depending on how much of a stickler you are) calibration for widely-spaced cameras using spheres. Once you have good 3D on each camera individually, they do work better for the reasons you mention. I have some styrofoam spheres of different radii from a hobby shop, which work well.
For sets of cameras with similar viewpoints, I use checkerboards because they're easier to make and to measure.
okreylos 1 year ago
@GWebMa Re 2 Kinects: RawKinectViewer is really meant for internal calibration, so one Kinect only. But I refactored KinectViewer so that it's now trivial to add a live stream from a second Kinect, if you have one. You simply need two KinectCamera objects with one KinectProjector each, and need to do external calibration to line up the two video streams. That's left as an exercise for the reader. :)
okreylos 1 year ago
Important: there is a bad edge case in Vrui-2.0-001's installation script, triggered when a "naked" Vrui system without all the nice optional features is built. This usually happens on Linux distros that are missing lots of development packages.
If you're running into errors during "make install," simply grab the updated Vrui-2.0-002 tarball from my web page. If your make install succeeded, don't bother - there's not much new in it otherwise.
okreylos 1 year ago
@okreylos Follow-up: In general, get those missing development packages for full Vrui functionality. You want: libpng, libjpeg, libtiff, alsa-lib, speex, v4l2, dc1394, Ogg, Theora, and OpenAL. Check the top of Vrui's makefile for more details, and the precise list of optional libraries.
On Mac OS X, you want libpng and libjpeg; the rest are either not supported, or already there.
okreylos 1 year ago
Sorry to use this comment space for support, but I'm really eager to try all of this!
I had some trouble building Vrui, but I installed some packages and changed the Makefile myself, and the example application works okay.
However, I can't seem to build Kinect-1.1 :
Compiling RawKinectViewer.cpp...
RawKinectViewer.cpp:53: fatal error: FindBlobs.h: No suck file or directory
compilation terminated.
I cannot seem to find the file "FindBlobs.h" anywhere. Am I missing something?
Meuhcoin 1 year ago
Comment removed
GWebMa 1 year ago
@Meuhcoin
same here - it´s missing in the current download?
GWebMa 1 year ago
@GWebMa Works now after the silent update !
Thanks a lot Okreylos!
GWebMa 1 year ago
@Meuhcoin Yup, my bad. I forgot to package the files. I silently replaced the Kinect-1.1.tar.gz file on my web page with a fixed version. Try re-downloading (you might have to clear your browser cache first), and the files should be there.
okreylos 1 year ago
@okreylos Just downloaded it, it works perfectly now. Thanks a lot!
By the way, a very minor error in the README file: step 3 says to launch ./bin/KinectViewerRaw, but the actual file is ./bin/RawKinectViewer. It had me stumped for a few seconds (which wouldn't have happened if I didn't blindly follow instructions without trying to think myself!).
Anyway, it's all good now, I'm off to start the calibration process. Thanks again.
Meuhcoin 1 year ago
@Meuhcoin step 3 says to launch ./bin/KinectViewerRaw
I feel another silent update coming...
I blame it on the tryptophan from all the Thanksgiving turkey.
okreylos 1 year ago
@Meuhcoin Do me a favor and post a reply when you're done. I'd like to know how well it works for others. Or, better, post a video showing the output of KinectViewer.
okreylos 1 year ago
@okreylos Unfortunately, even with 20 tie points I can't get a good result with KinectViewer: it seems "misaligned". I'll try again from scratch in a different location and see how it goes.
Meuhcoin 1 year ago
@Meuhcoin That's concerning. I did a quick calibration before uploading the video, and using only 10 points, I got a very good fit.
When you select tie points, do the green boxes tightly fit around the visible discs in the depth and color image? If there's not enough contrast to the background, or if your hand or arm are too close to the disc while holding it, the disc might bleed over into the background and the centroid calculation will be off.
okreylos 1 year ago
@Meuhcoin Here's the process I used: I started with four points where the discs were close to the corners of the cameras' images (but not too close) at near distance, and then six others at farther distances pretty much wherever I could get good background contrast in the color image (I stupidly made my disc the same color as my walls). That worked really well.
I think it'll take some experimenting to get a good procedure, but it should work in the end.
okreylos 1 year ago
@okreylos Indeed, by following your method (and using a different disc), I was able to get a much better result. I sometimes couldn't make the disc fit in the depth image (it would only take half of the disk, or make the box too big), but I was still able to get 11 tie points nicely. Still not perfect, but nice.
I uploaded a quick video response showing the result.
Meuhcoin 1 year ago
@Meuhcoin Is you camera level ? Mine dosen't work well the camera is looking up at an angle.
protogenxl 1 year ago
@protogenxl Even at an angle, it seems to work correctly for me.
Meuhcoin 1 year ago
@protogenxl If your camera is at an angle, you have to hold the calibration disc at the same angle. Essentially, keep the disc orthogonal to the camera's view direction at all times. This doesn't mean always point the disc directly at the camera, either... it's hard to explain. Draw an imaginary plane aligned with the Kinect's front face, and keep the disc parallel to that plane.
okreylos 1 year ago
@okreylos I had taped my target to a torpedo level and i guess I was leveling the target out of force of habit
protogenxl 1 year ago
@protogenxl That's a good idea, actually. Use USBTest pitch 0 to level the Kinect, and then you'll get better tie points with a leveled target.
Internal calibration doesn't depend on the orientation of the entire Kinect device, so once you've calibrated it in a level position, you can move it however you want and it'll stay calibrated.
okreylos 1 year ago
@irving94 Oh, I know it's ingenious, but alas, I didn't come up with it. :(
It's one of the intended uses of professional-level 3D cameras in television and movie productions.
okreylos 1 year ago
Sorry for this question since i think that i am just not thinking but i am stuck at step 5 in the Vrui quick install, having trouble installing to home directory.
If a link somewhere would be easier than explaining on here please send me to it.
Thank you in advanced to whoever replys.
AJ
AjTechTv 1 year ago
@AjTechTv You did the sequence "make" first, then "make install"? I'm asking because in previous versions, you could just "make install", but that doesn't work right now.
What kind of trouble do you have, exactly?
okreylos 1 year ago
@okreylos I have done the make and all went successful, so do i just run make install from the vrui base directory? Or do i have to cd to the home directory and do a make install?
And i am running Linux Mint 10 which is based off ubuntu as well
AjTechTv 1 year ago
@AjTechTv Yes, you do "make install" from the same place where you ran "make".
Are you getting some kind of error message during "make install"? It's hard to help if I don't know what your actual issue is.
okreylos 1 year ago
@okreylos Yeah sorry for not giving all info at the start
aj-tech@ajtech-Extensa-5630 ~/src/Vrui-2.0-001 $ make install
Installing header files...
install: missing destination file operand after `/home/aj-tech/Vrui-2.0-001/include/Sound/Linux'
Try `install --help' for more information.
make: *** [install] Error 1
there is what i get once i run the make install
AjTechTv 1 year ago
@AjTechTv OK, that's bad. I didn't catch an edge case in the install script. You built a "naked" package, missing lots of the optional features due to missing packages in your Linux installation (for example, sound and support for PNG/JPEG files). That is generally OK, but triggers an installation bug right now. Send me an email, and I'll reply with a fixed makefile.
To everyone else: I'll upload a fixed tarball to my web page ASAP.
okreylos 1 year ago
2:45 mmmmmmmm... tea :D
Bezimienny07pl 1 year ago 8
Good job man, this is awesome. Microsoft should be ringing soon..
ap0calypd1c 1 year ago 11
cool, keep the good work up man.
todowhat 1 year ago
first
spitty3d 1 year ago
why isnt this guy working for microsoft yet? i bet they will take him on like they take over all small fishes
javsrock52 1 year ago
Amazing Job Man XD
gigicho21 1 year ago
Very awesome stuff, really exciting to see the software coming along....I gotta get my hands on a kinect!
Figilswif 1 year ago
Thank you sho much i will be trying this out soon
AjTechTv 1 year ago