Camera module! (And a picture of JamesH)


431 posts   Page 5 of 18   1, 2, 3, 4, 5, 6, 7, 8 ... 18
by jamesh » Tue Jun 19, 2012 5:02 pm
Must be cheap, must require as little work as possible to get working, must be cheap, must require minimal PCB and cable to interface, must be cheap, must be easily available, and it must be cheap.

As to the educational benefits, well, anything that gets students interested, and writing software to take and process pictures, video, etc is 'quite interesting'
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: 11669
Joined: Sat Jul 30, 2011 7:41 pm
by bootc » Tue Jun 19, 2012 5:56 pm
Burngate wrote:So what I'm working round to saying is: what sort of parameters are you working to in your selection of cameras (apart from price)?


Taking into account:

jamesh wrote:every camera needs a specific camera driver and tuning, so just getting the HW to match isn't enough


A major selection criteria is whether a camera module has already been through the whole tuning process, which takes months if not years. Basically, I can't see them picking any camera they don't already have on their minds as the overheads of getting it working would be far too high.
Posts: 19
Joined: Mon May 28, 2012 7:45 pm
by UNTEngineer » Thu Jun 21, 2012 6:41 pm
Will there (or is there now) the capabilities to use a camera interface that the Bealge Board or the Leopard Board use (ie a 34-pin or 36-pin ZIP connector interface)? Something like this. Or will it be a set of custom camera boards just for use with the RPi?
Posts: 5
Joined: Thu Jun 21, 2012 6:20 pm
by Gert van Loo » Thu Jun 21, 2012 8:36 pm
UNTEngineer wrote:Will there (or is there now) the capabilities to use a camera interface that the Bealge Board or the Leopard Board use (ie a 34-pin or 36-pin ZIP connector interface)? Something like this. Or will it be a set of custom camera boards just for use with the RPi?


As you can see from the picture the Pi has a 15-wire flex cable. So: No you can not exchange modules.
User avatar
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 2036
Joined: Tue Aug 02, 2011 7:27 am
by jbeale » Thu Jun 21, 2012 8:47 pm
Just for my own educational benefit, is this camera tuning process something that is host-hardware dependent? I'm guessing it currently is, although it seems that in theory it doesn't have to be. Maybe there's never been a market desire for that, as the cell phone market wants differentiation. But it seems like the tuning you need for a bare camera device (raw output) is really a set of parameters which are specific to the camera module, not the host CPU, and those parameters could be measured and published by the camera manufacturer (?) Or is there too much "season to taste" subjective judgement involved?
User avatar
Posts: 2012
Joined: Tue Nov 22, 2011 11:51 pm
by UNTEngineer » Thu Jun 21, 2012 8:57 pm
Gert van Loo wrote:As you can see from the picture the Pi has a 15-wire flex cable. So: No you can not exchange modules.


Will there be any documentation identifying what those 15 pins are (same goes for the Display connector)?

I suppose its possible to make an adapter board to make the other cameras work if we could get some detailed specs. Leopard Board did that for some of their cameras.
Posts: 5
Joined: Thu Jun 21, 2012 6:20 pm
by Gert van Loo » Thu Jun 21, 2012 9:03 pm
yes it is very hardware dependent. You have to know what processing hardware is available and what it can do. Compare it with DSP's. If you want to process a signal using a FFT, you have to know how big an FFT you can run. 64, 128, 256? Video processing is orders of magnitude more complex then that. RGB or YUV? How many bits/pixel 8,10,12,16,24? What format 2/2/4, 2/4/4, 4/4/4?
User avatar
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 2036
Joined: Tue Aug 02, 2011 7:27 am
by Gert van Loo » Thu Jun 21, 2012 9:19 pm
UNTEngineer wrote:
Gert van Loo wrote:As you can see from the picture the Pi has a 15-wire flex cable. So: No you can not exchange modules.


Will there be any documentation identifying what those 15 pins are (same goes for the Display connector)?

I suppose its possible to make an adapter board to make the other cameras work if we could get some detailed specs. Leopard Board did that for some of their cameras.


It is already available: Look at the schematic!

And please, please stop talking about 'other cameras'. That subject has been broached now a hundred times in this forum. The answer is the same each time: No you can not. You have to know the inside if the GPU. you will not get to see the inside of the ISP (Image Sensory Pipeline) because we are top of our field in that beating every other vendor. We will not expose a multi million dollar IP source.

Let me phrase that differently: If you go the CEO of Broadcom and ask him: "Can you please give me a pile of gold bars", what do you think his answer is?
Asking us to reveal how our camera tuning hardware works is exactly the same. Before you say: "but I only want to know how to control it." It is the same. If we specify in detail every register setting and how it effect the picture quality and how it interferes or cooperates with all the other hundred register setting, you can get very far with reverse engineering
User avatar
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 2036
Joined: Tue Aug 02, 2011 7:27 am
by UNTEngineer » Thu Jun 21, 2012 9:35 pm
Gert van Loo wrote:Let me phrase that differently: If you go the CEO of Broadcom and ask him: "Can you please give me a pile of gold bars", what do you think his answer is?


Ok ok, I get your point. :oops:
Posts: 5
Joined: Thu Jun 21, 2012 6:20 pm
by jeffy » Thu Jun 21, 2012 10:46 pm
I am interested in a camera module. Seeing the quality of image I assume the sensor support auto-white balance? Would it be possible to know more technical information on the sensor chosen?
Thanks!
Jeff
Posts: 11
Joined: Fri Apr 27, 2012 3:37 pm
by UNTEngineer » Fri Jun 22, 2012 1:11 am
jeffy wrote:Seeing the quality of image I assume the sensor support auto-white balance?


Indeed. See the quote:

jamesh wrote:In answer to some post above looking for the ability to change settings, there are a number of features already in the software that allow you to:

Change white balance (to one of a set of standard values, very much like a standard compact camera)
Change ISO (gain control)
Change contrast
Change sharpness
Change colour tones (e.g. sepia, B&W etc)
And other stuff...
Posts: 5
Joined: Thu Jun 21, 2012 6:20 pm
by jamesh » Fri Jun 22, 2012 6:39 am
jeffy wrote:I am interested in a camera module. Seeing the quality of image I assume the sensor support auto-white balance? Would it be possible to know more technical information on the sensor chosen?
Thanks!
Jeff


We haven't yet chosen the module - still in discussion with manufacturers to get decent pricing.
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: 11669
Joined: Sat Jul 30, 2011 7:41 pm
by Burngate » Fri Jun 22, 2012 10:06 am
jamesh wrote:... - still in discussion with manufacturers to get decent pricing.

Ahh - another can of worms
So we'll just have to sit on our hands, twiddling our thumbs for a while yet! ;)
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: 2761
Joined: Thu Sep 29, 2011 4:34 pm
Location: Berkshire UK
by Gert van Loo » Fri Jun 22, 2012 12:00 pm
Plus the fact that the whole camera team is working the last few weeks for 22 hours a day for an important customer. So they do not have time to work on the module. Which also means that if that work has finished they will need some time to recover from exhaustion before they can start putting some private time into the foundation work.
User avatar
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 2036
Joined: Tue Aug 02, 2011 7:27 am
by piglet » Fri Jun 22, 2012 12:19 pm
We demand that this camera module be made available free of charge immediately: http://www.bbc.co.uk/news/technology-18536170

Image

:lol:
User avatar
Posts: 568
Joined: Sat Aug 27, 2011 1:16 pm
by jeffy » Fri Jun 22, 2012 8:56 pm
jamesh wrote:
jeffy wrote:I am interested in a camera module. Seeing the quality of image I assume the sensor support auto-white balance? Would it be possible to know more technical information on the sensor chosen?
Thanks!
Jeff


We haven't yet chosen the module - still in discussion with manufacturers to get decent pricing.


Thanks James! :-)
Having not selected a sensor module yet... could you please share the selection criteria? What features will it have and what features are you hoping to have? ... or is it all negotiable based on volume pricing?
Jeff
Posts: 11
Joined: Fri Apr 27, 2012 3:37 pm
by jamesh » Fri Jun 22, 2012 9:35 pm
That's all covered in posts above.

Although I would add that new software from Broadcom means that a camera module that has an inbuilt and tuned ISP can now be used as we can bypass the internal ISP on the SoC. That might make selection a bit easier.
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: 11669
Joined: Sat Jul 30, 2011 7:41 pm
by Burngate » Sat Jun 23, 2012 11:45 am
Totally lacking in knowledge* in this area, I assume most phone-cameras have similar fields of view, and that it is similar to that of a standard 35mm lens on a 35mm camera.
that being the case, can I assume the cameras you are looking at are the same?

* I've got a feature phone
Does it surf the web? No, it's a phone.
Does it do email? No it's a phone.
Can you play games on it? No, it's a phone.
Can you use it as remote for your TV? No, it's a phone.
Does it take photos? No, it's a phone.
Can you send texts? Wow! Yes!
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: 2761
Joined: Thu Sep 29, 2011 4:34 pm
Location: Berkshire UK
by pygmy_giant » Sun Jun 24, 2012 11:34 pm
My phone has a great game - catch!
Ostendo ignarus addo scientia.
Posts: 1569
Joined: Sun Mar 04, 2012 12:49 am
by kingmt » Mon Jul 02, 2012 4:02 pm
My day job is web programming, and as I am fond of quoting to the business people "don't tell me how to fix the problem, tell me the problem and your wishlist and I will attempt to get as close as I can"

So, my camera module 'wishlist':
* removable or no IR filter
* M12 or CS lens mount
* 60 fps
* high resolution
* color not needed, only need B&W

My application wishlist:
a camera 'module' with a USB HID interface that can recognize blobs and fiducials and reports them to the USB host in a manner similar to a mouse or touchpad. The camera 'module' being capable of tracking object positions 60 times per second (60fps) and capable of recognizing 2-2.5cm fiducials. Fiducial recognition needs approximately 40px, so resolution needs to be 40px/2-2.5cm. Lens and focal distance will greatly impact the resolution, so having an interchangeable M12 or CS mount lens becomes very important.

Reasoning:
I was thinking of using a RPi model A as the basis of this module with a camera module without an IR filter and a M12 or CS mount. From the previous discussions I understand could set the image processing to B&W, maybe adjust the contrast/sensitivity to eliminate IR 'noise' and then hand that off to the CPU for blob/fiducial detection.

I want to use a camera and some processing power to track infrared illuminated objects. I am building a interactive touch table, like the Microsoft Pixelsense tables (formerly known as Microsoft Surface) The second generation table is here: http://www.samsunglfd.com/product/featu ... elCd=SUR40 The second generation embeds IR sensors into the LCD module, the first generation used a separate projector and IR recognition system. The idea is that IR light is emitted from the unit and objects on or near the projection surface reflect the IR light back to a sensor. There are 2 main categories of IR recognition, 'blob' and 'fiducial'. Blob recognition is detecting the center and boundaries of the reflected IR. The blob and be from fingertips, a hand, or an object like a phone. Fiducials are comparable to detecting the center and orientation of a QR code.

The NUI group forums (http://www.nuigroup.com/forums) are a gathering place of people building similar projects. The current solutions involve USB or Firewire webcams and processing software. The video processing CPU consumption is not trivial. For motion tracking the target is 60fps. For both methods or recognition the higher the resolution the better, however fiducial size is directly impacted by the resolution where higher resolutions supporting smaller fiducials.

- Michael
Posts: 1
Joined: Mon Jul 02, 2012 2:52 pm
by usptact » Wed Jul 04, 2012 3:48 pm
It would be great to make sure that it works perfectly with OpenCV. This will enable plenty of Computer Vision related tasks that can make your RBpi even more versatile and powerful!

I have phD level education in Machine Learning and Computer Vision. May be I can invest my knowledge in this nice and promising project.
Posts: 5
Joined: Wed Jul 04, 2012 3:30 pm
by MikeJ » Wed Jul 04, 2012 6:33 pm
@ Burngate
This is what I want, only a jpg-Photo from the camera-module.
(no need of V4L)

It is nice if I can say: "give me a 640x480 Image" or "give me a 5 MegaPixel image".

Something like that:

MikeJ@Linux-System:~$ RBPiPhoto -getresolutionmodes
PBPi-Resolution: 320x240 (Mode 0)
PBPi-Resolution: 640x480 (Mode 1)
PBPi-Resolution: 1024x768 (Mode 2)
PBPi-Resolution: 1024x768 (Mode 3)
PBPi-Resolution: 2048x1536 (Mode 4)

MikeJ@Linux-System:~$ RBPiPhoto -setmode 2
MikeJ@Linux-System:~$ RBPiPhoto -getresolution
PBPi-Resolution: 1024x768 (Mode 2)

MikeJ@Linux-System:~$ RBPiPhoto -getphoto -path /home/mike/photos/pic1.jpg

If I can set the gamma value and make manual white balance, this would be nice.

The computing power of the RBPi is very good (700MHz) so I can try to recognize an object in the Image, but it need some time (some seconds or minutes) to do that, this is okay.

If I need more frames per second, then I can send the picture to a 8 Core 4GHz AMD/Intel Board with Nvidia CUDA or ATI Stream GPUs.
Posts: 1
Joined: Mon Apr 09, 2012 9:07 pm
by Norefall » Sun Jul 15, 2012 1:53 pm
In this video, Eben announces the camera module, which he believes will be 5MP, cost 20-25 USD and that he believes it will be ready in 3 months.

http://youtu.be/FbuWm6qxOiI
Posts: 43
Joined: Sun Nov 06, 2011 12:19 pm
by jamesh » Sun Jul 15, 2012 2:04 pm
That's the plan. We will need to do a little tuning, and there is work to be done in getting the images from the GPU to the Arm in a nice Linux format (anyone have an suggestions on what interface/library would work best for JPG capture?). We also need to do some work on the video side as well of course, I guess V4L is most popular there? Other suggestions welcome.
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: 11669
Joined: Sat Jul 30, 2011 7:41 pm
by wietzjoubert » Mon Jul 16, 2012 11:28 am
Gert van Loo wrote:
awright2009 wrote:Hey I work for a defense contractor that makes infrared camera modules and we have a project that is supposed to simply give an engineer a worked example of interfacing our camera with hdmi out and a lcd display. I know the Raspberry doesnt have the screen, but do you think this thing could handle our parallel camera interface that outputs 320x240 digital YUV data?

We are currently using the ti814x / am387x, but TI has everything under NDA and we are having major issues simply getting data out from their device. (I think their cortex M3 is either off or hammering the memory bus where we cant change registers we need to)


I need to know a bit more about the parallel camera interface. Width, speed etc. I don't think the Raspberry-Pi system can process the stream. The big question is: do you need the Raspberry-Pi system or are your (future) orders big enough to make your own board which has more pins to connect to. In the latter case you have a very good chance that we can accept your parallel stream.
As alternative you could look at the next chip from Broadcom. I don't know all the details but it that has almost everything the BCM2835 has and more. Among the 'more' is an LCD interface. It is not in the same price class as the BCM2835 though.


Hi, We are doing the same thing. We have also gone the TI DM814x route but without support we cannot continue development. Did you manage to find a solution for Raspberry Pi? Our camera interface is 14 bit parallel, 10 Mhz Pixel clock, 640x512. Can the broadcom processor work for this application?
Posts: 1
Joined: Mon Jul 16, 2012 11:19 am