Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

Could IMAQ count the number of birds on a beach?

Does anyone know the feasability of using Machine Vision to count the number of birds on a beach?  Yes, I'm serious!

 

The field-of-view likely would need to be several hundred feet wide, and there likely would be interference from non-bird things like people. I only would need a count, say, once a minute, so processing power wouldn't be a limiting factor.

 

I plead ignorance on almost all the specifics of image acquisition, including what can and can't be done.  I do have a strong engineering a programming background, so anyone hit me with your best shot!

 

Thanks!

--Brad Garner

  Hydrologist, U.S. Geological Survey

 

0 Kudos
Message 1 of 6
(4,201 Views)

Hey Brad, do you currently have an image that we could look at?

 

Basically, counting things in nature like this will be much harder than counting on a known background, but it should be doable. The place you are going to run into trouble is distinguishing what is a bird. Since they will all be different sizes, colors (depending on clouds, lighting, etc), and in different poses of flight/ground etc, it will be hard to classify them. If you classify by color alone, you will run into beach-goers throwing off your algorithm.

 

Basically, this is something that I personally would like to play with in software. Some things we can look at and say "do this set of steps, and you'll have your answer." This is a case where playing around with it would be more beneficial for me.

Chris Van Horn
Applications Engineer
Message 2 of 6
(4,178 Views)

Thanks, Chris,

I don't have an image yet.  That said, I imagine it mostly will be a field of tan-colored sand, static areas never considered for processing (grass and buildings), and a non-flat image plane (that is, looking down-field on the beach as opposed to from overhead).

 

Can you answer a few technical questions about image-algortihm capabilities:

- Once an "object" is identified, can algorithms accomodate it moving around?

- Can algorithms handle a non-flat image-plane (foreshortening)?  For example, a bird at the bottom of the frame (near the camera) might be 100 pixels wide, while the same bird near the top of the frame (far away) might be only 30 pixels wide.

- How about accounting for foreshortening as an object moves from near to far within the frame?

- Can time be included as a criterion?  For example, once an object is detected, we might say the object must stay in-frame for a minimum time.  This might help filter out transient things that are not birds.

- Can images be pre-processed with image filters like contrast and edge detection?  I suspect these would make detection easier.

 

I fully expect this won't be completely accurate, and that's fine.  If a person occasionally gets counted as a bird, that would probably be okay.  In all likelihood, this measurement will just be binned from, say, 0=very low to 5=very high.

 

Is there a document providing a broad overview of Machine Vision, its algorithms, and the approaches training/calibrating the algorithms?

 

Thanks!

--Brad

 

0 Kudos
Message 3 of 6
(4,166 Views)

Hey Brad,

 

I'll answer your questions with some detail here after a little bit, but really quickly, I wanted to link you to a great read:

 

It is our Vision Concepts Manual. It is very in depth, and will talk about almost everything you would want to know with our image processing.

 

Edit: Argh, it looks like it won't attach, it is too large. If you have vision installed on your computer, you can go to the pdf by going to this filepath:  C:\Program Files\National Instruments\Vision\Documentation and it is the concepts_manual. If you do NOT have vision, let me know, and i can try to figure out another way to get it to you.

 

 

Chris Van Horn
Applications Engineer
0 Kudos
Message 4 of 6
(4,163 Views)

Thanks, Chris,

I found it on the NI website & will read it over.

0 Kudos
Message 5 of 6
(4,145 Views)

Hey Brad,

 

If you could provide a set of images taken over a length of time there is more data you can take advantage of across the images to try and find birds. How fast are the birds moving around? When you can capture some test images, if you could take a set of images, say every 15 seconds for 5 minutes or something similar, it would be really useful. Maybe even a second similar set taken an hour apart. The goal is to take images where the birds have moved from frame to frame, so that you can see the background over time. If the birds don't move much, the method I'm considering won't be effective, but there are several other avenues to try.

 

The easiest way to send a large set of images is to go to ftp://ftp.ni.com/incoming/ . You should be able to log in anonymously and create a folder to put your images in. The less compression the better.
Tyler Weston
Vision R&D
National Instruments
0 Kudos
Message 6 of 6
(4,143 Views)