We’re going to start vision tracking pretty soon, and were wondering if anyone has some suggestions for the best camera. I’ve been looking at the Kinect, because the libraries are so refined, but from what I’ve read, the optimum range is around 12 feet at 480p (hoping to have the capability to see full-court). We’re probably going to be using an ODROID for doing the actual processing, so we’re hoping to max out it’s capabilities. Any suggestions? Thanks!
I am waiting for my odroid to show up and still need to order a camera. Right now the Logitech C615 is the front runner due to its 1080p, quality lens, and tripod mount. Anybody have recommendations?
Best camera really depends on what you’re trying to do… Coming from real-world experience, you could vary your choice based on whether you’re tracking video feed or still imagery. FRC (for the most part, and I imagine nearly everyone) tracks vision targets on still frames pulled from a video feed. That said, which camera is still up for debate. Here’s a question to consider - do you really need 1080p resolution? Remember that this means a larger image, thus longer communications latency, longer time for the vision processing algorithms to process the image, and thus a lower response time for your entire vision processing pipeline. Do you really need the quality lens? You’re only looking across like a couple hundred feet. How much will using a lower quality lens affect your processing? Is your algorithm really sensitive to barreling and other visual artifacts? Also, do you really need a tripod mount, or a tripod style interface (1/4-20 thread)?
Another thing to think about - lighting. Do you want to restrict your optical train to a particular wavelength of light? Industry does that - LRF (laser range finders) sometimes use a blue laser and a blue filter on top of the imaging sensor to reduce clutter.
CHSR found that the kit camera was okay at range. Sure, the image quality isn’t great, but with a robust enough imaging algorithm, we could potentially pull off targeting. Problem is, we never got the algorithm (even though a human had no problem seeing the target) in time. Still haven’t (but I don’t know how to write it correctly!).
I don’t know I’ve never done this. While I may not need it, I would like to have it available. You can always turn down the resolution, but you can’t turn it up above the max - a 1080p camera can capture a lots of resolutions less than 1080p.
Again, I don’t know. Similar to resolution, the goal of the camera is to be better than everything else in the system. I want the limit to how well we can track vision to be how well we can write code, not a bad camera we should have spent a few more bucks on. At $50, this isn’t that big of a monetary investment. Choosing the wrong camera would be a bigger waste of time than anything.
Sure, why not? It beats having to create a bracket to mount it with.
OK. So this is kind of a question of math and goals. I ask about the resolution because it affects the pixel density at range. You should also consider the FOV (field of view) - that will affect what you can see, thus also affecting the effective pixel density of your target. 1080p usually means a 2.1 megapixel image (1920 x 1080 pixels). FOV is affected by your choice of lenses. If you have a small FOV, you can only see a small section of the field at any given moment, but you’ll have excellent resolution for that section of field. If you have a large FOV, you’ll be able to see more of the field in any given frame, but with less detail.
According to Logitech forums, FOV for the C516 is 74 degrees. That means +/-37 degrees (diagonal), or +/- 33.3 degrees in the horizontal. At 54 feet, a 71 foot wide target will fill the entire image (i.e. 27 pixels per foot, or 2.25 pixels per inch). With the usual 4 inch target, that means a nominal 9 pixel width (more likely 7-8 due to lens distortion and slight offsets)
Also, beware of your so-called 1080p resolution capability. According to the Logitech website, the camera will do video capture in 1080p, and video calling (i.e. real-time streaming of video) at 720p. You’re probably not going to get the 1080p resolution without some really interesting tinkering. I suspect this is due to the datalink bottleneck (USB 2.0 isn’t that fast, and 1080p video can get pretty big).
So realistically, you’ll get 1.5 pixels per inch, or 6 pixel width on the reflective strip (720p imagery). I guess in this sense, the camera is ok. Question is, does your software interfacing work? Can you reliably get images in a timely fashion? If you can’t, you’ve wasted either $135 or $50, depending on which device you decide failed.