Example Program Drafts

cancel
Showing results for 
Search instead for 
Did you mean: 

Deep Learning Object Detection using Vision Development Module for LabVIEW

Overview

 

 This example demonstrates the use of the Model Importer API in the Vision Development Module to perform Object detection feature for Defect Inspection application using Deep Learning.

 

Description

 

The example uses a pre-trained model – SSD_MobilenetV1 which is trained in TensorFlow. This model is loaded using the Model Importer VI to detect defects in the images. 

The example has two controls:  

  • Select Image Control to browse through different images.  
  • Minimum Score Threshold input, which determines which defects to overlay on the image display.

Hardware and Software Requirements

 

  • LabVIEW Full Development System 64-bit 2018 or later 
  • Vision Development Module 2018 or later

Steps to Implement or Execute Code

 

  • Run the Deep Learning Object Detection.VI
  • Choose a specific image using the Select Image slider control
  • Observe the bounding box values for the detected defects and the Score Threshold in the Detected Defects array. This array shows every defect in the selected image.
  • Modify the Minimum Score Threshold to select which bounding box to overlay.
T. Le
Vision Product Support Engineer
National Instruments
Comments
Member D*
Member

If I read this correctly, the heavy lifting (training, configuration, etc) is done first in Python, then when we want to run the model, we can use this set of .vis to reload that model and classify images.  Is that correct?

 

To classify is NI Vision running python to do this or is tensorflow being called directly somehow?  Is this any better than trying to do the classification with some labview<->python bridge?

 

What are the Python, tensorflow, etc versions needed? 

 

 

Member Abhishekns
Member

Dear D*,

 

Yes, tensorflow is used to do the heavy lifting and Labview VIs do the model loading and inference.

The supported tensorflow version is 1.4.  Python is not being used here for execution.

For deployment scenarios labvew<-->python bridge doesn't make life easier for the end user.

 Python version would be whichever you use for your development.

 

Contributors