seeking (low cost) HW + SW system for image pixel analysis

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
I am looking for this, and here are some comments I made in another group a
bout the arduino camera, to give you the flavor of the search:

Quoted text here. Click to load it
Yes, they do that, and I am hoping someone on that yahoo group will have do
ne what I want to do. Here is a comment on the arduino camera mentioned abo
ve. The Good, Bad, and Ugly. First, it is a low cost way of getting an imag
e under computer control. And for the nuts-and-bolts builder, you have a Re
al Time video of what the image sensor sees. (after that, you can put it in
to snap shot mode.) How useful is that!
Now the bad: A snap shot with this board requires a SD card on the arduino.
 The pic is loaded onto the card, and then must be transferred to the PC -  
taking 30 seconds or more. (The video described above is via direct NTSC ou
tput.) And what the PC sees is a jpg.
The Ugly: There is no evident way to do a RT-ish pixel programming with thi
s thing. It doesn't look like the image is accessible in any memory image s
o that some C code can do segmentation and other tricks of simple image ana
lysis. Further, it seems that the arduino uses something called "sketches."
 Is there a C compiler which can access the image? Dunno, but doesn't look  
good. Finally, it would be nice to have access of the pixel train as it iss
ues from the chip. This is a "nice to have," so no big deal.

So you see, my requirements are more stringent than creating nice astronomy
 pictures. BUT - it could be that the software is available somewhere, or t
hat the image is somehow available on the arduino for processing there.

A computer image capture device without software access to the pixels is li
ke a car without a steering wheel that stays parked in the driveway. It's b
asically just a computer-controlled camera. Getting back to the Jupiter pic
ture example, what I want is an image of Jupiter AND a way to scan it for e
vents automatically, programmed by me.

Nevertheless, the pointers are very valuable, particularly the astronomy gr
oup. I think it likely that somebody there has done image analysis from an  
imaging chip. Plus signal enhancement.

I got into the image software by doing OCR programming of documents like fe
dex trucking forms. I used neural nets for the character recognition, and o
ther approaches for alignment, etc. This current project is actually much e
asier.

any ideas welcome.  JB


Re: seeking (low cost) HW + SW system for image pixel analysis
After pinging around about this, I settled on a Raspberry Pi with a camera card.  
The Pi is credit card size, and the camera card is about an inch square.
At least on paper, I haven't found anything wrong with this setup.

Advantages include:

1. The 5 mp camera is connected to the board by a fast parallel bus. It
will transfer video at 30 fps and 30 stills per sec.

2. The board has 512 mb to store the images.

3. The 700 mhz ARM processor runs Linux.  

4. There is a graphics library for image analysis, OpenCV, on Linux.

5. The board has wifi for internet, usb, HDMI for monitor.  

6. I think a usb HD would connect. A usb hub can accomodate kbd and ouse.

7. Of course, GPIO pins are there for control of circuits. ADC, DAC can be added.

8. Right now the cost US is $100 for Pi + cam. China is already lowering that by  
20%.  

9. The camera can sense NIR if a filter is removed.  


That's about it.
JB

Re: seeking (low cost) HW + SW system for image pixel analysis
Quoted text here. Click to load it


The board has 512MB system memory *total*, there's memory consumed
by running Linux, your apps, and part of it is reserved and used by the GPU.

You may wish to find somewhere to offload the images to. The SD card you boot  
from (that holds the Linux OS/files/swap space) can be Gigabytes large, so that's
one answer, or you could force them over a wired/wireless network to another computer.

Quoted text here. Click to load it

Not built in, you need to add a USB WIFI dongle, and you may need a powered hub  
for it to work, current on the USB ports is limited.

Quoted text here. Click to load it

There are two versions of the camera, the regular one, and the "NOIR"
model, which has the filter factory not-fitted :)

--  
--------------------------------------+------------------------------------
Mike Brown: mjb[-at-]signal11.org.uk  |    http://www.signal11.org.uk

We've slightly trimmed the long signature. Click to see the full one.
Re: seeking (low cost) HW + SW system for image pixel analysis
On Saturday, March 1, 2014 10:23:53 AM UTC-5, Mike wrote:
Quoted text here. Click to load it

The main negative I have learned about this system is they throw away 2/3 of  
the pixel information to massage the image for a pleasant look and feel.

Re: seeking (low cost) HW + SW system for image pixel analysis
On a sunny day (Fri, 7 Mar 2014 03:54:00 -0800 (PST)) it happened
snipped-for-privacy@gmail.com wrote in

Quoted text here. Click to load it

Not only that, there are severe throughput restrictions on the USB,
to the point you cannot use a USB keyboard without it dropping characters all the time, useless.
So I use it with ssh -y pi@SOMEWHERE_IP via ethernet from an other PC.
If you lookup (google) the Raspi and USB problems you will find more about it.
I am not against Raspi, on the contrary, I have one in use all day as PIC programmer and development system.
and other one to control a big LED matrix display, or play HD (720 progressive) movies of the teevee via the HDMI.
As a camera I tried my ethernet webcams on it, and it works, but then again processing power is limited.
 But then, for the same price as that Raspi camera you have pan and tilt and adjustable focus, and IR and sound.
Not HD though.. But seriously you need a real camera for that,
I would not even dream of doing real time image procssing on the Pi, but if someone can do ii hope he/she will let us know.
  

Quoted text here. Click to load it

I dunno about that, but it likely is yuv and not RGB.
Bandwidth problem.

Re: seeking (low cost) HW + SW system for image pixel analysis

Quoted text here. Click to load it


hmmm mmm mmm mmm

I guess you know the Camera they sell does not use the USB, but a parallel bus?  
My needs are not full RT, and if I were to do RT, with my state of knowledge
and skill, I might try to catch the bit train on the fly - to do RT processing
you would need the whole image in memory, and with this technology,
that is not RT by definition.  
For my needs, just being able to move around the image in memory is enough.  

BUT...I am always looking for cheaper, simpler solutions. There are several  
things I can't get enough of. They are control of camera exposure, bit depth of  
pixels mainly. If you have any interestig solutions, let me know, and I'll be  
grateful.

The Pi camera can get 3000x2000 (dont hold me to that number) snapshots 30 fps,  
and stick them in memory. I am concerned thy step on the bits, but for the  
money,I've not seen anything as good. - limited survey of course.  

For example, I'd like to get a system which uses an Atmel mcu or similar to  
control a camera board. Alberto Ricci Bitti had a nice design that used an  
omivision board, but it was done in 2006, and the board is now a bit scarce.

Any ideas welcome.
jb

Re: seeking (low cost) HW + SW system for image pixel analysis
On a sunny day (Fri, 7 Mar 2014 12:04:00 -0800 (PST)) it happened
snipped-for-privacy@gmail.com wrote in

Quoted text here. Click to load it

Yes, my comment was on the USB deficiencies I encountered.
USB seems to work OK with a USB to serial adaptor at 19200 Bd though.
A E2500 Logitech USB webcam worked (low res) but could hardly get 1 fps.
Could be a driver problem too, they keep changing (Linux) video stuff.

Yes that camera is on the par bus, and yes it is HD, and YES it is a propriety driver.

None of my USB webcams works right on Raspi (if at all).
I have a USB digitizer that does not work right with this kernel driver version, else I could run some analog PAL cams.

The only thing that actually workeed is this on the ethernet connection:
 http://panteltje.com/panteltje/mcamip/
That driver has support for the cheap Chinese pan tilt IR webcams now too.

It can stream YUV, add on screen time, motion detection, wrote it years ago.
If you can write C code you could use it as a basis, as it [the software] is 100% pixel oriented,
but I dunno what you want to do and can do.
Maybe you can grab in the same way from memory with that Raspi cam,
but I did not like the fixed focus (impossible to get close), flimsy mechanical (or absence of mechanical) system,
and propriety code.
mcamp is open source and does not use any 'driver', just uses the camera jpeg output stream (that I hacked),
so it uses libjpeg.
If jpeg compression is already decreasing perfoprmance for your applicatoon that it is a nono,
then why not just buy a decent sensor chip and make your own camera?
Nothing magical about it, those chips are usually i2c or so interfaced.



Quoted text here. Click to load it

What is 'step on the bits?'



Quoted text here. Click to load it

I have problems with a reality check here,
if that camera does 30 fps at 3000x2000 RGB that makes 30*3000*2000*3 = 540,000,000 bytes per second
540 MB memory needed for 1 (_ONE_) frame and a 1 GHz processor, of course that camera does not do that,
At the best it (the propriety driver) does jpeg compression too, and uses YUV, and divide pixels by 3 so MAYBE 1000x2000 encoded YUV.
so now you payed for?
And then real time processing, well to get an idea a dual core many GHz has problems with that with a normal frame size,
and then waht do you want to to in 1/30 second? Nothing complicated I hope.
But like i said:
If somebody does it I hope they release code, I am curious.

Did I goof on the math?


Site Timeline