[Henry Tonoyan] has started getting into OpenCV and digital control system projects. He needed a decent webcam that could do higher than standard frame rates. As it turns out, the PS3 Eye is actually a pretty capable little camera. Now that it’s kind of obsolete, you can have it for as little as $7 from places like Amazon!
The PS3 Eye has a standard USB interface, and after messing around with it a bit in Linux, [Henry] was able to adjust the frame rate settings for his application. He’s using a library called video for Linux with an application called qv4L2. It’s capable of 60fps at VGA, which we admit isn’t amazing, but at $7, we can’t complain — if you drop down to QVGA (320×240) you can go up to 120fps.
From there you can play around in OpenCV to your heart’s content.
Seeing as the Eye has been out for over 7 years now, it has been used in quite a few hacks since then. From an actual eyeball tracker (seriously), to an interactive projection globe with touch tracking to even a physical tower defense game.
even at $7, the price is not great
Do you have a better option?
Any of the $5.00 china webcams. They easily do 60fps at 640X480.
So, you save 2 bucks and you get crappy low light performance and a garbage lens. Seems like a fair trade off.
Not to mention, the PS-Eye lens has adjustable FoV, basically undetectable distortion (I’ve calibrated it before), and an array of four super sensitive cameras that can do beam forming.
But surely don’t do 120fps. Cheap ones are for still life art, for any moving picture purpose you need a moving picture camera.
for being quality hardware and having a plenty good resolution and frame rate for video chatting, I say that it’s a damn good deal.
Not to mention the four microphones are awesome
Now this I’d like to see used in some hacks. Can you do direction tracking of sound with these?
Search a bit on the topic of beanfoarming and acoustic camera.
But my guess would be it all depends on the distance between micropphones and the frequency you are trying to locate. The lower the frequency more distance between microphones is needed.
At one point, Amazon had them for about $5 each.
I’ve used those cameras for CV stuff a bunch and you will still have a hard time finding anything nearly as good for anywhere near that price. Solid low light performance, good lens and a microphone array.
Makes sense. I’ve found some amazing technically obsolete items up there on Amazon. However I’m still trying to find a PS1 screen, that thing sold to make the PS1 more portable.
those PS1 screens were in short supply due to their hackability. probably not gonna find them easily anymore. there’s lots of other cheap LCD options nowadays though
The $7 price leaves plenty of $$$ for buying the windows driver for $3: https://codelaboratories.com/downloads/ and an adjustable lens mount for $10 http://peauproductions.com/store/index.php?main_page=product_info&cPath=136_1_25_100&products_id=3
It’s a popular camera for head tracking in video games using http://free-track.net/ or http://facetracknoir.sourceforge.net/home/default.htm
Certainly one place where Linux shines, it’s actually pretty easy to write a driver for a webcam assuming other cameras with similar chipsets already have drivers written. And the PS3 driver has been merged for quite some time. Seems so odd and foreign to switch over to windows and not only have older hardware not just automatically work when you plug it in, but to have to pay for a driver.
! that driver was free when I got my eye a couple of years ago.
Another great PS3 camera hack is this airhockey robot: https://www.youtube.com/watch?v=CjzSeOg8oTs The 120hz mode is great for detecting fast motion like the air hockey puck.
clearly 120hz works, but I wonder if it would be possible to have 2 cameras running at 120hz but synced such that they were out of phase with each other for an effective 240hz.
It doesn’t work like that. You are imagining an instantaneous 120 times per second but in fact it is a continuous capture that takes 120th of a second. Even with a perfect sync (which also won’t work because the timing isn’t that regular) you would have overlapping capture, not extra information.
Even with the technical details you allude to, it is still possible to obtain a higher resolution of detail with multiple cameras ( either in the time/temporal domain as the first poster suggests or in the more typical spatial dimension… Think of it as a variation of subpixel/super-resolution techniques) I suggest the Stanford Multi-Camera Array project and it’s related papers to anyone interested in more detail.
I’m intested in this idea as well. I imagine that the sync signal might be controllable in the driver. I imagine an array of cameras, using prisms or partial mirrors.
I’m kind of interested in going the other way: putting 4/9/16/etc. in an array to create a cheap, high res, high speed multi-touch display. Has anyone heard of such a project?
These are great! Four microphones can be really awesome for seeing through walls.
Can you provide some more info on this thing? I thought you need radars for that.
in QVGA they can go up to 150FPs, I’ve heard claims of someone getting 180FPs as well, but i got corrupted data at that rate.
The OmniVision chip also have quite a bit of hardware accele rated image processing (denoising, whitebalance, edge enhancement) that can be enabled if you dabble a bit with the driver.
I have also seen people using the frame synchronization pin to sync multiple cameras for stereo vision.
I wish the Raspberry Pi Foundation would release a camera module 2 with significantly beefed up specs. Flagship Android phones have had way better cameras for years, when will RPF step up the specs to that level?
Another great aspect of this camera is its very low latency – which is super useful for CV uses.
I’ve used them for ages – did not know the driver is now being charged for…. some sadness there.