Legacy Forum: Preserving Nearly 20 Years of Community History - A Time Capsule of Discussions, Memories, and Shared Experiences.

My Theory of Robot Vision

Hitec robotics including ROBONOVA humanoid, HSR-8498HB servos, MR C-3024 Controllers and RoboBasic
7 postsPage 1 of 1
7 postsPage 1 of 1

My Theory of Robot Vision

Post by DirtyRoboto » Tue Jun 26, 2007 7:12 pm

Post by DirtyRoboto
Tue Jun 26, 2007 7:12 pm

I was just thinking about how to make vision make sense to a robot. I thought about how we see and all of a sudden a fact popped out at me. That our true sight is inverted so that the floor is the sky and the sky the floor. our brain flips this image before processing it. I asked WHY?

What is so important about this inversion. Well this....
Most of the important information we need is in the 50% below the horizon in relation to our head position. Gravity also makes things settle on the ground, in the case of anticipating a falling object one knows where it will end up.

So the lower 50% of vision is most important. This is the reason for inversion, so that the most important data is processed first.
All repoduced moving images scan from top to bottom as do books. (plz dont quote variances in direction). There is a preferred direction to process visual info for humans this is left to right, top to bottom.

This is why I belive that processing visual info for robots should be done by first inverting the image (or flipping the cameras pov by 180o) so that the info to get processed first is in the more vital area.

I dont get much psy reading so I might be covering already used ideas.

Marcus.
I was just thinking about how to make vision make sense to a robot. I thought about how we see and all of a sudden a fact popped out at me. That our true sight is inverted so that the floor is the sky and the sky the floor. our brain flips this image before processing it. I asked WHY?

What is so important about this inversion. Well this....
Most of the important information we need is in the 50% below the horizon in relation to our head position. Gravity also makes things settle on the ground, in the case of anticipating a falling object one knows where it will end up.

So the lower 50% of vision is most important. This is the reason for inversion, so that the most important data is processed first.
All repoduced moving images scan from top to bottom as do books. (plz dont quote variances in direction). There is a preferred direction to process visual info for humans this is left to right, top to bottom.

This is why I belive that processing visual info for robots should be done by first inverting the image (or flipping the cameras pov by 180o) so that the info to get processed first is in the more vital area.

I dont get much psy reading so I might be covering already used ideas.

Marcus.
In servo's we trust!
DirtyRoboto
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 412
Joined: Tue Sep 19, 2006 1:00 am
Location: London

Robot Vision

Post by JavaRN » Wed Jun 27, 2007 5:31 pm

Post by JavaRN
Wed Jun 27, 2007 5:31 pm

Remember that Robots are not Humans! anyway if you leave the image as it is without inverting it you will also get an idea how "close" the object is to the robot, also if you invert the image upside down you have to store other images to match upside down when it comes to image recognition.
Remember that Robots are not Humans! anyway if you leave the image as it is without inverting it you will also get an idea how "close" the object is to the robot, also if you invert the image upside down you have to store other images to match upside down when it comes to image recognition.
F'dan il-passatemp ghandek bzonn zewg affarijiet - FLUS u HIN. Zewg affarijiet li huma skarsi hafna u li jien minnhom ghandi vera ftit!
JavaRN
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 282
Joined: Fri Mar 02, 2007 11:01 pm

Post by DanAlbert » Wed Jun 27, 2007 5:37 pm

Post by DanAlbert
Wed Jun 27, 2007 5:37 pm

That makes no sense to me. The inverted image is a product of the concave shape of the eye. Look inside a spoon and you will see your image inverted.

Do fish also have inverted images? They have no horizon.

I think for simple biped robot imaging consider using rectangular shapes such as windows and tables to determine a level condition.

This may sound easy at first but if the surface is not at eye level it will appear as if one end were up when the Z axis is rotated. Try it with a pencil. Hold it eye level and rotate Z. It becomes a point. Then hold it above your head and rotate. It appears as if one end ir rising.
That makes no sense to me. The inverted image is a product of the concave shape of the eye. Look inside a spoon and you will see your image inverted.

Do fish also have inverted images? They have no horizon.

I think for simple biped robot imaging consider using rectangular shapes such as windows and tables to determine a level condition.

This may sound easy at first but if the surface is not at eye level it will appear as if one end were up when the Z axis is rotated. Try it with a pencil. Hold it eye level and rotate Z. It becomes a point. Then hold it above your head and rotate. It appears as if one end ir rising.
DanAlbert
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 70
Joined: Fri Feb 04, 2005 1:00 am

Post by cdraptor » Thu Jun 28, 2007 2:59 am

Post by cdraptor
Thu Jun 28, 2007 2:59 am

Well if your using the 50% below the horizon as the most important you don't need to invert the image. Let's use the standard X,Y coordinates on an image, just process your routine in reverse Y (from Y=MaxHeight to Zero). If your running some routines that are working off a scanline going from the bottom of the image will strike against those objects that are generally closer to the robot.

I plan on doing some research into computer vision, so I hope to have some more things to offer in the near future.
Well if your using the 50% below the horizon as the most important you don't need to invert the image. Let's use the standard X,Y coordinates on an image, just process your routine in reverse Y (from Y=MaxHeight to Zero). If your running some routines that are working off a scanline going from the bottom of the image will strike against those objects that are generally closer to the robot.

I plan on doing some research into computer vision, so I hope to have some more things to offer in the near future.
cdraptor
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 93
Joined: Tue Apr 03, 2007 2:49 am
Location: Lititz, PA

Post by DirtyRoboto » Thu Jun 28, 2007 6:32 am

Post by DirtyRoboto
Thu Jun 28, 2007 6:32 am

most ccd'S i know of scan from top left to bottom right. so you would have to wait for all of the data to be captured until you can anylize the more critical area.
most ccd'S i know of scan from top left to bottom right. so you would have to wait for all of the data to be captured until you can anylize the more critical area.
In servo's we trust!
DirtyRoboto
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 412
Joined: Tue Sep 19, 2006 1:00 am
Location: London

Post by Humanoido » Fri Jul 20, 2007 11:16 am

Post by Humanoido
Fri Jul 20, 2007 11:16 am

This is an excellent point regarding vision. In our limited humanoid hobby robotic systems, it's extremely important to scan only "essential area" using limited vision resources that are affordable.

I don't know about fish vision, but take fly vision as an example. The eye is composed of many elements, each capable of image forming. This applies well to the structure of microcontrollers.

For example, use of a port expander such as the 74HC151 would allow multiple lenses and light sensors in a quantity sufficient to form a practical image, and create (input) data readily in parallel processing for maximum speed. I'm currently building several eye versions with these thoughts in mind. The concept is straight forward, low cost, and uses off the shelf components.

Incidentally, this technique can "centroid scan" in any direction or combinations of directions just by changing the byte/word structure. Once a particular algorithm is established, moving the eye, just as a real human eye, becomes important. On the other hand, it's also possible to create virtual movements of the eye without physical movements. Such a technique is used in astronomy, for astronomical CCD imaging, in virtual guidance and tracking of the image.

What will be very interesting is creating some peripheral vision using virtual techniques. Peripheral vision could utilize broadband sensors that are cheaper, smaller, and more easy to interface to the primary vision centroid. When coupling these simple components and techniques together, the unit would become a much more powerful eye.

humanoido
This is an excellent point regarding vision. In our limited humanoid hobby robotic systems, it's extremely important to scan only "essential area" using limited vision resources that are affordable.

I don't know about fish vision, but take fly vision as an example. The eye is composed of many elements, each capable of image forming. This applies well to the structure of microcontrollers.

For example, use of a port expander such as the 74HC151 would allow multiple lenses and light sensors in a quantity sufficient to form a practical image, and create (input) data readily in parallel processing for maximum speed. I'm currently building several eye versions with these thoughts in mind. The concept is straight forward, low cost, and uses off the shelf components.

Incidentally, this technique can "centroid scan" in any direction or combinations of directions just by changing the byte/word structure. Once a particular algorithm is established, moving the eye, just as a real human eye, becomes important. On the other hand, it's also possible to create virtual movements of the eye without physical movements. Such a technique is used in astronomy, for astronomical CCD imaging, in virtual guidance and tracking of the image.

What will be very interesting is creating some peripheral vision using virtual techniques. Peripheral vision could utilize broadband sensors that are cheaper, smaller, and more easy to interface to the primary vision centroid. When coupling these simple components and techniques together, the unit would become a much more powerful eye.

humanoido
Humanoido
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 574
Joined: Tue Dec 05, 2006 1:00 am
Location: Deep in the Heart of Asia

Post by DirtyRoboto » Fri Jul 20, 2007 5:10 pm

Post by DirtyRoboto
Fri Jul 20, 2007 5:10 pm

Most ideas of how a compound eye works are flawed. In my experience the CNS for image processing betweens the compound input into a smooth and detailed construction.
All of those demonstrations of compound vision (this is what a fly sees) are wrong. They see a lower rez version of what we see but we would still be able to use a flys eye view to navigate our world.

Marcus
Most ideas of how a compound eye works are flawed. In my experience the CNS for image processing betweens the compound input into a smooth and detailed construction.
All of those demonstrations of compound vision (this is what a fly sees) are wrong. They see a lower rez version of what we see but we would still be able to use a flys eye view to navigate our world.

Marcus
In servo's we trust!
DirtyRoboto
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 412
Joined: Tue Sep 19, 2006 1:00 am
Location: London


7 postsPage 1 of 1
7 postsPage 1 of 1