Trick question! Both are appropriate in different scenarios—it depends on your application. Read on to find out how to decide what’s right for you.
ArcGIS has long used machine learning capabilities in its arsenal of toolsets, and now is focusing on improving object detection, pixel classification, and image analysis with the Deep Learning toolset. Deep learning transforms raw imagery into geospatial information products. It can be used to solve a variety of geospatial problems, from predicting crop yield to identifying military targets.
With deep learning in ArcGIS, these powerful tools are available in both the Image Analyst extension for ArcGIS Pro and ArcGIS Image Server as part of ArcGIS Enterprise. This begs the question—how do you decide when to use ArcGIS Pro to do the inferencing (or run deep learning tools), and when do you use your Enterprise deployment?
When should I use the Image Analyst extension for ArcGIS Pro?
…when you don’t have access to ArcGIS Image Server.
If you don’t have access to ArcGIS Enterprise, you can use the ArcGIS Image Analyst extension for ArcGIS Pro to do the inferencing/processing. Overall, Pro works best when you have a small area to process and a good graphics card.
…when you have a small dataset to process.
Many organizations have relatively small geographies they monitor and from which they extract information. For instance, folks from agricultural firms might fly drones once a week over their farms/fields and use deep learning to identify crops that are declining in health. Resources required to process this kind of data are minimal, so the desktop route would provide sufficient processing power.
…when you want to be able to preview results as you develop your workflow.
With ArcGIS Pro, you can preview your results as you are iterating through training and inferencing. You can define the extent of processing, and pick a relatively small area to process. This also doesn’t really need beefy resources to process.
When should I use ArcGIS Enterprise with ArcGIS Image Server?
…when you’ve got a whole lot of processing to get through.
Object detection is automated, but it takes time! Enterprise deployments scale, so they’re optimal when running large jobs. If you have Image Server (with raster analytics setup in the backend), and a cluster of servers at your disposal, this will always be the fastest and most efficient option.
…when you need results that are easily shared through your whole organization.
Using Image Server for inferencing will also result in generating outputs that are accessible and shared directly in the Enterprise portal.
I want to use ArcGIS Image Server! Now what?
Once you’ve decided on using Enterprise for processing on the backend, you’ll need to choose which client you want to use to invoke your processing/inferencing: ArcGIS Pro, Map Viewer in your ArcGIS Enterprise portal, the ArcGIS API for Python, or ArcGIS Notebooks. All four can be used to kick off deep learning on ArcGIS Image Server, but each option has a different user experience and slightly different benefits.
Benefits of using ArcGIS Pro as a client to invoke deep learning tools on Enterprise:
You can implement your deep learning workflow using the familiar desktop experience. This is especially useful for a GIS analyst who’s already working within the ArcGIS Pro environment and will need access to the full suite of geoprocessing tools to perform post-analysis on the deep learning results.
Benefits of using the Map Viewer as a client to invoke deep learning tools on Enterprise:
Use the Map Viewer when you want to invoke processing using a thin web client, especially one that’s accessible to anyone within your organization. With the release of Enterprise 10.7, the existing suite of raster analysis tools in the Map Viewer has been extended to include all the deep learning tools.
Benefits of using the ArcGIS API for Python as a client to invoke deep learning tools on Enterprise:
This is a great option for developers. The entire deep learning process, including training the model, can be done in your local Python environment. Note that you will need to make a connection to your ArcGIS Enterprise deployment.
Benefits of using ArcGIS Notebooks as a client to invoke deep learning tools on Enterprise:
ArcGIS Notebooks is new at ArcGIS Enterprise 10.7. This gives you the same ability to use Python as with the Python API, but because it is integrated with your portal, you can also easily bring in additional tools for post analysis. Also, ArcPy is included if you have ArcGIS Notebook Server Advanced, giving you Pythonic access to the same geoprocessing tools as you would in ArcGIS Pro. The biggest difference between using ArcGIS Notebooks and the Python API is that the Python API is local, while jobs in ArcGIS Notebooks run on your servers.
Considerations for deciding between ArcGIS Pro and ArcGIS Enterprise for deep learning inferencing
|ArcGIS Pro||ArcGIS Enterprise|
|Data volume||Best used to process relatively small collections of imagery||Can quickly process large volumes of data|
|Turnaround time||Typically used for small jobs that are not time sensitive||Typically used when a quick turnaround time is expected|
|Scalability||ArcGIS Pro is not ideal when scalability is required||By adding more servers for processing, inferencing can be scaled using Enterprise|
|Sharing||Results are written out locally||Results are written out directly to your Enterprise portal; they are shared and accessible across the organization|
|Hardware||Best with a high-end graphics card||Requires multiple servers, and high-end graphics cards are a plus|
|Licensing||Requires ArcGIS Pro 2.3 and the ArcGIS Image Analyst extension||Requires ArcGIS Enterprise 10.7 with ArcGIS Image Server|