Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

NI 1722 Object Recognition

I am currently working on project that will use vision recognition to control two omnidirectional robots.  Attached is a VI that we are using to recognize one robot and one tennis ball based on the radius of the object.  Past groups have used simple webcams placed overhead to take the images.  We are now trying to use the NI 1722 Smart Camera, but it does not seem to be fast enough to process the images.  The whole process from image acquisition to sending a packet takes approximately 130ms which is far too slow.  We were hoping to get at least 30fps or 33ms with the new smart camera or better.  It appears the DetectObj subVI is what is taking the longest processing time.  It contains some thresholding, particle analysis etc.  I was wondering if the 130ms processing time is expected on the 1722 smart camera?  Also, is there any benchmarks for the processing time of various image processing algorithms used in IMAQ?

 

Another questions I have, is would it be possible to take the picture and send it to a computer to do the processing?  I'm not sure if this would speed it up at all, but our advisor would like us to try this.

 

 Main Localization System_udpSmartAvgProc.vi is the main VI (Sorry for the messy block diagram.   We got a lot of it from a past group and are planning on refactoring it)

DetectObj.vi in SubVIs is where a majority of the processing time is occuring.

 

Thanks,

Kevin

0 Kudos
Message 1 of 3
(4,308 Views)

Hello KKnowles,

The maximum frame rate in the NI Smart Cameras is determined by various settings that you the user have configured on the camera itself. See page 5-7 of the User Manual for instructions.

How were the VI’s used for this inspection built: in LabVIEW or in Vision Builder for Automated Inspection (VBAI)? NI recommends using the VBAI software to configure your inspection and deploy the code to the Smart Camera. You can always convert the VBAI script into LabVIEW code for further manipulation.

The NI Smart Camera is not meant to return images to a host PC as they are acquired; rather it is meant to perform the inspection on-board and return a Boolean/string/numeric value to your host PC running LabVIEW. You will see no acquisition speed increase by this method.

Give these resources a try. Also, more users may be willing to help out if you simplify your posted code. Can you get it down to just one VI that demonstrates the timing issue?

Cheers,

David G
Sales Engineer - SE Michigan & N Ohio
National Instruments
Message 2 of 3
(4,281 Views)

You should watch this: Streaming images from a Compact Vision System to a local AVI with the VIs proposed there you can make some changes and you will be able to send images to a computer from the remote Smart Camera.

 

Just the VI to modify is Local.vi where you can save the string received from Remote.vi with the standard File I/O VIs. I'm able to save images but I'm working in achieve a higher frame rate.

Impossible is nothing
0 Kudos
Message 3 of 3
(3,789 Views)