X
82 Rate this article:
No rating

(Internal) ENVI Deep Learning FAQ

MariM

These are some early, informal Q&A. Please add-to and edit as you see fit. For Internal Use Only!  

Customer facing FAQ can be found here: https://www.harrisgeospatial.com/Support/Self-Help-Tools/Help-Articles/Help-Articles-Detail/ArtMID/10220/ArticleID/23693

 

Q: Can ENVI DL handle multiple images as input for training, and multiple images as output from the classification?

A: Training accepts multiple images. Classification accepts a single image at a time, but the Modeler (or Task API) can be used to loop through multiple images.

Q: Does ENVI DL have a labeling tool?

A: The standard ENVI graphics and display capabilities (ROI tools) are what the user knows and can use to locate objects or features for training in ENVI DL. And since ENVI supports other image and ROI (vector) files, it can read in training data exported from other tools used for labeling.

Q: I have heard it is not "kosher" in deep learning techniques to train on the same image that you are using to classify features or objects. So why are we demonstrating ENVI DL where we locate feature classes or objects in a subset of the same image, that we use to run the classification?

A: In the standard ENVI workflow, its analytics always work on the 1 image that is open. For instance in ENVI FX, you classify on the same image that you trained on. And you can't bring in other training data. So the examples we are showing are mostly based on the way the ENVI user (we as the user at HGSI too) is familiar with its standard workflow. Note that when you pick several subsets within the image in the ENVI display as training data, under the hood you are identify multiple ROIs that are used to train the model. And of course in ENVI DL, you can use multiple images as training data for any model. Similarly when you run the classification in ENVI DL, you can run multiple images thru the classifier.

Q: Does ENVI DL require a GPU card? Does it perform faster with a GPU card?

A: Yes, and Yes. The underlying TensorFlow deep learning code is optimized for NVIDIA GPUs. The deep learning training process is particularly compute intensive and will greatly benefit from use of a GPU. GPU acceleration is only supported on NVIDIA® GPU cards with CUDA® Compute Capability 3.5 or higher. See a list of CUDA-enabled GPU cards at https://developer.nvidia.com/cuda-gpus.

Q: What graphics card is Development currently using?

A: NVIDIA GeoForce GTX 1070.

Q: How do I get ENVI Deep Learning to work on an Amazon Machine Instance (AMI)?

A: Select a Microsoft Windows Server 2016 Base with an Instance Type of - p2(Telsa K80), p3(V100), g3(Tesla M60), once the machine is up and running install the GPU driver for the graphic card selected in instance type. NVIDIA GPU drivers(https://www.nvidia.com/Download/index.aspx?lang=en-us): CUDA 9.0 requires version 384.x or higher.

Q: Does ENVI DL support simultaneous, multiple class processing?

A: At the moment, it just extracts 1 feature class or object at a time. We intend to add multiple class support to it.

Q: Does ENVI DL work with MSI or HSI imagery, or is it limited to RGB or panchromatic data?

A: It works with all of the above.

Q: Does ENVI DL use the wavelength info in MSI or HSI data?

A: Currently it is not using the wavelength info. We may be able to add that in the future.

Q: Compared to Mega does ENVI DL have the concept of separate training data verification?

A: Melissa is familiar with Mega and understood this question. She says, yes, ENVI DL supports that same concept.

Q: Can models be exported from ENVI DL for use in TensorFlow or other open source deep learning software?

A: Yes models can be exported (they are in HDF5 format). However, the ENVI DL models use the data management of ENVI to handle the TensorFlow raster format that only supports byte data. So models exported from ENVI DL will likely be difficult to translate for use in other software.

Q: How does ENVI DL compare to Esri ArcGIS deep learning capabilities?

A: Excerpts from a conversation between Rebecca and Nicolai 3/31/19:

Hi Nicolai,

The key value propositions for ENVI Deep Learning as opposed to ArcGIS are:
• ENVI enables a GUI interface for labeling, building, and running classifiers (you must leave the Arc platform to build classifiers)
• ALSO - in order to run classifiers - Esri is currently heavily promoting their Jupyter notebooks for running Deep Learning classifiers. This requires the use of Python coding in order to run them. 
• Esri has not built-in any deep learning algorithms into their product - they have enabled access to deep learning engines via Python.
• ENVI has built-in Tensor Flow, tools to pre-process data (already in ENVI), ability to interactively label data, train classifiers, run classifiers, edit results, and iterate - a full end-to-end workflow and not available in any other remote sensing product currently on the market.

Rebecca

________________________________________

Dear Rebecca,

We know that ArcGIS Pro 2.3 includes Deep Learning capabilities that seem to be available with the Image Analyst Extension. Particularly in Channels, where most of our distributor are ESRI, we would like to understand how ENVI Deep Learning differentiates and stands outs against ArcGIS Pro Deep Learning (and potentially other direct competitor offers, if there are any?), so that we can best position this new offer and support distributors in selling it.

I spent some time in researching on key differentiators, and currently our understanding is: 
• ArcGIS Pro includes GUI based GP tools for data preparation for deep learning as well as for running analytics on trained deep learning models (of different frameworks such as Keras, TensorFlow, and CNTK), allowing both object detection and image classification. 
• However, which seems not to be GUI-based, is the most complex part, the training of Deep Learning Models (NOTE PER BILL - Deep learning training is very compute intensive so this will be very painful if not GPU-accelerated in the ArcGIS Pro technology), it seems these steps require programming / expert level knowledge: “The deep learning model is trained outside of ArcGIS Pro using a deep learning framework by a data scientist, or someone experienced in training deep learning models“ (https://pro.arcgis.com/en/pro-app/help/analysis/image-analyst/deep-learning-in-arcgis-pro.htm). 
• So it seems this is the main differentiator to ENVI Deep Learning. It is a plus for ENVI Deep Learning since creating and training Deep Learning Models is here GUI-based and specifically tuned for object identification and segmentation from geospatial imagery. Reduced complexity on the other side limits functionality and capabilities to create and train, and subsequently to apply deep learning models (e.g. only object identification / segmentation, only one object per model, training data is pixel based generated with / imported to ENVI,…).

Nicolai

Q: How does ENVI DL compare to ENVI FX?

A: First, we should be careful to avoid comparing our own software against each other, as that can become negative if we are not careful. One area where we know ENVI DL can work better is in identifying textural properties, as shown in the Haiti earthquake rubble example. And it tends to be better at spatial classification versus spectral classification. We will need more time using ENVI DL to come up with other similar positioning info about it.

Q: Do we intend to enhance ENVI FX going forward?

A: Based on the history over the last several years, we have not enhanced FX or even fixed any significant bugs. I would assume that to be true going forward unless the business gives clear direction otherwise.

Q: Should we continue to sell ENVI FX?

A: Since we continue to sell it and a substantial amount of maintenance revenue comes from it, I think we will continue to sell it for the foreseeable future. I strongly recommend that for new license sales, you sell ENVI DL instead of ENVI FX.

 

Created 4/18/2019 - mm