Camera module! (And a picture of JamesH)


431 posts   Page 8 of 18   1 ... 5, 6, 7, 8, 9, 10, 11 ... 18
by jamesh » Sun Aug 05, 2012 6:38 pm
I've been away, so to answer the Q's above rather belatedly.

No plan for anything above 5MP at the moment.

The RasPi GPU/Camera ISP can handle up to 41MP. See the Nokia 808 for a camera phone that already uses an over 40MP camera.

It can also do face detection (not specific faces, but the sort of stuff you see on cameras), but I think that might need a licence as it's third party SW.

Yes, it can do stabilisation on the GPU. Yes, some cell phones do already this.
Soon to be unemployed software engineer currently specialising in camera drivers and frameworks, but can put mind to most embedded tasks. Got a job in N.Cambridge or surroundings? I'm interested!
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 11626
Joined: Sat Jul 30, 2011 7:41 pm
by alexchamberlain » Sun Aug 05, 2012 6:41 pm
jamesh wrote:It can also do face detection (not specific faces, but the sort of stuff you see on cameras), but I think that might need a licence as it's third party SW.


Thanks for all the work jamesh! I'm sure we can get an open-source face-detection example written...
Developer of piimg, a utility for working with RPi images.
Posts: 121
Joined: Thu Jun 14, 2012 11:20 am
Location: Leamington Spa, UK
by flightvision » Sun Aug 05, 2012 8:06 pm
Wonderful news. Hardware stabilization? Wow, great feature.

I am looking for a streamable 'first-person-view' off the Pi and am using a Webcam so far. I am eager to get rid of the big USB connector and get a camera on a small board (anything > 2MP will be great).
Posts: 21
Joined: Sat Apr 21, 2012 9:04 am
by jamesh » Sun Aug 05, 2012 9:25 pm
Although the stabilisation is done in the GPU, it's done in software (detect shake movement, compensate for it). What I understand as hardware stabilisation would be more akin to that found in stabilising DSLR lenses, which requires support in the lens.
Soon to be unemployed software engineer currently specialising in camera drivers and frameworks, but can put mind to most embedded tasks. Got a job in N.Cambridge or surroundings? I'm interested!
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 11626
Joined: Sat Jul 30, 2011 7:41 pm
by MadCow42 » Tue Aug 07, 2012 6:39 pm
I'm extremely excited to try out this camera, no matter what the final specs are... I think all the requests for additional resolution or features just go to show the level of interest and possibility - and I hope the team doesn't take it as disrespect for the work they're so laboriously doing!

Personally, anything that can record or stream 1080p/30 or better is a miracle... and anything better is a bonus. Just as raspian has pushed the performance of the RPi itself, maybe the camera's capabilities can be grown over time too.

I need the Futurama "just take my money!" picture here... I can't wait to try it out. Thanks!
Kevin.
Posts: 85
Joined: Sun Jul 01, 2012 12:48 am
by verasen » Wed Aug 08, 2012 3:40 am
Is there any idea of what the minimum focus distance will be for the camera? Can the focus be adjusted manually somehow?
Posts: 7
Joined: Mon May 21, 2012 1:22 pm
by jamesh » Wed Aug 08, 2012 8:28 am
It will be an EDOF (extended depth of field) camera - fixed focus. I'll try and find out the minimum distance.
Soon to be unemployed software engineer currently specialising in camera drivers and frameworks, but can put mind to most embedded tasks. Got a job in N.Cambridge or surroundings? I'm interested!
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 11626
Joined: Sat Jul 30, 2011 7:41 pm
by dancytron » Wed Aug 08, 2012 7:58 pm
jamesh wrote:Although the stabilisation is done in the GPU, it's done in software (detect shake movement, compensate for it). What I understand as hardware stabilisation would be more akin to that found in stabilising DSLR lenses, which requires support in the lens.


Not that it really matters, but, a lot of DSLR's don't do hardware stabilization in the lens but do it by physically moving the sensor (eg Sony and Pentax).
Posts: 46
Joined: Sun May 06, 2012 11:09 pm
by jamesh » Wed Aug 08, 2012 8:08 pm
Sorry, I've got a Canon, hence my canon specific comments...!
Soon to be unemployed software engineer currently specialising in camera drivers and frameworks, but can put mind to most embedded tasks. Got a job in N.Cambridge or surroundings? I'm interested!
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 11626
Joined: Sat Jul 30, 2011 7:41 pm
by Burngate » Thu Aug 09, 2012 8:19 am
So we could do image stabilization by attaching the camera module to a couple of motors driven off the Gertboard?
Wyszkowski's Second Law: Anything can be made to work if you fiddle with it long enough.
Brain surgery is easier than psychoanalysis
User avatar
Posts: 2733
Joined: Thu Sep 29, 2011 4:34 pm
Location: Berkshire UK
by jamesh » Thu Aug 09, 2012 8:26 am
Burngate wrote:So we could do image stabilization by attaching the camera module to a couple of motors driven off the Gertboard?


Yes, probably!
Soon to be unemployed software engineer currently specialising in camera drivers and frameworks, but can put mind to most embedded tasks. Got a job in N.Cambridge or surroundings? I'm interested!
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 11626
Joined: Sat Jul 30, 2011 7:41 pm
by maui » Thu Aug 09, 2012 5:15 pm
Hey James,

I know you are realy busy and trying to get everything done for the rpi. Thanks for that ;)

I'm planing my next project and that involves a camera ;) so I'm deliberating about whether buying a webcam or waiting for the rpi-cam. but I want the your rpi-cam anyways... :!: (quality, speed,... )

So my question:
can you give a eta (update)? ...like weeks, month (septermber?) or Christmas...?
Posts: 25
Joined: Sun Jul 08, 2012 10:10 am
by jamesh » Thu Aug 09, 2012 8:37 pm
Going to be a month or two or more I expect - actual work is very busy* for the whole camera team at the moment, and a change to the requirements (in a very good way!) means more code needs to be written.

* read : absolutely mental including 14 hours days in foreign climes, two weeks at a time.
Soon to be unemployed software engineer currently specialising in camera drivers and frameworks, but can put mind to most embedded tasks. Got a job in N.Cambridge or surroundings? I'm interested!
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 11626
Joined: Sat Jul 30, 2011 7:41 pm
by toxibunny » Thu Aug 09, 2012 8:54 pm
A *good* change to the requirements? Intriguing...
note: I may or may not know what I'm talking about...
Posts: 1087
Joined: Thu Aug 18, 2011 9:21 pm
by jamesh » Thu Aug 09, 2012 9:02 pm
You are not getting another word out of me....
Soon to be unemployed software engineer currently specialising in camera drivers and frameworks, but can put mind to most embedded tasks. Got a job in N.Cambridge or surroundings? I'm interested!
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 11626
Joined: Sat Jul 30, 2011 7:41 pm
by MadCow42 » Fri Aug 10, 2012 4:42 am
jamesh wrote:You are not getting another word out of me....


On that note - if there's anything I can do to help on the code side I'm glad to help. A Python driver/interface is probably right up my alley.

Kevin.
Posts: 85
Joined: Sun Jul 01, 2012 12:48 am
by Stokestack » Wed Aug 15, 2012 2:12 am
I think the lower-rez camera is good news. 14MP on a puny chip is going to be a mass of useless noise, burying all that extra detail that people think they'll get. Noise also greatly reduces the effectiveness of codecs, as they waste already paltry bitrates trying to encode all of its spurious detail. Not to mention the extra work downscaling giant images for video.

A clean-as-possible 4MP is way more useful.
Posts: 37
Joined: Wed Aug 15, 2012 1:00 am
by jamesh » Wed Aug 15, 2012 3:52 am
Stokestack wrote:I think the lower-rez camera is good news. 14MP on a puny chip is going to be a mass of useless noise, burying all that extra detail that people think they'll get. Noise also greatly reduces the effectiveness of codecs, as they waste already paltry bitrates trying to encode all of its spurious detail. Not to mention the extra work downscaling giant images for video.

A clean-as-possible 4MP is way more useful.


Not necessarily true - see the Nokia 808 - that uses a 41MP sensor (same GPU as the Raspi) and produces the best pictures yet from a camera phone sensor. The preceding 12Mp on the N8 was also a very capable system.
Soon to be unemployed software engineer currently specialising in camera drivers and frameworks, but can put mind to most embedded tasks. Got a job in N.Cambridge or surroundings? I'm interested!
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 11626
Joined: Sat Jul 30, 2011 7:41 pm
by jbeale » Wed Aug 15, 2012 5:10 am
Stokestack wrote:A clean-as-possible 4MP is way more useful.

I think I know where you're coming from with the pixel count comparison, but even for low-light images the noise vs. Mpixel argument is really valid only with "all other things being equal" (eg. sense amp technology, and overall silicon die area) and as far as I know, it is not. The largest factor appears to be the total silicon sensor area, regardless of pixel count, and I suspect the latest high-megapixel sensors may also have the largest area. For a detailed technical discussion (including real data) see: http://theory.uchicago.edu/~ejm/pix/20d ... #pixelsize
User avatar
Posts: 2006
Joined: Tue Nov 22, 2011 11:51 pm
by jamesh » Wed Aug 15, 2012 6:02 am
Lots of people poo poo large pixel counts, but you can do a lot more processing with all those pixels to get better quality, and as you say the die areas are increasing - the pixel density of the sensor in the 808 (41MP) is the same as that on the N8 (12MP) for example.

Modern camera phone sensors are very good bits of kit, and the software to run them is also improving daily.
Soon to be unemployed software engineer currently specialising in camera drivers and frameworks, but can put mind to most embedded tasks. Got a job in N.Cambridge or surroundings? I'm interested!
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 11626
Joined: Sat Jul 30, 2011 7:41 pm
by naplam » Wed Aug 15, 2012 11:37 am
Thank you for you work, guys, the Raspberry Pi is awesome. I think 5MP is a good decision, we don't really need more at the quality level a tiny sensor and lens provide. I'd rather have more light sensitivity and less noise if possible. I'm certainly buying the camera as soon as it's ready.
By the way, is it possible (for us) to write code for the GPU in some way? can we even write opengl shaders or something like that? something like cuda or opengl woudl be great
Posts: 43
Joined: Tue Aug 14, 2012 11:04 pm
by jbeale » Wed Aug 15, 2012 5:28 pm
OpenGL ES 2.0 is supported on the R-Pi so you can do some shader programming, see for example viewtopic.php?f=68&t=10246 and a video demo here: http://www.youtube.com/watch?v=82PHzktg ... e=youtu.be

OpenGL and CUDA is not supported; you can view the extensive discussions on these subjects on this forum if curious. Google for
Code: Select all
CUDA site:raspberrypi.org
User avatar
Posts: 2006
Joined: Tue Nov 22, 2011 11:51 pm
by verasen » Thu Aug 16, 2012 6:34 am
Is the camera going to show up as a regular UVC camera or is there going to be some special API to acquire the image? If it's going to be a UVC camera would we be able to use the pan/tilt parameters to specify the region of the sensor to grab? The Logitech C910 uses this method to crop a region of the sensor thereby enabling digital pan/tilt and zoom functionality.
Posts: 7
Joined: Mon May 21, 2012 1:22 pm
by jamesh » Thu Aug 16, 2012 7:08 am
I think its probably going to be OpenMAX, or maybe a shim layer over the top of that to make it actually usable. This does provide most of the feature people will ever want.
Soon to be unemployed software engineer currently specialising in camera drivers and frameworks, but can put mind to most embedded tasks. Got a job in N.Cambridge or surroundings? I'm interested!
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 11626
Joined: Sat Jul 30, 2011 7:41 pm
by PaulBuxton » Thu Aug 16, 2012 10:27 am
Hmm, a V4L driver would be compatible with a wider array of existing software/libraries.....

Paul
Posts: 57
Joined: Tue Jan 10, 2012 11:38 am