radiohound
May 12, 2005, 12:09 PM
Image processing was mentioned briefly in another part of this UAV forum, but I thought it deserved its own thread.
What product is anyone using or thinking of using out there?
Image processing is one of the last things on my list of necessities, but it would be very cool to implement, and would really heighten the capabilities of any UAV. It would also be pretty high on the complexity scale, throwing my KISS (keep it simple stupid) slogan out the window.
One device I have pondered, that seems do-able, and is microprocessor compatible is the CMUCAM. It has the following features, and about 47 commands.
The CMUcam2 consists of a SX52 microcontroller ( http://www.ubicom.com/
products/sx/sx.html ) interfaced with an OV6620 or OV7620 Omnivision
CMOS camera (http://www.ovt.com) on a chip that allows simple high level
data to be extracted from the cameras streaming video. The board communicates
via a RS-232 or a TTL serial port and has the following functionality:
Track user defined color blobs at up to 50 Frames Per Second*
Track motion using frame differencing at 26 Frames Per Second
Find the centroid of any tracking data
Gather mean color and variance data
Gather a 28 bin histogram of each color channel
Manipulate Horizontally Pixel Differenced Images
Transfer a real-time binary bitmap of the tracked pixels in an image
Arbitrary image windowing
Adjust the cameras image properties
Dump a raw image (single or multiple channels)
Up to 160 x 255 Resolution**
Supports Multiple Baudrates: 115,200 57,600 38,400 19,200 9,600
4,800 2,400 1,200
Control 5 servo outputs
Slave parallel image processing mode off of a single camera bus
Automatically use servos to do two axis color tracking
B/W Analog video output (PAL or NTSC)**
Flexible output packet customization
Multiple pass image processing on a buffered image
Works with the OV7620 or OV6620 module
http://www-2.cs.cmu.edu/~cmucam/
On a side note, I was thinking about image processing ..... this could be used as a range finder of sorts to detect altitude above ground features. Overall altitude is easy to obtain with the use of an altimeter. But finding the height of the plane over ground features is much more difficult/expensive (laser rangefinders, radar... etc). If frame to frame pixel movement can be detected (image shift), and suposing your camera was pointed straight down, then altitude over the ground could be determined as follows:
The field of view on any camera is given in degrees. Say a camera has a 41 degree field of view. When the camera is a foot off the ground, this field of view is a small area, and at any speed, the image shifts very quickly. At 100 feet, the area covered by the field of view is much larger. It takes a longer time to shift the image. This effect is noticed easily when you are on an airplane. At 30,000 feet it takes forever to change your "image" of what is down below.
What is needed is a known speed reference, but with a gps this is easy to obtain
One anoyance would be tilting of your plane, giving you error in altitude above ground. This could be somewhat compensated for by using infra red attitude/horizon sensors.
Any other good products out there for us?
What product is anyone using or thinking of using out there?
Image processing is one of the last things on my list of necessities, but it would be very cool to implement, and would really heighten the capabilities of any UAV. It would also be pretty high on the complexity scale, throwing my KISS (keep it simple stupid) slogan out the window.
One device I have pondered, that seems do-able, and is microprocessor compatible is the CMUCAM. It has the following features, and about 47 commands.
The CMUcam2 consists of a SX52 microcontroller ( http://www.ubicom.com/
products/sx/sx.html ) interfaced with an OV6620 or OV7620 Omnivision
CMOS camera (http://www.ovt.com) on a chip that allows simple high level
data to be extracted from the cameras streaming video. The board communicates
via a RS-232 or a TTL serial port and has the following functionality:
Track user defined color blobs at up to 50 Frames Per Second*
Track motion using frame differencing at 26 Frames Per Second
Find the centroid of any tracking data
Gather mean color and variance data
Gather a 28 bin histogram of each color channel
Manipulate Horizontally Pixel Differenced Images
Transfer a real-time binary bitmap of the tracked pixels in an image
Arbitrary image windowing
Adjust the cameras image properties
Dump a raw image (single or multiple channels)
Up to 160 x 255 Resolution**
Supports Multiple Baudrates: 115,200 57,600 38,400 19,200 9,600
4,800 2,400 1,200
Control 5 servo outputs
Slave parallel image processing mode off of a single camera bus
Automatically use servos to do two axis color tracking
B/W Analog video output (PAL or NTSC)**
Flexible output packet customization
Multiple pass image processing on a buffered image
Works with the OV7620 or OV6620 module
http://www-2.cs.cmu.edu/~cmucam/
On a side note, I was thinking about image processing ..... this could be used as a range finder of sorts to detect altitude above ground features. Overall altitude is easy to obtain with the use of an altimeter. But finding the height of the plane over ground features is much more difficult/expensive (laser rangefinders, radar... etc). If frame to frame pixel movement can be detected (image shift), and suposing your camera was pointed straight down, then altitude over the ground could be determined as follows:
The field of view on any camera is given in degrees. Say a camera has a 41 degree field of view. When the camera is a foot off the ground, this field of view is a small area, and at any speed, the image shifts very quickly. At 100 feet, the area covered by the field of view is much larger. It takes a longer time to shift the image. This effect is noticed easily when you are on an airplane. At 30,000 feet it takes forever to change your "image" of what is down below.
What is needed is a known speed reference, but with a gps this is easy to obtain
One anoyance would be tilting of your plane, giving you error in altitude above ground. This could be somewhat compensated for by using infra red attitude/horizon sensors.
Any other good products out there for us?